@ranger-testing/ranger-cli 2.1.6 → 2.1.7

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 (71) hide show
  1. package/README.md +1 -1
  2. package/build/cli.js +1 -1
  3. package/build/commands/addEnv.js +1 -1
  4. package/build/commands/authEncrypt.js +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/config.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/setup/claude.js +1 -1
  26. package/build/commands/setup/opencode.js +1 -1
  27. package/build/commands/setupCi.js +1 -1
  28. package/build/commands/skillup.js +1 -1
  29. package/build/commands/start.js +1 -1
  30. package/build/commands/status.js +1 -1
  31. package/build/commands/update.js +1 -1
  32. package/build/commands/updateEnv.js +1 -1
  33. package/build/commands/useEnv.js +1 -1
  34. package/build/commands/utils/activeProfile.js +1 -1
  35. package/build/commands/utils/browserSessionsApi.js +1 -1
  36. package/build/commands/utils/claudeConfig.js +1 -1
  37. package/build/commands/utils/claudePlugin.js +1 -1
  38. package/build/commands/utils/crypto.js +1 -1
  39. package/build/commands/utils/desirePathLog.js +1 -1
  40. package/build/commands/utils/deviceAuth.js +1 -1
  41. package/build/commands/utils/environment.js +1 -1
  42. package/build/commands/utils/featureApi.js +1 -1
  43. package/build/commands/utils/featureReportGenerator.js +1 -1
  44. package/build/commands/utils/fixWebmDuration.js +1 -1
  45. package/build/commands/utils/git.js +1 -1
  46. package/build/commands/utils/keychain.js +1 -1
  47. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  48. package/build/commands/utils/mcpImageBase64.js +1 -1
  49. package/build/commands/utils/model.js +1 -1
  50. package/build/commands/utils/opencodeConfig.js +1 -1
  51. package/build/commands/utils/profileMessages.js +1 -1
  52. package/build/commands/utils/profileSetupBanner.js +1 -1
  53. package/build/commands/utils/rangerConfig.js +1 -1
  54. package/build/commands/utils/rangerRoot.js +1 -1
  55. package/build/commands/utils/reportGenerator.js +1 -1
  56. package/build/commands/utils/retry.js +1 -1
  57. package/build/commands/utils/sessionCache.js +1 -1
  58. package/build/commands/utils/settings.js +1 -1
  59. package/build/commands/utils/skillContent.js +1 -1
  60. package/build/commands/utils/skills.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/build/skills/ranger/SKILL.md +25 -7
  68. package/build/skills/ranger/claude.md +7 -0
  69. package/build/skills/ranger/start.md +2 -2
  70. package/build/skills/ranger/verify.md +2 -1
  71. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x4d6d87,_0x55540f){const _0x5eba8f=_0x3795,_0x3f6996=_0x4d6d87();while(!![]){try{const _0x28e3c2=parseInt(_0x5eba8f(0xf5))/0x1*(parseInt(_0x5eba8f(0xe5))/0x2)+parseInt(_0x5eba8f(0xfa))/0x3*(parseInt(_0x5eba8f(0xf3))/0x4)+-parseInt(_0x5eba8f(0xef))/0x5+parseInt(_0x5eba8f(0xf2))/0x6+parseInt(_0x5eba8f(0xfc))/0x7+-parseInt(_0x5eba8f(0xe9))/0x8+-parseInt(_0x5eba8f(0xed))/0x9*(-parseInt(_0x5eba8f(0xfb))/0xa);if(_0x28e3c2===_0x55540f)break;else _0x3f6996['push'](_0x3f6996['shift']());}catch(_0x4a6173){_0x3f6996['push'](_0x3f6996['shift']());}}}(_0x1741,0x9abb2));import{open}from'fs/promises';import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';function _0x1741(){const _0x2f2eb0=['string','alloc','733836OuvFLX','50cwmrfn','7963102CQtpDA','trackCommandEnd','UFLSS','Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session','YNJAK','mdxXi','90078DxuSIO','bUIbZ','name',')\x20and\x20the\x20token\x20`','10129704iVIrGw','currentSessionId','RANGER_SKIP_VERIFICATION','featureId','311481NbEMns','size','3580075LjIryO','IvBPM',':\x0a\x0a','4356438tDPvPV','8NwsgKI','input','2sxXckB','stop_hook_active','transcript_path'];_0x1741=function(){return _0x2f2eb0;};return _0x1741();}import{getSessionEntry}from'../utils/sessionCache.js';function _0x3795(_0x4551db,_0x5be033){_0x4551db=_0x4551db-0xe1;const _0x1741d1=_0x1741();let _0x379500=_0x1741d1[_0x4551db];return _0x379500;}import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x166504){const _0x5153e7=_0x3795,_0x19ae8a={'rHUHv':function(_0x3f3a60,_0x253be7){return _0x3f3a60(_0x253be7);},'uaXBz':function(_0x21bd41,_0x33283c){return _0x21bd41===_0x33283c;},'fWcoX':_0x5153e7(0xf8),'DQjjd':function(_0x27685a,_0x541c01,_0x446332,_0x129d8f){return _0x27685a(_0x541c01,_0x446332,_0x129d8f);},'UFLSS':function(_0x424a7b,_0x31ac7b){return _0x424a7b(_0x31ac7b);},'Omlil':function(_0x304f79,_0x8b13ea,_0x54bd3f,_0xae5947){return _0x304f79(_0x8b13ea,_0x54bd3f,_0xae5947);},'KFfjO':function(_0x3135f5){return _0x3135f5();},'zoDQF':function(_0x40e20e,_0x477ccf,_0xa8bf3){return _0x40e20e(_0x477ccf,_0xa8bf3);},'AqCjg':function(_0x14c4a7,_0x4d8314,_0x389801,_0x34e88a){return _0x14c4a7(_0x4d8314,_0x389801,_0x34e88a);},'WoTOv':'block','aIqUF':function(_0x15f0b6,_0x417175,_0x5564fe,_0x1263f2){return _0x15f0b6(_0x417175,_0x5564fe,_0x1263f2);},'oPnSe':function(_0x505220,_0x565156,_0x51ee95,_0x4ed892){return _0x505220(_0x565156,_0x51ee95,_0x4ed892);}},_0x298bd9=await _0x19ae8a['rHUHv'](getEnabledHookContext,_0x166504),_0x230c63=_0x298bd9?.['sessionId']??null,_0x31aa38=Boolean(_0x298bd9?.['input']?.[_0x5153e7(0xf6)]),_0x5290c7=_0x19ae8a['uaXBz'](typeof _0x298bd9?.['input']?.[_0x5153e7(0xf7)],_0x19ae8a['fWcoX'])?_0x298bd9[_0x5153e7(0xf4)][_0x5153e7(0xf7)]:null;let _0x287b3b=!![];if(!_0x230c63){await _0x19ae8a['DQjjd'](trackStop,_0x230c63,![],_0x287b3b);return;}try{const _0xb1b2bc=_0x19ae8a[_0x5153e7(0xe1)](getSessionEntry,_0x230c63);if(!_0xb1b2bc){await _0x19ae8a['Omlil'](trackStop,_0x230c63,!![],_0x287b3b);return;}const _0xe44221='https://dashboard.ranger.net/features/'+_0xb1b2bc['featureId'],_0x55fb44=_0x5153e7(0xeb),_0x368314=await _0x19ae8a['KFfjO'](getToken),_0x3bd6af=!_0x31aa38;let _0x4169e6=null,_0x53a5f2=null;const _0x48fc85=_0x31aa38&&await _0x19ae8a['zoDQF'](transcriptHasToken,_0x5290c7,_0x55fb44),_0x1065f5=await _0x19ae8a['zoDQF'](transcriptHasToken,_0x5290c7,_0xe44221);if(_0x368314)try{const _0x2c7b22=await getFeature(_0xb1b2bc[_0x5153e7(0xec)]);_0x4169e6=_0x2c7b22[_0x5153e7(0xe7)]??null,_0x53a5f2=_0x2c7b22[_0x5153e7(0xea)]??null;}catch{}if(_0x368314&&_0x53a5f2)try{await concludeSession(_0xb1b2bc[_0x5153e7(0xec)],_0x53a5f2);}catch(_0x458e1c){if(_0x48fc85){await _0x19ae8a['AqCjg'](trackStop,_0x230c63,!![],_0x287b3b);return;}_0x287b3b=![];const _0x3d3c37=_0x458e1c instanceof Error?_0x458e1c['message']:_0x19ae8a['rHUHv'](String,_0x458e1c),_0x43bbf2={'decision':_0x19ae8a['WoTOv'],'reason':_0x5153e7(0xe2)+(_0x4169e6?'\x20for\x20\x22'+_0x4169e6+'\x22':'')+_0x5153e7(0xf1)+_0x3d3c37+'\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('+_0xe44221+_0x5153e7(0xe8)+_0x55fb44+'`,\x20then\x20run\x20/exit\x20again.'};console['log'](JSON['stringify'](_0x43bbf2)),await _0x19ae8a['aIqUF'](trackStop,_0x230c63,!![],_0x287b3b);return;}await trackStop(_0x230c63,!![],_0x287b3b);return;}catch{await _0x19ae8a['oPnSe'](trackStop,_0x230c63,!![],_0x287b3b);return;}}async function trackStop(_0x2c47d2,_0x52e3ae,_0x5a2784){const _0xcfaf20=_0x3795,_0x42dfb6={'qrcbZ':function(_0xfe0540,_0x2d76b3){return _0xfe0540(_0x2d76b3);},'mdxXi':'hook:stop','YNJAK':'success'};try{const _0x3ab916=_0x42dfb6['qrcbZ'](createTelemetryCollector,_0x42dfb6[_0xcfaf20(0xe4)]);await _0x3ab916['trackCommandStart']({'sessionId':_0x2c47d2??undefined,'hooksEnabled':_0x52e3ae,'stopAllowed':_0x5a2784}),await _0x3ab916[_0xcfaf20(0xfd)](_0x42dfb6[_0xcfaf20(0xe3)]);}catch{}}async function transcriptHasToken(_0x5482a4,_0x55ca6e){const _0x364072=_0x3795,_0x4ef140={'bUIbZ':function(_0x53e062,_0x548d90,_0x50e987){return _0x53e062(_0x548d90,_0x50e987);}};if(!_0x5482a4)return![];const _0x540931=await _0x4ef140[_0x364072(0xe6)](readTranscriptTail,_0x5482a4,0x30d40);return _0x540931?_0x540931['includes'](_0x55ca6e):![];}async function readTranscriptTail(_0x283217,_0x476ddb){const _0x14d101=_0x3795,_0x365986={'IvBPM':function(_0x3ee3c3,_0x270222){return _0x3ee3c3<=_0x270222;},'IhNpj':function(_0x3a7621,_0x56fd08){return _0x3a7621-_0x56fd08;},'sYlGQ':'utf8'};let _0xb36079=null;try{_0xb36079=await open(_0x283217,'r');const _0x2e459c=await _0xb36079['stat'](),_0x39ec48=Math['min'](_0x2e459c[_0x14d101(0xee)],_0x476ddb);if(_0x365986[_0x14d101(0xf0)](_0x39ec48,0x0))return'';const _0xb28779=Buffer[_0x14d101(0xf9)](_0x39ec48);return await _0xb36079['read'](_0xb28779,0x0,_0x39ec48,_0x365986['IhNpj'](_0x2e459c['size'],_0x39ec48)),_0xb28779['toString'](_0x365986['sYlGQ']);}catch{return null;}finally{try{await _0xb36079?.['close']();}catch{}}}
