@ranger-testing/ranger-cli 3.0.0 → 3.0.1-alpha.46ed70b-30

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 (83) 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/rangerwrightCli.js +1 -0
  66. package/build/commands/utils/resolveProfileContext.js +1 -1
  67. package/build/commands/utils/resolveProfileUrl.js +1 -1
  68. package/build/commands/utils/retry.js +1 -1
  69. package/build/commands/utils/sessionCache.js +1 -1
  70. package/build/commands/utils/settings.js +1 -1
  71. package/build/commands/utils/skillContent.js +1 -1
  72. package/build/commands/utils/skills.js +1 -1
  73. package/build/commands/utils/stitchWebmFiles.js +1 -1
  74. package/build/commands/utils/telemetry.js +1 -1
  75. package/build/commands/utils/tokenRefresh.js +1 -1
  76. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  77. package/build/commands/utils/userApi.js +1 -1
  78. package/build/commands/utils/version.js +1 -1
  79. package/build/commands/verifyFeature.js +1 -1
  80. package/build/commands/verifyFeatureCli.js +1 -1
  81. package/build/commands/verifyFeatureNovaCli.js +1 -1
  82. package/build/commands/verifyFeatureRangerwrightCli.js +1 -0
  83. package/package.json +3 -2
@@ -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(_0x507d9c,_0x117aee){const _0x433b0c=_0x2d6f,_0x228c74=_0x507d9c();while(!![]){try{const _0x18fdb8=parseInt(_0x433b0c(0x8e))/0x1*(-parseInt(_0x433b0c(0x8d))/0x2)+parseInt(_0x433b0c(0x89))/0x3*(parseInt(_0x433b0c(0x8b))/0x4)+parseInt(_0x433b0c(0x8a))/0x5+parseInt(_0x433b0c(0x8f))/0x6*(parseInt(_0x433b0c(0x99))/0x7)+-parseInt(_0x433b0c(0x8c))/0x8+-parseInt(_0x433b0c(0x93))/0x9+parseInt(_0x433b0c(0x91))/0xa*(parseInt(_0x433b0c(0x92))/0xb);if(_0x18fdb8===_0x117aee)break;else _0x228c74['push'](_0x228c74['shift']());}catch(_0x1d8ee0){_0x228c74['push'](_0x228c74['shift']());}}}(_0x3228,0x3d5be));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x3228(){const _0x5b8e86=['2239440flnZkm','9006vWPtvk','1qILfKS','35592UQALhC','iFOWH','7200aRZRKc','7271fIDmzb','4084893GPRmmc','Benuc','fzpuT','NQvsm','Re-authenticating\x20via\x20MCP\x20bootstrap...','VAiQk','112IvonJn','log','28707PxlYZh','897895gbWlua','100yDOcTH'];_0x3228=function(){return _0x5b8e86;};return _0x3228();}function _0x2d6f(_0x1fcbaa,_0x28eb8a){_0x1fcbaa=_0x1fcbaa-0x89;const _0x322829=_0x3228();let _0x2d6f13=_0x322829[_0x1fcbaa];return _0x2d6f13;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x4debe0=_0x2d6f,_0x1a818d={'iFOWH':_0x4debe0(0x97),'Benuc':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','fzpuT':function(_0x4ff06a){return _0x4ff06a();},'jZURq':function(_0x5f0536,_0x3f4a2a){return _0x5f0536(_0x3f4a2a);},'VAiQk':'\x0a✅\x20API\x20key\x20stored\x20successfully','NQvsm':function(_0xb85094,_0x15c05a){return _0xb85094 instanceof _0x15c05a;}},_0x1b47e0=await getMcpAuthOrigin();if(_0x1b47e0){console[_0x4debe0(0x9a)](_0x1a818d[_0x4debe0(0x90)]),await mcpBootstrap();return;}if(!isInteractive())throw new Error(_0x1a818d[_0x4debe0(0x94)]);try{const _0x5a4538=await _0x1a818d[_0x4debe0(0x95)](runDeviceAuthFlow),_0x4146df=await _0x1a818d['jZURq'](getCurrentUser,_0x5a4538);_0x4146df['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x4146df['user']['organizationName']):console['log'](_0x1a818d[_0x4debe0(0x98)]);}catch(_0x28d54f){throw new Error('Login\x20failed:\x20'+(_0x1a818d[_0x4debe0(0x96)](_0x28d54f,Error)?_0x28d54f['message']:_0x28d54f));}}
@@ -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 _0x131106=_0x428f;(function(_0x1bd637,_0x474719){const _0x31ba8e=_0x428f,_0x33de00=_0x1bd637();while(!![]){try{const _0x40d479=parseInt(_0x31ba8e(0x1aa))/0x1+parseInt(_0x31ba8e(0x1f6))/0x2+parseInt(_0x31ba8e(0x1dc))/0x3+-parseInt(_0x31ba8e(0x1e4))/0x4*(parseInt(_0x31ba8e(0x1c4))/0x5)+parseInt(_0x31ba8e(0x22a))/0x6*(-parseInt(_0x31ba8e(0x1c0))/0x7)+-parseInt(_0x31ba8e(0x1d2))/0x8*(parseInt(_0x31ba8e(0x1e8))/0x9)+parseInt(_0x31ba8e(0x224))/0xa;if(_0x40d479===_0x474719)break;else _0x33de00['push'](_0x33de00['shift']());}catch(_0x1013f8){_0x33de00['push'](_0x33de00['shift']());}}}(_0x1703,0x1d7c8));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';function _0x428f(_0x3c7724,_0x535a67){_0x3c7724=_0x3c7724-0x18b;const _0x1703d9=_0x1703();let _0x428f9f=_0x1703d9[_0x3c7724];return _0x428f9f;}import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x131106(0x1e7));export async function getMcpAuthOrigin(){const _0x50c51e=_0x131106,_0x589803={'laFst':function(_0x5dcf6e,_0x53a6c0,_0x1e3d89){return _0x5dcf6e(_0x53a6c0,_0x1e3d89);},'KytUM':_0x50c51e(0x21b),'HnXjG':function(_0x1a5122,_0x177ed8){return _0x1a5122||_0x177ed8;}};try{const _0x11c5ab=(await _0x589803['laFst'](readFile,AUTH_ORIGIN_PATH,_0x589803['KytUM']))['trim']();return _0x589803['HnXjG'](_0x11c5ab,null);}catch{return null;}}function _0x1703(){const _0x4e54f1=['pathname','DLjqz','SUNgU','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','refresh.txt','set','content','Token\x20exchange\x20failed:\x20','accessToken','Uyrwf','1.0.0','cahnY','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','MXCZm','CNtRe','trim','OAuth\x20error:\x20','SDEQS','error','refreshToken','fRCwU','Ewxul','HXGgx','LDHOz','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','stringify','proxied','HOkBY','Uzzqf','S256','initialize','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','close','.ranger','utf-8','POST','http://localhost:','text/html','fqqpn','MVYXY','Server\x20returned\x20error:\x20','none','slice','3598880KrBdrF','writeHead','SCCMv','GTQBC','OAuthTimeoutError','EHVLs','1758XlOzhL','hdGoa','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','CHZPn','start','result','application/json,\x20text/event-stream','hSAuc','structuredContent','Lodoy','KxBMG','\x0aToken\x20written\x20to\x20','cxrsf','<html><body><h2>Authentication\x20failed</h2><p>','application/json','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','YPUxf','authorization_servers','match','HJtxw','get','WAJHM','YRXNK','searchParams','client_id','origin','clientSecret','resource','end','Requesting\x20CLI\x20token...','write','type','UBFPb','vujhA','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','access_token','7688oFxMzA','GeFrf','Unknown\x20error','MCP\x20initialize\x20failed:\x20','toString','code','\x0aUnexpected\x20response\x20structure:','Discovering\x20authorization\x20server...','refresh_token','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','Ranger\x20CLI','token','gTchH','egErH','THTdg','now','Registering\x20OAuth\x20client...','isError','alFEs','Rcrff','OFnVz','get_cli_token\x20failed:\x20','2037jraeTw','status','message','MCP\x20server\x20returned\x20HTTP\x20','4485nKLJJV','data:','ranger-cli','string','client_secret','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','authorization_endpoint','log','then','Initializing\x20MCP\x20session...','lDNrs','pOznX','stdout','sha256','1553504wJZKGg','open','headers','split','expiresAt','VDiHp','text','json','DtTTw','parse','358209aQzsCi','application/x-www-form-urlencoded','HydLw','/.well-known/oauth-authorization-server','\x20done','length','ODABr','JMGsV','1012lGlvMN','IeqJW','GXdWT','auth-origin.txt','9XsRqEh','2025-03-26','expires_in','2.0','XGZFG','isTTY','needs-oauth','content-type','error_description','tools/call','mjnLC','cOgJk','WAFRA','WnEau','280378CfcYgE','vOPyQ','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'];_0x1703=function(){return _0x4e54f1;};return _0x1703();}export async function mcpBootstrap(){const _0x4198b6=_0x131106,_0x4ddf21={'lDNrs':function(_0x2222f6){return _0x2222f6();},'BloQM':function(_0x5a5583,_0x1a4976){return _0x5a5583===_0x1a4976;},'SCCMv':_0x4198b6(0x213),'MXCZm':function(_0x4f96e3,_0x194b5a){return _0x4f96e3+_0x194b5a;},'HydLw':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','GeFrf':function(_0x83dd31,_0x2ff348,_0x3e8bc5){return _0x83dd31(_0x2ff348,_0x3e8bc5);}},_0x3f1955=_0x4ddf21[_0x4198b6(0x1ce)](getMcpAuthUrl);currentOrigin=_0x3f1955;const _0x5ad812=process['stdout'][_0x4198b6(0x1ed)]??![];console[_0x4198b6(0x1cb)](_0x4198b6(0x1fc)+_0x3f1955+'\x0a');const _0x1e4077=await tryUnauthenticated(_0x3f1955);let _0x2ba412=null;if(_0x4ddf21['BloQM'](_0x1e4077,_0x4ddf21[_0x4198b6(0x226)]))_0x2ba412='';else{_0x2ba412=await loadCachedToken();if(!_0x2ba412){if(!_0x5ad812)throw new Error(_0x4ddf21[_0x4198b6(0x206)](_0x4ddf21[_0x4198b6(0x1de)],'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'));_0x2ba412=await oauthFlow(_0x3f1955);}}await _0x4ddf21[_0x4198b6(0x1ab)](callGetCliToken,_0x3f1955,_0x2ba412);}async function tryUnauthenticated(_0x25824b){const _0x56d809=_0x131106,_0x561085={'CvWOn':function(_0x165d46,_0x2e7809,_0x4e8bb1){return _0x165d46(_0x2e7809,_0x4e8bb1);},'GXdWT':'application/json','mmdxk':_0x56d809(0x18b),'WAFRA':_0x56d809(0x217),'cahnY':_0x56d809(0x1e9),'nxlsJ':_0x56d809(0x203),'UBFPb':_0x56d809(0x1ee)},_0x2ff82e=await _0x561085['CvWOn'](fetch,_0x25824b,{'method':'POST','headers':{'Content-Type':_0x561085[_0x56d809(0x1e6)],'Accept':_0x561085['mmdxk']},'body':JSON['stringify']({'jsonrpc':_0x56d809(0x1eb),'id':0x1,'method':_0x561085[_0x56d809(0x1f4)],'params':{'protocolVersion':_0x561085[_0x56d809(0x204)],'capabilities':{},'clientInfo':{'name':_0x56d809(0x1c6),'version':_0x561085['nxlsJ']}}})});if(_0x2ff82e['ok'])return await _0x2ff82e[_0x56d809(0x1d8)](),'proxied';if(_0x2ff82e['status']===0x191)return await _0x2ff82e['text'](),_0x561085[_0x56d809(0x1a6)];const _0x5ceec8=await _0x2ff82e['text']();throw new Error(_0x56d809(0x1c3)+_0x2ff82e[_0x56d809(0x1c1)]+':\x20'+_0x5ceec8);}class OAuthTimeoutError extends Error{constructor(_0x36fd0f){const _0x50d507=_0x131106;super(_0x36fd0f),this['name']=_0x50d507(0x228);}}async function oauthFlow(_0x2633fa){const _0x40c1d9=_0x131106,_0x2e7b24={'MVYXY':function(_0xc18f2e,_0x4148b1){return _0xc18f2e(_0x4148b1);},'kQxgU':function(_0x4f4a65,_0x6ae2e3){return _0x4f4a65 instanceof _0x6ae2e3;},'PyrWS':function(_0x8fa040){return _0x8fa040();}};try{return await _0x2e7b24[_0x40c1d9(0x220)](oauthFlowAttempt,_0x2633fa);}catch(_0x5bac2b){if(_0x2e7b24['kQxgU'](_0x5bac2b,OAuthTimeoutError)&&await _0x2e7b24['PyrWS'](loadCachedClient))return console[_0x40c1d9(0x1cb)](_0x40c1d9(0x211)),await clearCachedClient(),await oauthFlowAttempt(_0x2633fa);throw _0x5bac2b;}}async function oauthFlowAttempt(_0x568b8b){const _0x56fc6b=_0x131106,_0x3cbd56={'Uzzqf':function(_0x51bc9b,_0x5b39fb){return _0x51bc9b(_0x5b39fb);},'SDEQS':_0x56fc6b(0x205),'Rcrff':_0x56fc6b(0x1a8),'KECXd':_0x56fc6b(0x1ba),'ODABr':_0x56fc6b(0x21c),'pOznX':_0x56fc6b(0x193),'Kgopk':'authorization_code','WnEau':_0x56fc6b(0x1af),'YRXNK':_0x56fc6b(0x222),'egErH':_0x56fc6b(0x1e0),'XGZFG':function(_0x37cc3a,_0x1843a4){return _0x37cc3a(_0x1843a4);},'gTchH':function(_0x3b1f61,_0x1231ad){return _0x3b1f61(_0x1231ad);},'uRasH':'base64url','VTWQi':function(_0x199ff3,_0x59fba7){return _0x199ff3(_0x59fba7);},'LthDv':'hex','Ewxul':'redirect_uri','hdGoa':'code_challenge','mwZMW':'code_challenge_method','oHSUj':'state','OFnVz':'resource','YPUxf':'\x0aOpening\x20browser\x20for\x20authentication...','lCaQJ':_0x56fc6b(0x1c8),'mjnLC':function(_0x3b7ac4,_0x234193,_0x5afb1c){return _0x3b7ac4(_0x234193,_0x5afb1c);},'DLjqz':function(_0x543f4c,_0x42964c,_0x308830,_0x1377ac){return _0x543f4c(_0x42964c,_0x308830,_0x1377ac);}},_0x427f07=_0x568b8b['replace'](/\/mcp$/,'');process[_0x56fc6b(0x1d0)]['write'](_0x56fc6b(0x1b1));const _0x153879=await _0x3cbd56[_0x56fc6b(0x215)](fetch,_0x427f07+'/.well-known/oauth-protected-resource');if(!_0x153879['ok'])throw new Error(_0x3cbd56[_0x56fc6b(0x20a)]);const _0x2c0dc6=await _0x153879['json'](),_0x3ec954=_0x2c0dc6[_0x56fc6b(0x197)]?.[0x0];if(!_0x3ec954)throw new Error(_0x3cbd56[_0x56fc6b(0x1bd)]);console['log']('\x20'+_0x3ec954);const _0x45cc71=await _0x3cbd56['Uzzqf'](fetchAuthServerMetadata,_0x3ec954);let _0x2db1c4,_0x93a8eb;const _0x53ae02=await loadCachedClient();if(_0x53ae02)_0x2db1c4=_0x53ae02['clientId'],_0x93a8eb=_0x53ae02['clientSecret'];else{if(_0x45cc71['registration_endpoint']){process[_0x56fc6b(0x1d0)][_0x56fc6b(0x1a4)](_0x3cbd56['KECXd']);const _0x90dc4a=await fetch(_0x45cc71['registration_endpoint'],{'method':_0x3cbd56[_0x56fc6b(0x1e2)],'headers':{'Content-Type':_0x3cbd56[_0x56fc6b(0x1cf)]},'body':JSON[_0x56fc6b(0x212)]({'client_name':_0x56fc6b(0x1b4),'redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':[_0x3cbd56['Kgopk'],_0x56fc6b(0x1b2)],'response_types':[_0x3cbd56[_0x56fc6b(0x1f5)]],'token_endpoint_auth_method':_0x3cbd56[_0x56fc6b(0x19c)]})});if(!_0x90dc4a['ok']){const _0x3e1dff=await _0x90dc4a[_0x56fc6b(0x1d8)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x3e1dff);}const _0x4c2f35=await _0x90dc4a[_0x56fc6b(0x1d9)]();_0x2db1c4=_0x4c2f35[_0x56fc6b(0x19e)],_0x93a8eb=_0x4c2f35[_0x56fc6b(0x1c8)],await saveCachedClient(_0x2db1c4,_0x93a8eb),console[_0x56fc6b(0x1cb)](_0x3cbd56['egErH']);}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x2ba82b=_0x3cbd56[_0x56fc6b(0x1ec)](randomBytes,0x20)[_0x56fc6b(0x1ae)]('base64url'),_0x4fbd5e=_0x3cbd56[_0x56fc6b(0x1b6)](createHash,_0x56fc6b(0x1d1))['update'](_0x2ba82b)['digest'](_0x3cbd56['uRasH']),_0x40505a=_0x3cbd56['VTWQi'](randomBytes,0x10)[_0x56fc6b(0x1ae)](_0x3cbd56['LthDv']),_0x5263e4=new URL(_0x45cc71[_0x56fc6b(0x1ca)]);_0x5263e4[_0x56fc6b(0x19d)][_0x56fc6b(0x1fe)]('response_type','code'),_0x5263e4[_0x56fc6b(0x19d)]['set'](_0x56fc6b(0x19e),_0x2db1c4),_0x5263e4['searchParams']['set'](_0x3cbd56[_0x56fc6b(0x20e)],_0x56fc6b(0x21d)+CALLBACK_PORT+'/callback'),_0x5263e4[_0x56fc6b(0x19d)][_0x56fc6b(0x1fe)](_0x3cbd56[_0x56fc6b(0x22b)],_0x4fbd5e),_0x5263e4['searchParams']['set'](_0x3cbd56['mwZMW'],_0x56fc6b(0x216)),_0x5263e4[_0x56fc6b(0x19d)][_0x56fc6b(0x1fe)](_0x3cbd56['oHSUj'],_0x40505a);_0x2c0dc6[_0x56fc6b(0x1a1)]&&_0x5263e4[_0x56fc6b(0x19d)]['set'](_0x3cbd56[_0x56fc6b(0x1be)],_0x2c0dc6[_0x56fc6b(0x1a1)]);console[_0x56fc6b(0x1cb)](_0x3cbd56[_0x56fc6b(0x196)]),console[_0x56fc6b(0x1cb)](_0x56fc6b(0x22c)+_0x5263e4['toString']()+'\x0a'),await openBrowser(_0x5263e4[_0x56fc6b(0x1ae)]());const _0x545a04=await _0x3cbd56['VTWQi'](waitForCallback,_0x40505a);process['stdout']['write']('Exchanging\x20authorization\x20code...');const _0x3faf4c=new URLSearchParams({'grant_type':_0x3cbd56['Kgopk'],'code':_0x545a04,'redirect_uri':_0x56fc6b(0x21d)+CALLBACK_PORT+'/callback','client_id':_0x2db1c4,'code_verifier':_0x2ba82b});_0x93a8eb&&_0x3faf4c[_0x56fc6b(0x1fe)](_0x3cbd56['lCaQJ'],_0x93a8eb);_0x2c0dc6[_0x56fc6b(0x1a1)]&&_0x3faf4c['set'](_0x56fc6b(0x1a1),_0x2c0dc6[_0x56fc6b(0x1a1)]);const _0x3f8298=await _0x3cbd56[_0x56fc6b(0x1f2)](fetch,_0x45cc71['token_endpoint'],{'method':_0x3cbd56[_0x56fc6b(0x1e2)],'headers':{'Content-Type':_0x56fc6b(0x1dd)},'body':_0x3faf4c});if(!_0x3f8298['ok']){const _0x1303b1=await _0x3f8298[_0x56fc6b(0x1d8)]();throw new Error(_0x56fc6b(0x200)+_0x1303b1);}const _0x510ee=await _0x3f8298[_0x56fc6b(0x1d9)]();return console['log'](_0x3cbd56[_0x56fc6b(0x1b7)]),await _0x3cbd56[_0x56fc6b(0x1fa)](saveCachedToken,_0x510ee['access_token'],_0x510ee['refresh_token'],_0x510ee[_0x56fc6b(0x1ea)]),_0x510ee[_0x56fc6b(0x1a9)];}async function callGetCliToken(_0x491e92,_0x1f6f21){const _0x2c861d=_0x131106,_0x596d9a={'anxod':function(_0x2d7350,_0x2b220a,_0x337a87){return _0x2d7350(_0x2b220a,_0x337a87);},'HlZSZ':function(_0x4f874c,_0x51f504){return _0x4f874c(_0x51f504);},'KWBXL':'application/json,\x20text/event-stream','MxCrl':'Authorization','jxRKq':_0x2c861d(0x217),'MenaL':'ranger-cli','cOgJk':_0x2c861d(0x203),'vujhA':_0x2c861d(0x21c),'xXYDP':_0x2c861d(0x1eb),'CNtRe':'notifications/initialized','zpAEe':_0x2c861d(0x1f1),'IeqJW':'get_cli_token','HOkBY':_0x2c861d(0x1b0),'SVBvN':_0x2c861d(0x194),'SUNgU':function(_0x3d243e,_0x6aabe7,_0x5ac687){return _0x3d243e(_0x6aabe7,_0x5ac687);},'VDiHp':function(_0x47425c){return _0x47425c();},'EHVLs':_0x2c861d(0x1fd),'NOdus':function(_0x2e9428,_0x15994c,_0x2c5a5b,_0x310171){return _0x2e9428(_0x15994c,_0x2c5a5b,_0x310171);},'ACqEb':_0x2c861d(0x1e7)},_0x3ed71e={'Content-Type':_0x2c861d(0x193),'Accept':_0x596d9a['KWBXL']};_0x1f6f21&&(_0x3ed71e[_0x596d9a['MxCrl']]='Bearer\x20'+_0x1f6f21);const _0x3914ec=async _0x250299=>{const _0x2d05fe=_0x2c861d,_0x182a28=await _0x596d9a['anxod'](fetch,_0x491e92,{'method':'POST','headers':_0x3ed71e,'body':JSON[_0x2d05fe(0x212)](_0x250299)});if(!_0x182a28['ok']){const _0x40a1b1=await _0x182a28['text']();throw new Error('HTTP\x20'+_0x182a28['status']+':\x20'+_0x40a1b1);}return _0x596d9a['HlZSZ'](parseResponse,_0x182a28);};process['stdout'][_0x2c861d(0x1a4)](_0x2c861d(0x1cd));const _0x228d93=await _0x3914ec({'jsonrpc':_0x2c861d(0x1eb),'id':0x1,'method':_0x596d9a['jxRKq'],'params':{'protocolVersion':_0x2c861d(0x1e9),'capabilities':{},'clientInfo':{'name':_0x596d9a['MenaL'],'version':_0x596d9a[_0x2c861d(0x1f3)]}}});if(_0x228d93[_0x2c861d(0x20b)])throw new Error(_0x2c861d(0x1ad)+(_0x228d93[_0x2c861d(0x20b)]['message']??JSON[_0x2c861d(0x212)](_0x228d93['error'])));console[_0x2c861d(0x1cb)](_0x2c861d(0x1e0)),await fetch(_0x491e92,{'method':_0x596d9a[_0x2c861d(0x1a7)],'headers':_0x3ed71e,'body':JSON[_0x2c861d(0x212)]({'jsonrpc':_0x596d9a['xXYDP'],'method':_0x596d9a[_0x2c861d(0x207)]})})[_0x2c861d(0x1cc)](_0x3724f1=>_0x3724f1['text']()),process['stdout'][_0x2c861d(0x1a4)](_0x2c861d(0x1a3));const _0x25b65a=await _0x596d9a['HlZSZ'](_0x3914ec,{'jsonrpc':'2.0','id':0x2,'method':_0x596d9a['zpAEe'],'params':{'name':_0x596d9a[_0x2c861d(0x1e5)],'arguments':{}}});if(_0x25b65a[_0x2c861d(0x20b)])throw new Error(_0x2c861d(0x1bf)+(_0x25b65a[_0x2c861d(0x20b)][_0x2c861d(0x1c2)]??JSON['stringify'](_0x25b65a[_0x2c861d(0x20b)])));console[_0x2c861d(0x1cb)](_0x2c861d(0x1e0));const _0x5eee3b=extractToken(_0x25b65a[_0x2c861d(0x22f)]);if(!_0x5eee3b){console[_0x2c861d(0x20b)](_0x596d9a[_0x2c861d(0x214)]),console['error'](JSON['stringify'](_0x25b65a['result'],null,0x2));throw new Error(_0x596d9a['SVBvN']);}const _0x326f49=_0x596d9a[_0x2c861d(0x1fb)](join,_0x596d9a[_0x2c861d(0x1d7)](homedir),_0x2c861d(0x21a)),_0x2311cf=join(_0x326f49,_0x596d9a[_0x2c861d(0x229)]);await _0x596d9a['anxod'](mkdir,_0x326f49,{'recursive':!![]}),await _0x596d9a['NOdus'](writeFile,_0x2311cf,_0x5eee3b,{'mode':0x180}),await _0x596d9a['NOdus'](writeFile,join(_0x326f49,_0x596d9a['ACqEb']),_0x491e92,{'mode':0x180}),console[_0x2c861d(0x1cb)](_0x2c861d(0x190)+_0x2311cf),console[_0x2c861d(0x1cb)](_0x2c861d(0x195));}async function fetchAuthServerMetadata(_0x1b5fc4){const _0x4ef463=_0x131106,_0x9ae1a4=_0x1b5fc4+_0x4ef463(0x1df),_0x3a4f0a=await fetch(_0x9ae1a4);if(!_0x3a4f0a['ok'])throw new Error(_0x4ef463(0x1b3)+_0x9ae1a4+':\x20'+_0x3a4f0a[_0x4ef463(0x1c1)]);return _0x3a4f0a['json']();}function waitForCallback(_0x45ac5c){const _0x415be6=_0x131106,_0x4521b3={'Uyrwf':function(_0xf4050a,_0x11356e){return _0xf4050a(_0x11356e);},'hSAuc':_0x415be6(0x1f8),'WAJHM':'/callback','muwUF':_0x415be6(0x1af),'LDHOz':'state','HJtxw':_0x415be6(0x20b),'JMGsV':function(_0x4b2abe,_0x14bf8a){return _0x4b2abe(_0x14bf8a);},'hrFXe':function(_0x4ab026,_0x4a0d40){return _0x4ab026!==_0x4a0d40;},'BeoSH':'text/html','ADMPD':_0x415be6(0x218),'JAShg':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','ObzQH':function(_0x413ada,_0x26b3b1){return _0x413ada(_0x26b3b1);}};return new Promise((_0x4a6313,_0x3e3dcb)=>{const _0x391d81=()=>{const _0x328855=_0x428f;_0x51fcae['closeAllConnections'](),_0x51fcae[_0x328855(0x219)]();},_0x2123af=setTimeout(()=>{const _0x31f726=_0x428f;_0x391d81(),_0x4521b3[_0x31f726(0x202)](_0x3e3dcb,new OAuthTimeoutError(_0x4521b3[_0x31f726(0x18c)]));},0x1d4c0),_0x51fcae=createServer((_0x317b03,_0x3d5b23)=>{const _0x8eea93=_0x428f,_0x31bf14=new URL(_0x317b03['url']??'/',_0x8eea93(0x21d)+CALLBACK_PORT);if(_0x31bf14[_0x8eea93(0x1f9)]!==_0x4521b3[_0x8eea93(0x19b)]){_0x3d5b23[_0x8eea93(0x225)](0x194),_0x3d5b23['end']('Not\x20found');return;}const _0x1ada09=_0x31bf14[_0x8eea93(0x19d)][_0x8eea93(0x19a)](_0x4521b3['muwUF']),_0x56f561=_0x31bf14['searchParams'][_0x8eea93(0x19a)](_0x4521b3[_0x8eea93(0x210)]),_0x214a30=_0x31bf14['searchParams']['get'](_0x4521b3[_0x8eea93(0x199)]);if(_0x214a30){const _0x1f5324=_0x31bf14['searchParams'][_0x8eea93(0x19a)](_0x8eea93(0x1f0))??_0x214a30;_0x3d5b23['writeHead'](0xc8,{'Content-Type':_0x8eea93(0x21e)}),_0x3d5b23[_0x8eea93(0x1a2)](_0x8eea93(0x192)+_0x1f5324+_0x8eea93(0x1c9)),_0x4521b3[_0x8eea93(0x202)](clearTimeout,_0x2123af),_0x391d81(),_0x4521b3[_0x8eea93(0x1e3)](_0x3e3dcb,new Error(_0x8eea93(0x209)+_0x1f5324));return;}if(!_0x1ada09||_0x4521b3['hrFXe'](_0x56f561,_0x45ac5c)){_0x3d5b23[_0x8eea93(0x225)](0x190,{'Content-Type':_0x4521b3['BeoSH']}),_0x3d5b23[_0x8eea93(0x1a2)](_0x4521b3['ADMPD']);return;}_0x3d5b23[_0x8eea93(0x225)](0xc8,{'Content-Type':'text/html'}),_0x3d5b23['end'](_0x4521b3['JAShg']),clearTimeout(_0x2123af),_0x391d81(),_0x4521b3['ObzQH'](_0x4a6313,_0x1ada09);});_0x51fcae['listen'](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0xe7efe2){const _0x12ded7=_0x131106,_0x14dc07={'THTdg':function(_0x1d4d42,_0x3a2d0e){return _0x1d4d42===_0x3a2d0e;},'alFEs':_0x12ded7(0x22e),'GTQBC':'xdg-open'},_0xdbf334=_0x14dc07[_0x12ded7(0x1b8)](process['platform'],'darwin')?_0x12ded7(0x1d3):process['platform']==='win32'?_0x14dc07[_0x12ded7(0x1bc)]:_0x14dc07[_0x12ded7(0x227)];exec(_0xdbf334+'\x20\x22'+_0xe7efe2+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x1176c4=_0x131106,_0xc9860f={'DtTTw':function(_0x4cd9ba,_0x29bf2d){return _0x4cd9ba!==_0x29bf2d;}};try{const _0x2b7b22=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x1176c4(0x21b)));if(_0x2b7b22['origin']&&_0xc9860f[_0x1176c4(0x1da)](_0x2b7b22['origin'],currentOrigin))return null;if(_0x2b7b22[_0x1176c4(0x1d6)]&&Date[_0x1176c4(0x1b9)]()>_0x2b7b22[_0x1176c4(0x1d6)])return null;return _0x2b7b22[_0x1176c4(0x201)]??null;}catch{return null;}}async function saveCachedToken(_0x3ae90f,_0x55e76c,_0x1a85dc){const _0x347444=_0x131106,_0x4da953={'dmzyt':function(_0x183943,_0x433582){return _0x183943+_0x433582;},'JiAhy':function(_0x42be76,_0x167d48,_0x1fabd1){return _0x42be76(_0x167d48,_0x1fabd1);}},_0x76d078=await loadCachedData(),_0x54621e={..._0x76d078,'origin':currentOrigin,'accessToken':_0x3ae90f,'refreshToken':_0x55e76c??_0x76d078?.[_0x347444(0x20c)],'expiresAt':_0x1a85dc?_0x4da953['dmzyt'](Date[_0x347444(0x1b9)](),_0x1a85dc*0x3e8):undefined};await mkdir(_0x4da953['JiAhy'](join,homedir(),_0x347444(0x21a)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x54621e),{'mode':0x180});}async function loadCachedClient(){const _0x3eb24c=_0x131106,_0xc370a={'fqqpn':function(_0xd44602,_0x702565){return _0xd44602!==_0x702565;}},_0x571045=await loadCachedData();if(_0x571045?.['origin']&&_0xc370a[_0x3eb24c(0x21f)](_0x571045[_0x3eb24c(0x19f)],currentOrigin))return null;return _0x571045?.['clientId']?{'clientId':_0x571045['clientId'],'clientSecret':_0x571045[_0x3eb24c(0x1a0)]}:null;}async function clearCachedClient(){const _0x4df433=_0x131106,_0x2c704a={'cxrsf':function(_0x1d5813,_0xa7c3ac,_0x323aac,_0x50547f){return _0x1d5813(_0xa7c3ac,_0x323aac,_0x50547f);}},_0x2fac65=await loadCachedData();if(!_0x2fac65)return;const {clientId:_0x361d48,clientSecret:_0x4390b6,..._0x5676e8}=_0x2fac65;await _0x2c704a[_0x4df433(0x191)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x5676e8),{'mode':0x180});}async function saveCachedClient(_0x495982,_0x399497){const _0x44a615={'EUCUP':function(_0x502013){return _0x502013();},'ecjDC':'.ranger','GyUnw':function(_0x5d3dde,_0x15bd39,_0x206354,_0x57bf2b){return _0x5d3dde(_0x15bd39,_0x206354,_0x57bf2b);}},_0x1040db=await _0x44a615['EUCUP'](loadCachedData),_0x1d8d48={..._0x1040db,'origin':currentOrigin,'accessToken':_0x1040db?.['accessToken']??'','clientId':_0x495982,'clientSecret':_0x399497};await mkdir(join(homedir(),_0x44a615['ecjDC']),{'recursive':!![]}),await _0x44a615['GyUnw'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x1d8d48),{'mode':0x180});}async function loadCachedData(){const _0x4e361f=_0x131106,_0x38756={'fRCwU':function(_0x317360,_0x171279,_0x1c5d99){return _0x317360(_0x171279,_0x1c5d99);}};try{return JSON[_0x4e361f(0x1db)](await _0x38756[_0x4e361f(0x20d)](readFile,TOKEN_CACHE_PATH,_0x4e361f(0x21b)));}catch{return null;}}async function parseResponse(_0x43dcff){const _0x4c0a44=_0x131106,_0x61099d={'CHZPn':_0x4c0a44(0x1ef),'HXGgx':'text/event-stream','KxBMG':function(_0x58f2e4,_0xdd55de){return _0x58f2e4!==_0xdd55de;},'oONvl':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x2635cf=_0x43dcff[_0x4c0a44(0x1d4)][_0x4c0a44(0x19a)](_0x61099d[_0x4c0a44(0x22d)])??'';if(_0x2635cf['includes'](_0x61099d[_0x4c0a44(0x20f)])){const _0x3838c2=await _0x43dcff['text']();for(const _0x16aed1 of _0x3838c2[_0x4c0a44(0x1d5)]('\x0a')){const _0x5cf456=_0x16aed1[_0x4c0a44(0x208)]();if(_0x5cf456['startsWith']('data:')){const _0x4253d3=_0x5cf456[_0x4c0a44(0x223)](_0x4c0a44(0x1c5)[_0x4c0a44(0x1e1)])[_0x4c0a44(0x208)]();if(!_0x4253d3)continue;try{const _0x25c22d=JSON[_0x4c0a44(0x1db)](_0x4253d3);if(_0x61099d[_0x4c0a44(0x18f)](_0x25c22d['id'],undefined)||_0x25c22d[_0x4c0a44(0x20b)])return _0x25c22d;}catch{}}}throw new Error(_0x61099d['oONvl']);}return _0x43dcff[_0x4c0a44(0x1d9)]();}function extractToken(_0x3b22c3){const _0x415453=_0x131106,_0x7d72a1={'vOPyQ':function(_0x56f37b,_0x5beea8){return _0x56f37b===_0x5beea8;},'Lodoy':function(_0x233f15,_0x37e8de){return _0x233f15===_0x37e8de;},'QjdXk':'text'};if(!_0x3b22c3)return null;const _0x3775f6=_0x3b22c3[_0x415453(0x18d)];if(_0x3775f6?.[_0x415453(0x1b5)]&&_0x7d72a1[_0x415453(0x1f7)](typeof _0x3775f6[_0x415453(0x1b5)],_0x415453(0x1c7)))return _0x3775f6[_0x415453(0x1b5)];if(_0x3b22c3[_0x415453(0x1bb)]){const _0x44dd72=_0x3b22c3['content'];throw new Error(_0x415453(0x221)+(_0x44dd72?.[0x0]?.[_0x415453(0x1d8)]??_0x415453(0x1ac)));}const _0x29c367=_0x3b22c3[_0x415453(0x1ff)];if(_0x29c367)for(const _0x198514 of _0x29c367){if(_0x7d72a1[_0x415453(0x18e)](_0x198514[_0x415453(0x1a5)],_0x7d72a1['QjdXk'])&&_0x198514['text']){try{const _0x22d38a=JSON['parse'](_0x198514['text']);if(typeof _0x22d38a?.[_0x415453(0x1b5)]===_0x415453(0x1c7))return _0x22d38a['token'];}catch{}const _0x1fef8f=_0x198514[_0x415453(0x1d8)][_0x415453(0x198)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x1fef8f)return _0x1fef8f[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 _0x5a46(_0x1e599d,_0x511f0a){_0x1e599d=_0x1e599d-0xe6;var _0x45125c=_0x4512();var _0x5a4696=_0x45125c[_0x1e599d];return _0x5a4696;}(function(_0x368548,_0x1ea85a){var _0x1699e0=_0x5a46,_0x14ba01=_0x368548();while(!![]){try{var _0x543ffe=-parseInt(_0x1699e0(0xf2))/0x1*(parseInt(_0x1699e0(0xe8))/0x2)+-parseInt(_0x1699e0(0xe6))/0x3+parseInt(_0x1699e0(0xea))/0x4+-parseInt(_0x1699e0(0xef))/0x5*(parseInt(_0x1699e0(0xf1))/0x6)+-parseInt(_0x1699e0(0xe9))/0x7+-parseInt(_0x1699e0(0xf0))/0x8+parseInt(_0x1699e0(0xe7))/0x9;if(_0x543ffe===_0x1ea85a)break;else _0x14ba01['push'](_0x14ba01['shift']());}catch(_0x2cb8dc){_0x14ba01['push'](_0x14ba01['shift']());}}}(_0x4512,0xde321));function _0x4512(){var _0x8a1a07=['cNPIG','3709197KDBbMu','39489426rLTGga','4978lSxRiu','12732524hVqBbH','3257264FiltNW','hAIYF','FWbHC','tvuUN','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','15qUcqpD','963432jOaWZh','460146TBqAnN','356diajxm'];_0x4512=function(){return _0x8a1a07;};return _0x4512();}export async function migrateProfile(_0x3a4d87,_0x3055e7){var _0x262d95=_0x5a46,_0x5d67e4={'hAIYF':function(_0x18e58a,_0x41ff3e){return _0x18e58a+_0x41ff3e;},'mTEVR':function(_0x2cda02,_0x496aea){return _0x2cda02+_0x496aea;},'mLXpc':function(_0x5c2d5b,_0x3cf81c){return _0x5c2d5b+_0x3cf81c;},'YtEbC':function(_0x5c09d2,_0x5df705){return _0x5c09d2+_0x5df705;},'KhAHJ':_0x262d95(0xee),'sTnmd':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','cNPIG':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','FWbHC':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','tvuUN':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','XdRLj':'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'};console['error'](_0x5d67e4['hAIYF'](_0x5d67e4[_0x262d95(0xeb)](_0x5d67e4[_0x262d95(0xeb)](_0x5d67e4['mTEVR'](_0x5d67e4['mLXpc'](_0x5d67e4['YtEbC'](_0x5d67e4['KhAHJ']+'\x0a',_0x5d67e4['sTnmd']),_0x5d67e4[_0x262d95(0xf3)])+'\x0a',_0x5d67e4[_0x262d95(0xec)])+_0x5d67e4[_0x262d95(0xed)],'\x0a'),'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'),_0x5d67e4['XdRLj'])),process['exit'](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(_0x3db13f,_0x41e2f4){const _0x52a175=_0x4ef9,_0x2b6534=_0x3db13f();while(!![]){try{const _0x378725=-parseInt(_0x52a175(0x9a))/0x1+-parseInt(_0x52a175(0xb6))/0x2+-parseInt(_0x52a175(0xbe))/0x3*(-parseInt(_0x52a175(0xa2))/0x4)+parseInt(_0x52a175(0xbb))/0x5+parseInt(_0x52a175(0xbc))/0x6*(parseInt(_0x52a175(0x9f))/0x7)+parseInt(_0x52a175(0xa1))/0x8+-parseInt(_0x52a175(0xa7))/0x9;if(_0x378725===_0x41e2f4)break;else _0x2b6534['push'](_0x2b6534['shift']());}catch(_0x5b6bd0){_0x2b6534['push'](_0x2b6534['shift']());}}}(_0x438a,0x90204));function _0x4ef9(_0x558738,_0x55d05b){_0x558738=_0x558738-0x95;const _0x438abd=_0x438a();let _0x4ef9ef=_0x438abd[_0x558738];return _0x4ef9ef;}import{join}from'path';import{existsSync}from'fs';import _0x1e80e2 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(_0x13de13){const _0x4414db=_0x4ef9,_0x39becc={'ovPhy':function(_0x2b42a6,_0x2865a2){return _0x2b42a6(_0x2865a2);},'aVFAk':function(_0x2f7620,_0x3cdd43){return _0x2f7620(_0x3cdd43);},'qXufz':'.claude','ZamWZ':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','ijJfH':_0x4414db(0xa5),'zeJag':_0x4414db(0xba),'FqTaj':_0x4414db(0xb8),'pkZCb':'✓\x20Marketplace\x20already\x20added','KUaik':_0x4414db(0xbd),'ZeiqJ':'❌\x20Failed\x20to\x20add\x20marketplace:','btxRX':'\x0aYou\x20can\x20install\x20manually\x20with:','yJiBA':_0x4414db(0xb0),'cYPAv':'install','uakHY':'ranger@trailhead','JowGR':function(_0x5ef69f){return _0x5ef69f();},'qPXHL':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','FxvIw':function(_0x16a004,_0x44fe96){return _0x16a004===_0x44fe96;},'hsuYX':function(_0xa5c7d2,_0x596a30,_0x4bd737){return _0xa5c7d2(_0x596a30,_0x4bd737);}},_0x261007=await _0x39becc[_0x4414db(0xc1)](isPluginInstalled,_0x4414db(0xb4));if(_0x261007)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x19ee18=_0x39becc['aVFAk'](existsSync,join(getProjectRoot(),_0x39becc['qXufz']));let _0x54eb7f;if(_0x13de13)_0x54eb7f=_0x13de13;else{if(_0x19ee18)_0x54eb7f=_0x4414db(0xba);else{console['log'](_0x39becc['ZamWZ']);const _0x33cf10=await _0x1e80e2[_0x4414db(0xac)]([{'type':'list','name':_0x39becc['ijJfH'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x4414db(0x99),'value':_0x4414db(0xb8)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x39becc['zeJag']}],'default':_0x39becc['FqTaj']}]);_0x54eb7f=_0x33cf10['pluginScope'];}}console[_0x4414db(0x9d)](_0x4414db(0x95)+_0x54eb7f+_0x4414db(0xaf));const _0x57ea85=await isMarketplaceAdded('trailhead');let _0x38cf6f=_0x57ea85;if(_0x57ea85)console[_0x4414db(0x9d)](_0x39becc[_0x4414db(0xb7)]);else{const _0x2aa5e1=await runClaudeCommand([_0x39becc[_0x4414db(0xa0)],'marketplace',_0x4414db(0xb5),'ranger-testing/trailhead']);!_0x2aa5e1['success']?(console['error'](_0x39becc[_0x4414db(0xb9)],_0x2aa5e1[_0x4414db(0xb1)]),console['log'](_0x39becc['btxRX']),console[_0x4414db(0x9d)](_0x39becc[_0x4414db(0xa8)]),console['log'](_0x4414db(0xa6)+_0x54eb7f)):_0x38cf6f=!![];}if(_0x38cf6f){const _0x2c5290=await runClaudeCommand([_0x4414db(0xbd),_0x39becc[_0x4414db(0xa3)],_0x39becc['uakHY'],'--scope',_0x54eb7f],{'cwd':_0x54eb7f===_0x39becc['zeJag']?_0x39becc['JowGR'](getProjectRoot):undefined});if(!_0x2c5290[_0x4414db(0xab)])console[_0x4414db(0xb1)](_0x4414db(0xb3),_0x2c5290['error']),console['log'](_0x4414db(0x98)),console[_0x4414db(0x9d)](_0x4414db(0xa6)+_0x54eb7f);else{console[_0x4414db(0x9d)](_0x39becc['qPXHL']);const _0x52def8=['plugin',_0x4414db(0x96),_0x39becc[_0x4414db(0xb2)]];_0x39becc['FxvIw'](_0x54eb7f,'project')&&_0x52def8['push']('--scope',_0x4414db(0xba));const _0x3d0ccc=await _0x39becc[_0x4414db(0x9b)](runClaudeCommand,_0x52def8,{'captureOutput':!![],'cwd':_0x39becc['FxvIw'](_0x54eb7f,_0x39becc[_0x4414db(0xbf)])?getProjectRoot():undefined}),_0x34b57e=_0x3d0ccc['output']?.['includes'](_0x4414db(0xaa));!_0x3d0ccc[_0x4414db(0xab)]&&!_0x34b57e?console[_0x4414db(0xb1)](_0x4414db(0xa4),_0x3d0ccc['error']):console[_0x4414db(0x9d)]('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}function _0x438a(){const _0x1c1b5d=['zKbEK','already\x20enabled','success','prompt','iAqVr','SKILL.md','\x20level)...\x0a','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','error','uakHY','❌\x20Failed\x20to\x20install\x20plugin:','ranger@trailhead','add','2169830qImgTh','pkZCb','user','ZeiqJ','project','4858160YfDwkL','6cFNJNf','plugin','24171eDMJgQ','zeJag','ZxdKx','ovPhy','eYDTY','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','enable','wantsSkillup','\x0aYou\x20can\x20install\x20manually\x20with:','User\x20(available\x20in\x20all\x20your\x20projects)','393588rOcjHH','hsuYX','.claude','log','SHYko','1586942Rvnpif','KUaik','8046240mIQVEY','80QGOiip','cYPAv','⚠\x20Failed\x20to\x20enable\x20plugin:','pluginScope','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','2667735FLSBIj','yJiBA'];_0x438a=function(){return _0x1c1b5d;};return _0x438a();}export async function ensureClaudeSkills(_0x314f44){const _0x96f40b=_0x4ef9,_0x68638e={'eYDTY':function(_0x521eeb,_0xe5af78){return _0x521eeb(_0xe5af78);},'SHYko':_0x96f40b(0xae),'zKbEK':function(_0x3ec969,_0x411376,_0x1d44bd,_0x47d3d4){return _0x3ec969(_0x411376,_0x1d44bd,_0x47d3d4);},'iAqVr':'ranger','YfoTM':function(_0x159236,_0x4b654c){return _0x159236||_0x4b654c;},'ZxdKx':function(_0x47aa49){return _0x47aa49();},'Pxbcx':_0x96f40b(0xba),'DISKN':'Would\x20you\x20like\x20to\x20install\x20skills?'},_0x2f9dc5=_0x68638e[_0x96f40b(0xc2)](existsSync,join(getSkillsDir('user'),'ranger',_0x68638e[_0x96f40b(0x9e)])),_0x443574=existsSync(_0x68638e[_0x96f40b(0xa9)](join,getSkillsDir('project'),_0x68638e[_0x96f40b(0xad)],_0x68638e[_0x96f40b(0x9e)]));if(_0x68638e['YfoTM'](_0x2f9dc5,_0x443574))return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x2a157d=_0x68638e[_0x96f40b(0xc2)](existsSync,join(_0x68638e[_0x96f40b(0xc0)](getProjectRoot),_0x96f40b(0x9c)));let _0x1974bc=!![];if(_0x314f44)await skillup({'autoInstall':_0x314f44,'suppressUsage':!![]});else{if(_0x2a157d)await skillup({'autoInstall':_0x68638e['Pxbcx'],'suppressUsage':!![]});else{const _0x5c87be=await _0x1e80e2['prompt']([{'type':'confirm','name':_0x96f40b(0x97),'message':_0x68638e['DISKN'],'default':!![]}]);_0x1974bc=_0x5c87be[_0x96f40b(0x97)],_0x1974bc&&await skillup({'suppressUsage':!![]});}}return _0x1974bc;}
@@ -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(_0x26c422,_0x4ce5ac){const _0x1ed318=_0x14f8,_0x4a8349=_0x26c422();while(!![]){try{const _0x363bd8=parseInt(_0x1ed318(0x1bb))/0x1*(parseInt(_0x1ed318(0x1c0))/0x2)+-parseInt(_0x1ed318(0x1b9))/0x3+-parseInt(_0x1ed318(0x1c8))/0x4+-parseInt(_0x1ed318(0x1ce))/0x5*(parseInt(_0x1ed318(0x1ca))/0x6)+-parseInt(_0x1ed318(0x1ba))/0x7*(-parseInt(_0x1ed318(0x1b5))/0x8)+-parseInt(_0x1ed318(0x1bc))/0x9*(parseInt(_0x1ed318(0x1c1))/0xa)+parseInt(_0x1ed318(0x1b2))/0xb;if(_0x363bd8===_0x4ce5ac)break;else _0x4a8349['push'](_0x4a8349['shift']());}catch(_0x5360d7){_0x4a8349['push'](_0x4a8349['shift']());}}}(_0x3d4c,0x2e37b));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x39a1b9 from'inquirer';function _0x3d4c(){const _0x212571=['Where\x20should\x20the\x20plugin\x20be\x20installed?','✓\x20OpenCode\x20plugin\x20already\x20configured','@ranger-testing/opencode-plugin','Failed\x20to\x20read\x20opencode.json','1345008PfFOBv','utf-8','75954pNEOkj','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','isArray','log','55PZUMBT','emLKI','\x0a📦\x20OpenCode\x20Plugin\x0a','opencode.json','project','4952035NFxHbp','error','Project\x20(shared\x20with\x20team\x20via\x20git)','1014776pTbAkg','smGKL','User\x20(available\x20in\x20all\x20your\x20projects)','plugin','350844OnbmZr','14LmaWLE','6MpWvNb','81eQBpmH','user','pluginScope','$schema','92772OoaIES','222710EWyBnA','iJwcV','GbNkc'];_0x3d4c=function(){return _0x212571;};return _0x3d4c();}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x14f8(_0xa9f61a,_0xfab8c2){_0xa9f61a=_0xa9f61a-0x1b2;const _0x3d4c37=_0x3d4c();let _0x14f87c=_0x3d4c37[_0xa9f61a];return _0x14f87c;}export async function ensureOpencodePluginConfig(_0xa6b576){const _0x22fdea=_0x14f8,_0x1c8d78={'iJwcV':function(_0x1a4675,_0x4aafbf){return _0x1a4675(_0x4aafbf);},'mXlxQ':function(_0x749518,_0x41df3b,_0x315f20){return _0x749518(_0x41df3b,_0x315f20);},'emLKI':_0x22fdea(0x1d2),'ZJghX':'pluginScope','SUmyg':_0x22fdea(0x1b7),'smGKL':_0x22fdea(0x1b4),'hTbpp':_0x22fdea(0x1bd),'zuHMY':function(_0x4f4987,_0x441ee7,_0x1694cf){return _0x4f4987(_0x441ee7,_0x1694cf);},'GbNkc':_0x22fdea(0x1c6),'ISavf':'https://opencode.ai/config.json','hIDiX':function(_0x1302f9,_0x1e0007){return _0x1302f9(_0x1e0007);},'SZhqK':_0x22fdea(0x1cb),'pIxiO':_0x22fdea(0x1c7),'ZHItg':function(_0x2ff45a,_0x356189){return _0x2ff45a(_0x356189);},'PWkdc':function(_0x3773a9,_0x27943c,_0x5261a0){return _0x3773a9(_0x27943c,_0x5261a0);},'JWBRg':function(_0x37b291,_0x4f3736){return _0x37b291+_0x4f3736;},'XQgvv':'✓\x20OpenCode\x20plugin\x20configured'},_0x40d443=_0x1c8d78['iJwcV'](existsSync,_0x1c8d78['mXlxQ'](join,_0x1c8d78[_0x22fdea(0x1c2)](getOpencodeConfigDir,_0x22fdea(0x1d2)),_0x22fdea(0x1d1)));let _0x535386;if(_0xa6b576)_0x535386=_0xa6b576;else{if(_0x40d443)_0x535386=_0x1c8d78['emLKI'];else{console[_0x22fdea(0x1cd)](_0x22fdea(0x1d0));const _0x153229=await _0x39a1b9['prompt']([{'type':'list','name':_0x1c8d78['ZJghX'],'message':_0x22fdea(0x1c4),'choices':[{'name':_0x1c8d78['SUmyg'],'value':_0x22fdea(0x1bd)},{'name':_0x1c8d78[_0x22fdea(0x1b6)],'value':_0x1c8d78[_0x22fdea(0x1cf)]}],'default':_0x1c8d78['hTbpp']}]);_0x535386=_0x153229[_0x22fdea(0x1be)];}}const _0x285352=_0x1c8d78['zuHMY'](join,getOpencodeConfigDir(_0x535386),'opencode.json'),_0x1b3a64=_0x1c8d78[_0x22fdea(0x1c3)],_0x43e49e=_0x1c8d78['ISavf'];let _0x1321ec={};if(_0x1c8d78['hIDiX'](existsSync,_0x285352))try{const _0x5af98d=await _0x1c8d78['zuHMY'](readFile,_0x285352,_0x22fdea(0x1c9));_0x1321ec=JSON['parse'](_0x5af98d);}catch(_0x251f1e){return console[_0x22fdea(0x1b3)](_0x1c8d78['SZhqK']),{'configured':![],'scope':_0x535386,'error':_0x1c8d78['pIxiO'],'details':_0x251f1e};}const _0x29cdae=Array[_0x22fdea(0x1cc)](_0x1321ec['plugin'])?_0x1321ec['plugin']:[];if(_0x29cdae['includes'](_0x1b3a64))return console[_0x22fdea(0x1cd)](_0x22fdea(0x1c5)),{'configured':![],'scope':_0x535386};return _0x1321ec['$schema']=_0x1321ec[_0x22fdea(0x1bf)]||_0x43e49e,_0x1321ec[_0x22fdea(0x1b8)]=[..._0x29cdae,_0x1b3a64],await _0x1c8d78['mXlxQ'](mkdir,_0x1c8d78['ZHItg'](getOpencodeConfigDir,_0x535386),{'recursive':!![]}),await _0x1c8d78['PWkdc'](writeFile,_0x285352,_0x1c8d78['JWBRg'](JSON['stringify'](_0x1321ec,null,0x2),'\x0a')),console[_0x22fdea(0x1cd)](_0x1c8d78['XQgvv']),{'configured':!![],'scope':_0x535386};}
@@ -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 _0x5f04(_0x16ea50,_0x1e0c9c){_0x16ea50=_0x16ea50-0xec;var _0x36281c=_0x3628();var _0x5f040a=_0x36281c[_0x16ea50];return _0x5f040a;}function _0x3628(){var _0x47ae9f=['10pjqGoU','30hsCftT','3677RKGZZg','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','233268fRwtsQ','\x20\x20https://docs.ranger.net/main/concepts/profiles','exit','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','315KdVWxC','56EmXjgx','21948zXYTpV','1548767SLkJDT','error','9yKIDSR','891272VjzBEl','387726gTgquh','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','drfgQ','11100888ErRAAG'];_0x3628=function(){return _0x47ae9f;};return _0x3628();}(function(_0x34f259,_0x30cda6){var _0x3f6fef=_0x5f04,_0x4c626c=_0x34f259();while(!![]){try{var _0x1ecd48=-parseInt(_0x3f6fef(0xf6))/0x1*(parseInt(_0x3f6fef(0xfd))/0x2)+parseInt(_0x3f6fef(0xf0))/0x3+parseInt(_0x3f6fef(0xfe))/0x4*(-parseInt(_0x3f6fef(0xfc))/0x5)+parseInt(_0x3f6fef(0xf5))/0x6*(-parseInt(_0x3f6fef(0xf8))/0x7)+-parseInt(_0x3f6fef(0xef))/0x8*(parseInt(_0x3f6fef(0xee))/0x9)+parseInt(_0x3f6fef(0xf4))/0xa*(-parseInt(_0x3f6fef(0xec))/0xb)+parseInt(_0x3f6fef(0xf3))/0xc;if(_0x1ecd48===_0x30cda6)break;else _0x4c626c['push'](_0x4c626c['shift']());}catch(_0x54d132){_0x4c626c['push'](_0x4c626c['shift']());}}}(_0x3628,0x2d9e5));export async function setupCi(_0x538b8c,_0x22c747,_0x4d19ef){var _0x588953=_0x5f04,_0x5b46fd={'RLpih':function(_0x435995,_0x2f185c){return _0x435995+_0x2f185c;},'iPzgQ':function(_0x501556,_0x2bc8c4){return _0x501556+_0x2bc8c4;},'HNqdM':_0x588953(0xfb),'obLqP':_0x588953(0xf7),'drfgQ':_0x588953(0xf1),'PLRaH':_0x588953(0xf9)};console[_0x588953(0xed)](_0x5b46fd['RLpih'](_0x5b46fd['RLpih'](_0x5b46fd['iPzgQ'](_0x5b46fd['HNqdM']+'\x0a'+_0x5b46fd['obLqP'],'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'),'\x0a'),_0x5b46fd[_0x588953(0xf2)])+_0x5b46fd['PLRaH']),process[_0x588953(0xfa)](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 _0x5cbc(_0x4fcd4c,_0x2480dd){_0x4fcd4c=_0x4fcd4c-0x174;const _0x673c52=_0x673c();let _0x5cbcc8=_0x673c52[_0x4fcd4c];return _0x5cbcc8;}(function(_0x4d5687,_0x19cc4a){const _0xb1d5cf=_0x5cbc,_0x258640=_0x4d5687();while(!![]){try{const _0x199dcf=-parseInt(_0xb1d5cf(0x17d))/0x1+-parseInt(_0xb1d5cf(0x186))/0x2*(-parseInt(_0xb1d5cf(0x182))/0x3)+-parseInt(_0xb1d5cf(0x17c))/0x4+-parseInt(_0xb1d5cf(0x195))/0x5*(parseInt(_0xb1d5cf(0x185))/0x6)+-parseInt(_0xb1d5cf(0x192))/0x7*(-parseInt(_0xb1d5cf(0x17e))/0x8)+parseInt(_0xb1d5cf(0x194))/0x9*(parseInt(_0xb1d5cf(0x19f))/0xa)+-parseInt(_0xb1d5cf(0x183))/0xb;if(_0x199dcf===_0x19cc4a)break;else _0x258640['push'](_0x258640['shift']());}catch(_0x4a15ee){_0x258640['push'](_0x258640['shift']());}}}(_0x673c,0xe8a8e));import{basename}from'path';import _0x52e767 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';function _0x673c(){const _0x114e55=['HMQzt','2837552SogdFh','659349tbTYyU','8sYLeAh','project-level','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','opencode','6681WyoxLT','4017057qyadtG','DkbaL','6JRwZWr','1566ZpdXMR','KxkLr','All\x20projects\x20(','suppressUsage','claude','/.claude/skills/','log','stdout','prompt','rKAbC','Where\x20should\x20skills\x20be\x20installed?','isTTY','13186145SwSANL','Vbnbi','144CToaXr','5818650TWiGAV','installLevel','This\x20project\x20only\x20(','platform','autoInstall','tvzIM','\x20skill','DBBgP','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','wgiXk','139470nZQzua','DRzkc','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','GoFiQ','olmZd','project','\x0a📦\x20Installing\x20skills...\x0a','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','\x20--opencode','VsdPt','message'];_0x673c=function(){return _0x114e55;};return _0x673c();}export async function skillup(_0x156b77={}){const _0x13f105=_0x5cbc,_0x258f06={'DRzkc':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','szrza':_0x13f105(0x18a),'kznnY':function(_0x2775c7){return _0x2775c7();},'wgiXk':_0x13f105(0x180),'GoFiQ':'To\x20get\x20started:','prSRP':_0x13f105(0x19d),'KxkLr':_0x13f105(0x178),'tvzIM':function(_0x503a49,_0x21da8a){return _0x503a49===_0x21da8a;},'olmZd':'user','wqRVZ':function(_0x164ec7){return _0x164ec7();},'Vbnbi':function(_0x5cb71a,_0x8d7448){return _0x5cb71a===_0x8d7448;},'DkbaL':_0x13f105(0x181),'rKAbC':_0x13f105(0x175),'VsdPt':_0x13f105(0x176),'DBBgP':function(_0x2fc7a7,_0x11dd0d,_0x52efd8){return _0x2fc7a7(_0x11dd0d,_0x52efd8);},'qSZtu':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','TJKSU':'user-level','cMmyq':function(_0x2c1702,_0x42b717){return _0x2c1702>_0x42b717;},'HMQzt':'To\x20use:','iTzAh':_0x13f105(0x1a1)};console['log'](_0x258f06[_0x13f105(0x1a0)]);const _0x3e7229=_0x156b77[_0x13f105(0x198)]??_0x258f06['szrza'],_0x50d0ab=await _0x258f06['kznnY'](getToken);if(!_0x50d0ab){console[_0x13f105(0x18c)](_0x258f06[_0x13f105(0x19e)]),console['log'](_0x258f06[_0x13f105(0x1a2)]),console['log'](_0x258f06['prSRP']),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x3e7229===_0x13f105(0x181)?_0x258f06[_0x13f105(0x187)]:'')+'\x20<your-api-token>'),console[_0x13f105(0x18c)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x258f06[_0x13f105(0x19a)](_0x3e7229,'opencode')?'\x20--opencode':'')+'\x0a');return;}console[_0x13f105(0x18c)]('✓\x20Found\x20API\x20token');const _0x41811e=getProjectRoot(),_0x29110b=basename(_0x41811e),_0x20be1f=_0x258f06['tvzIM'](_0x3e7229,_0x13f105(0x181))?getOpencodeConfigDir(_0x258f06[_0x13f105(0x174)])+'/skills/':_0x258f06['wqRVZ'](getClaudeConfigDir)+'/skills/',_0x5bd515=_0x258f06[_0x13f105(0x193)](_0x3e7229,_0x258f06[_0x13f105(0x184)])?_0x41811e+'/.opencode/skills/':_0x41811e+_0x13f105(0x18b),_0x3f3069=process['stdin']['isTTY']&&process[_0x13f105(0x18d)][_0x13f105(0x191)];let _0x10452e;if(_0x156b77[_0x13f105(0x199)])_0x10452e=_0x156b77['autoInstall'];else{if(_0x3f3069){const _0x4ffb2f=await _0x52e767[_0x13f105(0x18e)]([{'type':'list','name':_0x13f105(0x196),'message':_0x13f105(0x190),'choices':[{'name':_0x13f105(0x188)+_0x20be1f+')','value':'user'},{'name':_0x13f105(0x197)+_0x5bd515+')','value':'project'}]}]);_0x10452e=_0x4ffb2f[_0x13f105(0x196)];}else _0x10452e=_0x258f06[_0x13f105(0x18f)],console[_0x13f105(0x18c)](_0x13f105(0x177)+_0x5bd515+')');}let _0x847121=0x0;const _0x48b338=getCurrentVersion();console['log'](_0x258f06[_0x13f105(0x179)]);try{const _0x2a5b6e=await _0x258f06[_0x13f105(0x19c)](installSkill,'ranger',{'cliVersion':_0x48b338,'level':_0x10452e,'platform':_0x3e7229});_0x2a5b6e&&_0x847121++;}catch(_0x1e617f){console['warn'](_0x258f06['qSZtu'],_0x1e617f instanceof Error?_0x1e617f[_0x13f105(0x17a)]:_0x1e617f);}if(_0x847121>0x0){const _0x4e6beb=_0x10452e==='user'?_0x258f06['TJKSU']:_0x13f105(0x17f);console['log']('\x0a✅\x20Installed\x20'+_0x847121+'\x20'+_0x4e6beb+_0x13f105(0x19b)+(_0x258f06['cMmyq'](_0x847121,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x156b77[_0x13f105(0x189)]&&(console['log'](_0x258f06[_0x13f105(0x17b)]),_0x3e7229===_0x13f105(0x181)?console[_0x13f105(0x18c)]('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console[_0x13f105(0x18c)]('\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[_0x13f105(0x18c)](_0x258f06['iTzAh']);}
@@ -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
+ function _0x54e6(_0x336c00,_0x14263d){_0x336c00=_0x336c00-0x98;const _0x49ce52=_0x49ce();let _0x54e618=_0x49ce52[_0x336c00];return _0x54e618;}const _0xa80dda=_0x54e6;(function(_0x376a71,_0x4d385a){const _0x235634=_0x54e6,_0xe0f615=_0x376a71();while(!![]){try{const _0x24bb0a=-parseInt(_0x235634(0x108))/0x1*(parseInt(_0x235634(0xd9))/0x2)+parseInt(_0x235634(0xc0))/0x3*(-parseInt(_0x235634(0xa4))/0x4)+parseInt(_0x235634(0x106))/0x5*(-parseInt(_0x235634(0xd7))/0x6)+-parseInt(_0x235634(0xce))/0x7*(-parseInt(_0x235634(0xba))/0x8)+parseInt(_0x235634(0xdc))/0x9*(-parseInt(_0x235634(0xa0))/0xa)+parseInt(_0x235634(0x102))/0xb+-parseInt(_0x235634(0xab))/0xc*(-parseInt(_0x235634(0xea))/0xd);if(_0x24bb0a===_0x4d385a)break;else _0xe0f615['push'](_0xe0f615['shift']());}catch(_0x169c8c){_0xe0f615['push'](_0xe0f615['shift']());}}}(_0x49ce,0xf40b8));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x496113 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x4e655c=>'\x1b[1m'+_0x4e655c+_0xa80dda(0x9e);export function getPlaywrightVersion(){const _0x687837=_0xa80dda,_0x28ae22={'IJmNU':function(_0x2e90a2,_0x600c0e){return _0x2e90a2(_0x600c0e);}};try{const _0x2387a5=require[_0x687837(0xc8)](_0x687837(0xc3)),_0x2a4683=_0x28ae22[_0x687837(0xb3)](require,_0x2387a5);return _0x2a4683['version'];}catch{return null;}}function _0x49ce(){const _0x2c4027=['skipAuth','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','ranger\x20setup\x20--scope=','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','jWzQU','IJmNU','EwFet','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','✓\x20Local\x20profile\x20already\x20exists','ready','\x0a🚀\x20Ranger\x20Setup\x0a','plugin','24ATeHTo','status','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','iYXpD','scope','\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','5568ImCKLv','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','install','playwright/package.json','success','url','force','The\x20required\x20version\x20(','resolve','DLKJz','ZFScO','win32','log','tWpSs','4073447aehAVV','HOxVv','dpyli','TpCCW','piDiJ','Validating\x20API\x20token...','message','NzVDN','RBlHl','586452PWpuQl','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','8JdLwQS','\x0a⚠\x20Skipping\x20Chromium\x20installation.','PRITU','207TMCmer','trackPhaseStart','method','fRajL','skills','local','existing_token','stdout','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','oUKjE','device_auth','trackPhaseEnd','RbuiN','inherit','13bnqxtU','WxeJx',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','eaQsa','oWtul','iCzxo','\x0a\x20\x20','skipChromium','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','✓\x20Stored\x20credentials\x20locally','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','error','HfcTr','hVHCY','user','ToOkW','oLBrM','Installation\x20failed\x20with\x20exit\x20code\x20','velCx','--with-deps','pisLN','✓\x20Playwright\x20Chromium\x20browser\x20found','yjgnT','stdin','12177099nXuFrQ','Authentication\x20failed:\x20','platform','KIikp','100hrRMZY','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','187123hbSWSt','rXMMZ','✓\x20Authenticated\x20to\x20','isTTY','profile','organizationName','npx','IJfcc','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x1b[0m','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','854190WcQsKE','amwNX','env','.gitignore','2448IVvfaV','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','chromium','✓\x20Created\x20.ranger/.gitignore','/ranger:enable','warn','47408124PAakvQ'];_0x49ce=function(){return _0x2c4027;};return _0x49ce();}export function installChromiumBinary(_0x53ed52,_0x22b137=![]){const _0x83858=_0xa80dda,_0x376a79={'aQYOr':function(_0x4d84b4){return _0x4d84b4();},'HPNmZ':_0x83858(0xfd),'zuBAe':_0x83858(0xa7),'VrWoe':function(_0x11c6a8,_0x1c638e,_0x20b0ae,_0x26cc0a){return _0x11c6a8(_0x1c638e,_0x20b0ae,_0x26cc0a);},'tqfNK':_0x83858(0x9b),'XGfoI':_0x83858(0xe9),'tWpSs':'close','RbuiN':_0x83858(0xf5)};return new Promise((_0x3b6850,_0x446ce1)=>{const _0x1472c8=_0x83858,_0x5f301c={'RBlHl':function(_0x21e250,_0xd230f3){return _0x21e250(_0xd230f3);}},_0x2757ba=['playwright@'+_0x53ed52,'install',..._0x22b137?[_0x376a79['HPNmZ']]:[],_0x376a79['zuBAe']],_0x4ddb38=_0x376a79['VrWoe'](spawn,_0x376a79['tqfNK'],_0x2757ba,{'stdio':['ignore',_0x1472c8(0xe9),_0x376a79['XGfoI']],'shell':process[_0x1472c8(0x104)]===_0x1472c8(0xcb)});_0x4ddb38['on'](_0x376a79[_0x1472c8(0xcd)],_0x1b7738=>{const _0xadf53a=_0x1472c8;_0x1b7738===0x0?_0x376a79['aQYOr'](_0x3b6850):_0x446ce1(new Error(_0xadf53a(0xfb)+_0x1b7738));}),_0x4ddb38['on'](_0x376a79[_0x1472c8(0xe8)],_0x1ff0ab=>{const _0x48d702=_0x1472c8;_0x5f301c[_0x48d702(0xd6)](_0x446ce1,_0x1ff0ab);});});}export async function authenticate(_0x2c85aa){const _0x21c272=_0xa80dda,_0xaccc36={'eaQsa':function(_0xa781e2){return _0xa781e2();},'UpMOQ':function(_0x529ad0,_0x315fd2){return _0x529ad0(_0x315fd2);},'egEMT':_0x21c272(0xe2),'oUKjE':function(_0x5c6d63){return _0x5c6d63();},'HfcTr':function(_0x2131a2,_0xdb9b33){return _0x2131a2(_0xdb9b33);},'pisLN':_0x21c272(0xe6),'yVdfB':_0x21c272(0xd3),'dpyli':_0x21c272(0xf3)};if(!_0x2c85aa){const _0x117133=await _0xaccc36[_0x21c272(0xed)](getToken);if(_0x117133){const _0xc5f119=await _0xaccc36['UpMOQ'](getCurrentUser,_0x117133);if(_0xc5f119[_0x21c272(0xc4)])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0xc5f119['user'][_0x21c272(0x9a)]),{'token':_0x117133,'method':_0xaccc36['egEMT']};}try{_0x2c85aa=await _0xaccc36[_0x21c272(0xe5)](runDeviceAuthFlow);}catch(_0x1503d8){throw new Error('Authentication\x20failed:\x20'+(_0x1503d8 instanceof Error?_0x1503d8[_0x21c272(0xd4)]:_0x1503d8));}const _0x2a8b37=await _0xaccc36[_0x21c272(0xf6)](getCurrentUser,_0x2c85aa);if(!_0x2a8b37[_0x21c272(0xc4)])throw new Error(_0x21c272(0xf4)+_0x2a8b37['error']);return console[_0x21c272(0xcc)](_0x21c272(0x10a)+_0x2a8b37[_0x21c272(0xf8)][_0x21c272(0x9a)]),{'token':_0x2c85aa,'method':_0xaccc36[_0x21c272(0xfe)]};}console['log'](_0xaccc36['yVdfB']);const _0x1dc335=await _0xaccc36[_0x21c272(0xf6)](getCurrentUser,_0x2c85aa);if(!_0x1dc335[_0x21c272(0xc4)]){if(_0x1dc335[_0x21c272(0xbb)])throw new Error(_0x21c272(0x103)+_0x1dc335['error']+_0x21c272(0x9f));else throw new Error(_0x21c272(0xb5)+_0x1dc335['error']+_0x21c272(0xbc));}return console['log']('✓\x20Authenticated\x20to\x20'+_0x1dc335['user']['organizationName']),await storeToken(_0x2c85aa),console['log'](process[_0x21c272(0xa2)]['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':_0xaccc36[_0x21c272(0xd0)]),{'token':_0x2c85aa,'method':'provided_token'};}export async function ensureRangerDir(_0x32473d){const _0x5528f8=_0xa80dda,_0x388422={'oLBrM':function(_0x1ea069){return _0x1ea069();},'KIikp':function(_0x4fa9a2,_0x57af08,_0xb99ebd){return _0x4fa9a2(_0x57af08,_0xb99ebd);},'AHKGU':'✓\x20Created\x20~/.ranger/\x20directory','obNFK':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x32473d;const _0x3233e3=_0x388422[_0x5528f8(0xfa)](getRangerHomeDir);return!existsSync(_0x3233e3)?(await _0x388422[_0x5528f8(0x105)](mkdir,_0x3233e3,{'recursive':!![]}),console[_0x5528f8(0xcc)](_0x388422['AHKGU']),{'path':_0x3233e3,'installed':!![]}):(console['log'](_0x388422['obNFK']),{'path':_0x3233e3,'installed':![]});}export async function ensureChromium(_0x3f7b92=![]){const _0x51553f=_0xa80dda,_0x2b3fe1={'rXMMZ':_0x51553f(0xff),'fuJRT':function(_0x16bbb0){return _0x16bbb0();},'fRajL':function(_0x5cf5c2,_0x23f287){return _0x5cf5c2??_0x23f287;},'zuqjn':_0x51553f(0xc2),'ToOkW':'\x0aInstalling\x20Chromium\x20browser...\x0a','piDiJ':function(_0x44935f,_0x150610,_0x496346){return _0x44935f(_0x150610,_0x496346);},'EwFet':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','gvSyU':_0x51553f(0xf2),'KMXsc':function(_0x33d565,_0x15440d){return _0x33d565 instanceof _0x15440d;},'xpkfp':_0x51553f(0xaf),'LJuhd':_0x51553f(0xda),'ZgySX':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x5b4806=![];try{const _0x4cce37=chromium['executablePath']();_0x5b4806=existsSync(_0x4cce37);}catch{_0x5b4806=![];}if(_0x5b4806)return console['log'](_0x2b3fe1[_0x51553f(0x109)]),![];const _0x1423c2=_0x2b3fe1['fuJRT'](getPlaywrightVersion),_0x507178=_0x2b3fe1[_0x51553f(0xdf)](_0x1423c2,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x47b61f=!_0x1423c2,_0x1644ea=process[_0x51553f(0x101)]['isTTY']&&process[_0x51553f(0xe3)][_0x51553f(0x98)];let _0x516357=!![];if(_0x1644ea){const {install:_0x4e9842}=await _0x496113['prompt']([{'type':'confirm','name':_0x2b3fe1['zuqjn'],'message':_0x47b61f?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x507178+'\x20now?':_0x51553f(0xc7)+_0x507178+_0x51553f(0xec),'default':!![]}]);_0x516357=_0x4e9842;}else console[_0x51553f(0xcc)](_0x51553f(0xe4)+_0x507178+(_0x47b61f?'\x20(fallback\x20version)':'')+'...');if(_0x516357){console['log'](_0x2b3fe1[_0x51553f(0xf9)]);try{await _0x2b3fe1[_0x51553f(0xd2)](installChromiumBinary,_0x507178,_0x3f7b92),console['log'](_0x2b3fe1[_0x51553f(0xb4)]);}catch(_0x5eb998){console[_0x51553f(0xf5)](_0x2b3fe1['gvSyU'],_0x2b3fe1['KMXsc'](_0x5eb998,Error)?_0x5eb998['message']:_0x5eb998),console['log'](_0x2b3fe1['xpkfp']),console[_0x51553f(0xcc)]('\x20\x20npx\x20playwright@'+_0x507178+'\x20install\x20chromium');}}else console[_0x51553f(0xcc)](_0x2b3fe1['LJuhd']),console['log'](_0x2b3fe1['ZgySX']),console[_0x51553f(0xcc)]('\x20\x20npx\x20playwright@'+_0x507178+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x198a80){const _0x11485c=_0xa80dda,_0x4a852b={'isVZj':function(_0x9b46c6,_0x2d1f8b,_0x2e9def){return _0x9b46c6(_0x2d1f8b,_0x2e9def);}},_0x1856fc=join(_0x198a80,_0x11485c(0xa3)),_0x4548b8=_0x11485c(0xbf);await _0x4a852b['isVZj'](writeFile,_0x1856fc,_0x4548b8),console[_0x11485c(0xcc)](_0x11485c(0xa8));}export async function ensureLocalEnv(_0x56b042,_0x3f01e4){const _0x464d50=_0xa80dda,_0x4bf00d={'WxeJx':function(_0x46c2f6){return _0x46c2f6();},'YPjpW':_0x464d50(0xb1),'zPnGq':function(_0x2af483,_0x3e73db){return _0x2af483===_0x3e73db;},'IJfcc':_0x464d50(0xf8),'ZFScO':_0x464d50(0xe1),'jWzQU':function(_0x1e3091,_0x13d994,_0x4f5e97,_0x441870){return _0x1e3091(_0x13d994,_0x4f5e97,_0x441870);},'xmxPj':function(_0xbeece9,_0x186308){return _0xbeece9 instanceof _0x186308;}};if(!_0x4bf00d[_0x464d50(0xeb)](findGitRoot)&&_0x56b042?.[_0x464d50(0xbe)]!=='user')return console['log'](_0x4bf00d['YPjpW']),{'ready':![],'skipped':!![]};const _0x43b19a=_0x4bf00d['zPnGq'](_0x56b042?.['scope'],_0x4bf00d[_0x464d50(0x9c)])?_0x4bf00d['WxeJx'](getRangerHomeDir):undefined;if(findExistingEnv(_0x4bf00d['ZFScO'],{'locations':[_0x4bf00d[_0x464d50(0xca)]],'rangerDir':_0x43b19a}))return console[_0x464d50(0xcc)](_0x464d50(0xb6)),{'ready':!![],'skipped':![]};try{return await _0x4bf00d[_0x464d50(0xb2)](addEnv,_0x4bf00d['ZFScO'],{'url':_0x56b042?.['url'],'force':_0x56b042?.[_0x464d50(0xc6)],'allowInsecureLocalhost':_0x56b042?.['allowInsecureLocalhost'],'scope':_0x56b042?.['scope']},_0x3f01e4),{'ready':!![],'skipped':![]};}catch(_0x4e4d3a){return console[_0x464d50(0xf5)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x4bf00d['xmxPj'](_0x4e4d3a,Error)?_0x4e4d3a[_0x464d50(0xd4)]:_0x4e4d3a),{'ready':![],'skipped':![]};}}export async function start(_0x2756db,_0x48fcdd,_0xceb5a){const _0x871016=_0xa80dda,_0x4bfcec={'iCzxo':_0x871016(0xb8),'nBwht':function(_0xafe3fe,_0x45048d){return _0xafe3fe!==_0x45048d;},'hUXsy':function(_0x1b1085,_0x457a06){return _0x1b1085!==_0x457a06;},'yjgnT':function(_0x2637b1,_0x37c0b5){return _0x2637b1+_0x37c0b5;},'PRITU':'user','hVHCY':function(_0x5a020e,_0x3b5849){return _0x5a020e(_0x3b5849);},'XACyA':'skipped','urqwb':'auth','jLNJt':function(_0x1e7eb5,_0x379184){return _0x1e7eb5(_0x379184);},'TtVSy':_0x871016(0xc1),'iYXpD':'plugin','WgMqY':function(_0x26626e,_0x57e3cc){return _0x26626e(_0x57e3cc);},'TpCCW':function(_0x2d1be3,_0x5705d9){return _0x2d1be3(_0x5705d9);},'DLKJz':'ranger','HOxVv':'opencode','NzVDN':_0x871016(0xe0),'velCx':function(_0x26a731,_0x2e732b){return _0x26a731(_0x2e732b);},'oWtul':_0x871016(0x99),'ZUAkz':function(_0x5357ad,_0x3abfc9,_0x19b1ac){return _0x5357ad(_0x3abfc9,_0x19b1ac);},'amwNX':function(_0x28e962,_0x5bf505){return _0x28e962+_0x5bf505;},'TTmnE':function(_0x2553f5,_0x585ca9){return _0x2553f5(_0x585ca9);},'bnXdH':'ranger\x20profile\x20add\x20<name>','tQBAy':_0x871016(0xd8),'kYHbH':function(_0x20b341,_0x396c95){return _0x20b341(_0x396c95);},'hFKoT':_0x871016(0xa9)};console['log'](_0x4bfcec[_0x871016(0xef)]);_0x4bfcec['nBwht'](_0x48fcdd?.['scope'],undefined)&&_0x4bfcec['hUXsy'](_0x48fcdd['scope'],'user')&&(console['error'](_0x4bfcec[_0x871016(0x100)](_0x871016(0xae)+String(_0x48fcdd['scope'])+'\x20is\x20no\x20longer\x20supported.\x20'+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.')),process['exit'](0x1));_0x48fcdd={..._0x48fcdd,'scope':_0x4bfcec[_0x871016(0xdb)]};const _0x2d04b1=!existsSync(getRangerHomeDir());await _0x4bfcec[_0x871016(0xf7)](ensureRangerDir,_0x871016(0xf8));if(_0x48fcdd?.['skipAuth'])console['log']('✓\x20Skipping\x20authentication\x20(--skip-auth)'),_0xceb5a?.['trackPhaseEnd']('auth',{'isFirstRun':_0x2d04b1,'method':_0x4bfcec['XACyA']});else{_0xceb5a?.['trackPhaseStart']('auth');const _0x37a7eb=await _0x4bfcec['hVHCY'](authenticate,_0x2756db);_0xceb5a?.['trackPhaseEnd'](_0x4bfcec['urqwb'],{'isFirstRun':_0x2d04b1,'method':_0x37a7eb[_0x871016(0xde)]});}_0xceb5a?.['trackPhaseStart']('chromium');_0x48fcdd?.['skipChromium']?console['log'](_0x871016(0xa5)):await _0x4bfcec['jLNJt'](ensureChromium,_0x48fcdd?.['withDeps']);_0xceb5a?.[_0x871016(0xe7)]('chromium',{'isFirstRun':_0x2d04b1,'skipped':!!_0x48fcdd?.[_0x871016(0xf1)]}),console['log'](_0x4bfcec['TtVSy']);const _0x1d3a68=_0x48fcdd?.[_0x871016(0xbe)],_0x20b4cf=_0x48fcdd?.['opencode']??![];let _0xc5c36b=null;_0x20b4cf?(_0xceb5a?.['trackPhaseStart'](_0x4bfcec[_0x871016(0xbd)]),_0xc5c36b=await _0x4bfcec['WgMqY'](ensureOpencodePluginConfig,_0x1d3a68),_0xceb5a?.['trackPhaseEnd'](_0x4bfcec[_0x871016(0xbd)],{'isFirstRun':_0x2d04b1,'opencode':!![]})):(_0xceb5a?.['trackPhaseStart'](_0x4bfcec[_0x871016(0xbd)]),await _0x4bfcec[_0x871016(0xd1)](ensureClaudePlugin,_0x1d3a68),_0xceb5a?.['trackPhaseEnd'](_0x871016(0xb9),{'isFirstRun':_0x2d04b1}));if(_0x20b4cf&&_0xc5c36b){_0xceb5a?.['trackPhaseStart'](_0x871016(0xe0));try{await installSkill(_0x4bfcec[_0x871016(0xc9)],{'level':_0xc5c36b['scope'],'cliVersion':getCurrentVersion(),'platform':_0x4bfcec[_0x871016(0xcf)]}),_0xceb5a?.[_0x871016(0xe7)](_0x4bfcec['NzVDN'],{'isFirstRun':_0x2d04b1,'opencode':!![]});}catch(_0x4c3d29){console[_0x871016(0xaa)]('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x4c3d29 instanceof Error?_0x4c3d29['message']:_0x4c3d29),_0xceb5a?.[_0x871016(0xe7)](_0x4bfcec[_0x871016(0xd5)],{'isFirstRun':_0x2d04b1,'opencode':!![],'failed':!![]});}}else _0xceb5a?.['trackPhaseStart'](_0x4bfcec['NzVDN']),await _0x4bfcec[_0x871016(0xfc)](ensureClaudeSkills,_0x1d3a68),_0xceb5a?.['trackPhaseEnd'](_0x4bfcec['NzVDN'],{'isFirstRun':_0x2d04b1});if(_0x48fcdd?.[_0x871016(0xac)])console['log'](_0x871016(0x107));else{if(_0x48fcdd?.[_0x871016(0xc5)]){_0xceb5a?.[_0x871016(0xdd)](_0x4bfcec[_0x871016(0xee)]);const _0x13624b=await _0x4bfcec['ZUAkz'](ensureLocalEnv,{'url':_0x48fcdd['url'],'force':_0x48fcdd?.[_0x871016(0xc6)],'allowInsecureLocalhost':_0x48fcdd?.['allowInsecureLocalhost'],'scope':_0x871016(0xf8)},_0xceb5a);_0xceb5a?.['trackPhaseEnd']('profile',{'isFirstRun':_0x2d04b1,'profileReady':_0x13624b[_0x871016(0xb7)],'userSkipped':_0x13624b['skipped']});}else console[_0x871016(0xcc)](_0x4bfcec[_0x871016(0xa1)](_0x4bfcec['yjgnT'](_0x871016(0xad)+(_0x871016(0xf0)+_0x4bfcec['TTmnE'](bold,_0x4bfcec['bnXdH'])),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'),_0x871016(0xa6))+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0x20b4cf)console['log'](_0x4bfcec['tQBAy']),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x40eacb=_0x4bfcec['kYHbH'](bold,_0x4bfcec['hFKoT']);console['log']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x40eacb+'\x20and\x20prompt\x20the\x20coding'+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'+_0x871016(0x9d)+_0x871016(0xb0));}}
@@ -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 _0x366f(_0x3f9aa0,_0x1334f1){_0x3f9aa0=_0x3f9aa0-0x12d;const _0x4cd1bb=_0x4cd1();let _0x366f86=_0x4cd1bb[_0x3f9aa0];return _0x366f86;}const _0x5280e3=_0x366f;(function(_0x56821f,_0x2aab18){const _0x549ae4=_0x366f,_0x1e7224=_0x56821f();while(!![]){try{const _0x570884=parseInt(_0x549ae4(0x134))/0x1+-parseInt(_0x549ae4(0x16e))/0x2*(parseInt(_0x549ae4(0x156))/0x3)+-parseInt(_0x549ae4(0x168))/0x4+-parseInt(_0x549ae4(0x157))/0x5+-parseInt(_0x549ae4(0x170))/0x6*(parseInt(_0x549ae4(0x140))/0x7)+-parseInt(_0x549ae4(0x171))/0x8*(-parseInt(_0x549ae4(0x194))/0x9)+parseInt(_0x549ae4(0x144))/0xa;if(_0x570884===_0x2aab18)break;else _0x1e7224['push'](_0x1e7224['shift']());}catch(_0x616753){_0x1e7224['push'](_0x1e7224['shift']());}}}(_0x4cd1,0x82dc8));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';function _0x4cd1(){const _0x25ba0c=['TEmzb','zaPFm','NEfBb','oFfrr','txrPF','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','\x20plugin(s)\x20configured','auth.json.enc','\x20\x20Project-level:','Version:\x20','displayName','UpZKA','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x0a\x20\x20No\x20active\x20profile\x20set','filter','ranger@trailhead','1395vjCfCh','Dqvdi','\x0a---\x20Profiles\x20---','@ranger-testing/opencode-plugin','has','\x1b[0m','disabled','\x20\x20Not\x20configured','stderr','close','jnDBa','user','\x20\x20\x20\x20','hjpLM','hasPlaintextAuth','283341dQMAFb','log','SioYY','parse','bTOfA','length',':\x20installed\x20(','NQTag','map','cwd','pMuUf','sessionUpdatedAt','7294tBStQI','includes','NcQkr','encrypted','21188490PpLPNh','BDXga','string','GpxNB','path','not_configured','settings.json','AyJKE','\x0a---\x20OpenCode\x20Plugin\x20---','plaintext','none','utf-8','xnuUo','\x20[cloud]','\x1b[1m','settingsPath','\x20(active)','organizationName','177825hwefcR','4146385geZedc','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','isArray','CUFBb','status','GaCMf','CypLV','No\x20profiles\x20configured','name','(not\x20found)','pipe','version','project','SKILL.md','\x20\x20Active:\x20','not_installed','\x1b]8;;\x07','2659768XaAVbi','\x20\x20Run:\x20ranger\x20setup\x20[token]','toString','MHOpz','Root:\x20','join','24uoVhry','xCkmg','2904AelPxD','43544hrFOhB','VvXRQ','plugin','match','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','KvBwm','cached\x20(updated\x20','YYRKw','push','DEBUG','isDirectory','LqWgM','trim','details','\x20\x20User-level:','auth.json','LEmYP','configured','API\x20Token:\x20✗\x20Not\x20found'];_0x4cd1=function(){return _0x25ba0c;};return _0x4cd1();}import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x2a1e31=>_0x5280e3(0x152)+_0x2a1e31+_0x5280e3(0x199),link=(_0x57e44c,_0x5d687f)=>'\x1b]8;;file://'+_0x57e44c+'\x07'+(_0x5d687f||_0x57e44c)+_0x5280e3(0x167);async function getOpencodePluginStatus(){const _0x484497=_0x5280e3,_0x13c3a9={'UpZKA':function(_0x20dc86,_0x29e603){return _0x20dc86(_0x29e603);},'CypLV':_0x484497(0x166),'aqtiS':_0x484497(0x197),'txrPF':'opencode-plugin','SioYY':function(_0x436046,_0x505376){return _0x436046(_0x505376);},'jnDBa':function(_0x24486b,_0x1563b9){return _0x24486b(_0x1563b9);},'hjpLM':_0x484497(0x182),'NdtYd':function(_0x58b719,_0x48dcad){return _0x58b719>_0x48dcad;},'zaPFm':function(_0x11464a,_0x47127f){return _0x11464a(_0x47127f);},'ZnFNE':_0x484497(0x149),'LEmYP':'opencode','pMuUf':'debug','yBcxi':'ignore','xCkmg':_0x484497(0x161),'VvXRQ':'data','rMbqA':_0x484497(0x12e)};return new Promise(_0x2d47a2=>{const _0x444742=_0x484497,_0x447cc7=spawn(_0x13c3a9[_0x444742(0x181)],[_0x13c3a9[_0x444742(0x13e)],'config'],{'stdio':[_0x13c3a9['yBcxi'],'pipe',_0x13c3a9[_0x444742(0x16f)]]});let _0x165d85='';_0x447cc7['stdout']?.['on'](_0x13c3a9[_0x444742(0x172)],_0x47f6dc=>{const _0x3f90f4=_0x444742;_0x165d85+=_0x47f6dc[_0x3f90f4(0x16a)]();}),_0x447cc7[_0x444742(0x12d)]?.['on'](_0x13c3a9[_0x444742(0x172)],_0x28d1ce=>{_0x165d85+=_0x28d1ce['toString']();}),_0x447cc7['on']('error',()=>{const _0x472f95=_0x444742;_0x13c3a9[_0x472f95(0x18f)](_0x2d47a2,{'status':_0x13c3a9[_0x472f95(0x15d)]});}),_0x447cc7['on'](_0x13c3a9['rMbqA'],_0x326216=>{const _0xbad0cf=_0x444742,_0x2a31eb={'PbdiH':_0x13c3a9['aqtiS'],'WRtSt':_0x13c3a9[_0xbad0cf(0x188)]};if(_0x326216!==0x0){_0x13c3a9[_0xbad0cf(0x136)](_0x2d47a2,{'status':'not_installed'});return;}const _0x29cc7e=_0x165d85[_0xbad0cf(0x17d)]();let _0x324592=null;if(_0x29cc7e)try{_0x324592=JSON['parse'](_0x29cc7e);}catch{const _0x5a99df=_0x29cc7e[_0xbad0cf(0x174)](/\{[\s\S]*\}$/);if(_0x5a99df)try{_0x324592=JSON[_0xbad0cf(0x137)](_0x5a99df[0x0]);}catch{_0x324592=null;}}const _0x30b5e2=Array[_0xbad0cf(0x159)](_0x324592?.[_0xbad0cf(0x173)])?_0x324592?.[_0xbad0cf(0x173)]:[],_0x401133=_0x30b5e2['some'](_0x43ac85=>{const _0x57e96c=_0xbad0cf;if(typeof _0x43ac85!==_0x57e96c(0x146))return![];return _0x43ac85['includes'](_0x2a31eb['PbdiH'])||_0x43ac85['includes'](_0x2a31eb['WRtSt']);});if(_0x401133){_0x13c3a9[_0xbad0cf(0x12f)](_0x2d47a2,{'status':_0x13c3a9[_0xbad0cf(0x132)],'details':_0x13c3a9['NdtYd'](_0x30b5e2['length'],0x0)?_0x30b5e2['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x30b5e2['length']>0x0){_0x13c3a9[_0xbad0cf(0x185)](_0x2d47a2,{'status':_0xbad0cf(0x149),'details':_0x30b5e2['length']+_0xbad0cf(0x18a)});return;}_0x2d47a2({'status':_0x13c3a9['ZnFNE']});});});}async function getSkillsFromDir(_0xa22f86,_0x431f33){const _0xda5871=_0x5280e3,_0x58c2fe={'bTOfA':function(_0x22bb87,_0x3cb47d,_0x578872){return _0x22bb87(_0x3cb47d,_0x578872);},'bjveO':_0xda5871(0x164),'ayDcU':_0xda5871(0x14f)};if(!existsSync(_0xa22f86))return[];const _0x3c3bd8=[];try{const _0x41a73a=await _0x58c2fe[_0xda5871(0x138)](readdir,_0xa22f86,{'withFileTypes':!![]});for(const _0x3d8dc7 of _0x41a73a){if(_0x3d8dc7[_0xda5871(0x17b)]()){const _0x3fc281=join(_0xa22f86,_0x3d8dc7[_0xda5871(0x15f)],_0x58c2fe['bjveO']);if(existsSync(_0x3fc281)){let _0xb152ba=_0x3d8dc7[_0xda5871(0x15f)];try{const _0x26d493=await readFile(_0x3fc281,_0x58c2fe['ayDcU']),_0x494fed=_0x26d493['match'](/name:\s*(.+)/);_0x494fed&&(_0xb152ba=_0x494fed[0x1]['trim']());}catch{}_0x3c3bd8[_0xda5871(0x179)]({'name':_0x3d8dc7[_0xda5871(0x15f)],'displayName':_0xb152ba,'path':_0x3fc281,'level':_0x431f33});}}}}catch{return[];}return _0x3c3bd8;}async function getInstalledSkills(){const _0x4f79f5=_0x5280e3,_0x1c3cfe={'NEfBb':function(_0x55bd58,_0x4da384,_0x4a5825){return _0x55bd58(_0x4da384,_0x4a5825);},'DEshN':function(_0x24df36){return _0x24df36();}},[_0x5974c1,_0x2c7f8e]=await Promise['all']([_0x1c3cfe[_0x4f79f5(0x186)](getSkillsFromDir,_0x1c3cfe['DEshN'](getProjectSkillsDir),_0x4f79f5(0x163)),getSkillsFromDir(_0x1c3cfe['DEshN'](getUserSkillsDir),_0x4f79f5(0x130))]);return{'project':_0x5974c1,'user':_0x2c7f8e};}async function getEnvironments(){const _0x400763=_0x5280e3,_0x2729ae={'GaCMf':function(_0x58b32f,_0xea8b4b,_0x28258d){return _0x58b32f(_0xea8b4b,_0x28258d);},'NQTag':_0x400763(0x14a),'MHOpz':function(_0x5f13ed,_0x446243,_0x3261dc){return _0x5f13ed(_0x446243,_0x3261dc);},'YSkgJ':function(_0x511f83,_0x171f91,_0x16eab2){return _0x511f83(_0x171f91,_0x16eab2);},'ypOZz':_0x400763(0x18b),'UKmYs':function(_0x40066f,_0x2f0cc9){return _0x40066f(_0x2f0cc9);},'wPVGZ':function(_0x2f8d66,_0x2aff06){return _0x2f8d66(_0x2aff06);},'mIkYa':function(_0x577ab7){return _0x577ab7();}},{envNames:_0x31270f,activeEnv:_0x3cf833}=await _0x2729ae['mIkYa'](getEnvNames),_0x50e269=getRangerDir();if(!existsSync(_0x50e269))return{'envs':[],'activeEnv':null};const _0x59dcf5=_0x31270f['map'](_0x3804ec=>{const _0x21e565=_0x400763,_0x45bd82=getEnvDir(_0x3804ec),_0x77e445=_0x2729ae[_0x21e565(0x15c)](join,_0x45bd82,_0x2729ae[_0x21e565(0x13b)]),_0x59c300=_0x2729ae[_0x21e565(0x16b)](join,_0x45bd82,_0x21e565(0x180)),_0x362f6b=_0x2729ae['YSkgJ'](join,_0x45bd82,_0x2729ae['ypOZz']);return{'name':_0x3804ec,'settingsPath':_0x2729ae['UKmYs'](existsSync,_0x77e445)?_0x77e445:_0x21e565(0x160),'hasPlaintextAuth':_0x2729ae['wPVGZ'](existsSync,_0x59c300),'hasEncryptedAuth':existsSync(_0x362f6b),'isActive':_0x3804ec===_0x3cf833};});return{'envs':_0x59dcf5,'activeEnv':_0x3cf833};}export async function status(){const _0x1b6f4b=_0x5280e3,_0x3fdd1a={'Ccxvw':function(_0x3dcac1){return _0x3dcac1();},'CUFBb':function(_0x567c6a,_0x35b230){return _0x567c6a(_0x35b230);},'LhaBr':function(_0x43a27c,_0x15f8a2,_0x2c81d3){return _0x43a27c(_0x15f8a2,_0x2c81d3);},'LqWgM':function(_0xe2ccef){return _0xe2ccef();},'LFACE':function(_0x180c8a,_0x42c6f5){return _0x180c8a(_0x42c6f5);},'BQCDB':function(_0x2f8e6c,_0x54bfd1){return _0x2f8e6c(_0x54bfd1);},'YYRKw':'configured','heyEZ':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','PRLnF':'ranger@trailhead','AyJKE':'enabled','GpxNB':_0x1b6f4b(0x19a),'xnuUo':'\x20\x20Not\x20installed','Zjgcd':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','Dqvdi':'\x0a---\x20Skills\x20---','GXGIH':function(_0x345b0b,_0x5dc1aa){return _0x345b0b+_0x5dc1aa;},'bRUlp':function(_0x5142c4,_0x53be59){return _0x5142c4===_0x53be59;},'NcQkr':function(_0x4e42e0,_0x29a635){return _0x4e42e0>_0x29a635;},'BDXga':function(_0x25d6e3,_0x17c84e){return _0x25d6e3(_0x17c84e);},'emQCj':function(_0x2be748,_0x3beaea){return _0x2be748>_0x3beaea;},'JKjgV':_0x1b6f4b(0x17f),'oFfrr':function(_0x4722be,_0x470122){return _0x4722be(_0x470122);},'plfmL':'no\x20session','KvBwm':_0x1b6f4b(0x143),'JugxZ':_0x1b6f4b(0x14d),'YijjD':_0x1b6f4b(0x14e),'TEmzb':function(_0x51efd9,_0x554e5e){return _0x51efd9(_0x554e5e);},'tnFvb':function(_0x258ec3,_0x1f0355,_0x77723){return _0x258ec3(_0x1f0355,_0x77723);}};console[_0x1b6f4b(0x135)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x191269=process[_0x1b6f4b(0x13d)](),_0x342e09=_0x3fdd1a['Ccxvw'](getRangerDir);if(!existsSync(_0x342e09)){console[_0x1b6f4b(0x135)](_0x1b6f4b(0x16c)+link(_0x191269,bold(_0x3fdd1a[_0x1b6f4b(0x15a)](basename,_0x191269)))),console[_0x1b6f4b(0x135)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x1b6f4b(0x175));return;}console[_0x1b6f4b(0x135)]('Root:\x20'+_0x3fdd1a['LhaBr'](link,_0x191269,_0x3fdd1a[_0x1b6f4b(0x15a)](bold,basename(_0x191269))));const _0xddb19f=getCurrentVersion(),_0x5f028d=_0x3fdd1a['LqWgM'](getLatestVersion);if(_0x5f028d[_0x1b6f4b(0x162)]&&_0x5f028d['version']!==_0xddb19f)console['log'](_0x1b6f4b(0x18d)+_0xddb19f+'\x20(latest:\x20'+_0x5f028d[_0x1b6f4b(0x162)]+')'),console[_0x1b6f4b(0x135)]('\x20\x20Run:\x20ranger\x20update');else _0x5f028d[_0x1b6f4b(0x162)]?console[_0x1b6f4b(0x135)]('Version:\x20'+_0xddb19f+'\x20(up\x20to\x20date)'):console[_0x1b6f4b(0x135)]('Version:\x20'+_0xddb19f);const _0x32c4dd=await getToken();if(_0x32c4dd){const _0x5d7ec2=await _0x3fdd1a['LFACE'](getCurrentUser,_0x32c4dd);_0x5d7ec2['success']?console['log']('Organization:\x20'+_0x3fdd1a['BQCDB'](bold,_0x5d7ec2['user'][_0x1b6f4b(0x155)])):(console[_0x1b6f4b(0x135)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x1b6f4b(0x135)](_0x1b6f4b(0x183)),console[_0x1b6f4b(0x135)](_0x1b6f4b(0x169));process['env'][_0x1b6f4b(0x17a)]&&(console['log']('API\x20Environment:\x20'+_0x3fdd1a[_0x1b6f4b(0x17c)](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+_0x3fdd1a['Ccxvw'](getApiBaseUrl)));console[_0x1b6f4b(0x135)](_0x1b6f4b(0x14c));const _0x121771=await _0x3fdd1a['Ccxvw'](getOpencodePluginStatus);if(_0x121771[_0x1b6f4b(0x15b)]===_0x3fdd1a[_0x1b6f4b(0x178)])console[_0x1b6f4b(0x135)]('\x20\x20'+bold('@ranger-testing/opencode-plugin')+':\x20configured'),_0x121771['details']&&console[_0x1b6f4b(0x135)]('\x20\x20'+_0x121771[_0x1b6f4b(0x17e)]);else _0x121771['status']==='not_configured'?(console['log'](_0x1b6f4b(0x19b)),_0x121771[_0x1b6f4b(0x17e)]&&console[_0x1b6f4b(0x135)]('\x20\x20'+_0x121771[_0x1b6f4b(0x17e)]),console[_0x1b6f4b(0x135)](_0x1b6f4b(0x190))):console['log'](_0x3fdd1a['heyEZ']);console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x210fc4=await _0x3fdd1a['BQCDB'](getPluginInfo,_0x3fdd1a['PRLnF']);if(_0x210fc4){const _0x4b4523=_0x210fc4['scope']||'unknown',_0x23ca30=_0x210fc4['enabled']?_0x3fdd1a[_0x1b6f4b(0x14b)]:_0x3fdd1a[_0x1b6f4b(0x147)];console['log']('\x20\x20'+_0x3fdd1a['LFACE'](bold,_0x1b6f4b(0x193))+_0x1b6f4b(0x13a)+_0x4b4523+',\x20'+_0x23ca30+')');}else console[_0x1b6f4b(0x135)](_0x3fdd1a[_0x1b6f4b(0x150)]),console['log'](_0x3fdd1a['Zjgcd']);console['log'](_0x3fdd1a[_0x1b6f4b(0x195)]);const {project:_0xf95dc,user:_0x20dbff}=await getInstalledSkills(),_0x3a8796=_0xf95dc['filter'](_0x305c36=>RANGER_MANAGED_SKILLS[_0x1b6f4b(0x141)](_0x305c36[_0x1b6f4b(0x15f)])),_0x224439=_0x20dbff[_0x1b6f4b(0x192)](_0x2adf96=>RANGER_MANAGED_SKILLS['includes'](_0x2adf96['name'])),_0xeb82d=_0x3fdd1a['GXGIH'](_0x3a8796[_0x1b6f4b(0x139)],_0x224439['length']);if(_0x3fdd1a['bRUlp'](_0xeb82d,0x0))console[_0x1b6f4b(0x135)]('No\x20skills\x20installed'),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x3fdd1a['NcQkr'](_0x3a8796[_0x1b6f4b(0x139)],0x0)){console[_0x1b6f4b(0x135)](_0x1b6f4b(0x18c));for(const _0x594b98 of _0x3a8796){console[_0x1b6f4b(0x135)]('\x20\x20\x20\x20'+bold(_0x594b98[_0x1b6f4b(0x18e)])+':\x20'+link(_0x594b98['path'],_0x3fdd1a['BDXga'](basename,_0x594b98[_0x1b6f4b(0x148)])));}}if(_0x3fdd1a['emQCj'](_0x224439[_0x1b6f4b(0x139)],0x0)){console['log'](_0x3fdd1a['JKjgV']);for(const _0x493f33 of _0x224439){console['log'](_0x1b6f4b(0x131)+bold(_0x493f33['displayName'])+':\x20'+link(_0x493f33['path'],_0x3fdd1a[_0x1b6f4b(0x187)](basename,_0x493f33[_0x1b6f4b(0x148)])));}}}console[_0x1b6f4b(0x135)](_0x1b6f4b(0x196));const {envs:_0x3a8db3,activeEnv:_0x14b3e4}=await _0x3fdd1a[_0x1b6f4b(0x17c)](getEnvironments);let _0x5947a1=[];if(_0x32c4dd)try{_0x5947a1=await _0x3fdd1a['Ccxvw'](listCloudProfiles);}catch{}const _0x1dd2aa=_0x3a8db3[_0x1b6f4b(0x139)]+_0x5947a1['length'];if(_0x1dd2aa===0x0)console[_0x1b6f4b(0x135)](_0x1b6f4b(0x15e)),console[_0x1b6f4b(0x135)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x3fdd1a[_0x1b6f4b(0x142)](_0x1dd2aa,0x5)){const _0x247054=[];_0x5947a1[_0x1b6f4b(0x139)]>0x0&&_0x247054[_0x1b6f4b(0x179)](_0x5947a1['length']+'\x20cloud'),_0x3fdd1a['emQCj'](_0x3a8db3[_0x1b6f4b(0x139)],0x0)&&_0x247054['push'](_0x3a8db3['length']+'\x20local'),console[_0x1b6f4b(0x135)](_0x1dd2aa+'\x20profiles\x20configured\x20('+_0x247054[_0x1b6f4b(0x16d)](',\x20')+')'),_0x14b3e4&&console['log'](_0x1b6f4b(0x165)+_0x3fdd1a['BDXga'](bold,_0x14b3e4)),console[_0x1b6f4b(0x135)](_0x1b6f4b(0x189));}else{for(const _0x381435 of _0x5947a1){const _0x3226df=_0x381435['name']===_0x14b3e4?_0x1b6f4b(0x154):'';console['log']('\x20\x20'+_0x3fdd1a[_0x1b6f4b(0x145)](bold,_0x381435[_0x1b6f4b(0x15f)])+_0x1b6f4b(0x151)+_0x3226df);const _0x1cb9a9=_0x381435['sessionUpdatedAt']?_0x1b6f4b(0x177)+_0x381435[_0x1b6f4b(0x13f)]+')':_0x3fdd1a['plfmL'];console['log']('\x20\x20\x20\x20Session:\x20'+_0x1cb9a9);}const _0x11986f=new Set(_0x5947a1['map'](_0x3d24b4=>_0x3d24b4[_0x1b6f4b(0x15f)]));for(const _0x22cdb8 of _0x3a8db3){if(_0x11986f[_0x1b6f4b(0x198)](_0x22cdb8[_0x1b6f4b(0x15f)]))continue;const _0x37d651=_0x22cdb8['isActive']?_0x1b6f4b(0x154):'',_0x2f32ff=_0x22cdb8['hasEncryptedAuth']?_0x3fdd1a[_0x1b6f4b(0x176)]:_0x22cdb8[_0x1b6f4b(0x133)]?_0x3fdd1a['JugxZ']:_0x3fdd1a['YijjD'];console[_0x1b6f4b(0x135)]('\x20\x20'+_0x3fdd1a[_0x1b6f4b(0x184)](bold,_0x22cdb8[_0x1b6f4b(0x15f)])+'\x20[local]'+_0x37d651),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x2f32ff),_0x22cdb8[_0x1b6f4b(0x153)]!=='(not\x20found)'&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x3fdd1a['tnFvb'](link,_0x22cdb8['settingsPath'],basename(_0x22cdb8['settingsPath'])));}if(!_0x14b3e4){console['log'](_0x1b6f4b(0x191));const _0x5d0e01=[..._0x5947a1[_0x1b6f4b(0x13c)](_0x947fb7=>_0x947fb7[_0x1b6f4b(0x15f)]),..._0x3a8db3[_0x1b6f4b(0x192)](_0x319368=>!_0x11986f['has'](_0x319368[_0x1b6f4b(0x15f)]))[_0x1b6f4b(0x13c)](_0x2783f4=>_0x2783f4['name'])];console[_0x1b6f4b(0x135)](_0x1b6f4b(0x158)+_0x5d0e01[_0x1b6f4b(0x16d)](',\x20')+')');}}}console[_0x1b6f4b(0x135)]('');}