@ranger-testing/ranger-cli 3.0.1-alpha.55b593b-29 → 3.0.1-alpha.bb18058-34

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 (84) 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 -0
  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 -0
  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/userApi.js +1 -1
  79. package/build/commands/utils/version.js +1 -1
  80. package/build/commands/verifyFeature.js +1 -1
  81. package/build/commands/verifyFeatureCli.js +1 -1
  82. package/build/commands/verifyFeatureNovaCli.js +1 -1
  83. package/build/commands/verifyFeatureRangerwrightCli.js +1 -0
  84. package/package.json +2 -1
@@ -1 +1 @@
1
- (function(_0x4dcd4c,_0x429345){const _0x3fa9bd=_0xe585,_0xf4ed20=_0x4dcd4c();while(!![]){try{const _0x316990=-parseInt(_0x3fa9bd(0xd6))/0x1+parseInt(_0x3fa9bd(0xd7))/0x2+-parseInt(_0x3fa9bd(0xde))/0x3+-parseInt(_0x3fa9bd(0xd9))/0x4*(parseInt(_0x3fa9bd(0xd0))/0x5)+parseInt(_0x3fa9bd(0xd2))/0x6+parseInt(_0x3fa9bd(0xd4))/0x7*(-parseInt(_0x3fa9bd(0xdb))/0x8)+-parseInt(_0x3fa9bd(0xdd))/0x9*(-parseInt(_0x3fa9bd(0xd3))/0xa);if(_0x316990===_0x429345)break;else _0xf4ed20['push'](_0xf4ed20['shift']());}catch(_0xd968ad){_0xf4ed20['push'](_0xf4ed20['shift']());}}}(_0x4b30,0xcce0f));function _0xe585(_0x2355c6,_0xeb202d){_0x2355c6=_0x2355c6-0xce;const _0x4b30ac=_0x4b30();let _0xe585d4=_0x4b30ac[_0x2355c6];return _0xe585d4;}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x4b30(){const _0x1fc48c=['5190577conPtw','\x0a✅\x20API\x20key\x20stored\x20successfully','1472942NYwBmD','500602mCXcnn','log','8mloQQO','EDxWM','8ROGmGO','Re-authenticating\x20via\x20MCP\x20bootstrap...','42088131SIbnMq','3485181GYSRzZ','xkNxV','ZtWuR','2021810SKSeSq','message','583962iRApxw','10HJyTQF'];_0x4b30=function(){return _0x1fc48c;};return _0x4b30();}import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x2b5b84=_0xe585,_0x4e91d6={'FnZsI':_0x2b5b84(0xdc),'xkNxV':function(_0x300dd3){return _0x300dd3();},'ZtWuR':function(_0x1a706d){return _0x1a706d();},'EDxWM':function(_0x132d5f,_0x434732){return _0x132d5f(_0x434732);}},_0x2385ff=await getMcpAuthOrigin();if(_0x2385ff){console['log'](_0x4e91d6['FnZsI']),await _0x4e91d6[_0x2b5b84(0xce)](mcpBootstrap);return;}if(!_0x4e91d6[_0x2b5b84(0xce)](isInteractive))throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x51c8b3=await _0x4e91d6[_0x2b5b84(0xcf)](runDeviceAuthFlow),_0x10aa89=await _0x4e91d6[_0x2b5b84(0xda)](getCurrentUser,_0x51c8b3);_0x10aa89['success']?console[_0x2b5b84(0xd8)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x10aa89['user']['organizationName']):console[_0x2b5b84(0xd8)](_0x2b5b84(0xd5));}catch(_0x26b305){throw new Error('Login\x20failed:\x20'+(_0x26b305 instanceof Error?_0x26b305[_0x2b5b84(0xd1)]:_0x26b305));}}
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 +1 @@
1
- const _0x167611=_0xc357;(function(_0x1a0429,_0x2c4fc4){const _0x3b00e7=_0xc357,_0x30fd7f=_0x1a0429();while(!![]){try{const _0x35d6ae=-parseInt(_0x3b00e7(0x1b4))/0x1*(parseInt(_0x3b00e7(0x1a0))/0x2)+-parseInt(_0x3b00e7(0x1a4))/0x3*(-parseInt(_0x3b00e7(0x1a6))/0x4)+parseInt(_0x3b00e7(0x19e))/0x5+parseInt(_0x3b00e7(0x1fd))/0x6+-parseInt(_0x3b00e7(0x1f3))/0x7+-parseInt(_0x3b00e7(0x1f8))/0x8+-parseInt(_0x3b00e7(0x1e9))/0x9;if(_0x35d6ae===_0x2c4fc4)break;else _0x30fd7f['push'](_0x30fd7f['shift']());}catch(_0x55ef0f){_0x30fd7f['push'](_0x30fd7f['shift']());}}}(_0x1f52,0x1cb3d));function _0xc357(_0x16a9cc,_0x15bed0){_0x16a9cc=_0x16a9cc-0x170;const _0x1f52a4=_0x1f52();let _0xc35712=_0x1f52a4[_0x16a9cc];return _0xc35712;}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',_0x167611(0x1f4)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x4fa91d=_0x167611,_0x535611={'xllrC':function(_0x19538d,_0xd27be1,_0x3a5161){return _0x19538d(_0xd27be1,_0x3a5161);}};try{const _0x2a5529=(await _0x535611['xllrC'](readFile,AUTH_ORIGIN_PATH,'utf-8'))[_0x4fa91d(0x18f)]();return _0x2a5529||null;}catch{return null;}}export async function mcpBootstrap(){const _0x59fa4b=_0x167611,_0x2267cf={'QKFJI':function(_0x2baece){return _0x2baece();},'GhWiF':function(_0x1f3ed8,_0x1f43fa){return _0x1f3ed8+_0x1f43fa;},'gYmzG':_0x59fa4b(0x1d4),'TYqnv':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','RohyG':function(_0x40b36c,_0x53a6eb,_0x4237e8){return _0x40b36c(_0x53a6eb,_0x4237e8);}},_0x323e7f=_0x2267cf[_0x59fa4b(0x1a3)](getMcpAuthUrl);currentOrigin=_0x323e7f;const _0x3d6c53=process['stdout']['isTTY']??![];console[_0x59fa4b(0x1db)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x323e7f+'\x0a');const _0x266b6d=await tryUnauthenticated(_0x323e7f);let _0x5150a9=null;if(_0x266b6d===_0x59fa4b(0x171))_0x5150a9='';else{_0x5150a9=await _0x2267cf['QKFJI'](loadCachedToken);if(!_0x5150a9){if(!_0x3d6c53)throw new Error(_0x2267cf[_0x59fa4b(0x1a1)](_0x2267cf['gYmzG'],_0x2267cf['TYqnv']));_0x5150a9=await oauthFlow(_0x323e7f);}}await _0x2267cf['RohyG'](callGetCliToken,_0x323e7f,_0x5150a9);}async function tryUnauthenticated(_0x191090){const _0x1c5fd2=_0x167611,_0x3441a6={'KyvhN':function(_0x5e3c49,_0xb69487,_0x374aec){return _0x5e3c49(_0xb69487,_0x374aec);},'JDiwu':_0x1c5fd2(0x1ab),'TFmyj':_0x1c5fd2(0x18c)},_0x1bd331=await _0x3441a6['KyvhN'](fetch,_0x191090,{'method':_0x1c5fd2(0x1ed),'headers':{'Content-Type':'application/json','Accept':_0x1c5fd2(0x1e7)},'body':JSON[_0x1c5fd2(0x17d)]({'jsonrpc':_0x3441a6['JDiwu'],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x1c5fd2(0x1c4),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x3441a6[_0x1c5fd2(0x17a)]}}})});if(_0x1bd331['ok'])return await _0x1bd331['text'](),'proxied';if(_0x1bd331[_0x1c5fd2(0x1be)]===0x191)return await _0x1bd331['text'](),'needs-oauth';const _0x52f080=await _0x1bd331['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x1bd331[_0x1c5fd2(0x1be)]+':\x20'+_0x52f080);}class OAuthTimeoutError extends Error{constructor(_0x2f2cfc){const _0x5b968d=_0x167611,_0x4c08f2={'dgeUK':'OAuthTimeoutError'};super(_0x2f2cfc),this[_0x5b968d(0x1cc)]=_0x4c08f2[_0x5b968d(0x199)];}}async function oauthFlow(_0xa923e0){const _0x20cdb3=_0x167611,_0x26c762={'IrhmP':function(_0x4a832d,_0xcc88c9){return _0x4a832d(_0xcc88c9);},'nZYZU':function(_0x1be811,_0x1ca9e7){return _0x1be811 instanceof _0x1ca9e7;},'etgrm':function(_0x1dda9d){return _0x1dda9d();},'BFIrs':_0x20cdb3(0x1b7),'fxOxF':function(_0x30e220){return _0x30e220();},'odeOi':function(_0x15f765,_0x336609){return _0x15f765(_0x336609);}};try{return await _0x26c762[_0x20cdb3(0x1eb)](oauthFlowAttempt,_0xa923e0);}catch(_0x4c5110){if(_0x26c762['nZYZU'](_0x4c5110,OAuthTimeoutError)&&await _0x26c762[_0x20cdb3(0x1b6)](loadCachedClient))return console[_0x20cdb3(0x1db)](_0x26c762[_0x20cdb3(0x19a)]),await _0x26c762[_0x20cdb3(0x1f5)](clearCachedClient),await _0x26c762[_0x20cdb3(0x1e1)](oauthFlowAttempt,_0xa923e0);throw _0x4c5110;}}async function oauthFlowAttempt(_0x657dbb){const _0x40c16b=_0x167611,_0xfc1bcc={'TQuGt':function(_0x119623,_0x5c6024){return _0x119623(_0x5c6024);},'egccu':function(_0xe65e3a){return _0xe65e3a();},'WzASy':function(_0x2632d2,_0x90263f,_0x1bf04f){return _0x2632d2(_0x90263f,_0x1bf04f);},'gtGcg':_0x40c16b(0x1ed),'GwnhR':_0x40c16b(0x185),'AEmNz':'authorization_code','HtZPb':_0x40c16b(0x1c7),'RqPwt':_0x40c16b(0x1b2),'bdKhK':_0x40c16b(0x1b0),'FcVpS':'code','nWKgb':_0x40c16b(0x196),'bHEiZ':_0x40c16b(0x179),'PTXUW':'state','nCSNN':'\x0aOpening\x20browser\x20for\x20authentication...','nmzeM':function(_0x38c88a,_0x94c7f){return _0x38c88a(_0x94c7f);},'srfuJ':'Exchanging\x20authorization\x20code...','TLqUo':'client_secret','fTFtk':_0x40c16b(0x1d7),'dUSHq':function(_0x5212cc,_0x3ad5c9,_0x1294a6){return _0x5212cc(_0x3ad5c9,_0x1294a6);},'fDVar':'application/x-www-form-urlencoded'},_0x31a234=_0x657dbb['replace'](/\/mcp$/,'');process['stdout'][_0x40c16b(0x186)]('Discovering\x20authorization\x20server...');const _0xc5291e=await fetch(_0x31a234+_0x40c16b(0x1cf));if(!_0xc5291e['ok'])throw new Error(_0x40c16b(0x1ba));const _0x55b112=await _0xc5291e[_0x40c16b(0x1c6)](),_0x5ba901=_0x55b112[_0x40c16b(0x189)]?.[0x0];if(!_0x5ba901)throw new Error(_0x40c16b(0x193));console['log']('\x20'+_0x5ba901);const _0x55b859=await _0xfc1bcc[_0x40c16b(0x1dc)](fetchAuthServerMetadata,_0x5ba901);let _0x37dbb7,_0x5e184b;const _0x570c5a=await _0xfc1bcc['egccu'](loadCachedClient);if(_0x570c5a)_0x37dbb7=_0x570c5a['clientId'],_0x5e184b=_0x570c5a[_0x40c16b(0x1e2)];else{if(_0x55b859[_0x40c16b(0x1cd)]){process['stdout'][_0x40c16b(0x186)](_0x40c16b(0x1bb));const _0x1eac2e=await _0xfc1bcc[_0x40c16b(0x1d0)](fetch,_0x55b859[_0x40c16b(0x1cd)],{'method':_0xfc1bcc['gtGcg'],'headers':{'Content-Type':_0xfc1bcc['GwnhR']},'body':JSON['stringify']({'client_name':_0x40c16b(0x1d8),'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x40c16b(0x1bd)],'grant_types':[_0xfc1bcc['AEmNz'],'refresh_token'],'response_types':['code'],'token_endpoint_auth_method':'none'})});if(!_0x1eac2e['ok']){const _0xb092af=await _0x1eac2e[_0x40c16b(0x1ae)]();throw new Error(_0x40c16b(0x17e)+_0xb092af);}const _0x1324a0=await _0x1eac2e['json']();_0x37dbb7=_0x1324a0['client_id'],_0x5e184b=_0x1324a0['client_secret'],await saveCachedClient(_0x37dbb7,_0x5e184b),console[_0x40c16b(0x1db)](_0x40c16b(0x1b8));}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x1e0c91=randomBytes(0x20)[_0x40c16b(0x1e4)](_0xfc1bcc[_0x40c16b(0x1d1)]),_0x1cb69e=createHash(_0xfc1bcc[_0x40c16b(0x177)])[_0x40c16b(0x191)](_0x1e0c91)[_0x40c16b(0x1b9)](_0xfc1bcc['HtZPb']),_0x5bc873=randomBytes(0x10)[_0x40c16b(0x1e4)](_0xfc1bcc['bdKhK']),_0x3f7a09=new URL(_0x55b859[_0x40c16b(0x182)]);_0x3f7a09['searchParams']['set'](_0x40c16b(0x18a),_0xfc1bcc[_0x40c16b(0x1d6)]),_0x3f7a09['searchParams'][_0x40c16b(0x1a7)](_0xfc1bcc[_0x40c16b(0x1fc)],_0x37dbb7),_0x3f7a09[_0x40c16b(0x1b5)][_0x40c16b(0x1a7)](_0x40c16b(0x192),'http://localhost:'+CALLBACK_PORT+_0x40c16b(0x1bd)),_0x3f7a09['searchParams'][_0x40c16b(0x1a7)](_0xfc1bcc[_0x40c16b(0x170)],_0x1cb69e),_0x3f7a09[_0x40c16b(0x1b5)][_0x40c16b(0x1a7)]('code_challenge_method','S256'),_0x3f7a09[_0x40c16b(0x1b5)][_0x40c16b(0x1a7)](_0xfc1bcc['PTXUW'],_0x5bc873);_0x55b112[_0x40c16b(0x1d7)]&&_0x3f7a09[_0x40c16b(0x1b5)]['set'](_0x40c16b(0x1d7),_0x55b112['resource']);console['log'](_0xfc1bcc[_0x40c16b(0x1ef)]),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x3f7a09[_0x40c16b(0x1e4)]()+'\x0a'),await _0xfc1bcc['nmzeM'](openBrowser,_0x3f7a09['toString']());const _0xf521f6=await waitForCallback(_0x5bc873);process[_0x40c16b(0x1cb)][_0x40c16b(0x186)](_0xfc1bcc[_0x40c16b(0x1a2)]);const _0x61b791=new URLSearchParams({'grant_type':'authorization_code','code':_0xf521f6,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x37dbb7,'code_verifier':_0x1e0c91});_0x5e184b&&_0x61b791[_0x40c16b(0x1a7)](_0xfc1bcc[_0x40c16b(0x176)],_0x5e184b);_0x55b112['resource']&&_0x61b791['set'](_0xfc1bcc['fTFtk'],_0x55b112[_0x40c16b(0x1d7)]);const _0x556187=await _0xfc1bcc[_0x40c16b(0x1c2)](fetch,_0x55b859['token_endpoint'],{'method':_0x40c16b(0x1ed),'headers':{'Content-Type':_0xfc1bcc[_0x40c16b(0x1aa)]},'body':_0x61b791});if(!_0x556187['ok']){const _0x4180e8=await _0x556187['text']();throw new Error(_0x40c16b(0x1bc)+_0x4180e8);}const _0x17bce1=await _0x556187['json']();return console[_0x40c16b(0x1db)](_0x40c16b(0x1b8)),await saveCachedToken(_0x17bce1['access_token'],_0x17bce1[_0x40c16b(0x19c)],_0x17bce1['expires_in']),_0x17bce1['access_token'];}async function callGetCliToken(_0x3b978a,_0x203ff3){const _0x171af8=_0x167611,_0x49ff47={'cDhrD':function(_0x213f29,_0x104fe8,_0x4a1fab){return _0x213f29(_0x104fe8,_0x4a1fab);},'emfUU':'Authorization','IxmDS':_0x171af8(0x1ab),'DAQvV':'1.0.0','SfrUm':_0x171af8(0x1b8),'kNZdS':'notifications/initialized','EMytO':_0x171af8(0x1f1),'EDGWr':function(_0x450ac0,_0x5a9b86){return _0x450ac0(_0x5a9b86);},'gYKfC':'\x0aUnexpected\x20response\x20structure:','yrXJD':_0x171af8(0x1ce),'QngYK':function(_0x1f8e8e,_0x3e9bfd,_0x1d3c15){return _0x1f8e8e(_0x3e9bfd,_0x1d3c15);},'gOQVk':'refresh.txt'},_0x37811f={'Content-Type':_0x171af8(0x185),'Accept':_0x171af8(0x1e7)};_0x203ff3&&(_0x37811f[_0x49ff47['emfUU']]='Bearer\x20'+_0x203ff3);const _0x59df44=async _0x10a26e=>{const _0xf70a63=_0x171af8,_0x29a518=await _0x49ff47['cDhrD'](fetch,_0x3b978a,{'method':_0xf70a63(0x1ed),'headers':_0x37811f,'body':JSON[_0xf70a63(0x17d)](_0x10a26e)});if(!_0x29a518['ok']){const _0x5b9985=await _0x29a518[_0xf70a63(0x1ae)]();throw new Error('HTTP\x20'+_0x29a518[_0xf70a63(0x1be)]+':\x20'+_0x5b9985);}return parseResponse(_0x29a518);};process['stdout']['write']('Initializing\x20MCP\x20session...');const _0x56f480=await _0x59df44({'jsonrpc':_0x49ff47[_0x171af8(0x1e6)],'id':0x1,'method':'initialize','params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x49ff47['DAQvV']}}});if(_0x56f480['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x56f480[_0x171af8(0x1f7)][_0x171af8(0x1c8)]??JSON[_0x171af8(0x17d)](_0x56f480['error'])));console['log'](_0x49ff47[_0x171af8(0x187)]),await fetch(_0x3b978a,{'method':'POST','headers':_0x37811f,'body':JSON['stringify']({'jsonrpc':_0x49ff47['IxmDS'],'method':_0x49ff47['kNZdS']})})[_0x171af8(0x188)](_0x35caee=>_0x35caee[_0x171af8(0x1ae)]()),process['stdout']['write'](_0x49ff47[_0x171af8(0x174)]);const _0x124395=await _0x49ff47[_0x171af8(0x184)](_0x59df44,{'jsonrpc':_0x49ff47[_0x171af8(0x1e6)],'id':0x2,'method':'tools/call','params':{'name':'get_cli_token','arguments':{}}});if(_0x124395['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x124395['error']['message']??JSON['stringify'](_0x124395[_0x171af8(0x1f7)])));console['log'](_0x171af8(0x1b8));const _0x340083=extractToken(_0x124395['result']);if(!_0x340083){console['error'](_0x49ff47['gYKfC']),console[_0x171af8(0x1f7)](JSON[_0x171af8(0x17d)](_0x124395[_0x171af8(0x1a8)],null,0x2));throw new Error(_0x171af8(0x198));}const _0x137735=join(homedir(),_0x49ff47['yrXJD']),_0x33aec8=_0x49ff47[_0x171af8(0x1c0)](join,_0x137735,_0x49ff47['gOQVk']);await _0x49ff47['cDhrD'](mkdir,_0x137735,{'recursive':!![]}),await writeFile(_0x33aec8,_0x340083,{'mode':0x180}),await writeFile(join(_0x137735,'auth-origin.txt'),_0x3b978a,{'mode':0x180}),console[_0x171af8(0x1db)](_0x171af8(0x1d3)+_0x33aec8),console[_0x171af8(0x1db)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x44d26b){const _0x2ce0e4=_0x167611,_0x43625d=_0x44d26b+_0x2ce0e4(0x1d2),_0x2b35e0=await fetch(_0x43625d);if(!_0x2b35e0['ok'])throw new Error(_0x2ce0e4(0x19b)+_0x43625d+':\x20'+_0x2b35e0['status']);return _0x2b35e0[_0x2ce0e4(0x1c6)]();}function waitForCallback(_0x4a3e16){const _0x450abc={'ahHPM':function(_0x1e14e8){return _0x1e14e8();},'VQizo':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','aZISv':function(_0x3efb82,_0x264df1){return _0x3efb82!==_0x264df1;},'mGPSi':'Not\x20found','NCSeb':'code','MUbCK':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','siQYY':function(_0x5ad5bf,_0xcf5317){return _0x5ad5bf(_0xcf5317);},'JaDvx':'127.0.0.1'};return new Promise((_0x3e2d07,_0x130690)=>{const _0xe6fce9=_0xc357,_0x41eeab={'IcalL':function(_0x436e80,_0x384726){const _0x2fe7a0=_0xc357;return _0x450abc[_0x2fe7a0(0x1c5)](_0x436e80,_0x384726);},'JFVvC':_0x450abc['mGPSi'],'JgNUi':_0x450abc[_0xe6fce9(0x1f9)],'VMonD':_0xe6fce9(0x195),'Uswxr':'error_description','UFvFM':'text/html','EwYJa':function(_0x23ba05,_0x4390b3){return _0x23ba05(_0x4390b3);},'WVmXS':function(_0x3ae6f1,_0xcffb1d){return _0x3ae6f1!==_0xcffb1d;},'ENjUh':_0x450abc[_0xe6fce9(0x1de)]},_0x546778=()=>{const _0x17f6e6=_0xe6fce9;_0x35a076[_0x17f6e6(0x175)](),_0x35a076[_0x17f6e6(0x19d)]();},_0x1a37f9=setTimeout(()=>{const _0xfb38e9=_0xe6fce9;_0x450abc[_0xfb38e9(0x178)](_0x546778),_0x130690(new OAuthTimeoutError(_0x450abc['VQizo']));},0x1d4c0),_0x35a076=_0x450abc['siQYY'](createServer,(_0x4711eb,_0x1c3ad6)=>{const _0x5b8ea4=_0xe6fce9,_0x2ee4b5=new URL(_0x4711eb[_0x5b8ea4(0x172)]??'/',_0x5b8ea4(0x18b)+CALLBACK_PORT);if(_0x41eeab['IcalL'](_0x2ee4b5[_0x5b8ea4(0x1ec)],_0x5b8ea4(0x1bd))){_0x1c3ad6['writeHead'](0x194),_0x1c3ad6['end'](_0x41eeab['JFVvC']);return;}const _0x5a8ddf=_0x2ee4b5[_0x5b8ea4(0x1b5)][_0x5b8ea4(0x1ca)](_0x41eeab[_0x5b8ea4(0x1dd)]),_0x273cdb=_0x2ee4b5[_0x5b8ea4(0x1b5)]['get'](_0x41eeab[_0x5b8ea4(0x1a5)]),_0x1e3cb7=_0x2ee4b5[_0x5b8ea4(0x1b5)][_0x5b8ea4(0x1ca)]('error');if(_0x1e3cb7){const _0x386de4=_0x2ee4b5['searchParams'][_0x5b8ea4(0x1ca)](_0x41eeab[_0x5b8ea4(0x1d5)])??_0x1e3cb7;_0x1c3ad6['writeHead'](0xc8,{'Content-Type':_0x41eeab['UFvFM']}),_0x1c3ad6[_0x5b8ea4(0x1e8)](_0x5b8ea4(0x1b3)+_0x386de4+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x1a37f9),_0x546778(),_0x41eeab[_0x5b8ea4(0x18e)](_0x130690,new Error(_0x5b8ea4(0x173)+_0x386de4));return;}if(!_0x5a8ddf||_0x41eeab['WVmXS'](_0x273cdb,_0x4a3e16)){_0x1c3ad6[_0x5b8ea4(0x183)](0x190,{'Content-Type':_0x5b8ea4(0x17b)}),_0x1c3ad6['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x1c3ad6[_0x5b8ea4(0x183)](0xc8,{'Content-Type':_0x41eeab['UFvFM']}),_0x1c3ad6[_0x5b8ea4(0x1e8)](_0x41eeab['ENjUh']),clearTimeout(_0x1a37f9),_0x546778(),_0x3e2d07(_0x5a8ddf);});_0x35a076['listen'](CALLBACK_PORT,_0x450abc[_0xe6fce9(0x1df)]);});}async function openBrowser(_0x3cfc6d){const _0x26fcb0=_0x167611,_0x26e8f2={'UUJaV':function(_0x2230d1,_0x1f4dfd){return _0x2230d1===_0x1f4dfd;},'wzdeZ':_0x26fcb0(0x1e5),'qEaQf':'open','dZEBm':'win32','zusNt':_0x26fcb0(0x1c3),'cQyMb':_0x26fcb0(0x1a9)},_0x12963b=_0x26e8f2['UUJaV'](process['platform'],_0x26e8f2[_0x26fcb0(0x1da)])?_0x26e8f2[_0x26fcb0(0x1ee)]:process['platform']===_0x26e8f2[_0x26fcb0(0x1ea)]?_0x26e8f2['zusNt']:_0x26e8f2[_0x26fcb0(0x1f6)];exec(_0x12963b+'\x20\x22'+_0x3cfc6d+'\x22');}let currentOrigin='';function _0x1f52(){const _0x34163d=['result','xdg-open','fDVar','2.0','expiresAt','slice','text','AjbIl','hex','string','sha256','<html><body><h2>Authentication\x20failed</h2><p>','2BRJEEi','searchParams','etgrm','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','\x20done','digest','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','Registering\x20OAuth\x20client...','Token\x20exchange\x20failed:\x20','/callback','status','accessToken','QngYK','HOlxl','dUSHq','start','2025-03-26','aZISv','json','base64url','message','uAoKv','get','stdout','name','registration_endpoint','.ranger','/.well-known/oauth-protected-resource','WzASy','HtZPb','/.well-known/oauth-authorization-server','\x0aToken\x20written\x20to\x20','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','Uswxr','FcVpS','resource','Ranger\x20CLI','ZFpGt','wzdeZ','log','TQuGt','JgNUi','MUbCK','JaDvx','MHHNW','odeOi','clientSecret','utf-8','toString','darwin','IxmDS','application/json,\x20text/event-stream','end','797211ZfKSAM','dZEBm','IrhmP','pathname','POST','qEaQf','nCSNN','jQTQv','Requesting\x20CLI\x20token...','ciRKO','519750umVaRw','mcp-oauth-tokens.json','fxOxF','cQyMb','error','1161048nNAGJg','NCSeb','parse','origin','nWKgb','1395306uhEBpU','bHEiZ','proxied','url','OAuth\x20error:\x20','EMytO','closeAllConnections','TLqUo','RqPwt','ahHPM','code_challenge','TFmyj','text/html','token','stringify','Client\x20registration\x20failed:\x20','refreshToken','data:','type','authorization_endpoint','writeHead','EDGWr','application/json','write','SfrUm','then','authorization_servers','response_type','http://localhost:','1.0.0','startsWith','EwYJa','trim','text/event-stream','update','redirect_uri','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','structuredContent','state','client_id','length','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','dgeUK','BFIrs','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','refresh_token','close','785655vMCUqB','evCda','134184CqiBbA','GhWiF','srfuJ','QKFJI','1131ZblCTb','VMonD','1804xIgDIf','set'];_0x1f52=function(){return _0x34163d;};return _0x1f52();}async function loadCachedToken(){const _0x324b68=_0x167611;try{const _0x3380d8=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x324b68(0x1e3)));if(_0x3380d8['origin']&&_0x3380d8[_0x324b68(0x1fb)]!==currentOrigin)return null;if(_0x3380d8[_0x324b68(0x1ac)]&&Date['now']()>_0x3380d8['expiresAt'])return null;return _0x3380d8['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x31b1fc,_0xe064e8,_0x552f30){const _0x5e06fc=_0x167611,_0x4fb80c={'Tgppe':function(_0x143515){return _0x143515();},'DJjFW':function(_0x24d661,_0x483d96){return _0x24d661+_0x483d96;},'ciRKO':function(_0x46fa03,_0x44e234,_0x10bcc6){return _0x46fa03(_0x44e234,_0x10bcc6);},'MHHNW':_0x5e06fc(0x1ce)},_0x854761=await _0x4fb80c['Tgppe'](loadCachedData),_0x313337={..._0x854761,'origin':currentOrigin,'accessToken':_0x31b1fc,'refreshToken':_0xe064e8??_0x854761?.[_0x5e06fc(0x17f)],'expiresAt':_0x552f30?_0x4fb80c['DJjFW'](Date['now'](),_0x552f30*0x3e8):undefined};await _0x4fb80c[_0x5e06fc(0x1f2)](mkdir,join(homedir(),_0x4fb80c[_0x5e06fc(0x1e0)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x5e06fc(0x17d)](_0x313337),{'mode':0x180});}async function loadCachedClient(){const _0xef9581=_0x167611,_0x65b684=await loadCachedData();if(_0x65b684?.['origin']&&_0x65b684[_0xef9581(0x1fb)]!==currentOrigin)return null;return _0x65b684?.['clientId']?{'clientId':_0x65b684['clientId'],'clientSecret':_0x65b684[_0xef9581(0x1e2)]}:null;}async function clearCachedClient(){const _0x4a91e1=_0x167611,_0x1c264c={'ZFpGt':function(_0x5c3c97){return _0x5c3c97();}},_0x550c49=await _0x1c264c[_0x4a91e1(0x1d9)](loadCachedData);if(!_0x550c49)return;const {clientId:_0x112ddb,clientSecret:_0x4b7fc0,..._0x17c28f}=_0x550c49;await writeFile(TOKEN_CACHE_PATH,JSON[_0x4a91e1(0x17d)](_0x17c28f),{'mode':0x180});}async function saveCachedClient(_0x1afc73,_0x5065eb){const _0x564426=_0x167611,_0x1901db={'zmpTU':function(_0x1d4555){return _0x1d4555();},'evCda':function(_0x526c3a,_0x5883aa,_0x18420a){return _0x526c3a(_0x5883aa,_0x18420a);},'SSLuR':_0x564426(0x1ce)},_0x2db03b=await _0x1901db['zmpTU'](loadCachedData),_0x3e526a={..._0x2db03b,'origin':currentOrigin,'accessToken':_0x2db03b?.[_0x564426(0x1bf)]??'','clientId':_0x1afc73,'clientSecret':_0x5065eb};await _0x1901db[_0x564426(0x19f)](mkdir,join(homedir(),_0x1901db['SSLuR']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x3e526a),{'mode':0x180});}async function loadCachedData(){try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));}catch{return null;}}async function parseResponse(_0x53d8ff){const _0x3091af=_0x167611,_0x307d89={'uAoKv':'data:','jQTQv':function(_0x3a0013,_0x5d5ed4){return _0x3a0013!==_0x5d5ed4;},'AjbIl':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x3bbf25=_0x53d8ff['headers'][_0x3091af(0x1ca)]('content-type')??'';if(_0x3bbf25['includes'](_0x3091af(0x190))){const _0x525c27=await _0x53d8ff['text']();for(const _0x23968d of _0x525c27['split']('\x0a')){const _0x1f45ee=_0x23968d['trim']();if(_0x1f45ee[_0x3091af(0x18d)](_0x307d89[_0x3091af(0x1c9)])){const _0x1b47fa=_0x1f45ee[_0x3091af(0x1ad)](_0x3091af(0x180)[_0x3091af(0x197)])[_0x3091af(0x18f)]();if(!_0x1b47fa)continue;try{const _0x346373=JSON['parse'](_0x1b47fa);if(_0x307d89[_0x3091af(0x1f0)](_0x346373['id'],undefined)||_0x346373[_0x3091af(0x1f7)])return _0x346373;}catch{}}}throw new Error(_0x307d89[_0x3091af(0x1af)]);}return _0x53d8ff['json']();}function extractToken(_0x1ccdf7){const _0x5ab146=_0x167611,_0x4ca5bb={'HOlxl':function(_0x2758f4,_0x248c9f){return _0x2758f4===_0x248c9f;},'GFjBu':function(_0x76ec0e,_0x1b0b9c){return _0x76ec0e===_0x1b0b9c;},'cBBMD':'text'};if(!_0x1ccdf7)return null;const _0x4cb31e=_0x1ccdf7[_0x5ab146(0x194)];if(_0x4cb31e?.['token']&&_0x4ca5bb[_0x5ab146(0x1c1)](typeof _0x4cb31e['token'],_0x5ab146(0x1b1)))return _0x4cb31e[_0x5ab146(0x17c)];if(_0x1ccdf7['isError']){const _0x580b0a=_0x1ccdf7['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x580b0a?.[0x0]?.['text']??'Unknown\x20error'));}const _0x1f48ea=_0x1ccdf7['content'];if(_0x1f48ea)for(const _0x5e50f0 of _0x1f48ea){if(_0x4ca5bb['GFjBu'](_0x5e50f0[_0x5ab146(0x181)],_0x4ca5bb['cBBMD'])&&_0x5e50f0[_0x5ab146(0x1ae)]){try{const _0x42da0e=JSON[_0x5ab146(0x1fa)](_0x5e50f0[_0x5ab146(0x1ae)]);if(_0x4ca5bb[_0x5ab146(0x1c1)](typeof _0x42da0e?.['token'],_0x5ab146(0x1b1)))return _0x42da0e[_0x5ab146(0x17c)];}catch{}const _0x20b3fc=_0x5e50f0['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x20b3fc)return _0x20b3fc[0x1];}}return null;}
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 +1 @@
1
- (function(_0x25e018,_0x1b6b94){var _0x1e9209=_0x5362,_0x52a57a=_0x25e018();while(!![]){try{var _0x3665be=-parseInt(_0x1e9209(0xf4))/0x1+-parseInt(_0x1e9209(0xf5))/0x2*(parseInt(_0x1e9209(0x100))/0x3)+parseInt(_0x1e9209(0xfa))/0x4*(-parseInt(_0x1e9209(0xfe))/0x5)+-parseInt(_0x1e9209(0xf3))/0x6*(-parseInt(_0x1e9209(0xf1))/0x7)+parseInt(_0x1e9209(0xff))/0x8+parseInt(_0x1e9209(0xfb))/0x9*(parseInt(_0x1e9209(0xf7))/0xa)+-parseInt(_0x1e9209(0xf0))/0xb;if(_0x3665be===_0x1b6b94)break;else _0x52a57a['push'](_0x52a57a['shift']());}catch(_0x5cdc63){_0x52a57a['push'](_0x52a57a['shift']());}}}(_0x3411,0xd180a));function _0x3411(){var _0x394d8b=['2469891zAnSIy','JYbxD','ZMJdk','858891xAmizC','161182dKoRKa','error','402AvHkRM','1308308gBPJdh','2etHQFV','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','50EJlePI','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','fhfKk','64CUcIyR','787419zlmmhg','TgiGt','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','9360NAldnk','8940504qzCSeT'];_0x3411=function(){return _0x394d8b;};return _0x3411();}function _0x5362(_0x8ea19c,_0x568239){_0x8ea19c=_0x8ea19c-0xf0;var _0x3411e0=_0x3411();var _0x536277=_0x3411e0[_0x8ea19c];return _0x536277;}export async function migrateProfile(_0x2a20f3,_0x39286a){var _0x343797=_0x5362,_0x2b81d9={'fhfKk':function(_0x19425d,_0x3e96df){return _0x19425d+_0x3e96df;},'JYbxD':function(_0x2d4beb,_0x3e9261){return _0x2d4beb+_0x3e9261;},'TgiGt':function(_0x1ebac8,_0x38b161){return _0x1ebac8+_0x38b161;},'muQxz':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','uLyhn':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','ZMJdk':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console[_0x343797(0xf2)](_0x2b81d9[_0x343797(0xf9)](_0x2b81d9[_0x343797(0x101)](_0x2b81d9[_0x343797(0x101)](_0x2b81d9[_0x343797(0xfc)](_0x343797(0xf6),'\x0a')+_0x343797(0xf8),_0x343797(0xfd))+'\x0a'+_0x2b81d9['muQxz'],_0x2b81d9['uLyhn'])+'\x0a',_0x2b81d9[_0x343797(0x102)])+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process['exit'](0x1);}
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 +1 @@
1
- (function(_0x12e903,_0x13709d){const _0x15a608=_0x5c38,_0x276638=_0x12e903();while(!![]){try{const _0x4490e8=parseInt(_0x15a608(0x134))/0x1+parseInt(_0x15a608(0x144))/0x2*(parseInt(_0x15a608(0x152))/0x3)+parseInt(_0x15a608(0x155))/0x4+parseInt(_0x15a608(0x150))/0x5*(parseInt(_0x15a608(0x14f))/0x6)+-parseInt(_0x15a608(0x142))/0x7*(-parseInt(_0x15a608(0x143))/0x8)+parseInt(_0x15a608(0x154))/0x9*(-parseInt(_0x15a608(0x12e))/0xa)+-parseInt(_0x15a608(0x127))/0xb;if(_0x4490e8===_0x13709d)break;else _0x276638['push'](_0x276638['shift']());}catch(_0x40a6e7){_0x276638['push'](_0x276638['shift']());}}}(_0x584a,0xb68ff));function _0x584a(){const _0x4a5c06=['11501829LMEEIQ','4078496UOhiVC','add','marketplace','success','enable','log','23405415hLbcnb','error','jVrMS','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','User\x20(available\x20in\x20all\x20your\x20projects)','kNdub','prompt','10gsgNQP','XnlEj','⚠\x20Failed\x20to\x20enable\x20plugin:','pluginScope','Where\x20should\x20the\x20plugin\x20be\x20installed?','NoEgq','1072611oHtOkV','❌\x20Failed\x20to\x20add\x20marketplace:','kHrBY','SKILL.md','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','\x0aYou\x20can\x20install\x20manually\x20with:','❌\x20Failed\x20to\x20install\x20plugin:','already\x20enabled','UDgZJ','rgSOQ','WgzFc','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','IslbE','BGcPe','42917WSrFLM','592QhMxwt','1198832axIUCF','XncNV','ranger@trailhead','trailhead','plugin','wantsSkillup','✓\x20Ranger\x20skills\x20already\x20installed','yzOjV','XSebm','uUWBt','Would\x20you\x20like\x20to\x20install\x20skills?','22296TsqExm','550VxyYHA','--scope','6qGaONM','project'];_0x584a=function(){return _0x4a5c06;};return _0x584a();}import{join}from'path';import{existsSync}from'fs';import _0x59fc1f from'inquirer';import{skillup}from'../skillup.js';function _0x5c38(_0x30335c,_0x2c8f49){_0x30335c=_0x30335c-0x123;const _0x584acd=_0x584a();let _0x5c3877=_0x584acd[_0x30335c];return _0x5c3877;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x468cf5){const _0x49d1aa=_0x5c38,_0x108c9c={'yzOjV':function(_0x418706,_0x52ced1){return _0x418706(_0x52ced1);},'rgSOQ':_0x49d1aa(0x146),'eFcuL':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','aBkzy':function(_0x4e8de6,_0x490eb7,_0x30d451){return _0x4e8de6(_0x490eb7,_0x30d451);},'SlFsL':_0x49d1aa(0x131),'FdXje':_0x49d1aa(0x12b),'YHdUS':'user','IslbE':'project','kHrBY':_0x49d1aa(0x148),'VNBXE':_0x49d1aa(0x123),'aNkft':'ranger-testing/trailhead','BGcPe':function(_0x185ac4,_0xf097e6){return _0x185ac4===_0xf097e6;},'XSebm':_0x49d1aa(0x139),'XncNV':function(_0x184346,_0x17668b,_0x16ccba){return _0x184346(_0x17668b,_0x16ccba);},'kNdub':_0x49d1aa(0x13b)},_0x55f31e=await _0x108c9c[_0x49d1aa(0x14b)](isPluginInstalled,_0x108c9c[_0x49d1aa(0x13d)]);if(_0x55f31e)return console[_0x49d1aa(0x126)](_0x108c9c['eFcuL']),![];const _0x453a16=_0x108c9c[_0x49d1aa(0x14b)](existsSync,_0x108c9c['aBkzy'](join,getProjectRoot(),'.claude'));let _0x180547;if(_0x468cf5)_0x180547=_0x468cf5;else{if(_0x453a16)_0x180547='project';else{console[_0x49d1aa(0x126)](_0x49d1aa(0x13f));const _0x334341=await _0x59fc1f[_0x49d1aa(0x12d)]([{'type':'list','name':_0x108c9c['SlFsL'],'message':_0x49d1aa(0x132),'choices':[{'name':_0x108c9c['FdXje'],'value':_0x108c9c['YHdUS']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x108c9c[_0x49d1aa(0x140)]}],'default':'user'}]);_0x180547=_0x334341['pluginScope'];}}console[_0x49d1aa(0x126)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x180547+'\x20level)...\x0a');const _0x1c239c=await isMarketplaceAdded(_0x49d1aa(0x147));let _0x14c5db=_0x1c239c;if(_0x1c239c)console[_0x49d1aa(0x126)]('✓\x20Marketplace\x20already\x20added');else{const _0x2c0256=await runClaudeCommand([_0x108c9c[_0x49d1aa(0x136)],_0x108c9c['VNBXE'],_0x49d1aa(0x156),_0x108c9c['aNkft']]);!_0x2c0256[_0x49d1aa(0x124)]?(console['error'](_0x49d1aa(0x135),_0x2c0256['error']),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x49d1aa(0x126)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x180547)):_0x14c5db=!![];}if(_0x14c5db){const _0x52fddf=await runClaudeCommand([_0x108c9c[_0x49d1aa(0x136)],'install',_0x49d1aa(0x146),'--scope',_0x180547],{'cwd':_0x108c9c['BGcPe'](_0x180547,_0x49d1aa(0x153))?getProjectRoot():undefined});if(!_0x52fddf[_0x49d1aa(0x124)])console[_0x49d1aa(0x128)](_0x49d1aa(0x13a),_0x52fddf['error']),console['log'](_0x108c9c[_0x49d1aa(0x14c)]),console['log'](_0x49d1aa(0x12a)+_0x180547);else{console[_0x49d1aa(0x126)](_0x49d1aa(0x138));const _0x3726ae=['plugin',_0x49d1aa(0x125),_0x108c9c[_0x49d1aa(0x13d)]];_0x108c9c['BGcPe'](_0x180547,_0x49d1aa(0x153))&&_0x3726ae['push'](_0x49d1aa(0x151),_0x108c9c[_0x49d1aa(0x140)]);const _0x23d18a=await _0x108c9c[_0x49d1aa(0x145)](runClaudeCommand,_0x3726ae,{'captureOutput':!![],'cwd':_0x108c9c[_0x49d1aa(0x141)](_0x180547,_0x108c9c[_0x49d1aa(0x140)])?getProjectRoot():undefined}),_0x1dfed7=_0x23d18a['output']?.['includes'](_0x108c9c[_0x49d1aa(0x12c)]);!_0x23d18a['success']&&!_0x1dfed7?console[_0x49d1aa(0x128)](_0x49d1aa(0x130),_0x23d18a[_0x49d1aa(0x128)]):console[_0x49d1aa(0x126)]('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0x43da82){const _0x44d00f=_0x5c38,_0x169a8f={'Fcapv':function(_0x1fdefd,_0xebd032,_0x3096cd,_0x5a96f5){return _0x1fdefd(_0xebd032,_0x3096cd,_0x5a96f5);},'uUWBt':function(_0x775da6,_0x4f580f){return _0x775da6(_0x4f580f);},'NoEgq':'user','jVrMS':'ranger','pMyFm':_0x44d00f(0x137),'rCiNP':function(_0x333d99,_0x451e90){return _0x333d99||_0x451e90;},'WgzFc':_0x44d00f(0x14a),'UDgZJ':'.claude','XnlEj':_0x44d00f(0x153),'GkYhL':_0x44d00f(0x14e)},_0x1f4009=existsSync(_0x169a8f['Fcapv'](join,_0x169a8f[_0x44d00f(0x14d)](getSkillsDir,_0x169a8f[_0x44d00f(0x133)]),_0x169a8f['jVrMS'],_0x169a8f['pMyFm'])),_0x430d06=_0x169a8f['uUWBt'](existsSync,_0x169a8f['Fcapv'](join,getSkillsDir('project'),_0x169a8f[_0x44d00f(0x129)],'SKILL.md'));if(_0x169a8f['rCiNP'](_0x1f4009,_0x430d06))return console['log'](_0x169a8f[_0x44d00f(0x13e)]),![];const _0x27b1f5=existsSync(join(getProjectRoot(),_0x169a8f[_0x44d00f(0x13c)]));let _0x4413d7=!![];if(_0x43da82)await skillup({'autoInstall':_0x43da82,'suppressUsage':!![]});else{if(_0x27b1f5)await skillup({'autoInstall':_0x169a8f[_0x44d00f(0x12f)],'suppressUsage':!![]});else{const _0x171cbc=await _0x59fc1f[_0x44d00f(0x12d)]([{'type':'confirm','name':'wantsSkillup','message':_0x169a8f['GkYhL'],'default':!![]}]);_0x4413d7=_0x171cbc[_0x44d00f(0x149)],_0x4413d7&&await skillup({'suppressUsage':!![]});}}return _0x4413d7;}
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 +1 @@
1
- (function(_0x3118c1,_0x427be7){const _0x51c6d9=_0x3f87,_0x3959b2=_0x3118c1();while(!![]){try{const _0xf336f7=-parseInt(_0x51c6d9(0x195))/0x1*(parseInt(_0x51c6d9(0x193))/0x2)+parseInt(_0x51c6d9(0x196))/0x3+-parseInt(_0x51c6d9(0x192))/0x4*(parseInt(_0x51c6d9(0x1a7))/0x5)+parseInt(_0x51c6d9(0x1aa))/0x6*(parseInt(_0x51c6d9(0x191))/0x7)+parseInt(_0x51c6d9(0x19a))/0x8*(parseInt(_0x51c6d9(0x1b1))/0x9)+-parseInt(_0x51c6d9(0x19f))/0xa+parseInt(_0x51c6d9(0x1a8))/0xb;if(_0xf336f7===_0x427be7)break;else _0x3959b2['push'](_0x3959b2['shift']());}catch(_0x25067b){_0x3959b2['push'](_0x3959b2['shift']());}}}(_0x4a1a,0x57950));function _0x4a1a(){const _0xa66c6e=['Project\x20(shared\x20with\x20team\x20via\x20git)','150410WkYjKy','8869883rvFQMv','plugin','516vqtJzW','maKpk','User\x20(available\x20in\x20all\x20your\x20projects)','OfAAG','Where\x20should\x20the\x20plugin\x20be\x20installed?','YZSBa','error','243zkKSWR','18368SCwjBD','84sUGAtr','1906RlFVgt','log','695gpwafe','763326oAwagM','✓\x20OpenCode\x20plugin\x20configured','@ranger-testing/opencode-plugin','$schema','200432MTreFi','cZXhF','pluginScope','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','PmzyL','3101240JLHWrn','nifui','https://opencode.ai/config.json','NzrHD','✓\x20OpenCode\x20plugin\x20already\x20configured','tGMSF','\x0a📦\x20OpenCode\x20Plugin\x0a'];_0x4a1a=function(){return _0xa66c6e;};return _0x4a1a();}import{join}from'path';import{existsSync}from'fs';function _0x3f87(_0x534249,_0x65aa62){_0x534249=_0x534249-0x191;const _0x4a1ab6=_0x4a1a();let _0x3f8727=_0x4a1ab6[_0x534249];return _0x3f8727;}import{mkdir,readFile,writeFile}from'fs/promises';import _0x16938f from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x4092e8){const _0x4ec179=_0x3f87,_0x15e6c2={'maKpk':function(_0x38da40,_0x92cc1,_0x1bae04){return _0x38da40(_0x92cc1,_0x1bae04);},'ZCRdi':'project','OfAAG':_0x4ec179(0x1a5),'PmzyL':'list','tGMSF':'user','cEAAE':_0x4ec179(0x1a6),'NzrHD':function(_0x198e7d,_0xc3b610){return _0x198e7d(_0xc3b610);},'YZSBa':'opencode.json','cZXhF':_0x4ec179(0x198),'nifui':'Failed\x20to\x20read\x20opencode.json','tBFtA':function(_0x48d6ab,_0x4fdd9c,_0x1e43c8){return _0x48d6ab(_0x4fdd9c,_0x1e43c8);}},_0x3e647e=existsSync(_0x15e6c2[_0x4ec179(0x1ab)](join,getOpencodeConfigDir(_0x15e6c2['ZCRdi']),'opencode.json'));let _0x56bd63;if(_0x4092e8)_0x56bd63=_0x4092e8;else{if(_0x3e647e)_0x56bd63=_0x15e6c2['ZCRdi'];else{console[_0x4ec179(0x194)](_0x15e6c2[_0x4ec179(0x1ad)]);const _0xe40903=await _0x16938f['prompt']([{'type':_0x15e6c2[_0x4ec179(0x19e)],'name':'pluginScope','message':_0x4ec179(0x1ae),'choices':[{'name':_0x4ec179(0x1ac),'value':_0x15e6c2[_0x4ec179(0x1a4)]},{'name':_0x15e6c2['cEAAE'],'value':_0x15e6c2['ZCRdi']}],'default':'user'}]);_0x56bd63=_0xe40903[_0x4ec179(0x19c)];}}const _0x1dbdff=join(_0x15e6c2[_0x4ec179(0x1a2)](getOpencodeConfigDir,_0x56bd63),_0x15e6c2[_0x4ec179(0x1af)]),_0x229277=_0x15e6c2[_0x4ec179(0x19b)],_0x3dc4de=_0x4ec179(0x1a1);let _0x3f16d3={};if(_0x15e6c2['NzrHD'](existsSync,_0x1dbdff))try{const _0x48dfa9=await readFile(_0x1dbdff,'utf-8');_0x3f16d3=JSON['parse'](_0x48dfa9);}catch(_0x115a00){return console[_0x4ec179(0x1b0)](_0x4ec179(0x19d)),{'configured':![],'scope':_0x56bd63,'error':_0x15e6c2[_0x4ec179(0x1a0)],'details':_0x115a00};}const _0x2ba6b8=Array['isArray'](_0x3f16d3[_0x4ec179(0x1a9)])?_0x3f16d3['plugin']:[];if(_0x2ba6b8['includes'](_0x229277))return console[_0x4ec179(0x194)](_0x4ec179(0x1a3)),{'configured':![],'scope':_0x56bd63};return _0x3f16d3[_0x4ec179(0x199)]=_0x3f16d3[_0x4ec179(0x199)]||_0x3dc4de,_0x3f16d3[_0x4ec179(0x1a9)]=[..._0x2ba6b8,_0x229277],await _0x15e6c2[_0x4ec179(0x1ab)](mkdir,getOpencodeConfigDir(_0x56bd63),{'recursive':!![]}),await _0x15e6c2['tBFtA'](writeFile,_0x1dbdff,JSON['stringify'](_0x3f16d3,null,0x2)+'\x0a'),console['log'](_0x4ec179(0x197)),{'configured':!![],'scope':_0x56bd63};}
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 +1 @@
1
- function _0xa151(){var _0x172adb=['HLDBI','error','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','36JaAYTv','1137bEXWcP','hQBJv','5490121SVIJQl','\x20\x20https://docs.ranger.net/main/concepts/profiles','556208tqfTUz','4248IZwDoa','9866380KhGAGw','1691361PIvmzv','773394aKjLDv','XLIox','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','633785WpqSDD','vwyVx','8wlMjEP'];_0xa151=function(){return _0x172adb;};return _0xa151();}function _0x4b7f(_0x1fa70c,_0x94e4cc){_0x1fa70c=_0x1fa70c-0x16c;var _0xa151f4=_0xa151();var _0x4b7fc4=_0xa151f4[_0x1fa70c];return _0x4b7fc4;}(function(_0x4ed0a4,_0x20dde7){var _0x170233=_0x4b7f,_0x5d3b62=_0x4ed0a4();while(!![]){try{var _0x4fc4d5=parseInt(_0x170233(0x17c))/0x1+-parseInt(_0x170233(0x178))/0x2+parseInt(_0x170233(0x174))/0x3*(parseInt(_0x170233(0x179))/0x4)+-parseInt(_0x170233(0x16d))/0x5*(parseInt(_0x170233(0x173))/0x6)+parseInt(_0x170233(0x176))/0x7*(-parseInt(_0x170233(0x16f))/0x8)+parseInt(_0x170233(0x17b))/0x9+parseInt(_0x170233(0x17a))/0xa;if(_0x4fc4d5===_0x20dde7)break;else _0x5d3b62['push'](_0x5d3b62['shift']());}catch(_0x49bb72){_0x5d3b62['push'](_0x5d3b62['shift']());}}}(_0xa151,0x80c96));export async function setupCi(_0x5063b7,_0x32a963,_0x2d780e){var _0x5f0292=_0x4b7f,_0xe7e311={'HLDBI':function(_0x2f5f5d,_0x3875a8){return _0x2f5f5d+_0x3875a8;},'hQBJv':function(_0x28591a,_0x421f24){return _0x28591a+_0x421f24;},'vwyVx':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','ZtzhY':_0x5f0292(0x172),'XLIox':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'};console[_0x5f0292(0x171)](_0xe7e311[_0x5f0292(0x170)](_0xe7e311[_0x5f0292(0x175)](_0xe7e311[_0x5f0292(0x170)](_0xe7e311[_0x5f0292(0x16e)],'\x0a'),_0xe7e311['ZtzhY'])+_0xe7e311[_0x5f0292(0x17d)],'\x0a')+_0x5f0292(0x16c)+_0x5f0292(0x177)),process['exit'](0x1);}
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 +1 @@
1
- (function(_0x419ce9,_0x3819ca){const _0x2dafe7=_0x45d6,_0x63af03=_0x419ce9();while(!![]){try{const _0x38267d=parseInt(_0x2dafe7(0xb6))/0x1*(-parseInt(_0x2dafe7(0x98))/0x2)+-parseInt(_0x2dafe7(0xab))/0x3+parseInt(_0x2dafe7(0xb7))/0x4*(parseInt(_0x2dafe7(0xaa))/0x5)+-parseInt(_0x2dafe7(0xad))/0x6+-parseInt(_0x2dafe7(0xa5))/0x7*(parseInt(_0x2dafe7(0xa2))/0x8)+parseInt(_0x2dafe7(0xbb))/0x9+-parseInt(_0x2dafe7(0xb0))/0xa*(-parseInt(_0x2dafe7(0xb4))/0xb);if(_0x38267d===_0x3819ca)break;else _0x63af03['push'](_0x63af03['shift']());}catch(_0x1a1e74){_0x63af03['push'](_0x63af03['shift']());}}}(_0x1cff,0xbf7e1));function _0x45d6(_0x3e6c9b,_0xab0f68){_0x3e6c9b=_0x3e6c9b-0x97;const _0x1cffb5=_0x1cff();let _0x45d6e0=_0x1cffb5[_0x3e6c9b];return _0x45d6e0;}function _0x1cff(){const _0x38a1ad=['user-level','All\x20projects\x20(','warn','user','1376COVGlF','isTTY','/skills/','58373tOHLMP','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','autoInstall','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','KAZvX','10nKaGRk','352782bsRbgr','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','9175314RfJmhU','split','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','80vfofcY','NrtVL','list','\x20\x203.\x20Run:\x20ranger\x20skillup','2437589NPssBF','/.claude/skills/','3Dtzlcp','1683104fQyNIU','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','fVxRR','GpkUJ','13591593hXEXoN','log','stdout','172698sloQWg','project','\x20<your-api-token>','Where\x20should\x20skills\x20be\x20installed?','IWfCd','KDMlX'];_0x1cff=function(){return _0x38a1ad;};return _0x1cff();}import{basename}from'path';import _0x48f795 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(_0xf83cfc={}){const _0x32f1cf=_0x45d6,_0x587a85={'KDMlX':_0x32f1cf(0xa8),'ZCjsl':function(_0x449f1c){return _0x449f1c();},'KAZvX':'opencode','rXGyY':'\x20--opencode','KNpNF':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','PQRoc':function(_0x5d35a0,_0x50b480){return _0x5d35a0===_0x50b480;},'fVxRR':'user','GpkUJ':function(_0x29c6f3,_0x1a86fa){return _0x29c6f3===_0x1a86fa;},'JCzwI':'installLevel','XnSmC':_0x32f1cf(0x9b),'NrtVL':'\x0a📦\x20Installing\x20skills...\x0a','HVpUT':'ranger','IWfCd':function(_0x2baad6,_0x52c9ec){return _0x2baad6 instanceof _0x52c9ec;},'gJAzA':function(_0x35f4de,_0x2944d8){return _0x35f4de>_0x2944d8;},'fiuCO':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','YsuCd':'\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!','fvhZp':_0x32f1cf(0xac)};console[_0x32f1cf(0xbc)](_0x587a85[_0x32f1cf(0x9d)]);const _0x28ce8f=_0xf83cfc['platform']??'claude',_0x21fa80=await _0x587a85['ZCjsl'](getToken);if(!_0x21fa80){const _0x2d8999='5|3|2|0|1|4'[_0x32f1cf(0xae)]('|');let _0x5041e1=0x0;while(!![]){switch(_0x2d8999[_0x5041e1++]){case'0':console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x28ce8f==='opencode'?'\x20--opencode':'')+_0x32f1cf(0x9a));continue;case'1':console[_0x32f1cf(0xbc)](_0x32f1cf(0xb3)+(_0x28ce8f===_0x587a85['KAZvX']?_0x587a85['rXGyY']:'')+'\x0a');continue;case'2':console['log'](_0x32f1cf(0xaf));continue;case'3':console['log']('To\x20get\x20started:');continue;case'4':return;case'5':console['log'](_0x587a85['KNpNF']);continue;}break;}}console['log']('✓\x20Found\x20API\x20token');const _0x5cf409=getProjectRoot(),_0x1bb42b=basename(_0x5cf409),_0x15705e=_0x587a85['PQRoc'](_0x28ce8f,_0x587a85['KAZvX'])?getOpencodeConfigDir(_0x587a85[_0x32f1cf(0xb9)])+'/skills/':getClaudeConfigDir()+_0x32f1cf(0xa4),_0x2a0ba6=_0x587a85[_0x32f1cf(0xba)](_0x28ce8f,_0x587a85[_0x32f1cf(0xa9)])?_0x5cf409+'/.opencode/skills/':_0x5cf409+_0x32f1cf(0xb5),_0x436743=process['stdin'][_0x32f1cf(0xa3)]&&process[_0x32f1cf(0x97)][_0x32f1cf(0xa3)];let _0x1c3600;if(_0xf83cfc[_0x32f1cf(0xa7)])_0x1c3600=_0xf83cfc['autoInstall'];else{if(_0x436743){const _0x49c81b=await _0x48f795['prompt']([{'type':_0x32f1cf(0xb2),'name':_0x587a85['JCzwI'],'message':_0x587a85['XnSmC'],'choices':[{'name':_0x32f1cf(0x9f)+_0x15705e+')','value':'user'},{'name':'This\x20project\x20only\x20('+_0x2a0ba6+')','value':'project'}]}]);_0x1c3600=_0x49c81b['installLevel'];}else _0x1c3600=_0x32f1cf(0x99),console['log'](_0x32f1cf(0xb8)+_0x2a0ba6+')');}let _0x178913=0x0;const _0x3ebb40=getCurrentVersion();console[_0x32f1cf(0xbc)](_0x587a85[_0x32f1cf(0xb1)]);try{const _0x1857e6=await installSkill(_0x587a85['HVpUT'],{'cliVersion':_0x3ebb40,'level':_0x1c3600,'platform':_0x28ce8f});_0x1857e6&&_0x178913++;}catch(_0xb61cfe){console[_0x32f1cf(0xa0)](_0x32f1cf(0xa6),_0x587a85[_0x32f1cf(0x9c)](_0xb61cfe,Error)?_0xb61cfe['message']:_0xb61cfe);}if(_0x178913>0x0){const _0x59d8a8=_0x1c3600===_0x32f1cf(0xa1)?_0x32f1cf(0x9e):'project-level';console[_0x32f1cf(0xbc)]('\x0a✅\x20Installed\x20'+_0x178913+'\x20'+_0x59d8a8+'\x20skill'+(_0x587a85['gJAzA'](_0x178913,0x1)?'s':'')+'\x20successfully!\x0a'),!_0xf83cfc['suppressUsage']&&(console['log']('To\x20use:'),_0x28ce8f==='opencode'?console[_0x32f1cf(0xbc)](_0x587a85['fiuCO']):console['log'](_0x587a85['YsuCd']));}else console[_0x32f1cf(0xbc)](_0x587a85['fvhZp']);}
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 +1 @@
1
- const _0x495eaa=_0x4e58;(function(_0x1096c5,_0x254947){const _0x428cd1=_0x4e58,_0xdc40b7=_0x1096c5();while(!![]){try{const _0x4044c0=-parseInt(_0x428cd1(0x120))/0x1*(parseInt(_0x428cd1(0x184))/0x2)+parseInt(_0x428cd1(0x13f))/0x3+parseInt(_0x428cd1(0x172))/0x4*(-parseInt(_0x428cd1(0x13d))/0x5)+-parseInt(_0x428cd1(0x166))/0x6+parseInt(_0x428cd1(0x11e))/0x7*(parseInt(_0x428cd1(0x117))/0x8)+parseInt(_0x428cd1(0x127))/0x9*(-parseInt(_0x428cd1(0x181))/0xa)+parseInt(_0x428cd1(0x15e))/0xb;if(_0x4044c0===_0x254947)break;else _0xdc40b7['push'](_0xdc40b7['shift']());}catch(_0x2351aa){_0xdc40b7['push'](_0xdc40b7['shift']());}}}(_0x49f7,0xd9f53));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x58c750 from'inquirer';function _0x49f7(){const _0xe61e49=['\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','10366txzqdC','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','\x0a\x20\x20','chromium','\x20\x20npx\x20playwright@','/ranger:enable','\x1b[1m','11299112oAvQYL','spjPB','plugin','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','tdIrX','MvWmb','skipAuth','7tlfaTr','UveQC','177HlcCEz','skills','ready','lXAcY','isTTY','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','playwright/package.json','795537kBnsYT','\x0aInstalling\x20Chromium\x20browser...\x0a','close','MPFiX','wGDAe','iQKcC','url','install','✓\x20Created\x20.ranger/.gitignore','lTxBQ','env','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','trackPhaseStart','success','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','local','rkDdc','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','\x20is\x20no\x20longer\x20supported.\x20','\x20now?','530955hfgZNm','prompt','4593852tCtTHC','\x20install\x20chromium','ItBrZ','STrTv','\x0a❌\x20Profile\x20setup\x20failed:','status','1.58.2','ukqbJ','✓\x20Already\x20authenticated\x20to\x20','tXlFl','Authentication\x20failed:\x20','AlmNH','pBctr','NvcKo','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','opencode','qKHmW','JPEJu','profile','aBwSM','BdRCU','yviHQ','Installation\x20failed\x20with\x20exit\x20code\x20','organizationName','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','VjSyx','force','error','playwright@','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','version','14692524YUCawM','cObjD','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','ranger','\x0a🚀\x20Ranger\x20Setup\x0a','\x20(fallback\x20version)','✓\x20Playwright\x20Chromium\x20browser\x20found','✓\x20Stored\x20credentials\x20locally','1655940mixkLY','device_auth','log','message','ZjrSd','inherit','scope','stdout','\x20and\x20prompt\x20the\x20coding','YKgvW','ranger\x20profile\x20add\x20<name>','egGQi','36dLEenG','✓\x20~/.ranger/\x20directory\x20already\x20exists','✓\x20Exported\x20credentials\x20for\x20CI','iyyjX','vZXqd','...','skipChromium','PkysS','bcuOD','withDeps','user','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','kdFiC','auth','trackPhaseEnd','140sBMKgm','exit'];_0x49f7=function(){return _0xe61e49;};return _0x49f7();}import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x495eaa(0x145);const bold=_0x145c9e=>_0x495eaa(0x18a)+_0x145c9e+'\x1b[0m';export function getPlaywrightVersion(){const _0x145eee=_0x495eaa;try{const _0x447c35=require['resolve'](_0x145eee(0x126)),_0x578053=require(_0x447c35);return _0x578053[_0x145eee(0x15d)];}catch{return null;}}export function installChromiumBinary(_0x50c628,_0x4c77d6=![]){const _0x49cc10=_0x495eaa,_0x4ca092={'STrTv':function(_0x3c3b27,_0x424561){return _0x3c3b27===_0x424561;},'MPFiX':function(_0x55a884){return _0x55a884();},'iQKcC':function(_0x56cca0,_0x51d98e){return _0x56cca0(_0x51d98e);},'ZjrSd':'--with-deps','UveQC':'npx','PFJwk':_0x49cc10(0x16b),'JCQSw':'win32','tSWbG':_0x49cc10(0x129),'yviHQ':'error'};return new Promise((_0x9a8c3d,_0x39d745)=>{const _0x3a490f=_0x49cc10,_0x4fc4fc=[_0x3a490f(0x15b)+_0x50c628,_0x3a490f(0x12e),..._0x4c77d6?[_0x4ca092[_0x3a490f(0x16a)]]:[],'chromium'],_0x410297=spawn(_0x4ca092[_0x3a490f(0x11f)],_0x4fc4fc,{'stdio':['ignore',_0x4ca092['PFJwk'],_0x3a490f(0x16b)],'shell':_0x4ca092[_0x3a490f(0x142)](process['platform'],_0x4ca092['JCQSw'])});_0x410297['on'](_0x4ca092['tSWbG'],_0x5d61f5=>{const _0x2e8cc6=_0x3a490f;_0x4ca092['STrTv'](_0x5d61f5,0x0)?_0x4ca092[_0x2e8cc6(0x12a)](_0x9a8c3d):_0x39d745(new Error(_0x2e8cc6(0x155)+_0x5d61f5));}),_0x410297['on'](_0x4ca092[_0x3a490f(0x154)],_0x505ef3=>{const _0x2c7fe0=_0x3a490f;_0x4ca092[_0x2c7fe0(0x12c)](_0x39d745,_0x505ef3);});});}export async function authenticate(_0x4138b0){const _0x514dc6=_0x495eaa,_0x198811={'vZXqd':function(_0x57f23c){return _0x57f23c();},'VjSyx':function(_0x1deefd,_0x24acc9){return _0x1deefd(_0x24acc9);},'NvcKo':function(_0x57ffde,_0x4e8e03){return _0x57ffde(_0x4e8e03);},'JPEJu':'Validating\x20API\x20token...','lXAcY':function(_0x2f9476,_0x46884f){return _0x2f9476(_0x46884f);},'AlmNH':_0x514dc6(0x174),'ClEvG':'provided_token'};if(!_0x4138b0){const _0x2f5610=await _0x198811[_0x514dc6(0x176)](getToken);if(_0x2f5610){const _0x2af553=await _0x198811[_0x514dc6(0x158)](getCurrentUser,_0x2f5610);if(_0x2af553['success'])return console['log'](_0x514dc6(0x147)+_0x2af553[_0x514dc6(0x17c)][_0x514dc6(0x156)]),{'token':_0x2f5610,'method':'existing_token'};}try{_0x4138b0=await _0x198811['vZXqd'](runDeviceAuthFlow);}catch(_0x44fb52){throw new Error(_0x514dc6(0x149)+(_0x44fb52 instanceof Error?_0x44fb52[_0x514dc6(0x169)]:_0x44fb52));}const _0x3c4f78=await _0x198811[_0x514dc6(0x14c)](getCurrentUser,_0x4138b0);if(!_0x3c4f78['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x3c4f78['error']);return console[_0x514dc6(0x168)]('✓\x20Authenticated\x20to\x20'+_0x3c4f78['user'][_0x514dc6(0x156)]),{'token':_0x4138b0,'method':_0x514dc6(0x167)};}console['log'](_0x198811[_0x514dc6(0x150)]);const _0x322a9f=await getCurrentUser(_0x4138b0);if(!_0x322a9f[_0x514dc6(0x135)]){if(_0x322a9f[_0x514dc6(0x144)])throw new Error(_0x514dc6(0x149)+_0x322a9f['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x514dc6(0x14d)+_0x322a9f[_0x514dc6(0x15a)]+_0x514dc6(0x11a));}return console['log']('✓\x20Authenticated\x20to\x20'+_0x322a9f['user']['organizationName']),await _0x198811[_0x514dc6(0x123)](storeToken,_0x4138b0),console[_0x514dc6(0x168)](process[_0x514dc6(0x131)]['GITHUB_ENV']?_0x198811[_0x514dc6(0x14a)]:_0x514dc6(0x165)),{'token':_0x4138b0,'method':_0x198811['ClEvG']};}export async function ensureRangerDir(_0xcbe9b0){const _0x306028=_0x495eaa;void _0xcbe9b0;const _0xe89651=getRangerHomeDir();return!existsSync(_0xe89651)?(await mkdir(_0xe89651,{'recursive':!![]}),console[_0x306028(0x168)]('✓\x20Created\x20~/.ranger/\x20directory'),{'path':_0xe89651,'installed':!![]}):(console['log'](_0x306028(0x173)),{'path':_0xe89651,'installed':![]});}export async function ensureChromium(_0x10adce=![]){const _0x1cbd04=_0x495eaa,_0x3a2dcd={'EpoUC':function(_0xae7251,_0x24faf4){return _0xae7251(_0x24faf4);},'tokyU':function(_0x65d82f,_0x5d71c0){return _0x65d82f instanceof _0x5d71c0;},'qKHmW':_0x1cbd04(0x17d)};let _0x176167=![];try{const _0x4b3b35=chromium['executablePath']();_0x176167=_0x3a2dcd['EpoUC'](existsSync,_0x4b3b35);}catch{_0x176167=![];}if(_0x176167)return console[_0x1cbd04(0x168)](_0x1cbd04(0x164)),![];const _0x133ad=getPlaywrightVersion(),_0x13137c=_0x133ad??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x53f617=!_0x133ad,_0x3b8d3d=process['stdin']['isTTY']&&process[_0x1cbd04(0x16d)][_0x1cbd04(0x124)];let _0x21f872=!![];if(_0x3b8d3d){const {install:_0x11d642}=await _0x58c750[_0x1cbd04(0x13e)]([{'type':'confirm','name':_0x1cbd04(0x12e),'message':_0x53f617?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x13137c+_0x1cbd04(0x13c):'The\x20required\x20version\x20('+_0x13137c+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x21f872=_0x11d642;}else console['log'](_0x1cbd04(0x160)+_0x13137c+(_0x53f617?_0x1cbd04(0x163):'')+_0x1cbd04(0x177));if(_0x21f872){console['log'](_0x1cbd04(0x128));try{await installChromiumBinary(_0x13137c,_0x10adce),console[_0x1cbd04(0x168)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0xda6b4b){console[_0x1cbd04(0x15a)](_0x1cbd04(0x185),_0x3a2dcd['tokyU'](_0xda6b4b,Error)?_0xda6b4b['message']:_0xda6b4b),console[_0x1cbd04(0x168)]('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console[_0x1cbd04(0x168)](_0x1cbd04(0x188)+_0x13137c+'\x20install\x20chromium');}}else console['log']('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console[_0x1cbd04(0x168)](_0x3a2dcd[_0x1cbd04(0x14f)]),console['log'](_0x1cbd04(0x188)+_0x13137c+_0x1cbd04(0x140));return!![];}export async function writeRangerGitignore(_0x53a727){const _0x15e6d5=_0x495eaa,_0x3fc7bd={'MAphD':'.gitignore','TLwZv':function(_0x5cf94e,_0x2476a4,_0x2d0927){return _0x5cf94e(_0x2476a4,_0x2d0927);}},_0x5b56e8=join(_0x53a727,_0x3fc7bd['MAphD']),_0x100e88='\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 _0x3fc7bd['TLwZv'](writeFile,_0x5b56e8,_0x100e88),console['log'](_0x15e6d5(0x12f));}export async function ensureLocalEnv(_0xb38072,_0x46c52b){const _0x356dc9=_0x495eaa,_0x2771e9={'lTxBQ':function(_0x440352,_0xd6e43a){return _0x440352!==_0xd6e43a;},'ItBrZ':_0x356dc9(0x136),'iSgiz':function(_0x45ff8d,_0xc39e29){return _0x45ff8d===_0xc39e29;},'pBctr':_0x356dc9(0x137),'PkysS':function(_0x2b2a9e,_0x22afe6,_0x31dba6,_0x45fece){return _0x2b2a9e(_0x22afe6,_0x31dba6,_0x45fece);},'wGDAe':function(_0x349fce,_0x5487ac){return _0x349fce instanceof _0x5487ac;}};if(!findGitRoot()&&_0x2771e9[_0x356dc9(0x130)](_0xb38072?.['scope'],'user'))return console[_0x356dc9(0x168)](_0x2771e9[_0x356dc9(0x141)]),{'ready':![],'skipped':!![]};const _0x1442b8=_0x2771e9['iSgiz'](_0xb38072?.[_0x356dc9(0x16c)],'user')?getRangerHomeDir():undefined;if(findExistingEnv(_0x2771e9[_0x356dc9(0x14b)],{'locations':['local'],'rangerDir':_0x1442b8}))return console['log']('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};try{return await _0x2771e9[_0x356dc9(0x179)](addEnv,_0x356dc9(0x137),{'url':_0xb38072?.[_0x356dc9(0x12d)],'force':_0xb38072?.['force'],'allowInsecureLocalhost':_0xb38072?.['allowInsecureLocalhost'],'scope':_0xb38072?.[_0x356dc9(0x16c)]},_0x46c52b),{'ready':!![],'skipped':![]};}catch(_0x5aca1a){return console['error'](_0x356dc9(0x143),_0x2771e9[_0x356dc9(0x12b)](_0x5aca1a,Error)?_0x5aca1a['message']:_0x5aca1a),{'ready':![],'skipped':![]};}}function _0x4e58(_0x1d2573,_0xdb4642){_0x1d2573=_0x1d2573-0x117;const _0x49f79f=_0x49f7();let _0x4e5834=_0x49f79f[_0x1d2573];return _0x4e5834;}export async function start(_0x355b5f,_0x529c46,_0x2aec48){const _0x5df5eb=_0x495eaa,_0x366b53={'ukqbJ':function(_0x1cf83d,_0x3bbadb){return _0x1cf83d!==_0x3bbadb;},'koxfu':function(_0x3c46ac,_0x30d469){return _0x3c46ac!==_0x30d469;},'MvWmb':function(_0x46566d,_0x56a964){return _0x46566d+_0x56a964;},'cObjD':function(_0x538b2a,_0x52be04){return _0x538b2a(_0x52be04);},'bcuOD':'user','DiHsB':function(_0x3ef72c){return _0x3ef72c();},'iyyjX':'✓\x20Skipping\x20authentication\x20(--skip-auth)','TSrxV':'skipped','YKgvW':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','tdIrX':function(_0x197824,_0xa48d59){return _0x197824(_0xa48d59);},'egGQi':_0x5df5eb(0x119),'rdOAc':function(_0x372fe0,_0x4c789f,_0x3e274e){return _0x372fe0(_0x4c789f,_0x3e274e);},'aBwSM':_0x5df5eb(0x161),'kdFiC':_0x5df5eb(0x121),'tXlFl':function(_0x3a261b,_0xfb45ad){return _0x3a261b(_0xfb45ad);},'uymSh':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','rkDdc':'profile','BdRCU':function(_0x3ceb84,_0x4839f3){return _0x3ceb84+_0x4839f3;},'PMflN':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','spjPB':_0x5df5eb(0x125),'zRnxa':_0x5df5eb(0x157)};console[_0x5df5eb(0x168)](_0x5df5eb(0x162));_0x366b53[_0x5df5eb(0x146)](_0x529c46?.['scope'],undefined)&&_0x366b53['koxfu'](_0x529c46['scope'],'user')&&(console['error'](_0x366b53['MvWmb']('ranger\x20setup\x20--scope='+_0x366b53['cObjD'](String,_0x529c46['scope'])+_0x5df5eb(0x13b)+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20',_0x5df5eb(0x132))),process[_0x5df5eb(0x182)](0x1));_0x529c46={..._0x529c46,'scope':_0x366b53[_0x5df5eb(0x17a)]};const _0x5d7d44=!existsSync(_0x366b53['DiHsB'](getRangerHomeDir));await ensureRangerDir(_0x5df5eb(0x17c));if(_0x529c46?.[_0x5df5eb(0x11d)])console['log'](_0x366b53[_0x5df5eb(0x175)]),_0x2aec48?.[_0x5df5eb(0x180)](_0x5df5eb(0x17f),{'isFirstRun':_0x5d7d44,'method':_0x366b53['TSrxV']});else{_0x2aec48?.['trackPhaseStart']('auth');const _0x1b59ef=await authenticate(_0x355b5f);_0x2aec48?.['trackPhaseEnd'](_0x5df5eb(0x17f),{'isFirstRun':_0x5d7d44,'method':_0x1b59ef['method']});}_0x2aec48?.[_0x5df5eb(0x134)](_0x5df5eb(0x187));_0x529c46?.[_0x5df5eb(0x178)]?console['log'](_0x366b53[_0x5df5eb(0x16f)]):await ensureChromium(_0x529c46?.[_0x5df5eb(0x17b)]);_0x2aec48?.[_0x5df5eb(0x180)](_0x5df5eb(0x187),{'isFirstRun':_0x5d7d44,'skipped':!!_0x529c46?.['skipChromium']}),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x113203=_0x529c46?.['scope'],_0x825adb=_0x529c46?.[_0x5df5eb(0x14e)]??![];let _0x46da60=null;_0x825adb?(_0x2aec48?.['trackPhaseStart']('plugin'),_0x46da60=await _0x366b53[_0x5df5eb(0x11b)](ensureOpencodePluginConfig,_0x113203),_0x2aec48?.['trackPhaseEnd'](_0x366b53[_0x5df5eb(0x171)],{'isFirstRun':_0x5d7d44,'opencode':!![]})):(_0x2aec48?.['trackPhaseStart'](_0x366b53[_0x5df5eb(0x171)]),await _0x366b53[_0x5df5eb(0x11b)](ensureClaudePlugin,_0x113203),_0x2aec48?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x5d7d44}));if(_0x825adb&&_0x46da60){_0x2aec48?.['trackPhaseStart']('skills');try{await _0x366b53['rdOAc'](installSkill,_0x366b53[_0x5df5eb(0x152)],{'level':_0x46da60['scope'],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x2aec48?.['trackPhaseEnd'](_0x366b53[_0x5df5eb(0x17e)],{'isFirstRun':_0x5d7d44,'opencode':!![]});}catch(_0x43637c){console['warn'](_0x5df5eb(0x183),_0x43637c instanceof Error?_0x43637c[_0x5df5eb(0x169)]:_0x43637c),_0x2aec48?.['trackPhaseEnd'](_0x366b53['kdFiC'],{'isFirstRun':_0x5d7d44,'opencode':!![],'failed':!![]});}}else _0x2aec48?.[_0x5df5eb(0x134)](_0x366b53['kdFiC']),await _0x366b53[_0x5df5eb(0x148)](ensureClaudeSkills,_0x113203),_0x2aec48?.['trackPhaseEnd'](_0x5df5eb(0x121),{'isFirstRun':_0x5d7d44});if(_0x529c46?.[_0x5df5eb(0x11d)])console['log'](_0x366b53['uymSh']);else{if(_0x529c46?.[_0x5df5eb(0x12d)]){_0x2aec48?.[_0x5df5eb(0x134)](_0x5df5eb(0x151));const _0x486369=await ensureLocalEnv({'url':_0x529c46['url'],'force':_0x529c46?.[_0x5df5eb(0x159)],'allowInsecureLocalhost':_0x529c46?.['allowInsecureLocalhost'],'scope':_0x366b53[_0x5df5eb(0x17a)]},_0x2aec48);_0x2aec48?.[_0x5df5eb(0x180)](_0x366b53[_0x5df5eb(0x138)],{'isFirstRun':_0x5d7d44,'profileReady':_0x486369[_0x5df5eb(0x122)],'userSkipped':_0x486369['skipped']});}else console[_0x5df5eb(0x168)](_0x366b53['MvWmb'](_0x366b53['BdRCU'](_0x366b53[_0x5df5eb(0x11c)]('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+(_0x5df5eb(0x186)+_0x366b53[_0x5df5eb(0x15f)](bold,_0x5df5eb(0x170))),'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)'),'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:'),_0x5df5eb(0x13a)));}if(_0x825adb)console['log'](_0x366b53['PMflN']),console[_0x5df5eb(0x168)](_0x366b53[_0x5df5eb(0x118)]),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0x5df5eb(0x168)](_0x366b53['zRnxa']);else{const _0x1ff80b=bold(_0x5df5eb(0x189));console['log'](_0x366b53[_0x5df5eb(0x153)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x1ff80b+_0x5df5eb(0x16e)+_0x5df5eb(0x133),_0x5df5eb(0x15c))+_0x5df5eb(0x139));}}
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 +1 @@
1
- const _0x57321c=_0x319f;(function(_0xeda212,_0x468527){const _0x2b54ac=_0x319f,_0x4a9b5c=_0xeda212();while(!![]){try{const _0x5bcfca=parseInt(_0x2b54ac(0x1a9))/0x1+-parseInt(_0x2b54ac(0x17a))/0x2*(parseInt(_0x2b54ac(0x15a))/0x3)+parseInt(_0x2b54ac(0x1a4))/0x4+-parseInt(_0x2b54ac(0x182))/0x5*(parseInt(_0x2b54ac(0x1a5))/0x6)+-parseInt(_0x2b54ac(0x1b6))/0x7*(parseInt(_0x2b54ac(0x19d))/0x8)+-parseInt(_0x2b54ac(0x14e))/0x9+parseInt(_0x2b54ac(0x167))/0xa;if(_0x5bcfca===_0x468527)break;else _0x4a9b5c['push'](_0x4a9b5c['shift']());}catch(_0x3bb038){_0x4a9b5c['push'](_0x4a9b5c['shift']());}}}(_0x2016,0x54bfb));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=_0x4c93fc=>_0x57321c(0x160)+_0x4c93fc+_0x57321c(0x1b0),link=(_0x51c408,_0x275487)=>'\x1b]8;;file://'+_0x51c408+'\x07'+(_0x275487||_0x51c408)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x247710=_0x57321c,_0x40d3fe={'DbOrv':'not_installed','UEYOc':_0x247710(0x18c),'dUYhV':'config','CyNVC':'ignore','TCWTk':_0x247710(0x173),'VVMws':_0x247710(0x1ba)};return new Promise(_0x474d63=>{const _0x79eedd=_0x247710,_0x245357={'ApfVB':_0x40d3fe['UEYOc'],'Iqycw':'opencode-plugin','JsQcx':function(_0x91d496,_0x9d0f09){return _0x91d496!==_0x9d0f09;},'YqaPd':function(_0x2e4ff9,_0x5205c7){return _0x2e4ff9(_0x5205c7);},'NeZqP':_0x40d3fe[_0x79eedd(0x161)],'QFSbr':function(_0x44d673,_0x9e6429){return _0x44d673(_0x9e6429);},'zSbOn':_0x79eedd(0x15e),'vQltA':'not_configured'},_0x1a49ec=spawn('opencode',[_0x79eedd(0x187),_0x40d3fe[_0x79eedd(0x14b)]],{'stdio':[_0x40d3fe[_0x79eedd(0x172)],_0x79eedd(0x14f),_0x79eedd(0x14f)]});let _0x1154c7='';_0x1a49ec[_0x79eedd(0x16a)]?.['on'](_0x40d3fe[_0x79eedd(0x152)],_0x5c7771=>{const _0xfed7d7=_0x79eedd;_0x1154c7+=_0x5c7771[_0xfed7d7(0x175)]();}),_0x1a49ec[_0x79eedd(0x193)]?.['on'](_0x79eedd(0x173),_0x38e3ef=>{_0x1154c7+=_0x38e3ef['toString']();}),_0x1a49ec['on']('error',()=>{_0x474d63({'status':_0x40d3fe['DbOrv']});}),_0x1a49ec['on'](_0x40d3fe[_0x79eedd(0x1ac)],_0x13c0d7=>{const _0x4ef0ec=_0x79eedd,_0xce9f3e={'hCyIc':_0x245357['ApfVB'],'Iganr':'@ranger-testing/opencode-plugin','ciXTv':_0x245357[_0x4ef0ec(0x192)]};if(_0x245357[_0x4ef0ec(0x19b)](_0x13c0d7,0x0)){_0x245357[_0x4ef0ec(0x151)](_0x474d63,{'status':_0x245357['NeZqP']});return;}const _0x104a33=_0x1154c7['trim']();let _0x55220c=null;if(_0x104a33)try{_0x55220c=JSON[_0x4ef0ec(0x196)](_0x104a33);}catch{const _0x4eabfb=_0x104a33['match'](/\{[\s\S]*\}$/);if(_0x4eabfb)try{_0x55220c=JSON['parse'](_0x4eabfb[0x0]);}catch{_0x55220c=null;}}const _0x5b8358=Array[_0x4ef0ec(0x166)](_0x55220c?.[_0x4ef0ec(0x188)])?_0x55220c?.[_0x4ef0ec(0x188)]:[],_0x42288f=_0x5b8358[_0x4ef0ec(0x17b)](_0x540203=>{const _0x532516=_0x4ef0ec;if(typeof _0x540203!==_0xce9f3e['hCyIc'])return![];return _0x540203[_0x532516(0x1b1)](_0xce9f3e['Iganr'])||_0x540203[_0x532516(0x1b1)](_0xce9f3e['ciXTv']);});if(_0x42288f){_0x245357['QFSbr'](_0x474d63,{'status':_0x245357[_0x4ef0ec(0x149)],'details':_0x5b8358['length']>0x0?_0x5b8358[_0x4ef0ec(0x14c)]+_0x4ef0ec(0x156):undefined});return;}if(_0x5b8358[_0x4ef0ec(0x14c)]>0x0){_0x245357[_0x4ef0ec(0x151)](_0x474d63,{'status':'not_configured','details':_0x5b8358['length']+'\x20plugin(s)\x20configured'});return;}_0x245357['YqaPd'](_0x474d63,{'status':_0x245357['vQltA']});});});}async function getSkillsFromDir(_0x589289,_0x3cb39c){const _0x26612d=_0x57321c,_0x5d77d9={'riIEP':function(_0x28b6ee,_0x287864){return _0x28b6ee(_0x287864);},'mIDlu':'SKILL.md','qrksZ':function(_0x2affab,_0x2c3889,_0x35e065){return _0x2affab(_0x2c3889,_0x35e065);},'dhCfb':_0x26612d(0x1b8)};if(!_0x5d77d9['riIEP'](existsSync,_0x589289))return[];const _0x191d45=[];try{const _0x337d48=await readdir(_0x589289,{'withFileTypes':!![]});for(const _0x3f43b5 of _0x337d48){if(_0x3f43b5[_0x26612d(0x1b9)]()){const _0x5c8ccc=join(_0x589289,_0x3f43b5[_0x26612d(0x19a)],_0x5d77d9[_0x26612d(0x169)]);if(existsSync(_0x5c8ccc)){let _0x51964d=_0x3f43b5[_0x26612d(0x19a)];try{const _0x57fa70=await _0x5d77d9['qrksZ'](readFile,_0x5c8ccc,_0x5d77d9['dhCfb']),_0x50fb13=_0x57fa70['match'](/name:\s*(.+)/);_0x50fb13&&(_0x51964d=_0x50fb13[0x1]['trim']());}catch{}_0x191d45[_0x26612d(0x158)]({'name':_0x3f43b5[_0x26612d(0x19a)],'displayName':_0x51964d,'path':_0x5c8ccc,'level':_0x3cb39c});}}}}catch{return[];}return _0x191d45;}function _0x2016(){const _0x4161ff=['\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','\x1b[0m','includes','sxRGC','\x20\x20Active:\x20','has','join','2174445BTnyOx','@ranger-testing/opencode-plugin','utf-8','isDirectory','close','zSbOn','settingsPath','dUYhV','length','vwCcL','152676vcIuuX','pipe','\x0a📊\x20Ranger\x20Status\x0a','YqaPd','TCWTk','scope','EoVoE','\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)','\x20plugin(s)\x20configured','\x20\x20Run:\x20ranger\x20skillup','push','tzZVy','15tmyYDG','WYgnz','auth.json.enc','FdOib','configured','QLAnF','\x1b[1m','DbOrv','\x20\x20Project-level:','unknown','none','log','isArray','3703070htkctJ','\x0a---\x20Claude\x20Code\x20Plugin\x20---','mIDlu','stdout','success','No\x20skills\x20installed','env','Organization:\x20','settings.json','displayName','disabled','CyNVC','data','IuCjl','toString','twfeA','\x20\x20Run:\x20ranger\x20setup\x20[token]','enabled','LJIBa','166438XbpbrK','some','ynCph','plaintext','details','\x20\x20\x20\x20Session:\x20','project','fdaDS','11345VAKErB','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','glFOx','lrMZV','RDAlh','debug','plugin','hasPlaintextAuth','cached\x20(updated\x20','rMqJs','string','rEvgj','rXbTt','Version:\x20','map','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','Iqycw','stderr','\x20\x20\x20\x20','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','parse','\x20(active)','\x20\x20Run:\x20ranger\x20update','\x20[cloud]','name','JsQcx','\x0a---\x20Profiles\x20---','8SuXEPk',':\x20installed\x20(','path','version','(not\x20found)','VfNsm','DEBUG','1835388NmcTdI','498EzFraT',':\x20configured','no\x20session','QsOnU','449998nEqDiZ','MUkOT','sessionUpdatedAt','VVMws','\x20\x20Not\x20configured','jpduX'];_0x2016=function(){return _0x4161ff;};return _0x2016();}function _0x319f(_0x1ffeb2,_0x6f4d50){_0x1ffeb2=_0x1ffeb2-0x149;const _0x20162f=_0x2016();let _0x319fd7=_0x20162f[_0x1ffeb2];return _0x319fd7;}async function getInstalledSkills(){const _0x356b08=_0x57321c,_0x530495={'rXbTt':function(_0x23e9db,_0x1a081f,_0x276f1c){return _0x23e9db(_0x1a081f,_0x276f1c);},'cUKMr':function(_0x386ebc){return _0x386ebc();},'RDAlh':_0x356b08(0x180)},[_0x42cd4c,_0x152064]=await Promise['all']([_0x530495[_0x356b08(0x18e)](getSkillsFromDir,_0x530495['cUKMr'](getProjectSkillsDir),_0x530495[_0x356b08(0x186)]),_0x530495[_0x356b08(0x18e)](getSkillsFromDir,getUserSkillsDir(),'user')]);return{'project':_0x42cd4c,'user':_0x152064};}async function getEnvironments(){const _0x1e1ee7=_0x57321c,_0x5c9145={'YjJvg':function(_0x5e0fb0,_0x30700c){return _0x5e0fb0(_0x30700c);},'XsRZM':function(_0x502f83,_0x114cc8,_0x14a798){return _0x502f83(_0x114cc8,_0x14a798);},'SHXdU':_0x1e1ee7(0x16f),'twfeA':'auth.json','rMqJs':function(_0x373bea,_0x222f5d){return _0x373bea(_0x222f5d);},'sxRGC':_0x1e1ee7(0x1a1),'RAUyx':function(_0x543050){return _0x543050();},'YDVvx':function(_0x26ccbd){return _0x26ccbd();}},{envNames:_0x3fae65,activeEnv:_0x45e024}=await _0x5c9145['RAUyx'](getEnvNames),_0x472b8b=_0x5c9145['YDVvx'](getRangerDir);if(!existsSync(_0x472b8b))return{'envs':[],'activeEnv':null};const _0x26436c=_0x3fae65[_0x1e1ee7(0x190)](_0x1fc3ec=>{const _0x1f1fd4=_0x1e1ee7,_0x3e15d8=_0x5c9145['YjJvg'](getEnvDir,_0x1fc3ec),_0x609caf=_0x5c9145['XsRZM'](join,_0x3e15d8,_0x5c9145['SHXdU']),_0x481e4e=join(_0x3e15d8,_0x5c9145[_0x1f1fd4(0x176)]),_0x313895=join(_0x3e15d8,_0x1f1fd4(0x15c));return{'name':_0x1fc3ec,'settingsPath':_0x5c9145['rMqJs'](existsSync,_0x609caf)?_0x609caf:_0x5c9145[_0x1f1fd4(0x1b2)],'hasPlaintextAuth':existsSync(_0x481e4e),'hasEncryptedAuth':_0x5c9145[_0x1f1fd4(0x18b)](existsSync,_0x313895),'isActive':_0x1fc3ec===_0x45e024};});return{'envs':_0x26436c,'activeEnv':_0x45e024};}export async function status(){const _0x55fda6=_0x57321c,_0x591b54={'tzZVy':_0x55fda6(0x150),'QLAnF':function(_0x55f0ce,_0x4e08f1){return _0x55f0ce(_0x4e08f1);},'aYkfz':function(_0x174fac,_0x4e1a10,_0x1bbd5a){return _0x174fac(_0x4e1a10,_0x1bbd5a);},'IuCjl':function(_0x752c5b,_0x550de5){return _0x752c5b(_0x550de5);},'rEvgj':function(_0x3019c4){return _0x3019c4();},'YnmPY':function(_0x3dea20){return _0x3dea20();},'vwCcL':function(_0x2c7816,_0x42a11d){return _0x2c7816(_0x42a11d);},'AXtop':_0x55fda6(0x15e),'lrMZV':function(_0x8aa4aa,_0x2e322d){return _0x8aa4aa===_0x2e322d;},'MUkOT':'not_configured','KdEzL':_0x55fda6(0x1ad),'VfNsm':function(_0x13daad,_0x3d8ebe){return _0x13daad(_0x3d8ebe);},'UcEvu':_0x55fda6(0x163),'glFOx':_0x55fda6(0x178),'kTkQL':_0x55fda6(0x171),'cPqBS':function(_0x3cc8e8,_0x3c7cf8){return _0x3cc8e8(_0x3c7cf8);},'Abrwp':'ranger@trailhead','WYgnz':'\x0a---\x20Skills\x20---','fdaDS':function(_0x336cbb){return _0x336cbb();},'QsOnU':function(_0x10c704,_0x23dd34){return _0x10c704+_0x23dd34;},'UCnbF':'\x20\x20User-level:','EoVoE':function(_0x4bfabd,_0x4c6305){return _0x4bfabd(_0x4c6305);},'TRaBI':_0x55fda6(0x19c),'FAlnt':function(_0x1727ad,_0x40206d){return _0x1727ad>_0x40206d;},'jpduX':function(_0x1eebee,_0x44da6a){return _0x1eebee>_0x44da6a;},'EBvJx':function(_0x150214,_0x47c57a){return _0x150214===_0x47c57a;},'FdOib':_0x55fda6(0x197),'ynCph':function(_0x1a4cb8,_0x1807d0){return _0x1a4cb8(_0x1807d0);},'LJIBa':_0x55fda6(0x1a7),'KdCyy':'encrypted','QJDXL':function(_0x2101fe,_0x21e074){return _0x2101fe!==_0x21e074;},'AIAeu':function(_0xe7c1f1,_0x14da02,_0x537d69){return _0xe7c1f1(_0x14da02,_0x537d69);}};console['log'](_0x591b54[_0x55fda6(0x159)]);const _0x2e9407=process['cwd'](),_0x10c73a=getRangerDir();if(!_0x591b54[_0x55fda6(0x15f)](existsSync,_0x10c73a)){console[_0x55fda6(0x165)]('Root:\x20'+_0x591b54['aYkfz'](link,_0x2e9407,_0x591b54['QLAnF'](bold,_0x591b54[_0x55fda6(0x174)](basename,_0x2e9407)))),console[_0x55fda6(0x165)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x55fda6(0x165)]('Root:\x20'+link(_0x2e9407,bold(_0x591b54['IuCjl'](basename,_0x2e9407))));const _0x99d13a=_0x591b54[_0x55fda6(0x18d)](getCurrentVersion),_0x41ea09=_0x591b54['YnmPY'](getLatestVersion);if(_0x41ea09[_0x55fda6(0x1a0)]&&_0x41ea09[_0x55fda6(0x1a0)]!==_0x99d13a)console['log'](_0x55fda6(0x18f)+_0x99d13a+'\x20(latest:\x20'+_0x41ea09['version']+')'),console[_0x55fda6(0x165)](_0x55fda6(0x198));else _0x41ea09['version']?console[_0x55fda6(0x165)]('Version:\x20'+_0x99d13a+'\x20(up\x20to\x20date)'):console['log'](_0x55fda6(0x18f)+_0x99d13a);const _0x53b499=await getToken();if(_0x53b499){const _0x26f69d=await _0x591b54[_0x55fda6(0x14d)](getCurrentUser,_0x53b499);_0x26f69d[_0x55fda6(0x16b)]?console[_0x55fda6(0x165)](_0x55fda6(0x16e)+bold(_0x26f69d['user']['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x55fda6(0x165)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x55fda6(0x165)]('API\x20Token:\x20✗\x20Not\x20found'),console['log'](_0x55fda6(0x177));process[_0x55fda6(0x16d)][_0x55fda6(0x1a3)]&&(console[_0x55fda6(0x165)]('API\x20Environment:\x20'+_0x591b54['YnmPY'](getCurrentEnvironment)),console[_0x55fda6(0x165)]('API\x20URL:\x20'+getApiBaseUrl()));console[_0x55fda6(0x165)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x21a4a4=await _0x591b54[_0x55fda6(0x18d)](getOpencodePluginStatus);if(_0x21a4a4['status']===_0x591b54['AXtop'])console['log']('\x20\x20'+_0x591b54[_0x55fda6(0x15f)](bold,_0x55fda6(0x1b7))+_0x55fda6(0x1a6)),_0x21a4a4['details']&&console[_0x55fda6(0x165)]('\x20\x20'+_0x21a4a4[_0x55fda6(0x17e)]);else _0x591b54['lrMZV'](_0x21a4a4['status'],_0x591b54[_0x55fda6(0x1aa)])?(console[_0x55fda6(0x165)](_0x591b54['KdEzL']),_0x21a4a4['details']&&console['log']('\x20\x20'+_0x21a4a4[_0x55fda6(0x17e)]),console['log']('\x20\x20Run:\x20ranger\x20setup\x20--opencode')):console[_0x55fda6(0x165)](_0x55fda6(0x1af));console['log'](_0x55fda6(0x168));const _0x277245=await _0x591b54[_0x55fda6(0x1a2)](getPluginInfo,'ranger@trailhead');if(_0x277245){const _0x7067b8=_0x277245[_0x55fda6(0x153)]||_0x591b54['UcEvu'],_0x338efd=_0x277245[_0x55fda6(0x178)]?_0x591b54[_0x55fda6(0x184)]:_0x591b54['kTkQL'];console['log']('\x20\x20'+_0x591b54['cPqBS'](bold,_0x591b54['Abrwp'])+_0x55fda6(0x19e)+_0x7067b8+',\x20'+_0x338efd+')');}else console[_0x55fda6(0x165)]('\x20\x20Not\x20installed'),console[_0x55fda6(0x165)](_0x55fda6(0x183));console[_0x55fda6(0x165)](_0x591b54[_0x55fda6(0x15b)]);const {project:_0x529193,user:_0x570af5}=await _0x591b54[_0x55fda6(0x181)](getInstalledSkills),_0x712a0=_0x529193['filter'](_0x17d3f0=>RANGER_MANAGED_SKILLS['includes'](_0x17d3f0['name'])),_0x16d125=_0x570af5['filter'](_0x7cd5cf=>RANGER_MANAGED_SKILLS['includes'](_0x7cd5cf['name'])),_0x4811a6=_0x591b54[_0x55fda6(0x1a8)](_0x712a0['length'],_0x16d125['length']);if(_0x591b54['lrMZV'](_0x4811a6,0x0))console[_0x55fda6(0x165)](_0x55fda6(0x16c)),console[_0x55fda6(0x165)](_0x55fda6(0x157));else{if(_0x712a0[_0x55fda6(0x14c)]>0x0){console['log'](_0x55fda6(0x162));for(const _0x262572 of _0x712a0){console[_0x55fda6(0x165)](_0x55fda6(0x194)+_0x591b54[_0x55fda6(0x14d)](bold,_0x262572[_0x55fda6(0x170)])+':\x20'+link(_0x262572[_0x55fda6(0x19f)],basename(_0x262572[_0x55fda6(0x19f)])));}}if(_0x16d125['length']>0x0){console['log'](_0x591b54['UCnbF']);for(const _0x86ffbd of _0x16d125){console[_0x55fda6(0x165)](_0x55fda6(0x194)+bold(_0x86ffbd['displayName'])+':\x20'+link(_0x86ffbd['path'],_0x591b54[_0x55fda6(0x154)](basename,_0x86ffbd['path'])));}}}console['log'](_0x591b54['TRaBI']);const {envs:_0x571703,activeEnv:_0x1c785e}=await getEnvironments();let _0x5d4d68=[];if(_0x53b499)try{_0x5d4d68=await listCloudProfiles();}catch{}const _0x21490a=_0x591b54['QsOnU'](_0x571703[_0x55fda6(0x14c)],_0x5d4d68['length']);if(_0x591b54[_0x55fda6(0x185)](_0x21490a,0x0))console[_0x55fda6(0x165)]('No\x20profiles\x20configured'),console['log'](_0x55fda6(0x191));else{if(_0x591b54['FAlnt'](_0x21490a,0x5)){const _0x5fb437=[];_0x5d4d68[_0x55fda6(0x14c)]>0x0&&_0x5fb437['push'](_0x5d4d68[_0x55fda6(0x14c)]+'\x20cloud'),_0x591b54[_0x55fda6(0x1ae)](_0x571703[_0x55fda6(0x14c)],0x0)&&_0x5fb437['push'](_0x571703['length']+'\x20local'),console['log'](_0x21490a+'\x20profiles\x20configured\x20('+_0x5fb437[_0x55fda6(0x1b5)](',\x20')+')'),_0x1c785e&&console['log'](_0x55fda6(0x1b3)+bold(_0x1c785e)),console['log'](_0x55fda6(0x155));}else{for(const _0x441176 of _0x5d4d68){const _0x1eafb8=_0x591b54['EBvJx'](_0x441176[_0x55fda6(0x19a)],_0x1c785e)?_0x591b54[_0x55fda6(0x15d)]:'';console['log']('\x20\x20'+_0x591b54[_0x55fda6(0x17c)](bold,_0x441176['name'])+_0x55fda6(0x199)+_0x1eafb8);const _0x1290d0=_0x441176[_0x55fda6(0x1ab)]?_0x55fda6(0x18a)+_0x441176['sessionUpdatedAt']+')':_0x591b54[_0x55fda6(0x179)];console['log'](_0x55fda6(0x17f)+_0x1290d0);}const _0x41c059=new Set(_0x5d4d68['map'](_0x4b46d8=>_0x4b46d8[_0x55fda6(0x19a)]));for(const _0x3362fa of _0x571703){if(_0x41c059[_0x55fda6(0x1b4)](_0x3362fa[_0x55fda6(0x19a)]))continue;const _0x1cd9f5=_0x3362fa['isActive']?'\x20(active)':'',_0x251da9=_0x3362fa['hasEncryptedAuth']?_0x591b54['KdCyy']:_0x3362fa[_0x55fda6(0x189)]?_0x55fda6(0x17d):_0x55fda6(0x164);console['log']('\x20\x20'+bold(_0x3362fa[_0x55fda6(0x19a)])+'\x20[local]'+_0x1cd9f5),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x251da9),_0x591b54['QJDXL'](_0x3362fa[_0x55fda6(0x14a)],_0x55fda6(0x1a1))&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x591b54['AIAeu'](link,_0x3362fa['settingsPath'],basename(_0x3362fa[_0x55fda6(0x14a)])));}if(!_0x1c785e){console[_0x55fda6(0x165)]('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x9769d7=[..._0x5d4d68[_0x55fda6(0x190)](_0x58a840=>_0x58a840[_0x55fda6(0x19a)]),..._0x571703['filter'](_0x122bd5=>!_0x41c059[_0x55fda6(0x1b4)](_0x122bd5['name']))['map'](_0x7652be=>_0x7652be[_0x55fda6(0x19a)])];console[_0x55fda6(0x165)](_0x55fda6(0x195)+_0x9769d7[_0x55fda6(0x1b5)](',\x20')+')');}}}console['log']('');}
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']('');}