@ranger-testing/ranger-cli 2.5.4-alpha.8c24bb2-15 → 2.5.4-alpha.9360c2a-16

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 (78) 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/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/mcpBootstrap.js +1 -1
  25. package/build/commands/migrateProfile.js +1 -1
  26. package/build/commands/setup/claude.js +1 -1
  27. package/build/commands/setup/opencode.js +1 -1
  28. package/build/commands/setupCi.js +1 -1
  29. package/build/commands/skillup.js +1 -1
  30. package/build/commands/start.js +1 -1
  31. package/build/commands/status.js +1 -1
  32. package/build/commands/update.js +1 -1
  33. package/build/commands/updateEnv.js +1 -1
  34. package/build/commands/useEnv.js +1 -1
  35. package/build/commands/utils/activeProfile.js +1 -1
  36. package/build/commands/utils/agentEnv.js +1 -1
  37. package/build/commands/utils/browserSessionsApi.js +1 -1
  38. package/build/commands/utils/claudeConfig.js +1 -1
  39. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  40. package/build/commands/utils/claudePlugin.js +1 -1
  41. package/build/commands/utils/cloudProfile.js +1 -1
  42. package/build/commands/utils/cloudProfileSession.js +1 -1
  43. package/build/commands/utils/crypto.js +1 -1
  44. package/build/commands/utils/desirePathLog.js +1 -1
  45. package/build/commands/utils/deviceAuth.js +1 -1
  46. package/build/commands/utils/environment.js +1 -1
  47. package/build/commands/utils/featureApi.js +1 -1
  48. package/build/commands/utils/fixWebmDuration.js +1 -1
  49. package/build/commands/utils/gitTracked.js +1 -1
  50. package/build/commands/utils/keychain.js +1 -1
  51. package/build/commands/utils/legacyWarning.js +1 -1
  52. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  53. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  54. package/build/commands/utils/mcpImageBase64.js +1 -1
  55. package/build/commands/utils/model.js +1 -1
  56. package/build/commands/utils/opencodeConfig.js +1 -1
  57. package/build/commands/utils/playwrightCli.js +1 -1
  58. package/build/commands/utils/profileMessages.js +1 -1
  59. package/build/commands/utils/profileSetupBanner.js +1 -1
  60. package/build/commands/utils/projectsConfig.js +1 -1
  61. package/build/commands/utils/rangerConfig.js +1 -1
  62. package/build/commands/utils/rangerRoot.js +1 -1
  63. package/build/commands/utils/resolveProfileContext.js +1 -1
  64. package/build/commands/utils/resolveProfileUrl.js +1 -1
  65. package/build/commands/utils/retry.js +1 -1
  66. package/build/commands/utils/sessionCache.js +1 -1
  67. package/build/commands/utils/settings.js +1 -1
  68. package/build/commands/utils/skillContent.js +1 -1
  69. package/build/commands/utils/skills.js +1 -1
  70. package/build/commands/utils/stitchWebmFiles.js +1 -1
  71. package/build/commands/utils/telemetry.js +1 -1
  72. package/build/commands/utils/tokenRefresh.js +1 -1
  73. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  74. package/build/commands/utils/userApi.js +1 -1
  75. package/build/commands/utils/version.js +1 -1
  76. package/build/commands/verifyFeature.js +1 -1
  77. package/build/commands/verifyFeatureCli.js +1 -1
  78. package/package.json +3 -2
