@ranger-testing/ranger-cli 2.1.2 → 2.1.3

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 (66) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/setup/claude.js +1 -1
  25. package/build/commands/setup/opencode.js +1 -1
  26. package/build/commands/setupCi.js +1 -1
  27. package/build/commands/skillup.js +1 -1
  28. package/build/commands/start.js +1 -1
  29. package/build/commands/status.js +1 -1
  30. package/build/commands/update.js +1 -1
  31. package/build/commands/updateEnv.js +1 -1
  32. package/build/commands/useEnv.js +1 -1
  33. package/build/commands/utils/activeProfile.js +1 -1
  34. package/build/commands/utils/browserSessionsApi.js +1 -1
  35. package/build/commands/utils/claudeConfig.js +1 -1
  36. package/build/commands/utils/claudePlugin.js +1 -1
  37. package/build/commands/utils/crypto.js +1 -1
  38. package/build/commands/utils/desirePathLog.js +1 -1
  39. package/build/commands/utils/deviceAuth.js +1 -1
  40. package/build/commands/utils/environment.js +1 -1
  41. package/build/commands/utils/featureApi.js +1 -1
  42. package/build/commands/utils/featureReportGenerator.js +1 -1
  43. package/build/commands/utils/fixWebmDuration.js +1 -1
  44. package/build/commands/utils/git.js +1 -1
  45. package/build/commands/utils/keychain.js +1 -1
  46. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  47. package/build/commands/utils/mcpImageBase64.js +1 -1
  48. package/build/commands/utils/model.js +1 -1
  49. package/build/commands/utils/opencodeConfig.js +1 -1
  50. package/build/commands/utils/profileMessages.js +1 -1
  51. package/build/commands/utils/profileSetupBanner.js +1 -1
  52. package/build/commands/utils/rangerConfig.js +1 -1
  53. package/build/commands/utils/rangerRoot.js +1 -1
  54. package/build/commands/utils/reportGenerator.js +1 -1
  55. package/build/commands/utils/retry.js +1 -1
  56. package/build/commands/utils/sessionCache.js +1 -1
  57. package/build/commands/utils/settings.js +1 -1
  58. package/build/commands/utils/skillContent.js +1 -1
  59. package/build/commands/utils/skills.js +1 -1
  60. package/build/commands/utils/telemetry.js +1 -1
  61. package/build/commands/utils/traceSnapshotMapper.js +1 -0
  62. package/build/commands/utils/userApi.js +1 -1
  63. package/build/commands/utils/version.js +1 -1
  64. package/build/commands/verifyFeature.js +1 -1
  65. package/build/commands/verifyInBrowser.js +1 -1
  66. package/package.json +2 -1
