@ranger-testing/ranger-cli 3.1.6 → 3.1.7-alpha.34400c2-56

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 (86) 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/scenarioOriginCheck.js +1 -1
  71. package/build/commands/utils/sessionCache.js +1 -1
  72. package/build/commands/utils/settings.js +1 -1
  73. package/build/commands/utils/skillContent.js +1 -1
  74. package/build/commands/utils/skills.js +1 -1
  75. package/build/commands/utils/stitchWebmFiles.js +1 -1
  76. package/build/commands/utils/telemetry.js +1 -1
  77. package/build/commands/utils/tokenRefresh.js +1 -1
  78. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  79. package/build/commands/utils/tunnelClient.js +1 -1
  80. package/build/commands/utils/userApi.js +1 -1
  81. package/build/commands/utils/version.js +1 -1
  82. package/build/commands/verifyFeature.js +1 -1
  83. package/build/commands/verifyFeatureCli.js +1 -1
  84. package/build/commands/verifyFeatureNovaCli.js +1 -1
  85. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  86. package/package.json +2 -5
@@ -1 +1 @@
1
- (function(_0x433a46,_0x448c4c){const _0x37b005=_0x8e48,_0x2045b9=_0x433a46();while(!![]){try{const _0x5a89c1=-parseInt(_0x37b005(0x1b1))/0x1*(-parseInt(_0x37b005(0x1be))/0x2)+parseInt(_0x37b005(0x1b7))/0x3*(-parseInt(_0x37b005(0x1bb))/0x4)+-parseInt(_0x37b005(0x1ba))/0x5*(-parseInt(_0x37b005(0x1b2))/0x6)+-parseInt(_0x37b005(0x1af))/0x7+parseInt(_0x37b005(0x1b9))/0x8+-parseInt(_0x37b005(0x1bf))/0x9*(parseInt(_0x37b005(0x1bd))/0xa)+-parseInt(_0x37b005(0x1ae))/0xb*(-parseInt(_0x37b005(0x1b3))/0xc);if(_0x5a89c1===_0x448c4c)break;else _0x2045b9['push'](_0x2045b9['shift']());}catch(_0x1eaf4b){_0x2045b9['push'](_0x2045b9['shift']());}}}(_0x3398,0xc0280));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x3398(){const _0x2f4bfe=['126DtMNcH','11gSHydR','7500283VXeRWD','\x0a✅\x20API\x20key\x20stored\x20successfully','452947vdAAvE','306DydDzA','20809608qCXdvf','Re-authenticating\x20via\x20MCP\x20bootstrap...','message','wEXtw','3swuxuB','TBrbh','5079160qNhOck','8185AoHBNv','1457912iAFzRU','log','487460gZeaBr','2tyrJUe'];_0x3398=function(){return _0x2f4bfe;};return _0x3398();}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0x8e48(_0x1480eb,_0x14459e){_0x1480eb=_0x1480eb-0x1ae;const _0x3398ed=_0x3398();let _0x8e48bc=_0x3398ed[_0x1480eb];return _0x8e48bc;}export async function login(){const _0xc2236=_0x8e48,_0x5141ee={'TBrbh':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','wEXtw':function(_0x3fdc80){return _0x3fdc80();},'NhumB':function(_0x7515f8,_0x2df454){return _0x7515f8 instanceof _0x2df454;}},_0x400448=await getMcpAuthOrigin();if(_0x400448){console[_0xc2236(0x1bc)](_0xc2236(0x1b4)),await mcpBootstrap();return;}if(!isInteractive())throw new Error(_0x5141ee[_0xc2236(0x1b8)]);try{const _0x2657d2=await _0x5141ee[_0xc2236(0x1b6)](runDeviceAuthFlow),_0x492cdb=await getCurrentUser(_0x2657d2);_0x492cdb['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x492cdb['user']['organizationName']):console[_0xc2236(0x1bc)](_0xc2236(0x1b0));}catch(_0x5352b2){throw new Error('Login\x20failed:\x20'+(_0x5141ee['NhumB'](_0x5352b2,Error)?_0x5352b2[_0xc2236(0x1b5)]:_0x5352b2));}}
1
+ (function(_0x4c3928,_0x3e9996){const _0x358e35=_0x17cd,_0x4837ba=_0x4c3928();while(!![]){try{const _0xc1e2bd=parseInt(_0x358e35(0xf8))/0x1*(parseInt(_0x358e35(0xfc))/0x2)+-parseInt(_0x358e35(0x103))/0x3+parseInt(_0x358e35(0xfe))/0x4*(-parseInt(_0x358e35(0xfb))/0x5)+parseInt(_0x358e35(0xff))/0x6+parseInt(_0x358e35(0x101))/0x7+parseInt(_0x358e35(0xf9))/0x8*(-parseInt(_0x358e35(0x105))/0x9)+parseInt(_0x358e35(0x100))/0xa;if(_0xc1e2bd===_0x3e9996)break;else _0x4837ba['push'](_0x4837ba['shift']());}catch(_0xf698ac){_0x4837ba['push'](_0x4837ba['shift']());}}}(_0x5549,0x21998));function _0x5549(){const _0x4df2e7=['log','1196217qiLHFW','organizationName','132qqaGVq','8mCshew','hezet','5HMDRkh','3422UZIddT','user','466108kEikBL','1254426fLmWDi','655670AeITBK','482510tAMbSW','HEaPu','547068jGBLmt'];_0x5549=function(){return _0x4df2e7;};return _0x5549();}function _0x17cd(_0x1d8d3d,_0xa0d936){_0x1d8d3d=_0x1d8d3d-0xf8;const _0x55497d=_0x5549();let _0x17cd71=_0x55497d[_0x1d8d3d];return _0x17cd71;}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x48014b=_0x17cd,_0x4d3231={'vUcnV':function(_0xd247b5){return _0xd247b5();},'HEaPu':'Re-authenticating\x20via\x20MCP\x20bootstrap...','hezet':function(_0xf1e19f){return _0xf1e19f();},'uIMrv':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','UWDnD':function(_0x145c28){return _0x145c28();},'sEokv':'\x0a✅\x20API\x20key\x20stored\x20successfully','WJitX':function(_0x556bc8,_0x5c244e){return _0x556bc8 instanceof _0x5c244e;}},_0x44f353=await _0x4d3231['vUcnV'](getMcpAuthOrigin);if(_0x44f353){console['log'](_0x4d3231[_0x48014b(0x102)]),await _0x4d3231[_0x48014b(0xfa)](mcpBootstrap);return;}if(!_0x4d3231['vUcnV'](isInteractive))throw new Error(_0x4d3231['uIMrv']);try{const _0x542921=await _0x4d3231['UWDnD'](runDeviceAuthFlow),_0x5c05f=await getCurrentUser(_0x542921);_0x5c05f['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x5c05f[_0x48014b(0xfd)][_0x48014b(0x106)]):console[_0x48014b(0x104)](_0x4d3231['sEokv']);}catch(_0x465825){throw new Error('Login\x20failed:\x20'+(_0x4d3231['WJitX'](_0x465825,Error)?_0x465825['message']:_0x465825));}}
@@ -1 +1 @@
1
- const _0x495f8d=_0x4ef2;(function(_0x10e316,_0xe7487e){const _0x739611=_0x4ef2,_0x495b63=_0x10e316();while(!![]){try{const _0x29e0f2=-parseInt(_0x739611(0x1df))/0x1+parseInt(_0x739611(0x21a))/0x2+-parseInt(_0x739611(0x1b5))/0x3+-parseInt(_0x739611(0x1d8))/0x4*(parseInt(_0x739611(0x1f5))/0x5)+-parseInt(_0x739611(0x23f))/0x6+-parseInt(_0x739611(0x1eb))/0x7*(parseInt(_0x739611(0x1d3))/0x8)+-parseInt(_0x739611(0x226))/0x9*(-parseInt(_0x739611(0x207))/0xa);if(_0x29e0f2===_0xe7487e)break;else _0x495b63['push'](_0x495b63['shift']());}catch(_0x3447aa){_0x495b63['push'](_0x495b63['shift']());}}}(_0x353f,0x96b73));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(),_0x495f8d(0x1e0),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x495f8d(0x1fa));export async function getMcpAuthOrigin(){const _0xcdfddc=_0x495f8d,_0x3dc4f0={'VbXtN':function(_0x291734,_0x4e40fa,_0x47c696){return _0x291734(_0x4e40fa,_0x47c696);},'xiNdf':_0xcdfddc(0x20a),'bBgnm':function(_0x2d6b0a,_0x576683){return _0x2d6b0a||_0x576683;}};try{const _0x10b900=(await _0x3dc4f0['VbXtN'](readFile,AUTH_ORIGIN_PATH,_0x3dc4f0['xiNdf']))['trim']();return _0x3dc4f0['bBgnm'](_0x10b900,null);}catch{return null;}}export async function mcpBootstrap(){const _0x14356b=_0x495f8d,_0x36342b={'MEBgv':function(_0x34765e){return _0x34765e();},'wOelU':function(_0x151dd1,_0x11db9a){return _0x151dd1(_0x11db9a);},'LfznC':function(_0x519ec5){return _0x519ec5();}},_0xe9ab62=_0x36342b[_0x14356b(0x23e)](getMcpAuthUrl);currentOrigin=_0xe9ab62;const _0x236aa6=process[_0x14356b(0x22c)][_0x14356b(0x1de)]??![];console[_0x14356b(0x1ab)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0xe9ab62+'\x0a');const _0x3cdc71=await _0x36342b[_0x14356b(0x216)](tryUnauthenticated,_0xe9ab62);let _0x3c6b23=null;if(_0x3cdc71===_0x14356b(0x1af))_0x3c6b23='';else{_0x3c6b23=await _0x36342b[_0x14356b(0x1b9)](loadCachedToken);if(!_0x3c6b23){if(!_0x236aa6)throw new Error(_0x14356b(0x1d6)+'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.');_0x3c6b23=await oauthFlow(_0xe9ab62);}}await callGetCliToken(_0xe9ab62,_0x3c6b23);}async function tryUnauthenticated(_0x4518d4){const _0x264b7f=_0x495f8d,_0x51ecab={'IWYJN':function(_0x10fc91,_0x5cec57,_0x55b91d){return _0x10fc91(_0x5cec57,_0x55b91d);},'UMyNW':_0x264b7f(0x24d),'LMYHU':_0x264b7f(0x1d9),'WuFGR':'initialize','BoOIk':_0x264b7f(0x245),'EfJWB':_0x264b7f(0x1c2),'WdvKB':'1.0.0','XsFjZ':function(_0x136b19,_0x5080ef){return _0x136b19===_0x5080ef;}},_0x361634=await _0x51ecab[_0x264b7f(0x1d1)](fetch,_0x4518d4,{'method':_0x51ecab[_0x264b7f(0x248)],'headers':{'Content-Type':_0x264b7f(0x204),'Accept':_0x264b7f(0x1b2)},'body':JSON[_0x264b7f(0x213)]({'jsonrpc':_0x51ecab[_0x264b7f(0x200)],'id':0x1,'method':_0x51ecab[_0x264b7f(0x23b)],'params':{'protocolVersion':_0x51ecab[_0x264b7f(0x1d7)],'capabilities':{},'clientInfo':{'name':_0x51ecab['EfJWB'],'version':_0x51ecab[_0x264b7f(0x217)]}}})});if(_0x361634['ok'])return await _0x361634[_0x264b7f(0x1cd)](),_0x264b7f(0x1af);if(_0x51ecab['XsFjZ'](_0x361634[_0x264b7f(0x249)],0x191))return await _0x361634['text'](),_0x264b7f(0x1b1);const _0x25505f=await _0x361634[_0x264b7f(0x1cd)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x361634['status']+':\x20'+_0x25505f);}class OAuthTimeoutError extends Error{constructor(_0x812fd8){const _0x2409d4={'odqxI':'OAuthTimeoutError'};super(_0x812fd8),this['name']=_0x2409d4['odqxI'];}}function _0x353f(){const _0x2e246c=['LMYHU','vPVBe','text/html','DifpM','application/json','write','get','10HnQNQE','VPydb','length','utf-8','notifications/initialized','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','OAuth\x20error:\x20','authorization_code','code','ysuly','digest','origin','stringify','iscpn','Exchanging\x20authorization\x20code...','wOelU','WdvKB','VcaeA','error','291190JPQgqr','toString','Authorization','KRXZv','code_challenge','xdg-open','BMitF','twmyY','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','initialize','zbXBA','jIdfr','34759359yqatlJ','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','CyiWz','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','http://localhost:','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','stdout','base64url','Ranger\x20CLI','expires_in','slice','RbJNn','set','jUhAu','NOaEo','code_challenge_method','Geeyo','close','win32','mMWts','/.well-known/oauth-authorization-server','WuFGR','token','type','MEBgv','911280auOAeQ','KDyWM','refresh.txt','/callback','content','client_secret','2025-03-26','XHcKc','Unknown\x20error','UMyNW','status','clientId','trim','structuredContent','POST','clientSecret','aomTe','log','eszfA','accessToken','isError','proxied','vgepr','needs-oauth','application/json,\x20text/event-stream','searchParams','ntuZK','2979132KbgVXU','cKfqN','hJUWP','okDNx','LfznC','vQmIo','MwqzS','\x20done','pathname','fOYDa','SCWtS','writeHead','then','ranger-cli','authorization_servers','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','hrGRJ','redirect_uri','json','startsWith','sha256','registration_endpoint','data:','Zbfso','text','update','ethdY','Discovering\x20authorization\x20server...','IWYJN','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','4624SmZECq','message','kFCMv','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','BoOIk','8GVBDzp','2.0','S256','XgtgH','HqlFy','ALkoi','isTTY','42309jyeGlF','.ranger','nukXd','darwin','replace','OEDKK','nPsOS','refresh_token','state','UKAdU','resource','open','14798uqYkPI','mUSCc','expiresAt','\x0aOpening\x20browser\x20for\x20authentication...','parse','client_id','split','ediDr','zhAsu','access_token','2453225ojFPzf','SWMvl','authorization_endpoint','end','GZenu','auth-origin.txt','platform','cOviZ','string','text/event-stream','cieJJ'];_0x353f=function(){return _0x2e246c;};return _0x353f();}async function oauthFlow(_0x5e8b20){const _0x10d1a7=_0x495f8d,_0x3074c5={'cKfqN':function(_0x1ddf0f,_0x32360f){return _0x1ddf0f(_0x32360f);},'hJUWP':function(_0x3f70d8,_0x504af2){return _0x3f70d8 instanceof _0x504af2;},'okDNx':function(_0x3b5d3a){return _0x3b5d3a();},'zQkOO':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await _0x3074c5[_0x10d1a7(0x1b6)](oauthFlowAttempt,_0x5e8b20);}catch(_0x1af280){if(_0x3074c5[_0x10d1a7(0x1b7)](_0x1af280,OAuthTimeoutError)&&await _0x3074c5[_0x10d1a7(0x1b8)](loadCachedClient))return console[_0x10d1a7(0x1ab)](_0x3074c5['zQkOO']),await clearCachedClient(),await _0x3074c5[_0x10d1a7(0x1b6)](oauthFlowAttempt,_0x5e8b20);throw _0x1af280;}}async function oauthFlowAttempt(_0x52393d){const _0x384025=_0x495f8d,_0x177a1d={'tNXGY':function(_0x1a86c6,_0x25e9fd){return _0x1a86c6(_0x25e9fd);},'ysuly':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','CyiWz':function(_0x57268d,_0x5e9e67,_0x3b7763){return _0x57268d(_0x5e9e67,_0x3b7763);},'GAZmJ':_0x384025(0x22e),'Geeyo':_0x384025(0x20e),'nxxHP':_0x384025(0x1c4),'vQmIo':function(_0x1658ae,_0x102cf4){return _0x1658ae(_0x102cf4);},'UcxmF':_0x384025(0x1c9),'mMWts':'hex','NHurO':_0x384025(0x1c6),'DifpM':_0x384025(0x21e),'tHMXw':_0x384025(0x235),'jIdfr':_0x384025(0x1ee),'RswBA':_0x384025(0x215),'zhAsu':_0x384025(0x244),'VieOd':'resource','nPsOS':function(_0x298767,_0x1ac3c9,_0x27b550,_0x15534b){return _0x298767(_0x1ac3c9,_0x27b550,_0x15534b);}},_0xbf3963=_0x52393d[_0x384025(0x1e3)](/\/mcp$/,'');process[_0x384025(0x22c)][_0x384025(0x205)](_0x384025(0x1d0));const _0x30e21c=await _0x177a1d['tNXGY'](fetch,_0xbf3963+'/.well-known/oauth-protected-resource');if(!_0x30e21c['ok'])throw new Error(_0x177a1d[_0x384025(0x210)]);const _0x47eb23=await _0x30e21c[_0x384025(0x1c7)](),_0x467d27=_0x47eb23[_0x384025(0x1c3)]?.[0x0];if(!_0x467d27)throw new Error(_0x384025(0x22b));console[_0x384025(0x1ab)]('\x20'+_0x467d27);const _0x2b84ae=await fetchAuthServerMetadata(_0x467d27);let _0x44f1aa,_0x3ac87c;const _0x304249=await loadCachedClient();if(_0x304249)_0x44f1aa=_0x304249['clientId'],_0x3ac87c=_0x304249[_0x384025(0x24e)];else{if(_0x2b84ae[_0x384025(0x1ca)]){process['stdout'][_0x384025(0x205)]('Registering\x20OAuth\x20client...');const _0x50ca7d=await _0x177a1d['CyiWz'](fetch,_0x2b84ae['registration_endpoint'],{'method':_0x384025(0x24d),'headers':{'Content-Type':_0x384025(0x204)},'body':JSON['stringify']({'client_name':_0x177a1d['GAZmJ'],'redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':[_0x177a1d['Geeyo'],_0x384025(0x1e6)],'response_types':['code'],'token_endpoint_auth_method':'none'})});if(!_0x50ca7d['ok']){const _0x52d0f0=await _0x50ca7d[_0x384025(0x1cd)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x52d0f0);}const _0x27d84a=await _0x50ca7d[_0x384025(0x1c7)]();_0x44f1aa=_0x27d84a[_0x384025(0x1f0)],_0x3ac87c=_0x27d84a['client_secret'],await saveCachedClient(_0x44f1aa,_0x3ac87c),console['log'](_0x384025(0x1bc));}else throw new Error(_0x177a1d['nxxHP']);}const _0x1fada9=randomBytes(0x20)['toString'](_0x384025(0x22d)),_0x5aaab5=_0x177a1d['vQmIo'](createHash,_0x177a1d['UcxmF'])[_0x384025(0x1ce)](_0x1fada9)[_0x384025(0x211)](_0x384025(0x22d)),_0x23511=_0x177a1d['vQmIo'](randomBytes,0x10)[_0x384025(0x21b)](_0x177a1d[_0x384025(0x239)]),_0xc83f2c=new URL(_0x2b84ae[_0x384025(0x1f7)]);_0xc83f2c['searchParams'][_0x384025(0x232)]('response_type',_0x384025(0x20f)),_0xc83f2c[_0x384025(0x1b3)]['set']('client_id',_0x44f1aa),_0xc83f2c['searchParams'][_0x384025(0x232)](_0x177a1d['NHurO'],_0x384025(0x22a)+CALLBACK_PORT+_0x384025(0x242)),_0xc83f2c[_0x384025(0x1b3)][_0x384025(0x232)](_0x177a1d[_0x384025(0x203)],_0x5aaab5),_0xc83f2c['searchParams']['set'](_0x177a1d['tHMXw'],_0x384025(0x1da)),_0xc83f2c['searchParams']['set']('state',_0x23511);_0x47eb23[_0x384025(0x1e9)]&&_0xc83f2c['searchParams'][_0x384025(0x232)]('resource',_0x47eb23[_0x384025(0x1e9)]);console['log'](_0x177a1d[_0x384025(0x225)]),console[_0x384025(0x1ab)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0xc83f2c[_0x384025(0x21b)]()+'\x0a'),await openBrowser(_0xc83f2c[_0x384025(0x21b)]());const _0x192cb2=await _0x177a1d[_0x384025(0x1ba)](waitForCallback,_0x23511);process[_0x384025(0x22c)][_0x384025(0x205)](_0x177a1d['RswBA']);const _0x4200a1=new URLSearchParams({'grant_type':_0x177a1d[_0x384025(0x236)],'code':_0x192cb2,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0x384025(0x242),'client_id':_0x44f1aa,'code_verifier':_0x1fada9});_0x3ac87c&&_0x4200a1['set'](_0x177a1d[_0x384025(0x1f3)],_0x3ac87c);_0x47eb23['resource']&&_0x4200a1['set'](_0x177a1d['VieOd'],_0x47eb23['resource']);const _0x508a2b=await _0x177a1d[_0x384025(0x228)](fetch,_0x2b84ae['token_endpoint'],{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x4200a1});if(!_0x508a2b['ok']){const _0x1f00b7=await _0x508a2b[_0x384025(0x1cd)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x1f00b7);}const _0x316747=await _0x508a2b['json']();return console['log'](_0x384025(0x1bc)),await _0x177a1d[_0x384025(0x1e5)](saveCachedToken,_0x316747[_0x384025(0x1f4)],_0x316747['refresh_token'],_0x316747[_0x384025(0x22f)]),_0x316747['access_token'];}async function callGetCliToken(_0x26fd73,_0x4d774c){const _0xaf3bc=_0x495f8d,_0x50ff67={'UKAdU':_0xaf3bc(0x24d),'SWMvl':function(_0x46a6cc,_0x42ed1f){return _0x46a6cc(_0x42ed1f);},'ediDr':'application/json','xgEeC':_0xaf3bc(0x1b2),'rZoKT':function(_0x4ed959,_0x92fa58){return _0x4ed959(_0x92fa58);},'uVndd':_0xaf3bc(0x245),'ntuZK':'ranger-cli','UZBTt':function(_0x5dc148,_0x54995c,_0x2154b4){return _0x5dc148(_0x54995c,_0x2154b4);},'BMitF':'2.0','VPydb':_0xaf3bc(0x20b),'ethdY':'Requesting\x20CLI\x20token...','uJNWY':function(_0x5d87c4,_0x24e93d){return _0x5d87c4(_0x24e93d);},'KRXZv':'tools/call','RbJNn':'\x20done','nukXd':'\x0aUnexpected\x20response\x20structure:','mUSCc':function(_0x24ed18,_0x583ede,_0x1620f8){return _0x24ed18(_0x583ede,_0x1620f8);},'FKRgV':function(_0x53ace2){return _0x53ace2();},'ALkoi':'.ranger','VcaeA':function(_0x433811,_0x3e9f07,_0x34b0a7){return _0x433811(_0x3e9f07,_0x34b0a7);},'vSRxT':_0xaf3bc(0x241),'OEDKK':function(_0x13b11d,_0x47695d,_0x5e035e,_0x1ad044){return _0x13b11d(_0x47695d,_0x5e035e,_0x1ad044);}},_0x2ecf41={'Content-Type':_0x50ff67[_0xaf3bc(0x1f2)],'Accept':_0x50ff67['xgEeC']};_0x4d774c&&(_0x2ecf41[_0xaf3bc(0x21c)]='Bearer\x20'+_0x4d774c);const _0x321dfc=async _0x36e250=>{const _0x18857a=_0xaf3bc,_0x22fc91=await fetch(_0x26fd73,{'method':_0x50ff67['UKAdU'],'headers':_0x2ecf41,'body':JSON[_0x18857a(0x213)](_0x36e250)});if(!_0x22fc91['ok']){const _0x20b930=await _0x22fc91['text']();throw new Error('HTTP\x20'+_0x22fc91[_0x18857a(0x249)]+':\x20'+_0x20b930);}return _0x50ff67['SWMvl'](parseResponse,_0x22fc91);};process[_0xaf3bc(0x22c)][_0xaf3bc(0x205)]('Initializing\x20MCP\x20session...');const _0x1189f0=await _0x50ff67['rZoKT'](_0x321dfc,{'jsonrpc':_0xaf3bc(0x1d9),'id':0x1,'method':_0xaf3bc(0x223),'params':{'protocolVersion':_0x50ff67['uVndd'],'capabilities':{},'clientInfo':{'name':_0x50ff67[_0xaf3bc(0x1b4)],'version':'1.0.0'}}});if(_0x1189f0[_0xaf3bc(0x219)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x1189f0[_0xaf3bc(0x219)]['message']??JSON['stringify'](_0x1189f0[_0xaf3bc(0x219)])));console[_0xaf3bc(0x1ab)](_0xaf3bc(0x1bc)),await _0x50ff67['UZBTt'](fetch,_0x26fd73,{'method':_0x50ff67[_0xaf3bc(0x1e8)],'headers':_0x2ecf41,'body':JSON[_0xaf3bc(0x213)]({'jsonrpc':_0x50ff67[_0xaf3bc(0x220)],'method':_0x50ff67[_0xaf3bc(0x208)]})})[_0xaf3bc(0x1c1)](_0x1671dc=>_0x1671dc['text']()),process[_0xaf3bc(0x22c)][_0xaf3bc(0x205)](_0x50ff67[_0xaf3bc(0x1cf)]);const _0xfcbc0c=await _0x50ff67['uJNWY'](_0x321dfc,{'jsonrpc':_0xaf3bc(0x1d9),'id':0x2,'method':_0x50ff67[_0xaf3bc(0x21d)],'params':{'name':'get_cli_token','arguments':{}}});if(_0xfcbc0c['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0xfcbc0c[_0xaf3bc(0x219)][_0xaf3bc(0x1d4)]??JSON['stringify'](_0xfcbc0c['error'])));console['log'](_0x50ff67[_0xaf3bc(0x231)]);const _0x53eefa=_0x50ff67[_0xaf3bc(0x1f6)](extractToken,_0xfcbc0c['result']);if(!_0x53eefa){console['error'](_0x50ff67[_0xaf3bc(0x1e1)]),console[_0xaf3bc(0x219)](JSON['stringify'](_0xfcbc0c['result'],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x30561a=_0x50ff67[_0xaf3bc(0x1ec)](join,_0x50ff67['FKRgV'](homedir),_0x50ff67[_0xaf3bc(0x1dd)]),_0x1f90b3=_0x50ff67[_0xaf3bc(0x218)](join,_0x30561a,_0x50ff67['vSRxT']);await mkdir(_0x30561a,{'recursive':!![]}),await _0x50ff67[_0xaf3bc(0x1e4)](writeFile,_0x1f90b3,_0x53eefa,{'mode':0x180}),await _0x50ff67[_0xaf3bc(0x1e4)](writeFile,_0x50ff67[_0xaf3bc(0x218)](join,_0x30561a,'auth-origin.txt'),_0x26fd73,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x1f90b3),console[_0xaf3bc(0x1ab)](_0xaf3bc(0x229));}async function fetchAuthServerMetadata(_0x1ea59d){const _0x29e1cc=_0x495f8d,_0x30fb39=_0x1ea59d+_0x29e1cc(0x23a),_0x4dc8b5=await fetch(_0x30fb39);if(!_0x4dc8b5['ok'])throw new Error(_0x29e1cc(0x20c)+_0x30fb39+':\x20'+_0x4dc8b5[_0x29e1cc(0x249)]);return _0x4dc8b5[_0x29e1cc(0x1c7)]();}function waitForCallback(_0x9a8c6f){const _0x2da5d4=_0x495f8d,_0x287d3f={'OljZK':function(_0x4db4e8){return _0x4db4e8();},'cOviZ':_0x2da5d4(0x219),'twmyY':_0x2da5d4(0x202),'kzyrY':'127.0.0.1'};return new Promise((_0x5ce257,_0x14a696)=>{const _0xd891f5=_0x2da5d4,_0x599915={'HqlFy':function(_0x304a6b){return _0x287d3f['OljZK'](_0x304a6b);},'KDyWM':'Not\x20found','cCSRL':_0x287d3f[_0xd891f5(0x1fc)],'fOYDa':_0x287d3f[_0xd891f5(0x221)],'GZenu':function(_0x3073bd){return _0x3073bd();},'mzHPI':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','XgtgH':function(_0x44efa7,_0x3e8c74){return _0x44efa7(_0x3e8c74);},'NOaEo':function(_0x53f994,_0x3efe63){return _0x53f994(_0x3efe63);}},_0x520cca=()=>{const _0xd0e5ab=_0xd891f5;_0xd18439['closeAllConnections'](),_0xd18439[_0xd0e5ab(0x237)]();},_0x48cfb7=setTimeout(()=>{const _0x1b1a93=_0xd891f5;_0x599915[_0x1b1a93(0x1dc)](_0x520cca),_0x14a696(new OAuthTimeoutError(_0x1b1a93(0x1d2)));},0x1d4c0),_0xd18439=createServer((_0x89dc8b,_0x35c1e3)=>{const _0x5929a3=_0xd891f5,_0x252a2c=new URL(_0x89dc8b['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x252a2c[_0x5929a3(0x1bd)]!=='/callback'){_0x35c1e3['writeHead'](0x194),_0x35c1e3['end'](_0x599915[_0x5929a3(0x240)]);return;}const _0xb2cf8f=_0x252a2c[_0x5929a3(0x1b3)]['get'](_0x5929a3(0x20f)),_0x511b4c=_0x252a2c[_0x5929a3(0x1b3)]['get'](_0x5929a3(0x1e7)),_0x455cc5=_0x252a2c[_0x5929a3(0x1b3)]['get'](_0x599915['cCSRL']);if(_0x455cc5){const _0x39cd8b=_0x252a2c[_0x5929a3(0x1b3)][_0x5929a3(0x206)]('error_description')??_0x455cc5;_0x35c1e3[_0x5929a3(0x1c0)](0xc8,{'Content-Type':_0x599915['fOYDa']}),_0x35c1e3[_0x5929a3(0x1f8)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x39cd8b+_0x5929a3(0x222)),clearTimeout(_0x48cfb7),_0x599915[_0x5929a3(0x1f9)](_0x520cca),_0x14a696(new Error(_0x5929a3(0x20d)+_0x39cd8b));return;}if(!_0xb2cf8f||_0x511b4c!==_0x9a8c6f){_0x35c1e3[_0x5929a3(0x1c0)](0x190,{'Content-Type':_0x599915['fOYDa']}),_0x35c1e3[_0x5929a3(0x1f8)](_0x5929a3(0x227));return;}_0x35c1e3[_0x5929a3(0x1c0)](0xc8,{'Content-Type':_0x599915[_0x5929a3(0x1be)]}),_0x35c1e3['end'](_0x599915['mzHPI']),_0x599915[_0x5929a3(0x1db)](clearTimeout,_0x48cfb7),_0x520cca(),_0x599915[_0x5929a3(0x234)](_0x5ce257,_0xb2cf8f);});_0xd18439['listen'](CALLBACK_PORT,_0x287d3f['kzyrY']);});}async function openBrowser(_0x514ebc){const _0x207bb9=_0x495f8d,_0x1b98a4={'iscpn':_0x207bb9(0x1e2),'jUhAu':_0x207bb9(0x1ea),'jqPnO':_0x207bb9(0x238),'cFayV':'start','pXXqq':_0x207bb9(0x21f),'zbXBA':function(_0x5eb968,_0x5dac45){return _0x5eb968(_0x5dac45);}},_0x111788=process[_0x207bb9(0x1fb)]===_0x1b98a4[_0x207bb9(0x214)]?_0x1b98a4[_0x207bb9(0x233)]:process[_0x207bb9(0x1fb)]===_0x1b98a4['jqPnO']?_0x1b98a4['cFayV']:_0x1b98a4['pXXqq'];_0x1b98a4[_0x207bb9(0x224)](exec,_0x111788+'\x20\x22'+_0x514ebc+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x2fd163=_0x495f8d,_0x39a5fa={'vPVBe':function(_0x5aa45b,_0x4e6822){return _0x5aa45b!==_0x4e6822;},'Gxtlg':function(_0x106c49,_0x2edcdd){return _0x106c49>_0x2edcdd;}};try{const _0x54e4a5=JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x54e4a5['origin']&&_0x39a5fa[_0x2fd163(0x201)](_0x54e4a5[_0x2fd163(0x212)],currentOrigin))return null;if(_0x54e4a5[_0x2fd163(0x1ed)]&&_0x39a5fa['Gxtlg'](Date['now'](),_0x54e4a5['expiresAt']))return null;return _0x54e4a5[_0x2fd163(0x1ad)]??null;}catch{return null;}}async function saveCachedToken(_0x25c1f,_0x3e3374,_0xabfeb9){const _0x12aa62=_0x495f8d,_0x6d0a02={'hrGRJ':function(_0x57d27a,_0x58da11,_0x2c66c9){return _0x57d27a(_0x58da11,_0x2c66c9);},'JLiBS':function(_0x52f633,_0x322c70,_0x20f98d,_0x26be50){return _0x52f633(_0x322c70,_0x20f98d,_0x26be50);}},_0x17b9e6=await loadCachedData(),_0x5e354c={..._0x17b9e6,'origin':currentOrigin,'accessToken':_0x25c1f,'refreshToken':_0x3e3374??_0x17b9e6?.['refreshToken'],'expiresAt':_0xabfeb9?Date['now']()+_0xabfeb9*0x3e8:undefined};await _0x6d0a02[_0x12aa62(0x1c5)](mkdir,join(homedir(),'.ranger'),{'recursive':!![]}),await _0x6d0a02['JLiBS'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x5e354c),{'mode':0x180});}async function loadCachedClient(){const _0xf34d33=_0x495f8d,_0x234bdf={'kFCMv':function(_0x3db8fc,_0x29eca3){return _0x3db8fc!==_0x29eca3;}},_0x5b2043=await loadCachedData();if(_0x5b2043?.[_0xf34d33(0x212)]&&_0x234bdf[_0xf34d33(0x1d5)](_0x5b2043['origin'],currentOrigin))return null;return _0x5b2043?.['clientId']?{'clientId':_0x5b2043[_0xf34d33(0x24a)],'clientSecret':_0x5b2043['clientSecret']}:null;}async function clearCachedClient(){const _0x5267d4=_0x495f8d,_0x5e7d40={'eszfA':function(_0x14bb85,_0x155f1d,_0xc09650,_0x558977){return _0x14bb85(_0x155f1d,_0xc09650,_0x558977);}},_0x4aeb59=await loadCachedData();if(!_0x4aeb59)return;const {clientId:_0x5ccb9b,clientSecret:_0x1ddd62,..._0x162bab}=_0x4aeb59;await _0x5e7d40[_0x5267d4(0x1ac)](writeFile,TOKEN_CACHE_PATH,JSON[_0x5267d4(0x213)](_0x162bab),{'mode':0x180});}async function saveCachedClient(_0x1365b4,_0x42ad49){const _0x55d85e=_0x495f8d,_0x274215={'aomTe':function(_0x49367f){return _0x49367f();},'Zbfso':function(_0x42c91f,_0x28f61e,_0x1ae0e0){return _0x42c91f(_0x28f61e,_0x1ae0e0);},'naUzB':function(_0x229e90){return _0x229e90();},'cieJJ':'.ranger','XHcKc':function(_0x47c393,_0x3125ca,_0x34a57b,_0xd90f63){return _0x47c393(_0x3125ca,_0x34a57b,_0xd90f63);}},_0x37c54d=await _0x274215[_0x55d85e(0x24f)](loadCachedData),_0x5e51ba={..._0x37c54d,'origin':currentOrigin,'accessToken':_0x37c54d?.[_0x55d85e(0x1ad)]??'','clientId':_0x1365b4,'clientSecret':_0x42ad49};await _0x274215[_0x55d85e(0x1cc)](mkdir,join(_0x274215['naUzB'](homedir),_0x274215[_0x55d85e(0x1ff)]),{'recursive':!![]}),await _0x274215[_0x55d85e(0x246)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x5e51ba),{'mode':0x180});}function _0x4ef2(_0x127b6f,_0x28af85){_0x127b6f=_0x127b6f-0x1ab;const _0x353fc9=_0x353f();let _0x4ef273=_0x353fc9[_0x127b6f];return _0x4ef273;}async function loadCachedData(){const _0x440905=_0x495f8d,_0x3422c3={'BWAtC':_0x440905(0x20a)};try{return JSON[_0x440905(0x1ef)](await readFile(TOKEN_CACHE_PATH,_0x3422c3['BWAtC']));}catch{return null;}}async function parseResponse(_0x210757){const _0x155efe=_0x495f8d,_0x8f9ef0={'nCsED':_0x155efe(0x1fe),'vgepr':function(_0xecbb6e,_0x3bc19c){return _0xecbb6e!==_0x3bc19c;},'MwqzS':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0xdbc8=_0x210757['headers']['get']('content-type')??'';if(_0xdbc8['includes'](_0x8f9ef0['nCsED'])){const _0x1477e7=await _0x210757['text']();for(const _0x489f43 of _0x1477e7[_0x155efe(0x1f1)]('\x0a')){const _0x5362de=_0x489f43[_0x155efe(0x24b)]();if(_0x5362de[_0x155efe(0x1c8)](_0x155efe(0x1cb))){const _0x3ac38f=_0x5362de[_0x155efe(0x230)]('data:'[_0x155efe(0x209)])[_0x155efe(0x24b)]();if(!_0x3ac38f)continue;try{const _0x176bc5=JSON['parse'](_0x3ac38f);if(_0x8f9ef0[_0x155efe(0x1b0)](_0x176bc5['id'],undefined)||_0x176bc5['error'])return _0x176bc5;}catch{}}}throw new Error(_0x8f9ef0[_0x155efe(0x1bb)]);}return _0x210757['json']();}function extractToken(_0x5d86f8){const _0x4e9fca=_0x495f8d,_0x4b45cc={'SCWtS':function(_0x2fd586,_0x4aa6ba){return _0x2fd586===_0x4aa6ba;},'FStGY':'string','OVEDR':_0x4e9fca(0x247)};if(!_0x5d86f8)return null;const _0x1579da=_0x5d86f8[_0x4e9fca(0x24c)];if(_0x1579da?.[_0x4e9fca(0x23c)]&&_0x4b45cc['SCWtS'](typeof _0x1579da['token'],_0x4b45cc['FStGY']))return _0x1579da['token'];if(_0x5d86f8[_0x4e9fca(0x1ae)]){const _0x2768b=_0x5d86f8[_0x4e9fca(0x243)];throw new Error('Server\x20returned\x20error:\x20'+(_0x2768b?.[0x0]?.['text']??_0x4b45cc['OVEDR']));}const _0x38cf70=_0x5d86f8['content'];if(_0x38cf70)for(const _0x1509b7 of _0x38cf70){if(_0x4b45cc[_0x4e9fca(0x1bf)](_0x1509b7[_0x4e9fca(0x23d)],_0x4e9fca(0x1cd))&&_0x1509b7[_0x4e9fca(0x1cd)]){try{const _0x382d54=JSON[_0x4e9fca(0x1ef)](_0x1509b7[_0x4e9fca(0x1cd)]);if(typeof _0x382d54?.['token']===_0x4e9fca(0x1fd))return _0x382d54[_0x4e9fca(0x23c)];}catch{}const _0x5f589f=_0x1509b7['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x5f589f)return _0x5f589f[0x1];}}return null;}
1
+ const _0x30a5a7=_0x4a9b;function _0x5ec4(){const _0x98aa48=['\x20done','type','initialize','client_secret','utf-8','2.0','hex','aSTiO','http://localhost:','dHQgF','MnELY','expiresAt','JNieh','slice','resource','aZPzH','notifications/initialized','closeAllConnections','text','result','message','expires_in','CiaEw','origin','74382AGUJru','ranger-cli','LAjsT','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','stringify','write','zLwlx','name','1661895EXhFGR','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','digest','hetUb','BGZbc','753651SYtbbl','POST','application/json','bpSjM','bcMye','MCP\x20initialize\x20failed:\x20','/callback','pAFIi','VsBMC','ikwLg','status','XBYGj','tqFIS','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','/.well-known/oauth-protected-resource','trim','.ranger','EOGBp','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','toString','aMCGK','Initializing\x20MCP\x20session...','content','client_id','state','string','NsCUp','WSQDO','XlrDH','bEepc','access_token','1315roCuiW','Client\x20registration\x20failed:\x20','log','split','token','structuredContent','bELpb','xdg-open','QjQOw','jqDkJ','get_cli_token','clientId','Nwrgm','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','18EKxHGF','code','OdwIX','ZvUGj','pKRHO','yzeuR','headers','text/html','MIVkd','MCDKH','bDnZq','clientSecret','yBveH','\x0aOpening\x20browser\x20for\x20authentication...','stdout','get','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','end','Ranger\x20CLI','civAp','error','378DEieyU','application/json,\x20text/event-stream','ugJTz','Not\x20found','authorization_servers','authorization_endpoint','writeHead','kASIP','32uyRaDa','refresh.txt','update','jpMqd','PvalS','none','AVKpZ','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','HTTP\x20','KjtIT','OAuthTimeoutError','DtsKl','error_description','isTTY','parse','3697170rYbHUe','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','hUVWq','BsjTz','now','UTvJL','set','proxied','zxOKr','XHVPC','listen','17548JbcfKQ','auth-origin.txt','RzqWN','authorization_code','json','dWuUa','197970wWGobn','oCsBK','41750346BMRqmv','then','2025-03-26','Exchanging\x20authorization\x20code...','uIbsv','open','jUoRr','searchParams'];_0x5ec4=function(){return _0x98aa48;};return _0x5ec4();}(function(_0x17d86e,_0xe24a5){const _0x5638ae=_0x4a9b,_0x4a3e8d=_0x17d86e();while(!![]){try{const _0x24d2c4=-parseInt(_0x5638ae(0xec))/0x1+parseInt(_0x5638ae(0xc2))/0x2*(parseInt(_0x5638ae(0x85))/0x3)+-parseInt(_0x5638ae(0xbc))/0x4*(parseInt(_0x5638ae(0x77))/0x5)+parseInt(_0x5638ae(0xe4))/0x6*(-parseInt(_0x5638ae(0x9a))/0x7)+-parseInt(_0x5638ae(0xa2))/0x8*(-parseInt(_0x5638ae(0xf1))/0x9)+-parseInt(_0x5638ae(0xb1))/0xa+parseInt(_0x5638ae(0xc4))/0xb;if(_0x24d2c4===_0xe24a5)break;else _0x4a3e8d['push'](_0x4a3e8d['shift']());}catch(_0xcf3979){_0x4a3e8d['push'](_0x4a3e8d['shift']());}}}(_0x5ec4,0xd4491));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x30a5a7(0xbd));export async function getMcpAuthOrigin(){const _0x469ec5=_0x30a5a7;try{const _0x2ed0da=(await readFile(AUTH_ORIGIN_PATH,_0x469ec5(0xd0)))['trim']();return _0x2ed0da||null;}catch{return null;}}export async function mcpBootstrap(){const _0x38f835=_0x30a5a7,_0x5a5a31={'ZvUGj':function(_0x32e2a2){return _0x32e2a2();},'ugJTz':function(_0x509a85,_0xbe7fd8){return _0x509a85(_0xbe7fd8);},'uhdKB':function(_0x27447d,_0x3b2731){return _0x27447d===_0x3b2731;},'HBtNx':'proxied','WSQDO':function(_0x5a0a47,_0x49ac3c){return _0x5a0a47+_0x49ac3c;},'MCDKH':function(_0xf608e2,_0x5244cb){return _0xf608e2(_0x5244cb);},'OhErW':function(_0x56e3ab,_0x2d395d,_0x4d0f10){return _0x56e3ab(_0x2d395d,_0x4d0f10);}},_0x295698=_0x5a5a31[_0x38f835(0x88)](getMcpAuthUrl);currentOrigin=_0x295698;const _0x3d687a=process[_0x38f835(0x93)][_0x38f835(0xaf)]??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x295698+'\x0a');const _0x10b4a4=await _0x5a5a31[_0x38f835(0x9c)](tryUnauthenticated,_0x295698);let _0x258d22=null;if(_0x5a5a31['uhdKB'](_0x10b4a4,_0x5a5a31['HBtNx']))_0x258d22='';else{_0x258d22=await _0x5a5a31[_0x38f835(0x88)](loadCachedToken);if(!_0x258d22){if(!_0x3d687a)throw new Error(_0x5a5a31[_0x38f835(0x73)](_0x38f835(0xb2),'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'));_0x258d22=await _0x5a5a31[_0x38f835(0x8e)](oauthFlow,_0x295698);}}await _0x5a5a31['OhErW'](callGetCliToken,_0x295698,_0x258d22);}async function tryUnauthenticated(_0x1651dc){const _0x19319c=_0x30a5a7,_0x27edf0={'EOGBp':function(_0x57db75,_0x38feb8,_0x158e7d){return _0x57db75(_0x38feb8,_0x158e7d);},'yzeuR':_0x19319c(0xf2),'zxOKr':'application/json,\x20text/event-stream','nOgAd':_0x19319c(0xd1),'ZkWyV':_0x19319c(0xce),'jqDkJ':'2025-03-26','LJhqL':_0x19319c(0xe5),'iFtFK':_0x19319c(0xb8),'drlmm':function(_0x9e8430,_0x4f8894){return _0x9e8430===_0x4f8894;}},_0x4bf58d=await _0x27edf0[_0x19319c(0x102)](fetch,_0x1651dc,{'method':_0x27edf0[_0x19319c(0x8a)],'headers':{'Content-Type':'application/json','Accept':_0x27edf0[_0x19319c(0xb9)]},'body':JSON[_0x19319c(0xe8)]({'jsonrpc':_0x27edf0['nOgAd'],'id':0x1,'method':_0x27edf0['ZkWyV'],'params':{'protocolVersion':_0x27edf0[_0x19319c(0x80)],'capabilities':{},'clientInfo':{'name':_0x27edf0['LJhqL'],'version':'1.0.0'}}})});if(_0x4bf58d['ok'])return await _0x4bf58d['text'](),_0x27edf0['iFtFK'];if(_0x27edf0['drlmm'](_0x4bf58d[_0x19319c(0xfb)],0x191))return await _0x4bf58d['text'](),'needs-oauth';const _0x5208ca=await _0x4bf58d[_0x19319c(0xde)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x4bf58d[_0x19319c(0xfb)]+':\x20'+_0x5208ca);}class OAuthTimeoutError extends Error{constructor(_0x3b93ad){const _0x3d6f0d=_0x30a5a7,_0x16c29b={'QjQOw':_0x3d6f0d(0xac)};super(_0x3b93ad),this[_0x3d6f0d(0xeb)]=_0x16c29b[_0x3d6f0d(0x7f)];}}async function oauthFlow(_0x3f55ce){const _0x4c230c={'wefQi':function(_0x59004c,_0x1d9e53){return _0x59004c(_0x1d9e53);},'ieysY':function(_0x592158,_0x2bdf53){return _0x592158 instanceof _0x2bdf53;},'gCTJx':function(_0x1565f6){return _0x1565f6();}};try{return await _0x4c230c['wefQi'](oauthFlowAttempt,_0x3f55ce);}catch(_0x2b9f04){if(_0x4c230c['ieysY'](_0x2b9f04,OAuthTimeoutError)&&await _0x4c230c['gCTJx'](loadCachedClient))return console['log']('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await _0x4c230c['gCTJx'](clearCachedClient),await oauthFlowAttempt(_0x3f55ce);throw _0x2b9f04;}}async function oauthFlowAttempt(_0x25a1fa){const _0x3fef66=_0x30a5a7,_0x40c624={'XlrDH':'Discovering\x20authorization\x20server...','pKRHO':_0x3fef66(0xe7),'dHQgF':function(_0xfd9d95,_0x19f7fb){return _0xfd9d95(_0x19f7fb);},'bDnZq':'Registering\x20OAuth\x20client...','vHKWk':_0x3fef66(0x97),'ZjIsz':function(_0x214f88,_0x3429e4,_0x1827ec){return _0x214f88(_0x3429e4,_0x1827ec);},'DtsKl':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','XHVPC':function(_0x221cbc,_0x23145f){return _0x221cbc(_0x23145f);},'zLwlx':'base64url','aMCGK':'sha256','NsCUp':function(_0x576d53,_0x2bf27f){return _0x576d53(_0x2bf27f);},'TFpFQ':_0x3fef66(0xd2),'BSsyP':'code','VsBMC':'resource','TtyGa':_0x3fef66(0x92),'hUVWq':_0x3fef66(0xbf),'gvrPn':'application/x-www-form-urlencoded','zRlSR':function(_0x2248bd,_0x5e168f,_0x51c7c6,_0x28f5bc){return _0x2248bd(_0x5e168f,_0x51c7c6,_0x28f5bc);}},_0x519eae=_0x25a1fa['replace'](/\/mcp$/,'');process['stdout']['write'](_0x40c624[_0x3fef66(0x74)]);const _0x28f85f=await fetch(_0x519eae+_0x3fef66(0xff));if(!_0x28f85f['ok'])throw new Error(_0x3fef66(0x95));const _0x156625=await _0x28f85f['json'](),_0x323b98=_0x156625[_0x3fef66(0x9e)]?.[0x0];if(!_0x323b98)throw new Error(_0x40c624[_0x3fef66(0x89)]);console['log']('\x20'+_0x323b98);const _0xe2f5cf=await _0x40c624[_0x3fef66(0xd5)](fetchAuthServerMetadata,_0x323b98);let _0x113320,_0x4c130a;const _0x5d0dcb=await loadCachedClient();if(_0x5d0dcb)_0x113320=_0x5d0dcb[_0x3fef66(0x82)],_0x4c130a=_0x5d0dcb[_0x3fef66(0x90)];else{if(_0xe2f5cf['registration_endpoint']){process[_0x3fef66(0x93)][_0x3fef66(0xe9)](_0x40c624[_0x3fef66(0x8f)]);const _0x597ce6=await fetch(_0xe2f5cf['registration_endpoint'],{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'client_name':_0x40c624['vHKWk'],'redirect_uris':[_0x3fef66(0xd4)+CALLBACK_PORT+_0x3fef66(0xf7)],'grant_types':['authorization_code','refresh_token'],'response_types':[_0x3fef66(0x86)],'token_endpoint_auth_method':_0x3fef66(0xa7)})});if(!_0x597ce6['ok']){const _0x27ad8c=await _0x597ce6['text']();throw new Error(_0x3fef66(0x78)+_0x27ad8c);}const _0x2390d7=await _0x597ce6[_0x3fef66(0xc0)]();_0x113320=_0x2390d7[_0x3fef66(0x6f)],_0x4c130a=_0x2390d7['client_secret'],await _0x40c624['ZjIsz'](saveCachedClient,_0x113320,_0x4c130a),console[_0x3fef66(0x79)](_0x3fef66(0xcc));}else throw new Error(_0x40c624[_0x3fef66(0xad)]);}const _0x511e43=_0x40c624['XHVPC'](randomBytes,0x20)[_0x3fef66(0x6b)](_0x40c624['zLwlx']),_0xab237f=_0x40c624[_0x3fef66(0xba)](createHash,_0x40c624[_0x3fef66(0x6c)])[_0x3fef66(0xa4)](_0x511e43)[_0x3fef66(0xee)](_0x40c624[_0x3fef66(0xea)]),_0xb82781=_0x40c624[_0x3fef66(0x72)](randomBytes,0x10)[_0x3fef66(0x6b)](_0x40c624['TFpFQ']),_0x453f5e=new URL(_0xe2f5cf[_0x3fef66(0x9f)]);_0x453f5e['searchParams']['set']('response_type',_0x40c624['BSsyP']),_0x453f5e['searchParams']['set']('client_id',_0x113320),_0x453f5e['searchParams']['set']('redirect_uri','http://localhost:'+CALLBACK_PORT+_0x3fef66(0xf7)),_0x453f5e[_0x3fef66(0xcb)]['set']('code_challenge',_0xab237f),_0x453f5e[_0x3fef66(0xcb)]['set']('code_challenge_method','S256'),_0x453f5e[_0x3fef66(0xcb)]['set'](_0x3fef66(0x70),_0xb82781);_0x156625['resource']&&_0x453f5e[_0x3fef66(0xcb)]['set'](_0x40c624[_0x3fef66(0xf9)],_0x156625[_0x3fef66(0xda)]);console[_0x3fef66(0x79)](_0x40c624['TtyGa']),console['log'](_0x3fef66(0xfe)+_0x453f5e[_0x3fef66(0x6b)]()+'\x0a'),await openBrowser(_0x453f5e['toString']());const _0x24f059=await _0x40c624['XHVPC'](waitForCallback,_0xb82781);process[_0x3fef66(0x93)][_0x3fef66(0xe9)](_0x3fef66(0xc7));const _0x1727f9=new URLSearchParams({'grant_type':_0x40c624[_0x3fef66(0xb3)],'code':_0x24f059,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0x3fef66(0xf7),'client_id':_0x113320,'code_verifier':_0x511e43});_0x4c130a&&_0x1727f9['set'](_0x3fef66(0xcf),_0x4c130a);_0x156625[_0x3fef66(0xda)]&&_0x1727f9[_0x3fef66(0xb7)](_0x40c624[_0x3fef66(0xf9)],_0x156625[_0x3fef66(0xda)]);const _0x563e62=await _0x40c624['ZjIsz'](fetch,_0xe2f5cf['token_endpoint'],{'method':'POST','headers':{'Content-Type':_0x40c624['gvrPn']},'body':_0x1727f9});if(!_0x563e62['ok']){const _0x51050a=await _0x563e62[_0x3fef66(0xde)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x51050a);}const _0x1fff43=await _0x563e62['json']();return console[_0x3fef66(0x79)](_0x3fef66(0xcc)),await _0x40c624['zRlSR'](saveCachedToken,_0x1fff43[_0x3fef66(0x76)],_0x1fff43['refresh_token'],_0x1fff43[_0x3fef66(0xe1)]),_0x1fff43[_0x3fef66(0x76)];}async function callGetCliToken(_0x20edeb,_0x4e0424){const _0x57eb61=_0x30a5a7,_0x1d9e00={'BsjTz':function(_0x4938c9,_0xff80d3,_0x3847a2){return _0x4938c9(_0xff80d3,_0x3847a2);},'GDpzS':function(_0x4560c7,_0x4b087c){return _0x4560c7(_0x4b087c);},'TDJct':_0x57eb61(0x9b),'tNYOP':'Authorization','ebczc':_0x57eb61(0x6d),'Qxgob':function(_0x3c5c55,_0x40aaa5){return _0x3c5c55(_0x40aaa5);},'pAFIi':_0x57eb61(0xce),'MnELY':'ranger-cli','XBYGj':'\x20done','Nwrgm':function(_0x1be165,_0x536c86,_0x5c5580){return _0x1be165(_0x536c86,_0x5c5580);},'kASIP':'POST','MIVkd':_0x57eb61(0xd1),'vIpXu':'tools/call','Jdado':_0x57eb61(0x81),'xmVRw':_0x57eb61(0x103),'OMedH':_0x57eb61(0xa3),'JNieh':function(_0x11ed29,_0x54b047,_0xef4eba){return _0x11ed29(_0x54b047,_0xef4eba);},'CiaEw':function(_0x534bbd,_0x1f1ca6,_0x41fd5a,_0x426378){return _0x534bbd(_0x1f1ca6,_0x41fd5a,_0x426378);}},_0x1ee467={'Content-Type':_0x57eb61(0xf3),'Accept':_0x1d9e00['TDJct']};_0x4e0424&&(_0x1ee467[_0x1d9e00['tNYOP']]='Bearer\x20'+_0x4e0424);const _0x2e7127=async _0x2a5f8d=>{const _0xefe81e=_0x57eb61,_0x5e1cdd=await _0x1d9e00[_0xefe81e(0xb4)](fetch,_0x20edeb,{'method':_0xefe81e(0xf2),'headers':_0x1ee467,'body':JSON['stringify'](_0x2a5f8d)});if(!_0x5e1cdd['ok']){const _0x5db0c7=await _0x5e1cdd[_0xefe81e(0xde)]();throw new Error(_0xefe81e(0xaa)+_0x5e1cdd[_0xefe81e(0xfb)]+':\x20'+_0x5db0c7);}return _0x1d9e00['GDpzS'](parseResponse,_0x5e1cdd);};process['stdout']['write'](_0x1d9e00['ebczc']);const _0x286595=await _0x1d9e00['Qxgob'](_0x2e7127,{'jsonrpc':_0x57eb61(0xd1),'id':0x1,'method':_0x1d9e00[_0x57eb61(0xf8)],'params':{'protocolVersion':_0x57eb61(0xc6),'capabilities':{},'clientInfo':{'name':_0x1d9e00[_0x57eb61(0xd6)],'version':'1.0.0'}}});if(_0x286595['error'])throw new Error(_0x57eb61(0xf6)+(_0x286595['error'][_0x57eb61(0xe0)]??JSON[_0x57eb61(0xe8)](_0x286595['error'])));console['log'](_0x1d9e00[_0x57eb61(0xfc)]),await _0x1d9e00[_0x57eb61(0x83)](fetch,_0x20edeb,{'method':_0x1d9e00[_0x57eb61(0xa1)],'headers':_0x1ee467,'body':JSON['stringify']({'jsonrpc':_0x1d9e00[_0x57eb61(0x8d)],'method':_0x57eb61(0xdc)})})[_0x57eb61(0xc5)](_0x36ea58=>_0x36ea58['text']()),process['stdout'][_0x57eb61(0xe9)]('Requesting\x20CLI\x20token...');const _0x14e48f=await _0x1d9e00['GDpzS'](_0x2e7127,{'jsonrpc':_0x57eb61(0xd1),'id':0x2,'method':_0x1d9e00['vIpXu'],'params':{'name':_0x1d9e00['Jdado'],'arguments':{}}});if(_0x14e48f['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x14e48f[_0x57eb61(0x99)]['message']??JSON[_0x57eb61(0xe8)](_0x14e48f[_0x57eb61(0x99)])));console[_0x57eb61(0x79)](_0x57eb61(0xcc));const _0x24dd86=extractToken(_0x14e48f['result']);if(!_0x24dd86){console[_0x57eb61(0x99)]('\x0aUnexpected\x20response\x20structure:'),console[_0x57eb61(0x99)](JSON['stringify'](_0x14e48f[_0x57eb61(0xdf)],null,0x2));throw new Error(_0x1d9e00['xmVRw']);}const _0x5155f1=join(homedir(),'.ranger'),_0xe58e5c=_0x1d9e00['BsjTz'](join,_0x5155f1,_0x1d9e00['OMedH']);await _0x1d9e00[_0x57eb61(0xd8)](mkdir,_0x5155f1,{'recursive':!![]}),await writeFile(_0xe58e5c,_0x24dd86,{'mode':0x180}),await _0x1d9e00[_0x57eb61(0xe2)](writeFile,join(_0x5155f1,'auth-origin.txt'),_0x20edeb,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0xe58e5c),console[_0x57eb61(0x79)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x146266){const _0xf0b46d=_0x30a5a7,_0x3ed482=_0x146266+'/.well-known/oauth-authorization-server',_0x33f267=await fetch(_0x3ed482);if(!_0x33f267['ok'])throw new Error(_0xf0b46d(0x84)+_0x3ed482+':\x20'+_0x33f267[_0xf0b46d(0xfb)]);return _0x33f267[_0xf0b46d(0xc0)]();}function waitForCallback(_0x47b9ec){const _0x1e08aa=_0x30a5a7,_0x38117b={'bcMye':function(_0x23eab7){return _0x23eab7();},'KjtIT':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','BGZbc':'/callback','aSTiO':_0x1e08aa(0x86),'rUsES':_0x1e08aa(0x99),'dWuUa':_0x1e08aa(0xae),'XxtYk':_0x1e08aa(0xa9),'bELpb':'127.0.0.1'};return new Promise((_0x30a8bc,_0x4aceed)=>{const _0x23a576=_0x1e08aa,_0x4e9ecf={'AVKpZ':function(_0x453d23){const _0x3fca11=_0x4a9b;return _0x38117b[_0x3fca11(0xf5)](_0x453d23);},'LAjsT':function(_0x12285a,_0x532436){return _0x12285a(_0x532436);},'jpMqd':_0x38117b[_0x23a576(0xab)],'ubAgU':_0x38117b[_0x23a576(0xf0)],'uIbsv':_0x23a576(0x9d),'kBbRs':_0x38117b[_0x23a576(0xd3)],'bEepc':_0x38117b['rUsES'],'MaYYb':_0x38117b[_0x23a576(0xc1)],'UnWQL':function(_0x46b440,_0x25cce1){return _0x46b440!==_0x25cce1;},'PvalS':_0x38117b['XxtYk']},_0x2b3c80=()=>{const _0x52fdc0=_0x23a576;_0x23aad9[_0x52fdc0(0xdd)](),_0x23aad9['close']();},_0x4eb72b=setTimeout(()=>{const _0x24658f=_0x23a576;_0x4e9ecf[_0x24658f(0xa8)](_0x2b3c80),_0x4e9ecf[_0x24658f(0xe6)](_0x4aceed,new OAuthTimeoutError(_0x4e9ecf[_0x24658f(0xa5)]));},0x1d4c0),_0x23aad9=createServer((_0x5d9ab4,_0x53fab9)=>{const _0x28482b=_0x23a576,_0x51fb97=new URL(_0x5d9ab4['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x51fb97['pathname']!==_0x4e9ecf['ubAgU']){_0x53fab9['writeHead'](0x194),_0x53fab9[_0x28482b(0x96)](_0x4e9ecf[_0x28482b(0xc8)]);return;}const _0x15f258=_0x51fb97['searchParams'][_0x28482b(0x94)](_0x4e9ecf['kBbRs']),_0x4b9a71=_0x51fb97['searchParams']['get'](_0x28482b(0x70)),_0x1ac5d4=_0x51fb97[_0x28482b(0xcb)][_0x28482b(0x94)](_0x4e9ecf[_0x28482b(0x75)]);if(_0x1ac5d4){const _0x5922e7=_0x51fb97['searchParams']['get'](_0x4e9ecf['MaYYb'])??_0x1ac5d4;_0x53fab9[_0x28482b(0xa0)](0xc8,{'Content-Type':_0x28482b(0x8c)}),_0x53fab9[_0x28482b(0x96)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x5922e7+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x4e9ecf[_0x28482b(0xe6)](clearTimeout,_0x4eb72b),_0x2b3c80(),_0x4e9ecf['LAjsT'](_0x4aceed,new Error('OAuth\x20error:\x20'+_0x5922e7));return;}if(!_0x15f258||_0x4e9ecf['UnWQL'](_0x4b9a71,_0x47b9ec)){_0x53fab9[_0x28482b(0xa0)](0x190,{'Content-Type':'text/html'}),_0x53fab9[_0x28482b(0x96)](_0x4e9ecf[_0x28482b(0xa6)]);return;}_0x53fab9['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x53fab9[_0x28482b(0x96)](_0x28482b(0xed)),_0x4e9ecf['LAjsT'](clearTimeout,_0x4eb72b),_0x2b3c80(),_0x4e9ecf[_0x28482b(0xe6)](_0x30a8bc,_0x15f258);});_0x23aad9[_0x23a576(0xbb)](CALLBACK_PORT,_0x38117b[_0x23a576(0x7d)]);});}async function openBrowser(_0xcd14f6){const _0x4016eb=_0x30a5a7,_0x47c46c={'naiFA':'win32','hetUb':'start','jUoRr':_0x4016eb(0x7e),'vdzQh':function(_0x29d810,_0x5b9aa7){return _0x29d810(_0x5b9aa7);}},_0x591d15=process['platform']==='darwin'?_0x4016eb(0xc9):process['platform']===_0x47c46c['naiFA']?_0x47c46c[_0x4016eb(0xef)]:_0x47c46c[_0x4016eb(0xca)];_0x47c46c['vdzQh'](exec,_0x591d15+'\x20\x22'+_0xcd14f6+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x358795=_0x30a5a7,_0x886076={'yBveH':function(_0x266fcc,_0xce7c71,_0x9ca5b3){return _0x266fcc(_0xce7c71,_0x9ca5b3);},'OdwIX':function(_0x46eae1,_0x55365d){return _0x46eae1>_0x55365d;}};try{const _0x4bbf95=JSON[_0x358795(0xb0)](await _0x886076[_0x358795(0x91)](readFile,TOKEN_CACHE_PATH,'utf-8'));if(_0x4bbf95[_0x358795(0xe3)]&&_0x4bbf95['origin']!==currentOrigin)return null;if(_0x4bbf95[_0x358795(0xd7)]&&_0x886076[_0x358795(0x87)](Date[_0x358795(0xb5)](),_0x4bbf95[_0x358795(0xd7)]))return null;return _0x4bbf95['accessToken']??null;}catch{return null;}}function _0x4a9b(_0x11e6ad,_0x1449c0){_0x11e6ad=_0x11e6ad-0x6b;const _0x5ec415=_0x5ec4();let _0x4a9b9c=_0x5ec415[_0x11e6ad];return _0x4a9b9c;}async function saveCachedToken(_0x40f547,_0x41a5b5,_0x9ded84){const _0x3c7f41=_0x30a5a7,_0x4a4e0c={'KtWVW':function(_0x316d4f,_0x22aa27){return _0x316d4f+_0x22aa27;},'aZPzH':function(_0x44fd8e,_0x2d1dc6){return _0x44fd8e*_0x2d1dc6;},'kKVNv':function(_0x4b4f56,_0x1cd5d4,_0x345af8){return _0x4b4f56(_0x1cd5d4,_0x345af8);},'wguZr':function(_0x4419e7){return _0x4419e7();},'bpSjM':function(_0x3cb756,_0x4e921e,_0x4e4a0a,_0x15ca68){return _0x3cb756(_0x4e921e,_0x4e4a0a,_0x15ca68);}},_0x4a5d73=await loadCachedData(),_0x5dffa3={..._0x4a5d73,'origin':currentOrigin,'accessToken':_0x40f547,'refreshToken':_0x41a5b5??_0x4a5d73?.['refreshToken'],'expiresAt':_0x9ded84?_0x4a4e0c['KtWVW'](Date['now'](),_0x4a4e0c[_0x3c7f41(0xdb)](_0x9ded84,0x3e8)):undefined};await _0x4a4e0c['kKVNv'](mkdir,join(_0x4a4e0c['wguZr'](homedir),_0x3c7f41(0x101)),{'recursive':!![]}),await _0x4a4e0c[_0x3c7f41(0xf4)](writeFile,TOKEN_CACHE_PATH,JSON[_0x3c7f41(0xe8)](_0x5dffa3),{'mode':0x180});}async function loadCachedClient(){const _0x1bfe68=_0x30a5a7,_0x1da485={'RzqWN':function(_0x8a2d9e){return _0x8a2d9e();},'tqFIS':function(_0x107115,_0x97eec5){return _0x107115!==_0x97eec5;}},_0x3e8630=await _0x1da485[_0x1bfe68(0xbe)](loadCachedData);if(_0x3e8630?.['origin']&&_0x1da485[_0x1bfe68(0xfd)](_0x3e8630['origin'],currentOrigin))return null;return _0x3e8630?.[_0x1bfe68(0x82)]?{'clientId':_0x3e8630['clientId'],'clientSecret':_0x3e8630[_0x1bfe68(0x90)]}:null;}async function clearCachedClient(){const _0x23c0ff=_0x30a5a7,_0x314527=await loadCachedData();if(!_0x314527)return;const {clientId:_0x5f1375,clientSecret:_0x4b497f,..._0x502721}=_0x314527;await writeFile(TOKEN_CACHE_PATH,JSON[_0x23c0ff(0xe8)](_0x502721),{'mode':0x180});}async function saveCachedClient(_0x5bb508,_0x2f5fb4){const _0x226006=_0x30a5a7,_0x5530f4={'ikwLg':function(_0x4fedb6){return _0x4fedb6();}},_0x10b5ee=await _0x5530f4[_0x226006(0xfa)](loadCachedData),_0x23b3bb={..._0x10b5ee,'origin':currentOrigin,'accessToken':_0x10b5ee?.['accessToken']??'','clientId':_0x5bb508,'clientSecret':_0x2f5fb4};await mkdir(join(homedir(),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x23b3bb),{'mode':0x180});}async function loadCachedData(){const _0x55c95d=_0x30a5a7,_0x41e616={'UTvJL':function(_0x592af7,_0x46134b,_0x5451bf){return _0x592af7(_0x46134b,_0x5451bf);},'FOQgh':'utf-8'};try{return JSON[_0x55c95d(0xb0)](await _0x41e616[_0x55c95d(0xb6)](readFile,TOKEN_CACHE_PATH,_0x41e616['FOQgh']));}catch{return null;}}async function parseResponse(_0x5bf8cb){const _0xa4fa91=_0x30a5a7,_0x43b44a={'oCDDE':'content-type','oozzb':'data:'},_0x3ddaba=_0x5bf8cb[_0xa4fa91(0x8b)]['get'](_0x43b44a['oCDDE'])??'';if(_0x3ddaba['includes']('text/event-stream')){const _0xde21c0=await _0x5bf8cb['text']();for(const _0x2d9505 of _0xde21c0[_0xa4fa91(0x7a)]('\x0a')){const _0x49343e=_0x2d9505[_0xa4fa91(0x100)]();if(_0x49343e['startsWith']('data:')){const _0x1d0342=_0x49343e[_0xa4fa91(0xd9)](_0x43b44a['oozzb']['length'])[_0xa4fa91(0x100)]();if(!_0x1d0342)continue;try{const _0x4d5417=JSON['parse'](_0x1d0342);if(_0x4d5417['id']!==undefined||_0x4d5417[_0xa4fa91(0x99)])return _0x4d5417;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x5bf8cb['json']();}function extractToken(_0x2d4374){const _0x41beb1=_0x30a5a7,_0x49e548={'oCsBK':function(_0x50da01,_0x1ae4a9){return _0x50da01===_0x1ae4a9;},'civAp':'text'};if(!_0x2d4374)return null;const _0x59c2f9=_0x2d4374[_0x41beb1(0x7c)];if(_0x59c2f9?.[_0x41beb1(0x7b)]&&typeof _0x59c2f9[_0x41beb1(0x7b)]===_0x41beb1(0x71))return _0x59c2f9[_0x41beb1(0x7b)];if(_0x2d4374['isError']){const _0x36cc34=_0x2d4374[_0x41beb1(0x6e)];throw new Error('Server\x20returned\x20error:\x20'+(_0x36cc34?.[0x0]?.[_0x41beb1(0xde)]??'Unknown\x20error'));}const _0x4ef4e1=_0x2d4374['content'];if(_0x4ef4e1)for(const _0x48ab65 of _0x4ef4e1){if(_0x49e548[_0x41beb1(0xc3)](_0x48ab65[_0x41beb1(0xcd)],_0x49e548[_0x41beb1(0x98)])&&_0x48ab65['text']){try{const _0xdced4b=JSON['parse'](_0x48ab65[_0x41beb1(0xde)]);if(typeof _0xdced4b?.['token']===_0x41beb1(0x71))return _0xdced4b['token'];}catch{}const _0x1ccf15=_0x48ab65[_0x41beb1(0xde)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x1ccf15)return _0x1ccf15[0x1];}}return null;}
@@ -1 +1 @@
1
- function _0x2db5(){var _0x52029a=['1282764SUrWQf','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','1680777Lsccdl','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','5180450xcFxRq','snjgJ','266024OcZyZU','2037MRILBd','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','812995tgLjaF','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','exit','40hOliAc','79910GmiHNP','error','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','iyIFd','1828kYLTZq','1530JmrRlT'];_0x2db5=function(){return _0x52029a;};return _0x2db5();}(function(_0x567d2b,_0x4684db){var _0x3a6e87=_0x5b47,_0x1125c2=_0x567d2b();while(!![]){try{var _0x21607b=-parseInt(_0x3a6e87(0x15a))/0x1+-parseInt(_0x3a6e87(0x157))/0x2+parseInt(_0x3a6e87(0x158))/0x3*(parseInt(_0x3a6e87(0x162))/0x4)+-parseInt(_0x3a6e87(0x155))/0x5+-parseInt(_0x3a6e87(0x164))/0x6+-parseInt(_0x3a6e87(0x166))/0x7*(-parseInt(_0x3a6e87(0x15d))/0x8)+parseInt(_0x3a6e87(0x163))/0x9*(parseInt(_0x3a6e87(0x15e))/0xa);if(_0x21607b===_0x4684db)break;else _0x1125c2['push'](_0x1125c2['shift']());}catch(_0x2072ed){_0x1125c2['push'](_0x1125c2['shift']());}}}(_0x2db5,0xa469d));function _0x5b47(_0x1411d1,_0x4d6888){_0x1411d1=_0x1411d1-0x154;var _0x2db574=_0x2db5();var _0x5b4703=_0x2db574[_0x1411d1];return _0x5b4703;}export async function migrateProfile(_0x142c58,_0x2adb1a){var _0x45260d=_0x5b47,_0x4124b0={'iyIFd':function(_0x1fb3b6,_0x40e211){return _0x1fb3b6+_0x40e211;},'snjgJ':function(_0x367f09,_0x391808){return _0x367f09+_0x391808;},'nPEgo':function(_0x5e44d0,_0x4810e9){return _0x5e44d0+_0x4810e9;},'kodiW':_0x45260d(0x159),'bXVNZ':_0x45260d(0x154)};console[_0x45260d(0x15f)](_0x4124b0[_0x45260d(0x161)](_0x4124b0[_0x45260d(0x161)](_0x4124b0['snjgJ'](_0x4124b0['nPEgo'](_0x4124b0[_0x45260d(0x156)](_0x4124b0[_0x45260d(0x161)](_0x4124b0['kodiW']+'\x0a'+_0x45260d(0x165)+_0x45260d(0x15b),'\x0a'),_0x45260d(0x167)),_0x4124b0['bXVNZ']),'\x0a'),'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'),_0x45260d(0x160))),process[_0x45260d(0x15c)](0x1);}
1
+ function _0x5a84(){var _0x4c8fa7=['RtgCI','43644pnuWKi','438697CUgOcM','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','3431176TsVuDT','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','60GAcPgY','exit','OPnAD','vuaKw','2JotsQT','Yazok','1663806ZmwvMO','418121kabypG','5EQWtZg','42MfPchY','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','1048268yzyaNG','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','522IElVPF','119060MBWzjX'];_0x5a84=function(){return _0x4c8fa7;};return _0x5a84();}(function(_0x27d911,_0x422259){var _0x208251=_0x140a,_0x275008=_0x27d911();while(!![]){try{var _0x3006d6=parseInt(_0x208251(0x1fb))/0x1+parseInt(_0x208251(0x1ef))/0x2*(parseInt(_0x208251(0x1f1))/0x3)+-parseInt(_0x208251(0x1f6))/0x4*(-parseInt(_0x208251(0x1f3))/0x5)+-parseInt(_0x208251(0x1f4))/0x6*(parseInt(_0x208251(0x1fc))/0x7)+parseInt(_0x208251(0x1e9))/0x8+-parseInt(_0x208251(0x1f8))/0x9*(parseInt(_0x208251(0x1f9))/0xa)+-parseInt(_0x208251(0x1f2))/0xb*(-parseInt(_0x208251(0x1eb))/0xc);if(_0x3006d6===_0x422259)break;else _0x275008['push'](_0x275008['shift']());}catch(_0x3cc5c8){_0x275008['push'](_0x275008['shift']());}}}(_0x5a84,0x55744));function _0x140a(_0x5ecfd6,_0x1beb22){_0x5ecfd6=_0x5ecfd6-0x1e8;var _0x5a84a4=_0x5a84();var _0x140ab2=_0x5a84a4[_0x5ecfd6];return _0x140ab2;}export async function migrateProfile(_0x45c332,_0x11994d){var _0x18b301=_0x140a,_0x1ced78={'hYdZZ':function(_0x347b70,_0x128906){return _0x347b70+_0x128906;},'Yazok':function(_0x1f26ad,_0x5a31f0){return _0x1f26ad+_0x5a31f0;},'vuaKw':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','RtgCI':_0x18b301(0x1e8),'OPnAD':_0x18b301(0x1f7),'qKMiF':_0x18b301(0x1ea),'DvjPD':'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'};console['error'](_0x1ced78['hYdZZ'](_0x1ced78[_0x18b301(0x1f0)](_0x1ced78[_0x18b301(0x1ee)]+'\x0a'+_0x18b301(0x1f5),_0x1ced78[_0x18b301(0x1fa)])+'\x0a'+_0x1ced78[_0x18b301(0x1ed)],_0x1ced78['qKMiF'])+'\x0a'+'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'+_0x1ced78['DvjPD']),process[_0x18b301(0x1ec)](0x1);}
@@ -1 +1 @@
1
- (function(_0x574f29,_0x43f501){const _0xc8429f=_0x23e7,_0xbc61bf=_0x574f29();while(!![]){try{const _0x2bd60c=parseInt(_0xc8429f(0x15d))/0x1+-parseInt(_0xc8429f(0x181))/0x2+-parseInt(_0xc8429f(0x182))/0x3+parseInt(_0xc8429f(0x185))/0x4*(-parseInt(_0xc8429f(0x160))/0x5)+-parseInt(_0xc8429f(0x15b))/0x6*(-parseInt(_0xc8429f(0x178))/0x7)+-parseInt(_0xc8429f(0x17a))/0x8+parseInt(_0xc8429f(0x186))/0x9*(parseInt(_0xc8429f(0x168))/0xa);if(_0x2bd60c===_0x43f501)break;else _0xbc61bf['push'](_0xbc61bf['shift']());}catch(_0x4be85d){_0xbc61bf['push'](_0xbc61bf['shift']());}}}(_0x50c2,0xd9f7a));import{join}from'path';function _0x50c2(){const _0x413b10=['install','4678758aVjcAg','SKILL.md','8700840kejbRS','user','trailhead','plugin','qpmFy','ujIJP','yZpQf','2762282xWcZnF','1560180EvEKTx','error','add','4562940EeTPsq','2934arLUzR','project','6ktnJRT','\x0aYou\x20can\x20install\x20manually\x20with:','367287aoinBi','CzkFq','iIhQb','5kqipJo','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','ranger','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','HwhoH','enable','success','YmmOF','122290jTeXRT','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','prompt','log','Amfts','ranger@trailhead','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','cvoAy','--scope','Where\x20should\x20the\x20plugin\x20be\x20installed?','ZGPJw','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','VGQjA','confirm','KzwUx'];_0x50c2=function(){return _0x413b10;};return _0x50c2();}import{existsSync}from'fs';function _0x23e7(_0x6448c8,_0x57ef85){_0x6448c8=_0x6448c8-0x15b;const _0x50c221=_0x50c2();let _0x23e76c=_0x50c221[_0x6448c8];return _0x23e76c;}import _0x1406a3 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(_0x1f3db0){const _0x55ac91=_0x23e7,_0x55c572={'VGQjA':function(_0x48587f,_0x4f1b93){return _0x48587f(_0x4f1b93);},'TdJEL':'.claude','PSTdT':'pluginScope','qpmFy':_0x55ac91(0x171),'PcIAi':_0x55ac91(0x17b),'ujIJP':_0x55ac91(0x187),'Otbxr':_0x55ac91(0x17c),'wtDKy':'ranger-testing/trailhead','ZqQAG':'❌\x20Failed\x20to\x20add\x20marketplace:','wbQlo':_0x55ac91(0x15c),'wfqGP':_0x55ac91(0x163),'NMpDd':_0x55ac91(0x17d),'NkGwx':_0x55ac91(0x177),'JsWll':_0x55ac91(0x16d),'YmmOF':_0x55ac91(0x170),'KzwUx':_0x55ac91(0x161),'yZpQf':_0x55ac91(0x165),'cvoAy':function(_0x466415,_0x2cf0ae){return _0x466415===_0x2cf0ae;},'VGgbC':'already\x20enabled','FTYyV':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x186367=await _0x55c572[_0x55ac91(0x174)](isPluginInstalled,'ranger@trailhead');if(_0x186367)return console['log'](_0x55ac91(0x169)),![];const _0xaeceef=existsSync(join(getProjectRoot(),_0x55c572['TdJEL']));let _0x5b1682;if(_0x1f3db0)_0x5b1682=_0x1f3db0;else{if(_0xaeceef)_0x5b1682=_0x55ac91(0x187);else{console['log'](_0x55ac91(0x16e));const _0x8db4d0=await _0x1406a3[_0x55ac91(0x16a)]([{'type':'list','name':_0x55c572['PSTdT'],'message':_0x55c572[_0x55ac91(0x17e)],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x55c572['PcIAi']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x55c572[_0x55ac91(0x17f)]}],'default':_0x55ac91(0x17b)}]);_0x5b1682=_0x8db4d0['pluginScope'];}}console[_0x55ac91(0x16b)](_0x55ac91(0x173)+_0x5b1682+'\x20level)...\x0a');const _0x44e549=await isMarketplaceAdded(_0x55c572['Otbxr']);let _0x4341b6=_0x44e549;if(_0x44e549)console[_0x55ac91(0x16b)]('✓\x20Marketplace\x20already\x20added');else{const _0x2f135f=await _0x55c572['VGQjA'](runClaudeCommand,[_0x55ac91(0x17d),'marketplace',_0x55ac91(0x184),_0x55c572['wtDKy']]);!_0x2f135f['success']?(console['error'](_0x55c572['ZqQAG'],_0x2f135f[_0x55ac91(0x183)]),console[_0x55ac91(0x16b)](_0x55c572['wbQlo']),console[_0x55ac91(0x16b)](_0x55c572['wfqGP']),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5b1682)):_0x4341b6=!![];}if(_0x4341b6){const _0x56c2ce=await runClaudeCommand([_0x55c572['NMpDd'],_0x55c572['NkGwx'],_0x55c572['JsWll'],_0x55c572[_0x55ac91(0x167)],_0x5b1682],{'cwd':_0x5b1682===_0x55c572[_0x55ac91(0x17f)]?getProjectRoot():undefined});if(!_0x56c2ce[_0x55ac91(0x166)])console['error']('❌\x20Failed\x20to\x20install\x20plugin:',_0x56c2ce['error']),console[_0x55ac91(0x16b)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5b1682);else{console['log'](_0x55c572[_0x55ac91(0x176)]);const _0x2953ea=[_0x55c572['NMpDd'],_0x55c572[_0x55ac91(0x180)],_0x55c572['JsWll']];_0x55c572[_0x55ac91(0x16f)](_0x5b1682,_0x55ac91(0x187))&&_0x2953ea['push'](_0x55c572[_0x55ac91(0x167)],_0x55c572['ujIJP']);const _0x1f7a01=await runClaudeCommand(_0x2953ea,{'captureOutput':!![],'cwd':_0x5b1682===_0x55ac91(0x187)?getProjectRoot():undefined}),_0x2f1426=_0x1f7a01['output']?.['includes'](_0x55c572['VGgbC']);!_0x1f7a01[_0x55ac91(0x166)]&&!_0x2f1426?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x1f7a01['error']):console['log'](_0x55c572['FTYyV']);}}return!![];}export async function ensureClaudeSkills(_0x52bc08){const _0x2ba472=_0x23e7,_0x1aa65e={'wywZz':function(_0x345a97,_0x2ed030){return _0x345a97(_0x2ed030);},'HwhoH':'ranger','CzkFq':_0x2ba472(0x179),'iIhQb':function(_0x9e7880,_0x1a891f){return _0x9e7880(_0x1a891f);},'Amfts':'✓\x20Ranger\x20skills\x20already\x20installed','ZGPJw':'.claude'},_0x36f5ea=_0x1aa65e['wywZz'](existsSync,join(getSkillsDir(_0x2ba472(0x17b)),_0x1aa65e[_0x2ba472(0x164)],_0x1aa65e[_0x2ba472(0x15e)])),_0x1c712b=_0x1aa65e[_0x2ba472(0x15f)](existsSync,join(getSkillsDir(_0x2ba472(0x187)),_0x2ba472(0x162),_0x2ba472(0x179)));if(_0x36f5ea||_0x1c712b)return console['log'](_0x1aa65e[_0x2ba472(0x16c)]),![];const _0x12024a=existsSync(join(getProjectRoot(),_0x1aa65e[_0x2ba472(0x172)]));let _0x20a720=!![];if(_0x52bc08)await skillup({'autoInstall':_0x52bc08,'suppressUsage':!![]});else{if(_0x12024a)await skillup({'autoInstall':'project','suppressUsage':!![]});else{const _0x2743db=await _0x1406a3['prompt']([{'type':_0x2ba472(0x175),'name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x20a720=_0x2743db['wantsSkillup'],_0x20a720&&await skillup({'suppressUsage':!![]});}}return _0x20a720;}
1
+ (function(_0x3084d9,_0x18c126){const _0xf62de3=_0x3fcd,_0x2c502a=_0x3084d9();while(!![]){try{const _0x198f75=-parseInt(_0xf62de3(0x1e5))/0x1*(parseInt(_0xf62de3(0x201))/0x2)+parseInt(_0xf62de3(0x1dc))/0x3+-parseInt(_0xf62de3(0x1d2))/0x4*(-parseInt(_0xf62de3(0x1e9))/0x5)+-parseInt(_0xf62de3(0x1c6))/0x6+-parseInt(_0xf62de3(0x1e2))/0x7*(-parseInt(_0xf62de3(0x200))/0x8)+-parseInt(_0xf62de3(0x1f1))/0x9*(parseInt(_0xf62de3(0x1d5))/0xa)+-parseInt(_0xf62de3(0x1ce))/0xb*(parseInt(_0xf62de3(0x1e3))/0xc);if(_0x198f75===_0x18c126)break;else _0x2c502a['push'](_0x2c502a['shift']());}catch(_0x2eec90){_0x2c502a['push'](_0x2c502a['shift']());}}}(_0x42df,0xa060d));function _0x42df(){const _0x43d6a5=['3516321VDqMJe','\x20level)...\x0a','.claude','SKILL.md','error','LLiYI','49WtxSJJ','988764vNPZYz','shxrE','18181WfhZsr','CRPCR','YqXdC','plugin','145mofJMq','CosZc','list','kaTWF','lZtot','success','User\x20(available\x20in\x20all\x20your\x20projects)','trailhead','27SRHBRS','vAJzr','✓\x20Marketplace\x20already\x20added','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','rjpFX','wantsSkillup','AfeKr','sXlSJ','project','ranger@trailhead','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','log','includes','QYndi','\x0aYou\x20can\x20install\x20manually\x20with:','533032dZxTGW','64nXRONI','4996998iKYVmu','✓\x20Claude\x20Code\x20plugin\x20enabled','already\x20enabled','AorFB','Project\x20(shared\x20with\x20team\x20via\x20git)','MrtYm','cbvOf','npjnu','11HFYlno','rgDZU','SgLQO','HBIat','168012XsAViG','ranger-testing/trailhead','ZbmbL','2342220DIhtIc','GYjUv','CDuph','add','user','--scope','ranger'];_0x42df=function(){return _0x43d6a5;};return _0x42df();}import{join}from'path';function _0x3fcd(_0x50c5b8,_0x1f6978){_0x50c5b8=_0x50c5b8-0x1c6;const _0x42dfb3=_0x42df();let _0x3fcd26=_0x42dfb3[_0x50c5b8];return _0x3fcd26;}import{existsSync}from'fs';import _0x415e4d 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(_0x51d2df){const _0x463aca=_0x3fcd,_0x59dbde={'gERCw':function(_0x4c2ff8,_0xe3de1e){return _0x4c2ff8(_0xe3de1e);},'KujCc':function(_0x39309c,_0x19557d,_0x55edfa){return _0x39309c(_0x19557d,_0x55edfa);},'lZtot':function(_0xea26cb){return _0xea26cb();},'MrtYm':_0x463aca(0x1de),'npjnu':_0x463aca(0x1f9),'vAJzr':_0x463aca(0x1eb),'SGfTm':'pluginScope','CDuph':_0x463aca(0x1ef),'SgLQO':'user','VMxgr':_0x463aca(0x1f0),'QYndi':_0x463aca(0x1d3),'ZbmbL':'❌\x20Failed\x20to\x20add\x20marketplace:','papYb':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','kaTWF':function(_0x3f26ea,_0x28a531,_0x7c7842){return _0x3f26ea(_0x28a531,_0x7c7842);},'LjlQq':'install','YqXdC':function(_0x264a85,_0x4f5d4c){return _0x264a85===_0x4f5d4c;},'sXlSJ':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','shxrE':_0x463aca(0x1e8),'rjpFX':'enable','HBIat':'ranger@trailhead','vhuwY':function(_0x52fcb6,_0x4004f0){return _0x52fcb6===_0x4004f0;},'AfeKr':_0x463aca(0x1c8)},_0x32a35d=await _0x59dbde['gERCw'](isPluginInstalled,'ranger@trailhead');if(_0x32a35d)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x2c0854=existsSync(_0x59dbde['KujCc'](join,_0x59dbde['lZtot'](getProjectRoot),_0x59dbde[_0x463aca(0x1cb)]));let _0x162deb;if(_0x51d2df)_0x162deb=_0x51d2df;else{if(_0x2c0854)_0x162deb=_0x59dbde[_0x463aca(0x1cd)];else{console[_0x463aca(0x1fc)](_0x463aca(0x1fb));const _0x3bb02a=await _0x415e4d['prompt']([{'type':_0x59dbde[_0x463aca(0x1f2)],'name':_0x59dbde['SGfTm'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x59dbde[_0x463aca(0x1d7)],'value':_0x463aca(0x1d9)},{'name':_0x463aca(0x1ca),'value':_0x463aca(0x1f9)}],'default':_0x59dbde[_0x463aca(0x1d0)]}]);_0x162deb=_0x3bb02a['pluginScope'];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x162deb+_0x463aca(0x1dd));const _0x3fb611=await isMarketplaceAdded(_0x59dbde['VMxgr']);let _0x406aaf=_0x3fb611;if(_0x3fb611)console[_0x463aca(0x1fc)](_0x463aca(0x1f3));else{const _0x95df77=await _0x59dbde['gERCw'](runClaudeCommand,['plugin','marketplace',_0x463aca(0x1d8),_0x59dbde[_0x463aca(0x1fe)]]);!_0x95df77['success']?(console['error'](_0x59dbde[_0x463aca(0x1d4)],_0x95df77['error']),console[_0x463aca(0x1fc)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log'](_0x59dbde['papYb']),console['log'](_0x463aca(0x1f4)+_0x162deb)):_0x406aaf=!![];}if(_0x406aaf){const _0x11ef82=await _0x59dbde[_0x463aca(0x1ec)](runClaudeCommand,['plugin',_0x59dbde['LjlQq'],_0x463aca(0x1fa),'--scope',_0x162deb],{'cwd':_0x59dbde[_0x463aca(0x1e7)](_0x162deb,_0x59dbde['npjnu'])?_0x59dbde[_0x463aca(0x1ed)](getProjectRoot):undefined});if(!_0x11ef82[_0x463aca(0x1ee)])console['error']('❌\x20Failed\x20to\x20install\x20plugin:',_0x11ef82[_0x463aca(0x1e0)]),console[_0x463aca(0x1fc)](_0x463aca(0x1ff)),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x162deb);else{console['log'](_0x59dbde[_0x463aca(0x1f8)]);const _0x2e5b44=[_0x59dbde[_0x463aca(0x1e4)],_0x59dbde[_0x463aca(0x1f5)],_0x59dbde[_0x463aca(0x1d1)]];_0x59dbde['vhuwY'](_0x162deb,_0x59dbde['npjnu'])&&_0x2e5b44['push'](_0x463aca(0x1da),_0x59dbde[_0x463aca(0x1cd)]);const _0x1fdecc=await runClaudeCommand(_0x2e5b44,{'captureOutput':!![],'cwd':_0x59dbde['YqXdC'](_0x162deb,_0x59dbde['npjnu'])?getProjectRoot():undefined}),_0x5b6935=_0x1fdecc['output']?.[_0x463aca(0x1fd)](_0x59dbde[_0x463aca(0x1f7)]);!_0x1fdecc['success']&&!_0x5b6935?console[_0x463aca(0x1e0)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x1fdecc[_0x463aca(0x1e0)]):console['log'](_0x463aca(0x1c7));}}return!![];}export async function ensureClaudeSkills(_0x5ae61c){const _0xc1676d=_0x3fcd,_0x2284b0={'LLiYI':function(_0x5c2ab0,_0x4aed4d,_0x2492b4,_0x412d97){return _0x5c2ab0(_0x4aed4d,_0x2492b4,_0x412d97);},'cbvOf':function(_0x1fe53f,_0x51d444){return _0x1fe53f(_0x51d444);},'deklR':'ranger','UousO':_0xc1676d(0x1df),'rgDZU':function(_0x1317ff,_0x193554){return _0x1317ff(_0x193554);},'CRPCR':_0xc1676d(0x1f9),'GYjUv':function(_0x560270,_0x495db7){return _0x560270||_0x495db7;},'CosZc':'✓\x20Ranger\x20skills\x20already\x20installed','AorFB':function(_0x2ab14c,_0x340046){return _0x2ab14c(_0x340046);},'ockzV':function(_0x2668b2,_0x496cf7){return _0x2668b2(_0x496cf7);},'YEJDj':'confirm'},_0x573e31=existsSync(_0x2284b0[_0xc1676d(0x1e1)](join,_0x2284b0[_0xc1676d(0x1cc)](getSkillsDir,_0xc1676d(0x1d9)),_0x2284b0['deklR'],_0x2284b0['UousO'])),_0x131fe4=_0x2284b0[_0xc1676d(0x1cf)](existsSync,_0x2284b0[_0xc1676d(0x1e1)](join,_0x2284b0['rgDZU'](getSkillsDir,_0x2284b0[_0xc1676d(0x1e6)]),_0xc1676d(0x1db),_0x2284b0['UousO']));if(_0x2284b0[_0xc1676d(0x1d6)](_0x573e31,_0x131fe4))return console['log'](_0x2284b0[_0xc1676d(0x1ea)]),![];const _0x1fc0dd=_0x2284b0[_0xc1676d(0x1c9)](existsSync,join(getProjectRoot(),'.claude'));let _0x45ad37=!![];if(_0x5ae61c)await _0x2284b0['ockzV'](skillup,{'autoInstall':_0x5ae61c,'suppressUsage':!![]});else{if(_0x1fc0dd)await _0x2284b0['cbvOf'](skillup,{'autoInstall':_0xc1676d(0x1f9),'suppressUsage':!![]});else{const _0x993e73=await _0x415e4d['prompt']([{'type':_0x2284b0['YEJDj'],'name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x45ad37=_0x993e73[_0xc1676d(0x1f6)],_0x45ad37&&await _0x2284b0['cbvOf'](skillup,{'suppressUsage':!![]});}}return _0x45ad37;}
@@ -1 +1 @@
1
- (function(_0x23d015,_0xa3cf47){const _0x3c5c4d=_0x3658,_0xb1ba60=_0x23d015();while(!![]){try{const _0x262dde=parseInt(_0x3c5c4d(0x1ce))/0x1+parseInt(_0x3c5c4d(0x1cd))/0x2*(parseInt(_0x3c5c4d(0x1e4))/0x3)+-parseInt(_0x3c5c4d(0x1e1))/0x4*(parseInt(_0x3c5c4d(0x1dc))/0x5)+-parseInt(_0x3c5c4d(0x1de))/0x6+parseInt(_0x3c5c4d(0x1d1))/0x7*(-parseInt(_0x3c5c4d(0x1d4))/0x8)+-parseInt(_0x3c5c4d(0x1c7))/0x9*(-parseInt(_0x3c5c4d(0x1d5))/0xa)+parseInt(_0x3c5c4d(0x1dd))/0xb*(parseInt(_0x3c5c4d(0x1c8))/0xc);if(_0x262dde===_0xa3cf47)break;else _0xb1ba60['push'](_0xb1ba60['shift']());}catch(_0x975f11){_0xb1ba60['push'](_0xb1ba60['shift']());}}}(_0x2060,0x39dee));import{join}from'path';function _0x2060(){const _0x3caa8d=['120Vtrhsd','plugin','log','User\x20(available\x20in\x20all\x20your\x20projects)','WnMQQ','734544kqzeLl','427379GUBnbS','prompt','EEVPl','98qeSGRK','XEYBd','ANZuA','112440RGKfDL','7110gFZBks','zWSCz','@ranger-testing/opencode-plugin','zSspJ','user','https://opencode.ai/config.json','stringify','14715ijQMAL','37664rkRZYA','1654080xjJeHl','isArray','Failed\x20to\x20read\x20opencode.json','544hyBUnt','pluginScope','project','3yQmrfT','opencode.json','✓\x20OpenCode\x20plugin\x20configured','3555vRbEST'];_0x2060=function(){return _0x3caa8d;};return _0x2060();}import{existsSync}from'fs';function _0x3658(_0x1b8353,_0x3366c2){_0x1b8353=_0x1b8353-0x1c6;const _0x20605b=_0x2060();let _0x365851=_0x20605b[_0x1b8353];return _0x365851;}import{mkdir,readFile,writeFile}from'fs/promises';import _0x3ab118 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x59d794){const _0x3b6985=_0x3658,_0x10b33e={'zSspJ':function(_0x29efc1,_0x51fea4,_0x3d9699){return _0x29efc1(_0x51fea4,_0x3d9699);},'XEYBd':function(_0x36133b,_0x2a68f0){return _0x36133b(_0x2a68f0);},'yStPd':_0x3b6985(0x1e3),'EEVPl':_0x3b6985(0x1e5),'WnMQQ':'pluginScope','ANZuA':_0x3b6985(0x1cb),'tACjV':'user','HCwNo':function(_0xe14c99,_0x41529f){return _0xe14c99(_0x41529f);},'nvyBR':'utf-8','zWSCz':function(_0x52c3cb,_0xecfe31,_0x465b05){return _0x52c3cb(_0xecfe31,_0x465b05);}},_0x564cef=existsSync(_0x10b33e['zSspJ'](join,_0x10b33e[_0x3b6985(0x1d2)](getOpencodeConfigDir,_0x10b33e['yStPd']),_0x10b33e[_0x3b6985(0x1d0)]));let _0x19f616;if(_0x59d794)_0x19f616=_0x59d794;else{if(_0x564cef)_0x19f616=_0x3b6985(0x1e3);else{console[_0x3b6985(0x1ca)]('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0x45f3a1=await _0x3ab118[_0x3b6985(0x1cf)]([{'type':'list','name':_0x10b33e[_0x3b6985(0x1cc)],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x10b33e[_0x3b6985(0x1d3)],'value':_0x10b33e['tACjV']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x3b6985(0x1e3)}],'default':_0x3b6985(0x1d9)}]);_0x19f616=_0x45f3a1[_0x3b6985(0x1e2)];}}const _0x14dff3=_0x10b33e[_0x3b6985(0x1d8)](join,_0x10b33e[_0x3b6985(0x1d2)](getOpencodeConfigDir,_0x19f616),_0x3b6985(0x1e5)),_0x420718=_0x3b6985(0x1d7),_0xab4edf=_0x3b6985(0x1da);let _0x38a417={};if(_0x10b33e['HCwNo'](existsSync,_0x14dff3))try{const _0x1241a2=await _0x10b33e['zSspJ'](readFile,_0x14dff3,_0x10b33e['nvyBR']);_0x38a417=JSON['parse'](_0x1241a2);}catch(_0x3f05d3){return console['error']('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0x19f616,'error':_0x3b6985(0x1e0),'details':_0x3f05d3};}const _0x2fdd7e=Array[_0x3b6985(0x1df)](_0x38a417['plugin'])?_0x38a417['plugin']:[];if(_0x2fdd7e['includes'](_0x420718))return console[_0x3b6985(0x1ca)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x19f616};return _0x38a417['$schema']=_0x38a417['$schema']||_0xab4edf,_0x38a417[_0x3b6985(0x1c9)]=[..._0x2fdd7e,_0x420718],await _0x10b33e['zSspJ'](mkdir,getOpencodeConfigDir(_0x19f616),{'recursive':!![]}),await _0x10b33e[_0x3b6985(0x1d6)](writeFile,_0x14dff3,JSON[_0x3b6985(0x1db)](_0x38a417,null,0x2)+'\x0a'),console['log'](_0x3b6985(0x1c6)),{'configured':!![],'scope':_0x19f616};}
1
+ (function(_0x5a518b,_0x3fb500){const _0x37d2ab=_0x452d,_0x4a9c83=_0x5a518b();while(!![]){try{const _0xdef6c9=-parseInt(_0x37d2ab(0x14d))/0x1+parseInt(_0x37d2ab(0x140))/0x2+-parseInt(_0x37d2ab(0x13e))/0x3*(parseInt(_0x37d2ab(0x141))/0x4)+-parseInt(_0x37d2ab(0x13d))/0x5+-parseInt(_0x37d2ab(0x144))/0x6*(parseInt(_0x37d2ab(0x14e))/0x7)+-parseInt(_0x37d2ab(0x148))/0x8+parseInt(_0x37d2ab(0x145))/0x9*(parseInt(_0x37d2ab(0x13f))/0xa);if(_0xdef6c9===_0x3fb500)break;else _0x4a9c83['push'](_0x4a9c83['shift']());}catch(_0x239816){_0x4a9c83['push'](_0x4a9c83['shift']());}}}(_0x2ca4,0x212ea));import{join}from'path';import{existsSync}from'fs';function _0x452d(_0x753d2e,_0x525176){_0x753d2e=_0x753d2e-0x13b;const _0x2ca4f7=_0x2ca4();let _0x452ddb=_0x2ca4f7[_0x753d2e];return _0x452ddb;}import{mkdir,readFile,writeFile}from'fs/promises';function _0x2ca4(){const _0x5236b4=['plugin','276BUCgOz','9BFJeAd','Mnniv','project','2139056YiEgrF','PudLk','pluginScope','opencode.json','list','127689emTrKl','13433VCnhpG','gKqWl','KzIco','user','✓\x20OpenCode\x20plugin\x20configured','log','Project\x20(shared\x20with\x20team\x20via\x20git)','VvoBS','parse','Failed\x20to\x20read\x20opencode.json','$schema','308055txWtNA','224079RAnQFh','5846630QluVMo','341800texdwk','4MnXbRg','LhSbU'];_0x2ca4=function(){return _0x5236b4;};return _0x2ca4();}import _0x55efc1 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x29f388){const _0x4ecb88=_0x452d,_0x3c1b26={'BcLOw':function(_0x19c37c,_0x1e72ed,_0x3630e3){return _0x19c37c(_0x1e72ed,_0x3630e3);},'Mnniv':function(_0x1ade4e,_0x1693c6){return _0x1ade4e(_0x1693c6);},'LhSbU':_0x4ecb88(0x147),'gKqWl':_0x4ecb88(0x14b),'PudLk':_0x4ecb88(0x14c),'nveyM':'pluginScope','KzIco':'Where\x20should\x20the\x20plugin\x20be\x20installed?','TsmPy':_0x4ecb88(0x151),'VvoBS':'https://opencode.ai/config.json','nMpQt':'utf-8','GwzAf':function(_0x2c9a44,_0x422ce4,_0x506fa0){return _0x2c9a44(_0x422ce4,_0x506fa0);}},_0x881c39=existsSync(_0x3c1b26['BcLOw'](join,_0x3c1b26[_0x4ecb88(0x146)](getOpencodeConfigDir,_0x3c1b26[_0x4ecb88(0x142)]),_0x3c1b26[_0x4ecb88(0x14f)]));let _0xee906d;if(_0x29f388)_0xee906d=_0x29f388;else{if(_0x881c39)_0xee906d=_0x3c1b26[_0x4ecb88(0x142)];else{console[_0x4ecb88(0x153)]('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0x5480e8=await _0x55efc1['prompt']([{'type':_0x3c1b26[_0x4ecb88(0x149)],'name':_0x3c1b26['nveyM'],'message':_0x3c1b26[_0x4ecb88(0x150)],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':_0x4ecb88(0x154),'value':'project'}],'default':_0x3c1b26['TsmPy']}]);_0xee906d=_0x5480e8[_0x4ecb88(0x14a)];}}const _0x3ca986=join(getOpencodeConfigDir(_0xee906d),_0x3c1b26['gKqWl']),_0x52ec5f='@ranger-testing/opencode-plugin',_0x40f1fa=_0x3c1b26[_0x4ecb88(0x155)];let _0x2bfe14={};if(existsSync(_0x3ca986))try{const _0x1b8768=await readFile(_0x3ca986,_0x3c1b26['nMpQt']);_0x2bfe14=JSON[_0x4ecb88(0x156)](_0x1b8768);}catch(_0x5e257a){return console['error']('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0xee906d,'error':_0x4ecb88(0x13b),'details':_0x5e257a};}const _0x364f0d=Array['isArray'](_0x2bfe14[_0x4ecb88(0x143)])?_0x2bfe14[_0x4ecb88(0x143)]:[];if(_0x364f0d['includes'](_0x52ec5f))return console[_0x4ecb88(0x153)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0xee906d};return _0x2bfe14['$schema']=_0x2bfe14[_0x4ecb88(0x13c)]||_0x40f1fa,_0x2bfe14[_0x4ecb88(0x143)]=[..._0x364f0d,_0x52ec5f],await mkdir(getOpencodeConfigDir(_0xee906d),{'recursive':!![]}),await _0x3c1b26['GwzAf'](writeFile,_0x3ca986,JSON['stringify'](_0x2bfe14,null,0x2)+'\x0a'),console[_0x4ecb88(0x153)](_0x4ecb88(0x152)),{'configured':!![],'scope':_0xee906d};}
@@ -1 +1 @@
1
- (function(_0x32b6b2,_0x12d774){var _0x23556e=_0x372d,_0x58462e=_0x32b6b2();while(!![]){try{var _0x342bae=-parseInt(_0x23556e(0x180))/0x1*(parseInt(_0x23556e(0x181))/0x2)+parseInt(_0x23556e(0x17d))/0x3+parseInt(_0x23556e(0x185))/0x4*(parseInt(_0x23556e(0x17c))/0x5)+-parseInt(_0x23556e(0x17a))/0x6+parseInt(_0x23556e(0x17e))/0x7*(parseInt(_0x23556e(0x17b))/0x8)+parseInt(_0x23556e(0x188))/0x9*(parseInt(_0x23556e(0x183))/0xa)+-parseInt(_0x23556e(0x186))/0xb;if(_0x342bae===_0x12d774)break;else _0x58462e['push'](_0x58462e['shift']());}catch(_0x3fcddc){_0x58462e['push'](_0x58462e['shift']());}}}(_0x31bf,0xdf712));function _0x31bf(){var _0x393c46=['40mAOfqx','5979885ViEaxy','4008216miJxba','1063391JMouSt','iFFWY','1qSdxxZ','3432322cPrJXe','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','10UYfGCK','\x20\x20https://docs.ranger.net/main/concepts/profiles','4dnbuho','6569849CvNZap','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','10611036ejLowE','7451880wChiFF'];_0x31bf=function(){return _0x393c46;};return _0x31bf();}function _0x372d(_0x14042e,_0x1f238e){_0x14042e=_0x14042e-0x17a;var _0x31bf05=_0x31bf();var _0x372d41=_0x31bf05[_0x14042e];return _0x372d41;}export async function setupCi(_0x519286,_0x2b1fd2,_0x1cc1a9){var _0x5864b9=_0x372d,_0x1a6910={'JahEu':function(_0xac7a51,_0x4df85d){return _0xac7a51+_0x4df85d;},'jHmxy':function(_0x3b4118,_0x25ee0c){return _0x3b4118+_0x25ee0c;},'bjuDN':function(_0x41df20,_0x31b3a4){return _0x41df20+_0x31b3a4;},'iFFWY':function(_0x2e85ca,_0x8c18fe){return _0x2e85ca+_0x8c18fe;},'YlkUv':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'};console['error'](_0x1a6910['JahEu'](_0x1a6910['jHmxy'](_0x1a6910['bjuDN'](_0x1a6910[_0x5864b9(0x17f)](_0x1a6910['YlkUv'],'\x0a')+_0x5864b9(0x182)+_0x5864b9(0x187),'\x0a'),'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'),_0x5864b9(0x184))),process['exit'](0x1);}
1
+ function _0x5f2b(){var _0x46093b=['9010720JVBsmh','668lwBnLO','27ZcijVk','\x20\x20https://docs.ranger.net/main/concepts/profiles','exit','711218fitUdE','5530206hOrvKk','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','1465986SpuOMk','5170140FRLZqb','vvKjK','1695232VtrArF','DNBcB','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','17283HBcjLm'];_0x5f2b=function(){return _0x46093b;};return _0x5f2b();}function _0x3927(_0x5da169,_0x5596f4){_0x5da169=_0x5da169-0x11b;var _0x5f2b5f=_0x5f2b();var _0x392726=_0x5f2b5f[_0x5da169];return _0x392726;}(function(_0x3c2936,_0x334ede){var _0x2a3b7e=_0x3927,_0x94b465=_0x3c2936();while(!![]){try{var _0x45b469=-parseInt(_0x2a3b7e(0x124))/0x1+-parseInt(_0x2a3b7e(0x127))/0x2+parseInt(_0x2a3b7e(0x11e))/0x3*(parseInt(_0x2a3b7e(0x120))/0x4)+-parseInt(_0x2a3b7e(0x128))/0x5+-parseInt(_0x2a3b7e(0x125))/0x6+-parseInt(_0x2a3b7e(0x11b))/0x7+parseInt(_0x2a3b7e(0x11f))/0x8*(parseInt(_0x2a3b7e(0x121))/0x9);if(_0x45b469===_0x334ede)break;else _0x94b465['push'](_0x94b465['shift']());}catch(_0x207982){_0x94b465['push'](_0x94b465['shift']());}}}(_0x5f2b,0xaaa6f));export async function setupCi(_0x3f4b26,_0x5b6fa5,_0x397bac){var _0x427738=_0x3927,_0x273277={'DNBcB':function(_0x5445c1,_0x2cfcd2){return _0x5445c1+_0x2cfcd2;},'vvKjK':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','xBczY':_0x427738(0x122)};console['error'](_0x273277['DNBcB'](_0x273277[_0x427738(0x11c)](_0x273277['DNBcB'](_0x427738(0x11d),'\x0a'),_0x427738(0x126))+'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'+'\x0a'+_0x273277[_0x427738(0x129)],_0x273277['xBczY'])),process[_0x427738(0x123)](0x1);}
@@ -1 +1 @@
1
- function _0x2c2c(_0x255d74,_0x4f78f9){_0x255d74=_0x255d74-0x1ed;const _0x1bcad3=_0x1bca();let _0x2c2c5d=_0x1bcad3[_0x255d74];return _0x2c2c5d;}(function(_0x31203c,_0x4fbd52){const _0x4f55d4=_0x2c2c,_0x1a6a61=_0x31203c();while(!![]){try{const _0x1d491e=parseInt(_0x4f55d4(0x216))/0x1+parseInt(_0x4f55d4(0x20a))/0x2*(parseInt(_0x4f55d4(0x200))/0x3)+-parseInt(_0x4f55d4(0x20f))/0x4+parseInt(_0x4f55d4(0x1f4))/0x5+parseInt(_0x4f55d4(0x208))/0x6*(-parseInt(_0x4f55d4(0x1ff))/0x7)+-parseInt(_0x4f55d4(0x217))/0x8*(-parseInt(_0x4f55d4(0x1fc))/0x9)+-parseInt(_0x4f55d4(0x204))/0xa;if(_0x1d491e===_0x4fbd52)break;else _0x1a6a61['push'](_0x1a6a61['shift']());}catch(_0x126176){_0x1a6a61['push'](_0x1a6a61['shift']());}}}(_0x1bca,0x71b25));function _0x1bca(){const _0x61d7da=['\x20\x203.\x20Run:\x20ranger\x20skillup','warn','list','To\x20get\x20started:','819295VkwXLT','5613528FMqcSk','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','\x20<your-api-token>','project-level','stdin','This\x20project\x20only\x20(','/skills/','Where\x20should\x20skills\x20be\x20installed?','\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!','EgJSy','qNfFb','installLevel','277980fWCPso','\x0a✅\x20Installed\x20','zcYib','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','opencode','log','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','9rbhPQZ','autoInstall','OOmkR','14SDkqHW','669996RfrBUv','suppressUsage','\x20--opencode','\x20successfully!\x0a','5340460zfCPBq','/.opencode/skills/','user-level','Xhuub','1280352jqdKji','/.claude/skills/','4lieQGD','✓\x20Found\x20API\x20token','ShxqH','stdout','WZTvW','2386860ZnrpxT','YhjJQ','VCTlN'];_0x1bca=function(){return _0x61d7da;};return _0x1bca();}import{basename}from'path';import _0x454d56 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(_0x1470f2={}){const _0xd9f5d=_0x2c2c,_0x7e8d0f={'odBzb':'claude','OOmkR':function(_0x38b389){return _0x38b389();},'YhjJQ':function(_0x35ddb1,_0x2e3742){return _0x35ddb1===_0x2e3742;},'MZFsv':function(_0x50e26e,_0x48bf6c){return _0x50e26e===_0x48bf6c;},'xApas':function(_0x4e03c1){return _0x4e03c1();},'EgJSy':function(_0x36dcbd,_0x2bdb82){return _0x36dcbd(_0x2bdb82);},'jGDBZ':_0xd9f5d(0x1f8),'daAra':function(_0x58c6e3,_0x303104){return _0x58c6e3(_0x303104);},'xQDRd':'user','qNfFb':_0xd9f5d(0x1ef),'WZTvW':'\x0a📦\x20Installing\x20skills...\x0a','zcYib':function(_0x4b728d,_0x5b09d8){return _0x4b728d instanceof _0x5b09d8;},'ShxqH':function(_0x138dde,_0x41e04d){return _0x138dde>_0x41e04d;},'CRLvf':function(_0x46599a,_0x59ec02){return _0x46599a===_0x59ec02;},'VCTlN':_0xd9f5d(0x206),'Xhuub':_0xd9f5d(0x21a),'WrpHP':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','VkpjI':_0xd9f5d(0x1f0),'ZfVTE':_0xd9f5d(0x218)};console[_0xd9f5d(0x1f9)](_0xd9f5d(0x1fa));const _0x582ecf=_0x1470f2['platform']??_0x7e8d0f['odBzb'],_0xac0348=await _0x7e8d0f[_0xd9f5d(0x1fe)](getToken);if(!_0xac0348){console['log']('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a'),console[_0xd9f5d(0x1f9)](_0xd9f5d(0x215)),console[_0xd9f5d(0x1f9)](_0xd9f5d(0x1f7)),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x7e8d0f['YhjJQ'](_0x582ecf,_0xd9f5d(0x1f8))?'\x20--opencode':'')+_0xd9f5d(0x219)),console[_0xd9f5d(0x1f9)](_0xd9f5d(0x212)+(_0x7e8d0f['MZFsv'](_0x582ecf,_0xd9f5d(0x1f8))?_0xd9f5d(0x202):'')+'\x0a');return;}console[_0xd9f5d(0x1f9)](_0xd9f5d(0x20b));const _0x245ca0=_0x7e8d0f['xApas'](getProjectRoot),_0x16fcc2=_0x7e8d0f[_0xd9f5d(0x1f1)](basename,_0x245ca0),_0x165a41=_0x7e8d0f[_0xd9f5d(0x210)](_0x582ecf,_0x7e8d0f['jGDBZ'])?_0x7e8d0f['daAra'](getOpencodeConfigDir,_0x7e8d0f['xQDRd'])+'/skills/':getClaudeConfigDir()+_0xd9f5d(0x1ee),_0x51b9b9=_0x582ecf===_0xd9f5d(0x1f8)?_0x245ca0+_0xd9f5d(0x205):_0x245ca0+_0xd9f5d(0x209),_0x483eda=process[_0xd9f5d(0x21b)]['isTTY']&&process[_0xd9f5d(0x20d)]['isTTY'];let _0x446080;if(_0x1470f2[_0xd9f5d(0x1fd)])_0x446080=_0x1470f2[_0xd9f5d(0x1fd)];else{if(_0x483eda){const _0x476d44=await _0x454d56['prompt']([{'type':_0xd9f5d(0x214),'name':_0xd9f5d(0x1f3),'message':_0x7e8d0f[_0xd9f5d(0x1f2)],'choices':[{'name':'All\x20projects\x20('+_0x165a41+')','value':'user'},{'name':_0xd9f5d(0x1ed)+_0x51b9b9+')','value':'project'}]}]);_0x446080=_0x476d44[_0xd9f5d(0x1f3)];}else _0x446080='project',console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x51b9b9+')');}let _0xd7913e=0x0;const _0x451892=_0x7e8d0f[_0xd9f5d(0x1fe)](getCurrentVersion);console[_0xd9f5d(0x1f9)](_0x7e8d0f[_0xd9f5d(0x20e)]);try{const _0x3daabb=await installSkill('ranger',{'cliVersion':_0x451892,'level':_0x446080,'platform':_0x582ecf});_0x3daabb&&_0xd7913e++;}catch(_0x837269){console[_0xd9f5d(0x213)](_0xd9f5d(0x1fb),_0x7e8d0f[_0xd9f5d(0x1f6)](_0x837269,Error)?_0x837269['message']:_0x837269);}if(_0x7e8d0f[_0xd9f5d(0x20c)](_0xd7913e,0x0)){const _0x5c6a63=_0x7e8d0f['CRLvf'](_0x446080,_0x7e8d0f['xQDRd'])?_0x7e8d0f[_0xd9f5d(0x211)]:_0x7e8d0f[_0xd9f5d(0x207)];console[_0xd9f5d(0x1f9)](_0xd9f5d(0x1f5)+_0xd7913e+'\x20'+_0x5c6a63+'\x20skill'+(_0xd7913e>0x1?'s':'')+_0xd9f5d(0x203)),!_0x1470f2[_0xd9f5d(0x201)]&&(console[_0xd9f5d(0x1f9)]('To\x20use:'),_0x582ecf===_0x7e8d0f['jGDBZ']?console['log'](_0x7e8d0f['WrpHP']):console[_0xd9f5d(0x1f9)](_0x7e8d0f['VkpjI']));}else console['log'](_0x7e8d0f['ZfVTE']);}
1
+ (function(_0x36623e,_0x4a77c2){const _0x1cd49f=_0x5826,_0x14c321=_0x36623e();while(!![]){try{const _0x2b01aa=-parseInt(_0x1cd49f(0x1b1))/0x1*(parseInt(_0x1cd49f(0x1b6))/0x2)+-parseInt(_0x1cd49f(0x19d))/0x3+parseInt(_0x1cd49f(0x1a7))/0x4+parseInt(_0x1cd49f(0x1b0))/0x5*(-parseInt(_0x1cd49f(0x198))/0x6)+parseInt(_0x1cd49f(0x1a4))/0x7*(-parseInt(_0x1cd49f(0x195))/0x8)+-parseInt(_0x1cd49f(0x19a))/0x9+-parseInt(_0x1cd49f(0x194))/0xa*(-parseInt(_0x1cd49f(0x1b2))/0xb);if(_0x2b01aa===_0x4a77c2)break;else _0x14c321['push'](_0x14c321['shift']());}catch(_0x4a3d4b){_0x14c321['push'](_0x14c321['shift']());}}}(_0x2b33,0xc64ae));function _0x2b33(){const _0x171889=['To\x20get\x20started:','kamtA','\x20successfully!\x0a','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','/.opencode/skills/','30wjsNMM','8xUonsd','AenjU','This\x20project\x20only\x20(','33828PpkaYf','IjSry','1683072vZeUiz','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','warn','1352532ieWfda','split','jcHUD','DMVBR','slZYp','isTTY','xXvbi','2167046qGhbYr','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','user-level','519904ORlHmJ','bzQaR','/.claude/skills/','wEhKe','autoInstall','opencode','claude','OBKEw','fxRxt','75cYpTMU','382651HeNExu','10494671YNTAFj','project-level','log','\x20<your-api-token>','6vHpYjm','platform','vlfdp','project'];_0x2b33=function(){return _0x171889;};return _0x2b33();}import{basename}from'path';import _0x2b4eeb 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';function _0x5826(_0x38186f,_0x4ac8d1){_0x38186f=_0x38186f-0x194;const _0x2b3347=_0x2b33();let _0x5826fd=_0x2b3347[_0x38186f];return _0x5826fd;}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x28c02f={}){const _0x318d22=_0x5826,_0x56ee3e={'isvuL':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','jzLaE':function(_0x1129bd){return _0x1129bd();},'bagso':'5|4|0|2|1|3','wEhKe':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','jcHUD':function(_0x17d5eb,_0x2efebf){return _0x17d5eb===_0x2efebf;},'AenjU':'\x20--opencode','slZYp':_0x318d22(0x1ba),'kamtA':_0x318d22(0x1ac),'fxRxt':function(_0x130905,_0x3ef455){return _0x130905(_0x3ef455);},'IjSry':'user','DMVBR':'Where\x20should\x20skills\x20be\x20installed?','dWIWO':_0x318d22(0x1b9),'bzQaR':'\x0a📦\x20Installing\x20skills...\x0a','ZLbFF':function(_0x40784a,_0x194f77,_0xbcde46){return _0x40784a(_0x194f77,_0xbcde46);},'xOUjw':'ranger','RuTMX':_0x318d22(0x19b),'VqEfS':_0x318d22(0x1b3),'OBKEw':function(_0x52da17,_0x588f5f){return _0x52da17>_0x588f5f;},'vlfdp':'To\x20use:','gFhNu':function(_0x2fbcfb,_0xf67a89){return _0x2fbcfb===_0xf67a89;},'xXvbi':'\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!'};console['log'](_0x56ee3e['isvuL']);const _0x1c6dd6=_0x28c02f[_0x318d22(0x1b7)]??_0x318d22(0x1ad),_0x1a1075=await _0x56ee3e['jzLaE'](getToken);if(!_0x1a1075){const _0x43561e=_0x56ee3e['bagso'][_0x318d22(0x19e)]('|');let _0x5645a3=0x0;while(!![]){switch(_0x43561e[_0x5645a3++]){case'0':console['log'](_0x56ee3e[_0x318d22(0x1aa)]);continue;case'1':console[_0x318d22(0x1b4)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x56ee3e['jcHUD'](_0x1c6dd6,'opencode')?_0x56ee3e['AenjU']:'')+'\x0a');continue;case'2':console[_0x318d22(0x1b4)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x56ee3e['jcHUD'](_0x1c6dd6,'opencode')?_0x56ee3e[_0x318d22(0x196)]:'')+_0x318d22(0x1b5));continue;case'3':return;case'4':console[_0x318d22(0x1b4)](_0x56ee3e[_0x318d22(0x1a1)]);continue;case'5':console[_0x318d22(0x1b4)]('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a');continue;}break;}}console[_0x318d22(0x1b4)]('✓\x20Found\x20API\x20token');const _0x105ded=_0x56ee3e['jzLaE'](getProjectRoot),_0x4ccdbe=basename(_0x105ded),_0x4ddc64=_0x56ee3e[_0x318d22(0x19f)](_0x1c6dd6,_0x56ee3e[_0x318d22(0x1bb)])?_0x56ee3e[_0x318d22(0x1af)](getOpencodeConfigDir,_0x56ee3e[_0x318d22(0x199)])+'/skills/':getClaudeConfigDir()+'/skills/',_0x49f443=_0x1c6dd6==='opencode'?_0x105ded+_0x318d22(0x1be):_0x105ded+_0x318d22(0x1a9),_0x596581=process['stdin']['isTTY']&&process['stdout'][_0x318d22(0x1a2)];let _0x10f1ba;if(_0x28c02f[_0x318d22(0x1ab)])_0x10f1ba=_0x28c02f['autoInstall'];else{if(_0x596581){const _0x2bd7d4=await _0x2b4eeb['prompt']([{'type':'list','name':'installLevel','message':_0x56ee3e[_0x318d22(0x1a0)],'choices':[{'name':'All\x20projects\x20('+_0x4ddc64+')','value':_0x56ee3e['IjSry']},{'name':_0x318d22(0x197)+_0x49f443+')','value':_0x318d22(0x1b9)}]}]);_0x10f1ba=_0x2bd7d4['installLevel'];}else _0x10f1ba=_0x56ee3e['dWIWO'],console[_0x318d22(0x1b4)](_0x318d22(0x1a5)+_0x49f443+')');}let _0x13259d=0x0;const _0x38e69e=getCurrentVersion();console['log'](_0x56ee3e[_0x318d22(0x1a8)]);try{const _0x5cf4f4=await _0x56ee3e['ZLbFF'](installSkill,_0x56ee3e['xOUjw'],{'cliVersion':_0x38e69e,'level':_0x10f1ba,'platform':_0x1c6dd6});_0x5cf4f4&&_0x13259d++;}catch(_0x27bb1f){console[_0x318d22(0x19c)](_0x56ee3e['RuTMX'],_0x27bb1f instanceof Error?_0x27bb1f['message']:_0x27bb1f);}if(_0x13259d>0x0){const _0x41cc3d=_0x10f1ba===_0x56ee3e[_0x318d22(0x199)]?_0x318d22(0x1a6):_0x56ee3e['VqEfS'];console['log']('\x0a✅\x20Installed\x20'+_0x13259d+'\x20'+_0x41cc3d+'\x20skill'+(_0x56ee3e[_0x318d22(0x1ae)](_0x13259d,0x1)?'s':'')+_0x318d22(0x1bc)),!_0x28c02f['suppressUsage']&&(console['log'](_0x56ee3e[_0x318d22(0x1b8)]),_0x56ee3e['gFhNu'](_0x1c6dd6,_0x56ee3e[_0x318d22(0x1bb)])?console['log'](_0x318d22(0x1bd)):console['log'](_0x56ee3e[_0x318d22(0x1a3)]));}else console[_0x318d22(0x1b4)]('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
@@ -1 +1 @@
1
- const _0x5a6c3d=_0x361e;(function(_0x108191,_0x4fad2e){const _0xe6ff6f=_0x361e,_0x3bc352=_0x108191();while(!![]){try{const _0x2a693e=-parseInt(_0xe6ff6f(0xd5))/0x1+parseInt(_0xe6ff6f(0xca))/0x2+-parseInt(_0xe6ff6f(0xde))/0x3+-parseInt(_0xe6ff6f(0xc6))/0x4+-parseInt(_0xe6ff6f(0xcd))/0x5*(-parseInt(_0xe6ff6f(0x10c))/0x6)+-parseInt(_0xe6ff6f(0x105))/0x7+parseInt(_0xe6ff6f(0x10d))/0x8;if(_0x2a693e===_0x4fad2e)break;else _0x3bc352['push'](_0x3bc352['shift']());}catch(_0xb4c598){_0x3bc352['push'](_0x3bc352['shift']());}}}(_0x57a3,0xa22b1));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';function _0x57a3(){const _0x593d2b=['MutqO',');\x20retrying...','aeOWn','playwright/package.json','2857320yoqCiz','✓\x20Stored\x20credentials\x20locally','UWONJ','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','skills','skipAuth','rVxFa','DBQbJ','JErwW','ugWaz','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','✓\x20Exported\x20credentials\x20for\x20CI','✓\x20~/.ranger/\x20directory\x20already\x20exists','✓\x20Created\x20.ranger/.gitignore','oMMBI','✓\x20Local\x20profile\x20already\x20exists','\x20failed\x20(','DNvYM','ranger\x20profile\x20add\x20<name>','...','ZqJLX','Nhrou','executablePath','\x0aInstalling\x20Chromium\x20browser...\x0a','log','AUQiO','✓\x20Authenticated\x20to\x20','chromium','FRSxV','\x20\x20npx\x20playwright@','close','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','OuNbR','kHBLu','tgYEM','FjedQ','QHoDL','VGZag','env','1437604IPuuzQ','inherit','pWNSQ','opencode','\x0a\x20\x20','CEgwG','error','558ZWRusu','11772712EUdVTy','\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps','MaXZh','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','stdout','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','platform','hELbN','FiDGY','rgqjw','Validating\x20API\x20token...','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','confirm','skipChromium','profile','EtVvj','install','method','status','user','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','success','DXuGK','\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20','force','skipped','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','\x20install\x20chromium','s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a','trackPhaseEnd','Kmrjh','2050008GQjAdV','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','RANGER_CHROMIUM_INSTALL_TIMEOUT_MS','scope','1781836DIUzVY','exit','auth','54195RQTFUn','device_auth','XmBlb','dNYrw','Yquyt','ZkGea','withDeps','GbDVR','1035979MFAlGL','trackPhaseStart','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','message','ApbCV'];_0x57a3=function(){return _0x593d2b;};return _0x57a3();}import{existsSync}from'fs';import{createRequire}from'module';import _0x5b86ff 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';function _0x361e(_0x48d94e,_0x9e7399){_0x48d94e=_0x48d94e-0xbd;const _0x57a356=_0x57a3();let _0x361e76=_0x57a356[_0x48d94e];return _0x361e76;}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';import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.56.1';const bold=_0x3e1005=>'\x1b[1m'+_0x3e1005+'\x1b[0m';export function getPlaywrightVersion(){const _0x3dcb7a=_0x361e,_0x32edfd={'MutqO':_0x3dcb7a(0xdd),'LHHGq':function(_0x4356e4,_0x5119c2){return _0x4356e4(_0x5119c2);}};try{const _0x245348=require['resolve'](_0x32edfd[_0x3dcb7a(0xda)]),_0x53ca66=_0x32edfd['LHHGq'](require,_0x245348);return _0x53ca66['version'];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x1f100c=_0x361e,_0x35a1f6={'EtVvj':function(_0x5a8257,_0x1d3677,_0x3ca348){return _0x5a8257(_0x1d3677,_0x3ca348);},'FRSxV':function(_0x32ada0,_0x551942){return _0x32ada0(_0x551942);},'jlXCS':_0x1f100c(0xdd)};try{const _0x29316f=_0x35a1f6[_0x1f100c(0x11d)](join,_0x35a1f6[_0x1f100c(0xfa)](dirname,require['resolve'](_0x35a1f6['jlXCS'])),'cli.js');return existsSync(_0x29316f)?_0x29316f:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process[_0x5a6c3d(0x104)][_0x5a6c3d(0xc8)])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x3b5321,_0x1e1e62=![]){const _0x43a44a=_0x5a6c3d,_0x553291={'yCCYI':function(_0x5e7181){return _0x5e7181();},'nkNDL':'npx','VGZag':_0x43a44a(0x11e),'rgqjw':function(_0x299958,_0x391769,_0x219626){return _0x299958(_0x391769,_0x219626);},'QBoff':function(_0x301798,_0x19069c){return _0x301798+_0x19069c;},'KdbEn':function(_0x82baa7,_0x5e2fd4){return _0x82baa7/_0x5e2fd4;}},_0x5434d1=_0x553291['yCCYI'](resolveBundledPlaywrightCli),_0x31166d=_0x5434d1?process['execPath']:_0x553291['nkNDL'],_0x173552=[_0x5434d1??'playwright@'+_0x3b5321,_0x553291[_0x43a44a(0x103)],..._0x1e1e62?['--with-deps']:[],_0x43a44a(0xf9)];let _0x30d6d3=![];for(let _0x207953=0x1;;_0x207953++){try{await _0x553291[_0x43a44a(0x117)](runChromiumInstall,_0x31166d,_0x173552);return;}catch(_0x1a8645){_0x1a8645 instanceof ChromiumInstallTimeoutError&&!_0x30d6d3&&(_0x30d6d3=!![],console['log'](_0x553291['QBoff'](_0x43a44a(0xbe)+Math['round'](_0x553291['KdbEn'](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+_0x43a44a(0xc3),_0x43a44a(0x10e))));if(_0x207953>=0x3)throw _0x1a8645;const _0x38180a=_0x1a8645 instanceof Error?_0x1a8645['message']:String(_0x1a8645);console[_0x43a44a(0xf6)]('\x20\x20Chromium\x20install\x20attempt\x20'+_0x207953+_0x43a44a(0xee)+_0x38180a+_0x43a44a(0xdb));}}}function runChromiumInstall(_0x4d7011,_0x4b6f03){const _0x1cab5f={'oMMBI':function(_0x4c68f0,_0x11a575){return _0x4c68f0(_0x11a575);},'MrbNl':'SIGKILL','YtEHT':function(_0x2a2591,_0x29064e){return _0x2a2591/_0x29064e;},'DXuGK':function(_0x32e31d,_0x18dca3,_0x31f355,_0xe1a1bb){return _0x32e31d(_0x18dca3,_0x31f355,_0xe1a1bb);},'DPJmu':function(_0x50da44,_0x181460){return _0x50da44===_0x181460;},'wEbFG':'win32','dBBGg':function(_0x11b9a6,_0x4a17af,_0xb87270){return _0x11b9a6(_0x4a17af,_0xb87270);},'ZzjCu':'error'};return new Promise((_0x34bc72,_0xcc950)=>{const _0x563223=_0x361e,_0x58c765={'AUQiO':_0x1cab5f['MrbNl'],'yVgwM':function(_0x234098,_0x528d39){const _0x48b4e7=_0x361e;return _0x1cab5f[_0x48b4e7(0xec)](_0x234098,_0x528d39);},'Yquyt':function(_0x264151,_0x923c62){return _0x1cab5f['YtEHT'](_0x264151,_0x923c62);},'tdvGo':function(_0x426bbb,_0x5b2cd7){const _0x55b5f4=_0x361e;return _0x1cab5f[_0x55b5f4(0xec)](_0x426bbb,_0x5b2cd7);},'QHoDL':function(_0xbfa559,_0x55ed4a){return _0xbfa559(_0x55ed4a);}},_0x259118=_0x1cab5f[_0x563223(0xbd)](spawn,_0x4d7011,_0x4b6f03,{'stdio':['ignore','inherit',_0x563223(0x106)],'shell':_0x1cab5f['DPJmu'](process[_0x563223(0x114)],_0x1cab5f['wEbFG'])}),_0x395bc5=_0x1cab5f['dBBGg'](setTimeout,()=>{const _0x412b0d=_0x563223;_0x259118['kill'](_0x58c765[_0x412b0d(0xf7)]),_0x58c765['yVgwM'](_0xcc950,new ChromiumInstallTimeoutError('Chromium\x20install\x20timed\x20out\x20after\x20'+Math['round'](_0x58c765[_0x412b0d(0xd1)](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x259118['on'](_0x563223(0xfc),_0x3f5c19=>{const _0x58ccae=_0x563223;_0x1cab5f[_0x58ccae(0xec)](clearTimeout,_0x395bc5);if(_0x3f5c19===0x0)_0x34bc72();else _0xcc950(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x3f5c19));}),_0x259118['on'](_0x1cab5f['ZzjCu'],_0x106d3b=>{const _0x37ffb4=_0x563223;_0x58c765['tdvGo'](clearTimeout,_0x395bc5),_0x58c765[_0x37ffb4(0x102)](_0xcc950,_0x106d3b);});});}export async function authenticate(_0x17e012){const _0x5c4e05=_0x5a6c3d,_0x48608d={'jpREn':function(_0x3800ac,_0xdb6f9e){return _0x3800ac instanceof _0xdb6f9e;},'DBQbJ':function(_0x2d8224,_0x29ea5d){return _0x2d8224(_0x29ea5d);},'hELbN':_0x5c4e05(0xe9),'AYkTY':_0x5c4e05(0xdf)};if(!_0x17e012){const _0x54fe22=await getToken();if(_0x54fe22){const _0x451c3c=await getCurrentUser(_0x54fe22);if(_0x451c3c['success'])return console[_0x5c4e05(0xf6)]('✓\x20Already\x20authenticated\x20to\x20'+_0x451c3c['user']['organizationName']),{'token':_0x54fe22,'method':'existing_token'};}try{_0x17e012=await runDeviceAuthFlow();}catch(_0x750023){throw new Error('Authentication\x20failed:\x20'+(_0x48608d['jpREn'](_0x750023,Error)?_0x750023['message']:_0x750023));}const _0x4518fb=await _0x48608d[_0x5c4e05(0xe5)](getCurrentUser,_0x17e012);if(!_0x4518fb['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x4518fb['error']);return console['log'](_0x5c4e05(0xf8)+_0x4518fb[_0x5c4e05(0x121)]['organizationName']),{'token':_0x17e012,'method':_0x5c4e05(0xce)};}console['log'](_0x5c4e05(0x118));const _0x20a7ec=await _0x48608d[_0x5c4e05(0xe5)](getCurrentUser,_0x17e012);if(!_0x20a7ec[_0x5c4e05(0x123)]){if(_0x20a7ec[_0x5c4e05(0x120)])throw new Error('Authentication\x20failed:\x20'+_0x20a7ec['error']+_0x5c4e05(0x110));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x20a7ec[_0x5c4e05(0x10b)]+_0x5c4e05(0xfd));}return console[_0x5c4e05(0xf6)](_0x5c4e05(0xf8)+_0x20a7ec['user']['organizationName']),await storeToken(_0x17e012),console['log'](process[_0x5c4e05(0x104)]['GITHUB_ENV']?_0x48608d[_0x5c4e05(0x115)]:_0x48608d['AYkTY']),{'token':_0x17e012,'method':'provided_token'};}export async function ensureRangerDir(_0x4c943c){const _0x303715=_0x5a6c3d,_0x41f2a1={'qsNYW':function(_0x112b57,_0x275e50){return _0x112b57(_0x275e50);},'MaXZh':_0x303715(0xea)};void _0x4c943c;const _0x3a8499=getRangerHomeDir();return!_0x41f2a1['qsNYW'](existsSync,_0x3a8499)?(await mkdir(_0x3a8499,{'recursive':!![]}),console['log']('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x3a8499,'installed':!![]}):(console[_0x303715(0xf6)](_0x41f2a1[_0x303715(0x10f)]),{'path':_0x3a8499,'installed':![]});}export async function ensureChromium(_0x16ab01=![]){const _0x2b13f7=_0x5a6c3d,_0x50260c={'JErwW':function(_0x3d8154){return _0x3d8154();},'CEgwG':function(_0x7546e7,_0x3d55b2){return _0x7546e7??_0x3d55b2;},'ZePjY':'\x20(fallback\x20version)','pOCRH':_0x2b13f7(0xf5),'jFhBg':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','Nhrou':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','LNywt':function(_0x22b226,_0x500ca5){return _0x22b226 instanceof _0x500ca5;},'XmBlb':'\x0a⚠\x20Skipping\x20Chromium\x20installation.'};let _0x2cb506=![];try{const _0x471413=chromium[_0x2b13f7(0xf4)]();_0x2cb506=existsSync(_0x471413);}catch{_0x2cb506=![];}if(_0x2cb506)return console[_0x2b13f7(0xf6)]('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x22d4c2=_0x50260c[_0x2b13f7(0xe6)](getPlaywrightVersion),_0x4c31db=_0x50260c[_0x2b13f7(0x10a)](_0x22d4c2,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x2e81a9=!_0x22d4c2,_0x3c7357=process['stdin']['isTTY']&&process[_0x2b13f7(0x111)]['isTTY'];let _0x253793=!![];if(_0x3c7357){const {install:_0x330e01}=await _0x5b86ff['prompt']([{'type':_0x2b13f7(0x11a),'name':_0x2b13f7(0x11e),'message':_0x2e81a9?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x4c31db+'\x20now?':'The\x20required\x20version\x20('+_0x4c31db+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x253793=_0x330e01;}else console[_0x2b13f7(0xf6)](_0x2b13f7(0xe8)+_0x4c31db+(_0x2e81a9?_0x50260c['ZePjY']:'')+_0x2b13f7(0xf1));if(_0x253793){console['log'](_0x50260c['pOCRH']);try{await installChromiumBinary(_0x4c31db,_0x16ab01),console['log'](_0x50260c['jFhBg']);}catch(_0x43caba){console['error'](_0x50260c[_0x2b13f7(0xf3)],_0x50260c['LNywt'](_0x43caba,Error)?_0x43caba[_0x2b13f7(0xd8)]:_0x43caba),console[_0x2b13f7(0xf6)]('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console[_0x2b13f7(0xf6)]('\x20\x20npx\x20playwright@'+_0x4c31db+_0x2b13f7(0xc2));}}else console['log'](_0x50260c[_0x2b13f7(0xcf)]),console[_0x2b13f7(0xf6)](_0x2b13f7(0x122)),console['log'](_0x2b13f7(0xfb)+_0x4c31db+_0x2b13f7(0xc2));return!![];}export async function writeRangerGitignore(_0x49c14c){const _0x11228f=_0x5a6c3d,_0x331b99={'YNjcF':function(_0x13986c,_0x1a77d9,_0x345830){return _0x13986c(_0x1a77d9,_0x345830);},'FiDGY':_0x11228f(0xeb)},_0x7b977c=_0x331b99['YNjcF'](join,_0x49c14c,'.gitignore'),_0x23359b='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await _0x331b99['YNjcF'](writeFile,_0x7b977c,_0x23359b),console['log'](_0x331b99[_0x11228f(0x116)]);}export async function ensureLocalEnv(_0x4419b6,_0x107f70){const _0xcb675b=_0x5a6c3d,_0x1c8a48={'Ocyyf':function(_0x5c6d2e){return _0x5c6d2e();},'raFgC':'user','aeOWn':'local','tgYEM':function(_0x288825,_0x7807a0){return _0x288825 instanceof _0x7807a0;}};if(!_0x1c8a48['Ocyyf'](findGitRoot)&&_0x4419b6?.[_0xcb675b(0xc9)]!==_0x1c8a48['raFgC'])return console[_0xcb675b(0xf6)](_0xcb675b(0x113)),{'ready':![],'skipped':!![]};const _0x5e68ed=_0x4419b6?.['scope']===_0x1c8a48['raFgC']?_0x1c8a48['Ocyyf'](getRangerHomeDir):undefined;if(findExistingEnv(_0x1c8a48[_0xcb675b(0xdc)],{'locations':[_0x1c8a48['aeOWn']],'rangerDir':_0x5e68ed}))return console[_0xcb675b(0xf6)](_0xcb675b(0xed)),{'ready':!![],'skipped':![]};try{return await addEnv('local',{'url':_0x4419b6?.['url'],'force':_0x4419b6?.[_0xcb675b(0xbf)],'allowInsecureLocalhost':_0x4419b6?.['allowInsecureLocalhost'],'scope':_0x4419b6?.['scope']},_0x107f70),{'ready':!![],'skipped':![]};}catch(_0x3314cc){return console[_0xcb675b(0x10b)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x1c8a48[_0xcb675b(0x100)](_0x3314cc,Error)?_0x3314cc[_0xcb675b(0xd8)]:_0x3314cc),{'ready':![],'skipped':![]};}}export async function start(_0xdb8ce2,_0x55863c,_0x307674){const _0x1bfcce=_0x5a6c3d,_0x1fe5e8={'FjedQ':'\x0a🚀\x20Ranger\x20Setup\x0a','XKQle':function(_0x18cc3e,_0x1ca6d6){return _0x18cc3e+_0x1ca6d6;},'ZqJLX':function(_0x31ffdf){return _0x31ffdf();},'pWNSQ':'user','ugWaz':'✓\x20Skipping\x20authentication\x20(--skip-auth)','dNYrw':'chromium','DfShJ':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','ZkGea':function(_0x3af8f9,_0x346925){return _0x3af8f9(_0x346925);},'GbDVR':'plugin','UWONJ':'skills','OuNbR':'ranger','ApbCV':_0x1bfcce(0x108),'DNvYM':function(_0x38f994,_0x419ec1){return _0x38f994 instanceof _0x419ec1;},'ddPRQ':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','qexxr':_0x1bfcce(0x11c),'RpSvM':function(_0x29aefa,_0x1f17e9,_0x1cac7d){return _0x29aefa(_0x1f17e9,_0x1cac7d);},'nTQqu':function(_0x23bc33,_0x7ebcc7){return _0x23bc33+_0x7ebcc7;},'kHBLu':_0x1bfcce(0x112),'ELFau':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','rVxFa':'/ranger:enable','Kmrjh':function(_0x233894,_0x561095){return _0x233894+_0x561095;},'qQvfq':function(_0xc14d38,_0x3a85ea){return _0xc14d38+_0x3a85ea;}};console[_0x1bfcce(0xf6)](_0x1fe5e8[_0x1bfcce(0x101)]);_0x55863c?.[_0x1bfcce(0xc9)]!==undefined&&_0x55863c[_0x1bfcce(0xc9)]!==_0x1bfcce(0x121)&&(console['error'](_0x1fe5e8['XKQle'](_0x1fe5e8['XKQle']('ranger\x20setup\x20--scope='+String(_0x55863c[_0x1bfcce(0xc9)])+'\x20is\x20no\x20longer\x20supported.\x20','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'),_0x1bfcce(0xd7))),process[_0x1bfcce(0xcb)](0x1));_0x55863c={..._0x55863c,'scope':'user'};const _0x16df40=!existsSync(_0x1fe5e8[_0x1bfcce(0xf2)](getRangerHomeDir));await ensureRangerDir(_0x1fe5e8[_0x1bfcce(0x107)]);if(_0x55863c?.['skipAuth'])console['log'](_0x1fe5e8[_0x1bfcce(0xe7)]),_0x307674?.['trackPhaseEnd']('auth',{'isFirstRun':_0x16df40,'method':_0x1bfcce(0xc0)});else{_0x307674?.[_0x1bfcce(0xd6)](_0x1bfcce(0xcc));const _0x3baff8=await authenticate(_0xdb8ce2);_0x307674?.['trackPhaseEnd']('auth',{'isFirstRun':_0x16df40,'method':_0x3baff8[_0x1bfcce(0x11f)]});}_0x307674?.['trackPhaseStart'](_0x1fe5e8[_0x1bfcce(0xd0)]);_0x55863c?.['skipChromium']?console['log'](_0x1fe5e8['DfShJ']):await _0x1fe5e8[_0x1bfcce(0xd2)](ensureChromium,_0x55863c?.[_0x1bfcce(0xd3)]);_0x307674?.[_0x1bfcce(0xc4)](_0x1bfcce(0xf9),{'isFirstRun':_0x16df40,'skipped':!!_0x55863c?.[_0x1bfcce(0x11b)]}),console[_0x1bfcce(0xf6)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x3fbcd0=_0x55863c?.['scope'],_0xd4232f=_0x55863c?.['opencode']??![];let _0x2e04a7=null;_0xd4232f?(_0x307674?.['trackPhaseStart'](_0x1fe5e8[_0x1bfcce(0xd4)]),_0x2e04a7=await ensureOpencodePluginConfig(_0x3fbcd0),_0x307674?.['trackPhaseEnd'](_0x1fe5e8[_0x1bfcce(0xd4)],{'isFirstRun':_0x16df40,'opencode':!![]})):(_0x307674?.[_0x1bfcce(0xd6)](_0x1fe5e8[_0x1bfcce(0xd4)]),await ensureClaudePlugin(_0x3fbcd0),_0x307674?.[_0x1bfcce(0xc4)](_0x1fe5e8[_0x1bfcce(0xd4)],{'isFirstRun':_0x16df40}));if(_0xd4232f&&_0x2e04a7){_0x307674?.[_0x1bfcce(0xd6)](_0x1fe5e8[_0x1bfcce(0xe0)]);try{await installSkill(_0x1fe5e8[_0x1bfcce(0xfe)],{'level':_0x2e04a7['scope'],'cliVersion':_0x1fe5e8[_0x1bfcce(0xf2)](getCurrentVersion),'platform':_0x1fe5e8[_0x1bfcce(0xd9)]}),_0x307674?.['trackPhaseEnd']('skills',{'isFirstRun':_0x16df40,'opencode':!![]});}catch(_0x4b9d8e){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x1fe5e8[_0x1bfcce(0xef)](_0x4b9d8e,Error)?_0x4b9d8e['message']:_0x4b9d8e),_0x307674?.[_0x1bfcce(0xc4)](_0x1fe5e8[_0x1bfcce(0xe0)],{'isFirstRun':_0x16df40,'opencode':!![],'failed':!![]});}}else _0x307674?.[_0x1bfcce(0xd6)](_0x1bfcce(0xe2)),await ensureClaudeSkills(_0x3fbcd0),_0x307674?.['trackPhaseEnd'](_0x1fe5e8['UWONJ'],{'isFirstRun':_0x16df40});if(_0x55863c?.[_0x1bfcce(0xe3)])console['log'](_0x1fe5e8['ddPRQ']);else{if(_0x55863c?.['url']){_0x307674?.['trackPhaseStart'](_0x1fe5e8['qexxr']);const _0x18eb6a=await _0x1fe5e8['RpSvM'](ensureLocalEnv,{'url':_0x55863c['url'],'force':_0x55863c?.[_0x1bfcce(0xbf)],'allowInsecureLocalhost':_0x55863c?.['allowInsecureLocalhost'],'scope':_0x1fe5e8[_0x1bfcce(0x107)]},_0x307674);_0x307674?.[_0x1bfcce(0xc4)](_0x1fe5e8['qexxr'],{'isFirstRun':_0x16df40,'profileReady':_0x18eb6a['ready'],'userSkipped':_0x18eb6a['skipped']});}else console['log'](_0x1fe5e8['nTQqu'](_0x1fe5e8['nTQqu'](_0x1bfcce(0xc7)+(_0x1bfcce(0x109)+bold(_0x1bfcce(0xf0))),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'),_0x1bfcce(0x119))+_0x1bfcce(0xe1));}if(_0xd4232f)console[_0x1bfcce(0xf6)](_0x1fe5e8[_0x1bfcce(0xff)]),console[_0x1bfcce(0xf6)](_0x1fe5e8['ELFau']),console[_0x1bfcce(0xf6)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x4f8cbd=_0x1fe5e8['ZkGea'](bold,_0x1fe5e8[_0x1bfcce(0xe4)]);console[_0x1bfcce(0xf6)](_0x1fe5e8[_0x1bfcce(0xc5)](_0x1fe5e8['qQvfq']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x4f8cbd+'\x20and\x20prompt\x20the\x20coding',_0x1bfcce(0xc1)),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser')+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
1
+ const _0x5f14c3=_0x21b5;(function(_0x4459db,_0x48102e){const _0x4e36d7=_0x21b5,_0x45b380=_0x4459db();while(!![]){try{const _0x585d8b=parseInt(_0x4e36d7(0x17e))/0x1+parseInt(_0x4e36d7(0x1a9))/0x2*(parseInt(_0x4e36d7(0x162))/0x3)+parseInt(_0x4e36d7(0x13d))/0x4*(parseInt(_0x4e36d7(0x157))/0x5)+-parseInt(_0x4e36d7(0x13f))/0x6*(-parseInt(_0x4e36d7(0x15d))/0x7)+parseInt(_0x4e36d7(0x195))/0x8*(-parseInt(_0x4e36d7(0x13e))/0x9)+parseInt(_0x4e36d7(0x191))/0xa*(-parseInt(_0x4e36d7(0x15f))/0xb)+-parseInt(_0x4e36d7(0x17a))/0xc*(parseInt(_0x4e36d7(0x13a))/0xd);if(_0x585d8b===_0x48102e)break;else _0x45b380['push'](_0x45b380['shift']());}catch(_0x284af8){_0x45b380['push'](_0x45b380['shift']());}}}(_0x2851,0x9ef88));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x373dd0 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';function _0x2851(){const _0x42b344=['withDeps','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','kill','skills','execPath','12345708tiUSoD','Aukfc','EcJWT','playwright@','1221051wtoPgr','\x20is\x20no\x20longer\x20supported.\x20','NwLHh','\x0aIn\x20Claude\x20Code,\x20run\x20','error','RANGER_CHROMIUM_INSTALL_TIMEOUT_MS','\x0a🚀\x20Ranger\x20Setup\x0a','rVQsP','local','zgtgN','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','xzQih','round','cli.js','ready','exit','rPjbX','rIIXM','10VVtQRA','cCABp','SIGKILL','nzmow','5609360mznllV','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','force','dQXSP','AvZZl','lcLZx','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','user','Wigkt','platform','log','\x0a\x20\x20','eMmfG','opencode','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','install','rRQaI','FHmYF','profile','✓\x20Exported\x20credentials\x20for\x20CI','232612xOXEFY','nZxBs','✓\x20Playwright\x20Chromium\x20browser\x20found','version','provided_token','Chromium\x20install\x20timed\x20out\x20after\x20','success','jyosP',');\x20retrying...','rqmDS','hbsFB','✓\x20~/.ranger/\x20directory\x20already\x20exists','skipChromium','\x1b[1m','HUXyC','stdin','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','scope','13geISbR','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','\x20now?','34652HiioXl','9fXCNhF','276zkXFUf','skipAuth','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','allowInsecureLocalhost','JDwju','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','✓\x20Local\x20profile\x20already\x20exists','chromium','\x20install\x20chromium','You\x20can\x20install\x20it\x20manually\x20by\x20running:','win32','\x20and\x20prompt\x20the\x20coding','\x0a❌\x20Profile\x20setup\x20failed:','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','omMlD','ranger\x20setup\x20--scope=','✓\x20Created\x20.ranger/.gitignore','executablePath','ieohU','The\x20required\x20version\x20(','mKMaL','530WmbXgc','resolve','url','ignore','wSXtR','fFZpD','115521NJACKH','confirm','9528882dEQJcf','✓\x20Authenticated\x20to\x20','/ranger:enable','9mUGHJv','jowaI','Installation\x20failed\x20with\x20exit\x20code\x20','ranger\x20profile\x20add\x20<name>','\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','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a','iCsaS','trackPhaseStart','EsnKE','playwright/package.json','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','✓\x20Skipping\x20authentication\x20(--skip-auth)','skipped','Validating\x20API\x20token...','message','trackPhaseEnd','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'];_0x2851=function(){return _0x42b344;};return _0x2851();}import{installSkill}from'./utils/skills.js';import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.56.1';const bold=_0x2339a8=>_0x5f14c3(0x135)+_0x2339a8+'\x1b[0m';export function getPlaywrightVersion(){const _0xfcee9e=_0x5f14c3,_0x3c674d={'EsnKE':_0xfcee9e(0x16c)};try{const _0x5d8a2e=require[_0xfcee9e(0x158)](_0x3c674d[_0xfcee9e(0x16b)]),_0x5539c1=require(_0x5d8a2e);return _0x5539c1[_0xfcee9e(0x1ac)];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x16c851=_0x5f14c3,_0x5a2f1f={'Fureb':function(_0x16be10,_0x59236d,_0x1efb47){return _0x16be10(_0x59236d,_0x1efb47);},'mTVjI':function(_0x5b7751,_0x25505f){return _0x5b7751(_0x25505f);}};try{const _0x45db94=_0x5a2f1f['Fureb'](join,_0x5a2f1f['mTVjI'](dirname,require['resolve'](_0x16c851(0x16c))),_0x16c851(0x18c));return _0x5a2f1f['mTVjI'](existsSync,_0x45db94)?_0x45db94:null;}catch{return null;}}function _0x21b5(_0x1ce770,_0x429180){_0x1ce770=_0x1ce770-0x131;const _0x285163=_0x2851();let _0x21b540=_0x285163[_0x1ce770];return _0x21b540;}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process['env'][_0x5f14c3(0x183)])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x5c28c9,_0x126dc2=![]){const _0x39b219=_0x5f14c3,_0x59acf7={'HUXyC':'npx','QDqPc':'--with-deps','rPjbX':'chromium','rVQsP':function(_0x5d4d59,_0x26854a){return _0x5d4d59 instanceof _0x26854a;},'XxbbF':function(_0x32bec4,_0x474254){return _0x32bec4+_0x474254;},'wSXtR':function(_0x1c1523,_0x583440){return _0x1c1523/_0x583440;},'LLEVm':function(_0x5a241b,_0x213234){return _0x5a241b(_0x213234);}},_0x28b7b5=resolveBundledPlaywrightCli(),_0x142296=_0x28b7b5?process[_0x39b219(0x179)]:_0x59acf7[_0x39b219(0x136)],_0x31b53f=[_0x28b7b5??_0x39b219(0x17d)+_0x5c28c9,_0x39b219(0x1a4),..._0x126dc2?[_0x59acf7['QDqPc']]:[],_0x59acf7[_0x39b219(0x18f)]];let _0x5884f1=![];for(let _0x52d0c6=0x1;;_0x52d0c6++){try{await runChromiumInstall(_0x142296,_0x31b53f);return;}catch(_0x31d81e){_0x59acf7[_0x39b219(0x185)](_0x31d81e,ChromiumInstallTimeoutError)&&!_0x5884f1&&(_0x5884f1=!![],console[_0x39b219(0x19f)](_0x59acf7['XxbbF']('\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20'+Math[_0x39b219(0x18b)](_0x59acf7[_0x39b219(0x15b)](CHROMIUM_INSTALL_TIMEOUT_MS,0x3e8))+_0x39b219(0x168),'\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps')));if(_0x52d0c6>=0x3)throw _0x31d81e;const _0x4a1977=_0x31d81e instanceof Error?_0x31d81e[_0x39b219(0x171)]:_0x59acf7['LLEVm'](String,_0x31d81e);console['log']('\x20\x20Chromium\x20install\x20attempt\x20'+_0x52d0c6+'\x20failed\x20('+_0x4a1977+_0x39b219(0x1b1));}}}function runChromiumInstall(_0x7d9dcf,_0x1f745f){const _0x2b325e={'EcJWT':function(_0x5f2a39,_0x2d32d1){return _0x5f2a39(_0x2d32d1);},'AFBju':function(_0x3417c5,_0x2f9b75){return _0x3417c5(_0x2f9b75);},'XUroS':function(_0x12e9c0,_0x167486){return _0x12e9c0===_0x167486;},'eMmfG':function(_0x4a4439){return _0x4a4439();},'omMlD':function(_0x27cc40,_0x220622){return _0x27cc40(_0x220622);},'UHBHa':function(_0x4d24a6,_0x55b9d5,_0x46a4e8,_0x3edf2f){return _0x4d24a6(_0x55b9d5,_0x46a4e8,_0x3edf2f);},'tLyDB':'inherit','NwLHh':function(_0x49a605,_0x1e7dfb){return _0x49a605===_0x1e7dfb;}};return new Promise((_0x4cfba7,_0x36ed1d)=>{const _0x465a8d=_0x21b5,_0x1f97ec=_0x2b325e['UHBHa'](spawn,_0x7d9dcf,_0x1f745f,{'stdio':[_0x465a8d(0x15a),_0x2b325e['tLyDB'],_0x2b325e['tLyDB']],'shell':_0x2b325e[_0x465a8d(0x180)](process[_0x465a8d(0x19e)],_0x465a8d(0x14b))}),_0x3c074b=setTimeout(()=>{const _0x2d7f63=_0x465a8d;_0x1f97ec[_0x2d7f63(0x177)](_0x2d7f63(0x193)),_0x2b325e[_0x2d7f63(0x17c)](_0x36ed1d,new ChromiumInstallTimeoutError(_0x2d7f63(0x1ae)+Math['round'](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x1f97ec['on']('close',_0x1ca051=>{const _0x42a491=_0x465a8d;_0x2b325e['AFBju'](clearTimeout,_0x3c074b);if(_0x2b325e['XUroS'](_0x1ca051,0x0))_0x2b325e[_0x42a491(0x1a1)](_0x4cfba7);else _0x2b325e[_0x42a491(0x150)](_0x36ed1d,new Error(_0x42a491(0x164)+_0x1ca051));}),_0x1f97ec['on'](_0x465a8d(0x182),_0x460e3d=>{_0x2b325e['AFBju'](clearTimeout,_0x3c074b),_0x2b325e['EcJWT'](_0x36ed1d,_0x460e3d);});});}export async function authenticate(_0x318c18){const _0x2ccf61=_0x5f14c3,_0x2d4276={'MpDDM':function(_0x41e497,_0x1bedb4){return _0x41e497 instanceof _0x1bedb4;},'JDwju':'device_auth','Aukfc':function(_0x1950c3,_0x1023ea){return _0x1950c3(_0x1023ea);},'xXSRl':'✓\x20Stored\x20credentials\x20locally'};if(!_0x318c18){const _0x555ca8=await getToken();if(_0x555ca8){const _0x88636d=await getCurrentUser(_0x555ca8);if(_0x88636d['success'])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x88636d['user']['organizationName']),{'token':_0x555ca8,'method':'existing_token'};}try{_0x318c18=await runDeviceAuthFlow();}catch(_0x506862){throw new Error('Authentication\x20failed:\x20'+(_0x2d4276['MpDDM'](_0x506862,Error)?_0x506862[_0x2ccf61(0x171)]:_0x506862));}const _0x5f1d89=await getCurrentUser(_0x318c18);if(!_0x5f1d89[_0x2ccf61(0x1af)])throw new Error(_0x2ccf61(0x175)+_0x5f1d89['error']);return console[_0x2ccf61(0x19f)](_0x2ccf61(0x160)+_0x5f1d89['user']['organizationName']),{'token':_0x318c18,'method':_0x2d4276[_0x2ccf61(0x143)]};}console['log'](_0x2ccf61(0x170));const _0x5ef9c7=await getCurrentUser(_0x318c18);if(!_0x5ef9c7[_0x2ccf61(0x1af)]){if(_0x5ef9c7['status'])throw new Error('Authentication\x20failed:\x20'+_0x5ef9c7['error']+_0x2ccf61(0x16d));else throw new Error(_0x2ccf61(0x141)+_0x5ef9c7[_0x2ccf61(0x182)]+_0x2ccf61(0x13b));}return console[_0x2ccf61(0x19f)](_0x2ccf61(0x160)+_0x5ef9c7[_0x2ccf61(0x19c)]['organizationName']),await _0x2d4276[_0x2ccf61(0x17b)](storeToken,_0x318c18),console[_0x2ccf61(0x19f)](process['env']['GITHUB_ENV']?_0x2ccf61(0x1a8):_0x2d4276['xXSRl']),{'token':_0x318c18,'method':_0x2ccf61(0x1ad)};}export async function ensureRangerDir(_0x179660){const _0x196963=_0x5f14c3,_0x3d61a3={'lcLZx':function(_0x3d54de){return _0x3d54de();},'xzQih':function(_0x249cde,_0x5f295c){return _0x249cde(_0x5f295c);},'cCABp':_0x196963(0x133)};void _0x179660;const _0x118273=_0x3d61a3[_0x196963(0x19a)](getRangerHomeDir);return!_0x3d61a3[_0x196963(0x18a)](existsSync,_0x118273)?(await mkdir(_0x118273,{'recursive':!![]}),console['log']('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x118273,'installed':!![]}):(console['log'](_0x3d61a3[_0x196963(0x192)]),{'path':_0x118273,'installed':![]});}export async function ensureChromium(_0x18efcc=![]){const _0x31d33f=_0x5f14c3,_0x2536c6={'IHzSL':function(_0x58cce1,_0x3e7bd4){return _0x58cce1(_0x3e7bd4);},'xedZh':function(_0x39ccbc){return _0x39ccbc();},'rDaKt':'install','jyosP':'\x20(fallback\x20version)','muwoA':_0x31d33f(0x14a),'rqlCz':'\x0a⚠\x20Skipping\x20Chromium\x20installation.'};let _0x47d754=![];try{const _0x377493=chromium[_0x31d33f(0x153)]();_0x47d754=_0x2536c6['IHzSL'](existsSync,_0x377493);}catch{_0x47d754=![];}if(_0x47d754)return console['log'](_0x31d33f(0x1ab)),![];const _0x299cc1=_0x2536c6['xedZh'](getPlaywrightVersion),_0x507fe2=_0x299cc1??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x4a8432=!_0x299cc1,_0x300467=process[_0x31d33f(0x137)]['isTTY']&&process['stdout']['isTTY'];let _0x456710=!![];if(_0x300467){const {install:_0x8ee85c}=await _0x373dd0['prompt']([{'type':_0x31d33f(0x15e),'name':_0x2536c6['rDaKt'],'message':_0x4a8432?_0x31d33f(0x167)+_0x507fe2+_0x31d33f(0x13c):_0x31d33f(0x155)+_0x507fe2+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x456710=_0x8ee85c;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x507fe2+(_0x4a8432?_0x2536c6[_0x31d33f(0x1b0)]:'')+'...');if(_0x456710){console[_0x31d33f(0x19f)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x507fe2,_0x18efcc),console['log'](_0x31d33f(0x189));}catch(_0x12b3f9){console[_0x31d33f(0x182)](_0x31d33f(0x144),_0x12b3f9 instanceof Error?_0x12b3f9['message']:_0x12b3f9),console[_0x31d33f(0x19f)](_0x2536c6['muwoA']),console['log']('\x20\x20npx\x20playwright@'+_0x507fe2+_0x31d33f(0x149));}}else console['log'](_0x2536c6['rqlCz']),console['log']('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log']('\x20\x20npx\x20playwright@'+_0x507fe2+_0x31d33f(0x149));return!![];}export async function writeRangerGitignore(_0x444b4b){const _0x46f9a6=_0x5f14c3,_0x33b3b7={'GEcdU':function(_0x191aaf,_0x17eef4,_0x35fbc2){return _0x191aaf(_0x17eef4,_0x35fbc2);},'AvZZl':function(_0x5b9d05,_0x16c63d,_0x49559d){return _0x5b9d05(_0x16c63d,_0x49559d);}},_0x575978=_0x33b3b7['GEcdU'](join,_0x444b4b,'.gitignore'),_0x10602d=_0x46f9a6(0x166);await _0x33b3b7[_0x46f9a6(0x199)](writeFile,_0x575978,_0x10602d),console['log'](_0x46f9a6(0x152));}export async function ensureLocalEnv(_0x45815b,_0x3776e5){const _0x2debda=_0x5f14c3,_0x49299a={'VeAui':function(_0x3175ab,_0xc7cf08){return _0x3175ab!==_0xc7cf08;},'SdrTo':function(_0x2cc055,_0x28a581){return _0x2cc055===_0x28a581;},'ieohU':'user','TrNvn':function(_0x3b0c8e){return _0x3b0c8e();},'nzmow':function(_0x376faf,_0x40894c,_0xf0365a){return _0x376faf(_0x40894c,_0xf0365a);},'SCQRp':_0x2debda(0x186),'Rtdzo':_0x2debda(0x147)};if(!findGitRoot()&&_0x49299a['VeAui'](_0x45815b?.['scope'],'user'))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x20542f=_0x49299a['SdrTo'](_0x45815b?.['scope'],_0x49299a[_0x2debda(0x154)])?_0x49299a['TrNvn'](getRangerHomeDir):undefined;if(_0x49299a[_0x2debda(0x194)](findExistingEnv,_0x2debda(0x186),{'locations':[_0x49299a['SCQRp']],'rangerDir':_0x20542f}))return console[_0x2debda(0x19f)](_0x49299a['Rtdzo']),{'ready':!![],'skipped':![]};try{return await addEnv(_0x2debda(0x186),{'url':_0x45815b?.['url'],'force':_0x45815b?.[_0x2debda(0x197)],'allowInsecureLocalhost':_0x45815b?.[_0x2debda(0x142)],'scope':_0x45815b?.[_0x2debda(0x139)]},_0x3776e5),{'ready':!![],'skipped':![]};}catch(_0x216260){return console[_0x2debda(0x182)](_0x2debda(0x14d),_0x216260 instanceof Error?_0x216260[_0x2debda(0x171)]:_0x216260),{'ready':![],'skipped':![]};}}export async function start(_0x499607,_0x2e6dec,_0x94ed62){const _0x563d09=_0x5f14c3,_0x5c4aa7={'hxakO':_0x563d09(0x184),'zIbMD':function(_0x5948ee,_0x49a6a7){return _0x5948ee!==_0x49a6a7;},'fFZpD':function(_0x7dd38f,_0x8c0051){return _0x7dd38f!==_0x8c0051;},'GFSQK':_0x563d09(0x19c),'iCsaS':function(_0x27f1a5,_0xfd946d){return _0x27f1a5+_0xfd946d;},'hbsFB':function(_0x1c6d53,_0x3e35c2){return _0x1c6d53(_0x3e35c2);},'dQXSP':function(_0x2e7db8){return _0x2e7db8();},'wsCwU':_0x563d09(0x16e),'rIIXM':'skipped','nZxBs':'auth','rqmDS':'chromium','Wigkt':'plugin','gwZxc':function(_0x1d92a5){return _0x1d92a5();},'jowaI':_0x563d09(0x1a2),'rRQaI':function(_0xf1ac4d,_0x565440){return _0xf1ac4d instanceof _0x565440;},'GrVBV':'skills','BnGaU':function(_0x16faa7,_0x1a0dd2){return _0x16faa7(_0x1a0dd2);},'wbOZG':function(_0x28c2f3,_0x3bd6f5,_0x4c61cd){return _0x28c2f3(_0x3bd6f5,_0x4c61cd);},'KZjrH':_0x563d09(0x1a7),'JJPqu':function(_0x404465,_0x10ac92){return _0x404465+_0x10ac92;},'FHmYF':_0x563d09(0x165),'mKMaL':_0x563d09(0x145),'rQTpc':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','zgtgN':function(_0x3be2ce,_0x11ea06){return _0x3be2ce+_0x11ea06;}};console['log'](_0x5c4aa7['hxakO']);_0x5c4aa7['zIbMD'](_0x2e6dec?.[_0x563d09(0x139)],undefined)&&_0x5c4aa7[_0x563d09(0x15c)](_0x2e6dec['scope'],_0x5c4aa7['GFSQK'])&&(console['error'](_0x5c4aa7['iCsaS'](_0x5c4aa7['iCsaS'](_0x563d09(0x151)+String(_0x2e6dec['scope'])+_0x563d09(0x17f),_0x563d09(0x173)),_0x563d09(0x196))),process[_0x563d09(0x18e)](0x1));_0x2e6dec={..._0x2e6dec,'scope':'user'};const _0x514273=!_0x5c4aa7['hbsFB'](existsSync,_0x5c4aa7[_0x563d09(0x198)](getRangerHomeDir));await ensureRangerDir(_0x563d09(0x19c));if(_0x2e6dec?.[_0x563d09(0x140)])console[_0x563d09(0x19f)](_0x5c4aa7['wsCwU']),_0x94ed62?.['trackPhaseEnd']('auth',{'isFirstRun':_0x514273,'method':_0x5c4aa7[_0x563d09(0x190)]});else{_0x94ed62?.['trackPhaseStart']('auth');const _0x8bca65=await authenticate(_0x499607);_0x94ed62?.['trackPhaseEnd'](_0x5c4aa7[_0x563d09(0x1aa)],{'isFirstRun':_0x514273,'method':_0x8bca65['method']});}_0x94ed62?.['trackPhaseStart'](_0x563d09(0x148));_0x2e6dec?.[_0x563d09(0x134)]?console[_0x563d09(0x19f)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await ensureChromium(_0x2e6dec?.[_0x563d09(0x174)]);_0x94ed62?.['trackPhaseEnd'](_0x5c4aa7[_0x563d09(0x131)],{'isFirstRun':_0x514273,'skipped':!!_0x2e6dec?.[_0x563d09(0x134)]}),console[_0x563d09(0x19f)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0xb70ad3=_0x2e6dec?.[_0x563d09(0x139)],_0x11fdc4=_0x2e6dec?.[_0x563d09(0x1a2)]??![];let _0x7904d1=null;_0x11fdc4?(_0x94ed62?.[_0x563d09(0x16a)](_0x5c4aa7['Wigkt']),_0x7904d1=await _0x5c4aa7[_0x563d09(0x132)](ensureOpencodePluginConfig,_0xb70ad3),_0x94ed62?.[_0x563d09(0x172)](_0x5c4aa7[_0x563d09(0x19d)],{'isFirstRun':_0x514273,'opencode':!![]})):(_0x94ed62?.[_0x563d09(0x16a)](_0x5c4aa7[_0x563d09(0x19d)]),await _0x5c4aa7['hbsFB'](ensureClaudePlugin,_0xb70ad3),_0x94ed62?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x514273}));if(_0x11fdc4&&_0x7904d1){_0x94ed62?.['trackPhaseStart']('skills');try{await installSkill('ranger',{'level':_0x7904d1['scope'],'cliVersion':_0x5c4aa7['gwZxc'](getCurrentVersion),'platform':_0x5c4aa7[_0x563d09(0x163)]}),_0x94ed62?.['trackPhaseEnd'](_0x563d09(0x178),{'isFirstRun':_0x514273,'opencode':!![]});}catch(_0x4fa653){console['warn'](_0x563d09(0x138),_0x5c4aa7[_0x563d09(0x1a5)](_0x4fa653,Error)?_0x4fa653['message']:_0x4fa653),_0x94ed62?.['trackPhaseEnd'](_0x5c4aa7['GrVBV'],{'isFirstRun':_0x514273,'opencode':!![],'failed':!![]});}}else _0x94ed62?.['trackPhaseStart'](_0x5c4aa7['GrVBV']),await _0x5c4aa7['BnGaU'](ensureClaudeSkills,_0xb70ad3),_0x94ed62?.[_0x563d09(0x172)](_0x563d09(0x178),{'isFirstRun':_0x514273});if(_0x2e6dec?.[_0x563d09(0x140)])console[_0x563d09(0x19f)](_0x563d09(0x1a3));else{if(_0x2e6dec?.['url']){_0x94ed62?.[_0x563d09(0x16a)](_0x563d09(0x1a7));const _0x41ce4d=await _0x5c4aa7['wbOZG'](ensureLocalEnv,{'url':_0x2e6dec[_0x563d09(0x159)],'force':_0x2e6dec?.['force'],'allowInsecureLocalhost':_0x2e6dec?.[_0x563d09(0x142)],'scope':_0x5c4aa7['GFSQK']},_0x94ed62);_0x94ed62?.[_0x563d09(0x172)](_0x5c4aa7['KZjrH'],{'isFirstRun':_0x514273,'profileReady':_0x41ce4d[_0x563d09(0x18d)],'userSkipped':_0x41ce4d[_0x563d09(0x16f)]});}else console['log'](_0x5c4aa7['JJPqu'](_0x5c4aa7[_0x563d09(0x169)](_0x563d09(0x19b)+(_0x563d09(0x1a0)+bold(_0x5c4aa7[_0x563d09(0x1a6)]))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'),_0x563d09(0x188)));}if(_0x11fdc4)console[_0x563d09(0x19f)](_0x5c4aa7[_0x563d09(0x156)]),console['log'](_0x563d09(0x14f)),console['log'](_0x5c4aa7['rQTpc']),console[_0x563d09(0x19f)](_0x563d09(0x14e));else{const _0x388c89=bold(_0x563d09(0x161));console['log'](_0x5c4aa7[_0x563d09(0x187)](_0x563d09(0x181)+_0x388c89+_0x563d09(0x14c)+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with',_0x563d09(0x146))+_0x563d09(0x176));}}
@@ -1 +1 @@
1
- const _0x76efdf=_0x7174;(function(_0x953d5a,_0xddeb7c){const _0x37cf6f=_0x7174,_0x433bb9=_0x953d5a();while(!![]){try{const _0x148422=-parseInt(_0x37cf6f(0x100))/0x1+parseInt(_0x37cf6f(0xdb))/0x2+-parseInt(_0x37cf6f(0xf5))/0x3*(parseInt(_0x37cf6f(0xae))/0x4)+parseInt(_0x37cf6f(0x92))/0x5+-parseInt(_0x37cf6f(0x102))/0x6*(parseInt(_0x37cf6f(0xf8))/0x7)+parseInt(_0x37cf6f(0x106))/0x8+-parseInt(_0x37cf6f(0x98))/0x9;if(_0x148422===_0xddeb7c)break;else _0x433bb9['push'](_0x433bb9['shift']());}catch(_0x1cdb63){_0x433bb9['push'](_0x433bb9['shift']());}}}(_0x2e21,0x667f9));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';function _0x7174(_0x2b3f66,_0x41db2a){_0x2b3f66=_0x2b3f66-0x90;const _0x2e21a1=_0x2e21();let _0x71749e=_0x2e21a1[_0x2b3f66];return _0x71749e;}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';function _0x2e21(){const _0x2db2a2=['plaintext','145250RnXiAA','settingsPath','12MvVQze','ahySq','\x20cloud','version','4648048pcIgLk','MxzOn','LtAAz','details','utf-8','147320PStCXO','DEBUG','@ranger-testing/opencode-plugin','ejGMT','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','has','2807748CoZNcg','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','\x1b]8;;\x07','rlEEV','\x1b[1m','includes','xqznc','not_installed','\x0a---\x20Profiles\x20---','VwRIX','CUroS','toString','log','No\x20skills\x20installed','sessionUpdatedAt',':\x20installed\x20(','KXZZh','SKILL.md','none','\x20(up\x20to\x20date)','jzBkf','VjrmO','292zGzBkn','parse','\x20\x20Run:\x20ranger\x20update','WyCvy','join','\x20\x20User-level:','ignore',':\x20configured','RRBMu','\x20\x20\x20\x20Settings:\x20','\x20plugin(s)\x20configured','zxojj','unknown','match','\x0a\x20\x20No\x20active\x20profile\x20set','IjBAL','length','dBuAf','ranger@trailhead','stdout','\x20\x20\x20\x20','hasPlaintextAuth','data','Root:\x20','configured','opencode','\x0a---\x20Claude\x20Code\x20Plugin\x20---','ETLEU','isActive','Organization:\x20','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','isArray','\x0a---\x20OpenCode\x20Plugin\x20---','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','JnAZS','filter','not_configured','scope','vvJnd','\x1b]8;;file://','\x0a---\x20Skills\x20---','TAPCf','XqGGR','DcajM','PodDO','1323012rynncm','API\x20Environment:\x20','\x20(latest:\x20','rPgYS','udhJv','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','some','NptYm','name','CLAvj','status','\x20\x20Project-level:','AVRQH','config','push','map','\x20\x20Run:\x20ranger\x20setup\x20[token]','close','TRsoz','\x20[cloud]','disabled','UlDMb','pXhsx','path','wBzum','\x20profiles\x20configured\x20(','13557dnVNjQ','\x20\x20\x20\x20Session:\x20','Version:\x20','227619xuNleE','stderr','user','pnprT','pnhqO','\x20[local]','\x20local'];_0x2e21=function(){return _0x2db2a2;};return _0x2e21();}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=_0x3fa993=>_0x76efdf(0x9c)+_0x3fa993+'\x1b[0m',link=(_0x55a8a9,_0x2e1021)=>_0x76efdf(0xd5)+_0x55a8a9+'\x07'+(_0x2e1021||_0x55a8a9)+_0x76efdf(0x9a);async function getOpencodePluginStatus(){const _0x18246b=_0x76efdf,_0x9cb14f={'PzrjF':function(_0x3009fb,_0xa9ec7a){return _0x3009fb(_0xa9ec7a);},'WyCvy':'not_installed','ImjpO':_0x18246b(0xe8),'DjUUl':'pipe','PodDO':_0x18246b(0xc4),'CLAvj':'error'};return new Promise(_0x272711=>{const _0x2d812d=_0x18246b,_0xa45b31={'HpvyF':function(_0x23d159,_0x569efa){return _0x23d159!==_0x569efa;},'sFywU':function(_0x5f116b,_0x2d8fcb){return _0x5f116b(_0x2d8fcb);},'ejGMT':function(_0x1c008a,_0x1e9d38){return _0x1c008a>_0x1e9d38;},'jzBkf':'not_configured','IjBAL':function(_0x3f7a92,_0x42a8a6){return _0x3f7a92(_0x42a8a6);}},_0x17752b=spawn(_0x2d812d(0xc7),['debug',_0x9cb14f['ImjpO']],{'stdio':[_0x2d812d(0xb4),_0x9cb14f['DjUUl'],_0x9cb14f['DjUUl']]});let _0x5e52e5='';_0x17752b[_0x2d812d(0xc1)]?.['on'](_0x2d812d(0xc4),_0x4e7145=>{_0x5e52e5+=_0x4e7145['toString']();}),_0x17752b[_0x2d812d(0xf9)]?.['on'](_0x9cb14f[_0x2d812d(0xda)],_0x453ef9=>{const _0x187594=_0x2d812d;_0x5e52e5+=_0x453ef9[_0x187594(0xa3)]();}),_0x17752b['on'](_0x9cb14f[_0x2d812d(0xe4)],()=>{const _0x468368=_0x2d812d;_0x9cb14f['PzrjF'](_0x272711,{'status':_0x9cb14f[_0x468368(0xb1)]});}),_0x17752b['on'](_0x2d812d(0xec),_0x2fd30d=>{const _0x54dcb7=_0x2d812d;if(_0x2fd30d!==0x0){_0xa45b31['sFywU'](_0x272711,{'status':_0x54dcb7(0x9f)});return;}const _0x85c930=_0x5e52e5['trim']();let _0x25e36a=null;if(_0x85c930)try{_0x25e36a=JSON['parse'](_0x85c930);}catch{const _0x4d37b4=_0x85c930[_0x54dcb7(0xbb)](/\{[\s\S]*\}$/);if(_0x4d37b4)try{_0x25e36a=JSON[_0x54dcb7(0xaf)](_0x4d37b4[0x0]);}catch{_0x25e36a=null;}}const _0x1fd20e=Array[_0x54dcb7(0xcd)](_0x25e36a?.['plugin'])?_0x25e36a?.['plugin']:[],_0x295439=_0x1fd20e[_0x54dcb7(0xe1)](_0xa1aa52=>{const _0x5abfe2=_0x54dcb7;if(_0xa45b31['HpvyF'](typeof _0xa1aa52,'string'))return![];return _0xa1aa52['includes'](_0x5abfe2(0x94))||_0xa1aa52[_0x5abfe2(0x9d)]('opencode-plugin');});if(_0x295439){_0x272711({'status':'configured','details':_0x1fd20e['length']>0x0?_0x1fd20e[_0x54dcb7(0xbe)]+_0x54dcb7(0xb8):undefined});return;}if(_0xa45b31[_0x54dcb7(0x95)](_0x1fd20e[_0x54dcb7(0xbe)],0x0)){_0x272711({'status':_0xa45b31[_0x54dcb7(0xac)],'details':_0x1fd20e[_0x54dcb7(0xbe)]+'\x20plugin(s)\x20configured'});return;}_0xa45b31[_0x54dcb7(0xbd)](_0x272711,{'status':_0x54dcb7(0xd2)});});});}async function getSkillsFromDir(_0x28ce86,_0x1ba690){const _0x19c6ce=_0x76efdf,_0x3a1c18={'rlEEV':function(_0x5ab34a,_0x2e0ec6,_0x552a3f){return _0x5ab34a(_0x2e0ec6,_0x552a3f);},'GWARo':_0x19c6ce(0xa9),'BQcnL':function(_0x43e4b0,_0x46a37e){return _0x43e4b0(_0x46a37e);},'blbmz':_0x19c6ce(0x91)};if(!existsSync(_0x28ce86))return[];const _0x50420f=[];try{const _0x4e3f9e=await _0x3a1c18[_0x19c6ce(0x9b)](readdir,_0x28ce86,{'withFileTypes':!![]});for(const _0x527598 of _0x4e3f9e){if(_0x527598['isDirectory']()){const _0x4b5eaf=join(_0x28ce86,_0x527598['name'],_0x3a1c18['GWARo']);if(_0x3a1c18['BQcnL'](existsSync,_0x4b5eaf)){let _0x44da6f=_0x527598[_0x19c6ce(0xe3)];try{const _0xe4e69d=await _0x3a1c18[_0x19c6ce(0x9b)](readFile,_0x4b5eaf,_0x3a1c18['blbmz']),_0x13f5b9=_0xe4e69d[_0x19c6ce(0xbb)](/name:\s*(.+)/);_0x13f5b9&&(_0x44da6f=_0x13f5b9[0x1]['trim']());}catch{}_0x50420f[_0x19c6ce(0xe9)]({'name':_0x527598[_0x19c6ce(0xe3)],'displayName':_0x44da6f,'path':_0x4b5eaf,'level':_0x1ba690});}}}}catch{return[];}return _0x50420f;}async function getInstalledSkills(){const _0x53c46e=_0x76efdf,_0x52e195={'CUroS':function(_0x4ecc50,_0x3119ac,_0x533ad7){return _0x4ecc50(_0x3119ac,_0x533ad7);},'ahySq':function(_0x3a83b9){return _0x3a83b9();},'LtAAz':'project'},[_0xcae550,_0x3625e2]=await Promise['all']([_0x52e195[_0x53c46e(0xa2)](getSkillsFromDir,_0x52e195[_0x53c46e(0x103)](getProjectSkillsDir),_0x52e195[_0x53c46e(0x108)]),_0x52e195['CUroS'](getSkillsFromDir,getUserSkillsDir(),_0x53c46e(0xfa))]);return{'project':_0xcae550,'user':_0x3625e2};}async function getEnvironments(){const _0x5e5f07=_0x76efdf,_0x4d43d5={'pnprT':function(_0x154cbd,_0x599de4,_0x36eded){return _0x154cbd(_0x599de4,_0x36eded);},'KXZZh':'settings.json','dBuAf':'auth.json','RVFkB':'(not\x20found)','TRsoz':function(_0x439058,_0x237136){return _0x439058(_0x237136);},'DcajM':function(_0x4d88d0,_0xacf004){return _0x4d88d0===_0xacf004;},'TAPCf':function(_0x49f056){return _0x49f056();}},{envNames:_0x512a37,activeEnv:_0x2f8c39}=await getEnvNames(),_0x1a9c04=_0x4d43d5[_0x5e5f07(0xd7)](getRangerDir);if(!_0x4d43d5[_0x5e5f07(0xed)](existsSync,_0x1a9c04))return{'envs':[],'activeEnv':null};const _0x15f659=_0x512a37['map'](_0x320c82=>{const _0x3fbe18=_0x5e5f07,_0x1e53cb=getEnvDir(_0x320c82),_0x139712=_0x4d43d5[_0x3fbe18(0xfb)](join,_0x1e53cb,_0x4d43d5[_0x3fbe18(0xa8)]),_0x2b176b=_0x4d43d5['pnprT'](join,_0x1e53cb,_0x4d43d5[_0x3fbe18(0xbf)]),_0x372c9f=join(_0x1e53cb,'auth.json.enc');return{'name':_0x320c82,'settingsPath':existsSync(_0x139712)?_0x139712:_0x4d43d5['RVFkB'],'hasPlaintextAuth':existsSync(_0x2b176b),'hasEncryptedAuth':_0x4d43d5[_0x3fbe18(0xed)](existsSync,_0x372c9f),'isActive':_0x4d43d5[_0x3fbe18(0xd9)](_0x320c82,_0x2f8c39)};});return{'envs':_0x15f659,'activeEnv':_0x2f8c39};}export async function status(){const _0x2533db=_0x76efdf,_0x8720eb={'VwRIX':'\x0a📊\x20Ranger\x20Status\x0a','vZCTh':function(_0x2e24f8){return _0x2e24f8();},'JnAZS':function(_0x55c252,_0x44241d,_0x218817){return _0x55c252(_0x44241d,_0x218817);},'ETLEU':function(_0x1fb366,_0x1bfca7,_0x44f474){return _0x1fb366(_0x1bfca7,_0x44f474);},'zxojj':function(_0x14a967,_0xf42ac4){return _0x14a967(_0xf42ac4);},'IZhxO':function(_0x961d62,_0x5f033a){return _0x961d62(_0x5f033a);},'xqznc':function(_0x4a4654){return _0x4a4654();},'udhJv':_0x2533db(0xce),'XqGGR':_0x2533db(0xc6),'pXhsx':function(_0x4bb9c0,_0x2f08e4){return _0x4bb9c0(_0x2f08e4);},'MxzOn':'\x20\x20Not\x20configured','UlDMb':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','qZZSd':_0x2533db(0xba),'rPgYS':_0x2533db(0xef),'pnhqO':function(_0x39d36e,_0x4f39ca){return _0x39d36e(_0x4f39ca);},'rGHfR':_0x2533db(0xa0),'VjrmO':function(_0x5b6d8c){return _0x5b6d8c();},'AVRQH':function(_0x37390d,_0x32a081){return _0x37390d+_0x32a081;},'vvJnd':'No\x20profiles\x20configured','HEPFq':function(_0x351431,_0x11782d){return _0x351431===_0x11782d;},'wBzum':'\x20(active)','RRBMu':'no\x20session','YnzBA':'encrypted','NptYm':_0x2533db(0xaa)};console['log'](_0x8720eb[_0x2533db(0xa1)]);const _0x3f30fc=process['cwd'](),_0x545e69=_0x8720eb['vZCTh'](getRangerDir);if(!existsSync(_0x545e69)){console['log'](_0x2533db(0xc5)+_0x8720eb['JnAZS'](link,_0x3f30fc,bold(basename(_0x3f30fc)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x2533db(0xa4)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x2533db(0xa4)]('Root:\x20'+_0x8720eb[_0x2533db(0xc9)](link,_0x3f30fc,bold(basename(_0x3f30fc))));const _0x2b6c15=getCurrentVersion(),_0x39c0d6=getLatestVersion();if(_0x39c0d6['version']&&_0x39c0d6[_0x2533db(0x105)]!==_0x2b6c15)console[_0x2533db(0xa4)]('Version:\x20'+_0x2b6c15+_0x2533db(0xdd)+_0x39c0d6['version']+')'),console['log'](_0x2533db(0xb0));else _0x39c0d6[_0x2533db(0x105)]?console['log']('Version:\x20'+_0x2b6c15+_0x2533db(0xab)):console['log'](_0x2533db(0xf7)+_0x2b6c15);const _0x17c330=await getToken();if(_0x17c330){const _0x4a6272=await _0x8720eb[_0x2533db(0xb9)](getCurrentUser,_0x17c330);_0x4a6272['success']?console[_0x2533db(0xa4)](_0x2533db(0xcb)+_0x8720eb['IZhxO'](bold,_0x4a6272['user']['organizationName'])):(console[_0x2533db(0xa4)](_0x2533db(0xcf)),console['log'](_0x2533db(0xeb)));}else console[_0x2533db(0xa4)]('API\x20Token:\x20✗\x20Not\x20found'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env'][_0x2533db(0x93)]&&(console[_0x2533db(0xa4)](_0x2533db(0xdc)+_0x8720eb['xqznc'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+getApiBaseUrl()));console[_0x2533db(0xa4)](_0x8720eb[_0x2533db(0xdf)]);const _0x72aa85=await getOpencodePluginStatus();if(_0x72aa85[_0x2533db(0xe5)]===_0x8720eb[_0x2533db(0xd8)])console[_0x2533db(0xa4)]('\x20\x20'+_0x8720eb[_0x2533db(0xf1)](bold,'@ranger-testing/opencode-plugin')+_0x2533db(0xb5)),_0x72aa85['details']&&console[_0x2533db(0xa4)]('\x20\x20'+_0x72aa85[_0x2533db(0x90)]);else _0x72aa85[_0x2533db(0xe5)]==='not_configured'?(console[_0x2533db(0xa4)](_0x8720eb[_0x2533db(0x107)]),_0x72aa85['details']&&console['log']('\x20\x20'+_0x72aa85['details']),console['log']('\x20\x20Run:\x20ranger\x20setup\x20--opencode')):console[_0x2533db(0xa4)](_0x8720eb[_0x2533db(0xf0)]);console['log'](_0x2533db(0xc8));const _0x1115ce=await _0x8720eb[_0x2533db(0xb9)](getPluginInfo,'ranger@trailhead');if(_0x1115ce){const _0x103fc5=_0x1115ce[_0x2533db(0xd3)]||_0x8720eb['qZZSd'],_0x386afa=_0x1115ce['enabled']?'enabled':_0x8720eb[_0x2533db(0xde)];console[_0x2533db(0xa4)]('\x20\x20'+_0x8720eb['IZhxO'](bold,_0x2533db(0xc0))+_0x2533db(0xa7)+_0x103fc5+',\x20'+_0x386afa+')');}else console['log']('\x20\x20Not\x20installed'),console[_0x2533db(0xa4)](_0x2533db(0x96));console[_0x2533db(0xa4)](_0x2533db(0xd6));const {project:_0x139dcf,user:_0x5c56e3}=await getInstalledSkills(),_0x3187ff=_0x139dcf[_0x2533db(0xd1)](_0x492019=>RANGER_MANAGED_SKILLS['includes'](_0x492019['name'])),_0x5f396a=_0x5c56e3['filter'](_0x37b6b6=>RANGER_MANAGED_SKILLS[_0x2533db(0x9d)](_0x37b6b6['name'])),_0x2fc8a1=_0x3187ff['length']+_0x5f396a[_0x2533db(0xbe)];if(_0x2fc8a1===0x0)console['log'](_0x2533db(0xa5)),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x3187ff['length']>0x0){console[_0x2533db(0xa4)](_0x2533db(0xe6));for(const _0x2f28e1 of _0x3187ff){console[_0x2533db(0xa4)](_0x2533db(0xc2)+bold(_0x2f28e1['displayName'])+':\x20'+link(_0x2f28e1[_0x2533db(0xf2)],basename(_0x2f28e1['path'])));}}if(_0x5f396a['length']>0x0){console['log'](_0x2533db(0xb3));for(const _0x22b5f0 of _0x5f396a){console['log']('\x20\x20\x20\x20'+_0x8720eb['zxojj'](bold,_0x22b5f0['displayName'])+':\x20'+_0x8720eb[_0x2533db(0xd0)](link,_0x22b5f0['path'],_0x8720eb[_0x2533db(0xfc)](basename,_0x22b5f0['path'])));}}}console[_0x2533db(0xa4)](_0x8720eb['rGHfR']);const {envs:_0xa45747,activeEnv:_0xf53866}=await _0x8720eb[_0x2533db(0x9e)](getEnvironments);let _0x3700e8=[];if(_0x17c330)try{_0x3700e8=await _0x8720eb[_0x2533db(0xad)](listCloudProfiles);}catch{}const _0x3211a0=_0x8720eb[_0x2533db(0xe7)](_0xa45747['length'],_0x3700e8[_0x2533db(0xbe)]);if(_0x3211a0===0x0)console['log'](_0x8720eb[_0x2533db(0xd4)]),console['log'](_0x2533db(0xcc));else{if(_0x3211a0>0x5){const _0x25beb0=[];_0x3700e8['length']>0x0&&_0x25beb0[_0x2533db(0xe9)](_0x3700e8[_0x2533db(0xbe)]+_0x2533db(0x104)),_0xa45747[_0x2533db(0xbe)]>0x0&&_0x25beb0['push'](_0xa45747['length']+_0x2533db(0xfe)),console[_0x2533db(0xa4)](_0x3211a0+_0x2533db(0xf4)+_0x25beb0['join'](',\x20')+')'),_0xf53866&&console[_0x2533db(0xa4)]('\x20\x20Active:\x20'+_0x8720eb[_0x2533db(0xb9)](bold,_0xf53866)),console[_0x2533db(0xa4)](_0x2533db(0xe0));}else{for(const _0x25089e of _0x3700e8){const _0x2ce4b8=_0x8720eb['HEPFq'](_0x25089e['name'],_0xf53866)?_0x8720eb[_0x2533db(0xf3)]:'';console[_0x2533db(0xa4)]('\x20\x20'+bold(_0x25089e['name'])+_0x2533db(0xee)+_0x2ce4b8);const _0x5ac1ed=_0x25089e['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x25089e[_0x2533db(0xa6)]+')':_0x8720eb[_0x2533db(0xb6)];console[_0x2533db(0xa4)](_0x2533db(0xf6)+_0x5ac1ed);}const _0x37b588=new Set(_0x3700e8[_0x2533db(0xea)](_0x5c8911=>_0x5c8911[_0x2533db(0xe3)]));for(const _0x376b38 of _0xa45747){if(_0x37b588['has'](_0x376b38['name']))continue;const _0x4de4e1=_0x376b38[_0x2533db(0xca)]?_0x8720eb[_0x2533db(0xf3)]:'',_0x19280d=_0x376b38['hasEncryptedAuth']?_0x8720eb['YnzBA']:_0x376b38[_0x2533db(0xc3)]?_0x2533db(0xff):_0x8720eb[_0x2533db(0xe2)];console[_0x2533db(0xa4)]('\x20\x20'+bold(_0x376b38[_0x2533db(0xe3)])+_0x2533db(0xfd)+_0x4de4e1),console[_0x2533db(0xa4)]('\x20\x20\x20\x20Auth:\x20'+_0x19280d),_0x376b38['settingsPath']!=='(not\x20found)'&&console['log'](_0x2533db(0xb7)+link(_0x376b38['settingsPath'],basename(_0x376b38[_0x2533db(0x101)])));}if(!_0xf53866){console['log'](_0x2533db(0xbc));const _0x51bed8=[..._0x3700e8['map'](_0x888873=>_0x888873[_0x2533db(0xe3)]),..._0xa45747['filter'](_0x50c91e=>!_0x37b588[_0x2533db(0x97)](_0x50c91e[_0x2533db(0xe3)]))['map'](_0x57d54c=>_0x57d54c[_0x2533db(0xe3)])];console['log'](_0x2533db(0x99)+_0x51bed8[_0x2533db(0xb2)](',\x20')+')');}}}console['log']('');}
1
+ const _0x118608=_0x20c0;(function(_0x3525ea,_0x2dd603){const _0x772659=_0x20c0,_0x59fab5=_0x3525ea();while(!![]){try{const _0x1f7f08=-parseInt(_0x772659(0x1c6))/0x1+-parseInt(_0x772659(0x1a3))/0x2*(parseInt(_0x772659(0x1db))/0x3)+-parseInt(_0x772659(0x1e2))/0x4+-parseInt(_0x772659(0x1da))/0x5+-parseInt(_0x772659(0x1c0))/0x6+-parseInt(_0x772659(0x19a))/0x7+parseInt(_0x772659(0x18e))/0x8;if(_0x1f7f08===_0x2dd603)break;else _0x59fab5['push'](_0x59fab5['shift']());}catch(_0x2225d4){_0x59fab5['push'](_0x59fab5['shift']());}}}(_0x5ba2,0x39e88));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';function _0x20c0(_0x4da880,_0x50b1ab){_0x4da880=_0x4da880-0x186;const _0x5ba234=_0x5ba2();let _0x20c0bd=_0x5ba234[_0x4da880];return _0x20c0bd;}import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';function _0x5ba2(){const _0x1b086d=['No\x20profiles\x20configured','\x20(active)','502612jUHvPy','config','\x1b[1m','push','\x20plugin(s)\x20configured','\x0a---\x20Skills\x20---','JpQRR','\x1b[0m','Root:\x20','KrCLW','JyfLl','auth.json','status','API\x20Token:\x20✗\x20Not\x20found','EZnmB','path','all','cached\x20(updated\x20','ptbIU','name','SJqxh','9392520ntragV','(not\x20found)','plugin','AgsBu','\x0a---\x20Claude\x20Code\x20Plugin\x20---','settingsPath','has','opencode','\x1b]8;;\x07','\x20\x20Run:\x20ranger\x20setup\x20[token]','opencode-plugin','vbTlp','431760EwZkvx','auth.json.enc','not_configured','join','sessionUpdatedAt','yuEjy','\x20\x20Run:\x20ranger\x20skillup','dIDgL',':\x20installed\x20(','126428rNhvjx','sDbPG','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','@ranger-testing/opencode-plugin','Version:\x20','version','Organization:\x20','string','enabled','LcUrd','length','data','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','utf-8','\x20[local]','match','oFRzQ','\x20\x20Not\x20installed','\x20profiles\x20configured\x20(','UyqtD','filter','trim','XFixV','log','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','includes','displayName','user','omrwP','313680Sidmrg','mbBWn','\x0a---\x20Profiles\x20---','zIBFF','toString','IPTqM','282238YpYvmt','hjBEI','API\x20Environment:\x20','plaintext','debug','oZKVZ','not_installed','none','hasEncryptedAuth','cwd','qoRfT','VJsMH','no\x20session','VweSN','\x20\x20Run:\x20ranger\x20setup\x20--opencode','error','map','\x20(latest:\x20','ocJeP','pipe','1759040TnSogf','3lWUWqe','\x1b]8;;file://','\x20\x20User-level:','details','cIEzj'];_0x5ba2=function(){return _0x1b086d;};return _0x5ba2();}import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x566a0a=>_0x118608(0x1e4)+_0x566a0a+_0x118608(0x1e9),link=(_0x2d9cd2,_0x556697)=>_0x118608(0x1dc)+_0x2d9cd2+'\x07'+(_0x556697||_0x2d9cd2)+_0x118608(0x196);async function getOpencodePluginStatus(){const _0xde4382=_0x118608,_0x4aed32={'UyqtD':function(_0x47c6c0,_0x3e00f8){return _0x47c6c0(_0x3e00f8);},'zIBFF':function(_0x34b62e,_0x91c9cb){return _0x34b62e!==_0x91c9cb;},'xUCNq':'configured','iYhRe':'not_configured','yQCOp':_0xde4382(0x1a6),'ptbIU':_0xde4382(0x198),'ikAqI':function(_0x1b594a,_0x49cae5,_0x3eaca4,_0x13e8bb){return _0x1b594a(_0x49cae5,_0x3eaca4,_0x13e8bb);},'ocJeP':'ignore','IPTqM':_0xde4382(0x1d9),'KjyPY':'close'};return new Promise(_0x11532e=>{const _0x17d1a5=_0xde4382,_0x1ccd62={'oFRzQ':function(_0x473095,_0x15fdeb){return _0x473095!==_0x15fdeb;},'wZHpq':_0x4aed32['yQCOp'],'cIEzj':_0x4aed32[_0x17d1a5(0x18b)]},_0x472c4d=_0x4aed32['ikAqI'](spawn,_0x17d1a5(0x195),[_0x17d1a5(0x1ca),_0x17d1a5(0x1e3)],{'stdio':[_0x4aed32[_0x17d1a5(0x1d8)],_0x4aed32['IPTqM'],_0x4aed32[_0x17d1a5(0x1c5)]]});let _0xb25d33='';_0x472c4d['stdout']?.['on']('data',_0x2992ad=>{const _0x4754bf=_0x17d1a5;_0xb25d33+=_0x2992ad[_0x4754bf(0x1c4)]();}),_0x472c4d['stderr']?.['on'](_0x17d1a5(0x1ae),_0x3c3d27=>{const _0x243019=_0x17d1a5;_0xb25d33+=_0x3c3d27[_0x243019(0x1c4)]();}),_0x472c4d['on'](_0x17d1a5(0x1d5),()=>{const _0x834e95=_0x17d1a5;_0x4aed32[_0x834e95(0x1b6)](_0x11532e,{'status':_0x834e95(0x1cc)});}),_0x472c4d['on'](_0x4aed32['KjyPY'],_0x5400b1=>{const _0x24bf16=_0x17d1a5;if(_0x4aed32[_0x24bf16(0x1c3)](_0x5400b1,0x0)){_0x11532e({'status':'not_installed'});return;}const _0x1a1b9f=_0xb25d33[_0x24bf16(0x1b8)]();let _0x1f5b58=null;if(_0x1a1b9f)try{_0x1f5b58=JSON['parse'](_0x1a1b9f);}catch{const _0x42bc48=_0x1a1b9f['match'](/\{[\s\S]*\}$/);if(_0x42bc48)try{_0x1f5b58=JSON['parse'](_0x42bc48[0x0]);}catch{_0x1f5b58=null;}}const _0x39d840=Array['isArray'](_0x1f5b58?.[_0x24bf16(0x190)])?_0x1f5b58?.[_0x24bf16(0x190)]:[],_0x3f600a=_0x39d840['some'](_0x2a5cf5=>{const _0x2416fb=_0x24bf16;if(_0x1ccd62[_0x2416fb(0x1b3)](typeof _0x2a5cf5,_0x2416fb(0x1aa)))return![];return _0x2a5cf5[_0x2416fb(0x1bc)](_0x1ccd62['wZHpq'])||_0x2a5cf5['includes'](_0x1ccd62[_0x2416fb(0x1df)]);});if(_0x3f600a){_0x11532e({'status':_0x4aed32['xUCNq'],'details':_0x39d840[_0x24bf16(0x1ad)]>0x0?_0x39d840['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x39d840[_0x24bf16(0x1ad)]>0x0){_0x11532e({'status':_0x24bf16(0x19c),'details':_0x39d840[_0x24bf16(0x1ad)]+_0x24bf16(0x1e6)});return;}_0x11532e({'status':_0x4aed32['iYhRe']});});});}async function getSkillsFromDir(_0xe253fc,_0x53b153){const _0x1281cd=_0x118608,_0x5bfb22={'SJqxh':function(_0x432d77,_0x236407,_0x3c4f8f){return _0x432d77(_0x236407,_0x3c4f8f);},'hfaCS':'SKILL.md','mbBWn':function(_0x2b8f43,_0x3ed109){return _0x2b8f43(_0x3ed109);}};if(!existsSync(_0xe253fc))return[];const _0x464e89=[];try{const _0x3ba262=await _0x5bfb22[_0x1281cd(0x18d)](readdir,_0xe253fc,{'withFileTypes':!![]});for(const _0x2e45b8 of _0x3ba262){if(_0x2e45b8['isDirectory']()){const _0x1541d2=join(_0xe253fc,_0x2e45b8[_0x1281cd(0x18c)],_0x5bfb22['hfaCS']);if(_0x5bfb22[_0x1281cd(0x1c1)](existsSync,_0x1541d2)){let _0x5bde38=_0x2e45b8[_0x1281cd(0x18c)];try{const _0x1c2b4d=await readFile(_0x1541d2,_0x1281cd(0x1b0)),_0x4a43ca=_0x1c2b4d[_0x1281cd(0x1b2)](/name:\s*(.+)/);_0x4a43ca&&(_0x5bde38=_0x4a43ca[0x1][_0x1281cd(0x1b8)]());}catch{}_0x464e89[_0x1281cd(0x1e5)]({'name':_0x2e45b8['name'],'displayName':_0x5bde38,'path':_0x1541d2,'level':_0x53b153});}}}}catch{return[];}return _0x464e89;}async function getInstalledSkills(){const _0x141051=_0x118608,_0x36b6bc={'DeLjv':function(_0x40f7a5,_0x437468,_0x2f671c){return _0x40f7a5(_0x437468,_0x2f671c);},'qoRfT':function(_0x2771bd){return _0x2771bd();},'othfY':function(_0x1cab0e){return _0x1cab0e();},'omrwP':'user'},[_0x68ec01,_0x2667bb]=await Promise[_0x141051(0x189)]([_0x36b6bc['DeLjv'](getSkillsFromDir,_0x36b6bc[_0x141051(0x1d0)](getProjectSkillsDir),'project'),_0x36b6bc['DeLjv'](getSkillsFromDir,_0x36b6bc['othfY'](getUserSkillsDir),_0x36b6bc[_0x141051(0x1bf)])]);return{'project':_0x68ec01,'user':_0x2667bb};}async function getEnvironments(){const _0x3337c6=_0x118608,_0xc49825={'vbTlp':function(_0x46e16a,_0x4c890d){return _0x46e16a(_0x4c890d);},'sDbPG':function(_0x161dcb,_0x21196,_0x5bfcec){return _0x161dcb(_0x21196,_0x5bfcec);},'vtPXt':_0x3337c6(0x18f),'PSZZA':function(_0x2a0f1f,_0x1b2b47){return _0x2a0f1f===_0x1b2b47;}},{envNames:_0x1eccee,activeEnv:_0x193b48}=await getEnvNames(),_0x4e5f87=getRangerDir();if(!existsSync(_0x4e5f87))return{'envs':[],'activeEnv':null};const _0x520792=_0x1eccee[_0x3337c6(0x1d6)](_0x802456=>{const _0x16f8b3=_0x3337c6,_0x372cc9=_0xc49825[_0x16f8b3(0x199)](getEnvDir,_0x802456),_0x56d82b=join(_0x372cc9,'settings.json'),_0x2908c1=_0xc49825[_0x16f8b3(0x1a4)](join,_0x372cc9,_0x16f8b3(0x1ed)),_0x10bb7f=join(_0x372cc9,_0x16f8b3(0x19b));return{'name':_0x802456,'settingsPath':_0xc49825['vbTlp'](existsSync,_0x56d82b)?_0x56d82b:_0xc49825['vtPXt'],'hasPlaintextAuth':_0xc49825['vbTlp'](existsSync,_0x2908c1),'hasEncryptedAuth':existsSync(_0x10bb7f),'isActive':_0xc49825['PSZZA'](_0x802456,_0x193b48)};});return{'envs':_0x520792,'activeEnv':_0x193b48};}export async function status(){const _0x24ba55=_0x118608,_0x316c85={'lYKri':'\x0a📊\x20Ranger\x20Status\x0a','KrXTM':function(_0x34c432,_0x147582){return _0x34c432(_0x147582);},'dIDgL':function(_0x1dfc94){return _0x1dfc94();},'jqIej':function(_0x587c31){return _0x587c31();},'EZnmB':function(_0x1199f2){return _0x1199f2();},'VJsMH':function(_0x349d49,_0xd2b251){return _0x349d49===_0xd2b251;},'LcUrd':'configured','yuEjy':function(_0x18d5a9,_0x47ade4){return _0x18d5a9(_0x47ade4);},'NkLvV':_0x24ba55(0x1a6),'AgsBu':'not_configured','eDgnw':_0x24ba55(0x192),'saEAM':'ranger@trailhead','DuRUr':_0x24ba55(0x1ab),'oZKVZ':'disabled','KrCLW':function(_0x5d2135,_0x546fb6){return _0x5d2135+_0x546fb6;},'JyfLl':'No\x20skills\x20installed','oucse':function(_0x11a81c,_0x3b96ed){return _0x11a81c>_0x3b96ed;},'JpQRR':function(_0xdb3f14,_0x449f98){return _0xdb3f14>_0x449f98;},'kmbVK':function(_0x29fc20,_0x49eda2){return _0x29fc20+_0x49eda2;},'XFixV':_0x24ba55(0x1e0),'VweSN':_0x24ba55(0x1c9),'xHswV':_0x24ba55(0x18f),'hjBEI':function(_0x248537,_0x13f6e5,_0x51314d){return _0x248537(_0x13f6e5,_0x51314d);}};console['log'](_0x316c85['lYKri']);const _0x4afc25=process[_0x24ba55(0x1cf)](),_0x5c4c19=getRangerDir();if(!_0x316c85['KrXTM'](existsSync,_0x5c4c19)){console['log'](_0x24ba55(0x1ea)+link(_0x4afc25,_0x316c85['KrXTM'](bold,basename(_0x4afc25)))),console[_0x24ba55(0x1ba)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x24ba55(0x1ba)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x24ba55(0x1ea)+link(_0x4afc25,bold(_0x316c85['KrXTM'](basename,_0x4afc25))));const _0x73cd81=_0x316c85[_0x24ba55(0x1a1)](getCurrentVersion),_0x89964a=getLatestVersion();if(_0x89964a[_0x24ba55(0x1a8)]&&_0x89964a['version']!==_0x73cd81)console[_0x24ba55(0x1ba)]('Version:\x20'+_0x73cd81+_0x24ba55(0x1d7)+_0x89964a[_0x24ba55(0x1a8)]+')'),console[_0x24ba55(0x1ba)]('\x20\x20Run:\x20ranger\x20update');else _0x89964a['version']?console[_0x24ba55(0x1ba)](_0x24ba55(0x1a7)+_0x73cd81+'\x20(up\x20to\x20date)'):console[_0x24ba55(0x1ba)](_0x24ba55(0x1a7)+_0x73cd81);const _0x13f897=await getToken();if(_0x13f897){const _0x1fba62=await getCurrentUser(_0x13f897);_0x1fba62['success']?console['log'](_0x24ba55(0x1a9)+_0x316c85['KrXTM'](bold,_0x1fba62[_0x24ba55(0x1be)]['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log'](_0x24ba55(0x186)),console['log'](_0x24ba55(0x197));process['env']['DEBUG']&&(console[_0x24ba55(0x1ba)](_0x24ba55(0x1c8)+_0x316c85['jqIej'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+_0x316c85[_0x24ba55(0x187)](getApiBaseUrl)));console['log']('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x55fb12=await _0x316c85[_0x24ba55(0x187)](getOpencodePluginStatus);if(_0x316c85[_0x24ba55(0x1d1)](_0x55fb12[_0x24ba55(0x1ee)],_0x316c85[_0x24ba55(0x1ac)]))console['log']('\x20\x20'+_0x316c85[_0x24ba55(0x19f)](bold,_0x316c85['NkLvV'])+':\x20configured'),_0x55fb12[_0x24ba55(0x1de)]&&console[_0x24ba55(0x1ba)]('\x20\x20'+_0x55fb12['details']);else _0x55fb12['status']===_0x316c85[_0x24ba55(0x191)]?(console[_0x24ba55(0x1ba)]('\x20\x20Not\x20configured'),_0x55fb12[_0x24ba55(0x1de)]&&console[_0x24ba55(0x1ba)]('\x20\x20'+_0x55fb12[_0x24ba55(0x1de)]),console['log'](_0x24ba55(0x1d4))):console['log'](_0x24ba55(0x1bb));console['log'](_0x316c85['eDgnw']);const _0x415862=await getPluginInfo(_0x316c85['saEAM']);if(_0x415862){const _0xdd349c=_0x415862['scope']||'unknown',_0x18b24a=_0x415862[_0x24ba55(0x1ab)]?_0x316c85['DuRUr']:_0x316c85[_0x24ba55(0x1cb)];console[_0x24ba55(0x1ba)]('\x20\x20'+bold(_0x316c85['saEAM'])+_0x24ba55(0x1a2)+_0xdd349c+',\x20'+_0x18b24a+')');}else console[_0x24ba55(0x1ba)](_0x24ba55(0x1b4)),console[_0x24ba55(0x1ba)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console[_0x24ba55(0x1ba)](_0x24ba55(0x1e7));const {project:_0x545289,user:_0x1d6dec}=await getInstalledSkills(),_0x27b91f=_0x545289['filter'](_0x53d8bf=>RANGER_MANAGED_SKILLS['includes'](_0x53d8bf['name'])),_0x706fee=_0x1d6dec['filter'](_0x45d167=>RANGER_MANAGED_SKILLS['includes'](_0x45d167['name'])),_0x35441e=_0x316c85[_0x24ba55(0x1eb)](_0x27b91f['length'],_0x706fee[_0x24ba55(0x1ad)]);if(_0x35441e===0x0)console['log'](_0x316c85[_0x24ba55(0x1ec)]),console[_0x24ba55(0x1ba)](_0x24ba55(0x1a0));else{if(_0x316c85['oucse'](_0x27b91f[_0x24ba55(0x1ad)],0x0)){console['log']('\x20\x20Project-level:');for(const _0x3f8ba9 of _0x27b91f){console['log']('\x20\x20\x20\x20'+_0x316c85['KrXTM'](bold,_0x3f8ba9[_0x24ba55(0x1bd)])+':\x20'+link(_0x3f8ba9['path'],basename(_0x3f8ba9[_0x24ba55(0x188)])));}}if(_0x316c85[_0x24ba55(0x1e8)](_0x706fee['length'],0x0)){console['log'](_0x24ba55(0x1dd));for(const _0x50feac of _0x706fee){console['log']('\x20\x20\x20\x20'+bold(_0x50feac[_0x24ba55(0x1bd)])+':\x20'+link(_0x50feac['path'],_0x316c85[_0x24ba55(0x19f)](basename,_0x50feac['path'])));}}}console['log'](_0x24ba55(0x1c2));const {envs:_0x114f92,activeEnv:_0x4f9d25}=await getEnvironments();let _0xe51241=[];if(_0x13f897)try{_0xe51241=await _0x316c85['jqIej'](listCloudProfiles);}catch{}const _0x9f923d=_0x316c85['kmbVK'](_0x114f92['length'],_0xe51241['length']);if(_0x9f923d===0x0)console['log'](_0x316c85[_0x24ba55(0x1b9)]),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x9f923d>0x5){const _0x51329e=[];_0xe51241[_0x24ba55(0x1ad)]>0x0&&_0x51329e['push'](_0xe51241['length']+'\x20cloud'),_0x114f92['length']>0x0&&_0x51329e['push'](_0x114f92[_0x24ba55(0x1ad)]+'\x20local'),console['log'](_0x9f923d+_0x24ba55(0x1b5)+_0x51329e[_0x24ba55(0x19d)](',\x20')+')'),_0x4f9d25&&console[_0x24ba55(0x1ba)]('\x20\x20Active:\x20'+bold(_0x4f9d25)),console['log'](_0x24ba55(0x1af));}else{for(const _0x2878ef of _0xe51241){const _0xab58c9=_0x316c85['VJsMH'](_0x2878ef['name'],_0x4f9d25)?'\x20(active)':'';console[_0x24ba55(0x1ba)]('\x20\x20'+_0x316c85['yuEjy'](bold,_0x2878ef['name'])+'\x20[cloud]'+_0xab58c9);const _0x33bb6f=_0x2878ef['sessionUpdatedAt']?_0x24ba55(0x18a)+_0x2878ef[_0x24ba55(0x19e)]+')':_0x24ba55(0x1d2);console['log']('\x20\x20\x20\x20Session:\x20'+_0x33bb6f);}const _0x9a2bb7=new Set(_0xe51241[_0x24ba55(0x1d6)](_0x2bb714=>_0x2bb714[_0x24ba55(0x18c)]));for(const _0x4ebd14 of _0x114f92){if(_0x9a2bb7['has'](_0x4ebd14[_0x24ba55(0x18c)]))continue;const _0x55f449=_0x4ebd14['isActive']?_0x24ba55(0x1e1):'',_0x3371d7=_0x4ebd14[_0x24ba55(0x1ce)]?'encrypted':_0x4ebd14['hasPlaintextAuth']?_0x316c85[_0x24ba55(0x1d3)]:_0x24ba55(0x1cd);console[_0x24ba55(0x1ba)]('\x20\x20'+_0x316c85['yuEjy'](bold,_0x4ebd14['name'])+_0x24ba55(0x1b1)+_0x55f449),console[_0x24ba55(0x1ba)]('\x20\x20\x20\x20Auth:\x20'+_0x3371d7),_0x4ebd14[_0x24ba55(0x193)]!==_0x316c85['xHswV']&&console[_0x24ba55(0x1ba)]('\x20\x20\x20\x20Settings:\x20'+_0x316c85[_0x24ba55(0x1c7)](link,_0x4ebd14[_0x24ba55(0x193)],_0x316c85['KrXTM'](basename,_0x4ebd14['settingsPath'])));}if(!_0x4f9d25){console[_0x24ba55(0x1ba)]('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x326cf1=[..._0xe51241[_0x24ba55(0x1d6)](_0x3e8f9d=>_0x3e8f9d['name']),..._0x114f92[_0x24ba55(0x1b7)](_0x5797af=>!_0x9a2bb7[_0x24ba55(0x194)](_0x5797af['name']))['map'](_0x80538=>_0x80538[_0x24ba55(0x18c)])];console[_0x24ba55(0x1ba)](_0x24ba55(0x1a5)+_0x326cf1[_0x24ba55(0x19d)](',\x20')+')');}}}console[_0x24ba55(0x1ba)]('');}