@ranger-testing/ranger-cli 2.5.4-alpha.ed286f1-2 → 2.5.4-alpha.f940f0d-18

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 (82) hide show
  1. package/README.md +36 -14
  2. package/build/cli.js +1 -1
  3. package/build/commands/addEnv.js +1 -1
  4. package/build/commands/authEncrypt.js +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/config.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 -0
  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 -0
  43. package/build/commands/utils/cloudProfileSession.js +1 -0
  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 -0
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -0
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -0
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/opencodeConfig.js +1 -1
  58. package/build/commands/utils/playwrightCli.js +1 -1
  59. package/build/commands/utils/profileMessages.js +1 -1
  60. package/build/commands/utils/profileSetupBanner.js +1 -1
  61. package/build/commands/utils/projectsConfig.js +1 -0
  62. package/build/commands/utils/rangerConfig.js +1 -1
  63. package/build/commands/utils/rangerRoot.js +1 -1
  64. package/build/commands/utils/resolveProfileContext.js +1 -0
  65. package/build/commands/utils/resolveProfileUrl.js +1 -0
  66. package/build/commands/utils/retry.js +1 -1
  67. package/build/commands/utils/sessionCache.js +1 -1
  68. package/build/commands/utils/settings.js +1 -1
  69. package/build/commands/utils/skillContent.js +1 -1
  70. package/build/commands/utils/skills.js +1 -1
  71. package/build/commands/utils/stitchWebmFiles.js +1 -1
  72. package/build/commands/utils/telemetry.js +1 -1
  73. package/build/commands/utils/tokenRefresh.js +1 -1
  74. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  75. package/build/commands/utils/userApi.js +1 -1
  76. package/build/commands/utils/version.js +1 -1
  77. package/build/commands/verifyFeature.js +1 -1
  78. package/build/commands/verifyFeatureCli.js +1 -1
  79. package/build/skills/ranger/SKILL.md +36 -6
  80. package/build/skills/ranger/create.md +19 -0
  81. package/build/skills/ranger/verify.md +46 -7
  82. package/package.json +3 -2
