@ranger-testing/ranger-cli 3.1.5 → 3.1.6-alpha.4de822b-51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/organizationEnvApi.js +1 -1
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -1
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/rangerwrightCli.js +1 -1
  67. package/build/commands/utils/resolveProfileContext.js +1 -1
  68. package/build/commands/utils/resolveProfileUrl.js +1 -1
  69. package/build/commands/utils/retry.js +1 -1
  70. package/build/commands/utils/scenarioOriginCheck.js +1 -1
  71. package/build/commands/utils/sessionCache.js +1 -1
  72. package/build/commands/utils/settings.js +1 -1
  73. package/build/commands/utils/skillContent.js +1 -1
  74. package/build/commands/utils/skills.js +1 -1
  75. package/build/commands/utils/stitchWebmFiles.js +1 -1
  76. package/build/commands/utils/telemetry.js +1 -1
  77. package/build/commands/utils/tokenRefresh.js +1 -1
  78. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  79. package/build/commands/utils/tunnelClient.js +1 -1
  80. package/build/commands/utils/userApi.js +1 -1
  81. package/build/commands/utils/version.js +1 -1
  82. package/build/commands/verifyFeature.js +1 -1
  83. package/build/commands/verifyFeatureCli.js +1 -1
  84. package/build/commands/verifyFeatureNovaCli.js +1 -1
  85. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  86. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x5126b3,_0x567f3e){const _0x4810a2=_0x3d4e,_0x52ecf3=_0x5126b3();while(!![]){try{const _0x17ed43=parseInt(_0x4810a2(0x1be))/0x1+parseInt(_0x4810a2(0x1c2))/0x2+parseInt(_0x4810a2(0x1c1))/0x3+parseInt(_0x4810a2(0x1ca))/0x4+parseInt(_0x4810a2(0x1cb))/0x5*(-parseInt(_0x4810a2(0x1c6))/0x6)+-parseInt(_0x4810a2(0x1c9))/0x7+parseInt(_0x4810a2(0x1c8))/0x8*(parseInt(_0x4810a2(0x1c7))/0x9);if(_0x17ed43===_0x567f3e)break;else _0x52ecf3['push'](_0x52ecf3['shift']());}catch(_0x54b794){_0x52ecf3['push'](_0x52ecf3['shift']());}}}(_0x3fcb,0x24275));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x3fcb(){const _0x156c78=['log','\x0a✅\x20Logged\x20in\x20to\x20','user','13754fpXqMT','success','Login\x20failed:\x20','63882BpVJLb','312964ovqzez','bcSEY','message','\x0a✅\x20API\x20key\x20stored\x20successfully','118308oMiGzM','4582179ylLdqj','8GOwhOj','1949402UcCbyg','7848HBXBqg','70igvqNB','organizationName'];_0x3fcb=function(){return _0x156c78;};return _0x3fcb();}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';import{isInteractive}from'./utils/cloudProfileSession.js';function _0x3d4e(_0x5e5588,_0x35c9f7){_0x5e5588=_0x5e5588-0x1bd;const _0x3fcb73=_0x3fcb();let _0x3d4ef1=_0x3fcb73[_0x5e5588];return _0x3d4ef1;}export async function login(){const _0x165506=_0x3d4e,_0x58b932={'bcSEY':function(_0x1d0892){return _0x1d0892();},'zoAVC':function(_0x3070b5,_0x3a1ddd){return _0x3070b5(_0x3a1ddd);}},_0x2e7425=await _0x58b932[_0x165506(0x1c3)](getMcpAuthOrigin);if(_0x2e7425){console[_0x165506(0x1cd)]('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await mcpBootstrap();return;}if(!isInteractive())throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x6af1e5=await runDeviceAuthFlow(),_0xffa51e=await _0x58b932['zoAVC'](getCurrentUser,_0x6af1e5);_0xffa51e[_0x165506(0x1bf)]?console['log'](_0x165506(0x1ce)+_0xffa51e[_0x165506(0x1bd)][_0x165506(0x1cc)]):console[_0x165506(0x1cd)](_0x165506(0x1c5));}catch(_0x57e2d9){throw new Error(_0x165506(0x1c0)+(_0x57e2d9 instanceof Error?_0x57e2d9[_0x165506(0x1c4)]:_0x57e2d9));}}
