@ranger-testing/ranger-cli 3.0.1-alpha.bb18058-34 → 3.0.1-alpha.d8f00ab-37

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 (85) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/organizationEnvApi.js +1 -1
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -1
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/rangerwrightCli.js +1 -1
  67. package/build/commands/utils/resolveProfileContext.js +1 -1
  68. package/build/commands/utils/resolveProfileUrl.js +1 -1
  69. package/build/commands/utils/retry.js +1 -1
  70. package/build/commands/utils/sessionCache.js +1 -1
  71. package/build/commands/utils/settings.js +1 -1
  72. package/build/commands/utils/skillContent.js +1 -1
  73. package/build/commands/utils/skills.js +1 -1
  74. package/build/commands/utils/stitchWebmFiles.js +1 -1
  75. package/build/commands/utils/telemetry.js +1 -1
  76. package/build/commands/utils/tokenRefresh.js +1 -1
  77. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  78. package/build/commands/utils/tunnelClient.js +1 -0
  79. package/build/commands/utils/userApi.js +1 -1
  80. package/build/commands/utils/version.js +1 -1
  81. package/build/commands/verifyFeature.js +1 -1
  82. package/build/commands/verifyFeatureCli.js +1 -1
  83. package/build/commands/verifyFeatureNovaCli.js +1 -1
  84. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  85. package/package.json +3 -1
