@ranger-testing/ranger-cli 2.2.0 → 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(_0x4e18d2,_0x537b09){const _0x422dea=_0x4390,_0x440ee3=_0x4e18d2();while(!![]){try{const _0x47207a=parseInt(_0x422dea(0x15c))/0x1+parseInt(_0x422dea(0x152))/0x2+-parseInt(_0x422dea(0x14f))/0x3+parseInt(_0x422dea(0x159))/0x4+parseInt(_0x422dea(0x15e))/0x5+parseInt(_0x422dea(0x160))/0x6+-parseInt(_0x422dea(0x15f))/0x7*(parseInt(_0x422dea(0x14a))/0x8);if(_0x47207a===_0x537b09)break;else _0x440ee3['push'](_0x440ee3['shift']());}catch(_0x271de6){_0x440ee3['push'](_0x440ee3['shift']());}}}(_0x90e6,0x74ee7));import{open}from'fs/promises';function _0x90e6(){const _0x166505=['stop_hook_active','string','input','1899657AAVJPK','success','log','764768umSSZy','min','stringify','featureId','read','hook:stop','\x20for\x20\x22','1272832cTMQcw','\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(',')\x20and\x20the\x20token\x20`','606488rDfaxu','includes','44165vFrCZP','59213cNmmcJ','1772028pmzMdt','size','sDKUZ',':\x0a\x0a','kiCrL','472fUvZel','bDCmo'];_0x90e6=function(){return _0x166505;};return _0x90e6();}import{getToken}from'../utils/keychain.js';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(_0x5bc1ce){const _0x289e8a=_0x4390,_0x2d5907={'bDCmo':function(_0xc29ce2,_0x194179){return _0xc29ce2(_0x194179);},'sYuIM':function(_0x5e914f,_0x3fa6bb){return _0x5e914f(_0x3fa6bb);},'sDKUZ':_0x289e8a(0x14d),'xzYvL':function(_0x206ba4,_0x43ff5c,_0x6ce086){return _0x206ba4(_0x43ff5c,_0x6ce086);},'cuCBV':function(_0x5493dd,_0x1926c7){return _0x5493dd&&_0x1926c7;},'VCyGf':function(_0x4c6708,_0x2c3ca3,_0x29e096,_0x4e1a22){return _0x4c6708(_0x2c3ca3,_0x29e096,_0x4e1a22);},'hTQIt':function(_0x7faeae,_0x2a8d96,_0x1f1949,_0x321d55){return _0x7faeae(_0x2a8d96,_0x1f1949,_0x321d55);}},_0x4f0b17=await _0x2d5907['bDCmo'](getEnabledHookContext,_0x5bc1ce),_0x3b9d3c=_0x4f0b17?.['sessionId']??null,_0x23ac1f=_0x2d5907['sYuIM'](Boolean,_0x4f0b17?.[_0x289e8a(0x14e)]?.[_0x289e8a(0x14c)]),_0x10085c=typeof _0x4f0b17?.['input']?.['transcript_path']===_0x2d5907[_0x289e8a(0x162)]?_0x4f0b17[_0x289e8a(0x14e)]['transcript_path']:null;let _0x528675=!![];if(!_0x3b9d3c){await trackStop(_0x3b9d3c,![],_0x528675);return;}try{const _0x2c745e=getSessionEntry(_0x3b9d3c);if(!_0x2c745e){await trackStop(_0x3b9d3c,!![],_0x528675);return;}const _0xd65a95='https://dashboard.ranger.net/features/'+_0x2c745e['featureId'],_0x214def='RANGER_SKIP_VERIFICATION',_0x8ce4ce=await getToken(),_0x515956=!_0x23ac1f;let _0x2b57d5=null,_0x4658fe=null;const _0x59fb7d=_0x23ac1f&&await transcriptHasToken(_0x10085c,_0x214def),_0x4e75cd=await _0x2d5907['xzYvL'](transcriptHasToken,_0x10085c,_0xd65a95);if(_0x8ce4ce)try{const _0x50474a=await _0x2d5907[_0x289e8a(0x14b)](getFeature,_0x2c745e['featureId']);_0x2b57d5=_0x50474a['name']??null,_0x4658fe=_0x50474a['currentSessionId']??null;}catch{}if(_0x2d5907['cuCBV'](_0x8ce4ce,_0x4658fe))try{await _0x2d5907['xzYvL'](concludeSession,_0x2c745e[_0x289e8a(0x155)],_0x4658fe);}catch(_0x881060){if(_0x59fb7d){await _0x2d5907['VCyGf'](trackStop,_0x3b9d3c,!![],_0x528675);return;}_0x528675=![];const _0x19aa98=_0x881060 instanceof Error?_0x881060['message']:String(_0x881060),_0x4e3d18={'decision':'block','reason':'Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session'+(_0x2b57d5?_0x289e8a(0x158)+_0x2b57d5+'\x22':'')+_0x289e8a(0x163)+_0x19aa98+_0x289e8a(0x15a)+_0xd65a95+_0x289e8a(0x15b)+_0x214def+'`,\x20then\x20run\x20/exit\x20again.'};console[_0x289e8a(0x151)](JSON[_0x289e8a(0x154)](_0x4e3d18)),await trackStop(_0x3b9d3c,!![],_0x528675);return;}await _0x2d5907['hTQIt'](trackStop,_0x3b9d3c,!![],_0x528675);return;}catch{await trackStop(_0x3b9d3c,!![],_0x528675);return;}}function _0x4390(_0x2c9a03,_0x1df461){_0x2c9a03=_0x2c9a03-0x149;const _0x90e605=_0x90e6();let _0x439021=_0x90e605[_0x2c9a03];return _0x439021;}async function trackStop(_0x1f894c,_0x6750da,_0x215506){const _0x5e23a0=_0x4390,_0x868d75={'UjckC':function(_0x3527cb,_0x5650e8){return _0x3527cb(_0x5650e8);},'JYwsa':function(_0x4e3670,_0x513181){return _0x4e3670??_0x513181;}};try{const _0x1f8439=_0x868d75['UjckC'](createTelemetryCollector,_0x5e23a0(0x157));await _0x1f8439['trackCommandStart']({'sessionId':_0x868d75['JYwsa'](_0x1f894c,undefined),'hooksEnabled':_0x6750da,'stopAllowed':_0x215506}),await _0x1f8439['trackCommandEnd'](_0x5e23a0(0x150));}catch{}}async function transcriptHasToken(_0x1bf547,_0x49ee17){const _0x22141b=_0x4390;if(!_0x1bf547)return![];const _0x20e256=await readTranscriptTail(_0x1bf547,0x30d40);return _0x20e256?_0x20e256[_0x22141b(0x15d)](_0x49ee17):![];}async function readTranscriptTail(_0x430f4c,_0x32c7fd){const _0xb69349=_0x4390,_0x4af476={'NQRKx':function(_0x573731,_0x3dd44c){return _0x573731-_0x3dd44c;},'kiCrL':'utf8'};let _0x271b22=null;try{_0x271b22=await open(_0x430f4c,'r');const _0x13deba=await _0x271b22['stat'](),_0x177a85=Math[_0xb69349(0x153)](_0x13deba['size'],_0x32c7fd);if(_0x177a85<=0x0)return'';const _0x21e353=Buffer['alloc'](_0x177a85);return await _0x271b22[_0xb69349(0x156)](_0x21e353,0x0,_0x177a85,_0x4af476['NQRKx'](_0x13deba[_0xb69349(0x161)],_0x177a85)),_0x21e353['toString'](_0x4af476[_0xb69349(0x149)]);}catch{return null;}finally{try{await _0x271b22?.['close']();}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 _0xb0df(_0x1f2841,_0x20d056){_0x1f2841=_0x1f2841-0x1b2;var _0x3559a0=_0x3559();var _0xb0df52=_0x3559a0[_0x1f2841];return _0xb0df52;}(function(_0x28f54b,_0x23f9ed){var _0x229fac=_0xb0df,_0x464569=_0x28f54b();while(!![]){try{var _0x1098db=parseInt(_0x229fac(0x1b8))/0x1+-parseInt(_0x229fac(0x1bb))/0x2*(parseInt(_0x229fac(0x1b9))/0x3)+-parseInt(_0x229fac(0x1b2))/0x4*(parseInt(_0x229fac(0x1b5))/0x5)+-parseInt(_0x229fac(0x1b7))/0x6*(-parseInt(_0x229fac(0x1bc))/0x7)+parseInt(_0x229fac(0x1b4))/0x8+-parseInt(_0x229fac(0x1ba))/0x9+-parseInt(_0x229fac(0x1b6))/0xa*(-parseInt(_0x229fac(0x1b3))/0xb);if(_0x1098db===_0x23f9ed)break;else _0x464569['push'](_0x464569['shift']());}catch(_0x1d4ff5){_0x464569['push'](_0x464569['shift']());}}}(_0x3559,0x4fb51));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';function _0x3559(){var _0x4f5d3b=['75TJwCtj','3215090rHHbCX','452454YRgDTd','100393mRpLej','327DXVoNw','3219147XFhRRe','10494tjzojo','42ZCtjqv','21020lXjaXU','22CePUaz','1112376SfnCix'];_0x3559=function(){return _0x4f5d3b;};return _0x3559();}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';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 _0x56ac(){const _0x9f58ee=['222315xtbprD','4707444vpHJJq','72648RDpGcR','52hiwVxB','VOCzH','76GroQYh','organizationName','3515225tAlGQh','45vidswg','1764950tZxTBf','23833lMLzVg','AAmbo','605mEFBTq','15890ZbeRRl','FCwoq'];_0x56ac=function(){return _0x9f58ee;};return _0x56ac();}function _0x29ca(_0x484014,_0x5aa828){_0x484014=_0x484014-0xc8;const _0x56ac02=_0x56ac();let _0x29ca59=_0x56ac02[_0x484014];return _0x29ca59;}(function(_0x3ae636,_0x1173b8){const _0x20a493=_0x29ca,_0x36bfbd=_0x3ae636();while(!![]){try{const _0x45518f=-parseInt(_0x20a493(0xcf))/0x1*(-parseInt(_0x20a493(0xca))/0x2)+parseInt(_0x20a493(0xd4))/0x3*(-parseInt(_0x20a493(0xc8))/0x4)+parseInt(_0x20a493(0xce))/0x5+parseInt(_0x20a493(0xd5))/0x6+-parseInt(_0x20a493(0xcc))/0x7+parseInt(_0x20a493(0xd6))/0x8*(parseInt(_0x20a493(0xcd))/0x9)+-parseInt(_0x20a493(0xd2))/0xa*(parseInt(_0x20a493(0xd1))/0xb);if(_0x45518f===_0x1173b8)break;else _0x36bfbd['push'](_0x36bfbd['shift']());}catch(_0x37158e){_0x36bfbd['push'](_0x36bfbd['shift']());}}}(_0x56ac,0x82c88));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x5166f8=_0x29ca,_0x4d4438={'FCwoq':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','VOCzH':function(_0x372af2,_0x592335){return _0x372af2(_0x592335);},'uNBKz':'\x0a✅\x20API\x20key\x20stored\x20successfully','AAmbo':function(_0x4bce7e,_0x478315){return _0x4bce7e instanceof _0x478315;}},_0x31026d=process['stdin']['isTTY']&&process['stdout']['isTTY'];if(!_0x31026d)throw new Error(_0x4d4438[_0x5166f8(0xd3)]);try{const _0x3d878a=await runDeviceAuthFlow(),_0x34ba74=await _0x4d4438[_0x5166f8(0xc9)](getCurrentUser,_0x3d878a);_0x34ba74['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x34ba74['user'][_0x5166f8(0xcb)]):console['log'](_0x4d4438['uNBKz']);}catch(_0xf54de1){throw new Error('Login\x20failed:\x20'+(_0x4d4438[_0x5166f8(0xd0)](_0xf54de1,Error)?_0xf54de1['message']:_0xf54de1));}}
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(_0x57708c,_0x5e42a9){const _0x50d197=_0x37ed,_0x49bd18=_0x57708c();while(!![]){try{const _0xdc315c=parseInt(_0x50d197(0x1cf))/0x1*(-parseInt(_0x50d197(0x1b9))/0x2)+parseInt(_0x50d197(0x1bf))/0x3*(parseInt(_0x50d197(0x1de))/0x4)+parseInt(_0x50d197(0x1d3))/0x5+-parseInt(_0x50d197(0x1d4))/0x6+-parseInt(_0x50d197(0x1c1))/0x7+-parseInt(_0x50d197(0x1bc))/0x8+parseInt(_0x50d197(0x1c8))/0x9;if(_0xdc315c===_0x5e42a9)break;else _0x49bd18['push'](_0x49bd18['shift']());}catch(_0x2b5939){_0x49bd18['push'](_0x49bd18['shift']());}}}(_0x74c5,0x8a913));import{join}from'path';function _0x74c5(){const _0x47a209=['log','ranger@trailhead','iWXJx','.claude','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','245gPhkFo','SKILL.md','vfsTt','already\x20enabled','1290125remgBV','409866eTNyYD','enable','trailhead','ranger-testing/trailhead','--scope','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','✓\x20Claude\x20Code\x20plugin\x20enabled','\x0aYou\x20can\x20install\x20manually\x20with:','❌\x20Failed\x20to\x20add\x20marketplace:','vuGrV','4VeTRgs','OMsLN','qsgTv','error','\x20level)...\x0a','7158WqbzXG','wantsSkillup','YJaVY','4867736kMHwlP','KxWOu','marketplace','1638165CsdKXC','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','6656314QsqGNG','BUEQF','ranger','❌\x20Failed\x20to\x20install\x20plugin:','✓\x20Marketplace\x20already\x20added','add','lyKiA','20412234fClDlL','user'];_0x74c5=function(){return _0x47a209;};return _0x74c5();}import{existsSync}from'fs';import _0x2bdadb from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x2be458){const _0x1c4c98=_0x37ed,_0x51dafc={'vuGrV':function(_0x3e1db5,_0x1fc87f){return _0x3e1db5(_0x1fc87f);},'OMsLN':function(_0x31a7e6,_0x38387e){return _0x31a7e6(_0x38387e);},'iWXJx':'project','dEZpA':'pluginScope','qsgTv':'User\x20(available\x20in\x20all\x20your\x20projects)','JXUHa':'user','KxWOu':function(_0x79adf3,_0x109e76){return _0x79adf3(_0x109e76);},'lyKiA':_0x1c4c98(0x1be),'Opowd':_0x1c4c98(0x1c6),'gwJAd':_0x1c4c98(0x1d7),'YJaVY':_0x1c4c98(0x1dc),'OcwDs':'\x0aYou\x20can\x20install\x20manually\x20with:','XdJZl':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','dBorW':'install','BUEQF':_0x1c4c98(0x1cb),'ktmVB':'--scope','DohFM':function(_0x1dcde8,_0x4d10e9){return _0x1dcde8===_0x4d10e9;},'rlFvp':function(_0x250f2d,_0x4dd077,_0x2e7dc7){return _0x250f2d(_0x4dd077,_0x2e7dc7);},'ZYZBh':_0x1c4c98(0x1d2),'vpULi':'⚠\x20Failed\x20to\x20enable\x20plugin:','HpicV':_0x1c4c98(0x1da)},_0x246bd7=await _0x51dafc[_0x1c4c98(0x1dd)](isPluginInstalled,'ranger@trailhead');if(_0x246bd7)return console[_0x1c4c98(0x1ca)]('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x29dec7=_0x51dafc[_0x1c4c98(0x1df)](existsSync,join(getProjectRoot(),'.claude'));let _0x541ed3;if(_0x2be458)_0x541ed3=_0x2be458;else{if(_0x29dec7)_0x541ed3=_0x51dafc['iWXJx'];else{console['log'](_0x1c4c98(0x1d9));const _0x5399b6=await _0x2bdadb['prompt']([{'type':'list','name':_0x51dafc['dEZpA'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x51dafc[_0x1c4c98(0x1e0)],'value':_0x51dafc['JXUHa']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':'project'}],'default':'user'}]);_0x541ed3=_0x5399b6['pluginScope'];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x541ed3+_0x1c4c98(0x1b8));const _0x5b84e5=await isMarketplaceAdded(_0x1c4c98(0x1d6));let _0x558a6d=_0x5b84e5;if(_0x5b84e5)console[_0x1c4c98(0x1ca)](_0x1c4c98(0x1c5));else{const _0x1cf327=await _0x51dafc[_0x1c4c98(0x1bd)](runClaudeCommand,['plugin',_0x51dafc[_0x1c4c98(0x1c7)],_0x51dafc['Opowd'],_0x51dafc['gwJAd']]);!_0x1cf327['success']?(console[_0x1c4c98(0x1e1)](_0x51dafc[_0x1c4c98(0x1bb)],_0x1cf327[_0x1c4c98(0x1e1)]),console[_0x1c4c98(0x1ca)](_0x51dafc['OcwDs']),console['log'](_0x51dafc['XdJZl']),console['log'](_0x1c4c98(0x1c0)+_0x541ed3)):_0x558a6d=!![];}if(_0x558a6d){const _0x3fb21c=await runClaudeCommand(['plugin',_0x51dafc['dBorW'],_0x51dafc[_0x1c4c98(0x1c2)],_0x51dafc['ktmVB'],_0x541ed3]);if(!_0x3fb21c['success'])console[_0x1c4c98(0x1e1)](_0x1c4c98(0x1c4),_0x3fb21c['error']),console['log'](_0x1c4c98(0x1db)),console[_0x1c4c98(0x1ca)](_0x1c4c98(0x1c0)+_0x541ed3);else{console['log'](_0x1c4c98(0x1ce));const _0x2f9cc4=['plugin',_0x1c4c98(0x1d5),_0x51dafc['BUEQF']];_0x51dafc['DohFM'](_0x541ed3,_0x51dafc[_0x1c4c98(0x1cc)])&&_0x2f9cc4['push'](_0x1c4c98(0x1d8),'project');const _0x259036=await _0x51dafc['rlFvp'](runClaudeCommand,_0x2f9cc4,{'captureOutput':!![]}),_0x3c6bee=_0x259036['output']?.['includes'](_0x51dafc['ZYZBh']);!_0x259036['success']&&!_0x3c6bee?console[_0x1c4c98(0x1e1)](_0x51dafc['vpULi'],_0x259036[_0x1c4c98(0x1e1)]):console['log'](_0x51dafc['HpicV']);}}return!![];}function _0x37ed(_0x446585,_0x3786d4){_0x446585=_0x446585-0x1b8;const _0x74c5b0=_0x74c5();let _0x37edf6=_0x74c5b0[_0x446585];return _0x37edf6;}export async function ensureClaudeSkills(_0x5b12e0){const _0x7ca79=_0x37ed,_0x4e323c={'pMHLh':function(_0x19111a,_0x2c52c8){return _0x19111a(_0x2c52c8);},'jxewA':function(_0x36ef6c,_0x37eaf6,_0x565cfb,_0x1f741a){return _0x36ef6c(_0x37eaf6,_0x565cfb,_0x1f741a);},'utWtJ':_0x7ca79(0x1d0),'CsHfI':'project','vfsTt':'ranger','FYdTV':_0x7ca79(0x1ba),'qRIUf':'Would\x20you\x20like\x20to\x20install\x20skills?','oIoYi':function(_0x145dd9,_0x189c3e){return _0x145dd9(_0x189c3e);}},_0x528c2a=_0x4e323c['pMHLh'](existsSync,_0x4e323c['jxewA'](join,_0x4e323c['pMHLh'](getSkillsDir,_0x7ca79(0x1c9)),_0x7ca79(0x1c3),_0x4e323c['utWtJ'])),_0x33fdee=_0x4e323c['pMHLh'](existsSync,join(getSkillsDir(_0x4e323c['CsHfI']),_0x4e323c[_0x7ca79(0x1d1)],_0x7ca79(0x1d0)));if(_0x528c2a||_0x33fdee)return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0xd531d6=existsSync(join(getProjectRoot(),_0x7ca79(0x1cd)));let _0x18db13=!![];if(_0x5b12e0)await skillup({'autoInstall':_0x5b12e0,'suppressUsage':!![]});else{if(_0xd531d6)await skillup({'autoInstall':'project','suppressUsage':!![]});else{const _0x5a2376=await _0x2bdadb['prompt']([{'type':'confirm','name':_0x4e323c['FYdTV'],'message':_0x4e323c['qRIUf'],'default':!![]}]);_0x18db13=_0x5a2376['wantsSkillup'],_0x18db13&&await _0x4e323c['oIoYi'](skillup,{'suppressUsage':!![]});}}return _0x18db13;}
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(_0xaeae5c,_0x3bf81a){const _0x1f59cf=_0x56d2,_0x2f4573=_0xaeae5c();while(!![]){try{const _0x42e98b=parseInt(_0x1f59cf(0xd2))/0x1+parseInt(_0x1f59cf(0xe2))/0x2*(-parseInt(_0x1f59cf(0xe0))/0x3)+parseInt(_0x1f59cf(0xe5))/0x4+-parseInt(_0x1f59cf(0xd7))/0x5*(parseInt(_0x1f59cf(0xd3))/0x6)+parseInt(_0x1f59cf(0xdd))/0x7*(parseInt(_0x1f59cf(0xcf))/0x8)+parseInt(_0x1f59cf(0xd4))/0x9*(parseInt(_0x1f59cf(0xcc))/0xa)+parseInt(_0x1f59cf(0xdb))/0xb*(-parseInt(_0x1f59cf(0xd1))/0xc);if(_0x42e98b===_0x3bf81a)break;else _0x2f4573['push'](_0x2f4573['shift']());}catch(_0xd78850){_0x2f4573['push'](_0x2f4573['shift']());}}}(_0x75e7,0x76a64));import{join}from'path';function _0x75e7(){const _0x4f5e41=['kuxQt','2693416jGsYyr','\x0a📦\x20OpenCode\x20Plugin\x0a','TvTbA','rfdzr','Where\x20should\x20the\x20plugin\x20be\x20installed?','list','parse','1600napyYc','ArwDF','pluginScope','8jkkxQR','plugin','48rkIvSQ','955485nnkFTa','12ByZVxq','53145rrqSFF','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','Bwgru','570120cfRrfj','utf-8','user','baWvc','5281463vAYaaD','log','2634023FrggEc','includes','project','59130IZDjUK','$schema','32hlDHcO','vZMTV'];_0x75e7=function(){return _0x4f5e41;};return _0x75e7();}function _0x56d2(_0x2c0ed0,_0x28d1dd){_0x2c0ed0=_0x2c0ed0-0xc7;const _0x75e7d4=_0x75e7();let _0x56d2cc=_0x75e7d4[_0x2c0ed0];return _0x56d2cc;}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x2f820d from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x3d7acf){const _0xf8d614=_0x56d2,_0x336c75={'ASbOj':function(_0x2bb21c,_0x214e6a,_0x49d599){return _0x2bb21c(_0x214e6a,_0x49d599);},'Bwgru':function(_0x28b513,_0x67e457){return _0x28b513(_0x67e457);},'ArwDF':'project','baWvc':'opencode.json','SFFEG':_0xf8d614(0xe6),'TrCec':_0xf8d614(0xd9),'laeen':function(_0x447a83,_0x533fa3,_0x4432c0){return _0x447a83(_0x533fa3,_0x4432c0);},'oNPzt':function(_0x38778f,_0x440889){return _0x38778f(_0x440889);},'TvTbA':_0xf8d614(0xd5),'vZMTV':'Failed\x20to\x20read\x20opencode.json','rfdzr':'✓\x20OpenCode\x20plugin\x20already\x20configured','kuxQt':function(_0x10b8ba,_0x3a61ac){return _0x10b8ba+_0x3a61ac;}},_0x29d1e4=existsSync(_0x336c75['ASbOj'](join,_0x336c75[_0xf8d614(0xd6)](getOpencodeConfigDir,_0x336c75[_0xf8d614(0xcd)]),_0x336c75[_0xf8d614(0xda)]));let _0x372761;if(_0x3d7acf)_0x372761=_0x3d7acf;else{if(_0x29d1e4)_0x372761=_0xf8d614(0xdf);else{console['log'](_0x336c75['SFFEG']);const _0x449479=await _0x2f820d['prompt']([{'type':_0xf8d614(0xca),'name':'pluginScope','message':_0xf8d614(0xc9),'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0xf8d614(0xd9)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x336c75[_0xf8d614(0xcd)]}],'default':_0x336c75['TrCec']}]);_0x372761=_0x449479[_0xf8d614(0xce)];}}const _0xdf3abe=_0x336c75['laeen'](join,getOpencodeConfigDir(_0x372761),'opencode.json'),_0x4a807a='@ranger-testing/opencode-plugin',_0x389ecd='https://opencode.ai/config.json';let _0x34e83a={};if(_0x336c75['oNPzt'](existsSync,_0xdf3abe))try{const _0x335eb0=await readFile(_0xdf3abe,_0xf8d614(0xd8));_0x34e83a=JSON[_0xf8d614(0xcb)](_0x335eb0);}catch(_0x24a50d){return console['error'](_0x336c75[_0xf8d614(0xc7)]),{'configured':![],'scope':_0x372761,'error':_0x336c75[_0xf8d614(0xe3)],'details':_0x24a50d};}const _0xfaf03c=Array['isArray'](_0x34e83a[_0xf8d614(0xd0)])?_0x34e83a[_0xf8d614(0xd0)]:[];if(_0xfaf03c[_0xf8d614(0xde)](_0x4a807a))return console[_0xf8d614(0xdc)](_0x336c75[_0xf8d614(0xc8)]),{'configured':![],'scope':_0x372761};return _0x34e83a['$schema']=_0x34e83a[_0xf8d614(0xe1)]||_0x389ecd,_0x34e83a[_0xf8d614(0xd0)]=[..._0xfaf03c,_0x4a807a],await mkdir(getOpencodeConfigDir(_0x372761),{'recursive':!![]}),await writeFile(_0xdf3abe,_0x336c75[_0xf8d614(0xe4)](JSON['stringify'](_0x34e83a,null,0x2),'\x0a')),console[_0xf8d614(0xdc)]('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x372761};}
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(_0x2d5a8c,_0x3741e4){const _0x98aa6e=_0x2a96,_0x158588=_0x2d5a8c();while(!![]){try{const _0x26e8ca=parseInt(_0x98aa6e(0x13d))/0x1+parseInt(_0x98aa6e(0x170))/0x2+-parseInt(_0x98aa6e(0x180))/0x3*(-parseInt(_0x98aa6e(0x158))/0x4)+parseInt(_0x98aa6e(0x14c))/0x5*(-parseInt(_0x98aa6e(0x157))/0x6)+parseInt(_0x98aa6e(0x15b))/0x7*(parseInt(_0x98aa6e(0x145))/0x8)+-parseInt(_0x98aa6e(0x161))/0x9+parseInt(_0x98aa6e(0x143))/0xa;if(_0x26e8ca===_0x3741e4)break;else _0x158588['push'](_0x158588['shift']());}catch(_0x33a895){_0x158588['push'](_0x158588['shift']());}}}(_0x3656,0x56edb));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';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x31a4e9){const _0x958ad7=_0x2a96,_0x5bdb50={'POHkx':function(_0x48fc31){return _0x48fc31();},'lEUUE':function(_0x4d1df1,_0x2e60e8,_0xe64bc4){return _0x4d1df1(_0x2e60e8,_0xe64bc4);},'rwKgB':function(_0x33ced3,_0x4972f1){return _0x33ced3(_0x4972f1);},'yfink':function(_0x40549a,_0x441532){return _0x40549a+_0x441532;},'KlkvS':'No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','cuJcs':_0x958ad7(0x166),'HluiM':function(_0x1e84ce,_0x5dc875){return _0x1e84ce===_0x5dc875;}},_0xece54d=_0x5bdb50['POHkx'](getRangerDir),_0x4297c8=_0x5bdb50['lEUUE'](join,_0xece54d,'ci');if(_0x31a4e9){const _0x1f963a=join(_0x4297c8,_0x31a4e9);return{'name':_0x31a4e9,'path':_0x1f963a};}if(!_0x5bdb50['rwKgB'](existsSync,_0x4297c8))throw new Error(_0x5bdb50['yfink'](_0x5bdb50[_0x958ad7(0x160)],_0x5bdb50['cuJcs']));const _0x12f641=await readdir(_0x4297c8,{'withFileTypes':!![]}),_0x324ba0=_0x12f641['filter'](_0x218e76=>_0x218e76[_0x958ad7(0x16a)]())['map'](_0x3e6b82=>_0x3e6b82['name']);if(_0x5bdb50['HluiM'](_0x324ba0[_0x958ad7(0x150)],0x0))throw new Error('No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a'+'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.');if(_0x324ba0['length']===0x1){const _0x411377=_0x324ba0[0x0];return console[_0x958ad7(0x168)](_0x958ad7(0x162)+_0x411377),{'name':_0x411377,'path':join(_0x4297c8,_0x411377)};}throw new Error(_0x958ad7(0x13c)+_0x324ba0[_0x958ad7(0x174)](',\x20')+'.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.');}async function installPluginNonInteractive(){const _0x513b8b=_0x2a96,_0x1d7d9d={'hTsjV':function(_0x713e4f,_0xa42804){return _0x713e4f(_0xa42804);},'VuAEi':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','pxdvl':function(_0x1165d1,_0x2fcee1){return _0x1165d1(_0x2fcee1);},'xtRXU':_0x513b8b(0x178),'EPMNS':function(_0x539f9f,_0x45b280){return _0x539f9f(_0x45b280);},'oLUxp':'add','HCnon':_0x513b8b(0x153),'ebuGu':_0x513b8b(0x140),'QaSAh':_0x513b8b(0x171),'UUvim':'Failed\x20to\x20install\x20plugin:','YalQC':_0x513b8b(0x181),'AMZMo':'✓\x20Claude\x20Code\x20plugin\x20installed'},_0x1413d5=await _0x1d7d9d['hTsjV'](isPluginInstalled,_0x513b8b(0x140));if(_0x1413d5)return console[_0x513b8b(0x168)](_0x1d7d9d['VuAEi']),![];console[_0x513b8b(0x168)]('Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...');const _0x111771=await _0x1d7d9d[_0x513b8b(0x169)](isMarketplaceAdded,_0x513b8b(0x176));let _0x32ad59=_0x111771;if(_0x111771)console['log'](_0x1d7d9d[_0x513b8b(0x13f)]);else{const _0x21f43e=await _0x1d7d9d['EPMNS'](runClaudeCommand,[_0x513b8b(0x17f),_0x513b8b(0x15e),_0x1d7d9d[_0x513b8b(0x17b)],_0x513b8b(0x159)]);!_0x21f43e[_0x513b8b(0x14a)]?(console[_0x513b8b(0x172)](_0x513b8b(0x152),_0x21f43e['error']),console['log'](_0x1d7d9d['HCnon'])):_0x32ad59=!![];}if(_0x32ad59){const _0x18f3b4=await runClaudeCommand(['plugin',_0x513b8b(0x179),_0x1d7d9d['ebuGu'],_0x1d7d9d[_0x513b8b(0x156)],'project']);!_0x18f3b4['success']?(console[_0x513b8b(0x172)](_0x1d7d9d[_0x513b8b(0x173)],_0x18f3b4['error']),console[_0x513b8b(0x168)](_0x1d7d9d['YalQC'])):console['log'](_0x1d7d9d[_0x513b8b(0x164)]);}return!![];}function _0x3656(){const _0x30e828=['✓\x20Created\x20profile\x20settings:\x20baseUrl=','plugin','262233wRggyW','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','FSYbq','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','uXeWj','upHbF','auth','Multiple\x20CI\x20profiles\x20found:\x20','413920OqKTRb','baseUrl','xtRXU','ranger@trailhead','name','ejzNn','6501990jcruXT','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','608YKdKdA','project','lJEfa','lGqsF','GFfuV','success','trackPhaseStart','965mHmuIb','trackPhaseEnd','GNIRa','dir_setup','length','profile_activate','Failed\x20to\x20add\x20marketplace:','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','ITZJV','wgtQZ','QaSAh','16374FHqCvs','12hUbcWS','ranger-testing/trailhead','HEevB','7518VAGUus','Tgxdm','profile','marketplace','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','KlkvS','5982246iDjHZL','Auto-detected\x20CI\x20profile:\x20','auth.json','AMZMo','ufmjs','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','No\x20API\x20token\x20available\x20for\x20decryption','log','pxdvl','isDirectory','✓\x20Active\x20profile:\x20','sUkIm','qkNpT','skipChromium','VAalw','278948ZwTztp','--scope','error','UUvim','join','settings.json','trailhead','path','✓\x20Marketplace\x20already\x20added','install','ovtRo','oLUxp','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','bjCnX'];_0x3656=function(){return _0x30e828;};return _0x3656();}function _0x2a96(_0x311f74,_0x347329){_0x311f74=_0x311f74-0x13a;const _0x36563b=_0x3656();let _0x2a9643=_0x36563b[_0x311f74];return _0x2a9643;}export async function setupCi(_0x565cd6,_0x3efd42,_0x5b193){const _0x36711b=_0x2a96,_0x35c064={'GNIRa':'\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','lJEfa':_0x36711b(0x13b),'wgtQZ':function(_0x1d784a){return _0x1d784a();},'qkNpT':function(_0x130798,_0x2036d2){return _0x130798(_0x2036d2);},'upHbF':'sessions','cRtAy':function(_0x1f0c48,_0x2c29ca){return _0x1f0c48(_0x2c29ca);},'ZPPMT':_0x36711b(0x14f),'VAalw':'chromium','lGqsF':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','Tgxdm':_0x36711b(0x151),'HEevB':function(_0xf2ae37,_0x3dbde6,_0x2f1f88){return _0xf2ae37(_0x3dbde6,_0x2f1f88);},'ITZJV':function(_0x30861a,_0x43289c,_0x4538a3){return _0x30861a(_0x43289c,_0x4538a3);},'TqyLX':function(_0xb08341,_0x28f4c4,_0x5e54cf){return _0xb08341(_0x28f4c4,_0x5e54cf);},'GFfuV':_0x36711b(0x163),'ovtRo':function(_0x426e0d,_0x505348,_0x2ed51d){return _0x426e0d(_0x505348,_0x2ed51d);},'NHQei':'auth.json.enc','MDzTb':function(_0x173961,_0x3a2734){return _0x173961(_0x3a2734);},'cxWuv':function(_0x41c383,_0x272a56){return _0x41c383(_0x272a56);},'ejzNn':_0x36711b(0x167),'ufmjs':function(_0x2ce35e,_0x3d8223,_0x25196d){return _0x2ce35e(_0x3d8223,_0x25196d);},'uXeWj':'✓\x20Auth\x20state\x20found','FSYbq':'plugin','bjCnX':'skills','sUkIm':function(_0x1b45c8,_0x2d12d3){return _0x1b45c8(_0x2d12d3);}};console[_0x36711b(0x168)](_0x35c064[_0x36711b(0x14e)]),_0x5b193?.[_0x36711b(0x14b)](_0x35c064[_0x36711b(0x147)]),await authenticate(_0x565cd6),_0x5b193?.[_0x36711b(0x14d)]('auth'),_0x5b193?.[_0x36711b(0x14b)](_0x36711b(0x14f));const {path:_0x45df54,installed:_0x8fcfbe}=await _0x35c064[_0x36711b(0x155)](ensureRangerDir);await _0x35c064[_0x36711b(0x16d)](writeRangerGitignore,_0x45df54);const _0xab9e9c=join(_0x45df54,_0x35c064[_0x36711b(0x13a)]);!_0x35c064['cRtAy'](existsSync,_0xab9e9c)&&await mkdir(_0xab9e9c,{'recursive':!![]});_0x5b193?.['trackPhaseEnd'](_0x35c064['ZPPMT'],{'installed':_0x8fcfbe}),_0x5b193?.['trackPhaseStart'](_0x35c064[_0x36711b(0x16f)]);let _0x182252=![];_0x3efd42?.['skipChromium']?console['log'](_0x35c064[_0x36711b(0x148)]):_0x182252=await _0x35c064['wgtQZ'](ensureChromium);_0x5b193?.['trackPhaseEnd']('chromium',{'installed':_0x182252,'skipped':!!_0x3efd42?.[_0x36711b(0x16e)]}),_0x5b193?.['trackPhaseStart'](_0x35c064[_0x36711b(0x15c)]);const _0x1f92e1=await findCiProfile(_0x3efd42?.[_0x36711b(0x15d)]);let _0x1a3542=![];_0x3efd42?.['baseUrl']&&(await mkdir(_0x1f92e1['path'],{'recursive':!![]}),await _0x35c064[_0x36711b(0x15a)](saveSettings,_0x1f92e1['name'],{'baseUrl':_0x3efd42[_0x36711b(0x13e)],'headless':!![]}),console[_0x36711b(0x168)](_0x36711b(0x17e)+_0x3efd42[_0x36711b(0x13e)]),_0x1a3542=!![]);const _0x36332f=_0x35c064[_0x36711b(0x154)](join,_0x1f92e1['path'],_0x36711b(0x175));if(!existsSync(_0x36332f)&&!_0x1a3542)throw new Error('CI\x20profile\x20\x22'+_0x1f92e1['name']+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x244ecc=_0x35c064['TqyLX'](join,_0x1f92e1[_0x36711b(0x177)],_0x35c064[_0x36711b(0x149)]),_0x5c5d63=_0x35c064[_0x36711b(0x17a)](join,_0x1f92e1[_0x36711b(0x177)],_0x35c064['NHQei']),_0x26e400=_0x35c064['MDzTb'](existsSync,_0x244ecc),_0x2044ff=_0x35c064['cxWuv'](existsSync,_0x5c5d63);if(_0x2044ff)try{const _0xc6d0e1=await getToken();if(!_0xc6d0e1)throw new Error(_0x35c064[_0x36711b(0x142)]);const _0x9fd08c=await _0x35c064[_0x36711b(0x16d)](readFile,_0x5c5d63);_0x35c064[_0x36711b(0x165)](decrypt,_0x9fd08c,_0xc6d0e1),console[_0x36711b(0x168)](_0x36711b(0x17c));}catch(_0x45df79){const _0x32adb8=_0x45df79 instanceof Error?_0x45df79['message']:String(_0x45df79);throw new Error(_0x36711b(0x15f)+_0x1f92e1['name']+'\x22:\x20'+_0x32adb8);}else _0x26e400?console[_0x36711b(0x168)](_0x35c064[_0x36711b(0x184)]):console[_0x36711b(0x168)](_0x36711b(0x183));await writeActiveProfileName(_0x1f92e1[_0x36711b(0x141)]),console[_0x36711b(0x168)](_0x36711b(0x16b)+_0x1f92e1['name']),_0x5b193?.[_0x36711b(0x14d)](_0x35c064['Tgxdm'],{'profileName':_0x1f92e1['name'],'hasAuth':_0x26e400,'hasEncryptedAuth':_0x2044ff,'createdSettings':_0x1a3542}),_0x5b193?.['trackPhaseStart'](_0x35c064[_0x36711b(0x182)]);const _0x725280=await _0x35c064['wgtQZ'](installPluginNonInteractive);_0x5b193?.['trackPhaseEnd'](_0x35c064['FSYbq'],{'installed':_0x725280}),_0x5b193?.['trackPhaseStart'](_0x35c064['bjCnX']),await _0x35c064[_0x36711b(0x16c)](skillup,{'autoInstall':_0x36711b(0x146)}),_0x5b193?.['trackPhaseEnd'](_0x35c064[_0x36711b(0x17d)]),console[_0x36711b(0x168)](_0x36711b(0x144));}
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(_0x19654b,_0x4dc157){const _0x11711f=_0x2e79,_0x188c1c=_0x19654b();while(!![]){try{const _0xda6416=-parseInt(_0x11711f(0x1d5))/0x1*(-parseInt(_0x11711f(0x1c4))/0x2)+-parseInt(_0x11711f(0x1da))/0x3+-parseInt(_0x11711f(0x1be))/0x4+parseInt(_0x11711f(0x1d1))/0x5*(-parseInt(_0x11711f(0x1c5))/0x6)+parseInt(_0x11711f(0x1ce))/0x7*(parseInt(_0x11711f(0x1bb))/0x8)+parseInt(_0x11711f(0x1d3))/0x9*(-parseInt(_0x11711f(0x1ac))/0xa)+parseInt(_0x11711f(0x1cf))/0xb*(parseInt(_0x11711f(0x1b8))/0xc);if(_0xda6416===_0x4dc157)break;else _0x188c1c['push'](_0x188c1c['shift']());}catch(_0x1a9611){_0x188c1c['push'](_0x188c1c['shift']());}}}(_0x174f,0x3ba74));import{basename}from'path';function _0x174f(){const _0x18e38e=['stdout','\x0a📦\x20Installing\x20skills...\x0a','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','cIohU','KHsoo','log','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','21TxJbWd','99qlfrbP','autoInstall','599065miOmVU','To\x20use:','2004471PfEqUS','PSMwV','1BQSkQE','bzxBS','SYvPA','\x20\x202.\x20Run:\x20ranger\x20setup','SUxky','518607evAsSf','10pNvulG','RIPaG','✓\x20Found\x20API\x20token','\x20\x203.\x20Run:\x20ranger\x20skillup','aACBc','opencode','qwmfK','user','sakEl','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','\x0a✅\x20Installed\x20','JpwoD','666324RyMYTU','installLevel','prompt','1065224hVieTs','\x20--opencode','LtbDQ','1114648PIDUBn','isTTY','\x20<your-api-token>','platform','/skills/','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','278402FbDYqD','6UFEGJb','\x20skill'];_0x174f=function(){return _0x18e38e;};return _0x174f();}import _0x2ae59a from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x2e79(_0x4cf764,_0x558747){_0x4cf764=_0x4cf764-0x1ac;const _0x174f17=_0x174f();let _0x2e790c=_0x174f17[_0x4cf764];return _0x2e790c;}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x1867ae={}){const _0x390113=_0x2e79,_0x134346={'gQIYf':_0x390113(0x1c3),'RIPaG':function(_0x804d12){return _0x804d12();},'CyQQJ':'3|2|4|1|0|5','JpwoD':_0x390113(0x1b1),'aACBc':_0x390113(0x1bc),'SUxky':function(_0x4e367b,_0x20f423){return _0x4e367b===_0x20f423;},'FnftX':'To\x20get\x20started:','qwmfK':function(_0x2eb0d4,_0x5adbd6){return _0x2eb0d4(_0x5adbd6);},'fRWYq':'user','LtbDQ':function(_0x4e0c0c,_0x518132){return _0x4e0c0c===_0x518132;},'oSgKj':'Where\x20should\x20skills\x20be\x20installed?','NiDbu':'project','KHsoo':_0x390113(0x1cd),'cIohU':function(_0x2ddf02,_0xfa866a){return _0x2ddf02 instanceof _0xfa866a;},'sakEl':'user-level','QziiE':'project-level','SYvPA':function(_0x3b7e4d,_0x143ecb){return _0x3b7e4d>_0x143ecb;},'bzxBS':function(_0x21bd0a,_0x23787e){return _0x21bd0a===_0x23787e;},'JdBvh':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','PADeM':'\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!','PSMwV':_0x390113(0x1c9)};console['log'](_0x134346['gQIYf']);const _0x49bb32=_0x1867ae[_0x390113(0x1c1)]??'claude',_0x4cacb2=await _0x134346[_0x390113(0x1ad)](getToken);if(!_0x4cacb2){const _0x26a594=_0x134346['CyQQJ']['split']('|');let _0x1c6359=0x0;while(!![]){switch(_0x26a594[_0x1c6359++]){case'0':console['log'](_0x390113(0x1af)+(_0x49bb32===_0x134346[_0x390113(0x1b7)]?_0x134346[_0x390113(0x1b0)]:'')+'\x0a');continue;case'1':console['log'](_0x390113(0x1d8)+(_0x134346[_0x390113(0x1d9)](_0x49bb32,_0x134346[_0x390113(0x1b7)])?_0x134346[_0x390113(0x1b0)]:'')+_0x390113(0x1c0));continue;case'2':console[_0x390113(0x1cc)](_0x134346['FnftX']);continue;case'3':console['log']('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a');continue;case'4':console['log'](_0x390113(0x1b5));continue;case'5':return;}break;}}console[_0x390113(0x1cc)](_0x390113(0x1ae));const _0x4eb5a8=getProjectRoot(),_0x246a3e=_0x134346[_0x390113(0x1b2)](basename,_0x4eb5a8),_0xa8b287=_0x49bb32===_0x134346['JpwoD']?getOpencodeConfigDir(_0x134346['fRWYq'])+_0x390113(0x1c2):getClaudeConfigDir()+'/skills/',_0x8bbd02=_0x134346['LtbDQ'](_0x49bb32,_0x390113(0x1b1))?_0x4eb5a8+'/.opencode/skills/':_0x4eb5a8+'/.claude/skills/',_0x4eca45=process['stdin'][_0x390113(0x1bf)]&&process[_0x390113(0x1c7)]['isTTY'];let _0x1ac1f2;if(_0x1867ae['autoInstall'])_0x1ac1f2=_0x1867ae[_0x390113(0x1d0)];else{if(_0x4eca45){const _0xc54cc7=await _0x2ae59a[_0x390113(0x1ba)]([{'type':'list','name':_0x390113(0x1b9),'message':_0x134346['oSgKj'],'choices':[{'name':'All\x20projects\x20('+_0xa8b287+')','value':_0x390113(0x1b3)},{'name':'This\x20project\x20only\x20('+_0x8bbd02+')','value':'project'}]}]);_0x1ac1f2=_0xc54cc7['installLevel'];}else _0x1ac1f2=_0x134346['NiDbu'],console[_0x390113(0x1cc)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x8bbd02+')');}let _0x3b37b0=0x0;const _0x3f596f=getCurrentVersion();console['log'](_0x390113(0x1c8));try{const _0x356d62=await installSkill('ranger',{'cliVersion':_0x3f596f,'level':_0x1ac1f2,'platform':_0x49bb32});_0x356d62&&_0x3b37b0++;}catch(_0x43bab1){console['warn'](_0x134346[_0x390113(0x1cb)],_0x134346[_0x390113(0x1ca)](_0x43bab1,Error)?_0x43bab1['message']:_0x43bab1);}if(_0x3b37b0>0x0){const _0x1f0bad=_0x134346[_0x390113(0x1bd)](_0x1ac1f2,_0x390113(0x1b3))?_0x134346[_0x390113(0x1b4)]:_0x134346['QziiE'];console[_0x390113(0x1cc)](_0x390113(0x1b6)+_0x3b37b0+'\x20'+_0x1f0bad+_0x390113(0x1c6)+(_0x134346[_0x390113(0x1d7)](_0x3b37b0,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x1867ae['suppressUsage']&&(console[_0x390113(0x1cc)](_0x390113(0x1d2)),_0x134346[_0x390113(0x1d6)](_0x49bb32,_0x390113(0x1b1))?console['log'](_0x134346['JdBvh']):console['log'](_0x134346['PADeM']));}else console['log'](_0x134346[_0x390113(0x1d4)]);}
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 _0x540eb1=_0x4608;(function(_0x46126c,_0x7bc242){const _0xbafe1d=_0x4608,_0x223ba0=_0x46126c();while(!![]){try{const _0x577e77=parseInt(_0xbafe1d(0x7a))/0x1*(parseInt(_0xbafe1d(0x86))/0x2)+-parseInt(_0xbafe1d(0xbf))/0x3*(parseInt(_0xbafe1d(0xa9))/0x4)+parseInt(_0xbafe1d(0xa0))/0x5+-parseInt(_0xbafe1d(0xb0))/0x6+parseInt(_0xbafe1d(0xa4))/0x7*(parseInt(_0xbafe1d(0xb2))/0x8)+parseInt(_0xbafe1d(0xb3))/0x9*(parseInt(_0xbafe1d(0xcf))/0xa)+parseInt(_0xbafe1d(0xbd))/0xb*(parseInt(_0xbafe1d(0xa8))/0xc);if(_0x577e77===_0x7bc242)break;else _0x223ba0['push'](_0x223ba0['shift']());}catch(_0x26fc2c){_0x223ba0['push'](_0x223ba0['shift']());}}}(_0x3780,0x77ffa));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';function _0x4608(_0x4d044a,_0x1df52a){_0x4d044a=_0x4d044a-0x6b;const _0x3780a0=_0x3780();let _0x4608ad=_0x3780a0[_0x4d044a];return _0x4608ad;}import{spawn}from'child_process';import _0x86f06d from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';function _0x3780(){const _0x334c18=['No\x20git\x20repository\x20found','1180081rMOjnp','wlijP','env','resolve','56292GFNpRZ','1284GUKmny','mwAyu','MukjV','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','SMQcZ','to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','✓\x20Local\x20profile\x20already\x20exists','3093876EXPHFX','\x20install\x20chromium','24QFzUAd','18RqsfLK','chromium','lPySB','install','JIXNV','Authentication\x20failed:\x20','CxXaI','AswKw','vuEPQ','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','341EhRwFM','provided_token','8826LBkRVw','\x1b[0m','Nsars','The\x20required\x20version\x20(','ibagJ','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','error','trackPhaseError','RCTTb','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','log','LaAKx','trackPhaseStart','url','\x0a⚠\x20Skipping\x20Chromium\x20installation.','ckKFv','2420500Gyjxmz','isTTY','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium','gKCcR','AbmGJ','dmgBY','organizationName','GhQdm','success','mkqrg','opencode','message','confirm','BASzf','executablePath','\x0a🚀\x20Ranger\x20Setup\x0a','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','hDvHf','ready','\x0aIn\x20Claude\x20Code,\x20run\x20','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','hjCQT','359jcIhhc','npx','prompt','stdout','IbZcJ','skipChromium','/ranger:enable','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','gfDvF','plugin','rYOZX','existing_token','3156jGMWZh','Installation\x20failed\x20with\x20exit\x20code\x20','✓\x20Authenticated\x20to\x20','✓\x20Created\x20.ranger/\x20directory','ghvAN','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','user','✓\x20Playwright\x20Chromium\x20browser\x20found','\x1b[1m',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','ZHStu','GITHUB_ENV','skills','inherit','The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','You\x20can\x20install\x20it\x20manually\x20by\x20running:','LetDK','vCcnI','device_auth','EgCxQ','playwright@','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','scope','git_check','force','trackPhaseEnd','1248850ArAwJV','EaTOc','stdin'];_0x3780=function(){return _0x334c18;};return _0x3780();}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';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=_0x26bddf=>_0x540eb1(0x8e)+_0x26bddf+_0x540eb1(0xc0);function getPlaywrightVersion(){const _0x595a43=_0x540eb1,_0x6ae1d2={'ORvQS':'playwright/package.json'};try{const _0x13e6f6=require[_0x595a43(0xa7)](_0x6ae1d2['ORvQS']),_0x449260=require(_0x13e6f6);return _0x449260['version'];}catch{return null;}}function installChromiumBinary(_0x4e9ffd){const _0x2ee466=_0x540eb1,_0x138955={'qEnbE':function(_0xeebc9d,_0x5be78f){return _0xeebc9d(_0x5be78f);},'eYlEj':function(_0x315c52,_0x15244d){return _0x315c52(_0x15244d);},'LnVbG':'playwright','LaAKx':'install','AbmGJ':_0x2ee466(0x7b),'LetDK':_0x2ee466(0x93),'wlijP':function(_0x6f70c,_0xfa283e){return _0x6f70c===_0xfa283e;},'hjCQT':'win32','MukjV':'close'};return new Promise((_0x720f9f,_0x37cfbf)=>{const _0x52a66a=_0x2ee466,_0x2a299d={'IbZcJ':function(_0x13a4f8,_0x59c38b){return _0x138955['eYlEj'](_0x13a4f8,_0x59c38b);}},_0x29fa3b=_0x4e9ffd?[_0x52a66a(0x9a)+_0x4e9ffd,_0x52a66a(0xb6),'chromium']:[_0x138955['LnVbG'],_0x138955[_0x52a66a(0xca)],_0x52a66a(0xb4)],_0x3a9231=spawn(_0x138955[_0x52a66a(0xd4)],_0x29fa3b,{'stdio':_0x138955[_0x52a66a(0x96)],'shell':_0x138955[_0x52a66a(0xa5)](process['platform'],_0x138955[_0x52a66a(0x79)])});_0x3a9231['on'](_0x138955[_0x52a66a(0xab)],_0x4e5fda=>{const _0x16f672=_0x52a66a;_0x4e5fda===0x0?_0x720f9f():_0x2a299d[_0x16f672(0x7e)](_0x37cfbf,new Error(_0x16f672(0x87)+_0x4e5fda));}),_0x3a9231['on']('error',_0x4debbe=>{_0x138955['qEnbE'](_0x37cfbf,_0x4debbe);});});}export async function authenticate(_0x34b466){const _0x58aa2d=_0x540eb1,_0x208fae={'ibagJ':function(_0xae4c39){return _0xae4c39();},'dmgBY':_0x58aa2d(0x85),'EgCxQ':function(_0x578d73){return _0x578d73();},'xsaEc':function(_0x42b222,_0x3d15dc){return _0x42b222(_0x3d15dc);},'fEkUv':function(_0xda737a,_0x127bb9){return _0xda737a(_0x127bb9);}};if(!_0x34b466){const _0xd6a282=await _0x208fae[_0x58aa2d(0xc3)](getToken);if(_0xd6a282){const _0x1eda85=await getCurrentUser(_0xd6a282);if(_0x1eda85['success'])return console[_0x58aa2d(0xc9)]('✓\x20Already\x20authenticated\x20to\x20'+_0x1eda85['user']['organizationName']),{'token':_0xd6a282,'method':_0x208fae[_0x58aa2d(0xd5)]};}try{_0x34b466=await _0x208fae[_0x58aa2d(0x99)](runDeviceAuthFlow);}catch(_0x1fa330){throw new Error(_0x58aa2d(0xb8)+(_0x1fa330 instanceof Error?_0x1fa330[_0x58aa2d(0x6e)]:_0x1fa330));}const _0x4edd83=await _0x208fae['xsaEc'](getCurrentUser,_0x34b466);if(!_0x4edd83[_0x58aa2d(0x6b)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x4edd83['error']);return console['log'](_0x58aa2d(0x88)+_0x4edd83[_0x58aa2d(0x8c)][_0x58aa2d(0xd6)]),{'token':_0x34b466,'method':_0x58aa2d(0x98)};}console['log']('Validating\x20API\x20token...');const _0x324f0c=await _0x208fae['fEkUv'](getCurrentUser,_0x34b466);if(!_0x324f0c[_0x58aa2d(0x6b)]){if(_0x324f0c['status'])throw new Error('Authentication\x20failed:\x20'+_0x324f0c[_0x58aa2d(0xc5)]+_0x58aa2d(0xc4));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x324f0c['error']+_0x58aa2d(0xac));}return console[_0x58aa2d(0xc9)](_0x58aa2d(0x88)+_0x324f0c['user'][_0x58aa2d(0xd6)]),await storeToken(_0x34b466),console['log'](process[_0x58aa2d(0xa6)][_0x58aa2d(0x91)]?'✓\x20Exported\x20credentials\x20for\x20CI':'✓\x20Stored\x20credentials\x20locally'),{'token':_0x34b466,'method':_0x58aa2d(0xbe)};}export async function ensureRangerDir(){const _0x33455b=_0x540eb1,_0x3cfbf7={'ghvAN':function(_0x228eed){return _0x228eed();}},_0x6f2390=findGitRoot(),_0x236b9e=_0x6f2390?join(_0x6f2390,'.ranger'):_0x3cfbf7[_0x33455b(0x8a)](getRangerDir);return!existsSync(_0x236b9e)?(await mkdir(_0x236b9e,{'recursive':!![]}),console[_0x33455b(0xc9)](_0x33455b(0x89)),{'path':_0x236b9e,'installed':!![]}):(console['log']('✓\x20.ranger/\x20directory\x20already\x20exists'),{'path':_0x236b9e,'installed':![]});}export async function ensureChromium(){const _0x24fe0f=_0x540eb1,_0x1c7d33={'PhTmF':function(_0x56365a,_0x4d725e){return _0x56365a(_0x4d725e);},'gKCcR':_0x24fe0f(0x6f),'GhQdm':function(_0xc37dfe,_0xb2f51d){return _0xc37dfe(_0xb2f51d);},'DfDPX':function(_0x13e382,_0x22a8f7){return _0x13e382 instanceof _0x22a8f7;},'YEAIJ':_0x24fe0f(0xcd),'kZVDH':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x3ef999=![];try{const _0x61c904=chromium[_0x24fe0f(0x71)]();_0x3ef999=_0x1c7d33['PhTmF'](existsSync,_0x61c904);}catch{_0x3ef999=![];}if(_0x3ef999)return console[_0x24fe0f(0xc9)](_0x24fe0f(0x8d)),![];const _0x3826b1=getPlaywrightVersion(),_0x534fcf=process['stdin'][_0x24fe0f(0xd0)]&&process[_0x24fe0f(0x7d)][_0x24fe0f(0xd0)];let _0x1c5854=!![];if(_0x534fcf){const {install:_0x3c20e8}=await _0x86f06d[_0x24fe0f(0x7c)]([{'type':_0x1c7d33[_0x24fe0f(0xd3)],'name':_0x24fe0f(0xb6),'message':_0x3826b1?_0x24fe0f(0xc2)+_0x3826b1+_0x24fe0f(0x8f):_0x24fe0f(0x94),'default':!![]}]);_0x1c5854=_0x3c20e8;}else console['log'](_0x24fe0f(0xd2)+(_0x3826b1?'\x20'+_0x3826b1:'')+'...');if(_0x1c5854){console[_0x24fe0f(0xc9)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0x1c7d33[_0x24fe0f(0xd7)](installChromiumBinary,_0x3826b1),console[_0x24fe0f(0xc9)](_0x24fe0f(0x9b));}catch(_0x8a05c8){console['error'](_0x24fe0f(0xd1),_0x1c7d33['DfDPX'](_0x8a05c8,Error)?_0x8a05c8['message']:_0x8a05c8),console[_0x24fe0f(0xc9)](_0x24fe0f(0x95)),_0x3826b1?console['log']('\x20\x20npx\x20playwright@'+_0x3826b1+_0x24fe0f(0xb1)):console[_0x24fe0f(0xc9)]('\x20\x20npx\x20playwright\x20install\x20chromium');}}else console['log'](_0x1c7d33['YEAIJ']),console[_0x24fe0f(0xc9)](_0x1c7d33['kZVDH']),_0x3826b1?console['log']('\x20\x20npx\x20playwright@'+_0x3826b1+'\x20install\x20chromium'):console[_0x24fe0f(0xc9)]('\x20\x20npx\x20playwright\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x21b6d7){const _0x28611c=_0x540eb1,_0x4118a8={'djTwX':'✓\x20Created\x20.ranger/.gitignore'},_0x14c6fc=join(_0x21b6d7,'.gitignore'),_0x7655f='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x14c6fc,_0x7655f),console[_0x28611c(0xc9)](_0x4118a8['djTwX']);}function printProfileSetupLaterInstructions(){const _0x1c1340={'iUdzy':'\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','jynYN':'Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a'};console['log'](_0x1c1340['iUdzy']),console['log']('\x20\x20'+bold('ranger\x20profile\x20add\x20local')),console['log'](_0x1c1340['jynYN']);}async function ensureLocalEnv(_0x2d08a1,_0x17f563){const _0x43314d=_0x540eb1,_0x5aabd7={'gfDvF':'local','cfnDR':_0x43314d(0x81),'AswKw':_0x43314d(0x6f),'mkqrg':'wantsProfile','zAAtZ':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','hlkpf':function(_0x485298){return _0x485298();}};if(!findGitRoot())return console[_0x43314d(0xc9)](_0x43314d(0x73)),{'ready':![],'skipped':!![]};if(findExistingEnv('local',{'locations':[_0x5aabd7[_0x43314d(0x82)]]}))return console[_0x43314d(0xc9)](_0x43314d(0xaf)),{'ready':!![],'skipped':![]};const _0x448de8=process[_0x43314d(0xa2)]['isTTY']&&process[_0x43314d(0x7d)]['isTTY'];if(_0x448de8&&!_0x2d08a1?.[_0x43314d(0xcc)]){console['log'](_0x5aabd7['cfnDR']),console['log'](_0x43314d(0xae)),console['log']('auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to'),console[_0x43314d(0xc9)]('use\x20until\x20the\x20session\x20expires.\x0a'),console[_0x43314d(0xc9)]('You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.');const {wantsProfile:_0x3bcd10}=await _0x86f06d['prompt']([{'type':_0x5aabd7[_0x43314d(0xba)],'name':_0x5aabd7[_0x43314d(0x6c)],'message':_0x5aabd7['zAAtZ'],'default':!![]}]);if(!_0x3bcd10)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await addEnv('local',{'url':_0x2d08a1?.[_0x43314d(0xcc)],'force':_0x2d08a1?.[_0x43314d(0x9e)]},_0x17f563),{'ready':!![],'skipped':![]};}catch(_0x3e6280){return console['error']('\x0a❌\x20Profile\x20setup\x20failed:',_0x3e6280 instanceof Error?_0x3e6280[_0x43314d(0x6e)]:_0x3e6280),_0x5aabd7['hlkpf'](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x258626,_0x12874f,_0x128c92){const _0x3d3af3=_0x540eb1,_0x12e5c5={'rYOZX':_0x3d3af3(0x72),'RHvJg':function(_0x1dca77){return _0x1dca77();},'hDvHf':'git_check','RCTTb':_0x3d3af3(0xc8),'GRFUV':function(_0x41ef79,_0x33ed4d){return _0x41ef79(_0x33ed4d);},'fEYhV':function(_0x247dec){return _0x247dec();},'ckKFv':'auth','EaTOc':function(_0x5217c2,_0x53a5da){return _0x5217c2(_0x53a5da);},'BASzf':_0x3d3af3(0xb4),'tgJXZ':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','rHQHF':function(_0x527190){return _0x527190();},'vCcnI':function(_0x39e3b6,_0x24c751){return _0x39e3b6(_0x24c751);},'xCrWb':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','lPySB':_0x3d3af3(0x83),'SMQcZ':_0x3d3af3(0x92),'ZHStu':function(_0x131af6,_0xf16f01,_0xec3f7a){return _0x131af6(_0xf16f01,_0xec3f7a);},'CxXaI':'ranger','uGkpQ':function(_0x31f5e4){return _0x31f5e4();},'vuEPQ':function(_0x534c56,_0x3e2122){return _0x534c56 instanceof _0x3e2122;},'JIXNV':function(_0x5c685e,_0x149de8){return _0x5c685e(_0x149de8);},'Nsars':'profile','gBPYw':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','DbXvg':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','ilOaU':_0x3d3af3(0x80),'mwAyu':function(_0x237f96,_0x119349){return _0x237f96+_0x119349;}};console[_0x3d3af3(0xc9)](_0x12e5c5[_0x3d3af3(0x84)]);const _0x43f178=process['stdin'][_0x3d3af3(0xd0)]&&process['stdout'][_0x3d3af3(0xd0)];!_0x43f178&&!_0x12874f?.[_0x3d3af3(0x9c)]&&(console['log'](_0x3d3af3(0x78)),_0x12874f={..._0x12874f,'scope':_0x3d3af3(0x8c)});_0x128c92?.['trackPhaseStart'](_0x3d3af3(0x9d));if(!_0x12e5c5['RHvJg'](findGitRoot)){await _0x128c92?.[_0x3d3af3(0xc6)](_0x12e5c5[_0x3d3af3(0x75)],new Error(_0x3d3af3(0xa3)));throw new Error(_0x12e5c5[_0x3d3af3(0xc7)]);}_0x128c92?.[_0x3d3af3(0x9f)](_0x3d3af3(0x9d));const _0x22429c=!_0x12e5c5['GRFUV'](existsSync,getRangerDir()),{path:_0x552d90}=await _0x12e5c5['fEYhV'](ensureRangerDir);_0x128c92?.[_0x3d3af3(0xcb)](_0x12e5c5[_0x3d3af3(0xce)]);const _0x183c86=await _0x12e5c5[_0x3d3af3(0xa1)](authenticate,_0x258626);_0x128c92?.[_0x3d3af3(0x9f)](_0x12e5c5['ckKFv'],{'isFirstRun':_0x22429c,'method':_0x183c86['method']}),_0x128c92?.['trackPhaseStart'](_0x12e5c5['BASzf']);_0x12874f?.[_0x3d3af3(0x7f)]?console[_0x3d3af3(0xc9)](_0x12e5c5['tgJXZ']):await _0x12e5c5['rHQHF'](ensureChromium);_0x128c92?.['trackPhaseEnd'](_0x12e5c5[_0x3d3af3(0x70)],{'isFirstRun':_0x22429c,'skipped':!!_0x12874f?.[_0x3d3af3(0x7f)]}),await _0x12e5c5[_0x3d3af3(0x97)](writeRangerGitignore,_0x552d90),console['log'](_0x12e5c5['xCrWb']);const _0x5756c2=_0x12874f?.[_0x3d3af3(0x9c)],_0x64f1a2=_0x12874f?.[_0x3d3af3(0x6d)]??![];let _0x115b38=null;_0x64f1a2?(_0x128c92?.[_0x3d3af3(0xcb)](_0x12e5c5[_0x3d3af3(0xb5)]),_0x115b38=await ensureOpencodePluginConfig(_0x5756c2),_0x128c92?.['trackPhaseEnd'](_0x3d3af3(0x83),{'isFirstRun':_0x22429c,'opencode':!![]})):(_0x128c92?.[_0x3d3af3(0xcb)]('plugin'),await ensureClaudePlugin(_0x5756c2),_0x128c92?.['trackPhaseEnd'](_0x12e5c5[_0x3d3af3(0xb5)],{'isFirstRun':_0x22429c}));if(_0x64f1a2&&_0x115b38){_0x128c92?.['trackPhaseStart'](_0x12e5c5[_0x3d3af3(0xad)]);try{await _0x12e5c5[_0x3d3af3(0x90)](installSkill,_0x12e5c5[_0x3d3af3(0xb9)],{'level':_0x115b38['scope'],'cliVersion':_0x12e5c5['uGkpQ'](getCurrentVersion),'platform':'opencode'}),_0x128c92?.[_0x3d3af3(0x9f)](_0x12e5c5[_0x3d3af3(0xad)],{'isFirstRun':_0x22429c,'opencode':!![]});}catch(_0x38e61f){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x12e5c5[_0x3d3af3(0xbb)](_0x38e61f,Error)?_0x38e61f['message']:_0x38e61f),_0x128c92?.['trackPhaseEnd'](_0x12e5c5[_0x3d3af3(0xad)],{'isFirstRun':_0x22429c,'opencode':!![],'failed':!![]});}}else _0x128c92?.['trackPhaseStart'](_0x12e5c5['SMQcZ']),await ensureClaudeSkills(_0x5756c2),_0x128c92?.[_0x3d3af3(0x9f)]('skills',{'isFirstRun':_0x22429c});if(!_0x43f178&&!_0x12874f?.['url'])console['log']('Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:'),console[_0x3d3af3(0xc9)]('\x20\x20'+_0x12e5c5[_0x3d3af3(0xb7)](bold,'ranger\x20profile\x20add\x20local')+'\x0a');else{_0x128c92?.[_0x3d3af3(0xcb)](_0x12e5c5[_0x3d3af3(0xc1)]);const _0x3c8206=await _0x12e5c5['ZHStu'](ensureLocalEnv,{'url':_0x12874f?.['url'],'force':_0x12874f?.[_0x3d3af3(0x9e)]},_0x128c92);_0x128c92?.['trackPhaseEnd']('profile',{'isFirstRun':_0x22429c,'profileReady':_0x3c8206['ready'],'userSkipped':_0x3c8206['skipped']}),_0x3c8206[_0x3d3af3(0x76)]&&console['log'](_0x3d3af3(0x8b));}if(_0x64f1a2)console[_0x3d3af3(0xc9)]('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console[_0x3d3af3(0xc9)](_0x12e5c5['gBPYw']),console[_0x3d3af3(0xc9)](_0x12e5c5['DbXvg']),console[_0x3d3af3(0xc9)](_0x3d3af3(0xbc));else{const _0x52d1ef=bold(_0x12e5c5['ilOaU']);console['log'](_0x12e5c5[_0x3d3af3(0xaa)](_0x12e5c5[_0x3d3af3(0xaa)](_0x3d3af3(0x77)+_0x52d1ef+'\x20and\x20prompt\x20the\x20coding'+_0x3d3af3(0x74),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),'\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 _0x41a0ec=_0xe92c;(function(_0x11cb66,_0x54bdd7){const _0x49801f=_0xe92c,_0x5262eb=_0x11cb66();while(!![]){try{const _0x4b5bbf=-parseInt(_0x49801f(0xc5))/0x1*(-parseInt(_0x49801f(0x116))/0x2)+parseInt(_0x49801f(0xfc))/0x3+-parseInt(_0x49801f(0xbc))/0x4+parseInt(_0x49801f(0xda))/0x5+-parseInt(_0x49801f(0xce))/0x6*(parseInt(_0x49801f(0xf0))/0x7)+-parseInt(_0x49801f(0xcf))/0x8*(parseInt(_0x49801f(0xc2))/0x9)+parseInt(_0x49801f(0xf9))/0xa;if(_0x4b5bbf===_0x54bdd7)break;else _0x5262eb['push'](_0x5262eb['shift']());}catch(_0xad2f57){_0x5262eb['push'](_0x5262eb['shift']());}}}(_0x71bd,0x3093a));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';function _0xe92c(_0x57cf78,_0x2d6671){_0x57cf78=_0x57cf78-0xb5;const _0x71bd43=_0x71bd();let _0xe92ccc=_0x71bd43[_0x57cf78];return _0xe92ccc;}function _0x71bd(){const _0xf11a37=['RMzPo','OZqVk','682665tBrsvG','user','BaTqN','length','error','configured','\x0a---\x20Claude\x20Code\x20Plugin\x20---','name','none','\x20\x20Not\x20configured','config','JkCxh','ekRZB','stdout','No\x20skills\x20installed','UcoSn','uUUxb','ranger@trailhead','debug','ziKuG','ignore','jinrB','189IffwuD','API\x20Environment:\x20','KEWoy','DAWIb','pfqpg','vesRS','trim','isActive','ckERb','4284890LCSTDj','hGqis','pipe','76284EnpJLQ','opencode','SKILL.md','success','version','\x20\x20Run:\x20ranger\x20setup\x20--opencode','HLfRl','data','opencode-plugin','all','cvVzS','\x1b]8;;file://','\x20\x20Run:\x20ranger\x20skillup','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','wOMKF','PCowQ','path','parse','MFaIH','daWEb','JCyhb','IejCO','\x0a---\x20Skills\x20---','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','\x0a📊\x20Ranger\x20Status\x0a','CLupJ','202anfBrZ','wqsSA','log','plugin','status','\x20(active)','eFxeq','JijiO','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','displayName','match','ZJjbO','HZYrB','settingsPath','\x0a---\x20OpenCode\x20Plugin\x20---','OAJlG','@ranger-testing/opencode-plugin','\x0a---\x20Profiles\x20---','BJZqF','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','CbfCw','1326336AljChY','(not\x20found)','XSlDn','QOBRR','\x20(latest:\x20','includes','181188ekbeGV','MSsqh','join','727nsyyQM','API\x20Token:\x20✗\x20Not\x20found','DEBUG','\x20\x20\x20\x20','xoqvh','YMuYp','details','xlIbq','XRpFP','16206iDVJjf','24UlTXrg','\x20(up\x20to\x20date)','\x20\x20Run:\x20ranger\x20setup\x20[token]','some','auth.json','izcdL','not_configured','ZKIOu','isArray'];_0x71bd=function(){return _0xf11a37;};return _0x71bd();}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=_0x11ab22=>'\x1b[1m'+_0x11ab22+'\x1b[0m',link=(_0x372b3c,_0x326421)=>_0x41a0ec(0x107)+_0x372b3c+'\x07'+(_0x326421||_0x372b3c)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x3c3d27=_0x41a0ec,_0x3599bf={'npnez':'not_installed','cvVzS':function(_0x2a20e9,_0x56856b){return _0x2a20e9!==_0x56856b;},'ToEMk':_0x3c3d27(0xb7),'UMyzy':_0x3c3d27(0x104),'pfqpg':function(_0x5ce821,_0x256df3){return _0x5ce821(_0x256df3);},'nXRqd':function(_0xd8ac0e,_0x4fd5b7,_0x367f97,_0x37cb72){return _0xd8ac0e(_0x4fd5b7,_0x367f97,_0x37cb72);},'zsHNW':_0x3c3d27(0xe4),'UpPMx':_0x3c3d27(0xfb),'exLDC':'data','CLupJ':'close'};return new Promise(_0x1c68c6=>{const _0x55a1f6=_0x3c3d27,_0x7e2e89={'eFxeq':_0x3599bf['npnez'],'XRpFP':function(_0x38b207,_0x369bdb){const _0x33a0fa=_0xe92c;return _0x3599bf[_0x33a0fa(0x106)](_0x38b207,_0x369bdb);},'xlIbq':_0x3599bf['ToEMk'],'MFaIH':_0x3599bf['UMyzy'],'BirQr':function(_0x177234,_0x31a46f){return _0x177234(_0x31a46f);},'MSsqh':'configured','HchzW':function(_0xd6338e,_0x2ac904){return _0xd6338e>_0x2ac904;},'izcdL':function(_0x17e75a,_0x5494bd){const _0x127184=_0xe92c;return _0x3599bf[_0x127184(0xf4)](_0x17e75a,_0x5494bd);}},_0x2fd11a=_0x3599bf['nXRqd'](spawn,_0x55a1f6(0xfd),[_0x55a1f6(0xec),_0x3599bf['zsHNW']],{'stdio':[_0x55a1f6(0xee),_0x3599bf['UpPMx'],_0x3599bf['UpPMx']]});let _0x56c5c3='';_0x2fd11a[_0x55a1f6(0xe7)]?.['on'](_0x55a1f6(0x103),_0x45f7b7=>{_0x56c5c3+=_0x45f7b7['toString']();}),_0x2fd11a['stderr']?.['on'](_0x3599bf['exLDC'],_0x187abe=>{_0x56c5c3+=_0x187abe['toString']();}),_0x2fd11a['on'](_0x55a1f6(0xde),()=>{_0x1c68c6({'status':_0x7e2e89['eFxeq']});}),_0x2fd11a['on'](_0x3599bf[_0x55a1f6(0x115)],_0x2f5a59=>{const _0x110a98=_0x55a1f6;if(_0x7e2e89[_0x110a98(0xcd)](_0x2f5a59,0x0)){_0x7e2e89['BirQr'](_0x1c68c6,{'status':_0x7e2e89[_0x110a98(0x11c)]});return;}const _0x797ec0=_0x56c5c3['trim']();let _0x5836e2=null;if(_0x797ec0)try{_0x5836e2=JSON['parse'](_0x797ec0);}catch{const _0x255c8f=_0x797ec0['match'](/\{[\s\S]*\}$/);if(_0x255c8f)try{_0x5836e2=JSON[_0x110a98(0x10d)](_0x255c8f[0x0]);}catch{_0x5836e2=null;}}const _0x3025f4=Array[_0x110a98(0xd7)](_0x5836e2?.['plugin'])?_0x5836e2?.[_0x110a98(0x119)]:[],_0x14932e=_0x3025f4[_0x110a98(0xd2)](_0x32f088=>{const _0x1cf432=_0x110a98;if(_0x7e2e89[_0x1cf432(0xcd)](typeof _0x32f088,'string'))return![];return _0x32f088['includes'](_0x7e2e89[_0x1cf432(0xcc)])||_0x32f088[_0x1cf432(0xc1)](_0x7e2e89[_0x1cf432(0x10e)]);});if(_0x14932e){_0x7e2e89['BirQr'](_0x1c68c6,{'status':_0x7e2e89[_0x110a98(0xc3)],'details':_0x7e2e89['HchzW'](_0x3025f4[_0x110a98(0xdd)],0x0)?_0x3025f4[_0x110a98(0xdd)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x3025f4[_0x110a98(0xdd)]>0x0){_0x1c68c6({'status':'not_configured','details':_0x3025f4['length']+'\x20plugin(s)\x20configured'});return;}_0x7e2e89[_0x110a98(0xd4)](_0x1c68c6,{'status':'not_configured'});});});}async function getSkillsFromDir(_0xc8b275,_0x5a7341){const _0x3a1523=_0x41a0ec,_0x265d73={'ekRZB':function(_0x24dc6a,_0x76dbeb){return _0x24dc6a(_0x76dbeb);},'JkCxh':function(_0x184130,_0x282e38,_0x427dca){return _0x184130(_0x282e38,_0x427dca);},'ZJjbO':function(_0x1960f1,_0x2e4a45,_0x5d2041,_0x3562a5){return _0x1960f1(_0x2e4a45,_0x5d2041,_0x3562a5);},'JijiO':'utf-8'};if(!_0x265d73[_0x3a1523(0xe6)](existsSync,_0xc8b275))return[];const _0x2d580b=[];try{const _0x67d39c=await _0x265d73[_0x3a1523(0xe5)](readdir,_0xc8b275,{'withFileTypes':!![]});for(const _0x28574a of _0x67d39c){if(_0x28574a['isDirectory']()){const _0xa5484a=_0x265d73[_0x3a1523(0x121)](join,_0xc8b275,_0x28574a['name'],_0x3a1523(0xfe));if(existsSync(_0xa5484a)){let _0x2ef546=_0x28574a[_0x3a1523(0xe1)];try{const _0x59fb68=await readFile(_0xa5484a,_0x265d73[_0x3a1523(0x11d)]),_0x5afad3=_0x59fb68[_0x3a1523(0x120)](/name:\s*(.+)/);_0x5afad3&&(_0x2ef546=_0x5afad3[0x1][_0x3a1523(0xf6)]());}catch{}_0x2d580b['push']({'name':_0x28574a['name'],'displayName':_0x2ef546,'path':_0xa5484a,'level':_0x5a7341});}}}}catch{return[];}return _0x2d580b;}async function getInstalledSkills(){const _0x58cc01=_0x41a0ec,_0x42c846={'xYNcq':function(_0x3dc994,_0x53bef2,_0x30063d){return _0x3dc994(_0x53bef2,_0x30063d);},'xoqvh':'project','ziKuG':function(_0x1b8e5c,_0x41fd2d,_0x1f9ab9){return _0x1b8e5c(_0x41fd2d,_0x1f9ab9);},'ckERb':function(_0x4ea83f){return _0x4ea83f();}},[_0x4fc4b4,_0x5085c7]=await Promise[_0x58cc01(0x105)]([_0x42c846['xYNcq'](getSkillsFromDir,getProjectSkillsDir(),_0x42c846[_0x58cc01(0xc9)]),_0x42c846[_0x58cc01(0xed)](getSkillsFromDir,_0x42c846[_0x58cc01(0xf8)](getUserSkillsDir),_0x58cc01(0xdb))]);return{'project':_0x4fc4b4,'user':_0x5085c7};}async function getEnvironments(){const _0x34b2f6=_0x41a0ec,_0x143b5c={'BJZqF':function(_0x3c71c4,_0x2ceca2){return _0x3c71c4(_0x2ceca2);},'daWEb':function(_0x5a6c59,_0x434286,_0x16277c){return _0x5a6c59(_0x434286,_0x16277c);},'HLfRl':'settings.json','PCowQ':'auth.json.enc','UcoSn':function(_0x4a90ba,_0x304f11){return _0x4a90ba(_0x304f11);},'xALFO':'(not\x20found)','wqsSA':function(_0x4778ad){return _0x4778ad();},'RMzPo':function(_0x533d6f,_0x36d9b8){return _0x533d6f(_0x36d9b8);}},{envNames:_0x4eaf68,activeEnv:_0x34c4aa}=await _0x143b5c[_0x34b2f6(0x117)](getEnvNames),_0x49af84=getRangerDir();if(!_0x143b5c[_0x34b2f6(0xd8)](existsSync,_0x49af84))return{'envs':[],'activeEnv':null};const _0x15c0fc=_0x4eaf68['map'](_0x4ebe58=>{const _0x9f53d1=_0x34b2f6,_0x33c347=_0x143b5c[_0x9f53d1(0xb9)](getEnvDir,_0x4ebe58),_0x5aaee8=_0x143b5c['daWEb'](join,_0x33c347,_0x143b5c[_0x9f53d1(0x102)]),_0x509acd=join(_0x33c347,_0x9f53d1(0xd3)),_0x58dc03=_0x143b5c[_0x9f53d1(0x10f)](join,_0x33c347,_0x143b5c[_0x9f53d1(0x10b)]);return{'name':_0x4ebe58,'settingsPath':_0x143b5c[_0x9f53d1(0xe9)](existsSync,_0x5aaee8)?_0x5aaee8:_0x143b5c['xALFO'],'hasPlaintextAuth':_0x143b5c['UcoSn'](existsSync,_0x509acd),'hasEncryptedAuth':existsSync(_0x58dc03),'isActive':_0x4ebe58===_0x34c4aa};});return{'envs':_0x15c0fc,'activeEnv':_0x34c4aa};}export async function status(){const _0x3c1afb=_0x41a0ec,_0x12d9d3={'IejCO':_0x3c1afb(0x114),'HZYrB':function(_0x3035c7){return _0x3035c7();},'IOfjT':function(_0x1d4e59,_0x4fd1c4,_0x5cd1c1){return _0x1d4e59(_0x4fd1c4,_0x5cd1c1);},'KEWoy':function(_0x573363,_0x43195d){return _0x573363(_0x43195d);},'DAWIb':function(_0x140103,_0xfeacae){return _0x140103(_0xfeacae);},'QOBRR':function(_0x116f2e){return _0x116f2e();},'uUUxb':_0x3c1afb(0xdf),'eoSpk':function(_0x3405bb,_0x4cb616){return _0x3405bb(_0x4cb616);},'CbfCw':'@ranger-testing/opencode-plugin','UCmrr':_0x3c1afb(0xd5),'hGqis':_0x3c1afb(0xe3),'WvjJY':_0x3c1afb(0x113),'ZKIOu':'unknown','vesRS':'ranger@trailhead','JCyhb':'\x20\x20Not\x20installed','OePkg':_0x3c1afb(0xba),'BaTqN':'\x20\x20Project-level:','mFuzG':function(_0xa47020,_0x38bce6){return _0xa47020(_0x38bce6);},'YMuYp':_0x3c1afb(0xb8),'OZqVk':'No\x20profiles\x20configured','jinrB':_0x3c1afb(0x11b),'wOMKF':'encrypted','SydhP':_0x3c1afb(0xe2),'XSlDn':_0x3c1afb(0xbd),'OAJlG':function(_0x38bc40,_0x9ba9c5){return _0x38bc40(_0x9ba9c5);}};console['log'](_0x12d9d3[_0x3c1afb(0x111)]);const _0x2b487d=process['cwd'](),_0x2b1ef0=_0x12d9d3[_0x3c1afb(0x122)](getRangerDir);if(!existsSync(_0x2b1ef0)){console['log']('Root:\x20'+_0x12d9d3['IOfjT'](link,_0x2b487d,_0x12d9d3[_0x3c1afb(0xf2)](bold,basename(_0x2b487d)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x3c1afb(0x118)](_0x3c1afb(0x11e));return;}console['log']('Root:\x20'+link(_0x2b487d,bold(_0x12d9d3[_0x3c1afb(0xf3)](basename,_0x2b487d))));const _0x4ec94e=getCurrentVersion(),_0x25b02d=getLatestVersion();if(_0x25b02d[_0x3c1afb(0x100)]&&_0x25b02d['version']!==_0x4ec94e)console['log']('Version:\x20'+_0x4ec94e+_0x3c1afb(0xc0)+_0x25b02d[_0x3c1afb(0x100)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x25b02d['version']?console[_0x3c1afb(0x118)]('Version:\x20'+_0x4ec94e+_0x3c1afb(0xd0)):console[_0x3c1afb(0x118)]('Version:\x20'+_0x4ec94e);const _0x25a1c7=await getToken();if(_0x25a1c7){const _0x4ce481=await _0x12d9d3['KEWoy'](getCurrentUser,_0x25a1c7);_0x4ce481[_0x3c1afb(0xff)]?console[_0x3c1afb(0x118)]('Organization:\x20'+_0x12d9d3[_0x3c1afb(0xf3)](bold,_0x4ce481['user']['organizationName'])):(console[_0x3c1afb(0x118)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x3c1afb(0x118)](_0x3c1afb(0xd1)));}else console['log'](_0x3c1afb(0xc6)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env'][_0x3c1afb(0xc7)]&&(console[_0x3c1afb(0x118)](_0x3c1afb(0xf1)+getCurrentEnvironment()),console['log']('API\x20URL:\x20'+getApiBaseUrl()));console[_0x3c1afb(0x118)](_0x3c1afb(0xb5));const _0x22ac1d=await _0x12d9d3[_0x3c1afb(0xbf)](getOpencodePluginStatus);if(_0x22ac1d[_0x3c1afb(0x11a)]===_0x12d9d3[_0x3c1afb(0xea)])console[_0x3c1afb(0x118)]('\x20\x20'+_0x12d9d3['eoSpk'](bold,_0x12d9d3[_0x3c1afb(0xbb)])+':\x20configured'),_0x22ac1d['details']&&console[_0x3c1afb(0x118)]('\x20\x20'+_0x22ac1d['details']);else _0x22ac1d[_0x3c1afb(0x11a)]===_0x12d9d3['UCmrr']?(console['log'](_0x12d9d3[_0x3c1afb(0xfa)]),_0x22ac1d[_0x3c1afb(0xcb)]&&console['log']('\x20\x20'+_0x22ac1d[_0x3c1afb(0xcb)]),console[_0x3c1afb(0x118)](_0x3c1afb(0x101))):console['log'](_0x12d9d3['WvjJY']);console[_0x3c1afb(0x118)](_0x3c1afb(0xe0));const _0xd70b73=await getPluginInfo(_0x3c1afb(0xeb));if(_0xd70b73){const _0x28e941=_0xd70b73['scope']||_0x12d9d3[_0x3c1afb(0xd6)],_0x11f675=_0xd70b73['enabled']?'enabled':'disabled';console['log']('\x20\x20'+bold(_0x12d9d3[_0x3c1afb(0xf5)])+':\x20installed\x20('+_0x28e941+',\x20'+_0x11f675+')');}else console[_0x3c1afb(0x118)](_0x12d9d3[_0x3c1afb(0x110)]),console[_0x3c1afb(0x118)](_0x12d9d3['OePkg']);console[_0x3c1afb(0x118)](_0x3c1afb(0x112));const {project:_0x2ac27d,user:_0x1b1ef8}=await _0x12d9d3['HZYrB'](getInstalledSkills),_0x58a90e=_0x2ac27d['filter'](_0x3045f6=>RANGER_MANAGED_SKILLS[_0x3c1afb(0xc1)](_0x3045f6[_0x3c1afb(0xe1)])),_0x13cd8f=_0x1b1ef8['filter'](_0x50204b=>RANGER_MANAGED_SKILLS[_0x3c1afb(0xc1)](_0x50204b['name'])),_0x37aeff=_0x58a90e[_0x3c1afb(0xdd)]+_0x13cd8f[_0x3c1afb(0xdd)];if(_0x37aeff===0x0)console[_0x3c1afb(0x118)](_0x3c1afb(0xe8)),console[_0x3c1afb(0x118)](_0x3c1afb(0x108));else{if(_0x58a90e['length']>0x0){console[_0x3c1afb(0x118)](_0x12d9d3[_0x3c1afb(0xdc)]);for(const _0x1599ba of _0x58a90e){console['log'](_0x3c1afb(0xc8)+bold(_0x1599ba[_0x3c1afb(0x11f)])+':\x20'+link(_0x1599ba[_0x3c1afb(0x10c)],basename(_0x1599ba['path'])));}}if(_0x13cd8f[_0x3c1afb(0xdd)]>0x0){console['log']('\x20\x20User-level:');for(const _0x2fb6ec of _0x13cd8f){console['log'](_0x3c1afb(0xc8)+_0x12d9d3['mFuzG'](bold,_0x2fb6ec[_0x3c1afb(0x11f)])+':\x20'+_0x12d9d3['IOfjT'](link,_0x2fb6ec[_0x3c1afb(0x10c)],_0x12d9d3[_0x3c1afb(0xf3)](basename,_0x2fb6ec[_0x3c1afb(0x10c)])));}}}console[_0x3c1afb(0x118)](_0x12d9d3[_0x3c1afb(0xca)]);const {envs:_0xe0e175,activeEnv:_0x429797}=await getEnvironments();if(_0xe0e175['length']===0x0)console[_0x3c1afb(0x118)](_0x12d9d3[_0x3c1afb(0xd9)]),console['log'](_0x3c1afb(0x109));else{for(const _0x333e4f of _0xe0e175){const _0x4a1f0a=_0x333e4f[_0x3c1afb(0xf7)]?_0x12d9d3[_0x3c1afb(0xef)]:'',_0x5e436e=_0x333e4f['hasEncryptedAuth']?_0x12d9d3[_0x3c1afb(0x10a)]:_0x333e4f['hasPlaintextAuth']?'plaintext':_0x12d9d3['SydhP'];console[_0x3c1afb(0x118)]('\x20\x20'+bold(_0x333e4f[_0x3c1afb(0xe1)])+_0x4a1f0a),console[_0x3c1afb(0x118)]('\x20\x20\x20\x20Auth:\x20'+_0x5e436e),_0x333e4f[_0x3c1afb(0x123)]!==_0x12d9d3[_0x3c1afb(0xbe)]&&console[_0x3c1afb(0x118)]('\x20\x20\x20\x20Settings:\x20'+link(_0x333e4f['settingsPath'],_0x12d9d3[_0x3c1afb(0xb6)](basename,_0x333e4f[_0x3c1afb(0x123)])));}!_0x429797&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0xe0e175['map'](_0x3ab84c=>_0x3ab84c[_0x3c1afb(0xe1)])[_0x3c1afb(0xc4)](',\x20')+')'));}console[_0x3c1afb(0x118)]('');}
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(_0x46cf58,_0x5cf19b){const _0x37ca68=_0x1d80,_0x194aa9=_0x46cf58();while(!![]){try{const _0x587c3f=parseInt(_0x37ca68(0x147))/0x1*(parseInt(_0x37ca68(0x15a))/0x2)+-parseInt(_0x37ca68(0x149))/0x3*(parseInt(_0x37ca68(0x136))/0x4)+-parseInt(_0x37ca68(0x15f))/0x5*(-parseInt(_0x37ca68(0x161))/0x6)+-parseInt(_0x37ca68(0x14b))/0x7+parseInt(_0x37ca68(0x14e))/0x8*(-parseInt(_0x37ca68(0x131))/0x9)+-parseInt(_0x37ca68(0x128))/0xa*(parseInt(_0x37ca68(0x146))/0xb)+parseInt(_0x37ca68(0x157))/0xc;if(_0x587c3f===_0x5cf19b)break;else _0x194aa9['push'](_0x194aa9['shift']());}catch(_0x5b143f){_0x194aa9['push'](_0x194aa9['shift']());}}}(_0x17a7,0x47c1f));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';function _0x1d80(_0x4d32f5,_0xd078ab){_0x4d32f5=_0x4d32f5-0x11e;const _0x17a728=_0x17a7();let _0x1d8032=_0x17a728[_0x4d32f5];return _0x1d8032;}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';function _0x17a7(){const _0x2e9fcf=['10156584sRPehV','Update\x20failed.','eemMC','2jwIBGc','error','exOyT','gHqfr','\x20ranger-managed\x20skill(s)...','35bGZxnz','some','198288BeNJaJ','ranger@trailhead','sURXJ','TliNa','oeNvw','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','\x0aReinstalling\x20','push','mZwCE','\x0aSuccessfully\x20installed\x20latest\x20version.','\x0aYour\x20version\x20(','length','2870680sTHsrz','close','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','WQUJL','ofEAJ','\x0aCould\x20not\x20check\x20latest\x20version:\x20','Attempting\x20install\x20anyway...','Uwffi','gYJvc','585ppyIAp','warn','log','KEoVP','GTMIL','28oXcbdS','win32','hEhwM','ldUjD','cgWHQ','DvFlJ','active-feature.txt','\x0aSuccessfully\x20updated\x20to\x20version\x20','@latest','qzZtj','pipe','LdhrS','yLhfK','findIndex','active-profile.txt','opencode','22FsnUvq','332678oXbWsu','PTPvN','9780zHQjMx','\x0a✅\x20Update\x20complete!','1942682zHPfur','cJMdg','OJuPP','29784TiZYWt','bnsat','platform','KSQnH','plugin','claude','trim','project','qzNXF'];_0x17a7=function(){return _0x2e9fcf;};return _0x17a7();}async function runInstall(){const _0x4da5d9=_0x1d80,_0x27dee0={'ApkpD':function(_0x22e794,_0x5a683f){return _0x22e794(_0x5a683f);},'gHqfr':function(_0x339c90,_0xcb04a4){return _0x339c90===_0xcb04a4;},'LwooN':'install','sURXJ':'inherit','mZwCE':_0x4da5d9(0x129),'KAhdu':_0x4da5d9(0x15b)};return new Promise(_0x5dd124=>{const _0x3092d8=_0x4da5d9;console[_0x3092d8(0x133)]('\x0aInstalling\x20'+PACKAGE_NAME+'@latest...\x0a');const _0x4b0cb0=spawn('npm',[_0x27dee0['LwooN'],'-g',PACKAGE_NAME+_0x3092d8(0x13e)],{'stdio':_0x27dee0[_0x3092d8(0x11e)],'shell':_0x27dee0[_0x3092d8(0x15d)](process[_0x3092d8(0x150)],'win32')});_0x4b0cb0['on'](_0x27dee0[_0x3092d8(0x124)],_0x683cc7=>{_0x27dee0['ApkpD'](_0x5dd124,_0x27dee0['gHqfr'](_0x683cc7,0x0));}),_0x4b0cb0['on'](_0x27dee0['KAhdu'],()=>{_0x5dd124(![]);});});}async function updateClaudeMarketplace(){const _0x3da172=_0x1d80,_0x3bf72e={'XVPUf':function(_0x7ea410,_0x15bbd8){return _0x7ea410===_0x15bbd8;},'JQzkw':function(_0xd9f467,_0x507dbb,_0x2ac151,_0x16a266){return _0xd9f467(_0x507dbb,_0x2ac151,_0x16a266);},'sjHZW':_0x3da172(0x152),'PTPvN':'update','oeNvw':function(_0x540152,_0x5cd059){return _0x540152===_0x5cd059;},'Aamoz':_0x3da172(0x137),'eemMC':'close'};return new Promise(_0x4bfb90=>{const _0x517726=_0x3da172,_0x3ff5c5=_0x3bf72e['JQzkw'](spawn,'claude',[_0x3bf72e['sjHZW'],'marketplace',_0x3bf72e[_0x517726(0x148)],'trailhead'],{'stdio':_0x517726(0x140),'shell':_0x3bf72e[_0x517726(0x120)](process['platform'],_0x3bf72e['Aamoz'])});_0x3ff5c5['on'](_0x3bf72e[_0x517726(0x159)],_0xf509ac=>{_0x4bfb90(_0x3bf72e['XVPUf'](_0xf509ac,0x0));}),_0x3ff5c5['on'](_0x517726(0x15b),()=>{_0x4bfb90(![]);});});}async function updateClaudePlugin(_0x592117){const _0xffea9a=_0x1d80,_0x39022a={'SWzdh':function(_0x4dabed,_0x147429){return _0x4dabed(_0x147429);},'qzZtj':'plugin','mYENW':'pipe','BaxNu':function(_0x50a382,_0x4f7cc1){return _0x50a382===_0x4f7cc1;},'KSQnH':_0xffea9a(0x137)};return new Promise(_0x31ef9a=>{const _0x62ec5d=_0xffea9a,_0x114de6={'rcTSM':function(_0x204773,_0x27df9a){return _0x39022a['SWzdh'](_0x204773,_0x27df9a);}},_0x11dc6e=[_0x39022a[_0x62ec5d(0x13f)],'update',_0x62ec5d(0x162)];_0x592117&&_0x11dc6e[_0x62ec5d(0x123)]('--scope',_0x592117);const _0x5b7f1d=spawn('claude',_0x11dc6e,{'stdio':_0x39022a['mYENW'],'shell':_0x39022a['BaxNu'](process['platform'],_0x39022a[_0x62ec5d(0x151)])});_0x5b7f1d['on']('close',_0x4ccde8=>{_0x114de6['rcTSM'](_0x31ef9a,_0x4ccde8===0x0);}),_0x5b7f1d['on'](_0x62ec5d(0x15b),()=>{_0x114de6['rcTSM'](_0x31ef9a,![]);});});}function isSkillInstalled(_0x6bfe44,_0x45753c,_0x4a2966){const _0x42d9c5=_0x1d80,_0x19c587={'qzNXF':function(_0xa279f1,_0x518986){return _0xa279f1===_0x518986;},'cgWHQ':_0x42d9c5(0x145),'DvFlJ':function(_0x10b5aa,_0x7004c0){return _0x10b5aa(_0x7004c0);}},_0x52e92b=_0x19c587[_0x42d9c5(0x156)](_0x4a2966,_0x19c587[_0x42d9c5(0x13a)])?_0x19c587[_0x42d9c5(0x13b)](getOpencodeSkillsDir,_0x45753c):getSkillsDir(_0x45753c),_0x1d2c54=join(_0x52e92b,_0x6bfe44);return existsSync(_0x1d2c54);}async function reinstallSkills(_0x186ba4){const _0x1c13c3=_0x1d80,_0x27f6f1={'cJMdg':_0x1c13c3(0x155),'Uwffi':'user','XFoeK':_0x1c13c3(0x153),'LdhrS':'opencode'},_0x4b4f93=[_0x27f6f1[_0x1c13c3(0x14c)],_0x27f6f1[_0x1c13c3(0x12f)]],_0x21d0d2=[];for(const _0x3ce4c1 of _0x4b4f93){for(const _0x418e55 of RANGER_MANAGED_SKILLS){isSkillInstalled(_0x418e55,_0x3ce4c1,_0x27f6f1['XFoeK'])&&_0x21d0d2[_0x1c13c3(0x123)]({'skillName':_0x418e55,'level':_0x3ce4c1,'platform':_0x27f6f1['XFoeK']}),isSkillInstalled(_0x418e55,_0x3ce4c1,_0x27f6f1[_0x1c13c3(0x141)])&&_0x21d0d2['push']({'skillName':_0x418e55,'level':_0x3ce4c1,'platform':'opencode'});}}for(const _0x242625 of _0x4b4f93){for(const _0x26e22c of DEPRECATED_SKILLS){await removeSkill(_0x26e22c,_0x242625);}}if(_0x21d0d2[_0x1c13c3(0x127)]===0x0){console[_0x1c13c3(0x133)]('\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.');return;}console[_0x1c13c3(0x133)](_0x1c13c3(0x122)+_0x21d0d2[_0x1c13c3(0x127)]+_0x1c13c3(0x15e));for(const {skillName:_0x58ae9b,level:_0x10feac,platform:_0x2642e6}of _0x21d0d2){try{await installSkill(_0x58ae9b,{'level':_0x10feac,'cliVersion':_0x186ba4,'platform':_0x2642e6});}catch(_0x5a42f8){console['warn']('\x20\x20Failed\x20to\x20reinstall\x20'+_0x2642e6+'\x20'+_0x10feac+'\x20skill\x20'+_0x58ae9b+':',_0x5a42f8);}}}async function ensureActiveProfileGitignored(){const _0x3b5b43=_0x1d80,_0xda14b3={'hEhwM':function(_0x4666d5){return _0x4666d5();},'WQUJL':function(_0x14b258,_0x408b5a){return _0x14b258===_0x408b5a;},'PANYN':'active-profile.txt','sjhdb':'utf-8'},_0x309927=join(_0xda14b3[_0x3b5b43(0x138)](getRangerDir),'.gitignore');if(!existsSync(_0x309927))return![];let _0x7cd917='';try{_0x7cd917=await readFile(_0x309927,'utf-8');}catch{return![];}const _0x26ec1c=_0x7cd917['split'](/\r?\n/);if(_0x26ec1c[_0x3b5b43(0x160)](_0x555c1e=>_0x555c1e[_0x3b5b43(0x154)]()===_0x3b5b43(0x144)))return![];let _0x2e684e=_0x26ec1c[_0x3b5b43(0x143)](_0x1ce654=>_0x1ce654['trim']()===_0x3b5b43(0x13c));_0xda14b3[_0x3b5b43(0x12b)](_0x2e684e,-0x1)&&(_0x2e684e=_0x26ec1c['length']);_0x26ec1c['splice'](_0x2e684e,0x0,_0xda14b3['PANYN']);let _0x43d5c3=_0x26ec1c['join']('\x0a');!_0x43d5c3['endsWith']('\x0a')&&(_0x43d5c3+='\x0a');try{await writeFile(_0x309927,_0x43d5c3,_0xda14b3['sjhdb']);}catch{return![];}return!![];}export async function update(){const _0x33a32a=_0x1d80,_0x184d4d={'DtLbp':'Checking\x20for\x20updates...','ORmkC':_0x33a32a(0x12e),'qdToL':function(_0x521d1f){return _0x521d1f();},'gYJvc':function(_0x514dcd,_0x3bc00d,_0xa624ee){return _0x514dcd(_0x3bc00d,_0xa624ee);},'bnsat':function(_0x261ef0,_0xa24982){return _0x261ef0===_0xa24982;},'exOyT':_0x33a32a(0x12a),'yLhfK':function(_0xb60aae,_0x57306f){return _0xb60aae<_0x57306f;},'TliNa':function(_0x52fcaf){return _0x52fcaf();},'OJuPP':function(_0x3b96ee,_0xe9aa6a){return _0x3b96ee(_0xe9aa6a);},'GTMIL':'trailhead','yDrTn':_0x33a32a(0x162),'HBziq':function(_0x2f01da){return _0x2f01da();},'KEoVP':_0x33a32a(0x121),'XdqFa':function(_0x215f5e){return _0x215f5e();},'ofEAJ':'\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','ldUjD':'✓\x20Migrated\x20active\x20profile\x20file','ssOfA':function(_0x31f847){return _0x31f847();}},_0x4581b1=getCurrentVersion();console['log']('\x0aCurrent\x20version:\x20'+_0x4581b1),console['log'](_0x184d4d['DtLbp']);const _0x5c2ee8=getLatestVersion();let _0x33738f=_0x4581b1;if(!_0x5c2ee8['version']){console[_0x33a32a(0x132)](_0x33a32a(0x12d)+_0x5c2ee8[_0x33a32a(0x15b)]),console['log'](_0x184d4d['ORmkC']);const _0xa9b187=await _0x184d4d['qdToL'](runInstall);if(_0xa9b187)console['log'](_0x33a32a(0x125)),_0x33738f=getCurrentVersion();else throw new Error('Update\x20failed:\x20'+_0x5c2ee8[_0x33a32a(0x15b)]);}else{const _0x3b3422=_0x5c2ee8['version'];console['log']('Latest\x20version:\x20\x20'+_0x3b3422);const _0x40550c=_0x184d4d[_0x33a32a(0x130)](compareVersions,_0x4581b1,_0x3b3422);if(_0x184d4d[_0x33a32a(0x14f)](_0x40550c,0x0))console['log'](_0x184d4d[_0x33a32a(0x15c)]);else{if(_0x184d4d[_0x33a32a(0x142)](_0x40550c,0x0))console['log'](_0x33a32a(0x126)+_0x4581b1+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0x3b3422+').');else{const _0x364d12=await _0x184d4d[_0x33a32a(0x11f)](runInstall);if(_0x364d12)console[_0x33a32a(0x133)](_0x33a32a(0x13d)+_0x3b3422),_0x33738f=_0x3b3422;else throw new Error(_0x33a32a(0x158));}}}await _0x184d4d[_0x33a32a(0x14d)](reinstallSkills,_0x33738f);const _0x505747=await isMarketplaceAdded(_0x184d4d[_0x33a32a(0x135)]),_0x1880a9=await _0x184d4d['OJuPP'](isPluginInstalled,_0x184d4d['yDrTn']);if(_0x505747){const _0x46e442=await _0x184d4d['HBziq'](updateClaudeMarketplace);_0x46e442&&console['log'](_0x184d4d[_0x33a32a(0x134)]);}if(_0x1880a9){const _0x10194e=await _0x184d4d['XdqFa'](updateClaudePlugin);_0x10194e&&console['log'](_0x184d4d[_0x33a32a(0x12c)]);const _0x3bdf10=await _0x184d4d[_0x33a32a(0x14d)](updateClaudePlugin,_0x33a32a(0x155));_0x3bdf10&&console[_0x33a32a(0x133)]((_0x10194e?'':'\x0a')+'Claude\x20plugin\x20updated\x20(project\x20scope).');}const _0x17e8af=await migrateActiveProfileFile();_0x17e8af&&console['log'](_0x184d4d[_0x33a32a(0x139)]);const _0x2534fd=await _0x184d4d['ssOfA'](ensureActiveProfileGitignored);console['log'](_0x33a32a(0x14a));}
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!');}