@ranger-testing/ranger-cli 2.2.1 → 2.2.2

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 (67) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/setup/claude.js +1 -1
  25. package/build/commands/setup/opencode.js +1 -1
  26. package/build/commands/setupCi.js +1 -1
  27. package/build/commands/skillup.js +1 -1
  28. package/build/commands/start.js +1 -1
  29. package/build/commands/status.js +1 -1
  30. package/build/commands/update.js +1 -1
  31. package/build/commands/updateEnv.js +1 -1
  32. package/build/commands/useEnv.js +1 -1
  33. package/build/commands/utils/activeProfile.js +1 -1
  34. package/build/commands/utils/browserSessionsApi.js +1 -1
  35. package/build/commands/utils/claudeConfig.js +1 -1
  36. package/build/commands/utils/claudePlugin.js +1 -1
  37. package/build/commands/utils/crypto.js +1 -1
  38. package/build/commands/utils/desirePathLog.js +1 -1
  39. package/build/commands/utils/deviceAuth.js +1 -1
  40. package/build/commands/utils/environment.js +1 -1
  41. package/build/commands/utils/featureApi.js +1 -1
  42. package/build/commands/utils/featureReportGenerator.js +1 -1
  43. package/build/commands/utils/fixWebmDuration.js +1 -1
  44. package/build/commands/utils/git.js +1 -1
  45. package/build/commands/utils/keychain.js +1 -1
  46. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  47. package/build/commands/utils/mcpImageBase64.js +1 -1
  48. package/build/commands/utils/model.js +1 -1
  49. package/build/commands/utils/opencodeConfig.js +1 -1
  50. package/build/commands/utils/profileMessages.js +1 -1
  51. package/build/commands/utils/profileSetupBanner.js +1 -1
  52. package/build/commands/utils/rangerConfig.js +1 -1
  53. package/build/commands/utils/rangerRoot.js +1 -1
  54. package/build/commands/utils/reportGenerator.js +1 -1
  55. package/build/commands/utils/retry.js +1 -1
  56. package/build/commands/utils/sessionCache.js +1 -1
  57. package/build/commands/utils/settings.js +1 -1
  58. package/build/commands/utils/skillContent.js +1 -1
  59. package/build/commands/utils/skills.js +1 -1
  60. package/build/commands/utils/stitchWebmFiles.js +1 -1
  61. package/build/commands/utils/telemetry.js +1 -1
  62. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  63. package/build/commands/utils/userApi.js +1 -1
  64. package/build/commands/utils/version.js +1 -1
  65. package/build/commands/verifyFeature.js +1 -1
  66. package/build/commands/verifyInBrowser.js +1 -1
  67. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x488ad8,_0x3241d6){const _0x187523=_0x1bdf,_0x3e4d80=_0x488ad8();while(!![]){try{const _0x4b2d1d=-parseInt(_0x187523(0x1ac))/0x1*(-parseInt(_0x187523(0x1bb))/0x2)+parseInt(_0x187523(0x1ba))/0x3+-parseInt(_0x187523(0x1b7))/0x4+parseInt(_0x187523(0x1b1))/0x5+parseInt(_0x187523(0x1ae))/0x6*(-parseInt(_0x187523(0x1aa))/0x7)+parseInt(_0x187523(0x1c2))/0x8*(parseInt(_0x187523(0x1c5))/0x9)+parseInt(_0x187523(0x1c4))/0xa*(-parseInt(_0x187523(0x1b2))/0xb);if(_0x4b2d1d===_0x3241d6)break;else _0x3e4d80['push'](_0x3e4d80['shift']());}catch(_0xd04137){_0x3e4d80['push'](_0x3e4d80['shift']());}}}(_0x4a39,0x19c57));import{open}from'fs/promises';import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';function _0x4a39(){const _0x532285=['https://dashboard.ranger.net/features/','read','422997LYSwYW','2800JypqCM','input','trackCommandEnd','close','gvNTm','log','name','592woUBZW','size','30MucfTZ','17181ctThVr','EijKf','featureId','block','Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session','hook:stop','\x20for\x20\x22','204043CaLdmH','includes','142xQZzLH','stringify','42JDMlYQ',':\x0a\x0a','gpPOb','68030gflRoi','442937MCHPrr','min','string','YEEfn','sessionId','257072zFOeot'];_0x4a39=function(){return _0x532285;};return _0x4a39();}import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x593110){const _0x299a55=_0x1bdf,_0x3d99a9={'gvNTm':function(_0x39c7d5,_0x2a7093){return _0x39c7d5(_0x2a7093);},'xrDbk':'RANGER_SKIP_VERIFICATION','gpPOb':function(_0x5410b2,_0x51c56a){return _0x5410b2&&_0x51c56a;}},_0x1d0987=await _0x3d99a9[_0x299a55(0x1bf)](getEnabledHookContext,_0x593110),_0x30ac15=_0x1d0987?.[_0x299a55(0x1b6)]??null,_0xc5c1ec=_0x3d99a9['gvNTm'](Boolean,_0x1d0987?.[_0x299a55(0x1bc)]?.['stop_hook_active']),_0x2aebf9=typeof _0x1d0987?.[_0x299a55(0x1bc)]?.['transcript_path']===_0x299a55(0x1b4)?_0x1d0987['input']['transcript_path']:null;let _0x25bb35=!![];if(!_0x30ac15){await trackStop(_0x30ac15,![],_0x25bb35);return;}try{const _0x549c9d=getSessionEntry(_0x30ac15);if(!_0x549c9d){await trackStop(_0x30ac15,!![],_0x25bb35);return;}const _0x5af46d=_0x299a55(0x1b8)+_0x549c9d['featureId'],_0x3f9669=_0x3d99a9['xrDbk'],_0x2d912c=await getToken(),_0x26e8f7=!_0xc5c1ec;let _0x56c04b=null,_0x4940a9=null;const _0x5d6000=_0xc5c1ec&&await transcriptHasToken(_0x2aebf9,_0x3f9669),_0x19ad22=await transcriptHasToken(_0x2aebf9,_0x5af46d);if(_0x2d912c)try{const _0x20ff58=await _0x3d99a9['gvNTm'](getFeature,_0x549c9d['featureId']);_0x56c04b=_0x20ff58[_0x299a55(0x1c1)]??null,_0x4940a9=_0x20ff58['currentSessionId']??null;}catch{}if(_0x3d99a9[_0x299a55(0x1b0)](_0x2d912c,_0x4940a9))try{await concludeSession(_0x549c9d[_0x299a55(0x1a5)],_0x4940a9);}catch(_0x2a17d0){if(_0x5d6000){await trackStop(_0x30ac15,!![],_0x25bb35);return;}_0x25bb35=![];const _0x3f1389=_0x2a17d0 instanceof Error?_0x2a17d0['message']:_0x3d99a9['gvNTm'](String,_0x2a17d0),_0x2f109a={'decision':_0x299a55(0x1a6),'reason':_0x299a55(0x1a7)+(_0x56c04b?_0x299a55(0x1a9)+_0x56c04b+'\x22':'')+_0x299a55(0x1af)+_0x3f1389+'\x0a\x0aThis\x20is\x20most\x20likely\x20due\x20to\x20pending\x20scenarios\x20that\x20need\x20to\x20be\x20verified.\x20Please\x20resolve\x20the\x20issue\x20or\x20resume\x20later\x20with:\x0a\x20\x20ranger\x20resume\x0a\x0aIf\x20you\x20are\x20extremely\x20sure\x20this\x20is\x20the\x20user\x27s\x20requirement\x20and\x20want\x20to\x20skip\x20verification\x20for\x20now,\x20send\x20a\x20final\x20message\x20that\x20includes\x20the\x20feature\x20review\x20link\x20('+_0x5af46d+')\x20and\x20the\x20token\x20`'+_0x3f9669+'`,\x20then\x20run\x20/exit\x20again.'};console[_0x299a55(0x1c0)](JSON[_0x299a55(0x1ad)](_0x2f109a)),await trackStop(_0x30ac15,!![],_0x25bb35);return;}await trackStop(_0x30ac15,!![],_0x25bb35);return;}catch{await trackStop(_0x30ac15,!![],_0x25bb35);return;}}function _0x1bdf(_0x346ccb,_0x348fb8){_0x346ccb=_0x346ccb-0x1a4;const _0x4a3914=_0x4a39();let _0x1bdf19=_0x4a3914[_0x346ccb];return _0x1bdf19;}async function trackStop(_0x3b685a,_0x3e08a8,_0x2638c9){const _0x2c4943=_0x1bdf,_0x5925f8={'LXDmU':function(_0x3f75a0,_0x2ad812){return _0x3f75a0??_0x2ad812;}};try{const _0x36cdc6=createTelemetryCollector(_0x2c4943(0x1a8));await _0x36cdc6['trackCommandStart']({'sessionId':_0x5925f8['LXDmU'](_0x3b685a,undefined),'hooksEnabled':_0x3e08a8,'stopAllowed':_0x2638c9}),await _0x36cdc6[_0x2c4943(0x1bd)]('success');}catch{}}async function transcriptHasToken(_0x5a4dcd,_0x502a1d){const _0xdc396b=_0x1bdf,_0x5997bc={'EijKf':function(_0x2f4df6,_0x2b38be,_0xc65cd4){return _0x2f4df6(_0x2b38be,_0xc65cd4);}};if(!_0x5a4dcd)return![];const _0x22a905=await _0x5997bc[_0xdc396b(0x1a4)](readTranscriptTail,_0x5a4dcd,0x30d40);return _0x22a905?_0x22a905[_0xdc396b(0x1ab)](_0x502a1d):![];}async function readTranscriptTail(_0x1bce9f,_0x5d2d31){const _0x884bf8=_0x1bdf,_0x41c4e3={'YEEfn':'utf8'};let _0x3c9ff2=null;try{_0x3c9ff2=await open(_0x1bce9f,'r');const _0x53971f=await _0x3c9ff2['stat'](),_0x466315=Math[_0x884bf8(0x1b3)](_0x53971f[_0x884bf8(0x1c3)],_0x5d2d31);if(_0x466315<=0x0)return'';const _0x3ba655=Buffer['alloc'](_0x466315);return await _0x3c9ff2[_0x884bf8(0x1b9)](_0x3ba655,0x0,_0x466315,_0x53971f[_0x884bf8(0x1c3)]-_0x466315),_0x3ba655['toString'](_0x41c4e3[_0x884bf8(0x1b5)]);}catch{return null;}finally{try{await _0x3c9ff2?.[_0x884bf8(0x1be)]();}catch{}}}
