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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/playwrightCli.js +1 -1
  60. package/build/commands/utils/profileMessages.js +1 -1
  61. package/build/commands/utils/profileSetupBanner.js +1 -1
  62. package/build/commands/utils/projectsConfig.js +1 -1
  63. package/build/commands/utils/rangerConfig.js +1 -1
  64. package/build/commands/utils/rangerRoot.js +1 -1
  65. package/build/commands/utils/resolveProfileContext.js +1 -1
  66. package/build/commands/utils/resolveProfileUrl.js +1 -1
  67. package/build/commands/utils/retry.js +1 -1
  68. package/build/commands/utils/sessionCache.js +1 -1
  69. package/build/commands/utils/settings.js +1 -1
  70. package/build/commands/utils/skillContent.js +1 -1
  71. package/build/commands/utils/skills.js +1 -1
  72. package/build/commands/utils/stitchWebmFiles.js +1 -1
  73. package/build/commands/utils/telemetry.js +1 -1
  74. package/build/commands/utils/tokenRefresh.js +1 -1
  75. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  76. package/build/commands/utils/userApi.js +1 -1
  77. package/build/commands/utils/version.js +1 -1
  78. package/build/commands/verifyFeature.js +1 -1
  79. package/build/commands/verifyFeatureCli.js +1 -1
  80. package/build/commands/verifyFeatureNovaCli.js +1 -1
  81. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x97e857,_0x1e0a26){const _0x553e6c=_0x16f9,_0x18393a=_0x97e857();while(!![]){try{const _0x371baa=parseInt(_0x553e6c(0x143))/0x1+parseInt(_0x553e6c(0x138))/0x2*(parseInt(_0x553e6c(0x136))/0x3)+-parseInt(_0x553e6c(0x145))/0x4+parseInt(_0x553e6c(0x141))/0x5*(parseInt(_0x553e6c(0x147))/0x6)+-parseInt(_0x553e6c(0x142))/0x7*(-parseInt(_0x553e6c(0x13d))/0x8)+-parseInt(_0x553e6c(0x146))/0x9+-parseInt(_0x553e6c(0x148))/0xa;if(_0x371baa===_0x1e0a26)break;else _0x18393a['push'](_0x18393a['shift']());}catch(_0x2688d7){_0x18393a['push'](_0x18393a['shift']());}}}(_0x251b,0x70703));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 _0xc73b99=_0x16f9,_0x21e1f4={'yxGTo':function(_0x3fa7df){return _0x3fa7df();},'qnBGf':_0xc73b99(0x137),'RBQyr':function(_0x294f88){return _0x294f88();},'qQQrA':function(_0x5dd825,_0x30c448){return _0x5dd825(_0x30c448);}},_0x495c78=await _0x21e1f4[_0xc73b99(0x13a)](getMcpAuthOrigin);if(_0x495c78){console[_0xc73b99(0x139)](_0x21e1f4[_0xc73b99(0x13e)]),await mcpBootstrap();return;}if(!_0x21e1f4[_0xc73b99(0x135)](isInteractive))throw new Error(_0xc73b99(0x13f));try{const _0x4a3f80=await runDeviceAuthFlow(),_0x31d7bd=await _0x21e1f4['qQQrA'](getCurrentUser,_0x4a3f80);_0x31d7bd[_0xc73b99(0x140)]?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x31d7bd[_0xc73b99(0x144)][_0xc73b99(0x149)]):console[_0xc73b99(0x139)](_0xc73b99(0x13c));}catch(_0x2aad47){throw new Error(_0xc73b99(0x13b)+(_0x2aad47 instanceof Error?_0x2aad47['message']:_0x2aad47));}}function _0x16f9(_0x2dcb27,_0x4c424c){_0x2dcb27=_0x2dcb27-0x135;const _0x251b5e=_0x251b();let _0x16f91a=_0x251b5e[_0x2dcb27];return _0x16f91a;}function _0x251b(){const _0x133a5d=['499729vDxOfD','user','442088fqLwfm','5905944TAKMtK','108156ukbeeu','7182290PEZmqn','organizationName','RBQyr','57NXtTSI','Re-authenticating\x20via\x20MCP\x20bootstrap...','60886fOSBge','log','yxGTo','Login\x20failed:\x20','\x0a✅\x20API\x20key\x20stored\x20successfully','3333744qaRBML','qnBGf','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','success','125sTeYlC','7kmyJCl'];_0x251b=function(){return _0x133a5d;};return _0x251b();}