@@ -1 +1 @@
1
- (function(_0x23f625,_0x4f0219){const _0x2d7160=_0x28d8,_0x51d335=_0x23f625();while(!![]){try{const _0x4723b9=-parseInt(_0x2d7160(0x14b))/0x1*(parseInt(_0x2d7160(0x134))/0x2)+-parseInt(_0x2d7160(0x135))/0x3*(-parseInt(_0x2d7160(0x14d))/0x4)+-parseInt(_0x2d7160(0x139))/0x5+-parseInt(_0x2d7160(0x136))/0x6*(-parseInt(_0x2d7160(0x149))/0x7)+-parseInt(_0x2d7160(0x140))/0x8+parseInt(_0x2d7160(0x14c))/0x9+-parseInt(_0x2d7160(0x14e))/0xa*(-parseInt(_0x2d7160(0x141))/0xb);if(_0x4723b9===_0x4f0219)break;else _0x51d335['push'](_0x51d335['shift']());}catch(_0x45ff8f){_0x51d335['push'](_0x51d335['shift']());}}}(_0x14c5,0x587fe));import{open}from'fs/promises';import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x14c5(){const _0x43fd48=['1177dOsfDr','https://dashboard.ranger.net/features/','\x20for\x20\x22','input','alloc','message','mshBK','KSgNE','105obhTyH','hook:stop','2AQHIaJ','5966010mxCgjS','622852NCuqOS','290oCYtvs','transcript_path','min','stop_hook_active','currentSessionId','stringify','469462LtcTUt','12EQCxaA','97386pDrmMU','toString',':\x0a\x0a','73510nGQCQE','SfHJn','sessionId','FZqQN','pNReW','includes','RANGER_SKIP_VERIFICATION','5485216UgTrEF'];_0x14c5=function(){return _0x43fd48;};return _0x14c5();}export async function stopHook(_0x5cccb7){const _0x4843a2=_0x28d8,_0x2ee6d7={'SBpIv':function(_0x48ba31,_0x4f1b71){return _0x48ba31(_0x4f1b71);},'DpPpP':function(_0x49b6cb,_0x53ce08){return _0x49b6cb===_0x53ce08;},'SfHJn':function(_0x4b766c,_0x4a3bc0,_0x4aa458,_0x2f0c4f){return _0x4b766c(_0x4a3bc0,_0x4aa458,_0x2f0c4f);},'KSgNE':function(_0x4f9191,_0x396efe){return _0x4f9191(_0x396efe);},'GfqtQ':_0x4843a2(0x13f),'llfNP':function(_0xceb00,_0x113859,_0x28aaf3){return _0xceb00(_0x113859,_0x28aaf3);},'pNReW':function(_0x5627fb,_0xb6b3d5){return _0x5627fb instanceof _0xb6b3d5;},'FZqQN':function(_0x191db1,_0x5ae985,_0x5328c2,_0x3f644d){return _0x191db1(_0x5ae985,_0x5328c2,_0x3f644d);}},_0x33a146=await getEnabledHookContext(_0x5cccb7),_0x13ed73=_0x33a146?.[_0x4843a2(0x13b)]??null,_0x239d24=_0x2ee6d7['SBpIv'](Boolean,_0x33a146?.['input']?.[_0x4843a2(0x151)]),_0x3341e2=_0x2ee6d7['DpPpP'](typeof _0x33a146?.[_0x4843a2(0x144)]?.[_0x4843a2(0x14f)],'string')?_0x33a146[_0x4843a2(0x144)][_0x4843a2(0x14f)]:null;let _0x1138b2=!![];if(!_0x13ed73){await _0x2ee6d7['SfHJn'](trackStop,_0x13ed73,![],_0x1138b2);return;}try{const _0x4dcb81=_0x2ee6d7['KSgNE'](getSessionEntry,_0x13ed73);if(!_0x4dcb81){await trackStop(_0x13ed73,!![],_0x1138b2);return;}const _0x329c29=_0x4843a2(0x142)+_0x4dcb81['featureId'],_0x3f9857=_0x2ee6d7['GfqtQ'],_0x3c6fd6=await getToken(),_0x5c5acb=!_0x239d24;let _0x2bce61=null,_0x5672ca=null;const _0x4f0d48=_0x239d24&&await _0x2ee6d7['llfNP'](transcriptHasToken,_0x3341e2,_0x3f9857),_0x5d93=await transcriptHasToken(_0x3341e2,_0x329c29);if(_0x3c6fd6)try{const _0x384158=await getFeature(_0x4dcb81['featureId']);_0x2bce61=_0x384158['name']??null,_0x5672ca=_0x384158[_0x4843a2(0x152)]??null;}catch{}if(_0x3c6fd6&&_0x5672ca)try{await concludeSession(_0x4dcb81['featureId'],_0x5672ca);}catch(_0x160e79){if(_0x4f0d48){await trackStop(_0x13ed73,!![],_0x1138b2);return;}_0x1138b2=![];const _0x457e20=_0x2ee6d7[_0x4843a2(0x13d)](_0x160e79,Error)?_0x160e79[_0x4843a2(0x146)]:_0x2ee6d7[_0x4843a2(0x148)](String,_0x160e79),_0x489694={'decision':'block','reason':'Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session'+(_0x2bce61?_0x4843a2(0x143)+_0x2bce61+'\x22':'')+_0x4843a2(0x138)+_0x457e20+'\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('+_0x329c29+')\x20and\x20the\x20token\x20`'+_0x3f9857+'`,\x20then\x20run\x20/exit\x20again.'};console['log'](JSON[_0x4843a2(0x133)](_0x489694)),await trackStop(_0x13ed73,!![],_0x1138b2);return;}await _0x2ee6d7[_0x4843a2(0x13a)](trackStop,_0x13ed73,!![],_0x1138b2);return;}catch{await _0x2ee6d7[_0x4843a2(0x13c)](trackStop,_0x13ed73,!![],_0x1138b2);return;}}async function trackStop(_0x2186ec,_0x50da9d,_0x2e69c9){const _0x77f761=_0x28d8,_0x4cf74a={'zfKMv':'success'};try{const _0x3fbac1=createTelemetryCollector(_0x77f761(0x14a));await _0x3fbac1['trackCommandStart']({'sessionId':_0x2186ec??undefined,'hooksEnabled':_0x50da9d,'stopAllowed':_0x2e69c9}),await _0x3fbac1['trackCommandEnd'](_0x4cf74a['zfKMv']);}catch{}}function _0x28d8(_0x5880f1,_0x27421e){_0x5880f1=_0x5880f1-0x133;const _0x14c5a5=_0x14c5();let _0x28d849=_0x14c5a5[_0x5880f1];return _0x28d849;}async function transcriptHasToken(_0x39f08f,_0x4fd480){const _0x23605f=_0x28d8;if(!_0x39f08f)return![];const _0x5a3811=await readTranscriptTail(_0x39f08f,0x30d40);return _0x5a3811?_0x5a3811[_0x23605f(0x13e)](_0x4fd480):![];}async function readTranscriptTail(_0x48b51b,_0x3f6cbe){const _0x2ddfa5=_0x28d8,_0x433840={'ziqCv':function(_0x1bdd95,_0x432c61){return _0x1bdd95<=_0x432c61;},'LdouO':function(_0x3eac61,_0x5da465){return _0x3eac61-_0x5da465;},'mshBK':'utf8'};let _0x31833=null;try{_0x31833=await open(_0x48b51b,'r');const _0x4121e9=await _0x31833['stat'](),_0x206e4c=Math[_0x2ddfa5(0x150)](_0x4121e9['size'],_0x3f6cbe);if(_0x433840['ziqCv'](_0x206e4c,0x0))return'';const _0x3e8fad=Buffer[_0x2ddfa5(0x145)](_0x206e4c);return await _0x31833['read'](_0x3e8fad,0x0,_0x206e4c,_0x433840['LdouO'](_0x4121e9['size'],_0x206e4c)),_0x3e8fad[_0x2ddfa5(0x137)](_0x433840[_0x2ddfa5(0x147)]);}catch{return null;}finally{try{await _0x31833?.['close']();}catch{}}}
1
+ (function(_0x236201,_0x4e0aa5){const _0x10fcbf=_0x5f21,_0x243592=_0x236201();while(!![]){try{const _0x444797=parseInt(_0x10fcbf(0x10e))/0x1+-parseInt(_0x10fcbf(0x104))/0x2+-parseInt(_0x10fcbf(0x111))/0x3*(-parseInt(_0x10fcbf(0x102))/0x4)+parseInt(_0x10fcbf(0x113))/0x5*(parseInt(_0x10fcbf(0x10f))/0x6)+parseInt(_0x10fcbf(0x108))/0x7+parseInt(_0x10fcbf(0x11a))/0x8+parseInt(_0x10fcbf(0x106))/0x9*(-parseInt(_0x10fcbf(0xff))/0xa);if(_0x444797===_0x4e0aa5)break;else _0x243592['push'](_0x243592['shift']());}catch(_0x3f54f2){_0x243592['push'](_0x243592['shift']());}}}(_0x7e2b,0x2e8af));import{open}from'fs/promises';import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry}from'../utils/sessionCache.js';function _0x7e2b(){const _0x2cff2e=['fNJwm','815mAdwBS','name','size','Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session','input','utf8','`,\x20then\x20run\x20/exit\x20again.','2248056etROtB','currentSessionId','includes','trackCommandStart','close','Wdihz','hTPqx','transcript_path','xRVyw','featureId','success','430FwYrFz','MlZcK','RjyLF','1124QNoIrv','sessionId','725238hjMGKk','alloc','170757arWYPk','ombHH','1699215inRfoa','string','min','cBfQl','AHMwa','read','126653POuiOl','13722DOsgSa','hook:stop','3693awHHsd'];_0x7e2b=function(){return _0x2cff2e;};return _0x7e2b();}import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0xc598ba){const _0x4f4430=_0x5f21,_0x48f318={'fNJwm':function(_0x302efa,_0x5280c7){return _0x302efa(_0x5280c7);},'cBfQl':function(_0x5e8c6a,_0x2e59eb){return _0x5e8c6a===_0x2e59eb;},'WOFVo':_0x4f4430(0x109),'RjyLF':function(_0x4d7716,_0x1d73a5){return _0x4d7716(_0x1d73a5);},'IiZKY':function(_0x1b75ac,_0x32e179,_0x1faa92,_0x2572af){return _0x1b75ac(_0x32e179,_0x1faa92,_0x2572af);},'ZFYGt':'RANGER_SKIP_VERIFICATION','bXeSD':function(_0x5873cd){return _0x5873cd();},'xRVyw':function(_0x3c4429,_0x50ea9d,_0x259ec7){return _0x3c4429(_0x50ea9d,_0x259ec7);},'ombHH':function(_0x3a8685,_0x19593f,_0x4bf38f){return _0x3a8685(_0x19593f,_0x4bf38f);},'XOVpq':function(_0x445025,_0x3f3f51){return _0x445025(_0x3f3f51);},'AHMwa':function(_0x43663d,_0x120c03){return _0x43663d&&_0x120c03;},'Wdihz':function(_0x33422,_0x33c363,_0x482f18,_0x44b7c2){return _0x33422(_0x33c363,_0x482f18,_0x44b7c2);}},_0x40e573=await _0x48f318[_0x4f4430(0x112)](getEnabledHookContext,_0xc598ba),_0x12866a=_0x40e573?.[_0x4f4430(0x103)]??null,_0x347768=Boolean(_0x40e573?.['input']?.['stop_hook_active']),_0x1db478=_0x48f318[_0x4f4430(0x10b)](typeof _0x40e573?.[_0x4f4430(0x117)]?.[_0x4f4430(0xfb)],_0x48f318['WOFVo'])?_0x40e573[_0x4f4430(0x117)]['transcript_path']:null;let _0xf21adf=!![];if(!_0x12866a){await trackStop(_0x12866a,![],_0xf21adf);return;}try{const _0x17f412=_0x48f318[_0x4f4430(0x101)](getSessionEntry,_0x12866a);if(!_0x17f412){await _0x48f318['IiZKY'](trackStop,_0x12866a,!![],_0xf21adf);return;}const _0x2f9d97='https://dashboard.ranger.net/features/'+_0x17f412[_0x4f4430(0xfd)],_0x2186b4=_0x48f318['ZFYGt'],_0xd8dae9=await _0x48f318['bXeSD'](getToken),_0xe0a887=!_0x347768;let _0x4f20a5=null,_0x59df07=null;const _0x5714d7=_0x347768&&await _0x48f318[_0x4f4430(0xfc)](transcriptHasToken,_0x1db478,_0x2186b4),_0x46ab4d=await _0x48f318[_0x4f4430(0x107)](transcriptHasToken,_0x1db478,_0x2f9d97);if(_0xd8dae9)try{const _0x28bd88=await _0x48f318['XOVpq'](getFeature,_0x17f412[_0x4f4430(0xfd)]);_0x4f20a5=_0x28bd88[_0x4f4430(0x114)]??null,_0x59df07=_0x28bd88[_0x4f4430(0x11b)]??null;}catch{}if(_0x48f318[_0x4f4430(0x10c)](_0xd8dae9,_0x59df07))try{await concludeSession(_0x17f412[_0x4f4430(0xfd)],_0x59df07);}catch(_0x3d4930){if(_0x5714d7){await _0x48f318[_0x4f4430(0xf9)](trackStop,_0x12866a,!![],_0xf21adf);return;}_0xf21adf=![];const _0x575abd=_0x3d4930 instanceof Error?_0x3d4930['message']:String(_0x3d4930),_0x210147={'decision':'block','reason':_0x4f4430(0x116)+(_0x4f20a5?'\x20for\x20\x22'+_0x4f20a5+'\x22':'')+':\x0a\x0a'+_0x575abd+'\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('+_0x2f9d97+')\x20and\x20the\x20token\x20`'+_0x2186b4+_0x4f4430(0x119)};console['log'](JSON['stringify'](_0x210147)),await trackStop(_0x12866a,!![],_0xf21adf);return;}await _0x48f318['IiZKY'](trackStop,_0x12866a,!![],_0xf21adf);return;}catch{await trackStop(_0x12866a,!![],_0xf21adf);return;}}function _0x5f21(_0x4293c1,_0x4eab0f){_0x4293c1=_0x4293c1-0xf8;const _0x7e2be5=_0x7e2b();let _0x5f2167=_0x7e2be5[_0x4293c1];return _0x5f2167;}async function trackStop(_0x2ec9da,_0x3be124,_0x5de40d){const _0x51e1e1=_0x5f21,_0x5210db={'hTPqx':function(_0x2af429,_0x3ebf33){return _0x2af429(_0x3ebf33);},'gONUn':_0x51e1e1(0xfe)};try{const _0x5d444a=_0x5210db[_0x51e1e1(0xfa)](createTelemetryCollector,_0x51e1e1(0x110));await _0x5d444a[_0x51e1e1(0x11d)]({'sessionId':_0x2ec9da??undefined,'hooksEnabled':_0x3be124,'stopAllowed':_0x5de40d}),await _0x5d444a['trackCommandEnd'](_0x5210db['gONUn']);}catch{}}async function transcriptHasToken(_0xf76b30,_0x2702f0){const _0x3d5232=_0x5f21,_0x552305={'MlZcK':function(_0x495df8,_0x21c179,_0x46db7c){return _0x495df8(_0x21c179,_0x46db7c);}};if(!_0xf76b30)return![];const _0x329f02=await _0x552305[_0x3d5232(0x100)](readTranscriptTail,_0xf76b30,0x30d40);return _0x329f02?_0x329f02[_0x3d5232(0x11c)](_0x2702f0):![];}async function readTranscriptTail(_0x2abf2a,_0x4b6eb2){const _0x280fce=_0x5f21;let _0x22aa67=null;try{_0x22aa67=await open(_0x2abf2a,'r');const _0x50269d=await _0x22aa67['stat'](),_0x33bb32=Math[_0x280fce(0x10a)](_0x50269d[_0x280fce(0x115)],_0x4b6eb2);if(_0x33bb32<=0x0)return'';const _0x1ce3d3=Buffer[_0x280fce(0x105)](_0x33bb32);return await _0x22aa67[_0x280fce(0x10d)](_0x1ce3d3,0x0,_0x33bb32,_0x50269d['size']-_0x33bb32),_0x1ce3d3['toString'](_0x280fce(0x118));}catch{return null;}finally{try{await _0x22aa67?.[_0x280fce(0xf8)]();}catch{}}}
@@ -1 +1 @@
1
- (function(_0x460037,_0x5ae466){var _0x3b2b01=_0x36cc,_0x8b03de=_0x460037();while(!![]){try{var _0x3e2132=-parseInt(_0x3b2b01(0x98))/0x1*(parseInt(_0x3b2b01(0x93))/0x2)+-parseInt(_0x3b2b01(0x90))/0x3+-parseInt(_0x3b2b01(0x96))/0x4+parseInt(_0x3b2b01(0x94))/0x5*(parseInt(_0x3b2b01(0x91))/0x6)+-parseInt(_0x3b2b01(0x95))/0x7*(parseInt(_0x3b2b01(0x97))/0x8)+-parseInt(_0x3b2b01(0x99))/0x9+parseInt(_0x3b2b01(0x92))/0xa;if(_0x3e2132===_0x5ae466)break;else _0x8b03de['push'](_0x8b03de['shift']());}catch(_0x589840){_0x8b03de['push'](_0x8b03de['shift']());}}}(_0xab01,0x382ae));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start}from'./start.js';function _0xab01(){var _0x231538=['662403ZVeZCW','1221680iQCrSR','8rqWwtX','180727OAHxgm','4116204BFDJDt','795882jhLezJ','6tWoziJ','14186410UMQHYB','4ekrgXk','1477870dlMYle'];_0xab01=function(){return _0x231538;};return _0xab01();}export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';function _0x36cc(_0x188c87,_0x55eed4){_0x188c87=_0x188c87-0x90;var _0xab016a=_0xab01();var _0x36cc9d=_0xab016a[_0x188c87];return _0x36cc9d;}export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
1
+ (function(_0x30f01a,_0x1fdb45){var _0x5b9e85=_0x1f44,_0x3bbec5=_0x30f01a();while(!![]){try{var _0x4db672=-parseInt(_0x5b9e85(0x13e))/0x1+parseInt(_0x5b9e85(0x143))/0x2+parseInt(_0x5b9e85(0x144))/0x3+-parseInt(_0x5b9e85(0x13f))/0x4+-parseInt(_0x5b9e85(0x142))/0x5*(-parseInt(_0x5b9e85(0x141))/0x6)+-parseInt(_0x5b9e85(0x140))/0x7+-parseInt(_0x5b9e85(0x145))/0x8;if(_0x4db672===_0x1fdb45)break;else _0x3bbec5['push'](_0x3bbec5['shift']());}catch(_0x375106){_0x3bbec5['push'](_0x3bbec5['shift']());}}}(_0x24d8,0x60e9a));export{addEnv}from'./addEnv.js';function _0x1f44(_0x1eb4ee,_0x362dd7){_0x1eb4ee=_0x1eb4ee-0x13e;var _0x24d816=_0x24d8();var _0x1f448e=_0x24d816[_0x1eb4ee];return _0x1f448e;}export{clean}from'./clean.js';export{login}from'./login.js';function _0x24d8(){var _0x877e22=['1367709KwYNEg','77160Ealakc','250TyHSCl','1039534eKMVIC','2043183cWmPDb','7587256zBIrLm','96863jlhkAx','824868JcNMFz'];_0x24d8=function(){return _0x877e22;};return _0x24d8();}export{start}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
@@ -1 +1 @@
1
- function _0x1362(){const _0x2b984f=['organizationName','dFnbf','5EHQUud','success','3872586zUCKGq','19795100KKtWdK','488848mmUNAX','8KZHiRN','log','2927943engdcK','user','\x0a✅\x20API\x20key\x20stored\x20successfully','isTTY','HRiCA','5CVHOqj','stdin','2997022GciwQx','2675052UjmpGs','6842694nSjuXn'];_0x1362=function(){return _0x2b984f;};return _0x1362();}(function(_0x10638c,_0x26e52c){const _0x2e3cd0=_0x1575,_0x340da3=_0x10638c();while(!![]){try{const _0x9888a=-parseInt(_0x2e3cd0(0x7c))/0x1*(parseInt(_0x2e3cd0(0x80))/0x2)+parseInt(_0x2e3cd0(0x7e))/0x3+parseInt(_0x2e3cd0(0x78))/0x4+parseInt(_0x2e3cd0(0x75))/0x5*(parseInt(_0x2e3cd0(0x79))/0x6)+-parseInt(_0x2e3cd0(0x77))/0x7*(-parseInt(_0x2e3cd0(0x81))/0x8)+parseInt(_0x2e3cd0(0x83))/0x9+-parseInt(_0x2e3cd0(0x7f))/0xa;if(_0x9888a===_0x26e52c)break;else _0x340da3['push'](_0x340da3['shift']());}catch(_0x50e8f7){_0x340da3['push'](_0x340da3['shift']());}}}(_0x1362,0x9f28d));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x1575(_0x570bd1,_0x2403f9){_0x570bd1=_0x570bd1-0x75;const _0x136267=_0x1362();let _0x1575cc=_0x136267[_0x570bd1];return _0x1575cc;}import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x44d161=_0x1575,_0x13185d={'HRiCA':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','dFnbf':function(_0x55faeb){return _0x55faeb();},'gFaPe':function(_0x4a44ee,_0x4d6dd4){return _0x4a44ee(_0x4d6dd4);},'evCGK':_0x44d161(0x85),'qBLnf':function(_0x5a8ad9,_0x4547f0){return _0x5a8ad9 instanceof _0x4547f0;}},_0x364e8d=process[_0x44d161(0x76)][_0x44d161(0x86)]&&process['stdout'][_0x44d161(0x86)];if(!_0x364e8d)throw new Error(_0x13185d[_0x44d161(0x87)]);try{const _0x11525e=await _0x13185d[_0x44d161(0x7b)](runDeviceAuthFlow),_0x1ca638=await _0x13185d['gFaPe'](getCurrentUser,_0x11525e);_0x1ca638[_0x44d161(0x7d)]?console[_0x44d161(0x82)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x1ca638[_0x44d161(0x84)][_0x44d161(0x7a)]):console['log'](_0x13185d['evCGK']);}catch(_0x1b0ba5){throw new Error('Login\x20failed:\x20'+(_0x13185d['qBLnf'](_0x1b0ba5,Error)?_0x1b0ba5['message']:_0x1b0ba5));}}
1
+ (function(_0x30279c,_0x5e7f01){const _0x331ddc=_0x12c5,_0x2d9e78=_0x30279c();while(!![]){try{const _0x362e66=parseInt(_0x331ddc(0x185))/0x1*(parseInt(_0x331ddc(0x18e))/0x2)+parseInt(_0x331ddc(0x18d))/0x3*(parseInt(_0x331ddc(0x189))/0x4)+parseInt(_0x331ddc(0x181))/0x5*(parseInt(_0x331ddc(0x184))/0x6)+parseInt(_0x331ddc(0x183))/0x7*(-parseInt(_0x331ddc(0x186))/0x8)+parseInt(_0x331ddc(0x18f))/0x9+parseInt(_0x331ddc(0x182))/0xa+-parseInt(_0x331ddc(0x180))/0xb*(parseInt(_0x331ddc(0x187))/0xc);if(_0x362e66===_0x5e7f01)break;else _0x2d9e78['push'](_0x2d9e78['shift']());}catch(_0x553e50){_0x2d9e78['push'](_0x2d9e78['shift']());}}}(_0x2106,0x99084));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x12c5(_0x343520,_0x5cc41b){_0x343520=_0x343520-0x180;const _0x21062c=_0x2106();let _0x12c52f=_0x21062c[_0x343520];return _0x12c52f;}function _0x2106(){const _0x5ac929=['785604zSzcYA','2040Fdryky','3900Toruzr','Login\x20failed:\x20','45592BnkwnJ','weUzb','\x0a✅\x20API\x20key\x20stored\x20successfully','log','177CNZmlq','2kRqKTW','4578723JvNHJI','\x0a✅\x20Logged\x20in\x20to\x20','organizationName','stdin','72545ANStWZ','2920585GFUqIV','3789630KzgkAL','20419obEGFp','12LqLwyD'];_0x2106=function(){return _0x5ac929;};return _0x2106();}export async function login(){const _0x5bfc9b=_0x12c5,_0xd6331b={'HAHvC':function(_0x15e055){return _0x15e055();},'weUzb':_0x5bfc9b(0x18b),'WVhzL':function(_0x31de83,_0xe115fb){return _0x31de83 instanceof _0xe115fb;}},_0x343b1e=process[_0x5bfc9b(0x192)]['isTTY']&&process['stdout']['isTTY'];if(!_0x343b1e)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x2e5fbe=await _0xd6331b['HAHvC'](runDeviceAuthFlow),_0x2ad12b=await getCurrentUser(_0x2e5fbe);_0x2ad12b['success']?console['log'](_0x5bfc9b(0x190)+_0x2ad12b['user'][_0x5bfc9b(0x191)]):console[_0x5bfc9b(0x18c)](_0xd6331b[_0x5bfc9b(0x18a)]);}catch(_0x44dcba){throw new Error(_0x5bfc9b(0x188)+(_0xd6331b['WVhzL'](_0x44dcba,Error)?_0x44dcba['message']:_0x44dcba));}}
@@ -1 +1 @@
1
- (function(_0xf41282,_0x427807){const _0xdb8049=_0x311e,_0x4bb4e9=_0xf41282();while(!![]){try{const _0x5bb1ae=-parseInt(_0xdb8049(0x100))/0x1+-parseInt(_0xdb8049(0xf6))/0x2+-parseInt(_0xdb8049(0xe1))/0x3+parseInt(_0xdb8049(0x105))/0x4*(-parseInt(_0xdb8049(0xdb))/0x5)+parseInt(_0xdb8049(0xdf))/0x6*(parseInt(_0xdb8049(0xfb))/0x7)+-parseInt(_0xdb8049(0x103))/0x8+parseInt(_0xdb8049(0xe8))/0x9;if(_0x5bb1ae===_0x427807)break;else _0x4bb4e9['push'](_0x4bb4e9['shift']());}catch(_0x15467b){_0x4bb4e9['push'](_0x4bb4e9['shift']());}}}(_0x21cc,0x7e28b));import{join}from'path';function _0x311e(_0x2dd84c,_0x3d2e8f){_0x2dd84c=_0x2dd84c-0xd4;const _0x21ccd1=_0x21cc();let _0x311e4a=_0x21ccd1[_0x2dd84c];return _0x311e4a;}import{existsSync}from'fs';import _0x28211c from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x21cc(){const _0x106d19=['User\x20(available\x20in\x20all\x20your\x20projects)','PqcfC','1792862FXsmML','.claude','YPPDj','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','xSjzt','727853mYACQw','Where\x20should\x20the\x20plugin\x20be\x20installed?','plugin','WjOOS','list','341921FTBtQh','success','ITBVr','1740168dlAGSV','❌\x20Failed\x20to\x20install\x20plugin:','5288DarfDt','csehR','\x0aYou\x20can\x20install\x20manually\x20with:','ranger-testing/trailhead','project','tSbQH','marketplace','--scope','zOKDR','user','1100qFQsyX','output','confirm','ranger@trailhead','48AQSBxR','\x20level)...\x0a','8586rLWGSA','✓\x20Ranger\x20skills\x20already\x20installed','bfLhz','tBEIU','log','TXCIR','GrPmg','12910410fqElEM','tuPyh','KSmhf','phona','pPvgO','hfJWu','wantsSkillup','includes','LqZJm','error','install','tQmlX'];_0x21cc=function(){return _0x106d19;};return _0x21cc();}export async function ensureClaudePlugin(_0x5e3f85){const _0x3fcdab=_0x311e,_0x23fffb={'tuPyh':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','KSmhf':_0x3fcdab(0xf7),'tMRGx':_0x3fcdab(0xd5),'Deptl':'pluginScope','WYcyl':_0x3fcdab(0xf4),'LqZJm':_0x3fcdab(0xda),'wqXmJ':'Project\x20(shared\x20with\x20team\x20via\x20git)','mVlxP':'trailhead','dwaIS':'✓\x20Marketplace\x20already\x20added','csehR':function(_0x14cac9,_0x5470c6){return _0x14cac9(_0x5470c6);},'tSbQH':_0x3fcdab(0xd7),'dvxKg':'add','tBEIU':_0x3fcdab(0xd4),'qfVCm':'❌\x20Failed\x20to\x20add\x20marketplace:','phona':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','PqcfC':'ranger@trailhead','XCNDy':_0x3fcdab(0x104),'JoCEk':_0x3fcdab(0x107),'ukcKn':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','tQmlX':'--scope','pPvgO':function(_0x2c3357,_0x33db61,_0x3daff5){return _0x2c3357(_0x33db61,_0x3daff5);},'zOKDR':'⚠\x20Failed\x20to\x20enable\x20plugin:'},_0x289cad=await isPluginInstalled(_0x3fcdab(0xde));if(_0x289cad)return console[_0x3fcdab(0xe5)](_0x23fffb[_0x3fcdab(0xe9)]),![];const _0x3aa49e=existsSync(join(getProjectRoot(),_0x23fffb[_0x3fcdab(0xea)]));let _0x5d260e;if(_0x5e3f85)_0x5d260e=_0x5e3f85;else{if(_0x3aa49e)_0x5d260e=_0x23fffb['tMRGx'];else{console['log']('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0xfcce2b=await _0x28211c['prompt']([{'type':_0x3fcdab(0xff),'name':_0x23fffb['Deptl'],'message':_0x3fcdab(0xfc),'choices':[{'name':_0x23fffb['WYcyl'],'value':_0x23fffb[_0x3fcdab(0xf0)]},{'name':_0x23fffb['wqXmJ'],'value':_0x3fcdab(0xd5)}],'default':'user'}]);_0x5d260e=_0xfcce2b['pluginScope'];}}console['log'](_0x3fcdab(0xf9)+_0x5d260e+_0x3fcdab(0xe0));const _0x41db26=await isMarketplaceAdded(_0x23fffb['mVlxP']);let _0x419e94=_0x41db26;if(_0x41db26)console[_0x3fcdab(0xe5)](_0x23fffb['dwaIS']);else{const _0x690af3=await _0x23fffb[_0x3fcdab(0x106)](runClaudeCommand,['plugin',_0x23fffb[_0x3fcdab(0xd6)],_0x23fffb['dvxKg'],_0x23fffb[_0x3fcdab(0xe4)]]);!_0x690af3[_0x3fcdab(0x101)]?(console[_0x3fcdab(0xf1)](_0x23fffb['qfVCm'],_0x690af3['error']),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x3fcdab(0xe5)](_0x23fffb[_0x3fcdab(0xeb)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5d260e)):_0x419e94=!![];}if(_0x419e94){const _0x141d13=await runClaudeCommand([_0x3fcdab(0xfd),_0x3fcdab(0xf2),_0x23fffb[_0x3fcdab(0xf5)],_0x3fcdab(0xd8),_0x5d260e]);if(!_0x141d13['success'])console['error'](_0x23fffb['XCNDy'],_0x141d13['error']),console['log'](_0x23fffb['JoCEk']),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5d260e);else{console['log'](_0x23fffb['ukcKn']);const _0x4446da=[_0x3fcdab(0xfd),'enable',_0x3fcdab(0xde)];_0x5d260e===_0x3fcdab(0xd5)&&_0x4446da['push'](_0x23fffb[_0x3fcdab(0xf3)],_0x3fcdab(0xd5));const _0x446a22=await _0x23fffb[_0x3fcdab(0xec)](runClaudeCommand,_0x4446da,{'captureOutput':!![]}),_0x111c4c=_0x446a22[_0x3fcdab(0xdc)]?.[_0x3fcdab(0xef)]('already\x20enabled');!_0x446a22[_0x3fcdab(0x101)]&&!_0x111c4c?console['error'](_0x23fffb[_0x3fcdab(0xd9)],_0x446a22[_0x3fcdab(0xf1)]):console['log']('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0x5f41ca){const _0x119c0c=_0x311e,_0x2acbc6={'NTylr':function(_0x13fd26,_0x2da75d){return _0x13fd26(_0x2da75d);},'GrPmg':function(_0x430d5c,_0x15f1a6){return _0x430d5c(_0x15f1a6);},'VmfRY':'user','ITBVr':'SKILL.md','yWHth':function(_0x59a35f,_0x2bbc06){return _0x59a35f(_0x2bbc06);},'YPPDj':function(_0x1814d1,_0x3add6e){return _0x1814d1(_0x3add6e);},'xSjzt':_0x119c0c(0xd5),'TXCIR':'ranger','hfJWu':function(_0x1c9bb0,_0x4ec4e6){return _0x1c9bb0||_0x4ec4e6;},'JUhoY':_0x119c0c(0xe2),'WjOOS':_0x119c0c(0xf7),'bfLhz':_0x119c0c(0xdd),'CfcKE':function(_0x3379c6,_0x4cd119){return _0x3379c6(_0x4cd119);}},_0x17a9d6=_0x2acbc6['NTylr'](existsSync,join(_0x2acbc6[_0x119c0c(0xe7)](getSkillsDir,_0x2acbc6['VmfRY']),'ranger',_0x2acbc6[_0x119c0c(0x102)])),_0x59a366=_0x2acbc6['yWHth'](existsSync,join(_0x2acbc6[_0x119c0c(0xf8)](getSkillsDir,_0x2acbc6[_0x119c0c(0xfa)]),_0x2acbc6[_0x119c0c(0xe6)],'SKILL.md'));if(_0x2acbc6[_0x119c0c(0xed)](_0x17a9d6,_0x59a366))return console['log'](_0x2acbc6['JUhoY']),![];const _0x47b57f=_0x2acbc6['GrPmg'](existsSync,join(getProjectRoot(),_0x2acbc6[_0x119c0c(0xfe)]));let _0xb41f1d=!![];if(_0x5f41ca)await skillup({'autoInstall':_0x5f41ca,'suppressUsage':!![]});else{if(_0x47b57f)await _0x2acbc6['yWHth'](skillup,{'autoInstall':_0x2acbc6[_0x119c0c(0xfa)],'suppressUsage':!![]});else{const _0x59508d=await _0x28211c['prompt']([{'type':_0x2acbc6[_0x119c0c(0xe3)],'name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0xb41f1d=_0x59508d[_0x119c0c(0xee)],_0xb41f1d&&await _0x2acbc6['CfcKE'](skillup,{'suppressUsage':!![]});}}return _0xb41f1d;}
1
+ (function(_0x124e3b,_0x3d34d2){const _0xcdedba=_0x3199,_0x17629a=_0x124e3b();while(!![]){try{const _0x30e35f=-parseInt(_0xcdedba(0xe1))/0x1+-parseInt(_0xcdedba(0x107))/0x2*(-parseInt(_0xcdedba(0xeb))/0x3)+-parseInt(_0xcdedba(0xed))/0x4+-parseInt(_0xcdedba(0xe6))/0x5*(-parseInt(_0xcdedba(0x10f))/0x6)+parseInt(_0xcdedba(0xe2))/0x7*(-parseInt(_0xcdedba(0x111))/0x8)+-parseInt(_0xcdedba(0xff))/0x9+parseInt(_0xcdedba(0xe3))/0xa*(parseInt(_0xcdedba(0xe0))/0xb);if(_0x30e35f===_0x3d34d2)break;else _0x17629a['push'](_0x17629a['shift']());}catch(_0x1a47ab){_0x17629a['push'](_0x17629a['shift']());}}}(_0x41e6,0x623e6));import{join}from'path';import{existsSync}from'fs';import _0x36aa18 from'inquirer';import{skillup}from'../skillup.js';function _0x41e6(){const _0xe219d5=['SKILL.md','FgERJ','already\x20enabled','❌\x20Failed\x20to\x20add\x20marketplace:','plugin','wwYot','548685JFLuiI','project','\x0aYou\x20can\x20install\x20manually\x20with:','Would\x20you\x20like\x20to\x20install\x20skills?','KfKAL','ygwdl','confirm','bZBaV','8318fwCaMP','success','SucmP','user','push','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','✓\x20Claude\x20Code\x20plugin\x20enabled','install','55794IPaKEb','GuZvC','278632NEsApZ','ranger@trailhead','error','ranger','hUrUM','UpyPk','prompt','NnCAw','mQXLC','log','2181817HkRyAW','41904KixMZd','133GSZKXL','50ATMpth','DJGOz','enable','105wtiYrw','wantsSkillup','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','ElION','CGwVM','51ZnRWbP','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','362764ZowEyP','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','Where\x20should\x20the\x20plugin\x20be\x20installed?','includes','.claude','✓\x20Ranger\x20skills\x20already\x20installed','pluginScope','add','Project\x20(shared\x20with\x20team\x20via\x20git)','EOkse','nmfVe','❌\x20Failed\x20to\x20install\x20plugin:'];_0x41e6=function(){return _0xe219d5;};return _0x41e6();}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x3199(_0x48e88f,_0x57caa0){_0x48e88f=_0x48e88f-0xd7;const _0x41e60b=_0x41e6();let _0x319933=_0x41e60b[_0x48e88f];return _0x319933;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x123693){const _0x3e8412=_0x3199,_0x1e290c={'KfKAL':function(_0x29a277,_0x3487c9){return _0x29a277(_0x3487c9);},'ygwdl':function(_0x8651d5,_0x56dc88,_0x2e4da5){return _0x8651d5(_0x56dc88,_0x2e4da5);},'ElION':_0x3e8412(0xf1),'DJGOz':_0x3e8412(0x100),'hUrUM':'list','EOkse':_0x3e8412(0xef),'NkIqI':'User\x20(available\x20in\x20all\x20your\x20projects)','FgERJ':_0x3e8412(0xf5),'SucmP':'trailhead','hxDYm':_0x3e8412(0xfd),'krpTZ':'marketplace','ikBce':_0x3e8412(0xfc),'CGwVM':_0x3e8412(0xd7),'bZBaV':'--scope','mQXLC':_0x3e8412(0x101),'wwYot':_0x3e8412(0x10d)},_0x2e4327=await isPluginInstalled(_0x3e8412(0xd7));if(_0x2e4327)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x184a04=_0x1e290c[_0x3e8412(0x103)](existsSync,_0x1e290c[_0x3e8412(0x104)](join,getProjectRoot(),_0x1e290c[_0x3e8412(0xe9)]));let _0x3a459e;if(_0x123693)_0x3a459e=_0x123693;else{if(_0x184a04)_0x3a459e=_0x1e290c[_0x3e8412(0xe4)];else{console[_0x3e8412(0xdf)]('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x102963=await _0x36aa18[_0x3e8412(0xdc)]([{'type':_0x1e290c[_0x3e8412(0xda)],'name':_0x3e8412(0xf3),'message':_0x1e290c[_0x3e8412(0xf6)],'choices':[{'name':_0x1e290c['NkIqI'],'value':_0x3e8412(0x10a)},{'name':_0x1e290c[_0x3e8412(0xfa)],'value':_0x1e290c['DJGOz']}],'default':_0x3e8412(0x10a)}]);_0x3a459e=_0x102963['pluginScope'];}}console['log'](_0x3e8412(0x10c)+_0x3a459e+'\x20level)...\x0a');const _0x5d6933=await isMarketplaceAdded(_0x1e290c[_0x3e8412(0x109)]);let _0xb10d88=_0x5d6933;if(_0x5d6933)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x37ba21=await runClaudeCommand([_0x1e290c['hxDYm'],_0x1e290c['krpTZ'],_0x3e8412(0xf4),'ranger-testing/trailhead']);!_0x37ba21[_0x3e8412(0x108)]?(console['error'](_0x1e290c['ikBce'],_0x37ba21['error']),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x3e8412(0xdf)](_0x3e8412(0xe8)),console['log'](_0x3e8412(0xec)+_0x3a459e)):_0xb10d88=!![];}if(_0xb10d88){const _0x22ba14=await runClaudeCommand(['plugin',_0x3e8412(0x10e),_0x1e290c[_0x3e8412(0xea)],_0x1e290c[_0x3e8412(0x106)],_0x3a459e]);if(!_0x22ba14[_0x3e8412(0x108)])console[_0x3e8412(0xd8)](_0x3e8412(0xf8),_0x22ba14['error']),console[_0x3e8412(0xdf)](_0x1e290c[_0x3e8412(0xde)]),console[_0x3e8412(0xdf)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x3a459e);else{console['log'](_0x3e8412(0xee));const _0x95147a=[_0x1e290c['hxDYm'],_0x3e8412(0xe5),_0x1e290c[_0x3e8412(0xea)]];_0x3a459e===_0x1e290c[_0x3e8412(0xe4)]&&_0x95147a[_0x3e8412(0x10b)](_0x1e290c[_0x3e8412(0x106)],_0x1e290c[_0x3e8412(0xe4)]);const _0x1c050c=await runClaudeCommand(_0x95147a,{'captureOutput':!![]}),_0x1b14fc=_0x1c050c['output']?.[_0x3e8412(0xf0)](_0x3e8412(0xfb));!_0x1c050c['success']&&!_0x1b14fc?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x1c050c['error']):console[_0x3e8412(0xdf)](_0x1e290c[_0x3e8412(0xfe)]);}}return!![];}export async function ensureClaudeSkills(_0x3f5b01){const _0x4f657f=_0x3199,_0xf6618a={'GuZvC':function(_0x3ba752,_0x3cb5be,_0x237022,_0x48410b){return _0x3ba752(_0x3cb5be,_0x237022,_0x48410b);},'Uozqb':_0x4f657f(0xd9),'izBRo':_0x4f657f(0xf9),'WkaSj':function(_0x3e2173,_0x3000ab){return _0x3e2173||_0x3000ab;},'oPxLK':function(_0x285ee8,_0x2be24b){return _0x285ee8(_0x2be24b);},'NnCAw':'.claude','UpyPk':function(_0x40b739,_0x243eab){return _0x40b739(_0x243eab);},'AqwGU':_0x4f657f(0xe7),'lUHbA':_0x4f657f(0x102),'nmfVe':function(_0x31e169,_0x22a7dc){return _0x31e169(_0x22a7dc);}},_0x335af5=existsSync(_0xf6618a[_0x4f657f(0x110)](join,getSkillsDir('user'),_0xf6618a['Uozqb'],_0xf6618a['izBRo'])),_0x415f8f=existsSync(join(getSkillsDir(_0x4f657f(0x100)),'ranger','SKILL.md'));if(_0xf6618a['WkaSj'](_0x335af5,_0x415f8f))return console[_0x4f657f(0xdf)](_0x4f657f(0xf2)),![];const _0x2dd972=_0xf6618a['oPxLK'](existsSync,join(getProjectRoot(),_0xf6618a[_0x4f657f(0xdd)]));let _0x49220c=!![];if(_0x3f5b01)await _0xf6618a[_0x4f657f(0xdb)](skillup,{'autoInstall':_0x3f5b01,'suppressUsage':!![]});else{if(_0x2dd972)await skillup({'autoInstall':'project','suppressUsage':!![]});else{const _0x1db5c3=await _0x36aa18[_0x4f657f(0xdc)]([{'type':_0x4f657f(0x105),'name':_0xf6618a['AqwGU'],'message':_0xf6618a['lUHbA'],'default':!![]}]);_0x49220c=_0x1db5c3['wantsSkillup'],_0x49220c&&await _0xf6618a[_0x4f657f(0xf7)](skillup,{'suppressUsage':!![]});}}return _0x49220c;}
@@ -1 +1 @@
1
- (function(_0x35deaa,_0x4102f4){const _0x297803=_0x2e56,_0x1a43a9=_0x35deaa();while(!![]){try{const _0x531e3e=-parseInt(_0x297803(0x14b))/0x1*(-parseInt(_0x297803(0x13d))/0x2)+-parseInt(_0x297803(0x155))/0x3*(-parseInt(_0x297803(0x145))/0x4)+-parseInt(_0x297803(0x141))/0x5+-parseInt(_0x297803(0x143))/0x6+parseInt(_0x297803(0x150))/0x7*(-parseInt(_0x297803(0x154))/0x8)+parseInt(_0x297803(0x148))/0x9*(parseInt(_0x297803(0x13a))/0xa)+-parseInt(_0x297803(0x13c))/0xb;if(_0x531e3e===_0x4102f4)break;else _0x1a43a9['push'](_0x1a43a9['shift']());}catch(_0x121be8){_0x1a43a9['push'](_0x1a43a9['shift']());}}}(_0x5bb0,0xd2dad));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x2d0f6d from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x5bb0(){const _0x10f9d0=['1011880QeXXqC','includes','2614601AsOCOQ','1204484ayDbwc','opencode.json','JeWlA','https://opencode.ai/config.json','1493115ZpnWDL','\x0a📦\x20OpenCode\x20Plugin\x0a','9062118lAYpXz','RbIhj','284AfLfKG','Where\x20should\x20the\x20plugin\x20be\x20installed?','error','108LcSDwY','$schema','project','1zLECeA','OHgmV','Vgjkc','✓\x20OpenCode\x20plugin\x20already\x20configured','pluginScope','14511NaigBO','vEbqq','YFECt','log','728BlUUNC','54189ZddGXU','parse','prompt','sxhJh','list','TlNXN','User\x20(available\x20in\x20all\x20your\x20projects)','fXyOv','isArray'];_0x5bb0=function(){return _0x10f9d0;};return _0x5bb0();}function _0x2e56(_0x343572,_0x872750){_0x343572=_0x343572-0x13a;const _0x5bb0ed=_0x5bb0();let _0x2e5682=_0x5bb0ed[_0x343572];return _0x2e5682;}export async function ensureOpencodePluginConfig(_0x115255){const _0x291d5a=_0x2e56,_0x78718a={'fXyOv':function(_0x49b9c8,_0x261e23,_0x4f09c3){return _0x49b9c8(_0x261e23,_0x4f09c3);},'RAIrm':function(_0x11b4c3,_0x130972){return _0x11b4c3(_0x130972);},'YRybz':'project','Vgjkc':_0x291d5a(0x142),'YxMNP':_0x291d5a(0x159),'sxhJh':_0x291d5a(0x146),'YFECt':_0x291d5a(0x15b),'JeWlA':'Project\x20(shared\x20with\x20team\x20via\x20git)','vEbqq':'user','zAjKF':_0x291d5a(0x140),'TlNXN':function(_0x384874,_0x133fa4){return _0x384874(_0x133fa4);},'WNSxq':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','nlzwo':'Failed\x20to\x20read\x20opencode.json','OHgmV':function(_0x443671,_0xa536ae){return _0x443671(_0xa536ae);},'RbIhj':'✓\x20OpenCode\x20plugin\x20configured'},_0x251f64=existsSync(_0x78718a['fXyOv'](join,_0x78718a['RAIrm'](getOpencodeConfigDir,_0x78718a['YRybz']),'opencode.json'));let _0x51de30;if(_0x115255)_0x51de30=_0x115255;else{if(_0x251f64)_0x51de30=_0x78718a['YRybz'];else{console['log'](_0x78718a[_0x291d5a(0x14d)]);const _0x1f18d4=await _0x2d0f6d[_0x291d5a(0x157)]([{'type':_0x78718a['YxMNP'],'name':'pluginScope','message':_0x78718a[_0x291d5a(0x158)],'choices':[{'name':_0x78718a[_0x291d5a(0x152)],'value':'user'},{'name':_0x78718a[_0x291d5a(0x13f)],'value':_0x291d5a(0x14a)}],'default':_0x78718a[_0x291d5a(0x151)]}]);_0x51de30=_0x1f18d4[_0x291d5a(0x14f)];}}const _0x1790fd=_0x78718a[_0x291d5a(0x15c)](join,getOpencodeConfigDir(_0x51de30),_0x291d5a(0x13e)),_0x3123bd='@ranger-testing/opencode-plugin',_0x1c260d=_0x78718a['zAjKF'];let _0x6330c8={};if(_0x78718a[_0x291d5a(0x15a)](existsSync,_0x1790fd))try{const _0x59faed=await readFile(_0x1790fd,'utf-8');_0x6330c8=JSON[_0x291d5a(0x156)](_0x59faed);}catch(_0x264303){return console[_0x291d5a(0x147)](_0x78718a['WNSxq']),{'configured':![],'scope':_0x51de30,'error':_0x78718a['nlzwo'],'details':_0x264303};}const _0x203eff=Array[_0x291d5a(0x15d)](_0x6330c8['plugin'])?_0x6330c8['plugin']:[];if(_0x203eff[_0x291d5a(0x13b)](_0x3123bd))return console[_0x291d5a(0x153)](_0x291d5a(0x14e)),{'configured':![],'scope':_0x51de30};return _0x6330c8['$schema']=_0x6330c8[_0x291d5a(0x149)]||_0x1c260d,_0x6330c8['plugin']=[..._0x203eff,_0x3123bd],await mkdir(_0x78718a[_0x291d5a(0x14c)](getOpencodeConfigDir,_0x51de30),{'recursive':!![]}),await writeFile(_0x1790fd,JSON['stringify'](_0x6330c8,null,0x2)+'\x0a'),console[_0x291d5a(0x153)](_0x78718a[_0x291d5a(0x144)]),{'configured':!![],'scope':_0x51de30};}
1
+ (function(_0x562492,_0x31f4f2){const _0x5def84=_0x3294,_0x44b8d4=_0x562492();while(!![]){try{const _0x37e59e=parseInt(_0x5def84(0xc7))/0x1+-parseInt(_0x5def84(0xa5))/0x2+-parseInt(_0x5def84(0xaf))/0x3*(parseInt(_0x5def84(0xa3))/0x4)+-parseInt(_0x5def84(0xb8))/0x5*(-parseInt(_0x5def84(0xb4))/0x6)+parseInt(_0x5def84(0xc6))/0x7+-parseInt(_0x5def84(0xbc))/0x8*(-parseInt(_0x5def84(0xa9))/0x9)+parseInt(_0x5def84(0xbb))/0xa*(-parseInt(_0x5def84(0xa8))/0xb);if(_0x37e59e===_0x31f4f2)break;else _0x44b8d4['push'](_0x44b8d4['shift']());}catch(_0x6899ee){_0x44b8d4['push'](_0x44b8d4['shift']());}}}(_0x235f,0x3eb20));import{join}from'path';function _0x3294(_0x32b893,_0x4f5c7a){_0x32b893=_0x32b893-0xa3;const _0x235f93=_0x235f();let _0x3294ac=_0x235f93[_0x32b893];return _0x3294ac;}function _0x235f(){const _0x1f8114=['147270QjquwZ','786512YotMBs','project','✓\x20OpenCode\x20plugin\x20configured','ueZcx','jljEX','https://opencode.ai/config.json','log','KiZSH','opencode.json','\x0a📦\x20OpenCode\x20Plugin\x0a','3111983lorUYv','321614pMXWlm','48TpDKXt','parse','255704SicTQg','error','Project\x20(shared\x20with\x20team\x20via\x20git)','517wJsICC','36lEcYdj','plugin','✓\x20OpenCode\x20plugin\x20already\x20configured','kDLgX','User\x20(available\x20in\x20all\x20your\x20projects)','@ranger-testing/opencode-plugin','79452AUoBJp','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','QECYJ','Failed\x20to\x20read\x20opencode.json','pluginScope','24330jNvzNn','user','list','RrnlI','290eIcvfQ','$schema','isArray'];_0x235f=function(){return _0x1f8114;};return _0x235f();}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x55567a from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x5286b8){const _0x58b98a=_0x3294,_0x425901={'QECYJ':function(_0x435315,_0x1d46d0,_0x429732){return _0x435315(_0x1d46d0,_0x429732);},'kDLgX':function(_0x48f866,_0x42674f){return _0x48f866(_0x42674f);},'KiZSH':'project','gcTww':_0x58b98a(0xc4),'LeVBR':_0x58b98a(0xb6),'gYxJe':'pluginScope','XqAYL':'user','Xxmcw':function(_0x43e12c,_0x27f91b){return _0x43e12c(_0x27f91b);},'RrnlI':_0x58b98a(0xae),'jljEX':_0x58b98a(0xb0),'ueZcx':_0x58b98a(0xb2),'dWbSK':_0x58b98a(0xab)},_0x39fab2=existsSync(_0x425901['QECYJ'](join,_0x425901[_0x58b98a(0xac)](getOpencodeConfigDir,_0x425901[_0x58b98a(0xc3)]),_0x425901['gcTww']));let _0x29252e;if(_0x5286b8)_0x29252e=_0x5286b8;else{if(_0x39fab2)_0x29252e=_0x425901['KiZSH'];else{console[_0x58b98a(0xc2)](_0x58b98a(0xc5));const _0x8761ba=await _0x55567a['prompt']([{'type':_0x425901['LeVBR'],'name':_0x425901['gYxJe'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x58b98a(0xad),'value':_0x58b98a(0xb5)},{'name':_0x58b98a(0xa7),'value':_0x58b98a(0xbd)}],'default':_0x425901['XqAYL']}]);_0x29252e=_0x8761ba[_0x58b98a(0xb3)];}}const _0x119d65=join(_0x425901['Xxmcw'](getOpencodeConfigDir,_0x29252e),_0x425901['gcTww']),_0x240a43=_0x425901[_0x58b98a(0xb7)],_0x3c0aaf=_0x58b98a(0xc1);let _0x24d72c={};if(_0x425901[_0x58b98a(0xac)](existsSync,_0x119d65))try{const _0xf1557d=await readFile(_0x119d65,'utf-8');_0x24d72c=JSON[_0x58b98a(0xa4)](_0xf1557d);}catch(_0x1ac74f){return console[_0x58b98a(0xa6)](_0x425901[_0x58b98a(0xc0)]),{'configured':![],'scope':_0x29252e,'error':_0x425901[_0x58b98a(0xbf)],'details':_0x1ac74f};}const _0x161feb=Array[_0x58b98a(0xba)](_0x24d72c['plugin'])?_0x24d72c[_0x58b98a(0xaa)]:[];if(_0x161feb['includes'](_0x240a43))return console[_0x58b98a(0xc2)](_0x425901['dWbSK']),{'configured':![],'scope':_0x29252e};return _0x24d72c[_0x58b98a(0xb9)]=_0x24d72c[_0x58b98a(0xb9)]||_0x3c0aaf,_0x24d72c[_0x58b98a(0xaa)]=[..._0x161feb,_0x240a43],await _0x425901[_0x58b98a(0xb1)](mkdir,getOpencodeConfigDir(_0x29252e),{'recursive':!![]}),await writeFile(_0x119d65,JSON['stringify'](_0x24d72c,null,0x2)+'\x0a'),console['log'](_0x58b98a(0xbe)),{'configured':!![],'scope':_0x29252e};}
@@ -1 +1 @@
1
- function _0x256a(){const _0x3d7fd0=['31506NHeVyZ','HeVof','message','dZlad','skipChromium','name','eHbah','baseUrl','auth.json.enc','yfPyE','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','479268IcScku','IIwlb','20FLbIJA','trailhead','hoAvS','trackPhaseEnd','ranger@trailhead','1072lMyYRg','eSPHo','scoBg','3681832XekEAW','1834212nfAJym','profile','NUVdf','64674fUzQdB','PIVdx','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','SQJsj','✓\x20Claude\x20Code\x20plugin\x20installed','\x22:\x20','log','790EDRxcb','IEvTA','1329402undleC','CI\x20profile\x20\x22','✓\x20Created\x20profile\x20settings:\x20baseUrl=','BCKtF','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','jQBZo','install','✓\x20Active\x20profile:\x20','path','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','Failed\x20to\x20install\x20plugin:','project','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','iOuvn','SkCVn','length','dir_setup','--scope','plugin','isDirectory','error','success','csEkC','ranger-testing/trailhead','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','✓\x20Auth\x20state\x20found','rMMVr','YScAk','18551070eXLKhk','sessions','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','iUxLm','nHHYu','trackPhaseStart'];_0x256a=function(){return _0x3d7fd0;};return _0x256a();}(function(_0x1ad12b,_0x2a7d48){const _0x3ee63f=_0x30d1,_0x5489eb=_0x1ad12b();while(!![]){try{const _0xfeaf9f=parseInt(_0x3ee63f(0xbb))/0x1+-parseInt(_0x3ee63f(0xc8))/0x2+parseInt(_0x3ee63f(0xb0))/0x3*(-parseInt(_0x3ee63f(0xb2))/0x4)+-parseInt(_0x3ee63f(0xc6))/0x5*(parseInt(_0x3ee63f(0xa5))/0x6)+parseInt(_0x3ee63f(0xba))/0x7+parseInt(_0x3ee63f(0xb7))/0x8*(-parseInt(_0x3ee63f(0xbe))/0x9)+parseInt(_0x3ee63f(0x9f))/0xa;if(_0xfeaf9f===_0x2a7d48)break;else _0x5489eb['push'](_0x5489eb['shift']());}catch(_0x719291){_0x5489eb['push'](_0x5489eb['shift']());}}}(_0x256a,0xea300));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x4d1db8){const _0x1cc766=_0x30d1,_0x52f9bd={'Nxini':function(_0xd277c1,_0x1612d1,_0x6741eb){return _0xd277c1(_0x1612d1,_0x6741eb);},'SkCVn':'No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','YScAk':'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','PIVdx':function(_0x236d3c,_0x3fbca0,_0xc7567c){return _0x236d3c(_0x3fbca0,_0xc7567c);},'scoBg':function(_0x25e494,_0x191135){return _0x25e494===_0x191135;},'ttpfM':_0x1cc766(0xc0)},_0x337b1e=getRangerDir(),_0x2c3fcc=_0x52f9bd['Nxini'](join,_0x337b1e,'ci');if(_0x4d1db8){const _0x29f665=_0x52f9bd['Nxini'](join,_0x2c3fcc,_0x4d1db8);return{'name':_0x4d1db8,'path':_0x29f665};}if(!existsSync(_0x2c3fcc))throw new Error(_0x52f9bd[_0x1cc766(0x91)]+_0x52f9bd[_0x1cc766(0x9e)]);const _0x42d7fd=await _0x52f9bd['PIVdx'](readdir,_0x2c3fcc,{'withFileTypes':!![]}),_0x438c58=_0x42d7fd['filter'](_0x16e52e=>_0x16e52e[_0x1cc766(0x96)]())['map'](_0x44ac60=>_0x44ac60['name']);if(_0x52f9bd[_0x1cc766(0xb9)](_0x438c58['length'],0x0))throw new Error(_0x52f9bd['ttpfM']+_0x52f9bd['YScAk']);if(_0x52f9bd['scoBg'](_0x438c58[_0x1cc766(0x92)],0x1)){const _0x2e2c06=_0x438c58[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x2e2c06),{'name':_0x2e2c06,'path':_0x52f9bd[_0x1cc766(0xbf)](join,_0x2c3fcc,_0x2e2c06)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x438c58['join'](',\x20')+_0x1cc766(0x8c));}function _0x30d1(_0x1f40ef,_0x5dabf1){_0x1f40ef=_0x1f40ef-0x8c;const _0x256ad2=_0x256a();let _0x30d10e=_0x256ad2[_0x1f40ef];return _0x30d10e;}async function installPluginNonInteractive(){const _0x536c77=_0x30d1,_0x23babc={'CgwTr':'Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','jQBZo':function(_0x361f11,_0x2ade41){return _0x361f11(_0x2ade41);},'eSPHo':_0x536c77(0xb3),'mdMsf':'plugin','BbEqJ':_0x536c77(0xcc),'csEkC':function(_0x197159,_0x5a5138){return _0x197159(_0x5a5138);},'IIwlb':_0x536c77(0x94),'nqxjK':_0x536c77(0xc3)},_0xc3e96b=await isPluginInstalled(_0x536c77(0xb6));if(_0xc3e96b)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];console['log'](_0x23babc['CgwTr']);const _0x17a79c=await _0x23babc[_0x536c77(0xce)](isMarketplaceAdded,_0x23babc[_0x536c77(0xb8)]);let _0x23385b=_0x17a79c;if(_0x17a79c)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x5bdbeb=await _0x23babc[_0x536c77(0xce)](runClaudeCommand,[_0x23babc['mdMsf'],'marketplace','add',_0x536c77(0x9a)]);!_0x5bdbeb[_0x536c77(0x98)]?(console[_0x536c77(0x97)]('Failed\x20to\x20add\x20marketplace:',_0x5bdbeb[_0x536c77(0x97)]),console[_0x536c77(0xc5)](_0x23babc['BbEqJ'])):_0x23385b=!![];}if(_0x23385b){const _0x40e2b1=await _0x23babc[_0x536c77(0x99)](runClaudeCommand,['plugin',_0x536c77(0xcf),'ranger@trailhead',_0x23babc[_0x536c77(0xb1)],_0x536c77(0x8e)]);!_0x40e2b1['success']?(console[_0x536c77(0x97)](_0x536c77(0x8d),_0x40e2b1['error']),console[_0x536c77(0xc5)](_0x536c77(0xc1))):console[_0x536c77(0xc5)](_0x23babc['nqxjK']);}return!![];}export async function setupCi(_0x4d0115,_0x5bccd7,_0x25d932){const _0x9f70b1=_0x30d1,_0x4832e7={'yfPyE':_0x9f70b1(0x8f),'fQefc':function(_0x3b0d79,_0x37313f){return _0x3b0d79(_0x37313f);},'BCKtF':function(_0xce52b9){return _0xce52b9();},'bXMBp':function(_0x2a2022,_0x3b3b51,_0x4f7eaf){return _0x2a2022(_0x3b3b51,_0x4f7eaf);},'xfjKp':_0x9f70b1(0xa0),'SQJsj':_0x9f70b1(0x93),'QNCJI':'chromium','rMMVr':function(_0x56fe43){return _0x56fe43();},'IEvTA':'profile_activate','iUxLm':function(_0x530748,_0x43795d,_0xf937e1){return _0x530748(_0x43795d,_0xf937e1);},'nHHYu':'settings.json','SzQyn':function(_0xdc46dc,_0x234f66){return _0xdc46dc(_0x234f66);},'HeVof':function(_0x4e8799,_0x3640d4,_0x59ddc3){return _0x4e8799(_0x3640d4,_0x59ddc3);},'TCDGb':'auth.json','NUVdf':function(_0x450494,_0x1d094f){return _0x450494(_0x1d094f);},'dZlad':function(_0x3b7428,_0x21438e){return _0x3b7428(_0x21438e);},'eHbah':function(_0x5e7fc9,_0x44339c){return _0x5e7fc9 instanceof _0x44339c;},'iOuvn':_0x9f70b1(0xcd),'ucKDD':function(_0x384789){return _0x384789();},'MUDdt':'skills','hoAvS':'project','AOaBA':_0x9f70b1(0xd2)};console[_0x9f70b1(0xc5)](_0x4832e7[_0x9f70b1(0xae)]),_0x25d932?.['trackPhaseStart']('auth'),await _0x4832e7['fQefc'](authenticate,_0x4d0115),_0x25d932?.[_0x9f70b1(0xb5)]('auth'),_0x25d932?.['trackPhaseStart']('dir_setup');const {path:_0x4dca0f,installed:_0x2bc540}=await _0x4832e7[_0x9f70b1(0xcb)](ensureRangerDir);await writeRangerGitignore(_0x4dca0f);const _0x49cb13=_0x4832e7['bXMBp'](join,_0x4dca0f,_0x4832e7['xfjKp']);!existsSync(_0x49cb13)&&await _0x4832e7['bXMBp'](mkdir,_0x49cb13,{'recursive':!![]});_0x25d932?.[_0x9f70b1(0xb5)](_0x4832e7[_0x9f70b1(0xc2)],{'installed':_0x2bc540}),_0x25d932?.['trackPhaseStart'](_0x4832e7['QNCJI']);let _0x390c83=![];_0x5bccd7?.['skipChromium']?console[_0x9f70b1(0xc5)](_0x9f70b1(0xa1)):_0x390c83=await _0x4832e7[_0x9f70b1(0x9d)](ensureChromium);_0x25d932?.['trackPhaseEnd']('chromium',{'installed':_0x390c83,'skipped':!!_0x5bccd7?.[_0x9f70b1(0xa9)]}),_0x25d932?.[_0x9f70b1(0xa4)](_0x4832e7[_0x9f70b1(0xc7)]);const _0x290bfc=await findCiProfile(_0x5bccd7?.[_0x9f70b1(0xbc)]);let _0x4ecbb4=![];_0x5bccd7?.['baseUrl']&&(await _0x4832e7['bXMBp'](mkdir,_0x290bfc['path'],{'recursive':!![]}),await saveSettings(_0x290bfc['name'],{'baseUrl':_0x5bccd7[_0x9f70b1(0xac)],'headless':!![]}),console['log'](_0x9f70b1(0xca)+_0x5bccd7['baseUrl']),_0x4ecbb4=!![]);const _0x1466bf=_0x4832e7[_0x9f70b1(0xa2)](join,_0x290bfc[_0x9f70b1(0xd1)],_0x4832e7[_0x9f70b1(0xa3)]);if(!_0x4832e7['SzQyn'](existsSync,_0x1466bf)&&!_0x4ecbb4)throw new Error(_0x9f70b1(0xc9)+_0x290bfc['name']+_0x9f70b1(0xaf));const _0x142f3f=_0x4832e7[_0x9f70b1(0xa6)](join,_0x290bfc['path'],_0x4832e7['TCDGb']),_0x579bbf=join(_0x290bfc[_0x9f70b1(0xd1)],_0x9f70b1(0xad)),_0x2d9a27=_0x4832e7['NUVdf'](existsSync,_0x142f3f),_0x19d602=existsSync(_0x579bbf);if(_0x19d602)try{const _0x3d4c81=await getToken();if(!_0x3d4c81)throw new Error('No\x20API\x20token\x20available\x20for\x20decryption');const _0x205364=await _0x4832e7[_0x9f70b1(0xa8)](readFile,_0x579bbf);_0x4832e7['bXMBp'](decrypt,_0x205364,_0x3d4c81),console['log'](_0x9f70b1(0x9b));}catch(_0x397158){const _0xf827a8=_0x4832e7[_0x9f70b1(0xab)](_0x397158,Error)?_0x397158[_0x9f70b1(0xa7)]:_0x4832e7['NUVdf'](String,_0x397158);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x290bfc[_0x9f70b1(0xaa)]+_0x9f70b1(0xc4)+_0xf827a8);}else _0x2d9a27?console['log'](_0x9f70b1(0x9c)):console['log'](_0x4832e7[_0x9f70b1(0x90)]);await writeActiveProfileName(_0x290bfc['name']),console['log'](_0x9f70b1(0xd0)+_0x290bfc[_0x9f70b1(0xaa)]),_0x25d932?.[_0x9f70b1(0xb5)]('profile_activate',{'profileName':_0x290bfc[_0x9f70b1(0xaa)],'hasAuth':_0x2d9a27,'hasEncryptedAuth':_0x19d602,'createdSettings':_0x4ecbb4}),_0x25d932?.['trackPhaseStart'](_0x9f70b1(0x95));const _0x389403=await _0x4832e7['ucKDD'](installPluginNonInteractive);_0x25d932?.['trackPhaseEnd']('plugin',{'installed':_0x389403}),_0x25d932?.['trackPhaseStart'](_0x4832e7['MUDdt']),await _0x4832e7[_0x9f70b1(0xbd)](skillup,{'autoInstall':_0x4832e7[_0x9f70b1(0xb4)]}),_0x25d932?.[_0x9f70b1(0xb5)]('skills'),console['log'](_0x4832e7['AOaBA']);}
1
+ (function(_0x37c130,_0x59d308){const _0x301ee1=_0x3601,_0x25ae98=_0x37c130();while(!![]){try{const _0x1cfc69=parseInt(_0x301ee1(0x1f8))/0x1*(parseInt(_0x301ee1(0x1c8))/0x2)+parseInt(_0x301ee1(0x1f6))/0x3*(parseInt(_0x301ee1(0x1c1))/0x4)+-parseInt(_0x301ee1(0x1dd))/0x5+-parseInt(_0x301ee1(0x1c2))/0x6*(-parseInt(_0x301ee1(0x1cf))/0x7)+parseInt(_0x301ee1(0x1e7))/0x8+parseInt(_0x301ee1(0x1cd))/0x9+-parseInt(_0x301ee1(0x1cb))/0xa;if(_0x1cfc69===_0x59d308)break;else _0x25ae98['push'](_0x25ae98['shift']());}catch(_0x39a4d0){_0x25ae98['push'](_0x25ae98['shift']());}}}(_0x5b63,0xdae12));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';function _0x3601(_0x350e0a,_0x3e520a){_0x350e0a=_0x350e0a-0x1bb;const _0x5b63b8=_0x5b63();let _0x3601dd=_0x5b63b8[_0x350e0a];return _0x3601dd;}import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';function _0x5b63(){const _0xa43d1c=['plugin','6955348ihxmMw','6xIChCN','settings.json','path','BMivq','name','auth.json','2kKkXJu','Ugfol','OncLY','39540360zcQtXv','MzUNz','8964450xDwjQY','Auto-detected\x20CI\x20profile:\x20','9222535fNKCor','enybZ','Egogv','skills','baseUrl','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','Failed\x20to\x20add\x20marketplace:','log','length','QAUEd','chromium','uoZEb','Ditof','lZPgg','3016110fWRicj','Failed\x20to\x20install\x20plugin:','NWkff','install','PApWW','map','success','OJCCf','bSQHJ','SQjgV','485352VoxFWW','Vtvgl','xkLbj','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','gQFCI','nMEAM','mrOYv','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','FFVCL','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','ranger-testing/trailhead','trackPhaseStart','--scope','Kxwpz','LYOrI','3chhRyR','trackPhaseEnd','1340727uebJmy','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','skipChromium','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','profile_activate','profile'];_0x5b63=function(){return _0xa43d1c;};return _0x5b63();}import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x13ded1){const _0x1a9325=_0x3601,_0x5b0bae={'OncLY':function(_0x27ddad){return _0x27ddad();},'ghbox':function(_0x22fc54,_0x8858b3,_0x2bd828){return _0x22fc54(_0x8858b3,_0x2bd828);},'JcbVc':function(_0x536109,_0x311aec,_0x16897c){return _0x536109(_0x311aec,_0x16897c);},'Ditof':_0x1a9325(0x1d4),'nMEAM':function(_0x2b6180,_0x27aa05){return _0x2b6180+_0x27aa05;},'ZWqlb':_0x1a9325(0x1ea),'QAUEd':function(_0x4bc2c2,_0x6831fe){return _0x4bc2c2===_0x6831fe;},'enybZ':function(_0x3031ec,_0x2fdae0,_0x42720f){return _0x3031ec(_0x2fdae0,_0x42720f);}},_0x26f15b=_0x5b0bae[_0x1a9325(0x1ca)](getRangerDir),_0x520312=_0x5b0bae['ghbox'](join,_0x26f15b,'ci');if(_0x13ded1){const _0x461f35=_0x5b0bae['JcbVc'](join,_0x520312,_0x13ded1);return{'name':_0x13ded1,'path':_0x461f35};}if(!existsSync(_0x520312))throw new Error('No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a'+_0x5b0bae['Ditof']);const _0x3400db=await readdir(_0x520312,{'withFileTypes':!![]}),_0x43e6f5=_0x3400db['filter'](_0xec27b6=>_0xec27b6['isDirectory']())[_0x1a9325(0x1e2)](_0x1b29d2=>_0x1b29d2['name']);if(_0x43e6f5[_0x1a9325(0x1d7)]===0x0)throw new Error(_0x5b0bae[_0x1a9325(0x1ec)](_0x5b0bae['ZWqlb'],_0x5b0bae[_0x1a9325(0x1db)]));if(_0x5b0bae[_0x1a9325(0x1d8)](_0x43e6f5[_0x1a9325(0x1d7)],0x1)){const _0x25ab72=_0x43e6f5[0x0];return console[_0x1a9325(0x1d6)](_0x1a9325(0x1ce)+_0x25ab72),{'name':_0x25ab72,'path':_0x5b0bae[_0x1a9325(0x1d0)](join,_0x520312,_0x25ab72)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x43e6f5['join'](',\x20')+'.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.');}async function installPluginNonInteractive(){const _0x10b7f1=_0x3601,_0x5067f1={'FFVCL':'ranger@trailhead','mrOYv':_0x10b7f1(0x1f0),'RINfB':function(_0x1aee36,_0x3283b9){return _0x1aee36(_0x3283b9);},'LYOrI':_0x10b7f1(0x1c0),'DUklz':'marketplace','uoZEb':'add','hDBlA':_0x10b7f1(0x1d5),'fuaet':_0x10b7f1(0x1f3),'lZPgg':'project','MzUNz':'✓\x20Claude\x20Code\x20plugin\x20installed'},_0x325e33=await isPluginInstalled(_0x5067f1['FFVCL']);if(_0x325e33)return console[_0x10b7f1(0x1d6)]('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];console[_0x10b7f1(0x1d6)](_0x5067f1[_0x10b7f1(0x1ed)]);const _0x21785c=await isMarketplaceAdded('trailhead');let _0x348f13=_0x21785c;if(_0x21785c)console[_0x10b7f1(0x1d6)]('✓\x20Marketplace\x20already\x20added');else{const _0xa680ff=await _0x5067f1['RINfB'](runClaudeCommand,[_0x5067f1[_0x10b7f1(0x1f5)],_0x5067f1['DUklz'],_0x5067f1[_0x10b7f1(0x1da)],_0x10b7f1(0x1f1)]);!_0xa680ff[_0x10b7f1(0x1e3)]?(console['error'](_0x5067f1['hDBlA'],_0xa680ff['error']),console[_0x10b7f1(0x1d6)](_0x10b7f1(0x1bc))):_0x348f13=!![];}if(_0x348f13){const _0x6201ce=await runClaudeCommand([_0x5067f1['LYOrI'],_0x10b7f1(0x1e0),_0x5067f1[_0x10b7f1(0x1ef)],_0x5067f1['fuaet'],_0x5067f1[_0x10b7f1(0x1dc)]]);!_0x6201ce[_0x10b7f1(0x1e3)]?(console['error'](_0x10b7f1(0x1de),_0x6201ce['error']),console[_0x10b7f1(0x1d6)](_0x10b7f1(0x1f9))):console[_0x10b7f1(0x1d6)](_0x5067f1[_0x10b7f1(0x1cc)]);}return!![];}export async function setupCi(_0x9ba4d4,_0x226f44,_0xff8700){const _0x35aa95=_0x3601,_0xf0a2f8={'Ugfol':'auth','Kxwpz':'dir_setup','bSQHJ':function(_0x16fcd2){return _0x16fcd2();},'Egogv':function(_0x152878,_0xeba4ff,_0x129680){return _0x152878(_0xeba4ff,_0x129680);},'BMivq':'sessions','NWkff':function(_0xe5b7bc,_0x41c057){return _0xe5b7bc(_0x41c057);},'PApWW':_0x35aa95(0x1d9),'gQFCI':_0x35aa95(0x1bd),'Vtvgl':'profile_activate','xkLbj':_0x35aa95(0x1c7),'qRJDa':'✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','OJCCf':function(_0x35f171,_0x1b663f){return _0x35f171 instanceof _0x1b663f;},'yOaaF':'\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','SQjgV':'plugin'};console[_0x35aa95(0x1d6)]('\x0a🔧\x20Ranger\x20CI\x20Setup\x0a'),_0xff8700?.[_0x35aa95(0x1f2)](_0xf0a2f8[_0x35aa95(0x1c9)]),await authenticate(_0x9ba4d4),_0xff8700?.['trackPhaseEnd']('auth'),_0xff8700?.['trackPhaseStart'](_0xf0a2f8[_0x35aa95(0x1f4)]);const {path:_0x1de9af,installed:_0x54cf24}=await _0xf0a2f8[_0x35aa95(0x1e5)](ensureRangerDir);await writeRangerGitignore(_0x1de9af);const _0x552dde=_0xf0a2f8['Egogv'](join,_0x1de9af,_0xf0a2f8[_0x35aa95(0x1c5)]);!_0xf0a2f8['NWkff'](existsSync,_0x552dde)&&await mkdir(_0x552dde,{'recursive':!![]});_0xff8700?.['trackPhaseEnd'](_0xf0a2f8[_0x35aa95(0x1f4)],{'installed':_0x54cf24}),_0xff8700?.['trackPhaseStart'](_0xf0a2f8[_0x35aa95(0x1e1)]);let _0x1a0ff5=![];_0x226f44?.[_0x35aa95(0x1bb)]?console['log'](_0xf0a2f8[_0x35aa95(0x1eb)]):_0x1a0ff5=await _0xf0a2f8[_0x35aa95(0x1e5)](ensureChromium);_0xff8700?.[_0x35aa95(0x1f7)](_0x35aa95(0x1d9),{'installed':_0x1a0ff5,'skipped':!!_0x226f44?.['skipChromium']}),_0xff8700?.['trackPhaseStart'](_0xf0a2f8[_0x35aa95(0x1e8)]);const _0x2cabcf=await findCiProfile(_0x226f44?.[_0x35aa95(0x1bf)]);let _0x2d58ba=![];_0x226f44?.['baseUrl']&&(await _0xf0a2f8['Egogv'](mkdir,_0x2cabcf[_0x35aa95(0x1c4)],{'recursive':!![]}),await saveSettings(_0x2cabcf[_0x35aa95(0x1c6)],{'baseUrl':_0x226f44['baseUrl'],'headless':!![]}),console[_0x35aa95(0x1d6)]('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x226f44[_0x35aa95(0x1d3)]),_0x2d58ba=!![]);const _0x8c084e=join(_0x2cabcf['path'],_0x35aa95(0x1c3));if(!existsSync(_0x8c084e)&&!_0x2d58ba)throw new Error('CI\x20profile\x20\x22'+_0x2cabcf['name']+_0x35aa95(0x1ee));const _0x4b51ad=join(_0x2cabcf[_0x35aa95(0x1c4)],_0xf0a2f8[_0x35aa95(0x1e9)]),_0x2d4a0e=join(_0x2cabcf[_0x35aa95(0x1c4)],'auth.json.enc'),_0x21147f=existsSync(_0x4b51ad),_0x171788=existsSync(_0x2d4a0e);if(_0x171788)try{const _0x26685d=await _0xf0a2f8['bSQHJ'](getToken);if(!_0x26685d)throw new Error('No\x20API\x20token\x20available\x20for\x20decryption');const _0x9dfc5b=await readFile(_0x2d4a0e);_0xf0a2f8[_0x35aa95(0x1d1)](decrypt,_0x9dfc5b,_0x26685d),console['log'](_0xf0a2f8['qRJDa']);}catch(_0x2de941){const _0x42deea=_0xf0a2f8[_0x35aa95(0x1e4)](_0x2de941,Error)?_0x2de941['message']:_0xf0a2f8['NWkff'](String,_0x2de941);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x2cabcf['name']+'\x22:\x20'+_0x42deea);}else _0x21147f?console[_0x35aa95(0x1d6)]('✓\x20Auth\x20state\x20found'):console['log'](_0xf0a2f8['yOaaF']);await _0xf0a2f8[_0x35aa95(0x1df)](writeActiveProfileName,_0x2cabcf['name']),console['log']('✓\x20Active\x20profile:\x20'+_0x2cabcf[_0x35aa95(0x1c6)]),_0xff8700?.['trackPhaseEnd'](_0x35aa95(0x1be),{'profileName':_0x2cabcf['name'],'hasAuth':_0x21147f,'hasEncryptedAuth':_0x171788,'createdSettings':_0x2d58ba}),_0xff8700?.[_0x35aa95(0x1f2)](_0xf0a2f8[_0x35aa95(0x1e6)]);const _0x3031fe=await _0xf0a2f8[_0x35aa95(0x1e5)](installPluginNonInteractive);_0xff8700?.['trackPhaseEnd']('plugin',{'installed':_0x3031fe}),_0xff8700?.['trackPhaseStart'](_0x35aa95(0x1d2)),await _0xf0a2f8['NWkff'](skillup,{'autoInstall':'project'}),_0xff8700?.[_0x35aa95(0x1f7)](_0x35aa95(0x1d2)),console['log']('\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a');}
@@ -1 +1 @@
1
- function _0x3452(){const _0x35ee6a=['project','\x0a📦\x20Installing\x20skills...\x0a','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','33RqVsGI','2034fUJMFl','Oozgg','stdin','zFnBn','isTTY','pBvhv','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','installLevel','3KXXODm','This\x20project\x20only\x20(','\x20<your-api-token>','UwVVv','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','22452EMQpHz','1235SNueQJ','FzxTI','\x20successfully!\x0a','To\x20get\x20started:','OXPMt','4125114QZYApS','/skills/','opencode','TMQEX','project-level','prompt','\x0a✅\x20Installed\x20','396764pQZBoz','/.claude/skills/','list','\x20skill','EdLoH','yrknU','279Jmwxki','afHxz','All\x20projects\x20(','683qsCawS','warn','24368GtLIRk','suppressUsage','log','673430YgYfHx','\x20--opencode','ranger','7656204TdRJwO','fuCde'];_0x3452=function(){return _0x35ee6a;};return _0x3452();}(function(_0x3eebb2,_0xf74f69){const _0x305471=_0x2b18,_0x3dcf55=_0x3eebb2();while(!![]){try{const _0x21d777=parseInt(_0x305471(0x9f))/0x1*(-parseInt(_0x305471(0xad))/0x2)+parseInt(_0x305471(0xb5))/0x3*(parseInt(_0x305471(0x96))/0x4)+parseInt(_0x305471(0xbb))/0x5*(parseInt(_0x305471(0xba))/0x6)+parseInt(_0x305471(0x8f))/0x7+-parseInt(_0x305471(0xa1))/0x8*(-parseInt(_0x305471(0x9c))/0x9)+parseInt(_0x305471(0xa4))/0xa*(parseInt(_0x305471(0xac))/0xb)+-parseInt(_0x305471(0xa7))/0xc;if(_0x21d777===_0xf74f69)break;else _0x3dcf55['push'](_0x3dcf55['shift']());}catch(_0x5ee7bd){_0x3dcf55['push'](_0x3dcf55['shift']());}}}(_0x3452,0x8cc52));import{basename}from'path';import _0x1f65a4 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';function _0x2b18(_0x2921ea,_0x4ad9e7){_0x2921ea=_0x2921ea-0x8f;const _0x3452ed=_0x3452();let _0x2b1821=_0x3452ed[_0x2921ea];return _0x2b1821;}import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x55c933={}){const _0x21d0c9=_0x2b18,_0x300719={'LUHQm':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','yrknU':'claude','XAAhT':function(_0x3b9283){return _0x3b9283();},'nfGih':function(_0x1a31e5,_0x1e8811){return _0x1a31e5===_0x1e8811;},'UwVVv':_0x21d0c9(0x91),'TMQEX':_0x21d0c9(0xa5),'XSSaV':'✓\x20Found\x20API\x20token','OXPMt':function(_0x20a6eb){return _0x20a6eb();},'CTFwz':function(_0x13eb51,_0x58886c){return _0x13eb51(_0x58886c);},'YABqk':function(_0xad903e,_0x373662){return _0xad903e(_0x373662);},'afHxz':'Where\x20should\x20skills\x20be\x20installed?','zFnBn':'user','Oozgg':_0x21d0c9(0xa9),'WfVkG':_0x21d0c9(0xa6),'XqTai':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','ApmsY':function(_0x1e8a46,_0x5a26d1){return _0x1e8a46>_0x5a26d1;},'FzxTI':function(_0x13568f,_0x11f4ed){return _0x13568f===_0x11f4ed;},'fuCde':function(_0x3efd2c,_0x326320){return _0x3efd2c>_0x326320;},'EdLoH':'To\x20use:','pBvhv':_0x21d0c9(0xb3),'RSbTf':'\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'};console[_0x21d0c9(0xa3)](_0x300719['LUHQm']);const _0x55a4a2=_0x55c933['platform']??_0x300719[_0x21d0c9(0x9b)],_0x3c3bbd=await _0x300719['XAAhT'](getToken);if(!_0x3c3bbd){console[_0x21d0c9(0xa3)]('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a'),console['log'](_0x21d0c9(0xbe)),console['log'](_0x21d0c9(0xb9)),console[_0x21d0c9(0xa3)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x300719['nfGih'](_0x55a4a2,_0x300719[_0x21d0c9(0xb8)])?_0x300719['TMQEX']:'')+_0x21d0c9(0xb7)),console[_0x21d0c9(0xa3)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x300719['nfGih'](_0x55a4a2,'opencode')?_0x300719[_0x21d0c9(0x92)]:'')+'\x0a');return;}console[_0x21d0c9(0xa3)](_0x300719['XSSaV']);const _0x48d59d=_0x300719[_0x21d0c9(0xbf)](getProjectRoot),_0x2aa731=_0x300719['CTFwz'](basename,_0x48d59d),_0x37d231=_0x300719['nfGih'](_0x55a4a2,'opencode')?_0x300719['YABqk'](getOpencodeConfigDir,'user')+_0x21d0c9(0x90):getClaudeConfigDir()+'/skills/',_0x10d92a=_0x55a4a2===_0x300719['UwVVv']?_0x48d59d+'/.opencode/skills/':_0x48d59d+_0x21d0c9(0x97),_0x1cadbd=process[_0x21d0c9(0xaf)]['isTTY']&&process['stdout'][_0x21d0c9(0xb1)];let _0x143288;if(_0x55c933['autoInstall'])_0x143288=_0x55c933['autoInstall'];else{if(_0x1cadbd){const _0x4878ae=await _0x1f65a4[_0x21d0c9(0x94)]([{'type':_0x21d0c9(0x98),'name':_0x21d0c9(0xb4),'message':_0x300719[_0x21d0c9(0x9d)],'choices':[{'name':_0x21d0c9(0x9e)+_0x37d231+')','value':_0x300719[_0x21d0c9(0xb0)]},{'name':_0x21d0c9(0xb6)+_0x10d92a+')','value':_0x300719[_0x21d0c9(0xae)]}]}]);_0x143288=_0x4878ae['installLevel'];}else _0x143288=_0x300719['Oozgg'],console[_0x21d0c9(0xa3)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x10d92a+')');}let _0x555837=0x0;const _0x4f3b92=getCurrentVersion();console['log'](_0x21d0c9(0xaa));try{const _0x5a62df=await installSkill(_0x300719['WfVkG'],{'cliVersion':_0x4f3b92,'level':_0x143288,'platform':_0x55a4a2});_0x5a62df&&_0x555837++;}catch(_0x46feeb){console[_0x21d0c9(0xa0)](_0x300719['XqTai'],_0x46feeb instanceof Error?_0x46feeb['message']:_0x46feeb);}if(_0x300719['ApmsY'](_0x555837,0x0)){const _0x1a708b=_0x300719[_0x21d0c9(0xbc)](_0x143288,_0x300719[_0x21d0c9(0xb0)])?'user-level':_0x21d0c9(0x93);console[_0x21d0c9(0xa3)](_0x21d0c9(0x95)+_0x555837+'\x20'+_0x1a708b+_0x21d0c9(0x99)+(_0x300719[_0x21d0c9(0xa8)](_0x555837,0x1)?'s':'')+_0x21d0c9(0xbd)),!_0x55c933[_0x21d0c9(0xa2)]&&(console['log'](_0x300719[_0x21d0c9(0x9a)]),_0x55a4a2===_0x21d0c9(0x91)?console['log'](_0x300719[_0x21d0c9(0xb2)]):console[_0x21d0c9(0xa3)](_0x300719['RSbTf']));}else console['log'](_0x21d0c9(0xab));}
1
+ (function(_0xc57c64,_0x1baf08){const _0x42fcd6=_0x3682,_0x40c168=_0xc57c64();while(!![]){try{const _0x3049af=-parseInt(_0x42fcd6(0x21a))/0x1*(-parseInt(_0x42fcd6(0x20b))/0x2)+-parseInt(_0x42fcd6(0x221))/0x3+-parseInt(_0x42fcd6(0x204))/0x4+parseInt(_0x42fcd6(0x1fc))/0x5*(parseInt(_0x42fcd6(0x1f8))/0x6)+-parseInt(_0x42fcd6(0x1f7))/0x7+parseInt(_0x42fcd6(0x200))/0x8+parseInt(_0x42fcd6(0x222))/0x9*(parseInt(_0x42fcd6(0x211))/0xa);if(_0x3049af===_0x1baf08)break;else _0x40c168['push'](_0x40c168['shift']());}catch(_0x32908a){_0x40c168['push'](_0x40c168['shift']());}}}(_0x48e2,0xb58b5));import{basename}from'path';function _0x48e2(){const _0x13770d=['133269JIUtqu','/.claude/skills/','\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!','KtsYf','claude','user-level','project-level','4080849tZkekQ','9MHXRHT','HHwuk','Heuwc','All\x20projects\x20(','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','aamwp','4|1|2|3|5|0','installLevel','10242372NqfuBt','385998xarpaN','opencode','warn','Ydfog','45BCiDwe','To\x20use:','yeGtV','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','382632JcukBm','\x20--opencode','log','/skills/','1106404nGPXMX','tYfik','\x20<your-api-token>','Where\x20should\x20skills\x20be\x20installed?','\x20\x203.\x20Run:\x20ranger\x20skillup','ZzeqS','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','8CpfKjj','gvWQW','platform','prompt','stdin','ORtMA','26837830xdWKmv','\x20\x202.\x20Run:\x20ranger\x20setup','ucIFT','project','isTTY','split','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','user','\x20skill'];_0x48e2=function(){return _0x13770d;};return _0x48e2();}import _0x22133a from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x3682(_0x20b7ab,_0x15941e){_0x20b7ab=_0x20b7ab-0x1f0;const _0x48e2d1=_0x48e2();let _0x36828a=_0x48e2d1[_0x20b7ab];return _0x36828a;}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0xbd5123={}){const _0x299f3d=_0x3682,_0x25f49b={'JupzN':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','ZzeqS':function(_0x5ef6dc){return _0x5ef6dc();},'kWnnk':_0x299f3d(0x1f5),'Heuwc':'To\x20get\x20started:','XVhPe':function(_0x335865,_0x5db0a1){return _0x335865===_0x5db0a1;},'ucIFT':_0x299f3d(0x1f9),'yeGtV':'\x20--opencode','pNvgf':function(_0x55da14){return _0x55da14();},'ORtMA':function(_0x305150,_0x3305a5){return _0x305150(_0x3305a5);},'HHwuk':_0x299f3d(0x218),'Ydfog':function(_0x35adad,_0x1b9916){return _0x35adad===_0x1b9916;},'gvWQW':'list','OGyWz':'project','KtsYf':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','tYfik':function(_0x2af2b6,_0x19eb5d){return _0x2af2b6 instanceof _0x19eb5d;},'aamwp':_0x299f3d(0x21f),'lKvwn':function(_0x99a60a,_0x3da6d8){return _0x99a60a>_0x3da6d8;},'fdgPF':function(_0x490258,_0x29741a){return _0x490258===_0x29741a;}};console[_0x299f3d(0x202)](_0x25f49b['JupzN']);const _0x1be94c=_0xbd5123[_0x299f3d(0x20d)]??_0x299f3d(0x21e),_0x4048e3=await _0x25f49b[_0x299f3d(0x209)](getToken);if(!_0x4048e3){const _0x4ae764=_0x25f49b['kWnnk'][_0x299f3d(0x216)]('|');let _0x481c3d=0x0;while(!![]){switch(_0x4ae764[_0x481c3d++]){case'0':return;case'1':console[_0x299f3d(0x202)](_0x25f49b[_0x299f3d(0x1f1)]);continue;case'2':console['log']('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli');continue;case'3':console[_0x299f3d(0x202)](_0x299f3d(0x212)+(_0x25f49b['XVhPe'](_0x1be94c,_0x299f3d(0x1f9))?_0x299f3d(0x201):'')+_0x299f3d(0x206));continue;case'4':console['log'](_0x299f3d(0x20a));continue;case'5':console['log'](_0x299f3d(0x208)+(_0x1be94c===_0x25f49b['ucIFT']?_0x25f49b[_0x299f3d(0x1fe)]:'')+'\x0a');continue;}break;}}console['log']('✓\x20Found\x20API\x20token');const _0x422114=_0x25f49b['pNvgf'](getProjectRoot),_0x4edbbd=_0x25f49b[_0x299f3d(0x210)](basename,_0x422114),_0x20d457=_0x1be94c===_0x25f49b[_0x299f3d(0x213)]?getOpencodeConfigDir(_0x25f49b['HHwuk'])+'/skills/':getClaudeConfigDir()+_0x299f3d(0x203),_0x4ccdaf=_0x25f49b[_0x299f3d(0x1fb)](_0x1be94c,_0x25f49b[_0x299f3d(0x213)])?_0x422114+'/.opencode/skills/':_0x422114+_0x299f3d(0x21b),_0x1c9fe5=process[_0x299f3d(0x20f)][_0x299f3d(0x215)]&&process['stdout']['isTTY'];let _0x5b00dd;if(_0xbd5123['autoInstall'])_0x5b00dd=_0xbd5123['autoInstall'];else{if(_0x1c9fe5){const _0x19739d=await _0x22133a[_0x299f3d(0x20e)]([{'type':_0x25f49b[_0x299f3d(0x20c)],'name':_0x299f3d(0x1f6),'message':_0x299f3d(0x207),'choices':[{'name':_0x299f3d(0x1f2)+_0x20d457+')','value':_0x299f3d(0x218)},{'name':'This\x20project\x20only\x20('+_0x4ccdaf+')','value':_0x299f3d(0x214)}]}]);_0x5b00dd=_0x19739d['installLevel'];}else _0x5b00dd=_0x25f49b['OGyWz'],console['log'](_0x299f3d(0x1f3)+_0x4ccdaf+')');}let _0x49ad2b=0x0;const _0x3eee6c=getCurrentVersion();console[_0x299f3d(0x202)]('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x407dab=await installSkill('ranger',{'cliVersion':_0x3eee6c,'level':_0x5b00dd,'platform':_0x1be94c});_0x407dab&&_0x49ad2b++;}catch(_0x4973e9){console[_0x299f3d(0x1fa)](_0x25f49b[_0x299f3d(0x21d)],_0x25f49b[_0x299f3d(0x205)](_0x4973e9,Error)?_0x4973e9['message']:_0x4973e9);}if(_0x49ad2b>0x0){const _0x86a2cd=_0x25f49b[_0x299f3d(0x1fb)](_0x5b00dd,_0x25f49b[_0x299f3d(0x1f0)])?_0x25f49b[_0x299f3d(0x1f4)]:_0x299f3d(0x220);console[_0x299f3d(0x202)]('\x0a✅\x20Installed\x20'+_0x49ad2b+'\x20'+_0x86a2cd+_0x299f3d(0x219)+(_0x25f49b['lKvwn'](_0x49ad2b,0x1)?'s':'')+'\x20successfully!\x0a'),!_0xbd5123['suppressUsage']&&(console['log'](_0x299f3d(0x1fd)),_0x25f49b['fdgPF'](_0x1be94c,_0x25f49b['ucIFT'])?console[_0x299f3d(0x202)](_0x299f3d(0x217)):console[_0x299f3d(0x202)](_0x299f3d(0x21c)));}else console[_0x299f3d(0x202)](_0x299f3d(0x1ff));}
@@ -1 +1 @@
1
- const _0x18df7c=_0x5725;(function(_0x415af3,_0x4389a3){const _0x3e4e1b=_0x5725,_0x29f794=_0x415af3();while(!![]){try{const _0x59e37b=parseInt(_0x3e4e1b(0x171))/0x1+-parseInt(_0x3e4e1b(0x16f))/0x2+-parseInt(_0x3e4e1b(0x1b2))/0x3*(-parseInt(_0x3e4e1b(0x17c))/0x4)+-parseInt(_0x3e4e1b(0x197))/0x5*(parseInt(_0x3e4e1b(0x195))/0x6)+-parseInt(_0x3e4e1b(0x18d))/0x7+parseInt(_0x3e4e1b(0x17e))/0x8+-parseInt(_0x3e4e1b(0x1b7))/0x9*(parseInt(_0x3e4e1b(0x16c))/0xa);if(_0x59e37b===_0x4389a3)break;else _0x29f794['push'](_0x29f794['shift']());}catch(_0x5170c0){_0x29f794['push'](_0x29f794['shift']());}}}(_0x3a7c,0xcb8e5));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';function _0x5725(_0x146e39,_0x41a8f6){_0x146e39=_0x146e39-0x14f;const _0x3a7cf5=_0x3a7c();let _0x572516=_0x3a7cf5[_0x146e39];return _0x572516;}import{spawn}from'child_process';import _0x13ff2b 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=_0x11ce90=>_0x18df7c(0x152)+_0x11ce90+_0x18df7c(0x19b);function getPlaywrightVersion(){const _0xa75e14=_0x18df7c,_0x162e0a={'iTdiG':'playwright/package.json'};try{const _0x5998ca=require[_0xa75e14(0x170)](_0x162e0a['iTdiG']),_0x2db290=require(_0x5998ca);return _0x2db290[_0xa75e14(0x19c)];}catch{return null;}}function installChromiumBinary(_0x4a9707){const _0x56cc6c=_0x18df7c,_0x4519fe={'KyyQT':function(_0x455615,_0x15d3d9){return _0x455615(_0x15d3d9);},'IewbM':_0x56cc6c(0x1ae),'GQLGJ':_0x56cc6c(0x18a),'edWOR':_0x56cc6c(0x1a5),'YmxIs':'win32','cQKNX':_0x56cc6c(0x1b5)};return new Promise((_0x2a3dfa,_0x340d28)=>{const _0x344816=_0x56cc6c,_0x730609={'ZMJMW':function(_0x1c6daa,_0x4064b4){return _0x1c6daa(_0x4064b4);}},_0x168c12=_0x4a9707?['playwright@'+_0x4a9707,'install',_0x4519fe['IewbM']]:[_0x344816(0x19f),_0x4519fe[_0x344816(0x1a8)],_0x4519fe[_0x344816(0x198)]],_0x3e2f6f=spawn('npx',_0x168c12,{'stdio':_0x4519fe[_0x344816(0x1a7)],'shell':process[_0x344816(0x161)]===_0x4519fe[_0x344816(0x189)]});_0x3e2f6f['on'](_0x4519fe['cQKNX'],_0x3c2eb1=>{const _0x172142=_0x344816;_0x3c2eb1===0x0?_0x2a3dfa():_0x4519fe[_0x172142(0x183)](_0x340d28,new Error(_0x172142(0x19d)+_0x3c2eb1));}),_0x3e2f6f['on']('error',_0x4231b4=>{const _0x5c980e=_0x344816;_0x730609[_0x5c980e(0x158)](_0x340d28,_0x4231b4);});});}export async function authenticate(_0x204b5d){const _0x288ab2=_0x18df7c,_0x1fec71={'eNPCR':function(_0x453dea){return _0x453dea();},'FkNQr':function(_0x2b9b5b,_0x5679da){return _0x2b9b5b(_0x5679da);},'wdgll':_0x288ab2(0x192),'kyuvV':'Validating\x20API\x20token...','gpNxZ':'provided_token'};if(!_0x204b5d){const _0x35f05f=await _0x1fec71[_0x288ab2(0x188)](getToken);if(_0x35f05f){const _0x21b6c0=await _0x1fec71[_0x288ab2(0x1a3)](getCurrentUser,_0x35f05f);if(_0x21b6c0[_0x288ab2(0x17a)])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x21b6c0['user']['organizationName']),{'token':_0x35f05f,'method':_0x1fec71['wdgll']};}try{_0x204b5d=await _0x1fec71[_0x288ab2(0x188)](runDeviceAuthFlow);}catch(_0x4361c1){throw new Error('Authentication\x20failed:\x20'+(_0x4361c1 instanceof Error?_0x4361c1[_0x288ab2(0x17b)]:_0x4361c1));}const _0x20c430=await getCurrentUser(_0x204b5d);if(!_0x20c430['success'])throw new Error(_0x288ab2(0x193)+_0x20c430[_0x288ab2(0x1ba)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0x20c430[_0x288ab2(0x160)]['organizationName']),{'token':_0x204b5d,'method':_0x288ab2(0x15c)};}console['log'](_0x1fec71['kyuvV']);const _0x41fc72=await getCurrentUser(_0x204b5d);if(!_0x41fc72['success']){if(_0x41fc72['status'])throw new Error('Authentication\x20failed:\x20'+_0x41fc72['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x288ab2(0x168)+_0x41fc72['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log']('✓\x20Authenticated\x20to\x20'+_0x41fc72['user']['organizationName']),await _0x1fec71['FkNQr'](storeToken,_0x204b5d),console['log'](process['env']['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':_0x288ab2(0x1b0)),{'token':_0x204b5d,'method':_0x1fec71[_0x288ab2(0x180)]};}function _0x3a7c(){const _0xbad999=['✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','stdout','wantsProfile','eNPCR','YmxIs','install','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','IbLtX','329133hUdtxa','✓\x20Created\x20.ranger/.gitignore','confirm','skipped','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','existing_token','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','dzPpW','9156ywqeeD','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','165VufPrB','IewbM','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','url','\x1b[0m','version','Installation\x20failed\x20with\x20exit\x20code\x20','iPvdL','playwright','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','trackPhaseStart','OCLwE','FkNQr','bVEjz','inherit','CdRjD','edWOR','GQLGJ','use\x20until\x20the\x20session\x20expires.\x0a','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','tcAFv','aeqxM','AgNhl','chromium','soPtp','✓\x20Stored\x20credentials\x20locally','ninhg','64326bqwDcS','stdin','plugin','close','\x20\x20npx\x20playwright@','19334475NWYUWn','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium','\x0a❌\x20Profile\x20setup\x20failed:','error','YTWea','Aedjv','ygiTg','WAEzd','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','log','profile','\x1b[1m','The\x20required\x20version\x20(','XcwqD','skipChromium','executablePath','vJAzo','ZMJMW','uKPUh','trCFT','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','device_auth','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','nCAsn','user','platform','force','opencode','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','CoppT','pSgLM','.gitignore','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','scope','bauUT','trackPhaseEnd','10KNaZYx','isTTY','LRbKs','532120ITrmjz','resolve','1519842ZBKKbY','vBJCh','stKBU','\x0a⚠\x20Skipping\x20Chromium\x20installation.','The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','✓\x20Created\x20.ranger/\x20directory','eVsQT','\x20\x20npx\x20playwright\x20install\x20chromium','prompt','success','message','208mLTPHq','You\x20can\x20install\x20it\x20manually\x20by\x20running:','5685208dVJVVO','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','gpNxZ','BTIGc','PtaVo','KyyQT','ETxfw'];_0x3a7c=function(){return _0xbad999;};return _0x3a7c();}export async function ensureRangerDir(){const _0x4435d2=_0x18df7c,_0x4f1f4c={'OCLwE':function(_0x3b69d7,_0x48157b){return _0x3b69d7(_0x48157b);},'TgJcb':function(_0x3faf99,_0x4b2f0f,_0xc410fb){return _0x3faf99(_0x4b2f0f,_0xc410fb);},'PtaVo':_0x4435d2(0x176)},_0x5de474=getRangerDir();return!_0x4f1f4c[_0x4435d2(0x1a2)](existsSync,_0x5de474)?(await _0x4f1f4c['TgJcb'](mkdir,_0x5de474,{'recursive':!![]}),console[_0x4435d2(0x150)](_0x4f1f4c[_0x4435d2(0x182)]),{'path':_0x5de474,'installed':!![]}):(console[_0x4435d2(0x150)]('✓\x20.ranger/\x20directory\x20already\x20exists'),{'path':_0x5de474,'installed':![]});}export async function ensureChromium(){const _0x2fffec=_0x18df7c,_0x2ded78={'YTWea':'✓\x20Playwright\x20Chromium\x20browser\x20found','XnCwC':function(_0x78b0b7){return _0x78b0b7();},'trCFT':_0x2fffec(0x18f),'Aedjv':'install','NDahU':_0x2fffec(0x175),'Ntggn':_0x2fffec(0x191),'cBWqb':_0x2fffec(0x196),'BTIGc':function(_0x2f79ac,_0x6912f7){return _0x2f79ac instanceof _0x6912f7;},'sjJMK':_0x2fffec(0x178),'IbLtX':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x4432a5=![];try{const _0x2ae4f4=chromium[_0x2fffec(0x156)]();_0x4432a5=existsSync(_0x2ae4f4);}catch{_0x4432a5=![];}if(_0x4432a5)return console[_0x2fffec(0x150)](_0x2ded78[_0x2fffec(0x1bb)]),![];const _0x3b03dc=_0x2ded78['XnCwC'](getPlaywrightVersion),_0x407eaa=process[_0x2fffec(0x1b3)][_0x2fffec(0x16d)]&&process['stdout']['isTTY'];let _0x502c74=!![];if(_0x407eaa){const {install:_0x24d096}=await _0x13ff2b['prompt']([{'type':_0x2ded78[_0x2fffec(0x15a)],'name':_0x2ded78[_0x2fffec(0x1bc)],'message':_0x3b03dc?_0x2fffec(0x153)+_0x3b03dc+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?':_0x2ded78['NDahU'],'default':!![]}]);_0x502c74=_0x24d096;}else console['log'](_0x2fffec(0x1b8)+(_0x3b03dc?'\x20'+_0x3b03dc:'')+'...');if(_0x502c74){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x3b03dc),console['log'](_0x2ded78['Ntggn']);}catch(_0x56d613){console[_0x2fffec(0x1ba)](_0x2ded78['cBWqb'],_0x2ded78[_0x2fffec(0x181)](_0x56d613,Error)?_0x56d613['message']:_0x56d613),console['log'](_0x2fffec(0x17d)),_0x3b03dc?console[_0x2fffec(0x150)](_0x2fffec(0x1b6)+_0x3b03dc+'\x20install\x20chromium'):console[_0x2fffec(0x150)](_0x2ded78['sjJMK']);}}else console['log'](_0x2fffec(0x174)),console[_0x2fffec(0x150)](_0x2ded78[_0x2fffec(0x18c)]),_0x3b03dc?console['log'](_0x2fffec(0x1b6)+_0x3b03dc+'\x20install\x20chromium'):console['log'](_0x2ded78['sjJMK']);return!![];}export async function writeRangerGitignore(_0x31aa98){const _0x539a20=_0x18df7c,_0x5b4cbd={'tMuDB':function(_0x3b021d,_0x29afad,_0x9dcd02){return _0x3b021d(_0x29afad,_0x9dcd02);},'HVrhM':_0x539a20(0x18e)},_0x19b8c1=_0x5b4cbd['tMuDB'](join,_0x31aa98,_0x539a20(0x167)),_0x240d01='\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(_0x19b8c1,_0x240d01),console[_0x539a20(0x150)](_0x5b4cbd['HVrhM']);}function printProfileSetupLaterInstructions(){const _0xc4781e=_0x18df7c,_0x5a2028={'pSgLM':'\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','dzPpW':function(_0xdb685f,_0x33dcc6){return _0xdb685f(_0x33dcc6);},'LRbKs':'ranger\x20profile\x20add\x20local','CdRjD':_0xc4781e(0x14f)};console['log'](_0x5a2028[_0xc4781e(0x166)]),console['log']('\x20\x20'+_0x5a2028[_0xc4781e(0x194)](bold,_0x5a2028[_0xc4781e(0x16e)])),console['log'](_0x5a2028[_0xc4781e(0x1a6)]);}async function ensureLocalEnv(_0x3fcc55,_0x262c52){const _0x4988d3=_0x18df7c,_0x4447f7={'mANym':_0x4988d3(0x1bf),'aeqxM':'local','CoppT':'to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','bABli':_0x4988d3(0x1a9),'sGOlm':'You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','nCAsn':'confirm','bVEjz':_0x4988d3(0x187),'ninhg':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','uKPUh':_0x4988d3(0x1b9),'ryuEk':function(_0x6ece7f,_0x4a2617){return _0x6ece7f instanceof _0x4a2617;}};if(!findGitRoot())return console['log'](_0x4447f7['mANym']),{'ready':![],'skipped':!![]};if(findExistingEnv(_0x4447f7['aeqxM'],{'locations':['local']}))return console['log']('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};const _0x408842=process[_0x4988d3(0x1b3)][_0x4988d3(0x16d)]&&process['stdout'][_0x4988d3(0x16d)];if(_0x408842&&!_0x3fcc55?.['url']){console['log'](_0x4988d3(0x1a0)),console[_0x4988d3(0x150)](_0x4447f7[_0x4988d3(0x165)]),console[_0x4988d3(0x150)](_0x4988d3(0x199)),console['log'](_0x4447f7['bABli']),console[_0x4988d3(0x150)](_0x4447f7['sGOlm']);const {wantsProfile:_0x2e85b6}=await _0x13ff2b[_0x4988d3(0x179)]([{'type':_0x4447f7[_0x4988d3(0x15f)],'name':_0x4447f7[_0x4988d3(0x1a4)],'message':_0x4447f7[_0x4988d3(0x1b1)],'default':!![]}]);if(!_0x2e85b6)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await addEnv(_0x4447f7[_0x4988d3(0x1ac)],{'url':_0x3fcc55?.['url'],'force':_0x3fcc55?.[_0x4988d3(0x162)]},_0x262c52),{'ready':!![],'skipped':![]};}catch(_0x2e4c54){return console[_0x4988d3(0x1ba)](_0x4447f7[_0x4988d3(0x159)],_0x4447f7['ryuEk'](_0x2e4c54,Error)?_0x2e4c54['message']:_0x2e4c54),printProfileSetupLaterInstructions(),{'ready':![],'skipped':![]};}}export async function start(_0x2eb262,_0x4da89d,_0x55998b){const _0x396cda=_0x18df7c,_0x213a8a={'hRtvR':'\x0a🚀\x20Ranger\x20Setup\x0a','eVsQT':_0x396cda(0x164),'xUWUY':'user','WAEzd':'git_check','VuRAQ':'No\x20git\x20repository\x20found','bxsCP':function(_0x16e657){return _0x16e657();},'soPtp':'auth','JNbhr':'plugin','AgNhl':'skills','ygiTg':function(_0x26ccf5,_0x4dfdda,_0x231f8c){return _0x26ccf5(_0x4dfdda,_0x231f8c);},'fWUTy':'ranger','ETxfw':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','vBJCh':function(_0x3f3284,_0x1b1ad4){return _0x3f3284 instanceof _0x1b1ad4;},'stKBU':function(_0x4c8141,_0x1d62b3){return _0x4c8141(_0x1d62b3);},'XcwqD':function(_0x174cba,_0x114191,_0x12e9a3){return _0x174cba(_0x114191,_0x12e9a3);},'NOqhk':'profile','tcAFv':_0x396cda(0x17f),'wfJpi':function(_0x4ea2b7,_0x4b4cd6){return _0x4ea2b7(_0x4b4cd6);},'iPvdL':function(_0xf1f3ff,_0x1dbc5f){return _0xf1f3ff+_0x1dbc5f;},'vJAzo':function(_0x390c16,_0x21fd02){return _0x390c16+_0x21fd02;},'bauUT':function(_0x3fb6a9,_0x7b16ef){return _0x3fb6a9+_0x7b16ef;}};console['log'](_0x213a8a['hRtvR']);const _0x1546a4=process['stdin'][_0x396cda(0x16d)]&&process[_0x396cda(0x186)]['isTTY'];!_0x1546a4&&!_0x4da89d?.[_0x396cda(0x169)]&&(console['log'](_0x213a8a[_0x396cda(0x177)]),_0x4da89d={..._0x4da89d,'scope':_0x213a8a['xUWUY']});_0x55998b?.[_0x396cda(0x1a1)](_0x213a8a[_0x396cda(0x1be)]);if(!findGitRoot()){await _0x55998b?.['trackPhaseError'](_0x213a8a[_0x396cda(0x1be)],new Error(_0x213a8a['VuRAQ']));throw new Error(_0x396cda(0x15e));}_0x55998b?.[_0x396cda(0x16b)](_0x213a8a['WAEzd']);const _0x9d5c29=!existsSync(_0x213a8a['bxsCP'](getRangerDir)),{path:_0x5a9783}=await _0x213a8a['bxsCP'](ensureRangerDir);_0x55998b?.['trackPhaseStart'](_0x213a8a['soPtp']);const _0x436f5b=await authenticate(_0x2eb262);_0x55998b?.['trackPhaseEnd'](_0x213a8a[_0x396cda(0x1af)],{'isFirstRun':_0x9d5c29,'method':_0x436f5b['method']}),_0x55998b?.[_0x396cda(0x1a1)](_0x396cda(0x1ae));_0x4da89d?.[_0x396cda(0x155)]?console[_0x396cda(0x150)](_0x396cda(0x185)):await ensureChromium();_0x55998b?.['trackPhaseEnd'](_0x396cda(0x1ae),{'isFirstRun':_0x9d5c29,'skipped':!!_0x4da89d?.['skipChromium']}),await writeRangerGitignore(_0x5a9783),console[_0x396cda(0x150)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x31228e=_0x4da89d?.['scope'],_0x34fb8f=_0x4da89d?.[_0x396cda(0x163)]??![];let _0x3bb58a=null;_0x34fb8f?(_0x55998b?.[_0x396cda(0x1a1)](_0x396cda(0x1b4)),_0x3bb58a=await ensureOpencodePluginConfig(_0x31228e),_0x55998b?.['trackPhaseEnd'](_0x396cda(0x1b4),{'isFirstRun':_0x9d5c29,'opencode':!![]})):(_0x55998b?.[_0x396cda(0x1a1)](_0x213a8a['JNbhr']),await ensureClaudePlugin(_0x31228e),_0x55998b?.[_0x396cda(0x16b)]('plugin',{'isFirstRun':_0x9d5c29}));if(_0x34fb8f&&_0x3bb58a){_0x55998b?.[_0x396cda(0x1a1)](_0x213a8a[_0x396cda(0x1ad)]);try{await _0x213a8a[_0x396cda(0x1bd)](installSkill,_0x213a8a['fWUTy'],{'level':_0x3bb58a['scope'],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x55998b?.[_0x396cda(0x16b)](_0x213a8a['AgNhl'],{'isFirstRun':_0x9d5c29,'opencode':!![]});}catch(_0x2cc03c){console['warn'](_0x213a8a[_0x396cda(0x184)],_0x213a8a[_0x396cda(0x172)](_0x2cc03c,Error)?_0x2cc03c[_0x396cda(0x17b)]:_0x2cc03c),_0x55998b?.[_0x396cda(0x16b)](_0x213a8a['AgNhl'],{'isFirstRun':_0x9d5c29,'opencode':!![],'failed':!![]});}}else _0x55998b?.[_0x396cda(0x1a1)](_0x213a8a[_0x396cda(0x1ad)]),await _0x213a8a[_0x396cda(0x173)](ensureClaudeSkills,_0x31228e),_0x55998b?.[_0x396cda(0x16b)](_0x213a8a['AgNhl'],{'isFirstRun':_0x9d5c29});const _0x1f4aaf=findGitRoot();if(_0x1f4aaf){const _0x42954e=_0x213a8a[_0x396cda(0x154)](join,_0x1f4aaf,'.ranger');!existsSync(_0x42954e)&&await mkdir(_0x42954e,{'recursive':!![]});}if(!_0x1546a4&&!_0x4da89d?.[_0x396cda(0x19a)])console['log']('Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:'),console[_0x396cda(0x150)]('\x20\x20'+_0x213a8a['stKBU'](bold,'ranger\x20profile\x20add\x20local')+'\x0a');else{_0x55998b?.[_0x396cda(0x1a1)](_0x396cda(0x151));const _0x40da5f=await ensureLocalEnv({'url':_0x4da89d?.['url'],'force':_0x4da89d?.['force']},_0x55998b);_0x55998b?.['trackPhaseEnd'](_0x213a8a['NOqhk'],{'isFirstRun':_0x9d5c29,'profileReady':_0x40da5f['ready'],'userSkipped':_0x40da5f[_0x396cda(0x190)]}),_0x40da5f['ready']&&console['log']('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}if(_0x34fb8f)console[_0x396cda(0x150)](_0x396cda(0x15d)),console[_0x396cda(0x150)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x396cda(0x150)](_0x396cda(0x18b)),console['log'](_0x213a8a[_0x396cda(0x1ab)]);else{const _0x9a79df=_0x213a8a['wfJpi'](bold,'/ranger:enable');console['log'](_0x213a8a[_0x396cda(0x19e)](_0x213a8a[_0x396cda(0x157)](_0x213a8a[_0x396cda(0x16a)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x9a79df+'\x20and\x20prompt\x20the\x20coding',_0x396cda(0x15b)),_0x396cda(0x1aa)),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
1
+ (function(_0x2cd5af,_0x24be13){const _0x8c677f=_0x3183,_0x563f94=_0x2cd5af();while(!![]){try{const _0x1ca228=parseInt(_0x8c677f(0x20c))/0x1+-parseInt(_0x8c677f(0x242))/0x2*(-parseInt(_0x8c677f(0x1f9))/0x3)+-parseInt(_0x8c677f(0x202))/0x4+parseInt(_0x8c677f(0x247))/0x5*(parseInt(_0x8c677f(0x23f))/0x6)+-parseInt(_0x8c677f(0x225))/0x7*(-parseInt(_0x8c677f(0x1de))/0x8)+parseInt(_0x8c677f(0x23a))/0x9+parseInt(_0x8c677f(0x211))/0xa*(-parseInt(_0x8c677f(0x249))/0xb);if(_0x1ca228===_0x24be13)break;else _0x563f94['push'](_0x563f94['shift']());}catch(_0x21d77d){_0x563f94['push'](_0x563f94['shift']());}}}(_0x1915,0x5a47e));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x3810f3 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';function _0x3183(_0x46eb96,_0x5eb1c9){_0x46eb96=_0x46eb96-0x1d8;const _0x191525=_0x1915();let _0x318356=_0x191525[_0x46eb96];return _0x318356;}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=_0x4088c0=>'\x1b[1m'+_0x4088c0+'\x1b[0m';function getPlaywrightVersion(){const _0x43357f=_0x3183,_0x3f7980={'rsclM':_0x43357f(0x217),'TGbrg':function(_0x4a6e48,_0x5bdb48){return _0x4a6e48(_0x5bdb48);}};try{const _0x43708d=require[_0x43357f(0x1dc)](_0x3f7980['rsclM']),_0x28ef43=_0x3f7980['TGbrg'](require,_0x43708d);return _0x28ef43[_0x43357f(0x1f0)];}catch{return null;}}function installChromiumBinary(_0x72c984){const _0x26aaf5=_0x3183,_0x43dd0a={'TloqV':function(_0x348052,_0x58450f){return _0x348052===_0x58450f;},'hJwkg':function(_0x10712b){return _0x10712b();},'snEur':'chromium','cWJOm':_0x26aaf5(0x210),'olGgd':'install','UaINi':function(_0x5aff1e,_0x4d9848,_0x32eac1,_0x4e8272){return _0x5aff1e(_0x4d9848,_0x32eac1,_0x4e8272);},'zhuKr':_0x26aaf5(0x20f),'bvVIZ':_0x26aaf5(0x23b),'YGdNj':_0x26aaf5(0x230)};return new Promise((_0x5522e2,_0x55d299)=>{const _0x207a6b=_0x26aaf5,_0x383b0c=_0x72c984?[_0x207a6b(0x23e)+_0x72c984,_0x207a6b(0x20a),_0x43dd0a['snEur']]:[_0x43dd0a['cWJOm'],_0x43dd0a[_0x207a6b(0x245)],_0x43dd0a[_0x207a6b(0x1ec)]],_0x390f8c=_0x43dd0a['UaINi'](spawn,_0x207a6b(0x22c),_0x383b0c,{'stdio':'inherit','shell':process[_0x207a6b(0x1da)]===_0x43dd0a[_0x207a6b(0x213)]});_0x390f8c['on'](_0x43dd0a['bvVIZ'],_0xf3a09=>{const _0x307ad7=_0x207a6b;_0x43dd0a['TloqV'](_0xf3a09,0x0)?_0x43dd0a['hJwkg'](_0x5522e2):_0x55d299(new Error(_0x307ad7(0x23d)+_0xf3a09));}),_0x390f8c['on'](_0x43dd0a['YGdNj'],_0x4c9c9c=>{_0x55d299(_0x4c9c9c);});});}export async function authenticate(_0x3c61b1){const _0x24b4e2=_0x3183,_0x2f9b36={'EGMPG':function(_0x348aff,_0x1c08c9){return _0x348aff(_0x1c08c9);},'SUWlM':'existing_token','aTpkh':function(_0x1468c8,_0x1a82bc){return _0x1468c8 instanceof _0x1a82bc;},'eCaSR':_0x24b4e2(0x1f1),'WxNOS':function(_0x1a27b0,_0x2639e6){return _0x1a27b0(_0x2639e6);},'VnpFf':'✓\x20Stored\x20credentials\x20locally','rZJIR':_0x24b4e2(0x241)};if(!_0x3c61b1){const _0x98ca31=await getToken();if(_0x98ca31){const _0x1bfed9=await _0x2f9b36[_0x24b4e2(0x1f6)](getCurrentUser,_0x98ca31);if(_0x1bfed9[_0x24b4e2(0x20e)])return console['log'](_0x24b4e2(0x1f8)+_0x1bfed9['user']['organizationName']),{'token':_0x98ca31,'method':_0x2f9b36[_0x24b4e2(0x229)]};}try{_0x3c61b1=await runDeviceAuthFlow();}catch(_0x5b09e0){throw new Error(_0x24b4e2(0x212)+(_0x2f9b36[_0x24b4e2(0x22f)](_0x5b09e0,Error)?_0x5b09e0['message']:_0x5b09e0));}const _0x3350e3=await getCurrentUser(_0x3c61b1);if(!_0x3350e3[_0x24b4e2(0x20e)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x3350e3[_0x24b4e2(0x230)]);return console[_0x24b4e2(0x22d)](_0x24b4e2(0x1ef)+_0x3350e3['user']['organizationName']),{'token':_0x3c61b1,'method':'device_auth'};}console[_0x24b4e2(0x22d)](_0x2f9b36['eCaSR']);const _0x43ae79=await _0x2f9b36['WxNOS'](getCurrentUser,_0x3c61b1);if(!_0x43ae79['success']){if(_0x43ae79[_0x24b4e2(0x235)])throw new Error('Authentication\x20failed:\x20'+_0x43ae79[_0x24b4e2(0x230)]+_0x24b4e2(0x1ea));else throw new Error(_0x24b4e2(0x22b)+_0x43ae79['error']+_0x24b4e2(0x222));}return console['log']('✓\x20Authenticated\x20to\x20'+_0x43ae79[_0x24b4e2(0x1e6)][_0x24b4e2(0x1e5)]),await _0x2f9b36[_0x24b4e2(0x1f6)](storeToken,_0x3c61b1),console['log'](process[_0x24b4e2(0x236)][_0x24b4e2(0x204)]?_0x24b4e2(0x1fd):_0x2f9b36['VnpFf']),{'token':_0x3c61b1,'method':_0x2f9b36['rZJIR']};}export async function ensureRangerDir(){const _0x4d78e2=_0x3183,_0x585912={'peWWZ':function(_0x12eac5){return _0x12eac5();},'AlfTS':function(_0x4ba613,_0x1b3bb3,_0x281c14){return _0x4ba613(_0x1b3bb3,_0x281c14);},'IAbzH':'.ranger','NOyKT':function(_0x21d492){return _0x21d492();},'TaoZk':'✓\x20.ranger/\x20directory\x20already\x20exists'},_0x11ea06=_0x585912['peWWZ'](findGitRoot),_0x1f21c6=_0x11ea06?_0x585912[_0x4d78e2(0x1f4)](join,_0x11ea06,_0x585912['IAbzH']):_0x585912['NOyKT'](getRangerDir);return!existsSync(_0x1f21c6)?(await mkdir(_0x1f21c6,{'recursive':!![]}),console[_0x4d78e2(0x22d)](_0x4d78e2(0x21b)),{'path':_0x1f21c6,'installed':!![]}):(console['log'](_0x585912['TaoZk']),{'path':_0x1f21c6,'installed':![]});}export async function ensureChromium(){const _0x24c44a=_0x3183,_0x5762a7={'bLhDp':'✓\x20Playwright\x20Chromium\x20browser\x20found','RzvnG':'confirm','TbDvu':'install','zKNnt':_0x24c44a(0x1fa),'WTELj':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','prnHe':function(_0x3f1157,_0x5b64b8){return _0x3f1157 instanceof _0x5b64b8;},'MBxdr':_0x24c44a(0x205),'KwJyM':'\x20\x20npx\x20playwright\x20install\x20chromium','NWyRW':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x1055ca=![];try{const _0x232adb=chromium[_0x24c44a(0x1e1)]();_0x1055ca=existsSync(_0x232adb);}catch{_0x1055ca=![];}if(_0x1055ca)return console['log'](_0x5762a7['bLhDp']),![];const _0x6f7002=getPlaywrightVersion(),_0x5a2711=process['stdin'][_0x24c44a(0x240)]&&process[_0x24c44a(0x1e4)][_0x24c44a(0x240)];let _0x5ada7e=!![];if(_0x5a2711){const {install:_0x2a7cbb}=await _0x3810f3[_0x24c44a(0x1e9)]([{'type':_0x5762a7['RzvnG'],'name':_0x5762a7['TbDvu'],'message':_0x6f7002?'The\x20required\x20version\x20('+_0x6f7002+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?':_0x5762a7[_0x24c44a(0x1f3)],'default':!![]}]);_0x5ada7e=_0x2a7cbb;}else console[_0x24c44a(0x22d)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium'+(_0x6f7002?'\x20'+_0x6f7002:'')+'...');if(_0x5ada7e){console[_0x24c44a(0x22d)](_0x24c44a(0x22a));try{await installChromiumBinary(_0x6f7002),console['log']('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x3e9a64){console['error'](_0x5762a7[_0x24c44a(0x226)],_0x5762a7[_0x24c44a(0x228)](_0x3e9a64,Error)?_0x3e9a64['message']:_0x3e9a64),console[_0x24c44a(0x22d)](_0x5762a7['MBxdr']),_0x6f7002?console[_0x24c44a(0x22d)](_0x24c44a(0x24a)+_0x6f7002+'\x20install\x20chromium'):console[_0x24c44a(0x22d)](_0x5762a7[_0x24c44a(0x1f5)]);}}else console[_0x24c44a(0x22d)]('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console['log'](_0x5762a7['NWyRW']),_0x6f7002?console['log'](_0x24c44a(0x24a)+_0x6f7002+'\x20install\x20chromium'):console['log'](_0x5762a7[_0x24c44a(0x1f5)]);return!![];}export async function writeRangerGitignore(_0x2cc3cb){const _0x4e09a4=_0x3183,_0x256f68={'XIZPj':'✓\x20Created\x20.ranger/.gitignore'},_0x1bfd37=join(_0x2cc3cb,'.gitignore'),_0x1e7a2f='\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(_0x1bfd37,_0x1e7a2f),console[_0x4e09a4(0x22d)](_0x256f68[_0x4e09a4(0x1ee)]);}function _0x1915(){const _0x20033c=['force','GITHUB_ENV','You\x20can\x20install\x20it\x20manually\x20by\x20running:','BZXne','url','JqGRd','FiBhL','install','ivJMS','642495WpNNNW','mTwWn','success','win32','playwright','88090wfhZaW','Authentication\x20failed:\x20','zhuKr','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','skipChromium','plugin','playwright/package.json','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','ranger\x20profile\x20add\x20local','✓\x20Created\x20.ranger/\x20directory','maXio','diDFr','use\x20until\x20the\x20session\x20expires.\x0a','kDHAI','stdin','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','bbXJv','Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','15729ccwVkV','WTELj','\x0a❌\x20Profile\x20setup\x20failed:','prnHe','SUWlM','\x0aInstalling\x20Chromium\x20browser...\x0a','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','npx','log','scope','aTpkh','error','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','trackPhaseStart','KKgwM','method','status','env','warn','message','ghGSS','6029487kqrBXw','close','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','Installation\x20failed\x20with\x20exit\x20code\x20','playwright@','126KCarRu','isTTY','provided_token','544cELMlr','XdMBu','No\x20git\x20repository\x20found','olGgd','CNwkA','91550iaBRpw','local','1529aSEqHK','\x20\x20npx\x20playwright@','BFmRf','trackPhaseEnd','skills','platform','oxRZm','resolve','PrpqI','472kQFsOw','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','XuhAw','executablePath','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','UlLHs','stdout','organizationName','user','confirm','Nzvtf','prompt','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','honzH','snEur','trackPhaseError','XIZPj','✓\x20Authenticated\x20to\x20','version','Validating\x20API\x20token...','chromium','zKNnt','AlfTS','KwJyM','EGMPG','skipped','✓\x20Already\x20authenticated\x20to\x20','3468xxhBgH','The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','bhfzd','nzFdW','✓\x20Exported\x20credentials\x20for\x20CI','WoOPl','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','ranger','kUUJO','2198848mBIFFX'];_0x1915=function(){return _0x20033c;};return _0x1915();}function printProfileSetupLaterInstructions(){const _0x1a966e=_0x3183,_0x65697a={'VKdIa':'\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','WoOPl':function(_0x4cf52f,_0x2ea96d){return _0x4cf52f(_0x2ea96d);},'kDHAI':_0x1a966e(0x21a),'alKPm':_0x1a966e(0x214)};console['log'](_0x65697a['VKdIa']),console['log']('\x20\x20'+_0x65697a[_0x1a966e(0x1fe)](bold,_0x65697a[_0x1a966e(0x21f)])),console[_0x1a966e(0x22d)](_0x65697a['alKPm']);}async function ensureLocalEnv(_0x155701,_0x5f23ab){const _0x61b9d5=_0x3183,_0x582f3d={'diDFr':'⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','ghGSS':function(_0x992ca3,_0x595f0f,_0x4be9e9){return _0x992ca3(_0x595f0f,_0x4be9e9);},'CrwyK':'✓\x20Local\x20profile\x20already\x20exists','mRsDp':_0x61b9d5(0x1e2),'kUUJO':_0x61b9d5(0x1e7),'bhfzd':_0x61b9d5(0x224),'kbsmq':function(_0x1b23a9,_0x4a02a4,_0x4906dd,_0x1076d9){return _0x1b23a9(_0x4a02a4,_0x4906dd,_0x1076d9);},'XuhAw':function(_0x212a10,_0x34fa5e){return _0x212a10 instanceof _0x34fa5e;},'diXYo':function(_0x5d457b){return _0x5d457b();}};if(!findGitRoot())return console[_0x61b9d5(0x22d)](_0x582f3d[_0x61b9d5(0x21d)]),{'ready':![],'skipped':!![]};if(_0x582f3d[_0x61b9d5(0x239)](findExistingEnv,_0x61b9d5(0x248),{'locations':['local']}))return console['log'](_0x582f3d['CrwyK']),{'ready':!![],'skipped':![]};const _0x12edee=process['stdin']['isTTY']&&process[_0x61b9d5(0x1e4)][_0x61b9d5(0x240)];if(_0x12edee&&!_0x155701?.['url']){console[_0x61b9d5(0x22d)]('\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how'),console['log']('to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind'),console['log'](_0x582f3d['mRsDp']),console[_0x61b9d5(0x22d)](_0x61b9d5(0x21e)),console[_0x61b9d5(0x22d)]('You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.');const {wantsProfile:_0x4933ea}=await _0x3810f3['prompt']([{'type':_0x582f3d[_0x61b9d5(0x201)],'name':'wantsProfile','message':_0x582f3d[_0x61b9d5(0x1fb)],'default':!![]}]);if(!_0x4933ea)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await _0x582f3d['kbsmq'](addEnv,_0x61b9d5(0x248),{'url':_0x155701?.[_0x61b9d5(0x207)],'force':_0x155701?.[_0x61b9d5(0x203)]},_0x5f23ab),{'ready':!![],'skipped':![]};}catch(_0x2cbe39){return console['error'](_0x61b9d5(0x227),_0x582f3d[_0x61b9d5(0x1e0)](_0x2cbe39,Error)?_0x2cbe39['message']:_0x2cbe39),_0x582f3d['diXYo'](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x54a2c0,_0x2af1c6,_0x27449a){const _0xcd18ea=_0x3183,_0xf41d16={'CNwkA':'git_check','ivJMS':_0xcd18ea(0x244),'PrpqI':_0xcd18ea(0x219),'BZXne':function(_0x3bf599){return _0x3bf599();},'nzFdW':'auth','KKgwM':_0xcd18ea(0x1f2),'Jizhj':_0xcd18ea(0x221),'BFmRf':function(_0x2ae2d6,_0x1658b3){return _0x2ae2d6(_0x1658b3);},'XcSOj':function(_0x2452d6,_0x9a9d7a){return _0x2452d6(_0x9a9d7a);},'oxRZm':_0xcd18ea(0x216),'FiBhL':'skills','XdMBu':_0xcd18ea(0x200),'kMrEl':'opencode','maXio':function(_0xa0d3b1,_0x13f71f){return _0xa0d3b1(_0x13f71f);},'KgZKS':'Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','JqGRd':function(_0x4b4a7c,_0x1d6861){return _0x4b4a7c(_0x1d6861);},'mTwWn':'profile','UlLHs':function(_0x1af596,_0xe6a21f,_0x3562de){return _0x1af596(_0xe6a21f,_0x3562de);},'tVBrI':_0xcd18ea(0x23c),'Nzvtf':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','honzH':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','VEdqM':function(_0x18af9e,_0x3683c0){return _0x18af9e(_0x3683c0);},'bbXJv':function(_0xf9f8a4,_0x423c72){return _0xf9f8a4+_0x423c72;}};console['log']('\x0a🚀\x20Ranger\x20Setup\x0a');const _0xda3353=process[_0xcd18ea(0x220)][_0xcd18ea(0x240)]&&process[_0xcd18ea(0x1e4)]['isTTY'];!_0xda3353&&!_0x2af1c6?.[_0xcd18ea(0x22e)]&&(console[_0xcd18ea(0x22d)]('Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.'),_0x2af1c6={..._0x2af1c6,'scope':'user'});_0x27449a?.['trackPhaseStart'](_0xf41d16['CNwkA']);if(!findGitRoot()){await _0x27449a?.[_0xcd18ea(0x1ed)](_0xf41d16[_0xcd18ea(0x246)],new Error(_0xf41d16[_0xcd18ea(0x20b)]));throw new Error(_0xf41d16[_0xcd18ea(0x1dd)]);}_0x27449a?.[_0xcd18ea(0x1d8)](_0xf41d16[_0xcd18ea(0x246)]);const _0xdbf3c2=!existsSync(_0xf41d16[_0xcd18ea(0x206)](getRangerDir)),{path:_0x4172c8}=await ensureRangerDir();_0x27449a?.['trackPhaseStart']('auth');const _0x3f83fc=await authenticate(_0x54a2c0);_0x27449a?.[_0xcd18ea(0x1d8)](_0xf41d16[_0xcd18ea(0x1fc)],{'isFirstRun':_0xdbf3c2,'method':_0x3f83fc[_0xcd18ea(0x234)]}),_0x27449a?.['trackPhaseStart'](_0xf41d16[_0xcd18ea(0x233)]);_0x2af1c6?.[_0xcd18ea(0x215)]?console['log'](_0xf41d16['Jizhj']):await _0xf41d16[_0xcd18ea(0x206)](ensureChromium);_0x27449a?.[_0xcd18ea(0x1d8)](_0xcd18ea(0x1f2),{'isFirstRun':_0xdbf3c2,'skipped':!!_0x2af1c6?.['skipChromium']}),await _0xf41d16['BFmRf'](writeRangerGitignore,_0x4172c8),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x39cca5=_0x2af1c6?.['scope'],_0x1df1db=_0x2af1c6?.['opencode']??![];let _0x4d8c18=null;_0x1df1db?(_0x27449a?.[_0xcd18ea(0x232)]('plugin'),_0x4d8c18=await _0xf41d16['XcSOj'](ensureOpencodePluginConfig,_0x39cca5),_0x27449a?.['trackPhaseEnd']('plugin',{'isFirstRun':_0xdbf3c2,'opencode':!![]})):(_0x27449a?.['trackPhaseStart'](_0xf41d16[_0xcd18ea(0x1db)]),await _0xf41d16[_0xcd18ea(0x24b)](ensureClaudePlugin,_0x39cca5),_0x27449a?.['trackPhaseEnd'](_0xcd18ea(0x216),{'isFirstRun':_0xdbf3c2}));if(_0x1df1db&&_0x4d8c18){_0x27449a?.[_0xcd18ea(0x232)](_0xf41d16[_0xcd18ea(0x209)]);try{await installSkill(_0xf41d16[_0xcd18ea(0x243)],{'level':_0x4d8c18[_0xcd18ea(0x22e)],'cliVersion':_0xf41d16['BZXne'](getCurrentVersion),'platform':_0xf41d16['kMrEl']}),_0x27449a?.['trackPhaseEnd'](_0xf41d16['FiBhL'],{'isFirstRun':_0xdbf3c2,'opencode':!![]});}catch(_0x3338be){console[_0xcd18ea(0x237)](_0xcd18ea(0x231),_0x3338be instanceof Error?_0x3338be[_0xcd18ea(0x238)]:_0x3338be),_0x27449a?.[_0xcd18ea(0x1d8)](_0xf41d16['FiBhL'],{'isFirstRun':_0xdbf3c2,'opencode':!![],'failed':!![]});}}else _0x27449a?.['trackPhaseStart'](_0xcd18ea(0x1d9)),await _0xf41d16[_0xcd18ea(0x21c)](ensureClaudeSkills,_0x39cca5),_0x27449a?.[_0xcd18ea(0x1d8)](_0xf41d16[_0xcd18ea(0x209)],{'isFirstRun':_0xdbf3c2});if(!_0xda3353&&!_0x2af1c6?.[_0xcd18ea(0x207)])console[_0xcd18ea(0x22d)](_0xf41d16['KgZKS']),console[_0xcd18ea(0x22d)]('\x20\x20'+_0xf41d16[_0xcd18ea(0x208)](bold,_0xcd18ea(0x21a))+'\x0a');else{_0x27449a?.['trackPhaseStart'](_0xf41d16[_0xcd18ea(0x20d)]);const _0x2152d6=await _0xf41d16[_0xcd18ea(0x1e3)](ensureLocalEnv,{'url':_0x2af1c6?.['url'],'force':_0x2af1c6?.[_0xcd18ea(0x203)]},_0x27449a);_0x27449a?.[_0xcd18ea(0x1d8)](_0xf41d16[_0xcd18ea(0x20d)],{'isFirstRun':_0xdbf3c2,'profileReady':_0x2152d6['ready'],'userSkipped':_0x2152d6[_0xcd18ea(0x1f7)]}),_0x2152d6['ready']&&console['log']('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}if(_0x1df1db)console[_0xcd18ea(0x22d)](_0xcd18ea(0x1df)),console[_0xcd18ea(0x22d)](_0xf41d16['tVBrI']),console[_0xcd18ea(0x22d)](_0xf41d16[_0xcd18ea(0x1e8)]),console[_0xcd18ea(0x22d)](_0xf41d16[_0xcd18ea(0x1eb)]);else{const _0x5eda96=_0xf41d16['VEdqM'](bold,'/ranger:enable');console[_0xcd18ea(0x22d)](_0xf41d16[_0xcd18ea(0x223)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x5eda96+'\x20and\x20prompt\x20the\x20coding'+_0xcd18ea(0x218),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser')+_0xcd18ea(0x1ff));}}
@@ -1 +1 @@
1
- (function(_0x34bf06,_0xfa58fa){const _0x53931e=_0x4822,_0x7bc515=_0x34bf06();while(!![]){try{const _0x31bf08=parseInt(_0x53931e(0x12f))/0x1+-parseInt(_0x53931e(0x112))/0x2*(-parseInt(_0x53931e(0x154))/0x3)+-parseInt(_0x53931e(0x104))/0x4+-parseInt(_0x53931e(0x127))/0x5*(-parseInt(_0x53931e(0x113))/0x6)+parseInt(_0x53931e(0x121))/0x7+parseInt(_0x53931e(0x132))/0x8+-parseInt(_0x53931e(0x138))/0x9;if(_0x31bf08===_0xfa58fa)break;else _0x7bc515['push'](_0x7bc515['shift']());}catch(_0x7be1c5){_0x7bc515['push'](_0x7bc515['shift']());}}}(_0x5d9f,0x6e38a));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';function _0x5d9f(){const _0x1d7407=['includes','(not\x20found)','\x20\x20Project-level:','auth.json','data','dnXBZ','isDirectory','lIrOU','enabled','Root:\x20','uoyuN','\x20plugin(s)\x20configured','kkecZ','GPMzA','\x20\x20Not\x20installed','plaintext','some','36PkOCPJ','UKEXF','details','\x20\x20Run:\x20ranger\x20update','oPDhY','configured','fiTgX','none','ZnrBQ','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','not_installed','status','\x20\x20Run:\x20ranger\x20setup\x20[token]','log','trim','@ranger-testing/opencode-plugin','\x20\x20User-level:','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','\x20\x20Run:\x20ranger\x20setup\x20--opencode','2114216poSazL','settings.json','isActive','UPQaj',':\x20installed\x20(','ECnVd','AmvjS','ignore','encrypted','pipe','YhTOL','YNBSb','pSmLd','No\x20skills\x20installed','137114tTzqOv','78aMspwK','plugin','hasEncryptedAuth','cgjBJ','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','lzPBa','EnnLM','\x20\x20\x20\x20','config','Tagkx','path','KPNeu','\x0a📊\x20Ranger\x20Status\x0a','Version:\x20','6041938tEGMSj','FXVkd','match','ftnFX','API\x20Environment:\x20','gpHuD','290165WYHSDY','\x20\x20Not\x20configured','SKILL.md','DmsPw','aqaFp','settingsPath','project','TZTMO','791353eBPIMf','yUOdC','length','3675752XLmTjN','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','iTdPn','not_configured','organizationName','name','24399441bSMEFD','\x0a---\x20Skills\x20---','grBnr','user','ONkmk','push','oGOMP','success','parse','toString','ranger@trailhead'];_0x5d9f=function(){return _0x1d7407;};return _0x5d9f();}function _0x4822(_0x300a45,_0x3609b5){_0x300a45=_0x300a45-0xf7;const _0x5d9f01=_0x5d9f();let _0x48221d=_0x5d9f01[_0x300a45];return _0x48221d;}const bold=_0xe26369=>'\x1b[1m'+_0xe26369+'\x1b[0m',link=(_0x3eaa93,_0x5d9ce1)=>'\x1b]8;;file://'+_0x3eaa93+'\x07'+(_0x5d9ce1||_0x3eaa93)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x4925e4=_0x4822,_0x5de4c5={'EQVoV':function(_0x54fb49,_0x407d98){return _0x54fb49!==_0x407d98;},'EnnLM':function(_0x5974fc,_0x2403ef){return _0x5974fc(_0x2403ef);},'cgjBJ':function(_0x2050cf,_0x1c7c66){return _0x2050cf>_0x1c7c66;},'kkecZ':function(_0x44a492,_0xb8ceb8){return _0x44a492(_0xb8ceb8);},'fiTgX':'not_configured','wdBPW':'opencode','LHnbh':_0x4925e4(0x10d),'AmvjS':_0x4925e4(0x147),'dUMMm':'close'};return new Promise(_0x24d58b=>{const _0x3d7237=_0x4925e4,_0x21c84a={'gpHuD':function(_0x12aa12,_0x36cfc0){return _0x12aa12!==_0x36cfc0;},'UPQaj':'@ranger-testing/opencode-plugin','DvqwN':'opencode-plugin'},_0x32d7c2=spawn(_0x5de4c5['wdBPW'],['debug',_0x3d7237(0x11b)],{'stdio':[_0x3d7237(0x10b),_0x5de4c5['LHnbh'],_0x3d7237(0x10d)]});let _0x2a5cdb='';_0x32d7c2['stdout']?.['on'](_0x5de4c5[_0x3d7237(0x10a)],_0x2ea911=>{_0x2a5cdb+=_0x2ea911['toString']();}),_0x32d7c2['stderr']?.['on']('data',_0x157ac5=>{const _0x168840=_0x3d7237;_0x2a5cdb+=_0x157ac5[_0x168840(0x141)]();}),_0x32d7c2['on']('error',()=>{const _0x428136=_0x3d7237;_0x24d58b({'status':_0x428136(0xfb)});}),_0x32d7c2['on'](_0x5de4c5['dUMMm'],_0x3dd8cb=>{const _0x88a01=_0x3d7237;if(_0x5de4c5['EQVoV'](_0x3dd8cb,0x0)){_0x5de4c5['EnnLM'](_0x24d58b,{'status':'not_installed'});return;}const _0x3f84e9=_0x2a5cdb[_0x88a01(0xff)]();let _0x32d568=null;if(_0x3f84e9)try{_0x32d568=JSON['parse'](_0x3f84e9);}catch{const _0x4303b3=_0x3f84e9['match'](/\{[\s\S]*\}$/);if(_0x4303b3)try{_0x32d568=JSON[_0x88a01(0x140)](_0x4303b3[0x0]);}catch{_0x32d568=null;}}const _0x45dc43=Array['isArray'](_0x32d568?.[_0x88a01(0x114)])?_0x32d568?.['plugin']:[],_0x31ae29=_0x45dc43[_0x88a01(0x153)](_0x33a188=>{const _0x1118ac=_0x88a01;if(_0x21c84a[_0x1118ac(0x126)](typeof _0x33a188,'string'))return![];return _0x33a188[_0x1118ac(0x143)](_0x21c84a[_0x1118ac(0x107)])||_0x33a188['includes'](_0x21c84a['DvqwN']);});if(_0x31ae29){_0x5de4c5[_0x88a01(0x119)](_0x24d58b,{'status':_0x88a01(0x159),'details':_0x5de4c5[_0x88a01(0x116)](_0x45dc43['length'],0x0)?_0x45dc43[_0x88a01(0x131)]+_0x88a01(0x14e):undefined});return;}if(_0x45dc43['length']>0x0){_0x24d58b({'status':_0x88a01(0x135),'details':_0x45dc43[_0x88a01(0x131)]+'\x20plugin(s)\x20configured'});return;}_0x5de4c5[_0x88a01(0x14f)](_0x24d58b,{'status':_0x5de4c5[_0x88a01(0xf7)]});});});}async function getSkillsFromDir(_0x2db38d,_0x3d5652){const _0x43f5c0=_0x4822,_0x2d15db={'ZnrBQ':function(_0x39153e,_0x2698f7){return _0x39153e(_0x2698f7);}};if(!_0x2d15db[_0x43f5c0(0xf9)](existsSync,_0x2db38d))return[];const _0x285828=[];try{const _0x267c5c=await readdir(_0x2db38d,{'withFileTypes':!![]});for(const _0x3efed2 of _0x267c5c){if(_0x3efed2[_0x43f5c0(0x149)]()){const _0x40d5ee=join(_0x2db38d,_0x3efed2[_0x43f5c0(0x137)],_0x43f5c0(0x129));if(existsSync(_0x40d5ee)){let _0x44e2b1=_0x3efed2[_0x43f5c0(0x137)];try{const _0x4ee5e4=await readFile(_0x40d5ee,'utf-8'),_0x11a51e=_0x4ee5e4[_0x43f5c0(0x123)](/name:\s*(.+)/);_0x11a51e&&(_0x44e2b1=_0x11a51e[0x1][_0x43f5c0(0xff)]());}catch{}_0x285828[_0x43f5c0(0x13d)]({'name':_0x3efed2[_0x43f5c0(0x137)],'displayName':_0x44e2b1,'path':_0x40d5ee,'level':_0x3d5652});}}}}catch{return[];}return _0x285828;}async function getInstalledSkills(){const _0x2acfb0=_0x4822,_0x5ab273={'lzPBa':function(_0x1ff9b6,_0x536de4,_0x254d27){return _0x1ff9b6(_0x536de4,_0x254d27);},'pSmLd':'user'},[_0xfb38bf,_0x3dd441]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),_0x2acfb0(0x12d)),_0x5ab273[_0x2acfb0(0x118)](getSkillsFromDir,getUserSkillsDir(),_0x5ab273[_0x2acfb0(0x110)])]);return{'project':_0xfb38bf,'user':_0x3dd441};}async function getEnvironments(){const _0x5441fd={'uoyuN':function(_0x43523b,_0x465886){return _0x43523b(_0x465886);},'yUOdC':function(_0x1e3ebf,_0x14ffdf,_0x5d5a82){return _0x1e3ebf(_0x14ffdf,_0x5d5a82);},'IAqxj':function(_0xb0552b,_0x47ea60,_0x3e3c2f){return _0xb0552b(_0x47ea60,_0x3e3c2f);},'lIrOU':function(_0x46abea,_0x444e08){return _0x46abea===_0x444e08;}},{envNames:_0x53b3e0,activeEnv:_0x2c2548}=await getEnvNames(),_0x3a68a2=getRangerDir();if(!existsSync(_0x3a68a2))return{'envs':[],'activeEnv':null};const _0x375b4e=_0x53b3e0['map'](_0x407d62=>{const _0x4c446a=_0x4822,_0x5dad39=_0x5441fd[_0x4c446a(0x14d)](getEnvDir,_0x407d62),_0x41dd6d=_0x5441fd['yUOdC'](join,_0x5dad39,_0x4c446a(0x105)),_0x2be1ba=_0x5441fd[_0x4c446a(0x130)](join,_0x5dad39,_0x4c446a(0x146)),_0x5564cb=_0x5441fd['IAqxj'](join,_0x5dad39,'auth.json.enc');return{'name':_0x407d62,'settingsPath':existsSync(_0x41dd6d)?_0x41dd6d:_0x4c446a(0x144),'hasPlaintextAuth':_0x5441fd[_0x4c446a(0x14d)](existsSync,_0x2be1ba),'hasEncryptedAuth':existsSync(_0x5564cb),'isActive':_0x5441fd[_0x4c446a(0x14a)](_0x407d62,_0x2c2548)};});return{'envs':_0x375b4e,'activeEnv':_0x2c2548};}export async function status(){const _0x5edada=_0x4822,_0x564f01={'iTdPn':_0x5edada(0x11f),'GPMzA':function(_0x17a877){return _0x17a877();},'Tagkx':function(_0x308aeb,_0x3cfde5){return _0x308aeb(_0x3cfde5);},'UtKqV':function(_0x12aaf8,_0x2a9d8c,_0x47e396){return _0x12aaf8(_0x2a9d8c,_0x47e396);},'YhTOL':function(_0x246b10,_0x5ef924){return _0x246b10!==_0x5ef924;},'KPNeu':function(_0x265612,_0x367c78){return _0x265612(_0x367c78);},'zYqjT':function(_0x499e79){return _0x499e79();},'bnNCv':'\x0a---\x20OpenCode\x20Plugin\x20---','ECnVd':function(_0x400fb0){return _0x400fb0();},'YsiKz':_0x5edada(0x100),'FXVkd':function(_0x522970,_0x55470c){return _0x522970===_0x55470c;},'ggHPT':'not_configured','BClZF':_0x5edada(0x103),'TZTMO':'unknown','DmsPw':_0x5edada(0x14b),'oGOMP':'disabled','UKEXF':_0x5edada(0x142),'EQDUM':_0x5edada(0x151),'ftnFX':_0x5edada(0x111),'bLTTG':_0x5edada(0x145),'grBnr':function(_0x3833c3,_0x487538,_0x12039a){return _0x3833c3(_0x487538,_0x12039a);},'aqaFp':function(_0xf501dd,_0xe35066){return _0xf501dd(_0xe35066);},'oPDhY':function(_0x5e6dd4,_0x4ecbc3){return _0x5e6dd4(_0x4ecbc3);},'dnXBZ':function(_0x27a86f){return _0x27a86f();},'utRar':'No\x20profiles\x20configured','YNBSb':_0x5edada(0x10c),'CegDO':_0x5edada(0x144),'ONkmk':function(_0x161760,_0x48c73f){return _0x161760(_0x48c73f);}};console['log'](_0x564f01[_0x5edada(0x134)]);const _0xe367b3=process['cwd'](),_0x20da9f=_0x564f01['GPMzA'](getRangerDir);if(!_0x564f01[_0x5edada(0x11c)](existsSync,_0x20da9f)){console['log']('Root:\x20'+_0x564f01['UtKqV'](link,_0xe367b3,_0x564f01['Tagkx'](bold,basename(_0xe367b3)))),console[_0x5edada(0xfe)](_0x5edada(0x102)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x5edada(0x14c)+link(_0xe367b3,bold(basename(_0xe367b3))));const _0x498154=_0x564f01[_0x5edada(0x150)](getCurrentVersion),_0x255710=getLatestVersion();if(_0x255710&&_0x564f01[_0x5edada(0x10e)](_0x255710,_0x498154))console['log']('Version:\x20'+_0x498154+'\x20(latest:\x20'+_0x255710+')'),console['log'](_0x5edada(0x157));else _0x255710?console[_0x5edada(0xfe)]('Version:\x20'+_0x498154+'\x20(up\x20to\x20date)'):console[_0x5edada(0xfe)](_0x5edada(0x120)+_0x498154);const _0x36f6a5=await getToken();if(_0x36f6a5){const _0x3b450f=await _0x564f01['KPNeu'](getCurrentUser,_0x36f6a5);_0x3b450f[_0x5edada(0x13f)]?console['log']('Organization:\x20'+bold(_0x3b450f[_0x5edada(0x13b)][_0x5edada(0x136)])):(console[_0x5edada(0xfe)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log'](_0x5edada(0xfd)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console[_0x5edada(0xfe)](_0x5edada(0xfd));process['env']['DEBUG']&&(console['log'](_0x5edada(0x125)+_0x564f01['zYqjT'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+getApiBaseUrl()));console['log'](_0x564f01['bnNCv']);const _0x18f96f=await _0x564f01[_0x5edada(0x109)](getOpencodePluginStatus);if(_0x18f96f['status']===_0x5edada(0x159))console['log']('\x20\x20'+bold(_0x564f01['YsiKz'])+':\x20configured'),_0x18f96f['details']&&console[_0x5edada(0xfe)]('\x20\x20'+_0x18f96f[_0x5edada(0x156)]);else _0x564f01[_0x5edada(0x122)](_0x18f96f[_0x5edada(0xfc)],_0x564f01['ggHPT'])?(console['log'](_0x5edada(0x128)),_0x18f96f[_0x5edada(0x156)]&&console[_0x5edada(0xfe)]('\x20\x20'+_0x18f96f['details']),console[_0x5edada(0xfe)](_0x564f01['BClZF'])):console['log'](_0x5edada(0xfa));console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x1dabe6=await _0x564f01[_0x5edada(0x11e)](getPluginInfo,'ranger@trailhead');if(_0x1dabe6){const _0x111f77=_0x1dabe6['scope']||_0x564f01[_0x5edada(0x12e)],_0x46ebc7=_0x1dabe6[_0x5edada(0x14b)]?_0x564f01[_0x5edada(0x12a)]:_0x564f01[_0x5edada(0x13e)];console['log']('\x20\x20'+_0x564f01['Tagkx'](bold,_0x564f01[_0x5edada(0x155)])+_0x5edada(0x108)+_0x111f77+',\x20'+_0x46ebc7+')');}else console[_0x5edada(0xfe)](_0x564f01['EQDUM']),console[_0x5edada(0xfe)](_0x5edada(0x133));console[_0x5edada(0xfe)](_0x5edada(0x139));const {project:_0x173b5b,user:_0x32d2b2}=await _0x564f01['ECnVd'](getInstalledSkills),_0x493a43=_0x173b5b['filter'](_0x5b255e=>RANGER_MANAGED_SKILLS[_0x5edada(0x143)](_0x5b255e['name'])),_0x30fc19=_0x32d2b2['filter'](_0x1dc341=>RANGER_MANAGED_SKILLS[_0x5edada(0x143)](_0x1dc341['name'])),_0x19e1dc=_0x493a43[_0x5edada(0x131)]+_0x30fc19['length'];if(_0x19e1dc===0x0)console[_0x5edada(0xfe)](_0x564f01[_0x5edada(0x124)]),console[_0x5edada(0xfe)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x493a43[_0x5edada(0x131)]>0x0){console['log'](_0x564f01['bLTTG']);for(const _0xbeb1d6 of _0x493a43){console[_0x5edada(0xfe)](_0x5edada(0x11a)+bold(_0xbeb1d6['displayName'])+':\x20'+_0x564f01[_0x5edada(0x13a)](link,_0xbeb1d6[_0x5edada(0x11d)],_0x564f01[_0x5edada(0x12b)](basename,_0xbeb1d6['path'])));}}if(_0x30fc19[_0x5edada(0x131)]>0x0){console['log'](_0x5edada(0x101));for(const _0x492756 of _0x30fc19){console['log']('\x20\x20\x20\x20'+bold(_0x492756['displayName'])+':\x20'+link(_0x492756[_0x5edada(0x11d)],_0x564f01[_0x5edada(0x158)](basename,_0x492756['path'])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x4440a4,activeEnv:_0x2b04e7}=await _0x564f01[_0x5edada(0x148)](getEnvironments);if(_0x4440a4['length']===0x0)console[_0x5edada(0xfe)](_0x564f01['utRar']),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0xe2d1a7 of _0x4440a4){const _0x416b60=_0xe2d1a7[_0x5edada(0x106)]?'\x20(active)':'',_0x3f631e=_0xe2d1a7[_0x5edada(0x115)]?_0x564f01[_0x5edada(0x10f)]:_0xe2d1a7['hasPlaintextAuth']?_0x5edada(0x152):_0x5edada(0xf8);console['log']('\x20\x20'+bold(_0xe2d1a7[_0x5edada(0x137)])+_0x416b60),console[_0x5edada(0xfe)]('\x20\x20\x20\x20Auth:\x20'+_0x3f631e),_0xe2d1a7['settingsPath']!==_0x564f01['CegDO']&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x564f01['grBnr'](link,_0xe2d1a7['settingsPath'],_0x564f01[_0x5edada(0x13c)](basename,_0xe2d1a7[_0x5edada(0x12c)])));}!_0x2b04e7&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log'](_0x5edada(0x117)+_0x4440a4['map'](_0x3bf52e=>_0x3bf52e['name'])['join'](',\x20')+')'));}console['log']('');}
1
+ const _0x40e51a=_0x332c;function _0x3415(){const _0x48751a=['hLFFN','configured','YXTzh','fwagZ','none','not_configured','CzoxU','not_installed','rwQmL','user','cMinP','success','cwd','YazTW','sljAi','LiUBQ','PLkZU','SoBAM','494933nbyLex','some','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','HgJzQ','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','isArray','\x0a📊\x20Ranger\x20Status\x0a','disabled','path','includes','\x20\x20Run:\x20ranger\x20setup\x20--opencode','\x0a---\x20Claude\x20Code\x20Plugin\x20---','3TUTCsP','stderr','32748TCpLqc','status','\x1b[0m','\x20\x20\x20\x20','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','7860349KinOzc','\x0a---\x20OpenCode\x20Plugin\x20---','DIEKZ','GtLFY','55tqtRwI','RtZfs','displayName','\x1b[1m','iNfCa','DEaIU','ifhEe','mrejl','99400jhEowo','name','DEBUG','1460324tVCIps','NfQuR','QsbVX','settingsPath','auth.json','utf-8','nOtXo','plugin','cKUBW','string','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','tHKMV','details','\x20\x20Not\x20configured',':\x20installed\x20(','\x20\x20User-level:','filter','\x20\x20Run:\x20ranger\x20setup\x20[token]','length','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','NjZpq','SJNHr','toString','SKILL.md','cwHnx','\x20(latest:\x20','(not\x20found)','KoOvh','map','hasEncryptedAuth','DjPeR','@ranger-testing/opencode-plugin','TWeBU','pipe','error','vIvVg','JVyQN','\x20\x20\x20\x20Auth:\x20','wudaF','parse','ukKlP','\x20\x20Not\x20installed','enabled','\x0a---\x20Profiles\x20---','\x0a---\x20Skills\x20---','log','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','zzvLf','910gnFqmo','lzHqK','hasPlaintextAuth','621TGgmmX','1053650AsmEWS','Version:\x20','2JCyoSs','\x20plugin(s)\x20configured','Root:\x20','nwfhq','1208352NFxvlp','encrypted'];_0x3415=function(){return _0x48751a;};return _0x3415();}(function(_0x57243c,_0x131d1c){const _0xdf0e70=_0x332c,_0x5a78df=_0x57243c();while(!![]){try{const _0x42090a=parseInt(_0xdf0e70(0x1b4))/0x1*(-parseInt(_0xdf0e70(0x19c))/0x2)+parseInt(_0xdf0e70(0x1c0))/0x3*(parseInt(_0xdf0e70(0x166))/0x4)+-parseInt(_0xdf0e70(0x196))/0x5*(-parseInt(_0xdf0e70(0x1c2))/0x6)+parseInt(_0xdf0e70(0x1c7))/0x7+parseInt(_0xdf0e70(0x163))/0x8*(-parseInt(_0xdf0e70(0x199))/0x9)+parseInt(_0xdf0e70(0x19a))/0xa*(-parseInt(_0xdf0e70(0x15b))/0xb)+parseInt(_0xdf0e70(0x1a0))/0xc;if(_0x42090a===_0x131d1c)break;else _0x5a78df['push'](_0x5a78df['shift']());}catch(_0x19ca17){_0x5a78df['push'](_0x5a78df['shift']());}}}(_0x3415,0xab9ed));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';function _0x332c(_0x235967,_0x1dbfb3){_0x235967=_0x235967-0x15b;const _0x34158a=_0x3415();let _0x332c50=_0x34158a[_0x235967];return _0x332c50;}const bold=_0x2f1bbc=>_0x40e51a(0x15e)+_0x2f1bbc+_0x40e51a(0x1c4),link=(_0x2684dd,_0x2d63ff)=>'\x1b]8;;file://'+_0x2684dd+'\x07'+(_0x2d63ff||_0x2684dd)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0xb0566d=_0x40e51a,_0x578b80={'nOtXo':_0xb0566d(0x1a9),'Viirt':function(_0x561394,_0x3b38b0){return _0x561394(_0x3b38b0);},'YazTW':_0xb0566d(0x1a7),'DjPeR':function(_0x55fe8b,_0x57f642,_0x1c604c,_0x44e1dc){return _0x55fe8b(_0x57f642,_0x1c604c,_0x44e1dc);},'LiUBQ':'config','RtZfs':_0xb0566d(0x187),'HgJzQ':'data','ifhEe':'close'};return new Promise(_0x491012=>{const _0x5430de=_0xb0566d,_0x23ae20={'tHKMV':function(_0x54b84f,_0x452942){return _0x54b84f(_0x452942);},'vIvVg':function(_0x36f022,_0x50fbe0){return _0x578b80['Viirt'](_0x36f022,_0x50fbe0);},'isQxu':_0x5430de(0x1a3),'pNWpc':_0x578b80[_0x5430de(0x1af)]},_0x4ae283=_0x578b80[_0x5430de(0x184)](spawn,'opencode',['debug',_0x578b80[_0x5430de(0x1b1)]],{'stdio':['ignore',_0x578b80[_0x5430de(0x15c)],_0x5430de(0x187)]});let _0x38977f='';_0x4ae283['stdout']?.['on']('data',_0x36740e=>{const _0x5b7011=_0x5430de;_0x38977f+=_0x36740e[_0x5b7011(0x17c)]();}),_0x4ae283[_0x5430de(0x1c1)]?.['on'](_0x578b80[_0x5430de(0x1b7)],_0x535e37=>{_0x38977f+=_0x535e37['toString']();}),_0x4ae283['on'](_0x5430de(0x188),()=>{const _0x358689=_0x5430de;_0x491012({'status':_0x578b80[_0x358689(0x16c)]});}),_0x4ae283['on'](_0x578b80[_0x5430de(0x161)],_0x502e14=>{const _0x2ec4e6=_0x5430de,_0x105793={'vMtSq':_0x2ec4e6(0x16f)};if(_0x502e14!==0x0){_0x23ae20['tHKMV'](_0x491012,{'status':'not_installed'});return;}const _0x489a27=_0x38977f['trim']();let _0x549a3d=null;if(_0x489a27)try{_0x549a3d=JSON[_0x2ec4e6(0x18d)](_0x489a27);}catch{const _0x59ce0c=_0x489a27['match'](/\{[\s\S]*\}$/);if(_0x59ce0c)try{_0x549a3d=JSON['parse'](_0x59ce0c[0x0]);}catch{_0x549a3d=null;}}const _0x4c7a3e=Array[_0x2ec4e6(0x1b9)](_0x549a3d?.[_0x2ec4e6(0x16d)])?_0x549a3d?.['plugin']:[],_0x58ff8d=_0x4c7a3e[_0x2ec4e6(0x1b5)](_0x2d0760=>{const _0x3c07ce=_0x2ec4e6;if(typeof _0x2d0760!==_0x105793['vMtSq'])return![];return _0x2d0760['includes'](_0x3c07ce(0x185))||_0x2d0760['includes']('opencode-plugin');});if(_0x58ff8d){_0x23ae20['vIvVg'](_0x491012,{'status':_0x23ae20['isQxu'],'details':_0x4c7a3e[_0x2ec4e6(0x178)]>0x0?_0x4c7a3e[_0x2ec4e6(0x178)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x4c7a3e[_0x2ec4e6(0x178)]>0x0){_0x23ae20[_0x2ec4e6(0x189)](_0x491012,{'status':_0x23ae20['pNWpc'],'details':_0x4c7a3e['length']+_0x2ec4e6(0x19d)});return;}_0x23ae20[_0x2ec4e6(0x171)](_0x491012,{'status':'not_configured'});});});}async function getSkillsFromDir(_0x5f2287,_0x5c083c){const _0x460237=_0x40e51a,_0x18a002={'wudaF':function(_0x3efb58,_0x43e653){return _0x3efb58(_0x43e653);},'aaCnx':function(_0x5bb82c,_0xaa19d4,_0x248135){return _0x5bb82c(_0xaa19d4,_0x248135);}};if(!_0x18a002[_0x460237(0x18c)](existsSync,_0x5f2287))return[];const _0x48690b=[];try{const _0x2fb374=await _0x18a002['aaCnx'](readdir,_0x5f2287,{'withFileTypes':!![]});for(const _0x1829b7 of _0x2fb374){if(_0x1829b7['isDirectory']()){const _0x2cb73c=join(_0x5f2287,_0x1829b7[_0x460237(0x164)],_0x460237(0x17d));if(existsSync(_0x2cb73c)){let _0x5cc7e5=_0x1829b7[_0x460237(0x164)];try{const _0x4f4ac9=await _0x18a002['aaCnx'](readFile,_0x2cb73c,_0x460237(0x16b)),_0x669fc6=_0x4f4ac9['match'](/name:\s*(.+)/);_0x669fc6&&(_0x5cc7e5=_0x669fc6[0x1]['trim']());}catch{}_0x48690b['push']({'name':_0x1829b7[_0x460237(0x164)],'displayName':_0x5cc7e5,'path':_0x2cb73c,'level':_0x5c083c});}}}}catch{return[];}return _0x48690b;}async function getInstalledSkills(){const _0x47d0cc=_0x40e51a,_0x304661={'JVyQN':function(_0x16fcbb,_0x33777d,_0x7fa99d){return _0x16fcbb(_0x33777d,_0x7fa99d);},'iNfCa':function(_0x413ef2){return _0x413ef2();},'SJNHr':'project','YZwqY':_0x47d0cc(0x1ab)},[_0x31042d,_0x235850]=await Promise['all']([_0x304661['JVyQN'](getSkillsFromDir,_0x304661[_0x47d0cc(0x15f)](getProjectSkillsDir),_0x304661[_0x47d0cc(0x17b)]),_0x304661[_0x47d0cc(0x18a)](getSkillsFromDir,getUserSkillsDir(),_0x304661['YZwqY'])]);return{'project':_0x31042d,'user':_0x235850};}async function getEnvironments(){const _0x56e0e3=_0x40e51a,_0x3e54f7={'cKUBW':'settings.json','nwfhq':function(_0x15d696,_0x256a74,_0x563e59){return _0x15d696(_0x256a74,_0x563e59);},'TWeBU':_0x56e0e3(0x16a),'PLkZU':function(_0x4ab7cb,_0x2db50f,_0x53abc4){return _0x4ab7cb(_0x2db50f,_0x53abc4);},'DEaIU':function(_0x361107){return _0x361107();}},{envNames:_0x369020,activeEnv:_0x4b630c}=await getEnvNames(),_0x445f78=_0x3e54f7[_0x56e0e3(0x160)](getRangerDir);if(!existsSync(_0x445f78))return{'envs':[],'activeEnv':null};const _0x66f99=_0x369020['map'](_0x1d9891=>{const _0x2f2ec8=_0x56e0e3,_0x2e108f=getEnvDir(_0x1d9891),_0x4dd5bc=join(_0x2e108f,_0x3e54f7[_0x2f2ec8(0x16e)]),_0x4c8264=_0x3e54f7[_0x2f2ec8(0x19f)](join,_0x2e108f,_0x3e54f7[_0x2f2ec8(0x186)]),_0x14ba06=_0x3e54f7[_0x2f2ec8(0x1b2)](join,_0x2e108f,'auth.json.enc');return{'name':_0x1d9891,'settingsPath':existsSync(_0x4dd5bc)?_0x4dd5bc:_0x2f2ec8(0x180),'hasPlaintextAuth':existsSync(_0x4c8264),'hasEncryptedAuth':existsSync(_0x14ba06),'isActive':_0x1d9891===_0x4b630c};});return{'envs':_0x66f99,'activeEnv':_0x4b630c};}export async function status(){const _0x3218aa=_0x40e51a,_0x275839={'zzvLf':function(_0x65127b){return _0x65127b();},'BzTKz':function(_0x257a1e,_0x3765ed){return _0x257a1e(_0x3765ed);},'YXTzh':function(_0x47c909,_0x148080){return _0x47c909(_0x148080);},'NfQuR':function(_0x188293,_0x2441d8,_0x4c6c88){return _0x188293(_0x2441d8,_0x4c6c88);},'KoOvh':function(_0x288f8c){return _0x288f8c();},'sljAi':function(_0x43e437,_0x53c9cc){return _0x43e437!==_0x53c9cc;},'fwagZ':function(_0x5553db,_0x18e991){return _0x5553db(_0x18e991);},'QsbVX':'@ranger-testing/opencode-plugin','UttCb':_0x3218aa(0x1a7),'DIEKZ':_0x3218aa(0x173),'WUEmD':_0x3218aa(0x1be),'lzHqK':_0x3218aa(0x1bf),'ukKlP':'enabled','hLFFN':_0x3218aa(0x1bb),'lUwaU':'ranger@trailhead','rwQmL':_0x3218aa(0x18f),'jmoWK':_0x3218aa(0x192),'NjZpq':function(_0xaeda){return _0xaeda();},'mrejl':function(_0x57a56f,_0x264939){return _0x57a56f===_0x264939;},'CzoxU':'No\x20skills\x20installed','gkOsc':function(_0x50a1c7,_0x191583){return _0x50a1c7>_0x191583;},'kqHMv':function(_0x56d14e,_0x5b57e,_0x12f9e4){return _0x56d14e(_0x5b57e,_0x12f9e4);},'SoBAM':_0x3218aa(0x175),'EMcWw':_0x3218aa(0x191),'IaYbT':function(_0x2fb0d0){return _0x2fb0d0();},'cMinP':_0x3218aa(0x1a1),'qVGYY':'plaintext','cwHnx':_0x3218aa(0x1a6),'GtLFY':_0x3218aa(0x180)};console[_0x3218aa(0x193)](_0x3218aa(0x1ba));const _0x3dffff=process[_0x3218aa(0x1ae)](),_0x52e1bd=_0x275839[_0x3218aa(0x195)](getRangerDir);if(!_0x275839['BzTKz'](existsSync,_0x52e1bd)){console['log'](_0x3218aa(0x19e)+link(_0x3dffff,_0x275839['YXTzh'](bold,basename(_0x3dffff)))),console[_0x3218aa(0x193)](_0x3218aa(0x179)),console['log'](_0x3218aa(0x170));return;}console['log'](_0x3218aa(0x19e)+_0x275839[_0x3218aa(0x167)](link,_0x3dffff,bold(_0x275839[_0x3218aa(0x1a4)](basename,_0x3dffff))));const _0x39f33a=getCurrentVersion(),_0x4347fd=_0x275839[_0x3218aa(0x181)](getLatestVersion);if(_0x4347fd&&_0x275839[_0x3218aa(0x1b0)](_0x4347fd,_0x39f33a))console['log'](_0x3218aa(0x19b)+_0x39f33a+_0x3218aa(0x17f)+_0x4347fd+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x4347fd?console[_0x3218aa(0x193)](_0x3218aa(0x19b)+_0x39f33a+'\x20(up\x20to\x20date)'):console['log']('Version:\x20'+_0x39f33a);const _0x1d9f97=await getToken();if(_0x1d9f97){const _0x4b951a=await getCurrentUser(_0x1d9f97);_0x4b951a[_0x3218aa(0x1ad)]?console[_0x3218aa(0x193)]('Organization:\x20'+bold(_0x4b951a['user']['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x3218aa(0x193)](_0x3218aa(0x177)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console[_0x3218aa(0x193)](_0x3218aa(0x177));process['env'][_0x3218aa(0x165)]&&(console['log']('API\x20Environment:\x20'+_0x275839['zzvLf'](getCurrentEnvironment)),console[_0x3218aa(0x193)]('API\x20URL:\x20'+getApiBaseUrl()));console[_0x3218aa(0x193)](_0x3218aa(0x1c8));const _0x328cb8=await _0x275839[_0x3218aa(0x195)](getOpencodePluginStatus);if(_0x328cb8['status']==='configured')console[_0x3218aa(0x193)]('\x20\x20'+_0x275839[_0x3218aa(0x1a5)](bold,_0x275839[_0x3218aa(0x168)])+':\x20configured'),_0x328cb8[_0x3218aa(0x172)]&&console[_0x3218aa(0x193)]('\x20\x20'+_0x328cb8['details']);else _0x328cb8[_0x3218aa(0x1c3)]===_0x275839['UttCb']?(console['log'](_0x275839[_0x3218aa(0x1c9)]),_0x328cb8[_0x3218aa(0x172)]&&console['log']('\x20\x20'+_0x328cb8['details']),console['log'](_0x275839['WUEmD'])):console['log'](_0x3218aa(0x1b6));console['log'](_0x275839[_0x3218aa(0x197)]);const _0x16515d=await getPluginInfo('ranger@trailhead');if(_0x16515d){const _0x4995a0=_0x16515d['scope']||'unknown',_0x1b011a=_0x16515d[_0x3218aa(0x190)]?_0x275839[_0x3218aa(0x18e)]:_0x275839[_0x3218aa(0x1a2)];console['log']('\x20\x20'+bold(_0x275839['lUwaU'])+_0x3218aa(0x174)+_0x4995a0+',\x20'+_0x1b011a+')');}else console[_0x3218aa(0x193)](_0x275839[_0x3218aa(0x1aa)]),console['log'](_0x3218aa(0x1c6));console['log'](_0x275839['jmoWK']);const {project:_0x999349,user:_0x3f7750}=await _0x275839[_0x3218aa(0x17a)](getInstalledSkills),_0x258fd0=_0x999349[_0x3218aa(0x176)](_0x30d2a8=>RANGER_MANAGED_SKILLS['includes'](_0x30d2a8['name'])),_0x20a2da=_0x3f7750[_0x3218aa(0x176)](_0x1cda3a=>RANGER_MANAGED_SKILLS[_0x3218aa(0x1bd)](_0x1cda3a[_0x3218aa(0x164)])),_0x20b3b5=_0x258fd0['length']+_0x20a2da['length'];if(_0x275839[_0x3218aa(0x162)](_0x20b3b5,0x0))console[_0x3218aa(0x193)](_0x275839[_0x3218aa(0x1a8)]),console[_0x3218aa(0x193)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x275839['gkOsc'](_0x258fd0['length'],0x0)){console[_0x3218aa(0x193)]('\x20\x20Project-level:');for(const _0x314d09 of _0x258fd0){console['log'](_0x3218aa(0x1c5)+bold(_0x314d09[_0x3218aa(0x15d)])+':\x20'+_0x275839['kqHMv'](link,_0x314d09[_0x3218aa(0x1bc)],basename(_0x314d09[_0x3218aa(0x1bc)])));}}if(_0x275839['gkOsc'](_0x20a2da['length'],0x0)){console[_0x3218aa(0x193)](_0x275839[_0x3218aa(0x1b3)]);for(const _0x4ab420 of _0x20a2da){console['log']('\x20\x20\x20\x20'+bold(_0x4ab420['displayName'])+':\x20'+link(_0x4ab420['path'],basename(_0x4ab420['path'])));}}}console[_0x3218aa(0x193)](_0x275839['EMcWw']);const {envs:_0x402eb3,activeEnv:_0x688cdb}=await _0x275839['IaYbT'](getEnvironments);if(_0x275839['mrejl'](_0x402eb3[_0x3218aa(0x178)],0x0))console['log']('No\x20profiles\x20configured'),console[_0x3218aa(0x193)](_0x3218aa(0x1b8));else{for(const _0x1a8bcd of _0x402eb3){const _0x410ff2=_0x1a8bcd['isActive']?'\x20(active)':'',_0x25bc4f=_0x1a8bcd[_0x3218aa(0x183)]?_0x275839[_0x3218aa(0x1ac)]:_0x1a8bcd[_0x3218aa(0x198)]?_0x275839['qVGYY']:_0x275839[_0x3218aa(0x17e)];console[_0x3218aa(0x193)]('\x20\x20'+bold(_0x1a8bcd[_0x3218aa(0x164)])+_0x410ff2),console[_0x3218aa(0x193)](_0x3218aa(0x18b)+_0x25bc4f),_0x1a8bcd['settingsPath']!==_0x275839[_0x3218aa(0x1ca)]&&console[_0x3218aa(0x193)]('\x20\x20\x20\x20Settings:\x20'+_0x275839['kqHMv'](link,_0x1a8bcd[_0x3218aa(0x169)],basename(_0x1a8bcd['settingsPath'])));}!_0x688cdb&&(console[_0x3218aa(0x193)]('\x0a\x20\x20No\x20active\x20profile\x20set'),console[_0x3218aa(0x193)](_0x3218aa(0x194)+_0x402eb3[_0x3218aa(0x182)](_0x36f0ac=>_0x36f0ac['name'])['join'](',\x20')+')'));}console['log']('');}
@@ -1 +1 @@
1
- (function(_0x5d63ce,_0x394e7f){const _0x2ddb9c=_0x4513,_0xddfce2=_0x5d63ce();while(!![]){try{const _0x14658f=parseInt(_0x2ddb9c(0x1ad))/0x1*(-parseInt(_0x2ddb9c(0x178))/0x2)+parseInt(_0x2ddb9c(0x1b2))/0x3*(parseInt(_0x2ddb9c(0x1ae))/0x4)+-parseInt(_0x2ddb9c(0x16f))/0x5+-parseInt(_0x2ddb9c(0x1a3))/0x6*(-parseInt(_0x2ddb9c(0x183))/0x7)+-parseInt(_0x2ddb9c(0x188))/0x8+-parseInt(_0x2ddb9c(0x186))/0x9+parseInt(_0x2ddb9c(0x177))/0xa;if(_0x14658f===_0x394e7f)break;else _0xddfce2['push'](_0xddfce2['shift']());}catch(_0x5202a7){_0xddfce2['push'](_0xddfce2['shift']());}}}(_0x10a3,0xe32b2));import{spawn}from'child_process';import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';import{getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';import{join}from'path';import{migrateActiveProfileFile}from'./utils/activeProfile.js';function _0x4513(_0x70687,_0x1c14e8){_0x70687=_0x70687-0x16d;const _0x10a3fd=_0x10a3();let _0x451354=_0x10a3fd[_0x70687];return _0x451354;}import{getRangerDir}from'./utils/rangerRoot.js';import{isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function runInstall(){const _0x38cc48=_0x4513,_0x3cfa72={'JCCUG':function(_0x32b587,_0x562de1){return _0x32b587(_0x562de1);},'eIMhL':function(_0x3177d8,_0x1b29fb){return _0x3177d8===_0x1b29fb;},'vVnOt':_0x38cc48(0x198),'UhDYd':'inherit','uIZBG':function(_0x37eee8,_0x3e6c43){return _0x37eee8===_0x3e6c43;},'lfCTB':_0x38cc48(0x174),'zheiP':'close','MiEsm':_0x38cc48(0x173)};return new Promise(_0xb8d0b6=>{const _0x10ab32=_0x38cc48,_0x36c9e8={'MANdN':function(_0x5ef3d0,_0x495994){return _0x3cfa72['eIMhL'](_0x5ef3d0,_0x495994);}};console['log'](_0x10ab32(0x17e)+PACKAGE_NAME+'@latest...\x0a');const _0x146671=spawn(_0x3cfa72[_0x10ab32(0x175)],[_0x10ab32(0x199),'-g',PACKAGE_NAME+_0x10ab32(0x1b0)],{'stdio':_0x3cfa72[_0x10ab32(0x17c)],'shell':_0x3cfa72[_0x10ab32(0x1ab)](process[_0x10ab32(0x18e)],_0x3cfa72['lfCTB'])});_0x146671['on'](_0x3cfa72[_0x10ab32(0x18c)],_0x3a9722=>{const _0x26c016=_0x10ab32;_0xb8d0b6(_0x36c9e8[_0x26c016(0x182)](_0x3a9722,0x0));}),_0x146671['on'](_0x3cfa72[_0x10ab32(0x18f)],()=>{const _0x48274c=_0x10ab32;_0x3cfa72[_0x48274c(0x190)](_0xb8d0b6,![]);});});}async function updateClaudeMarketplace(){const _0x171653=_0x4513,_0x1364cb={'PqQGk':function(_0x5c95bc,_0x285e94){return _0x5c95bc(_0x285e94);},'jIIIZ':function(_0x288673,_0x3c41be,_0x457706,_0x3db067){return _0x288673(_0x3c41be,_0x457706,_0x3db067);},'claus':_0x171653(0x19e),'nHvyh':_0x171653(0x1a2),'BCxua':_0x171653(0x1a9),'DbfiX':'update','uJfiz':'pipe'};return new Promise(_0x3f1f2e=>{const _0x5ba7ce=_0x171653,_0xfde426=_0x1364cb[_0x5ba7ce(0x196)](spawn,_0x1364cb['claus'],[_0x1364cb[_0x5ba7ce(0x19f)],_0x1364cb[_0x5ba7ce(0x18b)],_0x1364cb[_0x5ba7ce(0x184)],'trailhead'],{'stdio':_0x1364cb['uJfiz'],'shell':process[_0x5ba7ce(0x18e)]===_0x5ba7ce(0x174)});_0xfde426['on']('close',_0xe4ebc0=>{_0x3f1f2e(_0xe4ebc0===0x0);}),_0xfde426['on']('error',()=>{_0x1364cb['PqQGk'](_0x3f1f2e,![]);});});}async function updateClaudePlugin(_0x4dc09f){const _0x33b176=_0x4513,_0x2f7b76={'IQzCi':function(_0xebe3ce,_0x1a7cae){return _0xebe3ce(_0x1a7cae);},'ljKoL':function(_0x4367b4,_0x554419){return _0x4367b4===_0x554419;},'HjDsc':function(_0x42bdd5,_0x3b8672){return _0x42bdd5(_0x3b8672);},'vxIbO':_0x33b176(0x17a),'BlGkf':'--scope','vIJiZ':function(_0x398227,_0x24057a,_0x555b03,_0x809b66){return _0x398227(_0x24057a,_0x555b03,_0x809b66);},'nqjnV':'pipe','wjfiL':'error'};return new Promise(_0x232bb2=>{const _0x429064=_0x33b176,_0x4a13bb=[_0x429064(0x1a2),'update',_0x2f7b76[_0x429064(0x1af)]];_0x4dc09f&&_0x4a13bb[_0x429064(0x16e)](_0x2f7b76['BlGkf'],_0x4dc09f);const _0xe96417=_0x2f7b76['vIJiZ'](spawn,_0x429064(0x19e),_0x4a13bb,{'stdio':_0x2f7b76['nqjnV'],'shell':process['platform']==='win32'});_0xe96417['on']('close',_0x90bffa=>{const _0x54312d=_0x429064;_0x2f7b76['IQzCi'](_0x232bb2,_0x2f7b76[_0x54312d(0x1a5)](_0x90bffa,0x0));}),_0xe96417['on'](_0x2f7b76[_0x429064(0x17d)],()=>{const _0x5ddafa=_0x429064;_0x2f7b76[_0x5ddafa(0x180)](_0x232bb2,![]);});});}function isSkillInstalled(_0xae196e,_0x3d9387,_0x15ce08){const _0x1b79be=_0x4513,_0x46b39a={'cgnfu':function(_0x5819a7,_0x4f8c25){return _0x5819a7(_0x4f8c25);},'FSScq':function(_0x5522e2,_0xb95448,_0x2f9d05){return _0x5522e2(_0xb95448,_0x2f9d05);}},_0x8ea6d6=_0x15ce08==='opencode'?_0x46b39a[_0x1b79be(0x194)](getOpencodeSkillsDir,_0x3d9387):getSkillsDir(_0x3d9387),_0x2175a7=_0x46b39a['FSScq'](join,_0x8ea6d6,_0xae196e);return existsSync(_0x2175a7);}async function reinstallSkills(_0x335374){const _0x5d716d=_0x4513,_0x129d4a={'PBhRX':function(_0x2192a8,_0xfef216,_0x3552fe,_0x199c3a){return _0x2192a8(_0xfef216,_0x3552fe,_0x199c3a);},'OQULj':_0x5d716d(0x19e),'siKOg':function(_0x24cbbc,_0x25990a,_0x1dc89f,_0x5ad29c){return _0x24cbbc(_0x25990a,_0x1dc89f,_0x5ad29c);},'fgThM':'opencode','cjEhx':function(_0x342ea0,_0xcc9dda,_0x46a1aa){return _0x342ea0(_0xcc9dda,_0x46a1aa);},'jcguH':_0x5d716d(0x19d)},_0x36e427=['project',_0x5d716d(0x18d)],_0x1e4631=[];for(const _0x61c33c of _0x36e427){for(const _0x3e8a88 of RANGER_MANAGED_SKILLS){_0x129d4a[_0x5d716d(0x185)](isSkillInstalled,_0x3e8a88,_0x61c33c,'claude')&&_0x1e4631['push']({'skillName':_0x3e8a88,'level':_0x61c33c,'platform':_0x129d4a['OQULj']}),_0x129d4a[_0x5d716d(0x1b1)](isSkillInstalled,_0x3e8a88,_0x61c33c,'opencode')&&_0x1e4631[_0x5d716d(0x16e)]({'skillName':_0x3e8a88,'level':_0x61c33c,'platform':_0x129d4a['fgThM']});}}for(const _0x456d5d of _0x36e427){for(const _0x2dc9a0 of DEPRECATED_SKILLS){await _0x129d4a['cjEhx'](removeSkill,_0x2dc9a0,_0x456d5d);}}if(_0x1e4631['length']===0x0){console[_0x5d716d(0x191)](_0x129d4a['jcguH']);return;}console['log'](_0x5d716d(0x1ac)+_0x1e4631[_0x5d716d(0x189)]+_0x5d716d(0x1aa));for(const {skillName:_0x3d013d,level:_0x4de627,platform:_0x6a8da2}of _0x1e4631){try{await _0x129d4a['cjEhx'](installSkill,_0x3d013d,{'level':_0x4de627,'cliVersion':_0x335374,'platform':_0x6a8da2});}catch(_0x3a68b3){console['warn'](_0x5d716d(0x1a8)+_0x6a8da2+'\x20'+_0x4de627+_0x5d716d(0x170)+_0x3d013d+':',_0x3a68b3);}}}function _0x10a3(){const _0x10ada5=['15459228Fykpru','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','12710008nmpdfZ','length','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','BCxua','zheiP','user','platform','MiEsm','JCCUG','log','trim','some','cgnfu','\x0aYour\x20version\x20(','jIIIZ','findIndex','npm','install','QNsWf','.gitignore','UULYE','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','claude','nHvyh','gpNpi','spIWI','plugin','282nBDfZg','BJeBn','ljKoL','AiCVQ','join','\x20\x20Failed\x20to\x20reinstall\x20','marketplace','\x20ranger-managed\x20skill(s)...','uIZBG','\x0aReinstalling\x20','1192557WKoekd','3020428KjJkvg','vxIbO','@latest','siKOg','6rFcung','ZHSAL','push','7957150AMZPKA','\x20skill\x20','Failed\x20to\x20check\x20for\x20updates.\x20Please\x20check\x20your\x20network\x20connection.','SrMXW','error','win32','vVnOt','lTOuz','43786560DTznDp','2alTpDt','utf-8','ranger@trailhead','\x0aCurrent\x20version:\x20','UhDYd','wjfiL','\x0aInstalling\x20','active-profile.txt','HjDsc','RWCPx','MANdN','168602onbiDP','DbfiX','PBhRX'];_0x10a3=function(){return _0x10ada5;};return _0x10a3();}async function ensureActiveProfileGitignored(){const _0x2a3638=_0x4513,_0x10d375={'zhJEn':function(_0x14b1f6){return _0x14b1f6();},'qdUNs':function(_0x27bc1c,_0xceeebb){return _0x27bc1c(_0xceeebb);},'gpNpi':function(_0x34f9f2,_0x2f5201,_0x1030e5){return _0x34f9f2(_0x2f5201,_0x1030e5);},'ZHSAL':_0x2a3638(0x179),'SrMXW':function(_0xf2c72a,_0x48ff56){return _0xf2c72a===_0x48ff56;},'BJeBn':'active-profile.txt','AiCVQ':function(_0x351cc3,_0x39aae0,_0x136234,_0x3aac8c){return _0x351cc3(_0x39aae0,_0x136234,_0x3aac8c);}},_0x3ce937=join(_0x10d375['zhJEn'](getRangerDir),_0x2a3638(0x19b));if(!_0x10d375['qdUNs'](existsSync,_0x3ce937))return![];let _0x23d743='';try{_0x23d743=await _0x10d375[_0x2a3638(0x1a0)](readFile,_0x3ce937,_0x10d375[_0x2a3638(0x16d)]);}catch{return![];}const _0x461bf8=_0x23d743['split'](/\r?\n/);if(_0x461bf8[_0x2a3638(0x193)](_0x1abf56=>_0x1abf56['trim']()===_0x2a3638(0x17f)))return![];let _0x4bebe0=_0x461bf8[_0x2a3638(0x197)](_0x18a76e=>_0x18a76e[_0x2a3638(0x192)]()==='active-feature.txt');_0x10d375[_0x2a3638(0x172)](_0x4bebe0,-0x1)&&(_0x4bebe0=_0x461bf8[_0x2a3638(0x189)]);_0x461bf8['splice'](_0x4bebe0,0x0,_0x10d375[_0x2a3638(0x1a4)]);let _0x366cc9=_0x461bf8[_0x2a3638(0x1a7)]('\x0a');!_0x366cc9['endsWith']('\x0a')&&(_0x366cc9+='\x0a');try{await _0x10d375[_0x2a3638(0x1a6)](writeFile,_0x3ce937,_0x366cc9,_0x2a3638(0x179));}catch{return![];}return!![];}export async function update(){const _0x1c6d3f=_0x4513,_0x5e9fbb={'UUtVQ':function(_0x3636a3){return _0x3636a3();},'wofTf':_0x1c6d3f(0x171),'bMaZI':function(_0x14da2a,_0x19e4a8){return _0x14da2a===_0x19e4a8;},'QNsWf':_0x1c6d3f(0x18a),'spIWI':function(_0x558bb7){return _0x558bb7();},'wtISi':function(_0x15fde2,_0xb7b47f){return _0x15fde2(_0xb7b47f);},'UULYE':function(_0x2b2a04,_0x199f87){return _0x2b2a04(_0x199f87);},'kDXCL':'trailhead','RWCPx':'ranger@trailhead','sfjRZ':function(_0x38d41b){return _0x38d41b();},'SFSLT':function(_0x153599){return _0x153599();},'Prwoc':'✓\x20Migrated\x20active\x20profile\x20file','lTOuz':'\x0a✅\x20Update\x20complete!'},_0xdde5bf=_0x5e9fbb['UUtVQ'](getCurrentVersion);console[_0x1c6d3f(0x191)](_0x1c6d3f(0x17b)+_0xdde5bf),console['log']('Checking\x20for\x20updates...');const _0xde6a20=getLatestVersion();if(!_0xde6a20)throw new Error(_0x5e9fbb['wofTf']);console[_0x1c6d3f(0x191)]('Latest\x20version:\x20\x20'+_0xde6a20);const _0x29b102=compareVersions(_0xdde5bf,_0xde6a20);let _0x9cce4e=_0xdde5bf;if(_0x5e9fbb['bMaZI'](_0x29b102,0x0))console['log'](_0x5e9fbb[_0x1c6d3f(0x19a)]);else{if(_0x29b102<0x0)console[_0x1c6d3f(0x191)](_0x1c6d3f(0x195)+_0xdde5bf+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0xde6a20+').');else{const _0x65ad1=await _0x5e9fbb[_0x1c6d3f(0x1a1)](runInstall);if(_0x65ad1)console[_0x1c6d3f(0x191)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0xde6a20),_0x9cce4e=_0xde6a20;else throw new Error('Update\x20failed.\x20You\x20may\x20need\x20to\x20run\x20with\x20sudo:\x20sudo\x20npm\x20install\x20-g\x20'+PACKAGE_NAME+_0x1c6d3f(0x1b0));}}await _0x5e9fbb['wtISi'](reinstallSkills,_0x9cce4e);const _0x264a6e=await _0x5e9fbb[_0x1c6d3f(0x19c)](isMarketplaceAdded,_0x5e9fbb['kDXCL']),_0x1c0473=await _0x5e9fbb['UULYE'](isPluginInstalled,_0x5e9fbb[_0x1c6d3f(0x181)]);if(_0x264a6e){const _0x4146bd=await updateClaudeMarketplace();_0x4146bd&&console['log'](_0x1c6d3f(0x187));}if(_0x1c0473){const _0x40eecd=await _0x5e9fbb['sfjRZ'](updateClaudePlugin);_0x40eecd&&console[_0x1c6d3f(0x191)]('\x0aClaude\x20plugin\x20updated\x20(user\x20scope).');const _0x4a179e=await updateClaudePlugin('project');_0x4a179e&&console['log']((_0x40eecd?'':'\x0a')+'Claude\x20plugin\x20updated\x20(project\x20scope).');}const _0x2b60cf=await _0x5e9fbb['SFSLT'](migrateActiveProfileFile);_0x2b60cf&&console[_0x1c6d3f(0x191)](_0x5e9fbb['Prwoc']);const _0x51b59f=await ensureActiveProfileGitignored();console[_0x1c6d3f(0x191)](_0x5e9fbb[_0x1c6d3f(0x176)]);}
1
+ (function(_0x630823,_0x59c860){const _0x436602=_0x5343,_0x18764f=_0x630823();while(!![]){try{const _0x59417b=parseInt(_0x436602(0x20c))/0x1+parseInt(_0x436602(0x213))/0x2+-parseInt(_0x436602(0x220))/0x3*(parseInt(_0x436602(0x219))/0x4)+parseInt(_0x436602(0x200))/0x5+-parseInt(_0x436602(0x224))/0x6*(parseInt(_0x436602(0x1f6))/0x7)+-parseInt(_0x436602(0x20e))/0x8+parseInt(_0x436602(0x207))/0x9;if(_0x59417b===_0x59c860)break;else _0x18764f['push'](_0x18764f['shift']());}catch(_0x272f35){_0x18764f['push'](_0x18764f['shift']());}}}(_0x5470,0x95974));import{spawn}from'child_process';import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';import{getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';import{join}from'path';import{migrateActiveProfileFile}from'./utils/activeProfile.js';import{getRangerDir}from'./utils/rangerRoot.js';import{isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function runInstall(){const _0x1f68b3=_0x5343,_0x594d5f={'dVJpS':function(_0x3fe68f,_0x561658){return _0x3fe68f(_0x561658);},'PSYwW':function(_0x895a04,_0xfc515b){return _0x895a04(_0xfc515b);},'dqwQD':'npm','vcXxb':function(_0x33cf18,_0x1ee78b){return _0x33cf18===_0x1ee78b;},'LbFHL':_0x1f68b3(0x1f2),'GFXRE':_0x1f68b3(0x1fd)};return new Promise(_0x11f2ec=>{const _0x2cedc5=_0x1f68b3,_0x3e4bcc={'kdYut':function(_0x5341ba,_0x48646a){const _0x1f5427=_0x5343;return _0x594d5f[_0x1f5427(0x226)](_0x5341ba,_0x48646a);}};console[_0x2cedc5(0x1fa)](_0x2cedc5(0x1fc)+PACKAGE_NAME+_0x2cedc5(0x229));const _0x3bfcf4=spawn(_0x594d5f['dqwQD'],[_0x2cedc5(0x208),'-g',PACKAGE_NAME+'@latest'],{'stdio':_0x2cedc5(0x20d),'shell':_0x594d5f['vcXxb'](process['platform'],_0x594d5f[_0x2cedc5(0x225)])});_0x3bfcf4['on'](_0x594d5f[_0x2cedc5(0x1f8)],_0x2decd1=>{_0x594d5f['dVJpS'](_0x11f2ec,_0x2decd1===0x0);}),_0x3bfcf4['on']('error',()=>{_0x3e4bcc['kdYut'](_0x11f2ec,![]);});});}async function updateClaudeMarketplace(){const _0x341961=_0x5343,_0x500041={'ZWOIa':function(_0x17ed9c,_0x1fa3f9,_0x2d57d6,_0x3f69d0){return _0x17ed9c(_0x1fa3f9,_0x2d57d6,_0x3f69d0);},'xWzby':_0x341961(0x1f0),'AlncW':_0x341961(0x228),'cLAdQ':'win32','IVZIe':_0x341961(0x1fd)};return new Promise(_0x5862e8=>{const _0x64d47a=_0x341961,_0x273611={'ZoamE':function(_0x5d85f9,_0x43585a){return _0x5d85f9(_0x43585a);},'BIwFA':function(_0x5e21ae,_0x549ad2){return _0x5e21ae===_0x549ad2;},'nTsqc':function(_0x143fe8,_0x180a3f){return _0x143fe8(_0x180a3f);}},_0x355ddc=_0x500041['ZWOIa'](spawn,'claude',[_0x64d47a(0x21c),_0x500041['xWzby'],_0x500041[_0x64d47a(0x1f9)],_0x64d47a(0x202)],{'stdio':'pipe','shell':process['platform']===_0x500041['cLAdQ']});_0x355ddc['on'](_0x500041[_0x64d47a(0x211)],_0x1a85ac=>{const _0x6b81c1=_0x64d47a;_0x273611['ZoamE'](_0x5862e8,_0x273611[_0x6b81c1(0x1f3)](_0x1a85ac,0x0));}),_0x355ddc['on']('error',()=>{_0x273611['nTsqc'](_0x5862e8,![]);});});}async function updateClaudePlugin(_0x39c2ba){const _0x386d91=_0x5343,_0x2f762c={'lfRyo':function(_0x2bf4ef,_0x31b01e){return _0x2bf4ef===_0x31b01e;},'mUghA':_0x386d91(0x21c),'HhfMF':function(_0x5025bf,_0xfa1f74,_0x3e7bbb,_0x58fe71){return _0x5025bf(_0xfa1f74,_0x3e7bbb,_0x58fe71);},'iOEdG':'claude','lDzSy':'pipe','wOoQp':_0x386d91(0x1fd)};return new Promise(_0x18092e=>{const _0x5158a0=_0x386d91,_0x1b9acc={'GRnbO':function(_0x57b3a0,_0x5d4804){return _0x57b3a0(_0x5d4804);}},_0x193be1=[_0x2f762c[_0x5158a0(0x1fb)],'update',_0x5158a0(0x1ff)];_0x39c2ba&&_0x193be1['push']('--scope',_0x39c2ba);const _0x500bea=_0x2f762c[_0x5158a0(0x21d)](spawn,_0x2f762c[_0x5158a0(0x21a)],_0x193be1,{'stdio':_0x2f762c['lDzSy'],'shell':_0x2f762c[_0x5158a0(0x223)](process['platform'],'win32')});_0x500bea['on'](_0x2f762c[_0x5158a0(0x209)],_0x121215=>{_0x18092e(_0x2f762c['lfRyo'](_0x121215,0x0));}),_0x500bea['on']('error',()=>{_0x1b9acc['GRnbO'](_0x18092e,![]);});});}function _0x5470(){const _0x5d0471=['BwbHG','gDlrB','marketplace','warn','win32','BIwFA','\x20skill\x20','join','679cXCEvY','push','GFXRE','AlncW','log','mUghA','\x0aInstalling\x20','close','qxfuM','ranger@trailhead','5606870XwLJae','\x20\x20Failed\x20to\x20reinstall\x20','trailhead','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','WnNDQ','SoEur','Update\x20failed.\x20You\x20may\x20need\x20to\x20run\x20with\x20sudo:\x20sudo\x20npm\x20install\x20-g\x20','5564817gwaeUk','install','wOoQp','splice','pgQUI','121850aeuUHg','inherit','745952eickFm','lNMBt','trim','IVZIe','Failed\x20to\x20check\x20for\x20updates.\x20Please\x20check\x20your\x20network\x20connection.','520050oHEOne','iEDwO','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','\x0aSuccessfully\x20updated\x20to\x20version\x20','findIndex','YaCmU','4lzBnES','iOEdG','✓\x20Migrated\x20active\x20profile\x20file','plugin','HhfMF','opencode','.gitignore','3634809Vkimnt','KmgTM','claude','lfRyo','12618TsOPaF','LbFHL','PSYwW','pOayp','update','@latest...\x0a','length'];_0x5470=function(){return _0x5d0471;};return _0x5470();}function isSkillInstalled(_0x233034,_0x19d6c2,_0x33b7b2){const _0x9d4a1f=_0x5343,_0x30cdd7={'pgQUI':function(_0x29caa7,_0x3b41e4){return _0x29caa7(_0x3b41e4);},'WnNDQ':function(_0x37caa0,_0x16ba76,_0x26c608){return _0x37caa0(_0x16ba76,_0x26c608);}},_0x5c4c53=_0x33b7b2===_0x9d4a1f(0x21e)?getOpencodeSkillsDir(_0x19d6c2):_0x30cdd7[_0x9d4a1f(0x20b)](getSkillsDir,_0x19d6c2),_0x3f1e42=_0x30cdd7[_0x9d4a1f(0x204)](join,_0x5c4c53,_0x233034);return _0x30cdd7['pgQUI'](existsSync,_0x3f1e42);}async function reinstallSkills(_0x12a970){const _0x2dafcf=_0x5343,_0x28efda={'QqQgi':function(_0x5bcbff,_0x366123,_0x34655b,_0x3a5607){return _0x5bcbff(_0x366123,_0x34655b,_0x3a5607);},'RNfhf':_0x2dafcf(0x21e),'uzNmc':function(_0x416288,_0x235f81,_0x19d08b){return _0x416288(_0x235f81,_0x19d08b);},'jzuyx':'\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.'},_0x5b9a5d=['project','user'],_0x4259d4=[];for(const _0x4c943d of _0x5b9a5d){for(const _0x4a228c of RANGER_MANAGED_SKILLS){_0x28efda['QqQgi'](isSkillInstalled,_0x4a228c,_0x4c943d,_0x2dafcf(0x222))&&_0x4259d4[_0x2dafcf(0x1f7)]({'skillName':_0x4a228c,'level':_0x4c943d,'platform':'claude'}),isSkillInstalled(_0x4a228c,_0x4c943d,_0x28efda['RNfhf'])&&_0x4259d4[_0x2dafcf(0x1f7)]({'skillName':_0x4a228c,'level':_0x4c943d,'platform':_0x28efda['RNfhf']});}}for(const _0x237341 of _0x5b9a5d){for(const _0x36e883 of DEPRECATED_SKILLS){await _0x28efda['uzNmc'](removeSkill,_0x36e883,_0x237341);}}if(_0x4259d4['length']===0x0){console['log'](_0x28efda['jzuyx']);return;}console[_0x2dafcf(0x1fa)]('\x0aReinstalling\x20'+_0x4259d4['length']+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x3c44ae,level:_0x6f42e8,platform:_0x3d1389}of _0x4259d4){try{await installSkill(_0x3c44ae,{'level':_0x6f42e8,'cliVersion':_0x12a970,'platform':_0x3d1389});}catch(_0x5a9cbc){console[_0x2dafcf(0x1f1)](_0x2dafcf(0x201)+_0x3d1389+'\x20'+_0x6f42e8+_0x2dafcf(0x1f4)+_0x3c44ae+':',_0x5a9cbc);}}}async function ensureActiveProfileGitignored(){const _0x1c4cfe=_0x5343,_0x3e127c={'mmOBF':_0x1c4cfe(0x21f),'SoEur':function(_0x55585a,_0x52f83d,_0x414e78){return _0x55585a(_0x52f83d,_0x414e78);},'YaCmU':'utf-8','WZXke':'active-profile.txt'},_0x47ed2=join(getRangerDir(),_0x3e127c['mmOBF']);if(!existsSync(_0x47ed2))return![];let _0x5501b8='';try{_0x5501b8=await _0x3e127c[_0x1c4cfe(0x205)](readFile,_0x47ed2,_0x3e127c[_0x1c4cfe(0x218)]);}catch{return![];}const _0x585109=_0x5501b8['split'](/\r?\n/);if(_0x585109['some'](_0x4b8560=>_0x4b8560[_0x1c4cfe(0x210)]()==='active-profile.txt'))return![];let _0x262c8d=_0x585109[_0x1c4cfe(0x217)](_0x45799a=>_0x45799a['trim']()==='active-feature.txt');_0x262c8d===-0x1&&(_0x262c8d=_0x585109[_0x1c4cfe(0x1ed)]);_0x585109[_0x1c4cfe(0x20a)](_0x262c8d,0x0,_0x3e127c['WZXke']);let _0x13fa48=_0x585109[_0x1c4cfe(0x1f5)]('\x0a');!_0x13fa48['endsWith']('\x0a')&&(_0x13fa48+='\x0a');try{await writeFile(_0x47ed2,_0x13fa48,'utf-8');}catch{return![];}return!![];}function _0x5343(_0x481817,_0x40fba8){_0x481817=_0x481817-0x1ed;const _0x547005=_0x5470();let _0x37a7ce=_0x547005[_0x481817];return _0x37a7ce;}export async function update(){const _0x2cd0a1=_0x5343,_0x47e238={'uFfIv':function(_0x1aa0e8){return _0x1aa0e8();},'qxfuM':'Checking\x20for\x20updates...','pOayp':function(_0x1663fc){return _0x1663fc();},'iEDwO':function(_0x273722,_0x4b3281,_0x1ecbe1){return _0x273722(_0x4b3281,_0x1ecbe1);},'CzLRt':function(_0x1b1ae7,_0x80ebac){return _0x1b1ae7<_0x80ebac;},'BwbHG':function(_0x4be467){return _0x4be467();},'KmgTM':function(_0x3bba06,_0x54634d){return _0x3bba06(_0x54634d);},'lNMBt':function(_0x42b1b2,_0xf013d7){return _0x42b1b2(_0xf013d7);},'gDlrB':'project','wYotE':_0x2cd0a1(0x21b),'bfTHJ':'\x0a✅\x20Update\x20complete!'},_0xa8f79c=_0x47e238['uFfIv'](getCurrentVersion);console['log']('\x0aCurrent\x20version:\x20'+_0xa8f79c),console['log'](_0x47e238[_0x2cd0a1(0x1fe)]);const _0x3d284f=_0x47e238[_0x2cd0a1(0x227)](getLatestVersion);if(!_0x3d284f)throw new Error(_0x2cd0a1(0x212));console['log']('Latest\x20version:\x20\x20'+_0x3d284f);const _0xf928dc=_0x47e238[_0x2cd0a1(0x214)](compareVersions,_0xa8f79c,_0x3d284f);let _0x547408=_0xa8f79c;if(_0xf928dc===0x0)console[_0x2cd0a1(0x1fa)](_0x2cd0a1(0x215));else{if(_0x47e238['CzLRt'](_0xf928dc,0x0))console[_0x2cd0a1(0x1fa)]('\x0aYour\x20version\x20('+_0xa8f79c+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0x3d284f+').');else{const _0x333ea5=await _0x47e238[_0x2cd0a1(0x1ee)](runInstall);if(_0x333ea5)console[_0x2cd0a1(0x1fa)](_0x2cd0a1(0x216)+_0x3d284f),_0x547408=_0x3d284f;else throw new Error(_0x2cd0a1(0x206)+PACKAGE_NAME+'@latest');}}await reinstallSkills(_0x547408);const _0x4ff129=await _0x47e238[_0x2cd0a1(0x221)](isMarketplaceAdded,_0x2cd0a1(0x202)),_0x125c89=await _0x47e238['lNMBt'](isPluginInstalled,'ranger@trailhead');if(_0x4ff129){const _0x50a2e0=await updateClaudeMarketplace();_0x50a2e0&&console[_0x2cd0a1(0x1fa)]('\x0aClaude\x20marketplace\x20updated\x20(trailhead).');}if(_0x125c89){const _0x5034e6=await updateClaudePlugin();_0x5034e6&&console[_0x2cd0a1(0x1fa)](_0x2cd0a1(0x203));const _0x5810d2=await _0x47e238[_0x2cd0a1(0x20f)](updateClaudePlugin,_0x47e238[_0x2cd0a1(0x1ef)]);_0x5810d2&&console['log']((_0x5034e6?'':'\x0a')+'Claude\x20plugin\x20updated\x20(project\x20scope).');}const _0x27dbd7=await migrateActiveProfileFile();_0x27dbd7&&console[_0x2cd0a1(0x1fa)](_0x47e238['wYotE']);const _0x26c040=await ensureActiveProfileGitignored();console['log'](_0x47e238['bfTHJ']);}