1
+ (function(_0x269fce,_0x1cc946){const _0x6b0555=_0x5351,_0x87c10c=_0x269fce();while(!![]){try{const _0x618907=parseInt(_0x6b0555(0x1bc))/0x1*(parseInt(_0x6b0555(0x1a3))/0x2)+parseInt(_0x6b0555(0x1ba))/0x3+-parseInt(_0x6b0555(0x1b3))/0x4*(-parseInt(_0x6b0555(0x1b8))/0x5)+parseInt(_0x6b0555(0x1b6))/0x6+-parseInt(_0x6b0555(0x1b5))/0x7*(-parseInt(_0x6b0555(0x1af))/0x8)+parseInt(_0x6b0555(0x1b0))/0x9+-parseInt(_0x6b0555(0x1a6))/0xa;if(_0x618907===_0x1cc946)break;else _0x87c10c['push'](_0x87c10c['shift']());}catch(_0x1c11be){_0x87c10c['push'](_0x87c10c['shift']());}}}(_0x3180,0x99f17));import{open}from'fs/promises';function _0x5351(_0xc77e91,_0x558619){_0xc77e91=_0xc77e91-0x1a3;const _0x318088=_0x3180();let _0x5351fc=_0x318088[_0xc77e91];return _0x5351fc;}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';function _0x3180(){const _0x4df1d4=['RDskp','name','32817280WcmrAT','qycWB','stringify','block',':\x0a\x0a',')\x20and\x20the\x20token\x20`','currentSessionId','log','size','1912tRcvuz','10041057QbMxDy','`,\x20then\x20run\x20/exit\x20again.','message','91704gPdgsh','input','21938UXIyhm','7183170HrOaAL','YlJMv','5KWyODS','utf8','387579YGRxXA','Akbqp','2ziAIKj','min','IxGwa','featureId','698266icUzDD'];_0x3180=function(){return _0x4df1d4;};return _0x3180();}export async function stopHook(_0x72417e){const _0x4f6a53=_0x5351,_0x4c3c73={'IxGwa':function(_0xda4f6f,_0x45f5db){return _0xda4f6f(_0x45f5db);},'YlJMv':function(_0x40edf7,_0x45b9dd,_0x3a2d6d,_0x2df440){return _0x40edf7(_0x45b9dd,_0x3a2d6d,_0x2df440);},'RDskp':function(_0x15bf0c,_0x1f4713){return _0x15bf0c&&_0x1f4713;},'btvcl':function(_0x5ca2d1,_0x507935){return _0x5ca2d1 instanceof _0x507935;},'ZRpTT':_0x4f6a53(0x1a9),'hXWRZ':function(_0x112400,_0x4ca40b,_0x5644d3,_0x310b7d){return _0x112400(_0x4ca40b,_0x5644d3,_0x310b7d);},'pjArx':function(_0x1d65c8,_0x3515fc,_0x2a39e5,_0x1da2d8){return _0x1d65c8(_0x3515fc,_0x2a39e5,_0x1da2d8);}},_0x49bf44=await getEnabledHookContext(_0x72417e),_0x3e8209=_0x49bf44?.['sessionId']??null,_0x4096e4=_0x4c3c73[_0x4f6a53(0x1be)](Boolean,_0x49bf44?.[_0x4f6a53(0x1b4)]?.['stop_hook_active']),_0x4ee349=typeof _0x49bf44?.['input']?.['transcript_path']==='string'?_0x49bf44['input']['transcript_path']:null;let _0x2fe7a6=!![];if(!_0x3e8209){await _0x4c3c73[_0x4f6a53(0x1b7)](trackStop,_0x3e8209,![],_0x2fe7a6);return;}try{const _0x35e411=_0x4c3c73[_0x4f6a53(0x1be)](getSessionEntry,_0x3e8209);if(!_0x35e411){await trackStop(_0x3e8209,!![],_0x2fe7a6);return;}const _0x3d2927='https://dashboard.ranger.net/features/'+_0x35e411[_0x4f6a53(0x1bf)],_0x17cf4a='RANGER_SKIP_VERIFICATION',_0x5a895d=await getToken(),_0x3bf510=!_0x4096e4;let _0x465696=null,_0x4b82d2=null;const _0x2b92d0=_0x4096e4&&await transcriptHasToken(_0x4ee349,_0x17cf4a),_0x2589d8=await transcriptHasToken(_0x4ee349,_0x3d2927);if(_0x5a895d)try{const _0x590b05=await _0x4c3c73['IxGwa'](getFeature,_0x35e411['featureId']);_0x465696=_0x590b05[_0x4f6a53(0x1a5)]??null,_0x4b82d2=_0x590b05[_0x4f6a53(0x1ac)]??null;}catch{}if(_0x4c3c73[_0x4f6a53(0x1a4)](_0x5a895d,_0x4b82d2))try{await concludeSession(_0x35e411['featureId'],_0x4b82d2);}catch(_0x455e71){if(_0x2b92d0){await _0x4c3c73['YlJMv'](trackStop,_0x3e8209,!![],_0x2fe7a6);return;}_0x2fe7a6=![];const _0x17db8f=_0x4c3c73['btvcl'](_0x455e71,Error)?_0x455e71[_0x4f6a53(0x1b2)]:String(_0x455e71),_0x2eba76={'decision':_0x4c3c73['ZRpTT'],'reason':'Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session'+(_0x465696?'\x20for\x20\x22'+_0x465696+'\x22':'')+_0x4f6a53(0x1aa)+_0x17db8f+'\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('+_0x3d2927+_0x4f6a53(0x1ab)+_0x17cf4a+_0x4f6a53(0x1b1)};console[_0x4f6a53(0x1ad)](JSON[_0x4f6a53(0x1a8)](_0x2eba76)),await _0x4c3c73['hXWRZ'](trackStop,_0x3e8209,!![],_0x2fe7a6);return;}await _0x4c3c73['pjArx'](trackStop,_0x3e8209,!![],_0x2fe7a6);return;}catch{await _0x4c3c73[_0x4f6a53(0x1b7)](trackStop,_0x3e8209,!![],_0x2fe7a6);return;}}async function trackStop(_0x40fb25,_0x469a97,_0x2607f1){const _0x1cccc4=_0x5351,_0x3e74bf={'Akbqp':function(_0xd7080b,_0x5db85b){return _0xd7080b(_0x5db85b);},'qycWB':function(_0x25279a,_0x117566){return _0x25279a??_0x117566;}};try{const _0x605aa8=_0x3e74bf[_0x1cccc4(0x1bb)](createTelemetryCollector,'hook:stop');await _0x605aa8['trackCommandStart']({'sessionId':_0x3e74bf[_0x1cccc4(0x1a7)](_0x40fb25,undefined),'hooksEnabled':_0x469a97,'stopAllowed':_0x2607f1}),await _0x605aa8['trackCommandEnd']('success');}catch{}}async function transcriptHasToken(_0x24dc58,_0x8398fa){const _0x554392={'QOXiX':function(_0x9cbc56,_0x1d3230,_0x6b27a2){return _0x9cbc56(_0x1d3230,_0x6b27a2);}};if(!_0x24dc58)return![];const _0x284cf1=await _0x554392['QOXiX'](readTranscriptTail,_0x24dc58,0x30d40);return _0x284cf1?_0x284cf1['includes'](_0x8398fa):![];}async function readTranscriptTail(_0x5b610b,_0x5caf51){const _0x25b82a=_0x5351,_0x3a29b2={'LYwmN':_0x25b82a(0x1b9)};let _0x51accf=null;try{_0x51accf=await open(_0x5b610b,'r');const _0x560f99=await _0x51accf['stat'](),_0x2327d3=Math[_0x25b82a(0x1bd)](_0x560f99[_0x25b82a(0x1ae)],_0x5caf51);if(_0x2327d3<=0x0)return'';const _0x2b6b0b=Buffer['alloc'](_0x2327d3);return await _0x51accf['read'](_0x2b6b0b,0x0,_0x2327d3,_0x560f99['size']-_0x2327d3),_0x2b6b0b['toString'](_0x3a29b2['LYwmN']);}catch{return null;}finally{try{await _0x51accf?.['close']();}catch{}}}
@@ -1 +1 @@
1
- (function(_0x23e776,_0x14aa4a){var _0x5e7c24=_0x15c5,_0x3b7747=_0x23e776();while(!![]){try{var _0xf66c4b=parseInt(_0x5e7c24(0x16c))/0x1+-parseInt(_0x5e7c24(0x173))/0x2+parseInt(_0x5e7c24(0x16a))/0x3*(-parseInt(_0x5e7c24(0x169))/0x4)+parseInt(_0x5e7c24(0x172))/0x5*(parseInt(_0x5e7c24(0x168))/0x6)+parseInt(_0x5e7c24(0x16d))/0x7*(-parseInt(_0x5e7c24(0x170))/0x8)+parseInt(_0x5e7c24(0x171))/0x9*(parseInt(_0x5e7c24(0x16f))/0xa)+parseInt(_0x5e7c24(0x16b))/0xb*(-parseInt(_0x5e7c24(0x16e))/0xc);if(_0xf66c4b===_0x14aa4a)break;else _0x3b7747['push'](_0x3b7747['shift']());}catch(_0x18d8ee){_0x3b7747['push'](_0x3b7747['shift']());}}}(_0x50ee,0xe1cd9));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 _0x15c5(_0x4b6829,_0x8d2e0a){_0x4b6829=_0x4b6829-0x168;var _0x50eea2=_0x50ee();var _0x15c568=_0x50eea2[_0x4b6829];return _0x15c568;}export{envList}from'./env.js';export{hook}from'./hook.js';function _0x50ee(){var _0x1c1937=['141016ockqav','9WxXMvf','4092455ehZpHZ','348746guGMmi','6FkiAvM','19124VAgaBF','237dwsxJx','2128313ywmcsB','1694457ScCaBJ','574ldgfBH','48PuuPCB','11833590FqTQXu'];_0x50ee=function(){return _0x1c1937;};return _0x50ee();}export{setupCi}from'./setupCi.js';
1
+ function _0x7b34(_0x5d3d3a,_0x43ce5b){_0x5d3d3a=_0x5d3d3a-0x10d;var _0x1ff8bc=_0x1ff8();var _0x7b3466=_0x1ff8bc[_0x5d3d3a];return _0x7b3466;}(function(_0x1ca11e,_0x3c3cb5){var _0x350932=_0x7b34,_0x45397b=_0x1ca11e();while(!![]){try{var _0x370e5f=-parseInt(_0x350932(0x116))/0x1*(parseInt(_0x350932(0x10e))/0x2)+-parseInt(_0x350932(0x10f))/0x3+-parseInt(_0x350932(0x115))/0x4*(parseInt(_0x350932(0x118))/0x5)+-parseInt(_0x350932(0x113))/0x6*(-parseInt(_0x350932(0x111))/0x7)+parseInt(_0x350932(0x114))/0x8*(-parseInt(_0x350932(0x117))/0x9)+parseInt(_0x350932(0x112))/0xa*(-parseInt(_0x350932(0x119))/0xb)+-parseInt(_0x350932(0x110))/0xc*(-parseInt(_0x350932(0x10d))/0xd);if(_0x370e5f===_0x3c3cb5)break;else _0x45397b['push'](_0x45397b['shift']());}catch(_0x1a46a4){_0x45397b['push'](_0x45397b['shift']());}}}(_0x1ff8,0x6e18a));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';function _0x1ff8(){var _0xe90898=['176qyHfFY','792763gDEhid','5796lPZZJO','18810Faiubw','2651572oZRuiM','3757tigQOn','2nXUGRG','2195775NphJGs','123684wWDyaV','7fPBuWW','30PoavWR','2389362fgBTrh','6368rdicXm'];_0x1ff8=function(){return _0xe90898;};return _0x1ff8();}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 +1 @@
1
- function _0x247a(_0x1b682b,_0x4ea6ae){_0x1b682b=_0x1b682b-0x149;const _0x3489dd=_0x3489();let _0x247a80=_0x3489dd[_0x1b682b];return _0x247a80;}(function(_0x1e09a0,_0x43f109){const _0x3a9b13=_0x247a,_0x222a0b=_0x1e09a0();while(!![]){try{const _0x205ca9=-parseInt(_0x3a9b13(0x14b))/0x1*(parseInt(_0x3a9b13(0x151))/0x2)+parseInt(_0x3a9b13(0x14e))/0x3+parseInt(_0x3a9b13(0x157))/0x4*(-parseInt(_0x3a9b13(0x152))/0x5)+-parseInt(_0x3a9b13(0x159))/0x6*(parseInt(_0x3a9b13(0x155))/0x7)+-parseInt(_0x3a9b13(0x14a))/0x8*(-parseInt(_0x3a9b13(0x14f))/0x9)+-parseInt(_0x3a9b13(0x15a))/0xa+-parseInt(_0x3a9b13(0x149))/0xb*(-parseInt(_0x3a9b13(0x158))/0xc);if(_0x205ca9===_0x43f109)break;else _0x222a0b['push'](_0x222a0b['shift']());}catch(_0x4c3e3e){_0x222a0b['push'](_0x222a0b['shift']());}}}(_0x3489,0xd2583));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x3489(){const _0x5f3a29=['UhyZK','fzFjl','2208816tSDFrt','207esTuct','user','216902OKOUib','745pfVpqk','success','Login\x20failed:\x20','892129tRMnOf','\x0a✅\x20Logged\x20in\x20to\x20','36948lQmkff','312528QoMMzs','12LiFyeY','13219260dTjgAA','stdout','1320kBSNNv','398648XkyuZo','11WaEZhx'];_0x3489=function(){return _0x5f3a29;};return _0x3489();}import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x1c9461=_0x247a,_0x564de4={'fzFjl':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','kVkMz':function(_0x284408){return _0x284408();},'apcfc':function(_0xf1c678,_0x2a90ab){return _0xf1c678(_0x2a90ab);},'UhyZK':function(_0x5313fd,_0x34f22e){return _0x5313fd instanceof _0x34f22e;}},_0x3d0957=process['stdin']['isTTY']&&process[_0x1c9461(0x15b)]['isTTY'];if(!_0x3d0957)throw new Error(_0x564de4[_0x1c9461(0x14d)]);try{const _0x23002a=await _0x564de4['kVkMz'](runDeviceAuthFlow),_0x5e978f=await _0x564de4['apcfc'](getCurrentUser,_0x23002a);_0x5e978f[_0x1c9461(0x153)]?console['log'](_0x1c9461(0x156)+_0x5e978f[_0x1c9461(0x150)]['organizationName']):console['log']('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0xaa5095){throw new Error(_0x1c9461(0x154)+(_0x564de4[_0x1c9461(0x14c)](_0xaa5095,Error)?_0xaa5095['message']:_0xaa5095));}}
1
+ function _0x3761(_0x1db637,_0x1ce844){_0x1db637=_0x1db637-0xbe;const _0x3b2459=_0x3b24();let _0x37612a=_0x3b2459[_0x1db637];return _0x37612a;}(function(_0x4d94a9,_0x4ca841){const _0x1b12d5=_0x3761,_0xe8fbd3=_0x4d94a9();while(!![]){try{const _0xbf6e36=parseInt(_0x1b12d5(0xca))/0x1+-parseInt(_0x1b12d5(0xc9))/0x2+-parseInt(_0x1b12d5(0xcf))/0x3*(-parseInt(_0x1b12d5(0xc6))/0x4)+parseInt(_0x1b12d5(0xc4))/0x5+parseInt(_0x1b12d5(0xc0))/0x6+-parseInt(_0x1b12d5(0xcd))/0x7*(-parseInt(_0x1b12d5(0xbe))/0x8)+-parseInt(_0x1b12d5(0xc2))/0x9;if(_0xbf6e36===_0x4ca841)break;else _0xe8fbd3['push'](_0xe8fbd3['shift']());}catch(_0x1c8ec1){_0xe8fbd3['push'](_0xe8fbd3['shift']());}}}(_0x3b24,0x9a205));function _0x3b24(){const _0x1d84fc=['Login\x20failed:\x20','15YiqOMh','4024jalaol','glfuB','6031860DvUjhy','ZJCLJ','20562039khyjmy','isTTY','1813365hYYdSj','stdin','838276OaRsKz','message','stdout','1770740hxoamm','392089Lbpgtz','log','success','13825jorLaj'];_0x3b24=function(){return _0x1d84fc;};return _0x3b24();}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x2e2653=_0x3761,_0xe30123={'ZJCLJ':function(_0x393582){return _0x393582();},'RPPOO':function(_0x550d2d,_0x4a72ab){return _0x550d2d(_0x4a72ab);},'glfuB':function(_0xfba491,_0x2c59fb){return _0xfba491 instanceof _0x2c59fb;}},_0x5eaa3d=process[_0x2e2653(0xc5)][_0x2e2653(0xc3)]&&process[_0x2e2653(0xc8)][_0x2e2653(0xc3)];if(!_0x5eaa3d)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x1ac85a=await _0xe30123[_0x2e2653(0xc1)](runDeviceAuthFlow),_0x72e74a=await _0xe30123['RPPOO'](getCurrentUser,_0x1ac85a);_0x72e74a[_0x2e2653(0xcc)]?console[_0x2e2653(0xcb)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x72e74a['user']['organizationName']):console['log']('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x1ab4f4){throw new Error(_0x2e2653(0xce)+(_0xe30123[_0x2e2653(0xbf)](_0x1ab4f4,Error)?_0x1ab4f4[_0x2e2653(0xc7)]:_0x1ab4f4));}}
@@ -1 +1 @@
1
- (function(_0x47bf6d,_0x3f052d){const _0x235c99=_0x5128,_0x1525f8=_0x47bf6d();while(!![]){try{const _0x4d24c5=-parseInt(_0x235c99(0xc0))/0x1+parseInt(_0x235c99(0xaf))/0x2+parseInt(_0x235c99(0xb7))/0x3*(parseInt(_0x235c99(0xc9))/0x4)+-parseInt(_0x235c99(0xbf))/0x5*(-parseInt(_0x235c99(0xc1))/0x6)+-parseInt(_0x235c99(0xb3))/0x7*(parseInt(_0x235c99(0x9c))/0x8)+-parseInt(_0x235c99(0xca))/0x9*(-parseInt(_0x235c99(0xc5))/0xa)+parseInt(_0x235c99(0xb2))/0xb;if(_0x4d24c5===_0x3f052d)break;else _0x1525f8['push'](_0x1525f8['shift']());}catch(_0xe20849){_0x1525f8['push'](_0x1525f8['shift']());}}}(_0x3e80,0xb1b5c));import{join}from'path';import{existsSync}from'fs';import _0xa83ea3 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x5128(_0x517f0a,_0x40e4e6){_0x517f0a=_0x517f0a-0x8a;const _0x3e80de=_0x3e80();let _0x5128ce=_0x3e80de[_0x517f0a];return _0x5128ce;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x3e80(){const _0x21190d=['confirm','rZwPl','gkZOG','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','includes','output','vFotG','error','❌\x20Failed\x20to\x20add\x20marketplace:','marketplace','plugin','vRrJo','.claude','WlNBA','✓\x20Claude\x20Code\x20plugin\x20enabled','nVHod','❌\x20Failed\x20to\x20install\x20plugin:','1343334IMhUIw','SKILL.md','ranger@trailhead','3521639gpypSz','9914051gTcGUD','JjKgp','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','3777PYeBdo','✓\x20Marketplace\x20already\x20added','success','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','unFxb','already\x20enabled','log','gqobH','572940mSNyde','537207cosfzn','6yzrQjN','prompt','--scope','nEwBc','10qjNzuW','qHXWW','⚠\x20Failed\x20to\x20enable\x20plugin:','pluginScope','2828kmBfPv','6163947OqBzSE','AVWFA','\x20level)...\x0a','ranger','gSDBz','YNwWl','project','trailhead','HBjjp','vWXWe','Would\x20you\x20like\x20to\x20install\x20skills?','list','user','Where\x20should\x20the\x20plugin\x20be\x20installed?','User\x20(available\x20in\x20all\x20your\x20projects)','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','wantsSkillup','cqZBF','KAcwX','8WtpmPY'];_0x3e80=function(){return _0x21190d;};return _0x3e80();}export async function ensureClaudePlugin(_0xa29b72){const _0xfa7466=_0x5128,_0x11a58f={'gqobH':'ranger@trailhead','vRrJo':_0xfa7466(0xb6),'AVWFA':function(_0x7644c5){return _0x7644c5();},'tDBUr':_0xfa7466(0x94),'gkZOG':_0xfa7466(0xc8),'JjKgp':_0xfa7466(0x95),'HBjjp':'project','nVHod':function(_0x27fbd0,_0x315430){return _0x27fbd0(_0x315430);},'IBnti':_0xfa7466(0x90),'dKnar':function(_0x3e9dec,_0x3a0042){return _0x3e9dec(_0x3a0042);},'VUVIB':_0xfa7466(0xa7),'VRWsK':'add','fFejY':'ranger-testing/trailhead','KAcwX':_0xfa7466(0xa6),'rZwPl':'\x0aYou\x20can\x20install\x20manually\x20with:','vWXWe':'plugin','roeEG':'install','unFxb':_0xfa7466(0xc3),'WlNBA':_0xfa7466(0xae),'YNwWl':_0xfa7466(0x98),'wFazI':'enable','qHXWW':function(_0x57c49e,_0x2f1f6f,_0x4d63dc){return _0x57c49e(_0x2f1f6f,_0x4d63dc);},'tLHFU':_0xfa7466(0xbc),'ChDHS':_0xfa7466(0xac)},_0x4fd9c3=await isPluginInstalled(_0x11a58f['gqobH']);if(_0x4fd9c3)return console[_0xfa7466(0xbd)](_0x11a58f[_0xfa7466(0xa9)]),![];const _0x303f92=existsSync(join(_0x11a58f[_0xfa7466(0x8a)](getProjectRoot),_0xfa7466(0xaa)));let _0x114c8a;if(_0xa29b72)_0x114c8a=_0xa29b72;else{if(_0x303f92)_0x114c8a='project';else{console[_0xfa7466(0xbd)](_0xfa7466(0xba));const _0x1c160e=await _0xa83ea3['prompt']([{'type':_0x11a58f['tDBUr'],'name':_0x11a58f[_0xfa7466(0x9f)],'message':_0xfa7466(0x96),'choices':[{'name':_0xfa7466(0x97),'value':_0x11a58f[_0xfa7466(0xb4)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x11a58f[_0xfa7466(0x91)]}],'default':_0x11a58f[_0xfa7466(0xb4)]}]);_0x114c8a=_0x1c160e[_0xfa7466(0xc8)];}}console['log'](_0xfa7466(0xb5)+_0x114c8a+_0xfa7466(0x8b));const _0x4b9895=await _0x11a58f[_0xfa7466(0xad)](isMarketplaceAdded,_0x11a58f['IBnti']);let _0x1a8561=_0x4b9895;if(_0x4b9895)console[_0xfa7466(0xbd)](_0xfa7466(0xb8));else{const _0x50183d=await _0x11a58f['dKnar'](runClaudeCommand,[_0xfa7466(0xa8),_0x11a58f['VUVIB'],_0x11a58f['VRWsK'],_0x11a58f['fFejY']]);!_0x50183d['success']?(console[_0xfa7466(0xa5)](_0x11a58f[_0xfa7466(0x9b)],_0x50183d[_0xfa7466(0xa5)]),console[_0xfa7466(0xbd)](_0x11a58f['rZwPl']),console[_0xfa7466(0xbd)](_0xfa7466(0xa0)),console['log'](_0xfa7466(0xa1)+_0x114c8a)):_0x1a8561=!![];}if(_0x1a8561){const _0x1c5d9c=await runClaudeCommand([_0x11a58f[_0xfa7466(0x92)],_0x11a58f['roeEG'],_0xfa7466(0xb1),_0x11a58f[_0xfa7466(0xbb)],_0x114c8a]);if(!_0x1c5d9c[_0xfa7466(0xb9)])console[_0xfa7466(0xa5)](_0x11a58f[_0xfa7466(0xab)],_0x1c5d9c[_0xfa7466(0xa5)]),console[_0xfa7466(0xbd)](_0x11a58f[_0xfa7466(0x9e)]),console[_0xfa7466(0xbd)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x114c8a);else{console[_0xfa7466(0xbd)](_0x11a58f[_0xfa7466(0x8e)]);const _0x3d4579=[_0x11a58f['vWXWe'],_0x11a58f['wFazI'],_0x11a58f[_0xfa7466(0xbe)]];_0x114c8a===_0x11a58f['HBjjp']&&_0x3d4579['push'](_0xfa7466(0xc3),_0x11a58f[_0xfa7466(0x91)]);const _0x3a1f76=await _0x11a58f[_0xfa7466(0xc6)](runClaudeCommand,_0x3d4579,{'captureOutput':!![]}),_0x2ace95=_0x3a1f76[_0xfa7466(0xa3)]?.[_0xfa7466(0xa2)](_0x11a58f['tLHFU']);!_0x3a1f76['success']&&!_0x2ace95?console[_0xfa7466(0xa5)](_0xfa7466(0xc7),_0x3a1f76[_0xfa7466(0xa5)]):console['log'](_0x11a58f['ChDHS']);}}return!![];}export async function ensureClaudeSkills(_0x4f35ab){const _0x1c135e=_0x5128,_0x3bc8f7={'vFotG':function(_0x2bc181,_0x3d93cf,_0x2ded20,_0x541781){return _0x2bc181(_0x3d93cf,_0x2ded20,_0x541781);},'PmKfb':'user','cqZBF':_0x1c135e(0xb0),'zKFxC':function(_0x47f816,_0x2e0477){return _0x47f816(_0x2e0477);},'LwzGN':function(_0x2b8e39,_0x4d669c){return _0x2b8e39||_0x4d669c;},'nEwBc':function(_0x5723dc,_0x416a2f,_0x4e1bad){return _0x5723dc(_0x416a2f,_0x4e1bad);},'JVaLm':function(_0x3a4553){return _0x3a4553();},'SAIfp':_0x1c135e(0xaa),'PuzrH':_0x1c135e(0x8f),'HjxPV':_0x1c135e(0x9d),'tvVfl':_0x1c135e(0x99),'gSDBz':_0x1c135e(0x93)},_0x5f06fa=existsSync(_0x3bc8f7[_0x1c135e(0xa4)](join,getSkillsDir(_0x3bc8f7['PmKfb']),_0x1c135e(0x8c),_0x3bc8f7[_0x1c135e(0x9a)])),_0x2765d8=_0x3bc8f7['zKFxC'](existsSync,_0x3bc8f7[_0x1c135e(0xa4)](join,getSkillsDir(_0x1c135e(0x8f)),_0x1c135e(0x8c),_0x3bc8f7[_0x1c135e(0x9a)]));if(_0x3bc8f7['LwzGN'](_0x5f06fa,_0x2765d8))return console[_0x1c135e(0xbd)]('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x577281=existsSync(_0x3bc8f7[_0x1c135e(0xc4)](join,_0x3bc8f7['JVaLm'](getProjectRoot),_0x3bc8f7['SAIfp']));let _0x5957ca=!![];if(_0x4f35ab)await skillup({'autoInstall':_0x4f35ab,'suppressUsage':!![]});else{if(_0x577281)await skillup({'autoInstall':_0x3bc8f7['PuzrH'],'suppressUsage':!![]});else{const _0x3c18ee=await _0xa83ea3[_0x1c135e(0xc2)]([{'type':_0x3bc8f7['HjxPV'],'name':_0x3bc8f7['tvVfl'],'message':_0x3bc8f7[_0x1c135e(0x8d)],'default':!![]}]);_0x5957ca=_0x3c18ee['wantsSkillup'],_0x5957ca&&await _0x3bc8f7['zKFxC'](skillup,{'suppressUsage':!![]});}}return _0x5957ca;}
1
+ (function(_0x93dda6,_0x54e94a){const _0x49fcb8=_0x3335,_0x1e5eef=_0x93dda6();while(!![]){try{const _0xc6cc9c=parseInt(_0x49fcb8(0xb3))/0x1*(parseInt(_0x49fcb8(0xe1))/0x2)+parseInt(_0x49fcb8(0xdc))/0x3+-parseInt(_0x49fcb8(0xd7))/0x4*(parseInt(_0x49fcb8(0xc8))/0x5)+-parseInt(_0x49fcb8(0xd1))/0x6+-parseInt(_0x49fcb8(0xd3))/0x7+parseInt(_0x49fcb8(0xd0))/0x8+parseInt(_0x49fcb8(0xb2))/0x9;if(_0xc6cc9c===_0x54e94a)break;else _0x1e5eef['push'](_0x1e5eef['shift']());}catch(_0x5bf4e2){_0x1e5eef['push'](_0x1e5eef['shift']());}}}(_0x21cd,0x1f813));import{join}from'path';import{existsSync}from'fs';import _0x1e7958 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x3335(_0x1950f7,_0x2bd231){_0x1950f7=_0x1950f7-0xa9;const _0x21cdcb=_0x21cd();let _0x333516=_0x21cdcb[_0x1950f7];return _0x333516;}function _0x21cd(){const _0x52c814=['GJuqU','user','781792eFSFqr','512226PSLJcF','UKcRS','1526000YFBslj','nzBMY','acJsm','already\x20enabled','286072czqgzH','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','enable','MqdIh','wantsSkillup','690804pZpMjI','❌\x20Failed\x20to\x20add\x20marketplace:','ranger@trailhead','install','fRluE','118UrBEWt','Where\x20should\x20the\x20plugin\x20be\x20installed?','mHBta','HbzcY','SKILL.md','YtIVG','voNxR','project','output','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','❌\x20Failed\x20to\x20install\x20plugin:','prompt','2864943bkqZXU','11eskwdC','error','OjexC','User\x20(available\x20in\x20all\x20your\x20projects)','OEWAu','⚠\x20Failed\x20to\x20enable\x20plugin:','hcQMh','fkwoT','ranger','log','✓\x20Claude\x20Code\x20plugin\x20enabled','EVgah','.claude','ranger-testing/trailhead','--scope','pluginScope','\x0aYou\x20can\x20install\x20manually\x20with:','pPMWG','HOkLw','MRwfW','Would\x20you\x20like\x20to\x20install\x20skills?','15TEyPkr','UddhQ','trailhead','vnYEV','success','plugin'];_0x21cd=function(){return _0x52c814;};return _0x21cd();}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0xc4bce8){const _0x5ba7a3=_0x3335,_0x480ffa={'YtIVG':_0x5ba7a3(0xde),'kewIs':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','IKGak':function(_0xbca60f,_0x2ecdb0){return _0xbca60f(_0x2ecdb0);},'BfeYu':function(_0x2badef,_0x234692,_0x4cda99){return _0x2badef(_0x234692,_0x4cda99);},'MRwfW':_0x5ba7a3(0xad),'OEWAu':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','hcQMh':'list','OjexC':_0x5ba7a3(0xc2),'UddhQ':_0x5ba7a3(0xe2),'SpYuN':_0x5ba7a3(0xcf),'HOkLw':'Project\x20(shared\x20with\x20team\x20via\x20git)','GJuqU':_0x5ba7a3(0xca),'nzBMY':'✓\x20Marketplace\x20already\x20added','Zvlih':function(_0x1225e7,_0x2930f3){return _0x1225e7(_0x2930f3);},'vnYEV':_0x5ba7a3(0xcd),'pPMWG':_0x5ba7a3(0xaf),'acJsm':_0x5ba7a3(0xc1),'gBGRX':_0x5ba7a3(0xb0),'IPRFw':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','ZWsmx':_0x5ba7a3(0xd6),'MqdIh':_0x5ba7a3(0xbd)},_0x552c51=await isPluginInstalled(_0x480ffa[_0x5ba7a3(0xab)]);if(_0x552c51)return console[_0x5ba7a3(0xbc)](_0x480ffa['kewIs']),![];const _0x4e6637=_0x480ffa['IKGak'](existsSync,_0x480ffa['BfeYu'](join,getProjectRoot(),_0x5ba7a3(0xbf)));let _0x58edd1;if(_0xc4bce8)_0x58edd1=_0xc4bce8;else{if(_0x4e6637)_0x58edd1=_0x480ffa['MRwfW'];else{console['log'](_0x480ffa[_0x5ba7a3(0xb7)]);const _0x130a51=await _0x1e7958['prompt']([{'type':_0x480ffa[_0x5ba7a3(0xb9)],'name':_0x480ffa[_0x5ba7a3(0xb5)],'message':_0x480ffa[_0x5ba7a3(0xc9)],'choices':[{'name':_0x5ba7a3(0xb6),'value':_0x480ffa['SpYuN']},{'name':_0x480ffa[_0x5ba7a3(0xc5)],'value':_0x480ffa[_0x5ba7a3(0xc6)]}],'default':_0x480ffa['SpYuN']}]);_0x58edd1=_0x130a51[_0x5ba7a3(0xc2)];}}console[_0x5ba7a3(0xbc)](_0x5ba7a3(0xd8)+_0x58edd1+'\x20level)...\x0a');const _0x1033c2=await isMarketplaceAdded(_0x480ffa[_0x5ba7a3(0xce)]);let _0x6d8e75=_0x1033c2;if(_0x1033c2)console['log'](_0x480ffa[_0x5ba7a3(0xd4)]);else{const _0x42a1c0=await _0x480ffa['Zvlih'](runClaudeCommand,[_0x480ffa[_0x5ba7a3(0xcb)],'marketplace','add',_0x5ba7a3(0xc0)]);!_0x42a1c0[_0x5ba7a3(0xcc)]?(console['error'](_0x5ba7a3(0xdd),_0x42a1c0['error']),console[_0x5ba7a3(0xbc)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log'](_0x480ffa[_0x5ba7a3(0xc4)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x58edd1)):_0x6d8e75=!![];}if(_0x6d8e75){const _0xde0e96=await runClaudeCommand([_0x480ffa[_0x5ba7a3(0xcb)],_0x5ba7a3(0xdf),_0x5ba7a3(0xde),_0x480ffa[_0x5ba7a3(0xd5)],_0x58edd1]);if(!_0xde0e96['success'])console['error'](_0x480ffa['gBGRX'],_0xde0e96[_0x5ba7a3(0xb4)]),console[_0x5ba7a3(0xbc)](_0x5ba7a3(0xc3)),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x58edd1);else{console[_0x5ba7a3(0xbc)](_0x480ffa['IPRFw']);const _0x253749=[_0x5ba7a3(0xcd),_0x5ba7a3(0xd9),_0x480ffa['YtIVG']];_0x58edd1===_0x480ffa[_0x5ba7a3(0xc6)]&&_0x253749['push'](_0x480ffa['acJsm'],'project');const _0x203fff=await runClaudeCommand(_0x253749,{'captureOutput':!![]}),_0x43ec7c=_0x203fff[_0x5ba7a3(0xae)]?.['includes'](_0x480ffa['ZWsmx']);!_0x203fff[_0x5ba7a3(0xcc)]&&!_0x43ec7c?console['error'](_0x5ba7a3(0xb8),_0x203fff['error']):console[_0x5ba7a3(0xbc)](_0x480ffa[_0x5ba7a3(0xda)]);}}return!![];}export async function ensureClaudeSkills(_0x1471da){const _0x14f962=_0x3335,_0x534581={'HbzcY':function(_0x31534b,_0x300f92){return _0x31534b(_0x300f92);},'fRluE':function(_0x350e30,_0x19eb97,_0x41a972,_0x209e34){return _0x350e30(_0x19eb97,_0x41a972,_0x209e34);},'mHBta':'user','RaCjB':_0x14f962(0xaa),'voNxR':function(_0x45b913,_0x9213dd){return _0x45b913(_0x9213dd);},'fkwoT':'project','UKcRS':'ranger','EVgah':function(_0x11f1ce,_0x27d291){return _0x11f1ce(_0x27d291);},'kkgSF':function(_0x49d46a,_0x62faab,_0x36dc64){return _0x49d46a(_0x62faab,_0x36dc64);},'csygT':_0x14f962(0xdb),'YtwOM':_0x14f962(0xc7)},_0x5ef105=_0x534581['HbzcY'](existsSync,_0x534581[_0x14f962(0xe0)](join,getSkillsDir(_0x534581[_0x14f962(0xe3)]),_0x14f962(0xbb),_0x534581['RaCjB'])),_0x223a83=_0x534581['voNxR'](existsSync,join(getSkillsDir(_0x534581[_0x14f962(0xba)]),_0x534581[_0x14f962(0xd2)],'SKILL.md'));if(_0x5ef105||_0x223a83)return console[_0x14f962(0xbc)]('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x5ef03e=_0x534581[_0x14f962(0xbe)](existsSync,_0x534581['kkgSF'](join,getProjectRoot(),'.claude'));let _0x199943=!![];if(_0x1471da)await skillup({'autoInstall':_0x1471da,'suppressUsage':!![]});else{if(_0x5ef03e)await _0x534581[_0x14f962(0xa9)](skillup,{'autoInstall':_0x534581[_0x14f962(0xba)],'suppressUsage':!![]});else{const _0x1445f6=await _0x1e7958[_0x14f962(0xb1)]([{'type':'confirm','name':_0x534581['csygT'],'message':_0x534581['YtwOM'],'default':!![]}]);_0x199943=_0x1445f6['wantsSkillup'],_0x199943&&await _0x534581[_0x14f962(0xac)](skillup,{'suppressUsage':!![]});}}return _0x199943;}
@@ -1 +1 @@
1
- (function(_0x5cdb76,_0x1565ea){const _0x43ff79=_0x305a,_0xa96005=_0x5cdb76();while(!![]){try{const _0x2aa61a=parseInt(_0x43ff79(0x1d7))/0x1+parseInt(_0x43ff79(0x1e2))/0x2*(-parseInt(_0x43ff79(0x1eb))/0x3)+-parseInt(_0x43ff79(0x1cf))/0x4+-parseInt(_0x43ff79(0x1d4))/0x5+parseInt(_0x43ff79(0x1d8))/0x6+parseInt(_0x43ff79(0x1d9))/0x7*(-parseInt(_0x43ff79(0x1e1))/0x8)+-parseInt(_0x43ff79(0x1df))/0x9*(-parseInt(_0x43ff79(0x1ea))/0xa);if(_0x2aa61a===_0x1565ea)break;else _0xa96005['push'](_0xa96005['shift']());}catch(_0x54bec9){_0xa96005['push'](_0xa96005['shift']());}}}(_0x2268,0x255ad));function _0x305a(_0x576700,_0x1af754){_0x576700=_0x576700-0x1cd;const _0x226863=_0x2268();let _0x305a52=_0x226863[_0x576700];return _0x305a52;}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x4e1599 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x163001){const _0x14bca9=_0x305a,_0x58fe49={'dEaKc':function(_0x2b3f33,_0x330e78,_0x244f8c){return _0x2b3f33(_0x330e78,_0x244f8c);},'RJyNy':function(_0x29ceac,_0x2d7200){return _0x29ceac(_0x2d7200);},'vAUdH':'project','hkKJN':_0x14bca9(0x1e4),'QqfnH':'list','IhSct':'Where\x20should\x20the\x20plugin\x20be\x20installed?','wuGcs':function(_0x27d22c,_0x496311,_0x13a6c7){return _0x27d22c(_0x496311,_0x13a6c7);},'GFseE':_0x14bca9(0x1e6),'KHaJT':'https://opencode.ai/config.json','hjVee':function(_0xa05756,_0xd8ea51,_0x18d69b){return _0xa05756(_0xd8ea51,_0x18d69b);},'zYhKT':'utf-8','UAqBK':_0x14bca9(0x1db),'wWilQ':_0x14bca9(0x1cd),'lVzDO':function(_0x25bc0d,_0x1b576e,_0xc8227){return _0x25bc0d(_0x1b576e,_0xc8227);},'JqOCX':_0x14bca9(0x1e7)},_0x5f5a67=existsSync(_0x58fe49[_0x14bca9(0x1e9)](join,_0x58fe49[_0x14bca9(0x1da)](getOpencodeConfigDir,_0x58fe49[_0x14bca9(0x1e0)]),'opencode.json'));let _0x390b4e;if(_0x163001)_0x390b4e=_0x163001;else{if(_0x5f5a67)_0x390b4e='project';else{console[_0x14bca9(0x1e5)](_0x58fe49['hkKJN']);const _0x338d3e=await _0x4e1599['prompt']([{'type':_0x58fe49['QqfnH'],'name':'pluginScope','message':_0x58fe49['IhSct'],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x14bca9(0x1ce)},{'name':_0x14bca9(0x1d2),'value':'project'}],'default':'user'}]);_0x390b4e=_0x338d3e[_0x14bca9(0x1de)];}}const _0x519a11=_0x58fe49[_0x14bca9(0x1d3)](join,getOpencodeConfigDir(_0x390b4e),_0x14bca9(0x1ec)),_0x2655ea=_0x58fe49['GFseE'],_0x5e1ddb=_0x58fe49[_0x14bca9(0x1dc)];let _0x8917c1={};if(existsSync(_0x519a11))try{const _0x1fea81=await _0x58fe49[_0x14bca9(0x1e3)](readFile,_0x519a11,_0x58fe49[_0x14bca9(0x1d6)]);_0x8917c1=JSON['parse'](_0x1fea81);}catch(_0x455e21){return console[_0x14bca9(0x1d0)](_0x14bca9(0x1d5)),{'configured':![],'scope':_0x390b4e,'error':_0x58fe49['UAqBK'],'details':_0x455e21};}const _0x22287=Array[_0x14bca9(0x1e8)](_0x8917c1['plugin'])?_0x8917c1[_0x14bca9(0x1d1)]:[];if(_0x22287['includes'](_0x2655ea))return console['log'](_0x58fe49['wWilQ']),{'configured':![],'scope':_0x390b4e};return _0x8917c1['$schema']=_0x8917c1[_0x14bca9(0x1dd)]||_0x5e1ddb,_0x8917c1[_0x14bca9(0x1d1)]=[..._0x22287,_0x2655ea],await _0x58fe49['lVzDO'](mkdir,_0x58fe49['RJyNy'](getOpencodeConfigDir,_0x390b4e),{'recursive':!![]}),await _0x58fe49[_0x14bca9(0x1e9)](writeFile,_0x519a11,JSON['stringify'](_0x8917c1,null,0x2)+'\x0a'),console['log'](_0x58fe49['JqOCX']),{'configured':!![],'scope':_0x390b4e};}function _0x2268(){const _0x332174=['191817TIBBrM','opencode.json','✓\x20OpenCode\x20plugin\x20already\x20configured','user','1209320loAFmX','error','plugin','Project\x20(shared\x20with\x20team\x20via\x20git)','wuGcs','1166315OByWfw','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','zYhKT','208667dHxcwd','1329780uqfVvt','77xXxEmd','RJyNy','Failed\x20to\x20read\x20opencode.json','KHaJT','$schema','pluginScope','3065940ICvZCr','vAUdH','214648ugHCCk','4WXnRbu','hjVee','\x0a📦\x20OpenCode\x20Plugin\x0a','log','@ranger-testing/opencode-plugin','✓\x20OpenCode\x20plugin\x20configured','isArray','dEaKc','20hAhZrE'];_0x2268=function(){return _0x332174;};return _0x2268();}
1
+ (function(_0x3be20d,_0x26ba83){const _0x7674fe=_0x1860,_0x28130e=_0x3be20d();while(!![]){try{const _0x323186=-parseInt(_0x7674fe(0x1b0))/0x1*(parseInt(_0x7674fe(0x1a9))/0x2)+parseInt(_0x7674fe(0x1ab))/0x3+-parseInt(_0x7674fe(0x1bf))/0x4+parseInt(_0x7674fe(0x1c5))/0x5+parseInt(_0x7674fe(0x1c3))/0x6*(-parseInt(_0x7674fe(0x1b6))/0x7)+-parseInt(_0x7674fe(0x1be))/0x8+parseInt(_0x7674fe(0x1b4))/0x9;if(_0x323186===_0x26ba83)break;else _0x28130e['push'](_0x28130e['shift']());}catch(_0x4430c3){_0x28130e['push'](_0x28130e['shift']());}}}(_0x3175,0xab7dc));import{join}from'path';function _0x1860(_0x54b087,_0x33e3eb){_0x54b087=_0x54b087-0x1a9;const _0x317533=_0x3175();let _0x1860aa=_0x317533[_0x54b087];return _0x1860aa;}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x24a238 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x3175(){const _0x501f41=['plugin','TUuLr','2494512gjdywU','2544328yUmffm','opencode.json','\x0a📦\x20OpenCode\x20Plugin\x0a','@ranger-testing/opencode-plugin','294PxadgC','✓\x20OpenCode\x20plugin\x20already\x20configured','3277080pvxEHf','pluginScope','2LmaGOj','Where\x20should\x20the\x20plugin\x20be\x20installed?','1515144iOWkvs','User\x20(available\x20in\x20all\x20your\x20projects)','sTsrT','includes','log','372958lDDOjI','wKezK','isArray','parse','20306961GvnDrw','cbwpv','199073erTwfq','iVsVU','project','VVzLc','✓\x20OpenCode\x20plugin\x20configured','$schema'];_0x3175=function(){return _0x501f41;};return _0x3175();}export async function ensureOpencodePluginConfig(_0x4d2342){const _0x190588=_0x1860,_0x307ca7={'ameMa':function(_0x2cd778,_0x592c87,_0x47bc6c){return _0x2cd778(_0x592c87,_0x47bc6c);},'iVsVU':function(_0x2c5805,_0x58fab9){return _0x2c5805(_0x58fab9);},'TUuLr':'project','cbwpv':_0x190588(0x1c1),'RbicD':'list','wErCM':'user','egmoH':function(_0x2f7b3d,_0x4385ec,_0x464e78){return _0x2f7b3d(_0x4385ec,_0x464e78);},'unUVx':_0x190588(0x1c2),'VVzLc':'https://opencode.ai/config.json','zlarD':function(_0x58b1e9,_0x2f963b){return _0x58b1e9(_0x2f963b);},'zIZpe':'utf-8','sTsrT':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','tUreg':_0x190588(0x1c4),'wKezK':function(_0x1c7b47,_0x4e4bb3){return _0x1c7b47(_0x4e4bb3);},'HQTLS':_0x190588(0x1ba)},_0x41ff38=existsSync(_0x307ca7['ameMa'](join,_0x307ca7[_0x190588(0x1b7)](getOpencodeConfigDir,_0x190588(0x1b8)),_0x190588(0x1c0)));let _0x2a27ad;if(_0x4d2342)_0x2a27ad=_0x4d2342;else{if(_0x41ff38)_0x2a27ad=_0x307ca7[_0x190588(0x1bd)];else{console['log'](_0x307ca7[_0x190588(0x1b5)]);const _0x37d2c4=await _0x24a238['prompt']([{'type':_0x307ca7['RbicD'],'name':_0x190588(0x1c6),'message':_0x190588(0x1aa),'choices':[{'name':_0x190588(0x1ac),'value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':'project'}],'default':_0x307ca7['wErCM']}]);_0x2a27ad=_0x37d2c4[_0x190588(0x1c6)];}}const _0x125f49=_0x307ca7['egmoH'](join,getOpencodeConfigDir(_0x2a27ad),'opencode.json'),_0x1eb911=_0x307ca7['unUVx'],_0x560889=_0x307ca7[_0x190588(0x1b9)];let _0x577d78={};if(_0x307ca7['zlarD'](existsSync,_0x125f49))try{const _0x59e76f=await readFile(_0x125f49,_0x307ca7['zIZpe']);_0x577d78=JSON[_0x190588(0x1b3)](_0x59e76f);}catch(_0x32f3cc){return console['error'](_0x307ca7[_0x190588(0x1ad)]),{'configured':![],'scope':_0x2a27ad,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x32f3cc};}const _0x58cdc5=Array[_0x190588(0x1b2)](_0x577d78['plugin'])?_0x577d78[_0x190588(0x1bc)]:[];if(_0x58cdc5[_0x190588(0x1ae)](_0x1eb911))return console[_0x190588(0x1af)](_0x307ca7['tUreg']),{'configured':![],'scope':_0x2a27ad};return _0x577d78['$schema']=_0x577d78[_0x190588(0x1bb)]||_0x560889,_0x577d78['plugin']=[..._0x58cdc5,_0x1eb911],await mkdir(_0x307ca7[_0x190588(0x1b1)](getOpencodeConfigDir,_0x2a27ad),{'recursive':!![]}),await _0x307ca7['ameMa'](writeFile,_0x125f49,JSON['stringify'](_0x577d78,null,0x2)+'\x0a'),console[_0x190588(0x1af)](_0x307ca7['HQTLS']),{'configured':!![],'scope':_0x2a27ad};}
@@ -1 +1 @@
1
- (function(_0x33f296,_0xc68a7a){const _0x1aa28e=_0x2f52,_0x51f04b=_0x33f296();while(!![]){try{const _0x30902d=-parseInt(_0x1aa28e(0x11c))/0x1+-parseInt(_0x1aa28e(0x117))/0x2+parseInt(_0x1aa28e(0x116))/0x3*(-parseInt(_0x1aa28e(0x131))/0x4)+parseInt(_0x1aa28e(0x14f))/0x5+-parseInt(_0x1aa28e(0x139))/0x6+-parseInt(_0x1aa28e(0x14b))/0x7*(parseInt(_0x1aa28e(0x140))/0x8)+parseInt(_0x1aa28e(0x153))/0x9*(parseInt(_0x1aa28e(0x14d))/0xa);if(_0x30902d===_0xc68a7a)break;else _0x51f04b['push'](_0x51f04b['shift']());}catch(_0x300fec){_0x51f04b['push'](_0x51f04b['shift']());}}}(_0x1727,0x8a2e5));import{mkdir,readFile,readdir}from'fs/promises';function _0x2f52(_0x1fba5e,_0x1dbfdf){_0x1fba5e=_0x1fba5e-0x116;const _0x17276c=_0x1727();let _0x2f52eb=_0x17276c[_0x1fba5e];return _0x2f52eb;}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(_0x46d260){const _0x5caa5f=_0x2f52,_0x384a9f={'nuqQv':function(_0x1516ad){return _0x1516ad();},'jxxUx':function(_0x51b6c9,_0x31fce8,_0x57b846){return _0x51b6c9(_0x31fce8,_0x57b846);},'oWJfD':function(_0x405bfc,_0x25b548,_0x42afc4){return _0x405bfc(_0x25b548,_0x42afc4);},'lLzrE':function(_0x463efc,_0x46fd2f){return _0x463efc(_0x46fd2f);},'mvcRj':function(_0x331041,_0x2fdbab,_0x461385){return _0x331041(_0x2fdbab,_0x461385);},'NJcVq':'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.'},_0x4ea94d=_0x384a9f[_0x5caa5f(0x122)](getRangerDir),_0x3e29aa=_0x384a9f['jxxUx'](join,_0x4ea94d,'ci');if(_0x46d260){const _0x2716b0=_0x384a9f[_0x5caa5f(0x14c)](join,_0x3e29aa,_0x46d260);return{'name':_0x46d260,'path':_0x2716b0};}if(!_0x384a9f['lLzrE'](existsSync,_0x3e29aa))throw new Error(_0x5caa5f(0x143)+'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.');const _0x22eccf=await _0x384a9f['mvcRj'](readdir,_0x3e29aa,{'withFileTypes':!![]}),_0x397d25=_0x22eccf['filter'](_0x5e346b=>_0x5e346b[_0x5caa5f(0x118)]())['map'](_0x51fbde=>_0x51fbde[_0x5caa5f(0x147)]);if(_0x397d25[_0x5caa5f(0x146)]===0x0)throw new Error('No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a'+_0x384a9f['NJcVq']);if(_0x397d25[_0x5caa5f(0x146)]===0x1){const _0xeb0e42=_0x397d25[0x0];return console[_0x5caa5f(0x12e)](_0x5caa5f(0x121)+_0xeb0e42),{'name':_0xeb0e42,'path':join(_0x3e29aa,_0xeb0e42)};}throw new Error(_0x5caa5f(0x133)+_0x397d25['join'](',\x20')+_0x5caa5f(0x148));}async function installPluginNonInteractive(){const _0x1c3b1d=_0x2f52,_0x500899={'lTUvL':function(_0x21a0ba,_0x3aa154){return _0x21a0ba(_0x3aa154);},'TZlxQ':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','ICxqM':_0x1c3b1d(0x13f),'eXFCQ':_0x1c3b1d(0x124),'UPsQy':'marketplace','DIKIQ':_0x1c3b1d(0x12c),'DPBeX':_0x1c3b1d(0x129),'OolIF':'You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','UkjEE':_0x1c3b1d(0x12b),'YDXNm':'Failed\x20to\x20install\x20plugin:'},_0x54382c=await _0x500899['lTUvL'](isPluginInstalled,_0x1c3b1d(0x11b));if(_0x54382c)return console['log'](_0x500899['TZlxQ']),![];console[_0x1c3b1d(0x12e)](_0x1c3b1d(0x123));const _0x41ef96=await isMarketplaceAdded('trailhead');let _0x5435d1=_0x41ef96;if(_0x41ef96)console['log'](_0x500899[_0x1c3b1d(0x155)]);else{const _0x5c2bad=await _0x500899['lTUvL'](runClaudeCommand,[_0x500899[_0x1c3b1d(0x141)],_0x500899['UPsQy'],_0x1c3b1d(0x11d),_0x500899[_0x1c3b1d(0x150)]]);!_0x5c2bad['success']?(console[_0x1c3b1d(0x14e)](_0x500899[_0x1c3b1d(0x144)],_0x5c2bad[_0x1c3b1d(0x14e)]),console[_0x1c3b1d(0x12e)](_0x500899[_0x1c3b1d(0x13d)])):_0x5435d1=!![];}if(_0x5435d1){const _0x3b3dd5=await runClaudeCommand([_0x500899[_0x1c3b1d(0x141)],_0x500899['UkjEE'],_0x1c3b1d(0x11b),_0x1c3b1d(0x151),_0x1c3b1d(0x119)]);!_0x3b3dd5['success']?(console[_0x1c3b1d(0x14e)](_0x500899[_0x1c3b1d(0x156)],_0x3b3dd5[_0x1c3b1d(0x14e)]),console[_0x1c3b1d(0x12e)]('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project')):console['log']('✓\x20Claude\x20Code\x20plugin\x20installed');}return!![];}export async function setupCi(_0xbaaa45,_0x37c113,_0x2ce745){const _0x31c066=_0x2f52,_0x1b3a00={'VPtzQ':_0x31c066(0x11e),'PfzeL':'auth','uJZsh':'dir_setup','EdCfa':function(_0x3a01f9,_0x25347f){return _0x3a01f9(_0x25347f);},'DWNFO':_0x31c066(0x135),'uFopm':_0x31c066(0x126),'irxSG':'profile_activate','uiSfu':function(_0x4e361a,_0x40dd92,_0x3e36cd){return _0x4e361a(_0x40dd92,_0x3e36cd);},'ToLyK':function(_0x589aa2,_0x2908c5){return _0x589aa2(_0x2908c5);},'iOJoS':function(_0x47b7f8){return _0x47b7f8();},'yudYX':function(_0x2b5073,_0x97b89f){return _0x2b5073(_0x97b89f);},'ZXdXq':_0x31c066(0x125),'eZlPn':'✓\x20Auth\x20state\x20found','HhbUw':function(_0x1fed47,_0xb19424){return _0x1fed47(_0xb19424);},'jmPDX':'skills','GaXhS':function(_0x2e1954,_0x20943d){return _0x2e1954(_0x20943d);},'AHJoK':'\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a'};console[_0x31c066(0x12e)](_0x1b3a00[_0x31c066(0x149)]),_0x2ce745?.['trackPhaseStart'](_0x1b3a00['PfzeL']),await authenticate(_0xbaaa45),_0x2ce745?.[_0x31c066(0x13b)]('auth'),_0x2ce745?.['trackPhaseStart'](_0x1b3a00['uJZsh']);const {path:_0x5a758d,installed:_0x8aa47f}=await ensureRangerDir();await _0x1b3a00[_0x31c066(0x142)](writeRangerGitignore,_0x5a758d);const _0x37f061=join(_0x5a758d,_0x31c066(0x11f));!existsSync(_0x37f061)&&await mkdir(_0x37f061,{'recursive':!![]});_0x2ce745?.[_0x31c066(0x13b)]('dir_setup',{'installed':_0x8aa47f}),_0x2ce745?.[_0x31c066(0x12f)](_0x31c066(0x126));let _0xad3201=![];_0x37c113?.['skipChromium']?console[_0x31c066(0x12e)](_0x1b3a00[_0x31c066(0x14a)]):_0xad3201=await ensureChromium();_0x2ce745?.['trackPhaseEnd'](_0x1b3a00[_0x31c066(0x130)],{'installed':_0xad3201,'skipped':!!_0x37c113?.['skipChromium']}),_0x2ce745?.['trackPhaseStart'](_0x1b3a00['irxSG']);const _0x7d6e9d=await findCiProfile(_0x37c113?.[_0x31c066(0x132)]);let _0x26dc96=![];_0x37c113?.['baseUrl']&&(await mkdir(_0x7d6e9d['path'],{'recursive':!![]}),await _0x1b3a00['uiSfu'](saveSettings,_0x7d6e9d['name'],{'baseUrl':_0x37c113[_0x31c066(0x12a)],'headless':!![]}),console[_0x31c066(0x12e)]('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x37c113['baseUrl']),_0x26dc96=!![]);const _0x71af43=join(_0x7d6e9d[_0x31c066(0x152)],'settings.json');if(!existsSync(_0x71af43)&&!_0x26dc96)throw new Error('CI\x20profile\x20\x22'+_0x7d6e9d[_0x31c066(0x147)]+_0x31c066(0x12d));const _0x239bd9=join(_0x7d6e9d['path'],'auth.json'),_0x1c785c=_0x1b3a00['uiSfu'](join,_0x7d6e9d[_0x31c066(0x152)],'auth.json.enc'),_0x314605=existsSync(_0x239bd9),_0x34969e=_0x1b3a00[_0x31c066(0x134)](existsSync,_0x1c785c);if(_0x34969e)try{const _0xf3feaa=await _0x1b3a00['iOJoS'](getToken);if(!_0xf3feaa)throw new Error(_0x31c066(0x138));const _0x49768a=await _0x1b3a00[_0x31c066(0x11a)](readFile,_0x1c785c);decrypt(_0x49768a,_0xf3feaa),console[_0x31c066(0x12e)](_0x1b3a00['ZXdXq']);}catch(_0x53525d){const _0x47323b=_0x53525d instanceof Error?_0x53525d['message']:String(_0x53525d);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x7d6e9d['name']+_0x31c066(0x136)+_0x47323b);}else _0x314605?console[_0x31c066(0x12e)](_0x1b3a00[_0x31c066(0x120)]):console['log'](_0x31c066(0x13c));await _0x1b3a00[_0x31c066(0x154)](writeActiveProfileName,_0x7d6e9d[_0x31c066(0x147)]),console[_0x31c066(0x12e)](_0x31c066(0x128)+_0x7d6e9d[_0x31c066(0x147)]),_0x2ce745?.['trackPhaseEnd'](_0x1b3a00['irxSG'],{'profileName':_0x7d6e9d['name'],'hasAuth':_0x314605,'hasEncryptedAuth':_0x34969e,'createdSettings':_0x26dc96}),_0x2ce745?.[_0x31c066(0x12f)](_0x31c066(0x124));const _0x400522=await _0x1b3a00[_0x31c066(0x145)](installPluginNonInteractive);_0x2ce745?.[_0x31c066(0x13b)](_0x31c066(0x124),{'installed':_0x400522}),_0x2ce745?.['trackPhaseStart'](_0x1b3a00[_0x31c066(0x127)]),await _0x1b3a00[_0x31c066(0x137)](skillup,{'autoInstall':'project'}),_0x2ce745?.[_0x31c066(0x13b)](_0x31c066(0x13a)),console['log'](_0x1b3a00[_0x31c066(0x13e)]);}function _0x1727(){const _0x310bdf=['AHJoK','✓\x20Marketplace\x20already\x20added','64920ERNEQP','eXFCQ','EdCfa','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','DPBeX','iOJoS','length','name','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','VPtzQ','DWNFO','266qOEgdU','oWJfD','6100ZjvEJv','error','4640355uIsHZn','DIKIQ','--scope','path','34119IwZZnT','HhbUw','ICxqM','YDXNm','4359CzRwfy','1600250jreLqO','isDirectory','project','yudYX','ranger@trailhead','464988wqMGlC','add','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','sessions','eZlPn','Auto-detected\x20CI\x20profile:\x20','nuqQv','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','plugin','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','chromium','jmPDX','✓\x20Active\x20profile:\x20','Failed\x20to\x20add\x20marketplace:','baseUrl','install','ranger-testing/trailhead','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','log','trackPhaseStart','uFopm','2752BxyZph','profile','Multiple\x20CI\x20profiles\x20found:\x20','ToLyK','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','\x22:\x20','GaXhS','No\x20API\x20token\x20available\x20for\x20decryption','608670gtQBpn','skills','trackPhaseEnd','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','OolIF'];_0x1727=function(){return _0x310bdf;};return _0x1727();}
1
+ (function(_0x3d51f6,_0x4ed075){const _0x1ea48c=_0xc872,_0x43397b=_0x3d51f6();while(!![]){try{const _0x44e556=parseInt(_0x1ea48c(0x123))/0x1+parseInt(_0x1ea48c(0x10c))/0x2+-parseInt(_0x1ea48c(0x121))/0x3+-parseInt(_0x1ea48c(0x142))/0x4+-parseInt(_0x1ea48c(0x112))/0x5*(parseInt(_0x1ea48c(0x116))/0x6)+-parseInt(_0x1ea48c(0x118))/0x7*(-parseInt(_0x1ea48c(0x12f))/0x8)+parseInt(_0x1ea48c(0x13f))/0x9;if(_0x44e556===_0x4ed075)break;else _0x43397b['push'](_0x43397b['shift']());}catch(_0x3322c1){_0x43397b['push'](_0x43397b['shift']());}}}(_0x394d,0x1f275));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';function _0xc872(_0xa77ad1,_0x58df9a){_0xa77ad1=_0xa77ad1-0x10c;const _0x394d29=_0x394d();let _0xc87228=_0x394d29[_0xa77ad1];return _0xc87228;}import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';function _0x394d(){const _0x49efde=['✓\x20Auth\x20state\x20found','trackPhaseEnd','rGUrw','auth','60565zDuIhN','LdPOZ','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','auth.json.enc','78pglByO','lYScX','35fEReFU','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','XGYHw','jNqCE','xbwIq','error','auth.json','ophKX','611712NWKNMO','baseUrl','176492KmhHhK','message','ranger-testing/trailhead','log','AIrWm','add','✓\x20Marketplace\x20already\x20added','path','map','marketplace','sessions','dir_setup','210368CusFaN','skipChromium','oSrGH','profile','name','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','chromium','YtXlv','skills','project','success','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','length','gjrFP','oZvgL','ranger@trailhead','2416572voPAQg','aJMPz','IKFub','657628HSuWwo','CI\x20profile\x20\x22','Failed\x20to\x20install\x20plugin:','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','tbluK','--scope','✓\x20Active\x20profile:\x20','VPmkn','settings.json','Auto-detected\x20CI\x20profile:\x20','bgCXA','nYwPE','UTxGc','153810lwerlF','plugin'];_0x394d=function(){return _0x49efde;};return _0x394d();}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(_0x294141){const _0x5ae880=_0xc872,_0x228f6a={'ophKX':function(_0x356191){return _0x356191();},'jNqCE':function(_0x1da10e,_0x2337c8,_0x261421){return _0x1da10e(_0x2337c8,_0x261421);},'OPWHB':function(_0x13edfc,_0x4bb602){return _0x13edfc(_0x4bb602);},'aJMPz':function(_0x464a4e,_0x5455fc){return _0x464a4e+_0x5455fc;},'pKrWa':'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','UTxGc':function(_0x519d02,_0x35f6af){return _0x519d02===_0x35f6af;},'bCzDp':'No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a'},_0x3c86c7=_0x228f6a[_0x5ae880(0x120)](getRangerDir),_0x22f8b6=_0x228f6a[_0x5ae880(0x11c)](join,_0x3c86c7,'ci');if(_0x294141){const _0x146794=_0x228f6a['jNqCE'](join,_0x22f8b6,_0x294141);return{'name':_0x294141,'path':_0x146794};}if(!_0x228f6a['OPWHB'](existsSync,_0x22f8b6))throw new Error(_0x228f6a[_0x5ae880(0x140)](_0x5ae880(0x11a),_0x228f6a['pKrWa']));const _0x5e5adf=await _0x228f6a[_0x5ae880(0x11c)](readdir,_0x22f8b6,{'withFileTypes':!![]}),_0x534d75=_0x5e5adf['filter'](_0x4d86a9=>_0x4d86a9['isDirectory']())[_0x5ae880(0x12b)](_0x41a71a=>_0x41a71a[_0x5ae880(0x133)]);if(_0x228f6a['UTxGc'](_0x534d75['length'],0x0))throw new Error(_0x228f6a['aJMPz'](_0x228f6a['bCzDp'],_0x5ae880(0x145)));if(_0x228f6a[_0x5ae880(0x14e)](_0x534d75[_0x5ae880(0x13b)],0x1)){const _0x11eaf0=_0x534d75[0x0];return console[_0x5ae880(0x126)](_0x5ae880(0x14b)+_0x11eaf0),{'name':_0x11eaf0,'path':_0x228f6a[_0x5ae880(0x11c)](join,_0x22f8b6,_0x11eaf0)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x534d75['join'](',\x20')+'.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.');}async function installPluginNonInteractive(){const _0x1a31a1=_0xc872,_0x5de1ed={'IKFub':function(_0x4e4d6c,_0x8bd3ba){return _0x4e4d6c(_0x8bd3ba);},'YtXlv':'trailhead','VPmkn':_0x1a31a1(0x129),'VCBdk':'plugin','XGYHw':_0x1a31a1(0x12c),'mpiFL':_0x1a31a1(0x125),'rGUrw':_0x1a31a1(0x13e),'qszsq':_0x1a31a1(0x147),'gTfTD':_0x1a31a1(0x138),'oSrGH':'You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project'},_0xceac6=await _0x5de1ed[_0x1a31a1(0x141)](isPluginInstalled,_0x1a31a1(0x13e));if(_0xceac6)return console[_0x1a31a1(0x126)]('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];console['log'](_0x1a31a1(0x114));const _0x1c3aaf=await isMarketplaceAdded(_0x5de1ed[_0x1a31a1(0x136)]);let _0x3f48ae=_0x1c3aaf;if(_0x1c3aaf)console['log'](_0x5de1ed[_0x1a31a1(0x149)]);else{const _0x15dbdf=await _0x5de1ed[_0x1a31a1(0x141)](runClaudeCommand,[_0x5de1ed['VCBdk'],_0x5de1ed[_0x1a31a1(0x11b)],_0x1a31a1(0x128),_0x5de1ed['mpiFL']]);!_0x15dbdf['success']?(console[_0x1a31a1(0x11e)]('Failed\x20to\x20add\x20marketplace:',_0x15dbdf[_0x1a31a1(0x11e)]),console[_0x1a31a1(0x126)]('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead')):_0x3f48ae=!![];}if(_0x3f48ae){const _0x15bec4=await _0x5de1ed['IKFub'](runClaudeCommand,['plugin','install',_0x5de1ed[_0x1a31a1(0x110)],_0x5de1ed['qszsq'],_0x5de1ed['gTfTD']]);!_0x15bec4[_0x1a31a1(0x139)]?(console['error'](_0x1a31a1(0x144),_0x15bec4[_0x1a31a1(0x11e)]),console[_0x1a31a1(0x126)](_0x5de1ed[_0x1a31a1(0x131)])):console['log']('✓\x20Claude\x20Code\x20plugin\x20installed');}return!![];}export async function setupCi(_0xa2b9cd,_0x3304ba,_0x31bcdd){const _0x1c0374=_0xc872,_0x8cdf5d={'siLfd':'auth','LdPOZ':'dir_setup','lYScX':function(_0x23b4c4,_0x5a8c90,_0x3837dc){return _0x23b4c4(_0x5a8c90,_0x3837dc);},'nYwPE':function(_0x534c34,_0xcb2966){return _0x534c34(_0xcb2966);},'AIrWm':_0x1c0374(0x135),'geBJD':function(_0x119f7d){return _0x119f7d();},'mmZKH':function(_0x226c83,_0x2c3ae1,_0x5b8d4f){return _0x226c83(_0x2c3ae1,_0x5b8d4f);},'XaKcZ':function(_0xd56340,_0x2ec8b1,_0x4a258f){return _0xd56340(_0x2ec8b1,_0x4a258f);},'pszro':_0x1c0374(0x14a),'bgCXA':function(_0x1cc249,_0x43f985){return _0x1cc249(_0x43f985);},'DtOjn':function(_0x3a9da1,_0x514bf1){return _0x3a9da1(_0x514bf1);},'oZvgL':'No\x20API\x20token\x20available\x20for\x20decryption','xbwIq':function(_0x35d4f0,_0x561a6c){return _0x35d4f0(_0x561a6c);},'MFyuu':'✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','OxBQT':_0x1c0374(0x10e),'gjrFP':_0x1c0374(0x119),'gNDkZ':'profile_activate','vxnkk':function(_0xe43609){return _0xe43609();},'YjZMX':'skills','tbluK':'\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a'};console[_0x1c0374(0x126)]('\x0a🔧\x20Ranger\x20CI\x20Setup\x0a'),_0x31bcdd?.['trackPhaseStart'](_0x8cdf5d['siLfd']),await authenticate(_0xa2b9cd),_0x31bcdd?.['trackPhaseEnd'](_0x1c0374(0x111)),_0x31bcdd?.['trackPhaseStart'](_0x8cdf5d[_0x1c0374(0x113)]);const {path:_0x3182f4,installed:_0x55a57f}=await ensureRangerDir();await writeRangerGitignore(_0x3182f4);const _0x1e37bb=_0x8cdf5d[_0x1c0374(0x117)](join,_0x3182f4,_0x1c0374(0x12d));!_0x8cdf5d[_0x1c0374(0x14d)](existsSync,_0x1e37bb)&&await mkdir(_0x1e37bb,{'recursive':!![]});_0x31bcdd?.[_0x1c0374(0x10f)](_0x1c0374(0x12e),{'installed':_0x55a57f}),_0x31bcdd?.['trackPhaseStart'](_0x8cdf5d[_0x1c0374(0x127)]);let _0x185e06=![];_0x3304ba?.[_0x1c0374(0x130)]?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):_0x185e06=await _0x8cdf5d['geBJD'](ensureChromium);_0x31bcdd?.['trackPhaseEnd'](_0x8cdf5d['AIrWm'],{'installed':_0x185e06,'skipped':!!_0x3304ba?.[_0x1c0374(0x130)]}),_0x31bcdd?.['trackPhaseStart']('profile_activate');const _0x1ebf0e=await findCiProfile(_0x3304ba?.[_0x1c0374(0x132)]);let _0x2f826f=![];_0x3304ba?.[_0x1c0374(0x122)]&&(await _0x8cdf5d['mmZKH'](mkdir,_0x1ebf0e[_0x1c0374(0x12a)],{'recursive':!![]}),await _0x8cdf5d['XaKcZ'](saveSettings,_0x1ebf0e['name'],{'baseUrl':_0x3304ba['baseUrl'],'headless':!![]}),console[_0x1c0374(0x126)]('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x3304ba['baseUrl']),_0x2f826f=!![]);const _0x1a89e9=join(_0x1ebf0e[_0x1c0374(0x12a)],_0x8cdf5d['pszro']);if(!_0x8cdf5d[_0x1c0374(0x14c)](existsSync,_0x1a89e9)&&!_0x2f826f)throw new Error(_0x1c0374(0x143)+_0x1ebf0e['name']+_0x1c0374(0x13a));const _0x2539c5=join(_0x1ebf0e['path'],_0x1c0374(0x11f)),_0x4c1934=join(_0x1ebf0e[_0x1c0374(0x12a)],_0x1c0374(0x115)),_0x4eec26=_0x8cdf5d['DtOjn'](existsSync,_0x2539c5),_0x4789f8=existsSync(_0x4c1934);if(_0x4789f8)try{const _0x3015dc=await getToken();if(!_0x3015dc)throw new Error(_0x8cdf5d[_0x1c0374(0x13d)]);const _0x5d625b=await _0x8cdf5d[_0x1c0374(0x11d)](readFile,_0x4c1934);decrypt(_0x5d625b,_0x3015dc),console['log'](_0x8cdf5d['MFyuu']);}catch(_0x1565ba){const _0x3f3752=_0x1565ba instanceof Error?_0x1565ba[_0x1c0374(0x124)]:_0x8cdf5d['bgCXA'](String,_0x1565ba);throw new Error(_0x1c0374(0x134)+_0x1ebf0e['name']+'\x22:\x20'+_0x3f3752);}else _0x4eec26?console[_0x1c0374(0x126)](_0x8cdf5d['OxBQT']):console['log'](_0x8cdf5d[_0x1c0374(0x13c)]);await writeActiveProfileName(_0x1ebf0e[_0x1c0374(0x133)]),console['log'](_0x1c0374(0x148)+_0x1ebf0e['name']),_0x31bcdd?.[_0x1c0374(0x10f)](_0x8cdf5d['gNDkZ'],{'profileName':_0x1ebf0e['name'],'hasAuth':_0x4eec26,'hasEncryptedAuth':_0x4789f8,'createdSettings':_0x2f826f}),_0x31bcdd?.['trackPhaseStart']('plugin');const _0x57b7cb=await _0x8cdf5d['vxnkk'](installPluginNonInteractive);_0x31bcdd?.[_0x1c0374(0x10f)](_0x1c0374(0x10d),{'installed':_0x57b7cb}),_0x31bcdd?.['trackPhaseStart'](_0x8cdf5d['YjZMX']),await skillup({'autoInstall':'project'}),_0x31bcdd?.[_0x1c0374(0x10f)](_0x1c0374(0x137)),console[_0x1c0374(0x126)](_0x8cdf5d[_0x1c0374(0x146)]);}
@@ -1 +1 @@
1
- (function(_0x2cfb47,_0x2ccba5){const _0x519493=_0x5567,_0x2f9f95=_0x2cfb47();while(!![]){try{const _0x288158=parseInt(_0x519493(0x1ba))/0x1+parseInt(_0x519493(0x1c6))/0x2+-parseInt(_0x519493(0x1d5))/0x3+parseInt(_0x519493(0x1d2))/0x4+-parseInt(_0x519493(0x1bf))/0x5*(parseInt(_0x519493(0x1c3))/0x6)+-parseInt(_0x519493(0x1c9))/0x7+parseInt(_0x519493(0x1d1))/0x8;if(_0x288158===_0x2ccba5)break;else _0x2f9f95['push'](_0x2f9f95['shift']());}catch(_0x417469){_0x2f9f95['push'](_0x2f9f95['shift']());}}}(_0x32b3,0x7374b));function _0x5567(_0x586585,_0x167680){_0x586585=_0x586585-0x1b8;const _0x32b366=_0x32b3();let _0x5567b9=_0x32b366[_0x586585];return _0x5567b9;}import{basename}from'path';import _0x2ef4ef from'inquirer';import{getToken}from'./utils/keychain.js';function _0x32b3(){const _0x4eac6e=['/.claude/skills/','user','6SmuwIz','\x20successfully!\x0a','project','1887318CNSHBV','QRwMF','message','4756640GTtqgU','ranger','cCYxM','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','dbQAL','This\x20project\x20only\x20(','log','\x20<your-api-token>','4030288tcpAKn','1923108UmnRxS','KXSxq','Where\x20should\x20skills\x20be\x20installed?','2538501ugzGUs','\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!','\x0a✅\x20Installed\x20','\x20--opencode','cZMee','\x20\x202.\x20Run:\x20ranger\x20setup','project-level','/skills/','cqAOD','519898glBdlj','ghpMU','split','To\x20get\x20started:','OxFed','2247630EEatNU','opencode'];_0x32b3=function(){return _0x4eac6e;};return _0x32b3();}import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x780d3f={}){const _0x141d5e=_0x5567,_0x19363e={'Framu':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','DBrjp':'claude','OxFed':function(_0x5c2218){return _0x5c2218();},'cCYxM':function(_0x25e43b,_0x17c472){return _0x25e43b===_0x17c472;},'KXSxq':_0x141d5e(0x1d8),'AwVch':_0x141d5e(0x1c0),'IgAiq':function(_0x169aa2){return _0x169aa2();},'cqAOD':_0x141d5e(0x1c2),'cZMee':_0x141d5e(0x1d4),'blfyB':_0x141d5e(0x1c5),'NTKLj':'\x0a📦\x20Installing\x20skills...\x0a','izosS':_0x141d5e(0x1ca),'eTBjg':function(_0x56a460,_0x34461b){return _0x56a460>_0x34461b;},'UhhnK':'user-level','dbQAL':function(_0xacf267,_0x32fe1a){return _0xacf267>_0x32fe1a;},'QRwMF':'To\x20use:','ghpMU':_0x141d5e(0x1d6),'KJZmJ':'\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a'};console[_0x141d5e(0x1cf)](_0x19363e['Framu']);const _0x16171e=_0x780d3f['platform']??_0x19363e['DBrjp'],_0x233af4=await _0x19363e['OxFed'](getToken);if(!_0x233af4){const _0x520359='5|1|3|4|0|2'[_0x141d5e(0x1bc)]('|');let _0x559e37=0x0;while(!![]){switch(_0x520359[_0x559e37++]){case'0':console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x19363e[_0x141d5e(0x1cb)](_0x16171e,'opencode')?_0x19363e['KXSxq']:'')+'\x0a');continue;case'1':console[_0x141d5e(0x1cf)](_0x141d5e(0x1bd));continue;case'2':return;case'3':console[_0x141d5e(0x1cf)](_0x141d5e(0x1cc));continue;case'4':console[_0x141d5e(0x1cf)](_0x141d5e(0x1da)+(_0x19363e[_0x141d5e(0x1cb)](_0x16171e,_0x19363e['AwVch'])?_0x19363e[_0x141d5e(0x1d3)]:'')+_0x141d5e(0x1d0));continue;case'5':console['log']('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a');continue;}break;}}console[_0x141d5e(0x1cf)]('✓\x20Found\x20API\x20token');const _0x11cfe2=_0x19363e['IgAiq'](getProjectRoot),_0x5d4cf5=basename(_0x11cfe2),_0x5aa695=_0x16171e===_0x19363e['AwVch']?getOpencodeConfigDir(_0x19363e['cqAOD'])+_0x141d5e(0x1b8):_0x19363e['OxFed'](getClaudeConfigDir)+'/skills/',_0x5bf3f9=_0x19363e['cCYxM'](_0x16171e,_0x141d5e(0x1c0))?_0x11cfe2+'/.opencode/skills/':_0x11cfe2+_0x141d5e(0x1c1),_0x263ebc=process['stdin']['isTTY']&&process['stdout']['isTTY'];let _0x5a3bb2;if(_0x780d3f['autoInstall'])_0x5a3bb2=_0x780d3f['autoInstall'];else{if(_0x263ebc){const _0x5ce22a=await _0x2ef4ef['prompt']([{'type':'list','name':'installLevel','message':_0x19363e[_0x141d5e(0x1d9)],'choices':[{'name':'All\x20projects\x20('+_0x5aa695+')','value':'user'},{'name':_0x141d5e(0x1ce)+_0x5bf3f9+')','value':_0x141d5e(0x1c5)}]}]);_0x5a3bb2=_0x5ce22a['installLevel'];}else _0x5a3bb2=_0x19363e['blfyB'],console[_0x141d5e(0x1cf)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x5bf3f9+')');}let _0x5abc05=0x0;const _0x424830=_0x19363e[_0x141d5e(0x1be)](getCurrentVersion);console[_0x141d5e(0x1cf)](_0x19363e['NTKLj']);try{const _0x1f4923=await installSkill(_0x19363e['izosS'],{'cliVersion':_0x424830,'level':_0x5a3bb2,'platform':_0x16171e});_0x1f4923&&_0x5abc05++;}catch(_0x361b82){console['warn']('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x361b82 instanceof Error?_0x361b82[_0x141d5e(0x1c8)]:_0x361b82);}if(_0x19363e['eTBjg'](_0x5abc05,0x0)){const _0x52038f=_0x19363e[_0x141d5e(0x1cb)](_0x5a3bb2,_0x19363e[_0x141d5e(0x1b9)])?_0x19363e['UhhnK']:_0x141d5e(0x1db);console['log'](_0x141d5e(0x1d7)+_0x5abc05+'\x20'+_0x52038f+'\x20skill'+(_0x19363e[_0x141d5e(0x1cd)](_0x5abc05,0x1)?'s':'')+_0x141d5e(0x1c4)),!_0x780d3f['suppressUsage']&&(console[_0x141d5e(0x1cf)](_0x19363e[_0x141d5e(0x1c7)]),_0x19363e[_0x141d5e(0x1cb)](_0x16171e,_0x19363e['AwVch'])?console[_0x141d5e(0x1cf)]('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console[_0x141d5e(0x1cf)](_0x19363e[_0x141d5e(0x1bb)]));}else console[_0x141d5e(0x1cf)](_0x19363e['KJZmJ']);}
1
+ (function(_0x1d0320,_0x30a30a){const _0x8378d3=_0x27fd,_0x1c01c6=_0x1d0320();while(!![]){try{const _0x594c1f=parseInt(_0x8378d3(0x111))/0x1*(parseInt(_0x8378d3(0x11d))/0x2)+-parseInt(_0x8378d3(0xfb))/0x3*(parseInt(_0x8378d3(0x120))/0x4)+-parseInt(_0x8378d3(0xf8))/0x5*(-parseInt(_0x8378d3(0x128))/0x6)+-parseInt(_0x8378d3(0x107))/0x7*(-parseInt(_0x8378d3(0x109))/0x8)+parseInt(_0x8378d3(0x10b))/0x9*(-parseInt(_0x8378d3(0x10e))/0xa)+-parseInt(_0x8378d3(0x11e))/0xb*(-parseInt(_0x8378d3(0x10a))/0xc)+parseInt(_0x8378d3(0xf9))/0xd*(-parseInt(_0x8378d3(0x108))/0xe);if(_0x594c1f===_0x30a30a)break;else _0x1c01c6['push'](_0x1c01c6['shift']());}catch(_0x5b588a){_0x1c01c6['push'](_0x1c01c6['shift']());}}}(_0x592e,0xc529d));import{basename}from'path';import _0x46cb8f 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 _0x592e(){const _0xf0bfd2=['\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','\x20\x203.\x20Run:\x20ranger\x20skillup','\x20--opencode','BZhzF','\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!','zsSZh','RpTPY','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','list','This\x20project\x20only\x20(','CdfAB','2ngCduM','3120931mgmfSw','DwUBd','2948ClaKGZ','project-level','\x20skill','jMPIF','user-level','log','All\x20projects\x20(','lecYj','22374KqKDpc','project','2155JeoYEe','2653703GhgzuZ','pHNyA','5067cSphtP','installLevel','\x20successfully!\x0a','BANih','Where\x20should\x20skills\x20be\x20installed?','isTTY','ZcGGw','yxwsm','autoInstall','\x0a✅\x20Installed\x20','warn','user','7MzUmtj','182yIMXDR','9755104kYVsyK','60EVifbZ','4263300HtPtYO','MSpLw','opencode','10mfllGU','libNT','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','934585iENLbN'];_0x592e=function(){return _0xf0bfd2;};return _0x592e();}function _0x27fd(_0x4ccec3,_0x2fe647){_0x4ccec3=_0x4ccec3-0xf7;const _0x592e93=_0x592e();let _0x27fd75=_0x592e93[_0x4ccec3];return _0x27fd75;}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x394d4e={}){const _0x4d9c3e=_0x27fd,_0x4c4693={'aXvKj':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','DhgFK':'claude','MSpLw':'To\x20get\x20started:','RpTPY':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','CdfAB':function(_0x5ccb83,_0x24308e){return _0x5ccb83===_0x24308e;},'lecYj':'opencode','EBDZD':_0x4d9c3e(0x114),'BZhzF':function(_0x5e393f){return _0x5e393f();},'WjOEN':function(_0x1498ed,_0x58be97){return _0x1498ed(_0x58be97);},'eSyzZ':'user','zsSZh':function(_0x3b1642,_0x300dbc){return _0x3b1642===_0x300dbc;},'DwUBd':_0x4d9c3e(0xfc),'BANih':_0x4d9c3e(0xff),'jMPIF':_0x4d9c3e(0xf7),'pHNyA':function(_0x585f79){return _0x585f79();},'pgPrZ':'ranger','TyIoR':function(_0x262d45,_0xe641e1){return _0x262d45>_0xe641e1;},'yxwsm':function(_0x3f488b,_0x1dff84){return _0x3f488b===_0x1dff84;},'ZcGGw':_0x4d9c3e(0x121),'libNT':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'};console[_0x4d9c3e(0x125)](_0x4c4693['aXvKj']);const _0x47da2b=_0x394d4e['platform']??_0x4c4693['DhgFK'],_0x387923=await getToken();if(!_0x387923){console[_0x4d9c3e(0x125)]('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a'),console[_0x4d9c3e(0x125)](_0x4c4693[_0x4d9c3e(0x10c)]),console[_0x4d9c3e(0x125)](_0x4c4693[_0x4d9c3e(0x118)]),console[_0x4d9c3e(0x125)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x4c4693[_0x4d9c3e(0x11c)](_0x47da2b,'opencode')?_0x4d9c3e(0x114):'')+'\x20<your-api-token>'),console['log'](_0x4d9c3e(0x113)+(_0x47da2b===_0x4c4693[_0x4d9c3e(0x127)]?_0x4c4693['EBDZD']:'')+'\x0a');return;}console['log']('✓\x20Found\x20API\x20token');const _0x48ea9a=_0x4c4693[_0x4d9c3e(0x115)](getProjectRoot),_0x2d74e0=basename(_0x48ea9a),_0x534a44=_0x47da2b===_0x4d9c3e(0x10d)?_0x4c4693['WjOEN'](getOpencodeConfigDir,_0x4c4693['eSyzZ'])+'/skills/':_0x4c4693['BZhzF'](getClaudeConfigDir)+'/skills/',_0x531d8d=_0x4c4693[_0x4d9c3e(0x117)](_0x47da2b,_0x4c4693[_0x4d9c3e(0x127)])?_0x48ea9a+'/.opencode/skills/':_0x48ea9a+'/.claude/skills/',_0x25c1cc=process['stdin'][_0x4d9c3e(0x100)]&&process['stdout']['isTTY'];let _0x320745;if(_0x394d4e[_0x4d9c3e(0x103)])_0x320745=_0x394d4e[_0x4d9c3e(0x103)];else{if(_0x25c1cc){const _0x983312=await _0x46cb8f['prompt']([{'type':_0x4d9c3e(0x11a),'name':_0x4c4693[_0x4d9c3e(0x11f)],'message':_0x4c4693[_0x4d9c3e(0xfe)],'choices':[{'name':_0x4d9c3e(0x126)+_0x534a44+')','value':_0x4d9c3e(0x106)},{'name':_0x4d9c3e(0x11b)+_0x531d8d+')','value':_0x4d9c3e(0xf7)}]}]);_0x320745=_0x983312['installLevel'];}else _0x320745=_0x4c4693[_0x4d9c3e(0x123)],console['log'](_0x4d9c3e(0x119)+_0x531d8d+')');}let _0xb9f007=0x0;const _0x5b52ca=_0x4c4693[_0x4d9c3e(0xfa)](getCurrentVersion);console[_0x4d9c3e(0x125)]('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x4aeb87=await installSkill(_0x4c4693['pgPrZ'],{'cliVersion':_0x5b52ca,'level':_0x320745,'platform':_0x47da2b});_0x4aeb87&&_0xb9f007++;}catch(_0x227e40){console[_0x4d9c3e(0x105)](_0x4d9c3e(0x112),_0x227e40 instanceof Error?_0x227e40['message']:_0x227e40);}if(_0x4c4693['TyIoR'](_0xb9f007,0x0)){const _0x188216=_0x4c4693[_0x4d9c3e(0x102)](_0x320745,'user')?_0x4d9c3e(0x124):_0x4c4693[_0x4d9c3e(0x101)];console['log'](_0x4d9c3e(0x104)+_0xb9f007+'\x20'+_0x188216+_0x4d9c3e(0x122)+(_0xb9f007>0x1?'s':'')+_0x4d9c3e(0xfd)),!_0x394d4e['suppressUsage']&&(console['log']('To\x20use:'),_0x4c4693['yxwsm'](_0x47da2b,_0x4d9c3e(0x10d))?console[_0x4d9c3e(0x125)](_0x4c4693[_0x4d9c3e(0x10f)]):console['log'](_0x4d9c3e(0x116)));}else console['log'](_0x4d9c3e(0x110));}
@@ -1 +1 @@
1
- function _0x1612(_0x4be04e,_0xafb220){_0x4be04e=_0x4be04e-0x19f;const _0x11991d=_0x1199();let _0x161278=_0x11991d[_0x4be04e];return _0x161278;}const _0x459500=_0x1612;(function(_0x918425,_0x1ecc43){const _0x18ac32=_0x1612,_0x15f8ff=_0x918425();while(!![]){try{const _0x28842b=-parseInt(_0x18ac32(0x1eb))/0x1*(-parseInt(_0x18ac32(0x1c5))/0x2)+parseInt(_0x18ac32(0x1af))/0x3+-parseInt(_0x18ac32(0x1d5))/0x4+parseInt(_0x18ac32(0x19f))/0x5+parseInt(_0x18ac32(0x1c7))/0x6+parseInt(_0x18ac32(0x1d1))/0x7*(-parseInt(_0x18ac32(0x1d7))/0x8)+-parseInt(_0x18ac32(0x1f2))/0x9;if(_0x28842b===_0x1ecc43)break;else _0x15f8ff['push'](_0x15f8ff['shift']());}catch(_0x28eaae){_0x15f8ff['push'](_0x15f8ff['shift']());}}}(_0x1199,0xb2de8));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x26aa00 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';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=_0x11c18d=>'\x1b[1m'+_0x11c18d+_0x459500(0x1be);function getPlaywrightVersion(){const _0x4bc7f4=_0x459500,_0x14333a={'gcxdG':_0x4bc7f4(0x1b9),'zByDN':function(_0x29e94f,_0x2fb737){return _0x29e94f(_0x2fb737);}};try{const _0x15a4cc=require['resolve'](_0x14333a[_0x4bc7f4(0x1ea)]),_0x561b54=_0x14333a['zByDN'](require,_0x15a4cc);return _0x561b54['version'];}catch{return null;}}function installChromiumBinary(_0x45d23c){const _0x159da1=_0x459500,_0x3063f9={'xhslA':function(_0x1e69cf,_0x1d3cdc){return _0x1e69cf(_0x1d3cdc);},'kAyuP':function(_0x3b355f,_0x4def32){return _0x3b355f===_0x4def32;},'IkEUq':'install','FzQCr':'chromium','KNIWx':_0x159da1(0x1f3),'nxGtf':function(_0x4c25f0,_0x96f99e,_0x5a1b28,_0x133aae){return _0x4c25f0(_0x96f99e,_0x5a1b28,_0x133aae);},'hECqK':'npx','xdpyI':_0x159da1(0x200),'ptSFd':'close'};return new Promise((_0xc16592,_0x2632e)=>{const _0x1d76f4=_0x159da1,_0x28c7ec={'LGcQP':function(_0x5ea7cf,_0x2b6caa){return _0x3063f9['kAyuP'](_0x5ea7cf,_0x2b6caa);},'itGaB':function(_0x5bdd08,_0x4042c2){return _0x5bdd08(_0x4042c2);}},_0x914fa3=_0x45d23c?[_0x1d76f4(0x1ef)+_0x45d23c,_0x3063f9[_0x1d76f4(0x1c6)],_0x3063f9['FzQCr']]:[_0x3063f9[_0x1d76f4(0x1aa)],_0x3063f9[_0x1d76f4(0x1c6)],_0x3063f9['FzQCr']],_0xb0dabf=_0x3063f9[_0x1d76f4(0x1da)](spawn,_0x3063f9['hECqK'],_0x914fa3,{'stdio':_0x3063f9['xdpyI'],'shell':_0x3063f9[_0x1d76f4(0x1fb)](process['platform'],_0x1d76f4(0x1ca))});_0xb0dabf['on'](_0x3063f9[_0x1d76f4(0x208)],_0x590340=>{const _0x532074=_0x1d76f4;_0x28c7ec[_0x532074(0x1cb)](_0x590340,0x0)?_0xc16592():_0x28c7ec['itGaB'](_0x2632e,new Error(_0x532074(0x1f0)+_0x590340));}),_0xb0dabf['on'](_0x1d76f4(0x1c0),_0xc03327=>{_0x3063f9['xhslA'](_0x2632e,_0xc03327);});});}export async function authenticate(_0x5e0885){const _0x2db778=_0x459500,_0x5a6a33={'JrMlK':function(_0x4344b2){return _0x4344b2();},'ZRNHu':'existing_token','IWOzi':function(_0x2838cb,_0x5d564a){return _0x2838cb(_0x5d564a);},'xqzPQ':'Validating\x20API\x20token...','ApJJc':'✓\x20Exported\x20credentials\x20for\x20CI','UGGpW':_0x2db778(0x1d0)};if(!_0x5e0885){const _0x27fbf8=await _0x5a6a33[_0x2db778(0x1cd)](getToken);if(_0x27fbf8){const _0x5a0d6c=await getCurrentUser(_0x27fbf8);if(_0x5a0d6c['success'])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x5a0d6c[_0x2db778(0x1f1)]['organizationName']),{'token':_0x27fbf8,'method':_0x5a6a33['ZRNHu']};}try{_0x5e0885=await runDeviceAuthFlow();}catch(_0x253667){throw new Error(_0x2db778(0x20a)+(_0x253667 instanceof Error?_0x253667['message']:_0x253667));}const _0x14f7d7=await _0x5a6a33['IWOzi'](getCurrentUser,_0x5e0885);if(!_0x14f7d7[_0x2db778(0x206)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x14f7d7['error']);return console['log'](_0x2db778(0x1f5)+_0x14f7d7['user'][_0x2db778(0x1e1)]),{'token':_0x5e0885,'method':_0x2db778(0x1a6)};}console[_0x2db778(0x1d6)](_0x5a6a33['xqzPQ']);const _0x136da8=await getCurrentUser(_0x5e0885);if(!_0x136da8[_0x2db778(0x206)]){if(_0x136da8[_0x2db778(0x1b0)])throw new Error('Authentication\x20failed:\x20'+_0x136da8['error']+_0x2db778(0x1cc));else throw new Error(_0x2db778(0x1bf)+_0x136da8[_0x2db778(0x1c0)]+_0x2db778(0x1b1));}return console[_0x2db778(0x1d6)]('✓\x20Authenticated\x20to\x20'+_0x136da8[_0x2db778(0x1f1)]['organizationName']),await _0x5a6a33[_0x2db778(0x1b6)](storeToken,_0x5e0885),console['log'](process[_0x2db778(0x1ba)][_0x2db778(0x1e0)]?_0x5a6a33['ApJJc']:_0x2db778(0x1f4)),{'token':_0x5e0885,'method':_0x5a6a33[_0x2db778(0x1c9)]};}function _0x1199(){const _0x22b0bc=['plugin','rWpTv','inherit','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','eynoS','\x0a❌\x20Profile\x20setup\x20failed:','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','tpQVZ','success','auth','ptSFd','HkJhJ','Authentication\x20failed:\x20','IGlab','6597870hzMhfG','\x20\x20npx\x20playwright\x20install\x20chromium','OGOyS','prompt','peVtS','ujaIz','The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','device_auth','stdin','TboHd','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','KNIWx','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','Mogkf','\x20and\x20prompt\x20the\x20coding','FZYyX','1835115fFBFQh','status','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','zxScQ','trackPhaseStart','trackPhaseEnd','force','IWOzi','Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','qIBut','playwright/package.json','env','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','\x20install\x20chromium','chromium','\x1b[0m','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','error','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','The\x20required\x20version\x20(','\x0aInstalling\x20Chromium\x20browser...\x0a','confirm','362tvgwgW','IkEUq','4722222RrfWDw','url','UGGpW','win32','LGcQP','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','JrMlK','git_check','isTTY','provided_token','4711UBPtFP','NcGvf','WcwrQ','sRWRH','3354960PXYnHZ','log','16832ONUOLX','scope','profile','nxGtf','wantsProfile','stdout','skills','jtVcE','✓\x20Created\x20.ranger/.gitignore','GITHUB_ENV','organizationName','method','cVIkT','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','hUFtD','SPeMI','ZdxuY','\x0a🚀\x20Ranger\x20Setup\x0a','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','gcxdG','4567QxSGuP','local','DGWoY','ckZyl','playwright@','Installation\x20failed\x20with\x20exit\x20code\x20','user','5018067DZmsye','playwright','✓\x20Stored\x20credentials\x20locally','✓\x20Authenticated\x20to\x20','✓\x20.ranger/\x20directory\x20already\x20exists','hdcEN','ready','\x0aIn\x20Claude\x20Code,\x20run\x20','ranger\x20profile\x20add\x20local','kAyuP','\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','bdEOt'];_0x1199=function(){return _0x22b0bc;};return _0x1199();}export async function ensureRangerDir(){const _0x3bd94b=_0x459500,_0x3ded88={'QTkkW':function(_0x5b58ec,_0x1d9484,_0x3dc6bf){return _0x5b58ec(_0x1d9484,_0x3dc6bf);},'WcwrQ':'.ranger','RLlbp':function(_0xa6daa2){return _0xa6daa2();},'qIBut':function(_0x59ca8e,_0x3243f7){return _0x59ca8e(_0x3243f7);},'eynoS':_0x3bd94b(0x1f6)},_0x44d8b1=findGitRoot(),_0x2f9c58=_0x44d8b1?_0x3ded88['QTkkW'](join,_0x44d8b1,_0x3ded88[_0x3bd94b(0x1d3)]):_0x3ded88['RLlbp'](getRangerDir);return!_0x3ded88[_0x3bd94b(0x1b8)](existsSync,_0x2f9c58)?(await mkdir(_0x2f9c58,{'recursive':!![]}),console[_0x3bd94b(0x1d6)]('✓\x20Created\x20.ranger/\x20directory'),{'path':_0x2f9c58,'installed':!![]}):(console[_0x3bd94b(0x1d6)](_0x3ded88[_0x3bd94b(0x202)]),{'path':_0x2f9c58,'installed':![]});}export async function ensureChromium(){const _0x554c0a=_0x459500,_0xe9ba09={'FAdAP':'✓\x20Playwright\x20Chromium\x20browser\x20found','jtVcE':function(_0x5c2694){return _0x5c2694();},'tpQVZ':'confirm','pNVHN':_0x554c0a(0x1a5),'ZKPaC':_0x554c0a(0x1c3),'NcGvf':function(_0xfe7968,_0x58dd4f){return _0xfe7968(_0x58dd4f);},'jfgwO':'You\x20can\x20install\x20it\x20manually\x20by\x20running:','OdWfW':_0x554c0a(0x1a0)};let _0x223865=![];try{const _0x1b9cf1=chromium['executablePath']();_0x223865=existsSync(_0x1b9cf1);}catch{_0x223865=![];}if(_0x223865)return console[_0x554c0a(0x1d6)](_0xe9ba09['FAdAP']),![];const _0x479659=_0xe9ba09[_0x554c0a(0x1de)](getPlaywrightVersion),_0x36c1f0=process[_0x554c0a(0x1a7)][_0x554c0a(0x1cf)]&&process['stdout']['isTTY'];let _0x73e0ca=!![];if(_0x36c1f0){const {install:_0xc99644}=await _0x26aa00[_0x554c0a(0x1a2)]([{'type':_0xe9ba09[_0x554c0a(0x205)],'name':'install','message':_0x479659?_0x554c0a(0x1c2)+_0x479659+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?':_0xe9ba09['pNVHN'],'default':!![]}]);_0x73e0ca=_0xc99644;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium'+(_0x479659?'\x20'+_0x479659:'')+'...');if(_0x73e0ca){console[_0x554c0a(0x1d6)](_0xe9ba09['ZKPaC']);try{await _0xe9ba09[_0x554c0a(0x1d2)](installChromiumBinary,_0x479659),console[_0x554c0a(0x1d6)](_0x554c0a(0x1a9));}catch(_0xf3a515){console[_0x554c0a(0x1c0)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0xf3a515 instanceof Error?_0xf3a515['message']:_0xf3a515),console[_0x554c0a(0x1d6)](_0xe9ba09['jfgwO']),_0x479659?console['log']('\x20\x20npx\x20playwright@'+_0x479659+_0x554c0a(0x1bc)):console[_0x554c0a(0x1d6)]('\x20\x20npx\x20playwright\x20install\x20chromium');}}else console[_0x554c0a(0x1d6)]('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console['log']('You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'),_0x479659?console['log']('\x20\x20npx\x20playwright@'+_0x479659+'\x20install\x20chromium'):console[_0x554c0a(0x1d6)](_0xe9ba09['OdWfW']);return!![];}export async function writeRangerGitignore(_0x525f0a){const _0x253e35=_0x459500,_0x3d0511={'ckZyl':_0x253e35(0x1df)},_0x33aa2e=join(_0x525f0a,'.gitignore'),_0x57a614=_0x253e35(0x1fc);await writeFile(_0x33aa2e,_0x57a614),console[_0x253e35(0x1d6)](_0x3d0511[_0x253e35(0x1ee)]);}function printProfileSetupLaterInstructions(){const _0x3c8648=_0x459500,_0x5b0a0f={'SaRKX':'\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','DGWoY':function(_0x1d469a,_0x4d07db){return _0x1d469a(_0x4d07db);}};console[_0x3c8648(0x1d6)](_0x5b0a0f['SaRKX']),console['log']('\x20\x20'+_0x5b0a0f[_0x3c8648(0x1ed)](bold,_0x3c8648(0x1fa))),console[_0x3c8648(0x1d6)]('Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a');}async function ensureLocalEnv(_0x2b2cdf,_0xfa12cc){const _0x1fb0c6=_0x459500,_0x5bc6f6={'ujaIz':function(_0x411f7b,_0x3c3217,_0x5d3529){return _0x411f7b(_0x3c3217,_0x5d3529);},'TboHd':_0x1fb0c6(0x1ec),'bDAjW':'to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','SPeMI':'auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','bdEOt':'use\x20until\x20the\x20session\x20expires.\x0a','FZYyX':'You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','PXGCb':_0x1fb0c6(0x1c4),'cVIkT':_0x1fb0c6(0x1db),'IGlab':function(_0x551a37){return _0x551a37();},'KDNHw':function(_0x5731f2,_0x1eb30b,_0x128e7f,_0x58667f){return _0x5731f2(_0x1eb30b,_0x128e7f,_0x58667f);}};if(!findGitRoot())return console[_0x1fb0c6(0x1d6)]('⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.'),{'ready':![],'skipped':!![]};if(_0x5bc6f6[_0x1fb0c6(0x1a4)](findExistingEnv,_0x5bc6f6['TboHd'],{'locations':[_0x1fb0c6(0x1ec)]}))return console[_0x1fb0c6(0x1d6)]('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};const _0x546657=process[_0x1fb0c6(0x1a7)][_0x1fb0c6(0x1cf)]&&process[_0x1fb0c6(0x1dc)]['isTTY'];if(_0x546657&&!_0x2b2cdf?.['url']){console['log']('\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how'),console['log'](_0x5bc6f6['bDAjW']),console['log'](_0x5bc6f6[_0x1fb0c6(0x1e6)]),console['log'](_0x5bc6f6[_0x1fb0c6(0x1fd)]),console['log'](_0x5bc6f6[_0x1fb0c6(0x1ae)]);const {wantsProfile:_0x40e729}=await _0x26aa00[_0x1fb0c6(0x1a2)]([{'type':_0x5bc6f6['PXGCb'],'name':_0x5bc6f6[_0x1fb0c6(0x1e3)],'message':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','default':!![]}]);if(!_0x40e729)return _0x5bc6f6[_0x1fb0c6(0x20b)](printProfileSetupLaterInstructions),{'ready':![],'skipped':!![]};}try{return await _0x5bc6f6['KDNHw'](addEnv,_0x5bc6f6[_0x1fb0c6(0x1a8)],{'url':_0x2b2cdf?.[_0x1fb0c6(0x1c8)],'force':_0x2b2cdf?.['force']},_0xfa12cc),{'ready':!![],'skipped':![]};}catch(_0x42c196){return console['error'](_0x1fb0c6(0x203),_0x42c196 instanceof Error?_0x42c196['message']:_0x42c196),printProfileSetupLaterInstructions(),{'ready':![],'skipped':![]};}}export async function start(_0x206310,_0x355141,_0x1faa87){const _0xbc4dfe=_0x459500,_0x27efa8={'bYxqF':'user','dNsCe':_0xbc4dfe(0x1ce),'YlGoR':function(_0x3da4b5,_0x6d27e8){return _0x3da4b5(_0x6d27e8);},'weRsc':function(_0x1dc201){return _0x1dc201();},'GVLGN':_0xbc4dfe(0x207),'hUFtD':'chromium','ZdxuY':_0xbc4dfe(0x1ab),'peVtS':'plugin','dTRtP':function(_0x3dde69,_0x662dcc){return _0x3dde69(_0x662dcc);},'rWpTv':'skills','HkJhJ':function(_0xa019a1,_0x35363f,_0x5d772f){return _0xa019a1(_0x35363f,_0x5d772f);},'SiNOc':'ranger','hdcEN':function(_0x38cbef){return _0x38cbef();},'xqLeb':'ranger\x20profile\x20add\x20local','zxScQ':_0xbc4dfe(0x201),'Mogkf':_0xbc4dfe(0x1bb),'sRWRH':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','qPiPz':function(_0xa922be,_0x1df8d7){return _0xa922be(_0x1df8d7);},'MlAyv':'/ranger:enable','OGOyS':function(_0x26f60a,_0x3a9806){return _0x26f60a+_0x3a9806;}};console[_0xbc4dfe(0x1d6)](_0xbc4dfe(0x1e8));const _0x5a6347=process[_0xbc4dfe(0x1a7)]['isTTY']&&process[_0xbc4dfe(0x1dc)][_0xbc4dfe(0x1cf)];!_0x5a6347&&!_0x355141?.[_0xbc4dfe(0x1d8)]&&(console[_0xbc4dfe(0x1d6)]('Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.'),_0x355141={..._0x355141,'scope':_0x27efa8['bYxqF']});_0x1faa87?.[_0xbc4dfe(0x1b3)]('git_check');if(!findGitRoot()){await _0x1faa87?.['trackPhaseError'](_0x27efa8['dNsCe'],new Error('No\x20git\x20repository\x20found'));throw new Error(_0xbc4dfe(0x1e9));}_0x1faa87?.['trackPhaseEnd'](_0x27efa8['dNsCe']);const _0x8182c=!_0x27efa8['YlGoR'](existsSync,_0x27efa8['weRsc'](getRangerDir)),{path:_0x53fd57}=await ensureRangerDir();_0x1faa87?.['trackPhaseStart'](_0x27efa8['GVLGN']);const _0x5f50ba=await authenticate(_0x206310);_0x1faa87?.[_0xbc4dfe(0x1b4)](_0xbc4dfe(0x207),{'isFirstRun':_0x8182c,'method':_0x5f50ba[_0xbc4dfe(0x1e2)]}),_0x1faa87?.[_0xbc4dfe(0x1b3)](_0x27efa8[_0xbc4dfe(0x1e5)]);_0x355141?.['skipChromium']?console[_0xbc4dfe(0x1d6)](_0x27efa8[_0xbc4dfe(0x1e7)]):await _0x27efa8['weRsc'](ensureChromium);_0x1faa87?.[_0xbc4dfe(0x1b4)](_0xbc4dfe(0x1bd),{'isFirstRun':_0x8182c,'skipped':!!_0x355141?.['skipChromium']}),await writeRangerGitignore(_0x53fd57),console[_0xbc4dfe(0x1d6)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0xc7fb52=_0x355141?.[_0xbc4dfe(0x1d8)],_0x32b914=_0x355141?.['opencode']??![];let _0x3483a7=null;_0x32b914?(_0x1faa87?.[_0xbc4dfe(0x1b3)](_0x27efa8[_0xbc4dfe(0x1a3)]),_0x3483a7=await _0x27efa8['dTRtP'](ensureOpencodePluginConfig,_0xc7fb52),_0x1faa87?.['trackPhaseEnd'](_0x27efa8['peVtS'],{'isFirstRun':_0x8182c,'opencode':!![]})):(_0x1faa87?.['trackPhaseStart'](_0x27efa8['peVtS']),await ensureClaudePlugin(_0xc7fb52),_0x1faa87?.[_0xbc4dfe(0x1b4)](_0xbc4dfe(0x1fe),{'isFirstRun':_0x8182c}));if(_0x32b914&&_0x3483a7){_0x1faa87?.['trackPhaseStart'](_0x27efa8[_0xbc4dfe(0x1ff)]);try{await _0x27efa8[_0xbc4dfe(0x209)](installSkill,_0x27efa8['SiNOc'],{'level':_0x3483a7['scope'],'cliVersion':_0x27efa8[_0xbc4dfe(0x1f7)](getCurrentVersion),'platform':'opencode'}),_0x1faa87?.[_0xbc4dfe(0x1b4)](_0x27efa8['rWpTv'],{'isFirstRun':_0x8182c,'opencode':!![]});}catch(_0x544741){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x544741 instanceof Error?_0x544741['message']:_0x544741),_0x1faa87?.['trackPhaseEnd'](_0xbc4dfe(0x1dd),{'isFirstRun':_0x8182c,'opencode':!![],'failed':!![]});}}else _0x1faa87?.[_0xbc4dfe(0x1b3)](_0x27efa8['rWpTv']),await ensureClaudeSkills(_0xc7fb52),_0x1faa87?.[_0xbc4dfe(0x1b4)]('skills',{'isFirstRun':_0x8182c});if(!_0x5a6347&&!_0x355141?.['url'])console['log'](_0xbc4dfe(0x1b7)),console['log']('\x20\x20'+bold(_0x27efa8['xqLeb'])+'\x0a');else{_0x1faa87?.['trackPhaseStart'](_0xbc4dfe(0x1d9));const _0x14d8e7=await ensureLocalEnv({'url':_0x355141?.[_0xbc4dfe(0x1c8)],'force':_0x355141?.[_0xbc4dfe(0x1b5)]},_0x1faa87);_0x1faa87?.['trackPhaseEnd']('profile',{'isFirstRun':_0x8182c,'profileReady':_0x14d8e7[_0xbc4dfe(0x1f8)],'userSkipped':_0x14d8e7['skipped']}),_0x14d8e7['ready']&&console[_0xbc4dfe(0x1d6)](_0xbc4dfe(0x1e4));}if(_0x32b914)console['log'](_0x27efa8[_0xbc4dfe(0x1b2)]),console[_0xbc4dfe(0x1d6)](_0x27efa8[_0xbc4dfe(0x1ac)]),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0xbc4dfe(0x1d6)](_0x27efa8[_0xbc4dfe(0x1d4)]);else{const _0x23ede4=_0x27efa8['qPiPz'](bold,_0x27efa8['MlAyv']);console['log'](_0x27efa8[_0xbc4dfe(0x1a1)](_0xbc4dfe(0x1f9)+_0x23ede4+_0xbc4dfe(0x1ad),'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with')+_0xbc4dfe(0x204)+_0xbc4dfe(0x1c1));}}
1
+ const _0x21b21b=_0x2622;(function(_0x3ffc8e,_0x45fcdb){const _0x4978b=_0x2622,_0x16be4e=_0x3ffc8e();while(!![]){try{const _0x1c8c9a=parseInt(_0x4978b(0x12c))/0x1+-parseInt(_0x4978b(0xc7))/0x2+-parseInt(_0x4978b(0x11d))/0x3*(parseInt(_0x4978b(0xd2))/0x4)+-parseInt(_0x4978b(0xe9))/0x5+parseInt(_0x4978b(0xf6))/0x6*(-parseInt(_0x4978b(0xfa))/0x7)+parseInt(_0x4978b(0x129))/0x8*(parseInt(_0x4978b(0xd1))/0x9)+-parseInt(_0x4978b(0xf2))/0xa*(-parseInt(_0x4978b(0xc9))/0xb);if(_0x1c8c9a===_0x45fcdb)break;else _0x16be4e['push'](_0x16be4e['shift']());}catch(_0x1f92a1){_0x16be4e['push'](_0x16be4e['shift']());}}}(_0x16ca,0xb3b6f));import{mkdir,writeFile}from'fs/promises';function _0x2622(_0x1f7a4c,_0x2171d8){_0x1f7a4c=_0x1f7a4c-0xc5;const _0x16ca77=_0x16ca();let _0x2622cd=_0x16ca77[_0x1f7a4c];return _0x2622cd;}import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x3e49c3 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';function _0x16ca(){const _0x2d322e=['Validating\x20API\x20token...','isTTY','skipChromium','Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','\x0a❌\x20Profile\x20setup\x20failed:','VWJgd',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','1909048cJlZVd','tWGbc','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','247190dsuExa','✓\x20Stored\x20credentials\x20locally','OHdWB','\x20\x20npx\x20playwright@','JlakD','YGooh','✓\x20.ranger/\x20directory\x20already\x20exists','sAMkI','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium','.gitignore','1060510BYLpGb','playwright','28367053ZxImVj','LeAbL','trackPhaseEnd','stdout','\x1b[0m','xnzen','url','stdin','36aseMBq','20ncCdSN','Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','WfKdN','qOIam','tAjos','use\x20until\x20the\x20session\x20expires.\x0a','tSbiG','✓\x20Playwright\x20Chromium\x20browser\x20found','IRHsi','✓\x20Authenticated\x20to\x20','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','✓\x20Created\x20.ranger/.gitignore','wCZyT','skills','method','Erifr','.ranger','error','wXSPK','success','plugin','playwright@','6027330KCAAKm','user','ITYCT','BDDHA','opencode','NtZJn','log','EjGnl','QenHJ','10jUedVt','\x0aIn\x20Claude\x20Code,\x20run\x20','auth','prompt','30YBDIey','\x0a⚠\x20Skipping\x20Chromium\x20installation.','GITHUB_ENV','platform','1077944hfDRsV','tDHNA','nPHqI','ZVkRs','OPoaM','message','CmEIw','playwright/package.json','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','organizationName','RLozi','scope','profile','\x20\x20npx\x20playwright\x20install\x20chromium','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','wantsProfile','The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','LfoDE','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','WPsTK','\x0a🚀\x20Ranger\x20Setup\x0a','TGNML','bzWlS','trackPhaseStart','...','Installation\x20failed\x20with\x20exit\x20code\x20','MNpgO','resolve','install','chromium','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','✓\x20Local\x20profile\x20already\x20exists','WcKpd','ready','323247oxpWXY','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','local','close','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.'];_0x16ca=function(){return _0x2d322e;};return _0x16ca();}import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url),bold=_0x22d317=>'\x1b[1m'+_0x22d317+_0x21b21b(0xcd);function getPlaywrightVersion(){const _0x280e00=_0x21b21b,_0x532dfb={'MNpgO':function(_0xf3fa4c,_0x5b2e16){return _0xf3fa4c(_0x5b2e16);}};try{const _0x33b624=require[_0x280e00(0x116)](_0x280e00(0x101)),_0x2a9604=_0x532dfb[_0x280e00(0x115)](require,_0x33b624);return _0x2a9604['version'];}catch{return null;}}function installChromiumBinary(_0xe8a055){const _0x28c9cf=_0x21b21b,_0x3b64d7={'eFCBh':function(_0x16e401,_0x597612){return _0x16e401===_0x597612;},'Erifr':function(_0x503c32){return _0x503c32();},'WPsTK':function(_0x8223ba,_0x264aab){return _0x8223ba(_0x264aab);},'oMJcf':_0x28c9cf(0x117),'sAMkI':_0x28c9cf(0x118),'ByWaj':'inherit','IbmVn':function(_0x3036a4,_0x2ed550){return _0x3036a4===_0x2ed550;},'IRHsi':_0x28c9cf(0x120)};return new Promise((_0x1401e6,_0x4c7b46)=>{const _0x50a891=_0x28c9cf,_0x5e2547={'dBFhT':function(_0x4a21be,_0x4583b5){const _0x122dad=_0x2622;return _0x3b64d7[_0x122dad(0x10e)](_0x4a21be,_0x4583b5);}},_0x297f42=_0xe8a055?[_0x50a891(0xe8)+_0xe8a055,_0x3b64d7['oMJcf'],_0x3b64d7[_0x50a891(0x133)]]:[_0x50a891(0xc8),_0x50a891(0x117),_0x3b64d7['sAMkI']],_0x1d2a43=spawn('npx',_0x297f42,{'stdio':_0x3b64d7['ByWaj'],'shell':_0x3b64d7['IbmVn'](process[_0x50a891(0xf9)],'win32')});_0x1d2a43['on'](_0x3b64d7[_0x50a891(0xdb)],_0xb63024=>{const _0x3a093c=_0x50a891;_0x3b64d7['eFCBh'](_0xb63024,0x0)?_0x3b64d7[_0x3a093c(0xe2)](_0x1401e6):_0x3b64d7[_0x3a093c(0x10e)](_0x4c7b46,new Error(_0x3a093c(0x114)+_0xb63024));}),_0x1d2a43['on']('error',_0x3eb834=>{_0x5e2547['dBFhT'](_0x4c7b46,_0x3eb834);});});}export async function authenticate(_0x3c861e){const _0x2259ef=_0x21b21b,_0x114e94={'qZjsy':function(_0x491b5d){return _0x491b5d();},'BDDHA':function(_0xe96813,_0x9e631a){return _0xe96813(_0x9e631a);},'QWFHb':function(_0x4140f3,_0x231560){return _0x4140f3(_0x231560);},'gNTxL':'✓\x20Exported\x20credentials\x20for\x20CI','ITYCT':_0x2259ef(0x12d),'wCZyT':'provided_token'};if(!_0x3c861e){const _0x5a114a=await _0x114e94['qZjsy'](getToken);if(_0x5a114a){const _0x243fb8=await _0x114e94[_0x2259ef(0xec)](getCurrentUser,_0x5a114a);if(_0x243fb8[_0x2259ef(0xe6)])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x243fb8[_0x2259ef(0xea)]['organizationName']),{'token':_0x5a114a,'method':'existing_token'};}try{_0x3c861e=await _0x114e94['qZjsy'](runDeviceAuthFlow);}catch(_0x5d7762){throw new Error('Authentication\x20failed:\x20'+(_0x5d7762 instanceof Error?_0x5d7762['message']:_0x5d7762));}const _0x38a507=await _0x114e94[_0x2259ef(0xec)](getCurrentUser,_0x3c861e);if(!_0x38a507[_0x2259ef(0xe6)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x38a507['error']);return console[_0x2259ef(0xef)]('✓\x20Authenticated\x20to\x20'+_0x38a507['user'][_0x2259ef(0x103)]),{'token':_0x3c861e,'method':'device_auth'};}console[_0x2259ef(0xef)](_0x2259ef(0x122));const _0x3e38ea=await getCurrentUser(_0x3c861e);if(!_0x3e38ea['success']){if(_0x3e38ea['status'])throw new Error('Authentication\x20failed:\x20'+_0x3e38ea['error']+_0x2259ef(0x10d));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x3e38ea[_0x2259ef(0xe4)]+_0x2259ef(0x108));}return console[_0x2259ef(0xef)](_0x2259ef(0xdc)+_0x3e38ea['user']['organizationName']),await _0x114e94['QWFHb'](storeToken,_0x3c861e),console['log'](process['env'][_0x2259ef(0xf8)]?_0x114e94['gNTxL']:_0x114e94[_0x2259ef(0xeb)]),{'token':_0x3c861e,'method':_0x114e94[_0x2259ef(0xdf)]};}export async function ensureRangerDir(){const _0x4d49fa=_0x21b21b,_0x3d1306={'nPHqI':function(_0x53b1b0,_0x54508e,_0x18e9b3){return _0x53b1b0(_0x54508e,_0x18e9b3);},'tSbiG':function(_0x131458){return _0x131458();}},_0x267c8a=findGitRoot(),_0x126fec=_0x267c8a?_0x3d1306[_0x4d49fa(0xfc)](join,_0x267c8a,_0x4d49fa(0xe3)):_0x3d1306[_0x4d49fa(0xd9)](getRangerDir);return!existsSync(_0x126fec)?(await _0x3d1306[_0x4d49fa(0xfc)](mkdir,_0x126fec,{'recursive':!![]}),console['log']('✓\x20Created\x20.ranger/\x20directory'),{'path':_0x126fec,'installed':!![]}):(console['log'](_0x4d49fa(0x132)),{'path':_0x126fec,'installed':![]});}export async function ensureChromium(){const _0x31146a=_0x21b21b,_0xee76e4={'TGNML':function(_0x1bf57f){return _0x1bf57f();},'diAdo':'confirm','LvujI':_0x31146a(0x10b),'RLozi':function(_0xbb43a1,_0x11ef34){return _0xbb43a1(_0x11ef34);},'IskMS':function(_0x31803c,_0x385eb8){return _0x31803c instanceof _0x385eb8;},'qOIam':_0x31146a(0xf7),'LeAbL':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','uOlCA':'\x20\x20npx\x20playwright\x20install\x20chromium'};let _0x1bdddc=![];try{const _0x3908f3=chromium['executablePath']();_0x1bdddc=existsSync(_0x3908f3);}catch{_0x1bdddc=![];}if(_0x1bdddc)return console[_0x31146a(0xef)](_0x31146a(0xda)),![];const _0x2f3198=_0xee76e4[_0x31146a(0x110)](getPlaywrightVersion),_0x43ed34=process[_0x31146a(0xd0)]['isTTY']&&process['stdout']['isTTY'];let _0x318836=!![];if(_0x43ed34){const {install:_0x11bb21}=await _0x3e49c3[_0x31146a(0xf5)]([{'type':_0xee76e4['diAdo'],'name':_0x31146a(0x117),'message':_0x2f3198?'The\x20required\x20version\x20('+_0x2f3198+_0x31146a(0x128):_0xee76e4['LvujI'],'default':!![]}]);_0x318836=_0x11bb21;}else console[_0x31146a(0xef)](_0x31146a(0xc5)+(_0x2f3198?'\x20'+_0x2f3198:'')+_0x31146a(0x113));if(_0x318836){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0xee76e4[_0x31146a(0x104)](installChromiumBinary,_0x2f3198),console[_0x31146a(0xef)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x2cc063){console[_0x31146a(0xe4)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0xee76e4['IskMS'](_0x2cc063,Error)?_0x2cc063[_0x31146a(0xff)]:_0x2cc063),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),_0x2f3198?console[_0x31146a(0xef)]('\x20\x20npx\x20playwright@'+_0x2f3198+'\x20install\x20chromium'):console[_0x31146a(0xef)](_0x31146a(0x107));}}else console[_0x31146a(0xef)](_0xee76e4[_0x31146a(0xd6)]),console[_0x31146a(0xef)](_0xee76e4[_0x31146a(0xca)]),_0x2f3198?console[_0x31146a(0xef)](_0x31146a(0x12f)+_0x2f3198+'\x20install\x20chromium'):console[_0x31146a(0xef)](_0xee76e4['uOlCA']);return!![];}export async function writeRangerGitignore(_0x341369){const _0x51d18a=_0x21b21b,_0x56fa31={'LfoDE':_0x51d18a(0xc6)},_0x114fcf=join(_0x341369,_0x56fa31[_0x51d18a(0x10c)]),_0x83740e='\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(_0x114fcf,_0x83740e),console[_0x51d18a(0xef)](_0x51d18a(0xde));}function printProfileSetupLaterInstructions(){const _0x594175=_0x21b21b,_0x5d0994={'wXSPK':'ranger\x20profile\x20add\x20local'};console[_0x594175(0xef)](_0x594175(0xd4)),console[_0x594175(0xef)]('\x20\x20'+bold(_0x5d0994[_0x594175(0xe5)])),console[_0x594175(0xef)](_0x594175(0x12b));}async function ensureLocalEnv(_0x4a1d4f,_0x261e66){const _0x546a8e=_0x21b21b,_0x404e43={'wMlDI':function(_0x3cb2ca){return _0x3cb2ca();},'ZVkRs':'⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','VWJgd':'local','bzWlS':_0x546a8e(0xdd),'tAjos':'You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','JlakD':'confirm','WfKdN':_0x546a8e(0x10a),'QenHJ':_0x546a8e(0x126),'tDHNA':function(_0x2bf160){return _0x2bf160();}};if(!_0x404e43['wMlDI'](findGitRoot))return console[_0x546a8e(0xef)](_0x404e43[_0x546a8e(0xfd)]),{'ready':![],'skipped':!![]};if(findExistingEnv(_0x404e43[_0x546a8e(0x127)],{'locations':[_0x546a8e(0x11f)]}))return console['log'](_0x546a8e(0x11a)),{'ready':!![],'skipped':![]};const _0x28fe58=process['stdin'][_0x546a8e(0x123)]&&process['stdout']['isTTY'];if(_0x28fe58&&!_0x4a1d4f?.['url']){console[_0x546a8e(0xef)](_0x404e43[_0x546a8e(0x111)]),console[_0x546a8e(0xef)]('to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind'),console['log']('auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to'),console[_0x546a8e(0xef)](_0x546a8e(0xd8)),console[_0x546a8e(0xef)](_0x404e43[_0x546a8e(0xd7)]);const {wantsProfile:_0x107d45}=await _0x3e49c3['prompt']([{'type':_0x404e43[_0x546a8e(0x130)],'name':_0x404e43[_0x546a8e(0xd5)],'message':_0x546a8e(0xd3),'default':!![]}]);if(!_0x107d45)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await addEnv(_0x546a8e(0x11f),{'url':_0x4a1d4f?.[_0x546a8e(0xcf)],'force':_0x4a1d4f?.['force']},_0x261e66),{'ready':!![],'skipped':![]};}catch(_0x15461e){return console[_0x546a8e(0xe4)](_0x404e43[_0x546a8e(0xf1)],_0x15461e instanceof Error?_0x15461e[_0x546a8e(0xff)]:_0x15461e),_0x404e43[_0x546a8e(0xfb)](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x19d586,_0x30e6a2,_0x466205){const _0x506b8a=_0x21b21b,_0x516710={'YhNeM':'git_check','OPoaM':'No\x20git\x20repository\x20found','xnzen':'No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','EoXIe':function(_0xa770d2){return _0xa770d2();},'YGooh':_0x506b8a(0xf4),'sLZRx':function(_0x4945a4,_0x4ed379){return _0x4945a4(_0x4ed379);},'ijwFa':_0x506b8a(0x118),'EjGnl':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','tWGbc':function(_0x363ff7,_0x27feb5){return _0x363ff7(_0x27feb5);},'CmEIw':'plugin','WcKpd':_0x506b8a(0xe0),'hLpvz':function(_0x1b23da,_0x3d2a18,_0x1c300c){return _0x1b23da(_0x3d2a18,_0x1c300c);},'yrNnv':_0x506b8a(0x119),'sqROH':function(_0x2a4eaa,_0x181783){return _0x2a4eaa instanceof _0x181783;},'zIzzr':function(_0x2e06a4,_0x308b52){return _0x2e06a4(_0x308b52);},'NtZJn':_0x506b8a(0x106),'zwczy':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','OHdWB':function(_0x52c2c1,_0x561052){return _0x52c2c1(_0x561052);},'PKdsv':'/ranger:enable'};console[_0x506b8a(0xef)](_0x506b8a(0x10f));const _0x2afcdf=process['stdin']['isTTY']&&process[_0x506b8a(0xcc)][_0x506b8a(0x123)];!_0x2afcdf&&!_0x30e6a2?.['scope']&&(console[_0x506b8a(0xef)](_0x506b8a(0x121)),_0x30e6a2={..._0x30e6a2,'scope':_0x506b8a(0xea)});_0x466205?.['trackPhaseStart']('git_check');if(!findGitRoot()){await _0x466205?.['trackPhaseError'](_0x516710['YhNeM'],new Error(_0x516710[_0x506b8a(0xfe)]));throw new Error(_0x516710[_0x506b8a(0xce)]);}_0x466205?.['trackPhaseEnd']('git_check');const _0x2f4fec=!existsSync(_0x516710['EoXIe'](getRangerDir)),{path:_0x18ee83}=await _0x516710['EoXIe'](ensureRangerDir);_0x466205?.[_0x506b8a(0x112)](_0x516710[_0x506b8a(0x131)]);const _0x51c0a2=await _0x516710['sLZRx'](authenticate,_0x19d586);_0x466205?.['trackPhaseEnd'](_0x516710[_0x506b8a(0x131)],{'isFirstRun':_0x2f4fec,'method':_0x51c0a2[_0x506b8a(0xe1)]}),_0x466205?.[_0x506b8a(0x112)](_0x516710['ijwFa']);_0x30e6a2?.['skipChromium']?console[_0x506b8a(0xef)](_0x516710[_0x506b8a(0xf0)]):await ensureChromium();_0x466205?.[_0x506b8a(0xcb)](_0x516710['ijwFa'],{'isFirstRun':_0x2f4fec,'skipped':!!_0x30e6a2?.[_0x506b8a(0x124)]}),await _0x516710[_0x506b8a(0x12a)](writeRangerGitignore,_0x18ee83),console[_0x506b8a(0xef)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x30c008=_0x30e6a2?.[_0x506b8a(0x105)],_0x1c4b3f=_0x30e6a2?.[_0x506b8a(0xed)]??![];let _0x1adeaa=null;_0x1c4b3f?(_0x466205?.['trackPhaseStart']('plugin'),_0x1adeaa=await ensureOpencodePluginConfig(_0x30c008),_0x466205?.['trackPhaseEnd'](_0x516710['CmEIw'],{'isFirstRun':_0x2f4fec,'opencode':!![]})):(_0x466205?.[_0x506b8a(0x112)](_0x516710[_0x506b8a(0x100)]),await ensureClaudePlugin(_0x30c008),_0x466205?.[_0x506b8a(0xcb)](_0x506b8a(0xe7),{'isFirstRun':_0x2f4fec}));if(_0x1c4b3f&&_0x1adeaa){_0x466205?.['trackPhaseStart'](_0x516710['WcKpd']);try{await _0x516710['hLpvz'](installSkill,'ranger',{'level':_0x1adeaa[_0x506b8a(0x105)],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x466205?.[_0x506b8a(0xcb)](_0x506b8a(0xe0),{'isFirstRun':_0x2f4fec,'opencode':!![]});}catch(_0x426984){console['warn'](_0x516710['yrNnv'],_0x516710['sqROH'](_0x426984,Error)?_0x426984[_0x506b8a(0xff)]:_0x426984),_0x466205?.['trackPhaseEnd'](_0x516710[_0x506b8a(0x11b)],{'isFirstRun':_0x2f4fec,'opencode':!![],'failed':!![]});}}else _0x466205?.['trackPhaseStart'](_0x516710['WcKpd']),await ensureClaudeSkills(_0x30c008),_0x466205?.[_0x506b8a(0xcb)]('skills',{'isFirstRun':_0x2f4fec});if(!_0x2afcdf&&!_0x30e6a2?.[_0x506b8a(0xcf)])console['log'](_0x506b8a(0x125)),console[_0x506b8a(0xef)]('\x20\x20'+_0x516710['zIzzr'](bold,'ranger\x20profile\x20add\x20local')+'\x0a');else{_0x466205?.[_0x506b8a(0x112)](_0x516710[_0x506b8a(0xee)]);const _0x5cfb27=await ensureLocalEnv({'url':_0x30e6a2?.['url'],'force':_0x30e6a2?.['force']},_0x466205);_0x466205?.['trackPhaseEnd']('profile',{'isFirstRun':_0x2f4fec,'profileReady':_0x5cfb27[_0x506b8a(0x11c)],'userSkipped':_0x5cfb27['skipped']}),_0x5cfb27['ready']&&console['log']('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}if(_0x1c4b3f)console[_0x506b8a(0xef)]('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console[_0x506b8a(0xef)](_0x506b8a(0x11e)),console[_0x506b8a(0xef)](_0x506b8a(0x102)),console['log'](_0x516710['zwczy']);else{const _0x27e960=_0x516710[_0x506b8a(0x12e)](bold,_0x516710['PKdsv']);console['log'](_0x506b8a(0xf3)+_0x27e960+'\x20and\x20prompt\x20the\x20coding'+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'+_0x506b8a(0x109));}}
@@ -1 +1 @@
1
- function _0x3195(_0x372de8,_0x5e58ed){_0x372de8=_0x372de8-0x1e6;const _0x3d905e=_0x3d90();let _0x3195d9=_0x3d905e[_0x372de8];return _0x3195d9;}const _0x592d58=_0x3195;(function(_0x32dd88,_0x1f4125){const _0x3463b1=_0x3195,_0x44df14=_0x32dd88();while(!![]){try{const _0x3e9e22=-parseInt(_0x3463b1(0x22c))/0x1*(-parseInt(_0x3463b1(0x223))/0x2)+parseInt(_0x3463b1(0x225))/0x3+parseInt(_0x3463b1(0x251))/0x4*(-parseInt(_0x3463b1(0x229))/0x5)+parseInt(_0x3463b1(0x245))/0x6*(parseInt(_0x3463b1(0x24b))/0x7)+-parseInt(_0x3463b1(0x1e6))/0x8*(parseInt(_0x3463b1(0x23c))/0x9)+-parseInt(_0x3463b1(0x1fd))/0xa*(-parseInt(_0x3463b1(0x231))/0xb)+-parseInt(_0x3463b1(0x208))/0xc*(parseInt(_0x3463b1(0x1fe))/0xd);if(_0x3e9e22===_0x1f4125)break;else _0x44df14['push'](_0x44df14['shift']());}catch(_0x3a8f51){_0x44df14['push'](_0x44df14['shift']());}}}(_0x3d90,0xbf722));function _0x3d90(){const _0x5db431=['36bGUxBg','config','\x20\x20\x20\x20','utf-8','log','ZPsqn','twzhe','disabled','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','organizationName','dQMKk','\x1b[1m','push','plaintext','hasEncryptedAuth','yhilE','LRAEs','success','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','(not\x20found)','znJrA','user','fLWUt','\x20\x20Run:\x20ranger\x20setup\x20--opencode','ucrdx','PYGkc','encrypted','4jJlhLk','JzOPZ','569688kpwcuf','ZNHkS','bdgIh','\x20\x20Run:\x20ranger\x20update','31805aCTCWk','not_configured','join','378722OdOTNh','plugin','\x20(latest:\x20','\x0a\x20\x20No\x20active\x20profile\x20set','version','649JQaWAO','isDirectory','auth.json','\x20(active)','GOwFG','yJOxY','YRGgH','map','name','enabled','\x0a📊\x20Ranger\x20Status\x0a','211995eWTkCh','includes','settings.json','Version:\x20','stdout','lqUbp','GNGrm','dRKGN','dmpRT','5286BxTagW','nbice','lQCTw','path','details',':\x20installed\x20(','4403cEUKbT','\x0a---\x20Skills\x20---','data','close','\x20\x20Not\x20configured','\x20\x20Run:\x20ranger\x20setup\x20[token]','416jnsFSu','not_installed','Root:\x20','RntKp','SoLjb','length','56xZmXEM','OWFla','\x0a---\x20Profiles\x20---','toString','filter','trim','displayName','\x0a---\x20OpenCode\x20Plugin\x20---','ignore','vFcLq','some','HDeHG','ranger@trailhead','cwd','\x20(up\x20to\x20date)','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','settingsPath','none','match','\x20plugin(s)\x20configured','opencode','Gyojh','project','22490qgDbsH','102219LDmiRM','DEBUG','pipe','Organization:\x20','configured','AUjuG','NbxZG','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','HQpBk','No\x20profiles\x20configured'];_0x3d90=function(){return _0x5db431;};return _0x3d90();}import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x1648dd=>_0x592d58(0x213)+_0x1648dd+'\x1b[0m',link=(_0x2300dc,_0x39fdb7)=>'\x1b]8;;file://'+_0x2300dc+'\x07'+(_0x39fdb7||_0x2300dc)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0xbd3329=_0x592d58,_0x54a28f={'cnXXv':'not_installed','WoFvx':function(_0x23fb22,_0x206b74){return _0x23fb22(_0x206b74);},'kFRla':function(_0x3f35c2,_0x382a65){return _0x3f35c2>_0x382a65;},'BiuNW':function(_0x46723e,_0x28a4c2){return _0x46723e(_0x28a4c2);},'odbcQ':function(_0x27fa25,_0xe0fc4){return _0x27fa25(_0xe0fc4);},'fLWUt':_0xbd3329(0x22a),'znJrA':function(_0x404b94,_0x303293,_0x5d5179,_0x5b8252){return _0x404b94(_0x303293,_0x5d5179,_0x5b8252);},'fVdQk':'debug','UCGoM':'pipe','fqarR':_0xbd3329(0x24d),'MDOrV':'error'};return new Promise(_0x2953bf=>{const _0x15e540=_0xbd3329,_0x1d93bc=_0x54a28f[_0x15e540(0x21c)](spawn,_0x15e540(0x1fa),[_0x54a28f['fVdQk'],_0x15e540(0x209)],{'stdio':[_0x15e540(0x1ee),_0x15e540(0x200),_0x54a28f['UCGoM']]});let _0x487b9a='';_0x1d93bc[_0x15e540(0x240)]?.['on'](_0x54a28f['fqarR'],_0x3b9a84=>{_0x487b9a+=_0x3b9a84['toString']();}),_0x1d93bc['stderr']?.['on']('data',_0x4f95b2=>{const _0x1e0b87=_0x15e540;_0x487b9a+=_0x4f95b2[_0x1e0b87(0x1e9)]();}),_0x1d93bc['on'](_0x54a28f['MDOrV'],()=>{const _0x1cb650=_0x15e540;_0x2953bf({'status':_0x1cb650(0x252)});}),_0x1d93bc['on'](_0x15e540(0x24e),_0x34d4b3=>{const _0x568606=_0x15e540,_0x2b6088={'bYLwa':function(_0x3e1674,_0x2e0aab){return _0x3e1674!==_0x2e0aab;},'WwUuw':'@ranger-testing/opencode-plugin','fiXwG':'opencode-plugin'};if(_0x34d4b3!==0x0){_0x2953bf({'status':_0x54a28f['cnXXv']});return;}const _0x590610=_0x487b9a['trim']();let _0x5d866d=null;if(_0x590610)try{_0x5d866d=JSON['parse'](_0x590610);}catch{const _0x127349=_0x590610[_0x568606(0x1f8)](/\{[\s\S]*\}$/);if(_0x127349)try{_0x5d866d=JSON['parse'](_0x127349[0x0]);}catch{_0x5d866d=null;}}const _0xc9391b=Array['isArray'](_0x5d866d?.[_0x568606(0x22d)])?_0x5d866d?.[_0x568606(0x22d)]:[],_0x19248e=_0xc9391b[_0x568606(0x1f0)](_0x5e140a=>{const _0x614357=_0x568606;if(_0x2b6088['bYLwa'](typeof _0x5e140a,'string'))return![];return _0x5e140a['includes'](_0x2b6088['WwUuw'])||_0x5e140a[_0x614357(0x23d)](_0x2b6088['fiXwG']);});if(_0x19248e){_0x54a28f['WoFvx'](_0x2953bf,{'status':'configured','details':_0xc9391b[_0x568606(0x256)]>0x0?_0xc9391b[_0x568606(0x256)]+_0x568606(0x1f9):undefined});return;}if(_0x54a28f['kFRla'](_0xc9391b[_0x568606(0x256)],0x0)){_0x54a28f['BiuNW'](_0x2953bf,{'status':_0x568606(0x22a),'details':_0xc9391b[_0x568606(0x256)]+_0x568606(0x1f9)});return;}_0x54a28f['odbcQ'](_0x2953bf,{'status':_0x54a28f[_0x568606(0x21e)]});});});}async function getSkillsFromDir(_0x4ab1c6,_0x142ab9){const _0x58c36d=_0x592d58,_0x54ac03={'mluFK':function(_0x3639ba,_0x57b1e7){return _0x3639ba(_0x57b1e7);},'dRKGN':function(_0x154871,_0x372006,_0x33d9da){return _0x154871(_0x372006,_0x33d9da);},'GOwFG':function(_0x3f5c60,_0x4ab3c4,_0x59b579,_0x212d0d){return _0x3f5c60(_0x4ab3c4,_0x59b579,_0x212d0d);},'lqUbp':function(_0x19e5fb,_0x122842){return _0x19e5fb(_0x122842);},'GzFWR':_0x58c36d(0x20b)};if(!_0x54ac03['mluFK'](existsSync,_0x4ab1c6))return[];const _0x42c38f=[];try{const _0x22a7e6=await _0x54ac03[_0x58c36d(0x243)](readdir,_0x4ab1c6,{'withFileTypes':!![]});for(const _0x14313b of _0x22a7e6){if(_0x14313b[_0x58c36d(0x232)]()){const _0x1c7778=_0x54ac03[_0x58c36d(0x235)](join,_0x4ab1c6,_0x14313b['name'],'SKILL.md');if(_0x54ac03[_0x58c36d(0x241)](existsSync,_0x1c7778)){let _0x21e10c=_0x14313b[_0x58c36d(0x239)];try{const _0x3726c2=await readFile(_0x1c7778,_0x54ac03['GzFWR']),_0x3b4eeb=_0x3726c2['match'](/name:\s*(.+)/);_0x3b4eeb&&(_0x21e10c=_0x3b4eeb[0x1][_0x58c36d(0x1eb)]());}catch{}_0x42c38f[_0x58c36d(0x214)]({'name':_0x14313b[_0x58c36d(0x239)],'displayName':_0x21e10c,'path':_0x1c7778,'level':_0x142ab9});}}}}catch{return[];}return _0x42c38f;}async function getInstalledSkills(){const _0x58c447=_0x592d58,_0x13543a={'PYGkc':function(_0x444d20,_0x3812a8,_0x527eae){return _0x444d20(_0x3812a8,_0x527eae);},'zHGJY':_0x58c447(0x1fc)},[_0x466763,_0x448ba8]=await Promise['all']([_0x13543a[_0x58c447(0x221)](getSkillsFromDir,getProjectSkillsDir(),_0x13543a['zHGJY']),_0x13543a['PYGkc'](getSkillsFromDir,getUserSkillsDir(),_0x58c447(0x21d))]);return{'project':_0x466763,'user':_0x448ba8};}async function getEnvironments(){const _0x303ddb=_0x592d58,_0x23b48b={'OWFla':function(_0x232608,_0x1f0075,_0xe89814){return _0x232608(_0x1f0075,_0xe89814);},'nbice':_0x303ddb(0x21b),'twzhe':function(_0xf335b8,_0x49f9a6){return _0xf335b8(_0x49f9a6);},'bdgIh':function(_0x36c466){return _0x36c466();}},{envNames:_0x4f8c75,activeEnv:_0x4240ec}=await _0x23b48b[_0x303ddb(0x227)](getEnvNames),_0x343239=_0x23b48b[_0x303ddb(0x227)](getRangerDir);if(!existsSync(_0x343239))return{'envs':[],'activeEnv':null};const _0x3580d=_0x4f8c75['map'](_0xd17f5d=>{const _0x3e9038=_0x303ddb,_0x395b45=getEnvDir(_0xd17f5d),_0x13ce81=_0x23b48b['OWFla'](join,_0x395b45,_0x3e9038(0x23e)),_0x17c304=_0x23b48b[_0x3e9038(0x1e7)](join,_0x395b45,_0x3e9038(0x233)),_0x459e49=_0x23b48b[_0x3e9038(0x1e7)](join,_0x395b45,'auth.json.enc');return{'name':_0xd17f5d,'settingsPath':existsSync(_0x13ce81)?_0x13ce81:_0x23b48b[_0x3e9038(0x246)],'hasPlaintextAuth':existsSync(_0x17c304),'hasEncryptedAuth':_0x23b48b[_0x3e9038(0x20e)](existsSync,_0x459e49),'isActive':_0xd17f5d===_0x4240ec};});return{'envs':_0x3580d,'activeEnv':_0x4240ec};}export async function status(){const _0x28c5fd=_0x592d58,_0x115dc5={'ZPsqn':function(_0x30fecb,_0x3ed29f){return _0x30fecb(_0x3ed29f);},'ZNHkS':function(_0x35206d,_0x42ee68,_0x4a55b3){return _0x35206d(_0x42ee68,_0x4a55b3);},'eGcbL':function(_0x444f28,_0x1882b1,_0x3b1af0){return _0x444f28(_0x1882b1,_0x3b1af0);},'ucrdx':function(_0xe39446){return _0xe39446();},'lQCTw':function(_0x3efc00,_0xeb24d7){return _0x3efc00!==_0xeb24d7;},'Gyojh':function(_0x18d5a4){return _0x18d5a4();},'vFcLq':function(_0x3782b,_0x4e4ae3){return _0x3782b(_0x4e4ae3);},'HDeHG':_0x28c5fd(0x202),'yhilE':function(_0x444589,_0x208060){return _0x444589===_0x208060;},'dmpRT':_0x28c5fd(0x24f),'YRGgH':_0x28c5fd(0x21f),'GNGrm':_0x28c5fd(0x21a),'LRAEs':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','NbxZG':'enabled','yJOxY':_0x28c5fd(0x20f),'Wuujl':_0x28c5fd(0x1f2),'Maqyv':function(_0x2f4c28,_0x2b2c41){return _0x2f4c28+_0x2b2c41;},'RntKp':function(_0x22cad2,_0x1d0e77){return _0x22cad2(_0x1d0e77);},'AUjuG':function(_0x35c87e,_0x322dcc){return _0x35c87e(_0x322dcc);},'JzOPZ':function(_0x32c099,_0xa7290e){return _0x32c099>_0xa7290e;},'JOtas':_0x28c5fd(0x207),'GEsXr':_0x28c5fd(0x234),'SoLjb':function(_0x4ab2e0,_0x1fb6b5){return _0x4ab2e0!==_0x1fb6b5;},'HQpBk':'(not\x20found)','dQMKk':function(_0x124a59,_0x2cb044,_0x3f8adc){return _0x124a59(_0x2cb044,_0x3f8adc);},'DWxRa':function(_0x5553b3,_0x10a118){return _0x5553b3(_0x10a118);}};console[_0x28c5fd(0x20c)](_0x28c5fd(0x23b));const _0x4b9277=process[_0x28c5fd(0x1f3)](),_0x38e6f1=getRangerDir();if(!_0x115dc5[_0x28c5fd(0x20d)](existsSync,_0x38e6f1)){console['log']('Root:\x20'+_0x115dc5[_0x28c5fd(0x226)](link,_0x4b9277,bold(basename(_0x4b9277)))),console[_0x28c5fd(0x20c)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x28c5fd(0x20c)](_0x28c5fd(0x210));return;}console['log'](_0x28c5fd(0x253)+_0x115dc5['eGcbL'](link,_0x4b9277,bold(basename(_0x4b9277))));const _0xcc4368=_0x115dc5['ucrdx'](getCurrentVersion),_0x5914be=getLatestVersion();if(_0x5914be[_0x28c5fd(0x230)]&&_0x115dc5[_0x28c5fd(0x247)](_0x5914be['version'],_0xcc4368))console[_0x28c5fd(0x20c)](_0x28c5fd(0x23f)+_0xcc4368+_0x28c5fd(0x22e)+_0x5914be[_0x28c5fd(0x230)]+')'),console[_0x28c5fd(0x20c)](_0x28c5fd(0x228));else _0x5914be[_0x28c5fd(0x230)]?console['log'](_0x28c5fd(0x23f)+_0xcc4368+_0x28c5fd(0x1f4)):console[_0x28c5fd(0x20c)](_0x28c5fd(0x23f)+_0xcc4368);const _0x534350=await _0x115dc5[_0x28c5fd(0x1fb)](getToken);if(_0x534350){const _0x370ea5=await _0x115dc5[_0x28c5fd(0x1ef)](getCurrentUser,_0x534350);_0x370ea5[_0x28c5fd(0x219)]?console[_0x28c5fd(0x20c)](_0x28c5fd(0x201)+_0x115dc5[_0x28c5fd(0x1ef)](bold,_0x370ea5['user'][_0x28c5fd(0x211)])):(console[_0x28c5fd(0x20c)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x28c5fd(0x20c)]('API\x20Token:\x20✗\x20Not\x20found'),console['log'](_0x28c5fd(0x250));process['env'][_0x28c5fd(0x1ff)]&&(console['log']('API\x20Environment:\x20'+getCurrentEnvironment()),console['log']('API\x20URL:\x20'+_0x115dc5[_0x28c5fd(0x220)](getApiBaseUrl)));console[_0x28c5fd(0x20c)](_0x28c5fd(0x1ed));const _0x57c2ba=await getOpencodePluginStatus();if(_0x57c2ba['status']===_0x115dc5[_0x28c5fd(0x1f1)])console['log']('\x20\x20'+bold('@ranger-testing/opencode-plugin')+':\x20configured'),_0x57c2ba[_0x28c5fd(0x249)]&&console[_0x28c5fd(0x20c)]('\x20\x20'+_0x57c2ba[_0x28c5fd(0x249)]);else _0x115dc5[_0x28c5fd(0x217)](_0x57c2ba['status'],_0x28c5fd(0x22a))?(console['log'](_0x115dc5[_0x28c5fd(0x244)]),_0x57c2ba[_0x28c5fd(0x249)]&&console[_0x28c5fd(0x20c)]('\x20\x20'+_0x57c2ba['details']),console['log'](_0x115dc5[_0x28c5fd(0x237)])):console['log'](_0x115dc5[_0x28c5fd(0x242)]);console['log'](_0x115dc5[_0x28c5fd(0x218)]);const _0x95f4d7=await getPluginInfo(_0x28c5fd(0x1f2));if(_0x95f4d7){const _0x4918dc=_0x95f4d7['scope']||'unknown',_0x5002db=_0x95f4d7[_0x28c5fd(0x23a)]?_0x115dc5[_0x28c5fd(0x204)]:_0x115dc5[_0x28c5fd(0x236)];console['log']('\x20\x20'+_0x115dc5['ZPsqn'](bold,_0x115dc5['Wuujl'])+_0x28c5fd(0x24a)+_0x4918dc+',\x20'+_0x5002db+')');}else console['log']('\x20\x20Not\x20installed'),console[_0x28c5fd(0x20c)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console[_0x28c5fd(0x20c)](_0x28c5fd(0x24c));const {project:_0x43b6a6,user:_0x3d9a4f}=await getInstalledSkills(),_0x7c844=_0x43b6a6[_0x28c5fd(0x1ea)](_0x145a4f=>RANGER_MANAGED_SKILLS[_0x28c5fd(0x23d)](_0x145a4f[_0x28c5fd(0x239)])),_0x29d06e=_0x3d9a4f['filter'](_0x20025d=>RANGER_MANAGED_SKILLS[_0x28c5fd(0x23d)](_0x20025d['name'])),_0x11f53a=_0x115dc5['Maqyv'](_0x7c844[_0x28c5fd(0x256)],_0x29d06e['length']);if(_0x11f53a===0x0)console['log']('No\x20skills\x20installed'),console[_0x28c5fd(0x20c)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x7c844[_0x28c5fd(0x256)]>0x0){console[_0x28c5fd(0x20c)]('\x20\x20Project-level:');for(const _0x5adb6f of _0x7c844){console['log'](_0x28c5fd(0x20a)+_0x115dc5[_0x28c5fd(0x254)](bold,_0x5adb6f[_0x28c5fd(0x1ec)])+':\x20'+link(_0x5adb6f[_0x28c5fd(0x248)],_0x115dc5[_0x28c5fd(0x203)](basename,_0x5adb6f[_0x28c5fd(0x248)])));}}if(_0x115dc5[_0x28c5fd(0x224)](_0x29d06e['length'],0x0)){console['log']('\x20\x20User-level:');for(const _0x206536 of _0x29d06e){console['log']('\x20\x20\x20\x20'+bold(_0x206536['displayName'])+':\x20'+link(_0x206536['path'],basename(_0x206536['path'])));}}}console['log'](_0x28c5fd(0x1e8));const {envs:_0x157247,activeEnv:_0x36abbd}=await _0x115dc5[_0x28c5fd(0x220)](getEnvironments);if(_0x157247['length']===0x0)console['log'](_0x115dc5['JOtas']),console[_0x28c5fd(0x20c)](_0x28c5fd(0x205));else{for(const _0x1d2141 of _0x157247){const _0x4536e9=_0x1d2141['isActive']?_0x115dc5['GEsXr']:'',_0x2ba375=_0x1d2141[_0x28c5fd(0x216)]?_0x28c5fd(0x222):_0x1d2141['hasPlaintextAuth']?_0x28c5fd(0x215):_0x28c5fd(0x1f7);console['log']('\x20\x20'+bold(_0x1d2141[_0x28c5fd(0x239)])+_0x4536e9),console[_0x28c5fd(0x20c)]('\x20\x20\x20\x20Auth:\x20'+_0x2ba375),_0x115dc5[_0x28c5fd(0x255)](_0x1d2141['settingsPath'],_0x115dc5[_0x28c5fd(0x206)])&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x115dc5[_0x28c5fd(0x212)](link,_0x1d2141['settingsPath'],_0x115dc5['DWxRa'](basename,_0x1d2141[_0x28c5fd(0x1f6)])));}!_0x36abbd&&(console[_0x28c5fd(0x20c)](_0x28c5fd(0x22f)),console[_0x28c5fd(0x20c)](_0x28c5fd(0x1f5)+_0x157247[_0x28c5fd(0x238)](_0x59a09f=>_0x59a09f[_0x28c5fd(0x239)])[_0x28c5fd(0x22b)](',\x20')+')'));}console['log']('');}
1
+ function _0x1636(){const _0x5516dc=['GaYyP','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','85704DxjKCf','disabled','trim','OQCze','push','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x0a\x20\x20No\x20active\x20profile\x20set','encrypted','\x1b[1m','Root:\x20','31704gNwlQI','log','OByXZ','all','ranger@trailhead','pCzZZ','none','20VJwDbH','75jzNffJ','FZEmb','ziqll','API\x20URL:\x20','2515fkUaYn','iBoxC','pTPVP','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','Jfahl','3678OLFeDe','API\x20Environment:\x20','cQNtK','YCoMl','UbKTP','configured','settings.json','XKfzY','opencode','wIrLY','cwd','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','some','auth.json.enc','includes','join','pMrSr','No\x20profiles\x20configured','scope','GkCbX','2qurfet','\x0a---\x20Skills\x20---','version','success','details','map','pipe','path','name','parse','LeABX','data','@ranger-testing/opencode-plugin','kWvEo','not_installed','21230gjFCsq','vUGgh','hasPlaintextAuth','plugin','jMNnh','filter','rUGXY','98011vtsbnq','\x20\x20\x20\x20','987786tKoapR','ignore','\x20(up\x20to\x20date)','ryEzR','11258429KVlpMi','stderr','isArray','10749648sqgsez','utf-8','No\x20skills\x20installed','auth.json','pBCKF','pfuYQ','GUgTf','unknown','Organization:\x20','Version:\x20','hUicP',':\x20installed\x20(','settingsPath','error','\x20\x20Not\x20installed','BvZsB','toString','config','WjXdO','DQsNu','(not\x20found)','\x20\x20Run:\x20ranger\x20setup\x20[token]','match','uPIkz','displayName','length','not_configured'];_0x1636=function(){return _0x5516dc;};return _0x1636();}function _0x3c2b(_0x196bec,_0x540522){_0x196bec=_0x196bec-0x1ac;const _0x16364f=_0x1636();let _0x3c2b9c=_0x16364f[_0x196bec];return _0x3c2b9c;}const _0x2c2cf3=_0x3c2b;(function(_0x1aadde,_0x41804b){const _0x27874b=_0x3c2b,_0x396ba1=_0x1aadde();while(!![]){try{const _0xaf2e95=-parseInt(_0x27874b(0x203))/0x1*(parseInt(_0x27874b(0x1ed))/0x2)+-parseInt(_0x27874b(0x1d0))/0x3*(parseInt(_0x27874b(0x1be))/0x4)+parseInt(_0x27874b(0x1d4))/0x5*(-parseInt(_0x27874b(0x1d9))/0x6)+-parseInt(_0x27874b(0x209))/0x7+-parseInt(_0x27874b(0x20c))/0x8+-parseInt(_0x27874b(0x205))/0x9*(parseInt(_0x27874b(0x1cf))/0xa)+parseInt(_0x27874b(0x1fc))/0xb*(parseInt(_0x27874b(0x1c8))/0xc);if(_0xaf2e95===_0x41804b)break;else _0x396ba1['push'](_0x396ba1['shift']());}catch(_0x37a7f2){_0x396ba1['push'](_0x396ba1['shift']());}}}(_0x1636,0xf099b));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x268fd1=>_0x2c2cf3(0x1c6)+_0x268fd1+'\x1b[0m',link=(_0x43bb2b,_0x10c6b7)=>'\x1b]8;;file://'+_0x43bb2b+'\x07'+(_0x10c6b7||_0x43bb2b)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x3b3e63=_0x2c2cf3,_0x392d15={'pCzZZ':function(_0x2cbc5a,_0x48eb3b){return _0x2cbc5a(_0x48eb3b);},'pfcyO':_0x3b3e63(0x1fb),'EJrJq':'configured','ahDvC':function(_0x9acc0f,_0x383e90){return _0x9acc0f>_0x383e90;},'liMto':function(_0x36e719,_0x18149c){return _0x36e719(_0x18149c);},'pfuYQ':'debug','OQCze':_0x3b3e63(0x206),'rUGXY':_0x3b3e63(0x1f3),'GUgTf':'data','xdmRP':_0x3b3e63(0x1ae),'nybic':'close'};return new Promise(_0x1b34da=>{const _0x5a75e4=_0x3b3e63,_0x29c413={'GIGYd':function(_0x27fd96,_0x3d37cd){const _0x515fbf=_0x3c2b;return _0x392d15[_0x515fbf(0x1cd)](_0x27fd96,_0x3d37cd);},'afPMd':'not_installed','cQNtK':_0x392d15['EJrJq'],'avnps':function(_0x563f80,_0x5f2bcb){return _0x392d15['ahDvC'](_0x563f80,_0x5f2bcb);},'UbKTP':function(_0x177784,_0x19e766){const _0x3ebf4c=_0x3c2b;return _0x392d15[_0x3ebf4c(0x1cd)](_0x177784,_0x19e766);},'Jfahl':'not_configured','HwKqT':function(_0x3d6b79,_0x394dff){return _0x392d15['liMto'](_0x3d6b79,_0x394dff);}},_0x13019b=spawn(_0x5a75e4(0x1e1),[_0x392d15[_0x5a75e4(0x211)],_0x5a75e4(0x1b2)],{'stdio':[_0x392d15[_0x5a75e4(0x1c1)],'pipe',_0x392d15[_0x5a75e4(0x202)]]});let _0x5118af='';_0x13019b['stdout']?.['on'](_0x5a75e4(0x1f8),_0x5d2c20=>{const _0x1f0347=_0x5a75e4;_0x5118af+=_0x5d2c20[_0x1f0347(0x1b1)]();}),_0x13019b[_0x5a75e4(0x20a)]?.['on'](_0x392d15[_0x5a75e4(0x212)],_0x3d5eb7=>{_0x5118af+=_0x3d5eb7['toString']();}),_0x13019b['on'](_0x392d15['xdmRP'],()=>{const _0x5376d2=_0x5a75e4;_0x392d15[_0x5376d2(0x1cd)](_0x1b34da,{'status':_0x392d15['pfcyO']});}),_0x13019b['on'](_0x392d15['nybic'],_0x57a0f5=>{const _0x485a34=_0x5a75e4;if(_0x57a0f5!==0x0){_0x29c413['GIGYd'](_0x1b34da,{'status':_0x29c413['afPMd']});return;}const _0x163b68=_0x5118af[_0x485a34(0x1c0)]();let _0x4de0ae=null;if(_0x163b68)try{_0x4de0ae=JSON[_0x485a34(0x1f6)](_0x163b68);}catch{const _0x4a2bc4=_0x163b68[_0x485a34(0x1b7)](/\{[\s\S]*\}$/);if(_0x4a2bc4)try{_0x4de0ae=JSON['parse'](_0x4a2bc4[0x0]);}catch{_0x4de0ae=null;}}const _0x105f3f=Array[_0x485a34(0x20b)](_0x4de0ae?.['plugin'])?_0x4de0ae?.[_0x485a34(0x1ff)]:[],_0x568665=_0x105f3f[_0x485a34(0x1e5)](_0x17b624=>{const _0x419f7d=_0x485a34;if(typeof _0x17b624!=='string')return![];return _0x17b624['includes'](_0x419f7d(0x1f9))||_0x17b624['includes']('opencode-plugin');});if(_0x568665){_0x29c413['GIGYd'](_0x1b34da,{'status':_0x29c413[_0x485a34(0x1db)],'details':_0x29c413['avnps'](_0x105f3f[_0x485a34(0x1ba)],0x0)?_0x105f3f['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x105f3f['length']>0x0){_0x29c413[_0x485a34(0x1dd)](_0x1b34da,{'status':_0x29c413[_0x485a34(0x1d8)],'details':_0x105f3f[_0x485a34(0x1ba)]+'\x20plugin(s)\x20configured'});return;}_0x29c413['HwKqT'](_0x1b34da,{'status':'not_configured'});});});}async function getSkillsFromDir(_0x5e1a08,_0x2d4045){const _0x8517a6=_0x2c2cf3,_0xcf3ab9={'GaYyP':function(_0x307a53,_0x46ba65){return _0x307a53(_0x46ba65);}};if(!_0xcf3ab9[_0x8517a6(0x1bc)](existsSync,_0x5e1a08))return[];const _0x231bbc=[];try{const _0xcf7cc6=await readdir(_0x5e1a08,{'withFileTypes':!![]});for(const _0x555256 of _0xcf7cc6){if(_0x555256['isDirectory']()){const _0x38da3c=join(_0x5e1a08,_0x555256[_0x8517a6(0x1f5)],'SKILL.md');if(_0xcf3ab9[_0x8517a6(0x1bc)](existsSync,_0x38da3c)){let _0x24797d=_0x555256[_0x8517a6(0x1f5)];try{const _0x735fa1=await readFile(_0x38da3c,_0x8517a6(0x20d)),_0x54265b=_0x735fa1[_0x8517a6(0x1b7)](/name:\s*(.+)/);_0x54265b&&(_0x24797d=_0x54265b[0x1]['trim']());}catch{}_0x231bbc[_0x8517a6(0x1c2)]({'name':_0x555256[_0x8517a6(0x1f5)],'displayName':_0x24797d,'path':_0x38da3c,'level':_0x2d4045});}}}}catch{return[];}return _0x231bbc;}async function getInstalledSkills(){const _0x5301f0=_0x2c2cf3,[_0x54b8d8,_0x5f2564]=await Promise[_0x5301f0(0x1cb)]([getSkillsFromDir(getProjectSkillsDir(),'project'),getSkillsFromDir(getUserSkillsDir(),'user')]);return{'project':_0x54b8d8,'user':_0x5f2564};}async function getEnvironments(){const _0x270d78=_0x2c2cf3,_0x535e18={'lusHe':function(_0x1fcf99,_0x162f01){return _0x1fcf99(_0x162f01);},'kWvEo':function(_0x110602,_0x1c9a68,_0x195692){return _0x110602(_0x1c9a68,_0x195692);},'ezriA':_0x270d78(0x20f),'pBCKF':_0x270d78(0x1e6),'FZEmb':_0x270d78(0x1b5),'AcBvs':function(_0x4c3aa1,_0x3c6e85){return _0x4c3aa1(_0x3c6e85);},'hUicP':function(_0x204a8b,_0x4f7e4a){return _0x204a8b(_0x4f7e4a);},'wIrLY':function(_0x5b862d,_0x2b8139){return _0x5b862d===_0x2b8139;},'WjXdO':function(_0x1b75ed){return _0x1b75ed();}},{envNames:_0x4343b9,activeEnv:_0x2b31e2}=await _0x535e18[_0x270d78(0x1b3)](getEnvNames),_0x57e5e1=_0x535e18['WjXdO'](getRangerDir);if(!existsSync(_0x57e5e1))return{'envs':[],'activeEnv':null};const _0x236016=_0x4343b9['map'](_0x2450b8=>{const _0x42508d=_0x270d78,_0x435d8a=_0x535e18['lusHe'](getEnvDir,_0x2450b8),_0x35b70d=_0x535e18[_0x42508d(0x1fa)](join,_0x435d8a,_0x42508d(0x1df)),_0x1ac07d=join(_0x435d8a,_0x535e18['ezriA']),_0x3c961e=_0x535e18[_0x42508d(0x1fa)](join,_0x435d8a,_0x535e18[_0x42508d(0x210)]);return{'name':_0x2450b8,'settingsPath':existsSync(_0x35b70d)?_0x35b70d:_0x535e18[_0x42508d(0x1d1)],'hasPlaintextAuth':_0x535e18['AcBvs'](existsSync,_0x1ac07d),'hasEncryptedAuth':_0x535e18[_0x42508d(0x216)](existsSync,_0x3c961e),'isActive':_0x535e18[_0x42508d(0x1e2)](_0x2450b8,_0x2b31e2)};});return{'envs':_0x236016,'activeEnv':_0x2b31e2};}export async function status(){const _0x14c0f0=_0x2c2cf3,_0x5bd85e={'uPIkz':'\x0a📊\x20Ranger\x20Status\x0a','AQDbn':function(_0xab9192){return _0xab9192();},'DQsNu':function(_0x56c3e1,_0xb47e1f){return _0x56c3e1(_0xb47e1f);},'iBoxC':function(_0x15271b,_0x459873){return _0x15271b(_0x459873);},'BvZsB':function(_0x30707e,_0x6e38c4){return _0x30707e!==_0x6e38c4;},'LeABX':'\x0a---\x20OpenCode\x20Plugin\x20---','GkCbX':_0x14c0f0(0x1de),'ncncT':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','ZGzin':_0x14c0f0(0x1cc),'YCoMl':'enabled','RqZoF':_0x14c0f0(0x1bf),'OByXZ':function(_0x27b7c8,_0x1f5d35){return _0x27b7c8(_0x1f5d35);},'ziqll':_0x14c0f0(0x1af),'ZIQek':_0x14c0f0(0x1ee),'ryEzR':function(_0x303e3b,_0x2e3df4){return _0x303e3b===_0x2e3df4;},'KLqoe':_0x14c0f0(0x20e),'pTPVP':function(_0x5b861d,_0x593d43){return _0x5b861d>_0x593d43;},'pMrSr':function(_0x2df88e,_0x9531a8,_0x202790){return _0x2df88e(_0x9531a8,_0x202790);},'XKfzY':function(_0x395545,_0x1fe5f7){return _0x395545(_0x1fe5f7);},'ASCUV':function(_0x2927c8,_0x482843,_0x1a34a8){return _0x2927c8(_0x482843,_0x1a34a8);},'jMNnh':function(_0xc61192){return _0xc61192();},'LBenO':_0x14c0f0(0x1ea),'uiEJI':'\x20(active)','vUGgh':'plaintext','SmJxM':_0x14c0f0(0x1b5)};console['log'](_0x5bd85e[_0x14c0f0(0x1b8)]);const _0x2811f7=process[_0x14c0f0(0x1e3)](),_0x39fd66=_0x5bd85e['AQDbn'](getRangerDir);if(!_0x5bd85e[_0x14c0f0(0x1b4)](existsSync,_0x39fd66)){console['log'](_0x14c0f0(0x1c7)+link(_0x2811f7,bold(_0x5bd85e[_0x14c0f0(0x1d5)](basename,_0x2811f7)))),console[_0x14c0f0(0x1c9)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x14c0f0(0x1c9)]('Root:\x20'+link(_0x2811f7,_0x5bd85e['iBoxC'](bold,basename(_0x2811f7))));const _0x3984e4=getCurrentVersion(),_0x1de7cf=getLatestVersion();if(_0x1de7cf[_0x14c0f0(0x1ef)]&&_0x5bd85e[_0x14c0f0(0x1b0)](_0x1de7cf[_0x14c0f0(0x1ef)],_0x3984e4))console[_0x14c0f0(0x1c9)](_0x14c0f0(0x215)+_0x3984e4+'\x20(latest:\x20'+_0x1de7cf['version']+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x1de7cf['version']?console['log']('Version:\x20'+_0x3984e4+_0x14c0f0(0x207)):console[_0x14c0f0(0x1c9)](_0x14c0f0(0x215)+_0x3984e4);const _0x4d9180=await getToken();if(_0x4d9180){const _0x20e1f0=await getCurrentUser(_0x4d9180);_0x20e1f0[_0x14c0f0(0x1f0)]?console[_0x14c0f0(0x1c9)](_0x14c0f0(0x214)+_0x5bd85e['DQsNu'](bold,_0x20e1f0['user']['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log'](_0x14c0f0(0x1b6)));}else console[_0x14c0f0(0x1c9)]('API\x20Token:\x20✗\x20Not\x20found'),console[_0x14c0f0(0x1c9)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console[_0x14c0f0(0x1c9)](_0x14c0f0(0x1da)+getCurrentEnvironment()),console[_0x14c0f0(0x1c9)](_0x14c0f0(0x1d3)+_0x5bd85e['AQDbn'](getApiBaseUrl)));console[_0x14c0f0(0x1c9)](_0x5bd85e[_0x14c0f0(0x1f7)]);const _0x5120a8=await getOpencodePluginStatus();if(_0x5120a8['status']===_0x5bd85e[_0x14c0f0(0x1ec)])console[_0x14c0f0(0x1c9)]('\x20\x20'+bold('@ranger-testing/opencode-plugin')+':\x20configured'),_0x5120a8[_0x14c0f0(0x1f1)]&&console[_0x14c0f0(0x1c9)]('\x20\x20'+_0x5120a8[_0x14c0f0(0x1f1)]);else _0x5120a8['status']===_0x14c0f0(0x1bb)?(console['log']('\x20\x20Not\x20configured'),_0x5120a8[_0x14c0f0(0x1f1)]&&console[_0x14c0f0(0x1c9)]('\x20\x20'+_0x5120a8['details']),console['log'](_0x14c0f0(0x1c3))):console['log'](_0x5bd85e['ncncT']);console[_0x14c0f0(0x1c9)]('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x580dd4=await _0x5bd85e['iBoxC'](getPluginInfo,_0x5bd85e['ZGzin']);if(_0x580dd4){const _0x48f730=_0x580dd4[_0x14c0f0(0x1eb)]||_0x14c0f0(0x213),_0x56a56c=_0x580dd4['enabled']?_0x5bd85e[_0x14c0f0(0x1dc)]:_0x5bd85e['RqZoF'];console['log']('\x20\x20'+_0x5bd85e[_0x14c0f0(0x1ca)](bold,_0x5bd85e['ZGzin'])+_0x14c0f0(0x1ac)+_0x48f730+',\x20'+_0x56a56c+')');}else console['log'](_0x5bd85e[_0x14c0f0(0x1d2)]),console['log'](_0x14c0f0(0x1d7));console['log'](_0x5bd85e['ZIQek']);const {project:_0x41e6b3,user:_0x5083a4}=await getInstalledSkills(),_0x3c7c12=_0x41e6b3[_0x14c0f0(0x201)](_0x2f2b58=>RANGER_MANAGED_SKILLS[_0x14c0f0(0x1e7)](_0x2f2b58[_0x14c0f0(0x1f5)])),_0xe416dd=_0x5083a4[_0x14c0f0(0x201)](_0x19f707=>RANGER_MANAGED_SKILLS[_0x14c0f0(0x1e7)](_0x19f707['name'])),_0x31b15c=_0x3c7c12['length']+_0xe416dd[_0x14c0f0(0x1ba)];if(_0x5bd85e[_0x14c0f0(0x208)](_0x31b15c,0x0))console[_0x14c0f0(0x1c9)](_0x5bd85e['KLqoe']),console[_0x14c0f0(0x1c9)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x5bd85e[_0x14c0f0(0x1d6)](_0x3c7c12[_0x14c0f0(0x1ba)],0x0)){console['log']('\x20\x20Project-level:');for(const _0x490ec9 of _0x3c7c12){console['log']('\x20\x20\x20\x20'+bold(_0x490ec9[_0x14c0f0(0x1b9)])+':\x20'+_0x5bd85e[_0x14c0f0(0x1e9)](link,_0x490ec9[_0x14c0f0(0x1f4)],_0x5bd85e['DQsNu'](basename,_0x490ec9['path'])));}}if(_0x5bd85e[_0x14c0f0(0x1d6)](_0xe416dd['length'],0x0)){console['log']('\x20\x20User-level:');for(const _0x182c9c of _0xe416dd){console[_0x14c0f0(0x1c9)](_0x14c0f0(0x204)+_0x5bd85e['XKfzY'](bold,_0x182c9c['displayName'])+':\x20'+_0x5bd85e['ASCUV'](link,_0x182c9c['path'],_0x5bd85e[_0x14c0f0(0x1e0)](basename,_0x182c9c[_0x14c0f0(0x1f4)])));}}}console[_0x14c0f0(0x1c9)]('\x0a---\x20Profiles\x20---');const {envs:_0x37a885,activeEnv:_0x4f88bf}=await _0x5bd85e[_0x14c0f0(0x200)](getEnvironments);if(_0x37a885[_0x14c0f0(0x1ba)]===0x0)console[_0x14c0f0(0x1c9)](_0x5bd85e['LBenO']),console[_0x14c0f0(0x1c9)](_0x14c0f0(0x1bd));else{for(const _0x177fb0 of _0x37a885){const _0x5bba33=_0x177fb0['isActive']?_0x5bd85e['uiEJI']:'',_0x15d1ac=_0x177fb0['hasEncryptedAuth']?_0x14c0f0(0x1c5):_0x177fb0[_0x14c0f0(0x1fe)]?_0x5bd85e[_0x14c0f0(0x1fd)]:_0x14c0f0(0x1ce);console['log']('\x20\x20'+_0x5bd85e['DQsNu'](bold,_0x177fb0[_0x14c0f0(0x1f5)])+_0x5bba33),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x15d1ac),_0x5bd85e['BvZsB'](_0x177fb0['settingsPath'],_0x5bd85e['SmJxM'])&&console['log']('\x20\x20\x20\x20Settings:\x20'+link(_0x177fb0[_0x14c0f0(0x1ad)],basename(_0x177fb0['settingsPath'])));}!_0x4f88bf&&(console[_0x14c0f0(0x1c9)](_0x14c0f0(0x1c4)),console['log'](_0x14c0f0(0x1e4)+_0x37a885[_0x14c0f0(0x1f2)](_0x3e7a66=>_0x3e7a66[_0x14c0f0(0x1f5)])[_0x14c0f0(0x1e8)](',\x20')+')'));}console['log']('');}
@@ -1 +1 @@
1
- (function(_0x5a9444,_0x456a53){const _0x39ff44=_0x370b,_0x1b0b1e=_0x5a9444();while(!![]){try{const _0x556028=parseInt(_0x39ff44(0x16d))/0x1*(parseInt(_0x39ff44(0x140))/0x2)+-parseInt(_0x39ff44(0x16a))/0x3+-parseInt(_0x39ff44(0x163))/0x4*(parseInt(_0x39ff44(0x156))/0x5)+-parseInt(_0x39ff44(0x158))/0x6*(parseInt(_0x39ff44(0x160))/0x7)+parseInt(_0x39ff44(0x138))/0x8+-parseInt(_0x39ff44(0x142))/0x9+parseInt(_0x39ff44(0x16f))/0xa*(parseInt(_0x39ff44(0x13a))/0xb);if(_0x556028===_0x456a53)break;else _0x1b0b1e['push'](_0x1b0b1e['shift']());}catch(_0x45a10d){_0x1b0b1e['push'](_0x1b0b1e['shift']());}}}(_0x24a7,0x90004));import{spawn}from'child_process';function _0x24a7(){const _0x451b6c=['utf-8','push','xvIhf','log','length','npm','active-feature.txt','active-profile.txt','platform','vVEXV','10qbpPiW','ShfoY','12Pxzyzk','findIndex','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','hdDwf','inherit','pyDqd','error','ranger@trailhead','129402oOfjdV','CeDAU','.gitignore','956428kCrqfn','\x20skill\x20','FEQUA','naRAi','version','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','--scope','589779YdLjDS','\x0aSuccessfully\x20installed\x20latest\x20version.','pLaKN','1001911lIZnhx','\x0a✅\x20Update\x20complete!','702310hZqTCc','BGQZZ','GHftP','opencode','\x0aReinstalling\x20','xFhJG','win32','8557728GHyody','close','55DYbUwq','pipe','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','hoGpk','Update\x20failed.','claude','2OkXVps','\x0aYour\x20version\x20(','10090575iVqvjV','warn','xcEDF','rvyyb','tYXwW','splice','Update\x20failed:\x20','wdLFz','HBraC','JMREa'];_0x24a7=function(){return _0x451b6c;};return _0x24a7();}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 _0x370b(_0x305b65,_0x444e40){_0x305b65=_0x305b65-0x134;const _0x24a7c8=_0x24a7();let _0x370b38=_0x24a7c8[_0x305b65];return _0x370b38;}import{getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';import{join}from'path';import{migrateActiveProfileFile}from'./utils/activeProfile.js';import{getRangerDir}from'./utils/rangerRoot.js';import{isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function runInstall(){const _0x102b88=_0x370b,_0x4120f2={'cVogC':function(_0x5af102,_0x2c01f5){return _0x5af102(_0x2c01f5);},'rvyyb':_0x102b88(0x15c),'rVJqX':_0x102b88(0x137)};return new Promise(_0x40d0af=>{const _0x4ae8bb=_0x102b88;console['log']('\x0aInstalling\x20'+PACKAGE_NAME+'@latest...\x0a');const _0x13ed10=spawn(_0x4ae8bb(0x151),['install','-g',PACKAGE_NAME+'@latest'],{'stdio':_0x4120f2[_0x4ae8bb(0x145)],'shell':process[_0x4ae8bb(0x154)]===_0x4120f2['rVJqX']});_0x13ed10['on'](_0x4ae8bb(0x139),_0x224ad3=>{_0x4120f2['cVogC'](_0x40d0af,_0x224ad3===0x0);}),_0x13ed10['on'](_0x4ae8bb(0x15e),()=>{_0x40d0af(![]);});});}async function updateClaudeMarketplace(){const _0x25775d={'UCKcD':'plugin','paNFO':'marketplace','qFSOu':'pipe'};return new Promise(_0x25c5a3=>{const _0x4edcb6=_0x370b,_0x450669={'vVEXV':function(_0x329d02,_0x56204a){return _0x329d02===_0x56204a;}},_0x2c5183=spawn(_0x4edcb6(0x13f),[_0x25775d['UCKcD'],_0x25775d['paNFO'],'update','trailhead'],{'stdio':_0x25775d['qFSOu'],'shell':process[_0x4edcb6(0x154)]==='win32'});_0x2c5183['on']('close',_0x3f2c00=>{const _0x36a101=_0x4edcb6;_0x25c5a3(_0x450669[_0x36a101(0x155)](_0x3f2c00,0x0));}),_0x2c5183['on']('error',()=>{_0x25c5a3(![]);});});}async function updateClaudePlugin(_0x17f1b9){const _0x2d2be2=_0x370b,_0x5b558d={'wdLFz':'update','pLaKN':_0x2d2be2(0x15f),'pyDqd':_0x2d2be2(0x169),'EKsib':function(_0x33db18,_0x258a3f,_0x54bd60,_0x5901e5){return _0x33db18(_0x258a3f,_0x54bd60,_0x5901e5);},'JMREa':'claude','xFhJG':function(_0x4cabb6,_0x1ba66f){return _0x4cabb6===_0x1ba66f;},'hoGpk':'close'};return new Promise(_0x4cb0fa=>{const _0x4d05f3=_0x2d2be2,_0x47e22a=['plugin',_0x5b558d[_0x4d05f3(0x149)],_0x5b558d[_0x4d05f3(0x16c)]];_0x17f1b9&&_0x47e22a['push'](_0x5b558d[_0x4d05f3(0x15d)],_0x17f1b9);const _0x2140ea=_0x5b558d['EKsib'](spawn,_0x5b558d[_0x4d05f3(0x14b)],_0x47e22a,{'stdio':_0x4d05f3(0x13b),'shell':_0x5b558d[_0x4d05f3(0x136)](process['platform'],_0x4d05f3(0x137))});_0x2140ea['on'](_0x5b558d[_0x4d05f3(0x13d)],_0xdfb533=>{_0x4cb0fa(_0xdfb533===0x0);}),_0x2140ea['on']('error',()=>{_0x4cb0fa(![]);});});}function isSkillInstalled(_0xc23973,_0x24b7f4,_0x4f4f88){const _0x27b9aa=_0x370b,_0x8a5afc={'FEQUA':function(_0xa8aaab,_0x50e7e9){return _0xa8aaab(_0x50e7e9);},'qOuwc':function(_0x1d3122,_0x4a87a8,_0x10066c){return _0x1d3122(_0x4a87a8,_0x10066c);},'ShfoY':function(_0x55cb1d,_0xe91b88){return _0x55cb1d(_0xe91b88);}},_0x325410=_0x4f4f88===_0x27b9aa(0x134)?_0x8a5afc[_0x27b9aa(0x165)](getOpencodeSkillsDir,_0x24b7f4):getSkillsDir(_0x24b7f4),_0x1b16e8=_0x8a5afc['qOuwc'](join,_0x325410,_0xc23973);return _0x8a5afc[_0x27b9aa(0x157)](existsSync,_0x1b16e8);}async function reinstallSkills(_0x3daad0){const _0x17b401=_0x370b,_0x5f7a33={'BGQZZ':function(_0x35e275,_0x1c4b6b,_0x153e19,_0x16ac57){return _0x35e275(_0x1c4b6b,_0x153e19,_0x16ac57);},'naRAi':_0x17b401(0x134),'mNOol':function(_0x170e2a,_0x44bfc0,_0x2f6f90){return _0x170e2a(_0x44bfc0,_0x2f6f90);}},_0x53cdab=['project','user'],_0x561de0=[];for(const _0x3d0c6c of _0x53cdab){for(const _0x2136aa of RANGER_MANAGED_SKILLS){isSkillInstalled(_0x2136aa,_0x3d0c6c,_0x17b401(0x13f))&&_0x561de0[_0x17b401(0x14d)]({'skillName':_0x2136aa,'level':_0x3d0c6c,'platform':'claude'}),_0x5f7a33[_0x17b401(0x170)](isSkillInstalled,_0x2136aa,_0x3d0c6c,_0x5f7a33['naRAi'])&&_0x561de0['push']({'skillName':_0x2136aa,'level':_0x3d0c6c,'platform':_0x5f7a33[_0x17b401(0x166)]});}}for(const _0x36dfcf of _0x53cdab){for(const _0x469cfd of DEPRECATED_SKILLS){await _0x5f7a33['mNOol'](removeSkill,_0x469cfd,_0x36dfcf);}}if(_0x561de0[_0x17b401(0x150)]===0x0){console[_0x17b401(0x14f)](_0x17b401(0x13c));return;}console[_0x17b401(0x14f)](_0x17b401(0x135)+_0x561de0['length']+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x1c603f,level:_0x18032b,platform:_0x55d0c2}of _0x561de0){try{await installSkill(_0x1c603f,{'level':_0x18032b,'cliVersion':_0x3daad0,'platform':_0x55d0c2});}catch(_0x577e55){console[_0x17b401(0x143)]('\x20\x20Failed\x20to\x20reinstall\x20'+_0x55d0c2+'\x20'+_0x18032b+_0x17b401(0x164)+_0x1c603f+':',_0x577e55);}}}async function ensureActiveProfileGitignored(){const _0x1eede2=_0x370b,_0x56a89d={'xcEDF':function(_0x20e852){return _0x20e852();},'xrRQJ':_0x1eede2(0x162),'ZJGZo':'utf-8','CeDAU':function(_0x46ba4d,_0x3c1786){return _0x46ba4d===_0x3c1786;}},_0x283c06=join(_0x56a89d[_0x1eede2(0x144)](getRangerDir),_0x56a89d['xrRQJ']);if(!existsSync(_0x283c06))return![];let _0x10b380='';try{_0x10b380=await readFile(_0x283c06,_0x56a89d['ZJGZo']);}catch{return![];}const _0xac4dba=_0x10b380['split'](/\r?\n/);if(_0xac4dba['some'](_0x45ce62=>_0x45ce62['trim']()===_0x1eede2(0x153)))return![];let _0x1de8dc=_0xac4dba[_0x1eede2(0x159)](_0x23e582=>_0x23e582['trim']()===_0x1eede2(0x152));_0x56a89d[_0x1eede2(0x161)](_0x1de8dc,-0x1)&&(_0x1de8dc=_0xac4dba[_0x1eede2(0x150)]);_0xac4dba[_0x1eede2(0x147)](_0x1de8dc,0x0,'active-profile.txt');let _0x86fabd=_0xac4dba['join']('\x0a');!_0x86fabd['endsWith']('\x0a')&&(_0x86fabd+='\x0a');try{await writeFile(_0x283c06,_0x86fabd,_0x1eede2(0x14c));}catch{return![];}return!![];}export async function update(){const _0x36ff6a=_0x370b,_0x25d0da={'tXLZA':'Checking\x20for\x20updates...','hdDwf':function(_0x8fa71c){return _0x8fa71c();},'xvIhf':'Attempting\x20install\x20anyway...','pHMCo':function(_0x3cf7bf,_0x1e70aa){return _0x3cf7bf===_0x1e70aa;},'lTntF':_0x36ff6a(0x15f),'HBraC':_0x36ff6a(0x15a),'tYXwW':'\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','GHftP':function(_0x49aed4,_0x186d72){return _0x49aed4(_0x186d72);},'RJAGb':'project','wWbuR':'✓\x20Migrated\x20active\x20profile\x20file'},_0x20cd94=getCurrentVersion();console[_0x36ff6a(0x14f)]('\x0aCurrent\x20version:\x20'+_0x20cd94),console[_0x36ff6a(0x14f)](_0x25d0da['tXLZA']);const _0x88e816=_0x25d0da[_0x36ff6a(0x15b)](getLatestVersion);let _0x1a00a8=_0x20cd94;if(!_0x88e816['version']){console[_0x36ff6a(0x143)]('\x0aCould\x20not\x20check\x20latest\x20version:\x20'+_0x88e816['error']),console[_0x36ff6a(0x14f)](_0x25d0da[_0x36ff6a(0x14e)]);const _0x3c0ff2=await runInstall();if(_0x3c0ff2)console[_0x36ff6a(0x14f)](_0x36ff6a(0x16b)),_0x1a00a8=getCurrentVersion();else throw new Error(_0x36ff6a(0x148)+_0x88e816[_0x36ff6a(0x15e)]);}else{const _0x3641a6=_0x88e816[_0x36ff6a(0x167)];console['log']('Latest\x20version:\x20\x20'+_0x3641a6);const _0xcfb6be=compareVersions(_0x20cd94,_0x3641a6);if(_0x25d0da['pHMCo'](_0xcfb6be,0x0))console['log'](_0x36ff6a(0x168));else{if(_0xcfb6be<0x0)console[_0x36ff6a(0x14f)](_0x36ff6a(0x141)+_0x20cd94+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0x3641a6+').');else{const _0x678dd=await _0x25d0da['hdDwf'](runInstall);if(_0x678dd)console['log']('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x3641a6),_0x1a00a8=_0x3641a6;else throw new Error(_0x36ff6a(0x13e));}}}await reinstallSkills(_0x1a00a8);const _0x1d3448=await isMarketplaceAdded('trailhead'),_0x1be9be=await isPluginInstalled(_0x25d0da['lTntF']);if(_0x1d3448){const _0x352705=await updateClaudeMarketplace();_0x352705&&console['log'](_0x25d0da[_0x36ff6a(0x14a)]);}if(_0x1be9be){const _0x379c9e=await updateClaudePlugin();_0x379c9e&&console['log'](_0x25d0da[_0x36ff6a(0x146)]);const _0x2ad44f=await _0x25d0da[_0x36ff6a(0x171)](updateClaudePlugin,_0x25d0da['RJAGb']);_0x2ad44f&&console[_0x36ff6a(0x14f)]((_0x379c9e?'':'\x0a')+'Claude\x20plugin\x20updated\x20(project\x20scope).');}const _0x5842b7=await migrateActiveProfileFile();_0x5842b7&&console['log'](_0x25d0da['wWbuR']);const _0x4e482e=await ensureActiveProfileGitignored();console['log'](_0x36ff6a(0x16e));}
1
+ (function(_0x419fb4,_0x86fce1){const _0x1592e9=_0x57a4,_0x614ab2=_0x419fb4();while(!![]){try{const _0x5e8e6c=parseInt(_0x1592e9(0x1f7))/0x1*(parseInt(_0x1592e9(0x218))/0x2)+-parseInt(_0x1592e9(0x21e))/0x3*(parseInt(_0x1592e9(0x1fa))/0x4)+-parseInt(_0x1592e9(0x1ea))/0x5+-parseInt(_0x1592e9(0x1fd))/0x6*(parseInt(_0x1592e9(0x1f0))/0x7)+-parseInt(_0x1592e9(0x20e))/0x8*(-parseInt(_0x1592e9(0x228))/0x9)+-parseInt(_0x1592e9(0x205))/0xa+-parseInt(_0x1592e9(0x20a))/0xb*(-parseInt(_0x1592e9(0x207))/0xc);if(_0x5e8e6c===_0x86fce1)break;else _0x614ab2['push'](_0x614ab2['shift']());}catch(_0x328b5a){_0x614ab2['push'](_0x614ab2['shift']());}}}(_0x50e4,0x4f4c0));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';function _0x57a4(_0xcb979b,_0x2ba2dd){_0xcb979b=_0xcb979b-0x1e7;const _0x50e445=_0x50e4();let _0x57a487=_0x50e445[_0xcb979b];return _0x57a487;}import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';import{getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';import{join}from'path';import{migrateActiveProfileFile}from'./utils/activeProfile.js';import{getRangerDir}from'./utils/rangerRoot.js';function _0x50e4(){const _0x3b6c74=['ranger@trailhead','wBDJA','70693tnRPUv','active-feature.txt','log','platform','\x0aSuccessfully\x20updated\x20to\x20version\x20','plugin','close','973VlovJO','bBeFH','\x20\x20Failed\x20to\x20reinstall\x20','1000ASfEex','trim','inherit','36XHbrqD','\x0aReinstalling\x20','\x20skill\x20','IRhZR','EvDXi','WwYZV','length','pEwOm','3948630MIHAgZ','claude','285732nuodhK','Latest\x20version:\x20\x20','push','220DXtYly','LPIBs','version','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','342488kRZFdY','JkYEn','pipe','project','HHmTs','Update\x20failed.','warn','hUPYn','.gitignore','opencode','1130TSTFLr','weuYU','baCVT','active-profile.txt',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','update','6378istzqR','nBHMd','NzWdj','@latest','join','trailhead','aXZnJ','\x0a✅\x20Update\x20complete!','IdktI','HLIPS','99BoFPJN','\x20ranger-managed\x20skill(s)...','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','utf-8','jILLN','vIhCK','DgMcT','SJQoJ','925645wFeVtn','Checking\x20for\x20updates...','Update\x20failed:\x20','npm'];_0x50e4=function(){return _0x3b6c74;};return _0x50e4();}import{isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function runInstall(){const _0x3b608b=_0x57a4,_0x46846e={'mjpce':_0x3b608b(0x1fc),'moNVt':'win32','unMJC':'error'};return new Promise(_0x341a6c=>{const _0x268273=_0x3b608b,_0x37b35c={'NzWdj':function(_0x2a30cb,_0xcfa476){return _0x2a30cb(_0xcfa476);}};console['log']('\x0aInstalling\x20'+PACKAGE_NAME+'@latest...\x0a');const _0x454e5a=spawn(_0x268273(0x1ed),['install','-g',PACKAGE_NAME+_0x268273(0x221)],{'stdio':_0x46846e['mjpce'],'shell':process['platform']===_0x46846e['moNVt']});_0x454e5a['on'](_0x268273(0x1f6),_0x99adc0=>{const _0x122cd1=_0x268273;_0x37b35c[_0x122cd1(0x220)](_0x341a6c,_0x99adc0===0x0);}),_0x454e5a['on'](_0x46846e['unMJC'],()=>{const _0x4f4c50=_0x268273;_0x37b35c[_0x4f4c50(0x220)](_0x341a6c,![]);});});}async function updateClaudeMarketplace(){const _0x5debe7=_0x57a4,_0x3958d4={'HBiCe':function(_0x31d306,_0x29b40a){return _0x31d306(_0x29b40a);},'bBeFH':function(_0x1fa563,_0x33c5f8,_0x2e4315,_0xf17725){return _0x1fa563(_0x33c5f8,_0x2e4315,_0xf17725);},'WwYZV':_0x5debe7(0x206),'CSoGA':'plugin','wBDJA':_0x5debe7(0x21d),'AOnrR':'pipe','tayLR':function(_0x5c7567,_0x5d021c){return _0x5c7567===_0x5d021c;},'jILLN':'win32','LPIBs':_0x5debe7(0x1f6)};return new Promise(_0x113057=>{const _0x3a6a47=_0x5debe7,_0x2a1e58=_0x3958d4[_0x3a6a47(0x1f8)](spawn,_0x3958d4[_0x3a6a47(0x202)],[_0x3958d4['CSoGA'],'marketplace',_0x3958d4[_0x3a6a47(0x1ef)],'trailhead'],{'stdio':_0x3958d4['AOnrR'],'shell':_0x3958d4['tayLR'](process['platform'],_0x3958d4[_0x3a6a47(0x22c)])});_0x2a1e58['on'](_0x3958d4[_0x3a6a47(0x20b)],_0x5558a4=>{_0x113057(_0x5558a4===0x0);}),_0x2a1e58['on']('error',()=>{_0x3958d4['HBiCe'](_0x113057,![]);});});}async function updateClaudePlugin(_0x285729){const _0x53c426=_0x57a4,_0x5a5314={'weuYU':function(_0x35d359,_0x37c209){return _0x35d359(_0x37c209);},'NuroR':function(_0x287a26,_0x469b19){return _0x287a26===_0x469b19;},'vIhCK':_0x53c426(0x1ee),'JypAq':'close'};return new Promise(_0x348068=>{const _0x2bfb37=_0x53c426,_0x49976f=[_0x2bfb37(0x1f5),_0x2bfb37(0x21d),_0x5a5314[_0x2bfb37(0x1e7)]];_0x285729&&_0x49976f['push']('--scope',_0x285729);const _0x493191=spawn(_0x2bfb37(0x206),_0x49976f,{'stdio':_0x2bfb37(0x210),'shell':process[_0x2bfb37(0x1f3)]==='win32'});_0x493191['on'](_0x5a5314['JypAq'],_0xf357d7=>{const _0x24eca3=_0x2bfb37;_0x5a5314[_0x24eca3(0x219)](_0x348068,_0x5a5314['NuroR'](_0xf357d7,0x0));}),_0x493191['on']('error',()=>{_0x348068(![]);});});}function isSkillInstalled(_0xd1f93a,_0x334bc2,_0x479ca8){const _0x2fe11d=_0x57a4,_0x223e0a={'RaYLD':function(_0x543ff4,_0x5238dd){return _0x543ff4===_0x5238dd;},'baCVT':_0x2fe11d(0x217),'IdktI':function(_0x267e03,_0x567890){return _0x267e03(_0x567890);},'hUPYn':function(_0x152199,_0x266ad4,_0x366554){return _0x152199(_0x266ad4,_0x366554);}},_0x9113b8=_0x223e0a['RaYLD'](_0x479ca8,_0x223e0a[_0x2fe11d(0x21a)])?_0x223e0a['IdktI'](getOpencodeSkillsDir,_0x334bc2):_0x223e0a[_0x2fe11d(0x226)](getSkillsDir,_0x334bc2),_0x5ef5b4=_0x223e0a[_0x2fe11d(0x215)](join,_0x9113b8,_0xd1f93a);return existsSync(_0x5ef5b4);}async function reinstallSkills(_0xb7b5b8){const _0x1c747b=_0x57a4,_0x13110b={'HVitm':_0x1c747b(0x211),'IRhZR':'user','EvDXi':_0x1c747b(0x206),'HHmTs':'opencode','bzDNs':_0x1c747b(0x20d),'SJQoJ':function(_0x40cda2,_0x837c7a,_0xb3cf6){return _0x40cda2(_0x837c7a,_0xb3cf6);}},_0x35394b=[_0x13110b['HVitm'],_0x13110b[_0x1c747b(0x200)]],_0x116669=[];for(const _0x389d29 of _0x35394b){for(const _0x58f55e of RANGER_MANAGED_SKILLS){isSkillInstalled(_0x58f55e,_0x389d29,_0x13110b[_0x1c747b(0x201)])&&_0x116669[_0x1c747b(0x209)]({'skillName':_0x58f55e,'level':_0x389d29,'platform':_0x13110b['EvDXi']}),isSkillInstalled(_0x58f55e,_0x389d29,_0x13110b[_0x1c747b(0x212)])&&_0x116669[_0x1c747b(0x209)]({'skillName':_0x58f55e,'level':_0x389d29,'platform':_0x13110b['HHmTs']});}}for(const _0x487080 of _0x35394b){for(const _0x26a19a of DEPRECATED_SKILLS){await removeSkill(_0x26a19a,_0x487080);}}if(_0x116669[_0x1c747b(0x203)]===0x0){console[_0x1c747b(0x1f2)](_0x13110b['bzDNs']);return;}console[_0x1c747b(0x1f2)](_0x1c747b(0x1fe)+_0x116669[_0x1c747b(0x203)]+_0x1c747b(0x229));for(const {skillName:_0x17192c,level:_0x488fc4,platform:_0x4836fb}of _0x116669){try{await _0x13110b[_0x1c747b(0x1e9)](installSkill,_0x17192c,{'level':_0x488fc4,'cliVersion':_0xb7b5b8,'platform':_0x4836fb});}catch(_0x350b8f){console[_0x1c747b(0x214)](_0x1c747b(0x1f9)+_0x4836fb+'\x20'+_0x488fc4+_0x1c747b(0x1ff)+_0x17192c+':',_0x350b8f);}}}async function ensureActiveProfileGitignored(){const _0x27cd91=_0x57a4,_0x2e09e3={'pEwOm':function(_0x4309c4,_0x546129,_0x4c5e70){return _0x4309c4(_0x546129,_0x4c5e70);},'JkZLC':function(_0x1c7ab2,_0x311412){return _0x1c7ab2===_0x311412;}},_0x2a6676=_0x2e09e3[_0x27cd91(0x204)](join,getRangerDir(),_0x27cd91(0x216));if(!existsSync(_0x2a6676))return![];let _0x158910='';try{_0x158910=await readFile(_0x2a6676,_0x27cd91(0x22b));}catch{return![];}const _0x247c2c=_0x158910['split'](/\r?\n/);if(_0x247c2c['some'](_0x90a86b=>_0x90a86b[_0x27cd91(0x1fb)]()==='active-profile.txt'))return![];let _0x1529da=_0x247c2c['findIndex'](_0x2ac213=>_0x2ac213['trim']()===_0x27cd91(0x1f1));_0x2e09e3['JkZLC'](_0x1529da,-0x1)&&(_0x1529da=_0x247c2c['length']);_0x247c2c['splice'](_0x1529da,0x0,_0x27cd91(0x21b));let _0x288b3c=_0x247c2c[_0x27cd91(0x222)]('\x0a');!_0x288b3c['endsWith']('\x0a')&&(_0x288b3c+='\x0a');try{await writeFile(_0x2a6676,_0x288b3c,'utf-8');}catch{return![];}return!![];}export async function update(){const _0x2e1d9f=_0x57a4,_0x5c8b2b={'NoFOh':_0x2e1d9f(0x1eb),'UKUMk':'Attempting\x20install\x20anyway...','DgMcT':function(_0x4dbc35){return _0x4dbc35();},'HLIPS':function(_0x43908c,_0x509efa){return _0x43908c<_0x509efa;},'pVQKx':_0x2e1d9f(0x213),'HmpSC':function(_0x4848b2,_0x546635){return _0x4848b2(_0x546635);},'YFBDf':_0x2e1d9f(0x22a),'nBHMd':function(_0x1c45da){return _0x1c45da();},'SVhPD':'\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','JkYEn':function(_0x14737e,_0xa39f05){return _0x14737e(_0xa39f05);},'aXZnJ':'✓\x20Migrated\x20active\x20profile\x20file'},_0x8f0ba0=getCurrentVersion();console['log']('\x0aCurrent\x20version:\x20'+_0x8f0ba0),console[_0x2e1d9f(0x1f2)](_0x5c8b2b['NoFOh']);const _0x551a7e=getLatestVersion();let _0x4bc7b0=_0x8f0ba0;if(!_0x551a7e[_0x2e1d9f(0x20c)]){console[_0x2e1d9f(0x214)]('\x0aCould\x20not\x20check\x20latest\x20version:\x20'+_0x551a7e['error']),console['log'](_0x5c8b2b['UKUMk']);const _0x16d0ce=await runInstall();if(_0x16d0ce)console[_0x2e1d9f(0x1f2)]('\x0aSuccessfully\x20installed\x20latest\x20version.'),_0x4bc7b0=_0x5c8b2b[_0x2e1d9f(0x1e8)](getCurrentVersion);else throw new Error(_0x2e1d9f(0x1ec)+_0x551a7e['error']);}else{const _0x181b44=_0x551a7e['version'];console[_0x2e1d9f(0x1f2)](_0x2e1d9f(0x208)+_0x181b44);const _0x5b68b9=compareVersions(_0x8f0ba0,_0x181b44);if(_0x5b68b9===0x0)console['log']('\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.');else{if(_0x5c8b2b[_0x2e1d9f(0x227)](_0x5b68b9,0x0))console[_0x2e1d9f(0x1f2)]('\x0aYour\x20version\x20('+_0x8f0ba0+_0x2e1d9f(0x21c)+_0x181b44+').');else{const _0x308c11=await runInstall();if(_0x308c11)console['log'](_0x2e1d9f(0x1f4)+_0x181b44),_0x4bc7b0=_0x181b44;else throw new Error(_0x5c8b2b['pVQKx']);}}}await _0x5c8b2b['HmpSC'](reinstallSkills,_0x4bc7b0);const _0x5873cc=await isMarketplaceAdded(_0x2e1d9f(0x223)),_0x39b73a=await isPluginInstalled('ranger@trailhead');if(_0x5873cc){const _0x2559d5=await updateClaudeMarketplace();_0x2559d5&&console[_0x2e1d9f(0x1f2)](_0x5c8b2b['YFBDf']);}if(_0x39b73a){const _0x8e5646=await _0x5c8b2b[_0x2e1d9f(0x21f)](updateClaudePlugin);_0x8e5646&&console[_0x2e1d9f(0x1f2)](_0x5c8b2b['SVhPD']);const _0x28b826=await _0x5c8b2b[_0x2e1d9f(0x20f)](updateClaudePlugin,'project');_0x28b826&&console[_0x2e1d9f(0x1f2)]((_0x8e5646?'':'\x0a')+'Claude\x20plugin\x20updated\x20(project\x20scope).');}const _0x31f82e=await migrateActiveProfileFile();_0x31f82e&&console[_0x2e1d9f(0x1f2)](_0x5c8b2b[_0x2e1d9f(0x224)]);const _0x241bb8=await ensureActiveProfileGitignored();console[_0x2e1d9f(0x1f2)](_0x2e1d9f(0x225));}