@ranger-testing/ranger-cli 2.4.7 → 2.5.1

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 (72) 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/agentEnv.js +1 -1
  35. package/build/commands/utils/browserSessionsApi.js +1 -1
  36. package/build/commands/utils/claudeConfig.js +1 -1
  37. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  38. package/build/commands/utils/claudePlugin.js +1 -1
  39. package/build/commands/utils/crypto.js +1 -1
  40. package/build/commands/utils/desirePathLog.js +1 -1
  41. package/build/commands/utils/deviceAuth.js +1 -1
  42. package/build/commands/utils/environment.js +1 -1
  43. package/build/commands/utils/featureApi.js +1 -1
  44. package/build/commands/utils/featureReportGenerator.js +1 -1
  45. package/build/commands/utils/fixWebmDuration.js +1 -1
  46. package/build/commands/utils/git.js +1 -1
  47. package/build/commands/utils/keychain.js +1 -1
  48. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  49. package/build/commands/utils/mcpImageBase64.js +1 -1
  50. package/build/commands/utils/model.js +1 -1
  51. package/build/commands/utils/opencodeConfig.js +1 -1
  52. package/build/commands/utils/playwrightCli.js +1 -1
  53. package/build/commands/utils/profileMessages.js +1 -1
  54. package/build/commands/utils/profileSetupBanner.js +1 -1
  55. package/build/commands/utils/rangerConfig.js +1 -1
  56. package/build/commands/utils/rangerRoot.js +1 -1
  57. package/build/commands/utils/reportGenerator.js +1 -1
  58. package/build/commands/utils/retry.js +1 -1
  59. package/build/commands/utils/sessionCache.js +1 -1
  60. package/build/commands/utils/settings.js +1 -1
  61. package/build/commands/utils/skillContent.js +1 -1
  62. package/build/commands/utils/skills.js +1 -1
  63. package/build/commands/utils/stitchWebmFiles.js +1 -1
  64. package/build/commands/utils/telemetry.js +1 -1
  65. package/build/commands/utils/tokenRefresh.js +1 -1
  66. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  67. package/build/commands/utils/userApi.js +1 -1
  68. package/build/commands/utils/version.js +1 -1
  69. package/build/commands/verifyFeature.js +1 -1
  70. package/build/commands/verifyFeatureCli.js +1 -1
  71. package/build/commands/verifyInBrowser.js +1 -1
  72. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x1474d4,_0x57233f){const _0x4b14b5=_0x4239,_0xe70a5c=_0x1474d4();while(!![]){try{const _0x74cbab=-parseInt(_0x4b14b5(0x1c2))/0x1*(parseInt(_0x4b14b5(0x1cd))/0x2)+-parseInt(_0x4b14b5(0x1c0))/0x3+-parseInt(_0x4b14b5(0x1c8))/0x4+-parseInt(_0x4b14b5(0x1c6))/0x5*(-parseInt(_0x4b14b5(0x1bc))/0x6)+-parseInt(_0x4b14b5(0x1c4))/0x7+parseInt(_0x4b14b5(0x1cc))/0x8+parseInt(_0x4b14b5(0x1bd))/0x9*(parseInt(_0x4b14b5(0x1c3))/0xa);if(_0x74cbab===_0x57233f)break;else _0xe70a5c['push'](_0xe70a5c['shift']());}catch(_0x359a40){_0xe70a5c['push'](_0xe70a5c['shift']());}}}(_0x291b,0x7df00));function _0x4239(_0x1cddcf,_0x2d46b6){_0x1cddcf=_0x1cddcf-0x1b7;const _0x291b4d=_0x291b();let _0x4239e0=_0x291b4d[_0x1cddcf];return _0x4239e0;}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';function _0x291b(){const _0x522e5e=['209162HXNpno','2517840csYjrC','1248296drcrfa','env','2478020vIlcku','\x20(Branch:\x20','1386688GslAPR','RyHZA','export\x20CLAUDE_SESSION_ID=\x22','master','7914624PKFCPG','8WzegvE','hook:session-start','JUBdN','log','main','trackCommandEnd','6dSmsaB','27NZAGUI','CLAUDE_ENV_FILE','success','1088388DaAHNc','session_id'];_0x291b=function(){return _0x522e5e;};return _0x291b();}export async function sessionStart(_0x178384){const _0x1e1e67=_0x4239,_0x53636e={'yDncA':function(_0xb49765,_0x919011){return _0xb49765&&_0x919011;},'RyHZA':function(_0x11fecf,_0x3d1e25){return _0x11fecf(_0x3d1e25);},'UzNmo':_0x1e1e67(0x1bf),'JUBdN':function(_0x521e92){return _0x521e92();}};let _0x1f75c1=_0x178384||'',_0x28bb98;if(!_0x178384){let _0x29244b='';for await(const _0x12594b of process['stdin']){_0x29244b+=_0x12594b;}try{const _0x245c47=JSON['parse'](_0x29244b);_0x1f75c1=_0x245c47[_0x1e1e67(0x1c1)]||'',_0x28bb98=_0x245c47['source'];}catch{}const _0x9d163=process[_0x1e1e67(0x1c5)][_0x1e1e67(0x1be)];if(_0x53636e['yDncA'](_0x9d163,_0x1f75c1))try{await appendFile(_0x9d163,_0x1e1e67(0x1ca)+_0x1f75c1+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x1f75c1){shouldAutoEnableAfterClear(_0x28bb98)&&_0x53636e['RyHZA'](autoEnableAfterClear,_0x1f75c1);initBranchTracking(_0x1f75c1);const _0x410ef9=isSessionEnabled(_0x1f75c1);try{const _0x359440=_0x53636e[_0x1e1e67(0x1c9)](createTelemetryCollector,_0x1e1e67(0x1b7));await _0x359440['trackCommandStart']({'sessionId':_0x1f75c1,'hooksEnabled':_0x410ef9}),await _0x359440[_0x1e1e67(0x1bb)](_0x53636e['UzNmo']);}catch{}if(_0x410ef9){const _0xd88362=_0x53636e[_0x1e1e67(0x1b8)](getCurrentBranch),_0x3bba59=_0xd88362&&_0xd88362!==_0x1e1e67(0x1ba)&&_0xd88362!==_0x1e1e67(0x1cb)?_0x1e1e67(0x1c7)+_0xd88362+')':'',_0x195ada={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x3bba59}};console[_0x1e1e67(0x1b9)](JSON['stringify'](_0x195ada));}}}
