@ranger-testing/ranger-cli 3.1.2 → 3.1.3-alpha.2c5eb8e-44

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 +2 -2
@@ -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(_0x4ef62d,_0x3e9f27){const _0x52cbf1=_0x2a01,_0x3ec2ef=_0x4ef62d();while(!![]){try{const _0x273508=-parseInt(_0x52cbf1(0x1a1))/0x1+parseInt(_0x52cbf1(0x19b))/0x2*(parseInt(_0x52cbf1(0x196))/0x3)+parseInt(_0x52cbf1(0x193))/0x4+parseInt(_0x52cbf1(0x195))/0x5+parseInt(_0x52cbf1(0x192))/0x6*(-parseInt(_0x52cbf1(0x1a0))/0x7)+parseInt(_0x52cbf1(0x197))/0x8+-parseInt(_0x52cbf1(0x199))/0x9*(parseInt(_0x52cbf1(0x194))/0xa);if(_0x273508===_0x3e9f27)break;else _0x3ec2ef['push'](_0x3ec2ef['shift']());}catch(_0x2fa85e){_0x3ec2ef['push'](_0x3ec2ef['shift']());}}}(_0x1803,0xa9e51));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x2a01(_0x1c72f4,_0x4701f4){_0x1c72f4=_0x1c72f4-0x190;const _0x18030f=_0x1803();let _0x2a019c=_0x18030f[_0x1c72f4];return _0x2a019c;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x41f346=_0x2a01,_0x1ed82c={'EoXff':function(_0x3f1b80){return _0x3f1b80();},'OaWLE':_0x41f346(0x19c),'ZxRuh':function(_0x36cf4c){return _0x36cf4c();}},_0x343342=await _0x1ed82c['EoXff'](getMcpAuthOrigin);if(_0x343342){console['log'](_0x1ed82c[_0x41f346(0x19f)]),await mcpBootstrap();return;}if(!_0x1ed82c['ZxRuh'](isInteractive))throw new Error(_0x41f346(0x19e));try{const _0x35dce5=await runDeviceAuthFlow(),_0x5020d7=await getCurrentUser(_0x35dce5);_0x5020d7[_0x41f346(0x191)]?console[_0x41f346(0x190)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x5020d7['user'][_0x41f346(0x19a)]):console[_0x41f346(0x190)]('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x126dc7){throw new Error(_0x41f346(0x198)+(_0x126dc7 instanceof Error?_0x126dc7[_0x41f346(0x19d)]:_0x126dc7));}}function _0x1803(){const _0xbe00c8=['Login\x20failed:\x20','288BGiqeW','organizationName','94854NoBPqP','Re-authenticating\x20via\x20MCP\x20bootstrap...','message','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','OaWLE','7340683vRQxta','533485QkzxrR','log','success','6FCGVRQ','4700752uWVMcC','26740anuTna','2287920UKfRrk','6oUhaaT','5087880RzfYIe'];_0x1803=function(){return _0xbe00c8;};return _0x1803();}
@@ -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 _0xd0a8a1=_0x431c;(function(_0xf69cfc,_0x1b661d){const _0x30e537=_0x431c,_0x5ef4db=_0xf69cfc();while(!![]){try{const _0x1c70c9=parseInt(_0x30e537(0x18c))/0x1+-parseInt(_0x30e537(0x1ad))/0x2+parseInt(_0x30e537(0x143))/0x3*(parseInt(_0x30e537(0x1bb))/0x4)+-parseInt(_0x30e537(0x1b0))/0x5+-parseInt(_0x30e537(0x14b))/0x6*(parseInt(_0x30e537(0x171))/0x7)+-parseInt(_0x30e537(0x137))/0x8+parseInt(_0x30e537(0x140))/0x9;if(_0x1c70c9===_0x1b661d)break;else _0x5ef4db['push'](_0x5ef4db['shift']());}catch(_0x5e3b1d){_0x5ef4db['push'](_0x5ef4db['shift']());}}}(_0x3fe1,0xc38aa));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';function _0x431c(_0x409c9b,_0x42c92a){_0x409c9b=_0x409c9b-0x133;const _0x3fe1c9=_0x3fe1();let _0x431cfa=_0x3fe1c9[_0x409c9b];return _0x431cfa;}const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0xd0a8a1(0x16d)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x720e1a=_0xd0a8a1,_0x4d39f8={'FktAx':function(_0x154454,_0x2efb2a,_0x5d2d20){return _0x154454(_0x2efb2a,_0x5d2d20);},'ZZtbR':'utf-8'};try{const _0x519b1e=(await _0x4d39f8['FktAx'](readFile,AUTH_ORIGIN_PATH,_0x4d39f8[_0x720e1a(0x19d)]))['trim']();return _0x519b1e||null;}catch{return null;}}export async function mcpBootstrap(){const _0xec4fc8=_0xd0a8a1,_0x160bbf={'hMbFJ':function(_0x491cbd){return _0x491cbd();},'qNxQL':'proxied'},_0x315e4b=_0x160bbf[_0xec4fc8(0x158)](getMcpAuthUrl);currentOrigin=_0x315e4b;const _0x347136=process[_0xec4fc8(0x156)][_0xec4fc8(0x16c)]??![];console[_0xec4fc8(0x19b)](_0xec4fc8(0x1ac)+_0x315e4b+'\x0a');const _0x292fdc=await tryUnauthenticated(_0x315e4b);let _0x42661b=null;if(_0x292fdc===_0x160bbf['qNxQL'])_0x42661b='';else{_0x42661b=await loadCachedToken();if(!_0x42661b){if(!_0x347136)throw new Error('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'+'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.');_0x42661b=await oauthFlow(_0x315e4b);}}await callGetCliToken(_0x315e4b,_0x42661b);}async function tryUnauthenticated(_0x5ee2be){const _0x5dfc65=_0xd0a8a1,_0x4f08ff={'QefWA':_0x5dfc65(0x155),'hkpci':_0x5dfc65(0x161),'gIcwe':_0x5dfc65(0x194),'GryWS':_0x5dfc65(0x14e),'nKaXc':_0x5dfc65(0x180),'zXBoW':'2025-03-26','PTWOS':_0x5dfc65(0x1c5),'YGJlg':function(_0x5ac26c,_0x5a2cdf){return _0x5ac26c===_0x5a2cdf;},'iyPNk':'needs-oauth'},_0x21c3e3=await fetch(_0x5ee2be,{'method':_0x4f08ff['QefWA'],'headers':{'Content-Type':_0x4f08ff['hkpci'],'Accept':_0x4f08ff[_0x5dfc65(0x1b6)]},'body':JSON['stringify']({'jsonrpc':_0x4f08ff[_0x5dfc65(0x195)],'id':0x1,'method':_0x4f08ff['nKaXc'],'params':{'protocolVersion':_0x4f08ff[_0x5dfc65(0x188)],'capabilities':{},'clientInfo':{'name':_0x5dfc65(0x181),'version':_0x5dfc65(0x1af)}}})});if(_0x21c3e3['ok'])return await _0x21c3e3['text'](),_0x4f08ff[_0x5dfc65(0x198)];if(_0x4f08ff[_0x5dfc65(0x193)](_0x21c3e3[_0x5dfc65(0x18f)],0x191))return await _0x21c3e3[_0x5dfc65(0x16a)](),_0x4f08ff['iyPNk'];const _0x12fb0e=await _0x21c3e3[_0x5dfc65(0x16a)]();throw new Error(_0x5dfc65(0x186)+_0x21c3e3['status']+':\x20'+_0x12fb0e);}class OAuthTimeoutError extends Error{constructor(_0x2fde3a){const _0x81465c=_0xd0a8a1;super(_0x2fde3a),this[_0x81465c(0x16e)]='OAuthTimeoutError';}}async function oauthFlow(_0x19e906){const _0x420192=_0xd0a8a1,_0x5b4424={'bQnyP':function(_0x4a6a0e,_0x5aa931){return _0x4a6a0e instanceof _0x5aa931;},'kgnuC':function(_0x439a7e){return _0x439a7e();}};try{return await oauthFlowAttempt(_0x19e906);}catch(_0x4bc095){if(_0x5b4424[_0x420192(0x1ae)](_0x4bc095,OAuthTimeoutError)&&await _0x5b4424['kgnuC'](loadCachedClient))return console['log'](_0x420192(0x1c1)),await clearCachedClient(),await oauthFlowAttempt(_0x19e906);throw _0x4bc095;}}async function oauthFlowAttempt(_0xd9e9e1){const _0x16c194=_0xd0a8a1,_0x1459a5={'BeEEY':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','plmjZ':function(_0xf3b360){return _0xf3b360();},'qUJTe':_0x16c194(0x173),'gdluO':function(_0x2c7eec,_0x1fd40f,_0x3634a1){return _0x2c7eec(_0x1fd40f,_0x3634a1);},'IjIOx':_0x16c194(0x155),'jcicL':_0x16c194(0x136),'hJnVQ':function(_0x22725c,_0x4fb4d4,_0x4e1310){return _0x22725c(_0x4fb4d4,_0x4e1310);},'nwPDw':_0x16c194(0x13f),'ePfzi':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','RYjCd':function(_0x265dd2,_0x563411){return _0x265dd2(_0x563411);},'OEIbw':function(_0x5102f3,_0x17c671){return _0x5102f3(_0x17c671);},'FzFYH':_0x16c194(0x1a1),'ioVaL':_0x16c194(0x1c4),'smcrf':'code_challenge','stZrw':'\x0aOpening\x20browser\x20for\x20authentication...','ZjSWv':function(_0x167b92,_0x398a44){return _0x167b92(_0x398a44);},'OIGvl':function(_0xa9656e,_0x590815){return _0xa9656e(_0x590815);},'uitAE':'client_secret','TPNXU':'resource'},_0x1d9518=_0xd9e9e1[_0x16c194(0x1be)](/\/mcp$/,'');process['stdout'][_0x16c194(0x135)]('Discovering\x20authorization\x20server...');const _0x4ad213=await fetch(_0x1d9518+'/.well-known/oauth-protected-resource');if(!_0x4ad213['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x4120e0=await _0x4ad213[_0x16c194(0x138)](),_0x49c77a=_0x4120e0[_0x16c194(0x1b2)]?.[0x0];if(!_0x49c77a)throw new Error(_0x1459a5['BeEEY']);console['log']('\x20'+_0x49c77a);const _0x5ca4fe=await fetchAuthServerMetadata(_0x49c77a);let _0xcb4f87,_0x387f0d;const _0x2a3074=await _0x1459a5['plmjZ'](loadCachedClient);if(_0x2a3074)_0xcb4f87=_0x2a3074[_0x16c194(0x1a6)],_0x387f0d=_0x2a3074['clientSecret'];else{if(_0x5ca4fe[_0x16c194(0x141)]){process[_0x16c194(0x156)][_0x16c194(0x135)](_0x1459a5[_0x16c194(0x14c)]);const _0x1d98b2=await _0x1459a5['gdluO'](fetch,_0x5ca4fe[_0x16c194(0x141)],{'method':_0x1459a5[_0x16c194(0x149)],'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'client_name':_0x16c194(0x14f),'redirect_uris':[_0x16c194(0x139)+CALLBACK_PORT+'/callback'],'grant_types':[_0x16c194(0x175),_0x16c194(0x1a7)],'response_types':[_0x1459a5[_0x16c194(0x1a3)]],'token_endpoint_auth_method':_0x16c194(0x147)})});if(!_0x1d98b2['ok']){const _0x5f484c=await _0x1d98b2[_0x16c194(0x16a)]();throw new Error(_0x16c194(0x1a5)+_0x5f484c);}const _0x5c8d64=await _0x1d98b2[_0x16c194(0x138)]();_0xcb4f87=_0x5c8d64['client_id'],_0x387f0d=_0x5c8d64['client_secret'],await _0x1459a5['hJnVQ'](saveCachedClient,_0xcb4f87,_0x387f0d),console['log'](_0x1459a5['nwPDw']);}else throw new Error(_0x1459a5[_0x16c194(0x1bf)]);}const _0x3f68a0=_0x1459a5[_0x16c194(0x15f)](randomBytes,0x20)['toString']('base64url'),_0x1eff34=_0x1459a5[_0x16c194(0x15f)](createHash,_0x16c194(0x134))[_0x16c194(0x151)](_0x3f68a0)['digest'](_0x16c194(0x179)),_0x26998b=_0x1459a5['OEIbw'](randomBytes,0x10)['toString'](_0x1459a5[_0x16c194(0x160)]),_0x5cccd8=new URL(_0x5ca4fe[_0x16c194(0x142)]);_0x5cccd8['searchParams'][_0x16c194(0x146)]('response_type',_0x16c194(0x136)),_0x5cccd8['searchParams'][_0x16c194(0x146)]('client_id',_0xcb4f87),_0x5cccd8[_0x16c194(0x17b)][_0x16c194(0x146)](_0x1459a5['ioVaL'],'http://localhost:'+CALLBACK_PORT+_0x16c194(0x153)),_0x5cccd8[_0x16c194(0x17b)][_0x16c194(0x146)](_0x1459a5['smcrf'],_0x1eff34),_0x5cccd8[_0x16c194(0x17b)]['set']('code_challenge_method','S256'),_0x5cccd8['searchParams'][_0x16c194(0x146)]('state',_0x26998b);_0x4120e0['resource']&&_0x5cccd8[_0x16c194(0x17b)]['set'](_0x16c194(0x1aa),_0x4120e0[_0x16c194(0x1aa)]);console['log'](_0x1459a5['stZrw']),console[_0x16c194(0x19b)](_0x16c194(0x1bd)+_0x5cccd8[_0x16c194(0x1a0)]()+'\x0a'),await _0x1459a5[_0x16c194(0x197)](openBrowser,_0x5cccd8['toString']());const _0x503a74=await _0x1459a5['OIGvl'](waitForCallback,_0x26998b);process[_0x16c194(0x156)][_0x16c194(0x135)](_0x16c194(0x1b3));const _0x26155c=new URLSearchParams({'grant_type':'authorization_code','code':_0x503a74,'redirect_uri':_0x16c194(0x139)+CALLBACK_PORT+'/callback','client_id':_0xcb4f87,'code_verifier':_0x3f68a0});_0x387f0d&&_0x26155c['set'](_0x1459a5['uitAE'],_0x387f0d);_0x4120e0['resource']&&_0x26155c['set'](_0x1459a5[_0x16c194(0x170)],_0x4120e0[_0x16c194(0x1aa)]);const _0x4619aa=await fetch(_0x5ca4fe['token_endpoint'],{'method':_0x16c194(0x155),'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x26155c});if(!_0x4619aa['ok']){const _0x50c7ab=await _0x4619aa['text']();throw new Error(_0x16c194(0x163)+_0x50c7ab);}const _0x2fb2b0=await _0x4619aa['json']();return console[_0x16c194(0x19b)](_0x1459a5[_0x16c194(0x17c)]),await saveCachedToken(_0x2fb2b0['access_token'],_0x2fb2b0[_0x16c194(0x1a7)],_0x2fb2b0['expires_in']),_0x2fb2b0['access_token'];}async function callGetCliToken(_0x37c3aa,_0x3804c5){const _0x20bbc9=_0xd0a8a1,_0x5e30db={'fQSKR':function(_0x4a0386,_0x2f5abe,_0xf1384d){return _0x4a0386(_0x2f5abe,_0xf1384d);},'RYkTB':_0x20bbc9(0x155),'WvlTO':function(_0x5e8280,_0x45a645){return _0x5e8280(_0x45a645);},'eiEto':'application/json,\x20text/event-stream','kiYRa':'Initializing\x20MCP\x20session...','bQuDv':function(_0x1ae864,_0x501096){return _0x1ae864(_0x501096);},'IJgBO':'ranger-cli','KXueE':_0x20bbc9(0x14e),'eWiSG':'tools/call','oTSxJ':'\x20done','qbRZZ':function(_0x482e5c,_0x301079){return _0x482e5c(_0x301079);},'tlDpp':function(_0x52c8df){return _0x52c8df();},'UrtSX':_0x20bbc9(0x17e),'ibPnX':_0x20bbc9(0x13c),'TeXWX':function(_0xebd5bd,_0x540141,_0x10c220,_0x2bbfd6){return _0xebd5bd(_0x540141,_0x10c220,_0x2bbfd6);},'WRZAj':function(_0x416aa6,_0x175c59,_0x18151b,_0x1185cb){return _0x416aa6(_0x175c59,_0x18151b,_0x1185cb);}},_0x48098d={'Content-Type':'application/json','Accept':_0x5e30db['eiEto']};_0x3804c5&&(_0x48098d[_0x20bbc9(0x1b4)]=_0x20bbc9(0x150)+_0x3804c5);const _0x1479cd=async _0x3ac559=>{const _0x2abbff=_0x20bbc9,_0x3ccc90=await _0x5e30db[_0x2abbff(0x169)](fetch,_0x37c3aa,{'method':_0x5e30db['RYkTB'],'headers':_0x48098d,'body':JSON[_0x2abbff(0x1a8)](_0x3ac559)});if(!_0x3ccc90['ok']){const _0x33aa78=await _0x3ccc90[_0x2abbff(0x16a)]();throw new Error(_0x2abbff(0x1bc)+_0x3ccc90['status']+':\x20'+_0x33aa78);}return _0x5e30db[_0x2abbff(0x167)](parseResponse,_0x3ccc90);};process['stdout'][_0x20bbc9(0x135)](_0x5e30db[_0x20bbc9(0x148)]);const _0x3414dd=await _0x5e30db['bQuDv'](_0x1479cd,{'jsonrpc':_0x20bbc9(0x14e),'id':0x1,'method':_0x20bbc9(0x180),'params':{'protocolVersion':_0x20bbc9(0x168),'capabilities':{},'clientInfo':{'name':_0x5e30db['IJgBO'],'version':'1.0.0'}}});if(_0x3414dd[_0x20bbc9(0x183)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x3414dd['error'][_0x20bbc9(0x165)]??JSON[_0x20bbc9(0x1a8)](_0x3414dd['error'])));console['log']('\x20done'),await fetch(_0x37c3aa,{'method':_0x20bbc9(0x155),'headers':_0x48098d,'body':JSON[_0x20bbc9(0x1a8)]({'jsonrpc':_0x5e30db[_0x20bbc9(0x162)],'method':'notifications/initialized'})})[_0x20bbc9(0x18d)](_0x5db2af=>_0x5db2af['text']()),process[_0x20bbc9(0x156)][_0x20bbc9(0x135)](_0x20bbc9(0x1c2));const _0x511f1b=await _0x1479cd({'jsonrpc':_0x5e30db['KXueE'],'id':0x2,'method':_0x5e30db['eWiSG'],'params':{'name':_0x20bbc9(0x133),'arguments':{}}});if(_0x511f1b[_0x20bbc9(0x183)])throw new Error('get_cli_token\x20failed:\x20'+(_0x511f1b['error'][_0x20bbc9(0x165)]??JSON[_0x20bbc9(0x1a8)](_0x511f1b['error'])));console['log'](_0x5e30db['oTSxJ']);const _0x2ace7c=_0x5e30db['qbRZZ'](extractToken,_0x511f1b['result']);if(!_0x2ace7c){console[_0x20bbc9(0x183)](_0x20bbc9(0x13b)),console[_0x20bbc9(0x183)](JSON[_0x20bbc9(0x1a8)](_0x511f1b[_0x20bbc9(0x19c)],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x4e6fb5=join(_0x5e30db['tlDpp'](homedir),_0x5e30db[_0x20bbc9(0x1a2)]),_0x4db7a3=_0x5e30db[_0x20bbc9(0x169)](join,_0x4e6fb5,_0x5e30db['ibPnX']);await mkdir(_0x4e6fb5,{'recursive':!![]}),await _0x5e30db[_0x20bbc9(0x164)](writeFile,_0x4db7a3,_0x2ace7c,{'mode':0x180}),await _0x5e30db[_0x20bbc9(0x154)](writeFile,_0x5e30db[_0x20bbc9(0x169)](join,_0x4e6fb5,_0x20bbc9(0x17d)),_0x37c3aa,{'mode':0x180}),console[_0x20bbc9(0x19b)]('\x0aToken\x20written\x20to\x20'+_0x4db7a3),console[_0x20bbc9(0x19b)](_0x20bbc9(0x13a));}async function fetchAuthServerMetadata(_0x1b7618){const _0x4b9326=_0xd0a8a1,_0x18b2d8=_0x1b7618+_0x4b9326(0x145),_0x9f121d=await fetch(_0x18b2d8);if(!_0x9f121d['ok'])throw new Error(_0x4b9326(0x18a)+_0x18b2d8+':\x20'+_0x9f121d['status']);return _0x9f121d['json']();}function waitForCallback(_0x54ef91){const _0x55485b=_0xd0a8a1,_0x26aeab={'adzir':function(_0x3ede77){return _0x3ede77();},'cRuOs':_0x55485b(0x1c0),'IjYGJ':function(_0x2e4629,_0x5bf376){return _0x2e4629!==_0x5bf376;},'iJaGi':_0x55485b(0x153),'ZSvmD':_0x55485b(0x1a9),'lCORJ':'error_description','zFXWh':function(_0x8f4b93,_0x12d10f){return _0x8f4b93(_0x12d10f);},'LZcVD':'text/html','cnWaH':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','wEJmP':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','KUQpU':function(_0x427e33,_0x512233){return _0x427e33(_0x512233);},'uxCXz':function(_0x9306f2){return _0x9306f2();},'nDaqG':function(_0x4213bb,_0x1422d2,_0x58b49e){return _0x4213bb(_0x1422d2,_0x58b49e);},'ckywc':function(_0xd16d2b,_0x1bd0ab){return _0xd16d2b(_0x1bd0ab);}};return new Promise((_0x4e2ef4,_0x393385)=>{const _0x33fce9=_0x55485b,_0x15affc=()=>{const _0x5a65dd=_0x431c;_0x25ac14['closeAllConnections'](),_0x25ac14[_0x5a65dd(0x199)]();},_0x1472ae=_0x26aeab['nDaqG'](setTimeout,()=>{const _0x229df5=_0x431c;_0x26aeab[_0x229df5(0x1ba)](_0x15affc),_0x393385(new OAuthTimeoutError(_0x26aeab['cRuOs']));},0x1d4c0),_0x25ac14=_0x26aeab['ckywc'](createServer,(_0x24d441,_0x6873e4)=>{const _0x1088e0=_0x431c,_0x406ff4=new URL(_0x24d441[_0x1088e0(0x1b9)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x26aeab[_0x1088e0(0x196)](_0x406ff4[_0x1088e0(0x15c)],_0x26aeab[_0x1088e0(0x1a4)])){_0x6873e4['writeHead'](0x194),_0x6873e4[_0x1088e0(0x1ab)]('Not\x20found');return;}const _0x4647e0=_0x406ff4['searchParams']['get'](_0x1088e0(0x136)),_0x447b40=_0x406ff4['searchParams'][_0x1088e0(0x185)](_0x26aeab[_0x1088e0(0x190)]),_0x1f7e8b=_0x406ff4[_0x1088e0(0x17b)][_0x1088e0(0x185)]('error');if(_0x1f7e8b){const _0x3504e1=_0x406ff4[_0x1088e0(0x17b)]['get'](_0x26aeab['lCORJ'])??_0x1f7e8b;_0x6873e4[_0x1088e0(0x15d)](0xc8,{'Content-Type':_0x1088e0(0x187)}),_0x6873e4['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x3504e1+_0x1088e0(0x1b1)),clearTimeout(_0x1472ae),_0x15affc(),_0x26aeab[_0x1088e0(0x14d)](_0x393385,new Error(_0x1088e0(0x19f)+_0x3504e1));return;}if(!_0x4647e0||_0x447b40!==_0x54ef91){_0x6873e4[_0x1088e0(0x15d)](0x190,{'Content-Type':_0x26aeab[_0x1088e0(0x13e)]}),_0x6873e4[_0x1088e0(0x1ab)](_0x26aeab[_0x1088e0(0x1c3)]);return;}_0x6873e4['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x6873e4['end'](_0x26aeab[_0x1088e0(0x152)]),_0x26aeab[_0x1088e0(0x18b)](clearTimeout,_0x1472ae),_0x26aeab['uxCXz'](_0x15affc),_0x4e2ef4(_0x4647e0);});_0x25ac14[_0x33fce9(0x178)](CALLBACK_PORT,_0x33fce9(0x1b8));});}async function openBrowser(_0x3111b3){const _0x57ed27=_0xd0a8a1,_0x1a2198={'rxOpH':_0x57ed27(0x159),'rfRVE':_0x57ed27(0x19a)},_0x3f51ce=process[_0x57ed27(0x144)]===_0x1a2198['rxOpH']?_0x1a2198['rfRVE']:process[_0x57ed27(0x144)]===_0x57ed27(0x13d)?'start':'xdg-open';exec(_0x3f51ce+'\x20\x22'+_0x3111b3+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x242820=_0xd0a8a1,_0x59b504={'xtnxa':function(_0x3d3c0d,_0x11e3d1,_0x39cfd9){return _0x3d3c0d(_0x11e3d1,_0x39cfd9);}};try{const _0x45c380=JSON['parse'](await _0x59b504[_0x242820(0x16f)](readFile,TOKEN_CACHE_PATH,_0x242820(0x157)));if(_0x45c380[_0x242820(0x19e)]&&_0x45c380['origin']!==currentOrigin)return null;if(_0x45c380['expiresAt']&&Date[_0x242820(0x1b7)]()>_0x45c380['expiresAt'])return null;return _0x45c380[_0x242820(0x166)]??null;}catch{return null;}}async function saveCachedToken(_0x4a2d0d,_0x1fef74,_0x498e6f){const _0x23a4c8=_0xd0a8a1,_0x14257f={'AbwTe':function(_0x13572a,_0xfa5798){return _0x13572a*_0xfa5798;},'ygQSF':function(_0x396a73,_0x4cfd7d,_0x48cb30){return _0x396a73(_0x4cfd7d,_0x48cb30);},'HEOdj':function(_0x12276f){return _0x12276f();}},_0x589f80=await loadCachedData(),_0x4f4fc7={..._0x589f80,'origin':currentOrigin,'accessToken':_0x4a2d0d,'refreshToken':_0x1fef74??_0x589f80?.['refreshToken'],'expiresAt':_0x498e6f?Date['now']()+_0x14257f['AbwTe'](_0x498e6f,0x3e8):undefined};await mkdir(_0x14257f[_0x23a4c8(0x176)](join,_0x14257f['HEOdj'](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x23a4c8(0x1a8)](_0x4f4fc7),{'mode':0x180});}async function loadCachedClient(){const _0xcccd7e=_0xd0a8a1,_0x2e29fd={'tNlnW':function(_0x20f141){return _0x20f141();}},_0x282cc8=await _0x2e29fd['tNlnW'](loadCachedData);if(_0x282cc8?.[_0xcccd7e(0x19e)]&&_0x282cc8[_0xcccd7e(0x19e)]!==currentOrigin)return null;return _0x282cc8?.['clientId']?{'clientId':_0x282cc8['clientId'],'clientSecret':_0x282cc8['clientSecret']}:null;}async function clearCachedClient(){const _0x1f9a09=_0xd0a8a1,_0x436e45=await loadCachedData();if(!_0x436e45)return;const {clientId:_0x5cf1a6,clientSecret:_0xec0e55,..._0x132d0e}=_0x436e45;await writeFile(TOKEN_CACHE_PATH,JSON[_0x1f9a09(0x1a8)](_0x132d0e),{'mode':0x180});}async function saveCachedClient(_0x303a32,_0x1ede85){const _0x9a2bbe=_0xd0a8a1,_0x38fd69={'pXnHG':function(_0x2b79ac,_0x17bf5f,_0x4f4d4f){return _0x2b79ac(_0x17bf5f,_0x4f4d4f);},'Qtfsm':function(_0x1b33e8,_0x43a7ee,_0x5ee81e,_0x3baae3){return _0x1b33e8(_0x43a7ee,_0x5ee81e,_0x3baae3);}},_0x4fdb1d=await loadCachedData(),_0x53905e={..._0x4fdb1d,'origin':currentOrigin,'accessToken':_0x4fdb1d?.[_0x9a2bbe(0x166)]??'','clientId':_0x303a32,'clientSecret':_0x1ede85};await mkdir(_0x38fd69[_0x9a2bbe(0x15b)](join,homedir(),'.ranger'),{'recursive':!![]}),await _0x38fd69[_0x9a2bbe(0x1b5)](writeFile,TOKEN_CACHE_PATH,JSON[_0x9a2bbe(0x1a8)](_0x53905e),{'mode':0x180});}function _0x3fe1(){const _0x5c5bdd=['Authorization','Qtfsm','gIcwe','now','127.0.0.1','url','adzir','61116JlydPm','HTTP\x20','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','replace','ePfzi','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','Requesting\x20CLI\x20token...','cnWaH','redirect_uri','proxied','type','get_cli_token','sha256','write','code','9114064zaTcuO','json','http://localhost:','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','\x0aUnexpected\x20response\x20structure:','refresh.txt','win32','LZcVD','\x20done','28127034Gopaec','registration_endpoint','authorization_endpoint','141hIbHYg','platform','/.well-known/oauth-authorization-server','set','none','kiYRa','IjIOx','parse','682782MUJrxj','qUJTe','zFXWh','2.0','Ranger\x20CLI','Bearer\x20','update','wEJmP','/callback','WRZAj','POST','stdout','utf-8','hMbFJ','darwin','gmxsb','pXnHG','pathname','writeHead','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','RYjCd','FzFYH','application/json','KXueE','Token\x20exchange\x20failed:\x20','TeXWX','message','accessToken','WvlTO','2025-03-26','fQSKR','text','content','isTTY','mcp-oauth-tokens.json','name','xtnxa','TPNXU','21uyumAc','HXtpy','Registering\x20OAuth\x20client...','token','authorization_code','ygQSF','content-type','listen','base64url','data:','searchParams','nwPDw','auth-origin.txt','.ranger','trim','initialize','ranger-cli','text/event-stream','error','includes','get','MCP\x20server\x20returned\x20HTTP\x20','text/html','zXBoW','headers','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','KUQpU','265895jxGqKy','then','AHgOO','status','ZSvmD','isError','length','YGJlg','application/json,\x20text/event-stream','GryWS','IjYGJ','ZjSWv','PTWOS','close','open','log','result','ZZtbR','origin','OAuth\x20error:\x20','toString','hex','UrtSX','jcicL','iJaGi','Client\x20registration\x20failed:\x20','clientId','refresh_token','stringify','state','resource','end','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','1325716cBkuai','bQnyP','1.0.0','5823945TuuJLh','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','authorization_servers','Exchanging\x20authorization\x20code...'];_0x3fe1=function(){return _0x5c5bdd;};return _0x3fe1();}async function loadCachedData(){const _0x3d7618=_0xd0a8a1;try{return JSON[_0x3d7618(0x14a)](await readFile(TOKEN_CACHE_PATH,_0x3d7618(0x157)));}catch{return null;}}async function parseResponse(_0x2ac7af){const _0x439f68=_0xd0a8a1,_0x226a03={'DAPnd':_0x439f68(0x177),'PQxym':_0x439f68(0x182),'HXtpy':function(_0x1cc9d8,_0x120389){return _0x1cc9d8!==_0x120389;},'gmxsb':_0x439f68(0x15e)},_0x443ce9=_0x2ac7af[_0x439f68(0x189)][_0x439f68(0x185)](_0x226a03['DAPnd'])??'';if(_0x443ce9[_0x439f68(0x184)](_0x226a03['PQxym'])){const _0x2e4f82=await _0x2ac7af[_0x439f68(0x16a)]();for(const _0x3e25d5 of _0x2e4f82['split']('\x0a')){const _0x2008fb=_0x3e25d5['trim']();if(_0x2008fb['startsWith'](_0x439f68(0x17a))){const _0x6a050d=_0x2008fb['slice'](_0x439f68(0x17a)[_0x439f68(0x192)])[_0x439f68(0x17f)]();if(!_0x6a050d)continue;try{const _0x46f6a9=JSON['parse'](_0x6a050d);if(_0x226a03[_0x439f68(0x172)](_0x46f6a9['id'],undefined)||_0x46f6a9['error'])return _0x46f6a9;}catch{}}}throw new Error(_0x226a03[_0x439f68(0x15a)]);}return _0x2ac7af[_0x439f68(0x138)]();}function extractToken(_0x3b3944){const _0xcd987c=_0xd0a8a1,_0x211655={'hwFlg':function(_0x262d05,_0x3def84){return _0x262d05===_0x3def84;},'WzbGD':function(_0x4db735,_0x4579fd){return _0x4db735===_0x4579fd;},'AHgOO':_0xcd987c(0x16a)};if(!_0x3b3944)return null;const _0x5dd278=_0x3b3944['structuredContent'];if(_0x5dd278?.['token']&&_0x211655['hwFlg'](typeof _0x5dd278['token'],'string'))return _0x5dd278['token'];if(_0x3b3944[_0xcd987c(0x191)]){const _0x1c6ab6=_0x3b3944[_0xcd987c(0x16b)];throw new Error('Server\x20returned\x20error:\x20'+(_0x1c6ab6?.[0x0]?.['text']??'Unknown\x20error'));}const _0x23058f=_0x3b3944['content'];if(_0x23058f)for(const _0x2dcea7 of _0x23058f){if(_0x211655['WzbGD'](_0x2dcea7[_0xcd987c(0x1c6)],_0x211655[_0xcd987c(0x18e)])&&_0x2dcea7[_0xcd987c(0x16a)]){try{const _0x269b9b=JSON['parse'](_0x2dcea7['text']);if(typeof _0x269b9b?.['token']==='string')return _0x269b9b[_0xcd987c(0x174)];}catch{}const _0x524fc8=_0x2dcea7['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x524fc8)return _0x524fc8[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(_0x4f6a0e,_0x3a3060){var _0x4e755d=_0x1caf,_0x2e1530=_0x4f6a0e();while(!![]){try{var _0x33eae6=parseInt(_0x4e755d(0x168))/0x1*(-parseInt(_0x4e755d(0x167))/0x2)+parseInt(_0x4e755d(0x16e))/0x3*(parseInt(_0x4e755d(0x16a))/0x4)+parseInt(_0x4e755d(0x170))/0x5+parseInt(_0x4e755d(0x173))/0x6*(parseInt(_0x4e755d(0x16d))/0x7)+-parseInt(_0x4e755d(0x176))/0x8*(-parseInt(_0x4e755d(0x165))/0x9)+parseInt(_0x4e755d(0x172))/0xa+-parseInt(_0x4e755d(0x16b))/0xb;if(_0x33eae6===_0x3a3060)break;else _0x2e1530['push'](_0x2e1530['shift']());}catch(_0x2677cf){_0x2e1530['push'](_0x2e1530['shift']());}}}(_0x51a8,0xb73b3));export async function migrateProfile(_0x91f9eb,_0x4f8076){var _0x3bec0b=_0x1caf,_0x3cc3d5={'xfyyy':function(_0x44b1b8,_0x24305f){return _0x44b1b8+_0x24305f;},'eWZrs':_0x3bec0b(0x171),'lXcXE':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','CWNgQ':_0x3bec0b(0x174),'OETQm':_0x3bec0b(0x16c)};console['error'](_0x3cc3d5[_0x3bec0b(0x169)](_0x3cc3d5[_0x3bec0b(0x16f)]+'\x0a',_0x3bec0b(0x166))+_0x3cc3d5['lXcXE']+'\x0a'+_0x3cc3d5['CWNgQ']+'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a'+'\x0a'+'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'+_0x3cc3d5['OETQm']),process[_0x3bec0b(0x175)](0x1);}function _0x1caf(_0xcce018,_0x42dac2){_0xcce018=_0xcce018-0x165;var _0x51a817=_0x51a8();var _0x1caf74=_0x51a817[_0xcce018];return _0x1caf74;}function _0x51a8(){var _0x5db77f=['eWZrs','1759860sWSDhT','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','2788310TllyvA','1418988ZmtdVG','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','exit','160KVyDsO','580338AkicLc','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','2669686yIfiVB','1scWYwY','xfyyy','1657996fuLuWi','17067358gVpYzm','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','14aNYNBa','9PpJdsm'];_0x51a8=function(){return _0x5db77f;};return _0x51a8();}
@@ -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(_0x5e341b,_0x537519){const _0x10ace7=_0x3cc4,_0x1ff666=_0x5e341b();while(!![]){try{const _0x5b26ca=parseInt(_0x10ace7(0xab))/0x1*(-parseInt(_0x10ace7(0xb1))/0x2)+parseInt(_0x10ace7(0xb3))/0x3*(-parseInt(_0x10ace7(0xaa))/0x4)+-parseInt(_0x10ace7(0xce))/0x5+parseInt(_0x10ace7(0xd2))/0x6+-parseInt(_0x10ace7(0xc5))/0x7*(-parseInt(_0x10ace7(0xb2))/0x8)+-parseInt(_0x10ace7(0xcd))/0x9+-parseInt(_0x10ace7(0xac))/0xa*(-parseInt(_0x10ace7(0xb9))/0xb);if(_0x5b26ca===_0x537519)break;else _0x1ff666['push'](_0x1ff666['shift']());}catch(_0x3bdd7d){_0x1ff666['push'](_0x1ff666['shift']());}}}(_0x28f4,0xec324));import{join}from'path';function _0x3cc4(_0x5d4a20,_0x39e78a){_0x5d4a20=_0x5d4a20-0xa0;const _0x28f4a2=_0x28f4();let _0x3cc4cc=_0x28f4a2[_0x5d4a20];return _0x3cc4cc;}function _0x28f4(){const _0x44880f=['pluginScope','error','11YNIwls','success','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','ranger@trailhead','qrJEH','eKGqP','WhSud','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','User\x20(available\x20in\x20all\x20your\x20projects)','wADFV','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','plugin','41412khLrKG','❌\x20Failed\x20to\x20install\x20plugin:','PnUJo','\x0aYou\x20can\x20install\x20manually\x20with:','qvYHr','vpXIR','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','user','10220130AJwKTn','626395QXkeCT','log','project','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','5007318dYMPeO','prompt','zVTaX','vDRxD','Project\x20(shared\x20with\x20team\x20via\x20git)','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','wantsSkillup','marketplace','kDSoC','FclCE','\x20level)...\x0a','Hlzxp','20iNOoLK','129910tUNZnW','11447420MuLFdS','trailhead','kKjSW','snRPh','output','2skVllP','632dxTZov','53064sdNQfz','⚠\x20Failed\x20to\x20enable\x20plugin:','LSKio','nCrNl'];_0x28f4=function(){return _0x44880f;};return _0x28f4();}import{existsSync}from'fs';import _0x11e256 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x2b00ec){const _0x552c2a=_0x3cc4,_0x288dd1={'qvYHr':function(_0x2d4aa3,_0x191fb6){return _0x2d4aa3(_0x191fb6);},'YtNKs':'ranger@trailhead','zVTaX':_0x552c2a(0xa3),'MAYyG':function(_0x277b37){return _0x277b37();},'WhSud':_0x552c2a(0xd0),'nCrNl':'list','WKCUR':'pluginScope','GRxSB':_0x552c2a(0xc1),'PnUJo':_0x552c2a(0xcc),'eKGqP':_0x552c2a(0xa2),'efpld':function(_0x25283e,_0x40d02b){return _0x25283e(_0x40d02b);},'ENMRj':_0x552c2a(0xad),'qrJEH':_0x552c2a(0xc4),'LSKio':'add','PrACB':'ranger-testing/trailhead','TunBR':'install','ENnbZ':_0x552c2a(0xc8),'kDSoC':_0x552c2a(0xcb),'vDRxD':function(_0x242930,_0x51f0c4){return _0x242930===_0x51f0c4;},'GpUTt':function(_0x5af9d5,_0x3ecc04,_0x19172b){return _0x5af9d5(_0x3ecc04,_0x19172b);},'snRPh':'already\x20enabled','LFeAJ':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x44bb75=await _0x288dd1['qvYHr'](isPluginInstalled,_0x288dd1['YtNKs']);if(_0x44bb75)return console[_0x552c2a(0xcf)](_0x288dd1[_0x552c2a(0xa0)]),![];const _0x1a7312=_0x288dd1[_0x552c2a(0xc9)](existsSync,join(_0x288dd1['MAYyG'](getProjectRoot),'.claude'));let _0x1ca6e4;if(_0x2b00ec)_0x1ca6e4=_0x2b00ec;else{if(_0x1a7312)_0x1ca6e4=_0x288dd1[_0x552c2a(0xbf)];else{console[_0x552c2a(0xcf)](_0x552c2a(0xc3));const _0x2137d2=await _0x11e256['prompt']([{'type':_0x288dd1[_0x552c2a(0xb6)],'name':_0x288dd1['WKCUR'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x288dd1['GRxSB'],'value':_0x288dd1[_0x552c2a(0xc7)]},{'name':_0x288dd1[_0x552c2a(0xbe)],'value':'project'}],'default':'user'}]);_0x1ca6e4=_0x2137d2[_0x552c2a(0xb7)];}}console['log'](_0x552c2a(0xbb)+_0x1ca6e4+_0x552c2a(0xa8));const _0x5a94d7=await _0x288dd1['efpld'](isMarketplaceAdded,_0x288dd1['ENMRj']);let _0x2462c5=_0x5a94d7;if(_0x5a94d7)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x49dc76=await runClaudeCommand([_0x288dd1[_0x552c2a(0xbd)],_0x552c2a(0xa5),_0x288dd1[_0x552c2a(0xb5)],_0x288dd1['PrACB']]);!_0x49dc76[_0x552c2a(0xba)]?(console[_0x552c2a(0xb8)]('❌\x20Failed\x20to\x20add\x20marketplace:',_0x49dc76[_0x552c2a(0xb8)]),console[_0x552c2a(0xcf)](_0x552c2a(0xc8)),console['log'](_0x552c2a(0xc0)),console[_0x552c2a(0xcf)](_0x552c2a(0xd1)+_0x1ca6e4)):_0x2462c5=!![];}if(_0x2462c5){const _0x555f85=await runClaudeCommand([_0x288dd1[_0x552c2a(0xbd)],_0x288dd1['TunBR'],_0x288dd1['YtNKs'],'--scope',_0x1ca6e4],{'cwd':_0x1ca6e4===_0x288dd1[_0x552c2a(0xbf)]?getProjectRoot():undefined});if(!_0x555f85['success'])console['error'](_0x552c2a(0xc6),_0x555f85['error']),console['log'](_0x288dd1['ENnbZ']),console['log'](_0x552c2a(0xd1)+_0x1ca6e4);else{console['log'](_0x288dd1[_0x552c2a(0xa6)]);const _0x15087b=['plugin','enable',_0x552c2a(0xbc)];_0x288dd1['vDRxD'](_0x1ca6e4,_0x552c2a(0xd0))&&_0x15087b['push']('--scope',_0x288dd1['WhSud']);const _0x3fdec9=await _0x288dd1['GpUTt'](runClaudeCommand,_0x15087b,{'captureOutput':!![],'cwd':_0x288dd1[_0x552c2a(0xa1)](_0x1ca6e4,'project')?getProjectRoot():undefined}),_0x34956d=_0x3fdec9[_0x552c2a(0xb0)]?.['includes'](_0x288dd1[_0x552c2a(0xaf)]);!_0x3fdec9['success']&&!_0x34956d?console['error'](_0x552c2a(0xb4),_0x3fdec9[_0x552c2a(0xb8)]):console['log'](_0x288dd1['LFeAJ']);}}return!![];}export async function ensureClaudeSkills(_0x1481ac){const _0x22c15c=_0x3cc4,_0x2ff4dc={'BKQda':'user','FclCE':'SKILL.md','Hlzxp':function(_0x1e55ed,_0x102af9){return _0x1e55ed(_0x102af9);},'cDyAb':'ranger','eUVeB':function(_0x59d471,_0x2ad928){return _0x59d471||_0x2ad928;},'vpXIR':'✓\x20Ranger\x20skills\x20already\x20installed','kKjSW':function(_0x276767,_0x20ee59,_0x45839d){return _0x276767(_0x20ee59,_0x45839d);},'oJKzf':function(_0x1f6344){return _0x1f6344();},'WLDuU':'.claude','SFVrD':_0x22c15c(0xd0),'wADFV':'confirm','lYZvk':_0x22c15c(0xa4)},_0x2e4c6c=existsSync(join(getSkillsDir(_0x2ff4dc['BKQda']),'ranger',_0x2ff4dc[_0x22c15c(0xa7)])),_0x3eafdc=_0x2ff4dc['Hlzxp'](existsSync,join(getSkillsDir('project'),_0x2ff4dc['cDyAb'],'SKILL.md'));if(_0x2ff4dc['eUVeB'](_0x2e4c6c,_0x3eafdc))return console[_0x22c15c(0xcf)](_0x2ff4dc[_0x22c15c(0xca)]),![];const _0x1b7c61=existsSync(_0x2ff4dc[_0x22c15c(0xae)](join,_0x2ff4dc['oJKzf'](getProjectRoot),_0x2ff4dc['WLDuU']));let _0x21637e=!![];if(_0x1481ac)await _0x2ff4dc[_0x22c15c(0xa9)](skillup,{'autoInstall':_0x1481ac,'suppressUsage':!![]});else{if(_0x1b7c61)await skillup({'autoInstall':_0x2ff4dc['SFVrD'],'suppressUsage':!![]});else{const _0x4a1448=await _0x11e256[_0x22c15c(0xd3)]([{'type':_0x2ff4dc[_0x22c15c(0xc2)],'name':_0x2ff4dc['lYZvk'],'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x21637e=_0x4a1448['wantsSkillup'],_0x21637e&&await skillup({'suppressUsage':!![]});}}return _0x21637e;}
@@ -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(_0x2e3cf3,_0x33a748){const _0xff4325=_0x3e78,_0x36298c=_0x2e3cf3();while(!![]){try{const _0x2c5fa4=-parseInt(_0xff4325(0x1f8))/0x1*(parseInt(_0xff4325(0x1f5))/0x2)+-parseInt(_0xff4325(0x1f4))/0x3*(-parseInt(_0xff4325(0x1d9))/0x4)+parseInt(_0xff4325(0x1e5))/0x5+parseInt(_0xff4325(0x1de))/0x6*(-parseInt(_0xff4325(0x1da))/0x7)+parseInt(_0xff4325(0x1e8))/0x8+parseInt(_0xff4325(0x1d8))/0x9+-parseInt(_0xff4325(0x1e6))/0xa*(parseInt(_0xff4325(0x1d7))/0xb);if(_0x2c5fa4===_0x33a748)break;else _0x36298c['push'](_0x36298c['shift']());}catch(_0x4088c4){_0x36298c['push'](_0x36298c['shift']());}}}(_0x3e6a,0x2b124));function _0x3e6a(){const _0x54eeb3=['576kzJiCP','@ranger-testing/opencode-plugin','prompt','log','utf-8','mBiuh','https://opencode.ai/config.json','835340ETzcua','251740EeljbK','drGSW','193792APhkLx','UTRaZ','Where\x20should\x20the\x20plugin\x20be\x20installed?','BNzOq','PRDEV','opencode.json','User\x20(available\x20in\x20all\x20your\x20projects)','plugin','includes','isArray','✓\x20OpenCode\x20plugin\x20already\x20configured','tCBeg','30027LqksSa','2oKLMhu','error','user','8679VPYNpw','zBsNA','MmWeQ','11GJiBeD','243297IKBAaU','48jWWrPO','9345ckpozl','$schema','Failed\x20to\x20read\x20opencode.json','project'];_0x3e6a=function(){return _0x54eeb3;};return _0x3e6a();}function _0x3e78(_0x32e0e2,_0x309816){_0x32e0e2=_0x32e0e2-0x1d7;const _0x3e6a72=_0x3e6a();let _0x3e78c9=_0x3e6a72[_0x32e0e2];return _0x3e78c9;}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x404d0d from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x414cc6){const _0x53dede=_0x3e78,_0x52e3be={'KnIcJ':function(_0x8bdb07,_0x37d9b9){return _0x8bdb07(_0x37d9b9);},'drGSW':_0x53dede(0x1dd),'PRDEV':_0x53dede(0x1ed),'UTRaZ':'list','gYzBm':_0x53dede(0x1ea),'BNzOq':'Project\x20(shared\x20with\x20team\x20via\x20git)','zBsNA':_0x53dede(0x1f7),'MmWeQ':function(_0x24ecc3,_0x5a28b0,_0x19b36f){return _0x24ecc3(_0x5a28b0,_0x19b36f);},'ftKWc':function(_0x406bb7,_0x4bcdc3){return _0x406bb7(_0x4bcdc3);},'tCBeg':_0x53dede(0x1df),'mBiuh':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','dwQOE':_0x53dede(0x1dc)},_0xaa4b6c=_0x52e3be['KnIcJ'](existsSync,join(getOpencodeConfigDir(_0x52e3be[_0x53dede(0x1e7)]),_0x52e3be[_0x53dede(0x1ec)]));let _0x43e43f;if(_0x414cc6)_0x43e43f=_0x414cc6;else{if(_0xaa4b6c)_0x43e43f=_0x52e3be[_0x53dede(0x1e7)];else{console[_0x53dede(0x1e1)]('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0x446dd1=await _0x404d0d[_0x53dede(0x1e0)]([{'type':_0x52e3be[_0x53dede(0x1e9)],'name':'pluginScope','message':_0x52e3be['gYzBm'],'choices':[{'name':_0x53dede(0x1ee),'value':_0x53dede(0x1f7)},{'name':_0x52e3be[_0x53dede(0x1eb)],'value':_0x52e3be[_0x53dede(0x1e7)]}],'default':_0x52e3be[_0x53dede(0x1f9)]}]);_0x43e43f=_0x446dd1['pluginScope'];}}const _0x5143c1=_0x52e3be[_0x53dede(0x1fa)](join,_0x52e3be['ftKWc'](getOpencodeConfigDir,_0x43e43f),'opencode.json'),_0x2c1128=_0x52e3be[_0x53dede(0x1f3)],_0x314876=_0x53dede(0x1e4);let _0x35fa53={};if(existsSync(_0x5143c1))try{const _0x66f42f=await readFile(_0x5143c1,_0x53dede(0x1e2));_0x35fa53=JSON['parse'](_0x66f42f);}catch(_0x31d455){return console[_0x53dede(0x1f6)](_0x52e3be[_0x53dede(0x1e3)]),{'configured':![],'scope':_0x43e43f,'error':_0x52e3be['dwQOE'],'details':_0x31d455};}const _0x15793f=Array[_0x53dede(0x1f1)](_0x35fa53[_0x53dede(0x1ef)])?_0x35fa53['plugin']:[];if(_0x15793f[_0x53dede(0x1f0)](_0x2c1128))return console[_0x53dede(0x1e1)](_0x53dede(0x1f2)),{'configured':![],'scope':_0x43e43f};return _0x35fa53[_0x53dede(0x1db)]=_0x35fa53[_0x53dede(0x1db)]||_0x314876,_0x35fa53[_0x53dede(0x1ef)]=[..._0x15793f,_0x2c1128],await mkdir(getOpencodeConfigDir(_0x43e43f),{'recursive':!![]}),await _0x52e3be['MmWeQ'](writeFile,_0x5143c1,JSON['stringify'](_0x35fa53,null,0x2)+'\x0a'),console['log']('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x43e43f};}
@@ -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(_0x9cd8b4,_0x183404){var _0x51414b=_0x2fd1,_0x591247=_0x9cd8b4();while(!![]){try{var _0x2a21ea=-parseInt(_0x51414b(0x109))/0x1+-parseInt(_0x51414b(0xfc))/0x2+parseInt(_0x51414b(0x105))/0x3+parseInt(_0x51414b(0xfa))/0x4+-parseInt(_0x51414b(0x100))/0x5*(parseInt(_0x51414b(0x107))/0x6)+-parseInt(_0x51414b(0x102))/0x7+parseInt(_0x51414b(0x103))/0x8;if(_0x2a21ea===_0x183404)break;else _0x591247['push'](_0x591247['shift']());}catch(_0x479c6a){_0x591247['push'](_0x591247['shift']());}}}(_0x325a,0x9a1ce));function _0x325a(){var _0x38196d=['exit','15TJSYMn','\x20\x20https://docs.ranger.net/main/concepts/profiles','772443CJMOhJ','890736oKtUfV','xtTsQ','3709842udZPWm','DELoL','846354DAxJaP','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','397476XJMJJw','1220888YJQmAt','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','181860CPZNhT','error','vxwnc'];_0x325a=function(){return _0x38196d;};return _0x325a();}function _0x2fd1(_0x3d85a8,_0x32cdf6){_0x3d85a8=_0x3d85a8-0xfa;var _0x325aef=_0x325a();var _0x2fd1f2=_0x325aef[_0x3d85a8];return _0x2fd1f2;}export async function setupCi(_0x1f5d57,_0x599b6e,_0x48cac0){var _0x5878ff=_0x2fd1,_0x319127={'xtTsQ':function(_0x5d9ade,_0x40f9be){return _0x5d9ade+_0x40f9be;},'vxwnc':function(_0xa55aca,_0x2411ac){return _0xa55aca+_0x2411ac;},'jRLfi':function(_0x2dc2ee,_0x1992ff){return _0x2dc2ee+_0x1992ff;},'ifkzQ':function(_0xd21746,_0x17765d){return _0xd21746+_0x17765d;},'zVVOO':_0x5878ff(0x108),'DELoL':_0x5878ff(0x101)};console[_0x5878ff(0xfd)](_0x319127[_0x5878ff(0x104)](_0x319127['vxwnc'](_0x319127[_0x5878ff(0xfe)](_0x319127['jRLfi'](_0x319127['ifkzQ'](_0x319127['xtTsQ']('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'),_0x319127['zVVOO']),'\x0a'),_0x5878ff(0xfb)),_0x319127[_0x5878ff(0x106)])),process[_0x5878ff(0xff)](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 _0x3bd7(_0x598c9b,_0xd6d2a3){_0x598c9b=_0x598c9b-0xd8;const _0x376b5b=_0x376b();let _0x3bd73e=_0x376b5b[_0x598c9b];return _0x3bd73e;}function _0x376b(){const _0x3fa5be=['autoInstall','opencode','log','split','2365416IIhnQw','1078550rTVuNK','warn','project','stdout','17294085WvOdKM','✓\x20Found\x20API\x20token','/skills/','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','\x0a📦\x20Installing\x20skills...\x0a','isTTY','\x20successfully!\x0a','Where\x20should\x20skills\x20be\x20installed?','project-level','iXJCG','ranger','nvQJV','To\x20use:','prompt','All\x20projects\x20(','user-level','qKzPP','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','Kcghw','1857338eNxdRO','380696rinEtN','1434045nggJoL','2QcDssm','\x20<your-api-token>','322400vNgmGT','user','ZYmOl','YDzsg','6scrzVd'];_0x376b=function(){return _0x3fa5be;};return _0x376b();}(function(_0xe37207,_0x49bd35){const _0x36baa2=_0x3bd7,_0x19509e=_0xe37207();while(!![]){try{const _0x6ab73=-parseInt(_0x36baa2(0xf5))/0x1+-parseInt(_0x36baa2(0xf3))/0x2*(parseInt(_0x36baa2(0xf2))/0x3)+-parseInt(_0x36baa2(0xf1))/0x4+-parseInt(_0x36baa2(0xd9))/0x5+parseInt(_0x36baa2(0xf9))/0x6*(-parseInt(_0x36baa2(0xf0))/0x7)+-parseInt(_0x36baa2(0xd8))/0x8+parseInt(_0x36baa2(0xdd))/0x9;if(_0x6ab73===_0x49bd35)break;else _0x19509e['push'](_0x19509e['shift']());}catch(_0x205d14){_0x19509e['push'](_0x19509e['shift']());}}}(_0x376b,0x3cda7));import{basename}from'path';import _0x18b65d from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x5bfdf9={}){const _0xbf49cb=_0x3bd7,_0x585391={'qKzPP':function(_0x19d0e4,_0xe238c5){return _0x19d0e4===_0xe238c5;},'FQEhK':_0xbf49cb(0xfb),'ZYmOl':'\x20--opencode','gDnXr':'To\x20get\x20started:','iXJCG':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','YDzsg':function(_0xd1c0a4){return _0xd1c0a4();},'YGUak':function(_0x451cb4,_0x55060c){return _0x451cb4(_0x55060c);},'nvQJV':_0xbf49cb(0xf6),'yfFIi':function(_0x578a1a,_0x28df8){return _0x578a1a===_0x28df8;},'Kcghw':_0xbf49cb(0xe4),'Jjjwx':_0xbf49cb(0xdb),'Wizsl':_0xbf49cb(0xe7),'EFsmv':function(_0x49bd4e,_0x4cda33){return _0x49bd4e instanceof _0x4cda33;}};console[_0xbf49cb(0xfc)]('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x1ee616=_0x5bfdf9['platform']??'claude',_0x376a99=await getToken();if(!_0x376a99){const _0x40a072='4|3|5|0|1|2'[_0xbf49cb(0xfd)]('|');let _0x5701fe=0x0;while(!![]){switch(_0x40a072[_0x5701fe++]){case'0':console[_0xbf49cb(0xfc)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x585391[_0xbf49cb(0xed)](_0x1ee616,_0x585391['FQEhK'])?_0x585391[_0xbf49cb(0xf7)]:'')+_0xbf49cb(0xf4));continue;case'1':console[_0xbf49cb(0xfc)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x585391['qKzPP'](_0x1ee616,'opencode')?'\x20--opencode':'')+'\x0a');continue;case'2':return;case'3':console[_0xbf49cb(0xfc)](_0x585391['gDnXr']);continue;case'4':console['log'](_0x585391[_0xbf49cb(0xe6)]);continue;case'5':console[_0xbf49cb(0xfc)]('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli');continue;}break;}}console[_0xbf49cb(0xfc)](_0xbf49cb(0xde));const _0x42cf3a=_0x585391[_0xbf49cb(0xf8)](getProjectRoot),_0x4b49c2=basename(_0x42cf3a),_0x4512ca=_0x1ee616===_0x585391['FQEhK']?_0x585391['YGUak'](getOpencodeConfigDir,_0x585391[_0xbf49cb(0xe8)])+_0xbf49cb(0xdf):_0x585391['YDzsg'](getClaudeConfigDir)+'/skills/',_0x314c82=_0x585391['yfFIi'](_0x1ee616,'opencode')?_0x42cf3a+'/.opencode/skills/':_0x42cf3a+'/.claude/skills/',_0x28d4f6=process['stdin'][_0xbf49cb(0xe2)]&&process[_0xbf49cb(0xdc)]['isTTY'];let _0x29a593;if(_0x5bfdf9['autoInstall'])_0x29a593=_0x5bfdf9[_0xbf49cb(0xfa)];else{if(_0x28d4f6){const _0x4d4156=await _0x18b65d[_0xbf49cb(0xea)]([{'type':'list','name':'installLevel','message':_0x585391[_0xbf49cb(0xef)],'choices':[{'name':_0xbf49cb(0xeb)+_0x4512ca+')','value':_0x585391['nvQJV']},{'name':'This\x20project\x20only\x20('+_0x314c82+')','value':_0x585391['Jjjwx']}]}]);_0x29a593=_0x4d4156['installLevel'];}else _0x29a593=_0x585391['Jjjwx'],console['log'](_0xbf49cb(0xee)+_0x314c82+')');}let _0x3276d7=0x0;const _0x2dd89e=getCurrentVersion();console[_0xbf49cb(0xfc)](_0xbf49cb(0xe1));try{const _0xe6b1d5=await installSkill(_0x585391['Wizsl'],{'cliVersion':_0x2dd89e,'level':_0x29a593,'platform':_0x1ee616});_0xe6b1d5&&_0x3276d7++;}catch(_0x24bf17){console[_0xbf49cb(0xda)]('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x585391['EFsmv'](_0x24bf17,Error)?_0x24bf17['message']:_0x24bf17);}if(_0x3276d7>0x0){const _0x547b61=_0x29a593===_0x585391[_0xbf49cb(0xe8)]?_0xbf49cb(0xec):_0xbf49cb(0xe5);console[_0xbf49cb(0xfc)]('\x0a✅\x20Installed\x20'+_0x3276d7+'\x20'+_0x547b61+'\x20skill'+(_0x3276d7>0x1?'s':'')+_0xbf49cb(0xe3)),!_0x5bfdf9['suppressUsage']&&(console['log'](_0xbf49cb(0xe9)),_0x1ee616==='opencode'?console['log']('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console['log']('\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['log'](_0xbf49cb(0xe0));}
@@ -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 _0x5e927d=_0x5929;(function(_0xeca39e,_0x10267e){const _0x1a4f35=_0x5929,_0x329777=_0xeca39e();while(!![]){try{const _0x447d0f=parseInt(_0x1a4f35(0x224))/0x1+parseInt(_0x1a4f35(0x220))/0x2+-parseInt(_0x1a4f35(0x1c3))/0x3*(parseInt(_0x1a4f35(0x1ed))/0x4)+-parseInt(_0x1a4f35(0x1d6))/0x5*(parseInt(_0x1a4f35(0x1da))/0x6)+parseInt(_0x1a4f35(0x1cb))/0x7+-parseInt(_0x1a4f35(0x1cd))/0x8*(-parseInt(_0x1a4f35(0x1e9))/0x9)+-parseInt(_0x1a4f35(0x221))/0xa;if(_0x447d0f===_0x10267e)break;else _0x329777['push'](_0x329777['shift']());}catch(_0x5d6cc4){_0x329777['push'](_0x329777['shift']());}}}(_0xdab2,0x8cbfb));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x5a99ac from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0xdab2(){const _0x110ad6=['4127076noCoTw','HcFpc','.gitignore','apvoh','1786636kbwOVl','confirm','url','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','organizationName','BnZQn','withDeps','GITHUB_ENV','message','✓\x20Created\x20~/.ranger/\x20directory','rEnCJ','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','PSBGd','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','existing_token','stdin','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','OWtac','hKQpC','opencode','RToqD','provided_token','success','uHyVP','LJkKs','✓\x20Authenticated\x20to\x20','plugin','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','install','ranger\x20profile\x20add\x20<name>','skipAuth','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','XEoPJ','skipChromium','\x20\x20npx\x20playwright@','stdout','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','YPrus','profile','user','platform','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','local','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','error','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','skills','ZHUGN','OviPV','Installation\x20failed\x20with\x20exit\x20code\x20','945998eKRvsA','16730820fQvtIB','ajBon','force','616921cuiDLR','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','1.58.2','method','/ranger:enable','\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','ranger\x20setup\x20--scope=','oanNd','xxxoX','3dpbyeg','RlcLl','trackPhaseEnd','...','\x0aIn\x20Claude\x20Code,\x20run\x20','resolve','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','playwright@','6597801ereioB','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','16PbJTaB','chromium','scope','rxgBp','sqlvB','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','✓\x20Created\x20.ranger/.gitignore','BDrtg','ranger','5iCvAeZ','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','log','\x0aInstalling\x20Chromium\x20browser...\x0a','1520058CQnQSu','trackPhaseStart','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','ebAlN','\x0a🚀\x20Ranger\x20Setup\x0a','close','SsHoV','caKQS','\x20(fallback\x20version)','playwright/package.json','wyLSe',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','FaWzb','\x20install\x20chromium','DQfcY'];_0xdab2=function(){return _0x110ad6;};return _0xdab2();}import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x5e927d(0x226);const bold=_0x413cbd=>'\x1b[1m'+_0x413cbd+'\x1b[0m';export function getPlaywrightVersion(){const _0x37eabc=_0x5e927d,_0x3361d7={'riRNx':_0x37eabc(0x1e3)};try{const _0x477ad3=require[_0x37eabc(0x1c8)](_0x3361d7['riRNx']),_0x48c080=require(_0x477ad3);return _0x48c080['version'];}catch{return null;}}export function installChromiumBinary(_0x194c43,_0x34960b=![]){const _0x270e4b=_0x5e927d,_0x5729d6={'hKQpC':_0x270e4b(0x1ce),'rxgBp':function(_0x3fcbf1,_0xfb6a8c,_0x8d975f,_0x35c97a){return _0x3fcbf1(_0xfb6a8c,_0x8d975f,_0x35c97a);},'BDrtg':'ignore','GQicy':'inherit'};return new Promise((_0x95fd54,_0x5c4f98)=>{const _0x2d0ae6=_0x270e4b,_0x3989e0=[_0x2d0ae6(0x1ca)+_0x194c43,_0x2d0ae6(0x20a),..._0x34960b?['--with-deps']:[],_0x5729d6[_0x2d0ae6(0x1ff)]],_0x21643c=_0x5729d6[_0x2d0ae6(0x1d0)](spawn,'npx',_0x3989e0,{'stdio':[_0x5729d6[_0x2d0ae6(0x1d4)],_0x5729d6['GQicy'],'inherit'],'shell':process[_0x2d0ae6(0x216)]==='win32'});_0x21643c['on'](_0x2d0ae6(0x1df),_0x3f601e=>{const _0x382d2d=_0x2d0ae6;_0x3f601e===0x0?_0x95fd54():_0x5c4f98(new Error(_0x382d2d(0x21f)+_0x3f601e));}),_0x21643c['on']('error',_0x3a1384=>{_0x5c4f98(_0x3a1384);});});}export async function authenticate(_0x397b6f){const _0x44ab24=_0x5e927d,_0x582b8d={'aXwyk':function(_0x236c50){return _0x236c50();},'FaWzb':function(_0x4b2114,_0x46c1a4){return _0x4b2114(_0x46c1a4);},'oanNd':'device_auth','HcFpc':function(_0x3c490f,_0xb9ac85){return _0x3c490f(_0xb9ac85);},'IzRAY':'✓\x20Stored\x20credentials\x20locally','rEnCJ':_0x44ab24(0x202)};if(!_0x397b6f){const _0x496856=await getToken();if(_0x496856){const _0x2a460d=await getCurrentUser(_0x496856);if(_0x2a460d[_0x44ab24(0x203)])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x2a460d[_0x44ab24(0x215)][_0x44ab24(0x1f1)]),{'token':_0x496856,'method':_0x44ab24(0x1fb)};}try{_0x397b6f=await _0x582b8d['aXwyk'](runDeviceAuthFlow);}catch(_0x28a76e){throw new Error('Authentication\x20failed:\x20'+(_0x28a76e instanceof Error?_0x28a76e[_0x44ab24(0x1f5)]:_0x28a76e));}const _0x43640b=await _0x582b8d[_0x44ab24(0x1e6)](getCurrentUser,_0x397b6f);if(!_0x43640b[_0x44ab24(0x203)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x43640b[_0x44ab24(0x21a)]);return console[_0x44ab24(0x1d8)](_0x44ab24(0x206)+_0x43640b['user']['organizationName']),{'token':_0x397b6f,'method':_0x582b8d[_0x44ab24(0x1c1)]};}console[_0x44ab24(0x1d8)]('Validating\x20API\x20token...');const _0x32bbc9=await _0x582b8d[_0x44ab24(0x1ea)](getCurrentUser,_0x397b6f);if(!_0x32bbc9[_0x44ab24(0x203)]){if(_0x32bbc9['status'])throw new Error('Authentication\x20failed:\x20'+_0x32bbc9['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x44ab24(0x212)+_0x32bbc9[_0x44ab24(0x21a)]+_0x44ab24(0x1fa));}return console[_0x44ab24(0x1d8)](_0x44ab24(0x206)+_0x32bbc9[_0x44ab24(0x215)]['organizationName']),await storeToken(_0x397b6f),console[_0x44ab24(0x1d8)](process['env'][_0x44ab24(0x1f4)]?'✓\x20Exported\x20credentials\x20for\x20CI':_0x582b8d['IzRAY']),{'token':_0x397b6f,'method':_0x582b8d[_0x44ab24(0x1f7)]};}export async function ensureRangerDir(_0x29cb49){const _0x4757f6=_0x5e927d,_0x529705={'YPrus':function(_0x161129){return _0x161129();},'RlcLl':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x29cb49;const _0x3b119b=_0x529705[_0x4757f6(0x213)](getRangerHomeDir);return!existsSync(_0x3b119b)?(await mkdir(_0x3b119b,{'recursive':!![]}),console['log'](_0x4757f6(0x1f6)),{'path':_0x3b119b,'installed':!![]}):(console[_0x4757f6(0x1d8)](_0x529705[_0x4757f6(0x1c4)]),{'path':_0x3b119b,'installed':![]});}export async function ensureChromium(_0x20d4bf=![]){const _0x4ea1d3=_0x5e927d,_0x32c355={'xxxoX':function(_0x5297ea){return _0x5297ea();},'FzebM':function(_0x284518,_0x52ffb2){return _0x284518??_0x52ffb2;},'XEoPJ':_0x4ea1d3(0x1ee),'apvoh':'install','uHyVP':_0x4ea1d3(0x1d9),'LJkKs':function(_0x2fe5ac,_0x608454,_0x508719){return _0x2fe5ac(_0x608454,_0x508719);},'tmCvl':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','bHEMX':_0x4ea1d3(0x1fd),'qyQuU':'\x0a⚠\x20Skipping\x20Chromium\x20installation.'};let _0x2ee9f5=![];try{const _0xbd3c01=chromium['executablePath']();_0x2ee9f5=existsSync(_0xbd3c01);}catch{_0x2ee9f5=![];}if(_0x2ee9f5)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x179ca0=_0x32c355[_0x4ea1d3(0x1c2)](getPlaywrightVersion),_0x44d302=_0x32c355['FzebM'](_0x179ca0,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x37c3fc=!_0x179ca0,_0x72d257=process[_0x4ea1d3(0x1fc)]['isTTY']&&process[_0x4ea1d3(0x211)]['isTTY'];let _0x177a26=!![];if(_0x72d257){const {install:_0x176916}=await _0x5a99ac['prompt']([{'type':_0x32c355[_0x4ea1d3(0x20e)],'name':_0x32c355[_0x4ea1d3(0x1ec)],'message':_0x37c3fc?_0x4ea1d3(0x225)+_0x44d302+'\x20now?':'The\x20required\x20version\x20('+_0x44d302+_0x4ea1d3(0x1e5),'default':!![]}]);_0x177a26=_0x176916;}else console['log'](_0x4ea1d3(0x21b)+_0x44d302+(_0x37c3fc?_0x4ea1d3(0x1e2):'')+_0x4ea1d3(0x1c6));if(_0x177a26){console['log'](_0x32c355[_0x4ea1d3(0x204)]);try{await _0x32c355[_0x4ea1d3(0x205)](installChromiumBinary,_0x44d302,_0x20d4bf),console[_0x4ea1d3(0x1d8)](_0x32c355['tmCvl']);}catch(_0x2068f3){console['error'](_0x32c355['bHEMX'],_0x2068f3 instanceof Error?_0x2068f3[_0x4ea1d3(0x1f5)]:_0x2068f3),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console[_0x4ea1d3(0x1d8)](_0x4ea1d3(0x210)+_0x44d302+'\x20install\x20chromium');}}else console[_0x4ea1d3(0x1d8)](_0x32c355['qyQuU']),console[_0x4ea1d3(0x1d8)](_0x4ea1d3(0x1c9)),console[_0x4ea1d3(0x1d8)]('\x20\x20npx\x20playwright@'+_0x44d302+_0x4ea1d3(0x1e7));return!![];}function _0x5929(_0x4b4644,_0x2ca1d1){_0x4b4644=_0x4b4644-0x1bf;const _0xdab220=_0xdab2();let _0x592921=_0xdab220[_0x4b4644];return _0x592921;}export async function writeRangerGitignore(_0x18393f){const _0x392300=_0x5e927d,_0x3087d8={'jkBjd':function(_0x178b9f,_0x3daa96,_0x554528){return _0x178b9f(_0x3daa96,_0x554528);},'VXdtn':_0x392300(0x1eb),'DQfcY':_0x392300(0x1d3)},_0x535633=_0x3087d8['jkBjd'](join,_0x18393f,_0x3087d8['VXdtn']),_0x245772=_0x392300(0x1bf);await writeFile(_0x535633,_0x245772),console[_0x392300(0x1d8)](_0x3087d8[_0x392300(0x1e8)]);}export async function ensureLocalEnv(_0x2b9a5e,_0x3490c0){const _0x4f14f1=_0x5e927d,_0x41b113={'SuGyz':'user','mApZl':_0x4f14f1(0x1f0),'CUIZx':function(_0x2b514d){return _0x2b514d();},'wyLSe':_0x4f14f1(0x218),'KeqTh':'✓\x20Local\x20profile\x20already\x20exists','sdoty':function(_0x12629b,_0x808961,_0x2a001d,_0x4918e0){return _0x12629b(_0x808961,_0x2a001d,_0x4918e0);},'mjdGu':function(_0x5ec6e1,_0x887f62){return _0x5ec6e1 instanceof _0x887f62;}};if(!findGitRoot()&&_0x2b9a5e?.['scope']!==_0x41b113['SuGyz'])return console[_0x4f14f1(0x1d8)](_0x41b113['mApZl']),{'ready':![],'skipped':!![]};const _0x221f01=_0x2b9a5e?.[_0x4f14f1(0x1cf)]==='user'?_0x41b113['CUIZx'](getRangerHomeDir):undefined;if(findExistingEnv(_0x4f14f1(0x218),{'locations':[_0x41b113[_0x4f14f1(0x1e4)]],'rangerDir':_0x221f01}))return console[_0x4f14f1(0x1d8)](_0x41b113['KeqTh']),{'ready':!![],'skipped':![]};try{return await _0x41b113['sdoty'](addEnv,'local',{'url':_0x2b9a5e?.['url'],'force':_0x2b9a5e?.[_0x4f14f1(0x223)],'allowInsecureLocalhost':_0x2b9a5e?.['allowInsecureLocalhost'],'scope':_0x2b9a5e?.['scope']},_0x3490c0),{'ready':!![],'skipped':![]};}catch(_0x273006){return console['error']('\x0a❌\x20Profile\x20setup\x20failed:',_0x41b113['mjdGu'](_0x273006,Error)?_0x273006[_0x4f14f1(0x1f5)]:_0x273006),{'ready':![],'skipped':![]};}}export async function start(_0x1fcfc9,_0xb9e0f,_0x233c79){const _0x1a7c95=_0x5e927d,_0x321941={'sqlvB':_0x1a7c95(0x1de),'KGwPw':function(_0x3440ae,_0x648d33){return _0x3440ae!==_0x648d33;},'SsHoV':function(_0x251727,_0x300a92){return _0x251727+_0x300a92;},'ajBon':'user','ebAlN':'auth','dSBEh':function(_0x563cc1,_0x5f2698){return _0x563cc1(_0x5f2698);},'OviPV':function(_0x8a5792,_0x3ae1a3){return _0x8a5792(_0x3ae1a3);},'OWtac':'chromium','favhu':function(_0xcf28ef,_0x251241){return _0xcf28ef(_0x251241);},'VRHjp':function(_0x52258f){return _0x52258f();},'RToqD':_0x1a7c95(0x200),'fqQOr':function(_0x53a881,_0x2c82c8){return _0x53a881 instanceof _0x2c82c8;},'ZHUGN':'skills','RKNBh':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','DWXtE':_0x1a7c95(0x214),'PSBGd':_0x1a7c95(0x1d7),'BnZQn':function(_0x27b9fa,_0x5aeb72){return _0x27b9fa(_0x5aeb72);},'caKQS':function(_0x41aa61,_0x2000d0){return _0x41aa61+_0x2000d0;}};console['log'](_0x321941[_0x1a7c95(0x1d1)]);_0xb9e0f?.['scope']!==undefined&&_0x321941['KGwPw'](_0xb9e0f[_0x1a7c95(0x1cf)],_0x1a7c95(0x215))&&(console['error'](_0x321941[_0x1a7c95(0x1e0)](_0x1a7c95(0x1c0)+String(_0xb9e0f['scope'])+'\x20is\x20no\x20longer\x20supported.\x20',_0x1a7c95(0x20d))+'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.'),process['exit'](0x1));_0xb9e0f={..._0xb9e0f,'scope':_0x321941[_0x1a7c95(0x222)]};const _0x5460c1=!existsSync(getRangerHomeDir());await ensureRangerDir(_0x321941['ajBon']);if(_0xb9e0f?.[_0x1a7c95(0x20c)])console['log']('✓\x20Skipping\x20authentication\x20(--skip-auth)'),_0x233c79?.[_0x1a7c95(0x1c5)](_0x321941[_0x1a7c95(0x1dd)],{'isFirstRun':_0x5460c1,'method':'skipped'});else{_0x233c79?.['trackPhaseStart'](_0x321941[_0x1a7c95(0x1dd)]);const _0x907eac=await _0x321941['dSBEh'](authenticate,_0x1fcfc9);_0x233c79?.['trackPhaseEnd'](_0x321941['ebAlN'],{'isFirstRun':_0x5460c1,'method':_0x907eac[_0x1a7c95(0x227)]});}_0x233c79?.[_0x1a7c95(0x1db)](_0x1a7c95(0x1ce));_0xb9e0f?.[_0x1a7c95(0x20f)]?console[_0x1a7c95(0x1d8)](_0x1a7c95(0x219)):await _0x321941[_0x1a7c95(0x21e)](ensureChromium,_0xb9e0f?.[_0x1a7c95(0x1f3)]);_0x233c79?.[_0x1a7c95(0x1c5)](_0x321941[_0x1a7c95(0x1fe)],{'isFirstRun':_0x5460c1,'skipped':!!_0xb9e0f?.[_0x1a7c95(0x20f)]}),console['log'](_0x1a7c95(0x209));const _0x194205=_0xb9e0f?.[_0x1a7c95(0x1cf)],_0x2698f1=_0xb9e0f?.['opencode']??![];let _0x16b975=null;_0x2698f1?(_0x233c79?.[_0x1a7c95(0x1db)](_0x1a7c95(0x207)),_0x16b975=await _0x321941['favhu'](ensureOpencodePluginConfig,_0x194205),_0x233c79?.[_0x1a7c95(0x1c5)](_0x1a7c95(0x207),{'isFirstRun':_0x5460c1,'opencode':!![]})):(_0x233c79?.['trackPhaseStart']('plugin'),await ensureClaudePlugin(_0x194205),_0x233c79?.[_0x1a7c95(0x1c5)](_0x1a7c95(0x207),{'isFirstRun':_0x5460c1}));if(_0x2698f1&&_0x16b975){_0x233c79?.[_0x1a7c95(0x1db)]('skills');try{await installSkill(_0x1a7c95(0x1d5),{'level':_0x16b975[_0x1a7c95(0x1cf)],'cliVersion':_0x321941['VRHjp'](getCurrentVersion),'platform':_0x321941[_0x1a7c95(0x201)]}),_0x233c79?.[_0x1a7c95(0x1c5)]('skills',{'isFirstRun':_0x5460c1,'opencode':!![]});}catch(_0x2123d8){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x321941['fqQOr'](_0x2123d8,Error)?_0x2123d8[_0x1a7c95(0x1f5)]:_0x2123d8),_0x233c79?.['trackPhaseEnd'](_0x1a7c95(0x21c),{'isFirstRun':_0x5460c1,'opencode':!![],'failed':!![]});}}else _0x233c79?.['trackPhaseStart'](_0x321941[_0x1a7c95(0x21d)]),await _0x321941[_0x1a7c95(0x21e)](ensureClaudeSkills,_0x194205),_0x233c79?.[_0x1a7c95(0x1c5)]('skills',{'isFirstRun':_0x5460c1});if(_0xb9e0f?.[_0x1a7c95(0x20c)])console[_0x1a7c95(0x1d8)](_0x321941['RKNBh']);else{if(_0xb9e0f?.[_0x1a7c95(0x1ef)]){_0x233c79?.[_0x1a7c95(0x1db)](_0x1a7c95(0x214));const _0x53a93d=await ensureLocalEnv({'url':_0xb9e0f[_0x1a7c95(0x1ef)],'force':_0xb9e0f?.[_0x1a7c95(0x223)],'allowInsecureLocalhost':_0xb9e0f?.['allowInsecureLocalhost'],'scope':_0x1a7c95(0x215)},_0x233c79);_0x233c79?.[_0x1a7c95(0x1c5)](_0x321941['DWXtE'],{'isFirstRun':_0x5460c1,'profileReady':_0x53a93d['ready'],'userSkipped':_0x53a93d['skipped']});}else console[_0x1a7c95(0x1d8)](_0x321941['SsHoV'](_0x1a7c95(0x217)+('\x0a\x20\x20'+bold(_0x1a7c95(0x20b))),_0x1a7c95(0x1dc))+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0x2698f1)console['log'](_0x321941[_0x1a7c95(0x1f9)]),console['log'](_0x1a7c95(0x208)),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x1c1551=_0x321941[_0x1a7c95(0x1f2)](bold,_0x1a7c95(0x228));console['log'](_0x321941['SsHoV'](_0x321941[_0x1a7c95(0x1e1)](_0x1a7c95(0x1c7)+_0x1c1551+'\x20and\x20prompt\x20the\x20coding',_0x1a7c95(0x1f8)),_0x1a7c95(0x1cc))+_0x1a7c95(0x1d2));}}
@@ -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 _0x33cabd=_0x1055;(function(_0x4f4d32,_0x36fbbd){const _0x53d801=_0x1055,_0x4637a7=_0x4f4d32();while(!![]){try{const _0x1a0408=-parseInt(_0x53d801(0x14d))/0x1*(-parseInt(_0x53d801(0x154))/0x2)+-parseInt(_0x53d801(0x14f))/0x3*(-parseInt(_0x53d801(0x1af))/0x4)+-parseInt(_0x53d801(0x1b1))/0x5*(-parseInt(_0x53d801(0x1ae))/0x6)+parseInt(_0x53d801(0x165))/0x7+parseInt(_0x53d801(0x149))/0x8*(-parseInt(_0x53d801(0x153))/0x9)+parseInt(_0x53d801(0x14b))/0xa*(-parseInt(_0x53d801(0x1b2))/0xb)+parseInt(_0x53d801(0x1a0))/0xc;if(_0x1a0408===_0x36fbbd)break;else _0x4637a7['push'](_0x4637a7['shift']());}catch(_0x111cef){_0x4637a7['push'](_0x4637a7['shift']());}}}(_0x5e3d,0xe8716));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';function _0x5e3d(){const _0x9337f=['\x20\x20\x20\x20Settings:\x20','length','parse','map','\x20\x20Not\x20configured','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','Version:\x20','debug','SKILL.md','data','\x0a---\x20Skills\x20---','close','hasEncryptedAuth','filter','IFwQx','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','JeGEV','\x20\x20Run:\x20ranger\x20setup\x20--opencode','encrypted','\x20\x20Project-level:','ecapg','yvYxt','path','scope','No\x20profiles\x20configured','uXxef','no\x20session','ttnby','\x20\x20Run:\x20ranger\x20setup\x20[token]','NAefU','MmTQZ','match','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','QeOqC','3913236zwJXjk','\x20plugin(s)\x20configured','auth.json.enc','sessionUpdatedAt','plugin','zhCyf','OqptM','\x0a\x20\x20No\x20active\x20profile\x20set','\x1b]8;;\x07','isDirectory','tLqfW','some','version','trim','655614tDcTEu','420Cqyhhr','EqBBN','40fgguHz','6611473tNkxjE','auth.json','ranger@trailhead','\x20\x20Active:\x20','hMdzE','includes','\x20\x20Run:\x20ranger\x20update','Organization:\x20','push','has','status','details','\x0a---\x20Claude\x20Code\x20Plugin\x20---','576536KEvste','all','10EYrAqZ','opencode-plugin','4427sAWZtj','settings.json','5097NQCIeH','gBHRZ','toString','success','63yNtoBx','142uKzXdC','stdout','not_configured','kAcJr','thbxn','log','\x20[local]','none','xhlAY','API\x20Environment:\x20','displayName','ZVMXN','name','JdyTS','unknown','MzMTp','isArray','2552417AMJXUt','error','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','\x20\x20\x20\x20Session:\x20','\x20\x20\x20\x20','jZkjE','cgZRJ','RuNsJ','OqAnT','join','opencode','jtIGQ','fflmr','hVhmI',':\x20configured','project','not_installed','utf-8','\x0a---\x20Profiles\x20---','env','(not\x20found)','dfDnU','@ranger-testing/opencode-plugin','\x1b[1m','API\x20Token:\x20✗\x20Not\x20found'];_0x5e3d=function(){return _0x9337f;};return _0x5e3d();}import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x1587d0=>_0x33cabd(0x17c)+_0x1587d0+'\x1b[0m',link=(_0x57ee12,_0x526082)=>'\x1b]8;;file://'+_0x57ee12+'\x07'+(_0x526082||_0x57ee12)+_0x33cabd(0x1a8);async function getOpencodePluginStatus(){const _0x125550=_0x33cabd,_0x537a6d={'TvMCg':'@ranger-testing/opencode-plugin','nPrKi':function(_0x5ebe84,_0x4c60c7){return _0x5ebe84!==_0x4c60c7;},'JdyTS':function(_0x4ba0a2,_0x70cdde){return _0x4ba0a2(_0x70cdde);},'EqBBN':'not_configured','ZVMXN':function(_0x48a67f,_0xfbcb61,_0x11e68a,_0x3506c3){return _0x48a67f(_0xfbcb61,_0x11e68a,_0x3506c3);},'xGHWi':_0x125550(0x185),'skpiH':'config','aPRyx':_0x125550(0x187),'fflmr':_0x125550(0x189)};return new Promise(_0x9a889a=>{const _0x34d18a=_0x125550,_0x317713={'hIatR':_0x34d18a(0x175)},_0x3c983f=_0x537a6d[_0x34d18a(0x15f)](spawn,_0x34d18a(0x16f),[_0x537a6d['xGHWi'],_0x537a6d['skpiH']],{'stdio':['ignore','pipe','pipe']});let _0x43ecee='';_0x3c983f[_0x34d18a(0x155)]?.['on'](_0x537a6d['aPRyx'],_0x2b30c5=>{const _0x24081d=_0x34d18a;_0x43ecee+=_0x2b30c5[_0x24081d(0x151)]();}),_0x3c983f['stderr']?.['on'](_0x34d18a(0x187),_0x34b7ff=>{_0x43ecee+=_0x34b7ff['toString']();}),_0x3c983f['on'](_0x34d18a(0x166),()=>{_0x9a889a({'status':_0x317713['hIatR']});}),_0x3c983f['on'](_0x537a6d[_0x34d18a(0x171)],_0x46c800=>{const _0x5324e8=_0x34d18a,_0x2ccd68={'ttnby':_0x537a6d['TvMCg']};if(_0x537a6d['nPrKi'](_0x46c800,0x0)){_0x537a6d['JdyTS'](_0x9a889a,{'status':_0x5324e8(0x175)});return;}const _0x22a66f=_0x43ecee[_0x5324e8(0x1ad)]();let _0x25c882=null;if(_0x22a66f)try{_0x25c882=JSON[_0x5324e8(0x180)](_0x22a66f);}catch{const _0x519a1b=_0x22a66f[_0x5324e8(0x19d)](/\{[\s\S]*\}$/);if(_0x519a1b)try{_0x25c882=JSON[_0x5324e8(0x180)](_0x519a1b[0x0]);}catch{_0x25c882=null;}}const _0x4c372c=Array[_0x5324e8(0x164)](_0x25c882?.['plugin'])?_0x25c882?.[_0x5324e8(0x1a4)]:[],_0x3cf59a=_0x4c372c[_0x5324e8(0x1ab)](_0x32c2aa=>{const _0x56f132=_0x5324e8;if(typeof _0x32c2aa!=='string')return![];return _0x32c2aa['includes'](_0x2ccd68[_0x56f132(0x199)])||_0x32c2aa[_0x56f132(0x1b7)](_0x56f132(0x14c));});if(_0x3cf59a){_0x9a889a({'status':'configured','details':_0x4c372c['length']>0x0?_0x4c372c['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x4c372c['length']>0x0){_0x9a889a({'status':'not_configured','details':_0x4c372c[_0x5324e8(0x17f)]+_0x5324e8(0x1a1)});return;}_0x537a6d[_0x5324e8(0x161)](_0x9a889a,{'status':_0x537a6d[_0x5324e8(0x1b0)]});});});}async function getSkillsFromDir(_0x1c6f54,_0x343ab6){const _0x19fd94=_0x33cabd,_0x51e810={'ecapg':function(_0x209af9,_0x47682c){return _0x209af9(_0x47682c);},'yvYxt':function(_0x32a1f2,_0x293ae,_0x3262e5){return _0x32a1f2(_0x293ae,_0x3262e5);}};if(!_0x51e810[_0x19fd94(0x192)](existsSync,_0x1c6f54))return[];const _0x30626b=[];try{const _0x43f6bd=await _0x51e810[_0x19fd94(0x193)](readdir,_0x1c6f54,{'withFileTypes':!![]});for(const _0x41a2c8 of _0x43f6bd){if(_0x41a2c8[_0x19fd94(0x1a9)]()){const _0x3ca584=join(_0x1c6f54,_0x41a2c8['name'],_0x19fd94(0x186));if(existsSync(_0x3ca584)){let _0x26b528=_0x41a2c8[_0x19fd94(0x160)];try{const _0xcdabee=await readFile(_0x3ca584,_0x19fd94(0x176)),_0x265428=_0xcdabee['match'](/name:\s*(.+)/);_0x265428&&(_0x26b528=_0x265428[0x1]['trim']());}catch{}_0x30626b[_0x19fd94(0x144)]({'name':_0x41a2c8['name'],'displayName':_0x26b528,'path':_0x3ca584,'level':_0x343ab6});}}}}catch{return[];}return _0x30626b;}async function getInstalledSkills(){const _0x563eb0=_0x33cabd,_0x193278={'uYMOz':function(_0x2cc17e,_0x24c198,_0x46e64a){return _0x2cc17e(_0x24c198,_0x46e64a);},'pIHvY':function(_0x2f0c56){return _0x2f0c56();},'gBHRZ':function(_0x390fa8,_0x4a357d,_0x1d805d){return _0x390fa8(_0x4a357d,_0x1d805d);}},[_0x5e43e0,_0x281c13]=await Promise[_0x563eb0(0x14a)]([_0x193278['uYMOz'](getSkillsFromDir,_0x193278['pIHvY'](getProjectSkillsDir),_0x563eb0(0x174)),_0x193278[_0x563eb0(0x150)](getSkillsFromDir,getUserSkillsDir(),'user')]);return{'project':_0x5e43e0,'user':_0x281c13};}async function getEnvironments(){const _0x3245f5=_0x33cabd,_0x5f412d={'JopVJ':function(_0x26147b,_0x159156){return _0x26147b(_0x159156);},'NAefU':function(_0x2cfee7,_0x542eff,_0x546448){return _0x2cfee7(_0x542eff,_0x546448);},'OqptM':_0x3245f5(0x1b3),'mPriX':function(_0x208d8b,_0x383f76,_0x187deb){return _0x208d8b(_0x383f76,_0x187deb);},'nJqwQ':function(_0x5ada57,_0x51e024){return _0x5ada57(_0x51e024);},'eLRRu':_0x3245f5(0x179),'RuNsJ':function(_0x3f103a,_0x4a1d2c){return _0x3f103a===_0x4a1d2c;},'lXtuZ':function(_0xf42935,_0x1bf90f){return _0xf42935(_0x1bf90f);}},{envNames:_0x1b151b,activeEnv:_0x3821ff}=await getEnvNames(),_0x13a146=getRangerDir();if(!_0x5f412d['lXtuZ'](existsSync,_0x13a146))return{'envs':[],'activeEnv':null};const _0x17ff16=_0x1b151b[_0x3245f5(0x181)](_0x52c3cc=>{const _0x34653d=_0x3245f5,_0x3963ce=_0x5f412d['JopVJ'](getEnvDir,_0x52c3cc),_0x29fcbf=join(_0x3963ce,_0x34653d(0x14e)),_0x8d87b4=_0x5f412d[_0x34653d(0x19b)](join,_0x3963ce,_0x5f412d[_0x34653d(0x1a6)]),_0x2b1658=_0x5f412d['mPriX'](join,_0x3963ce,_0x34653d(0x1a2));return{'name':_0x52c3cc,'settingsPath':_0x5f412d['nJqwQ'](existsSync,_0x29fcbf)?_0x29fcbf:_0x5f412d['eLRRu'],'hasPlaintextAuth':_0x5f412d['nJqwQ'](existsSync,_0x8d87b4),'hasEncryptedAuth':existsSync(_0x2b1658),'isActive':_0x5f412d[_0x34653d(0x16c)](_0x52c3cc,_0x3821ff)};});return{'envs':_0x17ff16,'activeEnv':_0x3821ff};}function _0x1055(_0x31d2c5,_0xa9122a){_0x31d2c5=_0x31d2c5-0x142;const _0x5e3d74=_0x5e3d();let _0x105556=_0x5e3d74[_0x31d2c5];return _0x105556;}export async function status(){const _0x516de2=_0x33cabd,_0x362325={'MmTQZ':function(_0x102c6a,_0x230784,_0x17985e){return _0x102c6a(_0x230784,_0x17985e);},'uXxef':function(_0x323a9c,_0x29e827){return _0x323a9c(_0x29e827);},'OqAnT':function(_0x38d6d0,_0x4676d9){return _0x38d6d0(_0x4676d9);},'jtIGQ':function(_0x2584c8,_0x4cd33e){return _0x2584c8(_0x4cd33e);},'dfDnU':function(_0x1d8870){return _0x1d8870();},'HAcjO':function(_0x2255d6,_0x12d145){return _0x2255d6!==_0x12d145;},'FUfAp':function(_0x228144){return _0x228144();},'kAcJr':function(_0x2177e8,_0x20409e){return _0x2177e8===_0x20409e;},'xhlAY':_0x516de2(0x17b),'TFYsc':_0x516de2(0x156),'hMdzE':_0x516de2(0x182),'thbxn':_0x516de2(0x18f),'jZkjE':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','ISZjV':_0x516de2(0x148),'Knizt':function(_0x4c515a,_0x49aea4){return _0x4c515a(_0x49aea4);},'ffwLf':_0x516de2(0x162),'zhCyf':'enabled','ZLKUI':'ranger@trailhead','cLSKk':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','EgCIT':_0x516de2(0x188),'MzMTp':function(_0x474216){return _0x474216();},'hVhmI':_0x516de2(0x191),'IFwQx':function(_0x1396de,_0xf619bd){return _0x1396de>_0xf619bd;},'QeOqC':'\x20\x20User-level:','JeGEV':function(_0x5c8b4a){return _0x5c8b4a();},'SWuGF':function(_0x17780c,_0x521e03){return _0x17780c+_0x521e03;},'MSreI':function(_0x180b27,_0x59db02){return _0x180b27>_0x59db02;},'vzkQo':function(_0xc768dc,_0x26a7db){return _0xc768dc(_0x26a7db);},'xZvfd':'\x20(active)','tLqfW':'plaintext','cgZRJ':function(_0x15f6cb,_0x41d48c){return _0x15f6cb(_0x41d48c);},'UjArf':_0x516de2(0x179)};console[_0x516de2(0x159)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x40a164=process['cwd'](),_0x2ed041=getRangerDir();if(!existsSync(_0x2ed041)){console['log']('Root:\x20'+_0x362325[_0x516de2(0x19c)](link,_0x40a164,_0x362325[_0x516de2(0x197)](bold,_0x362325[_0x516de2(0x16d)](basename,_0x40a164)))),console['log'](_0x516de2(0x183)),console[_0x516de2(0x159)](_0x516de2(0x167));return;}console['log']('Root:\x20'+link(_0x40a164,_0x362325[_0x516de2(0x170)](bold,basename(_0x40a164))));const _0x245c91=getCurrentVersion(),_0x31641a=_0x362325[_0x516de2(0x17a)](getLatestVersion);if(_0x31641a[_0x516de2(0x1ac)]&&_0x362325['HAcjO'](_0x31641a['version'],_0x245c91))console[_0x516de2(0x159)](_0x516de2(0x184)+_0x245c91+'\x20(latest:\x20'+_0x31641a['version']+')'),console[_0x516de2(0x159)](_0x516de2(0x142));else _0x31641a['version']?console['log'](_0x516de2(0x184)+_0x245c91+'\x20(up\x20to\x20date)'):console['log']('Version:\x20'+_0x245c91);const _0xaa925=await getToken();if(_0xaa925){const _0x56b09d=await _0x362325[_0x516de2(0x16d)](getCurrentUser,_0xaa925);_0x56b09d[_0x516de2(0x152)]?console[_0x516de2(0x159)](_0x516de2(0x143)+bold(_0x56b09d['user']['organizationName'])):(console[_0x516de2(0x159)](_0x516de2(0x19e)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x516de2(0x159)](_0x516de2(0x17d)),console[_0x516de2(0x159)](_0x516de2(0x19a));process[_0x516de2(0x178)]['DEBUG']&&(console[_0x516de2(0x159)](_0x516de2(0x15d)+getCurrentEnvironment()),console[_0x516de2(0x159)]('API\x20URL:\x20'+_0x362325['dfDnU'](getApiBaseUrl)));console[_0x516de2(0x159)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x951635=await _0x362325['FUfAp'](getOpencodePluginStatus);if(_0x362325[_0x516de2(0x157)](_0x951635[_0x516de2(0x146)],'configured'))console[_0x516de2(0x159)]('\x20\x20'+bold(_0x362325[_0x516de2(0x15c)])+_0x516de2(0x173)),_0x951635[_0x516de2(0x147)]&&console[_0x516de2(0x159)]('\x20\x20'+_0x951635[_0x516de2(0x147)]);else _0x951635[_0x516de2(0x146)]===_0x362325['TFYsc']?(console['log'](_0x362325[_0x516de2(0x1b6)]),_0x951635[_0x516de2(0x147)]&&console['log']('\x20\x20'+_0x951635['details']),console[_0x516de2(0x159)](_0x362325[_0x516de2(0x158)])):console['log'](_0x362325[_0x516de2(0x16a)]);console[_0x516de2(0x159)](_0x362325['ISZjV']);const _0x5ea9c2=await _0x362325['Knizt'](getPluginInfo,_0x516de2(0x1b4));if(_0x5ea9c2){const _0x584c02=_0x5ea9c2[_0x516de2(0x195)]||_0x362325['ffwLf'],_0x5ee07b=_0x5ea9c2['enabled']?_0x362325[_0x516de2(0x1a5)]:'disabled';console['log']('\x20\x20'+_0x362325['jtIGQ'](bold,_0x362325['ZLKUI'])+':\x20installed\x20('+_0x584c02+',\x20'+_0x5ee07b+')');}else console['log']('\x20\x20Not\x20installed'),console[_0x516de2(0x159)](_0x362325['cLSKk']);console['log'](_0x362325['EgCIT']);const {project:_0x448ef7,user:_0x2ea082}=await _0x362325[_0x516de2(0x163)](getInstalledSkills),_0x509d0c=_0x448ef7['filter'](_0x3782cd=>RANGER_MANAGED_SKILLS[_0x516de2(0x1b7)](_0x3782cd['name'])),_0x1c4f1e=_0x2ea082[_0x516de2(0x18b)](_0xbe9202=>RANGER_MANAGED_SKILLS['includes'](_0xbe9202['name'])),_0x549a91=_0x509d0c['length']+_0x1c4f1e['length'];if(_0x549a91===0x0)console['log']('No\x20skills\x20installed'),console[_0x516de2(0x159)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x509d0c[_0x516de2(0x17f)]>0x0){console[_0x516de2(0x159)](_0x362325[_0x516de2(0x172)]);for(const _0x31fb3d of _0x509d0c){console['log'](_0x516de2(0x169)+_0x362325[_0x516de2(0x197)](bold,_0x31fb3d[_0x516de2(0x15e)])+':\x20'+_0x362325[_0x516de2(0x19c)](link,_0x31fb3d['path'],_0x362325[_0x516de2(0x197)](basename,_0x31fb3d[_0x516de2(0x194)])));}}if(_0x362325[_0x516de2(0x18c)](_0x1c4f1e[_0x516de2(0x17f)],0x0)){console[_0x516de2(0x159)](_0x362325[_0x516de2(0x19f)]);for(const _0x115528 of _0x1c4f1e){console[_0x516de2(0x159)]('\x20\x20\x20\x20'+_0x362325['uXxef'](bold,_0x115528[_0x516de2(0x15e)])+':\x20'+link(_0x115528['path'],basename(_0x115528['path'])));}}}console[_0x516de2(0x159)](_0x516de2(0x177));const {envs:_0x42ae07,activeEnv:_0x517738}=await getEnvironments();let _0x356259=[];if(_0xaa925)try{_0x356259=await _0x362325[_0x516de2(0x18e)](listCloudProfiles);}catch{}const _0x4d7a66=_0x362325['SWuGF'](_0x42ae07[_0x516de2(0x17f)],_0x356259[_0x516de2(0x17f)]);if(_0x4d7a66===0x0)console['log'](_0x516de2(0x196)),console[_0x516de2(0x159)](_0x516de2(0x18d));else{if(_0x4d7a66>0x5){const _0x5cf805=[];_0x362325[_0x516de2(0x18c)](_0x356259[_0x516de2(0x17f)],0x0)&&_0x5cf805[_0x516de2(0x144)](_0x356259['length']+'\x20cloud'),_0x362325['MSreI'](_0x42ae07[_0x516de2(0x17f)],0x0)&&_0x5cf805['push'](_0x42ae07['length']+'\x20local'),console[_0x516de2(0x159)](_0x4d7a66+'\x20profiles\x20configured\x20('+_0x5cf805[_0x516de2(0x16e)](',\x20')+')'),_0x517738&&console[_0x516de2(0x159)](_0x516de2(0x1b5)+_0x362325['vzkQo'](bold,_0x517738)),console[_0x516de2(0x159)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x1f7f61 of _0x356259){const _0x3c84b9=_0x1f7f61['name']===_0x517738?_0x362325['xZvfd']:'';console['log']('\x20\x20'+bold(_0x1f7f61[_0x516de2(0x160)])+'\x20[cloud]'+_0x3c84b9);const _0x4d099d=_0x1f7f61[_0x516de2(0x1a3)]?'cached\x20(updated\x20'+_0x1f7f61['sessionUpdatedAt']+')':_0x516de2(0x198);console['log'](_0x516de2(0x168)+_0x4d099d);}const _0x977023=new Set(_0x356259['map'](_0x3be989=>_0x3be989[_0x516de2(0x160)]));for(const _0x4a0fc8 of _0x42ae07){if(_0x977023[_0x516de2(0x145)](_0x4a0fc8['name']))continue;const _0x4d58f2=_0x4a0fc8['isActive']?'\x20(active)':'',_0x57f424=_0x4a0fc8[_0x516de2(0x18a)]?_0x516de2(0x190):_0x4a0fc8['hasPlaintextAuth']?_0x362325[_0x516de2(0x1aa)]:_0x516de2(0x15b);console[_0x516de2(0x159)]('\x20\x20'+_0x362325[_0x516de2(0x16b)](bold,_0x4a0fc8[_0x516de2(0x160)])+_0x516de2(0x15a)+_0x4d58f2),console[_0x516de2(0x159)]('\x20\x20\x20\x20Auth:\x20'+_0x57f424),_0x4a0fc8['settingsPath']!==_0x362325['UjArf']&&console[_0x516de2(0x159)](_0x516de2(0x17e)+_0x362325[_0x516de2(0x19c)](link,_0x4a0fc8['settingsPath'],basename(_0x4a0fc8['settingsPath'])));}if(!_0x517738){console['log'](_0x516de2(0x1a7));const _0x55064d=[..._0x356259[_0x516de2(0x181)](_0x497e59=>_0x497e59['name']),..._0x42ae07['filter'](_0x576dd4=>!_0x977023['has'](_0x576dd4['name']))['map'](_0x46e202=>_0x46e202[_0x516de2(0x160)])];console[_0x516de2(0x159)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x55064d[_0x516de2(0x16e)](',\x20')+')');}}}console['log']('');}