@ranger-testing/ranger-cli 3.1.3 → 3.1.4-alpha.ffeeafe-46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/organizationEnvApi.js +1 -1
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -1
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/rangerwrightCli.js +1 -1
  67. package/build/commands/utils/resolveProfileContext.js +1 -1
  68. package/build/commands/utils/resolveProfileUrl.js +1 -1
  69. package/build/commands/utils/retry.js +1 -1
  70. package/build/commands/utils/scenarioOriginCheck.js +1 -0
  71. package/build/commands/utils/sessionCache.js +1 -1
  72. package/build/commands/utils/settings.js +1 -1
  73. package/build/commands/utils/skillContent.js +1 -1
  74. package/build/commands/utils/skills.js +1 -1
  75. package/build/commands/utils/stitchWebmFiles.js +1 -1
  76. package/build/commands/utils/telemetry.js +1 -1
  77. package/build/commands/utils/tokenRefresh.js +1 -1
  78. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  79. package/build/commands/utils/tunnelClient.js +1 -1
  80. package/build/commands/utils/userApi.js +1 -1
  81. package/build/commands/utils/version.js +1 -1
  82. package/build/commands/verifyFeature.js +1 -1
  83. package/build/commands/verifyFeatureCli.js +1 -1
  84. package/build/commands/verifyFeatureNovaCli.js +1 -1
  85. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  86. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x49b562,_0xd9de7b){const _0x472fd7=_0x39dc,_0x3aca2f=_0x49b562();while(!![]){try{const _0x240ebb=-parseInt(_0x472fd7(0x156))/0x1+parseInt(_0x472fd7(0x157))/0x2+parseInt(_0x472fd7(0x151))/0x3*(parseInt(_0x472fd7(0x150))/0x4)+parseInt(_0x472fd7(0x15c))/0x5+parseInt(_0x472fd7(0x15b))/0x6*(parseInt(_0x472fd7(0x152))/0x7)+-parseInt(_0x472fd7(0x14f))/0x8+-parseInt(_0x472fd7(0x159))/0x9*(-parseInt(_0x472fd7(0x14e))/0xa);if(_0x240ebb===_0xd9de7b)break;else _0x3aca2f['push'](_0x3aca2f['shift']());}catch(_0x27a7a9){_0x3aca2f['push'](_0x3aca2f['shift']());}}}(_0x3d1b,0x7e908));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x3d1b(){const _0x3afc28=['2586Okrqqm','1330380fqNfsf','Cimfk','\x0a✅\x20API\x20key\x20stored\x20successfully','log','5245910iBJckC','6857952VgoSCG','252644yuChSb','3tUgcpv','5663JZEjgD','user','UyrJr','organizationName','292144mjJWxo','930578PHwuhS','message','9UGHOiT','\x0a✅\x20Logged\x20in\x20to\x20'];_0x3d1b=function(){return _0x3afc28;};return _0x3d1b();}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x39dc(_0x2f793b,_0x404c74){_0x2f793b=_0x2f793b-0x14d;const _0x3d1bdb=_0x3d1b();let _0x39dce0=_0x3d1bdb[_0x2f793b];return _0x39dce0;}import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x2a8918=_0x39dc,_0x5b988e={'UyrJr':'Re-authenticating\x20via\x20MCP\x20bootstrap...','OPdXF':function(_0x2b92d4){return _0x2b92d4();},'Cimfk':function(_0x4135ee,_0x5306d1){return _0x4135ee(_0x5306d1);}},_0x28e606=await getMcpAuthOrigin();if(_0x28e606){console[_0x2a8918(0x14d)](_0x5b988e[_0x2a8918(0x154)]),await mcpBootstrap();return;}if(!isInteractive())throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x5d8909=await _0x5b988e['OPdXF'](runDeviceAuthFlow),_0x4fd469=await _0x5b988e[_0x2a8918(0x15d)](getCurrentUser,_0x5d8909);_0x4fd469['success']?console['log'](_0x2a8918(0x15a)+_0x4fd469[_0x2a8918(0x153)][_0x2a8918(0x155)]):console['log'](_0x2a8918(0x15e));}catch(_0x4bfca2){throw new Error('Login\x20failed:\x20'+(_0x4bfca2 instanceof Error?_0x4bfca2[_0x2a8918(0x158)]:_0x4bfca2));}}
