@ranger-testing/ranger-cli 2.1.1 → 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(_0x5d5224,_0x16ad95){const _0x3a0f1d=_0x1437,_0x40f2cf=_0x5d5224();while(!![]){try{const _0xbc6aea=parseInt(_0x3a0f1d(0xff))/0x1+parseInt(_0x3a0f1d(0x114))/0x2*(parseInt(_0x3a0f1d(0x112))/0x3)+parseInt(_0x3a0f1d(0xfa))/0x4*(parseInt(_0x3a0f1d(0x115))/0x5)+-parseInt(_0x3a0f1d(0x104))/0x6*(-parseInt(_0x3a0f1d(0x10c))/0x7)+parseInt(_0x3a0f1d(0x10b))/0x8*(parseInt(_0x3a0f1d(0xf7))/0x9)+-parseInt(_0x3a0f1d(0x106))/0xa*(-parseInt(_0x3a0f1d(0xfe))/0xb)+-parseInt(_0x3a0f1d(0xf9))/0xc;if(_0xbc6aea===_0x16ad95)break;else _0x40f2cf['push'](_0x40f2cf['shift']());}catch(_0x40d25d){_0x40f2cf['push'](_0x40f2cf['shift']());}}}(_0x22f1,0xa80b4));import{open}from'fs/promises';import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';function _0x22f1(){const _0x401917=['769794BoEMIQ','alloc','15070YNGuPC','min',':\x0a\x0a','frNad','transcript_path','56mRLCOx','7XrcuDG','\x20for\x20\x22','JxEqb','currentSessionId','ehDrC','dclOV','3yeqmwm','utf8','286684GmSkmq','505kMEvPI','message','RANGER_SKIP_VERIFICATION','1565469RlFIbJ','featureId','24620124ztHfdZ','40444fAGWJs','trackCommandStart','sessionId','close','847gwrBAp','113507nRFlUE','size','string','RGGSF','input'];_0x22f1=function(){return _0x401917;};return _0x22f1();}import{getSessionEntry}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0xff38f0){const _0x1cedee=_0x1437,_0x433da2={'zDkWu':function(_0x2241d8,_0x2d506d){return _0x2241d8(_0x2d506d);},'dclOV':function(_0x398640,_0x114504){return _0x398640===_0x114504;},'frNad':function(_0x2f00b9,_0x3bad95,_0x1c8f0b,_0x3ced19){return _0x2f00b9(_0x3bad95,_0x1c8f0b,_0x3ced19);},'JxEqb':_0x1cedee(0xf6),'rmNrk':function(_0x2ab5f8,_0x2f2805,_0x1fa080){return _0x2ab5f8(_0x2f2805,_0x1fa080);},'TBAhZ':function(_0x5b95e9,_0x43b04d){return _0x5b95e9&&_0x43b04d;},'iocPu':function(_0x3a8005,_0x4cfec8,_0x4747f7){return _0x3a8005(_0x4cfec8,_0x4747f7);}},_0x5d1211=await _0x433da2['zDkWu'](getEnabledHookContext,_0xff38f0),_0x1a70c5=_0x5d1211?.[_0x1cedee(0xfc)]??null,_0x55cda0=Boolean(_0x5d1211?.[_0x1cedee(0x103)]?.['stop_hook_active']),_0x2213be=_0x433da2[_0x1cedee(0x111)](typeof _0x5d1211?.['input']?.[_0x1cedee(0x10a)],_0x1cedee(0x101))?_0x5d1211[_0x1cedee(0x103)][_0x1cedee(0x10a)]:null;let _0x263878=!![];if(!_0x1a70c5){await trackStop(_0x1a70c5,![],_0x263878);return;}try{const _0x3d6974=getSessionEntry(_0x1a70c5);if(!_0x3d6974){await _0x433da2[_0x1cedee(0x109)](trackStop,_0x1a70c5,!![],_0x263878);return;}const _0x13084b='https://dashboard.ranger.net/features/'+_0x3d6974[_0x1cedee(0xf8)],_0x398ff8=_0x433da2[_0x1cedee(0x10e)],_0x4bc3b5=await getToken(),_0x3ba360=!_0x55cda0;let _0x2bf174=null,_0x54fe19=null;const _0x145139=_0x55cda0&&await _0x433da2['rmNrk'](transcriptHasToken,_0x2213be,_0x398ff8),_0x2a29a8=await transcriptHasToken(_0x2213be,_0x13084b);if(_0x4bc3b5)try{const _0x2eb6b0=await getFeature(_0x3d6974['featureId']);_0x2bf174=_0x2eb6b0['name']??null,_0x54fe19=_0x2eb6b0[_0x1cedee(0x10f)]??null;}catch{}if(_0x433da2['TBAhZ'](_0x4bc3b5,_0x54fe19))try{await _0x433da2['iocPu'](concludeSession,_0x3d6974['featureId'],_0x54fe19);}catch(_0x371c9e){if(_0x145139){await _0x433da2[_0x1cedee(0x109)](trackStop,_0x1a70c5,!![],_0x263878);return;}_0x263878=![];const _0x4f4e96=_0x371c9e instanceof Error?_0x371c9e[_0x1cedee(0x116)]:String(_0x371c9e),_0x1a031d={'decision':'block','reason':'Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session'+(_0x2bf174?_0x1cedee(0x10d)+_0x2bf174+'\x22':'')+_0x1cedee(0x108)+_0x4f4e96+'\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('+_0x13084b+')\x20and\x20the\x20token\x20`'+_0x398ff8+'`,\x20then\x20run\x20/exit\x20again.'};console['log'](JSON['stringify'](_0x1a031d)),await trackStop(_0x1a70c5,!![],_0x263878);return;}await trackStop(_0x1a70c5,!![],_0x263878);return;}catch{await trackStop(_0x1a70c5,!![],_0x263878);return;}}async function trackStop(_0x16c243,_0x17ca0f,_0x1e5b38){const _0x4217a0=_0x1437,_0x5ce79e={'IYubQ':function(_0x785283,_0x9f78c4){return _0x785283(_0x9f78c4);}};try{const _0x2ccc7c=_0x5ce79e['IYubQ'](createTelemetryCollector,'hook:stop');await _0x2ccc7c[_0x4217a0(0xfb)]({'sessionId':_0x16c243??undefined,'hooksEnabled':_0x17ca0f,'stopAllowed':_0x1e5b38}),await _0x2ccc7c['trackCommandEnd']('success');}catch{}}function _0x1437(_0x5f3c7c,_0x537429){_0x5f3c7c=_0x5f3c7c-0xf6;const _0x22f10e=_0x22f1();let _0x143793=_0x22f10e[_0x5f3c7c];return _0x143793;}async function transcriptHasToken(_0x57b890,_0x3eb3d3){if(!_0x57b890)return![];const _0x28190f=await readTranscriptTail(_0x57b890,0x30d40);return _0x28190f?_0x28190f['includes'](_0x3eb3d3):![];}async function readTranscriptTail(_0x3b183e,_0x202901){const _0x4756a8=_0x1437,_0x35ad66={'ehDrC':function(_0x5d6c28,_0x2e5320){return _0x5d6c28<=_0x2e5320;},'RGGSF':_0x4756a8(0x113)};let _0x23e585=null;try{_0x23e585=await open(_0x3b183e,'r');const _0x298b5f=await _0x23e585['stat'](),_0x24fd6b=Math[_0x4756a8(0x107)](_0x298b5f[_0x4756a8(0x100)],_0x202901);if(_0x35ad66[_0x4756a8(0x110)](_0x24fd6b,0x0))return'';const _0x26bbf9=Buffer[_0x4756a8(0x105)](_0x24fd6b);return await _0x23e585['read'](_0x26bbf9,0x0,_0x24fd6b,_0x298b5f['size']-_0x24fd6b),_0x26bbf9['toString'](_0x35ad66[_0x4756a8(0x102)]);}catch{return null;}finally{try{await _0x23e585?.[_0x4756a8(0xfd)]();}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 _0x9f02(){var _0x521d81=['457686sDWxdm','132670bVCmMD','438702fPqXuK','18TrkNnT','347016Dtvmmz','1406128ZoaIbd','40qLyibk','808805vvtXLE','84mDnDDk','150MMyrTo','10151523XCfXMk'];_0x9f02=function(){return _0x521d81;};return _0x9f02();}(function(_0x1a6b62,_0x412e0f){var _0x2d053b=_0x55b8,_0x39066a=_0x1a6b62();while(!![]){try{var _0x533071=-parseInt(_0x2d053b(0x179))/0x1+parseInt(_0x2d053b(0x180))/0x2*(-parseInt(_0x2d053b(0x182))/0x3)+-parseInt(_0x2d053b(0x17a))/0x4*(-parseInt(_0x2d053b(0x17b))/0x5)+-parseInt(_0x2d053b(0x17f))/0x6+parseInt(_0x2d053b(0x17c))/0x7*(-parseInt(_0x2d053b(0x183))/0x8)+parseInt(_0x2d053b(0x17e))/0x9+-parseInt(_0x2d053b(0x17d))/0xa*(-parseInt(_0x2d053b(0x181))/0xb);if(_0x533071===_0x412e0f)break;else _0x39066a['push'](_0x39066a['shift']());}catch(_0x2ee62b){_0x39066a['push'](_0x39066a['shift']());}}}(_0x9f02,0xe62fc));function _0x55b8(_0xfd307e,_0xdb4c4){_0xfd307e=_0xfd307e-0x179;var _0x9f02f5=_0x9f02();var _0x55b8c9=_0x9f02f5[_0xfd307e];return _0x55b8c9;}export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';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(_0x93462b,_0x1ba87e){const _0xf77173=_0x21f9,_0x56a883=_0x93462b();while(!![]){try{const _0x3be358=-parseInt(_0xf77173(0x179))/0x1*(-parseInt(_0xf77173(0x181))/0x2)+-parseInt(_0xf77173(0x187))/0x3*(parseInt(_0xf77173(0x186))/0x4)+-parseInt(_0xf77173(0x180))/0x5*(-parseInt(_0xf77173(0x17b))/0x6)+-parseInt(_0xf77173(0x182))/0x7*(parseInt(_0xf77173(0x17e))/0x8)+-parseInt(_0xf77173(0x17f))/0x9*(parseInt(_0xf77173(0x17c))/0xa)+-parseInt(_0xf77173(0x17d))/0xb+parseInt(_0xf77173(0x185))/0xc;if(_0x3be358===_0x1ba87e)break;else _0x56a883['push'](_0x56a883['shift']());}catch(_0x26702e){_0x56a883['push'](_0x56a883['shift']());}}}(_0x2037,0x8eb74));function _0x21f9(_0x45a192,_0x260049){_0x45a192=_0x45a192-0x179;const _0x2037e9=_0x2037();let _0x21f92a=_0x2037e9[_0x45a192];return _0x21f92a;}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x818816=_0x21f9,_0x2a4e80={'BXmOO':function(_0x64c555){return _0x64c555();},'uTLsf':function(_0x3d83a8,_0x19f026){return _0x3d83a8(_0x19f026);},'YyxCO':function(_0x5097d2,_0x28311c){return _0x5097d2 instanceof _0x28311c;}},_0x233efe=process['stdin'][_0x818816(0x18b)]&&process[_0x818816(0x188)][_0x818816(0x18b)];if(!_0x233efe)throw new Error(_0x818816(0x189));try{const _0x3890b5=await _0x2a4e80['BXmOO'](runDeviceAuthFlow),_0x5f235d=await _0x2a4e80[_0x818816(0x18a)](getCurrentUser,_0x3890b5);_0x5f235d['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x5f235d['user'][_0x818816(0x17a)]):console[_0x818816(0x184)]('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x398642){throw new Error('Login\x20failed:\x20'+(_0x2a4e80[_0x818816(0x183)](_0x398642,Error)?_0x398642['message']:_0x398642));}}function _0x2037(){const _0x29ce41=['2VVYtBT','243229ETJTOB','YyxCO','log','12357528qAYVDI','32iTJgeh','163590JjiTHU','stdout','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','uTLsf','isTTY','871593DrpdGW','organizationName','1352604BVBLWF','300QHcDSm','5142929FCKAgr','240JLjjFU','81711yjYXMo','20Hcsczq'];_0x2037=function(){return _0x29ce41;};return _0x2037();}
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(_0x29a76b,_0xf7d970){const _0x12a2e1=_0x5599,_0x55e30e=_0x29a76b();while(!![]){try{const _0x176ed7=-parseInt(_0x12a2e1(0x180))/0x1*(parseInt(_0x12a2e1(0x175))/0x2)+-parseInt(_0x12a2e1(0x178))/0x3*(-parseInt(_0x12a2e1(0x16d))/0x4)+parseInt(_0x12a2e1(0x18a))/0x5+-parseInt(_0x12a2e1(0x16f))/0x6+parseInt(_0x12a2e1(0x165))/0x7*(parseInt(_0x12a2e1(0x169))/0x8)+parseInt(_0x12a2e1(0x198))/0x9*(-parseInt(_0x12a2e1(0x190))/0xa)+-parseInt(_0x12a2e1(0x174))/0xb;if(_0x176ed7===_0xf7d970)break;else _0x55e30e['push'](_0x55e30e['shift']());}catch(_0x1d3168){_0x55e30e['push'](_0x55e30e['shift']());}}}(_0x2428,0x5468f));import{join}from'path';function _0x5599(_0x25f86a,_0x38ac0f){_0x25f86a=_0x25f86a-0x165;const _0x24280f=_0x2428();let _0x55992e=_0x24280f[_0x25f86a];return _0x55992e;}import{existsSync}from'fs';function _0x2428(){const _0x1bbb11=['\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','SKILL.md','2YxCPeN','UEJUP','fLadX','KmhYW','❌\x20Failed\x20to\x20add\x20marketplace:','zGcVG','ranger-testing/trailhead','\x0aYou\x20can\x20install\x20manually\x20with:','wantsSkillup','wJRTJ','863475bDyXGs','.claude','JItNJ','log','iWLon','plugin','1991950ZLuyqQ','includes','TFHzU','success','push','ranger@trailhead','isfJu','user','9ztDyQG','eMfrE','zOPEe','1669479QHcOKu','gHLDL','jHuOY','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','16nOJZIU','WqIcn','TugQZ','fFXjE','3144aQEJJh','--scope','1103406CDgBwq','error','enable','IKIGD','egKpO','2091540KDfRby','3452LESCpc','prompt','YDarT','1041aReAwW','project','RghoR','Where\x20should\x20the\x20plugin\x20be\x20installed?','list','phkiG'];_0x2428=function(){return _0x1bbb11;};return _0x2428();}import _0xbc6e1d from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x19597b){const _0x45a8aa=_0x5599,_0x5bbcb1={'gHLDL':function(_0x3c29cc,_0x3e9b38){return _0x3c29cc(_0x3e9b38);},'KmhYW':_0x45a8aa(0x195),'jHuOY':_0x45a8aa(0x168),'zGcVG':function(_0x269cfd,_0x21db15,_0x5168dc){return _0x269cfd(_0x21db15,_0x5168dc);},'fLadX':_0x45a8aa(0x18b),'TFHzU':_0x45a8aa(0x179),'zOPEe':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','PwDnJ':_0x45a8aa(0x17c),'wJRTJ':'User\x20(available\x20in\x20all\x20your\x20projects)','fFXjE':_0x45a8aa(0x197),'iAaBM':function(_0x3c3f03,_0x1ba705){return _0x3c3f03(_0x1ba705);},'egKpO':'✓\x20Marketplace\x20already\x20added','yGigG':_0x45a8aa(0x187),'phkiG':'plugin','Rxgio':function(_0x3d9fed,_0x43019a,_0x1d34c8){return _0x3d9fed(_0x43019a,_0x1d34c8);},'TugQZ':'already\x20enabled','isfJu':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x260328=await _0x5bbcb1['gHLDL'](isPluginInstalled,_0x5bbcb1[_0x45a8aa(0x183)]);if(_0x260328)return console['log'](_0x5bbcb1[_0x45a8aa(0x167)]),![];const _0x2944c7=_0x5bbcb1[_0x45a8aa(0x166)](existsSync,_0x5bbcb1[_0x45a8aa(0x185)](join,getProjectRoot(),_0x5bbcb1[_0x45a8aa(0x182)]));let _0x30b6a5;if(_0x19597b)_0x30b6a5=_0x19597b;else{if(_0x2944c7)_0x30b6a5=_0x5bbcb1['TFHzU'];else{console['log'](_0x5bbcb1[_0x45a8aa(0x19a)]);const _0x2da235=await _0xbc6e1d['prompt']([{'type':_0x5bbcb1['PwDnJ'],'name':'pluginScope','message':_0x45a8aa(0x17b),'choices':[{'name':_0x5bbcb1[_0x45a8aa(0x189)],'value':_0x45a8aa(0x197)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x45a8aa(0x179)}],'default':_0x5bbcb1[_0x45a8aa(0x16c)]}]);_0x30b6a5=_0x2da235['pluginScope'];}}console[_0x45a8aa(0x18d)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x30b6a5+'\x20level)...\x0a');const _0x1a45c1=await _0x5bbcb1['iAaBM'](isMarketplaceAdded,'trailhead');let _0x1f3db7=_0x1a45c1;if(_0x1a45c1)console[_0x45a8aa(0x18d)](_0x5bbcb1[_0x45a8aa(0x173)]);else{const _0x54d7c8=await runClaudeCommand([_0x45a8aa(0x18f),'marketplace','add',_0x45a8aa(0x186)]);!_0x54d7c8[_0x45a8aa(0x193)]?(console['error'](_0x45a8aa(0x184),_0x54d7c8[_0x45a8aa(0x170)]),console['log'](_0x5bbcb1['yGigG']),console[_0x45a8aa(0x18d)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log'](_0x45a8aa(0x17e)+_0x30b6a5)):_0x1f3db7=!![];}if(_0x1f3db7){const _0x4b0219=await runClaudeCommand([_0x5bbcb1[_0x45a8aa(0x17d)],'install',_0x45a8aa(0x195),_0x45a8aa(0x16e),_0x30b6a5]);if(!_0x4b0219[_0x45a8aa(0x193)])console['error']('❌\x20Failed\x20to\x20install\x20plugin:',_0x4b0219['error']),console['log'](_0x5bbcb1['yGigG']),console['log'](_0x45a8aa(0x17e)+_0x30b6a5);else{console['log']('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x2e70f1=[_0x5bbcb1[_0x45a8aa(0x17d)],_0x45a8aa(0x171),_0x45a8aa(0x195)];_0x30b6a5===_0x5bbcb1['TFHzU']&&_0x2e70f1[_0x45a8aa(0x194)]('--scope',_0x5bbcb1[_0x45a8aa(0x192)]);const _0x50bc8a=await _0x5bbcb1['Rxgio'](runClaudeCommand,_0x2e70f1,{'captureOutput':!![]}),_0x4da821=_0x50bc8a['output']?.[_0x45a8aa(0x191)](_0x5bbcb1[_0x45a8aa(0x16b)]);!_0x50bc8a['success']&&!_0x4da821?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x50bc8a[_0x45a8aa(0x170)]):console['log'](_0x5bbcb1[_0x45a8aa(0x196)]);}}return!![];}export async function ensureClaudeSkills(_0x1cad20){const _0x4bac73=_0x5599,_0x54dbb9={'JItNJ':function(_0x4b77ac,_0x48ee7f){return _0x4b77ac(_0x48ee7f);},'YDarT':'user','eMfrE':'ranger','dKCGX':_0x4bac73(0x17f),'yoZQm':function(_0x452657,_0x4ed5a8,_0x156c94,_0x129c58){return _0x452657(_0x4ed5a8,_0x156c94,_0x129c58);},'FAMuA':function(_0xbf6857,_0x191ab6){return _0xbf6857(_0x191ab6);},'IKIGD':'project','eIGmc':function(_0xc034a8,_0x475773){return _0xc034a8||_0x475773;},'WqIcn':function(_0xa237e2,_0x4f196a){return _0xa237e2(_0x4f196a);},'iWLon':function(_0x14ab99,_0x599a80,_0x2f7e09){return _0x14ab99(_0x599a80,_0x2f7e09);},'gSOAj':function(_0x1d0897){return _0x1d0897();},'UEJUP':_0x4bac73(0x18b),'CPjwV':function(_0x42d03c,_0x31575b){return _0x42d03c(_0x31575b);},'RghoR':'wantsSkillup'},_0xe7d747=_0x54dbb9[_0x4bac73(0x18c)](existsSync,join(getSkillsDir(_0x54dbb9[_0x4bac73(0x177)]),_0x54dbb9[_0x4bac73(0x199)],_0x54dbb9['dKCGX'])),_0x20e7f5=existsSync(_0x54dbb9['yoZQm'](join,_0x54dbb9['FAMuA'](getSkillsDir,_0x54dbb9[_0x4bac73(0x172)]),_0x54dbb9[_0x4bac73(0x199)],'SKILL.md'));if(_0x54dbb9['eIGmc'](_0xe7d747,_0x20e7f5))return console[_0x4bac73(0x18d)]('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x453826=_0x54dbb9[_0x4bac73(0x16a)](existsSync,_0x54dbb9[_0x4bac73(0x18e)](join,_0x54dbb9['gSOAj'](getProjectRoot),_0x54dbb9[_0x4bac73(0x181)]));let _0x2d1ed5=!![];if(_0x1cad20)await _0x54dbb9['CPjwV'](skillup,{'autoInstall':_0x1cad20,'suppressUsage':!![]});else{if(_0x453826)await skillup({'autoInstall':_0x4bac73(0x179),'suppressUsage':!![]});else{const _0x37e533=await _0xbc6e1d[_0x4bac73(0x176)]([{'type':'confirm','name':_0x54dbb9[_0x4bac73(0x17a)],'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x2d1ed5=_0x37e533[_0x4bac73(0x188)],_0x2d1ed5&&await skillup({'suppressUsage':!![]});}}return _0x2d1ed5;}
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 _0x1fdf(){const _0x301ac2=['⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','1914990sGMQKJ','Failed\x20to\x20read\x20opencode.json','utf-8','user','XAEGB','28yYHURE','oqKTN','list','90dPwAEb','parse','6618feZrHw','error','1385TltGZP','3566444aATMhH','log','✓\x20OpenCode\x20plugin\x20configured','327487wImHJp','593542RapRJI','project','90198BpgCpv','8yWAlBv','plugin','opencode.json','476253fqIsOy','$schema','KDciK','includes'];_0x1fdf=function(){return _0x301ac2;};return _0x1fdf();}(function(_0x121cc6,_0x2bd48a){const _0x8bc502=_0x1111,_0x36488f=_0x121cc6();while(!![]){try{const _0x42b599=parseInt(_0x8bc502(0x9e))/0x1+parseInt(_0x8bc502(0x9f))/0x2+-parseInt(_0x8bc502(0xa1))/0x3*(-parseInt(_0x8bc502(0xaf))/0x4)+-parseInt(_0x8bc502(0x9a))/0x5*(parseInt(_0x8bc502(0xb4))/0x6)+-parseInt(_0x8bc502(0x9b))/0x7*(parseInt(_0x8bc502(0xa2))/0x8)+parseInt(_0x8bc502(0xa5))/0x9*(parseInt(_0x8bc502(0xb2))/0xa)+-parseInt(_0x8bc502(0xaa))/0xb;if(_0x42b599===_0x2bd48a)break;else _0x36488f['push'](_0x36488f['shift']());}catch(_0x153c04){_0x36488f['push'](_0x36488f['shift']());}}}(_0x1fdf,0x4e944));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x591f91 from'inquirer';function _0x1111(_0x2ca92b,_0xccd2dc){_0x2ca92b=_0x2ca92b-0x99;const _0x1fdf8c=_0x1fdf();let _0x1111eb=_0x1fdf8c[_0x2ca92b];return _0x1111eb;}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0xaaad45){const _0x52e389=_0x1111,_0x423fd3={'KDciK':function(_0x35c538,_0x4f86ce){return _0x35c538(_0x4f86ce);},'XAEGB':_0x52e389(0xa4),'saHbl':'\x0a📦\x20OpenCode\x20Plugin\x0a','XsRFt':'pluginScope','nxStf':'Where\x20should\x20the\x20plugin\x20be\x20installed?','Cmgcz':'User\x20(available\x20in\x20all\x20your\x20projects)','ULuGX':'project','oqKTN':'https://opencode.ai/config.json','BKfJM':function(_0x179466,_0x2ff987,_0xfc5e0a){return _0x179466(_0x2ff987,_0xfc5e0a);},'trfXo':_0x52e389(0xab),'QEuXe':function(_0x3a8828,_0x54a9e2,_0x1678a7){return _0x3a8828(_0x54a9e2,_0x1678a7);},'Koprq':function(_0x19f88d,_0x4f98a7){return _0x19f88d+_0x4f98a7;}},_0xb86985=existsSync(join(_0x423fd3[_0x52e389(0xa7)](getOpencodeConfigDir,_0x52e389(0xa0)),_0x423fd3['XAEGB']));let _0x31272b;if(_0xaaad45)_0x31272b=_0xaaad45;else{if(_0xb86985)_0x31272b='project';else{console[_0x52e389(0x9c)](_0x423fd3['saHbl']);const _0x4ace46=await _0x591f91['prompt']([{'type':_0x52e389(0xb1),'name':_0x423fd3['XsRFt'],'message':_0x423fd3['nxStf'],'choices':[{'name':_0x423fd3['Cmgcz'],'value':_0x52e389(0xad)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x423fd3['ULuGX']}],'default':_0x52e389(0xad)}]);_0x31272b=_0x4ace46['pluginScope'];}}const _0x29d36f=join(getOpencodeConfigDir(_0x31272b),_0x423fd3[_0x52e389(0xae)]),_0x30d289='@ranger-testing/opencode-plugin',_0x22c1d7=_0x423fd3[_0x52e389(0xb0)];let _0x215396={};if(existsSync(_0x29d36f))try{const _0x445557=await _0x423fd3['BKfJM'](readFile,_0x29d36f,_0x52e389(0xac));_0x215396=JSON[_0x52e389(0xb3)](_0x445557);}catch(_0x3aab10){return console[_0x52e389(0x99)](_0x52e389(0xa9)),{'configured':![],'scope':_0x31272b,'error':_0x423fd3['trfXo'],'details':_0x3aab10};}const _0x39459f=Array['isArray'](_0x215396['plugin'])?_0x215396[_0x52e389(0xa3)]:[];if(_0x39459f[_0x52e389(0xa8)](_0x30d289))return console[_0x52e389(0x9c)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x31272b};return _0x215396['$schema']=_0x215396[_0x52e389(0xa6)]||_0x22c1d7,_0x215396[_0x52e389(0xa3)]=[..._0x39459f,_0x30d289],await _0x423fd3['QEuXe'](mkdir,_0x423fd3[_0x52e389(0xa7)](getOpencodeConfigDir,_0x31272b),{'recursive':!![]}),await writeFile(_0x29d36f,_0x423fd3['Koprq'](JSON['stringify'](_0x215396,null,0x2),'\x0a')),console['log'](_0x52e389(0x9d)),{'configured':!![],'scope':_0x31272b};}
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(_0x537f42,_0x5dd73a){const _0x5dc418=_0x50fa,_0x2f94ea=_0x537f42();while(!![]){try{const _0x3e6c45=-parseInt(_0x5dc418(0x187))/0x1*(parseInt(_0x5dc418(0x17b))/0x2)+parseInt(_0x5dc418(0x18c))/0x3*(-parseInt(_0x5dc418(0x1a9))/0x4)+-parseInt(_0x5dc418(0x175))/0x5+parseInt(_0x5dc418(0x18b))/0x6*(parseInt(_0x5dc418(0x16c))/0x7)+-parseInt(_0x5dc418(0x1a6))/0x8*(-parseInt(_0x5dc418(0x183))/0x9)+parseInt(_0x5dc418(0x195))/0xa*(parseInt(_0x5dc418(0x196))/0xb)+parseInt(_0x5dc418(0x1a4))/0xc*(-parseInt(_0x5dc418(0x19c))/0xd);if(_0x3e6c45===_0x5dd73a)break;else _0x2f94ea['push'](_0x2f94ea['shift']());}catch(_0x318ae0){_0x2f94ea['push'](_0x2f94ea['shift']());}}}(_0x161d,0x4f196));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x161d(){const _0x2c6fdf=['5377510bOCQHf','11ppdzIx','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','mZMvN','tmZWG','chromium','1464294PXObmz','skipChromium','trackPhaseEnd','profile_activate','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','sessions','project','XfYyF','72EpmNAv','joJiq','94832TFHStJ','avpWH','name','204DiFOJe','jBUOH','evELa','map','profile','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','7NPaRZi','eSmAo','GGBgh','--scope','plugin','OgGAM','DMIbR','install','wAAOe','1718915tVWBJj','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','auth.json','FEtfM','baseUrl','path','230662xHhzLC','EdrCY','auth','LZaoS','eKcCm','npNsx','\x22:\x20','length','261Mrykfj','PZFOM','skills','log','1LpFHNx','trackPhaseStart','imzVd','CI\x20profile\x20\x22','3664002yyMGHv','1956znMfLu','error','ranger@trailhead','✓\x20Claude\x20Code\x20plugin\x20installed','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','Auto-detected\x20CI\x20profile:\x20','add','marketplace','success'];_0x161d=function(){return _0x2c6fdf;};return _0x161d();}import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';function _0x50fa(_0x349875,_0x500e8b){_0x349875=_0x349875-0x168;const _0x161d84=_0x161d();let _0x50faa2=_0x161d84[_0x349875];return _0x50faa2;}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(_0x15c32c){const _0x3dd1c4=_0x50fa,_0x3cd934={'GXBKw':function(_0x5c0781,_0x3582e5,_0x496354){return _0x5c0781(_0x3582e5,_0x496354);},'abfQR':function(_0x3da730,_0x47d9bc,_0x572b53){return _0x3da730(_0x47d9bc,_0x572b53);},'SRFvp':_0x3dd1c4(0x1a0),'eSmAo':'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','EdrCY':function(_0x10f1b5,_0x576d7d,_0x293d13){return _0x10f1b5(_0x576d7d,_0x293d13);},'EKHXq':function(_0x1076c4,_0x24b24d){return _0x1076c4+_0x24b24d;},'hghcX':'No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a'},_0x3a65a4=getRangerDir(),_0x22a350=_0x3cd934['GXBKw'](join,_0x3a65a4,'ci');if(_0x15c32c){const _0x5c1c70=_0x3cd934['abfQR'](join,_0x22a350,_0x15c32c);return{'name':_0x15c32c,'path':_0x5c1c70};}if(!existsSync(_0x22a350))throw new Error(_0x3cd934['SRFvp']+_0x3cd934[_0x3dd1c4(0x16d)]);const _0xe06a68=await _0x3cd934[_0x3dd1c4(0x17c)](readdir,_0x22a350,{'withFileTypes':!![]}),_0x576f5f=_0xe06a68['filter'](_0x49a5c5=>_0x49a5c5['isDirectory']())[_0x3dd1c4(0x169)](_0x3101f2=>_0x3101f2['name']);if(_0x576f5f[_0x3dd1c4(0x182)]===0x0)throw new Error(_0x3cd934['EKHXq'](_0x3cd934['hghcX'],'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.'));if(_0x576f5f[_0x3dd1c4(0x182)]===0x1){const _0x19ac9e=_0x576f5f[0x0];return console[_0x3dd1c4(0x186)](_0x3dd1c4(0x191)+_0x19ac9e),{'name':_0x19ac9e,'path':join(_0x22a350,_0x19ac9e)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x576f5f['join'](',\x20')+'.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.');}async function installPluginNonInteractive(){const _0x54124c=_0x50fa,_0x58931e={'VjZBO':_0x54124c(0x18e),'GpXyl':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','FEtfM':'Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','XfYyF':function(_0x48aee3,_0x11ab56){return _0x48aee3(_0x11ab56);},'mZMvN':_0x54124c(0x170),'JKAMg':_0x54124c(0x192),'LZaoS':'You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','tmZWG':_0x54124c(0x173),'pyFaN':_0x54124c(0x16f),'evELa':'Failed\x20to\x20install\x20plugin:','bsGKQ':_0x54124c(0x18f)},_0x26f30b=await isPluginInstalled(_0x58931e['VjZBO']);if(_0x26f30b)return console[_0x54124c(0x186)](_0x58931e['GpXyl']),![];console[_0x54124c(0x186)](_0x58931e[_0x54124c(0x178)]);const _0x3fbb5c=await isMarketplaceAdded('trailhead');let _0x228782=_0x3fbb5c;if(_0x3fbb5c)console[_0x54124c(0x186)]('✓\x20Marketplace\x20already\x20added');else{const _0x5e2abb=await _0x58931e['XfYyF'](runClaudeCommand,[_0x58931e[_0x54124c(0x199)],_0x54124c(0x193),_0x58931e['JKAMg'],'ranger-testing/trailhead']);!_0x5e2abb[_0x54124c(0x194)]?(console['error']('Failed\x20to\x20add\x20marketplace:',_0x5e2abb['error']),console[_0x54124c(0x186)](_0x58931e[_0x54124c(0x17e)])):_0x228782=!![];}if(_0x228782){const _0x316675=await _0x58931e[_0x54124c(0x1a3)](runClaudeCommand,['plugin',_0x58931e[_0x54124c(0x19a)],_0x58931e['VjZBO'],_0x58931e['pyFaN'],_0x54124c(0x1a2)]);!_0x316675[_0x54124c(0x194)]?(console['error'](_0x58931e[_0x54124c(0x168)],_0x316675[_0x54124c(0x18d)]),console['log']('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project')):console[_0x54124c(0x186)](_0x58931e['bsGKQ']);}return!![];}export async function setupCi(_0x2fefed,_0x3ead57,_0x34ab71){const _0x599280=_0x50fa,_0x124d6d={'jBUOH':_0x599280(0x17d),'imzVd':'dir_setup','TAuWN':function(_0x3c973d,_0x4b60be){return _0x3c973d(_0x4b60be);},'DkuVz':function(_0x495eb1,_0x5554e8,_0x164622){return _0x495eb1(_0x5554e8,_0x164622);},'dQxNm':function(_0x6efd04,_0x231c51){return _0x6efd04(_0x231c51);},'LJALW':_0x599280(0x190),'avpWH':function(_0x4589ba){return _0x4589ba();},'GGBgh':_0x599280(0x19b),'eKcCm':function(_0x1b0a0d,_0x352e58,_0x2a63e8){return _0x1b0a0d(_0x352e58,_0x2a63e8);},'npNsx':function(_0xef5bef,_0x553af9,_0x18bc7e){return _0xef5bef(_0x553af9,_0x18bc7e);},'OuEsL':function(_0x3e3193,_0x4b6860){return _0x3e3193(_0x4b6860);},'CnzJU':function(_0x525328,_0x4a37cc,_0x182557){return _0x525328(_0x4a37cc,_0x182557);},'uuGal':_0x599280(0x176),'DMIbR':function(_0x3d9301,_0x452755){return _0x3d9301 instanceof _0x452755;},'biyHC':'✓\x20Auth\x20state\x20found','DDeNx':_0x599280(0x198),'wAAOe':'profile_activate','OgGAM':_0x599280(0x170),'PZFOM':function(_0x5ea3b8,_0x24fad8){return _0x5ea3b8(_0x24fad8);},'joJiq':'project','rUClH':_0x599280(0x185)};console['log']('\x0a🔧\x20Ranger\x20CI\x20Setup\x0a'),_0x34ab71?.[_0x599280(0x188)](_0x124d6d[_0x599280(0x1aa)]),await authenticate(_0x2fefed),_0x34ab71?.['trackPhaseEnd']('auth'),_0x34ab71?.['trackPhaseStart'](_0x124d6d[_0x599280(0x189)]);const {path:_0xacdc59,installed:_0x2f8645}=await ensureRangerDir();await _0x124d6d['TAuWN'](writeRangerGitignore,_0xacdc59);const _0xa30817=_0x124d6d['DkuVz'](join,_0xacdc59,_0x599280(0x1a1));!_0x124d6d['dQxNm'](existsSync,_0xa30817)&&await _0x124d6d['DkuVz'](mkdir,_0xa30817,{'recursive':!![]});_0x34ab71?.[_0x599280(0x19e)](_0x124d6d[_0x599280(0x189)],{'installed':_0x2f8645}),_0x34ab71?.['trackPhaseStart'](_0x599280(0x19b));let _0xec1be6=![];_0x3ead57?.[_0x599280(0x19d)]?console['log'](_0x124d6d['LJALW']):_0xec1be6=await _0x124d6d[_0x599280(0x1a7)](ensureChromium);_0x34ab71?.['trackPhaseEnd'](_0x124d6d[_0x599280(0x16e)],{'installed':_0xec1be6,'skipped':!!_0x3ead57?.['skipChromium']}),_0x34ab71?.[_0x599280(0x188)](_0x599280(0x19f));const _0x170a8f=await findCiProfile(_0x3ead57?.[_0x599280(0x16a)]);let _0x4e4d28=![];_0x3ead57?.['baseUrl']&&(await mkdir(_0x170a8f[_0x599280(0x17a)],{'recursive':!![]}),await _0x124d6d[_0x599280(0x17f)](saveSettings,_0x170a8f['name'],{'baseUrl':_0x3ead57[_0x599280(0x179)],'headless':!![]}),console['log']('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x3ead57['baseUrl']),_0x4e4d28=!![]);const _0x48593d=_0x124d6d[_0x599280(0x180)](join,_0x170a8f[_0x599280(0x17a)],'settings.json');if(!_0x124d6d['OuEsL'](existsSync,_0x48593d)&&!_0x4e4d28)throw new Error(_0x599280(0x18a)+_0x170a8f[_0x599280(0x1a8)]+_0x599280(0x197));const _0xcba118=join(_0x170a8f[_0x599280(0x17a)],_0x599280(0x177)),_0x2d45de=_0x124d6d['CnzJU'](join,_0x170a8f['path'],'auth.json.enc'),_0x487dce=existsSync(_0xcba118),_0x5ca39f=_0x124d6d['TAuWN'](existsSync,_0x2d45de);if(_0x5ca39f)try{const _0x51c5d7=await getToken();if(!_0x51c5d7)throw new Error('No\x20API\x20token\x20available\x20for\x20decryption');const _0x376886=await readFile(_0x2d45de);_0x124d6d['CnzJU'](decrypt,_0x376886,_0x51c5d7),console['log'](_0x124d6d['uuGal']);}catch(_0x4d0073){const _0x4fcda8=_0x124d6d[_0x599280(0x172)](_0x4d0073,Error)?_0x4d0073['message']:String(_0x4d0073);throw new Error(_0x599280(0x16b)+_0x170a8f[_0x599280(0x1a8)]+_0x599280(0x181)+_0x4fcda8);}else _0x487dce?console['log'](_0x124d6d['biyHC']):console['log'](_0x124d6d['DDeNx']);await writeActiveProfileName(_0x170a8f['name']),console['log']('✓\x20Active\x20profile:\x20'+_0x170a8f['name']),_0x34ab71?.['trackPhaseEnd'](_0x124d6d[_0x599280(0x174)],{'profileName':_0x170a8f[_0x599280(0x1a8)],'hasAuth':_0x487dce,'hasEncryptedAuth':_0x5ca39f,'createdSettings':_0x4e4d28}),_0x34ab71?.[_0x599280(0x188)](_0x124d6d[_0x599280(0x171)]);const _0x519db1=await installPluginNonInteractive();_0x34ab71?.['trackPhaseEnd']('plugin',{'installed':_0x519db1}),_0x34ab71?.['trackPhaseStart'](_0x599280(0x185)),await _0x124d6d[_0x599280(0x184)](skillup,{'autoInstall':_0x124d6d[_0x599280(0x1a5)]}),_0x34ab71?.[_0x599280(0x19e)](_0x124d6d['rUClH']),console[_0x599280(0x186)]('\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a');}
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 _0x2521(_0x30879d,_0x5da847){_0x30879d=_0x30879d-0xd7;const _0x45ae2c=_0x45ae();let _0x2521ae=_0x45ae2c[_0x30879d];return _0x2521ae;}(function(_0x10cb6b,_0x3cd4f6){const _0x7546a4=_0x2521,_0x453a23=_0x10cb6b();while(!![]){try{const _0x501173=parseInt(_0x7546a4(0x101))/0x1+-parseInt(_0x7546a4(0xf2))/0x2+-parseInt(_0x7546a4(0xff))/0x3+-parseInt(_0x7546a4(0xe4))/0x4+parseInt(_0x7546a4(0xf4))/0x5+-parseInt(_0x7546a4(0xf5))/0x6+parseInt(_0x7546a4(0xd7))/0x7;if(_0x501173===_0x3cd4f6)break;else _0x453a23['push'](_0x453a23['shift']());}catch(_0x84615a){_0x453a23['push'](_0x453a23['shift']());}}}(_0x45ae,0x31aa2));import{basename}from'path';import _0x5ae3f3 from'inquirer';function _0x45ae(){const _0x1e2bc6=['\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!','eVwqE','EATnR','user','split','All\x20projects\x20(','1625064aPsCjZ','isTTY','platform','stdout','project-level','\x20skill','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','TFTSh','message','/skills/','ranger','\x0a📦\x20Installing\x20skills...\x0a','TBvri','list','190172MtLBxR','\x0a✅\x20Installed\x20','205135WIpkTk','1480896pNTaAd','aWYPg','zRmty','TEySU','IFGmy','dCOnz','autoInstall','opencode','\x20\x203.\x20Run:\x20ranger\x20skillup','To\x20get\x20started:','981963dSrdvG','stdin','311444dYaMFc','LcdaW','JNAGJ','log','project','prompt','6485108hzHRcl','\x20\x202.\x20Run:\x20ranger\x20setup','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','/.opencode/skills/','suppressUsage','MeNrS','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a'];_0x45ae=function(){return _0x1e2bc6;};return _0x45ae();}import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x1f2e8e={}){const _0x4f0702=_0x2521,_0xd4ac1d={'zRmty':_0x4f0702(0xdd),'dCOnz':function(_0x59dfea){return _0x59dfea();},'MeNrS':'2|3|1|0|4|5','gqZEs':function(_0x5bdbeb,_0x3919b8){return _0x5bdbeb===_0x3919b8;},'IFGmy':'\x20--opencode','JNAGJ':'✓\x20Found\x20API\x20token','eVwqE':function(_0x52fa44){return _0x52fa44();},'TFTSh':function(_0x562f4e,_0x542c04){return _0x562f4e(_0x542c04);},'TBvri':_0x4f0702(0xfc),'TEySU':'user','oBqqZ':function(_0x3b4b6d){return _0x3b4b6d();},'HlmQD':'Where\x20should\x20skills\x20be\x20installed?','aWYPg':_0x4f0702(0x105),'EATnR':_0x4f0702(0xee),'aveQu':function(_0x1b5b45,_0x2270cc){return _0x1b5b45 instanceof _0x2270cc;},'ScRcK':_0x4f0702(0xe8),'LcdaW':function(_0x5d338a,_0x5eaafa){return _0x5d338a>_0x5eaafa;},'lEjUk':'To\x20use:','nbQBZ':_0x4f0702(0xea)};console[_0x4f0702(0x104)](_0xd4ac1d[_0x4f0702(0xf7)]);const _0x5045ce=_0x1f2e8e[_0x4f0702(0xe6)]??'claude',_0x1165f3=await _0xd4ac1d[_0x4f0702(0xfa)](getToken);if(!_0x1165f3){const _0x2e0871=_0xd4ac1d[_0x4f0702(0xdc)][_0x4f0702(0xe2)]('|');let _0x369481=0x0;while(!![]){switch(_0x2e0871[_0x369481++]){case'0':console['log'](_0x4f0702(0xd8)+(_0xd4ac1d['gqZEs'](_0x5045ce,'opencode')?_0xd4ac1d[_0x4f0702(0xf9)]:'')+'\x20<your-api-token>');continue;case'1':console[_0x4f0702(0x104)]('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli');continue;case'2':console[_0x4f0702(0x104)]('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a');continue;case'3':console['log'](_0x4f0702(0xfe));continue;case'4':console[_0x4f0702(0x104)](_0x4f0702(0xfd)+(_0x5045ce==='opencode'?_0xd4ac1d[_0x4f0702(0xf9)]:'')+'\x0a');continue;case'5':return;}break;}}console[_0x4f0702(0x104)](_0xd4ac1d[_0x4f0702(0x103)]);const _0x10ca91=_0xd4ac1d[_0x4f0702(0xdf)](getProjectRoot),_0x24162b=_0xd4ac1d['TFTSh'](basename,_0x10ca91),_0x5d5092=_0x5045ce===_0xd4ac1d['TBvri']?_0xd4ac1d[_0x4f0702(0xeb)](getOpencodeConfigDir,_0xd4ac1d['TEySU'])+_0x4f0702(0xed):_0xd4ac1d['oBqqZ'](getClaudeConfigDir)+_0x4f0702(0xed),_0x5c108d=_0xd4ac1d['gqZEs'](_0x5045ce,_0xd4ac1d[_0x4f0702(0xf0)])?_0x10ca91+_0x4f0702(0xda):_0x10ca91+'/.claude/skills/',_0x5067da=process[_0x4f0702(0x100)]['isTTY']&&process[_0x4f0702(0xe7)][_0x4f0702(0xe5)];let _0x25c223;if(_0x1f2e8e[_0x4f0702(0xfb)])_0x25c223=_0x1f2e8e['autoInstall'];else{if(_0x5067da){const _0x54c9bd=await _0x5ae3f3[_0x4f0702(0x106)]([{'type':_0x4f0702(0xf1),'name':'installLevel','message':_0xd4ac1d['HlmQD'],'choices':[{'name':_0x4f0702(0xe3)+_0x5d5092+')','value':_0xd4ac1d[_0x4f0702(0xf8)]},{'name':'This\x20project\x20only\x20('+_0x5c108d+')','value':_0xd4ac1d[_0x4f0702(0xf6)]}]}]);_0x25c223=_0x54c9bd['installLevel'];}else _0x25c223='project',console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x5c108d+')');}let _0x1ac44f=0x0;const _0x38dea2=getCurrentVersion();console[_0x4f0702(0x104)](_0x4f0702(0xef));try{const _0x2fbe1b=await installSkill(_0xd4ac1d[_0x4f0702(0xe0)],{'cliVersion':_0x38dea2,'level':_0x25c223,'platform':_0x5045ce});_0x2fbe1b&&_0x1ac44f++;}catch(_0x58ef70){console['warn'](_0x4f0702(0xd9),_0xd4ac1d['aveQu'](_0x58ef70,Error)?_0x58ef70[_0x4f0702(0xec)]:_0x58ef70);}if(_0x1ac44f>0x0){const _0x36fc0e=_0xd4ac1d['gqZEs'](_0x25c223,_0x4f0702(0xe1))?'user-level':_0xd4ac1d['ScRcK'];console['log'](_0x4f0702(0xf3)+_0x1ac44f+'\x20'+_0x36fc0e+_0x4f0702(0xe9)+(_0xd4ac1d[_0x4f0702(0x102)](_0x1ac44f,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x1f2e8e[_0x4f0702(0xdb)]&&(console[_0x4f0702(0x104)](_0xd4ac1d['lEjUk']),_0xd4ac1d['gqZEs'](_0x5045ce,'opencode')?console[_0x4f0702(0x104)](_0xd4ac1d['nbQBZ']):console[_0x4f0702(0x104)](_0x4f0702(0xde)));}else console[_0x4f0702(0x104)]('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
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
- (function(_0x43e1af,_0x4c8d98){const _0x18ba42=_0x2e84,_0x1c8904=_0x43e1af();while(!![]){try{const _0x2f52b5=parseInt(_0x18ba42(0x191))/0x1*(parseInt(_0x18ba42(0x172))/0x2)+-parseInt(_0x18ba42(0x192))/0x3+-parseInt(_0x18ba42(0x18d))/0x4+parseInt(_0x18ba42(0x180))/0x5+parseInt(_0x18ba42(0x17f))/0x6+-parseInt(_0x18ba42(0x149))/0x7*(parseInt(_0x18ba42(0x187))/0x8)+parseInt(_0x18ba42(0x154))/0x9;if(_0x2f52b5===_0x4c8d98)break;else _0x1c8904['push'](_0x1c8904['shift']());}catch(_0x503fe8){_0x1c8904['push'](_0x1c8904['shift']());}}}(_0xe2d8,0xba4a2));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x233726 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=_0x2b99d3=>'\x1b[1m'+_0x2b99d3+'\x1b[0m';function getPlaywrightVersion(){const _0x1d380d=_0x2e84,_0x73ad57={'aqCut':function(_0x70407,_0x2186d4){return _0x70407(_0x2186d4);}};try{const _0x3279cf=require['resolve']('playwright/package.json'),_0x44a5ae=_0x73ad57[_0x1d380d(0x196)](require,_0x3279cf);return _0x44a5ae['version'];}catch{return null;}}function installChromiumBinary(_0x4b2d6c){const _0x162570=_0x2e84,_0x14f897={'vcIGJ':function(_0x3d8071){return _0x3d8071();},'jEKyO':'install','fSLEi':_0x162570(0x188),'pDjdp':'inherit'};return new Promise((_0x3a26f6,_0x29cb16)=>{const _0x37495a=_0x162570,_0x3976ff=_0x4b2d6c?['playwright@'+_0x4b2d6c,_0x37495a(0x148),_0x37495a(0x188)]:[_0x37495a(0x16a),_0x14f897[_0x37495a(0x15a)],_0x14f897[_0x37495a(0x156)]],_0x292f2f=spawn('npx',_0x3976ff,{'stdio':_0x14f897['pDjdp'],'shell':process['platform']===_0x37495a(0x14c)});_0x292f2f['on']('close',_0x405a40=>{const _0x3b998b=_0x37495a;_0x405a40===0x0?_0x14f897['vcIGJ'](_0x3a26f6):_0x29cb16(new Error(_0x3b998b(0x197)+_0x405a40));}),_0x292f2f['on'](_0x37495a(0x186),_0x3391f5=>{_0x29cb16(_0x3391f5);});});}export async function authenticate(_0x12ac98){const _0xf04f3e=_0x2e84,_0x4489c0={'NcxQv':function(_0x18f7d5,_0x5d1923){return _0x18f7d5(_0x5d1923);},'HCwUH':function(_0x9f30ee){return _0x9f30ee();},'Hguaa':function(_0x42e18a,_0x477474){return _0x42e18a instanceof _0x477474;},'NudQR':function(_0x1052e7,_0x322a17){return _0x1052e7(_0x322a17);},'UfZLx':'device_auth'};if(!_0x12ac98){const _0x2c76c9=await getToken();if(_0x2c76c9){const _0x32198=await _0x4489c0[_0xf04f3e(0x153)](getCurrentUser,_0x2c76c9);if(_0x32198['success'])return console['log'](_0xf04f3e(0x1a2)+_0x32198[_0xf04f3e(0x15f)]['organizationName']),{'token':_0x2c76c9,'method':'existing_token'};}try{_0x12ac98=await _0x4489c0[_0xf04f3e(0x14a)](runDeviceAuthFlow);}catch(_0x8cc279){throw new Error(_0xf04f3e(0x185)+(_0x4489c0[_0xf04f3e(0x146)](_0x8cc279,Error)?_0x8cc279[_0xf04f3e(0x157)]:_0x8cc279));}const _0x29a1cd=await _0x4489c0['NudQR'](getCurrentUser,_0x12ac98);if(!_0x29a1cd['success'])throw new Error(_0xf04f3e(0x18b)+_0x29a1cd['error']);return console['log']('✓\x20Authenticated\x20to\x20'+_0x29a1cd[_0xf04f3e(0x15f)][_0xf04f3e(0x183)]),{'token':_0x12ac98,'method':_0x4489c0[_0xf04f3e(0x175)]};}console[_0xf04f3e(0x178)]('Validating\x20API\x20token...');const _0x5e814a=await getCurrentUser(_0x12ac98);if(!_0x5e814a[_0xf04f3e(0x18a)]){if(_0x5e814a[_0xf04f3e(0x160)])throw new Error(_0xf04f3e(0x185)+_0x5e814a['error']+_0xf04f3e(0x13a));else throw new Error(_0xf04f3e(0x150)+_0x5e814a['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0xf04f3e(0x177)+_0x5e814a['user'][_0xf04f3e(0x183)]),await _0x4489c0[_0xf04f3e(0x179)](storeToken,_0x12ac98),console['log'](process['env'][_0xf04f3e(0x165)]?'✓\x20Exported\x20credentials\x20for\x20CI':'✓\x20Stored\x20credentials\x20locally'),{'token':_0x12ac98,'method':'provided_token'};}export async function ensureRangerDir(){const _0x583c85=_0x2e84,_0x405728={'BRBND':function(_0x558e56){return _0x558e56();},'TZqII':'✓\x20Created\x20.ranger/\x20directory','XzJvq':'✓\x20.ranger/\x20directory\x20already\x20exists'},_0x48e63f=_0x405728['BRBND'](getRangerDir);return!existsSync(_0x48e63f)?(await mkdir(_0x48e63f,{'recursive':!![]}),console['log'](_0x405728['TZqII']),{'path':_0x48e63f,'installed':!![]}):(console[_0x583c85(0x178)](_0x405728[_0x583c85(0x19d)]),{'path':_0x48e63f,'installed':![]});}export async function ensureChromium(){const _0x4ff3c5=_0x2e84,_0x1432c5={'LEvfp':function(_0x18d5fe){return _0x18d5fe();},'zsTEt':_0x4ff3c5(0x164),'JcXzZ':_0x4ff3c5(0x15d),'WuBTb':_0x4ff3c5(0x15b),'bliKF':function(_0x1e5cac,_0xaed57f){return _0x1e5cac instanceof _0xaed57f;},'aqLzK':_0x4ff3c5(0x13d),'lTbEb':'\x20\x20npx\x20playwright\x20install\x20chromium','RtCKG':_0x4ff3c5(0x190),'ifUTx':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x113550=![];try{const _0x2f76d2=chromium[_0x4ff3c5(0x152)]();_0x113550=existsSync(_0x2f76d2);}catch{_0x113550=![];}if(_0x113550)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x42e9af=_0x1432c5['LEvfp'](getPlaywrightVersion),_0x327417=process['stdin']['isTTY']&&process[_0x4ff3c5(0x19e)][_0x4ff3c5(0x171)];let _0x2498d8=!![];if(_0x327417){const {install:_0x35ec34}=await _0x233726['prompt']([{'type':_0x1432c5[_0x4ff3c5(0x16f)],'name':'install','message':_0x42e9af?'The\x20required\x20version\x20('+_0x42e9af+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?':'The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x2498d8=_0x35ec34;}else console[_0x4ff3c5(0x178)](_0x4ff3c5(0x17a)+(_0x42e9af?'\x20'+_0x42e9af:'')+_0x4ff3c5(0x141));if(_0x2498d8){console[_0x4ff3c5(0x178)](_0x1432c5[_0x4ff3c5(0x181)]);try{await installChromiumBinary(_0x42e9af),console[_0x4ff3c5(0x178)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x261d77){console[_0x4ff3c5(0x186)](_0x1432c5['WuBTb'],_0x1432c5[_0x4ff3c5(0x1a3)](_0x261d77,Error)?_0x261d77[_0x4ff3c5(0x157)]:_0x261d77),console[_0x4ff3c5(0x178)](_0x1432c5[_0x4ff3c5(0x17c)]),_0x42e9af?console['log'](_0x4ff3c5(0x19c)+_0x42e9af+_0x4ff3c5(0x15e)):console['log'](_0x1432c5['lTbEb']);}}else console[_0x4ff3c5(0x178)](_0x1432c5[_0x4ff3c5(0x159)]),console[_0x4ff3c5(0x178)](_0x1432c5[_0x4ff3c5(0x147)]),_0x42e9af?console[_0x4ff3c5(0x178)](_0x4ff3c5(0x19c)+_0x42e9af+'\x20install\x20chromium'):console['log'](_0x1432c5['lTbEb']);return!![];}function _0x2e84(_0x3e108,_0x12094f){_0x3e108=_0x3e108-0x139;const _0xe2d864=_0xe2d8();let _0x2e8409=_0xe2d864[_0x3e108];return _0x2e8409;}export async function writeRangerGitignore(_0x4219cb){const _0x3e25a4=_0x2e84,_0x9a38de={'ljuWY':function(_0x53fbdb,_0x5e3a44,_0x888756){return _0x53fbdb(_0x5e3a44,_0x888756);},'hdGdZ':_0x3e25a4(0x18e),'rWtKg':function(_0x42bf4b,_0x157da3,_0x5eb863){return _0x42bf4b(_0x157da3,_0x5eb863);},'UMfFO':'✓\x20Created\x20.ranger/.gitignore'},_0x1fb4a9=_0x9a38de['ljuWY'](join,_0x4219cb,_0x9a38de[_0x3e25a4(0x145)]),_0x3ff17d=_0x3e25a4(0x13e);await _0x9a38de[_0x3e25a4(0x199)](writeFile,_0x1fb4a9,_0x3ff17d),console['log'](_0x9a38de[_0x3e25a4(0x194)]);}function printProfileSetupLaterInstructions(){const _0x23ce78=_0x2e84,_0x5af042={'sJggJ':function(_0x3387ad,_0x1fe955){return _0x3387ad(_0x1fe955);},'mxAOo':_0x23ce78(0x19f)};console['log'](_0x23ce78(0x1a0)),console[_0x23ce78(0x178)]('\x20\x20'+_0x5af042['sJggJ'](bold,_0x23ce78(0x162))),console[_0x23ce78(0x178)](_0x5af042['mxAOo']);}function _0xe2d8(){const _0x4fdc28=['\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','eYPRx','\x20\x20npx\x20playwright@','XzJvq','stdout','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','BdplG','✓\x20Already\x20authenticated\x20to\x20','bliKF','ablkW','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\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','git_check','pInwD','...','eMRGJ','\x20and\x20prompt\x20the\x20coding','aQRey','hdGdZ','Hguaa','ifUTx','install','806071yxOFGv','HCwUH','.ranger','win32','CWhef','Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','hzClx','executablePath','NcxQv','31555962muIPHT','url','fSLEi','message','kVcID','RtCKG','jEKyO','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','ready','\x0aInstalling\x20Chromium\x20browser...\x0a','\x20install\x20chromium','user','status','plugin','ranger\x20profile\x20add\x20local','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','confirm','GITHUB_ENV','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','use\x20until\x20the\x20session\x20expires.\x0a','force','prompt','playwright','trackPhaseEnd','trackPhaseStart','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','zsTEt','BUSJu','isTTY','53962ERQqLC','auth','bkjrC','UfZLx','opencode','✓\x20Authenticated\x20to\x20','log','NudQR','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium','skipChromium','aqLzK','\x0aIn\x20Claude\x20Code,\x20run\x20','GhPqu','4490334OGlRyT','1925295jDIjVm','JcXzZ','skills','organizationName','DoUlg','Authentication\x20failed:\x20','error','104sHgGST','chromium','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','success','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','stdin','5282476tzXXRb','.gitignore','skipped','\x0a⚠\x20Skipping\x20Chromium\x20installation.','6tzQrSU','3662706GNgbmh','✓\x20Local\x20profile\x20already\x20exists','UMfFO','WwtBn','aqCut','Installation\x20failed\x20with\x20exit\x20code\x20','to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','rWtKg'];_0xe2d8=function(){return _0x4fdc28;};return _0xe2d8();}async function ensureLocalEnv(_0x4acc1b,_0x50d4b4){const _0x33b6a5=_0x2e84,_0x2167d9={'BUSJu':function(_0x1c36bc){return _0x1c36bc();},'WgPiu':function(_0x1a756c,_0x142a8e,_0x4cdbdd){return _0x1a756c(_0x142a8e,_0x4cdbdd);},'WwtBn':'local','eMRGJ':_0x33b6a5(0x193),'RxJPT':'\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','CDduh':_0x33b6a5(0x189),'oeQUa':'You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','VHXfN':_0x33b6a5(0x164),'eYPRx':'wantsProfile','WrXaR':'\x0a❌\x20Profile\x20setup\x20failed:','aQRey':function(_0x14faba,_0x1d7c89){return _0x14faba instanceof _0x1d7c89;}};if(!_0x2167d9[_0x33b6a5(0x170)](findGitRoot))return console['log'](_0x33b6a5(0x163)),{'ready':![],'skipped':!![]};if(_0x2167d9['WgPiu'](findExistingEnv,_0x2167d9[_0x33b6a5(0x195)],{'locations':[_0x2167d9[_0x33b6a5(0x195)]]}))return console[_0x33b6a5(0x178)](_0x2167d9[_0x33b6a5(0x142)]),{'ready':!![],'skipped':![]};const _0xca42d5=process[_0x33b6a5(0x18c)]['isTTY']&&process[_0x33b6a5(0x19e)]['isTTY'];if(_0xca42d5&&!_0x4acc1b?.['url']){console['log'](_0x2167d9['RxJPT']),console[_0x33b6a5(0x178)](_0x33b6a5(0x198)),console[_0x33b6a5(0x178)](_0x2167d9['CDduh']),console[_0x33b6a5(0x178)](_0x33b6a5(0x167)),console[_0x33b6a5(0x178)](_0x2167d9['oeQUa']);const {wantsProfile:_0xcfe4e3}=await _0x233726[_0x33b6a5(0x169)]([{'type':_0x2167d9['VHXfN'],'name':_0x2167d9[_0x33b6a5(0x19b)],'message':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','default':!![]}]);if(!_0xcfe4e3)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await addEnv(_0x2167d9[_0x33b6a5(0x195)],{'url':_0x4acc1b?.[_0x33b6a5(0x155)],'force':_0x4acc1b?.['force']},_0x50d4b4),{'ready':!![],'skipped':![]};}catch(_0x92a180){return console['error'](_0x2167d9['WrXaR'],_0x2167d9[_0x33b6a5(0x144)](_0x92a180,Error)?_0x92a180['message']:_0x92a180),_0x2167d9[_0x33b6a5(0x170)](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x33c4ca,_0x589042,_0x9650bd){const _0x52151b=_0x2e84,_0xa395b9={'fnnHl':_0x52151b(0x15f),'XBbvV':_0x52151b(0x13f),'pInwD':_0x52151b(0x13b),'BdplG':function(_0x57fb85,_0x450086){return _0x57fb85(_0x450086);},'kPonz':function(_0x5f14a7){return _0x5f14a7();},'hyvem':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','LkNvy':_0x52151b(0x188),'GhPqu':function(_0x3d785e,_0x3e0913){return _0x3d785e(_0x3e0913);},'ablkW':'plugin','DoUlg':_0x52151b(0x182),'hzClx':function(_0x3f4b22){return _0x3f4b22();},'CWhef':_0x52151b(0x176),'kVcID':_0x52151b(0x14b),'oVojp':function(_0x15b733,_0x43ae1d,_0x410df1){return _0x15b733(_0x43ae1d,_0x410df1);},'bkjrC':_0x52151b(0x14e),'kzkOr':function(_0x47e34c,_0xb12a6e,_0x23552b){return _0x47e34c(_0xb12a6e,_0x23552b);},'KufYH':'profile','YjAJY':_0x52151b(0x16e),'CIebu':'/ranger:enable','nJOtt':function(_0x13ca95,_0x3cf865){return _0x13ca95+_0x3cf865;}};console[_0x52151b(0x178)]('\x0a🚀\x20Ranger\x20Setup\x0a');const _0x202195=process['stdin']['isTTY']&&process[_0x52151b(0x19e)][_0x52151b(0x171)];!_0x202195&&!_0x589042?.['scope']&&(console['log'](_0x52151b(0x16d)),_0x589042={..._0x589042,'scope':_0xa395b9['fnnHl']});_0x9650bd?.['trackPhaseStart'](_0xa395b9['XBbvV']);if(!findGitRoot()){await _0x9650bd?.['trackPhaseError']('git_check',new Error('No\x20git\x20repository\x20found'));throw new Error(_0xa395b9[_0x52151b(0x140)]);}_0x9650bd?.[_0x52151b(0x16b)](_0x52151b(0x13f));const _0x32d11f=!_0xa395b9[_0x52151b(0x1a1)](existsSync,_0xa395b9['kPonz'](getRangerDir)),{path:_0x1fe8b2}=await ensureRangerDir();_0x9650bd?.[_0x52151b(0x16c)]('auth');const _0x579ba1=await authenticate(_0x33c4ca);_0x9650bd?.['trackPhaseEnd'](_0x52151b(0x173),{'isFirstRun':_0x32d11f,'method':_0x579ba1['method']}),_0x9650bd?.['trackPhaseStart'](_0x52151b(0x188));_0x589042?.[_0x52151b(0x17b)]?console[_0x52151b(0x178)](_0xa395b9['hyvem']):await _0xa395b9['kPonz'](ensureChromium);_0x9650bd?.['trackPhaseEnd'](_0xa395b9['LkNvy'],{'isFirstRun':_0x32d11f,'skipped':!!_0x589042?.['skipChromium']}),await _0xa395b9[_0x52151b(0x17e)](writeRangerGitignore,_0x1fe8b2),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x286e6b=_0x589042?.['scope'],_0x44bbb0=_0x589042?.['opencode']??![];let _0x17ec46=null;_0x44bbb0?(_0x9650bd?.[_0x52151b(0x16c)](_0x52151b(0x161)),_0x17ec46=await ensureOpencodePluginConfig(_0x286e6b),_0x9650bd?.[_0x52151b(0x16b)](_0xa395b9[_0x52151b(0x139)],{'isFirstRun':_0x32d11f,'opencode':!![]})):(_0x9650bd?.[_0x52151b(0x16c)](_0x52151b(0x161)),await _0xa395b9[_0x52151b(0x1a1)](ensureClaudePlugin,_0x286e6b),_0x9650bd?.['trackPhaseEnd'](_0x52151b(0x161),{'isFirstRun':_0x32d11f}));if(_0x44bbb0&&_0x17ec46){_0x9650bd?.['trackPhaseStart'](_0xa395b9[_0x52151b(0x184)]);try{await installSkill('ranger',{'level':_0x17ec46['scope'],'cliVersion':_0xa395b9[_0x52151b(0x151)](getCurrentVersion),'platform':_0xa395b9[_0x52151b(0x14d)]}),_0x9650bd?.['trackPhaseEnd']('skills',{'isFirstRun':_0x32d11f,'opencode':!![]});}catch(_0x50f9ef){console['warn'](_0x52151b(0x14f),_0x50f9ef instanceof Error?_0x50f9ef['message']:_0x50f9ef),_0x9650bd?.['trackPhaseEnd']('skills',{'isFirstRun':_0x32d11f,'opencode':!![],'failed':!![]});}}else _0x9650bd?.[_0x52151b(0x16c)](_0xa395b9['DoUlg']),await ensureClaudeSkills(_0x286e6b),_0x9650bd?.['trackPhaseEnd'](_0xa395b9[_0x52151b(0x184)],{'isFirstRun':_0x32d11f});const _0x29385d=findGitRoot();if(_0x29385d){const _0x3dc53d=join(_0x29385d,_0xa395b9[_0x52151b(0x158)]);!existsSync(_0x3dc53d)&&await _0xa395b9['oVojp'](mkdir,_0x3dc53d,{'recursive':!![]});}if(!_0x202195&&!_0x589042?.[_0x52151b(0x155)])console['log'](_0xa395b9[_0x52151b(0x174)]),console['log']('\x20\x20'+_0xa395b9['BdplG'](bold,'ranger\x20profile\x20add\x20local')+'\x0a');else{_0x9650bd?.['trackPhaseStart']('profile');const _0x54ea28=await _0xa395b9['kzkOr'](ensureLocalEnv,{'url':_0x589042?.['url'],'force':_0x589042?.[_0x52151b(0x168)]},_0x9650bd);_0x9650bd?.[_0x52151b(0x16b)](_0xa395b9['KufYH'],{'isFirstRun':_0x32d11f,'profileReady':_0x54ea28[_0x52151b(0x15c)],'userSkipped':_0x54ea28[_0x52151b(0x18f)]}),_0x54ea28[_0x52151b(0x15c)]&&console['log'](_0x52151b(0x166));}if(_0x44bbb0)console[_0x52151b(0x178)]('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x52151b(0x178)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0x52151b(0x178)](_0xa395b9['YjAJY']);else{const _0x45fc27=bold(_0xa395b9['CIebu']);console['log'](_0xa395b9['nJOtt'](_0x52151b(0x17d)+_0x45fc27+_0x52151b(0x143)+_0x52151b(0x19a)+_0x52151b(0x13c),'\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
- const _0x2ceca2=_0x50db;(function(_0x32fd70,_0x296681){const _0x4f5531=_0x50db,_0x48d348=_0x32fd70();while(!![]){try{const _0x2fb488=-parseInt(_0x4f5531(0x1bc))/0x1*(-parseInt(_0x4f5531(0x198))/0x2)+-parseInt(_0x4f5531(0x1ad))/0x3+-parseInt(_0x4f5531(0x19c))/0x4+parseInt(_0x4f5531(0x1bd))/0x5*(parseInt(_0x4f5531(0x1c6))/0x6)+-parseInt(_0x4f5531(0x17e))/0x7*(parseInt(_0x4f5531(0x183))/0x8)+-parseInt(_0x4f5531(0x1bb))/0x9*(parseInt(_0x4f5531(0x179))/0xa)+parseInt(_0x4f5531(0x19f))/0xb;if(_0x2fb488===_0x296681)break;else _0x48d348['push'](_0x48d348['shift']());}catch(_0x59299b){_0x48d348['push'](_0x48d348['shift']());}}}(_0x3d9f,0xb73a9));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';function _0x3d9f(){const _0x548425=['organizationName','JxXOS','log','hmVNh','status','\x1b[0m','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','not_configured','\x20\x20User-level:','6BspzVC','\x20(latest:\x20',':\x20installed\x20(','cpfQT','1952384APtMVZ','stdout','AJpVJ','8356260EaNuma','utf-8','API\x20Environment:\x20','kzAUW','enabled','match','AxxcI','data','\x20\x20\x20\x20Auth:\x20','join','details','\x0a---\x20OpenCode\x20Plugin\x20---','name','LZrCR','1684191FuKPVu','oQGFB','Organization:\x20','filter','KFKfN','\x20(active)','\x1b]8;;file://','rJGeF','@ranger-testing/opencode-plugin','tvaWF','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','auth.json','\x20\x20\x20\x20','error','186435urVjYS','322673LJlcfp','2885yGhemY','KdrKM','tBfYY','user','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','opencode','includes','EUMXH','API\x20Token:\x20✗\x20Not\x20found','5364QFtTWA','\x0a\x20\x20No\x20active\x20profile\x20set','iZRuw','length','HvOgP','configured','AMesq','NITWg','ignore','project','gvXgT','string','cGrst','TkjJX','diSmX','Ucmul','DDfwy','displayName','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x0a---\x20Claude\x20Code\x20Plugin\x20---','hasEncryptedAuth','10ahHoms','\x1b]8;;\x07','isArray','\x20\x20Project-level:','parse','14VUwlZp','ranger@trailhead','\x20plugin(s)\x20configured','settingsPath','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','1691216xWpFag','auth.json.enc','SJkSi','settings.json','\x0a📊\x20Ranger\x20Status\x0a','inmaI','pipe','opencode-plugin','\x20\x20Run:\x20ranger\x20update','AaYuc','SrayE','zBqbp'];_0x3d9f=function(){return _0x548425;};return _0x3d9f();}import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x63dd62=>'\x1b[1m'+_0x63dd62+_0x2ceca2(0x194),link=(_0xfced7b,_0x42cbe1)=>_0x2ceca2(0x1b3)+_0xfced7b+'\x07'+(_0x42cbe1||_0xfced7b)+_0x2ceca2(0x17a);async function getOpencodePluginStatus(){const _0x44df12=_0x2ceca2,_0x866511={'EzEGn':function(_0x559321,_0x3bd5b9){return _0x559321(_0x3bd5b9);},'FrNvO':function(_0x2e3fca,_0xeb05ad){return _0x2e3fca(_0xeb05ad);},'gvXgT':_0x44df12(0x1cb),'zBqbp':_0x44df12(0x16f),'kzAUW':function(_0x1caf5d,_0x39b50b,_0x321080,_0x4230b5){return _0x1caf5d(_0x39b50b,_0x321080,_0x4230b5);},'TkjJX':'debug','KFKfN':'config','ZOukk':_0x44df12(0x1a6),'tBfYY':_0x44df12(0x1ba),'AxxcI':'close'};return new Promise(_0x5306f7=>{const _0x124e25=_0x44df12,_0x4e6a1b={'htIMg':function(_0x525c57,_0x1f263d){return _0x525c57(_0x1f263d);},'OgGYC':function(_0x367387,_0x55619d){return _0x367387!==_0x55619d;},'XJaAq':_0x866511[_0x124e25(0x18e)]},_0x32ddfc=_0x866511[_0x124e25(0x1a2)](spawn,_0x124e25(0x1c2),[_0x866511[_0x124e25(0x171)],_0x866511[_0x124e25(0x1b1)]],{'stdio':[_0x124e25(0x16c),_0x124e25(0x189),_0x124e25(0x189)]});let _0x58809a='';_0x32ddfc[_0x124e25(0x19d)]?.['on'](_0x124e25(0x1a6),_0x11062b=>{_0x58809a+=_0x11062b['toString']();}),_0x32ddfc['stderr']?.['on'](_0x866511['ZOukk'],_0x1d51f1=>{_0x58809a+=_0x1d51f1['toString']();}),_0x32ddfc['on'](_0x866511[_0x124e25(0x1bf)],()=>{_0x4e6a1b['htIMg'](_0x5306f7,{'status':'not_installed'});}),_0x32ddfc['on'](_0x866511[_0x124e25(0x1a5)],_0x7ae3c=>{const _0xb44d87=_0x124e25;if(_0x7ae3c!==0x0){_0x866511['EzEGn'](_0x5306f7,{'status':'not_installed'});return;}const _0x3137f4=_0x58809a['trim']();let _0x463802=null;if(_0x3137f4)try{_0x463802=JSON[_0xb44d87(0x17d)](_0x3137f4);}catch{const _0x215347=_0x3137f4[_0xb44d87(0x1a4)](/\{[\s\S]*\}$/);if(_0x215347)try{_0x463802=JSON['parse'](_0x215347[0x0]);}catch{_0x463802=null;}}const _0xa10646=Array[_0xb44d87(0x17b)](_0x463802?.['plugin'])?_0x463802?.['plugin']:[],_0xe0e27a=_0xa10646['some'](_0x2a6f8d=>{const _0x22fef7=_0xb44d87;if(_0x4e6a1b['OgGYC'](typeof _0x2a6f8d,_0x4e6a1b['XJaAq']))return![];return _0x2a6f8d['includes']('@ranger-testing/opencode-plugin')||_0x2a6f8d['includes'](_0x22fef7(0x18a));});if(_0xe0e27a){_0x866511['FrNvO'](_0x5306f7,{'status':_0x866511[_0xb44d87(0x16e)],'details':_0xa10646[_0xb44d87(0x1c9)]>0x0?_0xa10646[_0xb44d87(0x1c9)]+_0xb44d87(0x180):undefined});return;}if(_0xa10646['length']>0x0){_0x5306f7({'status':_0xb44d87(0x196),'details':_0xa10646['length']+_0xb44d87(0x180)});return;}_0x5306f7({'status':_0xb44d87(0x196)});});});}async function getSkillsFromDir(_0x2ee5ff,_0x5a5d9b){const _0x156fb5=_0x2ceca2,_0x432a7c={'KUZJO':function(_0x3ef5e9,_0x3e3c3d,_0x3bcad9){return _0x3ef5e9(_0x3e3c3d,_0x3bcad9);},'HvOgP':'SKILL.md','iZRuw':function(_0x3125e8,_0x3e407){return _0x3125e8(_0x3e407);},'EUMXH':function(_0x1dfff1,_0x578a06,_0x2bdb75){return _0x1dfff1(_0x578a06,_0x2bdb75);}};if(!existsSync(_0x2ee5ff))return[];const _0x5c35a2=[];try{const _0x3209bc=await _0x432a7c['KUZJO'](readdir,_0x2ee5ff,{'withFileTypes':!![]});for(const _0x32dd78 of _0x3209bc){if(_0x32dd78['isDirectory']()){const _0xe51ba7=join(_0x2ee5ff,_0x32dd78[_0x156fb5(0x1ab)],_0x432a7c[_0x156fb5(0x1ca)]);if(_0x432a7c[_0x156fb5(0x1c8)](existsSync,_0xe51ba7)){let _0x52bbe3=_0x32dd78['name'];try{const _0x28c1af=await _0x432a7c[_0x156fb5(0x1c4)](readFile,_0xe51ba7,_0x156fb5(0x1a0)),_0xa0ab58=_0x28c1af['match'](/name:\s*(.+)/);_0xa0ab58&&(_0x52bbe3=_0xa0ab58[0x1]['trim']());}catch{}_0x5c35a2['push']({'name':_0x32dd78['name'],'displayName':_0x52bbe3,'path':_0xe51ba7,'level':_0x5a5d9b});}}}}catch{return[];}return _0x5c35a2;}async function getInstalledSkills(){const _0x33933f=_0x2ceca2,_0x3f822f={'ajgfP':function(_0x307649,_0x1ec301,_0x255fb6){return _0x307649(_0x1ec301,_0x255fb6);},'rJGeF':function(_0x2d0693){return _0x2d0693();},'AMesq':_0x33933f(0x1c0)},[_0x184b70,_0x32813f]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),_0x33933f(0x16d)),_0x3f822f['ajgfP'](getSkillsFromDir,_0x3f822f[_0x33933f(0x1b4)](getUserSkillsDir),_0x3f822f[_0x33933f(0x1cc)])]);return{'project':_0x184b70,'user':_0x32813f};}function _0x50db(_0xf4deea,_0x4787d1){_0xf4deea=_0xf4deea-0x16c;const _0x3d9f4d=_0x3d9f();let _0x50db5e=_0x3d9f4d[_0xf4deea];return _0x50db5e;}async function getEnvironments(){const _0xa063c3=_0x2ceca2,_0x162222={'KdrKM':function(_0x23e17c,_0x313ad7,_0x22637c){return _0x23e17c(_0x313ad7,_0x22637c);},'HOySg':_0xa063c3(0x184),'JxXOS':function(_0xcaaabb,_0x3d670d){return _0xcaaabb(_0x3d670d);},'REeCM':function(_0x207862){return _0x207862();},'diSmX':function(_0x596069,_0x11ab34){return _0x596069(_0x11ab34);}},{envNames:_0x79ddec,activeEnv:_0x2ef6af}=await _0x162222['REeCM'](getEnvNames),_0x1d0f96=_0x162222['REeCM'](getRangerDir);if(!_0x162222[_0xa063c3(0x172)](existsSync,_0x1d0f96))return{'envs':[],'activeEnv':null};const _0x2670c5=_0x79ddec['map'](_0x143cf1=>{const _0x548ac3=_0xa063c3,_0x3f209d=getEnvDir(_0x143cf1),_0x3d9579=join(_0x3f209d,_0x548ac3(0x186)),_0x4e417a=_0x162222[_0x548ac3(0x1be)](join,_0x3f209d,_0x548ac3(0x1b8)),_0x1069f9=join(_0x3f209d,_0x162222['HOySg']);return{'name':_0x143cf1,'settingsPath':existsSync(_0x3d9579)?_0x3d9579:'(not\x20found)','hasPlaintextAuth':_0x162222[_0x548ac3(0x190)](existsSync,_0x4e417a),'hasEncryptedAuth':existsSync(_0x1069f9),'isActive':_0x143cf1===_0x2ef6af};});return{'envs':_0x2670c5,'activeEnv':_0x2ef6af};}export async function status(){const _0x440f11=_0x2ceca2,_0x27d35e={'LZrCR':function(_0x2857d7,_0x50f950){return _0x2857d7(_0x50f950);},'SrayE':function(_0x6b9b40,_0x4ec6a8){return _0x6b9b40(_0x4ec6a8);},'AJpVJ':function(_0x2e2feb,_0x1d9bf6,_0x249f2){return _0x2e2feb(_0x1d9bf6,_0x249f2);},'bEjcB':function(_0x433b0e){return _0x433b0e();},'cpfQT':function(_0x56e312){return _0x56e312();},'cGrst':function(_0x71c135,_0x4c3b6b){return _0x71c135!==_0x4c3b6b;},'hmVNh':function(_0x5f466e){return _0x5f466e();},'DDfwy':function(_0x2882af,_0x452ce9){return _0x2882af(_0x452ce9);},'tIiit':function(_0x432d3a){return _0x432d3a();},'SJkSi':function(_0x333a45,_0x1c2f64){return _0x333a45===_0x1c2f64;},'AaYuc':_0x440f11(0x1cb),'meKTC':function(_0xaf8073,_0x160b6d){return _0xaf8073(_0x160b6d);},'oQGFB':'not_configured','Ijbgy':'\x20\x20Not\x20configured','NITWg':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','HIhzJ':'disabled','oOiqS':_0x440f11(0x17f),'inmaI':function(_0x41ae76,_0x1555eb){return _0x41ae76+_0x1555eb;},'nFsVr':'No\x20skills\x20installed','tvaWF':function(_0x5b80ce,_0x3a937a){return _0x5b80ce>_0x3a937a;},'Ucmul':'\x0a---\x20Profiles\x20---','BYcet':'No\x20profiles\x20configured','HQvRV':'plaintext'};console['log'](_0x440f11(0x187));const _0x2ebd99=process['cwd'](),_0x51cb17=getRangerDir();if(!_0x27d35e[_0x440f11(0x1ac)](existsSync,_0x51cb17)){console['log']('Root:\x20'+link(_0x2ebd99,_0x27d35e[_0x440f11(0x18d)](bold,_0x27d35e[_0x440f11(0x18d)](basename,_0x2ebd99)))),console[_0x440f11(0x191)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x440f11(0x195));return;}console[_0x440f11(0x191)]('Root:\x20'+_0x27d35e['AJpVJ'](link,_0x2ebd99,bold(basename(_0x2ebd99))));const _0x99a1e3=_0x27d35e['bEjcB'](getCurrentVersion),_0x364559=_0x27d35e[_0x440f11(0x19b)](getLatestVersion);if(_0x364559&&_0x27d35e[_0x440f11(0x170)](_0x364559,_0x99a1e3))console[_0x440f11(0x191)]('Version:\x20'+_0x99a1e3+_0x440f11(0x199)+_0x364559+')'),console['log'](_0x440f11(0x18b));else _0x364559?console['log']('Version:\x20'+_0x99a1e3+'\x20(up\x20to\x20date)'):console['log']('Version:\x20'+_0x99a1e3);const _0x1647a4=await _0x27d35e['hmVNh'](getToken);if(_0x1647a4){const _0x3c2352=await getCurrentUser(_0x1647a4);_0x3c2352['success']?console['log'](_0x440f11(0x1af)+_0x27d35e[_0x440f11(0x174)](bold,_0x3c2352[_0x440f11(0x1c0)][_0x440f11(0x18f)])):(console[_0x440f11(0x191)](_0x440f11(0x1c1)),console[_0x440f11(0x191)](_0x440f11(0x176)));}else console[_0x440f11(0x191)](_0x440f11(0x1c5)),console[_0x440f11(0x191)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console[_0x440f11(0x191)](_0x440f11(0x1a1)+_0x27d35e['tIiit'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+_0x27d35e[_0x440f11(0x192)](getApiBaseUrl)));console['log'](_0x440f11(0x1aa));const _0x1e71e1=await getOpencodePluginStatus();if(_0x27d35e[_0x440f11(0x185)](_0x1e71e1[_0x440f11(0x193)],_0x27d35e[_0x440f11(0x18c)]))console['log']('\x20\x20'+_0x27d35e['meKTC'](bold,_0x440f11(0x1b5))+':\x20configured'),_0x1e71e1['details']&&console[_0x440f11(0x191)]('\x20\x20'+_0x1e71e1[_0x440f11(0x1a9)]);else _0x27d35e['SJkSi'](_0x1e71e1['status'],_0x27d35e[_0x440f11(0x1ae)])?(console[_0x440f11(0x191)](_0x27d35e['Ijbgy']),_0x1e71e1[_0x440f11(0x1a9)]&&console['log']('\x20\x20'+_0x1e71e1['details']),console[_0x440f11(0x191)](_0x27d35e[_0x440f11(0x1cd)])):console[_0x440f11(0x191)]('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console[_0x440f11(0x191)](_0x440f11(0x177));const _0x29f0af=await getPluginInfo(_0x440f11(0x17f));if(_0x29f0af){const _0x1caadb=_0x29f0af['scope']||'unknown',_0x11499d=_0x29f0af[_0x440f11(0x1a3)]?_0x440f11(0x1a3):_0x27d35e['HIhzJ'];console['log']('\x20\x20'+_0x27d35e['LZrCR'](bold,_0x27d35e['oOiqS'])+_0x440f11(0x19a)+_0x1caadb+',\x20'+_0x11499d+')');}else console[_0x440f11(0x191)]('\x20\x20Not\x20installed'),console[_0x440f11(0x191)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console['log']('\x0a---\x20Skills\x20---');const {project:_0x34d872,user:_0x675da6}=await getInstalledSkills(),_0x153082=_0x34d872[_0x440f11(0x1b0)](_0x1f6c6d=>RANGER_MANAGED_SKILLS[_0x440f11(0x1c3)](_0x1f6c6d['name'])),_0x468b52=_0x675da6[_0x440f11(0x1b0)](_0x25fff0=>RANGER_MANAGED_SKILLS[_0x440f11(0x1c3)](_0x25fff0[_0x440f11(0x1ab)])),_0x5bb11f=_0x27d35e[_0x440f11(0x188)](_0x153082['length'],_0x468b52['length']);if(_0x27d35e[_0x440f11(0x185)](_0x5bb11f,0x0))console[_0x440f11(0x191)](_0x27d35e['nFsVr']),console[_0x440f11(0x191)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x27d35e[_0x440f11(0x1b6)](_0x153082['length'],0x0)){console[_0x440f11(0x191)](_0x440f11(0x17c));for(const _0x5e8e10 of _0x153082){console[_0x440f11(0x191)](_0x440f11(0x1b9)+_0x27d35e[_0x440f11(0x18d)](bold,_0x5e8e10['displayName'])+':\x20'+link(_0x5e8e10['path'],_0x27d35e[_0x440f11(0x174)](basename,_0x5e8e10['path'])));}}if(_0x468b52['length']>0x0){console['log'](_0x440f11(0x197));for(const _0x247b4a of _0x468b52){console[_0x440f11(0x191)]('\x20\x20\x20\x20'+bold(_0x247b4a[_0x440f11(0x175)])+':\x20'+_0x27d35e[_0x440f11(0x19e)](link,_0x247b4a['path'],_0x27d35e['DDfwy'](basename,_0x247b4a['path'])));}}}console[_0x440f11(0x191)](_0x27d35e[_0x440f11(0x173)]);const {envs:_0x23a148,activeEnv:_0x4a4c99}=await getEnvironments();if(_0x27d35e[_0x440f11(0x185)](_0x23a148[_0x440f11(0x1c9)],0x0))console['log'](_0x27d35e['BYcet']),console[_0x440f11(0x191)](_0x440f11(0x182));else{for(const _0x2ccb5b of _0x23a148){const _0x1406fc=_0x2ccb5b['isActive']?_0x440f11(0x1b2):'',_0x4175c3=_0x2ccb5b[_0x440f11(0x178)]?'encrypted':_0x2ccb5b['hasPlaintextAuth']?_0x27d35e['HQvRV']:'none';console['log']('\x20\x20'+bold(_0x2ccb5b[_0x440f11(0x1ab)])+_0x1406fc),console[_0x440f11(0x191)](_0x440f11(0x1a7)+_0x4175c3),_0x27d35e['cGrst'](_0x2ccb5b[_0x440f11(0x181)],'(not\x20found)')&&console[_0x440f11(0x191)]('\x20\x20\x20\x20Settings:\x20'+link(_0x2ccb5b['settingsPath'],basename(_0x2ccb5b[_0x440f11(0x181)])));}!_0x4a4c99&&(console[_0x440f11(0x191)](_0x440f11(0x1c7)),console['log'](_0x440f11(0x1b7)+_0x23a148['map'](_0x5217b5=>_0x5217b5[_0x440f11(0x1ab)])[_0x440f11(0x1a8)](',\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(_0x25da16,_0x3c4620){const _0xa3592=_0x3d1c,_0x3adacf=_0x25da16();while(!![]){try{const _0x10584f=-parseInt(_0xa3592(0x155))/0x1*(-parseInt(_0xa3592(0x176))/0x2)+parseInt(_0xa3592(0x181))/0x3+-parseInt(_0xa3592(0x184))/0x4*(parseInt(_0xa3592(0x15f))/0x5)+parseInt(_0xa3592(0x169))/0x6+parseInt(_0xa3592(0x14e))/0x7*(-parseInt(_0xa3592(0x16e))/0x8)+-parseInt(_0xa3592(0x144))/0x9*(parseInt(_0xa3592(0x18a))/0xa)+parseInt(_0xa3592(0x145))/0xb*(parseInt(_0xa3592(0x160))/0xc);if(_0x10584f===_0x3c4620)break;else _0x3adacf['push'](_0x3adacf['shift']());}catch(_0x550ec2){_0x3adacf['push'](_0x3adacf['shift']());}}}(_0x3eb1,0xd1aca));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 _0x3be568=_0x3d1c,_0x5a7f9b={'zDWSG':function(_0x5e4bb3,_0x68024b){return _0x5e4bb3===_0x68024b;},'mjBww':'install','siGgJ':'inherit','gcqHR':'win32','zpcjI':'close','PhPCa':_0x3be568(0x14a)};return new Promise(_0x140d94=>{const _0x31f27c=_0x3be568,_0x282fa7={'wzjxb':function(_0x35e209,_0x554cae){return _0x35e209(_0x554cae);},'PVcul':function(_0x198b2b,_0x35636e){return _0x5a7f9b['zDWSG'](_0x198b2b,_0x35636e);}};console[_0x31f27c(0x148)]('\x0aInstalling\x20'+PACKAGE_NAME+'@latest...\x0a');const _0x1f40fd=spawn(_0x31f27c(0x15d),[_0x5a7f9b[_0x31f27c(0x149)],'-g',PACKAGE_NAME+'@latest'],{'stdio':_0x5a7f9b['siGgJ'],'shell':_0x5a7f9b[_0x31f27c(0x166)](process[_0x31f27c(0x16f)],_0x5a7f9b[_0x31f27c(0x173)])});_0x1f40fd['on'](_0x5a7f9b[_0x31f27c(0x165)],_0x2ffb68=>{_0x282fa7['wzjxb'](_0x140d94,_0x282fa7['PVcul'](_0x2ffb68,0x0));}),_0x1f40fd['on'](_0x5a7f9b[_0x31f27c(0x146)],()=>{const _0x6505e1=_0x31f27c;_0x282fa7[_0x6505e1(0x16a)](_0x140d94,![]);});});}async function updateClaudeMarketplace(){const _0x27f74f=_0x3d1c,_0x487ed2={'XOPWg':function(_0x3ed69a,_0x252ae6){return _0x3ed69a===_0x252ae6;},'eWUZN':function(_0x826bc5,_0x3d543c,_0x3d6126,_0xfb75ca){return _0x826bc5(_0x3d543c,_0x3d6126,_0xfb75ca);},'jMMuc':'claude','zzfdH':_0x27f74f(0x168),'SBOAz':'pipe','xTTAC':'close'};return new Promise(_0x5769b5=>{const _0x5359c3=_0x27f74f,_0xc70a57=_0x487ed2[_0x5359c3(0x154)](spawn,_0x487ed2[_0x5359c3(0x15a)],[_0x5359c3(0x147),_0x5359c3(0x179),'update',_0x487ed2[_0x5359c3(0x152)]],{'stdio':_0x487ed2[_0x5359c3(0x18b)],'shell':process[_0x5359c3(0x16f)]==='win32'});_0xc70a57['on'](_0x487ed2['xTTAC'],_0x1e4ce5=>{_0x5769b5(_0x487ed2['XOPWg'](_0x1e4ce5,0x0));}),_0xc70a57['on']('error',()=>{_0x5769b5(![]);});});}function _0x3eb1(){const _0x119877=['\x20ranger-managed\x20skill(s)...','bRvXv','PMENe','jMMuc','RwgCv','CLEdL','npm','Pfjjk','323165jMTJeB','53436YOSfZi','update','Claude\x20plugin\x20updated\x20(project\x20scope).','endsWith','yNRql','zpcjI','zDWSG','Efyqv','trailhead','4163250BQnrYh','wzjxb','HCjSv','utf-8','notYc','16CUOurj','platform','GkiCR','iOpwA','findIndex','gcqHR','zatJa','mCnXX','804746rTBWCC','--scope','vJYRB','marketplace','fHULq',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','user','Oydqn','gonqE','GqHzB','push','2009163WGqlKn','close','\x20skill\x20','32oZNJnA','pipe','claude','egVzN','\x0aReinstalling\x20','\x0aYour\x20version\x20(','80xVVnTn','SBOAz','length','KoGzG','active-profile.txt','.gitignore','1907397LyWeEE','4499slYtnZ','PhPCa','plugin','log','mjBww','error','split','wZXlb','NDwZH','1805622MARIDX','slQwd','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','\x20\x20Failed\x20to\x20reinstall\x20','zzfdH','mEutX','eWUZN','1amJokG','trim'];_0x3eb1=function(){return _0x119877;};return _0x3eb1();}async function updateClaudePlugin(_0x204192){const _0x462612=_0x3d1c,_0x522792={'gonqE':_0x462612(0x147),'ZoCfe':_0x462612(0x161),'slQwd':'ranger@trailhead','zatJa':_0x462612(0x177),'eLVPX':_0x462612(0x185),'bhUzL':_0x462612(0x182),'bRvXv':'error'};return new Promise(_0x5a15f0=>{const _0x243bcd=_0x462612,_0x32e8a6={'egVzN':function(_0x46427f,_0x178e70){return _0x46427f(_0x178e70);}},_0x33bdd9=[_0x522792[_0x243bcd(0x17e)],_0x522792['ZoCfe'],_0x522792[_0x243bcd(0x14f)]];_0x204192&&_0x33bdd9['push'](_0x522792[_0x243bcd(0x174)],_0x204192);const _0x338b63=spawn(_0x243bcd(0x186),_0x33bdd9,{'stdio':_0x522792['eLVPX'],'shell':process[_0x243bcd(0x16f)]==='win32'});_0x338b63['on'](_0x522792['bhUzL'],_0x1a57e8=>{const _0x52a062=_0x243bcd;_0x32e8a6[_0x52a062(0x187)](_0x5a15f0,_0x1a57e8===0x0);}),_0x338b63['on'](_0x522792[_0x243bcd(0x158)],()=>{_0x5a15f0(![]);});});}function isSkillInstalled(_0x228d2f,_0x99aeb7,_0xe68f46){const _0x1a5847=_0x3d1c,_0x28c04e={'bHeAS':function(_0x14f6b3,_0x82dae8){return _0x14f6b3===_0x82dae8;},'Pfjjk':'opencode'},_0x2aa3b6=_0x28c04e['bHeAS'](_0xe68f46,_0x28c04e[_0x1a5847(0x15e)])?getOpencodeSkillsDir(_0x99aeb7):getSkillsDir(_0x99aeb7),_0x42fb07=join(_0x2aa3b6,_0x228d2f);return existsSync(_0x42fb07);}function _0x3d1c(_0x170eaf,_0x5eda9d){_0x170eaf=_0x170eaf-0x141;const _0x3eb172=_0x3eb1();let _0x3d1ca8=_0x3eb172[_0x170eaf];return _0x3d1ca8;}async function reinstallSkills(_0x723bda){const _0x17d435=_0x3d1c,_0x49c60a={'Efyqv':'project','mEutX':function(_0x2755ec,_0x3e718d,_0x41b4db,_0x35d511){return _0x2755ec(_0x3e718d,_0x41b4db,_0x35d511);},'wZXlb':_0x17d435(0x186),'fHULq':'opencode','awdVf':function(_0x3c4a4a,_0x37db59,_0x11aa3c){return _0x3c4a4a(_0x37db59,_0x11aa3c);},'iOpwA':function(_0x142bc6,_0x2ffb01){return _0x142bc6===_0x2ffb01;}},_0x7746e7=[_0x49c60a[_0x17d435(0x167)],_0x17d435(0x17c)],_0x24509d=[];for(const _0x54730a of _0x7746e7){for(const _0x361fce of RANGER_MANAGED_SKILLS){_0x49c60a[_0x17d435(0x153)](isSkillInstalled,_0x361fce,_0x54730a,_0x49c60a[_0x17d435(0x14c)])&&_0x24509d['push']({'skillName':_0x361fce,'level':_0x54730a,'platform':_0x17d435(0x186)}),isSkillInstalled(_0x361fce,_0x54730a,_0x49c60a[_0x17d435(0x17a)])&&_0x24509d[_0x17d435(0x180)]({'skillName':_0x361fce,'level':_0x54730a,'platform':_0x49c60a[_0x17d435(0x17a)]});}}for(const _0x432454 of _0x7746e7){for(const _0x36fdf5 of DEPRECATED_SKILLS){await _0x49c60a['awdVf'](removeSkill,_0x36fdf5,_0x432454);}}if(_0x49c60a[_0x17d435(0x171)](_0x24509d[_0x17d435(0x18c)],0x0)){console['log']('\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.');return;}console[_0x17d435(0x148)](_0x17d435(0x188)+_0x24509d['length']+_0x17d435(0x157));for(const {skillName:_0x3c2ca1,level:_0x4a3c9b,platform:_0x419dcd}of _0x24509d){try{await _0x49c60a['awdVf'](installSkill,_0x3c2ca1,{'level':_0x4a3c9b,'cliVersion':_0x723bda,'platform':_0x419dcd});}catch(_0x2f99ca){console['warn'](_0x17d435(0x151)+_0x419dcd+'\x20'+_0x4a3c9b+_0x17d435(0x183)+_0x3c2ca1+':',_0x2f99ca);}}}async function ensureActiveProfileGitignored(){const _0x54e845=_0x3d1c,_0x5046dc={'KoGzG':function(_0x5c17ab,_0x5a77c1,_0x2834e7){return _0x5c17ab(_0x5a77c1,_0x2834e7);},'qYntG':function(_0x269c7f){return _0x269c7f();},'yNRql':_0x54e845(0x143),'bCUuj':function(_0x5e30e3,_0x307ee1){return _0x5e30e3(_0x307ee1);},'mCnXX':function(_0x4de25e,_0x2dccef,_0x4af53c){return _0x4de25e(_0x2dccef,_0x4af53c);},'HCjSv':_0x54e845(0x16c),'mQcdh':function(_0x167ae1,_0x42f705){return _0x167ae1===_0x42f705;},'Oydqn':function(_0x2bb2e1,_0x41c50c,_0x55e47c,_0x15e5a9){return _0x2bb2e1(_0x41c50c,_0x55e47c,_0x15e5a9);}},_0x544f4b=_0x5046dc[_0x54e845(0x141)](join,_0x5046dc['qYntG'](getRangerDir),_0x5046dc[_0x54e845(0x164)]);if(!_0x5046dc['bCUuj'](existsSync,_0x544f4b))return![];let _0x548d51='';try{_0x548d51=await _0x5046dc[_0x54e845(0x175)](readFile,_0x544f4b,_0x5046dc['HCjSv']);}catch{return![];}const _0x35514d=_0x548d51[_0x54e845(0x14b)](/\r?\n/);if(_0x35514d['some'](_0x874025=>_0x874025[_0x54e845(0x156)]()==='active-profile.txt'))return![];let _0x5a0e7c=_0x35514d[_0x54e845(0x172)](_0x44ade8=>_0x44ade8['trim']()==='active-feature.txt');_0x5046dc['mQcdh'](_0x5a0e7c,-0x1)&&(_0x5a0e7c=_0x35514d[_0x54e845(0x18c)]);_0x35514d['splice'](_0x5a0e7c,0x0,_0x54e845(0x142));let _0x3d4002=_0x35514d['join']('\x0a');!_0x3d4002[_0x54e845(0x163)]('\x0a')&&(_0x3d4002+='\x0a');try{await _0x5046dc[_0x54e845(0x17d)](writeFile,_0x544f4b,_0x3d4002,_0x5046dc[_0x54e845(0x16b)]);}catch{return![];}return!![];}export async function update(){const _0x5256a3=_0x3d1c,_0x3d3128={'PMENe':'Checking\x20for\x20updates...','NDwZH':function(_0xa934b7){return _0xa934b7();},'vJYRB':'Failed\x20to\x20check\x20for\x20updates.\x20Please\x20check\x20your\x20network\x20connection.','tEISU':function(_0x74eec,_0x132b82,_0x1beb6b){return _0x74eec(_0x132b82,_0x1beb6b);},'aUxOF':function(_0x3d2f5f,_0x3ec48c){return _0x3d2f5f===_0x3ec48c;},'GkiCR':'\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','UDrnY':function(_0x5c4344,_0x3d51b7){return _0x5c4344<_0x3d51b7;},'RwgCv':'ranger@trailhead','notYc':'\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','GqHzB':function(_0x24ad60,_0x5b0f6b){return _0x24ad60(_0x5b0f6b);},'qKXGN':'project','UVzQc':'✓\x20Migrated\x20active\x20profile\x20file','CLEdL':'\x0a✅\x20Update\x20complete!'},_0x2cf99b=getCurrentVersion();console['log']('\x0aCurrent\x20version:\x20'+_0x2cf99b),console['log'](_0x3d3128[_0x5256a3(0x159)]);const _0x2c3f4d=_0x3d3128[_0x5256a3(0x14d)](getLatestVersion);if(!_0x2c3f4d)throw new Error(_0x3d3128[_0x5256a3(0x178)]);console['log']('Latest\x20version:\x20\x20'+_0x2c3f4d);const _0x52776e=_0x3d3128['tEISU'](compareVersions,_0x2cf99b,_0x2c3f4d);let _0x3bca92=_0x2cf99b;if(_0x3d3128['aUxOF'](_0x52776e,0x0))console[_0x5256a3(0x148)](_0x3d3128[_0x5256a3(0x170)]);else{if(_0x3d3128['UDrnY'](_0x52776e,0x0))console['log'](_0x5256a3(0x189)+_0x2cf99b+_0x5256a3(0x17b)+_0x2c3f4d+').');else{const _0x360938=await _0x3d3128['NDwZH'](runInstall);if(_0x360938)console[_0x5256a3(0x148)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x2c3f4d),_0x3bca92=_0x2c3f4d;else throw new Error('Update\x20failed.\x20You\x20may\x20need\x20to\x20run\x20with\x20sudo:\x20sudo\x20npm\x20install\x20-g\x20'+PACKAGE_NAME+'@latest');}}await reinstallSkills(_0x3bca92);const _0x1d8355=await isMarketplaceAdded(_0x5256a3(0x168)),_0x57d152=await isPluginInstalled(_0x3d3128[_0x5256a3(0x15b)]);if(_0x1d8355){const _0x5afb29=await updateClaudeMarketplace();_0x5afb29&&console[_0x5256a3(0x148)](_0x5256a3(0x150));}if(_0x57d152){const _0x24c145=await updateClaudePlugin();_0x24c145&&console['log'](_0x3d3128[_0x5256a3(0x16d)]);const _0x4cee64=await _0x3d3128[_0x5256a3(0x17f)](updateClaudePlugin,_0x3d3128['qKXGN']);_0x4cee64&&console['log']((_0x24c145?'':'\x0a')+_0x5256a3(0x162));}const _0x2b80da=await migrateActiveProfileFile();_0x2b80da&&console['log'](_0x3d3128['UVzQc']);const _0x3f7bc8=await ensureActiveProfileGitignored();console[_0x5256a3(0x148)](_0x3d3128[_0x5256a3(0x15c)]);}
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']);}