1
+ (function(_0x2a2346,_0x1e9d24){const _0x2b7ad4=_0x19f3,_0x24a3db=_0x2a2346();while(!![]){try{const _0x4b9379=parseInt(_0x2b7ad4(0x1bf))/0x1+parseInt(_0x2b7ad4(0x1be))/0x2+-parseInt(_0x2b7ad4(0x1ca))/0x3+parseInt(_0x2b7ad4(0x1c6))/0x4+-parseInt(_0x2b7ad4(0x1cc))/0x5*(parseInt(_0x2b7ad4(0x1bd))/0x6)+parseInt(_0x2b7ad4(0x1c5))/0x7*(parseInt(_0x2b7ad4(0x1c3))/0x8)+-parseInt(_0x2b7ad4(0x1c2))/0x9;if(_0x4b9379===_0x1e9d24)break;else _0x24a3db['push'](_0x24a3db['shift']());}catch(_0x2281f9){_0x24a3db['push'](_0x24a3db['shift']());}}}(_0x3769,0xcb619));function _0x3769(){const _0x360a9b=['Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','Re-authenticating\x20via\x20MCP\x20bootstrap...','IqKQL','3606465HJvRiw','\x0a✅\x20Logged\x20in\x20to\x20','10bHikZh','YYnfR','NgRre','message','747420qzhDWp','942204sxbCiK','1018066OrCKvF','SJpyv','log','13182318khLKQI','16HWotnv','qUDpQ','5074454cZvnPU','3240136omLImA'];_0x3769=function(){return _0x360a9b;};return _0x3769();}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x19f3(_0x29c30f,_0x1cb23b){_0x29c30f=_0x29c30f-0x1bb;const _0x3769e4=_0x3769();let _0x19f3b1=_0x3769e4[_0x29c30f];return _0x19f3b1;}import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0xe8b9ff=_0x19f3,_0x4afbff={'qUDpQ':function(_0x50cdb1){return _0x50cdb1();},'SDruq':_0xe8b9ff(0x1c8),'SJpyv':function(_0x5f2257){return _0x5f2257();},'YYnfR':function(_0x3cdb10){return _0x3cdb10();},'NgRre':function(_0x24d0db,_0x2c484c){return _0x24d0db(_0x2c484c);},'IqKQL':function(_0x3c0439,_0x553e0d){return _0x3c0439 instanceof _0x553e0d;}},_0x162cee=await _0x4afbff[_0xe8b9ff(0x1c4)](getMcpAuthOrigin);if(_0x162cee){console['log'](_0x4afbff['SDruq']),await _0x4afbff[_0xe8b9ff(0x1c0)](mcpBootstrap);return;}if(!_0x4afbff[_0xe8b9ff(0x1cd)](isInteractive))throw new Error(_0xe8b9ff(0x1c7));try{const _0x58f3b2=await _0x4afbff[_0xe8b9ff(0x1c4)](runDeviceAuthFlow),_0x1cf4f0=await _0x4afbff[_0xe8b9ff(0x1bb)](getCurrentUser,_0x58f3b2);_0x1cf4f0['success']?console['log'](_0xe8b9ff(0x1cb)+_0x1cf4f0['user']['organizationName']):console[_0xe8b9ff(0x1c1)]('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x337d84){throw new Error('Login\x20failed:\x20'+(_0x4afbff[_0xe8b9ff(0x1c9)](_0x337d84,Error)?_0x337d84[_0xe8b9ff(0x1bc)]:_0x337d84));}}
@@ -1 +1 @@
1
- (function(_0x46d098,_0x254e96){const _0x14e9d8=_0x5647,_0x240d8a=_0x46d098();while(!![]){try{const _0x34c28e=parseInt(_0x14e9d8(0x225))/0x1*(parseInt(_0x14e9d8(0x248))/0x2)+-parseInt(_0x14e9d8(0x1f2))/0x3*(parseInt(_0x14e9d8(0x22e))/0x4)+-parseInt(_0x14e9d8(0x1d9))/0x5*(parseInt(_0x14e9d8(0x213))/0x6)+parseInt(_0x14e9d8(0x201))/0x7*(parseInt(_0x14e9d8(0x1c0))/0x8)+parseInt(_0x14e9d8(0x1dd))/0x9*(parseInt(_0x14e9d8(0x22d))/0xa)+-parseInt(_0x14e9d8(0x1cd))/0xb*(parseInt(_0x14e9d8(0x1f5))/0xc)+-parseInt(_0x14e9d8(0x1db))/0xd*(-parseInt(_0x14e9d8(0x1c4))/0xe);if(_0x34c28e===_0x254e96)break;else _0x240d8a['push'](_0x240d8a['shift']());}catch(_0x265c57){_0x240d8a['push'](_0x240d8a['shift']());}}}(_0x5364,0x9f617));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';function _0x5364(){const _0x5ac4f0=['pathname','redirect_uri','parse','pXXbD','DaBTa','txSYj','QIVbC','\x0aUnexpected\x20response\x20structure:','authorization_endpoint','360AkjktY','set','write','Not\x20found','2219238CSbTxQ','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','slice','error_description','proxied','HTTP\x20','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','QPfGW','qjrrT','11dvYGqd','clientSecret','text','Requesting\x20CLI\x20token...','HIZme','POST','resource','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','Bkhis','error','OAuth\x20error:\x20','then','20Jtvxzl','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','65QIgZhG','text/html','4383aRmZDo','message','\x0aToken\x20written\x20to\x20','platform','client_id','text/event-stream','DDbSz','status','searchParams','hSSPD','token','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','registration_endpoint','Client\x20registration\x20failed:\x20','\x20done','ijSMB','closeAllConnections','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','result','json','UGrJz','111219tZikRs','xdg-open','digest','772644AoDezZ','client_secret','authorization_code','code_challenge_method','iIImR','<html><body><h2>Authentication\x20failed</h2><p>','ChBiQ','Nfpsa','start','notifications/initialized','win32','Yewqr','4207jLvMMk','base64url','FQKoS','2.0','trim','refresh_token','stringify','stdout','lrccH','YXcRq','http://localhost:','aKzgp','Exchanging\x20authorization\x20code...','data:','isError','YChfA','code','Token\x20exchange\x20failed:\x20','178122PcnWov','content','now','get_cli_token\x20failed:\x20','response_type','startsWith','match','url','UrqRO','KTSUs','.ranger','lISsr','toString','application/json','/callback','hex','split','utf-8','6344RZmijs','end','clientId','DJKkF','pUaln','bdNcQ','RWbGX','Registering\x20OAuth\x20client...','10370IqpWdV','76WnUcQP','content-type','auth-origin.txt','qhwOK','token_endpoint','get','log','LruHZ','origin','DlAge','sPHDZ','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','hAKgY','Bearer\x20','mOvxM','1.0.0','type','length','ZoJwd','darwin','NXSAO','127.0.0.1','writeHead','Server\x20returned\x20error:\x20','HUgjI','CqoFq','68eOUGyl','ranger-cli','XTesG','RXglB','vMVsH'];_0x5364=function(){return _0x5ac4f0;};return _0x5364();}import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x1f2ee2=_0x5647,_0x3b4495={'hSSPD':_0x1f2ee2(0x224),'qhwOK':function(_0x3a4903,_0x3920f1){return _0x3a4903||_0x3920f1;}};try{const _0x4d1209=(await readFile(AUTH_ORIGIN_PATH,_0x3b4495[_0x1f2ee2(0x1e6)]))['trim']();return _0x3b4495[_0x1f2ee2(0x231)](_0x4d1209,null);}catch{return null;}}export async function mcpBootstrap(){const _0x41aafe=_0x5647,_0x8e1e1d={'lrccH':function(_0x133b23,_0x3c936d){return _0x133b23(_0x3c936d);},'revRL':function(_0x3c12eb,_0x492dd4){return _0x3c12eb===_0x492dd4;},'DAjdr':_0x41aafe(0x1d4),'pXXbD':_0x41aafe(0x1e8)},_0x4c200b=getMcpAuthUrl();currentOrigin=_0x4c200b;const _0x559244=process['stdout']['isTTY']??![];console[_0x41aafe(0x234)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x4c200b+'\x0a');const _0x257adb=await _0x8e1e1d[_0x41aafe(0x209)](tryUnauthenticated,_0x4c200b);let _0x842b2f=null;if(_0x8e1e1d['revRL'](_0x257adb,'proxied'))_0x842b2f='';else{_0x842b2f=await loadCachedToken();if(!_0x842b2f){if(!_0x559244)throw new Error(_0x8e1e1d['DAjdr']+_0x8e1e1d[_0x41aafe(0x1ba)]);_0x842b2f=await _0x8e1e1d[_0x41aafe(0x209)](oauthFlow,_0x4c200b);}}await callGetCliToken(_0x4c200b,_0x842b2f);}async function tryUnauthenticated(_0x297d32){const _0x263bfd=_0x5647,_0x4b9a24={'jcGcs':'POST','SfnXB':'application/json,\x20text/event-stream','Nfpsa':'2.0','qjrrT':'2025-03-26','mOvxM':_0x263bfd(0x249),'YOMTr':_0x263bfd(0x23d),'VocqA':_0x263bfd(0x1c8)},_0x5d4f05=await fetch(_0x297d32,{'method':_0x4b9a24['jcGcs'],'headers':{'Content-Type':_0x263bfd(0x220),'Accept':_0x4b9a24['SfnXB']},'body':JSON[_0x263bfd(0x207)]({'jsonrpc':_0x4b9a24[_0x263bfd(0x1fc)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x4b9a24[_0x263bfd(0x1cc)],'capabilities':{},'clientInfo':{'name':_0x4b9a24[_0x263bfd(0x23c)],'version':_0x4b9a24['YOMTr']}}})});if(_0x5d4f05['ok'])return await _0x5d4f05[_0x263bfd(0x1cf)](),_0x4b9a24['VocqA'];if(_0x5d4f05['status']===0x191)return await _0x5d4f05['text'](),'needs-oauth';const _0x1d9382=await _0x5d4f05[_0x263bfd(0x1cf)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x5d4f05[_0x263bfd(0x1e4)]+':\x20'+_0x1d9382);}class OAuthTimeoutError extends Error{constructor(_0x318dc7){const _0x265dee={'fiBtG':'OAuthTimeoutError'};super(_0x318dc7),this['name']=_0x265dee['fiBtG'];}}async function oauthFlow(_0x377f6d){const _0x5b4152=_0x5647,_0x5c7106={'RXglB':function(_0x1c23c5,_0x132fd7){return _0x1c23c5(_0x132fd7);},'QPfGW':function(_0x3895a5,_0x2dd7d3){return _0x3895a5 instanceof _0x2dd7d3;},'FQKoS':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','lSCou':function(_0x8b173b){return _0x8b173b();}};try{return await _0x5c7106[_0x5b4152(0x24b)](oauthFlowAttempt,_0x377f6d);}catch(_0x145ba0){if(_0x5c7106[_0x5b4152(0x1cb)](_0x145ba0,OAuthTimeoutError)&&await loadCachedClient())return console[_0x5b4152(0x234)](_0x5c7106[_0x5b4152(0x203)]),await _0x5c7106['lSCou'](clearCachedClient),await _0x5c7106['RXglB'](oauthFlowAttempt,_0x377f6d);throw _0x145ba0;}}async function oauthFlowAttempt(_0x472187){const _0xbc54b3=_0x5647,_0x2d1a54={'NPyAE':'Discovering\x20authorization\x20server...','DJKkF':function(_0x28414c,_0x1d2d3f){return _0x28414c(_0x1d2d3f);},'Nubfb':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','lISsr':function(_0x48ef95,_0x5a92a4){return _0x48ef95(_0x5a92a4);},'KTSUs':function(_0x2cc0dc,_0x1521e1,_0x56f715){return _0x2cc0dc(_0x1521e1,_0x56f715);},'iIImR':'Ranger\x20CLI','DaBTa':_0xbc54b3(0x211),'aKzgp':'\x20done','ahpxH':_0xbc54b3(0x222),'HIZme':_0xbc54b3(0x217),'CqoFq':_0xbc54b3(0x1e1),'RWbGX':'code_challenge','DlAge':'S256','bFuln':'resource','ofwZQ':'authorization_code','rhGoN':_0xbc54b3(0x1f6),'Yewqr':'POST'},_0x3c75bd=_0x472187['replace'](/\/mcp$/,'');process['stdout'][_0xbc54b3(0x1c2)](_0x2d1a54['NPyAE']);const _0x56cc65=await _0x2d1a54[_0xbc54b3(0x228)](fetch,_0x3c75bd+'/.well-known/oauth-protected-resource');if(!_0x56cc65['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x32ef9d=await _0x56cc65['json'](),_0x174b89=_0x32ef9d['authorization_servers']?.[0x0];if(!_0x174b89)throw new Error(_0x2d1a54['Nubfb']);console[_0xbc54b3(0x234)]('\x20'+_0x174b89);const _0x10d659=await _0x2d1a54[_0xbc54b3(0x21e)](fetchAuthServerMetadata,_0x174b89);let _0x5cc0e2,_0x15ce2f;const _0xbeb0a4=await loadCachedClient();if(_0xbeb0a4)_0x5cc0e2=_0xbeb0a4[_0xbc54b3(0x227)],_0x15ce2f=_0xbeb0a4[_0xbc54b3(0x1ce)];else{if(_0x10d659[_0xbc54b3(0x1e9)]){process[_0xbc54b3(0x208)][_0xbc54b3(0x1c2)](_0xbc54b3(0x22c));const _0x42e410=await _0x2d1a54[_0xbc54b3(0x21c)](fetch,_0x10d659['registration_endpoint'],{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'client_name':_0x2d1a54[_0xbc54b3(0x1f9)],'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0xbc54b3(0x221)],'grant_types':[_0xbc54b3(0x1f7),_0xbc54b3(0x206)],'response_types':[_0x2d1a54[_0xbc54b3(0x1bb)]],'token_endpoint_auth_method':'none'})});if(!_0x42e410['ok']){const _0x4cd45b=await _0x42e410[_0xbc54b3(0x1cf)]();throw new Error(_0xbc54b3(0x1ea)+_0x4cd45b);}const _0x50dfaf=await _0x42e410[_0xbc54b3(0x1f0)]();_0x5cc0e2=_0x50dfaf['client_id'],_0x15ce2f=_0x50dfaf['client_secret'],await _0x2d1a54['KTSUs'](saveCachedClient,_0x5cc0e2,_0x15ce2f),console['log'](_0x2d1a54[_0xbc54b3(0x20c)]);}else throw new Error(_0xbc54b3(0x1ee));}const _0x29b93d=randomBytes(0x20)['toString'](_0xbc54b3(0x202)),_0x376fd1=createHash('sha256')['update'](_0x29b93d)[_0xbc54b3(0x1f4)]('base64url'),_0x568791=randomBytes(0x10)['toString'](_0x2d1a54['ahpxH']),_0x17b5e3=new URL(_0x10d659[_0xbc54b3(0x1bf)]);_0x17b5e3[_0xbc54b3(0x1e5)][_0xbc54b3(0x1c1)](_0x2d1a54[_0xbc54b3(0x1d1)],_0xbc54b3(0x211)),_0x17b5e3['searchParams']['set'](_0x2d1a54[_0xbc54b3(0x247)],_0x5cc0e2),_0x17b5e3['searchParams'][_0xbc54b3(0x1c1)](_0xbc54b3(0x24e),_0xbc54b3(0x20b)+CALLBACK_PORT+_0xbc54b3(0x221)),_0x17b5e3['searchParams'][_0xbc54b3(0x1c1)](_0x2d1a54[_0xbc54b3(0x22b)],_0x376fd1),_0x17b5e3[_0xbc54b3(0x1e5)][_0xbc54b3(0x1c1)](_0xbc54b3(0x1f8),_0x2d1a54[_0xbc54b3(0x237)]),_0x17b5e3[_0xbc54b3(0x1e5)]['set']('state',_0x568791);_0x32ef9d['resource']&&_0x17b5e3[_0xbc54b3(0x1e5)]['set'](_0x2d1a54['bFuln'],_0x32ef9d[_0xbc54b3(0x1d3)]);console[_0xbc54b3(0x234)]('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0xbc54b3(0x234)](_0xbc54b3(0x1da)+_0x17b5e3[_0xbc54b3(0x21f)]()+'\x0a'),await openBrowser(_0x17b5e3[_0xbc54b3(0x21f)]());const _0x5c6691=await waitForCallback(_0x568791);process['stdout']['write'](_0xbc54b3(0x20d));const _0x3c2d27=new URLSearchParams({'grant_type':_0x2d1a54['ofwZQ'],'code':_0x5c6691,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x5cc0e2,'code_verifier':_0x29b93d});_0x15ce2f&&_0x3c2d27['set'](_0x2d1a54['rhGoN'],_0x15ce2f);_0x32ef9d['resource']&&_0x3c2d27[_0xbc54b3(0x1c1)](_0xbc54b3(0x1d3),_0x32ef9d['resource']);const _0x46f9c0=await fetch(_0x10d659[_0xbc54b3(0x232)],{'method':_0x2d1a54[_0xbc54b3(0x200)],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x3c2d27});if(!_0x46f9c0['ok']){const _0x463c8d=await _0x46f9c0['text']();throw new Error(_0xbc54b3(0x212)+_0x463c8d);}const _0x5530bd=await _0x46f9c0[_0xbc54b3(0x1f0)]();return console['log'](_0xbc54b3(0x1eb)),await saveCachedToken(_0x5530bd['access_token'],_0x5530bd[_0xbc54b3(0x206)],_0x5530bd['expires_in']),_0x5530bd['access_token'];}async function callGetCliToken(_0x241548,_0x294771){const _0x446842=_0x5647,_0x28cae0={'YChfA':function(_0x4480d2,_0x32a58c,_0x1f0650){return _0x4480d2(_0x32a58c,_0x1f0650);},'UUwBx':'POST','iCOxS':function(_0xc38829,_0x1a1a00){return _0xc38829(_0x1a1a00);},'DDbSz':_0x446842(0x220),'hVJPi':'application/json,\x20text/event-stream','cpveD':function(_0x241df7,_0x3f2c44){return _0x241df7(_0x3f2c44);},'NXSAO':'\x20done','UGrJz':_0x446842(0x204),'ChBiQ':function(_0x2da46f){return _0x2da46f();},'olEGw':function(_0x599495,_0x339e65,_0x2707c9,_0x3b4867){return _0x599495(_0x339e65,_0x2707c9,_0x3b4867);},'QIVbC':function(_0x1c2333,_0x49c9f2,_0x3df947){return _0x1c2333(_0x49c9f2,_0x3df947);},'GGKnJ':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x1de6f8={'Content-Type':_0x28cae0[_0x446842(0x1e3)],'Accept':_0x28cae0['hVJPi']};_0x294771&&(_0x1de6f8['Authorization']=_0x446842(0x23b)+_0x294771);const _0x17c5bc=async _0xbb9671=>{const _0xcd5538=_0x446842,_0x120f82=await _0x28cae0[_0xcd5538(0x210)](fetch,_0x241548,{'method':_0x28cae0['UUwBx'],'headers':_0x1de6f8,'body':JSON['stringify'](_0xbb9671)});if(!_0x120f82['ok']){const _0x4bc076=await _0x120f82['text']();throw new Error(_0xcd5538(0x1c9)+_0x120f82['status']+':\x20'+_0x4bc076);}return _0x28cae0['iCOxS'](parseResponse,_0x120f82);};process[_0x446842(0x208)][_0x446842(0x1c2)]('Initializing\x20MCP\x20session...');const _0x53cde7=await _0x28cae0['cpveD'](_0x17c5bc,{'jsonrpc':_0x446842(0x204),'id':0x1,'method':'initialize','params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x446842(0x249),'version':_0x446842(0x23d)}}});if(_0x53cde7['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x53cde7['error']['message']??JSON['stringify'](_0x53cde7[_0x446842(0x1d6)])));console[_0x446842(0x234)](_0x28cae0[_0x446842(0x242)]),await _0x28cae0[_0x446842(0x210)](fetch,_0x241548,{'method':_0x446842(0x1d2),'headers':_0x1de6f8,'body':JSON['stringify']({'jsonrpc':_0x446842(0x204),'method':_0x446842(0x1fe)})})[_0x446842(0x1d8)](_0x4000d0=>_0x4000d0[_0x446842(0x1cf)]()),process['stdout'][_0x446842(0x1c2)](_0x446842(0x1d0));const _0x5643da=await _0x28cae0['cpveD'](_0x17c5bc,{'jsonrpc':_0x28cae0[_0x446842(0x1f1)],'id':0x2,'method':'tools/call','params':{'name':'get_cli_token','arguments':{}}});if(_0x5643da['error'])throw new Error(_0x446842(0x216)+(_0x5643da[_0x446842(0x1d6)][_0x446842(0x1de)]??JSON['stringify'](_0x5643da[_0x446842(0x1d6)])));console['log'](_0x28cae0['NXSAO']);const _0x264240=_0x28cae0['iCOxS'](extractToken,_0x5643da['result']);if(!_0x264240){console[_0x446842(0x1d6)](_0x446842(0x1be)),console['error'](JSON[_0x446842(0x207)](_0x5643da[_0x446842(0x1ef)],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x19df59=join(_0x28cae0[_0x446842(0x1fb)](homedir),_0x446842(0x21d)),_0x1599ef=join(_0x19df59,'refresh.txt');await mkdir(_0x19df59,{'recursive':!![]}),await _0x28cae0['olEGw'](writeFile,_0x1599ef,_0x264240,{'mode':0x180}),await writeFile(_0x28cae0[_0x446842(0x1bd)](join,_0x19df59,_0x446842(0x230)),_0x241548,{'mode':0x180}),console[_0x446842(0x234)](_0x446842(0x1df)+_0x1599ef),console[_0x446842(0x234)](_0x28cae0['GGKnJ']);}function _0x5647(_0x583971,_0x38b926){_0x583971=_0x583971-0x1b9;const _0x5364e4=_0x5364();let _0x5647e1=_0x5364e4[_0x583971];return _0x5647e1;}async function fetchAuthServerMetadata(_0x3c7f90){const _0x2217f7={'uHcDE':function(_0x5089bf,_0x315172){return _0x5089bf(_0x315172);}},_0x115c13=_0x3c7f90+'/.well-known/oauth-authorization-server',_0x4e45ef=await _0x2217f7['uHcDE'](fetch,_0x115c13);if(!_0x4e45ef['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x115c13+':\x20'+_0x4e45ef['status']);return _0x4e45ef['json']();}function waitForCallback(_0x2ec856){const _0x349825=_0x5647,_0x2e65c1={'OZgui':function(_0x3e4024){return _0x3e4024();},'VBMPs':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','ijSMB':function(_0x44443b,_0x19e038){return _0x44443b!==_0x19e038;},'EJBpk':_0x349825(0x1c3),'UrqRO':_0x349825(0x1dc),'HoeYZ':_0x349825(0x1c5),'bdNcQ':function(_0x11c2bf,_0x158815,_0x4acbc8){return _0x11c2bf(_0x158815,_0x4acbc8);},'ZypIk':function(_0x36664b,_0x26dbe7){return _0x36664b(_0x26dbe7);},'YXcRq':_0x349825(0x243)};return new Promise((_0x58552a,_0x16a058)=>{const _0x36170a=_0x349825,_0xf094c1={'ZoJwd':function(_0x370e28){return _0x2e65c1['OZgui'](_0x370e28);},'LruHZ':_0x2e65c1['VBMPs'],'VoTUc':function(_0x35ef88,_0x58943c){const _0x3bd7d3=_0x5647;return _0x2e65c1[_0x3bd7d3(0x1ec)](_0x35ef88,_0x58943c);},'FDskN':_0x36170a(0x221),'HUgjI':_0x2e65c1['EJBpk'],'JELhL':'error','IGoit':_0x2e65c1[_0x36170a(0x21b)],'PBLJk':_0x2e65c1['HoeYZ']},_0x52b730=()=>{const _0x18dafb=_0x36170a;_0x81f6ae[_0x18dafb(0x1ed)](),_0x81f6ae['close']();},_0x5e2b99=_0x2e65c1[_0x36170a(0x22a)](setTimeout,()=>{const _0x3b55f9=_0x36170a;_0xf094c1[_0x3b55f9(0x240)](_0x52b730),_0x16a058(new OAuthTimeoutError(_0xf094c1[_0x3b55f9(0x235)]));},0x1d4c0),_0x81f6ae=_0x2e65c1['ZypIk'](createServer,(_0xb273d8,_0x1c3815)=>{const _0x53b978=_0x36170a,_0x26cf8c=new URL(_0xb273d8[_0x53b978(0x21a)]??'/','http://localhost:'+CALLBACK_PORT);if(_0xf094c1['VoTUc'](_0x26cf8c[_0x53b978(0x24d)],_0xf094c1['FDskN'])){_0x1c3815[_0x53b978(0x244)](0x194),_0x1c3815[_0x53b978(0x226)](_0xf094c1[_0x53b978(0x246)]);return;}const _0x3f5cc8=_0x26cf8c[_0x53b978(0x1e5)][_0x53b978(0x233)](_0x53b978(0x211)),_0x4b68f=_0x26cf8c[_0x53b978(0x1e5)]['get']('state'),_0x429ade=_0x26cf8c[_0x53b978(0x1e5)]['get'](_0xf094c1['JELhL']);if(_0x429ade){const _0x3e6ebb=_0x26cf8c[_0x53b978(0x1e5)][_0x53b978(0x233)](_0x53b978(0x1c7))??_0x429ade;_0x1c3815[_0x53b978(0x244)](0xc8,{'Content-Type':'text/html'}),_0x1c3815['end'](_0x53b978(0x1fa)+_0x3e6ebb+_0x53b978(0x239)),clearTimeout(_0x5e2b99),_0xf094c1['ZoJwd'](_0x52b730),_0x16a058(new Error(_0x53b978(0x1d7)+_0x3e6ebb));return;}if(!_0x3f5cc8||_0x4b68f!==_0x2ec856){_0x1c3815[_0x53b978(0x244)](0x190,{'Content-Type':_0x53b978(0x1dc)}),_0x1c3815[_0x53b978(0x226)](_0x53b978(0x1ca));return;}_0x1c3815['writeHead'](0xc8,{'Content-Type':_0xf094c1['IGoit']}),_0x1c3815[_0x53b978(0x226)](_0xf094c1['PBLJk']),clearTimeout(_0x5e2b99),_0xf094c1['ZoJwd'](_0x52b730),_0x58552a(_0x3f5cc8);});_0x81f6ae['listen'](CALLBACK_PORT,_0x2e65c1[_0x36170a(0x20a)]);});}async function openBrowser(_0x1003fa){const _0x405d19=_0x5647,_0x891325={'pgqRV':'open','hAKgY':_0x405d19(0x1ff),'Bkhis':_0x405d19(0x1fd),'sPHDZ':function(_0x5066a6,_0x434137){return _0x5066a6(_0x434137);}},_0x13e369=process[_0x405d19(0x1e0)]===_0x405d19(0x241)?_0x891325['pgqRV']:process['platform']===_0x891325[_0x405d19(0x23a)]?_0x891325[_0x405d19(0x1d5)]:_0x405d19(0x1f3);_0x891325[_0x405d19(0x238)](exec,_0x13e369+'\x20\x22'+_0x1003fa+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x1e1473=_0x5647,_0x1680a9={'XTesG':function(_0x26d2b7,_0x3acbd7){return _0x26d2b7!==_0x3acbd7;}};try{const _0x5bee68=JSON[_0x1e1473(0x1b9)](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x5bee68[_0x1e1473(0x236)]&&_0x1680a9[_0x1e1473(0x24a)](_0x5bee68['origin'],currentOrigin))return null;if(_0x5bee68['expiresAt']&&Date['now']()>_0x5bee68['expiresAt'])return null;return _0x5bee68['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x4fcaf6,_0x31a220,_0x545947){const _0x2a1d3b=_0x5647,_0x53b7a4={'hbdcD':function(_0x425451){return _0x425451();},'vMVsH':function(_0x25fda3,_0x332c2e){return _0x25fda3+_0x332c2e;}},_0x4e64e0=await _0x53b7a4['hbdcD'](loadCachedData),_0x5b935e={..._0x4e64e0,'origin':currentOrigin,'accessToken':_0x4fcaf6,'refreshToken':_0x31a220??_0x4e64e0?.['refreshToken'],'expiresAt':_0x545947?_0x53b7a4[_0x2a1d3b(0x24c)](Date[_0x2a1d3b(0x215)](),_0x545947*0x3e8):undefined};await mkdir(join(homedir(),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x5b935e),{'mode':0x180});}async function loadCachedClient(){const _0x46f20f=_0x5647,_0x397760=await loadCachedData();if(_0x397760?.[_0x46f20f(0x236)]&&_0x397760['origin']!==currentOrigin)return null;return _0x397760?.['clientId']?{'clientId':_0x397760['clientId'],'clientSecret':_0x397760[_0x46f20f(0x1ce)]}:null;}async function clearCachedClient(){const _0x174080=_0x5647,_0x415305={'txSYj':function(_0x1ccf70,_0x280e7f,_0x2710b8,_0x12c783){return _0x1ccf70(_0x280e7f,_0x2710b8,_0x12c783);}},_0x48f188=await loadCachedData();if(!_0x48f188)return;const {clientId:_0x5edf82,clientSecret:_0x5355f4,..._0x570802}=_0x48f188;await _0x415305[_0x174080(0x1bc)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x570802),{'mode':0x180});}async function saveCachedClient(_0x5045c4,_0x547a44){const _0x353264=_0x5647,_0x11fa62={'whSdb':function(_0x3a3497){return _0x3a3497();},'jdAFo':function(_0x7b1281,_0x3d7a1b,_0xe74d38){return _0x7b1281(_0x3d7a1b,_0xe74d38);}},_0x2dd66c=await _0x11fa62['whSdb'](loadCachedData),_0x26ef16={..._0x2dd66c,'origin':currentOrigin,'accessToken':_0x2dd66c?.['accessToken']??'','clientId':_0x5045c4,'clientSecret':_0x547a44};await _0x11fa62['jdAFo'](mkdir,_0x11fa62['jdAFo'](join,homedir(),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x353264(0x207)](_0x26ef16),{'mode':0x180});}async function loadCachedData(){const _0x34b68b={'mmIxY':function(_0x2c7fdb,_0x4b6b19,_0x5a6661){return _0x2c7fdb(_0x4b6b19,_0x5a6661);},'pjRcO':'utf-8'};try{return JSON['parse'](await _0x34b68b['mmIxY'](readFile,TOKEN_CACHE_PATH,_0x34b68b['pjRcO']));}catch{return null;}}async function parseResponse(_0x4f709c){const _0x4076b3=_0x5647,_0x47b890={'uplqa':_0x4076b3(0x22f),'UBTak':'data:','WjeAx':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x5c10cf=_0x4f709c['headers'][_0x4076b3(0x233)](_0x47b890['uplqa'])??'';if(_0x5c10cf['includes'](_0x4076b3(0x1e2))){const _0x58a5a8=await _0x4f709c[_0x4076b3(0x1cf)]();for(const _0x420fe8 of _0x58a5a8[_0x4076b3(0x223)]('\x0a')){const _0x1216eb=_0x420fe8['trim']();if(_0x1216eb[_0x4076b3(0x218)](_0x47b890['UBTak'])){const _0x391ac3=_0x1216eb[_0x4076b3(0x1c6)](_0x4076b3(0x20e)[_0x4076b3(0x23f)])[_0x4076b3(0x205)]();if(!_0x391ac3)continue;try{const _0x2e30c0=JSON[_0x4076b3(0x1b9)](_0x391ac3);if(_0x2e30c0['id']!==undefined||_0x2e30c0[_0x4076b3(0x1d6)])return _0x2e30c0;}catch{}}}throw new Error(_0x47b890['WjeAx']);}return _0x4f709c['json']();}function extractToken(_0x410a30){const _0x528760=_0x5647,_0xc85236={'pUaln':'text','FLWpM':'string'};if(!_0x410a30)return null;const _0x58ed08=_0x410a30['structuredContent'];if(_0x58ed08?.[_0x528760(0x1e7)]&&typeof _0x58ed08[_0x528760(0x1e7)]==='string')return _0x58ed08[_0x528760(0x1e7)];if(_0x410a30[_0x528760(0x20f)]){const _0x463b5c=_0x410a30[_0x528760(0x214)];throw new Error(_0x528760(0x245)+(_0x463b5c?.[0x0]?.['text']??'Unknown\x20error'));}const _0x9fa9a5=_0x410a30[_0x528760(0x214)];if(_0x9fa9a5)for(const _0x4c83a7 of _0x9fa9a5){if(_0x4c83a7[_0x528760(0x23e)]===_0xc85236[_0x528760(0x229)]&&_0x4c83a7['text']){try{const _0x31a8a6=JSON['parse'](_0x4c83a7[_0x528760(0x1cf)]);if(typeof _0x31a8a6?.['token']===_0xc85236['FLWpM'])return _0x31a8a6[_0x528760(0x1e7)];}catch{}const _0x2f04a9=_0x4c83a7[_0x528760(0x1cf)][_0x528760(0x219)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x2f04a9)return _0x2f04a9[0x1];}}return null;}
1
+ (function(_0xdecdd0,_0x331c01){const _0x26abc1=_0x4e70,_0x183ef0=_0xdecdd0();while(!![]){try{const _0x1b3e17=parseInt(_0x26abc1(0x13e))/0x1+-parseInt(_0x26abc1(0x18d))/0x2+-parseInt(_0x26abc1(0x130))/0x3*(-parseInt(_0x26abc1(0x195))/0x4)+parseInt(_0x26abc1(0x139))/0x5+parseInt(_0x26abc1(0x17b))/0x6+parseInt(_0x26abc1(0x16a))/0x7+-parseInt(_0x26abc1(0x15f))/0x8;if(_0x1b3e17===_0x331c01)break;else _0x183ef0['push'](_0x183ef0['shift']());}catch(_0x1992af){_0x183ef0['push'](_0x183ef0['shift']());}}}(_0x27b5,0x8cb48));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x4c1b96=_0x4e70,_0x52e48e={'SdKUn':function(_0xe6c074,_0x3c31b0,_0x1c61f7){return _0xe6c074(_0x3c31b0,_0x1c61f7);},'kIZLk':function(_0x445f29,_0x44ecf4){return _0x445f29||_0x44ecf4;}};try{const _0x24b627=(await _0x52e48e[_0x4c1b96(0x16c)](readFile,AUTH_ORIGIN_PATH,'utf-8'))['trim']();return _0x52e48e['kIZLk'](_0x24b627,null);}catch{return null;}}export async function mcpBootstrap(){const _0x23bbfb=_0x4e70,_0x299ef6={'mjbJb':function(_0x26914d){return _0x26914d();},'WxJvM':function(_0x42a097,_0x1eb5c1){return _0x42a097(_0x1eb5c1);},'CvIPt':function(_0x5c465a,_0xa89f8b){return _0x5c465a+_0xa89f8b;}},_0x447437=_0x299ef6['mjbJb'](getMcpAuthUrl);currentOrigin=_0x447437;const _0x3a50c0=process['stdout'][_0x23bbfb(0x189)]??![];console['log'](_0x23bbfb(0x122)+_0x447437+'\x0a');const _0x35acb3=await _0x299ef6['WxJvM'](tryUnauthenticated,_0x447437);let _0x392836=null;if(_0x35acb3===_0x23bbfb(0x18c))_0x392836='';else{_0x392836=await loadCachedToken();if(!_0x392836){if(!_0x3a50c0)throw new Error(_0x299ef6['CvIPt']('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a',_0x23bbfb(0x141)));_0x392836=await oauthFlow(_0x447437);}}await callGetCliToken(_0x447437,_0x392836);}async function tryUnauthenticated(_0x349bbc){const _0x5dc26f=_0x4e70,_0x109619={'TAONm':function(_0x18afdf,_0x58799c,_0x594052){return _0x18afdf(_0x58799c,_0x594052);},'yYQXY':'POST','JwNUz':_0x5dc26f(0x150),'gjJnP':'2.0','tCcPv':_0x5dc26f(0x158),'YcAJh':function(_0x19197d,_0xc32c3){return _0x19197d===_0xc32c3;}},_0x1260db=await _0x109619['TAONm'](fetch,_0x349bbc,{'method':_0x109619[_0x5dc26f(0x198)],'headers':{'Content-Type':_0x5dc26f(0x159),'Accept':_0x109619['JwNUz']},'body':JSON[_0x5dc26f(0x14b)]({'jsonrpc':_0x109619[_0x5dc26f(0x12a)],'id':0x1,'method':_0x5dc26f(0x131),'params':{'protocolVersion':_0x109619[_0x5dc26f(0x17a)],'capabilities':{},'clientInfo':{'name':_0x5dc26f(0x134),'version':'1.0.0'}}})});if(_0x1260db['ok'])return await _0x1260db['text'](),'proxied';if(_0x109619[_0x5dc26f(0x129)](_0x1260db[_0x5dc26f(0x19d)],0x191))return await _0x1260db['text'](),_0x5dc26f(0x180);const _0x1a9080=await _0x1260db[_0x5dc26f(0x1a5)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x1260db['status']+':\x20'+_0x1a9080);}class OAuthTimeoutError extends Error{constructor(_0x19caf6){const _0x166106=_0x4e70,_0x1a8c09={'HSgev':'OAuthTimeoutError'};super(_0x19caf6),this['name']=_0x1a8c09[_0x166106(0x15c)];}}async function oauthFlow(_0x3ce55b){const _0x52007a=_0x4e70,_0x59b478={'gPBGC':function(_0x16202d,_0x182158){return _0x16202d(_0x182158);},'auQWW':function(_0x55f90b,_0x5b9f5c){return _0x55f90b instanceof _0x5b9f5c;},'qwtDk':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await _0x59b478[_0x52007a(0x197)](oauthFlowAttempt,_0x3ce55b);}catch(_0x80ee4a){if(_0x59b478[_0x52007a(0x193)](_0x80ee4a,OAuthTimeoutError)&&await loadCachedClient())return console['log'](_0x59b478['qwtDk']),await clearCachedClient(),await oauthFlowAttempt(_0x3ce55b);throw _0x80ee4a;}}function _0x4e70(_0x419d9e,_0x24a32d){_0x419d9e=_0x419d9e-0x11e;const _0x27b5cd=_0x27b5();let _0x4e705a=_0x27b5cd[_0x419d9e];return _0x4e705a;}async function oauthFlowAttempt(_0x400349){const _0x6fb9bf=_0x4e70,_0x19b70e={'Luszy':'Discovering\x20authorization\x20server...','ceYgA':function(_0x365bb5){return _0x365bb5();},'yjQan':function(_0x79969b,_0x63b264,_0x42ed34){return _0x79969b(_0x63b264,_0x42ed34);},'hFCvB':'POST','LEGCZ':_0x6fb9bf(0x159),'qEeUU':'Ranger\x20CLI','xkmhI':_0x6fb9bf(0x165),'yGIUj':'code','eGBwr':'\x20done','QVLGX':function(_0x21841b,_0xb31d77){return _0x21841b(_0xb31d77);},'EeEFP':function(_0x2a2d1f,_0x28e8fc){return _0x2a2d1f(_0x28e8fc);},'qIsTT':_0x6fb9bf(0x145),'jDkhE':'redirect_uri','bYAaH':'code_challenge','JMkLK':'code_challenge_method','tFYDA':'resource','sfZXl':'\x0aOpening\x20browser\x20for\x20authentication...','bCpYO':function(_0x1255ef,_0x1d74db){return _0x1255ef(_0x1d74db);},'OmlxJ':'Exchanging\x20authorization\x20code...','OTUkT':'client_secret','poOpS':function(_0xe08133,_0x3eeed1,_0x2eb313){return _0xe08133(_0x3eeed1,_0x2eb313);},'qguuL':'application/x-www-form-urlencoded','poUCV':function(_0x6f64a1,_0xc2e68,_0x330778,_0x4fa812){return _0x6f64a1(_0xc2e68,_0x330778,_0x4fa812);}},_0x386498=_0x400349['replace'](/\/mcp$/,'');process[_0x6fb9bf(0x127)][_0x6fb9bf(0x187)](_0x19b70e['Luszy']);const _0x412fe4=await fetch(_0x386498+'/.well-known/oauth-protected-resource');if(!_0x412fe4['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x4257b8=await _0x412fe4[_0x6fb9bf(0x135)](),_0x23fd03=_0x4257b8['authorization_servers']?.[0x0];if(!_0x23fd03)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0x6fb9bf(0x160)]('\x20'+_0x23fd03);const _0x2d553c=await fetchAuthServerMetadata(_0x23fd03);let _0x427e8f,_0x34a286;const _0x419415=await _0x19b70e['ceYgA'](loadCachedClient);if(_0x419415)_0x427e8f=_0x419415['clientId'],_0x34a286=_0x419415['clientSecret'];else{if(_0x2d553c['registration_endpoint']){process[_0x6fb9bf(0x127)][_0x6fb9bf(0x187)](_0x6fb9bf(0x18b));const _0xcf87a1=await _0x19b70e[_0x6fb9bf(0x173)](fetch,_0x2d553c['registration_endpoint'],{'method':_0x19b70e['hFCvB'],'headers':{'Content-Type':_0x19b70e['LEGCZ']},'body':JSON['stringify']({'client_name':_0x19b70e['qEeUU'],'redirect_uris':[_0x6fb9bf(0x17d)+CALLBACK_PORT+_0x6fb9bf(0x147)],'grant_types':['authorization_code',_0x19b70e['xkmhI']],'response_types':[_0x19b70e[_0x6fb9bf(0x13c)]],'token_endpoint_auth_method':_0x6fb9bf(0x17c)})});if(!_0xcf87a1['ok']){const _0x2ceed9=await _0xcf87a1[_0x6fb9bf(0x1a5)]();throw new Error(_0x6fb9bf(0x144)+_0x2ceed9);}const _0x4b13a3=await _0xcf87a1['json']();_0x427e8f=_0x4b13a3['client_id'],_0x34a286=_0x4b13a3['client_secret'],await _0x19b70e['yjQan'](saveCachedClient,_0x427e8f,_0x34a286),console[_0x6fb9bf(0x160)](_0x19b70e[_0x6fb9bf(0x185)]);}else throw new Error(_0x6fb9bf(0x18f));}const _0x3b40ab=_0x19b70e[_0x6fb9bf(0x176)](randomBytes,0x20)['toString']('base64url'),_0x50690c=createHash(_0x6fb9bf(0x12d))[_0x6fb9bf(0x171)](_0x3b40ab)['digest'](_0x6fb9bf(0x137)),_0x22c027=_0x19b70e['EeEFP'](randomBytes,0x10)[_0x6fb9bf(0x1a4)](_0x6fb9bf(0x13b)),_0xbc8953=new URL(_0x2d553c[_0x6fb9bf(0x183)]);_0xbc8953[_0x6fb9bf(0x1a1)][_0x6fb9bf(0x163)]('response_type',_0x19b70e[_0x6fb9bf(0x13c)]),_0xbc8953['searchParams']['set'](_0x19b70e[_0x6fb9bf(0x172)],_0x427e8f),_0xbc8953[_0x6fb9bf(0x1a1)]['set'](_0x19b70e['jDkhE'],_0x6fb9bf(0x17d)+CALLBACK_PORT+_0x6fb9bf(0x147)),_0xbc8953[_0x6fb9bf(0x1a1)][_0x6fb9bf(0x163)](_0x19b70e[_0x6fb9bf(0x15b)],_0x50690c),_0xbc8953[_0x6fb9bf(0x1a1)][_0x6fb9bf(0x163)](_0x19b70e['JMkLK'],'S256'),_0xbc8953[_0x6fb9bf(0x1a1)]['set']('state',_0x22c027);_0x4257b8['resource']&&_0xbc8953['searchParams'][_0x6fb9bf(0x163)](_0x19b70e['tFYDA'],_0x4257b8[_0x6fb9bf(0x169)]);console['log'](_0x19b70e[_0x6fb9bf(0x13a)]),console['log'](_0x6fb9bf(0x154)+_0xbc8953['toString']()+'\x0a'),await _0x19b70e[_0x6fb9bf(0x14e)](openBrowser,_0xbc8953['toString']());const _0x46b1a0=await waitForCallback(_0x22c027);process[_0x6fb9bf(0x127)][_0x6fb9bf(0x187)](_0x19b70e['OmlxJ']);const _0x39b2d3=new URLSearchParams({'grant_type':_0x6fb9bf(0x136),'code':_0x46b1a0,'redirect_uri':_0x6fb9bf(0x17d)+CALLBACK_PORT+_0x6fb9bf(0x147),'client_id':_0x427e8f,'code_verifier':_0x3b40ab});_0x34a286&&_0x39b2d3['set'](_0x19b70e[_0x6fb9bf(0x16e)],_0x34a286);_0x4257b8['resource']&&_0x39b2d3['set'](_0x19b70e[_0x6fb9bf(0x186)],_0x4257b8['resource']);const _0x1c4277=await _0x19b70e[_0x6fb9bf(0x151)](fetch,_0x2d553c[_0x6fb9bf(0x174)],{'method':_0x19b70e['hFCvB'],'headers':{'Content-Type':_0x19b70e[_0x6fb9bf(0x166)]},'body':_0x39b2d3});if(!_0x1c4277['ok']){const _0x2b8a33=await _0x1c4277[_0x6fb9bf(0x1a5)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x2b8a33);}const _0x5b9e63=await _0x1c4277['json']();return console['log']('\x20done'),await _0x19b70e[_0x6fb9bf(0x17e)](saveCachedToken,_0x5b9e63['access_token'],_0x5b9e63[_0x6fb9bf(0x165)],_0x5b9e63[_0x6fb9bf(0x125)]),_0x5b9e63['access_token'];}async function callGetCliToken(_0x12ff21,_0x418184){const _0x14874a=_0x4e70,_0x1c8ac1={'wVhML':'2025-03-26','VxVYa':_0x14874a(0x196),'oOPOF':function(_0x55e7b7,_0x577810){return _0x55e7b7(_0x577810);},'rvCgb':'tools/call','mjQXS':_0x14874a(0x16f),'YGOBu':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','LbGNL':function(_0x1529ac){return _0x1529ac();},'vkuAy':function(_0x5d3461,_0x31ec04,_0x147623){return _0x5d3461(_0x31ec04,_0x147623);},'KyRlL':'refresh.txt','lUyYD':function(_0x593dad,_0x1ad2a9,_0x172b0a,_0x341861){return _0x593dad(_0x1ad2a9,_0x172b0a,_0x341861);},'IiRnH':function(_0x6fefdf,_0x2aea7b,_0x183956,_0x1651bc){return _0x6fefdf(_0x2aea7b,_0x183956,_0x1651bc);},'haeIb':'auth-origin.txt'},_0x1e9261={'Content-Type':_0x14874a(0x159),'Accept':'application/json,\x20text/event-stream'};_0x418184&&(_0x1e9261[_0x14874a(0x155)]=_0x14874a(0x121)+_0x418184);const _0x334ab1=async _0x2c3499=>{const _0x5e5c05=_0x14874a,_0x3688bc=await fetch(_0x12ff21,{'method':_0x5e5c05(0x167),'headers':_0x1e9261,'body':JSON[_0x5e5c05(0x14b)](_0x2c3499)});if(!_0x3688bc['ok']){const _0x127718=await _0x3688bc['text']();throw new Error('HTTP\x20'+_0x3688bc[_0x5e5c05(0x19d)]+':\x20'+_0x127718);}return parseResponse(_0x3688bc);};process['stdout']['write'](_0x14874a(0x19f));const _0x55bf3f=await _0x334ab1({'jsonrpc':_0x14874a(0x168),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x1c8ac1[_0x14874a(0x177)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x1c8ac1[_0x14874a(0x181)]}}});if(_0x55bf3f['error'])throw new Error(_0x14874a(0x190)+(_0x55bf3f['error'][_0x14874a(0x182)]??JSON[_0x14874a(0x14b)](_0x55bf3f[_0x14874a(0x19b)])));console[_0x14874a(0x160)](_0x14874a(0x199)),await fetch(_0x12ff21,{'method':_0x14874a(0x167),'headers':_0x1e9261,'body':JSON['stringify']({'jsonrpc':_0x14874a(0x168),'method':'notifications/initialized'})})['then'](_0xa2d3bd=>_0xa2d3bd[_0x14874a(0x1a5)]()),process['stdout'][_0x14874a(0x187)]('Requesting\x20CLI\x20token...');const _0x344658=await _0x1c8ac1['oOPOF'](_0x334ab1,{'jsonrpc':'2.0','id':0x2,'method':_0x1c8ac1[_0x14874a(0x11f)],'params':{'name':'get_cli_token','arguments':{}}});if(_0x344658[_0x14874a(0x19b)])throw new Error('get_cli_token\x20failed:\x20'+(_0x344658[_0x14874a(0x19b)][_0x14874a(0x182)]??JSON['stringify'](_0x344658[_0x14874a(0x19b)])));console[_0x14874a(0x160)]('\x20done');const _0x865bc3=extractToken(_0x344658[_0x14874a(0x11e)]);if(!_0x865bc3){console[_0x14874a(0x19b)](_0x1c8ac1['mjQXS']),console[_0x14874a(0x19b)](JSON[_0x14874a(0x14b)](_0x344658[_0x14874a(0x11e)],null,0x2));throw new Error(_0x1c8ac1['YGOBu']);}const _0x1bb706=join(_0x1c8ac1['LbGNL'](homedir),'.ranger'),_0x2ebd20=_0x1c8ac1[_0x14874a(0x132)](join,_0x1bb706,_0x1c8ac1[_0x14874a(0x13d)]);await mkdir(_0x1bb706,{'recursive':!![]}),await _0x1c8ac1[_0x14874a(0x194)](writeFile,_0x2ebd20,_0x865bc3,{'mode':0x180}),await _0x1c8ac1[_0x14874a(0x1a2)](writeFile,join(_0x1bb706,_0x1c8ac1['haeIb']),_0x12ff21,{'mode':0x180}),console['log'](_0x14874a(0x123)+_0x2ebd20),console[_0x14874a(0x160)](_0x14874a(0x140));}async function fetchAuthServerMetadata(_0x2afb42){const _0x100afe=_0x4e70,_0x10e5a8=_0x2afb42+_0x100afe(0x184),_0xaebd7a=await fetch(_0x10e5a8);if(!_0xaebd7a['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x10e5a8+':\x20'+_0xaebd7a[_0x100afe(0x19d)]);return _0xaebd7a['json']();}function waitForCallback(_0xa588aa){const _0x57c9a6=_0x4e70,_0x5b981e={'SdKOv':function(_0x23194c){return _0x23194c();},'gkSle':function(_0xf04c8,_0x30cca5){return _0xf04c8!==_0x30cca5;},'QZCbl':_0x57c9a6(0x147),'OCTFu':_0x57c9a6(0x161),'YbmwT':function(_0x354b14,_0x3e08f0){return _0x354b14(_0x3e08f0);},'pKLVG':function(_0x27af37){return _0x27af37();},'tYXIb':_0x57c9a6(0x191)};return new Promise((_0x1dd78d,_0x20264c)=>{const _0x20c345=()=>{const _0x43fd9c=_0x4e70;_0x37dbc6['closeAllConnections'](),_0x37dbc6[_0x43fd9c(0x179)]();},_0x4f6c06=setTimeout(()=>{const _0x45dfc4=_0x4e70;_0x5b981e[_0x45dfc4(0x153)](_0x20c345),_0x20264c(new OAuthTimeoutError(_0x45dfc4(0x16b)));},0x1d4c0),_0x37dbc6=createServer((_0x14cce4,_0x2cea69)=>{const _0x802ed9=_0x4e70,_0x5ceb99=new URL(_0x14cce4[_0x802ed9(0x1a3)]??'/',_0x802ed9(0x17d)+CALLBACK_PORT);if(_0x5b981e[_0x802ed9(0x13f)](_0x5ceb99[_0x802ed9(0x138)],_0x5b981e['QZCbl'])){_0x2cea69[_0x802ed9(0x19c)](0x194),_0x2cea69['end'](_0x802ed9(0x162));return;}const _0x4bbc6d=_0x5ceb99['searchParams']['get']('code'),_0x39a359=_0x5ceb99['searchParams'][_0x802ed9(0x146)]('state'),_0x3a79d7=_0x5ceb99['searchParams'][_0x802ed9(0x146)]('error');if(_0x3a79d7){const _0x8f9c81=_0x5ceb99[_0x802ed9(0x1a1)][_0x802ed9(0x146)]('error_description')??_0x3a79d7;_0x2cea69[_0x802ed9(0x19c)](0xc8,{'Content-Type':_0x5b981e['OCTFu']}),_0x2cea69[_0x802ed9(0x128)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x8f9c81+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x4f6c06),_0x20c345(),_0x5b981e[_0x802ed9(0x188)](_0x20264c,new Error(_0x802ed9(0x152)+_0x8f9c81));return;}if(!_0x4bbc6d||_0x39a359!==_0xa588aa){_0x2cea69['writeHead'](0x190,{'Content-Type':_0x5b981e['OCTFu']}),_0x2cea69[_0x802ed9(0x128)]('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x2cea69[_0x802ed9(0x19c)](0xc8,{'Content-Type':_0x5b981e['OCTFu']}),_0x2cea69[_0x802ed9(0x128)](_0x802ed9(0x126)),clearTimeout(_0x4f6c06),_0x5b981e[_0x802ed9(0x19a)](_0x20c345),_0x1dd78d(_0x4bbc6d);});_0x37dbc6['listen'](CALLBACK_PORT,_0x5b981e['tYXIb']);});}async function openBrowser(_0x403a5c){const _0x48c621=_0x4e70,_0x235bac={'HnmCU':function(_0x5b22d5,_0x1034b9){return _0x5b22d5===_0x1034b9;},'oCUpC':_0x48c621(0x15a),'xFCVj':'start','MZTmm':'xdg-open'},_0x471205=_0x235bac[_0x48c621(0x157)](process['platform'],'darwin')?_0x235bac['oCUpC']:process[_0x48c621(0x133)]===_0x48c621(0x12e)?_0x235bac['xFCVj']:_0x235bac['MZTmm'];exec(_0x471205+'\x20\x22'+_0x403a5c+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x372f4b=_0x4e70,_0x2d8b10={'NSAEx':function(_0x56faf6,_0x3c239b){return _0x56faf6!==_0x3c239b;}};try{const _0x4a55e0=JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x4a55e0['origin']&&_0x2d8b10['NSAEx'](_0x4a55e0['origin'],currentOrigin))return null;if(_0x4a55e0['expiresAt']&&Date[_0x372f4b(0x175)]()>_0x4a55e0[_0x372f4b(0x192)])return null;return _0x4a55e0[_0x372f4b(0x15d)]??null;}catch{return null;}}async function saveCachedToken(_0x700cce,_0xfeff36,_0x346250){const _0x2661e7=_0x4e70,_0x4d80e6={'HfRNN':function(_0x7514ba){return _0x7514ba();},'CJSVK':function(_0x44e779,_0x50cf24,_0x4142d8){return _0x44e779(_0x50cf24,_0x4142d8);},'qOMwF':'.ranger'},_0x5f113c=await _0x4d80e6['HfRNN'](loadCachedData),_0x27c5d6={..._0x5f113c,'origin':currentOrigin,'accessToken':_0x700cce,'refreshToken':_0xfeff36??_0x5f113c?.[_0x2661e7(0x124)],'expiresAt':_0x346250?Date[_0x2661e7(0x175)]()+_0x346250*0x3e8:undefined};await _0x4d80e6[_0x2661e7(0x14d)](mkdir,_0x4d80e6[_0x2661e7(0x14d)](join,homedir(),_0x4d80e6[_0x2661e7(0x120)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x2661e7(0x14b)](_0x27c5d6),{'mode':0x180});}async function loadCachedClient(){const _0x31334f=_0x4e70,_0x5c8847={'tRIKI':function(_0x46d8a3,_0x247905){return _0x46d8a3!==_0x247905;}},_0x33fcd2=await loadCachedData();if(_0x33fcd2?.[_0x31334f(0x142)]&&_0x5c8847[_0x31334f(0x19e)](_0x33fcd2[_0x31334f(0x142)],currentOrigin))return null;return _0x33fcd2?.['clientId']?{'clientId':_0x33fcd2[_0x31334f(0x15e)],'clientSecret':_0x33fcd2[_0x31334f(0x18e)]}:null;}async function clearCachedClient(){const _0x2641a6=_0x4e70,_0x25a46a={'yLFPi':function(_0x4ad212){return _0x4ad212();},'GxVcU':function(_0x355475,_0x52764b,_0x3d4702,_0x1eebc1){return _0x355475(_0x52764b,_0x3d4702,_0x1eebc1);}},_0x3c6c1e=await _0x25a46a['yLFPi'](loadCachedData);if(!_0x3c6c1e)return;const {clientId:_0x582ca5,clientSecret:_0xc9fcee,..._0x3d7e0d}=_0x3c6c1e;await _0x25a46a[_0x2641a6(0x12c)](writeFile,TOKEN_CACHE_PATH,JSON[_0x2641a6(0x14b)](_0x3d7e0d),{'mode':0x180});}async function saveCachedClient(_0xf1bd5,_0x4974c8){const _0x31af98=_0x4e70,_0x5957bc={'NlpYe':function(_0x394cd5,_0x454955,_0x12d38b){return _0x394cd5(_0x454955,_0x12d38b);},'JvjXR':function(_0x38a48f){return _0x38a48f();}},_0x2c5d54=await loadCachedData(),_0x15c150={..._0x2c5d54,'origin':currentOrigin,'accessToken':_0x2c5d54?.[_0x31af98(0x15d)]??'','clientId':_0xf1bd5,'clientSecret':_0x4974c8};await _0x5957bc['NlpYe'](mkdir,join(_0x5957bc['JvjXR'](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x15c150),{'mode':0x180});}async function loadCachedData(){const _0x2551f9=_0x4e70,_0xeb6a64={'gXNAk':function(_0x23c188,_0x2b0bf7,_0x178d70){return _0x23c188(_0x2b0bf7,_0x178d70);},'mbLxx':_0x2551f9(0x156)};try{return JSON['parse'](await _0xeb6a64['gXNAk'](readFile,TOKEN_CACHE_PATH,_0xeb6a64[_0x2551f9(0x143)]));}catch{return null;}}function _0x27b5(){const _0x368044=['gPBGC','yYQXY','\x20done','pKLVG','error','writeHead','status','tRIKI','Initializing\x20MCP\x20session...','RAOHZ','searchParams','IiRnH','url','toString','text','result','rvCgb','qOMwF','Bearer\x20','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','\x0aToken\x20written\x20to\x20','refreshToken','expires_in','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','stdout','end','YcAJh','gjJnP','Server\x20returned\x20error:\x20','GxVcU','sha256','win32','text/event-stream','669likHdH','initialize','vkuAy','platform','ranger-cli','json','authorization_code','base64url','pathname','977860XIXRvb','sfZXl','hex','yGIUj','KyRlL','152087fzUGkR','gkSle','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','origin','mbLxx','Client\x20registration\x20failed:\x20','client_id','get','/callback','data:','Unknown\x20error','content','stringify','zDdAe','CJSVK','bCpYO','parse','application/json,\x20text/event-stream','poOpS','OAuth\x20error:\x20','SdKOv','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','Authorization','utf-8','HnmCU','2025-03-26','application/json','open','bYAaH','HSgev','accessToken','clientId','6418808MYZoUH','log','text/html','Not\x20found','set','startsWith','refresh_token','qguuL','POST','2.0','resource','7054572GBrNTf','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','SdKUn','content-type','OTUkT','\x0aUnexpected\x20response\x20structure:','aphxe','update','qIsTT','yjQan','token_endpoint','now','QVLGX','wVhML','string','close','tCcPv','4400718PbYOHO','none','http://localhost:','poUCV','token','needs-oauth','VxVYa','message','authorization_endpoint','/.well-known/oauth-authorization-server','eGBwr','tFYDA','write','YbmwT','isTTY','isError','Registering\x20OAuth\x20client...','proxied','1533296JUZgAj','clientSecret','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','MCP\x20initialize\x20failed:\x20','127.0.0.1','expiresAt','auQWW','lUyYD','1012wJApbm','1.0.0'];_0x27b5=function(){return _0x368044;};return _0x27b5();}async function parseResponse(_0x5e55a3){const _0x48b2c7=_0x4e70,_0x440c8c={'eyJep':'data:','gotSx':function(_0x35fca0,_0x3d27ed){return _0x35fca0!==_0x3d27ed;},'IauvW':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x54b8ae=_0x5e55a3['headers']['get'](_0x48b2c7(0x16d))??'';if(_0x54b8ae['includes'](_0x48b2c7(0x12f))){const _0xbc9631=await _0x5e55a3['text']();for(const _0x16e7d5 of _0xbc9631['split']('\x0a')){const _0x536897=_0x16e7d5['trim']();if(_0x536897[_0x48b2c7(0x164)](_0x440c8c['eyJep'])){const _0x3499a1=_0x536897['slice'](_0x48b2c7(0x148)['length'])['trim']();if(!_0x3499a1)continue;try{const _0x3c5748=JSON[_0x48b2c7(0x14f)](_0x3499a1);if(_0x440c8c['gotSx'](_0x3c5748['id'],undefined)||_0x3c5748[_0x48b2c7(0x19b)])return _0x3c5748;}catch{}}}throw new Error(_0x440c8c['IauvW']);}return _0x5e55a3['json']();}function extractToken(_0x388ccd){const _0x3f0905=_0x4e70,_0x5df135={'cVqpX':function(_0x4d431a,_0x345076){return _0x4d431a===_0x345076;},'zDdAe':_0x3f0905(0x149),'BWgWB':function(_0x49fa99,_0x2d2674){return _0x49fa99===_0x2d2674;},'aphxe':function(_0x53efb5,_0x13c2e2){return _0x53efb5===_0x13c2e2;},'RAOHZ':_0x3f0905(0x178)};if(!_0x388ccd)return null;const _0x5424ee=_0x388ccd['structuredContent'];if(_0x5424ee?.['token']&&_0x5df135['cVqpX'](typeof _0x5424ee['token'],_0x3f0905(0x178)))return _0x5424ee['token'];if(_0x388ccd[_0x3f0905(0x18a)]){const _0x4948c4=_0x388ccd['content'];throw new Error(_0x3f0905(0x12b)+(_0x4948c4?.[0x0]?.[_0x3f0905(0x1a5)]??_0x5df135[_0x3f0905(0x14c)]));}const _0x540560=_0x388ccd[_0x3f0905(0x14a)];if(_0x540560)for(const _0x5eec22 of _0x540560){if(_0x5df135['BWgWB'](_0x5eec22['type'],'text')&&_0x5eec22['text']){try{const _0x2f4492=JSON[_0x3f0905(0x14f)](_0x5eec22['text']);if(_0x5df135[_0x3f0905(0x170)](typeof _0x2f4492?.[_0x3f0905(0x17f)],_0x5df135[_0x3f0905(0x1a0)]))return _0x2f4492[_0x3f0905(0x17f)];}catch{}const _0x7b8f89=_0x5eec22[_0x3f0905(0x1a5)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x7b8f89)return _0x7b8f89[0x1];}}return null;}
@@ -1 +1 @@
1
- function _0x1355(){var _0x1c36f1=['10fjPsec','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','1294113hSduxZ','HQDpb','193767IPeKAQ','257372HPkGGT','1208488qinsDd','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','337078SwgnXl','246861jTxavW','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','EjMuD','wLYyk','error','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','18khuQOY','794224UBpxQJ','CKlyT','60RRHJVK'];_0x1355=function(){return _0x1c36f1;};return _0x1355();}function _0x4302(_0x5b1dbc,_0x531c27){_0x5b1dbc=_0x5b1dbc-0x73;var _0x1355b7=_0x1355();var _0x4302fb=_0x1355b7[_0x5b1dbc];return _0x4302fb;}(function(_0x4bb335,_0xacd57d){var _0x6369f=_0x4302,_0x157ca6=_0x4bb335();while(!![]){try{var _0x2b7a21=parseInt(_0x6369f(0x77))/0x1+parseInt(_0x6369f(0x78))/0x2+parseInt(_0x6369f(0x75))/0x3+parseInt(_0x6369f(0x85))/0x4*(-parseInt(_0x6369f(0x73))/0x5)+-parseInt(_0x6369f(0x84))/0x6*(parseInt(_0x6369f(0x7b))/0x7)+-parseInt(_0x6369f(0x79))/0x8+-parseInt(_0x6369f(0x7c))/0x9*(-parseInt(_0x6369f(0x87))/0xa);if(_0x2b7a21===_0xacd57d)break;else _0x157ca6['push'](_0x157ca6['shift']());}catch(_0x346e70){_0x157ca6['push'](_0x157ca6['shift']());}}}(_0x1355,0x371e3));export async function migrateProfile(_0x587fa2,_0x421bd8){var _0x297145=_0x4302,_0x20a48e={'iNAsZ':function(_0x4445b6,_0x82c696){return _0x4445b6+_0x82c696;},'EjMuD':function(_0x6baf39,_0x3fa140){return _0x6baf39+_0x3fa140;},'wLYyk':function(_0x101aae,_0x4915f6){return _0x101aae+_0x4915f6;},'CKlyT':function(_0x1a2775,_0x1c7001){return _0x1a2775+_0x1c7001;},'HQDpb':_0x297145(0x7a)};console[_0x297145(0x82)](_0x20a48e['iNAsZ'](_0x20a48e[_0x297145(0x80)](_0x20a48e[_0x297145(0x81)](_0x20a48e[_0x297145(0x80)](_0x20a48e['wLYyk'](_0x20a48e[_0x297145(0x86)](_0x297145(0x83)+'\x0a',_0x297145(0x7f)),_0x20a48e[_0x297145(0x76)]),'\x0a'),_0x297145(0x74))+'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','\x0a'),_0x297145(0x7e))+_0x297145(0x7d)),process['exit'](0x1);}
1
+ (function(_0x4e2a80,_0x5e08e1){var _0x492407=_0x2e2e,_0x2987bf=_0x4e2a80();while(!![]){try{var _0x301e41=-parseInt(_0x492407(0x1cd))/0x1+parseInt(_0x492407(0x1bc))/0x2*(parseInt(_0x492407(0x1c9))/0x3)+-parseInt(_0x492407(0x1c0))/0x4*(-parseInt(_0x492407(0x1c8))/0x5)+parseInt(_0x492407(0x1c4))/0x6*(-parseInt(_0x492407(0x1c6))/0x7)+-parseInt(_0x492407(0x1c1))/0x8*(-parseInt(_0x492407(0x1bf))/0x9)+-parseInt(_0x492407(0x1c5))/0xa+-parseInt(_0x492407(0x1bb))/0xb;if(_0x301e41===_0x5e08e1)break;else _0x2987bf['push'](_0x2987bf['shift']());}catch(_0x3f9055){_0x2987bf['push'](_0x2987bf['shift']());}}}(_0x3248,0x889f7));function _0x2e2e(_0x5ccbd6,_0x58e939){_0x5ccbd6=_0x5ccbd6-0x1bb;var _0x3248e7=_0x3248();var _0x2e2ed3=_0x3248e7[_0x5ccbd6];return _0x2e2ed3;}export async function migrateProfile(_0xf174de,_0x319aa8){var _0x1e7ec2=_0x2e2e,_0x53683b={'mZGsM':function(_0x6beb72,_0x545d49){return _0x6beb72+_0x545d49;},'NdaFO':function(_0x39e188,_0x4a6391){return _0x39e188+_0x4a6391;},'SzSgI':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','JksFd':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','ftcOw':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console[_0x1e7ec2(0x1c3)](_0x53683b[_0x1e7ec2(0x1c2)](_0x53683b[_0x1e7ec2(0x1bd)](_0x53683b['NdaFO'](_0x53683b['NdaFO']('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','\x0a')+_0x1e7ec2(0x1cc)+_0x53683b[_0x1e7ec2(0x1c7)],'\x0a')+_0x1e7ec2(0x1be)+_0x53683b['JksFd'],'\x0a')+_0x53683b[_0x1e7ec2(0x1cb)],'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.')),process[_0x1e7ec2(0x1ca)](0x1);}function _0x3248(){var _0x5802b9=['exit','ftcOw','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','437699IZSCgj','7603508OzAehF','36906pJtnmX','NdaFO','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','4828635Lriycq','8OUxFEy','8AImDTt','mZGsM','error','800616GtQHsK','2050500GuDRyC','21shOFoZ','SzSgI','1763890KcdhSc','171ejOUnX'];_0x3248=function(){return _0x5802b9;};return _0x3248();}
@@ -1 +1 @@
1
- (function(_0x323fca,_0x4198ee){const _0x15ceca=_0x4888,_0x599dd7=_0x323fca();while(!![]){try{const _0x4a25ba=-parseInt(_0x15ceca(0x185))/0x1+-parseInt(_0x15ceca(0x18e))/0x2*(-parseInt(_0x15ceca(0x1a3))/0x3)+parseInt(_0x15ceca(0x193))/0x4+-parseInt(_0x15ceca(0x19d))/0x5+parseInt(_0x15ceca(0x183))/0x6*(parseInt(_0x15ceca(0x190))/0x7)+parseInt(_0x15ceca(0x17c))/0x8*(-parseInt(_0x15ceca(0x19b))/0x9)+-parseInt(_0x15ceca(0x18b))/0xa;if(_0x4a25ba===_0x4198ee)break;else _0x599dd7['push'](_0x599dd7['shift']());}catch(_0xad3730){_0x599dd7['push'](_0x599dd7['shift']());}}}(_0x31ea,0xb1bdd));import{join}from'path';import{existsSync}from'fs';import _0x149f26 from'inquirer';function _0x4888(_0x40d3db,_0x448a54){_0x40d3db=_0x40d3db-0x179;const _0x31ea37=_0x31ea();let _0x48880f=_0x31ea37[_0x40d3db];return _0x48880f;}import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x31ea(){const _0x1a94bc=['kDgCC','Where\x20should\x20the\x20plugin\x20be\x20installed?','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','201384byofNj','✓\x20Claude\x20Code\x20plugin\x20enabled','1406510MQfFJV','plugin','SKILL.md','includes','ranger-testing/trailhead','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','7090440zLMyMq','pluginScope','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','2hUNDkb','install','287qVIJCI','iBTjP','UKjSX','3345828EukYpD','iAWFu','IzHaK','HVUEt','UtPdA','XStRw','enable','error','476712AOaKFo','HysTT','509045TJTUiE','VbyfF','MJHvo','prompt','❌\x20Failed\x20to\x20add\x20marketplace:','.claude','2357337KaVZXH','eYNcX','project','log','wHWJw','sFYit','8IESCgq','success','RpvAB','Project\x20(shared\x20with\x20team\x20via\x20git)'];_0x31ea=function(){return _0x1a94bc;};return _0x31ea();}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0xccb038){const _0x56e88e=_0x4888,_0x46adb1={'JzBJL':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','Pkajb':function(_0x2ef18e,_0x5efcfc){return _0x2ef18e(_0x5efcfc);},'XStRw':function(_0xc96c67,_0x1e7f20,_0x2e3321){return _0xc96c67(_0x1e7f20,_0x2e3321);},'wHWJw':function(_0x12c40c){return _0x12c40c();},'kDgCC':_0x56e88e(0x1a2),'eRtux':'pluginScope','TMAZV':_0x56e88e(0x17f),'IzHaK':'user','iJJcY':function(_0x4f5b60,_0x2da395){return _0x4f5b60(_0x2da395);},'lDvyI':'trailhead','iAWFu':'marketplace','sqcnW':'add','RpvAB':_0x56e88e(0x186),'UtPdA':'ranger@trailhead','HysTT':function(_0xebeccc,_0x32e6bf){return _0xebeccc===_0x32e6bf;},'MJHvo':_0x56e88e(0x1a5),'KiFpd':'\x0aYou\x20can\x20install\x20manually\x20with:','UKjSX':_0x56e88e(0x199),'MFdwA':'--scope','HQumY':'⚠\x20Failed\x20to\x20enable\x20plugin:'},_0x7fbb35=await isPluginInstalled('ranger@trailhead');if(_0x7fbb35)return console['log'](_0x46adb1['JzBJL']),![];const _0x2ef81b=_0x46adb1['Pkajb'](existsSync,_0x46adb1['XStRw'](join,_0x46adb1['wHWJw'](getProjectRoot),_0x46adb1[_0x56e88e(0x180)]));let _0x45d4b1;if(_0xccb038)_0x45d4b1=_0xccb038;else{if(_0x2ef81b)_0x45d4b1='project';else{console['log'](_0x56e88e(0x18a));const _0x34270d=await _0x149f26[_0x56e88e(0x1a0)]([{'type':'list','name':_0x46adb1['eRtux'],'message':_0x56e88e(0x181),'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':_0x46adb1['TMAZV'],'value':'project'}],'default':_0x46adb1[_0x56e88e(0x195)]}]);_0x45d4b1=_0x34270d[_0x56e88e(0x18c)];}}console[_0x56e88e(0x179)](_0x56e88e(0x182)+_0x45d4b1+'\x20level)...\x0a');const _0x403bfa=await _0x46adb1['iJJcY'](isMarketplaceAdded,_0x46adb1['lDvyI']);let _0x1e0afa=_0x403bfa;if(_0x403bfa)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x186c0d=await runClaudeCommand([_0x56e88e(0x186),_0x46adb1[_0x56e88e(0x194)],_0x46adb1['sqcnW'],_0x56e88e(0x189)]);!_0x186c0d['success']?(console['error'](_0x56e88e(0x1a1),_0x186c0d['error']),console[_0x56e88e(0x179)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x45d4b1)):_0x1e0afa=!![];}if(_0x1e0afa){const _0xc13218=await _0x46adb1[_0x56e88e(0x198)](runClaudeCommand,[_0x46adb1[_0x56e88e(0x17e)],_0x56e88e(0x18f),_0x46adb1['UtPdA'],'--scope',_0x45d4b1],{'cwd':_0x46adb1[_0x56e88e(0x19c)](_0x45d4b1,_0x46adb1['MJHvo'])?_0x46adb1[_0x56e88e(0x17a)](getProjectRoot):undefined});if(!_0xc13218['success'])console['error']('❌\x20Failed\x20to\x20install\x20plugin:',_0xc13218['error']),console['log'](_0x46adb1['KiFpd']),console[_0x56e88e(0x179)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x45d4b1);else{console['log'](_0x56e88e(0x18d));const _0x5b70a1=[_0x46adb1[_0x56e88e(0x17e)],_0x46adb1[_0x56e88e(0x192)],_0x46adb1[_0x56e88e(0x197)]];_0x46adb1['HysTT'](_0x45d4b1,'project')&&_0x5b70a1['push'](_0x46adb1['MFdwA'],_0x46adb1['MJHvo']);const _0x1cdb57=await _0x46adb1['XStRw'](runClaudeCommand,_0x5b70a1,{'captureOutput':!![],'cwd':_0x45d4b1===_0x46adb1[_0x56e88e(0x19f)]?getProjectRoot():undefined}),_0x40568d=_0x1cdb57['output']?.[_0x56e88e(0x188)]('already\x20enabled');!_0x1cdb57[_0x56e88e(0x17d)]&&!_0x40568d?console['error'](_0x46adb1['HQumY'],_0x1cdb57[_0x56e88e(0x19a)]):console['log'](_0x56e88e(0x184));}}return!![];}export async function ensureClaudeSkills(_0x138a2c){const _0x2c5f05=_0x4888,_0xaabaf1={'VbyfF':function(_0xde78b0,_0x59145a){return _0xde78b0(_0x59145a);},'XDuch':function(_0x3252cc,_0x53cdb4,_0x13996a,_0xd783b9){return _0x3252cc(_0x53cdb4,_0x13996a,_0xd783b9);},'iBTjP':function(_0x36078c,_0x4f19ff){return _0x36078c(_0x4f19ff);},'eYNcX':'user','IrleZ':'ranger','sFYit':function(_0x551f3c){return _0x551f3c();},'HVUEt':_0x2c5f05(0x1a2),'lhmfe':'confirm'},_0x489dd4=_0xaabaf1[_0x2c5f05(0x19e)](existsSync,_0xaabaf1['XDuch'](join,_0xaabaf1[_0x2c5f05(0x191)](getSkillsDir,_0xaabaf1[_0x2c5f05(0x1a4)]),_0xaabaf1['IrleZ'],'SKILL.md')),_0x33c2c4=existsSync(_0xaabaf1['XDuch'](join,getSkillsDir('project'),'ranger',_0x2c5f05(0x187)));if(_0x489dd4||_0x33c2c4)return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x3c971b=existsSync(join(_0xaabaf1[_0x2c5f05(0x17b)](getProjectRoot),_0xaabaf1[_0x2c5f05(0x196)]));let _0x153c0d=!![];if(_0x138a2c)await _0xaabaf1[_0x2c5f05(0x191)](skillup,{'autoInstall':_0x138a2c,'suppressUsage':!![]});else{if(_0x3c971b)await _0xaabaf1[_0x2c5f05(0x19e)](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0x40fa48=await _0x149f26[_0x2c5f05(0x1a0)]([{'type':_0xaabaf1['lhmfe'],'name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x153c0d=_0x40fa48['wantsSkillup'],_0x153c0d&&await skillup({'suppressUsage':!![]});}}return _0x153c0d;}
1
+ (function(_0x4e3383,_0x58390f){const _0x2002ec=_0x3442,_0x5d61c7=_0x4e3383();while(!![]){try{const _0x1fc6a2=-parseInt(_0x2002ec(0x10b))/0x1+-parseInt(_0x2002ec(0xfb))/0x2+parseInt(_0x2002ec(0x11a))/0x3+-parseInt(_0x2002ec(0x10e))/0x4*(parseInt(_0x2002ec(0xf9))/0x5)+-parseInt(_0x2002ec(0x111))/0x6+parseInt(_0x2002ec(0xea))/0x7*(-parseInt(_0x2002ec(0x10a))/0x8)+-parseInt(_0x2002ec(0xf3))/0x9*(-parseInt(_0x2002ec(0xfe))/0xa);if(_0x1fc6a2===_0x58390f)break;else _0x5d61c7['push'](_0x5d61c7['shift']());}catch(_0x47f962){_0x5d61c7['push'](_0x5d61c7['shift']());}}}(_0x3db0,0x69be0));import{join}from'path';import{existsSync}from'fs';import _0x244a92 from'inquirer';import{skillup}from'../skillup.js';function _0x3db0(){const _0x2e2149=['\x20level)...\x0a','log','NUrtA','add','\x0aYou\x20can\x20install\x20manually\x20with:','IewYc','xwMlI','push','confirm','HBDsc','htquH','35Lpexpo','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','GwXgX','✓\x20Claude\x20Code\x20plugin\x20enabled','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','NByle','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','YeQsx','30141WWLytG','trailhead','xxXQf','Would\x20you\x20like\x20to\x20install\x20skills?','ranger-testing/trailhead','list','20egFTho','--scope','1245744dwFKax','user','hDePL','5950SZqizE','error','success','ZzrkH','FEzKm','prompt','fqWmq','CFpqA','fumtJ','install','includes','❌\x20Failed\x20to\x20add\x20marketplace:','464728jpQAIM','400042RCZHdi','wantsSkillup','cywYj','501320IZGiYd','ranger','nQYSZ','1596582cSNTtT','plugin','pluginScope','owGRj','.claude','❌\x20Failed\x20to\x20install\x20plugin:','ranger@trailhead','enable','WTHVt','1563753wPSWny'];_0x3db0=function(){return _0x2e2149;};return _0x3db0();}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x3442(_0x30e37d,_0x34702d){_0x30e37d=_0x30e37d-0xe2;const _0x3db0f8=_0x3db0();let _0x3442e6=_0x3db0f8[_0x30e37d];return _0x3442e6;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x567515){const _0x1d7d0f=_0x3442,_0x3abba1={'IGyCV':_0x1d7d0f(0xeb),'hYwoW':function(_0x25d43a,_0x12f79f){return _0x25d43a(_0x12f79f);},'CFpqA':_0x1d7d0f(0x115),'svBLY':'project','xyfoI':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','owGRj':'pluginScope','nQYSZ':'User\x20(available\x20in\x20all\x20your\x20projects)','DdCOH':function(_0x51ab45,_0x27822e){return _0x51ab45(_0x27822e);},'XGRrD':'✓\x20Marketplace\x20already\x20added','MDRmV':_0x1d7d0f(0xe2),'ERUEC':_0x1d7d0f(0xe3),'sEncM':_0x1d7d0f(0xf0),'cywYj':function(_0x43eb53,_0x4fe10f,_0x35df1c){return _0x43eb53(_0x4fe10f,_0x35df1c);},'JFHHv':_0x1d7d0f(0x112),'GARUM':_0x1d7d0f(0x107),'fumtJ':_0x1d7d0f(0xfa),'YeQsx':function(_0x179802,_0x28fdfc){return _0x179802===_0x28fdfc;},'nvXWy':_0x1d7d0f(0x116),'VRWPL':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','xqDWF':_0x1d7d0f(0x118),'FEzKm':'ranger@trailhead','GwXgX':function(_0xebf9c4,_0x25efd8,_0x2bc2c4){return _0xebf9c4(_0x25efd8,_0x2bc2c4);},'xxXQf':function(_0x54d578,_0xd1b0e7){return _0x54d578===_0xd1b0e7;},'JXEJE':function(_0x2d21c7){return _0x2d21c7();},'NByle':'⚠\x20Failed\x20to\x20enable\x20plugin:','JmKtZ':_0x1d7d0f(0xed)},_0x35e3d6=await isPluginInstalled('ranger@trailhead');if(_0x35e3d6)return console[_0x1d7d0f(0x11c)](_0x3abba1['IGyCV']),![];const _0x5917ff=_0x3abba1['hYwoW'](existsSync,join(getProjectRoot(),_0x3abba1[_0x1d7d0f(0x105)]));let _0x1e1b47;if(_0x567515)_0x1e1b47=_0x567515;else{if(_0x5917ff)_0x1e1b47=_0x3abba1['svBLY'];else{console[_0x1d7d0f(0x11c)](_0x3abba1['xyfoI']);const _0x24aec3=await _0x244a92[_0x1d7d0f(0x103)]([{'type':_0x1d7d0f(0xf8),'name':_0x3abba1[_0x1d7d0f(0x114)],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x3abba1[_0x1d7d0f(0x110)],'value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x3abba1['svBLY']}],'default':_0x1d7d0f(0xfc)}]);_0x1e1b47=_0x24aec3[_0x1d7d0f(0x113)];}}console['log'](_0x1d7d0f(0xee)+_0x1e1b47+_0x1d7d0f(0x11b));const _0x3e9a7a=await _0x3abba1['DdCOH'](isMarketplaceAdded,_0x1d7d0f(0xf4));let _0x1ec509=_0x3e9a7a;if(_0x3e9a7a)console['log'](_0x3abba1['XGRrD']);else{const _0xc79d55=await runClaudeCommand(['plugin','marketplace',_0x3abba1['MDRmV'],_0x1d7d0f(0xf7)]);!_0xc79d55[_0x1d7d0f(0x100)]?(console['error'](_0x1d7d0f(0x109),_0xc79d55[_0x1d7d0f(0xff)]),console[_0x1d7d0f(0x11c)](_0x3abba1['ERUEC']),console[_0x1d7d0f(0x11c)](_0x3abba1['sEncM']),console[_0x1d7d0f(0x11c)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x1e1b47)):_0x1ec509=!![];}if(_0x1ec509){const _0x1d2c19=await _0x3abba1[_0x1d7d0f(0x10d)](runClaudeCommand,[_0x3abba1['JFHHv'],_0x3abba1['GARUM'],_0x1d7d0f(0x117),_0x3abba1[_0x1d7d0f(0x106)],_0x1e1b47],{'cwd':_0x3abba1[_0x1d7d0f(0xf2)](_0x1e1b47,'project')?getProjectRoot():undefined});if(!_0x1d2c19[_0x1d7d0f(0x100)])console[_0x1d7d0f(0xff)](_0x3abba1['nvXWy'],_0x1d2c19[_0x1d7d0f(0xff)]),console[_0x1d7d0f(0x11c)](_0x3abba1['ERUEC']),console[_0x1d7d0f(0x11c)](_0x1d7d0f(0xf1)+_0x1e1b47);else{console['log'](_0x3abba1['VRWPL']);const _0x21a06c=[_0x1d7d0f(0x112),_0x3abba1['xqDWF'],_0x3abba1[_0x1d7d0f(0x102)]];_0x3abba1[_0x1d7d0f(0xf2)](_0x1e1b47,'project')&&_0x21a06c[_0x1d7d0f(0xe6)](_0x1d7d0f(0xfa),_0x3abba1['svBLY']);const _0x111940=await _0x3abba1[_0x1d7d0f(0xec)](runClaudeCommand,_0x21a06c,{'captureOutput':!![],'cwd':_0x3abba1[_0x1d7d0f(0xf5)](_0x1e1b47,'project')?_0x3abba1['JXEJE'](getProjectRoot):undefined}),_0x2a0f24=_0x111940['output']?.[_0x1d7d0f(0x108)]('already\x20enabled');!_0x111940['success']&&!_0x2a0f24?console['error'](_0x3abba1[_0x1d7d0f(0xef)],_0x111940['error']):console['log'](_0x3abba1['JmKtZ']);}}return!![];}export async function ensureClaudeSkills(_0x535c15){const _0x1b5a46=_0x3442,_0x5afaf1={'HBDsc':function(_0x194395,_0x44c656,_0x20472b,_0x9f96ae){return _0x194395(_0x44c656,_0x20472b,_0x9f96ae);},'htquH':'user','fqWmq':function(_0x2800dd,_0x30ea39,_0x28e116,_0x26bc4e){return _0x2800dd(_0x30ea39,_0x28e116,_0x26bc4e);},'urVIY':'SKILL.md','ZDSjY':function(_0x1719eb,_0x4c6e8e){return _0x1719eb||_0x4c6e8e;},'NUrtA':'✓\x20Ranger\x20skills\x20already\x20installed','yxunK':function(_0x5c5a14,_0x1cf9db){return _0x5c5a14(_0x1cf9db);},'IewYc':function(_0x3657a8,_0x115da8,_0x188c1a){return _0x3657a8(_0x115da8,_0x188c1a);},'ZzrkH':function(_0x17c5f7){return _0x17c5f7();},'WTHVt':function(_0x4bfab5,_0x19b851){return _0x4bfab5(_0x19b851);},'hDePL':function(_0x146a70,_0xcd5592){return _0x146a70(_0xcd5592);},'fyMzn':'project','xwMlI':_0x1b5a46(0xf6)},_0x534a7a=existsSync(_0x5afaf1[_0x1b5a46(0xe8)](join,getSkillsDir(_0x5afaf1[_0x1b5a46(0xe9)]),'ranger','SKILL.md')),_0x5ea164=existsSync(_0x5afaf1[_0x1b5a46(0x104)](join,getSkillsDir('project'),_0x1b5a46(0x10f),_0x5afaf1['urVIY']));if(_0x5afaf1['ZDSjY'](_0x534a7a,_0x5ea164))return console[_0x1b5a46(0x11c)](_0x5afaf1[_0x1b5a46(0x11d)]),![];const _0x37e1e6=_0x5afaf1['yxunK'](existsSync,_0x5afaf1[_0x1b5a46(0xe4)](join,_0x5afaf1[_0x1b5a46(0x101)](getProjectRoot),_0x1b5a46(0x115)));let _0x291b8f=!![];if(_0x535c15)await _0x5afaf1[_0x1b5a46(0x119)](skillup,{'autoInstall':_0x535c15,'suppressUsage':!![]});else{if(_0x37e1e6)await _0x5afaf1[_0x1b5a46(0xfd)](skillup,{'autoInstall':_0x5afaf1['fyMzn'],'suppressUsage':!![]});else{const _0x245efc=await _0x244a92['prompt']([{'type':_0x1b5a46(0xe7),'name':_0x1b5a46(0x10c),'message':_0x5afaf1[_0x1b5a46(0xe5)],'default':!![]}]);_0x291b8f=_0x245efc[_0x1b5a46(0x10c)],_0x291b8f&&await skillup({'suppressUsage':!![]});}}return _0x291b8f;}
@@ -1 +1 @@
1
- (function(_0x5bef3a,_0x538ee9){const _0x76fb28=_0x3e55,_0x4292db=_0x5bef3a();while(!![]){try{const _0x90aaf3=-parseInt(_0x76fb28(0x1e4))/0x1*(parseInt(_0x76fb28(0x1da))/0x2)+parseInt(_0x76fb28(0x1d2))/0x3*(-parseInt(_0x76fb28(0x1dc))/0x4)+-parseInt(_0x76fb28(0x1d5))/0x5+-parseInt(_0x76fb28(0x1ce))/0x6*(parseInt(_0x76fb28(0x1cc))/0x7)+-parseInt(_0x76fb28(0x1df))/0x8+parseInt(_0x76fb28(0x1de))/0x9+parseInt(_0x76fb28(0x1e2))/0xa*(parseInt(_0x76fb28(0x1e1))/0xb);if(_0x90aaf3===_0x538ee9)break;else _0x4292db['push'](_0x4292db['shift']());}catch(_0x3528f6){_0x4292db['push'](_0x4292db['shift']());}}}(_0x24d7,0xefa95));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x3e55(_0x3490df,_0x5dcee8){_0x3490df=_0x3490df-0x1c4;const _0x24d7f7=_0x24d7();let _0x3e552d=_0x24d7f7[_0x3490df];return _0x3e552d;}import _0x2b0ac2 from'inquirer';function _0x24d7(){const _0x4a4063=['889141NQbVmN','530uZzWJR','Where\x20should\x20the\x20plugin\x20be\x20installed?','1sJoKlU','✓\x20OpenCode\x20plugin\x20configured','isArray','utf-8','project','Failed\x20to\x20read\x20opencode.json','$schema','prompt','bGsxD','barbE','YjLLY','MmcEY','5698693JcbmoG','pluginScope','6EaomnT','AqGXj','opencode.json','BkSrP','225FCSYEs','includes','zItHt','7305490cxhcvD','user','Project\x20(shared\x20with\x20team\x20via\x20git)','log','plugin','3706894FIOPQn','\x0a📦\x20OpenCode\x20Plugin\x0a','9956qeQiwC','User\x20(available\x20in\x20all\x20your\x20projects)','15790311SRkgWv','5932400Fynfao','list'];_0x24d7=function(){return _0x4a4063;};return _0x24d7();}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x1fe77f){const _0x49d8d3=_0x3e55,_0x426a14={'YjLLY':function(_0x100073,_0x6f398){return _0x100073(_0x6f398);},'BkSrP':function(_0x3dc6b8,_0x3953a1,_0x49ddf2){return _0x3dc6b8(_0x3953a1,_0x49ddf2);},'UIlsd':_0x49d8d3(0x1c4),'barbE':'pluginScope','bGsxD':_0x49d8d3(0x1e3),'AqGXj':'@ranger-testing/opencode-plugin','AppZB':_0x49d8d3(0x1e7),'MiwIE':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','zItHt':_0x49d8d3(0x1c5),'MmcEY':'✓\x20OpenCode\x20plugin\x20already\x20configured','tHjQG':_0x49d8d3(0x1e5)},_0x4dea81=_0x426a14['YjLLY'](existsSync,_0x426a14[_0x49d8d3(0x1d1)](join,getOpencodeConfigDir(_0x426a14['UIlsd']),_0x49d8d3(0x1d0)));let _0x1b76c5;if(_0x1fe77f)_0x1b76c5=_0x1fe77f;else{if(_0x4dea81)_0x1b76c5='project';else{console[_0x49d8d3(0x1d8)](_0x49d8d3(0x1db));const _0x1ad5ac=await _0x2b0ac2[_0x49d8d3(0x1c7)]([{'type':_0x49d8d3(0x1e0),'name':_0x426a14[_0x49d8d3(0x1c9)],'message':_0x426a14[_0x49d8d3(0x1c8)],'choices':[{'name':_0x49d8d3(0x1dd),'value':_0x49d8d3(0x1d6)},{'name':_0x49d8d3(0x1d7),'value':_0x426a14['UIlsd']}],'default':_0x49d8d3(0x1d6)}]);_0x1b76c5=_0x1ad5ac[_0x49d8d3(0x1cd)];}}const _0x9f84a=join(_0x426a14[_0x49d8d3(0x1ca)](getOpencodeConfigDir,_0x1b76c5),_0x49d8d3(0x1d0)),_0x4d9f94=_0x426a14[_0x49d8d3(0x1cf)],_0x54a9e1='https://opencode.ai/config.json';let _0x375507={};if(_0x426a14['YjLLY'](existsSync,_0x9f84a))try{const _0x38fad3=await readFile(_0x9f84a,_0x426a14['AppZB']);_0x375507=JSON['parse'](_0x38fad3);}catch(_0x29d499){return console['error'](_0x426a14['MiwIE']),{'configured':![],'scope':_0x1b76c5,'error':_0x426a14[_0x49d8d3(0x1d4)],'details':_0x29d499};}const _0x1363a8=Array[_0x49d8d3(0x1e6)](_0x375507[_0x49d8d3(0x1d9)])?_0x375507[_0x49d8d3(0x1d9)]:[];if(_0x1363a8[_0x49d8d3(0x1d3)](_0x4d9f94))return console['log'](_0x426a14[_0x49d8d3(0x1cb)]),{'configured':![],'scope':_0x1b76c5};return _0x375507[_0x49d8d3(0x1c6)]=_0x375507[_0x49d8d3(0x1c6)]||_0x54a9e1,_0x375507[_0x49d8d3(0x1d9)]=[..._0x1363a8,_0x4d9f94],await _0x426a14['BkSrP'](mkdir,getOpencodeConfigDir(_0x1b76c5),{'recursive':!![]}),await writeFile(_0x9f84a,JSON['stringify'](_0x375507,null,0x2)+'\x0a'),console[_0x49d8d3(0x1d8)](_0x426a14['tHjQG']),{'configured':!![],'scope':_0x1b76c5};}
1
+ function _0x5b6e(_0x2ca7a9,_0x7fcc79){_0x2ca7a9=_0x2ca7a9-0xfc;const _0x258850=_0x2588();let _0x5b6e77=_0x258850[_0x2ca7a9];return _0x5b6e77;}(function(_0x5380bb,_0xd1f26f){const _0x9d6bc9=_0x5b6e,_0x3eaa9e=_0x5380bb();while(!![]){try{const _0x4ea46b=-parseInt(_0x9d6bc9(0x105))/0x1+parseInt(_0x9d6bc9(0x10d))/0x2*(-parseInt(_0x9d6bc9(0x116))/0x3)+-parseInt(_0x9d6bc9(0x117))/0x4*(-parseInt(_0x9d6bc9(0x112))/0x5)+parseInt(_0x9d6bc9(0x109))/0x6+parseInt(_0x9d6bc9(0x103))/0x7*(parseInt(_0x9d6bc9(0xfd))/0x8)+-parseInt(_0x9d6bc9(0x104))/0x9+parseInt(_0x9d6bc9(0x100))/0xa;if(_0x4ea46b===_0xd1f26f)break;else _0x3eaa9e['push'](_0x3eaa9e['shift']());}catch(_0x47cece){_0x3eaa9e['push'](_0x3eaa9e['shift']());}}}(_0x2588,0xbc9d2));function _0x2588(){const _0x15bd24=['dApII','gCCOr','$schema','3zQWAft','109948brAXvq','log','VDDow','project','isArray','2584QGBuXj','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','✓\x20OpenCode\x20plugin\x20configured','12280640bWXBlJ','@ranger-testing/opencode-plugin','plugin','13405LaojSf','10838601bXPJOJ','492889uGWPNM','MyFnx','opencode.json','LLLIy','1184262qBWtSw','PhfYi','slLYK','\x0a📦\x20OpenCode\x20Plugin\x0a','1402426ZLVBqf','pluginScope','https://opencode.ai/config.json','utf-8','WNaxX','205DQZiok'];_0x2588=function(){return _0x15bd24;};return _0x2588();}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x52808a from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x473c73){const _0x1a2953=_0x5b6e,_0x5d4b40={'eyTeC':function(_0x2d2845,_0x4895a8,_0x29e893){return _0x2d2845(_0x4895a8,_0x29e893);},'MyFnx':_0x1a2953(0x10e),'aMDWo':'Where\x20should\x20the\x20plugin\x20be\x20installed?','GmLLO':'User\x20(available\x20in\x20all\x20your\x20projects)','VDDow':'user','gCCOr':_0x1a2953(0x11a),'LLLIy':_0x1a2953(0x107),'slLYK':_0x1a2953(0x101),'WNaxX':function(_0x5b55ed,_0x13a927,_0x429e5a){return _0x5b55ed(_0x13a927,_0x429e5a);},'JWymC':_0x1a2953(0x110),'mLXaK':_0x1a2953(0xfe),'dApII':'Failed\x20to\x20read\x20opencode.json','PhfYi':'✓\x20OpenCode\x20plugin\x20already\x20configured'},_0x297082=existsSync(_0x5d4b40['eyTeC'](join,getOpencodeConfigDir('project'),_0x1a2953(0x107)));let _0x2cda4b;if(_0x473c73)_0x2cda4b=_0x473c73;else{if(_0x297082)_0x2cda4b=_0x1a2953(0x11a);else{console[_0x1a2953(0x118)](_0x1a2953(0x10c));const _0x4ccd79=await _0x52808a['prompt']([{'type':'list','name':_0x5d4b40[_0x1a2953(0x106)],'message':_0x5d4b40['aMDWo'],'choices':[{'name':_0x5d4b40['GmLLO'],'value':_0x5d4b40[_0x1a2953(0x119)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x5d4b40[_0x1a2953(0x114)]}],'default':'user'}]);_0x2cda4b=_0x4ccd79[_0x1a2953(0x10e)];}}const _0x192c2f=join(getOpencodeConfigDir(_0x2cda4b),_0x5d4b40[_0x1a2953(0x108)]),_0x270071=_0x5d4b40[_0x1a2953(0x10b)],_0x554291=_0x1a2953(0x10f);let _0x3112d4={};if(existsSync(_0x192c2f))try{const _0x11fda3=await _0x5d4b40[_0x1a2953(0x111)](readFile,_0x192c2f,_0x5d4b40['JWymC']);_0x3112d4=JSON['parse'](_0x11fda3);}catch(_0x19deb7){return console['error'](_0x5d4b40['mLXaK']),{'configured':![],'scope':_0x2cda4b,'error':_0x5d4b40[_0x1a2953(0x113)],'details':_0x19deb7};}const _0x1be2be=Array[_0x1a2953(0xfc)](_0x3112d4[_0x1a2953(0x102)])?_0x3112d4['plugin']:[];if(_0x1be2be['includes'](_0x270071))return console['log'](_0x5d4b40[_0x1a2953(0x10a)]),{'configured':![],'scope':_0x2cda4b};return _0x3112d4[_0x1a2953(0x115)]=_0x3112d4[_0x1a2953(0x115)]||_0x554291,_0x3112d4['plugin']=[..._0x1be2be,_0x270071],await _0x5d4b40[_0x1a2953(0x111)](mkdir,getOpencodeConfigDir(_0x2cda4b),{'recursive':!![]}),await writeFile(_0x192c2f,JSON['stringify'](_0x3112d4,null,0x2)+'\x0a'),console[_0x1a2953(0x118)](_0x1a2953(0xff)),{'configured':!![],'scope':_0x2cda4b};}
@@ -1 +1 @@
1
- function _0x45ab(){var _0x3daf85=['npErg','exit','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','6186440REaRmT','6128Fzibnb','27655TCzKwn','3FmuvCV','429600FvDzZP','1197514UvhFie','380uCVWbh','22890RgGKok','7910584nwUigI','1098kPqLQG','Gbrfc','7551FkdLGI'];_0x45ab=function(){return _0x3daf85;};return _0x45ab();}function _0x459f(_0x4f8999,_0x30c90b){_0x4f8999=_0x4f8999-0x112;var _0x45ab37=_0x45ab();var _0x459f5e=_0x45ab37[_0x4f8999];return _0x459f5e;}(function(_0x13c0f9,_0x1a8acd){var _0x10547d=_0x459f,_0x284e3b=_0x13c0f9();while(!![]){try{var _0x56c12f=parseInt(_0x10547d(0x120))/0x1+parseInt(_0x10547d(0x112))/0x2*(-parseInt(_0x10547d(0x11f))/0x3)+-parseInt(_0x10547d(0x113))/0x4*(-parseInt(_0x10547d(0x11e))/0x5)+parseInt(_0x10547d(0x116))/0x6*(parseInt(_0x10547d(0x114))/0x7)+-parseInt(_0x10547d(0x11d))/0x8*(parseInt(_0x10547d(0x118))/0x9)+-parseInt(_0x10547d(0x11c))/0xa+parseInt(_0x10547d(0x115))/0xb;if(_0x56c12f===_0x1a8acd)break;else _0x284e3b['push'](_0x284e3b['shift']());}catch(_0xd114be){_0x284e3b['push'](_0x284e3b['shift']());}}}(_0x45ab,0x64b6c));export async function setupCi(_0x550981,_0x135f85,_0xd02066){var _0x2624e8=_0x459f,_0x12fa5e={'ABzgx':_0x2624e8(0x11b),'npErg':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','Gbrfc':'\x20\x20https://docs.ranger.net/main/concepts/profiles'};console['error']('ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a'+'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'+_0x12fa5e['ABzgx']+'\x0a'+_0x12fa5e[_0x2624e8(0x119)]+_0x12fa5e[_0x2624e8(0x117)]),process[_0x2624e8(0x11a)](0x1);}
1
+ function _0x4b50(_0x4c654b,_0x1cc3aa){_0x4c654b=_0x4c654b-0xab;var _0x47afca=_0x47af();var _0x4b507e=_0x47afca[_0x4c654b];return _0x4b507e;}(function(_0xe6c894,_0x35de0b){var _0x4c6652=_0x4b50,_0x1a477d=_0xe6c894();while(!![]){try{var _0x27bf44=-parseInt(_0x4c6652(0xac))/0x1+-parseInt(_0x4c6652(0xb6))/0x2*(-parseInt(_0x4c6652(0xb3))/0x3)+parseInt(_0x4c6652(0xb9))/0x4*(-parseInt(_0x4c6652(0xb0))/0x5)+-parseInt(_0x4c6652(0xb5))/0x6*(-parseInt(_0x4c6652(0xb4))/0x7)+parseInt(_0x4c6652(0xae))/0x8+parseInt(_0x4c6652(0xad))/0x9+-parseInt(_0x4c6652(0xb1))/0xa;if(_0x27bf44===_0x35de0b)break;else _0x1a477d['push'](_0x1a477d['shift']());}catch(_0x4dc154){_0x1a477d['push'](_0x1a477d['shift']());}}}(_0x47af,0x85dd9));export async function setupCi(_0x121b33,_0x2a350d,_0x47cd08){var _0x151a23=_0x4b50,_0x6cbac8={'JeVMJ':function(_0x5e1b19,_0x16dc83){return _0x5e1b19+_0x16dc83;},'hXUBx':'ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','CSHYz':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'};console[_0x151a23(0xab)](_0x6cbac8['JeVMJ'](_0x6cbac8['JeVMJ'](_0x6cbac8[_0x151a23(0xb7)],'\x0a')+_0x6cbac8[_0x151a23(0xb8)],'\x20\x20ranger\x20profile\x20add\x20<name>\x0a')+'\x0a'+'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'+_0x151a23(0xaf)),process[_0x151a23(0xb2)](0x1);}function _0x47af(){var _0x4233af=['5004zkpcKi','error','560884zsjXQB','2961648nhzUde','2258128LCwcFm','\x20\x20https://docs.ranger.net/main/concepts/profiles','3145LVEXQg','336520zMbxue','exit','3sDqqfz','7hqNHyh','6481182ZMipGf','476386RdPqeg','hXUBx','CSHYz'];_0x47af=function(){return _0x4233af;};return _0x47af();}
@@ -1 +1 @@
1
- (function(_0x30c193,_0x5c92e5){const _0x56f4a7=_0x402c,_0x54d6f9=_0x30c193();while(!![]){try{const _0x346418=parseInt(_0x56f4a7(0x10c))/0x1*(parseInt(_0x56f4a7(0x103))/0x2)+-parseInt(_0x56f4a7(0x110))/0x3*(-parseInt(_0x56f4a7(0x112))/0x4)+-parseInt(_0x56f4a7(0x10a))/0x5+-parseInt(_0x56f4a7(0x114))/0x6+-parseInt(_0x56f4a7(0x11e))/0x7*(-parseInt(_0x56f4a7(0x108))/0x8)+-parseInt(_0x56f4a7(0x10b))/0x9+-parseInt(_0x56f4a7(0x127))/0xa*(-parseInt(_0x56f4a7(0x117))/0xb);if(_0x346418===_0x5c92e5)break;else _0x54d6f9['push'](_0x54d6f9['shift']());}catch(_0x11a50e){_0x54d6f9['push'](_0x54d6f9['shift']());}}}(_0xcea8,0xec66a));import{basename}from'path';import _0x44f2c8 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';function _0xcea8(){const _0x35de62=['warn','\x0a✅\x20Installed\x20','project-level','This\x20project\x20only\x20(','opencode','2|0|1|5|4|3','24410mlxWgk','log','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','/.opencode/skills/','To\x20use:','PwWGh','WAswK','Where\x20should\x20skills\x20be\x20installed?','claude','hzOVo','platform','rWIAQ','4QzQHcg','All\x20projects\x20(','\x20--opencode','KuKti','ztAkM','18376jZKTKx','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','16395wepNiZ','4649220LeySvr','544241DBnkpK','eZpLV','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','✓\x20Found\x20API\x20token','3WGGQnm','yRmOk','41556aEiaKV','\x20skill','6595416KJskBg','user-level','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','5269bRbbLg','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','/skills/','ranger','stdin','installLevel','suppressUsage','973nvXUfN','\x20\x203.\x20Run:\x20ranger\x20skillup','autoInstall'];_0xcea8=function(){return _0x35de62;};return _0xcea8();}function _0x402c(_0xd84b6e,_0x2e8dc2){_0xd84b6e=_0xd84b6e-0xf9;const _0xcea827=_0xcea8();let _0x402c58=_0xcea827[_0xd84b6e];return _0x402c58;}export async function skillup(_0x349668={}){const _0x11b471=_0x402c,_0x749404={'FIRNN':_0x11b471(0x126),'qAFYs':_0x11b471(0xf9),'oawAB':function(_0x1876e4,_0x901c5c){return _0x1876e4===_0x901c5c;},'yRmOk':'opencode','PwWGh':function(_0x213b7d,_0x1a67cf){return _0x213b7d===_0x1a67cf;},'eZpLV':_0x11b471(0x105),'vpPqc':function(_0x511078,_0x5c7f5a){return _0x511078(_0x5c7f5a);},'rWIAQ':'user','zBZiJ':_0x11b471(0x11c),'ztAkM':'project','WAswK':function(_0x52be3d,_0x5ec05b,_0x3246ec){return _0x52be3d(_0x5ec05b,_0x3246ec);},'Yiron':_0x11b471(0x116),'yBnof':function(_0x4c5716,_0x1ee3ba){return _0x4c5716 instanceof _0x1ee3ba;},'KuKti':_0x11b471(0x115),'MXDrh':_0x11b471(0xfb),'hzOVo':_0x11b471(0x109),'ZpRml':'\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a'};console[_0x11b471(0x128)](_0x11b471(0x10e));const _0x1ec605=_0x349668[_0x11b471(0x101)]??_0x11b471(0xff),_0xc578d2=await getToken();if(!_0xc578d2){const _0x521f75=_0x749404['FIRNN']['split']('|');let _0x1f8d99=0x0;while(!![]){switch(_0x521f75[_0x1f8d99++]){case'0':console['log']('To\x20get\x20started:');continue;case'1':console[_0x11b471(0x128)](_0x11b471(0x118));continue;case'2':console[_0x11b471(0x128)](_0x749404['qAFYs']);continue;case'3':return;case'4':console[_0x11b471(0x128)](_0x11b471(0x11f)+(_0x749404['oawAB'](_0x1ec605,_0x749404[_0x11b471(0x111)])?_0x11b471(0x105):'')+'\x0a');continue;case'5':console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x749404[_0x11b471(0xfc)](_0x1ec605,_0x11b471(0x125))?_0x749404[_0x11b471(0x10d)]:'')+'\x20<your-api-token>');continue;}break;}}console[_0x11b471(0x128)](_0x11b471(0x10f));const _0x56c23e=getProjectRoot(),_0x1c64d7=_0x749404['vpPqc'](basename,_0x56c23e),_0x50ff94=_0x749404['PwWGh'](_0x1ec605,_0x749404[_0x11b471(0x111)])?getOpencodeConfigDir(_0x749404[_0x11b471(0x102)])+_0x11b471(0x119):getClaudeConfigDir()+'/skills/',_0x118c24=_0x1ec605===_0x749404[_0x11b471(0x111)]?_0x56c23e+_0x11b471(0xfa):_0x56c23e+'/.claude/skills/',_0x88605e=process[_0x11b471(0x11b)]['isTTY']&&process['stdout']['isTTY'];let _0x42b7ef;if(_0x349668[_0x11b471(0x120)])_0x42b7ef=_0x349668['autoInstall'];else{if(_0x88605e){const _0x10c246=await _0x44f2c8['prompt']([{'type':'list','name':_0x749404['zBZiJ'],'message':_0x11b471(0xfe),'choices':[{'name':_0x11b471(0x104)+_0x50ff94+')','value':_0x749404[_0x11b471(0x102)]},{'name':_0x11b471(0x124)+_0x118c24+')','value':_0x749404[_0x11b471(0x107)]}]}]);_0x42b7ef=_0x10c246['installLevel'];}else _0x42b7ef=_0x749404['ztAkM'],console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x118c24+')');}let _0x1e3599=0x0;const _0xde3a33=getCurrentVersion();console['log']('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x5eb9a9=await _0x749404[_0x11b471(0xfd)](installSkill,_0x11b471(0x11a),{'cliVersion':_0xde3a33,'level':_0x42b7ef,'platform':_0x1ec605});_0x5eb9a9&&_0x1e3599++;}catch(_0x2ece1c){console[_0x11b471(0x121)](_0x749404['Yiron'],_0x749404['yBnof'](_0x2ece1c,Error)?_0x2ece1c['message']:_0x2ece1c);}if(_0x1e3599>0x0){const _0xceeac9=_0x749404['oawAB'](_0x42b7ef,'user')?_0x749404[_0x11b471(0x106)]:_0x11b471(0x123);console[_0x11b471(0x128)](_0x11b471(0x122)+_0x1e3599+'\x20'+_0xceeac9+_0x11b471(0x113)+(_0x1e3599>0x1?'s':'')+'\x20successfully!\x0a'),!_0x349668[_0x11b471(0x11d)]&&(console[_0x11b471(0x128)](_0x749404['MXDrh']),_0x1ec605===_0x749404[_0x11b471(0x111)]?console['log'](_0x749404[_0x11b471(0x100)]):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['log'](_0x749404['ZpRml']);}
1
+ (function(_0x386bad,_0x3be2f7){const _0x3817f=_0x3a7a,_0x254abe=_0x386bad();while(!![]){try{const _0x44bc7c=-parseInt(_0x3817f(0x1dc))/0x1+-parseInt(_0x3817f(0x1e1))/0x2*(parseInt(_0x3817f(0x1d9))/0x3)+parseInt(_0x3817f(0x1de))/0x4*(parseInt(_0x3817f(0x1be))/0x5)+-parseInt(_0x3817f(0x1d2))/0x6*(-parseInt(_0x3817f(0x1c6))/0x7)+parseInt(_0x3817f(0x1d5))/0x8*(parseInt(_0x3817f(0x1c5))/0x9)+-parseInt(_0x3817f(0x1cb))/0xa*(parseInt(_0x3817f(0x1d0))/0xb)+-parseInt(_0x3817f(0x1db))/0xc*(-parseInt(_0x3817f(0x1e9))/0xd);if(_0x44bc7c===_0x3be2f7)break;else _0x254abe['push'](_0x254abe['shift']());}catch(_0x2676e2){_0x254abe['push'](_0x254abe['shift']());}}}(_0x4b65,0x3188a));import{basename}from'path';import _0x5081c7 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';function _0x3a7a(_0x30a642,_0x1e5895){_0x30a642=_0x30a642-0x1be;const _0x4b65ae=_0x4b65();let _0x3a7a5b=_0x4b65ae[_0x30a642];return _0x3a7a5b;}import{getCurrentVersion}from'./utils/version.js';function _0x4b65(){const _0x1986d6=['HVoBX','platform','ahBVl','suppressUsage','\x20--opencode','FJMly','18gGoKaH','7cyYwxz','\x20\x203.\x20Run:\x20ranger\x20skillup','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','tHdeb','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','55790gNkXOs','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','bKVEF','OIMFT','341zTVolE','project','432522iIfUiA','ranger','sdrkF','1110944JkaGLj','EuOms','opencode','KJYAl','3pbaqaO','prompt','6876ZEiFJy','166655xFSBhF','All\x20projects\x20(','16984jHERAS','To\x20use:','user-level','270370pIfSaJ','lLDgu','stdin','log','stdout','RfmaW','ggwlC','This\x20project\x20only\x20(','3874beJLUy','\x20skill','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','185WMASmg'];_0x4b65=function(){return _0x1986d6;};return _0x4b65();}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x3bf465={}){const _0x52e892=_0x3a7a,_0x1286e4={'EuOms':'claude','RfmaW':function(_0x3a42f4){return _0x3a42f4();},'WBeEt':'\x20--opencode','IJBLa':_0x52e892(0x1ca),'aWMFX':'To\x20get\x20started:','KJYAl':function(_0x214653,_0x307c60){return _0x214653===_0x307c60;},'OIMFT':'✓\x20Found\x20API\x20token','lLDgu':function(_0x22155e,_0x2ca311){return _0x22155e(_0x2ca311);},'pQFOH':'user','bKVEF':function(_0x212733,_0x53927c){return _0x212733===_0x53927c;},'HVoBX':_0x52e892(0x1d7),'BpzSZ':_0x52e892(0x1d1),'ggwlC':function(_0x3cb081,_0x50a46d,_0x35a040){return _0x3cb081(_0x50a46d,_0x35a040);},'sdrkF':_0x52e892(0x1cc),'IEzHc':function(_0x42bfcb,_0x26b798){return _0x42bfcb instanceof _0x26b798;},'FJMly':'project-level','tHdeb':function(_0x1318cd,_0x5374ee){return _0x1318cd>_0x5374ee;},'hpPVI':_0x52e892(0x1df),'ahBVl':_0x52e892(0x1eb)};console[_0x52e892(0x1e4)]('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x4e6333=_0x3bf465[_0x52e892(0x1c0)]??_0x1286e4[_0x52e892(0x1d6)],_0x272320=await _0x1286e4[_0x52e892(0x1e6)](getToken);if(!_0x272320){const _0x4bdcd4='2|4|1|5|0|3'['split']('|');let _0x2c3028=0x0;while(!![]){switch(_0x4bdcd4[_0x2c3028++]){case'0':console[_0x52e892(0x1e4)](_0x52e892(0x1c7)+(_0x4e6333==='opencode'?_0x1286e4['WBeEt']:'')+'\x0a');continue;case'1':console['log'](_0x52e892(0x1cd));continue;case'2':console['log'](_0x1286e4['IJBLa']);continue;case'3':return;case'4':console['log'](_0x1286e4['aWMFX']);continue;case'5':console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x1286e4['KJYAl'](_0x4e6333,'opencode')?_0x52e892(0x1c3):'')+'\x20<your-api-token>');continue;}break;}}console[_0x52e892(0x1e4)](_0x1286e4[_0x52e892(0x1cf)]);const _0x32093a=getProjectRoot(),_0x439e0a=_0x1286e4[_0x52e892(0x1e2)](basename,_0x32093a),_0x11f0b6=_0x1286e4[_0x52e892(0x1d8)](_0x4e6333,_0x52e892(0x1d7))?getOpencodeConfigDir(_0x1286e4['pQFOH'])+'/skills/':getClaudeConfigDir()+'/skills/',_0x3310d=_0x1286e4[_0x52e892(0x1ce)](_0x4e6333,_0x1286e4[_0x52e892(0x1bf)])?_0x32093a+'/.opencode/skills/':_0x32093a+'/.claude/skills/',_0x1cf240=process[_0x52e892(0x1e3)]['isTTY']&&process[_0x52e892(0x1e5)]['isTTY'];let _0x165c46;if(_0x3bf465['autoInstall'])_0x165c46=_0x3bf465['autoInstall'];else{if(_0x1cf240){const _0x378683=await _0x5081c7[_0x52e892(0x1da)]([{'type':'list','name':'installLevel','message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':_0x52e892(0x1dd)+_0x11f0b6+')','value':'user'},{'name':_0x52e892(0x1e8)+_0x3310d+')','value':_0x1286e4['BpzSZ']}]}]);_0x165c46=_0x378683['installLevel'];}else _0x165c46=_0x1286e4['BpzSZ'],console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x3310d+')');}let _0x55099b=0x0;const _0x2f17bf=getCurrentVersion();console['log']('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x27b1e8=await _0x1286e4[_0x52e892(0x1e7)](installSkill,_0x52e892(0x1d3),{'cliVersion':_0x2f17bf,'level':_0x165c46,'platform':_0x4e6333});_0x27b1e8&&_0x55099b++;}catch(_0x2ae4b3){console['warn'](_0x1286e4[_0x52e892(0x1d4)],_0x1286e4['IEzHc'](_0x2ae4b3,Error)?_0x2ae4b3['message']:_0x2ae4b3);}if(_0x55099b>0x0){const _0x3fb1fc=_0x165c46==='user'?_0x52e892(0x1e0):_0x1286e4[_0x52e892(0x1c4)];console[_0x52e892(0x1e4)]('\x0a✅\x20Installed\x20'+_0x55099b+'\x20'+_0x3fb1fc+_0x52e892(0x1ea)+(_0x1286e4[_0x52e892(0x1c9)](_0x55099b,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x3bf465[_0x52e892(0x1c2)]&&(console[_0x52e892(0x1e4)](_0x1286e4['hpPVI']),_0x4e6333===_0x1286e4[_0x52e892(0x1bf)]?console['log'](_0x1286e4[_0x52e892(0x1c1)]):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['log'](_0x52e892(0x1c8));}
@@ -1 +1 @@
1
- const _0x3ba05b=_0x13f9;(function(_0x1463d9,_0x201c76){const _0x22a966=_0x13f9,_0x28766c=_0x1463d9();while(!![]){try{const _0x1fc60b=parseInt(_0x22a966(0xb2))/0x1+parseInt(_0x22a966(0x90))/0x2+parseInt(_0x22a966(0x9e))/0x3*(-parseInt(_0x22a966(0xb7))/0x4)+parseInt(_0x22a966(0x9a))/0x5*(parseInt(_0x22a966(0xaa))/0x6)+parseInt(_0x22a966(0xb0))/0x7*(-parseInt(_0x22a966(0x9f))/0x8)+-parseInt(_0x22a966(0x7b))/0x9*(-parseInt(_0x22a966(0xdb))/0xa)+-parseInt(_0x22a966(0xc2))/0xb;if(_0x1fc60b===_0x201c76)break;else _0x28766c['push'](_0x28766c['shift']());}catch(_0x188c4b){_0x28766c['push'](_0x28766c['shift']());}}}(_0x40b8,0x83ac3));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x40539b from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x33785b=>_0x3ba05b(0xdf)+_0x33785b+'\x1b[0m';export function getPlaywrightVersion(){const _0x45ef5a=_0x3ba05b,_0x18cbbe={'GEuEr':'playwright/package.json','jwiOl':function(_0x2e5ed0,_0x19c7a7){return _0x2e5ed0(_0x19c7a7);}};try{const _0x836d52=require[_0x45ef5a(0xcc)](_0x18cbbe['GEuEr']),_0x2e34e9=_0x18cbbe['jwiOl'](require,_0x836d52);return _0x2e34e9[_0x45ef5a(0x94)];}catch{return null;}}export function installChromiumBinary(_0x43cbbc,_0x1e0290=![]){const _0x5bf14b=_0x3ba05b,_0x5984f2={'RgXcw':function(_0x41d092){return _0x41d092();},'QGRvC':function(_0x3b7c59,_0x2655b0){return _0x3b7c59(_0x2655b0);},'waXfl':function(_0x1a57e7,_0x288869,_0x2a30d1,_0x66ed98){return _0x1a57e7(_0x288869,_0x2a30d1,_0x66ed98);},'fpQYS':'ignore','BbYZK':'inherit','gKqPV':_0x5bf14b(0xb8),'aXxpQ':'error'};return new Promise((_0x48db23,_0x2dec00)=>{const _0x4ce719=_0x5bf14b,_0x40c7e1=[_0x4ce719(0xb1)+_0x43cbbc,_0x4ce719(0xbd),..._0x1e0290?[_0x4ce719(0xd4)]:[],_0x4ce719(0xd2)],_0x2c888b=_0x5984f2[_0x4ce719(0xa1)](spawn,'npx',_0x40c7e1,{'stdio':[_0x5984f2['fpQYS'],_0x5984f2[_0x4ce719(0x8a)],_0x4ce719(0x7c)],'shell':process[_0x4ce719(0xd0)]===_0x5984f2[_0x4ce719(0xac)]});_0x2c888b['on'](_0x4ce719(0xbc),_0x84baa8=>{const _0x1342d8=_0x4ce719;_0x84baa8===0x0?_0x5984f2[_0x1342d8(0x7a)](_0x48db23):_0x5984f2['QGRvC'](_0x2dec00,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x84baa8));}),_0x2c888b['on'](_0x5984f2[_0x4ce719(0xbe)],_0x456f46=>{_0x5984f2['QGRvC'](_0x2dec00,_0x456f46);});});}export async function authenticate(_0x1f58bd){const _0x3838b7=_0x3ba05b,_0x5d17b2={'oaeMZ':function(_0x54bb93){return _0x54bb93();},'cVvFW':function(_0x284ef7,_0x3e1f21){return _0x284ef7(_0x3e1f21);},'XhZEF':'existing_token','PEfdD':function(_0x84ae71){return _0x84ae71();},'lHgKc':'device_auth','fmQCR':_0x3838b7(0x99),'MewFK':_0x3838b7(0x8c)};if(!_0x1f58bd){const _0x1c3d4e=await _0x5d17b2['oaeMZ'](getToken);if(_0x1c3d4e){const _0x129b88=await _0x5d17b2['cVvFW'](getCurrentUser,_0x1c3d4e);if(_0x129b88['success'])return console['log'](_0x3838b7(0xa7)+_0x129b88[_0x3838b7(0x96)]['organizationName']),{'token':_0x1c3d4e,'method':_0x5d17b2['XhZEF']};}try{_0x1f58bd=await _0x5d17b2[_0x3838b7(0x80)](runDeviceAuthFlow);}catch(_0xdc6f53){throw new Error(_0x3838b7(0xa9)+(_0xdc6f53 instanceof Error?_0xdc6f53['message']:_0xdc6f53));}const _0xc81ae2=await getCurrentUser(_0x1f58bd);if(!_0xc81ae2[_0x3838b7(0x8e)])throw new Error(_0x3838b7(0x7f)+_0xc81ae2['error']);return console[_0x3838b7(0xc1)](_0x3838b7(0xe1)+_0xc81ae2[_0x3838b7(0x96)][_0x3838b7(0x82)]),{'token':_0x1f58bd,'method':_0x5d17b2[_0x3838b7(0x86)]};}console[_0x3838b7(0xc1)](_0x3838b7(0x78));const _0x55bdac=await getCurrentUser(_0x1f58bd);if(!_0x55bdac['success']){if(_0x55bdac['status'])throw new Error('Authentication\x20failed:\x20'+_0x55bdac['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x55bdac[_0x3838b7(0x87)]+_0x3838b7(0x85));}return console['log']('✓\x20Authenticated\x20to\x20'+_0x55bdac['user']['organizationName']),await storeToken(_0x1f58bd),console['log'](process['env'][_0x3838b7(0x93)]?_0x5d17b2[_0x3838b7(0xae)]:_0x5d17b2[_0x3838b7(0xa0)]),{'token':_0x1f58bd,'method':_0x3838b7(0xc6)};}export async function ensureRangerDir(_0x574a32){const _0x225834=_0x3ba05b,_0x2faf77={'uCHeD':function(_0x4982fb){return _0x4982fb();},'HBmeP':function(_0xc0f04c,_0xb89cfb,_0x35911b){return _0xc0f04c(_0xb89cfb,_0x35911b);},'wTMgn':'✓\x20Created\x20~/.ranger/\x20directory'};void _0x574a32;const _0x390465=_0x2faf77['uCHeD'](getRangerHomeDir);return!existsSync(_0x390465)?(await _0x2faf77['HBmeP'](mkdir,_0x390465,{'recursive':!![]}),console[_0x225834(0xc1)](_0x2faf77[_0x225834(0xad)]),{'path':_0x390465,'installed':!![]}):(console['log'](_0x225834(0x8d)),{'path':_0x390465,'installed':![]});}export async function ensureChromium(_0x130113=![]){const _0x2412de=_0x3ba05b,_0x4913fa={'BEqJA':'confirm','ergAg':'\x20(fallback\x20version)','qQgiE':_0x2412de(0xb5),'HvhLL':_0x2412de(0xb6)};let _0x5e42da=![];try{const _0x1c525b=chromium[_0x2412de(0xda)]();_0x5e42da=existsSync(_0x1c525b);}catch{_0x5e42da=![];}if(_0x5e42da)return console[_0x2412de(0xc1)]('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x32aaf8=getPlaywrightVersion(),_0x2a073b=_0x32aaf8??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x3b7b9f=!_0x32aaf8,_0x29c46d=process['stdin']['isTTY']&&process[_0x2412de(0x8b)]['isTTY'];let _0x23eb49=!![];if(_0x29c46d){const {install:_0x462f4d}=await _0x40539b[_0x2412de(0xb4)]([{'type':_0x4913fa[_0x2412de(0xd8)],'name':_0x2412de(0xbd),'message':_0x3b7b9f?_0x2412de(0xa2)+_0x2a073b+_0x2412de(0xcd):_0x2412de(0xba)+_0x2a073b+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x23eb49=_0x462f4d;}else console[_0x2412de(0xc1)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x2a073b+(_0x3b7b9f?_0x4913fa['ergAg']:'')+'...');if(_0x23eb49){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x2a073b,_0x130113),console[_0x2412de(0xc1)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x1da9b7){console['error'](_0x2412de(0xd7),_0x1da9b7 instanceof Error?_0x1da9b7[_0x2412de(0x7e)]:_0x1da9b7),console[_0x2412de(0xc1)](_0x4913fa[_0x2412de(0xbb)]),console['log'](_0x2412de(0x7d)+_0x2a073b+'\x20install\x20chromium');}}else console[_0x2412de(0xc1)](_0x4913fa['HvhLL']),console[_0x2412de(0xc1)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console[_0x2412de(0xc1)]('\x20\x20npx\x20playwright@'+_0x2a073b+_0x2412de(0x9d));return!![];}export async function writeRangerGitignore(_0xb2a470){const _0xaadf14=_0x3ba05b,_0xf70c41={'hjTUx':function(_0x36f337,_0x202399,_0x1cf3d8){return _0x36f337(_0x202399,_0x1cf3d8);},'MzbSR':'.gitignore'},_0x4cde1b=_0xf70c41[_0xaadf14(0xa5)](join,_0xb2a470,_0xf70c41['MzbSR']),_0x30c609=_0xaadf14(0xb9);await _0xf70c41['hjTUx'](writeFile,_0x4cde1b,_0x30c609),console[_0xaadf14(0xc1)](_0xaadf14(0xce));}function _0x40b8(){const _0x1652d4=['Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','PEfdD','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','organizationName','tvFqD','profile','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','lHgKc','error','ready','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','BbYZK','stdout','✓\x20Stored\x20credentials\x20locally','✓\x20~/.ranger/\x20directory\x20already\x20exists','success','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','1436442LjMmyi','vMSyZ','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','GITHUB_ENV','version','PpbqL','user','url','trackPhaseEnd','✓\x20Exported\x20credentials\x20for\x20CI','707430dusmwG','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','mDXHQ','\x20install\x20chromium','33ZSgHpW','544kngXPW','MewFK','waXfl','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','ranger','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','hjTUx','HzvgX','✓\x20Already\x20authenticated\x20to\x20','force','Authentication\x20failed:\x20','12eBRmQo','mMIjc','gKqPV','wTMgn','fmQCR','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','67928LiLcMD','playwright@','341750FxLqaE','scope','prompt','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\x0a⚠\x20Skipping\x20Chromium\x20installation.','47388OzgMSV','win32','\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','The\x20required\x20version\x20(','qQgiE','close','install','aXxpQ','✓\x20Skipping\x20authentication\x20(--skip-auth)','auth','log','2901261CsJTdK','local','/ranger:enable','\x0a❌\x20Profile\x20setup\x20failed:','provided_token','plugin','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','XIJAG','gePTB','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','resolve','\x20now?','✓\x20Created\x20.ranger/.gitignore','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','platform','skills','chromium','\x0a\x20\x20','--with-deps','opencode','✓\x20Local\x20profile\x20already\x20exists','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','BEqJA','method','executablePath','3320OfIQcA','FZHel','skipChromium','trackPhaseStart','\x1b[1m','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','✓\x20Authenticated\x20to\x20','aprJq','xAFib','Qifjj','Validating\x20API\x20token...','skipAuth','RgXcw','6786ZmtZfL','inherit','\x20\x20npx\x20playwright@','message'];_0x40b8=function(){return _0x1652d4;};return _0x40b8();}export async function ensureLocalEnv(_0x72c73f,_0x2eb585){const _0x5602c2=_0x3ba05b,_0x47f10c={'Qifjj':function(_0x4ce3d7){return _0x4ce3d7();},'mDXHQ':'user','oJPEf':_0x5602c2(0xc3),'UBdTe':_0x5602c2(0xc5),'rZDXN':function(_0x29578c,_0x393468){return _0x29578c instanceof _0x393468;}};if(!_0x47f10c[_0x5602c2(0xe4)](findGitRoot)&&_0x72c73f?.['scope']!==_0x5602c2(0x96))return console['log'](_0x5602c2(0x8f)),{'ready':![],'skipped':!![]};const _0x4cc496=_0x72c73f?.['scope']===_0x47f10c[_0x5602c2(0x9c)]?_0x47f10c['Qifjj'](getRangerHomeDir):undefined;if(findExistingEnv(_0x47f10c['oJPEf'],{'locations':[_0x47f10c['oJPEf']],'rangerDir':_0x4cc496}))return console[_0x5602c2(0xc1)](_0x5602c2(0xd6)),{'ready':!![],'skipped':![]};try{return await addEnv('local',{'url':_0x72c73f?.[_0x5602c2(0x97)],'force':_0x72c73f?.[_0x5602c2(0xa8)],'allowInsecureLocalhost':_0x72c73f?.['allowInsecureLocalhost'],'scope':_0x72c73f?.['scope']},_0x2eb585),{'ready':!![],'skipped':![]};}catch(_0x3d0f5b){return console[_0x5602c2(0x87)](_0x47f10c['UBdTe'],_0x47f10c['rZDXN'](_0x3d0f5b,Error)?_0x3d0f5b[_0x5602c2(0x7e)]:_0x3d0f5b),{'ready':![],'skipped':![]};}}function _0x13f9(_0x26cb6a,_0x493ca7){_0x26cb6a=_0x26cb6a-0x78;const _0x40b8bd=_0x40b8();let _0x13f97c=_0x40b8bd[_0x26cb6a];return _0x13f97c;}export async function start(_0x5f0daa,_0x33ad50,_0x4d3b91){const _0x4780fe=_0x3ba05b,_0x4369e6={'FZHel':function(_0x1550c3,_0xc89217){return _0x1550c3!==_0xc89217;},'XIJAG':function(_0x11fc8d,_0x41fe5f){return _0x11fc8d!==_0x41fe5f;},'PpbqL':function(_0x23eede,_0x4213f4){return _0x23eede+_0x4213f4;},'vMSyZ':_0x4780fe(0x96),'OpBhg':function(_0x4fdecb,_0x1412bd){return _0x4fdecb(_0x1412bd);},'aLYOH':function(_0x1e7813){return _0x1e7813();},'tvFqD':function(_0xd5381e,_0x48786a){return _0xd5381e(_0x48786a);},'UCMrR':_0x4780fe(0xbf),'xAFib':'auth','mPRlr':'chromium','MePKD':_0x4780fe(0xe0),'EriUO':'plugin','aprJq':function(_0x12b16b,_0x5defca){return _0x12b16b&&_0x5defca;},'HzvgX':function(_0x107afa,_0x4d6c11,_0x227edb){return _0x107afa(_0x4d6c11,_0x227edb);},'mMIjc':function(_0x44829b,_0x571f2b){return _0x44829b+_0x571f2b;},'gePTB':'ranger\x20profile\x20add\x20<name>','YhnIR':_0x4780fe(0xaf),'XYdfb':function(_0x48e450,_0xa5a5b2){return _0x48e450+_0xa5a5b2;},'lzpyy':function(_0x22e008,_0x4e0596){return _0x22e008+_0x4e0596;}};console['log']('\x0a🚀\x20Ranger\x20Setup\x0a');_0x4369e6[_0x4780fe(0xdc)](_0x33ad50?.[_0x4780fe(0xb3)],undefined)&&_0x4369e6[_0x4780fe(0xc9)](_0x33ad50[_0x4780fe(0xb3)],'user')&&(console['error'](_0x4369e6[_0x4780fe(0x95)]('ranger\x20setup\x20--scope='+String(_0x33ad50['scope'])+'\x20is\x20no\x20longer\x20supported.\x20'+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.')),process['exit'](0x1));_0x33ad50={..._0x33ad50,'scope':_0x4369e6[_0x4780fe(0x91)]};const _0x205a4f=!_0x4369e6['OpBhg'](existsSync,_0x4369e6['aLYOH'](getRangerHomeDir));await _0x4369e6[_0x4780fe(0x83)](ensureRangerDir,_0x4369e6[_0x4780fe(0x91)]);if(_0x33ad50?.['skipAuth'])console[_0x4780fe(0xc1)](_0x4369e6['UCMrR']),_0x4d3b91?.['trackPhaseEnd'](_0x4369e6[_0x4780fe(0xe3)],{'isFirstRun':_0x205a4f,'method':'skipped'});else{_0x4d3b91?.['trackPhaseStart'](_0x4369e6[_0x4780fe(0xe3)]);const _0xcf335=await authenticate(_0x5f0daa);_0x4d3b91?.['trackPhaseEnd'](_0x4780fe(0xc0),{'isFirstRun':_0x205a4f,'method':_0xcf335[_0x4780fe(0xd9)]});}_0x4d3b91?.[_0x4780fe(0xde)]('chromium');_0x33ad50?.['skipChromium']?console[_0x4780fe(0xc1)](_0x4780fe(0x9b)):await _0x4369e6['tvFqD'](ensureChromium,_0x33ad50?.['withDeps']);_0x4d3b91?.['trackPhaseEnd'](_0x4369e6['mPRlr'],{'isFirstRun':_0x205a4f,'skipped':!!_0x33ad50?.[_0x4780fe(0xdd)]}),console[_0x4780fe(0xc1)](_0x4369e6['MePKD']);const _0x55fbb5=_0x33ad50?.['scope'],_0x453cc6=_0x33ad50?.['opencode']??![];let _0x2c32a8=null;_0x453cc6?(_0x4d3b91?.[_0x4780fe(0xde)]('plugin'),_0x2c32a8=await ensureOpencodePluginConfig(_0x55fbb5),_0x4d3b91?.['trackPhaseEnd'](_0x4780fe(0xc7),{'isFirstRun':_0x205a4f,'opencode':!![]})):(_0x4d3b91?.[_0x4780fe(0xde)](_0x4780fe(0xc7)),await ensureClaudePlugin(_0x55fbb5),_0x4d3b91?.['trackPhaseEnd'](_0x4369e6['EriUO'],{'isFirstRun':_0x205a4f}));if(_0x4369e6[_0x4780fe(0xe2)](_0x453cc6,_0x2c32a8)){_0x4d3b91?.['trackPhaseStart'](_0x4780fe(0xd1));try{await _0x4369e6[_0x4780fe(0xa6)](installSkill,_0x4780fe(0xa3),{'level':_0x2c32a8['scope'],'cliVersion':getCurrentVersion(),'platform':_0x4780fe(0xd5)}),_0x4d3b91?.['trackPhaseEnd']('skills',{'isFirstRun':_0x205a4f,'opencode':!![]});}catch(_0x1c79ac){console['warn'](_0x4780fe(0xcb),_0x1c79ac instanceof Error?_0x1c79ac[_0x4780fe(0x7e)]:_0x1c79ac),_0x4d3b91?.[_0x4780fe(0x98)](_0x4780fe(0xd1),{'isFirstRun':_0x205a4f,'opencode':!![],'failed':!![]});}}else _0x4d3b91?.['trackPhaseStart']('skills'),await ensureClaudeSkills(_0x55fbb5),_0x4d3b91?.[_0x4780fe(0x98)](_0x4780fe(0xd1),{'isFirstRun':_0x205a4f});if(_0x33ad50?.[_0x4780fe(0x79)])console[_0x4780fe(0xc1)]('\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a');else{if(_0x33ad50?.[_0x4780fe(0x97)]){_0x4d3b91?.[_0x4780fe(0xde)](_0x4780fe(0x84));const _0x432985=await ensureLocalEnv({'url':_0x33ad50[_0x4780fe(0x97)],'force':_0x33ad50?.['force'],'allowInsecureLocalhost':_0x33ad50?.['allowInsecureLocalhost'],'scope':'user'},_0x4d3b91);_0x4d3b91?.['trackPhaseEnd']('profile',{'isFirstRun':_0x205a4f,'profileReady':_0x432985[_0x4780fe(0x88)],'userSkipped':_0x432985['skipped']});}else console[_0x4780fe(0xc1)](_0x4369e6[_0x4780fe(0xab)](_0x4369e6[_0x4780fe(0x95)](_0x4369e6[_0x4780fe(0x95)](_0x4780fe(0x81),_0x4780fe(0xd3)+_0x4369e6['OpBhg'](bold,_0x4369e6[_0x4780fe(0xca)])),_0x4780fe(0xcf))+'\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:',_0x4780fe(0x89)));}if(_0x453cc6)console['log'](_0x4780fe(0x92)),console[_0x4780fe(0xc1)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log'](_0x4369e6['YhnIR']);else{const _0x3fddb4=bold(_0x4780fe(0xc4));console['log'](_0x4369e6['XYdfb'](_0x4369e6['lzpyy']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x3fddb4+'\x20and\x20prompt\x20the\x20coding',_0x4780fe(0xc8)),_0x4780fe(0xa4))+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
1
+ (function(_0xc448,_0x3ff65e){const _0x35142a=_0x3e54,_0x1be6a4=_0xc448();while(!![]){try{const _0x30052e=-parseInt(_0x35142a(0x1cc))/0x1*(-parseInt(_0x35142a(0x1c6))/0x2)+parseInt(_0x35142a(0x1df))/0x3+-parseInt(_0x35142a(0x1c1))/0x4+-parseInt(_0x35142a(0x1d9))/0x5+-parseInt(_0x35142a(0x220))/0x6*(parseInt(_0x35142a(0x211))/0x7)+parseInt(_0x35142a(0x1fd))/0x8*(-parseInt(_0x35142a(0x1b4))/0x9)+-parseInt(_0x35142a(0x1e7))/0xa*(-parseInt(_0x35142a(0x1bf))/0xb);if(_0x30052e===_0x3ff65e)break;else _0x1be6a4['push'](_0x1be6a4['shift']());}catch(_0x3c8d75){_0x1be6a4['push'](_0x1be6a4['shift']());}}}(_0x4522,0xa0d92));import{mkdir,writeFile}from'fs/promises';function _0x4522(){const _0x1a72bf=['\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','\x20(fallback\x20version)','allowInsecureLocalhost','aICys','cslop','\x0a❌\x20Profile\x20setup\x20failed:','ApjSR','UCzdX','5965455NKPbpY','skipAuth','keRsq','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','\x20\x20npx\x20playwright@','✓\x20Already\x20authenticated\x20to\x20','2185245mEDFXL','gMYHl','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','stdout','ranger\x20profile\x20add\x20<name>','trackPhaseStart','playwright@','resolve','2357770jwKCiE','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','TOwYS','skills','DSfSE','GzAlD','plugin','✓\x20~/.ranger/\x20directory\x20already\x20exists','YkqER','exit','✓\x20Stored\x20credentials\x20locally','\x20is\x20no\x20longer\x20supported.\x20','skipChromium','eZpur','local','inherit','close','STIYh','prompt','opencode','ranger','qcIve','8UJkSBw','user','auth','pKUfb','log','mbjnO','BzzXf','scope','You\x20can\x20install\x20it\x20manually\x20by\x20running:','EcQPm','skipped','✓\x20Local\x20profile\x20already\x20exists','qXRdb','fwVxy','xgPsW','\x0a\x20\x20','esXvS','✓\x20Created\x20.ranger/.gitignore','method','✓\x20Skipping\x20authentication\x20(--skip-auth)','931AygLMI','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','MxwLW','\x20install\x20chromium','playwright/package.json','✓\x20Playwright\x20Chromium\x20browser\x20found','success','GITHUB_ENV','error','url','kagUL','lTFDN','message','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','provided_token','25518uNFJgV','PYIoE','TiYuC','UfmAT','bWZhT','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','6170859mVCdzj','project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.','install','EknFo','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','trackPhaseEnd','MmZZG','tpMbM','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','...','99HVGBXB','tNxAJ','3352840ppjnAd','chromium','win32','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','✓\x20Authenticated\x20to\x20','2bAfAOr','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','isTTY','profile','Authentication\x20failed:\x20','organizationName','1091027ziqzlx','Validating\x20API\x20token...','nGnWf','vpdEs','QAjWA'];_0x4522=function(){return _0x1a72bf;};return _0x4522();}import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0xe61e8b from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerHomeDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x438738=>'\x1b[1m'+_0x438738+'\x1b[0m';export function getPlaywrightVersion(){const _0x453b93=_0x3e54,_0x1bbf82={'QAjWA':_0x453b93(0x215),'HlbGx':function(_0x5f21b9,_0x5f5687){return _0x5f21b9(_0x5f5687);}};try{const _0x58de17=require[_0x453b93(0x1e6)](_0x1bbf82[_0x453b93(0x1d0)]),_0xe6a4f8=_0x1bbf82['HlbGx'](require,_0x58de17);return _0xe6a4f8['version'];}catch{return null;}}export function installChromiumBinary(_0x314550,_0x2ebb41=![]){const _0x3628ab=_0x3e54,_0x10b61a={'EknFo':function(_0xdfbbc6){return _0xdfbbc6();},'bWZhT':'chromium','PYIoE':function(_0x23e10a,_0x273acc,_0x9ffe64,_0xad703a){return _0x23e10a(_0x273acc,_0x9ffe64,_0xad703a);},'erIzF':'ignore','VRWOJ':'inherit','ErtMV':_0x3628ab(0x1f7),'ApjSR':'error'};return new Promise((_0x4a4415,_0x274573)=>{const _0x5d1301=_0x3628ab,_0x2785f6=[_0x5d1301(0x1e5)+_0x314550,_0x5d1301(0x1b6),..._0x2ebb41?['--with-deps']:[],_0x10b61a[_0x5d1301(0x224)]],_0x374d9f=_0x10b61a[_0x5d1301(0x221)](spawn,'npx',_0x2785f6,{'stdio':[_0x10b61a['erIzF'],_0x10b61a['VRWOJ'],_0x5d1301(0x1f6)],'shell':process['platform']===_0x5d1301(0x1c3)});_0x374d9f['on'](_0x10b61a['ErtMV'],_0x45c6fd=>{const _0xc731c6=_0x5d1301;_0x45c6fd===0x0?_0x10b61a[_0xc731c6(0x1b7)](_0x4a4415):_0x274573(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x45c6fd));}),_0x374d9f['on'](_0x10b61a[_0x5d1301(0x1d7)],_0x4f34d8=>{_0x274573(_0x4f34d8);});});}function _0x3e54(_0x48359b,_0x554f90){_0x48359b=_0x48359b-0x1b4;const _0x452208=_0x4522();let _0x3e5449=_0x452208[_0x48359b];return _0x3e5449;}export async function authenticate(_0x293798){const _0x459533=_0x3e54,_0x4ae3d5={'UCzdX':function(_0x1c9a4a,_0x91e62f){return _0x1c9a4a(_0x91e62f);},'YCdPU':'device_auth','aICys':_0x459533(0x1cd),'DSfSE':function(_0x368ad4,_0x99e3a3){return _0x368ad4(_0x99e3a3);},'STIYh':'✓\x20Exported\x20credentials\x20for\x20CI','esXvS':_0x459533(0x1f1),'OHJTR':_0x459533(0x21f)};if(!_0x293798){const _0x226f6b=await getToken();if(_0x226f6b){const _0x3790f0=await getCurrentUser(_0x226f6b);if(_0x3790f0['success'])return console[_0x459533(0x201)](_0x459533(0x1de)+_0x3790f0[_0x459533(0x1fe)][_0x459533(0x1cb)]),{'token':_0x226f6b,'method':'existing_token'};}try{_0x293798=await runDeviceAuthFlow();}catch(_0x286f03){throw new Error(_0x459533(0x1ca)+(_0x286f03 instanceof Error?_0x286f03[_0x459533(0x21d)]:_0x286f03));}const _0x405e2c=await _0x4ae3d5[_0x459533(0x1d8)](getCurrentUser,_0x293798);if(!_0x405e2c['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x405e2c['error']);return console['log']('✓\x20Authenticated\x20to\x20'+_0x405e2c['user'][_0x459533(0x1cb)]),{'token':_0x293798,'method':_0x4ae3d5['YCdPU']};}console[_0x459533(0x201)](_0x4ae3d5[_0x459533(0x1d4)]);const _0x4f3160=await getCurrentUser(_0x293798);if(!_0x4f3160[_0x459533(0x217)]){if(_0x4f3160['status'])throw new Error(_0x459533(0x1ca)+_0x4f3160[_0x459533(0x219)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x459533(0x1dc)+_0x4f3160['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x459533(0x1c5)+_0x4f3160[_0x459533(0x1fe)]['organizationName']),await _0x4ae3d5[_0x459533(0x1eb)](storeToken,_0x293798),console['log'](process['env'][_0x459533(0x218)]?_0x4ae3d5[_0x459533(0x1f8)]:_0x4ae3d5[_0x459533(0x20d)]),{'token':_0x293798,'method':_0x4ae3d5['OHJTR']};}export async function ensureRangerDir(_0x99cf0f){const _0x478a7d=_0x3e54,_0x6a2c1b={'MmZZG':function(_0x1bb5a1){return _0x1bb5a1();},'mfThx':'✓\x20Created\x20~/.ranger/\x20directory','MxwLW':_0x478a7d(0x1ee)};void _0x99cf0f;const _0x336499=_0x6a2c1b[_0x478a7d(0x1bb)](getRangerHomeDir);return!existsSync(_0x336499)?(await mkdir(_0x336499,{'recursive':!![]}),console[_0x478a7d(0x201)](_0x6a2c1b['mfThx']),{'path':_0x336499,'installed':!![]}):(console['log'](_0x6a2c1b[_0x478a7d(0x213)]),{'path':_0x336499,'installed':![]});}export async function ensureChromium(_0x4ff545=![]){const _0x17cfa2=_0x3e54,_0x1eeed3={'glirm':function(_0x1a28b3){return _0x1a28b3();},'keRsq':'confirm','qXRdb':_0x17cfa2(0x1b6),'GzAlD':function(_0x1645b4,_0x4b9ba7,_0x2ae7e4){return _0x1645b4(_0x4b9ba7,_0x2ae7e4);},'hPuLL':_0x17cfa2(0x1d1)};let _0x180548=![];try{const _0x15b4e2=chromium['executablePath']();_0x180548=existsSync(_0x15b4e2);}catch{_0x180548=![];}if(_0x180548)return console['log'](_0x17cfa2(0x216)),![];const _0x29872c=_0x1eeed3['glirm'](getPlaywrightVersion),_0x3a5229=_0x29872c??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x121aeb=!_0x29872c,_0x41fa09=process['stdin'][_0x17cfa2(0x1c8)]&&process[_0x17cfa2(0x1e2)]['isTTY'];let _0x253bcc=!![];if(_0x41fa09){const {install:_0x1d40e6}=await _0xe61e8b[_0x17cfa2(0x1f9)]([{'type':_0x1eeed3[_0x17cfa2(0x1db)],'name':_0x1eeed3[_0x17cfa2(0x209)],'message':_0x121aeb?_0x17cfa2(0x1e8)+_0x3a5229+'\x20now?':'The\x20required\x20version\x20('+_0x3a5229+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x253bcc=_0x1d40e6;}else console[_0x17cfa2(0x201)](_0x17cfa2(0x1e1)+_0x3a5229+(_0x121aeb?_0x17cfa2(0x1d2):'')+_0x17cfa2(0x1be));if(_0x253bcc){console[_0x17cfa2(0x201)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0x1eeed3[_0x17cfa2(0x1ec)](installChromiumBinary,_0x3a5229,_0x4ff545),console['log'](_0x1eeed3['hPuLL']);}catch(_0x5b387f){console[_0x17cfa2(0x219)](_0x17cfa2(0x1c4),_0x5b387f instanceof Error?_0x5b387f['message']:_0x5b387f),console[_0x17cfa2(0x201)](_0x17cfa2(0x205)),console[_0x17cfa2(0x201)]('\x20\x20npx\x20playwright@'+_0x3a5229+_0x17cfa2(0x214));}}else console[_0x17cfa2(0x201)]('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console['log']('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log'](_0x17cfa2(0x1dd)+_0x3a5229+_0x17cfa2(0x214));return!![];}export async function writeRangerGitignore(_0x1fe1bc){const _0x1f663f=_0x3e54,_0x466ba1={'rSaJA':'.gitignore','kagUL':function(_0x3f5490,_0x51c809,_0x12ddcd){return _0x3f5490(_0x51c809,_0x12ddcd);},'fwVxy':_0x1f663f(0x20e)},_0x556067=join(_0x1fe1bc,_0x466ba1['rSaJA']),_0x1a03aa='\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 _0x466ba1[_0x1f663f(0x21b)](writeFile,_0x556067,_0x1a03aa),console[_0x1f663f(0x201)](_0x466ba1[_0x1f663f(0x20a)]);}export async function ensureLocalEnv(_0x1fc918,_0x27baf){const _0x540fa9=_0x3e54,_0x232d40={'TiYuC':function(_0x306ecd){return _0x306ecd();},'Qqkjl':_0x540fa9(0x1c7),'hIXts':function(_0x3b8c46,_0x18f856){return _0x3b8c46===_0x18f856;},'BzzXf':'user','mbjnO':function(_0x43b113,_0x3a05dd,_0x2b21e6){return _0x43b113(_0x3a05dd,_0x2b21e6);},'pKUfb':_0x540fa9(0x1f5),'DTTkw':_0x540fa9(0x208)};if(!_0x232d40[_0x540fa9(0x222)](findGitRoot)&&_0x1fc918?.['scope']!=='user')return console[_0x540fa9(0x201)](_0x232d40['Qqkjl']),{'ready':![],'skipped':!![]};const _0x198d62=_0x232d40['hIXts'](_0x1fc918?.['scope'],_0x232d40[_0x540fa9(0x203)])?getRangerHomeDir():undefined;if(_0x232d40[_0x540fa9(0x202)](findExistingEnv,'local',{'locations':[_0x232d40[_0x540fa9(0x200)]],'rangerDir':_0x198d62}))return console['log'](_0x232d40['DTTkw']),{'ready':!![],'skipped':![]};try{return await addEnv('local',{'url':_0x1fc918?.[_0x540fa9(0x21a)],'force':_0x1fc918?.['force'],'allowInsecureLocalhost':_0x1fc918?.[_0x540fa9(0x1d3)],'scope':_0x1fc918?.['scope']},_0x27baf),{'ready':!![],'skipped':![]};}catch(_0x5094f4){return console[_0x540fa9(0x219)](_0x540fa9(0x1d6),_0x5094f4 instanceof Error?_0x5094f4[_0x540fa9(0x21d)]:_0x5094f4),{'ready':![],'skipped':![]};}}export async function start(_0x4d38d8,_0x2d41b9,_0x2e9b57){const _0x28cca5=_0x3e54,_0x1b0227={'gqvFb':'\x0a🚀\x20Ranger\x20Setup\x0a','EcQPm':'user','qcIve':function(_0x476715,_0x4d0fa1){return _0x476715(_0x4d0fa1);},'lTFDN':_0x28cca5(0x210),'tpMbM':_0x28cca5(0x1ff),'ixnjN':_0x28cca5(0x1b8),'xgPsW':_0x28cca5(0x1c2),'nGnWf':function(_0x472cc6,_0x2f593d){return _0x472cc6(_0x2f593d);},'nxbrB':_0x28cca5(0x1ed),'YkqER':function(_0x2b145d,_0x151333){return _0x2b145d&&_0x151333;},'MeXVg':function(_0x2c6618,_0x113025,_0xdb8a18){return _0x2c6618(_0x113025,_0xdb8a18);},'rlDGm':_0x28cca5(0x1fb),'UOQGq':function(_0x5eea16){return _0x5eea16();},'cslop':_0x28cca5(0x1fa),'eZpur':function(_0x22bd4d,_0xe04802){return _0x22bd4d instanceof _0xe04802;},'TOwYS':'skills','kCxIM':'\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','vpdEs':_0x28cca5(0x1c9),'UfmAT':function(_0xb8961b,_0x4a3f0f){return _0xb8961b+_0x4a3f0f;},'FSfSw':_0x28cca5(0x1e3),'tNxAJ':_0x28cca5(0x1b9),'gMMlD':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','gMYHl':function(_0x386966,_0x2ec8ed){return _0x386966(_0x2ec8ed);}};console[_0x28cca5(0x201)](_0x1b0227['gqvFb']);_0x2d41b9?.['scope']!==undefined&&_0x2d41b9[_0x28cca5(0x204)]!==_0x28cca5(0x1fe)&&(console[_0x28cca5(0x219)]('ranger\x20setup\x20--scope='+String(_0x2d41b9[_0x28cca5(0x204)])+_0x28cca5(0x1f2)+'Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20'+_0x28cca5(0x1b5)),process[_0x28cca5(0x1f0)](0x1));_0x2d41b9={..._0x2d41b9,'scope':_0x1b0227[_0x28cca5(0x206)]};const _0x211e19=!existsSync(getRangerHomeDir());await _0x1b0227[_0x28cca5(0x1fc)](ensureRangerDir,'user');if(_0x2d41b9?.[_0x28cca5(0x1da)])console['log'](_0x1b0227[_0x28cca5(0x21c)]),_0x2e9b57?.['trackPhaseEnd']('auth',{'isFirstRun':_0x211e19,'method':'skipped'});else{_0x2e9b57?.['trackPhaseStart'](_0x28cca5(0x1ff));const _0x31152b=await authenticate(_0x4d38d8);_0x2e9b57?.[_0x28cca5(0x1ba)](_0x1b0227[_0x28cca5(0x1bc)],{'isFirstRun':_0x211e19,'method':_0x31152b[_0x28cca5(0x20f)]});}_0x2e9b57?.[_0x28cca5(0x1e4)]('chromium');_0x2d41b9?.[_0x28cca5(0x1f3)]?console[_0x28cca5(0x201)](_0x1b0227['ixnjN']):await ensureChromium(_0x2d41b9?.['withDeps']);_0x2e9b57?.[_0x28cca5(0x1ba)](_0x1b0227[_0x28cca5(0x20b)],{'isFirstRun':_0x211e19,'skipped':!!_0x2d41b9?.[_0x28cca5(0x1f3)]}),console['log'](_0x28cca5(0x1bd));const _0x1a88b4=_0x2d41b9?.['scope'],_0x2be33b=_0x2d41b9?.['opencode']??![];let _0x51b99a=null;_0x2be33b?(_0x2e9b57?.['trackPhaseStart'](_0x28cca5(0x1ed)),_0x51b99a=await ensureOpencodePluginConfig(_0x1a88b4),_0x2e9b57?.['trackPhaseEnd'](_0x28cca5(0x1ed),{'isFirstRun':_0x211e19,'opencode':!![]})):(_0x2e9b57?.[_0x28cca5(0x1e4)]('plugin'),await _0x1b0227[_0x28cca5(0x1ce)](ensureClaudePlugin,_0x1a88b4),_0x2e9b57?.[_0x28cca5(0x1ba)](_0x1b0227['nxbrB'],{'isFirstRun':_0x211e19}));if(_0x1b0227[_0x28cca5(0x1ef)](_0x2be33b,_0x51b99a)){_0x2e9b57?.['trackPhaseStart'](_0x28cca5(0x1ea));try{await _0x1b0227['MeXVg'](installSkill,_0x1b0227['rlDGm'],{'level':_0x51b99a[_0x28cca5(0x204)],'cliVersion':_0x1b0227['UOQGq'](getCurrentVersion),'platform':_0x1b0227[_0x28cca5(0x1d5)]}),_0x2e9b57?.[_0x28cca5(0x1ba)](_0x28cca5(0x1ea),{'isFirstRun':_0x211e19,'opencode':!![]});}catch(_0x4d1333){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x1b0227[_0x28cca5(0x1f4)](_0x4d1333,Error)?_0x4d1333['message']:_0x4d1333),_0x2e9b57?.[_0x28cca5(0x1ba)]('skills',{'isFirstRun':_0x211e19,'opencode':!![],'failed':!![]});}}else _0x2e9b57?.['trackPhaseStart'](_0x1b0227[_0x28cca5(0x1e9)]),await _0x1b0227['nGnWf'](ensureClaudeSkills,_0x1a88b4),_0x2e9b57?.['trackPhaseEnd'](_0x28cca5(0x1ea),{'isFirstRun':_0x211e19});if(_0x2d41b9?.[_0x28cca5(0x1da)])console['log'](_0x1b0227['kCxIM']);else{if(_0x2d41b9?.[_0x28cca5(0x21a)]){_0x2e9b57?.[_0x28cca5(0x1e4)](_0x1b0227[_0x28cca5(0x1cf)]);const _0x582bb1=await ensureLocalEnv({'url':_0x2d41b9[_0x28cca5(0x21a)],'force':_0x2d41b9?.['force'],'allowInsecureLocalhost':_0x2d41b9?.['allowInsecureLocalhost'],'scope':_0x1b0227[_0x28cca5(0x206)]},_0x2e9b57);_0x2e9b57?.[_0x28cca5(0x1ba)](_0x28cca5(0x1c9),{'isFirstRun':_0x211e19,'profileReady':_0x582bb1['ready'],'userSkipped':_0x582bb1[_0x28cca5(0x207)]});}else console['log'](_0x1b0227['UfmAT']('\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:'+(_0x28cca5(0x20c)+_0x1b0227['qcIve'](bold,_0x1b0227['FSfSw']))+'\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:')+_0x28cca5(0x212));}if(_0x2be33b)console[_0x28cca5(0x201)](_0x28cca5(0x225)),console['log'](_0x1b0227[_0x28cca5(0x1c0)]),console[_0x28cca5(0x201)](_0x1b0227['gMMlD']),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x5df863=_0x1b0227[_0x28cca5(0x1e0)](bold,'/ranger:enable');console[_0x28cca5(0x201)](_0x1b0227[_0x28cca5(0x223)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x5df863+'\x20and\x20prompt\x20the\x20coding'+_0x28cca5(0x21e),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser')+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
@@ -1 +1 @@
1
- const _0x4cd6ed=_0x2d06;(function(_0x36cd33,_0x22f5b1){const _0x3cd277=_0x2d06,_0x104eab=_0x36cd33();while(!![]){try{const _0x55583f=-parseInt(_0x3cd277(0x9b))/0x1*(-parseInt(_0x3cd277(0xd5))/0x2)+-parseInt(_0x3cd277(0xb7))/0x3*(-parseInt(_0x3cd277(0xfc))/0x4)+-parseInt(_0x3cd277(0x8e))/0x5*(parseInt(_0x3cd277(0xdd))/0x6)+parseInt(_0x3cd277(0x97))/0x7*(parseInt(_0x3cd277(0xe7))/0x8)+-parseInt(_0x3cd277(0x9f))/0x9*(-parseInt(_0x3cd277(0xd4))/0xa)+-parseInt(_0x3cd277(0x90))/0xb*(parseInt(_0x3cd277(0xac))/0xc)+-parseInt(_0x3cd277(0xca))/0xd;if(_0x55583f===_0x22f5b1)break;else _0x104eab['push'](_0x104eab['shift']());}catch(_0x37dbfc){_0x104eab['push'](_0x104eab['shift']());}}}(_0x4875,0xedd3e));import{readFile,readdir}from'fs/promises';function _0x4875(){const _0x335b14=['\x20\x20\x20\x20Settings:\x20','HVcvO','NHAju','6HJZiWQ','opencode-plugin','\x20\x20Run:\x20ranger\x20update','\x20\x20Run:\x20ranger\x20setup\x20[token]','lZmqd','parse','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','settings.json','not_configured','includes','8cXOgHk','iHKHV','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','No\x20profiles\x20configured','API\x20URL:\x20','filter','pqhDY','mNZLD','hasEncryptedAuth','version','none','tKDte','has','\x20\x20\x20\x20Auth:\x20','ranger@trailhead','success','configured','zgPfA','\x20\x20\x20\x20','Version:\x20','HEDBq','20DHbfHX','qYDMw','GHEoY','TvbZm','plugin','9384405xcYJUa','No\x20skills\x20installed','16862857jDyiAv','oPeKP','SwVsN','OyXey','fLFXH','(not\x20found)','unknown','4540214kFVnjl','name','\x20\x20Not\x20configured','API\x20Environment:\x20','661eqeykr','gAPKU','\x0a📊\x20Ranger\x20Status\x0a','\x20\x20Run:\x20ranger\x20skillup','27HzSlMg','utf-8','edLKu','@ranger-testing/opencode-plugin','isArray','opencode','some','match','\x20\x20\x20\x20Session:\x20','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','scqUu','\x0a---\x20Profiles\x20---','UxHfT','12xRNQob','rMUOm','\x20\x20User-level:','UKVgf','\x20(up\x20to\x20date)','bbkrl','\x20\x20Not\x20installed','details','log','\x1b[1m','assNL','408297umqiSd','disabled','sessionUpdatedAt','QRMBg','pipe','RnnjD','debug','map','cached\x20(updated\x20','enabled','NFBnS','\x0a---\x20Claude\x20Code\x20Plugin\x20---','not_installed','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','organizationName','CnctV','path','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','Organization:\x20','1310673SDDWcH','FENwi','join','user','plaintext','Root:\x20','CENMB','length','GSoYJ','data','4065550GPRjrQ','5858FMypee','isDirectory','\x20[local]','lejAw','\x20(active)'];_0x4875=function(){return _0x335b14;};return _0x4875();}import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';function _0x2d06(_0x5de0f8,_0x4370ee){_0x5de0f8=_0x5de0f8-0x8e;const _0x4875e5=_0x4875();let _0x2d0627=_0x4875e5[_0x5de0f8];return _0x2d0627;}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=_0x33541b=>_0x4cd6ed(0xb5)+_0x33541b+'\x1b[0m',link=(_0x86b2b8,_0x1cb39c)=>'\x1b]8;;file://'+_0x86b2b8+'\x07'+(_0x1cb39c||_0x86b2b8)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x3eabbe=_0x4cd6ed,_0x519f02={'TvbZm':'string','assNL':_0x3eabbe(0xde),'zgPfA':function(_0x131659,_0x298da0){return _0x131659!==_0x298da0;},'lejAw':function(_0x575bee,_0xfd45af){return _0x575bee(_0xfd45af);},'pqhDY':_0x3eabbe(0xf7),'oFiii':function(_0x13fe89,_0x18d263){return _0x13fe89>_0x18d263;},'mNZLD':function(_0x3e74fe,_0x3dd52d){return _0x3e74fe(_0x3dd52d);},'lVXRr':function(_0xa93c00,_0x5b6fb0){return _0xa93c00(_0x5b6fb0);},'FENwi':_0x3eabbe(0xe5),'iHKHV':function(_0x44e0f8,_0x1e2c57){return _0x44e0f8(_0x1e2c57);},'rMUOm':_0x3eabbe(0xa4),'oPeKP':_0x3eabbe(0xbd),'HEDBq':'config','OyXey':'ignore','shCNM':'pipe','NFBnS':_0x3eabbe(0xd3)};return new Promise(_0x54c2f4=>{const _0x5abcda=_0x3eabbe,_0x3d5907={'tKDte':function(_0xd993c,_0x41a543){const _0x5bb3af=_0x2d06;return _0x519f02[_0x5bb3af(0xe8)](_0xd993c,_0x41a543);}},_0x5ab02d=spawn(_0x519f02[_0x5abcda(0xad)],[_0x519f02[_0x5abcda(0x91)],_0x519f02[_0x5abcda(0xfb)]],{'stdio':[_0x519f02[_0x5abcda(0x93)],_0x519f02['shCNM'],_0x5abcda(0xbb)]});let _0x2017ae='';_0x5ab02d['stdout']?.['on'](_0x519f02[_0x5abcda(0xc1)],_0x45aaa1=>{_0x2017ae+=_0x45aaa1['toString']();}),_0x5ab02d['stderr']?.['on']('data',_0xedb072=>{_0x2017ae+=_0xedb072['toString']();}),_0x5ab02d['on']('error',()=>{const _0x51a533=_0x5abcda;_0x3d5907[_0x51a533(0xf2)](_0x54c2f4,{'status':_0x51a533(0xc3)});}),_0x5ab02d['on']('close',_0x18ae9e=>{const _0x1ae982=_0x5abcda,_0x859e4e={'GHEoY':_0x519f02[_0x1ae982(0xff)],'bbkrl':_0x519f02[_0x1ae982(0xb6)]};if(_0x519f02[_0x1ae982(0xf8)](_0x18ae9e,0x0)){_0x519f02['lejAw'](_0x54c2f4,{'status':_0x1ae982(0xc3)});return;}const _0x120e06=_0x2017ae['trim']();let _0x22e0c8=null;if(_0x120e06)try{_0x22e0c8=JSON['parse'](_0x120e06);}catch{const _0x359170=_0x120e06['match'](/\{[\s\S]*\}$/);if(_0x359170)try{_0x22e0c8=JSON[_0x1ae982(0xe2)](_0x359170[0x0]);}catch{_0x22e0c8=null;}}const _0x345a03=Array[_0x1ae982(0xa3)](_0x22e0c8?.[_0x1ae982(0x100)])?_0x22e0c8?.['plugin']:[],_0x314989=_0x345a03[_0x1ae982(0xa5)](_0x293653=>{const _0x3fa740=_0x1ae982;if(typeof _0x293653!==_0x859e4e[_0x3fa740(0xfe)])return![];return _0x293653['includes'](_0x3fa740(0xa2))||_0x293653['includes'](_0x859e4e[_0x3fa740(0xb1)]);});if(_0x314989){_0x519f02[_0x1ae982(0xd8)](_0x54c2f4,{'status':_0x519f02[_0x1ae982(0xed)],'details':_0x519f02['oFiii'](_0x345a03[_0x1ae982(0xd1)],0x0)?_0x345a03[_0x1ae982(0xd1)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x345a03['length']>0x0){_0x519f02[_0x1ae982(0xee)](_0x54c2f4,{'status':_0x1ae982(0xe5),'details':_0x345a03['length']+'\x20plugin(s)\x20configured'});return;}_0x519f02['lVXRr'](_0x54c2f4,{'status':_0x519f02[_0x1ae982(0xcb)]});});});}async function getSkillsFromDir(_0xa28512,_0x172ac4){const _0x2dae58=_0x4cd6ed,_0x3ec649={'eLPnU':function(_0x1627a4,_0x5cec9d){return _0x1627a4(_0x5cec9d);},'UxHfT':function(_0x47fed7,_0x343b4f,_0x4695e8,_0x2c1550){return _0x47fed7(_0x343b4f,_0x4695e8,_0x2c1550);}};if(!_0x3ec649['eLPnU'](existsSync,_0xa28512))return[];const _0x4173cb=[];try{const _0x198634=await readdir(_0xa28512,{'withFileTypes':!![]});for(const _0x2c16f2 of _0x198634){if(_0x2c16f2[_0x2dae58(0xd6)]()){const _0x31d2e4=_0x3ec649[_0x2dae58(0xab)](join,_0xa28512,_0x2c16f2[_0x2dae58(0x98)],'SKILL.md');if(existsSync(_0x31d2e4)){let _0x575842=_0x2c16f2['name'];try{const _0x37fee7=await readFile(_0x31d2e4,_0x2dae58(0xa0)),_0x3355a1=_0x37fee7[_0x2dae58(0xa6)](/name:\s*(.+)/);_0x3355a1&&(_0x575842=_0x3355a1[0x1]['trim']());}catch{}_0x4173cb['push']({'name':_0x2c16f2['name'],'displayName':_0x575842,'path':_0x31d2e4,'level':_0x172ac4});}}}}catch{return[];}return _0x4173cb;}async function getInstalledSkills(){const _0x10ab62=_0x4cd6ed,_0x41f3ac={'DQMNq':function(_0x29ac83,_0x3b8242,_0x4623c3){return _0x29ac83(_0x3b8242,_0x4623c3);},'wEGwL':function(_0xfcb0b7){return _0xfcb0b7();},'lZmqd':'project'},[_0x2ce421,_0x20f9cb]=await Promise['all']([_0x41f3ac['DQMNq'](getSkillsFromDir,_0x41f3ac['wEGwL'](getProjectSkillsDir),_0x41f3ac[_0x10ab62(0xe1)]),_0x41f3ac['DQMNq'](getSkillsFromDir,getUserSkillsDir(),'user')]);return{'project':_0x2ce421,'user':_0x20f9cb};}async function getEnvironments(){const _0x5007c7=_0x4cd6ed,_0x4e9f62={'DukXB':_0x5007c7(0xe4),'RnnjD':function(_0xd2ae0c,_0x451241,_0x967b53){return _0xd2ae0c(_0x451241,_0x967b53);},'SwVsN':'auth.json.enc','PUfEO':function(_0x4e19d4,_0x56a3c8){return _0x4e19d4(_0x56a3c8);},'PdWho':'(not\x20found)','mShCV':function(_0x5cd63b,_0x4f7d22){return _0x5cd63b===_0x4f7d22;}},{envNames:_0x1e27fe,activeEnv:_0x572782}=await getEnvNames(),_0x321fed=getRangerDir();if(!existsSync(_0x321fed))return{'envs':[],'activeEnv':null};const _0xdc3c86=_0x1e27fe['map'](_0x492d74=>{const _0x8a6711=_0x5007c7,_0x3f6643=getEnvDir(_0x492d74),_0x5cc161=join(_0x3f6643,_0x4e9f62['DukXB']),_0x38f38a=_0x4e9f62[_0x8a6711(0xbc)](join,_0x3f6643,'auth.json'),_0x32862d=_0x4e9f62['RnnjD'](join,_0x3f6643,_0x4e9f62[_0x8a6711(0x92)]);return{'name':_0x492d74,'settingsPath':_0x4e9f62['PUfEO'](existsSync,_0x5cc161)?_0x5cc161:_0x4e9f62['PdWho'],'hasPlaintextAuth':existsSync(_0x38f38a),'hasEncryptedAuth':existsSync(_0x32862d),'isActive':_0x4e9f62['mShCV'](_0x492d74,_0x572782)};});return{'envs':_0xdc3c86,'activeEnv':_0x572782};}export async function status(){const _0x10a7d2=_0x4cd6ed,_0x94b7da={'QRMBg':_0x10a7d2(0x9d),'fLFXH':function(_0x36ded6,_0x4ebe38,_0x25bd87){return _0x36ded6(_0x4ebe38,_0x25bd87);},'CENMB':function(_0x30cde2,_0x451cac){return _0x30cde2(_0x451cac);},'mPMRr':function(_0x1475d7){return _0x1475d7();},'UKVgf':'\x0a---\x20OpenCode\x20Plugin\x20---','CnctV':function(_0x1cecea){return _0x1cecea();},'PJsNp':function(_0xd8b28c,_0x2daf2f){return _0xd8b28c===_0x2daf2f;},'gAPKU':'configured','HVcvO':'not_configured','vRsmt':_0x10a7d2(0x96),'DJMjP':_0x10a7d2(0xb8),'edLKu':function(_0x553eb7,_0x4b47c9){return _0x553eb7+_0x4b47c9;},'scqUu':function(_0xaf40a1,_0x165d4f){return _0xaf40a1(_0x165d4f);},'dAFwb':_0x10a7d2(0xae),'XzbQJ':function(_0x3f2da4,_0x3be574){return _0x3f2da4>_0x3be574;},'jAVdI':function(_0x23df02,_0x405c40){return _0x23df02(_0x405c40);},'OvQtd':function(_0x1993be,_0x442585){return _0x1993be===_0x442585;},'GSoYJ':_0x10a7d2(0xd9),'qYDMw':function(_0x1d03d3,_0xb9addd){return _0x1d03d3(_0xb9addd);},'NHAju':_0x10a7d2(0x95),'CQHwC':function(_0x2c89c7,_0x39525e){return _0x2c89c7(_0x39525e);}};console[_0x10a7d2(0xb4)](_0x94b7da[_0x10a7d2(0xba)]);const _0xdb0a34=process['cwd'](),_0x215ed4=getRangerDir();if(!existsSync(_0x215ed4)){console['log'](_0x10a7d2(0xcf)+_0x94b7da[_0x10a7d2(0x94)](link,_0xdb0a34,bold(basename(_0xdb0a34)))),console['log'](_0x10a7d2(0xa8)),console['log'](_0x10a7d2(0xc4));return;}console['log']('Root:\x20'+link(_0xdb0a34,bold(_0x94b7da[_0x10a7d2(0xd0)](basename,_0xdb0a34))));const _0x19ebf7=getCurrentVersion(),_0x255db6=_0x94b7da['mPMRr'](getLatestVersion);if(_0x255db6['version']&&_0x255db6['version']!==_0x19ebf7)console[_0x10a7d2(0xb4)]('Version:\x20'+_0x19ebf7+'\x20(latest:\x20'+_0x255db6[_0x10a7d2(0xf0)]+')'),console['log'](_0x10a7d2(0xdf));else _0x255db6[_0x10a7d2(0xf0)]?console[_0x10a7d2(0xb4)](_0x10a7d2(0xfa)+_0x19ebf7+_0x10a7d2(0xb0)):console[_0x10a7d2(0xb4)](_0x10a7d2(0xfa)+_0x19ebf7);const _0x1cb8df=await getToken();if(_0x1cb8df){const _0xd9e15=await getCurrentUser(_0x1cb8df);_0xd9e15[_0x10a7d2(0xf6)]?console['log'](_0x10a7d2(0xc9)+bold(_0xd9e15[_0x10a7d2(0xcd)][_0x10a7d2(0xc5)])):(console['log'](_0x10a7d2(0xe9)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console['log'](_0x10a7d2(0xe0));process['env']['DEBUG']&&(console[_0x10a7d2(0xb4)](_0x10a7d2(0x9a)+getCurrentEnvironment()),console[_0x10a7d2(0xb4)](_0x10a7d2(0xeb)+_0x94b7da['mPMRr'](getApiBaseUrl)));console[_0x10a7d2(0xb4)](_0x94b7da[_0x10a7d2(0xaf)]);const _0x4990a7=await _0x94b7da[_0x10a7d2(0xc6)](getOpencodePluginStatus);if(_0x94b7da['PJsNp'](_0x4990a7['status'],_0x94b7da[_0x10a7d2(0x9c)]))console[_0x10a7d2(0xb4)]('\x20\x20'+bold('@ranger-testing/opencode-plugin')+':\x20configured'),_0x4990a7['details']&&console['log']('\x20\x20'+_0x4990a7[_0x10a7d2(0xb3)]);else _0x4990a7['status']===_0x94b7da[_0x10a7d2(0xdb)]?(console[_0x10a7d2(0xb4)](_0x10a7d2(0x99)),_0x4990a7[_0x10a7d2(0xb3)]&&console['log']('\x20\x20'+_0x4990a7['details']),console['log']('\x20\x20Run:\x20ranger\x20setup\x20--opencode')):console['log']('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console[_0x10a7d2(0xb4)](_0x10a7d2(0xc2));const _0x449c70=await getPluginInfo(_0x10a7d2(0xf5));if(_0x449c70){const _0x4bc470=_0x449c70['scope']||_0x94b7da['vRsmt'],_0x4917ea=_0x449c70[_0x10a7d2(0xc0)]?'enabled':_0x94b7da['DJMjP'];console[_0x10a7d2(0xb4)]('\x20\x20'+bold('ranger@trailhead')+':\x20installed\x20('+_0x4bc470+',\x20'+_0x4917ea+')');}else console[_0x10a7d2(0xb4)](_0x10a7d2(0xb2)),console['log'](_0x10a7d2(0xc8));console['log']('\x0a---\x20Skills\x20---');const {project:_0x53fe90,user:_0x14d0a3}=await getInstalledSkills(),_0x323f33=_0x53fe90['filter'](_0x52a558=>RANGER_MANAGED_SKILLS[_0x10a7d2(0xe6)](_0x52a558[_0x10a7d2(0x98)])),_0x2b700b=_0x14d0a3[_0x10a7d2(0xec)](_0x130792=>RANGER_MANAGED_SKILLS[_0x10a7d2(0xe6)](_0x130792[_0x10a7d2(0x98)])),_0x359799=_0x94b7da[_0x10a7d2(0xa1)](_0x323f33[_0x10a7d2(0xd1)],_0x2b700b['length']);if(_0x94b7da['PJsNp'](_0x359799,0x0))console[_0x10a7d2(0xb4)](_0x10a7d2(0x8f)),console['log'](_0x10a7d2(0x9e));else{if(_0x323f33['length']>0x0){console['log']('\x20\x20Project-level:');for(const _0x55471c of _0x323f33){console[_0x10a7d2(0xb4)](_0x10a7d2(0xf9)+bold(_0x55471c['displayName'])+':\x20'+_0x94b7da['fLFXH'](link,_0x55471c['path'],_0x94b7da[_0x10a7d2(0xa9)](basename,_0x55471c[_0x10a7d2(0xc7)])));}}if(_0x2b700b[_0x10a7d2(0xd1)]>0x0){console[_0x10a7d2(0xb4)](_0x94b7da['dAFwb']);for(const _0x348b4e of _0x2b700b){console['log']('\x20\x20\x20\x20'+bold(_0x348b4e['displayName'])+':\x20'+_0x94b7da[_0x10a7d2(0x94)](link,_0x348b4e[_0x10a7d2(0xc7)],basename(_0x348b4e['path'])));}}}console['log'](_0x10a7d2(0xaa));const {envs:_0x44e013,activeEnv:_0x37b6cb}=await getEnvironments();let _0x576155=[];if(_0x1cb8df)try{_0x576155=await listCloudProfiles();}catch{}const _0x3556d4=_0x44e013[_0x10a7d2(0xd1)]+_0x576155[_0x10a7d2(0xd1)];if(_0x3556d4===0x0)console[_0x10a7d2(0xb4)](_0x10a7d2(0xea)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{if(_0x94b7da['XzbQJ'](_0x3556d4,0x5)){const _0x3102a9=[];_0x94b7da['XzbQJ'](_0x576155['length'],0x0)&&_0x3102a9['push'](_0x576155['length']+'\x20cloud'),_0x44e013[_0x10a7d2(0xd1)]>0x0&&_0x3102a9['push'](_0x44e013[_0x10a7d2(0xd1)]+'\x20local'),console[_0x10a7d2(0xb4)](_0x3556d4+'\x20profiles\x20configured\x20('+_0x3102a9['join'](',\x20')+')'),_0x37b6cb&&console[_0x10a7d2(0xb4)]('\x20\x20Active:\x20'+_0x94b7da['jAVdI'](bold,_0x37b6cb)),console[_0x10a7d2(0xb4)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x5da8f3 of _0x576155){const _0x4863bf=_0x94b7da['OvQtd'](_0x5da8f3['name'],_0x37b6cb)?_0x94b7da[_0x10a7d2(0xd2)]:'';console[_0x10a7d2(0xb4)]('\x20\x20'+_0x94b7da[_0x10a7d2(0xfd)](bold,_0x5da8f3[_0x10a7d2(0x98)])+'\x20[cloud]'+_0x4863bf);const _0x2f47bf=_0x5da8f3[_0x10a7d2(0xb9)]?_0x10a7d2(0xbf)+_0x5da8f3[_0x10a7d2(0xb9)]+')':'no\x20session';console[_0x10a7d2(0xb4)](_0x10a7d2(0xa7)+_0x2f47bf);}const _0x4aba90=new Set(_0x576155[_0x10a7d2(0xbe)](_0x4d249a=>_0x4d249a[_0x10a7d2(0x98)]));for(const _0x2bf4ac of _0x44e013){if(_0x4aba90[_0x10a7d2(0xf3)](_0x2bf4ac['name']))continue;const _0x177ab8=_0x2bf4ac['isActive']?_0x94b7da['GSoYJ']:'',_0x43e580=_0x2bf4ac[_0x10a7d2(0xef)]?'encrypted':_0x2bf4ac['hasPlaintextAuth']?_0x10a7d2(0xce):_0x10a7d2(0xf1);console['log']('\x20\x20'+bold(_0x2bf4ac[_0x10a7d2(0x98)])+_0x10a7d2(0xd7)+_0x177ab8),console[_0x10a7d2(0xb4)](_0x10a7d2(0xf4)+_0x43e580),_0x2bf4ac['settingsPath']!==_0x94b7da[_0x10a7d2(0xdc)]&&console['log'](_0x10a7d2(0xda)+link(_0x2bf4ac['settingsPath'],_0x94b7da['CQHwC'](basename,_0x2bf4ac['settingsPath'])));}if(!_0x37b6cb){console[_0x10a7d2(0xb4)]('\x0a\x20\x20No\x20active\x20profile\x20set');const _0x44eada=[..._0x576155['map'](_0x21144b=>_0x21144b['name']),..._0x44e013[_0x10a7d2(0xec)](_0x1eed2e=>!_0x4aba90[_0x10a7d2(0xf3)](_0x1eed2e['name']))['map'](_0x2e0eb3=>_0x2e0eb3[_0x10a7d2(0x98)])];console[_0x10a7d2(0xb4)](_0x10a7d2(0xe3)+_0x44eada[_0x10a7d2(0xcc)](',\x20')+')');}}}console['log']('');}
1
+ const _0x587607=_0x141a;(function(_0x3231b9,_0x5211ee){const _0x4c9281=_0x141a,_0x104d5b=_0x3231b9();while(!![]){try{const _0x590a49=-parseInt(_0x4c9281(0x236))/0x1+parseInt(_0x4c9281(0x21e))/0x2*(parseInt(_0x4c9281(0x1dd))/0x3)+-parseInt(_0x4c9281(0x1e1))/0x4*(parseInt(_0x4c9281(0x1e3))/0x5)+-parseInt(_0x4c9281(0x21c))/0x6+-parseInt(_0x4c9281(0x1f9))/0x7*(parseInt(_0x4c9281(0x237))/0x8)+-parseInt(_0x4c9281(0x1d6))/0x9*(parseInt(_0x4c9281(0x21a))/0xa)+parseInt(_0x4c9281(0x217))/0xb*(parseInt(_0x4c9281(0x232))/0xc);if(_0x590a49===_0x5211ee)break;else _0x104d5b['push'](_0x104d5b['shift']());}catch(_0x33d91e){_0x104d5b['push'](_0x104d5b['shift']());}}}(_0x44ec,0x79a1d));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';function _0x44ec(){const _0x15c5cd=['opencode','version','fvYCy','(not\x20found)','path','THPIB','Organization:\x20','ignore','unknown','enabled','No\x20skills\x20installed','@ranger-testing/opencode-plugin','displayName','\x0a---\x20OpenCode\x20Plugin\x20---','36702012sAuYMA','isArray','RTALY','dXpht','45735DZcXyk','2415376nqVQbG','all','includes','config','push','trim','close','\x1b[0m','stdout','piCxR','KnwVo','sessionUpdatedAt','pvaDa','syUhQ','opencode-plugin','1271637euTHKj','has','auth.json','not_installed','krOMK','njOFX','gEaBU','68133tvoPiC','Root:\x20','qYxAp','\x20\x20Not\x20installed','2871316vSMNqe','utf-8','5AkdJYV','no\x20session','NxQuF','isActive','\x0a---\x20Skills\x20---','some','map','log','YRImi','\x1b]8;;\x07','toString','hasPlaintextAuth','crlNo','\x20\x20\x20\x20','\x20\x20Run:\x20ranger\x20setup\x20--opencode','stderr','isDirectory','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','\x0a\x20\x20No\x20active\x20profile\x20set','name','bihfk','API\x20URL:\x20','7iKEnlk','dTmZH','ghsMi','Version:\x20','aZgbB','\x0a---\x20Claude\x20Code\x20Plugin\x20---','debug','\x0a---\x20Profiles\x20---','\x1b[1m','ApLcM','mKLoe','LsriT','pipe','ONozk','\x20\x20Project-level:','match','\x20\x20\x20\x20Auth:\x20','qVHQF','\x20\x20Run:\x20ranger\x20setup\x20[token]','filter','\x20(up\x20to\x20date)','string','VWKIy','hYYdx','meuYM','organizationName','BGLfJ','length','KsoRZ','join','11OIJTmz','\x20(active)','BZGsQ','70AlyjFu','Syjbk','4124682cQWRny','status','16yvIJZA','API\x20Environment:\x20','not_configured','details','configured','whbbw'];_0x44ec=function(){return _0x15c5cd;};return _0x44ec();}import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';function _0x141a(_0x12e25a,_0x2a89c0){_0x12e25a=_0x12e25a-0x1cb;const _0x44ec5f=_0x44ec();let _0x141aa1=_0x44ec5f[_0x12e25a];return _0x141aa1;}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=_0x343e4a=>_0x587607(0x201)+_0x343e4a+_0x587607(0x1ce),link=(_0x586e07,_0x5b897c)=>'\x1b]8;;file://'+_0x586e07+'\x07'+(_0x5b897c||_0x586e07)+_0x587607(0x1ec);async function getOpencodePluginStatus(){const _0x1c38c7=_0x587607,_0x69067c={'VWKIy':function(_0x384a8a,_0x53bee0){return _0x384a8a(_0x53bee0);},'YRImi':_0x1c38c7(0x220),'whbbw':_0x1c38c7(0x1ff),'wXEMX':_0x1c38c7(0x23a),'ONozk':_0x1c38c7(0x22b),'HqQle':_0x1c38c7(0x205),'qVHQF':'data','fvYCy':'error','EPdnA':_0x1c38c7(0x1cd)};return new Promise(_0xe13758=>{const _0x5e1d94=_0x1c38c7,_0x381fd4={'meuYM':function(_0xed18a8,_0x4ea720){return _0xed18a8!==_0x4ea720;},'hYYdx':function(_0x2fe260,_0x1cf195){return _0x2fe260>_0x1cf195;},'bihfk':function(_0x4148e4,_0x9e4a9c){return _0x4148e4(_0x9e4a9c);},'BZGsQ':_0x69067c[_0x5e1d94(0x1eb)]},_0x31eb7a=spawn(_0x5e1d94(0x224),[_0x69067c[_0x5e1d94(0x223)],_0x69067c['wXEMX']],{'stdio':[_0x69067c[_0x5e1d94(0x206)],_0x69067c['HqQle'],_0x69067c['HqQle']]});let _0x261094='';_0x31eb7a[_0x5e1d94(0x1cf)]?.['on'](_0x69067c[_0x5e1d94(0x20a)],_0x21dbaf=>{const _0x241140=_0x5e1d94;_0x261094+=_0x21dbaf[_0x241140(0x1ed)]();}),_0x31eb7a[_0x5e1d94(0x1f2)]?.['on'](_0x69067c[_0x5e1d94(0x20a)],_0x1463a8=>{_0x261094+=_0x1463a8['toString']();}),_0x31eb7a['on'](_0x69067c[_0x5e1d94(0x226)],()=>{const _0x8c45b5=_0x5e1d94;_0x69067c[_0x8c45b5(0x20f)](_0xe13758,{'status':_0x8c45b5(0x1d9)});}),_0x31eb7a['on'](_0x69067c['EPdnA'],_0x1a35e7=>{const _0x4f0278=_0x5e1d94;if(_0x1a35e7!==0x0){_0xe13758({'status':'not_installed'});return;}const _0x45d7a1=_0x261094[_0x4f0278(0x1cc)]();let _0x32128f=null;if(_0x45d7a1)try{_0x32128f=JSON['parse'](_0x45d7a1);}catch{const _0x16129b=_0x45d7a1['match'](/\{[\s\S]*\}$/);if(_0x16129b)try{_0x32128f=JSON['parse'](_0x16129b[0x0]);}catch{_0x32128f=null;}}const _0x44d360=Array[_0x4f0278(0x233)](_0x32128f?.['plugin'])?_0x32128f?.['plugin']:[],_0x4478ef=_0x44d360[_0x4f0278(0x1e8)](_0x221ad3=>{const _0x4210cb=_0x4f0278;if(_0x381fd4[_0x4210cb(0x211)](typeof _0x221ad3,_0x4210cb(0x20e)))return![];return _0x221ad3[_0x4210cb(0x239)](_0x4210cb(0x22f))||_0x221ad3['includes'](_0x4210cb(0x1d5));});if(_0x4478ef){_0xe13758({'status':_0x4f0278(0x222),'details':_0x381fd4[_0x4f0278(0x210)](_0x44d360[_0x4f0278(0x214)],0x0)?_0x44d360['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x44d360[_0x4f0278(0x214)]>0x0){_0x381fd4[_0x4f0278(0x1f7)](_0xe13758,{'status':_0x381fd4[_0x4f0278(0x219)],'details':_0x44d360['length']+'\x20plugin(s)\x20configured'});return;}_0xe13758({'status':_0x4f0278(0x220)});});});}async function getSkillsFromDir(_0xb6244e,_0x2d35c8){const _0x214f77=_0x587607,_0x39f7b1={'njOFX':function(_0x365e89,_0x3aec94){return _0x365e89(_0x3aec94);},'krOMK':function(_0x3274b6,_0xd8407d,_0x394a80){return _0x3274b6(_0xd8407d,_0x394a80);},'rweBP':_0x214f77(0x1e2)};if(!_0x39f7b1[_0x214f77(0x1db)](existsSync,_0xb6244e))return[];const _0x34a019=[];try{const _0x114c85=await _0x39f7b1[_0x214f77(0x1da)](readdir,_0xb6244e,{'withFileTypes':!![]});for(const _0x5788c2 of _0x114c85){if(_0x5788c2[_0x214f77(0x1f3)]()){const _0x4cce79=join(_0xb6244e,_0x5788c2['name'],'SKILL.md');if(_0x39f7b1['njOFX'](existsSync,_0x4cce79)){let _0x4f384c=_0x5788c2['name'];try{const _0x580949=await _0x39f7b1[_0x214f77(0x1da)](readFile,_0x4cce79,_0x39f7b1['rweBP']),_0x2ef85e=_0x580949[_0x214f77(0x208)](/name:\s*(.+)/);_0x2ef85e&&(_0x4f384c=_0x2ef85e[0x1][_0x214f77(0x1cc)]());}catch{}_0x34a019['push']({'name':_0x5788c2['name'],'displayName':_0x4f384c,'path':_0x4cce79,'level':_0x2d35c8});}}}}catch{return[];}return _0x34a019;}async function getInstalledSkills(){const _0x2cb2cc=_0x587607,_0x4255e3={'syUhQ':function(_0x4262d5,_0xff90b,_0x3c2244){return _0x4262d5(_0xff90b,_0x3c2244);}},[_0x27925e,_0x3e681b]=await Promise[_0x2cb2cc(0x238)]([_0x4255e3[_0x2cb2cc(0x1d4)](getSkillsFromDir,getProjectSkillsDir(),'project'),getSkillsFromDir(getUserSkillsDir(),'user')]);return{'project':_0x27925e,'user':_0x3e681b};}async function getEnvironments(){const _0x24684f=_0x587607,_0x2b3db8={'gEaBU':function(_0xa29575,_0x1b6cac){return _0xa29575(_0x1b6cac);},'jxvWw':function(_0x1e9f8c,_0x48726d,_0x4ae771){return _0x1e9f8c(_0x48726d,_0x4ae771);},'IGPyb':function(_0x1ac4dc,_0x15618a,_0x4e5e7c){return _0x1ac4dc(_0x15618a,_0x4e5e7c);},'dXpht':_0x24684f(0x1d8),'BGLfJ':'auth.json.enc','zCFce':'(not\x20found)','qYxAp':function(_0x5af090,_0x51816a){return _0x5af090(_0x51816a);},'SlxQt':function(_0x37d9d4,_0x32ff58){return _0x37d9d4===_0x32ff58;}},{envNames:_0x4137b6,activeEnv:_0x3d0b57}=await getEnvNames(),_0xa11025=getRangerDir();if(!_0x2b3db8[_0x24684f(0x1dc)](existsSync,_0xa11025))return{'envs':[],'activeEnv':null};const _0x18e396=_0x4137b6[_0x24684f(0x1e9)](_0x2f1017=>{const _0x201644=_0x24684f,_0x3d0aad=_0x2b3db8['gEaBU'](getEnvDir,_0x2f1017),_0x27e44d=_0x2b3db8['jxvWw'](join,_0x3d0aad,'settings.json'),_0x10b017=_0x2b3db8['IGPyb'](join,_0x3d0aad,_0x2b3db8[_0x201644(0x235)]),_0x33e350=join(_0x3d0aad,_0x2b3db8[_0x201644(0x213)]);return{'name':_0x2f1017,'settingsPath':existsSync(_0x27e44d)?_0x27e44d:_0x2b3db8['zCFce'],'hasPlaintextAuth':_0x2b3db8[_0x201644(0x1df)](existsSync,_0x10b017),'hasEncryptedAuth':_0x2b3db8['qYxAp'](existsSync,_0x33e350),'isActive':_0x2b3db8['SlxQt'](_0x2f1017,_0x3d0b57)};});return{'envs':_0x18e396,'activeEnv':_0x3d0b57};}export async function status(){const _0x4cfc7b=_0x587607,_0x3fde73={'piCxR':function(_0x2f255e,_0x1df53f){return _0x2f255e(_0x1df53f);},'cgwoc':function(_0xb5dae0,_0x58ae76){return _0xb5dae0(_0x58ae76);},'patPq':function(_0x1243a6,_0x529ccf){return _0x1243a6(_0x529ccf);},'NxQuF':function(_0x4644f7){return _0x4644f7();},'OqZLx':function(_0x4f63b4,_0x1c828a){return _0x4f63b4===_0x1c828a;},'LsriT':'configured','ghsMi':'@ranger-testing/opencode-plugin','KsoRZ':'\x20\x20Not\x20configured','dTmZH':_0x4cfc7b(0x1f1),'okySy':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','crlNo':_0x4cfc7b(0x1fe),'KnwVo':'ranger@trailhead','uijti':'disabled','EPfRm':_0x4cfc7b(0x1e0),'KVQlH':_0x4cfc7b(0x1e7),'aZgbB':function(_0x4468a6,_0x355bc2){return _0x4468a6>_0x355bc2;},'Syjbk':function(_0x378c89,_0x486e6f){return _0x378c89(_0x486e6f);},'pvaDa':function(_0x5923a6,_0x101ac3){return _0x5923a6>_0x101ac3;},'mKLoe':function(_0x12c54d,_0x582495,_0xc345d6){return _0x12c54d(_0x582495,_0xc345d6);},'RTALY':_0x4cfc7b(0x200),'ApLcM':function(_0x230db1,_0x546873){return _0x230db1+_0x546873;},'PfpZw':_0x4cfc7b(0x218),'THPIB':'plaintext','WkUmz':function(_0x40216a,_0x19a01a){return _0x40216a!==_0x19a01a;},'RbmSH':function(_0x7f3606,_0x4566c9){return _0x7f3606(_0x4566c9);}};console['log']('\x0a📊\x20Ranger\x20Status\x0a');const _0xcfc25=process['cwd'](),_0x38b5a4=getRangerDir();if(!_0x3fde73[_0x4cfc7b(0x1d0)](existsSync,_0x38b5a4)){console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x1de)+link(_0xcfc25,_0x3fde73['cgwoc'](bold,basename(_0xcfc25)))),console[_0x4cfc7b(0x1ea)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x4cfc7b(0x1ea)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x4cfc7b(0x1de)+link(_0xcfc25,bold(basename(_0xcfc25))));const _0x238831=getCurrentVersion(),_0xafced4=getLatestVersion();if(_0xafced4['version']&&_0xafced4[_0x4cfc7b(0x225)]!==_0x238831)console[_0x4cfc7b(0x1ea)]('Version:\x20'+_0x238831+'\x20(latest:\x20'+_0xafced4[_0x4cfc7b(0x225)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0xafced4['version']?console['log'](_0x4cfc7b(0x1fc)+_0x238831+_0x4cfc7b(0x20d)):console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x1fc)+_0x238831);const _0x416f83=await getToken();if(_0x416f83){const _0xcc61=await _0x3fde73['cgwoc'](getCurrentUser,_0x416f83);_0xcc61['success']?console['log'](_0x4cfc7b(0x22a)+_0x3fde73['patPq'](bold,_0xcc61['user'][_0x4cfc7b(0x212)])):(console[_0x4cfc7b(0x1ea)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x20b)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console[_0x4cfc7b(0x1ea)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x21f)+_0x3fde73['NxQuF'](getCurrentEnvironment)),console['log'](_0x4cfc7b(0x1f8)+_0x3fde73['NxQuF'](getApiBaseUrl)));console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x231));const _0xfa4748=await getOpencodePluginStatus();if(_0x3fde73['OqZLx'](_0xfa4748[_0x4cfc7b(0x21d)],_0x3fde73[_0x4cfc7b(0x204)]))console[_0x4cfc7b(0x1ea)]('\x20\x20'+bold(_0x3fde73[_0x4cfc7b(0x1fb)])+':\x20configured'),_0xfa4748['details']&&console['log']('\x20\x20'+_0xfa4748[_0x4cfc7b(0x221)]);else _0xfa4748['status']===_0x4cfc7b(0x220)?(console[_0x4cfc7b(0x1ea)](_0x3fde73[_0x4cfc7b(0x215)]),_0xfa4748[_0x4cfc7b(0x221)]&&console[_0x4cfc7b(0x1ea)]('\x20\x20'+_0xfa4748[_0x4cfc7b(0x221)]),console[_0x4cfc7b(0x1ea)](_0x3fde73[_0x4cfc7b(0x1fa)])):console[_0x4cfc7b(0x1ea)](_0x3fde73['okySy']);console[_0x4cfc7b(0x1ea)](_0x3fde73[_0x4cfc7b(0x1ef)]);const _0x439657=await _0x3fde73['piCxR'](getPluginInfo,_0x3fde73['KnwVo']);if(_0x439657){const _0x530cb5=_0x439657['scope']||_0x4cfc7b(0x22c),_0x5b87bb=_0x439657['enabled']?_0x4cfc7b(0x22d):_0x3fde73['uijti'];console[_0x4cfc7b(0x1ea)]('\x20\x20'+bold(_0x3fde73[_0x4cfc7b(0x1d1)])+':\x20installed\x20('+_0x530cb5+',\x20'+_0x5b87bb+')');}else console[_0x4cfc7b(0x1ea)](_0x3fde73['EPfRm']),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console[_0x4cfc7b(0x1ea)](_0x3fde73['KVQlH']);const {project:_0x1fb90b,user:_0x3b444a}=await _0x3fde73[_0x4cfc7b(0x1e5)](getInstalledSkills),_0x216b8d=_0x1fb90b[_0x4cfc7b(0x20c)](_0x2c1f13=>RANGER_MANAGED_SKILLS[_0x4cfc7b(0x239)](_0x2c1f13[_0x4cfc7b(0x1f6)])),_0x2b56db=_0x3b444a['filter'](_0x4f3158=>RANGER_MANAGED_SKILLS[_0x4cfc7b(0x239)](_0x4f3158[_0x4cfc7b(0x1f6)])),_0xa1de1d=_0x216b8d['length']+_0x2b56db['length'];if(_0xa1de1d===0x0)console['log'](_0x4cfc7b(0x22e)),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x3fde73[_0x4cfc7b(0x1fd)](_0x216b8d[_0x4cfc7b(0x214)],0x0)){console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x207));for(const _0x4ca15d of _0x216b8d){console['log']('\x20\x20\x20\x20'+_0x3fde73[_0x4cfc7b(0x21b)](bold,_0x4ca15d[_0x4cfc7b(0x230)])+':\x20'+link(_0x4ca15d['path'],_0x3fde73['Syjbk'](basename,_0x4ca15d[_0x4cfc7b(0x228)])));}}if(_0x3fde73[_0x4cfc7b(0x1d3)](_0x2b56db[_0x4cfc7b(0x214)],0x0)){console[_0x4cfc7b(0x1ea)]('\x20\x20User-level:');for(const _0x1b2e3f of _0x2b56db){console['log'](_0x4cfc7b(0x1f0)+_0x3fde73['cgwoc'](bold,_0x1b2e3f[_0x4cfc7b(0x230)])+':\x20'+_0x3fde73['mKLoe'](link,_0x1b2e3f['path'],basename(_0x1b2e3f[_0x4cfc7b(0x228)])));}}}console[_0x4cfc7b(0x1ea)](_0x3fde73[_0x4cfc7b(0x234)]);const {envs:_0x4b8260,activeEnv:_0xcc9a36}=await getEnvironments();let _0x23981f=[];if(_0x416f83)try{_0x23981f=await _0x3fde73['NxQuF'](listCloudProfiles);}catch{}const _0x5cfe4d=_0x3fde73[_0x4cfc7b(0x202)](_0x4b8260[_0x4cfc7b(0x214)],_0x23981f['length']);if(_0x3fde73['OqZLx'](_0x5cfe4d,0x0))console[_0x4cfc7b(0x1ea)]('No\x20profiles\x20configured'),console['log'](_0x4cfc7b(0x1f4));else{if(_0x5cfe4d>0x5){const _0x41c7d0=[];_0x23981f[_0x4cfc7b(0x214)]>0x0&&_0x41c7d0[_0x4cfc7b(0x1cb)](_0x23981f[_0x4cfc7b(0x214)]+'\x20cloud'),_0x4b8260[_0x4cfc7b(0x214)]>0x0&&_0x41c7d0['push'](_0x4b8260['length']+'\x20local'),console[_0x4cfc7b(0x1ea)](_0x5cfe4d+'\x20profiles\x20configured\x20('+_0x41c7d0['join'](',\x20')+')'),_0xcc9a36&&console['log']('\x20\x20Active:\x20'+bold(_0xcc9a36)),console[_0x4cfc7b(0x1ea)]('\x20\x20Run:\x20ranger\x20profile\x20ls\x20\x20(list\x20all)');}else{for(const _0x1195fd of _0x23981f){const _0x410b4c=_0x1195fd['name']===_0xcc9a36?_0x3fde73['PfpZw']:'';console[_0x4cfc7b(0x1ea)]('\x20\x20'+bold(_0x1195fd['name'])+'\x20[cloud]'+_0x410b4c);const _0x2b068b=_0x1195fd['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x1195fd[_0x4cfc7b(0x1d2)]+')':_0x4cfc7b(0x1e4);console[_0x4cfc7b(0x1ea)]('\x20\x20\x20\x20Session:\x20'+_0x2b068b);}const _0x4c9b77=new Set(_0x23981f[_0x4cfc7b(0x1e9)](_0x39e642=>_0x39e642['name']));for(const _0x987520 of _0x4b8260){if(_0x4c9b77[_0x4cfc7b(0x1d7)](_0x987520[_0x4cfc7b(0x1f6)]))continue;const _0x42da61=_0x987520[_0x4cfc7b(0x1e6)]?_0x3fde73['PfpZw']:'',_0x304d33=_0x987520['hasEncryptedAuth']?'encrypted':_0x987520[_0x4cfc7b(0x1ee)]?_0x3fde73[_0x4cfc7b(0x229)]:'none';console[_0x4cfc7b(0x1ea)]('\x20\x20'+_0x3fde73['Syjbk'](bold,_0x987520['name'])+'\x20[local]'+_0x42da61),console['log'](_0x4cfc7b(0x209)+_0x304d33),_0x3fde73['WkUmz'](_0x987520['settingsPath'],_0x4cfc7b(0x227))&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x3fde73[_0x4cfc7b(0x203)](link,_0x987520['settingsPath'],_0x3fde73['RbmSH'](basename,_0x987520['settingsPath'])));}if(!_0xcc9a36){console[_0x4cfc7b(0x1ea)](_0x4cfc7b(0x1f5));const _0x38e0b0=[..._0x23981f[_0x4cfc7b(0x1e9)](_0x192f06=>_0x192f06[_0x4cfc7b(0x1f6)]),..._0x4b8260['filter'](_0x1cc148=>!_0x4c9b77['has'](_0x1cc148['name']))['map'](_0x2ed57e=>_0x2ed57e['name'])];console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x38e0b0[_0x4cfc7b(0x216)](',\x20')+')');}}}console['log']('');}