@@ -1 +1 @@
1
- (function(_0x16f332,_0x73a45f){const _0x3e2541=_0x5c25,_0x56e346=_0x16f332();while(!![]){try{const _0x25ff43=parseInt(_0x3e2541(0xd4))/0x1+parseInt(_0x3e2541(0xe3))/0x2+parseInt(_0x3e2541(0xe2))/0x3*(parseInt(_0x3e2541(0xe4))/0x4)+parseInt(_0x3e2541(0xd9))/0x5*(parseInt(_0x3e2541(0xd2))/0x6)+-parseInt(_0x3e2541(0xd6))/0x7*(parseInt(_0x3e2541(0xe5))/0x8)+parseInt(_0x3e2541(0xe9))/0x9+-parseInt(_0x3e2541(0xdd))/0xa;if(_0x25ff43===_0x73a45f)break;else _0x56e346['push'](_0x56e346['shift']());}catch(_0x400384){_0x56e346['push'](_0x56e346['shift']());}}}(_0x2982,0xa4df1));function _0x5c25(_0x23b97a,_0x565601){_0x23b97a=_0x23b97a-0xcd;const _0x298294=_0x2982();let _0x5c25ab=_0x298294[_0x23b97a];return _0x5c25ab;}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x472936 from'inquirer';function _0x2982(){const _0x1d9def=['40FDyuPQ','stringify','pluginScope','parse','21144660QtRFUy','Project\x20(shared\x20with\x20team\x20via\x20git)','Where\x20should\x20the\x20plugin\x20be\x20installed?','✓\x20OpenCode\x20plugin\x20already\x20configured','log','3ewpXoJ','2433482nuVjcs','3978772QbhFey','40EteXbw','user','ULFFR','project','1703187EyOSur','OHImF','✓\x20OpenCode\x20plugin\x20configured','@ranger-testing/opencode-plugin','HUABi','zjgpO','\x0a📦\x20OpenCode\x20Plugin\x0a','Failed\x20to\x20read\x20opencode.json','518718RtUnVP','plugin','444053FWWYSa','heBNL','1045205cljvVy','SXysX','includes'];_0x2982=function(){return _0x1d9def;};return _0x2982();}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x41e6a9){const _0x5a41ad=_0x5c25,_0x49add6={'ULFFR':function(_0x2b64fa,_0x5c0f56){return _0x2b64fa(_0x5c0f56);},'BetIk':function(_0x585491,_0x3d614b,_0x250a51){return _0x585491(_0x3d614b,_0x250a51);},'gxOum':'project','zjgpO':_0x5a41ad(0xd0),'heBNL':'list','QysXD':'User\x20(available\x20in\x20all\x20your\x20projects)','SXysX':_0x5a41ad(0xde),'qGpgb':function(_0x15d402,_0x49d62c,_0x3c434d){return _0x15d402(_0x49d62c,_0x3c434d);},'HEIfc':'opencode.json','TRWCl':_0x5a41ad(0xcd),'LadKy':'https://opencode.ai/config.json','CwpPv':'utf-8','JJmOh':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','VkQmR':_0x5a41ad(0xd1),'OHImF':function(_0x226675,_0x1cdf03){return _0x226675(_0x1cdf03);},'BVZPw':function(_0x3c71f6,_0x5926cc){return _0x3c71f6+_0x5926cc;},'HUABi':_0x5a41ad(0xeb)},_0x13ab9e=_0x49add6[_0x5a41ad(0xe7)](existsSync,_0x49add6['BetIk'](join,getOpencodeConfigDir('project'),'opencode.json'));let _0x311e38;if(_0x41e6a9)_0x311e38=_0x41e6a9;else{if(_0x13ab9e)_0x311e38=_0x49add6['gxOum'];else{console['log'](_0x49add6[_0x5a41ad(0xcf)]);const _0x5b27e3=await _0x472936['prompt']([{'type':_0x49add6[_0x5a41ad(0xd5)],'name':'pluginScope','message':_0x5a41ad(0xdf),'choices':[{'name':_0x49add6['QysXD'],'value':_0x5a41ad(0xe6)},{'name':_0x49add6[_0x5a41ad(0xd7)],'value':_0x5a41ad(0xe8)}],'default':_0x5a41ad(0xe6)}]);_0x311e38=_0x5b27e3[_0x5a41ad(0xdb)];}}const _0x53d2b6=_0x49add6['qGpgb'](join,getOpencodeConfigDir(_0x311e38),_0x49add6['HEIfc']),_0x263f3c=_0x49add6['TRWCl'],_0x585ec4=_0x49add6['LadKy'];let _0x16de1c={};if(existsSync(_0x53d2b6))try{const _0x548f6d=await readFile(_0x53d2b6,_0x49add6['CwpPv']);_0x16de1c=JSON[_0x5a41ad(0xdc)](_0x548f6d);}catch(_0x14bf4b){return console['error'](_0x49add6['JJmOh']),{'configured':![],'scope':_0x311e38,'error':_0x49add6['VkQmR'],'details':_0x14bf4b};}const _0x5f41db=Array['isArray'](_0x16de1c['plugin'])?_0x16de1c[_0x5a41ad(0xd3)]:[];if(_0x5f41db[_0x5a41ad(0xd8)](_0x263f3c))return console[_0x5a41ad(0xe1)](_0x5a41ad(0xe0)),{'configured':![],'scope':_0x311e38};return _0x16de1c['$schema']=_0x16de1c['$schema']||_0x585ec4,_0x16de1c[_0x5a41ad(0xd3)]=[..._0x5f41db,_0x263f3c],await mkdir(_0x49add6[_0x5a41ad(0xea)](getOpencodeConfigDir,_0x311e38),{'recursive':!![]}),await writeFile(_0x53d2b6,_0x49add6['BVZPw'](JSON[_0x5a41ad(0xda)](_0x16de1c,null,0x2),'\x0a')),console['log'](_0x49add6[_0x5a41ad(0xce)]),{'configured':!![],'scope':_0x311e38};}
1
+ function _0x4b72(_0x355c2c,_0x12cd06){_0x355c2c=_0x355c2c-0x1dd;const _0x272238=_0x2722();let _0x4b7201=_0x272238[_0x355c2c];return _0x4b7201;}(function(_0x418492,_0x11cd64){const _0x296dc3=_0x4b72,_0x4e4ef4=_0x418492();while(!![]){try{const _0x1a591e=parseInt(_0x296dc3(0x1f4))/0x1+-parseInt(_0x296dc3(0x1fa))/0x2+parseInt(_0x296dc3(0x1e0))/0x3*(parseInt(_0x296dc3(0x201))/0x4)+parseInt(_0x296dc3(0x1e1))/0x5*(-parseInt(_0x296dc3(0x1f3))/0x6)+parseInt(_0x296dc3(0x1f0))/0x7+-parseInt(_0x296dc3(0x1e5))/0x8*(parseInt(_0x296dc3(0x1e7))/0x9)+-parseInt(_0x296dc3(0x1f1))/0xa*(-parseInt(_0x296dc3(0x1eb))/0xb);if(_0x1a591e===_0x11cd64)break;else _0x4e4ef4['push'](_0x4e4ef4['shift']());}catch(_0x558b42){_0x4e4ef4['push'](_0x4e4ef4['shift']());}}}(_0x2722,0x3a5f0));import{join}from'path';function _0x2722(){const _0x21a5d8=['xgAhk','pluginScope','includes','158477CoRyUn','plugin','tsfpp','zixsm','RMDSa','1504307iUDQbH','210MAKDec','https://opencode.ai/config.json','6JKrZii','53895bJhxeo','log','haBAA','rRejD','GmYQi','list','637734xMvxuE','VycCi','prompt','jwdTy','JXckn','@ranger-testing/opencode-plugin','stringify','12owALtT','isArray','project','✓\x20OpenCode\x20plugin\x20already\x20configured','421569UsviKF','211045tUuaJg','\x0a📦\x20OpenCode\x20Plugin\x0a','$schema','user','523664IbCSup','YecDB','54jmybzz'];_0x2722=function(){return _0x21a5d8;};return _0x2722();}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x2ebaea from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x2e23f0){const _0x53e424=_0x4b72,_0xa66d91={'Givhj':function(_0x6a1f80,_0x3cee11,_0x26353b){return _0x6a1f80(_0x3cee11,_0x26353b);},'RjddT':function(_0x1b42e6,_0x471a31){return _0x1b42e6(_0x471a31);},'GmYQi':_0x53e424(0x1de),'haBAA':_0x53e424(0x1e2),'rRejD':_0x53e424(0x1f9),'RMDSa':'User\x20(available\x20in\x20all\x20your\x20projects)','zixsm':_0x53e424(0x1e4),'VycCi':function(_0x52f0aa,_0x2a62c8,_0x4296f6){return _0x52f0aa(_0x2a62c8,_0x4296f6);},'JXckn':function(_0x412fa2,_0x408054){return _0x412fa2(_0x408054);},'ERual':'opencode.json','PsXoJ':_0x53e424(0x1ff),'aLDgZ':_0x53e424(0x1f2),'jwdTy':function(_0x1696ba,_0x3edd7b){return _0x1696ba(_0x3edd7b);},'ltfGq':function(_0x288ff2,_0x36716c,_0x5b060b){return _0x288ff2(_0x36716c,_0x5b060b);},'tsfpp':'Failed\x20to\x20read\x20opencode.json','xgAhk':function(_0x174790,_0x26a403,_0x2d9625){return _0x174790(_0x26a403,_0x2d9625);},'rgWhR':function(_0x42a452,_0x369aa2){return _0x42a452(_0x369aa2);},'xqoil':function(_0x19345a,_0x5e9071,_0x26d11b){return _0x19345a(_0x5e9071,_0x26d11b);},'YecDB':function(_0x29eb51,_0x3c8cde){return _0x29eb51+_0x3c8cde;},'ygsTe':'✓\x20OpenCode\x20plugin\x20configured'},_0x132119=existsSync(_0xa66d91['Givhj'](join,_0xa66d91['RjddT'](getOpencodeConfigDir,_0xa66d91[_0x53e424(0x1f8)]),'opencode.json'));let _0x5d7197;if(_0x2e23f0)_0x5d7197=_0x2e23f0;else{if(_0x132119)_0x5d7197=_0xa66d91['GmYQi'];else{console[_0x53e424(0x1f5)](_0xa66d91[_0x53e424(0x1f6)]);const _0x9c17b6=await _0x2ebaea[_0x53e424(0x1fc)]([{'type':_0xa66d91[_0x53e424(0x1f7)],'name':'pluginScope','message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0xa66d91[_0x53e424(0x1ef)],'value':_0x53e424(0x1e4)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':'project'}],'default':_0xa66d91[_0x53e424(0x1ee)]}]);_0x5d7197=_0x9c17b6[_0x53e424(0x1e9)];}}const _0x28443c=_0xa66d91[_0x53e424(0x1fb)](join,_0xa66d91[_0x53e424(0x1fe)](getOpencodeConfigDir,_0x5d7197),_0xa66d91['ERual']),_0x347566=_0xa66d91['PsXoJ'],_0x37330e=_0xa66d91['aLDgZ'];let _0x9ab2df={};if(_0xa66d91[_0x53e424(0x1fd)](existsSync,_0x28443c))try{const _0x171719=await _0xa66d91['ltfGq'](readFile,_0x28443c,'utf-8');_0x9ab2df=JSON['parse'](_0x171719);}catch(_0x4df56f){return console['error']('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0x5d7197,'error':_0xa66d91[_0x53e424(0x1ed)],'details':_0x4df56f};}const _0x43c0b3=Array[_0x53e424(0x1dd)](_0x9ab2df['plugin'])?_0x9ab2df['plugin']:[];if(_0x43c0b3[_0x53e424(0x1ea)](_0x347566))return console[_0x53e424(0x1f5)](_0x53e424(0x1df)),{'configured':![],'scope':_0x5d7197};return _0x9ab2df[_0x53e424(0x1e3)]=_0x9ab2df[_0x53e424(0x1e3)]||_0x37330e,_0x9ab2df[_0x53e424(0x1ec)]=[..._0x43c0b3,_0x347566],await _0xa66d91[_0x53e424(0x1e8)](mkdir,_0xa66d91['rgWhR'](getOpencodeConfigDir,_0x5d7197),{'recursive':!![]}),await _0xa66d91['xqoil'](writeFile,_0x28443c,_0xa66d91[_0x53e424(0x1e6)](JSON[_0x53e424(0x200)](_0x9ab2df,null,0x2),'\x0a')),console['log'](_0xa66d91['ygsTe']),{'configured':!![],'scope':_0x5d7197};}
@@ -1 +1 @@
1
- (function(_0x2260e2,_0x131845){const _0x1da4f9=_0x5e01,_0x3c94f9=_0x2260e2();while(!![]){try{const _0x10c6e0=parseInt(_0x1da4f9(0x13c))/0x1+parseInt(_0x1da4f9(0x101))/0x2+parseInt(_0x1da4f9(0x11f))/0x3*(parseInt(_0x1da4f9(0x12f))/0x4)+-parseInt(_0x1da4f9(0x108))/0x5+-parseInt(_0x1da4f9(0x112))/0x6*(-parseInt(_0x1da4f9(0x121))/0x7)+parseInt(_0x1da4f9(0x129))/0x8+-parseInt(_0x1da4f9(0x104))/0x9;if(_0x10c6e0===_0x131845)break;else _0x3c94f9['push'](_0x3c94f9['shift']());}catch(_0x4a9f14){_0x3c94f9['push'](_0x3c94f9['shift']());}}}(_0x3176,0xd1f28));import{mkdir,readFile,readdir}from'fs/promises';function _0x5e01(_0x14afa0,_0x2f7dc4){_0x14afa0=_0x14afa0-0xff;const _0x317652=_0x3176();let _0x5e01f6=_0x317652[_0x14afa0];return _0x5e01f6;}import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';function _0x3176(){const _0x56a6ec=['ECxDm','skvre','skipChromium','baseUrl','8863600NAnrDa','pnkPx','ranger-testing/trailhead','auth.json','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','8jWZkMT','error','CI\x20profile\x20\x22','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','ranger@trailhead','add','settings.json','sessions','cGRzi','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','kgsHN','hDnYg','trackPhaseStart','684800yuFsEJ','success','install','✓\x20Active\x20profile:\x20','map','dir_setup','sqmpy','UOjCl','704768yUGmNK','uTpeI','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','5368023sjamYX','path','Multiple\x20CI\x20profiles\x20found:\x20','plugin','4099790ceXwWB','No\x20API\x20token\x20available\x20for\x20decryption','profile','KjHru','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','name','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','Auto-detected\x20CI\x20profile:\x20','vUTrB','EqpkW','10722ynFUEa','urnTg','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','marketplace','log','cRLSC','project','✓\x20Created\x20profile\x20settings:\x20baseUrl=','auth.json.enc','trackPhaseEnd','cDCYN','CYFtS','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','6507hARwIm','profile_activate','497qpiEaz','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','Failed\x20to\x20install\x20plugin:'];_0x3176=function(){return _0x56a6ec;};return _0x3176();}import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x4b690f){const _0x10b04e=_0x5e01,_0x29ab85={'wwviv':function(_0x55a986,_0x4710d0,_0xcbbca0){return _0x55a986(_0x4710d0,_0xcbbca0);},'EAOLI':function(_0xf847d0,_0x581589){return _0xf847d0+_0x581589;},'Opqel':_0x10b04e(0x138),'sqmpy':function(_0x5f1f20,_0x22ca18,_0x2f79b0){return _0x5f1f20(_0x22ca18,_0x2f79b0);},'TLhAr':_0x10b04e(0x12d),'uTpeI':'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','kNXEE':function(_0x4da7b8,_0x47db18,_0x4d5788){return _0x4da7b8(_0x47db18,_0x4d5788);}},_0x19cdfa=getRangerDir(),_0x4014a6=_0x29ab85['wwviv'](join,_0x19cdfa,'ci');if(_0x4b690f){const _0xccddd1=_0x29ab85['wwviv'](join,_0x4014a6,_0x4b690f);return{'name':_0x4b690f,'path':_0xccddd1};}if(!existsSync(_0x4014a6))throw new Error(_0x29ab85['EAOLI'](_0x29ab85['Opqel'],'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.'));const _0x333303=await _0x29ab85[_0x10b04e(0xff)](readdir,_0x4014a6,{'withFileTypes':!![]}),_0x2ca3a1=_0x333303['filter'](_0x506578=>_0x506578['isDirectory']())[_0x10b04e(0x140)](_0x1832d1=>_0x1832d1[_0x10b04e(0x10d)]);if(_0x2ca3a1['length']===0x0)throw new Error(_0x29ab85['TLhAr']+_0x29ab85[_0x10b04e(0x102)]);if(_0x2ca3a1['length']===0x1){const _0x1f968b=_0x2ca3a1[0x0];return console['log'](_0x10b04e(0x10f)+_0x1f968b),{'name':_0x1f968b,'path':_0x29ab85['kNXEE'](join,_0x4014a6,_0x1f968b)};}throw new Error(_0x10b04e(0x106)+_0x2ca3a1['join'](',\x20')+_0x10b04e(0x12e));}async function installPluginNonInteractive(){const _0x4a3c00=_0x5e01,_0xceb594={'kgsHN':'ranger@trailhead','uWmRV':_0x4a3c00(0x122),'XgnAc':function(_0x399d29,_0x1c5c3f){return _0x399d29(_0x1c5c3f);},'eSqeS':'✓\x20Marketplace\x20already\x20added','FRJew':_0x4a3c00(0x134),'urnTg':'You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','SnjMe':'plugin','MjGZW':_0x4a3c00(0x118),'wabPA':_0x4a3c00(0x123),'hDnYg':'✓\x20Claude\x20Code\x20plugin\x20installed'},_0x59ee77=await isPluginInstalled(_0xceb594[_0x4a3c00(0x139)]);if(_0x59ee77)return console['log'](_0x4a3c00(0x10c)),![];console[_0x4a3c00(0x116)](_0xceb594['uWmRV']);const _0x3c19a1=await _0xceb594['XgnAc'](isMarketplaceAdded,'trailhead');let _0x516d56=_0x3c19a1;if(_0x3c19a1)console[_0x4a3c00(0x116)](_0xceb594['eSqeS']);else{const _0x427680=await _0xceb594['XgnAc'](runClaudeCommand,[_0x4a3c00(0x107),_0x4a3c00(0x115),_0xceb594['FRJew'],_0x4a3c00(0x12b)]);!_0x427680['success']?(console['error']('Failed\x20to\x20add\x20marketplace:',_0x427680[_0x4a3c00(0x130)]),console['log'](_0xceb594[_0x4a3c00(0x113)])):_0x516d56=!![];}if(_0x516d56){const _0x540a38=await runClaudeCommand([_0xceb594['SnjMe'],_0x4a3c00(0x13e),_0x4a3c00(0x133),'--scope',_0xceb594['MjGZW']]);!_0x540a38[_0x4a3c00(0x13d)]?(console[_0x4a3c00(0x130)](_0x4a3c00(0x124),_0x540a38['error']),console['log'](_0xceb594['wabPA'])):console['log'](_0xceb594[_0x4a3c00(0x13a)]);}return!![];}export async function setupCi(_0x23f782,_0x1736d8,_0x16fcd9){const _0x591a72=_0x5e01,_0x5175f4={'jBNvR':'auth','vuxHK':function(_0x68c85d,_0x6b0c70){return _0x68c85d(_0x6b0c70);},'skvre':function(_0x19f5fc,_0x1a90c5,_0x5bfd62){return _0x19f5fc(_0x1a90c5,_0x5bfd62);},'cRLSC':_0x591a72(0x136),'cGRzi':function(_0x5555d1,_0xcf6418){return _0x5555d1(_0xcf6418);},'UOjCl':'chromium','zxxkG':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','WUcKa':function(_0x2b15dd){return _0x2b15dd();},'pnkPx':_0x591a72(0x135),'cDCYN':function(_0x44177d,_0x27e29c,_0xc88e7c){return _0x44177d(_0x27e29c,_0xc88e7c);},'NdmIE':_0x591a72(0x109),'CYFtS':'✓\x20Auth\x20state\x20found','otEiA':_0x591a72(0x114),'EqpkW':function(_0x46437f,_0x45e1f9){return _0x46437f(_0x45e1f9);},'fnEkW':_0x591a72(0x120),'ECxDm':_0x591a72(0x107),'KjHru':'skills','vUTrB':_0x591a72(0x103)};console[_0x591a72(0x116)](_0x591a72(0x10e)),_0x16fcd9?.[_0x591a72(0x13b)]('auth'),await authenticate(_0x23f782),_0x16fcd9?.['trackPhaseEnd'](_0x5175f4['jBNvR']),_0x16fcd9?.['trackPhaseStart']('dir_setup');const {path:_0xcffae2,installed:_0x4302a6}=await ensureRangerDir();await _0x5175f4['vuxHK'](writeRangerGitignore,_0xcffae2);const _0x524da0=_0x5175f4['skvre'](join,_0xcffae2,_0x5175f4[_0x591a72(0x117)]);!_0x5175f4[_0x591a72(0x137)](existsSync,_0x524da0)&&await _0x5175f4['skvre'](mkdir,_0x524da0,{'recursive':!![]});_0x16fcd9?.[_0x591a72(0x11b)](_0x591a72(0x141),{'installed':_0x4302a6}),_0x16fcd9?.[_0x591a72(0x13b)](_0x5175f4[_0x591a72(0x100)]);let _0x24e8dd=![];_0x1736d8?.[_0x591a72(0x127)]?console[_0x591a72(0x116)](_0x5175f4['zxxkG']):_0x24e8dd=await _0x5175f4['WUcKa'](ensureChromium);_0x16fcd9?.[_0x591a72(0x11b)](_0x5175f4[_0x591a72(0x100)],{'installed':_0x24e8dd,'skipped':!!_0x1736d8?.[_0x591a72(0x127)]}),_0x16fcd9?.['trackPhaseStart']('profile_activate');const _0x4c3554=await findCiProfile(_0x1736d8?.[_0x591a72(0x10a)]);let _0x490538=![];_0x1736d8?.[_0x591a72(0x128)]&&(await _0x5175f4[_0x591a72(0x126)](mkdir,_0x4c3554['path'],{'recursive':!![]}),await saveSettings(_0x4c3554['name'],{'baseUrl':_0x1736d8[_0x591a72(0x128)],'headless':!![]}),console['log'](_0x591a72(0x119)+_0x1736d8[_0x591a72(0x128)]),_0x490538=!![]);const _0x73c0ba=join(_0x4c3554[_0x591a72(0x105)],_0x5175f4[_0x591a72(0x12a)]);if(!_0x5175f4[_0x591a72(0x137)](existsSync,_0x73c0ba)&&!_0x490538)throw new Error(_0x591a72(0x131)+_0x4c3554[_0x591a72(0x10d)]+_0x591a72(0x132));const _0x3a5752=join(_0x4c3554['path'],_0x591a72(0x12c)),_0x175afb=_0x5175f4[_0x591a72(0x11c)](join,_0x4c3554[_0x591a72(0x105)],_0x591a72(0x11a)),_0x321237=_0x5175f4['cGRzi'](existsSync,_0x3a5752),_0x57f35a=existsSync(_0x175afb);if(_0x57f35a)try{const _0x4f0435=await getToken();if(!_0x4f0435)throw new Error(_0x5175f4['NdmIE']);const _0x63b557=await readFile(_0x175afb);_0x5175f4[_0x591a72(0x126)](decrypt,_0x63b557,_0x4f0435),console['log']('✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)');}catch(_0x3d480f){const _0x32ec3a=_0x3d480f instanceof Error?_0x3d480f['message']:String(_0x3d480f);throw new Error(_0x591a72(0x11e)+_0x4c3554[_0x591a72(0x10d)]+'\x22:\x20'+_0x32ec3a);}else _0x321237?console['log'](_0x5175f4[_0x591a72(0x11d)]):console['log'](_0x5175f4['otEiA']);await _0x5175f4[_0x591a72(0x111)](writeActiveProfileName,_0x4c3554[_0x591a72(0x10d)]),console[_0x591a72(0x116)](_0x591a72(0x13f)+_0x4c3554['name']),_0x16fcd9?.['trackPhaseEnd'](_0x5175f4['fnEkW'],{'profileName':_0x4c3554[_0x591a72(0x10d)],'hasAuth':_0x321237,'hasEncryptedAuth':_0x57f35a,'createdSettings':_0x490538}),_0x16fcd9?.[_0x591a72(0x13b)](_0x5175f4['ECxDm']);const _0x54324d=await installPluginNonInteractive();_0x16fcd9?.[_0x591a72(0x11b)](_0x5175f4[_0x591a72(0x125)],{'installed':_0x54324d}),_0x16fcd9?.[_0x591a72(0x13b)](_0x5175f4[_0x591a72(0x10b)]),await skillup({'autoInstall':_0x591a72(0x118)}),_0x16fcd9?.['trackPhaseEnd'](_0x5175f4['KjHru']),console['log'](_0x5175f4[_0x591a72(0x110)]);}
1
+ (function(_0x1ee77a,_0x3021b3){var _0x4ca527=_0x51dc,_0x31d60d=_0x1ee77a();while(!![]){try{var _0x2e938c=parseInt(_0x4ca527(0x1d2))/0x1+-parseInt(_0x4ca527(0x1d9))/0x2+parseInt(_0x4ca527(0x1d8))/0x3*(parseInt(_0x4ca527(0x1db))/0x4)+-parseInt(_0x4ca527(0x1d4))/0x5*(-parseInt(_0x4ca527(0x1ce))/0x6)+parseInt(_0x4ca527(0x1cb))/0x7*(parseInt(_0x4ca527(0x1d1))/0x8)+-parseInt(_0x4ca527(0x1d7))/0x9*(parseInt(_0x4ca527(0x1d5))/0xa)+-parseInt(_0x4ca527(0x1cd))/0xb;if(_0x2e938c===_0x3021b3)break;else _0x31d60d['push'](_0x31d60d['shift']());}catch(_0x50187c){_0x31d60d['push'](_0x31d60d['shift']());}}}(_0x5eea,0x85d92));function _0x51dc(_0x3b44c8,_0x27ea7c){_0x3b44c8=_0x3b44c8-0x1cb;var _0x5eea8c=_0x5eea();var _0x51dc0f=_0x5eea8c[_0x3b44c8];return _0x51dc0f;}function _0x5eea(){var _0x5e01da=['31542caSJwA','exit','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','549832nYVEYg','296253jNbEmB','\x20\x20https://docs.ranger.net/main/concepts/profiles','515MVfGVq','254880McXGQU','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','324cdzedR','1131ylaaht','28638IQwXzh','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','2332TkFeBX','70SRPATV','oPsIg','2911436xngbuM'];_0x5eea=function(){return _0x5e01da;};return _0x5eea();}export async function setupCi(_0x1ee2ca,_0x86ae5a,_0x2eec95){var _0x218069=_0x51dc,_0x9b3b30={'vaQXK':function(_0x12bc94,_0x40b463){return _0x12bc94+_0x40b463;},'oPsIg':_0x218069(0x1da),'prOyh':_0x218069(0x1d0)};console['error'](_0x9b3b30['vaQXK'](_0x9b3b30[_0x218069(0x1cc)]+'\x0a',_0x9b3b30['prOyh'])+'\x20\x20ranger\x20profile\x20add\x20<name>\x0a'+'\x0a'+_0x218069(0x1d6)+_0x218069(0x1d3)),process[_0x218069(0x1cf)](0x1);}
@@ -1 +1 @@
1
- (function(_0x1e33af,_0x594ffe){const _0x37fe89=_0xa9b4,_0x1f18ce=_0x1e33af();while(!![]){try{const _0x1cbbd7=parseInt(_0x37fe89(0x1a5))/0x1*(-parseInt(_0x37fe89(0x182))/0x2)+-parseInt(_0x37fe89(0x1a1))/0x3*(parseInt(_0x37fe89(0x199))/0x4)+parseInt(_0x37fe89(0x1ab))/0x5*(parseInt(_0x37fe89(0x1a8))/0x6)+parseInt(_0x37fe89(0x186))/0x7*(parseInt(_0x37fe89(0x1a3))/0x8)+-parseInt(_0x37fe89(0x19d))/0x9*(-parseInt(_0x37fe89(0x198))/0xa)+parseInt(_0x37fe89(0x1ac))/0xb*(-parseInt(_0x37fe89(0x18a))/0xc)+parseInt(_0x37fe89(0x19a))/0xd*(parseInt(_0x37fe89(0x181))/0xe);if(_0x1cbbd7===_0x594ffe)break;else _0x1f18ce['push'](_0x1f18ce['shift']());}catch(_0x4fe698){_0x1f18ce['push'](_0x1f18ce['shift']());}}}(_0x432b,0x28f50));import{basename}from'path';import _0x4ec7b7 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 _0xa9b4(_0x4e411c,_0x43c15f){_0x4e411c=_0x4e411c-0x181;const _0x432bd4=_0x432b();let _0xa9b419=_0x432bd4[_0x4e411c];return _0xa9b419;}function _0x432b(){const _0x5eba7e=['vGprM','warn','user','ETaNt','To\x20use:','BpSTd','/skills/','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','opencode','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','gmiGO','VuqzK','130KCtIIX','567532kxrUUK','80977TSLZLr','log','LInxF','32985fvjVbK','✓\x20Found\x20API\x20token','All\x20projects\x20(','platform','6lbFTPZ','\x20skill','1497784lJAdXg','\x20--opencode','165198ivOeYw','\x20successfully!\x0a','installLevel','11604akyDWz','apolD','IVNJf','55lmznmo','21043fhbvPD','1358YmXcOm','4KYrksL','suppressUsage','list','autoInstall','7iGqBRr','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','project','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','492mCHsGV','To\x20get\x20started:'];_0x432b=function(){return _0x5eba7e;};return _0x432b();}export async function skillup(_0x554336={}){const _0x239165=_0xa9b4,_0x7a57fe={'LRNYy':'claude','gmiGO':function(_0x1823bb){return _0x1823bb();},'cUHoZ':_0x239165(0x189),'fEyWB':_0x239165(0x18b),'IVNJf':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','ggbOH':function(_0x465104,_0x753366){return _0x465104===_0x753366;},'OhJyd':_0x239165(0x1a4),'ETaNt':function(_0x4e13b1,_0xdbf39f){return _0x4e13b1===_0xdbf39f;},'GAgfQ':_0x239165(0x194),'vGprM':_0x239165(0x19e),'EzMdl':function(_0x2730ba,_0x3770ab){return _0x2730ba(_0x3770ab);},'wwoxx':'user','kcdDK':_0x239165(0x1a7),'LInxF':'Where\x20should\x20skills\x20be\x20installed?','ZqVgX':'project','nUHqA':function(_0x177399,_0x20e46c,_0x38749d){return _0x177399(_0x20e46c,_0x38749d);},'fIbRP':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','BpSTd':function(_0x19d3eb,_0x4ea73f){return _0x19d3eb>_0x4ea73f;},'KkPUO':function(_0x4315cf,_0xf4d647){return _0x4315cf===_0xf4d647;},'VuqzK':_0x239165(0x190),'apolD':'\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!','SCNzZ':_0x239165(0x193)};console['log'](_0x239165(0x195));const _0x260aae=_0x554336[_0x239165(0x1a0)]??_0x7a57fe['LRNYy'],_0x36799d=await _0x7a57fe[_0x239165(0x196)](getToken);if(!_0x36799d){console[_0x239165(0x19b)](_0x7a57fe['cUHoZ']),console[_0x239165(0x19b)](_0x7a57fe['fEyWB']),console['log'](_0x7a57fe[_0x239165(0x1aa)]),console[_0x239165(0x19b)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x7a57fe['ggbOH'](_0x260aae,_0x239165(0x194))?_0x7a57fe['OhJyd']:'')+'\x20<your-api-token>'),console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x7a57fe[_0x239165(0x18f)](_0x260aae,_0x7a57fe['GAgfQ'])?'\x20--opencode':'')+'\x0a');return;}console[_0x239165(0x19b)](_0x7a57fe[_0x239165(0x18c)]);const _0x31ec6e=getProjectRoot(),_0x578daa=basename(_0x31ec6e),_0x18dd1a=_0x260aae==='opencode'?_0x7a57fe['EzMdl'](getOpencodeConfigDir,_0x7a57fe['wwoxx'])+'/skills/':getClaudeConfigDir()+_0x239165(0x192),_0x423786=_0x260aae===_0x7a57fe['GAgfQ']?_0x31ec6e+'/.opencode/skills/':_0x31ec6e+'/.claude/skills/',_0x598d78=process['stdin']['isTTY']&&process['stdout']['isTTY'];let _0x3d295b;if(_0x554336[_0x239165(0x185)])_0x3d295b=_0x554336[_0x239165(0x185)];else{if(_0x598d78){const _0x266bea=await _0x4ec7b7['prompt']([{'type':_0x239165(0x184),'name':_0x7a57fe['kcdDK'],'message':_0x7a57fe[_0x239165(0x19c)],'choices':[{'name':_0x239165(0x19f)+_0x18dd1a+')','value':_0x239165(0x18e)},{'name':'This\x20project\x20only\x20('+_0x423786+')','value':_0x239165(0x188)}]}]);_0x3d295b=_0x266bea['installLevel'];}else _0x3d295b=_0x7a57fe['ZqVgX'],console[_0x239165(0x19b)](_0x239165(0x187)+_0x423786+')');}let _0x52bb2d=0x0;const _0xbf266b=getCurrentVersion();console[_0x239165(0x19b)]('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x2f3bf5=await _0x7a57fe['nUHqA'](installSkill,'ranger',{'cliVersion':_0xbf266b,'level':_0x3d295b,'platform':_0x260aae});_0x2f3bf5&&_0x52bb2d++;}catch(_0x4a49f4){console[_0x239165(0x18d)](_0x7a57fe['fIbRP'],_0x4a49f4 instanceof Error?_0x4a49f4['message']:_0x4a49f4);}if(_0x7a57fe[_0x239165(0x191)](_0x52bb2d,0x0)){const _0x59c9f4=_0x7a57fe['KkPUO'](_0x3d295b,_0x239165(0x18e))?'user-level':'project-level';console['log']('\x0a✅\x20Installed\x20'+_0x52bb2d+'\x20'+_0x59c9f4+_0x239165(0x1a2)+(_0x7a57fe['BpSTd'](_0x52bb2d,0x1)?'s':'')+_0x239165(0x1a6)),!_0x554336[_0x239165(0x183)]&&(console[_0x239165(0x19b)](_0x7a57fe[_0x239165(0x197)]),_0x260aae==='opencode'?console['log']('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console['log'](_0x7a57fe[_0x239165(0x1a9)]));}else console['log'](_0x7a57fe['SCNzZ']);}
1
+ (function(_0x122096,_0x1e50d6){const _0x2729fc=_0x1e1f,_0x53fe84=_0x122096();while(!![]){try{const _0x10bc00=-parseInt(_0x2729fc(0x13a))/0x1*(parseInt(_0x2729fc(0x116))/0x2)+parseInt(_0x2729fc(0x12e))/0x3+parseInt(_0x2729fc(0x133))/0x4*(-parseInt(_0x2729fc(0x139))/0x5)+-parseInt(_0x2729fc(0x121))/0x6*(-parseInt(_0x2729fc(0x131))/0x7)+-parseInt(_0x2729fc(0x115))/0x8+-parseInt(_0x2729fc(0x138))/0x9+-parseInt(_0x2729fc(0x136))/0xa*(-parseInt(_0x2729fc(0x13f))/0xb);if(_0x10bc00===_0x1e50d6)break;else _0x53fe84['push'](_0x53fe84['shift']());}catch(_0x41367b){_0x53fe84['push'](_0x53fe84['shift']());}}}(_0x3284,0xd627c));import{basename}from'path';import _0x37387c from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x3284(){const _0x304a67=['\x0a✅\x20Installed\x20','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','oVwds','2823306JqShmM','\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!','platform','552251XOYhnK','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','262648dDpuRJ','\x20--opencode','HtWeO','10qnJGAJ','/skills/','14574240uDnxLA','35cYsBtW','3977xrMQnf','opencode','installLevel','2|4|0|1|5|3','log','43741654BsDuav','list','sGjiO','autoInstall','/.claude/skills/','gWcgy','XtWGc','To\x20get\x20started:','GmpZq','9621376QBSQyN','818hvnnUL','To\x20use:','\x20\x203.\x20Run:\x20ranger\x20skillup','ranger','project-level','claude','Where\x20should\x20skills\x20be\x20installed?','yZPMH','stdout','✓\x20Found\x20API\x20token','vlsjl','66woVbSO','split','\x20successfully!\x0a','\x20skill','SMNQC','suppressUsage','/.opencode/skills/','HZWSQ','FlflB','warn'];_0x3284=function(){return _0x304a67;};return _0x3284();}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';function _0x1e1f(_0x5bbcce,_0x42d436){_0x5bbcce=_0x5bbcce-0x10e;const _0x328467=_0x3284();let _0x1e1f71=_0x328467[_0x5bbcce];return _0x1e1f71;}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x1a01b7={}){const _0x209fbc=_0x1e1f,_0x2d54bc={'vlsjl':function(_0x47af36){return _0x47af36();},'HtWeO':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','gWcgy':'opencode','oVwds':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','pTmey':_0x209fbc(0x113),'SMNQC':function(_0x4f9efd,_0x271587){return _0x4f9efd===_0x271587;},'TYMHg':_0x209fbc(0x11f),'GmpZq':function(_0xce8702){return _0xce8702();},'UOfvS':'user','sGjiO':function(_0x435af2){return _0x435af2();},'yZPMH':_0x209fbc(0x140),'sNJhQ':'installLevel','XtWGc':'project','HZWSQ':function(_0x4ae8f4){return _0x4ae8f4();},'uzCfc':_0x209fbc(0x119),'xoBrE':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','Qjnlu':'user-level','xrdov':function(_0x1793c2,_0x5c0659){return _0x1793c2>_0x5c0659;},'UyfEt':_0x209fbc(0x117),'gCHMb':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','FlflB':_0x209fbc(0x12c)};console[_0x209fbc(0x13e)](_0x209fbc(0x132));const _0x26e082=_0x1a01b7[_0x209fbc(0x130)]??_0x209fbc(0x11b),_0x48276d=await _0x2d54bc[_0x209fbc(0x120)](getToken);if(!_0x48276d){const _0x5eb3db=_0x209fbc(0x13d)[_0x209fbc(0x122)]('|');let _0x27d95f=0x0;while(!![]){switch(_0x5eb3db[_0x27d95f++]){case'0':console[_0x209fbc(0x13e)](_0x2d54bc[_0x209fbc(0x135)]);continue;case'1':console[_0x209fbc(0x13e)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x26e082===_0x2d54bc['gWcgy']?'\x20--opencode':'')+'\x20<your-api-token>');continue;case'2':console[_0x209fbc(0x13e)](_0x2d54bc[_0x209fbc(0x12d)]);continue;case'3':return;case'4':console['log'](_0x2d54bc['pTmey']);continue;case'5':console[_0x209fbc(0x13e)](_0x209fbc(0x118)+(_0x2d54bc[_0x209fbc(0x125)](_0x26e082,_0x2d54bc['gWcgy'])?_0x209fbc(0x134):'')+'\x0a');continue;}break;}}console['log'](_0x2d54bc['TYMHg']);const _0x239311=_0x2d54bc[_0x209fbc(0x114)](getProjectRoot),_0x1304d2=basename(_0x239311),_0x54a2eb=_0x26e082===_0x2d54bc[_0x209fbc(0x111)]?getOpencodeConfigDir(_0x2d54bc['UOfvS'])+_0x209fbc(0x137):_0x2d54bc[_0x209fbc(0x10e)](getClaudeConfigDir)+'/skills/',_0x2bb6d2=_0x2d54bc[_0x209fbc(0x125)](_0x26e082,_0x2d54bc[_0x209fbc(0x111)])?_0x239311+_0x209fbc(0x127):_0x239311+_0x209fbc(0x110),_0x25e0c3=process['stdin']['isTTY']&&process[_0x209fbc(0x11e)]['isTTY'];let _0x22d27e;if(_0x1a01b7['autoInstall'])_0x22d27e=_0x1a01b7[_0x209fbc(0x10f)];else{if(_0x25e0c3){const _0x1d52dd=await _0x37387c['prompt']([{'type':_0x2d54bc[_0x209fbc(0x11d)],'name':_0x2d54bc['sNJhQ'],'message':_0x209fbc(0x11c),'choices':[{'name':'All\x20projects\x20('+_0x54a2eb+')','value':_0x2d54bc['UOfvS']},{'name':'This\x20project\x20only\x20('+_0x2bb6d2+')','value':_0x2d54bc['XtWGc']}]}]);_0x22d27e=_0x1d52dd[_0x209fbc(0x13c)];}else _0x22d27e=_0x2d54bc[_0x209fbc(0x112)],console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x2bb6d2+')');}let _0x5abdef=0x0;const _0x571a94=_0x2d54bc[_0x209fbc(0x128)](getCurrentVersion);console[_0x209fbc(0x13e)]('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x3663cb=await installSkill(_0x2d54bc['uzCfc'],{'cliVersion':_0x571a94,'level':_0x22d27e,'platform':_0x26e082});_0x3663cb&&_0x5abdef++;}catch(_0x13de95){console[_0x209fbc(0x12a)](_0x2d54bc['xoBrE'],_0x13de95 instanceof Error?_0x13de95['message']:_0x13de95);}if(_0x5abdef>0x0){const _0x37d7f9=_0x22d27e===_0x2d54bc['UOfvS']?_0x2d54bc['Qjnlu']:_0x209fbc(0x11a);console['log'](_0x209fbc(0x12b)+_0x5abdef+'\x20'+_0x37d7f9+_0x209fbc(0x124)+(_0x2d54bc['xrdov'](_0x5abdef,0x1)?'s':'')+_0x209fbc(0x123)),!_0x1a01b7[_0x209fbc(0x126)]&&(console[_0x209fbc(0x13e)](_0x2d54bc['UyfEt']),_0x26e082===_0x209fbc(0x13b)?console[_0x209fbc(0x13e)](_0x2d54bc['gCHMb']):console['log'](_0x209fbc(0x12f)));}else console['log'](_0x2d54bc[_0x209fbc(0x129)]);}
@@ -1 +1 @@
1
- const _0x41c326=_0x48d1;(function(_0xdd56c,_0x548109){const _0x56ac20=_0x48d1,_0x183a2c=_0xdd56c();while(!![]){try{const _0x566c55=parseInt(_0x56ac20(0x208))/0x1+-parseInt(_0x56ac20(0x204))/0x2+-parseInt(_0x56ac20(0x1d7))/0x3+-parseInt(_0x56ac20(0x1fa))/0x4+parseInt(_0x56ac20(0x228))/0x5*(parseInt(_0x56ac20(0x1de))/0x6)+-parseInt(_0x56ac20(0x1d6))/0x7+parseInt(_0x56ac20(0x209))/0x8;if(_0x566c55===_0x548109)break;else _0x183a2c['push'](_0x183a2c['shift']());}catch(_0x20bd1c){_0x183a2c['push'](_0x183a2c['shift']());}}}(_0x376f,0x8d2fa));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x137ec0 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{getRangerDir,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';function _0x376f(){const _0x5da841=['⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','✓\x20Created\x20.ranger/.gitignore','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','5719308tfsBkL','951165DbcXPw','trackPhaseEnd','trackPhaseStart','playwright@','chromium','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','plugin','6414JjqHUy','You\x20can\x20install\x20it\x20manually\x20by\x20running:','pwggE','skipChromium','Authentication\x20failed:\x20','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','sJrru','Validating\x20API\x20token...','juHkD','npx','UcHff','✓\x20Stored\x20credentials\x20locally','profile','scope','UnxLu','✓\x20Already\x20authenticated\x20to\x20','log','GITHUB_ENV','win32','OBXSQ','DiVZI','VoONC','✓\x20Playwright\x20Chromium\x20browser\x20found','Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','hioyt','ZJxhs','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','user','1427140pNQVAP','\x20\x20npx\x20playwright@','\x0a🚀\x20Ranger\x20Setup\x0a','wantsProfile','install','executablePath','isTTY','force','auth','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','1790236bqiYTH','✓\x20.ranger/\x20directory\x20already\x20exists','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','\x20(fallback\x20version)','359918dgrpgT','12462648sodVfO','OvWfI','blBrq','ranger','\x20install\x20chromium','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','error','inherit','The\x20required\x20version\x20(','upiQQ','url','FJKSM','ASkRc','prompt','organizationName','skipped','env','to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','stdout','GEqwx','provided_token','\x0aIn\x20Claude\x20Code,\x20run\x20','wstpc','gZOru','cVbVj','EVOEH','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','jdhHQ','opencode','success','4895CjdPEL','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory,\x0a','...','ranger\x20profile\x20add\x20local','✓\x20Authenticated\x20to\x20','status','gMgxB','close','message','TZRwv','RebXR','nrWax','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','skills','git_check','lEOex','tCopU','allowInsecureLocalhost','\x0a❌\x20Profile\x20setup\x20failed:','LAcjK','✓\x20Created\x20.ranger/\x20directory','yyeKS','KDZjc','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','✓\x20Skipping\x20authentication\x20(--skip-auth)','gyquM','skipAuth','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','cMhkv','\x1b[1m','confirm','sdtyQ','or\x20use\x20--scope\x20user\x20to\x20install\x20at\x20the\x20user\x20level\x20without\x20a\x20project.','PGcAE','iAFKy','wgpVI','YXZHi','\x0a⚠\x20Skipping\x20Chromium\x20installation.'];_0x376f=function(){return _0x5da841;};return _0x376f();}import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url);export const PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2';const bold=_0x19e636=>_0x41c326(0x1c9)+_0x19e636+'\x1b[0m';export function getPlaywrightVersion(){try{const _0x4850d4=require['resolve']('playwright/package.json'),_0xf272e9=require(_0x4850d4);return _0xf272e9['version'];}catch{return null;}}export function installChromiumBinary(_0xa5dad0,_0x5a6455=![]){const _0x3f5411=_0x41c326,_0xf512d6={'ewFaV':function(_0x3ab704){return _0x3ab704();},'dNDxU':_0x3f5411(0x1fe),'mLmMO':'--with-deps','TZRwv':_0x3f5411(0x1db),'wgpVI':_0x3f5411(0x1e7),'GAnjo':'ignore','jdhHQ':'inherit','FZNpB':function(_0x588d52,_0x405e9e){return _0x588d52===_0x405e9e;},'TtDGW':_0x3f5411(0x1f0),'CZBYI':_0x3f5411(0x210)};return new Promise((_0x484a49,_0x48381e)=>{const _0x2c24ee=_0x3f5411,_0x5e8043=[_0x2c24ee(0x1da)+_0xa5dad0,_0xf512d6['dNDxU'],..._0x5a6455?[_0xf512d6['mLmMO']]:[],_0xf512d6[_0x2c24ee(0x231)]],_0x41b5e4=spawn(_0xf512d6[_0x2c24ee(0x1cf)],_0x5e8043,{'stdio':[_0xf512d6['GAnjo'],_0xf512d6[_0x2c24ee(0x225)],_0x2c24ee(0x211)],'shell':_0xf512d6['FZNpB'](process['platform'],_0xf512d6['TtDGW'])});_0x41b5e4['on'](_0x2c24ee(0x22f),_0x34e6b3=>{_0x34e6b3===0x0?_0xf512d6['ewFaV'](_0x484a49):_0x48381e(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x34e6b3));}),_0x41b5e4['on'](_0xf512d6['CZBYI'],_0x9b233a=>{_0x48381e(_0x9b233a);});});}export async function authenticate(_0x1b02dd){const _0xed3d84=_0x41c326,_0x214c6e={'UnxLu':function(_0x5b65f7){return _0x5b65f7();},'mxfNF':'existing_token','ZJxhs':function(_0x296894,_0x356b00){return _0x296894(_0x356b00);},'systq':_0xed3d84(0x1e5),'YXZHi':function(_0x1f7cf2,_0x1dd556){return _0x1f7cf2(_0x1dd556);},'GEqwx':_0xed3d84(0x21e)};if(!_0x1b02dd){const _0x3b6100=await _0x214c6e[_0xed3d84(0x1ec)](getToken);if(_0x3b6100){const _0x3590c0=await getCurrentUser(_0x3b6100);if(_0x3590c0[_0xed3d84(0x227)])return console['log'](_0xed3d84(0x1ed)+_0x3590c0[_0xed3d84(0x1f9)]['organizationName']),{'token':_0x3b6100,'method':_0x214c6e['mxfNF']};}try{_0x1b02dd=await runDeviceAuthFlow();}catch(_0x3b3db7){throw new Error('Authentication\x20failed:\x20'+(_0x3b3db7 instanceof Error?_0x3b3db7['message']:_0x3b3db7));}const _0x500086=await _0x214c6e[_0xed3d84(0x1f7)](getCurrentUser,_0x1b02dd);if(!_0x500086[_0xed3d84(0x227)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x500086[_0xed3d84(0x210)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0x500086['user'][_0xed3d84(0x218)]),{'token':_0x1b02dd,'method':'device_auth'};}console['log'](_0x214c6e['systq']);const _0x5e336c=await getCurrentUser(_0x1b02dd);if(!_0x5e336c[_0xed3d84(0x227)]){if(_0x5e336c[_0xed3d84(0x22d)])throw new Error(_0xed3d84(0x1e2)+_0x5e336c[_0xed3d84(0x210)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x5e336c['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0xed3d84(0x1ee)](_0xed3d84(0x22c)+_0x5e336c['user'][_0xed3d84(0x218)]),await _0x214c6e[_0xed3d84(0x1d0)](storeToken,_0x1b02dd),console['log'](process[_0xed3d84(0x21a)][_0xed3d84(0x1ef)]?'✓\x20Exported\x20credentials\x20for\x20CI':_0xed3d84(0x1e9)),{'token':_0x1b02dd,'method':_0x214c6e[_0xed3d84(0x21d)]};}export async function ensureRangerDir(_0x6bb2ca){const _0x60a769=_0x41c326,_0x55f648={'OBXSQ':function(_0x2b11dc){return _0x2b11dc();},'sGzxA':function(_0x2855e9,_0x4e367a,_0x5733f6){return _0x2855e9(_0x4e367a,_0x5733f6);},'cVbVj':function(_0x415cad,_0x308f15){return _0x415cad(_0x308f15);},'gsbMs':function(_0x37ec4d,_0xbb2a05,_0x582a97){return _0x37ec4d(_0xbb2a05,_0x582a97);},'hioyt':_0x60a769(0x205)};let _0x33c3b7;if(_0x6bb2ca==='user')_0x33c3b7=_0x55f648[_0x60a769(0x1f1)](getRangerHomeDir);else{const _0x3a0c95=findGitRoot();_0x33c3b7=_0x3a0c95?_0x55f648['sGzxA'](join,_0x3a0c95,'.ranger'):getRangerDir();}return!_0x55f648[_0x60a769(0x222)](existsSync,_0x33c3b7)?(await _0x55f648['gsbMs'](mkdir,_0x33c3b7,{'recursive':!![]}),console[_0x60a769(0x1ee)](_0x60a769(0x23c)),{'path':_0x33c3b7,'installed':!![]}):(console[_0x60a769(0x1ee)](_0x55f648[_0x60a769(0x1f6)]),{'path':_0x33c3b7,'installed':![]});}export async function ensureChromium(_0xc9e765=![]){const _0x3735cb=_0x41c326,_0x325d87={'ojxBN':_0x3735cb(0x1f4),'UcHff':function(_0x21b183){return _0x21b183();},'PGcAE':function(_0x52ac16,_0x21681b){return _0x52ac16??_0x21681b;},'IcDgF':_0x3735cb(0x1dc),'upiQQ':function(_0x347c87,_0x343b86){return _0x347c87 instanceof _0x343b86;},'VoONC':_0x3735cb(0x1df),'IWZGD':_0x3735cb(0x1d1)};let _0x398ec4=![];try{const _0x159c1f=chromium[_0x3735cb(0x1ff)]();_0x398ec4=existsSync(_0x159c1f);}catch{_0x398ec4=![];}if(_0x398ec4)return console['log'](_0x325d87['ojxBN']),![];const _0x5f106d=_0x325d87[_0x3735cb(0x1e8)](getPlaywrightVersion),_0x45a91f=_0x325d87[_0x3735cb(0x1cd)](_0x5f106d,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x3ae708=!_0x5f106d,_0x25f69f=process['stdin'][_0x3735cb(0x200)]&&process[_0x3735cb(0x21c)][_0x3735cb(0x200)];let _0x2d523a=!![];if(_0x25f69f){const {install:_0x279f74}=await _0x137ec0[_0x3735cb(0x217)]([{'type':'confirm','name':_0x3735cb(0x1fe),'message':_0x3ae708?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x45a91f+'\x20now?':_0x3735cb(0x212)+_0x45a91f+_0x3735cb(0x1d3),'default':!![]}]);_0x2d523a=_0x279f74;}else console[_0x3735cb(0x1ee)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x45a91f+(_0x3ae708?_0x3735cb(0x207):'')+_0x3735cb(0x22a));if(_0x2d523a){console[_0x3735cb(0x1ee)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x45a91f,_0xc9e765),console[_0x3735cb(0x1ee)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x228b55){console['error'](_0x325d87['IcDgF'],_0x325d87[_0x3735cb(0x213)](_0x228b55,Error)?_0x228b55[_0x3735cb(0x230)]:_0x228b55),console['log'](_0x325d87[_0x3735cb(0x1f3)]),console[_0x3735cb(0x1ee)](_0x3735cb(0x1fb)+_0x45a91f+_0x3735cb(0x20d));}}else console[_0x3735cb(0x1ee)](_0x325d87['IWZGD']),console['log']('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console['log']('\x20\x20npx\x20playwright@'+_0x45a91f+_0x3735cb(0x20d));return!![];}export async function writeRangerGitignore(_0x460d6e){const _0x39490c=_0x41c326,_0x7f882={'ASkRc':function(_0x4d2a28,_0x26fc5a,_0x266bb2){return _0x4d2a28(_0x26fc5a,_0x266bb2);},'DiVZI':_0x39490c(0x1d4)},_0x29054a=_0x7f882[_0x39490c(0x216)](join,_0x460d6e,'.gitignore'),_0x20bba3='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x29054a,_0x20bba3),console['log'](_0x7f882[_0x39490c(0x1f2)]);}function printProfileSetupLaterInstructions(){const _0x201acd=_0x41c326,_0x1f036e={'nRQno':_0x201acd(0x23f),'LAcjK':_0x201acd(0x22b),'iAFKy':'Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a'};console['log'](_0x1f036e['nRQno']),console[_0x201acd(0x1ee)]('\x20\x20'+bold(_0x1f036e[_0x201acd(0x23b)])),console[_0x201acd(0x1ee)](_0x1f036e[_0x201acd(0x1ce)]);}export async function ensureLocalEnv(_0x5733b2,_0x2ba9af){const _0x4a56bb=_0x41c326,_0x445f79={'nrWax':_0x4a56bb(0x1d2),'yuata':function(_0x45ed1d){return _0x45ed1d();},'fkTVo':function(_0x316693,_0x1ea217,_0x19021f){return _0x316693(_0x1ea217,_0x19021f);},'sdtyQ':'local','wlsCe':'✓\x20Local\x20profile\x20already\x20exists','RebXR':_0x4a56bb(0x21b),'gMgxB':_0x4a56bb(0x234),'vePAh':'use\x20until\x20the\x20session\x20expires.\x0a','juHkD':_0x4a56bb(0x1ca),'pvHkz':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','OvWfI':_0x4a56bb(0x23a)};if(!findGitRoot())return console['log'](_0x445f79[_0x4a56bb(0x233)]),{'ready':![],'skipped':!![]};const _0x6ad21d=_0x5733b2?.['scope']==='user'?_0x445f79['yuata'](getRangerHomeDir):undefined;if(_0x445f79['fkTVo'](findExistingEnv,_0x445f79[_0x4a56bb(0x1cb)],{'locations':[_0x445f79[_0x4a56bb(0x1cb)]],'rangerDir':_0x6ad21d}))return console[_0x4a56bb(0x1ee)](_0x445f79['wlsCe']),{'ready':!![],'skipped':![]};const _0x4039c5=process['stdin']['isTTY']&&process[_0x4a56bb(0x21c)]['isTTY'];if(_0x4039c5&&!_0x5733b2?.[_0x4a56bb(0x214)]){console[_0x4a56bb(0x1ee)](_0x4a56bb(0x206)),console['log'](_0x445f79[_0x4a56bb(0x232)]),console['log'](_0x445f79[_0x4a56bb(0x22e)]),console['log'](_0x445f79['vePAh']),console['log']('You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.');const {wantsProfile:_0x1c01c7}=await _0x137ec0['prompt']([{'type':_0x445f79[_0x4a56bb(0x1e6)],'name':_0x4a56bb(0x1fd),'message':_0x445f79['pvHkz'],'default':!![]}]);if(!_0x1c01c7)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await addEnv('local',{'url':_0x5733b2?.['url'],'force':_0x5733b2?.[_0x4a56bb(0x201)],'allowInsecureLocalhost':_0x5733b2?.[_0x4a56bb(0x239)],'scope':_0x5733b2?.['scope']},_0x2ba9af),{'ready':!![],'skipped':![]};}catch(_0xe031a7){return console[_0x4a56bb(0x210)](_0x445f79[_0x4a56bb(0x20a)],_0xe031a7 instanceof Error?_0xe031a7['message']:_0xe031a7),printProfileSetupLaterInstructions(),{'ready':![],'skipped':![]};}}function _0x48d1(_0xff4fc9,_0x3a15da){_0xff4fc9=_0xff4fc9-0x1c8;const _0x376f0c=_0x376f();let _0x48d1db=_0x376f0c[_0xff4fc9];return _0x48d1db;}export async function start(_0x21fe92,_0x4face3,_0x3cc207){const _0x7043ea=_0x41c326,_0x1058d9={'gyquM':_0x7043ea(0x1fc),'oxXCY':function(_0x52f311,_0x1b59b7){return _0x52f311===_0x1b59b7;},'qsIPW':_0x7043ea(0x1f9),'cMhkv':function(_0x34ff2e){return _0x34ff2e();},'sJrru':'No\x20git\x20repository\x20found','tCopU':function(_0xa1b6ed,_0x2349ad){return _0xa1b6ed+_0x2349ad;},'EVOEH':_0x7043ea(0x229),'CgDhb':_0x7043ea(0x1cc),'KDZjc':function(_0x482818,_0x5b80f0){return _0x482818(_0x5b80f0);},'oJQzo':function(_0x406ba0,_0xfcbc24){return _0x406ba0(_0xfcbc24);},'pwggE':_0x7043ea(0x240),'INcHq':_0x7043ea(0x1db),'Inbnv':_0x7043ea(0x20e),'ZLXKL':'plugin','wstpc':_0x7043ea(0x235),'yyeKS':function(_0x518189,_0x12c09c,_0x44deb8){return _0x518189(_0x12c09c,_0x44deb8);},'LuGDS':_0x7043ea(0x20c),'gZOru':function(_0x6d1141){return _0x6d1141();},'ZcnkQ':_0x7043ea(0x226),'FJKSM':_0x7043ea(0x1d5),'XxwxN':function(_0x59b1b5,_0x192609){return _0x59b1b5 instanceof _0x192609;},'rGIpp':_0x7043ea(0x1f8),'dseVl':_0x7043ea(0x1f5),'MRmVG':function(_0x2b5216,_0x1ba618,_0x672feb){return _0x2b5216(_0x1ba618,_0x672feb);},'Pohcb':function(_0x34d5a5,_0x1aa5f0){return _0x34d5a5===_0x1aa5f0;},'djdLU':_0x7043ea(0x1ea),'Vinni':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','blBrq':_0x7043ea(0x1e3),'lEOex':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'};console[_0x7043ea(0x1ee)](_0x1058d9[_0x7043ea(0x241)]);const _0x2f89f5=process['stdin']['isTTY']&&process['stdout']['isTTY'];!_0x2f89f5&&!_0x4face3?.[_0x7043ea(0x1eb)]&&(console['log'](_0x7043ea(0x243)),_0x4face3={..._0x4face3,'scope':_0x7043ea(0x1f9)});const _0x21419b=_0x1058d9['oxXCY'](_0x4face3?.[_0x7043ea(0x1eb)],_0x1058d9['qsIPW']);_0x3cc207?.[_0x7043ea(0x1d9)]('git_check');const _0x270f69=_0x1058d9[_0x7043ea(0x1c8)](findGitRoot);if(!_0x270f69&&!_0x21419b){await _0x3cc207?.['trackPhaseError']('git_check',new Error(_0x1058d9[_0x7043ea(0x1e4)]));throw new Error(_0x1058d9[_0x7043ea(0x238)](_0x1058d9[_0x7043ea(0x223)],_0x1058d9['CgDhb']));}_0x3cc207?.[_0x7043ea(0x1d8)](_0x7043ea(0x236));const _0x2eef52=!_0x1058d9[_0x7043ea(0x23e)](existsSync,getRangerDir()),{path:_0x59681b}=await _0x1058d9['oJQzo'](ensureRangerDir,_0x21419b?'user':undefined);if(_0x4face3?.[_0x7043ea(0x242)])console[_0x7043ea(0x1ee)](_0x1058d9[_0x7043ea(0x1e0)]),_0x3cc207?.['trackPhaseEnd'](_0x7043ea(0x202),{'isFirstRun':_0x2eef52,'method':_0x7043ea(0x219)});else{_0x3cc207?.[_0x7043ea(0x1d9)]('auth');const _0x10e457=await authenticate(_0x21fe92);_0x3cc207?.[_0x7043ea(0x1d8)]('auth',{'isFirstRun':_0x2eef52,'method':_0x10e457['method']});}_0x3cc207?.['trackPhaseStart'](_0x1058d9['INcHq']);_0x4face3?.[_0x7043ea(0x1e1)]?console[_0x7043ea(0x1ee)](_0x1058d9['Inbnv']):await ensureChromium(_0x4face3?.['withDeps']);_0x3cc207?.[_0x7043ea(0x1d8)](_0x7043ea(0x1db),{'isFirstRun':_0x2eef52,'skipped':!!_0x4face3?.[_0x7043ea(0x1e1)]});!_0x21419b&&await writeRangerGitignore(_0x59681b);console['log'](_0x7043ea(0x224));const _0x813485=_0x4face3?.['scope'],_0x18609c=_0x4face3?.[_0x7043ea(0x226)]??![];let _0x2abe1a=null;_0x18609c?(_0x3cc207?.['trackPhaseStart'](_0x1058d9['ZLXKL']),_0x2abe1a=await ensureOpencodePluginConfig(_0x813485),_0x3cc207?.[_0x7043ea(0x1d8)](_0x1058d9['ZLXKL'],{'isFirstRun':_0x2eef52,'opencode':!![]})):(_0x3cc207?.[_0x7043ea(0x1d9)](_0x7043ea(0x1dd)),await ensureClaudePlugin(_0x813485),_0x3cc207?.[_0x7043ea(0x1d8)]('plugin',{'isFirstRun':_0x2eef52}));if(_0x18609c&&_0x2abe1a){_0x3cc207?.['trackPhaseStart'](_0x1058d9[_0x7043ea(0x220)]);try{await _0x1058d9[_0x7043ea(0x23d)](installSkill,_0x1058d9['LuGDS'],{'level':_0x2abe1a['scope'],'cliVersion':_0x1058d9[_0x7043ea(0x221)](getCurrentVersion),'platform':_0x1058d9['ZcnkQ']}),_0x3cc207?.[_0x7043ea(0x1d8)](_0x1058d9[_0x7043ea(0x220)],{'isFirstRun':_0x2eef52,'opencode':!![]});}catch(_0x2352bf){console['warn'](_0x1058d9[_0x7043ea(0x215)],_0x1058d9['XxwxN'](_0x2352bf,Error)?_0x2352bf['message']:_0x2352bf),_0x3cc207?.[_0x7043ea(0x1d8)](_0x1058d9['wstpc'],{'isFirstRun':_0x2eef52,'opencode':!![],'failed':!![]});}}else _0x3cc207?.[_0x7043ea(0x1d9)](_0x7043ea(0x235)),await ensureClaudeSkills(_0x813485),_0x3cc207?.[_0x7043ea(0x1d8)](_0x7043ea(0x235),{'isFirstRun':_0x2eef52});if(_0x4face3?.['skipAuth'])console['log'](_0x1058d9['rGIpp']);else{if(!_0x2f89f5&&!_0x4face3?.[_0x7043ea(0x214)])console['log'](_0x1058d9['dseVl']),console['log']('\x20\x20'+bold(_0x7043ea(0x22b))+'\x0a');else{_0x3cc207?.['trackPhaseStart']('profile');const _0x5b643e=await _0x1058d9['MRmVG'](ensureLocalEnv,{'url':_0x4face3?.[_0x7043ea(0x214)],'force':_0x4face3?.['force'],'allowInsecureLocalhost':_0x4face3?.['allowInsecureLocalhost'],'scope':_0x1058d9['Pohcb'](_0x4face3?.[_0x7043ea(0x1eb)],'user')?'user':undefined},_0x3cc207);_0x3cc207?.['trackPhaseEnd'](_0x1058d9['djdLU'],{'isFirstRun':_0x2eef52,'profileReady':_0x5b643e['ready'],'userSkipped':_0x5b643e['skipped']}),_0x5b643e['ready']&&console['log']('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}}if(_0x18609c)console[_0x7043ea(0x1ee)](_0x1058d9['Vinni']),console['log'](_0x1058d9[_0x7043ea(0x20b)]),console[_0x7043ea(0x1ee)](_0x1058d9[_0x7043ea(0x237)]),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x137cbd=_0x1058d9['KDZjc'](bold,'/ranger:enable');console[_0x7043ea(0x1ee)](_0x1058d9[_0x7043ea(0x238)](_0x1058d9['tCopU'](_0x1058d9['tCopU'](_0x7043ea(0x21f)+_0x137cbd+'\x20and\x20prompt\x20the\x20coding',_0x7043ea(0x203)),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),_0x7043ea(0x20f)));}}
1
+ const _0x376451=_0x5959;(function(_0x508644,_0x1d44c1){const _0x354d63=_0x5959,_0x2aeb9d=_0x508644();while(!![]){try{const _0x51a15c=-parseInt(_0x354d63(0x124))/0x1*(parseInt(_0x354d63(0xee))/0x2)+parseInt(_0x354d63(0x10f))/0x3+parseInt(_0x354d63(0x120))/0x4*(-parseInt(_0x354d63(0x11b))/0x5)+-parseInt(_0x354d63(0x107))/0x6*(-parseInt(_0x354d63(0x113))/0x7)+parseInt(_0x354d63(0xe1))/0x8+-parseInt(_0x354d63(0xde))/0x9+parseInt(_0x354d63(0x126))/0xa;if(_0x51a15c===_0x1d44c1)break;else _0x2aeb9d['push'](_0x2aeb9d['shift']());}catch(_0x1a40f0){_0x2aeb9d['push'](_0x2aeb9d['shift']());}}}(_0x4d9d,0x49298));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x562615 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';function _0x5959(_0xb68d1b,_0x1dee61){_0xb68d1b=_0xb68d1b-0xc2;const _0x4d9d41=_0x4d9d();let _0x595951=_0x4d9d41[_0xb68d1b];return _0x595951;}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=_0x376451(0x11d);const bold=_0x492bcb=>'\x1b[1m'+_0x492bcb+'\x1b[0m';export function getPlaywrightVersion(){const _0x521ca1=_0x376451;try{const _0x27e30b=require['resolve'](_0x521ca1(0x11c)),_0x1b01a0=require(_0x27e30b);return _0x1b01a0[_0x521ca1(0xfc)];}catch{return null;}}export function installChromiumBinary(_0x47718c,_0xfb1afa=![]){const _0x1527b2=_0x376451,_0x1de8ad={'wikjw':function(_0x33eedf,_0x1c189d){return _0x33eedf===_0x1c189d;},'Vrcch':function(_0x3e9e69,_0x493286){return _0x3e9e69(_0x493286);},'OKRZm':function(_0x5b996f,_0x5b6706){return _0x5b996f(_0x5b6706);},'sJsLm':'chromium','eUZDp':_0x1527b2(0x10b),'VEcQq':_0x1527b2(0x123),'vgLOx':'error'};return new Promise((_0x6fd274,_0x48c636)=>{const _0x42235c=_0x1527b2,_0xa38ea4={'CXFOP':function(_0x2f5aeb,_0x11d1be){const _0xfa4af6=_0x5959;return _0x1de8ad[_0xfa4af6(0xea)](_0x2f5aeb,_0x11d1be);}},_0x406f5c=['playwright@'+_0x47718c,_0x42235c(0xd0),..._0xfb1afa?[_0x42235c(0x12f)]:[],_0x1de8ad[_0x42235c(0xcd)]],_0xc1ce0e=spawn('npx',_0x406f5c,{'stdio':[_0x42235c(0xcb),_0x1de8ad[_0x42235c(0xeb)],_0x1de8ad[_0x42235c(0xeb)]],'shell':process['platform']===_0x1de8ad['VEcQq']});_0xc1ce0e['on']('close',_0x449b6b=>{const _0x5817a6=_0x42235c;_0x1de8ad['wikjw'](_0x449b6b,0x0)?_0x6fd274():_0x1de8ad['Vrcch'](_0x48c636,new Error(_0x5817a6(0x10a)+_0x449b6b));}),_0xc1ce0e['on'](_0x1de8ad[_0x42235c(0x114)],_0x4eb00d=>{_0xa38ea4['CXFOP'](_0x48c636,_0x4eb00d);});});}export async function authenticate(_0x261538){const _0x2a888f=_0x376451,_0x58d398={'DifcJ':function(_0x17b202){return _0x17b202();},'aZLZR':function(_0x2ea260,_0x56d669){return _0x2ea260 instanceof _0x56d669;},'GrqBk':function(_0x306d8f,_0x1c2a93){return _0x306d8f(_0x1c2a93);},'mrtXc':'device_auth','EDetJ':_0x2a888f(0xd7)};if(!_0x261538){const _0x32f1fc=await _0x58d398['DifcJ'](getToken);if(_0x32f1fc){const _0x4cf557=await getCurrentUser(_0x32f1fc);if(_0x4cf557[_0x2a888f(0xed)])return console[_0x2a888f(0xd6)]('✓\x20Already\x20authenticated\x20to\x20'+_0x4cf557['user'][_0x2a888f(0xdd)]),{'token':_0x32f1fc,'method':_0x2a888f(0xe2)};}try{_0x261538=await runDeviceAuthFlow();}catch(_0x47f79a){throw new Error('Authentication\x20failed:\x20'+(_0x58d398[_0x2a888f(0xcf)](_0x47f79a,Error)?_0x47f79a['message']:_0x47f79a));}const _0xcc1aef=await _0x58d398[_0x2a888f(0xd8)](getCurrentUser,_0x261538);if(!_0xcc1aef[_0x2a888f(0xed)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0xcc1aef[_0x2a888f(0xc6)]);return console['log'](_0x2a888f(0x100)+_0xcc1aef[_0x2a888f(0x115)]['organizationName']),{'token':_0x261538,'method':_0x58d398[_0x2a888f(0x106)]};}console['log']('Validating\x20API\x20token...');const _0x1a4998=await getCurrentUser(_0x261538);if(!_0x1a4998['success']){if(_0x1a4998[_0x2a888f(0xdf)])throw new Error(_0x2a888f(0xc4)+_0x1a4998[_0x2a888f(0xc6)]+_0x2a888f(0x117));else throw new Error(_0x2a888f(0x102)+_0x1a4998[_0x2a888f(0xc6)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log']('✓\x20Authenticated\x20to\x20'+_0x1a4998[_0x2a888f(0x115)][_0x2a888f(0xdd)]),await _0x58d398[_0x2a888f(0xd8)](storeToken,_0x261538),console['log'](process['env']['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':'✓\x20Stored\x20credentials\x20locally'),{'token':_0x261538,'method':_0x58d398['EDetJ']};}export async function ensureRangerDir(_0x12c5aa){const _0x37a40d=_0x376451,_0x3d1abb={'SBfRY':function(_0xbd0755){return _0xbd0755();},'qtygQ':_0x37a40d(0xc9),'bvaPx':'✓\x20~/.ranger/\x20directory\x20already\x20exists'};void _0x12c5aa;const _0x5176ea=_0x3d1abb['SBfRY'](getRangerHomeDir);return!existsSync(_0x5176ea)?(await mkdir(_0x5176ea,{'recursive':!![]}),console['log'](_0x3d1abb['qtygQ']),{'path':_0x5176ea,'installed':!![]}):(console[_0x37a40d(0xd6)](_0x3d1abb['bvaPx']),{'path':_0x5176ea,'installed':![]});}export async function ensureChromium(_0x16550d=![]){const _0x350565=_0x376451,_0x179634={'IfeMq':'✓\x20Playwright\x20Chromium\x20browser\x20found','wKCMW':function(_0x3184f5,_0x65b990){return _0x3184f5??_0x65b990;},'rlean':_0x350565(0x101),'KERgL':_0x350565(0xf2),'SrPlu':_0x350565(0xd9),'jynnt':function(_0x13539d,_0x56e512){return _0x13539d instanceof _0x56e512;},'bEVhm':_0x350565(0xce)};let _0x2e4429=![];try{const _0x3b883d=chromium[_0x350565(0xc2)]();_0x2e4429=existsSync(_0x3b883d);}catch{_0x2e4429=![];}if(_0x2e4429)return console['log'](_0x179634['IfeMq']),![];const _0x164dfb=getPlaywrightVersion(),_0x4cacef=_0x179634[_0x350565(0xef)](_0x164dfb,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x499dda=!_0x164dfb,_0x57606e=process[_0x350565(0x116)]['isTTY']&&process['stdout'][_0x350565(0xd1)];let _0x1a999f=!![];if(_0x57606e){const {install:_0x4c45c0}=await _0x562615[_0x350565(0x109)]([{'type':_0x179634['rlean'],'name':_0x350565(0xd0),'message':_0x499dda?_0x350565(0x105)+_0x4cacef+'\x20now?':'The\x20required\x20version\x20('+_0x4cacef+_0x350565(0xf3),'default':!![]}]);_0x1a999f=_0x4c45c0;}else console[_0x350565(0xd6)](_0x350565(0xc7)+_0x4cacef+(_0x499dda?_0x179634['KERgL']:'')+'...');if(_0x1a999f){console['log'](_0x179634['SrPlu']);try{await installChromiumBinary(_0x4cacef,_0x16550d),console[_0x350565(0xd6)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x131ed0){console['error'](_0x350565(0x128),_0x179634[_0x350565(0x10d)](_0x131ed0,Error)?_0x131ed0['message']:_0x131ed0),console[_0x350565(0xd6)](_0x350565(0xd4)),console['log'](_0x350565(0xf9)+_0x4cacef+'\x20install\x20chromium');}}else console['log'](_0x179634[_0x350565(0xfe)]),console[_0x350565(0xd6)]('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),console[_0x350565(0xd6)](_0x350565(0xf9)+_0x4cacef+_0x350565(0x11e));return!![];}export async function writeRangerGitignore(_0x54a572){const _0x481cd5=_0x376451,_0x34b8ec={'vCWnl':'.gitignore','FgWef':_0x481cd5(0x11f)},_0x38dea4=join(_0x54a572,_0x34b8ec['vCWnl']),_0x29803f=_0x481cd5(0x12e);await writeFile(_0x38dea4,_0x29803f),console['log'](_0x34b8ec['FgWef']);}export async function ensureLocalEnv(_0x4c0cb2,_0x3c1c47){const _0xeff326=_0x376451,_0x37d62f={'MqmpU':function(_0xd0f5f){return _0xd0f5f();},'tgcMC':function(_0x5d982d,_0x2d1b26){return _0x5d982d===_0x2d1b26;},'sANtW':_0xeff326(0x12a),'RpySR':function(_0x27bc70,_0x291307){return _0x27bc70 instanceof _0x291307;}};if(!_0x37d62f[_0xeff326(0xf8)](findGitRoot)&&_0x4c0cb2?.['scope']!=='user')return console[_0xeff326(0xd6)](_0xeff326(0x127)),{'ready':![],'skipped':!![]};const _0xf99dc8=_0x37d62f[_0xeff326(0xe9)](_0x4c0cb2?.[_0xeff326(0xe5)],_0xeff326(0x115))?getRangerHomeDir():undefined;if(findExistingEnv('local',{'locations':[_0x37d62f['sANtW']],'rangerDir':_0xf99dc8}))return console[_0xeff326(0xd6)](_0xeff326(0xca)),{'ready':!![],'skipped':![]};try{return await addEnv('local',{'url':_0x4c0cb2?.[_0xeff326(0x111)],'force':_0x4c0cb2?.[_0xeff326(0xcc)],'allowInsecureLocalhost':_0x4c0cb2?.[_0xeff326(0xff)],'scope':_0x4c0cb2?.[_0xeff326(0xe5)]},_0x3c1c47),{'ready':!![],'skipped':![]};}catch(_0x124a33){return console[_0xeff326(0xc6)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x37d62f[_0xeff326(0x12c)](_0x124a33,Error)?_0x124a33[_0xeff326(0x10e)]:_0x124a33),{'ready':![],'skipped':![]};}}export async function start(_0x530598,_0x49be40,_0x511cde){const _0x2e92ab=_0x376451,_0x210592={'mduFm':function(_0x12243f,_0x2b3a6b){return _0x12243f+_0x2b3a6b;},'fDYSp':function(_0xe22eef,_0x56545d){return _0xe22eef(_0x56545d);},'MnjQN':'user','SGQtB':function(_0x5b12b9){return _0x5b12b9();},'iBfmE':'auth','diMVx':'chromium','LZFJw':_0x2e92ab(0xd3),'fwNgJ':function(_0x200c85,_0x2d798f){return _0x200c85(_0x2d798f);},'bVflU':_0x2e92ab(0xfa),'MkJHz':function(_0x32f77b,_0x308039){return _0x32f77b&&_0x308039;},'eOdqh':'skills','dCzqh':function(_0x122567,_0x58b5d3,_0x4b8674){return _0x122567(_0x58b5d3,_0x4b8674);},'cgZAH':_0x2e92ab(0x119),'KFBfC':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','ijyEV':function(_0xd18531,_0x4ad1a9){return _0xd18531+_0x4ad1a9;},'ksZpp':_0x2e92ab(0x104),'CCuCb':_0x2e92ab(0xe3)};console[_0x2e92ab(0xd6)](_0x2e92ab(0xdc));_0x49be40?.[_0x2e92ab(0xe5)]!==undefined&&_0x49be40['scope']!=='user'&&(console['error'](_0x210592[_0x2e92ab(0xe7)](_0x2e92ab(0xf4)+_0x210592['fDYSp'](String,_0x49be40[_0x2e92ab(0xe5)])+'\x20is\x20no\x20longer\x20supported.\x20',_0x2e92ab(0xc5))+'project-scope\x20setup\x20obsolete).\x20Drop\x20the\x20--scope\x20flag\x20or\x20pass\x20--scope=user.'),process[_0x2e92ab(0xd5)](0x1));_0x49be40={..._0x49be40,'scope':_0x210592['MnjQN']};const _0x36a34c=!_0x210592[_0x2e92ab(0x118)](existsSync,_0x210592['SGQtB'](getRangerHomeDir));await _0x210592[_0x2e92ab(0x118)](ensureRangerDir,_0x210592['MnjQN']);if(_0x49be40?.[_0x2e92ab(0xda)])console['log'](_0x2e92ab(0x12d)),_0x511cde?.[_0x2e92ab(0xfd)](_0x210592[_0x2e92ab(0x122)],{'isFirstRun':_0x36a34c,'method':'skipped'});else{_0x511cde?.[_0x2e92ab(0x11a)](_0x210592['iBfmE']);const _0x52702e=await authenticate(_0x530598);_0x511cde?.['trackPhaseEnd']('auth',{'isFirstRun':_0x36a34c,'method':_0x52702e['method']});}_0x511cde?.[_0x2e92ab(0x11a)](_0x210592[_0x2e92ab(0xdb)]);_0x49be40?.[_0x2e92ab(0xec)]?console['log'](_0x210592['LZFJw']):await ensureChromium(_0x49be40?.['withDeps']);_0x511cde?.[_0x2e92ab(0xfd)](_0x210592['diMVx'],{'isFirstRun':_0x36a34c,'skipped':!!_0x49be40?.['skipChromium']}),console[_0x2e92ab(0xd6)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x3aebcf=_0x49be40?.[_0x2e92ab(0xe5)],_0x4f8045=_0x49be40?.[_0x2e92ab(0x119)]??![];let _0x29538d=null;_0x4f8045?(_0x511cde?.[_0x2e92ab(0x11a)](_0x2e92ab(0xfa)),_0x29538d=await _0x210592[_0x2e92ab(0xf1)](ensureOpencodePluginConfig,_0x3aebcf),_0x511cde?.['trackPhaseEnd'](_0x2e92ab(0xfa),{'isFirstRun':_0x36a34c,'opencode':!![]})):(_0x511cde?.['trackPhaseStart']('plugin'),await ensureClaudePlugin(_0x3aebcf),_0x511cde?.[_0x2e92ab(0xfd)](_0x210592['bVflU'],{'isFirstRun':_0x36a34c}));if(_0x210592['MkJHz'](_0x4f8045,_0x29538d)){_0x511cde?.['trackPhaseStart'](_0x210592[_0x2e92ab(0x125)]);try{await _0x210592[_0x2e92ab(0xd2)](installSkill,_0x2e92ab(0x10c),{'level':_0x29538d['scope'],'cliVersion':_0x210592[_0x2e92ab(0xe0)](getCurrentVersion),'platform':_0x210592['cgZAH']}),_0x511cde?.[_0x2e92ab(0xfd)](_0x210592[_0x2e92ab(0x125)],{'isFirstRun':_0x36a34c,'opencode':!![]});}catch(_0xcebd61){console['warn'](_0x210592[_0x2e92ab(0xe6)],_0xcebd61 instanceof Error?_0xcebd61['message']:_0xcebd61),_0x511cde?.[_0x2e92ab(0xfd)](_0x210592['eOdqh'],{'isFirstRun':_0x36a34c,'opencode':!![],'failed':!![]});}}else _0x511cde?.[_0x2e92ab(0x11a)]('skills'),await ensureClaudeSkills(_0x3aebcf),_0x511cde?.[_0x2e92ab(0xfd)]('skills',{'isFirstRun':_0x36a34c});if(_0x49be40?.[_0x2e92ab(0xda)])console['log'](_0x2e92ab(0xe4));else{if(_0x49be40?.[_0x2e92ab(0x111)]){_0x511cde?.['trackPhaseStart'](_0x2e92ab(0xc8));const _0x23cb4e=await ensureLocalEnv({'url':_0x49be40['url'],'force':_0x49be40?.['force'],'allowInsecureLocalhost':_0x49be40?.[_0x2e92ab(0xff)],'scope':_0x210592['MnjQN']},_0x511cde);_0x511cde?.[_0x2e92ab(0xfd)]('profile',{'isFirstRun':_0x36a34c,'profileReady':_0x23cb4e[_0x2e92ab(0xf5)],'userSkipped':_0x23cb4e['skipped']});}else console['log'](_0x210592['mduFm'](_0x210592[_0x2e92ab(0x108)](_0x2e92ab(0x129),_0x2e92ab(0xf0)+bold('ranger\x20profile\x20add\x20<name>'))+_0x2e92ab(0x121),_0x2e92ab(0xe8))+_0x2e92ab(0x110));}if(_0x4f8045)console[_0x2e92ab(0xd6)](_0x2e92ab(0xc3)),console[_0x2e92ab(0xd6)](_0x2e92ab(0xf6)),console[_0x2e92ab(0xd6)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log'](_0x210592[_0x2e92ab(0x103)]);else{const _0x5ec45a=_0x210592[_0x2e92ab(0x118)](bold,_0x210592[_0x2e92ab(0xf7)]);console['log'](_0x210592[_0x2e92ab(0x108)](_0x210592[_0x2e92ab(0x108)](_0x210592['mduFm']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x5ec45a+_0x2e92ab(0xfb),_0x2e92ab(0x112)),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),_0x2e92ab(0x12b)));}}function _0x4d9d(){const _0x11393f=['stdin','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','fDYSp','opencode','trackPhaseStart','383485HNZoXc','playwright/package.json','1.58.2','\x20install\x20chromium','✓\x20Created\x20.ranger/.gitignore','28NQEMZk','\x0a\x20\x20(opens\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20once)','iBfmE','win32','1434bmEiWY','eOdqh','2368340fpOzJC','⚠\x20No\x20git\x20repository\x20found.\x20Re-run\x20with\x20`--scope\x20user`\x20to\x20store\x20the\x20profile\x20at\x20~/.ranger/.','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','\x0aTo\x20set\x20up\x20a\x20profile\x20for\x20your\x20app,\x20run:','local','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','RpySR','✓\x20Skipping\x20authentication\x20(--skip-auth)','\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','--with-deps','executablePath','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','Authentication\x20failed:\x20','Setup\x20always\x20installs\x20at\x20user\x20scope\x20now\x20(cloud\x20profiles\x20make\x20','error','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','profile','✓\x20Created\x20~/.ranger/\x20directory','✓\x20Local\x20profile\x20already\x20exists','ignore','force','sJsLm','\x0a⚠\x20Skipping\x20Chromium\x20installation.','aZLZR','install','isTTY','dCzqh','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','You\x20can\x20install\x20it\x20manually\x20by\x20running:','exit','log','provided_token','GrqBk','\x0aInstalling\x20Chromium\x20browser...\x0a','skipAuth','diMVx','\x0a🚀\x20Ranger\x20Setup\x0a','organizationName','1008243OzMccY','status','SGQtB','1580384nSSZOJ','existing_token','/ranger:enable','\x0aSkipping\x20profile\x20setup\x20(--skip-auth).\x20Run\x20`ranger\x20setup`\x20with\x20auth\x20to\x20add\x20a\x20profile\x20later.\x0a','scope','KFBfC','mduFm','\x0a\x0aFor\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:','tgcMC','OKRZm','eUZDp','skipChromium','success','46eOUWxB','wKCMW','\x0a\x20\x20','fwNgJ','\x20(fallback\x20version)',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','ranger\x20setup\x20--scope=','ready','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','CCuCb','MqmpU','\x20\x20npx\x20playwright@','plugin','\x20and\x20prompt\x20the\x20coding','version','trackPhaseEnd','bEVhm','allowInsecureLocalhost','✓\x20Authenticated\x20to\x20','confirm','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','ksZpp','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','mrtXc','186BbasvX','ijyEV','prompt','Installation\x20failed\x20with\x20exit\x20code\x20','inherit','ranger','jynnt','message','1175232plAkPv','\x0a\x20\x20https://docs.ranger.net/main/concepts/profiles','url','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','35098bEberS','vgLOx','user'];_0x4d9d=function(){return _0x11393f;};return _0x4d9d();}
@@ -1 +1 @@
1
- const _0x5866d1=_0x15d4;function _0x15d4(_0x275849,_0x42fd35){_0x275849=_0x275849-0x1c2;const _0x170262=_0x1702();let _0x15d414=_0x170262[_0x275849];return _0x15d414;}(function(_0x4608f7,_0x5d7c0a){const _0x4e5301=_0x15d4,_0x6b6f62=_0x4608f7();while(!![]){try{const _0x1973e3=-parseInt(_0x4e5301(0x1f9))/0x1+-parseInt(_0x4e5301(0x1cc))/0x2*(-parseInt(_0x4e5301(0x204))/0x3)+parseInt(_0x4e5301(0x1c9))/0x4*(parseInt(_0x4e5301(0x1f4))/0x5)+parseInt(_0x4e5301(0x1e7))/0x6*(-parseInt(_0x4e5301(0x203))/0x7)+parseInt(_0x4e5301(0x22e))/0x8*(parseInt(_0x4e5301(0x20b))/0x9)+-parseInt(_0x4e5301(0x1f8))/0xa*(-parseInt(_0x4e5301(0x224))/0xb)+parseInt(_0x4e5301(0x1cd))/0xc;if(_0x1973e3===_0x5d7c0a)break;else _0x6b6f62['push'](_0x6b6f62['shift']());}catch(_0x1c302e){_0x6b6f62['push'](_0x6b6f62['shift']());}}}(_0x1702,0x2a3ec));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';function _0x1702(){const _0x4b551e=['154090JMCQTa','409hDtXYR','disabled','LWyqZ','qBtCE','ulMOB','vyKkk','none','OQOIz','ranger@trailhead','qSAmA','86135xsvEeS','9NJYiNP','GhHRT','settingsPath','VpeTa','join','Root:\x20','path','185805beZaZF','jkSdR','plaintext','\x0a📊\x20Ranger\x20Status\x0a','string','some','name','tFlPC','configured','map','encrypted','details','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x1b]8;;file://','ignore','VJKnQ','\x20\x20Run:\x20ranger\x20skillup','project','SGYrT','hasPlaintextAuth','oCyQU','\x0a---\x20OpenCode\x20Plugin\x20---','\x20\x20Run:\x20ranger\x20update','version','11nfJWYK','length','dtWpy','error','HPHJq','Version:\x20','\x20(active)','not_configured','\x20\x20User-level:','OgrjO','56AaDhts','yypKM','\x20\x20Project-level:','zlEnq','zfUvi','\x20\x20\x20\x20Settings:\x20','API\x20Token:\x20✗\x20Not\x20found','pipe','198916dfRZmG','JDWVz','\x20plugin(s)\x20configured','108NdSuhu','443412zUTUun','No\x20profiles\x20configured',':\x20configured','hylEh','status','includes','log','isArray','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','user','organizationName','plugin','\x20(up\x20to\x20date)','\x1b]8;;\x07','parse','match','iaRFk','Nhevf','\x20\x20\x20\x20','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','AWrFy','\x0a---\x20Claude\x20Code\x20Plugin\x20---','uOxkc','push','trim','Wegge','60sYGWwj','Vgpkb','@ranger-testing/opencode-plugin','cwd','isActive','opencode-plugin','TqxMV','toString','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','unknown','ABdIa','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','stderr','10NoUnHV','isDirectory','tNGzF','\x20(latest:\x20'];_0x1702=function(){return _0x4b551e;};return _0x1702();}import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0xa8c90c=>'\x1b[1m'+_0xa8c90c+'\x1b[0m',link=(_0x114ebb,_0x3269d8)=>_0x5866d1(0x219)+_0x114ebb+'\x07'+(_0x3269d8||_0x114ebb)+_0x5866d1(0x1da);async function getOpencodePluginStatus(){const _0xb8007f=_0x5866d1,_0x23450d={'swCUL':function(_0x315088,_0x453ad4){return _0x315088!==_0x453ad4;},'JDWVz':function(_0x19adc1,_0x59c808){return _0x19adc1>_0x59c808;},'dtWpy':'opencode','iaRFk':_0xb8007f(0x1c8),'qBtCE':'data','yypKM':_0xb8007f(0x227),'oCyQU':'close'};return new Promise(_0x265230=>{const _0x5c2e36=_0xb8007f,_0x1b1795={'cyCkw':'not_installed','EEBBn':function(_0x414b3c,_0x54ddca){return _0x23450d['swCUL'](_0x414b3c,_0x54ddca);},'hsgoD':function(_0x1e1077,_0x25bce7){const _0xba683c=_0x15d4;return _0x23450d[_0xba683c(0x1ca)](_0x1e1077,_0x25bce7);},'lyvea':function(_0x52a6b1,_0x57610b){return _0x52a6b1(_0x57610b);}},_0x56dcba=spawn(_0x23450d[_0x5c2e36(0x226)],['debug','config'],{'stdio':[_0x5c2e36(0x21a),_0x5c2e36(0x1c8),_0x23450d[_0x5c2e36(0x1dd)]]});let _0x1e0825='';_0x56dcba['stdout']?.['on']('data',_0x102cb0=>{const _0x30f714=_0x5c2e36;_0x1e0825+=_0x102cb0[_0x30f714(0x1ee)]();}),_0x56dcba[_0x5c2e36(0x1f3)]?.['on'](_0x23450d[_0x5c2e36(0x1fc)],_0x534e06=>{const _0x390540=_0x5c2e36;_0x1e0825+=_0x534e06[_0x390540(0x1ee)]();}),_0x56dcba['on'](_0x23450d[_0x5c2e36(0x1c2)],()=>{_0x265230({'status':_0x1b1795['cyCkw']});}),_0x56dcba['on'](_0x23450d[_0x5c2e36(0x220)],_0x2b813b=>{const _0x6efac9=_0x5c2e36,_0x1f326d={'syUGQ':_0x6efac9(0x1e9)};if(_0x1b1795['EEBBn'](_0x2b813b,0x0)){_0x265230({'status':'not_installed'});return;}const _0x48bd1b=_0x1e0825[_0x6efac9(0x1e5)]();let _0x14c87=null;if(_0x48bd1b)try{_0x14c87=JSON[_0x6efac9(0x1db)](_0x48bd1b);}catch{const _0x20c141=_0x48bd1b[_0x6efac9(0x1dc)](/\{[\s\S]*\}$/);if(_0x20c141)try{_0x14c87=JSON['parse'](_0x20c141[0x0]);}catch{_0x14c87=null;}}const _0x381ec4=Array[_0x6efac9(0x1d4)](_0x14c87?.['plugin'])?_0x14c87?.[_0x6efac9(0x1d8)]:[],_0x52c710=_0x381ec4[_0x6efac9(0x210)](_0x3a1fa0=>{const _0x185c68=_0x6efac9;if(typeof _0x3a1fa0!==_0x185c68(0x20f))return![];return _0x3a1fa0['includes'](_0x1f326d['syUGQ'])||_0x3a1fa0['includes'](_0x185c68(0x1ec));});if(_0x52c710){_0x265230({'status':_0x6efac9(0x213),'details':_0x381ec4['length']>0x0?_0x381ec4['length']+_0x6efac9(0x1cb):undefined});return;}if(_0x1b1795['hsgoD'](_0x381ec4['length'],0x0)){_0x265230({'status':'not_configured','details':_0x381ec4['length']+'\x20plugin(s)\x20configured'});return;}_0x1b1795['lyvea'](_0x265230,{'status':_0x6efac9(0x22b)});});});}async function getSkillsFromDir(_0x256dc0,_0x43c493){const _0x5e602d=_0x5866d1,_0x3333bd={'jkSdR':function(_0x2b2c8d,_0x560dd4){return _0x2b2c8d(_0x560dd4);}};if(!_0x3333bd[_0x5e602d(0x20c)](existsSync,_0x256dc0))return[];const _0x295802=[];try{const _0x18c98d=await readdir(_0x256dc0,{'withFileTypes':!![]});for(const _0x1be875 of _0x18c98d){if(_0x1be875[_0x5e602d(0x1f5)]()){const _0x448e67=join(_0x256dc0,_0x1be875['name'],'SKILL.md');if(existsSync(_0x448e67)){let _0x3bd887=_0x1be875[_0x5e602d(0x211)];try{const _0x497788=await readFile(_0x448e67,'utf-8'),_0x3cdc9e=_0x497788[_0x5e602d(0x1dc)](/name:\s*(.+)/);_0x3cdc9e&&(_0x3bd887=_0x3cdc9e[0x1]['trim']());}catch{}_0x295802[_0x5e602d(0x1e4)]({'name':_0x1be875['name'],'displayName':_0x3bd887,'path':_0x448e67,'level':_0x43c493});}}}}catch{return[];}return _0x295802;}async function getInstalledSkills(){const _0x3dc2ce=_0x5866d1,_0x91c623={'Wegge':function(_0x8728ab){return _0x8728ab();}},[_0x504748,_0x58fb27]=await Promise['all']([getSkillsFromDir(_0x91c623[_0x3dc2ce(0x1e6)](getProjectSkillsDir),_0x3dc2ce(0x21d)),getSkillsFromDir(getUserSkillsDir(),_0x3dc2ce(0x1d6))]);return{'project':_0x504748,'user':_0x58fb27};}async function getEnvironments(){const _0x2f1f07=_0x5866d1,_0x4fafc={'LWyqZ':function(_0x308043,_0x29a325,_0x422616){return _0x308043(_0x29a325,_0x422616);},'omvNQ':'settings.json','AWrFy':function(_0x404ff2,_0x5f0160,_0x2620ca){return _0x404ff2(_0x5f0160,_0x2620ca);},'vcQCD':function(_0x30517d,_0x262674,_0x113e86){return _0x30517d(_0x262674,_0x113e86);},'vXmwu':'auth.json.enc','ABdIa':function(_0x2471ef){return _0x2471ef();}},{envNames:_0x21dbd0,activeEnv:_0x16ed48}=await getEnvNames(),_0x34dd81=_0x4fafc[_0x2f1f07(0x1f1)](getRangerDir);if(!existsSync(_0x34dd81))return{'envs':[],'activeEnv':null};const _0x16bc91=_0x21dbd0[_0x2f1f07(0x214)](_0x5e2fa0=>{const _0x2edbd3=_0x2f1f07,_0x6b347c=getEnvDir(_0x5e2fa0),_0x2b085b=_0x4fafc[_0x2edbd3(0x1fb)](join,_0x6b347c,_0x4fafc['omvNQ']),_0x5a93e1=_0x4fafc[_0x2edbd3(0x1e1)](join,_0x6b347c,'auth.json'),_0x3021ef=_0x4fafc['vcQCD'](join,_0x6b347c,_0x4fafc['vXmwu']);return{'name':_0x5e2fa0,'settingsPath':existsSync(_0x2b085b)?_0x2b085b:'(not\x20found)','hasPlaintextAuth':existsSync(_0x5a93e1),'hasEncryptedAuth':existsSync(_0x3021ef),'isActive':_0x5e2fa0===_0x16ed48};});return{'envs':_0x16bc91,'activeEnv':_0x16ed48};}export async function status(){const _0x2b3380=_0x5866d1,_0x1eb723={'GhHRT':_0x2b3380(0x20e),'uOxkc':function(_0x51bc85,_0xe702f1){return _0x51bc85(_0xe702f1);},'SGYrT':function(_0x2c8310,_0x49beee){return _0x2c8310(_0x49beee);},'vyKkk':function(_0x3ae69e,_0x41eab9){return _0x3ae69e(_0x41eab9);},'OgrjO':function(_0x458926,_0x5c92ad){return _0x458926!==_0x5c92ad;},'Vgpkb':function(_0x3336ba){return _0x3336ba();},'VpeTa':function(_0x52d74c,_0x4a73ae){return _0x52d74c(_0x4a73ae);},'ulMOB':function(_0x39a504){return _0x39a504();},'tFlPC':function(_0x22d984){return _0x22d984();},'hylEh':function(_0xdf6eb9,_0xf7d8d8){return _0xdf6eb9===_0xf7d8d8;},'EFYYI':_0x2b3380(0x217),'nlxqr':_0x2b3380(0x1e2),'qSAmA':function(_0x3bd0e2,_0x1f6020){return _0x3bd0e2(_0x1f6020);},'tNGzF':_0x2b3380(0x1fa),'zfUvi':_0x2b3380(0x201),'GWBWP':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','zlEnq':'\x0a---\x20Skills\x20---','zHGbt':function(_0xc8cb12){return _0xc8cb12();},'OQOIz':'No\x20skills\x20installed','eMxjc':function(_0x16ed80,_0x4b5593){return _0x16ed80>_0x4b5593;},'VJKnQ':function(_0x4a7166,_0x210ab4,_0x1c4486){return _0x4a7166(_0x210ab4,_0x1c4486);},'XJdyy':function(_0x219f99,_0x2ea09a){return _0x219f99>_0x2ea09a;},'Gzpih':_0x2b3380(0x22c),'OZYXv':'\x0a---\x20Profiles\x20---','TqxMV':function(_0x22e805){return _0x22e805();},'mxeQR':function(_0x1acd74,_0x474bfe){return _0x1acd74===_0x474bfe;},'nNHiN':_0x2b3380(0x1ce),'YHCIr':_0x2b3380(0x22a),'Nhevf':_0x2b3380(0x20d),'svEOt':_0x2b3380(0x1ff),'OSqyW':function(_0x54960d,_0x47c1f5){return _0x54960d(_0x47c1f5);},'HPHJq':function(_0x5b6e64,_0x82c847){return _0x5b6e64(_0x82c847);}};console[_0x2b3380(0x1d3)](_0x1eb723[_0x2b3380(0x205)]);const _0x54673e=process[_0x2b3380(0x1ea)](),_0x467335=getRangerDir();if(!_0x1eb723['uOxkc'](existsSync,_0x467335)){console['log'](_0x2b3380(0x209)+link(_0x54673e,bold(basename(_0x54673e)))),console[_0x2b3380(0x1d3)](_0x2b3380(0x1d5)),console[_0x2b3380(0x1d3)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x2b3380(0x209)+link(_0x54673e,_0x1eb723[_0x2b3380(0x21e)](bold,_0x1eb723[_0x2b3380(0x1fe)](basename,_0x54673e))));const _0x52bb73=getCurrentVersion(),_0x5cb31a=getLatestVersion();if(_0x5cb31a['version']&&_0x1eb723[_0x2b3380(0x22d)](_0x5cb31a[_0x2b3380(0x223)],_0x52bb73))console['log'](_0x2b3380(0x229)+_0x52bb73+_0x2b3380(0x1f7)+_0x5cb31a[_0x2b3380(0x223)]+')'),console['log'](_0x2b3380(0x222));else _0x5cb31a['version']?console[_0x2b3380(0x1d3)](_0x2b3380(0x229)+_0x52bb73+_0x2b3380(0x1d9)):console[_0x2b3380(0x1d3)]('Version:\x20'+_0x52bb73);const _0x2057d8=await _0x1eb723[_0x2b3380(0x1e8)](getToken);if(_0x2057d8){const _0x36f8c0=await _0x1eb723['VpeTa'](getCurrentUser,_0x2057d8);_0x36f8c0['success']?console['log']('Organization:\x20'+bold(_0x36f8c0[_0x2b3380(0x1d6)][_0x2b3380(0x1d7)])):(console['log'](_0x2b3380(0x1ef)),console[_0x2b3380(0x1d3)](_0x2b3380(0x218)));}else console['log'](_0x2b3380(0x1c7)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console[_0x2b3380(0x1d3)]('API\x20Environment:\x20'+_0x1eb723['ulMOB'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+_0x1eb723[_0x2b3380(0x1fd)](getApiBaseUrl)));console[_0x2b3380(0x1d3)](_0x2b3380(0x221));const _0x314581=await _0x1eb723[_0x2b3380(0x212)](getOpencodePluginStatus);if(_0x1eb723[_0x2b3380(0x1d0)](_0x314581[_0x2b3380(0x1d1)],_0x2b3380(0x213)))console[_0x2b3380(0x1d3)]('\x20\x20'+_0x1eb723[_0x2b3380(0x207)](bold,_0x2b3380(0x1e9))+_0x2b3380(0x1cf)),_0x314581[_0x2b3380(0x216)]&&console[_0x2b3380(0x1d3)]('\x20\x20'+_0x314581[_0x2b3380(0x216)]);else _0x1eb723['hylEh'](_0x314581[_0x2b3380(0x1d1)],_0x2b3380(0x22b))?(console['log']('\x20\x20Not\x20configured'),_0x314581[_0x2b3380(0x216)]&&console['log']('\x20\x20'+_0x314581[_0x2b3380(0x216)]),console[_0x2b3380(0x1d3)](_0x1eb723['EFYYI'])):console['log'](_0x2b3380(0x1f2));console[_0x2b3380(0x1d3)](_0x1eb723['nlxqr']);const _0x22bf4c=await _0x1eb723[_0x2b3380(0x202)](getPluginInfo,_0x2b3380(0x201));if(_0x22bf4c){const _0x51b832=_0x22bf4c['scope']||_0x2b3380(0x1f0),_0x30422f=_0x22bf4c['enabled']?'enabled':_0x1eb723[_0x2b3380(0x1f6)];console['log']('\x20\x20'+bold(_0x1eb723[_0x2b3380(0x1c5)])+':\x20installed\x20('+_0x51b832+',\x20'+_0x30422f+')');}else console['log']('\x20\x20Not\x20installed'),console[_0x2b3380(0x1d3)](_0x1eb723['GWBWP']);console['log'](_0x1eb723[_0x2b3380(0x1c4)]);const {project:_0x4cfc30,user:_0x32667e}=await _0x1eb723['zHGbt'](getInstalledSkills),_0xefc1ef=_0x4cfc30['filter'](_0x142081=>RANGER_MANAGED_SKILLS[_0x2b3380(0x1d2)](_0x142081['name'])),_0x435903=_0x32667e['filter'](_0x173db8=>RANGER_MANAGED_SKILLS['includes'](_0x173db8['name'])),_0x3cf995=_0xefc1ef[_0x2b3380(0x225)]+_0x435903['length'];if(_0x3cf995===0x0)console['log'](_0x1eb723[_0x2b3380(0x200)]),console[_0x2b3380(0x1d3)](_0x2b3380(0x21c));else{if(_0x1eb723['eMxjc'](_0xefc1ef['length'],0x0)){console['log'](_0x2b3380(0x1c3));for(const _0x438ba3 of _0xefc1ef){console[_0x2b3380(0x1d3)](_0x2b3380(0x1df)+bold(_0x438ba3['displayName'])+':\x20'+_0x1eb723[_0x2b3380(0x21b)](link,_0x438ba3[_0x2b3380(0x20a)],_0x1eb723['vyKkk'](basename,_0x438ba3[_0x2b3380(0x20a)])));}}if(_0x1eb723['XJdyy'](_0x435903[_0x2b3380(0x225)],0x0)){console[_0x2b3380(0x1d3)](_0x1eb723['Gzpih']);for(const _0x4bfde8 of _0x435903){console['log'](_0x2b3380(0x1df)+_0x1eb723[_0x2b3380(0x1e3)](bold,_0x4bfde8['displayName'])+':\x20'+link(_0x4bfde8[_0x2b3380(0x20a)],basename(_0x4bfde8['path'])));}}}console['log'](_0x1eb723['OZYXv']);const {envs:_0x1712c7,activeEnv:_0x1ecb62}=await _0x1eb723[_0x2b3380(0x1ed)](getEnvironments);if(_0x1eb723['mxeQR'](_0x1712c7[_0x2b3380(0x225)],0x0))console['log'](_0x1eb723['nNHiN']),console['log'](_0x2b3380(0x1e0));else{for(const _0x528e88 of _0x1712c7){const _0x3744f6=_0x528e88[_0x2b3380(0x1eb)]?_0x1eb723['YHCIr']:'',_0x4d30f7=_0x528e88['hasEncryptedAuth']?_0x2b3380(0x215):_0x528e88[_0x2b3380(0x21f)]?_0x1eb723[_0x2b3380(0x1de)]:_0x1eb723['svEOt'];console[_0x2b3380(0x1d3)]('\x20\x20'+_0x1eb723['OSqyW'](bold,_0x528e88['name'])+_0x3744f6),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x4d30f7),_0x1eb723[_0x2b3380(0x22d)](_0x528e88[_0x2b3380(0x206)],'(not\x20found)')&&console['log'](_0x2b3380(0x1c6)+link(_0x528e88[_0x2b3380(0x206)],_0x1eb723[_0x2b3380(0x228)](basename,_0x528e88[_0x2b3380(0x206)])));}!_0x1ecb62&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x1712c7['map'](_0x45e6f8=>_0x45e6f8['name'])[_0x2b3380(0x208)](',\x20')+')'));}console['log']('');}
1
+ const _0x24ecd2=_0x3584;(function(_0x3a6228,_0x150c3b){const _0x640fa7=_0x3584,_0x42b38f=_0x3a6228();while(!![]){try{const _0x21114c=parseInt(_0x640fa7(0x129))/0x1*(-parseInt(_0x640fa7(0x102))/0x2)+parseInt(_0x640fa7(0x14c))/0x3+-parseInt(_0x640fa7(0x125))/0x4*(parseInt(_0x640fa7(0x140))/0x5)+parseInt(_0x640fa7(0x127))/0x6+parseInt(_0x640fa7(0x11a))/0x7+-parseInt(_0x640fa7(0x13b))/0x8+parseInt(_0x640fa7(0x105))/0x9;if(_0x21114c===_0x150c3b)break;else _0x42b38f['push'](_0x42b38f['shift']());}catch(_0x75485d){_0x42b38f['push'](_0x42b38f['shift']());}}}(_0x1539,0x7c973));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 _0x3584(_0xe6959b,_0x33d6ab){_0xe6959b=_0xe6959b-0xf8;const _0x1539d8=_0x1539();let _0x3584fa=_0x1539d8[_0xe6959b];return _0x3584fa;}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';function _0x1539(){const _0x420a84=['path','close','Root:\x20','\x20(latest:\x20','isActive','data','\x20\x20\x20\x20Auth:\x20','\x0a---\x20Skills\x20---','enabled','VdzbX','utf-8','parse','log','Version:\x20','GqqYW','nirlm','gqzNQ','map','ziRUz','5839533TCJNYj','@ranger-testing/opencode-plugin','all','auth.json.enc','\x1b[1m','plugin','settingsPath','KHHlF','MwVtd','some','not_configured','25712TsmuAj','YHzqR','2164812fmBTby','vUpfS','1249iYUrYx','match','error','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','wZGeW','plaintext','trim','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','stderr','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','\x20\x20Not\x20installed','opencode-plugin','filter','SVHFa','XGgkd',':\x20configured','\x20(up\x20to\x20date)','name','4936056zFTZLQ','SIvhd','jZHOJ','env','UUQuE','575cFFcnI','isDirectory','string','\x1b]8;;file://','ignore','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','version','vSnBc','includes','MipoU','displayName','API\x20Environment:\x20','497796RMBCDV','uOzWo','user','details','dMCPC','status','MrNSd','hCOnW','\x20\x20Run:\x20ranger\x20setup\x20[token]','KGMnh','\x20plugin(s)\x20configured','cwd','config','BfXbw','\x20\x20Project-level:','\x20(active)','VzQhE','disabled','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','IUSfW','\x20\x20Not\x20configured','46jHggRW','\x20\x20\x20\x20','debug','4808916JjgPkD','length'];_0x1539=function(){return _0x420a84;};return _0x1539();}import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x5e25ff=>_0x24ecd2(0x11e)+_0x5e25ff+'\x1b[0m',link=(_0x1fdefe,_0x2858cb)=>_0x24ecd2(0x143)+_0x1fdefe+'\x07'+(_0x2858cb||_0x1fdefe)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x370b3c=_0x24ecd2,_0x316031={'vqGdQ':function(_0x3b9c35,_0x9e23b3){return _0x3b9c35(_0x9e23b3);},'RICOF':function(_0x329766,_0x473cba){return _0x329766!==_0x473cba;},'wZGeW':function(_0xab6c53,_0x3d2fd7){return _0xab6c53>_0x3d2fd7;},'YHzqR':_0x370b3c(0x124),'BfXbw':function(_0x3ec8fe,_0x5b7e92,_0x5dc44d,_0x350202){return _0x3ec8fe(_0x5b7e92,_0x5dc44d,_0x350202);},'aBTRw':_0x370b3c(0x104),'EBXQW':_0x370b3c(0xf9),'dMCPC':_0x370b3c(0x144),'chUzt':'pipe','iyJnP':_0x370b3c(0x12b),'eyTcx':_0x370b3c(0x108)};return new Promise(_0xb4f758=>{const _0x32e2b4=_0x370b3c,_0x3742db={'gqzNQ':function(_0x98dfd6,_0xc2be4f){return _0x316031['vqGdQ'](_0x98dfd6,_0xc2be4f);},'hmkho':'not_installed','QyTdr':function(_0x2c90ec,_0x47273c){return _0x316031['RICOF'](_0x2c90ec,_0x47273c);},'uEOAa':_0x32e2b4(0x142),'SjPFY':_0x32e2b4(0x134),'hCOnW':function(_0x2e8de0,_0x1e3b63){return _0x316031['RICOF'](_0x2e8de0,_0x1e3b63);},'Nnrzt':function(_0x2a95aa,_0xe793fd){return _0x2a95aa>_0xe793fd;},'TfvRK':function(_0x122e03,_0x43c638){const _0x1f4666=_0x32e2b4;return _0x316031[_0x1f4666(0x12d)](_0x122e03,_0x43c638);},'SVHFa':_0x316031[_0x32e2b4(0x126)]},_0x1fb7c6=_0x316031[_0x32e2b4(0xfa)](spawn,'opencode',[_0x316031['aBTRw'],_0x316031['EBXQW']],{'stdio':[_0x316031[_0x32e2b4(0x150)],_0x316031['chUzt'],_0x316031['chUzt']]});let _0x1e43c0='';_0x1fb7c6['stdout']?.['on'](_0x32e2b4(0x10c),_0x4554f6=>{_0x1e43c0+=_0x4554f6['toString']();}),_0x1fb7c6[_0x32e2b4(0x131)]?.['on'](_0x32e2b4(0x10c),_0x1f507c=>{_0x1e43c0+=_0x1f507c['toString']();}),_0x1fb7c6['on'](_0x316031['iyJnP'],()=>{_0x3742db['gqzNQ'](_0xb4f758,{'status':_0x3742db['hmkho']});}),_0x1fb7c6['on'](_0x316031['eyTcx'],_0x5ee7b9=>{const _0x50a87c=_0x32e2b4,_0x1018b6={'vSnBc':function(_0x1c0463,_0x556f53){return _0x3742db['QyTdr'](_0x1c0463,_0x556f53);},'Okxnf':_0x3742db['uEOAa'],'RCEZd':_0x50a87c(0x11b),'uuEHP':_0x3742db['SjPFY']};if(_0x3742db[_0x50a87c(0x153)](_0x5ee7b9,0x0)){_0xb4f758({'status':'not_installed'});return;}const _0x4679ff=_0x1e43c0[_0x50a87c(0x12f)]();let _0x283cd6=null;if(_0x4679ff)try{_0x283cd6=JSON[_0x50a87c(0x112)](_0x4679ff);}catch{const _0x4adb89=_0x4679ff[_0x50a87c(0x12a)](/\{[\s\S]*\}$/);if(_0x4adb89)try{_0x283cd6=JSON['parse'](_0x4adb89[0x0]);}catch{_0x283cd6=null;}}const _0xf49a1f=Array['isArray'](_0x283cd6?.[_0x50a87c(0x11f)])?_0x283cd6?.[_0x50a87c(0x11f)]:[],_0x4055f7=_0xf49a1f[_0x50a87c(0x123)](_0x269e67=>{const _0x5c8f8a=_0x50a87c;if(_0x1018b6[_0x5c8f8a(0x147)](typeof _0x269e67,_0x1018b6['Okxnf']))return![];return _0x269e67[_0x5c8f8a(0x148)](_0x1018b6['RCEZd'])||_0x269e67[_0x5c8f8a(0x148)](_0x1018b6['uuEHP']);});if(_0x4055f7){_0xb4f758({'status':'configured','details':_0x3742db['Nnrzt'](_0xf49a1f[_0x50a87c(0x106)],0x0)?_0xf49a1f['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x3742db['TfvRK'](_0xf49a1f['length'],0x0)){_0x3742db[_0x50a87c(0x117)](_0xb4f758,{'status':_0x50a87c(0x124),'details':_0xf49a1f[_0x50a87c(0x106)]+_0x50a87c(0x156)});return;}_0x3742db['gqzNQ'](_0xb4f758,{'status':_0x3742db[_0x50a87c(0x136)]});});});}async function getSkillsFromDir(_0x2f5719,_0x63d98b){const _0xb1fe84=_0x24ecd2,_0x59e8ee={'XGgkd':function(_0x32312f,_0x400eb9,_0x32be61){return _0x32312f(_0x400eb9,_0x32be61);},'IugFu':'SKILL.md','KHHlF':function(_0xfe282,_0x35aea9){return _0xfe282(_0x35aea9);},'pEJEE':_0xb1fe84(0x111)};if(!existsSync(_0x2f5719))return[];const _0x548361=[];try{const _0x1e330c=await _0x59e8ee[_0xb1fe84(0x137)](readdir,_0x2f5719,{'withFileTypes':!![]});for(const _0x45a58e of _0x1e330c){if(_0x45a58e[_0xb1fe84(0x141)]()){const _0x48f212=join(_0x2f5719,_0x45a58e['name'],_0x59e8ee['IugFu']);if(_0x59e8ee[_0xb1fe84(0x121)](existsSync,_0x48f212)){let _0x2eaddf=_0x45a58e['name'];try{const _0x366421=await readFile(_0x48f212,_0x59e8ee['pEJEE']),_0x15770c=_0x366421[_0xb1fe84(0x12a)](/name:\s*(.+)/);_0x15770c&&(_0x2eaddf=_0x15770c[0x1]['trim']());}catch{}_0x548361['push']({'name':_0x45a58e[_0xb1fe84(0x13a)],'displayName':_0x2eaddf,'path':_0x48f212,'level':_0x63d98b});}}}}catch{return[];}return _0x548361;}async function getInstalledSkills(){const _0x335950=_0x24ecd2,_0x48b5b2={'jKUzg':function(_0x50082e,_0x239e10,_0x23a128){return _0x50082e(_0x239e10,_0x23a128);},'ydSHM':'project'},[_0x59065a,_0xb3828d]=await Promise[_0x335950(0x11c)]([_0x48b5b2['jKUzg'](getSkillsFromDir,getProjectSkillsDir(),_0x48b5b2['ydSHM']),getSkillsFromDir(getUserSkillsDir(),'user')]);return{'project':_0x59065a,'user':_0xb3828d};}async function getEnvironments(){const _0x361de0=_0x24ecd2,_0xc39659={'VzQhE':function(_0x4759cf,_0x53ea34){return _0x4759cf(_0x53ea34);},'Wzrbl':'auth.json','nMTJU':_0x361de0(0x11d),'KGMnh':function(_0xd11fd4,_0x52eaee){return _0xd11fd4(_0x52eaee);},'NZjid':'(not\x20found)','LZHxT':function(_0x5f1063,_0x2e5bb0){return _0x5f1063===_0x2e5bb0;},'GTDjT':function(_0x375bbd,_0x5a7ce2){return _0x375bbd(_0x5a7ce2);}},{envNames:_0x35b475,activeEnv:_0x5553ce}=await getEnvNames(),_0x58b985=getRangerDir();if(!_0xc39659['GTDjT'](existsSync,_0x58b985))return{'envs':[],'activeEnv':null};const _0x2b50c6=_0x35b475[_0x361de0(0x118)](_0x11fd22=>{const _0x369291=_0x361de0,_0x437af9=_0xc39659['VzQhE'](getEnvDir,_0x11fd22),_0x52e070=join(_0x437af9,'settings.json'),_0x4d22d2=join(_0x437af9,_0xc39659['Wzrbl']),_0xfcc793=join(_0x437af9,_0xc39659['nMTJU']);return{'name':_0x11fd22,'settingsPath':_0xc39659[_0x369291(0x155)](existsSync,_0x52e070)?_0x52e070:_0xc39659['NZjid'],'hasPlaintextAuth':_0xc39659[_0x369291(0xfd)](existsSync,_0x4d22d2),'hasEncryptedAuth':existsSync(_0xfcc793),'isActive':_0xc39659['LZHxT'](_0x11fd22,_0x5553ce)};});return{'envs':_0x2b50c6,'activeEnv':_0x5553ce};}export async function status(){const _0x4aaadd=_0x24ecd2,_0x25daba={'yuORv':'\x0a📊\x20Ranger\x20Status\x0a','jZHOJ':function(_0x3f4365){return _0x3f4365();},'uOzWo':function(_0x42ff66,_0x292882){return _0x42ff66(_0x292882);},'MrNSd':function(_0x5899ad){return _0x5899ad();},'SIvhd':function(_0x5d1ef1){return _0x5d1ef1();},'fhmLR':function(_0x254c62){return _0x254c62();},'MwVtd':function(_0x3043d0){return _0x3043d0();},'BodJP':function(_0x1959c7){return _0x1959c7();},'UUQuE':function(_0x57b34e,_0x26f8f7){return _0x57b34e===_0x26f8f7;},'MipoU':'configured','tbhRJ':function(_0x1d50e7,_0x41eaf3){return _0x1d50e7(_0x41eaf3);},'yDzVw':function(_0x2be875,_0xd97a65){return _0x2be875===_0xd97a65;},'GyqGq':_0x4aaadd(0x124),'IUSfW':_0x4aaadd(0x101),'VESjY':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','GqqYW':'ranger@trailhead','QBhNF':'unknown','ZJTxG':_0x4aaadd(0x10f),'ziRUz':_0x4aaadd(0xfe),'lkrpp':_0x4aaadd(0xff),'GtIsG':function(_0xbd5a77,_0x3cf8a0){return _0xbd5a77+_0x3cf8a0;},'vUpfS':function(_0x59f4ec,_0x2e1452){return _0x59f4ec>_0x2e1452;},'VDyLv':function(_0x9c769e,_0x12ee27){return _0x9c769e(_0x12ee27);},'nirlm':function(_0x2e79cd,_0x552fe8,_0x24538f){return _0x2e79cd(_0x552fe8,_0x24538f);},'GMzKX':function(_0x561333,_0x2dc1dc){return _0x561333(_0x2dc1dc);},'Zpnrp':'\x20\x20User-level:','ySWUl':'\x0a---\x20Profiles\x20---','VdzbX':'none','ASMri':function(_0x56eae8,_0x916123){return _0x56eae8(_0x916123);}};console['log'](_0x25daba['yuORv']);const _0x1aaf02=process[_0x4aaadd(0xf8)](),_0x1b7715=_0x25daba[_0x4aaadd(0x13d)](getRangerDir);if(!_0x25daba['uOzWo'](existsSync,_0x1b7715)){console['log']('Root:\x20'+link(_0x1aaf02,bold(basename(_0x1aaf02)))),console['log'](_0x4aaadd(0x132)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x4aaadd(0x109)+link(_0x1aaf02,_0x25daba[_0x4aaadd(0x14d)](bold,_0x25daba[_0x4aaadd(0x14d)](basename,_0x1aaf02))));const _0x44efbc=_0x25daba[_0x4aaadd(0x152)](getCurrentVersion),_0x4ea3f5=getLatestVersion();if(_0x4ea3f5[_0x4aaadd(0x146)]&&_0x4ea3f5['version']!==_0x44efbc)console[_0x4aaadd(0x113)](_0x4aaadd(0x114)+_0x44efbc+_0x4aaadd(0x10a)+_0x4ea3f5[_0x4aaadd(0x146)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x4ea3f5['version']?console[_0x4aaadd(0x113)]('Version:\x20'+_0x44efbc+_0x4aaadd(0x139)):console['log']('Version:\x20'+_0x44efbc);const _0x1f0e2b=await _0x25daba[_0x4aaadd(0x13c)](getToken);if(_0x1f0e2b){const _0x50f440=await _0x25daba['uOzWo'](getCurrentUser,_0x1f0e2b);_0x50f440['success']?console[_0x4aaadd(0x113)]('Organization:\x20'+bold(_0x50f440[_0x4aaadd(0x14e)]['organizationName'])):(console['log'](_0x4aaadd(0x12c)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x4aaadd(0x113)]('API\x20Token:\x20✗\x20Not\x20found'),console[_0x4aaadd(0x113)](_0x4aaadd(0x154));process[_0x4aaadd(0x13e)]['DEBUG']&&(console['log'](_0x4aaadd(0x14b)+_0x25daba['fhmLR'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+_0x25daba[_0x4aaadd(0x122)](getApiBaseUrl)));console['log']('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x29821e=await _0x25daba['BodJP'](getOpencodePluginStatus);if(_0x25daba[_0x4aaadd(0x13f)](_0x29821e[_0x4aaadd(0x151)],_0x25daba[_0x4aaadd(0x149)]))console[_0x4aaadd(0x113)]('\x20\x20'+_0x25daba['tbhRJ'](bold,_0x4aaadd(0x11b))+_0x4aaadd(0x138)),_0x29821e[_0x4aaadd(0x14f)]&&console[_0x4aaadd(0x113)]('\x20\x20'+_0x29821e['details']);else _0x25daba['yDzVw'](_0x29821e[_0x4aaadd(0x151)],_0x25daba['GyqGq'])?(console['log'](_0x25daba[_0x4aaadd(0x100)]),_0x29821e[_0x4aaadd(0x14f)]&&console[_0x4aaadd(0x113)]('\x20\x20'+_0x29821e['details']),console[_0x4aaadd(0x113)]('\x20\x20Run:\x20ranger\x20setup\x20--opencode')):console[_0x4aaadd(0x113)](_0x4aaadd(0x130));console[_0x4aaadd(0x113)](_0x25daba['VESjY']);const _0x3ca0a9=await getPluginInfo(_0x25daba[_0x4aaadd(0x115)]);if(_0x3ca0a9){const _0x34fa48=_0x3ca0a9['scope']||_0x25daba['QBhNF'],_0x4e4282=_0x3ca0a9[_0x4aaadd(0x10f)]?_0x25daba['ZJTxG']:_0x25daba[_0x4aaadd(0x119)];console['log']('\x20\x20'+_0x25daba[_0x4aaadd(0x14d)](bold,'ranger@trailhead')+':\x20installed\x20('+_0x34fa48+',\x20'+_0x4e4282+')');}else console[_0x4aaadd(0x113)](_0x4aaadd(0x133)),console[_0x4aaadd(0x113)](_0x25daba['lkrpp']);console[_0x4aaadd(0x113)](_0x4aaadd(0x10e));const {project:_0xf3a8f1,user:_0x1f9f7f}=await _0x25daba['BodJP'](getInstalledSkills),_0x576ea6=_0xf3a8f1[_0x4aaadd(0x135)](_0x65336b=>RANGER_MANAGED_SKILLS['includes'](_0x65336b[_0x4aaadd(0x13a)])),_0x9565a5=_0x1f9f7f[_0x4aaadd(0x135)](_0x5ac269=>RANGER_MANAGED_SKILLS[_0x4aaadd(0x148)](_0x5ac269['name'])),_0x5d8158=_0x25daba['GtIsG'](_0x576ea6['length'],_0x9565a5['length']);if(_0x5d8158===0x0)console['log']('No\x20skills\x20installed'),console[_0x4aaadd(0x113)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x25daba[_0x4aaadd(0x128)](_0x576ea6['length'],0x0)){console['log'](_0x4aaadd(0xfb));for(const _0x2ed444 of _0x576ea6){console['log']('\x20\x20\x20\x20'+_0x25daba['VDyLv'](bold,_0x2ed444['displayName'])+':\x20'+_0x25daba['nirlm'](link,_0x2ed444['path'],_0x25daba['GMzKX'](basename,_0x2ed444[_0x4aaadd(0x107)])));}}if(_0x25daba['vUpfS'](_0x9565a5['length'],0x0)){console['log'](_0x25daba['Zpnrp']);for(const _0xd6f812 of _0x9565a5){console[_0x4aaadd(0x113)](_0x4aaadd(0x103)+bold(_0xd6f812[_0x4aaadd(0x14a)])+':\x20'+_0x25daba[_0x4aaadd(0x116)](link,_0xd6f812['path'],basename(_0xd6f812['path'])));}}}console[_0x4aaadd(0x113)](_0x25daba['ySWUl']);const {envs:_0x3f6350,activeEnv:_0x47ebe6}=await getEnvironments();if(_0x25daba[_0x4aaadd(0x13f)](_0x3f6350['length'],0x0))console['log']('No\x20profiles\x20configured'),console[_0x4aaadd(0x113)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x3e1e3e of _0x3f6350){const _0x329c23=_0x3e1e3e[_0x4aaadd(0x10b)]?_0x4aaadd(0xfc):'',_0x17688b=_0x3e1e3e['hasEncryptedAuth']?'encrypted':_0x3e1e3e['hasPlaintextAuth']?_0x4aaadd(0x12e):_0x25daba[_0x4aaadd(0x110)];console['log']('\x20\x20'+_0x25daba['ASMri'](bold,_0x3e1e3e[_0x4aaadd(0x13a)])+_0x329c23),console[_0x4aaadd(0x113)](_0x4aaadd(0x10d)+_0x17688b),_0x3e1e3e['settingsPath']!=='(not\x20found)'&&console['log']('\x20\x20\x20\x20Settings:\x20'+link(_0x3e1e3e['settingsPath'],_0x25daba['uOzWo'](basename,_0x3e1e3e[_0x4aaadd(0x120)])));}!_0x47ebe6&&(console[_0x4aaadd(0x113)]('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log'](_0x4aaadd(0x145)+_0x3f6350['map'](_0x1518ba=>_0x1518ba[_0x4aaadd(0x13a)])['join'](',\x20')+')'));}console[_0x4aaadd(0x113)]('');}
@@ -1 +1 @@
1
- (function(_0x263d55,_0x7b5125){const _0x137af5=_0x2c54,_0x203fc9=_0x263d55();while(!![]){try{const _0x45ed2e=parseInt(_0x137af5(0xc6))/0x1+-parseInt(_0x137af5(0x94))/0x2+-parseInt(_0x137af5(0xcf))/0x3*(-parseInt(_0x137af5(0xd2))/0x4)+-parseInt(_0x137af5(0x8c))/0x5*(parseInt(_0x137af5(0x89))/0x6)+-parseInt(_0x137af5(0xb5))/0x7*(parseInt(_0x137af5(0x8d))/0x8)+parseInt(_0x137af5(0xd3))/0x9+-parseInt(_0x137af5(0xce))/0xa*(-parseInt(_0x137af5(0x87))/0xb);if(_0x45ed2e===_0x7b5125)break;else _0x203fc9['push'](_0x203fc9['shift']());}catch(_0x1563f9){_0x203fc9['push'](_0x203fc9['shift']());}}}(_0x4977,0x413ba));function _0x4977(){const _0x55f32e=['raxEE','xiGKW','121786aqsnKp','CHukW','@latest','join','push','\x0a✅\x20Update\x20complete!','length','kakZi','ufVMU','stdio','update','kill','aHXaF','.gitignore','\x0aCould\x20not\x20check\x20latest\x20version:\x20','npm','kyaYd','381584vjMJBk','qndri','split','GROBx','kyLrw','sxJXl','BbWAB','ignore','20qfQwBE','3xNnDCG','✓\x20Migrated\x20active\x20profile\x20file','platform','872792UHHyaZ','471393WKxbTQ','Claude\x20marketplace\x20update\x20command\x20failed\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).','MuFdJ','\x20\x20Failed\x20to\x20reinstall\x20','glhQp','766601zhrkCl','project','2134866QIhGcB','error','claude','5FKsyUB','8Pxnlul','WzvAr','log','EzNIK','EENry','close','\x0aClaude\x20plugin\x20updated\x20(project\x20scope).','302276SNZqaY','utf-8','Opxcu','version','DJuar','endsWith','OkrCG','install','pcpVe','EffJW','warn','vHoUQ','opencode','inherit','CjBmK',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','RJlca','PaxhD','qzMyp','\x20skill\x20','QdGiC','timeoutMs','ranger@trailhead','Claude\x20plugin\x20update\x20failed\x20for\x20','findIndex','qxtQs','dwMDG','user','active-profile.txt','trim','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.'];_0x4977=function(){return _0x55f32e;};return _0x4977();}import{spawn}from'child_process';import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';import{getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';import{join}from'path';import{migrateActiveProfileFile}from'./utils/activeProfile.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getPluginInfo,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';const CLAUDE_COMMAND_TIMEOUT_MS=0x1d4c0;function _0x2c54(_0x3957b9,_0x3392df){_0x3957b9=_0x3957b9-0x87;const _0x49778c=_0x4977();let _0x2c5448=_0x49778c[_0x3957b9];return _0x2c5448;}async function runCommand(_0x498561,_0x4b3297,_0x4d05dc){const _0x3229fd=_0x2c54,_0x541713={'glhQp':function(_0x3b2bb3,_0xb48c68){return _0x3b2bb3(_0xb48c68);},'yLcwC':function(_0x307bc6,_0x250507,_0x2d1b81,_0x3f18fd){return _0x307bc6(_0x250507,_0x2d1b81,_0x3f18fd);},'Tnluo':_0x3229fd(0xcd),'aHXaF':_0x3229fd(0xa1),'DJuar':'win32','CjBmK':'close','OkrCG':_0x3229fd(0x8a)};return new Promise(_0x27cbb2=>{const _0x48f39a=_0x3229fd,_0x57b591={'qndri':function(_0x364ca4,_0x30966d){const _0x5ee579=_0x2c54;return _0x541713[_0x5ee579(0xd7)](_0x364ca4,_0x30966d);}};let _0x4c7056=![],_0x2e30a6;const _0x393bdf=_0x22239d=>{const _0x2ff1e5=_0x2c54;if(_0x4c7056)return;_0x4c7056=!![],_0x2e30a6&&_0x57b591[_0x2ff1e5(0xc7)](clearTimeout,_0x2e30a6),_0x27cbb2(_0x22239d);},_0x50eba1=_0x541713['yLcwC'](spawn,_0x498561,_0x4b3297,{'stdio':[_0x541713['Tnluo'],_0x4d05dc?.[_0x48f39a(0xbe)]??_0x48f39a(0xa1),_0x4d05dc?.[_0x48f39a(0xbe)]??_0x541713[_0x48f39a(0xc1)]],'shell':process[_0x48f39a(0xd1)]===_0x541713[_0x48f39a(0x98)]});_0x2e30a6=_0x4d05dc?.[_0x48f39a(0xa9)]?setTimeout(()=>{const _0x2120a6=_0x48f39a;_0x50eba1[_0x2120a6(0xc0)](),_0x50eba1['unref'](),_0x393bdf(![]);},_0x4d05dc[_0x48f39a(0xa9)]):undefined,_0x50eba1['on'](_0x541713[_0x48f39a(0xa2)],_0x577c79=>{_0x393bdf(_0x577c79===0x0);}),_0x50eba1['on'](_0x541713[_0x48f39a(0x9a)],()=>{_0x393bdf(![]);});});}async function runInstall(){const _0x514ff3=_0x2c54,_0x27488f={'vhuxb':function(_0x1cbd57,_0x325ac3){return _0x1cbd57(_0x325ac3);},'Ydftn':function(_0x1b3fae,_0xbe8252){return _0x1b3fae===_0xbe8252;},'PaxhD':function(_0x4c9604,_0x9b24e3,_0x254f66,_0x44f07b){return _0x4c9604(_0x9b24e3,_0x254f66,_0x44f07b);},'EffJW':_0x514ff3(0xc4),'LetAP':_0x514ff3(0x9b),'kyLrw':'win32','vHoUQ':_0x514ff3(0x92),'pcpVe':_0x514ff3(0x8a)};return new Promise(_0x3ce29b=>{const _0x35deb6=_0x514ff3,_0x4fbf80={'BbWAB':function(_0x4c9103,_0xbaf04e){return _0x27488f['vhuxb'](_0x4c9103,_0xbaf04e);},'MuFdJ':function(_0x1c2071,_0x484cc1){return _0x27488f['Ydftn'](_0x1c2071,_0x484cc1);}};console[_0x35deb6(0x8f)]('\x0aInstalling\x20'+PACKAGE_NAME+'@latest...\x0a');const _0x1cc215=_0x27488f[_0x35deb6(0xa5)](spawn,_0x27488f[_0x35deb6(0x9d)],[_0x27488f['LetAP'],'-g',PACKAGE_NAME+_0x35deb6(0xb7)],{'stdio':[_0x35deb6(0xcd),'inherit','inherit'],'shell':process['platform']===_0x27488f[_0x35deb6(0xca)]});_0x1cc215['on'](_0x27488f[_0x35deb6(0x9f)],_0x4dff12=>{const _0x457626=_0x35deb6;_0x4fbf80[_0x457626(0xcc)](_0x3ce29b,_0x4fbf80[_0x457626(0xd5)](_0x4dff12,0x0));}),_0x1cc215['on'](_0x27488f[_0x35deb6(0x9c)],()=>{const _0x5965ff=_0x35deb6;_0x4fbf80[_0x5965ff(0xcc)](_0x3ce29b,![]);});});}async function updateClaudeMarketplace(){const _0x42432c=_0x2c54,_0x16ca82={'TjZZK':function(_0x57ed25,_0x4988b8,_0x426461,_0x3e2b05){return _0x57ed25(_0x4988b8,_0x426461,_0x3e2b05);},'sxJXl':'marketplace','RJlca':_0x42432c(0xbf),'wvVKm':'trailhead','Qpfro':_0x42432c(0xd4)},_0x21b957=await _0x16ca82['TjZZK'](runCommand,_0x42432c(0x8b),['plugin',_0x16ca82[_0x42432c(0xcb)],_0x16ca82[_0x42432c(0xa4)],_0x16ca82['wvVKm']],{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x21b957)throw new Error(_0x16ca82['Qpfro']);}async function updateClaudePlugin(_0x5c4626){const _0x5cca33=_0x2c54,_0x3bde40={'kakZi':'update','PgzYt':'--scope','AXvJr':function(_0x2f2c85,_0x2bd93f,_0x2a1196,_0x45904f){return _0x2f2c85(_0x2bd93f,_0x2a1196,_0x45904f);},'YDrRK':_0x5cca33(0x8b),'GvcsI':function(_0x2e6776,_0x119ca7){return _0x2e6776??_0x119ca7;},'qzMyp':_0x5cca33(0xaf)},_0x1c250c=['plugin',_0x3bde40[_0x5cca33(0xbc)],_0x5cca33(0xaa)];_0x5c4626&&_0x1c250c['push'](_0x3bde40['PgzYt'],_0x5c4626);const _0x30b2f4=await _0x3bde40['AXvJr'](runCommand,_0x3bde40['YDrRK'],_0x1c250c,{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x30b2f4){const _0x5339b5=_0x3bde40['GvcsI'](_0x5c4626,_0x3bde40[_0x5cca33(0xa6)]);throw new Error(_0x5cca33(0xab)+_0x5339b5+'\x20scope\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).');}}function isSkillInstalled(_0xcddc09,_0x21110a,_0x1ea5c0){const _0x4364a6={'pTWqX':function(_0x1af966,_0x6b001b){return _0x1af966(_0x6b001b);}},_0x3747d3=_0x1ea5c0==='opencode'?getOpencodeSkillsDir(_0x21110a):_0x4364a6['pTWqX'](getSkillsDir,_0x21110a),_0x4b8ba6=join(_0x3747d3,_0xcddc09);return existsSync(_0x4b8ba6);}async function reinstallSkills(_0x54912a){const _0x4b6ac8=_0x2c54,_0x525d0b={'kyaYd':'project','EENry':'user','REsfi':function(_0x4738ec,_0x5786a5,_0x3c5a5b,_0x180363){return _0x4738ec(_0x5786a5,_0x3c5a5b,_0x180363);},'pwyFn':_0x4b6ac8(0x8b),'Opxcu':_0x4b6ac8(0xa0),'xHEpk':function(_0x4930d7,_0x1f71ac,_0x14854c){return _0x4930d7(_0x1f71ac,_0x14854c);},'ufVMU':function(_0x25aabe,_0x48874e){return _0x25aabe===_0x48874e;}},_0x242384=[_0x525d0b[_0x4b6ac8(0xc5)],_0x525d0b[_0x4b6ac8(0x91)]],_0x95103d=[];for(const _0x1238a5 of _0x242384){for(const _0xa396f of RANGER_MANAGED_SKILLS){_0x525d0b['REsfi'](isSkillInstalled,_0xa396f,_0x1238a5,'claude')&&_0x95103d[_0x4b6ac8(0xb9)]({'skillName':_0xa396f,'level':_0x1238a5,'platform':_0x525d0b['pwyFn']}),_0x525d0b['REsfi'](isSkillInstalled,_0xa396f,_0x1238a5,_0x525d0b[_0x4b6ac8(0x96)])&&_0x95103d[_0x4b6ac8(0xb9)]({'skillName':_0xa396f,'level':_0x1238a5,'platform':_0x525d0b[_0x4b6ac8(0x96)]});}}for(const _0x24c066 of _0x242384){for(const _0x2dea9d of DEPRECATED_SKILLS){await _0x525d0b['xHEpk'](removeSkill,_0x2dea9d,_0x24c066);}}if(_0x525d0b[_0x4b6ac8(0xbd)](_0x95103d[_0x4b6ac8(0xbb)],0x0)){console['log'](_0x4b6ac8(0xb2));return;}console[_0x4b6ac8(0x8f)]('\x0aReinstalling\x20'+_0x95103d[_0x4b6ac8(0xbb)]+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x111b1c,level:_0x574e3b,platform:_0x2ae2ff}of _0x95103d){try{await installSkill(_0x111b1c,{'level':_0x574e3b,'cliVersion':_0x54912a,'platform':_0x2ae2ff});}catch(_0x9556f0){console['warn'](_0x4b6ac8(0xd6)+_0x2ae2ff+'\x20'+_0x574e3b+_0x4b6ac8(0xa7)+_0x111b1c+':',_0x9556f0);}}}async function ensureActiveProfileGitignored(){const _0x2773bb=_0x2c54,_0x3b1305={'JcJBs':function(_0x1b3004,_0x2ab72f,_0x518a31){return _0x1b3004(_0x2ab72f,_0x518a31);},'GROBx':_0x2773bb(0xc2),'uzMAj':function(_0x4ce2ab,_0x5bf5a4){return _0x4ce2ab(_0x5bf5a4);},'QdGiC':function(_0x10117c,_0x356fc4,_0x1cc439){return _0x10117c(_0x356fc4,_0x1cc439);},'WzvAr':'active-profile.txt','SwMNv':_0x2773bb(0x95)},_0x1cf2ce=_0x3b1305['JcJBs'](join,getRangerDir(),_0x3b1305[_0x2773bb(0xc9)]);if(!_0x3b1305['uzMAj'](existsSync,_0x1cf2ce))return![];let _0x4c4242='';try{_0x4c4242=await _0x3b1305[_0x2773bb(0xa8)](readFile,_0x1cf2ce,_0x2773bb(0x95));}catch{return![];}const _0x275489=_0x4c4242[_0x2773bb(0xc8)](/\r?\n/);if(_0x275489['some'](_0x8ba336=>_0x8ba336[_0x2773bb(0xb1)]()===_0x2773bb(0xb0)))return![];let _0x58ae7c=_0x275489[_0x2773bb(0xac)](_0x340c77=>_0x340c77[_0x2773bb(0xb1)]()==='active-feature.txt');_0x58ae7c===-0x1&&(_0x58ae7c=_0x275489[_0x2773bb(0xbb)]);_0x275489['splice'](_0x58ae7c,0x0,_0x3b1305[_0x2773bb(0x8e)]);let _0x355eab=_0x275489[_0x2773bb(0xb8)]('\x0a');!_0x355eab[_0x2773bb(0x99)]('\x0a')&&(_0x355eab+='\x0a');try{await writeFile(_0x1cf2ce,_0x355eab,_0x3b1305['SwMNv']);}catch{return![];}return!![];}export async function update(){const _0x2ea9b8=_0x2c54,_0x4f5906={'xiGKW':function(_0xa665ac){return _0xa665ac();},'EzNIK':'Attempting\x20install\x20anyway...','VHrhM':'\x0aSuccessfully\x20installed\x20latest\x20version.','dwMDG':function(_0x5567a2,_0x479aa6){return _0x5567a2===_0x479aa6;},'EGtxR':function(_0x5dc91f,_0x5da2a7){return _0x5dc91f(_0x5da2a7);},'raxEE':function(_0x2bfef7,_0x3f8c5a){return _0x2bfef7(_0x3f8c5a);},'CHukW':'ranger@trailhead','IoEpa':'\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','qxtQs':_0x2ea9b8(0xd0),'fCWUm':_0x2ea9b8(0xba)},_0x3b17f2=_0x4f5906['xiGKW'](getCurrentVersion);console[_0x2ea9b8(0x8f)]('\x0aCurrent\x20version:\x20'+_0x3b17f2),console[_0x2ea9b8(0x8f)]('Checking\x20for\x20updates...');const _0x81cca7=_0x4f5906[_0x2ea9b8(0xb4)](getLatestVersion);let _0x47fa53=_0x3b17f2;if(!_0x81cca7[_0x2ea9b8(0x97)]){console[_0x2ea9b8(0x9e)](_0x2ea9b8(0xc3)+_0x81cca7[_0x2ea9b8(0x8a)]),console[_0x2ea9b8(0x8f)](_0x4f5906[_0x2ea9b8(0x90)]);const _0x892a7c=await _0x4f5906[_0x2ea9b8(0xb4)](runInstall);if(_0x892a7c)console[_0x2ea9b8(0x8f)](_0x4f5906['VHrhM']),_0x47fa53=getCurrentVersion();else throw new Error('Update\x20failed:\x20'+_0x81cca7['error']);}else{const _0x22c4dc=_0x81cca7[_0x2ea9b8(0x97)];console['log']('Latest\x20version:\x20\x20'+_0x22c4dc);const _0x31d6a8=compareVersions(_0x3b17f2,_0x22c4dc);if(_0x4f5906['dwMDG'](_0x31d6a8,0x0))console[_0x2ea9b8(0x8f)]('\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.');else{if(_0x31d6a8<0x0)console['log']('\x0aYour\x20version\x20('+_0x3b17f2+_0x2ea9b8(0xa3)+_0x22c4dc+').');else{const _0x15a993=await runInstall();if(_0x15a993)console[_0x2ea9b8(0x8f)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x22c4dc),_0x47fa53=_0x22c4dc;else throw new Error('Update\x20failed.');}}}await _0x4f5906['EGtxR'](reinstallSkills,_0x47fa53);const _0x115b0a=await isMarketplaceAdded('trailhead'),_0x322624=await _0x4f5906['raxEE'](isPluginInstalled,_0x4f5906[_0x2ea9b8(0xb6)]);_0x115b0a&&(await updateClaudeMarketplace(),console[_0x2ea9b8(0x8f)]('\x0aClaude\x20marketplace\x20updated\x20(trailhead).'));if(_0x322624){const _0x2179d1=await getPluginInfo(_0x4f5906['CHukW']);_0x4f5906[_0x2ea9b8(0xae)](_0x2179d1?.['scope'],_0x2ea9b8(0x88))?(await _0x4f5906[_0x2ea9b8(0xb3)](updateClaudePlugin,_0x2ea9b8(0x88)),console['log'](_0x2ea9b8(0x93))):(await updateClaudePlugin(),console['log'](_0x4f5906['IoEpa']));}const _0x1dcb87=await migrateActiveProfileFile();_0x1dcb87&&console['log'](_0x4f5906[_0x2ea9b8(0xad)]);const _0x29b7d9=await ensureActiveProfileGitignored();console['log'](_0x4f5906['fCWUm']);}
1
+ const _0x1046d2=_0x14b9;(function(_0xa49fa6,_0x46277d){const _0x586522=_0x14b9,_0x480f3b=_0xa49fa6();while(!![]){try{const _0x33b5eb=-parseInt(_0x586522(0xb9))/0x1+parseInt(_0x586522(0xe9))/0x2*(-parseInt(_0x586522(0x9b))/0x3)+parseInt(_0x586522(0xc7))/0x4*(parseInt(_0x586522(0xd6))/0x5)+parseInt(_0x586522(0xc8))/0x6+-parseInt(_0x586522(0xa1))/0x7+parseInt(_0x586522(0xdb))/0x8*(-parseInt(_0x586522(0xe3))/0x9)+parseInt(_0x586522(0xe4))/0xa;if(_0x33b5eb===_0x46277d)break;else _0x480f3b['push'](_0x480f3b['shift']());}catch(_0x2091ea){_0x480f3b['push'](_0x480f3b['shift']());}}}(_0x2493,0xd460b));import{spawn}from'child_process';import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';function _0x2493(){const _0x590e3c=['183075SRJUpE','cHVXQ','\x20channel.','test','sQWYQ','212632XcdbPo','error','length','qzXYc','project','Update\x20failed:\x20','vmJIO','DjLna','333pXhDDX','18044120VqLjCg','uSmCv','JOcmn','install','marketplace','2264nxQErq','timeoutMs','stdio','plugin','NfxON','trailhead',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','active-profile.txt',').\x20Staying\x20on\x20','645jgrPNF','latest','.gitignore','Update\x20failed.','Checking\x20for\x20updates...','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','8148644pCNJlr','\x0aYour\x20version\x20(','win32','\x20ranger-managed\x20skill(s)...','CAaUg','\x0aClaude\x20plugin\x20updated\x20(project\x20scope).','yveay','vkqwB','ranger@trailhead','\x0a✅\x20Update\x20complete!','splice','\x0aSuccessfully\x20installed\x20','\x0aInstalling\x20','push','QxQcc','\x20—\x20reinstalling\x20@','paVQR','EAzAC','Latest\x20version:\x20\x20','\x0aReinstalling\x20','user','ABtPD','qVTFc','oTgCv','571958lEoUha','Claude\x20marketplace\x20update\x20command\x20failed\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).','split','update','\x0aCould\x20not\x20check\x20latest\x20version:\x20','uGUpo','KaKEk','...','Prerelease\x20channel\x20detected\x20(@','\x20skill\x20','...\x0a','local','fNWGQ','inherit','124clrXVd','5359650dXkyWl','findIndex','alpha','log','Attempting\x20install\x20anyway...','HGsOe','yPjGv','claude','igVAq','EVogc','platform','nOCnE','CgXPz','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).'];_0x2493=function(){return _0x590e3c;};return _0x2493();}import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';import{getProjectRoot,getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';function _0x14b9(_0xb9e3b4,_0x423daa){_0xb9e3b4=_0xb9e3b4-0x95;const _0x249365=_0x2493();let _0x14b952=_0x249365[_0xb9e3b4];return _0x14b952;}import{join}from'path';import{getRangerDir}from'./utils/rangerRoot.js';import{getPluginInfo,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';const CLAUDE_COMMAND_TIMEOUT_MS=0x1d4c0;async function runCommand(_0x50fdbc,_0x584a5f,_0x280192){const _0x5c641b=_0x14b9,_0x3ac5f3={'LXYLQ':function(_0x52add7,_0xb6a680){return _0x52add7(_0xb6a680);},'jxjGM':function(_0x4322d4,_0x39906f){return _0x4322d4(_0x39906f);},'vkqwB':function(_0x489717,_0x14c522,_0x1a15a7,_0x363452){return _0x489717(_0x14c522,_0x1a15a7,_0x363452);},'vmJIO':_0x5c641b(0xc6),'kXWFf':function(_0x489101,_0x255cd3){return _0x489101===_0x255cd3;},'RcdcJ':function(_0x11356e,_0x264484,_0x3a67ec){return _0x11356e(_0x264484,_0x3a67ec);},'jexuz':'close','LESKb':'error'};return new Promise(_0x272e27=>{const _0x388583=_0x5c641b,_0x52d137={'qVTFc':function(_0x8964b9,_0x261a0b){return _0x3ac5f3['LXYLQ'](_0x8964b9,_0x261a0b);},'HGsOe':function(_0x8bd73d,_0x28d820){return _0x8bd73d(_0x28d820);},'QxQcc':function(_0x35d3ec,_0x18aa38){return _0x3ac5f3['jxjGM'](_0x35d3ec,_0x18aa38);}};let _0x2c437a=![],_0x392d08;const _0x516d09=_0x46536d=>{if(_0x2c437a)return;_0x2c437a=!![],_0x392d08&&clearTimeout(_0x392d08),_0x272e27(_0x46536d);},_0x417d07=_0x3ac5f3[_0x388583(0xa8)](spawn,_0x50fdbc,_0x584a5f,{'stdio':['ignore',_0x280192?.[_0x388583(0xeb)]??_0x3ac5f3[_0x388583(0xe1)],_0x280192?.['stdio']??_0x3ac5f3['vmJIO']],'cwd':_0x280192?.['cwd'],'shell':_0x3ac5f3['kXWFf'](process['platform'],_0x388583(0xa3))});_0x392d08=_0x280192?.[_0x388583(0xea)]?_0x3ac5f3['RcdcJ'](setTimeout,()=>{const _0x1d9d4b=_0x388583;_0x417d07['kill'](),_0x417d07['unref'](),_0x52d137[_0x1d9d4b(0xb7)](_0x516d09,![]);},_0x280192[_0x388583(0xea)]):undefined,_0x417d07['on'](_0x3ac5f3['jexuz'],_0x145fd1=>{const _0x7e4f9d=_0x388583;_0x52d137[_0x7e4f9d(0xcd)](_0x516d09,_0x145fd1===0x0);}),_0x417d07['on'](_0x3ac5f3['LESKb'],()=>{const _0x48139b=_0x388583;_0x52d137[_0x48139b(0xaf)](_0x516d09,![]);});});}export function resolveDistTag(_0x1ed8a1){const _0x1c8fb3=_0x14b9,_0x2f3182={'EMOAT':'latest'};if(/-alpha\./i['test'](_0x1ed8a1))return _0x1c8fb3(0xca);if(/-beta\./i[_0x1c8fb3(0xd9)](_0x1ed8a1))return'beta';if(/-rc\./i[_0x1c8fb3(0xd9)](_0x1ed8a1))return'rc';return _0x2f3182['EMOAT'];}async function runInstall(_0x359b26=_0x1046d2(0x9c)){const _0x298338=_0x1046d2,_0x1a86d1={'CAaUg':'npm','xMXND':_0x298338(0xe7),'EVogc':'ignore','GScDg':function(_0x466673,_0x3d3cb3){return _0x466673===_0x3d3cb3;},'igVAq':'win32'};return new Promise(_0x29bafd=>{const _0x39f251=_0x298338;console[_0x39f251(0xcb)](_0x39f251(0xad)+PACKAGE_NAME+'@'+_0x359b26+_0x39f251(0xc3));const _0x25ff21=spawn(_0x1a86d1[_0x39f251(0xa5)],[_0x1a86d1['xMXND'],'-g',PACKAGE_NAME+'@'+_0x359b26],{'stdio':[_0x1a86d1[_0x39f251(0xd1)],_0x39f251(0xc6),'inherit'],'shell':_0x1a86d1['GScDg'](process[_0x39f251(0xd2)],_0x1a86d1[_0x39f251(0xd0)])});_0x25ff21['on']('close',_0x14af9f=>{_0x29bafd(_0x14af9f===0x0);}),_0x25ff21['on']('error',()=>{_0x29bafd(![]);});});}async function updateClaudeMarketplace(){const _0x592dc2=_0x1046d2,_0x37c5e0={'hJTac':'claude','CgXPz':_0x592dc2(0xe8),'aNlNN':_0x592dc2(0xbc),'JgClY':_0x592dc2(0xba)},_0x118632=await runCommand(_0x37c5e0['hJTac'],[_0x592dc2(0x95),_0x37c5e0[_0x592dc2(0xd4)],_0x37c5e0['aNlNN'],'trailhead'],{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x118632)throw new Error(_0x37c5e0['JgClY']);}async function updateClaudePlugin(_0x2c5ab3=_0x1046d2(0xb5)){const _0x49651d=_0x1046d2,_0x5e90e0={'xuDXw':_0x49651d(0x95),'sQWYQ':_0x49651d(0xbc),'LWpgX':'user','DjLna':_0x49651d(0xcf),'nOCnE':function(_0x59a55c,_0x304fc2){return _0x59a55c===_0x304fc2;},'vzaJO':'project','ZQIvQ':function(_0x1c149c,_0x1d4144){return _0x1c149c===_0x1d4144;}},_0x1fcf8d=[_0x5e90e0['xuDXw'],_0x5e90e0[_0x49651d(0xda)],_0x49651d(0xa9)];_0x2c5ab3!==_0x5e90e0['LWpgX']&&_0x1fcf8d['push']('--scope',_0x2c5ab3);const _0x9ce9b2=await runCommand(_0x5e90e0[_0x49651d(0xe2)],_0x1fcf8d,{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS,'cwd':_0x5e90e0[_0x49651d(0xd3)](_0x2c5ab3,_0x5e90e0['vzaJO'])||_0x5e90e0['ZQIvQ'](_0x2c5ab3,_0x49651d(0xc4))?getProjectRoot():undefined});if(!_0x9ce9b2)throw new Error('Claude\x20plugin\x20update\x20failed\x20for\x20'+_0x2c5ab3+'\x20scope\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).');}function isSkillInstalled(_0x3eafe6,_0x513675,_0x227ec5){const _0x4381fc={'HapSj':function(_0x2122b0,_0x109f8e){return _0x2122b0===_0x109f8e;},'jczgI':function(_0x5724b3,_0x90ec6d){return _0x5724b3(_0x90ec6d);},'SRtut':function(_0x56b22b,_0x43c311){return _0x56b22b(_0x43c311);}},_0x4bd216=_0x4381fc['HapSj'](_0x227ec5,'opencode')?getOpencodeSkillsDir(_0x513675):_0x4381fc['jczgI'](getSkillsDir,_0x513675),_0x25d1bb=join(_0x4bd216,_0x3eafe6);return _0x4381fc['SRtut'](existsSync,_0x25d1bb);}async function reinstallSkills(_0x53580e){const _0x3bb2b7=_0x1046d2,_0x504785={'ykpLy':function(_0x4e4aa4,_0x32f566,_0x4d3eaa,_0x33e105){return _0x4e4aa4(_0x32f566,_0x4d3eaa,_0x33e105);},'paVQR':'claude','HcVkS':function(_0x49ace9,_0x1bc328,_0x214b44){return _0x49ace9(_0x1bc328,_0x214b44);},'cHVXQ':function(_0x143079,_0x61018){return _0x143079===_0x61018;}},_0x444243=[_0x3bb2b7(0xdf),_0x3bb2b7(0xb5)],_0x41ffef=[];for(const _0x155cc2 of _0x444243){for(const _0x5e68e6 of RANGER_MANAGED_SKILLS){_0x504785['ykpLy'](isSkillInstalled,_0x5e68e6,_0x155cc2,'claude')&&_0x41ffef['push']({'skillName':_0x5e68e6,'level':_0x155cc2,'platform':_0x504785[_0x3bb2b7(0xb1)]}),_0x504785['ykpLy'](isSkillInstalled,_0x5e68e6,_0x155cc2,'opencode')&&_0x41ffef[_0x3bb2b7(0xae)]({'skillName':_0x5e68e6,'level':_0x155cc2,'platform':'opencode'});}}for(const _0x351f7d of _0x444243){for(const _0x3001ec of DEPRECATED_SKILLS){await _0x504785['HcVkS'](removeSkill,_0x3001ec,_0x351f7d);}}if(_0x504785[_0x3bb2b7(0xd7)](_0x41ffef['length'],0x0)){console[_0x3bb2b7(0xcb)]('\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.');return;}console['log'](_0x3bb2b7(0xb4)+_0x41ffef[_0x3bb2b7(0xdd)]+_0x3bb2b7(0xa4));for(const {skillName:_0x1705ec,level:_0x23cd6b,platform:_0x401da3}of _0x41ffef){try{await installSkill(_0x1705ec,{'level':_0x23cd6b,'cliVersion':_0x53580e,'platform':_0x401da3});}catch(_0x5145e9){console['warn']('\x20\x20Failed\x20to\x20reinstall\x20'+_0x401da3+'\x20'+_0x23cd6b+_0x3bb2b7(0xc2)+_0x1705ec+':',_0x5145e9);}}}async function ensureActiveProfileGitignored(){const _0x224b31=_0x1046d2,_0x306909={'uGUpo':'active-profile.txt'},_0x4b28bd=join(getRangerDir(),_0x224b31(0x9d));if(!existsSync(_0x4b28bd))return![];let _0x1ee98e='';try{_0x1ee98e=await readFile(_0x4b28bd,'utf-8');}catch{return![];}const _0x3d061c=_0x1ee98e[_0x224b31(0xbb)](/\r?\n/);if(_0x3d061c['some'](_0x526990=>_0x526990['trim']()===_0x224b31(0x99)))return![];let _0x5b18ca=_0x3d061c[_0x224b31(0xc9)](_0x4b5b7d=>_0x4b5b7d['trim']()==='active-feature.txt');_0x5b18ca===-0x1&&(_0x5b18ca=_0x3d061c[_0x224b31(0xdd)]);_0x3d061c[_0x224b31(0xab)](_0x5b18ca,0x0,_0x306909[_0x224b31(0xbe)]);let _0x384613=_0x3d061c['join']('\x0a');!_0x384613['endsWith']('\x0a')&&(_0x384613+='\x0a');try{await writeFile(_0x4b28bd,_0x384613,'utf-8');}catch{return![];}return!![];}export async function update(){const _0x5b9bca=_0x1046d2,_0x5996ea={'uSmCv':function(_0xa44635,_0x393d3f){return _0xa44635!==_0x393d3f;},'yPjGv':function(_0x697003,_0x4984f3){return _0x697003(_0x4984f3);},'KaKEk':function(_0x1509d8){return _0x1509d8();},'fNWGQ':_0x5b9bca(0x9f),'ABtPD':_0x5b9bca(0xcc),'zdihb':'\x0aSuccessfully\x20installed\x20latest\x20version.','mEpvQ':function(_0x27b8dd,_0x105bde,_0x307166){return _0x27b8dd(_0x105bde,_0x307166);},'NfxON':function(_0x1319a3,_0x24609f){return _0x1319a3===_0x24609f;},'yveay':_0x5b9bca(0xa0),'Hpinl':function(_0x33d939,_0x5aa631){return _0x33d939<_0x5aa631;},'dtjFw':_0x5b9bca(0x9e),'xhakA':function(_0x2585b9,_0xb5f552){return _0x2585b9(_0xb5f552);},'qzXYc':_0x5b9bca(0x97),'gqDab':_0x5b9bca(0xa9),'EAzAC':function(_0x46519f){return _0x46519f();},'CmjWq':'\x0aClaude\x20marketplace\x20updated\x20(trailhead).','gnBkU':function(_0x5df67f,_0x891e){return _0x5df67f(_0x891e);},'oTgCv':'project','JOcmn':_0x5b9bca(0xa6),'ysAEp':_0x5b9bca(0xd5),'aQBzd':function(_0x12022b){return _0x12022b();}},_0x386eae=getCurrentVersion();console['log']('\x0aCurrent\x20version:\x20'+_0x386eae);const _0x2a1ded=resolveDistTag(_0x386eae);if(_0x5996ea[_0x5b9bca(0xe5)](_0x2a1ded,_0x5b9bca(0x9c))){console[_0x5b9bca(0xcb)](_0x5b9bca(0xc1)+_0x2a1ded+_0x5b9bca(0x9a)+_0x2a1ded+_0x5b9bca(0xb0)+_0x2a1ded+_0x5b9bca(0xc0));const _0x117945=await _0x5996ea['yPjGv'](runInstall,_0x2a1ded);if(!_0x117945)throw new Error('Update\x20failed\x20for\x20@'+_0x2a1ded+_0x5b9bca(0xd8));const _0x44d4d7=getCurrentVersion();console['log'](_0x5b9bca(0xac)+PACKAGE_NAME+'@'+_0x2a1ded+'.'),await reinstallSkills(_0x44d4d7),await _0x5996ea[_0x5b9bca(0xbf)](ensureActiveProfileGitignored),console[_0x5b9bca(0xcb)]('\x0a✅\x20Update\x20complete!');return;}console[_0x5b9bca(0xcb)](_0x5996ea[_0x5b9bca(0xc5)]);const _0x30e82b=_0x5996ea['KaKEk'](getLatestVersion);let _0x1bb69b=_0x386eae;if(!_0x30e82b['version']){console['warn'](_0x5b9bca(0xbd)+_0x30e82b[_0x5b9bca(0xdc)]),console['log'](_0x5996ea[_0x5b9bca(0xb6)]);const _0x267717=await runInstall();if(_0x267717)console['log'](_0x5996ea['zdihb']),_0x1bb69b=getCurrentVersion();else throw new Error(_0x5b9bca(0xe0)+_0x30e82b['error']);}else{const _0x21455a=_0x30e82b['version'];console['log'](_0x5b9bca(0xb3)+_0x21455a);const _0x30994d=_0x5996ea['mEpvQ'](compareVersions,_0x386eae,_0x21455a);if(_0x5996ea[_0x5b9bca(0x96)](_0x30994d,0x0))console[_0x5b9bca(0xcb)](_0x5996ea[_0x5b9bca(0xa7)]);else{if(_0x5996ea['Hpinl'](_0x30994d,0x0))console['log'](_0x5b9bca(0xa2)+_0x386eae+_0x5b9bca(0x98)+_0x21455a+').');else{const _0x17f2f1=await runInstall();if(_0x17f2f1)console[_0x5b9bca(0xcb)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x21455a),_0x1bb69b=_0x21455a;else throw new Error(_0x5996ea['dtjFw']);}}}await _0x5996ea['xhakA'](reinstallSkills,_0x1bb69b);const _0x3e2a3c=await _0x5996ea[_0x5b9bca(0xce)](isMarketplaceAdded,_0x5996ea[_0x5b9bca(0xde)]),_0x3b67d6=await isPluginInstalled(_0x5996ea['gqDab']);_0x3e2a3c&&(await _0x5996ea[_0x5b9bca(0xb2)](updateClaudeMarketplace),console['log'](_0x5996ea['CmjWq']));if(_0x3b67d6){const _0x4bcdf9=await _0x5996ea['gnBkU'](getPluginInfo,'ranger@trailhead'),_0x130d60=_0x4bcdf9?.['scope']??'user';await _0x5996ea['yPjGv'](updateClaudePlugin,_0x130d60);if(_0x130d60===_0x5996ea[_0x5b9bca(0xb8)])console['log'](_0x5996ea[_0x5b9bca(0xe6)]);else _0x130d60==='local'?console[_0x5b9bca(0xcb)]('\x0aClaude\x20plugin\x20updated\x20(local\x20scope).'):console['log'](_0x5996ea['ysAEp']);}const _0x581b72=await _0x5996ea['aQBzd'](ensureActiveProfileGitignored);console['log'](_0x5b9bca(0xaa));}
@@ -1 +1 @@
1
- (function(_0xff6877,_0xa2539c){const _0x27a5ee=_0x3b85,_0x334516=_0xff6877();while(!![]){try{const _0x4b8626=parseInt(_0x27a5ee(0x156))/0x1+parseInt(_0x27a5ee(0x166))/0x2*(-parseInt(_0x27a5ee(0x14c))/0x3)+parseInt(_0x27a5ee(0x151))/0x4*(-parseInt(_0x27a5ee(0x154))/0x5)+-parseInt(_0x27a5ee(0x16e))/0x6*(parseInt(_0x27a5ee(0x148))/0x7)+-parseInt(_0x27a5ee(0x174))/0x8+-parseInt(_0x27a5ee(0x14f))/0x9*(parseInt(_0x27a5ee(0x168))/0xa)+-parseInt(_0x27a5ee(0x14e))/0xb*(-parseInt(_0x27a5ee(0x157))/0xc);if(_0x4b8626===_0xa2539c)break;else _0x334516['push'](_0x334516['shift']());}catch(_0x447120){_0x334516['push'](_0x334516['shift']());}}}(_0x1c1e,0x1e390));import{writeFile,readFile,unlink}from'fs/promises';import{join}from'path';function _0x3b85(_0x57028c,_0x262f9e){_0x57028c=_0x57028c-0x146;const _0x1c1e13=_0x1c1e();let _0x3b8547=_0x1c1e13[_0x57028c];return _0x3b8547;}import{existsSync}from'fs';import{chromium}from'playwright';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';function _0x1c1e(){const _0x20e9a2=['config_write','goto','GmEUD','extraHTTPHeaders','22gFtpsu','contextOptions','29740lmawkh','baseUrl','WICFF','SttzR','safeMode','catch','71514XSdjWi','NErtm','OeWws','pHccH','SUwUC','Non-interactive\x20mode\x20detected.\x0aThe\x20\x22ranger\x20profile\x20update\x22\x20command\x20requires\x20interactive\x20browser\x20authentication\x20and\x20cannot\x20be\x20run\x20in\x20non-TTY\x20environments\x20(CI,\x20scripts,\x20Claude\x20Code).\x0aTo\x20update\x20profile\x20authentication:\x0a\x20\x201.\x20Run\x20\x22ranger\x20profile\x20update\x20<name>\x22\x20in\x20an\x20interactive\x20terminal\x0a\x20\x202.\x20Commit\x20the\x20updated\x20encrypted\x20auth\x20file\x20to\x20git','1607928hYQeyl','auth.json','Enable\x20safe\x20mode\x20and\x20try\x20again:\x20ranger\x20profile\x20config\x20set\x20','allowInsecureLocalhost','\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a','7koMyto','stdin','parse','PNtWJ','43617EtunYe','\x0a✅\x20Profile\x20\x22','165VXudwn','432uFbYwP','setupHeaders','1112hUTLRy','log','close','3835HbtDDv','launch','119979nYxHuL','586104zXrqdV','✓\x20Auth\x20state\x20saved\x20to:\x20','LAxhv','StCfg','browser','error','eYUEV','This\x20can\x20happen\x20due\x20to\x20a\x20browser\x20compatibility\x20issue\x20on\x20some\x20systems.\x0a','usSAf','\x20safeMode\x20true\x0a','\x22\x20authentication\x20updated'];_0x1c1e=function(){return _0x20e9a2;};return _0x1c1e();}import{buildBrowserOptionsFromSettings,getEnvDir,isEnvCi,resolveEnvVars}from'./utils/settings.js';import{addProfileSetupBanner}from'./utils/profileSetupBanner.js';export async function updateEnv(_0x56f55d,_0x5959b6,_0x23b2a8){const _0x54f796=_0x3b85,_0x33d10c={'WICFF':function(_0x87ba80){return _0x87ba80();},'likIm':_0x54f796(0x153),'SttzR':function(_0xf4130b,_0x2df405){return _0xf4130b(_0x2df405);},'OeWws':function(_0x25d7e5,_0x3798b1,_0x2fbb53){return _0x25d7e5(_0x3798b1,_0x2fbb53);},'OtSMY':'settings.json','kNRnJ':_0x54f796(0x175),'usSAf':function(_0x3b6199,_0x1ff483){return _0x3b6199+_0x1ff483;},'pTMyN':'.enc','pgWLh':function(_0x1b31f1,_0x26fa72){return _0x1b31f1(_0x26fa72);},'LAxhv':'utf-8','PNtWJ':function(_0x4e7eeb,_0x3fc54c){return _0x4e7eeb(_0x3fc54c);},'TEEIs':'string','GmEUD':'browser_auth','JmWtG':function(_0x470800,_0x41b806){return _0x470800||_0x41b806;},'eYUEV':'about:blank','zAxLN':_0x54f796(0x15e),'dIgxM':function(_0x47dd51){return _0x47dd51();},'SUwUC':function(_0x150f4c,_0x13aa84){return _0x150f4c(_0x13aa84);},'NErtm':'\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','StCfg':function(_0x18037d,_0x4efd5e){return _0x18037d===_0x4efd5e;},'pHccH':function(_0x2a5951,_0x18a123,_0x160470){return _0x2a5951(_0x18a123,_0x160470);}},_0x35d9e0=_0x33d10c[_0x54f796(0x16b)](getEnvDir,_0x56f55d),_0x1a0a4b=_0x33d10c[_0x54f796(0x170)](join,_0x35d9e0,_0x33d10c['OtSMY']),_0x20355a=join(_0x35d9e0,_0x33d10c['kNRnJ']),_0x47b7a8=_0x33d10c[_0x54f796(0x15f)](_0x20355a,_0x33d10c['pTMyN']),_0x1343fa=process[_0x54f796(0x149)]['isTTY']&&process['stdout']['isTTY'];if(!_0x1343fa)throw new Error(_0x54f796(0x173));if(!existsSync(_0x35d9e0))throw new Error('Profile\x20\x22'+_0x56f55d+'\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x56f55d);if(!_0x33d10c['pgWLh'](existsSync,_0x1a0a4b))throw new Error('Config\x20not\x20found\x20at\x20'+_0x1a0a4b+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x56f55d);const _0x5b27c7=await _0x33d10c[_0x54f796(0x170)](readFile,_0x1a0a4b,_0x33d10c[_0x54f796(0x159)]),_0x5c1975=JSON[_0x54f796(0x14a)](_0x5b27c7),_0x3b7fb7=_0x33d10c[_0x54f796(0x14b)](resolveEnvVars,_0x5c1975),_0x450a88=typeof _0x3b7fb7[_0x54f796(0x169)]===_0x33d10c['TEEIs']?_0x3b7fb7['baseUrl']:undefined,_0x2af2a0=existsSync(_0x20355a),_0x4963b0=_0x33d10c[_0x54f796(0x14b)](isEnvCi,_0x56f55d);_0x5959b6?.['trackPhaseStart'](_0x33d10c[_0x54f796(0x164)]),console['log']('\x0a📋\x20Authentication\x20Update'),console['log']('\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).'),console[_0x54f796(0x152)]('\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.'),console[_0x54f796(0x152)](_0x54f796(0x147));const {launchOptions:_0x113cd0,contextOptions:_0x1f2e25}=buildBrowserOptionsFromSettings(_0x3b7fb7,{'headless':![],'storageStatePath':_0x2af2a0?_0x20355a:undefined});_0x3b7fb7[_0x54f796(0x150)]&&(_0x1f2e25[_0x54f796(0x165)]={..._0x1f2e25[_0x54f796(0x165)],..._0x3b7fb7['setupHeaders']});const _0x1bbf4f=await chromium[_0x54f796(0x155)](_0x113cd0);let _0x457bd1=null;try{_0x457bd1=await _0x1bbf4f['newContext'](_0x1f2e25),await addProfileSetupBanner(_0x457bd1);const _0x42c36c=await _0x457bd1['newPage']();await _0x42c36c[_0x54f796(0x163)](_0x33d10c['JmWtG'](_0x450a88,_0x33d10c[_0x54f796(0x15d)]));let _0x3f1063=![];await new Promise(_0x2b8bf4=>{const _0x28d15e={'dBnRL':function(_0x280da8){const _0x3435bc=_0x3b85;return _0x33d10c[_0x3435bc(0x16a)](_0x280da8);}};_0x42c36c['on'](_0x33d10c['likIm'],async()=>{try{console['log']('Saving\x20authentication\x20state...'),await _0x457bd1?.['storageState']({'path':_0x20355a}),_0x3f1063=!![];}catch{}_0x28d15e['dBnRL'](_0x2b8bf4);});});if(!_0x3f1063){console[_0x54f796(0x152)]('\x0aThe\x20browser\x20closed\x20unexpectedly\x20before\x20authentication\x20could\x20be\x20saved.');!_0x3b7fb7[_0x54f796(0x16c)]&&(console['log'](_0x33d10c['zAxLN']),console['log'](_0x54f796(0x176)+_0x56f55d+_0x54f796(0x160)));throw new Error('Browser\x20closed\x20before\x20authentication\x20was\x20saved.');}}finally{_0x457bd1&&await _0x457bd1[_0x54f796(0x153)]()['catch'](()=>{}),await _0x1bbf4f[_0x54f796(0x153)]()[_0x54f796(0x16d)](()=>{});}if(_0x4963b0){const _0x3b9f3b=await readFile(_0x20355a,'utf-8'),_0x34e37c=await _0x33d10c['dIgxM'](getToken);if(!_0x34e37c)console[_0x54f796(0x15c)]('\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]'),console['log'](_0x54f796(0x158)+_0x20355a);else{const _0x40d8a7=encrypt(_0x3b9f3b,_0x34e37c);await writeFile(_0x47b7a8,_0x40d8a7),await _0x33d10c[_0x54f796(0x172)](unlink,_0x20355a),console[_0x54f796(0x152)]('✓\x20Encrypted\x20auth\x20saved\x20to:\x20'+_0x47b7a8),console[_0x54f796(0x152)]('\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.'),console['log'](_0x33d10c[_0x54f796(0x16f)]);}}else console['log']('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x20355a);_0x5959b6?.['trackPhaseEnd'](_0x33d10c['GmEUD']),_0x5959b6?.['trackPhaseStart'](_0x54f796(0x162)),_0x5c1975[_0x54f796(0x15b)]=_0x5c1975['browser']||{},_0x5c1975[_0x54f796(0x15b)]['contextOptions']=_0x5c1975['browser'][_0x54f796(0x167)]||{},_0x5c1975['browser'][_0x54f796(0x167)]['storageState']=_0x20355a,_0x33d10c[_0x54f796(0x15a)](_0x23b2a8?.['allowInsecureLocalhost'],!![])&&(_0x5c1975[_0x54f796(0x146)]=!![]),await _0x33d10c[_0x54f796(0x171)](writeFile,_0x1a0a4b,JSON['stringify'](_0x5c1975,null,0x2)),console[_0x54f796(0x152)]('✓\x20Updated\x20config:\x20'+_0x1a0a4b),_0x5959b6?.['trackPhaseEnd']('config_write'),console['log'](_0x54f796(0x14d)+_0x56f55d+_0x54f796(0x161));}
1
+ (function(_0x3fad18,_0x56cba9){var _0x8ef4f1=_0x34ca,_0x40cb83=_0x3fad18();while(!![]){try{var _0x1ebbfe=parseInt(_0x8ef4f1(0xec))/0x1+-parseInt(_0x8ef4f1(0xe9))/0x2+-parseInt(_0x8ef4f1(0xf4))/0x3+-parseInt(_0x8ef4f1(0xf0))/0x4*(-parseInt(_0x8ef4f1(0xe8))/0x5)+-parseInt(_0x8ef4f1(0xea))/0x6*(-parseInt(_0x8ef4f1(0xed))/0x7)+parseInt(_0x8ef4f1(0xf5))/0x8*(-parseInt(_0x8ef4f1(0xeb))/0x9)+parseInt(_0x8ef4f1(0xf2))/0xa;if(_0x1ebbfe===_0x56cba9)break;else _0x40cb83['push'](_0x40cb83['shift']());}catch(_0x532877){_0x40cb83['push'](_0x40cb83['shift']());}}}(_0x544d,0x45144));export async function updateEnv(_0x3be44e,_0x3eace4,_0x307631){var _0x38893b=_0x34ca,_0x565d55={'GiPjO':function(_0x261977,_0x513aad){return _0x261977+_0x513aad;},'vUIRd':function(_0x312b7e,_0x377b1b){return _0x312b7e+_0x377b1b;},'ButfD':function(_0xa7137b,_0x127fa2){return _0xa7137b+_0x127fa2;},'BSZeV':_0x38893b(0xf1)};console[_0x38893b(0xef)](_0x565d55['GiPjO'](_0x565d55['GiPjO'](_0x565d55['vUIRd'](_0x565d55[_0x38893b(0xf3)](_0x38893b(0xee),'re-run\x20the\x20same\x20setup\x20that\x20created\x20the\x20profile:\x0a'),'\x0a')+_0x565d55['BSZeV']+'\x0a','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'),'\x20\x20https://docs.ranger.net/main/concepts/profiles')),process['exit'](0x1);}function _0x34ca(_0x538c79,_0xa5256b){_0x538c79=_0x538c79-0xe8;var _0x544d73=_0x544d();var _0x34ca5d=_0x544d73[_0x538c79];return _0x34ca5d;}function _0x544d(){var _0x39139e=['83063uhcNlj','2996EAqQAf','ranger\x20profile\x20update\x20is\x20no\x20longer\x20supported.\x20To\x20refresh\x20authentication,\x0a','error','160936lOXvsf','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','9119380tXwcmU','ButfD','338010GRkWrJ','8bvnROI','15gFfMQC','627926HhsiPx','1650UXPUtA','4714398wJevia'];_0x544d=function(){return _0x39139e;};return _0x544d();}
@@ -1 +1 @@
1
- function _0x1cf3(){const _0x1219c2=['\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','170788OmKFWT','8706FElLtK','log','1581210tJDSBT','35EMcaNV','settings.json','\x0a✓\x20Now\x20using\x20profile\x20\x22','39BLyCsV','45ARUSpe','3067687ehYTJY','134814QFVwzV','4077856avzXCa','412180kqlKxZ'];_0x1cf3=function(){return _0x1219c2;};return _0x1cf3();}(function(_0x2af586,_0x5dd644){const _0x5b86b9=_0x14aa,_0xaddabf=_0x2af586();while(!![]){try{const _0x931308=parseInt(_0x5b86b9(0x146))/0x1+-parseInt(_0x5b86b9(0x13d))/0x2*(parseInt(_0x5b86b9(0x143))/0x3)+parseInt(_0x5b86b9(0x13c))/0x4*(-parseInt(_0x5b86b9(0x140))/0x5)+-parseInt(_0x5b86b9(0x13f))/0x6+parseInt(_0x5b86b9(0x145))/0x7+parseInt(_0x5b86b9(0x139))/0x8+parseInt(_0x5b86b9(0x144))/0x9*(-parseInt(_0x5b86b9(0x13a))/0xa);if(_0x931308===_0x5dd644)break;else _0xaddabf['push'](_0xaddabf['shift']());}catch(_0x276ea2){_0xaddabf['push'](_0xaddabf['shift']());}}}(_0x1cf3,0x3ee9e));import{join}from'path';import{existsSync}from'fs';import{getEnvDir}from'./utils/settings.js';function _0x14aa(_0x440941,_0x4c5543){_0x440941=_0x440941-0x139;const _0x1cf3f6=_0x1cf3();let _0x14aace=_0x1cf3f6[_0x440941];return _0x14aace;}import{writeActiveProfileName}from'./utils/activeProfile.js';export async function useEnv(_0x485a34){const _0x11ce5e=_0x14aa,_0x51530e={'tudWq':function(_0x228449,_0x113292){return _0x228449(_0x113292);}},_0x4c457d=getEnvDir(_0x485a34),_0x2c4b38=join(_0x4c457d,_0x11ce5e(0x141));if(!_0x51530e['tudWq'](existsSync,_0x4c457d))throw new Error('Profile\x20\x22'+_0x485a34+_0x11ce5e(0x13b)+_0x485a34);if(!existsSync(_0x2c4b38))throw new Error('Config\x20not\x20found\x20at\x20'+_0x2c4b38+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x485a34);await writeActiveProfileName(_0x485a34),console[_0x11ce5e(0x13e)](_0x11ce5e(0x142)+_0x485a34+'\x22');}
1
+ (function(_0x2b5e3b,_0x517d0b){const _0x58c5ab=_0x5d90,_0x4d25a0=_0x2b5e3b();while(!![]){try{const _0x569898=parseInt(_0x58c5ab(0x1aa))/0x1+parseInt(_0x58c5ab(0x1b8))/0x2*(-parseInt(_0x58c5ab(0x1b2))/0x3)+parseInt(_0x58c5ab(0x1b6))/0x4*(parseInt(_0x58c5ab(0x1b1))/0x5)+-parseInt(_0x58c5ab(0x1b5))/0x6+parseInt(_0x58c5ab(0x1b3))/0x7*(-parseInt(_0x58c5ab(0x1a7))/0x8)+-parseInt(_0x58c5ab(0x1ba))/0x9*(parseInt(_0x58c5ab(0x1b4))/0xa)+parseInt(_0x58c5ab(0x1b0))/0xb;if(_0x569898===_0x517d0b)break;else _0x4d25a0['push'](_0x4d25a0['shift']());}catch(_0x4473c2){_0x4d25a0['push'](_0x4d25a0['shift']());}}}(_0x46d3,0x48ce7));import{join}from'path';import{existsSync}from'fs';import{getEnvDir}from'./utils/settings.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{ApiError,fetchCloudProfile}from'./utils/cloudProfile.js';function _0x46d3(){const _0x183f28=['800028hEGcer','status','729171abkPrJ','2338824eeQTSX','Run\x20`ranger\x20profile\x20ls`\x20to\x20see\x20available\x20profiles,\x20or\x20','\x0a✓\x20Now\x20using\x20profile\x20\x22','159706riGThj','settings.json','\x22\x20not\x20found\x20locally\x20or\x20in\x20the\x20cloud.\x20','Profile\x20\x22','iePFO','log','13982243tgfuwi','924575lNumCL','3LyLWjJ','7deECOQ','60fSXqwb','834228RihBEK','4lPcMBB','cFxDN'];_0x46d3=function(){return _0x183f28;};return _0x46d3();}function _0x5d90(_0x52b515,_0xb7b6ef){_0x52b515=_0x52b515-0x1a7;const _0x46d3b7=_0x46d3();let _0x5d9036=_0x46d3b7[_0x52b515];return _0x5d9036;}export async function useEnv(_0x57cd2f){const _0x510371=_0x5d90,_0x3094e5={'LpCqv':function(_0x39c92d,_0x98e52e){return _0x39c92d(_0x98e52e);},'FPjIW':_0x510371(0x1ab),'cFxDN':function(_0x363ed5,_0x4131c0){return _0x363ed5(_0x4131c0);},'iePFO':function(_0x497ee3,_0x574e1b){return _0x497ee3 instanceof _0x574e1b;},'GUgPt':function(_0x412905,_0x10d559){return _0x412905+_0x10d559;}},_0x2fa1a5=_0x3094e5['LpCqv'](getEnvDir,_0x57cd2f),_0x26e1a6=join(_0x2fa1a5,_0x3094e5['FPjIW']),_0x46f1d1=_0x3094e5[_0x510371(0x1b7)](existsSync,_0x2fa1a5)&&existsSync(_0x26e1a6);if(_0x46f1d1){await _0x3094e5['LpCqv'](writeActiveProfileName,_0x57cd2f),console['log']('\x0a✓\x20Now\x20using\x20profile\x20\x22'+_0x57cd2f+'\x22');return;}let _0x2232e9=null,_0x1b5f7a=![];try{_0x2232e9=await fetchCloudProfile(_0x57cd2f);if(!_0x2232e9)_0x1b5f7a=!![];}catch(_0x3cac2a){_0x3094e5[_0x510371(0x1ae)](_0x3cac2a,ApiError)&&_0x3cac2a[_0x510371(0x1b9)]===0x194&&(_0x1b5f7a=!![]);}if(_0x1b5f7a)throw new Error(_0x3094e5['GUgPt'](_0x510371(0x1ad)+_0x57cd2f+_0x510371(0x1ac),_0x510371(0x1a8))+('`ranger\x20profile\x20add\x20'+_0x57cd2f+'`\x20to\x20create\x20one.'));await writeActiveProfileName(_0x57cd2f),console[_0x510371(0x1af)](_0x510371(0x1a9)+_0x57cd2f+'\x22');}
@@ -1 +1 @@
1
- const _0x5ee8eb=_0x2bf8;(function(_0x36ae93,_0x3ddcdb){const _0x2232b0=_0x2bf8,_0x33b21b=_0x36ae93();while(!![]){try{const _0x22470c=-parseInt(_0x2232b0(0xfb))/0x1*(-parseInt(_0x2232b0(0xf8))/0x2)+-parseInt(_0x2232b0(0xec))/0x3+-parseInt(_0x2232b0(0xf6))/0x4+parseInt(_0x2232b0(0xee))/0x5+parseInt(_0x2232b0(0xf1))/0x6+parseInt(_0x2232b0(0xf2))/0x7*(parseInt(_0x2232b0(0xfe))/0x8)+-parseInt(_0x2232b0(0xf7))/0x9;if(_0x22470c===_0x3ddcdb)break;else _0x33b21b['push'](_0x33b21b['shift']());}catch(_0x74f4f8){_0x33b21b['push'](_0x33b21b['shift']());}}}(_0x1fe7,0x573bc));import{existsSync}from'fs';import{mkdir,readFile,rename,unlink,writeFile}from'fs/promises';function _0x2bf8(_0x478b02,_0x5525ea){_0x478b02=_0x478b02-0xea;const _0x1fe776=_0x1fe7();let _0x2bf8f3=_0x1fe776[_0x478b02];return _0x2bf8f3;}import{join}from'path';import{getRangerDir}from'./rangerRoot.js';const ACTIVE_PROFILE_FILE='active-profile.txt',LEGACY_ACTIVE_ENV_FILE=_0x5ee8eb(0xed);function getActiveProfilePath(){const _0x5c0c0f={'smdHI':function(_0x3fd202,_0xcd294a,_0x2cd72a){return _0x3fd202(_0xcd294a,_0x2cd72a);},'tDkWG':function(_0x5855c2){return _0x5855c2();}};return _0x5c0c0f['smdHI'](join,_0x5c0c0f['tDkWG'](getRangerDir),ACTIVE_PROFILE_FILE);}function getLegacyActiveEnvPath(){const _0x46faf7=_0x5ee8eb,_0x493f61={'ngmAJ':function(_0x5e554d,_0x2febe3,_0x441dc7){return _0x5e554d(_0x2febe3,_0x441dc7);},'afOfW':function(_0x1901c7){return _0x1901c7();}};return _0x493f61[_0x46faf7(0xfd)](join,_0x493f61['afOfW'](getRangerDir),LEGACY_ACTIVE_ENV_FILE);}async function migrateLegacyActiveEnv(){const _0x443adf=_0x5ee8eb,_0x1964f9={'KrLBF':function(_0x1ff5a7){return _0x1ff5a7();},'civTN':function(_0x20a67e,_0x23a071){return _0x20a67e(_0x23a071);},'CbWFJ':function(_0x10c09a,_0x240a5b,_0x40e890){return _0x10c09a(_0x240a5b,_0x40e890);},'TbXOA':'utf-8','rKHfq':function(_0x57f822,_0x5cd877,_0x468a25){return _0x57f822(_0x5cd877,_0x468a25);},'KUBRr':function(_0x37e2d9){return _0x37e2d9();},'ALhiV':function(_0x251a1c,_0x3d3931){return _0x251a1c(_0x3d3931);}},_0x31a0fa=_0x1964f9['KrLBF'](getLegacyActiveEnvPath);if(!_0x1964f9[_0x443adf(0xf9)](existsSync,_0x31a0fa))return null;let _0x5c25df=null;try{_0x5c25df=(await _0x1964f9[_0x443adf(0xeb)](readFile,_0x31a0fa,_0x1964f9[_0x443adf(0xea)]))[_0x443adf(0xfc)]()||null;}catch{_0x5c25df=null;}if(!_0x5c25df)return null;const _0x3477c0=getActiveProfilePath();try{await _0x1964f9['rKHfq'](rename,_0x31a0fa,_0x3477c0);}catch{try{const _0x256842=_0x1964f9[_0x443adf(0xf3)](getRangerDir);await mkdir(_0x256842,{'recursive':!![]}),await writeFile(_0x3477c0,_0x5c25df,'utf-8'),await _0x1964f9['ALhiV'](unlink,_0x31a0fa);}catch{}}return _0x5c25df;}export async function readActiveProfileName(){const _0x34a9a3=_0x5ee8eb,_0x4fcc0a={'slHyr':function(_0x41b8ba,_0x1d0694){return _0x41b8ba(_0x1d0694);},'RTQfC':'utf-8','GnvcT':function(_0x4f82f7){return _0x4f82f7();}},_0x408dcf=getActiveProfilePath();if(_0x4fcc0a[_0x34a9a3(0xef)](existsSync,_0x408dcf))try{return(await readFile(_0x408dcf,_0x4fcc0a[_0x34a9a3(0xfa)]))['trim']()||null;}catch{return null;}return await _0x4fcc0a['GnvcT'](migrateLegacyActiveEnv);}export async function writeActiveProfileName(_0x3bfd49){const _0x154ff7=_0x5ee8eb,_0x2130f1=getRangerDir();await mkdir(_0x2130f1,{'recursive':!![]});const _0x20af1=getActiveProfilePath();await writeFile(_0x20af1,_0x3bfd49,_0x154ff7(0xf0));const _0x5d8372=getLegacyActiveEnvPath();if(existsSync(_0x5d8372))try{await unlink(_0x5d8372);}catch{}}function _0x1fe7(){const _0x21324d=['1165408FSuLFX','4027167XzzoeH','22qMNRco','civTN','RTQfC','50041XmUbVI','trim','ngmAJ','4074312XCSwkg','TbXOA','CbWFJ','1288731MhsVDs','active-env.txt','1956315ZNYiUB','slHyr','utf-8','448182ggeWSi','7SZCaDf','KUBRr','xguuW','gjZvW'];_0x1fe7=function(){return _0x21324d;};return _0x1fe7();}export async function migrateActiveProfileFile(){const _0x5e016e=_0x5ee8eb,_0x370f80={'xguuW':function(_0x48b688){return _0x48b688();},'gjZvW':function(_0x499dd7,_0x89bdd5){return _0x499dd7!==_0x89bdd5;}},_0x3cb012=await _0x370f80[_0x5e016e(0xf4)](migrateLegacyActiveEnv);return _0x370f80[_0x5e016e(0xf5)](_0x3cb012,null);}
1
+ function _0x27ee(_0x41175a,_0x1c937c){_0x41175a=_0x41175a-0x1c5;const _0x22e0bf=_0x22e0();let _0x27ee52=_0x22e0bf[_0x41175a];return _0x27ee52;}(function(_0x423536,_0x17a9e8){const _0x991e5f=_0x27ee,_0x2e9c7e=_0x423536();while(!![]){try{const _0x53a248=-parseInt(_0x991e5f(0x1ce))/0x1+parseInt(_0x991e5f(0x1c7))/0x2*(parseInt(_0x991e5f(0x1d4))/0x3)+parseInt(_0x991e5f(0x1d1))/0x4*(parseInt(_0x991e5f(0x1d5))/0x5)+-parseInt(_0x991e5f(0x1c6))/0x6*(parseInt(_0x991e5f(0x1c9))/0x7)+-parseInt(_0x991e5f(0x1cf))/0x8*(parseInt(_0x991e5f(0x1c5))/0x9)+-parseInt(_0x991e5f(0x1ca))/0xa*(parseInt(_0x991e5f(0x1c8))/0xb)+-parseInt(_0x991e5f(0x1cc))/0xc*(-parseInt(_0x991e5f(0x1d0))/0xd);if(_0x53a248===_0x17a9e8)break;else _0x2e9c7e['push'](_0x2e9c7e['shift']());}catch(_0x4a12d5){_0x2e9c7e['push'](_0x2e9c7e['shift']());}}}(_0x22e0,0x62203));import{existsSync}from'fs';import{readFile}from'fs/promises';import{join}from'path';import{getRangerDir,getRangerHomeDir}from'./rangerRoot.js';import{readLastProfile,writeLastProfile}from'./projectsConfig.js';const LEGACY_ACTIVE_PROFILE_FILE='active-profile.txt',LEGACY_ACTIVE_ENV_FILE='active-env.txt';function readLegacyActiveProfileFile(){const _0x52bca9=_0x27ee,_0x1c8f1d={'voONl':function(_0x6da9f6,_0xd3a147,_0x30449c){return _0x6da9f6(_0xd3a147,_0x30449c);},'hpQVU':function(_0x5ae610){return _0x5ae610();}},_0x2beb5b=[join(getRangerDir(),LEGACY_ACTIVE_PROFILE_FILE),_0x1c8f1d[_0x52bca9(0x1cd)](join,getRangerHomeDir(),LEGACY_ACTIVE_PROFILE_FILE),join(_0x1c8f1d['hpQVU'](getRangerDir),LEGACY_ACTIVE_ENV_FILE),_0x1c8f1d[_0x52bca9(0x1cd)](join,getRangerHomeDir(),LEGACY_ACTIVE_ENV_FILE)];for(const _0x52d880 of _0x2beb5b){if(existsSync(_0x52d880))return _0x52d880;}return null;}export async function readActiveProfileName(){const _0x9980b4=_0x27ee,_0x1fc6bf={'pqdYM':function(_0x3f3f5d){return _0x3f3f5d();},'lpoQq':_0x9980b4(0x1cb)},_0x2e7499=readLastProfile(process['cwd']());if(_0x2e7499)return _0x2e7499;const _0x1258aa=_0x1fc6bf[_0x9980b4(0x1d3)](readLegacyActiveProfileFile);if(!_0x1258aa)return null;try{return(await readFile(_0x1258aa,_0x1fc6bf['lpoQq']))['trim']()||null;}catch{return null;}}function _0x22e0(){const _0x570a04=['8lXNsOf','22473pXhkpn','14puXsZE','1990CenxFZ','utf-8','6177996NfAkJg','voONl','144823NxAiOC','87896pDtJZp','26UWQrok','86928YxJxxj','cwd','pqdYM','306120ScTPds','50hcLjzh','387tTlJXq','688206tAUBGP'];_0x22e0=function(){return _0x570a04;};return _0x22e0();}export async function writeActiveProfileName(_0x5be9be){const _0x381bdc=_0x27ee;writeLastProfile(process[_0x381bdc(0x1d2)](),_0x5be9be);}
@@ -1 +1 @@
1
- function _0x3eaf(){const _0x4afad9=['Your\x20PATH\x20looks\x20incomplete\x20for\x20browser\x20automation.\x20Ranger\x20will\x20keep\x20going,\x20but\x20browser\x20setup\x20may\x20fail.','560ZNRNTu','ovbfI','axhOf','join','npm_config_registry','x-ranger-','xXfAC','platform','5216XZCUQS','toLowerCase','TMPDIR','PATH\x20is\x20missing\x20core\x20system\x20directories\x20like\x20`/usr/bin`\x20and\x20`/bin`.','PATH\x20is\x20empty,\x20so\x20npm\x20and\x20core\x20system\x20tools\x20may\x20be\x20unavailable.','trim','Session\x20token\x20is\x20required\x20when\x20RANGER_BYOK=false','113333EDWBxS','686mtPRZe','5cCkvbp','%PATH%','muhBl','map','qlBoE','IgaEQ','CHROMIUM_BIN','gQyHa','string','includes','PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD','PATH\x20contains\x20an\x20unexpanded\x20placeholder\x20like\x20`${PATH}`\x20instead\x20of\x20the\x20expanded\x20current\x20PATH.','DEBUG','indexOf','sessionToken','1550EOODvG','RANGER_DISABLE_MCP','CHROME_BIN','XDG_CACHE_HOME','filter','slice','${PATH}','350016IVTcVv','1426652blQBGY','npm_config_userconfig','knBIh','split','xZMNW','4648518PvPaRR','XDG_CONFIG_HOME','1406004qBRImw','TMP','from','NODE_ENV','some','NPM_CONFIG_REGISTRY','NPM_CONFIG_USERCONFIG','tlYsp','/bin','762VzvLyG','ftPJI','length','NPM_CONFIG_CACHE'];_0x3eaf=function(){return _0x4afad9;};return _0x3eaf();}const _0x94d8e8=_0x525a;(function(_0x13de54,_0x2145e2){const _0x2d121e=_0x525a,_0x248d7d=_0x13de54();while(!![]){try{const _0xd0410f=parseInt(_0x2d121e(0x7e))/0x1+-parseInt(_0x2d121e(0xb4))/0x2*(parseInt(_0x2d121e(0x8f))/0x3)+-parseInt(_0x2d121e(0x7f))/0x4*(-parseInt(_0x2d121e(0xa5))/0x5)+-parseInt(_0x2d121e(0x86))/0x6+parseInt(_0x2d121e(0xa4))/0x7*(-parseInt(_0x2d121e(0x9c))/0x8)+-parseInt(_0x2d121e(0x84))/0x9+parseInt(_0x2d121e(0x94))/0xa*(parseInt(_0x2d121e(0xa3))/0xb);if(_0xd0410f===_0x2145e2)break;else _0x248d7d['push'](_0x248d7d['shift']());}catch(_0x55b137){_0x248d7d['push'](_0x248d7d['shift']());}}}(_0x3eaf,0x426c1));function _0x525a(_0x2e5651,_0x4ca4d2){_0x2e5651=_0x2e5651-0x7b;const _0x3eaf44=_0x3eaf();let _0x525a5a=_0x3eaf44[_0x2e5651];return _0x525a5a;}import{delimiter,join}from'path';import{tmpdir}from'os';import{mkdirSync}from'fs';import{getAiProxyUrl}from'./environment.js';const AI_PROXY_METADATA_HEADERS_ENV_VAR='ANTHROPIC_CUSTOM_HEADERS',AGENT_ENV_PASSTHROUGH_KEYS=['PATH','HOME','TMPDIR',_0x94d8e8(0x87),'TEMP','USERPROFILE','APPDATA','LOCALAPPDATA',_0x94d8e8(0xb7),_0x94d8e8(0x85),'PLAYWRIGHT_BROWSERS_PATH',_0x94d8e8(0xaf),_0x94d8e8(0xb6),_0x94d8e8(0xab),'npm_config_cache',_0x94d8e8(0x92),_0x94d8e8(0x80),_0x94d8e8(0x8c),'npm_config_prefix','NPM_CONFIG_PREFIX',_0x94d8e8(0x98),_0x94d8e8(0x8b),_0x94d8e8(0xb1),_0x94d8e8(0x89),'RANGER_TEST_SKIP_BROWSER_WAIT',_0x94d8e8(0xb5),AI_PROXY_METADATA_HEADERS_ENV_VAR],UNEXPANDED_PATH_TOKEN_PATTERNS=[_0x94d8e8(0x7d),'$PATH',_0x94d8e8(0xa6)];function parseCustomHeaders(_0x2480f4){const _0x16f79a=_0x94d8e8,_0x40e66b={'RqSwb':function(_0x2237d5,_0x5e38f6){return _0x2237d5===_0x5e38f6;}};if(!_0x2480f4)return[];return _0x2480f4['split'](/\r?\n/)['map'](_0xcada22=>_0xcada22['trim']())['filter'](Boolean)['map'](_0x4ebb5d=>{const _0x204e8a=_0x525a,_0x27ed40=_0x4ebb5d[_0x204e8a(0xb2)](':');if(_0x40e66b['RqSwb'](_0x27ed40,-0x1))return null;const _0x2a44e8=_0x4ebb5d[_0x204e8a(0x7c)](0x0,_0x27ed40)['trim'](),_0x400518=_0x4ebb5d['slice'](_0x27ed40+0x1)[_0x204e8a(0xa1)]();if(!_0x2a44e8)return null;return[_0x2a44e8,_0x400518];})[_0x16f79a(0x7b)](_0x156f36=>_0x156f36!==null);}export function getAgentPathHealthWarning(_0x3ca537,_0x3550a0=process[_0x94d8e8(0x9b)]){const _0x1a249c=_0x94d8e8,_0xbc7563={'knBIh':function(_0x19499e,_0xfade71){return _0x19499e===_0xfade71;},'qlBoE':_0x1a249c(0xa0),'ssUBR':_0x1a249c(0xb0),'xZMNW':function(_0x3d2900,_0x5c749c){return _0x3d2900!==_0x5c749c;},'muhBl':'win32','xXfAC':'/usr/bin','AKUpd':_0x1a249c(0x8e),'axhOf':function(_0x530353,_0x5484a6){return _0x530353&&_0x5484a6;}},_0x5019b8=[],_0x5935cf=(_0x3ca537||'')[_0x1a249c(0x82)](delimiter)[_0x1a249c(0x7b)](Boolean);_0xbc7563[_0x1a249c(0x81)](_0x5935cf[_0x1a249c(0x91)],0x0)&&_0x5019b8['push'](_0xbc7563[_0x1a249c(0xa9)]);UNEXPANDED_PATH_TOKEN_PATTERNS[_0x1a249c(0x8a)](_0x42a9a6=>(_0x3ca537||'')[_0x1a249c(0xae)](_0x42a9a6))&&_0x5019b8['push'](_0xbc7563['ssUBR']);if(_0xbc7563[_0x1a249c(0x83)](_0x3550a0,_0xbc7563[_0x1a249c(0xa7)])){const _0x4c0e6b=_0x5935cf[_0x1a249c(0xae)](_0xbc7563[_0x1a249c(0x9a)]),_0x27ccb9=_0x5935cf[_0x1a249c(0xae)](_0xbc7563['AKUpd']);_0xbc7563[_0x1a249c(0x96)](!_0x4c0e6b,!_0x27ccb9)&&_0x5019b8['push'](_0x1a249c(0x9f));}if(_0xbc7563['knBIh'](_0x5019b8['length'],0x0))return null;return{'summary':_0x1a249c(0x93),'issues':_0x5019b8};}export function buildAgentEnv(_0x5dd8a2){const _0x39f062=_0x94d8e8,_0x36c507={'dDVtS':'true','ovbfI':_0x39f062(0x9e),'IgaEQ':'TEMP','WEfHD':function(_0x1f3b87,_0xfdc696,_0x4971f9){return _0x1f3b87(_0xfdc696,_0x4971f9);},'tlYsp':'ranger-claude-tmp','gQyHa':function(_0x44105f,_0x31ccab,_0x361dc2){return _0x44105f(_0x31ccab,_0x361dc2);},'UbNRX':function(_0x4d934d,_0x4c9550){return _0x4d934d==_0x4c9550;},'ftPJI':function(_0x67d130,_0x1a8621){return _0x67d130===_0x1a8621;}};if(_0x5dd8a2['byokEnabled'])return Object['fromEntries'](Object['entries'](process['env'])['filter'](_0x815aa5=>typeof _0x815aa5[0x1]===_0x39f062(0xad)));if(!_0x5dd8a2[_0x39f062(0xb3)])throw new Error(_0x39f062(0xa2));const _0x249200={'ANTHROPIC_API_KEY':_0x5dd8a2['sessionToken'],'ANTHROPIC_BASE_URL':getAiProxyUrl(),'DISABLE_TELEMETRY':_0x36c507['dDVtS']};for(const _0x35f222 of AGENT_ENV_PASSTHROUGH_KEYS){const _0x214203=process['env'][_0x35f222];_0x214203&&![_0x36c507[_0x39f062(0x95)],'TMP',_0x36c507[_0x39f062(0xaa)]][_0x39f062(0xae)](_0x35f222)&&(_0x249200[_0x35f222]=_0x214203);}const _0x3e83ef=_0x36c507['WEfHD'](join,tmpdir(),_0x36c507[_0x39f062(0x8d)]);try{_0x36c507[_0x39f062(0xac)](mkdirSync,_0x3e83ef,{'recursive':!![]});}catch{}_0x249200[_0x36c507['ovbfI']]=_0x3e83ef,_0x249200['TMP']=_0x3e83ef,_0x249200[_0x36c507['IgaEQ']]=_0x3e83ef;const _0x4236df=parseCustomHeaders(process['env'][AI_PROXY_METADATA_HEADERS_ENV_VAR]),_0x127c8d=new Map(_0x4236df),_0x5938bf=new Set(_0x4236df['map'](([_0x488a65])=>_0x488a65[_0x39f062(0x9d)]()));if(_0x5dd8a2['metadata'])for(const [_0x49b669,_0x2676a2]of Object['entries'](_0x5dd8a2['metadata'])){if(_0x36c507['UbNRX'](_0x2676a2,null)||_0x36c507[_0x39f062(0x90)](_0x2676a2,''))continue;const _0xf69b41=_0x39f062(0x99)+_0x49b669;!_0x5938bf['has'](_0xf69b41[_0x39f062(0x9d)]())&&(_0x127c8d['set'](_0xf69b41,_0x2676a2),_0x5938bf['add'](_0xf69b41[_0x39f062(0x9d)]()));}const _0xd8ecba=Array[_0x39f062(0x88)](_0x127c8d['entries']())[_0x39f062(0xa8)](([_0x2993e7,_0x4b2bb5])=>_0x2993e7+':\x20'+_0x4b2bb5)[_0x39f062(0x97)]('\x0a');return _0xd8ecba&&(_0x249200[AI_PROXY_METADATA_HEADERS_ENV_VAR]=_0xd8ecba),_0x249200;}
1
+ function _0x4840(_0x40663f,_0x4289ab){_0x40663f=_0x40663f-0x158;const _0x38a135=_0x38a1();let _0x4840b2=_0x38a135[_0x40663f];return _0x4840b2;}const _0x2eef8e=_0x4840;(function(_0x2838b2,_0xcca186){const _0x601d62=_0x4840,_0x1c5fdb=_0x2838b2();while(!![]){try{const _0x8d7551=parseInt(_0x601d62(0x173))/0x1*(parseInt(_0x601d62(0x165))/0x2)+-parseInt(_0x601d62(0x170))/0x3*(-parseInt(_0x601d62(0x16f))/0x4)+parseInt(_0x601d62(0x18b))/0x5+parseInt(_0x601d62(0x175))/0x6+parseInt(_0x601d62(0x167))/0x7*(parseInt(_0x601d62(0x17e))/0x8)+parseInt(_0x601d62(0x168))/0x9+-parseInt(_0x601d62(0x15c))/0xa*(parseInt(_0x601d62(0x181))/0xb);if(_0x8d7551===_0xcca186)break;else _0x1c5fdb['push'](_0x1c5fdb['shift']());}catch(_0x168b06){_0x1c5fdb['push'](_0x1c5fdb['shift']());}}}(_0x38a1,0xb71ac));import{delimiter,join}from'path';import{tmpdir}from'os';import{mkdirSync}from'fs';import{getAiProxyUrl}from'./environment.js';const AI_PROXY_METADATA_HEADERS_ENV_VAR='ANTHROPIC_CUSTOM_HEADERS',AGENT_ENV_PASSTHROUGH_KEYS=['PATH',_0x2eef8e(0x184),'TMPDIR',_0x2eef8e(0x18a),_0x2eef8e(0x15d),'USERPROFILE','APPDATA',_0x2eef8e(0x174),'XDG_CACHE_HOME',_0x2eef8e(0x177),'PLAYWRIGHT_BROWSERS_PATH',_0x2eef8e(0x17d),'CHROME_BIN','CHROMIUM_BIN',_0x2eef8e(0x164),'NPM_CONFIG_CACHE','npm_config_userconfig',_0x2eef8e(0x169),_0x2eef8e(0x179),'NPM_CONFIG_PREFIX',_0x2eef8e(0x189),_0x2eef8e(0x160),'DEBUG',_0x2eef8e(0x18c),_0x2eef8e(0x17a),_0x2eef8e(0x158),AI_PROXY_METADATA_HEADERS_ENV_VAR],UNEXPANDED_PATH_TOKEN_PATTERNS=['${PATH}','$PATH',_0x2eef8e(0x16d)];function parseCustomHeaders(_0x1a7e17){const _0x599285=_0x2eef8e,_0x508f98={'ZPHPO':function(_0xf543e0,_0x54ba3e){return _0xf543e0+_0x54ba3e;}};if(!_0x1a7e17)return[];return _0x1a7e17['split'](/\r?\n/)[_0x599285(0x16a)](_0x52c21c=>_0x52c21c[_0x599285(0x15a)]())[_0x599285(0x183)](Boolean)['map'](_0x1ce296=>{const _0x30c352=_0x599285,_0xbaa27a=_0x1ce296[_0x30c352(0x172)](':');if(_0xbaa27a===-0x1)return null;const _0xc0022a=_0x1ce296['slice'](0x0,_0xbaa27a)[_0x30c352(0x15a)](),_0x57208b=_0x1ce296[_0x30c352(0x182)](_0x508f98[_0x30c352(0x16c)](_0xbaa27a,0x1))['trim']();if(!_0xc0022a)return null;return[_0xc0022a,_0x57208b];})['filter'](_0x4fe66d=>_0x4fe66d!==null);}export function getAgentPathHealthWarning(_0x495bba,_0x41ac98=process[_0x2eef8e(0x163)]){const _0x15a042=_0x2eef8e,_0x233a7b={'SeZiD':function(_0x47093e,_0x2881a2){return _0x47093e||_0x2881a2;},'helup':function(_0xa518a3,_0x5157f0){return _0xa518a3!==_0x5157f0;},'REejn':'win32','fiNsB':_0x15a042(0x176),'QxFSL':'/bin','ZIOot':function(_0x54151a,_0x811ce7){return _0x54151a&&_0x811ce7;},'qOrMM':_0x15a042(0x16e)},_0x377d63=[],_0x39d5ca=_0x233a7b[_0x15a042(0x185)](_0x495bba,'')['split'](delimiter)['filter'](Boolean);_0x39d5ca[_0x15a042(0x16b)]===0x0&&_0x377d63[_0x15a042(0x15b)]('PATH\x20is\x20empty,\x20so\x20npm\x20and\x20core\x20system\x20tools\x20may\x20be\x20unavailable.');UNEXPANDED_PATH_TOKEN_PATTERNS[_0x15a042(0x159)](_0x4edec6=>(_0x495bba||'')['includes'](_0x4edec6))&&_0x377d63[_0x15a042(0x15b)](_0x15a042(0x15f));if(_0x233a7b['helup'](_0x41ac98,_0x233a7b['REejn'])){const _0x2aa8c8=_0x39d5ca['includes'](_0x233a7b['fiNsB']),_0x5bd310=_0x39d5ca[_0x15a042(0x180)](_0x233a7b[_0x15a042(0x17f)]);_0x233a7b['ZIOot'](!_0x2aa8c8,!_0x5bd310)&&_0x377d63[_0x15a042(0x15b)](_0x233a7b['qOrMM']);}if(_0x377d63['length']===0x0)return null;return{'summary':'Your\x20PATH\x20looks\x20incomplete\x20for\x20browser\x20automation.\x20Ranger\x20will\x20keep\x20going,\x20but\x20browser\x20setup\x20may\x20fail.','issues':_0x377d63};}export function buildAgentEnv(_0x4f9c3f){const _0x31e210=_0x2eef8e,_0x3eac4d={'FYMjW':'Session\x20token\x20is\x20required\x20when\x20RANGER_BYOK=false','lIbYg':'TMP','fDyDB':function(_0x51a320,_0x176c5b,_0x373c85){return _0x51a320(_0x176c5b,_0x373c85);},'DnLKC':function(_0xade79a,_0x386204,_0x1169de){return _0xade79a(_0x386204,_0x1169de);},'MMwwD':_0x31e210(0x171),'zZCeo':'TEMP'};if(_0x4f9c3f['byokEnabled'])return Object['fromEntries'](Object[_0x31e210(0x17c)](process['env'])[_0x31e210(0x183)](_0x34172b=>typeof _0x34172b[0x1]==='string'));if(!_0x4f9c3f['sessionToken'])throw new Error(_0x3eac4d[_0x31e210(0x161)]);const _0x2fed4e={'ANTHROPIC_API_KEY':_0x4f9c3f['sessionToken'],'ANTHROPIC_BASE_URL':getAiProxyUrl(),'DISABLE_TELEMETRY':_0x31e210(0x162)};for(const _0x28b71e of AGENT_ENV_PASSTHROUGH_KEYS){const _0x55be3c=process['env'][_0x28b71e];_0x55be3c&&!['TMPDIR',_0x3eac4d['lIbYg'],'TEMP'][_0x31e210(0x180)](_0x28b71e)&&(_0x2fed4e[_0x28b71e]=_0x55be3c);}const _0x3bb928=_0x3eac4d[_0x31e210(0x186)](join,tmpdir(),_0x31e210(0x187));try{_0x3eac4d['DnLKC'](mkdirSync,_0x3bb928,{'recursive':!![]});}catch{}_0x2fed4e[_0x3eac4d['MMwwD']]=_0x3bb928,_0x2fed4e[_0x3eac4d['lIbYg']]=_0x3bb928,_0x2fed4e[_0x3eac4d['zZCeo']]=_0x3bb928;const _0x5b5872=parseCustomHeaders(process['env'][AI_PROXY_METADATA_HEADERS_ENV_VAR]),_0x13e864=new Map(_0x5b5872),_0x19772e=new Set(_0x5b5872[_0x31e210(0x16a)](([_0x23364c])=>_0x23364c[_0x31e210(0x188)]()));if(_0x4f9c3f[_0x31e210(0x178)])for(const [_0x13b133,_0x2cf224]of Object['entries'](_0x4f9c3f['metadata'])){if(_0x2cf224==null||_0x2cf224==='')continue;const _0x2ed482=_0x31e210(0x166)+_0x13b133;!_0x19772e['has'](_0x2ed482['toLowerCase']())&&(_0x13e864[_0x31e210(0x17b)](_0x2ed482,_0x2cf224),_0x19772e['add'](_0x2ed482['toLowerCase']()));}const _0x40cc16=Array['from'](_0x13e864[_0x31e210(0x17c)]())['map'](([_0x32d5cb,_0x111fa6])=>_0x32d5cb+':\x20'+_0x111fa6)[_0x31e210(0x15e)]('\x0a');return _0x40cc16&&(_0x2fed4e[AI_PROXY_METADATA_HEADERS_ENV_VAR]=_0x40cc16),_0x2fed4e;}function _0x38a1(){const _0x124b7b=['true','platform','npm_config_cache','2ZZvAuB','x-ranger-','14CMGiCr','12466656kxNysu','NPM_CONFIG_USERCONFIG','map','length','ZPHPO','%PATH%','PATH\x20is\x20missing\x20core\x20system\x20directories\x20like\x20`/usr/bin`\x20and\x20`/bin`.','596umKOhB','10281RYBvQr','TMPDIR','indexOf','1489789qGuest','LOCALAPPDATA','1980438GMBTxo','/usr/bin','XDG_CONFIG_HOME','metadata','npm_config_prefix','RANGER_TEST_SKIP_BROWSER_WAIT','set','entries','PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD','5542864OYacKK','QxFSL','includes','11IKFnUH','slice','filter','HOME','SeZiD','fDyDB','ranger-claude-tmp','toLowerCase','npm_config_registry','TMP','7134750Cpufta','NODE_ENV','RANGER_DISABLE_MCP','some','trim','push','57783390UHsnhR','TEMP','join','PATH\x20contains\x20an\x20unexpanded\x20placeholder\x20like\x20`${PATH}`\x20instead\x20of\x20the\x20expanded\x20current\x20PATH.','NPM_CONFIG_REGISTRY','FYMjW'];_0x38a1=function(){return _0x124b7b;};return _0x38a1();}