@ranger-testing/ranger-cli 3.1.6-alpha.cbf7608-55 → 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 +6 -18
@@ -1 +1 @@
1
- (function(_0x5aa521,_0x406223){const _0x598f9b=_0x1b78,_0x568d80=_0x5aa521();while(!![]){try{const _0xa445b4=parseInt(_0x598f9b(0xcf))/0x1*(-parseInt(_0x598f9b(0xde))/0x2)+parseInt(_0x598f9b(0xd4))/0x3+-parseInt(_0x598f9b(0xd3))/0x4+-parseInt(_0x598f9b(0xd9))/0x5*(parseInt(_0x598f9b(0xdd))/0x6)+-parseInt(_0x598f9b(0xd0))/0x7*(-parseInt(_0x598f9b(0xdf))/0x8)+-parseInt(_0x598f9b(0xce))/0x9+parseInt(_0x598f9b(0xd7))/0xa;if(_0xa445b4===_0x406223)break;else _0x568d80['push'](_0x568d80['shift']());}catch(_0x348e36){_0x568d80['push'](_0x568d80['shift']());}}}(_0x5313,0x5c81e));function _0x1b78(_0x254af4,_0x353d53){_0x254af4=_0x254af4-0xce;const _0x5313ec=_0x5313();let _0x1b7892=_0x5313ec[_0x254af4];return _0x1b7892;}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 _0x517bca=_0x1b78,_0x19edf8={'gfxMr':_0x517bca(0xd6),'Vwgir':function(_0x2ccdb2,_0x137530){return _0x2ccdb2(_0x137530);}},_0x18064c=await getMcpAuthOrigin();if(_0x18064c){console[_0x517bca(0xd2)](_0x19edf8[_0x517bca(0xd1)]),await mcpBootstrap();return;}if(!isInteractive())throw new Error(_0x517bca(0xd8));try{const _0x6c5a3f=await runDeviceAuthFlow(),_0x526943=await _0x19edf8['Vwgir'](getCurrentUser,_0x6c5a3f);_0x526943['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x526943[_0x517bca(0xda)]['organizationName']):console[_0x517bca(0xd2)](_0x517bca(0xd5));}catch(_0x554f33){throw new Error(_0x517bca(0xdb)+(_0x554f33 instanceof Error?_0x554f33[_0x517bca(0xdc)]:_0x554f33));}}function _0x5313(){const _0x568075=['6695PQWJnF','user','Login\x20failed:\x20','message','456zQazuX','2rDeeLr','117016tNUswk','1548108fqXdSr','657774Sbchnz','7nDrRWg','gfxMr','log','2340764uzXfsf','1271865mLWsHJ','\x0a✅\x20API\x20key\x20stored\x20successfully','Re-authenticating\x20via\x20MCP\x20bootstrap...','14570690sIiufv','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.'];_0x5313=function(){return _0x568075;};return _0x5313();}
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 _0x207f1f=_0x375a;(function(_0x2dc042,_0x3b902a){const _0x22e9e1=_0x375a,_0x20cdbc=_0x2dc042();while(!![]){try{const _0x2276c7=parseInt(_0x22e9e1(0x1c1))/0x1*(parseInt(_0x22e9e1(0x1b0))/0x2)+-parseInt(_0x22e9e1(0x1e7))/0x3+-parseInt(_0x22e9e1(0x210))/0x4*(-parseInt(_0x22e9e1(0x1b6))/0x5)+-parseInt(_0x22e9e1(0x1e1))/0x6*(parseInt(_0x22e9e1(0x1fb))/0x7)+parseInt(_0x22e9e1(0x213))/0x8*(parseInt(_0x22e9e1(0x1f1))/0x9)+-parseInt(_0x22e9e1(0x1ca))/0xa+parseInt(_0x22e9e1(0x198))/0xb;if(_0x2276c7===_0x3b902a)break;else _0x20cdbc['push'](_0x20cdbc['shift']());}catch(_0x45c8a3){_0x20cdbc['push'](_0x20cdbc['shift']());}}}(_0x24bb,0x5b026));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',_0x207f1f(0x1f2)),AUTH_ORIGIN_PATH=join(homedir(),_0x207f1f(0x19a),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x198c10=_0x207f1f,_0x2b9c25={'XJLJt':function(_0x1e1efe,_0x1d44e8){return _0x1e1efe||_0x1d44e8;}};try{const _0x330c83=(await readFile(AUTH_ORIGIN_PATH,_0x198c10(0x19c)))['trim']();return _0x2b9c25['XJLJt'](_0x330c83,null);}catch{return null;}}export async function mcpBootstrap(){const _0x40eca7=_0x207f1f,_0x1659c9={'IwIgq':function(_0x514408,_0x478d9a){return _0x514408(_0x478d9a);},'Xhcao':function(_0x2f445d){return _0x2f445d();},'weOFu':function(_0x1652af,_0x4efad1){return _0x1652af+_0x4efad1;},'oYKvU':function(_0x1c258d,_0x564d7f){return _0x1c258d(_0x564d7f);},'NLorL':function(_0x4e88b1,_0x4068f,_0x162779){return _0x4e88b1(_0x4068f,_0x162779);}},_0x2df4c9=getMcpAuthUrl();currentOrigin=_0x2df4c9;const _0x59bf80=process['stdout'][_0x40eca7(0x1d5)]??![];console[_0x40eca7(0x1e9)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x2df4c9+'\x0a');const _0x350f45=await _0x1659c9[_0x40eca7(0x1c0)](tryUnauthenticated,_0x2df4c9);let _0x363d21=null;if(_0x350f45===_0x40eca7(0x1e0))_0x363d21='';else{_0x363d21=await _0x1659c9[_0x40eca7(0x1a4)](loadCachedToken);if(!_0x363d21){if(!_0x59bf80)throw new Error(_0x1659c9['weOFu']('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a',_0x40eca7(0x199)));_0x363d21=await _0x1659c9['oYKvU'](oauthFlow,_0x2df4c9);}}await _0x1659c9['NLorL'](callGetCliToken,_0x2df4c9,_0x363d21);}async function tryUnauthenticated(_0x512204){const _0x1e3377=_0x207f1f,_0x1175ef={'horsa':'application/json','vpIQB':'application/json,\x20text/event-stream','FtdKa':'initialize','aVDVn':_0x1e3377(0x1c6),'iVwQj':'ranger-cli','fTKDW':'1.0.0','sWKKv':_0x1e3377(0x1d4)},_0x552851=await fetch(_0x512204,{'method':_0x1e3377(0x204),'headers':{'Content-Type':_0x1175ef['horsa'],'Accept':_0x1175ef['vpIQB']},'body':JSON[_0x1e3377(0x1be)]({'jsonrpc':'2.0','id':0x1,'method':_0x1175ef[_0x1e3377(0x1d3)],'params':{'protocolVersion':_0x1175ef[_0x1e3377(0x1d7)],'capabilities':{},'clientInfo':{'name':_0x1175ef['iVwQj'],'version':_0x1175ef[_0x1e3377(0x1a5)]}}})});if(_0x552851['ok'])return await _0x552851['text'](),'proxied';if(_0x552851[_0x1e3377(0x1f8)]===0x191)return await _0x552851['text'](),_0x1175ef['sWKKv'];const _0x3d5b7e=await _0x552851[_0x1e3377(0x191)]();throw new Error(_0x1e3377(0x1d1)+_0x552851['status']+':\x20'+_0x3d5b7e);}function _0x375a(_0x3094e2,_0x17c70f){_0x3094e2=_0x3094e2-0x18e;const _0x24bbfb=_0x24bb();let _0x375ad1=_0x24bbfb[_0x3094e2];return _0x375ad1;}class OAuthTimeoutError extends Error{constructor(_0x4f1485){const _0x51b91b=_0x207f1f,_0x4968b7={'zTdfc':'OAuthTimeoutError'};super(_0x4f1485),this['name']=_0x4968b7[_0x51b91b(0x1f5)];}}function _0x24bb(){const _0x336615=['get_cli_token','QRTmL','resource','S256','\x0aOpening\x20browser\x20for\x20authentication...','MCP\x20initialize\x20failed:\x20','pathname','POST','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','none','auth-origin.txt','WZbMa','clientId','state','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','sFLjd','get_cli_token\x20failed:\x20','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','headers','11636VyMMCZ','SIFaP','DXFVj','3820952sZMQEb','darwin','base64url','GkYWA','IvNiT','2.0','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','includes','ejcuX','LNrPV','RoVHR','\x0aToken\x20written\x20to\x20','close','content-type','parse','Unknown\x20error','mBFbA','text','initialize','code','oWNGY','Discovering\x20authorization\x20server...','MYKbw','VxFwE','3404335zaHukn','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','.ranger','toString','utf-8','rTGNP','NPTTC','update','searchParams','fGFYE','data:','qfluA','Xhcao','fTKDW','aNWVd','application/json,\x20text/event-stream','content','OAuth\x20error:\x20','stdout','refreshToken','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','\x20done','now','writeHead','2YAgxbB','Initializing\x20MCP\x20session...','error','token','http://localhost:','string','155suSfcE','isError','WuGQL','get','qwYXl','cpHuA','wHbkL','rzXIk','stringify','tYaaR','IwIgq','548957wxBhfm','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','uHTDg','client_id','json','2025-03-26','sICVi','set','authorization_endpoint','349670ejYIcN','peqwi','hvaHT','/callback','message','WWwio','write','MCP\x20server\x20returned\x20HTTP\x20','vgUiG','FtdKa','needs-oauth','isTTY','prYuB','aVDVn','<html><body><h2>Authentication\x20failed</h2><p>','dONqR','DZsAx','application/json','Jxcgq','clientSecret','code_challenge_method','1.0.0','proxied','126AcAXae','end','xdg-open','length','Token\x20exchange\x20failed:\x20','text/event-stream','1022361OGGKZY','trim','log','127.0.0.1','refresh.txt','grtII','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','platform','Exchanging\x20authorization\x20code...','WmIyZ','9mbrjuF','mcp-oauth-tokens.json','Jptdh','IgOAt','zTdfc','url','Ndwgt','status','split','refresh_token','225904UqwpkE','Server\x20returned\x20error:\x20'];_0x24bb=function(){return _0x336615;};return _0x24bb();}async function oauthFlow(_0x7d273d){const _0x25cfd7=_0x207f1f,_0x4b5488={'qfluA':function(_0x43fd87,_0x5c1ad1){return _0x43fd87(_0x5c1ad1);},'ahVEo':function(_0x5de7c1,_0x81f253){return _0x5de7c1 instanceof _0x81f253;},'yujxT':function(_0x494d7f){return _0x494d7f();}};try{return await _0x4b5488[_0x25cfd7(0x1a3)](oauthFlowAttempt,_0x7d273d);}catch(_0x5b5640){if(_0x4b5488['ahVEo'](_0x5b5640,OAuthTimeoutError)&&await _0x4b5488['yujxT'](loadCachedClient))return console['log'](_0x25cfd7(0x20e)),await clearCachedClient(),await oauthFlowAttempt(_0x7d273d);throw _0x5b5640;}}async function oauthFlowAttempt(_0x2d68c8){const _0xbb140f=_0x207f1f,_0x550f51={'KhSXk':_0xbb140f(0x195),'bIIeE':function(_0x2e3f86,_0x5b85e3,_0x58e18d){return _0x2e3f86(_0x5b85e3,_0x58e18d);},'sICVi':_0xbb140f(0x204),'fZnEh':'application/json','grtII':'Ranger\x20CLI','IVNea':_0xbb140f(0x1fa),'uHTDg':_0xbb140f(0x206),'IgOAt':_0xbb140f(0x219),'WZbMa':function(_0x27583d,_0x49c0c1){return _0x27583d(_0x49c0c1);},'GocLR':'sha256','nMmyu':'hex','lyaNI':'code_challenge','wHbkL':_0xbb140f(0x1de),'yUvJd':_0xbb140f(0x20a),'Ndwgt':'resource','LNrPV':_0xbb140f(0x201),'NTDhV':function(_0x58e0db,_0x3bf440){return _0x58e0db(_0x3bf440);},'qwYXl':_0xbb140f(0x1ad)},_0x51399a=_0x2d68c8['replace'](/\/mcp$/,'');process[_0xbb140f(0x1aa)]['write'](_0x550f51['KhSXk']);const _0x40c025=await fetch(_0x51399a+'/.well-known/oauth-protected-resource');if(!_0x40c025['ok'])throw new Error(_0xbb140f(0x1c2));const _0x591458=await _0x40c025[_0xbb140f(0x1c5)](),_0x17b786=_0x591458['authorization_servers']?.[0x0];if(!_0x17b786)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0xbb140f(0x1e9)]('\x20'+_0x17b786);const _0x22835c=await fetchAuthServerMetadata(_0x17b786);let _0x5e649f,_0x42f315;const _0x50d369=await loadCachedClient();if(_0x50d369)_0x5e649f=_0x50d369['clientId'],_0x42f315=_0x50d369[_0xbb140f(0x1dd)];else{if(_0x22835c['registration_endpoint']){process[_0xbb140f(0x1aa)]['write']('Registering\x20OAuth\x20client...');const _0x5d9450=await _0x550f51['bIIeE'](fetch,_0x22835c['registration_endpoint'],{'method':_0x550f51[_0xbb140f(0x1c7)],'headers':{'Content-Type':_0x550f51['fZnEh']},'body':JSON['stringify']({'client_name':_0x550f51[_0xbb140f(0x1ec)],'redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':['authorization_code',_0x550f51['IVNea']],'response_types':[_0xbb140f(0x193)],'token_endpoint_auth_method':_0x550f51[_0xbb140f(0x1c3)]})});if(!_0x5d9450['ok']){const _0x4f9d03=await _0x5d9450['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x4f9d03);}const _0x75e0dd=await _0x5d9450[_0xbb140f(0x1c5)]();_0x5e649f=_0x75e0dd[_0xbb140f(0x1c4)],_0x42f315=_0x75e0dd['client_secret'],await saveCachedClient(_0x5e649f,_0x42f315),console[_0xbb140f(0x1e9)](_0xbb140f(0x1ad));}else throw new Error(_0x550f51[_0xbb140f(0x1f4)]);}const _0x1484f2=randomBytes(0x20)[_0xbb140f(0x19b)]('base64url'),_0x432b30=_0x550f51[_0xbb140f(0x208)](createHash,_0x550f51['GocLR'])[_0xbb140f(0x19f)](_0x1484f2)['digest'](_0xbb140f(0x215)),_0x3780ad=_0x550f51['WZbMa'](randomBytes,0x10)['toString'](_0x550f51['nMmyu']),_0x379b55=new URL(_0x22835c[_0xbb140f(0x1c9)]);_0x379b55['searchParams'][_0xbb140f(0x1c8)]('response_type','code'),_0x379b55[_0xbb140f(0x1a0)][_0xbb140f(0x1c8)](_0xbb140f(0x1c4),_0x5e649f),_0x379b55[_0xbb140f(0x1a0)][_0xbb140f(0x1c8)]('redirect_uri','http://localhost:'+CALLBACK_PORT+_0xbb140f(0x1cd)),_0x379b55['searchParams']['set'](_0x550f51['lyaNI'],_0x432b30),_0x379b55['searchParams'][_0xbb140f(0x1c8)](_0x550f51[_0xbb140f(0x1bc)],_0xbb140f(0x200)),_0x379b55[_0xbb140f(0x1a0)][_0xbb140f(0x1c8)](_0x550f51['yUvJd'],_0x3780ad);_0x591458['resource']&&_0x379b55['searchParams'][_0xbb140f(0x1c8)](_0x550f51[_0xbb140f(0x1f7)],_0x591458['resource']);console[_0xbb140f(0x1e9)](_0x550f51[_0xbb140f(0x21c)]),console['log'](_0xbb140f(0x1ed)+_0x379b55[_0xbb140f(0x19b)]()+'\x0a'),await openBrowser(_0x379b55['toString']());const _0x34f441=await _0x550f51['NTDhV'](waitForCallback,_0x3780ad);process['stdout']['write'](_0xbb140f(0x1ef));const _0x100634=new URLSearchParams({'grant_type':'authorization_code','code':_0x34f441,'redirect_uri':_0xbb140f(0x1b4)+CALLBACK_PORT+'/callback','client_id':_0x5e649f,'code_verifier':_0x1484f2});_0x42f315&&_0x100634['set']('client_secret',_0x42f315);_0x591458[_0xbb140f(0x1ff)]&&_0x100634['set'](_0xbb140f(0x1ff),_0x591458['resource']);const _0x261d6d=await _0x550f51['bIIeE'](fetch,_0x22835c['token_endpoint'],{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x100634});if(!_0x261d6d['ok']){const _0x2d5de9=await _0x261d6d[_0xbb140f(0x191)]();throw new Error(_0xbb140f(0x1e5)+_0x2d5de9);}const _0x45f431=await _0x261d6d[_0xbb140f(0x1c5)]();return console[_0xbb140f(0x1e9)](_0x550f51[_0xbb140f(0x1ba)]),await saveCachedToken(_0x45f431['access_token'],_0x45f431[_0xbb140f(0x1fa)],_0x45f431['expires_in']),_0x45f431['access_token'];}async function callGetCliToken(_0x55ed6e,_0x5efad2){const _0x354a37=_0x207f1f,_0x4eb835={'UwEVW':_0x354a37(0x1db),'Jxcgq':_0x354a37(0x1b1),'oWNGY':function(_0x1637dc,_0x4b9441){return _0x1637dc(_0x4b9441);},'ejcuX':'2.0','ZBloz':'2025-03-26','dqqxa':'ranger-cli','RWFVd':_0x354a37(0x1df),'ldvWJ':'\x20done','tYaaR':function(_0x3cf02f,_0x30bbe7,_0x4afed7){return _0x3cf02f(_0x30bbe7,_0x4afed7);},'hvaHT':_0x354a37(0x204),'Htczt':'notifications/initialized','prYuB':'Requesting\x20CLI\x20token...','VxFwE':function(_0x28065e,_0x90c385){return _0x28065e(_0x90c385);},'qUkWg':_0x354a37(0x1fd),'DZsAx':'\x0aUnexpected\x20response\x20structure:','mBFbA':_0x354a37(0x1ac),'WWwio':function(_0x425632){return _0x425632();},'yNPIY':'.ranger','rzXIk':_0x354a37(0x1eb),'DGiWJ':function(_0x24448c,_0x5d3349,_0x3edf55,_0x92dcc5){return _0x24448c(_0x5d3349,_0x3edf55,_0x92dcc5);},'QHEOn':function(_0x2598bf,_0x425651,_0x248a6b){return _0x2598bf(_0x425651,_0x248a6b);},'nEhym':_0x354a37(0x207),'MYKbw':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x286dba={'Content-Type':_0x4eb835['UwEVW'],'Accept':_0x354a37(0x1a7)};_0x5efad2&&(_0x286dba['Authorization']='Bearer\x20'+_0x5efad2);const _0x2ac9f2=async _0x49e075=>{const _0x5a62f2=_0x354a37,_0x3a23eb=await fetch(_0x55ed6e,{'method':'POST','headers':_0x286dba,'body':JSON['stringify'](_0x49e075)});if(!_0x3a23eb['ok']){const _0x2bab8c=await _0x3a23eb['text']();throw new Error('HTTP\x20'+_0x3a23eb[_0x5a62f2(0x1f8)]+':\x20'+_0x2bab8c);}return parseResponse(_0x3a23eb);};process['stdout'][_0x354a37(0x1d0)](_0x4eb835[_0x354a37(0x1dc)]);const _0x1037de=await _0x4eb835[_0x354a37(0x194)](_0x2ac9f2,{'jsonrpc':_0x4eb835['ejcuX'],'id':0x1,'method':_0x354a37(0x192),'params':{'protocolVersion':_0x4eb835['ZBloz'],'capabilities':{},'clientInfo':{'name':_0x4eb835['dqqxa'],'version':_0x4eb835['RWFVd']}}});if(_0x1037de['error'])throw new Error(_0x354a37(0x202)+(_0x1037de[_0x354a37(0x1b2)][_0x354a37(0x1ce)]??JSON['stringify'](_0x1037de['error'])));console[_0x354a37(0x1e9)](_0x4eb835['ldvWJ']),await _0x4eb835[_0x354a37(0x1bf)](fetch,_0x55ed6e,{'method':_0x4eb835[_0x354a37(0x1cc)],'headers':_0x286dba,'body':JSON[_0x354a37(0x1be)]({'jsonrpc':_0x4eb835[_0x354a37(0x21b)],'method':_0x4eb835['Htczt']})})['then'](_0x553e9a=>_0x553e9a[_0x354a37(0x191)]()),process[_0x354a37(0x1aa)][_0x354a37(0x1d0)](_0x4eb835[_0x354a37(0x1d6)]);const _0x1f2fe0=await _0x4eb835[_0x354a37(0x197)](_0x2ac9f2,{'jsonrpc':_0x354a37(0x218),'id':0x2,'method':'tools/call','params':{'name':_0x4eb835['qUkWg'],'arguments':{}}});if(_0x1f2fe0[_0x354a37(0x1b2)])throw new Error(_0x354a37(0x20d)+(_0x1f2fe0['error']['message']??JSON[_0x354a37(0x1be)](_0x1f2fe0['error'])));console[_0x354a37(0x1e9)]('\x20done');const _0x3515c7=_0x4eb835['oWNGY'](extractToken,_0x1f2fe0['result']);if(!_0x3515c7){console['error'](_0x4eb835[_0x354a37(0x1da)]),console['error'](JSON[_0x354a37(0x1be)](_0x1f2fe0['result'],null,0x2));throw new Error(_0x4eb835[_0x354a37(0x190)]);}const _0x38f9c7=_0x4eb835['tYaaR'](join,_0x4eb835[_0x354a37(0x1cf)](homedir),_0x4eb835['yNPIY']),_0x46e740=_0x4eb835['tYaaR'](join,_0x38f9c7,_0x4eb835[_0x354a37(0x1bd)]);await _0x4eb835['tYaaR'](mkdir,_0x38f9c7,{'recursive':!![]}),await _0x4eb835['DGiWJ'](writeFile,_0x46e740,_0x3515c7,{'mode':0x180}),await writeFile(_0x4eb835['QHEOn'](join,_0x38f9c7,_0x4eb835['nEhym']),_0x55ed6e,{'mode':0x180}),console[_0x354a37(0x1e9)](_0x354a37(0x21e)+_0x46e740),console[_0x354a37(0x1e9)](_0x4eb835[_0x354a37(0x196)]);}async function fetchAuthServerMetadata(_0x31a10d){const _0x2f3aab=_0x31a10d+'/.well-known/oauth-authorization-server',_0x5d6fb7=await fetch(_0x2f3aab);if(!_0x5d6fb7['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x2f3aab+':\x20'+_0x5d6fb7['status']);return _0x5d6fb7['json']();}function waitForCallback(_0x11dca4){const _0x5041c7={'IeFtK':function(_0x103ebf){return _0x103ebf();},'WuGQL':function(_0x3ef00b,_0x4ee61d){return _0x3ef00b(_0x4ee61d);},'cpHuA':'text/html','KCLCg':function(_0x2e3b45,_0x5840a3){return _0x2e3b45!==_0x5840a3;}};return new Promise((_0x14dc3f,_0x2a41a2)=>{const _0x5c126f=_0x375a,_0x548982=()=>{const _0xb24a34=_0x375a;_0xbe600b['closeAllConnections'](),_0xbe600b[_0xb24a34(0x21f)]();},_0x591de7=setTimeout(()=>{const _0x54ad53=_0x375a;_0x5041c7['IeFtK'](_0x548982),_0x5041c7['WuGQL'](_0x2a41a2,new OAuthTimeoutError(_0x54ad53(0x20b)));},0x1d4c0),_0xbe600b=createServer((_0x48c381,_0x172e87)=>{const _0x5928dc=_0x375a,_0xb34b4b=new URL(_0x48c381[_0x5928dc(0x1f6)]??'/','http://localhost:'+CALLBACK_PORT);if(_0xb34b4b[_0x5928dc(0x203)]!==_0x5928dc(0x1cd)){_0x172e87[_0x5928dc(0x1af)](0x194),_0x172e87[_0x5928dc(0x1e2)]('Not\x20found');return;}const _0x21f812=_0xb34b4b['searchParams'][_0x5928dc(0x1b9)]('code'),_0x26399c=_0xb34b4b[_0x5928dc(0x1a0)][_0x5928dc(0x1b9)]('state'),_0xc21a08=_0xb34b4b['searchParams'][_0x5928dc(0x1b9)](_0x5928dc(0x1b2));if(_0xc21a08){const _0x293923=_0xb34b4b['searchParams'][_0x5928dc(0x1b9)]('error_description')??_0xc21a08;_0x172e87['writeHead'](0xc8,{'Content-Type':_0x5041c7[_0x5928dc(0x1bb)]}),_0x172e87['end'](_0x5928dc(0x1d8)+_0x293923+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x5041c7['WuGQL'](clearTimeout,_0x591de7),_0x5041c7['IeFtK'](_0x548982),_0x2a41a2(new Error(_0x5928dc(0x1a9)+_0x293923));return;}if(!_0x21f812||_0x5041c7['KCLCg'](_0x26399c,_0x11dca4)){_0x172e87['writeHead'](0x190,{'Content-Type':'text/html'}),_0x172e87[_0x5928dc(0x1e2)](_0x5928dc(0x205));return;}_0x172e87[_0x5928dc(0x1af)](0xc8,{'Content-Type':'text/html'}),_0x172e87['end']('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),_0x5041c7[_0x5928dc(0x1b8)](clearTimeout,_0x591de7),_0x548982(),_0x14dc3f(_0x21f812);});_0xbe600b['listen'](CALLBACK_PORT,_0x5c126f(0x1ea));});}async function openBrowser(_0x2c756a){const _0x1163e5=_0x207f1f,_0x39d406={'Jptdh':function(_0x3db972,_0x2e4a26){return _0x3db972===_0x2e4a26;},'IvNiT':_0x1163e5(0x214),'cvGgY':'open','sFLjd':'win32','peqwi':function(_0x431716,_0x1288ac){return _0x431716(_0x1288ac);}},_0x35064f=_0x39d406[_0x1163e5(0x1f3)](process[_0x1163e5(0x1ee)],_0x39d406[_0x1163e5(0x217)])?_0x39d406['cvGgY']:process['platform']===_0x39d406[_0x1163e5(0x20c)]?'start':_0x1163e5(0x1e3);_0x39d406[_0x1163e5(0x1cb)](exec,_0x35064f+'\x20\x22'+_0x2c756a+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x3b46e1=_0x207f1f,_0x16bf3b={'fGFYE':_0x3b46e1(0x19c),'zBGKS':function(_0x96b666,_0x12c609){return _0x96b666!==_0x12c609;}};try{const _0x24d8a1=JSON[_0x3b46e1(0x18e)](await readFile(TOKEN_CACHE_PATH,_0x16bf3b[_0x3b46e1(0x1a1)]));if(_0x24d8a1['origin']&&_0x16bf3b['zBGKS'](_0x24d8a1['origin'],currentOrigin))return null;if(_0x24d8a1['expiresAt']&&Date[_0x3b46e1(0x1ae)]()>_0x24d8a1['expiresAt'])return null;return _0x24d8a1['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x64710a,_0x229fb5,_0x9ee55d){const _0x389af9=_0x207f1f,_0x349fbe={'QxvsV':function(_0x16ee80){return _0x16ee80();},'NPTTC':function(_0x3824a9,_0x4bc5b3){return _0x3824a9+_0x4bc5b3;},'GkYWA':function(_0x2ee375,_0x388457,_0x4445bf){return _0x2ee375(_0x388457,_0x4445bf);},'IAiAD':function(_0xb6e010){return _0xb6e010();},'DXFVj':function(_0x1e4019,_0x48aeee,_0x28fe9b,_0x122588){return _0x1e4019(_0x48aeee,_0x28fe9b,_0x122588);}},_0x396aa2=await _0x349fbe['QxvsV'](loadCachedData),_0x186dcd={..._0x396aa2,'origin':currentOrigin,'accessToken':_0x64710a,'refreshToken':_0x229fb5??_0x396aa2?.[_0x389af9(0x1ab)],'expiresAt':_0x9ee55d?_0x349fbe[_0x389af9(0x19e)](Date[_0x389af9(0x1ae)](),_0x9ee55d*0x3e8):undefined};await _0x349fbe[_0x389af9(0x216)](mkdir,join(_0x349fbe['IAiAD'](homedir),'.ranger'),{'recursive':!![]}),await _0x349fbe[_0x389af9(0x212)](writeFile,TOKEN_CACHE_PATH,JSON[_0x389af9(0x1be)](_0x186dcd),{'mode':0x180});}async function loadCachedClient(){const _0x350b8a=_0x207f1f,_0x119408={'yCani':function(_0x1f210c,_0x5a0dba){return _0x1f210c!==_0x5a0dba;}},_0x4e5ce1=await loadCachedData();if(_0x4e5ce1?.['origin']&&_0x119408['yCani'](_0x4e5ce1['origin'],currentOrigin))return null;return _0x4e5ce1?.[_0x350b8a(0x209)]?{'clientId':_0x4e5ce1[_0x350b8a(0x209)],'clientSecret':_0x4e5ce1['clientSecret']}:null;}async function clearCachedClient(){const _0x3282e7=_0x207f1f,_0x746d12={'WmIyZ':function(_0x32d657,_0x2dd4d3,_0x31be0c,_0xb0b45c){return _0x32d657(_0x2dd4d3,_0x31be0c,_0xb0b45c);}},_0xbd8247=await loadCachedData();if(!_0xbd8247)return;const {clientId:_0x11df10,clientSecret:_0x2ceabb,..._0x16cebe}=_0xbd8247;await _0x746d12[_0x3282e7(0x1f0)](writeFile,TOKEN_CACHE_PATH,JSON[_0x3282e7(0x1be)](_0x16cebe),{'mode':0x180});}async function saveCachedClient(_0x1f2c24,_0x516ac5){const _0x14d96d=_0x207f1f,_0x55a32f={'aNWVd':'.ranger'},_0x4cdf75=await loadCachedData(),_0x4f2554={..._0x4cdf75,'origin':currentOrigin,'accessToken':_0x4cdf75?.['accessToken']??'','clientId':_0x1f2c24,'clientSecret':_0x516ac5};await mkdir(join(homedir(),_0x55a32f[_0x14d96d(0x1a6)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x14d96d(0x1be)](_0x4f2554),{'mode':0x180});}async function loadCachedData(){try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));}catch{return null;}}async function parseResponse(_0x1b1b49){const _0x495c98=_0x207f1f,_0x588cb8={'mpREq':_0x495c98(0x220),'vgUiG':_0x495c98(0x1a2),'rTGNP':function(_0x32277b,_0x393eea){return _0x32277b!==_0x393eea;},'SIFaP':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x11b442=_0x1b1b49[_0x495c98(0x20f)]['get'](_0x588cb8['mpREq'])??'';if(_0x11b442[_0x495c98(0x21a)](_0x495c98(0x1e6))){const _0x3a413e=await _0x1b1b49[_0x495c98(0x191)]();for(const _0x115c2e of _0x3a413e[_0x495c98(0x1f9)]('\x0a')){const _0x12a989=_0x115c2e['trim']();if(_0x12a989['startsWith'](_0x588cb8[_0x495c98(0x1d2)])){const _0x413199=_0x12a989['slice'](_0x495c98(0x1a2)[_0x495c98(0x1e4)])[_0x495c98(0x1e8)]();if(!_0x413199)continue;try{const _0x5293b0=JSON[_0x495c98(0x18e)](_0x413199);if(_0x588cb8[_0x495c98(0x19d)](_0x5293b0['id'],undefined)||_0x5293b0['error'])return _0x5293b0;}catch{}}}throw new Error(_0x588cb8[_0x495c98(0x211)]);}return _0x1b1b49[_0x495c98(0x1c5)]();}function extractToken(_0x459d29){const _0x2545b3=_0x207f1f,_0x17c6cb={'dONqR':function(_0x275704,_0x5b3a93){return _0x275704===_0x5b3a93;},'QRTmL':'text','RoVHR':function(_0x1c1156,_0x36b507){return _0x1c1156===_0x36b507;}};if(!_0x459d29)return null;const _0x57bb28=_0x459d29['structuredContent'];if(_0x57bb28?.[_0x2545b3(0x1b3)]&&_0x17c6cb[_0x2545b3(0x1d9)](typeof _0x57bb28[_0x2545b3(0x1b3)],_0x2545b3(0x1b5)))return _0x57bb28[_0x2545b3(0x1b3)];if(_0x459d29[_0x2545b3(0x1b7)]){const _0x1e50c5=_0x459d29[_0x2545b3(0x1a8)];throw new Error(_0x2545b3(0x1fc)+(_0x1e50c5?.[0x0]?.['text']??_0x2545b3(0x18f)));}const _0x5cd4a4=_0x459d29[_0x2545b3(0x1a8)];if(_0x5cd4a4)for(const _0x6f23f2 of _0x5cd4a4){if(_0x6f23f2['type']===_0x17c6cb[_0x2545b3(0x1fe)]&&_0x6f23f2[_0x2545b3(0x191)]){try{const _0x4a3ebe=JSON['parse'](_0x6f23f2['text']);if(_0x17c6cb[_0x2545b3(0x21d)](typeof _0x4a3ebe?.['token'],'string'))return _0x4a3ebe['token'];}catch{}const _0x538c97=_0x6f23f2['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x538c97)return _0x538c97[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 _0x4331(_0x2b731c,_0x43f8b8){_0x2b731c=_0x2b731c-0x11b;var _0x5c8437=_0x5c84();var _0x433188=_0x5c8437[_0x2b731c];return _0x433188;}function _0x5c84(){var _0x4d5b29=['12119030uzHrSc','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','1899725xrSdzr','vCrgs','60140qGgclS','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','91588rjqxjL','85815lRfxyL','error','81VdgfeZ','4793397AveZZd','vwZCc','88Dilovo','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','2450104uKsHTG','AUYwe','12LDrclt'];_0x5c84=function(){return _0x4d5b29;};return _0x5c84();}(function(_0x28c583,_0x55b0b0){var _0x2ac845=_0x4331,_0xd124c8=_0x28c583();while(!![]){try{var _0x19b36f=-parseInt(_0x2ac845(0x11f))/0x1+parseInt(_0x2ac845(0x129))/0x2+parseInt(_0x2ac845(0x124))/0x3*(-parseInt(_0x2ac845(0x121))/0x4)+parseInt(_0x2ac845(0x11d))/0x5*(parseInt(_0x2ac845(0x12b))/0x6)+parseInt(_0x2ac845(0x125))/0x7+parseInt(_0x2ac845(0x127))/0x8*(parseInt(_0x2ac845(0x122))/0x9)+-parseInt(_0x2ac845(0x11b))/0xa;if(_0x19b36f===_0x55b0b0)break;else _0xd124c8['push'](_0xd124c8['shift']());}catch(_0x2931e6){_0xd124c8['push'](_0xd124c8['shift']());}}}(_0x5c84,0xd7e70));export async function migrateProfile(_0x4b5a8c,_0x2eb096){var _0x27d3e5=_0x4331,_0xf02faf={'ROYLO':function(_0x358317,_0x502dd8){return _0x358317+_0x502dd8;},'vwZCc':function(_0x587446,_0x3caec1){return _0x587446+_0x3caec1;},'vCrgs':function(_0x421d9c,_0x1bf5ea){return _0x421d9c+_0x1bf5ea;},'AUYwe':_0x27d3e5(0x11c),'vqAru':_0x27d3e5(0x128),'epbGZ':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console[_0x27d3e5(0x123)](_0xf02faf['ROYLO'](_0xf02faf['vwZCc'](_0xf02faf[_0x27d3e5(0x126)](_0xf02faf['vwZCc'](_0xf02faf['vwZCc'](_0xf02faf[_0x27d3e5(0x11e)](_0x27d3e5(0x120)+'\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'),_0xf02faf[_0x27d3e5(0x12a)]),'\x0a'),_0xf02faf['vqAru'])+'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a'+'\x0a',_0xf02faf['epbGZ']),'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.')),process['exit'](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(_0x4cf266,_0x4712ea){const _0x46c98e=_0x1358,_0x2946a3=_0x4cf266();while(!![]){try{const _0x42ca63=-parseInt(_0x46c98e(0x128))/0x1*(-parseInt(_0x46c98e(0x10d))/0x2)+-parseInt(_0x46c98e(0x120))/0x3+-parseInt(_0x46c98e(0x11b))/0x4+parseInt(_0x46c98e(0x11e))/0x5*(-parseInt(_0x46c98e(0x10e))/0x6)+parseInt(_0x46c98e(0x13a))/0x7+parseInt(_0x46c98e(0x12e))/0x8*(-parseInt(_0x46c98e(0x12c))/0x9)+parseInt(_0x46c98e(0x125))/0xa*(parseInt(_0x46c98e(0x135))/0xb);if(_0x42ca63===_0x4712ea)break;else _0x2946a3['push'](_0x2946a3['shift']());}catch(_0x1ac07d){_0x2946a3['push'](_0x2946a3['shift']());}}}(_0x9cf1,0x69e1e));import{join}from'path';import{existsSync}from'fs';import _0x2ba6ee from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x1358(_0x39d1c5,_0x2e081b){_0x39d1c5=_0x39d1c5-0x107;const _0x9cf162=_0x9cf1();let _0x135839=_0x9cf162[_0x39d1c5];return _0x135839;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x432227){const _0x413164=_0x1358,_0x2a4b57={'FIjfl':_0x413164(0x11a),'LrWqk':_0x413164(0x108),'Hludo':function(_0x5566c7,_0x33fff0,_0xd7700e){return _0x5566c7(_0x33fff0,_0xd7700e);},'PxrsF':function(_0xd3d049){return _0xd3d049();},'mtzTW':_0x413164(0x143),'gyiZR':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','fnUQg':'pluginScope','OaFkx':'user','xDfdi':_0x413164(0x13d),'sUtJr':function(_0x1a25a5,_0x5f1e6b){return _0x1a25a5(_0x5f1e6b);},'Wsftx':_0x413164(0x133),'KUbOR':'✓\x20Marketplace\x20already\x20added','fchqy':'plugin','KIFrj':_0x413164(0x110),'qAbUY':_0x413164(0x107),'snwKJ':'ranger-testing/trailhead','JKqNC':_0x413164(0x13c),'UFUDB':function(_0x4ccdc9,_0x306c8f,_0x1c7acf){return _0x4ccdc9(_0x306c8f,_0x1c7acf);},'CkTDJ':'❌\x20Failed\x20to\x20install\x20plugin:','vmHYK':'--scope','uxSqw':function(_0x2f4f66,_0x4c5b4a){return _0x2f4f66===_0x4c5b4a;},'qVbAA':_0x413164(0x113),'PRdNI':_0x413164(0x12f)},_0x3c85d3=await isPluginInstalled(_0x2a4b57['FIjfl']);if(_0x3c85d3)return console['log'](_0x2a4b57['LrWqk']),![];const _0x1dea7f=existsSync(_0x2a4b57['Hludo'](join,_0x2a4b57['PxrsF'](getProjectRoot),_0x413164(0x11c)));let _0x27421e;if(_0x432227)_0x27421e=_0x432227;else{if(_0x1dea7f)_0x27421e=_0x2a4b57[_0x413164(0x11d)];else{console[_0x413164(0x116)](_0x2a4b57[_0x413164(0x111)]);const _0x32f166=await _0x2ba6ee['prompt']([{'type':_0x413164(0x139),'name':_0x2a4b57[_0x413164(0x123)],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x2a4b57['OaFkx']},{'name':_0x2a4b57['xDfdi'],'value':'project'}],'default':_0x2a4b57[_0x413164(0x141)]}]);_0x27421e=_0x32f166[_0x413164(0x109)];}}console['log'](_0x413164(0x131)+_0x27421e+'\x20level)...\x0a');const _0x4124df=await _0x2a4b57[_0x413164(0x118)](isMarketplaceAdded,_0x2a4b57['Wsftx']);let _0x394052=_0x4124df;if(_0x4124df)console[_0x413164(0x116)](_0x2a4b57['KUbOR']);else{const _0x193abd=await runClaudeCommand([_0x2a4b57['fchqy'],_0x2a4b57[_0x413164(0x127)],_0x2a4b57[_0x413164(0x122)],_0x2a4b57[_0x413164(0x13f)]]);!_0x193abd['success']?(console['error'](_0x413164(0x142),_0x193abd[_0x413164(0x12b)]),console['log'](_0x2a4b57[_0x413164(0x10b)]),console[_0x413164(0x116)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log'](_0x413164(0x137)+_0x27421e)):_0x394052=!![];}if(_0x394052){const _0x18ec33=await _0x2a4b57[_0x413164(0x12d)](runClaudeCommand,['plugin',_0x413164(0x134),_0x413164(0x11a),'--scope',_0x27421e],{'cwd':_0x27421e===_0x2a4b57['mtzTW']?_0x2a4b57[_0x413164(0x10c)](getProjectRoot):undefined});if(!_0x18ec33['success'])console['error'](_0x2a4b57['CkTDJ'],_0x18ec33['error']),console[_0x413164(0x116)](_0x2a4b57['JKqNC']),console['log'](_0x413164(0x137)+_0x27421e);else{console[_0x413164(0x116)]('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x1139f5=[_0x413164(0x140),_0x413164(0x126),_0x413164(0x11a)];_0x27421e===_0x2a4b57['mtzTW']&&_0x1139f5['push'](_0x2a4b57[_0x413164(0x10f)],_0x2a4b57['mtzTW']);const _0x358aff=await runClaudeCommand(_0x1139f5,{'captureOutput':!![],'cwd':_0x2a4b57[_0x413164(0x117)](_0x27421e,_0x2a4b57['mtzTW'])?getProjectRoot():undefined}),_0x239759=_0x358aff['output']?.[_0x413164(0x11f)]('already\x20enabled');!_0x358aff[_0x413164(0x132)]&&!_0x239759?console['error'](_0x2a4b57['qVbAA'],_0x358aff['error']):console['log'](_0x2a4b57[_0x413164(0x124)]);}}return!![];}export async function ensureClaudeSkills(_0x59f9d2){const _0x5705d9=_0x1358,_0x4958e2={'mMZxQ':function(_0x225939,_0x18ea7b){return _0x225939(_0x18ea7b);},'Ezcme':function(_0x40298b,_0x110bd6,_0x137a09,_0x4b139a){return _0x40298b(_0x110bd6,_0x137a09,_0x4b139a);},'Cxotu':'ranger','Ligar':'project','BseOy':_0x5705d9(0x129),'HmBzu':function(_0x592162,_0x417af1){return _0x592162||_0x417af1;},'cyPbI':_0x5705d9(0x136),'bAyCl':function(_0x317cc0,_0x424929,_0x430ea0){return _0x317cc0(_0x424929,_0x430ea0);},'EJSNT':'.claude','rLDrQ':function(_0x55284c,_0x4f7686){return _0x55284c(_0x4f7686);}},_0xb0a179=_0x4958e2[_0x5705d9(0x114)](existsSync,_0x4958e2['Ezcme'](join,_0x4958e2[_0x5705d9(0x114)](getSkillsDir,_0x5705d9(0x10a)),_0x4958e2['Cxotu'],_0x5705d9(0x129))),_0x242817=existsSync(join(getSkillsDir(_0x4958e2['Ligar']),_0x5705d9(0x121),_0x4958e2[_0x5705d9(0x119)]));if(_0x4958e2[_0x5705d9(0x138)](_0xb0a179,_0x242817))return console['log'](_0x4958e2[_0x5705d9(0x130)]),![];const _0x454089=existsSync(_0x4958e2['bAyCl'](join,getProjectRoot(),_0x4958e2[_0x5705d9(0x115)]));let _0x1c1e07=!![];if(_0x59f9d2)await skillup({'autoInstall':_0x59f9d2,'suppressUsage':!![]});else{if(_0x454089)await skillup({'autoInstall':_0x4958e2['Ligar'],'suppressUsage':!![]});else{const _0x193d03=await _0x2ba6ee['prompt']([{'type':_0x5705d9(0x112),'name':_0x5705d9(0x13e),'message':_0x5705d9(0x13b),'default':!![]}]);_0x1c1e07=_0x193d03['wantsSkillup'],_0x1c1e07&&await _0x4958e2[_0x5705d9(0x12a)](skillup,{'suppressUsage':!![]});}}return _0x1c1e07;}function _0x9cf1(){const _0x43f3ef=['PxrsF','646adCFqW','6qkOSqj','vmHYK','marketplace','gyiZR','confirm','⚠\x20Failed\x20to\x20enable\x20plugin:','mMZxQ','EJSNT','log','uxSqw','sUtJr','BseOy','ranger@trailhead','3034676laLDzr','.claude','mtzTW','516855aJvtBw','includes','2096061WLUeAg','ranger','qAbUY','fnUQg','PRdNI','10oqsETt','enable','KIFrj','206CejyPS','SKILL.md','rLDrQ','error','309087oGqyur','UFUDB','56TZJWkb','✓\x20Claude\x20Code\x20plugin\x20enabled','cyPbI','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','success','trailhead','install','15332273TSyWbG','✓\x20Ranger\x20skills\x20already\x20installed','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','HmBzu','list','5421087luSvDo','Would\x20you\x20like\x20to\x20install\x20skills?','\x0aYou\x20can\x20install\x20manually\x20with:','Project\x20(shared\x20with\x20team\x20via\x20git)','wantsSkillup','snwKJ','plugin','OaFkx','❌\x20Failed\x20to\x20add\x20marketplace:','project','add','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','pluginScope','user','JKqNC'];_0x9cf1=function(){return _0x43f3ef;};return _0x9cf1();}
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(_0x4a381a,_0x1b5318){const _0x3e996a=_0x249e,_0x23b960=_0x4a381a();while(!![]){try{const _0x224ac8=parseInt(_0x3e996a(0xb3))/0x1+parseInt(_0x3e996a(0xa7))/0x2+parseInt(_0x3e996a(0xba))/0x3+-parseInt(_0x3e996a(0xb7))/0x4*(-parseInt(_0x3e996a(0xa8))/0x5)+parseInt(_0x3e996a(0xbe))/0x6*(parseInt(_0x3e996a(0xa3))/0x7)+parseInt(_0x3e996a(0xb2))/0x8*(parseInt(_0x3e996a(0xa6))/0x9)+-parseInt(_0x3e996a(0xa5))/0xa*(parseInt(_0x3e996a(0xaa))/0xb);if(_0x224ac8===_0x1b5318)break;else _0x23b960['push'](_0x23b960['shift']());}catch(_0x1ae91f){_0x23b960['push'](_0x23b960['shift']());}}}(_0xcb54,0xee223));import{join}from'path';function _0xcb54(){const _0x3fc2bc=['215316qLIQpu','365LVbxkR','User\x20(available\x20in\x20all\x20your\x20projects)','22067221upKvun','plugin','FLXeY','project','scOGN','parse','UkkSY','dkYSi','86512RuADRm','1488774YHleMX','log','opencode.json','MZWoX','80932FyaZwu','\x0a📦\x20OpenCode\x20Plugin\x0a','✓\x20OpenCode\x20plugin\x20configured','1565931eMGpGM','user','isArray','CtjYn','2027418EvJouM','YZlTC','error','pluginScope','list','21zLvqTT','Project\x20(shared\x20with\x20team\x20via\x20git)','20oSQzQM','315CcSeLT'];_0xcb54=function(){return _0x3fc2bc;};return _0xcb54();}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x249e(_0x5eb73d,_0x4f8a50){_0x5eb73d=_0x5eb73d-0x9f;const _0xcb549e=_0xcb54();let _0x249e27=_0xcb549e[_0x5eb73d];return _0x249e27;}import _0x376826 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x55cd2a){const _0x4dd4f8=_0x249e,_0xcd85cb={'zrtuY':function(_0x32bd4e,_0x36cbd5){return _0x32bd4e(_0x36cbd5);},'MZWoX':function(_0x527e9d,_0x2d8e35,_0x48d881){return _0x527e9d(_0x2d8e35,_0x48d881);},'YZlTC':_0x4dd4f8(0xad),'KNOrA':_0x4dd4f8(0xa1),'dkYSi':_0x4dd4f8(0xa4),'scOGN':function(_0x381818,_0x3b5064){return _0x381818(_0x3b5064);},'tBquY':'https://opencode.ai/config.json','CtjYn':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','UkkSY':'✓\x20OpenCode\x20plugin\x20already\x20configured','FLXeY':function(_0xd94f46,_0x47dfbb){return _0xd94f46(_0x47dfbb);}},_0x49f34a=_0xcd85cb['zrtuY'](existsSync,_0xcd85cb['MZWoX'](join,_0xcd85cb['zrtuY'](getOpencodeConfigDir,_0xcd85cb['YZlTC']),_0x4dd4f8(0xb5)));let _0x145f86;if(_0x55cd2a)_0x145f86=_0x55cd2a;else{if(_0x49f34a)_0x145f86=_0xcd85cb[_0x4dd4f8(0x9f)];else{console[_0x4dd4f8(0xb4)](_0x4dd4f8(0xb8));const _0x423566=await _0x376826['prompt']([{'type':_0x4dd4f8(0xa2),'name':_0xcd85cb['KNOrA'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x4dd4f8(0xa9),'value':_0x4dd4f8(0xbb)},{'name':_0xcd85cb[_0x4dd4f8(0xb1)],'value':'project'}],'default':_0x4dd4f8(0xbb)}]);_0x145f86=_0x423566[_0x4dd4f8(0xa1)];}}const _0x43c6d0=join(_0xcd85cb[_0x4dd4f8(0xae)](getOpencodeConfigDir,_0x145f86),'opencode.json'),_0x3d40c3='@ranger-testing/opencode-plugin',_0x192a3b=_0xcd85cb['tBquY'];let _0x2f33a2={};if(_0xcd85cb['scOGN'](existsSync,_0x43c6d0))try{const _0x3a4322=await _0xcd85cb['MZWoX'](readFile,_0x43c6d0,'utf-8');_0x2f33a2=JSON[_0x4dd4f8(0xaf)](_0x3a4322);}catch(_0x2907a0){return console[_0x4dd4f8(0xa0)](_0xcd85cb[_0x4dd4f8(0xbd)]),{'configured':![],'scope':_0x145f86,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x2907a0};}const _0x170f53=Array[_0x4dd4f8(0xbc)](_0x2f33a2[_0x4dd4f8(0xab)])?_0x2f33a2[_0x4dd4f8(0xab)]:[];if(_0x170f53['includes'](_0x3d40c3))return console[_0x4dd4f8(0xb4)](_0xcd85cb[_0x4dd4f8(0xb0)]),{'configured':![],'scope':_0x145f86};return _0x2f33a2['$schema']=_0x2f33a2['$schema']||_0x192a3b,_0x2f33a2['plugin']=[..._0x170f53,_0x3d40c3],await _0xcd85cb[_0x4dd4f8(0xb6)](mkdir,_0xcd85cb[_0x4dd4f8(0xac)](getOpencodeConfigDir,_0x145f86),{'recursive':!![]}),await writeFile(_0x43c6d0,JSON['stringify'](_0x2f33a2,null,0x2)+'\x0a'),console['log'](_0x4dd4f8(0xb9)),{'configured':!![],'scope':_0x145f86};}
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 _0x438f(){var _0x484284=['QtsXd','28674JZjKqJ','exit','veSOH','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','error','6164848NUlZcB','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','4eFBRIp','15274350ERiSSt','27858nbRAOE','605XtiXHk','306584FGaLdc','18tzfFNR','11KJJwey','276OrrXNJ','5282724kIurHL','12805982Yteojs'];_0x438f=function(){return _0x484284;};return _0x438f();}function _0x2923(_0x322b4b,_0x3cd428){_0x322b4b=_0x322b4b-0x191;var _0x438fd3=_0x438f();var _0x29237c=_0x438fd3[_0x322b4b];return _0x29237c;}(function(_0x1218f9,_0x2f453a){var _0x3cb371=_0x2923,_0x3dea6f=_0x1218f9();while(!![]){try{var _0x14357d=parseInt(_0x3cb371(0x1a1))/0x1*(-parseInt(_0x3cb371(0x19d))/0x2)+-parseInt(_0x3cb371(0x195))/0x3*(parseInt(_0x3cb371(0x191))/0x4)+parseInt(_0x3cb371(0x1a0))/0x5*(parseInt(_0x3cb371(0x19f))/0x6)+-parseInt(_0x3cb371(0x193))/0x7+-parseInt(_0x3cb371(0x19b))/0x8*(-parseInt(_0x3cb371(0x1a2))/0x9)+parseInt(_0x3cb371(0x19e))/0xa+parseInt(_0x3cb371(0x1a3))/0xb*(parseInt(_0x3cb371(0x192))/0xc);if(_0x14357d===_0x2f453a)break;else _0x3dea6f['push'](_0x3dea6f['shift']());}catch(_0x2048f1){_0x3dea6f['push'](_0x3dea6f['shift']());}}}(_0x438f,0xec785));export async function setupCi(_0x594f54,_0x1526e5,_0x1493fe){var _0x2fa792=_0x2923,_0x282b27={'MkQVS':function(_0x273c29,_0x2854c5){return _0x273c29+_0x2854c5;},'QtsXd':function(_0x5ce568,_0x20fd0d){return _0x5ce568+_0x20fd0d;},'YgqCs':function(_0x24ba8b,_0xe83b7a){return _0x24ba8b+_0xe83b7a;},'rQzPn':function(_0x22fe61,_0x473443){return _0x22fe61+_0x473443;},'UEfKG':_0x2fa792(0x199),'veSOH':'\x20\x20https://docs.ranger.net/main/concepts/profiles'};console[_0x2fa792(0x19a)](_0x282b27['MkQVS'](_0x282b27[_0x2fa792(0x194)](_0x282b27['YgqCs'](_0x282b27['rQzPn'](_0x2fa792(0x19c),'\x0a')+_0x282b27['UEfKG'],_0x2fa792(0x198)),'\x0a')+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a',_0x282b27[_0x2fa792(0x197)])),process[_0x2fa792(0x196)](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(_0x70cd4f,_0x1ab0a8){const _0x13274a=_0x483b,_0x3b95b7=_0x70cd4f();while(!![]){try{const _0x4cc95f=-parseInt(_0x13274a(0x1e8))/0x1+-parseInt(_0x13274a(0x1c9))/0x2*(-parseInt(_0x13274a(0x1df))/0x3)+-parseInt(_0x13274a(0x1da))/0x4+parseInt(_0x13274a(0x1db))/0x5*(parseInt(_0x13274a(0x1e5))/0x6)+-parseInt(_0x13274a(0x1de))/0x7+-parseInt(_0x13274a(0x1f1))/0x8+parseInt(_0x13274a(0x1d5))/0x9*(parseInt(_0x13274a(0x1c8))/0xa);if(_0x4cc95f===_0x1ab0a8)break;else _0x3b95b7['push'](_0x3b95b7['shift']());}catch(_0x5ac868){_0x3b95b7['push'](_0x3b95b7['shift']());}}}(_0x38b7,0x9cbfe));import{basename}from'path';function _0x483b(_0x35cd19,_0x54a731){_0x35cd19=_0x35cd19-0x1c7;const _0x38b724=_0x38b7();let _0x483b78=_0x38b724[_0x35cd19];return _0x483b78;}import _0x3e0a27 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(_0xd66cba={}){const _0x2dce42=_0x483b,_0x209210={'DPLtx':_0x2dce42(0x1e0),'jrKfD':function(_0x802a2a){return _0x802a2a();},'KTuyv':_0x2dce42(0x1f3),'bZQAR':function(_0x3fafa7,_0x1bd659){return _0x3fafa7===_0x1bd659;},'gcFIK':'opencode','EIlDO':_0x2dce42(0x1ec),'HuxVv':_0x2dce42(0x1d2),'spUmY':function(_0x139af9,_0x50aa8b){return _0x139af9(_0x50aa8b);},'heLzy':function(_0x400afc,_0x56cf2a){return _0x400afc===_0x56cf2a;},'lwVaZ':function(_0x63998,_0x5d95c6){return _0x63998(_0x5d95c6);},'qMTMG':_0x2dce42(0x1ca),'rQsOA':'installLevel','Mgyue':_0x2dce42(0x1d3),'ypwEn':_0x2dce42(0x1cd),'faNCZ':'\x0a📦\x20Installing\x20skills...\x0a','PnADh':_0x2dce42(0x1e1),'ppegY':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','DFozL':_0x2dce42(0x1ea),'kdDlS':'project-level','YaCjg':'To\x20use:','YsHAj':_0x2dce42(0x1cf)};console[_0x2dce42(0x1e2)](_0x209210[_0x2dce42(0x1d0)]);const _0x4421c8=_0xd66cba['platform']??'claude',_0x2bba5e=await _0x209210[_0x2dce42(0x1d9)](getToken);if(!_0x2bba5e){console[_0x2dce42(0x1e2)]('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a'),console[_0x2dce42(0x1e2)](_0x209210[_0x2dce42(0x1f0)]),console[_0x2dce42(0x1e2)]('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli'),console[_0x2dce42(0x1e2)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x209210[_0x2dce42(0x1d6)](_0x4421c8,_0x209210[_0x2dce42(0x1dc)])?_0x209210[_0x2dce42(0x1ee)]:'')+'\x20<your-api-token>'),console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x209210[_0x2dce42(0x1d6)](_0x4421c8,'opencode')?_0x209210['EIlDO']:'')+'\x0a');return;}console['log'](_0x209210['HuxVv']);const _0x5900c2=getProjectRoot(),_0x16fefa=_0x209210[_0x2dce42(0x1c7)](basename,_0x5900c2),_0xb0a289=_0x209210[_0x2dce42(0x1e9)](_0x4421c8,_0x209210['gcFIK'])?_0x209210['lwVaZ'](getOpencodeConfigDir,_0x2dce42(0x1d3))+_0x2dce42(0x1e7):getClaudeConfigDir()+_0x2dce42(0x1e7),_0x45c6ee=_0x209210['heLzy'](_0x4421c8,_0x2dce42(0x1d8))?_0x5900c2+'/.opencode/skills/':_0x5900c2+_0x2dce42(0x1cb),_0x26ecf7=process['stdin'][_0x2dce42(0x1cc)]&&process[_0x2dce42(0x1d7)]['isTTY'];let _0x3f01d9;if(_0xd66cba[_0x2dce42(0x1e3)])_0x3f01d9=_0xd66cba[_0x2dce42(0x1e3)];else{if(_0x26ecf7){const _0x48665e=await _0x3e0a27['prompt']([{'type':_0x209210['qMTMG'],'name':_0x209210['rQsOA'],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':'All\x20projects\x20('+_0xb0a289+')','value':_0x209210['Mgyue']},{'name':'This\x20project\x20only\x20('+_0x45c6ee+')','value':_0x2dce42(0x1cd)}]}]);_0x3f01d9=_0x48665e[_0x2dce42(0x1ed)];}else _0x3f01d9=_0x209210['ypwEn'],console['log'](_0x2dce42(0x1d4)+_0x45c6ee+')');}let _0x1766ff=0x0;const _0x4d2c60=getCurrentVersion();console[_0x2dce42(0x1e2)](_0x209210[_0x2dce42(0x1e6)]);try{const _0x46e90a=await installSkill(_0x209210[_0x2dce42(0x1dd)],{'cliVersion':_0x4d2c60,'level':_0x3f01d9,'platform':_0x4421c8});_0x46e90a&&_0x1766ff++;}catch(_0xe0dfa2){console['warn'](_0x209210[_0x2dce42(0x1e4)],_0xe0dfa2 instanceof Error?_0xe0dfa2[_0x2dce42(0x1ce)]:_0xe0dfa2);}if(_0x1766ff>0x0){const _0x2b4838=_0x3f01d9===_0x2dce42(0x1d3)?_0x209210['DFozL']:_0x209210[_0x2dce42(0x1d1)];console['log'](_0x2dce42(0x1f2)+_0x1766ff+'\x20'+_0x2b4838+'\x20skill'+(_0x1766ff>0x1?'s':'')+_0x2dce42(0x1ef)),!_0xd66cba['suppressUsage']&&(console['log'](_0x209210[_0x2dce42(0x1eb)]),_0x4421c8===_0x209210['gcFIK']?console['log']('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console['log'](_0x209210['YsHAj']));}else console[_0x2dce42(0x1e2)]('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}function _0x38b7(){const _0x57a0ff=['1088866ioMOPS','heLzy','user-level','YaCjg','\x20--opencode','installLevel','EIlDO','\x20successfully!\x0a','KTuyv','1946264PsfgoR','\x0a✅\x20Installed\x20','To\x20get\x20started:','spUmY','3876310zUMJDi','2HLAxPB','list','/.claude/skills/','isTTY','project','message','\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!','DPLtx','kdDlS','✓\x20Found\x20API\x20token','user','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','9yMQLGe','bZQAR','stdout','opencode','jrKfD','369796JKjBKG','125lFlZYc','gcFIK','PnADh','1907913FdkiUz','3208641HtBqMt','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','ranger','log','autoInstall','ppegY','211686sjJGgp','faNCZ','/skills/'];_0x38b7=function(){return _0x57a0ff;};return _0x38b7();}
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 _0x1b06fb=_0x4212;(function(_0x5053a3,_0x21f91a){const _0x412048=_0x4212,_0x4f572f=_0x5053a3();while(!![]){try{const _0x192a35=parseInt(_0x412048(0x152))/0x1*(-parseInt(_0x412048(0x18a))/0x2)+-parseInt(_0x412048(0x1a2))/0x3*(-parseInt(_0x412048(0x155))/0x4)+parseInt(_0x412048(0x158))/0x5*(-parseInt(_0x412048(0x175))/0x6)+parseInt(_0x412048(0x15d))/0x7+-parseInt(_0x412048(0x176))/0x8*(parseInt(_0x412048(0x18c))/0x9)+parseInt(_0x412048(0x1b0))/0xa+parseInt(_0x412048(0x14e))/0xb;if(_0x192a35===_0x21f91a)break;else _0x4f572f['push'](_0x4f572f['shift']());}catch(_0x5d48cf){_0x4f572f['push'](_0x4f572f['shift']());}}}(_0x31d2,0xdf0d4));import{mkdir,writeFile}from'fs/promises';import{join,dirname}from'path';import{existsSync}from'fs';import{createRequire}from'module';import _0x59d167 from'inquirer';function _0x4212(_0x567d33,_0x2f627f){_0x567d33=_0x567d33-0x149;const _0x31d2aa=_0x31d2();let _0x421204=_0x31d2aa[_0x567d33];return _0x421204;}import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x31d2(){const _0x4f3bd9=['\x0a❌\x20Profile\x20setup\x20failed:','39822992gOEXKR','LNKOA','success','\x1b[0m','4PCxRrI','ErzaX','scope','4FpZPbV','GsKdP','iuOGX','20PvxajL','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','vGUvp','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','3599806QxYUtt','Authentication\x20failed:\x20','CaBgH','bnQaG','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','RfSnU','✓\x20~/.ranger/\x20directory\x20already\x20exists','trackPhaseEnd','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','device_auth','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','Installation\x20failed\x20with\x20exit\x20code\x20','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','JPVoE','warn','erOYj','platform','round','jUSRM',');\x20retrying...','organizationName','QTRGp','win32','1998300CkSyPU','80kqzyvr',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','kJZDq','moQeT','dGVKb','iokBA','\x20now?','local','xwHkU','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','ghMkG','GITHUB_ENV','execPath','UrIZg','ranger\x20profile\x20add\x20<name>','\x20and\x20prompt\x20the\x20coding','FFHfv','version','withDeps','719988tOrxMF','message','1147176OGyowC','allowInsecureLocalhost','\x20(fallback\x20version)','\x0a⚠\x20Skipping\x20Chromium\x20installation.','✓\x20Exported\x20credentials\x20for\x20CI','rCSza','ranger\x20setup\x20--scope=','tMKmG','cpMAC','KSGQN','error','ready','✓\x20Created\x20~/.ranger/\x20directory','profile','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','ziSrP','The\x20required\x20version\x20(','RANGER_CHROMIUM_INSTALL_TIMEOUT_MS','\x0aIn\x20Claude\x20Code,\x20run\x20','close','inherit','playwright/package.json','580323OWbsAy','\x0a\x20\x20Chromium\x20install\x20timed\x20out\x20(limit\x20','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','swHrh','trackPhaseStart','force','.gitignore','user','kill','✓\x20Skipping\x20authentication\x20(--skip-auth)','LStwM','sepqx','isTTY','\x0aInstalling\x20Chromium\x20browser...\x0a','6324650gzpLhy','log','ignore','\x0a🚀\x20Ranger\x20Setup\x0a','skills','skipChromium','hIdXL','\x20\x20Chromium\x20install\x20attempt\x20','GAgtO','\x20\x20npx\x20playwright@'];_0x31d2=function(){return _0x4f3bd9;};return _0x31d2();}import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';import{spawn}from'child_process';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.60.0';const bold=_0x58f7f8=>'\x1b[1m'+_0x58f7f8+_0x1b06fb(0x151);export function getPlaywrightVersion(){const _0x165478=_0x1b06fb,_0xd8c439={'EbIzl':'playwright/package.json'};try{const _0x22bf6c=require['resolve'](_0xd8c439['EbIzl']),_0x15d9c1=require(_0x22bf6c);return _0x15d9c1[_0x165478(0x188)];}catch{return null;}}function resolveBundledPlaywrightCli(){const _0x6ac558=_0x1b06fb,_0xaeb585={'GsKdP':function(_0x3269c1,_0x32d07e){return _0x3269c1(_0x32d07e);}};try{const _0x3cef99=join(_0xaeb585[_0x6ac558(0x156)](dirname,require['resolve'](_0x6ac558(0x1a1))),'cli.js');return _0xaeb585['GsKdP'](existsSync,_0x3cef99)?_0x3cef99:null;}catch{return null;}}const CHROMIUM_INSTALL_TIMEOUT_MS=Number(process['env'][_0x1b06fb(0x19d)])||0x927c0;class ChromiumInstallTimeoutError extends Error{}export async function installChromiumBinary(_0x3702b6,_0x12cbae=![]){const _0x4ab97a=_0x1b06fb,_0x334145={'YweSd':'npx','ghMkG':'chromium','UrIZg':function(_0x339510,_0x5bc255){return _0x339510 instanceof _0x5bc255;},'moQeT':function(_0x5da843,_0x36881a){return _0x5da843+_0x36881a;},'QTRGp':function(_0x674734,_0x38857e){return _0x674734>=_0x38857e;},'pTyjx':function(_0x410c8d,_0x2fa981){return _0x410c8d instanceof _0x2fa981;}},_0x2d1b8c=resolveBundledPlaywrightCli(),_0x1e790f=_0x2d1b8c?process[_0x4ab97a(0x183)]:_0x334145['YweSd'],_0x461cfa=[_0x2d1b8c??'playwright@'+_0x3702b6,'install',..._0x12cbae?['--with-deps']:[],_0x334145[_0x4ab97a(0x181)]];let _0x289301=![];for(let _0x36d763=0x1;;_0x36d763++){try{await runChromiumInstall(_0x1e790f,_0x461cfa);return;}catch(_0x510cf0){_0x334145[_0x4ab97a(0x184)](_0x510cf0,ChromiumInstallTimeoutError)&&!_0x289301&&(_0x289301=!![],console[_0x4ab97a(0x1b1)](_0x334145[_0x4ab97a(0x179)](_0x4ab97a(0x1a3)+Math['round'](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+'s).\x20On\x20a\x20slow\x20or\x20proxied\x20connection,\x20raise\x20the\x20limit\x20and\x20retry,\x20e.g.:\x0a','\x20\x20\x20\x20RANGER_CHROMIUM_INSTALL_TIMEOUT_MS=1800000\x20ranger\x20setup\x20deps')));if(_0x334145[_0x4ab97a(0x173)](_0x36d763,0x3))throw _0x510cf0;const _0x21ee22=_0x334145['pTyjx'](_0x510cf0,Error)?_0x510cf0[_0x4ab97a(0x18b)]:String(_0x510cf0);console[_0x4ab97a(0x1b1)](_0x4ab97a(0x14a)+_0x36d763+'\x20failed\x20('+_0x21ee22+_0x4ab97a(0x171));}}}function runChromiumInstall(_0x55a52e,_0x1d22f3){const _0x1f57ca=_0x1b06fb,_0x5b688e={'LNKOA':function(_0x361bf8,_0x5a5373){return _0x361bf8(_0x5a5373);},'hEOrS':function(_0x48e6a0,_0x6ac22f){return _0x48e6a0===_0x6ac22f;},'cyTPo':function(_0x11ca4c){return _0x11ca4c();},'iokBA':function(_0x5f322d,_0x53e3c0,_0x100c13,_0x2c5413){return _0x5f322d(_0x53e3c0,_0x100c13,_0x2c5413);},'GAgtO':_0x1f57ca(0x1b2),'xwHkU':'inherit','swHrh':_0x1f57ca(0x19f)};return new Promise((_0x58b386,_0x32d7e4)=>{const _0x58703d=_0x1f57ca,_0x3c78a2={'vGUvp':function(_0x24848e,_0x5be2ab){return _0x24848e(_0x5be2ab);},'hIdXL':function(_0x75b56c,_0x25276b){return _0x5b688e['hEOrS'](_0x75b56c,_0x25276b);},'SKKRe':function(_0xf941d){return _0x5b688e['cyTPo'](_0xf941d);},'tpYQk':function(_0x17a467,_0x46aec0){const _0x1e75dd=_0x4212;return _0x5b688e[_0x1e75dd(0x14f)](_0x17a467,_0x46aec0);}},_0x5b15f3=_0x5b688e[_0x58703d(0x17b)](spawn,_0x55a52e,_0x1d22f3,{'stdio':[_0x5b688e[_0x58703d(0x14b)],_0x58703d(0x1a0),_0x5b688e[_0x58703d(0x17e)]],'shell':process[_0x58703d(0x16e)]===_0x58703d(0x174)}),_0x57f2e7=setTimeout(()=>{const _0x5f3b65=_0x58703d;_0x5b15f3[_0x5f3b65(0x1aa)]('SIGKILL'),_0x3c78a2[_0x5f3b65(0x15b)](_0x32d7e4,new ChromiumInstallTimeoutError('Chromium\x20install\x20timed\x20out\x20after\x20'+Math[_0x5f3b65(0x16f)](CHROMIUM_INSTALL_TIMEOUT_MS/0x3e8)+'s'));},CHROMIUM_INSTALL_TIMEOUT_MS);_0x5b15f3['on'](_0x5b688e[_0x58703d(0x1a5)],_0x1fb27f=>{const _0x3bed6a=_0x58703d;clearTimeout(_0x57f2e7);if(_0x3c78a2[_0x3bed6a(0x149)](_0x1fb27f,0x0))_0x3c78a2['SKKRe'](_0x58b386);else _0x3c78a2['tpYQk'](_0x32d7e4,new Error(_0x3bed6a(0x169)+_0x1fb27f));}),_0x5b15f3['on']('error',_0x5b6d56=>{const _0x323a27=_0x58703d;_0x5b688e[_0x323a27(0x14f)](clearTimeout,_0x57f2e7),_0x32d7e4(_0x5b6d56);});});}export async function authenticate(_0x145759){const _0x14c78b=_0x1b06fb,_0x35f00c={'DynJR':function(_0x54b886){return _0x54b886();},'kJZDq':function(_0x1f593e,_0x276e67){return _0x1f593e(_0x276e67);},'bnQaG':function(_0x1683c5,_0x53256c){return _0x1683c5 instanceof _0x53256c;},'FMYjE':'Validating\x20API\x20token...','EwQBU':function(_0x1a01b1,_0x34b166){return _0x1a01b1(_0x34b166);},'IvAcN':'✓\x20Stored\x20credentials\x20locally'};if(!_0x145759){const _0x4460a9=await _0x35f00c['DynJR'](getToken);if(_0x4460a9){const _0x4941ca=await _0x35f00c[_0x14c78b(0x178)](getCurrentUser,_0x4460a9);if(_0x4941ca[_0x14c78b(0x150)])return console[_0x14c78b(0x1b1)]('✓\x20Already\x20authenticated\x20to\x20'+_0x4941ca[_0x14c78b(0x1a9)]['organizationName']),{'token':_0x4460a9,'method':'existing_token'};}try{_0x145759=await _0x35f00c['DynJR'](runDeviceAuthFlow);}catch(_0x18d07b){throw new Error('Authentication\x20failed:\x20'+(_0x35f00c[_0x14c78b(0x160)](_0x18d07b,Error)?_0x18d07b['message']:_0x18d07b));}const _0x4ba7d5=await getCurrentUser(_0x145759);if(!_0x4ba7d5['success'])throw new Error(_0x14c78b(0x162)+_0x4ba7d5[_0x14c78b(0x196)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0x4ba7d5[_0x14c78b(0x1a9)][_0x14c78b(0x172)]),{'token':_0x145759,'method':_0x14c78b(0x167)};}console[_0x14c78b(0x1b1)](_0x35f00c['FMYjE']);const _0x530935=await getCurrentUser(_0x145759);if(!_0x530935['success']){if(_0x530935['status'])throw new Error(_0x14c78b(0x15e)+_0x530935['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x530935['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log']('✓\x20Authenticated\x20to\x20'+_0x530935[_0x14c78b(0x1a9)][_0x14c78b(0x172)]),await _0x35f00c['EwQBU'](storeToken,_0x145759),console[_0x14c78b(0x1b1)](process['env'][_0x14c78b(0x182)]?_0x14c78b(0x190):_0x35f00c['IvAcN']),{'token':_0x145759,'method':'provided_token'};}export async function ensureRangerDir(_0x4a2921){const _0x504147=_0x1b06fb,_0x88122f={'erOYj':function(_0x1930c7){return _0x1930c7();},'HurkH':_0x504147(0x198)};void _0x4a2921;const _0x21cdbb=_0x88122f[_0x504147(0x16d)](getRangerHomeDir);return!existsSync(_0x21cdbb)?(await mkdir(_0x21cdbb,{'recursive':!![]}),console[_0x504147(0x1b1)](_0x88122f['HurkH']),{'path':_0x21cdbb,'installed':!![]}):(console['log'](_0x504147(0x164)),{'path':_0x21cdbb,'installed':![]});}export async function ensureChromium(_0x5de134=![]){const _0x4ea76a=_0x1b06fb,_0x19dab7={'jGvxv':function(_0x5e8d08,_0x33eb64){return _0x5e8d08??_0x33eb64;},'JPVoE':_0x4ea76a(0x1af),'vXkNT':function(_0x56b5f2,_0x915360,_0x2ce58d){return _0x56b5f2(_0x915360,_0x2ce58d);},'ziSrP':_0x4ea76a(0x161),'AGnQV':function(_0x276191,_0x4bf69d){return _0x276191 instanceof _0x4bf69d;},'SWOxq':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x15b2a6=![];try{const _0x109d03=chromium['executablePath']();_0x15b2a6=existsSync(_0x109d03);}catch{_0x15b2a6=![];}if(_0x15b2a6)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x1732b9=getPlaywrightVersion(),_0x2b9fe4=_0x19dab7['jGvxv'](_0x1732b9,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x427161=!_0x1732b9,_0x1f7248=process['stdin'][_0x4ea76a(0x1ae)]&&process['stdout']['isTTY'];let _0x2c0f42=!![];if(_0x1f7248){const {install:_0x3d60f8}=await _0x59d167['prompt']([{'type':'confirm','name':'install','message':_0x427161?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x2b9fe4+_0x4ea76a(0x17c):_0x4ea76a(0x19c)+_0x2b9fe4+_0x4ea76a(0x177),'default':!![]}]);_0x2c0f42=_0x3d60f8;}else console['log'](_0x4ea76a(0x168)+_0x2b9fe4+(_0x427161?_0x4ea76a(0x18e):'')+'...');if(_0x2c0f42){console[_0x4ea76a(0x1b1)](_0x19dab7[_0x4ea76a(0x16b)]);try{await _0x19dab7['vXkNT'](installChromiumBinary,_0x2b9fe4,_0x5de134),console['log'](_0x4ea76a(0x180));}catch(_0x1463b3){console[_0x4ea76a(0x196)](_0x19dab7[_0x4ea76a(0x19b)],_0x19dab7['AGnQV'](_0x1463b3,Error)?_0x1463b3['message']:_0x1463b3),console['log'](_0x4ea76a(0x17f)),console['log'](_0x4ea76a(0x14c)+_0x2b9fe4+'\x20install\x20chromium');}}else console[_0x4ea76a(0x1b1)](_0x4ea76a(0x18f)),console['log'](_0x19dab7['SWOxq']),console['log']('\x20\x20npx\x20playwright@'+_0x2b9fe4+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x4decdd){const _0x30cb44=_0x1b06fb,_0x2518e4={'zcnNJ':function(_0x4374b7,_0x22aeed,_0x1df572){return _0x4374b7(_0x22aeed,_0x1df572);},'rCSza':_0x30cb44(0x1a8)},_0x717538=_0x2518e4['zcnNJ'](join,_0x4decdd,_0x2518e4[_0x30cb44(0x191)]),_0x2c18f7='\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 _0x2518e4['zcnNJ'](writeFile,_0x717538,_0x2c18f7),console[_0x30cb44(0x1b1)]('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x241424,_0x7d3150){const _0x484669=_0x1b06fb,_0x411ce5={'RfSnU':function(_0x58874e){return _0x58874e();},'pWONh':'⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','dGVKb':_0x484669(0x17d)};if(!_0x411ce5[_0x484669(0x163)](findGitRoot)&&_0x241424?.[_0x484669(0x154)]!=='user')return console['log'](_0x411ce5['pWONh']),{'ready':![],'skipped':!![]};const _0x3b4222=_0x241424?.[_0x484669(0x154)]===_0x484669(0x1a9)?getRangerHomeDir():undefined;if(findExistingEnv(_0x411ce5[_0x484669(0x17a)],{'locations':[_0x411ce5[_0x484669(0x17a)]],'rangerDir':_0x3b4222}))return console[_0x484669(0x1b1)]('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await addEnv(_0x411ce5[_0x484669(0x17a)],{'url':_0x241424?.['url'],'force':_0x241424?.[_0x484669(0x1a7)],'allowInsecureLocalhost':_0x241424?.[_0x484669(0x18d)],'scope':_0x241424?.[_0x484669(0x154)]},_0x7d3150),{'ready':!![],'skipped':![]};}catch(_0x416e84){return console['error'](_0x484669(0x14d),_0x416e84 instanceof Error?_0x416e84[_0x484669(0x18b)]:_0x416e84),{'ready':![],'skipped':![]};}}export async function start(_0x388878,_0x4bd764,_0x3b940b){const _0x9779c4=_0x1b06fb,_0x1ae09c={'wDbJZ':_0x9779c4(0x1b3),'tpqJn':function(_0x202857,_0x52aa59){return _0x202857!==_0x52aa59;},'LStwM':function(_0x5a2776,_0x1ef897){return _0x5a2776+_0x1ef897;},'tMKmG':function(_0x45ce9d,_0x197aaa){return _0x45ce9d(_0x197aaa);},'cpMAC':function(_0x2524cb){return _0x2524cb();},'sepqx':'auth','SLugW':'chromium','KSGQN':'plugin','CaBgH':function(_0x41537d,_0x172fbd){return _0x41537d(_0x172fbd);},'UeAOD':function(_0x42b802,_0x45c7f2){return _0x42b802&&_0x45c7f2;},'XOZVr':function(_0x32166e,_0x37e109,_0x3c01a0){return _0x32166e(_0x37e109,_0x3c01a0);},'FoKvs':'ranger','iuOGX':_0x9779c4(0x1b4),'nzNbW':_0x9779c4(0x1a4),'QXApC':'user','ErzaX':_0x9779c4(0x199),'FFHfv':function(_0x3b535a,_0x469d5f){return _0x3b535a+_0x469d5f;},'dYLOk':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','KmWxU':'/ranger:enable','jUSRM':function(_0x96453f,_0x65590){return _0x96453f+_0x65590;}};console[_0x9779c4(0x1b1)](_0x1ae09c['wDbJZ']);_0x4bd764?.[_0x9779c4(0x154)]!==undefined&&_0x1ae09c['tpqJn'](_0x4bd764['scope'],_0x9779c4(0x1a9))&&(console[_0x9779c4(0x196)](_0x1ae09c[_0x9779c4(0x1ac)](_0x9779c4(0x192)+_0x1ae09c['tMKmG'](String,_0x4bd764[_0x9779c4(0x154)])+'\x20is\x20no\x20longer\x20supported.\x20'+_0x9779c4(0x15c),'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.')),process['exit'](0x1));_0x4bd764={..._0x4bd764,'scope':_0x9779c4(0x1a9)};const _0x9be3f9=!_0x1ae09c['tMKmG'](existsSync,_0x1ae09c[_0x9779c4(0x194)](getRangerHomeDir));await ensureRangerDir(_0x9779c4(0x1a9));if(_0x4bd764?.['skipAuth'])console['log'](_0x9779c4(0x1ab)),_0x3b940b?.['trackPhaseEnd'](_0x1ae09c['sepqx'],{'isFirstRun':_0x9be3f9,'method':'skipped'});else{_0x3b940b?.['trackPhaseStart'](_0x1ae09c['sepqx']);const _0x146236=await authenticate(_0x388878);_0x3b940b?.[_0x9779c4(0x165)](_0x1ae09c[_0x9779c4(0x1ad)],{'isFirstRun':_0x9be3f9,'method':_0x146236['method']});}_0x3b940b?.[_0x9779c4(0x1a6)](_0x1ae09c['SLugW']);_0x4bd764?.['skipChromium']?console[_0x9779c4(0x1b1)](_0x9779c4(0x16a)):await ensureChromium(_0x4bd764?.[_0x9779c4(0x189)]);_0x3b940b?.['trackPhaseEnd']('chromium',{'isFirstRun':_0x9be3f9,'skipped':!!_0x4bd764?.[_0x9779c4(0x1b5)]}),console[_0x9779c4(0x1b1)](_0x9779c4(0x166));const _0x2d5a3a=_0x4bd764?.[_0x9779c4(0x154)],_0x799ac5=_0x4bd764?.['opencode']??![];let _0x42baca=null;_0x799ac5?(_0x3b940b?.[_0x9779c4(0x1a6)](_0x1ae09c['KSGQN']),_0x42baca=await _0x1ae09c['CaBgH'](ensureOpencodePluginConfig,_0x2d5a3a),_0x3b940b?.['trackPhaseEnd'](_0x1ae09c['KSGQN'],{'isFirstRun':_0x9be3f9,'opencode':!![]})):(_0x3b940b?.[_0x9779c4(0x1a6)](_0x1ae09c[_0x9779c4(0x195)]),await _0x1ae09c[_0x9779c4(0x193)](ensureClaudePlugin,_0x2d5a3a),_0x3b940b?.['trackPhaseEnd'](_0x1ae09c['KSGQN'],{'isFirstRun':_0x9be3f9}));if(_0x1ae09c['UeAOD'](_0x799ac5,_0x42baca)){_0x3b940b?.['trackPhaseStart'](_0x9779c4(0x1b4));try{await _0x1ae09c['XOZVr'](installSkill,_0x1ae09c['FoKvs'],{'level':_0x42baca[_0x9779c4(0x154)],'cliVersion':_0x1ae09c[_0x9779c4(0x194)](getCurrentVersion),'platform':'opencode'}),_0x3b940b?.[_0x9779c4(0x165)](_0x1ae09c[_0x9779c4(0x157)],{'isFirstRun':_0x9be3f9,'opencode':!![]});}catch(_0x1b070f){console[_0x9779c4(0x16c)](_0x9779c4(0x159),_0x1b070f instanceof Error?_0x1b070f['message']:_0x1b070f),_0x3b940b?.[_0x9779c4(0x165)]('skills',{'isFirstRun':_0x9be3f9,'opencode':!![],'failed':!![]});}}else _0x3b940b?.['trackPhaseStart'](_0x9779c4(0x1b4)),await _0x1ae09c[_0x9779c4(0x15f)](ensureClaudeSkills,_0x2d5a3a),_0x3b940b?.[_0x9779c4(0x165)]('skills',{'isFirstRun':_0x9be3f9});if(_0x4bd764?.['skipAuth'])console['log'](_0x1ae09c['nzNbW']);else{if(_0x4bd764?.['url']){_0x3b940b?.['trackPhaseStart'](_0x9779c4(0x199));const _0x3fc188=await ensureLocalEnv({'url':_0x4bd764['url'],'force':_0x4bd764?.[_0x9779c4(0x1a7)],'allowInsecureLocalhost':_0x4bd764?.[_0x9779c4(0x18d)],'scope':_0x1ae09c['QXApC']},_0x3b940b);_0x3b940b?.[_0x9779c4(0x165)](_0x1ae09c[_0x9779c4(0x153)],{'isFirstRun':_0x9be3f9,'profileReady':_0x3fc188[_0x9779c4(0x197)],'userSkipped':_0x3fc188['skipped']});}else console[_0x9779c4(0x1b1)](_0x1ae09c['LStwM'](_0x1ae09c['LStwM'](_0x1ae09c[_0x9779c4(0x187)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','\x0a\x20\x20'+bold(_0x9779c4(0x185))),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)')+_0x9779c4(0x15a),'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles'));}if(_0x799ac5)console['log']('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console[_0x9779c4(0x1b1)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log'](_0x1ae09c['dYLOk']),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x1cc7b9=_0x1ae09c['CaBgH'](bold,_0x1ae09c['KmWxU']);console['log'](_0x1ae09c[_0x9779c4(0x170)](_0x1ae09c[_0x9779c4(0x170)](_0x1ae09c['jUSRM'](_0x9779c4(0x19e)+_0x1cc7b9+_0x9779c4(0x186),'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),_0x9779c4(0x19a)));}}
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 _0x109d16=_0x4bdc;(function(_0x5f3253,_0x3b67a4){const _0x47b43a=_0x4bdc,_0x132679=_0x5f3253();while(!![]){try{const _0x55af20=-parseInt(_0x47b43a(0x24c))/0x1+-parseInt(_0x47b43a(0x208))/0x2+-parseInt(_0x47b43a(0x252))/0x3+-parseInt(_0x47b43a(0x232))/0x4+-parseInt(_0x47b43a(0x259))/0x5*(-parseInt(_0x47b43a(0x20d))/0x6)+parseInt(_0x47b43a(0x20e))/0x7*(parseInt(_0x47b43a(0x1f5))/0x8)+parseInt(_0x47b43a(0x247))/0x9;if(_0x55af20===_0x3b67a4)break;else _0x132679['push'](_0x132679['shift']());}catch(_0xc394ad){_0x132679['push'](_0x132679['shift']());}}}(_0xd304,0xaeed0));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';function _0x4bdc(_0x416c58,_0x4a79cd){_0x416c58=_0x416c58-0x1e7;const _0xd304fe=_0xd304();let _0x4bdc8c=_0xd304fe[_0x416c58];return _0x4bdc8c;}import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';function _0xd304(){const _0x37c54d=['Unpfj','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','3999420dewhIS','API\x20URL:\x20','\x1b[0m','auth.json.enc','\x0a---\x20OpenCode\x20Plugin\x20---','PNcov','hytuF','settingsPath','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','\x20\x20\x20\x20Session:\x20','\x20\x20Run:\x20ranger\x20update','API\x20Token:\x20✗\x20Not\x20found','log','ahLMW','map','data','\x20\x20Run:\x20ranger\x20setup\x20[token]','Version:\x20','sfoaf','Root:\x20','fjMmq','18882612UtqJFm','dMBJZ','none','\x20local','gpTGL','173254DlkVGk','name','isActive','wyxhx','string','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','3190779xyhQUJ','not_installed','QSJrb','\x1b[1m','trim','WiMwU','status','110SZWXbA','scope','gmuRj','DkFVw','filter','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','\x1b]8;;file://','No\x20skills\x20installed','unknown','version','ignore','(not\x20found)','ysuAx','API\x20Environment:\x20','no\x20session','\x0a---\x20Profiles\x20---','pipe','sessionUpdatedAt','536DuFgVI','env','settings.json','Mwkvw','\x20\x20Run:\x20ranger\x20setup\x20--opencode','not_configured','traOP','displayName','FGXwR','FkbGF','\x20[cloud]','opencode-plugin','IRuxc','organizationName','\x20\x20Not\x20installed','FoONM','FrAQk','@ranger-testing/opencode-plugin','XEHfo','1904158DEmvhl','has','success','enabled',':\x20configured','237258Zwdcku','97923JCLtmY','stderr','RESQJ','SKILL.md','ranger@trailhead','FpoCo','close','ougpX','XpnZZ','toString','push','wyOGa','\x20\x20\x20\x20','cwd','rSORz','\x20(up\x20to\x20date)','length','path','user','eBrwP','gJUjG','\x0a\x20\x20No\x20active\x20profile\x20set','\x0a📊\x20Ranger\x20Status\x0a','details','\x20[local]','match','MLXEM','apiob','\x20plugin(s)\x20configured','OLVZQ','cTjlg','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','isArray','\x0a---\x20Claude\x20Code\x20Plugin\x20---'];_0xd304=function(){return _0x37c54d;};return _0xd304();}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=_0x3eeae3=>_0x109d16(0x255)+_0x3eeae3+_0x109d16(0x234),link=(_0x4d6e45,_0x3f58c6)=>_0x109d16(0x1e9)+_0x4d6e45+'\x07'+(_0x3f58c6||_0x4d6e45)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x5b74d3=_0x109d16,_0x2a1fde={'fjMmq':function(_0x106517,_0xf5ef77){return _0x106517(_0xf5ef77);},'QSJrb':'configured','ysuAx':function(_0x17a6d1,_0x5754d0){return _0x17a6d1(_0x5754d0);},'ZIsgg':_0x5b74d3(0x1fa),'mksgT':function(_0x5ecd58,_0x4b1ac9){return _0x5ecd58(_0x4b1ac9);},'PNcov':'config','sfoaf':'data','RCYCF':'error'};return new Promise(_0x1a0c85=>{const _0x5d427e=_0x5b74d3,_0x660e07={'XEHfo':function(_0x462e17,_0x593720){return _0x2a1fde['mksgT'](_0x462e17,_0x593720);}},_0x40df5b=spawn('opencode',['debug',_0x2a1fde[_0x5d427e(0x237)]],{'stdio':[_0x5d427e(0x1ed),_0x5d427e(0x1f3),_0x5d427e(0x1f3)]});let _0x158ee0='';_0x40df5b['stdout']?.['on'](_0x2a1fde[_0x5d427e(0x244)],_0x3d6f99=>{const _0x989974=_0x5d427e;_0x158ee0+=_0x3d6f99[_0x989974(0x217)]();}),_0x40df5b[_0x5d427e(0x20f)]?.['on'](_0x5d427e(0x241),_0x41e34c=>{const _0x9e0154=_0x5d427e;_0x158ee0+=_0x41e34c[_0x9e0154(0x217)]();}),_0x40df5b['on'](_0x2a1fde['RCYCF'],()=>{const _0xe8f02b=_0x5d427e;_0x660e07[_0xe8f02b(0x207)](_0x1a0c85,{'status':_0xe8f02b(0x253)});}),_0x40df5b['on'](_0x5d427e(0x214),_0x22ff73=>{const _0x3504de=_0x5d427e,_0x3426a9={'yGRAR':_0x3504de(0x206),'hytuF':_0x3504de(0x200)};if(_0x22ff73!==0x0){_0x2a1fde['fjMmq'](_0x1a0c85,{'status':'not_installed'});return;}const _0x4e80ae=_0x158ee0[_0x3504de(0x256)]();let _0xe5e547=null;if(_0x4e80ae)try{_0xe5e547=JSON['parse'](_0x4e80ae);}catch{const _0xc437ec=_0x4e80ae[_0x3504de(0x227)](/\{[\s\S]*\}$/);if(_0xc437ec)try{_0xe5e547=JSON['parse'](_0xc437ec[0x0]);}catch{_0xe5e547=null;}}const _0x121442=Array[_0x3504de(0x22e)](_0xe5e547?.['plugin'])?_0xe5e547?.['plugin']:[],_0x37faf4=_0x121442['some'](_0x165ba6=>{const _0x2aee55=_0x3504de;if(typeof _0x165ba6!==_0x2aee55(0x250))return![];return _0x165ba6['includes'](_0x3426a9['yGRAR'])||_0x165ba6['includes'](_0x3426a9[_0x2aee55(0x238)]);});if(_0x37faf4){_0x2a1fde[_0x3504de(0x246)](_0x1a0c85,{'status':_0x2a1fde[_0x3504de(0x254)],'details':_0x121442[_0x3504de(0x21e)]>0x0?_0x121442['length']+_0x3504de(0x22a):undefined});return;}if(_0x121442['length']>0x0){_0x2a1fde[_0x3504de(0x1ef)](_0x1a0c85,{'status':_0x3504de(0x1fa),'details':_0x121442[_0x3504de(0x21e)]+'\x20plugin(s)\x20configured'});return;}_0x2a1fde[_0x3504de(0x1ef)](_0x1a0c85,{'status':_0x2a1fde['ZIsgg']});});});}async function getSkillsFromDir(_0x39b93e,_0x58d482){const _0x55b2fd=_0x109d16,_0x1ceee9={'ZvmDf':function(_0x52f241,_0x2afd38){return _0x52f241(_0x2afd38);},'wyxhx':function(_0x5b5012,_0x78df1b,_0x375bd7,_0x50fbce){return _0x5b5012(_0x78df1b,_0x375bd7,_0x50fbce);},'uEHnS':_0x55b2fd(0x211),'IRuxc':function(_0x1a4417,_0x507a34){return _0x1a4417(_0x507a34);}};if(!_0x1ceee9['ZvmDf'](existsSync,_0x39b93e))return[];const _0xc9eeac=[];try{const _0x348957=await readdir(_0x39b93e,{'withFileTypes':!![]});for(const _0x5e1e35 of _0x348957){if(_0x5e1e35['isDirectory']()){const _0x18d623=_0x1ceee9[_0x55b2fd(0x24f)](join,_0x39b93e,_0x5e1e35['name'],_0x1ceee9['uEHnS']);if(_0x1ceee9[_0x55b2fd(0x201)](existsSync,_0x18d623)){let _0x33898b=_0x5e1e35['name'];try{const _0x259559=await readFile(_0x18d623,'utf-8'),_0x220fa6=_0x259559[_0x55b2fd(0x227)](/name:\s*(.+)/);_0x220fa6&&(_0x33898b=_0x220fa6[0x1][_0x55b2fd(0x256)]());}catch{}_0xc9eeac[_0x55b2fd(0x218)]({'name':_0x5e1e35['name'],'displayName':_0x33898b,'path':_0x18d623,'level':_0x58d482});}}}}catch{return[];}return _0xc9eeac;}async function getInstalledSkills(){const _0x5d23e9=_0x109d16,_0x54a9f8={'fptyz':function(_0x1cb30b,_0x45da5c,_0x28f9fe){return _0x1cb30b(_0x45da5c,_0x28f9fe);},'RESQJ':'project','ahLMW':function(_0x165f82){return _0x165f82();},'lVuny':_0x5d23e9(0x220)},[_0x183688,_0x3a9607]=await Promise['all']([_0x54a9f8['fptyz'](getSkillsFromDir,getProjectSkillsDir(),_0x54a9f8[_0x5d23e9(0x210)]),getSkillsFromDir(_0x54a9f8[_0x5d23e9(0x23f)](getUserSkillsDir),_0x54a9f8['lVuny'])]);return{'project':_0x183688,'user':_0x3a9607};}async function getEnvironments(){const _0x457b29=_0x109d16,_0x22cba2={'KKrZv':function(_0x5ce422,_0x55656d){return _0x5ce422(_0x55656d);},'fxMrf':function(_0x72c7ca,_0x10063c,_0x368b8b){return _0x72c7ca(_0x10063c,_0x368b8b);},'OPpML':_0x457b29(0x1f7),'NESCX':_0x457b29(0x235),'gmuRj':function(_0x9f10d8){return _0x9f10d8();},'MLXEM':function(_0x48c315,_0x4f3415){return _0x48c315(_0x4f3415);}},{envNames:_0x54054b,activeEnv:_0x4ff0eb}=await getEnvNames(),_0x5e12b6=_0x22cba2[_0x457b29(0x25b)](getRangerDir);if(!_0x22cba2[_0x457b29(0x228)](existsSync,_0x5e12b6))return{'envs':[],'activeEnv':null};const _0x406c99=_0x54054b['map'](_0x272363=>{const _0x29f183=_0x457b29,_0x3813bd=_0x22cba2['KKrZv'](getEnvDir,_0x272363),_0xf75bfc=_0x22cba2['fxMrf'](join,_0x3813bd,_0x22cba2['OPpML']),_0x1b1852=join(_0x3813bd,'auth.json'),_0x52f9a6=join(_0x3813bd,_0x22cba2['NESCX']);return{'name':_0x272363,'settingsPath':_0x22cba2['KKrZv'](existsSync,_0xf75bfc)?_0xf75bfc:_0x29f183(0x1ee),'hasPlaintextAuth':existsSync(_0x1b1852),'hasEncryptedAuth':existsSync(_0x52f9a6),'isActive':_0x272363===_0x4ff0eb};});return{'envs':_0x406c99,'activeEnv':_0x4ff0eb};}export async function status(){const _0x573c28=_0x109d16,_0x370e24={'McaZd':_0x573c28(0x224),'FoONM':function(_0xf3ec63){return _0xf3ec63();},'XpnZZ':function(_0x200729,_0x247626,_0x1e03b7){return _0x200729(_0x247626,_0x1e03b7);},'cTjlg':function(_0xa7e3f9,_0xa02a5b){return _0xa7e3f9(_0xa02a5b);},'gJUjG':function(_0x18eb40,_0x597ab0){return _0x18eb40(_0x597ab0);},'rSORz':function(_0x11993e,_0x2a8b09){return _0x11993e(_0x2a8b09);},'Unpfj':function(_0x43debd,_0x1ae98f){return _0x43debd!==_0x1ae98f;},'WZYGs':function(_0x59ae67,_0x2b4ee1){return _0x59ae67(_0x2b4ee1);},'DkFVw':function(_0x334243,_0x275afd){return _0x334243(_0x275afd);},'aiomy':_0x573c28(0x236),'gpTGL':function(_0x346305,_0x2ab742){return _0x346305===_0x2ab742;},'apiob':'configured','yBnMO':_0x573c28(0x1fa),'eBrwP':_0x573c28(0x231),'Aieck':_0x573c28(0x22f),'FGXwR':'ranger@trailhead','FrAQk':_0x573c28(0x1eb),'ougpX':_0x573c28(0x20b),'WiMwU':_0x573c28(0x251),'pGYQx':'\x0a---\x20Skills\x20---','dMBJZ':function(_0xe01367,_0x1c6656){return _0xe01367+_0x1c6656;},'Mwkvw':function(_0x21f552,_0x50fc85){return _0x21f552===_0x50fc85;},'BQlbF':_0x573c28(0x1ea),'ouAsg':function(_0x12d653,_0x5accdf){return _0x12d653>_0x5accdf;},'traOP':'\x20\x20Project-level:','FkbGF':function(_0x4b53d5,_0x35c1da){return _0x4b53d5(_0x35c1da);},'qDyRB':'\x20\x20User-level:','OLVZQ':'\x20(active)','FpoCo':function(_0x13f006,_0x46f5e6){return _0x13f006(_0x46f5e6);},'wyOGa':'plaintext','LibuK':'(not\x20found)'};console[_0x573c28(0x23e)](_0x370e24['McaZd']);const _0x2332b3=process[_0x573c28(0x21b)](),_0x212370=_0x370e24['FoONM'](getRangerDir);if(!existsSync(_0x212370)){console['log'](_0x573c28(0x245)+_0x370e24['XpnZZ'](link,_0x2332b3,_0x370e24[_0x573c28(0x22c)](bold,basename(_0x2332b3)))),console[_0x573c28(0x23e)](_0x573c28(0x22d)),console[_0x573c28(0x23e)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x573c28(0x245)+link(_0x2332b3,_0x370e24[_0x573c28(0x222)](bold,_0x370e24[_0x573c28(0x21c)](basename,_0x2332b3))));const _0x174be7=getCurrentVersion(),_0x32d28b=_0x370e24['FoONM'](getLatestVersion);if(_0x32d28b[_0x573c28(0x1ec)]&&_0x370e24['Unpfj'](_0x32d28b['version'],_0x174be7))console[_0x573c28(0x23e)](_0x573c28(0x243)+_0x174be7+'\x20(latest:\x20'+_0x32d28b[_0x573c28(0x1ec)]+')'),console['log'](_0x573c28(0x23c));else _0x32d28b['version']?console[_0x573c28(0x23e)]('Version:\x20'+_0x174be7+_0x573c28(0x21d)):console['log']('Version:\x20'+_0x174be7);const _0x52148f=await getToken();if(_0x52148f){const _0x2d2901=await _0x370e24['WZYGs'](getCurrentUser,_0x52148f);_0x2d2901[_0x573c28(0x20a)]?console['log']('Organization:\x20'+_0x370e24[_0x573c28(0x25c)](bold,_0x2d2901['user'][_0x573c28(0x202)])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x573c28(0x23e)](_0x573c28(0x23d)),console['log'](_0x573c28(0x242));process[_0x573c28(0x1f6)]['DEBUG']&&(console['log'](_0x573c28(0x1f0)+getCurrentEnvironment()),console[_0x573c28(0x23e)](_0x573c28(0x233)+_0x370e24[_0x573c28(0x204)](getApiBaseUrl)));console[_0x573c28(0x23e)](_0x370e24['aiomy']);const _0x4e1237=await getOpencodePluginStatus();if(_0x370e24[_0x573c28(0x24b)](_0x4e1237[_0x573c28(0x258)],_0x370e24[_0x573c28(0x229)]))console[_0x573c28(0x23e)]('\x20\x20'+_0x370e24['cTjlg'](bold,_0x573c28(0x206))+_0x573c28(0x20c)),_0x4e1237['details']&&console['log']('\x20\x20'+_0x4e1237['details']);else _0x370e24[_0x573c28(0x24b)](_0x4e1237[_0x573c28(0x258)],_0x370e24['yBnMO'])?(console[_0x573c28(0x23e)]('\x20\x20Not\x20configured'),_0x4e1237[_0x573c28(0x225)]&&console[_0x573c28(0x23e)]('\x20\x20'+_0x4e1237[_0x573c28(0x225)]),console['log'](_0x573c28(0x1f9))):console[_0x573c28(0x23e)](_0x370e24[_0x573c28(0x221)]);console[_0x573c28(0x23e)](_0x370e24['Aieck']);const _0xcf9f8c=await getPluginInfo(_0x370e24[_0x573c28(0x1fd)]);if(_0xcf9f8c){const _0x27d8e2=_0xcf9f8c[_0x573c28(0x25a)]||_0x370e24[_0x573c28(0x205)],_0x531b90=_0xcf9f8c['enabled']?_0x370e24[_0x573c28(0x215)]:'disabled';console[_0x573c28(0x23e)]('\x20\x20'+bold(_0x573c28(0x212))+':\x20installed\x20('+_0x27d8e2+',\x20'+_0x531b90+')');}else console[_0x573c28(0x23e)](_0x573c28(0x203)),console[_0x573c28(0x23e)](_0x370e24[_0x573c28(0x257)]);console['log'](_0x370e24['pGYQx']);const {project:_0x586908,user:_0x3044f0}=await getInstalledSkills(),_0x1e740c=_0x586908[_0x573c28(0x1e7)](_0x2420a4=>RANGER_MANAGED_SKILLS['includes'](_0x2420a4['name'])),_0x36b9c2=_0x3044f0['filter'](_0x13f4a4=>RANGER_MANAGED_SKILLS['includes'](_0x13f4a4['name'])),_0x229d8b=_0x370e24['dMBJZ'](_0x1e740c['length'],_0x36b9c2['length']);if(_0x370e24[_0x573c28(0x1f8)](_0x229d8b,0x0))console[_0x573c28(0x23e)](_0x370e24['BQlbF']),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x370e24['ouAsg'](_0x1e740c['length'],0x0)){console['log'](_0x370e24[_0x573c28(0x1fb)]);for(const _0x3c32d4 of _0x1e740c){console['log']('\x20\x20\x20\x20'+_0x370e24['gJUjG'](bold,_0x3c32d4[_0x573c28(0x1fc)])+':\x20'+link(_0x3c32d4['path'],_0x370e24[_0x573c28(0x1fe)](basename,_0x3c32d4['path'])));}}if(_0x36b9c2['length']>0x0){console[_0x573c28(0x23e)](_0x370e24['qDyRB']);for(const _0x499788 of _0x36b9c2){console['log'](_0x573c28(0x21a)+_0x370e24['DkFVw'](bold,_0x499788[_0x573c28(0x1fc)])+':\x20'+link(_0x499788['path'],_0x370e24[_0x573c28(0x1fe)](basename,_0x499788[_0x573c28(0x21f)])));}}}console['log'](_0x573c28(0x1f2));const {envs:_0x3717b9,activeEnv:_0x3c6b79}=await getEnvironments();let _0x4fcd44=[];if(_0x52148f)try{_0x4fcd44=await _0x370e24['FoONM'](listCloudProfiles);}catch{}const _0x6b135c=_0x370e24[_0x573c28(0x248)](_0x3717b9['length'],_0x4fcd44[_0x573c28(0x21e)]);if(_0x6b135c===0x0)console['log']('No\x20profiles\x20configured'),console[_0x573c28(0x23e)](_0x573c28(0x23a));else{if(_0x6b135c>0x5){const _0x5b0bf5=[];_0x4fcd44[_0x573c28(0x21e)]>0x0&&_0x5b0bf5['push'](_0x4fcd44['length']+'\x20cloud'),_0x370e24['ouAsg'](_0x3717b9['length'],0x0)&&_0x5b0bf5['push'](_0x3717b9['length']+_0x573c28(0x24a)),console['log'](_0x6b135c+'\x20profiles\x20configured\x20('+_0x5b0bf5['join'](',\x20')+')'),_0x3c6b79&&console['log']('\x20\x20Active:\x20'+_0x370e24['FkbGF'](bold,_0x3c6b79)),console[_0x573c28(0x23e)](_0x573c28(0x1e8));}else{for(const _0x31fe89 of _0x4fcd44){const _0x49e2d8=_0x370e24['Mwkvw'](_0x31fe89['name'],_0x3c6b79)?_0x370e24[_0x573c28(0x22b)]:'';console['log']('\x20\x20'+_0x370e24[_0x573c28(0x213)](bold,_0x31fe89[_0x573c28(0x24d)])+_0x573c28(0x1ff)+_0x49e2d8);const _0x45d05c=_0x31fe89[_0x573c28(0x1f4)]?'cached\x20(updated\x20'+_0x31fe89['sessionUpdatedAt']+')':_0x573c28(0x1f1);console[_0x573c28(0x23e)](_0x573c28(0x23b)+_0x45d05c);}const _0x4f1a08=new Set(_0x4fcd44[_0x573c28(0x240)](_0x344485=>_0x344485['name']));for(const _0x5608d1 of _0x3717b9){if(_0x4f1a08[_0x573c28(0x209)](_0x5608d1[_0x573c28(0x24d)]))continue;const _0x45bd37=_0x5608d1[_0x573c28(0x24e)]?'\x20(active)':'',_0x5ca76f=_0x5608d1['hasEncryptedAuth']?'encrypted':_0x5608d1['hasPlaintextAuth']?_0x370e24[_0x573c28(0x219)]:_0x573c28(0x249);console['log']('\x20\x20'+bold(_0x5608d1[_0x573c28(0x24d)])+_0x573c28(0x226)+_0x45bd37),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x5ca76f),_0x370e24[_0x573c28(0x230)](_0x5608d1[_0x573c28(0x239)],_0x370e24['LibuK'])&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x370e24[_0x573c28(0x216)](link,_0x5608d1['settingsPath'],basename(_0x5608d1[_0x573c28(0x239)])));}if(!_0x3c6b79){console['log'](_0x573c28(0x223));const _0x17f434=[..._0x4fcd44[_0x573c28(0x240)](_0x4303e3=>_0x4303e3['name']),..._0x3717b9[_0x573c28(0x1e7)](_0xb902bb=>!_0x4f1a08['has'](_0xb902bb['name']))[_0x573c28(0x240)](_0x34e589=>_0x34e589['name'])];console[_0x573c28(0x23e)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x17f434['join'](',\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)]('');}