1
+ (function(_0x3d5add,_0x3662bf){const _0x242216=_0x5125,_0x44fcb0=_0x3d5add();while(!![]){try{const _0x5abaf7=-parseInt(_0x242216(0x16c))/0x1+-parseInt(_0x242216(0x159))/0x2+parseInt(_0x242216(0x171))/0x3+parseInt(_0x242216(0x174))/0x4+parseInt(_0x242216(0x160))/0x5*(-parseInt(_0x242216(0x16d))/0x6)+parseInt(_0x242216(0x15e))/0x7+parseInt(_0x242216(0x168))/0x8*(parseInt(_0x242216(0x157))/0x9);if(_0x5abaf7===_0x3662bf)break;else _0x44fcb0['push'](_0x44fcb0['shift']());}catch(_0x4e3bc0){_0x44fcb0['push'](_0x44fcb0['shift']());}}}(_0x289d,0x61697));function _0x5125(_0x4b72e8,_0x5c3352){_0x4b72e8=_0x4b72e8-0x153;const _0x289d87=_0x289d();let _0x51258d=_0x289d87[_0x4b72e8];return _0x51258d;}import{open}from'fs/promises';import{getToken}from'../utils/keychain.js';function _0x289d(){const _0x304a7e=['transcript_path','1112792AYdKXn','yoMvE','min','https://dashboard.ranger.net/features/','\x0a\x0aThis\x20is\x20most\x20likely\x20due\x20to\x20pending\x20scenarios\x20that\x20need\x20to\x20be\x20verified.\x20Please\x20resolve\x20the\x20issue\x20or\x20resume\x20later\x20with:\x0a\x20\x20ranger\x20resume\x0a\x0aIf\x20you\x20are\x20extremely\x20sure\x20this\x20is\x20the\x20user\x27s\x20requirement\x20and\x20want\x20to\x20skip\x20verification\x20for\x20now,\x20send\x20a\x20final\x20message\x20that\x20includes\x20the\x20feature\x20review\x20link\x20(','3417176szfeKV','avVkS','1315bCyazn','message',')\x20and\x20the\x20token\x20`','tlKqc','tlBOH','hook:stop','log','sessionId','188304NcrOrQ','featureId','XRQdF','Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session','643665kkKrQT','4128TQdsSv','stop_hook_active','read','size','2002941FXbaIf','XHAZP','`,\x20then\x20run\x20/exit\x20again.','1461084XWqJVH','close','input','stringify','string','\x20for\x20\x22','ioDoi','includes','zMYzN','block','99slMntv'];_0x289d=function(){return _0x304a7e;};return _0x289d();}import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x23b71a){const _0x4a461c=_0x5125,_0x469dc6={'ioDoi':function(_0x4aa611,_0x23b6a5){return _0x4aa611(_0x23b6a5);},'bAcBR':_0x4a461c(0x178),'VjUfl':function(_0x31df93,_0x31b624,_0x3f4f1d){return _0x31df93(_0x31b624,_0x3f4f1d);},'lUOEW':function(_0x4fd1f9,_0x44a1b1){return _0x4fd1f9&&_0x44a1b1;},'FYZvN':function(_0x14e86b,_0x1e8d33,_0x201d72){return _0x14e86b(_0x1e8d33,_0x201d72);},'yoMvE':function(_0x316bde,_0x3286cb){return _0x316bde instanceof _0x3286cb;},'XHAZP':_0x4a461c(0x156),'BXLNo':function(_0x11d4c9,_0xd63d2a,_0x479d72,_0x40f773){return _0x11d4c9(_0xd63d2a,_0x479d72,_0x40f773);},'tlKqc':function(_0xe92232,_0x1cd0e4,_0x27eef4,_0xf5a6c7){return _0xe92232(_0x1cd0e4,_0x27eef4,_0xf5a6c7);}},_0x5cb253=await _0x469dc6[_0x4a461c(0x153)](getEnabledHookContext,_0x23b71a),_0x5aee8b=_0x5cb253?.[_0x4a461c(0x167)]??null,_0x1fe1c3=Boolean(_0x5cb253?.[_0x4a461c(0x176)]?.[_0x4a461c(0x16e)]),_0x1f9022=typeof _0x5cb253?.['input']?.[_0x4a461c(0x158)]===_0x469dc6['bAcBR']?_0x5cb253['input']['transcript_path']:null;let _0x374666=!![];if(!_0x5aee8b){await trackStop(_0x5aee8b,![],_0x374666);return;}try{const _0x156a43=_0x469dc6[_0x4a461c(0x153)](getSessionEntry,_0x5aee8b);if(!_0x156a43){await trackStop(_0x5aee8b,!![],_0x374666);return;}const _0x217f8b=_0x4a461c(0x15c)+_0x156a43[_0x4a461c(0x169)],_0x413dbf='RANGER_SKIP_VERIFICATION',_0x45d7b7=await getToken(),_0x35d964=!_0x1fe1c3;let _0x524055=null,_0x11eddd=null;const _0x2d71d4=_0x1fe1c3&&await _0x469dc6['VjUfl'](transcriptHasToken,_0x1f9022,_0x413dbf),_0x117e9c=await _0x469dc6['VjUfl'](transcriptHasToken,_0x1f9022,_0x217f8b);if(_0x45d7b7)try{const _0x24f74c=await getFeature(_0x156a43['featureId']);_0x524055=_0x24f74c['name']??null,_0x11eddd=_0x24f74c['currentSessionId']??null;}catch{}if(_0x469dc6['lUOEW'](_0x45d7b7,_0x11eddd))try{await _0x469dc6['FYZvN'](concludeSession,_0x156a43[_0x4a461c(0x169)],_0x11eddd);}catch(_0x93121f){if(_0x2d71d4){await trackStop(_0x5aee8b,!![],_0x374666);return;}_0x374666=![];const _0x66ae12=_0x469dc6[_0x4a461c(0x15a)](_0x93121f,Error)?_0x93121f[_0x4a461c(0x161)]:String(_0x93121f),_0x11c4f6={'decision':_0x469dc6[_0x4a461c(0x172)],'reason':_0x4a461c(0x16b)+(_0x524055?_0x4a461c(0x179)+_0x524055+'\x22':'')+':\x0a\x0a'+_0x66ae12+_0x4a461c(0x15d)+_0x217f8b+_0x4a461c(0x162)+_0x413dbf+_0x4a461c(0x173)};console[_0x4a461c(0x166)](JSON[_0x4a461c(0x177)](_0x11c4f6)),await _0x469dc6['BXLNo'](trackStop,_0x5aee8b,!![],_0x374666);return;}await _0x469dc6[_0x4a461c(0x163)](trackStop,_0x5aee8b,!![],_0x374666);return;}catch{await trackStop(_0x5aee8b,!![],_0x374666);return;}}async function trackStop(_0x742069,_0x24723f,_0x45aeb3){const _0xa687b1=_0x5125,_0x407ebb={'XRQdF':function(_0x155536,_0x32d911){return _0x155536(_0x32d911);},'avVkS':function(_0x5508c4,_0x5a66d6){return _0x5508c4??_0x5a66d6;},'fbOAl':'success'};try{const _0x57fed3=_0x407ebb[_0xa687b1(0x16a)](createTelemetryCollector,_0xa687b1(0x165));await _0x57fed3['trackCommandStart']({'sessionId':_0x407ebb[_0xa687b1(0x15f)](_0x742069,undefined),'hooksEnabled':_0x24723f,'stopAllowed':_0x45aeb3}),await _0x57fed3['trackCommandEnd'](_0x407ebb['fbOAl']);}catch{}}async function transcriptHasToken(_0x5b39a6,_0x53f0a1){const _0x49e436=_0x5125,_0x299224={'zMYzN':function(_0x15b43e,_0x1ef3cd,_0x8cbdd2){return _0x15b43e(_0x1ef3cd,_0x8cbdd2);}};if(!_0x5b39a6)return![];const _0x6c6966=await _0x299224[_0x49e436(0x155)](readTranscriptTail,_0x5b39a6,0x30d40);return _0x6c6966?_0x6c6966[_0x49e436(0x154)](_0x53f0a1):![];}async function readTranscriptTail(_0x4eabdf,_0x216a50){const _0x43a516=_0x5125,_0x5f3269={'hHZjQ':function(_0x442eb2,_0x3692e9,_0x143be8){return _0x442eb2(_0x3692e9,_0x143be8);},'tlBOH':function(_0x4864df,_0x186a43){return _0x4864df<=_0x186a43;}};let _0x290159=null;try{_0x290159=await _0x5f3269['hHZjQ'](open,_0x4eabdf,'r');const _0x1df119=await _0x290159['stat'](),_0x1d2a08=Math[_0x43a516(0x15b)](_0x1df119[_0x43a516(0x170)],_0x216a50);if(_0x5f3269[_0x43a516(0x164)](_0x1d2a08,0x0))return'';const _0x28319e=Buffer['alloc'](_0x1d2a08);return await _0x290159[_0x43a516(0x16f)](_0x28319e,0x0,_0x1d2a08,_0x1df119['size']-_0x1d2a08),_0x28319e['toString']('utf8');}catch{return null;}finally{try{await _0x290159?.[_0x43a516(0x175)]();}catch{}}}
@@ -1 +1 @@
1
- (function(_0x488f01,_0x118640){var _0x25edff=_0x5415,_0xb665a9=_0x488f01();while(!![]){try{var _0x24eea5=-parseInt(_0x25edff(0x141))/0x1+parseInt(_0x25edff(0x13d))/0x2+parseInt(_0x25edff(0x143))/0x3*(parseInt(_0x25edff(0x13f))/0x4)+-parseInt(_0x25edff(0x13c))/0x5+parseInt(_0x25edff(0x13e))/0x6*(parseInt(_0x25edff(0x142))/0x7)+parseInt(_0x25edff(0x145))/0x8+-parseInt(_0x25edff(0x140))/0x9*(parseInt(_0x25edff(0x144))/0xa);if(_0x24eea5===_0x118640)break;else _0xb665a9['push'](_0xb665a9['shift']());}catch(_0x2c45cd){_0xb665a9['push'](_0xb665a9['shift']());}}}(_0x5101,0xf18bf));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';function _0x5101(){var _0x138697=['260EFihNd','9eCylFu','1231655kUobog','7UGlSfP','22965GrDtjn','2130250Yxgqpo','10483608oMsOsl','1047280qOjsPD','1384548cpCDTo','859266pRzBWY'];_0x5101=function(){return _0x138697;};return _0x5101();}export{start}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';function _0x5415(_0x27eb2f,_0x4f8292){_0x27eb2f=_0x27eb2f-0x13c;var _0x510172=_0x5101();var _0x5415cf=_0x510172[_0x27eb2f];return _0x5415cf;}export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
1
+ (function(_0x200ba1,_0x348180){var _0x2e0482=_0x37fe,_0x563683=_0x200ba1();while(!![]){try{var _0x4657be=-parseInt(_0x2e0482(0x1b7))/0x1*(-parseInt(_0x2e0482(0x1b6))/0x2)+parseInt(_0x2e0482(0x1b9))/0x3*(-parseInt(_0x2e0482(0x1bf))/0x4)+parseInt(_0x2e0482(0x1b5))/0x5+-parseInt(_0x2e0482(0x1bc))/0x6*(parseInt(_0x2e0482(0x1be))/0x7)+parseInt(_0x2e0482(0x1bb))/0x8*(-parseInt(_0x2e0482(0x1b8))/0x9)+-parseInt(_0x2e0482(0x1ba))/0xa+parseInt(_0x2e0482(0x1bd))/0xb;if(_0x4657be===_0x348180)break;else _0x563683['push'](_0x563683['shift']());}catch(_0x2213cd){_0x563683['push'](_0x563683['shift']());}}}(_0x31b6,0x94dcc));function _0x37fe(_0x52b2c0,_0x2cf9d1){_0x52b2c0=_0x52b2c0-0x1b5;var _0x31b6fc=_0x31b6();var _0x37feaf=_0x31b6fc[_0x52b2c0];return _0x37feaf;}export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';function _0x31b6(){var _0xba47b0=['639MgQRcX','219TqrKCr','1601270qplsue','60040lnOEbQ','36VeLaJt','16523353koVqMC','24276OstzVW','52780QDrmcH','2296425Iewzwd','2918HfHAdf','223lCXEfd'];_0x31b6=function(){return _0xba47b0;};return _0x31b6();}export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
@@ -1 +1 @@
1
- function _0x4895(_0x2a4be7,_0x2d7c59){_0x2a4be7=_0x2a4be7-0xc3;const _0x459110=_0x4591();let _0x4895ce=_0x459110[_0x2a4be7];return _0x4895ce;}(function(_0x5b3190,_0x56533e){const _0x40292b=_0x4895,_0x2881d3=_0x5b3190();while(!![]){try{const _0x68269=-parseInt(_0x40292b(0xd4))/0x1*(-parseInt(_0x40292b(0xd5))/0x2)+parseInt(_0x40292b(0xc3))/0x3+parseInt(_0x40292b(0xc7))/0x4+-parseInt(_0x40292b(0xc9))/0x5*(parseInt(_0x40292b(0xd2))/0x6)+parseInt(_0x40292b(0xcf))/0x7+-parseInt(_0x40292b(0xcd))/0x8*(-parseInt(_0x40292b(0xc8))/0x9)+-parseInt(_0x40292b(0xcb))/0xa*(parseInt(_0x40292b(0xd1))/0xb);if(_0x68269===_0x56533e)break;else _0x2881d3['push'](_0x2881d3['shift']());}catch(_0x3b7182){_0x2881d3['push'](_0x2881d3['shift']());}}}(_0x4591,0xd7604));function _0x4591(){const _0x1b34f8=['3910684GeqZzY','45AmriCb','5LtcSou','Login\x20failed:\x20','17233010rtlWWi','log','1288368rYFcGr','rajWi','5458978CofQmQ','CYLJg','22xgziXp','1516122mJERbJ','user','13435LFawWm','66EXXGcP','4726077zYQIYH','success','stdout','isTTY'];_0x4591=function(){return _0x1b34f8;};return _0x4591();}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x53d288=_0x4895,_0x4ad79d={'rajWi':function(_0x165d4b,_0x1e70d4){return _0x165d4b(_0x1e70d4);},'CYLJg':'\x0a✅\x20API\x20key\x20stored\x20successfully','Jckjr':function(_0x1d7f84,_0x39d115){return _0x1d7f84 instanceof _0x39d115;}},_0x43983b=process['stdin'][_0x53d288(0xc6)]&&process[_0x53d288(0xc5)][_0x53d288(0xc6)];if(!_0x43983b)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x261f52=await runDeviceAuthFlow(),_0x4ef93f=await _0x4ad79d[_0x53d288(0xce)](getCurrentUser,_0x261f52);_0x4ef93f[_0x53d288(0xc4)]?console[_0x53d288(0xcc)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x4ef93f[_0x53d288(0xd3)]['organizationName']):console['log'](_0x4ad79d[_0x53d288(0xd0)]);}catch(_0x461467){throw new Error(_0x53d288(0xca)+(_0x4ad79d['Jckjr'](_0x461467,Error)?_0x461467['message']:_0x461467));}}
1
+ (function(_0x2c4bbb,_0x425eb9){const _0x42b109=_0x37c6,_0x121bb9=_0x2c4bbb();while(!![]){try{const _0x50a1a2=parseInt(_0x42b109(0x16a))/0x1+-parseInt(_0x42b109(0x16b))/0x2+parseInt(_0x42b109(0x169))/0x3*(parseInt(_0x42b109(0x172))/0x4)+-parseInt(_0x42b109(0x16f))/0x5+-parseInt(_0x42b109(0x170))/0x6+parseInt(_0x42b109(0x16d))/0x7*(-parseInt(_0x42b109(0x166))/0x8)+parseInt(_0x42b109(0x174))/0x9;if(_0x50a1a2===_0x425eb9)break;else _0x121bb9['push'](_0x121bb9['shift']());}catch(_0x656bbb){_0x121bb9['push'](_0x121bb9['shift']());}}}(_0x1bd5,0xc72d5));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x1bd5(){const _0x546514=['6255372cUinwD','isTTY','3088rBSyYv','roMTe','26780598CyIbUn','user','9584XgcReQ','stdout','\x0a✅\x20API\x20key\x20stored\x20successfully','3435Rrqvew','1068045wLMwtk','1485130dNFLLc','log','4102gwdtyB','jXdNS','8123115hKoEZZ'];_0x1bd5=function(){return _0x546514;};return _0x1bd5();}import{getCurrentUser}from'./utils/userApi.js';function _0x37c6(_0x4f216e,_0x1bc573){_0x4f216e=_0x4f216e-0x166;const _0x1bd545=_0x1bd5();let _0x37c6e7=_0x1bd545[_0x4f216e];return _0x37c6e7;}export async function login(){const _0x1d8871=_0x37c6,_0x2bc99d={'yUfAA':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','jXdNS':function(_0x17b978){return _0x17b978();},'YQeLZ':function(_0x453a9f,_0x4355dc){return _0x453a9f(_0x4355dc);},'roMTe':_0x1d8871(0x168),'Ikyyi':function(_0x59b5de,_0x2449d6){return _0x59b5de instanceof _0x2449d6;}},_0x3475f1=process['stdin'][_0x1d8871(0x171)]&&process[_0x1d8871(0x167)]['isTTY'];if(!_0x3475f1)throw new Error(_0x2bc99d['yUfAA']);try{const _0x2fbe13=await _0x2bc99d[_0x1d8871(0x16e)](runDeviceAuthFlow),_0x25f17d=await _0x2bc99d['YQeLZ'](getCurrentUser,_0x2fbe13);_0x25f17d['success']?console[_0x1d8871(0x16c)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x25f17d[_0x1d8871(0x175)]['organizationName']):console['log'](_0x2bc99d[_0x1d8871(0x173)]);}catch(_0x5d2eb4){throw new Error('Login\x20failed:\x20'+(_0x2bc99d['Ikyyi'](_0x5d2eb4,Error)?_0x5d2eb4['message']:_0x5d2eb4));}}
@@ -1 +1 @@
1
- (function(_0x15f85e,_0x442df9){const _0x41aed3=_0x251d,_0x38d837=_0x15f85e();while(!![]){try{const _0x654b71=-parseInt(_0x41aed3(0xeb))/0x1+parseInt(_0x41aed3(0xf9))/0x2+-parseInt(_0x41aed3(0xcc))/0x3*(parseInt(_0x41aed3(0xfa))/0x4)+-parseInt(_0x41aed3(0xee))/0x5+parseInt(_0x41aed3(0xc7))/0x6*(-parseInt(_0x41aed3(0xcf))/0x7)+parseInt(_0x41aed3(0xd0))/0x8+-parseInt(_0x41aed3(0xd6))/0x9*(-parseInt(_0x41aed3(0xc8))/0xa);if(_0x654b71===_0x442df9)break;else _0x38d837['push'](_0x38d837['shift']());}catch(_0x53ff88){_0x38d837['push'](_0x38d837['shift']());}}}(_0x8626,0x91bc7));import{join}from'path';import{existsSync}from'fs';import _0x54dbb3 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x8626(){const _0xeff1bb=['✓\x20Ranger\x20skills\x20already\x20installed','pluginScope','push','\x20level)...\x0a','546835HmbeIG','BhGpL','❌\x20Failed\x20to\x20install\x20plugin:','2559240yHcIQR','User\x20(available\x20in\x20all\x20your\x20projects)','includes','vwbnB','nOzzL','QzZNM','trailhead','KlEvb','QwkNS','yTsNs','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','1303728GzaexA','4072BCPBhW','ranger-testing/trailhead','Where\x20should\x20the\x20plugin\x20be\x20installed?','project','MZPFD','ztBHt','Would\x20you\x20like\x20to\x20install\x20skills?','6PnsAha','50zkPPlf','ranger','bCmLi','plugin','438NHbXXP','PUitr','error','3684779ICBxcX','4764592GsIVqp','wantsSkillup','nnzPQ','Project\x20(shared\x20with\x20team\x20via\x20git)','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','czMSw','1949769rUjryC','\x0aYou\x20can\x20install\x20manually\x20with:','pbEYz','udYPF','hLLlr','KinTu','already\x20enabled','ranger@trailhead','uHQEK','user','output','ccFjM','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','success','.claude','log','jDgCQ'];_0x8626=function(){return _0xeff1bb;};return _0x8626();}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x251d(_0x14788c,_0x10f399){_0x14788c=_0x14788c-0xc1;const _0x862619=_0x8626();let _0x251d05=_0x862619[_0x14788c];return _0x251d05;}export async function ensureClaudePlugin(_0x30af3b){const _0x4b68ba=_0x251d,_0x28ae4b={'czMSw':function(_0x1fe8c5,_0x5e2939){return _0x1fe8c5(_0x5e2939);},'iTpVt':function(_0x2bf49d,_0x5e146a,_0x45a6c8){return _0x2bf49d(_0x5e146a,_0x45a6c8);},'KinTu':function(_0x5eb40c){return _0x5eb40c();},'uHQEK':_0x4b68ba(0xc3),'bCmLi':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','QzZNM':_0x4b68ba(0xe8),'jDgCQ':_0x4b68ba(0xc2),'wWYkM':'user','wNvZK':'✓\x20Marketplace\x20already\x20added','ypvQj':function(_0x58c267,_0x1bc2ba){return _0x58c267(_0x1bc2ba);},'leuFY':_0x4b68ba(0xcb),'ztBHt':'❌\x20Failed\x20to\x20add\x20marketplace:','MZPFD':_0x4b68ba(0xd7),'SEukm':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','udYPF':'ranger@trailhead','nOzzL':'--scope','yTsNs':_0x4b68ba(0xed),'QwkNS':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','hLLlr':'enable','nnzPQ':function(_0x466269,_0x404fc6){return _0x466269===_0x404fc6;},'ccFjM':function(_0x5858be,_0x2af7e7,_0x303c76){return _0x5858be(_0x2af7e7,_0x303c76);},'JOrYZ':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x53137f=await _0x28ae4b[_0x4b68ba(0xd5)](isPluginInstalled,_0x4b68ba(0xdd));if(_0x53137f)return console[_0x4b68ba(0xe5)](_0x4b68ba(0xf8)),![];const _0x4ab723=existsSync(_0x28ae4b['iTpVt'](join,_0x28ae4b[_0x4b68ba(0xdb)](getProjectRoot),'.claude'));let _0x4b5000;if(_0x30af3b)_0x4b5000=_0x30af3b;else{if(_0x4ab723)_0x4b5000=_0x28ae4b['uHQEK'];else{console[_0x4b68ba(0xe5)](_0x28ae4b[_0x4b68ba(0xca)]);const _0x4df8b8=await _0x54dbb3['prompt']([{'type':'list','name':_0x28ae4b[_0x4b68ba(0xf3)],'message':_0x28ae4b[_0x4b68ba(0xe6)],'choices':[{'name':_0x4b68ba(0xef),'value':'user'},{'name':_0x4b68ba(0xd3),'value':_0x28ae4b[_0x4b68ba(0xde)]}],'default':_0x28ae4b['wWYkM']}]);_0x4b5000=_0x4df8b8[_0x4b68ba(0xe8)];}}console['log'](_0x4b68ba(0xd4)+_0x4b5000+_0x4b68ba(0xea));const _0x5698f0=await isMarketplaceAdded(_0x4b68ba(0xf4));let _0x22ddab=_0x5698f0;if(_0x5698f0)console[_0x4b68ba(0xe5)](_0x28ae4b['wNvZK']);else{const _0xb0e52c=await _0x28ae4b['ypvQj'](runClaudeCommand,[_0x28ae4b['leuFY'],'marketplace','add',_0x4b68ba(0xc1)]);!_0xb0e52c['success']?(console['error'](_0x28ae4b[_0x4b68ba(0xc5)],_0xb0e52c[_0x4b68ba(0xce)]),console['log'](_0x28ae4b[_0x4b68ba(0xc4)]),console['log'](_0x28ae4b['SEukm']),console[_0x4b68ba(0xe5)](_0x4b68ba(0xe2)+_0x4b5000)):_0x22ddab=!![];}if(_0x22ddab){const _0x1dca9c=await runClaudeCommand(['plugin','install',_0x28ae4b[_0x4b68ba(0xd9)],_0x28ae4b[_0x4b68ba(0xf2)],_0x4b5000]);if(!_0x1dca9c[_0x4b68ba(0xe3)])console['error'](_0x28ae4b[_0x4b68ba(0xf7)],_0x1dca9c[_0x4b68ba(0xce)]),console['log'](_0x4b68ba(0xd7)),console['log'](_0x4b68ba(0xe2)+_0x4b5000);else{console['log'](_0x28ae4b[_0x4b68ba(0xf6)]);const _0x1ed386=['plugin',_0x28ae4b[_0x4b68ba(0xda)],_0x28ae4b[_0x4b68ba(0xd9)]];_0x28ae4b[_0x4b68ba(0xd2)](_0x4b5000,_0x4b68ba(0xc3))&&_0x1ed386[_0x4b68ba(0xe9)](_0x28ae4b[_0x4b68ba(0xf2)],_0x4b68ba(0xc3));const _0x53cda0=await _0x28ae4b[_0x4b68ba(0xe1)](runClaudeCommand,_0x1ed386,{'captureOutput':!![]}),_0x31e1f6=_0x53cda0[_0x4b68ba(0xe0)]?.[_0x4b68ba(0xf0)](_0x4b68ba(0xdc));!_0x53cda0['success']&&!_0x31e1f6?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x53cda0[_0x4b68ba(0xce)]):console[_0x4b68ba(0xe5)](_0x28ae4b['JOrYZ']);}}return!![];}export async function ensureClaudeSkills(_0x32e0de){const _0x5a51fe=_0x251d,_0x3c4ada={'pbEYz':function(_0x549f96,_0x124e5f){return _0x549f96(_0x124e5f);},'Pjmcb':function(_0x3422ec,_0x298e73,_0x58ccf1,_0x67a2aa){return _0x3422ec(_0x298e73,_0x58ccf1,_0x67a2aa);},'KlEvb':function(_0x77bf98,_0x2fb1c7){return _0x77bf98(_0x2fb1c7);},'PUitr':_0x5a51fe(0xdf),'rdHGV':'SKILL.md','TYfoT':function(_0x4c4b47,_0x475b60){return _0x4c4b47||_0x475b60;},'VbFjL':function(_0x11143c,_0x16f535,_0x34bb26){return _0x11143c(_0x16f535,_0x34bb26);},'BhGpL':function(_0xa4f452,_0x3463b2){return _0xa4f452(_0x3463b2);},'WiXnO':'confirm','vwbnB':'wantsSkillup'},_0x7ae602=_0x3c4ada['pbEYz'](existsSync,_0x3c4ada['Pjmcb'](join,_0x3c4ada[_0x5a51fe(0xf5)](getSkillsDir,_0x3c4ada[_0x5a51fe(0xcd)]),'ranger',_0x3c4ada['rdHGV'])),_0x591371=_0x3c4ada[_0x5a51fe(0xf5)](existsSync,join(getSkillsDir('project'),_0x5a51fe(0xc9),'SKILL.md'));if(_0x3c4ada['TYfoT'](_0x7ae602,_0x591371))return console['log'](_0x5a51fe(0xe7)),![];const _0x3af447=_0x3c4ada[_0x5a51fe(0xd8)](existsSync,_0x3c4ada['VbFjL'](join,getProjectRoot(),_0x5a51fe(0xe4)));let _0x495166=!![];if(_0x32e0de)await _0x3c4ada[_0x5a51fe(0xec)](skillup,{'autoInstall':_0x32e0de,'suppressUsage':!![]});else{if(_0x3af447)await skillup({'autoInstall':_0x5a51fe(0xc3),'suppressUsage':!![]});else{const _0x429764=await _0x54dbb3['prompt']([{'type':_0x3c4ada['WiXnO'],'name':_0x3c4ada[_0x5a51fe(0xf1)],'message':_0x5a51fe(0xc6),'default':!![]}]);_0x495166=_0x429764[_0x5a51fe(0xd1)],_0x495166&&await skillup({'suppressUsage':!![]});}}return _0x495166;}
1
+ (function(_0x32f975,_0x48db20){const _0x32f18c=_0x33d9,_0x80c4dc=_0x32f975();while(!![]){try{const _0x3dbdfd=-parseInt(_0x32f18c(0x1e1))/0x1*(parseInt(_0x32f18c(0x1d4))/0x2)+-parseInt(_0x32f18c(0x1df))/0x3+parseInt(_0x32f18c(0x1c0))/0x4+parseInt(_0x32f18c(0x1dd))/0x5*(-parseInt(_0x32f18c(0x1c9))/0x6)+-parseInt(_0x32f18c(0x1c6))/0x7+-parseInt(_0x32f18c(0x1d8))/0x8*(parseInt(_0x32f18c(0x1e0))/0x9)+parseInt(_0x32f18c(0x1b3))/0xa;if(_0x3dbdfd===_0x48db20)break;else _0x80c4dc['push'](_0x80c4dc['shift']());}catch(_0x232184){_0x80c4dc['push'](_0x80c4dc['shift']());}}}(_0x5d5e,0xe05c2));import{join}from'path';import{existsSync}from'fs';function _0x33d9(_0x168d9a,_0x11800a){_0x168d9a=_0x168d9a-0x1b3;const _0x5d5e79=_0x5d5e();let _0x33d9d1=_0x5d5e79[_0x168d9a];return _0x33d9d1;}import _0x5f18e4 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x5d5e(){const _0x328679=['Project\x20(shared\x20with\x20team\x20via\x20git)','⚠\x20Failed\x20to\x20enable\x20plugin:','sqNmb','user','error','wantsSkillup','15110rZjwlv','✓\x20Ranger\x20skills\x20already\x20installed','isOBX','.claude','21536PFApru','ZkHjw','Tlwpf','❌\x20Failed\x20to\x20add\x20marketplace:','--scope','4610VaGksi','prompt','556818TQfLvf','5598PFTbhP','101jeoHZO','output','ZCtTI','52350000gFwWhk','success','list','WdtQc','log','SKILL.md','idHAX','project','confirm','BXnds','PTmJl','ranger','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','3497136ZSEczK','VwSIa','\x20level)...\x0a','xJmok','ranger@trailhead','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','6050009qnkBUo','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','NGXvU','11082cnjGfb','plugin','qZhsL','enable','pluginScope'];_0x5d5e=function(){return _0x328679;};return _0x5d5e();}export async function ensureClaudePlugin(_0x4588d9){const _0x112e9b=_0x33d9,_0x4875cc={'kOnnL':function(_0x1a6f09,_0xd53e79,_0x51debc){return _0x1a6f09(_0xd53e79,_0x51debc);},'xJmok':function(_0x4636f1){return _0x4636f1();},'AuqFX':_0x112e9b(0x1d7),'QybRj':'Where\x20should\x20the\x20plugin\x20be\x20installed?','ouSOc':'User\x20(available\x20in\x20all\x20your\x20projects)','idHAX':function(_0x39905c,_0x5fb35){return _0x39905c(_0x5fb35);},'VwSIa':'✓\x20Marketplace\x20already\x20added','ZCtTI':_0x112e9b(0x1ca),'xBNKj':'add','BULHu':'ranger-testing/trailhead','NGXvU':_0x112e9b(0x1db),'Omeaj':_0x112e9b(0x1c7),'sqNmb':_0x112e9b(0x1dc),'ZkHjw':_0x112e9b(0x1c4),'lxcAy':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x27d4dd=await isPluginInstalled(_0x112e9b(0x1c4));if(_0x27d4dd)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x170439=existsSync(_0x4875cc['kOnnL'](join,_0x4875cc[_0x112e9b(0x1c3)](getProjectRoot),_0x4875cc['AuqFX']));let _0x3ea25f;if(_0x4588d9)_0x3ea25f=_0x4588d9;else{if(_0x170439)_0x3ea25f=_0x112e9b(0x1ba);else{console['log']('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x26d8a2=await _0x5f18e4['prompt']([{'type':_0x112e9b(0x1b5),'name':_0x112e9b(0x1cd),'message':_0x4875cc['QybRj'],'choices':[{'name':_0x4875cc['ouSOc'],'value':'user'},{'name':_0x112e9b(0x1ce),'value':'project'}],'default':_0x112e9b(0x1d1)}]);_0x3ea25f=_0x26d8a2['pluginScope'];}}console[_0x112e9b(0x1b7)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x3ea25f+_0x112e9b(0x1c2));const _0x2bab2b=await _0x4875cc['idHAX'](isMarketplaceAdded,'trailhead');let _0x246a94=_0x2bab2b;if(_0x2bab2b)console[_0x112e9b(0x1b7)](_0x4875cc[_0x112e9b(0x1c1)]);else{const _0x1d15d7=await runClaudeCommand([_0x4875cc[_0x112e9b(0x1e3)],'marketplace',_0x4875cc['xBNKj'],_0x4875cc['BULHu']]);!_0x1d15d7[_0x112e9b(0x1b4)]?(console['error'](_0x4875cc[_0x112e9b(0x1c8)],_0x1d15d7['error']),console[_0x112e9b(0x1b7)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x112e9b(0x1b7)](_0x4875cc['Omeaj']),console[_0x112e9b(0x1b7)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x3ea25f)):_0x246a94=!![];}if(_0x246a94){const _0x229a91=await _0x4875cc[_0x112e9b(0x1b9)](runClaudeCommand,['plugin','install','ranger@trailhead',_0x4875cc['sqNmb'],_0x3ea25f]);if(!_0x229a91['success'])console['error']('❌\x20Failed\x20to\x20install\x20plugin:',_0x229a91[_0x112e9b(0x1d2)]),console[_0x112e9b(0x1b7)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log'](_0x112e9b(0x1bf)+_0x3ea25f);else{console['log'](_0x112e9b(0x1c5));const _0x49609e=[_0x4875cc[_0x112e9b(0x1e3)],_0x112e9b(0x1cc),_0x4875cc[_0x112e9b(0x1d9)]];_0x3ea25f==='project'&&_0x49609e['push'](_0x4875cc[_0x112e9b(0x1d0)],'project');const _0x57e5d4=await runClaudeCommand(_0x49609e,{'captureOutput':!![]}),_0x5c96d7=_0x57e5d4[_0x112e9b(0x1e2)]?.['includes']('already\x20enabled');!_0x57e5d4[_0x112e9b(0x1b4)]&&!_0x5c96d7?console[_0x112e9b(0x1d2)](_0x112e9b(0x1cf),_0x57e5d4['error']):console[_0x112e9b(0x1b7)](_0x4875cc['lxcAy']);}}return!![];}export async function ensureClaudeSkills(_0x1c32ca){const _0x3b6d59=_0x33d9,_0x36c58e={'WdtQc':function(_0x2e9f06,_0x1e9bce){return _0x2e9f06(_0x1e9bce);},'MuhZX':_0x3b6d59(0x1b8),'enXwM':function(_0x16c2c8,_0x158e95,_0xa26633,_0x1235d0){return _0x16c2c8(_0x158e95,_0xa26633,_0x1235d0);},'BXnds':function(_0x2df015,_0x2c6abb){return _0x2df015||_0x2c6abb;},'PTmJl':function(_0x2d958c,_0x328cfe){return _0x2d958c(_0x328cfe);},'Tlwpf':_0x3b6d59(0x1bb),'qZhsL':_0x3b6d59(0x1d3),'isOBX':'Would\x20you\x20like\x20to\x20install\x20skills?'},_0xd1027b=existsSync(join(_0x36c58e[_0x3b6d59(0x1b6)](getSkillsDir,'user'),'ranger',_0x36c58e['MuhZX'])),_0x34bc31=existsSync(_0x36c58e['enXwM'](join,_0x36c58e['WdtQc'](getSkillsDir,_0x3b6d59(0x1ba)),_0x3b6d59(0x1be),'SKILL.md'));if(_0x36c58e[_0x3b6d59(0x1bc)](_0xd1027b,_0x34bc31))return console[_0x3b6d59(0x1b7)](_0x3b6d59(0x1d5)),![];const _0x2e7630=existsSync(join(getProjectRoot(),'.claude'));let _0x3f440b=!![];if(_0x1c32ca)await _0x36c58e[_0x3b6d59(0x1bd)](skillup,{'autoInstall':_0x1c32ca,'suppressUsage':!![]});else{if(_0x2e7630)await _0x36c58e[_0x3b6d59(0x1b6)](skillup,{'autoInstall':_0x3b6d59(0x1ba),'suppressUsage':!![]});else{const _0x5d84fb=await _0x5f18e4[_0x3b6d59(0x1de)]([{'type':_0x36c58e[_0x3b6d59(0x1da)],'name':_0x36c58e[_0x3b6d59(0x1cb)],'message':_0x36c58e[_0x3b6d59(0x1d6)],'default':!![]}]);_0x3f440b=_0x5d84fb[_0x3b6d59(0x1d3)],_0x3f440b&&await _0x36c58e[_0x3b6d59(0x1bd)](skillup,{'suppressUsage':!![]});}}return _0x3f440b;}
@@ -1 +1 @@
1
- function _0xe60e(){const _0x48787c=['utf-8','43446HGoiEj','yYKqE','✓\x20OpenCode\x20plugin\x20already\x20configured','Where\x20should\x20the\x20plugin\x20be\x20installed?','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','FtAyO','4834AHBDng','isArray','1267100LCuyGR','19090FDMtXE','\x0a📦\x20OpenCode\x20Plugin\x0a','111876bXkTSd','prompt','3TIxmCR','bVnij','project','28sMHPlo','plugin','includes','list','300RiEXwG','https://opencode.ai/config.json','$schema','✓\x20OpenCode\x20plugin\x20configured','error','Failed\x20to\x20read\x20opencode.json','138102riUtQf','opencode.json','888ZoILoe','ZtBap','4545mYTZcY','308RQCJbZ','log','pluginScope','stringify','40hICXLM','GqTbc'];_0xe60e=function(){return _0x48787c;};return _0xe60e();}(function(_0x2baa01,_0x2d1ccf){const _0x224607=_0x4ebb,_0x42e91d=_0x2baa01();while(!![]){try{const _0x444ec2=-parseInt(_0x224607(0x1cc))/0x1*(parseInt(_0x224607(0x1c3))/0x2)+-parseInt(_0x224607(0x1ad))/0x3*(-parseInt(_0x224607(0x1ab))/0x4)+parseInt(_0x224607(0x1ce))/0x5+parseInt(_0x224607(0x1ba))/0x6*(-parseInt(_0x224607(0x1b0))/0x7)+parseInt(_0x224607(0x1bc))/0x8*(-parseInt(_0x224607(0x1be))/0x9)+-parseInt(_0x224607(0x1a9))/0xa*(-parseInt(_0x224607(0x1bf))/0xb)+-parseInt(_0x224607(0x1b4))/0xc*(-parseInt(_0x224607(0x1c6))/0xd);if(_0x444ec2===_0x2d1ccf)break;else _0x42e91d['push'](_0x42e91d['shift']());}catch(_0x3614c6){_0x42e91d['push'](_0x42e91d['shift']());}}}(_0xe60e,0x2a614));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x3bef08 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x4ebb(_0x2a2652,_0x22e4ad){_0x2a2652=_0x2a2652-0x1a9;const _0xe60edd=_0xe60e();let _0x4ebb2d=_0xe60edd[_0x2a2652];return _0x4ebb2d;}export async function ensureOpencodePluginConfig(_0x3890b2){const _0x4032f5=_0x4ebb,_0x20ccfe={'GqTbc':function(_0x2f7350,_0x139196){return _0x2f7350(_0x139196);},'bVnij':function(_0x1791fb,_0x58ebaa,_0x3f80e1){return _0x1791fb(_0x58ebaa,_0x3f80e1);},'mASJW':function(_0x1a4857,_0x398bc0){return _0x1a4857(_0x398bc0);},'FtAyO':_0x4032f5(0x1af),'yYKqE':'user','lGlni':_0x4032f5(0x1bb),'ZtBap':_0x4032f5(0x1c8),'NySXJ':function(_0x17bef7,_0x23213a){return _0x17bef7+_0x23213a;},'YBAQC':_0x4032f5(0x1b7)},_0x3710cb=_0x20ccfe['GqTbc'](existsSync,_0x20ccfe[_0x4032f5(0x1ae)](join,_0x20ccfe['mASJW'](getOpencodeConfigDir,_0x4032f5(0x1af)),_0x4032f5(0x1bb)));let _0x25d574;if(_0x3890b2)_0x25d574=_0x3890b2;else{if(_0x3710cb)_0x25d574=_0x20ccfe[_0x4032f5(0x1cb)];else{console[_0x4032f5(0x1c0)](_0x4032f5(0x1aa));const _0x54b431=await _0x3bef08[_0x4032f5(0x1ac)]([{'type':_0x4032f5(0x1b3),'name':_0x4032f5(0x1c1),'message':_0x4032f5(0x1c9),'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x20ccfe[_0x4032f5(0x1cb)]}],'default':_0x20ccfe[_0x4032f5(0x1c7)]}]);_0x25d574=_0x54b431[_0x4032f5(0x1c1)];}}const _0x20c26b=join(_0x20ccfe[_0x4032f5(0x1c4)](getOpencodeConfigDir,_0x25d574),_0x20ccfe['lGlni']),_0x17dbfe='@ranger-testing/opencode-plugin',_0x11f844=_0x4032f5(0x1b5);let _0xb4533={};if(existsSync(_0x20c26b))try{const _0x333f09=await _0x20ccfe['bVnij'](readFile,_0x20c26b,_0x4032f5(0x1c5));_0xb4533=JSON['parse'](_0x333f09);}catch(_0xee09ac){return console[_0x4032f5(0x1b8)](_0x4032f5(0x1ca)),{'configured':![],'scope':_0x25d574,'error':_0x4032f5(0x1b9),'details':_0xee09ac};}const _0x53a076=Array[_0x4032f5(0x1cd)](_0xb4533['plugin'])?_0xb4533['plugin']:[];if(_0x53a076[_0x4032f5(0x1b2)](_0x17dbfe))return console['log'](_0x20ccfe[_0x4032f5(0x1bd)]),{'configured':![],'scope':_0x25d574};return _0xb4533[_0x4032f5(0x1b6)]=_0xb4533[_0x4032f5(0x1b6)]||_0x11f844,_0xb4533[_0x4032f5(0x1b1)]=[..._0x53a076,_0x17dbfe],await mkdir(_0x20ccfe['mASJW'](getOpencodeConfigDir,_0x25d574),{'recursive':!![]}),await _0x20ccfe['bVnij'](writeFile,_0x20c26b,_0x20ccfe['NySXJ'](JSON[_0x4032f5(0x1c2)](_0xb4533,null,0x2),'\x0a')),console[_0x4032f5(0x1c0)](_0x20ccfe['YBAQC']),{'configured':!![],'scope':_0x25d574};}
1
+ function _0x171a(_0x54751b,_0x1233bd){_0x54751b=_0x54751b-0x175;const _0xec529c=_0xec52();let _0x171ac4=_0xec529c[_0x54751b];return _0x171ac4;}function _0xec52(){const _0x406ae6=['120yliJNe','42980421CInOcc','4744xqsbwa','Where\x20should\x20the\x20plugin\x20be\x20installed?','rJJNO','2082279dUjNCU','$schema','20UganWy','opencode.json','ggABL','vzVcE','isArray','DEHez','https://opencode.ai/config.json','pluginScope','user','SirRT','Zjvdt','includes','dkZuD','prompt','igtzE','6210081aBXQkq','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','✓\x20OpenCode\x20plugin\x20already\x20configured','2WclspS','Xnslj','314363mkfMuz','13345080CnCdxO','7085vtOQCr','plugin','1450466TwHpAp','utf-8','nHRQp','stringify','NJbIV','LsDNy'];_0xec52=function(){return _0x406ae6;};return _0xec52();}(function(_0x5ab98c,_0x4d96ff){const _0x1219e7=_0x171a,_0x3aeee2=_0x5ab98c();while(!![]){try{const _0x55a3c3=-parseInt(_0x1219e7(0x18d))/0x1+parseInt(_0x1219e7(0x187))/0x2*(parseInt(_0x1219e7(0x198))/0x3)+parseInt(_0x1219e7(0x195))/0x4*(parseInt(_0x1219e7(0x18b))/0x5)+parseInt(_0x1219e7(0x193))/0x6*(-parseInt(_0x1219e7(0x189))/0x7)+-parseInt(_0x1219e7(0x18a))/0x8+-parseInt(_0x1219e7(0x184))/0x9*(parseInt(_0x1219e7(0x175))/0xa)+parseInt(_0x1219e7(0x194))/0xb;if(_0x55a3c3===_0x4d96ff)break;else _0x3aeee2['push'](_0x3aeee2['shift']());}catch(_0xe6e403){_0x3aeee2['push'](_0x3aeee2['shift']());}}}(_0xec52,0xd81af));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x1174b5 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x3eaa95){const _0x59e83b=_0x171a,_0x217ae5={'Zjvdt':function(_0x5008b5,_0x2a4223){return _0x5008b5(_0x2a4223);},'nHRQp':_0x59e83b(0x176),'rJJNO':'project','ggABL':'\x0a📦\x20OpenCode\x20Plugin\x0a','vzVcE':'list','rPpQy':_0x59e83b(0x17c),'igtzE':'User\x20(available\x20in\x20all\x20your\x20projects)','dkZuD':_0x59e83b(0x17d),'NJbIV':function(_0x1f57b7,_0x9f84de){return _0x1f57b7(_0x9f84de);},'CxIjx':'@ranger-testing/opencode-plugin','DEHez':_0x59e83b(0x17b),'XxSCR':_0x59e83b(0x18e),'SirRT':_0x59e83b(0x185),'Xnslj':'Failed\x20to\x20read\x20opencode.json','Qafwn':function(_0x17c2e5,_0x1ab51e,_0x32fb46){return _0x17c2e5(_0x1ab51e,_0x32fb46);},'LsDNy':function(_0x232fcc,_0x9fb06b){return _0x232fcc+_0x9fb06b;}},_0x28c41e=existsSync(join(_0x217ae5[_0x59e83b(0x17f)](getOpencodeConfigDir,'project'),_0x217ae5[_0x59e83b(0x18f)]));let _0x3054e9;if(_0x3eaa95)_0x3054e9=_0x3eaa95;else{if(_0x28c41e)_0x3054e9=_0x217ae5[_0x59e83b(0x197)];else{console['log'](_0x217ae5[_0x59e83b(0x177)]);const _0x9e5865=await _0x1174b5[_0x59e83b(0x182)]([{'type':_0x217ae5[_0x59e83b(0x178)],'name':_0x217ae5['rPpQy'],'message':_0x59e83b(0x196),'choices':[{'name':_0x217ae5[_0x59e83b(0x183)],'value':_0x217ae5[_0x59e83b(0x181)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x217ae5['rJJNO']}],'default':_0x59e83b(0x17d)}]);_0x3054e9=_0x9e5865['pluginScope'];}}const _0x487413=join(_0x217ae5[_0x59e83b(0x191)](getOpencodeConfigDir,_0x3054e9),_0x59e83b(0x176)),_0x25a4b3=_0x217ae5['CxIjx'],_0x36d4ae=_0x217ae5[_0x59e83b(0x17a)];let _0x9a102d={};if(existsSync(_0x487413))try{const _0xbad556=await readFile(_0x487413,_0x217ae5['XxSCR']);_0x9a102d=JSON['parse'](_0xbad556);}catch(_0x204362){return console['error'](_0x217ae5[_0x59e83b(0x17e)]),{'configured':![],'scope':_0x3054e9,'error':_0x217ae5[_0x59e83b(0x188)],'details':_0x204362};}const _0x14f11d=Array[_0x59e83b(0x179)](_0x9a102d[_0x59e83b(0x18c)])?_0x9a102d[_0x59e83b(0x18c)]:[];if(_0x14f11d[_0x59e83b(0x180)](_0x25a4b3))return console['log'](_0x59e83b(0x186)),{'configured':![],'scope':_0x3054e9};return _0x9a102d[_0x59e83b(0x199)]=_0x9a102d['$schema']||_0x36d4ae,_0x9a102d['plugin']=[..._0x14f11d,_0x25a4b3],await mkdir(getOpencodeConfigDir(_0x3054e9),{'recursive':!![]}),await _0x217ae5['Qafwn'](writeFile,_0x487413,_0x217ae5[_0x59e83b(0x192)](JSON[_0x59e83b(0x190)](_0x9a102d,null,0x2),'\x0a')),console['log']('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x3054e9};}
@@ -1 +1 @@
1
- (function(_0x5509e4,_0x56f18f){const _0x2aa00f=_0x30fc,_0x463ad1=_0x5509e4();while(!![]){try{const _0x1c9c0e=parseInt(_0x2aa00f(0x18b))/0x1*(-parseInt(_0x2aa00f(0x1c0))/0x2)+parseInt(_0x2aa00f(0x196))/0x3+-parseInt(_0x2aa00f(0x19a))/0x4*(parseInt(_0x2aa00f(0x19f))/0x5)+parseInt(_0x2aa00f(0x1b3))/0x6*(-parseInt(_0x2aa00f(0x186))/0x7)+parseInt(_0x2aa00f(0x1be))/0x8*(parseInt(_0x2aa00f(0x185))/0x9)+parseInt(_0x2aa00f(0x1b6))/0xa*(parseInt(_0x2aa00f(0x1a0))/0xb)+parseInt(_0x2aa00f(0x19e))/0xc;if(_0x1c9c0e===_0x56f18f)break;else _0x463ad1['push'](_0x463ad1['shift']());}catch(_0x546901){_0x463ad1['push'](_0x463ad1['shift']());}}}(_0x1e3d,0xe3100));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x30fc(_0x47cac7,_0x4ff947){_0x47cac7=_0x47cac7-0x180;const _0x1e3d18=_0x1e3d();let _0x30fc4b=_0x1e3d18[_0x47cac7];return _0x30fc4b;}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 _0x1e3d(){const _0x162b28=['10HGkcjN','FbfvR','iXwnE','chromium','UGmlw','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','Failed\x20to\x20install\x20plugin:','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','11939384zBiwVD','trackPhaseEnd','152EaqfBx','qkgNd','marketplace','profile_activate','path','✓\x20Active\x20profile:\x20','map','isDirectory','dir_setup','ONbXi','9QrQiaP','7kvloBl','eXzMQ','DDLBv','OcjQm','PGjHF','5178lTFdYS','--scope','plugin','skipChromium','CmXBJ','baseUrl','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','✓\x20Claude\x20Code\x20plugin\x20installed','Failed\x20to\x20add\x20marketplace:','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','error','700134lLlaaK','\x22:\x20','ranger@trailhead','tfbYt','4vYnmGM','success','project','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','10224396sDIDdc','1819945AxQGFl','6428829CKuNbu','cZzEs','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','✓\x20Created\x20profile\x20settings:\x20baseUrl=','length','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','auth.json.enc','fCboE','pdjzq','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','bCCHf','trackPhaseStart','profile','message','UDcnr','name','XWVtm','log','EpWQU','8848248RkfqgM','nOgbr','TAFCk'];_0x1e3d=function(){return _0x162b28;};return _0x1e3d();}import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x15bbf7){const _0x340942=_0x30fc,_0x4facf6={'FbfvR':function(_0x3d20e7,_0x5d031d,_0x3d547b){return _0x3d20e7(_0x5d031d,_0x3d547b);},'TAFCk':function(_0x16c541,_0x4c1ab8){return _0x16c541+_0x4c1ab8;},'THnIj':function(_0x2a8d71,_0x3e6503){return _0x2a8d71===_0x3e6503;},'tfbYt':_0x340942(0x19d),'mPGeH':function(_0x347274,_0x58f1ee){return _0x347274===_0x58f1ee;}},_0x4f6e17=getRangerDir(),_0xd32c0d=_0x4facf6[_0x340942(0x1b7)](join,_0x4f6e17,'ci');if(_0x15bbf7){const _0x2c5e5b=join(_0xd32c0d,_0x15bbf7);return{'name':_0x15bbf7,'path':_0x2c5e5b};}if(!existsSync(_0xd32c0d))throw new Error(_0x4facf6[_0x340942(0x1b5)]('No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a',_0x340942(0x19d)));const _0x496669=await readdir(_0xd32c0d,{'withFileTypes':!![]}),_0x157388=_0x496669['filter'](_0x2b155c=>_0x2b155c[_0x340942(0x182)]())[_0x340942(0x181)](_0x3178e1=>_0x3178e1['name']);if(_0x4facf6['THnIj'](_0x157388['length'],0x0))throw new Error(_0x4facf6['TAFCk']('No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a',_0x4facf6[_0x340942(0x199)]));if(_0x4facf6['mPGeH'](_0x157388[_0x340942(0x1a4)],0x1)){const _0x1a1feb=_0x157388[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x1a1feb),{'name':_0x1a1feb,'path':join(_0xd32c0d,_0x1a1feb)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x157388['join'](',\x20')+_0x340942(0x1a9));}async function installPluginNonInteractive(){const _0x2e9f81=_0x30fc,_0x48fa8a={'pdjzq':_0x2e9f81(0x198),'CmXBJ':function(_0xb953a1,_0x13ac4d){return _0xb953a1(_0x13ac4d);},'UIfhC':'trailhead','mcOqw':'✓\x20Marketplace\x20already\x20added','cZzEs':'plugin','yWuUW':_0x2e9f81(0x1c2),'XWVtm':'add','CcNyA':'ranger-testing/trailhead','UGmlw':'install','UDcnr':_0x2e9f81(0x18c),'OcjQm':_0x2e9f81(0x1bc),'opedA':_0x2e9f81(0x1bd)},_0x36cff7=await isPluginInstalled(_0x48fa8a[_0x2e9f81(0x1a8)]);if(_0x36cff7)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];console['log']('Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...');const _0x1513ab=await _0x48fa8a[_0x2e9f81(0x18f)](isMarketplaceAdded,_0x48fa8a['UIfhC']);let _0x860f5c=_0x1513ab;if(_0x1513ab)console['log'](_0x48fa8a['mcOqw']);else{const _0x5b716f=await _0x48fa8a['CmXBJ'](runClaudeCommand,[_0x48fa8a['cZzEs'],_0x48fa8a['yWuUW'],_0x48fa8a[_0x2e9f81(0x1b0)],_0x48fa8a['CcNyA']]);!_0x5b716f[_0x2e9f81(0x19b)]?(console['error'](_0x2e9f81(0x193),_0x5b716f[_0x2e9f81(0x195)]),console[_0x2e9f81(0x1b1)]('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead')):_0x860f5c=!![];}if(_0x860f5c){const _0x168bfd=await runClaudeCommand([_0x48fa8a[_0x2e9f81(0x1a1)],_0x48fa8a[_0x2e9f81(0x1ba)],'ranger@trailhead',_0x48fa8a[_0x2e9f81(0x1ae)],'project']);!_0x168bfd['success']?(console[_0x2e9f81(0x195)](_0x48fa8a[_0x2e9f81(0x189)],_0x168bfd[_0x2e9f81(0x195)]),console[_0x2e9f81(0x1b1)](_0x48fa8a['opedA'])):console['log'](_0x2e9f81(0x192));}return!![];}export async function setupCi(_0x8169fa,_0x263202,_0xeed999){const _0x37a050=_0x30fc,_0x1497fb={'PGjHF':'auth','FyPHT':function(_0x176d83,_0x22d438){return _0x176d83(_0x22d438);},'EpWQU':function(_0x1ea591,_0x33a59a){return _0x1ea591(_0x33a59a);},'ACtGf':_0x37a050(0x194),'nOgbr':function(_0x21ed3f){return _0x21ed3f();},'bCCHf':_0x37a050(0x1c3),'eXzMQ':function(_0x347aec,_0x3cbd73){return _0x347aec(_0x3cbd73);},'qkgNd':function(_0xd7a8f6,_0xc6fedd,_0x25d217){return _0xd7a8f6(_0xc6fedd,_0x25d217);},'iXwnE':function(_0xa52ae7,_0x57e0a4,_0x367982){return _0xa52ae7(_0x57e0a4,_0x367982);},'ONbXi':'settings.json','DwcjB':'auth.json','NMQkU':_0x37a050(0x1a6),'FdQCs':_0x37a050(0x1a2),'fCboE':function(_0x5a7980,_0x9e238){return _0x5a7980(_0x9e238);},'BdIAh':_0x37a050(0x18d),'UAQac':function(_0x27b5f6){return _0x27b5f6();},'DDLBv':'skills','LbWyp':'\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a'};console[_0x37a050(0x1b1)]('\x0a🔧\x20Ranger\x20CI\x20Setup\x0a'),_0xeed999?.[_0x37a050(0x1ab)](_0x1497fb['PGjHF']),await _0x1497fb['FyPHT'](authenticate,_0x8169fa),_0xeed999?.['trackPhaseEnd'](_0x1497fb[_0x37a050(0x18a)]),_0xeed999?.['trackPhaseStart'](_0x37a050(0x183));const {path:_0x56fcce,installed:_0x1ba5b2}=await ensureRangerDir();await writeRangerGitignore(_0x56fcce);const _0x9a02c1=join(_0x56fcce,'sessions');!_0x1497fb[_0x37a050(0x1b2)](existsSync,_0x9a02c1)&&await mkdir(_0x9a02c1,{'recursive':!![]});_0xeed999?.['trackPhaseEnd']('dir_setup',{'installed':_0x1ba5b2}),_0xeed999?.['trackPhaseStart']('chromium');let _0x5d1cec=![];_0x263202?.['skipChromium']?console['log'](_0x1497fb['ACtGf']):_0x5d1cec=await _0x1497fb[_0x37a050(0x1b4)](ensureChromium);_0xeed999?.[_0x37a050(0x1bf)](_0x37a050(0x1b9),{'installed':_0x5d1cec,'skipped':!!_0x263202?.[_0x37a050(0x18e)]}),_0xeed999?.['trackPhaseStart'](_0x1497fb[_0x37a050(0x1aa)]);const _0x2f654e=await _0x1497fb[_0x37a050(0x187)](findCiProfile,_0x263202?.[_0x37a050(0x1ac)]);let _0x1882ba=![];_0x263202?.[_0x37a050(0x190)]&&(await _0x1497fb[_0x37a050(0x1c1)](mkdir,_0x2f654e['path'],{'recursive':!![]}),await _0x1497fb['iXwnE'](saveSettings,_0x2f654e['name'],{'baseUrl':_0x263202['baseUrl'],'headless':!![]}),console['log'](_0x37a050(0x1a3)+_0x263202['baseUrl']),_0x1882ba=!![]);const _0x361d87=_0x1497fb['iXwnE'](join,_0x2f654e['path'],_0x1497fb[_0x37a050(0x184)]);if(!_0x1497fb['eXzMQ'](existsSync,_0x361d87)&&!_0x1882ba)throw new Error('CI\x20profile\x20\x22'+_0x2f654e[_0x37a050(0x1af)]+_0x37a050(0x1bb));const _0x5d6c6b=join(_0x2f654e[_0x37a050(0x1c4)],_0x1497fb['DwcjB']),_0x85d4d8=_0x1497fb[_0x37a050(0x1b8)](join,_0x2f654e[_0x37a050(0x1c4)],_0x1497fb['NMQkU']),_0x468b17=_0x1497fb['EpWQU'](existsSync,_0x5d6c6b),_0x529364=_0x1497fb['EpWQU'](existsSync,_0x85d4d8);if(_0x529364)try{const _0x1d24cc=await _0x1497fb[_0x37a050(0x1b4)](getToken);if(!_0x1d24cc)throw new Error('No\x20API\x20token\x20available\x20for\x20decryption');const _0x2af866=await readFile(_0x85d4d8);_0x1497fb['qkgNd'](decrypt,_0x2af866,_0x1d24cc),console[_0x37a050(0x1b1)](_0x1497fb['FdQCs']);}catch(_0x56c37b){const _0x1eab09=_0x56c37b instanceof Error?_0x56c37b[_0x37a050(0x1ad)]:String(_0x56c37b);throw new Error(_0x37a050(0x1a5)+_0x2f654e[_0x37a050(0x1af)]+_0x37a050(0x197)+_0x1eab09);}else _0x468b17?console[_0x37a050(0x1b1)]('✓\x20Auth\x20state\x20found'):console['log'](_0x37a050(0x191));await _0x1497fb[_0x37a050(0x1a7)](writeActiveProfileName,_0x2f654e[_0x37a050(0x1af)]),console['log'](_0x37a050(0x180)+_0x2f654e[_0x37a050(0x1af)]),_0xeed999?.['trackPhaseEnd'](_0x1497fb[_0x37a050(0x1aa)],{'profileName':_0x2f654e['name'],'hasAuth':_0x468b17,'hasEncryptedAuth':_0x529364,'createdSettings':_0x1882ba}),_0xeed999?.[_0x37a050(0x1ab)](_0x1497fb['BdIAh']);const _0x67628a=await _0x1497fb['UAQac'](installPluginNonInteractive);_0xeed999?.['trackPhaseEnd'](_0x37a050(0x18d),{'installed':_0x67628a}),_0xeed999?.[_0x37a050(0x1ab)](_0x1497fb[_0x37a050(0x188)]),await skillup({'autoInstall':_0x37a050(0x19c)}),_0xeed999?.[_0x37a050(0x1bf)](_0x1497fb['DDLBv']),console['log'](_0x1497fb['LbWyp']);}
1
+ (function(_0x5a4271,_0x802acb){const _0xf13b89=_0x3c84,_0x530cc2=_0x5a4271();while(!![]){try{const _0x300356=parseInt(_0xf13b89(0x1a9))/0x1+-parseInt(_0xf13b89(0x1be))/0x2+parseInt(_0xf13b89(0x1aa))/0x3+-parseInt(_0xf13b89(0x1c3))/0x4+parseInt(_0xf13b89(0x1c8))/0x5*(parseInt(_0xf13b89(0x1c4))/0x6)+parseInt(_0xf13b89(0x1a5))/0x7+parseInt(_0xf13b89(0x1cf))/0x8;if(_0x300356===_0x802acb)break;else _0x530cc2['push'](_0x530cc2['shift']());}catch(_0x39af47){_0x530cc2['push'](_0x530cc2['shift']());}}}(_0x1aab,0xb1689));import{mkdir,readFile,readdir}from'fs/promises';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';function _0x3c84(_0x47cd04,_0x2b96d1){_0x47cd04=_0x47cd04-0x19e;const _0x1aabc1=_0x1aab();let _0x3c8445=_0x1aabc1[_0x47cd04];return _0x3c8445;}import{saveSettings}from'./utils/settings.js';function _0x1aab(){const _0x5ed877=['PwILE','install','ranger@trailhead','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','afdSb','add','zMrrR','BYxAr','join','eeElJ','auth.json','7320131pRLHXm','skills','AgGfl','ONOlI','301713LhTgtK','2833341JTqTZH','map','trackPhaseEnd','gwgJf','path','CI\x20profile\x20\x22','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','dir_setup','profile_activate','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','uGtgL','error','✓\x20Auth\x20state\x20found','length','fJTXv','log','Failed\x20to\x20add\x20marketplace:','UvcSf','\x22:\x20','VvzGe','2511222PkNIpr','trackPhaseStart','OdBTW','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','Multiple\x20CI\x20profiles\x20found:\x20','3928616oubyMC','2364ZZCOxL','baseUrl','BMGdj','--scope','4270RbHvxX','KiOhT','zPTQx','jbqiJ','plugin','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','bSKmF','2688488LcIVph','name','project','tLWeL','message','WLqnW','isDirectory','QjawN','success','filter','azaXB','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)'];_0x1aab=function(){return _0x5ed877;};return _0x1aab();}import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x208280){const _0x1c74f4=_0x3c84,_0x10c3fd={'UvcSf':function(_0x3f0acb,_0x5cc943,_0x9ea2f6){return _0x3f0acb(_0x5cc943,_0x9ea2f6);},'AuqYr':function(_0xc37f85,_0x1569d9){return _0xc37f85(_0x1569d9);},'uGtgL':'No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','BYxAr':_0x1c74f4(0x1b0)},_0x47fe64=getRangerDir(),_0x24e258=join(_0x47fe64,'ci');if(_0x208280){const _0x3fb314=_0x10c3fd[_0x1c74f4(0x1bb)](join,_0x24e258,_0x208280);return{'name':_0x208280,'path':_0x3fb314};}if(!_0x10c3fd['AuqYr'](existsSync,_0x24e258))throw new Error(_0x10c3fd[_0x1c74f4(0x1b4)]+_0x10c3fd[_0x1c74f4(0x1a1)]);const _0x25fadb=await readdir(_0x24e258,{'withFileTypes':!![]}),_0x250504=_0x25fadb[_0x1c74f4(0x1d8)](_0x1a08e3=>_0x1a08e3[_0x1c74f4(0x1d5)]())[_0x1c74f4(0x1ab)](_0xbc10ec=>_0xbc10ec['name']);if(_0x250504[_0x1c74f4(0x1b7)]===0x0)throw new Error('No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a'+_0x10c3fd[_0x1c74f4(0x1a1)]);if(_0x250504['length']===0x1){const _0x4e5901=_0x250504[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x4e5901),{'name':_0x4e5901,'path':join(_0x24e258,_0x4e5901)};}throw new Error(_0x1c74f4(0x1c2)+_0x250504[_0x1c74f4(0x1a2)](',\x20')+_0x1c74f4(0x1de));}async function installPluginNonInteractive(){const _0x353ad4=_0x3c84,_0x5c6250={'zPTQx':function(_0x4a21f2,_0x28c2a6){return _0x4a21f2(_0x28c2a6);},'OdBTW':'✓\x20Marketplace\x20already\x20added','ONOlI':'marketplace','QjawN':_0x353ad4(0x19f),'tLWeL':'ranger-testing/trailhead','OCvej':_0x353ad4(0x1ba)},_0x3e53b2=await isPluginInstalled(_0x353ad4(0x1dd));if(_0x3e53b2)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];console[_0x353ad4(0x1b9)]('Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...');const _0x40100a=await _0x5c6250[_0x353ad4(0x1ca)](isMarketplaceAdded,'trailhead');let _0x1170f6=_0x40100a;if(_0x40100a)console['log'](_0x5c6250[_0x353ad4(0x1c0)]);else{const _0x410afe=await runClaudeCommand([_0x353ad4(0x1cc),_0x5c6250[_0x353ad4(0x1a8)],_0x5c6250[_0x353ad4(0x1d6)],_0x5c6250[_0x353ad4(0x1d2)]]);!_0x410afe['success']?(console[_0x353ad4(0x1b5)](_0x5c6250['OCvej'],_0x410afe['error']),console['log'](_0x353ad4(0x1b3))):_0x1170f6=!![];}if(_0x1170f6){const _0x403901=await runClaudeCommand(['plugin',_0x353ad4(0x1dc),_0x353ad4(0x1dd),_0x353ad4(0x1c7),'project']);!_0x403901[_0x353ad4(0x1d7)]?(console['error']('Failed\x20to\x20install\x20plugin:',_0x403901[_0x353ad4(0x1b5)]),console[_0x353ad4(0x1b9)]('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project')):console['log']('✓\x20Claude\x20Code\x20plugin\x20installed');}return!![];}export async function setupCi(_0xa86496,_0x50bc09,_0x3e9dca){const _0x513cb9=_0x3c84,_0x3b4dfc={'OeCSL':'\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','azaXB':'auth','afdSb':'dir_setup','AgGfl':function(_0xfabe01,_0x29c011){return _0xfabe01(_0x29c011);},'BBDXs':function(_0x273d53,_0x4846a4,_0x7ff8f8){return _0x273d53(_0x4846a4,_0x7ff8f8);},'KiOhT':'chromium','KGPLo':function(_0x4bc73a,_0x29678b){return _0x4bc73a(_0x29678b);},'HJfKo':'settings.json','fJTXv':function(_0x30d331,_0x29d783){return _0x30d331(_0x29d783);},'VvzGe':function(_0x3e3cfb,_0x23470d){return _0x3e3cfb(_0x23470d);},'zMrrR':'No\x20API\x20token\x20available\x20for\x20decryption','jbqiJ':function(_0x3d308c,_0x514fc3){return _0x3d308c(_0x514fc3);},'TLAkd':function(_0x39d801,_0x128701,_0x123c4a){return _0x39d801(_0x128701,_0x123c4a);},'eeElJ':_0x513cb9(0x1c1),'gwgJf':_0x513cb9(0x1b6),'WLqnW':function(_0x21d55b,_0x507ddd){return _0x21d55b(_0x507ddd);},'bSKmF':_0x513cb9(0x1b2),'PwILE':_0x513cb9(0x1cc),'CAcui':function(_0xca54a4,_0x45e86f){return _0xca54a4(_0x45e86f);},'BMGdj':'skills'};console[_0x513cb9(0x1b9)](_0x3b4dfc['OeCSL']),_0x3e9dca?.[_0x513cb9(0x1bf)](_0x3b4dfc[_0x513cb9(0x1d9)]),await authenticate(_0xa86496),_0x3e9dca?.[_0x513cb9(0x1ac)]('auth'),_0x3e9dca?.[_0x513cb9(0x1bf)](_0x3b4dfc[_0x513cb9(0x19e)]);const {path:_0x57afac,installed:_0x526b2d}=await ensureRangerDir();await writeRangerGitignore(_0x57afac);const _0x176b5d=join(_0x57afac,'sessions');!_0x3b4dfc[_0x513cb9(0x1a7)](existsSync,_0x176b5d)&&await _0x3b4dfc['BBDXs'](mkdir,_0x176b5d,{'recursive':!![]});_0x3e9dca?.['trackPhaseEnd'](_0x513cb9(0x1b1),{'installed':_0x526b2d}),_0x3e9dca?.['trackPhaseStart'](_0x3b4dfc[_0x513cb9(0x1c9)]);let _0xfd16d9=![];_0x50bc09?.['skipChromium']?console[_0x513cb9(0x1b9)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):_0xfd16d9=await ensureChromium();_0x3e9dca?.['trackPhaseEnd'](_0x3b4dfc[_0x513cb9(0x1c9)],{'installed':_0xfd16d9,'skipped':!!_0x50bc09?.['skipChromium']}),_0x3e9dca?.['trackPhaseStart']('profile_activate');const _0x7d5a1c=await _0x3b4dfc['KGPLo'](findCiProfile,_0x50bc09?.['profile']);let _0xfe5b67=![];_0x50bc09?.['baseUrl']&&(await mkdir(_0x7d5a1c['path'],{'recursive':!![]}),await saveSettings(_0x7d5a1c[_0x513cb9(0x1d0)],{'baseUrl':_0x50bc09['baseUrl'],'headless':!![]}),console['log']('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x50bc09[_0x513cb9(0x1c5)]),_0xfe5b67=!![]);const _0x3ee336=join(_0x7d5a1c['path'],_0x3b4dfc['HJfKo']);if(!_0x3b4dfc['fJTXv'](existsSync,_0x3ee336)&&!_0xfe5b67)throw new Error(_0x513cb9(0x1af)+_0x7d5a1c[_0x513cb9(0x1d0)]+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x522a4e=join(_0x7d5a1c['path'],_0x513cb9(0x1a4)),_0x47e727=join(_0x7d5a1c[_0x513cb9(0x1ae)],'auth.json.enc'),_0x165435=_0x3b4dfc[_0x513cb9(0x1a7)](existsSync,_0x522a4e),_0x3c64f5=_0x3b4dfc[_0x513cb9(0x1bd)](existsSync,_0x47e727);if(_0x3c64f5)try{const _0x4f57ee=await getToken();if(!_0x4f57ee)throw new Error(_0x3b4dfc[_0x513cb9(0x1a0)]);const _0x234277=await _0x3b4dfc[_0x513cb9(0x1cb)](readFile,_0x47e727);_0x3b4dfc['TLAkd'](decrypt,_0x234277,_0x4f57ee),console[_0x513cb9(0x1b9)](_0x3b4dfc[_0x513cb9(0x1a3)]);}catch(_0x246167){const _0x2fe794=_0x246167 instanceof Error?_0x246167[_0x513cb9(0x1d3)]:_0x3b4dfc[_0x513cb9(0x1b8)](String,_0x246167);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x7d5a1c[_0x513cb9(0x1d0)]+_0x513cb9(0x1bc)+_0x2fe794);}else _0x165435?console[_0x513cb9(0x1b9)](_0x3b4dfc[_0x513cb9(0x1ad)]):console[_0x513cb9(0x1b9)](_0x513cb9(0x1da));await _0x3b4dfc[_0x513cb9(0x1d4)](writeActiveProfileName,_0x7d5a1c[_0x513cb9(0x1d0)]),console[_0x513cb9(0x1b9)]('✓\x20Active\x20profile:\x20'+_0x7d5a1c['name']),_0x3e9dca?.['trackPhaseEnd'](_0x3b4dfc[_0x513cb9(0x1ce)],{'profileName':_0x7d5a1c['name'],'hasAuth':_0x165435,'hasEncryptedAuth':_0x3c64f5,'createdSettings':_0xfe5b67}),_0x3e9dca?.['trackPhaseStart'](_0x3b4dfc[_0x513cb9(0x1db)]);const _0x26442c=await installPluginNonInteractive();_0x3e9dca?.[_0x513cb9(0x1ac)](_0x3b4dfc[_0x513cb9(0x1db)],{'installed':_0x26442c}),_0x3e9dca?.[_0x513cb9(0x1bf)](_0x513cb9(0x1a6)),await _0x3b4dfc['CAcui'](skillup,{'autoInstall':_0x513cb9(0x1d1)}),_0x3e9dca?.['trackPhaseEnd'](_0x3b4dfc[_0x513cb9(0x1c6)]),console[_0x513cb9(0x1b9)](_0x513cb9(0x1cd));}
@@ -1 +1 @@
1
- (function(_0x55600a,_0x4518fa){const _0x6f188a=_0x4de8,_0x2c993d=_0x55600a();while(!![]){try{const _0x23016e=parseInt(_0x6f188a(0x184))/0x1*(parseInt(_0x6f188a(0x193))/0x2)+-parseInt(_0x6f188a(0x17a))/0x3+-parseInt(_0x6f188a(0x177))/0x4+-parseInt(_0x6f188a(0x179))/0x5+parseInt(_0x6f188a(0x19d))/0x6+-parseInt(_0x6f188a(0x1a0))/0x7*(-parseInt(_0x6f188a(0x196))/0x8)+parseInt(_0x6f188a(0x176))/0x9*(parseInt(_0x6f188a(0x175))/0xa);if(_0x23016e===_0x4518fa)break;else _0x2c993d['push'](_0x2c993d['shift']());}catch(_0x4e2e7f){_0x2c993d['push'](_0x2c993d['shift']());}}}(_0x191d,0xed040));function _0x191d(){const _0x416f0f=['message','This\x20project\x20only\x20(','\x0a📦\x20Installing\x20skills...\x0a','\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!','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','To\x20get\x20started:','stdin','2FzqTsr','orQIA','project','152mZdkiz','JhCGt','project-level','\x20\x202.\x20Run:\x20ranger\x20setup','\x20skill','warn','isTTY','11638578dYweGs','list','prompt','138929IwvhOO','/.opencode/skills/','171260nMJtka','954qgRwVo','7081988suJPkl','\x0a✅\x20Installed\x20','2945120MsaFbx','4108911oqyjOm','user','CybBF','user-level','log','\x20<your-api-token>','PdrFB','koXNE','jLTOe','stdout','567762mSJRxX','Where\x20should\x20skills\x20be\x20installed?','/.claude/skills/','\x20\x203.\x20Run:\x20ranger\x20skillup','HPRZo','JFgnl','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','opencode'];_0x191d=function(){return _0x416f0f;};return _0x191d();}import{basename}from'path';import _0x3434a7 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';function _0x4de8(_0x29446a,_0x1bba4a){_0x29446a=_0x29446a-0x174;const _0x191d3d=_0x191d();let _0x4de841=_0x191d3d[_0x29446a];return _0x4de841;}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x759b94={}){const _0x26668a=_0x4de8,_0x48db8f={'GFPHZ':function(_0x3b494b){return _0x3b494b();},'PdrFB':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','wycCd':function(_0xed8bc4,_0x339924){return _0xed8bc4===_0x339924;},'JFgnl':_0x26668a(0x18b),'cIJBE':'\x20--opencode','dkhdD':function(_0x6a394,_0xbaabae){return _0x6a394===_0xbaabae;},'pgxBn':'✓\x20Found\x20API\x20token','YxSSW':function(_0x145fc7){return _0x145fc7();},'iwcKr':function(_0x168632,_0x747b68){return _0x168632(_0x747b68);},'JhCGt':_0x26668a(0x17b),'TTBzb':_0x26668a(0x19e),'IPndp':'installLevel','TsAKV':_0x26668a(0x185),'koXNE':'project','CybBF':_0x26668a(0x18e),'HPRZo':function(_0x246f7c,_0xe505f,_0x3b70af){return _0x246f7c(_0xe505f,_0x3b70af);},'orQIA':'ranger','ZebfI':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','tcITk':function(_0xe7169e,_0x2a8b5f){return _0xe7169e instanceof _0x2a8b5f;},'GYUEa':function(_0x3206c1,_0x22f62d){return _0x3206c1>_0x22f62d;},'GtPyp':_0x26668a(0x198),'jLTOe':function(_0x59695d,_0x3db40f){return _0x59695d>_0x3db40f;},'aqBjW':'\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a'};console[_0x26668a(0x17e)](_0x26668a(0x190));const _0x4edbb8=_0x759b94['platform']??'claude',_0x220b63=await _0x48db8f['GFPHZ'](getToken);if(!_0x220b63){console['log']('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a'),console[_0x26668a(0x17e)](_0x26668a(0x191)),console['log'](_0x48db8f[_0x26668a(0x180)]),console['log'](_0x26668a(0x199)+(_0x48db8f['wycCd'](_0x4edbb8,_0x48db8f[_0x26668a(0x189)])?_0x48db8f['cIJBE']:'')+_0x26668a(0x17f)),console['log'](_0x26668a(0x187)+(_0x48db8f['dkhdD'](_0x4edbb8,_0x48db8f[_0x26668a(0x189)])?'\x20--opencode':'')+'\x0a');return;}console['log'](_0x48db8f['pgxBn']);const _0x2c185a=_0x48db8f['YxSSW'](getProjectRoot),_0x5bee0c=basename(_0x2c185a),_0x3f5ffa=_0x48db8f['dkhdD'](_0x4edbb8,_0x48db8f['JFgnl'])?_0x48db8f['iwcKr'](getOpencodeConfigDir,_0x48db8f[_0x26668a(0x197)])+'/skills/':_0x48db8f['YxSSW'](getClaudeConfigDir)+'/skills/',_0x2719a=_0x4edbb8===_0x48db8f[_0x26668a(0x189)]?_0x2c185a+_0x26668a(0x174):_0x2c185a+_0x26668a(0x186),_0x22f3a3=process[_0x26668a(0x192)]['isTTY']&&process[_0x26668a(0x183)][_0x26668a(0x19c)];let _0x682a78;if(_0x759b94['autoInstall'])_0x682a78=_0x759b94['autoInstall'];else{if(_0x22f3a3){const _0x26d24f=await _0x3434a7[_0x26668a(0x19f)]([{'type':_0x48db8f['TTBzb'],'name':_0x48db8f['IPndp'],'message':_0x48db8f['TsAKV'],'choices':[{'name':'All\x20projects\x20('+_0x3f5ffa+')','value':'user'},{'name':_0x26668a(0x18d)+_0x2719a+')','value':_0x26668a(0x195)}]}]);_0x682a78=_0x26d24f['installLevel'];}else _0x682a78=_0x48db8f[_0x26668a(0x181)],console[_0x26668a(0x17e)](_0x26668a(0x18a)+_0x2719a+')');}let _0x25f429=0x0;const _0x303629=getCurrentVersion();console['log'](_0x48db8f[_0x26668a(0x17c)]);try{const _0x439a78=await _0x48db8f[_0x26668a(0x188)](installSkill,_0x48db8f[_0x26668a(0x194)],{'cliVersion':_0x303629,'level':_0x682a78,'platform':_0x4edbb8});_0x439a78&&_0x25f429++;}catch(_0x3f3f13){console[_0x26668a(0x19b)](_0x48db8f['ZebfI'],_0x48db8f['tcITk'](_0x3f3f13,Error)?_0x3f3f13[_0x26668a(0x18c)]:_0x3f3f13);}if(_0x48db8f['GYUEa'](_0x25f429,0x0)){const _0xca707c=_0x48db8f['wycCd'](_0x682a78,_0x48db8f[_0x26668a(0x197)])?_0x26668a(0x17d):_0x48db8f['GtPyp'];console[_0x26668a(0x17e)](_0x26668a(0x178)+_0x25f429+'\x20'+_0xca707c+_0x26668a(0x19a)+(_0x48db8f[_0x26668a(0x182)](_0x25f429,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x759b94['suppressUsage']&&(console['log']('To\x20use:'),_0x4edbb8===_0x26668a(0x18b)?console[_0x26668a(0x17e)]('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console[_0x26668a(0x17e)](_0x26668a(0x18f)));}else console[_0x26668a(0x17e)](_0x48db8f['aqBjW']);}
1
+ (function(_0x2def90,_0x204f2b){const _0x2f16d5=_0x7f36,_0x25e3be=_0x2def90();while(!![]){try{const _0x230e23=parseInt(_0x2f16d5(0x88))/0x1+-parseInt(_0x2f16d5(0x83))/0x2+-parseInt(_0x2f16d5(0x87))/0x3*(parseInt(_0x2f16d5(0xa1))/0x4)+-parseInt(_0x2f16d5(0xa6))/0x5+-parseInt(_0x2f16d5(0x84))/0x6*(-parseInt(_0x2f16d5(0x98))/0x7)+-parseInt(_0x2f16d5(0x95))/0x8*(-parseInt(_0x2f16d5(0x91))/0x9)+parseInt(_0x2f16d5(0x97))/0xa;if(_0x230e23===_0x204f2b)break;else _0x25e3be['push'](_0x25e3be['shift']());}catch(_0x58f7f5){_0x25e3be['push'](_0x25e3be['shift']());}}}(_0xd17a,0xf0c31));import{basename}from'path';import _0x535f96 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';function _0xd17a(){const _0x36becd=['autoInstall','/skills/','\x0a📦\x20Installing\x20skills...\x0a','All\x20projects\x20(','VgOiX','18ZstLcu','installLevel','iwADX','XlMkt','1787064jOOUeD','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','14564780NjZbfX','16401UNoJnk','jtshY','fLuDn','vDBJL','prompt','user-level','MLrrQ','leWPf','isTTY','49884zsUgco','siPEA','/.claude/skills/','ZLsGa','\x0a✅\x20Installed\x20','6382860GFHDQI','list','log','JJRlx','opencode','\x20successfully!\x0a','✓\x20Found\x20API\x20token','project-level','DLmwt','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','nUQNB','2408954RMTQTY','1662cLPNUv','\x20\x203.\x20Run:\x20ranger\x20skillup','\x20--opencode','12kqQwSZ','964839PJgiDh','user','suppressUsage','eNvJq'];_0xd17a=function(){return _0x36becd;};return _0xd17a();}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';function _0x7f36(_0x24b289,_0x356735){_0x24b289=_0x24b289-0x7f;const _0xd17ab0=_0xd17a();let _0x7f3653=_0xd17ab0[_0x24b289];return _0x7f3653;}export async function skillup(_0x250cd0={}){const _0x4d6c50=_0x7f36,_0x2cc64c={'JJRlx':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','ZLsGa':'claude','nUQNB':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','GECZI':'To\x20get\x20started:','fLuDn':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','XlMkt':function(_0x2c9df8,_0x26aa65){return _0x2c9df8===_0x26aa65;},'zYDBF':'opencode','DLmwt':function(_0x243f13,_0x390c71){return _0x243f13===_0x390c71;},'leWPf':function(_0x32b733,_0x29349e){return _0x32b733(_0x29349e);},'xarvv':_0x4d6c50(0xa7),'VgOiX':'Where\x20should\x20skills\x20be\x20installed?','NZSOJ':function(_0x4c7d11,_0x3c9f0a,_0x1c017d){return _0x4c7d11(_0x3c9f0a,_0x1c017d);},'MLrrQ':'ranger','MGVXv':_0x4d6c50(0x96),'eNvJq':function(_0x289be7,_0x5703ed){return _0x289be7 instanceof _0x5703ed;},'aVcCj':function(_0x10f487,_0x56c9b7){return _0x10f487>_0x56c9b7;},'vDBJL':_0x4d6c50(0x9d),'siPEA':_0x4d6c50(0x7f),'OOCaA':'To\x20use:','jtshY':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','iwADX':'\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'};console['log'](_0x2cc64c[_0x4d6c50(0xa9)]);const _0x2ba633=_0x250cd0['platform']??_0x2cc64c[_0x4d6c50(0xa4)],_0x21d4a4=await getToken();if(!_0x21d4a4){console[_0x4d6c50(0xa8)](_0x2cc64c[_0x4d6c50(0x82)]),console[_0x4d6c50(0xa8)](_0x2cc64c['GECZI']),console[_0x4d6c50(0xa8)](_0x2cc64c[_0x4d6c50(0x9a)]),console[_0x4d6c50(0xa8)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x2cc64c['XlMkt'](_0x2ba633,_0x2cc64c['zYDBF'])?_0x4d6c50(0x86):'')+'\x20<your-api-token>'),console['log'](_0x4d6c50(0x85)+(_0x2cc64c[_0x4d6c50(0x80)](_0x2ba633,'opencode')?_0x4d6c50(0x86):'')+'\x0a');return;}console[_0x4d6c50(0xa8)](_0x4d6c50(0xac));const _0xcd782a=getProjectRoot(),_0x482a09=_0x2cc64c[_0x4d6c50(0x9f)](basename,_0xcd782a),_0x13517a=_0x2ba633===_0x2cc64c['zYDBF']?_0x2cc64c['leWPf'](getOpencodeConfigDir,'user')+'/skills/':getClaudeConfigDir()+_0x4d6c50(0x8d),_0x58f685=_0x2ba633===_0x2cc64c['zYDBF']?_0xcd782a+'/.opencode/skills/':_0xcd782a+_0x4d6c50(0xa3),_0x53633f=process['stdin']['isTTY']&&process['stdout'][_0x4d6c50(0xa0)];let _0xe6d20b;if(_0x250cd0['autoInstall'])_0xe6d20b=_0x250cd0[_0x4d6c50(0x8c)];else{if(_0x53633f){const _0x5634d7=await _0x535f96[_0x4d6c50(0x9c)]([{'type':_0x2cc64c['xarvv'],'name':'installLevel','message':_0x2cc64c[_0x4d6c50(0x90)],'choices':[{'name':_0x4d6c50(0x8f)+_0x13517a+')','value':_0x4d6c50(0x89)},{'name':'This\x20project\x20only\x20('+_0x58f685+')','value':'project'}]}]);_0xe6d20b=_0x5634d7[_0x4d6c50(0x92)];}else _0xe6d20b='project',console[_0x4d6c50(0xa8)](_0x4d6c50(0x81)+_0x58f685+')');}let _0x3998fa=0x0;const _0xc1a1c3=getCurrentVersion();console['log'](_0x4d6c50(0x8e));try{const _0x31c987=await _0x2cc64c['NZSOJ'](installSkill,_0x2cc64c[_0x4d6c50(0x9e)],{'cliVersion':_0xc1a1c3,'level':_0xe6d20b,'platform':_0x2ba633});_0x31c987&&_0x3998fa++;}catch(_0x2a5ee6){console['warn'](_0x2cc64c['MGVXv'],_0x2cc64c[_0x4d6c50(0x8b)](_0x2a5ee6,Error)?_0x2a5ee6['message']:_0x2a5ee6);}if(_0x2cc64c['aVcCj'](_0x3998fa,0x0)){const _0xf7fa01=_0xe6d20b===_0x4d6c50(0x89)?_0x2cc64c[_0x4d6c50(0x9b)]:_0x2cc64c[_0x4d6c50(0xa2)];console['log'](_0x4d6c50(0xa5)+_0x3998fa+'\x20'+_0xf7fa01+'\x20skill'+(_0x3998fa>0x1?'s':'')+_0x4d6c50(0xab)),!_0x250cd0[_0x4d6c50(0x8a)]&&(console['log'](_0x2cc64c['OOCaA']),_0x2cc64c[_0x4d6c50(0x94)](_0x2ba633,_0x4d6c50(0xaa))?console['log'](_0x2cc64c[_0x4d6c50(0x99)]):console['log'](_0x2cc64c[_0x4d6c50(0x93)]));}else console['log']('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
@@ -1 +1 @@
1
- const _0x3d8847=_0x3964;(function(_0xc4bd74,_0x4be60d){const _0x58ef41=_0x3964,_0x2a1871=_0xc4bd74();while(!![]){try{const _0x2a588=parseInt(_0x58ef41(0x1c1))/0x1+-parseInt(_0x58ef41(0x1ba))/0x2+-parseInt(_0x58ef41(0x1ff))/0x3*(parseInt(_0x58ef41(0x1eb))/0x4)+parseInt(_0x58ef41(0x212))/0x5+-parseInt(_0x58ef41(0x1db))/0x6+parseInt(_0x58ef41(0x1d9))/0x7*(-parseInt(_0x58ef41(0x1c5))/0x8)+parseInt(_0x58ef41(0x1bb))/0x9*(parseInt(_0x58ef41(0x1f4))/0xa);if(_0x2a588===_0x4be60d)break;else _0x2a1871['push'](_0x2a1871['shift']());}catch(_0x4d5ba7){_0x2a1871['push'](_0x2a1871['shift']());}}}(_0x1fa8,0x9cfbe));function _0x1fa8(){const _0x392d83=['You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','version','use\x20until\x20the\x20session\x20expires.\x0a','wantsProfile','vNDJx','228FxZLVr','\x1b[1m','skipChromium','CUipJ','playwright/package.json','...','profile','\x0a🚀\x20Ranger\x20Setup\x0a','message','320590lfArbo','CKuFN','chromium',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','hjhyk','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','skills','\x20install\x20chromium','32931QwYvGa','prompt','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','success','opencode','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','stdin','FabJW','provided_token','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','QshMG','kJUcT','\x20\x20npx\x20playwright@','cLNge','BMxvW','GITHUB_ENV','trackPhaseEnd','ranger\x20profile\x20add\x20local','zsrKj','783265qCRiYt','git_check','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','weQDf','platform','pKrUQ','1869640cTZLhE','918KBbcvX','user','log','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','PSCUW','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','126754geNplB','inherit','✓\x20Authenticated\x20to\x20','\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','4774424reqDqf','organizationName','wrwDD','Qhmhz','EvXis','ADxrv','dWjPn','KPcJm','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','confirm','KVYXq','You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','stdout','MBxYj','url','The\x20required\x20version\x20(','RALdc','isTTY','zBaEG','SpONt','14ZlAaCq','vtlhL','937824OPCPOv','✓\x20Local\x20profile\x20already\x20exists','trackPhaseStart','JlFlS','error','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0a⚠\x20Skipping\x20Chromium\x20installation.','sAINj','Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','local','status'];_0x1fa8=function(){return _0x392d83;};return _0x1fa8();}import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x203896 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,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';function _0x3964(_0x11e137,_0x10de83){_0x11e137=_0x11e137-0x1ba;const _0x1fa82a=_0x1fa8();let _0x3964b4=_0x1fa82a[_0x11e137];return _0x3964b4;}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),bold=_0x15ecea=>_0x3d8847(0x1ec)+_0x15ecea+'\x1b[0m';function getPlaywrightVersion(){const _0x4fe3e5=_0x3d8847,_0x1259a1={'lzkGJ':_0x4fe3e5(0x1ef),'FabJW':function(_0x12b54c,_0x436a84){return _0x12b54c(_0x436a84);}};try{const _0x3e0d8d=require['resolve'](_0x1259a1['lzkGJ']),_0x9ec973=_0x1259a1[_0x4fe3e5(0x206)](require,_0x3e0d8d);return _0x9ec973[_0x4fe3e5(0x1e7)];}catch{return null;}}function installChromiumBinary(_0x196cc6){const _0x299e3a={'ADxrv':function(_0xbec47e,_0x2ce441){return _0xbec47e(_0x2ce441);},'CUipJ':'playwright','IEmFP':'install','LDvDD':'error'};return new Promise((_0x245b61,_0x3f4e41)=>{const _0x4c9227=_0x3964,_0x192d24={'RALdc':function(_0x38d06d,_0x4eb913){const _0x318f54=_0x3964;return _0x299e3a[_0x318f54(0x1ca)](_0x38d06d,_0x4eb913);}},_0x319a17=_0x196cc6?['playwright@'+_0x196cc6,'install','chromium']:[_0x299e3a[_0x4c9227(0x1ee)],_0x299e3a['IEmFP'],_0x4c9227(0x1f6)],_0x1ca8bc=spawn('npx',_0x319a17,{'stdio':_0x4c9227(0x1c2),'shell':process[_0x4c9227(0x217)]==='win32'});_0x1ca8bc['on']('close',_0x58c725=>{const _0x293fff=_0x4c9227;_0x58c725===0x0?_0x245b61():_0x192d24[_0x293fff(0x1d5)](_0x3f4e41,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x58c725));}),_0x1ca8bc['on'](_0x299e3a['LDvDD'],_0x4a80bd=>{const _0x50ac70=_0x4c9227;_0x192d24[_0x50ac70(0x1d5)](_0x3f4e41,_0x4a80bd);});});}export async function authenticate(_0x51f433){const _0x40db14=_0x3d8847,_0x5e43d1={'aIkre':function(_0x3165d7){return _0x3165d7();},'bkaTj':'existing_token','ZbiKf':function(_0xfd5175,_0x51ef5f){return _0xfd5175 instanceof _0x51ef5f;},'xSkpm':function(_0x2fb162,_0x1bd29f){return _0x2fb162(_0x1bd29f);}};if(!_0x51f433){const _0x347daa=await _0x5e43d1['aIkre'](getToken);if(_0x347daa){const _0x278dc3=await getCurrentUser(_0x347daa);if(_0x278dc3[_0x40db14(0x202)])return console[_0x40db14(0x1bd)]('✓\x20Already\x20authenticated\x20to\x20'+_0x278dc3[_0x40db14(0x1bc)][_0x40db14(0x1c6)]),{'token':_0x347daa,'method':_0x5e43d1['bkaTj']};}try{_0x51f433=await runDeviceAuthFlow();}catch(_0x3e3cee){throw new Error('Authentication\x20failed:\x20'+(_0x5e43d1['ZbiKf'](_0x3e3cee,Error)?_0x3e3cee['message']:_0x3e3cee));}const _0x1511e9=await getCurrentUser(_0x51f433);if(!_0x1511e9[_0x40db14(0x202)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x1511e9[_0x40db14(0x1df)]);return console[_0x40db14(0x1bd)](_0x40db14(0x1c3)+_0x1511e9['user'][_0x40db14(0x1c6)]),{'token':_0x51f433,'method':'device_auth'};}console['log']('Validating\x20API\x20token...');const _0x55dda0=await getCurrentUser(_0x51f433);if(!_0x55dda0['success']){if(_0x55dda0[_0x40db14(0x1e5)])throw new Error('Authentication\x20failed:\x20'+_0x55dda0['error']+_0x40db14(0x1cd));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x55dda0[_0x40db14(0x1df)]+_0x40db14(0x215));}return console[_0x40db14(0x1bd)]('✓\x20Authenticated\x20to\x20'+_0x55dda0[_0x40db14(0x1bc)][_0x40db14(0x1c6)]),await _0x5e43d1['xSkpm'](storeToken,_0x51f433),console['log'](process['env'][_0x40db14(0x20e)]?'✓\x20Exported\x20credentials\x20for\x20CI':'✓\x20Stored\x20credentials\x20locally'),{'token':_0x51f433,'method':_0x40db14(0x207)};}export async function ensureRangerDir(){const _0x17ea92=_0x3d8847,_0x3a5f78={'EvXis':function(_0x141e68){return _0x141e68();},'HpQYP':function(_0x50e30b,_0x2d4162,_0x38fc50){return _0x50e30b(_0x2d4162,_0x38fc50);},'dWjPn':'.ranger','WGNYo':function(_0x4c7099,_0x370fd6,_0x3cbeaa){return _0x4c7099(_0x370fd6,_0x3cbeaa);},'dBfdS':'✓\x20Created\x20.ranger/\x20directory'},_0x4697ef=_0x3a5f78[_0x17ea92(0x1c9)](findGitRoot),_0x44a208=_0x4697ef?_0x3a5f78['HpQYP'](join,_0x4697ef,_0x3a5f78[_0x17ea92(0x1cb)]):getRangerDir();return!existsSync(_0x44a208)?(await _0x3a5f78['WGNYo'](mkdir,_0x44a208,{'recursive':!![]}),console[_0x17ea92(0x1bd)](_0x3a5f78['dBfdS']),{'path':_0x44a208,'installed':!![]}):(console['log']('✓\x20.ranger/\x20directory\x20already\x20exists'),{'path':_0x44a208,'installed':![]});}export async function ensureChromium(){const _0x4c3437=_0x3d8847,_0x289c7b={'vmAHw':function(_0x1fd2a7,_0x5df1b0){return _0x1fd2a7(_0x5df1b0);},'RfMUu':'✓\x20Playwright\x20Chromium\x20browser\x20found','SpONt':function(_0x38bbb6){return _0x38bbb6();},'JlFlS':'install','NrQbB':'The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','HVWdT':'\x0aInstalling\x20Chromium\x20browser...\x0a','gGqIX':_0x4c3437(0x1f9),'vwPST':_0x4c3437(0x204)};let _0x1ca680=![];try{const _0x75c3c7=chromium['executablePath']();_0x1ca680=_0x289c7b['vmAHw'](existsSync,_0x75c3c7);}catch{_0x1ca680=![];}if(_0x1ca680)return console[_0x4c3437(0x1bd)](_0x289c7b['RfMUu']),![];const _0x505196=_0x289c7b[_0x4c3437(0x1d8)](getPlaywrightVersion),_0x15a980=process[_0x4c3437(0x205)]['isTTY']&&process[_0x4c3437(0x1d1)][_0x4c3437(0x1d6)];let _0x206244=!![];if(_0x15a980){const {install:_0x11761f}=await _0x203896['prompt']([{'type':_0x4c3437(0x1ce),'name':_0x289c7b[_0x4c3437(0x1de)],'message':_0x505196?_0x4c3437(0x1d4)+_0x505196+_0x4c3437(0x1f7):_0x289c7b['NrQbB'],'default':!![]}]);_0x206244=_0x11761f;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium'+(_0x505196?'\x20'+_0x505196:'')+_0x4c3437(0x1f0));if(_0x206244){console['log'](_0x289c7b['HVWdT']);try{await installChromiumBinary(_0x505196),console[_0x4c3437(0x1bd)](_0x289c7b['gGqIX']);}catch(_0x22764a){console['error'](_0x289c7b['vwPST'],_0x22764a instanceof Error?_0x22764a['message']:_0x22764a),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),_0x505196?console[_0x4c3437(0x1bd)](_0x4c3437(0x20b)+_0x505196+'\x20install\x20chromium'):console['log']('\x20\x20npx\x20playwright\x20install\x20chromium');}}else console['log'](_0x4c3437(0x1e1)),console['log'](_0x4c3437(0x1e6)),_0x505196?console[_0x4c3437(0x1bd)]('\x20\x20npx\x20playwright@'+_0x505196+_0x4c3437(0x1fe)):console[_0x4c3437(0x1bd)]('\x20\x20npx\x20playwright\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x1c6725){const _0x40db52=_0x3d8847,_0x5c90b4={'weQDf':'.gitignore','pKrUQ':'✓\x20Created\x20.ranger/.gitignore'},_0x25aab8=join(_0x1c6725,_0x5c90b4[_0x40db52(0x216)]),_0x52d9c5=_0x40db52(0x1c4);await writeFile(_0x25aab8,_0x52d9c5),console['log'](_0x5c90b4[_0x40db52(0x218)]);}function printProfileSetupLaterInstructions(){const _0x5b6af7=_0x3d8847,_0x5f2cc4={'sAINj':function(_0x955c12,_0x15bc38){return _0x955c12(_0x15bc38);},'jUXbD':'ranger\x20profile\x20add\x20local','TmSak':_0x5b6af7(0x1fa)};console['log'](_0x5b6af7(0x1fc)),console[_0x5b6af7(0x1bd)]('\x20\x20'+_0x5f2cc4[_0x5b6af7(0x1e2)](bold,_0x5f2cc4['jUXbD'])),console[_0x5b6af7(0x1bd)](_0x5f2cc4['TmSak']);}async function ensureLocalEnv(_0x5ac247,_0x418aac){const _0x16fb08=_0x3d8847,_0x3df16b={'kFDqO':function(_0x24cab4,_0x6b4923,_0x432347){return _0x24cab4(_0x6b4923,_0x432347);},'PSCUW':_0x16fb08(0x1e4),'YIDMI':_0x16fb08(0x1dc),'cLNge':'\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','kJUcT':'to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','XrSYP':'auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','yuIpu':_0x16fb08(0x1e8),'Qhmhz':_0x16fb08(0x1e9),'KPcJm':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','KVYXq':function(_0x40a088,_0x2cf8ee,_0x2a7eae,_0x722d9b){return _0x40a088(_0x2cf8ee,_0x2a7eae,_0x722d9b);},'ZRXdF':'\x0a❌\x20Profile\x20setup\x20failed:','zVWnC':function(_0x4a8a9e,_0x59217c){return _0x4a8a9e instanceof _0x59217c;},'wrwDD':function(_0x5b0b72){return _0x5b0b72();}};if(!findGitRoot())return console[_0x16fb08(0x1bd)]('⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.'),{'ready':![],'skipped':!![]};if(_0x3df16b['kFDqO'](findExistingEnv,_0x16fb08(0x1e4),{'locations':[_0x3df16b[_0x16fb08(0x1bf)]]}))return console['log'](_0x3df16b['YIDMI']),{'ready':!![],'skipped':![]};const _0x27dbd0=process[_0x16fb08(0x205)]['isTTY']&&process['stdout']['isTTY'];if(_0x27dbd0&&!_0x5ac247?.['url']){console['log'](_0x3df16b[_0x16fb08(0x20c)]),console[_0x16fb08(0x1bd)](_0x3df16b[_0x16fb08(0x20a)]),console['log'](_0x3df16b['XrSYP']),console['log'](_0x3df16b['yuIpu']),console['log'](_0x16fb08(0x1d0));const {wantsProfile:_0x24c91b}=await _0x203896[_0x16fb08(0x200)]([{'type':_0x16fb08(0x1ce),'name':_0x3df16b[_0x16fb08(0x1c8)],'message':_0x3df16b[_0x16fb08(0x1cc)],'default':!![]}]);if(!_0x24c91b)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await _0x3df16b[_0x16fb08(0x1cf)](addEnv,_0x3df16b[_0x16fb08(0x1bf)],{'url':_0x5ac247?.[_0x16fb08(0x1d3)],'force':_0x5ac247?.['force']},_0x418aac),{'ready':!![],'skipped':![]};}catch(_0x1369c6){return console['error'](_0x3df16b['ZRXdF'],_0x3df16b['zVWnC'](_0x1369c6,Error)?_0x1369c6['message']:_0x1369c6),_0x3df16b[_0x16fb08(0x1c7)](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x33ccc3,_0x1c5a7d,_0x484ca7){const _0x4628fb=_0x3d8847,_0x30a2c={'hjhyk':_0x4628fb(0x1f2),'zsrKj':_0x4628fb(0x1bc),'SNwmy':'git_check','vtlhL':_0x4628fb(0x214),'QshMG':'auth','ZMjkz':'chromium','CGxzd':function(_0x239cc4,_0x5eda6e){return _0x239cc4(_0x5eda6e);},'boepf':_0x4628fb(0x1c0),'vNDJx':'plugin','MBxYj':function(_0x401517,_0x323439){return _0x401517(_0x323439);},'WXWRf':function(_0x3790ea,_0x33da42,_0x431c23){return _0x3790ea(_0x33da42,_0x431c23);},'DVLRZ':function(_0x2ea9f9){return _0x2ea9f9();},'OyMrr':_0x4628fb(0x203),'zBaEG':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','FeCUY':function(_0x35eb55,_0x1838c4){return _0x35eb55 instanceof _0x1838c4;},'CKuFN':_0x4628fb(0x210),'gvaIJ':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','RjVLD':function(_0xc21e0c,_0x352161){return _0xc21e0c(_0x352161);},'BMxvW':function(_0x2df28b,_0x25456e){return _0x2df28b+_0x25456e;}};console[_0x4628fb(0x1bd)](_0x30a2c[_0x4628fb(0x1f8)]);const _0x528694=process['stdin'][_0x4628fb(0x1d6)]&&process['stdout']['isTTY'];!_0x528694&&!_0x1c5a7d?.['scope']&&(console[_0x4628fb(0x1bd)](_0x4628fb(0x201)),_0x1c5a7d={..._0x1c5a7d,'scope':_0x30a2c[_0x4628fb(0x211)]});_0x484ca7?.['trackPhaseStart'](_0x4628fb(0x213));if(!findGitRoot()){await _0x484ca7?.['trackPhaseError'](_0x30a2c['SNwmy'],new Error('No\x20git\x20repository\x20found'));throw new Error(_0x30a2c[_0x4628fb(0x1da)]);}_0x484ca7?.['trackPhaseEnd']('git_check');const _0x45883f=!existsSync(getRangerDir()),{path:_0x54ad49}=await ensureRangerDir();_0x484ca7?.[_0x4628fb(0x1dd)](_0x30a2c[_0x4628fb(0x209)]);const _0x20a4eb=await authenticate(_0x33ccc3);_0x484ca7?.[_0x4628fb(0x20f)]('auth',{'isFirstRun':_0x45883f,'method':_0x20a4eb['method']}),_0x484ca7?.['trackPhaseStart']('chromium');_0x1c5a7d?.['skipChromium']?console[_0x4628fb(0x1bd)](_0x4628fb(0x208)):await ensureChromium();_0x484ca7?.['trackPhaseEnd'](_0x30a2c['ZMjkz'],{'isFirstRun':_0x45883f,'skipped':!!_0x1c5a7d?.[_0x4628fb(0x1ed)]}),await _0x30a2c['CGxzd'](writeRangerGitignore,_0x54ad49),console[_0x4628fb(0x1bd)](_0x30a2c['boepf']);const _0x524044=_0x1c5a7d?.['scope'],_0x354dd3=_0x1c5a7d?.['opencode']??![];let _0x309a7d=null;_0x354dd3?(_0x484ca7?.['trackPhaseStart'](_0x30a2c[_0x4628fb(0x1ea)]),_0x309a7d=await ensureOpencodePluginConfig(_0x524044),_0x484ca7?.[_0x4628fb(0x20f)](_0x30a2c['vNDJx'],{'isFirstRun':_0x45883f,'opencode':!![]})):(_0x484ca7?.['trackPhaseStart']('plugin'),await _0x30a2c[_0x4628fb(0x1d2)](ensureClaudePlugin,_0x524044),_0x484ca7?.[_0x4628fb(0x20f)](_0x30a2c[_0x4628fb(0x1ea)],{'isFirstRun':_0x45883f}));if(_0x354dd3&&_0x309a7d){_0x484ca7?.['trackPhaseStart']('skills');try{await _0x30a2c['WXWRf'](installSkill,'ranger',{'level':_0x309a7d['scope'],'cliVersion':_0x30a2c['DVLRZ'](getCurrentVersion),'platform':_0x30a2c['OyMrr']}),_0x484ca7?.['trackPhaseEnd']('skills',{'isFirstRun':_0x45883f,'opencode':!![]});}catch(_0xb9288c){console['warn'](_0x30a2c[_0x4628fb(0x1d7)],_0x30a2c['FeCUY'](_0xb9288c,Error)?_0xb9288c[_0x4628fb(0x1f3)]:_0xb9288c),_0x484ca7?.[_0x4628fb(0x20f)]('skills',{'isFirstRun':_0x45883f,'opencode':!![],'failed':!![]});}}else _0x484ca7?.['trackPhaseStart'](_0x4628fb(0x1fd)),await ensureClaudeSkills(_0x524044),_0x484ca7?.[_0x4628fb(0x20f)]('skills',{'isFirstRun':_0x45883f});if(!_0x528694&&!_0x1c5a7d?.[_0x4628fb(0x1d3)])console[_0x4628fb(0x1bd)](_0x4628fb(0x1e3)),console[_0x4628fb(0x1bd)]('\x20\x20'+_0x30a2c[_0x4628fb(0x1d2)](bold,_0x30a2c[_0x4628fb(0x1f5)])+'\x0a');else{_0x484ca7?.[_0x4628fb(0x1dd)](_0x4628fb(0x1f1));const _0x1cba2f=await ensureLocalEnv({'url':_0x1c5a7d?.['url'],'force':_0x1c5a7d?.['force']},_0x484ca7);_0x484ca7?.[_0x4628fb(0x20f)]('profile',{'isFirstRun':_0x45883f,'profileReady':_0x1cba2f['ready'],'userSkipped':_0x1cba2f['skipped']}),_0x1cba2f['ready']&&console[_0x4628fb(0x1bd)](_0x4628fb(0x1fb));}if(_0x354dd3)console[_0x4628fb(0x1bd)](_0x30a2c['gvaIJ']),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x4628fb(0x1bd)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0x4628fb(0x1bd)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x190dee=_0x30a2c['RjVLD'](bold,'/ranger:enable');console[_0x4628fb(0x1bd)](_0x30a2c[_0x4628fb(0x20d)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x190dee+'\x20and\x20prompt\x20the\x20coding',_0x4628fb(0x1be))+_0x4628fb(0x1e0)+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
1
+ const _0x71eea3=_0x5c1b;(function(_0x1f271b,_0x1120bc){const _0x58d69b=_0x5c1b,_0x35b9bb=_0x1f271b();while(!![]){try{const _0x281d35=parseInt(_0x58d69b(0x171))/0x1*(-parseInt(_0x58d69b(0x174))/0x2)+parseInt(_0x58d69b(0x168))/0x3+-parseInt(_0x58d69b(0x17a))/0x4*(parseInt(_0x58d69b(0x150))/0x5)+parseInt(_0x58d69b(0x165))/0x6+parseInt(_0x58d69b(0x16f))/0x7+-parseInt(_0x58d69b(0x13e))/0x8+parseInt(_0x58d69b(0x15d))/0x9*(parseInt(_0x58d69b(0x139))/0xa);if(_0x281d35===_0x1120bc)break;else _0x35b9bb['push'](_0x35b9bb['shift']());}catch(_0x1a9a7d){_0x35b9bb['push'](_0x35b9bb['shift']());}}}(_0x2ac9,0x37633));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x3e4f72 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,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';function _0x5c1b(_0x20c1d0,_0x2769b9){_0x20c1d0=_0x20c1d0-0x11c;const _0x2ac9bc=_0x2ac9();let _0x5c1bae=_0x2ac9bc[_0x20c1d0];return _0x5c1bae;}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),bold=_0x17fbea=>'\x1b[1m'+_0x17fbea+_0x71eea3(0x17b);function getPlaywrightVersion(){const _0xe40a73=_0x71eea3,_0x17a9ab={'iTkxq':_0xe40a73(0x126)};try{const _0x142e16=require[_0xe40a73(0x14a)](_0x17a9ab[_0xe40a73(0x11f)]),_0x321280=require(_0x142e16);return _0x321280['version'];}catch{return null;}}function installChromiumBinary(_0x4bc58f){const _0x5efc50=_0x71eea3,_0x219ddc={'cWIuT':'install','AxJJh':'chromium','tmlZI':function(_0x3547b7,_0x4ba746){return _0x3547b7===_0x4ba746;},'bEhfr':'win32','GMiUB':_0x5efc50(0x183)};return new Promise((_0x542ba3,_0x37d4f8)=>{const _0x4c99ef=_0x5efc50,_0x1faa2a={'cNfOs':function(_0x362e5d,_0x4b0cc6){return _0x362e5d(_0x4b0cc6);},'UcCvi':function(_0x2a53ac,_0x22b6fc){return _0x2a53ac(_0x22b6fc);}},_0x2a4600=_0x4bc58f?[_0x4c99ef(0x169)+_0x4bc58f,_0x219ddc[_0x4c99ef(0x14d)],_0x219ddc[_0x4c99ef(0x137)]]:['playwright',_0x219ddc[_0x4c99ef(0x14d)],_0x219ddc[_0x4c99ef(0x137)]],_0x51004a=spawn(_0x4c99ef(0x166),_0x2a4600,{'stdio':'inherit','shell':_0x219ddc['tmlZI'](process['platform'],_0x219ddc['bEhfr'])});_0x51004a['on']('close',_0x40b049=>{const _0x55c666=_0x4c99ef;_0x40b049===0x0?_0x542ba3():_0x1faa2a['cNfOs'](_0x37d4f8,new Error(_0x55c666(0x177)+_0x40b049));}),_0x51004a['on'](_0x219ddc['GMiUB'],_0x45393b=>{_0x1faa2a['UcCvi'](_0x37d4f8,_0x45393b);});});}function _0x2ac9(){const _0x118f41=['vZDsK','2672316WFYIyT','npx','aaSnt','1163625KeXesk','playwright@','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','prompt','✓\x20.ranger/\x20directory\x20already\x20exists','Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','ISxAH','2088877TOMsWU','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','3yEfzrk','\x20install\x20chromium','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','247414QNagWo','\x0aIn\x20Claude\x20Code,\x20run\x20','message','Installation\x20failed\x20with\x20exit\x20code\x20','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','PVBRO','3488onSFDx','\x1b[0m','fLXYA','GITHUB_ENV','trackPhaseStart','rTcpQ','confirm','nECJo','LuXeW','error','qgoSf','trackPhaseEnd','executablePath','user','QKVPu','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','organizationName','dgMNv','OlhjK','\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','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','iDeVd','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','provided_token','FeBEZ','iTkxq','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','opencode','local','newTk','stdout','scope','playwright/package.json','aDCRw','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','success','url','.gitignore','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','LnIeX','allowInsecureLocalhost','✓\x20Local\x20profile\x20already\x20exists','DkGNH','skills','log','\x20\x20npx\x20playwright@','uIgLC','iaKCv','AxJJh','You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','10lCEpNG','skipChromium','FsVDp','FQmAO','device_auth','2884952AvqFvF','✓\x20Created\x20.ranger/.gitignore','\x0a⚠\x20Skipping\x20Chromium\x20installation.','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','✓\x20Created\x20.ranger/\x20directory','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','\x20\x20npx\x20playwright\x20install\x20chromium','stdin','/ranger:enable','IdWAB','The\x20required\x20version\x20(','JVeLH','resolve','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','ready','cWIuT',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','\x0a🚀\x20Ranger\x20Setup\x0a','1515vGLbjq','cHkFg','plugin','✓\x20Exported\x20credentials\x20for\x20CI','method','trackPhaseError','tfAsj','auth','git_check','Authentication\x20failed:\x20','chromium','bIHUM','ranger\x20profile\x20add\x20local','820359neQRuG','✓\x20Authenticated\x20to\x20','isTTY','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','use\x20until\x20the\x20session\x20expires.\x0a','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.'];_0x2ac9=function(){return _0x118f41;};return _0x2ac9();}export async function authenticate(_0x2f1cd2){const _0x25e8b2=_0x71eea3,_0x38020c={'YBRkf':'existing_token','gjbED':function(_0x15cd64){return _0x15cd64();},'IdWAB':function(_0x594c97,_0x3776dc){return _0x594c97(_0x3776dc);},'syrMF':_0x25e8b2(0x13d),'Monfj':'Validating\x20API\x20token...','FeBEZ':_0x25e8b2(0x153),'aqHQv':'✓\x20Stored\x20credentials\x20locally'};if(!_0x2f1cd2){const _0x4405ad=await getToken();if(_0x4405ad){const _0x14995e=await getCurrentUser(_0x4405ad);if(_0x14995e[_0x25e8b2(0x12a)])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x14995e[_0x25e8b2(0x187)][_0x25e8b2(0x18a)]),{'token':_0x4405ad,'method':_0x38020c['YBRkf']};}try{_0x2f1cd2=await _0x38020c['gjbED'](runDeviceAuthFlow);}catch(_0x27f6e2){throw new Error(_0x25e8b2(0x159)+(_0x27f6e2 instanceof Error?_0x27f6e2['message']:_0x27f6e2));}const _0x3957f4=await _0x38020c[_0x25e8b2(0x147)](getCurrentUser,_0x2f1cd2);if(!_0x3957f4[_0x25e8b2(0x12a)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x3957f4[_0x25e8b2(0x183)]);return console[_0x25e8b2(0x133)]('✓\x20Authenticated\x20to\x20'+_0x3957f4['user'][_0x25e8b2(0x18a)]),{'token':_0x2f1cd2,'method':_0x38020c['syrMF']};}console[_0x25e8b2(0x133)](_0x38020c['Monfj']);const _0x331e21=await getCurrentUser(_0x2f1cd2);if(!_0x331e21['success']){if(_0x331e21['status'])throw new Error('Authentication\x20failed:\x20'+_0x331e21['error']+_0x25e8b2(0x120));else throw new Error(_0x25e8b2(0x189)+_0x331e21['error']+_0x25e8b2(0x12d));}return console['log'](_0x25e8b2(0x15e)+_0x331e21['user'][_0x25e8b2(0x18a)]),await _0x38020c['IdWAB'](storeToken,_0x2f1cd2),console[_0x25e8b2(0x133)](process['env'][_0x25e8b2(0x17d)]?_0x38020c[_0x25e8b2(0x11e)]:_0x38020c['aqHQv']),{'token':_0x2f1cd2,'method':_0x25e8b2(0x11d)};}export async function ensureRangerDir(){const _0xcfa878=_0x71eea3,_0x2acc22={'PVBRO':function(_0x181fab,_0x588885,_0x361160){return _0x181fab(_0x588885,_0x361160);},'fLXYA':'.ranger','LnIeX':function(_0x13f273){return _0x13f273();},'aaSnt':function(_0x1d4878,_0xe6fa3d){return _0x1d4878(_0xe6fa3d);}},_0x20c13b=findGitRoot(),_0x4ff820=_0x20c13b?_0x2acc22[_0xcfa878(0x179)](join,_0x20c13b,_0x2acc22[_0xcfa878(0x17c)]):_0x2acc22[_0xcfa878(0x12e)](getRangerDir);return!_0x2acc22[_0xcfa878(0x167)](existsSync,_0x4ff820)?(await mkdir(_0x4ff820,{'recursive':!![]}),console[_0xcfa878(0x133)](_0xcfa878(0x142)),{'path':_0x4ff820,'installed':!![]}):(console[_0xcfa878(0x133)](_0xcfa878(0x16c)),{'path':_0x4ff820,'installed':![]});}export async function ensureChromium(){const _0x3e8fb9=_0x71eea3,_0x9bbb0c={'vZDsK':'✓\x20Playwright\x20Chromium\x20browser\x20found','DkGNH':_0x3e8fb9(0x18e),'rTcpQ':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:'};let _0x83dd19=![];try{const _0x2f6556=chromium[_0x3e8fb9(0x186)]();_0x83dd19=existsSync(_0x2f6556);}catch{_0x83dd19=![];}if(_0x83dd19)return console['log'](_0x9bbb0c[_0x3e8fb9(0x164)]),![];const _0x416986=getPlaywrightVersion(),_0x50aee1=process['stdin']['isTTY']&&process[_0x3e8fb9(0x124)]['isTTY'];let _0x34080a=!![];if(_0x50aee1){const {install:_0x5ca53d}=await _0x3e4f72['prompt']([{'type':'confirm','name':'install','message':_0x416986?_0x3e8fb9(0x148)+_0x416986+_0x3e8fb9(0x14e):'The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x34080a=_0x5ca53d;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium'+(_0x416986?'\x20'+_0x416986:'')+'...');if(_0x34080a){console[_0x3e8fb9(0x133)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x416986),console['log'](_0x9bbb0c[_0x3e8fb9(0x131)]);}catch(_0x16ffe8){console['error'](_0x9bbb0c[_0x3e8fb9(0x17f)],_0x16ffe8 instanceof Error?_0x16ffe8[_0x3e8fb9(0x176)]:_0x16ffe8),console[_0x3e8fb9(0x133)]('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),_0x416986?console[_0x3e8fb9(0x133)]('\x20\x20npx\x20playwright@'+_0x416986+_0x3e8fb9(0x172)):console['log'](_0x3e8fb9(0x144));}}else console[_0x3e8fb9(0x133)](_0x3e8fb9(0x140)),console[_0x3e8fb9(0x133)](_0x3e8fb9(0x170)),_0x416986?console['log'](_0x3e8fb9(0x134)+_0x416986+_0x3e8fb9(0x172)):console[_0x3e8fb9(0x133)](_0x3e8fb9(0x144));return!![];}export async function writeRangerGitignore(_0x1841c5){const _0x4a37ea=_0x71eea3,_0x8f204f={'boVUQ':function(_0x20dbc5,_0x923d11,_0x3bc949){return _0x20dbc5(_0x923d11,_0x3bc949);}},_0x31a198=_0x8f204f['boVUQ'](join,_0x1841c5,_0x4a37ea(0x12c)),_0x53459a=_0x4a37ea(0x18d);await _0x8f204f['boVUQ'](writeFile,_0x31a198,_0x53459a),console[_0x4a37ea(0x133)](_0x4a37ea(0x13f));}function printProfileSetupLaterInstructions(){const _0x1e21e7=_0x71eea3,_0x2cb56d={'UVBAP':function(_0x374aaf,_0x4d6c28){return _0x374aaf(_0x4d6c28);},'LuXeW':'Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a'};console[_0x1e21e7(0x133)]('\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:'),console['log']('\x20\x20'+_0x2cb56d['UVBAP'](bold,_0x1e21e7(0x15c))),console['log'](_0x2cb56d[_0x1e21e7(0x182)]);}async function ensureLocalEnv(_0x52d278,_0xb69b23){const _0x4db52b=_0x71eea3,_0x1270e5={'BsKQa':function(_0x113683){return _0x113683();},'JVeLH':function(_0x3c50d0,_0x428947,_0x5a1e3c){return _0x3c50d0(_0x428947,_0x5a1e3c);},'bIHUM':'local','NBFvP':_0x4db52b(0x130),'nECJo':_0x4db52b(0x161),'vjDCK':_0x4db52b(0x128),'iaKCv':_0x4db52b(0x138),'blGXN':function(_0x540067){return _0x540067();},'QKVPu':function(_0x43db63,_0x2e8a88,_0x2ac49d,_0x128274){return _0x43db63(_0x2e8a88,_0x2ac49d,_0x128274);},'cqbRJ':function(_0xf7d10b,_0x13bb74){return _0xf7d10b instanceof _0x13bb74;}};if(!_0x1270e5['BsKQa'](findGitRoot))return console[_0x4db52b(0x133)]('⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.'),{'ready':![],'skipped':!![]};if(_0x1270e5[_0x4db52b(0x149)](findExistingEnv,_0x1270e5['bIHUM'],{'locations':[_0x1270e5[_0x4db52b(0x15b)]]}))return console[_0x4db52b(0x133)](_0x1270e5['NBFvP']),{'ready':!![],'skipped':![]};const _0xe23d8a=process['stdin'][_0x4db52b(0x15f)]&&process['stdout'][_0x4db52b(0x15f)];if(_0xe23d8a&&!_0x52d278?.[_0x4db52b(0x12b)]){console['log'](_0x1270e5[_0x4db52b(0x181)]),console['log']('to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind'),console[_0x4db52b(0x133)](_0x1270e5['vjDCK']),console['log'](_0x4db52b(0x162)),console[_0x4db52b(0x133)](_0x1270e5[_0x4db52b(0x136)]);const {wantsProfile:_0x17483d}=await _0x3e4f72[_0x4db52b(0x16b)]([{'type':_0x4db52b(0x180),'name':'wantsProfile','message':_0x4db52b(0x16d),'default':!![]}]);if(!_0x17483d)return _0x1270e5['blGXN'](printProfileSetupLaterInstructions),{'ready':![],'skipped':!![]};}try{return await _0x1270e5[_0x4db52b(0x188)](addEnv,_0x4db52b(0x122),{'url':_0x52d278?.['url'],'force':_0x52d278?.['force'],'allowInsecureLocalhost':_0x52d278?.[_0x4db52b(0x12f)]},_0xb69b23),{'ready':!![],'skipped':![]};}catch(_0x39088d){return console['error']('\x0a❌\x20Profile\x20setup\x20failed:',_0x1270e5['cqbRJ'](_0x39088d,Error)?_0x39088d['message']:_0x39088d),printProfileSetupLaterInstructions(),{'ready':![],'skipped':![]};}}export async function start(_0x1b493c,_0x1c8670,_0x3d5f12){const _0x54ae20=_0x71eea3,_0x3c5c78={'OlhjK':_0x54ae20(0x14f),'CudNy':_0x54ae20(0x163),'iDeVd':_0x54ae20(0x158),'aDCRw':function(_0x3a122d){return _0x3a122d();},'ISxAH':_0x54ae20(0x157),'dgMNv':function(_0x2d54fb,_0x28e411){return _0x2d54fb(_0x28e411);},'wZbJt':_0x54ae20(0x173),'VJOgq':_0x54ae20(0x15a),'uIgLC':_0x54ae20(0x11c),'newTk':'plugin','cHkFg':function(_0x53a82f,_0x855e12){return _0x53a82f&&_0x855e12;},'qgoSf':_0x54ae20(0x132),'gBTBt':function(_0x35e75f,_0x3ddd6e){return _0x35e75f instanceof _0x3ddd6e;},'mXvtt':function(_0x28bc41,_0x192b99){return _0x28bc41(_0x192b99);},'FsVDp':'ranger\x20profile\x20add\x20local','FQmAO':'profile','tfAsj':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','DwXnM':function(_0x7c479b,_0x503a07){return _0x7c479b+_0x503a07;}};console['log'](_0x3c5c78[_0x54ae20(0x18c)]);const _0x43d63d=process[_0x54ae20(0x145)][_0x54ae20(0x15f)]&&process[_0x54ae20(0x124)][_0x54ae20(0x15f)];!_0x43d63d&&!_0x1c8670?.['scope']&&(console[_0x54ae20(0x133)](_0x3c5c78['CudNy']),_0x1c8670={..._0x1c8670,'scope':'user'});_0x3d5f12?.[_0x54ae20(0x17e)](_0x3c5c78['iDeVd']);if(!findGitRoot()){await _0x3d5f12?.[_0x54ae20(0x155)](_0x54ae20(0x158),new Error('No\x20git\x20repository\x20found'));throw new Error(_0x54ae20(0x129));}_0x3d5f12?.[_0x54ae20(0x185)](_0x3c5c78[_0x54ae20(0x190)]);const _0x3eb581=!existsSync(_0x3c5c78['aDCRw'](getRangerDir)),{path:_0x5308d1}=await _0x3c5c78['aDCRw'](ensureRangerDir);_0x3d5f12?.[_0x54ae20(0x17e)](_0x3c5c78[_0x54ae20(0x16e)]);const _0x31cbd2=await _0x3c5c78[_0x54ae20(0x18b)](authenticate,_0x1b493c);_0x3d5f12?.['trackPhaseEnd']('auth',{'isFirstRun':_0x3eb581,'method':_0x31cbd2[_0x54ae20(0x154)]}),_0x3d5f12?.[_0x54ae20(0x17e)](_0x54ae20(0x15a));_0x1c8670?.['skipChromium']?console[_0x54ae20(0x133)](_0x3c5c78['wZbJt']):await ensureChromium();_0x3d5f12?.['trackPhaseEnd'](_0x3c5c78['VJOgq'],{'isFirstRun':_0x3eb581,'skipped':!!_0x1c8670?.[_0x54ae20(0x13a)]}),await writeRangerGitignore(_0x5308d1),console[_0x54ae20(0x133)](_0x3c5c78[_0x54ae20(0x135)]);const _0x289fb3=_0x1c8670?.[_0x54ae20(0x125)],_0x360fc7=_0x1c8670?.[_0x54ae20(0x121)]??![];let _0x2ce750=null;_0x360fc7?(_0x3d5f12?.['trackPhaseStart'](_0x3c5c78[_0x54ae20(0x123)]),_0x2ce750=await ensureOpencodePluginConfig(_0x289fb3),_0x3d5f12?.[_0x54ae20(0x185)]('plugin',{'isFirstRun':_0x3eb581,'opencode':!![]})):(_0x3d5f12?.[_0x54ae20(0x17e)](_0x3c5c78[_0x54ae20(0x123)]),await ensureClaudePlugin(_0x289fb3),_0x3d5f12?.[_0x54ae20(0x185)](_0x54ae20(0x152),{'isFirstRun':_0x3eb581}));if(_0x3c5c78[_0x54ae20(0x151)](_0x360fc7,_0x2ce750)){_0x3d5f12?.['trackPhaseStart']('skills');try{await installSkill('ranger',{'level':_0x2ce750['scope'],'cliVersion':_0x3c5c78[_0x54ae20(0x127)](getCurrentVersion),'platform':'opencode'}),_0x3d5f12?.['trackPhaseEnd'](_0x3c5c78[_0x54ae20(0x184)],{'isFirstRun':_0x3eb581,'opencode':!![]});}catch(_0x417984){console['warn'](_0x54ae20(0x160),_0x3c5c78['gBTBt'](_0x417984,Error)?_0x417984[_0x54ae20(0x176)]:_0x417984),_0x3d5f12?.[_0x54ae20(0x185)]('skills',{'isFirstRun':_0x3eb581,'opencode':!![],'failed':!![]});}}else _0x3d5f12?.[_0x54ae20(0x17e)](_0x3c5c78[_0x54ae20(0x184)]),await _0x3c5c78['dgMNv'](ensureClaudeSkills,_0x289fb3),_0x3d5f12?.['trackPhaseEnd'](_0x54ae20(0x132),{'isFirstRun':_0x3eb581});if(!_0x43d63d&&!_0x1c8670?.[_0x54ae20(0x12b)])console[_0x54ae20(0x133)]('Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:'),console[_0x54ae20(0x133)]('\x20\x20'+_0x3c5c78['mXvtt'](bold,_0x3c5c78[_0x54ae20(0x13b)])+'\x0a');else{_0x3d5f12?.[_0x54ae20(0x17e)](_0x3c5c78[_0x54ae20(0x13c)]);const _0x576d55=await ensureLocalEnv({'url':_0x1c8670?.['url'],'force':_0x1c8670?.['force'],'allowInsecureLocalhost':_0x1c8670?.[_0x54ae20(0x12f)]},_0x3d5f12);_0x3d5f12?.['trackPhaseEnd'](_0x3c5c78[_0x54ae20(0x13c)],{'isFirstRun':_0x3eb581,'profileReady':_0x576d55[_0x54ae20(0x14c)],'userSkipped':_0x576d55['skipped']}),_0x576d55[_0x54ae20(0x14c)]&&console['log'](_0x54ae20(0x143));}if(_0x360fc7)console[_0x54ae20(0x133)](_0x54ae20(0x16a)),console[_0x54ae20(0x133)](_0x3c5c78[_0x54ae20(0x156)]),console['log'](_0x54ae20(0x18f)),console['log'](_0x54ae20(0x141));else{const _0x2979d5=bold(_0x54ae20(0x146));console[_0x54ae20(0x133)](_0x3c5c78['DwXnM'](_0x3c5c78['DwXnM'](_0x54ae20(0x175)+_0x2979d5+'\x20and\x20prompt\x20the\x20coding','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with')+_0x54ae20(0x14b),_0x54ae20(0x178)));}}
@@ -1 +1 @@
1
- const _0x864f41=_0xd2ef;(function(_0x51f4ec,_0x2d9688){const _0x43f902=_0xd2ef,_0x2dd57b=_0x51f4ec();while(!![]){try{const _0x29ce51=parseInt(_0x43f902(0x105))/0x1*(-parseInt(_0x43f902(0x101))/0x2)+parseInt(_0x43f902(0xef))/0x3+parseInt(_0x43f902(0x117))/0x4+parseInt(_0x43f902(0xf5))/0x5*(parseInt(_0x43f902(0x111))/0x6)+-parseInt(_0x43f902(0xd5))/0x7*(parseInt(_0x43f902(0xdd))/0x8)+-parseInt(_0x43f902(0xc5))/0x9+parseInt(_0x43f902(0xc7))/0xa;if(_0x29ce51===_0x2d9688)break;else _0x2dd57b['push'](_0x2dd57b['shift']());}catch(_0x43c965){_0x2dd57b['push'](_0x2dd57b['shift']());}}}(_0x1b8b,0x22dba));import{readFile,readdir}from'fs/promises';function _0x1b8b(){const _0x5d6ac5=['filter','ranger@trailhead','encrypted','2BhCmlZ','\x20\x20\x20\x20Settings:\x20','map','name','207737ZJYQdm','configured','scope','\x20\x20\x20\x20Auth:\x20','ZmheL','API\x20URL:\x20','\x0a---\x20Profiles\x20---','(not\x20found)','settings.json','plugin','xdlYF','pNECd','1049358HTtiRa','kfYLD','NRWAk','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x20(up\x20to\x20date)','enabled','678328KMWqzD','GeRBj','wKlZr','unknown','stderr','parse','\x1b]8;;\x07','uRett','\x20\x20Run:\x20ranger\x20setup\x20--opencode','isArray','auth.json','\x20\x20\x20\x20','length','\x20\x20Not\x20installed','displayName','\x1b[1m','PdHYF','@ranger-testing/opencode-plugin','XzDrZ','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','not_installed','1420686GMdxFf','details','1187200lomnZN','No\x20skills\x20installed','includes','status','dHkdY','API\x20Token:\x20✗\x20Not\x20found','SbHZM','yZfaw','cnlpU','\x1b[0m','zxBBH','API\x20Environment:\x20','PLigX','some','811671tYnzVz','Ajwnd','match','mITLE','CzTFV','trim','Cjjbb','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','8fLFona','tRoSE','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','user','none','join','JlCBl','version','XXBvU','path','not_configured','SKILL.md','config','No\x20profiles\x20configured','log','opencode','fvnpZ','organizationName','483381IPHtGz','\x1b]8;;file://','env','\x20\x20Not\x20configured','settingsPath','Alpdw','5GZVXkd','data','\x20(latest:\x20','\x20(active)','toString','Version:\x20','kVboJ','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','all'];_0x1b8b=function(){return _0x5d6ac5;};return _0x1b8b();}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';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x57e58d=>_0x864f41(0xbf)+_0x57e58d+_0x864f41(0xd0),link=(_0x3382c7,_0x42c93b)=>_0x864f41(0xf0)+_0x3382c7+'\x07'+(_0x42c93b||_0x3382c7)+_0x864f41(0xb6);async function getOpencodePluginStatus(){const _0x1ebac8=_0x864f41,_0x4bb82b={'fdcoF':_0x1ebac8(0xc4),'WeeMu':_0x1ebac8(0x106),'yZfaw':function(_0x3e63b1,_0x210685,_0x34d485,_0x4cb07d){return _0x3e63b1(_0x210685,_0x34d485,_0x4cb07d);},'NRWAk':_0x1ebac8(0xec),'XsysX':'pipe','GeRBj':_0x1ebac8(0xf6),'pNECd':'close'};return new Promise(_0x361b1c=>{const _0x322688=_0x1ebac8,_0x2b3aa5={'BXlXb':_0x4bb82b['fdcoF'],'uRett':function(_0x29c466,_0x46af45){return _0x29c466(_0x46af45);},'FQWCZ':_0x4bb82b['WeeMu'],'aUjjY':'not_configured'},_0x486de7=_0x4bb82b[_0x322688(0xce)](spawn,_0x4bb82b[_0x322688(0x113)],['debug',_0x322688(0xe9)],{'stdio':['ignore',_0x4bb82b['XsysX'],_0x4bb82b['XsysX']]});let _0x50b2ab='';_0x486de7['stdout']?.['on'](_0x4bb82b['GeRBj'],_0x4246f9=>{const _0x524b0a=_0x322688;_0x50b2ab+=_0x4246f9[_0x524b0a(0xf9)]();}),_0x486de7[_0x322688(0x11b)]?.['on'](_0x4bb82b[_0x322688(0x118)],_0x365d16=>{const _0x127019=_0x322688;_0x50b2ab+=_0x365d16[_0x127019(0xf9)]();}),_0x486de7['on']('error',()=>{_0x361b1c({'status':'not_installed'});}),_0x486de7['on'](_0x4bb82b[_0x322688(0x110)],_0x805f4d=>{const _0x22a049=_0x322688,_0x1f3972={'iCAfP':function(_0x37f55d,_0x5d3467){return _0x37f55d!==_0x5d3467;}};if(_0x805f4d!==0x0){_0x361b1c({'status':_0x2b3aa5['BXlXb']});return;}const _0x3985ad=_0x50b2ab[_0x22a049(0xda)]();let _0x4ec07c=null;if(_0x3985ad)try{_0x4ec07c=JSON['parse'](_0x3985ad);}catch{const _0x39df90=_0x3985ad[_0x22a049(0xd7)](/\{[\s\S]*\}$/);if(_0x39df90)try{_0x4ec07c=JSON[_0x22a049(0x11c)](_0x39df90[0x0]);}catch{_0x4ec07c=null;}}const _0x5788f3=Array[_0x22a049(0xb9)](_0x4ec07c?.[_0x22a049(0x10e)])?_0x4ec07c?.[_0x22a049(0x10e)]:[],_0x145878=_0x5788f3[_0x22a049(0xd4)](_0x2ecca5=>{const _0x294ec5=_0x22a049;if(_0x1f3972['iCAfP'](typeof _0x2ecca5,'string'))return![];return _0x2ecca5['includes'](_0x294ec5(0xc1))||_0x2ecca5[_0x294ec5(0xc9)]('opencode-plugin');});if(_0x145878){_0x2b3aa5['uRett'](_0x361b1c,{'status':_0x2b3aa5['FQWCZ'],'details':_0x5788f3[_0x22a049(0xbc)]>0x0?_0x5788f3['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x5788f3['length']>0x0){_0x2b3aa5[_0x22a049(0xb7)](_0x361b1c,{'status':'not_configured','details':_0x5788f3['length']+'\x20plugin(s)\x20configured'});return;}_0x2b3aa5[_0x22a049(0xb7)](_0x361b1c,{'status':_0x2b3aa5['aUjjY']});});});}async function getSkillsFromDir(_0x5200e5,_0x40c888){const _0x189360=_0x864f41,_0x3ead6b={'cnlpU':function(_0x1b3f88,_0x5eed0d,_0x13a3bd){return _0x1b3f88(_0x5eed0d,_0x13a3bd);},'Ajwnd':function(_0xf6d8c3,_0x2b9cbf,_0x36528b,_0x146a98){return _0xf6d8c3(_0x2b9cbf,_0x36528b,_0x146a98);},'vVObB':_0x189360(0xe8),'fvnpZ':function(_0x183545,_0x138d69){return _0x183545(_0x138d69);},'BULax':'utf-8'};if(!existsSync(_0x5200e5))return[];const _0x174ada=[];try{const _0x47e0be=await _0x3ead6b[_0x189360(0xcf)](readdir,_0x5200e5,{'withFileTypes':!![]});for(const _0x1702a6 of _0x47e0be){if(_0x1702a6['isDirectory']()){const _0x2f6eec=_0x3ead6b[_0x189360(0xd6)](join,_0x5200e5,_0x1702a6[_0x189360(0x104)],_0x3ead6b['vVObB']);if(_0x3ead6b[_0x189360(0xed)](existsSync,_0x2f6eec)){let _0x5ca859=_0x1702a6[_0x189360(0x104)];try{const _0x405706=await _0x3ead6b[_0x189360(0xcf)](readFile,_0x2f6eec,_0x3ead6b['BULax']),_0x3e8578=_0x405706[_0x189360(0xd7)](/name:\s*(.+)/);_0x3e8578&&(_0x5ca859=_0x3e8578[0x1]['trim']());}catch{}_0x174ada['push']({'name':_0x1702a6[_0x189360(0x104)],'displayName':_0x5ca859,'path':_0x2f6eec,'level':_0x40c888});}}}}catch{return[];}return _0x174ada;}function _0xd2ef(_0x195ae2,_0x40405b){_0x195ae2=_0x195ae2-0xb6;const _0x1b8b35=_0x1b8b();let _0xd2efb7=_0x1b8b35[_0x195ae2];return _0xd2efb7;}async function getInstalledSkills(){const _0x5e4d5a=_0x864f41,_0x3c553a={'JmUHX':function(_0x466b82,_0x32cf6d,_0x4f5fb2){return _0x466b82(_0x32cf6d,_0x4f5fb2);},'PdHYF':function(_0x3cb3c5){return _0x3cb3c5();},'JbNCS':'project'},[_0x56cd66,_0x1e8e88]=await Promise[_0x5e4d5a(0xfd)]([_0x3c553a['JmUHX'](getSkillsFromDir,_0x3c553a[_0x5e4d5a(0xc0)](getProjectSkillsDir),_0x3c553a['JbNCS']),getSkillsFromDir(getUserSkillsDir(),_0x5e4d5a(0xe0))]);return{'project':_0x56cd66,'user':_0x1e8e88};}async function getEnvironments(){const _0x26d7c4=_0x864f41,_0x43ddb2={'tRoSE':function(_0x5d5319,_0x40f316,_0x27f300){return _0x5d5319(_0x40f316,_0x27f300);},'JlCBl':_0x26d7c4(0xba),'dHkdY':'auth.json.enc','OdaVy':function(_0x2d818e,_0x22d7a8){return _0x2d818e(_0x22d7a8);},'zxBBH':function(_0x46a752,_0x3cd70f){return _0x46a752(_0x3cd70f);},'ByXXv':function(_0x9fd108,_0x22d2da){return _0x9fd108===_0x22d2da;}},{envNames:_0x27d753,activeEnv:_0x519826}=await getEnvNames(),_0x2a9adc=getRangerDir();if(!_0x43ddb2[_0x26d7c4(0xd1)](existsSync,_0x2a9adc))return{'envs':[],'activeEnv':null};const _0x2fd23b=_0x27d753[_0x26d7c4(0x103)](_0x35d08e=>{const _0x2c07da=_0x26d7c4,_0xa54cad=getEnvDir(_0x35d08e),_0x5b6c2f=_0x43ddb2[_0x2c07da(0xde)](join,_0xa54cad,_0x2c07da(0x10d)),_0xc47d7b=join(_0xa54cad,_0x43ddb2[_0x2c07da(0xe3)]),_0x2b5d3b=join(_0xa54cad,_0x43ddb2[_0x2c07da(0xcb)]);return{'name':_0x35d08e,'settingsPath':_0x43ddb2['OdaVy'](existsSync,_0x5b6c2f)?_0x5b6c2f:'(not\x20found)','hasPlaintextAuth':_0x43ddb2['zxBBH'](existsSync,_0xc47d7b),'hasEncryptedAuth':existsSync(_0x2b5d3b),'isActive':_0x43ddb2['ByXXv'](_0x35d08e,_0x519826)};});return{'envs':_0x2fd23b,'activeEnv':_0x519826};}export async function status(){const _0x5920bc=_0x864f41,_0x537f36={'iGDqC':'\x0a📊\x20Ranger\x20Status\x0a','SbHZM':function(_0x22d882,_0x2d9e9f,_0x40b132){return _0x22d882(_0x2d9e9f,_0x40b132);},'wKlZr':function(_0x7568a5,_0x1b8479){return _0x7568a5(_0x1b8479);},'Cjjbb':function(_0x122a87,_0x4a1847){return _0x122a87(_0x4a1847);},'mITLE':function(_0x1e3f56){return _0x1e3f56();},'kVboJ':function(_0x587fe1,_0x5b9c87){return _0x587fe1===_0x5b9c87;},'PLigX':_0x5920bc(0xb8),'kfYLD':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','qMRbZ':_0x5920bc(0xff),'qNlaZ':_0x5920bc(0x11a),'ZmheL':_0x5920bc(0xbd),'CsCBe':_0x5920bc(0xfc),'lnRmh':'\x0a---\x20Skills\x20---','XXBvU':function(_0x272d43,_0x5d6163){return _0x272d43+_0x5d6163;},'CzTFV':function(_0x479fa7,_0x46756a){return _0x479fa7>_0x46756a;},'OtwNP':'\x20\x20Project-level:','hMqFd':function(_0x351d6d,_0x1ad13d,_0x54165a){return _0x351d6d(_0x1ad13d,_0x54165a);},'NBwES':function(_0x218f97,_0xfde96f){return _0x218f97(_0xfde96f);},'xdlYF':function(_0x390118,_0x8913b0){return _0x390118(_0x8913b0);},'XzDrZ':function(_0x2da7bc,_0x33b50d,_0x198a14){return _0x2da7bc(_0x33b50d,_0x198a14);},'Alpdw':_0x5920bc(0xf8),'FEAqV':'plaintext','XRXQd':_0x5920bc(0xe1)};console['log'](_0x537f36['iGDqC']);const _0x50afe6=process['cwd'](),_0xad5cf2=getRangerDir();if(!existsSync(_0xad5cf2)){console[_0x5920bc(0xeb)]('Root:\x20'+_0x537f36[_0x5920bc(0xcd)](link,_0x50afe6,_0x537f36['wKlZr'](bold,_0x537f36['wKlZr'](basename,_0x50afe6)))),console['log'](_0x5920bc(0xdf)),console['log'](_0x5920bc(0xdc));return;}console[_0x5920bc(0xeb)]('Root:\x20'+link(_0x50afe6,_0x537f36[_0x5920bc(0xdb)](bold,_0x537f36[_0x5920bc(0x119)](basename,_0x50afe6))));const _0x68b94b=getCurrentVersion(),_0xadde05=_0x537f36['mITLE'](getLatestVersion);if(_0xadde05[_0x5920bc(0xe4)]&&_0xadde05['version']!==_0x68b94b)console[_0x5920bc(0xeb)](_0x5920bc(0xfa)+_0x68b94b+_0x5920bc(0xf7)+_0xadde05[_0x5920bc(0xe4)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0xadde05['version']?console['log'](_0x5920bc(0xfa)+_0x68b94b+_0x5920bc(0x115)):console[_0x5920bc(0xeb)]('Version:\x20'+_0x68b94b);const _0x5d284b=await _0x537f36['mITLE'](getToken);if(_0x5d284b){const _0x120163=await getCurrentUser(_0x5d284b);_0x120163['success']?console['log']('Organization:\x20'+_0x537f36[_0x5920bc(0x119)](bold,_0x120163[_0x5920bc(0xe0)][_0x5920bc(0xee)])):(console[_0x5920bc(0xeb)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x5920bc(0xeb)](_0x5920bc(0x114)));}else console['log'](_0x5920bc(0xcc)),console[_0x5920bc(0xeb)](_0x5920bc(0x114));process[_0x5920bc(0xf1)]['DEBUG']&&(console['log'](_0x5920bc(0xd2)+getCurrentEnvironment()),console[_0x5920bc(0xeb)](_0x5920bc(0x10a)+getApiBaseUrl()));console[_0x5920bc(0xeb)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x4fae93=await _0x537f36[_0x5920bc(0xd8)](getOpencodePluginStatus);if(_0x537f36[_0x5920bc(0xfb)](_0x4fae93[_0x5920bc(0xca)],'configured'))console['log']('\x20\x20'+_0x537f36['Cjjbb'](bold,_0x5920bc(0xc1))+':\x20configured'),_0x4fae93[_0x5920bc(0xc6)]&&console['log']('\x20\x20'+_0x4fae93[_0x5920bc(0xc6)]);else _0x4fae93[_0x5920bc(0xca)]===_0x5920bc(0xe7)?(console['log'](_0x5920bc(0xf2)),_0x4fae93[_0x5920bc(0xc6)]&&console['log']('\x20\x20'+_0x4fae93[_0x5920bc(0xc6)]),console[_0x5920bc(0xeb)](_0x537f36[_0x5920bc(0xd3)])):console[_0x5920bc(0xeb)]('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console[_0x5920bc(0xeb)](_0x537f36[_0x5920bc(0x112)]);const _0x100738=await getPluginInfo(_0x537f36['qMRbZ']);if(_0x100738){const _0x3540e3=_0x100738[_0x5920bc(0x107)]||_0x537f36['qNlaZ'],_0x53f99a=_0x100738['enabled']?_0x5920bc(0x116):'disabled';console['log']('\x20\x20'+bold(_0x5920bc(0xff))+':\x20installed\x20('+_0x3540e3+',\x20'+_0x53f99a+')');}else console['log'](_0x537f36[_0x5920bc(0x109)]),console['log'](_0x537f36['CsCBe']);console[_0x5920bc(0xeb)](_0x537f36['lnRmh']);const {project:_0x2ac442,user:_0x3a3f6c}=await _0x537f36[_0x5920bc(0xd8)](getInstalledSkills),_0x355c8d=_0x2ac442['filter'](_0xe30940=>RANGER_MANAGED_SKILLS['includes'](_0xe30940[_0x5920bc(0x104)])),_0x4c505d=_0x3a3f6c[_0x5920bc(0xfe)](_0x304f2e=>RANGER_MANAGED_SKILLS['includes'](_0x304f2e['name'])),_0x80b1cb=_0x537f36[_0x5920bc(0xe5)](_0x355c8d[_0x5920bc(0xbc)],_0x4c505d['length']);if(_0x80b1cb===0x0)console[_0x5920bc(0xeb)](_0x5920bc(0xc8)),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x537f36[_0x5920bc(0xd9)](_0x355c8d['length'],0x0)){console['log'](_0x537f36['OtwNP']);for(const _0x55e774 of _0x355c8d){console['log'](_0x5920bc(0xbb)+bold(_0x55e774[_0x5920bc(0xbe)])+':\x20'+_0x537f36['hMqFd'](link,_0x55e774[_0x5920bc(0xe6)],_0x537f36['NBwES'](basename,_0x55e774['path'])));}}if(_0x4c505d['length']>0x0){console[_0x5920bc(0xeb)]('\x20\x20User-level:');for(const _0x3e9586 of _0x4c505d){console[_0x5920bc(0xeb)](_0x5920bc(0xbb)+_0x537f36[_0x5920bc(0x10f)](bold,_0x3e9586[_0x5920bc(0xbe)])+':\x20'+_0x537f36[_0x5920bc(0xc2)](link,_0x3e9586[_0x5920bc(0xe6)],basename(_0x3e9586[_0x5920bc(0xe6)])));}}}console['log'](_0x5920bc(0x10b));const {envs:_0x5cbec3,activeEnv:_0xfd9a3e}=await _0x537f36[_0x5920bc(0xd8)](getEnvironments);if(_0x5cbec3['length']===0x0)console[_0x5920bc(0xeb)](_0x5920bc(0xea)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x2f660a of _0x5cbec3){const _0x35baa3=_0x2f660a['isActive']?_0x537f36[_0x5920bc(0xf4)]:'',_0x46edc5=_0x2f660a['hasEncryptedAuth']?_0x5920bc(0x100):_0x2f660a['hasPlaintextAuth']?_0x537f36['FEAqV']:_0x537f36['XRXQd'];console[_0x5920bc(0xeb)]('\x20\x20'+bold(_0x2f660a[_0x5920bc(0x104)])+_0x35baa3),console['log'](_0x5920bc(0x108)+_0x46edc5),_0x2f660a[_0x5920bc(0xf3)]!==_0x5920bc(0x10c)&&console['log'](_0x5920bc(0x102)+_0x537f36['XzDrZ'](link,_0x2f660a[_0x5920bc(0xf3)],basename(_0x2f660a[_0x5920bc(0xf3)])));}!_0xfd9a3e&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log'](_0x5920bc(0xc3)+_0x5cbec3['map'](_0x1f2b48=>_0x1f2b48[_0x5920bc(0x104)])[_0x5920bc(0xe2)](',\x20')+')'));}console['log']('');}
1
+ const _0x89bb65=_0x3a17;(function(_0x3f211c,_0x5df3c3){const _0x459611=_0x3a17,_0x4a636e=_0x3f211c();while(!![]){try{const _0x1276c6=-parseInt(_0x459611(0x15f))/0x1+-parseInt(_0x459611(0x14c))/0x2+parseInt(_0x459611(0x179))/0x3*(parseInt(_0x459611(0x150))/0x4)+parseInt(_0x459611(0x16b))/0x5+-parseInt(_0x459611(0x135))/0x6+parseInt(_0x459611(0x149))/0x7+parseInt(_0x459611(0x178))/0x8;if(_0x1276c6===_0x5df3c3)break;else _0x4a636e['push'](_0x4a636e['shift']());}catch(_0x132103){_0x4a636e['push'](_0x4a636e['shift']());}}}(_0x93be,0x38aaa));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';function _0x3a17(_0x385023,_0x2e9faf){_0x385023=_0x385023-0x122;const _0x93bee1=_0x93be();let _0x3a1731=_0x93bee1[_0x385023];return _0x3a1731;}import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x184e84=>'\x1b[1m'+_0x184e84+_0x89bb65(0x16a),link=(_0x128977,_0x188aec)=>_0x89bb65(0x128)+_0x128977+'\x07'+(_0x188aec||_0x128977)+_0x89bb65(0x171);async function getOpencodePluginStatus(){const _0x5f72c=_0x89bb65,_0xfabce6={'lADME':'string','XeYLU':_0x5f72c(0x155),'tJCgw':function(_0x559850,_0x6c1678){return _0x559850>_0x6c1678;},'vVDXu':'not_configured','vzdMZ':function(_0x9527b,_0x5a27a6,_0x4dc01b,_0x2beb19){return _0x9527b(_0x5a27a6,_0x4dc01b,_0x2beb19);},'whWQL':_0x5f72c(0x184),'wJHwq':_0x5f72c(0x14d),'bupNr':'pipe','PILrW':'error','utJzL':'close'};return new Promise(_0x2bff08=>{const _0x2fa96d=_0x5f72c,_0x2510db={'TsIwO':_0xfabce6[_0x2fa96d(0x158)],'fmVzL':_0x2fa96d(0x12b),'SXdgR':function(_0x26f56b,_0x1c050d){return _0x26f56b(_0x1c050d);},'bFaYt':_0xfabce6[_0x2fa96d(0x14e)],'HOyGQ':function(_0x4408ba,_0x42413b){const _0x154859=_0x2fa96d;return _0xfabce6[_0x154859(0x14f)](_0x4408ba,_0x42413b);},'JbYKn':_0xfabce6[_0x2fa96d(0x139)]},_0x2ee941=_0xfabce6['vzdMZ'](spawn,_0xfabce6['whWQL'],['debug',_0x2fa96d(0x12c)],{'stdio':[_0xfabce6['wJHwq'],'pipe',_0xfabce6['bupNr']]});let _0x198b9c='';_0x2ee941[_0x2fa96d(0x17e)]?.['on'](_0x2fa96d(0x18c),_0x34ce47=>{_0x198b9c+=_0x34ce47['toString']();}),_0x2ee941['stderr']?.['on'](_0x2fa96d(0x18c),_0x1445b0=>{_0x198b9c+=_0x1445b0['toString']();}),_0x2ee941['on'](_0xfabce6[_0x2fa96d(0x176)],()=>{const _0x2ff804=_0x2fa96d;_0x2bff08({'status':_0x2ff804(0x172)});}),_0x2ee941['on'](_0xfabce6['utJzL'],_0x6e8c8f=>{const _0x575b49=_0x2fa96d;if(_0x6e8c8f!==0x0){_0x2510db['SXdgR'](_0x2bff08,{'status':'not_installed'});return;}const _0x10d6d3=_0x198b9c['trim']();let _0x4c8521=null;if(_0x10d6d3)try{_0x4c8521=JSON[_0x575b49(0x141)](_0x10d6d3);}catch{const _0xe666b1=_0x10d6d3[_0x575b49(0x12d)](/\{[\s\S]*\}$/);if(_0xe666b1)try{_0x4c8521=JSON['parse'](_0xe666b1[0x0]);}catch{_0x4c8521=null;}}const _0x4d2ffd=Array[_0x575b49(0x13f)](_0x4c8521?.[_0x575b49(0x16f)])?_0x4c8521?.[_0x575b49(0x16f)]:[],_0x2aed23=_0x4d2ffd[_0x575b49(0x169)](_0xd684b=>{const _0x5ba8e6=_0x575b49;if(typeof _0xd684b!==_0x2510db[_0x5ba8e6(0x144)])return![];return _0xd684b['includes'](_0x2510db[_0x5ba8e6(0x182)])||_0xd684b[_0x5ba8e6(0x136)]('opencode-plugin');});if(_0x2aed23){_0x2510db['SXdgR'](_0x2bff08,{'status':_0x2510db['bFaYt'],'details':_0x2510db[_0x575b49(0x156)](_0x4d2ffd[_0x575b49(0x162)],0x0)?_0x4d2ffd['length']+_0x575b49(0x146):undefined});return;}if(_0x2510db['HOyGQ'](_0x4d2ffd['length'],0x0)){_0x2bff08({'status':'not_configured','details':_0x4d2ffd['length']+_0x575b49(0x146)});return;}_0x2bff08({'status':_0x2510db['JbYKn']});});});}async function getSkillsFromDir(_0x5a5c87,_0x44ac23){const _0x12580a=_0x89bb65,_0x6103be={'wAIUq':_0x12580a(0x127)};if(!existsSync(_0x5a5c87))return[];const _0x1f4601=[];try{const _0xa283d=await readdir(_0x5a5c87,{'withFileTypes':!![]});for(const _0x3ccc9f of _0xa283d){if(_0x3ccc9f['isDirectory']()){const _0x2620f7=join(_0x5a5c87,_0x3ccc9f[_0x12580a(0x153)],_0x6103be['wAIUq']);if(existsSync(_0x2620f7)){let _0x257ff0=_0x3ccc9f['name'];try{const _0x4d8a7a=await readFile(_0x2620f7,'utf-8'),_0x280789=_0x4d8a7a[_0x12580a(0x12d)](/name:\s*(.+)/);_0x280789&&(_0x257ff0=_0x280789[0x1][_0x12580a(0x123)]());}catch{}_0x1f4601['push']({'name':_0x3ccc9f[_0x12580a(0x153)],'displayName':_0x257ff0,'path':_0x2620f7,'level':_0x44ac23});}}}}catch{return[];}return _0x1f4601;}async function getInstalledSkills(){const _0x206b31=_0x89bb65,_0x53b702={'qrLNj':function(_0x4d8dd0,_0x2e7010,_0x57a5c0){return _0x4d8dd0(_0x2e7010,_0x57a5c0);},'pMuVH':_0x206b31(0x145),'HEjGw':function(_0x31acb5){return _0x31acb5();},'TwONR':_0x206b31(0x14a)},[_0x56dd43,_0x2f588b]=await Promise[_0x206b31(0x13b)]([_0x53b702[_0x206b31(0x13e)](getSkillsFromDir,getProjectSkillsDir(),_0x53b702['pMuVH']),getSkillsFromDir(_0x53b702[_0x206b31(0x17a)](getUserSkillsDir),_0x53b702['TwONR'])]);return{'project':_0x56dd43,'user':_0x2f588b};}async function getEnvironments(){const _0xd015ef=_0x89bb65,_0x1fd587={'uOqcX':function(_0x592ee8,_0x5531c7){return _0x592ee8(_0x5531c7);},'ipEkx':function(_0x424888,_0x25aadf,_0x26bff8){return _0x424888(_0x25aadf,_0x26bff8);},'DsMTp':function(_0x511c33,_0x5bf721,_0x5165bf){return _0x511c33(_0x5bf721,_0x5165bf);},'nTzap':_0xd015ef(0x157),'oVOhA':_0xd015ef(0x126),'FDXuH':function(_0x19feb7,_0x3fe817){return _0x19feb7(_0x3fe817);},'HsWSL':function(_0x1dd98b,_0x2383b5){return _0x1dd98b===_0x2383b5;},'ejmaS':function(_0x2ee6ce){return _0x2ee6ce();}},{envNames:_0x39a2fd,activeEnv:_0x437a87}=await getEnvNames(),_0x29cfb9=_0x1fd587['ejmaS'](getRangerDir);if(!_0x1fd587[_0xd015ef(0x12e)](existsSync,_0x29cfb9))return{'envs':[],'activeEnv':null};const _0x13b536=_0x39a2fd[_0xd015ef(0x12f)](_0x313292=>{const _0x461915=_0xd015ef,_0x51be78=_0x1fd587[_0x461915(0x189)](getEnvDir,_0x313292),_0x5d5297=_0x1fd587['ipEkx'](join,_0x51be78,_0x461915(0x138)),_0x761c1=_0x1fd587[_0x461915(0x12a)](join,_0x51be78,_0x461915(0x186)),_0x5b540f=join(_0x51be78,_0x1fd587['nTzap']);return{'name':_0x313292,'settingsPath':existsSync(_0x5d5297)?_0x5d5297:_0x1fd587[_0x461915(0x175)],'hasPlaintextAuth':existsSync(_0x761c1),'hasEncryptedAuth':_0x1fd587['FDXuH'](existsSync,_0x5b540f),'isActive':_0x1fd587['HsWSL'](_0x313292,_0x437a87)};});return{'envs':_0x13b536,'activeEnv':_0x437a87};}export async function status(){const _0x3af6c=_0x89bb65,_0x4d4e2f={'viFYu':_0x3af6c(0x125),'ruVHv':function(_0xd25895){return _0xd25895();},'tCgFv':function(_0x522238,_0x5716c4,_0x223f84){return _0x522238(_0x5716c4,_0x223f84);},'mPpmt':function(_0x261767,_0x3196ef){return _0x261767(_0x3196ef);},'Cxtgt':function(_0x157fe9){return _0x157fe9();},'XhFFI':function(_0x1fdb94){return _0x1fdb94();},'IDWwA':function(_0x53fc5e,_0x3d3d58){return _0x53fc5e(_0x3d3d58);},'OEmxT':_0x3af6c(0x15a),'MztkX':function(_0x193b5f){return _0x193b5f();},'axxvG':_0x3af6c(0x12b),'Uwiqk':_0x3af6c(0x142),'cLCOH':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','sAqlD':_0x3af6c(0x15c),'RSQhD':_0x3af6c(0x185),'tfAcv':function(_0x1dc725,_0x165732){return _0x1dc725===_0x165732;},'iqVaL':_0x3af6c(0x17f),'oxzwL':function(_0x32979f,_0x15c23a){return _0x32979f(_0x15c23a);},'NAlNB':function(_0x2edc2d,_0x1a468f,_0x95211f){return _0x2edc2d(_0x1a468f,_0x95211f);},'EyOmT':'\x20\x20User-level:','SDWVz':_0x3af6c(0x17b),'oQBUE':'\x20(active)','WeOop':'plaintext','OqzNy':_0x3af6c(0x126),'ycSzq':function(_0x181942,_0x29a1f6,_0x3a340e){return _0x181942(_0x29a1f6,_0x3a340e);}};console[_0x3af6c(0x181)](_0x4d4e2f[_0x3af6c(0x188)]);const _0x56e6b9=process[_0x3af6c(0x165)](),_0x4e9301=_0x4d4e2f[_0x3af6c(0x16e)](getRangerDir);if(!existsSync(_0x4e9301)){console[_0x3af6c(0x181)](_0x3af6c(0x13a)+_0x4d4e2f[_0x3af6c(0x164)](link,_0x56e6b9,_0x4d4e2f['mPpmt'](bold,basename(_0x56e6b9)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x3af6c(0x181)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x3af6c(0x181)]('Root:\x20'+_0x4d4e2f['tCgFv'](link,_0x56e6b9,bold(basename(_0x56e6b9))));const _0x1f240a=_0x4d4e2f['Cxtgt'](getCurrentVersion),_0x833c8b=_0x4d4e2f['ruVHv'](getLatestVersion);if(_0x833c8b[_0x3af6c(0x15e)]&&_0x833c8b['version']!==_0x1f240a)console['log']('Version:\x20'+_0x1f240a+_0x3af6c(0x187)+_0x833c8b[_0x3af6c(0x15e)]+')'),console[_0x3af6c(0x181)]('\x20\x20Run:\x20ranger\x20update');else _0x833c8b[_0x3af6c(0x15e)]?console[_0x3af6c(0x181)](_0x3af6c(0x183)+_0x1f240a+'\x20(up\x20to\x20date)'):console['log']('Version:\x20'+_0x1f240a);const _0x23d90d=await _0x4d4e2f[_0x3af6c(0x143)](getToken);if(_0x23d90d){const _0xe84542=await getCurrentUser(_0x23d90d);_0xe84542['success']?console['log']('Organization:\x20'+_0x4d4e2f['IDWwA'](bold,_0xe84542['user'][_0x3af6c(0x170)])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x3af6c(0x181)](_0x3af6c(0x16d)));}else console['log'](_0x3af6c(0x151)),console['log'](_0x3af6c(0x16d));process['env']['DEBUG']&&(console[_0x3af6c(0x181)](_0x3af6c(0x161)+_0x4d4e2f[_0x3af6c(0x18a)](getCurrentEnvironment)),console['log'](_0x3af6c(0x140)+_0x4d4e2f[_0x3af6c(0x16e)](getApiBaseUrl)));console[_0x3af6c(0x181)](_0x4d4e2f[_0x3af6c(0x147)]);const _0x2283a5=await _0x4d4e2f[_0x3af6c(0x16c)](getOpencodePluginStatus);if(_0x2283a5['status']==='configured')console['log']('\x20\x20'+bold(_0x4d4e2f[_0x3af6c(0x168)])+':\x20configured'),_0x2283a5[_0x3af6c(0x154)]&&console['log']('\x20\x20'+_0x2283a5[_0x3af6c(0x154)]);else _0x2283a5['status']==='not_configured'?(console[_0x3af6c(0x181)]('\x20\x20Not\x20configured'),_0x2283a5['details']&&console['log']('\x20\x20'+_0x2283a5[_0x3af6c(0x154)]),console[_0x3af6c(0x181)](_0x4d4e2f[_0x3af6c(0x177)])):console['log'](_0x3af6c(0x163));console[_0x3af6c(0x181)](_0x4d4e2f['cLCOH']);const _0x1d2223=await getPluginInfo(_0x4d4e2f['sAqlD']);if(_0x1d2223){const _0x3fc05b=_0x1d2223[_0x3af6c(0x173)]||'unknown',_0x19c1cd=_0x1d2223[_0x3af6c(0x134)]?_0x3af6c(0x134):'disabled';console[_0x3af6c(0x181)]('\x20\x20'+bold(_0x4d4e2f['sAqlD'])+_0x3af6c(0x13c)+_0x3fc05b+',\x20'+_0x19c1cd+')');}else console['log']('\x20\x20Not\x20installed'),console[_0x3af6c(0x181)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console[_0x3af6c(0x181)](_0x4d4e2f['RSQhD']);const {project:_0x2b0151,user:_0xdf4812}=await getInstalledSkills(),_0x10eb0c=_0x2b0151[_0x3af6c(0x17d)](_0x5f550d=>RANGER_MANAGED_SKILLS[_0x3af6c(0x136)](_0x5f550d[_0x3af6c(0x153)])),_0x1159f0=_0xdf4812['filter'](_0x16174c=>RANGER_MANAGED_SKILLS[_0x3af6c(0x136)](_0x16174c['name'])),_0x4a854d=_0x10eb0c[_0x3af6c(0x162)]+_0x1159f0[_0x3af6c(0x162)];if(_0x4d4e2f['tfAcv'](_0x4a854d,0x0))console[_0x3af6c(0x181)](_0x4d4e2f[_0x3af6c(0x130)]),console[_0x3af6c(0x181)](_0x3af6c(0x15b));else{if(_0x10eb0c['length']>0x0){console['log'](_0x3af6c(0x160));for(const _0x5631b1 of _0x10eb0c){console['log']('\x20\x20\x20\x20'+_0x4d4e2f[_0x3af6c(0x166)](bold,_0x5631b1['displayName'])+':\x20'+_0x4d4e2f[_0x3af6c(0x18b)](link,_0x5631b1['path'],_0x4d4e2f['IDWwA'](basename,_0x5631b1['path'])));}}if(_0x1159f0[_0x3af6c(0x162)]>0x0){console['log'](_0x4d4e2f['EyOmT']);for(const _0x2d5e9c of _0x1159f0){console['log'](_0x3af6c(0x180)+bold(_0x2d5e9c[_0x3af6c(0x137)])+':\x20'+link(_0x2d5e9c[_0x3af6c(0x124)],basename(_0x2d5e9c['path'])));}}}console['log'](_0x4d4e2f[_0x3af6c(0x133)]);const {envs:_0x5d23aa,activeEnv:_0x59f59d}=await _0x4d4e2f[_0x3af6c(0x18a)](getEnvironments);if(_0x4d4e2f['tfAcv'](_0x5d23aa[_0x3af6c(0x162)],0x0))console['log']('No\x20profiles\x20configured'),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x55eb5d of _0x5d23aa){const _0x2476b6=_0x55eb5d[_0x3af6c(0x148)]?_0x4d4e2f['oQBUE']:'',_0x52e362=_0x55eb5d[_0x3af6c(0x167)]?_0x3af6c(0x132):_0x55eb5d[_0x3af6c(0x129)]?_0x4d4e2f[_0x3af6c(0x13d)]:_0x3af6c(0x15d);console['log']('\x20\x20'+_0x4d4e2f['mPpmt'](bold,_0x55eb5d[_0x3af6c(0x153)])+_0x2476b6),console[_0x3af6c(0x181)]('\x20\x20\x20\x20Auth:\x20'+_0x52e362),_0x55eb5d[_0x3af6c(0x131)]!==_0x4d4e2f[_0x3af6c(0x14b)]&&console['log'](_0x3af6c(0x122)+_0x4d4e2f[_0x3af6c(0x152)](link,_0x55eb5d['settingsPath'],_0x4d4e2f[_0x3af6c(0x174)](basename,_0x55eb5d[_0x3af6c(0x131)])));}!_0x59f59d&&(console[_0x3af6c(0x181)](_0x3af6c(0x159)),console[_0x3af6c(0x181)](_0x3af6c(0x17c)+_0x5d23aa[_0x3af6c(0x12f)](_0x3367eb=>_0x3367eb['name'])['join'](',\x20')+')'));}console[_0x3af6c(0x181)]('');}function _0x93be(){const _0x272757=['\x1b[0m','1781515LOZZKU','MztkX','\x20\x20Run:\x20ranger\x20setup\x20[token]','ruVHv','plugin','organizationName','\x1b]8;;\x07','not_installed','scope','mPpmt','oVOhA','PILrW','Uwiqk','2910000belmtL','2154xhQDgy','HEjGw','\x0a---\x20Profiles\x20---','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','filter','stdout','No\x20skills\x20installed','\x20\x20\x20\x20','log','fmVzL','Version:\x20','opencode','\x0a---\x20Skills\x20---','auth.json','\x20(latest:\x20','viFYu','uOqcX','Cxtgt','NAlNB','data','\x20\x20\x20\x20Settings:\x20','trim','path','\x0a📊\x20Ranger\x20Status\x0a','(not\x20found)','SKILL.md','\x1b]8;;file://','hasPlaintextAuth','DsMTp','@ranger-testing/opencode-plugin','config','match','FDXuH','map','iqVaL','settingsPath','encrypted','SDWVz','enabled','1617318JBtWFr','includes','displayName','settings.json','vVDXu','Root:\x20','all',':\x20installed\x20(','WeOop','qrLNj','isArray','API\x20URL:\x20','parse','\x20\x20Run:\x20ranger\x20setup\x20--opencode','XhFFI','TsIwO','project','\x20plugin(s)\x20configured','OEmxT','isActive','1696947BMPrIx','user','OqzNy','800120VgzOPq','ignore','XeYLU','tJCgw','412VAwiqR','API\x20Token:\x20✗\x20Not\x20found','ycSzq','name','details','configured','HOyGQ','auth.json.enc','lADME','\x0a\x20\x20No\x20active\x20profile\x20set','\x0a---\x20OpenCode\x20Plugin\x20---','\x20\x20Run:\x20ranger\x20skillup','ranger@trailhead','none','version','134709VpYJku','\x20\x20Project-level:','API\x20Environment:\x20','length','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','tCgFv','cwd','oxzwL','hasEncryptedAuth','axxvG','some'];_0x93be=function(){return _0x272757;};return _0x93be();}
@@ -1 +1 @@
1
- function _0xb726(_0x8c1f97,_0x2469f4){_0x8c1f97=_0x8c1f97-0xb2;const _0x3d9a0e=_0x3d9a();let _0xb72628=_0x3d9a0e[_0x8c1f97];return _0xb72628;}(function(_0x17d54e,_0x459836){const _0xb607df=_0xb726,_0x21004d=_0x17d54e();while(!![]){try{const _0xe3d24e=parseInt(_0xb607df(0xcd))/0x1*(-parseInt(_0xb607df(0xc3))/0x2)+-parseInt(_0xb607df(0xc1))/0x3*(-parseInt(_0xb607df(0xc9))/0x4)+parseInt(_0xb607df(0xbd))/0x5+parseInt(_0xb607df(0xeb))/0x6*(parseInt(_0xb607df(0xcf))/0x7)+parseInt(_0xb607df(0xd9))/0x8*(parseInt(_0xb607df(0xb2))/0x9)+-parseInt(_0xb607df(0xca))/0xa+parseInt(_0xb607df(0xee))/0xb*(-parseInt(_0xb607df(0xd6))/0xc);if(_0xe3d24e===_0x459836)break;else _0x21004d['push'](_0x21004d['shift']());}catch(_0xca043c){_0x21004d['push'](_0x21004d['shift']());}}}(_0x3d9a,0xb9e61));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{isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function runInstall(){const _0x1c9551={'bXaJq':function(_0x26fb08,_0x40aa86){return _0x26fb08(_0x40aa86);},'nDmMx':'close','IRjVM':'error'};return new Promise(_0x1e2262=>{const _0x114d06=_0xb726,_0x2be373={'REhhr':function(_0x45e2a5,_0x226327){return _0x1c9551['bXaJq'](_0x45e2a5,_0x226327);},'Mpbyl':function(_0x405225,_0x53b64f){return _0x405225===_0x53b64f;}};console[_0x114d06(0xe0)]('\x0aInstalling\x20'+PACKAGE_NAME+'@latest...\x0a');const _0x5e0666=spawn('npm',['install','-g',PACKAGE_NAME+'@latest'],{'stdio':_0x114d06(0xd4),'shell':process['platform']===_0x114d06(0xbe)});_0x5e0666['on'](_0x1c9551['nDmMx'],_0x16f32c=>{const _0x584750=_0x114d06;_0x2be373[_0x584750(0xdc)](_0x1e2262,_0x2be373['Mpbyl'](_0x16f32c,0x0));}),_0x5e0666['on'](_0x1c9551[_0x114d06(0xe7)],()=>{const _0x2b4d18=_0x114d06;_0x2be373[_0x2b4d18(0xdc)](_0x1e2262,![]);});});}async function updateClaudeMarketplace(){const _0x2b5fd5=_0xb726,_0x501001={'uHXNP':function(_0x4153b5,_0x1c041b,_0x550c0f,_0x3f3e9d){return _0x4153b5(_0x1c041b,_0x550c0f,_0x3f3e9d);},'uAKmP':'update','unBjd':function(_0x3513d0,_0x40557f){return _0x3513d0===_0x40557f;},'Dcqkk':'win32','OCZmv':_0x2b5fd5(0xf1)};return new Promise(_0x5cc9f9=>{const _0x5ea622=_0x2b5fd5,_0x18f539=_0x501001[_0x5ea622(0xda)](spawn,'claude',[_0x5ea622(0xf0),_0x5ea622(0xe9),_0x501001[_0x5ea622(0xc0)],_0x5ea622(0xef)],{'stdio':_0x5ea622(0xd3),'shell':_0x501001[_0x5ea622(0xc6)](process['platform'],_0x501001['Dcqkk'])});_0x18f539['on'](_0x501001[_0x5ea622(0xc5)],_0x44230f=>{_0x5cc9f9(_0x44230f===0x0);}),_0x18f539['on']('error',()=>{_0x5cc9f9(![]);});});}async function updateClaudePlugin(_0x18e0a5){const _0x41ded5=_0xb726,_0x402568={'jbrBI':function(_0x585df2,_0x33545a){return _0x585df2(_0x33545a);},'WeoZC':'plugin','zPhbV':'--scope','tEYJh':function(_0x2f1f75,_0x3c39a3){return _0x2f1f75===_0x3c39a3;},'ReFxg':_0x41ded5(0xbe),'EaOeF':'close','AkNil':_0x41ded5(0xd2)};return new Promise(_0x20afae=>{const _0x507dd1=_0x41ded5,_0x5c2504=[_0x402568[_0x507dd1(0xe4)],'update','ranger@trailhead'];_0x18e0a5&&_0x5c2504[_0x507dd1(0xb7)](_0x402568['zPhbV'],_0x18e0a5);const _0x433a21=spawn('claude',_0x5c2504,{'stdio':_0x507dd1(0xd3),'shell':_0x402568[_0x507dd1(0xd5)](process['platform'],_0x402568['ReFxg'])});_0x433a21['on'](_0x402568['EaOeF'],_0x44ffe9=>{_0x20afae(_0x44ffe9===0x0);}),_0x433a21['on'](_0x402568[_0x507dd1(0xb9)],()=>{const _0x4a7caa=_0x507dd1;_0x402568[_0x4a7caa(0xe2)](_0x20afae,![]);});});}function _0x3d9a(){const _0x5e3c93=['version','\x20\x20Failed\x20to\x20reinstall\x20','68qsMqTJ','10378850UCfuIK','utf-8','Update\x20failed.','3tsKuwZ','cOkWF','297423NgUFjp','project','Attempting\x20install\x20anyway...','error','pipe','inherit','tEYJh','2923932pSMADq','Update\x20failed:\x20','\x0aReinstalling\x20','304UudHXR','uHXNP','.gitignore','REhhr','cEgZf','splice','\x0aCould\x20not\x20check\x20latest\x20version:\x20','log','rRCUu','jbrBI','active-profile.txt','WeoZC','Claude\x20plugin\x20updated\x20(project\x20scope).','mbRTQ','IRjVM','warn','marketplace','findIndex','186hihJud','bqndd','dDFWj','55FvcVNW','trailhead','plugin','close','240489nFNDPv','opencode','oEBJB','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','ylTBk','push','cPSbS','AkNil','aDHoA','trim','claude','5056640uNpFSA','win32','\x0aSuccessfully\x20installed\x20latest\x20version.','uAKmP','62607Phapsk','uuqHC','454018BbjDQK','cMaXR','OCZmv','unBjd'];_0x3d9a=function(){return _0x5e3c93;};return _0x3d9a();}function isSkillInstalled(_0x39de85,_0x40c08a,_0x595352){const _0x147864=_0xb726,_0x4170fc={'AlESd':'opencode','HimdI':function(_0x3458cc,_0x1b26ce){return _0x3458cc(_0x1b26ce);},'mbRTQ':function(_0x59e203,_0x4bfc09){return _0x59e203(_0x4bfc09);}},_0x2a1a3a=_0x595352===_0x4170fc['AlESd']?_0x4170fc['HimdI'](getOpencodeSkillsDir,_0x40c08a):_0x4170fc['HimdI'](getSkillsDir,_0x40c08a),_0x284a0b=join(_0x2a1a3a,_0x39de85);return _0x4170fc[_0x147864(0xe6)](existsSync,_0x284a0b);}async function reinstallSkills(_0x1221b5){const _0x1b10f6=_0xb726,_0x491b61={'LUmZM':_0x1b10f6(0xbc),'ylTBk':_0x1b10f6(0xb3),'rVzvn':_0x1b10f6(0xb5),'rRCUu':function(_0x585ba6,_0x39d8e5,_0x385261){return _0x585ba6(_0x39d8e5,_0x385261);}},_0x4420a5=['project','user'],_0x35228c=[];for(const _0x41acf9 of _0x4420a5){for(const _0x1165cb of RANGER_MANAGED_SKILLS){isSkillInstalled(_0x1165cb,_0x41acf9,_0x491b61['LUmZM'])&&_0x35228c[_0x1b10f6(0xb7)]({'skillName':_0x1165cb,'level':_0x41acf9,'platform':_0x491b61['LUmZM']}),isSkillInstalled(_0x1165cb,_0x41acf9,_0x491b61[_0x1b10f6(0xb6)])&&_0x35228c[_0x1b10f6(0xb7)]({'skillName':_0x1165cb,'level':_0x41acf9,'platform':'opencode'});}}for(const _0x48b5e0 of _0x4420a5){for(const _0x2f9398 of DEPRECATED_SKILLS){await removeSkill(_0x2f9398,_0x48b5e0);}}if(_0x35228c['length']===0x0){console['log'](_0x491b61['rVzvn']);return;}console[_0x1b10f6(0xe0)](_0x1b10f6(0xd8)+_0x35228c['length']+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x2e75ae,level:_0xd62cd5,platform:_0x40c699}of _0x35228c){try{await _0x491b61[_0x1b10f6(0xe1)](installSkill,_0x2e75ae,{'level':_0xd62cd5,'cliVersion':_0x1221b5,'platform':_0x40c699});}catch(_0x49e6d3){console['warn'](_0x1b10f6(0xc8)+_0x40c699+'\x20'+_0xd62cd5+'\x20skill\x20'+_0x2e75ae+':',_0x49e6d3);}}}async function ensureActiveProfileGitignored(){const _0x5b3d95=_0xb726,_0x43f685={'cOkWF':function(_0x233f6f,_0x16ae32,_0x3fef19){return _0x233f6f(_0x16ae32,_0x3fef19);},'RbplD':function(_0x233db0){return _0x233db0();},'bqndd':function(_0x5abb03,_0x355991){return _0x5abb03(_0x355991);},'dDFWj':function(_0x2bf6ce,_0xf0424f,_0x4bf164){return _0x2bf6ce(_0xf0424f,_0x4bf164);},'VwfMQ':'active-profile.txt','qBxYX':function(_0x36fa67,_0x4325a0,_0xe05c1b,_0x2b8c7c){return _0x36fa67(_0x4325a0,_0xe05c1b,_0x2b8c7c);},'aDHoA':_0x5b3d95(0xcb)},_0x2b2d28=_0x43f685[_0x5b3d95(0xce)](join,_0x43f685['RbplD'](getRangerDir),_0x5b3d95(0xdb));if(!_0x43f685[_0x5b3d95(0xec)](existsSync,_0x2b2d28))return![];let _0x347775='';try{_0x347775=await _0x43f685[_0x5b3d95(0xed)](readFile,_0x2b2d28,_0x5b3d95(0xcb));}catch{return![];}const _0x15c97d=_0x347775['split'](/\r?\n/);if(_0x15c97d['some'](_0x56f497=>_0x56f497[_0x5b3d95(0xbb)]()===_0x5b3d95(0xe3)))return![];let _0xb915cd=_0x15c97d[_0x5b3d95(0xea)](_0x381d94=>_0x381d94[_0x5b3d95(0xbb)]()==='active-feature.txt');_0xb915cd===-0x1&&(_0xb915cd=_0x15c97d['length']);_0x15c97d[_0x5b3d95(0xde)](_0xb915cd,0x0,_0x43f685['VwfMQ']);let _0x320c59=_0x15c97d['join']('\x0a');!_0x320c59['endsWith']('\x0a')&&(_0x320c59+='\x0a');try{await _0x43f685['qBxYX'](writeFile,_0x2b2d28,_0x320c59,_0x43f685[_0x5b3d95(0xba)]);}catch{return![];}return!![];}export async function update(){const _0x11972b=_0xb726,_0x2062a9={'PdGPW':function(_0x58ca8d){return _0x58ca8d();},'uuqHC':'Checking\x20for\x20updates...','cMaXR':_0x11972b(0xbf),'TOYiA':'\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','RfHnO':function(_0x11ed8c,_0x1703ba){return _0x11ed8c<_0x1703ba;},'faesG':_0x11972b(0xcc),'JPhNe':function(_0x56245e,_0x15f7ae){return _0x56245e(_0x15f7ae);},'Odasv':'trailhead','SLvJR':function(_0x2d07cf,_0x3d05ba){return _0x2d07cf(_0x3d05ba);},'WALrS':'ranger@trailhead','oEBJB':'\x0aClaude\x20marketplace\x20updated\x20(trailhead).','cEgZf':function(_0xb79491){return _0xb79491();},'hXtqy':'✓\x20Migrated\x20active\x20profile\x20file','cPSbS':'\x0a✅\x20Update\x20complete!'},_0x2ac606=_0x2062a9['PdGPW'](getCurrentVersion);console[_0x11972b(0xe0)]('\x0aCurrent\x20version:\x20'+_0x2ac606),console[_0x11972b(0xe0)](_0x2062a9[_0x11972b(0xc2)]);const _0x2bf303=_0x2062a9['PdGPW'](getLatestVersion);let _0x5ea062=_0x2ac606;if(!_0x2bf303[_0x11972b(0xc7)]){console[_0x11972b(0xe8)](_0x11972b(0xdf)+_0x2bf303['error']),console[_0x11972b(0xe0)](_0x11972b(0xd1));const _0xeb0c2=await runInstall();if(_0xeb0c2)console[_0x11972b(0xe0)](_0x2062a9[_0x11972b(0xc4)]),_0x5ea062=getCurrentVersion();else throw new Error(_0x11972b(0xd7)+_0x2bf303['error']);}else{const _0x3342f3=_0x2bf303[_0x11972b(0xc7)];console['log']('Latest\x20version:\x20\x20'+_0x3342f3);const _0x4a85c9=compareVersions(_0x2ac606,_0x3342f3);if(_0x4a85c9===0x0)console[_0x11972b(0xe0)](_0x2062a9['TOYiA']);else{if(_0x2062a9['RfHnO'](_0x4a85c9,0x0))console['log']('\x0aYour\x20version\x20('+_0x2ac606+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0x3342f3+').');else{const _0x3ef328=await runInstall();if(_0x3ef328)console[_0x11972b(0xe0)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x3342f3),_0x5ea062=_0x3342f3;else throw new Error(_0x2062a9['faesG']);}}}await _0x2062a9['JPhNe'](reinstallSkills,_0x5ea062);const _0x523df1=await isMarketplaceAdded(_0x2062a9['Odasv']),_0xa34518=await _0x2062a9['SLvJR'](isPluginInstalled,_0x2062a9['WALrS']);if(_0x523df1){const _0x1148d9=await updateClaudeMarketplace();_0x1148d9&&console[_0x11972b(0xe0)](_0x2062a9[_0x11972b(0xb4)]);}if(_0xa34518){const _0x4a9aff=await _0x2062a9[_0x11972b(0xdd)](updateClaudePlugin);_0x4a9aff&&console[_0x11972b(0xe0)]('\x0aClaude\x20plugin\x20updated\x20(user\x20scope).');const _0x47a754=await updateClaudePlugin(_0x11972b(0xd0));_0x47a754&&console['log']((_0x4a9aff?'':'\x0a')+_0x11972b(0xe5));}const _0x9e8cca=await migrateActiveProfileFile();_0x9e8cca&&console[_0x11972b(0xe0)](_0x2062a9['hXtqy']);const _0x4aa58e=await ensureActiveProfileGitignored();console['log'](_0x2062a9[_0x11972b(0xb8)]);}
1
+ (function(_0x230f5a,_0x4615d3){const _0x33240e=_0x30ec,_0x6253f0=_0x230f5a();while(!![]){try{const _0x50f374=-parseInt(_0x33240e(0x17f))/0x1+parseInt(_0x33240e(0x195))/0x2*(-parseInt(_0x33240e(0x162))/0x3)+-parseInt(_0x33240e(0x19c))/0x4*(parseInt(_0x33240e(0x177))/0x5)+-parseInt(_0x33240e(0x170))/0x6*(parseInt(_0x33240e(0x19f))/0x7)+parseInt(_0x33240e(0x16f))/0x8+-parseInt(_0x33240e(0x1a4))/0x9+-parseInt(_0x33240e(0x16b))/0xa*(-parseInt(_0x33240e(0x17c))/0xb);if(_0x50f374===_0x4615d3)break;else _0x6253f0['push'](_0x6253f0['shift']());}catch(_0x3ad8db){_0x6253f0['push'](_0x6253f0['shift']());}}}(_0x56d0,0xcec71));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';function _0x30ec(_0x58fbc5,_0x28ce8e){_0x58fbc5=_0x58fbc5-0x159;const _0x56d0d2=_0x56d0();let _0x30ecc0=_0x56d0d2[_0x58fbc5];return _0x30ecc0;}import{getRangerDir}from'./utils/rangerRoot.js';import{isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function runInstall(){const _0x49bbf8=_0x30ec,_0xd1159b={'mLBmj':function(_0x1aa353,_0x146b0c,_0x2eea8c,_0x12f1a6){return _0x1aa353(_0x146b0c,_0x2eea8c,_0x12f1a6);},'TSGqV':_0x49bbf8(0x189),'PLXNV':_0x49bbf8(0x1a3),'sozDD':_0x49bbf8(0x176),'elyaO':_0x49bbf8(0x1a5)};return new Promise(_0x50885d=>{const _0x3a5765=_0x49bbf8,_0x312efd={'kzslV':function(_0x5540e9,_0x18a3e6){return _0x5540e9(_0x18a3e6);}};console['log']('\x0aInstalling\x20'+PACKAGE_NAME+'@latest...\x0a');const _0x5496ee=_0xd1159b[_0x3a5765(0x178)](spawn,_0xd1159b[_0x3a5765(0x190)],[_0x3a5765(0x186),'-g',PACKAGE_NAME+_0x3a5765(0x17e)],{'stdio':_0xd1159b[_0x3a5765(0x18b)],'shell':process[_0x3a5765(0x184)]===_0xd1159b['sozDD']});_0x5496ee['on'](_0xd1159b[_0x3a5765(0x15c)],_0x148bb0=>{_0x312efd['kzslV'](_0x50885d,_0x148bb0===0x0);}),_0x5496ee['on'](_0x3a5765(0x166),()=>{_0x50885d(![]);});});}async function updateClaudeMarketplace(){const _0x4c886d=_0x30ec,_0x4d1190={'FXmTe':function(_0x3b2e17,_0x566c73){return _0x3b2e17(_0x566c73);},'IusOp':function(_0xed3f08,_0xd8eb9e){return _0xed3f08===_0xd8eb9e;},'hjSwX':function(_0x240e7b,_0x464972,_0x5931c9,_0x41eae0){return _0x240e7b(_0x464972,_0x5931c9,_0x41eae0);},'vmlZY':'claude','yJrAn':_0x4c886d(0x199),'IcVGl':'trailhead','SoFZV':function(_0x3c6223,_0x1d5c01){return _0x3c6223===_0x1d5c01;},'qWBwB':_0x4c886d(0x176),'isyfJ':_0x4c886d(0x1a5),'ZJmBy':'error'};return new Promise(_0x338be1=>{const _0x51201c=_0x4c886d,_0x3ccaf9=_0x4d1190[_0x51201c(0x19a)](spawn,_0x4d1190[_0x51201c(0x167)],[_0x4d1190[_0x51201c(0x197)],'marketplace','update',_0x4d1190[_0x51201c(0x18f)]],{'stdio':'pipe','shell':_0x4d1190[_0x51201c(0x17d)](process['platform'],_0x4d1190[_0x51201c(0x1a7)])});_0x3ccaf9['on'](_0x4d1190[_0x51201c(0x196)],_0x3aa09c=>{const _0x518aaa=_0x51201c;_0x4d1190[_0x518aaa(0x192)](_0x338be1,_0x4d1190['IusOp'](_0x3aa09c,0x0));}),_0x3ccaf9['on'](_0x4d1190[_0x51201c(0x16d)],()=>{_0x338be1(![]);});});}async function updateClaudePlugin(_0x519538){const _0x57d258=_0x30ec,_0x5b288a={'FumtT':function(_0x164701,_0x7a4326){return _0x164701(_0x7a4326);},'HibFd':function(_0x11a1cf,_0x2058ce){return _0x11a1cf(_0x2058ce);},'XZTba':function(_0x1e3bb5,_0x34b759){return _0x1e3bb5===_0x34b759;},'BgyQR':_0x57d258(0x18e),'ovXxE':'ranger@trailhead','VoQVz':_0x57d258(0x175),'PIAoY':_0x57d258(0x176)};return new Promise(_0x400ab9=>{const _0xb4a3ac=_0x57d258,_0x4c7ca2={'cKFKe':function(_0x54c069,_0x15b9ad){return _0x5b288a['HibFd'](_0x54c069,_0x15b9ad);},'RWGIS':function(_0x4679f1,_0x25171c){return _0x5b288a['XZTba'](_0x4679f1,_0x25171c);}},_0x1051fa=[_0xb4a3ac(0x199),_0x5b288a[_0xb4a3ac(0x1a8)],_0x5b288a['ovXxE']];_0x519538&&_0x1051fa['push'](_0xb4a3ac(0x1a0),_0x519538);const _0xae53f1=spawn('claude',_0x1051fa,{'stdio':_0x5b288a[_0xb4a3ac(0x18d)],'shell':process[_0xb4a3ac(0x184)]===_0x5b288a[_0xb4a3ac(0x188)]});_0xae53f1['on']('close',_0x36fd7a=>{const _0xdf32b7=_0xb4a3ac;_0x4c7ca2[_0xdf32b7(0x161)](_0x400ab9,_0x4c7ca2['RWGIS'](_0x36fd7a,0x0));}),_0xae53f1['on'](_0xb4a3ac(0x166),()=>{_0x5b288a['FumtT'](_0x400ab9,![]);});});}function isSkillInstalled(_0x2d9806,_0x7bb984,_0x1df04e){const _0x5e412b=_0x30ec,_0x28cf8a={'FfYKO':function(_0x5d1ad9,_0x151730){return _0x5d1ad9(_0x151730);},'MkWfF':function(_0x4a1819,_0x2c4574){return _0x4a1819(_0x2c4574);}},_0x9ab32a=_0x1df04e==='opencode'?_0x28cf8a['FfYKO'](getOpencodeSkillsDir,_0x7bb984):_0x28cf8a[_0x5e412b(0x18c)](getSkillsDir,_0x7bb984),_0x32000c=join(_0x9ab32a,_0x2d9806);return existsSync(_0x32000c);}function _0x56d0(){const _0x1c0b16=['\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','PLXNV','MkWfF','VoQVz','update','IcVGl','TSGqV','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','FXmTe','ECqFP','Update\x20failed.','4hvBDUo','isyfJ','yJrAn','\x20\x20Failed\x20to\x20reinstall\x20','plugin','hjSwX','some','17796usbhxN','push','user','3542ahAyKr','--scope','findIndex','Paiuy','inherit','7967889DjFdeI','close','uDhzd','qWBwB','BgyQR','cwbkZ','DGdnn','aKaIa','claude','elyaO','utf-8','qdkVR','\x0aYour\x20version\x20(','Latest\x20version:\x20\x20','cKFKe','1452909KyQbpw','warn','Checking\x20for\x20updates...','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','error','vmlZY','vXsKt','version','active-profile.txt','10VUndDY','length','ZJmBy','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','12675808VjRvXg','15660qixFPv','log','\x0aCould\x20not\x20check\x20latest\x20version:\x20','project','JyiOp','pipe','win32','765gIDNpS','mLBmj','YOHnD','join','\x0aCurrent\x20version:\x20','37571919tsjzua','SoFZV','@latest','297860fVorRo','Update\x20failed:\x20','\x0aReinstalling\x20','trim','zQQYj','platform','\x20ranger-managed\x20skill(s)...','install',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','PIAoY','npm'];_0x56d0=function(){return _0x1c0b16;};return _0x56d0();}async function reinstallSkills(_0xdd0ee7){const _0x183e17=_0x30ec,_0x53ef61={'HavmW':_0x183e17(0x19e),'YOHnD':function(_0x4c9900,_0x3d46a8,_0x588ee9,_0x6e11bc){return _0x4c9900(_0x3d46a8,_0x588ee9,_0x6e11bc);},'uDhzd':_0x183e17(0x15b),'Paiuy':'opencode','oLlHP':function(_0x2c9d4f,_0x2c644d,_0x4dfb83){return _0x2c9d4f(_0x2c644d,_0x4dfb83);}},_0x884c94=['project',_0x53ef61['HavmW']],_0x279e46=[];for(const _0x5d5099 of _0x884c94){for(const _0x48757c of RANGER_MANAGED_SKILLS){_0x53ef61['YOHnD'](isSkillInstalled,_0x48757c,_0x5d5099,_0x53ef61['uDhzd'])&&_0x279e46['push']({'skillName':_0x48757c,'level':_0x5d5099,'platform':_0x53ef61[_0x183e17(0x1a6)]}),_0x53ef61[_0x183e17(0x179)](isSkillInstalled,_0x48757c,_0x5d5099,_0x53ef61[_0x183e17(0x1a2)])&&_0x279e46[_0x183e17(0x19d)]({'skillName':_0x48757c,'level':_0x5d5099,'platform':'opencode'});}}for(const _0x10f8e4 of _0x884c94){for(const _0x380347 of DEPRECATED_SKILLS){await removeSkill(_0x380347,_0x10f8e4);}}if(_0x279e46[_0x183e17(0x16c)]===0x0){console[_0x183e17(0x171)](_0x183e17(0x18a));return;}console[_0x183e17(0x171)](_0x183e17(0x181)+_0x279e46['length']+_0x183e17(0x185));for(const {skillName:_0x5c2559,level:_0x5cff1e,platform:_0x3aa09e}of _0x279e46){try{await _0x53ef61['oLlHP'](installSkill,_0x5c2559,{'level':_0x5cff1e,'cliVersion':_0xdd0ee7,'platform':_0x3aa09e});}catch(_0x1a324a){console[_0x183e17(0x163)](_0x183e17(0x198)+_0x3aa09e+'\x20'+_0x5cff1e+'\x20skill\x20'+_0x5c2559+':',_0x1a324a);}}}async function ensureActiveProfileGitignored(){const _0x4c6fcb=_0x30ec,_0x5b2567={'izwje':function(_0x176899){return _0x176899();},'aKaIa':'.gitignore','zQQYj':function(_0x2ead21,_0x477d55,_0xa870c6){return _0x2ead21(_0x477d55,_0xa870c6);},'ihqTs':'utf-8'},_0x34e92c=join(_0x5b2567['izwje'](getRangerDir),_0x5b2567[_0x4c6fcb(0x15a)]);if(!existsSync(_0x34e92c))return![];let _0x1729ea='';try{_0x1729ea=await _0x5b2567[_0x4c6fcb(0x183)](readFile,_0x34e92c,_0x4c6fcb(0x15d));}catch{return![];}const _0x1c51d8=_0x1729ea['split'](/\r?\n/);if(_0x1c51d8[_0x4c6fcb(0x19b)](_0x3d415f=>_0x3d415f[_0x4c6fcb(0x182)]()==='active-profile.txt'))return![];let _0x565415=_0x1c51d8[_0x4c6fcb(0x1a1)](_0x4e8644=>_0x4e8644['trim']()==='active-feature.txt');_0x565415===-0x1&&(_0x565415=_0x1c51d8['length']);_0x1c51d8['splice'](_0x565415,0x0,_0x4c6fcb(0x16a));let _0x4dc333=_0x1c51d8[_0x4c6fcb(0x17a)]('\x0a');!_0x4dc333['endsWith']('\x0a')&&(_0x4dc333+='\x0a');try{await writeFile(_0x34e92c,_0x4dc333,_0x5b2567['ihqTs']);}catch{return![];}return!![];}export async function update(){const _0x508f15=_0x30ec,_0x3ebd7d={'KKKUP':_0x508f15(0x164),'ECqFP':function(_0x5119dd){return _0x5119dd();},'qdkVR':function(_0x550691,_0xf109d8,_0x3d2f61){return _0x550691(_0xf109d8,_0x3d2f61);},'UYbOp':function(_0xe05be1,_0x437fe6){return _0xe05be1===_0x437fe6;},'ypIhw':_0x508f15(0x191),'cwbkZ':function(_0x11206a,_0xf29acf){return _0x11206a<_0xf29acf;},'JyiOp':function(_0x2fb3fd){return _0x2fb3fd();},'KkEGE':_0x508f15(0x194),'faZYx':_0x508f15(0x16e),'vJDkf':_0x508f15(0x173),'DGdnn':function(_0x32007d){return _0x32007d();},'vXsKt':'✓\x20Migrated\x20active\x20profile\x20file'},_0x2a53a3=getCurrentVersion();console[_0x508f15(0x171)](_0x508f15(0x17b)+_0x2a53a3),console[_0x508f15(0x171)](_0x3ebd7d['KKKUP']);const _0x340da2=getLatestVersion();let _0x1960c3=_0x2a53a3;if(!_0x340da2[_0x508f15(0x169)]){console[_0x508f15(0x163)](_0x508f15(0x172)+_0x340da2[_0x508f15(0x166)]),console[_0x508f15(0x171)]('Attempting\x20install\x20anyway...');const _0x5a5f3b=await _0x3ebd7d['ECqFP'](runInstall);if(_0x5a5f3b)console['log']('\x0aSuccessfully\x20installed\x20latest\x20version.'),_0x1960c3=_0x3ebd7d[_0x508f15(0x193)](getCurrentVersion);else throw new Error(_0x508f15(0x180)+_0x340da2['error']);}else{const _0xee07d9=_0x340da2[_0x508f15(0x169)];console[_0x508f15(0x171)](_0x508f15(0x160)+_0xee07d9);const _0x3dca11=_0x3ebd7d[_0x508f15(0x15e)](compareVersions,_0x2a53a3,_0xee07d9);if(_0x3ebd7d['UYbOp'](_0x3dca11,0x0))console[_0x508f15(0x171)](_0x3ebd7d['ypIhw']);else{if(_0x3ebd7d[_0x508f15(0x1a9)](_0x3dca11,0x0))console[_0x508f15(0x171)](_0x508f15(0x15f)+_0x2a53a3+_0x508f15(0x187)+_0xee07d9+').');else{const _0x482154=await _0x3ebd7d[_0x508f15(0x174)](runInstall);if(_0x482154)console['log']('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0xee07d9),_0x1960c3=_0xee07d9;else throw new Error(_0x3ebd7d['KkEGE']);}}}await reinstallSkills(_0x1960c3);const _0x33eb81=await isMarketplaceAdded('trailhead'),_0x1a7012=await isPluginInstalled('ranger@trailhead');if(_0x33eb81){const _0x1c680c=await _0x3ebd7d['JyiOp'](updateClaudeMarketplace);_0x1c680c&&console['log'](_0x508f15(0x165));}if(_0x1a7012){const _0x55cab9=await updateClaudePlugin();_0x55cab9&&console['log'](_0x3ebd7d['faZYx']);const _0x50ba73=await updateClaudePlugin(_0x3ebd7d['vJDkf']);_0x50ba73&&console[_0x508f15(0x171)]((_0x55cab9?'':'\x0a')+'Claude\x20plugin\x20updated\x20(project\x20scope).');}const _0x58d0cc=await _0x3ebd7d[_0x508f15(0x159)](migrateActiveProfileFile);_0x58d0cc&&console[_0x508f15(0x171)](_0x3ebd7d[_0x508f15(0x168)]);const _0x5ce147=await _0x3ebd7d['ECqFP'](ensureActiveProfileGitignored);console[_0x508f15(0x171)]('\x0a✅\x20Update\x20complete!');}