@@ -1 +1 @@
1
- function _0x1982(_0x51daaa,_0x5c036a){_0x51daaa=_0x51daaa-0x8c;const _0xf3b93=_0xf3b9();let _0x198212=_0xf3b93[_0x51daaa];return _0x198212;}function _0xf3b9(){const _0x288663=['6oFcyJa','2149088hEjFRw','1971075YqDzms','user','21345312QDSPzf','\x0a✅\x20API\x20key\x20stored\x20successfully','log','639026tneOCu','message','1408653jNzEkE','1863848svlBUA','pwcUW','96888PlvcFN'];_0xf3b9=function(){return _0x288663;};return _0xf3b9();}(function(_0x4b3bcf,_0x5b2993){const _0x29ca01=_0x1982,_0x13f869=_0x4b3bcf();while(!![]){try{const _0x4df9f9=-parseInt(_0x29ca01(0x95))/0x1+-parseInt(_0x29ca01(0x90))/0x2+-parseInt(_0x29ca01(0x92))/0x3+-parseInt(_0x29ca01(0x97))/0x4+parseInt(_0x29ca01(0x98))/0x5*(-parseInt(_0x29ca01(0x96))/0x6)+-parseInt(_0x29ca01(0x93))/0x7+parseInt(_0x29ca01(0x8d))/0x8;if(_0x4df9f9===_0x5b2993)break;else _0x13f869['push'](_0x13f869['shift']());}catch(_0x451b81){_0x13f869['push'](_0x13f869['shift']());}}}(_0xf3b9,0x8eb0d));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x13d0df=_0x1982,_0x3a0b55={'pwcUW':'Re-authenticating\x20via\x20MCP\x20bootstrap...','GAtnt':function(_0x3cb7a8){return _0x3cb7a8();},'iAkLs':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.'},_0xee6060=await getMcpAuthOrigin();if(_0xee6060){console[_0x13d0df(0x8f)](_0x3a0b55[_0x13d0df(0x94)]),await mcpBootstrap();return;}if(!_0x3a0b55['GAtnt'](isInteractive))throw new Error(_0x3a0b55['iAkLs']);try{const _0xf96c9d=await _0x3a0b55['GAtnt'](runDeviceAuthFlow),_0x1f30db=await getCurrentUser(_0xf96c9d);_0x1f30db['success']?console[_0x13d0df(0x8f)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x1f30db[_0x13d0df(0x8c)]['organizationName']):console['log'](_0x13d0df(0x8e));}catch(_0xb12935){throw new Error('Login\x20failed:\x20'+(_0xb12935 instanceof Error?_0xb12935[_0x13d0df(0x91)]:_0xb12935));}}
1
+ function _0x17fe(){const _0x4cbae6=['\x0a✅\x20API\x20key\x20stored\x20successfully','user','209VvSRBk','success','666280rnYPNt','661471iXJhrT','43048EOvZUy','2MQsnIj','4698576AAnErO','2087085EMtXen','7RavMpg','log','965649JycmKO','1004034OkcKIq','4PQHgFA'];_0x17fe=function(){return _0x4cbae6;};return _0x17fe();}(function(_0x2bbde1,_0x2498c7){const _0x17eb80=_0x3c8b,_0x29a06d=_0x2bbde1();while(!![]){try{const _0x2bc44e=-parseInt(_0x17eb80(0x1ab))/0x1+-parseInt(_0x17eb80(0x1ad))/0x2*(parseInt(_0x17eb80(0x1a3))/0x3)+-parseInt(_0x17eb80(0x1a5))/0x4*(-parseInt(_0x17eb80(0x1af))/0x5)+-parseInt(_0x17eb80(0x1a4))/0x6*(-parseInt(_0x17eb80(0x1b0))/0x7)+parseInt(_0x17eb80(0x1ac))/0x8+-parseInt(_0x17eb80(0x1ae))/0x9+-parseInt(_0x17eb80(0x1aa))/0xa*(-parseInt(_0x17eb80(0x1a8))/0xb);if(_0x2bc44e===_0x2498c7)break;else _0x29a06d['push'](_0x29a06d['shift']());}catch(_0x139a7c){_0x29a06d['push'](_0x29a06d['shift']());}}}(_0x17fe,0x559bb));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x3c8b(_0x4d1b1b,_0xca8e57){_0x4d1b1b=_0x4d1b1b-0x1a2;const _0x17fe67=_0x17fe();let _0x3c8bc9=_0x17fe67[_0x4d1b1b];return _0x3c8bc9;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x267326=_0x3c8b,_0x396a3d={'iqlzA':function(_0x37b4d4){return _0x37b4d4();},'ZINDZ':_0x267326(0x1a6),'dLKfB':function(_0x10aba2,_0xbedcf9){return _0x10aba2 instanceof _0xbedcf9;}},_0x1ae08e=await getMcpAuthOrigin();if(_0x1ae08e){console[_0x267326(0x1a2)]('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await mcpBootstrap();return;}if(!isInteractive())throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x18b77e=await _0x396a3d['iqlzA'](runDeviceAuthFlow),_0x1d111b=await getCurrentUser(_0x18b77e);_0x1d111b[_0x267326(0x1a9)]?console[_0x267326(0x1a2)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x1d111b[_0x267326(0x1a7)]['organizationName']):console[_0x267326(0x1a2)](_0x396a3d['ZINDZ']);}catch(_0xee6bd){throw new Error('Login\x20failed:\x20'+(_0x396a3d['dLKfB'](_0xee6bd,Error)?_0xee6bd['message']:_0xee6bd));}}
@@ -1 +1 @@
1
- const _0x5d485c=_0x5d3d;(function(_0x525054,_0x485541){const _0xecf433=_0x5d3d,_0xa6d24c=_0x525054();while(!![]){try{const _0x5e201e=parseInt(_0xecf433(0x163))/0x1*(-parseInt(_0xecf433(0x14d))/0x2)+parseInt(_0xecf433(0x197))/0x3+-parseInt(_0xecf433(0x15d))/0x4*(parseInt(_0xecf433(0x138))/0x5)+parseInt(_0xecf433(0x18f))/0x6+parseInt(_0xecf433(0x116))/0x7*(-parseInt(_0xecf433(0x15b))/0x8)+parseInt(_0xecf433(0x136))/0x9+parseInt(_0xecf433(0x107))/0xa;if(_0x5e201e===_0x485541)break;else _0xa6d24c['push'](_0xa6d24c['shift']());}catch(_0x585bf7){_0xa6d24c['push'](_0xa6d24c['shift']());}}}(_0x1f41,0x55fcd));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x5d485c(0x159)),AUTH_ORIGIN_PATH=join(homedir(),_0x5d485c(0x135),'auth-origin.txt');function _0x1f41(){const _0x529971=['RDwqk','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','slice','match','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','proxied','ArvRS','42BCyvJL','includes','/callback','platform','darwin','log','hex','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','2025-03-26','replace','pOlge','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','QhWJD','ywcxe','\x20done','IISDY','fiEOh','clientId','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','oJKZx','state','BDWHH','parse','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','application/json','end','searchParams','writeHead','data:','WPkVE','name','.ranger','101088JhfBcq','json','35msTUVj','RryHt','QuvnO','application/x-www-form-urlencoded','access_token','ranger-cli','anaiW','EiAaL','authorization_endpoint','IiJLF','initialize','\x0aToken\x20written\x20to\x20','/.well-known/oauth-protected-resource','utf-8','code_challenge','refresh_token','client_id','content-type','client_secret','QCFeU','token','2674JSRUGQ','content','Server\x20returned\x20error:\x20','Ranger\x20CLI','clientSecret','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','start','accessToken','pVrrV','uZgmf','status','OAuthTimeoutError','mcp-oauth-tokens.json','JImys','698536PemgMJ','toString','310028EHFkOe','POST','base64url','LIISb','HgMZm','error','334bqNcNH','S256','SrqLy','127.0.0.1','digest','startsWith','response_type','<html><body><h2>Authentication\x20failed</h2><p>','expiresAt','registration_endpoint','stringify','jypmp','closeAllConnections','idokG','split','Exchanging\x20authorization\x20code...','text','Not\x20found','resource','get_cli_token','OXvjl','RgLha','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','1.0.0','now','error_description','get_cli_token\x20failed:\x20','Initializing\x20MCP\x20session...','AYrDx','kheSB','origin','MLslO','jievB','refresh.txt','nkmfg','Bearer\x20','write','2.0','IWAam','hmldo','headers','veTgm','isError','TzBfP','3617160UUupMq','pjbax','stdout','XoBLs','string','code_challenge_method','IDLcT','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','303891SJPhmZ','LMBub','sIaHg','11498250RGfltl','ZXtDb','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','SARpL','get','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','set'];_0x1f41=function(){return _0x529971;};return _0x1f41();}export async function getMcpAuthOrigin(){const _0x37a2a1=_0x5d485c,_0x25c0c9={'WtZnp':function(_0x2ca0f6,_0x4e30ee,_0x52465b){return _0x2ca0f6(_0x4e30ee,_0x52465b);},'ZfPxo':function(_0x5ed6c9,_0x9d64f5){return _0x5ed6c9||_0x9d64f5;}};try{const _0xb1f2c1=(await _0x25c0c9['WtZnp'](readFile,AUTH_ORIGIN_PATH,_0x37a2a1(0x145)))['trim']();return _0x25c0c9['ZfPxo'](_0xb1f2c1,null);}catch{return null;}}export async function mcpBootstrap(){const _0x193191=_0x5d485c,_0x35255e={'LIISb':function(_0x5308e1){return _0x5308e1();},'veTgm':function(_0x48c64e,_0x40def1){return _0x48c64e(_0x40def1);},'UUuxM':'proxied','IusvW':function(_0x155b8e,_0x222c36){return _0x155b8e+_0x222c36;},'WPkVE':_0x193191(0x10a)},_0x8d9080=_0x35255e[_0x193191(0x160)](getMcpAuthUrl);currentOrigin=_0x8d9080;const _0x128f5d=process['stdout']['isTTY']??![];console[_0x193191(0x11b)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x8d9080+'\x0a');const _0x11f314=await _0x35255e['veTgm'](tryUnauthenticated,_0x8d9080);let _0x2a0ece=null;if(_0x11f314===_0x35255e['UUuxM'])_0x2a0ece='';else{_0x2a0ece=await loadCachedToken();if(!_0x2a0ece){if(!_0x128f5d)throw new Error(_0x35255e['IusvW'](_0x35255e[_0x193191(0x133)],_0x193191(0x11d)));_0x2a0ece=await _0x35255e[_0x193191(0x18c)](oauthFlow,_0x8d9080);}}await callGetCliToken(_0x8d9080,_0x2a0ece);}async function tryUnauthenticated(_0x1a5101){const _0x2eebf8=_0x5d485c,_0x431c54={'pjbax':'POST','aBavP':_0x2eebf8(0x11e),'pOlge':_0x2eebf8(0x17a),'idokG':function(_0x37a51a,_0x2d8600){return _0x37a51a===_0x2d8600;},'EiAaL':'needs-oauth'},_0x1849a1=await fetch(_0x1a5101,{'method':_0x431c54[_0x2eebf8(0x190)],'headers':{'Content-Type':_0x2eebf8(0x12e),'Accept':'application/json,\x20text/event-stream'},'body':JSON[_0x2eebf8(0x16d)]({'jsonrpc':_0x2eebf8(0x188),'id':0x1,'method':_0x2eebf8(0x142),'params':{'protocolVersion':_0x431c54['aBavP'],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x431c54[_0x2eebf8(0x120)]}}})});if(_0x1849a1['ok'])return await _0x1849a1['text'](),_0x2eebf8(0x114);if(_0x431c54[_0x2eebf8(0x170)](_0x1849a1['status'],0x191))return await _0x1849a1['text'](),_0x431c54[_0x2eebf8(0x13f)];const _0x224a30=await _0x1849a1['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x1849a1[_0x2eebf8(0x157)]+':\x20'+_0x224a30);}class OAuthTimeoutError extends Error{constructor(_0x549cad){const _0x387870=_0x5d485c,_0x5221a7={'zsnqL':_0x387870(0x158)};super(_0x549cad),this[_0x387870(0x134)]=_0x5221a7['zsnqL'];}}async function oauthFlow(_0x3ab406){const _0x4c967e=_0x5d485c,_0x5b1af7={'BDWHH':function(_0x4c1da1,_0x519ed9){return _0x4c1da1(_0x519ed9);},'anaiW':function(_0x5c8d67){return _0x5c8d67();},'zLaWK':_0x4c967e(0x121)};try{return await _0x5b1af7[_0x4c967e(0x12b)](oauthFlowAttempt,_0x3ab406);}catch(_0x571cbb){if(_0x571cbb instanceof OAuthTimeoutError&&await _0x5b1af7[_0x4c967e(0x13e)](loadCachedClient))return console['log'](_0x5b1af7['zLaWK']),await clearCachedClient(),await _0x5b1af7['BDWHH'](oauthFlowAttempt,_0x3ab406);throw _0x571cbb;}}async function oauthFlowAttempt(_0x5c59ec){const _0x2a9638=_0x5d485c,_0x1b542f={'IDLcT':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','IiJLF':function(_0x2455a0){return _0x2455a0();},'SboJY':'Registering\x20OAuth\x20client...','kheSB':'authorization_code','LMBub':'refresh_token','OQcLd':'code','hmldo':'none','RgLha':_0x2a9638(0x124),'nkmfg':function(_0x34efa2,_0x559b13){return _0x34efa2(_0x559b13);},'MsIEX':_0x2a9638(0x15f),'ywcxe':_0x2a9638(0x169),'CQYoB':_0x2a9638(0x148),'OXvjl':'redirect_uri','rsKRM':_0x2a9638(0x146),'AYrDx':_0x2a9638(0x194),'zBdKb':_0x2a9638(0x12a),'UrfhI':'client_secret','fiEOh':_0x2a9638(0x13b),'Webvb':function(_0x1c606a,_0x268983,_0x3bb230,_0x5d3b33){return _0x1c606a(_0x268983,_0x3bb230,_0x5d3b33);}},_0x191895=_0x5c59ec[_0x2a9638(0x11f)](/\/mcp$/,'');process['stdout']['write']('Discovering\x20authorization\x20server...');const _0x5664c7=await fetch(_0x191895+_0x2a9638(0x144));if(!_0x5664c7['ok'])throw new Error(_0x1b542f[_0x2a9638(0x195)]);const _0x179e8f=await _0x5664c7['json'](),_0x476b1b=_0x179e8f['authorization_servers']?.[0x0];if(!_0x476b1b)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0x2a9638(0x11b)]('\x20'+_0x476b1b);const _0x8497a0=await fetchAuthServerMetadata(_0x476b1b);let _0x17b5b5,_0x4213b5;const _0xc38af=await _0x1b542f[_0x2a9638(0x141)](loadCachedClient);if(_0xc38af)_0x17b5b5=_0xc38af[_0x2a9638(0x127)],_0x4213b5=_0xc38af[_0x2a9638(0x151)];else{if(_0x8497a0['registration_endpoint']){process[_0x2a9638(0x191)]['write'](_0x1b542f['SboJY']);const _0x5dd718=await fetch(_0x8497a0[_0x2a9638(0x16c)],{'method':_0x2a9638(0x15e),'headers':{'Content-Type':_0x2a9638(0x12e)},'body':JSON[_0x2a9638(0x16d)]({'client_name':_0x2a9638(0x150),'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x2a9638(0x118)],'grant_types':[_0x1b542f[_0x2a9638(0x180)],_0x1b542f[_0x2a9638(0x105)]],'response_types':[_0x1b542f['OQcLd']],'token_endpoint_auth_method':_0x1b542f[_0x2a9638(0x18a)]})});if(!_0x5dd718['ok']){const _0x434d79=await _0x5dd718['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x434d79);}const _0x46e195=await _0x5dd718['json']();_0x17b5b5=_0x46e195['client_id'],_0x4213b5=_0x46e195[_0x2a9638(0x14a)],await saveCachedClient(_0x17b5b5,_0x4213b5),console[_0x2a9638(0x11b)](_0x1b542f[_0x2a9638(0x178)]);}else throw new Error(_0x2a9638(0x196));}const _0x5d06c3=_0x1b542f[_0x2a9638(0x185)](randomBytes,0x20)[_0x2a9638(0x15c)](_0x1b542f['MsIEX']),_0x15d0b4=createHash('sha256')['update'](_0x5d06c3)[_0x2a9638(0x167)](_0x1b542f['MsIEX']),_0x3706e8=randomBytes(0x10)['toString'](_0x2a9638(0x11c)),_0x52a27e=new URL(_0x8497a0[_0x2a9638(0x140)]);_0x52a27e[_0x2a9638(0x130)][_0x2a9638(0x10e)](_0x1b542f[_0x2a9638(0x123)],_0x1b542f['OQcLd']),_0x52a27e['searchParams']['set'](_0x1b542f['CQYoB'],_0x17b5b5),_0x52a27e[_0x2a9638(0x130)][_0x2a9638(0x10e)](_0x1b542f[_0x2a9638(0x177)],'http://localhost:'+CALLBACK_PORT+_0x2a9638(0x118)),_0x52a27e[_0x2a9638(0x130)]['set'](_0x1b542f['rsKRM'],_0x15d0b4),_0x52a27e['searchParams'][_0x2a9638(0x10e)](_0x1b542f[_0x2a9638(0x17f)],_0x2a9638(0x164)),_0x52a27e['searchParams']['set'](_0x1b542f['zBdKb'],_0x3706e8);_0x179e8f['resource']&&_0x52a27e[_0x2a9638(0x130)][_0x2a9638(0x10e)](_0x2a9638(0x175),_0x179e8f[_0x2a9638(0x175)]);console['log']('\x0aOpening\x20browser\x20for\x20authentication...'),console['log'](_0x2a9638(0x109)+_0x52a27e[_0x2a9638(0x15c)]()+'\x0a'),await openBrowser(_0x52a27e['toString']());const _0x5d0d6c=await waitForCallback(_0x3706e8);process['stdout'][_0x2a9638(0x187)](_0x2a9638(0x172));const _0x100d2c=new URLSearchParams({'grant_type':_0x1b542f[_0x2a9638(0x180)],'code':_0x5d0d6c,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0x2a9638(0x118),'client_id':_0x17b5b5,'code_verifier':_0x5d06c3});_0x4213b5&&_0x100d2c['set'](_0x1b542f['UrfhI'],_0x4213b5);_0x179e8f[_0x2a9638(0x175)]&&_0x100d2c[_0x2a9638(0x10e)]('resource',_0x179e8f['resource']);const _0x120a27=await fetch(_0x8497a0['token_endpoint'],{'method':_0x2a9638(0x15e),'headers':{'Content-Type':_0x1b542f[_0x2a9638(0x126)]},'body':_0x100d2c});if(!_0x120a27['ok']){const _0x2542f3=await _0x120a27['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x2542f3);}const _0x22aa40=await _0x120a27[_0x2a9638(0x137)]();return console['log'](_0x1b542f['RgLha']),await _0x1b542f['Webvb'](saveCachedToken,_0x22aa40[_0x2a9638(0x13c)],_0x22aa40[_0x2a9638(0x147)],_0x22aa40['expires_in']),_0x22aa40['access_token'];}async function callGetCliToken(_0x49add4,_0x2afc43){const _0x21f364=_0x5d485c,_0x3f4d46={'PQsLk':function(_0x449286,_0x205f70,_0x20e762){return _0x449286(_0x205f70,_0x20e762);},'vNElj':_0x21f364(0x15e),'krDMh':'application/json','pVrrV':'application/json,\x20text/event-stream','bQCkz':_0x21f364(0x17e),'jypmp':_0x21f364(0x188),'ZXtDb':_0x21f364(0x142),'GIKzF':_0x21f364(0x11e),'RDwqk':'1.0.0','YOqOu':_0x21f364(0x124),'uzctg':'notifications/initialized','GaqXt':'Requesting\x20CLI\x20token...','iNrCO':'tools/call','abace':function(_0x2f168b,_0x2551e8){return _0x2f168b(_0x2551e8);},'XdYOS':'\x0aUnexpected\x20response\x20structure:','SARpL':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','oJKZx':function(_0x296893,_0x18e92f,_0x425615){return _0x296893(_0x18e92f,_0x425615);},'CMMin':function(_0x53010d,_0x14aac1,_0x4992df,_0x254a3e){return _0x53010d(_0x14aac1,_0x4992df,_0x254a3e);},'QCFeU':_0x21f364(0x12d)},_0x17aaa0={'Content-Type':_0x3f4d46['krDMh'],'Accept':_0x3f4d46[_0x21f364(0x155)]};_0x2afc43&&(_0x17aaa0['Authorization']=_0x21f364(0x186)+_0x2afc43);const _0x5cd024=async _0x52e90a=>{const _0x3f6205=_0x21f364,_0x1b3c00=await _0x3f4d46['PQsLk'](fetch,_0x49add4,{'method':_0x3f4d46['vNElj'],'headers':_0x17aaa0,'body':JSON['stringify'](_0x52e90a)});if(!_0x1b3c00['ok']){const _0x287de3=await _0x1b3c00['text']();throw new Error('HTTP\x20'+_0x1b3c00[_0x3f6205(0x157)]+':\x20'+_0x287de3);}return parseResponse(_0x1b3c00);};process[_0x21f364(0x191)][_0x21f364(0x187)](_0x3f4d46['bQCkz']);const _0xbefd6a=await _0x5cd024({'jsonrpc':_0x3f4d46['jypmp'],'id':0x1,'method':_0x3f4d46[_0x21f364(0x108)],'params':{'protocolVersion':_0x3f4d46['GIKzF'],'capabilities':{},'clientInfo':{'name':_0x21f364(0x13d),'version':_0x3f4d46[_0x21f364(0x10f)]}}});if(_0xbefd6a[_0x21f364(0x162)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0xbefd6a['error']['message']??JSON[_0x21f364(0x16d)](_0xbefd6a[_0x21f364(0x162)])));console[_0x21f364(0x11b)](_0x3f4d46['YOqOu']),await _0x3f4d46['PQsLk'](fetch,_0x49add4,{'method':_0x21f364(0x15e),'headers':_0x17aaa0,'body':JSON[_0x21f364(0x16d)]({'jsonrpc':_0x3f4d46[_0x21f364(0x16e)],'method':_0x3f4d46['uzctg']})})['then'](_0x1e9feb=>_0x1e9feb['text']()),process['stdout']['write'](_0x3f4d46['GaqXt']);const _0x29d4d2=await _0x5cd024({'jsonrpc':_0x3f4d46['jypmp'],'id':0x2,'method':_0x3f4d46['iNrCO'],'params':{'name':_0x21f364(0x176),'arguments':{}}});if(_0x29d4d2[_0x21f364(0x162)])throw new Error(_0x21f364(0x17d)+(_0x29d4d2['error']['message']??JSON[_0x21f364(0x16d)](_0x29d4d2['error'])));console['log'](_0x3f4d46['YOqOu']);const _0x571be7=_0x3f4d46['abace'](extractToken,_0x29d4d2['result']);if(!_0x571be7){console['error'](_0x3f4d46['XdYOS']),console['error'](JSON['stringify'](_0x29d4d2['result'],null,0x2));throw new Error(_0x3f4d46[_0x21f364(0x10b)]);}const _0x5308b9=join(homedir(),'.ranger'),_0x5128a4=_0x3f4d46['oJKZx'](join,_0x5308b9,_0x21f364(0x184));await _0x3f4d46[_0x21f364(0x129)](mkdir,_0x5308b9,{'recursive':!![]}),await _0x3f4d46['CMMin'](writeFile,_0x5128a4,_0x571be7,{'mode':0x180}),await writeFile(join(_0x5308b9,'auth-origin.txt'),_0x49add4,{'mode':0x180}),console[_0x21f364(0x11b)](_0x21f364(0x143)+_0x5128a4),console[_0x21f364(0x11b)](_0x3f4d46[_0x21f364(0x14b)]);}async function fetchAuthServerMetadata(_0x19135c){const _0x54e90b=_0x5d485c,_0x55ae95=_0x19135c+'/.well-known/oauth-authorization-server',_0x488750=await fetch(_0x55ae95);if(!_0x488750['ok'])throw new Error(_0x54e90b(0x128)+_0x55ae95+':\x20'+_0x488750[_0x54e90b(0x157)]);return _0x488750[_0x54e90b(0x137)]();}function waitForCallback(_0x3334d3){const _0x2e945c=_0x5d485c,_0x325aee={'ZbfnN':function(_0x53cbf5){return _0x53cbf5();},'WRLyN':_0x2e945c(0x113),'TzBfP':function(_0xc666fd,_0x40420b){return _0xc666fd!==_0x40420b;},'yIFjM':_0x2e945c(0x174),'jievB':'code','MLslO':_0x2e945c(0x162),'sIaHg':'text/html','NPsQt':function(_0x1cc7fa,_0x32e291){return _0x1cc7fa(_0x32e291);},'orXTC':function(_0x32dba5,_0x11bb3b){return _0x32dba5(_0x11bb3b);},'WDmNO':function(_0x49cea7,_0x3b544f){return _0x49cea7!==_0x3b544f;},'XtISs':function(_0x334024,_0x3e01ab,_0x300007){return _0x334024(_0x3e01ab,_0x300007);},'JImys':function(_0x5ca3e,_0x5d8202){return _0x5ca3e(_0x5d8202);}};return new Promise((_0x52f55e,_0x38b514)=>{const _0x5a3463=_0x2e945c,_0xdf9348=()=>{const _0x1ff25f=_0x5d3d;_0x4785c3[_0x1ff25f(0x16f)](),_0x4785c3['close']();},_0x54ecbf=_0x325aee['XtISs'](setTimeout,()=>{_0x325aee['ZbfnN'](_0xdf9348),_0x38b514(new OAuthTimeoutError(_0x325aee['WRLyN']));},0x1d4c0),_0x4785c3=_0x325aee[_0x5a3463(0x15a)](createServer,(_0x20abb5,_0xffeb7d)=>{const _0x50cd33=_0x5a3463,_0x6b91ee=new URL(_0x20abb5['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x325aee[_0x50cd33(0x18e)](_0x6b91ee['pathname'],'/callback')){_0xffeb7d['writeHead'](0x194),_0xffeb7d['end'](_0x325aee['yIFjM']);return;}const _0x2bee65=_0x6b91ee[_0x50cd33(0x130)]['get'](_0x325aee[_0x50cd33(0x183)]),_0x53bdbd=_0x6b91ee[_0x50cd33(0x130)][_0x50cd33(0x10c)](_0x50cd33(0x12a)),_0x17a231=_0x6b91ee['searchParams']['get'](_0x325aee[_0x50cd33(0x182)]);if(_0x17a231){const _0x36383e=_0x6b91ee[_0x50cd33(0x130)]['get'](_0x50cd33(0x17c))??_0x17a231;_0xffeb7d[_0x50cd33(0x131)](0xc8,{'Content-Type':_0x325aee['sIaHg']}),_0xffeb7d['end'](_0x50cd33(0x16a)+_0x36383e+_0x50cd33(0x110)),_0x325aee['NPsQt'](clearTimeout,_0x54ecbf),_0xdf9348(),_0x325aee['orXTC'](_0x38b514,new Error('OAuth\x20error:\x20'+_0x36383e));return;}if(!_0x2bee65||_0x325aee['WDmNO'](_0x53bdbd,_0x3334d3)){_0xffeb7d['writeHead'](0x190,{'Content-Type':_0x325aee['sIaHg']}),_0xffeb7d[_0x50cd33(0x12f)](_0x50cd33(0x179));return;}_0xffeb7d['writeHead'](0xc8,{'Content-Type':_0x325aee[_0x50cd33(0x106)]}),_0xffeb7d[_0x50cd33(0x12f)](_0x50cd33(0x10d)),clearTimeout(_0x54ecbf),_0x325aee['ZbfnN'](_0xdf9348),_0x52f55e(_0x2bee65);});_0x4785c3['listen'](CALLBACK_PORT,_0x5a3463(0x166));});}async function openBrowser(_0x1b59b3){const _0x290a47=_0x5d485c,_0x75778d={'uZgmf':function(_0x115649,_0xc76f8){return _0x115649===_0xc76f8;},'SrqLy':'win32','eqwHB':function(_0x16c2e5,_0x18a368){return _0x16c2e5(_0x18a368);}},_0x4891d3=process[_0x290a47(0x119)]===_0x290a47(0x11a)?'open':_0x75778d[_0x290a47(0x156)](process[_0x290a47(0x119)],_0x75778d[_0x290a47(0x165)])?_0x290a47(0x153):'xdg-open';_0x75778d['eqwHB'](exec,_0x4891d3+'\x20\x22'+_0x1b59b3+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x24febf=_0x5d485c,_0x581833={'ozxsc':function(_0x1a84cb,_0x4aef65,_0x14bf96){return _0x1a84cb(_0x4aef65,_0x14bf96);},'KPylB':_0x24febf(0x145),'QhWJD':function(_0x203000,_0xeafaa9){return _0x203000>_0xeafaa9;}};try{const _0x12bd9a=JSON['parse'](await _0x581833['ozxsc'](readFile,TOKEN_CACHE_PATH,_0x581833['KPylB']));if(_0x12bd9a['origin']&&_0x12bd9a['origin']!==currentOrigin)return null;if(_0x12bd9a[_0x24febf(0x16b)]&&_0x581833[_0x24febf(0x122)](Date[_0x24febf(0x17b)](),_0x12bd9a['expiresAt']))return null;return _0x12bd9a[_0x24febf(0x154)]??null;}catch{return null;}}async function saveCachedToken(_0x510c46,_0x1da7bd,_0x146453){const _0x3c364e=_0x5d485c,_0x57a746={'MWfdr':function(_0x59fc7e){return _0x59fc7e();},'IISDY':function(_0x13d7ae,_0x344b84,_0x5d228){return _0x13d7ae(_0x344b84,_0x5d228);},'RryHt':function(_0x24d220){return _0x24d220();},'Alzar':function(_0x3cf6b7,_0x34173a,_0x2f6253,_0x1983a1){return _0x3cf6b7(_0x34173a,_0x2f6253,_0x1983a1);}},_0x10b66d=await _0x57a746['MWfdr'](loadCachedData),_0x27e3db={..._0x10b66d,'origin':currentOrigin,'accessToken':_0x510c46,'refreshToken':_0x1da7bd??_0x10b66d?.['refreshToken'],'expiresAt':_0x146453?Date['now']()+_0x146453*0x3e8:undefined};await _0x57a746[_0x3c364e(0x125)](mkdir,join(_0x57a746[_0x3c364e(0x139)](homedir),'.ranger'),{'recursive':!![]}),await _0x57a746['Alzar'](writeFile,TOKEN_CACHE_PATH,JSON[_0x3c364e(0x16d)](_0x27e3db),{'mode':0x180});}function _0x5d3d(_0x20d6d5,_0x3fb80e){_0x20d6d5=_0x20d6d5-0x105;const _0x1f41dd=_0x1f41();let _0x5d3d9e=_0x1f41dd[_0x20d6d5];return _0x5d3d9e;}async function loadCachedClient(){const _0x1d6fd4=_0x5d485c,_0x2c6e3f={'McVSO':function(_0x29b8c7){return _0x29b8c7();},'aqJrP':function(_0x6cda3f,_0x7fb3b3){return _0x6cda3f!==_0x7fb3b3;}},_0x3ae480=await _0x2c6e3f['McVSO'](loadCachedData);if(_0x3ae480?.[_0x1d6fd4(0x181)]&&_0x2c6e3f['aqJrP'](_0x3ae480['origin'],currentOrigin))return null;return _0x3ae480?.[_0x1d6fd4(0x127)]?{'clientId':_0x3ae480[_0x1d6fd4(0x127)],'clientSecret':_0x3ae480[_0x1d6fd4(0x151)]}:null;}async function clearCachedClient(){const _0x9ca094=_0x5d485c,_0x2cf3e2={'QuvnO':function(_0x346a75){return _0x346a75();},'LmBdA':function(_0x592e0a,_0x4948c8,_0x57dfda,_0x4ed37e){return _0x592e0a(_0x4948c8,_0x57dfda,_0x4ed37e);}},_0x3c780c=await _0x2cf3e2[_0x9ca094(0x13a)](loadCachedData);if(!_0x3c780c)return;const {clientId:_0x2888e1,clientSecret:_0x1f3c4b,..._0x18c07e}=_0x3c780c;await _0x2cf3e2['LmBdA'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x18c07e),{'mode':0x180});}async function saveCachedClient(_0x5179e3,_0x4f58e0){const _0x195bd3=_0x5d485c,_0x6c43e5={'IWAam':function(_0xe2ea8){return _0xe2ea8();}},_0x3dc3b4=await _0x6c43e5['IWAam'](loadCachedData),_0x457c95={..._0x3dc3b4,'origin':currentOrigin,'accessToken':_0x3dc3b4?.['accessToken']??'','clientId':_0x5179e3,'clientSecret':_0x4f58e0};await mkdir(join(_0x6c43e5[_0x195bd3(0x189)](homedir),_0x195bd3(0x135)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x195bd3(0x16d)](_0x457c95),{'mode':0x180});}async function loadCachedData(){const _0x13ce47=_0x5d485c,_0x2f0160={'YvhQO':function(_0x3ecc5b,_0x440129,_0x35baa3){return _0x3ecc5b(_0x440129,_0x35baa3);}};try{return JSON['parse'](await _0x2f0160['YvhQO'](readFile,TOKEN_CACHE_PATH,_0x13ce47(0x145)));}catch{return null;}}async function parseResponse(_0x221ffa){const _0x6cb6d=_0x5d485c,_0x597daa={'KXwwC':_0x6cb6d(0x149),'ArvRS':'data:','twPGX':_0x6cb6d(0x152)},_0x2932e5=_0x221ffa[_0x6cb6d(0x18b)][_0x6cb6d(0x10c)](_0x597daa['KXwwC'])??'';if(_0x2932e5[_0x6cb6d(0x117)]('text/event-stream')){const _0x3c2baa=await _0x221ffa['text']();for(const _0x277fdd of _0x3c2baa[_0x6cb6d(0x171)]('\x0a')){const _0x2713a5=_0x277fdd['trim']();if(_0x2713a5[_0x6cb6d(0x168)](_0x597daa[_0x6cb6d(0x115)])){const _0x1df05c=_0x2713a5[_0x6cb6d(0x111)](_0x6cb6d(0x132)['length'])['trim']();if(!_0x1df05c)continue;try{const _0x4e01ff=JSON[_0x6cb6d(0x12c)](_0x1df05c);if(_0x4e01ff['id']!==undefined||_0x4e01ff[_0x6cb6d(0x162)])return _0x4e01ff;}catch{}}}throw new Error(_0x597daa['twPGX']);}return _0x221ffa[_0x6cb6d(0x137)]();}function extractToken(_0x35a61d){const _0x1e032f=_0x5d485c,_0x3500f1={'HgMZm':function(_0x199cef,_0x38af6a){return _0x199cef===_0x38af6a;},'nzTvW':'Unknown\x20error','XoBLs':_0x1e032f(0x173),'ncPTw':_0x1e032f(0x193)};if(!_0x35a61d)return null;const _0x291a1a=_0x35a61d['structuredContent'];if(_0x291a1a?.[_0x1e032f(0x14c)]&&_0x3500f1[_0x1e032f(0x161)](typeof _0x291a1a[_0x1e032f(0x14c)],'string'))return _0x291a1a[_0x1e032f(0x14c)];if(_0x35a61d[_0x1e032f(0x18d)]){const _0x3a8136=_0x35a61d[_0x1e032f(0x14e)];throw new Error(_0x1e032f(0x14f)+(_0x3a8136?.[0x0]?.[_0x1e032f(0x173)]??_0x3500f1['nzTvW']));}const _0x4e9991=_0x35a61d[_0x1e032f(0x14e)];if(_0x4e9991)for(const _0xb7764c of _0x4e9991){if(_0xb7764c['type']===_0x3500f1[_0x1e032f(0x192)]&&_0xb7764c['text']){try{const _0x3e3beb=JSON['parse'](_0xb7764c['text']);if(_0x3500f1[_0x1e032f(0x161)](typeof _0x3e3beb?.[_0x1e032f(0x14c)],_0x3500f1['ncPTw']))return _0x3e3beb['token'];}catch{}const _0x3cb23f=_0xb7764c['text'][_0x1e032f(0x112)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x3cb23f)return _0x3cb23f[0x1];}}return null;}
1
+ const _0x3bf1e4=_0x230d;(function(_0x46ed27,_0x59439a){const _0x5c02dd=_0x230d,_0x488be0=_0x46ed27();while(!![]){try{const _0xf5224f=-parseInt(_0x5c02dd(0x1f3))/0x1+-parseInt(_0x5c02dd(0x1dd))/0x2*(parseInt(_0x5c02dd(0x226))/0x3)+-parseInt(_0x5c02dd(0x1c2))/0x4*(parseInt(_0x5c02dd(0x21f))/0x5)+parseInt(_0x5c02dd(0x1f0))/0x6+parseInt(_0x5c02dd(0x1cf))/0x7*(-parseInt(_0x5c02dd(0x1c3))/0x8)+parseInt(_0x5c02dd(0x1e3))/0x9+parseInt(_0x5c02dd(0x1d9))/0xa;if(_0xf5224f===_0x59439a)break;else _0x488be0['push'](_0x488be0['shift']());}catch(_0x46f6d6){_0x488be0['push'](_0x488be0['shift']());}}}(_0xa81e,0x529df));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x3bf1e4(0x1d4),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x388fde=_0x3bf1e4,_0x3669ff={'gGLJw':function(_0x55945f,_0x5a25a3,_0x5307d0){return _0x55945f(_0x5a25a3,_0x5307d0);},'eeBPT':function(_0x312061,_0x3e3a7d){return _0x312061||_0x3e3a7d;}};try{const _0x458742=(await _0x3669ff['gGLJw'](readFile,AUTH_ORIGIN_PATH,_0x388fde(0x1fe)))['trim']();return _0x3669ff[_0x388fde(0x222)](_0x458742,null);}catch{return null;}}export async function mcpBootstrap(){const _0x317fb8=_0x3bf1e4,_0x472fd7={'pikEc':function(_0x4deaf7){return _0x4deaf7();},'UOgTX':function(_0x20b28b,_0x443616){return _0x20b28b===_0x443616;},'PjqnM':function(_0x86c2ab){return _0x86c2ab();},'oEmCI':function(_0x22a15a,_0x5407df){return _0x22a15a+_0x5407df;},'cfquB':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','NsRld':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','NIqau':function(_0x13e059,_0xfec1fc,_0x204930){return _0x13e059(_0xfec1fc,_0x204930);}},_0x5d616f=_0x472fd7['pikEc'](getMcpAuthUrl);currentOrigin=_0x5d616f;const _0x41f30a=process['stdout'][_0x317fb8(0x24a)]??![];console[_0x317fb8(0x212)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x5d616f+'\x0a');const _0x5cc501=await tryUnauthenticated(_0x5d616f);let _0x596863=null;if(_0x472fd7['UOgTX'](_0x5cc501,'proxied'))_0x596863='';else{_0x596863=await _0x472fd7[_0x317fb8(0x244)](loadCachedToken);if(!_0x596863){if(!_0x41f30a)throw new Error(_0x472fd7[_0x317fb8(0x22b)](_0x472fd7['cfquB'],_0x472fd7[_0x317fb8(0x1d0)]));_0x596863=await oauthFlow(_0x5d616f);}}await _0x472fd7['NIqau'](callGetCliToken,_0x5d616f,_0x596863);}async function tryUnauthenticated(_0x5b1be2){const _0x58389a=_0x3bf1e4,_0x4422c4={'jmfFs':function(_0x26cc17,_0x404e4d,_0xa82926){return _0x26cc17(_0x404e4d,_0xa82926);},'YGYuq':'application/json,\x20text/event-stream','lqjXz':'initialize','lKFZz':_0x58389a(0x1e6),'JkkFf':function(_0x3b3c50,_0x197577){return _0x3b3c50===_0x197577;}},_0x319b39=await _0x4422c4[_0x58389a(0x1ec)](fetch,_0x5b1be2,{'method':_0x58389a(0x221),'headers':{'Content-Type':_0x58389a(0x242),'Accept':_0x4422c4[_0x58389a(0x243)]},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':_0x4422c4[_0x58389a(0x1e2)],'params':{'protocolVersion':_0x58389a(0x236),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x58389a(0x1c5)}}})});if(_0x319b39['ok'])return await _0x319b39['text'](),_0x4422c4['lKFZz'];if(_0x4422c4[_0x58389a(0x1f5)](_0x319b39['status'],0x191))return await _0x319b39[_0x58389a(0x235)](),_0x58389a(0x233);const _0xbe983a=await _0x319b39['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x319b39[_0x58389a(0x1ef)]+':\x20'+_0xbe983a);}class OAuthTimeoutError extends Error{constructor(_0x11d3d5){const _0x4f3ffe=_0x3bf1e4;super(_0x11d3d5),this[_0x4f3ffe(0x23e)]='OAuthTimeoutError';}}async function oauthFlow(_0x153ec3){const _0xe9e757=_0x3bf1e4,_0x1adc3a={'uwqMj':function(_0x18b406,_0x9b406a){return _0x18b406(_0x9b406a);},'iQJFX':_0xe9e757(0x237),'tdNjU':function(_0x5558e4,_0xc7f2bf){return _0x5558e4(_0xc7f2bf);}};try{return await _0x1adc3a['uwqMj'](oauthFlowAttempt,_0x153ec3);}catch(_0x45477c){if(_0x45477c instanceof OAuthTimeoutError&&await loadCachedClient())return console[_0xe9e757(0x212)](_0x1adc3a['iQJFX']),await clearCachedClient(),await _0x1adc3a['tdNjU'](oauthFlowAttempt,_0x153ec3);throw _0x45477c;}}async function oauthFlowAttempt(_0xf6723e){const _0x5ca391=_0x3bf1e4,_0x2e0501={'fTRDl':_0x5ca391(0x20f),'lmaYh':function(_0x518dfe,_0x171bfb){return _0x518dfe(_0x171bfb);},'eOidR':function(_0x88abaf){return _0x88abaf();},'yYBJm':function(_0x39abd1,_0x25320d,_0x12a118){return _0x39abd1(_0x25320d,_0x12a118);},'NWAMK':'refresh_token','FozWK':_0x5ca391(0x23f),'yvvjL':_0x5ca391(0x1de),'gjhOV':function(_0x23d023,_0x5ae576){return _0x23d023(_0x5ae576);},'xMDiY':'sha256','fVFyL':_0x5ca391(0x23b),'GNhCk':_0x5ca391(0x241),'WSIhC':'client_id','VEvnH':'code_challenge','DZyzZ':'code_challenge_method','khuZv':'state','UCfJb':_0x5ca391(0x229),'EBHyI':'POST','lHJwy':_0x5ca391(0x1cd),'BnDzp':function(_0x1a7323,_0x218a0e,_0x4f603f,_0xe8b394){return _0x1a7323(_0x218a0e,_0x4f603f,_0xe8b394);}},_0x3b3ccb=_0xf6723e['replace'](/\/mcp$/,'');process[_0x5ca391(0x1d2)]['write'](_0x2e0501['fTRDl']);const _0x41c451=await fetch(_0x3b3ccb+_0x5ca391(0x1c9));if(!_0x41c451['ok'])throw new Error(_0x5ca391(0x1d3));const _0x68cf22=await _0x41c451['json'](),_0x2f2016=_0x68cf22[_0x5ca391(0x1dc)]?.[0x0];if(!_0x2f2016)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console['log']('\x20'+_0x2f2016);const _0x553acd=await _0x2e0501['lmaYh'](fetchAuthServerMetadata,_0x2f2016);let _0x5a40ff,_0xf92be5;const _0x53dd68=await _0x2e0501[_0x5ca391(0x225)](loadCachedClient);if(_0x53dd68)_0x5a40ff=_0x53dd68['clientId'],_0xf92be5=_0x53dd68['clientSecret'];else{if(_0x553acd['registration_endpoint']){process[_0x5ca391(0x1d2)][_0x5ca391(0x1ff)](_0x5ca391(0x220));const _0x3ef9f5=await _0x2e0501[_0x5ca391(0x1e5)](fetch,_0x553acd[_0x5ca391(0x20e)],{'method':_0x5ca391(0x221),'headers':{'Content-Type':_0x5ca391(0x242)},'body':JSON['stringify']({'client_name':'Ranger\x20CLI','redirect_uris':[_0x5ca391(0x20c)+CALLBACK_PORT+'/callback'],'grant_types':['authorization_code',_0x2e0501['NWAMK']],'response_types':[_0x2e0501[_0x5ca391(0x1e8)]],'token_endpoint_auth_method':'none'})});if(!_0x3ef9f5['ok']){const _0x27dfb8=await _0x3ef9f5['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x27dfb8);}const _0x5c5fcf=await _0x3ef9f5[_0x5ca391(0x21c)]();_0x5a40ff=_0x5c5fcf[_0x5ca391(0x1c6)],_0xf92be5=_0x5c5fcf['client_secret'],await _0x2e0501['yYBJm'](saveCachedClient,_0x5a40ff,_0xf92be5),console[_0x5ca391(0x212)](_0x2e0501[_0x5ca391(0x1fb)]);}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x4ad49d=_0x2e0501[_0x5ca391(0x1e1)](randomBytes,0x20)['toString'](_0x5ca391(0x23b)),_0x291a8c=createHash(_0x2e0501['xMDiY'])['update'](_0x4ad49d)[_0x5ca391(0x21a)](_0x2e0501[_0x5ca391(0x1c8)]),_0xf3fba3=randomBytes(0x10)[_0x5ca391(0x1eb)]('hex'),_0x5762d1=new URL(_0x553acd[_0x5ca391(0x1c1)]);_0x5762d1[_0x5ca391(0x24b)]['set'](_0x2e0501['GNhCk'],_0x2e0501[_0x5ca391(0x1e8)]),_0x5762d1[_0x5ca391(0x24b)]['set'](_0x2e0501[_0x5ca391(0x22d)],_0x5a40ff),_0x5762d1[_0x5ca391(0x24b)]['set']('redirect_uri','http://localhost:'+CALLBACK_PORT+'/callback'),_0x5762d1['searchParams']['set'](_0x2e0501['VEvnH'],_0x291a8c),_0x5762d1[_0x5ca391(0x24b)][_0x5ca391(0x200)](_0x2e0501['DZyzZ'],'S256'),_0x5762d1['searchParams'][_0x5ca391(0x200)](_0x2e0501[_0x5ca391(0x23d)],_0xf3fba3);_0x68cf22[_0x5ca391(0x229)]&&_0x5762d1['searchParams'][_0x5ca391(0x200)](_0x2e0501['UCfJb'],_0x68cf22[_0x5ca391(0x229)]);console['log'](_0x5ca391(0x1d1)),console['log'](_0x5ca391(0x1fc)+_0x5762d1[_0x5ca391(0x1eb)]()+'\x0a'),await _0x2e0501[_0x5ca391(0x208)](openBrowser,_0x5762d1['toString']());const _0x159e96=await _0x2e0501[_0x5ca391(0x208)](waitForCallback,_0xf3fba3);process[_0x5ca391(0x1d2)][_0x5ca391(0x1ff)]('Exchanging\x20authorization\x20code...');const _0x3f6f24=new URLSearchParams({'grant_type':_0x5ca391(0x232),'code':_0x159e96,'redirect_uri':_0x5ca391(0x20c)+CALLBACK_PORT+'/callback','client_id':_0x5a40ff,'code_verifier':_0x4ad49d});_0xf92be5&&_0x3f6f24['set']('client_secret',_0xf92be5);_0x68cf22['resource']&&_0x3f6f24['set'](_0x5ca391(0x229),_0x68cf22[_0x5ca391(0x229)]);const _0x20e911=await fetch(_0x553acd[_0x5ca391(0x1c4)],{'method':_0x2e0501['EBHyI'],'headers':{'Content-Type':_0x2e0501['lHJwy']},'body':_0x3f6f24});if(!_0x20e911['ok']){const _0x405dd4=await _0x20e911[_0x5ca391(0x235)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x405dd4);}const _0x32bac6=await _0x20e911[_0x5ca391(0x21c)]();return console[_0x5ca391(0x212)](_0x2e0501[_0x5ca391(0x1fb)]),await _0x2e0501[_0x5ca391(0x1f1)](saveCachedToken,_0x32bac6[_0x5ca391(0x21b)],_0x32bac6['refresh_token'],_0x32bac6[_0x5ca391(0x234)]),_0x32bac6[_0x5ca391(0x21b)];}async function callGetCliToken(_0x3b911b,_0x43f58e){const _0x83b1c5=_0x3bf1e4,_0x5b76da={'MFvtY':_0x83b1c5(0x242),'jSdOQ':_0x83b1c5(0x1ee),'PPTzT':function(_0x5bb396,_0x33af14){return _0x5bb396(_0x33af14);},'VIKtA':_0x83b1c5(0x236),'OkVjB':_0x83b1c5(0x1c5),'lKqxA':'\x20done','xUeJY':_0x83b1c5(0x221),'tSJBS':_0x83b1c5(0x1fd),'QdbUI':_0x83b1c5(0x22e),'OZJNa':'Requesting\x20CLI\x20token...','qOuEw':_0x83b1c5(0x1e7),'emuUP':_0x83b1c5(0x1fa),'NTMHP':function(_0x34038c){return _0x34038c();},'WLDts':_0x83b1c5(0x1d4),'tHEwO':'refresh.txt','ZZesF':function(_0x26d2fc,_0x195b63,_0x1f9bf7){return _0x26d2fc(_0x195b63,_0x1f9bf7);},'kxByz':function(_0x7d6859,_0x197200,_0x1443c5,_0xeafdc1){return _0x7d6859(_0x197200,_0x1443c5,_0xeafdc1);},'VKhNl':function(_0x472276,_0x8835dc,_0x5754df){return _0x472276(_0x8835dc,_0x5754df);},'Ysksv':_0x83b1c5(0x1e0),'clzLv':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x14b5ce={'Content-Type':_0x5b76da['MFvtY'],'Accept':_0x5b76da['jSdOQ']};_0x43f58e&&(_0x14b5ce['Authorization']=_0x83b1c5(0x249)+_0x43f58e);const _0x47bb4b=async _0x2d14ec=>{const _0x576346=_0x83b1c5,_0x3d7d1d=await fetch(_0x3b911b,{'method':_0x576346(0x221),'headers':_0x14b5ce,'body':JSON['stringify'](_0x2d14ec)});if(!_0x3d7d1d['ok']){const _0x5a4f8c=await _0x3d7d1d[_0x576346(0x235)]();throw new Error(_0x576346(0x227)+_0x3d7d1d['status']+':\x20'+_0x5a4f8c);}return parseResponse(_0x3d7d1d);};process[_0x83b1c5(0x1d2)]['write']('Initializing\x20MCP\x20session...');const _0x43fa94=await _0x5b76da['PPTzT'](_0x47bb4b,{'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x5b76da['VIKtA'],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x5b76da['OkVjB']}}});if(_0x43fa94[_0x83b1c5(0x206)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x43fa94[_0x83b1c5(0x206)][_0x83b1c5(0x218)]??JSON[_0x83b1c5(0x201)](_0x43fa94['error'])));console['log'](_0x5b76da[_0x83b1c5(0x209)]),await fetch(_0x3b911b,{'method':_0x5b76da[_0x83b1c5(0x224)],'headers':_0x14b5ce,'body':JSON['stringify']({'jsonrpc':_0x5b76da[_0x83b1c5(0x22a)],'method':_0x5b76da[_0x83b1c5(0x22f)]})})[_0x83b1c5(0x207)](_0x1a2a78=>_0x1a2a78['text']()),process[_0x83b1c5(0x1d2)][_0x83b1c5(0x1ff)](_0x5b76da[_0x83b1c5(0x1d6)]);const _0x38f813=await _0x5b76da['PPTzT'](_0x47bb4b,{'jsonrpc':_0x83b1c5(0x1fd),'id':0x2,'method':_0x5b76da['qOuEw'],'params':{'name':_0x5b76da['emuUP'],'arguments':{}}});if(_0x38f813['error'])throw new Error(_0x83b1c5(0x1d5)+(_0x38f813[_0x83b1c5(0x206)][_0x83b1c5(0x218)]??JSON[_0x83b1c5(0x201)](_0x38f813['error'])));console[_0x83b1c5(0x212)]('\x20done');const _0x8357f9=extractToken(_0x38f813[_0x83b1c5(0x203)]);if(!_0x8357f9){console['error']('\x0aUnexpected\x20response\x20structure:'),console[_0x83b1c5(0x206)](JSON[_0x83b1c5(0x201)](_0x38f813['result'],null,0x2));throw new Error(_0x83b1c5(0x1da));}const _0x51d162=join(_0x5b76da[_0x83b1c5(0x247)](homedir),_0x5b76da[_0x83b1c5(0x22c)]),_0x4f5b66=join(_0x51d162,_0x5b76da['tHEwO']);await _0x5b76da[_0x83b1c5(0x210)](mkdir,_0x51d162,{'recursive':!![]}),await _0x5b76da['kxByz'](writeFile,_0x4f5b66,_0x8357f9,{'mode':0x180}),await _0x5b76da[_0x83b1c5(0x248)](writeFile,_0x5b76da['VKhNl'](join,_0x51d162,_0x5b76da['Ysksv']),_0x3b911b,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x4f5b66),console['log'](_0x5b76da['clzLv']);}async function fetchAuthServerMetadata(_0x53d1fd){const _0xcc7479=_0x3bf1e4,_0x183e65=_0x53d1fd+'/.well-known/oauth-authorization-server',_0x4dfaf0=await fetch(_0x183e65);if(!_0x4dfaf0['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x183e65+':\x20'+_0x4dfaf0[_0xcc7479(0x1ef)]);return _0x4dfaf0[_0xcc7479(0x21c)]();}function _0x230d(_0x566b57,_0x499869){_0x566b57=_0x566b57-0x1c1;const _0xa81ea0=_0xa81e();let _0x230d08=_0xa81ea0[_0x566b57];return _0x230d08;}function waitForCallback(_0x18cef1){const _0x25882e=_0x3bf1e4,_0x80bdb5={'RJELZ':function(_0x22676f){return _0x22676f();},'qcNsS':_0x25882e(0x204),'zgPft':'state','djzML':'error','hmrAL':function(_0x355a97,_0x89bf16){return _0x355a97!==_0x89bf16;},'pxtFl':'text/html','hyRvo':function(_0x3ef678,_0x69cc0c){return _0x3ef678(_0x69cc0c);}};return new Promise((_0x4745c6,_0x2d858a)=>{const _0x2a6384=_0x25882e,_0x3838bf=()=>{_0x2482ff['closeAllConnections'](),_0x2482ff['close']();},_0x4335b2=setTimeout(()=>{const _0x108e6a=_0x230d;_0x80bdb5[_0x108e6a(0x239)](_0x3838bf),_0x2d858a(new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x2482ff=createServer((_0x47277b,_0x4979ba)=>{const _0x4a5273=_0x230d,_0x2a0685=new URL(_0x47277b['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x2a0685['pathname']!=='/callback'){_0x4979ba[_0x4a5273(0x1cc)](0x194),_0x4979ba['end'](_0x80bdb5[_0x4a5273(0x223)]);return;}const _0xae5428=_0x2a0685[_0x4a5273(0x24b)]['get'](_0x4a5273(0x23f)),_0x1b2fbe=_0x2a0685[_0x4a5273(0x24b)]['get'](_0x80bdb5['zgPft']),_0x433511=_0x2a0685[_0x4a5273(0x24b)]['get'](_0x80bdb5[_0x4a5273(0x219)]);if(_0x433511){const _0x367652=_0x2a0685['searchParams']['get']('error_description')??_0x433511;_0x4979ba['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x4979ba['end'](_0x4a5273(0x1f7)+_0x367652+_0x4a5273(0x1cb)),clearTimeout(_0x4335b2),_0x3838bf(),_0x2d858a(new Error('OAuth\x20error:\x20'+_0x367652));return;}if(!_0xae5428||_0x80bdb5[_0x4a5273(0x20d)](_0x1b2fbe,_0x18cef1)){_0x4979ba[_0x4a5273(0x1cc)](0x190,{'Content-Type':_0x80bdb5[_0x4a5273(0x1f2)]}),_0x4979ba[_0x4a5273(0x205)]('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x4979ba[_0x4a5273(0x1cc)](0xc8,{'Content-Type':_0x80bdb5[_0x4a5273(0x1f2)]}),_0x4979ba[_0x4a5273(0x205)](_0x4a5273(0x1f6)),clearTimeout(_0x4335b2),_0x3838bf(),_0x80bdb5[_0x4a5273(0x245)](_0x4745c6,_0xae5428);});_0x2482ff[_0x2a6384(0x21d)](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0x32f29a){const _0x433de2=_0x3bf1e4,_0x473d02={'xOihO':'open','rolgA':'xdg-open','SuNIY':function(_0x2c1bab,_0x161427){return _0x2c1bab(_0x161427);}},_0x435077=process[_0x433de2(0x213)]===_0x433de2(0x240)?_0x473d02['xOihO']:process[_0x433de2(0x213)]===_0x433de2(0x1ed)?_0x433de2(0x1ca):_0x473d02[_0x433de2(0x217)];_0x473d02[_0x433de2(0x216)](exec,_0x435077+'\x20\x22'+_0x32f29a+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x19fa37=_0x3bf1e4,_0x243df5={'JGmLs':_0x19fa37(0x1fe),'EtSnr':function(_0x46fa0c,_0x4f24a9){return _0x46fa0c!==_0x4f24a9;},'BYADD':function(_0x81c6f8,_0x3f9427){return _0x81c6f8>_0x3f9427;}};try{const _0x4e05d2=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x243df5['JGmLs']));if(_0x4e05d2['origin']&&_0x243df5['EtSnr'](_0x4e05d2[_0x19fa37(0x231)],currentOrigin))return null;if(_0x4e05d2['expiresAt']&&_0x243df5[_0x19fa37(0x23c)](Date['now'](),_0x4e05d2[_0x19fa37(0x211)]))return null;return _0x4e05d2['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x103ada,_0x2cabef,_0x4f953d){const _0x533fce=_0x3bf1e4,_0x160bb9={'eAypt':function(_0x4bd944){return _0x4bd944();},'xrlok':function(_0x45da5d){return _0x45da5d();},'leUJm':function(_0x4b7da9,_0x2b4d2d,_0x55b54d,_0x1536f0){return _0x4b7da9(_0x2b4d2d,_0x55b54d,_0x1536f0);}},_0x54b6c3=await _0x160bb9[_0x533fce(0x23a)](loadCachedData),_0x2df9b0={..._0x54b6c3,'origin':currentOrigin,'accessToken':_0x103ada,'refreshToken':_0x2cabef??_0x54b6c3?.[_0x533fce(0x238)],'expiresAt':_0x4f953d?Date['now']()+_0x4f953d*0x3e8:undefined};await mkdir(join(_0x160bb9['xrlok'](homedir),_0x533fce(0x1d4)),{'recursive':!![]}),await _0x160bb9[_0x533fce(0x1df)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x2df9b0),{'mode':0x180});}async function loadCachedClient(){const _0x45334d=_0x3bf1e4,_0x29355c=await loadCachedData();if(_0x29355c?.['origin']&&_0x29355c['origin']!==currentOrigin)return null;return _0x29355c?.[_0x45334d(0x1f4)]?{'clientId':_0x29355c[_0x45334d(0x1f4)],'clientSecret':_0x29355c['clientSecret']}:null;}async function clearCachedClient(){const _0x37d81a=_0x3bf1e4,_0x497de8={'InpUj':function(_0x14ea78){return _0x14ea78();}},_0xba4bec=await _0x497de8[_0x37d81a(0x1e9)](loadCachedData);if(!_0xba4bec)return;const {clientId:_0x2c06f2,clientSecret:_0x854876,..._0x5a3e12}=_0xba4bec;await writeFile(TOKEN_CACHE_PATH,JSON[_0x37d81a(0x201)](_0x5a3e12),{'mode':0x180});}function _0xa81e(){const _0x172b2b=['code','darwin','response_type','application/json','YGYuq','PjqnM','hyRvo','CoTMH','NTMHP','kxByz','Bearer\x20','isTTY','searchParams','authorization_endpoint','541164BYXHkM','8vPMplA','token_endpoint','1.0.0','client_id','headers','fVFyL','/.well-known/oauth-protected-resource','start','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','writeHead','application/x-www-form-urlencoded','gtDWv','261786orSOuR','NsRld','\x0aOpening\x20browser\x20for\x20authentication...','stdout','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','.ranger','get_cli_token\x20failed:\x20','OZJNa','HOAuq','content','4370280sObLoy','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','data:','authorization_servers','208076LkbpVz','\x20done','leUJm','auth-origin.txt','gjhOV','lqjXz','4373415rSFVFR','includes','yYBJm','proxied','tools/call','FozWK','InpUj','DUXmg','toString','jmfFs','win32','application/json,\x20text/event-stream','status','476124zdReTC','BnDzp','pxtFl','116609kKHdoW','clientId','JkkFf','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','<html><body><h2>Authentication\x20failed</h2><p>','get','token','get_cli_token','yvvjL','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','2.0','utf-8','write','set','stringify','structuredContent','result','Not\x20found','end','error','then','lmaYh','lKqxA','gpPrp','content-type','http://localhost:','hmrAL','registration_endpoint','Discovering\x20authorization\x20server...','ZZesF','expiresAt','log','platform','slice','startsWith','SuNIY','rolgA','message','djzML','digest','access_token','json','listen','parse','15QyuSAg','Registering\x20OAuth\x20client...','POST','eeBPT','qcNsS','xUeJY','eOidR','3zhYUFO','HTTP\x20','pOBDI','resource','tSJBS','oEmCI','WLDts','WSIhC','notifications/initialized','QdbUI','Server\x20returned\x20error:\x20','origin','authorization_code','needs-oauth','expires_in','text','2025-03-26','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','refreshToken','RJELZ','eAypt','base64url','BYADD','khuZv','name'];_0xa81e=function(){return _0x172b2b;};return _0xa81e();}async function saveCachedClient(_0x266199,_0x5bfd75){const _0x5285cf=_0x3bf1e4,_0x18c90b={'CoTMH':function(_0x514820){return _0x514820();},'Vzrkz':function(_0x49836d,_0xd05fb3,_0x342193){return _0x49836d(_0xd05fb3,_0x342193);},'aWmMh':_0x5285cf(0x1d4)},_0x2b42ba=await _0x18c90b['CoTMH'](loadCachedData),_0x4a5668={..._0x2b42ba,'origin':currentOrigin,'accessToken':_0x2b42ba?.['accessToken']??'','clientId':_0x266199,'clientSecret':_0x5bfd75};await mkdir(_0x18c90b['Vzrkz'](join,_0x18c90b[_0x5285cf(0x246)](homedir),_0x18c90b['aWmMh']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x5285cf(0x201)](_0x4a5668),{'mode':0x180});}async function loadCachedData(){const _0x7f8201=_0x3bf1e4,_0x531095={'pOBDI':'utf-8'};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x531095[_0x7f8201(0x228)]));}catch{return null;}}async function parseResponse(_0x2a6f62){const _0x3d8994=_0x3bf1e4,_0x3f4f36={'gpPrp':_0x3d8994(0x1db),'OypHk':function(_0x3a3791,_0x5601f4){return _0x3a3791!==_0x5601f4;},'HOAuq':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x1f7232=_0x2a6f62[_0x3d8994(0x1c7)][_0x3d8994(0x1f8)](_0x3d8994(0x20b))??'';if(_0x1f7232[_0x3d8994(0x1e4)]('text/event-stream')){const _0x93bc0a=await _0x2a6f62['text']();for(const _0x1cee58 of _0x93bc0a['split']('\x0a')){const _0x5cde07=_0x1cee58['trim']();if(_0x5cde07[_0x3d8994(0x215)](_0x3f4f36[_0x3d8994(0x20a)])){const _0x33c750=_0x5cde07[_0x3d8994(0x214)](_0x3d8994(0x1db)['length'])['trim']();if(!_0x33c750)continue;try{const _0x45533a=JSON['parse'](_0x33c750);if(_0x3f4f36['OypHk'](_0x45533a['id'],undefined)||_0x45533a['error'])return _0x45533a;}catch{}}}throw new Error(_0x3f4f36[_0x3d8994(0x1d7)]);}return _0x2a6f62[_0x3d8994(0x21c)]();}function extractToken(_0x1c7ad7){const _0x4e725a=_0x3bf1e4,_0x21ad2b={'gtDWv':function(_0x3e022c,_0x35ee83){return _0x3e022c===_0x35ee83;},'RdaHc':_0x4e725a(0x235),'DUXmg':function(_0x45a65e,_0x4e9f4d){return _0x45a65e===_0x4e9f4d;},'WSHQq':'string'};if(!_0x1c7ad7)return null;const _0x186bb3=_0x1c7ad7[_0x4e725a(0x202)];if(_0x186bb3?.[_0x4e725a(0x1f9)]&&_0x21ad2b[_0x4e725a(0x1ce)](typeof _0x186bb3[_0x4e725a(0x1f9)],'string'))return _0x186bb3[_0x4e725a(0x1f9)];if(_0x1c7ad7['isError']){const _0x194081=_0x1c7ad7[_0x4e725a(0x1d8)];throw new Error(_0x4e725a(0x230)+(_0x194081?.[0x0]?.['text']??'Unknown\x20error'));}const _0x1e2536=_0x1c7ad7[_0x4e725a(0x1d8)];if(_0x1e2536)for(const _0x357794 of _0x1e2536){if(_0x357794['type']===_0x21ad2b['RdaHc']&&_0x357794[_0x4e725a(0x235)]){try{const _0x372794=JSON[_0x4e725a(0x21e)](_0x357794[_0x4e725a(0x235)]);if(_0x21ad2b[_0x4e725a(0x1ea)](typeof _0x372794?.['token'],_0x21ad2b['WSHQq']))return _0x372794['token'];}catch{}const _0x4424c3=_0x357794[_0x4e725a(0x235)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x4424c3)return _0x4424c3[0x1];}}return null;}
@@ -1 +1 @@
1
- function _0x992f(_0x155d59,_0x355bf6){_0x155d59=_0x155d59-0xe0;var _0x27450b=_0x2745();var _0x992fc7=_0x27450b[_0x155d59];return _0x992fc7;}(function(_0x555003,_0x1f9a0e){var _0x578af4=_0x992f,_0x55006d=_0x555003();while(!![]){try{var _0x5cb63f=-parseInt(_0x578af4(0xe6))/0x1+parseInt(_0x578af4(0xf4))/0x2*(-parseInt(_0x578af4(0xf2))/0x3)+-parseInt(_0x578af4(0xe3))/0x4*(-parseInt(_0x578af4(0xe4))/0x5)+parseInt(_0x578af4(0xec))/0x6*(parseInt(_0x578af4(0xf0))/0x7)+-parseInt(_0x578af4(0xeb))/0x8*(parseInt(_0x578af4(0xe8))/0x9)+parseInt(_0x578af4(0xf1))/0xa*(parseInt(_0x578af4(0xee))/0xb)+parseInt(_0x578af4(0xe7))/0xc*(-parseInt(_0x578af4(0xef))/0xd);if(_0x5cb63f===_0x1f9a0e)break;else _0x55006d['push'](_0x55006d['shift']());}catch(_0x2accda){_0x55006d['push'](_0x55006d['shift']());}}}(_0x2745,0x6e20c));export async function migrateProfile(_0x4cead4,_0x67c9f8){var _0x457fa5=_0x992f,_0x57e3cd={'AMCIz':function(_0x456995,_0x3d37ee){return _0x456995+_0x3d37ee;},'yALpn':function(_0x5297ac,_0x4ff286){return _0x5297ac+_0x4ff286;},'miygH':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','AiDpS':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','ytuOY':_0x457fa5(0xe5),'JTFzJ':_0x457fa5(0xf3),'usfSx':'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'};console['error'](_0x57e3cd['AMCIz'](_0x57e3cd['AMCIz'](_0x57e3cd['AMCIz'](_0x57e3cd[_0x457fa5(0xe2)](_0x57e3cd[_0x457fa5(0xe0)](_0x57e3cd['AMCIz'](_0x57e3cd[_0x457fa5(0xe1)],'\x0a'),_0x57e3cd['AiDpS']),'\x20\x20ranger\x20profile\x20add\x20<name>\x0a')+'\x0a'+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a',_0x57e3cd['ytuOY']),'\x0a'),_0x57e3cd[_0x457fa5(0xe9)])+_0x57e3cd[_0x457fa5(0xed)]),process[_0x457fa5(0xea)](0x1);}function _0x2745(){var _0x1c60f5=['usfSx','22BFcPkK','78kgHKuz','71890kCINhY','3082050pMVSgq','132wzaxFJ','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','28024PeDhia','AMCIz','miygH','yALpn','857436nJxRDc','20mdyXEz','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','698117DgoeAE','231708GRSnQG','1413rygrss','JTFzJ','exit','18472fwokmW','450oOSExJ'];_0x2745=function(){return _0x1c60f5;};return _0x2745();}
1
+ function _0x9428(_0x123f19,_0x449fad){_0x123f19=_0x123f19-0x96;var _0x2af8bd=_0x2af8();var _0x9428ce=_0x2af8bd[_0x123f19];return _0x9428ce;}function _0x2af8(){var _0x1a61a5=['22627990lGnPpz','error','exit','495588PrEFGx','704865mNgvvX','499714FELkDp','kJhQW','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','3438FuKaBE','APvJH','9168fWZkfj','4vvivlm','3068940dDCZXb','6RJWLqR','5197549qNGAYt','HSFxq'];_0x2af8=function(){return _0x1a61a5;};return _0x2af8();}(function(_0x24e9f0,_0x4f2326){var _0x1b7c97=_0x9428,_0x8077ce=_0x24e9f0();while(!![]){try{var _0x4b761b=-parseInt(_0x1b7c97(0x9c))/0x1+parseInt(_0x1b7c97(0x9e))/0x2+parseInt(_0x1b7c97(0x9d))/0x3+-parseInt(_0x1b7c97(0xa5))/0x4*(parseInt(_0x1b7c97(0xa6))/0x5)+-parseInt(_0x1b7c97(0x96))/0x6*(parseInt(_0x1b7c97(0x97))/0x7)+parseInt(_0x1b7c97(0xa4))/0x8*(-parseInt(_0x1b7c97(0xa2))/0x9)+parseInt(_0x1b7c97(0x99))/0xa;if(_0x4b761b===_0x4f2326)break;else _0x8077ce['push'](_0x8077ce['shift']());}catch(_0x473024){_0x8077ce['push'](_0x8077ce['shift']());}}}(_0x2af8,0x6fce4));export async function migrateProfile(_0x901ff1,_0x2754d1){var _0x39debc=_0x9428,_0x402f70={'HSFxq':function(_0x376349,_0x588da1){return _0x376349+_0x588da1;},'ssjXw':function(_0x2a90d5,_0x152327){return _0x2a90d5+_0x152327;},'kJhQW':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','APvJH':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','EzHOJ':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'};console[_0x39debc(0x9a)](_0x402f70[_0x39debc(0x98)](_0x402f70[_0x39debc(0x98)](_0x402f70['ssjXw'](_0x39debc(0xa0)+'\x0a',_0x402f70[_0x39debc(0x9f)])+_0x402f70[_0x39debc(0xa3)],'\x0a')+_0x402f70['EzHOJ']+'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','\x0a')+_0x39debc(0xa1)+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process[_0x39debc(0x9b)](0x1);}
@@ -1 +1 @@
1
- (function(_0x4974a5,_0x154eb6){const _0x2e4000=_0x5752,_0x2f9747=_0x4974a5();while(!![]){try{const _0x1c192d=-parseInt(_0x2e4000(0x1a7))/0x1+parseInt(_0x2e4000(0x195))/0x2*(parseInt(_0x2e4000(0x19e))/0x3)+-parseInt(_0x2e4000(0x199))/0x4*(-parseInt(_0x2e4000(0x1b7))/0x5)+parseInt(_0x2e4000(0x193))/0x6+-parseInt(_0x2e4000(0x1b6))/0x7+-parseInt(_0x2e4000(0x1a3))/0x8+-parseInt(_0x2e4000(0x1c3))/0x9;if(_0x1c192d===_0x154eb6)break;else _0x2f9747['push'](_0x2f9747['shift']());}catch(_0x579914){_0x2f9747['push'](_0x2f9747['shift']());}}}(_0x14b9,0x997f5));import{join}from'path';import{existsSync}from'fs';import _0x215ede from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x5ecb7){const _0xd33b28=_0x5752,_0x2ddfd4={'CAWCs':function(_0x3fa310,_0x2a7391){return _0x3fa310(_0x2a7391);},'gFpJj':'ranger@trailhead','nIbmJ':_0xd33b28(0x1a0),'tJSga':function(_0x269751,_0x4501f9,_0x4910ef){return _0x269751(_0x4501f9,_0x4910ef);},'xNZzr':function(_0x157000){return _0x157000();},'sLTcI':'Where\x20should\x20the\x20plugin\x20be\x20installed?','itkwq':_0xd33b28(0x1aa),'BHble':'user','oLKrB':function(_0x4ddfdc,_0x324294){return _0x4ddfdc(_0x324294);},'YEJzm':'ranger-testing/trailhead','zuDRK':_0xd33b28(0x1b0),'iJZaq':'\x0aYou\x20can\x20install\x20manually\x20with:','McdMQ':_0xd33b28(0x1b1),'WehJd':_0xd33b28(0x1ab),'hTSuT':function(_0x2cfa10,_0x16152e){return _0x2cfa10===_0x16152e;},'XvkbX':'enable','NgWYH':'--scope','HrAYy':function(_0xf217f,_0x59928d){return _0xf217f===_0x59928d;},'EejBZ':_0xd33b28(0x1b4),'SLTjb':_0xd33b28(0x192)},_0x448e99=await _0x2ddfd4['CAWCs'](isPluginInstalled,_0x2ddfd4[_0xd33b28(0x19c)]);if(_0x448e99)return console['log'](_0x2ddfd4['nIbmJ']),![];const _0x2f8fbe=_0x2ddfd4['CAWCs'](existsSync,_0x2ddfd4[_0xd33b28(0x1bb)](join,_0x2ddfd4['xNZzr'](getProjectRoot),'.claude'));let _0x119652;if(_0x5ecb7)_0x119652=_0x5ecb7;else{if(_0x2f8fbe)_0x119652='project';else{console[_0xd33b28(0x1b9)]('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x23d5a2=await _0x215ede[_0xd33b28(0x1a1)]([{'type':'list','name':_0xd33b28(0x1af),'message':_0x2ddfd4['sLTcI'],'choices':[{'name':_0xd33b28(0x19a),'value':_0xd33b28(0x1bc)},{'name':_0xd33b28(0x1b3),'value':_0x2ddfd4[_0xd33b28(0x1a4)]}],'default':_0x2ddfd4['BHble']}]);_0x119652=_0x23d5a2['pluginScope'];}}console[_0xd33b28(0x1b9)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x119652+'\x20level)...\x0a');const _0x131d29=await isMarketplaceAdded('trailhead');let _0x28309e=_0x131d29;if(_0x131d29)console[_0xd33b28(0x1b9)]('✓\x20Marketplace\x20already\x20added');else{const _0x2fac00=await _0x2ddfd4[_0xd33b28(0x194)](runClaudeCommand,['plugin','marketplace',_0xd33b28(0x19d),_0x2ddfd4['YEJzm']]);!_0x2fac00['success']?(console[_0xd33b28(0x19b)](_0x2ddfd4['zuDRK'],_0x2fac00[_0xd33b28(0x19b)]),console['log'](_0x2ddfd4['iJZaq']),console[_0xd33b28(0x1b9)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0xd33b28(0x1b9)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x119652)):_0x28309e=!![];}if(_0x28309e){const _0x1aa01c=await _0x2ddfd4['tJSga'](runClaudeCommand,[_0x2ddfd4[_0xd33b28(0x198)],_0x2ddfd4[_0xd33b28(0x1b5)],'ranger@trailhead','--scope',_0x119652],{'cwd':_0x2ddfd4[_0xd33b28(0x197)](_0x119652,'project')?_0x2ddfd4['xNZzr'](getProjectRoot):undefined});if(!_0x1aa01c[_0xd33b28(0x1ba)])console['error'](_0xd33b28(0x1c0),_0x1aa01c[_0xd33b28(0x19b)]),console['log'](_0x2ddfd4[_0xd33b28(0x1bf)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x119652);else{console[_0xd33b28(0x1b9)]('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x37425a=[_0xd33b28(0x1b1),_0x2ddfd4[_0xd33b28(0x1be)],_0x2ddfd4[_0xd33b28(0x19c)]];_0x119652===_0x2ddfd4['itkwq']&&_0x37425a['push'](_0x2ddfd4[_0xd33b28(0x196)],'project');const _0x256e67=await runClaudeCommand(_0x37425a,{'captureOutput':!![],'cwd':_0x2ddfd4['HrAYy'](_0x119652,_0xd33b28(0x1aa))?_0x2ddfd4[_0xd33b28(0x1c1)](getProjectRoot):undefined}),_0xafffe1=_0x256e67[_0xd33b28(0x1c2)]?.['includes'](_0x2ddfd4[_0xd33b28(0x1ae)]);!_0x256e67[_0xd33b28(0x1ba)]&&!_0xafffe1?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x256e67['error']):console['log'](_0x2ddfd4['SLTjb']);}}return!![];}function _0x5752(_0x2765f2,_0x2225b8){_0x2765f2=_0x2765f2-0x192;const _0x14b969=_0x14b9();let _0x57522e=_0x14b969[_0x2765f2];return _0x57522e;}export async function ensureClaudeSkills(_0x859061){const _0x3a1842=_0x5752,_0xfc8568={'CBXcM':function(_0x48295f,_0x27d220,_0x45fb21,_0x2c7003){return _0x48295f(_0x27d220,_0x45fb21,_0x2c7003);},'HdiXJ':function(_0x14cdcd,_0x4b6cdb){return _0x14cdcd(_0x4b6cdb);},'gknsT':_0x3a1842(0x1bc),'CQPfS':_0x3a1842(0x1ac),'KTeyN':function(_0x2c2b8e,_0x5af3bf,_0x9388c6,_0x67d99){return _0x2c2b8e(_0x5af3bf,_0x9388c6,_0x67d99);},'xpPVq':'SKILL.md','OrMKM':function(_0x16785d,_0x1c153e){return _0x16785d||_0x1c153e;},'NmBIm':function(_0x1cee81){return _0x1cee81();},'sOqOd':_0x3a1842(0x1a2)},_0x16d981=existsSync(_0xfc8568['CBXcM'](join,_0xfc8568[_0x3a1842(0x1b8)](getSkillsDir,_0xfc8568[_0x3a1842(0x1a5)]),_0xfc8568[_0x3a1842(0x1a9)],_0x3a1842(0x1b2))),_0x490eee=existsSync(_0xfc8568['KTeyN'](join,_0xfc8568['HdiXJ'](getSkillsDir,'project'),_0x3a1842(0x1ac),_0xfc8568[_0x3a1842(0x1a6)]));if(_0xfc8568[_0x3a1842(0x19f)](_0x16d981,_0x490eee))return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x15b7bb=existsSync(join(_0xfc8568[_0x3a1842(0x1a8)](getProjectRoot),'.claude'));let _0x58519f=!![];if(_0x859061)await skillup({'autoInstall':_0x859061,'suppressUsage':!![]});else{if(_0x15b7bb)await _0xfc8568['HdiXJ'](skillup,{'autoInstall':_0x3a1842(0x1aa),'suppressUsage':!![]});else{const _0x5e332f=await _0x215ede[_0x3a1842(0x1a1)]([{'type':_0xfc8568[_0x3a1842(0x1ad)],'name':_0x3a1842(0x1bd),'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x58519f=_0x5e332f['wantsSkillup'],_0x58519f&&await skillup({'suppressUsage':!![]});}}return _0x58519f;}function _0x14b9(){const _0x3aa000=['success','tJSga','user','wantsSkillup','XvkbX','iJZaq','❌\x20Failed\x20to\x20install\x20plugin:','xNZzr','output','3975021teSNJN','✓\x20Claude\x20Code\x20plugin\x20enabled','7089966MbYeJJ','oLKrB','558IQPzmd','NgWYH','hTSuT','McdMQ','4bWUXQc','User\x20(available\x20in\x20all\x20your\x20projects)','error','gFpJj','add','4548ZnsXDm','OrMKM','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','prompt','confirm','8225864bRLKAX','itkwq','gknsT','xpPVq','122383bosTHk','NmBIm','CQPfS','project','install','ranger','sOqOd','EejBZ','pluginScope','❌\x20Failed\x20to\x20add\x20marketplace:','plugin','SKILL.md','Project\x20(shared\x20with\x20team\x20via\x20git)','already\x20enabled','WehJd','1532398tuZnvZ','4176495ahOuVd','HdiXJ','log'];_0x14b9=function(){return _0x3aa000;};return _0x14b9();}
1
+ (function(_0x91d189,_0x4d8c1d){const _0x4ca1df=_0x2ea0,_0x3fc67b=_0x91d189();while(!![]){try{const _0x130c7b=-parseInt(_0x4ca1df(0x8f))/0x1+parseInt(_0x4ca1df(0x7b))/0x2+-parseInt(_0x4ca1df(0x8d))/0x3*(-parseInt(_0x4ca1df(0x79))/0x4)+-parseInt(_0x4ca1df(0xa0))/0x5*(-parseInt(_0x4ca1df(0x9f))/0x6)+parseInt(_0x4ca1df(0x8e))/0x7*(parseInt(_0x4ca1df(0x81))/0x8)+-parseInt(_0x4ca1df(0xa2))/0x9+-parseInt(_0x4ca1df(0x96))/0xa;if(_0x130c7b===_0x4d8c1d)break;else _0x3fc67b['push'](_0x3fc67b['shift']());}catch(_0x445a19){_0x3fc67b['push'](_0x3fc67b['shift']());}}}(_0x113e,0x50fc8));import{join}from'path';function _0x2ea0(_0x10e415,_0x2d8bbe){_0x10e415=_0x10e415-0x79;const _0x113e8b=_0x113e();let _0x2ea010=_0x113e8b[_0x10e415];return _0x2ea010;}import{existsSync}from'fs';import _0x2e954d from'inquirer';import{skillup}from'../skillup.js';function _0x113e(){const _0x4adc0c=['.claude','3250485fLSwcB','IsoJm','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','install','yuHcr','QJbeg','user','qGWdy','--scope','log','push','User\x20(available\x20in\x20all\x20your\x20projects)','project','519884DkOeux','BJcKG','1188816NhbOQq','ACbMW','✓\x20Marketplace\x20already\x20added','SKILL.md','YroTJ','error','7432xDxsZi','LCMzy','wantsSkillup','enable','plugin','output','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','bAsFw','ranger-testing/trailhead','uldHc','ranger','marketplace','15tKHyKr','4207YVXAlN','472530nlKVog','mbQHy','\x20level)...\x0a','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','SzPML','❌\x20Failed\x20to\x20install\x20plugin:','Bheav','6815960jkEsus','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','prompt','xPYzD','pluginScope','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','DbnFb','rOxuy','\x0aYou\x20can\x20install\x20manually\x20with:','6dopLUS','222095adnfBj'];_0x113e=function(){return _0x4adc0c;};return _0x113e();}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x27a9be){const _0x2e754b=_0x2ea0,_0x15adbb={'qGWdy':function(_0xd74f52,_0x4c0594){return _0xd74f52(_0x4c0594);},'uldHc':'ranger@trailhead','bAsFw':_0x2e754b(0x87),'PyHlI':_0x2e754b(0xae),'ACbMW':_0x2e754b(0x9a),'WcOlW':'Where\x20should\x20the\x20plugin\x20be\x20installed?','IsoJm':'user','Bheav':function(_0xd7086d,_0x42a5c8){return _0xd7086d(_0x42a5c8);},'LdORd':function(_0x109de6,_0x8bbb47){return _0x109de6(_0x8bbb47);},'qssAJ':_0x2e754b(0x89),'eqhFl':'❌\x20Failed\x20to\x20add\x20marketplace:','hXnBT':_0x2e754b(0x9b),'YfiNe':function(_0x1809b2,_0x47830f,_0x332696){return _0x1809b2(_0x47830f,_0x332696);},'yuHcr':'plugin','PeSTV':_0x2e754b(0xa5),'cjPhN':function(_0x58d2ef,_0x18a412){return _0x58d2ef===_0x18a412;},'mbQHy':_0x2e754b(0x94),'yqYLs':_0x2e754b(0x84),'QJbeg':_0x2e754b(0xaa),'rOxuy':'⚠\x20Failed\x20to\x20enable\x20plugin:','pMQyI':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x3600b9=await _0x15adbb[_0x2e754b(0xa9)](isPluginInstalled,_0x15adbb[_0x2e754b(0x8a)]);if(_0x3600b9)return console[_0x2e754b(0xab)](_0x15adbb[_0x2e754b(0x88)]),![];const _0x3cb226=existsSync(join(getProjectRoot(),_0x2e754b(0xa1)));let _0x3b8f24;if(_0x27a9be)_0x3b8f24=_0x27a9be;else{if(_0x3cb226)_0x3b8f24=_0x15adbb['PyHlI'];else{console['log']('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x5a0a09=await _0x2e954d[_0x2e754b(0x98)]([{'type':'list','name':_0x15adbb[_0x2e754b(0x7c)],'message':_0x15adbb['WcOlW'],'choices':[{'name':_0x2e754b(0xad),'value':_0x2e754b(0xa8)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x15adbb['PyHlI']}],'default':_0x15adbb[_0x2e754b(0xa3)]}]);_0x3b8f24=_0x5a0a09['pluginScope'];}}console[_0x2e754b(0xab)](_0x2e754b(0xa4)+_0x3b8f24+_0x2e754b(0x91));const _0x5b76e7=await _0x15adbb[_0x2e754b(0x95)](isMarketplaceAdded,'trailhead');let _0x47cc82=_0x5b76e7;if(_0x5b76e7)console[_0x2e754b(0xab)](_0x2e754b(0x7d));else{const _0x58b4b4=await _0x15adbb['LdORd'](runClaudeCommand,[_0x2e754b(0x85),_0x2e754b(0x8c),'add',_0x15adbb['qssAJ']]);!_0x58b4b4['success']?(console[_0x2e754b(0x80)](_0x15adbb['eqhFl'],_0x58b4b4['error']),console[_0x2e754b(0xab)](_0x2e754b(0x9e)),console[_0x2e754b(0xab)](_0x15adbb['hXnBT']),console['log'](_0x2e754b(0x92)+_0x3b8f24)):_0x47cc82=!![];}if(_0x47cc82){const _0x124c96=await _0x15adbb['YfiNe'](runClaudeCommand,[_0x15adbb['yuHcr'],_0x15adbb['PeSTV'],_0x15adbb[_0x2e754b(0x8a)],_0x2e754b(0xaa),_0x3b8f24],{'cwd':_0x15adbb['cjPhN'](_0x3b8f24,_0x15adbb['PyHlI'])?getProjectRoot():undefined});if(!_0x124c96['success'])console['error'](_0x15adbb[_0x2e754b(0x90)],_0x124c96['error']),console[_0x2e754b(0xab)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x2e754b(0xab)](_0x2e754b(0x92)+_0x3b8f24);else{console[_0x2e754b(0xab)](_0x2e754b(0x97));const _0x49390a=[_0x15adbb[_0x2e754b(0xa6)],_0x15adbb['yqYLs'],_0x15adbb[_0x2e754b(0x8a)]];_0x3b8f24===_0x15adbb['PyHlI']&&_0x49390a[_0x2e754b(0xac)](_0x15adbb[_0x2e754b(0xa7)],_0x2e754b(0xae));const _0x49dfdd=await runClaudeCommand(_0x49390a,{'captureOutput':!![],'cwd':_0x3b8f24==='project'?getProjectRoot():undefined}),_0x17eda3=_0x49dfdd[_0x2e754b(0x86)]?.['includes']('already\x20enabled');!_0x49dfdd['success']&&!_0x17eda3?console[_0x2e754b(0x80)](_0x15adbb[_0x2e754b(0x9d)],_0x49dfdd['error']):console['log'](_0x15adbb['pMQyI']);}}return!![];}export async function ensureClaudeSkills(_0x3ebc88){const _0x323a6a=_0x2ea0,_0x2490da={'DbnFb':function(_0x58d730,_0x24b449){return _0x58d730(_0x24b449);},'xKnCj':function(_0x4a0e49,_0x2cd3c2){return _0x4a0e49(_0x2cd3c2);},'SzPML':_0x323a6a(0x8b),'qzLmL':function(_0x42b7d1,_0x224065,_0x2871c2,_0x2930dc){return _0x42b7d1(_0x224065,_0x2871c2,_0x2930dc);},'OJHnu':function(_0x4faff6,_0x5de8fa){return _0x4faff6(_0x5de8fa);},'YroTJ':_0x323a6a(0xae),'BJcKG':function(_0x5ccb95){return _0x5ccb95();},'xPYzD':'.claude','JYvXk':function(_0x549ee5,_0xab9aa2){return _0x549ee5(_0xab9aa2);},'LCMzy':'confirm'},_0x503fb8=_0x2490da[_0x323a6a(0x9c)](existsSync,join(_0x2490da['xKnCj'](getSkillsDir,_0x323a6a(0xa8)),_0x2490da[_0x323a6a(0x93)],_0x323a6a(0x7e))),_0x5716be=_0x2490da['xKnCj'](existsSync,_0x2490da['qzLmL'](join,_0x2490da['OJHnu'](getSkillsDir,_0x2490da[_0x323a6a(0x7f)]),_0x2490da[_0x323a6a(0x93)],_0x323a6a(0x7e)));if(_0x503fb8||_0x5716be)return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x24d723=_0x2490da['OJHnu'](existsSync,join(_0x2490da[_0x323a6a(0x7a)](getProjectRoot),_0x2490da[_0x323a6a(0x99)]));let _0x5dd32b=!![];if(_0x3ebc88)await _0x2490da['JYvXk'](skillup,{'autoInstall':_0x3ebc88,'suppressUsage':!![]});else{if(_0x24d723)await skillup({'autoInstall':_0x2490da[_0x323a6a(0x7f)],'suppressUsage':!![]});else{const _0x44c464=await _0x2e954d['prompt']([{'type':_0x2490da[_0x323a6a(0x82)],'name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x5dd32b=_0x44c464[_0x323a6a(0x83)],_0x5dd32b&&await skillup({'suppressUsage':!![]});}}return _0x5dd32b;}
@@ -1 +1 @@
1
- (function(_0xf75994,_0x37f16c){const _0x2fa233=_0x206b,_0x523b1e=_0xf75994();while(!![]){try{const _0x5ea863=-parseInt(_0x2fa233(0x197))/0x1*(parseInt(_0x2fa233(0x193))/0x2)+-parseInt(_0x2fa233(0x19f))/0x3*(-parseInt(_0x2fa233(0x1b3))/0x4)+parseInt(_0x2fa233(0x1a8))/0x5*(parseInt(_0x2fa233(0x1b0))/0x6)+parseInt(_0x2fa233(0x1a3))/0x7*(-parseInt(_0x2fa233(0x1ab))/0x8)+parseInt(_0x2fa233(0x19b))/0x9*(-parseInt(_0x2fa233(0x1ad))/0xa)+parseInt(_0x2fa233(0x1a2))/0xb+parseInt(_0x2fa233(0x1b1))/0xc;if(_0x5ea863===_0x37f16c)break;else _0x523b1e['push'](_0x523b1e['shift']());}catch(_0x1086b2){_0x523b1e['push'](_0x523b1e['shift']());}}}(_0xe7b9,0xa60b6));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x2abec6 from'inquirer';function _0xe7b9(){const _0x1d4045=['plugin','$schema','includes','723tmANoE','@ranger-testing/opencode-plugin','prompt','4171156RQnOsP','3996342CnuMIJ','EdWoN','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','https://opencode.ai/config.json','rASpF','140aIJtjg','isArray','\x0a📦\x20OpenCode\x20Plugin\x0a','16VJqThy','nHZwW','11844650OEscHL','list','user','263796JRZZgA','19058376nQaHGp','log','616skcADl','gnNRM','pluginScope','ZVVam','458322iCJsIp','project','Project\x20(shared\x20with\x20team\x20via\x20git)','✓\x20OpenCode\x20plugin\x20configured','1YfRxMX','TmMqR','yCdMi','✓\x20OpenCode\x20plugin\x20already\x20configured','9wlsoaM'];_0xe7b9=function(){return _0x1d4045;};return _0xe7b9();}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x206b(_0x5b0d0c,_0x4297ca){_0x5b0d0c=_0x5b0d0c-0x192;const _0xe7b924=_0xe7b9();let _0x206b71=_0xe7b924[_0x5b0d0c];return _0x206b71;}export async function ensureOpencodePluginConfig(_0x34da69){const _0x479e20=_0x206b,_0x51e3a3={'rASpF':function(_0x1d8706,_0x341eaa){return _0x1d8706(_0x341eaa);},'SBGeA':function(_0x4fa1a4,_0x5e9dcd){return _0x4fa1a4(_0x5e9dcd);},'LnTMJ':_0x479e20(0x194),'fxBUa':'opencode.json','yCdMi':_0x479e20(0x1aa),'gnNRM':_0x479e20(0x1ae),'EdWoN':'User\x20(available\x20in\x20all\x20your\x20projects)','ZVVam':_0x479e20(0x1af),'nHZwW':function(_0x27a769,_0x11d7ef,_0x74b6c9){return _0x27a769(_0x11d7ef,_0x74b6c9);},'AUcmE':_0x479e20(0x1a0),'TmMqR':_0x479e20(0x19a),'qPFRp':_0x479e20(0x196)},_0x4f5913=_0x51e3a3[_0x479e20(0x1a7)](existsSync,join(_0x51e3a3['SBGeA'](getOpencodeConfigDir,_0x51e3a3['LnTMJ']),_0x51e3a3['fxBUa']));let _0x3e37ac;if(_0x34da69)_0x3e37ac=_0x34da69;else{if(_0x4f5913)_0x3e37ac='project';else{console[_0x479e20(0x1b2)](_0x51e3a3[_0x479e20(0x199)]);const _0x11c3ca=await _0x2abec6[_0x479e20(0x1a1)]([{'type':_0x51e3a3[_0x479e20(0x1b4)],'name':_0x479e20(0x1b5),'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x51e3a3[_0x479e20(0x1a4)],'value':_0x51e3a3[_0x479e20(0x192)]},{'name':_0x479e20(0x195),'value':_0x479e20(0x194)}],'default':_0x51e3a3['ZVVam']}]);_0x3e37ac=_0x11c3ca['pluginScope'];}}const _0xcf0e07=_0x51e3a3[_0x479e20(0x1ac)](join,getOpencodeConfigDir(_0x3e37ac),'opencode.json'),_0x1aeee9=_0x51e3a3['AUcmE'],_0x2dd0db=_0x479e20(0x1a6);let _0x40daf9={};if(existsSync(_0xcf0e07))try{const _0x30a533=await readFile(_0xcf0e07,'utf-8');_0x40daf9=JSON['parse'](_0x30a533);}catch(_0x4a8de2){return console['error'](_0x479e20(0x1a5)),{'configured':![],'scope':_0x3e37ac,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x4a8de2};}const _0x3ba196=Array[_0x479e20(0x1a9)](_0x40daf9[_0x479e20(0x19c)])?_0x40daf9[_0x479e20(0x19c)]:[];if(_0x3ba196[_0x479e20(0x19e)](_0x1aeee9))return console[_0x479e20(0x1b2)](_0x51e3a3[_0x479e20(0x198)]),{'configured':![],'scope':_0x3e37ac};return _0x40daf9[_0x479e20(0x19d)]=_0x40daf9[_0x479e20(0x19d)]||_0x2dd0db,_0x40daf9['plugin']=[..._0x3ba196,_0x1aeee9],await _0x51e3a3['nHZwW'](mkdir,getOpencodeConfigDir(_0x3e37ac),{'recursive':!![]}),await writeFile(_0xcf0e07,JSON['stringify'](_0x40daf9,null,0x2)+'\x0a'),console['log'](_0x51e3a3['qPFRp']),{'configured':!![],'scope':_0x3e37ac};}
1
+ (function(_0xd5af24,_0x4c02c8){const _0x3f3875=_0x5aeb,_0x3c52fa=_0xd5af24();while(!![]){try{const _0x3867e0=parseInt(_0x3f3875(0x1cc))/0x1*(-parseInt(_0x3f3875(0x1da))/0x2)+-parseInt(_0x3f3875(0x1cb))/0x3*(parseInt(_0x3f3875(0x1db))/0x4)+parseInt(_0x3f3875(0x1d0))/0x5+-parseInt(_0x3f3875(0x1d4))/0x6+-parseInt(_0x3f3875(0x1d8))/0x7+-parseInt(_0x3f3875(0x1d1))/0x8+parseInt(_0x3f3875(0x1c7))/0x9;if(_0x3867e0===_0x4c02c8)break;else _0x3c52fa['push'](_0x3c52fa['shift']());}catch(_0x33061c){_0x3c52fa['push'](_0x3c52fa['shift']());}}}(_0x267a,0x5612a));function _0x5aeb(_0x3c6a46,_0x5b34ba){_0x3c6a46=_0x3c6a46-0x1c7;const _0x267a1e=_0x267a();let _0x5aeb89=_0x267a1e[_0x3c6a46];return _0x5aeb89;}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x32d964 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x48fd03){const _0x1eabe7=_0x5aeb,_0x4de366={'KUkWN':function(_0x424a93,_0x40def1){return _0x424a93(_0x40def1);},'FUFLu':function(_0xf01d6d,_0x36d7c5,_0x17d11f){return _0xf01d6d(_0x36d7c5,_0x17d11f);},'tsgQC':_0x1eabe7(0x1c9),'uxamG':'\x0a📦\x20OpenCode\x20Plugin\x0a','DUchZ':'Where\x20should\x20the\x20plugin\x20be\x20installed?','uMuAM':_0x1eabe7(0x1d7),'ahDVu':_0x1eabe7(0x1ce),'BDLgE':_0x1eabe7(0x1ca),'tviqo':'✓\x20OpenCode\x20plugin\x20already\x20configured'},_0x2a46b2=_0x4de366[_0x1eabe7(0x1d5)](existsSync,_0x4de366['FUFLu'](join,getOpencodeConfigDir('project'),_0x4de366[_0x1eabe7(0x1d3)]));let _0x1ffd8f;if(_0x48fd03)_0x1ffd8f=_0x48fd03;else{if(_0x2a46b2)_0x1ffd8f='project';else{console['log'](_0x4de366['uxamG']);const _0x590d0c=await _0x32d964['prompt']([{'type':_0x1eabe7(0x1d9),'name':_0x1eabe7(0x1dd),'message':_0x4de366['DUchZ'],'choices':[{'name':_0x4de366['uMuAM'],'value':_0x4de366['ahDVu']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x1eabe7(0x1c8)}],'default':_0x4de366['ahDVu']}]);_0x1ffd8f=_0x590d0c[_0x1eabe7(0x1dd)];}}const _0x222677=join(getOpencodeConfigDir(_0x1ffd8f),'opencode.json'),_0x5071af='@ranger-testing/opencode-plugin',_0x4a1079='https://opencode.ai/config.json';let _0x5955f1={};if(existsSync(_0x222677))try{const _0x6f4463=await _0x4de366['FUFLu'](readFile,_0x222677,'utf-8');_0x5955f1=JSON['parse'](_0x6f4463);}catch(_0x440d32){return console['error'](_0x4de366[_0x1eabe7(0x1de)]),{'configured':![],'scope':_0x1ffd8f,'error':_0x1eabe7(0x1cf),'details':_0x440d32};}const _0x225e2c=Array['isArray'](_0x5955f1[_0x1eabe7(0x1d2)])?_0x5955f1['plugin']:[];if(_0x225e2c['includes'](_0x5071af))return console[_0x1eabe7(0x1d6)](_0x4de366[_0x1eabe7(0x1cd)]),{'configured':![],'scope':_0x1ffd8f};return _0x5955f1[_0x1eabe7(0x1df)]=_0x5955f1['$schema']||_0x4a1079,_0x5955f1[_0x1eabe7(0x1d2)]=[..._0x225e2c,_0x5071af],await _0x4de366[_0x1eabe7(0x1dc)](mkdir,getOpencodeConfigDir(_0x1ffd8f),{'recursive':!![]}),await writeFile(_0x222677,JSON['stringify'](_0x5955f1,null,0x2)+'\x0a'),console['log']('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x1ffd8f};}function _0x267a(){const _0x1781cd=['tviqo','user','Failed\x20to\x20read\x20opencode.json','3420530EpYlWg','5267960UGJIjs','plugin','tsgQC','3324276HTOzjo','KUkWN','log','User\x20(available\x20in\x20all\x20your\x20projects)','2849896Plqybr','list','860542eiJlWN','33244wbwzCj','FUFLu','pluginScope','BDLgE','$schema','20028231FtbVZL','project','opencode.json','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','183GwEqiS','1RPZSMv'];_0x267a=function(){return _0x1781cd;};return _0x267a();}
@@ -1 +1 @@
1
- (function(_0x49f211,_0x5acd75){var _0x5f02ba=_0x3b95,_0x60537c=_0x49f211();while(!![]){try{var _0x393302=-parseInt(_0x5f02ba(0x1a8))/0x1+-parseInt(_0x5f02ba(0x1ab))/0x2*(parseInt(_0x5f02ba(0x1af))/0x3)+-parseInt(_0x5f02ba(0x1b0))/0x4*(-parseInt(_0x5f02ba(0x1ae))/0x5)+-parseInt(_0x5f02ba(0x1a2))/0x6+parseInt(_0x5f02ba(0x1a5))/0x7+-parseInt(_0x5f02ba(0x1ad))/0x8+parseInt(_0x5f02ba(0x1a6))/0x9;if(_0x393302===_0x5acd75)break;else _0x60537c['push'](_0x60537c['shift']());}catch(_0x3a5672){_0x60537c['push'](_0x60537c['shift']());}}}(_0x5b2d,0x36e8b));export async function setupCi(_0x388292,_0x319974,_0x249a3b){var _0x16bade=_0x3b95,_0xbd6e7e={'yQGXQ':function(_0x394a0b,_0x40ca58){return _0x394a0b+_0x40ca58;},'klncy':function(_0x29add9,_0x59d959){return _0x29add9+_0x59d959;},'sHcfU':function(_0x4515ee,_0x5d57b0){return _0x4515ee+_0x5d57b0;},'zIaMG':_0x16bade(0x1a9),'xcqXy':_0x16bade(0x1b2)};console[_0x16bade(0x1aa)](_0xbd6e7e['yQGXQ'](_0xbd6e7e[_0x16bade(0x1b1)](_0xbd6e7e[_0x16bade(0x1ac)](_0xbd6e7e['zIaMG'],'\x0a')+_0x16bade(0x1a3),'\x20\x20ranger\x20profile\x20add\x20<name>\x0a')+'\x0a',_0x16bade(0x1a4))+_0xbd6e7e[_0x16bade(0x1a7)]),process['exit'](0x1);}function _0x3b95(_0x41e483,_0x438f35){_0x41e483=_0x41e483-0x1a2;var _0x5b2d7=_0x5b2d();var _0x3b9562=_0x5b2d7[_0x41e483];return _0x3b9562;}function _0x5b2d(){var _0x4be227=['119970wMoKJU','sHcfU','2101448rwcKln','72445jhaEDd','3tJdDIy','120ngFnBo','klncy','\x20\x20https://docs.ranger.net/main/concepts/profiles','2589594gwPjpQ','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','2971556wlnQIS','4815270JEFnPJ','xcqXy','415036uVDHVO','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','error'];_0x5b2d=function(){return _0x4be227;};return _0x5b2d();}
1
+ (function(_0x56f7ac,_0x373506){var _0x1a8de5=_0x45b8,_0xe788e5=_0x56f7ac();while(!![]){try{var _0x4b5296=-parseInt(_0x1a8de5(0xbf))/0x1*(parseInt(_0x1a8de5(0xc3))/0x2)+parseInt(_0x1a8de5(0xbb))/0x3+parseInt(_0x1a8de5(0xc4))/0x4+-parseInt(_0x1a8de5(0xba))/0x5+-parseInt(_0x1a8de5(0xc0))/0x6+parseInt(_0x1a8de5(0xbe))/0x7+parseInt(_0x1a8de5(0xc2))/0x8*(-parseInt(_0x1a8de5(0xc8))/0x9);if(_0x4b5296===_0x373506)break;else _0xe788e5['push'](_0xe788e5['shift']());}catch(_0x39f576){_0xe788e5['push'](_0xe788e5['shift']());}}}(_0x3fc2,0x2e428));function _0x3fc2(){var _0x156205=['To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','nerLF','exrCA','166941jiRXKV','1379595VBHxjc','186456PmTzWz','error','\x20\x20https://docs.ranger.net/main/concepts/profiles','1981168JdCUEg','1LxrDGw','365310nbqqGz','NmbvG','24fAzVXD','85396FqumoH','1117812yLInUG'];_0x3fc2=function(){return _0x156205;};return _0x3fc2();}function _0x45b8(_0x22f79d,_0x5d1b53){_0x22f79d=_0x22f79d-0xba;var _0x3fc266=_0x3fc2();var _0x45b8ae=_0x3fc266[_0x22f79d];return _0x45b8ae;}export async function setupCi(_0x39231c,_0x4a30d2,_0xd57923){var _0x5d11c3=_0x45b8,_0x1f9992={'NmbvG':function(_0xc97693,_0x2a3887){return _0xc97693+_0x2a3887;},'vErOT':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','kKIqF':_0x5d11c3(0xc5),'nerLF':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','exrCA':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','mhRxy':_0x5d11c3(0xbd)};console[_0x5d11c3(0xbc)](_0x1f9992[_0x5d11c3(0xc1)](_0x1f9992[_0x5d11c3(0xc1)](_0x1f9992['vErOT'],'\x0a'),_0x1f9992['kKIqF'])+_0x1f9992[_0x5d11c3(0xc6)]+'\x0a'+_0x1f9992[_0x5d11c3(0xc7)]+_0x1f9992['mhRxy']),process['exit'](0x1);}
@@ -1 +1 @@
1
- (function(_0x190695,_0x33b6de){const _0x47f519=_0x276f,_0x37d42e=_0x190695();while(!![]){try{const _0x58663c=-parseInt(_0x47f519(0x70))/0x1+-parseInt(_0x47f519(0x8f))/0x2+parseInt(_0x47f519(0x8a))/0x3*(parseInt(_0x47f519(0x88))/0x4)+-parseInt(_0x47f519(0x71))/0x5*(-parseInt(_0x47f519(0x7e))/0x6)+parseInt(_0x47f519(0x79))/0x7+-parseInt(_0x47f519(0x9c))/0x8*(parseInt(_0x47f519(0x72))/0x9)+parseInt(_0x47f519(0x84))/0xa*(parseInt(_0x47f519(0x7f))/0xb);if(_0x58663c===_0x33b6de)break;else _0x37d42e['push'](_0x37d42e['shift']());}catch(_0x5e2dd7){_0x37d42e['push'](_0x37d42e['shift']());}}}(_0x1aa7,0x2a467));function _0x1aa7(){const _0x22afc8=['suppressUsage','337864chbGnF','1255RRVIwB','45OUqcnL','/skills/','tRQDp','Where\x20should\x20skills\x20be\x20installed?','claude','user','\x20--opencode','1107176tkeuIY','GRWLQ','HURAB','stdout','qVIyX','1524SnPRaN','216689iuDRsA','\x20\x202.\x20Run:\x20ranger\x20setup','\x20<your-api-token>','project','split','300PsaFKg','isTTY','izkXE','cDuIo','13744bfVbzv','YBOXG','75yHBuzk','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','autoInstall','log','jCJEn','264948WlKXDr','stdin','\x0a✅\x20Installed\x20','\x20\x203.\x20Run:\x20ranger\x20skillup','ranger','This\x20project\x20only\x20(','tTlbW','opencode','To\x20use:','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','mNMgZ','gQpsE','ivJKT','408472SpBwHY','installLevel'];_0x1aa7=function(){return _0x22afc8;};return _0x1aa7();}function _0x276f(_0x338ac2,_0x29f893){_0x338ac2=_0x338ac2-0x70;const _0x1aa734=_0x1aa7();let _0x276fa1=_0x1aa734[_0x338ac2];return _0x276fa1;}import{basename}from'path';import _0x235564 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0xcbd945={}){const _0x4ed47d=_0x276f,_0x5da2b6={'mNMgZ':function(_0x433bf1){return _0x433bf1();},'LknLf':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','FCTxr':function(_0x392e1f,_0x238c87){return _0x392e1f===_0x238c87;},'tTlbW':'\x20--opencode','jCJEn':function(_0x2410f9,_0x50992f){return _0x2410f9===_0x50992f;},'HURAB':function(_0x47f5e4,_0x39547b){return _0x47f5e4(_0x39547b);},'dsZRk':function(_0x5c9078,_0x3e48fe){return _0x5c9078===_0x3e48fe;},'YBOXG':'user','tRQDp':'list','RPykm':'\x0a📦\x20Installing\x20skills...\x0a','izkXE':function(_0x47ecee,_0x48ccc9,_0x57eac9){return _0x47ecee(_0x48ccc9,_0x57eac9);},'gQpsE':_0x4ed47d(0x93),'ivJKT':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','CKCoy':function(_0x201adc,_0xfa84ea){return _0x201adc instanceof _0xfa84ea;},'ytNZw':function(_0x57abce,_0x70b0a7){return _0x57abce===_0x70b0a7;},'DFUhB':'user-level','cDuIo':function(_0x5b8381,_0x360c20){return _0x5b8381>_0x360c20;},'qVIyX':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','GRWLQ':_0x4ed47d(0x8b)};console['log']('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x2cb4a2=_0xcbd945['platform']??_0x4ed47d(0x76),_0x4f3f78=await _0x5da2b6[_0x4ed47d(0x99)](getToken);if(!_0x4f3f78){const _0x35ef02='2|4|1|5|3|0'[_0x4ed47d(0x83)]('|');let _0xdffb43=0x0;while(!![]){switch(_0x35ef02[_0xdffb43++]){case'0':return;case'1':console['log'](_0x4ed47d(0x98));continue;case'2':console['log'](_0x5da2b6['LknLf']);continue;case'3':console['log'](_0x4ed47d(0x92)+(_0x5da2b6['FCTxr'](_0x2cb4a2,'opencode')?_0x5da2b6[_0x4ed47d(0x95)]:'')+'\x0a');continue;case'4':console['log']('To\x20get\x20started:');continue;case'5':console['log'](_0x4ed47d(0x80)+(_0x5da2b6[_0x4ed47d(0x8e)](_0x2cb4a2,'opencode')?_0x4ed47d(0x78):'')+_0x4ed47d(0x81));continue;}break;}}console['log']('✓\x20Found\x20API\x20token');const _0x46ca1b=_0x5da2b6['mNMgZ'](getProjectRoot),_0x22c51f=_0x5da2b6[_0x4ed47d(0x7b)](basename,_0x46ca1b),_0x4f2aa6=_0x5da2b6['dsZRk'](_0x2cb4a2,_0x4ed47d(0x96))?_0x5da2b6[_0x4ed47d(0x7b)](getOpencodeConfigDir,_0x5da2b6[_0x4ed47d(0x89)])+'/skills/':getClaudeConfigDir()+_0x4ed47d(0x73),_0x492b93=_0x2cb4a2==='opencode'?_0x46ca1b+'/.opencode/skills/':_0x46ca1b+'/.claude/skills/',_0x3965dd=process[_0x4ed47d(0x90)]['isTTY']&&process[_0x4ed47d(0x7c)][_0x4ed47d(0x85)];let _0x15b413;if(_0xcbd945['autoInstall'])_0x15b413=_0xcbd945[_0x4ed47d(0x8c)];else{if(_0x3965dd){const _0x207974=await _0x235564['prompt']([{'type':_0x5da2b6[_0x4ed47d(0x74)],'name':_0x4ed47d(0x9d),'message':_0x4ed47d(0x75),'choices':[{'name':'All\x20projects\x20('+_0x4f2aa6+')','value':'user'},{'name':_0x4ed47d(0x94)+_0x492b93+')','value':_0x4ed47d(0x82)}]}]);_0x15b413=_0x207974[_0x4ed47d(0x9d)];}else _0x15b413=_0x4ed47d(0x82),console[_0x4ed47d(0x8d)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x492b93+')');}let _0x42ee7a=0x0;const _0x3f5a14=getCurrentVersion();console['log'](_0x5da2b6['RPykm']);try{const _0x2df7ba=await _0x5da2b6[_0x4ed47d(0x86)](installSkill,_0x5da2b6[_0x4ed47d(0x9a)],{'cliVersion':_0x3f5a14,'level':_0x15b413,'platform':_0x2cb4a2});_0x2df7ba&&_0x42ee7a++;}catch(_0x257f0f){console['warn'](_0x5da2b6[_0x4ed47d(0x9b)],_0x5da2b6['CKCoy'](_0x257f0f,Error)?_0x257f0f['message']:_0x257f0f);}if(_0x42ee7a>0x0){const _0x2065ad=_0x5da2b6['ytNZw'](_0x15b413,_0x4ed47d(0x77))?_0x5da2b6['DFUhB']:'project-level';console['log'](_0x4ed47d(0x91)+_0x42ee7a+'\x20'+_0x2065ad+'\x20skill'+(_0x5da2b6[_0x4ed47d(0x87)](_0x42ee7a,0x1)?'s':'')+'\x20successfully!\x0a'),!_0xcbd945[_0x4ed47d(0x9e)]&&(console[_0x4ed47d(0x8d)](_0x4ed47d(0x97)),_0x5da2b6[_0x4ed47d(0x8e)](_0x2cb4a2,_0x4ed47d(0x96))?console[_0x4ed47d(0x8d)](_0x5da2b6[_0x4ed47d(0x7d)]):console['log']('\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'));}else console[_0x4ed47d(0x8d)](_0x5da2b6[_0x4ed47d(0x7a)]);}
1
+ (function(_0x3a4424,_0x1af2fe){const _0x297c86=_0x46af,_0x53f826=_0x3a4424();while(!![]){try{const _0x57043f=parseInt(_0x297c86(0x7f))/0x1*(-parseInt(_0x297c86(0x95))/0x2)+parseInt(_0x297c86(0x83))/0x3+-parseInt(_0x297c86(0x8e))/0x4*(-parseInt(_0x297c86(0x89))/0x5)+parseInt(_0x297c86(0xa2))/0x6+parseInt(_0x297c86(0x7a))/0x7*(-parseInt(_0x297c86(0x9f))/0x8)+-parseInt(_0x297c86(0x84))/0x9*(parseInt(_0x297c86(0x86))/0xa)+parseInt(_0x297c86(0x78))/0xb;if(_0x57043f===_0x1af2fe)break;else _0x53f826['push'](_0x53f826['shift']());}catch(_0x433636){_0x53f826['push'](_0x53f826['shift']());}}}(_0x520b,0xd9a3f));function _0x520b(){const _0x3a95a5=['project','16fWUjVR','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','KwfWQ','6940692bKWxbi','16816283MNckjX','wMLOp','5619761DbspFc','/.claude/skills/','opencode','suppressUsage','/skills/','1503902hKECUz','log','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','rwRkf','3305241MzdABi','198VEaDaa','autoInstall','53700lhPDax','cQGSh','\x20--opencode','1659305iDGrky','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','/.opencode/skills/','prompt','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','4QjTfTU','installLevel','GddjC','wIeaX','stdin','All\x20projects\x20(','Where\x20should\x20skills\x20be\x20installed?','2jSxxet','Tzbsy','user','claude','To\x20get\x20started:','2|5|0|1|4|3','\x20<your-api-token>','xtqQP','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli'];_0x520b=function(){return _0x3a95a5;};return _0x520b();}import{basename}from'path';import _0x2150ac from'inquirer';function _0x46af(_0x422313,_0x1096ef){_0x422313=_0x422313-0x78;const _0x520b3c=_0x520b();let _0x46af37=_0x520b3c[_0x422313];return _0x46af37;}import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x53d68f={}){const _0xa7e06=_0x46af,_0x42fa44={'wMLOp':_0xa7e06(0x8d),'zhVCp':_0xa7e06(0x98),'FRTFy':_0xa7e06(0x9d),'wIeaX':function(_0x3109ad,_0x363c82){return _0x3109ad===_0x363c82;},'KwfWQ':function(_0x18a73d,_0x5aec07){return _0x18a73d(_0x5aec07);},'VGjYZ':_0xa7e06(0x8f),'YpMuO':_0xa7e06(0x94),'Ddnou':_0xa7e06(0x97),'cquEs':_0xa7e06(0x9e),'jRfnM':function(_0x4ad3bf){return _0x4ad3bf();},'Tzbsy':function(_0x37984f,_0x1c64be,_0x355436){return _0x37984f(_0x1c64be,_0x355436);},'xtqQP':function(_0x5bfa0d,_0x3680eb){return _0x5bfa0d===_0x3680eb;},'IYush':function(_0x4a87de,_0x4607ec){return _0x4a87de>_0x4607ec;},'rwRkf':'To\x20use:','KUdPi':function(_0x55eccb,_0x232f11){return _0x55eccb===_0x232f11;},'GddjC':'opencode','cQGSh':'\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!','QJeQA':_0xa7e06(0x81)};console['log'](_0x42fa44[_0xa7e06(0x79)]);const _0x4dd0e2=_0x53d68f['platform']??_0x42fa44['zhVCp'],_0x1f9192=await getToken();if(!_0x1f9192){const _0x3ef96b=_0xa7e06(0x9a)['split']('|');let _0x1bcab7=0x0;while(!![]){switch(_0x3ef96b[_0x1bcab7++]){case'0':console[_0xa7e06(0x80)](_0x42fa44['FRTFy']);continue;case'1':console[_0xa7e06(0x80)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x42fa44[_0xa7e06(0x91)](_0x4dd0e2,_0xa7e06(0x7c))?'\x20--opencode':'')+_0xa7e06(0x9b));continue;case'2':console['log'](_0xa7e06(0xa0));continue;case'3':return;case'4':console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x42fa44[_0xa7e06(0x91)](_0x4dd0e2,_0xa7e06(0x7c))?_0xa7e06(0x88):'')+'\x0a');continue;case'5':console['log'](_0xa7e06(0x99));continue;}break;}}console[_0xa7e06(0x80)]('✓\x20Found\x20API\x20token');const _0x110ce9=getProjectRoot(),_0x884450=_0x42fa44[_0xa7e06(0xa1)](basename,_0x110ce9),_0x278470=_0x4dd0e2===_0xa7e06(0x7c)?_0x42fa44['KwfWQ'](getOpencodeConfigDir,'user')+'/skills/':getClaudeConfigDir()+_0xa7e06(0x7e),_0x276466=_0x4dd0e2==='opencode'?_0x110ce9+_0xa7e06(0x8b):_0x110ce9+_0xa7e06(0x7b),_0x15a1e0=process[_0xa7e06(0x92)]['isTTY']&&process['stdout']['isTTY'];let _0x356351;if(_0x53d68f[_0xa7e06(0x85)])_0x356351=_0x53d68f['autoInstall'];else{if(_0x15a1e0){const _0x4ba51f=await _0x2150ac[_0xa7e06(0x8c)]([{'type':'list','name':_0x42fa44['VGjYZ'],'message':_0x42fa44['YpMuO'],'choices':[{'name':_0xa7e06(0x93)+_0x278470+')','value':_0x42fa44['Ddnou']},{'name':'This\x20project\x20only\x20('+_0x276466+')','value':_0x42fa44['cquEs']}]}]);_0x356351=_0x4ba51f[_0xa7e06(0x8f)];}else _0x356351='project',console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x276466+')');}let _0x422fa0=0x0;const _0x53cd91=_0x42fa44['jRfnM'](getCurrentVersion);console['log']('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x5b3429=await _0x42fa44[_0xa7e06(0x96)](installSkill,'ranger',{'cliVersion':_0x53cd91,'level':_0x356351,'platform':_0x4dd0e2});_0x5b3429&&_0x422fa0++;}catch(_0x525cb4){console['warn'](_0xa7e06(0x8a),_0x525cb4 instanceof Error?_0x525cb4['message']:_0x525cb4);}if(_0x422fa0>0x0){const _0x35c484=_0x42fa44[_0xa7e06(0x9c)](_0x356351,'user')?'user-level':'project-level';console[_0xa7e06(0x80)]('\x0a✅\x20Installed\x20'+_0x422fa0+'\x20'+_0x35c484+'\x20skill'+(_0x42fa44['IYush'](_0x422fa0,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x53d68f[_0xa7e06(0x7d)]&&(console[_0xa7e06(0x80)](_0x42fa44[_0xa7e06(0x82)]),_0x42fa44['KUdPi'](_0x4dd0e2,_0x42fa44[_0xa7e06(0x90)])?console['log']('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console['log'](_0x42fa44[_0xa7e06(0x87)]));}else console[_0xa7e06(0x80)](_0x42fa44['QJeQA']);}
@@ -1 +1 @@
1
- const _0x9f6b82=_0x262f;(function(_0x49586f,_0x1d6b97){const _0xb60fc0=_0x262f,_0x7b1186=_0x49586f();while(!![]){try{const _0x508c3a=parseInt(_0xb60fc0(0x223))/0x1*(-parseInt(_0xb60fc0(0x22b))/0x2)+-parseInt(_0xb60fc0(0x222))/0x3*(parseInt(_0xb60fc0(0x21e))/0x4)+parseInt(_0xb60fc0(0x21a))/0x5*(-parseInt(_0xb60fc0(0x1dc))/0x6)+parseInt(_0xb60fc0(0x1f3))/0x7*(parseInt(_0xb60fc0(0x1d5))/0x8)+-parseInt(_0xb60fc0(0x1eb))/0x9*(-parseInt(_0xb60fc0(0x1d0))/0xa)+parseInt(_0xb60fc0(0x1d3))/0xb*(-parseInt(_0xb60fc0(0x219))/0xc)+parseInt(_0xb60fc0(0x1db))/0xd;if(_0x508c3a===_0x1d6b97)break;else _0x7b1186['push'](_0x7b1186['shift']());}catch(_0x25d45f){_0x7b1186['push'](_0x7b1186['shift']());}}}(_0x4039,0x2afbd));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x2bf274 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';function _0x262f(_0x168c58,_0x48e0ae){_0x168c58=_0x168c58-0x1cb;const _0x403989=_0x4039();let _0x262f4a=_0x403989[_0x168c58];return _0x262f4a;}import{addEnv}from'./addEnv.js';function _0x4039(){const _0x2cf092=['\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','nfhGh','platform','vUXXa','message','44532tkpJXG','user','ignore','chromium','Installation\x20failed\x20with\x20exit\x20code\x20','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','rfNiG','✓\x20Authenticated\x20to\x20','63eHDIxA','✓\x20Skipping\x20authentication\x20(--skip-auth)','playwright@','log','\x1b[1m','You\x20can\x20install\x20it\x20manually\x20by\x20running:','WtSIr','trackPhaseStart','npx','provided_token','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','LYEcc','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','oKwSt','warn','aMzjz','success','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','...','ready','qMcvO','IPURS','resolve','skipped','skills','✓\x20Already\x20authenticated\x20to\x20','win32','profile','ranger','device_auth','JRrvj','opencode','withDeps','YIXKr','\x20\x20npx\x20playwright@','ranger\x20setup\x20--scope=','\x0a❌\x20Profile\x20setup\x20failed:','exit','1884tLgOoW','15110uVmLBd','trackPhaseEnd','install','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','784AivGkH','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','\x20install\x20chromium','rCwni','1470ChShmf','16CvtusB','uaVCD','cZptG','FykWS','lJljG','isTTY','allowInsecureLocalhost','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','28484kVbDaG','Ejcig','url','stdout','scope','method','\x20is\x20no\x20longer\x20supported.\x20','350IoQKDb','sLykZ','\x0aInstalling\x20Chromium\x20browser...\x0a','1672sbUwuG','\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','228440wlJPSE','The\x20required\x20version\x20(','error','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','bqilY','✓\x20Created\x20.ranger/.gitignore','4046198IaFNPt','432ihWCZw','CQhmz','plugin','auth','organizationName','hJETF','JluAW','local','pSqeX','status'];_0x4039=function(){return _0x2cf092;};return _0x4039();}import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x434ffa=>_0x9f6b82(0x1f7)+_0x434ffa+'\x1b[0m';export function getPlaywrightVersion(){const _0x54b208=_0x9f6b82,_0x521d80={'lJljG':'playwright/package.json'};try{const _0x1218fe=require[_0x54b208(0x209)](_0x521d80[_0x54b208(0x227)]),_0x2b32d9=require(_0x1218fe);return _0x2b32d9['version'];}catch{return null;}}export function installChromiumBinary(_0x214dc9,_0x3f4825=![]){const _0x2fa63c=_0x9f6b82,_0x592810={'rfNiG':function(_0x2967ae,_0x1d90db){return _0x2967ae(_0x1d90db);},'XoBpH':function(_0x52b5e1,_0x2e9a18,_0x5b8bfc,_0x5b85a7){return _0x52b5e1(_0x2e9a18,_0x5b8bfc,_0x5b85a7);},'cYZEt':function(_0x26579,_0x51f8eb){return _0x26579===_0x51f8eb;},'cgdqW':_0x2fa63c(0x20d)};return new Promise((_0x29a27f,_0x1d5e65)=>{const _0x135de7=_0x2fa63c,_0x2663f3=[_0x135de7(0x1f5)+_0x214dc9,_0x135de7(0x21c),..._0x3f4825?['--with-deps']:[],'chromium'],_0x1306ec=_0x592810['XoBpH'](spawn,_0x135de7(0x1fb),_0x2663f3,{'stdio':[_0x135de7(0x1ed),'inherit','inherit'],'shell':_0x592810['cYZEt'](process[_0x135de7(0x1e8)],_0x592810['cgdqW'])});_0x1306ec['on']('close',_0x368a2f=>{const _0x23773a=_0x135de7;_0x368a2f===0x0?_0x29a27f():_0x592810[_0x23773a(0x1f1)](_0x1d5e65,new Error(_0x23773a(0x1ef)+_0x368a2f));}),_0x1306ec['on']('error',_0x21a67e=>{_0x1d5e65(_0x21a67e);});});}export async function authenticate(_0x203359){const _0x3948aa=_0x9f6b82,_0x2c04ea={'AAtZU':function(_0x478876){return _0x478876();},'LYEcc':function(_0x279fbc){return _0x279fbc();},'CQhmz':function(_0x53b363,_0x35ef5a){return _0x53b363(_0x35ef5a);},'nfhGh':'✓\x20Exported\x20credentials\x20for\x20CI'};if(!_0x203359){const _0x4f9c2e=await _0x2c04ea['AAtZU'](getToken);if(_0x4f9c2e){const _0x1ff817=await getCurrentUser(_0x4f9c2e);if(_0x1ff817['success'])return console['log'](_0x3948aa(0x20c)+_0x1ff817['user'][_0x3948aa(0x1e0)]),{'token':_0x4f9c2e,'method':'existing_token'};}try{_0x203359=await _0x2c04ea[_0x3948aa(0x1fe)](runDeviceAuthFlow);}catch(_0x5ecb71){throw new Error('Authentication\x20failed:\x20'+(_0x5ecb71 instanceof Error?_0x5ecb71['message']:_0x5ecb71));}const _0x1cc99e=await _0x2c04ea['CQhmz'](getCurrentUser,_0x203359);if(!_0x1cc99e[_0x3948aa(0x203)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x1cc99e[_0x3948aa(0x1d7)]);return console[_0x3948aa(0x1f6)](_0x3948aa(0x1f2)+_0x1cc99e[_0x3948aa(0x1ec)]['organizationName']),{'token':_0x203359,'method':_0x3948aa(0x210)};}console['log']('Validating\x20API\x20token...');const _0x1b2bce=await getCurrentUser(_0x203359);if(!_0x1b2bce['success']){if(_0x1b2bce[_0x3948aa(0x1e5)])throw new Error('Authentication\x20failed:\x20'+_0x1b2bce[_0x3948aa(0x1d7)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x3948aa(0x21d)+_0x1b2bce['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x3948aa(0x1f6)]('✓\x20Authenticated\x20to\x20'+_0x1b2bce['user']['organizationName']),await _0x2c04ea[_0x3948aa(0x1dd)](storeToken,_0x203359),console['log'](process['env']['GITHUB_ENV']?_0x2c04ea[_0x3948aa(0x1e7)]:'✓\x20Stored\x20credentials\x20locally'),{'token':_0x203359,'method':_0x3948aa(0x1fc)};}export async function ensureRangerDir(_0x14e3a1){const _0x1a31cf=_0x9f6b82,_0x465163={'JluAW':function(_0x1344e4){return _0x1344e4();},'UfTRc':function(_0x3dbad7,_0x59a277,_0x40a2ed){return _0x3dbad7(_0x59a277,_0x40a2ed);},'qeKFa':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x14e3a1;const _0x2b0646=_0x465163[_0x1a31cf(0x1e2)](getRangerHomeDir);return!existsSync(_0x2b0646)?(await _0x465163['UfTRc'](mkdir,_0x2b0646,{'recursive':!![]}),console['log']('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x2b0646,'installed':!![]}):(console[_0x1a31cf(0x1f6)](_0x465163['qeKFa']),{'path':_0x2b0646,'installed':![]});}export async function ensureChromium(_0x24060d=![]){const _0x21f6b0=_0x9f6b82,_0x3371ac={'jhVzO':function(_0x51ae65,_0x1710fe){return _0x51ae65(_0x1710fe);},'OXVnf':'✓\x20Playwright\x20Chromium\x20browser\x20found','sLykZ':function(_0x3eac7c,_0x40a7d9){return _0x3eac7c??_0x40a7d9;},'qZYwv':'\x20(fallback\x20version)','oKwSt':function(_0x32742d,_0x4e0390){return _0x32742d instanceof _0x4e0390;},'BCJLA':_0x21f6b0(0x1f8)};let _0x327607=![];try{const _0x2d5bdc=chromium['executablePath']();_0x327607=_0x3371ac['jhVzO'](existsSync,_0x2d5bdc);}catch{_0x327607=![];}if(_0x327607)return console['log'](_0x3371ac['OXVnf']),![];const _0x502a55=getPlaywrightVersion(),_0x10c9ca=_0x3371ac[_0x21f6b0(0x1d1)](_0x502a55,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x54815c=!_0x502a55,_0x277549=process['stdin'][_0x21f6b0(0x228)]&&process[_0x21f6b0(0x1cc)][_0x21f6b0(0x228)];let _0x107cfe=!![];if(_0x277549){const {install:_0x4e4d00}=await _0x2bf274['prompt']([{'type':'confirm','name':_0x21f6b0(0x21c),'message':_0x54815c?_0x21f6b0(0x1ff)+_0x10c9ca+'\x20now?':_0x21f6b0(0x1d6)+_0x10c9ca+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x107cfe=_0x4e4d00;}else console[_0x21f6b0(0x1f6)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x10c9ca+(_0x54815c?_0x3371ac['qZYwv']:'')+_0x21f6b0(0x205));if(_0x107cfe){console[_0x21f6b0(0x1f6)](_0x21f6b0(0x1d2));try{await installChromiumBinary(_0x10c9ca,_0x24060d),console['log'](_0x21f6b0(0x1e6));}catch(_0x4a5888){console[_0x21f6b0(0x1d7)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x3371ac[_0x21f6b0(0x200)](_0x4a5888,Error)?_0x4a5888['message']:_0x4a5888),console[_0x21f6b0(0x1f6)](_0x3371ac['BCJLA']),console[_0x21f6b0(0x1f6)](_0x21f6b0(0x215)+_0x10c9ca+_0x21f6b0(0x220));}}else console['log']('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console['log']('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console[_0x21f6b0(0x1f6)](_0x21f6b0(0x215)+_0x10c9ca+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x5b8ca0){const _0x465f57=_0x9f6b82,_0xfdb8bd={'iMrDA':'.gitignore','rCwni':function(_0x136dc1,_0x3fad7e,_0x3f7e98){return _0x136dc1(_0x3fad7e,_0x3f7e98);},'vUXXa':_0x465f57(0x1da)},_0x384e0d=join(_0x5b8ca0,_0xfdb8bd['iMrDA']),_0x3540f0=_0x465f57(0x1d4);await _0xfdb8bd[_0x465f57(0x221)](writeFile,_0x384e0d,_0x3540f0),console[_0x465f57(0x1f6)](_0xfdb8bd[_0x465f57(0x1e9)]);}export async function ensureLocalEnv(_0x5ce3cb,_0x10fe03){const _0x3dc7f9=_0x9f6b82,_0xd1849c={'dUizi':function(_0x5c2c78){return _0x5c2c78();},'GAVwi':function(_0x22d553,_0x522de1){return _0x22d553!==_0x522de1;},'lLski':function(_0x2f34c4,_0x4eda1e){return _0x2f34c4===_0x4eda1e;},'VPORU':_0x3dc7f9(0x1ec),'tTODe':function(_0x3448f6){return _0x3448f6();},'bPDdJ':function(_0x3a16f4,_0xbcc842,_0x474499){return _0x3a16f4(_0xbcc842,_0x474499);},'Ejcig':_0x3dc7f9(0x1e3),'TKsJL':'✓\x20Local\x20profile\x20already\x20exists','WtSIr':function(_0x31bde6,_0x34fd6e,_0x5272ef,_0x7a6a80){return _0x31bde6(_0x34fd6e,_0x5272ef,_0x7a6a80);},'IPURS':_0x3dc7f9(0x217),'SRFlV':function(_0x17f329,_0x17ce7e){return _0x17f329 instanceof _0x17ce7e;}};if(!_0xd1849c['dUizi'](findGitRoot)&&_0xd1849c['GAVwi'](_0x5ce3cb?.['scope'],_0x3dc7f9(0x1ec)))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.'),{'ready':![],'skipped':!![]};const _0x4681c0=_0xd1849c['lLski'](_0x5ce3cb?.[_0x3dc7f9(0x1cd)],_0xd1849c['VPORU'])?_0xd1849c['tTODe'](getRangerHomeDir):undefined;if(_0xd1849c['bPDdJ'](findExistingEnv,_0xd1849c[_0x3dc7f9(0x22c)],{'locations':[_0x3dc7f9(0x1e3)],'rangerDir':_0x4681c0}))return console['log'](_0xd1849c['TKsJL']),{'ready':!![],'skipped':![]};try{return await _0xd1849c[_0x3dc7f9(0x1f9)](addEnv,'local',{'url':_0x5ce3cb?.['url'],'force':_0x5ce3cb?.['force'],'allowInsecureLocalhost':_0x5ce3cb?.[_0x3dc7f9(0x229)],'scope':_0x5ce3cb?.[_0x3dc7f9(0x1cd)]},_0x10fe03),{'ready':!![],'skipped':![]};}catch(_0xa57259){return console[_0x3dc7f9(0x1d7)](_0xd1849c[_0x3dc7f9(0x208)],_0xd1849c['SRFlV'](_0xa57259,Error)?_0xa57259[_0x3dc7f9(0x1ea)]:_0xa57259),{'ready':![],'skipped':![]};}}export async function start(_0x5d085a,_0x47dd86,_0x552cac){const _0x2ba3f1=_0x9f6b82,_0x2cf2b6={'YIXKr':function(_0x3d7a0a,_0x563769){return _0x3d7a0a!==_0x563769;},'sKOGq':_0x2ba3f1(0x1ec),'SqdcA':function(_0x20f884,_0x35a5b2){return _0x20f884+_0x35a5b2;},'qMcvO':function(_0x516647,_0x3e86b2){return _0x516647(_0x3e86b2);},'chrpk':function(_0x554c77,_0x34c395){return _0x554c77(_0x34c395);},'cZptG':_0x2ba3f1(0x1f4),'hJETF':_0x2ba3f1(0x1df),'aMzjz':function(_0xf43a2f,_0x3cd6c1){return _0xf43a2f(_0x3cd6c1);},'tVktJ':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','pSqeX':_0x2ba3f1(0x1ee),'bqilY':_0x2ba3f1(0x1de),'uaVCD':function(_0x349210,_0x1a2394){return _0x349210(_0x1a2394);},'koAxF':function(_0x355a6f,_0x11366d){return _0x355a6f&&_0x11366d;},'PLtrx':_0x2ba3f1(0x20b),'oaoci':_0x2ba3f1(0x20f),'aQSRs':function(_0x2cfd5f){return _0x2cfd5f();},'FykWS':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','zISiS':function(_0x1254e2,_0x2af144,_0x3d1508){return _0x1254e2(_0x2af144,_0x3d1508);},'QOviO':'ranger\x20profile\x20add\x20<name>','BApGH':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','ujFjL':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','JTaOO':_0x2ba3f1(0x21f),'FUdku':'/ranger:enable','JRrvj':function(_0x3b1526,_0x15a299){return _0x3b1526+_0x15a299;}};console[_0x2ba3f1(0x1f6)]('\x0a🚀\x20Ranger\x20Setup\x0a');_0x2cf2b6[_0x2ba3f1(0x214)](_0x47dd86?.['scope'],undefined)&&_0x47dd86['scope']!==_0x2cf2b6['sKOGq']&&(console['error'](_0x2cf2b6['SqdcA'](_0x2ba3f1(0x216)+_0x2cf2b6[_0x2ba3f1(0x207)](String,_0x47dd86[_0x2ba3f1(0x1cd)])+_0x2ba3f1(0x1cf)+_0x2ba3f1(0x204),'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.')),process[_0x2ba3f1(0x218)](0x1));_0x47dd86={..._0x47dd86,'scope':_0x2ba3f1(0x1ec)};const _0x5b4808=!_0x2cf2b6['chrpk'](existsSync,getRangerHomeDir());await _0x2cf2b6[_0x2ba3f1(0x207)](ensureRangerDir,'user');if(_0x47dd86?.['skipAuth'])console[_0x2ba3f1(0x1f6)](_0x2cf2b6[_0x2ba3f1(0x225)]),_0x552cac?.['trackPhaseEnd'](_0x2cf2b6[_0x2ba3f1(0x1e1)],{'isFirstRun':_0x5b4808,'method':_0x2ba3f1(0x20a)});else{_0x552cac?.[_0x2ba3f1(0x1fa)]('auth');const _0x2fcc1e=await _0x2cf2b6[_0x2ba3f1(0x202)](authenticate,_0x5d085a);_0x552cac?.[_0x2ba3f1(0x21b)]('auth',{'isFirstRun':_0x5b4808,'method':_0x2fcc1e[_0x2ba3f1(0x1ce)]});}_0x552cac?.[_0x2ba3f1(0x1fa)](_0x2ba3f1(0x1ee));_0x47dd86?.['skipChromium']?console['log'](_0x2cf2b6['tVktJ']):await ensureChromium(_0x47dd86?.[_0x2ba3f1(0x213)]);_0x552cac?.[_0x2ba3f1(0x21b)](_0x2cf2b6[_0x2ba3f1(0x1e4)],{'isFirstRun':_0x5b4808,'skipped':!!_0x47dd86?.['skipChromium']}),console[_0x2ba3f1(0x1f6)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x21e83f=_0x47dd86?.[_0x2ba3f1(0x1cd)],_0xf0e91=_0x47dd86?.[_0x2ba3f1(0x212)]??![];let _0x23c858=null;_0xf0e91?(_0x552cac?.[_0x2ba3f1(0x1fa)](_0x2cf2b6[_0x2ba3f1(0x1d9)]),_0x23c858=await ensureOpencodePluginConfig(_0x21e83f),_0x552cac?.[_0x2ba3f1(0x21b)](_0x2cf2b6[_0x2ba3f1(0x1d9)],{'isFirstRun':_0x5b4808,'opencode':!![]})):(_0x552cac?.[_0x2ba3f1(0x1fa)](_0x2cf2b6['bqilY']),await _0x2cf2b6[_0x2ba3f1(0x224)](ensureClaudePlugin,_0x21e83f),_0x552cac?.[_0x2ba3f1(0x21b)](_0x2cf2b6[_0x2ba3f1(0x1d9)],{'isFirstRun':_0x5b4808}));if(_0x2cf2b6['koAxF'](_0xf0e91,_0x23c858)){_0x552cac?.['trackPhaseStart'](_0x2cf2b6['PLtrx']);try{await installSkill(_0x2cf2b6['oaoci'],{'level':_0x23c858['scope'],'cliVersion':_0x2cf2b6['aQSRs'](getCurrentVersion),'platform':'opencode'}),_0x552cac?.[_0x2ba3f1(0x21b)](_0x2ba3f1(0x20b),{'isFirstRun':_0x5b4808,'opencode':!![]});}catch(_0x582225){console[_0x2ba3f1(0x201)](_0x2ba3f1(0x22a),_0x582225 instanceof Error?_0x582225[_0x2ba3f1(0x1ea)]:_0x582225),_0x552cac?.['trackPhaseEnd'](_0x2cf2b6['PLtrx'],{'isFirstRun':_0x5b4808,'opencode':!![],'failed':!![]});}}else _0x552cac?.['trackPhaseStart'](_0x2ba3f1(0x20b)),await ensureClaudeSkills(_0x21e83f),_0x552cac?.[_0x2ba3f1(0x21b)]('skills',{'isFirstRun':_0x5b4808});if(_0x47dd86?.['skipAuth'])console[_0x2ba3f1(0x1f6)](_0x2cf2b6[_0x2ba3f1(0x226)]);else{if(_0x47dd86?.[_0x2ba3f1(0x1cb)]){_0x552cac?.[_0x2ba3f1(0x1fa)](_0x2ba3f1(0x20e));const _0x1785ad=await _0x2cf2b6['zISiS'](ensureLocalEnv,{'url':_0x47dd86[_0x2ba3f1(0x1cb)],'force':_0x47dd86?.['force'],'allowInsecureLocalhost':_0x47dd86?.['allowInsecureLocalhost'],'scope':'user'},_0x552cac);_0x552cac?.[_0x2ba3f1(0x21b)](_0x2ba3f1(0x20e),{'isFirstRun':_0x5b4808,'profileReady':_0x1785ad[_0x2ba3f1(0x206)],'userSkipped':_0x1785ad['skipped']});}else console[_0x2ba3f1(0x1f6)](_0x2cf2b6['SqdcA'](_0x2ba3f1(0x1f0),'\x0a\x20\x20'+bold(_0x2cf2b6['QOviO']))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'+'\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles');}if(_0xf0e91)console['log']('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console['log'](_0x2cf2b6['BApGH']),console[_0x2ba3f1(0x1f6)](_0x2cf2b6['ujFjL']),console[_0x2ba3f1(0x1f6)](_0x2cf2b6['JTaOO']);else{const _0x1e6642=_0x2cf2b6['uaVCD'](bold,_0x2cf2b6['FUdku']);console['log'](_0x2cf2b6[_0x2ba3f1(0x211)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x1e6642+'\x20and\x20prompt\x20the\x20coding'+_0x2ba3f1(0x1fd)+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser',_0x2ba3f1(0x1d8)));}}
1
+ const _0x2da74d=_0x2e05;(function(_0x1a3234,_0x4425c6){const _0x5d9c57=_0x2e05,_0x4cdeaa=_0x1a3234();while(!![]){try{const _0x454b9f=-parseInt(_0x5d9c57(0x19c))/0x1+-parseInt(_0x5d9c57(0x1e0))/0x2*(-parseInt(_0x5d9c57(0x1b9))/0x3)+parseInt(_0x5d9c57(0x1d4))/0x4*(parseInt(_0x5d9c57(0x1d5))/0x5)+-parseInt(_0x5d9c57(0x192))/0x6+parseInt(_0x5d9c57(0x1ad))/0x7+-parseInt(_0x5d9c57(0x19a))/0x8+-parseInt(_0x5d9c57(0x1e5))/0x9;if(_0x454b9f===_0x4425c6)break;else _0x4cdeaa['push'](_0x4cdeaa['shift']());}catch(_0x5a6d97){_0x4cdeaa['push'](_0x4cdeaa['shift']());}}}(_0x442d,0xaaee7));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x1ff6e6 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';function _0x442d(){const _0x4b2558=['naxXt','ehuCs','XrolK','version','4036041UVoWMq','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','xbjZe','skipped','Installation\x20failed\x20with\x20exit\x20code\x20','provided_token','✓\x20~/.ranger/\x20directory\x20already\x20exists','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\x0a\x20\x20','Xdnzk','\x0a🚀\x20Ranger\x20Setup\x0a','ignore','\x20(fallback\x20version)','vfmBs','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','local','The\x20required\x20version\x20(','--with-deps','vmayY','\x0aIn\x20Claude\x20Code,\x20run\x20','FKagr','pBSYW','existing_token','nbSsq','skipAuth','warn','ranger\x20setup\x20--scope=','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','isTTY','3509622hJiarp','inherit','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','\x20now?','prompt','✓\x20Stored\x20credentials\x20locally','status','resolve','152232EkBSWI','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','717569DXvkyj','error','RxefR','plugin','RJLEh','✓\x20Playwright\x20Chromium\x20browser\x20found','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','trackPhaseStart','chromium','kGqDB','AuUDJ','jvhpy','user','install',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','trackPhaseEnd','\x1b[0m','4839898yNDVak','DzuWd','executablePath','✓\x20Exported\x20credentials\x20for\x20CI','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','skills','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','method','platform','npx','LoGAz','\x20\x20npx\x20playwright@','105tLLgUi','GITHUB_ENV','blyTX','ready','scope','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','skipChromium','\x20and\x20prompt\x20the\x20coding','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','stdout','opencode','rGocU','BLOPg','pMUGy','GIXeg','JtOzt','message','LxWFM','WtBWX','rZVBs','tQNDs','✓\x20Created\x20.ranger/.gitignore','YKHrp','ranger','force','auth','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','1942300TgHhfM','10BFireu','log','gNAlV','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','playwright@','spNog','profile','✓\x20Skipping\x20authentication\x20(--skip-auth)','\x20is\x20no\x20longer\x20supported.\x20','success','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','46146xqhXhn'];_0x442d=function(){return _0x4b2558;};return _0x442d();}import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x397582=>'\x1b[1m'+_0x397582+_0x2da74d(0x1ac);export function getPlaywrightVersion(){const _0x4dbaa4=_0x2da74d,_0x506eb0={'Tnilg':'playwright/package.json','RJLEh':function(_0x5808fd,_0x4b506f){return _0x5808fd(_0x4b506f);}};try{const _0x29b1cf=require[_0x4dbaa4(0x199)](_0x506eb0['Tnilg']),_0x3de07d=_0x506eb0[_0x4dbaa4(0x1a0)](require,_0x29b1cf);return _0x3de07d[_0x4dbaa4(0x1e4)];}catch{return null;}}export function installChromiumBinary(_0x4aa4d3,_0x48184c=![]){const _0x103c07=_0x2da74d,_0x454794={'pMUGy':_0x103c07(0x1f6),'naxXt':function(_0x42384d,_0x4361df,_0x854870,_0x1c3415){return _0x42384d(_0x4361df,_0x854870,_0x1c3415);},'GIXeg':_0x103c07(0x1f0),'FzZDQ':function(_0x1e869a,_0x123f06){return _0x1e869a===_0x123f06;},'XVXMo':'close','XrolK':'error'};return new Promise((_0x11b34f,_0x2f2ad8)=>{const _0x541d59=_0x103c07,_0x3395b8={'ehuCs':function(_0x169418,_0x42b23e){return _0x169418(_0x42b23e);}},_0x369913=[_0x541d59(0x1d9)+_0x4aa4d3,'install',..._0x48184c?[_0x454794[_0x541d59(0x1c6)]]:[],'chromium'],_0xbb58d9=_0x454794[_0x541d59(0x1e1)](spawn,_0x541d59(0x1b6),_0x369913,{'stdio':[_0x454794[_0x541d59(0x1c7)],'inherit',_0x541d59(0x193)],'shell':_0x454794['FzZDQ'](process[_0x541d59(0x1b5)],'win32')});_0xbb58d9['on'](_0x454794['XVXMo'],_0x492b47=>{const _0x119026=_0x541d59;_0x492b47===0x0?_0x11b34f():_0x2f2ad8(new Error(_0x119026(0x1e9)+_0x492b47));}),_0xbb58d9['on'](_0x454794[_0x541d59(0x1e3)],_0x44ffe8=>{const _0x527ba2=_0x541d59;_0x3395b8[_0x527ba2(0x1e2)](_0x2f2ad8,_0x44ffe8);});});}export async function authenticate(_0x1489da){const _0x44ce35=_0x2da74d,_0x47883e={'kGqDB':function(_0x3f6384){return _0x3f6384();},'pBSYW':function(_0x17552e,_0x591350){return _0x17552e(_0x591350);},'AYjqm':_0x44ce35(0x18b),'OAexl':function(_0x1f88a8,_0x2fe1d7){return _0x1f88a8 instanceof _0x2fe1d7;},'FKagr':'device_auth','zOUnh':'Validating\x20API\x20token...','vfmBs':function(_0x2bc706,_0x4ca268){return _0x2bc706(_0x4ca268);},'xbjZe':_0x44ce35(0x197)};if(!_0x1489da){const _0x21c116=await _0x47883e[_0x44ce35(0x1a5)](getToken);if(_0x21c116){const _0x2986c0=await _0x47883e[_0x44ce35(0x18a)](getCurrentUser,_0x21c116);if(_0x2986c0[_0x44ce35(0x1de)])return console[_0x44ce35(0x1d6)]('✓\x20Already\x20authenticated\x20to\x20'+_0x2986c0['user']['organizationName']),{'token':_0x21c116,'method':_0x47883e['AYjqm']};}try{_0x1489da=await runDeviceAuthFlow();}catch(_0x38a95c){throw new Error('Authentication\x20failed:\x20'+(_0x47883e['OAexl'](_0x38a95c,Error)?_0x38a95c[_0x44ce35(0x1c9)]:_0x38a95c));}const _0x2e2e3f=await getCurrentUser(_0x1489da);if(!_0x2e2e3f['success'])throw new Error(_0x44ce35(0x1f3)+_0x2e2e3f[_0x44ce35(0x19d)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0x2e2e3f[_0x44ce35(0x1a8)]['organizationName']),{'token':_0x1489da,'method':_0x47883e[_0x44ce35(0x1f9)]};}console[_0x44ce35(0x1d6)](_0x47883e['zOUnh']);const _0x353d4f=await _0x47883e[_0x44ce35(0x1f2)](getCurrentUser,_0x1489da);if(!_0x353d4f['success']){if(_0x353d4f[_0x44ce35(0x198)])throw new Error('Authentication\x20failed:\x20'+_0x353d4f[_0x44ce35(0x19d)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x353d4f['error']+_0x44ce35(0x190));}return console['log']('✓\x20Authenticated\x20to\x20'+_0x353d4f['user']['organizationName']),await storeToken(_0x1489da),console[_0x44ce35(0x1d6)](process['env'][_0x44ce35(0x1ba)]?_0x44ce35(0x1b0):_0x47883e[_0x44ce35(0x1e7)]),{'token':_0x1489da,'method':_0x44ce35(0x1ea)};}export async function ensureRangerDir(_0xe6322c){const _0x328a65=_0x2da74d,_0x190b30={'vmayY':function(_0x239b48,_0x2b6ee6){return _0x239b48(_0x2b6ee6);},'RxefR':function(_0x8fb60f,_0x4f2584,_0x289d5d){return _0x8fb60f(_0x4f2584,_0x289d5d);},'nbSsq':_0x328a65(0x1eb)};void _0xe6322c;const _0x3c8e22=getRangerHomeDir();return!_0x190b30[_0x328a65(0x1f7)](existsSync,_0x3c8e22)?(await _0x190b30[_0x328a65(0x19e)](mkdir,_0x3c8e22,{'recursive':!![]}),console[_0x328a65(0x1d6)]('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0x3c8e22,'installed':!![]}):(console['log'](_0x190b30[_0x328a65(0x18c)]),{'path':_0x3c8e22,'installed':![]});}export async function ensureChromium(_0x578e26=![]){const _0x3417c9=_0x2da74d,_0x353662={'nluwV':function(_0x380b25,_0x42490e){return _0x380b25(_0x42490e);},'hEqWM':function(_0x54eb6f){return _0x54eb6f();},'rZVBs':function(_0x3ecd70,_0x1458f6){return _0x3ecd70??_0x1458f6;},'rGocU':'confirm','jFBcj':_0x3417c9(0x1f1)};let _0x1cf61f=![];try{const _0x9c25aa=chromium[_0x3417c9(0x1af)]();_0x1cf61f=_0x353662['nluwV'](existsSync,_0x9c25aa);}catch{_0x1cf61f=![];}if(_0x1cf61f)return console[_0x3417c9(0x1d6)](_0x3417c9(0x1a1)),![];const _0x5d56af=_0x353662['hEqWM'](getPlaywrightVersion),_0x3379f9=_0x353662[_0x3417c9(0x1cc)](_0x5d56af,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x5b685a=!_0x5d56af,_0x50d6bb=process['stdin']['isTTY']&&process[_0x3417c9(0x1c2)][_0x3417c9(0x191)];let _0x107e4a=!![];if(_0x50d6bb){const {install:_0x599f6d}=await _0x1ff6e6[_0x3417c9(0x196)]([{'type':_0x353662[_0x3417c9(0x1c4)],'name':_0x3417c9(0x1a9),'message':_0x5b685a?_0x3417c9(0x1d8)+_0x3379f9+_0x3417c9(0x195):_0x3417c9(0x1f5)+_0x3379f9+_0x3417c9(0x1aa),'default':!![]}]);_0x107e4a=_0x599f6d;}else console[_0x3417c9(0x1d6)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x3379f9+(_0x5b685a?_0x353662['jFBcj']:'')+'...');if(_0x107e4a){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x3379f9,_0x578e26),console['log'](_0x3417c9(0x1c1));}catch(_0x2d04c4){console[_0x3417c9(0x19d)](_0x3417c9(0x194),_0x2d04c4 instanceof Error?_0x2d04c4['message']:_0x2d04c4),console['log'](_0x3417c9(0x1ec)),console[_0x3417c9(0x1d6)](_0x3417c9(0x1b8)+_0x3379f9+'\x20install\x20chromium');}}else console['log']('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console[_0x3417c9(0x1d6)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log'](_0x3417c9(0x1b8)+_0x3379f9+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x155b5c){const _0x575eb6=_0x2da74d,_0x155d7a={'YECfz':function(_0x3b26f4,_0x27dfd8,_0x1f4706){return _0x3b26f4(_0x27dfd8,_0x1f4706);}},_0x46eea1=_0x155d7a['YECfz'](join,_0x155b5c,'.gitignore'),_0x3d060d='\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(_0x46eea1,_0x3d060d),console['log'](_0x575eb6(0x1ce));}function _0x2e05(_0xdddbcc,_0x3881d2){_0xdddbcc=_0xdddbcc-0x18a;const _0x442d2e=_0x442d();let _0x2e057f=_0x442d2e[_0xdddbcc];return _0x2e057f;}export async function ensureLocalEnv(_0xeaba35,_0xb1eed){const _0x6b1cb7=_0x2da74d,_0x360e21={'cESBj':function(_0x94537){return _0x94537();},'JtOzt':'⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','Iwzkc':'local','Xdnzk':function(_0x427f6b,_0x5531fe,_0xc6fbaf,_0x4e35b4){return _0x427f6b(_0x5531fe,_0xc6fbaf,_0x4e35b4);},'blyTX':'\x0a❌\x20Profile\x20setup\x20failed:','YKHrp':function(_0x44551c,_0x18d222){return _0x44551c instanceof _0x18d222;}};if(!_0x360e21['cESBj'](findGitRoot)&&_0xeaba35?.[_0x6b1cb7(0x1bd)]!=='user')return console[_0x6b1cb7(0x1d6)](_0x360e21[_0x6b1cb7(0x1c8)]),{'ready':![],'skipped':!![]};const _0x2f27ca=_0xeaba35?.[_0x6b1cb7(0x1bd)]==='user'?getRangerHomeDir():undefined;if(findExistingEnv(_0x360e21['Iwzkc'],{'locations':[_0x6b1cb7(0x1f4)],'rangerDir':_0x2f27ca}))return console['log']('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await _0x360e21[_0x6b1cb7(0x1ee)](addEnv,_0x360e21['Iwzkc'],{'url':_0xeaba35?.['url'],'force':_0xeaba35?.[_0x6b1cb7(0x1d1)],'allowInsecureLocalhost':_0xeaba35?.['allowInsecureLocalhost'],'scope':_0xeaba35?.['scope']},_0xb1eed),{'ready':!![],'skipped':![]};}catch(_0x48785f){return console[_0x6b1cb7(0x19d)](_0x360e21[_0x6b1cb7(0x1bb)],_0x360e21[_0x6b1cb7(0x1cf)](_0x48785f,Error)?_0x48785f[_0x6b1cb7(0x1c9)]:_0x48785f),{'ready':![],'skipped':![]};}}export async function start(_0x5a2647,_0x304970,_0x203715){const _0x2c22ed=_0x2da74d,_0x1415a3={'XnEdk':_0x2c22ed(0x1ef),'BLOPg':function(_0x20b960,_0xf48499){return _0x20b960!==_0xf48499;},'jvhpy':function(_0x25fd8a,_0x4f7db1){return _0x25fd8a+_0x4f7db1;},'AuUDJ':_0x2c22ed(0x1a8),'ixFzC':function(_0xf246a8,_0x4478b3){return _0xf246a8(_0x4478b3);},'foAYr':function(_0x2a8b86){return _0x2a8b86();},'enMgh':_0x2c22ed(0x1dc),'FDGeX':'auth','WtBWX':_0x2c22ed(0x1a4),'hInWv':_0x2c22ed(0x19f),'CfFTr':_0x2c22ed(0x1d0),'McSJc':_0x2c22ed(0x1b2),'ZNxpn':_0x2c22ed(0x1b3),'spNog':function(_0xf79b8f,_0x597d52){return _0xf79b8f(_0x597d52);},'DzuWd':_0x2c22ed(0x1b1),'LoGAz':_0x2c22ed(0x1db),'gNAlV':function(_0x4ac50a,_0x47f8c4){return _0x4ac50a+_0x47f8c4;},'rPKMz':function(_0x417ef1,_0x583285){return _0x417ef1+_0x583285;},'LxWFM':function(_0x46ce8a,_0x1d2430){return _0x46ce8a+_0x1d2430;},'zCIMq':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','tQNDs':_0x2c22ed(0x1a2),'AiMOd':'/ranger:enable'};console[_0x2c22ed(0x1d6)](_0x1415a3['XnEdk']);_0x1415a3[_0x2c22ed(0x1c5)](_0x304970?.[_0x2c22ed(0x1bd)],undefined)&&_0x304970[_0x2c22ed(0x1bd)]!==_0x2c22ed(0x1a8)&&(console[_0x2c22ed(0x19d)](_0x1415a3[_0x2c22ed(0x1a7)](_0x2c22ed(0x18f)+String(_0x304970['scope'])+_0x2c22ed(0x1dd),'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20')+'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.'),process['exit'](0x1));_0x304970={..._0x304970,'scope':_0x1415a3[_0x2c22ed(0x1a6)]};const _0x4f7060=!_0x1415a3['ixFzC'](existsSync,_0x1415a3['foAYr'](getRangerHomeDir));await ensureRangerDir(_0x1415a3['AuUDJ']);if(_0x304970?.[_0x2c22ed(0x18d)])console[_0x2c22ed(0x1d6)](_0x1415a3['enMgh']),_0x203715?.['trackPhaseEnd'](_0x2c22ed(0x1d2),{'isFirstRun':_0x4f7060,'method':'skipped'});else{_0x203715?.['trackPhaseStart'](_0x1415a3['FDGeX']);const _0x4f4b5d=await _0x1415a3['ixFzC'](authenticate,_0x5a2647);_0x203715?.['trackPhaseEnd'](_0x1415a3['FDGeX'],{'isFirstRun':_0x4f7060,'method':_0x4f4b5d[_0x2c22ed(0x1b4)]});}_0x203715?.[_0x2c22ed(0x1a3)](_0x1415a3[_0x2c22ed(0x1cb)]);_0x304970?.[_0x2c22ed(0x1bf)]?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await ensureChromium(_0x304970?.['withDeps']);_0x203715?.['trackPhaseEnd']('chromium',{'isFirstRun':_0x4f7060,'skipped':!!_0x304970?.[_0x2c22ed(0x1bf)]}),console[_0x2c22ed(0x1d6)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x2240e3=_0x304970?.['scope'],_0x40511f=_0x304970?.[_0x2c22ed(0x1c3)]??![];let _0x5d2788=null;_0x40511f?(_0x203715?.[_0x2c22ed(0x1a3)]('plugin'),_0x5d2788=await ensureOpencodePluginConfig(_0x2240e3),_0x203715?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x4f7060,'opencode':!![]})):(_0x203715?.['trackPhaseStart'](_0x1415a3['hInWv']),await ensureClaudePlugin(_0x2240e3),_0x203715?.[_0x2c22ed(0x1ab)](_0x1415a3['hInWv'],{'isFirstRun':_0x4f7060}));if(_0x40511f&&_0x5d2788){_0x203715?.['trackPhaseStart']('skills');try{await installSkill(_0x1415a3['CfFTr'],{'level':_0x5d2788[_0x2c22ed(0x1bd)],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x203715?.['trackPhaseEnd'](_0x1415a3['McSJc'],{'isFirstRun':_0x4f7060,'opencode':!![]});}catch(_0x1112cb){console[_0x2c22ed(0x18e)](_0x1415a3['ZNxpn'],_0x1112cb instanceof Error?_0x1112cb['message']:_0x1112cb),_0x203715?.[_0x2c22ed(0x1ab)]('skills',{'isFirstRun':_0x4f7060,'opencode':!![],'failed':!![]});}}else _0x203715?.[_0x2c22ed(0x1a3)](_0x1415a3['McSJc']),await _0x1415a3['spNog'](ensureClaudeSkills,_0x2240e3),_0x203715?.[_0x2c22ed(0x1ab)](_0x1415a3['McSJc'],{'isFirstRun':_0x4f7060});if(_0x304970?.['skipAuth'])console['log'](_0x1415a3[_0x2c22ed(0x1ae)]);else{if(_0x304970?.['url']){_0x203715?.['trackPhaseStart'](_0x1415a3[_0x2c22ed(0x1b7)]);const _0x4d56e1=await ensureLocalEnv({'url':_0x304970['url'],'force':_0x304970?.['force'],'allowInsecureLocalhost':_0x304970?.['allowInsecureLocalhost'],'scope':'user'},_0x203715);_0x203715?.[_0x2c22ed(0x1ab)](_0x1415a3['LoGAz'],{'isFirstRun':_0x4f7060,'profileReady':_0x4d56e1[_0x2c22ed(0x1bc)],'userSkipped':_0x4d56e1[_0x2c22ed(0x1e8)]});}else console[_0x2c22ed(0x1d6)](_0x1415a3[_0x2c22ed(0x1d7)](_0x1415a3['rPKMz'](_0x1415a3[_0x2c22ed(0x1ca)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+(_0x2c22ed(0x1ed)+bold('ranger\x20profile\x20add\x20<name>')),_0x2c22ed(0x1df)),_0x2c22ed(0x1be)),_0x2c22ed(0x1e6)));}if(_0x40511f)console[_0x2c22ed(0x1d6)](_0x1415a3['zCIMq']),console[_0x2c22ed(0x1d6)](_0x1415a3[_0x2c22ed(0x1cd)]),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log'](_0x2c22ed(0x19b));else{const _0x5c14ae=_0x1415a3[_0x2c22ed(0x1da)](bold,_0x1415a3['AiMOd']);console['log'](_0x2c22ed(0x1f8)+_0x5c14ae+_0x2c22ed(0x1c0)+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'+_0x2c22ed(0x1d3)+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
@@ -1 +1 @@
1
- const _0x25c6fa=_0x9e42;(function(_0x517c61,_0x4f1997){const _0x458a48=_0x9e42,_0x3de672=_0x517c61();while(!![]){try{const _0x2f083d=parseInt(_0x458a48(0x1de))/0x1+-parseInt(_0x458a48(0x17f))/0x2*(-parseInt(_0x458a48(0x19f))/0x3)+-parseInt(_0x458a48(0x18d))/0x4*(parseInt(_0x458a48(0x1d7))/0x5)+parseInt(_0x458a48(0x1c6))/0x6*(-parseInt(_0x458a48(0x1b6))/0x7)+parseInt(_0x458a48(0x17c))/0x8+-parseInt(_0x458a48(0x1bb))/0x9*(-parseInt(_0x458a48(0x1d3))/0xa)+-parseInt(_0x458a48(0x1d2))/0xb;if(_0x2f083d===_0x4f1997)break;else _0x3de672['push'](_0x3de672['shift']());}catch(_0x238476){_0x3de672['push'](_0x3de672['shift']());}}}(_0x19da,0x9aa3f));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x2b5cc7=>'\x1b[1m'+_0x2b5cc7+_0x25c6fa(0x17d),link=(_0x3738e3,_0x565cb9)=>_0x25c6fa(0x1bc)+_0x3738e3+'\x07'+(_0x565cb9||_0x3738e3)+_0x25c6fa(0x197);async function getOpencodePluginStatus(){const _0x3366c0=_0x25c6fa,_0x2b993e={'XtTuk':function(_0x5d9667,_0x13de9e){return _0x5d9667(_0x13de9e);},'GzvxX':function(_0x30bb6b,_0x41a579){return _0x30bb6b!==_0x41a579;},'fDZcR':'@ranger-testing/opencode-plugin','NIefY':function(_0x2665cc,_0x4e4839){return _0x2665cc>_0x4e4839;},'PmTov':_0x3366c0(0x17a),'MhtUI':function(_0x4525f8,_0x41b773,_0x2070d0,_0x99ba90){return _0x4525f8(_0x41b773,_0x2070d0,_0x99ba90);},'PODpH':'pipe','oHAWO':_0x3366c0(0x1ca),'jSCUU':_0x3366c0(0x19c)};return new Promise(_0x5ba450=>{const _0x1cf8c2=_0x3366c0,_0x23e9f6={'Novhj':function(_0x44a0a1,_0x1db13b){const _0x5f4bfb=_0x9e42;return _0x2b993e[_0x5f4bfb(0x18f)](_0x44a0a1,_0x1db13b);},'JPcqd':function(_0x211688,_0x560a5e){return _0x2b993e['GzvxX'](_0x211688,_0x560a5e);},'geNtG':_0x2b993e['fDZcR'],'sxjvT':'configured','FeaxC':function(_0x1def64,_0x304746){return _0x2b993e['NIefY'](_0x1def64,_0x304746);},'vsBLo':_0x2b993e['PmTov']},_0x5d8021=_0x2b993e[_0x1cf8c2(0x1d5)](spawn,'opencode',['debug',_0x1cf8c2(0x187)],{'stdio':['ignore','pipe',_0x2b993e[_0x1cf8c2(0x1b2)]]});let _0x1e0b30='';_0x5d8021[_0x1cf8c2(0x1c1)]?.['on'](_0x2b993e['oHAWO'],_0x10758a=>{_0x1e0b30+=_0x10758a['toString']();}),_0x5d8021[_0x1cf8c2(0x1a2)]?.['on']('data',_0x414ab9=>{_0x1e0b30+=_0x414ab9['toString']();}),_0x5d8021['on'](_0x1cf8c2(0x1b1),()=>{const _0x28c374=_0x1cf8c2;_0x23e9f6['Novhj'](_0x5ba450,{'status':_0x28c374(0x194)});}),_0x5d8021['on'](_0x2b993e['jSCUU'],_0x67d1b5=>{const _0x212f7b=_0x1cf8c2;if(_0x67d1b5!==0x0){_0x23e9f6[_0x212f7b(0x173)](_0x5ba450,{'status':_0x212f7b(0x194)});return;}const _0x300e27=_0x1e0b30[_0x212f7b(0x176)]();let _0x19031e=null;if(_0x300e27)try{_0x19031e=JSON[_0x212f7b(0x1c5)](_0x300e27);}catch{const _0xee0e1b=_0x300e27['match'](/\{[\s\S]*\}$/);if(_0xee0e1b)try{_0x19031e=JSON[_0x212f7b(0x1c5)](_0xee0e1b[0x0]);}catch{_0x19031e=null;}}const _0x5eb7cc=Array[_0x212f7b(0x1a8)](_0x19031e?.['plugin'])?_0x19031e?.[_0x212f7b(0x1dd)]:[],_0x4f5169=_0x5eb7cc[_0x212f7b(0x177)](_0x5626b6=>{if(_0x23e9f6['JPcqd'](typeof _0x5626b6,'string'))return![];return _0x5626b6['includes'](_0x23e9f6['geNtG'])||_0x5626b6['includes']('opencode-plugin');});if(_0x4f5169){_0x23e9f6[_0x212f7b(0x173)](_0x5ba450,{'status':_0x23e9f6['sxjvT'],'details':_0x23e9f6['FeaxC'](_0x5eb7cc[_0x212f7b(0x170)],0x0)?_0x5eb7cc[_0x212f7b(0x170)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x5eb7cc[_0x212f7b(0x170)]>0x0){_0x5ba450({'status':_0x23e9f6['vsBLo'],'details':_0x5eb7cc['length']+_0x212f7b(0x195)});return;}_0x5ba450({'status':'not_configured'});});});}function _0x19da(){const _0x52f5db=['displayName','8DlTZOT','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','XtTuk','CQfTS','scope','includes','version','not_installed','\x20plugin(s)\x20configured','enabled','\x1b]8;;\x07','isDirectory','@ranger-testing/opencode-plugin','project','filter','close','RrFHy','\x20\x20User-level:','9xTUihS','hasEncryptedAuth','unknown','stderr','sbWap','API\x20Environment:\x20','auth.json','bKGKB','Root:\x20','isArray','\x20\x20Project-level:','push','cwd','(not\x20found)','\x20(active)','NKxhn','\x20\x20Run:\x20ranger\x20setup\x20[token]','details','error','PODpH','\x20\x20Run:\x20ranger\x20setup\x20--opencode','log','isActive','6692791iLLLdh','\x0a---\x20OpenCode\x20Plugin\x20---','ranger@trailhead','aMEBx','match','1665uceaLH','\x1b]8;;file://','all','OeJpR','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','hasPlaintextAuth','stdout','SKILL.md','\x20\x20\x20\x20Session:\x20','name','parse','6VJIwMi','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','success','GaApE','data','\x20(latest:\x20','status','RrAfC','path','vltBa','\x20[local]','ipDoE','4618691KKvNBf','24430nudKfM','\x20\x20\x20\x20','MhtUI','sessionUpdatedAt','97400pLWelG','no\x20session','pGhar','xBtgr','auth.json.enc','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','plugin','832746RtCOtr','length','has','join','Novhj','API\x20URL:\x20','env','trim','some','plaintext','\x20\x20Not\x20configured','not_configured','user','1689512DxxhRw','\x1b[0m','cached\x20(updated\x20','368314FvtsUf','No\x20profiles\x20configured','vxEZL','\x0a---\x20Claude\x20Code\x20Plugin\x20---','YAWCI','utf-8','map','Organization:\x20','config','organizationName','\x20[cloud]','No\x20skills\x20installed','sRfNk'];_0x19da=function(){return _0x52f5db;};return _0x19da();}async function getSkillsFromDir(_0x69dccd,_0x473d52){const _0x84afa3=_0x25c6fa,_0x33f711={'JJUmC':function(_0x4d8ace,_0x449827){return _0x4d8ace(_0x449827);},'ipDoE':function(_0x269f05,_0xf9b8c5,_0x42d9ec){return _0x269f05(_0xf9b8c5,_0x42d9ec);},'RrFHy':_0x84afa3(0x1c2),'YAWCI':_0x84afa3(0x184)};if(!_0x33f711['JJUmC'](existsSync,_0x69dccd))return[];const _0x382557=[];try{const _0x2917a4=await _0x33f711[_0x84afa3(0x1d1)](readdir,_0x69dccd,{'withFileTypes':!![]});for(const _0x32202e of _0x2917a4){if(_0x32202e[_0x84afa3(0x198)]()){const _0x3117d3=join(_0x69dccd,_0x32202e[_0x84afa3(0x1c4)],_0x33f711[_0x84afa3(0x19d)]);if(existsSync(_0x3117d3)){let _0x558486=_0x32202e[_0x84afa3(0x1c4)];try{const _0x5bee68=await readFile(_0x3117d3,_0x33f711[_0x84afa3(0x183)]),_0x18ef58=_0x5bee68[_0x84afa3(0x1ba)](/name:\s*(.+)/);_0x18ef58&&(_0x558486=_0x18ef58[0x1]['trim']());}catch{}_0x382557['push']({'name':_0x32202e['name'],'displayName':_0x558486,'path':_0x3117d3,'level':_0x473d52});}}}}catch{return[];}return _0x382557;}async function getInstalledSkills(){const _0x58dd7c=_0x25c6fa,_0x2528a3={'FZizg':function(_0x162284,_0x11df9b,_0xb5a761){return _0x162284(_0x11df9b,_0xb5a761);},'NZTZB':function(_0x4283d5){return _0x4283d5();},'GaApE':_0x58dd7c(0x19a),'OeJpR':'user'},[_0x11e7a,_0x40412e]=await Promise[_0x58dd7c(0x1bd)]([_0x2528a3['FZizg'](getSkillsFromDir,_0x2528a3['NZTZB'](getProjectSkillsDir),_0x2528a3[_0x58dd7c(0x1c9)]),_0x2528a3['FZizg'](getSkillsFromDir,getUserSkillsDir(),_0x2528a3[_0x58dd7c(0x1be)])]);return{'project':_0x11e7a,'user':_0x40412e};}function _0x9e42(_0x2f3ba8,_0x3d7be2){_0x2f3ba8=_0x2f3ba8-0x170;const _0x19da2d=_0x19da();let _0x9e420d=_0x19da2d[_0x2f3ba8];return _0x9e420d;}async function getEnvironments(){const _0x3b5e20=_0x25c6fa,_0x419dda={'GIgDc':function(_0x5a3727,_0x597dad){return _0x5a3727(_0x597dad);},'dcGeY':_0x3b5e20(0x1db),'wejfD':function(_0xf14de0,_0x2eae64){return _0xf14de0(_0x2eae64);},'wDZth':function(_0x4d8876,_0x513b0d){return _0x4d8876===_0x513b0d;}},{envNames:_0x206274,activeEnv:_0x5d6d69}=await getEnvNames(),_0x51b94a=getRangerDir();if(!existsSync(_0x51b94a))return{'envs':[],'activeEnv':null};const _0x8f236e=_0x206274[_0x3b5e20(0x185)](_0x2f84c9=>{const _0x5d525b=_0x3b5e20,_0x51c58f=_0x419dda['GIgDc'](getEnvDir,_0x2f84c9),_0x48f1b3=join(_0x51c58f,'settings.json'),_0x5d5e3e=join(_0x51c58f,_0x5d525b(0x1a5)),_0x375c9c=join(_0x51c58f,_0x419dda['dcGeY']);return{'name':_0x2f84c9,'settingsPath':existsSync(_0x48f1b3)?_0x48f1b3:_0x5d525b(0x1ac),'hasPlaintextAuth':_0x419dda['wejfD'](existsSync,_0x5d5e3e),'hasEncryptedAuth':existsSync(_0x375c9c),'isActive':_0x419dda['wDZth'](_0x2f84c9,_0x5d6d69)};});return{'envs':_0x8f236e,'activeEnv':_0x5d6d69};}export async function status(){const _0x819df4=_0x25c6fa,_0x12c0ab={'sRfNk':function(_0x131815,_0x401805){return _0x131815(_0x401805);},'vltBa':function(_0x5b0d20,_0x1b3558){return _0x5b0d20(_0x1b3558);},'xBtgr':function(_0x4beea8,_0x3e8af4,_0x33f2db){return _0x4beea8(_0x3e8af4,_0x33f2db);},'sbWap':function(_0x1ac194,_0x5a3859){return _0x1ac194(_0x5a3859);},'aMEBx':function(_0x4e05df,_0x4027a5){return _0x4e05df!==_0x4027a5;},'CQfTS':function(_0x5c7e70){return _0x5c7e70();},'pGhar':_0x819df4(0x199),'bKGKB':function(_0x44898f,_0x415414){return _0x44898f===_0x415414;},'vJAjo':_0x819df4(0x1b3),'RrAfC':'disabled','WBdXO':'\x0a---\x20Skills\x20---','TWozb':function(_0x3df83e,_0x53d1c8){return _0x3df83e>_0x53d1c8;},'NKxhn':_0x819df4(0x1a9),'JfdEh':function(_0x577dfc,_0x4e2a4d,_0x2b2106){return _0x577dfc(_0x4e2a4d,_0x2b2106);},'zOdgU':_0x819df4(0x180),'njOpF':_0x819df4(0x1ad),'vjgtr':_0x819df4(0x1d8),'vxEZL':'none','GqSuN':'(not\x20found)'};console[_0x819df4(0x1b4)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x3b51e3=process[_0x819df4(0x1ab)](),_0x2715ca=getRangerDir();if(!_0x12c0ab[_0x819df4(0x18b)](existsSync,_0x2715ca)){console['log'](_0x819df4(0x1a7)+link(_0x3b51e3,bold(_0x12c0ab['vltBa'](basename,_0x3b51e3)))),console[_0x819df4(0x1b4)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x819df4(0x1a7)+_0x12c0ab[_0x819df4(0x1da)](link,_0x3b51e3,bold(_0x12c0ab[_0x819df4(0x1a3)](basename,_0x3b51e3))));const _0x53d5f4=getCurrentVersion(),_0x4eb7ed=getLatestVersion();if(_0x4eb7ed[_0x819df4(0x193)]&&_0x12c0ab[_0x819df4(0x1b9)](_0x4eb7ed[_0x819df4(0x193)],_0x53d5f4))console['log']('Version:\x20'+_0x53d5f4+_0x819df4(0x1cb)+_0x4eb7ed['version']+')'),console[_0x819df4(0x1b4)]('\x20\x20Run:\x20ranger\x20update');else _0x4eb7ed['version']?console['log']('Version:\x20'+_0x53d5f4+'\x20(up\x20to\x20date)'):console[_0x819df4(0x1b4)]('Version:\x20'+_0x53d5f4);const _0x5dfbce=await _0x12c0ab['CQfTS'](getToken);if(_0x5dfbce){const _0x3c7f26=await getCurrentUser(_0x5dfbce);_0x3c7f26[_0x819df4(0x1c8)]?console['log'](_0x819df4(0x186)+bold(_0x3c7f26[_0x819df4(0x17b)][_0x819df4(0x188)])):(console[_0x819df4(0x1b4)](_0x819df4(0x1bf)),console['log'](_0x819df4(0x1af)));}else console[_0x819df4(0x1b4)]('API\x20Token:\x20✗\x20Not\x20found'),console[_0x819df4(0x1b4)](_0x819df4(0x1af));process[_0x819df4(0x175)]['DEBUG']&&(console[_0x819df4(0x1b4)](_0x819df4(0x1a4)+getCurrentEnvironment()),console['log'](_0x819df4(0x174)+_0x12c0ab['CQfTS'](getApiBaseUrl)));console[_0x819df4(0x1b4)](_0x819df4(0x1b7));const _0x5a624b=await getOpencodePluginStatus();if(_0x5a624b[_0x819df4(0x1cc)]==='configured')console[_0x819df4(0x1b4)]('\x20\x20'+bold(_0x12c0ab[_0x819df4(0x1d9)])+':\x20configured'),_0x5a624b['details']&&console['log']('\x20\x20'+_0x5a624b[_0x819df4(0x1b0)]);else _0x12c0ab[_0x819df4(0x1a6)](_0x5a624b['status'],'not_configured')?(console['log'](_0x819df4(0x179)),_0x5a624b[_0x819df4(0x1b0)]&&console[_0x819df4(0x1b4)]('\x20\x20'+_0x5a624b[_0x819df4(0x1b0)]),console[_0x819df4(0x1b4)](_0x12c0ab['vJAjo'])):console[_0x819df4(0x1b4)]('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console[_0x819df4(0x1b4)](_0x819df4(0x182));const _0x52b03d=await getPluginInfo('ranger@trailhead');if(_0x52b03d){const _0x39b0e1=_0x52b03d[_0x819df4(0x191)]||_0x819df4(0x1a1),_0x3a7b5=_0x52b03d[_0x819df4(0x196)]?'enabled':_0x12c0ab[_0x819df4(0x1cd)];console['log']('\x20\x20'+bold(_0x819df4(0x1b8))+':\x20installed\x20('+_0x39b0e1+',\x20'+_0x3a7b5+')');}else console[_0x819df4(0x1b4)]('\x20\x20Not\x20installed'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console['log'](_0x12c0ab['WBdXO']);const {project:_0x329db4,user:_0x2d787f}=await getInstalledSkills(),_0x9d50a2=_0x329db4[_0x819df4(0x19b)](_0x53d122=>RANGER_MANAGED_SKILLS['includes'](_0x53d122['name'])),_0x967621=_0x2d787f['filter'](_0x59c6aa=>RANGER_MANAGED_SKILLS[_0x819df4(0x192)](_0x59c6aa[_0x819df4(0x1c4)])),_0x1abd74=_0x9d50a2[_0x819df4(0x170)]+_0x967621[_0x819df4(0x170)];if(_0x1abd74===0x0)console['log'](_0x819df4(0x18a)),console[_0x819df4(0x1b4)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x12c0ab['TWozb'](_0x9d50a2[_0x819df4(0x170)],0x0)){console[_0x819df4(0x1b4)](_0x12c0ab[_0x819df4(0x1ae)]);for(const _0x197d89 of _0x9d50a2){console[_0x819df4(0x1b4)](_0x819df4(0x1d4)+bold(_0x197d89[_0x819df4(0x18c)])+':\x20'+link(_0x197d89[_0x819df4(0x1ce)],basename(_0x197d89['path'])));}}if(_0x967621['length']>0x0){console[_0x819df4(0x1b4)](_0x819df4(0x19e));for(const _0x5be26d of _0x967621){console['log']('\x20\x20\x20\x20'+bold(_0x5be26d['displayName'])+':\x20'+_0x12c0ab['JfdEh'](link,_0x5be26d[_0x819df4(0x1ce)],basename(_0x5be26d[_0x819df4(0x1ce)])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x2f1ea2,activeEnv:_0x37dc37}=await _0x12c0ab[_0x819df4(0x190)](getEnvironments);let _0x32c2e9=[];if(_0x5dfbce)try{_0x32c2e9=await listCloudProfiles();}catch{}const _0x2ac32c=_0x2f1ea2['length']+_0x32c2e9[_0x819df4(0x170)];if(_0x2ac32c===0x0)console[_0x819df4(0x1b4)](_0x12c0ab['zOdgU']),console['log'](_0x819df4(0x18e));else{if(_0x2ac32c>0x5){const _0x5e5c90=[];_0x12c0ab['TWozb'](_0x32c2e9[_0x819df4(0x170)],0x0)&&_0x5e5c90[_0x819df4(0x1aa)](_0x32c2e9['length']+'\x20cloud'),_0x12c0ab['TWozb'](_0x2f1ea2[_0x819df4(0x170)],0x0)&&_0x5e5c90['push'](_0x2f1ea2[_0x819df4(0x170)]+'\x20local'),console[_0x819df4(0x1b4)](_0x2ac32c+'\x20profiles\x20configured\x20('+_0x5e5c90['join'](',\x20')+')'),_0x37dc37&&console['log']('\x20\x20Active:\x20'+bold(_0x37dc37)),console[_0x819df4(0x1b4)](_0x819df4(0x1c7));}else{for(const _0x695f7e of _0x32c2e9){const _0x39208b=_0x12c0ab['bKGKB'](_0x695f7e[_0x819df4(0x1c4)],_0x37dc37)?_0x12c0ab['njOpF']:'';console['log']('\x20\x20'+bold(_0x695f7e[_0x819df4(0x1c4)])+_0x819df4(0x189)+_0x39208b);const _0x3b1d4a=_0x695f7e['sessionUpdatedAt']?_0x819df4(0x17e)+_0x695f7e[_0x819df4(0x1d6)]+')':_0x12c0ab['vjgtr'];console['log'](_0x819df4(0x1c3)+_0x3b1d4a);}const _0x8b143e=new Set(_0x32c2e9['map'](_0x33be48=>_0x33be48[_0x819df4(0x1c4)]));for(const _0x28601b of _0x2f1ea2){if(_0x8b143e['has'](_0x28601b['name']))continue;const _0x2dce9e=_0x28601b[_0x819df4(0x1b5)]?'\x20(active)':'',_0x5b5b95=_0x28601b[_0x819df4(0x1a0)]?'encrypted':_0x28601b[_0x819df4(0x1c0)]?_0x819df4(0x178):_0x12c0ab[_0x819df4(0x181)];console[_0x819df4(0x1b4)]('\x20\x20'+_0x12c0ab[_0x819df4(0x1cf)](bold,_0x28601b[_0x819df4(0x1c4)])+_0x819df4(0x1d0)+_0x2dce9e),console[_0x819df4(0x1b4)]('\x20\x20\x20\x20Auth:\x20'+_0x5b5b95),_0x28601b['settingsPath']!==_0x12c0ab['GqSuN']&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x12c0ab[_0x819df4(0x1da)](link,_0x28601b['settingsPath'],basename(_0x28601b['settingsPath'])));}if(!_0x37dc37){console[_0x819df4(0x1b4)]('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x392cf1=[..._0x32c2e9[_0x819df4(0x185)](_0x4ee362=>_0x4ee362['name']),..._0x2f1ea2['filter'](_0x1a357b=>!_0x8b143e[_0x819df4(0x171)](_0x1a357b[_0x819df4(0x1c4)]))[_0x819df4(0x185)](_0x50dca2=>_0x50dca2[_0x819df4(0x1c4)])];console[_0x819df4(0x1b4)](_0x819df4(0x1dc)+_0x392cf1[_0x819df4(0x172)](',\x20')+')');}}}console['log']('');}
1
+ const _0x4c82ba=_0x12af;(function(_0xe4bb85,_0x30ea4c){const _0x39d4d5=_0x12af,_0x5e8797=_0xe4bb85();while(!![]){try{const _0x24cb8e=-parseInt(_0x39d4d5(0x16d))/0x1*(parseInt(_0x39d4d5(0x15a))/0x2)+parseInt(_0x39d4d5(0x1a8))/0x3*(-parseInt(_0x39d4d5(0x180))/0x4)+parseInt(_0x39d4d5(0x1c7))/0x5*(-parseInt(_0x39d4d5(0x15e))/0x6)+parseInt(_0x39d4d5(0x1a3))/0x7*(-parseInt(_0x39d4d5(0x1a1))/0x8)+-parseInt(_0x39d4d5(0x1c9))/0x9*(-parseInt(_0x39d4d5(0x1b5))/0xa)+-parseInt(_0x39d4d5(0x1bd))/0xb+parseInt(_0x39d4d5(0x1cf))/0xc;if(_0x24cb8e===_0x30ea4c)break;else _0x5e8797['push'](_0x5e8797['shift']());}catch(_0x57042d){_0x5e8797['push'](_0x5e8797['shift']());}}}(_0x10f1,0xb3109));import{readFile,readdir}from'fs/promises';function _0x12af(_0x32635f,_0x34924a){_0x32635f=_0x32635f-0x159;const _0x10f140=_0x10f1();let _0x12af86=_0x10f140[_0x32635f];return _0x12af86;}import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{listCloudProfiles}from'./utils/cloudProfile.js';function _0x10f1(){const _0x3ba266=['IRRgF','trim','\x0a---\x20Claude\x20Code\x20Plugin\x20---','No\x20profiles\x20configured','\x20\x20Run:\x20ranger\x20skillup','uMyjp','length','\x20\x20Run:\x20ranger\x20setup\x20[token]','parse','20XnpWcm','includes','2897793qQSeGu','unknown','rzUlj','scope','DCjtr','isArray','42210420eJuaFG','join','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','2qpbXDR','VosMA','kKXEX','map','1690608cJMtFH','\x0a\x20\x20No\x20active\x20profile\x20set','VAtko','GvDBA','some','debug','Root:\x20','ygLLl','@ranger-testing/opencode-plugin','mjvAa','\x1b[1m','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','displayName','string','\x1b]8;;file://','417705vVnlSo','sessionUpdatedAt','gqLJX','name','QqRoL','wjZcu','details','\x1b[0m','aAgaj','SKILL.md','stderr','has','ettKr','\x20(up\x20to\x20date)','VMkqh','\x20\x20\x20\x20Session:\x20','\x1b]8;;\x07','OjPyW','\x20[local]','277532xXqIfb','no\x20session','NNMDx','settings.json','close','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','HrJqS','user','\x20\x20User-level:','\x20(active)','log','ZbJaX','Sfomy','\x20\x20Not\x20installed','Version:\x20','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x20\x20Not\x20configured','path','status','jEPqD','SoRJi','toString','not_configured','enabled','filter','(not\x20found)','API\x20Token:\x20✗\x20Not\x20found','configured','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','WYtOB','\x20\x20\x20\x20Auth:\x20','\x20cloud','yKWGU','57736RWFQHk','cached\x20(updated\x20','14YrgYvp','AKYoX','erqAM','\x0a---\x20OpenCode\x20Plugin\x20---','NsoVO','12LghLrG','hQbSV','\x20\x20Project-level:','none','API\x20Environment:\x20','all','version','push','\x0a📊\x20Ranger\x20Status\x0a','\x20local','mNIGS','cryoN','\x20plugin(s)\x20configured','10yFmKof','ysIRK','oxZeb',':\x20installed\x20(','auth.json.enc','pipe','oROFb','not_installed','13962520ZOJWgc'];_0x10f1=function(){return _0x3ba266;};return _0x10f1();}import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0xee3f0=>_0x4c82ba(0x168)+_0xee3f0+_0x4c82ba(0x174),link=(_0x1deaa7,_0x2b78ef)=>_0x4c82ba(0x16c)+_0x1deaa7+'\x07'+(_0x2b78ef||_0x1deaa7)+_0x4c82ba(0x17d);async function getOpencodePluginStatus(){const _0x1c27ed=_0x4c82ba,_0x19292e={'GvDBA':function(_0xb850ec,_0x3e5cbe){return _0xb850ec(_0x3e5cbe);},'DCjtr':_0x1c27ed(0x1bc),'pqGOI':_0x1c27ed(0x166),'Jiqhi':function(_0x5f4154,_0x447762){return _0x5f4154!==_0x447762;},'ysIRK':function(_0x230a4a,_0x2f7dfc){return _0x230a4a>_0x2f7dfc;},'VebcZ':'config','QqRoL':'data'};return new Promise(_0x381541=>{const _0x4e2f49=_0x1c27ed,_0x2a6caa={'OjPyW':_0x19292e['pqGOI'],'nKPfe':function(_0x104868,_0x145e12){return _0x19292e['Jiqhi'](_0x104868,_0x145e12);},'jEPqD':function(_0x1c21a5,_0x53c964){return _0x1c21a5(_0x53c964);},'ZbJaX':function(_0x5a77f1,_0x9c743a){const _0x40f308=_0x12af;return _0x19292e[_0x40f308(0x1b6)](_0x5a77f1,_0x9c743a);}},_0x2c3d09=spawn('opencode',[_0x4e2f49(0x163),_0x19292e['VebcZ']],{'stdio':['ignore','pipe',_0x4e2f49(0x1ba)]});let _0x46df61='';_0x2c3d09['stdout']?.['on'](_0x19292e[_0x4e2f49(0x171)],_0x219640=>{const _0xecc37e=_0x4e2f49;_0x46df61+=_0x219640[_0xecc37e(0x195)]();}),_0x2c3d09[_0x4e2f49(0x177)]?.['on'](_0x19292e[_0x4e2f49(0x171)],_0xe7b53b=>{const _0x40fed1=_0x4e2f49;_0x46df61+=_0xe7b53b[_0x40fed1(0x195)]();}),_0x2c3d09['on']('error',()=>{const _0x4d8877=_0x4e2f49;_0x19292e[_0x4d8877(0x161)](_0x381541,{'status':_0x19292e[_0x4d8877(0x1cd)]});}),_0x2c3d09['on'](_0x4e2f49(0x184),_0x5dce03=>{const _0x447eb6=_0x4e2f49,_0x4485f1={'ztuOs':_0x2a6caa[_0x447eb6(0x17e)],'McSPc':'opencode-plugin'};if(_0x2a6caa['nKPfe'](_0x5dce03,0x0)){_0x381541({'status':_0x447eb6(0x1bc)});return;}const _0x48d90c=_0x46df61['trim']();let _0xa434c1=null;if(_0x48d90c)try{_0xa434c1=JSON[_0x447eb6(0x1c6)](_0x48d90c);}catch{const _0x41db38=_0x48d90c['match'](/\{[\s\S]*\}$/);if(_0x41db38)try{_0xa434c1=JSON[_0x447eb6(0x1c6)](_0x41db38[0x0]);}catch{_0xa434c1=null;}}const _0x24fc9a=Array[_0x447eb6(0x1ce)](_0xa434c1?.['plugin'])?_0xa434c1?.['plugin']:[],_0x133391=_0x24fc9a[_0x447eb6(0x162)](_0x23a3fb=>{const _0x27195f=_0x447eb6;if(typeof _0x23a3fb!==_0x27195f(0x16b))return![];return _0x23a3fb[_0x27195f(0x1c8)](_0x4485f1['ztuOs'])||_0x23a3fb[_0x27195f(0x1c8)](_0x4485f1['McSPc']);});if(_0x133391){_0x2a6caa[_0x447eb6(0x193)](_0x381541,{'status':_0x447eb6(0x19b),'details':_0x2a6caa[_0x447eb6(0x18b)](_0x24fc9a[_0x447eb6(0x1c4)],0x0)?_0x24fc9a[_0x447eb6(0x1c4)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x24fc9a['length']>0x0){_0x381541({'status':_0x447eb6(0x196),'details':_0x24fc9a['length']+_0x447eb6(0x1b4)});return;}_0x2a6caa[_0x447eb6(0x193)](_0x381541,{'status':_0x447eb6(0x196)});});});}async function getSkillsFromDir(_0x31b4b1,_0x56f071){const _0x544875=_0x4c82ba,_0xfcfcfc={'SoRJi':function(_0x40ec9e,_0x312898){return _0x40ec9e(_0x312898);},'HrJqS':function(_0x29489c,_0x6a232e,_0x37d8fc){return _0x29489c(_0x6a232e,_0x37d8fc);},'oROFb':function(_0x485df0,_0x173e8f,_0x581732,_0x5186ab){return _0x485df0(_0x173e8f,_0x581732,_0x5186ab);},'aAgaj':function(_0x5554d0,_0xfae63e){return _0x5554d0(_0xfae63e);},'IRRgF':function(_0x5b41d5,_0x5d65f1,_0x5c3895){return _0x5b41d5(_0x5d65f1,_0x5c3895);}};if(!_0xfcfcfc[_0x544875(0x194)](existsSync,_0x31b4b1))return[];const _0x39d44a=[];try{const _0xd52cff=await _0xfcfcfc[_0x544875(0x186)](readdir,_0x31b4b1,{'withFileTypes':!![]});for(const _0x2f00b7 of _0xd52cff){if(_0x2f00b7['isDirectory']()){const _0x2afdc6=_0xfcfcfc[_0x544875(0x1bb)](join,_0x31b4b1,_0x2f00b7['name'],_0x544875(0x176));if(_0xfcfcfc[_0x544875(0x175)](existsSync,_0x2afdc6)){let _0x3b17b9=_0x2f00b7[_0x544875(0x170)];try{const _0x17e8f8=await _0xfcfcfc[_0x544875(0x1be)](readFile,_0x2afdc6,'utf-8'),_0x1c7f8a=_0x17e8f8['match'](/name:\s*(.+)/);_0x1c7f8a&&(_0x3b17b9=_0x1c7f8a[0x1][_0x544875(0x1bf)]());}catch{}_0x39d44a['push']({'name':_0x2f00b7[_0x544875(0x170)],'displayName':_0x3b17b9,'path':_0x2afdc6,'level':_0x56f071});}}}}catch{return[];}return _0x39d44a;}async function getInstalledSkills(){const _0x306bce=_0x4c82ba,_0x222e21={'mjvAa':function(_0x2974ae){return _0x2974ae();}},[_0x1677ed,_0xf0ec8e]=await Promise[_0x306bce(0x1ad)]([getSkillsFromDir(_0x222e21['mjvAa'](getProjectSkillsDir),'project'),getSkillsFromDir(_0x222e21[_0x306bce(0x167)](getUserSkillsDir),_0x306bce(0x187))]);return{'project':_0x1677ed,'user':_0xf0ec8e};}async function getEnvironments(){const _0x34756e=_0x4c82ba,_0x435f3e={'ttcXg':_0x34756e(0x183),'ettKr':'auth.json','mNIGS':function(_0x557f5c,_0x4983fa,_0x3a76ba){return _0x557f5c(_0x4983fa,_0x3a76ba);},'AbVEC':_0x34756e(0x1b9),'lIohd':_0x34756e(0x199),'erqAM':function(_0xd63e69,_0x4b1000){return _0xd63e69(_0x4b1000);},'NsoVO':function(_0x506b6f,_0x4ee36f){return _0x506b6f(_0x4ee36f);},'JxcRN':function(_0x4ef6a2){return _0x4ef6a2();},'KGyyE':function(_0x40ed5b,_0x3f7b88){return _0x40ed5b(_0x3f7b88);}},{envNames:_0x22cf58,activeEnv:_0x32d0ec}=await getEnvNames(),_0x1e91fb=_0x435f3e['JxcRN'](getRangerDir);if(!_0x435f3e['KGyyE'](existsSync,_0x1e91fb))return{'envs':[],'activeEnv':null};const _0x17178d=_0x22cf58['map'](_0x40c0ac=>{const _0x17dd53=_0x34756e,_0x28cc5e=getEnvDir(_0x40c0ac),_0x5c9db8=join(_0x28cc5e,_0x435f3e['ttcXg']),_0x4b2f29=join(_0x28cc5e,_0x435f3e[_0x17dd53(0x179)]),_0xc64ff6=_0x435f3e[_0x17dd53(0x1b2)](join,_0x28cc5e,_0x435f3e['AbVEC']);return{'name':_0x40c0ac,'settingsPath':existsSync(_0x5c9db8)?_0x5c9db8:_0x435f3e['lIohd'],'hasPlaintextAuth':_0x435f3e[_0x17dd53(0x1a5)](existsSync,_0x4b2f29),'hasEncryptedAuth':_0x435f3e[_0x17dd53(0x1a7)](existsSync,_0xc64ff6),'isActive':_0x40c0ac===_0x32d0ec};});return{'envs':_0x17178d,'activeEnv':_0x32d0ec};}export async function status(){const _0x11fd93=_0x4c82ba,_0x3be2a8={'VMkqh':function(_0x51a861,_0x342e31){return _0x51a861(_0x342e31);},'wjZcu':function(_0xf3f6ff,_0x5abb69,_0x234500){return _0xf3f6ff(_0x5abb69,_0x234500);},'AKYoX':function(_0x301292,_0x58f586){return _0x301292(_0x58f586);},'Sfomy':function(_0x5795d9){return _0x5795d9();},'WYtOB':function(_0x356b5c){return _0x356b5c();},'VosMA':function(_0x27d89d){return _0x27d89d();},'rzUlj':function(_0x50654f){return _0x50654f();},'cryoN':function(_0x302c87,_0xb7b24d){return _0x302c87(_0xb7b24d);},'zDhmg':_0x11fd93(0x166),'NNMDx':_0x11fd93(0x190),'bxlIw':_0x11fd93(0x18f),'yfBqr':_0x11fd93(0x1c0),'DEPFg':'ranger@trailhead','oxZeb':'\x0a---\x20Skills\x20---','gWVwL':function(_0x16b9a5){return _0x16b9a5();},'uqQMA':function(_0x416b2f,_0x401f44){return _0x416b2f+_0x401f44;},'uMyjp':function(_0x264959,_0x34899a){return _0x264959>_0x34899a;},'yKWGU':function(_0x1502b0,_0x596c31,_0x247c10){return _0x1502b0(_0x596c31,_0x247c10);},'ygLLl':function(_0x50f33f){return _0x50f33f();},'JqJen':function(_0x344623,_0x257e09){return _0x344623+_0x257e09;},'byggm':function(_0x5a7ec9,_0x28e425){return _0x5a7ec9>_0x28e425;},'gRzhm':function(_0x7ffcad,_0x231411){return _0x7ffcad(_0x231411);},'kKXEX':_0x11fd93(0x181),'DWVpT':'encrypted','VAtko':_0x11fd93(0x1ab),'lKXtL':function(_0x1ba425,_0x3fd170){return _0x1ba425(_0x3fd170);},'hQbSV':function(_0x343544,_0x806d59){return _0x343544!==_0x806d59;},'gqLJX':'(not\x20found)'};console[_0x11fd93(0x18a)](_0x11fd93(0x1b0));const _0x408cce=process['cwd'](),_0xc255cb=getRangerDir();if(!_0x3be2a8[_0x11fd93(0x17b)](existsSync,_0xc255cb)){console['log'](_0x11fd93(0x164)+_0x3be2a8[_0x11fd93(0x172)](link,_0x408cce,_0x3be2a8['AKYoX'](bold,_0x3be2a8[_0x11fd93(0x1a4)](basename,_0x408cce)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x11fd93(0x185));return;}console[_0x11fd93(0x18a)](_0x11fd93(0x164)+link(_0x408cce,_0x3be2a8['VMkqh'](bold,_0x3be2a8['AKYoX'](basename,_0x408cce))));const _0x39878b=getCurrentVersion(),_0x368c59=_0x3be2a8[_0x11fd93(0x18c)](getLatestVersion);if(_0x368c59[_0x11fd93(0x1ae)]&&_0x368c59[_0x11fd93(0x1ae)]!==_0x39878b)console['log']('Version:\x20'+_0x39878b+'\x20(latest:\x20'+_0x368c59[_0x11fd93(0x1ae)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x368c59[_0x11fd93(0x1ae)]?console[_0x11fd93(0x18a)](_0x11fd93(0x18e)+_0x39878b+_0x11fd93(0x17a)):console[_0x11fd93(0x18a)]('Version:\x20'+_0x39878b);const _0x5adbab=await _0x3be2a8[_0x11fd93(0x19d)](getToken);if(_0x5adbab){const _0xf572ca=await getCurrentUser(_0x5adbab);_0xf572ca['success']?console[_0x11fd93(0x18a)]('Organization:\x20'+_0x3be2a8[_0x11fd93(0x1a4)](bold,_0xf572ca[_0x11fd93(0x187)]['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log'](_0x11fd93(0x19a)),console['log'](_0x11fd93(0x1c5));process['env']['DEBUG']&&(console['log'](_0x11fd93(0x1ac)+_0x3be2a8[_0x11fd93(0x15b)](getCurrentEnvironment)),console[_0x11fd93(0x18a)]('API\x20URL:\x20'+_0x3be2a8[_0x11fd93(0x1cb)](getApiBaseUrl)));console[_0x11fd93(0x18a)](_0x11fd93(0x1a6));const _0x53a2fd=await getOpencodePluginStatus();if(_0x53a2fd[_0x11fd93(0x192)]===_0x11fd93(0x19b))console['log']('\x20\x20'+_0x3be2a8[_0x11fd93(0x1b3)](bold,_0x3be2a8['zDhmg'])+':\x20configured'),_0x53a2fd['details']&&console[_0x11fd93(0x18a)]('\x20\x20'+_0x53a2fd[_0x11fd93(0x173)]);else _0x53a2fd[_0x11fd93(0x192)]==='not_configured'?(console[_0x11fd93(0x18a)](_0x3be2a8[_0x11fd93(0x182)]),_0x53a2fd['details']&&console['log']('\x20\x20'+_0x53a2fd[_0x11fd93(0x173)]),console[_0x11fd93(0x18a)](_0x3be2a8['bxlIw'])):console['log'](_0x11fd93(0x19c));console[_0x11fd93(0x18a)](_0x3be2a8['yfBqr']);const _0x467dce=await getPluginInfo('ranger@trailhead');if(_0x467dce){const _0x24317e=_0x467dce[_0x11fd93(0x1cc)]||_0x11fd93(0x1ca),_0x29961a=_0x467dce['enabled']?_0x11fd93(0x197):'disabled';console['log']('\x20\x20'+_0x3be2a8[_0x11fd93(0x1a4)](bold,_0x3be2a8['DEPFg'])+_0x11fd93(0x1b8)+_0x24317e+',\x20'+_0x29961a+')');}else console[_0x11fd93(0x18a)](_0x11fd93(0x18d)),console['log'](_0x11fd93(0x169));console[_0x11fd93(0x18a)](_0x3be2a8[_0x11fd93(0x1b7)]);const {project:_0x26a5e3,user:_0x367520}=await _0x3be2a8['gWVwL'](getInstalledSkills),_0x39a432=_0x26a5e3[_0x11fd93(0x198)](_0x309ea4=>RANGER_MANAGED_SKILLS['includes'](_0x309ea4[_0x11fd93(0x170)])),_0x56bafc=_0x367520[_0x11fd93(0x198)](_0x146a3a=>RANGER_MANAGED_SKILLS['includes'](_0x146a3a[_0x11fd93(0x170)])),_0x37158e=_0x3be2a8['uqQMA'](_0x39a432['length'],_0x56bafc['length']);if(_0x37158e===0x0)console[_0x11fd93(0x18a)]('No\x20skills\x20installed'),console['log'](_0x11fd93(0x1c2));else{if(_0x39a432[_0x11fd93(0x1c4)]>0x0){console[_0x11fd93(0x18a)](_0x11fd93(0x1aa));for(const _0x4cccf5 of _0x39a432){console['log']('\x20\x20\x20\x20'+bold(_0x4cccf5['displayName'])+':\x20'+link(_0x4cccf5[_0x11fd93(0x191)],basename(_0x4cccf5[_0x11fd93(0x191)])));}}if(_0x3be2a8[_0x11fd93(0x1c3)](_0x56bafc['length'],0x0)){console['log'](_0x11fd93(0x188));for(const _0x2fb782 of _0x56bafc){console['log']('\x20\x20\x20\x20'+bold(_0x2fb782[_0x11fd93(0x16a)])+':\x20'+_0x3be2a8[_0x11fd93(0x1a0)](link,_0x2fb782[_0x11fd93(0x191)],basename(_0x2fb782['path'])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x17aa6e,activeEnv:_0x5c9658}=await _0x3be2a8[_0x11fd93(0x165)](getEnvironments);let _0x21259c=[];if(_0x5adbab)try{_0x21259c=await listCloudProfiles();}catch{}const _0x405519=_0x3be2a8['JqJen'](_0x17aa6e['length'],_0x21259c[_0x11fd93(0x1c4)]);if(_0x405519===0x0)console['log'](_0x11fd93(0x1c1)),console[_0x11fd93(0x18a)](_0x11fd93(0x159));else{if(_0x405519>0x5){const _0x17ace2=[];_0x3be2a8['byggm'](_0x21259c[_0x11fd93(0x1c4)],0x0)&&_0x17ace2['push'](_0x21259c[_0x11fd93(0x1c4)]+_0x11fd93(0x19f)),_0x17aa6e[_0x11fd93(0x1c4)]>0x0&&_0x17ace2[_0x11fd93(0x1af)](_0x17aa6e[_0x11fd93(0x1c4)]+_0x11fd93(0x1b1)),console[_0x11fd93(0x18a)](_0x405519+'\x20profiles\x20configured\x20('+_0x17ace2['join'](',\x20')+')'),_0x5c9658&&console['log']('\x20\x20Active:\x20'+_0x3be2a8['gRzhm'](bold,_0x5c9658)),console[_0x11fd93(0x18a)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x429a91 of _0x21259c){const _0x1e791b=_0x429a91[_0x11fd93(0x170)]===_0x5c9658?_0x11fd93(0x189):'';console[_0x11fd93(0x18a)]('\x20\x20'+bold(_0x429a91['name'])+'\x20[cloud]'+_0x1e791b);const _0x51f253=_0x429a91['sessionUpdatedAt']?_0x11fd93(0x1a2)+_0x429a91[_0x11fd93(0x16e)]+')':_0x3be2a8[_0x11fd93(0x15c)];console[_0x11fd93(0x18a)](_0x11fd93(0x17c)+_0x51f253);}const _0x306fe8=new Set(_0x21259c[_0x11fd93(0x15d)](_0x34906b=>_0x34906b[_0x11fd93(0x170)]));for(const _0x56cb52 of _0x17aa6e){if(_0x306fe8[_0x11fd93(0x178)](_0x56cb52[_0x11fd93(0x170)]))continue;const _0x3d4b39=_0x56cb52['isActive']?_0x11fd93(0x189):'',_0x12d100=_0x56cb52['hasEncryptedAuth']?_0x3be2a8['DWVpT']:_0x56cb52['hasPlaintextAuth']?'plaintext':_0x3be2a8[_0x11fd93(0x160)];console[_0x11fd93(0x18a)]('\x20\x20'+_0x3be2a8['lKXtL'](bold,_0x56cb52['name'])+_0x11fd93(0x17f)+_0x3d4b39),console[_0x11fd93(0x18a)](_0x11fd93(0x19e)+_0x12d100),_0x3be2a8[_0x11fd93(0x1a9)](_0x56cb52['settingsPath'],_0x3be2a8[_0x11fd93(0x16f)])&&console[_0x11fd93(0x18a)]('\x20\x20\x20\x20Settings:\x20'+link(_0x56cb52['settingsPath'],basename(_0x56cb52['settingsPath'])));}if(!_0x5c9658){console[_0x11fd93(0x18a)](_0x11fd93(0x15f));const _0x55f96d=[..._0x21259c[_0x11fd93(0x15d)](_0x2836b1=>_0x2836b1['name']),..._0x17aa6e[_0x11fd93(0x198)](_0x320fee=>!_0x306fe8['has'](_0x320fee[_0x11fd93(0x170)]))[_0x11fd93(0x15d)](_0x341bf7=>_0x341bf7['name'])];console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x55f96d[_0x11fd93(0x1d0)](',\x20')+')');}}}console[_0x11fd93(0x18a)]('');}