@@ -1 +1 @@
1
- function _0x3468(){const _0x26c38b=['isTTY','1791TCUjXi','3331321cFCCko','HWURo','359074cpastK','14VPVrSQ','ZclCp','stdin','oGQVq','log','2136dUHjXZ','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','\x0a✅\x20API\x20key\x20stored\x20successfully','1516232nMEwDM','8yvxUWa','77950jvDZJI','144186MDMkDn','Login\x20failed:\x20','message','139733nMoWux','30BHwTng','292806cykzCK'];_0x3468=function(){return _0x26c38b;};return _0x3468();}(function(_0x4331d0,_0x10f095){const _0x229346=_0x227b,_0x377891=_0x4331d0();while(!![]){try{const _0x4d6536=-parseInt(_0x229346(0xd0))/0x1+-parseInt(_0x229346(0xd1))/0x2*(-parseInt(_0x229346(0xcb))/0x3)+parseInt(_0x229346(0xc3))/0x4+-parseInt(_0x229346(0xca))/0x5*(parseInt(_0x229346(0xc6))/0x6)+-parseInt(_0x229346(0xce))/0x7*(parseInt(_0x229346(0xc4))/0x8)+parseInt(_0x229346(0xcd))/0x9*(-parseInt(_0x229346(0xc5))/0xa)+-parseInt(_0x229346(0xc9))/0xb*(-parseInt(_0x229346(0xc0))/0xc);if(_0x4d6536===_0x10f095)break;else _0x377891['push'](_0x377891['shift']());}catch(_0x238dc2){_0x377891['push'](_0x377891['shift']());}}}(_0x3468,0xc19ce));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x227b(_0xc8aec0,_0x348730){_0xc8aec0=_0xc8aec0-0xbf;const _0x34683e=_0x3468();let _0x227b4d=_0x34683e[_0xc8aec0];return _0x227b4d;}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';export async function login(){const _0x3f3635=_0x227b,_0x390d32={'jkHcR':function(_0x35331f){return _0x35331f();},'WOOxJ':'Re-authenticating\x20via\x20MCP\x20bootstrap...','ZclCp':function(_0x4d60a8){return _0x4d60a8();},'ataTP':function(_0x41becd,_0x1784f0){return _0x41becd(_0x1784f0);},'oGQVq':_0x3f3635(0xc2),'HWURo':function(_0x589e53,_0x45665e){return _0x589e53 instanceof _0x45665e;}},_0x59e477=await _0x390d32['jkHcR'](getMcpAuthOrigin);if(_0x59e477){console[_0x3f3635(0xbf)](_0x390d32['WOOxJ']),await mcpBootstrap();return;}const _0x3acfbb=process[_0x3f3635(0xd3)]['isTTY']&&process['stdout'][_0x3f3635(0xcc)];if(!_0x3acfbb)throw new Error(_0x3f3635(0xc1));try{const _0x454c64=await _0x390d32[_0x3f3635(0xd2)](runDeviceAuthFlow),_0x3f24ca=await _0x390d32['ataTP'](getCurrentUser,_0x454c64);_0x3f24ca['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x3f24ca['user']['organizationName']):console['log'](_0x390d32[_0x3f3635(0xd4)]);}catch(_0x2e6b0d){throw new Error(_0x3f3635(0xc7)+(_0x390d32[_0x3f3635(0xcf)](_0x2e6b0d,Error)?_0x2e6b0d[_0x3f3635(0xc8)]:_0x2e6b0d));}}
1
+ (function(_0x2c9922,_0x2f8429){const _0xc96c1f=_0x1393,_0x5ecdb2=_0x2c9922();while(!![]){try{const _0x18d3a9=parseInt(_0xc96c1f(0x73))/0x1*(parseInt(_0xc96c1f(0x7e))/0x2)+-parseInt(_0xc96c1f(0x7a))/0x3+parseInt(_0xc96c1f(0x75))/0x4+parseInt(_0xc96c1f(0x7c))/0x5*(parseInt(_0xc96c1f(0x77))/0x6)+-parseInt(_0xc96c1f(0x70))/0x7+parseInt(_0xc96c1f(0x76))/0x8+parseInt(_0xc96c1f(0x82))/0x9*(-parseInt(_0xc96c1f(0x7d))/0xa);if(_0x18d3a9===_0x2f8429)break;else _0x5ecdb2['push'](_0x5ecdb2['shift']());}catch(_0x2e937d){_0x5ecdb2['push'](_0x5ecdb2['shift']());}}}(_0x5342,0xab273));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x5342(){const _0x122ff9=['60TAYXMK','stdin','\x0a✅\x20API\x20key\x20stored\x20successfully','2743245gSDYfw','Re-authenticating\x20via\x20MCP\x20bootstrap...','40435mxhBYQ','2575570bKkMOS','1123132iEyedr','Login\x20failed:\x20','isTTY','jgebq','27QJkXox','user','message','wcDZo','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','2415679TKmihT','UGhmn','organizationName','1nWTeFB','log','5257484KCKlEL','6211352urCRoF'];_0x5342=function(){return _0x122ff9;};return _0x5342();}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x1393(_0x1ea227,_0x439368){_0x1ea227=_0x1ea227-0x6c;const _0x53421f=_0x5342();let _0x13932e=_0x53421f[_0x1ea227];return _0x13932e;}export async function login(){const _0x1bdacb=_0x1393,_0x8a0490={'UGhmn':function(_0x2346fc,_0x4afe1e){return _0x2346fc(_0x4afe1e);},'wcDZo':_0x1bdacb(0x79),'jgebq':function(_0x3e4a02,_0x4f4b67){return _0x3e4a02 instanceof _0x4f4b67;}},_0x2659c8=await getMcpAuthOrigin();if(_0x2659c8){console[_0x1bdacb(0x74)](_0x1bdacb(0x7b)),await mcpBootstrap();return;}const _0x2a7135=process[_0x1bdacb(0x78)]['isTTY']&&process['stdout'][_0x1bdacb(0x80)];if(!_0x2a7135)throw new Error(_0x1bdacb(0x6f));try{const _0x2ea56b=await runDeviceAuthFlow(),_0x4e616d=await _0x8a0490[_0x1bdacb(0x71)](getCurrentUser,_0x2ea56b);_0x4e616d['success']?console[_0x1bdacb(0x74)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x4e616d[_0x1bdacb(0x6c)][_0x1bdacb(0x72)]):console[_0x1bdacb(0x74)](_0x8a0490[_0x1bdacb(0x6e)]);}catch(_0xffac8e){throw new Error(_0x1bdacb(0x7f)+(_0x8a0490[_0x1bdacb(0x81)](_0xffac8e,Error)?_0xffac8e[_0x1bdacb(0x6d)]:_0xffac8e));}}
@@ -1 +1 @@
1
- const _0x50b6a7=_0x19e5;(function(_0x42320d,_0x7dc9b8){const _0x550dd3=_0x19e5,_0x26f749=_0x42320d();while(!![]){try{const _0x28edfd=-parseInt(_0x550dd3(0xd3))/0x1+-parseInt(_0x550dd3(0xd5))/0x2+-parseInt(_0x550dd3(0xef))/0x3+-parseInt(_0x550dd3(0xfc))/0x4+parseInt(_0x550dd3(0x98))/0x5+parseInt(_0x550dd3(0xb0))/0x6+parseInt(_0x550dd3(0xdd))/0x7;if(_0x28edfd===_0x7dc9b8)break;else _0x26f749['push'](_0x26f749['shift']());}catch(_0x152c4b){_0x26f749['push'](_0x26f749['shift']());}}}(_0x1fc6,0xae062));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';function _0x19e5(_0x27c971,_0x53012e){_0x27c971=_0x27c971-0x7d;const _0x1fc672=_0x1fc6();let _0x19e5f6=_0x1fc672[_0x27c971];return _0x19e5f6;}import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';function _0x1fc6(){const _0x1ee412=['Discovering\x20authorization\x20server...','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','client_secret','expiresAt','searchParams','rKcSI','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','FXXpq','write','Initializing\x20MCP\x20session...','iVtrN','sha256','kqoRv','code','mcp-oauth-tokens.json','zBJRG','VzDFS','aFUYz','Server\x20returned\x20error:\x20','2025-03-26','GlgaC','headers','content','3691545ucXvbO','.ranger','message','FFaId','1.0.0','error_description','TFGkZ','stringify','isTTY','Not\x20found','vPZyi','state','application/json,\x20text/event-stream','duiDm','token','rytmv','darwin','OAuth\x20error:\x20','<html><body><h2>Authentication\x20failed</h2><p>','cGKRv','slice','json','UHmjo','data:','8365266MedJBO','pEMup','HTTP\x20','writeHead','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','Bearer\x20','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','stdout','response_type','ranger-cli','Ranger\x20CLI','gZodZ','QRPgc','authorization_code','end','JmHMA','clientId','error','VfQqB','YIzjS','lzscV','now','text','FAXbJ','pffgX','QrnCB','RfDhh','Token\x20exchange\x20failed:\x20','accessToken','BbLfm','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','xdg-open','url','sZYVA','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','970460wDqFtQ','KBhYB','2658688gATrxT','wVdNI','KDzDJ','authorization_endpoint','digest','OlALk','2.0','toString','22809227ybOnaC','string','refreshToken','Client\x20registration\x20failed:\x20','cQSll','needs-oauth','text/html','rVpZi','cNKjH','win32','ztULX','OAuthTimeoutError','get_cli_token','parse','Authorization','pathname','match','log','3478428xqHwej','get','refresh_token','pdTOT','\x20done','utf-8','access_token','status','\x0aUnexpected\x20response\x20structure:','RpvaH','resource','oIeia','gPypk','4875596fEAtyL','base64url','origin','http://localhost:','Requesting\x20CLI\x20token...','cSlAr','POST','set'];_0x1fc6=function(){return _0x1ee412;};return _0x1fc6();}import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x50b6a7(0x8f)),AUTH_ORIGIN_PATH=join(homedir(),_0x50b6a7(0x99),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x50996f=_0x50b6a7,_0x37f75d={'cGKRv':_0x50996f(0xf4)};try{const _0x1f6533=(await readFile(AUTH_ORIGIN_PATH,_0x37f75d[_0x50996f(0xab)]))['trim']();return _0x1f6533||null;}catch{return null;}}export async function mcpBootstrap(){const _0x5d460d=_0x50b6a7,_0x36e28e={'duiDm':function(_0x2ca747,_0x15a602){return _0x2ca747(_0x15a602);},'OlALk':function(_0x384f7f,_0x25ffde){return _0x384f7f===_0x25ffde;},'OowlO':'proxied','gPypk':function(_0x467e17,_0x22ac72){return _0x467e17+_0x22ac72;},'iVtrN':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','fVgaP':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','QRPgc':function(_0x217212,_0x1d348c,_0x177bad){return _0x217212(_0x1d348c,_0x177bad);}},_0x5549c4=getMcpAuthUrl();currentOrigin=_0x5549c4;const _0x87336d=process['stdout'][_0x5d460d(0xa0)]??![];console['log'](_0x5d460d(0xce)+_0x5549c4+'\x0a');const _0x392ba2=await _0x36e28e[_0x5d460d(0xa5)](tryUnauthenticated,_0x5549c4);let _0x4d5a2a=null;if(_0x36e28e[_0x5d460d(0xda)](_0x392ba2,_0x36e28e['OowlO']))_0x4d5a2a='';else{_0x4d5a2a=await loadCachedToken();if(!_0x4d5a2a){if(!_0x87336d)throw new Error(_0x36e28e[_0x5d460d(0xfb)](_0x36e28e[_0x5d460d(0x8b)],_0x36e28e['fVgaP']));_0x4d5a2a=await oauthFlow(_0x5549c4);}}await _0x36e28e[_0x5d460d(0xbc)](callGetCliToken,_0x5549c4,_0x4d5a2a);}async function tryUnauthenticated(_0x576aeb){const _0x4b872f=_0x50b6a7,_0x12c0bb={'KUYpv':_0x4b872f(0xa4),'CMmgJ':_0x4b872f(0xdb),'IBKqW':'initialize','AVZDC':'ranger-cli','KDzDJ':function(_0x15a1d5,_0x5dbefe){return _0x15a1d5===_0x5dbefe;}},_0x588a38=await fetch(_0x576aeb,{'method':_0x4b872f(0x7f),'headers':{'Content-Type':'application/json','Accept':_0x12c0bb['KUYpv']},'body':JSON['stringify']({'jsonrpc':_0x12c0bb['CMmgJ'],'id':0x1,'method':_0x12c0bb['IBKqW'],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x12c0bb['AVZDC'],'version':_0x4b872f(0x9c)}}})});if(_0x588a38['ok'])return await _0x588a38['text'](),'proxied';if(_0x12c0bb[_0x4b872f(0xd7)](_0x588a38['status'],0x191))return await _0x588a38[_0x4b872f(0xc6)](),_0x4b872f(0xe2);const _0x46d358=await _0x588a38[_0x4b872f(0xc6)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x588a38['status']+':\x20'+_0x46d358);}class OAuthTimeoutError extends Error{constructor(_0x1dd6db){const _0x584cc5=_0x50b6a7,_0x299058={'sGuYG':_0x584cc5(0xe8)};super(_0x1dd6db),this['name']=_0x299058['sGuYG'];}}async function oauthFlow(_0x544521){const _0x3da180=_0x50b6a7,_0x2f8b57={'oIeia':function(_0x2696d9,_0x570faa){return _0x2696d9(_0x570faa);},'BbLfm':function(_0x419483,_0x1fd0dc){return _0x419483 instanceof _0x1fd0dc;},'SlYgm':function(_0x55977a){return _0x55977a();},'muSZf':function(_0x3bd465,_0x41ed1f){return _0x3bd465(_0x41ed1f);}};try{return await _0x2f8b57[_0x3da180(0xfa)](oauthFlowAttempt,_0x544521);}catch(_0x38608a){if(_0x2f8b57[_0x3da180(0xcd)](_0x38608a,OAuthTimeoutError)&&await loadCachedClient())return console[_0x3da180(0xee)](_0x3da180(0x87)),await _0x2f8b57['SlYgm'](clearCachedClient),await _0x2f8b57['muSZf'](oauthFlowAttempt,_0x544521);throw _0x38608a;}}async function oauthFlowAttempt(_0x1be47d){const _0x1a7fb8=_0x50b6a7,_0x539bef={'sZYVA':function(_0x2cc6b4,_0x8d05bd){return _0x2cc6b4(_0x8d05bd);},'YIzjS':_0x1a7fb8(0x7f),'FeVRH':'refresh_token','KBhYB':'none','JOfqu':_0x1a7fb8(0xfd),'TFGkZ':'redirect_uri','rytmv':'code_challenge','AATJi':'code_challenge_method','vPZyi':'S256','lHuDu':'state','VzDFS':'resource','GBGiF':function(_0x433713,_0x40670e,_0x557341){return _0x433713(_0x40670e,_0x557341);},'LhCBY':'\x20done'},_0x14c104=_0x1be47d['replace'](/\/mcp$/,'');process[_0x1a7fb8(0xb7)][_0x1a7fb8(0x89)](_0x1a7fb8(0x81));const _0x3d0ae9=await _0x539bef['sZYVA'](fetch,_0x14c104+'/.well-known/oauth-protected-resource');if(!_0x3d0ae9['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x431bc3=await _0x3d0ae9[_0x1a7fb8(0xad)](),_0x7e5751=_0x431bc3['authorization_servers']?.[0x0];if(!_0x7e5751)throw new Error(_0x1a7fb8(0xd2));console[_0x1a7fb8(0xee)]('\x20'+_0x7e5751);const _0x52f861=await _0x539bef['sZYVA'](fetchAuthServerMetadata,_0x7e5751);let _0x18efe9,_0xfd8295;const _0x200537=await loadCachedClient();if(_0x200537)_0x18efe9=_0x200537['clientId'],_0xfd8295=_0x200537['clientSecret'];else{if(_0x52f861['registration_endpoint']){process[_0x1a7fb8(0xb7)][_0x1a7fb8(0x89)]('Registering\x20OAuth\x20client...');const _0xa2a741=await fetch(_0x52f861['registration_endpoint'],{'method':_0x539bef[_0x1a7fb8(0xc3)],'headers':{'Content-Type':'application/json'},'body':JSON[_0x1a7fb8(0x9f)]({'client_name':_0x1a7fb8(0xba),'redirect_uris':[_0x1a7fb8(0xff)+CALLBACK_PORT+'/callback'],'grant_types':[_0x1a7fb8(0xbd),_0x539bef['FeVRH']],'response_types':['code'],'token_endpoint_auth_method':_0x539bef[_0x1a7fb8(0xd4)]})});if(!_0xa2a741['ok']){const _0x5cd9d4=await _0xa2a741[_0x1a7fb8(0xc6)]();throw new Error(_0x1a7fb8(0xe0)+_0x5cd9d4);}const _0x231c02=await _0xa2a741['json']();_0x18efe9=_0x231c02['client_id'],_0xfd8295=_0x231c02[_0x1a7fb8(0x83)],await saveCachedClient(_0x18efe9,_0xfd8295),console['log'](_0x1a7fb8(0xf3));}else throw new Error(_0x1a7fb8(0xb4));}const _0x26df43=randomBytes(0x20)['toString'](_0x1a7fb8(0xfd)),_0x4c8988=createHash(_0x1a7fb8(0x8c))['update'](_0x26df43)[_0x1a7fb8(0xd9)](_0x539bef['JOfqu']),_0x18230b=randomBytes(0x10)['toString']('hex'),_0x4d179f=new URL(_0x52f861[_0x1a7fb8(0xd8)]);_0x4d179f[_0x1a7fb8(0x85)]['set'](_0x1a7fb8(0xb8),_0x1a7fb8(0x8e)),_0x4d179f['searchParams'][_0x1a7fb8(0x80)]('client_id',_0x18efe9),_0x4d179f['searchParams']['set'](_0x539bef[_0x1a7fb8(0x9e)],_0x1a7fb8(0xff)+CALLBACK_PORT+'/callback'),_0x4d179f[_0x1a7fb8(0x85)][_0x1a7fb8(0x80)](_0x539bef[_0x1a7fb8(0xa7)],_0x4c8988),_0x4d179f['searchParams']['set'](_0x539bef['AATJi'],_0x539bef[_0x1a7fb8(0xa2)]),_0x4d179f['searchParams'][_0x1a7fb8(0x80)](_0x539bef['lHuDu'],_0x18230b);_0x431bc3[_0x1a7fb8(0xf9)]&&_0x4d179f['searchParams'][_0x1a7fb8(0x80)](_0x1a7fb8(0xf9),_0x431bc3[_0x1a7fb8(0xf9)]);console[_0x1a7fb8(0xee)]('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x1a7fb8(0xee)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x4d179f['toString']()+'\x0a'),await _0x539bef[_0x1a7fb8(0xd1)](openBrowser,_0x4d179f[_0x1a7fb8(0xdc)]());const _0x2e2343=await waitForCallback(_0x18230b);process[_0x1a7fb8(0xb7)]['write']('Exchanging\x20authorization\x20code...');const _0x972e2c=new URLSearchParams({'grant_type':'authorization_code','code':_0x2e2343,'redirect_uri':_0x1a7fb8(0xff)+CALLBACK_PORT+'/callback','client_id':_0x18efe9,'code_verifier':_0x26df43});_0xfd8295&&_0x972e2c[_0x1a7fb8(0x80)]('client_secret',_0xfd8295);_0x431bc3[_0x1a7fb8(0xf9)]&&_0x972e2c[_0x1a7fb8(0x80)](_0x539bef[_0x1a7fb8(0x91)],_0x431bc3[_0x1a7fb8(0xf9)]);const _0x57735=await _0x539bef['GBGiF'](fetch,_0x52f861['token_endpoint'],{'method':_0x539bef['YIzjS'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x972e2c});if(!_0x57735['ok']){const _0x330ce7=await _0x57735['text']();throw new Error(_0x1a7fb8(0xcb)+_0x330ce7);}const _0x4b9ebd=await _0x57735[_0x1a7fb8(0xad)]();return console['log'](_0x539bef['LhCBY']),await saveCachedToken(_0x4b9ebd[_0x1a7fb8(0xf5)],_0x4b9ebd[_0x1a7fb8(0xf1)],_0x4b9ebd['expires_in']),_0x4b9ebd[_0x1a7fb8(0xf5)];}async function callGetCliToken(_0x2958bb,_0x4c49f8){const _0xb610b8=_0x50b6a7,_0x375ffe={'ZHjVu':function(_0x57007b,_0x21e71f,_0x24f6dd){return _0x57007b(_0x21e71f,_0x24f6dd);},'RpvaH':_0xb610b8(0xdb),'ZlYLk':'initialize','GlgaC':'1.0.0','pffgX':'\x20done','vvaEv':function(_0x1a2581,_0x11d170,_0x4865a4){return _0x1a2581(_0x11d170,_0x4865a4);},'pdTOT':_0xb610b8(0x7f),'vdcje':_0xb610b8(0x7d),'dBrUr':_0xb610b8(0xe9),'LrFyp':_0xb610b8(0xf7),'RfDhh':function(_0x1164f8,_0x45ef57,_0x147c26){return _0x1164f8(_0x45ef57,_0x147c26);},'JmHMA':function(_0x3c62dd){return _0x3c62dd();},'Ifztt':_0xb610b8(0x99),'aFUYz':'refresh.txt','VfQqB':function(_0x5a23b9,_0x451972,_0x283fb5,_0x2e0852){return _0x5a23b9(_0x451972,_0x283fb5,_0x2e0852);},'JxXEl':function(_0x4069d9,_0x33040c,_0x3900d8){return _0x4069d9(_0x33040c,_0x3900d8);},'pEMup':'auth-origin.txt','wVdNI':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0xbf9db={'Content-Type':'application/json','Accept':_0xb610b8(0xa4)};_0x4c49f8&&(_0xbf9db[_0xb610b8(0xeb)]=_0xb610b8(0xb5)+_0x4c49f8);const _0x289c16=async _0x431909=>{const _0x4d1008=_0xb610b8,_0x507d6f=await _0x375ffe['ZHjVu'](fetch,_0x2958bb,{'method':_0x4d1008(0x7f),'headers':_0xbf9db,'body':JSON[_0x4d1008(0x9f)](_0x431909)});if(!_0x507d6f['ok']){const _0x207fe0=await _0x507d6f['text']();throw new Error(_0x4d1008(0xb2)+_0x507d6f[_0x4d1008(0xf6)]+':\x20'+_0x207fe0);}return parseResponse(_0x507d6f);};process[_0xb610b8(0xb7)][_0xb610b8(0x89)](_0xb610b8(0x8a));const _0x25afa4=await _0x289c16({'jsonrpc':_0x375ffe['RpvaH'],'id':0x1,'method':_0x375ffe['ZlYLk'],'params':{'protocolVersion':_0xb610b8(0x94),'capabilities':{},'clientInfo':{'name':_0xb610b8(0xb9),'version':_0x375ffe[_0xb610b8(0x95)]}}});if(_0x25afa4[_0xb610b8(0xc1)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x25afa4['error']['message']??JSON[_0xb610b8(0x9f)](_0x25afa4[_0xb610b8(0xc1)])));console['log'](_0x375ffe[_0xb610b8(0xc8)]),await _0x375ffe['vvaEv'](fetch,_0x2958bb,{'method':_0x375ffe[_0xb610b8(0xf2)],'headers':_0xbf9db,'body':JSON[_0xb610b8(0x9f)]({'jsonrpc':_0x375ffe[_0xb610b8(0xf8)],'method':'notifications/initialized'})})['then'](_0x12431d=>_0x12431d[_0xb610b8(0xc6)]()),process[_0xb610b8(0xb7)][_0xb610b8(0x89)](_0x375ffe['vdcje']);const _0x1c93f7=await _0x289c16({'jsonrpc':_0x375ffe[_0xb610b8(0xf8)],'id':0x2,'method':'tools/call','params':{'name':_0x375ffe['dBrUr'],'arguments':{}}});if(_0x1c93f7['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x1c93f7[_0xb610b8(0xc1)][_0xb610b8(0x9a)]??JSON['stringify'](_0x1c93f7[_0xb610b8(0xc1)])));console['log'](_0xb610b8(0xf3));const _0xdead7b=extractToken(_0x1c93f7['result']);if(!_0xdead7b){console['error'](_0x375ffe['LrFyp']),console[_0xb610b8(0xc1)](JSON[_0xb610b8(0x9f)](_0x1c93f7['result'],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x273839=_0x375ffe[_0xb610b8(0xca)](join,_0x375ffe[_0xb610b8(0xbf)](homedir),_0x375ffe['Ifztt']),_0x1ababb=join(_0x273839,_0x375ffe[_0xb610b8(0x92)]);await mkdir(_0x273839,{'recursive':!![]}),await writeFile(_0x1ababb,_0xdead7b,{'mode':0x180}),await _0x375ffe[_0xb610b8(0xc2)](writeFile,_0x375ffe['JxXEl'](join,_0x273839,_0x375ffe[_0xb610b8(0xb1)]),_0x2958bb,{'mode':0x180}),console[_0xb610b8(0xee)]('\x0aToken\x20written\x20to\x20'+_0x1ababb),console[_0xb610b8(0xee)](_0x375ffe[_0xb610b8(0xd6)]);}async function fetchAuthServerMetadata(_0x6e2c15){const _0x5293db=_0x50b6a7,_0xc3780=_0x6e2c15+'/.well-known/oauth-authorization-server',_0x1f1ee4=await fetch(_0xc3780);if(!_0x1f1ee4['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0xc3780+':\x20'+_0x1f1ee4['status']);return _0x1f1ee4[_0x5293db(0xad)]();}function waitForCallback(_0x372c9c){const _0x4fa242=_0x50b6a7,_0x3c2b51={'eCsCw':_0x4fa242(0xa1),'ztULX':_0x4fa242(0x8e),'rVpZi':_0x4fa242(0xc1),'pkJUD':_0x4fa242(0x9d),'ssdjY':function(_0x4c1301,_0x2f6567){return _0x4c1301(_0x2f6567);},'FFaId':_0x4fa242(0xb6),'lzscV':'text/html','yQgab':function(_0x4fb162,_0x5e7af4,_0x2c9afe){return _0x4fb162(_0x5e7af4,_0x2c9afe);},'Hlysw':function(_0x28684b,_0x3917a1){return _0x28684b(_0x3917a1);}};return new Promise((_0x4fc0fa,_0x40a794)=>{const _0x2c384d=_0x4fa242,_0x180238={'ODwJE':_0x2c384d(0x82)},_0x1a33e6=_0x3c2b51['yQgab'](setTimeout,()=>{_0x19e0e7['close'](),_0x40a794(new OAuthTimeoutError(_0x180238['ODwJE']));},0x1d4c0),_0x19e0e7=_0x3c2b51['Hlysw'](createServer,(_0x1931e9,_0x159bf2)=>{const _0x11aa9a=_0x2c384d,_0x581eaf=new URL(_0x1931e9[_0x11aa9a(0xd0)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x581eaf[_0x11aa9a(0xec)]!=='/callback'){_0x159bf2[_0x11aa9a(0xb3)](0x194),_0x159bf2['end'](_0x3c2b51['eCsCw']);return;}const _0x3f5934=_0x581eaf[_0x11aa9a(0x85)]['get'](_0x3c2b51[_0x11aa9a(0xe7)]),_0x382fe4=_0x581eaf['searchParams']['get'](_0x11aa9a(0xa3)),_0x1f3991=_0x581eaf['searchParams']['get'](_0x3c2b51[_0x11aa9a(0xe4)]);if(_0x1f3991){const _0x414f89=_0x581eaf['searchParams'][_0x11aa9a(0xf0)](_0x3c2b51['pkJUD'])??_0x1f3991;_0x159bf2[_0x11aa9a(0xb3)](0xc8,{'Content-Type':_0x11aa9a(0xe3)}),_0x159bf2[_0x11aa9a(0xbe)](_0x11aa9a(0xaa)+_0x414f89+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x3c2b51['ssdjY'](clearTimeout,_0x1a33e6),_0x19e0e7['close'](),_0x40a794(new Error(_0x11aa9a(0xa9)+_0x414f89));return;}if(!_0x3f5934||_0x382fe4!==_0x372c9c){_0x159bf2['writeHead'](0x190,{'Content-Type':'text/html'}),_0x159bf2[_0x11aa9a(0xbe)](_0x3c2b51[_0x11aa9a(0x9b)]);return;}_0x159bf2['writeHead'](0xc8,{'Content-Type':_0x3c2b51[_0x11aa9a(0xc4)]}),_0x159bf2['end']('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),clearTimeout(_0x1a33e6),_0x19e0e7['close'](),_0x4fc0fa(_0x3f5934);});_0x19e0e7['listen'](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0x56b0fb){const _0x2815be=_0x50b6a7,_0x1884dc={'zBJRG':'child_process','MowGB':_0x2815be(0xa8),'ekVNo':'start','kqoRv':_0x2815be(0xcf),'UHmjo':function(_0x1cda67,_0x3e60a6){return _0x1cda67(_0x3e60a6);}},{exec:_0x443279}=await import(_0x1884dc[_0x2815be(0x90)]),_0x5128de=process['platform']===_0x1884dc['MowGB']?'open':process['platform']===_0x2815be(0xe6)?_0x1884dc['ekVNo']:_0x1884dc[_0x2815be(0x8d)];_0x1884dc[_0x2815be(0xae)](_0x443279,_0x5128de+'\x20\x22'+_0x56b0fb+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x539496=_0x50b6a7,_0x5dc560={'rKcSI':_0x539496(0xf4),'vVkeA':function(_0x219760,_0x1c5463){return _0x219760!==_0x1c5463;},'gZodZ':function(_0x59b86,_0x23defb){return _0x59b86>_0x23defb;}};try{const _0x3f845c=JSON[_0x539496(0xea)](await readFile(TOKEN_CACHE_PATH,_0x5dc560[_0x539496(0x86)]));if(_0x3f845c[_0x539496(0xfe)]&&_0x5dc560['vVkeA'](_0x3f845c[_0x539496(0xfe)],currentOrigin))return null;if(_0x3f845c['expiresAt']&&_0x5dc560[_0x539496(0xbb)](Date[_0x539496(0xc5)](),_0x3f845c[_0x539496(0x84)]))return null;return _0x3f845c['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x28daa2,_0x416fd7,_0x30f328){const _0xa5b57a=_0x50b6a7,_0x519e12={'cSlAr':function(_0x462a7a,_0x5b52e9,_0x3f75f3){return _0x462a7a(_0x5b52e9,_0x3f75f3);},'FXXpq':function(_0x3f9c41,_0x804d2f,_0x66d435,_0x38a0b8){return _0x3f9c41(_0x804d2f,_0x66d435,_0x38a0b8);}},_0x504f5d=await loadCachedData(),_0xa5aea5={..._0x504f5d,'origin':currentOrigin,'accessToken':_0x28daa2,'refreshToken':_0x416fd7??_0x504f5d?.[_0xa5b57a(0xdf)],'expiresAt':_0x30f328?Date[_0xa5b57a(0xc5)]()+_0x30f328*0x3e8:undefined};await _0x519e12[_0xa5b57a(0x7e)](mkdir,_0x519e12[_0xa5b57a(0x7e)](join,homedir(),_0xa5b57a(0x99)),{'recursive':!![]}),await _0x519e12[_0xa5b57a(0x88)](writeFile,TOKEN_CACHE_PATH,JSON[_0xa5b57a(0x9f)](_0xa5aea5),{'mode':0x180});}async function loadCachedClient(){const _0xe247c8=_0x50b6a7,_0xf24222={'QrnCB':function(_0x196f41,_0x5add9c){return _0x196f41!==_0x5add9c;}},_0xa40884=await loadCachedData();if(_0xa40884?.['origin']&&_0xf24222[_0xe247c8(0xc9)](_0xa40884[_0xe247c8(0xfe)],currentOrigin))return null;return _0xa40884?.[_0xe247c8(0xc0)]?{'clientId':_0xa40884[_0xe247c8(0xc0)],'clientSecret':_0xa40884['clientSecret']}:null;}async function clearCachedClient(){const _0x46988c=_0x50b6a7,_0x2eac19={'CedaI':function(_0x17b70c){return _0x17b70c();}},_0x2648c4=await _0x2eac19['CedaI'](loadCachedData);if(!_0x2648c4)return;const {clientId:_0x36ffb5,clientSecret:_0x868081,..._0xedaef2}=_0x2648c4;await writeFile(TOKEN_CACHE_PATH,JSON[_0x46988c(0x9f)](_0xedaef2),{'mode':0x180});}async function saveCachedClient(_0x3029f7,_0x23347b){const _0x3a8a8d=_0x50b6a7,_0x20118a={'FAXbJ':function(_0x424aa2){return _0x424aa2();}},_0x9b5e8d=await _0x20118a[_0x3a8a8d(0xc7)](loadCachedData),_0x1aa90b={..._0x9b5e8d,'origin':currentOrigin,'accessToken':_0x9b5e8d?.[_0x3a8a8d(0xcc)]??'','clientId':_0x3029f7,'clientSecret':_0x23347b};await mkdir(join(_0x20118a[_0x3a8a8d(0xc7)](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x3a8a8d(0x9f)](_0x1aa90b),{'mode':0x180});}async function loadCachedData(){const _0x41b6b3={'QHKzU':'utf-8'};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x41b6b3['QHKzU']));}catch{return null;}}async function parseResponse(_0x34003f){const _0x8e5749=_0x50b6a7,_0x32aaf7={'cQSll':'text/event-stream','WzbdR':function(_0x800c69,_0xcb8ed8){return _0x800c69!==_0xcb8ed8;}},_0x53df4d=_0x34003f[_0x8e5749(0x96)]['get']('content-type')??'';if(_0x53df4d['includes'](_0x32aaf7[_0x8e5749(0xe1)])){const _0x14551c=await _0x34003f['text']();for(const _0x276e96 of _0x14551c['split']('\x0a')){const _0xdcbd77=_0x276e96['trim']();if(_0xdcbd77['startsWith'](_0x8e5749(0xaf))){const _0x5dbaf3=_0xdcbd77[_0x8e5749(0xac)]('data:'['length'])['trim']();if(!_0x5dbaf3)continue;try{const _0x19cb89=JSON['parse'](_0x5dbaf3);if(_0x32aaf7['WzbdR'](_0x19cb89['id'],undefined)||_0x19cb89[_0x8e5749(0xc1)])return _0x19cb89;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x34003f[_0x8e5749(0xad)]();}function extractToken(_0x173786){const _0x4ff9f9=_0x50b6a7,_0x240a58={'cNKjH':function(_0x36473b,_0x37c5cb){return _0x36473b===_0x37c5cb;}};if(!_0x173786)return null;const _0x46a8a5=_0x173786['structuredContent'];if(_0x46a8a5?.[_0x4ff9f9(0xa6)]&&typeof _0x46a8a5['token']===_0x4ff9f9(0xde))return _0x46a8a5[_0x4ff9f9(0xa6)];if(_0x173786['isError']){const _0x345e2c=_0x173786[_0x4ff9f9(0x97)];throw new Error(_0x4ff9f9(0x93)+(_0x345e2c?.[0x0]?.[_0x4ff9f9(0xc6)]??'Unknown\x20error'));}const _0x3908ce=_0x173786['content'];if(_0x3908ce)for(const _0xbbbf14 of _0x3908ce){if(_0x240a58[_0x4ff9f9(0xe5)](_0xbbbf14['type'],_0x4ff9f9(0xc6))&&_0xbbbf14['text']){try{const _0x1fd822=JSON['parse'](_0xbbbf14['text']);if(_0x240a58['cNKjH'](typeof _0x1fd822?.['token'],'string'))return _0x1fd822['token'];}catch{}const _0x19e24b=_0xbbbf14['text'][_0x4ff9f9(0xed)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x19e24b)return _0x19e24b[0x1];}}return null;}
1
+ const _0x1b3ae4=_0x361e;(function(_0x456c22,_0x4ab959){const _0x423bbf=_0x361e,_0x577d32=_0x456c22();while(!![]){try{const _0x274203=-parseInt(_0x423bbf(0x121))/0x1*(parseInt(_0x423bbf(0x1a2))/0x2)+-parseInt(_0x423bbf(0x180))/0x3+parseInt(_0x423bbf(0x11e))/0x4*(parseInt(_0x423bbf(0x1a3))/0x5)+parseInt(_0x423bbf(0x14d))/0x6+parseInt(_0x423bbf(0x148))/0x7+-parseInt(_0x423bbf(0x150))/0x8+parseInt(_0x423bbf(0x185))/0x9;if(_0x274203===_0x4ab959)break;else _0x577d32['push'](_0x577d32['shift']());}catch(_0xf90f14){_0x577d32['push'](_0x577d32['shift']());}}}(_0x2d39,0x9e94b));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{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x1b3ae4(0x165),_0x1b3ae4(0x135)),AUTH_ORIGIN_PATH=join(homedir(),_0x1b3ae4(0x165),_0x1b3ae4(0x1a4));export async function getMcpAuthOrigin(){const _0xdef061=_0x1b3ae4,_0x455a55={'ZZOjw':function(_0x508a77,_0x41b860,_0x55300f){return _0x508a77(_0x41b860,_0x55300f);},'KVNAq':function(_0x4099f4,_0x48c963){return _0x4099f4||_0x48c963;}};try{const _0x48ea28=(await _0x455a55[_0xdef061(0x17f)](readFile,AUTH_ORIGIN_PATH,_0xdef061(0x11c)))['trim']();return _0x455a55[_0xdef061(0x191)](_0x48ea28,null);}catch{return null;}}export async function mcpBootstrap(){const _0x1b6932=_0x1b3ae4,_0x1f4886={'dAVYV':function(_0x89ec2f){return _0x89ec2f();},'QdKBe':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','xSdXH':_0x1b6932(0x16c)},_0xa65d9f=_0x1f4886['dAVYV'](getMcpAuthUrl);currentOrigin=_0xa65d9f;const _0x4da4d5=process[_0x1b6932(0x195)]['isTTY']??![];console['log'](_0x1b6932(0x12d)+_0xa65d9f+'\x0a');const _0x5de03a=await tryUnauthenticated(_0xa65d9f);let _0x1efcdb=null;if(_0x5de03a==='proxied')_0x1efcdb='';else{_0x1efcdb=await _0x1f4886[_0x1b6932(0x129)](loadCachedToken);if(!_0x1efcdb){if(!_0x4da4d5)throw new Error(_0x1f4886[_0x1b6932(0x152)]+_0x1f4886['xSdXH']);_0x1efcdb=await oauthFlow(_0xa65d9f);}}await callGetCliToken(_0xa65d9f,_0x1efcdb);}async function tryUnauthenticated(_0x1c74b1){const _0x4fe5a=_0x1b3ae4,_0x27325c={'GeYbx':function(_0x5473dd,_0x209cca,_0x4f96c2){return _0x5473dd(_0x209cca,_0x4f96c2);},'WCKtf':'application/json','YJozJ':'application/json,\x20text/event-stream','TmQZh':_0x4fe5a(0x11a),'HhPKO':_0x4fe5a(0x16b)},_0x3105ce=await _0x27325c[_0x4fe5a(0x15f)](fetch,_0x1c74b1,{'method':'POST','headers':{'Content-Type':_0x27325c[_0x4fe5a(0x14a)],'Accept':_0x27325c['YJozJ']},'body':JSON[_0x4fe5a(0x193)]({'jsonrpc':_0x4fe5a(0x137),'id':0x1,'method':_0x27325c['TmQZh'],'params':{'protocolVersion':_0x27325c['HhPKO'],'capabilities':{},'clientInfo':{'name':_0x4fe5a(0x163),'version':_0x4fe5a(0x140)}}})});if(_0x3105ce['ok'])return await _0x3105ce[_0x4fe5a(0x115)](),_0x4fe5a(0x176);if(_0x3105ce[_0x4fe5a(0x14e)]===0x191)return await _0x3105ce[_0x4fe5a(0x115)](),'needs-oauth';const _0xa8e674=await _0x3105ce['text']();throw new Error(_0x4fe5a(0x141)+_0x3105ce[_0x4fe5a(0x14e)]+':\x20'+_0xa8e674);}class OAuthTimeoutError extends Error{constructor(_0x2b9f4f){const _0x3935c7=_0x1b3ae4;super(_0x2b9f4f),this['name']=_0x3935c7(0x13d);}}function _0x2d39(){const _0x5190e3=['728488pqBpOh','CMCvt','QdKBe','SJnSg','refresh.txt','base64url','state','client_id','application/json','smNKy','type','listen','includes','code_challenge','expiresAt','GeYbx','Not\x20found','code_challenge_method','\x20done','ranger-cli','expires_in','.ranger','sha256','end','CysBo','/callback','blWvG','2025-03-26','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','xmTnn','UNsnc','error_description','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','SLweO','mdNRy','write','code','proxied','open','platform','slice','DeqCM','access_token','get_cli_token\x20failed:\x20','refreshToken','Requesting\x20CLI\x20token...','ZZOjw','1004433Iamksr','LplUE','close','bgedF','set','8779401htmdhW','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','resource','POST','Hfxmy','start','origin','Registering\x20OAuth\x20client...','GIyTS','kFNDv','hex','HuqbG','KVNAq','UwyLO','stringify','AUNdF','stdout','tools/call','get_cli_token','message','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','cbiAg','jVXSX','token','XTVYd','error','fsWrc','JbkjH','then','2125342kTHFuA','2075235hFQDcs','auth-origin.txt','now','digest','data:','FWiKz','json','log','sGeUR','result','refresh_token','http://localhost:','string','vRglT','toString','FMKIa','pathname','writeHead','CpWDR','text/event-stream','structuredContent','oPwxp','text','CXUvm','qDFkR','ohQHb','Unknown\x20error','initialize','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','utf-8','content','8QHgFPp','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','HKtfu','1HgGoCj','Jhcyc','clientSecret','xdg-open','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','accessToken','searchParams','darwin','dAVYV','EEWvF','JFBZb','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','cKZwu','nMBpd','authorization_endpoint','\x0aToken\x20written\x20to\x20','HvZBb','application/x-www-form-urlencoded','clientId','mcp-oauth-tokens.json','Token\x20exchange\x20failed:\x20','2.0','client_secret','parse','get','url','split','OAuthTimeoutError','DEvFt','nTOLH','1.0.0','MCP\x20server\x20returned\x20HTTP\x20','ZTdaC','127.0.0.1','InPrZ','text/html','jqiTM','registration_endpoint','108017VeUyLJ','Exchanging\x20authorization\x20code...','WCKtf','ailEV','mDYuu','1902456NvphwG','status','trim'];_0x2d39=function(){return _0x5190e3;};return _0x2d39();}async function oauthFlow(_0x183579){const _0x12b4e5=_0x1b3ae4,_0x4ae87c={'UNsnc':function(_0x187c8c){return _0x187c8c();}};try{return await oauthFlowAttempt(_0x183579);}catch(_0x234e8d){if(_0x234e8d instanceof OAuthTimeoutError&&await _0x4ae87c[_0x12b4e5(0x16e)](loadCachedClient))return console['log'](_0x12b4e5(0x186)),await clearCachedClient(),await oauthFlowAttempt(_0x183579);throw _0x234e8d;}}async function oauthFlowAttempt(_0x1390c5){const _0x56f239=_0x1b3ae4,_0x1f8680={'cbiAg':_0x56f239(0x125),'rjdkf':function(_0x459dc3,_0x3d1e35){return _0x459dc3(_0x3d1e35);},'UwyLO':function(_0x48d11c){return _0x48d11c();},'qDFkR':'Ranger\x20CLI','wlxNj':'refresh_token','ZTdaC':_0x56f239(0x175),'smNKy':'none','CpWDR':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','mDYuu':_0x56f239(0x166),'CWyeT':_0x56f239(0x155),'qgSje':_0x56f239(0x18f),'HKtfu':'response_type','XTVYd':'client_id','VJFfi':_0x56f239(0x15d),'nqfkD':'S256','mdNRy':_0x56f239(0x156),'FWiKz':_0x56f239(0x187),'oPwxp':'\x0aOpening\x20browser\x20for\x20authentication...','zqtSM':function(_0x586cf0,_0x29f6fa){return _0x586cf0(_0x29f6fa);},'CMCvt':function(_0x2d36ce,_0x164321,_0xaed877,_0x12e30e){return _0x2d36ce(_0x164321,_0xaed877,_0x12e30e);}},_0xf958a6=_0x1390c5['replace'](/\/mcp$/,'');process[_0x56f239(0x195)]['write']('Discovering\x20authorization\x20server...');const _0x43cf39=await fetch(_0xf958a6+'/.well-known/oauth-protected-resource');if(!_0x43cf39['ok'])throw new Error(_0x1f8680[_0x56f239(0x19a)]);const _0x1a8e83=await _0x43cf39['json'](),_0x473f0d=_0x1a8e83['authorization_servers']?.[0x0];if(!_0x473f0d)throw new Error(_0x56f239(0x171));console['log']('\x20'+_0x473f0d);const _0x5f4c1d=await _0x1f8680['rjdkf'](fetchAuthServerMetadata,_0x473f0d);let _0x4080b2,_0x5536d4;const _0x1ac036=await _0x1f8680[_0x56f239(0x192)](loadCachedClient);if(_0x1ac036)_0x4080b2=_0x1ac036[_0x56f239(0x134)],_0x5536d4=_0x1ac036[_0x56f239(0x123)];else{if(_0x5f4c1d['registration_endpoint']){process[_0x56f239(0x195)][_0x56f239(0x174)](_0x56f239(0x18c));const _0x88912f=await fetch(_0x5f4c1d[_0x56f239(0x147)],{'method':_0x56f239(0x188),'headers':{'Content-Type':'application/json'},'body':JSON[_0x56f239(0x193)]({'client_name':_0x1f8680[_0x56f239(0x117)],'redirect_uris':[_0x56f239(0x1ae)+CALLBACK_PORT+'/callback'],'grant_types':['authorization_code',_0x1f8680['wlxNj']],'response_types':[_0x1f8680[_0x56f239(0x142)]],'token_endpoint_auth_method':_0x1f8680[_0x56f239(0x159)]})});if(!_0x88912f['ok']){const _0x4b0d9e=await _0x88912f[_0x56f239(0x115)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x4b0d9e);}const _0x26ddaf=await _0x88912f[_0x56f239(0x1a9)]();_0x4080b2=_0x26ddaf[_0x56f239(0x157)],_0x5536d4=_0x26ddaf[_0x56f239(0x138)],await saveCachedClient(_0x4080b2,_0x5536d4),console['log']('\x20done');}else throw new Error(_0x1f8680[_0x56f239(0x1b5)]);}const _0x2e06a1=randomBytes(0x20)['toString'](_0x56f239(0x155)),_0xdbf6bb=createHash(_0x1f8680[_0x56f239(0x14c)])['update'](_0x2e06a1)[_0x56f239(0x1a6)](_0x1f8680['CWyeT']),_0x5017d7=randomBytes(0x10)['toString'](_0x1f8680['qgSje']),_0x546bd2=new URL(_0x5f4c1d[_0x56f239(0x130)]);_0x546bd2[_0x56f239(0x127)][_0x56f239(0x184)](_0x1f8680[_0x56f239(0x120)],'code'),_0x546bd2['searchParams']['set'](_0x1f8680[_0x56f239(0x19d)],_0x4080b2),_0x546bd2['searchParams'][_0x56f239(0x184)]('redirect_uri',_0x56f239(0x1ae)+CALLBACK_PORT+_0x56f239(0x169)),_0x546bd2['searchParams'][_0x56f239(0x184)](_0x1f8680['VJFfi'],_0xdbf6bb),_0x546bd2[_0x56f239(0x127)][_0x56f239(0x184)](_0x56f239(0x161),_0x1f8680['nqfkD']),_0x546bd2['searchParams']['set'](_0x1f8680[_0x56f239(0x173)],_0x5017d7);_0x1a8e83[_0x56f239(0x187)]&&_0x546bd2[_0x56f239(0x127)][_0x56f239(0x184)](_0x1f8680[_0x56f239(0x1a8)],_0x1a8e83['resource']);console[_0x56f239(0x1aa)](_0x1f8680[_0x56f239(0x114)]),console['log'](_0x56f239(0x11f)+_0x546bd2['toString']()+'\x0a'),await openBrowser(_0x546bd2[_0x56f239(0x1b1)]());const _0x54fe5c=await _0x1f8680['zqtSM'](waitForCallback,_0x5017d7);process[_0x56f239(0x195)]['write'](_0x56f239(0x149));const _0x59aa8d=new URLSearchParams({'grant_type':'authorization_code','code':_0x54fe5c,'redirect_uri':_0x56f239(0x1ae)+CALLBACK_PORT+_0x56f239(0x169),'client_id':_0x4080b2,'code_verifier':_0x2e06a1});_0x5536d4&&_0x59aa8d[_0x56f239(0x184)]('client_secret',_0x5536d4);_0x1a8e83['resource']&&_0x59aa8d[_0x56f239(0x184)]('resource',_0x1a8e83['resource']);const _0x2604cf=await fetch(_0x5f4c1d['token_endpoint'],{'method':_0x56f239(0x188),'headers':{'Content-Type':_0x56f239(0x133)},'body':_0x59aa8d});if(!_0x2604cf['ok']){const _0x8ab2cc=await _0x2604cf['text']();throw new Error(_0x56f239(0x136)+_0x8ab2cc);}const _0x488fab=await _0x2604cf['json']();return console[_0x56f239(0x1aa)](_0x56f239(0x162)),await _0x1f8680[_0x56f239(0x151)](saveCachedToken,_0x488fab['access_token'],_0x488fab[_0x56f239(0x1ad)],_0x488fab[_0x56f239(0x164)]),_0x488fab[_0x56f239(0x17b)];}async function callGetCliToken(_0x5a1c05,_0x14cd25){const _0x32af92=_0x1b3ae4,_0x974fcf={'CysBo':'POST','LplUE':function(_0x1abc30,_0x575c8d){return _0x1abc30(_0x575c8d);},'xmTnn':_0x32af92(0x158),'HuqbG':'Initializing\x20MCP\x20session...','QZJPJ':function(_0x4ccf0b,_0x105bf0){return _0x4ccf0b(_0x105bf0);},'aMOBJ':'initialize','Jhcyc':'1.0.0','DEvFt':_0x32af92(0x162),'EEWvF':function(_0x15b4f8,_0x157a37,_0x56a2f0){return _0x15b4f8(_0x157a37,_0x56a2f0);},'DHrTr':'2.0','cKZwu':'notifications/initialized','uwBsu':_0x32af92(0x196),'nMBpd':_0x32af92(0x197),'sGeUR':_0x32af92(0x154),'blWvG':function(_0x2bad38,_0x2e448f,_0x5d1773,_0x53ae6d){return _0x2bad38(_0x2e448f,_0x5d1773,_0x53ae6d);},'TpRjK':function(_0x35f408,_0x1f4da7,_0x50c090){return _0x35f408(_0x1f4da7,_0x50c090);},'vRglT':_0x32af92(0x170)},_0x1dad91={'Content-Type':_0x974fcf[_0x32af92(0x16d)],'Accept':'application/json,\x20text/event-stream'};_0x14cd25&&(_0x1dad91['Authorization']='Bearer\x20'+_0x14cd25);const _0x4add60=async _0x9f635d=>{const _0x3d9858=_0x32af92,_0x528900=await fetch(_0x5a1c05,{'method':_0x974fcf[_0x3d9858(0x168)],'headers':_0x1dad91,'body':JSON['stringify'](_0x9f635d)});if(!_0x528900['ok']){const _0x3cc54a=await _0x528900['text']();throw new Error('HTTP\x20'+_0x528900[_0x3d9858(0x14e)]+':\x20'+_0x3cc54a);}return _0x974fcf[_0x3d9858(0x181)](parseResponse,_0x528900);};process[_0x32af92(0x195)]['write'](_0x974fcf[_0x32af92(0x190)]);const _0x42db14=await _0x974fcf['QZJPJ'](_0x4add60,{'jsonrpc':'2.0','id':0x1,'method':_0x974fcf['aMOBJ'],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x32af92(0x163),'version':_0x974fcf[_0x32af92(0x122)]}}});if(_0x42db14['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x42db14['error'][_0x32af92(0x198)]??JSON['stringify'](_0x42db14[_0x32af92(0x19e)])));console[_0x32af92(0x1aa)](_0x974fcf[_0x32af92(0x13e)]),await _0x974fcf[_0x32af92(0x12a)](fetch,_0x5a1c05,{'method':_0x32af92(0x188),'headers':_0x1dad91,'body':JSON[_0x32af92(0x193)]({'jsonrpc':_0x974fcf['DHrTr'],'method':_0x974fcf[_0x32af92(0x12e)]})})[_0x32af92(0x1a1)](_0x1410af=>_0x1410af[_0x32af92(0x115)]()),process['stdout']['write'](_0x32af92(0x17e));const _0x50f808=await _0x4add60({'jsonrpc':'2.0','id':0x2,'method':_0x974fcf['uwBsu'],'params':{'name':_0x974fcf[_0x32af92(0x12f)],'arguments':{}}});if(_0x50f808[_0x32af92(0x19e)])throw new Error(_0x32af92(0x17c)+(_0x50f808[_0x32af92(0x19e)]['message']??JSON[_0x32af92(0x193)](_0x50f808['error'])));console['log'](_0x974fcf['DEvFt']);const _0x8057af=extractToken(_0x50f808[_0x32af92(0x1ac)]);if(!_0x8057af){console[_0x32af92(0x19e)]('\x0aUnexpected\x20response\x20structure:'),console[_0x32af92(0x19e)](JSON['stringify'](_0x50f808['result'],null,0x2));throw new Error(_0x32af92(0x11b));}const _0x977e23=join(homedir(),'.ranger'),_0x2bdd3b=_0x974fcf['EEWvF'](join,_0x977e23,_0x974fcf[_0x32af92(0x1ab)]);await _0x974fcf[_0x32af92(0x12a)](mkdir,_0x977e23,{'recursive':!![]}),await _0x974fcf['blWvG'](writeFile,_0x2bdd3b,_0x8057af,{'mode':0x180}),await _0x974fcf[_0x32af92(0x16a)](writeFile,_0x974fcf['TpRjK'](join,_0x977e23,'auth-origin.txt'),_0x5a1c05,{'mode':0x180}),console[_0x32af92(0x1aa)](_0x32af92(0x131)+_0x2bdd3b),console[_0x32af92(0x1aa)](_0x974fcf[_0x32af92(0x1b0)]);}async function fetchAuthServerMetadata(_0x3070b1){const _0x174b9c=_0x3070b1+'/.well-known/oauth-authorization-server',_0x1a8a7a=await fetch(_0x174b9c);if(!_0x1a8a7a['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x174b9c+':\x20'+_0x1a8a7a['status']);return _0x1a8a7a['json']();}function waitForCallback(_0x2d211d){const _0x1a44d2=_0x1b3ae4,_0x39a2b3={'ailEV':_0x1a44d2(0x169),'zoqzD':_0x1a44d2(0x160),'kFNDv':'code','ZMTnf':_0x1a44d2(0x156),'HrzlC':_0x1a44d2(0x145),'Encpr':function(_0x47d1d7,_0x1dce25){return _0x47d1d7(_0x1dce25);},'nTOLH':function(_0x5eac1c,_0x5cecea){return _0x5eac1c!==_0x5cecea;},'VcgzX':function(_0x2b82ea,_0x22c13a,_0x5068ba){return _0x2b82ea(_0x22c13a,_0x5068ba);},'IihRO':_0x1a44d2(0x143)};return new Promise((_0x4e727d,_0x24b948)=>{const _0x5de091=_0x1a44d2,_0x4206bd={'AUNdF':function(_0x365e7d,_0x196563){return _0x365e7d!==_0x196563;},'AyzjR':_0x39a2b3[_0x5de091(0x14b)],'SLweO':_0x39a2b3['zoqzD'],'jVXSX':_0x39a2b3[_0x5de091(0x18e)],'JbkjH':_0x39a2b3['ZMTnf'],'Hfxmy':_0x39a2b3['HrzlC'],'IZOkS':function(_0xac4662,_0x1c8590){return _0x39a2b3['Encpr'](_0xac4662,_0x1c8590);},'kPhLd':function(_0x12b543,_0x4cbf14){return _0x39a2b3['Encpr'](_0x12b543,_0x4cbf14);},'IJpPf':function(_0x1d162d,_0x276086){const _0x61e9d6=_0x5de091;return _0x39a2b3[_0x61e9d6(0x13f)](_0x1d162d,_0x276086);}},_0x3f3335=_0x39a2b3['VcgzX'](setTimeout,()=>{_0x476a18['close'](),_0x24b948(new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x476a18=createServer((_0x5dc07e,_0x23e316)=>{const _0x35e191=_0x5de091,_0x221678=new URL(_0x5dc07e[_0x35e191(0x13b)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x4206bd[_0x35e191(0x194)](_0x221678[_0x35e191(0x1b3)],_0x4206bd['AyzjR'])){_0x23e316[_0x35e191(0x1b4)](0x194),_0x23e316['end'](_0x4206bd[_0x35e191(0x172)]);return;}const _0x4b1671=_0x221678[_0x35e191(0x127)][_0x35e191(0x13a)](_0x4206bd[_0x35e191(0x19b)]),_0x450634=_0x221678[_0x35e191(0x127)]['get'](_0x4206bd[_0x35e191(0x1a0)]),_0x3a4c50=_0x221678['searchParams'][_0x35e191(0x13a)]('error');if(_0x3a4c50){const _0x1b008e=_0x221678['searchParams']['get'](_0x35e191(0x16f))??_0x3a4c50;_0x23e316[_0x35e191(0x1b4)](0xc8,{'Content-Type':_0x4206bd['Hfxmy']}),_0x23e316[_0x35e191(0x167)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x1b008e+_0x35e191(0x12c)),_0x4206bd['IZOkS'](clearTimeout,_0x3f3335),_0x476a18['close'](),_0x4206bd['kPhLd'](_0x24b948,new Error('OAuth\x20error:\x20'+_0x1b008e));return;}if(!_0x4b1671||_0x4206bd['IJpPf'](_0x450634,_0x2d211d)){_0x23e316['writeHead'](0x190,{'Content-Type':_0x4206bd[_0x35e191(0x189)]}),_0x23e316['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x23e316[_0x35e191(0x1b4)](0xc8,{'Content-Type':_0x35e191(0x145)}),_0x23e316['end'](_0x35e191(0x199)),clearTimeout(_0x3f3335),_0x476a18[_0x35e191(0x182)](),_0x4e727d(_0x4b1671);});_0x476a18[_0x5de091(0x15b)](CALLBACK_PORT,_0x39a2b3['IihRO']);});}async function openBrowser(_0xf69bde){const _0x2aa9c9=_0x1b3ae4,_0x2ebe72={'HvZBb':_0x2aa9c9(0x177),'FMKIa':'win32'},{exec:_0xe2f352}=await import('child_process'),_0x5866db=process[_0x2aa9c9(0x178)]===_0x2aa9c9(0x128)?_0x2ebe72[_0x2aa9c9(0x132)]:process[_0x2aa9c9(0x178)]===_0x2ebe72[_0x2aa9c9(0x1b2)]?_0x2aa9c9(0x18a):_0x2aa9c9(0x124);_0xe2f352(_0x5866db+'\x20\x22'+_0xf69bde+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x2f1b7b=_0x1b3ae4,_0x5d9fb2={'jqiTM':function(_0x2887ad,_0x538b9e){return _0x2887ad>_0x538b9e;}};try{const _0x10dd54=JSON[_0x2f1b7b(0x139)](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x10dd54['origin']&&_0x10dd54[_0x2f1b7b(0x18b)]!==currentOrigin)return null;if(_0x10dd54[_0x2f1b7b(0x15e)]&&_0x5d9fb2[_0x2f1b7b(0x146)](Date[_0x2f1b7b(0x1a5)](),_0x10dd54['expiresAt']))return null;return _0x10dd54[_0x2f1b7b(0x126)]??null;}catch{return null;}}async function saveCachedToken(_0x3f1945,_0x209dad,_0x583aa2){const _0xb2cbb=_0x1b3ae4,_0x5c2032={'DeqCM':function(_0x4bf988){return _0x4bf988();},'InPrZ':function(_0x43e345,_0x61b040){return _0x43e345+_0x61b040;},'ohQHb':function(_0x29b267,_0x2d7b9b){return _0x29b267*_0x2d7b9b;},'bEOlC':function(_0x43a3af,_0x4ae374,_0x6bcf52){return _0x43a3af(_0x4ae374,_0x6bcf52);},'XlbaI':function(_0x44dec9){return _0x44dec9();},'yxEFM':_0xb2cbb(0x165)},_0x135bce=await _0x5c2032[_0xb2cbb(0x17a)](loadCachedData),_0x37469b={..._0x135bce,'origin':currentOrigin,'accessToken':_0x3f1945,'refreshToken':_0x209dad??_0x135bce?.[_0xb2cbb(0x17d)],'expiresAt':_0x583aa2?_0x5c2032[_0xb2cbb(0x144)](Date['now'](),_0x5c2032[_0xb2cbb(0x118)](_0x583aa2,0x3e8)):undefined};await _0x5c2032['bEOlC'](mkdir,join(_0x5c2032['XlbaI'](homedir),_0x5c2032['yxEFM']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x37469b),{'mode':0x180});}function _0x361e(_0xd1679b,_0x376e89){_0xd1679b=_0xd1679b-0x114;const _0x2d39a2=_0x2d39();let _0x361e4b=_0x2d39a2[_0xd1679b];return _0x361e4b;}async function loadCachedClient(){const _0x312b5c=_0x1b3ae4,_0xa571e6=await loadCachedData();if(_0xa571e6?.[_0x312b5c(0x18b)]&&_0xa571e6['origin']!==currentOrigin)return null;return _0xa571e6?.[_0x312b5c(0x134)]?{'clientId':_0xa571e6['clientId'],'clientSecret':_0xa571e6['clientSecret']}:null;}async function clearCachedClient(){const _0x29f9e1=_0x1b3ae4,_0x58df73={'bgedF':function(_0xa59c60,_0x25c39c,_0x1dbb84,_0x48d90f){return _0xa59c60(_0x25c39c,_0x1dbb84,_0x48d90f);}},_0x3eb14d=await loadCachedData();if(!_0x3eb14d)return;const {clientId:_0x29d5e8,clientSecret:_0x2b9580,..._0x534769}=_0x3eb14d;await _0x58df73[_0x29f9e1(0x183)](writeFile,TOKEN_CACHE_PATH,JSON[_0x29f9e1(0x193)](_0x534769),{'mode':0x180});}async function saveCachedClient(_0x2e8031,_0x3ecd1b){const _0x59edb7=_0x1b3ae4,_0x38a54a={'aIeTU':function(_0x505016){return _0x505016();},'SJnSg':function(_0x556d45){return _0x556d45();},'rmeYA':function(_0x5cda5b,_0x8834c3,_0x266eb0,_0x12efee){return _0x5cda5b(_0x8834c3,_0x266eb0,_0x12efee);}},_0x22098f=await _0x38a54a['aIeTU'](loadCachedData),_0x35813c={..._0x22098f,'origin':currentOrigin,'accessToken':_0x22098f?.[_0x59edb7(0x126)]??'','clientId':_0x2e8031,'clientSecret':_0x3ecd1b};await mkdir(join(_0x38a54a[_0x59edb7(0x153)](homedir),_0x59edb7(0x165)),{'recursive':!![]}),await _0x38a54a['rmeYA'](writeFile,TOKEN_CACHE_PATH,JSON[_0x59edb7(0x193)](_0x35813c),{'mode':0x180});}async function loadCachedData(){const _0x405508=_0x1b3ae4,_0x323f61={'fsWrc':'utf-8'};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x323f61[_0x405508(0x19f)]));}catch{return null;}}async function parseResponse(_0xbd691e){const _0x494254=_0x1b3ae4,_0x254c41={'VsMOP':_0x494254(0x1a7)},_0x10f439=_0xbd691e['headers']['get']('content-type')??'';if(_0x10f439[_0x494254(0x15c)](_0x494254(0x1b6))){const _0xbf3b63=await _0xbd691e[_0x494254(0x115)]();for(const _0x21eca2 of _0xbf3b63[_0x494254(0x13c)]('\x0a')){const _0x28d3c3=_0x21eca2[_0x494254(0x14f)]();if(_0x28d3c3['startsWith'](_0x254c41['VsMOP'])){const _0x55b459=_0x28d3c3[_0x494254(0x179)]('data:'['length'])['trim']();if(!_0x55b459)continue;try{const _0x560199=JSON['parse'](_0x55b459);if(_0x560199['id']!==undefined||_0x560199['error'])return _0x560199;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0xbd691e['json']();}function extractToken(_0x35b4f7){const _0x350cbd=_0x1b3ae4,_0x2943d2={'GIyTS':function(_0x31c2c1,_0x421f53){return _0x31c2c1===_0x421f53;},'qyTfR':_0x350cbd(0x119),'CXUvm':_0x350cbd(0x115),'JFBZb':_0x350cbd(0x1af)};if(!_0x35b4f7)return null;const _0x2b820e=_0x35b4f7[_0x350cbd(0x1b7)];if(_0x2b820e?.[_0x350cbd(0x19c)]&&_0x2943d2[_0x350cbd(0x18d)](typeof _0x2b820e[_0x350cbd(0x19c)],'string'))return _0x2b820e['token'];if(_0x35b4f7['isError']){const _0x133efc=_0x35b4f7[_0x350cbd(0x11d)];throw new Error('Server\x20returned\x20error:\x20'+(_0x133efc?.[0x0]?.['text']??_0x2943d2['qyTfR']));}const _0x170eed=_0x35b4f7['content'];if(_0x170eed)for(const _0x2dcc16 of _0x170eed){if(_0x2943d2['GIyTS'](_0x2dcc16[_0x350cbd(0x15a)],_0x2943d2[_0x350cbd(0x116)])&&_0x2dcc16['text']){try{const _0x3a2592=JSON[_0x350cbd(0x139)](_0x2dcc16['text']);if(typeof _0x3a2592?.['token']===_0x2943d2[_0x350cbd(0x12b)])return _0x3a2592[_0x350cbd(0x19c)];}catch{}const _0xcc75d0=_0x2dcc16[_0x350cbd(0x115)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0xcc75d0)return _0xcc75d0[0x1];}}return null;}
@@ -1 +1 @@
1
- (function(_0x531c5e,_0x3833a5){var _0x4e25d6=_0x22ab,_0x5a4d00=_0x531c5e();while(!![]){try{var _0x38ca2f=-parseInt(_0x4e25d6(0x10f))/0x1*(parseInt(_0x4e25d6(0x115))/0x2)+-parseInt(_0x4e25d6(0x10c))/0x3*(-parseInt(_0x4e25d6(0x119))/0x4)+-parseInt(_0x4e25d6(0x11b))/0x5*(parseInt(_0x4e25d6(0x10b))/0x6)+parseInt(_0x4e25d6(0x10a))/0x7*(parseInt(_0x4e25d6(0x11c))/0x8)+-parseInt(_0x4e25d6(0x10e))/0x9+parseInt(_0x4e25d6(0x118))/0xa*(-parseInt(_0x4e25d6(0x117))/0xb)+parseInt(_0x4e25d6(0x109))/0xc*(parseInt(_0x4e25d6(0x113))/0xd);if(_0x38ca2f===_0x3833a5)break;else _0x5a4d00['push'](_0x5a4d00['shift']());}catch(_0x4c284b){_0x5a4d00['push'](_0x5a4d00['shift']());}}}(_0x453a,0x43f30));function _0x22ab(_0x3f32fb,_0x4cd916){_0x3f32fb=_0x3f32fb-0x109;var _0x453a82=_0x453a();var _0x22ab20=_0x453a82[_0x3f32fb];return _0x22ab20;}function _0x453a(){var _0x305bd9=['QwKqz','5bDvewD','6088qvyBrk','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','216NCztAr','2079AXvpaB','2986446xIkzPd','15PBoYXX','error','4189473RYWtQK','25054HhFWfr','gHYXs','cVEoT','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','698022niDYQR','eSNcq','32ldlFpV','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','407qWWKli','5210gxoLSt','375352YIvDgq'];_0x453a=function(){return _0x305bd9;};return _0x453a();}export async function migrateProfile(_0x180155,_0x3eed26){var _0x2023d5=_0x22ab,_0x19b0c0={'gHYXs':function(_0x167db0,_0x5ccf3f){return _0x167db0+_0x5ccf3f;},'eSNcq':_0x2023d5(0x112),'QwKqz':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','FmPSI':_0x2023d5(0x11d),'cVEoT':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console[_0x2023d5(0x10d)](_0x19b0c0[_0x2023d5(0x110)](_0x19b0c0[_0x2023d5(0x110)](_0x19b0c0['gHYXs']('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a',_0x2023d5(0x116))+_0x19b0c0[_0x2023d5(0x114)]+'\x0a',_0x19b0c0[_0x2023d5(0x11a)])+_0x19b0c0['FmPSI']+'\x0a',_0x19b0c0[_0x2023d5(0x111)])+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process['exit'](0x1);}
1
+ (function(_0x50c23a,_0x5e9b2d){var _0x3fa87c=_0x278f,_0x3ce6ac=_0x50c23a();while(!![]){try{var _0x1146b2=-parseInt(_0x3fa87c(0x10f))/0x1*(parseInt(_0x3fa87c(0x100))/0x2)+-parseInt(_0x3fa87c(0x104))/0x3+-parseInt(_0x3fa87c(0x107))/0x4+-parseInt(_0x3fa87c(0x103))/0x5+-parseInt(_0x3fa87c(0x109))/0x6*(-parseInt(_0x3fa87c(0xff))/0x7)+parseInt(_0x3fa87c(0x105))/0x8*(parseInt(_0x3fa87c(0x10d))/0x9)+parseInt(_0x3fa87c(0x102))/0xa*(parseInt(_0x3fa87c(0x10a))/0xb);if(_0x1146b2===_0x5e9b2d)break;else _0x3ce6ac['push'](_0x3ce6ac['shift']());}catch(_0x56094a){_0x3ce6ac['push'](_0x3ce6ac['shift']());}}}(_0x6e61,0xe6da6));function _0x278f(_0x557279,_0x570e29){_0x557279=_0x557279-0xfd;var _0x6e6174=_0x6e61();var _0x278fd5=_0x6e6174[_0x557279];return _0x278fd5;}export async function migrateProfile(_0x515717,_0x47a1fa){var _0x11cd8b=_0x278f,_0x47690c={'lIwUV':function(_0x4e20e2,_0x543f5d){return _0x4e20e2+_0x543f5d;},'qseis':function(_0x5222f7,_0xcb19e1){return _0x5222f7+_0xcb19e1;},'UeliQ':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','QPNHa':_0x11cd8b(0x10e),'IbJlP':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','hUqIs':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','nKkef':_0x11cd8b(0x10b)};console[_0x11cd8b(0x108)](_0x47690c['lIwUV'](_0x47690c['qseis'](_0x47690c[_0x11cd8b(0xfd)]+'\x0a'+_0x47690c['QPNHa']+_0x11cd8b(0x101)+'\x0a'+_0x11cd8b(0xfe)+_0x47690c['IbJlP']+'\x0a',_0x47690c[_0x11cd8b(0x106)]),_0x47690c['nKkef'])),process[_0x11cd8b(0x10c)](0x1);}function _0x6e61(){var _0x263ace=['To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','14gexLaG','UeliQ','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','7KCGvUl','105546zsVtIl','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','40NPrIvu','326940pZWyMt','2796870drHHgZ','1597912nGVpeV','hUqIs','3569004EIJsjz','error','587988mgiokg','9010617ELQXbj','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','exit','9NqXrdF'];_0x6e61=function(){return _0x263ace;};return _0x6e61();}
@@ -1 +1 @@
1
- (function(_0x92f768,_0x28feff){const _0x3f6569=_0x3d19,_0x3b719d=_0x92f768();while(!![]){try{const _0x5792b0=parseInt(_0x3f6569(0x143))/0x1*(parseInt(_0x3f6569(0x16c))/0x2)+-parseInt(_0x3f6569(0x167))/0x3*(-parseInt(_0x3f6569(0x13d))/0x4)+-parseInt(_0x3f6569(0x153))/0x5+-parseInt(_0x3f6569(0x16f))/0x6*(-parseInt(_0x3f6569(0x170))/0x7)+parseInt(_0x3f6569(0x169))/0x8+-parseInt(_0x3f6569(0x14e))/0x9*(parseInt(_0x3f6569(0x168))/0xa)+parseInt(_0x3f6569(0x166))/0xb*(-parseInt(_0x3f6569(0x13f))/0xc);if(_0x5792b0===_0x28feff)break;else _0x3b719d['push'](_0x3b719d['shift']());}catch(_0x514a62){_0x3b719d['push'](_0x3b719d['shift']());}}}(_0x2d4b,0x2f50f));import{join}from'path';import{existsSync}from'fs';import _0x295fc1 from'inquirer';import{skillup}from'../skillup.js';function _0x3d19(_0x117187,_0x5d6635){_0x117187=_0x117187-0x138;const _0x2d4b10=_0x2d4b();let _0x3d19f5=_0x2d4b10[_0x117187];return _0x3d19f5;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x2d4b(){const _0x4e8bfd=['ZSOwo','pluginScope','233293rIOSlJ','jgdJK','marketplace','aQROr','wJtre','prompt','push','success','✓\x20Marketplace\x20already\x20added','project','ddqnn','45wyygkJ','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','output','WsjCY','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','989070yqmGNa','user','❌\x20Failed\x20to\x20add\x20marketplace:','add','log','OBZum','ranger@trailhead','VQLLm','Project\x20(shared\x20with\x20team\x20via\x20git)','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','Where\x20should\x20the\x20plugin\x20be\x20installed?','HhpnS','includes','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','✓\x20Ranger\x20skills\x20already\x20installed','list','siADg','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','✓\x20Claude\x20Code\x20plugin\x20enabled','1727YpeGlh','360sbVxeU','657130grYdYc','2118784irfwAd','Ihubd','wantsSkillup','2OQNFzH','CMbJu','ITXYN','6waRkPT','41972YLENaL','confirm','.claude','uUFcO','zVQrG','⚠\x20Failed\x20to\x20enable\x20plugin:','EjKaE','8892QPudVC','ranger','3876cTHAwU','error'];_0x2d4b=function(){return _0x4e8bfd;};return _0x2d4b();}export async function ensureClaudePlugin(_0x52038d){const _0x4cb6d2=_0x3d19,_0x31aa70={'zVQrG':function(_0x7b58fa,_0x3086e2){return _0x7b58fa(_0x3086e2);},'WsjCY':function(_0x48d247,_0x5a2cc5,_0x439a16){return _0x48d247(_0x5a2cc5,_0x439a16);},'OAvAb':'.claude','IiJlK':_0x4cb6d2(0x162),'HeveL':_0x4cb6d2(0x15d),'uUFcO':'User\x20(available\x20in\x20all\x20your\x20projects)','eCWli':_0x4cb6d2(0x154),'xqWYK':_0x4cb6d2(0x14b),'JTUuq':_0x4cb6d2(0x156),'TZZwy':'ranger-testing/trailhead','wJtre':'\x0aYou\x20can\x20install\x20manually\x20with:','EKpsZ':_0x4cb6d2(0x164),'EjKaE':'plugin','RQARK':'ranger@trailhead','ddqnn':'--scope','CMbJu':function(_0x1d92cc){return _0x1d92cc();},'RRKlT':'❌\x20Failed\x20to\x20install\x20plugin:','IqCVT':'enable','nnbhK':_0x4cb6d2(0x14c),'ITXYN':function(_0x11d8fa,_0x5d2713){return _0x11d8fa===_0x5d2713;},'OBZum':_0x4cb6d2(0x13b)},_0x29be78=await _0x31aa70[_0x4cb6d2(0x13a)](isPluginInstalled,_0x4cb6d2(0x159));if(_0x29be78)return console[_0x4cb6d2(0x157)](_0x4cb6d2(0x15c)),![];const _0x3fb81d=existsSync(_0x31aa70['WsjCY'](join,getProjectRoot(),_0x31aa70['OAvAb']));let _0x1551d1;if(_0x52038d)_0x1551d1=_0x52038d;else{if(_0x3fb81d)_0x1551d1=_0x4cb6d2(0x14c);else{console['log'](_0x4cb6d2(0x160));const _0x195cb0=await _0x295fc1[_0x4cb6d2(0x148)]([{'type':_0x31aa70['IiJlK'],'name':'pluginScope','message':_0x31aa70['HeveL'],'choices':[{'name':_0x31aa70[_0x4cb6d2(0x139)],'value':_0x31aa70['eCWli']},{'name':_0x4cb6d2(0x15b),'value':'project'}],'default':_0x4cb6d2(0x154)}]);_0x1551d1=_0x195cb0[_0x4cb6d2(0x142)];}}console[_0x4cb6d2(0x157)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x1551d1+'\x20level)...\x0a');const _0x12eab8=await isMarketplaceAdded('trailhead');let _0x36e8f5=_0x12eab8;if(_0x12eab8)console[_0x4cb6d2(0x157)](_0x31aa70['xqWYK']);else{const _0x1f6fdd=await runClaudeCommand(['plugin',_0x4cb6d2(0x145),_0x31aa70['JTUuq'],_0x31aa70['TZZwy']]);!_0x1f6fdd[_0x4cb6d2(0x14a)]?(console['error'](_0x4cb6d2(0x155),_0x1f6fdd[_0x4cb6d2(0x140)]),console[_0x4cb6d2(0x157)](_0x31aa70[_0x4cb6d2(0x147)]),console[_0x4cb6d2(0x157)](_0x31aa70['EKpsZ']),console[_0x4cb6d2(0x157)](_0x4cb6d2(0x14f)+_0x1551d1)):_0x36e8f5=!![];}if(_0x36e8f5){const _0x13d23c=await _0x31aa70[_0x4cb6d2(0x151)](runClaudeCommand,[_0x31aa70[_0x4cb6d2(0x13c)],'install',_0x31aa70['RQARK'],_0x31aa70[_0x4cb6d2(0x14d)],_0x1551d1],{'cwd':_0x1551d1===_0x4cb6d2(0x14c)?_0x31aa70[_0x4cb6d2(0x16d)](getProjectRoot):undefined});if(!_0x13d23c[_0x4cb6d2(0x14a)])console[_0x4cb6d2(0x140)](_0x31aa70['RRKlT'],_0x13d23c['error']),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x4cb6d2(0x157)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x1551d1);else{console['log'](_0x4cb6d2(0x152));const _0x3bdbdc=['plugin',_0x31aa70['IqCVT'],_0x4cb6d2(0x159)];_0x1551d1===_0x31aa70['nnbhK']&&_0x3bdbdc[_0x4cb6d2(0x149)](_0x31aa70[_0x4cb6d2(0x14d)],_0x31aa70['nnbhK']);const _0x1a9007=await runClaudeCommand(_0x3bdbdc,{'captureOutput':!![],'cwd':_0x31aa70[_0x4cb6d2(0x16e)](_0x1551d1,'project')?_0x31aa70[_0x4cb6d2(0x16d)](getProjectRoot):undefined}),_0x515063=_0x1a9007[_0x4cb6d2(0x150)]?.[_0x4cb6d2(0x15f)]('already\x20enabled');!_0x1a9007['success']&&!_0x515063?console[_0x4cb6d2(0x140)](_0x31aa70[_0x4cb6d2(0x158)],_0x1a9007['error']):console['log'](_0x4cb6d2(0x165));}}return!![];}export async function ensureClaudeSkills(_0x2beee5){const _0x1115d9=_0x3d19,_0x1b54cd={'EKstp':function(_0xff2560,_0x4223ea){return _0xff2560(_0x4223ea);},'HhpnS':function(_0xa4633,_0x35379b,_0x4125b1,_0x43384d){return _0xa4633(_0x35379b,_0x4125b1,_0x43384d);},'AESGe':function(_0x932232,_0xf087d7){return _0x932232(_0xf087d7);},'Ihubd':_0x1115d9(0x13e),'ZSOwo':'SKILL.md','aQROr':function(_0x5e8e2f,_0x4d5e7b){return _0x5e8e2f||_0x4d5e7b;},'WkgCP':_0x1115d9(0x161),'WqwNl':function(_0x3c873c,_0x2af6aa,_0x104b3e){return _0x3c873c(_0x2af6aa,_0x104b3e);},'ulbXR':_0x1115d9(0x138),'VQLLm':function(_0x3c484d,_0x3515fe){return _0x3c484d(_0x3515fe);},'jgdJK':_0x1115d9(0x171),'siADg':'Would\x20you\x20like\x20to\x20install\x20skills?'},_0x5bee8e=_0x1b54cd['EKstp'](existsSync,_0x1b54cd[_0x1115d9(0x15e)](join,_0x1b54cd['AESGe'](getSkillsDir,_0x1115d9(0x154)),_0x1b54cd[_0x1115d9(0x16a)],_0x1b54cd[_0x1115d9(0x141)])),_0x1b83f7=existsSync(join(_0x1b54cd['EKstp'](getSkillsDir,_0x1115d9(0x14c)),_0x1115d9(0x13e),_0x1b54cd['ZSOwo']));if(_0x1b54cd[_0x1115d9(0x146)](_0x5bee8e,_0x1b83f7))return console['log'](_0x1b54cd['WkgCP']),![];const _0x471999=existsSync(_0x1b54cd['WqwNl'](join,getProjectRoot(),_0x1b54cd['ulbXR']));let _0x47ebdf=!![];if(_0x2beee5)await _0x1b54cd[_0x1115d9(0x15a)](skillup,{'autoInstall':_0x2beee5,'suppressUsage':!![]});else{if(_0x471999)await skillup({'autoInstall':'project','suppressUsage':!![]});else{const _0x41a142=await _0x295fc1['prompt']([{'type':_0x1b54cd[_0x1115d9(0x144)],'name':_0x1115d9(0x16b),'message':_0x1b54cd[_0x1115d9(0x163)],'default':!![]}]);_0x47ebdf=_0x41a142['wantsSkillup'],_0x47ebdf&&await skillup({'suppressUsage':!![]});}}return _0x47ebdf;}
1
+ (function(_0x3d228a,_0x4ab55d){const _0x25a2b0=_0x15d3,_0x1504f7=_0x3d228a();while(!![]){try{const _0x361be6=-parseInt(_0x25a2b0(0x7c))/0x1+-parseInt(_0x25a2b0(0x99))/0x2+parseInt(_0x25a2b0(0x9d))/0x3*(parseInt(_0x25a2b0(0x76))/0x4)+-parseInt(_0x25a2b0(0x94))/0x5+-parseInt(_0x25a2b0(0x97))/0x6+-parseInt(_0x25a2b0(0x77))/0x7*(parseInt(_0x25a2b0(0x9e))/0x8)+parseInt(_0x25a2b0(0x8a))/0x9;if(_0x361be6===_0x4ab55d)break;else _0x1504f7['push'](_0x1504f7['shift']());}catch(_0xcfc8a4){_0x1504f7['push'](_0x1504f7['shift']());}}}(_0x552f,0xab45a));import{join}from'path';import{existsSync}from'fs';import _0x4c8540 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x15d3(_0x4a39fa,_0x47907f){_0x4a39fa=_0x4a39fa-0x71;const _0x552f8b=_0x552f();let _0x15d338=_0x552f8b[_0x4a39fa];return _0x15d338;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0xce305c){const _0x10eb98=_0x15d3,_0x164884={'NbObM':'ranger@trailhead','VlfoW':function(_0x4c0577,_0x1be185){return _0x4c0577(_0x1be185);},'RYEtg':function(_0x20ded2,_0x1cbc9a,_0x28a497){return _0x20ded2(_0x1cbc9a,_0x28a497);},'jVrwJ':'project','qQiaa':_0x10eb98(0x75),'IQLyq':'User\x20(available\x20in\x20all\x20your\x20projects)','hwusS':_0x10eb98(0x87),'vZCGH':_0x10eb98(0x79),'ekGdI':function(_0x4539e1,_0x251aff){return _0x4539e1(_0x251aff);},'zZaaV':'marketplace','UvQGx':'ranger-testing/trailhead','ZKqvd':'\x0aYou\x20can\x20install\x20manually\x20with:','Bypgc':'--scope','ntpgj':'❌\x20Failed\x20to\x20install\x20plugin:','MgwQN':_0x10eb98(0x8b),'VIUyi':function(_0x331d32,_0x5901b2){return _0x331d32===_0x5901b2;},'BklKx':'already\x20enabled'},_0x3d1128=await isPluginInstalled(_0x164884['NbObM']);if(_0x3d1128)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x5b7808=_0x164884['VlfoW'](existsSync,_0x164884[_0x10eb98(0x83)](join,getProjectRoot(),_0x10eb98(0x7d)));let _0x2ca595;if(_0xce305c)_0x2ca595=_0xce305c;else{if(_0x5b7808)_0x2ca595=_0x164884[_0x10eb98(0x7e)];else{console[_0x10eb98(0x72)]('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x515c8d=await _0x4c8540[_0x10eb98(0x9b)]([{'type':'list','name':_0x164884[_0x10eb98(0x7f)],'message':_0x10eb98(0x93),'choices':[{'name':_0x164884['IQLyq'],'value':_0x164884[_0x10eb98(0x90)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x164884[_0x10eb98(0x7e)]}],'default':_0x164884[_0x10eb98(0x90)]}]);_0x2ca595=_0x515c8d[_0x10eb98(0x75)];}}console[_0x10eb98(0x72)](_0x10eb98(0x8d)+_0x2ca595+_0x10eb98(0x84));const _0x1793dc=await _0x164884[_0x10eb98(0x9c)](isMarketplaceAdded,'trailhead');let _0x40c3ff=_0x1793dc;if(_0x1793dc)console[_0x10eb98(0x72)](_0x164884['vZCGH']);else{const _0x4424ea=await _0x164884[_0x10eb98(0x86)](runClaudeCommand,[_0x10eb98(0x8b),_0x164884['zZaaV'],'add',_0x164884[_0x10eb98(0x92)]]);!_0x4424ea['success']?(console['error'](_0x10eb98(0x98),_0x4424ea['error']),console[_0x10eb98(0x72)](_0x164884['ZKqvd']),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x2ca595)):_0x40c3ff=!![];}if(_0x40c3ff){const _0x4f312c=await runClaudeCommand([_0x10eb98(0x8b),'install',_0x164884[_0x10eb98(0x82)],_0x164884[_0x10eb98(0x7a)],_0x2ca595],{'cwd':_0x2ca595===_0x164884[_0x10eb98(0x7e)]?getProjectRoot():undefined});if(!_0x4f312c[_0x10eb98(0x89)])console['error'](_0x164884['ntpgj'],_0x4f312c['error']),console[_0x10eb98(0x72)](_0x164884[_0x10eb98(0x73)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x2ca595);else{console['log']('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x4ec77b=[_0x164884[_0x10eb98(0x9f)],'enable',_0x164884['NbObM']];_0x164884['VIUyi'](_0x2ca595,_0x164884[_0x10eb98(0x7e)])&&_0x4ec77b[_0x10eb98(0x71)](_0x164884[_0x10eb98(0x7a)],'project');const _0x5ad9ba=await runClaudeCommand(_0x4ec77b,{'captureOutput':!![],'cwd':_0x164884['VIUyi'](_0x2ca595,_0x164884['jVrwJ'])?getProjectRoot():undefined}),_0x463868=_0x5ad9ba['output']?.[_0x10eb98(0x9a)](_0x164884[_0x10eb98(0x74)]);!_0x5ad9ba[_0x10eb98(0x89)]&&!_0x463868?console['error'](_0x10eb98(0x8e),_0x5ad9ba['error']):console[_0x10eb98(0x72)](_0x10eb98(0x7b));}}return!![];}export async function ensureClaudeSkills(_0x4cfe94){const _0x3467d9=_0x15d3,_0x438c06={'zfTmR':function(_0x42ae9f,_0xfc24c9,_0x4e8030,_0x22a8bd){return _0x42ae9f(_0xfc24c9,_0x4e8030,_0x22a8bd);},'nyaLE':'SKILL.md','jbWLB':function(_0x5233b0,_0x2b204d){return _0x5233b0(_0x2b204d);},'LcJOa':function(_0x59627f,_0x5b29aa){return _0x59627f(_0x5b29aa);},'ZTDzG':_0x3467d9(0x78),'RLDwT':'ranger','CAfAp':'.claude','eGzUc':_0x3467d9(0x95),'QeUZN':'wantsSkillup'},_0x10ab3a=existsSync(_0x438c06['zfTmR'](join,getSkillsDir('user'),_0x3467d9(0x8f),_0x438c06['nyaLE'])),_0xdc421=_0x438c06['jbWLB'](existsSync,join(_0x438c06['LcJOa'](getSkillsDir,_0x438c06['ZTDzG']),_0x438c06[_0x3467d9(0x88)],_0x3467d9(0x80)));if(_0x10ab3a||_0xdc421)return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x18c948=existsSync(join(getProjectRoot(),_0x438c06[_0x3467d9(0x91)]));let _0x45bc0c=!![];if(_0x4cfe94)await _0x438c06[_0x3467d9(0x96)](skillup,{'autoInstall':_0x4cfe94,'suppressUsage':!![]});else{if(_0x18c948)await skillup({'autoInstall':_0x438c06['ZTDzG'],'suppressUsage':!![]});else{const _0x173693=await _0x4c8540[_0x3467d9(0x9b)]([{'type':_0x438c06['eGzUc'],'name':_0x438c06['QeUZN'],'message':_0x3467d9(0x85),'default':!![]}]);_0x45bc0c=_0x173693[_0x3467d9(0x8c)],_0x45bc0c&&await _0x438c06[_0x3467d9(0x81)](skillup,{'suppressUsage':!![]});}}return _0x45bc0c;}function _0x552f(){const _0x406d73=['user','RLDwT','success','36634176MwOMgY','plugin','wantsSkillup','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','⚠\x20Failed\x20to\x20enable\x20plugin:','ranger','hwusS','CAfAp','UvQGx','Where\x20should\x20the\x20plugin\x20be\x20installed?','5388370QhNGyM','confirm','LcJOa','5450610qdCrmz','❌\x20Failed\x20to\x20add\x20marketplace:','2500296yVHFbx','includes','prompt','VlfoW','344787dzUVSR','8oXALBq','MgwQN','push','log','ZKqvd','BklKx','pluginScope','28xnLcEb','5875926CtYbmp','project','✓\x20Marketplace\x20already\x20added','Bypgc','✓\x20Claude\x20Code\x20plugin\x20enabled','97762zTyrKP','.claude','jVrwJ','qQiaa','SKILL.md','jbWLB','NbObM','RYEtg','\x20level)...\x0a','Would\x20you\x20like\x20to\x20install\x20skills?','ekGdI'];_0x552f=function(){return _0x406d73;};return _0x552f();}
@@ -1 +1 @@
1
- (function(_0x2a89b5,_0x540135){const _0x40afbf=_0x3803,_0x5caef1=_0x2a89b5();while(!![]){try{const _0x20ba68=-parseInt(_0x40afbf(0x15b))/0x1+parseInt(_0x40afbf(0x15c))/0x2+parseInt(_0x40afbf(0x161))/0x3*(-parseInt(_0x40afbf(0x153))/0x4)+parseInt(_0x40afbf(0x16b))/0x5*(-parseInt(_0x40afbf(0x16f))/0x6)+-parseInt(_0x40afbf(0x174))/0x7*(parseInt(_0x40afbf(0x177))/0x8)+-parseInt(_0x40afbf(0x175))/0x9*(-parseInt(_0x40afbf(0x155))/0xa)+parseInt(_0x40afbf(0x15a))/0xb*(parseInt(_0x40afbf(0x16e))/0xc);if(_0x20ba68===_0x540135)break;else _0x5caef1['push'](_0x5caef1['shift']());}catch(_0x4b1f16){_0x5caef1['push'](_0x5caef1['shift']());}}}(_0x918a,0xdf62d));import{join}from'path';function _0x3803(_0x210aff,_0x25c011){_0x210aff=_0x210aff-0x152;const _0x918a08=_0x918a();let _0x380352=_0x918a08[_0x210aff];return _0x380352;}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x306a4f from'inquirer';function _0x918a(){const _0x456125=['3RPUMew','log','user','prompt','UaaEJ','utf-8','\x0a📦\x20OpenCode\x20Plugin\x0a','plugin','parse','includes','2458805HLXruV','error','$schema','156HXthwu','12IsogGE','FQqyS','BVjCp','WdLQb','✓\x20OpenCode\x20plugin\x20configured','7vIvsFp','2094768DXaoDV','WFfXb','11501264lnWBHG','opencode.json','5361904XEKOCp','Where\x20should\x20the\x20plugin\x20be\x20installed?','20ObsCej','pluginScope','pXflB','WuSHY','project','3367727wUjcfh','974523BLsRHb','2411246jjCdPL','ZoLYB','JAiGT','Project\x20(shared\x20with\x20team\x20via\x20git)','KomnB'];_0x918a=function(){return _0x456125;};return _0x918a();}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x10b82e){const _0x54bed8=_0x3803,_0x8d9567={'NxQrF':function(_0x32b220,_0x5160ad){return _0x32b220(_0x5160ad);},'WFfXb':_0x54bed8(0x159),'pmzAB':_0x54bed8(0x152),'WdLQb':_0x54bed8(0x167),'eqAOr':'list','pXflB':_0x54bed8(0x156),'WuSHY':_0x54bed8(0x154),'UaaEJ':'User\x20(available\x20in\x20all\x20your\x20projects)','ZoLYB':_0x54bed8(0x15f),'KomnB':_0x54bed8(0x163),'DpkYD':'https://opencode.ai/config.json','YlCCE':function(_0x2c9318,_0x4a5191,_0x193b07){return _0x2c9318(_0x4a5191,_0x193b07);},'hUtIk':_0x54bed8(0x166),'JAiGT':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','gUXrO':'Failed\x20to\x20read\x20opencode.json','wieXs':'✓\x20OpenCode\x20plugin\x20already\x20configured','BVjCp':function(_0x5d2a99,_0x43021b,_0x5da6df){return _0x5d2a99(_0x43021b,_0x5da6df);},'FQqyS':function(_0x3f06ea,_0x35da07){return _0x3f06ea(_0x35da07);}},_0x5cdb2f=existsSync(join(_0x8d9567['NxQrF'](getOpencodeConfigDir,_0x8d9567[_0x54bed8(0x176)]),_0x8d9567['pmzAB']));let _0x41cfea;if(_0x10b82e)_0x41cfea=_0x10b82e;else{if(_0x5cdb2f)_0x41cfea='project';else{console['log'](_0x8d9567[_0x54bed8(0x172)]);const _0x364dc9=await _0x306a4f[_0x54bed8(0x164)]([{'type':_0x8d9567['eqAOr'],'name':_0x8d9567[_0x54bed8(0x157)],'message':_0x8d9567[_0x54bed8(0x158)],'choices':[{'name':_0x8d9567[_0x54bed8(0x165)],'value':'user'},{'name':_0x8d9567[_0x54bed8(0x15d)],'value':_0x8d9567[_0x54bed8(0x176)]}],'default':_0x8d9567[_0x54bed8(0x160)]}]);_0x41cfea=_0x364dc9[_0x54bed8(0x156)];}}const _0x18d512=join(getOpencodeConfigDir(_0x41cfea),_0x8d9567['pmzAB']),_0x211d8e='@ranger-testing/opencode-plugin',_0x2c0439=_0x8d9567['DpkYD'];let _0xfca833={};if(existsSync(_0x18d512))try{const _0x321859=await _0x8d9567['YlCCE'](readFile,_0x18d512,_0x8d9567['hUtIk']);_0xfca833=JSON[_0x54bed8(0x169)](_0x321859);}catch(_0x536bf6){return console[_0x54bed8(0x16c)](_0x8d9567[_0x54bed8(0x15e)]),{'configured':![],'scope':_0x41cfea,'error':_0x8d9567['gUXrO'],'details':_0x536bf6};}const _0x2ef857=Array['isArray'](_0xfca833['plugin'])?_0xfca833[_0x54bed8(0x168)]:[];if(_0x2ef857[_0x54bed8(0x16a)](_0x211d8e))return console['log'](_0x8d9567['wieXs']),{'configured':![],'scope':_0x41cfea};return _0xfca833['$schema']=_0xfca833[_0x54bed8(0x16d)]||_0x2c0439,_0xfca833['plugin']=[..._0x2ef857,_0x211d8e],await _0x8d9567[_0x54bed8(0x171)](mkdir,_0x8d9567[_0x54bed8(0x170)](getOpencodeConfigDir,_0x41cfea),{'recursive':!![]}),await writeFile(_0x18d512,JSON['stringify'](_0xfca833,null,0x2)+'\x0a'),console[_0x54bed8(0x162)](_0x54bed8(0x173)),{'configured':!![],'scope':_0x41cfea};}
1
+ (function(_0x23a131,_0xd89e3c){const _0x593bd4=_0x57b0,_0x159ae7=_0x23a131();while(!![]){try{const _0x4d93f1=-parseInt(_0x593bd4(0x1d0))/0x1*(parseInt(_0x593bd4(0x1c6))/0x2)+parseInt(_0x593bd4(0x1d9))/0x3+-parseInt(_0x593bd4(0x1c5))/0x4+parseInt(_0x593bd4(0x1bb))/0x5+parseInt(_0x593bd4(0x1b9))/0x6*(-parseInt(_0x593bd4(0x1bf))/0x7)+parseInt(_0x593bd4(0x1cb))/0x8+-parseInt(_0x593bd4(0x1ca))/0x9;if(_0x4d93f1===_0xd89e3c)break;else _0x159ae7['push'](_0x159ae7['shift']());}catch(_0x3574e6){_0x159ae7['push'](_0x159ae7['shift']());}}}(_0x4369,0x9966e));function _0x4369(){const _0x5be2d=['✓\x20OpenCode\x20plugin\x20already\x20configured','246GVMrIo','isArray','5416160mVvkej','Failed\x20to\x20read\x20opencode.json','utf-8','MZGYA','63469qwdAQS','plugin','GWiLG','parse','nJSKY','nyLDH','117504qZdCFo','263470DEQSRa','log','lHUuj','QvIKd','8202753pObfot','716768KFqVzQ','@ranger-testing/opencode-plugin','$schema','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','pluginScope','1UPvzLg','WlJeN','opencode.json','error','HTpTF','✓\x20OpenCode\x20plugin\x20configured','HgsYG','project','ftvYc','2699343Ixbkaz','JeioK'];_0x4369=function(){return _0x5be2d;};return _0x4369();}import{join}from'path';function _0x57b0(_0x5447fd,_0x4ea73c){_0x5447fd=_0x5447fd-0x1b7;const _0x436996=_0x4369();let _0x57b0a4=_0x436996[_0x5447fd];return _0x57b0a4;}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x7ee401 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x518129){const _0x1fd011=_0x57b0,_0x515c98={'GWiLG':function(_0x2fd4b5,_0x226ad8){return _0x2fd4b5(_0x226ad8);},'QvIKd':'project','MPrwh':_0x1fd011(0x1d2),'MZGYA':'Where\x20should\x20the\x20plugin\x20be\x20installed?','JeioK':'user','HTpTF':_0x1fd011(0x1cc),'nJSKY':'https://opencode.ai/config.json','lHUuj':function(_0x52083a,_0x116d0f){return _0x52083a(_0x116d0f);},'WlJeN':_0x1fd011(0x1bd),'HgsYG':_0x1fd011(0x1ce),'wDhSv':_0x1fd011(0x1bc),'LMgGF':function(_0x23f5a1,_0xbb6205,_0x2ef7e8){return _0x23f5a1(_0xbb6205,_0x2ef7e8);},'vTHDY':function(_0x324549,_0x33402e){return _0x324549(_0x33402e);},'ftvYc':function(_0x5e89a2,_0x1cdb6e,_0x249ca0){return _0x5e89a2(_0x1cdb6e,_0x249ca0);},'sjVmE':function(_0x3bea21,_0x469cd5){return _0x3bea21+_0x469cd5;},'nyLDH':_0x1fd011(0x1d5)},_0x29ec86=_0x515c98[_0x1fd011(0x1c1)](existsSync,join(_0x515c98[_0x1fd011(0x1c1)](getOpencodeConfigDir,_0x515c98[_0x1fd011(0x1c9)]),_0x515c98['MPrwh']));let _0x3a5e32;if(_0x518129)_0x3a5e32=_0x518129;else{if(_0x29ec86)_0x3a5e32=_0x1fd011(0x1d7);else{console['log']('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0x5f2b82=await _0x7ee401['prompt']([{'type':'list','name':_0x1fd011(0x1cf),'message':_0x515c98[_0x1fd011(0x1be)],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x515c98[_0x1fd011(0x1b7)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':'project'}],'default':_0x515c98['JeioK']}]);_0x3a5e32=_0x5f2b82[_0x1fd011(0x1cf)];}}const _0x332a59=join(_0x515c98['GWiLG'](getOpencodeConfigDir,_0x3a5e32),_0x515c98['MPrwh']),_0x1ea16e=_0x515c98[_0x1fd011(0x1d4)],_0x197f12=_0x515c98[_0x1fd011(0x1c3)];let _0x3bc178={};if(_0x515c98[_0x1fd011(0x1c8)](existsSync,_0x332a59))try{const _0x47ff81=await readFile(_0x332a59,_0x515c98[_0x1fd011(0x1d1)]);_0x3bc178=JSON[_0x1fd011(0x1c2)](_0x47ff81);}catch(_0x3ae0cf){return console[_0x1fd011(0x1d3)](_0x515c98[_0x1fd011(0x1d6)]),{'configured':![],'scope':_0x3a5e32,'error':_0x515c98['wDhSv'],'details':_0x3ae0cf};}const _0x281e94=Array[_0x1fd011(0x1ba)](_0x3bc178[_0x1fd011(0x1c0)])?_0x3bc178['plugin']:[];if(_0x281e94['includes'](_0x1ea16e))return console['log'](_0x1fd011(0x1b8)),{'configured':![],'scope':_0x3a5e32};return _0x3bc178[_0x1fd011(0x1cd)]=_0x3bc178['$schema']||_0x197f12,_0x3bc178[_0x1fd011(0x1c0)]=[..._0x281e94,_0x1ea16e],await _0x515c98['LMgGF'](mkdir,_0x515c98['vTHDY'](getOpencodeConfigDir,_0x3a5e32),{'recursive':!![]}),await _0x515c98[_0x1fd011(0x1d8)](writeFile,_0x332a59,_0x515c98['sjVmE'](JSON['stringify'](_0x3bc178,null,0x2),'\x0a')),console[_0x1fd011(0x1c7)](_0x515c98[_0x1fd011(0x1c4)]),{'configured':!![],'scope':_0x3a5e32};}
@@ -1 +1 @@
1
- function _0x29a7(){var _0x3b3a92=['93267IuNZXx','916eOxmzB','1755608oBeyaz','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','exit','2096633diLfgQ','197671GzinLA','14HJWnFO','1220PpObmG','2PzUseU','RrRpH','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','793404qqQiwW','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','280839vCFGPa','210SwgmwV'];_0x29a7=function(){return _0x3b3a92;};return _0x29a7();}function _0x1eaf(_0x57c11f,_0x1ef4de){_0x57c11f=_0x57c11f-0x88;var _0x29a7a3=_0x29a7();var _0x1eafda=_0x29a7a3[_0x57c11f];return _0x1eafda;}(function(_0x53974f,_0x2b4ce3){var _0x1697cd=_0x1eaf,_0x5b266f=_0x53974f();while(!![]){try{var _0x2cfcb3=-parseInt(_0x1697cd(0x91))/0x1*(-parseInt(_0x1697cd(0x94))/0x2)+-parseInt(_0x1697cd(0x89))/0x3+parseInt(_0x1697cd(0x8c))/0x4*(parseInt(_0x1697cd(0x93))/0x5)+-parseInt(_0x1697cd(0x97))/0x6*(parseInt(_0x1697cd(0x92))/0x7)+parseInt(_0x1697cd(0x8d))/0x8+parseInt(_0x1697cd(0x8b))/0x9*(parseInt(_0x1697cd(0x8a))/0xa)+-parseInt(_0x1697cd(0x90))/0xb;if(_0x2cfcb3===_0x2b4ce3)break;else _0x5b266f['push'](_0x5b266f['shift']());}catch(_0x438b74){_0x5b266f['push'](_0x5b266f['shift']());}}}(_0x29a7,0x22a71));export async function setupCi(_0x578302,_0xe365fb,_0xdf9073){var _0x144d0b=_0x1eaf,_0x196502={'RrRpH':function(_0x37626f,_0xf865a9){return _0x37626f+_0xf865a9;},'MwkpD':function(_0xc864fc,_0x50908e){return _0xc864fc+_0x50908e;},'eMSEo':function(_0x599efb,_0x4ba199){return _0x599efb+_0x4ba199;},'SKjFb':_0x144d0b(0x8e)};console['error'](_0x196502[_0x144d0b(0x95)](_0x196502['MwkpD'](_0x196502['eMSEo'](_0x196502['SKjFb'],'\x0a'),_0x144d0b(0x88))+'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'+'\x0a'+_0x144d0b(0x96),'\x20\x20https://docs.ranger.net/main/concepts/profiles')),process[_0x144d0b(0x8f)](0x1);}
1
+ function _0x3d65(){var _0x468a00=['8916000dHqhAq','253040nbqorc','50NUXSXV','9820404xcjshv','CtVkz','2860641neskRh','5679453NtfBxq','gfAIS','error','62984osInLq','5800887WKsmOb','9hehVPF'];_0x3d65=function(){return _0x468a00;};return _0x3d65();}(function(_0x3ddb00,_0x54f687){var _0xcac8ac=_0x27cc,_0xb6e795=_0x3ddb00();while(!![]){try{var _0x45eb11=-parseInt(_0xcac8ac(0x165))/0x1*(parseInt(_0xcac8ac(0x16f))/0x2)+-parseInt(_0xcac8ac(0x16c))/0x3+-parseInt(_0xcac8ac(0x167))/0x4*(parseInt(_0xcac8ac(0x168))/0x5)+parseInt(_0xcac8ac(0x169))/0x6+parseInt(_0xcac8ac(0x16b))/0x7+parseInt(_0xcac8ac(0x166))/0x8+parseInt(_0xcac8ac(0x164))/0x9;if(_0x45eb11===_0x54f687)break;else _0xb6e795['push'](_0xb6e795['shift']());}catch(_0x419b82){_0xb6e795['push'](_0xb6e795['shift']());}}}(_0x3d65,0xf2fbd));function _0x27cc(_0x47bce8,_0x77b4be){_0x47bce8=_0x47bce8-0x164;var _0x3d652a=_0x3d65();var _0x27cc49=_0x3d652a[_0x47bce8];return _0x27cc49;}export async function setupCi(_0x4fa6ad,_0x5d9256,_0x449a5a){var _0x2ec620=_0x27cc,_0x1c96fc={'CtVkz':function(_0x35c5ae,_0x1159c0){return _0x35c5ae+_0x1159c0;},'gfAIS':function(_0x549a07,_0x2a93fc){return _0x549a07+_0x2a93fc;},'NTmdC':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'};console[_0x2ec620(0x16e)](_0x1c96fc[_0x2ec620(0x16a)](_0x1c96fc[_0x2ec620(0x16d)](_0x1c96fc['CtVkz'](_0x1c96fc['NTmdC'],'\x0a')+'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','\x20\x20ranger\x20profile\x20add\x20<name>\x0a'),'\x0a')+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'+'\x20\x20https://docs.ranger.net/main/concepts/profiles'),process['exit'](0x1);}
@@ -1 +1 @@
1
- (function(_0x53bfda,_0x434e69){const _0x1ae76d=_0x1feb,_0x2f3cb3=_0x53bfda();while(!![]){try{const _0xbcd292=parseInt(_0x1ae76d(0x149))/0x1+parseInt(_0x1ae76d(0x131))/0x2+parseInt(_0x1ae76d(0x151))/0x3+-parseInt(_0x1ae76d(0x140))/0x4+parseInt(_0x1ae76d(0x12a))/0x5+parseInt(_0x1ae76d(0x144))/0x6*(-parseInt(_0x1ae76d(0x148))/0x7)+parseInt(_0x1ae76d(0x137))/0x8;if(_0xbcd292===_0x434e69)break;else _0x2f3cb3['push'](_0x2f3cb3['shift']());}catch(_0x184fac){_0x2f3cb3['push'](_0x2f3cb3['shift']());}}}(_0x5d70,0x87206));import{basename}from'path';import _0x26dc88 from'inquirer';function _0x1feb(_0x6e69f1,_0x167e75){_0x6e69f1=_0x6e69f1-0x12a;const _0x5d70be=_0x5d70();let _0x1feb9c=_0x5d70be[_0x6e69f1];return _0x1feb9c;}import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';function _0x5d70(){const _0x2519cb=['To\x20get\x20started:','This\x20project\x20only\x20(','autoInstall','prompt','373786JjVWWO','✓\x20Found\x20API\x20token','user','\x0a✅\x20Installed\x20','xugwN','Where\x20should\x20skills\x20be\x20installed?','9642392DbMlMa','log','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','To\x20use:','installLevel','DgNdB','mcIkv','QSQes','\x20--opencode','4124536ZwLUnm','opencode','claude','/skills/','3049962ilKSns','\x20\x202.\x20Run:\x20ranger\x20setup','uvwSB','cWGCz','14WBmDxI','274743uAIJep','NwtMx','XyKNv','stdout','KmgKp','xhHPF','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','suppressUsage','1546068WZBbxE','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','\x20successfully!\x0a','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','UihCJ','project-level','2094875LDhhFO','platform','pZiun'];_0x5d70=function(){return _0x2519cb;};return _0x5d70();}import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0xc53ae1={}){const _0x37bc91=_0x1feb,_0x369a43={'NwtMx':_0x37bc91(0x142),'uvwSB':function(_0x5af69f){return _0x5af69f();},'XnLzd':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','QSQes':_0x37bc91(0x12d),'XyKNv':_0x37bc91(0x154),'teuyu':_0x37bc91(0x141),'hqfQU':function(_0x46e912,_0x4de1c3){return _0x46e912===_0x4de1c3;},'KqAGd':_0x37bc91(0x132),'xugwN':function(_0x1928dd,_0x1fad8d){return _0x1928dd(_0x1fad8d);},'ExzTa':function(_0x104527,_0x4783da){return _0x104527===_0x4783da;},'gCYaZ':function(_0x2f735e){return _0x2f735e();},'CKXqO':_0x37bc91(0x136),'xhHPF':'user','mcIkv':'project','kpOFI':function(_0x478740){return _0x478740();},'dggGK':'\x0a📦\x20Installing\x20skills...\x0a','cWGCz':function(_0x659887,_0x56f727,_0x77a25){return _0x659887(_0x56f727,_0x77a25);},'KmgKp':_0x37bc91(0x14f),'OBHir':function(_0x1ebbcd,_0x41dee2){return _0x1ebbcd instanceof _0x41dee2;},'Vvrak':function(_0x44bb1b,_0x39d84e){return _0x44bb1b===_0x39d84e;},'wfguc':_0x37bc91(0x13a),'UihCJ':function(_0x5277f2,_0x219af1){return _0x5277f2===_0x219af1;},'pZiun':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','DgNdB':'\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'};console[_0x37bc91(0x138)]('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x42628a=_0xc53ae1[_0x37bc91(0x12b)]??_0x369a43[_0x37bc91(0x14a)],_0x74c731=await _0x369a43[_0x37bc91(0x146)](getToken);if(!_0x74c731){console['log'](_0x369a43['XnLzd']),console['log'](_0x369a43[_0x37bc91(0x13e)]),console[_0x37bc91(0x138)](_0x369a43[_0x37bc91(0x14b)]),console[_0x37bc91(0x138)](_0x37bc91(0x145)+(_0x42628a===_0x369a43['teuyu']?'\x20--opencode':'')+'\x20<your-api-token>'),console[_0x37bc91(0x138)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x369a43['hqfQU'](_0x42628a,_0x37bc91(0x141))?_0x37bc91(0x13f):'')+'\x0a');return;}console[_0x37bc91(0x138)](_0x369a43['KqAGd']);const _0xa891e9=getProjectRoot(),_0x44a4da=_0x369a43[_0x37bc91(0x135)](basename,_0xa891e9),_0x164379=_0x369a43['ExzTa'](_0x42628a,_0x369a43['teuyu'])?getOpencodeConfigDir(_0x37bc91(0x133))+_0x37bc91(0x143):_0x369a43['gCYaZ'](getClaudeConfigDir)+'/skills/',_0x351705=_0x42628a===_0x369a43['teuyu']?_0xa891e9+'/.opencode/skills/':_0xa891e9+'/.claude/skills/',_0x2c0af1=process['stdin']['isTTY']&&process[_0x37bc91(0x14c)]['isTTY'];let _0x517b70;if(_0xc53ae1['autoInstall'])_0x517b70=_0xc53ae1[_0x37bc91(0x12f)];else{if(_0x2c0af1){const _0x45af7f=await _0x26dc88[_0x37bc91(0x130)]([{'type':'list','name':'installLevel','message':_0x369a43['CKXqO'],'choices':[{'name':'All\x20projects\x20('+_0x164379+')','value':_0x369a43[_0x37bc91(0x14e)]},{'name':_0x37bc91(0x12e)+_0x351705+')','value':_0x369a43[_0x37bc91(0x13d)]}]}]);_0x517b70=_0x45af7f[_0x37bc91(0x13b)];}else _0x517b70=_0x369a43[_0x37bc91(0x13d)],console['log'](_0x37bc91(0x152)+_0x351705+')');}let _0x31acbc=0x0;const _0x51ddc9=_0x369a43['kpOFI'](getCurrentVersion);console[_0x37bc91(0x138)](_0x369a43['dggGK']);try{const _0x37c1bb=await _0x369a43[_0x37bc91(0x147)](installSkill,'ranger',{'cliVersion':_0x51ddc9,'level':_0x517b70,'platform':_0x42628a});_0x37c1bb&&_0x31acbc++;}catch(_0x1e3eff){console['warn'](_0x369a43[_0x37bc91(0x14d)],_0x369a43['OBHir'](_0x1e3eff,Error)?_0x1e3eff['message']:_0x1e3eff);}if(_0x31acbc>0x0){const _0x4154ad=_0x369a43['Vvrak'](_0x517b70,_0x369a43[_0x37bc91(0x14e)])?'user-level':_0x37bc91(0x156);console['log'](_0x37bc91(0x134)+_0x31acbc+'\x20'+_0x4154ad+'\x20skill'+(_0x31acbc>0x1?'s':'')+_0x37bc91(0x153)),!_0xc53ae1[_0x37bc91(0x150)]&&(console['log'](_0x369a43['wfguc']),_0x369a43[_0x37bc91(0x155)](_0x42628a,'opencode')?console['log'](_0x369a43[_0x37bc91(0x12c)]):console['log'](_0x369a43[_0x37bc91(0x13c)]));}else console['log'](_0x37bc91(0x139));}
1
+ (function(_0x65b464,_0x4f4128){const _0x17d3f7=_0x4e4b,_0x389cb9=_0x65b464();while(!![]){try{const _0x29582a=parseInt(_0x17d3f7(0x1f8))/0x1+parseInt(_0x17d3f7(0x1d0))/0x2*(parseInt(_0x17d3f7(0x1e2))/0x3)+parseInt(_0x17d3f7(0x1d2))/0x4+-parseInt(_0x17d3f7(0x1d6))/0x5+-parseInt(_0x17d3f7(0x1cb))/0x6*(parseInt(_0x17d3f7(0x1cc))/0x7)+parseInt(_0x17d3f7(0x1ea))/0x8+-parseInt(_0x17d3f7(0x1d3))/0x9;if(_0x29582a===_0x4f4128)break;else _0x389cb9['push'](_0x389cb9['shift']());}catch(_0x53b082){_0x389cb9['push'](_0x389cb9['shift']());}}}(_0x508f,0x9ca26));import{basename}from'path';import _0x24dc7d from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';function _0x508f(){const _0x50939a=['4745872YrAEwn','gCdaw','YVmbM','fTAOc','xFzqU','user','\x20skill','installLevel','\x20--opencode','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','project','autoInstall','platform','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','1100587QxrBqi','\x20successfully!\x0a','split','All\x20projects\x20(','project-level','\x20\x203.\x20Run:\x20ranger\x20skillup','user-level','6FMCFOX','8076285kUYHrw','prompt','zizXr','lrYDu','1882jvCKTK','isTTY','1251068SZjebc','10700739LFteuR','opencode','log','1157365pPEBMr','SOfSI','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','stdout','/.claude/skills/','\x20\x202.\x20Run:\x20ranger\x20setup','✓\x20Found\x20API\x20token','\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!','To\x20get\x20started:','losuK','3|1|2|4|5|0','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','3855UADbhS','YhhVC','list','WpLIe','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','QBpTw','ZZKRv','To\x20use:'];_0x508f=function(){return _0x50939a;};return _0x508f();}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';function _0x4e4b(_0x1c4e04,_0x10e4c7){_0x1c4e04=_0x1c4e04-0x1c7;const _0x508f7e=_0x508f();let _0x4e4bbb=_0x508f7e[_0x1c4e04];return _0x4e4bbb;}export async function skillup(_0x32dc83={}){const _0x1f5d20=_0x4e4b,_0x22ab1a={'qnFPQ':_0x1f5d20(0x1e1),'MPHwU':_0x1f5d20(0x1e0),'ZZKRv':_0x1f5d20(0x1de),'AHOaO':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','YgObe':_0x1f5d20(0x1f2),'zizXr':'opencode','fTAOc':_0x1f5d20(0x1dc),'xFzqU':function(_0x1c5d47){return _0x1c5d47();},'lrYDu':function(_0xfe533f,_0x27be03){return _0xfe533f(_0x27be03);},'losuK':_0x1f5d20(0x1e4),'UbVeZ':_0x1f5d20(0x1f1),'lVlyn':'Where\x20should\x20skills\x20be\x20installed?','foPKi':_0x1f5d20(0x1ef),'AnqTB':function(_0x3ba151){return _0x3ba151();},'SOfSI':function(_0x4afb09,_0x3c758c,_0x20e515){return _0x4afb09(_0x3c758c,_0x20e515);},'YVmbM':_0x1f5d20(0x1f3),'gCdaw':function(_0xec4d4a,_0x3e5cd4){return _0xec4d4a===_0x3e5cd4;},'YhhVC':_0x1f5d20(0x1ca),'WpLIe':_0x1f5d20(0x1f7),'QBpTw':'\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a'};console[_0x1f5d20(0x1d5)](_0x22ab1a['qnFPQ']);const _0x3597b1=_0x32dc83[_0x1f5d20(0x1f6)]??'claude',_0x541f5b=await getToken();if(!_0x541f5b){const _0x3b652c=_0x22ab1a['MPHwU'][_0x1f5d20(0x1fa)]('|');let _0x2f50b2=0x0;while(!![]){switch(_0x3b652c[_0x2f50b2++]){case'0':return;case'1':console[_0x1f5d20(0x1d5)](_0x22ab1a[_0x1f5d20(0x1e8)]);continue;case'2':console['log'](_0x1f5d20(0x1d8));continue;case'3':console[_0x1f5d20(0x1d5)](_0x22ab1a['AHOaO']);continue;case'4':console[_0x1f5d20(0x1d5)](_0x1f5d20(0x1db)+(_0x3597b1===_0x1f5d20(0x1d4)?_0x22ab1a['YgObe']:'')+'\x20<your-api-token>');continue;case'5':console[_0x1f5d20(0x1d5)](_0x1f5d20(0x1c9)+(_0x3597b1===_0x22ab1a['zizXr']?_0x1f5d20(0x1f2):'')+'\x0a');continue;}break;}}console['log'](_0x22ab1a[_0x1f5d20(0x1ed)]);const _0x49f478=_0x22ab1a[_0x1f5d20(0x1ee)](getProjectRoot),_0x3475fa=_0x22ab1a[_0x1f5d20(0x1cf)](basename,_0x49f478),_0x4c7641=_0x3597b1===_0x22ab1a[_0x1f5d20(0x1ce)]?getOpencodeConfigDir(_0x1f5d20(0x1ef))+'/skills/':_0x22ab1a['xFzqU'](getClaudeConfigDir)+'/skills/',_0x42897f=_0x3597b1==='opencode'?_0x49f478+'/.opencode/skills/':_0x49f478+_0x1f5d20(0x1da),_0x12c079=process['stdin'][_0x1f5d20(0x1d1)]&&process[_0x1f5d20(0x1d9)][_0x1f5d20(0x1d1)];let _0x2a536c;if(_0x32dc83[_0x1f5d20(0x1f5)])_0x2a536c=_0x32dc83['autoInstall'];else{if(_0x12c079){const _0x2602b4=await _0x24dc7d[_0x1f5d20(0x1cd)]([{'type':_0x22ab1a[_0x1f5d20(0x1df)],'name':_0x22ab1a['UbVeZ'],'message':_0x22ab1a['lVlyn'],'choices':[{'name':_0x1f5d20(0x1c7)+_0x4c7641+')','value':_0x22ab1a['foPKi']},{'name':'This\x20project\x20only\x20('+_0x42897f+')','value':'project'}]}]);_0x2a536c=_0x2602b4['installLevel'];}else _0x2a536c=_0x1f5d20(0x1f4),console['log'](_0x1f5d20(0x1e6)+_0x42897f+')');}let _0x3c6753=0x0;const _0x45c830=_0x22ab1a['AnqTB'](getCurrentVersion);console['log']('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x2d0bb6=await _0x22ab1a[_0x1f5d20(0x1d7)](installSkill,'ranger',{'cliVersion':_0x45c830,'level':_0x2a536c,'platform':_0x3597b1});_0x2d0bb6&&_0x3c6753++;}catch(_0x527c84){console['warn'](_0x22ab1a[_0x1f5d20(0x1ec)],_0x527c84 instanceof Error?_0x527c84['message']:_0x527c84);}if(_0x3c6753>0x0){const _0x38900e=_0x22ab1a[_0x1f5d20(0x1eb)](_0x2a536c,_0x1f5d20(0x1ef))?_0x22ab1a[_0x1f5d20(0x1e3)]:_0x1f5d20(0x1c8);console['log']('\x0a✅\x20Installed\x20'+_0x3c6753+'\x20'+_0x38900e+_0x1f5d20(0x1f0)+(_0x3c6753>0x1?'s':'')+_0x1f5d20(0x1f9)),!_0x32dc83['suppressUsage']&&(console['log'](_0x1f5d20(0x1e9)),_0x3597b1===_0x22ab1a['zizXr']?console[_0x1f5d20(0x1d5)](_0x22ab1a[_0x1f5d20(0x1e5)]):console['log'](_0x1f5d20(0x1dd)));}else console[_0x1f5d20(0x1d5)](_0x22ab1a[_0x1f5d20(0x1e7)]);}
@@ -1 +1 @@
1
- const _0x3ec517=_0x14a3;(function(_0xac4843,_0x383870){const _0x4c7e9d=_0x14a3,_0x48501f=_0xac4843();while(!![]){try{const _0x23e3e9=-parseInt(_0x4c7e9d(0x10a))/0x1*(-parseInt(_0x4c7e9d(0xf6))/0x2)+-parseInt(_0x4c7e9d(0xca))/0x3*(parseInt(_0x4c7e9d(0xe5))/0x4)+parseInt(_0x4c7e9d(0x106))/0x5+-parseInt(_0x4c7e9d(0x11c))/0x6+parseInt(_0x4c7e9d(0xd1))/0x7*(-parseInt(_0x4c7e9d(0x126))/0x8)+-parseInt(_0x4c7e9d(0xdf))/0x9+parseInt(_0x4c7e9d(0xf4))/0xa*(parseInt(_0x4c7e9d(0xd9))/0xb);if(_0x23e3e9===_0x383870)break;else _0x48501f['push'](_0x48501f['shift']());}catch(_0xea984c){_0x48501f['push'](_0x48501f['shift']());}}}(_0x22b6,0x36dc0));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x2c39e5 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';function _0x22b6(){const _0xc90e5=['\x0aTo\x20verify\x20with\x20a\x20browser,\x20set\x20','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','profile','KyKJh','\x0aIn\x20Claude\x20Code,\x20run\x20','GFxpM','RANGER_TEST_USERNAME','NXiGQ','allowInsecureLocalhost','DOnNb','executablePath','10eXdWVw','close','34xdkTjE','\x20\x20(or\x20use\x20','KPGjf','\x0a⚠\x20Skipping\x20Chromium\x20installation.','\x20(fallback\x20version)','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','isTTY','MMKUu','error','playwright@','nTNAN','skipChromium','force','url','trackPhaseStart','\x20\x20npx\x20playwright@','1462675nKvjDz','✓\x20Created\x20~/.ranger/\x20directory','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','MMvfw','8709jpmHgz','scope','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','✓\x20Exported\x20credentials\x20for\x20CI','Validating\x20API\x20token...','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','SLNcq','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','KuDOq','prompt','NJvWy','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','.gitignore','chromium','trackPhaseEnd','plugin','✓\x20Created\x20.ranger/.gitignore','(and\x20','948288flbZAc','QGUtw','NvOXC','inherit','skipped','\x1b[1m','AMTKL','log','ranger','ledLC','174904sVKaSH','dLXiz','jBbXs','kcTOK','existing_token','auth','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','RmDUM','user','The\x20required\x20version\x20(','1.58.2','hJpfh','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','593682bKpaWM','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','success','LwFSy','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','skills','✓\x20Playwright\x20Chromium\x20browser\x20found','56EhcVAc','Ydtlc','--with-deps','install','/ranger:enable','skipAuth','\x20install\x20chromium','PmWPf','7215934oFvFuW','RANGER_TEST_PASSWORD','hgudP','✓\x20Authenticated\x20to\x20','SkbdT','NyLur','1288242eWPdLq','ranger\x20profile\x20add','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','playwright/package.json','AfxxC','Authentication\x20failed:\x20','8yJieul','organizationName','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','local'];_0x22b6=function(){return _0xc90e5;};return _0x22b6();}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=_0x3ec517(0x130);const bold=_0xdf807d=>_0x3ec517(0x121)+_0xdf807d+'\x1b[0m';export function getPlaywrightVersion(){const _0x5e478d=_0x3ec517,_0x4aa777={'SQBNM':_0x5e478d(0xe2),'fazMp':function(_0x4d138e,_0x4a5320){return _0x4d138e(_0x4a5320);}};try{const _0x339331=require['resolve'](_0x4aa777['SQBNM']),_0x2ebbea=_0x4aa777['fazMp'](require,_0x339331);return _0x2ebbea['version'];}catch{return null;}}export function installChromiumBinary(_0x4297c1,_0x1aafc2=![]){const _0x174e88=_0x3ec517,_0x9292e7={'EFkxn':_0x174e88(0xd3),'KyKJh':function(_0x5f0741,_0x300fac,_0x4b91fd,_0x389e05){return _0x5f0741(_0x300fac,_0x4b91fd,_0x389e05);},'MMvfw':'npx','NvOXC':'ignore','QGUtw':function(_0x57edb5,_0x860514){return _0x57edb5===_0x860514;}};return new Promise((_0x1e30dd,_0x2f8308)=>{const _0x1db54e=_0x174e88,_0x227752={'bxcTz':function(_0x247a29,_0x456d70){return _0x247a29(_0x456d70);}},_0x427a85=[_0x1db54e(0xff)+_0x4297c1,_0x1db54e(0xd4),..._0x1aafc2?[_0x9292e7['EFkxn']]:[],'chromium'],_0x38b004=_0x9292e7[_0x1db54e(0xec)](spawn,_0x9292e7[_0x1db54e(0x109)],_0x427a85,{'stdio':[_0x9292e7[_0x1db54e(0x11e)],'inherit',_0x1db54e(0x11f)],'shell':_0x9292e7[_0x1db54e(0x11d)](process['platform'],'win32')});_0x38b004['on'](_0x1db54e(0xf5),_0x40f4f1=>{_0x40f4f1===0x0?_0x1e30dd():_0x2f8308(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x40f4f1));}),_0x38b004['on'](_0x1db54e(0xfe),_0x20adf8=>{_0x227752['bxcTz'](_0x2f8308,_0x20adf8);});});}export async function authenticate(_0x4e593e){const _0x580a96=_0x3ec517,_0x21e163={'tzhup':function(_0x35cb40){return _0x35cb40();},'mGDak':_0x580a96(0x10e),'nTNAN':function(_0x562e71,_0x102ee2){return _0x562e71(_0x102ee2);},'Ydtlc':'provided_token'};if(!_0x4e593e){const _0x7a2360=await _0x21e163['tzhup'](getToken);if(_0x7a2360){const _0x132ce8=await getCurrentUser(_0x7a2360);if(_0x132ce8[_0x580a96(0xcc)])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x132ce8[_0x580a96(0x12e)][_0x580a96(0xe6)]),{'token':_0x7a2360,'method':_0x580a96(0x12a)};}try{_0x4e593e=await runDeviceAuthFlow();}catch(_0x408334){throw new Error(_0x580a96(0xe4)+(_0x408334 instanceof Error?_0x408334['message']:_0x408334));}const _0x3a07c7=await getCurrentUser(_0x4e593e);if(!_0x3a07c7[_0x580a96(0xcc)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x3a07c7[_0x580a96(0xfe)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0x3a07c7[_0x580a96(0x12e)]['organizationName']),{'token':_0x4e593e,'method':'device_auth'};}console[_0x580a96(0x123)](_0x21e163['mGDak']);const _0x140934=await _0x21e163[_0x580a96(0x100)](getCurrentUser,_0x4e593e);if(!_0x140934['success']){if(_0x140934['status'])throw new Error('Authentication\x20failed:\x20'+_0x140934['error']+_0x580a96(0x12c));else throw new Error(_0x580a96(0x111)+_0x140934['error']+_0x580a96(0xe1));}return console['log'](_0x580a96(0xdc)+_0x140934[_0x580a96(0x12e)]['organizationName']),await storeToken(_0x4e593e),console['log'](process['env']['GITHUB_ENV']?_0x580a96(0x10d):'✓\x20Stored\x20credentials\x20locally'),{'token':_0x4e593e,'method':_0x21e163[_0x580a96(0xd2)]};}export async function ensureRangerDir(_0x49d4d6){const _0x2f1096=_0x3ec517,_0x5a5c3a={'WDBnf':function(_0x541d20,_0x3a826c){return _0x541d20(_0x3a826c);},'TWnvw':_0x2f1096(0x107),'KPGjf':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x49d4d6;const _0x12ce52=getRangerHomeDir();return!_0x5a5c3a['WDBnf'](existsSync,_0x12ce52)?(await mkdir(_0x12ce52,{'recursive':!![]}),console[_0x2f1096(0x123)](_0x5a5c3a['TWnvw']),{'path':_0x12ce52,'installed':!![]}):(console[_0x2f1096(0x123)](_0x5a5c3a[_0x2f1096(0xf8)]),{'path':_0x12ce52,'installed':![]});}function _0x14a3(_0x56f51d,_0x1e0bd0){_0x56f51d=_0x56f51d-0xc9;const _0x22b691=_0x22b6();let _0x14a36e=_0x22b691[_0x56f51d];return _0x14a36e;}export async function ensureChromium(_0x972cb7=![]){const _0x585726=_0x3ec517,_0x5bea85={'JhJDO':function(_0xee6ad9,_0x373c97){return _0xee6ad9(_0x373c97);},'UHGSi':function(_0x72d4a1){return _0x72d4a1();},'kcTOK':function(_0x180274,_0x2279b0){return _0x180274??_0x2279b0;},'YBHAK':'confirm','RzrKo':_0x585726(0xfa),'RNHlt':_0x585726(0xe7),'nfUHz':function(_0x1ce03,_0x3e153d){return _0x1ce03 instanceof _0x3e153d;},'OxHFI':'You\x20can\x20install\x20it\x20manually\x20by\x20running:','dLXiz':_0x585726(0xf9),'RmDUM':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x3aa794=![];try{const _0x26068f=chromium[_0x585726(0xf3)]();_0x3aa794=_0x5bea85['JhJDO'](existsSync,_0x26068f);}catch{_0x3aa794=![];}if(_0x3aa794)return console[_0x585726(0x123)](_0x585726(0xd0)),![];const _0x4e7e1e=_0x5bea85['UHGSi'](getPlaywrightVersion),_0x2e0250=_0x5bea85[_0x585726(0x129)](_0x4e7e1e,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x155f7f=!_0x4e7e1e,_0x5bc08c=process['stdin'][_0x585726(0xfc)]&&process['stdout']['isTTY'];let _0x5876f9=!![];if(_0x5bc08c){const {install:_0x495b87}=await _0x2c39e5[_0x585726(0x113)]([{'type':_0x5bea85['YBHAK'],'name':'install','message':_0x155f7f?_0x585726(0x108)+_0x2e0250+'\x20now?':_0x585726(0x12f)+_0x2e0250+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x5876f9=_0x495b87;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x2e0250+(_0x155f7f?_0x5bea85['RzrKo']:'')+'...');if(_0x5876f9){console[_0x585726(0x123)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x2e0250,_0x972cb7),console[_0x585726(0x123)](_0x5bea85['RNHlt']);}catch(_0x11b71f){console[_0x585726(0xfe)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x5bea85['nfUHz'](_0x11b71f,Error)?_0x11b71f['message']:_0x11b71f),console['log'](_0x5bea85['OxHFI']),console[_0x585726(0x123)](_0x585726(0x105)+_0x2e0250+'\x20install\x20chromium');}}else console['log'](_0x5bea85[_0x585726(0x127)]),console[_0x585726(0x123)](_0x5bea85[_0x585726(0x12d)]),console[_0x585726(0x123)](_0x585726(0x105)+_0x2e0250+_0x585726(0xd7));return!![];}export async function writeRangerGitignore(_0xc0a4d3){const _0x5a1cc6=_0x3ec517,_0x48382b={'hgudP':_0x5a1cc6(0x116),'xvxJZ':_0x5a1cc6(0x11a)},_0x13248d=join(_0xc0a4d3,_0x48382b[_0x5a1cc6(0xdb)]),_0x221a44='\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(_0x13248d,_0x221a44),console[_0x5a1cc6(0x123)](_0x48382b['xvxJZ']);}export async function ensureLocalEnv(_0x32dcb2,_0x2cba4f){const _0x2201dd=_0x3ec517,_0x40147a={'WpccE':function(_0x54fd9c){return _0x54fd9c();},'OoKpW':function(_0x487e89,_0x1de3a3){return _0x487e89!==_0x1de3a3;},'MydFO':_0x2201dd(0x12e),'DdHET':function(_0x41cd8f,_0x34b6b9,_0x5bedcc){return _0x41cd8f(_0x34b6b9,_0x5bedcc);},'XSVDp':_0x2201dd(0xe8),'NyLur':'✓\x20Local\x20profile\x20already\x20exists'};if(!_0x40147a['WpccE'](findGitRoot)&&_0x40147a['OoKpW'](_0x32dcb2?.[_0x2201dd(0x10b)],_0x2201dd(0x12e)))return console[_0x2201dd(0x123)](_0x2201dd(0x10f)),{'ready':![],'skipped':!![]};const _0x43c39c=_0x32dcb2?.['scope']===_0x40147a['MydFO']?getRangerHomeDir():undefined;if(_0x40147a['DdHET'](findExistingEnv,_0x40147a['XSVDp'],{'locations':[_0x2201dd(0xe8)],'rangerDir':_0x43c39c}))return console['log'](_0x40147a[_0x2201dd(0xde)]),{'ready':!![],'skipped':![]};try{return await addEnv(_0x2201dd(0xe8),{'url':_0x32dcb2?.[_0x2201dd(0x103)],'force':_0x32dcb2?.[_0x2201dd(0x102)],'allowInsecureLocalhost':_0x32dcb2?.[_0x2201dd(0xf1)],'scope':_0x32dcb2?.['scope']},_0x2cba4f),{'ready':!![],'skipped':![]};}catch(_0x111570){return console[_0x2201dd(0xfe)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x111570 instanceof Error?_0x111570['message']:_0x111570),{'ready':![],'skipped':![]};}}export async function start(_0x2c4fca,_0x545567,_0x25eed0){const _0x11d5f3=_0x3ec517,_0x587a16={'ledLC':'\x0a🚀\x20Ranger\x20Setup\x0a','PmWPf':function(_0x5f065d,_0x241ac0){return _0x5f065d!==_0x241ac0;},'bHqDp':'user','AMTKL':function(_0x17a94f,_0x20b1ee){return _0x17a94f+_0x20b1ee;},'LqjgP':function(_0x59fa37){return _0x59fa37();},'hJpfh':function(_0x2756f2,_0x436290){return _0x2756f2(_0x436290);},'COUUv':'✓\x20Skipping\x20authentication\x20(--skip-auth)','UHqIJ':'auth','fIWST':function(_0x425a02,_0x518e8a){return _0x425a02(_0x518e8a);},'MMKUu':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','SLNcq':'plugin','LVkEO':function(_0x3d930e,_0x855d4){return _0x3d930e&&_0x855d4;},'NJvWy':function(_0x703b47,_0x281978,_0x10f563){return _0x703b47(_0x281978,_0x10f563);},'jBbXs':_0x11d5f3(0x124),'Hbpkg':function(_0xf64a9b){return _0xf64a9b();},'GFxpM':'skills','QAcBe':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','AfxxC':_0x11d5f3(0xeb),'EDHkE':_0x11d5f3(0xef),'hVIEo':function(_0x33d7fd,_0x2f4d4a){return _0x33d7fd(_0x2f4d4a);},'LwFSy':_0x11d5f3(0xda),'SkbdT':_0x11d5f3(0xe0),'KuDOq':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','eJSoU':_0x11d5f3(0xea),'NXiGQ':_0x11d5f3(0xd5),'DOnNb':function(_0x21f5eb,_0x1d376e){return _0x21f5eb+_0x1d376e;},'PPPKe':function(_0x4a8aef,_0x376f77){return _0x4a8aef+_0x376f77;}};console['log'](_0x587a16[_0x11d5f3(0x125)]);_0x545567?.[_0x11d5f3(0x10b)]!==undefined&&_0x587a16[_0x11d5f3(0xd8)](_0x545567[_0x11d5f3(0x10b)],_0x587a16['bHqDp'])&&(console['error'](_0x587a16[_0x11d5f3(0x122)]('ranger\x20setup\x20--scope='+String(_0x545567[_0x11d5f3(0x10b)])+'\x20is\x20no\x20longer\x20supported.\x20'+_0x11d5f3(0xc9),_0x11d5f3(0xcb))),process['exit'](0x1));_0x545567={..._0x545567,'scope':_0x11d5f3(0x12e)};const _0x583a76=!existsSync(_0x587a16['LqjgP'](getRangerHomeDir));await _0x587a16['hJpfh'](ensureRangerDir,_0x11d5f3(0x12e));if(_0x545567?.[_0x11d5f3(0xd6)])console[_0x11d5f3(0x123)](_0x587a16['COUUv']),_0x25eed0?.[_0x11d5f3(0x118)](_0x11d5f3(0x12b),{'isFirstRun':_0x583a76,'method':'skipped'});else{_0x25eed0?.[_0x11d5f3(0x104)](_0x587a16['UHqIJ']);const _0x5c3df8=await _0x587a16['fIWST'](authenticate,_0x2c4fca);_0x25eed0?.['trackPhaseEnd']('auth',{'isFirstRun':_0x583a76,'method':_0x5c3df8['method']});}_0x25eed0?.['trackPhaseStart']('chromium');_0x545567?.['skipChromium']?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await ensureChromium(_0x545567?.['withDeps']);_0x25eed0?.['trackPhaseEnd'](_0x11d5f3(0x117),{'isFirstRun':_0x583a76,'skipped':!!_0x545567?.[_0x11d5f3(0x101)]}),console[_0x11d5f3(0x123)](_0x587a16[_0x11d5f3(0xfd)]);const _0x58202d=_0x545567?.[_0x11d5f3(0x10b)],_0x24fb50=_0x545567?.['opencode']??![];let _0x5bd27a=null;_0x24fb50?(_0x25eed0?.[_0x11d5f3(0x104)](_0x587a16[_0x11d5f3(0x110)]),_0x5bd27a=await _0x587a16['hJpfh'](ensureOpencodePluginConfig,_0x58202d),_0x25eed0?.[_0x11d5f3(0x118)](_0x587a16[_0x11d5f3(0x110)],{'isFirstRun':_0x583a76,'opencode':!![]})):(_0x25eed0?.[_0x11d5f3(0x104)](_0x11d5f3(0x119)),await ensureClaudePlugin(_0x58202d),_0x25eed0?.[_0x11d5f3(0x118)](_0x587a16['SLNcq'],{'isFirstRun':_0x583a76}));if(_0x587a16['LVkEO'](_0x24fb50,_0x5bd27a)){_0x25eed0?.[_0x11d5f3(0x104)]('skills');try{await _0x587a16[_0x11d5f3(0x114)](installSkill,_0x587a16[_0x11d5f3(0x128)],{'level':_0x5bd27a['scope'],'cliVersion':_0x587a16['Hbpkg'](getCurrentVersion),'platform':'opencode'}),_0x25eed0?.['trackPhaseEnd'](_0x11d5f3(0xcf),{'isFirstRun':_0x583a76,'opencode':!![]});}catch(_0x4bd365){console['warn'](_0x11d5f3(0xfb),_0x4bd365 instanceof Error?_0x4bd365['message']:_0x4bd365),_0x25eed0?.[_0x11d5f3(0x118)]('skills',{'isFirstRun':_0x583a76,'opencode':!![],'failed':!![]});}}else _0x25eed0?.[_0x11d5f3(0x104)](_0x587a16[_0x11d5f3(0xee)]),await _0x587a16[_0x11d5f3(0x131)](ensureClaudeSkills,_0x58202d),_0x25eed0?.[_0x11d5f3(0x118)](_0x587a16[_0x11d5f3(0xee)],{'isFirstRun':_0x583a76});if(_0x545567?.['skipAuth'])console['log'](_0x587a16['QAcBe']);else{if(_0x545567?.['url']){_0x25eed0?.[_0x11d5f3(0x104)](_0x587a16[_0x11d5f3(0xe3)]);const _0x5790e0=await ensureLocalEnv({'url':_0x545567['url'],'force':_0x545567?.[_0x11d5f3(0x102)],'allowInsecureLocalhost':_0x545567?.['allowInsecureLocalhost'],'scope':_0x11d5f3(0x12e)},_0x25eed0);_0x25eed0?.['trackPhaseEnd']('profile',{'isFirstRun':_0x583a76,'profileReady':_0x5790e0['ready'],'userSkipped':_0x5790e0[_0x11d5f3(0x120)]});}else console['log'](_0x587a16['AMTKL'](_0x587a16['AMTKL'](_0x587a16['AMTKL'](_0x11d5f3(0xe9)+bold(_0x587a16['EDHkE'])+'\x20',_0x11d5f3(0x11b)+_0x587a16['hVIEo'](bold,_0x587a16[_0x11d5f3(0xcd)])+'\x20when\x20the\x20org\x27s\x20login'),'\x0a\x20\x20config\x20uses\x20username+password).\x20Orgs\x20on\x20SSO/SAML/OAuth'),'\x20may\x20need\x20a\x20one-time\x20headed\x20login\x20instead\x20—')+'\x0a\x20\x20your\x20org\x27s\x20auth\x20config\x20drives\x20which\x20flow\x20runs.'),console[_0x11d5f3(0x123)](_0x11d5f3(0xf7)+_0x587a16['hVIEo'](bold,_0x587a16[_0x11d5f3(0xdd)])+'\x20for\x20explicit\x20profile\x20management).');}if(_0x24fb50)console[_0x11d5f3(0x123)]('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console[_0x11d5f3(0x123)](_0x587a16[_0x11d5f3(0x112)]),console[_0x11d5f3(0x123)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log'](_0x587a16['eJSoU']);else{const _0x1eb266=bold(_0x587a16[_0x11d5f3(0xf0)]);console[_0x11d5f3(0x123)](_0x587a16[_0x11d5f3(0xf2)](_0x587a16['PPPKe'](_0x587a16['PPPKe'](_0x11d5f3(0xed)+_0x1eb266+'\x20and\x20prompt\x20the\x20coding',_0x11d5f3(0x10c)),_0x11d5f3(0xce)),_0x11d5f3(0x115)));}}
1
+ const _0x27a0a8=_0x2dda;(function(_0x22ebab,_0x203c45){const _0x41cc45=_0x2dda,_0x22e352=_0x22ebab();while(!![]){try{const _0x2466c6=-parseInt(_0x41cc45(0x19e))/0x1+-parseInt(_0x41cc45(0x160))/0x2+parseInt(_0x41cc45(0x1b6))/0x3+-parseInt(_0x41cc45(0x1b3))/0x4*(parseInt(_0x41cc45(0x15f))/0x5)+-parseInt(_0x41cc45(0x19a))/0x6*(parseInt(_0x41cc45(0x19b))/0x7)+-parseInt(_0x41cc45(0x1ae))/0x8+-parseInt(_0x41cc45(0x17e))/0x9*(-parseInt(_0x41cc45(0x1a1))/0xa);if(_0x2466c6===_0x203c45)break;else _0x22e352['push'](_0x22e352['shift']());}catch(_0x246ac3){_0x22e352['push'](_0x22e352['shift']());}}}(_0x45d6,0x6872c));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';function _0x45d6(){const _0x5bab26=['message','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','368580mPNRZD','\x0aInstalling\x20Chromium\x20browser...\x0a','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','1744380DMxmDK','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','1.58.2','BzogY','local','platform','npx','You\x20can\x20install\x20it\x20manually\x20by\x20running:','KrMEB','pIxUi','ignore','cMmPu','withDeps','isTTY','scope','...','KcUhy','CQcIZ','executablePath','log','UBXPg','method','xTXCZ','vQZWE','skills','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','organizationName','5dOsuiP','1333212gbrCQc','Authentication\x20failed:\x20','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','skipAuth','allowInsecureLocalhost','xnuyr','\x20and\x20prompt\x20the\x20coding','uGOVb','✓\x20~/.ranger/\x20directory\x20already\x20exists','version','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','NIToc','FtfKO','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','✓\x20Created\x20~/.ranger/\x20directory','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','\x20install\x20chromium','oMJvw','ready','muGyC','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','ZLUic','auth','env','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','existing_token','skipChromium','aVmmt','YvhwC','288iNfBcM','\x0a🚀\x20Ranger\x20Setup\x0a','TWsqr','stdin','HckVO','GaLWC','url','mfvPa','skipped','\x0a⚠\x20Skipping\x20Chromium\x20installation.','chromium','HqMDD','\x20\x20npx\x20playwright@','error','OyUfZ','force','KoBhJ','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','\x20is\x20no\x20longer\x20supported.\x20','gUzgN','/ranger:enable','NYrGR','plugin','NMEwj','hOfbB','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','trackPhaseEnd','✓\x20Skipping\x20authentication\x20(--skip-auth)','6WdamgL','161091cDQJwt','PPMvh','trackPhaseStart','513372LJEQVL','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','teYYV','482280CUIubQ','✓\x20Stored\x20credentials\x20locally','Validating\x20API\x20token...','provided_token','✓\x20Authenticated\x20to\x20','MJwrI','✓\x20Exported\x20credentials\x20for\x20CI','stdout','\x0aIn\x20Claude\x20Code,\x20run\x20','zIwOB','resolve','QwNWS','user','3214400xwWmEG','inherit','SXezM'];_0x45d6=function(){return _0x5bab26;};return _0x45d6();}import{spawn}from'child_process';import _0x2be328 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';function _0x2dda(_0x38f59b,_0x315fc9){_0x38f59b=_0x38f59b-0x144;const _0x45d6a5=_0x45d6();let _0x2ddabd=_0x45d6a5[_0x38f59b];return _0x2ddabd;}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=_0x27a0a8(0x146);const bold=_0x3088a8=>'\x1b[1m'+_0x3088a8+'\x1b[0m';export function getPlaywrightVersion(){const _0x2af685=_0x27a0a8,_0x108c9e={'QwNWS':function(_0x4360e4,_0x4d0383){return _0x4360e4(_0x4d0383);}};try{const _0x46e20e=require[_0x2af685(0x1ab)]('playwright/package.json'),_0x2bc201=_0x108c9e[_0x2af685(0x1ac)](require,_0x46e20e);return _0x2bc201[_0x2af685(0x16a)];}catch{return null;}}export function installChromiumBinary(_0x1fa076,_0x35719=![]){const _0xf87fe4=_0x27a0a8,_0x1aaaf7={'kvXwS':'install','mfvPa':'--with-deps','lfcip':_0xf87fe4(0x188),'XFrKA':_0xf87fe4(0x1af),'pqgIw':'win32','MJwrI':'close'};return new Promise((_0x57fcdb,_0x568767)=>{const _0x208e4e=_0xf87fe4,_0x43f2fb={'UBXPg':function(_0x1e5cba,_0x5c1b2a){return _0x1e5cba(_0x5c1b2a);}},_0x51d927=['playwright@'+_0x1fa076,_0x1aaaf7['kvXwS'],..._0x35719?[_0x1aaaf7[_0x208e4e(0x185)]]:[],_0x1aaaf7['lfcip']],_0x48bc27=spawn(_0x208e4e(0x14a),_0x51d927,{'stdio':[_0x208e4e(0x14e),_0x1aaaf7['XFrKA'],_0x1aaaf7['XFrKA']],'shell':process[_0x208e4e(0x149)]===_0x1aaaf7['pqgIw']});_0x48bc27['on'](_0x1aaaf7[_0x208e4e(0x1a6)],_0x22796d=>{_0x22796d===0x0?_0x57fcdb():_0x568767(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x22796d));}),_0x48bc27['on'](_0x208e4e(0x18b),_0x3bd401=>{const _0x331347=_0x208e4e;_0x43f2fb[_0x331347(0x158)](_0x568767,_0x3bd401);});});}export async function authenticate(_0x3b3c9f){const _0x27714c=_0x27a0a8,_0x58ea83={'vQZWE':function(_0x123ebb,_0x829f14){return _0x123ebb(_0x829f14);},'cwhyg':_0x27714c(0x17a),'GaLWC':function(_0x1b3a73){return _0x1b3a73();},'pIxUi':_0x27714c(0x1a3),'oMJvw':_0x27714c(0x1a7),'NYrGR':_0x27714c(0x1a2)};if(!_0x3b3c9f){const _0x5971fb=await getToken();if(_0x5971fb){const _0x4b7690=await _0x58ea83['vQZWE'](getCurrentUser,_0x5971fb);if(_0x4b7690['success'])return console[_0x27714c(0x157)]('✓\x20Already\x20authenticated\x20to\x20'+_0x4b7690[_0x27714c(0x1ad)][_0x27714c(0x15e)]),{'token':_0x5971fb,'method':_0x58ea83['cwhyg']};}try{_0x3b3c9f=await _0x58ea83[_0x27714c(0x183)](runDeviceAuthFlow);}catch(_0x178b96){throw new Error('Authentication\x20failed:\x20'+(_0x178b96 instanceof Error?_0x178b96['message']:_0x178b96));}const _0x3ec634=await _0x58ea83['vQZWE'](getCurrentUser,_0x3b3c9f);if(!_0x3ec634['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x3ec634[_0x27714c(0x18b)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0x3ec634[_0x27714c(0x1ad)]['organizationName']),{'token':_0x3b3c9f,'method':'device_auth'};}console[_0x27714c(0x157)](_0x58ea83[_0x27714c(0x14d)]);const _0x3e7cc4=await _0x58ea83[_0x27714c(0x15b)](getCurrentUser,_0x3b3c9f);if(!_0x3e7cc4['success']){if(_0x3e7cc4['status'])throw new Error(_0x27714c(0x161)+_0x3e7cc4['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x27714c(0x163)+_0x3e7cc4[_0x27714c(0x18b)]+_0x27714c(0x144));}return console['log'](_0x27714c(0x1a5)+_0x3e7cc4['user'][_0x27714c(0x15e)]),await storeToken(_0x3b3c9f),console['log'](process[_0x27714c(0x178)]['GITHUB_ENV']?_0x58ea83[_0x27714c(0x172)]:_0x58ea83[_0x27714c(0x193)]),{'token':_0x3b3c9f,'method':_0x27714c(0x1a4)};}export async function ensureRangerDir(_0x18220a){const _0x51faab=_0x27a0a8,_0x36d6c3={'MLIIQ':function(_0x28fe6b){return _0x28fe6b();},'KoBhJ':function(_0x2ee799,_0x5c0369){return _0x2ee799(_0x5c0369);},'RDStW':function(_0x44f8ba,_0x33cf4c,_0x2c259a){return _0x44f8ba(_0x33cf4c,_0x2c259a);},'KrMEB':_0x51faab(0x16f)};void _0x18220a;const _0x2ed2dd=_0x36d6c3['MLIIQ'](getRangerHomeDir);return!_0x36d6c3[_0x51faab(0x18e)](existsSync,_0x2ed2dd)?(await _0x36d6c3['RDStW'](mkdir,_0x2ed2dd,{'recursive':!![]}),console[_0x51faab(0x157)](_0x36d6c3[_0x51faab(0x14c)]),{'path':_0x2ed2dd,'installed':!![]}):(console['log'](_0x51faab(0x169)),{'path':_0x2ed2dd,'installed':![]});}export async function ensureChromium(_0x81002b=![]){const _0x5e6c24=_0x27a0a8,_0x52ce12={'HqMDD':'install','sIpqv':_0x5e6c24(0x1b4),'uGOVb':function(_0xb19e51,_0x2563de,_0x326ad9){return _0xb19e51(_0x2563de,_0x326ad9);},'vuSdi':_0x5e6c24(0x18f),'yKEzC':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','KnbwA':function(_0x33bd34,_0x3737dc){return _0x33bd34 instanceof _0x3737dc;},'OyUfZ':_0x5e6c24(0x187)};let _0x2bb7fb=![];try{const _0x5c9c78=chromium[_0x5e6c24(0x156)]();_0x2bb7fb=existsSync(_0x5c9c78);}catch{_0x2bb7fb=![];}if(_0x2bb7fb)return console[_0x5e6c24(0x157)]('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x191bd4=getPlaywrightVersion(),_0x10cb17=_0x191bd4??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x4deff3=!_0x191bd4,_0x5e255b=process[_0x5e6c24(0x181)][_0x5e6c24(0x151)]&&process[_0x5e6c24(0x1a8)][_0x5e6c24(0x151)];let _0x468e8e=!![];if(_0x5e255b){const {install:_0x51fda4}=await _0x2be328['prompt']([{'type':'confirm','name':_0x52ce12[_0x5e6c24(0x189)],'message':_0x4deff3?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x10cb17+'\x20now?':'The\x20required\x20version\x20('+_0x10cb17+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x468e8e=_0x51fda4;}else console['log'](_0x5e6c24(0x15d)+_0x10cb17+(_0x4deff3?'\x20(fallback\x20version)':'')+_0x5e6c24(0x153));if(_0x468e8e){console[_0x5e6c24(0x157)](_0x52ce12['sIpqv']);try{await _0x52ce12[_0x5e6c24(0x168)](installChromiumBinary,_0x10cb17,_0x81002b),console['log'](_0x52ce12['vuSdi']);}catch(_0x1effc9){console['error'](_0x52ce12['yKEzC'],_0x52ce12['KnbwA'](_0x1effc9,Error)?_0x1effc9[_0x5e6c24(0x1b1)]:_0x1effc9),console['log'](_0x5e6c24(0x14b)),console['log'](_0x5e6c24(0x18a)+_0x10cb17+_0x5e6c24(0x171));}}else console[_0x5e6c24(0x157)](_0x52ce12[_0x5e6c24(0x18c)]),console[_0x5e6c24(0x157)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log'](_0x5e6c24(0x18a)+_0x10cb17+_0x5e6c24(0x171));return!![];}export async function writeRangerGitignore(_0x4bcd44){const _0x3b7410=join(_0x4bcd44,'.gitignore'),_0x59a40b='\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(_0x3b7410,_0x59a40b),console['log']('✓\x20Created\x20.ranger/.gitignore');}export async function ensureLocalEnv(_0x383c47,_0x328d5b){const _0x351271=_0x27a0a8,_0x17105e={'zIwOB':function(_0x4b5858){return _0x4b5858();},'zacvJ':function(_0x2d105d,_0x11d24c){return _0x2d105d!==_0x11d24c;},'gDozq':'⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','PPMvh':function(_0x27618c,_0x553b81){return _0x27618c===_0x553b81;},'hBURy':'user','gGeEx':'✓\x20Local\x20profile\x20already\x20exists','HckVO':function(_0x4f4c90,_0x4109ad,_0x2c8afe,_0x569987){return _0x4f4c90(_0x4109ad,_0x2c8afe,_0x569987);},'lRKDG':'\x0a❌\x20Profile\x20setup\x20failed:'};if(!_0x17105e[_0x351271(0x1aa)](findGitRoot)&&_0x17105e['zacvJ'](_0x383c47?.[_0x351271(0x152)],_0x351271(0x1ad)))return console['log'](_0x17105e['gDozq']),{'ready':![],'skipped':!![]};const _0x16f287=_0x17105e[_0x351271(0x19c)](_0x383c47?.['scope'],_0x17105e['hBURy'])?_0x17105e['zIwOB'](getRangerHomeDir):undefined;if(findExistingEnv(_0x351271(0x148),{'locations':['local'],'rangerDir':_0x16f287}))return console['log'](_0x17105e['gGeEx']),{'ready':!![],'skipped':![]};try{return await _0x17105e[_0x351271(0x182)](addEnv,_0x351271(0x148),{'url':_0x383c47?.[_0x351271(0x184)],'force':_0x383c47?.[_0x351271(0x18d)],'allowInsecureLocalhost':_0x383c47?.[_0x351271(0x165)],'scope':_0x383c47?.['scope']},_0x328d5b),{'ready':!![],'skipped':![]};}catch(_0x162125){return console[_0x351271(0x18b)](_0x17105e['lRKDG'],_0x162125 instanceof Error?_0x162125[_0x351271(0x1b1)]:_0x162125),{'ready':![],'skipped':![]};}}export async function start(_0x323d2d,_0x14e234,_0x29d63d){const _0x34bc97=_0x27a0a8,_0x4f7700={'KJhzc':_0x34bc97(0x17f),'qqnbT':function(_0xedf07d,_0x46077f){return _0xedf07d!==_0x46077f;},'NIToc':function(_0x1c23b8,_0x4bebcd){return _0x1c23b8+_0x4bebcd;},'gUzgN':function(_0x3e99f9,_0x5d7ac3){return _0x3e99f9+_0x5d7ac3;},'cMmPu':function(_0xa88942,_0x248d92){return _0xa88942(_0x248d92);},'aVmmt':'user','BzogY':function(_0x20bc84,_0x17586a){return _0x20bc84(_0x17586a);},'sAfoF':_0x34bc97(0x199),'YvhwC':_0x34bc97(0x177),'NMEwj':_0x34bc97(0x188),'CQcIZ':_0x34bc97(0x145),'SXezM':_0x34bc97(0x194),'teYYV':function(_0x2680bd,_0x1cdc2d){return _0x2680bd&&_0x1cdc2d;},'uMnuI':function(_0x5cbb56,_0x337911,_0x130857){return _0x5cbb56(_0x337911,_0x130857);},'FtfKO':'ranger','xnuyr':'opencode','muGyC':'skills','ZLUic':function(_0x23f754,_0x44292a){return _0x23f754(_0x44292a);},'hOfbB':_0x34bc97(0x16b),'xTXCZ':'profile','TWsqr':function(_0x40a17f,_0x566807,_0x27962e){return _0x40a17f(_0x566807,_0x27962e);},'NVUQR':'ranger\x20profile\x20add\x20<name>','HWOZF':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','KcUhy':_0x34bc97(0x197),'yugzn':function(_0x498175,_0x2b2afb){return _0x498175+_0x2b2afb;}};console[_0x34bc97(0x157)](_0x4f7700['KJhzc']);_0x14e234?.['scope']!==undefined&&_0x4f7700['qqnbT'](_0x14e234[_0x34bc97(0x152)],'user')&&(console[_0x34bc97(0x18b)](_0x4f7700[_0x34bc97(0x16c)](_0x4f7700[_0x34bc97(0x191)]('ranger\x20setup\x20--scope='+_0x4f7700[_0x34bc97(0x14f)](String,_0x14e234[_0x34bc97(0x152)])+_0x34bc97(0x190),_0x34bc97(0x179)),_0x34bc97(0x170))),process['exit'](0x1));_0x14e234={..._0x14e234,'scope':_0x4f7700[_0x34bc97(0x17c)]};const _0x2899d8=!_0x4f7700[_0x34bc97(0x147)](existsSync,getRangerHomeDir());await ensureRangerDir(_0x34bc97(0x1ad));if(_0x14e234?.[_0x34bc97(0x164)])console[_0x34bc97(0x157)](_0x4f7700['sAfoF']),_0x29d63d?.[_0x34bc97(0x198)](_0x4f7700['YvhwC'],{'isFirstRun':_0x2899d8,'method':_0x34bc97(0x186)});else{_0x29d63d?.['trackPhaseStart'](_0x4f7700[_0x34bc97(0x17d)]);const _0x5f00b6=await authenticate(_0x323d2d);_0x29d63d?.[_0x34bc97(0x198)]('auth',{'isFirstRun':_0x2899d8,'method':_0x5f00b6[_0x34bc97(0x159)]});}_0x29d63d?.['trackPhaseStart'](_0x4f7700[_0x34bc97(0x195)]);_0x14e234?.[_0x34bc97(0x17b)]?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await _0x4f7700[_0x34bc97(0x14f)](ensureChromium,_0x14e234?.[_0x34bc97(0x150)]);_0x29d63d?.['trackPhaseEnd'](_0x34bc97(0x188),{'isFirstRun':_0x2899d8,'skipped':!!_0x14e234?.['skipChromium']}),console['log'](_0x4f7700[_0x34bc97(0x155)]);const _0x2d3b91=_0x14e234?.[_0x34bc97(0x152)],_0x555245=_0x14e234?.['opencode']??![];let _0x3ae0f4=null;_0x555245?(_0x29d63d?.['trackPhaseStart'](_0x4f7700['SXezM']),_0x3ae0f4=await ensureOpencodePluginConfig(_0x2d3b91),_0x29d63d?.['trackPhaseEnd'](_0x4f7700[_0x34bc97(0x1b0)],{'isFirstRun':_0x2899d8,'opencode':!![]})):(_0x29d63d?.['trackPhaseStart'](_0x4f7700['SXezM']),await ensureClaudePlugin(_0x2d3b91),_0x29d63d?.['trackPhaseEnd'](_0x4f7700['SXezM'],{'isFirstRun':_0x2899d8}));if(_0x4f7700[_0x34bc97(0x1a0)](_0x555245,_0x3ae0f4)){_0x29d63d?.[_0x34bc97(0x19d)]('skills');try{await _0x4f7700['uMnuI'](installSkill,_0x4f7700[_0x34bc97(0x16d)],{'level':_0x3ae0f4[_0x34bc97(0x152)],'cliVersion':getCurrentVersion(),'platform':_0x4f7700[_0x34bc97(0x166)]}),_0x29d63d?.['trackPhaseEnd'](_0x34bc97(0x15c),{'isFirstRun':_0x2899d8,'opencode':!![]});}catch(_0x54010c){console['warn'](_0x34bc97(0x19f),_0x54010c instanceof Error?_0x54010c['message']:_0x54010c),_0x29d63d?.[_0x34bc97(0x198)](_0x4f7700[_0x34bc97(0x174)],{'isFirstRun':_0x2899d8,'opencode':!![],'failed':!![]});}}else _0x29d63d?.[_0x34bc97(0x19d)](_0x4f7700['muGyC']),await _0x4f7700[_0x34bc97(0x176)](ensureClaudeSkills,_0x2d3b91),_0x29d63d?.['trackPhaseEnd']('skills',{'isFirstRun':_0x2899d8});if(_0x14e234?.[_0x34bc97(0x164)])console['log'](_0x4f7700[_0x34bc97(0x196)]);else{if(_0x14e234?.['url']){_0x29d63d?.['trackPhaseStart'](_0x4f7700[_0x34bc97(0x15a)]);const _0x1ca9fa=await _0x4f7700[_0x34bc97(0x180)](ensureLocalEnv,{'url':_0x14e234[_0x34bc97(0x184)],'force':_0x14e234?.[_0x34bc97(0x18d)],'allowInsecureLocalhost':_0x14e234?.['allowInsecureLocalhost'],'scope':'user'},_0x29d63d);_0x29d63d?.['trackPhaseEnd'](_0x4f7700[_0x34bc97(0x15a)],{'isFirstRun':_0x2899d8,'profileReady':_0x1ca9fa[_0x34bc97(0x173)],'userSkipped':_0x1ca9fa['skipped']});}else console[_0x34bc97(0x157)](_0x4f7700['NIToc'](_0x4f7700['NIToc']('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','\x0a\x20\x20'+_0x4f7700[_0x34bc97(0x14f)](bold,_0x4f7700['NVUQR']))+_0x34bc97(0x16e)+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles'));}if(_0x555245)console[_0x34bc97(0x157)](_0x4f7700['HWOZF']),console[_0x34bc97(0x157)](_0x34bc97(0x175)),console['log'](_0x34bc97(0x162)),console[_0x34bc97(0x157)](_0x4f7700[_0x34bc97(0x154)]);else{const _0x3392d9=bold(_0x34bc97(0x192));console['log'](_0x4f7700['yugzn'](_0x4f7700[_0x34bc97(0x191)](_0x4f7700['yugzn'](_0x34bc97(0x1a9)+_0x3392d9+_0x34bc97(0x167),_0x34bc97(0x1b5)),_0x34bc97(0x1b2)),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
@@ -1 +1 @@
1
- const _0x215774=_0x7e1a;(function(_0x517f4b,_0x113be6){const _0x2dd760=_0x7e1a,_0x3d6818=_0x517f4b();while(!![]){try{const _0xe7b9ca=parseInt(_0x2dd760(0x1ad))/0x1*(parseInt(_0x2dd760(0x1e2))/0x2)+parseInt(_0x2dd760(0x190))/0x3*(-parseInt(_0x2dd760(0x1bf))/0x4)+parseInt(_0x2dd760(0x1a7))/0x5*(parseInt(_0x2dd760(0x1b2))/0x6)+parseInt(_0x2dd760(0x1d7))/0x7+-parseInt(_0x2dd760(0x18c))/0x8+-parseInt(_0x2dd760(0x19a))/0x9+parseInt(_0x2dd760(0x193))/0xa;if(_0xe7b9ca===_0x113be6)break;else _0x3d6818['push'](_0x3d6818['shift']());}catch(_0x4c135a){_0x3d6818['push'](_0x3d6818['shift']());}}}(_0x2e25,0x59801));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';function _0x2e25(){const _0x182594=['\x20(up\x20to\x20date)','@ranger-testing/opencode-plugin','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','path','auth.json.enc','WagHU','all','none','3598064XHdQOW','settingsPath','includes','wKtVY','1943295tAzLFQ','isDirectory','length','10990910nFeZXF','project','displayName','JEyhb','AAuze','\x0a---\x20Claude\x20Code\x20Plugin\x20---','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','4328154TmbKUn','SLeXd','\x20(latest:\x20','SKILL.md','map','API\x20URL:\x20','rOhEw','disabled','utTEt','configured','\x20\x20Not\x20installed','No\x20profiles\x20configured','\x20\x20\x20\x20Auth:\x20','10SOsPvg','snCux','trim','success','ignore','user','54046PgIfvl','lPBAc','name','Ftrvt','QOizZ','1125870JGCtyk','abIMR','yHYmy','XXENF',':\x20configured','ErTfx','HIStb','cwd','CTWyo','status','jFjeC','\x20\x20\x20\x20','lSDSk','4IfzIvL','isArray','hJJmP','filter','Logch','not_configured','data','pAggS','API\x20Environment:\x20','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','XzJvX','oQvph','match','details','SqPYN','\x0a---\x20OpenCode\x20Plugin\x20---','plugin','version','\x0a\x20\x20No\x20active\x20profile\x20set','\x1b]8;;\x07','jbQrO','LuPgh','error','ZGLQT','267911CTWxPa','VbxtT','enabled','\x20\x20Run:\x20ranger\x20skillup','SARDW','\x20\x20Run:\x20ranger\x20update','toString','eJzsy','\x20\x20\x20\x20Settings:\x20','log','djPUl','16yBOuNy','opencode','(not\x20found)','auth.json','env','jDYKH'];_0x2e25=function(){return _0x182594;};return _0x2e25();}import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';function _0x7e1a(_0x309a04,_0x275688){_0x309a04=_0x309a04-0x187;const _0x2e2594=_0x2e25();let _0x7e1acc=_0x2e2594[_0x309a04];return _0x7e1acc;}import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x474cc1=>'\x1b[1m'+_0x474cc1+'\x1b[0m',link=(_0x2493f7,_0x333a8f)=>'\x1b]8;;file://'+_0x2493f7+'\x07'+(_0x333a8f||_0x2493f7)+_0x215774(0x1d2);async function getOpencodePluginStatus(){const _0x390cfd=_0x215774,_0xf2b903={'lYhox':function(_0x4f036a,_0x106d79){return _0x4f036a!==_0x106d79;},'WagHU':'not_installed','PHlLF':_0x390cfd(0x1c4),'JEyhb':'debug','xhAvW':_0x390cfd(0x1ab),'jDYKH':'pipe','QOizZ':'data','SLeXd':_0x390cfd(0x1d5),'yHYmy':'close'};return new Promise(_0x628f6a=>{const _0x307eaf=_0x390cfd,_0x463815={'wKtVY':_0xf2b903['WagHU']},_0x32a669=spawn(_0x307eaf(0x1e3),[_0xf2b903[_0x307eaf(0x196)],'config'],{'stdio':[_0xf2b903['xhAvW'],_0xf2b903[_0x307eaf(0x1e7)],_0xf2b903[_0x307eaf(0x1e7)]]});let _0x11d4ae='';_0x32a669['stdout']?.['on'](_0xf2b903[_0x307eaf(0x1b1)],_0x22dabc=>{_0x11d4ae+=_0x22dabc['toString']();}),_0x32a669['stderr']?.['on'](_0x307eaf(0x1c5),_0x2a25f7=>{const _0x549371=_0x307eaf;_0x11d4ae+=_0x2a25f7[_0x549371(0x1dd)]();}),_0x32a669['on'](_0xf2b903[_0x307eaf(0x19b)],()=>{const _0x291c35=_0x307eaf;_0x628f6a({'status':_0x463815[_0x291c35(0x18f)]});}),_0x32a669['on'](_0xf2b903[_0x307eaf(0x1b4)],_0x959b89=>{const _0x18a1f3=_0x307eaf,_0x5e5b72={'RjvVG':function(_0x19dd0d,_0x4980cf){return _0xf2b903['lYhox'](_0x19dd0d,_0x4980cf);},'SARDW':'string','hJJmP':'opencode-plugin'};if(_0xf2b903['lYhox'](_0x959b89,0x0)){_0x628f6a({'status':_0xf2b903[_0x18a1f3(0x189)]});return;}const _0x486286=_0x11d4ae[_0x18a1f3(0x1a9)]();let _0x47af4c=null;if(_0x486286)try{_0x47af4c=JSON['parse'](_0x486286);}catch{const _0x1db16d=_0x486286[_0x18a1f3(0x1cb)](/\{[\s\S]*\}$/);if(_0x1db16d)try{_0x47af4c=JSON['parse'](_0x1db16d[0x0]);}catch{_0x47af4c=null;}}const _0x31ff91=Array[_0x18a1f3(0x1c0)](_0x47af4c?.[_0x18a1f3(0x1cf)])?_0x47af4c?.[_0x18a1f3(0x1cf)]:[],_0xb11062=_0x31ff91['some'](_0x190a54=>{const _0x2cce07=_0x18a1f3;if(_0x5e5b72['RjvVG'](typeof _0x190a54,_0x5e5b72[_0x2cce07(0x1db)]))return![];return _0x190a54[_0x2cce07(0x18e)](_0x2cce07(0x1e9))||_0x190a54['includes'](_0x5e5b72[_0x2cce07(0x1c1)]);});if(_0xb11062){_0x628f6a({'status':_0x18a1f3(0x1a3),'details':_0x31ff91['length']>0x0?_0x31ff91['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x31ff91[_0x18a1f3(0x192)]>0x0){_0x628f6a({'status':_0xf2b903['PHlLF'],'details':_0x31ff91[_0x18a1f3(0x192)]+'\x20plugin(s)\x20configured'});return;}_0x628f6a({'status':'not_configured'});});});}async function getSkillsFromDir(_0x4a6272,_0x2d14b8){const _0x6bbbe5=_0x215774,_0xd9a730={'PHESj':function(_0x132bd0,_0x2a5854){return _0x132bd0(_0x2a5854);},'kASqD':_0x6bbbe5(0x19d),'LuPgh':function(_0x34b74d,_0x59767d,_0x5e2702){return _0x34b74d(_0x59767d,_0x5e2702);},'rOhEw':'utf-8'};if(!_0xd9a730['PHESj'](existsSync,_0x4a6272))return[];const _0x2ebd6f=[];try{const _0x54728f=await readdir(_0x4a6272,{'withFileTypes':!![]});for(const _0x5bffca of _0x54728f){if(_0x5bffca[_0x6bbbe5(0x191)]()){const _0x51bf60=join(_0x4a6272,_0x5bffca['name'],_0xd9a730['kASqD']);if(_0xd9a730['PHESj'](existsSync,_0x51bf60)){let _0x56e99b=_0x5bffca['name'];try{const _0x4ec51a=await _0xd9a730[_0x6bbbe5(0x1d4)](readFile,_0x51bf60,_0xd9a730[_0x6bbbe5(0x1a0)]),_0x478f4d=_0x4ec51a[_0x6bbbe5(0x1cb)](/name:\s*(.+)/);_0x478f4d&&(_0x56e99b=_0x478f4d[0x1]['trim']());}catch{}_0x2ebd6f['push']({'name':_0x5bffca['name'],'displayName':_0x56e99b,'path':_0x51bf60,'level':_0x2d14b8});}}}}catch{return[];}return _0x2ebd6f;}async function getInstalledSkills(){const _0xca6b96=_0x215774,_0x151df8={'XWRQS':function(_0x4d2426,_0x1725c1,_0x293e75){return _0x4d2426(_0x1725c1,_0x293e75);},'izBmr':function(_0x60d87e){return _0x60d87e();},'cbKAS':function(_0x49c2fb){return _0x49c2fb();},'HIStb':'user'},[_0x35c327,_0x4c25fd]=await Promise[_0xca6b96(0x18a)]([_0x151df8['XWRQS'](getSkillsFromDir,_0x151df8['izBmr'](getProjectSkillsDir),_0xca6b96(0x194)),_0x151df8['XWRQS'](getSkillsFromDir,_0x151df8['cbKAS'](getUserSkillsDir),_0x151df8[_0xca6b96(0x1b8)])]);return{'project':_0x35c327,'user':_0x4c25fd};}async function getEnvironments(){const _0xf99a58=_0x215774,_0x4f7cc2={'AAuze':function(_0x31891e,_0xce74ad,_0x257cc1){return _0x31891e(_0xce74ad,_0x257cc1);},'XzJvX':function(_0x4410b7,_0x6c403e){return _0x4410b7(_0x6c403e);},'Ftrvt':_0xf99a58(0x1e4),'BQarH':function(_0xa3f334,_0x116b7f){return _0xa3f334(_0x116b7f);},'wjxxH':function(_0xab00bc,_0x2c5c07){return _0xab00bc===_0x2c5c07;},'lPBAc':function(_0x5bed34){return _0x5bed34();}},{envNames:_0x1695da,activeEnv:_0x293a76}=await _0x4f7cc2['lPBAc'](getEnvNames),_0x22f679=_0x4f7cc2[_0xf99a58(0x1ae)](getRangerDir);if(!_0x4f7cc2['XzJvX'](existsSync,_0x22f679))return{'envs':[],'activeEnv':null};const _0x53fdc1=_0x1695da[_0xf99a58(0x19e)](_0x276cf9=>{const _0x2e53cd=_0xf99a58,_0x4cdf74=getEnvDir(_0x276cf9),_0x22d4af=join(_0x4cdf74,'settings.json'),_0x447bfd=_0x4f7cc2[_0x2e53cd(0x197)](join,_0x4cdf74,_0x2e53cd(0x1e5)),_0x3c6ece=join(_0x4cdf74,_0x2e53cd(0x188));return{'name':_0x276cf9,'settingsPath':_0x4f7cc2[_0x2e53cd(0x1c9)](existsSync,_0x22d4af)?_0x22d4af:_0x4f7cc2[_0x2e53cd(0x1b0)],'hasPlaintextAuth':existsSync(_0x447bfd),'hasEncryptedAuth':_0x4f7cc2['BQarH'](existsSync,_0x3c6ece),'isActive':_0x4f7cc2['wjxxH'](_0x276cf9,_0x293a76)};});return{'envs':_0x53fdc1,'activeEnv':_0x293a76};}export async function status(){const _0x3d39e3=_0x215774,_0x286b86={'lIihg':'\x0a📊\x20Ranger\x20Status\x0a','fvmyq':function(_0x3e077e){return _0x3e077e();},'abIMR':function(_0x2ea44b,_0x3d2c07){return _0x2ea44b(_0x3d2c07);},'Logch':function(_0x5a463e,_0x4bc890){return _0x5a463e!==_0x4bc890;},'CTWyo':function(_0x5cf6f3,_0x92bd50){return _0x5cf6f3(_0x92bd50);},'ZGLQT':function(_0x26aff7){return _0x26aff7();},'SqPYN':function(_0x34f6be,_0x2ff73e){return _0x34f6be===_0x2ff73e;},'sjZqN':function(_0x44b968,_0x65b072){return _0x44b968===_0x65b072;},'djPUl':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','snCux':'ranger@trailhead','BzKvV':function(_0x17fa86,_0x1a6904){return _0x17fa86(_0x1a6904);},'jbQrO':'\x0a---\x20Skills\x20---','pAggS':function(_0x368f50,_0x4951c7){return _0x368f50+_0x4951c7;},'ptOvp':function(_0x3f6946,_0x483001){return _0x3f6946===_0x483001;},'ErTfx':function(_0xcda6a6,_0x4be28a){return _0xcda6a6>_0x4be28a;},'XXENF':function(_0x2bf928,_0x37f15b,_0x2e37fd){return _0x2bf928(_0x37f15b,_0x2e37fd);},'utTEt':function(_0x5e3a4f,_0x491535){return _0x5e3a4f(_0x491535);},'AHcHf':'\x20\x20User-level:','oDfqF':function(_0xbcac99,_0x20f1b1){return _0xbcac99(_0x20f1b1);},'czUSZ':'\x0a---\x20Profiles\x20---','VbxtT':function(_0x178ce8){return _0x178ce8();},'oQvph':function(_0x89a35d,_0x702585){return _0x89a35d===_0x702585;},'jFjeC':'\x20(active)','eJzsy':'plaintext','lSDSk':function(_0x5b85fe,_0x3a5596,_0x34d51c){return _0x5b85fe(_0x3a5596,_0x34d51c);}};console['log'](_0x286b86['lIihg']);const _0x4aa727=process[_0x3d39e3(0x1b9)](),_0x4ecea2=_0x286b86['fvmyq'](getRangerDir);if(!existsSync(_0x4ecea2)){console[_0x3d39e3(0x1e0)]('Root:\x20'+link(_0x4aa727,_0x286b86[_0x3d39e3(0x1b3)](bold,basename(_0x4aa727)))),console['log'](_0x3d39e3(0x199)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x3d39e3(0x1e0)]('Root:\x20'+link(_0x4aa727,bold(basename(_0x4aa727))));const _0x33c2ad=getCurrentVersion(),_0x580a34=getLatestVersion();if(_0x580a34[_0x3d39e3(0x1d0)]&&_0x286b86[_0x3d39e3(0x1c3)](_0x580a34[_0x3d39e3(0x1d0)],_0x33c2ad))console['log']('Version:\x20'+_0x33c2ad+_0x3d39e3(0x19c)+_0x580a34[_0x3d39e3(0x1d0)]+')'),console['log'](_0x3d39e3(0x1dc));else _0x580a34['version']?console['log']('Version:\x20'+_0x33c2ad+_0x3d39e3(0x1e8)):console['log']('Version:\x20'+_0x33c2ad);const _0x31bb1c=await getToken();if(_0x31bb1c){const _0x15f250=await _0x286b86['CTWyo'](getCurrentUser,_0x31bb1c);_0x15f250[_0x3d39e3(0x1aa)]?console['log']('Organization:\x20'+bold(_0x15f250[_0x3d39e3(0x1ac)]['organizationName'])):(console[_0x3d39e3(0x1e0)](_0x3d39e3(0x1ea)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x3d39e3(0x1e0)]('API\x20Token:\x20✗\x20Not\x20found'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x3d39e3(0x1e6)]['DEBUG']&&(console[_0x3d39e3(0x1e0)](_0x3d39e3(0x1c7)+getCurrentEnvironment()),console['log'](_0x3d39e3(0x19f)+_0x286b86[_0x3d39e3(0x1d6)](getApiBaseUrl)));console['log'](_0x3d39e3(0x1ce));const _0x2ba633=await getOpencodePluginStatus();if(_0x286b86[_0x3d39e3(0x1cd)](_0x2ba633['status'],_0x3d39e3(0x1a3)))console[_0x3d39e3(0x1e0)]('\x20\x20'+_0x286b86[_0x3d39e3(0x1b3)](bold,_0x3d39e3(0x1e9))+_0x3d39e3(0x1b6)),_0x2ba633[_0x3d39e3(0x1cc)]&&console[_0x3d39e3(0x1e0)]('\x20\x20'+_0x2ba633[_0x3d39e3(0x1cc)]);else _0x286b86['sjZqN'](_0x2ba633[_0x3d39e3(0x1bb)],'not_configured')?(console[_0x3d39e3(0x1e0)]('\x20\x20Not\x20configured'),_0x2ba633[_0x3d39e3(0x1cc)]&&console['log']('\x20\x20'+_0x2ba633[_0x3d39e3(0x1cc)]),console[_0x3d39e3(0x1e0)]('\x20\x20Run:\x20ranger\x20setup\x20--opencode')):console['log'](_0x286b86[_0x3d39e3(0x1e1)]);console['log'](_0x3d39e3(0x198));const _0x51d42a=await getPluginInfo(_0x286b86[_0x3d39e3(0x1a8)]);if(_0x51d42a){const _0x15f78b=_0x51d42a['scope']||'unknown',_0x468a0f=_0x51d42a[_0x3d39e3(0x1d9)]?'enabled':_0x3d39e3(0x1a1);console['log']('\x20\x20'+_0x286b86['BzKvV'](bold,_0x286b86[_0x3d39e3(0x1a8)])+':\x20installed\x20('+_0x15f78b+',\x20'+_0x468a0f+')');}else console['log'](_0x3d39e3(0x1a4)),console['log'](_0x3d39e3(0x1c8));console[_0x3d39e3(0x1e0)](_0x286b86[_0x3d39e3(0x1d3)]);const {project:_0x2d18ab,user:_0x3ec9dc}=await _0x286b86['ZGLQT'](getInstalledSkills),_0x2885d3=_0x2d18ab['filter'](_0xd582cc=>RANGER_MANAGED_SKILLS[_0x3d39e3(0x18e)](_0xd582cc[_0x3d39e3(0x1af)])),_0x4d0ba4=_0x3ec9dc[_0x3d39e3(0x1c2)](_0x43e72e=>RANGER_MANAGED_SKILLS[_0x3d39e3(0x18e)](_0x43e72e[_0x3d39e3(0x1af)])),_0x19467b=_0x286b86[_0x3d39e3(0x1c6)](_0x2885d3['length'],_0x4d0ba4[_0x3d39e3(0x192)]);if(_0x286b86['ptOvp'](_0x19467b,0x0))console['log']('No\x20skills\x20installed'),console['log'](_0x3d39e3(0x1da));else{if(_0x286b86[_0x3d39e3(0x1b7)](_0x2885d3['length'],0x0)){console['log']('\x20\x20Project-level:');for(const _0x18f445 of _0x2885d3){console['log'](_0x3d39e3(0x1bd)+bold(_0x18f445[_0x3d39e3(0x195)])+':\x20'+_0x286b86[_0x3d39e3(0x1b5)](link,_0x18f445['path'],_0x286b86[_0x3d39e3(0x1a2)](basename,_0x18f445[_0x3d39e3(0x187)])));}}if(_0x286b86['ErTfx'](_0x4d0ba4[_0x3d39e3(0x192)],0x0)){console[_0x3d39e3(0x1e0)](_0x286b86['AHcHf']);for(const _0x3e5cf8 of _0x4d0ba4){console['log']('\x20\x20\x20\x20'+bold(_0x3e5cf8['displayName'])+':\x20'+link(_0x3e5cf8['path'],_0x286b86['oDfqF'](basename,_0x3e5cf8['path'])));}}}console[_0x3d39e3(0x1e0)](_0x286b86['czUSZ']);const {envs:_0x207f1a,activeEnv:_0x1db308}=await _0x286b86[_0x3d39e3(0x1d8)](getEnvironments);if(_0x286b86[_0x3d39e3(0x1ca)](_0x207f1a[_0x3d39e3(0x192)],0x0))console[_0x3d39e3(0x1e0)](_0x3d39e3(0x1a5)),console[_0x3d39e3(0x1e0)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x5c97c5 of _0x207f1a){const _0x3ff6c7=_0x5c97c5['isActive']?_0x286b86[_0x3d39e3(0x1bc)]:'',_0x581feb=_0x5c97c5['hasEncryptedAuth']?'encrypted':_0x5c97c5['hasPlaintextAuth']?_0x286b86[_0x3d39e3(0x1de)]:_0x3d39e3(0x18b);console[_0x3d39e3(0x1e0)]('\x20\x20'+_0x286b86[_0x3d39e3(0x1a2)](bold,_0x5c97c5[_0x3d39e3(0x1af)])+_0x3ff6c7),console['log'](_0x3d39e3(0x1a6)+_0x581feb),_0x5c97c5['settingsPath']!=='(not\x20found)'&&console[_0x3d39e3(0x1e0)](_0x3d39e3(0x1df)+_0x286b86[_0x3d39e3(0x1be)](link,_0x5c97c5[_0x3d39e3(0x18d)],_0x286b86[_0x3d39e3(0x1ba)](basename,_0x5c97c5[_0x3d39e3(0x18d)])));}!_0x1db308&&(console['log'](_0x3d39e3(0x1d1)),console[_0x3d39e3(0x1e0)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x207f1a['map'](_0x150ffa=>_0x150ffa['name'])['join'](',\x20')+')'));}console['log']('');}
1
+ (function(_0x3dc174,_0x24727e){const _0x330c17=_0x441b,_0x45f26f=_0x3dc174();while(!![]){try{const _0x507e79=parseInt(_0x330c17(0x1c1))/0x1*(parseInt(_0x330c17(0x1f1))/0x2)+-parseInt(_0x330c17(0x19f))/0x3*(parseInt(_0x330c17(0x19e))/0x4)+parseInt(_0x330c17(0x1a0))/0x5*(parseInt(_0x330c17(0x1af))/0x6)+parseInt(_0x330c17(0x1c0))/0x7+-parseInt(_0x330c17(0x1a2))/0x8*(-parseInt(_0x330c17(0x1a3))/0x9)+-parseInt(_0x330c17(0x1bc))/0xa*(-parseInt(_0x330c17(0x1ed))/0xb)+parseInt(_0x330c17(0x1d2))/0xc*(-parseInt(_0x330c17(0x1d5))/0xd);if(_0x507e79===_0x24727e)break;else _0x45f26f['push'](_0x45f26f['shift']());}catch(_0x9d12d3){_0x45f26f['push'](_0x45f26f['shift']());}}}(_0x2f6d,0xa6898));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';function _0x441b(_0x58f4bb,_0x19906e){_0x58f4bb=_0x58f4bb-0x199;const _0x2f6d93=_0x2f6d();let _0x441bf7=_0x2f6d93[_0x58f4bb];return _0x441bf7;}import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x318c92=>'\x1b[1m'+_0x318c92+'\x1b[0m',link=(_0xe82d4,_0x3249e0)=>'\x1b]8;;file://'+_0xe82d4+'\x07'+(_0x3249e0||_0xe82d4)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x39d6ba=_0x441b,_0x4ebf96={'RtWzM':_0x39d6ba(0x1cd),'gqRRO':function(_0x5822ca,_0xa23b0b){return _0x5822ca!==_0xa23b0b;},'xOqNf':_0x39d6ba(0x1e6),'qLoGR':function(_0x3558a7,_0x1bfece){return _0x3558a7>_0x1bfece;},'dhwmE':function(_0x39b0a6,_0x5c0847){return _0x39b0a6(_0x5c0847);},'dmWWJ':_0x39d6ba(0x1fd),'rMUVS':'opencode','gFhYr':'debug','fvKwM':_0x39d6ba(0x1cc),'WPgDA':_0x39d6ba(0x1d7),'fIlDv':_0x39d6ba(0x1f3),'GlLgs':'data','fMEYJ':'close'};return new Promise(_0xd6367e=>{const _0x2ba4c8=_0x39d6ba,_0x4cb8b3={'QvaqP':function(_0x4c085b,_0x90353e){const _0xe03347=_0x441b;return _0x4ebf96[_0xe03347(0x1d8)](_0x4c085b,_0x90353e);},'DKKkD':_0x4ebf96[_0x2ba4c8(0x1b9)]},_0x1e1f93=spawn(_0x4ebf96[_0x2ba4c8(0x1e1)],[_0x4ebf96[_0x2ba4c8(0x1e9)],_0x4ebf96['fvKwM']],{'stdio':[_0x4ebf96['WPgDA'],_0x4ebf96[_0x2ba4c8(0x1ad)],_0x4ebf96[_0x2ba4c8(0x1ad)]]});let _0x1eed92='';_0x1e1f93[_0x2ba4c8(0x1fa)]?.['on'](_0x4ebf96['GlLgs'],_0x20c0e9=>{_0x1eed92+=_0x20c0e9['toString']();}),_0x1e1f93['stderr']?.['on']('data',_0x4ac1a8=>{const _0x492d24=_0x2ba4c8;_0x1eed92+=_0x4ac1a8[_0x492d24(0x1c6)]();}),_0x1e1f93['on']('error',()=>{const _0x3bc207=_0x2ba4c8;_0x4cb8b3[_0x3bc207(0x1ee)](_0xd6367e,{'status':_0x4cb8b3['DKKkD']});}),_0x1e1f93['on'](_0x4ebf96[_0x2ba4c8(0x1c7)],_0x11e6be=>{const _0x31e955=_0x2ba4c8,_0x49d452={'QiJmm':_0x4ebf96[_0x31e955(0x1dd)]};if(_0x4ebf96[_0x31e955(0x1fb)](_0x11e6be,0x0)){_0xd6367e({'status':_0x4ebf96[_0x31e955(0x1b9)]});return;}const _0x249c49=_0x1eed92[_0x31e955(0x1a1)]();let _0x3f6a80=null;if(_0x249c49)try{_0x3f6a80=JSON['parse'](_0x249c49);}catch{const _0x2164bc=_0x249c49['match'](/\{[\s\S]*\}$/);if(_0x2164bc)try{_0x3f6a80=JSON[_0x31e955(0x1ba)](_0x2164bc[0x0]);}catch{_0x3f6a80=null;}}const _0x237773=Array['isArray'](_0x3f6a80?.['plugin'])?_0x3f6a80?.[_0x31e955(0x1ca)]:[],_0x658613=_0x237773[_0x31e955(0x1a7)](_0x2b7ddd=>{if(typeof _0x2b7ddd!=='string')return![];return _0x2b7ddd['includes']('@ranger-testing/opencode-plugin')||_0x2b7ddd['includes'](_0x49d452['QiJmm']);});if(_0x658613){_0xd6367e({'status':'configured','details':_0x237773['length']>0x0?_0x237773['length']+_0x31e955(0x1d9):undefined});return;}if(_0x4ebf96['qLoGR'](_0x237773[_0x31e955(0x1d1)],0x0)){_0x4ebf96['dhwmE'](_0xd6367e,{'status':_0x4ebf96[_0x31e955(0x1a4)],'details':_0x237773[_0x31e955(0x1d1)]+'\x20plugin(s)\x20configured'});return;}_0x4ebf96['dhwmE'](_0xd6367e,{'status':_0x31e955(0x1fd)});});});}async function getSkillsFromDir(_0x24d489,_0x3f9c2a){const _0x5c7466=_0x441b,_0x53eb81={'Qvuwj':function(_0x34ca0e,_0x39a8db,_0x1eb36b,_0x11cf49){return _0x34ca0e(_0x39a8db,_0x1eb36b,_0x11cf49);},'dzQPa':_0x5c7466(0x1b7),'KIqOp':function(_0x10d3e7,_0x5613ab){return _0x10d3e7(_0x5613ab);},'lxiSO':_0x5c7466(0x1fc)};if(!existsSync(_0x24d489))return[];const _0x4a4a70=[];try{const _0x325395=await readdir(_0x24d489,{'withFileTypes':!![]});for(const _0x37b186 of _0x325395){if(_0x37b186[_0x5c7466(0x19b)]()){const _0x16ff27=_0x53eb81['Qvuwj'](join,_0x24d489,_0x37b186[_0x5c7466(0x1e8)],_0x53eb81[_0x5c7466(0x1d0)]);if(_0x53eb81['KIqOp'](existsSync,_0x16ff27)){let _0x47dcc9=_0x37b186[_0x5c7466(0x1e8)];try{const _0x2a6352=await readFile(_0x16ff27,_0x53eb81[_0x5c7466(0x1f8)]),_0x2d4fa1=_0x2a6352['match'](/name:\s*(.+)/);_0x2d4fa1&&(_0x47dcc9=_0x2d4fa1[0x1]['trim']());}catch{}_0x4a4a70['push']({'name':_0x37b186['name'],'displayName':_0x47dcc9,'path':_0x16ff27,'level':_0x3f9c2a});}}}}catch{return[];}return _0x4a4a70;}async function getInstalledSkills(){const _0x182a56=_0x441b,_0x19655c={'jWfGT':function(_0x41ea90,_0x5bc697,_0x490fe1){return _0x41ea90(_0x5bc697,_0x490fe1);},'DXMAL':function(_0xabe4c4){return _0xabe4c4();},'GmsGy':function(_0x17a45b,_0x25d3f3,_0x46903a){return _0x17a45b(_0x25d3f3,_0x46903a);}},[_0x5a4414,_0x4f857e]=await Promise[_0x182a56(0x1e7)]([_0x19655c['jWfGT'](getSkillsFromDir,_0x19655c['DXMAL'](getProjectSkillsDir),_0x182a56(0x1b8)),_0x19655c[_0x182a56(0x1de)](getSkillsFromDir,getUserSkillsDir(),'user')]);return{'project':_0x5a4414,'user':_0x4f857e};}function _0x2f6d(){const _0x4d6c7b=['\x20(up\x20to\x20date)','scope','isDirectory','zqPxR','displayName','16lMjjIQ','818799yuYqAp','5231495LkCBkB','trim','2046424ekaaOw','9lFouOJ','dmWWJ','jPaQw','enabled','some','\x20\x20Project-level:','\x20\x20Run:\x20ranger\x20setup\x20[token]','hasPlaintextAuth',':\x20configured','dyERl','fIlDv','\x20\x20Run:\x20ranger\x20skillup','6mZFGID','Root:\x20','\x20(active)','log','\x20\x20\x20\x20Auth:\x20','Version:\x20','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','UGiQA','SKILL.md','project','xOqNf','parse','dbech','2767850TnOuMg','status','OXowY','encrypted','7569611txVazy','5113CZBelx','ObDNS','JHOTr','isActive','path','toString','fMEYJ','\x20\x20Run:\x20ranger\x20update','details','plugin','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','config','opencode-plugin','hfyUL','auth.json.enc','dzQPa','length','59052zRYCMg','\x20(latest:\x20','\x20\x20\x20\x20','5668nNKDix','klYFJ','ignore','dhwmE','\x20plugin(s)\x20configured','nhGrg','ranger@trailhead','version','RtWzM','GmsGy','settings.json','lCQBy','rMUVS','organizationName','IDZzj','No\x20skills\x20installed','API\x20Token:\x20✗\x20Not\x20found','not_installed','all','name','gFhYr','No\x20profiles\x20configured','includes','filter','33VOFTfr','QvaqP','IDffc','\x20\x20\x20\x20Settings:\x20','276oyPawn','Organization:\x20','pipe','success','SBxNe','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','lxiSO','join','stdout','gqRRO','utf-8','not_configured'];_0x2f6d=function(){return _0x4d6c7b;};return _0x2f6d();}async function getEnvironments(){const _0x46938f=_0x441b,_0x2a5dbd={'hfyUL':_0x46938f(0x1df),'UGiQA':'auth.json','HisqU':_0x46938f(0x1cf),'dyERl':'(not\x20found)','XgASy':function(_0x170b5c,_0x5e69ac){return _0x170b5c(_0x5e69ac);},'dbech':function(_0x30befd){return _0x30befd();}},{envNames:_0x4c71a1,activeEnv:_0x21534b}=await _0x2a5dbd[_0x46938f(0x1bb)](getEnvNames),_0x5dfa5b=getRangerDir();if(!existsSync(_0x5dfa5b))return{'envs':[],'activeEnv':null};const _0x2a29d2=_0x4c71a1['map'](_0x4330b0=>{const _0x3db736=_0x46938f,_0x29bf05=getEnvDir(_0x4330b0),_0x2a66c4=join(_0x29bf05,_0x2a5dbd[_0x3db736(0x1ce)]),_0x8923b0=join(_0x29bf05,_0x2a5dbd[_0x3db736(0x1b6)]),_0x1b88b9=join(_0x29bf05,_0x2a5dbd['HisqU']);return{'name':_0x4330b0,'settingsPath':existsSync(_0x2a66c4)?_0x2a66c4:_0x2a5dbd[_0x3db736(0x1ac)],'hasPlaintextAuth':_0x2a5dbd['XgASy'](existsSync,_0x8923b0),'hasEncryptedAuth':existsSync(_0x1b88b9),'isActive':_0x4330b0===_0x21534b};});return{'envs':_0x2a29d2,'activeEnv':_0x21534b};}export async function status(){const _0x3a7971=_0x441b,_0x112adb={'vulLb':'\x0a📊\x20Ranger\x20Status\x0a','aclRw':function(_0x2c037d,_0x503a71){return _0x2c037d(_0x503a71);},'IDZzj':function(_0x159b27,_0x4d197d,_0x27b8a2){return _0x159b27(_0x4d197d,_0x27b8a2);},'JHOTr':function(_0x153365,_0x229f95){return _0x153365(_0x229f95);},'ObDNS':function(_0x5860b0){return _0x5860b0();},'jPaQw':'\x0a---\x20OpenCode\x20Plugin\x20---','mOKVH':function(_0x4e3d9e){return _0x4e3d9e();},'nhGrg':function(_0xf4f97d,_0x21f6ae){return _0xf4f97d===_0x21f6ae;},'pzBHT':'configured','OXowY':'@ranger-testing/opencode-plugin','SBxNe':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','klYFJ':'disabled','IDffc':function(_0x1276e6,_0x1ade55){return _0x1276e6(_0x1ade55);},'HxoXk':'ranger@trailhead','RdjjJ':'\x0a---\x20Skills\x20---','RaplB':'\x20\x20User-level:','lCQBy':_0x3a7971(0x1b1),'xAFwx':'none','xCkcY':function(_0x3a48c7,_0x110d55){return _0x3a48c7!==_0x110d55;},'zqPxR':function(_0x47837a,_0x1f0eb7){return _0x47837a(_0x1f0eb7);}};console['log'](_0x112adb['vulLb']);const _0x44b803=process['cwd'](),_0x2dd453=getRangerDir();if(!existsSync(_0x2dd453)){console[_0x3a7971(0x1b2)]('Root:\x20'+link(_0x44b803,_0x112adb['aclRw'](bold,_0x112adb['aclRw'](basename,_0x44b803)))),console[_0x3a7971(0x1b2)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x3a7971(0x1b0)+_0x112adb['IDZzj'](link,_0x44b803,_0x112adb[_0x3a7971(0x1c3)](bold,basename(_0x44b803))));const _0xb9c587=getCurrentVersion(),_0x21ca13=getLatestVersion();if(_0x21ca13['version']&&_0x21ca13['version']!==_0xb9c587)console['log'](_0x3a7971(0x1b4)+_0xb9c587+_0x3a7971(0x1d3)+_0x21ca13[_0x3a7971(0x1dc)]+')'),console[_0x3a7971(0x1b2)](_0x3a7971(0x1c8));else _0x21ca13['version']?console[_0x3a7971(0x1b2)]('Version:\x20'+_0xb9c587+_0x3a7971(0x199)):console['log']('Version:\x20'+_0xb9c587);const _0x53a7b2=await getToken();if(_0x53a7b2){const _0x55049e=await getCurrentUser(_0x53a7b2);_0x55049e[_0x3a7971(0x1f4)]?console['log'](_0x3a7971(0x1f2)+_0x112adb['JHOTr'](bold,_0x55049e['user'][_0x3a7971(0x1e2)])):(console[_0x3a7971(0x1b2)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x3a7971(0x1b2)](_0x3a7971(0x1e5)),console['log'](_0x3a7971(0x1a9));process['env']['DEBUG']&&(console[_0x3a7971(0x1b2)]('API\x20Environment:\x20'+_0x112adb['ObDNS'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+_0x112adb[_0x3a7971(0x1c2)](getApiBaseUrl)));console['log'](_0x112adb[_0x3a7971(0x1a5)]);const _0x59d07a=await _0x112adb['mOKVH'](getOpencodePluginStatus);if(_0x112adb[_0x3a7971(0x1da)](_0x59d07a[_0x3a7971(0x1bd)],_0x112adb['pzBHT']))console['log']('\x20\x20'+bold(_0x112adb[_0x3a7971(0x1be)])+_0x3a7971(0x1ab)),_0x59d07a['details']&&console[_0x3a7971(0x1b2)]('\x20\x20'+_0x59d07a['details']);else _0x59d07a[_0x3a7971(0x1bd)]==='not_configured'?(console[_0x3a7971(0x1b2)]('\x20\x20Not\x20configured'),_0x59d07a['details']&&console['log']('\x20\x20'+_0x59d07a[_0x3a7971(0x1c9)]),console[_0x3a7971(0x1b2)](_0x112adb[_0x3a7971(0x1f5)])):console['log'](_0x3a7971(0x1f6));console[_0x3a7971(0x1b2)]('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x1ca134=await getPluginInfo(_0x3a7971(0x1db));if(_0x1ca134){const _0x123014=_0x1ca134[_0x3a7971(0x19a)]||'unknown',_0x582e60=_0x1ca134[_0x3a7971(0x1a6)]?_0x3a7971(0x1a6):_0x112adb[_0x3a7971(0x1d6)];console[_0x3a7971(0x1b2)]('\x20\x20'+_0x112adb[_0x3a7971(0x1ef)](bold,_0x112adb['HxoXk'])+':\x20installed\x20('+_0x123014+',\x20'+_0x582e60+')');}else console[_0x3a7971(0x1b2)]('\x20\x20Not\x20installed'),console['log'](_0x3a7971(0x1b5));console[_0x3a7971(0x1b2)](_0x112adb['RdjjJ']);const {project:_0x59c5dc,user:_0x3f8339}=await _0x112adb['mOKVH'](getInstalledSkills),_0x549e6c=_0x59c5dc['filter'](_0x595901=>RANGER_MANAGED_SKILLS[_0x3a7971(0x1eb)](_0x595901['name'])),_0x4b3529=_0x3f8339[_0x3a7971(0x1ec)](_0xefe601=>RANGER_MANAGED_SKILLS['includes'](_0xefe601['name'])),_0x9b3791=_0x549e6c['length']+_0x4b3529['length'];if(_0x112adb['nhGrg'](_0x9b3791,0x0))console[_0x3a7971(0x1b2)](_0x3a7971(0x1e4)),console[_0x3a7971(0x1b2)](_0x3a7971(0x1ae));else{if(_0x549e6c[_0x3a7971(0x1d1)]>0x0){console['log'](_0x3a7971(0x1a8));for(const _0x37d177 of _0x549e6c){console['log']('\x20\x20\x20\x20'+bold(_0x37d177['displayName'])+':\x20'+_0x112adb['IDZzj'](link,_0x37d177[_0x3a7971(0x1c5)],_0x112adb['aclRw'](basename,_0x37d177['path'])));}}if(_0x4b3529['length']>0x0){console['log'](_0x112adb['RaplB']);for(const _0x722739 of _0x4b3529){console['log'](_0x3a7971(0x1d4)+bold(_0x722739[_0x3a7971(0x19d)])+':\x20'+link(_0x722739[_0x3a7971(0x1c5)],basename(_0x722739['path'])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x2b3a25,activeEnv:_0x2a37ff}=await getEnvironments();if(_0x2b3a25[_0x3a7971(0x1d1)]===0x0)console[_0x3a7971(0x1b2)](_0x3a7971(0x1ea)),console['log'](_0x3a7971(0x1cb));else{for(const _0x82bcdb of _0x2b3a25){const _0x25771f=_0x82bcdb[_0x3a7971(0x1c4)]?_0x112adb[_0x3a7971(0x1e0)]:'',_0x4e5e33=_0x82bcdb['hasEncryptedAuth']?_0x3a7971(0x1bf):_0x82bcdb[_0x3a7971(0x1aa)]?'plaintext':_0x112adb['xAFwx'];console[_0x3a7971(0x1b2)]('\x20\x20'+bold(_0x82bcdb[_0x3a7971(0x1e8)])+_0x25771f),console[_0x3a7971(0x1b2)](_0x3a7971(0x1b3)+_0x4e5e33),_0x112adb['xCkcY'](_0x82bcdb['settingsPath'],'(not\x20found)')&&console['log'](_0x3a7971(0x1f0)+_0x112adb[_0x3a7971(0x1e3)](link,_0x82bcdb['settingsPath'],_0x112adb[_0x3a7971(0x19c)](basename,_0x82bcdb['settingsPath'])));}!_0x2a37ff&&(console[_0x3a7971(0x1b2)]('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log'](_0x3a7971(0x1f7)+_0x2b3a25['map'](_0x365968=>_0x365968['name'])[_0x3a7971(0x1f9)](',\x20')+')'));}console['log']('');}