1
+ (function(_0x2f0d15,_0x27981e){const _0x2fb3f8=_0x5f55,_0x1e22f2=_0x2f0d15();while(!![]){try{const _0x9ee772=-parseInt(_0x2fb3f8(0x16b))/0x1+-parseInt(_0x2fb3f8(0x163))/0x2*(parseInt(_0x2fb3f8(0x15e))/0x3)+parseInt(_0x2fb3f8(0x170))/0x4*(parseInt(_0x2fb3f8(0x164))/0x5)+parseInt(_0x2fb3f8(0x171))/0x6+-parseInt(_0x2fb3f8(0x167))/0x7+parseInt(_0x2fb3f8(0x16e))/0x8+parseInt(_0x2fb3f8(0x161))/0x9*(parseInt(_0x2fb3f8(0x16c))/0xa);if(_0x9ee772===_0x27981e)break;else _0x1e22f2['push'](_0x1e22f2['shift']());}catch(_0x216742){_0x1e22f2['push'](_0x1e22f2['shift']());}}}(_0x2d15,0x436c5));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x2d15(){const _0x247a67=['587043vYUpru','\x0a✅\x20Logged\x20in\x20to\x20','1756nIOfID','1995kNyfnp','success','MYLkd','383586HeeLSf','\x0a✅\x20API\x20key\x20stored\x20successfully','message','user','539351GtkjXj','10UdPibu','log','1783336AWUGZd','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','5516WuEfaT','1529766xfzqdV','pHnXW','762bSCvEZ','Login\x20failed:\x20','organizationName'];_0x2d15=function(){return _0x247a67;};return _0x2d15();}function _0x5f55(_0x317919,_0x58895f){_0x317919=_0x317919-0x15e;const _0x2d159e=_0x2d15();let _0x5f559e=_0x2d159e[_0x317919];return _0x5f559e;}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x58e5ea=_0x5f55,_0x2b0131={'uPOdO':function(_0x41739f){return _0x41739f();},'tDnnD':function(_0x2afad9){return _0x2afad9();},'MYLkd':function(_0xb591d,_0x200e1d){return _0xb591d(_0x200e1d);},'pHnXW':_0x58e5ea(0x168)},_0x3f2403=await getMcpAuthOrigin();if(_0x3f2403){console['log']('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await mcpBootstrap();return;}if(!_0x2b0131['uPOdO'](isInteractive))throw new Error(_0x58e5ea(0x16f));try{const _0xbd6563=await _0x2b0131['tDnnD'](runDeviceAuthFlow),_0x3ba24d=await _0x2b0131[_0x58e5ea(0x166)](getCurrentUser,_0xbd6563);_0x3ba24d[_0x58e5ea(0x165)]?console[_0x58e5ea(0x16d)](_0x58e5ea(0x162)+_0x3ba24d[_0x58e5ea(0x16a)][_0x58e5ea(0x160)]):console[_0x58e5ea(0x16d)](_0x2b0131[_0x58e5ea(0x172)]);}catch(_0xa75ef6){throw new Error(_0x58e5ea(0x15f)+(_0xa75ef6 instanceof Error?_0xa75ef6[_0x58e5ea(0x169)]:_0xa75ef6));}}
@@ -1 +1 @@
1
- const _0x51ab1e=_0x169f;function _0x169f(_0x250ef7,_0x4a1191){_0x250ef7=_0x250ef7-0x144;const _0x335a58=_0x335a();let _0x169f29=_0x335a58[_0x250ef7];return _0x169f29;}function _0x335a(){const _0x3fc26b=['NsBKc','refreshToken','yGlKo','bPeQU','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','77ggiWNh','jmlKx','authorization_servers','\x0aOpening\x20browser\x20for\x20authentication...','hex','toString','aZsKw','text/html','origin','get','slice','http://localhost:','2.0','RSiaH','authorization_code','dnbfw','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','clientId','qZxzN','qpMai','write','1095984WcGfVp','mcp-oauth-tokens.json','message','replace','auth-origin.txt','nsxld','response_type','ppnqC','/.well-known/oauth-authorization-server','Authorization','TMqrr','get_cli_token\x20failed:\x20','BDXPs','lbSXG','LqSaW','utf-8','\x0aUnexpected\x20response\x20structure:','isError','writeHead','Token\x20exchange\x20failed:\x20','accessToken','1924480pOZtSw','registration_endpoint','error','application/json','text','text/event-stream','PGhaQ','code','headers','error_description','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','parse','data:','Ranger\x20CLI','Discovering\x20authorization\x20server...','vExwN','OAuthTimeoutError','bVtgj','searchParams','/.well-known/oauth-protected-resource','token','close','CWQpb','stringify','AObse','1412832AfnUUf','trim','191892ayzuRR','Requesting\x20CLI\x20token...','code_challenge','SpAcX','expiresAt','stdout','DDHoK','refresh_token','.ranger','Initializing\x20MCP\x20session...','315208yuCfNH','ShgRM','get_cli_token','1.0.0','win32','redirect_uri','ifrSJ','tools/call','client_id','log','9794088YczFJx','JiqiZ','state','hSJGv','fYPcq','maBqd','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','2025-03-26','zwtdY','CTtOM','VMiAS','xtkbM','ZsQxW','initialize','resource','dSaqS','isTTY','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','json','set','2XZLPmo','127.0.0.1','POST','JCLmM','split','structuredContent','XammJ','KHvPo','3613630DaCrmo','/callback','lSylx','QgPLD','LLuhh','end','proxied','status','now'];_0x335a=function(){return _0x3fc26b;};return _0x335a();}(function(_0x3ee9db,_0x264bb1){const _0x592560=_0x169f,_0x65c5de=_0x3ee9db();while(!![]){try{const _0x2fce73=-parseInt(_0x592560(0x161))/0x1*(-parseInt(_0x592560(0x189))/0x2)+parseInt(_0x592560(0x1b4))/0x3+-parseInt(_0x592560(0x146))/0x4+parseInt(_0x592560(0x191))/0x5+parseInt(_0x592560(0x15f))/0x6+parseInt(_0x592560(0x19f))/0x7*(parseInt(_0x592560(0x16b))/0x8)+-parseInt(_0x592560(0x175))/0x9;if(_0x2fce73===_0x264bb1)break;else _0x65c5de['push'](_0x65c5de['shift']());}catch(_0x51df8a){_0x65c5de['push'](_0x65c5de['shift']());}}}(_0x335a,0x5ca55));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(),_0x51ab1e(0x169),_0x51ab1e(0x1b5)),AUTH_ORIGIN_PATH=join(homedir(),_0x51ab1e(0x169),_0x51ab1e(0x1b8));export async function getMcpAuthOrigin(){const _0x1e2255=_0x51ab1e,_0x37c6f3={'ShgRM':function(_0x33ac12,_0x405f91,_0x1b546e){return _0x33ac12(_0x405f91,_0x1b546e);},'JCLmM':_0x1e2255(0x1c3)};try{const _0x5cfcfd=(await _0x37c6f3[_0x1e2255(0x16c)](readFile,AUTH_ORIGIN_PATH,_0x37c6f3[_0x1e2255(0x18c)]))['trim']();return _0x5cfcfd||null;}catch{return null;}}export async function mcpBootstrap(){const _0x4788c7=_0x51ab1e,_0x593839={'PGhaQ':function(_0x1dcecf,_0x145ea8){return _0x1dcecf(_0x145ea8);},'ppnqC':function(_0x21cd2f,_0x24344e){return _0x21cd2f===_0x24344e;},'fRlum':_0x4788c7(0x197),'gcxoJ':function(_0x278c51){return _0x278c51();},'jmlKx':function(_0x1a27ed,_0x5d31e7){return _0x1a27ed+_0x5d31e7;},'vExwN':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'},_0x3c5133=getMcpAuthUrl();currentOrigin=_0x3c5133;const _0x4d2d62=process[_0x4788c7(0x166)][_0x4788c7(0x185)]??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x3c5133+'\x0a');const _0x26dbb1=await _0x593839[_0x4788c7(0x14c)](tryUnauthenticated,_0x3c5133);let _0x407993=null;if(_0x593839[_0x4788c7(0x1bb)](_0x26dbb1,_0x593839['fRlum']))_0x407993='';else{_0x407993=await _0x593839['gcxoJ'](loadCachedToken);if(!_0x407993){if(!_0x4d2d62)throw new Error(_0x593839[_0x4788c7(0x1a0)](_0x593839[_0x4788c7(0x155)],'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'));_0x407993=await oauthFlow(_0x3c5133);}}await callGetCliToken(_0x3c5133,_0x407993);}async function tryUnauthenticated(_0x56be17){const _0x4d66cc=_0x51ab1e,_0x36b439={'QgPLD':function(_0x5377ef,_0x473618,_0x249d21){return _0x5377ef(_0x473618,_0x249d21);},'XXZZo':_0x4d66cc(0x18b),'USAJF':'application/json','lSylx':'application/json,\x20text/event-stream','IxkQM':_0x4d66cc(0x1ab),'bVtgj':_0x4d66cc(0x182),'zwtdY':_0x4d66cc(0x16e),'fWijl':_0x4d66cc(0x197)},_0x447449=await _0x36b439[_0x4d66cc(0x194)](fetch,_0x56be17,{'method':_0x36b439['XXZZo'],'headers':{'Content-Type':_0x36b439['USAJF'],'Accept':_0x36b439[_0x4d66cc(0x193)]},'body':JSON[_0x4d66cc(0x15d)]({'jsonrpc':_0x36b439['IxkQM'],'id':0x1,'method':_0x36b439[_0x4d66cc(0x157)],'params':{'protocolVersion':_0x4d66cc(0x17c),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x36b439[_0x4d66cc(0x17d)]}}})});if(_0x447449['ok'])return await _0x447449['text'](),_0x36b439['fWijl'];if(_0x447449[_0x4d66cc(0x198)]===0x191)return await _0x447449['text'](),'needs-oauth';const _0x584779=await _0x447449[_0x4d66cc(0x14a)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x447449['status']+':\x20'+_0x584779);}class OAuthTimeoutError extends Error{constructor(_0x8f9389){const _0xd0e039=_0x51ab1e,_0x59a5d9={'RLjlb':_0xd0e039(0x156)};super(_0x8f9389),this['name']=_0x59a5d9['RLjlb'];}}async function oauthFlow(_0x30d093){const _0x2c1246=_0x51ab1e,_0x43ddb9={'oShFH':function(_0x3a9233){return _0x3a9233();},'CTtOM':function(_0x4b9c8e,_0x54d254){return _0x4b9c8e(_0x54d254);}};try{return await oauthFlowAttempt(_0x30d093);}catch(_0x3e0667){if(_0x3e0667 instanceof OAuthTimeoutError&&await loadCachedClient())return console[_0x2c1246(0x174)]('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await _0x43ddb9['oShFH'](clearCachedClient),await _0x43ddb9[_0x2c1246(0x17e)](oauthFlowAttempt,_0x30d093);throw _0x3e0667;}}async function oauthFlowAttempt(_0x3cf36d){const _0x239200=_0x51ab1e,_0x4a53ce={'GfwPw':_0x239200(0x154),'vysHU':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','UPnwX':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','mxqsq':function(_0x52c186,_0xa1953b){return _0x52c186(_0xa1953b);},'qUisR':_0x239200(0x153),'qZxzN':_0x239200(0x1ad),'VMiAS':'refresh_token','TZrpC':'\x20done','qpMai':_0x239200(0x186),'JiqiZ':function(_0x2d5558,_0x554d49){return _0x2d5558(_0x554d49);},'nsxld':'base64url','gaHhz':function(_0x411c8b,_0x447cf0){return _0x411c8b(_0x447cf0);},'AObse':'sha256','lbSXG':_0x239200(0x1a3),'KIfkt':_0x239200(0x1ba),'eIwlE':_0x239200(0x170),'RuLAN':_0x239200(0x163),'xtkbM':'code_challenge_method','rmGXN':'resource','REEqV':_0x239200(0x1a2),'Pslbr':function(_0x5838a1,_0x57d066){return _0x5838a1(_0x57d066);},'CgiSZ':'Exchanging\x20authorization\x20code...','VrHOh':'client_secret','yLwUN':function(_0x1b2bbe,_0x516f11,_0x416092){return _0x1b2bbe(_0x516f11,_0x416092);},'KHvPo':'application/x-www-form-urlencoded'},_0x5b7b5a=_0x3cf36d[_0x239200(0x1b7)](/\/mcp$/,'');process[_0x239200(0x166)]['write'](_0x4a53ce['GfwPw']);const _0x2a4e31=await fetch(_0x5b7b5a+_0x239200(0x159));if(!_0x2a4e31['ok'])throw new Error(_0x4a53ce['vysHU']);const _0x33aff0=await _0x2a4e31['json'](),_0x3bd0fe=_0x33aff0[_0x239200(0x1a1)]?.[0x0];if(!_0x3bd0fe)throw new Error(_0x4a53ce['UPnwX']);console[_0x239200(0x174)]('\x20'+_0x3bd0fe);const _0x4c819c=await _0x4a53ce['mxqsq'](fetchAuthServerMetadata,_0x3bd0fe);let _0x5eea4f,_0x5808e4;const _0x18d40d=await loadCachedClient();if(_0x18d40d)_0x5eea4f=_0x18d40d['clientId'],_0x5808e4=_0x18d40d['clientSecret'];else{if(_0x4c819c['registration_endpoint']){process['stdout'][_0x239200(0x1b3)]('Registering\x20OAuth\x20client...');const _0x572de2=await fetch(_0x4c819c[_0x239200(0x147)],{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'client_name':_0x4a53ce['qUisR'],'redirect_uris':[_0x239200(0x1aa)+CALLBACK_PORT+'/callback'],'grant_types':[_0x4a53ce[_0x239200(0x1b1)],_0x4a53ce[_0x239200(0x17f)]],'response_types':['code'],'token_endpoint_auth_method':'none'})});if(!_0x572de2['ok']){const _0x27a376=await _0x572de2[_0x239200(0x14a)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x27a376);}const _0x2de5dc=await _0x572de2[_0x239200(0x187)]();_0x5eea4f=_0x2de5dc[_0x239200(0x173)],_0x5808e4=_0x2de5dc['client_secret'],await saveCachedClient(_0x5eea4f,_0x5808e4),console[_0x239200(0x174)](_0x4a53ce['TZrpC']);}else throw new Error(_0x4a53ce[_0x239200(0x1b2)]);}const _0x26d080=_0x4a53ce[_0x239200(0x176)](randomBytes,0x20)['toString'](_0x4a53ce[_0x239200(0x1b9)]),_0x294d30=_0x4a53ce['gaHhz'](createHash,_0x4a53ce[_0x239200(0x15e)])['update'](_0x26d080)['digest'](_0x4a53ce[_0x239200(0x1b9)]),_0x48eaa1=_0x4a53ce['gaHhz'](randomBytes,0x10)[_0x239200(0x1a4)](_0x4a53ce[_0x239200(0x1c1)]),_0x55a200=new URL(_0x4c819c['authorization_endpoint']);_0x55a200['searchParams']['set'](_0x4a53ce['KIfkt'],_0x239200(0x14d)),_0x55a200['searchParams'][_0x239200(0x188)](_0x239200(0x173),_0x5eea4f),_0x55a200['searchParams'][_0x239200(0x188)](_0x4a53ce['eIwlE'],_0x239200(0x1aa)+CALLBACK_PORT+'/callback'),_0x55a200[_0x239200(0x158)][_0x239200(0x188)](_0x4a53ce['RuLAN'],_0x294d30),_0x55a200[_0x239200(0x158)][_0x239200(0x188)](_0x4a53ce[_0x239200(0x180)],'S256'),_0x55a200[_0x239200(0x158)]['set']('state',_0x48eaa1);_0x33aff0[_0x239200(0x183)]&&_0x55a200['searchParams'][_0x239200(0x188)](_0x4a53ce['rmGXN'],_0x33aff0['resource']);console[_0x239200(0x174)](_0x4a53ce['REEqV']),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x55a200[_0x239200(0x1a4)]()+'\x0a'),await openBrowser(_0x55a200['toString']());const _0x34ec32=await _0x4a53ce['Pslbr'](waitForCallback,_0x48eaa1);process[_0x239200(0x166)][_0x239200(0x1b3)](_0x4a53ce['CgiSZ']);const _0x1d157c=new URLSearchParams({'grant_type':'authorization_code','code':_0x34ec32,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x5eea4f,'code_verifier':_0x26d080});_0x5808e4&&_0x1d157c[_0x239200(0x188)](_0x4a53ce['VrHOh'],_0x5808e4);_0x33aff0['resource']&&_0x1d157c[_0x239200(0x188)](_0x239200(0x183),_0x33aff0['resource']);const _0x377061=await _0x4a53ce['yLwUN'](fetch,_0x4c819c['token_endpoint'],{'method':'POST','headers':{'Content-Type':_0x4a53ce[_0x239200(0x190)]},'body':_0x1d157c});if(!_0x377061['ok']){const _0x310b99=await _0x377061['text']();throw new Error(_0x239200(0x144)+_0x310b99);}const _0x444d97=await _0x377061[_0x239200(0x187)]();return console['log']('\x20done'),await saveCachedToken(_0x444d97['access_token'],_0x444d97[_0x239200(0x168)],_0x444d97['expires_in']),_0x444d97['access_token'];}async function callGetCliToken(_0x4b50e1,_0x447bc0){const _0xd99194=_0x51ab1e,_0xd2b839={'bPeQU':_0xd99194(0x149),'wOEJQ':function(_0x3cf645,_0x5ee155){return _0x3cf645(_0x5ee155);},'DDHoK':'2025-03-26','Uqaef':'\x20done','aTdiI':function(_0x20b288,_0x5d4587,_0x4fbc15){return _0x20b288(_0x5d4587,_0x4fbc15);},'EBpZa':_0xd99194(0x18b),'yGlKo':'notifications/initialized','xunHG':_0xd99194(0x1c4),'waESQ':function(_0x44907e,_0x311bf9,_0x12db5b){return _0x44907e(_0x311bf9,_0x12db5b);},'fYPcq':function(_0xe4d316){return _0xe4d316();},'uomlz':'.ranger','maBqd':'auth-origin.txt'},_0xc5f668={'Content-Type':_0xd2b839[_0xd99194(0x19d)],'Accept':'application/json,\x20text/event-stream'};_0x447bc0&&(_0xc5f668[_0xd99194(0x1bd)]='Bearer\x20'+_0x447bc0);const _0x103914=async _0x1fd746=>{const _0x13a4d8=_0xd99194,_0xa6d39=await fetch(_0x4b50e1,{'method':_0x13a4d8(0x18b),'headers':_0xc5f668,'body':JSON[_0x13a4d8(0x15d)](_0x1fd746)});if(!_0xa6d39['ok']){const _0x1e73d7=await _0xa6d39['text']();throw new Error('HTTP\x20'+_0xa6d39[_0x13a4d8(0x198)]+':\x20'+_0x1e73d7);}return parseResponse(_0xa6d39);};process[_0xd99194(0x166)][_0xd99194(0x1b3)](_0xd99194(0x16a));const _0x1b81d8=await _0xd2b839['wOEJQ'](_0x103914,{'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0xd2b839[_0xd99194(0x167)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0xd99194(0x16e)}}});if(_0x1b81d8['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x1b81d8[_0xd99194(0x148)][_0xd99194(0x1b6)]??JSON[_0xd99194(0x15d)](_0x1b81d8[_0xd99194(0x148)])));console['log'](_0xd2b839['Uqaef']),await _0xd2b839['aTdiI'](fetch,_0x4b50e1,{'method':_0xd2b839['EBpZa'],'headers':_0xc5f668,'body':JSON[_0xd99194(0x15d)]({'jsonrpc':'2.0','method':_0xd2b839[_0xd99194(0x19c)]})})['then'](_0x2e1c7c=>_0x2e1c7c[_0xd99194(0x14a)]()),process['stdout']['write'](_0xd99194(0x162));const _0x25ef0d=await _0x103914({'jsonrpc':'2.0','id':0x2,'method':_0xd99194(0x172),'params':{'name':_0xd99194(0x16d),'arguments':{}}});if(_0x25ef0d['error'])throw new Error(_0xd99194(0x1bf)+(_0x25ef0d['error'][_0xd99194(0x1b6)]??JSON['stringify'](_0x25ef0d[_0xd99194(0x148)])));console[_0xd99194(0x174)](_0xd2b839['Uqaef']);const _0x251f89=extractToken(_0x25ef0d['result']);if(!_0x251f89){console[_0xd99194(0x148)](_0xd2b839['xunHG']),console[_0xd99194(0x148)](JSON['stringify'](_0x25ef0d['result'],null,0x2));throw new Error(_0xd99194(0x150));}const _0x5c0ee0=_0xd2b839['waESQ'](join,_0xd2b839[_0xd99194(0x179)](homedir),_0xd2b839['uomlz']),_0x50b2c4=join(_0x5c0ee0,'refresh.txt');await mkdir(_0x5c0ee0,{'recursive':!![]}),await writeFile(_0x50b2c4,_0x251f89,{'mode':0x180}),await writeFile(join(_0x5c0ee0,_0xd2b839[_0xd99194(0x17a)]),_0x4b50e1,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x50b2c4),console[_0xd99194(0x174)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x5ef744){const _0x5cb45a=_0x51ab1e,_0x370ff0={'aZsKw':function(_0x1a8c2b,_0x7eb08a){return _0x1a8c2b(_0x7eb08a);}},_0xa3cb7a=_0x5ef744+_0x5cb45a(0x1bc),_0x52aa4f=await _0x370ff0[_0x5cb45a(0x1a5)](fetch,_0xa3cb7a);if(!_0x52aa4f['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0xa3cb7a+':\x20'+_0x52aa4f[_0x5cb45a(0x198)]);return _0x52aa4f['json']();}function waitForCallback(_0x4a062a){const _0x47704a=_0x51ab1e,_0x347812={'ifrSJ':_0x47704a(0x1af),'SpAcX':'code','JslLw':_0x47704a(0x17b),'dSaqS':_0x47704a(0x19e)};return new Promise((_0xdcbe73,_0x1d10d0)=>{const _0x5a9753=_0x47704a,_0x4505bf={'xCjBv':_0x347812[_0x5a9753(0x171)],'DposO':function(_0x1170f2,_0x4d68bb){return _0x1170f2!==_0x4d68bb;},'DnPpi':_0x5a9753(0x192),'XammJ':_0x347812[_0x5a9753(0x164)],'BDXPs':_0x5a9753(0x1a6),'TMqrr':_0x347812['JslLw'],'pxoUp':_0x347812[_0x5a9753(0x184)],'LqSaW':function(_0x3be062,_0x2bc30b){return _0x3be062(_0x2bc30b);}},_0x17efba=()=>{const _0x37eb3c=_0x5a9753;_0x33d35c['closeAllConnections'](),_0x33d35c[_0x37eb3c(0x15b)]();},_0x36b1cd=setTimeout(()=>{_0x17efba(),_0x1d10d0(new OAuthTimeoutError(_0x4505bf['xCjBv']));},0x1d4c0),_0x33d35c=createServer((_0x4260e2,_0x284ef1)=>{const _0x2bf8e5=_0x5a9753,_0x418f2c=new URL(_0x4260e2['url']??'/',_0x2bf8e5(0x1aa)+CALLBACK_PORT);if(_0x4505bf['DposO'](_0x418f2c['pathname'],_0x4505bf['DnPpi'])){_0x284ef1[_0x2bf8e5(0x1c6)](0x194),_0x284ef1[_0x2bf8e5(0x196)]('Not\x20found');return;}const _0x57f0cf=_0x418f2c['searchParams']['get'](_0x4505bf[_0x2bf8e5(0x18f)]),_0x4d3c42=_0x418f2c['searchParams']['get'](_0x2bf8e5(0x177)),_0x2e047d=_0x418f2c[_0x2bf8e5(0x158)][_0x2bf8e5(0x1a8)]('error');if(_0x2e047d){const _0x4d2620=_0x418f2c['searchParams']['get'](_0x2bf8e5(0x14f))??_0x2e047d;_0x284ef1['writeHead'](0xc8,{'Content-Type':_0x4505bf[_0x2bf8e5(0x1c0)]}),_0x284ef1['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x4d2620+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x36b1cd),_0x17efba(),_0x1d10d0(new Error('OAuth\x20error:\x20'+_0x4d2620));return;}if(!_0x57f0cf||_0x4d3c42!==_0x4a062a){_0x284ef1['writeHead'](0x190,{'Content-Type':_0x2bf8e5(0x1a6)}),_0x284ef1['end'](_0x4505bf[_0x2bf8e5(0x1be)]);return;}_0x284ef1[_0x2bf8e5(0x1c6)](0xc8,{'Content-Type':_0x4505bf['BDXPs']}),_0x284ef1[_0x2bf8e5(0x196)](_0x4505bf['pxoUp']),clearTimeout(_0x36b1cd),_0x17efba(),_0x4505bf[_0x2bf8e5(0x1c2)](_0xdcbe73,_0x57f0cf);});_0x33d35c['listen'](CALLBACK_PORT,_0x5a9753(0x18a));});}async function openBrowser(_0x5b1435){const _0x4d8bb6=_0x51ab1e,_0xfaf3ed={'sHLjt':function(_0x50edc8,_0x1b3aba){return _0x50edc8===_0x1b3aba;},'Vtezo':'darwin'},_0x47395d=_0xfaf3ed['sHLjt'](process['platform'],_0xfaf3ed['Vtezo'])?'open':process['platform']===_0x4d8bb6(0x16f)?'start':'xdg-open';exec(_0x47395d+'\x20\x22'+_0x5b1435+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x22460b=_0x51ab1e,_0xd1b6cf={'ZsQxW':function(_0x511678,_0xbc0ad){return _0x511678>_0xbc0ad;}};try{const _0x38200d=JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x38200d[_0x22460b(0x1a7)]&&_0x38200d[_0x22460b(0x1a7)]!==currentOrigin)return null;if(_0x38200d[_0x22460b(0x165)]&&_0xd1b6cf[_0x22460b(0x181)](Date[_0x22460b(0x199)](),_0x38200d[_0x22460b(0x165)]))return null;return _0x38200d[_0x22460b(0x145)]??null;}catch{return null;}}async function saveCachedToken(_0x324d6b,_0x268955,_0x570f7c){const _0x3cad33=_0x51ab1e,_0x16db59={'dnbfw':function(_0x522a72){return _0x522a72();},'sQiPs':function(_0x1d81a5,_0x6a1c05){return _0x1d81a5*_0x6a1c05;},'YyvlL':function(_0x4ae8f0,_0x2a65a3,_0x2a2276){return _0x4ae8f0(_0x2a65a3,_0x2a2276);},'hSJGv':function(_0x1ab699,_0x295730,_0x4a6b9e,_0x351254){return _0x1ab699(_0x295730,_0x4a6b9e,_0x351254);}},_0x300c0f=await _0x16db59[_0x3cad33(0x1ae)](loadCachedData),_0x258f0a={..._0x300c0f,'origin':currentOrigin,'accessToken':_0x324d6b,'refreshToken':_0x268955??_0x300c0f?.[_0x3cad33(0x19b)],'expiresAt':_0x570f7c?Date['now']()+_0x16db59['sQiPs'](_0x570f7c,0x3e8):undefined};await _0x16db59['YyvlL'](mkdir,join(_0x16db59[_0x3cad33(0x1ae)](homedir),_0x3cad33(0x169)),{'recursive':!![]}),await _0x16db59[_0x3cad33(0x178)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x258f0a),{'mode':0x180});}async function loadCachedClient(){const _0x2bf35b=_0x51ab1e,_0x1cb52d={'owSjD':function(_0x344929,_0x1dbde5){return _0x344929!==_0x1dbde5;}},_0x15cfec=await loadCachedData();if(_0x15cfec?.[_0x2bf35b(0x1a7)]&&_0x1cb52d['owSjD'](_0x15cfec[_0x2bf35b(0x1a7)],currentOrigin))return null;return _0x15cfec?.[_0x2bf35b(0x1b0)]?{'clientId':_0x15cfec[_0x2bf35b(0x1b0)],'clientSecret':_0x15cfec['clientSecret']}:null;}async function clearCachedClient(){const _0x93ed7e=_0x51ab1e,_0x1ba3e0={'LLuhh':function(_0xa01af2){return _0xa01af2();}},_0x3ecac6=await _0x1ba3e0[_0x93ed7e(0x195)](loadCachedData);if(!_0x3ecac6)return;const {clientId:_0x1d2c46,clientSecret:_0x5a7e4a,..._0xa24778}=_0x3ecac6;await writeFile(TOKEN_CACHE_PATH,JSON[_0x93ed7e(0x15d)](_0xa24778),{'mode':0x180});}async function saveCachedClient(_0x5d619b,_0x19294c){const _0x13c435=_0x51ab1e,_0x2632ac={'HuPDL':function(_0x10e37a){return _0x10e37a();},'AUoQv':function(_0xa2a339,_0x362ba9,_0x331ed9){return _0xa2a339(_0x362ba9,_0x331ed9);},'Ffvym':function(_0x205cf5,_0x3241ae,_0x3d66f7){return _0x205cf5(_0x3241ae,_0x3d66f7);},'liabH':'.ranger'},_0x76482e=await _0x2632ac['HuPDL'](loadCachedData),_0x41c9a9={..._0x76482e,'origin':currentOrigin,'accessToken':_0x76482e?.['accessToken']??'','clientId':_0x5d619b,'clientSecret':_0x19294c};await _0x2632ac['AUoQv'](mkdir,_0x2632ac['Ffvym'](join,_0x2632ac['HuPDL'](homedir),_0x2632ac['liabH']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x13c435(0x15d)](_0x41c9a9),{'mode':0x180});}async function loadCachedData(){const _0x263e42=_0x51ab1e;try{return JSON[_0x263e42(0x151)](await readFile(TOKEN_CACHE_PATH,_0x263e42(0x1c3)));}catch{return null;}}async function parseResponse(_0x46c3c4){const _0x30721c=_0x51ab1e,_0x3c8aed={'vIUek':'content-type','CWQpb':_0x30721c(0x14b),'VhGes':function(_0x5daba1,_0x21b798){return _0x5daba1!==_0x21b798;}},_0x4054b3=_0x46c3c4[_0x30721c(0x14e)]['get'](_0x3c8aed['vIUek'])??'';if(_0x4054b3['includes'](_0x3c8aed[_0x30721c(0x15c)])){const _0x365118=await _0x46c3c4[_0x30721c(0x14a)]();for(const _0x20b011 of _0x365118[_0x30721c(0x18d)]('\x0a')){const _0x2b1615=_0x20b011[_0x30721c(0x160)]();if(_0x2b1615['startsWith'](_0x30721c(0x152))){const _0x3cd936=_0x2b1615[_0x30721c(0x1a9)](_0x30721c(0x152)['length'])['trim']();if(!_0x3cd936)continue;try{const _0x1589ec=JSON['parse'](_0x3cd936);if(_0x3c8aed['VhGes'](_0x1589ec['id'],undefined)||_0x1589ec['error'])return _0x1589ec;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x46c3c4['json']();}function extractToken(_0x27e93e){const _0x2d8f2f=_0x51ab1e,_0x47e574={'NsBKc':'string','hpQrX':'Unknown\x20error','RSiaH':_0x2d8f2f(0x14a)};if(!_0x27e93e)return null;const _0x40edbb=_0x27e93e[_0x2d8f2f(0x18e)];if(_0x40edbb?.['token']&&typeof _0x40edbb[_0x2d8f2f(0x15a)]===_0x47e574[_0x2d8f2f(0x19a)])return _0x40edbb['token'];if(_0x27e93e[_0x2d8f2f(0x1c5)]){const _0x30efcc=_0x27e93e['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x30efcc?.[0x0]?.['text']??_0x47e574['hpQrX']));}const _0x4cb2da=_0x27e93e['content'];if(_0x4cb2da)for(const _0x23487a of _0x4cb2da){if(_0x23487a['type']===_0x47e574[_0x2d8f2f(0x1ac)]&&_0x23487a[_0x2d8f2f(0x14a)]){try{const _0x5e987b=JSON[_0x2d8f2f(0x151)](_0x23487a['text']);if(typeof _0x5e987b?.[_0x2d8f2f(0x15a)]===_0x47e574['NsBKc'])return _0x5e987b['token'];}catch{}const _0x512ade=_0x23487a['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x512ade)return _0x512ade[0x1];}}return null;}
1
+ const _0xd16e64=_0x37e3;(function(_0x1bbf01,_0xf9d92f){const _0x17bc92=_0x37e3,_0x6615c7=_0x1bbf01();while(!![]){try{const _0x368aef=parseInt(_0x17bc92(0x16a))/0x1+parseInt(_0x17bc92(0x12d))/0x2*(-parseInt(_0x17bc92(0x136))/0x3)+parseInt(_0x17bc92(0x131))/0x4*(-parseInt(_0x17bc92(0x126))/0x5)+parseInt(_0x17bc92(0x133))/0x6+-parseInt(_0x17bc92(0xf9))/0x7*(-parseInt(_0x17bc92(0x129))/0x8)+parseInt(_0x17bc92(0x114))/0x9+-parseInt(_0x17bc92(0x125))/0xa;if(_0x368aef===_0xf9d92f)break;else _0x6615c7['push'](_0x6615c7['shift']());}catch(_0x29da56){_0x6615c7['push'](_0x6615c7['shift']());}}}(_0x21af,0x58dff));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';function _0x21af(){const _0x640595=['none','pLTmd','32NdEIzg','OAuthTimeoutError','vndHr','status','4gDcoXe','Exchanging\x20authorization\x20code...','2031858pNUVhl','base64url','rovJG','64065JFERet','xdg-open','error','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','maBrq','IHdNj','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','resource','sha256','closeAllConnections','writeHead','oLrIt','nzBLK','2.0','owWIV','mIauN','DAtUb','slice','registration_endpoint','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','ZWqux','VxZTC','127.0.0.1','code','get_cli_token\x20failed:\x20','bupnD','HNPlk','auth-origin.txt','FVrVE','Bearer\x20','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','origin','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','split','fAtkj','cLltm','tools/call','xocOr','close','http://localhost:','RCmoB','proxied','goGJq','YwZCA','POST','toString','/.well-known/oauth-authorization-server','isError','\x0aUnexpected\x20response\x20structure:','stdout','tAJsD','mcp-oauth-tokens.json','53244dlYYOL','clientId','QCjlX','SChMl','bLPqD','\x0aOpening\x20browser\x20for\x20authentication...','authorization_endpoint','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','UEcaT','utf-8','set','headers','hfJQF','update','Client\x20registration\x20failed:\x20','get','end','rzjmV','json','/.well-known/oauth-protected-resource','/callback','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','2025-03-26','LEvmp','SCnYb','notifications/initialized','state','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','cphlD','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','.ranger','384083ZnOalH','stringify','isTTY','token','ZyOlB','application/x-www-form-urlencoded','result','trim','access_token','clientSecret','client_id','mZjKp','expiresAt','FVqjC','Server\x20returned\x20error:\x20','aKFAB','text','text/html','application/json,\x20text/event-stream','structuredContent','\x20done','fIEGO','IHjBG','LBheb','content','MtlCs','log','4324644eFqBEN','get_cli_token','parse','PmwoO','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','ranger-cli','cHcYD','Authorization','OAuth\x20error:\x20','YpukZ','S256','message','searchParams','MsvsB','type','pxQnJ','upYwW','2929750QyFUdI','2112035Jqjare','authorization_code','GJODu','80RCRmxi','MsfXQ'];_0x21af=function(){return _0x640595;};return _0x21af();}import{homedir}from'os';import{createServer}from'http';function _0x37e3(_0x342382,_0x1c141b){_0x342382=_0x342382-0xea;const _0x21af60=_0x21af();let _0x37e307=_0x21af60[_0x342382];return _0x37e307;}import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0xd16e64(0xf8),_0xd16e64(0x169)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0xd16e64(0x151));export async function getMcpAuthOrigin(){const _0x184bbf=_0xd16e64,_0x1426aa={'fIEGO':_0x184bbf(0x173),'NAizl':function(_0x24b27c,_0x48c0c7){return _0x24b27c||_0x48c0c7;}};try{const _0xf56d1e=(await readFile(AUTH_ORIGIN_PATH,_0x1426aa[_0x184bbf(0x10e)]))['trim']();return _0x1426aa['NAizl'](_0xf56d1e,null);}catch{return null;}}export async function mcpBootstrap(){const _0x159587=_0xd16e64,_0x3f4623={'pxQnJ':function(_0x286899){return _0x286899();},'XMwWB':function(_0x557b98,_0x17de41){return _0x557b98===_0x17de41;},'LoIZG':function(_0x41fbaf,_0x362dad){return _0x41fbaf+_0x362dad;},'UsJhC':_0x159587(0x139),'uTMSJ':function(_0x52f8ef,_0x4d5f71){return _0x52f8ef(_0x4d5f71);},'YSywd':function(_0x3fd52b,_0x238687,_0x3ef46c){return _0x3fd52b(_0x238687,_0x3ef46c);}},_0x2aaa20=_0x3f4623[_0x159587(0x123)](getMcpAuthUrl);currentOrigin=_0x2aaa20;const _0x11e8be=process[_0x159587(0x167)][_0x159587(0xfb)]??![];console[_0x159587(0x113)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x2aaa20+'\x0a');const _0x85aa1f=await tryUnauthenticated(_0x2aaa20);let _0x37bdb4=null;if(_0x3f4623['XMwWB'](_0x85aa1f,_0x159587(0x15f)))_0x37bdb4='';else{_0x37bdb4=await loadCachedToken();if(!_0x37bdb4){if(!_0x11e8be)throw new Error(_0x3f4623['LoIZG'](_0x159587(0x171),_0x3f4623['UsJhC']));_0x37bdb4=await _0x3f4623['uTMSJ'](oauthFlow,_0x2aaa20);}}await _0x3f4623['YSywd'](callGetCliToken,_0x2aaa20,_0x37bdb4);}async function tryUnauthenticated(_0x565f0f){const _0x5ca257=_0xd16e64,_0x54ed77={'FVrVE':_0x5ca257(0x162),'vKciK':'application/json,\x20text/event-stream','xnKZQ':'initialize','cLltm':'2025-03-26','UEcaT':'proxied','sRpYp':function(_0x21578b,_0x5513d8){return _0x21578b===_0x5513d8;},'QwJFP':'needs-oauth'},_0x5d8a9c=await fetch(_0x565f0f,{'method':_0x54ed77[_0x5ca257(0x152)],'headers':{'Content-Type':'application/json','Accept':_0x54ed77['vKciK']},'body':JSON['stringify']({'jsonrpc':_0x5ca257(0x143),'id':0x1,'method':_0x54ed77['xnKZQ'],'params':{'protocolVersion':_0x54ed77[_0x5ca257(0x159)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':'1.0.0'}}})});if(_0x5d8a9c['ok'])return await _0x5d8a9c[_0x5ca257(0x109)](),_0x54ed77[_0x5ca257(0x172)];if(_0x54ed77['sRpYp'](_0x5d8a9c['status'],0x191))return await _0x5d8a9c['text'](),_0x54ed77['QwJFP'];const _0x5f2288=await _0x5d8a9c['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x5d8a9c['status']+':\x20'+_0x5f2288);}class OAuthTimeoutError extends Error{constructor(_0x23e55a){const _0x49bf6c=_0xd16e64,_0x222b20={'hfJQF':_0x49bf6c(0x12e)};super(_0x23e55a),this['name']=_0x222b20[_0x49bf6c(0x176)];}}async function oauthFlow(_0x56d47f){const _0x5cede8=_0xd16e64,_0x27400f={'BsBJc':function(_0x312b14,_0x486288){return _0x312b14(_0x486288);},'idITM':function(_0x125748,_0x3b72f1){return _0x125748 instanceof _0x3b72f1;},'ewFXl':function(_0x20c790){return _0x20c790();},'maBrq':_0x5cede8(0xef)};try{return await _0x27400f['BsBJc'](oauthFlowAttempt,_0x56d47f);}catch(_0x1244cc){if(_0x27400f['idITM'](_0x1244cc,OAuthTimeoutError)&&await _0x27400f['ewFXl'](loadCachedClient))return console[_0x5cede8(0x113)](_0x27400f[_0x5cede8(0x13a)]),await clearCachedClient(),await oauthFlowAttempt(_0x56d47f);throw _0x1244cc;}}async function oauthFlowAttempt(_0x745047){const _0x7c7e6f=_0xd16e64,_0x5c163e={'upYwW':'Discovering\x20authorization\x20server...','GJODu':function(_0x5dd63a,_0x5bbd41){return _0x5dd63a(_0x5bbd41);},'pLTmd':function(_0x41e4d3){return _0x41e4d3();},'mIauN':function(_0x4e08a6,_0x351e6c,_0x26878c){return _0x4e08a6(_0x351e6c,_0x26878c);},'DAtUb':'POST','lOFMl':'refresh_token','CBJPf':'code','VglRe':_0x7c7e6f(0x12b),'cphlD':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','IMHWu':_0x7c7e6f(0x134),'cogka':_0x7c7e6f(0x13e),'QCjlX':function(_0x325b4a,_0x2c305e){return _0x325b4a(_0x2c305e);},'pbDhp':'redirect_uri','MsvsB':'code_challenge','IHjBG':'state','PmwoO':_0x7c7e6f(0x13d),'oLrIt':function(_0x4c3032,_0x5c368e){return _0x4c3032(_0x5c368e);},'rujVM':_0x7c7e6f(0x132),'OjdcY':'client_secret','wzoyX':_0x7c7e6f(0xfe),'IHdNj':function(_0x528bdb,_0x51f5e1,_0x282007,_0x411b78){return _0x528bdb(_0x51f5e1,_0x282007,_0x411b78);}},_0x47a72c=_0x745047['replace'](/\/mcp$/,'');process['stdout']['write'](_0x5c163e[_0x7c7e6f(0x124)]);const _0x4f752e=await fetch(_0x47a72c+_0x7c7e6f(0xed));if(!_0x4f752e['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x4849a1=await _0x4f752e['json'](),_0x2f79df=_0x4849a1['authorization_servers']?.[0x0];if(!_0x2f79df)throw new Error(_0x7c7e6f(0x156));console['log']('\x20'+_0x2f79df);const _0x485a5e=await _0x5c163e['GJODu'](fetchAuthServerMetadata,_0x2f79df);let _0x40d937,_0x297d3e;const _0x33ddbb=await _0x5c163e[_0x7c7e6f(0x12c)](loadCachedClient);if(_0x33ddbb)_0x40d937=_0x33ddbb[_0x7c7e6f(0x16b)],_0x297d3e=_0x33ddbb[_0x7c7e6f(0x102)];else{if(_0x485a5e[_0x7c7e6f(0x148)]){process['stdout']['write']('Registering\x20OAuth\x20client...');const _0x14518c=await _0x5c163e[_0x7c7e6f(0x145)](fetch,_0x485a5e['registration_endpoint'],{'method':_0x5c163e['DAtUb'],'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'client_name':'Ranger\x20CLI','redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x7c7e6f(0xee)],'grant_types':[_0x7c7e6f(0x127),_0x5c163e['lOFMl']],'response_types':[_0x5c163e['CBJPf']],'token_endpoint_auth_method':_0x5c163e['VglRe']})});if(!_0x14518c['ok']){const _0x3c92c1=await _0x14518c[_0x7c7e6f(0x109)]();throw new Error(_0x7c7e6f(0x178)+_0x3c92c1);}const _0x2d0724=await _0x14518c[_0x7c7e6f(0xec)]();_0x40d937=_0x2d0724[_0x7c7e6f(0x103)],_0x297d3e=_0x2d0724['client_secret'],await _0x5c163e['mIauN'](saveCachedClient,_0x40d937,_0x297d3e),console[_0x7c7e6f(0x113)]('\x20done');}else throw new Error(_0x5c163e[_0x7c7e6f(0xf6)]);}const _0x5b85ef=_0x5c163e[_0x7c7e6f(0x128)](randomBytes,0x20)['toString'](_0x5c163e['IMHWu']),_0x43e6c4=createHash(_0x5c163e['cogka'])[_0x7c7e6f(0x177)](_0x5b85ef)['digest'](_0x5c163e['IMHWu']),_0x1660d6=_0x5c163e[_0x7c7e6f(0x16c)](randomBytes,0x10)[_0x7c7e6f(0x163)]('hex'),_0x1d1326=new URL(_0x485a5e[_0x7c7e6f(0x170)]);_0x1d1326['searchParams'][_0x7c7e6f(0x174)]('response_type',_0x5c163e['CBJPf']),_0x1d1326['searchParams'][_0x7c7e6f(0x174)]('client_id',_0x40d937),_0x1d1326[_0x7c7e6f(0x120)][_0x7c7e6f(0x174)](_0x5c163e['pbDhp'],'http://localhost:'+CALLBACK_PORT+'/callback'),_0x1d1326['searchParams'][_0x7c7e6f(0x174)](_0x5c163e[_0x7c7e6f(0x121)],_0x43e6c4),_0x1d1326['searchParams']['set']('code_challenge_method',_0x7c7e6f(0x11e)),_0x1d1326['searchParams']['set'](_0x5c163e[_0x7c7e6f(0x10f)],_0x1660d6);_0x4849a1[_0x7c7e6f(0x13d)]&&_0x1d1326['searchParams']['set'](_0x5c163e[_0x7c7e6f(0x117)],_0x4849a1['resource']);console['log'](_0x7c7e6f(0x16f)),console[_0x7c7e6f(0x113)](_0x7c7e6f(0xf7)+_0x1d1326['toString']()+'\x0a'),await _0x5c163e[_0x7c7e6f(0x141)](openBrowser,_0x1d1326[_0x7c7e6f(0x163)]());const _0x43550b=await waitForCallback(_0x1660d6);process['stdout']['write'](_0x5c163e['rujVM']);const _0x2a1e85=new URLSearchParams({'grant_type':_0x7c7e6f(0x127),'code':_0x43550b,'redirect_uri':_0x7c7e6f(0x15d)+CALLBACK_PORT+_0x7c7e6f(0xee),'client_id':_0x40d937,'code_verifier':_0x5b85ef});_0x297d3e&&_0x2a1e85[_0x7c7e6f(0x174)](_0x5c163e['OjdcY'],_0x297d3e);_0x4849a1[_0x7c7e6f(0x13d)]&&_0x2a1e85[_0x7c7e6f(0x174)](_0x5c163e[_0x7c7e6f(0x117)],_0x4849a1['resource']);const _0x7eabc2=await _0x5c163e[_0x7c7e6f(0x145)](fetch,_0x485a5e['token_endpoint'],{'method':_0x5c163e[_0x7c7e6f(0x146)],'headers':{'Content-Type':_0x5c163e['wzoyX']},'body':_0x2a1e85});if(!_0x7eabc2['ok']){const _0x9b8ec=await _0x7eabc2[_0x7c7e6f(0x109)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x9b8ec);}const _0x6a59f8=await _0x7eabc2[_0x7c7e6f(0xec)]();return console[_0x7c7e6f(0x113)](_0x7c7e6f(0x10d)),await _0x5c163e[_0x7c7e6f(0x13b)](saveCachedToken,_0x6a59f8[_0x7c7e6f(0x101)],_0x6a59f8['refresh_token'],_0x6a59f8['expires_in']),_0x6a59f8['access_token'];}async function callGetCliToken(_0x507283,_0x3ba948){const _0x223a58=_0xd16e64,_0x1ab407={'ZyOlB':function(_0x444cb0,_0x459ff2,_0x21187b){return _0x444cb0(_0x459ff2,_0x21187b);},'RCmoB':'POST','ZWqux':function(_0x4db27a,_0x4ac7b9){return _0x4db27a(_0x4ac7b9);},'LEvmp':function(_0x17070f,_0x8716c1){return _0x17070f(_0x8716c1);},'goGJq':'2.0','FVqjC':_0x223a58(0x119),'SCnYb':'1.0.0','Fywve':function(_0x1ea8d4,_0x39a502,_0x421e3f){return _0x1ea8d4(_0x39a502,_0x421e3f);},'HNPlk':_0x223a58(0xf3),'MtlCs':'Requesting\x20CLI\x20token...','wfAIO':function(_0x138f54,_0x484efb){return _0x138f54(_0x484efb);},'mZjKp':_0x223a58(0x15a),'xocOr':_0x223a58(0x166),'owWIV':function(_0x1be0ce,_0x5d037f,_0x44b959){return _0x1be0ce(_0x5d037f,_0x44b959);},'YwZCA':'refresh.txt','tAJsD':function(_0x230b30,_0x4d1512,_0x952a7e){return _0x230b30(_0x4d1512,_0x952a7e);},'OUeAm':function(_0x28116e,_0x1d4ed5,_0x363057,_0x24a394){return _0x28116e(_0x1d4ed5,_0x363057,_0x24a394);}},_0x3c16c2={'Content-Type':'application/json','Accept':_0x223a58(0x10b)};_0x3ba948&&(_0x3c16c2[_0x223a58(0x11b)]=_0x223a58(0x153)+_0x3ba948);const _0x28de7d=async _0x4d928a=>{const _0x45bb53=_0x223a58,_0x30051a=await _0x1ab407[_0x45bb53(0xfd)](fetch,_0x507283,{'method':_0x1ab407[_0x45bb53(0x15e)],'headers':_0x3c16c2,'body':JSON[_0x45bb53(0xfa)](_0x4d928a)});if(!_0x30051a['ok']){const _0x10459a=await _0x30051a['text']();throw new Error('HTTP\x20'+_0x30051a[_0x45bb53(0x130)]+':\x20'+_0x10459a);}return _0x1ab407[_0x45bb53(0x14a)](parseResponse,_0x30051a);};process[_0x223a58(0x167)]['write']('Initializing\x20MCP\x20session...');const _0xd8eb4f=await _0x1ab407[_0x223a58(0xf1)](_0x28de7d,{'jsonrpc':_0x1ab407[_0x223a58(0x160)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x223a58(0xf0),'capabilities':{},'clientInfo':{'name':_0x1ab407[_0x223a58(0x106)],'version':_0x1ab407[_0x223a58(0xf2)]}}});if(_0xd8eb4f['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0xd8eb4f[_0x223a58(0x138)][_0x223a58(0x11f)]??JSON['stringify'](_0xd8eb4f[_0x223a58(0x138)])));console['log'](_0x223a58(0x10d)),await _0x1ab407['Fywve'](fetch,_0x507283,{'method':'POST','headers':_0x3c16c2,'body':JSON['stringify']({'jsonrpc':_0x1ab407[_0x223a58(0x160)],'method':_0x1ab407[_0x223a58(0x150)]})})['then'](_0x41bd75=>_0x41bd75['text']()),process['stdout']['write'](_0x1ab407[_0x223a58(0x112)]);const _0x274b78=await _0x1ab407['wfAIO'](_0x28de7d,{'jsonrpc':_0x1ab407[_0x223a58(0x160)],'id':0x2,'method':_0x1ab407[_0x223a58(0x104)],'params':{'name':_0x223a58(0x115),'arguments':{}}});if(_0x274b78['error'])throw new Error(_0x223a58(0x14e)+(_0x274b78[_0x223a58(0x138)]['message']??JSON[_0x223a58(0xfa)](_0x274b78['error'])));console['log']('\x20done');const _0x5ee619=extractToken(_0x274b78[_0x223a58(0xff)]);if(!_0x5ee619){console['error'](_0x1ab407[_0x223a58(0x15b)]),console[_0x223a58(0x138)](JSON['stringify'](_0x274b78['result'],null,0x2));throw new Error(_0x223a58(0x118));}const _0x243704=join(homedir(),_0x223a58(0xf8)),_0x4c1879=_0x1ab407[_0x223a58(0x144)](join,_0x243704,_0x1ab407[_0x223a58(0x161)]);await _0x1ab407[_0x223a58(0x168)](mkdir,_0x243704,{'recursive':!![]}),await writeFile(_0x4c1879,_0x5ee619,{'mode':0x180}),await _0x1ab407['OUeAm'](writeFile,join(_0x243704,'auth-origin.txt'),_0x507283,{'mode':0x180}),console[_0x223a58(0x113)]('\x0aToken\x20written\x20to\x20'+_0x4c1879),console['log']('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x5aab1e){const _0x3de883=_0xd16e64,_0x3bf237={'Qlnbp':function(_0x231d87,_0x5ce81f){return _0x231d87(_0x5ce81f);}},_0x9ef753=_0x5aab1e+_0x3de883(0x164),_0x3f0190=await _0x3bf237['Qlnbp'](fetch,_0x9ef753);if(!_0x3f0190['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x9ef753+':\x20'+_0x3f0190['status']);return _0x3f0190['json']();}function waitForCallback(_0x77ef5d){const _0x2a883b=_0xd16e64,_0xf1b5a8={'MsfXQ':function(_0x4fbc96){return _0x4fbc96();},'Nypmb':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','nzBLK':function(_0x4be66f,_0x590bf2){return _0x4be66f(_0x590bf2);},'ikBvr':function(_0x414323,_0x46b3eb,_0x117a8c){return _0x414323(_0x46b3eb,_0x117a8c);},'YZama':_0x2a883b(0x14c)};return new Promise((_0x113a9d,_0x2c6341)=>{const _0x284370=_0x2a883b,_0x169d7f={'xxkWA':function(_0x181d8a){const _0x1d49c0=_0x37e3;return _0xf1b5a8[_0x1d49c0(0x12a)](_0x181d8a);},'IRzUl':'Not\x20found','gpqJG':_0x284370(0xf4),'SChMl':_0x284370(0x10a),'IgmGe':function(_0x58254a,_0x2ab0dd){return _0x58254a(_0x2ab0dd);},'ntkbQ':_0xf1b5a8['Nypmb'],'rzjmV':function(_0x113290,_0x5eb420){return _0x113290(_0x5eb420);},'YpukZ':function(_0x1fae15,_0xde3708){const _0x5b2eb6=_0x284370;return _0xf1b5a8[_0x5b2eb6(0x142)](_0x1fae15,_0xde3708);}},_0x4ca611=()=>{const _0x48f12c=_0x284370;_0x30edac[_0x48f12c(0x13f)](),_0x30edac[_0x48f12c(0x15c)]();},_0x1c766c=_0xf1b5a8['ikBvr'](setTimeout,()=>{const _0x44c7ab=_0x284370;_0x169d7f['xxkWA'](_0x4ca611),_0x2c6341(new OAuthTimeoutError(_0x44c7ab(0xf5)));},0x1d4c0),_0x30edac=createServer((_0xa767e3,_0x267842)=>{const _0x464e81=_0x284370,_0x4aa95d=new URL(_0xa767e3['url']??'/',_0x464e81(0x15d)+CALLBACK_PORT);if(_0x4aa95d['pathname']!=='/callback'){_0x267842['writeHead'](0x194),_0x267842[_0x464e81(0xea)](_0x169d7f['IRzUl']);return;}const _0x1b35a3=_0x4aa95d[_0x464e81(0x120)][_0x464e81(0x179)](_0x464e81(0x14d)),_0x44904e=_0x4aa95d['searchParams'][_0x464e81(0x179)](_0x169d7f['gpqJG']),_0x44393c=_0x4aa95d[_0x464e81(0x120)]['get']('error');if(_0x44393c){const _0x2e27a6=_0x4aa95d[_0x464e81(0x120)][_0x464e81(0x179)]('error_description')??_0x44393c;_0x267842['writeHead'](0xc8,{'Content-Type':_0x169d7f['SChMl']}),_0x267842[_0x464e81(0xea)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x2e27a6+_0x464e81(0x13c)),_0x169d7f['IgmGe'](clearTimeout,_0x1c766c),_0x169d7f['xxkWA'](_0x4ca611),_0x2c6341(new Error(_0x464e81(0x11c)+_0x2e27a6));return;}if(!_0x1b35a3||_0x44904e!==_0x77ef5d){_0x267842[_0x464e81(0x140)](0x190,{'Content-Type':_0x169d7f[_0x464e81(0x16d)]}),_0x267842['end'](_0x464e81(0x154));return;}_0x267842['writeHead'](0xc8,{'Content-Type':_0x464e81(0x10a)}),_0x267842['end'](_0x169d7f['ntkbQ']),_0x169d7f[_0x464e81(0xeb)](clearTimeout,_0x1c766c),_0x4ca611(),_0x169d7f[_0x464e81(0x11d)](_0x113a9d,_0x1b35a3);});_0x30edac['listen'](CALLBACK_PORT,_0xf1b5a8['YZama']);});}async function openBrowser(_0xd7aa4){const _0x45ebf8=_0xd16e64,_0x8786d7={'LsaHW':'win32','yJvjF':_0x45ebf8(0x137)},_0x592bca=process['platform']==='darwin'?'open':process['platform']===_0x8786d7['LsaHW']?'start':_0x8786d7['yJvjF'];exec(_0x592bca+'\x20\x22'+_0xd7aa4+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x52baf1=_0xd16e64,_0x5938f8={'nPTYH':function(_0x1dec33,_0x4e0928,_0xf46930){return _0x1dec33(_0x4e0928,_0xf46930);},'bupnD':_0x52baf1(0x173)};try{const _0x1a0185=JSON[_0x52baf1(0x116)](await _0x5938f8['nPTYH'](readFile,TOKEN_CACHE_PATH,_0x5938f8[_0x52baf1(0x14f)]));if(_0x1a0185[_0x52baf1(0x155)]&&_0x1a0185[_0x52baf1(0x155)]!==currentOrigin)return null;if(_0x1a0185['expiresAt']&&Date['now']()>_0x1a0185[_0x52baf1(0x105)])return null;return _0x1a0185['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x4f82bb,_0x229f39,_0x353179){const _0x44a026=_0xd16e64,_0x3ffc2b={'RBmLR':function(_0xc8cee6){return _0xc8cee6();},'nlAMI':function(_0x1b34f5,_0x3579ef){return _0x1b34f5+_0x3579ef;},'KhrHH':function(_0x4f4806,_0x22f707,_0x5dd5e7){return _0x4f4806(_0x22f707,_0x5dd5e7);},'fAtkj':_0x44a026(0xf8)},_0x5b4cc=await _0x3ffc2b['RBmLR'](loadCachedData),_0x46d5ce={..._0x5b4cc,'origin':currentOrigin,'accessToken':_0x4f82bb,'refreshToken':_0x229f39??_0x5b4cc?.['refreshToken'],'expiresAt':_0x353179?_0x3ffc2b['nlAMI'](Date['now'](),_0x353179*0x3e8):undefined};await _0x3ffc2b['KhrHH'](mkdir,join(homedir(),_0x3ffc2b[_0x44a026(0x158)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x44a026(0xfa)](_0x46d5ce),{'mode':0x180});}async function loadCachedClient(){const _0x16d776=_0xd16e64,_0x277195={'CuPvR':function(_0x5ef9e3){return _0x5ef9e3();},'aKFAB':function(_0x8a0d61,_0x27e214){return _0x8a0d61!==_0x27e214;}},_0x2b8f86=await _0x277195['CuPvR'](loadCachedData);if(_0x2b8f86?.[_0x16d776(0x155)]&&_0x277195[_0x16d776(0x108)](_0x2b8f86['origin'],currentOrigin))return null;return _0x2b8f86?.['clientId']?{'clientId':_0x2b8f86[_0x16d776(0x16b)],'clientSecret':_0x2b8f86['clientSecret']}:null;}async function clearCachedClient(){const _0x4b9489=_0xd16e64,_0x5ca65c={'VxZTC':function(_0x374235,_0x4732b4,_0x255e20,_0x2cb932){return _0x374235(_0x4732b4,_0x255e20,_0x2cb932);}},_0x5b2ce4=await loadCachedData();if(!_0x5b2ce4)return;const {clientId:_0x5cdd8e,clientSecret:_0x1449b3,..._0x5ae27d}=_0x5b2ce4;await _0x5ca65c[_0x4b9489(0x14b)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x5ae27d),{'mode':0x180});}async function saveCachedClient(_0x3b7dac,_0x2caf06){const _0x30c3e8=_0xd16e64,_0x1a7e53={'ekfLJ':function(_0x1a893d,_0x2a0708,_0x29ac31){return _0x1a893d(_0x2a0708,_0x29ac31);},'XPgcL':function(_0x3573ce){return _0x3573ce();},'oYmYS':function(_0x46af5d,_0x1c5669,_0x17066e,_0x5d2c83){return _0x46af5d(_0x1c5669,_0x17066e,_0x5d2c83);}},_0x1cf158=await loadCachedData(),_0x17d9ba={..._0x1cf158,'origin':currentOrigin,'accessToken':_0x1cf158?.['accessToken']??'','clientId':_0x3b7dac,'clientSecret':_0x2caf06};await _0x1a7e53['ekfLJ'](mkdir,join(_0x1a7e53['XPgcL'](homedir),'.ranger'),{'recursive':!![]}),await _0x1a7e53['oYmYS'](writeFile,TOKEN_CACHE_PATH,JSON[_0x30c3e8(0xfa)](_0x17d9ba),{'mode':0x180});}async function loadCachedData(){const _0x1478db=_0xd16e64,_0x5f01df={'cHcYD':function(_0x1e86e9,_0x4716a3,_0x1730a3){return _0x1e86e9(_0x4716a3,_0x1730a3);},'vndHr':'utf-8'};try{return JSON['parse'](await _0x5f01df[_0x1478db(0x11a)](readFile,TOKEN_CACHE_PATH,_0x5f01df[_0x1478db(0x12f)]));}catch{return null;}}async function parseResponse(_0x945389){const _0x3ede76=_0xd16e64,_0x337b50={'rovJG':'text/event-stream','LBheb':'data:'},_0x56b0aa=_0x945389[_0x3ede76(0x175)]['get']('content-type')??'';if(_0x56b0aa['includes'](_0x337b50[_0x3ede76(0x135)])){const _0x36a004=await _0x945389['text']();for(const _0x1ac268 of _0x36a004[_0x3ede76(0x157)]('\x0a')){const _0x4c6c67=_0x1ac268['trim']();if(_0x4c6c67['startsWith'](_0x337b50[_0x3ede76(0x110)])){const _0x59e192=_0x4c6c67[_0x3ede76(0x147)](_0x337b50[_0x3ede76(0x110)]['length'])[_0x3ede76(0x100)]();if(!_0x59e192)continue;try{const _0x251d15=JSON['parse'](_0x59e192);if(_0x251d15['id']!==undefined||_0x251d15['error'])return _0x251d15;}catch{}}}throw new Error(_0x3ede76(0x149));}return _0x945389['json']();}function extractToken(_0x25c390){const _0x3f8bbd=_0xd16e64,_0x3d446b={'bLPqD':function(_0x51b436,_0x384c0e){return _0x51b436===_0x384c0e;},'Pomoe':_0x3f8bbd(0x109)};if(!_0x25c390)return null;const _0x42bd96=_0x25c390[_0x3f8bbd(0x10c)];if(_0x42bd96?.[_0x3f8bbd(0xfc)]&&_0x3d446b['bLPqD'](typeof _0x42bd96['token'],'string'))return _0x42bd96['token'];if(_0x25c390[_0x3f8bbd(0x165)]){const _0x33d9d6=_0x25c390[_0x3f8bbd(0x111)];throw new Error(_0x3f8bbd(0x107)+(_0x33d9d6?.[0x0]?.[_0x3f8bbd(0x109)]??'Unknown\x20error'));}const _0x41ea23=_0x25c390['content'];if(_0x41ea23)for(const _0x5bea51 of _0x41ea23){if(_0x5bea51[_0x3f8bbd(0x122)]===_0x3d446b['Pomoe']&&_0x5bea51['text']){try{const _0x399746=JSON[_0x3f8bbd(0x116)](_0x5bea51[_0x3f8bbd(0x109)]);if(_0x3d446b[_0x3f8bbd(0x16e)](typeof _0x399746?.['token'],'string'))return _0x399746['token'];}catch{}const _0xe95f22=_0x5bea51['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0xe95f22)return _0xe95f22[0x1];}}return null;}
@@ -1 +1 @@
1
- function _0x7bea(){var _0x4d6c3b=['BNnxE','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','exit','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','10424GYpkJR','5873252RYyaLJ','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','6jIcSQr','5898455GaUagQ','RWsuV','4735791VeWgfU','3512108fxLASl','109VuHObC','3147793WtQUZS','10BCEghx','24cHbtKB','2418774dLPUKn'];_0x7bea=function(){return _0x4d6c3b;};return _0x7bea();}(function(_0x5b30b3,_0x5106bb){var _0x2d7065=_0x3212,_0x34de2b=_0x5b30b3();while(!![]){try{var _0xdcb603=-parseInt(_0x2d7065(0x1a7))/0x1*(parseInt(_0x2d7065(0x19f))/0x2)+parseInt(_0x2d7065(0x1ab))/0x3+-parseInt(_0x2d7065(0x1a6))/0x4+-parseInt(_0x2d7065(0x1a3))/0x5+parseInt(_0x2d7065(0x1a2))/0x6*(parseInt(_0x2d7065(0x1a0))/0x7)+-parseInt(_0x2d7065(0x1aa))/0x8*(-parseInt(_0x2d7065(0x1a5))/0x9)+-parseInt(_0x2d7065(0x1a9))/0xa*(-parseInt(_0x2d7065(0x1a8))/0xb);if(_0xdcb603===_0x5106bb)break;else _0x34de2b['push'](_0x34de2b['shift']());}catch(_0x5b25fa){_0x34de2b['push'](_0x34de2b['shift']());}}}(_0x7bea,0xd7e04));function _0x3212(_0x2ffdee,_0x5a927d){_0x2ffdee=_0x2ffdee-0x19f;var _0x7beaad=_0x7bea();var _0x321264=_0x7beaad[_0x2ffdee];return _0x321264;}export async function migrateProfile(_0x5d5970,_0x1ebc9f){var _0x48620c=_0x3212,_0x4c198b={'BNnxE':function(_0x293b6b,_0x4e7c2d){return _0x293b6b+_0x4e7c2d;},'itvAb':function(_0x3ced5e,_0x5e9d70){return _0x3ced5e+_0x5e9d70;},'IzfVK':function(_0x23a493,_0x2f09e7){return _0x23a493+_0x2f09e7;},'VaamY':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','RWsuV':_0x48620c(0x1a1)};console['error'](_0x4c198b[_0x48620c(0x1ac)](_0x4c198b['itvAb'](_0x4c198b['IzfVK'](_0x4c198b['IzfVK']('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a'+_0x48620c(0x1ad)+_0x4c198b['VaamY'],'\x0a'),_0x4c198b[_0x48620c(0x1a4)]),'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a')+'\x0a','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a')+_0x48620c(0x1af)),process[_0x48620c(0x1ae)](0x1);}
1
+ function _0x17d4(){var _0x24d5a9=['4710810zlKbSt','560004jFRwxY','99447rjZOov','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','1629FRrClp','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','6504sVKwYJ','2IyxgMQ','SIyDE','exit','205028ABzEjI','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','60981qXcRZW','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','10HUktVp','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','wlhMT','1217685gEjojn','neWPf'];_0x17d4=function(){return _0x24d5a9;};return _0x17d4();}(function(_0x4b44a2,_0xe94e5b){var _0x38128d=_0x2e3a,_0x3b3691=_0x4b44a2();while(!![]){try{var _0x304f56=parseInt(_0x38128d(0x1bc))/0x1+-parseInt(_0x38128d(0x1b7))/0x2*(-parseInt(_0x38128d(0x1b1))/0x3)+parseInt(_0x38128d(0x1ba))/0x4+parseInt(_0x38128d(0x1be))/0x5*(-parseInt(_0x38128d(0x1c4))/0x6)+-parseInt(_0x38128d(0x1c1))/0x7+-parseInt(_0x38128d(0x1b6))/0x8*(parseInt(_0x38128d(0x1b4))/0x9)+parseInt(_0x38128d(0x1c3))/0xa;if(_0x304f56===_0xe94e5b)break;else _0x3b3691['push'](_0x3b3691['shift']());}catch(_0x11a2b9){_0x3b3691['push'](_0x3b3691['shift']());}}}(_0x17d4,0x1a894));function _0x2e3a(_0x521dd1,_0x270b53){_0x521dd1=_0x521dd1-0x1b1;var _0x17d4de=_0x17d4();var _0x2e3ad8=_0x17d4de[_0x521dd1];return _0x2e3ad8;}export async function migrateProfile(_0x7875f4,_0x4f7520){var _0x2f3a9d=_0x2e3a,_0x59f9d4={'wlhMT':function(_0x3ded02,_0x3cb221){return _0x3ded02+_0x3cb221;},'wOapk':function(_0x8cd157,_0x2a597f){return _0x8cd157+_0x2a597f;},'neWPf':_0x2f3a9d(0x1bb),'OgqXi':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','SIyDE':_0x2f3a9d(0x1b3)};console['error'](_0x59f9d4[_0x2f3a9d(0x1c0)](_0x59f9d4[_0x2f3a9d(0x1c0)](_0x59f9d4['wOapk'](_0x59f9d4[_0x2f3a9d(0x1c2)],'\x0a')+_0x2f3a9d(0x1b2)+_0x59f9d4['OgqXi']+'\x0a',_0x2f3a9d(0x1b5)),_0x2f3a9d(0x1bd))+'\x0a'+_0x59f9d4[_0x2f3a9d(0x1b8)]+_0x2f3a9d(0x1bf)),process[_0x2f3a9d(0x1b9)](0x1);}
@@ -1 +1 @@
1
- (function(_0x49d510,_0x143429){const _0x439838=_0x3e24,_0x1f7d26=_0x49d510();while(!![]){try{const _0x3e7da9=-parseInt(_0x439838(0x97))/0x1+-parseInt(_0x439838(0xab))/0x2+-parseInt(_0x439838(0xb4))/0x3+parseInt(_0x439838(0x8d))/0x4+-parseInt(_0x439838(0xb2))/0x5*(-parseInt(_0x439838(0x9b))/0x6)+-parseInt(_0x439838(0x9e))/0x7*(-parseInt(_0x439838(0xbf))/0x8)+-parseInt(_0x439838(0xbe))/0x9*(-parseInt(_0x439838(0xbd))/0xa);if(_0x3e7da9===_0x143429)break;else _0x1f7d26['push'](_0x1f7d26['shift']());}catch(_0x48a73a){_0x1f7d26['push'](_0x1f7d26['shift']());}}}(_0x599e,0xefa34));import{join}from'path';import{existsSync}from'fs';import _0x3a1e02 from'inquirer';import{skillup}from'../skillup.js';function _0x599e(){const _0x513426=['ReUgm','.claude','enable','2993984lFguAF','zovFO','error','output','pluginScope','marketplace','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','470QHbbqQ','fhKxM','4925979niPmdd','ycCUZ','ranger','PyemM','\x20level)...\x0a','ranger-testing/trailhead','BHZIS','ranger@trailhead','Dezze','20YIzeth','15291999vapeAo','248uhCHnH','❌\x20Failed\x20to\x20add\x20marketplace:','uqaiq','yTxhu','768992dabxSS','trailhead','includes','✓\x20Ranger\x20skills\x20already\x20installed','❌\x20Failed\x20to\x20install\x20plugin:','SKILL.md','RBdVs','UdDJp','project','wantsSkillup','1509826DJvTmS','success','GksOn','\x0aYou\x20can\x20install\x20manually\x20with:','49686xRNKsZ','prompt','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','284851MdgBPN','✓\x20Claude\x20Code\x20plugin\x20enabled','already\x20enabled','aMqhF','GTHbv','MlqtI','arzJm','log','user','TMZiV'];_0x599e=function(){return _0x513426;};return _0x599e();}function _0x3e24(_0x2e95d2,_0x1a72f1){_0x2e95d2=_0x2e95d2-0x8b;const _0x599ec1=_0x599e();let _0x3e24df=_0x599ec1[_0x2e95d2];return _0x3e24df;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x20b8d5){const _0x3eeb17=_0x3e24,_0x4f8735={'zovFO':_0x3eeb17(0xbb),'aRFCy':function(_0x2fa965,_0x4e9112){return _0x2fa965(_0x4e9112);},'yTxhu':function(_0x63c15b,_0x2f71fe,_0x1a31ae){return _0x63c15b(_0x2f71fe,_0x1a31ae);},'RBdVs':'.claude','fhKxM':_0x3eeb17(0x95),'arzJm':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','ReUgm':_0x3eeb17(0xaf),'mvfPr':'Where\x20should\x20the\x20plugin\x20be\x20installed?','CkIiQ':'User\x20(available\x20in\x20all\x20your\x20projects)','Dezze':_0x3eeb17(0xa6),'MlqtI':function(_0x5598ff,_0x29c014){return _0x5598ff(_0x29c014);},'uzJBI':'plugin','OSWsM':'--scope','vFefw':function(_0x2a8a0a,_0x2dc5e5){return _0x2a8a0a===_0x2dc5e5;},'GksOn':_0x3eeb17(0x91),'uqaiq':function(_0x27f885,_0x3efcb7){return _0x27f885===_0x3efcb7;},'GTHbv':function(_0x552a7b,_0x52a88d,_0x55786b){return _0x552a7b(_0x52a88d,_0x55786b);},'aMqhF':_0x3eeb17(0x9f)},_0x9c3a6f=await isPluginInstalled(_0x4f8735['zovFO']);if(_0x9c3a6f)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x5d0ef5=_0x4f8735['aRFCy'](existsSync,_0x4f8735[_0x3eeb17(0x8c)](join,getProjectRoot(),_0x4f8735[_0x3eeb17(0x93)]));let _0x1e8b75;if(_0x20b8d5)_0x1e8b75=_0x20b8d5;else{if(_0x5d0ef5)_0x1e8b75=_0x4f8735['fhKxM'];else{console[_0x3eeb17(0xa5)](_0x4f8735[_0x3eeb17(0xa4)]);const _0x4f8492=await _0x3a1e02[_0x3eeb17(0x9c)]([{'type':'list','name':_0x4f8735[_0x3eeb17(0xa8)],'message':_0x4f8735['mvfPr'],'choices':[{'name':_0x4f8735['CkIiQ'],'value':_0x4f8735['Dezze']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x4f8735['fhKxM']}],'default':_0x4f8735[_0x3eeb17(0xbc)]}]);_0x1e8b75=_0x4f8492['pluginScope'];}}console['log'](_0x3eeb17(0x9d)+_0x1e8b75+_0x3eeb17(0xb8));const _0x14fc65=await isMarketplaceAdded(_0x3eeb17(0x8e));let _0x229dc5=_0x14fc65;if(_0x14fc65)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x542413=await _0x4f8735[_0x3eeb17(0xa3)](runClaudeCommand,['plugin',_0x3eeb17(0xb0),'add',_0x3eeb17(0xb9)]);!_0x542413['success']?(console['error'](_0x3eeb17(0xc0),_0x542413['error']),console[_0x3eeb17(0xa5)](_0x3eeb17(0x9a)),console[_0x3eeb17(0xa5)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x3eeb17(0xa5)](_0x3eeb17(0xb1)+_0x1e8b75)):_0x229dc5=!![];}if(_0x229dc5){const _0x295931=await runClaudeCommand([_0x4f8735['uzJBI'],'install',_0x4f8735[_0x3eeb17(0xac)],_0x4f8735['OSWsM'],_0x1e8b75],{'cwd':_0x4f8735['vFefw'](_0x1e8b75,'project')?getProjectRoot():undefined});if(!_0x295931[_0x3eeb17(0x98)])console[_0x3eeb17(0xad)](_0x4f8735[_0x3eeb17(0x99)],_0x295931[_0x3eeb17(0xad)]),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x1e8b75);else{console[_0x3eeb17(0xa5)]('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x42a5ff=[_0x4f8735['uzJBI'],_0x3eeb17(0xaa),_0x4f8735[_0x3eeb17(0xac)]];_0x4f8735[_0x3eeb17(0x8b)](_0x1e8b75,'project')&&_0x42a5ff['push']('--scope',_0x3eeb17(0x95));const _0x12f796=await _0x4f8735[_0x3eeb17(0xa2)](runClaudeCommand,_0x42a5ff,{'captureOutput':!![],'cwd':_0x1e8b75===_0x4f8735[_0x3eeb17(0xb3)]?getProjectRoot():undefined}),_0xc60130=_0x12f796[_0x3eeb17(0xae)]?.[_0x3eeb17(0x8f)](_0x3eeb17(0xa0));!_0x12f796[_0x3eeb17(0x98)]&&!_0xc60130?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x12f796[_0x3eeb17(0xad)]):console[_0x3eeb17(0xa5)](_0x4f8735[_0x3eeb17(0xa1)]);}}return!![];}export async function ensureClaudeSkills(_0x53cafb){const _0x513033=_0x3e24,_0x498236={'dzmbM':function(_0x270d0d,_0x292115,_0x5cb25a,_0x533b00){return _0x270d0d(_0x292115,_0x5cb25a,_0x533b00);},'ycCUZ':function(_0x2fb46d,_0x273cab){return _0x2fb46d(_0x273cab);},'UdDJp':'user','TMZiV':function(_0x499269,_0x6783ed,_0xda97f6,_0x4d939e){return _0x499269(_0x6783ed,_0xda97f6,_0x4d939e);},'eDdsH':'ranger','RXttS':function(_0x1f679a,_0x328c9a){return _0x1f679a(_0x328c9a);},'BHZIS':function(_0x282622,_0x4197e9,_0x744fb1){return _0x282622(_0x4197e9,_0x744fb1);},'uCuBX':function(_0x401ae7){return _0x401ae7();},'PyemM':_0x513033(0xa9),'MmMUY':_0x513033(0x96),'mIkFi':'Would\x20you\x20like\x20to\x20install\x20skills?','xXdME':function(_0x47323d,_0x6281cc){return _0x47323d(_0x6281cc);}},_0x1824f6=existsSync(_0x498236['dzmbM'](join,_0x498236['ycCUZ'](getSkillsDir,_0x498236[_0x513033(0x94)]),_0x513033(0xb6),_0x513033(0x92))),_0x55ed66=existsSync(_0x498236[_0x513033(0xa7)](join,getSkillsDir('project'),_0x498236['eDdsH'],_0x513033(0x92)));if(_0x1824f6||_0x55ed66)return console[_0x513033(0xa5)](_0x513033(0x90)),![];const _0x3e3bd8=_0x498236['RXttS'](existsSync,_0x498236[_0x513033(0xba)](join,_0x498236['uCuBX'](getProjectRoot),_0x498236[_0x513033(0xb7)]));let _0x19db91=!![];if(_0x53cafb)await _0x498236['ycCUZ'](skillup,{'autoInstall':_0x53cafb,'suppressUsage':!![]});else{if(_0x3e3bd8)await _0x498236[_0x513033(0xb5)](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0xdfe203=await _0x3a1e02['prompt']([{'type':'confirm','name':_0x498236['MmMUY'],'message':_0x498236['mIkFi'],'default':!![]}]);_0x19db91=_0xdfe203['wantsSkillup'],_0x19db91&&await _0x498236['xXdME'](skillup,{'suppressUsage':!![]});}}return _0x19db91;}
1
+ (function(_0x767f11,_0x1cf4f8){const _0x5ccc6d=_0x1afd,_0x765fd2=_0x767f11();while(!![]){try{const _0x328ff1=-parseInt(_0x5ccc6d(0x13a))/0x1+parseInt(_0x5ccc6d(0x143))/0x2+parseInt(_0x5ccc6d(0x112))/0x3*(parseInt(_0x5ccc6d(0x128))/0x4)+parseInt(_0x5ccc6d(0x137))/0x5*(parseInt(_0x5ccc6d(0x134))/0x6)+parseInt(_0x5ccc6d(0x11d))/0x7+-parseInt(_0x5ccc6d(0x11a))/0x8*(parseInt(_0x5ccc6d(0x140))/0x9)+-parseInt(_0x5ccc6d(0x12f))/0xa;if(_0x328ff1===_0x1cf4f8)break;else _0x765fd2['push'](_0x765fd2['shift']());}catch(_0x583d3d){_0x765fd2['push'](_0x765fd2['shift']());}}}(_0x3ff5,0xf2c28));import{join}from'path';import{existsSync}from'fs';function _0x3ff5(){const _0x28a90a=['❌\x20Failed\x20to\x20install\x20plugin:','pluginScope','marketplace','deBZg','189920SgidxB','list','eBqGV','8651006efluKm','bEWNG','❌\x20Failed\x20to\x20add\x20marketplace:','ranger@trailhead','User\x20(available\x20in\x20all\x20your\x20projects)','tVNIr','SKILL.md','Where\x20should\x20the\x20plugin\x20be\x20installed?','Project\x20(shared\x20with\x20team\x20via\x20git)','user','HSxgI','953948XEGPYr','enable','rrZOG','trailhead','log','prompt','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','34114090dUwpEX','qmDRp','mXKMa','ZUYOw','LAIkp','156qmsNDw','oYoxf','sZUhO','319635RRLPiC','syLJQ','push','304374forDqY','error','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','xQMWD','.claude','ZOuhY','162LAdBLy','project','eNWtz','1140156HNCVaH','ranger-testing/trailhead','cKFiB','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','fggEO','ranger','output','21zoygKG','bVyJM','XqxWg','XIZqo'];_0x3ff5=function(){return _0x28a90a;};return _0x3ff5();}function _0x1afd(_0x6a04c8,_0x5a452e){_0x6a04c8=_0x6a04c8-0x10f;const _0x3ff5cd=_0x3ff5();let _0x1afdb3=_0x3ff5cd[_0x6a04c8];return _0x1afdb3;}import _0x5a5dce from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x15c95c){const _0x2c7112=_0x1afd,_0x30f2f8={'SuCCu':function(_0x13d7e5,_0x50fba8){return _0x13d7e5(_0x50fba8);},'cOzge':function(_0x17fd48,_0x214767){return _0x17fd48(_0x214767);},'CavgL':function(_0x4deee2){return _0x4deee2();},'HSxgI':'project','rrZOG':_0x2c7112(0x12e),'deBZg':'pluginScope','QoDMo':_0x2c7112(0x124),'xQMWD':_0x2c7112(0x121),'Mudfa':_0x2c7112(0x126),'XIZqo':_0x2c7112(0x12b),'syLJQ':function(_0xfd6280,_0xad109d){return _0xfd6280(_0xad109d);},'BoxcY':'add','qmDRp':_0x2c7112(0x144),'PikST':_0x2c7112(0x11f),'bEWNG':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','oYoxf':'--scope','bVyJM':function(_0x4cc6d1,_0x4d3817){return _0x4cc6d1===_0x4d3817;},'XqxWg':_0x2c7112(0x116),'ZOuhY':'\x0aYou\x20can\x20install\x20manually\x20with:','fggEO':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','Krubz':'plugin','tVNIr':_0x2c7112(0x129),'sZUhO':_0x2c7112(0x120),'LAIkp':function(_0x579920,_0x1c6ede,_0x2ceb84){return _0x579920(_0x1c6ede,_0x2ceb84);},'DTUAO':function(_0x115ef3,_0x1e6597){return _0x115ef3===_0x1e6597;},'cFfWQ':function(_0x41d0af){return _0x41d0af();},'cKFiB':'already\x20enabled'},_0x4da4e1=await _0x30f2f8['SuCCu'](isPluginInstalled,_0x2c7112(0x120));if(_0x4da4e1)return console[_0x2c7112(0x12c)]('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x18b955=_0x30f2f8['cOzge'](existsSync,join(_0x30f2f8['CavgL'](getProjectRoot),_0x2c7112(0x13e)));let _0x15366f;if(_0x15c95c)_0x15366f=_0x15c95c;else{if(_0x18b955)_0x15366f=_0x30f2f8['HSxgI'];else{console['log'](_0x30f2f8[_0x2c7112(0x12a)]);const _0x17fdda=await _0x5a5dce['prompt']([{'type':_0x2c7112(0x11b),'name':_0x30f2f8[_0x2c7112(0x119)],'message':_0x30f2f8['QoDMo'],'choices':[{'name':_0x30f2f8[_0x2c7112(0x13d)],'value':'user'},{'name':_0x2c7112(0x125),'value':_0x30f2f8['HSxgI']}],'default':_0x30f2f8['Mudfa']}]);_0x15366f=_0x17fdda[_0x2c7112(0x117)];}}console['log'](_0x2c7112(0x13c)+_0x15366f+'\x20level)...\x0a');const _0x4c74a4=await isMarketplaceAdded(_0x30f2f8[_0x2c7112(0x115)]);let _0x7ab09c=_0x4c74a4;if(_0x4c74a4)console[_0x2c7112(0x12c)]('✓\x20Marketplace\x20already\x20added');else{const _0x15c33a=await _0x30f2f8[_0x2c7112(0x138)](runClaudeCommand,['plugin',_0x2c7112(0x118),_0x30f2f8['BoxcY'],_0x30f2f8[_0x2c7112(0x130)]]);!_0x15c33a['success']?(console['error'](_0x30f2f8['PikST'],_0x15c33a[_0x2c7112(0x13b)]),console[_0x2c7112(0x12c)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log'](_0x30f2f8[_0x2c7112(0x11e)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x15366f)):_0x7ab09c=!![];}if(_0x7ab09c){const _0x485867=await runClaudeCommand(['plugin','install',_0x2c7112(0x120),_0x30f2f8[_0x2c7112(0x135)],_0x15366f],{'cwd':_0x30f2f8[_0x2c7112(0x113)](_0x15366f,_0x30f2f8[_0x2c7112(0x127)])?_0x30f2f8['CavgL'](getProjectRoot):undefined});if(!_0x485867['success'])console[_0x2c7112(0x13b)](_0x30f2f8[_0x2c7112(0x114)],_0x485867['error']),console['log'](_0x30f2f8[_0x2c7112(0x13f)]),console['log'](_0x2c7112(0x146)+_0x15366f);else{console[_0x2c7112(0x12c)](_0x30f2f8[_0x2c7112(0x10f)]);const _0x5132f8=[_0x30f2f8['Krubz'],_0x30f2f8[_0x2c7112(0x122)],_0x30f2f8[_0x2c7112(0x136)]];_0x15366f===_0x2c7112(0x141)&&_0x5132f8[_0x2c7112(0x139)](_0x30f2f8[_0x2c7112(0x135)],'project');const _0x18dfc7=await _0x30f2f8[_0x2c7112(0x133)](runClaudeCommand,_0x5132f8,{'captureOutput':!![],'cwd':_0x30f2f8['DTUAO'](_0x15366f,_0x30f2f8[_0x2c7112(0x127)])?_0x30f2f8['cFfWQ'](getProjectRoot):undefined}),_0x576d16=_0x18dfc7[_0x2c7112(0x111)]?.['includes'](_0x30f2f8[_0x2c7112(0x145)]);!_0x18dfc7['success']&&!_0x576d16?console[_0x2c7112(0x13b)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x18dfc7[_0x2c7112(0x13b)]):console['log']('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0x58ecca){const _0x3e5548=_0x1afd,_0x383981={'INOdq':function(_0x101a95,_0x3a809e){return _0x101a95(_0x3a809e);},'mXKMa':function(_0x502d9f,_0x37ff31,_0x5d1936,_0x22f89e){return _0x502d9f(_0x37ff31,_0x5d1936,_0x22f89e);},'bpRvj':'project','nUxwe':'ranger','eBqGV':function(_0x326b54,_0x14281a){return _0x326b54||_0x14281a;},'ZUYOw':function(_0x28e067,_0x1a6b66){return _0x28e067(_0x1a6b66);},'eNWtz':function(_0x1a57c8,_0x220cb7,_0x2aeeee){return _0x1a57c8(_0x220cb7,_0x2aeeee);}},_0x4129cc=existsSync(join(getSkillsDir('user'),_0x3e5548(0x110),'SKILL.md')),_0x1ca74d=_0x383981['INOdq'](existsSync,_0x383981[_0x3e5548(0x131)](join,_0x383981['INOdq'](getSkillsDir,_0x383981['bpRvj']),_0x383981['nUxwe'],_0x3e5548(0x123)));if(_0x383981[_0x3e5548(0x11c)](_0x4129cc,_0x1ca74d))return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x2e9adb=_0x383981['ZUYOw'](existsSync,_0x383981[_0x3e5548(0x142)](join,getProjectRoot(),_0x3e5548(0x13e)));let _0xdf00e2=!![];if(_0x58ecca)await skillup({'autoInstall':_0x58ecca,'suppressUsage':!![]});else{if(_0x2e9adb)await _0x383981[_0x3e5548(0x132)](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0x4ce8c5=await _0x5a5dce[_0x3e5548(0x12d)]([{'type':'confirm','name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0xdf00e2=_0x4ce8c5['wantsSkillup'],_0xdf00e2&&await skillup({'suppressUsage':!![]});}}return _0xdf00e2;}
@@ -1 +1 @@
1
- function _0x2cd6(_0x356f95,_0x187478){_0x356f95=_0x356f95-0x1bf;const _0x2ac078=_0x2ac0();let _0x2cd695=_0x2ac078[_0x356f95];return _0x2cd695;}(function(_0x549665,_0x2d67b5){const _0x55a33c=_0x2cd6,_0xc9b8a3=_0x549665();while(!![]){try{const _0x447b4a=parseInt(_0x55a33c(0x1c1))/0x1*(parseInt(_0x55a33c(0x1c9))/0x2)+-parseInt(_0x55a33c(0x1c3))/0x3*(-parseInt(_0x55a33c(0x1d5))/0x4)+parseInt(_0x55a33c(0x1d9))/0x5+parseInt(_0x55a33c(0x1d4))/0x6+-parseInt(_0x55a33c(0x1c0))/0x7+parseInt(_0x55a33c(0x1ca))/0x8+-parseInt(_0x55a33c(0x1c5))/0x9*(parseInt(_0x55a33c(0x1cc))/0xa);if(_0x447b4a===_0x2d67b5)break;else _0xc9b8a3['push'](_0xc9b8a3['shift']());}catch(_0x422815){_0xc9b8a3['push'](_0xc9b8a3['shift']());}}}(_0x2ac0,0xa75e4));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x4d7a24 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x2ac0(){const _0x79d3de=['YHWOr','JVMOm','@ranger-testing/opencode-plugin','plugin','mirVp','Failed\x20to\x20read\x20opencode.json','pluginScope','project','9569693uunQij','1XPePyT','prompt','15261CBKxzw','mrtAq','11736WAZpmJ','stringify','\x0a📦\x20OpenCode\x20Plugin\x0a','PHokh','1251322rBAkOl','9541464TVJZem','WRqxi','13670rwBfGR','BVetg','wiVkf','parse','LfzhO','✓\x20OpenCode\x20plugin\x20already\x20configured','log','opencode.json','2286354lsmoPF','736kDILcW','user','fqVFg','mjCEY','3498980OxYtix','utf-8'];_0x2ac0=function(){return _0x79d3de;};return _0x2ac0();}export async function ensureOpencodePluginConfig(_0x3f89a6){const _0x415382=_0x2cd6,_0x215f8d={'LfzhO':function(_0x3ce3a7,_0x3727cf){return _0x3ce3a7(_0x3727cf);},'rAyZU':function(_0xe17e01,_0x319402,_0x5409b9){return _0xe17e01(_0x319402,_0x5409b9);},'CHABT':function(_0x584b67,_0x5cd474){return _0x584b67(_0x5cd474);},'YHWOr':_0x415382(0x1d3),'PHokh':'project','wiVkf':_0x415382(0x1c7),'uFcYk':'Where\x20should\x20the\x20plugin\x20be\x20installed?','jIHnT':'User\x20(available\x20in\x20all\x20your\x20projects)','WRqxi':_0x415382(0x1d6),'mjCEY':function(_0x1c70b8,_0x173987,_0x2389d9){return _0x1c70b8(_0x173987,_0x2389d9);},'BVetg':_0x415382(0x1dd),'mrtAq':'https://opencode.ai/config.json','mSkvl':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','wYJWJ':_0x415382(0x1e0),'fqVFg':function(_0x5ce1fb,_0xddbc10){return _0x5ce1fb(_0xddbc10);},'JVMOm':function(_0x460358,_0x24af4a){return _0x460358+_0x24af4a;},'mirVp':'✓\x20OpenCode\x20plugin\x20configured'},_0x337e8c=_0x215f8d[_0x415382(0x1d0)](existsSync,_0x215f8d['rAyZU'](join,_0x215f8d['CHABT'](getOpencodeConfigDir,_0x415382(0x1bf)),_0x215f8d['YHWOr']));let _0x537da4;if(_0x3f89a6)_0x537da4=_0x3f89a6;else{if(_0x337e8c)_0x537da4=_0x215f8d['PHokh'];else{console[_0x415382(0x1d2)](_0x215f8d[_0x415382(0x1ce)]);const _0x4072d6=await _0x4d7a24[_0x415382(0x1c2)]([{'type':'list','name':'pluginScope','message':_0x215f8d['uFcYk'],'choices':[{'name':_0x215f8d['jIHnT'],'value':_0x215f8d[_0x415382(0x1cb)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x215f8d[_0x415382(0x1c8)]}],'default':'user'}]);_0x537da4=_0x4072d6[_0x415382(0x1e1)];}}const _0x3175f0=_0x215f8d[_0x415382(0x1d8)](join,_0x215f8d['LfzhO'](getOpencodeConfigDir,_0x537da4),_0x215f8d[_0x415382(0x1db)]),_0x59e77c=_0x215f8d[_0x415382(0x1cd)],_0x327812=_0x215f8d[_0x415382(0x1c4)];let _0x130d16={};if(_0x215f8d['LfzhO'](existsSync,_0x3175f0))try{const _0x493370=await _0x215f8d[_0x415382(0x1d8)](readFile,_0x3175f0,_0x415382(0x1da));_0x130d16=JSON[_0x415382(0x1cf)](_0x493370);}catch(_0x568746){return console['error'](_0x215f8d['mSkvl']),{'configured':![],'scope':_0x537da4,'error':_0x215f8d['wYJWJ'],'details':_0x568746};}const _0x1c59a7=Array['isArray'](_0x130d16['plugin'])?_0x130d16[_0x415382(0x1de)]:[];if(_0x1c59a7['includes'](_0x59e77c))return console[_0x415382(0x1d2)](_0x415382(0x1d1)),{'configured':![],'scope':_0x537da4};return _0x130d16['$schema']=_0x130d16['$schema']||_0x327812,_0x130d16[_0x415382(0x1de)]=[..._0x1c59a7,_0x59e77c],await mkdir(_0x215f8d[_0x415382(0x1d7)](getOpencodeConfigDir,_0x537da4),{'recursive':!![]}),await writeFile(_0x3175f0,_0x215f8d[_0x415382(0x1dc)](JSON[_0x415382(0x1c6)](_0x130d16,null,0x2),'\x0a')),console[_0x415382(0x1d2)](_0x215f8d[_0x415382(0x1df)]),{'configured':!![],'scope':_0x537da4};}
1
+ (function(_0x3ed7ab,_0x29c96a){const _0x2c1943=_0x4a90,_0x48dd99=_0x3ed7ab();while(!![]){try{const _0x543cca=parseInt(_0x2c1943(0x1c1))/0x1+parseInt(_0x2c1943(0x1af))/0x2+parseInt(_0x2c1943(0x1bc))/0x3*(parseInt(_0x2c1943(0x1b8))/0x4)+parseInt(_0x2c1943(0x1b2))/0x5+-parseInt(_0x2c1943(0x1ba))/0x6+-parseInt(_0x2c1943(0x1ac))/0x7+-parseInt(_0x2c1943(0x1a9))/0x8;if(_0x543cca===_0x29c96a)break;else _0x48dd99['push'](_0x48dd99['shift']());}catch(_0x2f105d){_0x48dd99['push'](_0x48dd99['shift']());}}}(_0x25e7,0x2153d));function _0x4a90(_0x3fe4eb,_0x408d3a){_0x3fe4eb=_0x3fe4eb-0x1a9;const _0x25e7c4=_0x25e7();let _0x4a9006=_0x25e7c4[_0x3fe4eb];return _0x4a9006;}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x25e7(){const _0x2c8503=['136691hmTGwT','project','152224MCHizw','$schema','log','293867UDIriN','QWwYE','stringify','378838lXBjRG','Where\x20should\x20the\x20plugin\x20be\x20installed?','list','252345CpWkhm','✓\x20OpenCode\x20plugin\x20configured','\x0a📦\x20OpenCode\x20Plugin\x0a','sIbdn','isArray','includes','4mBprhu','plugin','1218456xDbDlv','prompt','72045vidZPm','ZBoxU','pluginScope','user','Project\x20(shared\x20with\x20team\x20via\x20git)'];_0x25e7=function(){return _0x2c8503;};return _0x25e7();}import _0x30284d from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x306a66){const _0x4cdc40=_0x4a90,_0x14e5d1={'Jvaxz':function(_0x1f1544,_0x30f033,_0x5e0076){return _0x1f1544(_0x30f033,_0x5e0076);},'sIbdn':function(_0x3c4fe5,_0x43bfce){return _0x3c4fe5(_0x43bfce);},'zqocP':'project','QWwYE':'opencode.json','XWffI':_0x4cdc40(0x1be),'lajbv':_0x4cdc40(0x1bf),'ZBoxU':'https://opencode.ai/config.json','mtlnl':function(_0x32830c,_0x4e4ed8,_0x956339){return _0x32830c(_0x4e4ed8,_0x956339);},'uZlqc':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'},_0x2f2b9b=existsSync(_0x14e5d1['Jvaxz'](join,_0x14e5d1[_0x4cdc40(0x1b5)](getOpencodeConfigDir,_0x14e5d1['zqocP']),_0x14e5d1[_0x4cdc40(0x1ad)]));let _0x45a9f2;if(_0x306a66)_0x45a9f2=_0x306a66;else{if(_0x2f2b9b)_0x45a9f2=_0x4cdc40(0x1c2);else{console[_0x4cdc40(0x1ab)](_0x4cdc40(0x1b4));const _0x3e6947=await _0x30284d[_0x4cdc40(0x1bb)]([{'type':_0x4cdc40(0x1b1),'name':_0x14e5d1['XWffI'],'message':_0x4cdc40(0x1b0),'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':_0x4cdc40(0x1c0),'value':_0x14e5d1['zqocP']}],'default':_0x14e5d1['lajbv']}]);_0x45a9f2=_0x3e6947[_0x4cdc40(0x1be)];}}const _0x2c996c=join(getOpencodeConfigDir(_0x45a9f2),_0x14e5d1['QWwYE']),_0xde4ed3='@ranger-testing/opencode-plugin',_0x33643d=_0x14e5d1[_0x4cdc40(0x1bd)];let _0x47a2ce={};if(existsSync(_0x2c996c))try{const _0x5cb3db=await _0x14e5d1['mtlnl'](readFile,_0x2c996c,'utf-8');_0x47a2ce=JSON['parse'](_0x5cb3db);}catch(_0x3d53df){return console['error'](_0x14e5d1['uZlqc']),{'configured':![],'scope':_0x45a9f2,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x3d53df};}const _0x3c06c4=Array[_0x4cdc40(0x1b6)](_0x47a2ce[_0x4cdc40(0x1b9)])?_0x47a2ce['plugin']:[];if(_0x3c06c4[_0x4cdc40(0x1b7)](_0xde4ed3))return console['log']('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x45a9f2};return _0x47a2ce[_0x4cdc40(0x1aa)]=_0x47a2ce['$schema']||_0x33643d,_0x47a2ce['plugin']=[..._0x3c06c4,_0xde4ed3],await mkdir(getOpencodeConfigDir(_0x45a9f2),{'recursive':!![]}),await writeFile(_0x2c996c,JSON[_0x4cdc40(0x1ae)](_0x47a2ce,null,0x2)+'\x0a'),console['log'](_0x4cdc40(0x1b3)),{'configured':!![],'scope':_0x45a9f2};}
@@ -1 +1 @@
1
- function _0x6e6b(){var _0x475f87=['6365936LpivVQ','262HqOasa','HkTxJ','YNewi','5745wROOXW','1380936YWZlTy','18cnJYBf','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','1400730QBfgNX','NZakv','108rrSlRI','349525LBAvPy','968190GpGXhP','68887DsLmhD'];_0x6e6b=function(){return _0x475f87;};return _0x6e6b();}function _0xfdac(_0x4c0944,_0xd7d9e5){_0x4c0944=_0x4c0944-0x1b1;var _0xfdac51=_0x6e6b();var _0x23916=_0xfdac51[_0x4c0944];return _0x23916;}(function(_0x4282a2,_0x34e41e){var _0x1c2d50=_0xfdac,_0x45584f=_0x4282a2();while(!![]){try{var _0x1d49d3=parseInt(_0x1c2d50(0x1b7))/0x1+-parseInt(_0x1c2d50(0x1ba))/0x2*(-parseInt(_0x1c2d50(0x1bd))/0x3)+parseInt(_0x1c2d50(0x1be))/0x4+-parseInt(_0x1c2d50(0x1b6))/0x5+-parseInt(_0x1c2d50(0x1b1))/0x6*(parseInt(_0x1c2d50(0x1b8))/0x7)+parseInt(_0x1c2d50(0x1b9))/0x8+parseInt(_0x1c2d50(0x1b5))/0x9*(-parseInt(_0x1c2d50(0x1b3))/0xa);if(_0x1d49d3===_0x34e41e)break;else _0x45584f['push'](_0x45584f['shift']());}catch(_0x3562fd){_0x45584f['push'](_0x45584f['shift']());}}}(_0x6e6b,0x8d88f));export async function setupCi(_0x55036d,_0xbf3261,_0x106c5e){var _0x55199e=_0xfdac,_0x475a37={'NZakv':function(_0x12591d,_0x20396b){return _0x12591d+_0x20396b;},'VKNjY':function(_0x32442b,_0xdb6141){return _0x32442b+_0xdb6141;},'HkTxJ':_0x55199e(0x1b2),'Dzdcw':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','YNewi':'\x20\x20https://docs.ranger.net/main/concepts/profiles'};console['error'](_0x475a37[_0x55199e(0x1b4)](_0x475a37['NZakv'](_0x475a37['VKNjY']('ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a')+_0x475a37[_0x55199e(0x1bb)],'\x0a'),_0x475a37['Dzdcw'])+_0x475a37[_0x55199e(0x1bc)]),process['exit'](0x1);}
1
+ function _0x817a(_0x5ebc21,_0x5776a8){_0x5ebc21=_0x5ebc21-0x180;var _0x339583=_0x3395();var _0x817a5=_0x339583[_0x5ebc21];return _0x817a5;}(function(_0x957f8b,_0x4c32b9){var _0x45b814=_0x817a,_0x168523=_0x957f8b();while(!![]){try{var _0x59b11c=-parseInt(_0x45b814(0x185))/0x1*(parseInt(_0x45b814(0x187))/0x2)+parseInt(_0x45b814(0x182))/0x3+parseInt(_0x45b814(0x183))/0x4+-parseInt(_0x45b814(0x18a))/0x5+-parseInt(_0x45b814(0x180))/0x6+parseInt(_0x45b814(0x184))/0x7*(parseInt(_0x45b814(0x186))/0x8)+-parseInt(_0x45b814(0x18c))/0x9*(parseInt(_0x45b814(0x188))/0xa);if(_0x59b11c===_0x4c32b9)break;else _0x168523['push'](_0x168523['shift']());}catch(_0xd2f0e7){_0x168523['push'](_0x168523['shift']());}}}(_0x3395,0xc6904));function _0x3395(){var _0x190ad5=['694797znmkEX','12306904QentYh','2XXzaTs','10fDhJWC','exit','499070ibZrrr','\x20\x20https://docs.ranger.net/main/concepts/profiles','2710557hcxbKl','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','QzjcW','6175056nnBOjJ','qUdnZ','3356970xxiGNx','1123692pdADUi','7jZGRWV'];_0x3395=function(){return _0x190ad5;};return _0x3395();}export async function setupCi(_0x56a09c,_0x685853,_0x208938){var _0x28734f=_0x817a,_0x2c6e1e={'qUdnZ':function(_0x51d146,_0x36374c){return _0x51d146+_0x36374c;},'IXHon':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','QzjcW':_0x28734f(0x18d),'inmCW':_0x28734f(0x18b)};console['error'](_0x2c6e1e['qUdnZ'](_0x2c6e1e[_0x28734f(0x181)](_0x2c6e1e['qUdnZ'](_0x2c6e1e['qUdnZ'](_0x2c6e1e['IXHon'],'\x0a'),_0x2c6e1e[_0x28734f(0x18e)])+'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'+'\x0a','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'),_0x2c6e1e['inmCW'])),process[_0x28734f(0x189)](0x1);}
@@ -1 +1 @@
1
- (function(_0x45811e,_0x150dd5){const _0x52942b=_0x1f1c,_0x35d32a=_0x45811e();while(!![]){try{const _0x2e7305=parseInt(_0x52942b(0x1f3))/0x1+parseInt(_0x52942b(0x1d7))/0x2*(-parseInt(_0x52942b(0x1de))/0x3)+parseInt(_0x52942b(0x1ef))/0x4*(parseInt(_0x52942b(0x1d3))/0x5)+-parseInt(_0x52942b(0x1ea))/0x6*(-parseInt(_0x52942b(0x1fc))/0x7)+parseInt(_0x52942b(0x1dc))/0x8*(parseInt(_0x52942b(0x1e5))/0x9)+parseInt(_0x52942b(0x1fb))/0xa+-parseInt(_0x52942b(0x1f8))/0xb;if(_0x2e7305===_0x150dd5)break;else _0x35d32a['push'](_0x35d32a['shift']());}catch(_0x687ed4){_0x35d32a['push'](_0x35d32a['shift']());}}}(_0x1b3b,0x83da9));import{basename}from'path';import _0x4b01f9 from'inquirer';import{getToken}from'./utils/keychain.js';function _0x1f1c(_0x681ec,_0x527081){_0x681ec=_0x681ec-0x1d2;const _0x1b3b70=_0x1b3b();let _0x1f1c4a=_0x1b3b70[_0x681ec];return _0x1f1c4a;}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(_0x4fb019={}){const _0x24035f=_0x1f1c,_0x603c66={'IHCni':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','MUYgI':_0x24035f(0x1ee),'goHLE':function(_0x2f03db){return _0x2f03db();},'mUFVX':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','SEQtm':'To\x20get\x20started:','qTNCE':_0x24035f(0x1e1),'ipKar':function(_0x362b33,_0x5ecc28){return _0x362b33===_0x5ecc28;},'eYcHR':function(_0x2064ae,_0x527014){return _0x2064ae===_0x527014;},'yuLHc':_0x24035f(0x1e3),'ZTRDx':'✓\x20Found\x20API\x20token','LHMNK':function(_0x235896,_0x1d6bd6){return _0x235896(_0x1d6bd6);},'kXrJO':'opencode','hUoEW':_0x24035f(0x1da),'izLPY':_0x24035f(0x1e0),'yzQGy':_0x24035f(0x1e9),'KKfgm':'\x0a📦\x20Installing\x20skills...\x0a','PfMTo':function(_0x2306eb,_0x4a67c0,_0x59ed0e){return _0x2306eb(_0x4a67c0,_0x59ed0e);},'FBDKs':_0x24035f(0x1dd),'wgDGb':function(_0x58aa5f,_0x5dae97){return _0x58aa5f>_0x5dae97;},'ukOjy':function(_0x571e2e,_0x983a15){return _0x571e2e===_0x983a15;},'MmEXp':'user-level','Atrgx':_0x24035f(0x1df),'UntaH':function(_0x21ab09,_0x57a455){return _0x21ab09===_0x57a455;}};console['log'](_0x603c66[_0x24035f(0x1f0)]);const _0x483f47=_0x4fb019['platform']??_0x603c66[_0x24035f(0x1e6)],_0x322ed9=await _0x603c66[_0x24035f(0x1d5)](getToken);if(!_0x322ed9){console['log'](_0x603c66[_0x24035f(0x1f9)]),console['log'](_0x603c66['SEQtm']),console[_0x24035f(0x1fe)](_0x603c66['qTNCE']),console[_0x24035f(0x1fe)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x603c66[_0x24035f(0x1e7)](_0x483f47,_0x24035f(0x1f6))?'\x20--opencode':'')+_0x24035f(0x1db)),console[_0x24035f(0x1fe)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x603c66['eYcHR'](_0x483f47,'opencode')?_0x603c66['yuLHc']:'')+'\x0a');return;}console[_0x24035f(0x1fe)](_0x603c66['ZTRDx']);const _0x2984bf=getProjectRoot(),_0x5a1067=_0x603c66['LHMNK'](basename,_0x2984bf),_0x2379d2=_0x603c66['eYcHR'](_0x483f47,'opencode')?_0x603c66[_0x24035f(0x1f5)](getOpencodeConfigDir,_0x24035f(0x1e0))+'/skills/':_0x603c66['goHLE'](getClaudeConfigDir)+'/skills/',_0x3d5e19=_0x483f47===_0x603c66[_0x24035f(0x1e8)]?_0x2984bf+'/.opencode/skills/':_0x2984bf+_0x24035f(0x1f7),_0x3ebb3f=process['stdin'][_0x24035f(0x1f2)]&&process['stdout']['isTTY'];let _0x1d5512;if(_0x4fb019['autoInstall'])_0x1d5512=_0x4fb019[_0x24035f(0x1d2)];else{if(_0x3ebb3f){const _0x128cbd=await _0x4b01f9[_0x24035f(0x1fd)]([{'type':'list','name':'installLevel','message':_0x603c66[_0x24035f(0x1fa)],'choices':[{'name':_0x24035f(0x1eb)+_0x2379d2+')','value':_0x603c66[_0x24035f(0x1ec)]},{'name':_0x24035f(0x1d8)+_0x3d5e19+')','value':_0x603c66['yzQGy']}]}]);_0x1d5512=_0x128cbd[_0x24035f(0x1e2)];}else _0x1d5512=_0x603c66[_0x24035f(0x1d6)],console[_0x24035f(0x1fe)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x3d5e19+')');}let _0x442994=0x0;const _0x1a5ae9=getCurrentVersion();console['log'](_0x603c66['KKfgm']);try{const _0x50de79=await _0x603c66['PfMTo'](installSkill,'ranger',{'cliVersion':_0x1a5ae9,'level':_0x1d5512,'platform':_0x483f47});_0x50de79&&_0x442994++;}catch(_0x39bcb5){console['warn'](_0x603c66[_0x24035f(0x1f1)],_0x39bcb5 instanceof Error?_0x39bcb5['message']:_0x39bcb5);}if(_0x603c66['wgDGb'](_0x442994,0x0)){const _0x5dc58f=_0x603c66['ukOjy'](_0x1d5512,_0x603c66[_0x24035f(0x1ec)])?_0x603c66['MmEXp']:_0x603c66[_0x24035f(0x1d4)];console['log'](_0x24035f(0x1d9)+_0x442994+'\x20'+_0x5dc58f+_0x24035f(0x1f4)+(_0x442994>0x1?'s':'')+'\x20successfully!\x0a'),!_0x4fb019[_0x24035f(0x1ed)]&&(console[_0x24035f(0x1fe)]('To\x20use:'),_0x603c66[_0x24035f(0x1e4)](_0x483f47,_0x603c66['kXrJO'])?console['log']('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console[_0x24035f(0x1fe)]('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console[_0x24035f(0x1fe)]('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}function _0x1b3b(){const _0x3e5064=['isTTY','977911Rwbves','\x20skill','LHMNK','opencode','/.claude/skills/','26522155vKnpCb','mUFVX','hUoEW','7005500ZvwKQO','7fAMyQq','prompt','log','autoInstall','235ZDwduT','Atrgx','goHLE','yzQGy','57100QDbxUZ','This\x20project\x20only\x20(','\x0a✅\x20Installed\x20','Where\x20should\x20skills\x20be\x20installed?','\x20<your-api-token>','136oMukZV','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','57FYYueG','project-level','user','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','installLevel','\x20--opencode','UntaH','85518uRwyHF','MUYgI','ipKar','kXrJO','project','5463096FNgYUT','All\x20projects\x20(','izLPY','suppressUsage','claude','63244HxFeBJ','IHCni','FBDKs'];_0x1b3b=function(){return _0x3e5064;};return _0x1b3b();}
1
+ (function(_0x3e0a7e,_0x4f63c4){const _0x5e570c=_0xd5ac,_0xe01a78=_0x3e0a7e();while(!![]){try{const _0x573b28=parseInt(_0x5e570c(0xf7))/0x1+parseInt(_0x5e570c(0x113))/0x2+-parseInt(_0x5e570c(0x108))/0x3*(-parseInt(_0x5e570c(0xf8))/0x4)+-parseInt(_0x5e570c(0xf6))/0x5*(-parseInt(_0x5e570c(0x111))/0x6)+-parseInt(_0x5e570c(0xf5))/0x7+-parseInt(_0x5e570c(0xeb))/0x8*(parseInt(_0x5e570c(0x104))/0x9)+-parseInt(_0x5e570c(0xe9))/0xa*(parseInt(_0x5e570c(0x10c))/0xb);if(_0x573b28===_0x4f63c4)break;else _0xe01a78['push'](_0xe01a78['shift']());}catch(_0x5dede6){_0xe01a78['push'](_0xe01a78['shift']());}}}(_0x59d5,0x7bb75));import{basename}from'path';import _0x46948 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x59d5(){const _0x379052=['isTTY','JxVOV','RVXuH','54XyZzRc','prompt','\x0a✅\x20Installed\x20','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','803LFfEis','✓\x20Found\x20API\x20token','To\x20use:','project','\x0a📦\x20Installing\x20skills...\x0a','360FdJbOa','\x20successfully!\x0a','971100uxJQEq','HqSqG','\x20\x202.\x20Run:\x20ranger\x20setup','nkLBg','\x20<your-api-token>','9470NSygYg','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','32952stcIUw','\x20--opencode','KbMxk','EjLQo','ecjYJ','installLevel','hUBdu','user','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','\x20skill','6750835ZTYYaM','40PswGyI','957089ErsFFG','206488QAmJKr','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','autoInstall','log','opencode','/.claude/skills/','message','ZLgwD','stdout','ZiMay','LTeio','SRYea','1818AWoBJf'];_0x59d5=function(){return _0x379052;};return _0x59d5();}function _0xd5ac(_0x224d69,_0x36e28e){_0x224d69=_0x224d69-0xe8;const _0x59d5b3=_0x59d5();let _0xd5acc4=_0x59d5b3[_0x224d69];return _0xd5acc4;}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0xffc8f7={}){const _0x3f05b2=_0xd5ac,_0x14dbfe={'bhuoJ':_0x3f05b2(0x10b),'nkLBg':'claude','HgeTq':function(_0x37ba99){return _0x37ba99();},'fFDzx':'To\x20get\x20started:','HqSqG':_0x3f05b2(0xfc),'BUAvo':function(_0x4b5cce){return _0x4b5cce();},'KbMxk':function(_0xea6fe4,_0x2e6dfc){return _0xea6fe4(_0x2e6dfc);},'LTeio':'list','EjLQo':_0x3f05b2(0xf0),'ZLgwD':'user','JxVOV':function(_0x4f2d77){return _0x4f2d77();},'ZiMay':function(_0xea425b,_0x4447de,_0x107160){return _0xea425b(_0x4447de,_0x107160);},'anuYB':'ranger','gXgJv':function(_0x17a4e6,_0x7b38e4){return _0x17a4e6===_0x7b38e4;},'FMvKM':'project-level','hUBdu':function(_0x29578a,_0x274f68){return _0x29578a>_0x274f68;},'SRYea':_0x3f05b2(0x10e),'ecjYJ':function(_0x533b5d,_0x3fe954){return _0x533b5d===_0x3fe954;},'IWWCq':'\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!','RVXuH':_0x3f05b2(0xf3)};console['log'](_0x14dbfe['bhuoJ']);const _0x51d9c9=_0xffc8f7['platform']??_0x14dbfe[_0x3f05b2(0x116)],_0x1ccfbb=await _0x14dbfe['HgeTq'](getToken);if(!_0x1ccfbb){console['log'](_0x3f05b2(0xf9)),console['log'](_0x14dbfe['fFDzx']),console['log']('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli'),console['log'](_0x3f05b2(0x115)+(_0x51d9c9===_0x14dbfe[_0x3f05b2(0x114)]?_0x3f05b2(0xec):'')+_0x3f05b2(0xe8)),console[_0x3f05b2(0xfb)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x51d9c9===_0x14dbfe['HqSqG']?_0x3f05b2(0xec):'')+'\x0a');return;}console['log'](_0x3f05b2(0x10d));const _0x78057=_0x14dbfe['BUAvo'](getProjectRoot),_0x5f0f26=basename(_0x78057),_0x136aeb=_0x51d9c9===_0x14dbfe['HqSqG']?_0x14dbfe[_0x3f05b2(0xed)](getOpencodeConfigDir,'user')+'/skills/':_0x14dbfe['BUAvo'](getClaudeConfigDir)+'/skills/',_0x58b429=_0x51d9c9===_0x14dbfe['HqSqG']?_0x78057+'/.opencode/skills/':_0x78057+_0x3f05b2(0xfd),_0x231885=process['stdin'][_0x3f05b2(0x105)]&&process[_0x3f05b2(0x100)][_0x3f05b2(0x105)];let _0xc84862;if(_0xffc8f7['autoInstall'])_0xc84862=_0xffc8f7[_0x3f05b2(0xfa)];else{if(_0x231885){const _0x2c1f7e=await _0x46948[_0x3f05b2(0x109)]([{'type':_0x14dbfe[_0x3f05b2(0x102)],'name':_0x14dbfe[_0x3f05b2(0xee)],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':'All\x20projects\x20('+_0x136aeb+')','value':_0x14dbfe[_0x3f05b2(0xff)]},{'name':'This\x20project\x20only\x20('+_0x58b429+')','value':_0x3f05b2(0x10f)}]}]);_0xc84862=_0x2c1f7e[_0x3f05b2(0xf0)];}else _0xc84862='project',console['log'](_0x3f05b2(0xea)+_0x58b429+')');}let _0x32b9ba=0x0;const _0x433ffc=_0x14dbfe[_0x3f05b2(0x106)](getCurrentVersion);console['log'](_0x3f05b2(0x110));try{const _0x162682=await _0x14dbfe[_0x3f05b2(0x101)](installSkill,_0x14dbfe['anuYB'],{'cliVersion':_0x433ffc,'level':_0xc84862,'platform':_0x51d9c9});_0x162682&&_0x32b9ba++;}catch(_0x232288){console['warn']('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x232288 instanceof Error?_0x232288[_0x3f05b2(0xfe)]:_0x232288);}if(_0x32b9ba>0x0){const _0x577848=_0x14dbfe['gXgJv'](_0xc84862,_0x3f05b2(0xf2))?'user-level':_0x14dbfe['FMvKM'];console['log'](_0x3f05b2(0x10a)+_0x32b9ba+'\x20'+_0x577848+_0x3f05b2(0xf4)+(_0x14dbfe[_0x3f05b2(0xf1)](_0x32b9ba,0x1)?'s':'')+_0x3f05b2(0x112)),!_0xffc8f7['suppressUsage']&&(console[_0x3f05b2(0xfb)](_0x14dbfe[_0x3f05b2(0x103)]),_0x14dbfe[_0x3f05b2(0xef)](_0x51d9c9,'opencode')?console[_0x3f05b2(0xfb)]('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console[_0x3f05b2(0xfb)](_0x14dbfe['IWWCq']));}else console[_0x3f05b2(0xfb)](_0x14dbfe[_0x3f05b2(0x107)]);}
@@ -1 +1 @@
1
- (function(_0x386fcf,_0x49f121){const _0x3546af=_0x52ae,_0xab571=_0x386fcf();while(!![]){try{const _0x2b2d18=-parseInt(_0x3546af(0x1fd))/0x1+parseInt(_0x3546af(0x20b))/0x2+-parseInt(_0x3546af(0x1f2))/0x3*(-parseInt(_0x3546af(0x239))/0x4)+parseInt(_0x3546af(0x226))/0x5*(-parseInt(_0x3546af(0x224))/0x6)+-parseInt(_0x3546af(0x218))/0x7*(parseInt(_0x3546af(0x22c))/0x8)+-parseInt(_0x3546af(0x228))/0x9+parseInt(_0x3546af(0x241))/0xa;if(_0x2b2d18===_0x49f121)break;else _0xab571['push'](_0xab571['shift']());}catch(_0x30d558){_0xab571['push'](_0xab571['shift']());}}}(_0x1922,0xd90d7));function _0x52ae(_0x5d52a8,_0x3d7ebc){_0x5d52a8=_0x5d52a8-0x1e9;const _0x19222c=_0x1922();let _0x52aebd=_0x19222c[_0x5d52a8];return _0x52aebd;}import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x3cf803 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';function _0x1922(){const _0x1baa1b=['4FnWsZC','ignore','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','success','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','✓\x20Exported\x20credentials\x20for\x20CI','user','39035840QWwfwN','bJULT','plugin','trackPhaseStart','url','...','hdtlU','SgdVE','stdin','install','platform','✓\x20Playwright\x20Chromium\x20browser\x20found','jupxC','\x0a⚠\x20Skipping\x20Chromium\x20installation.','force','skipChromium','qyGFJ','\x20(fallback\x20version)','318495iOthFb','✓\x20Stored\x20credentials\x20locally','trackPhaseEnd','--with-deps','JllgR','nhgFT','skills','rjjli','GITHUB_ENV','HBvAk','JmeHI','299911rqrSPh','withDeps','ttgQQ','device_auth','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','.gitignore','CvaPN','\x0aInstalling\x20Chromium\x20browser...\x0a','prompt','profile','npx','XDSKD','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','49992ofmfdn','\x20install\x20chromium','provided_token','log','\x0aIn\x20Claude\x20Code,\x20run\x20','chromium','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','\x20is\x20no\x20longer\x20supported.\x20','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','skipped','✓\x20Local\x20profile\x20already\x20exists','NLCBV','175MrHFnV','Validating\x20API\x20token...','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','sgSgn','playwright@','existing_token','auth','✓\x20Already\x20authenticated\x20to\x20','Installation\x20failed\x20with\x20exit\x20code\x20','error','message','inherit','438jVedzk','SYxEt','82555lRdCKi','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','4468806JvPdhW','eaASL','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','dGaFo','366064JUqfyZ','✓\x20Authenticated\x20to\x20','✓\x20~/.ranger/\x20directory\x20already\x20exists','wiIQA','Authentication\x20failed:\x20','SJEVy','allowInsecureLocalhost','scope','bPPYw','organizationName','rBRUX','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','playwright/package.json'];_0x1922=function(){return _0x1baa1b;};return _0x1922();}import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x484b70=>'\x1b[1m'+_0x484b70+'\x1b[0m';export function getPlaywrightVersion(){const _0x4709e6=_0x52ae;try{const _0x7ba15f=require['resolve'](_0x4709e6(0x238)),_0x5497c1=require(_0x7ba15f);return _0x5497c1['version'];}catch{return null;}}export function installChromiumBinary(_0x3badf5,_0x2cbd9a=![]){const _0x5659b6=_0x52ae,_0x1b3665={'lFguW':function(_0x2025bc,_0x4eaca5){return _0x2025bc(_0x4eaca5);},'OntZs':'chromium','zyRcd':function(_0x1f0839,_0x5917b0,_0x16200d,_0x30dd22){return _0x1f0839(_0x5917b0,_0x16200d,_0x30dd22);},'SJEVy':_0x5659b6(0x208)};return new Promise((_0x524451,_0x1b84e5)=>{const _0xb35000=_0x5659b6,_0x394b57={'GQziK':function(_0xa83af4,_0x54cff6){return _0xa83af4===_0x54cff6;},'ttgQQ':function(_0x3b77c1,_0x192be0){return _0x1b3665['lFguW'](_0x3b77c1,_0x192be0);}},_0x170ee3=[_0xb35000(0x21c)+_0x3badf5,'install',..._0x2cbd9a?[_0xb35000(0x1f5)]:[],_0x1b3665['OntZs']],_0x38c2e6=_0x1b3665['zyRcd'](spawn,_0x1b3665[_0xb35000(0x231)],_0x170ee3,{'stdio':[_0xb35000(0x23a),_0xb35000(0x223),_0xb35000(0x223)],'shell':process[_0xb35000(0x1ea)]==='win32'});_0x38c2e6['on']('close',_0x23c21c=>{const _0x2d30d9=_0xb35000;_0x394b57['GQziK'](_0x23c21c,0x0)?_0x524451():_0x1b84e5(new Error(_0x2d30d9(0x220)+_0x23c21c));}),_0x38c2e6['on'](_0xb35000(0x221),_0x44b8ef=>{const _0x57ddc6=_0xb35000;_0x394b57[_0x57ddc6(0x1ff)](_0x1b84e5,_0x44b8ef);});});}export async function authenticate(_0x4f69be){const _0x4f0525=_0x52ae,_0x45191a={'OdeCw':function(_0x26c84c,_0x4be85b){return _0x26c84c(_0x4be85b);},'RjXIn':_0x4f0525(0x21d),'DSaem':_0x4f0525(0x200),'rBRUX':_0x4f0525(0x23f)};if(!_0x4f69be){const _0x28140c=await getToken();if(_0x28140c){const _0x271b4c=await _0x45191a['OdeCw'](getCurrentUser,_0x28140c);if(_0x271b4c['success'])return console['log'](_0x4f0525(0x21f)+_0x271b4c['user']['organizationName']),{'token':_0x28140c,'method':_0x45191a['RjXIn']};}try{_0x4f69be=await runDeviceAuthFlow();}catch(_0x5776a5){throw new Error('Authentication\x20failed:\x20'+(_0x5776a5 instanceof Error?_0x5776a5[_0x4f0525(0x222)]:_0x5776a5));}const _0x44e3dd=await getCurrentUser(_0x4f69be);if(!_0x44e3dd[_0x4f0525(0x23d)])throw new Error(_0x4f0525(0x23b)+_0x44e3dd[_0x4f0525(0x221)]);return console[_0x4f0525(0x20e)](_0x4f0525(0x22d)+_0x44e3dd['user']['organizationName']),{'token':_0x4f69be,'method':_0x45191a['DSaem']};}console[_0x4f0525(0x20e)](_0x4f0525(0x219));const _0xaa58b3=await getCurrentUser(_0x4f69be);if(!_0xaa58b3[_0x4f0525(0x23d)]){if(_0xaa58b3['status'])throw new Error(_0x4f0525(0x230)+_0xaa58b3[_0x4f0525(0x221)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0xaa58b3[_0x4f0525(0x221)]+_0x4f0525(0x202));}return console[_0x4f0525(0x20e)](_0x4f0525(0x22d)+_0xaa58b3[_0x4f0525(0x240)][_0x4f0525(0x235)]),await storeToken(_0x4f69be),console[_0x4f0525(0x20e)](process['env'][_0x4f0525(0x1fa)]?_0x45191a[_0x4f0525(0x236)]:_0x4f0525(0x1f3)),{'token':_0x4f69be,'method':_0x4f0525(0x20d)};}export async function ensureRangerDir(_0x2b8d54){const _0x30e7cd=_0x52ae,_0x2ee54c={'cRPeA':function(_0x3a62c5){return _0x3a62c5();},'oULmb':function(_0x205307,_0xa132ef){return _0x205307(_0xa132ef);},'NTjUm':'✓\x20Created\x20~/.ranger/\x20directory','yULUX':_0x30e7cd(0x22e)};void _0x2b8d54;const _0x30bba9=_0x2ee54c['cRPeA'](getRangerHomeDir);return!_0x2ee54c['oULmb'](existsSync,_0x30bba9)?(await mkdir(_0x30bba9,{'recursive':!![]}),console['log'](_0x2ee54c['NTjUm']),{'path':_0x30bba9,'installed':!![]}):(console[_0x30e7cd(0x20e)](_0x2ee54c['yULUX']),{'path':_0x30bba9,'installed':![]});}export async function ensureChromium(_0x559740=![]){const _0x3ad034=_0x52ae,_0x2407e6={'KPIAZ':function(_0x39cef6,_0x278b31){return _0x39cef6(_0x278b31);},'sgSgn':_0x3ad034(0x1eb),'rulBF':function(_0xdf995e,_0x4c3d8a){return _0xdf995e??_0x4c3d8a;},'Bacgd':'confirm','rjjli':_0x3ad034(0x1f1),'jupxC':_0x3ad034(0x205),'zStOT':function(_0x278809,_0x58fc54){return _0x278809 instanceof _0x58fc54;}};let _0xc1fab8=![];try{const _0x2854c7=chromium['executablePath']();_0xc1fab8=_0x2407e6['KPIAZ'](existsSync,_0x2854c7);}catch{_0xc1fab8=![];}if(_0xc1fab8)return console[_0x3ad034(0x20e)](_0x2407e6[_0x3ad034(0x21b)]),![];const _0x51a6d5=getPlaywrightVersion(),_0x252040=_0x2407e6['rulBF'](_0x51a6d5,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x1ff5e4=!_0x51a6d5,_0x43c7a2=process[_0x3ad034(0x249)]['isTTY']&&process['stdout']['isTTY'];let _0x275239=!![];if(_0x43c7a2){const {install:_0x6600c}=await _0x3cf803[_0x3ad034(0x206)]([{'type':_0x2407e6['Bacgd'],'name':_0x3ad034(0x1e9),'message':_0x1ff5e4?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x252040+'\x20now?':'The\x20required\x20version\x20('+_0x252040+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x275239=_0x6600c;}else console['log'](_0x3ad034(0x23e)+_0x252040+(_0x1ff5e4?_0x2407e6[_0x3ad034(0x1f9)]:'')+_0x3ad034(0x246));if(_0x275239){console['log'](_0x2407e6[_0x3ad034(0x1ec)]);try{await installChromiumBinary(_0x252040,_0x559740),console['log']('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x4b1de0){console[_0x3ad034(0x221)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x2407e6['zStOT'](_0x4b1de0,Error)?_0x4b1de0[_0x3ad034(0x222)]:_0x4b1de0),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console[_0x3ad034(0x20e)]('\x20\x20npx\x20playwright@'+_0x252040+_0x3ad034(0x20c));}}else console[_0x3ad034(0x20e)](_0x3ad034(0x1ed)),console[_0x3ad034(0x20e)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log']('\x20\x20npx\x20playwright@'+_0x252040+_0x3ad034(0x20c));return!![];}export async function writeRangerGitignore(_0x4c28bc){const _0x4bdbc5=_0x52ae,_0x5e5188={'JmeHI':_0x4bdbc5(0x203)},_0x3dde04=join(_0x4c28bc,_0x5e5188[_0x4bdbc5(0x1fc)]),_0x4eee2a='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x3dde04,_0x4eee2a),console['log']('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x23ceaa,_0x2397eb){const _0x5a6f5f=_0x52ae,_0x317835={'Ohzjn':_0x5a6f5f(0x240),'yyQIk':_0x5a6f5f(0x214),'QqybU':function(_0x369639,_0x3416a4){return _0x369639===_0x3416a4;},'BWFXQ':function(_0x32217b,_0x4337b7,_0x324618){return _0x32217b(_0x4337b7,_0x324618);},'xoLRE':'local','dUhJg':_0x5a6f5f(0x216),'dlIdL':'\x0a❌\x20Profile\x20setup\x20failed:','JllgR':function(_0x413bf,_0x310054){return _0x413bf instanceof _0x310054;}};if(!findGitRoot()&&_0x23ceaa?.['scope']!==_0x317835['Ohzjn'])return console[_0x5a6f5f(0x20e)](_0x317835['yyQIk']),{'ready':![],'skipped':!![]};const _0x7f0b2f=_0x317835['QqybU'](_0x23ceaa?.['scope'],_0x5a6f5f(0x240))?getRangerHomeDir():undefined;if(_0x317835['BWFXQ'](findExistingEnv,'local',{'locations':[_0x317835['xoLRE']],'rangerDir':_0x7f0b2f}))return console['log'](_0x317835['dUhJg']),{'ready':!![],'skipped':![]};try{return await addEnv(_0x317835['xoLRE'],{'url':_0x23ceaa?.[_0x5a6f5f(0x245)],'force':_0x23ceaa?.[_0x5a6f5f(0x1ee)],'allowInsecureLocalhost':_0x23ceaa?.['allowInsecureLocalhost'],'scope':_0x23ceaa?.['scope']},_0x2397eb),{'ready':!![],'skipped':![]};}catch(_0x116f25){return console['error'](_0x317835['dlIdL'],_0x317835[_0x5a6f5f(0x1f6)](_0x116f25,Error)?_0x116f25['message']:_0x116f25),{'ready':![],'skipped':![]};}}export async function start(_0xc8be1f,_0x18d355,_0x2f946b){const _0x1399e5=_0x52ae,_0x437273={'XDSKD':function(_0x20d5cf,_0x426689){return _0x20d5cf!==_0x426689;},'NLCBV':_0x1399e5(0x240),'uGRqO':function(_0x3c6da1,_0x50358a){return _0x3c6da1+_0x50358a;},'mpjrm':function(_0x273454,_0x3e55ca){return _0x273454(_0x3e55ca);},'bQCXo':function(_0x43ea2a){return _0x43ea2a();},'eaASL':function(_0x42d353,_0x4d6252){return _0x42d353(_0x4d6252);},'MXYGz':'✓\x20Skipping\x20authentication\x20(--skip-auth)','nhgFT':_0x1399e5(0x21e),'dGaFo':function(_0x685258,_0x188b84){return _0x685258(_0x188b84);},'hdtlU':'chromium','SYxEt':_0x1399e5(0x213),'cjCCJ':_0x1399e5(0x243),'bPPYw':_0x1399e5(0x1f8),'HBvAk':function(_0x2af99c,_0x3b9f65,_0x3d3ba3){return _0x2af99c(_0x3b9f65,_0x3d3ba3);},'qyGFJ':'opencode','CvaPN':function(_0x41ce08,_0x351dd3){return _0x41ce08(_0x351dd3);},'SgdVE':function(_0x4fd6dc,_0x268714){return _0x4fd6dc+_0x268714;},'bJULT':'ranger\x20profile\x20add\x20<name>','wiIQA':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'};console[_0x1399e5(0x20e)]('\x0a🚀\x20Ranger\x20Setup\x0a');_0x18d355?.['scope']!==undefined&&_0x437273[_0x1399e5(0x209)](_0x18d355[_0x1399e5(0x233)],_0x437273[_0x1399e5(0x217)])&&(console[_0x1399e5(0x221)](_0x437273['uGRqO']('ranger\x20setup\x20--scope='+_0x437273['mpjrm'](String,_0x18d355['scope'])+_0x1399e5(0x212)+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20',_0x1399e5(0x237))),process['exit'](0x1));_0x18d355={..._0x18d355,'scope':_0x437273[_0x1399e5(0x217)]};const _0x2b6bd5=!existsSync(_0x437273['bQCXo'](getRangerHomeDir));await _0x437273[_0x1399e5(0x229)](ensureRangerDir,_0x437273[_0x1399e5(0x217)]);if(_0x18d355?.['skipAuth'])console['log'](_0x437273['MXYGz']),_0x2f946b?.[_0x1399e5(0x1f4)](_0x437273[_0x1399e5(0x1f7)],{'isFirstRun':_0x2b6bd5,'method':'skipped'});else{_0x2f946b?.['trackPhaseStart'](_0x437273['nhgFT']);const _0x25f074=await authenticate(_0xc8be1f);_0x2f946b?.[_0x1399e5(0x1f4)]('auth',{'isFirstRun':_0x2b6bd5,'method':_0x25f074['method']});}_0x2f946b?.[_0x1399e5(0x244)](_0x1399e5(0x210));_0x18d355?.[_0x1399e5(0x1ef)]?console[_0x1399e5(0x20e)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await _0x437273[_0x1399e5(0x22b)](ensureChromium,_0x18d355?.[_0x1399e5(0x1fe)]);_0x2f946b?.['trackPhaseEnd'](_0x437273[_0x1399e5(0x247)],{'isFirstRun':_0x2b6bd5,'skipped':!!_0x18d355?.[_0x1399e5(0x1ef)]}),console['log'](_0x437273[_0x1399e5(0x225)]);const _0x5cd509=_0x18d355?.[_0x1399e5(0x233)],_0x4299f1=_0x18d355?.['opencode']??![];let _0x4dc786=null;_0x4299f1?(_0x2f946b?.[_0x1399e5(0x244)](_0x437273['cjCCJ']),_0x4dc786=await _0x437273['eaASL'](ensureOpencodePluginConfig,_0x5cd509),_0x2f946b?.['trackPhaseEnd'](_0x437273['cjCCJ'],{'isFirstRun':_0x2b6bd5,'opencode':!![]})):(_0x2f946b?.[_0x1399e5(0x244)]('plugin'),await ensureClaudePlugin(_0x5cd509),_0x2f946b?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x2b6bd5}));if(_0x4299f1&&_0x4dc786){_0x2f946b?.['trackPhaseStart'](_0x437273['bPPYw']);try{await _0x437273[_0x1399e5(0x1fb)](installSkill,'ranger',{'level':_0x4dc786['scope'],'cliVersion':getCurrentVersion(),'platform':_0x437273[_0x1399e5(0x1f0)]}),_0x2f946b?.['trackPhaseEnd'](_0x437273[_0x1399e5(0x234)],{'isFirstRun':_0x2b6bd5,'opencode':!![]});}catch(_0x3f5fff){console['warn'](_0x1399e5(0x22a),_0x3f5fff instanceof Error?_0x3f5fff[_0x1399e5(0x222)]:_0x3f5fff),_0x2f946b?.['trackPhaseEnd'](_0x1399e5(0x1f8),{'isFirstRun':_0x2b6bd5,'opencode':!![],'failed':!![]});}}else _0x2f946b?.[_0x1399e5(0x244)](_0x437273[_0x1399e5(0x234)]),await _0x437273[_0x1399e5(0x204)](ensureClaudeSkills,_0x5cd509),_0x2f946b?.[_0x1399e5(0x1f4)]('skills',{'isFirstRun':_0x2b6bd5});if(_0x18d355?.['skipAuth'])console[_0x1399e5(0x20e)](_0x1399e5(0x211));else{if(_0x18d355?.[_0x1399e5(0x245)]){_0x2f946b?.[_0x1399e5(0x244)](_0x1399e5(0x207));const _0x18b69a=await _0x437273[_0x1399e5(0x1fb)](ensureLocalEnv,{'url':_0x18d355[_0x1399e5(0x245)],'force':_0x18d355?.['force'],'allowInsecureLocalhost':_0x18d355?.[_0x1399e5(0x232)],'scope':'user'},_0x2f946b);_0x2f946b?.['trackPhaseEnd'](_0x1399e5(0x207),{'isFirstRun':_0x2b6bd5,'profileReady':_0x18b69a['ready'],'userSkipped':_0x18b69a[_0x1399e5(0x215)]});}else console['log'](_0x437273[_0x1399e5(0x248)](_0x437273[_0x1399e5(0x248)](_0x1399e5(0x20a)+('\x0a\x20\x20'+bold(_0x437273[_0x1399e5(0x242)]))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)',_0x1399e5(0x201)),'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles'));}if(_0x4299f1)console['log'](_0x1399e5(0x227)),console[_0x1399e5(0x20e)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log'](_0x437273[_0x1399e5(0x22f)]),console[_0x1399e5(0x20e)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x3eb060=bold('/ranger:enable');console[_0x1399e5(0x20e)](_0x437273['uGRqO'](_0x1399e5(0x20f)+_0x3eb060+'\x20and\x20prompt\x20the\x20coding'+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with',_0x1399e5(0x21a))+_0x1399e5(0x23c));}}
1
+ const _0x4527e7=_0xcdb5;(function(_0x136ce2,_0x1e4737){const _0x33e9d6=_0xcdb5,_0x7ec58e=_0x136ce2();while(!![]){try{const _0x12bfd7=parseInt(_0x33e9d6(0x235))/0x1*(parseInt(_0x33e9d6(0x236))/0x2)+-parseInt(_0x33e9d6(0x21e))/0x3+parseInt(_0x33e9d6(0x22e))/0x4+parseInt(_0x33e9d6(0x222))/0x5+-parseInt(_0x33e9d6(0x216))/0x6+-parseInt(_0x33e9d6(0x1f8))/0x7+parseInt(_0x33e9d6(0x21d))/0x8*(parseInt(_0x33e9d6(0x205))/0x9);if(_0x12bfd7===_0x1e4737)break;else _0x7ec58e['push'](_0x7ec58e['shift']());}catch(_0x20a8f0){_0x7ec58e['push'](_0x7ec58e['shift']());}}}(_0xb48f,0x8bc1b));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';function _0xb48f(){const _0x17ef4c=['247224YOnhpm','2726412cyxxtX','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','RhdsH','lUgPa','4866045ArTBuo','sitGZ','LEwZd','trackPhaseEnd','Authentication\x20failed:\x20','\x0a🚀\x20Ranger\x20Setup\x0a','ignore','lIPRr','CZgRe','skills','sSTqg','✓\x20Authenticated\x20to\x20','693648sXnRFx','vBCWn','force','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','\x1b[1m','rWeYm','1QHtMDb','2099518jULDoI','ranger\x20profile\x20add\x20<name>','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','allowInsecureLocalhost','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','ranger','xzXrf','BBQiE','error','vkNTe','chromium','1.58.2','\x0a⚠\x20Skipping\x20Chromium\x20installation.',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','close','BLIhL','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','Tohiy','url','install','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','win32','✓\x20Already\x20authenticated\x20to\x20','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','\x0a\x20\x20','✓\x20Created\x20~/.ranger/\x20directory','HzwFV','XSHCC','✓\x20Created\x20.ranger/.gitignore','\x1b[0m','stdin','VqmyL','prompt','user','vVUDt','skipAuth','message','qXpqA','2954448KcAckL','\x0a❌\x20Profile\x20setup\x20failed:','skipChromium','bIxES','epbUc','VBiNg','organizationName','✓\x20Exported\x20credentials\x20for\x20CI','skipped','\x20\x20npx\x20playwright@','lJUhS','PwOQC','log','144LJvAvP','withDeps','inherit','warn','hYWYG','auth','executablePath','scope','plugin','playwright/package.json','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','trackPhaseStart','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','existing_token','fQzAP','success','ljVEY','4725102mqAzXW','aapyK','XHdpo','wEHuN','beYxk','Jflzf','\x0a❌\x20Failed\x20to\x20install\x20Chromium:'];_0xb48f=function(){return _0x17ef4c;};return _0xb48f();}import _0x3f10a8 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';function _0xcdb5(_0x5ab7ab,_0x577031){_0x5ab7ab=_0x5ab7ab-0x1dd;const _0xb48ff9=_0xb48f();let _0xcdb58f=_0xb48ff9[_0x5ab7ab];return _0xcdb58f;}import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x4527e7(0x1dd);const bold=_0x19ef2f=>_0x4527e7(0x233)+_0x19ef2f+_0x4527e7(0x1ef);export function getPlaywrightVersion(){const _0x56895e=_0x4527e7,_0x532c4a={'eJUwH':_0x56895e(0x20e),'wkdsq':function(_0x177d71,_0x268e10){return _0x177d71(_0x268e10);}};try{const _0x51e61f=require['resolve'](_0x532c4a['eJUwH']),_0x3ec0e8=_0x532c4a['wkdsq'](require,_0x51e61f);return _0x3ec0e8['version'];}catch{return null;}}export function installChromiumBinary(_0x2ead67,_0x2124cd=![]){const _0x139f6c=_0x4527e7,_0x2992cd={'wqCYr':_0x139f6c(0x240),'cFjGf':function(_0x4d5135,_0x5667ba,_0x5c83ce,_0x110a5e){return _0x4d5135(_0x5667ba,_0x5c83ce,_0x110a5e);},'AdOFT':_0x139f6c(0x228),'fQzAP':function(_0x501b3d,_0x273f35){return _0x501b3d===_0x273f35;},'RhdsH':_0x139f6c(0x23e)};return new Promise((_0xfa8ac0,_0x5a76e4)=>{const _0x1c22fd=_0x139f6c,_0x2c2471={'hbzPY':function(_0x58d4b7){return _0x58d4b7();}},_0x554004=['playwright@'+_0x2ead67,_0x1c22fd(0x1e5),..._0x2124cd?['--with-deps']:[],_0x2992cd['wqCYr']],_0x2343d7=_0x2992cd['cFjGf'](spawn,'npx',_0x554004,{'stdio':[_0x2992cd['AdOFT'],_0x1c22fd(0x207),'inherit'],'shell':_0x2992cd[_0x1c22fd(0x213)](process['platform'],_0x1c22fd(0x1e7))});_0x2343d7['on'](_0x1c22fd(0x1e0),_0x187e89=>{_0x187e89===0x0?_0x2c2471['hbzPY'](_0xfa8ac0):_0x5a76e4(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x187e89));}),_0x2343d7['on'](_0x2992cd[_0x1c22fd(0x220)],_0x17e65a=>{_0x5a76e4(_0x17e65a);});});}export async function authenticate(_0x310078){const _0x3e78b0=_0x4527e7,_0x529938={'vkNTe':function(_0x3e5c1d){return _0x3e5c1d();},'NzWgd':function(_0x5ba189,_0x2110e5){return _0x5ba189(_0x2110e5);},'rWeYm':_0x3e78b0(0x212),'PlClz':'device_auth','BBQiE':_0x3e78b0(0x1ff),'XHdpo':'✓\x20Stored\x20credentials\x20locally','meSCb':'provided_token'};if(!_0x310078){const _0xba987e=await _0x529938['vkNTe'](getToken);if(_0xba987e){const _0x264d05=await _0x529938['NzWgd'](getCurrentUser,_0xba987e);if(_0x264d05['success'])return console[_0x3e78b0(0x204)](_0x3e78b0(0x1e8)+_0x264d05[_0x3e78b0(0x1f3)]['organizationName']),{'token':_0xba987e,'method':_0x529938[_0x3e78b0(0x234)]};}try{_0x310078=await _0x529938[_0x3e78b0(0x23f)](runDeviceAuthFlow);}catch(_0x5a94fa){throw new Error(_0x3e78b0(0x226)+(_0x5a94fa instanceof Error?_0x5a94fa[_0x3e78b0(0x1f6)]:_0x5a94fa));}const _0x193b96=await getCurrentUser(_0x310078);if(!_0x193b96[_0x3e78b0(0x214)])throw new Error(_0x3e78b0(0x1e9)+_0x193b96[_0x3e78b0(0x23e)]);return console[_0x3e78b0(0x204)](_0x3e78b0(0x22d)+_0x193b96[_0x3e78b0(0x1f3)][_0x3e78b0(0x1fe)]),{'token':_0x310078,'method':_0x529938['PlClz']};}console[_0x3e78b0(0x204)]('Validating\x20API\x20token...');const _0x2385d=await getCurrentUser(_0x310078);if(!_0x2385d['success']){if(_0x2385d['status'])throw new Error(_0x3e78b0(0x226)+_0x2385d['error']+_0x3e78b0(0x21f));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x2385d[_0x3e78b0(0x23e)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x3e78b0(0x204)](_0x3e78b0(0x22d)+_0x2385d['user']['organizationName']),await storeToken(_0x310078),console['log'](process['env']['GITHUB_ENV']?_0x529938[_0x3e78b0(0x23d)]:_0x529938[_0x3e78b0(0x218)]),{'token':_0x310078,'method':_0x529938['meSCb']};}export async function ensureRangerDir(_0xf52935){const _0x1b7d7b=_0x4527e7,_0x4450df={'LEwZd':function(_0x24547c){return _0x24547c();},'mEONY':function(_0x1d35cd,_0x3a832d,_0x483a5b){return _0x1d35cd(_0x3a832d,_0x483a5b);},'iFpGL':_0x1b7d7b(0x1eb),'sitGZ':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0xf52935;const _0x27373e=_0x4450df[_0x1b7d7b(0x224)](getRangerHomeDir);return!existsSync(_0x27373e)?(await _0x4450df['mEONY'](mkdir,_0x27373e,{'recursive':!![]}),console['log'](_0x4450df['iFpGL']),{'path':_0x27373e,'installed':!![]}):(console[_0x1b7d7b(0x204)](_0x4450df[_0x1b7d7b(0x223)]),{'path':_0x27373e,'installed':![]});}export async function ensureChromium(_0x5d4eec=![]){const _0x4cc252=_0x4527e7,_0x4f98b0={'lJUhS':function(_0xdf9b40,_0x24a0df){return _0xdf9b40(_0x24a0df);},'qZgLz':function(_0x5d4169){return _0x5d4169();},'WeYOZ':function(_0x9fdfac,_0x3d6faa){return _0x9fdfac??_0x3d6faa;},'vBCWn':'install','VqmyL':'\x0aInstalling\x20Chromium\x20browser...\x0a','SutpY':function(_0x49587b,_0x215eb4,_0x27e847){return _0x49587b(_0x215eb4,_0x27e847);},'gfxKt':_0x4cc252(0x23a),'XSHCC':function(_0x1a1bda,_0x195e77){return _0x1a1bda instanceof _0x195e77;}};let _0x48f6b9=![];try{const _0x4a76cb=chromium[_0x4cc252(0x20b)]();_0x48f6b9=_0x4f98b0[_0x4cc252(0x202)](existsSync,_0x4a76cb);}catch{_0x48f6b9=![];}if(_0x48f6b9)return console[_0x4cc252(0x204)]('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x1c772a=_0x4f98b0['qZgLz'](getPlaywrightVersion),_0x23238b=_0x4f98b0['WeYOZ'](_0x1c772a,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0xa1bc99=!_0x1c772a,_0x2b8329=process[_0x4cc252(0x1f0)]['isTTY']&&process['stdout']['isTTY'];let _0x322fea=!![];if(_0x2b8329){const {install:_0xf27a01}=await _0x3f10a8[_0x4cc252(0x1f2)]([{'type':'confirm','name':_0x4f98b0[_0x4cc252(0x22f)],'message':_0xa1bc99?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x23238b+'\x20now?':'The\x20required\x20version\x20('+_0x23238b+_0x4cc252(0x1df),'default':!![]}]);_0x322fea=_0xf27a01;}else console['log'](_0x4cc252(0x20f)+_0x23238b+(_0xa1bc99?'\x20(fallback\x20version)':'')+'...');if(_0x322fea){console['log'](_0x4f98b0[_0x4cc252(0x1f1)]);try{await _0x4f98b0['SutpY'](installChromiumBinary,_0x23238b,_0x5d4eec),console['log'](_0x4f98b0['gfxKt']);}catch(_0x582279){console[_0x4cc252(0x23e)](_0x4cc252(0x21c),_0x4f98b0[_0x4cc252(0x1ed)](_0x582279,Error)?_0x582279[_0x4cc252(0x1f6)]:_0x582279),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console['log'](_0x4cc252(0x201)+_0x23238b+'\x20install\x20chromium');}}else console['log'](_0x4cc252(0x1de)),console[_0x4cc252(0x204)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log']('\x20\x20npx\x20playwright@'+_0x23238b+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x24f96a){const _0x38908d=_0x4527e7,_0x32be23={'LhAef':_0x38908d(0x1ee)},_0x40fd38=join(_0x24f96a,'.gitignore'),_0x22e627='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x40fd38,_0x22e627),console['log'](_0x32be23['LhAef']);}export async function ensureLocalEnv(_0x431627,_0x342db5){const _0x1e89fd=_0x4527e7,_0x597a42={'ljOON':function(_0x67b2f1,_0x2729a6){return _0x67b2f1!==_0x2729a6;},'lUgPa':_0x1e89fd(0x1f3),'QpgLD':function(_0x56a591,_0x53cf62){return _0x56a591===_0x53cf62;},'VIdDV':function(_0x257ccd){return _0x257ccd();},'aapyK':function(_0x4700c0,_0x7b9f6c,_0x11bddd){return _0x4700c0(_0x7b9f6c,_0x11bddd);},'VBiNg':'local','ljVEY':'✓\x20Local\x20profile\x20already\x20exists','kUhdj':function(_0x2c6d6f,_0x2f53ab,_0x167f31,_0x1d8b98){return _0x2c6d6f(_0x2f53ab,_0x167f31,_0x1d8b98);}};if(!findGitRoot()&&_0x597a42['ljOON'](_0x431627?.[_0x1e89fd(0x20c)],_0x597a42[_0x1e89fd(0x221)]))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x337eb7=_0x597a42['QpgLD'](_0x431627?.[_0x1e89fd(0x20c)],_0x1e89fd(0x1f3))?_0x597a42['VIdDV'](getRangerHomeDir):undefined;if(_0x597a42[_0x1e89fd(0x217)](findExistingEnv,_0x597a42[_0x1e89fd(0x1fd)],{'locations':[_0x597a42[_0x1e89fd(0x1fd)]],'rangerDir':_0x337eb7}))return console['log'](_0x597a42[_0x1e89fd(0x215)]),{'ready':!![],'skipped':![]};try{return await _0x597a42['kUhdj'](addEnv,_0x597a42['VBiNg'],{'url':_0x431627?.[_0x1e89fd(0x1e4)],'force':_0x431627?.[_0x1e89fd(0x230)],'allowInsecureLocalhost':_0x431627?.['allowInsecureLocalhost'],'scope':_0x431627?.[_0x1e89fd(0x20c)]},_0x342db5),{'ready':!![],'skipped':![]};}catch(_0x31537c){return console['error'](_0x1e89fd(0x1f9),_0x31537c instanceof Error?_0x31537c[_0x1e89fd(0x1f6)]:_0x31537c),{'ready':![],'skipped':![]};}}export async function start(_0x100045,_0x1dbced,_0x1e61f3){const _0x13e0c6=_0x4527e7,_0x47ad60={'qXpqA':function(_0x24b809,_0x45415c){return _0x24b809!==_0x45415c;},'beYxk':function(_0x330075,_0x7eb9fc){return _0x330075(_0x7eb9fc);},'BLIhL':'user','bIxES':_0x13e0c6(0x20a),'sSTqg':_0x13e0c6(0x200),'HzwFV':'chromium','xzXrf':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','CZgRe':function(_0x773e83,_0x39c1e5){return _0x773e83(_0x39c1e5);},'FEmTj':'plugin','hYWYG':_0x13e0c6(0x22b),'wEHuN':'opencode','Jflzf':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','Rzbiq':function(_0x479b2f,_0x23bb21){return _0x479b2f(_0x23bb21);},'lIPRr':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','vVUDt':'profile','PwOQC':function(_0x289f0d,_0x50ca58){return _0x289f0d+_0x50ca58;},'epbUc':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','Tohiy':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','sSAuD':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','LMWaM':function(_0xc4b459,_0x48ac6){return _0xc4b459+_0x48ac6;}};console[_0x13e0c6(0x204)](_0x13e0c6(0x227));_0x1dbced?.['scope']!==undefined&&_0x47ad60[_0x13e0c6(0x1f7)](_0x1dbced[_0x13e0c6(0x20c)],'user')&&(console[_0x13e0c6(0x23e)]('ranger\x20setup\x20--scope='+String(_0x1dbced[_0x13e0c6(0x20c)])+'\x20is\x20no\x20longer\x20supported.\x20'+_0x13e0c6(0x211)+_0x13e0c6(0x238)),process['exit'](0x1));_0x1dbced={..._0x1dbced,'scope':_0x13e0c6(0x1f3)};const _0x410440=!_0x47ad60[_0x13e0c6(0x21a)](existsSync,getRangerHomeDir());await _0x47ad60[_0x13e0c6(0x21a)](ensureRangerDir,_0x47ad60[_0x13e0c6(0x1e1)]);if(_0x1dbced?.[_0x13e0c6(0x1f5)])console['log']('✓\x20Skipping\x20authentication\x20(--skip-auth)'),_0x1e61f3?.[_0x13e0c6(0x225)](_0x47ad60[_0x13e0c6(0x1fb)],{'isFirstRun':_0x410440,'method':_0x47ad60[_0x13e0c6(0x22c)]});else{_0x1e61f3?.['trackPhaseStart'](_0x47ad60['bIxES']);const _0x5cde88=await _0x47ad60['beYxk'](authenticate,_0x100045);_0x1e61f3?.[_0x13e0c6(0x225)](_0x47ad60[_0x13e0c6(0x1fb)],{'isFirstRun':_0x410440,'method':_0x5cde88['method']});}_0x1e61f3?.['trackPhaseStart'](_0x47ad60[_0x13e0c6(0x1ec)]);_0x1dbced?.[_0x13e0c6(0x1fa)]?console[_0x13e0c6(0x204)](_0x47ad60[_0x13e0c6(0x23c)]):await ensureChromium(_0x1dbced?.[_0x13e0c6(0x206)]);_0x1e61f3?.['trackPhaseEnd'](_0x47ad60[_0x13e0c6(0x1ec)],{'isFirstRun':_0x410440,'skipped':!!_0x1dbced?.['skipChromium']}),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x230d7c=_0x1dbced?.[_0x13e0c6(0x20c)],_0x52449e=_0x1dbced?.['opencode']??![];let _0x12728b=null;_0x52449e?(_0x1e61f3?.[_0x13e0c6(0x210)]('plugin'),_0x12728b=await _0x47ad60[_0x13e0c6(0x22a)](ensureOpencodePluginConfig,_0x230d7c),_0x1e61f3?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x410440,'opencode':!![]})):(_0x1e61f3?.[_0x13e0c6(0x210)](_0x47ad60['FEmTj']),await _0x47ad60['CZgRe'](ensureClaudePlugin,_0x230d7c),_0x1e61f3?.[_0x13e0c6(0x225)](_0x13e0c6(0x20d),{'isFirstRun':_0x410440}));if(_0x52449e&&_0x12728b){_0x1e61f3?.['trackPhaseStart'](_0x47ad60[_0x13e0c6(0x209)]);try{await installSkill(_0x13e0c6(0x23b),{'level':_0x12728b[_0x13e0c6(0x20c)],'cliVersion':getCurrentVersion(),'platform':_0x47ad60[_0x13e0c6(0x219)]}),_0x1e61f3?.[_0x13e0c6(0x225)](_0x47ad60[_0x13e0c6(0x209)],{'isFirstRun':_0x410440,'opencode':!![]});}catch(_0x15b48e){console[_0x13e0c6(0x208)](_0x47ad60[_0x13e0c6(0x21b)],_0x15b48e instanceof Error?_0x15b48e[_0x13e0c6(0x1f6)]:_0x15b48e),_0x1e61f3?.['trackPhaseEnd'](_0x47ad60[_0x13e0c6(0x209)],{'isFirstRun':_0x410440,'opencode':!![],'failed':!![]});}}else _0x1e61f3?.['trackPhaseStart']('skills'),await _0x47ad60['Rzbiq'](ensureClaudeSkills,_0x230d7c),_0x1e61f3?.['trackPhaseEnd']('skills',{'isFirstRun':_0x410440});if(_0x1dbced?.['skipAuth'])console[_0x13e0c6(0x204)](_0x47ad60[_0x13e0c6(0x229)]);else{if(_0x1dbced?.[_0x13e0c6(0x1e4)]){_0x1e61f3?.[_0x13e0c6(0x210)](_0x47ad60[_0x13e0c6(0x1f4)]);const _0xe2785e=await ensureLocalEnv({'url':_0x1dbced['url'],'force':_0x1dbced?.['force'],'allowInsecureLocalhost':_0x1dbced?.[_0x13e0c6(0x239)],'scope':_0x47ad60['BLIhL']},_0x1e61f3);_0x1e61f3?.['trackPhaseEnd'](_0x47ad60[_0x13e0c6(0x1f4)],{'isFirstRun':_0x410440,'profileReady':_0xe2785e['ready'],'userSkipped':_0xe2785e[_0x13e0c6(0x200)]});}else console['log'](_0x47ad60[_0x13e0c6(0x203)](_0x47ad60['PwOQC'](_0x13e0c6(0x231)+(_0x13e0c6(0x1ea)+bold(_0x13e0c6(0x237))),_0x13e0c6(0x1e6))+_0x13e0c6(0x232),_0x13e0c6(0x1e2)));}if(_0x52449e)console['log'](_0x47ad60[_0x13e0c6(0x1fc)]),console[_0x13e0c6(0x204)](_0x47ad60[_0x13e0c6(0x1e3)]),console['log'](_0x47ad60['sSAuD']),console[_0x13e0c6(0x204)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x367ca2=_0x47ad60['Rzbiq'](bold,'/ranger:enable');console[_0x13e0c6(0x204)](_0x47ad60['LMWaM']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x367ca2+'\x20and\x20prompt\x20the\x20coding','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with')+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
@@ -1 +1 @@
1
- const _0x22c896=_0x5ae1;(function(_0x1991cc,_0x3b201d){const _0x1c30c9=_0x5ae1,_0x236654=_0x1991cc();while(!![]){try{const _0x2d062c=parseInt(_0x1c30c9(0x1d1))/0x1*(parseInt(_0x1c30c9(0x1fc))/0x2)+-parseInt(_0x1c30c9(0x1d3))/0x3+parseInt(_0x1c30c9(0x1ed))/0x4+-parseInt(_0x1c30c9(0x1ea))/0x5*(parseInt(_0x1c30c9(0x1c9))/0x6)+-parseInt(_0x1c30c9(0x1da))/0x7+parseInt(_0x1c30c9(0x1f8))/0x8*(parseInt(_0x1c30c9(0x1df))/0x9)+parseInt(_0x1c30c9(0x213))/0xa*(parseInt(_0x1c30c9(0x20f))/0xb);if(_0x2d062c===_0x3b201d)break;else _0x236654['push'](_0x236654['shift']());}catch(_0x1e0b8f){_0x236654['push'](_0x236654['shift']());}}}(_0x55a9,0x9699e));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';function _0x55a9(){const _0x148261=['\x0a---\x20Claude\x20Code\x20Plugin\x20---','\x20\x20\x20\x20Auth:\x20','1989204omjmkG','Root:\x20','KpLmb','env','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','\x0a---\x20Profiles\x20---','not_installed','\x1b[0m','opencode','isActive','dQITu','568wYnmVs','settingsPath','TpaGM','all','676HkLEDG','\x20\x20Project-level:','ranger@trailhead','utf-8','zEBqA','BddMO','HHdzm','auth.json','aiCBD','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','configured','isArray','IYKYc','jKNJp','TFMEz','sessionUpdatedAt','stdout','user',':\x20installed\x20(','814qwTNqv','plaintext','\x20\x20Run:\x20ranger\x20update','API\x20Environment:\x20','193580ffyaFx','\x20\x20Not\x20configured','@ranger-testing/opencode-plugin','\x1b[1m','iGWcT','log','uQhEM','zBvmT','\x20\x20Run:\x20ranger\x20skillup','map','success','not_configured','stderr','VKAew','cwd','\x20\x20Run:\x20ranger\x20setup\x20[token]','includes','\x0a---\x20OpenCode\x20Plugin\x20---','path','filter','plugin',':\x20configured','XMZrI','details','string','\x20(active)','\x0a---\x20Skills\x20---','53166koMWMY','has','\x1b]8;;\x07','\x20\x20\x20\x20Session:\x20','displayName','length','PNAeT','ppTez','1106EvYcUE','DEBUG','2677209upVBMt','DSoYt','\x20local','\x20\x20\x20\x20','\x20(up\x20to\x20date)','\x20\x20Run:\x20ranger\x20setup\x20--opencode','FmtHG','5647845guiSaW','enabled','\x20\x20\x20\x20Settings:\x20','API\x20Token:\x20✗\x20Not\x20found','\x20[local]','17307ufwKNU','name','bjAGv','ATzuv','Version:\x20','No\x20skills\x20installed','oUusb','RUaic','(not\x20found)','status','opencode-plugin','70lARCkd'];_0x55a9=function(){return _0x148261;};return _0x55a9();}import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x4b1001=>_0x22c896(0x216)+_0x4b1001+_0x22c896(0x1f4),link=(_0x4b90cb,_0xac0c2a)=>'\x1b]8;;file://'+_0x4b90cb+'\x07'+(_0xac0c2a||_0x4b90cb)+_0x22c896(0x1cb);async function getOpencodePluginStatus(){const _0x495190=_0x22c896,_0x1893b4={'BddMO':function(_0x229c47,_0x264bfd){return _0x229c47(_0x264bfd);},'dQITu':'configured','zBvmT':function(_0x27e28e,_0x3b837f){return _0x27e28e>_0x3b837f;},'XMZrI':_0x495190(0x22b),'cUeZo':_0x495190(0x215),'UJpek':'debug','LBEff':'config','TpaGM':'ignore','aiCBD':'pipe','QwPSf':'data','jKNJp':'close'};return new Promise(_0x1f61c5=>{const _0x56d5ff=_0x495190,_0x483cda={'bjAGv':_0x1893b4[_0x56d5ff(0x229)],'dOcPZ':_0x1893b4['cUeZo']},_0x1d55c2=spawn(_0x56d5ff(0x1f5),[_0x1893b4['UJpek'],_0x1893b4['LBEff']],{'stdio':[_0x1893b4[_0x56d5ff(0x1fa)],_0x1893b4[_0x56d5ff(0x204)],_0x1893b4['aiCBD']]});let _0x47e359='';_0x1d55c2[_0x56d5ff(0x20c)]?.['on'](_0x1893b4['QwPSf'],_0x558bb5=>{_0x47e359+=_0x558bb5['toString']();}),_0x1d55c2[_0x56d5ff(0x21f)]?.['on'](_0x1893b4['QwPSf'],_0x38a0d5=>{_0x47e359+=_0x38a0d5['toString']();}),_0x1d55c2['on']('error',()=>{const _0x470d34=_0x56d5ff;_0x1f61c5({'status':_0x470d34(0x1f3)});}),_0x1d55c2['on'](_0x1893b4[_0x56d5ff(0x209)],_0x5b6d19=>{const _0x45ecd4=_0x56d5ff;if(_0x5b6d19!==0x0){_0x1893b4[_0x45ecd4(0x201)](_0x1f61c5,{'status':_0x45ecd4(0x1f3)});return;}const _0x9af332=_0x47e359['trim']();let _0xc2663a=null;if(_0x9af332)try{_0xc2663a=JSON['parse'](_0x9af332);}catch{const _0x3b05cc=_0x9af332['match'](/\{[\s\S]*\}$/);if(_0x3b05cc)try{_0xc2663a=JSON['parse'](_0x3b05cc[0x0]);}catch{_0xc2663a=null;}}const _0x72ebcc=Array[_0x45ecd4(0x207)](_0xc2663a?.['plugin'])?_0xc2663a?.[_0x45ecd4(0x227)]:[],_0x32ac4c=_0x72ebcc['some'](_0x922f78=>{const _0x5c7bd2=_0x45ecd4;if(typeof _0x922f78!==_0x483cda[_0x5c7bd2(0x1e1)])return![];return _0x922f78[_0x5c7bd2(0x223)](_0x483cda['dOcPZ'])||_0x922f78['includes'](_0x5c7bd2(0x1e9));});if(_0x32ac4c){_0x1f61c5({'status':_0x1893b4[_0x45ecd4(0x1f7)],'details':_0x72ebcc[_0x45ecd4(0x1ce)]>0x0?_0x72ebcc[_0x45ecd4(0x1ce)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x1893b4[_0x45ecd4(0x21a)](_0x72ebcc[_0x45ecd4(0x1ce)],0x0)){_0x1f61c5({'status':_0x45ecd4(0x21e),'details':_0x72ebcc[_0x45ecd4(0x1ce)]+'\x20plugin(s)\x20configured'});return;}_0x1f61c5({'status':'not_configured'});});});}async function getSkillsFromDir(_0x55dc7e,_0x359032){const _0x97c20f=_0x22c896,_0x2e8343={'uQhEM':function(_0x1e93b8,_0xafb512){return _0x1e93b8(_0xafb512);},'FmtHG':function(_0x3ee7ab,_0x3b4e47,_0xc7154e,_0x305315){return _0x3ee7ab(_0x3b4e47,_0xc7154e,_0x305315);},'ATzuv':'SKILL.md','rlSyg':function(_0x4aeea2,_0x4c0cb8,_0x271a0c){return _0x4aeea2(_0x4c0cb8,_0x271a0c);}};if(!_0x2e8343[_0x97c20f(0x219)](existsSync,_0x55dc7e))return[];const _0x143130=[];try{const _0xa00f6e=await readdir(_0x55dc7e,{'withFileTypes':!![]});for(const _0x43211a of _0xa00f6e){if(_0x43211a['isDirectory']()){const _0x4d0657=_0x2e8343[_0x97c20f(0x1d9)](join,_0x55dc7e,_0x43211a['name'],_0x2e8343[_0x97c20f(0x1e2)]);if(_0x2e8343['uQhEM'](existsSync,_0x4d0657)){let _0x12f01a=_0x43211a[_0x97c20f(0x1e0)];try{const _0x3d95bb=await _0x2e8343['rlSyg'](readFile,_0x4d0657,_0x97c20f(0x1ff)),_0x89adbc=_0x3d95bb['match'](/name:\s*(.+)/);_0x89adbc&&(_0x12f01a=_0x89adbc[0x1]['trim']());}catch{}_0x143130['push']({'name':_0x43211a[_0x97c20f(0x1e0)],'displayName':_0x12f01a,'path':_0x4d0657,'level':_0x359032});}}}}catch{return[];}return _0x143130;}async function getInstalledSkills(){const _0xbae091=_0x22c896,[_0x5d2353,_0x49ba3a]=await Promise[_0xbae091(0x1fb)]([getSkillsFromDir(getProjectSkillsDir(),'project'),getSkillsFromDir(getUserSkillsDir(),_0xbae091(0x20d))]);return{'project':_0x5d2353,'user':_0x49ba3a};}async function getEnvironments(){const _0x17ac22=_0x22c896,_0x303309={'BDzhn':function(_0x4728fb,_0x72fd63,_0x4d0bd6){return _0x4728fb(_0x72fd63,_0x4d0bd6);},'viiGj':_0x17ac22(0x203),'mJBJm':function(_0x1fd0f9,_0x507dde,_0xaf28c2){return _0x1fd0f9(_0x507dde,_0xaf28c2);},'zYtpv':'auth.json.enc','KpLmb':function(_0x879e86,_0x1deb52){return _0x879e86===_0x1deb52;},'KaNtD':function(_0x2ae701){return _0x2ae701();}},{envNames:_0x513d03,activeEnv:_0x110eea}=await _0x303309['KaNtD'](getEnvNames),_0x4f6c19=getRangerDir();if(!existsSync(_0x4f6c19))return{'envs':[],'activeEnv':null};const _0x2f02c2=_0x513d03[_0x17ac22(0x21c)](_0x286ea6=>{const _0x21f478=_0x17ac22,_0x2b57b9=getEnvDir(_0x286ea6),_0x5775d5=_0x303309['BDzhn'](join,_0x2b57b9,'settings.json'),_0x2944a9=_0x303309['BDzhn'](join,_0x2b57b9,_0x303309['viiGj']),_0x5058fa=_0x303309['mJBJm'](join,_0x2b57b9,_0x303309['zYtpv']);return{'name':_0x286ea6,'settingsPath':existsSync(_0x5775d5)?_0x5775d5:_0x21f478(0x1e7),'hasPlaintextAuth':existsSync(_0x2944a9),'hasEncryptedAuth':existsSync(_0x5058fa),'isActive':_0x303309[_0x21f478(0x1ef)](_0x286ea6,_0x110eea)};});return{'envs':_0x2f02c2,'activeEnv':_0x110eea};}function _0x5ae1(_0xabb67c,_0x534fc3){_0xabb67c=_0xabb67c-0x1c8;const _0x55a9e1=_0x55a9();let _0x5ae1d9=_0x55a9e1[_0xabb67c];return _0x5ae1d9;}export async function status(){const _0xd57bae=_0x22c896,_0xfbb3f9={'zEBqA':function(_0x6ffe15,_0x42ff89,_0x5c22f5){return _0x6ffe15(_0x42ff89,_0x5c22f5);},'ppTez':function(_0x59d203,_0x1fda2d){return _0x59d203(_0x1fda2d);},'DSoYt':function(_0x2fa9fc){return _0x2fa9fc();},'VKAew':function(_0x33c960){return _0x33c960();},'PNAeT':function(_0x56c6b0,_0x28df6a){return _0x56c6b0===_0x28df6a;},'TDrnU':'not_configured','ECHKE':function(_0x1608d6,_0x578977){return _0x1608d6(_0x578977);},'PNUrm':_0xd57bae(0x1db),'gERIN':function(_0x35ddae,_0x3b7e63){return _0x35ddae(_0x3b7e63);},'uGmWQ':function(_0x29350c,_0x368fd1){return _0x29350c+_0x368fd1;},'RUaic':_0xd57bae(0x1e4),'cHLlj':function(_0xc763c1,_0x6008ca){return _0xc763c1(_0x6008ca);},'FzAmQ':function(_0x32cbc7,_0x453307,_0x23ae32){return _0x32cbc7(_0x453307,_0x23ae32);},'HHdzm':function(_0x3fd41b,_0x2d4e90){return _0x3fd41b===_0x2d4e90;},'WzlTu':'No\x20profiles\x20configured','IYKYc':function(_0x54a16f,_0x4305df){return _0x54a16f>_0x4305df;},'oUusb':function(_0x3e06be,_0x38c4e5){return _0x3e06be(_0x38c4e5);},'TFMEz':'no\x20session','NLQsp':'none','grYmo':function(_0x168ae6,_0x37a914){return _0x168ae6(_0x37a914);},'hlpJa':function(_0x4f3e29,_0x243409){return _0x4f3e29!==_0x243409;},'iGWcT':_0xd57bae(0x1e7),'QCLnZ':function(_0x506777,_0x50e71e,_0x12fb0e){return _0x506777(_0x50e71e,_0x12fb0e);}};console[_0xd57bae(0x218)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x4d3fed=process[_0xd57bae(0x221)](),_0x287bfd=getRangerDir();if(!existsSync(_0x287bfd)){console[_0xd57bae(0x218)](_0xd57bae(0x1ee)+_0xfbb3f9[_0xd57bae(0x200)](link,_0x4d3fed,_0xfbb3f9['ppTez'](bold,_0xfbb3f9[_0xd57bae(0x1d0)](basename,_0x4d3fed)))),console[_0xd57bae(0x218)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0xd57bae(0x205));return;}console[_0xd57bae(0x218)](_0xd57bae(0x1ee)+link(_0x4d3fed,bold(basename(_0x4d3fed))));const _0x56b43a=_0xfbb3f9['DSoYt'](getCurrentVersion),_0xe6b411=_0xfbb3f9[_0xd57bae(0x220)](getLatestVersion);if(_0xe6b411['version']&&_0xe6b411['version']!==_0x56b43a)console['log']('Version:\x20'+_0x56b43a+'\x20(latest:\x20'+_0xe6b411['version']+')'),console[_0xd57bae(0x218)](_0xd57bae(0x211));else _0xe6b411['version']?console[_0xd57bae(0x218)](_0xd57bae(0x1e3)+_0x56b43a+_0xd57bae(0x1d7)):console[_0xd57bae(0x218)](_0xd57bae(0x1e3)+_0x56b43a);const _0x144b83=await getToken();if(_0x144b83){const _0x5b6fa6=await _0xfbb3f9[_0xd57bae(0x1d0)](getCurrentUser,_0x144b83);_0x5b6fa6[_0xd57bae(0x21d)]?console['log']('Organization:\x20'+_0xfbb3f9[_0xd57bae(0x1d0)](bold,_0x5b6fa6['user']['organizationName'])):(console[_0xd57bae(0x218)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0xd57bae(0x218)](_0xd57bae(0x222)));}else console[_0xd57bae(0x218)](_0xd57bae(0x1dd)),console[_0xd57bae(0x218)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0xd57bae(0x1f0)][_0xd57bae(0x1d2)]&&(console['log'](_0xd57bae(0x212)+getCurrentEnvironment()),console[_0xd57bae(0x218)]('API\x20URL:\x20'+getApiBaseUrl()));console['log'](_0xd57bae(0x224));const _0x144168=await getOpencodePluginStatus();if(_0x144168[_0xd57bae(0x1e8)]===_0xd57bae(0x206))console['log']('\x20\x20'+_0xfbb3f9[_0xd57bae(0x1d0)](bold,_0xd57bae(0x215))+_0xd57bae(0x228)),_0x144168['details']&&console[_0xd57bae(0x218)]('\x20\x20'+_0x144168[_0xd57bae(0x22a)]);else _0xfbb3f9[_0xd57bae(0x1cf)](_0x144168['status'],_0xfbb3f9['TDrnU'])?(console['log'](_0xd57bae(0x214)),_0x144168['details']&&console['log']('\x20\x20'+_0x144168[_0xd57bae(0x22a)]),console['log'](_0xd57bae(0x1d8))):console[_0xd57bae(0x218)](_0xd57bae(0x1f1));console['log'](_0xd57bae(0x1eb));const _0x476c89=await _0xfbb3f9['ECHKE'](getPluginInfo,_0xd57bae(0x1fe));if(_0x476c89){const _0x2afc6b=_0x476c89['scope']||'unknown',_0x1cde91=_0x476c89[_0xd57bae(0x1db)]?_0xfbb3f9['PNUrm']:'disabled';console[_0xd57bae(0x218)]('\x20\x20'+_0xfbb3f9['gERIN'](bold,'ranger@trailhead')+_0xd57bae(0x20e)+_0x2afc6b+',\x20'+_0x1cde91+')');}else console['log']('\x20\x20Not\x20installed'),console[_0xd57bae(0x218)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console[_0xd57bae(0x218)](_0xd57bae(0x1c8));const {project:_0x87eb58,user:_0x58e8b1}=await getInstalledSkills(),_0x1be2c0=_0x87eb58['filter'](_0x5accbf=>RANGER_MANAGED_SKILLS['includes'](_0x5accbf[_0xd57bae(0x1e0)])),_0x561ec3=_0x58e8b1[_0xd57bae(0x226)](_0x13fdd1=>RANGER_MANAGED_SKILLS['includes'](_0x13fdd1['name'])),_0x57853d=_0xfbb3f9['uGmWQ'](_0x1be2c0['length'],_0x561ec3[_0xd57bae(0x1ce)]);if(_0x57853d===0x0)console['log'](_0xfbb3f9[_0xd57bae(0x1e6)]),console['log'](_0xd57bae(0x21b));else{if(_0x1be2c0['length']>0x0){console['log'](_0xd57bae(0x1fd));for(const _0x2923e8 of _0x1be2c0){console[_0xd57bae(0x218)](_0xd57bae(0x1d6)+_0xfbb3f9['cHLlj'](bold,_0x2923e8[_0xd57bae(0x1cd)])+':\x20'+link(_0x2923e8['path'],basename(_0x2923e8[_0xd57bae(0x225)])));}}if(_0x561ec3[_0xd57bae(0x1ce)]>0x0){console[_0xd57bae(0x218)]('\x20\x20User-level:');for(const _0x23a100 of _0x561ec3){console[_0xd57bae(0x218)]('\x20\x20\x20\x20'+bold(_0x23a100['displayName'])+':\x20'+_0xfbb3f9['FzAmQ'](link,_0x23a100['path'],_0xfbb3f9['cHLlj'](basename,_0x23a100['path'])));}}}console['log'](_0xd57bae(0x1f2));const {envs:_0xd0fd82,activeEnv:_0x320ffe}=await _0xfbb3f9[_0xd57bae(0x1d4)](getEnvironments);let _0xac0b21=[];if(_0x144b83)try{_0xac0b21=await listCloudProfiles();}catch{}const _0x39cff2=_0xd0fd82['length']+_0xac0b21[_0xd57bae(0x1ce)];if(_0xfbb3f9[_0xd57bae(0x202)](_0x39cff2,0x0))console['log'](_0xfbb3f9['WzlTu']),console[_0xd57bae(0x218)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0xfbb3f9[_0xd57bae(0x208)](_0x39cff2,0x5)){const _0x461f7b=[];_0xac0b21[_0xd57bae(0x1ce)]>0x0&&_0x461f7b['push'](_0xac0b21['length']+'\x20cloud'),_0xd0fd82[_0xd57bae(0x1ce)]>0x0&&_0x461f7b['push'](_0xd0fd82[_0xd57bae(0x1ce)]+_0xd57bae(0x1d5)),console['log'](_0x39cff2+'\x20profiles\x20configured\x20('+_0x461f7b['join'](',\x20')+')'),_0x320ffe&&console['log']('\x20\x20Active:\x20'+_0xfbb3f9[_0xd57bae(0x1e5)](bold,_0x320ffe)),console[_0xd57bae(0x218)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x21c80b of _0xac0b21){const _0x3a53f1=_0xfbb3f9[_0xd57bae(0x1cf)](_0x21c80b['name'],_0x320ffe)?'\x20(active)':'';console[_0xd57bae(0x218)]('\x20\x20'+bold(_0x21c80b[_0xd57bae(0x1e0)])+'\x20[cloud]'+_0x3a53f1);const _0x25fc7a=_0x21c80b[_0xd57bae(0x20b)]?'cached\x20(updated\x20'+_0x21c80b[_0xd57bae(0x20b)]+')':_0xfbb3f9[_0xd57bae(0x20a)];console[_0xd57bae(0x218)](_0xd57bae(0x1cc)+_0x25fc7a);}const _0x596d34=new Set(_0xac0b21['map'](_0x335053=>_0x335053['name']));for(const _0x3ae49d of _0xd0fd82){if(_0x596d34[_0xd57bae(0x1ca)](_0x3ae49d['name']))continue;const _0x42e6df=_0x3ae49d[_0xd57bae(0x1f6)]?_0xd57bae(0x22c):'',_0x3ab753=_0x3ae49d['hasEncryptedAuth']?'encrypted':_0x3ae49d['hasPlaintextAuth']?_0xd57bae(0x210):_0xfbb3f9['NLQsp'];console[_0xd57bae(0x218)]('\x20\x20'+_0xfbb3f9['grYmo'](bold,_0x3ae49d['name'])+_0xd57bae(0x1de)+_0x42e6df),console['log'](_0xd57bae(0x1ec)+_0x3ab753),_0xfbb3f9['hlpJa'](_0x3ae49d[_0xd57bae(0x1f9)],_0xfbb3f9[_0xd57bae(0x217)])&&console[_0xd57bae(0x218)](_0xd57bae(0x1dc)+_0xfbb3f9['QCLnZ'](link,_0x3ae49d['settingsPath'],basename(_0x3ae49d['settingsPath'])));}if(!_0x320ffe){console['log']('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x2a0200=[..._0xac0b21[_0xd57bae(0x21c)](_0x4ebc4a=>_0x4ebc4a['name']),..._0xd0fd82[_0xd57bae(0x226)](_0x574140=>!_0x596d34[_0xd57bae(0x1ca)](_0x574140[_0xd57bae(0x1e0)]))['map'](_0x5d91f8=>_0x5d91f8['name'])];console[_0xd57bae(0x218)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x2a0200['join'](',\x20')+')');}}}console[_0xd57bae(0x218)]('');}
1
+ (function(_0x550fac,_0x5bdf64){const _0x1535df=_0x26b0,_0x4d31d7=_0x550fac();while(!![]){try{const _0x1efded=-parseInt(_0x1535df(0xee))/0x1+-parseInt(_0x1535df(0x94))/0x2+-parseInt(_0x1535df(0xe0))/0x3+-parseInt(_0x1535df(0x95))/0x4+-parseInt(_0x1535df(0xcb))/0x5+-parseInt(_0x1535df(0xa4))/0x6*(-parseInt(_0x1535df(0xd8))/0x7)+parseInt(_0x1535df(0xce))/0x8;if(_0x1efded===_0x5bdf64)break;else _0x4d31d7['push'](_0x4d31d7['shift']());}catch(_0x44cf90){_0x4d31d7['push'](_0x4d31d7['shift']());}}}(_0x4794,0xc160b));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';function _0x26b0(_0x98949c,_0x4e33d5){_0x98949c=_0x98949c-0x7c;const _0x47941d=_0x4794();let _0x26b072=_0x47941d[_0x98949c];return _0x26b072;}import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';function _0x4794(){const _0x3db43c=['\x20[local]','disabled','error','plugin','kJXAz','not_configured','unknown','4326oXjlvv','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','hasPlaintextAuth','\x20local','qcfuF','scope','UzpeT','ijZqO','1789671DzvFlI','UXxem','trim','user','some','env','displayName','join','cwd','\x20plugin(s)\x20configured','auth.json','has','\x20\x20User-level:','ignore','969075UvOjEW','cYcCc',':\x20configured','UhmmO','enabled','wbZED','details','xQyVp','\x20profiles\x20configured\x20(','MgYEM','sessionUpdatedAt','includes','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','IkzXs','path','\x20\x20Project-level:','zlkIV','string','LMDBZ','stdout','hasEncryptedAuth','cached\x20(updated\x20','Version:\x20','IhdjQ','project','qIeAt','1789390KHvVKL','3595692mrIGAt','huGzD','API\x20Token:\x20✗\x20Not\x20found','qDipo','config','success','mWkWi','settingsPath','length','encrypted','configured','toString','dfbsB','\x20(active)','UxbLT','1800XSjLWc','all','KUPln','pipe','SKILL.md','JqYIk','\x20[cloud]','\x20\x20Not\x20configured','version','close','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','jnohR','map','RuuJN','\x0a📊\x20Ranger\x20Status\x0a','status','\x20\x20Run:\x20ranger\x20setup\x20[token]','Organization:\x20','\x20\x20Run:\x20ranger\x20update','parse','API\x20URL:\x20','YXscu','hwQRJ','log','wUQHa','data','nkzgT','\x20cloud','name','\x20\x20\x20\x20Auth:\x20','(not\x20found)','not_installed','GDygt','\x20\x20\x20\x20','isArray','opencode-plugin','CnlcX','\x20(up\x20to\x20date)','push','7678275CSQgYf','\x0a---\x20Profiles\x20---','filter','44012640rfKJoB','No\x20profiles\x20configured','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)'];_0x4794=function(){return _0x3db43c;};return _0x4794();}import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x2b9b62=>'\x1b[1m'+_0x2b9b62+'\x1b[0m',link=(_0x297c07,_0x1c5157)=>'\x1b]8;;file://'+_0x297c07+'\x07'+(_0x1c5157||_0x297c07)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x589921=_0x26b0,_0x41487c={'huGzD':function(_0x5747ba,_0x1bea13){return _0x5747ba(_0x1bea13);},'AfLQu':function(_0x4dfadb,_0x535992){return _0x4dfadb(_0x535992);},'SbGrl':function(_0x1f6475,_0x1adaf8,_0x58867d,_0x412c11){return _0x1f6475(_0x1adaf8,_0x58867d,_0x412c11);},'XVFhi':'opencode','xQyVp':_0x589921(0xed),'PcmJc':_0x589921(0xa7),'qIeAt':_0x589921(0xd3)};return new Promise(_0x2c158f=>{const _0x35c91f=_0x589921,_0x3cb4ce={'ijZqO':function(_0x2abb89,_0x7eb477){return _0x2abb89!==_0x7eb477;},'eXDfE':_0x35c91f(0xc3),'alcTX':function(_0x5a44cc,_0x34b7d9){return _0x41487c['AfLQu'](_0x5a44cc,_0x34b7d9);},'KUPln':_0x35c91f(0xd6)},_0x2c08bb=_0x41487c['SbGrl'](spawn,_0x41487c['XVFhi'],['debug',_0x35c91f(0x99)],{'stdio':[_0x41487c[_0x35c91f(0x81)],_0x35c91f(0xa7),_0x41487c['PcmJc']]});let _0x42d702='';_0x2c08bb[_0x35c91f(0x8d)]?.['on'](_0x35c91f(0xbd),_0x172a0a=>{_0x42d702+=_0x172a0a['toString']();}),_0x2c08bb['stderr']?.['on'](_0x35c91f(0xbd),_0x139636=>{const _0x22352b=_0x35c91f;_0x42d702+=_0x139636[_0x22352b(0xa0)]();}),_0x2c08bb['on'](_0x41487c[_0x35c91f(0x93)],()=>{const _0x34f770=_0x35c91f;_0x41487c[_0x34f770(0x96)](_0x2c158f,{'status':_0x34f770(0xc3)});}),_0x2c08bb['on'](_0x35c91f(0xad),_0x3222f3=>{const _0x371346=_0x35c91f,_0x1831bd={'WQFKj':_0x371346(0x8b),'GmjiB':'@ranger-testing/opencode-plugin'};if(_0x3cb4ce[_0x371346(0xdf)](_0x3222f3,0x0)){_0x2c158f({'status':_0x3cb4ce['eXDfE']});return;}const _0xceafe6=_0x42d702[_0x371346(0xe2)]();let _0x2076e2=null;if(_0xceafe6)try{_0x2076e2=JSON[_0x371346(0xb7)](_0xceafe6);}catch{const _0x1cbf71=_0xceafe6['match'](/\{[\s\S]*\}$/);if(_0x1cbf71)try{_0x2076e2=JSON['parse'](_0x1cbf71[0x0]);}catch{_0x2076e2=null;}}const _0x352d09=Array[_0x371346(0xc6)](_0x2076e2?.[_0x371346(0xd4)])?_0x2076e2?.[_0x371346(0xd4)]:[],_0x23bd4b=_0x352d09[_0x371346(0xe4)](_0xe26241=>{const _0x445591=_0x371346;if(typeof _0xe26241!==_0x1831bd['WQFKj'])return![];return _0xe26241[_0x445591(0x85)](_0x1831bd['GmjiB'])||_0xe26241['includes'](_0x445591(0xc7));});if(_0x23bd4b){_0x3cb4ce['alcTX'](_0x2c158f,{'status':_0x371346(0x9f),'details':_0x352d09[_0x371346(0x9d)]>0x0?_0x352d09[_0x371346(0x9d)]+_0x371346(0xe9):undefined});return;}if(_0x352d09['length']>0x0){_0x2c158f({'status':_0x3cb4ce[_0x371346(0xa6)],'details':_0x352d09[_0x371346(0x9d)]+'\x20plugin(s)\x20configured'});return;}_0x2c158f({'status':_0x371346(0xd6)});});});}async function getSkillsFromDir(_0x44bf83,_0x51a226){const _0x34b94f=_0x26b0,_0x2f9638={'AoZjp':function(_0x1057fa,_0x1c462f,_0x15f6ca,_0x36f720){return _0x1057fa(_0x1c462f,_0x15f6ca,_0x36f720);},'CnlcX':_0x34b94f(0xa8),'LMDBZ':function(_0x3856ed,_0x4770ed){return _0x3856ed(_0x4770ed);}};if(!existsSync(_0x44bf83))return[];const _0xbf863e=[];try{const _0x521b23=await readdir(_0x44bf83,{'withFileTypes':!![]});for(const _0x77443c of _0x521b23){if(_0x77443c['isDirectory']()){const _0x412584=_0x2f9638['AoZjp'](join,_0x44bf83,_0x77443c[_0x34b94f(0xc0)],_0x2f9638[_0x34b94f(0xc8)]);if(_0x2f9638[_0x34b94f(0x8c)](existsSync,_0x412584)){let _0x296a29=_0x77443c['name'];try{const _0x30086f=await readFile(_0x412584,'utf-8'),_0x402504=_0x30086f['match'](/name:\s*(.+)/);_0x402504&&(_0x296a29=_0x402504[0x1]['trim']());}catch{}_0xbf863e[_0x34b94f(0xca)]({'name':_0x77443c[_0x34b94f(0xc0)],'displayName':_0x296a29,'path':_0x412584,'level':_0x51a226});}}}}catch{return[];}return _0xbf863e;}async function getInstalledSkills(){const _0x5f4d89=_0x26b0,_0xf4ceb8={'hwQRJ':function(_0x2d6d50,_0x1f89f9,_0x10d4de){return _0x2d6d50(_0x1f89f9,_0x10d4de);},'kJVzy':function(_0x6b3b4e){return _0x6b3b4e();},'cvIQH':function(_0x5afa5a,_0x2add09,_0xf8aaeb){return _0x5afa5a(_0x2add09,_0xf8aaeb);},'TnteV':_0x5f4d89(0xe3)},[_0x3f6df5,_0x35db11]=await Promise[_0x5f4d89(0xa5)]([_0xf4ceb8[_0x5f4d89(0xba)](getSkillsFromDir,_0xf4ceb8['kJVzy'](getProjectSkillsDir),_0x5f4d89(0x92)),_0xf4ceb8['cvIQH'](getSkillsFromDir,getUserSkillsDir(),_0xf4ceb8['TnteV'])]);return{'project':_0x3f6df5,'user':_0x35db11};}async function getEnvironments(){const _0x418d28=_0x26b0,_0x329fb6={'YXscu':function(_0x15ce43,_0x2d9fd8){return _0x15ce43(_0x2d9fd8);},'GDygt':'settings.json','cYcCc':function(_0x402170,_0x9b2402,_0x3acbae){return _0x402170(_0x9b2402,_0x3acbae);},'KzfCG':function(_0x53b171,_0x5e38b1){return _0x53b171(_0x5e38b1);},'kBdoc':_0x418d28(0xc2),'HBjin':function(_0x2f6cbf,_0x31313d){return _0x2f6cbf(_0x31313d);}},{envNames:_0xd5760d,activeEnv:_0x34f4d7}=await getEnvNames(),_0x1b2358=getRangerDir();if(!_0x329fb6['YXscu'](existsSync,_0x1b2358))return{'envs':[],'activeEnv':null};const _0x17b2b0=_0xd5760d['map'](_0x414cda=>{const _0x5d858b=_0x418d28,_0x407e25=_0x329fb6['YXscu'](getEnvDir,_0x414cda),_0xd66027=join(_0x407e25,_0x329fb6[_0x5d858b(0xc4)]),_0x2a67e8=_0x329fb6[_0x5d858b(0xef)](join,_0x407e25,_0x5d858b(0xea)),_0x45fbd5=_0x329fb6[_0x5d858b(0xef)](join,_0x407e25,'auth.json.enc');return{'name':_0x414cda,'settingsPath':_0x329fb6['KzfCG'](existsSync,_0xd66027)?_0xd66027:_0x329fb6['kBdoc'],'hasPlaintextAuth':_0x329fb6['HBjin'](existsSync,_0x2a67e8),'hasEncryptedAuth':_0x329fb6[_0x5d858b(0xb9)](existsSync,_0x45fbd5),'isActive':_0x414cda===_0x34f4d7};});return{'envs':_0x17b2b0,'activeEnv':_0x34f4d7};}export async function status(){const _0x535b82=_0x26b0,_0x43f5c6={'IhdjQ':_0x535b82(0xb2),'TouMC':function(_0x255bf7){return _0x255bf7();},'UhmmO':function(_0x3bbf1e,_0x27d646){return _0x3bbf1e(_0x27d646);},'nkzgT':function(_0x976374,_0x2d506e,_0x58ab4e){return _0x976374(_0x2d506e,_0x58ab4e);},'mWkWi':function(_0x255c58){return _0x255c58();},'JqYIk':function(_0x3ead65,_0x42ecf7){return _0x3ead65(_0x42ecf7);},'UzpeT':function(_0x4c884b){return _0x4c884b();},'RdFNM':'\x0a---\x20OpenCode\x20Plugin\x20---','khLUC':function(_0x5e8d08){return _0x5e8d08();},'xaITw':function(_0x17db41,_0x1d1a59){return _0x17db41(_0x1d1a59);},'dfbsB':'@ranger-testing/opencode-plugin','kJXAz':function(_0x84dfee,_0x137d21){return _0x84dfee===_0x137d21;},'FUqxw':_0x535b82(0xd6),'NIJCI':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','qcfuF':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','IkzXs':'ranger@trailhead','wUQHa':function(_0x34d033,_0x148a84){return _0x34d033(_0x148a84);},'UXxem':'\x0a---\x20Skills\x20---','DHayc':function(_0x1655a5,_0x182094){return _0x1655a5+_0x182094;},'qDipo':'No\x20skills\x20installed','UxbLT':_0x535b82(0x89),'wOHSa':function(_0xece40c,_0x1606ff){return _0xece40c(_0x1606ff);},'TzUxq':function(_0x4628d5,_0x51c5d8){return _0x4628d5>_0x51c5d8;},'Giavw':function(_0x22ed77,_0x2d11bb,_0x24ebe3){return _0x22ed77(_0x2d11bb,_0x24ebe3);},'jnohR':function(_0x4e589d){return _0x4e589d();},'zlkIV':_0x535b82(0xcf),'wbZED':function(_0x2f9628,_0x594bc9){return _0x2f9628>_0x594bc9;},'EjLEQ':'no\x20session','GOlmC':'\x20(active)','RuuJN':_0x535b82(0x9e),'RDnZm':'none','vlodN':_0x535b82(0xc2),'MgYEM':function(_0x4d0cf2,_0x9029d5){return _0x4d0cf2(_0x9029d5);}};console['log'](_0x43f5c6[_0x535b82(0x91)]);const _0x10b0ab=process[_0x535b82(0xe8)](),_0x59f94a=_0x43f5c6['TouMC'](getRangerDir);if(!_0x43f5c6[_0x535b82(0x7d)](existsSync,_0x59f94a)){console[_0x535b82(0xbb)]('Root:\x20'+link(_0x10b0ab,bold(basename(_0x10b0ab)))),console[_0x535b82(0xbb)](_0x535b82(0xae)),console['log'](_0x535b82(0xd9));return;}console[_0x535b82(0xbb)]('Root:\x20'+_0x43f5c6[_0x535b82(0xbe)](link,_0x10b0ab,bold(basename(_0x10b0ab))));const _0x53e7d2=_0x43f5c6[_0x535b82(0x9b)](getCurrentVersion),_0x325f2c=getLatestVersion();if(_0x325f2c[_0x535b82(0xac)]&&_0x325f2c[_0x535b82(0xac)]!==_0x53e7d2)console[_0x535b82(0xbb)](_0x535b82(0x90)+_0x53e7d2+'\x20(latest:\x20'+_0x325f2c[_0x535b82(0xac)]+')'),console['log'](_0x535b82(0xb6));else _0x325f2c[_0x535b82(0xac)]?console[_0x535b82(0xbb)](_0x535b82(0x90)+_0x53e7d2+_0x535b82(0xc9)):console['log']('Version:\x20'+_0x53e7d2);const _0x3dd2d0=await _0x43f5c6[_0x535b82(0x9b)](getToken);if(_0x3dd2d0){const _0x331cb0=await _0x43f5c6[_0x535b82(0xa9)](getCurrentUser,_0x3dd2d0);_0x331cb0[_0x535b82(0x9a)]?console[_0x535b82(0xbb)](_0x535b82(0xb5)+bold(_0x331cb0['user']['organizationName'])):(console[_0x535b82(0xbb)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log'](_0x535b82(0xb4)));}else console['log'](_0x535b82(0x97)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x535b82(0xe5)]['DEBUG']&&(console['log']('API\x20Environment:\x20'+_0x43f5c6[_0x535b82(0xde)](getCurrentEnvironment)),console[_0x535b82(0xbb)](_0x535b82(0xb8)+_0x43f5c6['UzpeT'](getApiBaseUrl)));console[_0x535b82(0xbb)](_0x43f5c6['RdFNM']);const _0x1daa14=await _0x43f5c6['khLUC'](getOpencodePluginStatus);if(_0x1daa14[_0x535b82(0xb3)]==='configured')console[_0x535b82(0xbb)]('\x20\x20'+_0x43f5c6['xaITw'](bold,_0x43f5c6[_0x535b82(0xa1)])+_0x535b82(0x7c)),_0x1daa14['details']&&console['log']('\x20\x20'+_0x1daa14[_0x535b82(0x80)]);else _0x43f5c6[_0x535b82(0xd5)](_0x1daa14[_0x535b82(0xb3)],_0x43f5c6['FUqxw'])?(console['log'](_0x535b82(0xab)),_0x1daa14['details']&&console[_0x535b82(0xbb)]('\x20\x20'+_0x1daa14['details']),console['log'](_0x43f5c6['NIJCI'])):console['log']('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console[_0x535b82(0xbb)](_0x43f5c6[_0x535b82(0xdc)]);const _0x2dd368=await getPluginInfo(_0x43f5c6[_0x535b82(0x87)]);if(_0x2dd368){const _0x1bea82=_0x2dd368[_0x535b82(0xdd)]||_0x535b82(0xd7),_0x3db628=_0x2dd368[_0x535b82(0x7e)]?'enabled':_0x535b82(0xd2);console[_0x535b82(0xbb)]('\x20\x20'+_0x43f5c6[_0x535b82(0xbc)](bold,_0x43f5c6[_0x535b82(0x87)])+':\x20installed\x20('+_0x1bea82+',\x20'+_0x3db628+')');}else console['log']('\x20\x20Not\x20installed'),console[_0x535b82(0xbb)](_0x535b82(0xd0));console[_0x535b82(0xbb)](_0x43f5c6[_0x535b82(0xe1)]);const {project:_0x5eee67,user:_0x2e41e7}=await getInstalledSkills(),_0x5067de=_0x5eee67[_0x535b82(0xcd)](_0x25c6d5=>RANGER_MANAGED_SKILLS[_0x535b82(0x85)](_0x25c6d5[_0x535b82(0xc0)])),_0x1ccad7=_0x2e41e7[_0x535b82(0xcd)](_0x287353=>RANGER_MANAGED_SKILLS['includes'](_0x287353['name'])),_0x5d37a4=_0x43f5c6['DHayc'](_0x5067de['length'],_0x1ccad7['length']);if(_0x43f5c6[_0x535b82(0xd5)](_0x5d37a4,0x0))console['log'](_0x43f5c6[_0x535b82(0x98)]),console[_0x535b82(0xbb)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x5067de['length']>0x0){console[_0x535b82(0xbb)](_0x43f5c6[_0x535b82(0xa3)]);for(const _0x4e2b9b of _0x5067de){console[_0x535b82(0xbb)]('\x20\x20\x20\x20'+_0x43f5c6['wOHSa'](bold,_0x4e2b9b[_0x535b82(0xe6)])+':\x20'+_0x43f5c6[_0x535b82(0xbe)](link,_0x4e2b9b[_0x535b82(0x88)],basename(_0x4e2b9b['path'])));}}if(_0x43f5c6['TzUxq'](_0x1ccad7['length'],0x0)){console['log'](_0x535b82(0xec));for(const _0x32fbee of _0x1ccad7){console[_0x535b82(0xbb)](_0x535b82(0xc5)+bold(_0x32fbee[_0x535b82(0xe6)])+':\x20'+_0x43f5c6['Giavw'](link,_0x32fbee['path'],basename(_0x32fbee['path'])));}}}console[_0x535b82(0xbb)](_0x535b82(0xcc));const {envs:_0x2da287,activeEnv:_0x4fb9d8}=await getEnvironments();let _0x388052=[];if(_0x3dd2d0)try{_0x388052=await _0x43f5c6[_0x535b82(0xaf)](listCloudProfiles);}catch{}const _0x207860=_0x2da287[_0x535b82(0x9d)]+_0x388052[_0x535b82(0x9d)];if(_0x43f5c6[_0x535b82(0xd5)](_0x207860,0x0))console[_0x535b82(0xbb)](_0x43f5c6[_0x535b82(0x8a)]),console[_0x535b82(0xbb)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x43f5c6[_0x535b82(0x7f)](_0x207860,0x5)){const _0x3c229e=[];_0x388052['length']>0x0&&_0x3c229e['push'](_0x388052[_0x535b82(0x9d)]+_0x535b82(0xbf)),_0x2da287['length']>0x0&&_0x3c229e[_0x535b82(0xca)](_0x2da287['length']+_0x535b82(0xdb)),console[_0x535b82(0xbb)](_0x207860+_0x535b82(0x82)+_0x3c229e['join'](',\x20')+')'),_0x4fb9d8&&console[_0x535b82(0xbb)]('\x20\x20Active:\x20'+bold(_0x4fb9d8)),console[_0x535b82(0xbb)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x481a82 of _0x388052){const _0x10ea8f=_0x481a82['name']===_0x4fb9d8?_0x535b82(0xa2):'';console[_0x535b82(0xbb)]('\x20\x20'+bold(_0x481a82['name'])+_0x535b82(0xaa)+_0x10ea8f);const _0x583000=_0x481a82['sessionUpdatedAt']?_0x535b82(0x8f)+_0x481a82[_0x535b82(0x84)]+')':_0x43f5c6['EjLEQ'];console[_0x535b82(0xbb)]('\x20\x20\x20\x20Session:\x20'+_0x583000);}const _0x371b51=new Set(_0x388052[_0x535b82(0xb0)](_0x11c26a=>_0x11c26a[_0x535b82(0xc0)]));for(const _0x155c58 of _0x2da287){if(_0x371b51[_0x535b82(0xeb)](_0x155c58[_0x535b82(0xc0)]))continue;const _0x3dca2e=_0x155c58['isActive']?_0x43f5c6['GOlmC']:'',_0x2c839c=_0x155c58[_0x535b82(0x8e)]?_0x43f5c6[_0x535b82(0xb1)]:_0x155c58[_0x535b82(0xda)]?'plaintext':_0x43f5c6['RDnZm'];console[_0x535b82(0xbb)]('\x20\x20'+bold(_0x155c58[_0x535b82(0xc0)])+_0x535b82(0xd1)+_0x3dca2e),console['log'](_0x535b82(0xc1)+_0x2c839c),_0x155c58['settingsPath']!==_0x43f5c6['vlodN']&&console[_0x535b82(0xbb)]('\x20\x20\x20\x20Settings:\x20'+link(_0x155c58['settingsPath'],_0x43f5c6[_0x535b82(0x83)](basename,_0x155c58[_0x535b82(0x9c)])));}if(!_0x4fb9d8){console[_0x535b82(0xbb)]('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x12a9dd=[..._0x388052[_0x535b82(0xb0)](_0x5c429a=>_0x5c429a['name']),..._0x2da287[_0x535b82(0xcd)](_0x23cc1d=>!_0x371b51[_0x535b82(0xeb)](_0x23cc1d['name']))[_0x535b82(0xb0)](_0x108d3f=>_0x108d3f[_0x535b82(0xc0)])];console['log'](_0x535b82(0x86)+_0x12a9dd[_0x535b82(0xe7)](',\x20')+')');}}}console['log']('');}