@ranger-testing/ranger-cli 2.4.4 → 2.4.5

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 -0
  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(_0x984948,_0x1f87e6){const _0x12be4c=_0x505e,_0x30f53e=_0x984948();while(!![]){try{const _0x3de81b=-parseInt(_0x12be4c(0x15c))/0x1+-parseInt(_0x12be4c(0x14f))/0x2+parseInt(_0x12be4c(0x158))/0x3*(parseInt(_0x12be4c(0x14e))/0x4)+-parseInt(_0x12be4c(0x15b))/0x5*(parseInt(_0x12be4c(0x151))/0x6)+parseInt(_0x12be4c(0x154))/0x7*(parseInt(_0x12be4c(0x157))/0x8)+-parseInt(_0x12be4c(0x162))/0x9+-parseInt(_0x12be4c(0x160))/0xa*(-parseInt(_0x12be4c(0x14c))/0xb);if(_0x3de81b===_0x1f87e6)break;else _0x30f53e['push'](_0x30f53e['shift']());}catch(_0x2ac03b){_0x30f53e['push'](_0x30f53e['shift']());}}}(_0x5ded,0x3cfe9));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x5ded(){const _0x4d6aa3=['GynJw','CdgOk','KKmRU','22231vdWJWd','parse','77368YVhxFI','208070nRVwcl','YrPIW','2038134ySPuBq','stringify','session_id','7819GMhsWZ','export\x20CLAUDE_SESSION_ID=\x22','env','928MUXSlO','48tHloQr','\x20(Branch:\x20','success','5rCtzwU','135042YFCKLe','master','trackCommandEnd','yIQJU','3830hmXZaw','MfbTY','3460392CtnblF'];_0x5ded=function(){return _0x4d6aa3;};return _0x5ded();}import{createTelemetryCollector}from'../utils/telemetry.js';function _0x505e(_0x1759c6,_0x199893){_0x1759c6=_0x1759c6-0x14a;const _0x5ded2e=_0x5ded();let _0x505ec0=_0x5ded2e[_0x1759c6];return _0x505ec0;}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(_0xe916df){const _0x1bcda5=_0x505e,_0x5e7db7={'YrPIW':function(_0xfca0d0,_0x1755c8){return _0xfca0d0||_0x1755c8;},'GynJw':function(_0x33e7af,_0xab814){return _0x33e7af(_0xab814);},'KKmRU':function(_0x31f5e0,_0x9a20b4){return _0x31f5e0(_0x9a20b4);},'MfbTY':function(_0x4a1aa9,_0x28ec0a){return _0x4a1aa9!==_0x28ec0a;},'yIQJU':'main','CdgOk':function(_0x66619,_0x42f318){return _0x66619+_0x42f318;}};let _0x228a16=_0x5e7db7[_0x1bcda5(0x150)](_0xe916df,''),_0xf44a9d;if(!_0xe916df){let _0x46dcab='';for await(const _0x3a5c29 of process['stdin']){_0x46dcab+=_0x3a5c29;}try{const _0x4461d2=JSON[_0x1bcda5(0x14d)](_0x46dcab);_0x228a16=_0x4461d2[_0x1bcda5(0x153)]||'',_0xf44a9d=_0x4461d2['source'];}catch{}const _0x11d290=process[_0x1bcda5(0x156)]['CLAUDE_ENV_FILE'];if(_0x11d290&&_0x228a16)try{await appendFile(_0x11d290,_0x1bcda5(0x155)+_0x228a16+'\x22\x0a');}catch{}}if(_0x228a16){shouldAutoEnableAfterClear(_0xf44a9d)&&autoEnableAfterClear(_0x228a16);_0x5e7db7['GynJw'](initBranchTracking,_0x228a16);const _0x223ed9=_0x5e7db7[_0x1bcda5(0x163)](isSessionEnabled,_0x228a16);try{const _0x3fe2d2=_0x5e7db7[_0x1bcda5(0x14b)](createTelemetryCollector,'hook:session-start');await _0x3fe2d2['trackCommandStart']({'sessionId':_0x228a16,'hooksEnabled':_0x223ed9}),await _0x3fe2d2[_0x1bcda5(0x15e)](_0x1bcda5(0x15a));}catch{}if(_0x223ed9){const _0x434bee=getCurrentBranch(),_0x3e59f8=_0x434bee&&_0x5e7db7[_0x1bcda5(0x161)](_0x434bee,_0x5e7db7[_0x1bcda5(0x15f)])&&_0x5e7db7[_0x1bcda5(0x161)](_0x434bee,_0x1bcda5(0x15d))?_0x1bcda5(0x159)+_0x434bee+')':'',_0x102ad0={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':_0x5e7db7[_0x1bcda5(0x14a)](RANGER_AUTO_ENABLED_PROMPT,_0x3e59f8)}};console['log'](JSON[_0x1bcda5(0x152)](_0x102ad0));}}}
1
+ function _0x2e5a(_0x3b9632,_0x50ea03){_0x3b9632=_0x3b9632-0x14b;const _0x29f171=_0x29f1();let _0x2e5a87=_0x29f171[_0x3b9632];return _0x2e5a87;}const _0x1f748e=_0x2e5a;(function(_0x492fb6,_0x1fb6c1){const _0x346e37=_0x2e5a,_0x35239a=_0x492fb6();while(!![]){try{const _0x5d6da1=parseInt(_0x346e37(0x15d))/0x1+parseInt(_0x346e37(0x14f))/0x2*(parseInt(_0x346e37(0x14c))/0x3)+parseInt(_0x346e37(0x14e))/0x4*(parseInt(_0x346e37(0x15e))/0x5)+parseInt(_0x346e37(0x154))/0x6+-parseInt(_0x346e37(0x153))/0x7+-parseInt(_0x346e37(0x14d))/0x8*(parseInt(_0x346e37(0x162))/0x9)+parseInt(_0x346e37(0x158))/0xa*(parseInt(_0x346e37(0x157))/0xb);if(_0x5d6da1===_0x1fb6c1)break;else _0x35239a['push'](_0x35239a['shift']());}catch(_0x375812){_0x35239a['push'](_0x35239a['shift']());}}}(_0x29f1,0x3a22e));import{appendFile}from'fs/promises';function _0x29f1(){const _0x599497=['946578XxzJor','main','zVOFC','55vGUdDH','123870ITipXp','SessionStart','tGBzD','KZoCe','wDkdI','58793OzxBOD','1513685tFtsbP','ofwRh','master','=================================================================\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=================================================================','396AGCdBO','YldPe','404811JWFzjY','69840ZMNkbK','4norXDs','6uRdyFh','export\x20CLAUDE_SESSION_ID=\x22','rSzoB','parse','2546551kbQqUl'];_0x29f1=function(){return _0x599497;};return _0x29f1();}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=_0x1f748e(0x161);export async function sessionStart(_0x992cb8){const _0x350698=_0x1f748e,_0x519ec0={'KZoCe':function(_0x2490e4,_0x10e94b){return _0x2490e4||_0x10e94b;},'zVOFC':'source','ofwRh':function(_0x26eb20,_0x3f61dd){return _0x26eb20&&_0x3f61dd;},'tGBzD':function(_0xe91a8,_0x3b7c0e,_0x4ec283){return _0xe91a8(_0x3b7c0e,_0x4ec283);},'wDkdI':function(_0x38ff9a,_0xabd896){return _0x38ff9a(_0xabd896);},'axERl':function(_0x2824b6,_0x4c358b){return _0x2824b6(_0x4c358b);},'rSzoB':'hook:session-start','YldPe':_0x350698(0x155),'LeVsu':function(_0x296ec7,_0x2f5c81){return _0x296ec7!==_0x2f5c81;}};let _0x5e6719=_0x519ec0[_0x350698(0x15b)](_0x992cb8,''),_0x46cd45;if(!_0x992cb8){let _0x118af9='';for await(const _0x289680 of process['stdin']){_0x118af9+=_0x289680;}try{const _0x8722bf=JSON[_0x350698(0x152)](_0x118af9);_0x5e6719=_0x8722bf['session_id']||'',_0x46cd45=_0x8722bf[_0x519ec0[_0x350698(0x156)]];}catch{}const _0x52b5da=process['env']['CLAUDE_ENV_FILE'];if(_0x519ec0[_0x350698(0x15f)](_0x52b5da,_0x5e6719))try{await _0x519ec0[_0x350698(0x15a)](appendFile,_0x52b5da,_0x350698(0x150)+_0x5e6719+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x5e6719){_0x519ec0[_0x350698(0x15c)](shouldAutoEnableAfterClear,_0x46cd45)&&_0x519ec0['axERl'](autoEnableAfterClear,_0x5e6719);initBranchTracking(_0x5e6719);const _0x2c18d7=isSessionEnabled(_0x5e6719);try{const _0x1e5847=createTelemetryCollector(_0x519ec0[_0x350698(0x151)]);await _0x1e5847['trackCommandStart']({'sessionId':_0x5e6719,'hooksEnabled':_0x2c18d7}),await _0x1e5847['trackCommandEnd']('success');}catch{}if(_0x2c18d7){const _0x1100c9=getCurrentBranch(),_0x37873a=_0x1100c9&&_0x1100c9!==_0x519ec0[_0x350698(0x14b)]&&_0x519ec0['LeVsu'](_0x1100c9,_0x350698(0x160))?'\x20(Branch:\x20'+_0x1100c9+')':'',_0x325c64={'hookSpecificOutput':{'hookEventName':_0x350698(0x159),'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x37873a}};console['log'](JSON['stringify'](_0x325c64));}}}
@@ -1 +1 @@
1
- (function(_0x3c8c46,_0x54d97b){const _0x1f8394=_0x4c9b,_0x49a688=_0x3c8c46();while(!![]){try{const _0x1539af=parseInt(_0x1f8394(0xa8))/0x1+-parseInt(_0x1f8394(0xad))/0x2+-parseInt(_0x1f8394(0xa9))/0x3*(parseInt(_0x1f8394(0xbe))/0x4)+parseInt(_0x1f8394(0xb3))/0x5+-parseInt(_0x1f8394(0xaa))/0x6*(parseInt(_0x1f8394(0xbd))/0x7)+-parseInt(_0x1f8394(0xb7))/0x8+parseInt(_0x1f8394(0xbb))/0x9;if(_0x1539af===_0x54d97b)break;else _0x49a688['push'](_0x49a688['shift']());}catch(_0xd2fe86){_0x49a688['push'](_0x49a688['shift']());}}}(_0x2f57,0x38596));import{getToken}from'../utils/keychain.js';function _0x4c9b(_0x1665f5,_0x3e07df){_0x1665f5=_0x1665f5-0xa6;const _0x2f570f=_0x2f57();let _0x4c9b1a=_0x2f570f[_0x1665f5];return _0x4c9b1a;}import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x4c58e9){const _0x38c23d=_0x4c9b,_0x560fc0={'yGNnN':function(_0x21b84a,_0x34276c,_0x4c94fd,_0x4af7b8){return _0x21b84a(_0x34276c,_0x4c94fd,_0x4af7b8);},'AWMJD':function(_0x4fefcd,_0x19ecd3){return _0x4fefcd(_0x19ecd3);},'UYOHw':function(_0x25d4b4){return _0x25d4b4();},'pnXRQ':function(_0x57aa73,_0x552e9c){return _0x57aa73(_0x552e9c);},'ZCsxR':function(_0x1fbef2,_0x4304e6){return _0x1fbef2(_0x4304e6);},'zUmGs':function(_0x4621f3,_0xff1aae,_0x4d258f,_0x47eba9){return _0x4621f3(_0xff1aae,_0x4d258f,_0x47eba9);}},_0x54d30d=await getEnabledHookContext(_0x4c58e9),_0x1ff70e=_0x54d30d?.['sessionId']??null;let _0x15dc66=!![];if(!_0x1ff70e){await _0x560fc0['yGNnN'](trackStop,_0x1ff70e,![],_0x15dc66);return;}try{const _0x8c8ffe=_0x560fc0[_0x38c23d(0xae)](getSessionEntry,_0x1ff70e);if(!_0x8c8ffe){await _0x560fc0['yGNnN'](trackStop,_0x1ff70e,!![],_0x15dc66);return;}const _0x1c3d46=await _0x560fc0['UYOHw'](getToken),_0x3ee298=_0x38c23d(0xb8)+_0x8c8ffe[_0x38c23d(0xb5)];let _0x16c224=null,_0x1492de=![],_0x101841=![];if(_0x1c3d46)try{const _0x56b8d0=await _0x560fc0[_0x38c23d(0xbc)](getFeature,_0x8c8ffe['featureId']);_0x16c224=_0x56b8d0[_0x38c23d(0xb1)]??null;const _0x104303=_0x56b8d0['checklistItems'][_0x38c23d(0xb4)](_0x15952d=>_0x15952d['sessionId']===_0x16c224);_0x1492de=_0x104303['some'](_0x34c6d2=>_0x34c6d2['status']!==_0x38c23d(0xaf)&&_0x34c6d2[_0x38c23d(0xab)]!=='blocked'&&_0x34c6d2['status']!==_0x38c23d(0xb0)&&_0x34c6d2[_0x38c23d(0xab)]!=='incomplete'),_0x101841=_0x104303['some'](_0x17e5c4=>_0x17e5c4[_0x38c23d(0xab)]==='verification_in_progress');}catch{}if(_0x1c3d46&&_0x16c224&&_0x1492de){if(!_0x101841&&_0x560fc0['ZCsxR'](shouldShowStopReminder,_0x1ff70e)){const _0x1ee1bb={'hookSpecificOutput':{'hookEventName':_0x38c23d(0xb9),'additionalContext':_0x38c23d(0xa7)+_0x3ee298}};console['log'](JSON['stringify'](_0x1ee1bb));}}if(_0x1c3d46&&_0x16c224&&!_0x1492de)try{await concludeSession(_0x8c8ffe[_0x38c23d(0xb5)],_0x16c224);}catch{}await trackStop(_0x1ff70e,!![],_0x15dc66);return;}catch{await _0x560fc0[_0x38c23d(0xb2)](trackStop,_0x1ff70e,!![],_0x15dc66);return;}}function _0x2f57(){const _0x421629=['currentSessionId','zUmGs','1848965dRTEuo','filter','featureId','HOujI','1071056PDVolf','https://dashboard.ranger.net/features/','Stop','trackCommandEnd','7299675wuxWjz','pnXRQ','1736YaiLvs','4AsxKiW','success','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','287486bvHsvJ','1318287mjOQUf','8484LMoPsP','status','hpBiB','627130ktBgal','AWMJD','verified','closed'];_0x2f57=function(){return _0x421629;};return _0x2f57();}async function trackStop(_0x24e384,_0x2f1f40,_0x544fe2){const _0x5a9be4=_0x4c9b,_0x51a75f={'HOujI':'hook:stop','hpBiB':_0x5a9be4(0xa6)};try{const _0x22bedd=createTelemetryCollector(_0x51a75f[_0x5a9be4(0xb6)]);await _0x22bedd['trackCommandStart']({'sessionId':_0x24e384??undefined,'hooksEnabled':_0x2f1f40,'stopAllowed':_0x544fe2}),await _0x22bedd[_0x5a9be4(0xba)](_0x51a75f[_0x5a9be4(0xac)]);}catch{}}
1
+ (function(_0x2f77c4,_0x55133b){const _0x19cfc6=_0x326e,_0x3c7633=_0x2f77c4();while(!![]){try{const _0x352b8a=-parseInt(_0x19cfc6(0x169))/0x1+-parseInt(_0x19cfc6(0x166))/0x2+-parseInt(_0x19cfc6(0x167))/0x3+-parseInt(_0x19cfc6(0x162))/0x4+-parseInt(_0x19cfc6(0x15f))/0x5+-parseInt(_0x19cfc6(0x160))/0x6*(parseInt(_0x19cfc6(0x161))/0x7)+-parseInt(_0x19cfc6(0x171))/0x8*(-parseInt(_0x19cfc6(0x174))/0x9);if(_0x352b8a===_0x55133b)break;else _0x3c7633['push'](_0x3c7633['shift']());}catch(_0x5ed6b6){_0x3c7633['push'](_0x3c7633['shift']());}}}(_0x55ff,0x3a73e));import{getToken}from'../utils/keychain.js';function _0x55ff(){const _0x22f53a=['trackCommandEnd','Occgo','565336TppJYu','541251YWMnyQ','filter','419859sXhLCz','featureId','oXQEp','Stop','currentSessionId','BRrmC','trackCommandStart','pEhtK','4024jFAqiM','verified','sessionId','27504HPpvnX','closed','status','417265gPkaHX','12684nCCGoj','966RUznDF','158468TkKsDB','checklistItems'];_0x55ff=function(){return _0x22f53a;};return _0x55ff();}import{getFeature,concludeSession}from'../utils/featureApi.js';function _0x326e(_0x342863,_0x4d8a11){_0x342863=_0x342863-0x15d;const _0x55ffbf=_0x55ff();let _0x326e68=_0x55ffbf[_0x342863];return _0x326e68;}import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x826a41){const _0x26cb73=_0x326e,_0x1b86d0={'BRrmC':function(_0x54cd51,_0x34bed2){return _0x54cd51(_0x34bed2);},'sLCnf':function(_0x33d018,_0xa49e71){return _0x33d018(_0xa49e71);},'Occgo':function(_0x309de3){return _0x309de3();},'pEhtK':function(_0x204453,_0x46e026){return _0x204453(_0x46e026);},'oXQEp':function(_0x5c2877,_0x11c3e5){return _0x5c2877&&_0x11c3e5;},'PJULG':function(_0x1f359a,_0x31f4bd){return _0x1f359a(_0x31f4bd);}},_0x4c238c=await _0x1b86d0[_0x26cb73(0x16e)](getEnabledHookContext,_0x826a41),_0x20c354=_0x4c238c?.[_0x26cb73(0x173)]??null;let _0x182fec=!![];if(!_0x20c354){await trackStop(_0x20c354,![],_0x182fec);return;}try{const _0x734330=_0x1b86d0['sLCnf'](getSessionEntry,_0x20c354);if(!_0x734330){await trackStop(_0x20c354,!![],_0x182fec);return;}const _0x351455=await _0x1b86d0[_0x26cb73(0x165)](getToken),_0x4a22cc='https://dashboard.ranger.net/features/'+_0x734330[_0x26cb73(0x16a)];let _0xe63a0e=null,_0x2cae73=![],_0x55834b=![];if(_0x351455)try{const _0x45a83f=await _0x1b86d0[_0x26cb73(0x170)](getFeature,_0x734330[_0x26cb73(0x16a)]);_0xe63a0e=_0x45a83f[_0x26cb73(0x16d)]??null;const _0x563bb8=_0x45a83f[_0x26cb73(0x163)][_0x26cb73(0x168)](_0x1d0978=>_0x1d0978[_0x26cb73(0x173)]===_0xe63a0e);_0x2cae73=_0x563bb8['some'](_0x50c391=>_0x50c391[_0x26cb73(0x15e)]!==_0x26cb73(0x172)&&_0x50c391['status']!=='blocked'&&_0x50c391['status']!==_0x26cb73(0x15d)&&_0x50c391['status']!=='incomplete'),_0x55834b=_0x563bb8['some'](_0x46a9bf=>_0x46a9bf['status']==='verification_in_progress');}catch{}if(_0x1b86d0[_0x26cb73(0x16b)](_0x351455,_0xe63a0e)&&_0x2cae73){if(!_0x55834b&&_0x1b86d0['PJULG'](shouldShowStopReminder,_0x20c354)){const _0x54cfa3={'hookSpecificOutput':{'hookEventName':_0x26cb73(0x16c),'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'+_0x4a22cc}};console['log'](JSON['stringify'](_0x54cfa3));}}if(_0x351455&&_0xe63a0e&&!_0x2cae73)try{await concludeSession(_0x734330['featureId'],_0xe63a0e);}catch{}await trackStop(_0x20c354,!![],_0x182fec);return;}catch{await trackStop(_0x20c354,!![],_0x182fec);return;}}async function trackStop(_0x2418cc,_0xa08bed,_0x5c9753){const _0x459d49=_0x326e,_0x19832b={'RpuqQ':'hook:stop'};try{const _0xd6f168=createTelemetryCollector(_0x19832b['RpuqQ']);await _0xd6f168[_0x459d49(0x16f)]({'sessionId':_0x2418cc??undefined,'hooksEnabled':_0xa08bed,'stopAllowed':_0x5c9753}),await _0xd6f168[_0x459d49(0x164)]('success');}catch{}}
@@ -1 +1 @@
1
- (function(_0x4195ae,_0x94d294){var _0x1f0f92=_0x585a,_0x2cbabc=_0x4195ae();while(!![]){try{var _0x4a8936=-parseInt(_0x1f0f92(0x163))/0x1*(parseInt(_0x1f0f92(0x168))/0x2)+parseInt(_0x1f0f92(0x15d))/0x3*(-parseInt(_0x1f0f92(0x167))/0x4)+parseInt(_0x1f0f92(0x15c))/0x5*(-parseInt(_0x1f0f92(0x164))/0x6)+parseInt(_0x1f0f92(0x160))/0x7*(-parseInt(_0x1f0f92(0x165))/0x8)+parseInt(_0x1f0f92(0x161))/0x9+parseInt(_0x1f0f92(0x162))/0xa*(parseInt(_0x1f0f92(0x15e))/0xb)+parseInt(_0x1f0f92(0x15f))/0xc*(parseInt(_0x1f0f92(0x166))/0xd);if(_0x4a8936===_0x94d294)break;else _0x2cbabc['push'](_0x2cbabc['shift']());}catch(_0x4a9d4b){_0x2cbabc['push'](_0x2cbabc['shift']());}}}(_0x231e,0x8a4c6));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start}from'./start.js';function _0x585a(_0x46dfbf,_0x28b82d){_0x46dfbf=_0x46dfbf-0x15c;var _0x231e35=_0x231e();var _0x585a46=_0x231e35[_0x46dfbf];return _0x585a46;}export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';function _0x231e(){var _0x567a57=['693OIcMDj','39143208otdiPh','269129IssWGr','1914012GEWEgK','1420VdMwFo','3YbUEId','34608hTFNNy','200HNrFAA','13VmGwnl','1150280ZAfQDc','298118mbfeMo','560qZDjXC','9wYavcK'];_0x231e=function(){return _0x567a57;};return _0x231e();}export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
1
+ (function(_0x4ac852,_0x32efd3){var _0x242b90=_0x15f6,_0x4c0908=_0x4ac852();while(!![]){try{var _0x3ba6c3=-parseInt(_0x242b90(0xe3))/0x1*(-parseInt(_0x242b90(0xe7))/0x2)+-parseInt(_0x242b90(0xea))/0x3+parseInt(_0x242b90(0xeb))/0x4+-parseInt(_0x242b90(0xe6))/0x5*(-parseInt(_0x242b90(0xe5))/0x6)+parseInt(_0x242b90(0xed))/0x7+parseInt(_0x242b90(0xe8))/0x8*(-parseInt(_0x242b90(0xec))/0x9)+-parseInt(_0x242b90(0xe4))/0xa*(-parseInt(_0x242b90(0xe9))/0xb);if(_0x3ba6c3===_0x32efd3)break;else _0x4c0908['push'](_0x4c0908['shift']());}catch(_0x1deaf6){_0x4c0908['push'](_0x4c0908['shift']());}}}(_0x2396,0x58d37));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';function _0x2396(){var _0x11f9e3=['372608xuxtgP','3429yvvRYJ','3960313YjyOxJ','87epiWTQ','920MelPbf','6738wCFNMd','360RVGEhB','2526hcyuqR','5184LhoLjV','35387kfmLkK','1604679EhtNcw'];_0x2396=function(){return _0x11f9e3;};return _0x2396();}export{start}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';function _0x15f6(_0xe2411a,_0x4b41c8){_0xe2411a=_0xe2411a-0xe3;var _0x239687=_0x2396();var _0x15f670=_0x239687[_0xe2411a];return _0x15f670;}export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
@@ -1 +1 @@
1
- (function(_0x38bd85,_0xca000){const _0xea5b=_0x5d63,_0xfb2705=_0x38bd85();while(!![]){try{const _0x5e8e24=-parseInt(_0xea5b(0x107))/0x1+parseInt(_0xea5b(0x108))/0x2*(parseInt(_0xea5b(0x100))/0x3)+-parseInt(_0xea5b(0xf9))/0x4+parseInt(_0xea5b(0xf8))/0x5*(-parseInt(_0xea5b(0x101))/0x6)+-parseInt(_0xea5b(0x103))/0x7*(-parseInt(_0xea5b(0xf5))/0x8)+parseInt(_0xea5b(0xff))/0x9*(parseInt(_0xea5b(0x102))/0xa)+parseInt(_0xea5b(0xfd))/0xb*(-parseInt(_0xea5b(0xfc))/0xc);if(_0x5e8e24===_0xca000)break;else _0xfb2705['push'](_0xfb2705['shift']());}catch(_0x29ce1b){_0xfb2705['push'](_0xfb2705['shift']());}}}(_0x18d8,0x3fe70));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x5d63(_0xd0618b,_0x23651e){_0xd0618b=_0xd0618b-0xf5;const _0x18d859=_0x18d8();let _0x5d6323=_0x18d859[_0xd0618b];return _0x5d6323;}function _0x18d8(){const _0x59be9f=['22DkNCqM','isTTY','99jsznaj','381fAVnrm','486IPDYbV','338440QYBlDw','256613abwNPW','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','user','Login\x20failed:\x20','46199DdwKXI','6844CcaqTT','organizationName','104fignRe','success','log','22045ZrsooJ','2022028FZLOgj','stdout','stdin','677196xwoRau'];_0x18d8=function(){return _0x59be9f;};return _0x18d8();}import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x102d77=_0x5d63,_0x28daef={'jwKIk':_0x102d77(0x104)},_0x3c4c4b=process[_0x102d77(0xfb)][_0x102d77(0xfe)]&&process[_0x102d77(0xfa)][_0x102d77(0xfe)];if(!_0x3c4c4b)throw new Error(_0x28daef['jwKIk']);try{const _0x4e37e7=await runDeviceAuthFlow(),_0x4c2220=await getCurrentUser(_0x4e37e7);_0x4c2220[_0x102d77(0xf6)]?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x4c2220[_0x102d77(0x105)][_0x102d77(0x109)]):console[_0x102d77(0xf7)]('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x4b95b3){throw new Error(_0x102d77(0x106)+(_0x4b95b3 instanceof Error?_0x4b95b3['message']:_0x4b95b3));}}
1
+ (function(_0x1a1826,_0x4b36dc){const _0x2f896f=_0x4276,_0x59fac6=_0x1a1826();while(!![]){try{const _0x3adf91=-parseInt(_0x2f896f(0x150))/0x1*(-parseInt(_0x2f896f(0x151))/0x2)+-parseInt(_0x2f896f(0x148))/0x3*(-parseInt(_0x2f896f(0x143))/0x4)+parseInt(_0x2f896f(0x141))/0x5*(parseInt(_0x2f896f(0x146))/0x6)+parseInt(_0x2f896f(0x152))/0x7*(-parseInt(_0x2f896f(0x149))/0x8)+parseInt(_0x2f896f(0x153))/0x9+parseInt(_0x2f896f(0x14d))/0xa+-parseInt(_0x2f896f(0x14c))/0xb*(parseInt(_0x2f896f(0x140))/0xc);if(_0x3adf91===_0x4b36dc)break;else _0x59fac6['push'](_0x59fac6['shift']());}catch(_0x18eb7c){_0x59fac6['push'](_0x59fac6['shift']());}}}(_0xe6cc,0xdf123));function _0xe6cc(){const _0x2bba6c=['108daYFzL','40KSSmVo','Login\x20failed:\x20','60EyCiwn','isTTY','log','762690PtAwRg','stdout','86463hwSmFY','632JajAiP','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','success','2019754wwPmPd','14762600XpXFDZ','stdin','user','48047mwGMQj','4gxHvyn','83454DwwqmZ','4378266hwuRtP'];_0xe6cc=function(){return _0x2bba6c;};return _0xe6cc();}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x4276(_0x1b2a14,_0x1af8ce){_0x1b2a14=_0x1b2a14-0x140;const _0xe6cce2=_0xe6cc();let _0x4276bb=_0xe6cce2[_0x1b2a14];return _0x4276bb;}import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x4f1ca8=_0x4276,_0x20623f={'HuozC':_0x4f1ca8(0x14a),'aOwXD':function(_0x325089){return _0x325089();},'eaTWi':function(_0x806de0,_0x5b2a95){return _0x806de0 instanceof _0x5b2a95;}},_0x58aba3=process[_0x4f1ca8(0x14e)][_0x4f1ca8(0x144)]&&process[_0x4f1ca8(0x147)][_0x4f1ca8(0x144)];if(!_0x58aba3)throw new Error(_0x20623f['HuozC']);try{const _0x35a51c=await _0x20623f['aOwXD'](runDeviceAuthFlow),_0x534f98=await getCurrentUser(_0x35a51c);_0x534f98[_0x4f1ca8(0x14b)]?console[_0x4f1ca8(0x145)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x534f98[_0x4f1ca8(0x14f)]['organizationName']):console['log']('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x48f0a0){throw new Error(_0x4f1ca8(0x142)+(_0x20623f['eaTWi'](_0x48f0a0,Error)?_0x48f0a0['message']:_0x48f0a0));}}
@@ -1 +1 @@
1
- (function(_0x525029,_0x31bade){const _0x705dc3=_0x21c4,_0x34cfc1=_0x525029();while(!![]){try{const _0x33dc7b=-parseInt(_0x705dc3(0x191))/0x1*(parseInt(_0x705dc3(0x1a4))/0x2)+-parseInt(_0x705dc3(0x1ab))/0x3*(parseInt(_0x705dc3(0x19a))/0x4)+-parseInt(_0x705dc3(0x19e))/0x5*(-parseInt(_0x705dc3(0x19b))/0x6)+-parseInt(_0x705dc3(0x1a6))/0x7*(-parseInt(_0x705dc3(0x1a8))/0x8)+-parseInt(_0x705dc3(0x192))/0x9+-parseInt(_0x705dc3(0x187))/0xa+-parseInt(_0x705dc3(0x1a5))/0xb*(-parseInt(_0x705dc3(0x18e))/0xc);if(_0x33dc7b===_0x31bade)break;else _0x34cfc1['push'](_0x34cfc1['shift']());}catch(_0x43e156){_0x34cfc1['push'](_0x34cfc1['shift']());}}}(_0x4827,0x9f1ab));import{join}from'path';import{existsSync}from'fs';import _0x4bbf62 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(_0x3b151d){const _0x231852=_0x21c4,_0x49f882={'nomZS':function(_0x371e68,_0x21dea3){return _0x371e68(_0x21dea3);},'OmNmm':'.claude','pyNjE':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','jskCQ':'pluginScope','zNTMw':'user','naLuG':'project','UiDGJ':'plugin','XxWCl':_0x231852(0x1a0),'xQdGJ':_0x231852(0x199),'bDeIF':_0x231852(0x18a),'ANzvN':function(_0x2b7e15,_0x3895a4){return _0x2b7e15(_0x3895a4);},'eTWhC':_0x231852(0x183),'nwMZG':'enable','UvKah':function(_0x2ce0e3,_0x1036ac,_0x403677){return _0x2ce0e3(_0x1036ac,_0x403677);},'fgbkY':'⚠\x20Failed\x20to\x20enable\x20plugin:'},_0x5523fb=await isPluginInstalled(_0x231852(0x1b0));if(_0x5523fb)return console['log'](_0x231852(0x186)),![];const _0xedc347=_0x49f882['nomZS'](existsSync,join(getProjectRoot(),_0x49f882[_0x231852(0x1b2)]));let _0x2817c9;if(_0x3b151d)_0x2817c9=_0x3b151d;else{if(_0xedc347)_0x2817c9=_0x231852(0x18d);else{console[_0x231852(0x189)](_0x49f882['pyNjE']);const _0x38e36d=await _0x4bbf62[_0x231852(0x19d)]([{'type':_0x231852(0x19f),'name':_0x49f882['jskCQ'],'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x231852(0x194),'value':_0x49f882['zNTMw']},{'name':_0x231852(0x1ae),'value':_0x49f882['naLuG']}],'default':_0x49f882['zNTMw']}]);_0x2817c9=_0x38e36d['pluginScope'];}}console[_0x231852(0x189)](_0x231852(0x1a3)+_0x2817c9+_0x231852(0x1af));const _0x28ea81=await isMarketplaceAdded('trailhead');let _0x15c091=_0x28ea81;if(_0x28ea81)console['log'](_0x231852(0x17e));else{const _0x41b6d9=await runClaudeCommand([_0x49f882['UiDGJ'],'marketplace','add',_0x49f882['XxWCl']]);!_0x41b6d9[_0x231852(0x18c)]?(console['error'](_0x49f882['xQdGJ'],_0x41b6d9[_0x231852(0x1b3)]),console[_0x231852(0x189)](_0x49f882[_0x231852(0x1b1)]),console[_0x231852(0x189)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x231852(0x189)](_0x231852(0x1a7)+_0x2817c9)):_0x15c091=!![];}if(_0x15c091){const _0x259743=await _0x49f882[_0x231852(0x1a2)](runClaudeCommand,[_0x49f882[_0x231852(0x1a1)],'install',_0x231852(0x1b0),_0x49f882['eTWhC'],_0x2817c9]);if(!_0x259743[_0x231852(0x18c)])console['error']('❌\x20Failed\x20to\x20install\x20plugin:',_0x259743[_0x231852(0x1b3)]),console['log'](_0x49f882[_0x231852(0x1b1)]),console['log'](_0x231852(0x1a7)+_0x2817c9);else{console[_0x231852(0x189)]('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x50eb49=[_0x49f882['UiDGJ'],_0x49f882[_0x231852(0x182)],'ranger@trailhead'];_0x2817c9===_0x49f882[_0x231852(0x196)]&&_0x50eb49['push'](_0x49f882['eTWhC'],'project');const _0x1ccc62=await _0x49f882[_0x231852(0x184)](runClaudeCommand,_0x50eb49,{'captureOutput':!![]}),_0xd26bee=_0x1ccc62[_0x231852(0x195)]?.['includes'](_0x231852(0x188));!_0x1ccc62[_0x231852(0x18c)]&&!_0xd26bee?console[_0x231852(0x1b3)](_0x49f882[_0x231852(0x180)],_0x1ccc62['error']):console['log']('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}function _0x21c4(_0x30ab97,_0x1a7192){_0x30ab97=_0x30ab97-0x17e;const _0x482750=_0x4827();let _0x21c427=_0x482750[_0x30ab97];return _0x21c427;}export async function ensureClaudeSkills(_0x4df561){const _0x439995=_0x21c4,_0x534e66={'CuvGv':function(_0x172338,_0x2a07f2){return _0x172338(_0x2a07f2);},'rcrxh':function(_0x5640b4,_0x5420a4,_0x3d44a9,_0x4ee54f){return _0x5640b4(_0x5420a4,_0x3d44a9,_0x4ee54f);},'GNEDO':_0x439995(0x17f),'uHNuH':function(_0x404768,_0x18cd76){return _0x404768(_0x18cd76);},'Ymvqj':function(_0x443d16,_0x3914be){return _0x443d16||_0x3914be;},'jQRHn':_0x439995(0x190),'BIREG':function(_0x484b84,_0x5ad599,_0x22a38b){return _0x484b84(_0x5ad599,_0x22a38b);},'mMjOo':'.claude','PzHiG':'wantsSkillup','CYjwM':_0x439995(0x1aa)},_0x44b0bf=_0x534e66['CuvGv'](existsSync,_0x534e66[_0x439995(0x193)](join,_0x534e66[_0x439995(0x181)](getSkillsDir,_0x439995(0x185)),_0x534e66['GNEDO'],_0x439995(0x197))),_0x7514aa=_0x534e66['uHNuH'](existsSync,_0x534e66[_0x439995(0x193)](join,getSkillsDir('project'),_0x534e66['GNEDO'],'SKILL.md'));if(_0x534e66[_0x439995(0x1ad)](_0x44b0bf,_0x7514aa))return console[_0x439995(0x189)](_0x534e66[_0x439995(0x1a9)]),![];const _0x373dd4=existsSync(_0x534e66[_0x439995(0x19c)](join,getProjectRoot(),_0x534e66[_0x439995(0x198)]));let _0x4848fe=!![];if(_0x4df561)await _0x534e66[_0x439995(0x181)](skillup,{'autoInstall':_0x4df561,'suppressUsage':!![]});else{if(_0x373dd4)await _0x534e66[_0x439995(0x1ac)](skillup,{'autoInstall':_0x439995(0x18d),'suppressUsage':!![]});else{const _0x433e96=await _0x4bbf62[_0x439995(0x19d)]([{'type':'confirm','name':_0x534e66['PzHiG'],'message':_0x534e66[_0x439995(0x18f)],'default':!![]}]);_0x4848fe=_0x433e96[_0x439995(0x18b)],_0x4848fe&&await _0x534e66['uHNuH'](skillup,{'suppressUsage':!![]});}}return _0x4848fe;}function _0x4827(){const _0x214d01=['✓\x20Marketplace\x20already\x20added','ranger','fgbkY','CuvGv','nwMZG','--scope','UvKah','user','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','8091720dKlGFC','already\x20enabled','log','\x0aYou\x20can\x20install\x20manually\x20with:','wantsSkillup','success','project','36Wzthbz','CYjwM','✓\x20Ranger\x20skills\x20already\x20installed','329201WRnCYW','244206dBfydj','rcrxh','User\x20(available\x20in\x20all\x20your\x20projects)','output','naLuG','SKILL.md','mMjOo','❌\x20Failed\x20to\x20add\x20marketplace:','696452kmECDS','792lJHvfU','BIREG','prompt','17445IwTJoa','list','ranger-testing/trailhead','UiDGJ','ANzvN','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','2ReEoej','4674505fFQORe','895643RoPjKf','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','16OuaKNC','jQRHn','Would\x20you\x20like\x20to\x20install\x20skills?','3EPMIcg','uHNuH','Ymvqj','Project\x20(shared\x20with\x20team\x20via\x20git)','\x20level)...\x0a','ranger@trailhead','bDeIF','OmNmm','error'];_0x4827=function(){return _0x214d01;};return _0x4827();}
1
+ function _0x2bc2(){const _0x1f8856=['Where\x20should\x20the\x20plugin\x20be\x20installed?','QdSON','UJerA','error','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','ranger','112194jNTbcT','confirm','✓\x20Claude\x20Code\x20plugin\x20enabled','⚠\x20Failed\x20to\x20enable\x20plugin:','trailhead','SKILL.md','tKTbP','install','FRctX','aBBUI','WgpuX','ffLSt','189aJOwSX','14JlRYBI','ipXDB','\x0aYou\x20can\x20install\x20manually\x20with:','already\x20enabled','yIDjR','.claude','4bWMlpx','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','pluginScope','plugin','ranger@trailhead','--scope','61448DJcpnd','pyRWy','Qucnq','vXslQ','wkfyh','oYwKR','nhIKI','2433462uXINOC','user','4560870AxCKnf','User\x20(available\x20in\x20all\x20your\x20projects)','project','success','1204105tBAHtj','84425UjDIaN','log','dNyyn','❌\x20Failed\x20to\x20add\x20marketplace:','Would\x20you\x20like\x20to\x20install\x20skills?','544458iDpsDt','add'];_0x2bc2=function(){return _0x1f8856;};return _0x2bc2();}(function(_0x3240eb,_0x3844fa){const _0x5614a3=_0x1c6f,_0x5ec955=_0x3240eb();while(!![]){try{const _0x553478=parseInt(_0x5614a3(0x193))/0x1+-parseInt(_0x5614a3(0x1a9))/0x2*(-parseInt(_0x5614a3(0x19c))/0x3)+-parseInt(_0x5614a3(0x1af))/0x4*(-parseInt(_0x5614a3(0x18e))/0x5)+-parseInt(_0x5614a3(0x1bc))/0x6+parseInt(_0x5614a3(0x18d))/0x7+-parseInt(_0x5614a3(0x1b5))/0x8*(-parseInt(_0x5614a3(0x1a8))/0x9)+-parseInt(_0x5614a3(0x1be))/0xa;if(_0x553478===_0x3844fa)break;else _0x5ec955['push'](_0x5ec955['shift']());}catch(_0x2af7e9){_0x5ec955['push'](_0x5ec955['shift']());}}}(_0x2bc2,0x47f7d));import{join}from'path';import{existsSync}from'fs';import _0x13c437 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x1c6f(_0x44a4e0,_0x84ea44){_0x44a4e0=_0x44a4e0-0x18c;const _0x2bc283=_0x2bc2();let _0x1c6fbb=_0x2bc283[_0x44a4e0];return _0x1c6fbb;}export async function ensureClaudePlugin(_0x25e0fe){const _0x54ccb3=_0x1c6f,_0x19da76={'ElSWY':function(_0x2c0beb,_0x4d76f1){return _0x2c0beb(_0x4d76f1);},'aBBUI':_0x54ccb3(0x1b3),'MErsx':_0x54ccb3(0x19a),'dNyyn':function(_0x41a506,_0x35de2b){return _0x41a506(_0x35de2b);},'ipXDB':function(_0x4a0455){return _0x4a0455();},'ivoGp':_0x54ccb3(0x1b0),'oYwKR':_0x54ccb3(0x1bf),'Qucnq':'Project\x20(shared\x20with\x20team\x20via\x20git)','JwJNb':_0x54ccb3(0x1a0),'hHFuV':'✓\x20Marketplace\x20already\x20added','DqJyN':_0x54ccb3(0x194),'QdSON':'ranger-testing/trailhead','WgpuX':_0x54ccb3(0x191),'ffLSt':'\x0aYou\x20can\x20install\x20manually\x20with:','wkfyh':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','vXslQ':_0x54ccb3(0x1a3),'lKHDg':'❌\x20Failed\x20to\x20install\x20plugin:','nhIKI':_0x54ccb3(0x199),'yIDjR':_0x54ccb3(0x1b2),'OMHUC':_0x54ccb3(0x1b4),'tKTbP':_0x54ccb3(0x1ac),'VkHIj':_0x54ccb3(0x19e)},_0x26143d=await _0x19da76['ElSWY'](isPluginInstalled,_0x19da76[_0x54ccb3(0x1a5)]);if(_0x26143d)return console['log'](_0x19da76['MErsx']),![];const _0x4c741f=_0x19da76[_0x54ccb3(0x190)](existsSync,join(_0x19da76[_0x54ccb3(0x1aa)](getProjectRoot),_0x54ccb3(0x1ae)));let _0x587298;if(_0x25e0fe)_0x587298=_0x25e0fe;else{if(_0x4c741f)_0x587298='project';else{console[_0x54ccb3(0x18f)](_0x19da76['ivoGp']);const _0x394914=await _0x13c437['prompt']([{'type':'list','name':_0x54ccb3(0x1b1),'message':_0x54ccb3(0x195),'choices':[{'name':_0x19da76[_0x54ccb3(0x1ba)],'value':_0x54ccb3(0x1bd)},{'name':_0x19da76[_0x54ccb3(0x1b7)],'value':'project'}],'default':'user'}]);_0x587298=_0x394914[_0x54ccb3(0x1b1)];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x587298+'\x20level)...\x0a');const _0xcfc72a=await _0x19da76['ElSWY'](isMarketplaceAdded,_0x19da76['JwJNb']);let _0xaaf258=_0xcfc72a;if(_0xcfc72a)console[_0x54ccb3(0x18f)](_0x19da76['hHFuV']);else{const _0x26e278=await runClaudeCommand([_0x54ccb3(0x1b2),'marketplace',_0x19da76['DqJyN'],_0x19da76[_0x54ccb3(0x196)]]);!_0x26e278[_0x54ccb3(0x18c)]?(console[_0x54ccb3(0x198)](_0x19da76[_0x54ccb3(0x1a6)],_0x26e278[_0x54ccb3(0x198)]),console['log'](_0x19da76[_0x54ccb3(0x1a7)]),console['log'](_0x19da76[_0x54ccb3(0x1b9)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x587298)):_0xaaf258=!![];}if(_0xaaf258){const _0x4af3e2=await runClaudeCommand([_0x54ccb3(0x1b2),_0x19da76[_0x54ccb3(0x1b8)],_0x19da76[_0x54ccb3(0x1a5)],_0x54ccb3(0x1b4),_0x587298]);if(!_0x4af3e2[_0x54ccb3(0x18c)])console['error'](_0x19da76['lKHDg'],_0x4af3e2[_0x54ccb3(0x198)]),console[_0x54ccb3(0x18f)](_0x54ccb3(0x1ab)),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x587298);else{console[_0x54ccb3(0x18f)](_0x19da76[_0x54ccb3(0x1bb)]);const _0x2b31c2=[_0x19da76[_0x54ccb3(0x1ad)],'enable',_0x54ccb3(0x1b3)];_0x587298==='project'&&_0x2b31c2['push'](_0x19da76['OMHUC'],_0x54ccb3(0x1c0));const _0x2a06df=await runClaudeCommand(_0x2b31c2,{'captureOutput':!![]}),_0x4da6f6=_0x2a06df['output']?.['includes'](_0x19da76[_0x54ccb3(0x1a2)]);!_0x2a06df[_0x54ccb3(0x18c)]&&!_0x4da6f6?console['error'](_0x54ccb3(0x19f),_0x2a06df[_0x54ccb3(0x198)]):console['log'](_0x19da76['VkHIj']);}}return!![];}export async function ensureClaudeSkills(_0xa031b){const _0x1dd171=_0x1c6f,_0x56b0db={'ETcJz':function(_0x3f1212,_0x403886){return _0x3f1212(_0x403886);},'FRctX':function(_0x5f0fba,_0x26d18a){return _0x5f0fba(_0x26d18a);},'yOTJq':function(_0x48dffa,_0x538618){return _0x48dffa(_0x538618);},'SmIHO':'project','GSYfj':_0x1dd171(0x19b),'pyRWy':'✓\x20Ranger\x20skills\x20already\x20installed','hkAKt':function(_0x46d2a4,_0x32bbb7){return _0x46d2a4(_0x32bbb7);},'UJerA':_0x1dd171(0x19d),'wqser':'wantsSkillup'},_0x31111c=_0x56b0db['ETcJz'](existsSync,join(_0x56b0db[_0x1dd171(0x1a4)](getSkillsDir,_0x1dd171(0x1bd)),'ranger','SKILL.md')),_0x2b8e22=_0x56b0db['yOTJq'](existsSync,join(getSkillsDir(_0x56b0db['SmIHO']),_0x56b0db['GSYfj'],_0x1dd171(0x1a1)));if(_0x31111c||_0x2b8e22)return console['log'](_0x56b0db[_0x1dd171(0x1b6)]),![];const _0x40a76c=_0x56b0db['yOTJq'](existsSync,join(getProjectRoot(),_0x1dd171(0x1ae)));let _0x13e6a8=!![];if(_0xa031b)await skillup({'autoInstall':_0xa031b,'suppressUsage':!![]});else{if(_0x40a76c)await _0x56b0db['hkAKt'](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0x1305d7=await _0x13c437['prompt']([{'type':_0x56b0db[_0x1dd171(0x197)],'name':_0x56b0db['wqser'],'message':_0x1dd171(0x192),'default':!![]}]);_0x13e6a8=_0x1305d7['wantsSkillup'],_0x13e6a8&&await skillup({'suppressUsage':!![]});}}return _0x13e6a8;}
@@ -1 +1 @@
1
- function _0x59d0(){const _0x2addfd=['user','lVlxn','$schema','Where\x20should\x20the\x20plugin\x20be\x20installed?','23575830ANJHSG','User\x20(available\x20in\x20all\x20your\x20projects)','11904416hzPlAx','UtwPS','error','isArray','11RVWxib','ZFMjt','parse','pluginScope','list','48002GzDdkw','UARzO','ocxez','9XnIJMy','15668XucKmO','✓\x20OpenCode\x20plugin\x20already\x20configured','1945botddF','SpAdZ','\x0a📦\x20OpenCode\x20Plugin\x0a','5148834TgRZwx','5247025VVvoOB','https://opencode.ai/config.json','opencode.json','prompt','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','4bKLBXZ','3270066cWfVVc','@ranger-testing/opencode-plugin'];_0x59d0=function(){return _0x2addfd;};return _0x59d0();}function _0x1869(_0x20c71a,_0x3e9a20){_0x20c71a=_0x20c71a-0x155;const _0x59d03b=_0x59d0();let _0x1869d4=_0x59d03b[_0x20c71a];return _0x1869d4;}(function(_0x338b81,_0x3e1998){const _0x4f5363=_0x1869,_0x412adf=_0x338b81();while(!![]){try{const _0x2d1713=parseInt(_0x4f5363(0x175))/0x1*(-parseInt(_0x4f5363(0x166))/0x2)+parseInt(_0x4f5363(0x16f))/0x3+parseInt(_0x4f5363(0x16a))/0x4*(parseInt(_0x4f5363(0x16c))/0x5)+-parseInt(_0x4f5363(0x155))/0x6+-parseInt(_0x4f5363(0x170))/0x7+parseInt(_0x4f5363(0x15d))/0x8*(parseInt(_0x4f5363(0x169))/0x9)+parseInt(_0x4f5363(0x15b))/0xa*(-parseInt(_0x4f5363(0x161))/0xb);if(_0x2d1713===_0x3e1998)break;else _0x412adf['push'](_0x412adf['shift']());}catch(_0x3b2ecb){_0x412adf['push'](_0x412adf['shift']());}}}(_0x59d0,0xef39e));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x101ee2 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x3270bf){const _0x2ec15c=_0x1869,_0x56256d={'UARzO':function(_0x78ac97,_0x3090f0){return _0x78ac97(_0x3090f0);},'ZFMjt':function(_0x383fd2,_0x4e0343,_0x408fdf){return _0x383fd2(_0x4e0343,_0x408fdf);},'SpAdZ':'project','ocxez':_0x2ec15c(0x164),'UtwPS':_0x2ec15c(0x15a),'ouvFd':'Project\x20(shared\x20with\x20team\x20via\x20git)','OvGJt':'user','pclTX':_0x2ec15c(0x156),'bNLNU':_0x2ec15c(0x174),'lVlxn':'Failed\x20to\x20read\x20opencode.json','EzyfF':'✓\x20OpenCode\x20plugin\x20configured'},_0x25147d=_0x56256d[_0x2ec15c(0x167)](existsSync,_0x56256d['ZFMjt'](join,getOpencodeConfigDir(_0x56256d[_0x2ec15c(0x16d)]),_0x2ec15c(0x172)));let _0x33ff23;if(_0x3270bf)_0x33ff23=_0x3270bf;else{if(_0x25147d)_0x33ff23=_0x56256d['SpAdZ'];else{console['log'](_0x2ec15c(0x16e));const _0x2847e0=await _0x101ee2[_0x2ec15c(0x173)]([{'type':_0x2ec15c(0x165),'name':_0x56256d[_0x2ec15c(0x168)],'message':_0x56256d[_0x2ec15c(0x15e)],'choices':[{'name':_0x2ec15c(0x15c),'value':_0x2ec15c(0x157)},{'name':_0x56256d['ouvFd'],'value':_0x56256d[_0x2ec15c(0x16d)]}],'default':_0x56256d['OvGJt']}]);_0x33ff23=_0x2847e0[_0x2ec15c(0x164)];}}const _0x3fc817=join(getOpencodeConfigDir(_0x33ff23),_0x2ec15c(0x172)),_0x155904=_0x56256d['pclTX'],_0x2f5bde=_0x2ec15c(0x171);let _0x2be546={};if(existsSync(_0x3fc817))try{const _0x1fdce8=await _0x56256d['ZFMjt'](readFile,_0x3fc817,'utf-8');_0x2be546=JSON[_0x2ec15c(0x163)](_0x1fdce8);}catch(_0x17abc6){return console[_0x2ec15c(0x15f)](_0x56256d['bNLNU']),{'configured':![],'scope':_0x33ff23,'error':_0x56256d[_0x2ec15c(0x158)],'details':_0x17abc6};}const _0x23aa42=Array[_0x2ec15c(0x160)](_0x2be546['plugin'])?_0x2be546['plugin']:[];if(_0x23aa42['includes'](_0x155904))return console['log'](_0x2ec15c(0x16b)),{'configured':![],'scope':_0x33ff23};return _0x2be546[_0x2ec15c(0x159)]=_0x2be546['$schema']||_0x2f5bde,_0x2be546['plugin']=[..._0x23aa42,_0x155904],await mkdir(_0x56256d[_0x2ec15c(0x167)](getOpencodeConfigDir,_0x33ff23),{'recursive':!![]}),await _0x56256d[_0x2ec15c(0x162)](writeFile,_0x3fc817,JSON['stringify'](_0x2be546,null,0x2)+'\x0a'),console['log'](_0x56256d['EzyfF']),{'configured':!![],'scope':_0x33ff23};}
1
+ function _0x5111(_0x5b2b7d,_0x8ef34b){_0x5b2b7d=_0x5b2b7d-0x1e7;const _0x4539b4=_0x4539();let _0x511173=_0x4539b4[_0x5b2b7d];return _0x511173;}(function(_0x5e30c3,_0x3e3f68){const _0x4137ad=_0x5111,_0x11491f=_0x5e30c3();while(!![]){try{const _0x22bb05=parseInt(_0x4137ad(0x1fb))/0x1*(-parseInt(_0x4137ad(0x1ee))/0x2)+-parseInt(_0x4137ad(0x1f1))/0x3+parseInt(_0x4137ad(0x207))/0x4+-parseInt(_0x4137ad(0x202))/0x5+-parseInt(_0x4137ad(0x1f2))/0x6*(-parseInt(_0x4137ad(0x1f0))/0x7)+parseInt(_0x4137ad(0x1f8))/0x8*(-parseInt(_0x4137ad(0x1fe))/0x9)+parseInt(_0x4137ad(0x1f5))/0xa*(parseInt(_0x4137ad(0x205))/0xb);if(_0x22bb05===_0x3e3f68)break;else _0x11491f['push'](_0x11491f['shift']());}catch(_0x3b8864){_0x11491f['push'](_0x11491f['shift']());}}}(_0x4539,0xc3a55));function _0x4539(){const _0xea1048=['parse','hWuNA','9ysxDQp','plugin','FXAvb','Failed\x20to\x20read\x20opencode.json','6244820Vawhez','lcrTb','User\x20(available\x20in\x20all\x20your\x20projects)','11VHztTy','✓\x20OpenCode\x20plugin\x20already\x20configured','687804AdZiFS','$schema','wItVq','OMCON','nScyY','stringify','log','project','16fDXUwA','LCVfU','28lGjFnu','335436kmPgci','148362OGnKjt','@ranger-testing/opencode-plugin','Where\x20should\x20the\x20plugin\x20be\x20installed?','28881530cSCsym','QgyEN','https://opencode.ai/config.json','6897592NKXpaZ','error','OhCAX','16834XJxCPo'];_0x4539=function(){return _0xea1048;};return _0x4539();}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x533205 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x36e6e2){const _0x1b68a6=_0x5111,_0x237d96={'QgyEN':function(_0x11ca08,_0x3b14ed){return _0x11ca08(_0x3b14ed);},'nScyY':_0x1b68a6(0x1ed),'qGqyT':'\x0a📦\x20OpenCode\x20Plugin\x0a','qZzQS':'list','LCVfU':'pluginScope','vIcgI':_0x1b68a6(0x204),'lcrTb':'user','fFctU':'Project\x20(shared\x20with\x20team\x20via\x20git)','lbOwS':function(_0x108da6,_0x54e977){return _0x108da6(_0x54e977);},'wItVq':'utf-8','FXAvb':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','OhCAX':_0x1b68a6(0x201),'hWuNA':function(_0x14c559,_0x473c6f){return _0x14c559(_0x473c6f);},'OMCON':function(_0x589356,_0x57974d,_0x488348){return _0x589356(_0x57974d,_0x488348);}},_0x1fbe8b=_0x237d96[_0x1b68a6(0x1f6)](existsSync,join(_0x237d96[_0x1b68a6(0x1f6)](getOpencodeConfigDir,_0x237d96[_0x1b68a6(0x1ea)]),'opencode.json'));let _0x47e54f;if(_0x36e6e2)_0x47e54f=_0x36e6e2;else{if(_0x1fbe8b)_0x47e54f=_0x1b68a6(0x1ed);else{console[_0x1b68a6(0x1ec)](_0x237d96['qGqyT']);const _0x59e005=await _0x533205['prompt']([{'type':_0x237d96['qZzQS'],'name':_0x237d96[_0x1b68a6(0x1ef)],'message':_0x1b68a6(0x1f4),'choices':[{'name':_0x237d96['vIcgI'],'value':_0x237d96[_0x1b68a6(0x203)]},{'name':_0x237d96['fFctU'],'value':_0x1b68a6(0x1ed)}],'default':_0x237d96[_0x1b68a6(0x203)]}]);_0x47e54f=_0x59e005['pluginScope'];}}const _0x427f5d=join(getOpencodeConfigDir(_0x47e54f),'opencode.json'),_0x2c719e=_0x1b68a6(0x1f3),_0x20bbd9=_0x1b68a6(0x1f7);let _0x4fe04e={};if(_0x237d96['lbOwS'](existsSync,_0x427f5d))try{const _0x5b9ff9=await readFile(_0x427f5d,_0x237d96[_0x1b68a6(0x1e8)]);_0x4fe04e=JSON[_0x1b68a6(0x1fc)](_0x5b9ff9);}catch(_0x345146){return console[_0x1b68a6(0x1f9)](_0x237d96[_0x1b68a6(0x200)]),{'configured':![],'scope':_0x47e54f,'error':_0x237d96[_0x1b68a6(0x1fa)],'details':_0x345146};}const _0x129899=Array['isArray'](_0x4fe04e[_0x1b68a6(0x1ff)])?_0x4fe04e['plugin']:[];if(_0x129899['includes'](_0x2c719e))return console['log'](_0x1b68a6(0x206)),{'configured':![],'scope':_0x47e54f};return _0x4fe04e[_0x1b68a6(0x1e7)]=_0x4fe04e[_0x1b68a6(0x1e7)]||_0x20bbd9,_0x4fe04e[_0x1b68a6(0x1ff)]=[..._0x129899,_0x2c719e],await mkdir(_0x237d96[_0x1b68a6(0x1fd)](getOpencodeConfigDir,_0x47e54f),{'recursive':!![]}),await _0x237d96[_0x1b68a6(0x1e9)](writeFile,_0x427f5d,JSON[_0x1b68a6(0x1eb)](_0x4fe04e,null,0x2)+'\x0a'),console['log']('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x47e54f};}
@@ -1 +1 @@
1
- (function(_0x42f804,_0x44e081){const _0xa03729=_0xb503,_0x5a02e0=_0x42f804();while(!![]){try{const _0x579880=-parseInt(_0xa03729(0x208))/0x1+parseInt(_0xa03729(0x20d))/0x2*(parseInt(_0xa03729(0x1d7))/0x3)+-parseInt(_0xa03729(0x1e1))/0x4*(-parseInt(_0xa03729(0x1e3))/0x5)+parseInt(_0xa03729(0x1f0))/0x6*(parseInt(_0xa03729(0x1ed))/0x7)+parseInt(_0xa03729(0x1e5))/0x8*(-parseInt(_0xa03729(0x1df))/0x9)+-parseInt(_0xa03729(0x205))/0xa*(parseInt(_0xa03729(0x1f8))/0xb)+parseInt(_0xa03729(0x1d4))/0xc*(parseInt(_0xa03729(0x1fa))/0xd);if(_0x579880===_0x44e081)break;else _0x5a02e0['push'](_0x5a02e0['shift']());}catch(_0x37c03a){_0x5a02e0['push'](_0x5a02e0['shift']());}}}(_0x4385,0xf1c28));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';function _0x4385(){const _0x40a17d=['RSWUN','skipChromium','66xLhmRb','SRQdA','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','VUTfW','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','profile','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','VFFVr','11CqdQUK','mwNls','78SSakgf','ASMOR','Failed\x20to\x20add\x20marketplace:','egYwi','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','plugin','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','Voypv','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','add','15360070Xckwbw','CtGQa','✓\x20Marketplace\x20already\x20added','1536319CwUNXV','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','veKwG','success','551310VEencY','VNuTB','name','message','tBUVQ','trackPhaseStart','yoHTW','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','sessions','auth','chromium','ksDrw','yhmJN','path','log','2971884PlAvNR','✓\x20Claude\x20Code\x20plugin\x20installed','Failed\x20to\x20install\x20plugin:','15jmuejt','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','project','vkkLV','trackPhaseEnd','KOJiz','ssEKw','profile_activate','387ytrwmT','kVAyX','5399636dKwfZB','VmZUR','5Difvvx','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','187048sHXpmE','dir_setup','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','ranger@trailhead','auth.json.enc','error','marketplace','baseUrl','543347cAWDYt'];_0x4385=function(){return _0x40a17d;};return _0x4385();}async function findCiProfile(_0x4e95de){const _0x269c91=_0xb503,_0x4a254b={'VmZUR':function(_0x105740){return _0x105740();},'KOJiz':function(_0x531462,_0x29f123,_0x1c55a4){return _0x531462(_0x29f123,_0x1c55a4);},'yhmJN':function(_0x592e56,_0x3c0e87){return _0x592e56(_0x3c0e87);},'VNuTB':function(_0x8b35c3,_0x3c5937){return _0x8b35c3+_0x3c5937;},'VFFVr':function(_0x2a1113,_0x555c78){return _0x2a1113===_0x555c78;},'yoHTW':function(_0x279bb4,_0xeea335){return _0x279bb4===_0xeea335;},'RSWUN':function(_0x2d562e,_0x4fb849,_0x209674){return _0x2d562e(_0x4fb849,_0x209674);}},_0x5c2fb3=_0x4a254b[_0x269c91(0x1e2)](getRangerDir),_0xa2b096=_0x4a254b[_0x269c91(0x1dc)](join,_0x5c2fb3,'ci');if(_0x4e95de){const _0x357cc5=join(_0xa2b096,_0x4e95de);return{'name':_0x4e95de,'path':_0x357cc5};}if(!_0x4a254b[_0x269c91(0x1d1)](existsSync,_0xa2b096))throw new Error(_0x4a254b[_0x269c91(0x20e)](_0x269c91(0x201),'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.'));const _0x34a975=await _0x4a254b[_0x269c91(0x1dc)](readdir,_0xa2b096,{'withFileTypes':!![]}),_0x5ef345=_0x34a975['filter'](_0x2ecef9=>_0x2ecef9['isDirectory']())['map'](_0x4735b3=>_0x4735b3[_0x269c91(0x20f)]);if(_0x4a254b[_0x269c91(0x1f7)](_0x5ef345['length'],0x0))throw new Error(_0x269c91(0x1f6)+_0x269c91(0x1f4));if(_0x4a254b[_0x269c91(0x213)](_0x5ef345['length'],0x1)){const _0x128046=_0x5ef345[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x128046),{'name':_0x128046,'path':_0x4a254b[_0x269c91(0x1ee)](join,_0xa2b096,_0x128046)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x5ef345['join'](',\x20')+_0x269c91(0x200));}async function installPluginNonInteractive(){const _0xbd791=_0xb503,_0x5d37a1={'ekyTU':function(_0x440181,_0x1f6736){return _0x440181(_0x1f6736);},'frRgp':_0xbd791(0x1e7),'ssEKw':_0xbd791(0x207),'veKwG':'plugin','qwSWV':_0xbd791(0x203),'vkkLV':'--scope','YFNWa':'project','kVAyX':_0xbd791(0x1d6)},_0x5c49b7=await _0x5d37a1['ekyTU'](isPluginInstalled,_0xbd791(0x1e8));if(_0x5c49b7)return console[_0xbd791(0x1d3)](_0x5d37a1['frRgp']),![];console[_0xbd791(0x1d3)](_0xbd791(0x209));const _0x54e88d=await _0x5d37a1['ekyTU'](isMarketplaceAdded,'trailhead');let _0xf75427=_0x54e88d;if(_0x54e88d)console['log'](_0x5d37a1[_0xbd791(0x1dd)]);else{const _0x459f32=await runClaudeCommand([_0x5d37a1[_0xbd791(0x20b)],_0xbd791(0x1eb),_0xbd791(0x204),'ranger-testing/trailhead']);!_0x459f32['success']?(console['error'](_0xbd791(0x1fc),_0x459f32[_0xbd791(0x1ea)]),console['log'](_0x5d37a1['qwSWV'])):_0xf75427=!![];}if(_0xf75427){const _0x10941c=await runClaudeCommand([_0xbd791(0x1ff),'install','ranger@trailhead',_0x5d37a1[_0xbd791(0x1da)],_0x5d37a1['YFNWa']]);!_0x10941c[_0xbd791(0x20c)]?(console['error'](_0x5d37a1[_0xbd791(0x1e0)],_0x10941c['error']),console[_0xbd791(0x1d3)](_0xbd791(0x1e4))):console[_0xbd791(0x1d3)](_0xbd791(0x1d5));}return!![];}function _0xb503(_0xf6a6ff,_0x2ee8a8){_0xf6a6ff=_0xf6a6ff-0x1ce;const _0x438546=_0x4385();let _0xb50313=_0x438546[_0xf6a6ff];return _0xb50313;}export async function setupCi(_0x29186a,_0x355743,_0x3d6bae){const _0x282e83=_0xb503,_0x599a22={'WLRrf':_0x282e83(0x214),'NYBpO':_0x282e83(0x1ce),'Voypv':function(_0x1d448b){return _0x1d448b();},'SKKJS':function(_0x368345,_0x172ff6,_0x2e6186){return _0x368345(_0x172ff6,_0x2e6186);},'CtGQa':_0x282e83(0x215),'DBybm':function(_0x4a7f76,_0x1dda51){return _0x4a7f76(_0x1dda51);},'YdDgM':_0x282e83(0x1e6),'ASMOR':_0x282e83(0x1cf),'SRQdA':function(_0x4311ab){return _0x4311ab();},'mwNls':'auth.json','LnXuK':'No\x20API\x20token\x20available\x20for\x20decryption','mcTRQ':'✓\x20Auth\x20state\x20found','ksDrw':'plugin','egYwi':'skills','tBUVQ':function(_0x3b4c96,_0x7e263b){return _0x3b4c96(_0x7e263b);},'VUTfW':_0x282e83(0x1f2)};console['log'](_0x599a22['WLRrf']),_0x3d6bae?.[_0x282e83(0x212)](_0x282e83(0x1ce)),await authenticate(_0x29186a),_0x3d6bae?.['trackPhaseEnd'](_0x599a22['NYBpO']),_0x3d6bae?.[_0x282e83(0x212)](_0x282e83(0x1e6));const {path:_0x344606,installed:_0x5ca53f}=await _0x599a22[_0x282e83(0x202)](ensureRangerDir);await writeRangerGitignore(_0x344606);const _0x5a5a6f=_0x599a22['SKKJS'](join,_0x344606,_0x599a22[_0x282e83(0x206)]);!_0x599a22['DBybm'](existsSync,_0x5a5a6f)&&await mkdir(_0x5a5a6f,{'recursive':!![]});_0x3d6bae?.[_0x282e83(0x1db)](_0x599a22['YdDgM'],{'installed':_0x5ca53f}),_0x3d6bae?.['trackPhaseStart'](_0x599a22['ASMOR']);let _0x3604b0=![];_0x355743?.[_0x282e83(0x1ef)]?console['log'](_0x282e83(0x20a)):_0x3604b0=await _0x599a22[_0x282e83(0x1f1)](ensureChromium);_0x3d6bae?.[_0x282e83(0x1db)](_0x599a22[_0x282e83(0x1fb)],{'installed':_0x3604b0,'skipped':!!_0x355743?.[_0x282e83(0x1ef)]}),_0x3d6bae?.[_0x282e83(0x212)](_0x282e83(0x1de));const _0x4dc6c0=await _0x599a22['DBybm'](findCiProfile,_0x355743?.[_0x282e83(0x1f5)]);let _0x3b1de4=![];_0x355743?.[_0x282e83(0x1ec)]&&(await mkdir(_0x4dc6c0['path'],{'recursive':!![]}),await saveSettings(_0x4dc6c0['name'],{'baseUrl':_0x355743['baseUrl'],'headless':!![]}),console['log']('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x355743['baseUrl']),_0x3b1de4=!![]);const _0x1d9419=join(_0x4dc6c0['path'],'settings.json');if(!existsSync(_0x1d9419)&&!_0x3b1de4)throw new Error('CI\x20profile\x20\x22'+_0x4dc6c0['name']+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x200396=_0x599a22['SKKJS'](join,_0x4dc6c0[_0x282e83(0x1d2)],_0x599a22[_0x282e83(0x1f9)]),_0x44bf1a=join(_0x4dc6c0[_0x282e83(0x1d2)],_0x282e83(0x1e9)),_0x5d8b96=existsSync(_0x200396),_0x301957=existsSync(_0x44bf1a);if(_0x301957)try{const _0x2cda64=await getToken();if(!_0x2cda64)throw new Error(_0x599a22['LnXuK']);const _0x15b490=await readFile(_0x44bf1a);_0x599a22['SKKJS'](decrypt,_0x15b490,_0x2cda64),console[_0x282e83(0x1d3)](_0x282e83(0x1fe));}catch(_0x1fba59){const _0x5c35c0=_0x1fba59 instanceof Error?_0x1fba59[_0x282e83(0x210)]:String(_0x1fba59);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x4dc6c0['name']+'\x22:\x20'+_0x5c35c0);}else _0x5d8b96?console['log'](_0x599a22['mcTRQ']):console['log'](_0x282e83(0x1d8));await writeActiveProfileName(_0x4dc6c0[_0x282e83(0x20f)]),console['log']('✓\x20Active\x20profile:\x20'+_0x4dc6c0[_0x282e83(0x20f)]),_0x3d6bae?.['trackPhaseEnd'](_0x282e83(0x1de),{'profileName':_0x4dc6c0[_0x282e83(0x20f)],'hasAuth':_0x5d8b96,'hasEncryptedAuth':_0x301957,'createdSettings':_0x3b1de4}),_0x3d6bae?.['trackPhaseStart'](_0x599a22[_0x282e83(0x1d0)]);const _0x547d5b=await _0x599a22['Voypv'](installPluginNonInteractive);_0x3d6bae?.[_0x282e83(0x1db)](_0x282e83(0x1ff),{'installed':_0x547d5b}),_0x3d6bae?.[_0x282e83(0x212)](_0x599a22[_0x282e83(0x1fd)]),await _0x599a22[_0x282e83(0x211)](skillup,{'autoInstall':_0x282e83(0x1d9)}),_0x3d6bae?.['trackPhaseEnd'](_0x599a22['egYwi']),console['log'](_0x599a22[_0x282e83(0x1f3)]);}
1
+ (function(_0x4dc48d,_0x51983e){const _0x4aef3d=_0x4852,_0x28da7f=_0x4dc48d();while(!![]){try{const _0x2dca89=-parseInt(_0x4aef3d(0x8b))/0x1+-parseInt(_0x4aef3d(0xa0))/0x2*(parseInt(_0x4aef3d(0x78))/0x3)+parseInt(_0x4aef3d(0x92))/0x4*(parseInt(_0x4aef3d(0x75))/0x5)+parseInt(_0x4aef3d(0x6b))/0x6+parseInt(_0x4aef3d(0x8d))/0x7+-parseInt(_0x4aef3d(0x70))/0x8+parseInt(_0x4aef3d(0x87))/0x9;if(_0x2dca89===_0x51983e)break;else _0x28da7f['push'](_0x28da7f['shift']());}catch(_0x520f88){_0x28da7f['push'](_0x28da7f['shift']());}}}(_0x2972,0x83b19));function _0x4852(_0x41eff7,_0x2cafc4){_0x41eff7=_0x41eff7-0x69;const _0x297216=_0x2972();let _0x48522f=_0x297216[_0x41eff7];return _0x48522f;}import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x1d3f53){const _0x224a17=_0x4852,_0x2fdc32={'NoDzF':function(_0x2f19d8){return _0x2f19d8();},'Omuur':function(_0x426682,_0x15e820){return _0x426682(_0x15e820);},'EsVdI':function(_0x1e82ff,_0x7f8cff){return _0x1e82ff+_0x7f8cff;},'ggVrc':'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','VKiUr':'No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a'},_0x1161ac=_0x2fdc32['NoDzF'](getRangerDir),_0x18e5a1=join(_0x1161ac,'ci');if(_0x1d3f53){const _0x5a8c54=join(_0x18e5a1,_0x1d3f53);return{'name':_0x1d3f53,'path':_0x5a8c54};}if(!_0x2fdc32['Omuur'](existsSync,_0x18e5a1))throw new Error(_0x2fdc32[_0x224a17(0xa1)](_0x224a17(0x95),_0x2fdc32['ggVrc']));const _0x45e297=await readdir(_0x18e5a1,{'withFileTypes':!![]}),_0x4a228b=_0x45e297['filter'](_0x1a76b3=>_0x1a76b3[_0x224a17(0x7c)]())['map'](_0x97495e=>_0x97495e['name']);if(_0x4a228b[_0x224a17(0x9f)]===0x0)throw new Error(_0x2fdc32['VKiUr']+_0x224a17(0x91));if(_0x4a228b['length']===0x1){const _0x2ea7c9=_0x4a228b[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x2ea7c9),{'name':_0x2ea7c9,'path':join(_0x18e5a1,_0x2ea7c9)};}throw new Error(_0x224a17(0x94)+_0x4a228b['join'](',\x20')+_0x224a17(0x80));}async function installPluginNonInteractive(){const _0x28624c=_0x4852,_0x1e13cb={'mlqQg':_0x28624c(0x7f),'CLxYj':function(_0x97cbfa,_0x4136a0){return _0x97cbfa(_0x4136a0);},'bJXiq':'install','eYZZu':'--scope','YwTjw':_0x28624c(0x7d),'oSxSy':_0x28624c(0x93),'gWcFR':_0x28624c(0x77)},_0x435054=await isPluginInstalled(_0x1e13cb['mlqQg']);if(_0x435054)return console[_0x28624c(0x89)](_0x28624c(0x9d)),![];console[_0x28624c(0x89)](_0x28624c(0x96));const _0x561a01=await isMarketplaceAdded(_0x28624c(0x83));let _0x4c9215=_0x561a01;if(_0x561a01)console[_0x28624c(0x89)](_0x28624c(0x79));else{const _0x4d81b7=await _0x1e13cb['CLxYj'](runClaudeCommand,['plugin','marketplace','add','ranger-testing/trailhead']);!_0x4d81b7['success']?(console['error']('Failed\x20to\x20add\x20marketplace:',_0x4d81b7[_0x28624c(0x85)]),console[_0x28624c(0x89)](_0x28624c(0x6f))):_0x4c9215=!![];}if(_0x4c9215){const _0x1af7b3=await _0x1e13cb[_0x28624c(0x9c)](runClaudeCommand,['plugin',_0x1e13cb['bJXiq'],'ranger@trailhead',_0x1e13cb[_0x28624c(0x6e)],_0x1e13cb[_0x28624c(0x7b)]]);!_0x1af7b3[_0x28624c(0x7a)]?(console['error'](_0x1e13cb['oSxSy'],_0x1af7b3[_0x28624c(0x85)]),console[_0x28624c(0x89)](_0x1e13cb[_0x28624c(0x6d)])):console['log'](_0x28624c(0x74));}return!![];}export async function setupCi(_0x11e768,_0x4c36fe,_0x1d199e){const _0x5257b0=_0x4852,_0x56eeff={'pWBYS':'auth','dvlwv':function(_0x5c2ed3,_0x382225){return _0x5c2ed3(_0x382225);},'lDkWW':'dir_setup','aNcId':function(_0x48f391,_0x3571f5,_0x4bf0ab){return _0x48f391(_0x3571f5,_0x4bf0ab);},'DxkoK':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','QWZjn':_0x5257b0(0x84),'Invlg':_0x5257b0(0x8a),'MikQa':function(_0x42a183,_0x34e84f,_0x465d6f){return _0x42a183(_0x34e84f,_0x465d6f);},'rTJpN':function(_0xcc82cd,_0x40aaf0,_0x4d76b9){return _0xcc82cd(_0x40aaf0,_0x4d76b9);},'bxaNf':function(_0x2a24bc,_0x2e7df9){return _0x2a24bc(_0x2e7df9);},'bpHCy':function(_0xd6040,_0x1589f5){return _0xd6040 instanceof _0x1589f5;},'xjTrF':'\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','spEPc':function(_0x4aeb20,_0x847976){return _0x4aeb20(_0x847976);},'Clzbx':function(_0x26cd27){return _0x26cd27();},'aFCsb':_0x5257b0(0x71),'zNabu':'project'};console['log']('\x0a🔧\x20Ranger\x20CI\x20Setup\x0a'),_0x1d199e?.['trackPhaseStart'](_0x56eeff['pWBYS']),await _0x56eeff[_0x5257b0(0x88)](authenticate,_0x11e768),_0x1d199e?.[_0x5257b0(0x90)](_0x5257b0(0x97)),_0x1d199e?.[_0x5257b0(0x98)](_0x56eeff['lDkWW']);const {path:_0x45ebff,installed:_0xdb455b}=await ensureRangerDir();await writeRangerGitignore(_0x45ebff);const _0x587bdb=join(_0x45ebff,_0x5257b0(0x9a));!existsSync(_0x587bdb)&&await _0x56eeff[_0x5257b0(0x81)](mkdir,_0x587bdb,{'recursive':!![]});_0x1d199e?.[_0x5257b0(0x90)](_0x56eeff['lDkWW'],{'installed':_0xdb455b}),_0x1d199e?.['trackPhaseStart']('chromium');let _0x4b44e2=![];_0x4c36fe?.['skipChromium']?console[_0x5257b0(0x89)](_0x56eeff['DxkoK']):_0x4b44e2=await ensureChromium();_0x1d199e?.['trackPhaseEnd'](_0x56eeff[_0x5257b0(0x9b)],{'installed':_0x4b44e2,'skipped':!!_0x4c36fe?.['skipChromium']}),_0x1d199e?.['trackPhaseStart'](_0x56eeff[_0x5257b0(0x8f)]);const _0x40cbc7=await findCiProfile(_0x4c36fe?.['profile']);let _0x3b18a=![];_0x4c36fe?.[_0x5257b0(0x99)]&&(await mkdir(_0x40cbc7['path'],{'recursive':!![]}),await saveSettings(_0x40cbc7['name'],{'baseUrl':_0x4c36fe['baseUrl'],'headless':!![]}),console[_0x5257b0(0x89)](_0x5257b0(0x8e)+_0x4c36fe[_0x5257b0(0x99)]),_0x3b18a=!![]);const _0x29687f=_0x56eeff[_0x5257b0(0x73)](join,_0x40cbc7['path'],_0x5257b0(0x6a));if(!existsSync(_0x29687f)&&!_0x3b18a)throw new Error('CI\x20profile\x20\x22'+_0x40cbc7['name']+_0x5257b0(0x82));const _0x27b6ce=_0x56eeff[_0x5257b0(0x73)](join,_0x40cbc7['path'],_0x5257b0(0x69)),_0x5775f1=_0x56eeff['rTJpN'](join,_0x40cbc7['path'],_0x5257b0(0x86)),_0x191291=existsSync(_0x27b6ce),_0xdffe9d=_0x56eeff[_0x5257b0(0x8c)](existsSync,_0x5775f1);if(_0xdffe9d)try{const _0x21e814=await getToken();if(!_0x21e814)throw new Error('No\x20API\x20token\x20available\x20for\x20decryption');const _0x1e6717=await _0x56eeff[_0x5257b0(0x8c)](readFile,_0x5775f1);decrypt(_0x1e6717,_0x21e814),console[_0x5257b0(0x89)]('✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)');}catch(_0x59fd48){const _0x9434c0=_0x56eeff['bpHCy'](_0x59fd48,Error)?_0x59fd48['message']:String(_0x59fd48);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x40cbc7[_0x5257b0(0x72)]+_0x5257b0(0x76)+_0x9434c0);}else _0x191291?console[_0x5257b0(0x89)](_0x5257b0(0x6c)):console[_0x5257b0(0x89)](_0x56eeff['xjTrF']);await _0x56eeff[_0x5257b0(0x7e)](writeActiveProfileName,_0x40cbc7['name']),console[_0x5257b0(0x89)]('✓\x20Active\x20profile:\x20'+_0x40cbc7[_0x5257b0(0x72)]),_0x1d199e?.[_0x5257b0(0x90)](_0x5257b0(0x8a),{'profileName':_0x40cbc7['name'],'hasAuth':_0x191291,'hasEncryptedAuth':_0xdffe9d,'createdSettings':_0x3b18a}),_0x1d199e?.['trackPhaseStart']('plugin');const _0x55ace0=await _0x56eeff[_0x5257b0(0x9e)](installPluginNonInteractive);_0x1d199e?.['trackPhaseEnd']('plugin',{'installed':_0x55ace0}),_0x1d199e?.[_0x5257b0(0x98)](_0x56eeff['aFCsb']),await _0x56eeff[_0x5257b0(0x88)](skillup,{'autoInstall':_0x56eeff['zNabu']}),_0x1d199e?.[_0x5257b0(0x90)]('skills'),console['log']('\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a');}function _0x2972(){const _0x2f99c5=['aNcId','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','trailhead','chromium','error','auth.json.enc','9393273CWJjOH','dvlwv','log','profile_activate','1009884CtcUqD','bxaNf','3194709wAmaeH','✓\x20Created\x20profile\x20settings:\x20baseUrl=','Invlg','trackPhaseEnd','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','19596iEZZkC','Failed\x20to\x20install\x20plugin:','Multiple\x20CI\x20profiles\x20found:\x20','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','auth','trackPhaseStart','baseUrl','sessions','QWZjn','CLxYj','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','Clzbx','length','65774PcepRK','EsVdI','auth.json','settings.json','2514114zKUsdr','✓\x20Auth\x20state\x20found','gWcFR','eYZZu','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','6363376QRHdVM','skills','name','MikQa','✓\x20Claude\x20Code\x20plugin\x20installed','1005mocBlt','\x22:\x20','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','51oAFVjJ','✓\x20Marketplace\x20already\x20added','success','YwTjw','isDirectory','project','spEPc','ranger@trailhead','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.'];_0x2972=function(){return _0x2f99c5;};return _0x2972();}
@@ -1 +1 @@
1
- (function(_0x144b62,_0x608001){const _0x10561f=_0x4595,_0x56de60=_0x144b62();while(!![]){try{const _0x2cb10d=parseInt(_0x10561f(0x120))/0x1+-parseInt(_0x10561f(0x133))/0x2*(parseInt(_0x10561f(0x12d))/0x3)+parseInt(_0x10561f(0x124))/0x4*(-parseInt(_0x10561f(0x12e))/0x5)+parseInt(_0x10561f(0x134))/0x6+-parseInt(_0x10561f(0x12b))/0x7*(-parseInt(_0x10561f(0x117))/0x8)+-parseInt(_0x10561f(0x123))/0x9+parseInt(_0x10561f(0x116))/0xa;if(_0x2cb10d===_0x608001)break;else _0x56de60['push'](_0x56de60['shift']());}catch(_0x275cf4){_0x56de60['push'](_0x56de60['shift']());}}}(_0x5b0a,0xe261b));import{basename}from'path';import _0x2ea8c8 from'inquirer';import{getToken}from'./utils/keychain.js';function _0x4595(_0x1de89,_0x4b595b){_0x1de89=_0x1de89-0x10e;const _0x5b0aa5=_0x5b0a();let _0x459584=_0x5b0aa5[_0x1de89];return _0x459584;}import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';function _0x5b0a(){const _0x42ac1f=['cqwaM','jHxBo','kudIi','message','isTTY','dktHx','installLevel','DawiT','328039FSHMpE','ZAOxD','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','12441816YTJuTd','58532tzepdE','/skills/','\x20\x202.\x20Run:\x20ranger\x20setup','LmoNy','RMpYV','stdin','This\x20project\x20only\x20(','6241347TTLeRR','/.claude/skills/','161034xYTQJM','455eSWJWM','wlzbS','rUHQc','warn','\x0a✅\x20Installed\x20','38yUfFiQ','6970200CEafsW','list','Where\x20should\x20skills\x20be\x20installed?','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','\x20\x203.\x20Run:\x20ranger\x20skillup','claude','elFwr','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','autoInstall','To\x20use:','opencode','prompt','\x20--opencode','log','YnVCW','13881870DrLCMN','16IBraFr'];_0x5b0a=function(){return _0x42ac1f;};return _0x5b0a();}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x47db57={}){const _0x2707b8=_0x4595,_0x1fcb1={'jHxBo':_0x2707b8(0x139),'wlzbS':function(_0x2730a3){return _0x2730a3();},'dktHx':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','KDoUD':_0x2707b8(0x113),'cqwaM':'✓\x20Found\x20API\x20token','ucUce':function(_0x2e3556){return _0x2e3556();},'kYEwj':function(_0x42e7b3,_0x65dfee){return _0x42e7b3(_0x65dfee);},'YnVCW':'user','ZAOxD':function(_0xc7f064,_0xaefd8){return _0xc7f064===_0xaefd8;},'rUHQc':'opencode','LmoNy':_0x2707b8(0x135),'qcaHz':_0x2707b8(0x136),'uMkzn':'project','RMpYV':'\x0a📦\x20Installing\x20skills...\x0a','elFwr':function(_0x143582,_0x42bc2c,_0x13ab37){return _0x143582(_0x42bc2c,_0x13ab37);},'xwhSS':'ranger','DawiT':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','kudIi':function(_0x5cefc2,_0x37c1f5){return _0x5cefc2 instanceof _0x37c1f5;},'tnNMl':_0x2707b8(0x122)};console[_0x2707b8(0x114)]('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x32b407=_0x47db57['platform']??_0x1fcb1[_0x2707b8(0x119)],_0x201283=await _0x1fcb1[_0x2707b8(0x12f)](getToken);if(!_0x201283){console['log'](_0x1fcb1[_0x2707b8(0x11d)]),console[_0x2707b8(0x114)]('To\x20get\x20started:'),console['log'](_0x2707b8(0x137)),console[_0x2707b8(0x114)](_0x2707b8(0x126)+(_0x32b407===_0x2707b8(0x111)?_0x1fcb1['KDoUD']:'')+'\x20<your-api-token>'),console['log'](_0x2707b8(0x138)+(_0x32b407===_0x2707b8(0x111)?'\x20--opencode':'')+'\x0a');return;}console[_0x2707b8(0x114)](_0x1fcb1[_0x2707b8(0x118)]);const _0x4057f2=_0x1fcb1['ucUce'](getProjectRoot),_0x51fbbd=basename(_0x4057f2),_0x5c6b53=_0x32b407===_0x2707b8(0x111)?_0x1fcb1['kYEwj'](getOpencodeConfigDir,_0x1fcb1[_0x2707b8(0x115)])+_0x2707b8(0x125):getClaudeConfigDir()+'/skills/',_0x249463=_0x1fcb1[_0x2707b8(0x121)](_0x32b407,_0x1fcb1['rUHQc'])?_0x4057f2+'/.opencode/skills/':_0x4057f2+_0x2707b8(0x12c),_0x37a674=process[_0x2707b8(0x129)][_0x2707b8(0x11c)]&&process['stdout'][_0x2707b8(0x11c)];let _0x4a7d23;if(_0x47db57[_0x2707b8(0x10f)])_0x4a7d23=_0x47db57['autoInstall'];else{if(_0x37a674){const _0x2d6235=await _0x2ea8c8[_0x2707b8(0x112)]([{'type':_0x1fcb1[_0x2707b8(0x127)],'name':'installLevel','message':_0x1fcb1['qcaHz'],'choices':[{'name':'All\x20projects\x20('+_0x5c6b53+')','value':'user'},{'name':_0x2707b8(0x12a)+_0x249463+')','value':'project'}]}]);_0x4a7d23=_0x2d6235[_0x2707b8(0x11e)];}else _0x4a7d23=_0x1fcb1['uMkzn'],console['log'](_0x2707b8(0x10e)+_0x249463+')');}let _0x344bb4=0x0;const _0x50cbd4=_0x1fcb1['ucUce'](getCurrentVersion);console[_0x2707b8(0x114)](_0x1fcb1[_0x2707b8(0x128)]);try{const _0x58e5c9=await _0x1fcb1[_0x2707b8(0x13a)](installSkill,_0x1fcb1['xwhSS'],{'cliVersion':_0x50cbd4,'level':_0x4a7d23,'platform':_0x32b407});_0x58e5c9&&_0x344bb4++;}catch(_0x528c34){console[_0x2707b8(0x131)](_0x1fcb1[_0x2707b8(0x11f)],_0x1fcb1[_0x2707b8(0x11a)](_0x528c34,Error)?_0x528c34[_0x2707b8(0x11b)]:_0x528c34);}if(_0x344bb4>0x0){const _0x2fa62a=_0x4a7d23==='user'?'user-level':'project-level';console[_0x2707b8(0x114)](_0x2707b8(0x132)+_0x344bb4+'\x20'+_0x2fa62a+'\x20skill'+(_0x344bb4>0x1?'s':'')+'\x20successfully!\x0a'),!_0x47db57['suppressUsage']&&(console['log'](_0x2707b8(0x110)),_0x1fcb1[_0x2707b8(0x121)](_0x32b407,_0x1fcb1[_0x2707b8(0x130)])?console[_0x2707b8(0x114)](_0x1fcb1['tnNMl']):console[_0x2707b8(0x114)]('\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['log']('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
1
+ function _0x1465(_0x37a2bf,_0x72dec9){_0x37a2bf=_0x37a2bf-0x14d;const _0x3dda71=_0x3dda();let _0x14659d=_0x3dda71[_0x37a2bf];return _0x14659d;}(function(_0x4afd87,_0x182048){const _0x4a650e=_0x1465,_0x2378e1=_0x4afd87();while(!![]){try{const _0x1ec007=-parseInt(_0x4a650e(0x169))/0x1+-parseInt(_0x4a650e(0x16a))/0x2+parseInt(_0x4a650e(0x15d))/0x3+-parseInt(_0x4a650e(0x162))/0x4+-parseInt(_0x4a650e(0x14f))/0x5+parseInt(_0x4a650e(0x15e))/0x6*(parseInt(_0x4a650e(0x165))/0x7)+parseInt(_0x4a650e(0x174))/0x8;if(_0x1ec007===_0x182048)break;else _0x2378e1['push'](_0x2378e1['shift']());}catch(_0x171e22){_0x2378e1['push'](_0x2378e1['shift']());}}}(_0x3dda,0xa8bf6));import{basename}from'path';import _0x27a316 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 _0x3dda(){const _0x5ba8f7=['/skills/','list','PAnlv','autoInstall','/.claude/skills/','192648nMVbPP','1815162rzkiuS','/.opencode/skills/','\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!','stdin','4875580gZFqvL','All\x20projects\x20(','\x20\x203.\x20Run:\x20ranger\x20skillup','7Mxrrla','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','\x20skill','log','321679AzrXfe','1896864YwtxvH','aDPON','suppressUsage','project','user','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','mjjkt','This\x20project\x20only\x20(','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','BmQgP','25012096WMUspH','isTTY','\x20\x202.\x20Run:\x20ranger\x20setup','1565295ESiFMV','fKVwl','opencode','xKTZs','prompt','\x20<your-api-token>','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','\x20--opencode'];_0x3dda=function(){return _0x5ba8f7;};return _0x3dda();}export async function skillup(_0x1352c8={}){const _0x551391=_0x1465,_0x57d416={'ISXQj':function(_0x2add01){return _0x2add01();},'fKVwl':'To\x20get\x20started:','BmQgP':function(_0x104c26,_0x25bc93){return _0x104c26===_0x25bc93;},'exooN':_0x551391(0x151),'xKTZs':_0x551391(0x157),'OyAKr':'✓\x20Found\x20API\x20token','aDPON':_0x551391(0x16e),'PAnlv':function(_0x5419f7,_0x4f5609){return _0x5419f7===_0x4f5609;},'EQULS':_0x551391(0x159),'zotWt':'Where\x20should\x20skills\x20be\x20installed?','mjjkt':_0x551391(0x16d),'nLFBb':function(_0xf2a393,_0x586fe0,_0x40a832){return _0xf2a393(_0x586fe0,_0x40a832);},'GgrwQ':function(_0x5cdc3f,_0x6e3676){return _0x5cdc3f instanceof _0x6e3676;},'KMyKe':function(_0x38c2ad,_0x29ca72){return _0x38c2ad>_0x29ca72;},'KLeiz':'project-level','jarOx':_0x551391(0x156)};console[_0x551391(0x168)]('\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a');const _0x1a688d=_0x1352c8['platform']??'claude',_0x5e060d=await _0x57d416['ISXQj'](getToken);if(!_0x5e060d){console[_0x551391(0x168)](_0x551391(0x172)),console[_0x551391(0x168)](_0x57d416[_0x551391(0x150)]),console['log'](_0x551391(0x155)),console[_0x551391(0x168)](_0x551391(0x14e)+(_0x57d416['BmQgP'](_0x1a688d,_0x57d416['exooN'])?_0x57d416[_0x551391(0x152)]:'')+_0x551391(0x154)),console['log'](_0x551391(0x164)+(_0x1a688d===_0x551391(0x151)?_0x57d416[_0x551391(0x152)]:'')+'\x0a');return;}console['log'](_0x57d416['OyAKr']);const _0x4f3c7d=getProjectRoot(),_0x1410e0=basename(_0x4f3c7d),_0x31d10d=_0x57d416[_0x551391(0x173)](_0x1a688d,_0x57d416['exooN'])?getOpencodeConfigDir(_0x57d416[_0x551391(0x16b)])+'/skills/':getClaudeConfigDir()+_0x551391(0x158),_0x54a1d8=_0x57d416[_0x551391(0x15a)](_0x1a688d,'opencode')?_0x4f3c7d+_0x551391(0x15f):_0x4f3c7d+_0x551391(0x15c),_0x23e4ab=process[_0x551391(0x161)]['isTTY']&&process['stdout'][_0x551391(0x14d)];let _0x5045b5;if(_0x1352c8['autoInstall'])_0x5045b5=_0x1352c8[_0x551391(0x15b)];else{if(_0x23e4ab){const _0x3042d9=await _0x27a316[_0x551391(0x153)]([{'type':_0x57d416['EQULS'],'name':'installLevel','message':_0x57d416['zotWt'],'choices':[{'name':_0x551391(0x163)+_0x31d10d+')','value':_0x57d416['aDPON']},{'name':_0x551391(0x171)+_0x54a1d8+')','value':_0x57d416['mjjkt']}]}]);_0x5045b5=_0x3042d9['installLevel'];}else _0x5045b5=_0x57d416[_0x551391(0x170)],console['log'](_0x551391(0x16f)+_0x54a1d8+')');}let _0x561431=0x0;const _0x58ce2e=getCurrentVersion();console['log']('\x0a📦\x20Installing\x20skills...\x0a');try{const _0x74135c=await _0x57d416['nLFBb'](installSkill,'ranger',{'cliVersion':_0x58ce2e,'level':_0x5045b5,'platform':_0x1a688d});_0x74135c&&_0x561431++;}catch(_0xc855c7){console['warn']('\x20\x20Failed\x20to\x20install\x20ranger\x20skill:',_0x57d416['GgrwQ'](_0xc855c7,Error)?_0xc855c7['message']:_0xc855c7);}if(_0x57d416['KMyKe'](_0x561431,0x0)){const _0x109823=_0x5045b5===_0x551391(0x16e)?'user-level':_0x57d416['KLeiz'];console['log']('\x0a✅\x20Installed\x20'+_0x561431+'\x20'+_0x109823+_0x551391(0x167)+(_0x57d416['KMyKe'](_0x561431,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x1352c8[_0x551391(0x16c)]&&(console[_0x551391(0x168)]('To\x20use:'),_0x1a688d==='opencode'?console[_0x551391(0x168)](_0x551391(0x166)):console['log'](_0x551391(0x160)));}else console['log'](_0x57d416['jarOx']);}
@@ -1 +1 @@
1
- const _0x32c762=_0x56c5;(function(_0x4c8f7b,_0x48e99d){const _0x316272=_0x56c5,_0x32d86a=_0x4c8f7b();while(!![]){try{const _0x1708d0=parseInt(_0x316272(0x197))/0x1+parseInt(_0x316272(0x16f))/0x2*(parseInt(_0x316272(0x178))/0x3)+parseInt(_0x316272(0x183))/0x4*(-parseInt(_0x316272(0x168))/0x5)+-parseInt(_0x316272(0x160))/0x6*(parseInt(_0x316272(0x1a4))/0x7)+parseInt(_0x316272(0x182))/0x8+parseInt(_0x316272(0x19c))/0x9+parseInt(_0x316272(0x18e))/0xa*(parseInt(_0x316272(0x199))/0xb);if(_0x1708d0===_0x48e99d)break;else _0x32d86a['push'](_0x32d86a['shift']());}catch(_0x5b15a8){_0x32d86a['push'](_0x32d86a['shift']());}}}(_0x1de3,0x6414c));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x5c082e from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';function _0x1de3(){const _0x22b55e=['6FCJihk','You\x20can\x20install\x20it\x20manually\x20by\x20running:','Installation\x20failed\x20with\x20exit\x20code\x20','trackPhaseError','✓\x20Authenticated\x20to\x20','RUXge','Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','status','115TgNeid','\x0a❌\x20Profile\x20setup\x20failed:','schmg','scope','DaJCM','✓\x20Playwright\x20Chromium\x20browser\x20found','ready','575740zsjNNA','\x0aIn\x20Claude\x20Code,\x20run\x20','The\x20required\x20version\x20(','CjOnP','GAWTK','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','kvYdx','\x20and\x20prompt\x20the\x20coding','kSGlS','6nufZuk','trackPhaseEnd','unVhO','isTTY','EvhCa','skipped','aIObU','success','version','WOcTg','3837992fTiMWc','100952exDBsX','sPEqS','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','✓\x20Created\x20.ranger/.gitignore','\x0a⚠\x20Skipping\x20Chromium\x20installation.','jnbxs','executablePath','No\x20git\x20repository\x20found','✓\x20.ranger/\x20directory\x20already\x20exists','user','PogfR','1479980wWfxQT','trackPhaseStart','\x20install\x20chromium','provided_token','url','git_check','eiQXI','1.58.2','\x20now?','65226mLpbrj','.ranger','22EgpAwD','Validating\x20API\x20token...','UQKdl','714528sHvebg','hiato','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','YTcLW','skipChromium','use\x20until\x20the\x20session\x20expires.\x0a','stdout','Xridm','3539879SIfPqp','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','ZJaEN','method','error','CGTSh','waHDs','rZeAe','✓\x20Already\x20authenticated\x20to\x20','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','ONJkW','skills','plugin','cfvek','CbdOP','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','mIDnB','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','ranger\x20profile\x20add\x20local','env','aYQSs','\x1b[0m','warn','mOnta','NRdgm','local','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','cFBxD','Authentication\x20failed:\x20','ranger','force','vNlXe','opencode','XMDYK','profile','kUvna','log','npx','confirm','message','organizationName','nqgLA','install'];_0x1de3=function(){return _0x22b55e;};return _0x1de3();}import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url),PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x32c762(0x195),bold=_0x3c8ee5=>'\x1b[1m'+_0x3c8ee5+_0x32c762(0x1b9);function _0x56c5(_0x79e9dd,_0x57ef73){_0x79e9dd=_0x79e9dd-0x158;const _0x1de360=_0x1de3();let _0x56c529=_0x1de360[_0x79e9dd];return _0x56c529;}function getPlaywrightVersion(){const _0x5d1875=_0x32c762,_0xab131f={'mIDnB':'playwright/package.json'};try{const _0x20aa00=require['resolve'](_0xab131f[_0x5d1875(0x1b4)]),_0x640abc=require(_0x20aa00);return _0x640abc[_0x5d1875(0x180)];}catch{return null;}}function installChromiumBinary(_0x20ec4f){const _0xbdcaef=_0x32c762,_0x421d4d={'ONJkW':_0xbdcaef(0x15f),'PogfR':'chromium','GBovo':_0xbdcaef(0x15a),'ngaFO':function(_0x3cf8d0,_0x11a430){return _0x3cf8d0===_0x11a430;},'nqgLA':'win32'};return new Promise((_0x264259,_0x378598)=>{const _0x4d8e75=_0xbdcaef,_0xd590b3={'CbdOP':function(_0x5896a,_0x4122c2){return _0x5896a(_0x4122c2);}},_0x2e7ddc=['playwright@'+_0x20ec4f,_0x421d4d[_0x4d8e75(0x1ae)],_0x421d4d[_0x4d8e75(0x18d)]],_0x15bd60=spawn(_0x421d4d['GBovo'],_0x2e7ddc,{'stdio':'inherit','shell':_0x421d4d['ngaFO'](process['platform'],_0x421d4d[_0x4d8e75(0x15e)])});_0x15bd60['on']('close',_0x5d027b=>{const _0x494a14=_0x4d8e75;_0x5d027b===0x0?_0x264259():_0xd590b3[_0x494a14(0x1b2)](_0x378598,new Error(_0x494a14(0x162)+_0x5d027b));}),_0x15bd60['on']('error',_0x5b61f9=>{_0x378598(_0x5b61f9);});});}export async function authenticate(_0x52c6e9){const _0x5c935f=_0x32c762,_0x5e3c10={'pcxPZ':function(_0x3075ea){return _0x3075ea();},'RUXge':function(_0x14b82d,_0x1d44ee){return _0x14b82d(_0x1d44ee);},'EvhCa':'existing_token','JKwJh':function(_0x44618b){return _0x44618b();},'vNlXe':function(_0x2778ae,_0x1e5837){return _0x2778ae(_0x1e5837);},'rrSIw':'✓\x20Exported\x20credentials\x20for\x20CI','waHDs':'✓\x20Stored\x20credentials\x20locally'};if(!_0x52c6e9){const _0x50587c=await _0x5e3c10['pcxPZ'](getToken);if(_0x50587c){const _0x426755=await _0x5e3c10[_0x5c935f(0x165)](getCurrentUser,_0x50587c);if(_0x426755['success'])return console['log'](_0x5c935f(0x1ac)+_0x426755['user']['organizationName']),{'token':_0x50587c,'method':_0x5e3c10[_0x5c935f(0x17c)]};}try{_0x52c6e9=await _0x5e3c10['JKwJh'](runDeviceAuthFlow);}catch(_0x4f67c3){throw new Error('Authentication\x20failed:\x20'+(_0x4f67c3 instanceof Error?_0x4f67c3[_0x5c935f(0x15c)]:_0x4f67c3));}const _0x3580d2=await getCurrentUser(_0x52c6e9);if(!_0x3580d2[_0x5c935f(0x17f)])throw new Error(_0x5c935f(0x1b5)+_0x3580d2[_0x5c935f(0x1a8)]);return console['log'](_0x5c935f(0x164)+_0x3580d2[_0x5c935f(0x18c)][_0x5c935f(0x15d)]),{'token':_0x52c6e9,'method':'device_auth'};}console[_0x5c935f(0x159)](_0x5c935f(0x19a));const _0x51bd90=await _0x5e3c10[_0x5c935f(0x165)](getCurrentUser,_0x52c6e9);if(!_0x51bd90['success']){if(_0x51bd90[_0x5c935f(0x167)])throw new Error(_0x5c935f(0x1c1)+_0x51bd90['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x51bd90[_0x5c935f(0x1a8)]+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x5c935f(0x159)]('✓\x20Authenticated\x20to\x20'+_0x51bd90[_0x5c935f(0x18c)]['organizationName']),await _0x5e3c10[_0x5c935f(0x1c4)](storeToken,_0x52c6e9),console[_0x5c935f(0x159)](process[_0x5c935f(0x1b7)]['GITHUB_ENV']?_0x5e3c10['rrSIw']:_0x5e3c10[_0x5c935f(0x1aa)]),{'token':_0x52c6e9,'method':_0x5c935f(0x191)};}export async function ensureRangerDir(){const _0x2b331b=_0x32c762,_0x3f2290={'mOnta':function(_0x68aae6){return _0x68aae6();},'schmg':_0x2b331b(0x198),'GAWTK':function(_0x1b74c2,_0x168745,_0x5a6932){return _0x1b74c2(_0x168745,_0x5a6932);}},_0x1fb9b0=_0x3f2290[_0x2b331b(0x1bb)](findGitRoot),_0x1e53f2=_0x1fb9b0?join(_0x1fb9b0,_0x3f2290[_0x2b331b(0x16a)]):_0x3f2290['mOnta'](getRangerDir);return!existsSync(_0x1e53f2)?(await _0x3f2290[_0x2b331b(0x173)](mkdir,_0x1e53f2,{'recursive':!![]}),console['log']('✓\x20Created\x20.ranger/\x20directory'),{'path':_0x1e53f2,'installed':!![]}):(console['log'](_0x2b331b(0x18b)),{'path':_0x1e53f2,'installed':![]});}export async function ensureChromium(){const _0x4033ad=_0x32c762,_0x539fcc={'rZeAe':function(_0x7775e4,_0x4aa9d5){return _0x7775e4(_0x4aa9d5);},'oKoHz':function(_0x2f64d7){return _0x2f64d7();},'qhkeC':'\x0aInstalling\x20Chromium\x20browser...\x0a','WOcTg':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','YTcLW':function(_0x23a1e1,_0x4a65c5){return _0x23a1e1 instanceof _0x4a65c5;},'uAfnh':_0x4033ad(0x161),'jnbxs':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x1065ca=![];try{const _0x57f457=chromium[_0x4033ad(0x189)]();_0x1065ca=_0x539fcc[_0x4033ad(0x1ab)](existsSync,_0x57f457);}catch{_0x1065ca=![];}if(_0x1065ca)return console[_0x4033ad(0x159)](_0x4033ad(0x16d)),![];const _0x294340=_0x539fcc['oKoHz'](getPlaywrightVersion),_0x159a05=_0x294340??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x4e937a=!_0x294340,_0x48876d=process['stdin'][_0x4033ad(0x17b)]&&process['stdout']['isTTY'];let _0x4fd716=!![];if(_0x48876d){const {install:_0x3d76ab}=await _0x5c082e['prompt']([{'type':_0x4033ad(0x15b),'name':_0x4033ad(0x15f),'message':_0x4e937a?_0x4033ad(0x1b3)+_0x159a05+_0x4033ad(0x196):_0x4033ad(0x171)+_0x159a05+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x4fd716=_0x3d76ab;}else console[_0x4033ad(0x159)](_0x4033ad(0x1a5)+_0x159a05+(_0x4e937a?'\x20(fallback\x20version)':'')+'...');if(_0x4fd716){console[_0x4033ad(0x159)](_0x539fcc['qhkeC']);try{await _0x539fcc[_0x4033ad(0x1ab)](installChromiumBinary,_0x159a05),console[_0x4033ad(0x159)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x13564a){console['error'](_0x539fcc[_0x4033ad(0x181)],_0x539fcc[_0x4033ad(0x19f)](_0x13564a,Error)?_0x13564a[_0x4033ad(0x15c)]:_0x13564a),console[_0x4033ad(0x159)](_0x539fcc['uAfnh']),console['log']('\x20\x20npx\x20playwright@'+_0x159a05+_0x4033ad(0x190));}}else console[_0x4033ad(0x159)](_0x4033ad(0x187)),console['log'](_0x539fcc[_0x4033ad(0x188)]),console[_0x4033ad(0x159)]('\x20\x20npx\x20playwright@'+_0x159a05+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x3d0c10){const _0x7b366e=_0x32c762,_0x163382={'FvGGR':function(_0x3d2f4b,_0x349af9,_0x5656b3){return _0x3d2f4b(_0x349af9,_0x5656b3);}},_0x22a5ff=_0x163382['FvGGR'](join,_0x3d0c10,'.gitignore'),_0x22ff8a='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x22a5ff,_0x22ff8a),console[_0x7b366e(0x159)](_0x7b366e(0x186));}function printProfileSetupLaterInstructions(){const _0x34317b=_0x32c762,_0x3eb2b4={'aYQSs':'\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','cfvek':function(_0x4e398d,_0x5e1fb5){return _0x4e398d(_0x5e1fb5);},'MYFHW':_0x34317b(0x1b6),'ivWGD':_0x34317b(0x174)};console['log'](_0x3eb2b4[_0x34317b(0x1b8)]),console[_0x34317b(0x159)]('\x20\x20'+_0x3eb2b4[_0x34317b(0x1b1)](bold,_0x3eb2b4['MYFHW'])),console['log'](_0x3eb2b4['ivWGD']);}async function ensureLocalEnv(_0x7ab1d9,_0x5a07cc){const _0x6eebdf=_0x32c762,_0x2937a5={'Tzwfx':function(_0x1eddd3,_0x4a3f25,_0xd5de7d){return _0x1eddd3(_0x4a3f25,_0xd5de7d);},'ZQaHw':_0x6eebdf(0x1bd),'sPEqS':_0x6eebdf(0x1ad),'eiQXI':'to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','kUvna':'auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','yJQID':_0x6eebdf(0x166),'cjyPu':function(_0x5e05fe,_0x20fbd7,_0x24adb5,_0x5703cb){return _0x5e05fe(_0x20fbd7,_0x24adb5,_0x5703cb);}};if(!findGitRoot())return console[_0x6eebdf(0x159)]('⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.'),{'ready':![],'skipped':!![]};if(_0x2937a5['Tzwfx'](findExistingEnv,'local',{'locations':[_0x2937a5['ZQaHw']]}))return console['log']('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};const _0x5496f0=process['stdin'][_0x6eebdf(0x17b)]&&process[_0x6eebdf(0x1a2)][_0x6eebdf(0x17b)];if(_0x5496f0&&!_0x7ab1d9?.[_0x6eebdf(0x192)]){console['log'](_0x2937a5[_0x6eebdf(0x184)]),console[_0x6eebdf(0x159)](_0x2937a5[_0x6eebdf(0x194)]),console[_0x6eebdf(0x159)](_0x2937a5[_0x6eebdf(0x158)]),console['log'](_0x6eebdf(0x1a1)),console[_0x6eebdf(0x159)](_0x6eebdf(0x1bf));const {wantsProfile:_0x5753e6}=await _0x5c082e['prompt']([{'type':_0x6eebdf(0x15b),'name':'wantsProfile','message':_0x2937a5['yJQID'],'default':!![]}]);if(!_0x5753e6)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await _0x2937a5['cjyPu'](addEnv,_0x6eebdf(0x1bd),{'url':_0x7ab1d9?.['url'],'force':_0x7ab1d9?.['force'],'allowInsecureLocalhost':_0x7ab1d9?.['allowInsecureLocalhost']},_0x5a07cc),{'ready':!![],'skipped':![]};}catch(_0x3e0844){return console['error'](_0x6eebdf(0x169),_0x3e0844 instanceof Error?_0x3e0844[_0x6eebdf(0x15c)]:_0x3e0844),printProfileSetupLaterInstructions(),{'ready':![],'skipped':![]};}}export async function start(_0x1b58ca,_0x490809,_0xb7c512){const _0x39eee9=_0x32c762,_0x4f460a={'CuKkf':'git_check','cVbJp':_0x39eee9(0x18a),'iexQd':_0x39eee9(0x185),'cFBxD':function(_0x5a6d8b,_0x12acd9){return _0x5a6d8b(_0x12acd9);},'ZJaEN':'auth','BosCt':function(_0x151bb8,_0x218ce4){return _0x151bb8(_0x218ce4);},'CGTSh':'chromium','hwKiH':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','NRdgm':'plugin','DaJCM':function(_0x3cc07e,_0x2e1819){return _0x3cc07e&&_0x2e1819;},'mKojz':_0x39eee9(0x1af),'aIObU':_0x39eee9(0x1c2),'CjOnP':function(_0x2012dc){return _0x2012dc();},'UQKdl':'opencode','XMDYK':function(_0x1788e1,_0x4a3436){return _0x1788e1 instanceof _0x4a3436;},'kvYdx':function(_0x3b5647,_0x35655c){return _0x3b5647(_0x35655c);},'wVYji':'Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','unVhO':_0x39eee9(0x1b6),'nabeK':function(_0x54cbf4,_0x1cbb52,_0x99ba18){return _0x54cbf4(_0x1cbb52,_0x99ba18);},'FIRtt':_0x39eee9(0x1c7),'kSGlS':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','hiato':_0x39eee9(0x19e),'Xridm':function(_0xe01644,_0x177ef){return _0xe01644+_0x177ef;}};console[_0x39eee9(0x159)]('\x0a🚀\x20Ranger\x20Setup\x0a');const _0x32fda9=process['stdin'][_0x39eee9(0x17b)]&&process[_0x39eee9(0x1a2)][_0x39eee9(0x17b)];!_0x32fda9&&!_0x490809?.[_0x39eee9(0x16b)]&&(console[_0x39eee9(0x159)]('Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.'),_0x490809={..._0x490809,'scope':'user'});_0xb7c512?.['trackPhaseStart'](_0x4f460a['CuKkf']);if(!findGitRoot()){await _0xb7c512?.[_0x39eee9(0x163)]('git_check',new Error(_0x4f460a['cVbJp']));throw new Error(_0x4f460a['iexQd']);}_0xb7c512?.['trackPhaseEnd'](_0x39eee9(0x193));const _0xd33075=!_0x4f460a[_0x39eee9(0x1c0)](existsSync,getRangerDir()),{path:_0x530597}=await ensureRangerDir();_0xb7c512?.[_0x39eee9(0x18f)](_0x4f460a['ZJaEN']);const _0x54e61b=await _0x4f460a['BosCt'](authenticate,_0x1b58ca);_0xb7c512?.['trackPhaseEnd'](_0x4f460a[_0x39eee9(0x1a6)],{'isFirstRun':_0xd33075,'method':_0x54e61b[_0x39eee9(0x1a7)]}),_0xb7c512?.[_0x39eee9(0x18f)](_0x4f460a['CGTSh']);_0x490809?.[_0x39eee9(0x1a0)]?console[_0x39eee9(0x159)](_0x4f460a['hwKiH']):await ensureChromium();_0xb7c512?.['trackPhaseEnd'](_0x4f460a[_0x39eee9(0x1a9)],{'isFirstRun':_0xd33075,'skipped':!!_0x490809?.['skipChromium']}),await writeRangerGitignore(_0x530597),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x386b13=_0x490809?.['scope'],_0x42ad09=_0x490809?.[_0x39eee9(0x1c5)]??![];let _0x3d9af5=null;_0x42ad09?(_0xb7c512?.[_0x39eee9(0x18f)](_0x4f460a[_0x39eee9(0x1bc)]),_0x3d9af5=await ensureOpencodePluginConfig(_0x386b13),_0xb7c512?.[_0x39eee9(0x179)](_0x4f460a[_0x39eee9(0x1bc)],{'isFirstRun':_0xd33075,'opencode':!![]})):(_0xb7c512?.['trackPhaseStart'](_0x39eee9(0x1b0)),await ensureClaudePlugin(_0x386b13),_0xb7c512?.[_0x39eee9(0x179)](_0x39eee9(0x1b0),{'isFirstRun':_0xd33075}));if(_0x4f460a[_0x39eee9(0x16c)](_0x42ad09,_0x3d9af5)){_0xb7c512?.['trackPhaseStart'](_0x4f460a['mKojz']);try{await installSkill(_0x4f460a[_0x39eee9(0x17e)],{'level':_0x3d9af5[_0x39eee9(0x16b)],'cliVersion':_0x4f460a[_0x39eee9(0x172)](getCurrentVersion),'platform':_0x4f460a[_0x39eee9(0x19b)]}),_0xb7c512?.[_0x39eee9(0x179)](_0x39eee9(0x1af),{'isFirstRun':_0xd33075,'opencode':!![]});}catch(_0x4b771e){console[_0x39eee9(0x1ba)]('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x4f460a[_0x39eee9(0x1c6)](_0x4b771e,Error)?_0x4b771e['message']:_0x4b771e),_0xb7c512?.['trackPhaseEnd'](_0x39eee9(0x1af),{'isFirstRun':_0xd33075,'opencode':!![],'failed':!![]});}}else _0xb7c512?.['trackPhaseStart']('skills'),await _0x4f460a[_0x39eee9(0x175)](ensureClaudeSkills,_0x386b13),_0xb7c512?.[_0x39eee9(0x179)](_0x4f460a['mKojz'],{'isFirstRun':_0xd33075});if(!_0x32fda9&&!_0x490809?.['url'])console[_0x39eee9(0x159)](_0x4f460a['wVYji']),console[_0x39eee9(0x159)]('\x20\x20'+_0x4f460a['BosCt'](bold,_0x4f460a[_0x39eee9(0x17a)])+'\x0a');else{_0xb7c512?.[_0x39eee9(0x18f)]('profile');const _0x54c9ff=await _0x4f460a['nabeK'](ensureLocalEnv,{'url':_0x490809?.['url'],'force':_0x490809?.[_0x39eee9(0x1c3)],'allowInsecureLocalhost':_0x490809?.['allowInsecureLocalhost']},_0xb7c512);_0xb7c512?.[_0x39eee9(0x179)](_0x4f460a['FIRtt'],{'isFirstRun':_0xd33075,'profileReady':_0x54c9ff['ready'],'userSkipped':_0x54c9ff[_0x39eee9(0x17d)]}),_0x54c9ff[_0x39eee9(0x16e)]&&console[_0x39eee9(0x159)]('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}if(_0x42ad09)console['log']('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console['log'](_0x4f460a[_0x39eee9(0x177)]),console['log'](_0x4f460a[_0x39eee9(0x19d)]),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x31f44b=_0x4f460a[_0x39eee9(0x175)](bold,'/ranger:enable');console[_0x39eee9(0x159)](_0x4f460a[_0x39eee9(0x1a3)](_0x4f460a['Xridm'](_0x39eee9(0x170)+_0x31f44b+_0x39eee9(0x176),'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with')+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser',_0x39eee9(0x1be)));}}
1
+ const _0x16012e=_0x43fc;(function(_0x2c5928,_0x2c3aa9){const _0x153682=_0x43fc,_0x43af88=_0x2c5928();while(!![]){try{const _0x4fcd59=parseInt(_0x153682(0xee))/0x1+-parseInt(_0x153682(0x123))/0x2+parseInt(_0x153682(0xfa))/0x3*(parseInt(_0x153682(0xe1))/0x4)+parseInt(_0x153682(0x13c))/0x5*(parseInt(_0x153682(0xe4))/0x6)+parseInt(_0x153682(0x130))/0x7+-parseInt(_0x153682(0x125))/0x8*(-parseInt(_0x153682(0x12d))/0x9)+-parseInt(_0x153682(0xf9))/0xa;if(_0x4fcd59===_0x2c3aa9)break;else _0x43af88['push'](_0x43af88['shift']());}catch(_0x41d311){_0x43af88['push'](_0x43af88['shift']());}}}(_0x20fc,0x6b20a));function _0x20fc(){const _0x50cc73=['\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','2329616sKvXBM','ranger','zotTl','vUrfi','error','Validating\x20API\x20token...','ogyuo','opencode','9oLQkWB','PaVUr','You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','4955139IdLgao','HgBWZ','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','success','cgacz','profile','You\x20can\x20install\x20it\x20manually\x20by\x20running:','user','Authentication\x20failed:\x20','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','QLYzB','vciVp','60uxSNKR','\x0a❌\x20Profile\x20setup\x20failed:','ZAPzj','RBMaY','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','confirm','ugKNe','heOcn','uWASi','trackPhaseError','\x20\x20npx\x20playwright@','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','status','KYIhe','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','git_check','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','use\x20until\x20the\x20session\x20expires.\x0a','method','...','prompt','chromium','✓\x20Already\x20authenticated\x20to\x20','stdin','wxoFu','57100OmoRJy','npx','1.58.2','412332Xgkirp','Installation\x20failed\x20with\x20exit\x20code\x20','\x20now?','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','allowInsecureLocalhost','oEfgc','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','CiISo','\x20install\x20chromium','256073vXVBZQ','skills','YmoZN','plugin','\x20(fallback\x20version)','uDtvK','No\x20git\x20repository\x20found','.gitignore','mLuIy','log','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','19330800cvfZWK','87GpfUDq','vssVz','vScvq','env','existing_token','win32','executablePath','stdout','QMMnJ','\x20and\x20prompt\x20the\x20coding',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','caeFq','✓\x20Playwright\x20Chromium\x20browser\x20found','✓\x20Local\x20profile\x20already\x20exists','install','FDehE','warn','version','✓\x20Authenticated\x20to\x20','✓\x20Stored\x20credentials\x20locally','scope','GITHUB_ENV','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','url','provided_token','pBQwk','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','inherit','message','SUJvI','JqCyG','dVcXI','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','trackPhaseEnd','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','isTTY','iPrWB','trackPhaseStart','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','ranger\x20profile\x20add\x20local','243834PethZn'];_0x20fc=function(){return _0x50cc73;};return _0x20fc();}import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0xf77e9d from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url),PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x16012e(0xe3),bold=_0x25370d=>'\x1b[1m'+_0x25370d+'\x1b[0m';function getPlaywrightVersion(){const _0x1266ce=_0x16012e;try{const _0x194b28=require['resolve']('playwright/package.json'),_0x9e7088=require(_0x194b28);return _0x9e7088[_0x1266ce(0x10c)];}catch{return null;}}function _0x43fc(_0x293ad5,_0x302268){_0x293ad5=_0x293ad5-0xce;const _0x20fcd7=_0x20fc();let _0x43fc61=_0x20fcd7[_0x293ad5];return _0x43fc61;}function installChromiumBinary(_0x376b01){const _0xb5f2f1=_0x16012e,_0x3fbbb2={'QLYzB':function(_0x32ec90,_0x4e014c){return _0x32ec90===_0x4e014c;},'vZdKE':function(_0x1b3539){return _0x1b3539();},'OCSJn':_0xb5f2f1(0xdd),'yqWhW':function(_0x321f70,_0x26b0c0,_0x292024,_0x18736f){return _0x321f70(_0x26b0c0,_0x292024,_0x18736f);},'HgBWZ':_0xb5f2f1(0xe2),'vUrfi':function(_0x1ff27f,_0x2891ea){return _0x1ff27f===_0x2891ea;}};return new Promise((_0x5549d0,_0x5520a2)=>{const _0x4812d6=_0xb5f2f1,_0x347291=['playwright@'+_0x376b01,_0x4812d6(0x109),_0x3fbbb2['OCSJn']],_0x4d9631=_0x3fbbb2['yqWhW'](spawn,_0x3fbbb2[_0x4812d6(0x131)],_0x347291,{'stdio':_0x4812d6(0x116),'shell':_0x3fbbb2[_0x4812d6(0x128)](process['platform'],_0x4812d6(0xff))});_0x4d9631['on']('close',_0x3dac26=>{const _0x27a747=_0x4812d6;_0x3fbbb2[_0x27a747(0x13a)](_0x3dac26,0x0)?_0x3fbbb2['vZdKE'](_0x5549d0):_0x5520a2(new Error(_0x27a747(0xe5)+_0x3dac26));}),_0x4d9631['on']('error',_0x47008c=>{_0x5520a2(_0x47008c);});});}export async function authenticate(_0x2038d3){const _0x54e83f=_0x16012e,_0x28994d={'Mrbfm':function(_0x44e046){return _0x44e046();},'caeFq':_0x54e83f(0xfe),'uDtvK':function(_0x3c64f5,_0xe6f841){return _0x3c64f5(_0xe6f841);},'JuXLI':'✓\x20Exported\x20credentials\x20for\x20CI','cgacz':_0x54e83f(0x10e)};if(!_0x2038d3){const _0x5db961=await _0x28994d['Mrbfm'](getToken);if(_0x5db961){const _0x39de40=await getCurrentUser(_0x5db961);if(_0x39de40[_0x54e83f(0x133)])return console[_0x54e83f(0xf7)](_0x54e83f(0xde)+_0x39de40[_0x54e83f(0x137)]['organizationName']),{'token':_0x5db961,'method':_0x28994d[_0x54e83f(0x106)]};}try{_0x2038d3=await runDeviceAuthFlow();}catch(_0x226393){throw new Error('Authentication\x20failed:\x20'+(_0x226393 instanceof Error?_0x226393[_0x54e83f(0x117)]:_0x226393));}const _0x10a2bc=await getCurrentUser(_0x2038d3);if(!_0x10a2bc[_0x54e83f(0x133)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x10a2bc[_0x54e83f(0x129)]);return console['log'](_0x54e83f(0x10d)+_0x10a2bc['user']['organizationName']),{'token':_0x2038d3,'method':'device_auth'};}console['log'](_0x54e83f(0x12a));const _0xa6c805=await _0x28994d[_0x54e83f(0xf3)](getCurrentUser,_0x2038d3);if(!_0xa6c805['success']){if(_0xa6c805[_0x54e83f(0xd4)])throw new Error(_0x54e83f(0x138)+_0xa6c805[_0x54e83f(0x129)]+_0x54e83f(0xd8));else throw new Error(_0x54e83f(0x115)+_0xa6c805[_0x54e83f(0x129)]+_0x54e83f(0x140));}return console['log'](_0x54e83f(0x10d)+_0xa6c805['user']['organizationName']),await storeToken(_0x2038d3),console[_0x54e83f(0xf7)](process[_0x54e83f(0xfd)][_0x54e83f(0x110)]?_0x28994d['JuXLI']:_0x28994d[_0x54e83f(0x134)]),{'token':_0x2038d3,'method':_0x54e83f(0x113)};}export async function ensureRangerDir(){const _0x58e1f2=_0x16012e,_0x5b24e4={'dVcXI':function(_0x3ce2f6){return _0x3ce2f6();},'vkzVt':function(_0xda45bb,_0x4cc72a,_0x545652){return _0xda45bb(_0x4cc72a,_0x545652);},'wxoFu':'.ranger','ZMfLE':function(_0xdf0344,_0x1ba7e4){return _0xdf0344(_0x1ba7e4);}},_0x2044aa=_0x5b24e4[_0x58e1f2(0x11a)](findGitRoot),_0x5bc07c=_0x2044aa?_0x5b24e4['vkzVt'](join,_0x2044aa,_0x5b24e4[_0x58e1f2(0xe0)]):getRangerDir();return!_0x5b24e4['ZMfLE'](existsSync,_0x5bc07c)?(await mkdir(_0x5bc07c,{'recursive':!![]}),console[_0x58e1f2(0xf7)]('✓\x20Created\x20.ranger/\x20directory'),{'path':_0x5bc07c,'installed':!![]}):(console[_0x58e1f2(0xf7)]('✓\x20.ranger/\x20directory\x20already\x20exists'),{'path':_0x5bc07c,'installed':![]});}export async function ensureChromium(){const _0x90af0b=_0x16012e,_0x2f57c5={'NRQDw':_0x90af0b(0x107),'SDbjL':function(_0x29fa1d){return _0x29fa1d();},'HLzeB':'confirm','YmoZN':'install','JhWbW':function(_0x1bb7bb,_0x46f03a){return _0x1bb7bb(_0x46f03a);},'vqMAb':_0x90af0b(0x11d),'vciVp':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','mOrdQ':function(_0x44e4f5,_0x35a3da){return _0x44e4f5 instanceof _0x35a3da;},'RaMht':_0x90af0b(0x136),'heOcn':_0x90af0b(0xf8)};let _0x26f0c0=![];try{const _0x48a1e9=chromium[_0x90af0b(0x100)]();_0x26f0c0=existsSync(_0x48a1e9);}catch{_0x26f0c0=![];}if(_0x26f0c0)return console['log'](_0x2f57c5['NRQDw']),![];const _0x51eaab=_0x2f57c5['SDbjL'](getPlaywrightVersion),_0x322dc9=_0x51eaab??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0x267f65=!_0x51eaab,_0x47a24b=process['stdin']['isTTY']&&process[_0x90af0b(0x101)]['isTTY'];let _0x13f36c=!![];if(_0x47a24b){const {install:_0x5a76ef}=await _0xf77e9d[_0x90af0b(0xdc)]([{'type':_0x2f57c5['HLzeB'],'name':_0x2f57c5[_0x90af0b(0xf0)],'message':_0x267f65?_0x90af0b(0xe8)+_0x322dc9+_0x90af0b(0xe6):'The\x20required\x20version\x20('+_0x322dc9+_0x90af0b(0x104),'default':!![]}]);_0x13f36c=_0x5a76ef;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x322dc9+(_0x267f65?_0x90af0b(0xf2):'')+_0x90af0b(0xdb));if(_0x13f36c){console[_0x90af0b(0xf7)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0x2f57c5['JhWbW'](installChromiumBinary,_0x322dc9),console['log'](_0x2f57c5['vqMAb']);}catch(_0x5b5e03){console[_0x90af0b(0x129)](_0x2f57c5[_0x90af0b(0x13b)],_0x2f57c5['mOrdQ'](_0x5b5e03,Error)?_0x5b5e03[_0x90af0b(0x117)]:_0x5b5e03),console[_0x90af0b(0xf7)](_0x2f57c5['RaMht']),console[_0x90af0b(0xf7)](_0x90af0b(0xd1)+_0x322dc9+_0x90af0b(0xed));}}else console[_0x90af0b(0xf7)]('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console[_0x90af0b(0xf7)](_0x2f57c5[_0x90af0b(0xce)]),console['log']('\x20\x20npx\x20playwright@'+_0x322dc9+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x46bd3b){const _0x288b46=_0x16012e,_0x3f892d={'jBGyh':function(_0x323d0d,_0x5dff8a,_0x199620){return _0x323d0d(_0x5dff8a,_0x199620);}},_0x17c753=join(_0x46bd3b,_0x288b46(0xf5)),_0x376281=_0x288b46(0x124);await _0x3f892d['jBGyh'](writeFile,_0x17c753,_0x376281),console[_0x288b46(0xf7)]('✓\x20Created\x20.ranger/.gitignore');}function printProfileSetupLaterInstructions(){const _0x451bd3=_0x16012e;console[_0x451bd3(0xf7)]('\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:'),console['log']('\x20\x20'+bold(_0x451bd3(0x122))),console[_0x451bd3(0xf7)](_0x451bd3(0xd6));}async function ensureLocalEnv(_0x311701,_0x29ae65){const _0x10ddf6=_0x16012e,_0x66dd53={'fGYoa':_0x10ddf6(0x105),'OWJOQ':function(_0x21629d,_0x3fb50c,_0x3fa7dd){return _0x21629d(_0x3fb50c,_0x3fa7dd);},'xNJci':_0x10ddf6(0xd3),'oEfgc':_0x10ddf6(0xd9),'QMMnJ':'wantsProfile','PYLNN':function(_0x282196){return _0x282196();},'vssVz':function(_0x2ef6d7,_0x3c0037,_0x4b0e92,_0xa21ff7){return _0x2ef6d7(_0x3c0037,_0x4b0e92,_0xa21ff7);},'zBSfZ':'local','VJZXs':function(_0xa1231d,_0x1db39b){return _0xa1231d instanceof _0x1db39b;},'Xlxpb':function(_0x3f0998){return _0x3f0998();}};if(!findGitRoot())return console[_0x10ddf6(0xf7)](_0x66dd53['fGYoa']),{'ready':![],'skipped':!![]};if(_0x66dd53['OWJOQ'](findExistingEnv,'local',{'locations':['local']}))return console['log'](_0x10ddf6(0x108)),{'ready':!![],'skipped':![]};const _0x234720=process[_0x10ddf6(0xdf)]['isTTY']&&process['stdout'][_0x10ddf6(0x11e)];if(_0x234720&&!_0x311701?.[_0x10ddf6(0x112)]){console[_0x10ddf6(0xf7)](_0x66dd53['xNJci']),console[_0x10ddf6(0xf7)]('to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind'),console['log'](_0x10ddf6(0x132)),console['log'](_0x66dd53[_0x10ddf6(0xea)]),console[_0x10ddf6(0xf7)](_0x10ddf6(0x12f));const {wantsProfile:_0x179ce3}=await _0xf77e9d['prompt']([{'type':_0x10ddf6(0x141),'name':_0x66dd53[_0x10ddf6(0x102)],'message':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','default':!![]}]);if(!_0x179ce3)return _0x66dd53['PYLNN'](printProfileSetupLaterInstructions),{'ready':![],'skipped':!![]};}try{return await _0x66dd53[_0x10ddf6(0xfb)](addEnv,_0x66dd53['zBSfZ'],{'url':_0x311701?.[_0x10ddf6(0x112)],'force':_0x311701?.['force'],'allowInsecureLocalhost':_0x311701?.['allowInsecureLocalhost']},_0x29ae65),{'ready':!![],'skipped':![]};}catch(_0x2a59fc){return console[_0x10ddf6(0x129)](_0x10ddf6(0x13d),_0x66dd53['VJZXs'](_0x2a59fc,Error)?_0x2a59fc[_0x10ddf6(0x117)]:_0x2a59fc),_0x66dd53['Xlxpb'](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x105325,_0x24d6fa,_0x5b01f1){const _0x4e2b2a=_0x16012e,_0x1f8fb3={'zotTl':'\x0a🚀\x20Ranger\x20Setup\x0a','pZVSl':'Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','pBQwk':_0x4e2b2a(0x137),'iPrWB':_0x4e2b2a(0xd7),'mLuIy':function(_0x272baa){return _0x272baa();},'BtJrf':_0x4e2b2a(0xf4),'ugKNe':_0x4e2b2a(0x139),'JqCyG':function(_0x27821f,_0x131a00){return _0x27821f(_0x131a00);},'jTaTH':function(_0x57bda2){return _0x57bda2();},'CiISo':function(_0x4463a8){return _0x4463a8();},'RBMaY':'chromium','uWASi':function(_0x4feed2,_0x42bf36){return _0x4feed2(_0x42bf36);},'ogyuo':_0x4e2b2a(0xef),'SUJvI':function(_0x36aeb6,_0x72552e){return _0x36aeb6 instanceof _0x72552e;},'ZAPzj':'Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','vScvq':_0x4e2b2a(0x135),'KYIhe':_0x4e2b2a(0x121),'PaVUr':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','FDehE':_0x4e2b2a(0xe7),'KAArr':function(_0x429717,_0xda63e7){return _0x429717+_0xda63e7;},'yaLcu':function(_0x16f86e,_0x51c6f4){return _0x16f86e+_0x51c6f4;}};console[_0x4e2b2a(0xf7)](_0x1f8fb3[_0x4e2b2a(0x127)]);const _0x24c640=process['stdin'][_0x4e2b2a(0x11e)]&&process['stdout']['isTTY'];!_0x24c640&&!_0x24d6fa?.[_0x4e2b2a(0x10f)]&&(console[_0x4e2b2a(0xf7)](_0x1f8fb3['pZVSl']),_0x24d6fa={..._0x24d6fa,'scope':_0x1f8fb3[_0x4e2b2a(0x114)]});_0x5b01f1?.['trackPhaseStart'](_0x1f8fb3['iPrWB']);if(!_0x1f8fb3[_0x4e2b2a(0xf6)](findGitRoot)){await _0x5b01f1?.[_0x4e2b2a(0xd0)](_0x1f8fb3['iPrWB'],new Error(_0x1f8fb3['BtJrf']));throw new Error(_0x1f8fb3[_0x4e2b2a(0x142)]);}_0x5b01f1?.['trackPhaseEnd'](_0x1f8fb3[_0x4e2b2a(0x11f)]);const _0x1f1d82=!_0x1f8fb3[_0x4e2b2a(0x119)](existsSync,_0x1f8fb3['jTaTH'](getRangerDir)),{path:_0x42ee53}=await _0x1f8fb3[_0x4e2b2a(0xec)](ensureRangerDir);_0x5b01f1?.['trackPhaseStart']('auth');const _0x58a6f8=await authenticate(_0x105325);_0x5b01f1?.['trackPhaseEnd']('auth',{'isFirstRun':_0x1f1d82,'method':_0x58a6f8[_0x4e2b2a(0xda)]}),_0x5b01f1?.['trackPhaseStart']('chromium');_0x24d6fa?.['skipChromium']?console[_0x4e2b2a(0xf7)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await ensureChromium();_0x5b01f1?.[_0x4e2b2a(0x11c)](_0x1f8fb3[_0x4e2b2a(0x13f)],{'isFirstRun':_0x1f1d82,'skipped':!!_0x24d6fa?.['skipChromium']}),await _0x1f8fb3['uWASi'](writeRangerGitignore,_0x42ee53),console['log'](_0x4e2b2a(0xeb));const _0x2898f8=_0x24d6fa?.['scope'],_0x1c3fbd=_0x24d6fa?.['opencode']??![];let _0x4d896f=null;_0x1c3fbd?(_0x5b01f1?.[_0x4e2b2a(0x120)]('plugin'),_0x4d896f=await _0x1f8fb3[_0x4e2b2a(0x119)](ensureOpencodePluginConfig,_0x2898f8),_0x5b01f1?.['trackPhaseEnd'](_0x4e2b2a(0xf1),{'isFirstRun':_0x1f1d82,'opencode':!![]})):(_0x5b01f1?.[_0x4e2b2a(0x120)](_0x4e2b2a(0xf1)),await _0x1f8fb3[_0x4e2b2a(0xcf)](ensureClaudePlugin,_0x2898f8),_0x5b01f1?.['trackPhaseEnd'](_0x4e2b2a(0xf1),{'isFirstRun':_0x1f1d82}));if(_0x1c3fbd&&_0x4d896f){_0x5b01f1?.[_0x4e2b2a(0x120)]('skills');try{await installSkill(_0x4e2b2a(0x126),{'level':_0x4d896f['scope'],'cliVersion':getCurrentVersion(),'platform':_0x4e2b2a(0x12c)}),_0x5b01f1?.['trackPhaseEnd'](_0x1f8fb3[_0x4e2b2a(0x12b)],{'isFirstRun':_0x1f1d82,'opencode':!![]});}catch(_0x25ba14){console[_0x4e2b2a(0x10b)]('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x1f8fb3[_0x4e2b2a(0x118)](_0x25ba14,Error)?_0x25ba14[_0x4e2b2a(0x117)]:_0x25ba14),_0x5b01f1?.[_0x4e2b2a(0x11c)]('skills',{'isFirstRun':_0x1f1d82,'opencode':!![],'failed':!![]});}}else _0x5b01f1?.['trackPhaseStart'](_0x1f8fb3['ogyuo']),await ensureClaudeSkills(_0x2898f8),_0x5b01f1?.[_0x4e2b2a(0x11c)](_0x1f8fb3[_0x4e2b2a(0x12b)],{'isFirstRun':_0x1f1d82});if(!_0x24c640&&!_0x24d6fa?.[_0x4e2b2a(0x112)])console[_0x4e2b2a(0xf7)](_0x1f8fb3[_0x4e2b2a(0x13e)]),console['log']('\x20\x20'+bold(_0x4e2b2a(0x122))+'\x0a');else{_0x5b01f1?.[_0x4e2b2a(0x120)](_0x1f8fb3[_0x4e2b2a(0xfc)]);const _0x31090f=await ensureLocalEnv({'url':_0x24d6fa?.[_0x4e2b2a(0x112)],'force':_0x24d6fa?.['force'],'allowInsecureLocalhost':_0x24d6fa?.[_0x4e2b2a(0xe9)]},_0x5b01f1);_0x5b01f1?.[_0x4e2b2a(0x11c)]('profile',{'isFirstRun':_0x1f1d82,'profileReady':_0x31090f['ready'],'userSkipped':_0x31090f['skipped']}),_0x31090f['ready']&&console[_0x4e2b2a(0xf7)](_0x4e2b2a(0x111));}if(_0x1c3fbd)console['log']('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console[_0x4e2b2a(0xf7)](_0x1f8fb3[_0x4e2b2a(0xd5)]),console[_0x4e2b2a(0xf7)](_0x1f8fb3[_0x4e2b2a(0x12e)]),console[_0x4e2b2a(0xf7)](_0x1f8fb3[_0x4e2b2a(0x10a)]);else{const _0x3a3b4a=_0x1f8fb3['uWASi'](bold,'/ranger:enable');console[_0x4e2b2a(0xf7)](_0x1f8fb3['KAArr'](_0x1f8fb3['yaLcu']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x3a3b4a+_0x4e2b2a(0x103)+_0x4e2b2a(0xd2),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),_0x4e2b2a(0x11b)));}}
@@ -1 +1 @@
1
- const _0x198f8c=_0x27eb;(function(_0x4f25aa,_0x202f8d){const _0x3eb397=_0x27eb,_0xe5bac7=_0x4f25aa();while(!![]){try{const _0x5f0550=-parseInt(_0x3eb397(0x1df))/0x1*(-parseInt(_0x3eb397(0x1b3))/0x2)+-parseInt(_0x3eb397(0x1b4))/0x3*(-parseInt(_0x3eb397(0x1ae))/0x4)+parseInt(_0x3eb397(0x1e1))/0x5+parseInt(_0x3eb397(0x1e9))/0x6+parseInt(_0x3eb397(0x20b))/0x7+-parseInt(_0x3eb397(0x1ee))/0x8*(parseInt(_0x3eb397(0x1c9))/0x9)+-parseInt(_0x3eb397(0x1fc))/0xa;if(_0x5f0550===_0x202f8d)break;else _0xe5bac7['push'](_0xe5bac7['shift']());}catch(_0x1b0857){_0xe5bac7['push'](_0xe5bac7['shift']());}}}(_0x5771,0x5229a));function _0x5771(){const _0x48d478=['ignore','ipfmG','faxsd','success','JIARY','parse','grRsr','not_installed','(not\x20found)','DtPZH','18waXvjP','eomYB','\x20\x20\x20\x20Auth:\x20','Version:\x20','@ranger-testing/opencode-plugin','uvYyb','LwTDu','\x20plugin(s)\x20configured','fmzmt','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','Root:\x20','\x0a📊\x20Ranger\x20Status\x0a','organizationName','\x1b[1m','displayName','name','ElUfc','configured','match','details','tatvh','stdout','285385rUWMiS','bmgIp','1285065weqsNv','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','plaintext','ptdNW','\x1b]8;;\x07','vrBdB','debug','hnPtk','1082520fXQbmO','isArray','nammQ','gkFrS','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','1709032UwkGtQ','log','\x20\x20Not\x20installed','wmuTO','No\x20skills\x20installed','nSdrf','close','qUILt','Ruhki','ranger@trailhead','\x20(latest:\x20','pPlDX','duDNU','NskpG','6590800NQxGQE','aSHlJ','wNpCT','wgOwL','\x0a\x20\x20No\x20active\x20profile\x20set','No\x20profiles\x20configured',':\x20configured','iDdqj','config','string','data','iIsjy','wDreH','not_configured','API\x20Token:\x20✗\x20Not\x20found','2074716NyjiBs','elSfI','path','\x20\x20User-level:','pipe','\x0a---\x20Profiles\x20---','\x20\x20\x20\x20','ylJsV','enabled','\x1b[0m','filter','version','plugin','hasPlaintextAuth','OEGnz','GBfwh','kFgCP','161468iNRNkr','length','settings.json','opencode-plugin','settingsPath','2zTErMy','30pwXejS','sLVTj','isActive','jroNs','includes','status','jXVuH','opencode','auth.json','iZyWe','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'];_0x5771=function(){return _0x48d478;};return _0x5771();}import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';function _0x27eb(_0x5f3449,_0x351ee6){_0x5f3449=_0x5f3449-0x1a5;const _0x577111=_0x5771();let _0x27eb39=_0x577111[_0x5f3449];return _0x27eb39;}const bold=_0x551deb=>_0x198f8c(0x1d6)+_0x551deb+_0x198f8c(0x1a6),link=(_0x3f4a77,_0x5842ec)=>'\x1b]8;;file://'+_0x3f4a77+'\x07'+(_0x5842ec||_0x3f4a77)+_0x198f8c(0x1e5);async function getOpencodePluginStatus(){const _0x4f5834=_0x198f8c,_0x5a58de={'RECHK':_0x4f5834(0x1c6),'GBfwh':function(_0xee877b,_0x3d5c9c){return _0xee877b(_0x3d5c9c);},'wmuTO':'not_configured','HYAZr':_0x4f5834(0x205),'jroNs':_0x4f5834(0x1b1),'elSfI':_0x4f5834(0x1bb),'ozulb':_0x4f5834(0x1e7),'SkxRG':_0x4f5834(0x1bf),'wNpCT':_0x4f5834(0x20f)};return new Promise(_0x85ee39=>{const _0x1a71f1=_0x4f5834,_0x175645={'FTrqv':_0x5a58de['HYAZr'],'iDdqj':_0x5a58de[_0x1a71f1(0x1b7)]},_0x232152=spawn(_0x5a58de[_0x1a71f1(0x20c)],[_0x5a58de['ozulb'],_0x1a71f1(0x204)],{'stdio':[_0x5a58de['SkxRG'],_0x5a58de[_0x1a71f1(0x1fe)],_0x1a71f1(0x20f)]});let _0x114fd9='';_0x232152[_0x1a71f1(0x1de)]?.['on'](_0x1a71f1(0x206),_0x19430c=>{_0x114fd9+=_0x19430c['toString']();}),_0x232152['stderr']?.['on'](_0x1a71f1(0x206),_0x226be7=>{_0x114fd9+=_0x226be7['toString']();}),_0x232152['on']('error',()=>{_0x85ee39({'status':'not_installed'});}),_0x232152['on'](_0x1a71f1(0x1f4),_0x4acb5d=>{const _0x4915ab=_0x1a71f1;if(_0x4acb5d!==0x0){_0x85ee39({'status':_0x5a58de['RECHK']});return;}const _0x9b10a2=_0x114fd9['trim']();let _0x337018=null;if(_0x9b10a2)try{_0x337018=JSON['parse'](_0x9b10a2);}catch{const _0x16353f=_0x9b10a2[_0x4915ab(0x1db)](/\{[\s\S]*\}$/);if(_0x16353f)try{_0x337018=JSON[_0x4915ab(0x1c4)](_0x16353f[0x0]);}catch{_0x337018=null;}}const _0x210dfb=Array[_0x4915ab(0x1ea)](_0x337018?.[_0x4915ab(0x1a9)])?_0x337018?.['plugin']:[],_0x1f7315=_0x210dfb['some'](_0x2177b7=>{const _0x51eeb8=_0x4915ab;if(typeof _0x2177b7!==_0x175645['FTrqv'])return![];return _0x2177b7[_0x51eeb8(0x1b8)]('@ranger-testing/opencode-plugin')||_0x2177b7['includes'](_0x175645[_0x51eeb8(0x203)]);});if(_0x1f7315){_0x85ee39({'status':_0x4915ab(0x1da),'details':_0x210dfb['length']>0x0?_0x210dfb['length']+_0x4915ab(0x1d0):undefined});return;}if(_0x210dfb['length']>0x0){_0x5a58de['GBfwh'](_0x85ee39,{'status':_0x5a58de[_0x4915ab(0x1f1)],'details':_0x210dfb[_0x4915ab(0x1af)]+_0x4915ab(0x1d0)});return;}_0x5a58de[_0x4915ab(0x1ac)](_0x85ee39,{'status':_0x4915ab(0x209)});});});}async function getSkillsFromDir(_0x14e0cc,_0x537817){const _0x4893dc=_0x198f8c,_0x435897={'gkFrS':function(_0x56069b,_0x19f758,_0x1100b3){return _0x56069b(_0x19f758,_0x1100b3);},'MjNEj':function(_0x42dbd0,_0x34af4c,_0x43ef51,_0x3b76ab){return _0x42dbd0(_0x34af4c,_0x43ef51,_0x3b76ab);},'NskpG':'SKILL.md','Rqfuq':function(_0x520a4a,_0x5c32d7){return _0x520a4a(_0x5c32d7);},'eomYB':'utf-8'};if(!existsSync(_0x14e0cc))return[];const _0x491009=[];try{const _0x442eb7=await _0x435897[_0x4893dc(0x1ec)](readdir,_0x14e0cc,{'withFileTypes':!![]});for(const _0x456e6d of _0x442eb7){if(_0x456e6d['isDirectory']()){const _0x3dec3d=_0x435897['MjNEj'](join,_0x14e0cc,_0x456e6d[_0x4893dc(0x1d8)],_0x435897[_0x4893dc(0x1fb)]);if(_0x435897['Rqfuq'](existsSync,_0x3dec3d)){let _0x38dc6a=_0x456e6d[_0x4893dc(0x1d8)];try{const _0x4f0ed0=await _0x435897['gkFrS'](readFile,_0x3dec3d,_0x435897[_0x4893dc(0x1ca)]),_0x55614f=_0x4f0ed0['match'](/name:\s*(.+)/);_0x55614f&&(_0x38dc6a=_0x55614f[0x1]['trim']());}catch{}_0x491009['push']({'name':_0x456e6d['name'],'displayName':_0x38dc6a,'path':_0x3dec3d,'level':_0x537817});}}}}catch{return[];}return _0x491009;}async function getInstalledSkills(){const _0x5f058b=_0x198f8c,_0x17a956={'hnPtk':'project','nammQ':function(_0x3f1e43,_0x4c0eb0,_0x325547){return _0x3f1e43(_0x4c0eb0,_0x325547);}},[_0x3e0df9,_0x3f5134]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),_0x17a956[_0x5f058b(0x1e8)]),_0x17a956[_0x5f058b(0x1eb)](getSkillsFromDir,getUserSkillsDir(),'user')]);return{'project':_0x3e0df9,'user':_0x3f5134};}async function getEnvironments(){const _0xca0415=_0x198f8c,_0x53bbc7={'uvYyb':function(_0x3b55fe,_0x341932){return _0x3b55fe(_0x341932);},'KMmlU':function(_0x1f7469,_0x449e88,_0x3be6cc){return _0x1f7469(_0x449e88,_0x3be6cc);},'Ruhki':_0xca0415(0x1bc),'OEGnz':'auth.json.enc','tatvh':_0xca0415(0x1c7),'iZyWe':function(_0xaf63a8,_0x36130c){return _0xaf63a8(_0x36130c);},'SxsoW':function(_0x1b1660,_0x5376d9){return _0x1b1660(_0x5376d9);},'aSHlJ':function(_0x893b15,_0x17a0b2){return _0x893b15===_0x17a0b2;},'vrBdB':function(_0x42e3f6){return _0x42e3f6();}},{envNames:_0xc09d65,activeEnv:_0x29c312}=await getEnvNames(),_0x49aead=_0x53bbc7[_0xca0415(0x1e6)](getRangerDir);if(!existsSync(_0x49aead))return{'envs':[],'activeEnv':null};const _0x515888=_0xc09d65['map'](_0x4e3647=>{const _0x356791=_0xca0415,_0x2a4814=_0x53bbc7[_0x356791(0x1ce)](getEnvDir,_0x4e3647),_0x469ab1=join(_0x2a4814,_0x356791(0x1b0)),_0x4492e0=_0x53bbc7['KMmlU'](join,_0x2a4814,_0x53bbc7[_0x356791(0x1f6)]),_0x41549d=_0x53bbc7['KMmlU'](join,_0x2a4814,_0x53bbc7[_0x356791(0x1ab)]);return{'name':_0x4e3647,'settingsPath':existsSync(_0x469ab1)?_0x469ab1:_0x53bbc7[_0x356791(0x1dd)],'hasPlaintextAuth':_0x53bbc7[_0x356791(0x1bd)](existsSync,_0x4492e0),'hasEncryptedAuth':_0x53bbc7['SxsoW'](existsSync,_0x41549d),'isActive':_0x53bbc7[_0x356791(0x1fd)](_0x4e3647,_0x29c312)};});return{'envs':_0x515888,'activeEnv':_0x29c312};}export async function status(){const _0x11a4ee=_0x198f8c,_0x47cba5={'duDNU':_0x11a4ee(0x1d4),'yKmCO':function(_0x121c26){return _0x121c26();},'sLVTj':function(_0x110e0c,_0xbf644a,_0x43db97){return _0x110e0c(_0xbf644a,_0x43db97);},'jXVuH':function(_0x3c5016,_0x1aeb82){return _0x3c5016(_0x1aeb82);},'kFgCP':function(_0x4c9e1b,_0x5241a3){return _0x4c9e1b(_0x5241a3);},'faxsd':function(_0x4b08de){return _0x4b08de();},'ZhQUc':function(_0xd0db4,_0x2bcd4c){return _0xd0db4(_0x2bcd4c);},'POhDS':'\x0a---\x20OpenCode\x20Plugin\x20---','ElUfc':'configured','sbcZJ':_0x11a4ee(0x1cd),'wDreH':function(_0x2cd178,_0x26fa97){return _0x2cd178===_0x26fa97;},'grRsr':'not_configured','bqAwX':'\x20\x20Not\x20configured','fiHBw':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','LwTDu':'disabled','fmzmt':_0x11a4ee(0x1f7),'ipfmG':_0x11a4ee(0x1e2),'wgOwL':'\x0a---\x20Skills\x20---','JIARY':function(_0x4d1df3){return _0x4d1df3();},'pPlDX':function(_0x4ea9d8,_0x555d93){return _0x4ea9d8+_0x555d93;},'ptdNW':function(_0x1dc08a,_0x13a142){return _0x1dc08a===_0x13a142;},'iIsjy':'\x20\x20Project-level:','nSdrf':_0x11a4ee(0x20e),'ygCyb':function(_0x3f008f,_0x17eed5){return _0x3f008f(_0x17eed5);},'bmgIp':_0x11a4ee(0x210),'jEdIc':function(_0x57451c,_0x687692){return _0x57451c===_0x687692;},'ylJsV':'\x20(active)','qUILt':'encrypted','DtPZH':'(not\x20found)','NLGhS':function(_0x5e2072,_0x30d574){return _0x5e2072(_0x30d574);}};console['log'](_0x47cba5[_0x11a4ee(0x1fa)]);const _0x2fdfb2=process['cwd'](),_0x1d25a3=_0x47cba5['yKmCO'](getRangerDir);if(!existsSync(_0x1d25a3)){console['log']('Root:\x20'+_0x47cba5[_0x11a4ee(0x1b5)](link,_0x2fdfb2,_0x47cba5['jXVuH'](bold,basename(_0x2fdfb2)))),console[_0x11a4ee(0x1ef)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x11a4ee(0x1d2));return;}console[_0x11a4ee(0x1ef)](_0x11a4ee(0x1d3)+_0x47cba5['sLVTj'](link,_0x2fdfb2,_0x47cba5['kFgCP'](bold,_0x47cba5[_0x11a4ee(0x1ad)](basename,_0x2fdfb2))));const _0x24aa75=getCurrentVersion(),_0x2aa840=getLatestVersion();if(_0x2aa840['version']&&_0x2aa840[_0x11a4ee(0x1a8)]!==_0x24aa75)console[_0x11a4ee(0x1ef)](_0x11a4ee(0x1cc)+_0x24aa75+_0x11a4ee(0x1f8)+_0x2aa840['version']+')'),console[_0x11a4ee(0x1ef)]('\x20\x20Run:\x20ranger\x20update');else _0x2aa840['version']?console[_0x11a4ee(0x1ef)]('Version:\x20'+_0x24aa75+'\x20(up\x20to\x20date)'):console[_0x11a4ee(0x1ef)]('Version:\x20'+_0x24aa75);const _0x131036=await _0x47cba5[_0x11a4ee(0x1c1)](getToken);if(_0x131036){const _0x57e393=await _0x47cba5['ZhQUc'](getCurrentUser,_0x131036);_0x57e393[_0x11a4ee(0x1c2)]?console[_0x11a4ee(0x1ef)]('Organization:\x20'+bold(_0x57e393['user'][_0x11a4ee(0x1d5)])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x11a4ee(0x1ef)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console[_0x11a4ee(0x1ef)](_0x11a4ee(0x20a)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console[_0x11a4ee(0x1ef)]('API\x20Environment:\x20'+getCurrentEnvironment()),console[_0x11a4ee(0x1ef)]('API\x20URL:\x20'+getApiBaseUrl()));console['log'](_0x47cba5['POhDS']);const _0x2d08f3=await getOpencodePluginStatus();if(_0x2d08f3['status']===_0x47cba5[_0x11a4ee(0x1d9)])console['log']('\x20\x20'+bold(_0x47cba5['sbcZJ'])+_0x11a4ee(0x202)),_0x2d08f3['details']&&console['log']('\x20\x20'+_0x2d08f3[_0x11a4ee(0x1dc)]);else _0x47cba5[_0x11a4ee(0x208)](_0x2d08f3[_0x11a4ee(0x1b9)],_0x47cba5[_0x11a4ee(0x1c5)])?(console['log'](_0x47cba5['bqAwX']),_0x2d08f3[_0x11a4ee(0x1dc)]&&console[_0x11a4ee(0x1ef)]('\x20\x20'+_0x2d08f3['details']),console[_0x11a4ee(0x1ef)]('\x20\x20Run:\x20ranger\x20setup\x20--opencode')):console['log'](_0x47cba5['fiHBw']);console[_0x11a4ee(0x1ef)]('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x4abd8d=await getPluginInfo('ranger@trailhead');if(_0x4abd8d){const _0x46693d=_0x4abd8d['scope']||'unknown',_0x43d6d0=_0x4abd8d[_0x11a4ee(0x1a5)]?_0x11a4ee(0x1a5):_0x47cba5[_0x11a4ee(0x1cf)];console[_0x11a4ee(0x1ef)]('\x20\x20'+bold(_0x47cba5[_0x11a4ee(0x1d1)])+':\x20installed\x20('+_0x46693d+',\x20'+_0x43d6d0+')');}else console[_0x11a4ee(0x1ef)](_0x11a4ee(0x1f0)),console[_0x11a4ee(0x1ef)](_0x47cba5[_0x11a4ee(0x1c0)]);console['log'](_0x47cba5[_0x11a4ee(0x1ff)]);const {project:_0x2487e2,user:_0x3fa8b8}=await _0x47cba5[_0x11a4ee(0x1c3)](getInstalledSkills),_0x51f342=_0x2487e2[_0x11a4ee(0x1a7)](_0x43ee77=>RANGER_MANAGED_SKILLS['includes'](_0x43ee77['name'])),_0x4e3271=_0x3fa8b8[_0x11a4ee(0x1a7)](_0xe36342=>RANGER_MANAGED_SKILLS['includes'](_0xe36342['name'])),_0x1c54d1=_0x47cba5[_0x11a4ee(0x1f9)](_0x51f342['length'],_0x4e3271[_0x11a4ee(0x1af)]);if(_0x47cba5[_0x11a4ee(0x1e4)](_0x1c54d1,0x0))console[_0x11a4ee(0x1ef)](_0x11a4ee(0x1f2)),console[_0x11a4ee(0x1ef)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x51f342['length']>0x0){console[_0x11a4ee(0x1ef)](_0x47cba5[_0x11a4ee(0x207)]);for(const _0x426e59 of _0x51f342){console[_0x11a4ee(0x1ef)](_0x11a4ee(0x211)+bold(_0x426e59['displayName'])+':\x20'+_0x47cba5['sLVTj'](link,_0x426e59['path'],_0x47cba5[_0x11a4ee(0x1ba)](basename,_0x426e59[_0x11a4ee(0x20d)])));}}if(_0x4e3271[_0x11a4ee(0x1af)]>0x0){console[_0x11a4ee(0x1ef)](_0x47cba5[_0x11a4ee(0x1f3)]);for(const _0x20a9b3 of _0x4e3271){console['log']('\x20\x20\x20\x20'+_0x47cba5['ygCyb'](bold,_0x20a9b3[_0x11a4ee(0x1d7)])+':\x20'+link(_0x20a9b3[_0x11a4ee(0x20d)],_0x47cba5['ygCyb'](basename,_0x20a9b3['path'])));}}}console[_0x11a4ee(0x1ef)](_0x47cba5[_0x11a4ee(0x1e0)]);const {envs:_0x34b60f,activeEnv:_0x4c0cef}=await getEnvironments();if(_0x47cba5['jEdIc'](_0x34b60f[_0x11a4ee(0x1af)],0x0))console[_0x11a4ee(0x1ef)](_0x11a4ee(0x201)),console[_0x11a4ee(0x1ef)](_0x11a4ee(0x1ed));else{for(const _0x7659ae of _0x34b60f){const _0x3f2616=_0x7659ae[_0x11a4ee(0x1b6)]?_0x47cba5[_0x11a4ee(0x212)]:'',_0x47f62c=_0x7659ae['hasEncryptedAuth']?_0x47cba5[_0x11a4ee(0x1f5)]:_0x7659ae[_0x11a4ee(0x1aa)]?_0x11a4ee(0x1e3):'none';console['log']('\x20\x20'+_0x47cba5[_0x11a4ee(0x1ba)](bold,_0x7659ae[_0x11a4ee(0x1d8)])+_0x3f2616),console['log'](_0x11a4ee(0x1cb)+_0x47f62c),_0x7659ae[_0x11a4ee(0x1b2)]!==_0x47cba5[_0x11a4ee(0x1c8)]&&console[_0x11a4ee(0x1ef)]('\x20\x20\x20\x20Settings:\x20'+link(_0x7659ae[_0x11a4ee(0x1b2)],_0x47cba5['NLGhS'](basename,_0x7659ae['settingsPath'])));}!_0x4c0cef&&(console['log'](_0x11a4ee(0x200)),console['log'](_0x11a4ee(0x1be)+_0x34b60f['map'](_0x505cec=>_0x505cec[_0x11a4ee(0x1d8)])['join'](',\x20')+')'));}console[_0x11a4ee(0x1ef)]('');}
1
+ const _0xd96c5d=_0x5207;(function(_0x5bdd86,_0x2a069e){const _0x2bfa94=_0x5207,_0x4a10b8=_0x5bdd86();while(!![]){try{const _0x2d52d4=-parseInt(_0x2bfa94(0x175))/0x1*(-parseInt(_0x2bfa94(0x16a))/0x2)+-parseInt(_0x2bfa94(0x1b2))/0x3*(-parseInt(_0x2bfa94(0x1a1))/0x4)+-parseInt(_0x2bfa94(0x1b9))/0x5*(parseInt(_0x2bfa94(0x182))/0x6)+parseInt(_0x2bfa94(0x1aa))/0x7*(parseInt(_0x2bfa94(0x181))/0x8)+parseInt(_0x2bfa94(0x1af))/0x9+parseInt(_0x2bfa94(0x1bd))/0xa+-parseInt(_0x2bfa94(0x1b1))/0xb;if(_0x2d52d4===_0x2a069e)break;else _0x4a10b8['push'](_0x4a10b8['shift']());}catch(_0x2078a1){_0x4a10b8['push'](_0x4a10b8['shift']());}}}(_0x44b6,0x565d8));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';function _0x44b6(){const _0x526b6a=['settingsPath','all','string','RxAEM','toString','3744CovaCG','1118184uvVouA','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','pipe','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','name','\x20\x20Run:\x20ranger\x20update','version','cwd','DEBUG','\x20\x20\x20\x20Settings:\x20','PnmJg','config','\x20(latest:\x20','plugin','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x20\x20Run:\x20ranger\x20setup\x20--opencode','YdJQF','API\x20URL:\x20','filter','COnYQ','sGFPK','euCpu','enabled','hasPlaintextAuth','auth.json.enc','not_installed','zByOh','not_configured',':\x20installed\x20(','FcGgC','gUDuN','4McxScu','debug','pMpGc','EIHNi','log','qACUV',':\x20configured','\x20\x20\x20\x20','\x0a📊\x20Ranger\x20Status\x0a','9639JTxvCG','isDirectory','length','status','\x20\x20User-level:','5010102RGKEoP','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','16703456mQmTav','105681kJNvrJ','kPibC','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','\x20\x20Run:\x20ranger\x20skillup','imuTQ','tsVEM','AzZzg','5DTkYJd','user','\x1b]8;;file://','includes','2101660nmquNg','data','MGpYT','opencode','DVGxK','\x20\x20Project-level:','(not\x20found)','sYZdC','XIKUc','path','parse','displayName','xlpgr','yEXMd','isArray','ueGNG','rrhRg','close','28470ZKKLBL','stderr','trim','disabled','encrypted','vseMn','error','\x20plugin(s)\x20configured','project','Zozxn','API\x20Environment:\x20','43gRWdfI','organizationName','nGuWx','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','\x20\x20\x20\x20Auth:\x20','details','nZHCp'];_0x44b6=function(){return _0x526b6a;};return _0x44b6();}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=_0xc061d=>'\x1b[1m'+_0xc061d+'\x1b[0m',link=(_0x3f17b2,_0xd50be4)=>_0xd96c5d(0x1bb)+_0x3f17b2+'\x07'+(_0xd50be4||_0x3f17b2)+'\x1b]8;;\x07';function _0x5207(_0x611761,_0x3f03f7){_0x611761=_0x611761-0x168;const _0x44b69c=_0x44b6();let _0x520728=_0x44b69c[_0x611761];return _0x520728;}async function getOpencodePluginStatus(){const _0x236a24=_0xd96c5d,_0x1cd974={'EIHNi':function(_0x3cf8cb,_0xc7bd6e){return _0x3cf8cb(_0xc7bd6e);},'GkwdG':_0x236a24(0x17e),'ohyxe':'@ranger-testing/opencode-plugin','zByOh':function(_0x22428c,_0x311592){return _0x22428c>_0x311592;},'pMpGc':function(_0x39fba0,_0x139683,_0x346d9a,_0x49352f){return _0x39fba0(_0x139683,_0x346d9a,_0x49352f);},'gUDuN':_0x236a24(0x18d),'qHABe':_0x236a24(0x1be)};return new Promise(_0x420d7f=>{const _0x52a3c1=_0x236a24,_0x4cb94e={'FcGgC':function(_0x206c95,_0x1a95b3){const _0x2ec9f9=_0x5207;return _0x1cd974[_0x2ec9f9(0x1a4)](_0x206c95,_0x1a95b3);},'imuTQ':_0x1cd974['GkwdG'],'qjVKe':_0x1cd974['ohyxe'],'RxAEM':function(_0x21c9c9,_0x49669c){return _0x21c9c9!==_0x49669c;},'XIKUc':'not_installed','fjutw':function(_0x5a5599,_0x273260){const _0x229adf=_0x5207;return _0x1cd974[_0x229adf(0x19c)](_0x5a5599,_0x273260);},'sYZdC':_0x52a3c1(0x19d)},_0x10cbf6=_0x1cd974[_0x52a3c1(0x1a3)](spawn,_0x52a3c1(0x1c0),[_0x52a3c1(0x1a2),_0x1cd974[_0x52a3c1(0x1a0)]],{'stdio':['ignore',_0x52a3c1(0x184),_0x52a3c1(0x184)]});let _0x3b6d9b='';_0x10cbf6['stdout']?.['on'](_0x1cd974['qHABe'],_0x46e0c9=>{const _0x12c98f=_0x52a3c1;_0x3b6d9b+=_0x46e0c9[_0x12c98f(0x180)]();}),_0x10cbf6[_0x52a3c1(0x16b)]?.['on'](_0x52a3c1(0x1be),_0x40136f=>{_0x3b6d9b+=_0x40136f['toString']();}),_0x10cbf6['on'](_0x52a3c1(0x170),()=>{const _0x41b1b9=_0x52a3c1;_0x4cb94e[_0x41b1b9(0x19f)](_0x420d7f,{'status':_0x41b1b9(0x19b)});}),_0x10cbf6['on'](_0x52a3c1(0x169),_0x53ffc7=>{const _0x45db59=_0x52a3c1;if(_0x4cb94e[_0x45db59(0x17f)](_0x53ffc7,0x0)){_0x4cb94e[_0x45db59(0x19f)](_0x420d7f,{'status':_0x4cb94e[_0x45db59(0x1c5)]});return;}const _0x3c5c3a=_0x3b6d9b[_0x45db59(0x16c)]();let _0x4a2171=null;if(_0x3c5c3a)try{_0x4a2171=JSON[_0x45db59(0x1c7)](_0x3c5c3a);}catch{const _0x4e1bb7=_0x3c5c3a['match'](/\{[\s\S]*\}$/);if(_0x4e1bb7)try{_0x4a2171=JSON['parse'](_0x4e1bb7[0x0]);}catch{_0x4a2171=null;}}const _0x3d8301=Array[_0x45db59(0x1cb)](_0x4a2171?.['plugin'])?_0x4a2171?.[_0x45db59(0x18f)]:[],_0x50f8ed=_0x3d8301['some'](_0x3babaa=>{const _0x31ff37=_0x45db59;if(typeof _0x3babaa!==_0x4cb94e[_0x31ff37(0x1b6)])return![];return _0x3babaa['includes'](_0x4cb94e['qjVKe'])||_0x3babaa[_0x31ff37(0x1bc)]('opencode-plugin');});if(_0x50f8ed){_0x420d7f({'status':'configured','details':_0x4cb94e['fjutw'](_0x3d8301['length'],0x0)?_0x3d8301['length']+_0x45db59(0x171):undefined});return;}if(_0x3d8301[_0x45db59(0x1ac)]>0x0){_0x420d7f({'status':'not_configured','details':_0x3d8301['length']+_0x45db59(0x171)});return;}_0x420d7f({'status':_0x4cb94e[_0x45db59(0x1c4)]});});});}async function getSkillsFromDir(_0x2798df,_0xc06cf0){const _0x584b04=_0xd96c5d,_0x2bc8cd={'MGpYT':function(_0x5279e8,_0x46fe7b,_0xf97157){return _0x5279e8(_0x46fe7b,_0xf97157);},'yEXMd':function(_0x35faaf,_0x4525e7){return _0x35faaf(_0x4525e7);},'kPibC':function(_0x1b252f,_0x103c9c,_0x25289c){return _0x1b252f(_0x103c9c,_0x25289c);},'nGuWx':'utf-8'};if(!existsSync(_0x2798df))return[];const _0x4f7f0d=[];try{const _0x16605d=await _0x2bc8cd[_0x584b04(0x1bf)](readdir,_0x2798df,{'withFileTypes':!![]});for(const _0x498b78 of _0x16605d){if(_0x498b78[_0x584b04(0x1ab)]()){const _0x77d775=join(_0x2798df,_0x498b78[_0x584b04(0x186)],'SKILL.md');if(_0x2bc8cd[_0x584b04(0x1ca)](existsSync,_0x77d775)){let _0x403af3=_0x498b78['name'];try{const _0x567187=await _0x2bc8cd[_0x584b04(0x1b3)](readFile,_0x77d775,_0x2bc8cd[_0x584b04(0x177)]),_0x5cd781=_0x567187['match'](/name:\s*(.+)/);_0x5cd781&&(_0x403af3=_0x5cd781[0x1][_0x584b04(0x16c)]());}catch{}_0x4f7f0d['push']({'name':_0x498b78[_0x584b04(0x186)],'displayName':_0x403af3,'path':_0x77d775,'level':_0xc06cf0});}}}}catch{return[];}return _0x4f7f0d;}async function getInstalledSkills(){const _0x170858=_0xd96c5d,_0x26994b={'AIfPx':function(_0x3a4ac3,_0x183ef7,_0x1544ae){return _0x3a4ac3(_0x183ef7,_0x1544ae);},'qACUV':function(_0x287545){return _0x287545();}},[_0x21d1f5,_0x148eee]=await Promise[_0x170858(0x17d)]([_0x26994b['AIfPx'](getSkillsFromDir,_0x26994b[_0x170858(0x1a6)](getProjectSkillsDir),_0x170858(0x172)),getSkillsFromDir(getUserSkillsDir(),'user')]);return{'project':_0x21d1f5,'user':_0x148eee};}async function getEnvironments(){const _0x2a5165={'vAfpK':'settings.json','moiVK':'auth.json','uhhUc':function(_0x214386){return _0x214386();},'cipIA':function(_0x42dd79,_0x45162e){return _0x42dd79(_0x45162e);}},{envNames:_0x1c6713,activeEnv:_0x3b8659}=await getEnvNames(),_0x210a9e=_0x2a5165['uhhUc'](getRangerDir);if(!_0x2a5165['cipIA'](existsSync,_0x210a9e))return{'envs':[],'activeEnv':null};const _0x1ed307=_0x1c6713['map'](_0x29c0d3=>{const _0x56efd1=_0x5207,_0x5f462c=getEnvDir(_0x29c0d3),_0x1c561f=join(_0x5f462c,_0x2a5165['vAfpK']),_0x213323=join(_0x5f462c,_0x2a5165['moiVK']),_0x57341b=join(_0x5f462c,_0x56efd1(0x19a));return{'name':_0x29c0d3,'settingsPath':existsSync(_0x1c561f)?_0x1c561f:_0x56efd1(0x1c3),'hasPlaintextAuth':existsSync(_0x213323),'hasEncryptedAuth':existsSync(_0x57341b),'isActive':_0x29c0d3===_0x3b8659};});return{'envs':_0x1ed307,'activeEnv':_0x3b8659};}export async function status(){const _0x2973a7=_0xd96c5d,_0x5d43de={'euCpu':function(_0x5ce43d,_0x5ac6d1){return _0x5ce43d(_0x5ac6d1);},'ueGNG':function(_0x15ba68,_0xc30cea,_0x4bbb29){return _0x15ba68(_0xc30cea,_0x4bbb29);},'Yfnra':function(_0x58d44d,_0x531c5b){return _0x58d44d(_0x531c5b);},'tsVEM':function(_0x523bf7){return _0x523bf7();},'YtMCO':function(_0x11e753,_0xacbbae){return _0x11e753!==_0xacbbae;},'yJzhi':function(_0x8f5fa7,_0x22d123){return _0x8f5fa7(_0x22d123);},'eOdBb':'\x0a---\x20OpenCode\x20Plugin\x20---','bGzNJ':'not_configured','rrhRg':_0x2973a7(0x191),'YBJtG':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','qAbJv':'unknown','PnmJg':'ranger@trailhead','xLjLd':_0x2973a7(0x1b4),'vseMn':function(_0x52930d){return _0x52930d();},'nZHCp':function(_0x3bfd92,_0x52ccf1){return _0x3bfd92===_0x52ccf1;},'Zozxn':function(_0x27d173,_0x2968d1){return _0x27d173>_0x2968d1;},'cHisx':_0x2973a7(0x1c2),'xlpgr':function(_0x1fba40,_0x4f2e09,_0xc501b0){return _0x1fba40(_0x4f2e09,_0xc501b0);},'sGFPK':function(_0x3a6e6a){return _0x3a6e6a();},'YdJQF':_0x2973a7(0x16e),'eHNff':'plaintext','DVGxK':'none','AzZzg':function(_0x48a38d,_0x435d48){return _0x48a38d!==_0x435d48;},'COnYQ':_0x2973a7(0x1c3)};console[_0x2973a7(0x1a5)](_0x2973a7(0x1a9));const _0x1c561e=process[_0x2973a7(0x189)](),_0x411440=getRangerDir();if(!_0x5d43de['euCpu'](existsSync,_0x411440)){console['log']('Root:\x20'+_0x5d43de[_0x2973a7(0x1cc)](link,_0x1c561e,bold(_0x5d43de[_0x2973a7(0x197)](basename,_0x1c561e)))),console['log'](_0x2973a7(0x1b0)),console['log'](_0x2973a7(0x183));return;}console[_0x2973a7(0x1a5)]('Root:\x20'+link(_0x1c561e,bold(_0x5d43de['Yfnra'](basename,_0x1c561e))));const _0x507196=getCurrentVersion(),_0x303bb8=_0x5d43de[_0x2973a7(0x1b7)](getLatestVersion);if(_0x303bb8['version']&&_0x5d43de['YtMCO'](_0x303bb8['version'],_0x507196))console[_0x2973a7(0x1a5)]('Version:\x20'+_0x507196+_0x2973a7(0x18e)+_0x303bb8[_0x2973a7(0x188)]+')'),console[_0x2973a7(0x1a5)](_0x2973a7(0x187));else _0x303bb8[_0x2973a7(0x188)]?console[_0x2973a7(0x1a5)]('Version:\x20'+_0x507196+'\x20(up\x20to\x20date)'):console[_0x2973a7(0x1a5)]('Version:\x20'+_0x507196);const _0x61c86a=await getToken();if(_0x61c86a){const _0x2e933c=await _0x5d43de['yJzhi'](getCurrentUser,_0x61c86a);_0x2e933c['success']?console['log']('Organization:\x20'+bold(_0x2e933c[_0x2973a7(0x1ba)][_0x2973a7(0x176)])):(console[_0x2973a7(0x1a5)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x2973a7(0x1a5)](_0x2973a7(0x190)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console[_0x2973a7(0x1a5)](_0x2973a7(0x190));process['env'][_0x2973a7(0x18a)]&&(console['log'](_0x2973a7(0x174)+getCurrentEnvironment()),console[_0x2973a7(0x1a5)](_0x2973a7(0x193)+_0x5d43de[_0x2973a7(0x1b7)](getApiBaseUrl)));console[_0x2973a7(0x1a5)](_0x5d43de['eOdBb']);const _0xe0e08d=await _0x5d43de['tsVEM'](getOpencodePluginStatus);if(_0xe0e08d[_0x2973a7(0x1ad)]==='configured')console['log']('\x20\x20'+bold('@ranger-testing/opencode-plugin')+_0x2973a7(0x1a7)),_0xe0e08d[_0x2973a7(0x17a)]&&console['log']('\x20\x20'+_0xe0e08d['details']);else _0xe0e08d['status']===_0x5d43de['bGzNJ']?(console['log']('\x20\x20Not\x20configured'),_0xe0e08d['details']&&console['log']('\x20\x20'+_0xe0e08d['details']),console['log'](_0x5d43de[_0x2973a7(0x168)])):console['log'](_0x2973a7(0x178));console['log'](_0x5d43de['YBJtG']);const _0x354e0c=await getPluginInfo('ranger@trailhead');if(_0x354e0c){const _0xd37077=_0x354e0c['scope']||_0x5d43de['qAbJv'],_0x93cebc=_0x354e0c['enabled']?_0x2973a7(0x198):_0x2973a7(0x16d);console['log']('\x20\x20'+bold(_0x5d43de[_0x2973a7(0x18c)])+_0x2973a7(0x19e)+_0xd37077+',\x20'+_0x93cebc+')');}else console[_0x2973a7(0x1a5)]('\x20\x20Not\x20installed'),console[_0x2973a7(0x1a5)](_0x5d43de['xLjLd']);console['log']('\x0a---\x20Skills\x20---');const {project:_0x5828b7,user:_0x1773bf}=await _0x5d43de[_0x2973a7(0x16f)](getInstalledSkills),_0x18680a=_0x5828b7[_0x2973a7(0x194)](_0x152002=>RANGER_MANAGED_SKILLS['includes'](_0x152002['name'])),_0x45f8e0=_0x1773bf['filter'](_0x5b26c8=>RANGER_MANAGED_SKILLS[_0x2973a7(0x1bc)](_0x5b26c8[_0x2973a7(0x186)])),_0x480568=_0x18680a['length']+_0x45f8e0['length'];if(_0x5d43de[_0x2973a7(0x17b)](_0x480568,0x0))console['log']('No\x20skills\x20installed'),console['log'](_0x2973a7(0x1b5));else{if(_0x5d43de[_0x2973a7(0x173)](_0x18680a['length'],0x0)){console[_0x2973a7(0x1a5)](_0x5d43de['cHisx']);for(const _0x2a7399 of _0x18680a){console['log'](_0x2973a7(0x1a8)+bold(_0x2a7399[_0x2973a7(0x1c8)])+':\x20'+_0x5d43de[_0x2973a7(0x1c9)](link,_0x2a7399['path'],basename(_0x2a7399[_0x2973a7(0x1c6)])));}}if(_0x5d43de[_0x2973a7(0x173)](_0x45f8e0['length'],0x0)){console['log'](_0x2973a7(0x1ae));for(const _0x1397a3 of _0x45f8e0){console['log']('\x20\x20\x20\x20'+_0x5d43de['yJzhi'](bold,_0x1397a3['displayName'])+':\x20'+link(_0x1397a3['path'],basename(_0x1397a3['path'])));}}}console[_0x2973a7(0x1a5)]('\x0a---\x20Profiles\x20---');const {envs:_0x59b93a,activeEnv:_0x494321}=await _0x5d43de[_0x2973a7(0x196)](getEnvironments);if(_0x5d43de[_0x2973a7(0x17b)](_0x59b93a[_0x2973a7(0x1ac)],0x0))console['log']('No\x20profiles\x20configured'),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0xf958e4 of _0x59b93a){const _0x2e1ea2=_0xf958e4['isActive']?'\x20(active)':'',_0x4b96dd=_0xf958e4['hasEncryptedAuth']?_0x5d43de[_0x2973a7(0x192)]:_0xf958e4[_0x2973a7(0x199)]?_0x5d43de['eHNff']:_0x5d43de[_0x2973a7(0x1c1)];console[_0x2973a7(0x1a5)]('\x20\x20'+bold(_0xf958e4[_0x2973a7(0x186)])+_0x2e1ea2),console['log'](_0x2973a7(0x179)+_0x4b96dd),_0x5d43de[_0x2973a7(0x1b8)](_0xf958e4[_0x2973a7(0x17c)],_0x5d43de[_0x2973a7(0x195)])&&console['log'](_0x2973a7(0x18b)+link(_0xf958e4['settingsPath'],basename(_0xf958e4['settingsPath'])));}!_0x494321&&(console[_0x2973a7(0x1a5)]('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log'](_0x2973a7(0x185)+_0x59b93a['map'](_0x4e5598=>_0x4e5598[_0x2973a7(0x186)])['join'](',\x20')+')'));}console['log']('');}