@ranger-testing/ranger-cli 3.1.2 → 3.1.3-alpha.546c9e8-43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/organizationEnvApi.js +1 -1
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -1
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/rangerwrightCli.js +1 -1
  67. package/build/commands/utils/resolveProfileContext.js +1 -1
  68. package/build/commands/utils/resolveProfileUrl.js +1 -1
  69. package/build/commands/utils/retry.js +1 -1
  70. package/build/commands/utils/sessionCache.js +1 -1
  71. package/build/commands/utils/settings.js +1 -1
  72. package/build/commands/utils/skillContent.js +1 -1
  73. package/build/commands/utils/skills.js +1 -1
  74. package/build/commands/utils/stitchWebmFiles.js +1 -1
  75. package/build/commands/utils/telemetry.js +1 -1
  76. package/build/commands/utils/tokenRefresh.js +1 -1
  77. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  78. package/build/commands/utils/tunnelClient.js +1 -1
  79. package/build/commands/utils/userApi.js +1 -1
  80. package/build/commands/utils/version.js +1 -1
  81. package/build/commands/verifyFeature.js +1 -1
  82. package/build/commands/verifyFeatureCli.js +1 -1
  83. package/build/commands/verifyFeatureNovaCli.js +1 -1
  84. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  85. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x18c185,_0x3298ab){const _0xa12e2d=_0x2aa8,_0x16a67f=_0x18c185();while(!![]){try{const _0x286067=parseInt(_0xa12e2d(0x87))/0x1+-parseInt(_0xa12e2d(0x8c))/0x2*(parseInt(_0xa12e2d(0x86))/0x3)+-parseInt(_0xa12e2d(0x88))/0x4+-parseInt(_0xa12e2d(0x83))/0x5+parseInt(_0xa12e2d(0x89))/0x6+parseInt(_0xa12e2d(0x8d))/0x7+parseInt(_0xa12e2d(0x8b))/0x8;if(_0x286067===_0x3298ab)break;else _0x16a67f['push'](_0x16a67f['shift']());}catch(_0x1008cd){_0x16a67f['push'](_0x16a67f['shift']());}}}(_0x39d2,0x8f04a));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x39d2(){const _0x22f03e=['173969YTLwXI','4230300NdZalo','2015250BYDCRX','\x0a✅\x20Logged\x20in\x20to\x20','10881424oxKGNa','161666eAzBIa','1633639miGLCe','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','Login\x20failed:\x20','1895945FvoVzF','message','Re-authenticating\x20via\x20MCP\x20bootstrap...','3wNBwDM'];_0x39d2=function(){return _0x22f03e;};return _0x39d2();}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0x2aa8(_0x2423b6,_0x268111){_0x2423b6=_0x2423b6-0x83;const _0x39d2d6=_0x39d2();let _0x2aa8f5=_0x39d2d6[_0x2423b6];return _0x2aa8f5;}export async function login(){const _0x3d133c=_0x2aa8,_0x853e0={'KXIQY':function(_0x5b8aa7){return _0x5b8aa7();},'jSWAE':_0x3d133c(0x85),'fiSym':_0x3d133c(0x8e),'tYmdJ':function(_0xf32938){return _0xf32938();},'mxBGe':function(_0xa628b0,_0x34bef9){return _0xa628b0(_0x34bef9);}},_0x3f8b3e=await _0x853e0['KXIQY'](getMcpAuthOrigin);if(_0x3f8b3e){console['log'](_0x853e0['jSWAE']),await mcpBootstrap();return;}if(!isInteractive())throw new Error(_0x853e0['fiSym']);try{const _0x2755d0=await _0x853e0['tYmdJ'](runDeviceAuthFlow),_0xd85d31=await _0x853e0['mxBGe'](getCurrentUser,_0x2755d0);_0xd85d31['success']?console['log'](_0x3d133c(0x8a)+_0xd85d31['user']['organizationName']):console['log']('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x47f15a){throw new Error(_0x3d133c(0x8f)+(_0x47f15a instanceof Error?_0x47f15a[_0x3d133c(0x84)]:_0x47f15a));}}
1
+ (function(_0xaa9836,_0x11f244){const _0x20efeb=_0x2aae,_0x1d6497=_0xaa9836();while(!![]){try{const _0x5a8739=-parseInt(_0x20efeb(0xa6))/0x1+-parseInt(_0x20efeb(0xae))/0x2+-parseInt(_0x20efeb(0xa8))/0x3*(parseInt(_0x20efeb(0xb8))/0x4)+parseInt(_0x20efeb(0xa7))/0x5+-parseInt(_0x20efeb(0xb4))/0x6*(-parseInt(_0x20efeb(0xb6))/0x7)+parseInt(_0x20efeb(0xb1))/0x8+parseInt(_0x20efeb(0xac))/0x9;if(_0x5a8739===_0x11f244)break;else _0x1d6497['push'](_0x1d6497['shift']());}catch(_0x3ccadb){_0x1d6497['push'](_0x1d6497['shift']());}}}(_0x36b1,0x6a4b9));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 _0x2aae(_0x63cc70,_0x2b6db6){_0x63cc70=_0x63cc70-0xa6;const _0x36b1ec=_0x36b1();let _0x2aae80=_0x36b1ec[_0x63cc70];return _0x2aae80;}function _0x36b1(){const _0x1c95e3=['6338646VRlGYo','IgLpJ','962998gPclCD','log','organizationName','2840704UrhJlf','user','\x0a✅\x20Logged\x20in\x20to\x20','78ADRvDu','Login\x20failed:\x20','98063RydkMr','message','4chssdj','27062amnfkT','1971975qvQKbR','2075844nIWewZ','Bzjvj','\x0a✅\x20API\x20key\x20stored\x20successfully','KehKA'];_0x36b1=function(){return _0x1c95e3;};return _0x36b1();}export async function login(){const _0x1d0ac8=_0x2aae,_0x3cd98d={'Bzjvj':'Re-authenticating\x20via\x20MCP\x20bootstrap...','NIBSd':function(_0x50ed96){return _0x50ed96();},'IgLpJ':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','uoDjX':function(_0x5b23cc,_0x333ec8){return _0x5b23cc(_0x333ec8);},'KehKA':function(_0x6fd777,_0x203484){return _0x6fd777 instanceof _0x203484;}},_0x5deccc=await getMcpAuthOrigin();if(_0x5deccc){console[_0x1d0ac8(0xaf)](_0x3cd98d[_0x1d0ac8(0xa9)]),await _0x3cd98d['NIBSd'](mcpBootstrap);return;}if(!isInteractive())throw new Error(_0x3cd98d[_0x1d0ac8(0xad)]);try{const _0x246ef0=await runDeviceAuthFlow(),_0x1d0955=await _0x3cd98d['uoDjX'](getCurrentUser,_0x246ef0);_0x1d0955['success']?console[_0x1d0ac8(0xaf)](_0x1d0ac8(0xb3)+_0x1d0955[_0x1d0ac8(0xb2)][_0x1d0ac8(0xb0)]):console[_0x1d0ac8(0xaf)](_0x1d0ac8(0xaa));}catch(_0x1768cd){throw new Error(_0x1d0ac8(0xb5)+(_0x3cd98d[_0x1d0ac8(0xab)](_0x1768cd,Error)?_0x1768cd[_0x1d0ac8(0xb7)]:_0x1768cd));}}
@@ -1 +1 @@
1
- const _0xb32d1b=_0x2ad7;(function(_0x3628f0,_0x210ae8){const _0x311ae2=_0x2ad7,_0x29cef5=_0x3628f0();while(!![]){try{const _0x47f90d=parseInt(_0x311ae2(0x18d))/0x1*(parseInt(_0x311ae2(0x1a1))/0x2)+-parseInt(_0x311ae2(0x1bd))/0x3*(-parseInt(_0x311ae2(0x1d0))/0x4)+-parseInt(_0x311ae2(0x1bc))/0x5+-parseInt(_0x311ae2(0x145))/0x6+-parseInt(_0x311ae2(0x156))/0x7*(-parseInt(_0x311ae2(0x1aa))/0x8)+parseInt(_0x311ae2(0x1d1))/0x9+-parseInt(_0x311ae2(0x1cf))/0xa*(parseInt(_0x311ae2(0x160))/0xb);if(_0x47f90d===_0x210ae8)break;else _0x29cef5['push'](_0x29cef5['shift']());}catch(_0x355b1a){_0x29cef5['push'](_0x29cef5['shift']());}}}(_0x4796,0x3c9fb));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(),_0xb32d1b(0x147),_0xb32d1b(0x17c)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x36096c=_0xb32d1b,_0x543411={'JYWoL':_0x36096c(0x197),'tCefs':function(_0x55806f,_0x2f2869){return _0x55806f||_0x2f2869;}};try{const _0x55516b=(await readFile(AUTH_ORIGIN_PATH,_0x543411[_0x36096c(0x18b)]))[_0x36096c(0x1a0)]();return _0x543411['tCefs'](_0x55516b,null);}catch{return null;}}export async function mcpBootstrap(){const _0x1eb111=_0xb32d1b,_0x21ed4a={'jnaQN':function(_0x1268f2,_0x553b89){return _0x1268f2(_0x553b89);},'uzdXH':function(_0x1e0c85,_0x57e3e8){return _0x1e0c85===_0x57e3e8;},'BpWGl':_0x1eb111(0x17a),'TSkOj':function(_0x2242af){return _0x2242af();},'vFUyf':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'},_0x4665fc=getMcpAuthUrl();currentOrigin=_0x4665fc;const _0x5ad2d1=process['stdout'][_0x1eb111(0x14b)]??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x4665fc+'\x0a');const _0x211b04=await _0x21ed4a[_0x1eb111(0x1b7)](tryUnauthenticated,_0x4665fc);let _0x4bacac=null;if(_0x21ed4a[_0x1eb111(0x186)](_0x211b04,_0x21ed4a['BpWGl']))_0x4bacac='';else{_0x4bacac=await _0x21ed4a[_0x1eb111(0x181)](loadCachedToken);if(!_0x4bacac){if(!_0x5ad2d1)throw new Error('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'+_0x21ed4a[_0x1eb111(0x150)]);_0x4bacac=await _0x21ed4a[_0x1eb111(0x1b7)](oauthFlow,_0x4665fc);}}await callGetCliToken(_0x4665fc,_0x4bacac);}async function tryUnauthenticated(_0x2aa9c9){const _0x48d1bb=_0xb32d1b,_0x278251={'XYXff':function(_0x3abeca,_0x1d07e4,_0x4c5a93){return _0x3abeca(_0x1d07e4,_0x4c5a93);},'VPwvM':'application/json','nvbZc':_0x48d1bb(0x184),'zhEzk':'initialize','CRqhC':'ranger-cli','SbPKN':'1.0.0','YVvRN':'needs-oauth'},_0x459f43=await _0x278251['XYXff'](fetch,_0x2aa9c9,{'method':'POST','headers':{'Content-Type':_0x278251['VPwvM'],'Accept':'application/json,\x20text/event-stream'},'body':JSON[_0x48d1bb(0x16e)]({'jsonrpc':_0x278251[_0x48d1bb(0x139)],'id':0x1,'method':_0x278251[_0x48d1bb(0x1c5)],'params':{'protocolVersion':_0x48d1bb(0x1af),'capabilities':{},'clientInfo':{'name':_0x278251['CRqhC'],'version':_0x278251[_0x48d1bb(0x136)]}}})});if(_0x459f43['ok'])return await _0x459f43['text'](),'proxied';if(_0x459f43[_0x48d1bb(0x151)]===0x191)return await _0x459f43['text'](),_0x278251[_0x48d1bb(0x1b1)];const _0xf9702b=await _0x459f43[_0x48d1bb(0x191)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x459f43[_0x48d1bb(0x151)]+':\x20'+_0xf9702b);}class OAuthTimeoutError extends Error{constructor(_0x388fe1){const _0x3aa777=_0xb32d1b,_0x53343c={'wfGkS':_0x3aa777(0x185)};super(_0x388fe1),this['name']=_0x53343c[_0x3aa777(0x18f)];}}async function oauthFlow(_0x9cf4bb){const _0x567316=_0xb32d1b,_0x5a3ab0={'scOPy':function(_0x40e8c7){return _0x40e8c7();},'ScnLs':_0x567316(0x19f),'jDhdM':function(_0x184934,_0x440509){return _0x184934(_0x440509);}};try{return await oauthFlowAttempt(_0x9cf4bb);}catch(_0x289b99){if(_0x289b99 instanceof OAuthTimeoutError&&await _0x5a3ab0['scOPy'](loadCachedClient))return console[_0x567316(0x17e)](_0x5a3ab0[_0x567316(0x196)]),await _0x5a3ab0[_0x567316(0x1a3)](clearCachedClient),await _0x5a3ab0[_0x567316(0x152)](oauthFlowAttempt,_0x9cf4bb);throw _0x289b99;}}function _0x4796(){const _0x47ad61=['IXdwZ','Not\x20found','8uddbPa','AYUIe','sha256','ohkMn','clientSecret','2025-03-26','AWttJ','YVvRN','resource','Unknown\x20error','writeHead','JgOEj','zecak','jnaQN','1.0.0','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','OHuCH','EwVFF','549430MTZlnA','2010HRJikr','/.well-known/oauth-authorization-server','toString','MyZtS','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','end','xFXSW','write','zhEzk','expiresAt','/callback','includes','notifications/initialized','win32','oOTxG','token','lQZxB','state','110wznkYX','2452GJKukO','1993482JfuMDG','searchParams','accessToken','origin','content','SbPKN','text/html','json','nvbZc','get','darwin','\x0aUnexpected\x20response\x20structure:','authorization_servers','zLEUd','hEgDy','application/x-www-form-urlencoded','rEiDS','DtcSk','CVaUt','text/event-stream','2186922xuHidX','application/json','.ranger','refresh.txt','ranger-cli','start','isTTY','XtHcA','registration_endpoint','clientId','data:','vFUyf','status','jDhdM','set','split','Token\x20exchange\x20failed:\x20','674219QZqIEJ','http://localhost:','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','JXWsM','Requesting\x20CLI\x20token...','LBfnW','error_description','access_token','SdWhY','wLlfy','228877IVRPXj','code_challenge_method','code','refresh_token','tVjdt','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','string','OAuth\x20error:\x20','startsWith','SJlMC','POST','PjypD','XSFeF','parse','stringify','ImPHT','yoQDA','\x20done','now','type','expires_in','RRFol','vNTyr','error','gLnhT','Authorization','proxied','XJzdK','mcp-oauth-tokens.json','client_secret','log','match','redirect_uri','TSkOj','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','<html><body><h2>Authentication\x20failed</h2><p>','2.0','OAuthTimeoutError','uzdXH','hex','Exchanging\x20authorization\x20code...','tools/call','AJUca','JYWoL','NuMTU','6970wbvhzE','/.well-known/oauth-protected-resource','wfGkS','stdout','text','eTMLH','TuErj','OMJML','NJJnA','ScnLs','utf-8','closeAllConnections','MZbFG','Client\x20registration\x20failed:\x20','yXWbA','xdg-open','client_id','pathname','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','trim','64cQMAbW','KXaVd','scOPy','zUTQg','authorization_code','olTFT','auth-origin.txt'];_0x4796=function(){return _0x47ad61;};return _0x4796();}async function oauthFlowAttempt(_0x306dc9){const _0xb2ff92=_0xb32d1b,_0x58e569={'EwVFF':'Discovering\x20authorization\x20server...','FCzaR':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','vNTyr':function(_0x5f35a2){return _0x5f35a2();},'DpeBB':'Registering\x20OAuth\x20client...','hEgDy':'POST','TuErj':_0xb2ff92(0x146),'olTFT':'Ranger\x20CLI','zLEUd':'none','RRFol':_0xb2ff92(0x171),'DtcSk':function(_0x361796,_0x43d49a){return _0x361796(_0x43d49a);},'PjypD':_0xb2ff92(0x1ac),'JgOEj':_0xb2ff92(0x187),'PvOPd':_0xb2ff92(0x180),'gUKiH':_0xb2ff92(0x161),'XtHcA':_0xb2ff92(0x1ce),'poADU':'authorization_code','AWttJ':'client_secret','NuMTU':_0xb2ff92(0x140)},_0x5ee0e8=_0x306dc9['replace'](/\/mcp$/,'');process['stdout']['write'](_0x58e569[_0xb2ff92(0x1bb)]);const _0x2f2f01=await fetch(_0x5ee0e8+_0xb2ff92(0x18e));if(!_0x2f2f01['ok'])throw new Error(_0x58e569['FCzaR']);const _0x6e96c6=await _0x2f2f01[_0xb2ff92(0x138)](),_0x29e511=_0x6e96c6[_0xb2ff92(0x13d)]?.[0x0];if(!_0x29e511)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0xb2ff92(0x17e)]('\x20'+_0x29e511);const _0x4b3f0c=await fetchAuthServerMetadata(_0x29e511);let _0x258d13,_0x2f7917;const _0x301ccd=await _0x58e569[_0xb2ff92(0x176)](loadCachedClient);if(_0x301ccd)_0x258d13=_0x301ccd[_0xb2ff92(0x14e)],_0x2f7917=_0x301ccd['clientSecret'];else{if(_0x4b3f0c[_0xb2ff92(0x14d)]){process[_0xb2ff92(0x190)]['write'](_0x58e569['DpeBB']);const _0x2c382a=await fetch(_0x4b3f0c[_0xb2ff92(0x14d)],{'method':_0x58e569[_0xb2ff92(0x13f)],'headers':{'Content-Type':_0x58e569[_0xb2ff92(0x193)]},'body':JSON['stringify']({'client_name':_0x58e569[_0xb2ff92(0x1a6)],'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0xb2ff92(0x1c7)],'grant_types':[_0xb2ff92(0x1a5),_0xb2ff92(0x163)],'response_types':[_0xb2ff92(0x162)],'token_endpoint_auth_method':_0x58e569[_0xb2ff92(0x13e)]})});if(!_0x2c382a['ok']){const _0x2d8b7f=await _0x2c382a['text']();throw new Error(_0xb2ff92(0x19a)+_0x2d8b7f);}const _0x2e9ab4=await _0x2c382a['json']();_0x258d13=_0x2e9ab4[_0xb2ff92(0x19d)],_0x2f7917=_0x2e9ab4[_0xb2ff92(0x17d)],await saveCachedClient(_0x258d13,_0x2f7917),console[_0xb2ff92(0x17e)](_0x58e569['RRFol']);}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x40fa26=randomBytes(0x20)[_0xb2ff92(0x1bf)]('base64url'),_0x12fcf4=_0x58e569[_0xb2ff92(0x142)](createHash,_0x58e569[_0xb2ff92(0x16b)])['update'](_0x40fa26)['digest']('base64url'),_0x4c1506=_0x58e569['DtcSk'](randomBytes,0x10)[_0xb2ff92(0x1bf)](_0x58e569[_0xb2ff92(0x1b5)]),_0x33a332=new URL(_0x4b3f0c['authorization_endpoint']);_0x33a332[_0xb2ff92(0x1d2)]['set']('response_type','code'),_0x33a332[_0xb2ff92(0x1d2)]['set'](_0xb2ff92(0x19d),_0x258d13),_0x33a332['searchParams'][_0xb2ff92(0x153)](_0x58e569['PvOPd'],_0xb2ff92(0x157)+CALLBACK_PORT+_0xb2ff92(0x1c7)),_0x33a332[_0xb2ff92(0x1d2)][_0xb2ff92(0x153)]('code_challenge',_0x12fcf4),_0x33a332[_0xb2ff92(0x1d2)]['set'](_0x58e569['gUKiH'],'S256'),_0x33a332[_0xb2ff92(0x1d2)]['set'](_0x58e569[_0xb2ff92(0x14c)],_0x4c1506);_0x6e96c6['resource']&&_0x33a332['searchParams']['set'](_0xb2ff92(0x1b2),_0x6e96c6[_0xb2ff92(0x1b2)]);console['log']('\x0aOpening\x20browser\x20for\x20authentication...'),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x33a332['toString']()+'\x0a'),await openBrowser(_0x33a332[_0xb2ff92(0x1bf)]());const _0x537779=await waitForCallback(_0x4c1506);process['stdout'][_0xb2ff92(0x1c4)](_0xb2ff92(0x188));const _0x134520=new URLSearchParams({'grant_type':_0x58e569['poADU'],'code':_0x537779,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0xb2ff92(0x1c7),'client_id':_0x258d13,'code_verifier':_0x40fa26});_0x2f7917&&_0x134520['set'](_0x58e569[_0xb2ff92(0x1b0)],_0x2f7917);_0x6e96c6[_0xb2ff92(0x1b2)]&&_0x134520['set'](_0xb2ff92(0x1b2),_0x6e96c6[_0xb2ff92(0x1b2)]);const _0x1136f9=await fetch(_0x4b3f0c['token_endpoint'],{'method':_0xb2ff92(0x16a),'headers':{'Content-Type':_0x58e569[_0xb2ff92(0x18c)]},'body':_0x134520});if(!_0x1136f9['ok']){const _0x5ab091=await _0x1136f9[_0xb2ff92(0x191)]();throw new Error(_0xb2ff92(0x155)+_0x5ab091);}const _0x381048=await _0x1136f9[_0xb2ff92(0x138)]();return console['log'](_0x58e569[_0xb2ff92(0x175)]),await saveCachedToken(_0x381048[_0xb2ff92(0x15d)],_0x381048['refresh_token'],_0x381048[_0xb2ff92(0x174)]),_0x381048[_0xb2ff92(0x15d)];}async function callGetCliToken(_0x26493b,_0xbfbed2){const _0x2928e1=_0xb32d1b,_0x1a4f73={'XJzdK':function(_0x152209,_0xda61f4,_0x39fb46){return _0x152209(_0xda61f4,_0x39fb46);},'qORHm':_0x2928e1(0x16a),'FbuhH':function(_0x5c88ad,_0xd221cd){return _0x5c88ad(_0xd221cd);},'SdWhY':'application/json,\x20text/event-stream','eHUrt':'Initializing\x20MCP\x20session...','oOTxG':function(_0x5ba580,_0x577e18){return _0x5ba580(_0x577e18);},'buPbl':_0x2928e1(0x1af),'MZbFG':_0x2928e1(0x1b8),'yoQDA':_0x2928e1(0x184),'wWNTw':_0x2928e1(0x1c9),'OHuCH':_0x2928e1(0x15a),'zUTQg':'\x20done','tVjdt':function(_0x8f6fb4,_0x569a57){return _0x8f6fb4(_0x569a57);},'OMJML':_0x2928e1(0x182),'AYUIe':function(_0x44918e,_0xdb2fe1,_0x3a0eb8){return _0x44918e(_0xdb2fe1,_0x3a0eb8);},'lQZxB':_0x2928e1(0x148),'ImPHT':function(_0xd50f14,_0x50610e,_0x377e3c,_0x184f35){return _0xd50f14(_0x50610e,_0x377e3c,_0x184f35);},'hKlzv':function(_0x96548b,_0xb125d3,_0x233b94,_0x3f7350){return _0x96548b(_0xb125d3,_0x233b94,_0x3f7350);},'ohkMn':_0x2928e1(0x1a7),'yXWbA':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x9732c6={'Content-Type':_0x2928e1(0x146),'Accept':_0x1a4f73[_0x2928e1(0x15e)]};_0xbfbed2&&(_0x9732c6[_0x2928e1(0x179)]='Bearer\x20'+_0xbfbed2);const _0x5c6254=async _0x1dde0d=>{const _0x280628=_0x2928e1,_0x3457d6=await _0x1a4f73[_0x280628(0x17b)](fetch,_0x26493b,{'method':_0x1a4f73['qORHm'],'headers':_0x9732c6,'body':JSON['stringify'](_0x1dde0d)});if(!_0x3457d6['ok']){const _0x299641=await _0x3457d6['text']();throw new Error('HTTP\x20'+_0x3457d6['status']+':\x20'+_0x299641);}return _0x1a4f73['FbuhH'](parseResponse,_0x3457d6);};process[_0x2928e1(0x190)][_0x2928e1(0x1c4)](_0x1a4f73['eHUrt']);const _0x5ca22d=await _0x1a4f73[_0x2928e1(0x1cb)](_0x5c6254,{'jsonrpc':_0x2928e1(0x184),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x1a4f73['buPbl'],'capabilities':{},'clientInfo':{'name':_0x2928e1(0x149),'version':_0x1a4f73[_0x2928e1(0x199)]}}});if(_0x5ca22d['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x5ca22d[_0x2928e1(0x177)]['message']??JSON['stringify'](_0x5ca22d[_0x2928e1(0x177)])));console[_0x2928e1(0x17e)]('\x20done'),await fetch(_0x26493b,{'method':'POST','headers':_0x9732c6,'body':JSON['stringify']({'jsonrpc':_0x1a4f73[_0x2928e1(0x170)],'method':_0x1a4f73['wWNTw']})})['then'](_0x4b959e=>_0x4b959e[_0x2928e1(0x191)]()),process[_0x2928e1(0x190)]['write'](_0x1a4f73[_0x2928e1(0x1ba)]);const _0x2bc54f=await _0x5c6254({'jsonrpc':_0x1a4f73[_0x2928e1(0x170)],'id':0x2,'method':_0x2928e1(0x189),'params':{'name':'get_cli_token','arguments':{}}});if(_0x2bc54f['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x2bc54f['error']['message']??JSON['stringify'](_0x2bc54f[_0x2928e1(0x177)])));console['log'](_0x1a4f73[_0x2928e1(0x1a4)]);const _0x368de7=_0x1a4f73[_0x2928e1(0x164)](extractToken,_0x2bc54f['result']);if(!_0x368de7){console['error'](_0x2928e1(0x13c)),console['error'](JSON[_0x2928e1(0x16e)](_0x2bc54f['result'],null,0x2));throw new Error(_0x1a4f73[_0x2928e1(0x194)]);}const _0x13a09a=_0x1a4f73['AYUIe'](join,homedir(),'.ranger'),_0x5a900c=_0x1a4f73[_0x2928e1(0x17b)](join,_0x13a09a,_0x1a4f73[_0x2928e1(0x1cd)]);await mkdir(_0x13a09a,{'recursive':!![]}),await _0x1a4f73[_0x2928e1(0x16f)](writeFile,_0x5a900c,_0x368de7,{'mode':0x180}),await _0x1a4f73['hKlzv'](writeFile,_0x1a4f73[_0x2928e1(0x1ab)](join,_0x13a09a,_0x1a4f73[_0x2928e1(0x1ad)]),_0x26493b,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x5a900c),console['log'](_0x1a4f73[_0x2928e1(0x19b)]);}async function fetchAuthServerMetadata(_0x388faf){const _0x45b31=_0xb32d1b,_0x1cb0fb={'jnmUV':function(_0x5f5b1c,_0x5749c3){return _0x5f5b1c(_0x5749c3);}},_0x3d97b9=_0x388faf+_0x45b31(0x1be),_0x47b810=await _0x1cb0fb['jnmUV'](fetch,_0x3d97b9);if(!_0x47b810['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x3d97b9+':\x20'+_0x47b810[_0x45b31(0x151)]);return _0x47b810['json']();}function waitForCallback(_0x4e3538){const _0x35592a=_0xb32d1b,_0x316f21={'KXaVd':function(_0x5a323a,_0x83bde3){return _0x5a323a!==_0x83bde3;},'xFXSW':_0x35592a(0x1a9),'wOKkC':'state','pBiaU':'error','XSFeF':function(_0x3414af,_0x30ccca){return _0x3414af(_0x30ccca);},'rEiDS':'text/html','uCLPo':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','IXdwZ':function(_0x58b514){return _0x58b514();},'CVaUt':_0x35592a(0x1c1),'IrxcV':function(_0x2b6b02,_0x50719f){return _0x2b6b02(_0x50719f);},'LBfnW':'127.0.0.1'};return new Promise((_0x526d17,_0x153880)=>{const _0x553619=_0x35592a,_0x5e0269={'TIEZk':function(_0x4c32b9){return _0x316f21['IXdwZ'](_0x4c32b9);},'JXWsM':_0x316f21[_0x553619(0x143)]},_0x3a14cd=()=>{const _0xe56738=_0x553619;_0x4fd0b4[_0xe56738(0x198)](),_0x4fd0b4['close']();},_0x38ca0d=setTimeout(()=>{const _0x39d92c=_0x553619;_0x5e0269['TIEZk'](_0x3a14cd),_0x153880(new OAuthTimeoutError(_0x5e0269[_0x39d92c(0x159)]));},0x1d4c0),_0x4fd0b4=_0x316f21['IrxcV'](createServer,(_0x27920a,_0x573ae1)=>{const _0xe369ec=_0x553619,_0x28edbb=new URL(_0x27920a['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x316f21[_0xe369ec(0x1a2)](_0x28edbb[_0xe369ec(0x19e)],_0xe369ec(0x1c7))){_0x573ae1['writeHead'](0x194),_0x573ae1[_0xe369ec(0x1c2)](_0x316f21[_0xe369ec(0x1c3)]);return;}const _0x33ba47=_0x28edbb[_0xe369ec(0x1d2)][_0xe369ec(0x13a)](_0xe369ec(0x162)),_0x583ec7=_0x28edbb['searchParams'][_0xe369ec(0x13a)](_0x316f21['wOKkC']),_0x5582bc=_0x28edbb['searchParams']['get'](_0x316f21['pBiaU']);if(_0x5582bc){const _0x4634d2=_0x28edbb['searchParams']['get'](_0xe369ec(0x15c))??_0x5582bc;_0x573ae1[_0xe369ec(0x1b4)](0xc8,{'Content-Type':_0xe369ec(0x137)}),_0x573ae1['end'](_0xe369ec(0x183)+_0x4634d2+_0xe369ec(0x1b9)),_0x316f21['XSFeF'](clearTimeout,_0x38ca0d),_0x3a14cd(),_0x316f21[_0xe369ec(0x16c)](_0x153880,new Error(_0xe369ec(0x167)+_0x4634d2));return;}if(!_0x33ba47||_0x583ec7!==_0x4e3538){_0x573ae1[_0xe369ec(0x1b4)](0x190,{'Content-Type':_0x316f21[_0xe369ec(0x141)]}),_0x573ae1['end'](_0x316f21['uCLPo']);return;}_0x573ae1[_0xe369ec(0x1b4)](0xc8,{'Content-Type':_0xe369ec(0x137)}),_0x573ae1[_0xe369ec(0x1c2)](_0xe369ec(0x158)),_0x316f21[_0xe369ec(0x16c)](clearTimeout,_0x38ca0d),_0x316f21[_0xe369ec(0x1a8)](_0x3a14cd),_0x316f21[_0xe369ec(0x16c)](_0x526d17,_0x33ba47);});_0x4fd0b4['listen'](CALLBACK_PORT,_0x316f21[_0x553619(0x15b)]);});}async function openBrowser(_0x1197f4){const _0x26d782=_0xb32d1b,_0x50abfb={'vMJhX':function(_0x22bd66,_0x5bdf10){return _0x22bd66===_0x5bdf10;},'RqSRU':'open','aaKFh':function(_0x4137cc,_0xeb6893){return _0x4137cc===_0xeb6893;},'MyZtS':_0x26d782(0x1ca),'UddAk':_0x26d782(0x14a),'OEsHq':function(_0xe29070,_0x5ac576){return _0xe29070(_0x5ac576);}},_0x4ebd16=_0x50abfb['vMJhX'](process['platform'],_0x26d782(0x13b))?_0x50abfb['RqSRU']:_0x50abfb['aaKFh'](process['platform'],_0x50abfb[_0x26d782(0x1c0)])?_0x50abfb['UddAk']:_0x26d782(0x19c);_0x50abfb['OEsHq'](exec,_0x4ebd16+'\x20\x22'+_0x1197f4+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x1a7e21=_0xb32d1b,_0x4f3a37={'cqssX':'utf-8','NJJnA':function(_0x5c9a9e,_0x18f4a0){return _0x5c9a9e!==_0x18f4a0;}};try{const _0x52af39=JSON[_0x1a7e21(0x16d)](await readFile(TOKEN_CACHE_PATH,_0x4f3a37['cqssX']));if(_0x52af39['origin']&&_0x4f3a37[_0x1a7e21(0x195)](_0x52af39['origin'],currentOrigin))return null;if(_0x52af39[_0x1a7e21(0x1c6)]&&Date[_0x1a7e21(0x172)]()>_0x52af39[_0x1a7e21(0x1c6)])return null;return _0x52af39[_0x1a7e21(0x1d3)]??null;}catch{return null;}}function _0x2ad7(_0x2291a5,_0x3b3275){_0x2291a5=_0x2291a5-0x134;const _0x4796d9=_0x4796();let _0x2ad7be=_0x4796d9[_0x2291a5];return _0x2ad7be;}async function saveCachedToken(_0x12d3b7,_0x54d293,_0x1b5fd0){const _0x1b3d53=_0xb32d1b,_0x39f858={'LbiFa':function(_0x42018b){return _0x42018b();},'jIRnf':function(_0xc093f,_0x5d38b3){return _0xc093f*_0x5d38b3;},'zecak':function(_0x101741,_0x1122bb,_0x4d2568){return _0x101741(_0x1122bb,_0x4d2568);}},_0x1d69da=await _0x39f858['LbiFa'](loadCachedData),_0x4a69e8={..._0x1d69da,'origin':currentOrigin,'accessToken':_0x12d3b7,'refreshToken':_0x54d293??_0x1d69da?.['refreshToken'],'expiresAt':_0x1b5fd0?Date[_0x1b3d53(0x172)]()+_0x39f858['jIRnf'](_0x1b5fd0,0x3e8):undefined};await _0x39f858[_0x1b3d53(0x1b6)](mkdir,join(homedir(),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x1b3d53(0x16e)](_0x4a69e8),{'mode':0x180});}async function loadCachedClient(){const _0x4e162d=_0xb32d1b,_0x4ef705={'BzyQv':function(_0x10c14b){return _0x10c14b();}},_0x35b979=await _0x4ef705['BzyQv'](loadCachedData);if(_0x35b979?.[_0x4e162d(0x134)]&&_0x35b979[_0x4e162d(0x134)]!==currentOrigin)return null;return _0x35b979?.['clientId']?{'clientId':_0x35b979[_0x4e162d(0x14e)],'clientSecret':_0x35b979[_0x4e162d(0x1ae)]}:null;}async function clearCachedClient(){const _0x1b7af2={'LaQuv':function(_0x3e180b,_0x195f49,_0x157c3d,_0x5194d1){return _0x3e180b(_0x195f49,_0x157c3d,_0x5194d1);}},_0x11afb1=await loadCachedData();if(!_0x11afb1)return;const {clientId:_0x367c14,clientSecret:_0x20ead4,..._0x580da2}=_0x11afb1;await _0x1b7af2['LaQuv'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x580da2),{'mode':0x180});}async function saveCachedClient(_0x2300c8,_0xeafe68){const _0x23eb89=_0xb32d1b,_0x514a77={'CPVsa':function(_0x53cacb,_0x156e91,_0x5def90){return _0x53cacb(_0x156e91,_0x5def90);},'SJlMC':function(_0x5a0bcd){return _0x5a0bcd();},'wLlfy':function(_0x321ff5,_0x54386a,_0x26aa71,_0x32e94c){return _0x321ff5(_0x54386a,_0x26aa71,_0x32e94c);}},_0xc314ab=await loadCachedData(),_0x7dbc9a={..._0xc314ab,'origin':currentOrigin,'accessToken':_0xc314ab?.[_0x23eb89(0x1d3)]??'','clientId':_0x2300c8,'clientSecret':_0xeafe68};await _0x514a77['CPVsa'](mkdir,join(_0x514a77[_0x23eb89(0x169)](homedir),'.ranger'),{'recursive':!![]}),await _0x514a77[_0x23eb89(0x15f)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x7dbc9a),{'mode':0x180});}async function loadCachedData(){const _0x593bc1=_0xb32d1b,_0x19eadc={'gZatD':_0x593bc1(0x197)};try{return JSON[_0x593bc1(0x16d)](await readFile(TOKEN_CACHE_PATH,_0x19eadc['gZatD']));}catch{return null;}}async function parseResponse(_0x4d4f84){const _0x25aebb=_0xb32d1b,_0x35ee0f={'GleZU':_0x25aebb(0x14f),'AJUca':function(_0x483ab7,_0x4372d5){return _0x483ab7!==_0x4372d5;},'QOUtM':_0x25aebb(0x165)},_0x2348b0=_0x4d4f84['headers'][_0x25aebb(0x13a)]('content-type')??'';if(_0x2348b0[_0x25aebb(0x1c8)](_0x25aebb(0x144))){const _0x5299ec=await _0x4d4f84[_0x25aebb(0x191)]();for(const _0x27554f of _0x5299ec[_0x25aebb(0x154)]('\x0a')){const _0x2f3b92=_0x27554f['trim']();if(_0x2f3b92[_0x25aebb(0x168)](_0x35ee0f['GleZU'])){const _0x56b804=_0x2f3b92['slice'](_0x25aebb(0x14f)['length'])[_0x25aebb(0x1a0)]();if(!_0x56b804)continue;try{const _0x1be112=JSON[_0x25aebb(0x16d)](_0x56b804);if(_0x35ee0f[_0x25aebb(0x18a)](_0x1be112['id'],undefined)||_0x1be112[_0x25aebb(0x177)])return _0x1be112;}catch{}}}throw new Error(_0x35ee0f['QOUtM']);}return _0x4d4f84['json']();}function extractToken(_0x292d50){const _0x21b711=_0xb32d1b,_0x2ee72f={'gLnhT':'string','wiEiq':_0x21b711(0x1b3),'eTMLH':'text','jogFM':function(_0x2858fe,_0x271e48){return _0x2858fe===_0x271e48;}};if(!_0x292d50)return null;const _0x3a8e63=_0x292d50['structuredContent'];if(_0x3a8e63?.[_0x21b711(0x1cc)]&&typeof _0x3a8e63['token']===_0x2ee72f[_0x21b711(0x178)])return _0x3a8e63['token'];if(_0x292d50['isError']){const _0xa172bd=_0x292d50[_0x21b711(0x135)];throw new Error('Server\x20returned\x20error:\x20'+(_0xa172bd?.[0x0]?.['text']??_0x2ee72f['wiEiq']));}const _0x157538=_0x292d50['content'];if(_0x157538)for(const _0x3e0808 of _0x157538){if(_0x3e0808[_0x21b711(0x173)]===_0x2ee72f[_0x21b711(0x192)]&&_0x3e0808['text']){try{const _0x1d1ffd=JSON[_0x21b711(0x16d)](_0x3e0808['text']);if(_0x2ee72f['jogFM'](typeof _0x1d1ffd?.[_0x21b711(0x1cc)],_0x21b711(0x166)))return _0x1d1ffd['token'];}catch{}const _0xe307d8=_0x3e0808[_0x21b711(0x191)][_0x21b711(0x17f)](/(rngr_[A-Za-z0-9_-]+)/);if(_0xe307d8)return _0xe307d8[0x1];}}return null;}
1
+ const _0x320fb5=_0x41ce;(function(_0x46d2a6,_0x557d63){const _0x2a23b5=_0x41ce,_0x42cfff=_0x46d2a6();while(!![]){try{const _0x3f8c76=-parseInt(_0x2a23b5(0x8c))/0x1+parseInt(_0x2a23b5(0x10a))/0x2+-parseInt(_0x2a23b5(0xb2))/0x3+parseInt(_0x2a23b5(0x10b))/0x4*(-parseInt(_0x2a23b5(0xde))/0x5)+parseInt(_0x2a23b5(0xa7))/0x6*(-parseInt(_0x2a23b5(0x92))/0x7)+-parseInt(_0x2a23b5(0xd8))/0x8*(-parseInt(_0x2a23b5(0x101))/0x9)+parseInt(_0x2a23b5(0xac))/0xa;if(_0x3f8c76===_0x557d63)break;else _0x42cfff['push'](_0x42cfff['shift']());}catch(_0x1a5860){_0x42cfff['push'](_0x42cfff['shift']());}}}(_0x5c39,0x953bb));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';function _0x5c39(){const _0x4a511a=['<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','BUach','refresh_token','nHLGi','now','11445TMbxyV','text','application/json','kLnyy','searchParams','cUUMu','GDqGF','CTiiW','JyELH','HTTP\x20','SVVUL','1.0.0','FmHSp','2025-03-26','nhqpx','application/json,\x20text/event-stream','code','slice','application/x-www-form-urlencoded','XinLu','nHCtT','win32','log','Requesting\x20CLI\x20token...','result','get_cli_token','xILOB','utf-8','PMHuo','set','base64url','refreshToken','pQHbx','replace','Exchanging\x20authorization\x20code...','513bHsQdU','string','kLsCK','expiresAt','token','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','status','client_secret','headers','708836sxQGuk','1852TzklJD','registration_endpoint','length','text/event-stream','GUsvW','nILkl','UApDH','stringify','split','stdout','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','KzXBx','299612ACBFSd','TJerx','BEXrt','content','error_description','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','777pMKEXX','POST','resource','proxied','WRdVk','update','Token\x20exchange\x20failed:\x20','code_challenge_method','aXLZN','.ranger','JrIGH','writeHead','miEFE','craqS','client_id','authorization_code','type','text/html','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','notifications/initialized','fbyxG','10116dfxFQx','data:','\x0aOpening\x20browser\x20for\x20authentication...','<html><body><h2>Authentication\x20failed</h2><p>','msgVJ','19677310IpHXex','listen','QtoXG','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','XFpdd','S256','2963241ENTPsZ','AIWPr','\x0aToken\x20written\x20to\x20','end','\x0aUnexpected\x20response\x20structure:','code_challenge','toString','HzejQ','error','/.well-known/oauth-protected-resource','ranger-cli','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','digest','parse','Unknown\x20error','Authorization','pathname','json','awGlD','write','sha256','jJJqN','accessToken','http://localhost:','wbUAb','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','platform','IHmYp','Registering\x20OAuth\x20client...','state','Initializing\x20MCP\x20session...','SQkwO','2.0','/callback','QNwOp','hLfKA','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','MCP\x20server\x20returned\x20HTTP\x20','115568BrcAfT'];_0x5c39=function(){return _0x4a511a;};return _0x5c39();}import{createServer}from'http';import{randomBytes,createHash}from'crypto';function _0x41ce(_0x403aa0,_0x503369){_0x403aa0=_0x403aa0-0x81;const _0x5c397d=_0x5c39();let _0x41ce6d=_0x5c397d[_0x403aa0];return _0x41ce6d;}import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x320fb5(0x9b),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x55a983=_0x320fb5,_0x3b506d={'QNkEi':_0x55a983(0xf9)};try{const _0x4760cf=(await readFile(AUTH_ORIGIN_PATH,_0x3b506d['QNkEi']))['trim']();return _0x4760cf||null;}catch{return null;}}export async function mcpBootstrap(){const _0x798f3=_0x320fb5,_0x363c96={'SVVUL':function(_0x4d2595,_0x582a23){return _0x4d2595===_0x582a23;},'Nxbeg':_0x798f3(0x95),'xQHIZ':function(_0x2e6557,_0x2b3fb5){return _0x2e6557+_0x2b3fb5;},'ZhbEU':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','XFpdd':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'},_0x4ed2a0=getMcpAuthUrl();currentOrigin=_0x4ed2a0;const _0x645f0e=process[_0x798f3(0x89)]['isTTY']??![];console[_0x798f3(0xf4)](_0x798f3(0x91)+_0x4ed2a0+'\x0a');const _0x28fae1=await tryUnauthenticated(_0x4ed2a0);let _0x4bcafc=null;if(_0x363c96[_0x798f3(0xe8)](_0x28fae1,_0x363c96['Nxbeg']))_0x4bcafc='';else{_0x4bcafc=await loadCachedToken();if(!_0x4bcafc){if(!_0x645f0e)throw new Error(_0x363c96['xQHIZ'](_0x363c96['ZhbEU'],_0x363c96[_0x798f3(0xb0)]));_0x4bcafc=await oauthFlow(_0x4ed2a0);}}await callGetCliToken(_0x4ed2a0,_0x4bcafc);}async function tryUnauthenticated(_0x59fbcb){const _0x197f02=_0x320fb5,_0x36c0a1={'BuGfv':function(_0x457523,_0x3c2a56,_0x176daa){return _0x457523(_0x3c2a56,_0x176daa);},'QNwOp':_0x197f02(0xd2),'fbyxG':'initialize','ndzHZ':_0x197f02(0xe9),'ilOcN':_0x197f02(0x95)},_0x45e259=await _0x36c0a1['BuGfv'](fetch,_0x59fbcb,{'method':'POST','headers':{'Content-Type':_0x197f02(0xe0),'Accept':_0x197f02(0xed)},'body':JSON[_0x197f02(0x87)]({'jsonrpc':_0x36c0a1[_0x197f02(0xd4)],'id':0x1,'method':_0x36c0a1[_0x197f02(0xa6)],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x36c0a1['ndzHZ']}}})});if(_0x45e259['ok'])return await _0x45e259[_0x197f02(0xdf)](),_0x36c0a1['ilOcN'];if(_0x45e259['status']===0x191)return await _0x45e259[_0x197f02(0xdf)](),'needs-oauth';const _0x5773b5=await _0x45e259['text']();throw new Error(_0x197f02(0xd7)+_0x45e259[_0x197f02(0x107)]+':\x20'+_0x5773b5);}class OAuthTimeoutError extends Error{constructor(_0x36191b){super(_0x36191b),this['name']='OAuthTimeoutError';}}async function oauthFlow(_0x161b35){const _0xf22910=_0x320fb5,_0x2017e6={'nHLGi':function(_0x3cc118,_0x7ed772){return _0x3cc118(_0x7ed772);},'phDoP':function(_0x53f9c0,_0x2a77e4){return _0x53f9c0 instanceof _0x2a77e4;},'kLnyy':function(_0x19357e){return _0x19357e();},'JyELH':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','xILOB':function(_0x512f70){return _0x512f70();},'msgVJ':function(_0x2894ea,_0x42a3cb){return _0x2894ea(_0x42a3cb);}};try{return await _0x2017e6[_0xf22910(0xdc)](oauthFlowAttempt,_0x161b35);}catch(_0x260b30){if(_0x2017e6['phDoP'](_0x260b30,OAuthTimeoutError)&&await _0x2017e6[_0xf22910(0xe1)](loadCachedClient))return console['log'](_0x2017e6[_0xf22910(0xe6)]),await _0x2017e6[_0xf22910(0xf8)](clearCachedClient),await _0x2017e6[_0xf22910(0xab)](oauthFlowAttempt,_0x161b35);throw _0x260b30;}}async function oauthFlowAttempt(_0x5dcb7a){const _0x144461=_0x320fb5,_0x55bc4b={'GUsvW':function(_0x113c90,_0x12cec8){return _0x113c90(_0x12cec8);},'UApDH':function(_0x4496ed,_0x102994,_0x2f8706){return _0x4496ed(_0x102994,_0x2f8706);},'aULHf':'Ranger\x20CLI','CTiiW':'authorization_code','nILkl':'refresh_token','ZWRic':'code','gUnWA':'none','TJerx':function(_0xab74c6,_0x25ffec){return _0xab74c6(_0x25ffec);},'QtoXG':_0x144461(0xfc),'YSEPl':function(_0x49ec1a,_0x4ea6e2){return _0x49ec1a(_0x4ea6e2);},'zIXwd':_0x144461(0xc6),'QpjwY':function(_0x529902,_0x59c49d){return _0x529902(_0x59c49d);},'nhqpx':'redirect_uri','TQQUE':_0x144461(0x99),'SQkwO':_0x144461(0xcf),'AIWPr':_0x144461(0x94),'cqPgZ':_0x144461(0xa9),'gMbGD':_0x144461(0x100),'MCZuK':_0x144461(0x108),'NVfMQ':_0x144461(0xf0),'xAoix':'\x20done','zAQYM':function(_0x414d0a,_0x332abc,_0x545fbf,_0x20f86f){return _0x414d0a(_0x332abc,_0x545fbf,_0x20f86f);}},_0x1e4820=_0x5dcb7a[_0x144461(0xff)](/\/mcp$/,'');process['stdout'][_0x144461(0xc5)]('Discovering\x20authorization\x20server...');const _0x5f3572=await fetch(_0x1e4820+_0x144461(0xbb));if(!_0x5f3572['ok'])throw new Error(_0x144461(0xaf));const _0x26a1a0=await _0x5f3572['json'](),_0x13bbf4=_0x26a1a0['authorization_servers']?.[0x0];if(!_0x13bbf4)throw new Error(_0x144461(0x106));console['log']('\x20'+_0x13bbf4);const _0x4b7edd=await _0x55bc4b[_0x144461(0x84)](fetchAuthServerMetadata,_0x13bbf4);let _0x4c1ddc,_0x3d2d1c;const _0x28b32a=await loadCachedClient();if(_0x28b32a)_0x4c1ddc=_0x28b32a['clientId'],_0x3d2d1c=_0x28b32a['clientSecret'];else{if(_0x4b7edd[_0x144461(0x81)]){process['stdout'][_0x144461(0xc5)](_0x144461(0xce));const _0x5744fc=await _0x55bc4b[_0x144461(0x86)](fetch,_0x4b7edd[_0x144461(0x81)],{'method':'POST','headers':{'Content-Type':_0x144461(0xe0)},'body':JSON['stringify']({'client_name':_0x55bc4b['aULHf'],'redirect_uris':[_0x144461(0xc9)+CALLBACK_PORT+'/callback'],'grant_types':[_0x55bc4b[_0x144461(0xe5)],_0x55bc4b[_0x144461(0x85)]],'response_types':[_0x55bc4b['ZWRic']],'token_endpoint_auth_method':_0x55bc4b['gUnWA']})});if(!_0x5744fc['ok']){const _0x539481=await _0x5744fc[_0x144461(0xdf)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x539481);}const _0x156f12=await _0x5744fc[_0x144461(0xc3)]();_0x4c1ddc=_0x156f12[_0x144461(0xa0)],_0x3d2d1c=_0x156f12['client_secret'],await saveCachedClient(_0x4c1ddc,_0x3d2d1c),console['log']('\x20done');}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x1c92a2=_0x55bc4b[_0x144461(0x8d)](randomBytes,0x20)['toString'](_0x55bc4b[_0x144461(0xae)]),_0x3a0164=_0x55bc4b['YSEPl'](createHash,_0x55bc4b['zIXwd'])[_0x144461(0x97)](_0x1c92a2)[_0x144461(0xbe)](_0x144461(0xfc)),_0x2fb6e8=_0x55bc4b['QpjwY'](randomBytes,0x10)[_0x144461(0xb8)]('hex'),_0x1456df=new URL(_0x4b7edd['authorization_endpoint']);_0x1456df['searchParams'][_0x144461(0xfb)]('response_type',_0x55bc4b['ZWRic']),_0x1456df['searchParams'][_0x144461(0xfb)](_0x144461(0xa0),_0x4c1ddc),_0x1456df['searchParams'][_0x144461(0xfb)](_0x55bc4b[_0x144461(0xec)],_0x144461(0xc9)+CALLBACK_PORT+_0x144461(0xd3)),_0x1456df['searchParams']['set'](_0x144461(0xb7),_0x3a0164),_0x1456df[_0x144461(0xe2)]['set'](_0x55bc4b['TQQUE'],_0x144461(0xb1)),_0x1456df[_0x144461(0xe2)][_0x144461(0xfb)](_0x55bc4b[_0x144461(0xd1)],_0x2fb6e8);_0x26a1a0[_0x144461(0x94)]&&_0x1456df[_0x144461(0xe2)][_0x144461(0xfb)](_0x55bc4b[_0x144461(0xb3)],_0x26a1a0[_0x144461(0x94)]);console['log'](_0x55bc4b['cqPgZ']),console[_0x144461(0xf4)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x1456df['toString']()+'\x0a'),await _0x55bc4b['TJerx'](openBrowser,_0x1456df[_0x144461(0xb8)]());const _0xd140b4=await waitForCallback(_0x2fb6e8);process[_0x144461(0x89)][_0x144461(0xc5)](_0x55bc4b['gMbGD']);const _0x5dc052=new URLSearchParams({'grant_type':_0x144461(0xa1),'code':_0xd140b4,'redirect_uri':_0x144461(0xc9)+CALLBACK_PORT+_0x144461(0xd3),'client_id':_0x4c1ddc,'code_verifier':_0x1c92a2});_0x3d2d1c&&_0x5dc052[_0x144461(0xfb)](_0x55bc4b['MCZuK'],_0x3d2d1c);_0x26a1a0[_0x144461(0x94)]&&_0x5dc052['set'](_0x55bc4b['AIWPr'],_0x26a1a0[_0x144461(0x94)]);const _0x3073ad=await fetch(_0x4b7edd['token_endpoint'],{'method':_0x144461(0x93),'headers':{'Content-Type':_0x55bc4b['NVfMQ']},'body':_0x5dc052});if(!_0x3073ad['ok']){const _0x2b415d=await _0x3073ad[_0x144461(0xdf)]();throw new Error(_0x144461(0x98)+_0x2b415d);}const _0x408b07=await _0x3073ad[_0x144461(0xc3)]();return console[_0x144461(0xf4)](_0x55bc4b['xAoix']),await _0x55bc4b['zAQYM'](saveCachedToken,_0x408b07['access_token'],_0x408b07[_0x144461(0xdb)],_0x408b07['expires_in']),_0x408b07['access_token'];}async function callGetCliToken(_0x1bc5c8,_0x288031){const _0x56104e=_0x320fb5,_0x2233b7={'HzejQ':function(_0x59477b,_0x59fba9,_0x476bca){return _0x59477b(_0x59fba9,_0x476bca);},'nHCtT':'POST','hLfKA':function(_0x1ab6fb,_0x418199){return _0x1ab6fb(_0x418199);},'rROTJ':_0x56104e(0xe0),'PMHuo':_0x56104e(0xc1),'HTSed':'initialize','XinLu':_0x56104e(0xeb),'FmHSp':_0x56104e(0xe9),'miEFE':'\x20done','gfymE':_0x56104e(0xa5),'ranJA':_0x56104e(0xd2),'GDqGF':'tools/call','aXLZN':_0x56104e(0xf7),'Noieu':_0x56104e(0xb6),'SvNne':function(_0x54d962,_0x4c8c9a,_0x11c567){return _0x54d962(_0x4c8c9a,_0x11c567);},'jdqSi':'refresh.txt'},_0x3962bb={'Content-Type':_0x2233b7['rROTJ'],'Accept':'application/json,\x20text/event-stream'};_0x288031&&(_0x3962bb[_0x2233b7[_0x56104e(0xfa)]]='Bearer\x20'+_0x288031);const _0x38cb96=async _0x6cb28=>{const _0x2c92c7=_0x56104e,_0x426a73=await _0x2233b7[_0x2c92c7(0xb9)](fetch,_0x1bc5c8,{'method':_0x2233b7[_0x2c92c7(0xf2)],'headers':_0x3962bb,'body':JSON[_0x2c92c7(0x87)](_0x6cb28)});if(!_0x426a73['ok']){const _0x3aa8ca=await _0x426a73[_0x2c92c7(0xdf)]();throw new Error(_0x2c92c7(0xe7)+_0x426a73[_0x2c92c7(0x107)]+':\x20'+_0x3aa8ca);}return _0x2233b7['hLfKA'](parseResponse,_0x426a73);};process['stdout']['write'](_0x56104e(0xd0));const _0x480d18=await _0x2233b7[_0x56104e(0xd5)](_0x38cb96,{'jsonrpc':'2.0','id':0x1,'method':_0x2233b7['HTSed'],'params':{'protocolVersion':_0x2233b7[_0x56104e(0xf1)],'capabilities':{},'clientInfo':{'name':_0x56104e(0xbc),'version':_0x2233b7[_0x56104e(0xea)]}}});if(_0x480d18[_0x56104e(0xba)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x480d18[_0x56104e(0xba)]['message']??JSON['stringify'](_0x480d18[_0x56104e(0xba)])));console['log'](_0x2233b7[_0x56104e(0x9e)]),await fetch(_0x1bc5c8,{'method':_0x2233b7['nHCtT'],'headers':_0x3962bb,'body':JSON[_0x56104e(0x87)]({'jsonrpc':'2.0','method':_0x2233b7['gfymE']})})['then'](_0x124ace=>_0x124ace['text']()),process[_0x56104e(0x89)][_0x56104e(0xc5)](_0x56104e(0xf5));const _0x187fcc=await _0x2233b7[_0x56104e(0xd5)](_0x38cb96,{'jsonrpc':_0x2233b7['ranJA'],'id':0x2,'method':_0x2233b7[_0x56104e(0xe4)],'params':{'name':_0x2233b7[_0x56104e(0x9a)],'arguments':{}}});if(_0x187fcc[_0x56104e(0xba)])throw new Error('get_cli_token\x20failed:\x20'+(_0x187fcc[_0x56104e(0xba)]['message']??JSON['stringify'](_0x187fcc['error'])));console['log'](_0x2233b7['miEFE']);const _0x115192=_0x2233b7[_0x56104e(0xd5)](extractToken,_0x187fcc[_0x56104e(0xf6)]);if(!_0x115192){console['error'](_0x2233b7['Noieu']),console[_0x56104e(0xba)](JSON['stringify'](_0x187fcc[_0x56104e(0xf6)],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x255468=_0x2233b7['SvNne'](join,homedir(),'.ranger'),_0x72ae4a=join(_0x255468,_0x2233b7['jdqSi']);await mkdir(_0x255468,{'recursive':!![]}),await writeFile(_0x72ae4a,_0x115192,{'mode':0x180}),await writeFile(join(_0x255468,'auth-origin.txt'),_0x1bc5c8,{'mode':0x180}),console[_0x56104e(0xf4)](_0x56104e(0xb4)+_0x72ae4a),console['log'](_0x56104e(0x8a));}async function fetchAuthServerMetadata(_0xbba8f2){const _0x1dfdf7=_0x320fb5,_0x1103ce=_0xbba8f2+'/.well-known/oauth-authorization-server',_0x528bfc=await fetch(_0x1103ce);if(!_0x528bfc['ok'])throw new Error(_0x1dfdf7(0xa4)+_0x1103ce+':\x20'+_0x528bfc[_0x1dfdf7(0x107)]);return _0x528bfc['json']();}function waitForCallback(_0xd1e7cd){const _0x2a581b=_0x320fb5,_0x2426e6={'JrIGH':_0x2a581b(0xd3),'IHmYp':'text/html','JpiOH':function(_0x1e5039,_0x2940fe){return _0x1e5039!==_0x2940fe;},'jJJqN':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','BUach':function(_0x3c3dce){return _0x3c3dce();},'yvpXb':function(_0x35eb87,_0xd825b1){return _0x35eb87(_0xd825b1);},'UpUKK':'127.0.0.1'};return new Promise((_0x3409de,_0x5b533d)=>{const _0x4d33c3=_0x2a581b,_0x3f0c1a=()=>{_0x4a407d['closeAllConnections'](),_0x4a407d['close']();},_0x3e067f=setTimeout(()=>{const _0x49d029=_0x41ce;_0x3f0c1a(),_0x5b533d(new OAuthTimeoutError(_0x49d029(0xbd)));},0x1d4c0),_0x4a407d=_0x2426e6['yvpXb'](createServer,(_0x366a0d,_0x580554)=>{const _0x11abd6=_0x41ce,_0x516d57=new URL(_0x366a0d['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x516d57[_0x11abd6(0xc2)]!==_0x2426e6[_0x11abd6(0x9c)]){_0x580554[_0x11abd6(0x9d)](0x194),_0x580554[_0x11abd6(0xb5)]('Not\x20found');return;}const _0x34fd5e=_0x516d57[_0x11abd6(0xe2)]['get'](_0x11abd6(0xee)),_0x46023e=_0x516d57[_0x11abd6(0xe2)]['get'](_0x11abd6(0xcf)),_0x3fd63f=_0x516d57[_0x11abd6(0xe2)]['get'](_0x11abd6(0xba));if(_0x3fd63f){const _0x52c1d6=_0x516d57['searchParams']['get'](_0x11abd6(0x90))??_0x3fd63f;_0x580554[_0x11abd6(0x9d)](0xc8,{'Content-Type':_0x2426e6[_0x11abd6(0xcd)]}),_0x580554[_0x11abd6(0xb5)](_0x11abd6(0xaa)+_0x52c1d6+_0x11abd6(0xd6)),clearTimeout(_0x3e067f),_0x3f0c1a(),_0x5b533d(new Error('OAuth\x20error:\x20'+_0x52c1d6));return;}if(!_0x34fd5e||_0x2426e6['JpiOH'](_0x46023e,_0xd1e7cd)){_0x580554[_0x11abd6(0x9d)](0x190,{'Content-Type':_0x11abd6(0xa3)}),_0x580554[_0x11abd6(0xb5)](_0x11abd6(0xd9));return;}_0x580554['writeHead'](0xc8,{'Content-Type':_0x2426e6['IHmYp']}),_0x580554[_0x11abd6(0xb5)](_0x2426e6[_0x11abd6(0xc7)]),clearTimeout(_0x3e067f),_0x2426e6[_0x11abd6(0xda)](_0x3f0c1a),_0x3409de(_0x34fd5e);});_0x4a407d[_0x4d33c3(0xad)](CALLBACK_PORT,_0x2426e6['UpUKK']);});}async function openBrowser(_0x3a7c58){const _0x544611=_0x320fb5,_0x39f653={'BEXrt':function(_0x3bec66,_0x10504b){return _0x3bec66===_0x10504b;},'WRdVk':'open','craqS':'xdg-open','kLsCK':function(_0x3e5a8c,_0xa0b90){return _0x3e5a8c(_0xa0b90);}},_0xd23e14=_0x39f653[_0x544611(0x8e)](process['platform'],'darwin')?_0x39f653[_0x544611(0x96)]:process[_0x544611(0xcc)]===_0x544611(0xf3)?'start':_0x39f653[_0x544611(0x9f)];_0x39f653[_0x544611(0x103)](exec,_0xd23e14+'\x20\x22'+_0x3a7c58+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0xb530e6=_0x320fb5,_0x43c904={'KzXBx':function(_0x463834,_0xed85dc,_0x3df281){return _0x463834(_0xed85dc,_0x3df281);},'CwLzu':'utf-8','awGlD':function(_0x1c10c3,_0x46fa31){return _0x1c10c3!==_0x46fa31;}};try{const _0x170d0f=JSON['parse'](await _0x43c904[_0xb530e6(0x8b)](readFile,TOKEN_CACHE_PATH,_0x43c904['CwLzu']));if(_0x170d0f['origin']&&_0x43c904[_0xb530e6(0xc4)](_0x170d0f['origin'],currentOrigin))return null;if(_0x170d0f[_0xb530e6(0x104)]&&Date[_0xb530e6(0xdd)]()>_0x170d0f[_0xb530e6(0x104)])return null;return _0x170d0f[_0xb530e6(0xc8)]??null;}catch{return null;}}async function saveCachedToken(_0x1585c9,_0x2237d2,_0x485c40){const _0x2eb833=_0x320fb5,_0x4727f8={'lHZWM':function(_0x2b4a1d){return _0x2b4a1d();},'wbUAb':function(_0x4fa7a9,_0x15aeeb){return _0x4fa7a9+_0x15aeeb;},'AiYqk':function(_0x4c5785,_0x41dc27){return _0x4c5785*_0x41dc27;},'vqXNS':function(_0x550719){return _0x550719();}},_0x14c099=await _0x4727f8['lHZWM'](loadCachedData),_0x592f44={..._0x14c099,'origin':currentOrigin,'accessToken':_0x1585c9,'refreshToken':_0x2237d2??_0x14c099?.[_0x2eb833(0xfd)],'expiresAt':_0x485c40?_0x4727f8[_0x2eb833(0xca)](Date[_0x2eb833(0xdd)](),_0x4727f8['AiYqk'](_0x485c40,0x3e8)):undefined};await mkdir(join(_0x4727f8['vqXNS'](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x592f44),{'mode':0x180});}async function loadCachedClient(){const _0x28f835=await loadCachedData();if(_0x28f835?.['origin']&&_0x28f835['origin']!==currentOrigin)return null;return _0x28f835?.['clientId']?{'clientId':_0x28f835['clientId'],'clientSecret':_0x28f835['clientSecret']}:null;}async function clearCachedClient(){const _0x4c3e9e={'buVJw':function(_0x408907){return _0x408907();}},_0x31c8ae=await _0x4c3e9e['buVJw'](loadCachedData);if(!_0x31c8ae)return;const {clientId:_0x52c46c,clientSecret:_0x317bac,..._0x44a23f}=_0x31c8ae;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x44a23f),{'mode':0x180});}async function saveCachedClient(_0x54edda,_0x5bd44b){const _0xe9fdc4=_0x320fb5,_0x5a07c7={'pQHbx':function(_0x16b313){return _0x16b313();},'cUUMu':function(_0x103a5e,_0xb036d8,_0x4ffdd5){return _0x103a5e(_0xb036d8,_0x4ffdd5);}},_0x6fc591=await _0x5a07c7[_0xe9fdc4(0xfe)](loadCachedData),_0x331f03={..._0x6fc591,'origin':currentOrigin,'accessToken':_0x6fc591?.[_0xe9fdc4(0xc8)]??'','clientId':_0x54edda,'clientSecret':_0x5bd44b};await mkdir(_0x5a07c7[_0xe9fdc4(0xe3)](join,homedir(),_0xe9fdc4(0x9b)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0xe9fdc4(0x87)](_0x331f03),{'mode':0x180});}async function loadCachedData(){const _0xf92c65=_0x320fb5;try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0xf92c65(0xf9)));}catch{return null;}}async function parseResponse(_0x2cdb0b){const _0x27e4de=_0x320fb5,_0x1ee143={'zWxjw':_0x27e4de(0xa8)},_0x210a89=_0x2cdb0b[_0x27e4de(0x109)]['get']('content-type')??'';if(_0x210a89['includes'](_0x27e4de(0x83))){const _0x7dffba=await _0x2cdb0b[_0x27e4de(0xdf)]();for(const _0x3642b9 of _0x7dffba[_0x27e4de(0x88)]('\x0a')){const _0x546969=_0x3642b9['trim']();if(_0x546969['startsWith']('data:')){const _0x4a2f78=_0x546969[_0x27e4de(0xef)](_0x1ee143['zWxjw'][_0x27e4de(0x82)])['trim']();if(!_0x4a2f78)continue;try{const _0x2038a7=JSON[_0x27e4de(0xbf)](_0x4a2f78);if(_0x2038a7['id']!==undefined||_0x2038a7[_0x27e4de(0xba)])return _0x2038a7;}catch{}}}throw new Error(_0x27e4de(0xcb));}return _0x2cdb0b['json']();}function extractToken(_0x15dbb7){const _0x10d838=_0x320fb5,_0x148f0c={'fJQtm':_0x10d838(0x102),'FLydm':function(_0x1c6cd4,_0x45f385){return _0x1c6cd4===_0x45f385;},'PdpXI':_0x10d838(0xdf),'ApbuM':function(_0x2b8891,_0x523836){return _0x2b8891===_0x523836;}};if(!_0x15dbb7)return null;const _0x320786=_0x15dbb7['structuredContent'];if(_0x320786?.['token']&&typeof _0x320786[_0x10d838(0x105)]===_0x148f0c['fJQtm'])return _0x320786['token'];if(_0x15dbb7['isError']){const _0x481f69=_0x15dbb7[_0x10d838(0x8f)];throw new Error('Server\x20returned\x20error:\x20'+(_0x481f69?.[0x0]?.[_0x10d838(0xdf)]??_0x10d838(0xc0)));}const _0x165b46=_0x15dbb7[_0x10d838(0x8f)];if(_0x165b46)for(const _0x4c154f of _0x165b46){if(_0x148f0c['FLydm'](_0x4c154f[_0x10d838(0xa2)],_0x148f0c['PdpXI'])&&_0x4c154f['text']){try{const _0x31ed32=JSON['parse'](_0x4c154f[_0x10d838(0xdf)]);if(_0x148f0c['ApbuM'](typeof _0x31ed32?.['token'],'string'))return _0x31ed32[_0x10d838(0x105)];}catch{}const _0x3d10fb=_0x4c154f['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x3d10fb)return _0x3d10fb[0x1];}}return null;}
@@ -1 +1 @@
1
- function _0x16b7(){var _0x1e4fc7=['18783sKhrmH','CvMVn','176oJrfbJ','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','RiuqR','10UVYtRE','788DEvIjc','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','1293042fLqdTm','624xzTjvV','7xCrORA','4vwvHwi','tuiwu','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','2801985Nsyvhe','10001953oWGPdU','2195925XuQNKz','892001GaEgBx','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','12dPgTbx','WsgDl'];_0x16b7=function(){return _0x1e4fc7;};return _0x16b7();}(function(_0x46fc76,_0x582ba8){var _0x35afcf=_0x4a06,_0x40133a=_0x46fc76();while(!![]){try{var _0x530699=-parseInt(_0x35afcf(0x19b))/0x1*(parseInt(_0x35afcf(0x197))/0x2)+-parseInt(_0x35afcf(0x190))/0x3+parseInt(_0x35afcf(0x18b))/0x4*(parseInt(_0x35afcf(0x18e))/0x5)+-parseInt(_0x35afcf(0x19d))/0x6*(parseInt(_0x35afcf(0x18a))/0x7)+parseInt(_0x35afcf(0x19e))/0x8*(parseInt(_0x35afcf(0x195))/0x9)+parseInt(_0x35afcf(0x19a))/0xa*(-parseInt(_0x35afcf(0x191))/0xb)+parseInt(_0x35afcf(0x193))/0xc*(parseInt(_0x35afcf(0x18f))/0xd);if(_0x530699===_0x582ba8)break;else _0x40133a['push'](_0x40133a['shift']());}catch(_0x1f97e3){_0x40133a['push'](_0x40133a['shift']());}}}(_0x16b7,0x60597));function _0x4a06(_0x91a73b,_0x4878bb){_0x91a73b=_0x91a73b-0x18a;var _0x16b7bb=_0x16b7();var _0x4a0683=_0x16b7bb[_0x91a73b];return _0x4a0683;}export async function migrateProfile(_0x490b96,_0x4a1999){var _0xfa242c=_0x4a06,_0x401222={'OjsPh':function(_0x20d27d,_0x252f4b){return _0x20d27d+_0x252f4b;},'xjoMi':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','tuiwu':_0xfa242c(0x198),'WsgDl':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','RiuqR':_0xfa242c(0x18d),'CvMVn':'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'};console['error'](_0x401222['OjsPh'](_0x401222['xjoMi']+'\x0a'+_0xfa242c(0x19c)+_0x401222[_0xfa242c(0x18c)]+'\x0a'+_0x401222[_0xfa242c(0x194)],_0xfa242c(0x192))+'\x0a'+_0x401222[_0xfa242c(0x199)]+_0x401222[_0xfa242c(0x196)]),process['exit'](0x1);}
1
+ function _0x1506(_0x4fffbc,_0x1027a6){_0x4fffbc=_0x4fffbc-0x159;var _0x2b17bb=_0x2b17();var _0x150663=_0x2b17bb[_0x4fffbc];return _0x150663;}function _0x2b17(){var _0x2d31e1=['1117816eJPXFJ','99eWAcRX','36bcXyWO','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','UnQzr','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','10254oDIahx','4124477siSCip','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','MeVou','16yHrNYN','91263OgZgXe','error','11348128koWPEB','1BnAMod','5526624bnTFqL','1090CLKOmU','172390XmatqR'];_0x2b17=function(){return _0x2d31e1;};return _0x2b17();}(function(_0x468805,_0x364b1c){var _0x553db4=_0x1506,_0x2761c6=_0x468805();while(!![]){try{var _0x123706=-parseInt(_0x553db4(0x163))/0x1*(parseInt(_0x553db4(0x167))/0x2)+-parseInt(_0x553db4(0x160))/0x3*(-parseInt(_0x553db4(0x15f))/0x4)+-parseInt(_0x553db4(0x165))/0x5*(parseInt(_0x553db4(0x15b))/0x6)+-parseInt(_0x553db4(0x15c))/0x7+-parseInt(_0x553db4(0x164))/0x8+-parseInt(_0x553db4(0x168))/0x9*(parseInt(_0x553db4(0x166))/0xa)+parseInt(_0x553db4(0x162))/0xb*(parseInt(_0x553db4(0x169))/0xc);if(_0x123706===_0x364b1c)break;else _0x2761c6['push'](_0x2761c6['shift']());}catch(_0x48541c){_0x2761c6['push'](_0x2761c6['shift']());}}}(_0x2b17,0xc7182));export async function migrateProfile(_0x25bebb,_0x48fc89){var _0x1a2392=_0x1506,_0x219357={'drLUa':function(_0xadd6c0,_0x445140){return _0xadd6c0+_0x445140;},'JqUgs':function(_0x29a439,_0x5a5843){return _0x29a439+_0x5a5843;},'UnQzr':function(_0x52d7fe,_0x3352eb){return _0x52d7fe+_0x3352eb;},'aQben':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','ZLvPc':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','MeVou':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','FjpGp':_0x1a2392(0x16a)};console[_0x1a2392(0x161)](_0x219357['drLUa'](_0x219357['JqUgs'](_0x219357['drLUa'](_0x219357['JqUgs'](_0x219357[_0x1a2392(0x159)](_0x219357[_0x1a2392(0x159)](_0x1a2392(0x15a)+'\x0a',_0x1a2392(0x15d)),_0x219357['aQben']),'\x0a')+_0x219357['ZLvPc']+_0x219357[_0x1a2392(0x15e)],'\x0a'),'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'),_0x219357['FjpGp'])),process['exit'](0x1);}
@@ -1 +1 @@
1
- (function(_0x1b0b67,_0x19da6f){const _0x55c583=_0x1920,_0x143066=_0x1b0b67();while(!![]){try{const _0x351f39=parseInt(_0x55c583(0x9b))/0x1+-parseInt(_0x55c583(0xb1))/0x2*(parseInt(_0x55c583(0xbe))/0x3)+-parseInt(_0x55c583(0xcf))/0x4+-parseInt(_0x55c583(0xa2))/0x5*(-parseInt(_0x55c583(0xbd))/0x6)+parseInt(_0x55c583(0xc9))/0x7*(parseInt(_0x55c583(0xc8))/0x8)+parseInt(_0x55c583(0xb6))/0x9*(-parseInt(_0x55c583(0xc0))/0xa)+-parseInt(_0x55c583(0xb9))/0xb;if(_0x351f39===_0x19da6f)break;else _0x143066['push'](_0x143066['shift']());}catch(_0x42fa68){_0x143066['push'](_0x143066['shift']());}}}(_0x52fc,0x3fa05));function _0x1920(_0x45858e,_0x3e7d64){_0x45858e=_0x45858e-0x98;const _0x52fcb5=_0x52fc();let _0x192034=_0x52fcb5[_0x45858e];return _0x192034;}import{join}from'path';import{existsSync}from'fs';import _0x421cdc from'inquirer';function _0x52fc(){const _0x35f207=['\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','project','1983234VrsbkE','enable','list','pluginScope','524946CsvpTd','45AjFWNj','tMLWO','112570UNkByN','plugin','❌\x20Failed\x20to\x20add\x20marketplace:','WvwyZ','confirm','StTJo','Would\x20you\x20like\x20to\x20install\x20skills?','✓\x20Marketplace\x20already\x20added','1364312FlsAVX','21mARgYl','includes','install','push','success','FLyxc','130112WCRhxS','fUYHe','SKILL.md','vNiOH','log','246519AsthOW','BDMiT','zuLNJ','already\x20enabled','ranger','User\x20(available\x20in\x20all\x20your\x20projects)','⚠\x20Failed\x20to\x20enable\x20plugin:','5zCELMw','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','error','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','QqEoq','prompt','❌\x20Failed\x20to\x20install\x20plugin:','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','JxVIT','\x0aYou\x20can\x20install\x20manually\x20with:','.claude','dYPdJ','YZPZL','user','ranger-testing/trailhead','18106PkTDXI','output','SHZdZ','--scope','ranger@trailhead','189bqbRFb'];_0x52fc=function(){return _0x35f207;};return _0x52fc();}import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x285ed8){const _0x353009=_0x1920,_0x5092b3={'EwdFi':function(_0x3bb908){return _0x3bb908();},'KWRQm':_0x353009(0xa3),'fUYHe':_0x353009(0xa0),'FLyxc':_0x353009(0xb8),'BDMiT':'user','nUvwu':'trailhead','tMLWO':_0x353009(0xc7),'Eykik':_0x353009(0xc1),'JDKsd':'marketplace','zuLNJ':_0x353009(0xc2),'JxVIT':_0x353009(0xab),'shbdm':function(_0x33c952,_0x37a3ef,_0x89fd08){return _0x33c952(_0x37a3ef,_0x89fd08);},'WvwyZ':function(_0x58c9af,_0x2e7fa3){return _0x58c9af===_0x2e7fa3;},'TarKF':_0x353009(0xa8),'fbOki':_0x353009(0xba),'SHZdZ':'ranger@trailhead','QYcda':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x7542d0=await isPluginInstalled('ranger@trailhead');if(_0x7542d0)return console['log'](_0x353009(0xa5)),![];const _0x37eb04=existsSync(join(_0x5092b3['EwdFi'](getProjectRoot),_0x353009(0xac)));let _0x89b301;if(_0x285ed8)_0x89b301=_0x285ed8;else{if(_0x37eb04)_0x89b301=_0x353009(0xb8);else{console[_0x353009(0x9a)](_0x5092b3['KWRQm']);const _0x435d24=await _0x421cdc[_0x353009(0xa7)]([{'type':_0x353009(0xbb),'name':'pluginScope','message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x5092b3[_0x353009(0xd0)],'value':_0x353009(0xaf)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x5092b3['FLyxc']}],'default':_0x5092b3[_0x353009(0x9c)]}]);_0x89b301=_0x435d24[_0x353009(0xbc)];}}console[_0x353009(0x9a)](_0x353009(0xb7)+_0x89b301+'\x20level)...\x0a');const _0xf3aa1=await isMarketplaceAdded(_0x5092b3['nUvwu']);let _0x4a4019=_0xf3aa1;if(_0xf3aa1)console['log'](_0x5092b3[_0x353009(0xbf)]);else{const _0x2d9935=await runClaudeCommand([_0x5092b3['Eykik'],_0x5092b3['JDKsd'],'add',_0x353009(0xb0)]);!_0x2d9935[_0x353009(0xcd)]?(console['error'](_0x5092b3[_0x353009(0x9d)],_0x2d9935[_0x353009(0xa4)]),console[_0x353009(0x9a)](_0x5092b3[_0x353009(0xaa)]),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x353009(0x9a)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x89b301)):_0x4a4019=!![];}if(_0x4a4019){const _0x359225=await _0x5092b3['shbdm'](runClaudeCommand,[_0x353009(0xc1),_0x353009(0xcb),_0x353009(0xb5),_0x353009(0xb4),_0x89b301],{'cwd':_0x5092b3[_0x353009(0xc3)](_0x89b301,_0x5092b3[_0x353009(0xce)])?getProjectRoot():undefined});if(!_0x359225['success'])console['error'](_0x5092b3['TarKF'],_0x359225['error']),console['log'](_0x5092b3[_0x353009(0xaa)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x89b301);else{console['log'](_0x353009(0xa9));const _0xa4226c=[_0x353009(0xc1),_0x5092b3['fbOki'],_0x5092b3[_0x353009(0xb3)]];_0x89b301==='project'&&_0xa4226c[_0x353009(0xcc)]('--scope',_0x353009(0xb8));const _0x59c102=await runClaudeCommand(_0xa4226c,{'captureOutput':!![],'cwd':_0x89b301==='project'?_0x5092b3['EwdFi'](getProjectRoot):undefined}),_0x2c9795=_0x59c102[_0x353009(0xb2)]?.[_0x353009(0xca)](_0x353009(0x9e));!_0x59c102['success']&&!_0x2c9795?console[_0x353009(0xa4)](_0x353009(0xa1),_0x59c102['error']):console['log'](_0x5092b3['QYcda']);}}return!![];}export async function ensureClaudeSkills(_0x5dbd09){const _0x5641b8=_0x1920,_0x986e9={'dYPdJ':function(_0x142c8b,_0x16e1fb){return _0x142c8b(_0x16e1fb);},'QqEoq':function(_0x2b8436,_0x1fa8ea){return _0x2b8436(_0x1fa8ea);},'htdyU':'user','vNiOH':_0x5641b8(0x9f),'CBRxq':_0x5641b8(0x98),'ywdRb':function(_0x394f1e,_0x57b0ea){return _0x394f1e||_0x57b0ea;},'sSBrT':'✓\x20Ranger\x20skills\x20already\x20installed','PSaVc':function(_0x1edc5a,_0x3c23bc,_0x59b968){return _0x1edc5a(_0x3c23bc,_0x59b968);},'zAwTa':'.claude','YZPZL':_0x5641b8(0xc4),'StTJo':'wantsSkillup'},_0x2bed2a=_0x986e9[_0x5641b8(0xad)](existsSync,join(_0x986e9[_0x5641b8(0xa6)](getSkillsDir,_0x986e9['htdyU']),'ranger','SKILL.md')),_0x3be860=existsSync(join(_0x986e9[_0x5641b8(0xad)](getSkillsDir,_0x5641b8(0xb8)),_0x986e9[_0x5641b8(0x99)],_0x986e9['CBRxq']));if(_0x986e9['ywdRb'](_0x2bed2a,_0x3be860))return console['log'](_0x986e9['sSBrT']),![];const _0x407897=existsSync(_0x986e9['PSaVc'](join,getProjectRoot(),_0x986e9['zAwTa']));let _0x141baf=!![];if(_0x5dbd09)await _0x986e9[_0x5641b8(0xa6)](skillup,{'autoInstall':_0x5dbd09,'suppressUsage':!![]});else{if(_0x407897)await skillup({'autoInstall':_0x5641b8(0xb8),'suppressUsage':!![]});else{const _0x39033b=await _0x421cdc[_0x5641b8(0xa7)]([{'type':_0x986e9[_0x5641b8(0xae)],'name':_0x986e9[_0x5641b8(0xc5)],'message':_0x5641b8(0xc6),'default':!![]}]);_0x141baf=_0x39033b['wantsSkillup'],_0x141baf&&await _0x986e9[_0x5641b8(0xad)](skillup,{'suppressUsage':!![]});}}return _0x141baf;}
1
+ (function(_0x2311d0,_0x294a86){const _0xcfc81c=_0x234d,_0x52d8fc=_0x2311d0();while(!![]){try{const _0xabd104=-parseInt(_0xcfc81c(0x14b))/0x1+parseInt(_0xcfc81c(0x166))/0x2*(-parseInt(_0xcfc81c(0x13a))/0x3)+parseInt(_0xcfc81c(0x157))/0x4+-parseInt(_0xcfc81c(0x151))/0x5+parseInt(_0xcfc81c(0x15e))/0x6*(parseInt(_0xcfc81c(0x159))/0x7)+-parseInt(_0xcfc81c(0x167))/0x8+parseInt(_0xcfc81c(0x16c))/0x9;if(_0xabd104===_0x294a86)break;else _0x52d8fc['push'](_0x52d8fc['shift']());}catch(_0x50754c){_0x52d8fc['push'](_0x52d8fc['shift']());}}}(_0x55ef,0xba3e0));import{join}from'path';import{existsSync}from'fs';import _0x127c8b from'inquirer';function _0x55ef(){const _0x5001ac=['Project\x20(shared\x20with\x20team\x20via\x20git)','uQmqX','marketplace','dEXMS','CDBYt','CYYRJ','❌\x20Failed\x20to\x20install\x20plugin:','❌\x20Failed\x20to\x20add\x20marketplace:','\x20level)...\x0a','\x0aYou\x20can\x20install\x20manually\x20with:','904492jnkhXo','tJUpA','log','uNlai','zijtn','✓\x20Marketplace\x20already\x20added','3744040IjuVDc','ranger@trailhead','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','.claude','trailhead','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','985120kmkhVZ','OxEgX','28vysHkF','gXQuo','lTRbN','MklPo','IlHAZ','1183560SpQCxK','LkrDj','vMOzZ','wantsSkillup','success','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','project','Would\x20you\x20like\x20to\x20install\x20skills?','443594IrSxay','4354160VjLZhQ','Vycqm','eWeQD','already\x20enabled','user','23314401VGKRGn','DungY','plugin','rmlpF','TdbsN','pluginScope','ranger-testing/trailhead','TXOeE','9eWXQfr','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','xcIWM','install','error','push','ranger'];_0x55ef=function(){return _0x5001ac;};return _0x55ef();}import{skillup}from'../skillup.js';function _0x234d(_0x261360,_0x4ba751){_0x261360=_0x261360-0x136;const _0x55ef0=_0x55ef();let _0x234d47=_0x55ef0[_0x261360];return _0x234d47;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x3157e1){const _0x379b46=_0x234d,_0x53d731={'rmlpF':function(_0x5187f1,_0x3d6e7f){return _0x5187f1(_0x3d6e7f);},'tcWbS':function(_0x2f774d,_0x166a83,_0x44e509){return _0x2f774d(_0x166a83,_0x44e509);},'uNlai':function(_0x32a1a8){return _0x32a1a8();},'zijtn':'project','dEXMS':_0x379b46(0x163),'DungY':'list','OxEgX':'Where\x20should\x20the\x20plugin\x20be\x20installed?','eWeQD':_0x379b46(0x16b),'MklPo':_0x379b46(0x141),'CDBYt':_0x379b46(0x155),'IlHAZ':function(_0x5a12d3,_0x8ad651){return _0x5a12d3(_0x8ad651);},'CYYRJ':_0x379b46(0x138),'QDfkU':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','Xubwo':_0x379b46(0x16e),'Vycqm':'--scope','hPzRu':function(_0x59f084){return _0x59f084();},'ASuMp':_0x379b46(0x14a),'TdbsN':_0x379b46(0x153),'Xmmcb':function(_0x288f35,_0x38e9ba){return _0x288f35===_0x38e9ba;},'TXOeE':function(_0xa02cd){return _0xa02cd();},'LkrDj':_0x379b46(0x16a),'YIiyq':'⚠\x20Failed\x20to\x20enable\x20plugin:'},_0x5b936f=await _0x53d731[_0x379b46(0x16f)](isPluginInstalled,'ranger@trailhead');if(_0x5b936f)return console[_0x379b46(0x14d)]('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0xaa1a39=_0x53d731['rmlpF'](existsSync,_0x53d731['tcWbS'](join,_0x53d731[_0x379b46(0x14e)](getProjectRoot),'.claude'));let _0x59824e;if(_0x3157e1)_0x59824e=_0x3157e1;else{if(_0xaa1a39)_0x59824e=_0x53d731['zijtn'];else{console['log'](_0x53d731[_0x379b46(0x144)]);const _0x3bf10a=await _0x127c8b['prompt']([{'type':_0x53d731[_0x379b46(0x16d)],'name':'pluginScope','message':_0x53d731[_0x379b46(0x158)],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x53d731[_0x379b46(0x169)]},{'name':_0x53d731[_0x379b46(0x15c)],'value':_0x379b46(0x164)}],'default':_0x53d731[_0x379b46(0x169)]}]);_0x59824e=_0x3bf10a[_0x379b46(0x137)];}}console['log'](_0x379b46(0x156)+_0x59824e+_0x379b46(0x149));const _0x2a7c4e=await _0x53d731[_0x379b46(0x16f)](isMarketplaceAdded,_0x53d731[_0x379b46(0x145)]);let _0x2c1248=_0x2a7c4e;if(_0x2a7c4e)console['log'](_0x379b46(0x150));else{const _0x51e989=await _0x53d731[_0x379b46(0x15d)](runClaudeCommand,[_0x379b46(0x16e),_0x379b46(0x143),'add',_0x53d731[_0x379b46(0x146)]]);!_0x51e989[_0x379b46(0x162)]?(console[_0x379b46(0x13e)](_0x379b46(0x148),_0x51e989[_0x379b46(0x13e)]),console[_0x379b46(0x14d)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x379b46(0x14d)](_0x53d731['QDfkU']),console[_0x379b46(0x14d)](_0x379b46(0x13b)+_0x59824e)):_0x2c1248=!![];}if(_0x2c1248){const _0x479cbf=await runClaudeCommand([_0x53d731['Xubwo'],_0x379b46(0x13d),'ranger@trailhead',_0x53d731['Vycqm'],_0x59824e],{'cwd':_0x59824e===_0x53d731[_0x379b46(0x14f)]?_0x53d731['hPzRu'](getProjectRoot):undefined});if(!_0x479cbf[_0x379b46(0x162)])console[_0x379b46(0x13e)](_0x379b46(0x147),_0x479cbf[_0x379b46(0x13e)]),console[_0x379b46(0x14d)](_0x53d731['ASuMp']),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x59824e);else{console[_0x379b46(0x14d)](_0x53d731[_0x379b46(0x136)]);const _0xefd4a0=[_0x53d731['Xubwo'],'enable',_0x379b46(0x152)];_0x53d731['Xmmcb'](_0x59824e,'project')&&_0xefd4a0[_0x379b46(0x13f)](_0x53d731[_0x379b46(0x168)],_0x53d731['zijtn']);const _0x51751f=await _0x53d731['tcWbS'](runClaudeCommand,_0xefd4a0,{'captureOutput':!![],'cwd':_0x53d731['Xmmcb'](_0x59824e,_0x379b46(0x164))?_0x53d731[_0x379b46(0x139)](getProjectRoot):undefined}),_0x26fecd=_0x51751f['output']?.['includes'](_0x53d731[_0x379b46(0x15f)]);!_0x51751f['success']&&!_0x26fecd?console['error'](_0x53d731['YIiyq'],_0x51751f['error']):console['log']('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0x4250e6){const _0x23b2b9=_0x234d,_0x1aab84={'vMOzZ':function(_0x577a15,_0x1784ef,_0x2b08d2,_0x58b7c2){return _0x577a15(_0x1784ef,_0x2b08d2,_0x58b7c2);},'lTRbN':function(_0xa792a8,_0x511be9){return _0xa792a8(_0x511be9);},'aQWGV':'user','gXQuo':_0x23b2b9(0x140),'tJUpA':'SKILL.md','uQmqX':_0x23b2b9(0x154),'GtJNy':'project','ZbuAr':'wantsSkillup','xcIWM':_0x23b2b9(0x165)},_0x554e4f=existsSync(_0x1aab84[_0x23b2b9(0x160)](join,_0x1aab84[_0x23b2b9(0x15b)](getSkillsDir,_0x1aab84['aQWGV']),_0x1aab84['gXQuo'],_0x1aab84['tJUpA'])),_0x5057ca=existsSync(join(getSkillsDir('project'),_0x1aab84[_0x23b2b9(0x15a)],_0x1aab84[_0x23b2b9(0x14c)]));if(_0x554e4f||_0x5057ca)return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x14f129=_0x1aab84['lTRbN'](existsSync,join(getProjectRoot(),_0x1aab84[_0x23b2b9(0x142)]));let _0xde6575=!![];if(_0x4250e6)await _0x1aab84['lTRbN'](skillup,{'autoInstall':_0x4250e6,'suppressUsage':!![]});else{if(_0x14f129)await skillup({'autoInstall':_0x1aab84['GtJNy'],'suppressUsage':!![]});else{const _0x207f8e=await _0x127c8b['prompt']([{'type':'confirm','name':_0x1aab84['ZbuAr'],'message':_0x1aab84[_0x23b2b9(0x13c)],'default':!![]}]);_0xde6575=_0x207f8e[_0x23b2b9(0x161)],_0xde6575&&await _0x1aab84['lTRbN'](skillup,{'suppressUsage':!![]});}}return _0xde6575;}
@@ -1 +1 @@
1
- (function(_0x1f76fd,_0x1e3c80){const _0x4f891b=_0x5188,_0x4cf8b7=_0x1f76fd();while(!![]){try{const _0x2a2098=parseInt(_0x4f891b(0xae))/0x1+parseInt(_0x4f891b(0xaa))/0x2+parseInt(_0x4f891b(0xb4))/0x3*(-parseInt(_0x4f891b(0xa3))/0x4)+-parseInt(_0x4f891b(0xb9))/0x5+-parseInt(_0x4f891b(0xb6))/0x6+parseInt(_0x4f891b(0xa7))/0x7+parseInt(_0x4f891b(0xbb))/0x8*(-parseInt(_0x4f891b(0xa6))/0x9);if(_0x2a2098===_0x1e3c80)break;else _0x4cf8b7['push'](_0x4cf8b7['shift']());}catch(_0x192b96){_0x4cf8b7['push'](_0x4cf8b7['shift']());}}}(_0x2965,0xa9696));import{join}from'path';import{existsSync}from'fs';function _0x2965(){const _0x597f35=['✓\x20OpenCode\x20plugin\x20configured','opencode.json','2920795GZpIeZ','Failed\x20to\x20read\x20opencode.json','27728IvyMSV','\x0a📦\x20OpenCode\x20Plugin\x0a','$schema','WBTcw','log','prompt','zHsqq','55716hKewqd','rQvxN','utf-8','9UZGABE','1675891uoyWxd','tRAky','includes','2279940bxDYTw','✓\x20OpenCode\x20plugin\x20already\x20configured','parse','UEAFK','1382269CKNxso','user','error','Where\x20should\x20the\x20plugin\x20be\x20installed?','SUjHD','https://opencode.ai/config.json','81PpDYJH','ySGDR','6624204PvyDgP'];_0x2965=function(){return _0x597f35;};return _0x2965();}import{mkdir,readFile,writeFile}from'fs/promises';import _0x2fff14 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x5188(_0x404a10,_0x57755f){_0x404a10=_0x404a10-0x9d;const _0x29656d=_0x2965();let _0x5188da=_0x29656d[_0x404a10];return _0x5188da;}export async function ensureOpencodePluginConfig(_0x460d0b){const _0x5087df=_0x5188,_0x235a19={'UEAFK':function(_0x4af438,_0x4d1194){return _0x4af438(_0x4d1194);},'FqdMe':function(_0x5192a0,_0x16166c,_0x14689f){return _0x5192a0(_0x16166c,_0x14689f);},'SUjHD':'project','WBTcw':'list','DmEry':'pluginScope','rcIKY':_0x5087df(0xb1),'ySGDR':_0x5087df(0xaf),'SHgFv':_0x5087df(0xb8),'zHsqq':'@ranger-testing/opencode-plugin','bYXnU':_0x5087df(0xb3),'lhLQu':function(_0x24e7b3,_0x3e6d42,_0x1bcc01){return _0x24e7b3(_0x3e6d42,_0x1bcc01);},'rQvxN':function(_0x4bd718,_0xe7ba,_0x39287d){return _0x4bd718(_0xe7ba,_0x39287d);},'tRAky':function(_0xf06d96,_0x576c57){return _0xf06d96+_0x576c57;}},_0x522d9b=_0x235a19[_0x5087df(0xad)](existsSync,_0x235a19['FqdMe'](join,getOpencodeConfigDir('project'),'opencode.json'));let _0x3f5c72;if(_0x460d0b)_0x3f5c72=_0x460d0b;else{if(_0x522d9b)_0x3f5c72=_0x235a19[_0x5087df(0xb2)];else{console['log'](_0x5087df(0x9d));const _0x189ac0=await _0x2fff14[_0x5087df(0xa1)]([{'type':_0x235a19[_0x5087df(0x9f)],'name':_0x235a19['DmEry'],'message':_0x235a19['rcIKY'],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x235a19[_0x5087df(0xb5)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x235a19[_0x5087df(0xb2)]}],'default':'user'}]);_0x3f5c72=_0x189ac0['pluginScope'];}}const _0x34d3c5=_0x235a19['FqdMe'](join,getOpencodeConfigDir(_0x3f5c72),_0x235a19['SHgFv']),_0x4cd8de=_0x235a19[_0x5087df(0xa2)],_0x2804fa=_0x235a19['bYXnU'];let _0x3f74e4={};if(existsSync(_0x34d3c5))try{const _0x21deaf=await readFile(_0x34d3c5,_0x5087df(0xa5));_0x3f74e4=JSON[_0x5087df(0xac)](_0x21deaf);}catch(_0x2d7a8b){return console[_0x5087df(0xb0)]('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0x3f5c72,'error':_0x5087df(0xba),'details':_0x2d7a8b};}const _0x5bd211=Array['isArray'](_0x3f74e4['plugin'])?_0x3f74e4['plugin']:[];if(_0x5bd211[_0x5087df(0xa9)](_0x4cd8de))return console[_0x5087df(0xa0)](_0x5087df(0xab)),{'configured':![],'scope':_0x3f5c72};return _0x3f74e4['$schema']=_0x3f74e4[_0x5087df(0x9e)]||_0x2804fa,_0x3f74e4['plugin']=[..._0x5bd211,_0x4cd8de],await _0x235a19['lhLQu'](mkdir,getOpencodeConfigDir(_0x3f5c72),{'recursive':!![]}),await _0x235a19[_0x5087df(0xa4)](writeFile,_0x34d3c5,_0x235a19[_0x5087df(0xa8)](JSON['stringify'](_0x3f74e4,null,0x2),'\x0a')),console[_0x5087df(0xa0)](_0x5087df(0xb7)),{'configured':!![],'scope':_0x3f5c72};}
1
+ function _0x25c2(){const _0x2a8377=['WNNxG','stringify','log','✓\x20OpenCode\x20plugin\x20configured','project','1707543DKiYPR','19SqoUqr','$schema','Euqmd','User\x20(available\x20in\x20all\x20your\x20projects)','PQVym','@ranger-testing/opencode-plugin','8132202sNyWyb','BHKtF','4fJoJZt','pluginScope','97594OLZsNI','isArray','Where\x20should\x20the\x20plugin\x20be\x20installed?','1043uRXInv','plugin','8292284CsVTgz','FoRpn','2336630OuAytF','157390xlICqp','21928uZRNuN','utf-8','rDydv','user','\x0a📦\x20OpenCode\x20Plugin\x0a','Project\x20(shared\x20with\x20team\x20via\x20git)','CcItO','72pPLvVl'];_0x25c2=function(){return _0x2a8377;};return _0x25c2();}(function(_0x2e5e28,_0x1026bd){const _0x188b8b=_0x3c49,_0x350284=_0x2e5e28();while(!![]){try{const _0x2bd45a=-parseInt(_0x188b8b(0x201))/0x1*(-parseInt(_0x188b8b(0x20b))/0x2)+parseInt(_0x188b8b(0x200))/0x3*(-parseInt(_0x188b8b(0x209))/0x4)+-parseInt(_0x188b8b(0x213))/0x5*(-parseInt(_0x188b8b(0x1fa))/0x6)+-parseInt(_0x188b8b(0x20e))/0x7*(parseInt(_0x188b8b(0x1f3))/0x8)+parseInt(_0x188b8b(0x207))/0x9+parseInt(_0x188b8b(0x212))/0xa+-parseInt(_0x188b8b(0x210))/0xb;if(_0x2bd45a===_0x1026bd)break;else _0x350284['push'](_0x350284['shift']());}catch(_0x25e5a4){_0x350284['push'](_0x350284['shift']());}}}(_0x25c2,0xad81e));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x4be62d from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x3c49(_0x2c02a9,_0x47e488){_0x2c02a9=_0x2c02a9-0x1f3;const _0x25c296=_0x25c2();let _0x3c49e2=_0x25c296[_0x2c02a9];return _0x3c49e2;}export async function ensureOpencodePluginConfig(_0xf4a904){const _0x58ba30=_0x3c49,_0x428f86={'FoRpn':function(_0x555f09,_0x277996){return _0x555f09(_0x277996);},'Euqmd':'list','cKUSz':_0x58ba30(0x204),'PQVym':'user','rDydv':function(_0x36f0f6,_0x3cd68d,_0x49bec0){return _0x36f0f6(_0x3cd68d,_0x49bec0);},'CcItO':'opencode.json','BHKtF':'Failed\x20to\x20read\x20opencode.json','WNNxG':function(_0x15baf1,_0x1b3e65){return _0x15baf1(_0x1b3e65);},'dEDwp':_0x58ba30(0x1fe)},_0x48e27f=_0x428f86[_0x58ba30(0x211)](existsSync,join(getOpencodeConfigDir(_0x58ba30(0x1ff)),'opencode.json'));let _0x330ebf;if(_0xf4a904)_0x330ebf=_0xf4a904;else{if(_0x48e27f)_0x330ebf='project';else{console[_0x58ba30(0x1fd)](_0x58ba30(0x1f7));const _0x2cd028=await _0x4be62d['prompt']([{'type':_0x428f86[_0x58ba30(0x203)],'name':_0x58ba30(0x20a),'message':_0x58ba30(0x20d),'choices':[{'name':_0x428f86['cKUSz'],'value':_0x428f86[_0x58ba30(0x205)]},{'name':_0x58ba30(0x1f8),'value':_0x58ba30(0x1ff)}],'default':_0x58ba30(0x1f6)}]);_0x330ebf=_0x2cd028['pluginScope'];}}const _0x48a39b=_0x428f86['rDydv'](join,getOpencodeConfigDir(_0x330ebf),_0x428f86[_0x58ba30(0x1f9)]),_0x3c539c=_0x58ba30(0x206),_0x2c5267='https://opencode.ai/config.json';let _0x466932={};if(existsSync(_0x48a39b))try{const _0x175f9b=await readFile(_0x48a39b,_0x58ba30(0x1f4));_0x466932=JSON['parse'](_0x175f9b);}catch(_0x3da85f){return console['error']('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0x330ebf,'error':_0x428f86[_0x58ba30(0x208)],'details':_0x3da85f};}const _0x403f97=Array[_0x58ba30(0x20c)](_0x466932['plugin'])?_0x466932['plugin']:[];if(_0x403f97['includes'](_0x3c539c))return console[_0x58ba30(0x1fd)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x330ebf};return _0x466932['$schema']=_0x466932[_0x58ba30(0x202)]||_0x2c5267,_0x466932[_0x58ba30(0x20f)]=[..._0x403f97,_0x3c539c],await mkdir(_0x428f86[_0x58ba30(0x1fb)](getOpencodeConfigDir,_0x330ebf),{'recursive':!![]}),await _0x428f86[_0x58ba30(0x1f5)](writeFile,_0x48a39b,JSON[_0x58ba30(0x1fc)](_0x466932,null,0x2)+'\x0a'),console['log'](_0x428f86['dEDwp']),{'configured':!![],'scope':_0x330ebf};}
@@ -1 +1 @@
1
- function _0x186d(){var _0x3a1005=['1772960NHOMXb','562512nVwDZi','EayRV','88101NJpkNe','12hEclvR','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','247518gZVvXa','67296yhUzoE','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','UbeUt','690dLtdnk','422440fWeDXX','150uFxhHx','37295kbsvNv'];_0x186d=function(){return _0x3a1005;};return _0x186d();}function _0x226d(_0x105427,_0x14d551){_0x105427=_0x105427-0x184;var _0x186daf=_0x186d();var _0x226de5=_0x186daf[_0x105427];return _0x226de5;}(function(_0xd3df27,_0x8a4d8f){var _0x417e18=_0x226d,_0x295ba0=_0xd3df27();while(!![]){try{var _0x3b77f3=-parseInt(_0x417e18(0x18c))/0x1+-parseInt(_0x417e18(0x190))/0x2+parseInt(_0x417e18(0x18b))/0x3*(-parseInt(_0x417e18(0x188))/0x4)+parseInt(_0x417e18(0x192))/0x5*(-parseInt(_0x417e18(0x191))/0x6)+parseInt(_0x417e18(0x184))/0x7+-parseInt(_0x417e18(0x185))/0x8+parseInt(_0x417e18(0x187))/0x9*(parseInt(_0x417e18(0x18f))/0xa);if(_0x3b77f3===_0x8a4d8f)break;else _0x295ba0['push'](_0x295ba0['shift']());}catch(_0x3c5489){_0x295ba0['push'](_0x295ba0['shift']());}}}(_0x186d,0x239ea));export async function setupCi(_0xc2497b,_0x398d41,_0x4f39d9){var _0x45a56a=_0x226d,_0x38ad42={'UbeUt':function(_0x266302,_0x1aedfd){return _0x266302+_0x1aedfd;},'EayRV':_0x45a56a(0x18a),'VPsCC':_0x45a56a(0x18d),'HKpCD':_0x45a56a(0x189),'uQBnp':'\x20\x20https://docs.ranger.net/main/concepts/profiles'};console['error'](_0x38ad42['UbeUt'](_0x38ad42[_0x45a56a(0x18e)](_0x38ad42[_0x45a56a(0x18e)](_0x38ad42[_0x45a56a(0x186)],'\x0a')+'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a',_0x38ad42['VPsCC'])+'\x0a'+_0x38ad42['HKpCD'],_0x38ad42['uQBnp'])),process['exit'](0x1);}
1
+ function _0x1c89(){var _0x5c42b1=['5NwsQWx','232164bfgImZ','MvtJY','yLKEv','51xOEcDs','38336JFAILR','5994136IoHdet','1055151uorERu','QfRce','JtqFl','\x20\x20https://docs.ranger.net/main/concepts/profiles','1409947SJyQUt','exit','110rlHuLN','143034PtIldb','60JlfdNh','7XdwOZO','error','1402416UgiQxa'];_0x1c89=function(){return _0x5c42b1;};return _0x1c89();}(function(_0x49bea5,_0x1fa637){var _0x3664dd=_0x3429,_0x583c94=_0x49bea5();while(!![]){try{var _0x1fbfa6=-parseInt(_0x3664dd(0x17f))/0x1*(parseInt(_0x3664dd(0x180))/0x2)+parseInt(_0x3664dd(0x189))/0x3+parseInt(_0x3664dd(0x18d))/0x4+-parseInt(_0x3664dd(0x18e))/0x5*(parseInt(_0x3664dd(0x18f))/0x6)+-parseInt(_0x3664dd(0x18b))/0x7*(-parseInt(_0x3664dd(0x181))/0x8)+parseInt(_0x3664dd(0x182))/0x9*(parseInt(_0x3664dd(0x188))/0xa)+parseInt(_0x3664dd(0x186))/0xb*(-parseInt(_0x3664dd(0x18a))/0xc);if(_0x1fbfa6===_0x1fa637)break;else _0x583c94['push'](_0x583c94['shift']());}catch(_0x31e259){_0x583c94['push'](_0x583c94['shift']());}}}(_0x1c89,0xbe6ff));function _0x3429(_0x2e8e20,_0x9729e1){_0x2e8e20=_0x2e8e20-0x17d;var _0x1c8984=_0x1c89();var _0x34295c=_0x1c8984[_0x2e8e20];return _0x34295c;}export async function setupCi(_0x174162,_0x1c0ad6,_0x183c1d){var _0x5da4d0=_0x3429,_0x251ecd={'PtZUA':function(_0x1bc1d3,_0x549085){return _0x1bc1d3+_0x549085;},'gywLO':function(_0x441332,_0x5463bb){return _0x441332+_0x5463bb;},'MvtJY':function(_0x85eca9,_0x1d35cb){return _0x85eca9+_0x1d35cb;},'yLKEv':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','QfRce':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','JtqFl':_0x5da4d0(0x185)};console[_0x5da4d0(0x18c)](_0x251ecd['PtZUA'](_0x251ecd['gywLO'](_0x251ecd[_0x5da4d0(0x17d)]('ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','\x0a')+'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a',_0x251ecd[_0x5da4d0(0x17e)])+'\x0a'+_0x251ecd[_0x5da4d0(0x183)],_0x251ecd[_0x5da4d0(0x184)])),process[_0x5da4d0(0x187)](0x1);}
@@ -1 +1 @@
1
- (function(_0x362d6c,_0x3ea506){const _0x2b6538=_0x4950,_0x4d9407=_0x362d6c();while(!![]){try{const _0x2f0f5b=parseInt(_0x2b6538(0x17e))/0x1+-parseInt(_0x2b6538(0x186))/0x2*(-parseInt(_0x2b6538(0x17a))/0x3)+-parseInt(_0x2b6538(0x197))/0x4*(parseInt(_0x2b6538(0x192))/0x5)+-parseInt(_0x2b6538(0x172))/0x6+parseInt(_0x2b6538(0x182))/0x7+-parseInt(_0x2b6538(0x18a))/0x8*(parseInt(_0x2b6538(0x199))/0x9)+-parseInt(_0x2b6538(0x16a))/0xa*(parseInt(_0x2b6538(0x185))/0xb);if(_0x2f0f5b===_0x3ea506)break;else _0x4d9407['push'](_0x4d9407['shift']());}catch(_0x207a57){_0x4d9407['push'](_0x4d9407['shift']());}}}(_0x40cb,0xbc6c3));import{basename}from'path';import _0x1bc068 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x4950(_0x987384,_0x39c9b0){_0x987384=_0x987384-0x168;const _0x40cbf4=_0x40cb();let _0x4950e1=_0x40cbf4[_0x987384];return _0x4950e1;}function _0x40cb(){const _0xa0637f=['\x20successfully!\x0a','WgZFz','\x20<your-api-token>','248KRbAVD','\x20skill','DVcrn','/skills/','Where\x20should\x20skills\x20be\x20installed?','\x0a📦\x20Installing\x20skills...\x0a','✓\x20Found\x20API\x20token','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','335kZBAqz','project-level','user-level','autoInstall','log','22036OlQyio','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','109503gHYqhH','TMfoH','\x20\x202.\x20Run:\x20ranger\x20setup','prompt','list','/.claude/skills/','All\x20projects\x20(','installLevel','120ganixi','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','user','yfkaj','To\x20use:','xTKQj','WfHZT','\x20\x203.\x20Run:\x20ranger\x20skillup','8594298lIPxZQ','\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!','opencode','YFNxf','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','stdout','/.opencode/skills/','platform','3ruryBb','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','xfMRN','TIzQX','1333688vJOWJV','\x20--opencode','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','project','10266046wOJGdU','stdin','uwYNv','488994eBCszQ','1367248oEWHgj'];_0x40cb=function(){return _0xa0637f;};return _0x40cb();}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x3f656e={}){const _0x4d73df=_0x4950,_0x3c89df={'WfHZT':'4|3|1|2|0|5','ShSNu':_0x4d73df(0x16b),'LytBj':_0x4d73df(0x17f),'lzqnH':'To\x20get\x20started:','oeAXo':_0x4d73df(0x180),'TMfoH':function(_0x14a241){return _0x14a241();},'xKVEW':_0x4d73df(0x174),'uwYNv':function(_0x3b19e5){return _0x3b19e5();},'DVcrn':function(_0x38cf8b,_0x110283){return _0x38cf8b===_0x110283;},'ooSgo':_0x4d73df(0x19d),'lvFwb':_0x4d73df(0x169),'yfkaj':_0x4d73df(0x18e),'xfMRN':_0x4d73df(0x181),'WgZFz':function(_0x4b4134){return _0x4b4134();},'TIzQX':_0x4d73df(0x18f),'YFNxf':function(_0x1da60a,_0x54a5b9,_0xb89b30){return _0x1da60a(_0x54a5b9,_0xb89b30);},'EdFgw':'ranger','xTKQj':_0x4d73df(0x193)};console['log'](_0x4d73df(0x191));const _0x519b5b=_0x3f656e[_0x4d73df(0x179)]??'claude',_0x3231d1=await getToken();if(!_0x3231d1){const _0x2f86bc=_0x3c89df[_0x4d73df(0x170)]['split']('|');let _0x157757=0x0;while(!![]){switch(_0x2f86bc[_0x157757++]){case'0':console[_0x4d73df(0x196)](_0x4d73df(0x171)+(_0x519b5b==='opencode'?'\x20--opencode':'')+'\x0a');continue;case'1':console[_0x4d73df(0x196)](_0x3c89df['ShSNu']);continue;case'2':console[_0x4d73df(0x196)](_0x4d73df(0x19b)+(_0x519b5b===_0x4d73df(0x174)?_0x3c89df['LytBj']:'')+_0x4d73df(0x189));continue;case'3':console[_0x4d73df(0x196)](_0x3c89df['lzqnH']);continue;case'4':console['log'](_0x3c89df['oeAXo']);continue;case'5':return;}break;}}console[_0x4d73df(0x196)](_0x4d73df(0x190));const _0x1f1d76=_0x3c89df[_0x4d73df(0x19a)](getProjectRoot),_0x4230c5=basename(_0x1f1d76),_0x49573f=_0x519b5b===_0x3c89df['xKVEW']?getOpencodeConfigDir(_0x4d73df(0x16c))+_0x4d73df(0x18d):_0x3c89df[_0x4d73df(0x184)](getClaudeConfigDir)+_0x4d73df(0x18d),_0x1df843=_0x3c89df['DVcrn'](_0x519b5b,_0x4d73df(0x174))?_0x1f1d76+_0x4d73df(0x178):_0x1f1d76+_0x4d73df(0x19e),_0x43b8d0=process[_0x4d73df(0x183)]['isTTY']&&process[_0x4d73df(0x177)]['isTTY'];let _0x18b551;if(_0x3f656e['autoInstall'])_0x18b551=_0x3f656e[_0x4d73df(0x195)];else{if(_0x43b8d0){const _0x56a135=await _0x1bc068[_0x4d73df(0x19c)]([{'type':_0x3c89df['ooSgo'],'name':_0x3c89df['lvFwb'],'message':_0x3c89df[_0x4d73df(0x16d)],'choices':[{'name':_0x4d73df(0x168)+_0x49573f+')','value':_0x4d73df(0x16c)},{'name':'This\x20project\x20only\x20('+_0x1df843+')','value':_0x3c89df[_0x4d73df(0x17c)]}]}]);_0x18b551=_0x56a135[_0x4d73df(0x169)];}else _0x18b551=_0x3c89df[_0x4d73df(0x17c)],console['log'](_0x4d73df(0x176)+_0x1df843+')');}let _0xbebb6a=0x0;const _0x123ada=_0x3c89df[_0x4d73df(0x188)](getCurrentVersion);console['log'](_0x3c89df[_0x4d73df(0x17d)]);try{const _0x43901a=await _0x3c89df[_0x4d73df(0x175)](installSkill,_0x3c89df['EdFgw'],{'cliVersion':_0x123ada,'level':_0x18b551,'platform':_0x519b5b});_0x43901a&&_0xbebb6a++;}catch(_0x4fe501){console['warn'](_0x4d73df(0x198),_0x4fe501 instanceof Error?_0x4fe501['message']:_0x4fe501);}if(_0xbebb6a>0x0){const _0xff202e=_0x18b551===_0x4d73df(0x16c)?_0x4d73df(0x194):_0x3c89df[_0x4d73df(0x16f)];console[_0x4d73df(0x196)]('\x0a✅\x20Installed\x20'+_0xbebb6a+'\x20'+_0xff202e+_0x4d73df(0x18b)+(_0xbebb6a>0x1?'s':'')+_0x4d73df(0x187)),!_0x3f656e['suppressUsage']&&(console[_0x4d73df(0x196)](_0x4d73df(0x16e)),_0x3c89df[_0x4d73df(0x18c)](_0x519b5b,_0x4d73df(0x174))?console[_0x4d73df(0x196)]('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console['log'](_0x4d73df(0x173)));}else console['log'](_0x4d73df(0x17b));}
1
+ function _0x19e7(_0x204009,_0xce71fb){_0x204009=_0x204009-0x109;const _0x8a6812=_0x8a68();let _0x19e746=_0x8a6812[_0x204009];return _0x19e746;}(function(_0x29431a,_0x44066d){const _0x874951=_0x19e7,_0x346d40=_0x29431a();while(!![]){try{const _0x47b7e5=-parseInt(_0x874951(0x126))/0x1*(parseInt(_0x874951(0x115))/0x2)+-parseInt(_0x874951(0x12e))/0x3+parseInt(_0x874951(0x113))/0x4+parseInt(_0x874951(0x12b))/0x5*(-parseInt(_0x874951(0x12f))/0x6)+parseInt(_0x874951(0x131))/0x7+parseInt(_0x874951(0x12c))/0x8+parseInt(_0x874951(0x10a))/0x9;if(_0x47b7e5===_0x44066d)break;else _0x346d40['push'](_0x346d40['shift']());}catch(_0x2c1006){_0x346d40['push'](_0x346d40['shift']());}}}(_0x8a68,0x56f32));import{basename}from'path';import _0x3884f9 from'inquirer';function _0x8a68(){const _0x5e6e12=['\x20successfully!\x0a','list','suppressUsage','opencode','tyOCb','project-level','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','meLgs','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','307383smgPRm','autoInstall','MAddu','installLevel','/.opencode/skills/','1505kDOJWf','2975984wqtEJc','log','1696437zmoKpA','8634KFGnoc','Where\x20should\x20skills\x20be\x20installed?','2142987FWWndl','project','\x0a📦\x20Installing\x20skills...\x0a','/skills/','4976217kLdKmH','\x20\x202.\x20Run:\x20ranger\x20setup','user','CmcBK','user-level','glDcF','\x20<your-api-token>','To\x20use:','All\x20projects\x20(','1724380oVAtOT','message','2pDnAXN','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','kQRyt','IcixM','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','vAuVT','\x20\x203.\x20Run:\x20ranger\x20skillup'];_0x8a68=function(){return _0x5e6e12;};return _0x8a68();}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(_0x5e4833={}){const _0x1a188e=_0x19e7,_0x531037={'qNbYy':'claude','CmcBK':_0x1a188e(0x117),'vAuVT':'opencode','meLgs':'\x20--opencode','tyOCb':'✓\x20Found\x20API\x20token','IcixM':function(_0x2a4110,_0x8e8324){return _0x2a4110(_0x8e8324);},'oLuhP':_0x1a188e(0x11e),'gLvye':_0x1a188e(0x10c),'NMdzr':_0x1a188e(0x132),'aRrdx':function(_0x3f3c90){return _0x3f3c90();},'AUgZP':_0x1a188e(0x133),'MAddu':'ranger','glDcF':function(_0x40f2ea,_0x57573f){return _0x40f2ea instanceof _0x57573f;},'kQRyt':_0x1a188e(0x10e),'NdiVi':_0x1a188e(0x122),'snLVn':function(_0x739e0e,_0x295eaf){return _0x739e0e>_0x295eaf;},'Figtt':_0x1a188e(0x111),'cKISK':function(_0x888ee6,_0x1aba0d){return _0x888ee6===_0x1aba0d;}};console[_0x1a188e(0x12d)](_0x1a188e(0x116));const _0x16d287=_0x5e4833['platform']??_0x531037['qNbYy'],_0x2c5871=await getToken();if(!_0x2c5871){console[_0x1a188e(0x12d)]('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a'),console[_0x1a188e(0x12d)]('To\x20get\x20started:'),console['log'](_0x531037[_0x1a188e(0x10d)]),console['log'](_0x1a188e(0x10b)+(_0x16d287===_0x531037['vAuVT']?_0x531037[_0x1a188e(0x124)]:'')+_0x1a188e(0x110)),console['log'](_0x1a188e(0x11c)+(_0x16d287===_0x1a188e(0x120)?_0x531037[_0x1a188e(0x124)]:'')+'\x0a');return;}console[_0x1a188e(0x12d)](_0x531037[_0x1a188e(0x121)]);const _0x3d7195=getProjectRoot(),_0xef9c75=basename(_0x3d7195),_0x1cbb33=_0x16d287===_0x1a188e(0x120)?_0x531037[_0x1a188e(0x119)](getOpencodeConfigDir,'user')+_0x1a188e(0x109):getClaudeConfigDir()+_0x1a188e(0x109),_0x523d50=_0x16d287===_0x531037[_0x1a188e(0x11b)]?_0x3d7195+_0x1a188e(0x12a):_0x3d7195+'/.claude/skills/',_0x3f1c12=process['stdin']['isTTY']&&process['stdout']['isTTY'];let _0x4eb9d5;if(_0x5e4833['autoInstall'])_0x4eb9d5=_0x5e4833[_0x1a188e(0x127)];else{if(_0x3f1c12){const _0x56a5af=await _0x3884f9['prompt']([{'type':_0x531037['oLuhP'],'name':'installLevel','message':_0x1a188e(0x130),'choices':[{'name':_0x1a188e(0x112)+_0x1cbb33+')','value':_0x531037['gLvye']},{'name':'This\x20project\x20only\x20('+_0x523d50+')','value':_0x531037['NMdzr']}]}]);_0x4eb9d5=_0x56a5af[_0x1a188e(0x129)];}else _0x4eb9d5='project',console[_0x1a188e(0x12d)](_0x1a188e(0x123)+_0x523d50+')');}let _0x8ae22a=0x0;const _0x108c3e=_0x531037['aRrdx'](getCurrentVersion);console['log'](_0x531037['AUgZP']);try{const _0x473c4a=await installSkill(_0x531037[_0x1a188e(0x128)],{'cliVersion':_0x108c3e,'level':_0x4eb9d5,'platform':_0x16d287});_0x473c4a&&_0x8ae22a++;}catch(_0x36c92a){console['warn']('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x531037[_0x1a188e(0x10f)](_0x36c92a,Error)?_0x36c92a[_0x1a188e(0x114)]:_0x36c92a);}if(_0x8ae22a>0x0){const _0x4f0a52=_0x4eb9d5==='user'?_0x531037[_0x1a188e(0x118)]:_0x531037['NdiVi'];console[_0x1a188e(0x12d)]('\x0a✅\x20Installed\x20'+_0x8ae22a+'\x20'+_0x4f0a52+'\x20skill'+(_0x531037['snLVn'](_0x8ae22a,0x1)?'s':'')+_0x1a188e(0x11d)),!_0x5e4833[_0x1a188e(0x11f)]&&(console['log'](_0x531037['Figtt']),_0x531037['cKISK'](_0x16d287,_0x531037[_0x1a188e(0x11b)])?console['log'](_0x1a188e(0x125)):console[_0x1a188e(0x12d)]('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console[_0x1a188e(0x12d)](_0x1a188e(0x11a));}
@@ -1 +1 @@
1
- const _0x234b51=_0x5494;(function(_0x22b581,_0x25ff83){const _0x400124=_0x5494,_0x5f1fef=_0x22b581();while(!![]){try{const _0xeb5ddf=parseInt(_0x400124(0x214))/0x1+-parseInt(_0x400124(0x1f7))/0x2*(parseInt(_0x400124(0x1e2))/0x3)+-parseInt(_0x400124(0x212))/0x4+-parseInt(_0x400124(0x204))/0x5+-parseInt(_0x400124(0x1f1))/0x6+parseInt(_0x400124(0x22c))/0x7+parseInt(_0x400124(0x224))/0x8*(parseInt(_0x400124(0x21d))/0x9);if(_0xeb5ddf===_0x25ff83)break;else _0x5f1fef['push'](_0x5f1fef['shift']());}catch(_0x382577){_0x5f1fef['push'](_0x5f1fef['shift']());}}}(_0x424f,0x277e1));function _0x424f(){const _0x1eab35=['wnCfT','skipped','message','device_auth','\x20\x20npx\x20playwright@','inherit','.gitignore','\x0aIn\x20Claude\x20Code,\x20run\x20','win32','294590HHQoIp','isTTY','allowInsecureLocalhost','ignore','✓\x20Created\x20~/.ranger/\x20directory','plugin','/ranger:enable','knvnN','scope','skipAuth','GbQMO','GITHUB_ENV','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','log','1026860MJoIzT','platform','29529coryyO','✓\x20Skipping\x20authentication\x20(--skip-auth)','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','✓\x20Authenticated\x20to\x20','url','pcrXr','\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','\x20(fallback\x20version)','method','6884244ZjdVut','opencode','skipChromium','profile','success','npx','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','8pTTtkj','Gcvpy','skills','\x20now?','DBxPq','CkBrr','qVTNM','user','1770006ZKMEPO','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','\x0a\x20\x20','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','wGxzy','✓\x20Playwright\x20Chromium\x20browser\x20found','trackPhaseEnd','asATg','1.58.2','stdin','force','auth','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','\x0a❌\x20Profile\x20setup\x20failed:','ranger\x20profile\x20add\x20<name>','cneyS','MWmtC','6zDnFWO','✓\x20Already\x20authenticated\x20to\x20','dovjL','✓\x20Exported\x20credentials\x20for\x20CI','trackPhaseStart','\x20is\x20no\x20longer\x20supported.\x20','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','\x1b[0m','hlQOj','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','error','ZJCiq','PNmZV','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','xOBCO','1531962GErpcO','wDmYi','warn','Validating\x20API\x20token...','HBuqg','nmmAq','314582seUhXi','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','organizationName','oyNnh'];_0x424f=function(){return _0x1eab35;};return _0x424f();}import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x4f2615 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';function _0x5494(_0x14a094,_0x550eaf){_0x14a094=_0x14a094-0x1df;const _0x424fd6=_0x424f();let _0x549425=_0x424fd6[_0x14a094];return _0x549425;}const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x234b51(0x234);const bold=_0x3f6d08=>'\x1b[1m'+_0x3f6d08+_0x234b51(0x1e9);export function getPlaywrightVersion(){try{const _0x36ec14=require['resolve']('playwright/package.json'),_0x11210a=require(_0x36ec14);return _0x11210a['version'];}catch{return null;}}export function installChromiumBinary(_0x4b0df,_0x32b170=![]){const _0x107585=_0x234b51,_0x2ac1b8={'asATg':function(_0x23b166){return _0x23b166();},'nPqId':function(_0x4f6741,_0x4096fd){return _0x4f6741(_0x4096fd);},'nmmAq':'install','xOBCO':'chromium','uqYSd':_0x107585(0x222),'DVIRx':_0x107585(0x207),'OELtf':_0x107585(0x200),'olIcz':function(_0x7337fa,_0x25a227){return _0x7337fa===_0x25a227;},'PNmZV':_0x107585(0x203),'yqMpn':'close','wnCfT':_0x107585(0x1ec)};return new Promise((_0x3114ca,_0xb8082d)=>{const _0x51b34f=_0x107585,_0x4efa41=['playwright@'+_0x4b0df,_0x2ac1b8[_0x51b34f(0x1f6)],..._0x32b170?['--with-deps']:[],_0x2ac1b8[_0x51b34f(0x1f0)]],_0x39f468=spawn(_0x2ac1b8['uqYSd'],_0x4efa41,{'stdio':[_0x2ac1b8['DVIRx'],_0x2ac1b8['OELtf'],_0x51b34f(0x200)],'shell':_0x2ac1b8['olIcz'](process[_0x51b34f(0x213)],_0x2ac1b8[_0x51b34f(0x1ee)])});_0x39f468['on'](_0x2ac1b8['yqMpn'],_0x49a024=>{const _0x27555e=_0x51b34f;_0x49a024===0x0?_0x2ac1b8[_0x27555e(0x233)](_0x3114ca):_0x2ac1b8['nPqId'](_0xb8082d,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x49a024));}),_0x39f468['on'](_0x2ac1b8[_0x51b34f(0x1fb)],_0x2ce2d1=>{_0xb8082d(_0x2ce2d1);});});}export async function authenticate(_0x84a82a){const _0x41c0cd=_0x234b51,_0x39176d={'FTeka':function(_0x4ea1f7){return _0x4ea1f7();},'LJAjH':function(_0x5e58b4,_0x52cb90){return _0x5e58b4 instanceof _0x52cb90;},'nVCzk':function(_0x4e50f6,_0x3bd41f){return _0x4e50f6(_0x3bd41f);},'lWlvK':_0x41c0cd(0x1fe),'HBuqg':function(_0x4a75f0,_0x3e8e3f){return _0x4a75f0(_0x3e8e3f);},'hlQOj':'✓\x20Stored\x20credentials\x20locally','piAVY':'provided_token'};if(!_0x84a82a){const _0x29b983=await getToken();if(_0x29b983){const _0x2451ea=await getCurrentUser(_0x29b983);if(_0x2451ea[_0x41c0cd(0x221)])return console['log'](_0x41c0cd(0x1e3)+_0x2451ea[_0x41c0cd(0x22b)][_0x41c0cd(0x1f9)]),{'token':_0x29b983,'method':'existing_token'};}try{_0x84a82a=await _0x39176d['FTeka'](runDeviceAuthFlow);}catch(_0x54be8f){throw new Error('Authentication\x20failed:\x20'+(_0x39176d['LJAjH'](_0x54be8f,Error)?_0x54be8f[_0x41c0cd(0x1fd)]:_0x54be8f));}const _0x2b3973=await _0x39176d['nVCzk'](getCurrentUser,_0x84a82a);if(!_0x2b3973[_0x41c0cd(0x221)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x2b3973['error']);return console['log'](_0x41c0cd(0x217)+_0x2b3973['user'][_0x41c0cd(0x1f9)]),{'token':_0x84a82a,'method':_0x39176d['lWlvK']};}console['log'](_0x41c0cd(0x1f4));const _0x5b24da=await _0x39176d['nVCzk'](getCurrentUser,_0x84a82a);if(!_0x5b24da[_0x41c0cd(0x221)]){if(_0x5b24da['status'])throw new Error('Authentication\x20failed:\x20'+_0x5b24da['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x5b24da[_0x41c0cd(0x1ec)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x41c0cd(0x217)+_0x5b24da['user']['organizationName']),await _0x39176d[_0x41c0cd(0x1f5)](storeToken,_0x84a82a),console[_0x41c0cd(0x211)](process['env'][_0x41c0cd(0x20f)]?_0x41c0cd(0x1e5):_0x39176d[_0x41c0cd(0x1ea)]),{'token':_0x84a82a,'method':_0x39176d['piAVY']};}export async function ensureRangerDir(_0x46c8e3){const _0x5052d9=_0x234b51,_0x87898e={'ZJCiq':function(_0xc1a86e){return _0xc1a86e();},'AQwSO':function(_0x31e627,_0x108703,_0x1a813c){return _0x31e627(_0x108703,_0x1a813c);},'DBxPq':_0x5052d9(0x208)};void _0x46c8e3;const _0x3cf183=_0x87898e[_0x5052d9(0x1ed)](getRangerHomeDir);return!existsSync(_0x3cf183)?(await _0x87898e['AQwSO'](mkdir,_0x3cf183,{'recursive':!![]}),console['log'](_0x87898e[_0x5052d9(0x228)]),{'path':_0x3cf183,'installed':!![]}):(console[_0x5052d9(0x211)]('✓\x20~/.ranger/\x20directory\x20already\x20exists'),{'path':_0x3cf183,'installed':![]});}export async function ensureChromium(_0x14dd92=![]){const _0x1a2935=_0x234b51,_0x5cfd15={'oyNnh':function(_0x4f324a,_0x2b09df){return _0x4f324a(_0x2b09df);},'LtdRb':_0x1a2935(0x231),'LfQdZ':function(_0x2efcf7){return _0x2efcf7();},'dBKyg':'confirm','cneyS':'install','knvnN':'\x0aInstalling\x20Chromium\x20browser...\x0a','IoLyC':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','QYyHa':function(_0x4b9ce1,_0x365b39){return _0x4b9ce1 instanceof _0x365b39;},'WCHab':'You\x20can\x20install\x20it\x20manually\x20by\x20running:','qtmmz':_0x1a2935(0x22d)};let _0x1a884f=![];try{const _0x29b940=chromium['executablePath']();_0x1a884f=_0x5cfd15[_0x1a2935(0x1fa)](existsSync,_0x29b940);}catch{_0x1a884f=![];}if(_0x1a884f)return console['log'](_0x5cfd15['LtdRb']),![];const _0x256186=_0x5cfd15['LfQdZ'](getPlaywrightVersion),_0x5cfe40=_0x256186??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x1b3462=!_0x256186,_0x152db2=process[_0x1a2935(0x235)][_0x1a2935(0x205)]&&process['stdout'][_0x1a2935(0x205)];let _0xed74aa=!![];if(_0x152db2){const {install:_0x4d56d3}=await _0x4f2615['prompt']([{'type':_0x5cfd15['dBKyg'],'name':_0x5cfd15[_0x1a2935(0x1e0)],'message':_0x1b3462?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x5cfe40+_0x1a2935(0x227):'The\x20required\x20version\x20('+_0x5cfe40+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0xed74aa=_0x4d56d3;}else console[_0x1a2935(0x211)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x5cfe40+(_0x1b3462?_0x1a2935(0x21b):'')+'...');if(_0xed74aa){console[_0x1a2935(0x211)](_0x5cfd15[_0x1a2935(0x20b)]);try{await installChromiumBinary(_0x5cfe40,_0x14dd92),console['log'](_0x5cfd15['IoLyC']);}catch(_0x4a03b8){console['error']('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x5cfd15['QYyHa'](_0x4a03b8,Error)?_0x4a03b8[_0x1a2935(0x1fd)]:_0x4a03b8),console[_0x1a2935(0x211)](_0x5cfd15['WCHab']),console['log']('\x20\x20npx\x20playwright@'+_0x5cfe40+'\x20install\x20chromium');}}else console[_0x1a2935(0x211)]('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console['log'](_0x5cfd15['qtmmz']),console[_0x1a2935(0x211)](_0x1a2935(0x1ff)+_0x5cfe40+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0xa52130){const _0x5eb7dd=_0x234b51,_0x4f7b92={'oJuVE':_0x5eb7dd(0x201)},_0x2ef441=join(_0xa52130,_0x4f7b92['oJuVE']),_0x5e2870=_0x5eb7dd(0x21a);await writeFile(_0x2ef441,_0x5e2870),console['log']('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x1fdb67,_0xe6f23d){const _0xbd271b=_0x234b51,_0x2dd426={'GbQMO':'user','CkBrr':function(_0x3f402b,_0x8573a2,_0x5d5c61){return _0x3f402b(_0x8573a2,_0x5d5c61);},'jiNGD':'local'};if(!findGitRoot()&&_0x1fdb67?.['scope']!=='user')return console['log'](_0xbd271b(0x22f)),{'ready':![],'skipped':!![]};const _0x5977bc=_0x1fdb67?.['scope']===_0x2dd426[_0xbd271b(0x20e)]?getRangerHomeDir():undefined;if(_0x2dd426[_0xbd271b(0x229)](findExistingEnv,_0x2dd426['jiNGD'],{'locations':[_0x2dd426['jiNGD']],'rangerDir':_0x5977bc}))return console[_0xbd271b(0x211)]('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await addEnv(_0x2dd426['jiNGD'],{'url':_0x1fdb67?.['url'],'force':_0x1fdb67?.['force'],'allowInsecureLocalhost':_0x1fdb67?.['allowInsecureLocalhost'],'scope':_0x1fdb67?.['scope']},_0xe6f23d),{'ready':!![],'skipped':![]};}catch(_0x18f75c){return console[_0xbd271b(0x1ec)](_0xbd271b(0x239),_0x18f75c instanceof Error?_0x18f75c['message']:_0x18f75c),{'ready':![],'skipped':![]};}}export async function start(_0x8eecc3,_0x182f48,_0x1f9eb7){const _0x5834ef=_0x234b51,_0xb5f357={'dovjL':function(_0x76b0af,_0x305c9e){return _0x76b0af+_0x305c9e;},'hzkEV':_0x5834ef(0x22b),'POdhX':function(_0x892829,_0x412d70){return _0x892829(_0x412d70);},'dKivV':function(_0x2d41e1){return _0x2d41e1();},'pcrXr':function(_0x4d1881,_0x58d612){return _0x4d1881(_0x58d612);},'KqEEG':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','TGjzx':_0x5834ef(0x209),'qVTNM':function(_0x40fa8c,_0xb843a8){return _0x40fa8c(_0xb843a8);},'MWmtC':function(_0x2a02ec,_0xe4ac4c){return _0x2a02ec&&_0xe4ac4c;},'CeYFq':function(_0x134f18,_0x158dfe,_0x171b48){return _0x134f18(_0x158dfe,_0x171b48);},'pkRIQ':_0x5834ef(0x21e),'tDzlp':'skills','Novyj':_0x5834ef(0x220),'wGxzy':function(_0x5c4183,_0x145b7b,_0x29a70d){return _0x5c4183(_0x145b7b,_0x29a70d);},'Gcvpy':_0x5834ef(0x210),'PlQDF':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','wDmYi':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','tTDoS':function(_0x4d4520,_0x3efc8f){return _0x4d4520(_0x3efc8f);},'gRSyY':function(_0x2b11fe,_0x6a9f95){return _0x2b11fe+_0x6a9f95;}};console['log']('\x0a🚀\x20Ranger\x20Setup\x0a');_0x182f48?.[_0x5834ef(0x20c)]!==undefined&&_0x182f48[_0x5834ef(0x20c)]!=='user'&&(console[_0x5834ef(0x1ec)](_0xb5f357['dovjL']('ranger\x20setup\x20--scope='+String(_0x182f48[_0x5834ef(0x20c)])+_0x5834ef(0x1e7)+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.')),process['exit'](0x1));_0x182f48={..._0x182f48,'scope':_0xb5f357['hzkEV']};const _0x1f0af9=!_0xb5f357['POdhX'](existsSync,_0xb5f357['dKivV'](getRangerHomeDir));await _0xb5f357[_0x5834ef(0x219)](ensureRangerDir,'user');if(_0x182f48?.['skipAuth'])console[_0x5834ef(0x211)](_0x5834ef(0x215)),_0x1f9eb7?.['trackPhaseEnd']('auth',{'isFirstRun':_0x1f0af9,'method':_0x5834ef(0x1fc)});else{_0x1f9eb7?.['trackPhaseStart']('auth');const _0x5de542=await authenticate(_0x8eecc3);_0x1f9eb7?.['trackPhaseEnd'](_0x5834ef(0x237),{'isFirstRun':_0x1f0af9,'method':_0x5de542[_0x5834ef(0x21c)]});}_0x1f9eb7?.['trackPhaseStart']('chromium');_0x182f48?.[_0x5834ef(0x21f)]?console['log'](_0xb5f357['KqEEG']):await ensureChromium(_0x182f48?.['withDeps']);_0x1f9eb7?.[_0x5834ef(0x232)]('chromium',{'isFirstRun':_0x1f0af9,'skipped':!!_0x182f48?.[_0x5834ef(0x21f)]}),console[_0x5834ef(0x211)](_0x5834ef(0x1e8));const _0x332ba8=_0x182f48?.[_0x5834ef(0x20c)],_0x124dd4=_0x182f48?.['opencode']??![];let _0x34c055=null;_0x124dd4?(_0x1f9eb7?.['trackPhaseStart'](_0xb5f357['TGjzx']),_0x34c055=await _0xb5f357[_0x5834ef(0x22a)](ensureOpencodePluginConfig,_0x332ba8),_0x1f9eb7?.['trackPhaseEnd'](_0x5834ef(0x209),{'isFirstRun':_0x1f0af9,'opencode':!![]})):(_0x1f9eb7?.['trackPhaseStart']('plugin'),await ensureClaudePlugin(_0x332ba8),_0x1f9eb7?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x1f0af9}));if(_0xb5f357[_0x5834ef(0x1e1)](_0x124dd4,_0x34c055)){_0x1f9eb7?.['trackPhaseStart'](_0x5834ef(0x226));try{await _0xb5f357['CeYFq'](installSkill,'ranger',{'level':_0x34c055[_0x5834ef(0x20c)],'cliVersion':_0xb5f357['dKivV'](getCurrentVersion),'platform':_0xb5f357['pkRIQ']}),_0x1f9eb7?.['trackPhaseEnd'](_0xb5f357['tDzlp'],{'isFirstRun':_0x1f0af9,'opencode':!![]});}catch(_0x3b4cb9){console[_0x5834ef(0x1f3)]('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x3b4cb9 instanceof Error?_0x3b4cb9['message']:_0x3b4cb9),_0x1f9eb7?.['trackPhaseEnd']('skills',{'isFirstRun':_0x1f0af9,'opencode':!![],'failed':!![]});}}else _0x1f9eb7?.[_0x5834ef(0x1e6)]('skills'),await ensureClaudeSkills(_0x332ba8),_0x1f9eb7?.['trackPhaseEnd'](_0xb5f357['tDzlp'],{'isFirstRun':_0x1f0af9});if(_0x182f48?.[_0x5834ef(0x20d)])console['log'](_0x5834ef(0x238));else{if(_0x182f48?.['url']){_0x1f9eb7?.[_0x5834ef(0x1e6)](_0xb5f357['Novyj']);const _0xfd9745=await _0xb5f357[_0x5834ef(0x230)](ensureLocalEnv,{'url':_0x182f48[_0x5834ef(0x218)],'force':_0x182f48?.[_0x5834ef(0x236)],'allowInsecureLocalhost':_0x182f48?.[_0x5834ef(0x206)],'scope':'user'},_0x1f9eb7);_0x1f9eb7?.['trackPhaseEnd'](_0xb5f357['Novyj'],{'isFirstRun':_0x1f0af9,'profileReady':_0xfd9745['ready'],'userSkipped':_0xfd9745[_0x5834ef(0x1fc)]});}else console[_0x5834ef(0x211)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+(_0x5834ef(0x22e)+bold(_0x5834ef(0x1df)))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'+_0x5834ef(0x223)+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0x124dd4)console['log'](_0x5834ef(0x1f8)),console[_0x5834ef(0x211)](_0xb5f357[_0x5834ef(0x225)]),console[_0x5834ef(0x211)](_0xb5f357['PlQDF']),console['log'](_0xb5f357[_0x5834ef(0x1f2)]);else{const _0x2acccb=_0xb5f357['tTDoS'](bold,_0x5834ef(0x20a));console['log'](_0xb5f357['gRSyY'](_0xb5f357[_0x5834ef(0x1e4)](_0x5834ef(0x202)+_0x2acccb+'\x20and\x20prompt\x20the\x20coding',_0x5834ef(0x216)),_0x5834ef(0x1eb))+_0x5834ef(0x1ef));}}
1
+ const _0x504bd3=_0x4316;(function(_0x3850cf,_0x2a2ef1){const _0x35513d=_0x4316,_0x3adb83=_0x3850cf();while(!![]){try{const _0x55a702=parseInt(_0x35513d(0x18d))/0x1*(parseInt(_0x35513d(0x180))/0x2)+parseInt(_0x35513d(0x145))/0x3*(parseInt(_0x35513d(0x16b))/0x4)+parseInt(_0x35513d(0x16e))/0x5*(parseInt(_0x35513d(0x153))/0x6)+-parseInt(_0x35513d(0x15d))/0x7*(parseInt(_0x35513d(0x171))/0x8)+-parseInt(_0x35513d(0x168))/0x9+-parseInt(_0x35513d(0x134))/0xa*(-parseInt(_0x35513d(0x18f))/0xb)+-parseInt(_0x35513d(0x173))/0xc;if(_0x55a702===_0x2a2ef1)break;else _0x3adb83['push'](_0x3adb83['shift']());}catch(_0x34e241){_0x3adb83['push'](_0x3adb83['shift']());}}}(_0x3e5f,0xa5cdd));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x287115 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';function _0x3e5f(){const _0x240d30=['vuuqq','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','136789OOabNx','--with-deps','22WircgR','sQjxi','error','resolve','\x0aIn\x20Claude\x20Code,\x20run\x20','GITHUB_ENV','✓\x20Authenticated\x20to\x20','win32','executablePath','tsZhv','xlIAt','\x20and\x20prompt\x20the\x20coding','trackPhaseStart','version','651310mGSqmR','cvEXm','✓\x20Created\x20~/.ranger/\x20directory','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x20install\x20chromium','plugin','auth','WzKDb','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','force','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','CDKXg','user','\x0a🚀\x20Ranger\x20Setup\x0a','CbWFf','✓\x20~/.ranger/\x20directory\x20already\x20exists','inherit','65829pLYybC','log','UgoLW','gixkg','FVnPk','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','hCTxu','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','QufnT','wSZNW','install','PkhsU','organizationName','platform','4074QaSTbZ','✓\x20Skipping\x20authentication\x20(--skip-auth)','ctSMA','hYtsj','confirm','1.58.2','\x0a\x20\x20','You\x20can\x20install\x20it\x20manually\x20by\x20running:','XUVzm','scope','8491sAYGZe','MgZuz','chromium','.gitignore','url','CveCZ','npx','skipped','Installation\x20failed\x20with\x20exit\x20code\x20','\x20(fallback\x20version)','status','11038203MDpkBf','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','ready','244HzpUip','EmhCx','local','6535oAczkG','pIhkV','method','7488yTsxoZ','TgIOB','1632048KgvePP','skipAuth','provided_token','\x20now?','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','paoys','BgtyW','xBMrm','The\x20required\x20version\x20(','message','trackPhaseEnd','fBwYt','\x20\x20npx\x20playwright@','12PbVsli','opencode','withDeps','ignore','Lglfj','device_auth','ranger\x20profile\x20add\x20<name>','✓\x20Already\x20authenticated\x20to\x20','existing_token','PTEXW','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'];_0x3e5f=function(){return _0x240d30;};return _0x3e5f();}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 _0x4316(_0x86195e,_0x532786){_0x86195e=_0x86195e-0x131;const _0x3e5fc3=_0x3e5f();let _0x4316f2=_0x3e5fc3[_0x86195e];return _0x4316f2;}import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x504bd3(0x158);const bold=_0x1e5a46=>'\x1b[1m'+_0x1e5a46+'\x1b[0m';export function getPlaywrightVersion(){const _0x2fa8bf=_0x504bd3,_0x5ee932={'XUVzm':function(_0x394536,_0x4b9761){return _0x394536(_0x4b9761);}};try{const _0x2ecd15=require[_0x2fa8bf(0x192)]('playwright/package.json'),_0x59b876=_0x5ee932[_0x2fa8bf(0x15b)](require,_0x2ecd15);return _0x59b876[_0x2fa8bf(0x133)];}catch{return null;}}export function installChromiumBinary(_0x4838a0,_0x551463=![]){const _0x28bd68=_0x504bd3,_0x1106a4={'UgoLW':function(_0x940cb0,_0xfbce7){return _0x940cb0===_0xfbce7;},'PkhsU':function(_0xe8ea53){return _0xe8ea53();},'WzKDb':function(_0x9c023a,_0x45bf93){return _0x9c023a(_0x45bf93);},'CbWFf':_0x28bd68(0x14f),'BkLLS':_0x28bd68(0x18e),'MgZuz':_0x28bd68(0x15f),'CveCZ':function(_0x18225b,_0x17e9ba,_0x550a23,_0x46bd93){return _0x18225b(_0x17e9ba,_0x550a23,_0x46bd93);},'wSZNW':_0x28bd68(0x183),'CDKXg':_0x28bd68(0x144),'BgtyW':_0x28bd68(0x196)};return new Promise((_0x5d207d,_0x54b5a0)=>{const _0xa93f0e=_0x28bd68,_0xe7e4d3=['playwright@'+_0x4838a0,_0x1106a4[_0xa93f0e(0x142)],..._0x551463?[_0x1106a4['BkLLS']]:[],_0x1106a4[_0xa93f0e(0x15e)]],_0x1134aa=_0x1106a4[_0xa93f0e(0x162)](spawn,_0xa93f0e(0x163),_0xe7e4d3,{'stdio':[_0x1106a4[_0xa93f0e(0x14e)],_0x1106a4[_0xa93f0e(0x13f)],_0x1106a4['CDKXg']],'shell':process[_0xa93f0e(0x152)]===_0x1106a4[_0xa93f0e(0x179)]});_0x1134aa['on']('close',_0x40d4c0=>{const _0x183f7c=_0xa93f0e;_0x1106a4[_0x183f7c(0x147)](_0x40d4c0,0x0)?_0x1106a4[_0x183f7c(0x150)](_0x5d207d):_0x1106a4[_0x183f7c(0x13b)](_0x54b5a0,new Error(_0x183f7c(0x165)+_0x40d4c0));}),_0x1134aa['on']('error',_0x4d9695=>{_0x54b5a0(_0x4d9695);});});}export async function authenticate(_0x2e84a4){const _0x148273=_0x504bd3,_0x1b191e={'PtPWI':function(_0x4985c8){return _0x4985c8();},'xlIAt':function(_0x12151f,_0x189610){return _0x12151f instanceof _0x189610;},'SmaIk':function(_0x1cc231,_0x5e93c9){return _0x1cc231(_0x5e93c9);},'UfHvQ':function(_0x42793c,_0x169d38){return _0x42793c(_0x169d38);},'cDrVE':'✓\x20Stored\x20credentials\x20locally'};if(!_0x2e84a4){const _0x5b6dc0=await getToken();if(_0x5b6dc0){const _0x2ddd9b=await getCurrentUser(_0x5b6dc0);if(_0x2ddd9b['success'])return console['log'](_0x148273(0x187)+_0x2ddd9b[_0x148273(0x140)]['organizationName']),{'token':_0x5b6dc0,'method':_0x148273(0x188)};}try{_0x2e84a4=await _0x1b191e['PtPWI'](runDeviceAuthFlow);}catch(_0x2ec33d){throw new Error('Authentication\x20failed:\x20'+(_0x1b191e[_0x148273(0x199)](_0x2ec33d,Error)?_0x2ec33d['message']:_0x2ec33d));}const _0x5c8d3f=await getCurrentUser(_0x2e84a4);if(!_0x5c8d3f['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x5c8d3f[_0x148273(0x191)]);return console[_0x148273(0x146)]('✓\x20Authenticated\x20to\x20'+_0x5c8d3f['user'][_0x148273(0x151)]),{'token':_0x2e84a4,'method':_0x148273(0x185)};}console[_0x148273(0x146)]('Validating\x20API\x20token...');const _0x17c3b4=await _0x1b191e['SmaIk'](getCurrentUser,_0x2e84a4);if(!_0x17c3b4['success']){if(_0x17c3b4[_0x148273(0x167)])throw new Error('Authentication\x20failed:\x20'+_0x17c3b4['error']+_0x148273(0x13c));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x17c3b4['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x148273(0x195)+_0x17c3b4[_0x148273(0x140)][_0x148273(0x151)]),await _0x1b191e['UfHvQ'](storeToken,_0x2e84a4),console['log'](process['env'][_0x148273(0x194)]?'✓\x20Exported\x20credentials\x20for\x20CI':_0x1b191e['cDrVE']),{'token':_0x2e84a4,'method':_0x148273(0x175)};}export async function ensureRangerDir(_0x1f15f5){const _0x38d273=_0x504bd3,_0xbf6dec={'xjWWU':function(_0x5c4fbc,_0x168f0d,_0x41374a){return _0x5c4fbc(_0x168f0d,_0x41374a);},'oCKbN':_0x38d273(0x143)};void _0x1f15f5;const _0x1127d7=getRangerHomeDir();return!existsSync(_0x1127d7)?(await _0xbf6dec['xjWWU'](mkdir,_0x1127d7,{'recursive':!![]}),console['log'](_0x38d273(0x136)),{'path':_0x1127d7,'installed':!![]}):(console[_0x38d273(0x146)](_0xbf6dec['oCKbN']),{'path':_0x1127d7,'installed':![]});}export async function ensureChromium(_0x21b608=![]){const _0x9c0aff=_0x504bd3,_0x30701d={'aHXjj':function(_0x9e0ae,_0x4310fb){return _0x9e0ae(_0x4310fb);},'vuuqq':'✓\x20Playwright\x20Chromium\x20browser\x20found','hYtsj':_0x9c0aff(0x157),'cvEXm':_0x9c0aff(0x14f),'cfiOj':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','lPltR':function(_0x3dc566,_0x14bb53){return _0x3dc566 instanceof _0x14bb53;},'PTEXW':'\x0a⚠\x20Skipping\x20Chromium\x20installation.','siXOW':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x5d83f1=![];try{const _0x9ec04b=chromium[_0x9c0aff(0x197)]();_0x5d83f1=_0x30701d['aHXjj'](existsSync,_0x9ec04b);}catch{_0x5d83f1=![];}if(_0x5d83f1)return console[_0x9c0aff(0x146)](_0x30701d[_0x9c0aff(0x18b)]),![];const _0x26dd5e=getPlaywrightVersion(),_0x2f2788=_0x26dd5e??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x2d9c18=!_0x26dd5e,_0x4e82df=process['stdin']['isTTY']&&process['stdout']['isTTY'];let _0x3f967a=!![];if(_0x4e82df){const {install:_0x2bcd9e}=await _0x287115['prompt']([{'type':_0x30701d[_0x9c0aff(0x156)],'name':_0x30701d[_0x9c0aff(0x135)],'message':_0x2d9c18?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x2f2788+_0x9c0aff(0x176):_0x9c0aff(0x17b)+_0x2f2788+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x3f967a=_0x2bcd9e;}else console[_0x9c0aff(0x146)](_0x9c0aff(0x177)+_0x2f2788+(_0x2d9c18?_0x9c0aff(0x166):'')+'...');if(_0x3f967a){console[_0x9c0aff(0x146)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x2f2788,_0x21b608),console[_0x9c0aff(0x146)](_0x30701d['cfiOj']);}catch(_0x50b6f7){console['error'](_0x9c0aff(0x169),_0x30701d['lPltR'](_0x50b6f7,Error)?_0x50b6f7['message']:_0x50b6f7),console['log'](_0x9c0aff(0x15a)),console[_0x9c0aff(0x146)]('\x20\x20npx\x20playwright@'+_0x2f2788+'\x20install\x20chromium');}}else console[_0x9c0aff(0x146)](_0x30701d[_0x9c0aff(0x189)]),console[_0x9c0aff(0x146)](_0x30701d['siXOW']),console['log'](_0x9c0aff(0x17f)+_0x2f2788+_0x9c0aff(0x138));return!![];}export async function writeRangerGitignore(_0x326145){const _0x2483f4=_0x504bd3,_0x2dec92={'sQjxi':'✓\x20Created\x20.ranger/.gitignore'},_0x228ff6=join(_0x326145,_0x2483f4(0x160)),_0x1dc35d='\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(_0x228ff6,_0x1dc35d),console['log'](_0x2dec92[_0x2483f4(0x190)]);}export async function ensureLocalEnv(_0x5227c7,_0x4ccffc){const _0xe94b95=_0x504bd3,_0x351911={'TEdzs':function(_0x3a487b){return _0x3a487b();},'Lglfj':_0xe94b95(0x140),'Tfcby':'local','Ddjin':'✓\x20Local\x20profile\x20already\x20exists','xBMrm':'\x0a❌\x20Profile\x20setup\x20failed:'};if(!_0x351911['TEdzs'](findGitRoot)&&_0x5227c7?.[_0xe94b95(0x15c)]!==_0x351911[_0xe94b95(0x184)])return console[_0xe94b95(0x146)]('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x17f66d=_0x5227c7?.[_0xe94b95(0x15c)]===_0xe94b95(0x140)?getRangerHomeDir():undefined;if(findExistingEnv(_0xe94b95(0x16d),{'locations':[_0x351911['Tfcby']],'rangerDir':_0x17f66d}))return console[_0xe94b95(0x146)](_0x351911['Ddjin']),{'ready':!![],'skipped':![]};try{return await addEnv(_0xe94b95(0x16d),{'url':_0x5227c7?.[_0xe94b95(0x161)],'force':_0x5227c7?.['force'],'allowInsecureLocalhost':_0x5227c7?.['allowInsecureLocalhost'],'scope':_0x5227c7?.[_0xe94b95(0x15c)]},_0x4ccffc),{'ready':!![],'skipped':![]};}catch(_0x58b2e5){return console['error'](_0x351911[_0xe94b95(0x17a)],_0x58b2e5 instanceof Error?_0x58b2e5[_0xe94b95(0x17c)]:_0x58b2e5),{'ready':![],'skipped':![]};}}export async function start(_0xcae5c7,_0x4241d2,_0x1ebb90){const _0x18adfc=_0x504bd3,_0x12e4be={'pIhkV':function(_0x408b59,_0x23179b){return _0x408b59!==_0x23179b;},'gixkg':'user','XJLTF':function(_0x541f80){return _0x541f80();},'paoys':function(_0x2e4e3f,_0x28e8db){return _0x2e4e3f(_0x28e8db);},'QufnT':_0x18adfc(0x13a),'TgIOB':function(_0x1319e4,_0x5e763f){return _0x1319e4(_0x5e763f);},'saPLg':_0x18adfc(0x13e),'bdblJ':'plugin','KKzYp':'skills','lOPtr':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','ktBcx':function(_0x4a1ffa,_0x636630){return _0x4a1ffa instanceof _0x636630;},'tsZhv':function(_0x2e3fcf,_0x15b829,_0x551a2a){return _0x2e3fcf(_0x15b829,_0x551a2a);},'fBwYt':'profile','ctSMA':function(_0x542870,_0x324a59){return _0x542870+_0x324a59;},'EmhCx':function(_0x48c96e,_0x573d75){return _0x48c96e(_0x573d75);},'HBqDF':_0x18adfc(0x18c),'FVnPk':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','hCTxu':'/ranger:enable','CHaEd':function(_0x224ad6,_0xe2220f){return _0x224ad6+_0xe2220f;}};console['log'](_0x18adfc(0x141));_0x12e4be[_0x18adfc(0x16f)](_0x4241d2?.['scope'],undefined)&&_0x4241d2[_0x18adfc(0x15c)]!==_0x12e4be[_0x18adfc(0x148)]&&(console['error']('ranger\x20setup\x20--scope='+String(_0x4241d2['scope'])+'\x20is\x20no\x20longer\x20supported.\x20'+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'+'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.'),process['exit'](0x1));_0x4241d2={..._0x4241d2,'scope':_0x18adfc(0x140)};const _0x351e08=!existsSync(_0x12e4be['XJLTF'](getRangerHomeDir));await _0x12e4be['paoys'](ensureRangerDir,'user');if(_0x4241d2?.['skipAuth'])console['log'](_0x18adfc(0x154)),_0x1ebb90?.['trackPhaseEnd'](_0x12e4be['QufnT'],{'isFirstRun':_0x351e08,'method':_0x18adfc(0x164)});else{_0x1ebb90?.['trackPhaseStart'](_0x12e4be[_0x18adfc(0x14d)]);const _0x38a083=await _0x12e4be['TgIOB'](authenticate,_0xcae5c7);_0x1ebb90?.['trackPhaseEnd']('auth',{'isFirstRun':_0x351e08,'method':_0x38a083[_0x18adfc(0x170)]});}_0x1ebb90?.['trackPhaseStart'](_0x18adfc(0x15f));_0x4241d2?.['skipChromium']?console[_0x18adfc(0x146)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await _0x12e4be[_0x18adfc(0x172)](ensureChromium,_0x4241d2?.[_0x18adfc(0x182)]);_0x1ebb90?.[_0x18adfc(0x17d)]('chromium',{'isFirstRun':_0x351e08,'skipped':!!_0x4241d2?.['skipChromium']}),console[_0x18adfc(0x146)](_0x12e4be['saPLg']);const _0x151bb8=_0x4241d2?.[_0x18adfc(0x15c)],_0x417067=_0x4241d2?.[_0x18adfc(0x181)]??![];let _0x3986aa=null;_0x417067?(_0x1ebb90?.[_0x18adfc(0x132)](_0x12e4be['bdblJ']),_0x3986aa=await ensureOpencodePluginConfig(_0x151bb8),_0x1ebb90?.['trackPhaseEnd'](_0x12e4be['bdblJ'],{'isFirstRun':_0x351e08,'opencode':!![]})):(_0x1ebb90?.['trackPhaseStart']('plugin'),await _0x12e4be['TgIOB'](ensureClaudePlugin,_0x151bb8),_0x1ebb90?.[_0x18adfc(0x17d)](_0x18adfc(0x139),{'isFirstRun':_0x351e08}));if(_0x417067&&_0x3986aa){_0x1ebb90?.['trackPhaseStart'](_0x12e4be['KKzYp']);try{await installSkill('ranger',{'level':_0x3986aa[_0x18adfc(0x15c)],'cliVersion':_0x12e4be['XJLTF'](getCurrentVersion),'platform':_0x18adfc(0x181)}),_0x1ebb90?.['trackPhaseEnd'](_0x12e4be['KKzYp'],{'isFirstRun':_0x351e08,'opencode':!![]});}catch(_0x53ebd7){console['warn'](_0x12e4be['lOPtr'],_0x12e4be['ktBcx'](_0x53ebd7,Error)?_0x53ebd7['message']:_0x53ebd7),_0x1ebb90?.[_0x18adfc(0x17d)]('skills',{'isFirstRun':_0x351e08,'opencode':!![],'failed':!![]});}}else _0x1ebb90?.[_0x18adfc(0x132)]('skills'),await _0x12e4be[_0x18adfc(0x178)](ensureClaudeSkills,_0x151bb8),_0x1ebb90?.['trackPhaseEnd'](_0x12e4be['KKzYp'],{'isFirstRun':_0x351e08});if(_0x4241d2?.[_0x18adfc(0x174)])console[_0x18adfc(0x146)]('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x4241d2?.['url']){_0x1ebb90?.[_0x18adfc(0x132)]('profile');const _0x1ab3da=await _0x12e4be[_0x18adfc(0x198)](ensureLocalEnv,{'url':_0x4241d2['url'],'force':_0x4241d2?.[_0x18adfc(0x13d)],'allowInsecureLocalhost':_0x4241d2?.['allowInsecureLocalhost'],'scope':'user'},_0x1ebb90);_0x1ebb90?.['trackPhaseEnd'](_0x12e4be[_0x18adfc(0x17e)],{'isFirstRun':_0x351e08,'profileReady':_0x1ab3da[_0x18adfc(0x16a)],'userSkipped':_0x1ab3da['skipped']});}else console[_0x18adfc(0x146)](_0x12e4be[_0x18adfc(0x155)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+(_0x18adfc(0x159)+_0x12e4be[_0x18adfc(0x16c)](bold,_0x18adfc(0x186))),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)')+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0x417067)console['log'](_0x18adfc(0x18a)),console['log'](_0x18adfc(0x14c)),console[_0x18adfc(0x146)](_0x12e4be['HBqDF']),console['log'](_0x12e4be[_0x18adfc(0x149)]);else{const _0x16da7d=_0x12e4be['EmhCx'](bold,_0x12e4be[_0x18adfc(0x14b)]);console[_0x18adfc(0x146)](_0x12e4be[_0x18adfc(0x155)](_0x12e4be['CHaEd'](_0x18adfc(0x193)+_0x16da7d+_0x18adfc(0x131)+_0x18adfc(0x14a),_0x18adfc(0x137)),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
@@ -1 +1 @@
1
- const _0x71e86f=_0x410b;(function(_0xdaee1c,_0x5a797c){const _0xf94a79=_0x410b,_0x4e07ef=_0xdaee1c();while(!![]){try{const _0x2d71f2=parseInt(_0xf94a79(0x116))/0x1+-parseInt(_0xf94a79(0x132))/0x2+-parseInt(_0xf94a79(0x11a))/0x3*(-parseInt(_0xf94a79(0x148))/0x4)+parseInt(_0xf94a79(0x14c))/0x5+parseInt(_0xf94a79(0x145))/0x6+parseInt(_0xf94a79(0x109))/0x7+-parseInt(_0xf94a79(0x10c))/0x8*(parseInt(_0xf94a79(0x13c))/0x9);if(_0x2d71f2===_0x5a797c)break;else _0x4e07ef['push'](_0x4e07ef['shift']());}catch(_0x3d08b2){_0x4e07ef['push'](_0x4e07ef['shift']());}}}(_0x269c,0xed64d));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 _0x269c(){const _0x314d00=['Root:\x20','log','AVuxv','project','GIfOS','\x20(up\x20to\x20date)','displayName','623485ykCYGZ','dLKwT','parse','MQfTT','3ZpLCKM','MqMmt','status','sessionUpdatedAt','\x20\x20User-level:','FAmLw','\x1b]8;;file://','enabled','user','hasPlaintextAuth','opencode-plugin','string','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','MtLfn','\x20(active)','scope','FhyXW','name','ranger@trailhead','UXXPs','OYMrB','\x20[local]','IzopY','dzAFA','3301430OKGOZZ','DEBUG','WkKCY','includes','SKILL.md','YKSwG','match','none','keGsD','pdvRU','797913uWKAtd','length','OHjzA','hasEncryptedAuth','some','\x20\x20Active:\x20','join','map','API\x20Token:\x20✗\x20Not\x20found','9320802kxkNOs','JGkFh','not_installed','3308296YWaCyI','DYWFV','BbAQU','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','7891585ZzSWYk','nnCXY','Version:\x20','CnnQs','(not\x20found)','unknown','\x1b]8;;\x07','\x20(latest:\x20','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','AJOgR','\x20local','ZerFM','version','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','has','not_configured','No\x20skills\x20installed','\x20\x20Run:\x20ranger\x20skillup','path','details','settingsPath','plugin','\x20\x20Run:\x20ranger\x20setup\x20[token]','push','tPGiV','BeEOm','error','pipe','utf-8','Ufxsa','auth.json.enc','DJRlD','13591515ZrgiOb','\x0a\x20\x20No\x20active\x20profile\x20set','config','352pGtOuI','Rfawz','isActive'];_0x269c=function(){return _0x314d00;};return _0x269c();}import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';function _0x410b(_0x5e5031,_0x5adc48){_0x5e5031=_0x5e5031-0xf2;const _0x269cfc=_0x269c();let _0x410b4f=_0x269cfc[_0x5e5031];return _0x410b4f;}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=_0x54bb50=>'\x1b[1m'+_0x54bb50+'\x1b[0m',link=(_0x294851,_0x3bf893)=>_0x71e86f(0x120)+_0x294851+'\x07'+(_0x3bf893||_0x294851)+_0x71e86f(0x152);async function getOpencodePluginStatus(){const _0x190186=_0x71e86f,_0x5314b0={'MqMmt':_0x190186(0x147),'uPKoi':_0x190186(0x124),'FhyXW':function(_0x12d24a,_0x5a82b3,_0x12d5ed,_0xed4638){return _0x12d24a(_0x5a82b3,_0x12d5ed,_0xed4638);},'OkFqI':'ignore','MQfTT':'pipe','MtLfn':'data','ksJwm':'close'};return new Promise(_0x19ed5e=>{const _0x585c5e=_0x190186,_0x287d86={'nnCXY':_0x585c5e(0x125),'WkKCY':_0x5314b0['uPKoi'],'keGsD':function(_0xe4d24,_0x59e361){return _0xe4d24!==_0x59e361;},'QaMWj':function(_0x4baeac,_0x16b529){return _0x4baeac(_0x16b529);},'FHGdE':function(_0x33c823,_0x530f8c){return _0x33c823>_0x530f8c;},'CnnQs':'not_configured'},_0x21adde=_0x5314b0[_0x585c5e(0x12a)](spawn,'opencode',['debug',_0x585c5e(0x10b)],{'stdio':[_0x5314b0['OkFqI'],_0x5314b0[_0x585c5e(0x119)],_0x585c5e(0x104)]});let _0x3c889c='';_0x21adde['stdout']?.['on']('data',_0x194f9b=>{_0x3c889c+=_0x194f9b['toString']();}),_0x21adde['stderr']?.['on'](_0x5314b0[_0x585c5e(0x127)],_0x37c2a3=>{_0x3c889c+=_0x37c2a3['toString']();}),_0x21adde['on'](_0x585c5e(0x103),()=>{const _0x4decdd=_0x585c5e;_0x19ed5e({'status':_0x5314b0[_0x4decdd(0x11b)]});}),_0x21adde['on'](_0x5314b0['ksJwm'],_0x20e45d=>{const _0x4638c6=_0x585c5e;if(_0x287d86[_0x4638c6(0x13a)](_0x20e45d,0x0)){_0x287d86['QaMWj'](_0x19ed5e,{'status':_0x4638c6(0x147)});return;}const _0x40aa63=_0x3c889c['trim']();let _0x336e3d=null;if(_0x40aa63)try{_0x336e3d=JSON[_0x4638c6(0x118)](_0x40aa63);}catch{const _0xbb9eb7=_0x40aa63[_0x4638c6(0x138)](/\{[\s\S]*\}$/);if(_0xbb9eb7)try{_0x336e3d=JSON[_0x4638c6(0x118)](_0xbb9eb7[0x0]);}catch{_0x336e3d=null;}}const _0x5831d7=Array['isArray'](_0x336e3d?.[_0x4638c6(0xfe)])?_0x336e3d?.['plugin']:[],_0x3226f8=_0x5831d7[_0x4638c6(0x140)](_0x2fe68c=>{const _0x4915af=_0x4638c6;if(typeof _0x2fe68c!==_0x287d86[_0x4915af(0x14d)])return![];return _0x2fe68c['includes']('@ranger-testing/opencode-plugin')||_0x2fe68c[_0x4915af(0x135)](_0x287d86[_0x4915af(0x134)]);});if(_0x3226f8){_0x19ed5e({'status':'configured','details':_0x5831d7[_0x4638c6(0x13d)]>0x0?_0x5831d7['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x287d86['FHGdE'](_0x5831d7['length'],0x0)){_0x19ed5e({'status':_0x287d86[_0x4638c6(0x14f)],'details':_0x5831d7['length']+'\x20plugin(s)\x20configured'});return;}_0x19ed5e({'status':_0x287d86['CnnQs']});});});}async function getSkillsFromDir(_0x41f85e,_0xf3ff55){const _0x4eed11=_0x71e86f,_0x324649={'nWIbe':function(_0xb6cac2,_0x4d3618){return _0xb6cac2(_0x4d3618);},'kERMD':function(_0x5aa514,_0x1fc201,_0x4e5242){return _0x5aa514(_0x1fc201,_0x4e5242);}};if(!_0x324649['nWIbe'](existsSync,_0x41f85e))return[];const _0x3c30da=[];try{const _0x5204ac=await readdir(_0x41f85e,{'withFileTypes':!![]});for(const _0x5744f6 of _0x5204ac){if(_0x5744f6['isDirectory']()){const _0x513537=join(_0x41f85e,_0x5744f6[_0x4eed11(0x12b)],_0x4eed11(0x136));if(existsSync(_0x513537)){let _0x3d4cd6=_0x5744f6[_0x4eed11(0x12b)];try{const _0x29d5af=await _0x324649['kERMD'](readFile,_0x513537,_0x4eed11(0x105)),_0x25803b=_0x29d5af[_0x4eed11(0x138)](/name:\s*(.+)/);_0x25803b&&(_0x3d4cd6=_0x25803b[0x1]['trim']());}catch{}_0x3c30da['push']({'name':_0x5744f6[_0x4eed11(0x12b)],'displayName':_0x3d4cd6,'path':_0x513537,'level':_0xf3ff55});}}}}catch{return[];}return _0x3c30da;}async function getInstalledSkills(){const _0x239ab4=_0x71e86f,_0x35b029={'OHjzA':function(_0xc4673f){return _0xc4673f();}},[_0x583d54,_0x58e076]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),_0x239ab4(0x112)),getSkillsFromDir(_0x35b029[_0x239ab4(0x13e)](getUserSkillsDir),'user')]);return{'project':_0x583d54,'user':_0x58e076};}async function getEnvironments(){const _0x36ed9f=_0x71e86f,_0x43e50d={'BeEOm':function(_0x2817e0,_0x2d4d0d){return _0x2817e0(_0x2d4d0d);},'ppgXK':function(_0x5eb630,_0x50e507,_0x3202c4){return _0x5eb630(_0x50e507,_0x3202c4);},'DJRlD':function(_0x21181f,_0x5dbedb,_0x1d0d46){return _0x21181f(_0x5dbedb,_0x1d0d46);},'YKSwG':'auth.json','OYMrB':function(_0x24b5b4,_0x55cd37){return _0x24b5b4(_0x55cd37);},'TpfvS':function(_0xa324bc){return _0xa324bc();},'GJHJp':function(_0x4c15f0){return _0x4c15f0();}},{envNames:_0x500974,activeEnv:_0x43610f}=await _0x43e50d['TpfvS'](getEnvNames),_0xce70bf=_0x43e50d['GJHJp'](getRangerDir);if(!_0x43e50d[_0x36ed9f(0x12e)](existsSync,_0xce70bf))return{'envs':[],'activeEnv':null};const _0x4883f4=_0x500974[_0x36ed9f(0x143)](_0x5daee3=>{const _0x131a61=_0x36ed9f,_0x357bfe=_0x43e50d[_0x131a61(0x102)](getEnvDir,_0x5daee3),_0x4a24bb=_0x43e50d['ppgXK'](join,_0x357bfe,'settings.json'),_0x25059d=_0x43e50d[_0x131a61(0x108)](join,_0x357bfe,_0x43e50d[_0x131a61(0x137)]),_0x47890e=_0x43e50d['ppgXK'](join,_0x357bfe,_0x131a61(0x107));return{'name':_0x5daee3,'settingsPath':_0x43e50d['OYMrB'](existsSync,_0x4a24bb)?_0x4a24bb:'(not\x20found)','hasPlaintextAuth':existsSync(_0x25059d),'hasEncryptedAuth':existsSync(_0x47890e),'isActive':_0x5daee3===_0x43610f};});return{'envs':_0x4883f4,'activeEnv':_0x43610f};}export async function status(){const _0x34cfd5=_0x71e86f,_0x255519={'AVuxv':function(_0x4e7040){return _0x4e7040();},'Ufxsa':function(_0x1a2ffd,_0x4d90f9){return _0x1a2ffd(_0x4d90f9);},'dLKwT':function(_0x3a81ca,_0x29fb3a){return _0x3a81ca(_0x29fb3a);},'FAmLw':function(_0x6793f,_0x100368){return _0x6793f!==_0x100368;},'KrPLk':function(_0x4906eb,_0xa191cc){return _0x4906eb(_0xa191cc);},'ovTLg':'\x0a---\x20OpenCode\x20Plugin\x20---','Rfawz':function(_0x1e8ab7,_0x50fa84){return _0x1e8ab7===_0x50fa84;},'pdvRU':'configured','IzopY':_0x34cfd5(0xf8),'goxmL':'\x20\x20Not\x20configured','aCJRi':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','DYWFV':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','bJjCy':_0x34cfd5(0x12c),'YbWDy':_0x34cfd5(0x121),'wbgma':'\x20\x20Not\x20installed','BbAQU':function(_0x420792,_0x9b9108){return _0x420792+_0x9b9108;},'GIfOS':function(_0x17076f,_0xfff1a6){return _0x17076f===_0xfff1a6;},'dfpun':'\x20\x20Project-level:','ZerFM':function(_0x26c28e,_0x68bfcc,_0x34634f){return _0x26c28e(_0x68bfcc,_0x34634f);},'tPGiV':function(_0x503cef,_0x2cfb3b){return _0x503cef>_0x2cfb3b;},'AJOgR':_0x34cfd5(0x11e),'vwGLh':function(_0x3d2b14,_0x1bd7f0){return _0x3d2b14(_0x1bd7f0);},'VTqNB':function(_0x5d92d0,_0x1de688,_0x44508f){return _0x5d92d0(_0x1de688,_0x44508f);},'dzAFA':function(_0xcfd5c2,_0x1e7293){return _0xcfd5c2(_0x1e7293);},'YVnLI':function(_0x23161c,_0x58858c){return _0x23161c(_0x58858c);},'JGkFh':_0x34cfd5(0x128),'UXXPs':function(_0x37349c,_0x5ac70a){return _0x37349c(_0x5ac70a);}};console[_0x34cfd5(0x110)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x138983=process['cwd'](),_0x411614=_0x255519['AVuxv'](getRangerDir);if(!_0x255519['Ufxsa'](existsSync,_0x411614)){console['log'](_0x34cfd5(0x10f)+link(_0x138983,_0x255519[_0x34cfd5(0x117)](bold,basename(_0x138983)))),console[_0x34cfd5(0x110)](_0x34cfd5(0x154)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x34cfd5(0x110)]('Root:\x20'+link(_0x138983,bold(_0x255519[_0x34cfd5(0x106)](basename,_0x138983))));const _0xd7fe40=getCurrentVersion(),_0x5e48ad=_0x255519[_0x34cfd5(0x111)](getLatestVersion);if(_0x5e48ad['version']&&_0x255519['FAmLw'](_0x5e48ad['version'],_0xd7fe40))console['log'](_0x34cfd5(0x14e)+_0xd7fe40+_0x34cfd5(0x153)+_0x5e48ad[_0x34cfd5(0xf5)]+')'),console[_0x34cfd5(0x110)]('\x20\x20Run:\x20ranger\x20update');else _0x5e48ad[_0x34cfd5(0xf5)]?console['log'](_0x34cfd5(0x14e)+_0xd7fe40+_0x34cfd5(0x114)):console[_0x34cfd5(0x110)](_0x34cfd5(0x14e)+_0xd7fe40);const _0x3d5e26=await getToken();if(_0x3d5e26){const _0x54b5d7=await getCurrentUser(_0x3d5e26);_0x54b5d7['success']?console[_0x34cfd5(0x110)]('Organization:\x20'+_0x255519['KrPLk'](bold,_0x54b5d7[_0x34cfd5(0x122)]['organizationName'])):(console['log'](_0x34cfd5(0x14b)),console['log'](_0x34cfd5(0xff)));}else console['log'](_0x34cfd5(0x144)),console['log'](_0x34cfd5(0xff));process['env'][_0x34cfd5(0x133)]&&(console['log']('API\x20Environment:\x20'+getCurrentEnvironment()),console[_0x34cfd5(0x110)]('API\x20URL:\x20'+getApiBaseUrl()));console['log'](_0x255519['ovTLg']);const _0x48cc78=await _0x255519[_0x34cfd5(0x111)](getOpencodePluginStatus);if(_0x255519[_0x34cfd5(0x10d)](_0x48cc78[_0x34cfd5(0x11c)],_0x255519[_0x34cfd5(0x13b)]))console[_0x34cfd5(0x110)]('\x20\x20'+_0x255519['dLKwT'](bold,'@ranger-testing/opencode-plugin')+':\x20configured'),_0x48cc78[_0x34cfd5(0xfc)]&&console['log']('\x20\x20'+_0x48cc78[_0x34cfd5(0xfc)]);else _0x48cc78['status']===_0x255519[_0x34cfd5(0x130)]?(console['log'](_0x255519['goxmL']),_0x48cc78['details']&&console['log']('\x20\x20'+_0x48cc78[_0x34cfd5(0xfc)]),console['log'](_0x255519['aCJRi'])):console['log']('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console[_0x34cfd5(0x110)](_0x255519[_0x34cfd5(0x149)]);const _0x393943=await getPluginInfo(_0x255519['bJjCy']);if(_0x393943){const _0x8b12f6=_0x393943[_0x34cfd5(0x129)]||_0x34cfd5(0x151),_0x31f308=_0x393943['enabled']?_0x255519['YbWDy']:'disabled';console['log']('\x20\x20'+_0x255519['Ufxsa'](bold,'ranger@trailhead')+':\x20installed\x20('+_0x8b12f6+',\x20'+_0x31f308+')');}else console['log'](_0x255519['wbgma']),console[_0x34cfd5(0x110)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console[_0x34cfd5(0x110)]('\x0a---\x20Skills\x20---');const {project:_0x54ba64,user:_0x311bb4}=await getInstalledSkills(),_0x17888a=_0x54ba64['filter'](_0x1cdf13=>RANGER_MANAGED_SKILLS['includes'](_0x1cdf13[_0x34cfd5(0x12b)])),_0x12b501=_0x311bb4['filter'](_0x3d9e49=>RANGER_MANAGED_SKILLS[_0x34cfd5(0x135)](_0x3d9e49['name'])),_0x13851b=_0x255519[_0x34cfd5(0x14a)](_0x17888a['length'],_0x12b501['length']);if(_0x255519[_0x34cfd5(0x113)](_0x13851b,0x0))console['log'](_0x34cfd5(0xf9)),console[_0x34cfd5(0x110)](_0x34cfd5(0xfa));else{if(_0x17888a['length']>0x0){console[_0x34cfd5(0x110)](_0x255519['dfpun']);for(const _0x2d858f of _0x17888a){console['log']('\x20\x20\x20\x20'+bold(_0x2d858f['displayName'])+':\x20'+_0x255519[_0x34cfd5(0xf4)](link,_0x2d858f[_0x34cfd5(0xfb)],basename(_0x2d858f['path'])));}}if(_0x255519['tPGiV'](_0x12b501['length'],0x0)){console[_0x34cfd5(0x110)](_0x255519[_0x34cfd5(0xf2)]);for(const _0x19d63b of _0x12b501){console['log']('\x20\x20\x20\x20'+_0x255519['vwGLh'](bold,_0x19d63b[_0x34cfd5(0x115)])+':\x20'+_0x255519['VTqNB'](link,_0x19d63b[_0x34cfd5(0xfb)],basename(_0x19d63b['path'])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x1e1dfc,activeEnv:_0x1a956e}=await getEnvironments();let _0x5d66ea=[];if(_0x3d5e26)try{_0x5d66ea=await _0x255519[_0x34cfd5(0x111)](listCloudProfiles);}catch{}const _0x2cc2de=_0x1e1dfc[_0x34cfd5(0x13d)]+_0x5d66ea[_0x34cfd5(0x13d)];if(_0x2cc2de===0x0)console[_0x34cfd5(0x110)]('No\x20profiles\x20configured'),console['log'](_0x34cfd5(0xf6));else{if(_0x255519[_0x34cfd5(0x101)](_0x2cc2de,0x5)){const _0x4c79e9=[];_0x5d66ea['length']>0x0&&_0x4c79e9['push'](_0x5d66ea['length']+'\x20cloud'),_0x1e1dfc['length']>0x0&&_0x4c79e9[_0x34cfd5(0x100)](_0x1e1dfc['length']+_0x34cfd5(0xf3)),console[_0x34cfd5(0x110)](_0x2cc2de+'\x20profiles\x20configured\x20('+_0x4c79e9[_0x34cfd5(0x142)](',\x20')+')'),_0x1a956e&&console['log'](_0x34cfd5(0x141)+_0x255519[_0x34cfd5(0x131)](bold,_0x1a956e)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x2c8b6e of _0x5d66ea){const _0x26bc1b=_0x255519['Rfawz'](_0x2c8b6e['name'],_0x1a956e)?_0x34cfd5(0x128):'';console['log']('\x20\x20'+_0x255519['YVnLI'](bold,_0x2c8b6e['name'])+'\x20[cloud]'+_0x26bc1b);const _0x2d5c3e=_0x2c8b6e[_0x34cfd5(0x11d)]?'cached\x20(updated\x20'+_0x2c8b6e['sessionUpdatedAt']+')':'no\x20session';console[_0x34cfd5(0x110)]('\x20\x20\x20\x20Session:\x20'+_0x2d5c3e);}const _0x5b81a6=new Set(_0x5d66ea[_0x34cfd5(0x143)](_0x269291=>_0x269291['name']));for(const _0x4324f7 of _0x1e1dfc){if(_0x5b81a6[_0x34cfd5(0xf7)](_0x4324f7['name']))continue;const _0x16594f=_0x4324f7[_0x34cfd5(0x10e)]?_0x255519[_0x34cfd5(0x146)]:'',_0x1b5d9f=_0x4324f7[_0x34cfd5(0x13f)]?'encrypted':_0x4324f7[_0x34cfd5(0x123)]?'plaintext':_0x34cfd5(0x139);console[_0x34cfd5(0x110)]('\x20\x20'+_0x255519[_0x34cfd5(0x12d)](bold,_0x4324f7['name'])+_0x34cfd5(0x12f)+_0x16594f),console[_0x34cfd5(0x110)]('\x20\x20\x20\x20Auth:\x20'+_0x1b5d9f),_0x255519[_0x34cfd5(0x11f)](_0x4324f7[_0x34cfd5(0xfd)],_0x34cfd5(0x150))&&console[_0x34cfd5(0x110)]('\x20\x20\x20\x20Settings:\x20'+link(_0x4324f7['settingsPath'],basename(_0x4324f7[_0x34cfd5(0xfd)])));}if(!_0x1a956e){console[_0x34cfd5(0x110)](_0x34cfd5(0x10a));const _0x4a3e27=[..._0x5d66ea[_0x34cfd5(0x143)](_0x2930dc=>_0x2930dc['name']),..._0x1e1dfc['filter'](_0x1c257e=>!_0x5b81a6['has'](_0x1c257e['name']))[_0x34cfd5(0x143)](_0x4396d7=>_0x4396d7[_0x34cfd5(0x12b)])];console[_0x34cfd5(0x110)](_0x34cfd5(0x126)+_0x4a3e27[_0x34cfd5(0x142)](',\x20')+')');}}}console['log']('');}
1
+ const _0x342396=_0x5390;(function(_0x205183,_0x8a395e){const _0x36390d=_0x5390,_0x3c1759=_0x205183();while(!![]){try{const _0xe8927e=-parseInt(_0x36390d(0x13e))/0x1+-parseInt(_0x36390d(0xe5))/0x2*(parseInt(_0x36390d(0x14c))/0x3)+parseInt(_0x36390d(0x11e))/0x4*(-parseInt(_0x36390d(0x13c))/0x5)+parseInt(_0x36390d(0x135))/0x6+-parseInt(_0x36390d(0x134))/0x7*(-parseInt(_0x36390d(0x12c))/0x8)+parseInt(_0x36390d(0x11c))/0x9+parseInt(_0x36390d(0x13d))/0xa;if(_0xe8927e===_0x8a395e)break;else _0x3c1759['push'](_0x3c1759['shift']());}catch(_0x349958){_0x3c1759['push'](_0x3c1759['shift']());}}}(_0x55e3,0xd873e));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';function _0x55e3(){const _0x254a4d=['idVcJ','DEBUG','scope','\x0a---\x20Skills\x20---','@ranger-testing/opencode-plugin','cached\x20(updated\x20',':\x20configured','plugin','opencode','version','HtSFV','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','pipe','yWYDF','yzJbY','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','EwCyM','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','organizationName','hasPlaintextAuth','UDOHW','log','\x20(active)','none','vfdSw','(not\x20found)','Root:\x20','\x20\x20Active:\x20','maNPT','data','some','14159025zfNxhT','project','12qvUCom','wPnjI','ImDKU','\x20\x20Run:\x20ranger\x20setup\x20--opencode','includes','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','\x20\x20Run:\x20ranger\x20setup\x20[token]','disabled','\x20\x20Not\x20installed','enabled','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','nHzQn','name','not_installed','24kanYfK','\x20profiles\x20configured\x20(','TZxXa','status','length','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','\x1b[1m','MCfil','88291PCGauD','5552970awweEN','configured','unknown','\x0a---\x20Profiles\x20---','config','join','stderr','2892445lNcFQK','16100500IOVdmk','1217877iMKNuY','OJaUZ','isArray','parse','not_configured','\x20(up\x20to\x20date)','map','details','path','error','\x1b]8;;\x07','trim','MpLBL','\x20\x20Not\x20configured','75EBUPio','stdout','OEMRh','gDslk','nVzLk','\x20plugin(s)\x20configured','push','opencode-plugin','24534eCVHcr','cwd','\x0a\x20\x20No\x20active\x20profile\x20set','foPvt','\x0a---\x20Claude\x20Code\x20Plugin\x20---','API\x20Environment:\x20','user','dxipE','close','isDirectory',':\x20installed\x20(','CmUtT','\x20\x20\x20\x20Settings:\x20','MEJfE','xEeNE','\x1b[0m','filter','JiBae','fonlJ','settingsPath','Organization:\x20','utf-8','GLZda','\x20\x20\x20\x20Session:\x20'];_0x55e3=function(){return _0x254a4d;};return _0x55e3();}const bold=_0x28f31c=>_0x342396(0x132)+_0x28f31c+_0x342396(0xf4),link=(_0x24b133,_0x5116df)=>'\x1b]8;;file://'+_0x24b133+'\x07'+(_0x5116df||_0x24b133)+_0x342396(0x148);function _0x5390(_0x2a3d0d,_0x1f49cb){_0x2a3d0d=_0x2a3d0d-0xe3;const _0x55e369=_0x55e3();let _0x5390da=_0x55e369[_0x2a3d0d];return _0x5390da;}async function getOpencodePluginStatus(){const _0x1919b2=_0x342396,_0x95d451={'WwLXb':function(_0x5233ba,_0x3a75d5){return _0x5233ba!==_0x3a75d5;},'tDnnP':'not_installed','gVxfF':_0x1919b2(0x136),'eeeLV':'not_configured','fonlJ':function(_0x3d5a86,_0x48ebd7){return _0x3d5a86(_0x48ebd7);},'OlICv':'string','TZxXa':function(_0x47f404,_0x325d5f,_0x564430,_0xad8f5f){return _0x47f404(_0x325d5f,_0x564430,_0xad8f5f);},'udDZx':_0x1919b2(0x105),'VpaQd':'debug','ImDKU':'ignore','OJaUZ':_0x1919b2(0x147)};return new Promise(_0x4e304e=>{const _0x585f37=_0x1919b2,_0x160afa={'anBOo':_0x95d451['OlICv'],'aTGIY':_0x585f37(0xe4)},_0x445e3a=_0x95d451[_0x585f37(0x12e)](spawn,_0x95d451['udDZx'],[_0x95d451['VpaQd'],_0x585f37(0x139)],{'stdio':[_0x95d451[_0x585f37(0x120)],'pipe',_0x585f37(0x109)]});let _0x48708c='';_0x445e3a[_0x585f37(0x14d)]?.['on'](_0x585f37(0x11a),_0x5e83f6=>{_0x48708c+=_0x5e83f6['toString']();}),_0x445e3a[_0x585f37(0x13b)]?.['on'](_0x585f37(0x11a),_0x111820=>{_0x48708c+=_0x111820['toString']();}),_0x445e3a['on'](_0x95d451[_0x585f37(0x13f)],()=>{const _0x992795=_0x585f37;_0x4e304e({'status':_0x992795(0x12b)});}),_0x445e3a['on'](_0x585f37(0xed),_0x170c39=>{const _0x930511=_0x585f37;if(_0x95d451['WwLXb'](_0x170c39,0x0)){_0x4e304e({'status':_0x95d451['tDnnP']});return;}const _0x172e9d=_0x48708c['trim']();let _0x37c4e2=null;if(_0x172e9d)try{_0x37c4e2=JSON[_0x930511(0x141)](_0x172e9d);}catch{const _0x28e71c=_0x172e9d['match'](/\{[\s\S]*\}$/);if(_0x28e71c)try{_0x37c4e2=JSON[_0x930511(0x141)](_0x28e71c[0x0]);}catch{_0x37c4e2=null;}}const _0x2d53fc=Array[_0x930511(0x140)](_0x37c4e2?.['plugin'])?_0x37c4e2?.[_0x930511(0x104)]:[],_0xa3761b=_0x2d53fc[_0x930511(0x11b)](_0x33b6b2=>{const _0x32d3ab=_0x930511;if(typeof _0x33b6b2!==_0x160afa['anBOo'])return![];return _0x33b6b2[_0x32d3ab(0x122)]('@ranger-testing/opencode-plugin')||_0x33b6b2['includes'](_0x160afa['aTGIY']);});if(_0xa3761b){_0x4e304e({'status':_0x95d451['gVxfF'],'details':_0x2d53fc['length']>0x0?_0x2d53fc[_0x930511(0x130)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x2d53fc[_0x930511(0x130)]>0x0){_0x4e304e({'status':_0x95d451['eeeLV'],'details':_0x2d53fc['length']+_0x930511(0x151)});return;}_0x95d451[_0x930511(0xf7)](_0x4e304e,{'status':_0x930511(0x142)});});});}async function getSkillsFromDir(_0x7a22a1,_0x4f1ed0){const _0x4d0e7f=_0x342396,_0x5e1552={'xEeNE':function(_0x3a5159,_0x280a39){return _0x3a5159(_0x280a39);},'dxipE':function(_0x2778cd,_0x26650e,_0x4221ab){return _0x2778cd(_0x26650e,_0x4221ab);}};if(!_0x5e1552[_0x4d0e7f(0xf3)](existsSync,_0x7a22a1))return[];const _0x1a6e29=[];try{const _0x39f295=await readdir(_0x7a22a1,{'withFileTypes':!![]});for(const _0x153f20 of _0x39f295){if(_0x153f20[_0x4d0e7f(0xee)]()){const _0x3337bc=join(_0x7a22a1,_0x153f20[_0x4d0e7f(0x12a)],'SKILL.md');if(existsSync(_0x3337bc)){let _0x2b9957=_0x153f20[_0x4d0e7f(0x12a)];try{const _0x3e7364=await _0x5e1552[_0x4d0e7f(0xec)](readFile,_0x3337bc,_0x4d0e7f(0xfa)),_0x140617=_0x3e7364['match'](/name:\s*(.+)/);_0x140617&&(_0x2b9957=_0x140617[0x1][_0x4d0e7f(0x149)]());}catch{}_0x1a6e29['push']({'name':_0x153f20['name'],'displayName':_0x2b9957,'path':_0x3337bc,'level':_0x4f1ed0});}}}}catch{return[];}return _0x1a6e29;}async function getInstalledSkills(){const _0x2457df=_0x342396,_0xe02ae={'BLwCJ':function(_0x2b9622,_0x545fcc,_0x479d14){return _0x2b9622(_0x545fcc,_0x479d14);},'uQdRe':function(_0x3f1fac){return _0x3f1fac();},'wPnjI':function(_0x1c2ca3){return _0x1c2ca3();}},[_0x4c1df8,_0x4a0dbf]=await Promise['all']([_0xe02ae['BLwCJ'](getSkillsFromDir,_0xe02ae['uQdRe'](getProjectSkillsDir),_0x2457df(0x11d)),getSkillsFromDir(_0xe02ae[_0x2457df(0x11f)](getUserSkillsDir),'user')]);return{'project':_0x4c1df8,'user':_0x4a0dbf};}async function getEnvironments(){const _0x596877=_0x342396,_0x1e7561={'CmUtT':function(_0x264b83,_0x3749b2,_0x247ef5){return _0x264b83(_0x3749b2,_0x247ef5);},'SXJwq':'settings.json','uIqtz':'auth.json','MEJfE':function(_0x1f1818,_0x2eb8ae){return _0x1f1818(_0x2eb8ae);},'yzJbY':function(_0x5c83a7,_0x3b4f9d){return _0x5c83a7(_0x3b4f9d);},'maNPT':function(_0x191cc7,_0x153bb3){return _0x191cc7(_0x153bb3);},'OhBac':function(_0x1c9a02,_0x414998){return _0x1c9a02===_0x414998;},'CZQax':function(_0xa1a690){return _0xa1a690();},'foPvt':function(_0x5d3bea,_0x3703d0){return _0x5d3bea(_0x3703d0);}},{envNames:_0x26dcf0,activeEnv:_0x585fc6}=await getEnvNames(),_0x1c1491=_0x1e7561['CZQax'](getRangerDir);if(!_0x1e7561[_0x596877(0xe8)](existsSync,_0x1c1491))return{'envs':[],'activeEnv':null};const _0x4cfdf7=_0x26dcf0[_0x596877(0x144)](_0x394b23=>{const _0x3a62ee=_0x596877,_0x54b4fe=getEnvDir(_0x394b23),_0x19c9b2=_0x1e7561[_0x3a62ee(0xf0)](join,_0x54b4fe,_0x1e7561['SXJwq']),_0x50b547=_0x1e7561[_0x3a62ee(0xf0)](join,_0x54b4fe,_0x1e7561['uIqtz']),_0x1dabb6=_0x1e7561['CmUtT'](join,_0x54b4fe,'auth.json.enc');return{'name':_0x394b23,'settingsPath':_0x1e7561[_0x3a62ee(0xf2)](existsSync,_0x19c9b2)?_0x19c9b2:_0x3a62ee(0x116),'hasPlaintextAuth':_0x1e7561[_0x3a62ee(0x10b)](existsSync,_0x50b547),'hasEncryptedAuth':_0x1e7561[_0x3a62ee(0x119)](existsSync,_0x1dabb6),'isActive':_0x1e7561['OhBac'](_0x394b23,_0x585fc6)};});return{'envs':_0x4cfdf7,'activeEnv':_0x585fc6};}export async function status(){const _0x53040d=_0x342396,_0x42894b={'nVzLk':'\x0a📊\x20Ranger\x20Status\x0a','GLZda':function(_0x1892f8,_0x50a9ab){return _0x1892f8(_0x50a9ab);},'KgSGd':function(_0x4323c7,_0x24b159,_0x3b078d){return _0x4323c7(_0x24b159,_0x3b078d);},'gDslk':function(_0x4d8fb7){return _0x4d8fb7();},'BnHfz':function(_0x56b428){return _0x56b428();},'OEMRh':_0x53040d(0x142),'eYcTn':_0x53040d(0x14b),'MCfil':_0x53040d(0x121),'yWYDF':function(_0x2f71b6,_0x2693bc){return _0x2f71b6(_0x2693bc);},'CVMRu':_0x53040d(0x137),'isSOj':'enabled','AAGgP':'ranger@trailhead','JiBae':_0x53040d(0x126),'vfdSw':_0x53040d(0x100),'MpLBL':function(_0x189e80){return _0x189e80();},'sRUHO':'No\x20skills\x20installed','nFPzv':function(_0xa02547,_0xcf77a6){return _0xa02547>_0xcf77a6;},'yjATp':'\x20\x20Project-level:','khaHO':function(_0x203955,_0x71cb26){return _0x203955(_0x71cb26);},'UkyVv':function(_0x44fdac,_0x13cd93){return _0x44fdac>_0x13cd93;},'HtSFV':'\x20\x20User-level:','EwCyM':_0x53040d(0x138),'DEbxM':function(_0x1fcb2a,_0x438b5b){return _0x1fcb2a(_0x438b5b);},'UDOHW':'plaintext','nHzQn':_0x53040d(0x114),'idVcJ':function(_0x88ab2c,_0x2427f8){return _0x88ab2c!==_0x2427f8;}};console[_0x53040d(0x112)](_0x42894b[_0x53040d(0x150)]);const _0x25e024=process[_0x53040d(0xe6)](),_0x395f3d=getRangerDir();if(!_0x42894b['GLZda'](existsSync,_0x395f3d)){console['log'](_0x53040d(0x117)+_0x42894b['KgSGd'](link,_0x25e024,bold(_0x42894b[_0x53040d(0xfb)](basename,_0x25e024)))),console['log'](_0x53040d(0x131)),console[_0x53040d(0x112)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log']('Root:\x20'+link(_0x25e024,bold(_0x42894b['GLZda'](basename,_0x25e024))));const _0x2531ca=_0x42894b['gDslk'](getCurrentVersion),_0xc2b255=getLatestVersion();if(_0xc2b255['version']&&_0xc2b255[_0x53040d(0x106)]!==_0x2531ca)console[_0x53040d(0x112)]('Version:\x20'+_0x2531ca+'\x20(latest:\x20'+_0xc2b255['version']+')'),console[_0x53040d(0x112)]('\x20\x20Run:\x20ranger\x20update');else _0xc2b255['version']?console[_0x53040d(0x112)]('Version:\x20'+_0x2531ca+_0x53040d(0x143)):console[_0x53040d(0x112)]('Version:\x20'+_0x2531ca);const _0x210959=await getToken();if(_0x210959){const _0xbfd25d=await _0x42894b[_0x53040d(0xfb)](getCurrentUser,_0x210959);_0xbfd25d['success']?console[_0x53040d(0x112)](_0x53040d(0xf9)+bold(_0xbfd25d[_0x53040d(0xeb)][_0x53040d(0x10f)])):(console['log'](_0x53040d(0x10c)),console[_0x53040d(0x112)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console['log'](_0x53040d(0x124));process['env'][_0x53040d(0xfe)]&&(console[_0x53040d(0x112)](_0x53040d(0xea)+_0x42894b['BnHfz'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+_0x42894b[_0x53040d(0x14f)](getApiBaseUrl)));console['log']('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x300913=await getOpencodePluginStatus();if(_0x300913[_0x53040d(0x12f)]===_0x53040d(0x136))console[_0x53040d(0x112)]('\x20\x20'+_0x42894b['GLZda'](bold,_0x53040d(0x101))+_0x53040d(0x103)),_0x300913[_0x53040d(0x145)]&&console[_0x53040d(0x112)]('\x20\x20'+_0x300913['details']);else _0x300913[_0x53040d(0x12f)]===_0x42894b[_0x53040d(0x14e)]?(console['log'](_0x42894b['eYcTn']),_0x300913[_0x53040d(0x145)]&&console['log']('\x20\x20'+_0x300913[_0x53040d(0x145)]),console['log'](_0x42894b[_0x53040d(0x133)])):console[_0x53040d(0x112)](_0x53040d(0x128));console[_0x53040d(0x112)](_0x53040d(0xe9));const _0x4d03c3=await _0x42894b['yWYDF'](getPluginInfo,'ranger@trailhead');if(_0x4d03c3){const _0x41eda4=_0x4d03c3[_0x53040d(0xff)]||_0x42894b['CVMRu'],_0xf6580c=_0x4d03c3[_0x53040d(0x127)]?_0x42894b['isSOj']:_0x53040d(0x125);console[_0x53040d(0x112)]('\x20\x20'+bold(_0x42894b['AAGgP'])+_0x53040d(0xef)+_0x41eda4+',\x20'+_0xf6580c+')');}else console['log'](_0x42894b[_0x53040d(0xf6)]),console['log'](_0x53040d(0x10e));console[_0x53040d(0x112)](_0x42894b[_0x53040d(0x115)]);const {project:_0x1976a4,user:_0x18023c}=await _0x42894b[_0x53040d(0x14a)](getInstalledSkills),_0x1b77af=_0x1976a4['filter'](_0x220133=>RANGER_MANAGED_SKILLS[_0x53040d(0x122)](_0x220133['name'])),_0x1ee62c=_0x18023c[_0x53040d(0xf5)](_0x53113b=>RANGER_MANAGED_SKILLS[_0x53040d(0x122)](_0x53113b[_0x53040d(0x12a)])),_0x2ce989=_0x1b77af[_0x53040d(0x130)]+_0x1ee62c['length'];if(_0x2ce989===0x0)console[_0x53040d(0x112)](_0x42894b['sRUHO']),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x42894b['nFPzv'](_0x1b77af[_0x53040d(0x130)],0x0)){console['log'](_0x42894b['yjATp']);for(const _0x3b6bf4 of _0x1b77af){console['log']('\x20\x20\x20\x20'+bold(_0x3b6bf4['displayName'])+':\x20'+link(_0x3b6bf4[_0x53040d(0x146)],_0x42894b['khaHO'](basename,_0x3b6bf4[_0x53040d(0x146)])));}}if(_0x42894b['UkyVv'](_0x1ee62c['length'],0x0)){console['log'](_0x42894b[_0x53040d(0x107)]);for(const _0x13622e of _0x1ee62c){console[_0x53040d(0x112)]('\x20\x20\x20\x20'+bold(_0x13622e['displayName'])+':\x20'+link(_0x13622e[_0x53040d(0x146)],_0x42894b['GLZda'](basename,_0x13622e[_0x53040d(0x146)])));}}}console[_0x53040d(0x112)](_0x42894b[_0x53040d(0x10d)]);const {envs:_0x1fcd37,activeEnv:_0x561164}=await _0x42894b['BnHfz'](getEnvironments);let _0x56e79a=[];if(_0x210959)try{_0x56e79a=await listCloudProfiles();}catch{}const _0x537842=_0x1fcd37['length']+_0x56e79a['length'];if(_0x537842===0x0)console['log']('No\x20profiles\x20configured'),console[_0x53040d(0x112)](_0x53040d(0x108));else{if(_0x42894b['nFPzv'](_0x537842,0x5)){const _0x57836b=[];_0x56e79a['length']>0x0&&_0x57836b['push'](_0x56e79a['length']+'\x20cloud'),_0x1fcd37['length']>0x0&&_0x57836b[_0x53040d(0xe3)](_0x1fcd37[_0x53040d(0x130)]+'\x20local'),console[_0x53040d(0x112)](_0x537842+_0x53040d(0x12d)+_0x57836b['join'](',\x20')+')'),_0x561164&&console['log'](_0x53040d(0x118)+_0x42894b['DEbxM'](bold,_0x561164)),console[_0x53040d(0x112)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x8ce0e8 of _0x56e79a){const _0x1e38e3=_0x8ce0e8['name']===_0x561164?_0x53040d(0x113):'';console[_0x53040d(0x112)]('\x20\x20'+_0x42894b[_0x53040d(0x10a)](bold,_0x8ce0e8[_0x53040d(0x12a)])+'\x20[cloud]'+_0x1e38e3);const _0x547650=_0x8ce0e8['sessionUpdatedAt']?_0x53040d(0x102)+_0x8ce0e8['sessionUpdatedAt']+')':'no\x20session';console['log'](_0x53040d(0xfc)+_0x547650);}const _0x4c6274=new Set(_0x56e79a['map'](_0x3a8705=>_0x3a8705['name']));for(const _0x4c544d of _0x1fcd37){if(_0x4c6274['has'](_0x4c544d['name']))continue;const _0x5b561d=_0x4c544d['isActive']?'\x20(active)':'',_0x150cd4=_0x4c544d['hasEncryptedAuth']?'encrypted':_0x4c544d[_0x53040d(0x110)]?_0x42894b[_0x53040d(0x111)]:_0x42894b[_0x53040d(0x129)];console['log']('\x20\x20'+_0x42894b['DEbxM'](bold,_0x4c544d['name'])+'\x20[local]'+_0x5b561d),console[_0x53040d(0x112)]('\x20\x20\x20\x20Auth:\x20'+_0x150cd4),_0x42894b[_0x53040d(0xfd)](_0x4c544d[_0x53040d(0xf8)],'(not\x20found)')&&console['log'](_0x53040d(0xf1)+_0x42894b['KgSGd'](link,_0x4c544d[_0x53040d(0xf8)],basename(_0x4c544d['settingsPath'])));}if(!_0x561164){console['log'](_0x53040d(0xe7));const _0x20f896=[..._0x56e79a[_0x53040d(0x144)](_0x398140=>_0x398140['name']),..._0x1fcd37['filter'](_0x593177=>!_0x4c6274['has'](_0x593177[_0x53040d(0x12a)]))['map'](_0x315d17=>_0x315d17['name'])];console[_0x53040d(0x112)](_0x53040d(0x123)+_0x20f896[_0x53040d(0x13a)](',\x20')+')');}}}console['log']('');}