1
+ function _0x3fb0(_0x4e6d29,_0x26a463){_0x4e6d29=_0x4e6d29-0xf5;const _0x3003a5=_0x3003();let _0x3fb06d=_0x3003a5[_0x4e6d29];return _0x3fb06d;}function _0x3003(){const _0x223409=['trackCommandStart','374082UgxATl','IFPkU','10100YyivLt','GxSVV','env','ohKmm','WgCDZ','hook:session-start','90lPApRP','SwCPd','1850ljherh','2777522cmdCPa','15GSSdQY','1135VdLfbL','trackCommandEnd','stdin','684WOQIHB','qSkNC','master','2039136HppZDN','success','6869912jivYLo','192hxvYKx','935343ITaUsQ'];_0x3003=function(){return _0x223409;};return _0x3003();}(function(_0x25c17e,_0x5d74e7){const _0x29c4d8=_0x3fb0,_0x59c02a=_0x25c17e();while(!![]){try{const _0x54c349=-parseInt(_0x29c4d8(0xf6))/0x1*(parseInt(_0x29c4d8(0x10c))/0x2)+parseInt(_0x29c4d8(0xf9))/0x3*(-parseInt(_0x29c4d8(0x104))/0x4)+parseInt(_0x29c4d8(0xf5))/0x5*(-parseInt(_0x29c4d8(0x102))/0x6)+-parseInt(_0x29c4d8(0xfe))/0x7+parseInt(_0x29c4d8(0xfc))/0x8+parseInt(_0x29c4d8(0x100))/0x9*(-parseInt(_0x29c4d8(0x10a))/0xa)+parseInt(_0x29c4d8(0x10d))/0xb*(parseInt(_0x29c4d8(0xff))/0xc);if(_0x54c349===_0x5d74e7)break;else _0x59c02a['push'](_0x59c02a['shift']());}catch(_0x1365e0){_0x59c02a['push'](_0x59c02a['shift']());}}}(_0x3003,0x8a12d));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x5191f7){const _0x5c5eb8=_0x3fb0,_0x12cbc4={'WgCDZ':function(_0x43eb16,_0x462596){return _0x43eb16&&_0x462596;},'GxSVV':function(_0x37aee8,_0x277346,_0x4a0e05){return _0x37aee8(_0x277346,_0x4a0e05);},'IFPkU':function(_0x553e42,_0x3722d2){return _0x553e42(_0x3722d2);},'ohKmm':function(_0x233feb,_0x1db390){return _0x233feb(_0x1db390);},'ASLrb':function(_0x13716f,_0x2d7358){return _0x13716f(_0x2d7358);},'SwCPd':_0x5c5eb8(0xfd),'qSkNC':function(_0x284638){return _0x284638();},'kyyEX':function(_0x50a068,_0xc9c361){return _0x50a068!==_0xc9c361;}};let _0x206849=_0x5191f7||'',_0x5be26c;if(!_0x5191f7){let _0x258f67='';for await(const _0x19f105 of process[_0x5c5eb8(0xf8)]){_0x258f67+=_0x19f105;}try{const _0x50c78e=JSON['parse'](_0x258f67);_0x206849=_0x50c78e['session_id']||'',_0x5be26c=_0x50c78e['source'];}catch{}const _0x10e312=process[_0x5c5eb8(0x106)]['CLAUDE_ENV_FILE'];if(_0x12cbc4[_0x5c5eb8(0x108)](_0x10e312,_0x206849))try{await _0x12cbc4[_0x5c5eb8(0x105)](appendFile,_0x10e312,'export\x20CLAUDE_SESSION_ID=\x22'+_0x206849+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x206849){shouldAutoEnableAfterClear(_0x5be26c)&&_0x12cbc4[_0x5c5eb8(0x103)](autoEnableAfterClear,_0x206849);_0x12cbc4['IFPkU'](initBranchTracking,_0x206849);const _0x144fbd=_0x12cbc4[_0x5c5eb8(0x107)](isSessionEnabled,_0x206849);try{const _0x57c4d9=_0x12cbc4['ASLrb'](createTelemetryCollector,_0x5c5eb8(0x109));await _0x57c4d9[_0x5c5eb8(0x101)]({'sessionId':_0x206849,'hooksEnabled':_0x144fbd}),await _0x57c4d9[_0x5c5eb8(0xf7)](_0x12cbc4[_0x5c5eb8(0x10b)]);}catch{}if(_0x144fbd){const _0x4006b3=_0x12cbc4[_0x5c5eb8(0xfa)](getCurrentBranch),_0x19c8ac=_0x4006b3&&_0x4006b3!=='main'&&_0x12cbc4['kyyEX'](_0x4006b3,_0x5c5eb8(0xfb))?'\x20(Branch:\x20'+_0x4006b3+')':'',_0x66e795={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x19c8ac}};console['log'](JSON['stringify'](_0x66e795));}}}
@@ -1 +1 @@
1
- (function(_0x4efbe3,_0x16bf1a){const _0x4165a7=_0x1fd8,_0x210dc8=_0x4efbe3();while(!![]){try{const _0x13c250=-parseInt(_0x4165a7(0x1de))/0x1*(-parseInt(_0x4165a7(0x1ec))/0x2)+parseInt(_0x4165a7(0x1e8))/0x3*(parseInt(_0x4165a7(0x1ef))/0x4)+parseInt(_0x4165a7(0x1f0))/0x5+parseInt(_0x4165a7(0x1eb))/0x6*(-parseInt(_0x4165a7(0x1e9))/0x7)+parseInt(_0x4165a7(0x1df))/0x8+-parseInt(_0x4165a7(0x1e0))/0x9+-parseInt(_0x4165a7(0x1e3))/0xa;if(_0x13c250===_0x16bf1a)break;else _0x210dc8['push'](_0x210dc8['shift']());}catch(_0x16bbe0){_0x210dc8['push'](_0x210dc8['shift']());}}}(_0x4844,0x3e550));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';function _0x4844(){const _0x2f8613=['QhNge','trackCommandStart','https://dashboard.ranger.net/features/','closed','featureId','fzeZS','Stop','incomplete','RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20','filter','7Rauyno','3525096vfpbKw','54144dZcJUc','currentSessionId','sessionId','5245500uNDMCJ','sDDxx','blocked','hook:stop','fKGoR','117870BTVqDG','35BIlJaz','some','475830unNPjA','55894KfHgZA','status','kQqgo','40eBUXmr','766185lGLzaP'];_0x4844=function(){return _0x2f8613;};return _0x4844();}import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x6bc95a){const _0x2d4023=_0x1fd8,_0x351862={'sDDxx':function(_0xb878b4,_0x98a56f){return _0xb878b4(_0x98a56f);},'QhNge':function(_0x273452,_0x48153a,_0x35c6c0,_0x2bea70){return _0x273452(_0x48153a,_0x35c6c0,_0x2bea70);},'kQqgo':function(_0xdb1f0a,_0x409a70){return _0xdb1f0a(_0x409a70);},'OQGlE':_0x2d4023(0x1da),'fKGoR':function(_0x569ed6,_0x4bfff4){return _0x569ed6&&_0x4bfff4;}},_0x5d7580=await _0x351862[_0x2d4023(0x1e4)](getEnabledHookContext,_0x6bc95a),_0x2681f9=_0x5d7580?.[_0x2d4023(0x1e2)]??null;let _0x1c3016=!![];if(!_0x2681f9){await _0x351862['QhNge'](trackStop,_0x2681f9,![],_0x1c3016);return;}try{const _0xe30be4=getSessionEntry(_0x2681f9);if(!_0xe30be4){await _0x351862[_0x2d4023(0x1f1)](trackStop,_0x2681f9,!![],_0x1c3016);return;}const _0x358095=await getToken(),_0x16faa=_0x2d4023(0x1f3)+_0xe30be4[_0x2d4023(0x1f5)];let _0x2e6097=null,_0x2fe353=![],_0x19a25b=![];if(_0x358095)try{const _0x5db996=await _0x351862[_0x2d4023(0x1ee)](getFeature,_0xe30be4['featureId']);_0x2e6097=_0x5db996[_0x2d4023(0x1e1)]??null;const _0x5702d4=_0x5db996['checklistItems'][_0x2d4023(0x1dd)](_0x34f117=>_0x34f117[_0x2d4023(0x1e2)]===_0x2e6097);_0x2fe353=_0x5702d4[_0x2d4023(0x1ea)](_0x599e59=>_0x599e59['status']!=='verified'&&_0x599e59[_0x2d4023(0x1ed)]!==_0x2d4023(0x1e5)&&_0x599e59['status']!==_0x2d4023(0x1f4)&&_0x599e59[_0x2d4023(0x1ed)]!==_0x2d4023(0x1db)),_0x19a25b=_0x5702d4[_0x2d4023(0x1ea)](_0x17260b=>_0x17260b['status']==='verification_in_progress');}catch{}if(_0x358095&&_0x2e6097&&_0x2fe353){if(!_0x19a25b&&shouldShowStopReminder(_0x2681f9)){const _0x566520={'hookSpecificOutput':{'hookEventName':_0x351862['OQGlE'],'additionalContext':_0x2d4023(0x1dc)+_0x16faa}};console['log'](JSON['stringify'](_0x566520));}}if(_0x351862[_0x2d4023(0x1e7)](_0x358095,_0x2e6097)&&!_0x2fe353)try{await concludeSession(_0xe30be4['featureId'],_0x2e6097);}catch{}await _0x351862['QhNge'](trackStop,_0x2681f9,!![],_0x1c3016);return;}catch{await trackStop(_0x2681f9,!![],_0x1c3016);return;}}function _0x1fd8(_0x3b4d4a,_0x2c6104){_0x3b4d4a=_0x3b4d4a-0x1da;const _0x484426=_0x4844();let _0x1fd850=_0x484426[_0x3b4d4a];return _0x1fd850;}async function trackStop(_0x47a722,_0x14f23d,_0x3b3e63){const _0x5d8a92=_0x1fd8,_0x2635ba={'IRaIR':function(_0x3a52cc,_0x370aad){return _0x3a52cc(_0x370aad);},'fzeZS':'success'};try{const _0x22ac06=_0x2635ba['IRaIR'](createTelemetryCollector,_0x5d8a92(0x1e6));await _0x22ac06[_0x5d8a92(0x1f2)]({'sessionId':_0x47a722??undefined,'hooksEnabled':_0x14f23d,'stopAllowed':_0x3b3e63}),await _0x22ac06['trackCommandEnd'](_0x2635ba[_0x5d8a92(0x1f6)]);}catch{}}
1
+ (function(_0x10915a,_0x390d42){const _0x5da77a=_0x5c38,_0x7bca3a=_0x10915a();while(!![]){try{const _0x103fa9=-parseInt(_0x5da77a(0x7c))/0x1*(-parseInt(_0x5da77a(0x8d))/0x2)+-parseInt(_0x5da77a(0x7f))/0x3+-parseInt(_0x5da77a(0x7e))/0x4*(-parseInt(_0x5da77a(0x8b))/0x5)+-parseInt(_0x5da77a(0x93))/0x6*(parseInt(_0x5da77a(0x82))/0x7)+parseInt(_0x5da77a(0x84))/0x8*(-parseInt(_0x5da77a(0x86))/0x9)+parseInt(_0x5da77a(0x7d))/0xa+parseInt(_0x5da77a(0x87))/0xb;if(_0x103fa9===_0x390d42)break;else _0x7bca3a['push'](_0x7bca3a['shift']());}catch(_0x31e09c){_0x7bca3a['push'](_0x7bca3a['shift']());}}}(_0x3a89,0x5d8a9));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';function _0x5c38(_0x2c8b55,_0x446c12){_0x2c8b55=_0x2c8b55-0x7c;const _0x3a8919=_0x3a89();let _0x5c38d2=_0x3a8919[_0x2c8b55];return _0x5c38d2;}function _0x3a89(){const _0x4c1040=['status','sessionId','205hDGOjp','DSIFX','5554knRVeu','featureId','WMZQE','some','Stop','QGPPp','6NdMKMZ','verification_in_progress','227OctejY','7230550LqykKS','30232WMZdUq','1704744IJqIqA','checklistItems','incomplete','3444742GqZCXQ','success','360536DOWDlz','verified','81ZINUid','2043690KbMlbu','https://dashboard.ranger.net/features/'];_0x3a89=function(){return _0x4c1040;};return _0x3a89();}import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x3060a0){const _0xaff675=_0x5c38,_0x4cf7c7={'QGPPp':_0xaff675(0x91),'WMZQE':function(_0x25fcc4,_0x46559c){return _0x25fcc4&&_0x46559c;},'GjiNQ':function(_0x34483f,_0x4a6251,_0x2cf924,_0x3ad596){return _0x34483f(_0x4a6251,_0x2cf924,_0x3ad596);}},_0x4d0a0d=await getEnabledHookContext(_0x3060a0),_0x1c4180=_0x4d0a0d?.[_0xaff675(0x8a)]??null;let _0x4af62f=!![];if(!_0x1c4180){await trackStop(_0x1c4180,![],_0x4af62f);return;}try{const _0x3822ae=getSessionEntry(_0x1c4180);if(!_0x3822ae){await trackStop(_0x1c4180,!![],_0x4af62f);return;}const _0x5664f8=await getToken(),_0x17b431=_0xaff675(0x88)+_0x3822ae['featureId'];let _0x5384ca=null,_0x2d975b=![],_0x543bed=![];if(_0x5664f8)try{const _0x42babf=await getFeature(_0x3822ae[_0xaff675(0x8e)]);_0x5384ca=_0x42babf['currentSessionId']??null;const _0x4f4292=_0x42babf[_0xaff675(0x80)]['filter'](_0x46327d=>_0x46327d[_0xaff675(0x8a)]===_0x5384ca);_0x2d975b=_0x4f4292[_0xaff675(0x90)](_0x355423=>_0x355423[_0xaff675(0x89)]!==_0xaff675(0x85)&&_0x355423['status']!=='blocked'&&_0x355423['status']!=='closed'&&_0x355423[_0xaff675(0x89)]!==_0xaff675(0x81)),_0x543bed=_0x4f4292[_0xaff675(0x90)](_0x15be58=>_0x15be58[_0xaff675(0x89)]===_0xaff675(0x94));}catch{}if(_0x5664f8&&_0x5384ca&&_0x2d975b){if(!_0x543bed&&shouldShowStopReminder(_0x1c4180)){const _0x51de63={'hookSpecificOutput':{'hookEventName':_0x4cf7c7[_0xaff675(0x92)],'additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x17b431}};console['log'](JSON['stringify'](_0x51de63));}}if(_0x4cf7c7[_0xaff675(0x8f)](_0x5664f8,_0x5384ca)&&!_0x2d975b)try{await concludeSession(_0x3822ae['featureId'],_0x5384ca);}catch{}await trackStop(_0x1c4180,!![],_0x4af62f);return;}catch{await _0x4cf7c7['GjiNQ'](trackStop,_0x1c4180,!![],_0x4af62f);return;}}async function trackStop(_0x3237a4,_0x457b1e,_0x306cfa){const _0x200d8a=_0x5c38,_0xaf9d90={'DSIFX':'hook:stop','MTTKg':function(_0x5c4eaa,_0x1314d0){return _0x5c4eaa??_0x1314d0;}};try{const _0x39fbda=createTelemetryCollector(_0xaf9d90[_0x200d8a(0x8c)]);await _0x39fbda['trackCommandStart']({'sessionId':_0xaf9d90['MTTKg'](_0x3237a4,undefined),'hooksEnabled':_0x457b1e,'stopAllowed':_0x306cfa}),await _0x39fbda['trackCommandEnd'](_0x200d8a(0x83));}catch{}}
@@ -1 +1 @@
1
- (function(_0x2d2a31,_0x2f88cc){var _0x26492f=_0x4134,_0x2ae603=_0x2d2a31();while(!![]){try{var _0x211df0=-parseInt(_0x26492f(0x1b5))/0x1+-parseInt(_0x26492f(0x1b7))/0x2*(parseInt(_0x26492f(0x1bd))/0x3)+-parseInt(_0x26492f(0x1b4))/0x4*(parseInt(_0x26492f(0x1be))/0x5)+-parseInt(_0x26492f(0x1bb))/0x6*(parseInt(_0x26492f(0x1b8))/0x7)+parseInt(_0x26492f(0x1b9))/0x8*(-parseInt(_0x26492f(0x1bc))/0x9)+-parseInt(_0x26492f(0x1ba))/0xa+parseInt(_0x26492f(0x1b6))/0xb;if(_0x211df0===_0x2f88cc)break;else _0x2ae603['push'](_0x2ae603['shift']());}catch(_0x595b6b){_0x2ae603['push'](_0x2ae603['shift']());}}}(_0x5490,0x6318c));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';function _0x4134(_0x58eef8,_0x15961f){_0x58eef8=_0x58eef8-0x1b4;var _0x549006=_0x5490();var _0x4134f4=_0x549006[_0x58eef8];return _0x4134f4;}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';function _0x5490(){var _0x4511f4=['18717IIxIDl','1928215DzcnYg','4WxSRiy','40884yrLnkG','31546394cGdLFA','192SynmvV','3283ZFbvlX','24hsGIkm','4792490xIxqkl','3888XxARaY','1959966rbRgGI'];_0x5490=function(){return _0x4511f4;};return _0x5490();}
1
+ function _0xe3ef(){var _0x23763b=['50LHQQbU','54725KhIhhP','9WBrjlK','84cqROwQ','15807qdEkTV','119XsoRsm','68022xLFDwk','2482104FBngNV','2066235RYbezx','69525TjhCZC','435424Ydojov'];_0xe3ef=function(){return _0x23763b;};return _0xe3ef();}(function(_0x4bd7e5,_0x4989ab){var _0x4d6e87=_0x390c,_0x3ee93e=_0x4bd7e5();while(!![]){try{var _0x571d8c=parseInt(_0x4d6e87(0xc3))/0x1+-parseInt(_0x4d6e87(0xc4))/0x2+-parseInt(_0x4d6e87(0xc9))/0x3*(-parseInt(_0x4d6e87(0xc8))/0x4)+parseInt(_0x4d6e87(0xc2))/0x5+parseInt(_0x4d6e87(0xc0))/0x6*(parseInt(_0x4d6e87(0xca))/0x7)+parseInt(_0x4d6e87(0xc1))/0x8*(-parseInt(_0x4d6e87(0xc7))/0x9)+parseInt(_0x4d6e87(0xc5))/0xa*(-parseInt(_0x4d6e87(0xc6))/0xb);if(_0x571d8c===_0x4989ab)break;else _0x3ee93e['push'](_0x3ee93e['shift']());}catch(_0x4e3d47){_0x3ee93e['push'](_0x3ee93e['shift']());}}}(_0xe3ef,0x38f54));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';function _0x390c(_0x2dfe4b,_0x2ba4ea){_0x2dfe4b=_0x2dfe4b-0xc0;var _0xe3ef5a=_0xe3ef();var _0x390cba=_0xe3ef5a[_0x2dfe4b];return _0x390cba;}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(_0x2b61a7,_0x1e59eb){const _0x5c5b47=_0xaa57,_0x2b37e7=_0x2b61a7();while(!![]){try{const _0x385a35=parseInt(_0x5c5b47(0xb3))/0x1*(parseInt(_0x5c5b47(0xb1))/0x2)+parseInt(_0x5c5b47(0xb8))/0x3+-parseInt(_0x5c5b47(0xb7))/0x4*(parseInt(_0x5c5b47(0xb9))/0x5)+-parseInt(_0x5c5b47(0xae))/0x6+-parseInt(_0x5c5b47(0xb4))/0x7+-parseInt(_0x5c5b47(0xaa))/0x8*(-parseInt(_0x5c5b47(0xac))/0x9)+-parseInt(_0x5c5b47(0xb0))/0xa;if(_0x385a35===_0x1e59eb)break;else _0x2b37e7['push'](_0x2b37e7['shift']());}catch(_0x52b5b2){_0x2b37e7['push'](_0x2b37e7['shift']());}}}(_0x54a6,0x339ce));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0xaa57(_0x3547c1,_0x5e888f){_0x3547c1=_0x3547c1-0xaa;const _0x54a6e4=_0x54a6();let _0xaa57bb=_0x54a6e4[_0x3547c1];return _0xaa57bb;}export async function login(){const _0x5ae135=_0xaa57,_0x22734e={'cmkkt':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.'},_0x35a286=process['stdin'][_0x5ae135(0xb6)]&&process['stdout']['isTTY'];if(!_0x35a286)throw new Error(_0x22734e[_0x5ae135(0xb5)]);try{const _0x16a737=await runDeviceAuthFlow(),_0x4e97ef=await getCurrentUser(_0x16a737);_0x4e97ef[_0x5ae135(0xab)]?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x4e97ef['user']['organizationName']):console[_0x5ae135(0xb2)](_0x5ae135(0xad));}catch(_0x5e5e20){throw new Error('Login\x20failed:\x20'+(_0x5e5e20 instanceof Error?_0x5e5e20[_0x5ae135(0xaf)]:_0x5e5e20));}}function _0x54a6(){const _0x1fdd3d=['\x0a✅\x20API\x20key\x20stored\x20successfully','453084XjScQz','message','634980svkauL','2YMWOty','log','206290fgArqe','1185338cSJpzY','cmkkt','isTTY','356kUEmqs','854481WgjeMn','4805fMXPNp','913312STkPJC','success','9YQnahH'];_0x54a6=function(){return _0x1fdd3d;};return _0x54a6();}
1
+ function _0xe23f(){const _0x88621f=['organizationName','user','18gPNxWP','message','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','63QCBVHG','4PvtzYm','200556VBXwxX','stdin','58400fwvldE','139044kEzDfm','ZYIol','536ovArwF','isTTY','313415vJIXBP','28125vggwIY','230dXfboo','719wxmNSe','stdout','11825gyjTBy','UCkkh'];_0xe23f=function(){return _0x88621f;};return _0xe23f();}(function(_0xd86bc5,_0x589f38){const _0x2a7338=_0x87a6,_0x11658d=_0xd86bc5();while(!![]){try{const _0x5bad36=-parseInt(_0x2a7338(0xd5))/0x1*(parseInt(_0x2a7338(0xd0))/0x2)+-parseInt(_0x2a7338(0xce))/0x3*(parseInt(_0x2a7338(0xdf))/0x4)+-parseInt(_0x2a7338(0xd2))/0x5*(-parseInt(_0x2a7338(0xdb))/0x6)+parseInt(_0x2a7338(0xde))/0x7*(parseInt(_0x2a7338(0xcd))/0x8)+-parseInt(_0x2a7338(0xd3))/0x9*(-parseInt(_0x2a7338(0xd4))/0xa)+-parseInt(_0x2a7338(0xd7))/0xb+parseInt(_0x2a7338(0xe0))/0xc;if(_0x5bad36===_0x589f38)break;else _0x11658d['push'](_0x11658d['shift']());}catch(_0x11585c){_0x11658d['push'](_0x11658d['shift']());}}}(_0xe23f,0x18f4e));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x87a6(_0x1af774,_0x2e87cc){_0x1af774=_0x1af774-0xcd;const _0xe23f8e=_0xe23f();let _0x87a682=_0xe23f8e[_0x1af774];return _0x87a682;}import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x52a425=_0x87a6,_0x18d786={'KajsJ':function(_0x2eab27){return _0x2eab27();},'ZYIol':function(_0x25cb2e,_0x9343b8){return _0x25cb2e(_0x9343b8);},'UCkkh':function(_0x17af51,_0x53c369){return _0x17af51 instanceof _0x53c369;}},_0x5a8b18=process[_0x52a425(0xe1)][_0x52a425(0xd1)]&&process[_0x52a425(0xd6)][_0x52a425(0xd1)];if(!_0x5a8b18)throw new Error(_0x52a425(0xdd));try{const _0x2ebb34=await _0x18d786['KajsJ'](runDeviceAuthFlow),_0x16ae6d=await _0x18d786[_0x52a425(0xcf)](getCurrentUser,_0x2ebb34);_0x16ae6d['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x16ae6d[_0x52a425(0xda)][_0x52a425(0xd9)]):console['log']('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x4c54f8){throw new Error('Login\x20failed:\x20'+(_0x18d786[_0x52a425(0xd8)](_0x4c54f8,Error)?_0x4c54f8[_0x52a425(0xdc)]:_0x4c54f8));}}
@@ -1 +1 @@
1
- (function(_0x1b5eec,_0x16fc4d){const _0x151696=_0xfe0b,_0x39d965=_0x1b5eec();while(!![]){try{const _0x36c51a=parseInt(_0x151696(0x142))/0x1+parseInt(_0x151696(0x141))/0x2*(-parseInt(_0x151696(0x14a))/0x3)+-parseInt(_0x151696(0x13b))/0x4+-parseInt(_0x151696(0x13f))/0x5+parseInt(_0x151696(0x14c))/0x6*(parseInt(_0x151696(0x15c))/0x7)+parseInt(_0x151696(0x154))/0x8*(parseInt(_0x151696(0x13c))/0x9)+parseInt(_0x151696(0x15e))/0xa;if(_0x36c51a===_0x16fc4d)break;else _0x39d965['push'](_0x39d965['shift']());}catch(_0x13fc5b){_0x39d965['push'](_0x39d965['shift']());}}}(_0x5942,0x20dbf));import{join}from'path';import{existsSync}from'fs';function _0xfe0b(_0x4c5ff6,_0x200640){_0x4c5ff6=_0x4c5ff6-0x12c;const _0x594238=_0x5942();let _0xfe0b00=_0x594238[_0x4c5ff6];return _0xfe0b00;}import _0x224eda from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x5942(){const _0x360605=['SKILL.md','6eJnZgL','nLLBH','prompt','includes','IJqFD','plugin','✓\x20Marketplace\x20already\x20added','tGyHn','8inxbBT','CCBBO','Project\x20(shared\x20with\x20team\x20via\x20git)','\x0aYou\x20can\x20install\x20manually\x20with:','list','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','already\x20enabled','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','846475qDAIvo','error','3395390VZjCJz','mglQk','log','.claude','✓\x20Ranger\x20skills\x20already\x20installed','❌\x20Failed\x20to\x20install\x20plugin:','ZkPBN','ranger@trailhead','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','ElKKN','Where\x20should\x20the\x20plugin\x20be\x20installed?','yYAJS','vJnwW','wantsSkillup','DmFuf','output','tOTzg','927500rBBbRV','1253871WWpNRr','success','✓\x20Claude\x20Code\x20plugin\x20enabled','978875hJmHuO','jRMCH','142uRJisx','210461iKcPWJ','NAFsa','alzMj','confirm','QrLWJ','eQJiT','push','project','10479TrvjVV'];_0x5942=function(){return _0x360605;};return _0x5942();}export async function ensureClaudePlugin(_0xa6af28){const _0x36681a=_0xfe0b,_0x41b6fe={'yYAJS':function(_0x4aafae,_0x1abbc5){return _0x4aafae(_0x1abbc5);},'icdtL':_0x36681a(0x131),'ElKKN':_0x36681a(0x149),'tGyHn':_0x36681a(0x15b),'hcIUJ':_0x36681a(0x158),'PSXto':_0x36681a(0x134),'tOTzg':'User\x20(available\x20in\x20all\x20your\x20projects)','hZpho':'user','aWkFO':_0x36681a(0x156),'yjoXx':'trailhead','eQJiT':'marketplace','alzMj':'add','nLLBH':'ranger-testing/trailhead','mglQk':'❌\x20Failed\x20to\x20add\x20marketplace:','EzYrO':'\x0aYou\x20can\x20install\x20manually\x20with:','vJnwW':_0x36681a(0x151),'CCBBO':'enable','dIVsM':'--scope','fqSNn':_0x36681a(0x15a),'gmxpQ':_0x36681a(0x13e)},_0x4795b8=await _0x41b6fe['yYAJS'](isPluginInstalled,_0x41b6fe['icdtL']);if(_0x4795b8)return console[_0x36681a(0x12c)]('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x210245=existsSync(join(getProjectRoot(),_0x36681a(0x12d)));let _0x2f9a58;if(_0xa6af28)_0x2f9a58=_0xa6af28;else{if(_0x210245)_0x2f9a58=_0x41b6fe['ElKKN'];else{console['log'](_0x41b6fe[_0x36681a(0x153)]);const _0xb47c4e=await _0x224eda[_0x36681a(0x14e)]([{'type':_0x41b6fe['hcIUJ'],'name':'pluginScope','message':_0x41b6fe['PSXto'],'choices':[{'name':_0x41b6fe[_0x36681a(0x13a)],'value':_0x41b6fe['hZpho']},{'name':_0x41b6fe['aWkFO'],'value':_0x41b6fe[_0x36681a(0x133)]}],'default':_0x41b6fe['hZpho']}]);_0x2f9a58=_0xb47c4e['pluginScope'];}}console[_0x36681a(0x12c)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x2f9a58+'\x20level)...\x0a');const _0x2b2a85=await isMarketplaceAdded(_0x41b6fe['yjoXx']);let _0x287391=_0x2b2a85;if(_0x2b2a85)console['log'](_0x36681a(0x152));else{const _0x4ffbf0=await runClaudeCommand(['plugin',_0x41b6fe[_0x36681a(0x147)],_0x41b6fe[_0x36681a(0x144)],_0x41b6fe[_0x36681a(0x14d)]]);!_0x4ffbf0[_0x36681a(0x13d)]?(console[_0x36681a(0x15d)](_0x41b6fe[_0x36681a(0x15f)],_0x4ffbf0[_0x36681a(0x15d)]),console[_0x36681a(0x12c)](_0x41b6fe['EzYrO']),console[_0x36681a(0x12c)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x36681a(0x12c)](_0x36681a(0x132)+_0x2f9a58)):_0x287391=!![];}if(_0x287391){const _0x3321d6=await _0x41b6fe[_0x36681a(0x135)](runClaudeCommand,['plugin','install',_0x36681a(0x131),'--scope',_0x2f9a58]);if(!_0x3321d6['success'])console[_0x36681a(0x15d)](_0x36681a(0x12f),_0x3321d6['error']),console['log'](_0x36681a(0x157)),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x2f9a58);else{console[_0x36681a(0x12c)](_0x36681a(0x159));const _0x3335cf=[_0x41b6fe[_0x36681a(0x136)],_0x41b6fe[_0x36681a(0x155)],'ranger@trailhead'];_0x2f9a58==='project'&&_0x3335cf[_0x36681a(0x148)](_0x41b6fe['dIVsM'],_0x41b6fe[_0x36681a(0x133)]);const _0x5ab7c7=await runClaudeCommand(_0x3335cf,{'captureOutput':!![]}),_0x2a78cd=_0x5ab7c7[_0x36681a(0x139)]?.[_0x36681a(0x14f)](_0x41b6fe['fqSNn']);!_0x5ab7c7[_0x36681a(0x13d)]&&!_0x2a78cd?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x5ab7c7['error']):console[_0x36681a(0x12c)](_0x41b6fe['gmxpQ']);}}return!![];}export async function ensureClaudeSkills(_0x240cdc){const _0x32a917=_0xfe0b,_0xce9729={'QrLWJ':function(_0x4babd2,_0x4b5590){return _0x4babd2(_0x4b5590);},'IJqFD':function(_0xa6e9a9,_0x1cd789,_0x29dd99,_0x4686ac){return _0xa6e9a9(_0x1cd789,_0x29dd99,_0x4686ac);},'jRMCH':_0x32a917(0x149),'DmFuf':'ranger','OkpQV':function(_0x5346b9,_0x5241cd){return _0x5346b9||_0x5241cd;},'rWCRc':_0x32a917(0x12e),'NAFsa':function(_0x2b1083,_0x471eb6,_0x3f1efa){return _0x2b1083(_0x471eb6,_0x3f1efa);},'BAZsE':function(_0xf7358c){return _0xf7358c();},'GeARZ':'.claude','ExUtv':_0x32a917(0x145),'lcQKQ':'wantsSkillup','ZkPBN':function(_0x2a3bce,_0x581862){return _0x2a3bce(_0x581862);}},_0x51f0d0=_0xce9729[_0x32a917(0x146)](existsSync,_0xce9729[_0x32a917(0x150)](join,getSkillsDir('user'),'ranger',_0x32a917(0x14b))),_0xbdd230=_0xce9729['QrLWJ'](existsSync,_0xce9729[_0x32a917(0x150)](join,getSkillsDir(_0xce9729[_0x32a917(0x140)]),_0xce9729[_0x32a917(0x138)],_0x32a917(0x14b)));if(_0xce9729['OkpQV'](_0x51f0d0,_0xbdd230))return console['log'](_0xce9729['rWCRc']),![];const _0x80305d=_0xce9729['QrLWJ'](existsSync,_0xce9729[_0x32a917(0x143)](join,_0xce9729['BAZsE'](getProjectRoot),_0xce9729['GeARZ']));let _0x199171=!![];if(_0x240cdc)await skillup({'autoInstall':_0x240cdc,'suppressUsage':!![]});else{if(_0x80305d)await skillup({'autoInstall':_0xce9729[_0x32a917(0x140)],'suppressUsage':!![]});else{const _0x23ad6b=await _0x224eda[_0x32a917(0x14e)]([{'type':_0xce9729['ExUtv'],'name':_0xce9729['lcQKQ'],'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x199171=_0x23ad6b[_0x32a917(0x137)],_0x199171&&await _0xce9729[_0x32a917(0x130)](skillup,{'suppressUsage':!![]});}}return _0x199171;}
1
+ (function(_0x1f2539,_0x576258){const _0x7a5be2=_0x3a3a,_0x41c4ac=_0x1f2539();while(!![]){try{const _0x1abcbb=-parseInt(_0x7a5be2(0x199))/0x1*(-parseInt(_0x7a5be2(0x16b))/0x2)+-parseInt(_0x7a5be2(0x18a))/0x3*(parseInt(_0x7a5be2(0x189))/0x4)+-parseInt(_0x7a5be2(0x186))/0x5*(-parseInt(_0x7a5be2(0x194))/0x6)+-parseInt(_0x7a5be2(0x19b))/0x7*(-parseInt(_0x7a5be2(0x191))/0x8)+-parseInt(_0x7a5be2(0x17f))/0x9*(-parseInt(_0x7a5be2(0x18f))/0xa)+parseInt(_0x7a5be2(0x18b))/0xb+parseInt(_0x7a5be2(0x187))/0xc*(-parseInt(_0x7a5be2(0x180))/0xd);if(_0x1abcbb===_0x576258)break;else _0x41c4ac['push'](_0x41c4ac['shift']());}catch(_0x3fbfbc){_0x41c4ac['push'](_0x41c4ac['shift']());}}}(_0x4968,0x53a21));function _0x3a3a(_0xa19923,_0xa36fb0){_0xa19923=_0xa19923-0x164;const _0x49686e=_0x4968();let _0x3a3a91=_0x49686e[_0xa19923];return _0x3a3a91;}import{join}from'path';import{existsSync}from'fs';import _0x561be8 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(_0x2d2d7a){const _0x48df8a=_0x3a3a,_0x231b61={'UBksf':function(_0x3d1fe0,_0x215813){return _0x3d1fe0(_0x215813);},'mNOju':function(_0x70877d,_0x241ead,_0x50ccea){return _0x70877d(_0x241ead,_0x50ccea);},'TaXNm':'project','UFaWv':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','igxPI':_0x48df8a(0x183),'TGWPN':'User\x20(available\x20in\x20all\x20your\x20projects)','uxHCP':'user','GUXpK':'✓\x20Marketplace\x20already\x20added','YBsmr':_0x48df8a(0x177),'GcyXS':'add','bjagm':_0x48df8a(0x16f),'zyYvb':_0x48df8a(0x17b),'yGGbP':'\x0aYou\x20can\x20install\x20manually\x20with:','qsLvU':_0x48df8a(0x179),'RNClQ':'install','xqzML':'ranger@trailhead','WqnZp':'❌\x20Failed\x20to\x20install\x20plugin:'},_0x15a3ef=await _0x231b61[_0x48df8a(0x174)](isPluginInstalled,_0x48df8a(0x172));if(_0x15a3ef)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x243da2=existsSync(_0x231b61['mNOju'](join,getProjectRoot(),'.claude'));let _0x524e46;if(_0x2d2d7a)_0x524e46=_0x2d2d7a;else{if(_0x243da2)_0x524e46=_0x231b61[_0x48df8a(0x16d)];else{console[_0x48df8a(0x173)](_0x231b61[_0x48df8a(0x19c)]);const _0x27beaa=await _0x561be8['prompt']([{'type':_0x48df8a(0x197),'name':_0x231b61[_0x48df8a(0x175)],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x231b61[_0x48df8a(0x196)],'value':_0x231b61['uxHCP']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x231b61['TaXNm']}],'default':_0x48df8a(0x16a)}]);_0x524e46=_0x27beaa['pluginScope'];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x524e46+_0x48df8a(0x18e));const _0x2be9dc=await isMarketplaceAdded('trailhead');let _0x3a4b96=_0x2be9dc;if(_0x2be9dc)console['log'](_0x231b61[_0x48df8a(0x190)]);else{const _0x5c99ba=await runClaudeCommand([_0x48df8a(0x176),_0x231b61[_0x48df8a(0x169)],_0x231b61['GcyXS'],_0x231b61[_0x48df8a(0x19d)]]);!_0x5c99ba[_0x48df8a(0x19e)]?(console[_0x48df8a(0x16e)](_0x231b61[_0x48df8a(0x171)],_0x5c99ba['error']),console[_0x48df8a(0x173)](_0x231b61[_0x48df8a(0x181)]),console[_0x48df8a(0x173)](_0x231b61[_0x48df8a(0x17d)]),console[_0x48df8a(0x173)](_0x48df8a(0x167)+_0x524e46)):_0x3a4b96=!![];}if(_0x3a4b96){const _0x2fca23=await runClaudeCommand(['plugin',_0x231b61['RNClQ'],_0x231b61[_0x48df8a(0x195)],_0x48df8a(0x170),_0x524e46]);if(!_0x2fca23[_0x48df8a(0x19e)])console['error'](_0x231b61['WqnZp'],_0x2fca23[_0x48df8a(0x16e)]),console['log'](_0x231b61['yGGbP']),console[_0x48df8a(0x173)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x524e46);else{console['log'](_0x48df8a(0x17a));const _0x5b61c6=[_0x48df8a(0x176),'enable',_0x231b61[_0x48df8a(0x195)]];_0x524e46===_0x48df8a(0x17c)&&_0x5b61c6[_0x48df8a(0x185)](_0x48df8a(0x170),_0x48df8a(0x17c));const _0x40932a=await runClaudeCommand(_0x5b61c6,{'captureOutput':!![]}),_0x33f9a5=_0x40932a[_0x48df8a(0x165)]?.[_0x48df8a(0x18c)](_0x48df8a(0x164));!_0x40932a['success']&&!_0x33f9a5?console['error'](_0x48df8a(0x19a),_0x40932a['error']):console[_0x48df8a(0x173)](_0x48df8a(0x166));}}return!![];}export async function ensureClaudeSkills(_0x446433){const _0xe5a3a8=_0x3a3a,_0x5e603e={'JauDJ':function(_0x406e30,_0x83c3a5){return _0x406e30(_0x83c3a5);},'NePrh':_0xe5a3a8(0x18d),'Lujhj':function(_0x488863,_0x5ed3ee){return _0x488863(_0x5ed3ee);},'JwmEX':function(_0x2f39e9,_0x41fe6c,_0x4c7b79,_0x4b1481){return _0x2f39e9(_0x41fe6c,_0x4c7b79,_0x4b1481);},'fMSEa':_0xe5a3a8(0x17c),'epCMy':function(_0x4a294a,_0x50f635){return _0x4a294a||_0x50f635;},'HjSsY':'.claude','zHwTf':function(_0x3fe729,_0x11315f){return _0x3fe729(_0x11315f);}},_0x3d2c83=_0x5e603e[_0xe5a3a8(0x198)](existsSync,join(_0x5e603e[_0xe5a3a8(0x198)](getSkillsDir,'user'),_0xe5a3a8(0x184),_0x5e603e['NePrh'])),_0x5eb9fb=_0x5e603e[_0xe5a3a8(0x192)](existsSync,_0x5e603e[_0xe5a3a8(0x168)](join,_0x5e603e['Lujhj'](getSkillsDir,_0x5e603e['fMSEa']),'ranger','SKILL.md'));if(_0x5e603e['epCMy'](_0x3d2c83,_0x5eb9fb))return console['log'](_0xe5a3a8(0x193)),![];const _0x224599=_0x5e603e[_0xe5a3a8(0x192)](existsSync,join(getProjectRoot(),_0x5e603e[_0xe5a3a8(0x16c)]));let _0x3ca160=!![];if(_0x446433)await skillup({'autoInstall':_0x446433,'suppressUsage':!![]});else{if(_0x224599)await _0x5e603e[_0xe5a3a8(0x178)](skillup,{'autoInstall':_0x5e603e[_0xe5a3a8(0x188)],'suppressUsage':!![]});else{const _0x29a650=await _0x561be8['prompt']([{'type':_0xe5a3a8(0x17e),'name':'wantsSkillup','message':_0xe5a3a8(0x182),'default':!![]}]);_0x3ca160=_0x29a650['wantsSkillup'],_0x3ca160&&await _0x5e603e[_0xe5a3a8(0x192)](skillup,{'suppressUsage':!![]});}}return _0x3ca160;}function _0x4968(){const _0xf4e5b4=['zHwTf','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','❌\x20Failed\x20to\x20add\x20marketplace:','project','qsLvU','confirm','9UZwISC','17933071qoeyfH','yGGbP','Would\x20you\x20like\x20to\x20install\x20skills?','pluginScope','ranger','push','5JgxgKb','12QCtvxt','fMSEa','208900QrABJi','3MaDUKC','4432934SVMhPM','includes','SKILL.md','\x20level)...\x0a','1989810YCEiIy','GUXpK','21656htdHGZ','Lujhj','✓\x20Ranger\x20skills\x20already\x20installed','2695374NfCQbp','xqzML','TGWPN','list','JauDJ','13555ZUvJTb','⚠\x20Failed\x20to\x20enable\x20plugin:','1379AqZBYq','UFaWv','bjagm','success','already\x20enabled','output','✓\x20Claude\x20Code\x20plugin\x20enabled','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','JwmEX','YBsmr','user','28hgzjGM','HjSsY','TaXNm','error','ranger-testing/trailhead','--scope','zyYvb','ranger@trailhead','log','UBksf','igxPI','plugin','marketplace'];_0x4968=function(){return _0xf4e5b4;};return _0x4968();}
@@ -1 +1 @@
1
- (function(_0x183c1e,_0x5c3302){const _0x207206=_0x546c,_0x34d413=_0x183c1e();while(!![]){try{const _0x32fb01=-parseInt(_0x207206(0x173))/0x1*(parseInt(_0x207206(0x15b))/0x2)+-parseInt(_0x207206(0x15e))/0x3*(-parseInt(_0x207206(0x169))/0x4)+-parseInt(_0x207206(0x171))/0x5*(-parseInt(_0x207206(0x167))/0x6)+parseInt(_0x207206(0x15f))/0x7+-parseInt(_0x207206(0x16b))/0x8+-parseInt(_0x207206(0x158))/0x9+-parseInt(_0x207206(0x160))/0xa*(parseInt(_0x207206(0x16c))/0xb);if(_0x32fb01===_0x5c3302)break;else _0x34d413['push'](_0x34d413['shift']());}catch(_0x13bbbe){_0x34d413['push'](_0x34d413['shift']());}}}(_0x2a56,0x8d909));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x2a56(){const _0x240303=['\x0a📦\x20OpenCode\x20Plugin\x0a','https://opencode.ai/config.json','prompt','6OYZNVe','project','20XePYjt','user','1255328IaNDee','53471PXuIkU','list','BTYIZ','YGvIS','log','4186225FIxjDg','RuPpQ','2SOIyif','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','✓\x20OpenCode\x20plugin\x20configured','2689875PbrkUo','opencode.json','Mhkgd','67190YPfJkC','error','Ubxbr','393981VsTkGX','903539Ieigxs','1070tEYsfj','plugin','pluginScope','Project\x20(shared\x20with\x20team\x20via\x20git)'];_0x2a56=function(){return _0x240303;};return _0x2a56();}function _0x546c(_0x197e6e,_0x5d3436){_0x197e6e=_0x197e6e-0x156;const _0x2a5608=_0x2a56();let _0x546c09=_0x2a5608[_0x197e6e];return _0x546c09;}import _0x385a50 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x425767){const _0x4ffd0d=_0x546c,_0x15e942={'McyiE':function(_0x11c569,_0x25e248){return _0x11c569(_0x25e248);},'BTYIZ':function(_0x17351f,_0xe6ff61,_0x345e4a){return _0x17351f(_0xe6ff61,_0x345e4a);},'wdgOE':_0x4ffd0d(0x164),'Ubxbr':_0x4ffd0d(0x16d),'aRBSt':_0x4ffd0d(0x162),'fxqZG':'User\x20(available\x20in\x20all\x20your\x20projects)','RuPpQ':'opencode.json','YGvIS':_0x4ffd0d(0x156),'Mhkgd':'Failed\x20to\x20read\x20opencode.json'},_0x15f264=_0x15e942['McyiE'](existsSync,_0x15e942[_0x4ffd0d(0x16e)](join,getOpencodeConfigDir(_0x4ffd0d(0x168)),_0x4ffd0d(0x159)));let _0x3d4f97;if(_0x425767)_0x3d4f97=_0x425767;else{if(_0x15f264)_0x3d4f97='project';else{console[_0x4ffd0d(0x170)](_0x15e942['wdgOE']);const _0x2f913d=await _0x385a50[_0x4ffd0d(0x166)]([{'type':_0x15e942[_0x4ffd0d(0x15d)],'name':_0x15e942['aRBSt'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x15e942['fxqZG'],'value':'user'},{'name':_0x4ffd0d(0x163),'value':'project'}],'default':_0x4ffd0d(0x16a)}]);_0x3d4f97=_0x2f913d[_0x4ffd0d(0x162)];}}const _0x153ac8=join(getOpencodeConfigDir(_0x3d4f97),_0x15e942[_0x4ffd0d(0x172)]),_0x1945e9='@ranger-testing/opencode-plugin',_0x4eedc4=_0x4ffd0d(0x165);let _0x446923={};if(existsSync(_0x153ac8))try{const _0x32403b=await readFile(_0x153ac8,'utf-8');_0x446923=JSON['parse'](_0x32403b);}catch(_0x294037){return console[_0x4ffd0d(0x15c)](_0x15e942[_0x4ffd0d(0x16f)]),{'configured':![],'scope':_0x3d4f97,'error':_0x15e942[_0x4ffd0d(0x15a)],'details':_0x294037};}const _0x3687f4=Array['isArray'](_0x446923[_0x4ffd0d(0x161)])?_0x446923[_0x4ffd0d(0x161)]:[];if(_0x3687f4['includes'](_0x1945e9))return console[_0x4ffd0d(0x170)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x3d4f97};return _0x446923['$schema']=_0x446923['$schema']||_0x4eedc4,_0x446923['plugin']=[..._0x3687f4,_0x1945e9],await mkdir(getOpencodeConfigDir(_0x3d4f97),{'recursive':!![]}),await writeFile(_0x153ac8,JSON['stringify'](_0x446923,null,0x2)+'\x0a'),console[_0x4ffd0d(0x170)](_0x4ffd0d(0x157)),{'configured':!![],'scope':_0x3d4f97};}
1
+ (function(_0x2ba355,_0x131420){const _0x118834=_0x6405,_0x1278ae=_0x2ba355();while(!![]){try{const _0x4e35b4=parseInt(_0x118834(0x162))/0x1*(-parseInt(_0x118834(0x155))/0x2)+-parseInt(_0x118834(0x156))/0x3*(parseInt(_0x118834(0x15e))/0x4)+-parseInt(_0x118834(0x161))/0x5+parseInt(_0x118834(0x14f))/0x6+parseInt(_0x118834(0x152))/0x7+-parseInt(_0x118834(0x14e))/0x8+parseInt(_0x118834(0x150))/0x9;if(_0x4e35b4===_0x131420)break;else _0x1278ae['push'](_0x1278ae['shift']());}catch(_0x4bd049){_0x1278ae['push'](_0x1278ae['shift']());}}}(_0x4228,0x6d0f8));import{join}from'path';function _0x6405(_0x144c30,_0x53cc3f){_0x144c30=_0x144c30-0x14d;const _0x422854=_0x4228();let _0x6405e7=_0x422854[_0x144c30];return _0x6405e7;}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x4228(){const _0x18eacb=['opencode.json','GdNGu','error','Where\x20should\x20the\x20plugin\x20be\x20installed?','parse','6652eLCRDA','project','user','4247660xamejo','1MXkofU','isArray','2518264FLGDbB','889092FfjeTZ','12155454aDWIbq','log','3386733rZYyXG','$schema','pEsci','201022VTYfJh','489QKtcBh','plugin','lcwSR'];_0x4228=function(){return _0x18eacb;};return _0x4228();}import _0x1116b0 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x119a60){const _0x6462e7=_0x6405,_0x37a626={'lcwSR':function(_0x13d958,_0x1fa573,_0x3e37af){return _0x13d958(_0x1fa573,_0x3e37af);},'wFDJP':function(_0x19355d,_0x5bd9ef){return _0x19355d(_0x5bd9ef);},'gTLgw':'pluginScope','pEsci':'User\x20(available\x20in\x20all\x20your\x20projects)','oGGbZ':'Project\x20(shared\x20with\x20team\x20via\x20git)','tKNil':'project','vOnCy':'user','MJeXu':'@ranger-testing/opencode-plugin','hNiAp':'utf-8','GdNGu':function(_0xba1985,_0x404a6c){return _0xba1985(_0x404a6c);}},_0x17c88a=existsSync(_0x37a626[_0x6462e7(0x158)](join,_0x37a626['wFDJP'](getOpencodeConfigDir,_0x6462e7(0x15f)),_0x6462e7(0x159)));let _0x411173;if(_0x119a60)_0x411173=_0x119a60;else{if(_0x17c88a)_0x411173='project';else{console[_0x6462e7(0x151)]('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0x1fe839=await _0x1116b0['prompt']([{'type':'list','name':_0x37a626['gTLgw'],'message':_0x6462e7(0x15c),'choices':[{'name':_0x37a626[_0x6462e7(0x154)],'value':_0x6462e7(0x160)},{'name':_0x37a626['oGGbZ'],'value':_0x37a626['tKNil']}],'default':_0x37a626['vOnCy']}]);_0x411173=_0x1fe839['pluginScope'];}}const _0x8799ea=_0x37a626[_0x6462e7(0x158)](join,getOpencodeConfigDir(_0x411173),_0x6462e7(0x159)),_0x45520e=_0x37a626['MJeXu'],_0x4e8e9e='https://opencode.ai/config.json';let _0x626c10={};if(existsSync(_0x8799ea))try{const _0x4d253d=await readFile(_0x8799ea,_0x37a626['hNiAp']);_0x626c10=JSON[_0x6462e7(0x15d)](_0x4d253d);}catch(_0x5d9d9f){return console[_0x6462e7(0x15b)]('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0x411173,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x5d9d9f};}const _0x4c1999=Array[_0x6462e7(0x14d)](_0x626c10['plugin'])?_0x626c10['plugin']:[];if(_0x4c1999['includes'](_0x45520e))return console['log']('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x411173};return _0x626c10[_0x6462e7(0x153)]=_0x626c10['$schema']||_0x4e8e9e,_0x626c10[_0x6462e7(0x157)]=[..._0x4c1999,_0x45520e],await _0x37a626['lcwSR'](mkdir,_0x37a626[_0x6462e7(0x15a)](getOpencodeConfigDir,_0x411173),{'recursive':!![]}),await writeFile(_0x8799ea,JSON['stringify'](_0x626c10,null,0x2)+'\x0a'),console[_0x6462e7(0x151)]('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x411173};}
@@ -1 +1 @@
1
- (function(_0x4e7088,_0x53c0ad){const _0x59b882=_0x22c6,_0x2e83bd=_0x4e7088();while(!![]){try{const _0x3d5de2=-parseInt(_0x59b882(0x168))/0x1*(parseInt(_0x59b882(0x131))/0x2)+parseInt(_0x59b882(0x13d))/0x3*(parseInt(_0x59b882(0x132))/0x4)+parseInt(_0x59b882(0x126))/0x5*(-parseInt(_0x59b882(0x160))/0x6)+-parseInt(_0x59b882(0x136))/0x7+parseInt(_0x59b882(0x142))/0x8*(parseInt(_0x59b882(0x139))/0x9)+parseInt(_0x59b882(0x169))/0xa*(-parseInt(_0x59b882(0x140))/0xb)+parseInt(_0x59b882(0x129))/0xc*(parseInt(_0x59b882(0x155))/0xd);if(_0x3d5de2===_0x53c0ad)break;else _0x2e83bd['push'](_0x2e83bd['shift']());}catch(_0x848330){_0x2e83bd['push'](_0x2e83bd['shift']());}}}(_0x56ac,0xab338));function _0x22c6(_0x25bb4d,_0x38e1ea){_0x25bb4d=_0x25bb4d-0x124;const _0x56ac49=_0x56ac();let _0x22c672=_0x56ac49[_0x25bb4d];return _0x22c672;}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';function _0x56ac(){const _0x333fbd=['xPzYV','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','RRWcK','7481740gFPeRA','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','ialzD','3231OPmVaD','settings.json','add','FSuKh','71313zhYRmh','Multiple\x20CI\x20profiles\x20found:\x20','plugin','14223ypqXwD','lGrbu','29576tICMwh','error','hkpQg','marketplace','--scope','CSHWT','OLehj','success','tbBrx','path','Apwhp','skipChromium','log','length','Failed\x20to\x20install\x20plugin:','project','auth','map','profile','18102227rgwmRa','dBLra','ranger@trailhead','ranger-testing/trailhead','trackPhaseStart','✓\x20Auth\x20state\x20found','auth.json.enc','dir_setup','tszTv','Failed\x20to\x20add\x20marketplace:','message','108JbPvjl','skills','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','profile_activate','TsFWe','Auto-detected\x20CI\x20profile:\x20','✓\x20Marketplace\x20already\x20added','hEfbz','245ryCGLV','10100BYdpAJ','trailhead','No\x20API\x20token\x20available\x20for\x20decryption','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','279085pCmnix','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','name','24whubKJ','XkBdS','baseUrl','TCdED','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','trackPhaseEnd','SGtal','KJwtE','4138bvtiOG','80vQrZap'];_0x56ac=function(){return _0x333fbd;};return _0x56ac();}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(_0x114cfe){const _0x4851ca=_0x22c6,_0x4f4ba7={'TsFWe':function(_0x3764f4,_0x5e6c47){return _0x3764f4+_0x5e6c47;},'edFMD':function(_0x44e81d,_0x24893b,_0x5d240c){return _0x44e81d(_0x24893b,_0x5d240c);},'cafXM':function(_0x1c47b4,_0x13984a){return _0x1c47b4+_0x13984a;},'LlLlf':'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.'},_0x2709a8=getRangerDir(),_0x53111e=join(_0x2709a8,'ci');if(_0x114cfe){const _0x170c61=join(_0x53111e,_0x114cfe);return{'name':_0x114cfe,'path':_0x170c61};}if(!existsSync(_0x53111e))throw new Error(_0x4f4ba7[_0x4851ca(0x164)]('No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a',_0x4851ca(0x12d)));const _0x3e6fea=await _0x4f4ba7['edFMD'](readdir,_0x53111e,{'withFileTypes':!![]}),_0xd3cb7e=_0x3e6fea['filter'](_0x551154=>_0x551154['isDirectory']())[_0x4851ca(0x153)](_0x7ecc9f=>_0x7ecc9f['name']);if(_0xd3cb7e[_0x4851ca(0x14f)]===0x0)throw new Error(_0x4f4ba7['cafXM']('No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a',_0x4f4ba7['LlLlf']));if(_0xd3cb7e['length']===0x1){const _0x832de4=_0xd3cb7e[0x0];return console['log'](_0x4851ca(0x165)+_0x832de4),{'name':_0x832de4,'path':join(_0x53111e,_0x832de4)};}throw new Error(_0x4851ca(0x13e)+_0xd3cb7e['join'](',\x20')+_0x4851ca(0x162));}async function installPluginNonInteractive(){const _0xb28b96=_0x22c6,_0x4b141a={'DVCiz':function(_0x4af6f0,_0x182e90){return _0x4af6f0(_0x182e90);},'uoNul':_0xb28b96(0x157),'SGtal':_0xb28b96(0x125),'qhlLa':function(_0x1f7c55,_0x5ddc3b){return _0x1f7c55(_0x5ddc3b);},'lGrbu':_0xb28b96(0x16a),'ialzD':function(_0x5ae941,_0x289719){return _0x5ae941(_0x289719);},'SfBBA':_0xb28b96(0x145),'zIDeW':_0xb28b96(0x158),'KJwtE':'You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','XkBdS':function(_0x44aeef,_0x2f7075){return _0x44aeef(_0x2f7075);},'cstTI':'project'},_0xf9e195=await _0x4b141a['DVCiz'](isPluginInstalled,_0x4b141a['uoNul']);if(_0xf9e195)return console['log'](_0x4b141a[_0xb28b96(0x12f)]),![];console[_0xb28b96(0x14e)](_0xb28b96(0x134));const _0x122d75=await _0x4b141a['qhlLa'](isMarketplaceAdded,_0x4b141a[_0xb28b96(0x141)]);let _0x4cca79=_0x122d75;if(_0x122d75)console['log'](_0xb28b96(0x166));else{const _0x5e4aec=await _0x4b141a[_0xb28b96(0x138)](runClaudeCommand,['plugin',_0x4b141a['SfBBA'],_0xb28b96(0x13b),_0x4b141a['zIDeW']]);!_0x5e4aec[_0xb28b96(0x149)]?(console[_0xb28b96(0x143)](_0xb28b96(0x15e),_0x5e4aec['error']),console[_0xb28b96(0x14e)](_0x4b141a[_0xb28b96(0x130)])):_0x4cca79=!![];}if(_0x4cca79){const _0x60027e=await _0x4b141a[_0xb28b96(0x12a)](runClaudeCommand,[_0xb28b96(0x13f),'install',_0x4b141a['uoNul'],_0xb28b96(0x146),_0x4b141a['cstTI']]);!_0x60027e[_0xb28b96(0x149)]?(console[_0xb28b96(0x143)](_0xb28b96(0x150),_0x60027e['error']),console[_0xb28b96(0x14e)]('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project')):console[_0xb28b96(0x14e)]('✓\x20Claude\x20Code\x20plugin\x20installed');}return!![];}export async function setupCi(_0x503170,_0x55b71f,_0x174467){const _0x2185cf=_0x22c6,_0x17025f={'nRxqd':'\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','VdNLV':_0x2185cf(0x152),'mbzym':'dir_setup','tbBrx':function(_0x43ef0f){return _0x43ef0f();},'OLehj':function(_0x4c9e41,_0x16d90a){return _0x4c9e41(_0x16d90a);},'FSuKh':function(_0x52543d,_0x13ac8b,_0x39c102){return _0x52543d(_0x13ac8b,_0x39c102);},'tszTv':function(_0x205538,_0x52e7a0,_0x4842ec){return _0x205538(_0x52e7a0,_0x4842ec);},'hkpQg':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','bLnLr':'chromium','bOTgY':_0x2185cf(0x13a),'YhOXq':function(_0x195477,_0x449cd6,_0x1f5665){return _0x195477(_0x449cd6,_0x1f5665);},'xPzYV':'auth.json','TCdED':_0x2185cf(0x15b),'CaFqz':function(_0x347d6a){return _0x347d6a();},'oIXSg':_0x2185cf(0x124),'GfNPs':function(_0x59d688,_0x17300c){return _0x59d688 instanceof _0x17300c;},'hEfbz':_0x2185cf(0x15a),'ZsxmN':'\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','RRWcK':function(_0x2b3f1,_0x47f706){return _0x2b3f1(_0x47f706);},'Apwhp':'profile_activate','rYcIz':'plugin','dBLra':_0x2185cf(0x151),'CSHWT':_0x2185cf(0x161)};console['log'](_0x17025f['nRxqd']),_0x174467?.['trackPhaseStart'](_0x17025f['VdNLV']),await authenticate(_0x503170),_0x174467?.['trackPhaseEnd'](_0x17025f['VdNLV']),_0x174467?.['trackPhaseStart'](_0x17025f['mbzym']);const {path:_0x74c907,installed:_0x278d9c}=await _0x17025f[_0x2185cf(0x14a)](ensureRangerDir);await _0x17025f['OLehj'](writeRangerGitignore,_0x74c907);const _0x1b0665=_0x17025f[_0x2185cf(0x13c)](join,_0x74c907,'sessions');!_0x17025f[_0x2185cf(0x148)](existsSync,_0x1b0665)&&await _0x17025f[_0x2185cf(0x15d)](mkdir,_0x1b0665,{'recursive':!![]});_0x174467?.['trackPhaseEnd'](_0x2185cf(0x15c),{'installed':_0x278d9c}),_0x174467?.['trackPhaseStart']('chromium');let _0x2efd1e=![];_0x55b71f?.[_0x2185cf(0x14d)]?console['log'](_0x17025f[_0x2185cf(0x144)]):_0x2efd1e=await ensureChromium();_0x174467?.[_0x2185cf(0x12e)](_0x17025f['bLnLr'],{'installed':_0x2efd1e,'skipped':!!_0x55b71f?.[_0x2185cf(0x14d)]}),_0x174467?.[_0x2185cf(0x159)](_0x2185cf(0x163));const _0x1591c4=await _0x17025f['OLehj'](findCiProfile,_0x55b71f?.[_0x2185cf(0x154)]);let _0x1c9880=![];_0x55b71f?.[_0x2185cf(0x12b)]&&(await mkdir(_0x1591c4[_0x2185cf(0x14b)],{'recursive':!![]}),await _0x17025f['tszTv'](saveSettings,_0x1591c4[_0x2185cf(0x128)],{'baseUrl':_0x55b71f['baseUrl'],'headless':!![]}),console['log']('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x55b71f['baseUrl']),_0x1c9880=!![]);const _0x52471c=_0x17025f[_0x2185cf(0x15d)](join,_0x1591c4[_0x2185cf(0x14b)],_0x17025f['bOTgY']);if(!existsSync(_0x52471c)&&!_0x1c9880)throw new Error('CI\x20profile\x20\x22'+_0x1591c4['name']+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x2edfc1=_0x17025f['YhOXq'](join,_0x1591c4['path'],_0x17025f[_0x2185cf(0x133)]),_0x5eabda=join(_0x1591c4['path'],_0x17025f[_0x2185cf(0x12c)]),_0x40d7dc=_0x17025f['OLehj'](existsSync,_0x2edfc1),_0xde7015=_0x17025f[_0x2185cf(0x148)](existsSync,_0x5eabda);if(_0xde7015)try{const _0xce0f9f=await _0x17025f['CaFqz'](getToken);if(!_0xce0f9f)throw new Error(_0x17025f['oIXSg']);const _0x5189a8=await readFile(_0x5eabda);decrypt(_0x5189a8,_0xce0f9f),console[_0x2185cf(0x14e)]('✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)');}catch(_0x240ac4){const _0x320b28=_0x17025f['GfNPs'](_0x240ac4,Error)?_0x240ac4[_0x2185cf(0x15f)]:String(_0x240ac4);throw new Error(_0x2185cf(0x137)+_0x1591c4['name']+'\x22:\x20'+_0x320b28);}else _0x40d7dc?console['log'](_0x17025f[_0x2185cf(0x167)]):console['log'](_0x17025f['ZsxmN']);await _0x17025f[_0x2185cf(0x135)](writeActiveProfileName,_0x1591c4['name']),console[_0x2185cf(0x14e)]('✓\x20Active\x20profile:\x20'+_0x1591c4[_0x2185cf(0x128)]),_0x174467?.[_0x2185cf(0x12e)](_0x17025f[_0x2185cf(0x14c)],{'profileName':_0x1591c4[_0x2185cf(0x128)],'hasAuth':_0x40d7dc,'hasEncryptedAuth':_0xde7015,'createdSettings':_0x1c9880}),_0x174467?.['trackPhaseStart']('plugin');const _0x7b9aef=await installPluginNonInteractive();_0x174467?.['trackPhaseEnd'](_0x17025f['rYcIz'],{'installed':_0x7b9aef}),_0x174467?.[_0x2185cf(0x159)]('skills'),await skillup({'autoInstall':_0x17025f[_0x2185cf(0x156)]}),_0x174467?.['trackPhaseEnd'](_0x17025f[_0x2185cf(0x147)]),console['log'](_0x2185cf(0x127));}
1
+ (function(_0x2e2267,_0x5b5681){const _0x50f97c=_0x5e58,_0x49b6e1=_0x2e2267();while(!![]){try{const _0x42bf11=parseInt(_0x50f97c(0x8d))/0x1*(parseInt(_0x50f97c(0xa9))/0x2)+parseInt(_0x50f97c(0xb1))/0x3*(-parseInt(_0x50f97c(0x7f))/0x4)+parseInt(_0x50f97c(0xa0))/0x5+parseInt(_0x50f97c(0x7a))/0x6*(-parseInt(_0x50f97c(0x9e))/0x7)+parseInt(_0x50f97c(0xa2))/0x8+parseInt(_0x50f97c(0x96))/0x9*(parseInt(_0x50f97c(0x93))/0xa)+-parseInt(_0x50f97c(0x8c))/0xb;if(_0x42bf11===_0x5b5681)break;else _0x49b6e1['push'](_0x49b6e1['shift']());}catch(_0x444e4c){_0x49b6e1['push'](_0x49b6e1['shift']());}}}(_0x4ed6,0x3ab62));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 _0x4ed6(){const _0x54e8bf=['success','trackPhaseEnd','2687663EXrqIh','21617GmlfJm','log','ZwnFN','vnpQc','dir_setup','\x22:\x20','130FsyVzl','KOLwt','filter','107703ktaRGn','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','add','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','ranger-testing/trailhead','path','skills','hDGJn','126476PNttrT','auth.json.enc','257540oDVPLC','✓\x20Claude\x20Code\x20plugin\x20installed','1925288nKAgdD','skipChromium','✓\x20Active\x20profile:\x20','trackPhaseStart','QTcVN','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','Nqsln','22JXpAfO','message','RLIlI','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','oYnvZ','Failed\x20to\x20install\x20plugin:','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','name','225HtFSVX','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','isDirectory','BEkrk','ranger@trailhead','AnSIO','profile_activate','baseUrl','length','plugin','54vujayk','auth.json','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','CcAom','join','2032IXlSli','auth','FIIKx','bxESN','BxkDz','vRjYL','XEwnP','kjKES','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','install'];_0x4ed6=function(){return _0x54e8bf;};return _0x4ed6();}function _0x5e58(_0x1041d4,_0x595761){_0x1041d4=_0x1041d4-0x77;const _0x4ed61b=_0x4ed6();let _0x5e5861=_0x4ed61b[_0x1041d4];return _0x5e5861;}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(_0x1d503f){const _0xd5b240=_0x5e58,_0x5248e9={'oYnvZ':function(_0x28e1f5){return _0x28e1f5();},'hDGJn':function(_0x43ab79,_0x491c87,_0x7763ee){return _0x43ab79(_0x491c87,_0x7763ee);},'jhWDs':function(_0x3bbf6a,_0x76c3d7){return _0x3bbf6a+_0x76c3d7;},'bxESN':function(_0x19ef5e,_0x3ffe83){return _0x19ef5e===_0x3ffe83;},'ZwnFN':function(_0x324fa3,_0x47d93f){return _0x324fa3===_0x47d93f;}},_0x1693a9=_0x5248e9[_0xd5b240(0xad)](getRangerDir),_0x466070=join(_0x1693a9,'ci');if(_0x1d503f){const _0x728d54=_0x5248e9['hDGJn'](join,_0x466070,_0x1d503f);return{'name':_0x1d503f,'path':_0x728d54};}if(!existsSync(_0x466070))throw new Error(_0x5248e9['jhWDs'](_0xd5b240(0x99),'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.'));const _0x222554=await _0x5248e9[_0xd5b240(0x9d)](readdir,_0x466070,{'withFileTypes':!![]}),_0x525b5b=_0x222554[_0xd5b240(0x95)](_0x42ff93=>_0x42ff93[_0xd5b240(0xb3)]())['map'](_0x37d794=>_0x37d794['name']);if(_0x5248e9[_0xd5b240(0x82)](_0x525b5b[_0xd5b240(0x78)],0x0))throw new Error(_0xd5b240(0x87)+_0xd5b240(0x97));if(_0x5248e9[_0xd5b240(0x8f)](_0x525b5b['length'],0x1)){const _0x13d48c=_0x525b5b[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x13d48c),{'name':_0x13d48c,'path':join(_0x466070,_0x13d48c)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x525b5b[_0xd5b240(0x7e)](',\x20')+_0xd5b240(0xac));}async function installPluginNonInteractive(){const _0x52df87=_0x5e58,_0x102930={'XEwnP':_0x52df87(0xb5),'CcAom':_0x52df87(0x88),'vnpQc':_0x52df87(0x79),'Aowdk':_0x52df87(0x98),'ixeMd':_0x52df87(0xb2),'WBYMQ':_0x52df87(0xaf),'UprcT':_0x52df87(0xa1)},_0xd2905e=await isPluginInstalled(_0x102930[_0x52df87(0x85)]);if(_0xd2905e)return console['log'](_0x102930[_0x52df87(0x7d)]),![];console[_0x52df87(0x8e)]('Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...');const _0x29b03a=await isMarketplaceAdded('trailhead');let _0x4a3977=_0x29b03a;if(_0x29b03a)console[_0x52df87(0x8e)]('✓\x20Marketplace\x20already\x20added');else{const _0x4f42ed=await runClaudeCommand([_0x102930[_0x52df87(0x90)],'marketplace',_0x102930['Aowdk'],_0x52df87(0x9a)]);!_0x4f42ed[_0x52df87(0x8a)]?(console['error']('Failed\x20to\x20add\x20marketplace:',_0x4f42ed['error']),console['log'](_0x102930['ixeMd'])):_0x4a3977=!![];}if(_0x4a3977){const _0x7cd700=await runClaudeCommand([_0x52df87(0x79),_0x52df87(0x89),_0x52df87(0xb5),'--scope','project']);!_0x7cd700[_0x52df87(0x8a)]?(console['error'](_0x52df87(0xae),_0x7cd700['error']),console['log'](_0x102930['WBYMQ'])):console['log'](_0x102930['UprcT']);}return!![];}export async function setupCi(_0x342b25,_0x45d370,_0x58b9cd){const _0x3b2ed1=_0x5e58,_0x3a3c63={'RLIlI':'\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','sQPAF':_0x3b2ed1(0x80),'OgYSA':_0x3b2ed1(0x91),'kjKES':function(_0x19aab6,_0x9e9c8e,_0x48b4da){return _0x19aab6(_0x9e9c8e,_0x48b4da);},'wlGTM':'sessions','BEkrk':function(_0x2b22cf,_0x491c0b){return _0x2b22cf(_0x491c0b);},'AnSIO':function(_0x11f8fe){return _0x11f8fe();},'vRjYL':function(_0x2c05bf,_0x5686ef){return _0x2c05bf(_0x5686ef);},'Nqsln':'settings.json','SuRXl':_0x3b2ed1(0x9f),'BxkDz':function(_0x35bc90,_0x4206e3){return _0x35bc90(_0x4206e3);},'QTcVN':'profile_activate','KOLwt':_0x3b2ed1(0x9c),'FIIKx':'\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a'};console['log'](_0x3a3c63[_0x3b2ed1(0xab)]),_0x58b9cd?.[_0x3b2ed1(0xa5)](_0x3a3c63['sQPAF']),await authenticate(_0x342b25),_0x58b9cd?.['trackPhaseEnd'](_0x3b2ed1(0x80)),_0x58b9cd?.[_0x3b2ed1(0xa5)](_0x3a3c63['OgYSA']);const {path:_0x10991b,installed:_0x9db16e}=await ensureRangerDir();await writeRangerGitignore(_0x10991b);const _0xa3eccb=_0x3a3c63['kjKES'](join,_0x10991b,_0x3a3c63['wlGTM']);!_0x3a3c63[_0x3b2ed1(0xb4)](existsSync,_0xa3eccb)&&await mkdir(_0xa3eccb,{'recursive':!![]});_0x58b9cd?.[_0x3b2ed1(0x8b)]('dir_setup',{'installed':_0x9db16e}),_0x58b9cd?.[_0x3b2ed1(0xa5)]('chromium');let _0x448f48=![];_0x45d370?.[_0x3b2ed1(0xa3)]?console['log'](_0x3b2ed1(0xa7)):_0x448f48=await _0x3a3c63[_0x3b2ed1(0xb6)](ensureChromium);_0x58b9cd?.[_0x3b2ed1(0x8b)]('chromium',{'installed':_0x448f48,'skipped':!!_0x45d370?.['skipChromium']}),_0x58b9cd?.['trackPhaseStart'](_0x3b2ed1(0xb7));const _0x5c8304=await _0x3a3c63[_0x3b2ed1(0x84)](findCiProfile,_0x45d370?.['profile']);let _0x7c7f35=![];_0x45d370?.['baseUrl']&&(await _0x3a3c63['kjKES'](mkdir,_0x5c8304[_0x3b2ed1(0x9b)],{'recursive':!![]}),await saveSettings(_0x5c8304[_0x3b2ed1(0xb0)],{'baseUrl':_0x45d370[_0x3b2ed1(0x77)],'headless':!![]}),console[_0x3b2ed1(0x8e)]('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x45d370[_0x3b2ed1(0x77)]),_0x7c7f35=!![]);const _0x5b1beb=_0x3a3c63['kjKES'](join,_0x5c8304[_0x3b2ed1(0x9b)],_0x3a3c63[_0x3b2ed1(0xa8)]);if(!_0x3a3c63['BEkrk'](existsSync,_0x5b1beb)&&!_0x7c7f35)throw new Error('CI\x20profile\x20\x22'+_0x5c8304[_0x3b2ed1(0xb0)]+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x291b84=_0x3a3c63[_0x3b2ed1(0x86)](join,_0x5c8304[_0x3b2ed1(0x9b)],_0x3b2ed1(0x7b)),_0x210749=join(_0x5c8304['path'],_0x3a3c63['SuRXl']),_0x4bfb6d=_0x3a3c63['BEkrk'](existsSync,_0x291b84),_0x10d6d0=existsSync(_0x210749);if(_0x10d6d0)try{const _0x51c903=await getToken();if(!_0x51c903)throw new Error('No\x20API\x20token\x20available\x20for\x20decryption');const _0xbb6912=await _0x3a3c63[_0x3b2ed1(0x84)](readFile,_0x210749);decrypt(_0xbb6912,_0x51c903),console[_0x3b2ed1(0x8e)]('✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)');}catch(_0x1f936b){const _0x52f135=_0x1f936b instanceof Error?_0x1f936b[_0x3b2ed1(0xaa)]:_0x3a3c63[_0x3b2ed1(0x83)](String,_0x1f936b);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x5c8304[_0x3b2ed1(0xb0)]+_0x3b2ed1(0x92)+_0x52f135);}else _0x4bfb6d?console['log']('✓\x20Auth\x20state\x20found'):console['log'](_0x3b2ed1(0x7c));await _0x3a3c63['BxkDz'](writeActiveProfileName,_0x5c8304['name']),console[_0x3b2ed1(0x8e)](_0x3b2ed1(0xa4)+_0x5c8304['name']),_0x58b9cd?.[_0x3b2ed1(0x8b)](_0x3a3c63[_0x3b2ed1(0xa6)],{'profileName':_0x5c8304[_0x3b2ed1(0xb0)],'hasAuth':_0x4bfb6d,'hasEncryptedAuth':_0x10d6d0,'createdSettings':_0x7c7f35}),_0x58b9cd?.[_0x3b2ed1(0xa5)](_0x3b2ed1(0x79));const _0xcf7555=await _0x3a3c63[_0x3b2ed1(0xb6)](installPluginNonInteractive);_0x58b9cd?.['trackPhaseEnd'](_0x3b2ed1(0x79),{'installed':_0xcf7555}),_0x58b9cd?.['trackPhaseStart'](_0x3a3c63[_0x3b2ed1(0x94)]),await skillup({'autoInstall':'project'}),_0x58b9cd?.[_0x3b2ed1(0x8b)]('skills'),console[_0x3b2ed1(0x8e)](_0x3a3c63[_0x3b2ed1(0x81)]);}
@@ -1 +1 @@
1
- (function(_0x204656,_0x4bf81c){const _0x142e4c=_0x1e3b,_0x147291=_0x204656();while(!![]){try{const _0x278b42=-parseInt(_0x142e4c(0x1bd))/0x1*(parseInt(_0x142e4c(0x1db))/0x2)+-parseInt(_0x142e4c(0x1c5))/0x3+parseInt(_0x142e4c(0x1d7))/0x4*(parseInt(_0x142e4c(0x1c8))/0x5)+-parseInt(_0x142e4c(0x1c7))/0x6+-parseInt(_0x142e4c(0x1df))/0x7*(-parseInt(_0x142e4c(0x1c4))/0x8)+-parseInt(_0x142e4c(0x1d3))/0x9*(parseInt(_0x142e4c(0x1e2))/0xa)+-parseInt(_0x142e4c(0x1dc))/0xb*(-parseInt(_0x142e4c(0x1d4))/0xc);if(_0x278b42===_0x4bf81c)break;else _0x147291['push'](_0x147291['shift']());}catch(_0x3c1d9b){_0x147291['push'](_0x147291['shift']());}}}(_0x5f50,0xd1ace));import{basename}from'path';import _0x3fb076 from'inquirer';function _0x1e3b(_0x39aaf1,_0x2f6008){_0x39aaf1=_0x39aaf1-0x1b6;const _0x5f50e2=_0x5f50();let _0x1e3b4f=_0x5f50e2[_0x39aaf1];return _0x1e3b4f;}import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x5f50(){const _0x2bdabe=['LlFRL','/skills/','1|2|5|0|3|4','38XVmVZs','35716153XUZCfd','rzHVH','/.opencode/skills/','2198dIWKEg','This\x20project\x20only\x20(','BfqmC','4261580xfoXFo','\x0a📦\x20Installing\x20skills...\x0a','isTTY','\x20skill','user','prompt','amwdY','To\x20use:','ACuic','74497gingDM','FTpIw','uUTqA','azjMO','\x20successfully!\x0a','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','list','22696UTlLwA','147444NGnEXD','\x0a✅\x20Installed\x20','7698732RCypNh','5QCoUic','installLevel','ooojd','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','message','iTIbA','opencode','csrFF','DDWCB','Where\x20should\x20skills\x20be\x20installed?','HzZGu','27UJneHo','12ryDMCy','log','raFLi','2989104okfSPH'];_0x5f50=function(){return _0x2bdabe;};return _0x5f50();}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x53a5e7={}){const _0x148d53=_0x1e3b,_0x377a54={'csrFF':'claude','FTpIw':_0x148d53(0x1da),'amwdY':function(_0x445709,_0x34ec80){return _0x445709===_0x34ec80;},'gzGYS':_0x148d53(0x1ce),'bVFBR':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','ooojd':'✓\x20Found\x20API\x20token','LlFRL':function(_0xa15e4e,_0x4f12d5){return _0xa15e4e(_0x4f12d5);},'iTIbA':_0x148d53(0x1b8),'PKEzM':function(_0x723143){return _0x723143();},'tQYQw':function(_0x476352,_0x388cf5){return _0x476352===_0x388cf5;},'uUTqA':_0x148d53(0x1c3),'DDWCB':_0x148d53(0x1c9),'azjMO':_0x148d53(0x1d1),'BfqmC':'project','ACuic':'ranger','HzZGu':function(_0x11a888,_0x23d781){return _0x11a888 instanceof _0x23d781;},'raFLi':'user-level','GBPhK':'project-level','rzHVH':_0x148d53(0x1bb),'bouyg':'\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','EQqLO':'\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a'};console[_0x148d53(0x1d5)](_0x148d53(0x1cb));const _0x437e92=_0x53a5e7['platform']??_0x377a54[_0x148d53(0x1cf)],_0x22aa7b=await getToken();if(!_0x22aa7b){const _0xbe651f=_0x377a54[_0x148d53(0x1be)]['split']('|');let _0x319dad=0x0;while(!![]){switch(_0xbe651f[_0x319dad++]){case'0':console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x377a54[_0x148d53(0x1ba)](_0x437e92,_0x377a54['gzGYS'])?'\x20--opencode':'')+'\x20<your-api-token>');continue;case'1':console['log'](_0x377a54['bVFBR']);continue;case'2':console['log']('To\x20get\x20started:');continue;case'3':console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x437e92===_0x148d53(0x1ce)?'\x20--opencode':'')+'\x0a');continue;case'4':return;case'5':console[_0x148d53(0x1d5)](_0x148d53(0x1c2));continue;}break;}}console[_0x148d53(0x1d5)](_0x377a54[_0x148d53(0x1ca)]);const _0x1c0e8e=getProjectRoot(),_0x33b692=_0x377a54[_0x148d53(0x1d8)](basename,_0x1c0e8e),_0x572741=_0x377a54['amwdY'](_0x437e92,_0x377a54['gzGYS'])?_0x377a54[_0x148d53(0x1d8)](getOpencodeConfigDir,_0x377a54[_0x148d53(0x1cd)])+_0x148d53(0x1d9):_0x377a54['PKEzM'](getClaudeConfigDir)+'/skills/',_0x54433a=_0x377a54['tQYQw'](_0x437e92,_0x377a54['gzGYS'])?_0x1c0e8e+_0x148d53(0x1de):_0x1c0e8e+'/.claude/skills/',_0x40730b=process['stdin'][_0x148d53(0x1b6)]&&process['stdout'][_0x148d53(0x1b6)];let _0x36fd47;if(_0x53a5e7['autoInstall'])_0x36fd47=_0x53a5e7['autoInstall'];else{if(_0x40730b){const _0x26750f=await _0x3fb076[_0x148d53(0x1b9)]([{'type':_0x377a54[_0x148d53(0x1bf)],'name':_0x377a54[_0x148d53(0x1d0)],'message':_0x377a54[_0x148d53(0x1c0)],'choices':[{'name':'All\x20projects\x20('+_0x572741+')','value':'user'},{'name':_0x148d53(0x1e0)+_0x54433a+')','value':_0x377a54[_0x148d53(0x1e1)]}]}]);_0x36fd47=_0x26750f[_0x148d53(0x1c9)];}else _0x36fd47='project',console[_0x148d53(0x1d5)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x54433a+')');}let _0x358248=0x0;const _0x1dde0b=getCurrentVersion();console['log'](_0x148d53(0x1e3));try{const _0x54b2c5=await installSkill(_0x377a54[_0x148d53(0x1bc)],{'cliVersion':_0x1dde0b,'level':_0x36fd47,'platform':_0x437e92});_0x54b2c5&&_0x358248++;}catch(_0x35e68b){console['warn']('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x377a54[_0x148d53(0x1d2)](_0x35e68b,Error)?_0x35e68b[_0x148d53(0x1cc)]:_0x35e68b);}if(_0x358248>0x0){const _0xcd5ca0=_0x377a54[_0x148d53(0x1ba)](_0x36fd47,'user')?_0x377a54[_0x148d53(0x1d6)]:_0x377a54['GBPhK'];console[_0x148d53(0x1d5)](_0x148d53(0x1c6)+_0x358248+'\x20'+_0xcd5ca0+_0x148d53(0x1b7)+(_0x358248>0x1?'s':'')+_0x148d53(0x1c1)),!_0x53a5e7['suppressUsage']&&(console[_0x148d53(0x1d5)](_0x377a54[_0x148d53(0x1dd)]),_0x437e92===_0x148d53(0x1ce)?console['log'](_0x377a54['bouyg']):console[_0x148d53(0x1d5)]('\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!'));}else console[_0x148d53(0x1d5)](_0x377a54['EQqLO']);}
1
+ (function(_0xf218e8,_0x4905cf){const _0xbd23a3=_0x3a17,_0x42fe10=_0xf218e8();while(!![]){try{const _0x2a5661=-parseInt(_0xbd23a3(0xd9))/0x1+parseInt(_0xbd23a3(0xd5))/0x2+-parseInt(_0xbd23a3(0xda))/0x3*(-parseInt(_0xbd23a3(0xd4))/0x4)+parseInt(_0xbd23a3(0xd3))/0x5+-parseInt(_0xbd23a3(0xea))/0x6*(parseInt(_0xbd23a3(0xee))/0x7)+parseInt(_0xbd23a3(0xe9))/0x8*(parseInt(_0xbd23a3(0xef))/0x9)+parseInt(_0xbd23a3(0xe4))/0xa;if(_0x2a5661===_0x4905cf)break;else _0x42fe10['push'](_0x42fe10['shift']());}catch(_0x55bfeb){_0x42fe10['push'](_0x42fe10['shift']());}}}(_0x1098,0x5a621));import{basename}from'path';import _0x4fcc19 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';function _0x3a17(_0x502f88,_0x3428d7){_0x502f88=_0x502f88-0xc5;const _0x10989f=_0x1098();let _0x3a1732=_0x10989f[_0x502f88];return _0x3a1732;}function _0x1098(){const _0x1e4c14=['Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','nMBcJ','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','\x20--opencode','gwbnO','717280OdIcXl','4CLywYD','1285276UuLkYT','All\x20projects\x20(','autoInstall','This\x20project\x20only\x20(','711513CYmRYf','1417179oqnUod','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','opencode','isTTY','\x0a✅\x20Installed\x20','Pnxjd','VeOfz','platform','/skills/','prompt','1569640bXTVHr','\x20<your-api-token>','tXAnE','\x20\x203.\x20Run:\x20ranger\x20skillup','\x20\x202.\x20Run:\x20ranger\x20setup','4856hRVZVE','12JQTOGW','user-level','stdin','/.opencode/skills/','1178674SNEXBg','45HymCrT','✓\x20Found\x20API\x20token','Where\x20should\x20skills\x20be\x20installed?','rdlip','\x0a📦\x20Installing\x20skills...\x0a','AEmGi','log','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','uYYfX','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','\x20skill','warn'];_0x1098=function(){return _0x1e4c14;};return _0x1098();}export async function skillup(_0xa8076c={}){const _0x4fd5d6=_0x3a17,_0x3d69cd={'pdpKh':'claude','rdlip':function(_0x3cb2ce){return _0x3cb2ce();},'lEitx':_0x4fd5d6(0xd0),'YNqTj':'To\x20get\x20started:','lnuhY':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','AEmGi':function(_0x3def4e,_0xf50fbf){return _0x3def4e===_0xf50fbf;},'sxhht':function(_0x431b77){return _0x431b77();},'Pnxjd':function(_0x571087,_0x22f8c3){return _0x571087(_0x22f8c3);},'gwbnO':'user','qVpvd':function(_0x36e52e){return _0x36e52e();},'tXAnE':function(_0x360210,_0x28a803){return _0x360210===_0x28a803;},'NWyhA':'list','VeOfz':'installLevel','dAhez':'project','wtVsq':_0x4fd5d6(0xc6),'uYYfX':_0x4fd5d6(0xdb),'nMBcJ':'project-level','LoAdh':function(_0x2c1334,_0x39d965){return _0x2c1334>_0x39d965;},'nFDDP':_0x4fd5d6(0xdc)};console['log'](_0x4fd5d6(0xcb));const _0x17d6a1=_0xa8076c[_0x4fd5d6(0xe1)]??_0x3d69cd['pdpKh'],_0x61c0d5=await _0x3d69cd[_0x4fd5d6(0xc5)](getToken);if(!_0x61c0d5){console['log'](_0x3d69cd['lEitx']),console['log'](_0x3d69cd['YNqTj']),console[_0x4fd5d6(0xc8)](_0x3d69cd['lnuhY']),console[_0x4fd5d6(0xc8)](_0x4fd5d6(0xe8)+(_0x3d69cd[_0x4fd5d6(0xc7)](_0x17d6a1,_0x4fd5d6(0xdc))?_0x4fd5d6(0xd1):'')+_0x4fd5d6(0xe5)),console['log'](_0x4fd5d6(0xe7)+(_0x3d69cd['AEmGi'](_0x17d6a1,_0x4fd5d6(0xdc))?'\x20--opencode':'')+'\x0a');return;}console['log'](_0x4fd5d6(0xf0));const _0x4796e9=_0x3d69cd['sxhht'](getProjectRoot),_0xb9f7fe=_0x3d69cd[_0x4fd5d6(0xdf)](basename,_0x4796e9),_0x16db8f=_0x3d69cd['AEmGi'](_0x17d6a1,'opencode')?_0x3d69cd['Pnxjd'](getOpencodeConfigDir,_0x3d69cd['gwbnO'])+_0x4fd5d6(0xe2):_0x3d69cd['qVpvd'](getClaudeConfigDir)+'/skills/',_0x1101f4=_0x3d69cd[_0x4fd5d6(0xe6)](_0x17d6a1,_0x4fd5d6(0xdc))?_0x4796e9+_0x4fd5d6(0xed):_0x4796e9+'/.claude/skills/',_0x2a4df5=process[_0x4fd5d6(0xec)][_0x4fd5d6(0xdd)]&&process['stdout']['isTTY'];let _0x2e89a4;if(_0xa8076c[_0x4fd5d6(0xd7)])_0x2e89a4=_0xa8076c['autoInstall'];else{if(_0x2a4df5){const _0x4a6f0a=await _0x4fcc19[_0x4fd5d6(0xe3)]([{'type':_0x3d69cd['NWyhA'],'name':_0x3d69cd[_0x4fd5d6(0xe0)],'message':_0x4fd5d6(0xf1),'choices':[{'name':_0x4fd5d6(0xd6)+_0x16db8f+')','value':'user'},{'name':_0x4fd5d6(0xd8)+_0x1101f4+')','value':'project'}]}]);_0x2e89a4=_0x4a6f0a['installLevel'];}else _0x2e89a4=_0x3d69cd['dAhez'],console['log'](_0x4fd5d6(0xce)+_0x1101f4+')');}let _0x132ef5=0x0;const _0x1ec77d=getCurrentVersion();console['log'](_0x3d69cd['wtVsq']);try{const _0x1c5e45=await installSkill('ranger',{'cliVersion':_0x1ec77d,'level':_0x2e89a4,'platform':_0x17d6a1});_0x1c5e45&&_0x132ef5++;}catch(_0x49a24d){console[_0x4fd5d6(0xcd)](_0x3d69cd[_0x4fd5d6(0xca)],_0x49a24d instanceof Error?_0x49a24d['message']:_0x49a24d);}if(_0x132ef5>0x0){const _0x1bdde8=_0x2e89a4===_0x3d69cd[_0x4fd5d6(0xd2)]?_0x4fd5d6(0xeb):_0x3d69cd[_0x4fd5d6(0xcf)];console[_0x4fd5d6(0xc8)](_0x4fd5d6(0xde)+_0x132ef5+'\x20'+_0x1bdde8+_0x4fd5d6(0xcc)+(_0x3d69cd['LoAdh'](_0x132ef5,0x1)?'s':'')+'\x20successfully!\x0a'),!_0xa8076c['suppressUsage']&&(console['log']('To\x20use:'),_0x17d6a1===_0x3d69cd['nFDDP']?console['log']('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console[_0x4fd5d6(0xc8)]('\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!'));}else console[_0x4fd5d6(0xc8)](_0x4fd5d6(0xc9));}
@@ -1 +1 @@
1
- const _0x5941bc=_0x8386;(function(_0x883480,_0x28dfe1){const _0x2359bd=_0x8386,_0x21b95d=_0x883480();while(!![]){try{const _0x1737ab=parseInt(_0x2359bd(0x15a))/0x1+parseInt(_0x2359bd(0x153))/0x2+-parseInt(_0x2359bd(0x140))/0x3+-parseInt(_0x2359bd(0x157))/0x4*(-parseInt(_0x2359bd(0x14d))/0x5)+parseInt(_0x2359bd(0x12f))/0x6+-parseInt(_0x2359bd(0x16d))/0x7*(parseInt(_0x2359bd(0x145))/0x8)+-parseInt(_0x2359bd(0x121))/0x9;if(_0x1737ab===_0x28dfe1)break;else _0x21b95d['push'](_0x21b95d['shift']());}catch(_0x1ec036){_0x21b95d['push'](_0x21b95d['shift']());}}}(_0x1cd0,0x88336));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';function _0x8386(_0x3ea0b9,_0x4c8ba7){_0x3ea0b9=_0x3ea0b9-0x11a;const _0x1cd0f8=_0x1cd0();let _0x83860b=_0x1cd0f8[_0x3ea0b9];return _0x83860b;}import _0x1be0a5 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';function _0x1cd0(){const _0x724e94=['profile','jHTIF','Authentication\x20failed:\x20','XDiUh','inherit','plugin','stdout','local','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','ViNLL','opencode','ranger\x20profile\x20add\x20local','ugwId','SCLOZ','\x20(fallback\x20version)','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','3117585srWCfY','organizationName','success','isTTY','hIgKf','400HEDykG','ready','version','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\x20now?','iIBjC','WYPVO','.gitignore','216635yHAzey','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','FBgiC','allowInsecureLocalhost','geRNu','\x0a⚠\x20Skipping\x20Chromium\x20installation.','1002428fWQoaX','chromium','close','\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','60ZBQgWi','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','warn','1051715MjZZqU','CujwL','log','skills','Validating\x20API\x20token...','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','oeNKQ','GVSaG','\x0a🚀\x20Ranger\x20Setup\x0a','install','skipChromium','Vfawd','message','EhvNd','user','✓\x20Created\x20.ranger/.gitignore','resolve','error','HCIgs','35644AENuIG','CEGKx','HAbYz','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','skipped','auth','git_check','YchSe','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','✓\x20Local\x20profile\x20already\x20exists','You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','VFGYX','cWFJq','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','playwright@','url','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','dZCSM','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','FixYa','cXcCY','executablePath','kKqBq','scope','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','confirm','DIXQA','\x1b[0m','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','\x20\x20npx\x20playwright@','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','wuHOk','ihmgV','prompt','trackPhaseEnd','✓\x20Authenticated\x20to\x20','bOHih','GUYnT','4491639uQCFUQ','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','trackPhaseStart','AOCyk','ayAkT','\x20install\x20chromium','gvnMd','EmIin','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','method','✓\x20Stored\x20credentials\x20locally','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','ynHsy','Wrccb','887460lAYMkq'];_0x1cd0=function(){return _0x724e94;};return _0x1cd0();}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),PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2',bold=_0x61de39=>'\x1b[1m'+_0x61de39+_0x5941bc(0x189);function getPlaywrightVersion(){const _0x5176b8=_0x5941bc,_0x2bb234={'DIXQA':'playwright/package.json'};try{const _0x5683d3=require[_0x5176b8(0x16a)](_0x2bb234[_0x5176b8(0x188)]),_0x367741=require(_0x5683d3);return _0x367741[_0x5176b8(0x147)];}catch{return null;}}function installChromiumBinary(_0x416795){const _0x54adde=_0x5941bc,_0xda22a5={'ynHsy':function(_0x521f3b,_0x29f181){return _0x521f3b(_0x29f181);},'pebgK':'install','oeNKQ':'chromium','ZGZlk':'npx','kzjJL':function(_0x20046f,_0x29b4b4){return _0x20046f===_0x29b4b4;},'YCGRc':_0x54adde(0x155),'qLSwq':'error'};return new Promise((_0x2649dd,_0x1ab4b3)=>{const _0xd7259a=_0x54adde,_0x3235ab={'GUYnT':function(_0x4dad66,_0x25d76b){const _0x2ee8e7=_0x8386;return _0xda22a5[_0x2ee8e7(0x12d)](_0x4dad66,_0x25d76b);}},_0x49633d=[_0xd7259a(0x17c)+_0x416795,_0xda22a5['pebgK'],_0xda22a5[_0xd7259a(0x160)]],_0xd00246=spawn(_0xda22a5['ZGZlk'],_0x49633d,{'stdio':['ignore',_0xd7259a(0x134),_0xd7259a(0x134)],'shell':_0xda22a5['kzjJL'](process['platform'],'win32')});_0xd00246['on'](_0xda22a5['YCGRc'],_0x425c2c=>{const _0x5e06dc=_0xd7259a;_0x425c2c===0x0?_0x2649dd():_0x3235ab[_0x5e06dc(0x120)](_0x1ab4b3,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x425c2c));}),_0xd00246['on'](_0xda22a5['qLSwq'],_0x59787a=>{_0x3235ab['GUYnT'](_0x1ab4b3,_0x59787a);});});}export async function authenticate(_0x27b3a1){const _0x5f1354=_0x5941bc,_0x571e6a={'XDiUh':function(_0x47ad77){return _0x47ad77();},'SCLOZ':'existing_token','VMhzU':_0x5f1354(0x15e),'EhvNd':'provided_token'};if(!_0x27b3a1){const _0x2baa36=await _0x571e6a[_0x5f1354(0x133)](getToken);if(_0x2baa36){const _0x480958=await getCurrentUser(_0x2baa36);if(_0x480958[_0x5f1354(0x142)])return console[_0x5f1354(0x15c)]('✓\x20Already\x20authenticated\x20to\x20'+_0x480958['user'][_0x5f1354(0x141)]),{'token':_0x2baa36,'method':_0x571e6a[_0x5f1354(0x13d)]};}try{_0x27b3a1=await runDeviceAuthFlow();}catch(_0x3d7134){throw new Error(_0x5f1354(0x132)+(_0x3d7134 instanceof Error?_0x3d7134[_0x5f1354(0x166)]:_0x3d7134));}const _0x488e3d=await getCurrentUser(_0x27b3a1);if(!_0x488e3d[_0x5f1354(0x142)])throw new Error(_0x5f1354(0x175)+_0x488e3d['error']);return console['log'](_0x5f1354(0x11e)+_0x488e3d['user']['organizationName']),{'token':_0x27b3a1,'method':'device_auth'};}console['log'](_0x571e6a['VMhzU']);const _0x47b9fb=await getCurrentUser(_0x27b3a1);if(!_0x47b9fb[_0x5f1354(0x142)]){if(_0x47b9fb['status'])throw new Error('Authentication\x20failed:\x20'+_0x47b9fb[_0x5f1354(0x16b)]+_0x5f1354(0x14e));else throw new Error(_0x5f1354(0x170)+_0x47b9fb['error']+_0x5f1354(0x13f));}return console[_0x5f1354(0x15c)](_0x5f1354(0x11e)+_0x47b9fb[_0x5f1354(0x168)][_0x5f1354(0x141)]),await storeToken(_0x27b3a1),console['log'](process['env']['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':_0x5f1354(0x12b)),{'token':_0x27b3a1,'method':_0x571e6a[_0x5f1354(0x167)]};}export async function ensureRangerDir(){const _0x34e56b=_0x5941bc,_0xe0105c={'HAbYz':function(_0x1a0f92){return _0x1a0f92();},'CEGKx':function(_0x2e2dec,_0x183882,_0x1edace){return _0x2e2dec(_0x183882,_0x1edace);},'geRNu':'.ranger'},_0x3e31d4=_0xe0105c[_0x34e56b(0x16f)](findGitRoot),_0x1dff0c=_0x3e31d4?_0xe0105c['CEGKx'](join,_0x3e31d4,_0xe0105c[_0x34e56b(0x151)]):_0xe0105c[_0x34e56b(0x16f)](getRangerDir);return!existsSync(_0x1dff0c)?(await _0xe0105c[_0x34e56b(0x16e)](mkdir,_0x1dff0c,{'recursive':!![]}),console[_0x34e56b(0x15c)]('✓\x20Created\x20.ranger/\x20directory'),{'path':_0x1dff0c,'installed':!![]}):(console[_0x34e56b(0x15c)]('✓\x20.ranger/\x20directory\x20already\x20exists'),{'path':_0x1dff0c,'installed':![]});}export async function ensureChromium(){const _0x7f803f=_0x5941bc,_0x57855a={'Vfawd':function(_0x45b1cd,_0x1c8278){return _0x45b1cd(_0x1c8278);},'IAmfJ':'✓\x20Playwright\x20Chromium\x20browser\x20found','bOHih':function(_0x4e730d,_0x3d8530){return _0x4e730d??_0x3d8530;},'gvnMd':'confirm','otwGG':_0x7f803f(0x163),'kYjvx':function(_0xd74672,_0x294492){return _0xd74672(_0x294492);},'ihmgV':_0x7f803f(0x15f),'cWFJq':_0x7f803f(0x18a),'YZQvi':_0x7f803f(0x152),'CujwL':_0x7f803f(0x17b)};let _0x9cded4=![];try{const _0x132ff4=chromium[_0x7f803f(0x183)]();_0x9cded4=_0x57855a[_0x7f803f(0x165)](existsSync,_0x132ff4);}catch{_0x9cded4=![];}if(_0x9cded4)return console['log'](_0x57855a['IAmfJ']),![];const _0xe6547c=getPlaywrightVersion(),_0x12da67=_0x57855a[_0x7f803f(0x11f)](_0xe6547c,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x429ace=!_0xe6547c,_0x2ca446=process['stdin'][_0x7f803f(0x143)]&&process[_0x7f803f(0x136)]['isTTY'];let _0x3e26c2=!![];if(_0x2ca446){const {install:_0x51f78d}=await _0x1be0a5[_0x7f803f(0x11c)]([{'type':_0x57855a[_0x7f803f(0x127)],'name':_0x57855a['otwGG'],'message':_0x429ace?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x12da67+_0x7f803f(0x149):'The\x20required\x20version\x20('+_0x12da67+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x3e26c2=_0x51f78d;}else console[_0x7f803f(0x15c)](_0x7f803f(0x180)+_0x12da67+(_0x429ace?_0x7f803f(0x13e):'')+'...');if(_0x3e26c2){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0x57855a['kYjvx'](installChromiumBinary,_0x12da67),console[_0x7f803f(0x15c)](_0x57855a[_0x7f803f(0x11b)]);}catch(_0x50b40b){console['error'](_0x57855a[_0x7f803f(0x17a)],_0x50b40b instanceof Error?_0x50b40b['message']:_0x50b40b),console[_0x7f803f(0x15c)](_0x7f803f(0x148)),console[_0x7f803f(0x15c)](_0x7f803f(0x18c)+_0x12da67+_0x7f803f(0x126));}}else console[_0x7f803f(0x15c)](_0x57855a['YZQvi']),console['log'](_0x57855a[_0x7f803f(0x15b)]),console['log'](_0x7f803f(0x18c)+_0x12da67+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x3a6d09){const _0x5c6044=_0x5941bc,_0x231c98={'ULTjO':_0x5c6044(0x169)},_0x550d11=join(_0x3a6d09,_0x5c6044(0x14c)),_0x7e5253=_0x5c6044(0x156);await writeFile(_0x550d11,_0x7e5253),console[_0x5c6044(0x15c)](_0x231c98['ULTjO']);}function printProfileSetupLaterInstructions(){const _0x4102fb=_0x5941bc,_0x2991bf={'FBgiC':function(_0xb95655,_0x478c36){return _0xb95655(_0x478c36);},'ayAkT':'ranger\x20profile\x20add\x20local','EpFnz':_0x4102fb(0x186)};console['log']('\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:'),console[_0x4102fb(0x15c)]('\x20\x20'+_0x2991bf[_0x4102fb(0x14f)](bold,_0x2991bf[_0x4102fb(0x125)])),console[_0x4102fb(0x15c)](_0x2991bf['EpFnz']);}async function ensureLocalEnv(_0xb90b8e,_0x483afa){const _0x315928=_0x5941bc,_0x12d917={'jVRqx':_0x315928(0x137),'jHTIF':'\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','YchSe':'to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','cXcCY':'use\x20until\x20the\x20session\x20expires.\x0a','nQrMM':_0x315928(0x177),'AOCyk':_0x315928(0x187),'UDvii':'wantsProfile','EhkYB':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','kKqBq':function(_0x3f468e){return _0x3f468e();},'XdZlA':function(_0x546d40,_0x220957){return _0x546d40 instanceof _0x220957;}};if(!findGitRoot())return console[_0x315928(0x15c)](_0x315928(0x122)),{'ready':![],'skipped':!![]};if(findExistingEnv(_0x12d917['jVRqx'],{'locations':[_0x315928(0x137)]}))return console[_0x315928(0x15c)](_0x315928(0x176)),{'ready':!![],'skipped':![]};const _0x193239=process['stdin']['isTTY']&&process[_0x315928(0x136)]['isTTY'];if(_0x193239&&!_0xb90b8e?.['url']){console[_0x315928(0x15c)](_0x12d917[_0x315928(0x131)]),console[_0x315928(0x15c)](_0x12d917[_0x315928(0x174)]),console['log']('auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to'),console[_0x315928(0x15c)](_0x12d917[_0x315928(0x182)]),console['log'](_0x12d917['nQrMM']);const {wantsProfile:_0x19e178}=await _0x1be0a5[_0x315928(0x11c)]([{'type':_0x12d917[_0x315928(0x124)],'name':_0x12d917['UDvii'],'message':_0x12d917['EhkYB'],'default':!![]}]);if(!_0x19e178)return _0x12d917[_0x315928(0x184)](printProfileSetupLaterInstructions),{'ready':![],'skipped':!![]};}try{return await addEnv(_0x12d917['jVRqx'],{'url':_0xb90b8e?.['url'],'force':_0xb90b8e?.['force'],'allowInsecureLocalhost':_0xb90b8e?.[_0x315928(0x150)]},_0x483afa),{'ready':!![],'skipped':![]};}catch(_0x416179){return console['error']('\x0a❌\x20Profile\x20setup\x20failed:',_0x12d917['XdZlA'](_0x416179,Error)?_0x416179[_0x315928(0x166)]:_0x416179),_0x12d917['kKqBq'](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x2f50dc,_0x12bfc1,_0x535b18){const _0x4e9117=_0x5941bc,_0x5b9a82={'VFGYX':function(_0x1f04ff){return _0x1f04ff();},'wuHOk':'No\x20git\x20repository\x20found','OAsYL':_0x4e9117(0x178),'iIBjC':_0x4e9117(0x173),'Snceu':function(_0x26a50f){return _0x26a50f();},'hIgKf':_0x4e9117(0x172),'Wrccb':_0x4e9117(0x154),'HCIgs':function(_0x29ee9,_0x415526){return _0x29ee9(_0x415526);},'fitdq':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','WYPVO':_0x4e9117(0x135),'GVSaG':function(_0x5e99f5,_0x5e3220){return _0x5e99f5(_0x5e3220);},'yKCPj':'ranger','ILVTM':_0x4e9117(0x13a),'ugwId':_0x4e9117(0x158),'HzUbQ':function(_0x41ad92,_0x211b1b){return _0x41ad92 instanceof _0x211b1b;},'ViNLL':_0x4e9117(0x15d),'fvDup':function(_0x5410b4,_0x5dd21e,_0x1045b4){return _0x5410b4(_0x5dd21e,_0x1045b4);},'LfYmC':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','dZCSM':_0x4e9117(0x12c),'EmIin':'/ranger:enable','FixYa':function(_0x18d841,_0x42e2f7){return _0x18d841+_0x42e2f7;}};console['log'](_0x4e9117(0x162));const _0x434d59=process['stdin'][_0x4e9117(0x143)]&&process[_0x4e9117(0x136)][_0x4e9117(0x143)];!_0x434d59&&!_0x12bfc1?.[_0x4e9117(0x185)]&&(console['log']('Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.'),_0x12bfc1={..._0x12bfc1,'scope':'user'});_0x535b18?.[_0x4e9117(0x123)]('git_check');if(!_0x5b9a82[_0x4e9117(0x179)](findGitRoot)){await _0x535b18?.['trackPhaseError'](_0x4e9117(0x173),new Error(_0x5b9a82[_0x4e9117(0x11a)]));throw new Error(_0x5b9a82['OAsYL']);}_0x535b18?.[_0x4e9117(0x11d)](_0x5b9a82[_0x4e9117(0x14a)]);const _0x54872b=!existsSync(_0x5b9a82['Snceu'](getRangerDir)),{path:_0x1d9695}=await _0x5b9a82['VFGYX'](ensureRangerDir);_0x535b18?.[_0x4e9117(0x123)](_0x5b9a82[_0x4e9117(0x144)]);const _0x287fe5=await authenticate(_0x2f50dc);_0x535b18?.[_0x4e9117(0x11d)](_0x5b9a82[_0x4e9117(0x144)],{'isFirstRun':_0x54872b,'method':_0x287fe5[_0x4e9117(0x12a)]}),_0x535b18?.[_0x4e9117(0x123)](_0x5b9a82[_0x4e9117(0x12e)]);_0x12bfc1?.[_0x4e9117(0x164)]?console[_0x4e9117(0x15c)](_0x4e9117(0x129)):await _0x5b9a82['Snceu'](ensureChromium);_0x535b18?.['trackPhaseEnd'](_0x5b9a82[_0x4e9117(0x12e)],{'isFirstRun':_0x54872b,'skipped':!!_0x12bfc1?.[_0x4e9117(0x164)]}),await _0x5b9a82[_0x4e9117(0x16c)](writeRangerGitignore,_0x1d9695),console[_0x4e9117(0x15c)](_0x5b9a82['fitdq']);const _0x7d5d6b=_0x12bfc1?.['scope'],_0x25bff7=_0x12bfc1?.['opencode']??![];let _0xd7927b=null;_0x25bff7?(_0x535b18?.['trackPhaseStart']('plugin'),_0xd7927b=await ensureOpencodePluginConfig(_0x7d5d6b),_0x535b18?.['trackPhaseEnd'](_0x5b9a82['WYPVO'],{'isFirstRun':_0x54872b,'opencode':!![]})):(_0x535b18?.['trackPhaseStart']('plugin'),await _0x5b9a82[_0x4e9117(0x161)](ensureClaudePlugin,_0x7d5d6b),_0x535b18?.['trackPhaseEnd'](_0x5b9a82[_0x4e9117(0x14b)],{'isFirstRun':_0x54872b}));if(_0x25bff7&&_0xd7927b){_0x535b18?.['trackPhaseStart'](_0x4e9117(0x15d));try{await installSkill(_0x5b9a82['yKCPj'],{'level':_0xd7927b[_0x4e9117(0x185)],'cliVersion':getCurrentVersion(),'platform':_0x5b9a82['ILVTM']}),_0x535b18?.[_0x4e9117(0x11d)](_0x4e9117(0x15d),{'isFirstRun':_0x54872b,'opencode':!![]});}catch(_0x3bcea9){console[_0x4e9117(0x159)](_0x5b9a82[_0x4e9117(0x13c)],_0x5b9a82['HzUbQ'](_0x3bcea9,Error)?_0x3bcea9['message']:_0x3bcea9),_0x535b18?.['trackPhaseEnd'](_0x5b9a82['ViNLL'],{'isFirstRun':_0x54872b,'opencode':!![],'failed':!![]});}}else _0x535b18?.[_0x4e9117(0x123)]('skills'),await ensureClaudeSkills(_0x7d5d6b),_0x535b18?.['trackPhaseEnd'](_0x5b9a82[_0x4e9117(0x139)],{'isFirstRun':_0x54872b});if(!_0x434d59&&!_0x12bfc1?.[_0x4e9117(0x17d)])console[_0x4e9117(0x15c)]('Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:'),console[_0x4e9117(0x15c)]('\x20\x20'+_0x5b9a82['GVSaG'](bold,_0x4e9117(0x13b))+'\x0a');else{_0x535b18?.['trackPhaseStart'](_0x4e9117(0x130));const _0x226402=await _0x5b9a82['fvDup'](ensureLocalEnv,{'url':_0x12bfc1?.[_0x4e9117(0x17d)],'force':_0x12bfc1?.['force'],'allowInsecureLocalhost':_0x12bfc1?.['allowInsecureLocalhost']},_0x535b18);_0x535b18?.['trackPhaseEnd']('profile',{'isFirstRun':_0x54872b,'profileReady':_0x226402[_0x4e9117(0x146)],'userSkipped':_0x226402[_0x4e9117(0x171)]}),_0x226402[_0x4e9117(0x146)]&&console['log'](_0x4e9117(0x18d));}if(_0x25bff7)console[_0x4e9117(0x15c)](_0x5b9a82['LfYmC']),console[_0x4e9117(0x15c)](_0x5b9a82[_0x4e9117(0x17f)]),console[_0x4e9117(0x15c)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0x4e9117(0x15c)](_0x4e9117(0x17e));else{const _0x470631=_0x5b9a82[_0x4e9117(0x161)](bold,_0x5b9a82[_0x4e9117(0x128)]);console['log'](_0x5b9a82[_0x4e9117(0x181)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x470631+'\x20and\x20prompt\x20the\x20coding'+_0x4e9117(0x138),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser')+_0x4e9117(0x18b));}}
1
+ (function(_0x1be58,_0x4fcade){const _0x1a25df=_0x2f60,_0x3f4385=_0x1be58();while(!![]){try{const _0x58f144=parseInt(_0x1a25df(0xff))/0x1*(parseInt(_0x1a25df(0x10b))/0x2)+-parseInt(_0x1a25df(0xb9))/0x3+-parseInt(_0x1a25df(0x110))/0x4*(-parseInt(_0x1a25df(0xcd))/0x5)+parseInt(_0x1a25df(0xc2))/0x6+-parseInt(_0x1a25df(0xc9))/0x7+parseInt(_0x1a25df(0x113))/0x8+parseInt(_0x1a25df(0xaa))/0x9*(parseInt(_0x1a25df(0xd5))/0xa);if(_0x58f144===_0x4fcade)break;else _0x3f4385['push'](_0x3f4385['shift']());}catch(_0x1fe0b0){_0x3f4385['push'](_0x3f4385['shift']());}}}(_0x2c2a,0xaad17));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x3242a8 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,getRangerHomeDir,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),PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2',bold=_0x3b19dd=>'\x1b[1m'+_0x3b19dd+'\x1b[0m';function getPlaywrightVersion(){const _0x2d00dd=_0x2f60;try{const _0x579139=require[_0x2d00dd(0xf2)](_0x2d00dd(0xf8)),_0x5462f7=require(_0x579139);return _0x5462f7['version'];}catch{return null;}}function installChromiumBinary(_0x327cfe){const _0x5abe87=_0x2f60,_0x4b6e5c={'baKJv':function(_0x10a1e1,_0x14ac10){return _0x10a1e1===_0x14ac10;},'KEKZC':function(_0x455832,_0x569d08){return _0x455832(_0x569d08);},'rSctV':'install','awTUa':function(_0x822bc9,_0x4538a2,_0x2855df,_0x4c8402){return _0x822bc9(_0x4538a2,_0x2855df,_0x4c8402);},'sfOlg':'inherit','XZFMu':function(_0x2069ee,_0x22a768){return _0x2069ee===_0x22a768;},'cncza':_0x5abe87(0xac),'Arjjj':'close'};return new Promise((_0x53607f,_0x187369)=>{const _0x2fde84=_0x5abe87,_0x3f9ba8={'rhPxU':function(_0x5e31eb,_0x48022f){return _0x5e31eb(_0x48022f);}},_0x5ab2a7=[_0x2fde84(0xdf)+_0x327cfe,_0x4b6e5c['rSctV'],'chromium'],_0x560893=_0x4b6e5c[_0x2fde84(0x108)](spawn,_0x2fde84(0xae),_0x5ab2a7,{'stdio':[_0x2fde84(0x10a),'inherit',_0x4b6e5c['sfOlg']],'shell':_0x4b6e5c['XZFMu'](process[_0x2fde84(0xea)],_0x4b6e5c[_0x2fde84(0xcb)])});_0x560893['on'](_0x4b6e5c['Arjjj'],_0x1c052a=>{const _0x2d3316=_0x2fde84;_0x4b6e5c[_0x2d3316(0xd7)](_0x1c052a,0x0)?_0x53607f():_0x4b6e5c['KEKZC'](_0x187369,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x1c052a));}),_0x560893['on']('error',_0x2f3866=>{const _0x49751d=_0x2fde84;_0x3f9ba8[_0x49751d(0xe9)](_0x187369,_0x2f3866);});});}export async function authenticate(_0x1753ff){const _0x5acd30=_0x2f60,_0x315e73={'CrPjH':function(_0x168f2f,_0x13e76c){return _0x168f2f instanceof _0x13e76c;},'GTyhk':function(_0x334c12,_0x1933e3){return _0x334c12(_0x1933e3);},'dqYgt':_0x5acd30(0xcf),'oFOYb':'Validating\x20API\x20token...','zsRbp':function(_0x495905,_0x4b69ae){return _0x495905(_0x4b69ae);},'ykGSK':_0x5acd30(0xee),'PNCOU':_0x5acd30(0x100),'EQtnv':_0x5acd30(0xd1)};if(!_0x1753ff){const _0x23882f=await getToken();if(_0x23882f){const _0x1f0336=await getCurrentUser(_0x23882f);if(_0x1f0336[_0x5acd30(0xe3)])return console[_0x5acd30(0xa6)]('✓\x20Already\x20authenticated\x20to\x20'+_0x1f0336['user']['organizationName']),{'token':_0x23882f,'method':_0x5acd30(0xca)};}try{_0x1753ff=await runDeviceAuthFlow();}catch(_0x29cb15){throw new Error(_0x5acd30(0x102)+(_0x315e73['CrPjH'](_0x29cb15,Error)?_0x29cb15['message']:_0x29cb15));}const _0x52099e=await _0x315e73['GTyhk'](getCurrentUser,_0x1753ff);if(!_0x52099e['success'])throw new Error(_0x5acd30(0xd8)+_0x52099e[_0x5acd30(0xb1)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0x52099e[_0x5acd30(0xec)]['organizationName']),{'token':_0x1753ff,'method':_0x315e73['dqYgt']};}console['log'](_0x315e73['oFOYb']);const _0x1c1e77=await _0x315e73['zsRbp'](getCurrentUser,_0x1753ff);if(!_0x1c1e77[_0x5acd30(0xe3)]){if(_0x1c1e77[_0x5acd30(0xb3)])throw new Error('Authentication\x20failed:\x20'+_0x1c1e77['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x1c1e77[_0x5acd30(0xb1)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x5acd30(0xb0)+_0x1c1e77[_0x5acd30(0xec)]['organizationName']),await _0x315e73[_0x5acd30(0xfd)](storeToken,_0x1753ff),console[_0x5acd30(0xa6)](process[_0x5acd30(0xc3)][_0x5acd30(0x105)]?_0x315e73[_0x5acd30(0xc7)]:_0x315e73['PNCOU']),{'token':_0x1753ff,'method':_0x315e73['EQtnv']};}function _0x2c2a(){const _0x28f56b=['GITHUB_ENV','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','knfIJ','awTUa','skipChromium','ignore','1004KoXlZs','pcEjj','tuXDg','method','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','8Sjljge','WnUbX','executablePath','893208ReyWAv','confirm','log','auth','.gitignore','\x20\x20npx\x20playwright@','9hvOPMb','git_check','win32','SiBtn','npx','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','✓\x20Authenticated\x20to\x20','error','allowInsecureLocalhost','status','\x20now?','fxwuO','enves','gfJAC','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','3667128zvJicK','skills','\x0a⚠\x20Skipping\x20Chromium\x20installation.','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','url','local','/ranger:enable','isTTY','trackPhaseStart','1094892UgAEcT','env','vTtpH','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','scope','ykGSK','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','848015cXAJLV','existing_token','cncza','ehQoy','1732510ZMIlVq','jpAZM','device_auth','nDaHQ','provided_token','MdpKC','.ranger','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','8286490eTTrnj',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','baKJv','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','ranger\x20profile\x20add\x20local','Mntdm','use\x20until\x20the\x20session\x20expires.\x0a','WEsHm','ready','kztbH','playwright@','✓\x20Playwright\x20Chromium\x20browser\x20found','kafxT','UTNcJ','success','\x0aInstalling\x20Chromium\x20browser...\x0a','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','tUsKX','✓\x20Created\x20.ranger/.gitignore','UvTjV','rhPxU','platform','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','user','✓\x20Local\x20profile\x20already\x20exists','✓\x20Exported\x20credentials\x20for\x20CI','\x20and\x20prompt\x20the\x20coding','prompt','message','resolve','force','uQCal','opencode','stdout','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','playwright/package.json','BCSSR','QPsSZ','ranger','skipped','zsRbp','sUOwW','453tUPcqZ','✓\x20Stored\x20credentials\x20locally','xvysY','Authentication\x20failed:\x20','trackPhaseError','trackPhaseEnd'];_0x2c2a=function(){return _0x28f56b;};return _0x2c2a();}export async function ensureRangerDir(_0x2c3bc0){const _0x22990e=_0x2f60,_0x51bbc3={'ESxJu':function(_0x3a872a,_0x4f2d03){return _0x3a872a===_0x4f2d03;},'YpWBW':_0x22990e(0xec),'AlwKu':function(_0xcb10fe){return _0xcb10fe();},'IFIqE':function(_0x1d7559,_0xccf112,_0xd3f07a){return _0x1d7559(_0xccf112,_0xd3f07a);},'OHrxM':'✓\x20Created\x20.ranger/\x20directory','oqtmp':'✓\x20.ranger/\x20directory\x20already\x20exists'};let _0x5503be;if(_0x51bbc3['ESxJu'](_0x2c3bc0,_0x51bbc3['YpWBW']))_0x5503be=getRangerHomeDir();else{const _0x15c907=_0x51bbc3['AlwKu'](findGitRoot);_0x5503be=_0x15c907?join(_0x15c907,_0x22990e(0xd3)):getRangerDir();}return!existsSync(_0x5503be)?(await _0x51bbc3['IFIqE'](mkdir,_0x5503be,{'recursive':!![]}),console['log'](_0x51bbc3['OHrxM']),{'path':_0x5503be,'installed':!![]}):(console[_0x22990e(0xa6)](_0x51bbc3['oqtmp']),{'path':_0x5503be,'installed':![]});}export async function ensureChromium(){const _0x1f3908=_0x2f60,_0x4cd4b2={'SQRba':function(_0x4d391f,_0x2a1945){return _0x4d391f(_0x2a1945);},'ehQoy':_0x1f3908(0xe0),'ZQMHu':'confirm','tUsKX':_0x1f3908(0xe4),'xvysY':_0x1f3908(0x10f),'vTtpH':function(_0x972e3f,_0x50492e){return _0x972e3f instanceof _0x50492e;},'IksDN':'You\x20can\x20install\x20it\x20manually\x20by\x20running:','pcEjj':_0x1f3908(0xbb),'UvTjV':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x844a45=![];try{const _0x28f34a=chromium[_0x1f3908(0x112)]();_0x844a45=_0x4cd4b2['SQRba'](existsSync,_0x28f34a);}catch{_0x844a45=![];}if(_0x844a45)return console['log'](_0x4cd4b2[_0x1f3908(0xcc)]),![];const _0x41cc30=getPlaywrightVersion(),_0x2f8809=_0x41cc30??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x5be7ed=!_0x41cc30,_0x5bf17e=process['stdin'][_0x1f3908(0xc0)]&&process[_0x1f3908(0xf6)]['isTTY'];let _0x267fac=!![];if(_0x5bf17e){const {install:_0x2da3a1}=await _0x3242a8[_0x1f3908(0xf0)]([{'type':_0x4cd4b2['ZQMHu'],'name':'install','message':_0x5be7ed?_0x1f3908(0xc5)+_0x2f8809+_0x1f3908(0xb4):'The\x20required\x20version\x20('+_0x2f8809+_0x1f3908(0xd6),'default':!![]}]);_0x267fac=_0x2da3a1;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x2f8809+(_0x5be7ed?'\x20(fallback\x20version)':'')+'...');if(_0x267fac){console['log'](_0x4cd4b2[_0x1f3908(0xe6)]);try{await installChromiumBinary(_0x2f8809),console[_0x1f3908(0xa6)](_0x4cd4b2[_0x1f3908(0x101)]);}catch(_0x2013af){console['error']('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x4cd4b2[_0x1f3908(0xc4)](_0x2013af,Error)?_0x2013af[_0x1f3908(0xf1)]:_0x2013af),console[_0x1f3908(0xa6)](_0x4cd4b2['IksDN']),console['log'](_0x1f3908(0xa9)+_0x2f8809+'\x20install\x20chromium');}}else console[_0x1f3908(0xa6)](_0x4cd4b2[_0x1f3908(0x10c)]),console['log'](_0x4cd4b2[_0x1f3908(0xe8)]),console['log'](_0x1f3908(0xa9)+_0x2f8809+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x13a5b9){const _0x110956=_0x2f60,_0x5c9d15={'sUOwW':_0x110956(0xa8),'ATldt':function(_0x42ba22,_0x1e35d4,_0x317a43){return _0x42ba22(_0x1e35d4,_0x317a43);}},_0x419d0b=join(_0x13a5b9,_0x5c9d15[_0x110956(0xfe)]),_0x16a407='\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 _0x5c9d15['ATldt'](writeFile,_0x419d0b,_0x16a407),console['log'](_0x110956(0xe7));}function printProfileSetupLaterInstructions(){const _0x2354a8=_0x2f60,_0x46239f={'KLbto':_0x2354a8(0xbc)};console['log'](_0x46239f['KLbto']),console['log']('\x20\x20'+bold('ranger\x20profile\x20add\x20local')),console['log']('Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a');}async function ensureLocalEnv(_0x58b63b,_0x47cf40){const _0x331c76=_0x2f60,_0x7f340c={'oMOLD':function(_0x311418){return _0x311418();},'wqtcZ':function(_0x31fffe,_0x2a95fb){return _0x31fffe===_0x2a95fb;},'HeSiM':function(_0x18efce){return _0x18efce();},'knfIJ':function(_0x517f16,_0x13cac3,_0x59eedf){return _0x517f16(_0x13cac3,_0x59eedf);},'OPQFa':_0x331c76(0xed),'vCuLM':'You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','uVXjB':'wantsProfile','ThJvK':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','Mntdm':function(_0x144710,_0x11af88,_0x16bb98,_0x941906){return _0x144710(_0x11af88,_0x16bb98,_0x941906);},'UTNcJ':'local','kafxT':'\x0a❌\x20Profile\x20setup\x20failed:','gfJAC':function(_0x5b984e,_0x436e75){return _0x5b984e instanceof _0x436e75;},'nDaHQ':function(_0x742f9c){return _0x742f9c();}};if(!_0x7f340c['oMOLD'](findGitRoot))return console['log']('⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.'),{'ready':![],'skipped':!![]};const _0x5929f7=_0x7f340c['wqtcZ'](_0x58b63b?.['scope'],'user')?_0x7f340c['HeSiM'](getRangerHomeDir):undefined;if(_0x7f340c[_0x331c76(0x107)](findExistingEnv,'local',{'locations':[_0x331c76(0xbe)],'rangerDir':_0x5929f7}))return console['log'](_0x7f340c['OPQFa']),{'ready':!![],'skipped':![]};const _0x3ef773=process['stdin'][_0x331c76(0xc0)]&&process['stdout']['isTTY'];if(_0x3ef773&&!_0x58b63b?.['url']){console['log'](_0x331c76(0x106)),console['log']('to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind'),console[_0x331c76(0xa6)]('auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to'),console['log'](_0x331c76(0xdb)),console[_0x331c76(0xa6)](_0x7f340c['vCuLM']);const {wantsProfile:_0x535e59}=await _0x3242a8[_0x331c76(0xf0)]([{'type':_0x331c76(0xa5),'name':_0x7f340c['uVXjB'],'message':_0x7f340c['ThJvK'],'default':!![]}]);if(!_0x535e59)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await _0x7f340c[_0x331c76(0xda)](addEnv,_0x7f340c[_0x331c76(0xe2)],{'url':_0x58b63b?.['url'],'force':_0x58b63b?.[_0x331c76(0xf3)],'allowInsecureLocalhost':_0x58b63b?.['allowInsecureLocalhost'],'scope':_0x58b63b?.[_0x331c76(0xc6)]},_0x47cf40),{'ready':!![],'skipped':![]};}catch(_0x48da82){return console['error'](_0x7f340c[_0x331c76(0xe1)],_0x7f340c[_0x331c76(0xb7)](_0x48da82,Error)?_0x48da82[_0x331c76(0xf1)]:_0x48da82),_0x7f340c[_0x331c76(0xd0)](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}function _0x2f60(_0x532d68,_0x457ab8){_0x532d68=_0x532d68-0xa5;const _0x2c2a83=_0x2c2a();let _0x2f609b=_0x2c2a83[_0x532d68];return _0x2f609b;}export async function start(_0x17e317,_0x5b301d,_0x4281ac){const _0x29d20d=_0x2f60,_0x5b4771={'MWIJM':_0x29d20d(0xd4),'QPsSZ':function(_0x15d373){return _0x15d373();},'MdpKC':_0x29d20d(0xab),'tuXDg':'No\x20git\x20repository\x20found','BCSSR':_0x29d20d(0xec),'enves':'chromium','fxwuO':function(_0x3ef993,_0x5c186d){return _0x3ef993(_0x5c186d);},'kztbH':'plugin','KRGWQ':function(_0x5c21a6,_0x4f9ed7){return _0x5c21a6&&_0x4f9ed7;},'nQyrB':_0x29d20d(0xba),'fohku':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','XAFPx':function(_0x4baaa7,_0x5c18a6){return _0x4baaa7 instanceof _0x5c18a6;},'jpAZM':'Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','JyfHw':'profile','dDXSh':function(_0x269246,_0x4a07cf,_0x3ea05e){return _0x269246(_0x4a07cf,_0x3ea05e);},'WEsHm':_0x29d20d(0xeb),'SiBtn':'verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','uQCal':_0x29d20d(0xbf),'WnUbX':function(_0x310c23,_0x5d192a){return _0x310c23+_0x5d192a;},'AFROQ':function(_0x6d5937,_0x1aadd7){return _0x6d5937+_0x1aadd7;}};console[_0x29d20d(0xa6)]('\x0a🚀\x20Ranger\x20Setup\x0a');const _0x9f2a84=process['stdin'][_0x29d20d(0xc0)]&&process[_0x29d20d(0xf6)]['isTTY'];!_0x9f2a84&&!_0x5b301d?.['scope']&&(console[_0x29d20d(0xa6)](_0x5b4771['MWIJM']),_0x5b301d={..._0x5b301d,'scope':_0x29d20d(0xec)});_0x4281ac?.[_0x29d20d(0xc1)]('git_check');if(!_0x5b4771[_0x29d20d(0xfa)](findGitRoot)){await _0x4281ac?.[_0x29d20d(0x103)](_0x5b4771[_0x29d20d(0xd2)],new Error(_0x5b4771[_0x29d20d(0x10d)]));throw new Error('No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.');}_0x4281ac?.['trackPhaseEnd']('git_check');const _0x4e4bea=!existsSync(_0x5b4771[_0x29d20d(0xfa)](getRangerDir)),_0x169fd8=_0x5b301d?.['scope']===_0x5b4771[_0x29d20d(0xf9)],{path:_0x2ee81e}=await ensureRangerDir(_0x169fd8?_0x29d20d(0xec):undefined);_0x4281ac?.['trackPhaseStart'](_0x29d20d(0xa7));const _0x3661d8=await authenticate(_0x17e317);_0x4281ac?.['trackPhaseEnd']('auth',{'isFirstRun':_0x4e4bea,'method':_0x3661d8[_0x29d20d(0x10e)]}),_0x4281ac?.[_0x29d20d(0xc1)](_0x5b4771['enves']);_0x5b301d?.['skipChromium']?console[_0x29d20d(0xa6)](_0x29d20d(0xf7)):await _0x5b4771['QPsSZ'](ensureChromium);_0x4281ac?.['trackPhaseEnd'](_0x5b4771[_0x29d20d(0xb6)],{'isFirstRun':_0x4e4bea,'skipped':!!_0x5b301d?.[_0x29d20d(0x109)]});!_0x169fd8&&await _0x5b4771[_0x29d20d(0xb5)](writeRangerGitignore,_0x2ee81e);console['log'](_0x29d20d(0xb8));const _0x58b763=_0x5b301d?.[_0x29d20d(0xc6)],_0x16fc11=_0x5b301d?.[_0x29d20d(0xf5)]??![];let _0x4c9fa0=null;_0x16fc11?(_0x4281ac?.[_0x29d20d(0xc1)]('plugin'),_0x4c9fa0=await ensureOpencodePluginConfig(_0x58b763),_0x4281ac?.[_0x29d20d(0x104)](_0x5b4771[_0x29d20d(0xde)],{'isFirstRun':_0x4e4bea,'opencode':!![]})):(_0x4281ac?.[_0x29d20d(0xc1)]('plugin'),await _0x5b4771[_0x29d20d(0xb5)](ensureClaudePlugin,_0x58b763),_0x4281ac?.['trackPhaseEnd'](_0x5b4771['kztbH'],{'isFirstRun':_0x4e4bea}));if(_0x5b4771['KRGWQ'](_0x16fc11,_0x4c9fa0)){_0x4281ac?.[_0x29d20d(0xc1)]('skills');try{await installSkill(_0x29d20d(0xfb),{'level':_0x4c9fa0[_0x29d20d(0xc6)],'cliVersion':getCurrentVersion(),'platform':_0x29d20d(0xf5)}),_0x4281ac?.[_0x29d20d(0x104)](_0x5b4771['nQyrB'],{'isFirstRun':_0x4e4bea,'opencode':!![]});}catch(_0x4d0469){console['warn'](_0x5b4771['fohku'],_0x5b4771['XAFPx'](_0x4d0469,Error)?_0x4d0469['message']:_0x4d0469),_0x4281ac?.['trackPhaseEnd'](_0x29d20d(0xba),{'isFirstRun':_0x4e4bea,'opencode':!![],'failed':!![]});}}else _0x4281ac?.[_0x29d20d(0xc1)](_0x5b4771['nQyrB']),await ensureClaudeSkills(_0x58b763),_0x4281ac?.[_0x29d20d(0x104)](_0x29d20d(0xba),{'isFirstRun':_0x4e4bea});if(!_0x9f2a84&&!_0x5b301d?.[_0x29d20d(0xbd)])console['log'](_0x5b4771[_0x29d20d(0xce)]),console[_0x29d20d(0xa6)]('\x20\x20'+bold(_0x29d20d(0xd9))+'\x0a');else{_0x4281ac?.['trackPhaseStart'](_0x5b4771['JyfHw']);const _0x782adb=await _0x5b4771['dDXSh'](ensureLocalEnv,{'url':_0x5b301d?.[_0x29d20d(0xbd)],'force':_0x5b301d?.['force'],'allowInsecureLocalhost':_0x5b301d?.[_0x29d20d(0xb2)],'scope':_0x5b301d?.[_0x29d20d(0xc6)]==='user'?_0x29d20d(0xec):undefined},_0x4281ac);_0x4281ac?.[_0x29d20d(0x104)](_0x5b4771['JyfHw'],{'isFirstRun':_0x4e4bea,'profileReady':_0x782adb['ready'],'userSkipped':_0x782adb[_0x29d20d(0xfc)]}),_0x782adb[_0x29d20d(0xdd)]&&console['log']('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}if(_0x16fc11)console[_0x29d20d(0xa6)](_0x29d20d(0xc8)),console['log'](_0x5b4771[_0x29d20d(0xdc)]),console[_0x29d20d(0xa6)](_0x29d20d(0xaf)),console[_0x29d20d(0xa6)](_0x5b4771[_0x29d20d(0xad)]);else{const _0x309822=bold(_0x5b4771[_0x29d20d(0xf4)]);console[_0x29d20d(0xa6)](_0x5b4771[_0x29d20d(0x111)](_0x5b4771['AFROQ']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x309822+_0x29d20d(0xef),_0x29d20d(0xe5))+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
@@ -1 +1 @@
1
- const _0x5eef4b=_0x3101;(function(_0x24baf2,_0x204792){const _0x2ce747=_0x3101,_0x58ec68=_0x24baf2();while(!![]){try{const _0x5bed65=parseInt(_0x2ce747(0x163))/0x1*(-parseInt(_0x2ce747(0x187))/0x2)+-parseInt(_0x2ce747(0x17b))/0x3*(parseInt(_0x2ce747(0x122))/0x4)+-parseInt(_0x2ce747(0x14e))/0x5+parseInt(_0x2ce747(0x13c))/0x6*(parseInt(_0x2ce747(0x12d))/0x7)+parseInt(_0x2ce747(0x12f))/0x8*(parseInt(_0x2ce747(0x159))/0x9)+-parseInt(_0x2ce747(0x137))/0xa+parseInt(_0x2ce747(0x189))/0xb;if(_0x5bed65===_0x204792)break;else _0x58ec68['push'](_0x58ec68['shift']());}catch(_0x59cd7c){_0x58ec68['push'](_0x58ec68['shift']());}}}(_0x1850,0x9045e));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';function _0x3101(_0x7a9c84,_0x193c0b){_0x7a9c84=_0x7a9c84-0x11f;const _0x1850c1=_0x1850();let _0x310137=_0x1850c1[_0x7a9c84];return _0x310137;}import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x107318=>'\x1b[1m'+_0x107318+'\x1b[0m',link=(_0x240a21,_0x546115)=>_0x5eef4b(0x12e)+_0x240a21+'\x07'+(_0x546115||_0x240a21)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x4fbd07=_0x5eef4b,_0x5bd6ef={'wkiyS':function(_0x53c51f,_0x37ca55){return _0x53c51f(_0x37ca55);},'YNIYI':_0x4fbd07(0x152),'KeuHq':_0x4fbd07(0x15c),'YCMPA':_0x4fbd07(0x175),'rAIRK':_0x4fbd07(0x135),'ewuEM':function(_0x121962,_0x55a26d){return _0x121962!==_0x55a26d;},'kJleK':function(_0x387923,_0x1153df){return _0x387923>_0x1153df;},'HszAe':'debug','ovBcP':_0x4fbd07(0x14b),'qPGoF':_0x4fbd07(0x18a)};return new Promise(_0x1528b9=>{const _0x55d277=_0x4fbd07,_0x35fdd3={'FnfIj':_0x5bd6ef[_0x55d277(0x162)],'drpsP':_0x5bd6ef[_0x55d277(0x181)],'BLnVZ':_0x5bd6ef[_0x55d277(0x15b)],'OYmub':function(_0x436abc,_0x2e5cf5){return _0x5bd6ef['ewuEM'](_0x436abc,_0x2e5cf5);},'WunVn':function(_0x34971a,_0x2e5e1d){const _0x1e0ee4=_0x55d277;return _0x5bd6ef[_0x1e0ee4(0x121)](_0x34971a,_0x2e5e1d);},'ZAAiS':_0x5bd6ef[_0x55d277(0x156)],'eQvgl':'configured','oIKag':function(_0x3bf152,_0x14e208){return _0x5bd6ef['kJleK'](_0x3bf152,_0x14e208);}},_0xf2264f=spawn('opencode',[_0x5bd6ef['HszAe'],_0x55d277(0x149)],{'stdio':['ignore',_0x5bd6ef['ovBcP'],_0x5bd6ef['ovBcP']]});let _0x7400c8='';_0xf2264f['stdout']?.['on']('data',_0x49d9c9=>{_0x7400c8+=_0x49d9c9['toString']();}),_0xf2264f['stderr']?.['on']('data',_0x26df5c=>{_0x7400c8+=_0x26df5c['toString']();}),_0xf2264f['on'](_0x5bd6ef[_0x55d277(0x178)],()=>{const _0x3d24be=_0x55d277;_0x5bd6ef['wkiyS'](_0x1528b9,{'status':_0x5bd6ef[_0x3d24be(0x156)]});}),_0xf2264f['on'](_0x55d277(0x165),_0xac5c83=>{const _0x496e74=_0x55d277;if(_0x35fdd3[_0x496e74(0x173)](_0xac5c83,0x0)){_0x35fdd3[_0x496e74(0x123)](_0x1528b9,{'status':_0x35fdd3['ZAAiS']});return;}const _0x589bef=_0x7400c8[_0x496e74(0x132)]();let _0x29f196=null;if(_0x589bef)try{_0x29f196=JSON[_0x496e74(0x17a)](_0x589bef);}catch{const _0x4c7417=_0x589bef[_0x496e74(0x16e)](/\{[\s\S]*\}$/);if(_0x4c7417)try{_0x29f196=JSON[_0x496e74(0x17a)](_0x4c7417[0x0]);}catch{_0x29f196=null;}}const _0x49d9d8=Array[_0x496e74(0x161)](_0x29f196?.[_0x496e74(0x172)])?_0x29f196?.['plugin']:[],_0x2899c8=_0x49d9d8['some'](_0x58a455=>{const _0x4f9c32=_0x496e74;if(typeof _0x58a455!==_0x35fdd3[_0x4f9c32(0x176)])return![];return _0x58a455['includes'](_0x35fdd3['drpsP'])||_0x58a455['includes'](_0x35fdd3[_0x4f9c32(0x184)]);});if(_0x2899c8){_0x1528b9({'status':_0x35fdd3[_0x496e74(0x171)],'details':_0x35fdd3['oIKag'](_0x49d9d8[_0x496e74(0x16f)],0x0)?_0x49d9d8['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x49d9d8[_0x496e74(0x16f)]>0x0){_0x35fdd3[_0x496e74(0x123)](_0x1528b9,{'status':_0x496e74(0x126),'details':_0x49d9d8[_0x496e74(0x16f)]+'\x20plugin(s)\x20configured'});return;}_0x1528b9({'status':_0x496e74(0x126)});});});}async function getSkillsFromDir(_0x377a05,_0x6d69ad){const _0x3892c3=_0x5eef4b,_0x190f1b={'eVPAu':function(_0x3f7665,_0x2b3913){return _0x3f7665(_0x2b3913);},'hynnU':function(_0x165731,_0x3e30cc,_0x3c5310){return _0x165731(_0x3e30cc,_0x3c5310);},'QTtIu':_0x3892c3(0x13d),'JHWRb':_0x3892c3(0x177)};if(!_0x190f1b[_0x3892c3(0x13a)](existsSync,_0x377a05))return[];const _0x3a6e96=[];try{const _0x1d0c71=await _0x190f1b['hynnU'](readdir,_0x377a05,{'withFileTypes':!![]});for(const _0x2dc6cc of _0x1d0c71){if(_0x2dc6cc[_0x3892c3(0x17d)]()){const _0x236a5b=join(_0x377a05,_0x2dc6cc[_0x3892c3(0x142)],_0x190f1b[_0x3892c3(0x154)]);if(existsSync(_0x236a5b)){let _0x3ffbd0=_0x2dc6cc['name'];try{const _0x310beb=await _0x190f1b[_0x3892c3(0x168)](readFile,_0x236a5b,_0x190f1b[_0x3892c3(0x140)]),_0x22eb60=_0x310beb['match'](/name:\s*(.+)/);_0x22eb60&&(_0x3ffbd0=_0x22eb60[0x1]['trim']());}catch{}_0x3a6e96[_0x3892c3(0x130)]({'name':_0x2dc6cc['name'],'displayName':_0x3ffbd0,'path':_0x236a5b,'level':_0x6d69ad});}}}}catch{return[];}return _0x3a6e96;}async function getInstalledSkills(){const _0x2a1de4=_0x5eef4b,_0x5bf531={'xbYrk':_0x2a1de4(0x182)},[_0x415ac7,_0x4e056d]=await Promise[_0x2a1de4(0x16d)]([getSkillsFromDir(getProjectSkillsDir(),'project'),getSkillsFromDir(getUserSkillsDir(),_0x5bf531['xbYrk'])]);return{'project':_0x415ac7,'user':_0x4e056d};}async function getEnvironments(){const _0x570eb7=_0x5eef4b,_0x35cad2={'lAakz':function(_0x22c288,_0x662ca){return _0x22c288(_0x662ca);},'Vyudz':function(_0x267176,_0x39737e,_0x2e6bfc){return _0x267176(_0x39737e,_0x2e6bfc);},'AwArY':_0x570eb7(0x153),'hTXdd':function(_0x21acd8,_0x274000){return _0x21acd8(_0x274000);},'dPZjw':function(_0x622acc){return _0x622acc();}},{envNames:_0x43c791,activeEnv:_0x459a9f}=await _0x35cad2['dPZjw'](getEnvNames),_0x3a4bfa=getRangerDir();if(!_0x35cad2['lAakz'](existsSync,_0x3a4bfa))return{'envs':[],'activeEnv':null};const _0x43875e=_0x43c791[_0x570eb7(0x17c)](_0x3496bf=>{const _0x4d0b78=_0x570eb7,_0xb611bd=_0x35cad2[_0x4d0b78(0x13e)](getEnvDir,_0x3496bf),_0xfb67ad=join(_0xb611bd,_0x4d0b78(0x15f)),_0x38f0ce=_0x35cad2[_0x4d0b78(0x164)](join,_0xb611bd,'auth.json'),_0x361c02=_0x35cad2[_0x4d0b78(0x164)](join,_0xb611bd,_0x4d0b78(0x180));return{'name':_0x3496bf,'settingsPath':_0x35cad2[_0x4d0b78(0x13e)](existsSync,_0xfb67ad)?_0xfb67ad:_0x35cad2[_0x4d0b78(0x133)],'hasPlaintextAuth':_0x35cad2['hTXdd'](existsSync,_0x38f0ce),'hasEncryptedAuth':_0x35cad2[_0x4d0b78(0x124)](existsSync,_0x361c02),'isActive':_0x3496bf===_0x459a9f};});return{'envs':_0x43875e,'activeEnv':_0x459a9f};}export async function status(){const _0x5dfe1e=_0x5eef4b,_0x58fe11={'DeSuc':function(_0xfbe25c){return _0xfbe25c();},'nLZvG':function(_0x398474,_0x1ee32b){return _0x398474(_0x1ee32b);},'lwbxh':function(_0x4fae58,_0xe67908,_0x576e81){return _0x4fae58(_0xe67908,_0x576e81);},'gpBmJ':function(_0x94a550){return _0x94a550();},'LGmmW':function(_0x1e0859){return _0x1e0859();},'jzomp':function(_0x42d440,_0x309f38){return _0x42d440===_0x309f38;},'MXyzx':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','jvJYj':_0x5dfe1e(0x14f),'Dcxti':'unknown','snniz':_0x5dfe1e(0x174),'RxPSc':'\x0a---\x20Skills\x20---','llBrv':function(_0x13b1c1,_0x1dc261){return _0x13b1c1+_0x1dc261;},'RENHH':_0x5dfe1e(0x15d),'VoiJO':_0x5dfe1e(0x188),'fWAdk':function(_0x3f27e6,_0x56caed){return _0x3f27e6(_0x56caed);},'kItyt':function(_0x220b35,_0x202363){return _0x220b35>_0x202363;},'SeKLf':_0x5dfe1e(0x160),'vyRyY':function(_0x4c7878,_0xd36b38){return _0x4c7878===_0xd36b38;},'WSZUB':'\x20(active)','sCWLv':_0x5dfe1e(0x13b),'mQiEx':_0x5dfe1e(0x12b),'OqvWe':'(not\x20found)','Lglww':function(_0x554b4e,_0x576ecd,_0x1b43c9){return _0x554b4e(_0x576ecd,_0x1b43c9);}};console['log'](_0x5dfe1e(0x12c));const _0x4e39c9=process['cwd'](),_0x49a16a=_0x58fe11['DeSuc'](getRangerDir);if(!_0x58fe11[_0x5dfe1e(0x128)](existsSync,_0x49a16a)){console['log']('Root:\x20'+link(_0x4e39c9,bold(basename(_0x4e39c9)))),console['log'](_0x5dfe1e(0x170)),console[_0x5dfe1e(0x185)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x5dfe1e(0x185)]('Root:\x20'+_0x58fe11['lwbxh'](link,_0x4e39c9,bold(_0x58fe11[_0x5dfe1e(0x128)](basename,_0x4e39c9))));const _0x26c718=getCurrentVersion(),_0x26ce0b=_0x58fe11['gpBmJ'](getLatestVersion);if(_0x26ce0b[_0x5dfe1e(0x169)]&&_0x26ce0b['version']!==_0x26c718)console[_0x5dfe1e(0x185)]('Version:\x20'+_0x26c718+'\x20(latest:\x20'+_0x26ce0b['version']+')'),console[_0x5dfe1e(0x185)](_0x5dfe1e(0x146));else _0x26ce0b[_0x5dfe1e(0x169)]?console['log']('Version:\x20'+_0x26c718+_0x5dfe1e(0x183)):console[_0x5dfe1e(0x185)]('Version:\x20'+_0x26c718);const _0x1f2d55=await getToken();if(_0x1f2d55){const _0x34df9c=await getCurrentUser(_0x1f2d55);_0x34df9c[_0x5dfe1e(0x186)]?console[_0x5dfe1e(0x185)](_0x5dfe1e(0x144)+_0x58fe11['nLZvG'](bold,_0x34df9c['user']['organizationName'])):(console['log'](_0x5dfe1e(0x147)),console['log'](_0x5dfe1e(0x139)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console['log'](_0x5dfe1e(0x139));process['env']['DEBUG']&&(console['log'](_0x5dfe1e(0x179)+getCurrentEnvironment()),console[_0x5dfe1e(0x185)](_0x5dfe1e(0x158)+_0x58fe11[_0x5dfe1e(0x138)](getApiBaseUrl)));console[_0x5dfe1e(0x185)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x3992fe=await getOpencodePluginStatus();if(_0x58fe11['jzomp'](_0x3992fe['status'],_0x5dfe1e(0x157)))console['log']('\x20\x20'+_0x58fe11[_0x5dfe1e(0x128)](bold,'@ranger-testing/opencode-plugin')+':\x20configured'),_0x3992fe[_0x5dfe1e(0x148)]&&console[_0x5dfe1e(0x185)]('\x20\x20'+_0x3992fe[_0x5dfe1e(0x148)]);else _0x58fe11['jzomp'](_0x3992fe['status'],_0x5dfe1e(0x126))?(console['log'](_0x5dfe1e(0x14d)),_0x3992fe['details']&&console['log']('\x20\x20'+_0x3992fe[_0x5dfe1e(0x148)]),console['log']('\x20\x20Run:\x20ranger\x20setup\x20--opencode')):console[_0x5dfe1e(0x185)](_0x58fe11[_0x5dfe1e(0x17e)]);console[_0x5dfe1e(0x185)]('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x5da060=await getPluginInfo(_0x58fe11['jvJYj']);if(_0x5da060){const _0x2612ac=_0x5da060['scope']||_0x58fe11['Dcxti'],_0x12ab94=_0x5da060['enabled']?'enabled':'disabled';console['log']('\x20\x20'+bold(_0x5dfe1e(0x14f))+_0x5dfe1e(0x150)+_0x2612ac+',\x20'+_0x12ab94+')');}else console['log'](_0x58fe11[_0x5dfe1e(0x17f)]),console['log'](_0x5dfe1e(0x129));console['log'](_0x58fe11['RxPSc']);const {project:_0x58a040,user:_0x10c90f}=await getInstalledSkills(),_0x4c207c=_0x58a040['filter'](_0x51815c=>RANGER_MANAGED_SKILLS[_0x5dfe1e(0x15a)](_0x51815c[_0x5dfe1e(0x142)])),_0x353454=_0x10c90f[_0x5dfe1e(0x141)](_0x15213e=>RANGER_MANAGED_SKILLS['includes'](_0x15213e[_0x5dfe1e(0x142)])),_0x5f3972=_0x58fe11['llBrv'](_0x4c207c['length'],_0x353454[_0x5dfe1e(0x16f)]);if(_0x5f3972===0x0)console[_0x5dfe1e(0x185)](_0x58fe11['RENHH']),console[_0x5dfe1e(0x185)](_0x5dfe1e(0x166));else{if(_0x4c207c['length']>0x0){console[_0x5dfe1e(0x185)](_0x58fe11[_0x5dfe1e(0x134)]);for(const _0x3ccfff of _0x4c207c){console[_0x5dfe1e(0x185)]('\x20\x20\x20\x20'+_0x58fe11['fWAdk'](bold,_0x3ccfff[_0x5dfe1e(0x120)])+':\x20'+_0x58fe11['lwbxh'](link,_0x3ccfff['path'],_0x58fe11[_0x5dfe1e(0x12a)](basename,_0x3ccfff[_0x5dfe1e(0x14c)])));}}if(_0x58fe11[_0x5dfe1e(0x16a)](_0x353454['length'],0x0)){console['log'](_0x5dfe1e(0x15e));for(const _0x43ce3f of _0x353454){console[_0x5dfe1e(0x185)](_0x5dfe1e(0x131)+bold(_0x43ce3f[_0x5dfe1e(0x120)])+':\x20'+link(_0x43ce3f[_0x5dfe1e(0x14c)],_0x58fe11['fWAdk'](basename,_0x43ce3f[_0x5dfe1e(0x14c)])));}}}console[_0x5dfe1e(0x185)](_0x58fe11[_0x5dfe1e(0x136)]);const {envs:_0x153e4f,activeEnv:_0x42204a}=await getEnvironments();if(_0x58fe11[_0x5dfe1e(0x13f)](_0x153e4f[_0x5dfe1e(0x16f)],0x0))console['log'](_0x5dfe1e(0x151)),console['log'](_0x5dfe1e(0x143));else{for(const _0x506a01 of _0x153e4f){const _0x3f9016=_0x506a01['isActive']?_0x58fe11[_0x5dfe1e(0x167)]:'',_0x3305f6=_0x506a01[_0x5dfe1e(0x14a)]?_0x58fe11[_0x5dfe1e(0x127)]:_0x506a01['hasPlaintextAuth']?_0x58fe11['mQiEx']:'none';console['log']('\x20\x20'+bold(_0x506a01[_0x5dfe1e(0x142)])+_0x3f9016),console[_0x5dfe1e(0x185)](_0x5dfe1e(0x16c)+_0x3305f6),_0x506a01[_0x5dfe1e(0x16b)]!==_0x58fe11[_0x5dfe1e(0x125)]&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x58fe11[_0x5dfe1e(0x155)](link,_0x506a01['settingsPath'],basename(_0x506a01['settingsPath'])));}!_0x42204a&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log'](_0x5dfe1e(0x11f)+_0x153e4f['map'](_0x825ce6=>_0x825ce6[_0x5dfe1e(0x142)])[_0x5dfe1e(0x145)](',\x20')+')'));}console['log']('');}function _0x1850(){const _0x25e872=['API\x20Environment:\x20','parse','3UqtHDS','map','isDirectory','MXyzx','snniz','auth.json.enc','YCMPA','user','\x20(up\x20to\x20date)','BLnVZ','log','success','1714946jLekAL','\x20\x20Project-level:','18650841MTRUpN','error','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','displayName','wkiyS','1405176vGQiZC','WunVn','hTXdd','OqvWe','not_configured','sCWLv','nLZvG','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','fWAdk','plaintext','\x0a📊\x20Ranger\x20Status\x0a','91cAgfof','\x1b]8;;file://','8AnHORo','push','\x20\x20\x20\x20','trim','AwArY','VoiJO','opencode-plugin','SeKLf','8717910buttDn','LGmmW','\x20\x20Run:\x20ranger\x20setup\x20[token]','eVPAu','encrypted','494346GlwhjF','SKILL.md','lAakz','vyRyY','JHWRb','filter','name','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','Organization:\x20','join','\x20\x20Run:\x20ranger\x20update','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','details','config','hasEncryptedAuth','pipe','path','\x20\x20Not\x20configured','5105185GYGHKX','ranger@trailhead',':\x20installed\x20(','No\x20profiles\x20configured','not_installed','(not\x20found)','QTtIu','Lglww','YNIYI','configured','API\x20URL:\x20','8333307WLYpIO','includes','rAIRK','string','No\x20skills\x20installed','\x20\x20User-level:','settings.json','\x0a---\x20Profiles\x20---','isArray','KeuHq','1MjbULN','Vyudz','close','\x20\x20Run:\x20ranger\x20skillup','WSZUB','hynnU','version','kItyt','settingsPath','\x20\x20\x20\x20Auth:\x20','all','match','length','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','eQvgl','plugin','OYmub','\x20\x20Not\x20installed','@ranger-testing/opencode-plugin','FnfIj','utf-8','qPGoF'];_0x1850=function(){return _0x25e872;};return _0x1850();}
1
+ const _0x5b6fef=_0xf1a5;(function(_0x4e7d4d,_0x512a56){const _0x245a48=_0xf1a5,_0x5d6d56=_0x4e7d4d();while(!![]){try{const _0x50eb8d=parseInt(_0x245a48(0x13e))/0x1+-parseInt(_0x245a48(0x130))/0x2*(parseInt(_0x245a48(0x10c))/0x3)+-parseInt(_0x245a48(0x15b))/0x4+parseInt(_0x245a48(0x14a))/0x5*(parseInt(_0x245a48(0x13c))/0x6)+parseInt(_0x245a48(0x11d))/0x7+-parseInt(_0x245a48(0x159))/0x8+parseInt(_0x245a48(0x15f))/0x9*(-parseInt(_0x245a48(0x145))/0xa);if(_0x50eb8d===_0x512a56)break;else _0x5d6d56['push'](_0x5d6d56['shift']());}catch(_0xf10b3e){_0x5d6d56['push'](_0x5d6d56['shift']());}}}(_0x28e3,0x215f6));function _0x28e3(){const _0x3bc351=['opencode','log','649835Axoguv','env','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20',':\x20configured','\x1b[1m','PPIHq','\x20\x20\x20\x20','jUnsM',':\x20installed\x20(','ZTmIn','pKgso','\x0a📊\x20Ranger\x20Status\x0a','zDOqG','\x0a---\x20Claude\x20Code\x20Plugin\x20---','IFTHs','778984JpslEo','BTbzY','373508QQESzp','nVHqf','none','utf-8','1435518jvUKzh','@ranger-testing/opencode-plugin','hasEncryptedAuth','\x20(active)','stdout','scope','ibVfQ','user','(not\x20found)','NtkWD','iQcQa','version','name','PYEHm','Version:\x20','wgvoY','\x20\x20Not\x20installed','hgAQR','configured','path','settingsPath','22467fQZjJE','\x20\x20\x20\x20Settings:\x20','includes','\x1b]8;;file://','No\x20skills\x20installed','gyzKR','GjSgn','DeDDO','disabled','wFVGd','nTXtz','details','enabled','unknown','oAkCV','HAZxo','RZVhN','1570037HqAIRQ','qiOwG','\x20(up\x20to\x20date)','toString','goJRc','No\x20profiles\x20configured','isActive','API\x20Token:\x20✗\x20Not\x20found','parse','string','\x20plugin(s)\x20configured','vsXyo','ranger@trailhead','rcWnd','zvADa','trim','debug','\x20\x20Run:\x20ranger\x20setup\x20--opencode','length','26gfAbuw','jmEKv','encrypted','DCLRS','yiypU','project','KzzZc','\x20\x20Project-level:','API\x20Environment:\x20','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','\x0a---\x20Profiles\x20---','not_installed','12nlglUY','KThze','259580BhkuBo','KVsIK','ujmwC','displayName','IHHck','UrMnW','yAWiJ','20JFydCv','hasPlaintextAuth','qTGih'];_0x28e3=function(){return _0x3bc351;};return _0x28e3();}import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';function _0xf1a5(_0x5e4fb7,_0x4b4a5e){_0x5e4fb7=_0x5e4fb7-0xf8;const _0x28e356=_0x28e3();let _0xf1a519=_0x28e356[_0x5e4fb7];return _0xf1a519;}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=_0x448f7b=>_0x5b6fef(0x14e)+_0x448f7b+'\x1b[0m',link=(_0x58468b,_0x364442)=>_0x5b6fef(0x10f)+_0x58468b+'\x07'+(_0x364442||_0x58468b)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x2af480=_0x5b6fef,_0x1f43bf={'BTbzY':_0x2af480(0x13b),'rcWnd':function(_0x5e6577,_0x2bf3f7){return _0x5e6577(_0x2bf3f7);},'XlKSZ':'not_configured','ibVfQ':_0x2af480(0x12d),'qTGih':'config','FcvBe':'pipe','tZabn':'data','PYEHm':'error','HXKKl':'close'};return new Promise(_0x2d80f3=>{const _0xffdf34=_0x2af480,_0x42e565={'zDOqG':function(_0x3731c4,_0x5846cd){return _0x3731c4!==_0x5846cd;},'jUnsM':_0xffdf34(0xf8),'IFTHs':function(_0x19b3af,_0x1b25a3){return _0x19b3af!==_0x1b25a3;},'pKgso':function(_0x453cf6,_0x59b127){return _0x453cf6(_0x59b127);},'DeDDO':function(_0x4821b6,_0x2dc0dc){return _0x4821b6(_0x2dc0dc);},'zqPAo':_0xffdf34(0x109),'UrMnW':function(_0x497854,_0xf7d6d9){const _0x1c6212=_0xffdf34;return _0x1f43bf[_0x1c6212(0x12a)](_0x497854,_0xf7d6d9);},'GjSgn':_0x1f43bf['XlKSZ']},_0x81715a=spawn(_0xffdf34(0x148),[_0x1f43bf[_0xffdf34(0xfd)],_0x1f43bf[_0xffdf34(0x147)]],{'stdio':['ignore','pipe',_0x1f43bf['FcvBe']]});let _0x37173c='';_0x81715a[_0xffdf34(0xfb)]?.['on'](_0x1f43bf['tZabn'],_0x56b3fe=>{const _0x56aab7=_0xffdf34;_0x37173c+=_0x56b3fe[_0x56aab7(0x120)]();}),_0x81715a['stderr']?.['on']('data',_0x4cdbff=>{const _0x2bf832=_0xffdf34;_0x37173c+=_0x4cdbff[_0x2bf832(0x120)]();}),_0x81715a['on'](_0x1f43bf[_0xffdf34(0x104)],()=>{const _0x1d7ed4=_0xffdf34;_0x2d80f3({'status':_0x1f43bf[_0x1d7ed4(0x15a)]});}),_0x81715a['on'](_0x1f43bf['HXKKl'],_0x4f9e59=>{const _0x4cc56e=_0xffdf34,_0x2aa18a={'IHHck':function(_0x3b18c2,_0x3898db){const _0x40176b=_0xf1a5;return _0x42e565[_0x40176b(0x156)](_0x3b18c2,_0x3898db);},'wDiyJ':_0x4cc56e(0x126),'NtkWD':_0x42e565[_0x4cc56e(0x151)]};if(_0x42e565[_0x4cc56e(0x158)](_0x4f9e59,0x0)){_0x42e565[_0x4cc56e(0x154)](_0x2d80f3,{'status':_0x4cc56e(0x13b)});return;}const _0x40ffe6=_0x37173c[_0x4cc56e(0x12c)]();let _0x289257=null;if(_0x40ffe6)try{_0x289257=JSON[_0x4cc56e(0x125)](_0x40ffe6);}catch{const _0x4ce4bf=_0x40ffe6['match'](/\{[\s\S]*\}$/);if(_0x4ce4bf)try{_0x289257=JSON['parse'](_0x4ce4bf[0x0]);}catch{_0x289257=null;}}const _0x4b1621=Array['isArray'](_0x289257?.['plugin'])?_0x289257?.['plugin']:[],_0x83663b=_0x4b1621['some'](_0x264932=>{const _0x512a17=_0x4cc56e;if(_0x2aa18a[_0x512a17(0x142)](typeof _0x264932,_0x2aa18a['wDiyJ']))return![];return _0x264932[_0x512a17(0x10e)](_0x2aa18a[_0x512a17(0x100)])||_0x264932['includes']('opencode-plugin');});if(_0x83663b){_0x42e565[_0x4cc56e(0x113)](_0x2d80f3,{'status':_0x42e565['zqPAo'],'details':_0x4b1621['length']>0x0?_0x4b1621[_0x4cc56e(0x12f)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x4b1621[_0x4cc56e(0x12f)]>0x0){_0x42e565[_0x4cc56e(0x143)](_0x2d80f3,{'status':_0x42e565['GjSgn'],'details':_0x4b1621[_0x4cc56e(0x12f)]+_0x4cc56e(0x127)});return;}_0x2d80f3({'status':_0x42e565[_0x4cc56e(0x112)]});});});}async function getSkillsFromDir(_0x40a9c7,_0x1d0bff){const _0x53b5d7=_0x5b6fef,_0xa30e6f={'yiypU':function(_0x478807,_0x51529d){return _0x478807(_0x51529d);},'yQwMM':function(_0x482829,_0x56b74f,_0x9e8fda,_0x18eb8c){return _0x482829(_0x56b74f,_0x9e8fda,_0x18eb8c);},'KgbDK':'SKILL.md','iQcQa':function(_0x40add6,_0x15bd23){return _0x40add6(_0x15bd23);}};if(!_0xa30e6f[_0x53b5d7(0x134)](existsSync,_0x40a9c7))return[];const _0x39da51=[];try{const _0x18f193=await readdir(_0x40a9c7,{'withFileTypes':!![]});for(const _0x317146 of _0x18f193){if(_0x317146['isDirectory']()){const _0x3a1a7d=_0xa30e6f['yQwMM'](join,_0x40a9c7,_0x317146[_0x53b5d7(0x103)],_0xa30e6f['KgbDK']);if(_0xa30e6f[_0x53b5d7(0x101)](existsSync,_0x3a1a7d)){let _0x3b0ea2=_0x317146[_0x53b5d7(0x103)];try{const _0x2b9515=await readFile(_0x3a1a7d,_0x53b5d7(0x15e)),_0x372f20=_0x2b9515['match'](/name:\s*(.+)/);_0x372f20&&(_0x3b0ea2=_0x372f20[0x1]['trim']());}catch{}_0x39da51['push']({'name':_0x317146[_0x53b5d7(0x103)],'displayName':_0x3b0ea2,'path':_0x3a1a7d,'level':_0x1d0bff});}}}}catch{return[];}return _0x39da51;}async function getInstalledSkills(){const _0x2fa87f=_0x5b6fef,_0x232421={'oblXQ':function(_0x18af4f,_0x3238c0,_0x316a18){return _0x18af4f(_0x3238c0,_0x316a18);},'NZoIM':function(_0x4dde0e){return _0x4dde0e();},'yAWiJ':function(_0x5d1d65,_0x1f2251,_0x55f3cf){return _0x5d1d65(_0x1f2251,_0x55f3cf);}},[_0x1ae316,_0x4f6e8f]=await Promise['all']([_0x232421['oblXQ'](getSkillsFromDir,_0x232421['NZoIM'](getProjectSkillsDir),_0x2fa87f(0x135)),_0x232421[_0x2fa87f(0x144)](getSkillsFromDir,_0x232421['NZoIM'](getUserSkillsDir),_0x2fa87f(0xfe))]);return{'project':_0x1ae316,'user':_0x4f6e8f};}async function getEnvironments(){const _0x213694={'nVHqf':function(_0x15d258,_0xa899d1){return _0x15d258(_0xa899d1);},'wgvoY':function(_0x1b31cf,_0x37005c,_0x194e67){return _0x1b31cf(_0x37005c,_0x194e67);},'BUKRT':'settings.json','jGgzm':'auth.json.enc','yPKBR':function(_0x39f73a){return _0x39f73a();},'lckiT':function(_0xb882e5){return _0xb882e5();}},{envNames:_0x4e8ab6,activeEnv:_0x29187c}=await _0x213694['yPKBR'](getEnvNames),_0x48638c=_0x213694['lckiT'](getRangerDir);if(!existsSync(_0x48638c))return{'envs':[],'activeEnv':null};const _0x48d42b=_0x4e8ab6['map'](_0x238c7a=>{const _0x482a6e=_0xf1a5,_0x1a5048=_0x213694[_0x482a6e(0x15c)](getEnvDir,_0x238c7a),_0x144f06=_0x213694[_0x482a6e(0x106)](join,_0x1a5048,_0x213694['BUKRT']),_0x2b348a=join(_0x1a5048,'auth.json'),_0xd2451e=join(_0x1a5048,_0x213694['jGgzm']);return{'name':_0x238c7a,'settingsPath':existsSync(_0x144f06)?_0x144f06:_0x482a6e(0xff),'hasPlaintextAuth':existsSync(_0x2b348a),'hasEncryptedAuth':existsSync(_0xd2451e),'isActive':_0x238c7a===_0x29187c};});return{'envs':_0x48d42b,'activeEnv':_0x29187c};}export async function status(){const _0x3ee21d=_0x5b6fef,_0x5d6081={'KThze':_0x3ee21d(0x155),'zvADa':function(_0x552999,_0x401d5a){return _0x552999(_0x401d5a);},'KzzZc':function(_0x462930,_0x702ae9){return _0x462930(_0x702ae9);},'qiOwG':function(_0x5478a2){return _0x5478a2();},'PPIHq':function(_0x3cd81e,_0x459e78){return _0x3cd81e!==_0x459e78;},'wFVGd':function(_0x4194fd){return _0x4194fd();},'RZVhN':function(_0x40eac4,_0x5ad52a){return _0x40eac4===_0x5ad52a;},'ujmwC':_0x3ee21d(0x109),'cHkTJ':'not_configured','uVxJm':'\x20\x20Not\x20configured','UCqBK':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','DCLRS':_0x3ee21d(0x157),'oAkCV':function(_0x3f577b,_0xc57f25){return _0x3f577b(_0xc57f25);},'goJRc':'enabled','OJVwK':_0x3ee21d(0x114),'vsXyo':function(_0x408cd0,_0x15c1a0){return _0x408cd0(_0x15c1a0);},'mDEuO':'ranger@trailhead','nTXtz':_0x3ee21d(0x107),'gyzKR':function(_0x286cba,_0x400f35){return _0x286cba+_0x400f35;},'jlyWX':_0x3ee21d(0x110),'ZTmIn':function(_0x13c42e,_0x294960){return _0x13c42e(_0x294960);},'JXFsg':function(_0x36b55e,_0x3c86bd){return _0x36b55e>_0x3c86bd;},'MFAJS':'\x20\x20User-level:','KVsIK':function(_0xc1845d,_0x67004,_0x4e9454){return _0xc1845d(_0x67004,_0x4e9454);},'SqoRY':function(_0x13bd43,_0x2ac513){return _0x13bd43(_0x2ac513);},'BxHWV':_0x3ee21d(0x13a),'HAZxo':function(_0x19ba16,_0x284b4b){return _0x19ba16===_0x284b4b;},'jmEKv':_0x3ee21d(0x122),'CjAuP':_0x3ee21d(0x132),'hgAQR':'plaintext'};console[_0x3ee21d(0x149)](_0x5d6081[_0x3ee21d(0x13d)]);const _0x2d5547=process['cwd'](),_0x1409d6=getRangerDir();if(!existsSync(_0x1409d6)){console[_0x3ee21d(0x149)]('Root:\x20'+link(_0x2d5547,_0x5d6081[_0x3ee21d(0x12b)](bold,basename(_0x2d5547)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x3ee21d(0x149)]('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log']('Root:\x20'+link(_0x2d5547,bold(_0x5d6081[_0x3ee21d(0x136)](basename,_0x2d5547))));const _0x5c20a3=_0x5d6081['qiOwG'](getCurrentVersion),_0x43b1e5=getLatestVersion();if(_0x43b1e5[_0x3ee21d(0x102)]&&_0x5d6081[_0x3ee21d(0x14f)](_0x43b1e5[_0x3ee21d(0x102)],_0x5c20a3))console['log'](_0x3ee21d(0x105)+_0x5c20a3+'\x20(latest:\x20'+_0x43b1e5[_0x3ee21d(0x102)]+')'),console[_0x3ee21d(0x149)]('\x20\x20Run:\x20ranger\x20update');else _0x43b1e5['version']?console['log']('Version:\x20'+_0x5c20a3+_0x3ee21d(0x11f)):console[_0x3ee21d(0x149)](_0x3ee21d(0x105)+_0x5c20a3);const _0x3c69ce=await getToken();if(_0x3c69ce){const _0x2ea510=await _0x5d6081['zvADa'](getCurrentUser,_0x3c69ce);_0x2ea510['success']?console['log']('Organization:\x20'+bold(_0x2ea510[_0x3ee21d(0xfe)]['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x3ee21d(0x149)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x3ee21d(0x149)](_0x3ee21d(0x124)),console[_0x3ee21d(0x149)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x3ee21d(0x14b)]['DEBUG']&&(console['log'](_0x3ee21d(0x138)+getCurrentEnvironment()),console[_0x3ee21d(0x149)]('API\x20URL:\x20'+_0x5d6081['qiOwG'](getApiBaseUrl)));console['log']('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x820913=await _0x5d6081[_0x3ee21d(0x115)](getOpencodePluginStatus);if(_0x5d6081[_0x3ee21d(0x11c)](_0x820913['status'],_0x5d6081[_0x3ee21d(0x140)]))console['log']('\x20\x20'+bold('@ranger-testing/opencode-plugin')+_0x3ee21d(0x14d)),_0x820913[_0x3ee21d(0x117)]&&console[_0x3ee21d(0x149)]('\x20\x20'+_0x820913[_0x3ee21d(0x117)]);else _0x5d6081['RZVhN'](_0x820913['status'],_0x5d6081['cHkTJ'])?(console['log'](_0x5d6081['uVxJm']),_0x820913[_0x3ee21d(0x117)]&&console[_0x3ee21d(0x149)]('\x20\x20'+_0x820913['details']),console[_0x3ee21d(0x149)](_0x3ee21d(0x12e))):console['log'](_0x5d6081['UCqBK']);console['log'](_0x5d6081[_0x3ee21d(0x133)]);const _0x434233=await _0x5d6081[_0x3ee21d(0x11a)](getPluginInfo,_0x3ee21d(0x129));if(_0x434233){const _0xaafa6f=_0x434233[_0x3ee21d(0xfc)]||_0x3ee21d(0x119),_0x1e0cb2=_0x434233[_0x3ee21d(0x118)]?_0x5d6081[_0x3ee21d(0x121)]:_0x5d6081['OJVwK'];console[_0x3ee21d(0x149)]('\x20\x20'+_0x5d6081[_0x3ee21d(0x128)](bold,_0x5d6081['mDEuO'])+_0x3ee21d(0x152)+_0xaafa6f+',\x20'+_0x1e0cb2+')');}else console[_0x3ee21d(0x149)](_0x5d6081[_0x3ee21d(0x116)]),console[_0x3ee21d(0x149)](_0x3ee21d(0x139));console['log']('\x0a---\x20Skills\x20---');const {project:_0xdf3893,user:_0x46511f}=await _0x5d6081[_0x3ee21d(0x11e)](getInstalledSkills),_0x59f2ed=_0xdf3893['filter'](_0x2848b9=>RANGER_MANAGED_SKILLS['includes'](_0x2848b9[_0x3ee21d(0x103)])),_0x2a92c2=_0x46511f['filter'](_0x23de67=>RANGER_MANAGED_SKILLS['includes'](_0x23de67[_0x3ee21d(0x103)])),_0x58cd0b=_0x5d6081[_0x3ee21d(0x111)](_0x59f2ed['length'],_0x2a92c2[_0x3ee21d(0x12f)]);if(_0x58cd0b===0x0)console[_0x3ee21d(0x149)](_0x5d6081['jlyWX']),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x59f2ed['length']>0x0){console[_0x3ee21d(0x149)](_0x3ee21d(0x137));for(const _0x28d0bd of _0x59f2ed){console[_0x3ee21d(0x149)]('\x20\x20\x20\x20'+bold(_0x28d0bd[_0x3ee21d(0x141)])+':\x20'+link(_0x28d0bd[_0x3ee21d(0x10a)],_0x5d6081[_0x3ee21d(0x153)](basename,_0x28d0bd['path'])));}}if(_0x5d6081['JXFsg'](_0x2a92c2['length'],0x0)){console[_0x3ee21d(0x149)](_0x5d6081['MFAJS']);for(const _0x3ad8c1 of _0x2a92c2){console[_0x3ee21d(0x149)](_0x3ee21d(0x150)+_0x5d6081[_0x3ee21d(0x128)](bold,_0x3ad8c1[_0x3ee21d(0x141)])+':\x20'+_0x5d6081['KVsIK'](link,_0x3ad8c1[_0x3ee21d(0x10a)],_0x5d6081['SqoRY'](basename,_0x3ad8c1['path'])));}}}console['log'](_0x5d6081['BxHWV']);const {envs:_0x53e5c4,activeEnv:_0x5c180f}=await _0x5d6081[_0x3ee21d(0x11e)](getEnvironments);if(_0x5d6081[_0x3ee21d(0x11b)](_0x53e5c4['length'],0x0))console['log'](_0x5d6081[_0x3ee21d(0x131)]),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x5b365a of _0x53e5c4){const _0x12bc9f=_0x5b365a[_0x3ee21d(0x123)]?_0x3ee21d(0xfa):'',_0x8c0680=_0x5b365a[_0x3ee21d(0xf9)]?_0x5d6081['CjAuP']:_0x5b365a[_0x3ee21d(0x146)]?_0x5d6081[_0x3ee21d(0x108)]:_0x3ee21d(0x15d);console['log']('\x20\x20'+bold(_0x5b365a['name'])+_0x12bc9f),console[_0x3ee21d(0x149)]('\x20\x20\x20\x20Auth:\x20'+_0x8c0680),_0x5d6081[_0x3ee21d(0x14f)](_0x5b365a[_0x3ee21d(0x10b)],'(not\x20found)')&&console['log'](_0x3ee21d(0x10d)+_0x5d6081[_0x3ee21d(0x13f)](link,_0x5b365a['settingsPath'],basename(_0x5b365a['settingsPath'])));}!_0x5c180f&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log'](_0x3ee21d(0x14c)+_0x53e5c4['map'](_0x215d8a=>_0x215d8a['name'])['join'](',\x20')+')'));}console[_0x3ee21d(0x149)]('');}
@@ -1 +1 @@
1
- (function(_0x1fd0e8,_0x55e825){const _0x3b7b01=_0x50d1,_0x507540=_0x1fd0e8();while(!![]){try{const _0x50b6bf=parseInt(_0x3b7b01(0xfd))/0x1*(parseInt(_0x3b7b01(0x101))/0x2)+-parseInt(_0x3b7b01(0x11c))/0x3+-parseInt(_0x3b7b01(0xfb))/0x4*(-parseInt(_0x3b7b01(0x117))/0x5)+parseInt(_0x3b7b01(0xf9))/0x6+-parseInt(_0x3b7b01(0xde))/0x7+-parseInt(_0x3b7b01(0xd3))/0x8*(-parseInt(_0x3b7b01(0xce))/0x9)+-parseInt(_0x3b7b01(0x10e))/0xa;if(_0x50b6bf===_0x55e825)break;else _0x507540['push'](_0x507540['shift']());}catch(_0x45d672){_0x507540['push'](_0x507540['shift']());}}}(_0x4366,0x66e08));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';function _0x50d1(_0x397c84,_0x15f4af){_0x397c84=_0x397c84-0xcc;const _0x43660b=_0x4366();let _0x50d1ce=_0x43660b[_0x397c84];return _0x50d1ce;}import{migrateActiveProfileFile}from'./utils/activeProfile.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getPluginInfo,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';const CLAUDE_COMMAND_TIMEOUT_MS=0x1d4c0;async function runCommand(_0x53157b,_0x5ab7ea,_0x1e00fe){const _0x4e6800=_0x50d1,_0x34917f={'YtVXu':function(_0xf35fa9,_0x485bcd){return _0xf35fa9(_0x485bcd);},'DuotK':function(_0x53e77c,_0x1de110,_0x53e435,_0x4ff3fa){return _0x53e77c(_0x1de110,_0x53e435,_0x4ff3fa);},'mZKpr':function(_0x334818,_0xb2a188){return _0x334818===_0xb2a188;},'SOxdC':_0x4e6800(0xe7)};return new Promise(_0x134e99=>{const _0x267470=_0x4e6800,_0x370d90={'QKopv':function(_0x5251ac,_0x5a1326){return _0x5251ac(_0x5a1326);},'siKKg':function(_0x14ff30,_0x41a497){const _0x784235=_0x50d1;return _0x34917f[_0x784235(0x110)](_0x14ff30,_0x41a497);}};let _0x1da3e7=![],_0x2583b9;const _0x28d7f0=_0x187292=>{if(_0x1da3e7)return;_0x1da3e7=!![],_0x2583b9&&_0x370d90['QKopv'](clearTimeout,_0x2583b9),_0x134e99(_0x187292);},_0x3ad3c6=_0x34917f['DuotK'](spawn,_0x53157b,_0x5ab7ea,{'stdio':['ignore',_0x1e00fe?.['stdio']??_0x267470(0xee),_0x1e00fe?.[_0x267470(0x11a)]??_0x267470(0xee)],'shell':_0x34917f[_0x267470(0xda)](process[_0x267470(0xe3)],_0x267470(0xeb))});_0x2583b9=_0x1e00fe?.['timeoutMs']?setTimeout(()=>{const _0x1f335a=_0x267470;_0x3ad3c6['kill'](),_0x3ad3c6[_0x1f335a(0xcf)](),_0x370d90[_0x1f335a(0xf1)](_0x28d7f0,![]);},_0x1e00fe[_0x267470(0x11b)]):undefined,_0x3ad3c6['on']('close',_0x2468f8=>{_0x28d7f0(_0x2468f8===0x0);}),_0x3ad3c6['on'](_0x34917f['SOxdC'],()=>{_0x370d90['siKKg'](_0x28d7f0,![]);});});}function _0x4366(){const _0x201741=['\x20scope\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).','trim','24oOXbcG','nPVDe','ceLcn','marketplace','split','wskVf','opencode','mZKpr','npm','\x0aCurrent\x20version:\x20','user','674359YFfWaZ','Attempting\x20install\x20anyway...','OclIX','fugzy','Claude\x20marketplace\x20update\x20command\x20failed\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).','platform','ONugC','dqNXJ','UrrAY','error','wdtzh','jzGYg','bCKmn','win32','sEzsM','log','inherit','LtSpT','yldCE','QKopv','RvlvV','XPspI','trailhead','ranger@trailhead','project','\x20skill\x20','findIndex','4387752nXCsfL','claude','865736pzjQOQ','Naldc','107aRuPnJ','Update\x20failed.','.gitignore','Update\x20failed:\x20','11022wypNrH','\x0aReinstalling\x20','utf-8','dLeAq','active-profile.txt','Claude\x20plugin\x20update\x20failed\x20for\x20','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','YcErp','PVoEN','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','some','qRCpV','PYhQP','6498810FQHFsC','push','YtVXu','deNlQ','update','--scope','@latest...\x0a','version','qMDMH','10uzkPZR','FaGuX','@latest','stdio','timeoutMs','1989402fAfbjj','\x20\x20Failed\x20to\x20reinstall\x20',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','230697RAzZBG','unref','splice'];_0x4366=function(){return _0x201741;};return _0x4366();}async function runInstall(){const _0x8096f1=_0x50d1,_0xcdbb8={'ONugC':function(_0x168d49,_0x367fc2){return _0x168d49===_0x367fc2;},'deNlQ':function(_0x188ab1,_0x458557,_0x14f0a5,_0x3d789f){return _0x188ab1(_0x458557,_0x14f0a5,_0x3d789f);},'OclIX':_0x8096f1(0xdb),'xgPAh':'install','VzKGX':'ignore','RvlvV':'inherit'};return new Promise(_0x14f299=>{const _0x2771d3=_0x8096f1,_0x85aaf0={'VekYO':function(_0x4772f5,_0x1487a1){return _0xcdbb8['ONugC'](_0x4772f5,_0x1487a1);}};console[_0x2771d3(0xed)]('\x0aInstalling\x20'+PACKAGE_NAME+_0x2771d3(0x114));const _0x4aff16=_0xcdbb8[_0x2771d3(0x111)](spawn,_0xcdbb8[_0x2771d3(0xe0)],[_0xcdbb8['xgPAh'],'-g',PACKAGE_NAME+_0x2771d3(0x119)],{'stdio':[_0xcdbb8['VzKGX'],'inherit',_0xcdbb8[_0x2771d3(0xf2)]],'shell':_0xcdbb8[_0x2771d3(0xe4)](process[_0x2771d3(0xe3)],'win32')});_0x4aff16['on']('close',_0x14093e=>{_0x14f299(_0x85aaf0['VekYO'](_0x14093e,0x0));}),_0x4aff16['on'](_0x2771d3(0xe7),()=>{_0x14f299(![]);});});}async function updateClaudeMarketplace(){const _0xec5d43=_0x50d1,_0x18ef90={'qMDMH':'plugin','fugzy':_0xec5d43(0x112)},_0xe28253=await runCommand('claude',[_0x18ef90[_0xec5d43(0x116)],_0xec5d43(0xd6),_0x18ef90[_0xec5d43(0xe1)],_0xec5d43(0xf4)],{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0xe28253)throw new Error(_0xec5d43(0xe2));}async function updateClaudePlugin(_0x1ac9af){const _0x5a3171=_0x50d1,_0x3f1ec7={'PVoEN':'plugin','PYhQP':'ranger@trailhead','FymCy':function(_0x337840,_0x891e30){return _0x337840??_0x891e30;},'wskVf':_0x5a3171(0xdd)},_0x5cde31=[_0x3f1ec7[_0x5a3171(0x109)],_0x5a3171(0x112),_0x3f1ec7[_0x5a3171(0x10d)]];_0x1ac9af&&_0x5cde31[_0x5a3171(0x10f)](_0x5a3171(0x113),_0x1ac9af);const _0x2bcc8e=await runCommand('claude',_0x5cde31,{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x2bcc8e){const _0x44553c=_0x3f1ec7['FymCy'](_0x1ac9af,_0x3f1ec7[_0x5a3171(0xd8)]);throw new Error(_0x5a3171(0x106)+_0x44553c+_0x5a3171(0xd1));}}function isSkillInstalled(_0x1b6065,_0x4ad8b9,_0x401ede){const _0x1901d7=_0x50d1,_0x1b1c13={'bCKmn':function(_0x505bc1,_0x1b3f08){return _0x505bc1(_0x1b3f08);},'ceLcn':function(_0x58b245,_0x544997,_0x3e719b){return _0x58b245(_0x544997,_0x3e719b);}},_0x3c5e41=_0x401ede===_0x1901d7(0xd9)?getOpencodeSkillsDir(_0x4ad8b9):_0x1b1c13[_0x1901d7(0xea)](getSkillsDir,_0x4ad8b9),_0x49ec12=_0x1b1c13[_0x1901d7(0xd5)](join,_0x3c5e41,_0x1b6065);return existsSync(_0x49ec12);}async function reinstallSkills(_0x2055a7){const _0x554bda=_0x50d1,_0x212638={'FeEFP':_0x554bda(0xdd),'LtSpT':function(_0x3e1d48,_0x1f9c6f,_0x2991f5,_0x331ba6){return _0x3e1d48(_0x1f9c6f,_0x2991f5,_0x331ba6);},'FaGuX':_0x554bda(0xfa),'dqNXJ':'opencode','zXZXt':function(_0x31ef25,_0x4a19b4,_0x1bfdd3){return _0x31ef25(_0x4a19b4,_0x1bfdd3);}},_0x103318=['project',_0x212638['FeEFP']],_0x1e28cf=[];for(const _0x2a4759 of _0x103318){for(const _0x1e41b9 of RANGER_MANAGED_SKILLS){_0x212638[_0x554bda(0xef)](isSkillInstalled,_0x1e41b9,_0x2a4759,_0x212638[_0x554bda(0x118)])&&_0x1e28cf[_0x554bda(0x10f)]({'skillName':_0x1e41b9,'level':_0x2a4759,'platform':_0x212638['FaGuX']}),_0x212638['LtSpT'](isSkillInstalled,_0x1e41b9,_0x2a4759,_0x212638['dqNXJ'])&&_0x1e28cf[_0x554bda(0x10f)]({'skillName':_0x1e41b9,'level':_0x2a4759,'platform':_0x212638[_0x554bda(0xe5)]});}}for(const _0x11d6d6 of _0x103318){for(const _0x4617ef of DEPRECATED_SKILLS){await _0x212638['zXZXt'](removeSkill,_0x4617ef,_0x11d6d6);}}if(_0x1e28cf['length']===0x0){console[_0x554bda(0xed)]('\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.');return;}console['log'](_0x554bda(0x102)+_0x1e28cf['length']+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x55f4e6,level:_0x58e548,platform:_0x4edbf9}of _0x1e28cf){try{await installSkill(_0x55f4e6,{'level':_0x58e548,'cliVersion':_0x2055a7,'platform':_0x4edbf9});}catch(_0x315141){console['warn'](_0x554bda(0xcc)+_0x4edbf9+'\x20'+_0x58e548+_0x554bda(0xf7)+_0x55f4e6+':',_0x315141);}}}async function ensureActiveProfileGitignored(){const _0x233403=_0x50d1,_0x2a479b={'hDnDB':function(_0x361d72){return _0x361d72();},'jgeRz':_0x233403(0xff),'dLeAq':function(_0x5cecae,_0x5a0f90){return _0x5cecae(_0x5a0f90);},'Naldc':function(_0x20065c,_0x5c7d10,_0x3ba0fd){return _0x20065c(_0x5c7d10,_0x3ba0fd);},'qxhvZ':_0x233403(0x103),'NHqjB':function(_0x5c39fa,_0x28c0ee){return _0x5c39fa===_0x28c0ee;},'Ubfea':function(_0x52e5ae,_0x5a4700,_0x44f633,_0x409525){return _0x52e5ae(_0x5a4700,_0x44f633,_0x409525);}},_0x1fd183=join(_0x2a479b['hDnDB'](getRangerDir),_0x2a479b['jgeRz']);if(!_0x2a479b[_0x233403(0x104)](existsSync,_0x1fd183))return![];let _0x1c08ea='';try{_0x1c08ea=await _0x2a479b[_0x233403(0xfc)](readFile,_0x1fd183,_0x2a479b['qxhvZ']);}catch{return![];}const _0x5d1959=_0x1c08ea[_0x233403(0xd7)](/\r?\n/);if(_0x5d1959[_0x233403(0x10b)](_0x16e968=>_0x16e968['trim']()===_0x233403(0x105)))return![];let _0x2ba6bb=_0x5d1959[_0x233403(0xf8)](_0x5370a9=>_0x5370a9[_0x233403(0xd2)]()==='active-feature.txt');_0x2a479b['NHqjB'](_0x2ba6bb,-0x1)&&(_0x2ba6bb=_0x5d1959['length']);_0x5d1959[_0x233403(0xd0)](_0x2ba6bb,0x0,'active-profile.txt');let _0x20294b=_0x5d1959['join']('\x0a');!_0x20294b['endsWith']('\x0a')&&(_0x20294b+='\x0a');try{await _0x2a479b['Ubfea'](writeFile,_0x1fd183,_0x20294b,'utf-8');}catch{return![];}return!![];}export async function update(){const _0xdaccdf=_0x50d1,_0x37746a={'YDvrS':function(_0x5eaef7){return _0x5eaef7();},'YcErp':function(_0x368d82){return _0x368d82();},'qRCpV':'\x0aSuccessfully\x20installed\x20latest\x20version.','UfsXx':function(_0x4baf0f,_0x17089e,_0x306704){return _0x4baf0f(_0x17089e,_0x306704);},'hBLtU':function(_0x23f3ce,_0x3f2734){return _0x23f3ce===_0x3f2734;},'trpji':'\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','wdtzh':function(_0x3c4a5b){return _0x3c4a5b();},'UrrAY':_0xdaccdf(0xfe),'XPspI':function(_0x165420,_0x5bff88){return _0x165420(_0x5bff88);},'yldCE':'trailhead','nPVDe':_0xdaccdf(0x10a),'sEzsM':function(_0x56fd81,_0x405861){return _0x56fd81(_0x405861);},'jzGYg':function(_0x4d5d2e,_0x542099){return _0x4d5d2e(_0x542099);}},_0x32c39f=getCurrentVersion();console['log'](_0xdaccdf(0xdc)+_0x32c39f),console['log']('Checking\x20for\x20updates...');const _0x1bff84=_0x37746a['YDvrS'](getLatestVersion);let _0x14703b=_0x32c39f;if(!_0x1bff84[_0xdaccdf(0x115)]){console['warn']('\x0aCould\x20not\x20check\x20latest\x20version:\x20'+_0x1bff84['error']),console[_0xdaccdf(0xed)](_0xdaccdf(0xdf));const _0x1a2e1b=await _0x37746a[_0xdaccdf(0x108)](runInstall);if(_0x1a2e1b)console['log'](_0x37746a[_0xdaccdf(0x10c)]),_0x14703b=getCurrentVersion();else throw new Error(_0xdaccdf(0x100)+_0x1bff84[_0xdaccdf(0xe7)]);}else{const _0x1395ad=_0x1bff84['version'];console[_0xdaccdf(0xed)]('Latest\x20version:\x20\x20'+_0x1395ad);const _0x21a3b3=_0x37746a['UfsXx'](compareVersions,_0x32c39f,_0x1395ad);if(_0x37746a['hBLtU'](_0x21a3b3,0x0))console[_0xdaccdf(0xed)](_0x37746a['trpji']);else{if(_0x21a3b3<0x0)console['log']('\x0aYour\x20version\x20('+_0x32c39f+_0xdaccdf(0xcd)+_0x1395ad+').');else{const _0x5e7677=await _0x37746a[_0xdaccdf(0xe8)](runInstall);if(_0x5e7677)console[_0xdaccdf(0xed)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x1395ad),_0x14703b=_0x1395ad;else throw new Error(_0x37746a[_0xdaccdf(0xe6)]);}}}await _0x37746a[_0xdaccdf(0xf3)](reinstallSkills,_0x14703b);const _0x537ac3=await isMarketplaceAdded(_0x37746a[_0xdaccdf(0xf0)]),_0x4a9842=await _0x37746a['XPspI'](isPluginInstalled,'ranger@trailhead');_0x537ac3&&(await updateClaudeMarketplace(),console['log'](_0x37746a[_0xdaccdf(0xd4)]));if(_0x4a9842){const _0x782081=await _0x37746a[_0xdaccdf(0xec)](getPluginInfo,_0xdaccdf(0xf5));_0x37746a['hBLtU'](_0x782081?.['scope'],'project')?(await _0x37746a[_0xdaccdf(0xe9)](updateClaudePlugin,_0xdaccdf(0xf6)),console['log']('\x0aClaude\x20plugin\x20updated\x20(project\x20scope).')):(await _0x37746a[_0xdaccdf(0x108)](updateClaudePlugin),console['log'](_0xdaccdf(0x107)));}const _0x13f675=await _0x37746a['YDvrS'](migrateActiveProfileFile);_0x13f675&&console[_0xdaccdf(0xed)]('✓\x20Migrated\x20active\x20profile\x20file');const _0x4d9f91=await _0x37746a['YcErp'](ensureActiveProfileGitignored);console[_0xdaccdf(0xed)]('\x0a✅\x20Update\x20complete!');}
1
+ function _0x3e0d(_0x56240a,_0x55426f){_0x56240a=_0x56240a-0xaf;const _0x2f8fb3=_0x2f8f();let _0x3e0d6c=_0x2f8fb3[_0x56240a];return _0x3e0d6c;}(function(_0x720a3f,_0x3ed1fa){const _0x2b4589=_0x3e0d,_0x624dc0=_0x720a3f();while(!![]){try{const _0x2c7f08=-parseInt(_0x2b4589(0xc6))/0x1*(-parseInt(_0x2b4589(0xca))/0x2)+parseInt(_0x2b4589(0xd5))/0x3*(parseInt(_0x2b4589(0xe1))/0x4)+-parseInt(_0x2b4589(0xec))/0x5*(-parseInt(_0x2b4589(0xd2))/0x6)+parseInt(_0x2b4589(0xbf))/0x7+parseInt(_0x2b4589(0xdd))/0x8+parseInt(_0x2b4589(0xd8))/0x9*(parseInt(_0x2b4589(0xd9))/0xa)+parseInt(_0x2b4589(0xd6))/0xb*(-parseInt(_0x2b4589(0xb9))/0xc);if(_0x2c7f08===_0x3ed1fa)break;else _0x624dc0['push'](_0x624dc0['shift']());}catch(_0x447faa){_0x624dc0['push'](_0x624dc0['shift']());}}}(_0x2f8f,0xbdd20));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{getPluginInfo,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';const CLAUDE_COMMAND_TIMEOUT_MS=0x1d4c0;async function runCommand(_0x318c3b,_0x5c51cb,_0x44e767){const _0x2880ea=_0x3e0d,_0x46bc01={'DWUfg':function(_0x572436,_0x5dca0b){return _0x572436(_0x5dca0b);},'WDoqT':function(_0x45c026,_0x59f33a){return _0x45c026===_0x59f33a;},'AkLYi':_0x2880ea(0xb0),'PlDly':'win32','jYVkc':_0x2880ea(0xf2)};return new Promise(_0x53f14b=>{const _0x188426=_0x2880ea;let _0x177ff7=![],_0x198854;const _0xfad21f=_0x11189b=>{const _0x2be0ca=_0x3e0d;if(_0x177ff7)return;_0x177ff7=!![],_0x198854&&clearTimeout(_0x198854),_0x46bc01[_0x2be0ca(0xe2)](_0x53f14b,_0x11189b);},_0x4df884=spawn(_0x318c3b,_0x5c51cb,{'stdio':['ignore',_0x44e767?.[_0x188426(0xe3)]??_0x46bc01['AkLYi'],_0x44e767?.[_0x188426(0xe3)]??_0x46bc01['AkLYi']],'shell':process[_0x188426(0xc8)]===_0x46bc01['PlDly']});_0x198854=_0x44e767?.[_0x188426(0xcb)]?setTimeout(()=>{const _0x510806=_0x188426;_0x4df884[_0x510806(0xba)](),_0x4df884[_0x510806(0xb7)](),_0xfad21f(![]);},_0x44e767['timeoutMs']):undefined,_0x4df884['on'](_0x188426(0xbb),_0x175532=>{_0x46bc01['DWUfg'](_0xfad21f,_0x46bc01['WDoqT'](_0x175532,0x0));}),_0x4df884['on'](_0x46bc01[_0x188426(0xd3)],()=>{_0xfad21f(![]);});});}async function runInstall(){const _0x15b1bb=_0x3e0d,_0x15ee31={'HwIad':function(_0x1ae613,_0x5d3ef1){return _0x1ae613(_0x5d3ef1);},'uUpgl':function(_0x2cbcba,_0x1b05e1){return _0x2cbcba===_0x1b05e1;},'KShic':'install','GsORg':_0x15b1bb(0xb4),'oUwAx':_0x15b1bb(0xb0),'rJygL':function(_0x22b801,_0xbea9d9){return _0x22b801===_0xbea9d9;},'AANBi':'win32','YoVUh':_0x15b1bb(0xbb),'zTRHt':_0x15b1bb(0xf2)};return new Promise(_0x413e6f=>{const _0x4da2ab=_0x15b1bb,_0x2ccb32={'nxhop':function(_0xc398f7,_0x46cc97){return _0x15ee31['HwIad'](_0xc398f7,_0x46cc97);}};console[_0x4da2ab(0xc1)](_0x4da2ab(0xd0)+PACKAGE_NAME+_0x4da2ab(0xc3));const _0xde9c1c=spawn('npm',[_0x15ee31[_0x4da2ab(0xc4)],'-g',PACKAGE_NAME+_0x4da2ab(0xc9)],{'stdio':[_0x15ee31['GsORg'],_0x15ee31[_0x4da2ab(0xcc)],_0x15ee31['oUwAx']],'shell':_0x15ee31['rJygL'](process[_0x4da2ab(0xc8)],_0x15ee31[_0x4da2ab(0xde)])});_0xde9c1c['on'](_0x15ee31[_0x4da2ab(0xbc)],_0x2e9da9=>{const _0x4d76d5=_0x4da2ab;_0x15ee31['HwIad'](_0x413e6f,_0x15ee31[_0x4d76d5(0xb1)](_0x2e9da9,0x0));}),_0xde9c1c['on'](_0x15ee31[_0x4da2ab(0xdc)],()=>{const _0x10c74d=_0x4da2ab;_0x2ccb32[_0x10c74d(0xc7)](_0x413e6f,![]);});});}async function updateClaudeMarketplace(){const _0x118e13=_0x3e0d,_0x54742e={'eCJKr':'claude','AiJrm':'plugin','DQBgm':'marketplace','bLgPk':'update','FVVPs':_0x118e13(0xb3)},_0x5590e4=await runCommand(_0x54742e['eCJKr'],[_0x54742e['AiJrm'],_0x54742e['DQBgm'],_0x54742e['bLgPk'],'trailhead'],{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x5590e4)throw new Error(_0x54742e['FVVPs']);}async function updateClaudePlugin(_0x4b958f){const _0x51301a=_0x3e0d,_0x2a5d3b={'sPcbW':'ranger@trailhead'},_0x29a203=['plugin','update',_0x2a5d3b['sPcbW']];_0x4b958f&&_0x29a203[_0x51301a(0xee)]('--scope',_0x4b958f);const _0x11f796=await runCommand('claude',_0x29a203,{'timeoutMs':CLAUDE_COMMAND_TIMEOUT_MS});if(!_0x11f796){const _0x4650b4=_0x4b958f??'user';throw new Error(_0x51301a(0xef)+_0x4650b4+_0x51301a(0xc5));}}function isSkillInstalled(_0x374a83,_0x4fab83,_0x1b9063){const _0x486c0e=_0x3e0d,_0x26ec3b={'ICrYf':function(_0x38ac99,_0x3e1361){return _0x38ac99(_0x3e1361);},'rzIgJ':function(_0x5bf73a,_0xf49e15){return _0x5bf73a(_0xf49e15);}},_0xddb264=_0x1b9063===_0x486c0e(0xd7)?_0x26ec3b['ICrYf'](getOpencodeSkillsDir,_0x4fab83):_0x26ec3b['ICrYf'](getSkillsDir,_0x4fab83),_0x80215a=join(_0xddb264,_0x374a83);return _0x26ec3b['rzIgJ'](existsSync,_0x80215a);}async function reinstallSkills(_0x6249a7){const _0x4675fe=_0x3e0d,_0x274827={'FLuPQ':_0x4675fe(0xbd),'EteOn':'user','ZxBxU':function(_0x7b4647,_0x4f9a7b,_0x4bed69,_0xea4255){return _0x7b4647(_0x4f9a7b,_0x4bed69,_0xea4255);},'TBEyJ':_0x4675fe(0xd7),'vmVUC':function(_0x58624b,_0x3170a8){return _0x58624b===_0x3170a8;}},_0x1112e2=[_0x274827['FLuPQ'],_0x274827['EteOn']],_0x1cb89f=[];for(const _0x445e36 of _0x1112e2){for(const _0x33e2ff of RANGER_MANAGED_SKILLS){isSkillInstalled(_0x33e2ff,_0x445e36,_0x4675fe(0xf0))&&_0x1cb89f['push']({'skillName':_0x33e2ff,'level':_0x445e36,'platform':'claude'}),_0x274827['ZxBxU'](isSkillInstalled,_0x33e2ff,_0x445e36,_0x274827['TBEyJ'])&&_0x1cb89f['push']({'skillName':_0x33e2ff,'level':_0x445e36,'platform':_0x4675fe(0xd7)});}}for(const _0x664926 of _0x1112e2){for(const _0x2abc44 of DEPRECATED_SKILLS){await removeSkill(_0x2abc44,_0x664926);}}if(_0x274827['vmVUC'](_0x1cb89f[_0x4675fe(0xc2)],0x0)){console[_0x4675fe(0xc1)]('\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.');return;}console['log']('\x0aReinstalling\x20'+_0x1cb89f['length']+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x503182,level:_0x5d28b8,platform:_0x3dc927}of _0x1cb89f){try{await installSkill(_0x503182,{'level':_0x5d28b8,'cliVersion':_0x6249a7,'platform':_0x3dc927});}catch(_0x1e1853){console['warn']('\x20\x20Failed\x20to\x20reinstall\x20'+_0x3dc927+'\x20'+_0x5d28b8+'\x20skill\x20'+_0x503182+':',_0x1e1853);}}}async function ensureActiveProfileGitignored(){const _0x1a6efb=_0x3e0d,_0x47accc={'rkMgc':function(_0x207e37,_0x2d458a,_0x3f63c7){return _0x207e37(_0x2d458a,_0x3f63c7);},'bRzmn':function(_0x4e1e4d){return _0x4e1e4d();},'cuwnU':'.gitignore','yzVen':function(_0x16528d,_0x19ec4){return _0x16528d(_0x19ec4);},'WSvwa':function(_0x5323f8,_0x1076d9,_0x29865a,_0x47b1f3){return _0x5323f8(_0x1076d9,_0x29865a,_0x47b1f3);}},_0x25a06c=_0x47accc[_0x1a6efb(0xb8)](join,_0x47accc['bRzmn'](getRangerDir),_0x47accc['cuwnU']);if(!_0x47accc[_0x1a6efb(0xdb)](existsSync,_0x25a06c))return![];let _0x37f19e='';try{_0x37f19e=await readFile(_0x25a06c,_0x1a6efb(0xce));}catch{return![];}const _0x258ce4=_0x37f19e[_0x1a6efb(0xaf)](/\r?\n/);if(_0x258ce4['some'](_0x35345e=>_0x35345e[_0x1a6efb(0xcd)]()===_0x1a6efb(0xeb)))return![];let _0x1c7a30=_0x258ce4['findIndex'](_0x3c816f=>_0x3c816f['trim']()==='active-feature.txt');_0x1c7a30===-0x1&&(_0x1c7a30=_0x258ce4[_0x1a6efb(0xc2)]);_0x258ce4[_0x1a6efb(0xcf)](_0x1c7a30,0x0,'active-profile.txt');let _0x30ca71=_0x258ce4['join']('\x0a');!_0x30ca71['endsWith']('\x0a')&&(_0x30ca71+='\x0a');try{await _0x47accc[_0x1a6efb(0xda)](writeFile,_0x25a06c,_0x30ca71,'utf-8');}catch{return![];}return!![];}export async function update(){const _0x57a15e=_0x3e0d,_0x5ec13a={'IlFaB':function(_0x2aad0c){return _0x2aad0c();},'JdPHi':'Checking\x20for\x20updates...','JftIT':function(_0x4db260){return _0x4db260();},'BCevf':function(_0x4c428a,_0x16f7a0,_0x44b4d3){return _0x4c428a(_0x16f7a0,_0x44b4d3);},'KAekU':function(_0x25e63e,_0x463016){return _0x25e63e===_0x463016;},'TIUCk':'\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','jmvft':function(_0x442055,_0x102dff){return _0x442055<_0x102dff;},'Lvggf':function(_0xdedc3a,_0x4d24b7){return _0xdedc3a(_0x4d24b7);},'NykeU':function(_0x15b1dc,_0x566372){return _0x15b1dc(_0x566372);},'kJiYm':_0x57a15e(0xe8),'SuFhQ':'project','dKxzp':function(_0x57a841){return _0x57a841();},'kYouU':'✓\x20Migrated\x20active\x20profile\x20file','opwHr':'\x0a✅\x20Update\x20complete!'},_0x130e73=_0x5ec13a['IlFaB'](getCurrentVersion);console[_0x57a15e(0xc1)]('\x0aCurrent\x20version:\x20'+_0x130e73),console[_0x57a15e(0xc1)](_0x5ec13a[_0x57a15e(0xb5)]);const _0x3fc532=_0x5ec13a[_0x57a15e(0xc0)](getLatestVersion);let _0x55450f=_0x130e73;if(!_0x3fc532[_0x57a15e(0xe5)]){console[_0x57a15e(0xb2)]('\x0aCould\x20not\x20check\x20latest\x20version:\x20'+_0x3fc532[_0x57a15e(0xf2)]),console[_0x57a15e(0xc1)](_0x57a15e(0xbe));const _0x1b9ef0=await _0x5ec13a['IlFaB'](runInstall);if(_0x1b9ef0)console[_0x57a15e(0xc1)](_0x57a15e(0xdf)),_0x55450f=_0x5ec13a['JftIT'](getCurrentVersion);else throw new Error(_0x57a15e(0xb6)+_0x3fc532['error']);}else{const _0x50aaa4=_0x3fc532[_0x57a15e(0xe5)];console['log'](_0x57a15e(0xe7)+_0x50aaa4);const _0xd6631f=_0x5ec13a['BCevf'](compareVersions,_0x130e73,_0x50aaa4);if(_0x5ec13a['KAekU'](_0xd6631f,0x0))console[_0x57a15e(0xc1)](_0x5ec13a[_0x57a15e(0xe4)]);else{if(_0x5ec13a['jmvft'](_0xd6631f,0x0))console[_0x57a15e(0xc1)](_0x57a15e(0xea)+_0x130e73+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0x50aaa4+').');else{const _0x4dc971=await _0x5ec13a[_0x57a15e(0xc0)](runInstall);if(_0x4dc971)console[_0x57a15e(0xc1)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x50aaa4),_0x55450f=_0x50aaa4;else throw new Error(_0x57a15e(0xd1));}}}await _0x5ec13a[_0x57a15e(0xe9)](reinstallSkills,_0x55450f);const _0x369555=await _0x5ec13a['NykeU'](isMarketplaceAdded,'trailhead'),_0x52f982=await isPluginInstalled(_0x5ec13a[_0x57a15e(0xd4)]);_0x369555&&(await updateClaudeMarketplace(),console['log'](_0x57a15e(0xe0)));if(_0x52f982){const _0x1cc2dc=await getPluginInfo(_0x5ec13a[_0x57a15e(0xd4)]);_0x5ec13a['KAekU'](_0x1cc2dc?.['scope'],_0x5ec13a['SuFhQ'])?(await _0x5ec13a[_0x57a15e(0xf3)](updateClaudePlugin,_0x57a15e(0xbd)),console['log'](_0x57a15e(0xe6))):(await _0x5ec13a[_0x57a15e(0xf5)](updateClaudePlugin),console[_0x57a15e(0xc1)](_0x57a15e(0xed)));}const _0x59b84c=await _0x5ec13a['dKxzp'](migrateActiveProfileFile);_0x59b84c&&console[_0x57a15e(0xc1)](_0x5ec13a[_0x57a15e(0xf1)]);const _0x513cf5=await _0x5ec13a[_0x57a15e(0xf5)](ensureActiveProfileGitignored);console['log'](_0x5ec13a[_0x57a15e(0xf4)]);}function _0x2f8f(){const _0x6d5b9f=['active-profile.txt','15BczYFf','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','push','Claude\x20plugin\x20update\x20failed\x20for\x20','claude','kYouU','error','NykeU','opwHr','IlFaB','split','inherit','uUpgl','warn','Claude\x20marketplace\x20update\x20command\x20failed\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).','ignore','JdPHi','Update\x20failed:\x20','unref','rkMgc','12mpQHax','kill','close','YoVUh','project','Attempting\x20install\x20anyway...','3898153Lgwltc','JftIT','log','length','@latest...\x0a','KShic','\x20scope\x20(timed\x20out,\x20failed\x20to\x20start,\x20or\x20exited\x20with\x20a\x20non-zero\x20status).','3aOPqgE','nxhop','platform','@latest','907672hgRQBr','timeoutMs','oUwAx','trim','utf-8','splice','\x0aInstalling\x20','Update\x20failed.','648840lUAjeR','jYVkc','kJiYm','295599akVXoQ','31192106mBAcyJ','opencode','153FixOSO','448670UTtlwL','WSvwa','yzVen','zTRHt','4072568stwYDD','AANBi','\x0aSuccessfully\x20installed\x20latest\x20version.','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','4ZdyRuw','DWUfg','stdio','TIUCk','version','\x0aClaude\x20plugin\x20updated\x20(project\x20scope).','Latest\x20version:\x20\x20','ranger@trailhead','Lvggf','\x0aYour\x20version\x20('];_0x2f8f=function(){return _0x6d5b9f;};return _0x2f8f();}