1
+ (function(_0x1b3b89,_0x57fd4b){const _0x2872a1=_0x3cca,_0x583344=_0x1b3b89();while(!![]){try{const _0x41c3a7=parseInt(_0x2872a1(0x187))/0x1+parseInt(_0x2872a1(0x178))/0x2+parseInt(_0x2872a1(0x175))/0x3*(parseInt(_0x2872a1(0x181))/0x4)+-parseInt(_0x2872a1(0x17c))/0x5*(parseInt(_0x2872a1(0x17b))/0x6)+-parseInt(_0x2872a1(0x186))/0x7+-parseInt(_0x2872a1(0x176))/0x8*(parseInt(_0x2872a1(0x182))/0x9)+parseInt(_0x2872a1(0x179))/0xa;if(_0x41c3a7===_0x57fd4b)break;else _0x583344['push'](_0x583344['shift']());}catch(_0x585ec3){_0x583344['push'](_0x583344['shift']());}}}(_0x34db,0x26c8b));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x3cca(_0x383527,_0x41a4a0){_0x383527=_0x383527-0x175;const _0x34db4b=_0x34db();let _0x3cca21=_0x34db4b[_0x383527];return _0x3cca21;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0x34db(){const _0x2c0666=['601604ORCPYs','3265820qHiTPl','Re-authenticating\x20via\x20MCP\x20bootstrap...','1887258nneBBx','5fzsykB','Znsnr','success','message','log','4bkLPxz','297QrpgYd','\x0a✅\x20API\x20key\x20stored\x20successfully','user','ZNSDm','782684UNPngk','174050YJpgzb','226203oczWZO','70696DIQHdM','Login\x20failed:\x20'];_0x34db=function(){return _0x2c0666;};return _0x34db();}export async function login(){const _0x3765e3=_0x3cca,_0x195e72={'Znsnr':_0x3765e3(0x17a),'ZNSDm':function(_0x42e2cc,_0x2ad8ed){return _0x42e2cc(_0x2ad8ed);},'LjLiO':function(_0x21dda9,_0x4479e5){return _0x21dda9 instanceof _0x4479e5;}},_0x10793e=await getMcpAuthOrigin();if(_0x10793e){console['log'](_0x195e72[_0x3765e3(0x17d)]),await mcpBootstrap();return;}if(!isInteractive())throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x33d3b6=await runDeviceAuthFlow(),_0x312e16=await _0x195e72[_0x3765e3(0x185)](getCurrentUser,_0x33d3b6);_0x312e16[_0x3765e3(0x17e)]?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x312e16[_0x3765e3(0x184)]['organizationName']):console[_0x3765e3(0x180)](_0x3765e3(0x183));}catch(_0x5a8037){throw new Error(_0x3765e3(0x177)+(_0x195e72['LjLiO'](_0x5a8037,Error)?_0x5a8037[_0x3765e3(0x17f)]:_0x5a8037));}}
@@ -1 +1 @@
1
- (function(_0x35f96f,_0x2005d4){const _0x25884c=_0x2bf3,_0x5bc7be=_0x35f96f();while(!![]){try{const _0x1e05ca=parseInt(_0x25884c(0x14d))/0x1+-parseInt(_0x25884c(0x162))/0x2+parseInt(_0x25884c(0x121))/0x3*(-parseInt(_0x25884c(0x14b))/0x4)+parseInt(_0x25884c(0xea))/0x5*(parseInt(_0x25884c(0x12b))/0x6)+parseInt(_0x25884c(0x119))/0x7*(-parseInt(_0x25884c(0x16d))/0x8)+parseInt(_0x25884c(0x15b))/0x9*(parseInt(_0x25884c(0x10e))/0xa)+parseInt(_0x25884c(0xef))/0xb;if(_0x1e05ca===_0x2005d4)break;else _0x5bc7be['push'](_0x5bc7be['shift']());}catch(_0x1c6035){_0x5bc7be['push'](_0x5bc7be['shift']());}}}(_0x3e4b,0x25279));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';function _0x3e4b(){const _0x204273=['utf-8','close','RrooD','rlUWi','authorization_servers','FZHAf','slice','url','jnHnv','hzvfn','split','length','qvErp','searchParams','NxrpD','1.0.0','now','TfrqZ','error','VVGFS','OAuthTimeoutError','authorization_code','14255kXfdUU','YRkgJ','bGEEg','closeAllConnections','text/html','2199076kcTMFX','string','accessToken','.ranger','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','log','refresh_token','qPDOa','headers','parse','KLTKu','OAuth\x20error:\x20','application/json,\x20text/event-stream','hAnHQ','Discovering\x20authorization\x20server...','start','UfZIB','poPRM','oXJCW','YXhPT','end','name','response_type','Authorization','isTTY','includes','content','FcTFo','Unknown\x20error','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','93820EdVONd','code_challenge','pRCGc','tNWut','ddKYs','proxied','kdcuA','wsDRj','origin','application/json','qRNPP','958020lThevj','MCP\x20initialize\x20failed:\x20','HTTP\x20','UkUQx','write','nFFEP','BwUgs','VibxS','19392KjrxOB','clientSecret','structuredContent','code_challenge_method','token','2025-03-26','ZoDTf','EJjQf','access_token','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','54vPDIsr','Initializing\x20MCP\x20session...','sha256','clientId','/callback','digest','NLCGH','POST','match','expires_in','OIpVb','expiresAt','stdout','BEAQK','refresh.txt','resource','qMCBs','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','bpJzN','MCP\x20server\x20returned\x20HTTP\x20','set','writeHead','Exchanging\x20authorization\x20code...','\x0aToken\x20written\x20to\x20','text','AyKTd','\x20done','plCOh','registration_endpoint','PiIzs','code','auth-origin.txt','20QhbFjL','bsGFh','189474wiPtIj','HLLpi','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','cvTZS','stringify','json','tUUGO','Requesting\x20CLI\x20token...','pathname','Grwwj','hlqDQ','status','OXWCe','trim','171JLIMUz','error_description','get','platform','oNIva','toString','base64url','270164uuYWgw','SmZRo','state','message','CIGOI','TpuBj','2.0','result','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','win32','content-type','16SbCeyp','yFSEb','text/event-stream','pSKqQ'];_0x3e4b=function(){return _0x204273;};return _0x3e4b();}const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0xf6023f=_0x2bf3;try{const _0x40e4d3=(await readFile(AUTH_ORIGIN_PATH,_0xf6023f(0x171)))[_0xf6023f(0x15a)]();return _0x40e4d3||null;}catch{return null;}}export async function mcpBootstrap(){const _0x4a54c3=_0x2bf3,_0x3beb3b={'hlqDQ':function(_0x3229ae,_0x3aab3b){return _0x3229ae(_0x3aab3b);},'LkciE':function(_0x3923f2,_0x405883){return _0x3923f2===_0x405883;}},_0x1cd609=getMcpAuthUrl();currentOrigin=_0x1cd609;const _0x47416c=process[_0x4a54c3(0x137)][_0x4a54c3(0x108)]??![];console[_0x4a54c3(0xf5)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x1cd609+'\x0a');const _0x4e98e1=await _0x3beb3b[_0x4a54c3(0x157)](tryUnauthenticated,_0x1cd609);let _0x307ff8=null;if(_0x3beb3b['LkciE'](_0x4e98e1,_0x4a54c3(0x113)))_0x307ff8='';else{_0x307ff8=await loadCachedToken();if(!_0x307ff8){if(!_0x47416c)throw new Error('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'+_0x4a54c3(0x16a));_0x307ff8=await oauthFlow(_0x1cd609);}}await callGetCliToken(_0x1cd609,_0x307ff8);}function _0x2bf3(_0x18396f,_0x29807d){_0x18396f=_0x18396f-0xdb;const _0x3e4b44=_0x3e4b();let _0x2bf315=_0x3e4b44[_0x18396f];return _0x2bf315;}async function tryUnauthenticated(_0x2afe6e){const _0x582b3b=_0x2bf3,_0x290b09={'UMpDX':function(_0x519dec,_0x2a3652,_0x2aa303){return _0x519dec(_0x2a3652,_0x2aa303);},'qvErp':_0x582b3b(0x132),'ZoDTf':'2.0','BEAQK':'initialize','kdcuA':'2025-03-26','qMCBs':_0x582b3b(0x113),'nkFJd':function(_0x1f294a,_0x35a0cf){return _0x1f294a===_0x35a0cf;},'GpkVC':'needs-oauth'},_0x52721b=await _0x290b09['UMpDX'](fetch,_0x2afe6e,{'method':_0x290b09[_0x582b3b(0xe0)],'headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream'},'body':JSON['stringify']({'jsonrpc':_0x290b09[_0x582b3b(0x127)],'id':0x1,'method':_0x290b09[_0x582b3b(0x138)],'params':{'protocolVersion':_0x290b09[_0x582b3b(0x114)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x582b3b(0xe3)}}})});if(_0x52721b['ok'])return await _0x52721b[_0x582b3b(0x143)](),_0x290b09[_0x582b3b(0x13b)];if(_0x290b09['nkFJd'](_0x52721b['status'],0x191))return await _0x52721b[_0x582b3b(0x143)](),_0x290b09['GpkVC'];const _0x6bae40=await _0x52721b[_0x582b3b(0x143)]();throw new Error(_0x582b3b(0x13e)+_0x52721b['status']+':\x20'+_0x6bae40);}class OAuthTimeoutError extends Error{constructor(_0x5e4541){const _0x17dc23=_0x2bf3,_0x54da64={'NxrpD':_0x17dc23(0xe8)};super(_0x5e4541),this[_0x17dc23(0x105)]=_0x54da64[_0x17dc23(0xe2)];}}async function oauthFlow(_0x33c053){const _0x1367c2=_0x2bf3,_0x317bf9={'plCOh':function(_0x5bc9c2,_0x44316a){return _0x5bc9c2(_0x44316a);}};try{return await oauthFlowAttempt(_0x33c053);}catch(_0x4a1ab7){if(_0x4a1ab7 instanceof OAuthTimeoutError&&await loadCachedClient())return console['log']('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await clearCachedClient(),await _0x317bf9[_0x1367c2(0x146)](oauthFlowAttempt,_0x33c053);throw _0x4a1ab7;}}async function oauthFlowAttempt(_0x44321f){const _0x176e08=_0x2bf3,_0x5beafb={'nFFEP':_0x176e08(0xfe),'InwKB':function(_0x549c1b,_0x5be84d){return _0x549c1b(_0x5be84d);},'CIGOI':_0x176e08(0x10d),'edGMW':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','eyNEv':function(_0x2de7ec,_0x573e3d,_0x4a38bf){return _0x2de7ec(_0x573e3d,_0x4a38bf);},'dMqlm':'Ranger\x20CLI','YRkgJ':'refresh_token','PiIzs':_0x176e08(0x145),'Grwwj':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','IdQFW':_0x176e08(0x12d),'zeeSf':'base64url','jbBAy':'code','qPDOa':'redirect_uri','WzDYS':_0x176e08(0x124),'AyKTd':'state','QGkQE':'resource','gmnez':'\x0aOpening\x20browser\x20for\x20authentication...','xmjnE':_0x176e08(0x141),'FZHAf':_0x176e08(0xe9),'SmZRo':function(_0x392457,_0x2af9f4,_0xdef5aa){return _0x392457(_0x2af9f4,_0xdef5aa);}},_0x143141=_0x44321f['replace'](/\/mcp$/,'');process[_0x176e08(0x137)]['write'](_0x5beafb[_0x176e08(0x11e)]);const _0x118b13=await _0x5beafb['InwKB'](fetch,_0x143141+'/.well-known/oauth-protected-resource');if(!_0x118b13['ok'])throw new Error(_0x5beafb[_0x176e08(0x166)]);const _0xaad6a9=await _0x118b13['json'](),_0x34ba59=_0xaad6a9[_0x176e08(0x175)]?.[0x0];if(!_0x34ba59)throw new Error(_0x5beafb['edGMW']);console[_0x176e08(0xf5)]('\x20'+_0x34ba59);const _0x6653d4=await _0x5beafb['InwKB'](fetchAuthServerMetadata,_0x34ba59);let _0x4f5e65,_0x21a507;const _0x9d47f6=await loadCachedClient();if(_0x9d47f6)_0x4f5e65=_0x9d47f6['clientId'],_0x21a507=_0x9d47f6[_0x176e08(0x122)];else{if(_0x6653d4[_0x176e08(0x147)]){process[_0x176e08(0x137)]['write']('Registering\x20OAuth\x20client...');const _0x5a41d5=await _0x5beafb['eyNEv'](fetch,_0x6653d4['registration_endpoint'],{'method':_0x176e08(0x132),'headers':{'Content-Type':_0x176e08(0x117)},'body':JSON[_0x176e08(0x151)]({'client_name':_0x5beafb['dMqlm'],'redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':['authorization_code',_0x5beafb[_0x176e08(0xeb)]],'response_types':['code'],'token_endpoint_auth_method':'none'})});if(!_0x5a41d5['ok']){const _0x3e1241=await _0x5a41d5['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x3e1241);}const _0x3b3501=await _0x5a41d5[_0x176e08(0x152)]();_0x4f5e65=_0x3b3501['client_id'],_0x21a507=_0x3b3501['client_secret'],await saveCachedClient(_0x4f5e65,_0x21a507),console[_0x176e08(0xf5)](_0x5beafb[_0x176e08(0x148)]);}else throw new Error(_0x5beafb[_0x176e08(0x156)]);}const _0x4b7ec3=randomBytes(0x20)[_0x176e08(0x160)](_0x176e08(0x161)),_0x4b7cd8=createHash(_0x5beafb['IdQFW'])['update'](_0x4b7ec3)[_0x176e08(0x130)](_0x5beafb['zeeSf']),_0x28b3ee=randomBytes(0x10)[_0x176e08(0x160)]('hex'),_0x534a25=new URL(_0x6653d4['authorization_endpoint']);_0x534a25[_0x176e08(0xe1)][_0x176e08(0x13f)](_0x176e08(0x106),_0x5beafb['jbBAy']),_0x534a25[_0x176e08(0xe1)][_0x176e08(0x13f)]('client_id',_0x4f5e65),_0x534a25['searchParams'][_0x176e08(0x13f)](_0x5beafb[_0x176e08(0xf7)],'http://localhost:'+CALLBACK_PORT+_0x176e08(0x12f)),_0x534a25['searchParams']['set'](_0x176e08(0x10f),_0x4b7cd8),_0x534a25['searchParams']['set'](_0x5beafb['WzDYS'],'S256'),_0x534a25['searchParams']['set'](_0x5beafb[_0x176e08(0x144)],_0x28b3ee);_0xaad6a9[_0x176e08(0x13a)]&&_0x534a25[_0x176e08(0xe1)][_0x176e08(0x13f)](_0x5beafb['QGkQE'],_0xaad6a9[_0x176e08(0x13a)]);console[_0x176e08(0xf5)](_0x5beafb['gmnez']),console['log'](_0x176e08(0xf3)+_0x534a25[_0x176e08(0x160)]()+'\x0a'),await openBrowser(_0x534a25[_0x176e08(0x160)]());const _0x4d2ca4=await waitForCallback(_0x28b3ee);process[_0x176e08(0x137)]['write'](_0x5beafb['xmjnE']);const _0x40dd1=new URLSearchParams({'grant_type':_0x5beafb[_0x176e08(0x176)],'code':_0x4d2ca4,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0x176e08(0x12f),'client_id':_0x4f5e65,'code_verifier':_0x4b7ec3});_0x21a507&&_0x40dd1[_0x176e08(0x13f)]('client_secret',_0x21a507);_0xaad6a9[_0x176e08(0x13a)]&&_0x40dd1['set'](_0x5beafb['QGkQE'],_0xaad6a9['resource']);const _0x372612=await _0x5beafb[_0x176e08(0x163)](fetch,_0x6653d4['token_endpoint'],{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x40dd1});if(!_0x372612['ok']){const _0x124b1b=await _0x372612[_0x176e08(0x143)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x124b1b);}const _0x359f46=await _0x372612[_0x176e08(0x152)]();return console[_0x176e08(0xf5)](_0x5beafb['PiIzs']),await saveCachedToken(_0x359f46[_0x176e08(0x129)],_0x359f46[_0x176e08(0xf6)],_0x359f46[_0x176e08(0x134)]),_0x359f46['access_token'];}async function callGetCliToken(_0x1f7ac5,_0x11e0ed){const _0xae12dc=_0x2bf3,_0x507d68={'EJjQf':function(_0x31f185,_0x39b811,_0x4426a7){return _0x31f185(_0x39b811,_0x4426a7);},'NLCGH':_0xae12dc(0x117),'pSKqQ':_0xae12dc(0xfc),'YXhPT':_0xae12dc(0x107),'qRNPP':function(_0x473ab9,_0x233fe6){return _0x473ab9(_0x233fe6);},'OIpVb':_0xae12dc(0x168),'KLTKu':'ranger-cli','BwUgs':function(_0x1ead33,_0x124ef6,_0x5416be){return _0x1ead33(_0x124ef6,_0x5416be);},'ddKYs':'notifications/initialized','HLLpi':_0xae12dc(0x154),'yFSEb':function(_0xe3170b,_0x228130){return _0xe3170b(_0x228130);},'ADyUo':'tools/call','rlUWi':'get_cli_token','VibxS':function(_0x3e76e8,_0x456967){return _0x3e76e8(_0x456967);},'FcTFo':'\x0aUnexpected\x20response\x20structure:','pfMjy':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','KcBHO':_0xae12dc(0x139)},_0x1bdd62={'Content-Type':_0x507d68[_0xae12dc(0x131)],'Accept':_0x507d68[_0xae12dc(0x170)]};_0x11e0ed&&(_0x1bdd62[_0x507d68[_0xae12dc(0x103)]]='Bearer\x20'+_0x11e0ed);const _0x59165b=async _0x4146d7=>{const _0x7d7545=_0xae12dc,_0x5214a7=await _0x507d68[_0x7d7545(0x128)](fetch,_0x1f7ac5,{'method':_0x7d7545(0x132),'headers':_0x1bdd62,'body':JSON['stringify'](_0x4146d7)});if(!_0x5214a7['ok']){const _0x3f3464=await _0x5214a7[_0x7d7545(0x143)]();throw new Error(_0x7d7545(0x11b)+_0x5214a7['status']+':\x20'+_0x3f3464);}return parseResponse(_0x5214a7);};process[_0xae12dc(0x137)]['write'](_0xae12dc(0x12c));const _0x483c3d=await _0x507d68[_0xae12dc(0x118)](_0x59165b,{'jsonrpc':_0x507d68[_0xae12dc(0x135)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0xae12dc(0x126),'capabilities':{},'clientInfo':{'name':_0x507d68[_0xae12dc(0xfa)],'version':'1.0.0'}}});if(_0x483c3d[_0xae12dc(0xe6)])throw new Error(_0xae12dc(0x11a)+(_0x483c3d[_0xae12dc(0xe6)][_0xae12dc(0x165)]??JSON['stringify'](_0x483c3d['error'])));console[_0xae12dc(0xf5)]('\x20done'),await _0x507d68[_0xae12dc(0x11f)](fetch,_0x1f7ac5,{'method':'POST','headers':_0x1bdd62,'body':JSON[_0xae12dc(0x151)]({'jsonrpc':_0x507d68[_0xae12dc(0x135)],'method':_0x507d68[_0xae12dc(0x112)]})})['then'](_0x16c2b4=>_0x16c2b4[_0xae12dc(0x143)]()),process[_0xae12dc(0x137)][_0xae12dc(0x11d)](_0x507d68[_0xae12dc(0x14e)]);const _0x45bc8b=await _0x507d68[_0xae12dc(0x16e)](_0x59165b,{'jsonrpc':_0x507d68['OIpVb'],'id':0x2,'method':_0x507d68['ADyUo'],'params':{'name':_0x507d68[_0xae12dc(0x174)],'arguments':{}}});if(_0x45bc8b['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x45bc8b['error']['message']??JSON['stringify'](_0x45bc8b['error'])));console['log'](_0xae12dc(0x145));const _0x436d9d=_0x507d68[_0xae12dc(0x120)](extractToken,_0x45bc8b[_0xae12dc(0x169)]);if(!_0x436d9d){console['error'](_0x507d68[_0xae12dc(0x10b)]),console[_0xae12dc(0xe6)](JSON[_0xae12dc(0x151)](_0x45bc8b['result'],null,0x2));throw new Error(_0x507d68['pfMjy']);}const _0x145ed9=_0x507d68['BwUgs'](join,homedir(),'.ranger'),_0x1a3612=join(_0x145ed9,_0x507d68['KcBHO']);await mkdir(_0x145ed9,{'recursive':!![]}),await writeFile(_0x1a3612,_0x436d9d,{'mode':0x180}),await writeFile(join(_0x145ed9,_0xae12dc(0x14a)),_0x1f7ac5,{'mode':0x180}),console['log'](_0xae12dc(0x142)+_0x1a3612),console['log'](_0xae12dc(0x13c));}async function fetchAuthServerMetadata(_0x5a5b7f){const _0x27e2c7=_0x2bf3,_0xb35eaa={'UCgka':function(_0x3e2f46,_0xc3fac0){return _0x3e2f46(_0xc3fac0);}},_0x31e787=_0x5a5b7f+'/.well-known/oauth-authorization-server',_0x33a7a=await _0xb35eaa['UCgka'](fetch,_0x31e787);if(!_0x33a7a['ok'])throw new Error(_0x27e2c7(0x14f)+_0x31e787+':\x20'+_0x33a7a[_0x27e2c7(0x158)]);return _0x33a7a[_0x27e2c7(0x152)]();}function waitForCallback(_0x4d7b1b){const _0x45d732=_0x2bf3,_0x11b85e={'RuqOR':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','tNWut':_0x45d732(0x149),'hzvfn':_0x45d732(0xe6),'xHjtI':_0x45d732(0x15c),'oNIva':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','xwsmZ':function(_0x137535,_0xa4be2b,_0x21d4ef){return _0x137535(_0xa4be2b,_0x21d4ef);},'GUqzT':'127.0.0.1'};return new Promise((_0x43a443,_0x2f8b44)=>{const _0x2d87be=_0x45d732,_0x376918={'uOOCv':function(_0x4a22bb,_0x5a4783){return _0x4a22bb(_0x5a4783);},'UkUQx':_0x11b85e['RuqOR'],'bsGFh':function(_0x19b9a0,_0x2730ba){return _0x19b9a0!==_0x2730ba;},'ZvSUe':_0x11b85e[_0x2d87be(0x111)],'jnHnv':_0x11b85e[_0x2d87be(0xdd)],'zkGQH':_0x11b85e['xHjtI'],'vlEGZ':_0x2d87be(0xee),'TfrqZ':function(_0x57bd74,_0x17fac7){return _0x57bd74(_0x17fac7);},'hkSpP':_0x11b85e[_0x2d87be(0x15f)]},_0x19f56e=()=>{const _0x59f692=_0x2d87be;_0x478a2b[_0x59f692(0xed)](),_0x478a2b[_0x59f692(0x172)]();},_0x52c587=_0x11b85e['xwsmZ'](setTimeout,()=>{const _0x13d4bd=_0x2d87be;_0x19f56e(),_0x376918['uOOCv'](_0x2f8b44,new OAuthTimeoutError(_0x376918[_0x13d4bd(0x11c)]));},0x1d4c0),_0x478a2b=createServer((_0x1a22af,_0x3d2250)=>{const _0x1824ed=_0x2d87be,_0x49022a=new URL(_0x1a22af[_0x1824ed(0xdb)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x376918['bsGFh'](_0x49022a[_0x1824ed(0x155)],_0x1824ed(0x12f))){_0x3d2250[_0x1824ed(0x140)](0x194),_0x3d2250[_0x1824ed(0x104)]('Not\x20found');return;}const _0x512726=_0x49022a['searchParams'][_0x1824ed(0x15d)](_0x376918['ZvSUe']),_0x419e14=_0x49022a['searchParams'][_0x1824ed(0x15d)](_0x1824ed(0x164)),_0x24ecef=_0x49022a[_0x1824ed(0xe1)][_0x1824ed(0x15d)](_0x376918[_0x1824ed(0xdc)]);if(_0x24ecef){const _0x419373=_0x49022a[_0x1824ed(0xe1)][_0x1824ed(0x15d)](_0x376918['zkGQH'])??_0x24ecef;_0x3d2250[_0x1824ed(0x140)](0xc8,{'Content-Type':_0x376918['vlEGZ']}),_0x3d2250[_0x1824ed(0x104)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x419373+_0x1824ed(0xf4)),clearTimeout(_0x52c587),_0x19f56e(),_0x376918[_0x1824ed(0xe5)](_0x2f8b44,new Error(_0x1824ed(0xfb)+_0x419373));return;}if(!_0x512726||_0x376918[_0x1824ed(0x14c)](_0x419e14,_0x4d7b1b)){_0x3d2250[_0x1824ed(0x140)](0x190,{'Content-Type':_0x1824ed(0xee)}),_0x3d2250[_0x1824ed(0x104)](_0x376918['hkSpP']);return;}_0x3d2250['writeHead'](0xc8,{'Content-Type':_0x1824ed(0xee)}),_0x3d2250[_0x1824ed(0x104)](_0x1824ed(0x12a)),clearTimeout(_0x52c587),_0x19f56e(),_0x43a443(_0x512726);});_0x478a2b['listen'](CALLBACK_PORT,_0x11b85e['GUqzT']);});}async function openBrowser(_0x2adffc){const _0x429aa5=_0x2bf3,_0x223cf4={'wsDRj':'darwin','OXWCe':'open','dnHLM':_0x429aa5(0x16b)},_0x4ed090=process[_0x429aa5(0x15e)]===_0x223cf4[_0x429aa5(0x115)]?_0x223cf4[_0x429aa5(0x159)]:process['platform']===_0x223cf4['dnHLM']?_0x429aa5(0xff):'xdg-open';exec(_0x4ed090+'\x20\x22'+_0x2adffc+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x3798bd=_0x2bf3,_0x3eec8e={'tUUGO':function(_0x10235c,_0x3ed142,_0xd0b43f){return _0x10235c(_0x3ed142,_0xd0b43f);},'WGGBD':function(_0x59a7cf,_0x359c47){return _0x59a7cf!==_0x359c47;},'UfZIB':function(_0xfa0de8,_0x1d32b8){return _0xfa0de8>_0x1d32b8;}};try{const _0x37fee9=JSON['parse'](await _0x3eec8e[_0x3798bd(0x153)](readFile,TOKEN_CACHE_PATH,'utf-8'));if(_0x37fee9[_0x3798bd(0x116)]&&_0x3eec8e['WGGBD'](_0x37fee9['origin'],currentOrigin))return null;if(_0x37fee9[_0x3798bd(0x136)]&&_0x3eec8e[_0x3798bd(0x100)](Date['now'](),_0x37fee9['expiresAt']))return null;return _0x37fee9[_0x3798bd(0xf1)]??null;}catch{return null;}}async function saveCachedToken(_0x4a4ca3,_0x3aa207,_0x415dbf){const _0x4b4be4=_0x2bf3,_0xff947b={'WLeMt':function(_0x26e43a,_0xa120c){return _0x26e43a*_0xa120c;},'cvTZS':function(_0x5d4651,_0x3212c5,_0x1b9c41){return _0x5d4651(_0x3212c5,_0x1b9c41);},'TpuBj':function(_0xe24e02,_0x3a0554,_0x74ea12){return _0xe24e02(_0x3a0554,_0x74ea12);},'bpJzN':function(_0x526a2d){return _0x526a2d();},'RQRYK':function(_0x20f0b6,_0x5c4fbe,_0x2ff388,_0x4224cc){return _0x20f0b6(_0x5c4fbe,_0x2ff388,_0x4224cc);}},_0x3c0269=await loadCachedData(),_0x442b04={..._0x3c0269,'origin':currentOrigin,'accessToken':_0x4a4ca3,'refreshToken':_0x3aa207??_0x3c0269?.['refreshToken'],'expiresAt':_0x415dbf?Date[_0x4b4be4(0xe4)]()+_0xff947b['WLeMt'](_0x415dbf,0x3e8):undefined};await _0xff947b[_0x4b4be4(0x150)](mkdir,_0xff947b[_0x4b4be4(0x167)](join,_0xff947b[_0x4b4be4(0x13d)](homedir),'.ranger'),{'recursive':!![]}),await _0xff947b['RQRYK'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x442b04),{'mode':0x180});}async function loadCachedClient(){const _0x3e00e4=_0x2bf3,_0x1ad431={'OvwOt':function(_0x357212){return _0x357212();},'poPRM':function(_0x4474db,_0x4a1073){return _0x4474db!==_0x4a1073;}},_0x236c2d=await _0x1ad431['OvwOt'](loadCachedData);if(_0x236c2d?.[_0x3e00e4(0x116)]&&_0x1ad431[_0x3e00e4(0x101)](_0x236c2d['origin'],currentOrigin))return null;return _0x236c2d?.[_0x3e00e4(0x12e)]?{'clientId':_0x236c2d['clientId'],'clientSecret':_0x236c2d[_0x3e00e4(0x122)]}:null;}async function clearCachedClient(){const _0x34113d=_0x2bf3,_0x4b8880={'RSDKk':function(_0x1862ce){return _0x1862ce();},'RYTzu':function(_0x4c15f3,_0xa542ff,_0x339c3e,_0x5eefc3){return _0x4c15f3(_0xa542ff,_0x339c3e,_0x5eefc3);}},_0x2b3f6d=await _0x4b8880['RSDKk'](loadCachedData);if(!_0x2b3f6d)return;const {clientId:_0x33863c,clientSecret:_0x2e3502,..._0x342053}=_0x2b3f6d;await _0x4b8880['RYTzu'](writeFile,TOKEN_CACHE_PATH,JSON[_0x34113d(0x151)](_0x342053),{'mode':0x180});}async function saveCachedClient(_0x583a1c,_0x21096f){const _0x4fe958=_0x2bf3,_0x50e5de={'hAnHQ':function(_0x3b98ae){return _0x3b98ae();},'RrooD':function(_0x896c97){return _0x896c97();}},_0x398d70=await _0x50e5de[_0x4fe958(0xfd)](loadCachedData),_0x4cee1a={..._0x398d70,'origin':currentOrigin,'accessToken':_0x398d70?.['accessToken']??'','clientId':_0x583a1c,'clientSecret':_0x21096f};await mkdir(join(_0x50e5de[_0x4fe958(0x173)](homedir),_0x4fe958(0xf2)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x4cee1a),{'mode':0x180});}async function loadCachedData(){const _0x1c2435={'lNIoX':function(_0x3e7146,_0x3a83cf,_0x4e82c3){return _0x3e7146(_0x3a83cf,_0x4e82c3);},'zFnGw':'utf-8'};try{return JSON['parse'](await _0x1c2435['lNIoX'](readFile,TOKEN_CACHE_PATH,_0x1c2435['zFnGw']));}catch{return null;}}async function parseResponse(_0x373a48){const _0x2f3ee6=_0x2bf3,_0x1781a5={'VVGFS':_0x2f3ee6(0x16f),'pRCGc':'data:'},_0x54d80a=_0x373a48[_0x2f3ee6(0xf8)][_0x2f3ee6(0x15d)](_0x2f3ee6(0x16c))??'';if(_0x54d80a[_0x2f3ee6(0x109)](_0x1781a5[_0x2f3ee6(0xe7)])){const _0x122a90=await _0x373a48[_0x2f3ee6(0x143)]();for(const _0x342254 of _0x122a90[_0x2f3ee6(0xde)]('\x0a')){const _0xa92a0a=_0x342254[_0x2f3ee6(0x15a)]();if(_0xa92a0a['startsWith']('data:')){const _0x5d49a4=_0xa92a0a[_0x2f3ee6(0x177)](_0x1781a5[_0x2f3ee6(0x110)][_0x2f3ee6(0xdf)])['trim']();if(!_0x5d49a4)continue;try{const _0x5d5ccc=JSON[_0x2f3ee6(0xf9)](_0x5d49a4);if(_0x5d5ccc['id']!==undefined||_0x5d5ccc['error'])return _0x5d5ccc;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x373a48['json']();}function extractToken(_0x506863){const _0x295515=_0x2bf3,_0x2022be={'oXJCW':function(_0x8062f3,_0xa34404){return _0x8062f3===_0xa34404;},'bGEEg':function(_0x33a897,_0x18a18c){return _0x33a897===_0x18a18c;},'SxURg':'string'};if(!_0x506863)return null;const _0x216bca=_0x506863[_0x295515(0x123)];if(_0x216bca?.[_0x295515(0x125)]&&_0x2022be[_0x295515(0x102)](typeof _0x216bca[_0x295515(0x125)],_0x295515(0xf0)))return _0x216bca[_0x295515(0x125)];if(_0x506863['isError']){const _0x28130c=_0x506863['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x28130c?.[0x0]?.[_0x295515(0x143)]??_0x295515(0x10c)));}const _0x39f8ea=_0x506863[_0x295515(0x10a)];if(_0x39f8ea)for(const _0x1f1b26 of _0x39f8ea){if(_0x2022be['oXJCW'](_0x1f1b26['type'],_0x295515(0x143))&&_0x1f1b26['text']){try{const _0x32c1c7=JSON[_0x295515(0xf9)](_0x1f1b26[_0x295515(0x143)]);if(_0x2022be[_0x295515(0xec)](typeof _0x32c1c7?.[_0x295515(0x125)],_0x2022be['SxURg']))return _0x32c1c7['token'];}catch{}const _0x4cbab7=_0x1f1b26[_0x295515(0x143)][_0x295515(0x133)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x4cbab7)return _0x4cbab7[0x1];}}return null;}
1
+ const _0x1cacfd=_0x158d;(function(_0x5a97c1,_0x2e5aff){const _0xd8d291=_0x158d,_0x12b277=_0x5a97c1();while(!![]){try{const _0x194391=-parseInt(_0xd8d291(0x1ea))/0x1*(parseInt(_0xd8d291(0x220))/0x2)+parseInt(_0xd8d291(0x215))/0x3*(parseInt(_0xd8d291(0x1dc))/0x4)+parseInt(_0xd8d291(0x20c))/0x5*(parseInt(_0xd8d291(0x1c4))/0x6)+parseInt(_0xd8d291(0x1d2))/0x7+parseInt(_0xd8d291(0x21d))/0x8*(-parseInt(_0xd8d291(0x20f))/0x9)+-parseInt(_0xd8d291(0x1ee))/0xa*(-parseInt(_0xd8d291(0x1f0))/0xb)+-parseInt(_0xd8d291(0x23d))/0xc*(-parseInt(_0xd8d291(0x1bb))/0xd);if(_0x194391===_0x2e5aff)break;else _0x12b277['push'](_0x12b277['shift']());}catch(_0x40253b){_0x12b277['push'](_0x12b277['shift']());}}}(_0x5cd5,0x25537));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x1cacfd(0x1b6)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');function _0x5cd5(){const _0x15180c=['stdout','lPiHL','533uDIxZE','S256','GLTnP','Discovering\x20authorization\x20server...','utf-8','VgJbH','tkQCQ','DJhdl','startsWith','6iGGjZU','NrcGB','listen','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','initialize','ranger-cli','MCP\x20server\x20returned\x20HTTP\x20','client_secret','writeHead','text/event-stream','CBadz','close','fNpiR','Unknown\x20error','1034859uVXNfk','string','UHlai','wMjvG','127.0.0.1','\x20done','refresh.txt','ybZXx','error','result','23524Oozkjy','client_id','state','yjcix','Bearer\x20','bZxWE','mhAaY','end','expiresAt','hGfTw','clientId','GRPLm','origin','amDRa','7YRsUUY','hex','get_cli_token','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','20EwqNfv','\x0aOpening\x20browser\x20for\x20authentication...','1464782mIHEFW','write','\x0aUnexpected\x20response\x20structure:','Dlhkx','Exchanging\x20authorization\x20code...','get','tylkh','vzhYg','2025-03-26','base64url','baFav','aIHQC','update','Initializing\x20MCP\x20session...','json','win32','AZabT','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','pjjCZ','replace','2.0','refresh_token','YIJQC','text','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','now','http://localhost:','Client\x20registration\x20failed:\x20','153445NZkHiH','qqhUd','HTTP\x20','72tySude','EzbqN','searchParams','resource','code_challenge','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','21dfwvKX','yVyKX','cwGVj','YWaGt','status','toString','access_token','rDRiX','241504oMNqsW','name','platform','84598aPWBmR','set','content','rUGxf','1.0.0','/callback','tools/call','open','url','refreshToken','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','POST','start','noOie','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','HJcfH','udcHV','registration_endpoint','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','slice','pathname','NxfLM','application/json,\x20text/event-stream','Token\x20exchange\x20failed:\x20','token','.ranger','trim','AXeWa','clientSecret','59844yUTOvA','stringify','tnwWg','VKKqn','/.well-known/oauth-authorization-server','Authorization','ucCgj','sbeQT','text/html','auth-origin.txt','SLrnn','parse','HgMkO','application/json','JvfFj','mcp-oauth-tokens.json','\x0aToken\x20written\x20to\x20','log'];_0x5cd5=function(){return _0x15180c;};return _0x5cd5();}export async function getMcpAuthOrigin(){const _0x3caa59=_0x1cacfd,_0x13f617={'tylkh':function(_0x234c0e,_0x4392f5,_0x5dd23d){return _0x234c0e(_0x4392f5,_0x5dd23d);},'sbeQT':function(_0x9e361d,_0x2b8556){return _0x9e361d||_0x2b8556;}};try{const _0x63eb08=(await _0x13f617[_0x3caa59(0x1f6)](readFile,AUTH_ORIGIN_PATH,_0x3caa59(0x1bf)))[_0x3caa59(0x23a)]();return _0x13f617[_0x3caa59(0x244)](_0x63eb08,null);}catch{return null;}}export async function mcpBootstrap(){const _0x9d1092=_0x1cacfd,_0x43d59b={'DJhdl':function(_0x309463){return _0x309463();},'udcHV':function(_0x3c79e3,_0x415720){return _0x3c79e3===_0x415720;},'ueafp':function(_0x159bb2,_0x42fa5e){return _0x159bb2+_0x42fa5e;},'lPiHL':_0x9d1092(0x232),'VgJbH':_0x9d1092(0x208)},_0x3f1136=_0x43d59b[_0x9d1092(0x1c2)](getMcpAuthUrl);currentOrigin=_0x3f1136;const _0x487c02=process[_0x9d1092(0x1b9)]['isTTY']??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x3f1136+'\x0a');const _0xac420f=await tryUnauthenticated(_0x3f1136);let _0x4a5fec=null;if(_0x43d59b[_0x9d1092(0x230)](_0xac420f,'proxied'))_0x4a5fec='';else{_0x4a5fec=await loadCachedToken();if(!_0x4a5fec){if(!_0x487c02)throw new Error(_0x43d59b['ueafp'](_0x43d59b[_0x9d1092(0x1ba)],_0x43d59b[_0x9d1092(0x1c0)]));_0x4a5fec=await oauthFlow(_0x3f1136);}}await callGetCliToken(_0x3f1136,_0x4a5fec);}async function tryUnauthenticated(_0xd99a9){const _0x1f3e6c=_0x1cacfd,_0x1eb159={'jCxkH':function(_0x3bd8d7,_0x399391,_0x26599b){return _0x3bd8d7(_0x399391,_0x26599b);},'KWyzw':_0x1f3e6c(0x22b),'eDyAu':_0x1f3e6c(0x1f8),'VJMxt':_0x1f3e6c(0x224)},_0x545d4c=await _0x1eb159['jCxkH'](fetch,_0xd99a9,{'method':_0x1eb159['KWyzw'],'headers':{'Content-Type':'application/json','Accept':_0x1f3e6c(0x236)},'body':JSON[_0x1f3e6c(0x23e)]({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x1eb159['eDyAu'],'capabilities':{},'clientInfo':{'name':_0x1f3e6c(0x1c9),'version':_0x1eb159['VJMxt']}}})});if(_0x545d4c['ok'])return await _0x545d4c[_0x1f3e6c(0x207)](),'proxied';if(_0x545d4c['status']===0x191)return await _0x545d4c['text'](),'needs-oauth';const _0x777786=await _0x545d4c['text']();throw new Error(_0x1f3e6c(0x1ca)+_0x545d4c[_0x1f3e6c(0x219)]+':\x20'+_0x777786);}class OAuthTimeoutError extends Error{constructor(_0x34537f){const _0x14ef1a=_0x1cacfd,_0x1b25d1={'baFav':'OAuthTimeoutError'};super(_0x34537f),this[_0x14ef1a(0x21e)]=_0x1b25d1[_0x14ef1a(0x1fa)];}}async function oauthFlow(_0x3c4ad0){const _0x4cda5d=_0x1cacfd,_0x4350ea={'cwGVj':function(_0xe741cc,_0x5894f5){return _0xe741cc(_0x5894f5);},'cArHe':function(_0x27a260,_0x36f963){return _0x27a260 instanceof _0x36f963;},'ytghF':function(_0x115eb3){return _0x115eb3();}};try{return await _0x4350ea[_0x4cda5d(0x217)](oauthFlowAttempt,_0x3c4ad0);}catch(_0x226ebd){if(_0x4350ea['cArHe'](_0x226ebd,OAuthTimeoutError)&&await loadCachedClient())return console['log']('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await _0x4350ea['ytghF'](clearCachedClient),await oauthFlowAttempt(_0x3c4ad0);throw _0x226ebd;}}async function oauthFlowAttempt(_0x31afaf){const _0x480fd4=_0x1cacfd,_0x5de2dc={'AZabT':_0x480fd4(0x1be),'yVyKX':function(_0x523066,_0x4b54de){return _0x523066(_0x4b54de);},'mhAaY':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','EzbqN':function(_0x36bbdf){return _0x36bbdf();},'CBadz':'Registering\x20OAuth\x20client...','hGfTw':function(_0xd1c97f,_0x25c840,_0xfbd63d){return _0xd1c97f(_0x25c840,_0xfbd63d);},'cutqa':_0x480fd4(0x1b4),'uqAER':'refresh_token','JvfFj':'none','ucCgj':_0x480fd4(0x1d7),'krRtU':_0x480fd4(0x1eb),'UEinN':_0x480fd4(0x1dd),'eGBzn':'redirect_uri','NxfLM':_0x480fd4(0x213),'bZxWE':_0x480fd4(0x1bc),'aMJbs':_0x480fd4(0x1de),'SXluv':_0x480fd4(0x1ef),'GRPLm':function(_0x26c1d3,_0x4044e7){return _0x26c1d3(_0x4044e7);},'pjjCZ':function(_0x3742f8,_0x10e226){return _0x3742f8(_0x10e226);},'WrwOJ':_0x480fd4(0x212),'QQhvn':_0x480fd4(0x22b)},_0x36de2a=_0x31afaf[_0x480fd4(0x203)](/\/mcp$/,'');process['stdout'][_0x480fd4(0x1f1)](_0x5de2dc[_0x480fd4(0x200)]);const _0x3e1a24=await _0x5de2dc[_0x480fd4(0x216)](fetch,_0x36de2a+'/.well-known/oauth-protected-resource');if(!_0x3e1a24['ok'])throw new Error(_0x5de2dc[_0x480fd4(0x1e2)]);const _0x112d17=await _0x3e1a24[_0x480fd4(0x1fe)](),_0x2951bf=_0x112d17['authorization_servers']?.[0x0];if(!_0x2951bf)throw new Error(_0x480fd4(0x1c7));console[_0x480fd4(0x1b8)]('\x20'+_0x2951bf);const _0x416503=await fetchAuthServerMetadata(_0x2951bf);let _0x482426,_0x5568ea;const _0x489023=await _0x5de2dc[_0x480fd4(0x210)](loadCachedClient);if(_0x489023)_0x482426=_0x489023['clientId'],_0x5568ea=_0x489023['clientSecret'];else{if(_0x416503[_0x480fd4(0x231)]){process[_0x480fd4(0x1b9)][_0x480fd4(0x1f1)](_0x5de2dc[_0x480fd4(0x1ce)]);const _0x15dda6=await _0x5de2dc[_0x480fd4(0x1e5)](fetch,_0x416503['registration_endpoint'],{'method':'POST','headers':{'Content-Type':_0x5de2dc['cutqa']},'body':JSON[_0x480fd4(0x23e)]({'client_name':'Ranger\x20CLI','redirect_uris':[_0x480fd4(0x20a)+CALLBACK_PORT+_0x480fd4(0x225)],'grant_types':['authorization_code',_0x5de2dc['uqAER']],'response_types':['code'],'token_endpoint_auth_method':_0x5de2dc[_0x480fd4(0x1b5)]})});if(!_0x15dda6['ok']){const _0x4d5955=await _0x15dda6['text']();throw new Error(_0x480fd4(0x20b)+_0x4d5955);}const _0x5ebc48=await _0x15dda6[_0x480fd4(0x1fe)]();_0x482426=_0x5ebc48['client_id'],_0x5568ea=_0x5ebc48[_0x480fd4(0x1cb)],await saveCachedClient(_0x482426,_0x5568ea),console['log'](_0x5de2dc[_0x480fd4(0x243)]);}else throw new Error(_0x480fd4(0x1ed));}const _0x2937ba=randomBytes(0x20)['toString']('base64url'),_0x6eb2ec=_0x5de2dc['yVyKX'](createHash,'sha256')[_0x480fd4(0x1fc)](_0x2937ba)['digest'](_0x480fd4(0x1f9)),_0x4ea979=_0x5de2dc['yVyKX'](randomBytes,0x10)[_0x480fd4(0x21a)](_0x5de2dc['krRtU']),_0x54829=new URL(_0x416503['authorization_endpoint']);_0x54829[_0x480fd4(0x211)]['set']('response_type','code'),_0x54829[_0x480fd4(0x211)]['set'](_0x5de2dc['UEinN'],_0x482426),_0x54829[_0x480fd4(0x211)][_0x480fd4(0x221)](_0x5de2dc['eGBzn'],'http://localhost:'+CALLBACK_PORT+'/callback'),_0x54829['searchParams']['set'](_0x5de2dc[_0x480fd4(0x235)],_0x6eb2ec),_0x54829['searchParams'][_0x480fd4(0x221)]('code_challenge_method',_0x5de2dc[_0x480fd4(0x1e1)]),_0x54829[_0x480fd4(0x211)][_0x480fd4(0x221)](_0x5de2dc['aMJbs'],_0x4ea979);_0x112d17[_0x480fd4(0x212)]&&_0x54829[_0x480fd4(0x211)][_0x480fd4(0x221)](_0x480fd4(0x212),_0x112d17['resource']);console[_0x480fd4(0x1b8)](_0x5de2dc['SXluv']),console[_0x480fd4(0x1b8)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x54829['toString']()+'\x0a'),await _0x5de2dc[_0x480fd4(0x1e7)](openBrowser,_0x54829[_0x480fd4(0x21a)]());const _0x4219db=await _0x5de2dc[_0x480fd4(0x202)](waitForCallback,_0x4ea979);process[_0x480fd4(0x1b9)]['write'](_0x480fd4(0x1f4));const _0x42a8c3=new URLSearchParams({'grant_type':'authorization_code','code':_0x4219db,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x482426,'code_verifier':_0x2937ba});_0x5568ea&&_0x42a8c3['set']('client_secret',_0x5568ea);_0x112d17[_0x480fd4(0x212)]&&_0x42a8c3[_0x480fd4(0x221)](_0x5de2dc['WrwOJ'],_0x112d17['resource']);const _0x240156=await fetch(_0x416503['token_endpoint'],{'method':_0x5de2dc['QQhvn'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x42a8c3});if(!_0x240156['ok']){const _0x5ae612=await _0x240156['text']();throw new Error(_0x480fd4(0x237)+_0x5ae612);}const _0x42e3dc=await _0x240156['json']();return console['log']('\x20done'),await saveCachedToken(_0x42e3dc[_0x480fd4(0x21b)],_0x42e3dc[_0x480fd4(0x205)],_0x42e3dc['expires_in']),_0x42e3dc['access_token'];}async function callGetCliToken(_0x7cae5b,_0x2d2d4a){const _0x13e5bf=_0x1cacfd,_0x2510c1={'yjcix':function(_0x190bee,_0x58064b,_0x4b8053){return _0x190bee(_0x58064b,_0x4b8053);},'HJcfH':_0x13e5bf(0x22b),'pLANh':_0x13e5bf(0x1b4),'KzGQQ':'application/json,\x20text/event-stream','EznRC':_0x13e5bf(0x1fd),'WlnZK':'2025-03-26','HgMkO':_0x13e5bf(0x1c9),'YIJQC':_0x13e5bf(0x224),'tnwWg':_0x13e5bf(0x1d7),'rUGxf':'notifications/initialized','fNpiR':function(_0x2cf90b,_0x1e2261){return _0x2cf90b(_0x1e2261);},'cuaDV':'2.0','aIHQC':_0x13e5bf(0x226),'vzhYg':_0x13e5bf(0x1f2),'XowqU':_0x13e5bf(0x201),'ybZXx':_0x13e5bf(0x1d8),'YTWbN':_0x13e5bf(0x22a)},_0x2d2cf7={'Content-Type':_0x2510c1['pLANh'],'Accept':_0x2510c1['KzGQQ']};_0x2d2d4a&&(_0x2d2cf7[_0x13e5bf(0x242)]=_0x13e5bf(0x1e0)+_0x2d2d4a);const _0x3e9772=async _0x212f3c=>{const _0x8e1d9d=_0x13e5bf,_0x1e0509=await _0x2510c1['yjcix'](fetch,_0x7cae5b,{'method':_0x2510c1[_0x8e1d9d(0x22f)],'headers':_0x2d2cf7,'body':JSON['stringify'](_0x212f3c)});if(!_0x1e0509['ok']){const _0x39e90e=await _0x1e0509[_0x8e1d9d(0x207)]();throw new Error(_0x8e1d9d(0x20e)+_0x1e0509[_0x8e1d9d(0x219)]+':\x20'+_0x39e90e);}return parseResponse(_0x1e0509);};process['stdout']['write'](_0x2510c1['EznRC']);const _0x2af21e=await _0x3e9772({'jsonrpc':_0x13e5bf(0x204),'id':0x1,'method':_0x13e5bf(0x1c8),'params':{'protocolVersion':_0x2510c1['WlnZK'],'capabilities':{},'clientInfo':{'name':_0x2510c1[_0x13e5bf(0x1b3)],'version':_0x2510c1[_0x13e5bf(0x206)]}}});if(_0x2af21e['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x2af21e['error']['message']??JSON[_0x13e5bf(0x23e)](_0x2af21e[_0x13e5bf(0x1da)])));console['log'](_0x2510c1[_0x13e5bf(0x23f)]),await fetch(_0x7cae5b,{'method':_0x13e5bf(0x22b),'headers':_0x2d2cf7,'body':JSON[_0x13e5bf(0x23e)]({'jsonrpc':'2.0','method':_0x2510c1[_0x13e5bf(0x223)]})})['then'](_0x36e0f8=>_0x36e0f8[_0x13e5bf(0x207)]()),process[_0x13e5bf(0x1b9)][_0x13e5bf(0x1f1)]('Requesting\x20CLI\x20token...');const _0x10a9b0=await _0x2510c1[_0x13e5bf(0x1d0)](_0x3e9772,{'jsonrpc':_0x2510c1['cuaDV'],'id':0x2,'method':_0x2510c1[_0x13e5bf(0x1fb)],'params':{'name':_0x13e5bf(0x1ec),'arguments':{}}});if(_0x10a9b0['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x10a9b0['error']['message']??JSON['stringify'](_0x10a9b0['error'])));console[_0x13e5bf(0x1b8)]('\x20done');const _0x1e5324=extractToken(_0x10a9b0[_0x13e5bf(0x1db)]);if(!_0x1e5324){console['error'](_0x2510c1[_0x13e5bf(0x1f7)]),console['error'](JSON[_0x13e5bf(0x23e)](_0x10a9b0[_0x13e5bf(0x1db)],null,0x2));throw new Error(_0x2510c1['XowqU']);}const _0x32d172=_0x2510c1[_0x13e5bf(0x1df)](join,homedir(),_0x13e5bf(0x239)),_0x29c909=join(_0x32d172,_0x2510c1[_0x13e5bf(0x1d9)]);await mkdir(_0x32d172,{'recursive':!![]}),await writeFile(_0x29c909,_0x1e5324,{'mode':0x180}),await writeFile(join(_0x32d172,_0x13e5bf(0x246)),_0x7cae5b,{'mode':0x180}),console['log'](_0x13e5bf(0x1b7)+_0x29c909),console['log'](_0x2510c1['YTWbN']);}async function fetchAuthServerMetadata(_0x18bb68){const _0x4df135=_0x1cacfd,_0x594baa=_0x18bb68+_0x4df135(0x241),_0x12d9df=await fetch(_0x594baa);if(!_0x12d9df['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x594baa+':\x20'+_0x12d9df[_0x4df135(0x219)]);return _0x12d9df['json']();}function waitForCallback(_0x4cdbe0){const _0x1c0070=_0x1cacfd,_0x433c26={'bobjG':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','SLrnn':'/callback','YDsbC':'Not\x20found','tkQCQ':_0x1c0070(0x1de),'zcpDJ':'error_description','GLTnP':function(_0x389735,_0xad5a49){return _0x389735(_0xad5a49);},'VKKqn':_0x1c0070(0x245),'YWaGt':_0x1c0070(0x214),'wMjvG':function(_0x4cdf91,_0x122935,_0x530d18){return _0x4cdf91(_0x122935,_0x530d18);},'dYKFp':_0x1c0070(0x1d6)};return new Promise((_0x337bcf,_0x27aad9)=>{const _0x3a4111=_0x1c0070,_0x2de7eb=()=>{const _0xa28a36=_0x158d;_0x48da6c['closeAllConnections'](),_0x48da6c[_0xa28a36(0x1cf)]();},_0x5d554c=_0x433c26[_0x3a4111(0x1d5)](setTimeout,()=>{_0x2de7eb(),_0x27aad9(new OAuthTimeoutError(_0x433c26['bobjG']));},0x1d4c0),_0x48da6c=_0x433c26[_0x3a4111(0x1bd)](createServer,(_0x272135,_0xcb8506)=>{const _0x58a6a2=_0x3a4111,_0x3c37f8=new URL(_0x272135[_0x58a6a2(0x228)]??'/',_0x58a6a2(0x20a)+CALLBACK_PORT);if(_0x3c37f8[_0x58a6a2(0x234)]!==_0x433c26[_0x58a6a2(0x247)]){_0xcb8506['writeHead'](0x194),_0xcb8506['end'](_0x433c26['YDsbC']);return;}const _0x62f854=_0x3c37f8['searchParams'][_0x58a6a2(0x1f5)]('code'),_0x45a1a5=_0x3c37f8['searchParams']['get'](_0x433c26[_0x58a6a2(0x1c1)]),_0x36d8ed=_0x3c37f8['searchParams'][_0x58a6a2(0x1f5)](_0x58a6a2(0x1da));if(_0x36d8ed){const _0x3635e5=_0x3c37f8[_0x58a6a2(0x211)]['get'](_0x433c26['zcpDJ'])??_0x36d8ed;_0xcb8506['writeHead'](0xc8,{'Content-Type':_0x58a6a2(0x245)}),_0xcb8506['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x3635e5+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x433c26[_0x58a6a2(0x1bd)](clearTimeout,_0x5d554c),_0x2de7eb(),_0x27aad9(new Error('OAuth\x20error:\x20'+_0x3635e5));return;}if(!_0x62f854||_0x45a1a5!==_0x4cdbe0){_0xcb8506[_0x58a6a2(0x1cc)](0x190,{'Content-Type':_0x58a6a2(0x245)}),_0xcb8506[_0x58a6a2(0x1e3)](_0x58a6a2(0x22e));return;}_0xcb8506['writeHead'](0xc8,{'Content-Type':_0x433c26[_0x58a6a2(0x240)]}),_0xcb8506['end'](_0x433c26[_0x58a6a2(0x218)]),_0x433c26['GLTnP'](clearTimeout,_0x5d554c),_0x2de7eb(),_0x433c26['GLTnP'](_0x337bcf,_0x62f854);});_0x48da6c[_0x3a4111(0x1c6)](CALLBACK_PORT,_0x433c26['dYKFp']);});}async function openBrowser(_0x4afc25){const _0xcfbb62=_0x1cacfd,_0x10ef19={'Dlhkx':'darwin','qqhUd':function(_0x7dc487,_0x247b2f){return _0x7dc487===_0x247b2f;},'cGiBy':function(_0x3c8241,_0x2cd9db){return _0x3c8241(_0x2cd9db);}},_0x333c72=process['platform']===_0x10ef19[_0xcfbb62(0x1f3)]?_0xcfbb62(0x227):_0x10ef19[_0xcfbb62(0x20d)](process[_0xcfbb62(0x21f)],_0xcfbb62(0x1ff))?_0xcfbb62(0x22c):'xdg-open';_0x10ef19['cGiBy'](exec,_0x333c72+'\x20\x22'+_0x4afc25+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x80091e=_0x1cacfd,_0x15be03={'YkzFV':function(_0xd354e,_0x4a7f20){return _0xd354e!==_0x4a7f20;},'ZSGVo':function(_0x52078e,_0x1be7f2){return _0x52078e>_0x1be7f2;}};try{const _0x780f62=JSON[_0x80091e(0x1b2)](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x780f62['origin']&&_0x15be03['YkzFV'](_0x780f62[_0x80091e(0x1e8)],currentOrigin))return null;if(_0x780f62[_0x80091e(0x1e4)]&&_0x15be03['ZSGVo'](Date['now'](),_0x780f62[_0x80091e(0x1e4)]))return null;return _0x780f62['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0xb9e81c,_0x371c73,_0x11a0b4){const _0x946c6e=_0x1cacfd,_0xb47ab3={'AXeWa':function(_0x1f5e06,_0x4df92e){return _0x1f5e06+_0x4df92e;},'qkhuY':function(_0x3aa29b,_0x54d3bb,_0x5d26de){return _0x3aa29b(_0x54d3bb,_0x5d26de);},'rjjvE':function(_0x5f0149){return _0x5f0149();}},_0x286bad=await loadCachedData(),_0x285dcb={..._0x286bad,'origin':currentOrigin,'accessToken':_0xb9e81c,'refreshToken':_0x371c73??_0x286bad?.[_0x946c6e(0x229)],'expiresAt':_0x11a0b4?_0xb47ab3[_0x946c6e(0x23b)](Date[_0x946c6e(0x209)](),_0x11a0b4*0x3e8):undefined};await _0xb47ab3['qkhuY'](mkdir,join(_0xb47ab3['rjjvE'](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x946c6e(0x23e)](_0x285dcb),{'mode':0x180});}function _0x158d(_0x13cf0c,_0x3afbe4){_0x13cf0c=_0x13cf0c-0x1b2;const _0x5cd5e3=_0x5cd5();let _0x158dd0=_0x5cd5e3[_0x13cf0c];return _0x158dd0;}async function loadCachedClient(){const _0x32aad2=_0x1cacfd,_0x3227a1={'amDRa':function(_0x133b0,_0xad0372){return _0x133b0!==_0xad0372;}},_0x48d687=await loadCachedData();if(_0x48d687?.['origin']&&_0x3227a1[_0x32aad2(0x1e9)](_0x48d687['origin'],currentOrigin))return null;return _0x48d687?.['clientId']?{'clientId':_0x48d687[_0x32aad2(0x1e6)],'clientSecret':_0x48d687[_0x32aad2(0x23c)]}:null;}async function clearCachedClient(){const _0x4eead9=_0x1cacfd,_0x19df4e=await loadCachedData();if(!_0x19df4e)return;const {clientId:_0x334703,clientSecret:_0x118ba8,..._0x2082fb}=_0x19df4e;await writeFile(TOKEN_CACHE_PATH,JSON[_0x4eead9(0x23e)](_0x2082fb),{'mode':0x180});}async function saveCachedClient(_0x195e4d,_0x2e1145){const _0x55bcf6=_0x1cacfd,_0x29a8ce={'ptSIp':function(_0x39edf1,_0x5ade8b,_0x1935a3){return _0x39edf1(_0x5ade8b,_0x1935a3);},'noOie':'.ranger'},_0x55b783=await loadCachedData(),_0x2c3662={..._0x55b783,'origin':currentOrigin,'accessToken':_0x55b783?.['accessToken']??'','clientId':_0x195e4d,'clientSecret':_0x2e1145};await mkdir(_0x29a8ce['ptSIp'](join,homedir(),_0x29a8ce[_0x55bcf6(0x22d)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x2c3662),{'mode':0x180});}async function loadCachedData(){const _0x55cdbf=_0x1cacfd,_0x3031ac={'MsEJh':'utf-8'};try{return JSON[_0x55cdbf(0x1b2)](await readFile(TOKEN_CACHE_PATH,_0x3031ac['MsEJh']));}catch{return null;}}async function parseResponse(_0x418395){const _0x52aaf9=_0x1cacfd,_0x264955=_0x418395['headers']['get']('content-type')??'';if(_0x264955['includes'](_0x52aaf9(0x1cd))){const _0x2b7720=await _0x418395['text']();for(const _0x394b12 of _0x2b7720['split']('\x0a')){const _0x38fd52=_0x394b12[_0x52aaf9(0x23a)]();if(_0x38fd52[_0x52aaf9(0x1c3)]('data:')){const _0x27fc22=_0x38fd52[_0x52aaf9(0x233)]('data:'['length'])[_0x52aaf9(0x23a)]();if(!_0x27fc22)continue;try{const _0x49c06b=JSON[_0x52aaf9(0x1b2)](_0x27fc22);if(_0x49c06b['id']!==undefined||_0x49c06b[_0x52aaf9(0x1da)])return _0x49c06b;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x418395['json']();}function extractToken(_0x11d98a){const _0x4039c2=_0x1cacfd,_0x26b440={'NrcGB':'string','HtaqD':_0x4039c2(0x1d1),'rDRiX':function(_0x22a71f,_0x479769){return _0x22a71f===_0x479769;},'UHlai':'text'};if(!_0x11d98a)return null;const _0x4c778f=_0x11d98a['structuredContent'];if(_0x4c778f?.['token']&&typeof _0x4c778f[_0x4039c2(0x238)]===_0x26b440[_0x4039c2(0x1c5)])return _0x4c778f['token'];if(_0x11d98a['isError']){const _0x9609c6=_0x11d98a[_0x4039c2(0x222)];throw new Error('Server\x20returned\x20error:\x20'+(_0x9609c6?.[0x0]?.[_0x4039c2(0x207)]??_0x26b440['HtaqD']));}const _0x1b366a=_0x11d98a['content'];if(_0x1b366a)for(const _0x4e9d61 of _0x1b366a){if(_0x26b440[_0x4039c2(0x21c)](_0x4e9d61['type'],_0x26b440[_0x4039c2(0x1d4)])&&_0x4e9d61['text']){try{const _0xf7c4d=JSON['parse'](_0x4e9d61['text']);if(typeof _0xf7c4d?.[_0x4039c2(0x238)]===_0x4039c2(0x1d3))return _0xf7c4d['token'];}catch{}const _0x5c6746=_0x4e9d61['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x5c6746)return _0x5c6746[0x1];}}return null;}
@@ -1 +1 @@
1
- function _0x4055(_0x512fb9,_0x1f7ffd){_0x512fb9=_0x512fb9-0x1de;var _0x17c567=_0x17c5();var _0x40553a=_0x17c567[_0x512fb9];return _0x40553a;}(function(_0x3b3f95,_0x5317e4){var _0x2456a9=_0x4055,_0x351347=_0x3b3f95();while(!![]){try{var _0x16915e=parseInt(_0x2456a9(0x1e4))/0x1*(parseInt(_0x2456a9(0x1ee))/0x2)+parseInt(_0x2456a9(0x1de))/0x3*(parseInt(_0x2456a9(0x1ec))/0x4)+parseInt(_0x2456a9(0x1e3))/0x5+parseInt(_0x2456a9(0x1eb))/0x6*(parseInt(_0x2456a9(0x1e9))/0x7)+parseInt(_0x2456a9(0x1ea))/0x8+-parseInt(_0x2456a9(0x1ed))/0x9+-parseInt(_0x2456a9(0x1df))/0xa*(parseInt(_0x2456a9(0x1e8))/0xb);if(_0x16915e===_0x5317e4)break;else _0x351347['push'](_0x351347['shift']());}catch(_0x36444e){_0x351347['push'](_0x351347['shift']());}}}(_0x17c5,0xb0652));export async function migrateProfile(_0x4734f1,_0x317ec0){var _0x25c22c=_0x4055,_0x4e16b0={'cWCLi':function(_0x50817c,_0x778ad2){return _0x50817c+_0x778ad2;},'wPaWh':function(_0x44affa,_0x41d608){return _0x44affa+_0x41d608;},'IuNTu':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','CROlF':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','jbAIe':_0x25c22c(0x1e1),'kkMei':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','oaflr':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console['error'](_0x4e16b0[_0x25c22c(0x1e7)](_0x4e16b0[_0x25c22c(0x1e2)](_0x4e16b0[_0x25c22c(0x1e2)](_0x4e16b0[_0x25c22c(0x1e0)],'\x0a')+_0x4e16b0[_0x25c22c(0x1e6)]+'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'+'\x0a'+_0x4e16b0['jbAIe']+_0x4e16b0[_0x25c22c(0x1e5)],'\x0a'),_0x4e16b0['oaflr'])+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process['exit'](0x1);}function _0x17c5(){var _0x4fb234=['wPaWh','3743435HZOvMG','42121fUmGGC','kkMei','CROlF','cWCLi','44YfaljT','7dmyczt','1190176FoPimi','258132hDmwwX','5725444nNgexc','8192187AaSAGa','62eEAplW','3WqKAMH','5112090PwMljG','IuNTu','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'];_0x17c5=function(){return _0x4fb234;};return _0x17c5();}
1
+ (function(_0x1d403a,_0x297dc2){var _0x472cc0=_0xb586,_0x1e15fb=_0x1d403a();while(!![]){try{var _0x492a95=-parseInt(_0x472cc0(0x103))/0x1+parseInt(_0x472cc0(0x10c))/0x2+-parseInt(_0x472cc0(0x109))/0x3+-parseInt(_0x472cc0(0x107))/0x4*(-parseInt(_0x472cc0(0x10e))/0x5)+-parseInt(_0x472cc0(0x10f))/0x6*(parseInt(_0x472cc0(0x10b))/0x7)+-parseInt(_0x472cc0(0x106))/0x8+-parseInt(_0x472cc0(0x102))/0x9*(-parseInt(_0x472cc0(0x110))/0xa);if(_0x492a95===_0x297dc2)break;else _0x1e15fb['push'](_0x1e15fb['shift']());}catch(_0x38fd09){_0x1e15fb['push'](_0x1e15fb['shift']());}}}(_0x26ac,0x4e3e7));export async function migrateProfile(_0x457613,_0x3b1878){var _0x555b09=_0xb586,_0x23d913={'HOQwE':function(_0x4dc48e,_0x3937b1){return _0x4dc48e+_0x3937b1;},'eLKpw':function(_0x38ab92,_0x11f80f){return _0x38ab92+_0x11f80f;},'OpYAz':function(_0x346460,_0x580f1b){return _0x346460+_0x580f1b;},'rBQCf':function(_0x39ffba,_0x2d46ef){return _0x39ffba+_0x2d46ef;},'fICnF':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','pMbHn':_0x555b09(0x112),'GbkvZ':'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'};console[_0x555b09(0x101)](_0x23d913[_0x555b09(0x105)](_0x23d913[_0x555b09(0x105)](_0x23d913[_0x555b09(0x105)](_0x23d913['eLKpw'](_0x23d913['OpYAz'](_0x23d913[_0x555b09(0x111)](_0x555b09(0x113)+'\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'),'\x20\x20ranger\x20profile\x20add\x20<name>\x0a')+'\x0a'+_0x23d913[_0x555b09(0x10a)],_0x23d913[_0x555b09(0x108)]),'\x0a'),_0x555b09(0x10d)),_0x23d913[_0x555b09(0x104)])),process['exit'](0x1);}function _0xb586(_0x4d6484,_0x29fe64){_0x4d6484=_0x4d6484-0x101;var _0x26ac5d=_0x26ac();var _0xb5868f=_0x26ac5d[_0x4d6484];return _0xb5868f;}function _0x26ac(){var _0x4c8048=['24pXqpWY','10HXexEr','rBQCf','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','error','11830113uraBLU','591451ePbHsK','GbkvZ','HOQwE','3226672BSywGP','4AxCXDx','pMbHn','550524qRGasa','fICnF','373639ckbore','430572UUUzZl','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','912725bXbgYb'];_0x26ac=function(){return _0x4c8048;};return _0x26ac();}
@@ -1 +1 @@
1
- (function(_0x5a4d3b,_0x19f1ba){const _0x5a8f21=_0x5d56,_0x38002b=_0x5a4d3b();while(!![]){try{const _0xdf7592=-parseInt(_0x5a8f21(0x17d))/0x1+-parseInt(_0x5a8f21(0x171))/0x2*(parseInt(_0x5a8f21(0x1a3))/0x3)+parseInt(_0x5a8f21(0x198))/0x4+parseInt(_0x5a8f21(0x19a))/0x5*(parseInt(_0x5a8f21(0x1a2))/0x6)+-parseInt(_0x5a8f21(0x16d))/0x7*(parseInt(_0x5a8f21(0x19f))/0x8)+-parseInt(_0x5a8f21(0x175))/0x9*(-parseInt(_0x5a8f21(0x170))/0xa)+parseInt(_0x5a8f21(0x190))/0xb;if(_0xdf7592===_0x19f1ba)break;else _0x38002b['push'](_0x38002b['shift']());}catch(_0x3c36cf){_0x38002b['push'](_0x38002b['shift']());}}}(_0x17f6,0x7c7af));import{join}from'path';import{existsSync}from'fs';import _0x52a815 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x5d56(_0x3e1f70,_0x21ccd0){_0x3e1f70=_0x3e1f70-0x16b;const _0x17f694=_0x17f6();let _0x5d56ac=_0x17f694[_0x3e1f70];return _0x5d56ac;}function _0x17f6(){const _0xcc043b=['wZtGl','prompt','rTigW','pluginScope','push','list','UqIVm','⚠\x20Failed\x20to\x20enable\x20plugin:','nqoJr','ustUJ','ugHcx','22865007MrFliD','success','✓\x20Marketplace\x20already\x20added','hnpNv','log','qZEfp','✓\x20Ranger\x20skills\x20already\x20installed','output','812776AGrDOj','already\x20enabled','10785NcWDZX','iBAKS','error','User\x20(available\x20in\x20all\x20your\x20projects)','wantsSkillup','3652496wkSgXB','Where\x20should\x20the\x20plugin\x20be\x20installed?','GIrul','732PBtYrD','15003WkMkQA','project','ASTCl','JbZEt','\x20level)...\x0a','14PdAUDZ','HiebS','gRhxH','3770IUtpZq','214hZAMLX','ranger@trailhead','includes','iMHXv','3744ikdkFW','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','Project\x20(shared\x20with\x20team\x20via\x20git)','\x0aYou\x20can\x20install\x20manually\x20with:','JaSBZ','.claude','ohFdQ','cpKkS','743715EdRCAo','--scope','gAvha','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','oiOhi','EWXFf','user','✓\x20Claude\x20Code\x20plugin\x20enabled'];_0x17f6=function(){return _0xcc043b;};return _0x17f6();}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x3a2cca){const _0x3e4bf0=_0x5d56,_0x81b83={'Ahngv':function(_0x57fe6c,_0x400ca3){return _0x57fe6c(_0x400ca3);},'ohFdQ':_0x3e4bf0(0x172),'qZEfp':function(_0x2e0857,_0x446f4a,_0x4a084c){return _0x2e0857(_0x446f4a,_0x4a084c);},'DDgxr':_0x3e4bf0(0x17a),'HiebS':_0x3e4bf0(0x18a),'hpfjm':_0x3e4bf0(0x188),'iBAKS':_0x3e4bf0(0x19d),'cpKkS':'user','JaSBZ':_0x3e4bf0(0x177),'ASTCl':'project','wKTPq':'trailhead','EWXFf':_0x3e4bf0(0x192),'wZtGl':'plugin','gRhxH':'add','GIrul':'❌\x20Failed\x20to\x20add\x20marketplace:','rTigW':_0x3e4bf0(0x176),'ugHcx':'install','HGFpN':function(_0x1869de,_0x11a8a7){return _0x1869de===_0x11a8a7;},'gAvha':function(_0x19b91b){return _0x19b91b();},'yMVzn':'❌\x20Failed\x20to\x20install\x20plugin:','OHmPB':_0x3e4bf0(0x178),'ustUJ':'enable','tjtjk':_0x3e4bf0(0x17e),'JbZEt':function(_0x3b39b0,_0xef7c8d){return _0x3b39b0===_0xef7c8d;},'nqoJr':function(_0x8db4da){return _0x8db4da();}},_0x2a76a0=await _0x81b83['Ahngv'](isPluginInstalled,_0x81b83[_0x3e4bf0(0x17b)]);if(_0x2a76a0)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x551e31=existsSync(_0x81b83[_0x3e4bf0(0x195)](join,getProjectRoot(),_0x81b83['DDgxr']));let _0x1a8704;if(_0x3a2cca)_0x1a8704=_0x3a2cca;else{if(_0x551e31)_0x1a8704='project';else{console['log']('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x33a01a=await _0x52a815[_0x3e4bf0(0x186)]([{'type':_0x81b83[_0x3e4bf0(0x16e)],'name':_0x81b83['hpfjm'],'message':_0x3e4bf0(0x1a0),'choices':[{'name':_0x81b83[_0x3e4bf0(0x19b)],'value':_0x81b83[_0x3e4bf0(0x17c)]},{'name':_0x81b83[_0x3e4bf0(0x179)],'value':_0x81b83[_0x3e4bf0(0x1a5)]}],'default':'user'}]);_0x1a8704=_0x33a01a['pluginScope'];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x1a8704+_0x3e4bf0(0x16c));const _0x1be100=await isMarketplaceAdded(_0x81b83['wKTPq']);let _0x4e7f60=_0x1be100;if(_0x1be100)console['log'](_0x81b83[_0x3e4bf0(0x182)]);else{const _0x4e7e7e=await runClaudeCommand([_0x81b83['wZtGl'],'marketplace',_0x81b83[_0x3e4bf0(0x16f)],'ranger-testing/trailhead']);!_0x4e7e7e[_0x3e4bf0(0x191)]?(console[_0x3e4bf0(0x19c)](_0x81b83[_0x3e4bf0(0x1a1)],_0x4e7e7e['error']),console[_0x3e4bf0(0x194)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log'](_0x81b83[_0x3e4bf0(0x187)]),console['log'](_0x3e4bf0(0x180)+_0x1a8704)):_0x4e7f60=!![];}if(_0x4e7f60){const _0xb14bd1=await runClaudeCommand(['plugin',_0x81b83[_0x3e4bf0(0x18f)],_0x81b83['ohFdQ'],_0x3e4bf0(0x17e),_0x1a8704],{'cwd':_0x81b83['HGFpN'](_0x1a8704,_0x3e4bf0(0x1a4))?_0x81b83[_0x3e4bf0(0x17f)](getProjectRoot):undefined});if(!_0xb14bd1['success'])console['error'](_0x81b83['yMVzn'],_0xb14bd1['error']),console['log'](_0x81b83['OHmPB']),console[_0x3e4bf0(0x194)](_0x3e4bf0(0x180)+_0x1a8704);else{console[_0x3e4bf0(0x194)]('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x4ccfcb=[_0x81b83[_0x3e4bf0(0x185)],_0x81b83[_0x3e4bf0(0x18e)],_0x81b83['ohFdQ']];_0x81b83['HGFpN'](_0x1a8704,'project')&&_0x4ccfcb[_0x3e4bf0(0x189)](_0x81b83['tjtjk'],_0x81b83['ASTCl']);const _0x3539c3=await runClaudeCommand(_0x4ccfcb,{'captureOutput':!![],'cwd':_0x81b83[_0x3e4bf0(0x16b)](_0x1a8704,_0x81b83[_0x3e4bf0(0x1a5)])?_0x81b83[_0x3e4bf0(0x18d)](getProjectRoot):undefined}),_0x38bbd6=_0x3539c3[_0x3e4bf0(0x197)]?.[_0x3e4bf0(0x173)](_0x3e4bf0(0x199));!_0x3539c3[_0x3e4bf0(0x191)]&&!_0x38bbd6?console['error'](_0x3e4bf0(0x18c),_0x3539c3[_0x3e4bf0(0x19c)]):console['log'](_0x3e4bf0(0x184));}}return!![];}export async function ensureClaudeSkills(_0x4c3c7f){const _0x580eab=_0x5d56,_0x5e8379={'xiWAI':_0x580eab(0x183),'iMHXv':function(_0x4f2e21,_0x3a221e){return _0x4f2e21(_0x3a221e);},'UqIVm':_0x580eab(0x1a4),'oiOhi':'ranger','Jxgxu':'SKILL.md','hnpNv':_0x580eab(0x196),'zjZMs':'confirm','ZoqNF':'Would\x20you\x20like\x20to\x20install\x20skills?'},_0x4010ff=existsSync(join(getSkillsDir(_0x5e8379['xiWAI']),'ranger','SKILL.md')),_0x95d06a=_0x5e8379[_0x580eab(0x174)](existsSync,join(getSkillsDir(_0x5e8379[_0x580eab(0x18b)]),_0x5e8379[_0x580eab(0x181)],_0x5e8379['Jxgxu']));if(_0x4010ff||_0x95d06a)return console[_0x580eab(0x194)](_0x5e8379[_0x580eab(0x193)]),![];const _0x255c47=existsSync(join(getProjectRoot(),'.claude'));let _0x10cbf5=!![];if(_0x4c3c7f)await skillup({'autoInstall':_0x4c3c7f,'suppressUsage':!![]});else{if(_0x255c47)await skillup({'autoInstall':_0x5e8379['UqIVm'],'suppressUsage':!![]});else{const _0x560ca2=await _0x52a815['prompt']([{'type':_0x5e8379['zjZMs'],'name':_0x580eab(0x19e),'message':_0x5e8379['ZoqNF'],'default':!![]}]);_0x10cbf5=_0x560ca2['wantsSkillup'],_0x10cbf5&&await skillup({'suppressUsage':!![]});}}return _0x10cbf5;}
1
+ (function(_0x3832d1,_0x337c12){const _0x51cb66=_0x58af,_0x138db6=_0x3832d1();while(!![]){try{const _0x1ad68a=parseInt(_0x51cb66(0xe7))/0x1*(-parseInt(_0x51cb66(0x101))/0x2)+parseInt(_0x51cb66(0x10d))/0x3+-parseInt(_0x51cb66(0x11b))/0x4*(-parseInt(_0x51cb66(0xfc))/0x5)+parseInt(_0x51cb66(0xff))/0x6*(-parseInt(_0x51cb66(0x109))/0x7)+-parseInt(_0x51cb66(0xfa))/0x8+parseInt(_0x51cb66(0xeb))/0x9*(-parseInt(_0x51cb66(0xf2))/0xa)+parseInt(_0x51cb66(0x11d))/0xb;if(_0x1ad68a===_0x337c12)break;else _0x138db6['push'](_0x138db6['shift']());}catch(_0x54a20b){_0x138db6['push'](_0x138db6['shift']());}}}(_0x4151,0xe4fa8));import{join}from'path';function _0x58af(_0x40cc05,_0x49f2e2){_0x40cc05=_0x40cc05-0xe5;const _0x41511d=_0x4151();let _0x58af90=_0x41511d[_0x40cc05];return _0x58af90;}import{existsSync}from'fs';import _0x48edff 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(_0x4ac700){const _0x2870ef=_0x58af,_0x22570e={'JSQhb':_0x2870ef(0x104),'fSCUP':_0x2870ef(0x100),'QLpYB':function(_0x2d6145,_0x2dc116){return _0x2d6145(_0x2dc116);},'FedCf':function(_0x40698a,_0x35fc32,_0x2b7893){return _0x40698a(_0x35fc32,_0x2b7893);},'nueop':function(_0x3896b2){return _0x3896b2();},'jBkDN':_0x2870ef(0xf4),'sdQuk':_0x2870ef(0xea),'UPkZA':'User\x20(available\x20in\x20all\x20your\x20projects)','RwQSc':_0x2870ef(0x10b),'QBgQT':_0x2870ef(0x113),'nssIX':function(_0x3331c5,_0x29b3ef){return _0x3331c5(_0x29b3ef);},'XAjeI':_0x2870ef(0x116),'kvEFG':_0x2870ef(0x114),'afdKC':'plugin','ucEFY':_0x2870ef(0x10c),'ZhCdt':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','ywzrB':_0x2870ef(0x115),'LIwrj':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','pUgXT':_0x2870ef(0x10f),'EeJsJ':function(_0x555c00,_0x2076c0){return _0x555c00===_0x2076c0;},'qgzeU':_0x2870ef(0x106)},_0xaab723=await isPluginInstalled(_0x22570e[_0x2870ef(0x120)]);if(_0xaab723)return console[_0x2870ef(0xfb)](_0x22570e['fSCUP']),![];const _0x6357b1=_0x22570e[_0x2870ef(0xf7)](existsSync,_0x22570e[_0x2870ef(0xee)](join,_0x22570e[_0x2870ef(0x108)](getProjectRoot),_0x22570e[_0x2870ef(0xe9)]));let _0x4c129f;if(_0x4ac700)_0x4c129f=_0x4ac700;else{if(_0x6357b1)_0x4c129f=_0x2870ef(0x113);else{console['log'](_0x2870ef(0x107));const _0x5706f1=await _0x48edff['prompt']([{'type':_0x2870ef(0xef),'name':_0x2870ef(0xed),'message':_0x22570e['sdQuk'],'choices':[{'name':_0x22570e['UPkZA'],'value':_0x2870ef(0x10a)},{'name':_0x22570e[_0x2870ef(0xec)],'value':_0x22570e['QBgQT']}],'default':_0x2870ef(0x10a)}]);_0x4c129f=_0x5706f1[_0x2870ef(0xed)];}}console[_0x2870ef(0xfb)](_0x2870ef(0x103)+_0x4c129f+'\x20level)...\x0a');const _0x522eab=await _0x22570e[_0x2870ef(0xe8)](isMarketplaceAdded,_0x22570e['XAjeI']);let _0x4c3b14=_0x522eab;if(_0x522eab)console[_0x2870ef(0xfb)](_0x22570e['kvEFG']);else{const _0x6935da=await _0x22570e[_0x2870ef(0xe8)](runClaudeCommand,[_0x22570e[_0x2870ef(0x111)],'marketplace',_0x22570e[_0x2870ef(0xe6)],_0x2870ef(0xfe)]);!_0x6935da['success']?(console[_0x2870ef(0xf1)](_0x2870ef(0x10e),_0x6935da[_0x2870ef(0xf1)]),console['log'](_0x2870ef(0xf8)),console['log'](_0x22570e['ZhCdt']),console[_0x2870ef(0xfb)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x4c129f)):_0x4c3b14=!![];}if(_0x4c3b14){const _0x57fd13=await _0x22570e[_0x2870ef(0xee)](runClaudeCommand,[_0x22570e['afdKC'],_0x2870ef(0x110),_0x22570e[_0x2870ef(0x120)],_0x2870ef(0x10f),_0x4c129f],{'cwd':_0x4c129f===_0x22570e['QBgQT']?_0x22570e['nueop'](getProjectRoot):undefined});if(!_0x57fd13[_0x2870ef(0xf9)])console['error'](_0x22570e['ywzrB'],_0x57fd13['error']),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x4c129f);else{console[_0x2870ef(0xfb)](_0x22570e[_0x2870ef(0xf0)]);const _0x312d63=[_0x2870ef(0xf3),'enable',_0x22570e[_0x2870ef(0x120)]];_0x4c129f===_0x22570e[_0x2870ef(0x118)]&&_0x312d63['push'](_0x22570e[_0x2870ef(0x119)],_0x2870ef(0x113));const _0x175dfa=await runClaudeCommand(_0x312d63,{'captureOutput':!![],'cwd':_0x22570e['EeJsJ'](_0x4c129f,_0x22570e[_0x2870ef(0x118)])?getProjectRoot():undefined}),_0x124966=_0x175dfa[_0x2870ef(0x102)]?.['includes']('already\x20enabled');!_0x175dfa[_0x2870ef(0xf9)]&&!_0x124966?console[_0x2870ef(0xf1)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x175dfa['error']):console[_0x2870ef(0xfb)](_0x22570e['qgzeU']);}}return!![];}export async function ensureClaudeSkills(_0x46c3db){const _0x43908b=_0x58af,_0x17a39f={'vcCbv':function(_0x43315e,_0x168b8e){return _0x43315e(_0x168b8e);},'vaGjc':function(_0x226287,_0x51784d,_0x3cabd9,_0x5e1fc7){return _0x226287(_0x51784d,_0x3cabd9,_0x5e1fc7);},'uABsB':'ranger','bQzuJ':'SKILL.md','pauUL':function(_0x1647f6,_0x3f39e9,_0x515ae6,_0x30e21b){return _0x1647f6(_0x3f39e9,_0x515ae6,_0x30e21b);},'ymDjD':'project','aETNb':'✓\x20Ranger\x20skills\x20already\x20installed','MQuIm':function(_0x4e1dfd,_0x3e476d,_0x152f5f){return _0x4e1dfd(_0x3e476d,_0x152f5f);},'WNcrg':function(_0x2580e1){return _0x2580e1();},'TjQwM':_0x43908b(0xe5)},_0x41cfee=_0x17a39f['vcCbv'](existsSync,_0x17a39f['vaGjc'](join,_0x17a39f['vcCbv'](getSkillsDir,_0x43908b(0x10a)),_0x17a39f[_0x43908b(0x11f)],_0x17a39f[_0x43908b(0xf6)])),_0x2b1c6c=_0x17a39f['vcCbv'](existsSync,_0x17a39f[_0x43908b(0x11a)](join,getSkillsDir(_0x17a39f[_0x43908b(0x112)]),'ranger',_0x17a39f['bQzuJ']));if(_0x41cfee||_0x2b1c6c)return console['log'](_0x17a39f[_0x43908b(0xfd)]),![];const _0x3e8b47=_0x17a39f['vcCbv'](existsSync,_0x17a39f[_0x43908b(0x105)](join,_0x17a39f['WNcrg'](getProjectRoot),'.claude'));let _0x3e4ccb=!![];if(_0x46c3db)await _0x17a39f[_0x43908b(0x117)](skillup,{'autoInstall':_0x46c3db,'suppressUsage':!![]});else{if(_0x3e8b47)await skillup({'autoInstall':_0x17a39f['ymDjD'],'suppressUsage':!![]});else{const _0x5ee9b4=await _0x48edff[_0x43908b(0x11e)]([{'type':'confirm','name':_0x17a39f[_0x43908b(0x11c)],'message':_0x43908b(0xf5),'default':!![]}]);_0x3e4ccb=_0x5ee9b4['wantsSkillup'],_0x3e4ccb&&await skillup({'suppressUsage':!![]});}}return _0x3e4ccb;}function _0x4151(){const _0x451d81=['QLpYB','\x0aYou\x20can\x20install\x20manually\x20with:','success','8720536NccXFN','log','510PrhXtR','aETNb','ranger-testing/trailhead','12YbaFig','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','1205642JoqUIT','output','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','ranger@trailhead','MQuIm','✓\x20Claude\x20Code\x20plugin\x20enabled','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','nueop','4990391BRbqxO','user','Project\x20(shared\x20with\x20team\x20via\x20git)','add','1368456UveTVX','❌\x20Failed\x20to\x20add\x20marketplace:','--scope','install','afdKC','ymDjD','project','✓\x20Marketplace\x20already\x20added','❌\x20Failed\x20to\x20install\x20plugin:','trailhead','vcCbv','QBgQT','pUgXT','pauUL','67812hPZcBP','TjQwM','38841286UnamXN','prompt','uABsB','JSQhb','wantsSkillup','ucEFY','1tykiJq','nssIX','jBkDN','Where\x20should\x20the\x20plugin\x20be\x20installed?','7468983qqnadF','RwQSc','pluginScope','FedCf','list','LIwrj','error','20NvOsDH','plugin','.claude','Would\x20you\x20like\x20to\x20install\x20skills?','bQzuJ'];_0x4151=function(){return _0x451d81;};return _0x4151();}
@@ -1 +1 @@
1
- (function(_0x35025f,_0x3b0f13){const _0x41eadb=_0x7d2d,_0x4abb42=_0x35025f();while(!![]){try{const _0x20d45f=-parseInt(_0x41eadb(0xe0))/0x1*(-parseInt(_0x41eadb(0xd4))/0x2)+parseInt(_0x41eadb(0xdb))/0x3*(-parseInt(_0x41eadb(0xc6))/0x4)+-parseInt(_0x41eadb(0xd7))/0x5*(parseInt(_0x41eadb(0xcb))/0x6)+parseInt(_0x41eadb(0xdf))/0x7+-parseInt(_0x41eadb(0xce))/0x8+-parseInt(_0x41eadb(0xd5))/0x9*(-parseInt(_0x41eadb(0xca))/0xa)+-parseInt(_0x41eadb(0xd0))/0xb;if(_0x20d45f===_0x3b0f13)break;else _0x4abb42['push'](_0x4abb42['shift']());}catch(_0x3fc4ca){_0x4abb42['push'](_0x4abb42['shift']());}}}(_0x5e8f,0x20e79));import{join}from'path';function _0x7d2d(_0x7677ed,_0x446e8c){_0x7677ed=_0x7677ed-0xc4;const _0x5e8f36=_0x5e8f();let _0x7d2d8c=_0x5e8f36[_0x7677ed];return _0x7d2d8c;}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x5e8f(){const _0x5ce4c3=['project','PGslI','1827952DUrLBR','2851LZLgDj','user','prompt','754764bPlNoq','log','Project\x20(shared\x20with\x20team\x20via\x20git)','zYCDt','30INyKwi','564mzUmDz','parse','stringify','566376ULAhQm','lOlUv','1201464mBugTE','pluginScope','ZaHxw','lxMIy','76EJvous','657819KbLUMI','plugin','4535bcUYgS','zbPRQ','https://opencode.ai/config.json','opencode.json','3XrOCoQ','sXxxD'];_0x5e8f=function(){return _0x5ce4c3;};return _0x5e8f();}import _0x49cd87 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0xd440be){const _0x27785f=_0x7d2d,_0x32e89b={'lxMIy':function(_0x305fa5,_0x5bb603){return _0x305fa5(_0x5bb603);},'WDPfj':'project','zYCDt':'\x0a📦\x20OpenCode\x20Plugin\x0a','PGslI':'list','ZaHxw':'User\x20(available\x20in\x20all\x20your\x20projects)','rQoQL':'user','zbPRQ':_0x27785f(0xc8),'lOlUv':function(_0x5351d6,_0x46f0ce,_0x2b9bee){return _0x5351d6(_0x46f0ce,_0x2b9bee);},'sXxxD':'utf-8','wGTTQ':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','vfKnP':'Failed\x20to\x20read\x20opencode.json','AJVnL':'✓\x20OpenCode\x20plugin\x20configured'},_0x5f4a21=_0x32e89b[_0x27785f(0xd3)](existsSync,join(getOpencodeConfigDir(_0x32e89b['WDPfj']),_0x27785f(0xda)));let _0x35afc5;if(_0xd440be)_0x35afc5=_0xd440be;else{if(_0x5f4a21)_0x35afc5=_0x27785f(0xdd);else{console['log'](_0x32e89b[_0x27785f(0xc9)]);const _0x5434ea=await _0x49cd87[_0x27785f(0xc5)]([{'type':_0x32e89b[_0x27785f(0xde)],'name':_0x27785f(0xd1),'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x32e89b[_0x27785f(0xd2)],'value':_0x32e89b['rQoQL']},{'name':_0x32e89b[_0x27785f(0xd8)],'value':_0x32e89b['WDPfj']}],'default':_0x27785f(0xc4)}]);_0x35afc5=_0x5434ea['pluginScope'];}}const _0x2edb44=join(getOpencodeConfigDir(_0x35afc5),_0x27785f(0xda)),_0x5214df='@ranger-testing/opencode-plugin',_0x4f030a=_0x27785f(0xd9);let _0xdbf94a={};if(existsSync(_0x2edb44))try{const _0x422f6c=await _0x32e89b[_0x27785f(0xcf)](readFile,_0x2edb44,_0x32e89b[_0x27785f(0xdc)]);_0xdbf94a=JSON[_0x27785f(0xcc)](_0x422f6c);}catch(_0xa69c32){return console['error'](_0x32e89b['wGTTQ']),{'configured':![],'scope':_0x35afc5,'error':_0x32e89b['vfKnP'],'details':_0xa69c32};}const _0x488a35=Array['isArray'](_0xdbf94a[_0x27785f(0xd6)])?_0xdbf94a[_0x27785f(0xd6)]:[];if(_0x488a35['includes'](_0x5214df))return console[_0x27785f(0xc7)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x35afc5};return _0xdbf94a['$schema']=_0xdbf94a['$schema']||_0x4f030a,_0xdbf94a['plugin']=[..._0x488a35,_0x5214df],await mkdir(_0x32e89b['lxMIy'](getOpencodeConfigDir,_0x35afc5),{'recursive':!![]}),await writeFile(_0x2edb44,JSON[_0x27785f(0xcd)](_0xdbf94a,null,0x2)+'\x0a'),console['log'](_0x32e89b['AJVnL']),{'configured':!![],'scope':_0x35afc5};}
1
+ (function(_0xb39008,_0x38bf94){const _0x25ff6f=_0x2a3e,_0x15b8ae=_0xb39008();while(!![]){try{const _0x1ebcc0=parseInt(_0x25ff6f(0x19b))/0x1+-parseInt(_0x25ff6f(0x1a7))/0x2*(-parseInt(_0x25ff6f(0x1a3))/0x3)+-parseInt(_0x25ff6f(0x195))/0x4+parseInt(_0x25ff6f(0x193))/0x5+-parseInt(_0x25ff6f(0x1a1))/0x6*(parseInt(_0x25ff6f(0x1a4))/0x7)+parseInt(_0x25ff6f(0x18e))/0x8+parseInt(_0x25ff6f(0x194))/0x9*(-parseInt(_0x25ff6f(0x19e))/0xa);if(_0x1ebcc0===_0x38bf94)break;else _0x15b8ae['push'](_0x15b8ae['shift']());}catch(_0x576e22){_0x15b8ae['push'](_0x15b8ae['shift']());}}}(_0x2ac5,0x690ce));import{join}from'path';function _0x2ac5(){const _0x2e5727=['10QOPmkL','YUfxZ','RtxPV','utf-8','✓\x20OpenCode\x20plugin\x20already\x20configured','IPXBz','\x0a📦\x20OpenCode\x20Plugin\x0a','faDpl','includes','3086824kYUVfE','uAAQX','log','$schema','eETCn','921465FTJXhx','4608qMkNFj','691052koLjnd','Project\x20(shared\x20with\x20team\x20via\x20git)','GauNG','prompt','project','pluginScope','710536rYvAdJ','stringify','https://opencode.ai/config.json','20330AHaXSS','lqvNR','plugin','12XMohem','dCrfk','353859YcgbsH','792757atjjot','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','list'];_0x2ac5=function(){return _0x2e5727;};return _0x2ac5();}function _0x2a3e(_0x43da2e,_0x18010f){_0x43da2e=_0x43da2e-0x18d;const _0x2ac531=_0x2ac5();let _0x2a3e11=_0x2ac531[_0x43da2e];return _0x2a3e11;}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x20cd63 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x30efcc){const _0x41c8d4=_0x2a3e,_0x45b85f={'GauNG':function(_0x192747,_0x216e78){return _0x192747(_0x216e78);},'uAAQX':'project','faDpl':'opencode.json','eSgZB':_0x41c8d4(0x1ad),'rElhB':'pluginScope','UQLvF':'Where\x20should\x20the\x20plugin\x20be\x20installed?','RtxPV':_0x41c8d4(0x196),'GsvKm':'user','lqvNR':function(_0x949f4f,_0x150b7e,_0x23e299){return _0x949f4f(_0x150b7e,_0x23e299);},'dCrfk':function(_0x51a372,_0x18534e){return _0x51a372(_0x18534e);},'eETCn':_0x41c8d4(0x19d),'YUfxZ':function(_0x25f348,_0x9d521f,_0x932bb1){return _0x25f348(_0x9d521f,_0x932bb1);},'ZOHXv':_0x41c8d4(0x1aa),'mZDAs':_0x41c8d4(0x1a5),'IPXBz':'✓\x20OpenCode\x20plugin\x20configured'},_0x23f92f=_0x45b85f['GauNG'](existsSync,join(_0x45b85f[_0x41c8d4(0x197)](getOpencodeConfigDir,_0x45b85f[_0x41c8d4(0x18f)]),_0x45b85f[_0x41c8d4(0x1ae)]));let _0x13ed60;if(_0x30efcc)_0x13ed60=_0x30efcc;else{if(_0x23f92f)_0x13ed60='project';else{console[_0x41c8d4(0x190)](_0x45b85f['eSgZB']);const _0xdeb8d5=await _0x20cd63[_0x41c8d4(0x198)]([{'type':_0x41c8d4(0x1a6),'name':_0x45b85f['rElhB'],'message':_0x45b85f['UQLvF'],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':_0x45b85f[_0x41c8d4(0x1a9)],'value':_0x41c8d4(0x199)}],'default':_0x45b85f['GsvKm']}]);_0x13ed60=_0xdeb8d5[_0x41c8d4(0x19a)];}}const _0x9acd48=_0x45b85f['lqvNR'](join,_0x45b85f[_0x41c8d4(0x1a2)](getOpencodeConfigDir,_0x13ed60),'opencode.json'),_0x37e50d='@ranger-testing/opencode-plugin',_0xf62c77=_0x45b85f[_0x41c8d4(0x192)];let _0x53b79d={};if(existsSync(_0x9acd48))try{const _0x25b034=await _0x45b85f[_0x41c8d4(0x1a8)](readFile,_0x9acd48,_0x45b85f['ZOHXv']);_0x53b79d=JSON['parse'](_0x25b034);}catch(_0x21eb1a){return console['error'](_0x45b85f['mZDAs']),{'configured':![],'scope':_0x13ed60,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x21eb1a};}const _0x1b7380=Array['isArray'](_0x53b79d[_0x41c8d4(0x1a0)])?_0x53b79d[_0x41c8d4(0x1a0)]:[];if(_0x1b7380[_0x41c8d4(0x18d)](_0x37e50d))return console[_0x41c8d4(0x190)](_0x41c8d4(0x1ab)),{'configured':![],'scope':_0x13ed60};return _0x53b79d[_0x41c8d4(0x191)]=_0x53b79d['$schema']||_0xf62c77,_0x53b79d['plugin']=[..._0x1b7380,_0x37e50d],await mkdir(_0x45b85f['dCrfk'](getOpencodeConfigDir,_0x13ed60),{'recursive':!![]}),await _0x45b85f[_0x41c8d4(0x19f)](writeFile,_0x9acd48,JSON[_0x41c8d4(0x19c)](_0x53b79d,null,0x2)+'\x0a'),console[_0x41c8d4(0x190)](_0x45b85f[_0x41c8d4(0x1ac)]),{'configured':!![],'scope':_0x13ed60};}
@@ -1 +1 @@
1
- (function(_0x1b8e0a,_0x56014b){var _0x5b3213=_0x3158,_0x279393=_0x1b8e0a();while(!![]){try{var _0x5eb3bd=-parseInt(_0x5b3213(0x168))/0x1*(parseInt(_0x5b3213(0x16c))/0x2)+parseInt(_0x5b3213(0x162))/0x3*(parseInt(_0x5b3213(0x169))/0x4)+-parseInt(_0x5b3213(0x163))/0x5*(-parseInt(_0x5b3213(0x16a))/0x6)+-parseInt(_0x5b3213(0x16b))/0x7+parseInt(_0x5b3213(0x15e))/0x8+parseInt(_0x5b3213(0x15d))/0x9+parseInt(_0x5b3213(0x161))/0xa*(-parseInt(_0x5b3213(0x15c))/0xb);if(_0x5eb3bd===_0x56014b)break;else _0x279393['push'](_0x279393['shift']());}catch(_0x46494){_0x279393['push'](_0x279393['shift']());}}}(_0xd7c0,0xda4ab));function _0x3158(_0x34c556,_0x4d5f82){_0x34c556=_0x34c556-0x15c;var _0xd7c043=_0xd7c0();var _0x31588d=_0xd7c043[_0x34c556];return _0x31588d;}export async function setupCi(_0x129432,_0x354018,_0x48a920){var _0x53b6db=_0x3158,_0x241403={'VzvpY':function(_0x75c1b3,_0x1dca3c){return _0x75c1b3+_0x1dca3c;},'LbEwW':_0x53b6db(0x164),'WUiIa':'\x20\x20https://docs.ranger.net/main/concepts/profiles'};console[_0x53b6db(0x165)](_0x241403[_0x53b6db(0x15f)](_0x241403[_0x53b6db(0x15f)](_0x241403['VzvpY']('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'+_0x241403['LbEwW'],'\x0a'),_0x53b6db(0x166))+_0x241403[_0x53b6db(0x167)]),process[_0x53b6db(0x160)](0x1);}function _0xd7c0(){var _0x40b233=['exit','343250mEuHRX','588972IoctmB','981880CkgMbe','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','error','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','WUiIa','4yOoLcZ','8HGXbKj','24otnxNZ','2744476yjBDOa','248662NsJNPC','781qpreHh','15436890IwFLkW','10617824FxPWpc','VzvpY'];_0xd7c0=function(){return _0x40b233;};return _0xd7c0();}
1
+ (function(_0x4c5e8c,_0x4be2c4){var _0x897578=_0x15ba,_0x12dbdb=_0x4c5e8c();while(!![]){try{var _0x39e7cb=parseInt(_0x897578(0x1c7))/0x1*(parseInt(_0x897578(0x1cd))/0x2)+-parseInt(_0x897578(0x1d2))/0x3*(parseInt(_0x897578(0x1d3))/0x4)+-parseInt(_0x897578(0x1c2))/0x5*(parseInt(_0x897578(0x1c5))/0x6)+parseInt(_0x897578(0x1c4))/0x7*(-parseInt(_0x897578(0x1d4))/0x8)+-parseInt(_0x897578(0x1c8))/0x9+parseInt(_0x897578(0x1d0))/0xa+parseInt(_0x897578(0x1d1))/0xb;if(_0x39e7cb===_0x4be2c4)break;else _0x12dbdb['push'](_0x12dbdb['shift']());}catch(_0x5b24e1){_0x12dbdb['push'](_0x12dbdb['shift']());}}}(_0x306a,0xedea1));function _0x15ba(_0xc9d50,_0x204ba5){_0xc9d50=_0xc9d50-0x1c2;var _0x306a31=_0x306a();var _0x15ba58=_0x306a31[_0xc9d50];return _0x15ba58;}export async function setupCi(_0x56bf7d,_0x2f22ca,_0x32e63c){var _0x3ca150=_0x15ba,_0x45a230={'JTtzL':function(_0x796590,_0x29162f){return _0x796590+_0x29162f;},'owrfp':function(_0x2f3fbc,_0x1e907b){return _0x2f3fbc+_0x1e907b;},'HKMsO':function(_0x2f22c6,_0x10d60d){return _0x2f22c6+_0x10d60d;},'gxzal':function(_0x37418f,_0x158376){return _0x37418f+_0x158376;},'tFeer':_0x3ca150(0x1c9),'eAeeL':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','wRJTM':_0x3ca150(0x1c3)};console['error'](_0x45a230['JTtzL'](_0x45a230['owrfp'](_0x45a230['HKMsO'](_0x45a230[_0x3ca150(0x1ca)](_0x3ca150(0x1cc),'\x0a'),_0x3ca150(0x1cf)),_0x45a230[_0x3ca150(0x1ce)])+'\x0a'+_0x45a230['eAeeL'],_0x45a230[_0x3ca150(0x1c6)])),process[_0x3ca150(0x1cb)](0x1);}function _0x306a(){var _0x4b7bab=['To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','16538980UnCNOr','24968438uelrvc','1417407dVTqjo','8OZiMvC','9148504xBxTpP','851180dhCSxV','\x20\x20https://docs.ranger.net/main/concepts/profiles','7FmoCUX','42Qeppxq','wRJTM','528397JQRcEg','1777527fsJCYk','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','gxzal','exit','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','2otimTV','tFeer'];_0x306a=function(){return _0x4b7bab;};return _0x306a();}
@@ -1 +1 @@
1
- (function(_0x456d4d,_0x25ffec){const _0x2b14eb=_0x1dfe,_0x56c139=_0x456d4d();while(!![]){try{const _0xccec0e=parseInt(_0x2b14eb(0x92))/0x1*(-parseInt(_0x2b14eb(0x9c))/0x2)+-parseInt(_0x2b14eb(0xa1))/0x3+-parseInt(_0x2b14eb(0x9a))/0x4+parseInt(_0x2b14eb(0x90))/0x5*(-parseInt(_0x2b14eb(0x88))/0x6)+parseInt(_0x2b14eb(0xa4))/0x7*(parseInt(_0x2b14eb(0xa6))/0x8)+parseInt(_0x2b14eb(0xa9))/0x9+parseInt(_0x2b14eb(0xa2))/0xa;if(_0xccec0e===_0x25ffec)break;else _0x56c139['push'](_0x56c139['shift']());}catch(_0x215bd3){_0x56c139['push'](_0x56c139['shift']());}}}(_0x589e,0x214da));import{basename}from'path';import _0xa54cf7 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';function _0x1dfe(_0x34966c,_0x52edaf){_0x34966c=_0x34966c-0x85;const _0x589ea0=_0x589e();let _0x1dfed5=_0x589ea0[_0x34966c];return _0x1dfed5;}import{getCurrentVersion}from'./utils/version.js';function _0x589e(){const _0x571845=['147RxFiWa','rvNkY','1624gVvood','✓\x20Found\x20API\x20token','\x0a📦\x20Installing\x20skills...\x0a','660582OfFgYD','\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!','project','list','To\x20use:','JkKXL','60HTtEWi','autoInstall','user','ranger','claude','warn','\x20<your-api-token>','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','78135kWPXXg','ritIB','9dWrhUG','/.claude/skills/','installLevel','All\x20projects\x20(','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','ErmTV','This\x20project\x20only\x20(','zUdJF','242728KPzRGn','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','45844eBmbKe','\x20\x203.\x20Run:\x20ranger\x20skillup','/skills/','EjwPw','isTTY','306387JYtYal','5841280SlSbDe','log'];_0x589e=function(){return _0x571845;};return _0x589e();}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x57e391={}){const _0x569720=_0x1dfe,_0x3cd20e={'BPoYQ':_0x569720(0x9b),'TdyTN':_0x569720(0x96),'QPtZk':_0x569720(0x8f),'EjwPw':'opencode','aigca':'\x20--opencode','soUdC':function(_0x286369){return _0x286369();},'dCLwn':_0x569720(0x94),'rvNkY':_0x569720(0x8a),'QcaXI':'project','JkKXL':function(_0x31beef){return _0x31beef();},'qTIsn':function(_0x5c8ffc,_0x534eb5,_0x513b14){return _0x5c8ffc(_0x534eb5,_0x513b14);},'ZhovU':_0x569720(0x8b),'wnfpW':function(_0x8f365a,_0x303396){return _0x8f365a>_0x303396;},'GWyIn':function(_0x54226d,_0x5d9d6e){return _0x54226d===_0x5d9d6e;},'ErmTV':'user-level','GRGdA':'project-level','soaiJ':_0x569720(0x86),'zUdJF':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','ritIB':_0x569720(0xaa)};console['log'](_0x3cd20e['BPoYQ']);const _0x5792d3=_0x57e391['platform']??_0x569720(0x8c),_0x1e6e11=await getToken();if(!_0x1e6e11){console['log'](_0x3cd20e['TdyTN']),console['log']('To\x20get\x20started:'),console['log'](_0x3cd20e['QPtZk']),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x5792d3===_0x3cd20e[_0x569720(0x9f)]?_0x3cd20e['aigca']:'')+_0x569720(0x8e)),console['log'](_0x569720(0x9d)+(_0x5792d3==='opencode'?'\x20--opencode':'')+'\x0a');return;}console[_0x569720(0xa3)](_0x569720(0xa7));const _0x2101d7=_0x3cd20e['soUdC'](getProjectRoot),_0x28b771=basename(_0x2101d7),_0x3d4c58=_0x5792d3===_0x3cd20e['EjwPw']?getOpencodeConfigDir('user')+'/skills/':getClaudeConfigDir()+_0x569720(0x9e),_0x5576b8=_0x5792d3==='opencode'?_0x2101d7+'/.opencode/skills/':_0x2101d7+_0x569720(0x93),_0x431a60=process['stdin']['isTTY']&&process['stdout'][_0x569720(0xa0)];let _0x16a113;if(_0x57e391['autoInstall'])_0x16a113=_0x57e391[_0x569720(0x89)];else{if(_0x431a60){const _0x30d4f3=await _0xa54cf7['prompt']([{'type':_0x569720(0x85),'name':_0x3cd20e['dCLwn'],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':_0x569720(0x95)+_0x3d4c58+')','value':_0x3cd20e[_0x569720(0xa5)]},{'name':_0x569720(0x98)+_0x5576b8+')','value':_0x569720(0xab)}]}]);_0x16a113=_0x30d4f3['installLevel'];}else _0x16a113=_0x3cd20e['QcaXI'],console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x5576b8+')');}let _0x1add0e=0x0;const _0x17e044=_0x3cd20e[_0x569720(0x87)](getCurrentVersion);console[_0x569720(0xa3)](_0x569720(0xa8));try{const _0x201c07=await _0x3cd20e['qTIsn'](installSkill,_0x3cd20e['ZhovU'],{'cliVersion':_0x17e044,'level':_0x16a113,'platform':_0x5792d3});_0x201c07&&_0x1add0e++;}catch(_0x2e0f9e){console[_0x569720(0x8d)]('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x2e0f9e instanceof Error?_0x2e0f9e['message']:_0x2e0f9e);}if(_0x3cd20e['wnfpW'](_0x1add0e,0x0)){const _0x351a92=_0x3cd20e['GWyIn'](_0x16a113,'user')?_0x3cd20e[_0x569720(0x97)]:_0x3cd20e['GRGdA'];console[_0x569720(0xa3)]('\x0a✅\x20Installed\x20'+_0x1add0e+'\x20'+_0x351a92+'\x20skill'+(_0x1add0e>0x1?'s':'')+'\x20successfully!\x0a'),!_0x57e391['suppressUsage']&&(console[_0x569720(0xa3)](_0x3cd20e['soaiJ']),_0x5792d3==='opencode'?console[_0x569720(0xa3)](_0x3cd20e[_0x569720(0x99)]):console[_0x569720(0xa3)](_0x3cd20e[_0x569720(0x91)]));}else console[_0x569720(0xa3)]('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
1
+ (function(_0x5e9923,_0x218301){const _0x22b743=_0x2bdc,_0x510ef8=_0x5e9923();while(!![]){try{const _0x376552=-parseInt(_0x22b743(0x1cd))/0x1+parseInt(_0x22b743(0x1cb))/0x2*(-parseInt(_0x22b743(0x1ea))/0x3)+-parseInt(_0x22b743(0x1e7))/0x4*(-parseInt(_0x22b743(0x1ed))/0x5)+parseInt(_0x22b743(0x1dd))/0x6+-parseInt(_0x22b743(0x1d9))/0x7+-parseInt(_0x22b743(0x1e4))/0x8+-parseInt(_0x22b743(0x1e5))/0x9*(-parseInt(_0x22b743(0x1db))/0xa);if(_0x376552===_0x218301)break;else _0x510ef8['push'](_0x510ef8['shift']());}catch(_0x5f1a19){_0x510ef8['push'](_0x510ef8['shift']());}}}(_0x5e24,0x3c8b0));import{basename}from'path';import _0x36fb9a from'inquirer';import{getToken}from'./utils/keychain.js';function _0x2bdc(_0x480e06,_0x4d9250){_0x480e06=_0x480e06-0x1c9;const _0x5e24d3=_0x5e24();let _0x2bdcd9=_0x5e24d3[_0x480e06];return _0x2bdcd9;}function _0x5e24(){const _0x3e1dd6=['\x20skill','To\x20use:','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','installLevel','wtGrI','log','opencode','/.claude/skills/','1986124DbcjVQ','\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!','1031140yCyiAf','qYdIw','2754654mUJXNJ','\x0a📦\x20Installing\x20skills...\x0a','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','ljIxP','LwfaI','AtyrT','3725992YpvJop','90TEsIQp','\x20\x202.\x20Run:\x20ranger\x20setup','127084liZfvF','/skills/','Zxpoy','177RYpwDe','stdout','platform','10jBoHlh','autoInstall','\x0a✅\x20Installed\x20','user-level','user','bxxEt','message','prompt','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','/.opencode/skills/','suppressUsage','6892ssrOKN','\x20successfully!\x0a','353012GZQitZ','bjFaA','zAZnB','stdin'];_0x5e24=function(){return _0x3e1dd6;};return _0x5e24();}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(_0x56aea5={}){const _0x5039b1=_0x2bdc,_0x462603={'qYdIw':_0x5039b1(0x1e0),'AtyrT':_0x5039b1(0x1d3),'bxxEt':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','wtGrI':'opencode','LwfaI':function(_0x569bba,_0x33bc2e){return _0x569bba===_0x33bc2e;},'fvqBO':'✓\x20Found\x20API\x20token','viSwk':function(_0x504254,_0x268b47){return _0x504254(_0x268b47);},'UZxlq':function(_0xc02e5){return _0xc02e5();},'GnDMR':'list','zAZnB':_0x5039b1(0x1d4),'Zxpoy':'project','hoAAy':_0x5039b1(0x1de),'ljIxP':_0x5039b1(0x1f1),'bjFaA':_0x5039b1(0x1f0),'vgjvf':_0x5039b1(0x1da)};console[_0x5039b1(0x1d6)](_0x462603[_0x5039b1(0x1dc)]);const _0x539125=_0x56aea5[_0x5039b1(0x1ec)]??'claude',_0x234618=await getToken();if(!_0x234618){console[_0x5039b1(0x1d6)](_0x462603[_0x5039b1(0x1e3)]),console['log']('To\x20get\x20started:'),console[_0x5039b1(0x1d6)](_0x462603[_0x5039b1(0x1f2)]),console['log'](_0x5039b1(0x1e6)+(_0x539125===_0x462603['wtGrI']?'\x20--opencode':'')+'\x20<your-api-token>'),console[_0x5039b1(0x1d6)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x462603[_0x5039b1(0x1e2)](_0x539125,_0x462603[_0x5039b1(0x1d5)])?'\x20--opencode':'')+'\x0a');return;}console['log'](_0x462603['fvqBO']);const _0x16068b=getProjectRoot(),_0x3f1993=basename(_0x16068b),_0x439800=_0x462603[_0x5039b1(0x1e2)](_0x539125,_0x462603['wtGrI'])?_0x462603['viSwk'](getOpencodeConfigDir,'user')+_0x5039b1(0x1e8):_0x462603['UZxlq'](getClaudeConfigDir)+_0x5039b1(0x1e8),_0x5d39e0=_0x462603['LwfaI'](_0x539125,_0x5039b1(0x1d7))?_0x16068b+_0x5039b1(0x1c9):_0x16068b+_0x5039b1(0x1d8),_0x30788f=process[_0x5039b1(0x1d0)]['isTTY']&&process[_0x5039b1(0x1eb)]['isTTY'];let _0x3ea8f1;if(_0x56aea5[_0x5039b1(0x1ee)])_0x3ea8f1=_0x56aea5[_0x5039b1(0x1ee)];else{if(_0x30788f){const _0x28c7b5=await _0x36fb9a[_0x5039b1(0x1f4)]([{'type':_0x462603['GnDMR'],'name':_0x462603[_0x5039b1(0x1cf)],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':'All\x20projects\x20('+_0x439800+')','value':_0x5039b1(0x1f1)},{'name':'This\x20project\x20only\x20('+_0x5d39e0+')','value':_0x462603[_0x5039b1(0x1e9)]}]}]);_0x3ea8f1=_0x28c7b5[_0x5039b1(0x1d4)];}else _0x3ea8f1=_0x462603[_0x5039b1(0x1e9)],console[_0x5039b1(0x1d6)](_0x5039b1(0x1df)+_0x5d39e0+')');}let _0x3c4d63=0x0;const _0x466977=getCurrentVersion();console[_0x5039b1(0x1d6)](_0x462603['hoAAy']);try{const _0x4c40fa=await installSkill('ranger',{'cliVersion':_0x466977,'level':_0x3ea8f1,'platform':_0x539125});_0x4c40fa&&_0x3c4d63++;}catch(_0x1305fe){console['warn'](_0x5039b1(0x1f5),_0x1305fe instanceof Error?_0x1305fe[_0x5039b1(0x1f3)]:_0x1305fe);}if(_0x3c4d63>0x0){const _0x4a42dd=_0x3ea8f1===_0x462603[_0x5039b1(0x1e1)]?_0x462603[_0x5039b1(0x1ce)]:'project-level';console['log'](_0x5039b1(0x1ef)+_0x3c4d63+'\x20'+_0x4a42dd+_0x5039b1(0x1d1)+(_0x3c4d63>0x1?'s':'')+_0x5039b1(0x1cc)),!_0x56aea5[_0x5039b1(0x1ca)]&&(console[_0x5039b1(0x1d6)](_0x5039b1(0x1d2)),_0x462603['LwfaI'](_0x539125,_0x5039b1(0x1d7))?console['log'](_0x5039b1(0x1f6)):console[_0x5039b1(0x1d6)](_0x462603['vgjvf']));}else console['log']('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
@@ -1 +1 @@
1
- const _0x4233d0=_0x3119;(function(_0x41b9ec,_0x596495){const _0x590c36=_0x3119,_0x404664=_0x41b9ec();while(!![]){try{const _0x36f9b9=parseInt(_0x590c36(0x109))/0x1*(-parseInt(_0x590c36(0xe7))/0x2)+parseInt(_0x590c36(0xda))/0x3+-parseInt(_0x590c36(0x101))/0x4*(parseInt(_0x590c36(0xfa))/0x5)+parseInt(_0x590c36(0xdd))/0x6+-parseInt(_0x590c36(0xd4))/0x7*(parseInt(_0x590c36(0xe1))/0x8)+parseInt(_0x590c36(0xfe))/0x9*(-parseInt(_0x590c36(0x10b))/0xa)+parseInt(_0x590c36(0xef))/0xb*(parseInt(_0x590c36(0xf7))/0xc);if(_0x36f9b9===_0x596495)break;else _0x404664['push'](_0x404664['shift']());}catch(_0x1c58bc){_0x404664['push'](_0x404664['shift']());}}}(_0x47d1,0xea79d));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x40213f from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';function _0x3119(_0x15c12e,_0x45c075){_0x15c12e=_0x15c12e-0xd4;const _0x47d138=_0x47d1();let _0x3119e6=_0x47d138[_0x15c12e];return _0x3119e6;}import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';function _0x47d1(){const _0x31b704=['\x0a✅\x20Ranger\x20setup\x20complete!\x0a','3461148yrLBPJ','RaYIk','ZoPvj','8373774mAoZih','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','trackPhaseEnd','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','244856hrnrzP','YtDfY','inherit','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','...','auth','290fFqkWx','mlPlZ','\x20is\x20no\x20longer\x20supported.\x20','user','ZbDQY','\x20\x20npx\x20playwright@','env','jFOdq','11356532MGcuDU','✓\x20Created\x20~/.ranger/\x20directory','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','.gitignore','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','ZgOAQ','24JnmKPW','Installation\x20failed\x20with\x20exit\x20code\x20','ranger','25ylhUla','sLePp','organizationName','existing_token','3096tnmlqb','EzZdQ','RMcjA','787516jYCwxR','executablePath','Wwswi','fekXA','lCdsd','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','status','ranger\x20setup\x20--scope=','2239qgutSa','kyfRZ','34350DiPUQu','skipAuth','yyYBH','beUGl','\x20install\x20chromium','Pgnjj','ltLxN','allowInsecureLocalhost','profile','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','prompt','error','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','CKCjU','scope','success','log','IaPbN','qaOHR','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','VumGP','local','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','Validating\x20API\x20token...','stdin','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','ready','skills','CjRwW','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','message','Authentication\x20failed:\x20','VIpFq','fBYny','EHvKW','skipped','confirm','RlcoH','\x20now?','1.58.2','trackPhaseStart','tzXXM','wQgIu','LsMbG','provided_token','url','chromium','win32','✓\x20Already\x20authenticated\x20to\x20','266fKreWW','fauFP','install','✓\x20Stored\x20credentials\x20locally','✓\x20Created\x20.ranger/.gitignore'];_0x47d1=function(){return _0x31b704;};return _0x47d1();}const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x4233d0(0x133);const bold=_0x202e19=>'\x1b[1m'+_0x202e19+'\x1b[0m';export function getPlaywrightVersion(){try{const _0x59832f=require['resolve']('playwright/package.json'),_0x127675=require(_0x59832f);return _0x127675['version'];}catch{return null;}}export function installChromiumBinary(_0x262c0a,_0xd8f99f=![]){const _0x4ceefd=_0x4233d0,_0x2fc4d5={'ZgOAQ':_0x4ceefd(0xd6),'ZEhcg':'--with-deps','ADXCU':'chromium','ltLxN':function(_0x3b3f41,_0x24d29a,_0x44f66d,_0x4987eb){return _0x3b3f41(_0x24d29a,_0x44f66d,_0x4987eb);},'tzXXM':'npx','fekXA':'inherit','crvBf':'close'};return new Promise((_0xaf4596,_0x218c14)=>{const _0x53686e=_0x4ceefd,_0x48d52c={'RaYIk':function(_0x38f821,_0x2dc450){return _0x38f821===_0x2dc450;}},_0x57597e=['playwright@'+_0x262c0a,_0x2fc4d5[_0x53686e(0xf6)],..._0xd8f99f?[_0x2fc4d5['ZEhcg']]:[],_0x2fc4d5['ADXCU']],_0x31fca5=_0x2fc4d5[_0x53686e(0x111)](spawn,_0x2fc4d5[_0x53686e(0x135)],_0x57597e,{'stdio':['ignore',_0x53686e(0xe3),_0x2fc4d5[_0x53686e(0x104)]],'shell':process['platform']===_0x53686e(0x13b)});_0x31fca5['on'](_0x2fc4d5['crvBf'],_0xce9baf=>{const _0x4947f5=_0x53686e;_0x48d52c[_0x4947f5(0xdb)](_0xce9baf,0x0)?_0xaf4596():_0x218c14(new Error(_0x4947f5(0xf8)+_0xce9baf));}),_0x31fca5['on'](_0x53686e(0x116),_0x4a8de7=>{_0x218c14(_0x4a8de7);});});}export async function authenticate(_0x10a1ab){const _0x2890f9=_0x4233d0,_0x476992={'pfXeO':function(_0x4e7a5d){return _0x4e7a5d();},'wQgIu':_0x2890f9(0xfd),'OnaPl':function(_0x23413f){return _0x23413f();},'fauFP':function(_0x3c8da3,_0x326328){return _0x3c8da3 instanceof _0x326328;},'gGFyB':'device_auth','jvALb':_0x2890f9(0xd7)};if(!_0x10a1ab){const _0x936409=await _0x476992['pfXeO'](getToken);if(_0x936409){const _0x1e55be=await getCurrentUser(_0x936409);if(_0x1e55be[_0x2890f9(0x11a)])return console['log'](_0x2890f9(0x13c)+_0x1e55be['user']['organizationName']),{'token':_0x936409,'method':_0x476992[_0x2890f9(0x136)]};}try{_0x10a1ab=await _0x476992['OnaPl'](runDeviceAuthFlow);}catch(_0x3a5696){throw new Error('Authentication\x20failed:\x20'+(_0x476992[_0x2890f9(0xd5)](_0x3a5696,Error)?_0x3a5696[_0x2890f9(0x12a)]:_0x3a5696));}const _0x554727=await getCurrentUser(_0x10a1ab);if(!_0x554727[_0x2890f9(0x11a)])throw new Error(_0x2890f9(0x11e)+_0x554727['error']);return console[_0x2890f9(0x11b)]('✓\x20Authenticated\x20to\x20'+_0x554727[_0x2890f9(0xea)][_0x2890f9(0xfc)]),{'token':_0x10a1ab,'method':_0x476992['gGFyB']};}console[_0x2890f9(0x11b)](_0x2890f9(0x122));const _0x526185=await getCurrentUser(_0x10a1ab);if(!_0x526185[_0x2890f9(0x11a)]){if(_0x526185[_0x2890f9(0x107)])throw new Error(_0x2890f9(0x12b)+_0x526185[_0x2890f9(0x116)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x526185['error']+_0x2890f9(0xf5));}return console[_0x2890f9(0x11b)]('✓\x20Authenticated\x20to\x20'+_0x526185['user'][_0x2890f9(0xfc)]),await storeToken(_0x10a1ab),console['log'](process[_0x2890f9(0xed)]['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':_0x476992['jvALb']),{'token':_0x10a1ab,'method':_0x2890f9(0x138)};}export async function ensureRangerDir(_0x283159){const _0x4d97d1=_0x4233d0,_0xe98d43={'CjRwW':function(_0x49a4a0){return _0x49a4a0();},'jFOdq':function(_0x49f304,_0x3109d9,_0x2ea12f){return _0x49f304(_0x3109d9,_0x2ea12f);},'VIpFq':_0x4d97d1(0xf0),'kAAqA':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x283159;const _0x25a52b=_0xe98d43[_0x4d97d1(0x127)](getRangerHomeDir);return!existsSync(_0x25a52b)?(await _0xe98d43[_0x4d97d1(0xee)](mkdir,_0x25a52b,{'recursive':!![]}),console[_0x4d97d1(0x11b)](_0xe98d43[_0x4d97d1(0x12c)]),{'path':_0x25a52b,'installed':!![]}):(console['log'](_0xe98d43['kAAqA']),{'path':_0x25a52b,'installed':![]});}export async function ensureChromium(_0xdda4c0=![]){const _0x23b110=_0x4233d0,_0x582f16={'kyfRZ':function(_0x4fb62b,_0x1f8df1){return _0x4fb62b(_0x1f8df1);},'EHvKW':function(_0x146712){return _0x146712();},'VumGP':'install','AqLiH':'\x20(fallback\x20version)','RMcjA':_0x23b110(0xde),'LeKCd':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','IaPbN':'\x0a⚠\x20Skipping\x20Chromium\x20installation.','weium':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0xd4048a=![];try{const _0x430d92=chromium[_0x23b110(0x102)]();_0xd4048a=_0x582f16[_0x23b110(0x10a)](existsSync,_0x430d92);}catch{_0xd4048a=![];}if(_0xd4048a)return console[_0x23b110(0x11b)]('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x3c80eb=_0x582f16[_0x23b110(0x12e)](getPlaywrightVersion),_0x37c59f=_0x3c80eb??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x42e299=!_0x3c80eb,_0x2b6606=process[_0x23b110(0x123)]['isTTY']&&process['stdout']['isTTY'];let _0x459c3d=!![];if(_0x2b6606){const {install:_0x49613f}=await _0x40213f[_0x23b110(0x115)]([{'type':_0x23b110(0x130),'name':_0x582f16[_0x23b110(0x11f)],'message':_0x42e299?_0x23b110(0xe0)+_0x37c59f+_0x23b110(0x132):'The\x20required\x20version\x20('+_0x37c59f+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x459c3d=_0x49613f;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x37c59f+(_0x42e299?_0x582f16['AqLiH']:'')+_0x23b110(0xe5));if(_0x459c3d){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x37c59f,_0xdda4c0),console['log'](_0x582f16[_0x23b110(0x100)]);}catch(_0x200c9a){console['error'](_0x582f16['LeKCd'],_0x200c9a instanceof Error?_0x200c9a['message']:_0x200c9a),console[_0x23b110(0x11b)]('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console[_0x23b110(0x11b)]('\x20\x20npx\x20playwright@'+_0x37c59f+_0x23b110(0x10f));}}else console[_0x23b110(0x11b)](_0x582f16[_0x23b110(0x11c)]),console['log'](_0x582f16['weium']),console[_0x23b110(0x11b)](_0x23b110(0xec)+_0x37c59f+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x150621){const _0x563210=_0x4233d0,_0x1af831={'EzZdQ':_0x563210(0xd8)},_0x520010=join(_0x150621,_0x563210(0xf3)),_0x150960='\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(_0x520010,_0x150960),console[_0x563210(0x11b)](_0x1af831[_0x563210(0xff)]);}export async function ensureLocalEnv(_0x3a896f,_0x5746a7){const _0x4f73c4=_0x4233d0,_0x212cf0={'CfHvE':function(_0x2bc60d){return _0x2bc60d();},'kCDpI':'⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','lCdsd':'local','wwsxR':'\x0a❌\x20Profile\x20setup\x20failed:','LsMbG':function(_0x4ea3b3,_0x39471f){return _0x4ea3b3 instanceof _0x39471f;}};if(!_0x212cf0['CfHvE'](findGitRoot)&&_0x3a896f?.[_0x4f73c4(0x119)]!=='user')return console[_0x4f73c4(0x11b)](_0x212cf0['kCDpI']),{'ready':![],'skipped':!![]};const _0x484d6d=_0x3a896f?.[_0x4f73c4(0x119)]===_0x4f73c4(0xea)?getRangerHomeDir():undefined;if(findExistingEnv(_0x4f73c4(0x120),{'locations':[_0x4f73c4(0x120)],'rangerDir':_0x484d6d}))return console['log']('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await addEnv(_0x212cf0[_0x4f73c4(0x105)],{'url':_0x3a896f?.[_0x4f73c4(0x139)],'force':_0x3a896f?.['force'],'allowInsecureLocalhost':_0x3a896f?.[_0x4f73c4(0x112)],'scope':_0x3a896f?.['scope']},_0x5746a7),{'ready':!![],'skipped':![]};}catch(_0xa8864d){return console['error'](_0x212cf0['wwsxR'],_0x212cf0[_0x4f73c4(0x137)](_0xa8864d,Error)?_0xa8864d[_0x4f73c4(0x12a)]:_0xa8864d),{'ready':![],'skipped':![]};}}export async function start(_0x6d918a,_0x1582b8,_0x3f6be8){const _0x160e31=_0x4233d0,_0x32637d={'beUGl':'\x0a🚀\x20Ranger\x20Setup\x0a','yyYBH':function(_0x1f58f8,_0x485d2f){return _0x1f58f8!==_0x485d2f;},'CKCjU':function(_0x516ed3,_0x318841){return _0x516ed3!==_0x318841;},'YtDfY':function(_0x39e7c2,_0x3d39ff){return _0x39e7c2+_0x3d39ff;},'ZbDQY':_0x160e31(0xea),'fBYny':'✓\x20Skipping\x20authentication\x20(--skip-auth)','Wwswi':'auth','Pgnjj':_0x160e31(0xf2),'sLePp':function(_0x4c2d06,_0x591a2d){return _0x4c2d06(_0x591a2d);},'uKXox':_0x160e31(0xd9),'ZoPvj':'plugin','iANOK':function(_0x79ecea,_0x354a24){return _0x79ecea&&_0x354a24;},'XbQif':function(_0xb99f4,_0xab13e6,_0x514d7f){return _0xb99f4(_0xab13e6,_0x514d7f);},'qInAI':function(_0x5d3816){return _0x5d3816();},'QcApT':'opencode','RlcoH':_0x160e31(0x126),'mlPlZ':_0x160e31(0x128),'qaOHR':function(_0x3fe0d5,_0x5116d3){return _0x3fe0d5 instanceof _0x5116d3;},'VZhxp':function(_0x419087,_0x3a11e4){return _0x419087+_0x3a11e4;},'dQbHL':function(_0x55aa9f,_0x49055c){return _0x55aa9f+_0x49055c;},'HPaSI':function(_0x503f63,_0x32df1c){return _0x503f63+_0x32df1c;},'riRHV':function(_0x4eabf1,_0x3be45a){return _0x4eabf1+_0x3be45a;},'OYNzn':'ranger\x20profile\x20add\x20<name>','Gzaty':_0x160e31(0x114),'PmXpG':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','gBmMr':'/ranger:enable'};console['log'](_0x32637d[_0x160e31(0x10e)]);_0x32637d[_0x160e31(0x10d)](_0x1582b8?.['scope'],undefined)&&_0x32637d[_0x160e31(0x118)](_0x1582b8[_0x160e31(0x119)],'user')&&(console[_0x160e31(0x116)](_0x32637d['YtDfY'](_0x160e31(0x108)+String(_0x1582b8[_0x160e31(0x119)])+_0x160e31(0xe9)+_0x160e31(0x121),_0x160e31(0x124))),process['exit'](0x1));_0x1582b8={..._0x1582b8,'scope':_0x32637d[_0x160e31(0xeb)]};const _0x1cc3ef=!existsSync(getRangerHomeDir());await ensureRangerDir(_0x32637d['ZbDQY']);if(_0x1582b8?.[_0x160e31(0x10c)])console['log'](_0x32637d[_0x160e31(0x12d)]),_0x3f6be8?.[_0x160e31(0xdf)](_0x160e31(0xe6),{'isFirstRun':_0x1cc3ef,'method':_0x160e31(0x12f)});else{_0x3f6be8?.[_0x160e31(0x134)](_0x32637d[_0x160e31(0x103)]);const _0x50655e=await authenticate(_0x6d918a);_0x3f6be8?.[_0x160e31(0xdf)](_0x160e31(0xe6),{'isFirstRun':_0x1cc3ef,'method':_0x50655e['method']});}_0x3f6be8?.[_0x160e31(0x134)](_0x160e31(0x13a));_0x1582b8?.['skipChromium']?console['log'](_0x32637d[_0x160e31(0x110)]):await _0x32637d[_0x160e31(0xfb)](ensureChromium,_0x1582b8?.['withDeps']);_0x3f6be8?.[_0x160e31(0xdf)](_0x160e31(0x13a),{'isFirstRun':_0x1cc3ef,'skipped':!!_0x1582b8?.['skipChromium']}),console['log'](_0x32637d['uKXox']);const _0x57dded=_0x1582b8?.['scope'],_0x6c488f=_0x1582b8?.['opencode']??![];let _0x34cd1e=null;_0x6c488f?(_0x3f6be8?.[_0x160e31(0x134)]('plugin'),_0x34cd1e=await _0x32637d[_0x160e31(0xfb)](ensureOpencodePluginConfig,_0x57dded),_0x3f6be8?.['trackPhaseEnd'](_0x32637d[_0x160e31(0xdc)],{'isFirstRun':_0x1cc3ef,'opencode':!![]})):(_0x3f6be8?.[_0x160e31(0x134)](_0x32637d['ZoPvj']),await _0x32637d[_0x160e31(0xfb)](ensureClaudePlugin,_0x57dded),_0x3f6be8?.['trackPhaseEnd'](_0x32637d['ZoPvj'],{'isFirstRun':_0x1cc3ef}));if(_0x32637d['iANOK'](_0x6c488f,_0x34cd1e)){_0x3f6be8?.[_0x160e31(0x134)](_0x160e31(0x126));try{await _0x32637d['XbQif'](installSkill,_0x160e31(0xf9),{'level':_0x34cd1e[_0x160e31(0x119)],'cliVersion':_0x32637d['qInAI'](getCurrentVersion),'platform':_0x32637d['QcApT']}),_0x3f6be8?.[_0x160e31(0xdf)](_0x32637d['RlcoH'],{'isFirstRun':_0x1cc3ef,'opencode':!![]});}catch(_0x53bba1){console['warn'](_0x32637d[_0x160e31(0xe8)],_0x32637d[_0x160e31(0x11d)](_0x53bba1,Error)?_0x53bba1['message']:_0x53bba1),_0x3f6be8?.['trackPhaseEnd'](_0x32637d[_0x160e31(0x131)],{'isFirstRun':_0x1cc3ef,'opencode':!![],'failed':!![]});}}else _0x3f6be8?.[_0x160e31(0x134)](_0x32637d[_0x160e31(0x131)]),await _0x32637d['sLePp'](ensureClaudeSkills,_0x57dded),_0x3f6be8?.['trackPhaseEnd']('skills',{'isFirstRun':_0x1cc3ef});if(_0x1582b8?.[_0x160e31(0x10c)])console['log']('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x1582b8?.[_0x160e31(0x139)]){_0x3f6be8?.[_0x160e31(0x134)](_0x160e31(0x113));const _0x13f168=await ensureLocalEnv({'url':_0x1582b8['url'],'force':_0x1582b8?.['force'],'allowInsecureLocalhost':_0x1582b8?.[_0x160e31(0x112)],'scope':'user'},_0x3f6be8);_0x3f6be8?.['trackPhaseEnd'](_0x160e31(0x113),{'isFirstRun':_0x1cc3ef,'profileReady':_0x13f168[_0x160e31(0x125)],'userSkipped':_0x13f168['skipped']});}else console['log'](_0x32637d['VZhxp'](_0x32637d['dQbHL'](_0x32637d['HPaSI'](_0x32637d['riRHV'](_0x160e31(0x129),'\x0a\x20\x20'+_0x32637d['sLePp'](bold,_0x32637d['OYNzn'])),_0x160e31(0xf4)),'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'),_0x160e31(0x106)));}if(_0x6c488f)console['log'](_0x32637d['Gzaty']),console[_0x160e31(0x11b)](_0x32637d['PmXpG']),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log'](_0x160e31(0xf1));else{const _0x3d8855=_0x32637d['sLePp'](bold,_0x32637d['gBmMr']);console['log'](_0x32637d[_0x160e31(0xe2)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x3d8855+'\x20and\x20prompt\x20the\x20coding'+_0x160e31(0xe4)+_0x160e31(0x117),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
1
+ (function(_0x1dbe0e,_0x195d6c){const _0x402f6b=_0x3fa4,_0x304a15=_0x1dbe0e();while(!![]){try{const _0x564edb=-parseInt(_0x402f6b(0x1d8))/0x1*(parseInt(_0x402f6b(0x1ff))/0x2)+parseInt(_0x402f6b(0x1e3))/0x3*(-parseInt(_0x402f6b(0x1aa))/0x4)+-parseInt(_0x402f6b(0x1ad))/0x5*(parseInt(_0x402f6b(0x1db))/0x6)+parseInt(_0x402f6b(0x1ba))/0x7*(-parseInt(_0x402f6b(0x1f0))/0x8)+parseInt(_0x402f6b(0x1ca))/0x9*(-parseInt(_0x402f6b(0x1d4))/0xa)+parseInt(_0x402f6b(0x20b))/0xb*(-parseInt(_0x402f6b(0x19e))/0xc)+parseInt(_0x402f6b(0x204))/0xd;if(_0x564edb===_0x195d6c)break;else _0x304a15['push'](_0x304a15['shift']());}catch(_0x28b57f){_0x304a15['push'](_0x304a15['shift']());}}}(_0x3960,0x82a9e));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0xbb28f0 from'inquirer';function _0x3960(){const _0x50848d=['withDeps','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','1024UjjvSi','npx','COFDw','\x0a\x20\x20','url','57924165cXkQKe','The\x20required\x20version\x20(','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','ranger\x20profile\x20add\x20<name>','✓\x20Authenticated\x20to\x20','vVwHs','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','7205sscEwd','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','LrqAH','vWNeL','skipAuth','17916HWZVPF','BONLm','✓\x20Local\x20profile\x20already\x20exists','OTZBQ','✓\x20Exported\x20credentials\x20for\x20CI','QTxPn','scope','ranger','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','install','bfGHo','4280520uMzaAB','chromium','auth','145rGSLBj','user','ahRLs','plugin','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','ranger\x20setup\x20--scope=','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','skills','\x20and\x20prompt\x20the\x20coding','bjhsi','confirm','platform','1484966AFLRoE','existing_token','WMEvE','SbZss','tMMic','ZfNoN','You\x20can\x20install\x20it\x20manually\x20by\x20running:','zqbsZ','Authentication\x20failed:\x20','hrzHZ','\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','fPhTL','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','skipped','DaptC','log','63POspQu','success','lOeYv','✓\x20Created\x20~/.ranger/\x20directory','GtgDT','GFPBF','\x0a⚠\x20Skipping\x20Chromium\x20installation.','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','RZGKg','gOpEz','501010KwRsLN','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','trackPhaseEnd','executablePath','163wNIWjU','playwright@','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','78126RqwVna','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','error','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','tCIli','isTTY','prompt','JjixM','3MVuoKb','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','URiFH','PFxjx','ivwtK','method','playwright/package.json','organizationName','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','Necsz','DAuGh','local','/ranger:enable','40cCjVdx','nOuSl','allowInsecureLocalhost','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','\x0a🚀\x20Ranger\x20Setup\x0a','\x20now?','\x20is\x20no\x20longer\x20supported.\x20','message','trackPhaseStart','✓\x20Already\x20authenticated\x20to\x20','NnlKd','YzKXw','uLrvo'];_0x3960=function(){return _0x50848d;};return _0x3960();}import{getToken,storeToken}from'./utils/keychain.js';function _0x3fa4(_0x1c66fc,_0x54bdb8){_0x1c66fc=_0x1c66fc-0x19c;const _0x39602c=_0x3960();let _0x3fa4db=_0x39602c[_0x1c66fc];return _0x3fa4db;}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=_0x15a7f9=>'\x1b[1m'+_0x15a7f9+'\x1b[0m';export function getPlaywrightVersion(){const _0x279910=_0x3fa4,_0x14f363={'ZfNoN':_0x279910(0x1e9)};try{const _0x108450=require['resolve'](_0x14f363[_0x279910(0x1bf)]),_0x593649=require(_0x108450);return _0x593649['version'];}catch{return null;}}export function installChromiumBinary(_0x39c347,_0x3e0586=![]){const _0x14f1c4=_0x3fa4,_0x1d6640={'byBsB':_0x14f1c4(0x1a8),'CZiFs':_0x14f1c4(0x1ab),'Mdetq':function(_0x5dc903,_0x569ccc,_0x52c55c,_0x26024c){return _0x5dc903(_0x569ccc,_0x52c55c,_0x26024c);},'SbZss':_0x14f1c4(0x200),'QTxPn':'inherit','MOPiC':'close'};return new Promise((_0x2767c7,_0x3443e0)=>{const _0x294ca0=_0x14f1c4,_0x1eb6b4={'WMEvE':function(_0x4e4277,_0x248a96){return _0x4e4277(_0x248a96);}},_0x1ce9d3=[_0x294ca0(0x1d9)+_0x39c347,_0x1d6640['byBsB'],..._0x3e0586?['--with-deps']:[],_0x1d6640['CZiFs']],_0x2cb353=_0x1d6640['Mdetq'](spawn,_0x1d6640[_0x294ca0(0x1bd)],_0x1ce9d3,{'stdio':['ignore',_0x1d6640[_0x294ca0(0x1a3)],'inherit'],'shell':process[_0x294ca0(0x1b9)]==='win32'});_0x2cb353['on'](_0x1d6640['MOPiC'],_0x4dbeae=>{_0x4dbeae===0x0?_0x2767c7():_0x3443e0(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x4dbeae));}),_0x2cb353['on']('error',_0x486b88=>{const _0x5bca15=_0x294ca0;_0x1eb6b4[_0x5bca15(0x1bc)](_0x3443e0,_0x486b88);});});}export async function authenticate(_0x2a986b){const _0x47be38=_0x3fa4,_0x516840={'RngKa':function(_0x689cc5){return _0x689cc5();},'DaptC':function(_0xbc84c2,_0x50f044){return _0xbc84c2(_0x50f044);},'tCIli':'✓\x20Stored\x20credentials\x20locally'};if(!_0x2a986b){const _0x58a8ca=await _0x516840['RngKa'](getToken);if(_0x58a8ca){const _0x3f3cc7=await _0x516840['DaptC'](getCurrentUser,_0x58a8ca);if(_0x3f3cc7['success'])return console[_0x47be38(0x1c9)](_0x47be38(0x1f9)+_0x3f3cc7[_0x47be38(0x1ae)][_0x47be38(0x1ea)]),{'token':_0x58a8ca,'method':_0x47be38(0x1bb)};}try{_0x2a986b=await runDeviceAuthFlow();}catch(_0x43fe9d){throw new Error('Authentication\x20failed:\x20'+(_0x43fe9d instanceof Error?_0x43fe9d['message']:_0x43fe9d));}const _0x4f0b7f=await _0x516840[_0x47be38(0x1c8)](getCurrentUser,_0x2a986b);if(!_0x4f0b7f[_0x47be38(0x1cb)])throw new Error(_0x47be38(0x1a7)+_0x4f0b7f['error']);return console[_0x47be38(0x1c9)](_0x47be38(0x208)+_0x4f0b7f[_0x47be38(0x1ae)]['organizationName']),{'token':_0x2a986b,'method':'device_auth'};}console[_0x47be38(0x1c9)]('Validating\x20API\x20token...');const _0x31fe95=await getCurrentUser(_0x2a986b);if(!_0x31fe95['success']){if(_0x31fe95['status'])throw new Error(_0x47be38(0x1c2)+_0x31fe95[_0x47be38(0x1dd)]+_0x47be38(0x1b4));else throw new Error(_0x47be38(0x1e4)+_0x31fe95['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log']('✓\x20Authenticated\x20to\x20'+_0x31fe95[_0x47be38(0x1ae)]['organizationName']),await storeToken(_0x2a986b),console[_0x47be38(0x1c9)](process['env']['GITHUB_ENV']?_0x47be38(0x1a2):_0x516840[_0x47be38(0x1df)]),{'token':_0x2a986b,'method':'provided_token'};}export async function ensureRangerDir(_0x3ab3fc){const _0x48cf4b=_0x3fa4,_0x3d5470={'SVJHK':function(_0x230a35){return _0x230a35();},'vVwHs':function(_0x59675d,_0xcb03ce){return _0x59675d(_0xcb03ce);},'YzKXw':function(_0x1a29b7,_0x3b0bf1,_0x3c58d6){return _0x1a29b7(_0x3b0bf1,_0x3c58d6);},'juWks':_0x48cf4b(0x1cd),'URiFH':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x3ab3fc;const _0x463454=_0x3d5470['SVJHK'](getRangerHomeDir);return!_0x3d5470[_0x48cf4b(0x209)](existsSync,_0x463454)?(await _0x3d5470[_0x48cf4b(0x1fb)](mkdir,_0x463454,{'recursive':!![]}),console[_0x48cf4b(0x1c9)](_0x3d5470['juWks']),{'path':_0x463454,'installed':!![]}):(console['log'](_0x3d5470[_0x48cf4b(0x1e5)]),{'path':_0x463454,'installed':![]});}export async function ensureChromium(_0x2bc5c3=![]){const _0xadce33=_0x3fa4,_0xdb45e0={'RZGKg':function(_0x12964d,_0x15566f){return _0x12964d??_0x15566f;},'wQGfx':_0xadce33(0x1b8),'PFxjx':function(_0x4ed591,_0x284cc7,_0xea8535){return _0x4ed591(_0x284cc7,_0xea8535);},'nOuSl':_0xadce33(0x1c6),'TtLAH':_0xadce33(0x1f3)};let _0x442d0e=![];try{const _0x26380a=chromium[_0xadce33(0x1d7)]();_0x442d0e=existsSync(_0x26380a);}catch{_0x442d0e=![];}if(_0x442d0e)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x2d9794=getPlaywrightVersion(),_0x4edda3=_0xdb45e0[_0xadce33(0x1d2)](_0x2d9794,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x49f27d=!_0x2d9794,_0x14dd4b=process['stdin'][_0xadce33(0x1e0)]&&process['stdout'][_0xadce33(0x1e0)];let _0x3bd057=!![];if(_0x14dd4b){const {install:_0x2d6710}=await _0xbb28f0[_0xadce33(0x1e1)]([{'type':_0xdb45e0['wQGfx'],'name':'install','message':_0x49f27d?_0xadce33(0x1a6)+_0x4edda3+_0xadce33(0x1f5):_0xadce33(0x205)+_0x4edda3+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x3bd057=_0x2d6710;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x4edda3+(_0x49f27d?'\x20(fallback\x20version)':'')+'...');if(_0x3bd057){console[_0xadce33(0x1c9)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0xdb45e0[_0xadce33(0x1e6)](installChromiumBinary,_0x4edda3,_0x2bc5c3),console[_0xadce33(0x1c9)](_0xdb45e0[_0xadce33(0x1f1)]);}catch(_0x5667dd){console[_0xadce33(0x1dd)](_0xadce33(0x1b2),_0x5667dd instanceof Error?_0x5667dd[_0xadce33(0x1f7)]:_0x5667dd),console['log'](_0xadce33(0x1c0)),console[_0xadce33(0x1c9)]('\x20\x20npx\x20playwright@'+_0x4edda3+'\x20install\x20chromium');}}else console[_0xadce33(0x1c9)](_0xadce33(0x1d0)),console['log'](_0xdb45e0['TtLAH']),console['log']('\x20\x20npx\x20playwright@'+_0x4edda3+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x2f2270){const _0x219a5c=_0x3fa4,_0x114dde={'Necsz':function(_0xe9f142,_0x66ea7c,_0x4cf36f){return _0xe9f142(_0x66ea7c,_0x4cf36f);},'TqsDw':'.gitignore','vWNeL':function(_0x483895,_0x1adca2,_0x17ae4f){return _0x483895(_0x1adca2,_0x17ae4f);}},_0xb51de3=_0x114dde[_0x219a5c(0x1ec)](join,_0x2f2270,_0x114dde['TqsDw']),_0x32f047=_0x219a5c(0x1c4);await _0x114dde[_0x219a5c(0x19c)](writeFile,_0xb51de3,_0x32f047),console['log']('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x4b79aa,_0x23afa0){const _0x1db21f=_0x3fa4,_0x12c7f={'GFPBF':function(_0x1fe615){return _0x1fe615();},'swfGi':function(_0x3e66ca,_0x18ae55){return _0x3e66ca!==_0x18ae55;},'EeoZN':'user','VTHpS':function(_0x2f90c0,_0x121f82){return _0x2f90c0===_0x121f82;},'GtgDT':_0x1db21f(0x1ee),'OTZBQ':function(_0x27b58d,_0x93ea4,_0x2d0351,_0x2f8fd4){return _0x27b58d(_0x93ea4,_0x2d0351,_0x2f8fd4);},'tMMic':'\x0a❌\x20Profile\x20setup\x20failed:','fPhTL':function(_0x1e33cc,_0x3e8bcf){return _0x1e33cc instanceof _0x3e8bcf;}};if(!_0x12c7f[_0x1db21f(0x1cf)](findGitRoot)&&_0x12c7f['swfGi'](_0x4b79aa?.[_0x1db21f(0x1a4)],_0x12c7f['EeoZN']))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x192f6c=_0x12c7f['VTHpS'](_0x4b79aa?.['scope'],_0x12c7f['EeoZN'])?getRangerHomeDir():undefined;if(findExistingEnv(_0x1db21f(0x1ee),{'locations':[_0x12c7f[_0x1db21f(0x1ce)]],'rangerDir':_0x192f6c}))return console['log'](_0x1db21f(0x1a0)),{'ready':!![],'skipped':![]};try{return await _0x12c7f[_0x1db21f(0x1a1)](addEnv,_0x12c7f['GtgDT'],{'url':_0x4b79aa?.['url'],'force':_0x4b79aa?.['force'],'allowInsecureLocalhost':_0x4b79aa?.['allowInsecureLocalhost'],'scope':_0x4b79aa?.['scope']},_0x23afa0),{'ready':!![],'skipped':![]};}catch(_0x1a842c){return console[_0x1db21f(0x1dd)](_0x12c7f[_0x1db21f(0x1be)],_0x12c7f[_0x1db21f(0x1c5)](_0x1a842c,Error)?_0x1a842c[_0x1db21f(0x1f7)]:_0x1a842c),{'ready':![],'skipped':![]};}}export async function start(_0x1db340,_0x5a02fa,_0x1a62e1){const _0x353de9=_0x3fa4,_0x481f95={'hrzHZ':function(_0x2e1e49,_0xea51f1){return _0x2e1e49!==_0xea51f1;},'ivwtK':function(_0x55732d,_0x1c7942){return _0x55732d+_0x1c7942;},'zqbsZ':'user','HoWdf':function(_0x16a359,_0x4f866c){return _0x16a359(_0x4f866c);},'LrqAH':'✓\x20Skipping\x20authentication\x20(--skip-auth)','ahnsY':'auth','bjhsi':function(_0x1dea0f,_0x4420d6){return _0x1dea0f(_0x4420d6);},'uLrvo':'chromium','ybNJM':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','JjixM':function(_0x56506d,_0x3ab3d9){return _0x56506d(_0x3ab3d9);},'tkPoZ':function(_0x1c1a96,_0x29686c){return _0x1c1a96(_0x29686c);},'gfYND':function(_0x1a1e12,_0x2d6469){return _0x1a1e12&&_0x2d6469;},'COFDw':_0x353de9(0x1b5),'ahRLs':function(_0x55b760,_0x52d96e,_0x3f9feb){return _0x55b760(_0x52d96e,_0x3f9feb);},'BONLm':function(_0x29cc41){return _0x29cc41();},'qIbvs':_0x353de9(0x1d5),'bfGHo':function(_0x47714e,_0x350b75,_0x198e15){return _0x47714e(_0x350b75,_0x198e15);},'TYseM':'profile','XEkrW':function(_0x245995,_0x1540f8){return _0x245995+_0x1540f8;},'gOpEz':function(_0x2f74d5,_0x397096){return _0x2f74d5+_0x397096;},'xaiHP':function(_0x421e59,_0x4844fc){return _0x421e59(_0x4844fc);},'pTjPU':_0x353de9(0x207),'DAuGh':_0x353de9(0x1d1),'NnlKd':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','JLYWW':function(_0x209fef,_0x1bc223){return _0x209fef(_0x1bc223);},'lOeYv':_0x353de9(0x1ef)};console['log'](_0x353de9(0x1f4));_0x481f95[_0x353de9(0x1c3)](_0x5a02fa?.[_0x353de9(0x1a4)],undefined)&&_0x481f95['hrzHZ'](_0x5a02fa['scope'],_0x353de9(0x1ae))&&(console['error'](_0x481f95['ivwtK'](_0x481f95[_0x353de9(0x1e7)](_0x353de9(0x1b3)+String(_0x5a02fa['scope'])+_0x353de9(0x1f6),'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'),_0x353de9(0x20a))),process['exit'](0x1));_0x5a02fa={..._0x5a02fa,'scope':_0x481f95[_0x353de9(0x1c1)]};const _0x240126=!existsSync(getRangerHomeDir());await _0x481f95['HoWdf'](ensureRangerDir,_0x481f95[_0x353de9(0x1c1)]);if(_0x5a02fa?.['skipAuth'])console['log'](_0x481f95[_0x353de9(0x20d)]),_0x1a62e1?.[_0x353de9(0x1d6)](_0x481f95['ahnsY'],{'isFirstRun':_0x240126,'method':_0x353de9(0x1c7)});else{_0x1a62e1?.[_0x353de9(0x1f8)]('auth');const _0x206e54=await _0x481f95[_0x353de9(0x1b7)](authenticate,_0x1db340);_0x1a62e1?.[_0x353de9(0x1d6)](_0x353de9(0x1ac),{'isFirstRun':_0x240126,'method':_0x206e54[_0x353de9(0x1e8)]});}_0x1a62e1?.[_0x353de9(0x1f8)](_0x481f95[_0x353de9(0x1fc)]);_0x5a02fa?.['skipChromium']?console['log'](_0x481f95['ybNJM']):await _0x481f95[_0x353de9(0x1e2)](ensureChromium,_0x5a02fa?.[_0x353de9(0x1fd)]);_0x1a62e1?.['trackPhaseEnd'](_0x481f95['uLrvo'],{'isFirstRun':_0x240126,'skipped':!!_0x5a02fa?.['skipChromium']}),console[_0x353de9(0x1c9)](_0x353de9(0x1de));const _0x1e2fa4=_0x5a02fa?.['scope'],_0x43434d=_0x5a02fa?.['opencode']??![];let _0x5f0d5f=null;_0x43434d?(_0x1a62e1?.[_0x353de9(0x1f8)]('plugin'),_0x5f0d5f=await _0x481f95['tkPoZ'](ensureOpencodePluginConfig,_0x1e2fa4),_0x1a62e1?.[_0x353de9(0x1d6)]('plugin',{'isFirstRun':_0x240126,'opencode':!![]})):(_0x1a62e1?.[_0x353de9(0x1f8)](_0x353de9(0x1b0)),await ensureClaudePlugin(_0x1e2fa4),_0x1a62e1?.['trackPhaseEnd'](_0x353de9(0x1b0),{'isFirstRun':_0x240126}));if(_0x481f95['gfYND'](_0x43434d,_0x5f0d5f)){_0x1a62e1?.['trackPhaseStart'](_0x481f95['COFDw']);try{await _0x481f95[_0x353de9(0x1af)](installSkill,_0x353de9(0x1a5),{'level':_0x5f0d5f['scope'],'cliVersion':_0x481f95[_0x353de9(0x19f)](getCurrentVersion),'platform':'opencode'}),_0x1a62e1?.['trackPhaseEnd'](_0x481f95[_0x353de9(0x201)],{'isFirstRun':_0x240126,'opencode':!![]});}catch(_0x4aa3c0){console['warn'](_0x481f95['qIbvs'],_0x4aa3c0 instanceof Error?_0x4aa3c0[_0x353de9(0x1f7)]:_0x4aa3c0),_0x1a62e1?.[_0x353de9(0x1d6)](_0x353de9(0x1b5),{'isFirstRun':_0x240126,'opencode':!![],'failed':!![]});}}else _0x1a62e1?.[_0x353de9(0x1f8)](_0x353de9(0x1b5)),await _0x481f95['JjixM'](ensureClaudeSkills,_0x1e2fa4),_0x1a62e1?.[_0x353de9(0x1d6)](_0x353de9(0x1b5),{'isFirstRun':_0x240126});if(_0x5a02fa?.[_0x353de9(0x19d)])console[_0x353de9(0x1c9)](_0x353de9(0x206));else{if(_0x5a02fa?.['url']){_0x1a62e1?.['trackPhaseStart']('profile');const _0x178ce7=await _0x481f95[_0x353de9(0x1a9)](ensureLocalEnv,{'url':_0x5a02fa[_0x353de9(0x203)],'force':_0x5a02fa?.['force'],'allowInsecureLocalhost':_0x5a02fa?.[_0x353de9(0x1f2)],'scope':_0x481f95['zqbsZ']},_0x1a62e1);_0x1a62e1?.[_0x353de9(0x1d6)](_0x481f95['TYseM'],{'isFirstRun':_0x240126,'profileReady':_0x178ce7['ready'],'userSkipped':_0x178ce7['skipped']});}else console['log'](_0x481f95['ivwtK'](_0x481f95['XEkrW'](_0x481f95[_0x353de9(0x1d3)](_0x353de9(0x1dc),_0x353de9(0x202)+_0x481f95['xaiHP'](bold,_0x481f95['pTjPU'])),_0x353de9(0x20c)),_0x353de9(0x1da))+_0x353de9(0x1b1));}if(_0x43434d)console[_0x353de9(0x1c9)](_0x481f95[_0x353de9(0x1ed)]),console[_0x353de9(0x1c9)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x353de9(0x1c9)](_0x481f95[_0x353de9(0x1fa)]),console[_0x353de9(0x1c9)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x2d5331=_0x481f95['JLYWW'](bold,_0x481f95[_0x353de9(0x1cc)]);console['log'](_0x481f95[_0x353de9(0x1d3)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x2d5331+_0x353de9(0x1b6),_0x353de9(0x1fe))+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'+_0x353de9(0x1eb));}}
@@ -1 +1 @@
1
- const _0x21aeca=_0x3a2f;(function(_0x49b994,_0x472c5f){const _0x1c07c0=_0x3a2f,_0x558d33=_0x49b994();while(!![]){try{const _0x311042=parseInt(_0x1c07c0(0xf4))/0x1+-parseInt(_0x1c07c0(0x10a))/0x2+-parseInt(_0x1c07c0(0xad))/0x3+parseInt(_0x1c07c0(0xbe))/0x4*(parseInt(_0x1c07c0(0xc0))/0x5)+-parseInt(_0x1c07c0(0xbd))/0x6+parseInt(_0x1c07c0(0xfd))/0x7+parseInt(_0x1c07c0(0xd7))/0x8*(parseInt(_0x1c07c0(0xd6))/0x9);if(_0x311042===_0x472c5f)break;else _0x558d33['push'](_0x558d33['shift']());}catch(_0x326c31){_0x558d33['push'](_0x558d33['shift']());}}}(_0x1a17,0x26983));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';function _0x3a2f(_0x44dfbc,_0x43d437){_0x44dfbc=_0x44dfbc-0x9e;const _0x1a1728=_0x1a17();let _0x3a2fb3=_0x1a1728[_0x44dfbc];return _0x3a2fb3;}function _0x1a17(){const _0x36b762=['vJCAk','data','DEBUG','No\x20profiles\x20configured','has','disabled','HrYTQ','EtCfS','map','Olijs','LTQVQ','env','log','\x20plugin(s)\x20configured','QldLM','unknown','492882ztuZHg','VROxk','Version:\x20','oslgw','gflmv','\x1b[0m','join','BdJJn','isActive','gUKOZ','\x20\x20Project-level:','ignore','XtlJf','plugin','length','API\x20Token:\x20✗\x20Not\x20found','1804542tUUwak','12cJCqLC','KcYZm','474025zWGGuV','path','\x20\x20User-level:','Hpqyr','djPAk','jlXcQ','pipe','\x20\x20\x20\x20Session:\x20','@ranger-testing/opencode-plugin','WVIPz','isArray','hasEncryptedAuth','cwd','\x20profiles\x20configured\x20(','rgCeu','SKILL.md','mTBaW','version','eyfRV','\x20(active)',':\x20configured','\x20\x20Run:\x20ranger\x20setup\x20--opencode','889308hhrfxH','8MEifCK','\x20\x20Run:\x20ranger\x20skillup','NdBKr','settingsPath','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','hUWbg','\x20\x20\x20\x20','pvxKp','JfjBG','msstg','not_configured','AQzhJ','status','trim','\x20\x20Run:\x20ranger\x20setup\x20[token]','debug','encrypted','Root:\x20','cpWzg','Udxca','dxRmO','NvbAu','UUnJe','\x0a---\x20Claude\x20Code\x20Plugin\x20---','(not\x20found)','settings.json','details','\x20(up\x20to\x20date)','\x1b[1m','261064DXwRBj','stderr','name','kQpCk','ranger@trailhead','filter','AhMdp','match','IQPbg','1849540aiLsNs','string','\x0a📊\x20Ranger\x20Status\x0a','EdAIJ','includes','pXeAH','user','\x1b]8;;file://','cached\x20(updated\x20','push',':\x20installed\x20(','\x0a---\x20Skills\x20---','plaintext','570754pIpIyd','RCdnY'];_0x1a17=function(){return _0x36b762;};return _0x1a17();}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';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x483bce=>_0x21aeca(0xf3)+_0x483bce+_0x21aeca(0xb2),link=(_0x450212,_0x540109)=>_0x21aeca(0x104)+_0x450212+'\x07'+(_0x540109||_0x450212)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x108dc6=_0x21aeca,_0x306bf1={'Hpqyr':'not_installed','WVIPz':function(_0x19e23f,_0x3d390f){return _0x19e23f(_0x3d390f);},'EdAIJ':'not_configured','Olijs':function(_0x409318,_0x2b8c09,_0x46de3d,_0x5620ab){return _0x409318(_0x2b8c09,_0x46de3d,_0x5620ab);},'XAuEv':'config','kQpCk':_0x108dc6(0xb8),'AQzhJ':_0x108dc6(0xc6),'XtlJf':'data','GBCqP':'error'};return new Promise(_0x4e17fa=>{const _0x2d2c2c=_0x108dc6,_0x2a28b3={'jlXcQ':_0x2d2c2c(0xfe),'bPGBa':_0x2d2c2c(0xc8),'rZwBA':'opencode-plugin','LTQVQ':_0x306bf1[_0x2d2c2c(0xc3)],'oqHSm':'configured','KcYZm':function(_0x4bf9d4,_0x250c3a){const _0x25b480=_0x2d2c2c;return _0x306bf1[_0x25b480(0xc9)](_0x4bf9d4,_0x250c3a);},'jADsr':function(_0x1090aa,_0x52b110){const _0x1e55f5=_0x2d2c2c;return _0x306bf1[_0x1e55f5(0xc9)](_0x1090aa,_0x52b110);},'xIowG':_0x306bf1[_0x2d2c2c(0x100)]},_0x186098=_0x306bf1[_0x2d2c2c(0xa6)](spawn,'opencode',[_0x2d2c2c(0xe6),_0x306bf1['XAuEv']],{'stdio':[_0x306bf1[_0x2d2c2c(0xf7)],_0x2d2c2c(0xc6),_0x306bf1[_0x2d2c2c(0xe2)]]});let _0xb1b48e='';_0x186098['stdout']?.['on'](_0x2d2c2c(0x9e),_0x21afbf=>{_0xb1b48e+=_0x21afbf['toString']();}),_0x186098[_0x2d2c2c(0xf5)]?.['on'](_0x306bf1[_0x2d2c2c(0xb9)],_0x261f6c=>{_0xb1b48e+=_0x261f6c['toString']();}),_0x186098['on'](_0x306bf1['GBCqP'],()=>{_0x4e17fa({'status':'not_installed'});}),_0x186098['on']('close',_0x4affa5=>{const _0x353a79=_0x2d2c2c;if(_0x4affa5!==0x0){_0x4e17fa({'status':_0x2a28b3[_0x353a79(0xa7)]});return;}const _0x142ba1=_0xb1b48e['trim']();let _0x49a9fc=null;if(_0x142ba1)try{_0x49a9fc=JSON['parse'](_0x142ba1);}catch{const _0x238de8=_0x142ba1['match'](/\{[\s\S]*\}$/);if(_0x238de8)try{_0x49a9fc=JSON['parse'](_0x238de8[0x0]);}catch{_0x49a9fc=null;}}const _0x5eabe2=Array[_0x353a79(0xca)](_0x49a9fc?.[_0x353a79(0xba)])?_0x49a9fc?.[_0x353a79(0xba)]:[],_0x1d2abb=_0x5eabe2['some'](_0xf4ad44=>{const _0x3b88e7=_0x353a79;if(typeof _0xf4ad44!==_0x2a28b3[_0x3b88e7(0xc5)])return![];return _0xf4ad44[_0x3b88e7(0x101)](_0x2a28b3['bPGBa'])||_0xf4ad44[_0x3b88e7(0x101)](_0x2a28b3['rZwBA']);});if(_0x1d2abb){_0x4e17fa({'status':_0x2a28b3['oqHSm'],'details':_0x5eabe2['length']>0x0?_0x5eabe2[_0x353a79(0xbb)]+_0x353a79(0xaa):undefined});return;}if(_0x5eabe2[_0x353a79(0xbb)]>0x0){_0x2a28b3[_0x353a79(0xbf)](_0x4e17fa,{'status':_0x353a79(0xe1),'details':_0x5eabe2[_0x353a79(0xbb)]+'\x20plugin(s)\x20configured'});return;}_0x2a28b3['jADsr'](_0x4e17fa,{'status':_0x2a28b3['xIowG']});});});}async function getSkillsFromDir(_0x32f668,_0x3d1450){const _0x2cb4e8=_0x21aeca,_0x5d018d={'zcFAQ':function(_0x4714be,_0xe40a13){return _0x4714be(_0xe40a13);},'MKrFQ':function(_0x1e189c,_0x4b38cd,_0x1f61c8){return _0x1e189c(_0x4b38cd,_0x1f61c8);},'NdBKr':_0x2cb4e8(0xcf)};if(!_0x5d018d['zcFAQ'](existsSync,_0x32f668))return[];const _0x3cd01c=[];try{const _0x274a20=await _0x5d018d['MKrFQ'](readdir,_0x32f668,{'withFileTypes':!![]});for(const _0x4628d8 of _0x274a20){if(_0x4628d8['isDirectory']()){const _0x57b374=join(_0x32f668,_0x4628d8['name'],_0x5d018d[_0x2cb4e8(0xd9)]);if(_0x5d018d['zcFAQ'](existsSync,_0x57b374)){let _0x380700=_0x4628d8[_0x2cb4e8(0xf6)];try{const _0x438022=await readFile(_0x57b374,'utf-8'),_0x26360d=_0x438022[_0x2cb4e8(0xfb)](/name:\s*(.+)/);_0x26360d&&(_0x380700=_0x26360d[0x1][_0x2cb4e8(0xe4)]());}catch{}_0x3cd01c[_0x2cb4e8(0x106)]({'name':_0x4628d8[_0x2cb4e8(0xf6)],'displayName':_0x380700,'path':_0x57b374,'level':_0x3d1450});}}}}catch{return[];}return _0x3cd01c;}async function getInstalledSkills(){const _0x24d2b3=_0x21aeca,_0x47c0df={'NvbAu':function(_0x4381a0,_0x4412bd,_0x99e8a7){return _0x4381a0(_0x4412bd,_0x99e8a7);},'EPwud':'project','GFsRA':'user'},[_0x28c706,_0x5bd3ec]=await Promise['all']([_0x47c0df[_0x24d2b3(0xec)](getSkillsFromDir,getProjectSkillsDir(),_0x47c0df['EPwud']),getSkillsFromDir(getUserSkillsDir(),_0x47c0df['GFsRA'])]);return{'project':_0x28c706,'user':_0x5bd3ec};}async function getEnvironments(){const _0x7a637=_0x21aeca,_0x167ec1={'eyfRV':function(_0x6eec99,_0x2eb9f1){return _0x6eec99(_0x2eb9f1);},'BdJJn':function(_0xe35ec5,_0x2ac4f9,_0x2a9102){return _0xe35ec5(_0x2ac4f9,_0x2a9102);},'mTBaW':function(_0x5d1202,_0x41183e,_0x4b772a){return _0x5d1202(_0x41183e,_0x4b772a);},'pvxKp':function(_0x1cc222,_0x150c4a,_0x274d76){return _0x1cc222(_0x150c4a,_0x274d76);},'hUWbg':_0x7a637(0xef),'vJCAk':function(_0x555a19,_0x1b8ec6){return _0x555a19===_0x1b8ec6;},'bevOm':function(_0x148099){return _0x148099();}},{envNames:_0x52cba0,activeEnv:_0x12b8de}=await getEnvNames(),_0x1178cd=_0x167ec1['bevOm'](getRangerDir);if(!existsSync(_0x1178cd))return{'envs':[],'activeEnv':null};const _0x1d35f7=_0x52cba0['map'](_0x5e0495=>{const _0x1f1ad9=_0x7a637,_0x317f7d=_0x167ec1[_0x1f1ad9(0xd2)](getEnvDir,_0x5e0495),_0x2a7480=_0x167ec1[_0x1f1ad9(0xb4)](join,_0x317f7d,_0x1f1ad9(0xf0)),_0x4371d9=_0x167ec1[_0x1f1ad9(0xd0)](join,_0x317f7d,'auth.json'),_0x5a22a6=_0x167ec1[_0x1f1ad9(0xde)](join,_0x317f7d,'auth.json.enc');return{'name':_0x5e0495,'settingsPath':_0x167ec1['eyfRV'](existsSync,_0x2a7480)?_0x2a7480:_0x167ec1[_0x1f1ad9(0xdc)],'hasPlaintextAuth':existsSync(_0x4371d9),'hasEncryptedAuth':existsSync(_0x5a22a6),'isActive':_0x167ec1[_0x1f1ad9(0x10c)](_0x5e0495,_0x12b8de)};});return{'envs':_0x1d35f7,'activeEnv':_0x12b8de};}export async function status(){const _0x3bc402=_0x21aeca,_0xb2b07e={'djPAk':_0x3bc402(0xff),'nSnRS':function(_0x275818){return _0x275818();},'HrYTQ':function(_0x9c4b39,_0x889c84,_0x4fe147){return _0x9c4b39(_0x889c84,_0x4fe147);},'dxRmO':function(_0x23ace4,_0x55c0f5){return _0x23ace4(_0x55c0f5);},'gflmv':function(_0x356081,_0x4a10c2){return _0x356081!==_0x4a10c2;},'wOFsx':function(_0x274a72){return _0x274a72();},'Udxca':function(_0x378e82,_0x1054e9){return _0x378e82(_0x1054e9);},'UUnJe':function(_0x2899f7,_0x14e651){return _0x2899f7===_0x14e651;},'KZOwF':'configured','JfjBG':'@ranger-testing/opencode-plugin','oslgw':'\x20\x20Not\x20configured','rTUPc':_0x3bc402(0xd5),'cpWzg':_0x3bc402(0xf8),'fjHbi':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','pGmeh':_0x3bc402(0x108),'MiZJS':function(_0x40bec9,_0x23b833){return _0x40bec9+_0x23b833;},'cyEng':function(_0x1d99c0,_0x2497fd){return _0x1d99c0===_0x2497fd;},'PkAjw':'No\x20skills\x20installed','AhMdp':function(_0x9af5f1,_0x8dc499){return _0x9af5f1>_0x8dc499;},'lbZdr':_0x3bc402(0xc2),'VROxk':function(_0x4ac9a5,_0x36d648,_0x2fcca4){return _0x4ac9a5(_0x36d648,_0x2fcca4);},'msstg':function(_0x5a3c3a){return _0x5a3c3a();},'RCdnY':function(_0x280ab2,_0x35c28b){return _0x280ab2+_0x35c28b;},'QlQUa':_0x3bc402(0xa0),'IQPbg':function(_0x41d62e,_0x3da0d0){return _0x41d62e>_0x3da0d0;},'EtCfS':function(_0x5bd284,_0x5bef9e){return _0x5bd284===_0x5bef9e;},'pXeAH':'no\x20session','QldLM':_0x3bc402(0xe7),'rgCeu':'none','gUKOZ':function(_0xb9967c,_0x32663c){return _0xb9967c!==_0x32663c;}};console['log'](_0xb2b07e[_0x3bc402(0xc4)]);const _0x2ceae0=process[_0x3bc402(0xcc)](),_0x577019=_0xb2b07e['nSnRS'](getRangerDir);if(!existsSync(_0x577019)){console['log']('Root:\x20'+_0xb2b07e[_0x3bc402(0xa3)](link,_0x2ceae0,_0xb2b07e[_0x3bc402(0xeb)](bold,basename(_0x2ceae0)))),console['log'](_0x3bc402(0xdb)),console[_0x3bc402(0xa9)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x3bc402(0xe8)+link(_0x2ceae0,bold(basename(_0x2ceae0))));const _0x129972=getCurrentVersion(),_0x1e220f=getLatestVersion();if(_0x1e220f[_0x3bc402(0xd1)]&&_0xb2b07e[_0x3bc402(0xb1)](_0x1e220f[_0x3bc402(0xd1)],_0x129972))console['log']('Version:\x20'+_0x129972+'\x20(latest:\x20'+_0x1e220f[_0x3bc402(0xd1)]+')'),console[_0x3bc402(0xa9)]('\x20\x20Run:\x20ranger\x20update');else _0x1e220f[_0x3bc402(0xd1)]?console['log']('Version:\x20'+_0x129972+_0x3bc402(0xf2)):console[_0x3bc402(0xa9)](_0x3bc402(0xaf)+_0x129972);const _0x56a3da=await _0xb2b07e['wOFsx'](getToken);if(_0x56a3da){const _0x2cd883=await _0xb2b07e['Udxca'](getCurrentUser,_0x56a3da);_0x2cd883['success']?console[_0x3bc402(0xa9)]('Organization:\x20'+_0xb2b07e[_0x3bc402(0xea)](bold,_0x2cd883[_0x3bc402(0x103)]['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x3bc402(0xa9)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log'](_0x3bc402(0xbc)),console[_0x3bc402(0xa9)](_0x3bc402(0xe5));process[_0x3bc402(0xa8)][_0x3bc402(0x9f)]&&(console['log']('API\x20Environment:\x20'+_0xb2b07e['nSnRS'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+_0xb2b07e['wOFsx'](getApiBaseUrl)));console[_0x3bc402(0xa9)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x36c0c4=await getOpencodePluginStatus();if(_0xb2b07e[_0x3bc402(0xed)](_0x36c0c4[_0x3bc402(0xe3)],_0xb2b07e['KZOwF']))console['log']('\x20\x20'+_0xb2b07e[_0x3bc402(0xea)](bold,_0xb2b07e[_0x3bc402(0xdf)])+_0x3bc402(0xd4)),_0x36c0c4['details']&&console['log']('\x20\x20'+_0x36c0c4[_0x3bc402(0xf1)]);else _0x36c0c4[_0x3bc402(0xe3)]===_0x3bc402(0xe1)?(console[_0x3bc402(0xa9)](_0xb2b07e[_0x3bc402(0xb0)]),_0x36c0c4['details']&&console['log']('\x20\x20'+_0x36c0c4[_0x3bc402(0xf1)]),console[_0x3bc402(0xa9)](_0xb2b07e['rTUPc'])):console['log']('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console[_0x3bc402(0xa9)](_0x3bc402(0xee));const _0x201f70=await getPluginInfo(_0xb2b07e[_0x3bc402(0xe9)]);if(_0x201f70){const _0x2a23b6=_0x201f70['scope']||_0x3bc402(0xac),_0x346e81=_0x201f70['enabled']?'enabled':_0x3bc402(0xa2);console['log']('\x20\x20'+bold('ranger@trailhead')+_0x3bc402(0x107)+_0x2a23b6+',\x20'+_0x346e81+')');}else console[_0x3bc402(0xa9)]('\x20\x20Not\x20installed'),console[_0x3bc402(0xa9)](_0xb2b07e['fjHbi']);console[_0x3bc402(0xa9)](_0xb2b07e['pGmeh']);const {project:_0x11c5b6,user:_0x12377b}=await getInstalledSkills(),_0x3d0891=_0x11c5b6['filter'](_0x5b6ccc=>RANGER_MANAGED_SKILLS[_0x3bc402(0x101)](_0x5b6ccc[_0x3bc402(0xf6)])),_0x17ff63=_0x12377b[_0x3bc402(0xf9)](_0x488590=>RANGER_MANAGED_SKILLS['includes'](_0x488590[_0x3bc402(0xf6)])),_0x41d8fc=_0xb2b07e['MiZJS'](_0x3d0891[_0x3bc402(0xbb)],_0x17ff63['length']);if(_0xb2b07e['cyEng'](_0x41d8fc,0x0))console[_0x3bc402(0xa9)](_0xb2b07e['PkAjw']),console['log'](_0x3bc402(0xd8));else{if(_0xb2b07e['AhMdp'](_0x3d0891['length'],0x0)){console[_0x3bc402(0xa9)](_0x3bc402(0xb7));for(const _0x44b88c of _0x3d0891){console['log'](_0x3bc402(0xdd)+bold(_0x44b88c['displayName'])+':\x20'+link(_0x44b88c['path'],basename(_0x44b88c[_0x3bc402(0xc1)])));}}if(_0xb2b07e[_0x3bc402(0xfa)](_0x17ff63['length'],0x0)){console[_0x3bc402(0xa9)](_0xb2b07e['lbZdr']);for(const _0x129ecc of _0x17ff63){console['log'](_0x3bc402(0xdd)+bold(_0x129ecc['displayName'])+':\x20'+_0xb2b07e[_0x3bc402(0xae)](link,_0x129ecc[_0x3bc402(0xc1)],basename(_0x129ecc[_0x3bc402(0xc1)])));}}}console[_0x3bc402(0xa9)]('\x0a---\x20Profiles\x20---');const {envs:_0x348b9f,activeEnv:_0x47e20f}=await getEnvironments();let _0x17260c=[];if(_0x56a3da)try{_0x17260c=await _0xb2b07e[_0x3bc402(0xe0)](listCloudProfiles);}catch{}const _0x1b4df5=_0xb2b07e[_0x3bc402(0x10b)](_0x348b9f[_0x3bc402(0xbb)],_0x17260c[_0x3bc402(0xbb)]);if(_0x1b4df5===0x0)console['log'](_0xb2b07e['QlQUa']),console[_0x3bc402(0xa9)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0xb2b07e['AhMdp'](_0x1b4df5,0x5)){const _0x4c87d0=[];_0xb2b07e[_0x3bc402(0xfc)](_0x17260c['length'],0x0)&&_0x4c87d0['push'](_0x17260c['length']+'\x20cloud'),_0x348b9f[_0x3bc402(0xbb)]>0x0&&_0x4c87d0[_0x3bc402(0x106)](_0x348b9f[_0x3bc402(0xbb)]+'\x20local'),console['log'](_0x1b4df5+_0x3bc402(0xcd)+_0x4c87d0['join'](',\x20')+')'),_0x47e20f&&console['log']('\x20\x20Active:\x20'+bold(_0x47e20f)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x4b87e3 of _0x17260c){const _0x401a4a=_0xb2b07e[_0x3bc402(0xa4)](_0x4b87e3[_0x3bc402(0xf6)],_0x47e20f)?_0x3bc402(0xd3):'';console['log']('\x20\x20'+_0xb2b07e['Udxca'](bold,_0x4b87e3[_0x3bc402(0xf6)])+'\x20[cloud]'+_0x401a4a);const _0x2c4a26=_0x4b87e3['sessionUpdatedAt']?_0x3bc402(0x105)+_0x4b87e3['sessionUpdatedAt']+')':_0xb2b07e[_0x3bc402(0x102)];console[_0x3bc402(0xa9)](_0x3bc402(0xc7)+_0x2c4a26);}const _0xab2114=new Set(_0x17260c[_0x3bc402(0xa5)](_0x116705=>_0x116705[_0x3bc402(0xf6)]));for(const _0x3e56bf of _0x348b9f){if(_0xab2114[_0x3bc402(0xa1)](_0x3e56bf[_0x3bc402(0xf6)]))continue;const _0x73b944=_0x3e56bf[_0x3bc402(0xb5)]?'\x20(active)':'',_0xb3097=_0x3e56bf[_0x3bc402(0xcb)]?_0xb2b07e[_0x3bc402(0xab)]:_0x3e56bf['hasPlaintextAuth']?_0x3bc402(0x109):_0xb2b07e[_0x3bc402(0xce)];console['log']('\x20\x20'+bold(_0x3e56bf['name'])+'\x20[local]'+_0x73b944),console['log']('\x20\x20\x20\x20Auth:\x20'+_0xb3097),_0xb2b07e[_0x3bc402(0xb6)](_0x3e56bf[_0x3bc402(0xda)],_0x3bc402(0xef))&&console['log']('\x20\x20\x20\x20Settings:\x20'+link(_0x3e56bf['settingsPath'],basename(_0x3e56bf['settingsPath'])));}if(!_0x47e20f){console['log']('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x2e823c=[..._0x17260c['map'](_0x119960=>_0x119960[_0x3bc402(0xf6)]),..._0x348b9f[_0x3bc402(0xf9)](_0x13a079=>!_0xab2114['has'](_0x13a079['name']))['map'](_0x2e78be=>_0x2e78be[_0x3bc402(0xf6)])];console[_0x3bc402(0xa9)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x2e823c[_0x3bc402(0xb3)](',\x20')+')');}}}console[_0x3bc402(0xa9)]('');}
1
+ (function(_0x167bee,_0x87f885){const _0x4e3bea=_0x30eb,_0x463ff6=_0x167bee();while(!![]){try{const _0x73b7b4=-parseInt(_0x4e3bea(0x14d))/0x1+parseInt(_0x4e3bea(0x123))/0x2+parseInt(_0x4e3bea(0x11e))/0x3+-parseInt(_0x4e3bea(0x17b))/0x4*(parseInt(_0x4e3bea(0x167))/0x5)+-parseInt(_0x4e3bea(0x16b))/0x6+parseInt(_0x4e3bea(0x14c))/0x7*(parseInt(_0x4e3bea(0x171))/0x8)+parseInt(_0x4e3bea(0x136))/0x9*(parseInt(_0x4e3bea(0x134))/0xa);if(_0x73b7b4===_0x87f885)break;else _0x463ff6['push'](_0x463ff6['shift']());}catch(_0x92dd8f){_0x463ff6['push'](_0x463ff6['shift']());}}}(_0x1aa2,0x63811));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';function _0x30eb(_0x1f5c5a,_0x4a094e){_0x1f5c5a=_0x1f5c5a-0x11d;const _0x1aa217=_0x1aa2();let _0x30eb91=_0x1aa217[_0x1f5c5a];return _0x30eb91;}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 _0x1aa2(){const _0x446a0=['sessionUpdatedAt','ducmx','\x20\x20Not\x20configured','fwnRm','API\x20Environment:\x20','KiuIw','string','8PHIlUp','map','success','isArray','tYphw','YgDVl','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','wqQBE','1312044gOdMjN','no\x20session','\x20(up\x20to\x20date)','name','hasPlaintextAuth','422932KPjcES','Root:\x20','ggtMn','soimq','not_configured','ohKYS','DcGOB','user',':\x20configured','BdeYd','lMcDA','TgCJT','GNAqE','\x20\x20\x20\x20Session:\x20','pipe','log','UGIXa','10gTFoZr','includes','11623230fJwecV','VXlbg','cwd','join','match','\x20\x20User-level:','LgIjO','Version:\x20','some','not_installed','kfIaa','configured','mFNXz','filter','dDJNX','\x20\x20Project-level:','API\x20URL:\x20','\x20\x20\x20\x20Auth:\x20','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','\x20(active)','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','790111bSNfnz','743307nVVEBu','SLMIz','WTrAI','details','path','plaintext','OBocA','has','stderr','parse','GlYar','organizationName','@ranger-testing/opencode-plugin','No\x20profiles\x20configured','\x20cloud','close','\x20[cloud]','none','sCXcv','OZagm','HxZIm','encrypted','\x20\x20Run:\x20ranger\x20skillup','gObcm','settingsPath','opencode-plugin','1860370TxUtXQ','push','EYPAc','rmyro','1626036WwoQHH','fNaJa','\x0a---\x20Claude\x20Code\x20Plugin\x20---','data','length','auth.json','16ncTehc','opencode','API\x20Token:\x20✗\x20Not\x20found'];_0x1aa2=function(){return _0x446a0;};return _0x1aa2();}import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x3fc81d=>'\x1b[1m'+_0x3fc81d+'\x1b[0m',link=(_0x1028f6,_0x56c89b)=>'\x1b]8;;file://'+_0x1028f6+'\x07'+(_0x56c89b||_0x1028f6)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x4bc808=_0x30eb,_0x4c86b1={'wqQBE':function(_0x252964,_0x2d398a){return _0x252964(_0x2d398a);},'fNaJa':_0x4bc808(0x13f),'KiuIw':function(_0x22cd97,_0xcfef6f){return _0x22cd97>_0xcfef6f;},'GNAqE':function(_0x58ed2d,_0x5b961e){return _0x58ed2d(_0x5b961e);},'RauQC':'not_configured','GlYar':_0x4bc808(0x166),'tYphw':function(_0x7f0301,_0x117ba9,_0x580fdc,_0x338311){return _0x7f0301(_0x117ba9,_0x580fdc,_0x338311);},'ggtMn':'config','YNena':'ignore','ducmx':_0x4bc808(0x131),'TgCJT':_0x4bc808(0x15c)};return new Promise(_0x29bb26=>{const _0x1689f8=_0x4bc808,_0x45bc9e={'UGIXa':function(_0x9ada4c,_0x5a9596){const _0x1fb4d1=_0x30eb;return _0x4c86b1[_0x1fb4d1(0x12f)](_0x9ada4c,_0x5a9596);},'WTrAI':_0x4c86b1['fNaJa'],'omUHT':function(_0x38c3b2,_0x9b5750){return _0x38c3b2!==_0x9b5750;},'ohKYS':_0x4c86b1[_0x1689f8(0x157)]},_0x3b91a2=_0x4c86b1[_0x1689f8(0x17f)](spawn,_0x1689f8(0x172),['debug',_0x4c86b1[_0x1689f8(0x125)]],{'stdio':[_0x4c86b1['YNena'],_0x1689f8(0x131),_0x4c86b1[_0x1689f8(0x175)]]});let _0x2975f2='';_0x3b91a2['stdout']?.['on'](_0x1689f8(0x16e),_0x67cf52=>{_0x2975f2+=_0x67cf52['toString']();}),_0x3b91a2[_0x1689f8(0x155)]?.['on'](_0x1689f8(0x16e),_0x21a836=>{_0x2975f2+=_0x21a836['toString']();}),_0x3b91a2['on']('error',()=>{const _0x3e49f6=_0x1689f8;_0x45bc9e[_0x3e49f6(0x133)](_0x29bb26,{'status':_0x45bc9e[_0x3e49f6(0x14f)]});}),_0x3b91a2['on'](_0x4c86b1[_0x1689f8(0x12e)],_0x5c7540=>{const _0x4a08bf=_0x1689f8;if(_0x5c7540!==0x0){_0x4c86b1[_0x4a08bf(0x11d)](_0x29bb26,{'status':_0x4c86b1[_0x4a08bf(0x16c)]});return;}const _0x6a22db=_0x2975f2['trim']();let _0x45f2be=null;if(_0x6a22db)try{_0x45f2be=JSON[_0x4a08bf(0x156)](_0x6a22db);}catch{const _0xd40c98=_0x6a22db[_0x4a08bf(0x13a)](/\{[\s\S]*\}$/);if(_0xd40c98)try{_0x45f2be=JSON['parse'](_0xd40c98[0x0]);}catch{_0x45f2be=null;}}const _0x3c6b70=Array[_0x4a08bf(0x17e)](_0x45f2be?.['plugin'])?_0x45f2be?.['plugin']:[],_0x4c117a=_0x3c6b70[_0x4a08bf(0x13e)](_0x41a8f7=>{const _0x377c13=_0x4a08bf;if(_0x45bc9e['omUHT'](typeof _0x41a8f7,_0x377c13(0x17a)))return![];return _0x41a8f7['includes'](_0x377c13(0x159))||_0x41a8f7[_0x377c13(0x135)](_0x45bc9e[_0x377c13(0x128)]);});if(_0x4c117a){_0x29bb26({'status':_0x4a08bf(0x141),'details':_0x4c86b1[_0x4a08bf(0x179)](_0x3c6b70['length'],0x0)?_0x3c6b70[_0x4a08bf(0x16f)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x3c6b70['length']>0x0){_0x4c86b1[_0x4a08bf(0x12f)](_0x29bb26,{'status':_0x4c86b1['RauQC'],'details':_0x3c6b70['length']+'\x20plugin(s)\x20configured'});return;}_0x29bb26({'status':_0x4a08bf(0x127)});});});}async function getSkillsFromDir(_0x5d15c0,_0x156925){const _0x2e8955=_0x30eb,_0x1afd10={'lDvDD':function(_0xc9021a,_0x302f05){return _0xc9021a(_0x302f05);},'mFNXz':'SKILL.md','HxZIm':function(_0x37aaa5,_0x11c0be){return _0x37aaa5(_0x11c0be);},'wmZCr':'utf-8'};if(!_0x1afd10['lDvDD'](existsSync,_0x5d15c0))return[];const _0x447570=[];try{const _0x105729=await readdir(_0x5d15c0,{'withFileTypes':!![]});for(const _0x3864a5 of _0x105729){if(_0x3864a5['isDirectory']()){const _0x3602b7=join(_0x5d15c0,_0x3864a5[_0x2e8955(0x121)],_0x1afd10[_0x2e8955(0x142)]);if(_0x1afd10[_0x2e8955(0x161)](existsSync,_0x3602b7)){let _0x550277=_0x3864a5['name'];try{const _0x39b26f=await readFile(_0x3602b7,_0x1afd10['wmZCr']),_0x226849=_0x39b26f['match'](/name:\s*(.+)/);_0x226849&&(_0x550277=_0x226849[0x1]['trim']());}catch{}_0x447570[_0x2e8955(0x168)]({'name':_0x3864a5['name'],'displayName':_0x550277,'path':_0x3602b7,'level':_0x156925});}}}}catch{return[];}return _0x447570;}async function getInstalledSkills(){const _0x2253a7=_0x30eb,_0x50d36e={'rcNDJ':function(_0x485f79){return _0x485f79();},'jCJDl':'project','fcImU':function(_0x410e1f,_0x5caea9,_0x2e4813){return _0x410e1f(_0x5caea9,_0x2e4813);},'rmyro':'user'},[_0x13d2e0,_0x4f548b]=await Promise['all']([getSkillsFromDir(_0x50d36e['rcNDJ'](getProjectSkillsDir),_0x50d36e['jCJDl']),_0x50d36e['fcImU'](getSkillsFromDir,getUserSkillsDir(),_0x50d36e[_0x2253a7(0x16a)])]);return{'project':_0x13d2e0,'user':_0x4f548b};}async function getEnvironments(){const _0xe55a5a=_0x30eb,_0x176b35={'dDJNX':function(_0x222b04,_0x918ff6){return _0x222b04(_0x918ff6);},'bzZkK':function(_0x3c5964,_0x3cb910,_0x135e02){return _0x3c5964(_0x3cb910,_0x135e02);},'adUaM':'settings.json','RzqEN':_0xe55a5a(0x170),'MeALX':function(_0x239b7d,_0x32467e){return _0x239b7d(_0x32467e);},'soimq':function(_0x5d0944){return _0x5d0944();},'YgDVl':function(_0x4042ed){return _0x4042ed();}},{envNames:_0x465844,activeEnv:_0x1bbbbe}=await _0x176b35[_0xe55a5a(0x126)](getEnvNames),_0x1913f7=_0x176b35[_0xe55a5a(0x180)](getRangerDir);if(!_0x176b35[_0xe55a5a(0x144)](existsSync,_0x1913f7))return{'envs':[],'activeEnv':null};const _0x18f7ab=_0x465844['map'](_0x4f93fe=>{const _0x30fcb0=_0xe55a5a,_0x4d85bf=_0x176b35[_0x30fcb0(0x144)](getEnvDir,_0x4f93fe),_0x4e1ea2=_0x176b35['bzZkK'](join,_0x4d85bf,_0x176b35['adUaM']),_0x1163c6=_0x176b35['bzZkK'](join,_0x4d85bf,_0x176b35['RzqEN']),_0x109167=join(_0x4d85bf,'auth.json.enc');return{'name':_0x4f93fe,'settingsPath':existsSync(_0x4e1ea2)?_0x4e1ea2:'(not\x20found)','hasPlaintextAuth':existsSync(_0x1163c6),'hasEncryptedAuth':_0x176b35['MeALX'](existsSync,_0x109167),'isActive':_0x4f93fe===_0x1bbbbe};});return{'envs':_0x18f7ab,'activeEnv':_0x1bbbbe};}export async function status(){const _0x328ed0=_0x30eb,_0x1a27bc={'lMcDA':'\x0a📊\x20Ranger\x20Status\x0a','EYPAc':function(_0x2bc4f9){return _0x2bc4f9();},'BdeYd':function(_0x259dba,_0xc5e819){return _0x259dba(_0xc5e819);},'OZagm':function(_0x4efa42,_0x36ccb3,_0x304b54){return _0x4efa42(_0x36ccb3,_0x304b54);},'uxNYW':function(_0x17ed30){return _0x17ed30();},'kfIaa':'not_configured','vkfBX':_0x328ed0(0x149),'MssJE':_0x328ed0(0x16d),'gObcm':'ranger@trailhead','VXlbg':'\x20\x20Not\x20installed','LgIjO':_0x328ed0(0x181),'fIevs':'\x0a---\x20Skills\x20---','DcGOB':function(_0x1709d3,_0x38e753){return _0x1709d3+_0x38e753;},'ZtQZZ':function(_0x2f8552,_0x2a6578){return _0x2f8552>_0x2a6578;},'OBocA':function(_0x486df2,_0xcb039d,_0x7dcdb9){return _0x486df2(_0xcb039d,_0x7dcdb9);},'xYbep':function(_0x441f1b,_0x106939){return _0x441f1b(_0x106939);},'sCXcv':function(_0x44dc47,_0x429aac){return _0x44dc47(_0x429aac);},'CswYg':function(_0x1375b7){return _0x1375b7();},'SLMIz':function(_0x5ab2b4,_0x9002db){return _0x5ab2b4>_0x9002db;},'fwnRm':function(_0x51c377,_0x4a977c){return _0x51c377===_0x4a977c;},'VGQaj':_0x328ed0(0x14a),'qHyfl':_0x328ed0(0x11f),'djGxo':_0x328ed0(0x15e),'BrhZf':function(_0x5818f5,_0x60bf1e){return _0x5818f5!==_0x60bf1e;},'TAVyj':'(not\x20found)'};console[_0x328ed0(0x132)](_0x1a27bc[_0x328ed0(0x12d)]);const _0x1d889a=process[_0x328ed0(0x138)](),_0x405c24=_0x1a27bc[_0x328ed0(0x169)](getRangerDir);if(!_0x1a27bc[_0x328ed0(0x12c)](existsSync,_0x405c24)){console[_0x328ed0(0x132)]('Root:\x20'+link(_0x1d889a,_0x1a27bc[_0x328ed0(0x12c)](bold,basename(_0x1d889a)))),console[_0x328ed0(0x132)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x328ed0(0x14b));return;}console[_0x328ed0(0x132)](_0x328ed0(0x124)+_0x1a27bc['OZagm'](link,_0x1d889a,_0x1a27bc[_0x328ed0(0x12c)](bold,_0x1a27bc[_0x328ed0(0x12c)](basename,_0x1d889a))));const _0x4bf0=getCurrentVersion(),_0x486732=_0x1a27bc['uxNYW'](getLatestVersion);if(_0x486732['version']&&_0x486732['version']!==_0x4bf0)console['log']('Version:\x20'+_0x4bf0+'\x20(latest:\x20'+_0x486732['version']+')'),console[_0x328ed0(0x132)]('\x20\x20Run:\x20ranger\x20update');else _0x486732['version']?console[_0x328ed0(0x132)](_0x328ed0(0x13d)+_0x4bf0+_0x328ed0(0x120)):console[_0x328ed0(0x132)]('Version:\x20'+_0x4bf0);const _0x31083d=await getToken();if(_0x31083d){const _0x53a282=await getCurrentUser(_0x31083d);_0x53a282[_0x328ed0(0x17d)]?console[_0x328ed0(0x132)]('Organization:\x20'+bold(_0x53a282[_0x328ed0(0x12a)][_0x328ed0(0x158)])):(console[_0x328ed0(0x132)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x328ed0(0x132)](_0x328ed0(0x173)),console[_0x328ed0(0x132)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console[_0x328ed0(0x132)](_0x328ed0(0x178)+_0x1a27bc['uxNYW'](getCurrentEnvironment)),console[_0x328ed0(0x132)](_0x328ed0(0x146)+getApiBaseUrl()));console['log']('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x3e6f2f=await getOpencodePluginStatus();if(_0x3e6f2f['status']==='configured')console[_0x328ed0(0x132)]('\x20\x20'+bold(_0x328ed0(0x159))+_0x328ed0(0x12b)),_0x3e6f2f[_0x328ed0(0x150)]&&console['log']('\x20\x20'+_0x3e6f2f['details']);else _0x3e6f2f['status']===_0x1a27bc[_0x328ed0(0x140)]?(console[_0x328ed0(0x132)](_0x328ed0(0x176)),_0x3e6f2f[_0x328ed0(0x150)]&&console['log']('\x20\x20'+_0x3e6f2f['details']),console[_0x328ed0(0x132)](_0x328ed0(0x148))):console[_0x328ed0(0x132)](_0x1a27bc['vkfBX']);console[_0x328ed0(0x132)](_0x1a27bc['MssJE']);const _0x3b46fe=await getPluginInfo('ranger@trailhead');if(_0x3b46fe){const _0x5307d3=_0x3b46fe['scope']||'unknown',_0x263af7=_0x3b46fe['enabled']?'enabled':'disabled';console[_0x328ed0(0x132)]('\x20\x20'+bold(_0x1a27bc[_0x328ed0(0x164)])+':\x20installed\x20('+_0x5307d3+',\x20'+_0x263af7+')');}else console['log'](_0x1a27bc[_0x328ed0(0x137)]),console['log'](_0x1a27bc[_0x328ed0(0x13c)]);console['log'](_0x1a27bc['fIevs']);const {project:_0x3f1fce,user:_0x46d2f4}=await getInstalledSkills(),_0x1814b2=_0x3f1fce['filter'](_0x4b3a76=>RANGER_MANAGED_SKILLS['includes'](_0x4b3a76['name'])),_0x3292a0=_0x46d2f4[_0x328ed0(0x143)](_0xd9557a=>RANGER_MANAGED_SKILLS[_0x328ed0(0x135)](_0xd9557a['name'])),_0x471c80=_0x1a27bc['DcGOB'](_0x1814b2['length'],_0x3292a0['length']);if(_0x471c80===0x0)console['log']('No\x20skills\x20installed'),console[_0x328ed0(0x132)](_0x328ed0(0x163));else{if(_0x1a27bc['ZtQZZ'](_0x1814b2['length'],0x0)){console['log'](_0x328ed0(0x145));for(const _0x5c98a3 of _0x1814b2){console['log']('\x20\x20\x20\x20'+bold(_0x5c98a3['displayName'])+':\x20'+_0x1a27bc[_0x328ed0(0x153)](link,_0x5c98a3['path'],_0x1a27bc['xYbep'](basename,_0x5c98a3['path'])));}}if(_0x3292a0[_0x328ed0(0x16f)]>0x0){console[_0x328ed0(0x132)](_0x328ed0(0x13b));for(const _0x12d006 of _0x3292a0){console['log']('\x20\x20\x20\x20'+_0x1a27bc[_0x328ed0(0x15f)](bold,_0x12d006['displayName'])+':\x20'+link(_0x12d006[_0x328ed0(0x151)],basename(_0x12d006[_0x328ed0(0x151)])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x1e1f6d,activeEnv:_0x3b96ca}=await _0x1a27bc['CswYg'](getEnvironments);let _0x463210=[];if(_0x31083d)try{_0x463210=await _0x1a27bc['uxNYW'](listCloudProfiles);}catch{}const _0x2a2442=_0x1a27bc[_0x328ed0(0x129)](_0x1e1f6d['length'],_0x463210[_0x328ed0(0x16f)]);if(_0x2a2442===0x0)console[_0x328ed0(0x132)](_0x328ed0(0x15a)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x1a27bc[_0x328ed0(0x14e)](_0x2a2442,0x5)){const _0x3cb062=[];_0x463210[_0x328ed0(0x16f)]>0x0&&_0x3cb062['push'](_0x463210['length']+_0x328ed0(0x15b)),_0x1e1f6d[_0x328ed0(0x16f)]>0x0&&_0x3cb062['push'](_0x1e1f6d['length']+'\x20local'),console['log'](_0x2a2442+'\x20profiles\x20configured\x20('+_0x3cb062[_0x328ed0(0x139)](',\x20')+')'),_0x3b96ca&&console[_0x328ed0(0x132)]('\x20\x20Active:\x20'+bold(_0x3b96ca)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x2a3c74 of _0x463210){const _0x1cfb2f=_0x1a27bc[_0x328ed0(0x177)](_0x2a3c74[_0x328ed0(0x121)],_0x3b96ca)?_0x1a27bc['VGQaj']:'';console['log']('\x20\x20'+bold(_0x2a3c74['name'])+_0x328ed0(0x15d)+_0x1cfb2f);const _0x305fbf=_0x2a3c74[_0x328ed0(0x174)]?'cached\x20(updated\x20'+_0x2a3c74[_0x328ed0(0x174)]+')':_0x1a27bc['qHyfl'];console['log'](_0x328ed0(0x130)+_0x305fbf);}const _0x4d6a22=new Set(_0x463210[_0x328ed0(0x17c)](_0x555261=>_0x555261[_0x328ed0(0x121)]));for(const _0x27f99b of _0x1e1f6d){if(_0x4d6a22['has'](_0x27f99b['name']))continue;const _0x3940a0=_0x27f99b['isActive']?_0x328ed0(0x14a):'',_0x26b2a2=_0x27f99b['hasEncryptedAuth']?_0x328ed0(0x162):_0x27f99b[_0x328ed0(0x122)]?_0x328ed0(0x152):_0x1a27bc['djGxo'];console['log']('\x20\x20'+bold(_0x27f99b[_0x328ed0(0x121)])+'\x20[local]'+_0x3940a0),console['log'](_0x328ed0(0x147)+_0x26b2a2),_0x1a27bc['BrhZf'](_0x27f99b[_0x328ed0(0x165)],_0x1a27bc['TAVyj'])&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x1a27bc[_0x328ed0(0x160)](link,_0x27f99b['settingsPath'],basename(_0x27f99b['settingsPath'])));}if(!_0x3b96ca){console[_0x328ed0(0x132)]('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x101719=[..._0x463210[_0x328ed0(0x17c)](_0x3c9045=>_0x3c9045[_0x328ed0(0x121)]),..._0x1e1f6d['filter'](_0x413c9f=>!_0x4d6a22[_0x328ed0(0x154)](_0x413c9f['name']))[_0x328ed0(0x17c)](_0x5efff6=>_0x5efff6[_0x328ed0(0x121)])];console[_0x328ed0(0x132)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x101719[_0x328ed0(0x139)](',\x20')+')');}}}console[_0x328ed0(0x132)]('');}