@ranger-testing/ranger-cli 2.4.2 → 2.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/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 -0
  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/traceSnapshotMapper.js +1 -1
  66. package/build/commands/utils/userApi.js +1 -1
  67. package/build/commands/utils/version.js +1 -1
  68. package/build/commands/verifyFeature.js +1 -1
  69. package/build/commands/verifyFeatureCli.js +1 -1
  70. package/build/commands/verifyInBrowser.js +1 -1
  71. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x181ed0=_0x53e2;function _0x53e2(_0x3c34d9,_0x101419){_0x3c34d9=_0x3c34d9-0x107;const _0x595789=_0x5957();let _0x53e267=_0x595789[_0x3c34d9];return _0x53e267;}(function(_0x23bba4,_0xdda322){const _0x522683=_0x53e2,_0x5f359a=_0x23bba4();while(!![]){try{const _0x2747bc=-parseInt(_0x522683(0x10c))/0x1*(parseInt(_0x522683(0x120))/0x2)+parseInt(_0x522683(0x11f))/0x3*(-parseInt(_0x522683(0x110))/0x4)+parseInt(_0x522683(0x115))/0x5*(parseInt(_0x522683(0x11b))/0x6)+parseInt(_0x522683(0x114))/0x7+-parseInt(_0x522683(0x107))/0x8*(parseInt(_0x522683(0x11e))/0x9)+-parseInt(_0x522683(0x125))/0xa+parseInt(_0x522683(0x10d))/0xb*(parseInt(_0x522683(0x109))/0xc);if(_0x2747bc===_0xdda322)break;else _0x5f359a['push'](_0x5f359a['shift']());}catch(_0xabd5b5){_0x5f359a['push'](_0x5f359a['shift']());}}}(_0x5957,0xbc0e5));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x5957(){const _0x300b4e=['4413volgYq','11LBFrrv','MbFkc','=================================================================\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=================================================================','1933616QMoRPa','jGPRC','CLAUDE_ENV_FILE','env','7179319CZkAIb','35LdeVGz','log','WjCPv','\x20(Branch:\x20','session_id','SessionStart','973374YFbbaq','master','stdin','9CVpdBr','3riHSuK','238ZASccG','vxkyC','hook:session-start','source','oexer','13709370qiphOO','eYSDI','11637008jQxGok','export\x20CLAUDE_SESSION_ID=\x22','29318052TQVIhP','success','stringify'];_0x5957=function(){return _0x300b4e;};return _0x5957();}import{createTelemetryCollector}from'../utils/telemetry.js';const RANGER_AUTO_ENABLED_PROMPT=_0x181ed0(0x10f);export async function sessionStart(_0x1bfada){const _0x4c3eab=_0x181ed0,_0x406bfc={'ofBny':function(_0xde992,_0xe6a95d){return _0xde992||_0xe6a95d;},'hvRpl':_0x4c3eab(0x123),'oexer':function(_0x5ad302,_0x547137){return _0x5ad302&&_0x547137;},'WjCPv':function(_0x2e8066,_0xf577e1,_0x4cb4f8){return _0x2e8066(_0xf577e1,_0x4cb4f8);},'eYSDI':function(_0x45341b,_0x23c3de){return _0x45341b(_0x23c3de);},'PAykt':function(_0x327444,_0x16ccaf){return _0x327444(_0x16ccaf);},'MbFkc':_0x4c3eab(0x122),'jGPRC':function(_0x117c82,_0x72f9be){return _0x117c82!==_0x72f9be;},'vxkyC':_0x4c3eab(0x11c),'tWiUy':_0x4c3eab(0x11a),'UuedV':function(_0x5d0868,_0x3f8307){return _0x5d0868+_0x3f8307;}};let _0x2cbf70=_0x406bfc['ofBny'](_0x1bfada,''),_0x5a2db0;if(!_0x1bfada){let _0x352f53='';for await(const _0x43b0de of process[_0x4c3eab(0x11d)]){_0x352f53+=_0x43b0de;}try{const _0x393919=JSON['parse'](_0x352f53);_0x2cbf70=_0x393919[_0x4c3eab(0x119)]||'',_0x5a2db0=_0x393919[_0x406bfc['hvRpl']];}catch{}const _0xcf17ec=process[_0x4c3eab(0x113)][_0x4c3eab(0x112)];if(_0x406bfc[_0x4c3eab(0x124)](_0xcf17ec,_0x2cbf70))try{await _0x406bfc[_0x4c3eab(0x117)](appendFile,_0xcf17ec,_0x4c3eab(0x108)+_0x2cbf70+'\x22\x0a');}catch{}}if(_0x2cbf70){_0x406bfc[_0x4c3eab(0x126)](shouldAutoEnableAfterClear,_0x5a2db0)&&autoEnableAfterClear(_0x2cbf70);_0x406bfc['PAykt'](initBranchTracking,_0x2cbf70);const _0x309dc4=isSessionEnabled(_0x2cbf70);try{const _0x31667b=createTelemetryCollector(_0x406bfc[_0x4c3eab(0x10e)]);await _0x31667b['trackCommandStart']({'sessionId':_0x2cbf70,'hooksEnabled':_0x309dc4}),await _0x31667b['trackCommandEnd'](_0x4c3eab(0x10a));}catch{}if(_0x309dc4){const _0x129db3=getCurrentBranch(),_0x5d96d9=_0x129db3&&_0x406bfc[_0x4c3eab(0x111)](_0x129db3,'main')&&_0x406bfc[_0x4c3eab(0x111)](_0x129db3,_0x406bfc[_0x4c3eab(0x121)])?_0x4c3eab(0x118)+_0x129db3+')':'',_0x3ef90a={'hookSpecificOutput':{'hookEventName':_0x406bfc['tWiUy'],'additionalContext':_0x406bfc['UuedV'](RANGER_AUTO_ENABLED_PROMPT,_0x5d96d9)}};console[_0x4c3eab(0x116)](JSON[_0x4c3eab(0x10b)](_0x3ef90a));}}}
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 +1 @@
1
- (function(_0x1b3109,_0x501210){const _0x2fcb14=_0x1994,_0x4b820b=_0x1b3109();while(!![]){try{const _0x235edf=-parseInt(_0x2fcb14(0x167))/0x1+parseInt(_0x2fcb14(0x16f))/0x2+parseInt(_0x2fcb14(0x16b))/0x3+parseInt(_0x2fcb14(0x171))/0x4+parseInt(_0x2fcb14(0x160))/0x5*(-parseInt(_0x2fcb14(0x16d))/0x6)+-parseInt(_0x2fcb14(0x173))/0x7*(parseInt(_0x2fcb14(0x164))/0x8)+parseInt(_0x2fcb14(0x161))/0x9;if(_0x235edf===_0x501210)break;else _0x4b820b['push'](_0x4b820b['shift']());}catch(_0x14bb7f){_0x4b820b['push'](_0x4b820b['shift']());}}}(_0x1f91,0x67ab6));function _0x1994(_0x953ceb,_0x25a84c){_0x953ceb=_0x953ceb-0x160;const _0x1f91da=_0x1f91();let _0x1994d5=_0x1f91da[_0x953ceb];return _0x1994d5;}import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';function _0x1f91(){const _0x1a0437=['130805iAjyAU','9419616eYryRy','bYWEq','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','410944AAiyBN','stringify','currentSessionId','184898ORqihw','pxMsC','Yvlxm','verification_in_progress','190305oDQiDd','vzumR','174gcLAxS','trackCommandEnd','680336mBwNSs','featureId','699240tcCySx','status','35LOpTHL','KSAts','some','nSvbn'];_0x1f91=function(){return _0x1a0437;};return _0x1f91();}import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x45016f){const _0x33f93b=_0x1994,_0x5e54a3={'nSvbn':function(_0x325775,_0x4ba0f6){return _0x325775(_0x4ba0f6);},'Yvlxm':function(_0x52ee17,_0x156a53,_0x59003e,_0x33b109){return _0x52ee17(_0x156a53,_0x59003e,_0x33b109);},'vzumR':function(_0x2c8b66){return _0x2c8b66();},'KSAts':function(_0x2c480c,_0x10a0a3){return _0x2c480c&&_0x10a0a3;},'pxMsC':function(_0x1adc32,_0x2a42e9,_0x13dd5b,_0x309cf2){return _0x1adc32(_0x2a42e9,_0x13dd5b,_0x309cf2);}},_0x5cd137=await _0x5e54a3['nSvbn'](getEnabledHookContext,_0x45016f),_0x52ac15=_0x5cd137?.['sessionId']??null;let _0x1140b8=!![];if(!_0x52ac15){await _0x5e54a3[_0x33f93b(0x169)](trackStop,_0x52ac15,![],_0x1140b8);return;}try{const _0xdfb258=getSessionEntry(_0x52ac15);if(!_0xdfb258){await _0x5e54a3[_0x33f93b(0x169)](trackStop,_0x52ac15,!![],_0x1140b8);return;}const _0x37bf7a=await _0x5e54a3[_0x33f93b(0x16c)](getToken),_0x55a4ea='https://dashboard.ranger.net/features/'+_0xdfb258['featureId'];let _0x3f5c7b=null,_0x3a472c=![],_0x1a19ee=![];if(_0x37bf7a)try{const _0xc6421e=await _0x5e54a3[_0x33f93b(0x176)](getFeature,_0xdfb258[_0x33f93b(0x170)]);_0x3f5c7b=_0xc6421e[_0x33f93b(0x166)]??null;const _0x3ef0bb=_0xc6421e['checklistItems']['filter'](_0x1fe8f1=>_0x1fe8f1['sessionId']===_0x3f5c7b);_0x3a472c=_0x3ef0bb['some'](_0x20b75f=>_0x20b75f['status']!=='verified'&&_0x20b75f[_0x33f93b(0x172)]!=='blocked'&&_0x20b75f['status']!=='closed'&&_0x20b75f['status']!=='incomplete'),_0x1a19ee=_0x3ef0bb[_0x33f93b(0x175)](_0x392a15=>_0x392a15['status']===_0x33f93b(0x16a));}catch{}if(_0x37bf7a&&_0x3f5c7b&&_0x3a472c){if(!_0x1a19ee&&shouldShowStopReminder(_0x52ac15)){const _0x1a81b1={'hookSpecificOutput':{'hookEventName':'Stop','additionalContext':_0x33f93b(0x163)+_0x55a4ea}};console['log'](JSON[_0x33f93b(0x165)](_0x1a81b1));}}if(_0x5e54a3[_0x33f93b(0x174)](_0x37bf7a,_0x3f5c7b)&&!_0x3a472c)try{await concludeSession(_0xdfb258[_0x33f93b(0x170)],_0x3f5c7b);}catch{}await _0x5e54a3[_0x33f93b(0x168)](trackStop,_0x52ac15,!![],_0x1140b8);return;}catch{await trackStop(_0x52ac15,!![],_0x1140b8);return;}}async function trackStop(_0x19fadb,_0x20a4c1,_0x2062a5){const _0x4d9151=_0x1994,_0x199a18={'LSZaX':function(_0x258776,_0x2b033f){return _0x258776(_0x2b033f);},'bYWEq':'hook:stop'};try{const _0x482b2b=_0x199a18['LSZaX'](createTelemetryCollector,_0x199a18[_0x4d9151(0x162)]);await _0x482b2b['trackCommandStart']({'sessionId':_0x19fadb??undefined,'hooksEnabled':_0x20a4c1,'stopAllowed':_0x2062a5}),await _0x482b2b[_0x4d9151(0x16e)]('success');}catch{}}
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 +1 @@
1
- (function(_0x1549eb,_0x5a6edd){var _0x7f2358=_0x4a44,_0x1b73e2=_0x1549eb();while(!![]){try{var _0x452677=-parseInt(_0x7f2358(0xbb))/0x1+parseInt(_0x7f2358(0xb9))/0x2+-parseInt(_0x7f2358(0xb8))/0x3+parseInt(_0x7f2358(0xbf))/0x4+-parseInt(_0x7f2358(0xba))/0x5+parseInt(_0x7f2358(0xbe))/0x6+-parseInt(_0x7f2358(0xbc))/0x7*(-parseInt(_0x7f2358(0xbd))/0x8);if(_0x452677===_0x5a6edd)break;else _0x1b73e2['push'](_0x1b73e2['shift']());}catch(_0x17f605){_0x1b73e2['push'](_0x1b73e2['shift']());}}}(_0x1b58,0x50026));export{addEnv}from'./addEnv.js';function _0x1b58(){var _0x2a3567=['1661001ZMqtMm','1101422eslZcq','1870050RFKAXG','534088WtRpdq','2786RJZSYH','14552ZXAtOy','2039790aFjNTt','699380siYAid'];_0x1b58=function(){return _0x2a3567;};return _0x1b58();}export{clean}from'./clean.js';export{login}from'./login.js';export{start}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';function _0x4a44(_0x23f748,_0x1d4eac){_0x23f748=_0x23f748-0xb8;var _0x1b58d7=_0x1b58();var _0x4a44a0=_0x1b58d7[_0x23f748];return _0x4a44a0;}export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
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 +1 @@
1
- function _0x42a1(_0x3a8256,_0x1fb763){_0x3a8256=_0x3a8256-0x14b;const _0x5eed53=_0x5eed();let _0x42a17e=_0x5eed53[_0x3a8256];return _0x42a17e;}(function(_0x45d49f,_0x1ce61a){const _0x53056b=_0x42a1,_0x4f4b7d=_0x45d49f();while(!![]){try{const _0x1f35ae=-parseInt(_0x53056b(0x14b))/0x1*(-parseInt(_0x53056b(0x14c))/0x2)+-parseInt(_0x53056b(0x153))/0x3+parseInt(_0x53056b(0x151))/0x4*(parseInt(_0x53056b(0x152))/0x5)+-parseInt(_0x53056b(0x158))/0x6+parseInt(_0x53056b(0x155))/0x7+-parseInt(_0x53056b(0x156))/0x8*(parseInt(_0x53056b(0x157))/0x9)+parseInt(_0x53056b(0x150))/0xa*(-parseInt(_0x53056b(0x14f))/0xb);if(_0x1f35ae===_0x1ce61a)break;else _0x4f4b7d['push'](_0x4f4b7d['shift']());}catch(_0x5d2f6a){_0x4f4b7d['push'](_0x4f4b7d['shift']());}}}(_0x5eed,0xe1874));function _0x5eed(){const _0x204b7b=['NGVfQ','log','success','organizationName','586wlLJAZ','5062xcxylI','\x0a✅\x20API\x20key\x20stored\x20successfully','user','7579oKwQWd','14410HLvdCV','16SIMyDG','805965dFlmRM','1142457MbqFnH','stdin','2047689CpGbvW','373112KStviL','9jMwrzB','458364bejMRo'];_0x5eed=function(){return _0x204b7b;};return _0x5eed();}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x324866=_0x42a1,_0x3caf12={'jLHUi':function(_0x42f79c){return _0x42f79c();},'NGVfQ':function(_0x110c03,_0x3cae41){return _0x110c03(_0x3cae41);}},_0x529068=process[_0x324866(0x154)]['isTTY']&&process['stdout']['isTTY'];if(!_0x529068)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x416393=await _0x3caf12['jLHUi'](runDeviceAuthFlow),_0x5614e5=await _0x3caf12[_0x324866(0x159)](getCurrentUser,_0x416393);_0x5614e5[_0x324866(0x15b)]?console[_0x324866(0x15a)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x5614e5[_0x324866(0x14e)][_0x324866(0x15c)]):console['log'](_0x324866(0x14d));}catch(_0x3e6a18){throw new Error('Login\x20failed:\x20'+(_0x3e6a18 instanceof Error?_0x3e6a18['message']:_0x3e6a18));}}
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 +1 @@
1
- (function(_0x2f1e26,_0x44ec09){const _0x5b8268=_0x452c,_0x54bf33=_0x2f1e26();while(!![]){try{const _0x2e5a39=-parseInt(_0x5b8268(0x122))/0x1*(-parseInt(_0x5b8268(0x112))/0x2)+-parseInt(_0x5b8268(0x10d))/0x3+parseInt(_0x5b8268(0x13c))/0x4*(parseInt(_0x5b8268(0x135))/0x5)+parseInt(_0x5b8268(0x12e))/0x6+parseInt(_0x5b8268(0x127))/0x7*(parseInt(_0x5b8268(0x136))/0x8)+-parseInt(_0x5b8268(0x11d))/0x9+parseInt(_0x5b8268(0x131))/0xa*(parseInt(_0x5b8268(0x116))/0xb);if(_0x2e5a39===_0x44ec09)break;else _0x54bf33['push'](_0x54bf33['shift']());}catch(_0x2a8ef4){_0x54bf33['push'](_0x54bf33['shift']());}}}(_0x138e,0xd228a));import{join}from'path';import{existsSync}from'fs';import _0x20a374 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x452c(_0x32dcb1,_0x2673c5){_0x32dcb1=_0x32dcb1-0x10b;const _0x138e02=_0x138e();let _0x452c00=_0x138e02[_0x32dcb1];return _0x452c00;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x22d552){const _0x22ebe9=_0x452c,_0x52c8ac={'rZLvx':'ranger@trailhead','Poscu':_0x22ebe9(0x11f),'LjnOL':function(_0x53cf9e){return _0x53cf9e();},'xiZtR':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','XSZNC':'user','biZOt':_0x22ebe9(0x123),'FVHKA':_0x22ebe9(0x119),'MLiAx':_0x22ebe9(0x11c),'KEIFl':function(_0x121115,_0x2f03a3){return _0x121115(_0x2f03a3);},'QfvCF':_0x22ebe9(0x129),'tkgAD':_0x22ebe9(0x10b),'lLHxv':'install','ToHxJ':'--scope','sBXKa':_0x22ebe9(0x140),'qLlqK':function(_0x6f90be,_0x34f48e){return _0x6f90be===_0x34f48e;},'kEgfH':function(_0x673676,_0x4388ef,_0x15c426){return _0x673676(_0x4388ef,_0x15c426);},'gioya':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x5c2854=await isPluginInstalled(_0x52c8ac['rZLvx']);if(_0x5c2854)return console['log'](_0x52c8ac[_0x22ebe9(0x11a)]),![];const _0x3bb591=existsSync(join(_0x52c8ac[_0x22ebe9(0x12f)](getProjectRoot),'.claude'));let _0x242a1a;if(_0x22d552)_0x242a1a=_0x22d552;else{if(_0x3bb591)_0x242a1a='project';else{console['log'](_0x52c8ac['xiZtR']);const _0x153031=await _0x20a374[_0x22ebe9(0x118)]([{'type':'list','name':_0x22ebe9(0x134),'message':_0x22ebe9(0x139),'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x52c8ac['XSZNC']},{'name':_0x52c8ac['biZOt'],'value':_0x52c8ac[_0x22ebe9(0x10c)]}],'default':_0x22ebe9(0x10f)}]);_0x242a1a=_0x153031[_0x22ebe9(0x134)];}}console['log'](_0x22ebe9(0x133)+_0x242a1a+_0x22ebe9(0x120));const _0x3a68a1=await isMarketplaceAdded(_0x22ebe9(0x13d));let _0x229046=_0x3a68a1;if(_0x3a68a1)console['log'](_0x52c8ac[_0x22ebe9(0x125)]);else{const _0x539c2a=await _0x52c8ac['KEIFl'](runClaudeCommand,[_0x22ebe9(0x10b),_0x52c8ac[_0x22ebe9(0x138)],'add','ranger-testing/trailhead']);!_0x539c2a['success']?(console['error']('❌\x20Failed\x20to\x20add\x20marketplace:',_0x539c2a[_0x22ebe9(0x13a)]),console[_0x22ebe9(0x111)](_0x22ebe9(0x113)),console['log'](_0x22ebe9(0x11b)),console[_0x22ebe9(0x111)](_0x22ebe9(0x13b)+_0x242a1a)):_0x229046=!![];}if(_0x229046){const _0x1e1ea3=await runClaudeCommand([_0x52c8ac['tkgAD'],_0x52c8ac[_0x22ebe9(0x12b)],_0x52c8ac[_0x22ebe9(0x114)],_0x52c8ac[_0x22ebe9(0x12d)],_0x242a1a]);if(!_0x1e1ea3[_0x22ebe9(0x110)])console['error'](_0x52c8ac['sBXKa'],_0x1e1ea3['error']),console[_0x22ebe9(0x111)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x22ebe9(0x111)](_0x22ebe9(0x13b)+_0x242a1a);else{console['log']('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x3fdf94=['plugin',_0x22ebe9(0x130),'ranger@trailhead'];_0x52c8ac['qLlqK'](_0x242a1a,_0x22ebe9(0x119))&&_0x3fdf94['push'](_0x52c8ac[_0x22ebe9(0x12d)],'project');const _0x4d991f=await _0x52c8ac[_0x22ebe9(0x11e)](runClaudeCommand,_0x3fdf94,{'captureOutput':!![]}),_0x257622=_0x4d991f['output']?.[_0x22ebe9(0x141)](_0x22ebe9(0x126));!_0x4d991f[_0x22ebe9(0x110)]&&!_0x257622?console[_0x22ebe9(0x13a)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x4d991f['error']):console['log'](_0x52c8ac[_0x22ebe9(0x142)]);}}return!![];}export async function ensureClaudeSkills(_0x5e3d43){const _0x17a314=_0x452c,_0x33b372={'xvaVB':function(_0x2d9cd5,_0x50cbd9){return _0x2d9cd5(_0x50cbd9);},'HGhFU':function(_0x452170,_0x244dfa,_0x229002,_0x353f6c){return _0x452170(_0x244dfa,_0x229002,_0x353f6c);},'nhTPd':'user','PdfXH':_0x17a314(0x12c),'LewRS':_0x17a314(0x119),'pVWSL':function(_0x23cafd,_0x426a9e){return _0x23cafd||_0x426a9e;},'yOXKd':function(_0x2bab3c){return _0x2bab3c();},'lvEVg':function(_0x208f5f,_0x104088){return _0x208f5f(_0x104088);},'PXqqr':function(_0x4b11e1,_0x1422e4){return _0x4b11e1(_0x1422e4);},'rKfrU':_0x17a314(0x121)},_0x474eed=_0x33b372[_0x17a314(0x117)](existsSync,_0x33b372['HGhFU'](join,_0x33b372[_0x17a314(0x117)](getSkillsDir,_0x33b372[_0x17a314(0x128)]),'ranger',_0x33b372[_0x17a314(0x137)])),_0x47d3d2=existsSync(join(getSkillsDir(_0x33b372[_0x17a314(0x13e)]),_0x17a314(0x13f),_0x17a314(0x12c)));if(_0x33b372['pVWSL'](_0x474eed,_0x47d3d2))return console[_0x17a314(0x111)](_0x17a314(0x124)),![];const _0x2501d4=existsSync(join(_0x33b372[_0x17a314(0x10e)](getProjectRoot),'.claude'));let _0x274608=!![];if(_0x5e3d43)await _0x33b372[_0x17a314(0x12a)](skillup,{'autoInstall':_0x5e3d43,'suppressUsage':!![]});else{if(_0x2501d4)await _0x33b372['PXqqr'](skillup,{'autoInstall':_0x17a314(0x119),'suppressUsage':!![]});else{const _0x34725e=await _0x20a374['prompt']([{'type':_0x33b372[_0x17a314(0x132)],'name':_0x17a314(0x115),'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x274608=_0x34725e[_0x17a314(0x115)],_0x274608&&await skillup({'suppressUsage':!![]});}}return _0x274608;}function _0x138e(){const _0xa2af47=['1005IJbyLI','23928xxQJRL','PdfXH','QfvCF','Where\x20should\x20the\x20plugin\x20be\x20installed?','error','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','1884FgizeB','trailhead','LewRS','ranger','❌\x20Failed\x20to\x20install\x20plugin:','includes','gioya','plugin','FVHKA','3902490wNMgoB','yOXKd','user','success','log','6eclQEQ','\x0aYou\x20can\x20install\x20manually\x20with:','rZLvx','wantsSkillup','37048WcnJrb','xvaVB','prompt','project','Poscu','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','✓\x20Marketplace\x20already\x20added','2899134yrNJPB','kEgfH','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','\x20level)...\x0a','confirm','18498uUverY','Project\x20(shared\x20with\x20team\x20via\x20git)','✓\x20Ranger\x20skills\x20already\x20installed','MLiAx','already\x20enabled','1162uSRjak','nhTPd','marketplace','lvEVg','lLHxv','SKILL.md','ToHxJ','170874tTJygA','LjnOL','enable','5370McVvff','rKfrU','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','pluginScope'];_0x138e=function(){return _0xa2af47;};return _0x138e();}
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 +1 @@
1
- (function(_0x96e577,_0x5899d7){const _0x460408=_0x232c,_0x126584=_0x96e577();while(!![]){try{const _0x27dbc0=-parseInt(_0x460408(0x85))/0x1*(parseInt(_0x460408(0x70))/0x2)+-parseInt(_0x460408(0x82))/0x3*(parseInt(_0x460408(0x6b))/0x4)+parseInt(_0x460408(0x76))/0x5+-parseInt(_0x460408(0x71))/0x6+parseInt(_0x460408(0x86))/0x7*(parseInt(_0x460408(0x6a))/0x8)+parseInt(_0x460408(0x75))/0x9+-parseInt(_0x460408(0x87))/0xa*(-parseInt(_0x460408(0x6d))/0xb);if(_0x27dbc0===_0x5899d7)break;else _0x126584['push'](_0x126584['shift']());}catch(_0x1ae069){_0x126584['push'](_0x126584['shift']());}}}(_0x7199,0x6c84a));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x7199(){const _0x4f8df4=['14202221MGqfYJ','log','user','468332ewAKsy','2935350yHmaUW','$schema','cnZKQ','prompt','2448891GXvmpt','1304330wENxwq','\x0a📦\x20OpenCode\x20Plugin\x0a','CUhos','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','odCqE','list','✓\x20OpenCode\x20plugin\x20already\x20configured','project','https://opencode.ai/config.json','MEfYr','pluginScope','opencode.json','2391IUlqjp','stringify','@ranger-testing/opencode-plugin','1jadazy','252fVbMUt','10gOvmuw','plugin','User\x20(available\x20in\x20all\x20your\x20projects)','42448KZDWoc','4252VaxjyE','Project\x20(shared\x20with\x20team\x20via\x20git)'];_0x7199=function(){return _0x4f8df4;};return _0x7199();}import _0x53ca31 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x232c(_0x5bf7bd,_0x1571a5){_0x5bf7bd=_0x5bf7bd-0x68;const _0x719963=_0x7199();let _0x232ceb=_0x719963[_0x5bf7bd];return _0x232ceb;}export async function ensureOpencodePluginConfig(_0x30ce6d){const _0x21b39b=_0x232c,_0x2e4883={'cnZKQ':function(_0x2c7832,_0x278193){return _0x2c7832(_0x278193);},'CUhos':function(_0x3a58e7,_0x2bcaf4){return _0x3a58e7(_0x2bcaf4);},'UkeSn':'project','YGpZO':_0x21b39b(0x77),'wLSLn':_0x21b39b(0x7b),'odCqE':'Where\x20should\x20the\x20plugin\x20be\x20installed?','RCVHA':_0x21b39b(0x6f),'sYzli':_0x21b39b(0x84),'MEfYr':function(_0x513918,_0x2a73d1,_0x6283bd){return _0x513918(_0x2a73d1,_0x6283bd);},'cQbZj':'utf-8','keuXO':_0x21b39b(0x79)},_0x12cdeb=_0x2e4883[_0x21b39b(0x73)](existsSync,join(_0x2e4883[_0x21b39b(0x78)](getOpencodeConfigDir,_0x2e4883['UkeSn']),_0x21b39b(0x81)));let _0x4bc3ec;if(_0x30ce6d)_0x4bc3ec=_0x30ce6d;else{if(_0x12cdeb)_0x4bc3ec=_0x21b39b(0x7d);else{console[_0x21b39b(0x6e)](_0x2e4883['YGpZO']);const _0x2b5e75=await _0x53ca31[_0x21b39b(0x74)]([{'type':_0x2e4883['wLSLn'],'name':_0x21b39b(0x80),'message':_0x2e4883[_0x21b39b(0x7a)],'choices':[{'name':_0x21b39b(0x69),'value':'user'},{'name':_0x21b39b(0x6c),'value':_0x2e4883['UkeSn']}],'default':_0x2e4883['RCVHA']}]);_0x4bc3ec=_0x2b5e75['pluginScope'];}}const _0x4dd7bc=join(_0x2e4883['CUhos'](getOpencodeConfigDir,_0x4bc3ec),_0x21b39b(0x81)),_0x3ca800=_0x2e4883['sYzli'],_0x238c83=_0x21b39b(0x7e);let _0x380b2e={};if(existsSync(_0x4dd7bc))try{const _0x3a0a06=await _0x2e4883[_0x21b39b(0x7f)](readFile,_0x4dd7bc,_0x2e4883['cQbZj']);_0x380b2e=JSON['parse'](_0x3a0a06);}catch(_0x41d26f){return console['error'](_0x2e4883['keuXO']),{'configured':![],'scope':_0x4bc3ec,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x41d26f};}const _0x26d458=Array['isArray'](_0x380b2e['plugin'])?_0x380b2e['plugin']:[];if(_0x26d458['includes'](_0x3ca800))return console[_0x21b39b(0x6e)](_0x21b39b(0x7c)),{'configured':![],'scope':_0x4bc3ec};return _0x380b2e[_0x21b39b(0x72)]=_0x380b2e[_0x21b39b(0x72)]||_0x238c83,_0x380b2e[_0x21b39b(0x68)]=[..._0x26d458,_0x3ca800],await mkdir(getOpencodeConfigDir(_0x4bc3ec),{'recursive':!![]}),await _0x2e4883[_0x21b39b(0x7f)](writeFile,_0x4dd7bc,JSON[_0x21b39b(0x83)](_0x380b2e,null,0x2)+'\x0a'),console['log']('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x4bc3ec};}
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 +1 @@
1
- (function(_0x4569f6,_0x296eb6){const _0x3ad01d=_0x42c5,_0x32561b=_0x4569f6();while(!![]){try{const _0x3a157a=-parseInt(_0x3ad01d(0x191))/0x1+parseInt(_0x3ad01d(0x176))/0x2+-parseInt(_0x3ad01d(0x16c))/0x3*(parseInt(_0x3ad01d(0x199))/0x4)+parseInt(_0x3ad01d(0x18e))/0x5+parseInt(_0x3ad01d(0x169))/0x6*(parseInt(_0x3ad01d(0x16b))/0x7)+-parseInt(_0x3ad01d(0x195))/0x8*(-parseInt(_0x3ad01d(0x197))/0x9)+parseInt(_0x3ad01d(0x196))/0xa*(-parseInt(_0x3ad01d(0x198))/0xb);if(_0x3a157a===_0x296eb6)break;else _0x32561b['push'](_0x32561b['shift']());}catch(_0x3a5a3a){_0x32561b['push'](_0x32561b['shift']());}}}(_0x25b2,0x5f2df));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';function _0x25b2(){const _0x225d53=['45GMLhBV','64295ejmTUh','28nyiDJL','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','path','MeyGi','tnqgX','isDirectory','baseUrl','trackPhaseEnd','profile','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','project','AfsgQ','MpqSr','174JgCyKo','fEdGj','123746lXOkoZ','260757MihyCC','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','trackPhaseStart','qFEPJ','filter','KCOuN','plugin','error','oLrYl','ZMNcU','420430WZukHA','Multiple\x20CI\x20profiles\x20found:\x20','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','✓\x20Claude\x20Code\x20plugin\x20installed','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','Zpzty','auth.json.enc','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','log','wKkCP','lrzgd','OEhTu','tnWmq','dir_setup','wJQFv','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','length','name','chromium','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','skills','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','Failed\x20to\x20add\x20marketplace:','oycsM','3535050NOAaFY','ranger@trailhead','VMHjq','288319AzROCP','profile_activate','✓\x20Marketplace\x20already\x20added','HVBmD','154184dZfmIa','410xILHeu'];_0x25b2=function(){return _0x225d53;};return _0x25b2();}import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x139eea){const _0x383042=_0x42c5,_0x364fc0={'AfsgQ':function(_0x3fab50,_0xa97a40,_0x1602c4){return _0x3fab50(_0xa97a40,_0x1602c4);},'Zpzty':function(_0x1c61a0,_0x3e700d,_0x5f4fa4){return _0x1c61a0(_0x3e700d,_0x5f4fa4);},'MeyGi':function(_0x144a4a,_0x30d451){return _0x144a4a(_0x30d451);},'tnWmq':'No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','bckgu':function(_0x27f329,_0xcf3426){return _0x27f329+_0xcf3426;},'HVBmD':function(_0x159a6a,_0x15a36b){return _0x159a6a===_0x15a36b;},'buycT':function(_0xfb52f4,_0x690f2,_0x301e24){return _0xfb52f4(_0x690f2,_0x301e24);}},_0x5903a0=getRangerDir(),_0x17ad5c=_0x364fc0[_0x383042(0x1a4)](join,_0x5903a0,'ci');if(_0x139eea){const _0x573655=_0x364fc0[_0x383042(0x17b)](join,_0x17ad5c,_0x139eea);return{'name':_0x139eea,'path':_0x573655};}if(!_0x364fc0[_0x383042(0x19c)](existsSync,_0x17ad5c))throw new Error(_0x364fc0[_0x383042(0x182)]+'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.');const _0x1a0c31=await readdir(_0x17ad5c,{'withFileTypes':!![]}),_0x449e3c=_0x1a0c31[_0x383042(0x170)](_0x4d2e01=>_0x4d2e01[_0x383042(0x19e)]())['map'](_0xd02684=>_0xd02684['name']);if(_0x449e3c[_0x383042(0x186)]===0x0)throw new Error(_0x364fc0['bckgu'](_0x383042(0x17a),'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.'));if(_0x364fc0[_0x383042(0x194)](_0x449e3c[_0x383042(0x186)],0x1)){const _0x12d0ea=_0x449e3c[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x12d0ea),{'name':_0x12d0ea,'path':_0x364fc0['buycT'](join,_0x17ad5c,_0x12d0ea)};}throw new Error(_0x383042(0x177)+_0x449e3c['join'](',\x20')+_0x383042(0x18b));}function _0x42c5(_0x30f5fc,_0x2dd80d){_0x30f5fc=_0x30f5fc-0x168;const _0x25b23f=_0x25b2();let _0x42c57a=_0x25b23f[_0x30f5fc];return _0x42c57a;}async function installPluginNonInteractive(){const _0x1a575f=_0x42c5,_0x48e5d8={'xWtuC':function(_0x10ad00,_0x43c566){return _0x10ad00(_0x43c566);},'OIMlQ':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','ISLjD':_0x1a575f(0x193),'WuHBK':_0x1a575f(0x172),'RUBnC':'add','lJOkE':'ranger-testing/trailhead','RJuad':_0x1a575f(0x189),'KCOuN':'install','EEGsm':'ranger@trailhead','lrzgd':'--scope','wJQFv':_0x1a575f(0x179)},_0x55f80d=await _0x48e5d8['xWtuC'](isPluginInstalled,_0x1a575f(0x18f));if(_0x55f80d)return console[_0x1a575f(0x17e)](_0x48e5d8['OIMlQ']),![];console[_0x1a575f(0x17e)](_0x1a575f(0x17d));const _0x1cdf55=await isMarketplaceAdded('trailhead');let _0x5eee1c=_0x1cdf55;if(_0x1cdf55)console[_0x1a575f(0x17e)](_0x48e5d8['ISLjD']);else{const _0x17689e=await runClaudeCommand([_0x48e5d8['WuHBK'],'marketplace',_0x48e5d8['RUBnC'],_0x48e5d8['lJOkE']]);!_0x17689e['success']?(console[_0x1a575f(0x173)](_0x1a575f(0x18c),_0x17689e['error']),console[_0x1a575f(0x17e)](_0x48e5d8['RJuad'])):_0x5eee1c=!![];}if(_0x5eee1c){const _0x413bc2=await runClaudeCommand(['plugin',_0x48e5d8[_0x1a575f(0x171)],_0x48e5d8['EEGsm'],_0x48e5d8[_0x1a575f(0x180)],'project']);!_0x413bc2['success']?(console[_0x1a575f(0x173)]('Failed\x20to\x20install\x20plugin:',_0x413bc2['error']),console[_0x1a575f(0x17e)](_0x1a575f(0x16d))):console[_0x1a575f(0x17e)](_0x48e5d8[_0x1a575f(0x184)]);}return!![];}export async function setupCi(_0x2f8bc4,_0x48c0cd,_0x39c5e6){const _0x473f3a=_0x42c5,_0x4a994c={'oLrYl':'auth','fEdGj':function(_0x902262,_0xa48dbd){return _0x902262(_0xa48dbd);},'tnqgX':_0x473f3a(0x183),'VMHjq':function(_0xede7a2,_0x176a99,_0x3411b9){return _0xede7a2(_0x176a99,_0x3411b9);},'Aomaa':function(_0x32e98a){return _0x32e98a();},'wUdjN':'chromium','ZMNcU':function(_0x36cdad,_0x3dd7c1,_0x2ec68a){return _0x36cdad(_0x3dd7c1,_0x2ec68a);},'OEhTu':'settings.json','gseCw':'auth.json','oycsM':function(_0x2d4407,_0x348dc8,_0x137acc){return _0x2d4407(_0x348dc8,_0x137acc);},'qFEPJ':_0x473f3a(0x17c),'iouqs':function(_0x75b9ea){return _0x75b9ea();},'MpqSr':'No\x20API\x20token\x20available\x20for\x20decryption','PvDcg':'✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','kgiqP':_0x473f3a(0x1a2),'wKkCP':_0x473f3a(0x192),'FuAiE':_0x473f3a(0x172)};console[_0x473f3a(0x17e)](_0x473f3a(0x19a)),_0x39c5e6?.['trackPhaseStart'](_0x4a994c[_0x473f3a(0x174)]),await _0x4a994c[_0x473f3a(0x16a)](authenticate,_0x2f8bc4),_0x39c5e6?.[_0x473f3a(0x1a0)](_0x4a994c['oLrYl']),_0x39c5e6?.[_0x473f3a(0x16e)](_0x4a994c[_0x473f3a(0x19d)]);const {path:_0x3541a,installed:_0x21b3b9}=await ensureRangerDir();await _0x4a994c[_0x473f3a(0x16a)](writeRangerGitignore,_0x3541a);const _0x3b5e29=_0x4a994c[_0x473f3a(0x190)](join,_0x3541a,'sessions');!existsSync(_0x3b5e29)&&await mkdir(_0x3b5e29,{'recursive':!![]});_0x39c5e6?.[_0x473f3a(0x1a0)]('dir_setup',{'installed':_0x21b3b9}),_0x39c5e6?.['trackPhaseStart'](_0x473f3a(0x188));let _0x15b94d=![];_0x48c0cd?.['skipChromium']?console['log'](_0x473f3a(0x178)):_0x15b94d=await _0x4a994c['Aomaa'](ensureChromium);_0x39c5e6?.['trackPhaseEnd'](_0x4a994c['wUdjN'],{'installed':_0x15b94d,'skipped':!!_0x48c0cd?.['skipChromium']}),_0x39c5e6?.[_0x473f3a(0x16e)](_0x473f3a(0x192));const _0x4a4e76=await findCiProfile(_0x48c0cd?.[_0x473f3a(0x1a1)]);let _0x469ab1=![];_0x48c0cd?.[_0x473f3a(0x19f)]&&(await _0x4a994c[_0x473f3a(0x175)](mkdir,_0x4a4e76[_0x473f3a(0x19b)],{'recursive':!![]}),await saveSettings(_0x4a4e76['name'],{'baseUrl':_0x48c0cd['baseUrl'],'headless':!![]}),console[_0x473f3a(0x17e)]('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x48c0cd['baseUrl']),_0x469ab1=!![]);const _0x361d07=_0x4a994c['VMHjq'](join,_0x4a4e76['path'],_0x4a994c[_0x473f3a(0x181)]);if(!_0x4a994c['fEdGj'](existsSync,_0x361d07)&&!_0x469ab1)throw new Error('CI\x20profile\x20\x22'+_0x4a4e76['name']+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x3b70bb=_0x4a994c['ZMNcU'](join,_0x4a4e76['path'],_0x4a994c['gseCw']),_0x517975=_0x4a994c['oycsM'](join,_0x4a4e76['path'],_0x4a994c[_0x473f3a(0x16f)]),_0x4a8c23=existsSync(_0x3b70bb),_0x12b2ce=existsSync(_0x517975);if(_0x12b2ce)try{const _0x575cb9=await _0x4a994c['iouqs'](getToken);if(!_0x575cb9)throw new Error(_0x4a994c[_0x473f3a(0x168)]);const _0x1aa5b0=await readFile(_0x517975);_0x4a994c[_0x473f3a(0x18d)](decrypt,_0x1aa5b0,_0x575cb9),console[_0x473f3a(0x17e)](_0x4a994c['PvDcg']);}catch(_0x49d8d3){const _0x5e1286=_0x49d8d3 instanceof Error?_0x49d8d3['message']:String(_0x49d8d3);throw new Error(_0x473f3a(0x185)+_0x4a4e76[_0x473f3a(0x187)]+'\x22:\x20'+_0x5e1286);}else _0x4a8c23?console['log']('✓\x20Auth\x20state\x20found'):console[_0x473f3a(0x17e)](_0x4a994c['kgiqP']);await _0x4a994c['fEdGj'](writeActiveProfileName,_0x4a4e76['name']),console['log']('✓\x20Active\x20profile:\x20'+_0x4a4e76['name']),_0x39c5e6?.['trackPhaseEnd'](_0x4a994c[_0x473f3a(0x17f)],{'profileName':_0x4a4e76['name'],'hasAuth':_0x4a8c23,'hasEncryptedAuth':_0x12b2ce,'createdSettings':_0x469ab1}),_0x39c5e6?.['trackPhaseStart'](_0x473f3a(0x172));const _0x185dcb=await installPluginNonInteractive();_0x39c5e6?.['trackPhaseEnd'](_0x4a994c['FuAiE'],{'installed':_0x185dcb}),_0x39c5e6?.[_0x473f3a(0x16e)](_0x473f3a(0x18a)),await skillup({'autoInstall':_0x473f3a(0x1a3)}),_0x39c5e6?.['trackPhaseEnd'](_0x473f3a(0x18a)),console['log']('\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a');}
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 +1 @@
1
- (function(_0x555760,_0xae5af4){const _0x55b20b=_0x3646,_0x29df01=_0x555760();while(!![]){try{const _0x41d4d1=parseInt(_0x55b20b(0x18a))/0x1+parseInt(_0x55b20b(0x1b0))/0x2+-parseInt(_0x55b20b(0x192))/0x3*(parseInt(_0x55b20b(0x195))/0x4)+-parseInt(_0x55b20b(0x1a9))/0x5*(parseInt(_0x55b20b(0x1a4))/0x6)+-parseInt(_0x55b20b(0x19a))/0x7+-parseInt(_0x55b20b(0x1aa))/0x8*(-parseInt(_0x55b20b(0x196))/0x9)+parseInt(_0x55b20b(0x1a0))/0xa;if(_0x41d4d1===_0xae5af4)break;else _0x29df01['push'](_0x29df01['shift']());}catch(_0x4bc337){_0x29df01['push'](_0x29df01['shift']());}}}(_0x11e1,0x27906));function _0x3646(_0x43d3f9,_0x480a73){_0x43d3f9=_0x43d3f9-0x185;const _0x11e18e=_0x11e1();let _0x36467f=_0x11e18e[_0x43d3f9];return _0x36467f;}import{basename}from'path';import _0x62e0c3 from'inquirer';import{getToken}from'./utils/keychain.js';function _0x11e1(){const _0x416c80=['844wRjMSR','236538gIoePe','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','2|5|1|0|3|4','ranger','1500226rXpDta','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','installLevel','isTTY','To\x20use:','/.claude/skills/','4718200zOrsft','opencode','\x20\x203.\x20Run:\x20ranger\x20skillup','fTkUe','2184tbqUBx','\x20--opencode','\x0a📦\x20Installing\x20skills...\x0a','lxPCT','GBkNB','3200VmMELo','16ALjKmy','autoInstall','JOfqB','kiLSx','stdin','log','151004ZrWRzU','platform','\x0a✅\x20Installed\x20','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','warn','OJPOY','All\x20projects\x20(','\x20skill','266233wAjtRx','\x20\x202.\x20Run:\x20ranger\x20setup','zggOg','claude','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','suppressUsage','prompt','dcjOU','3651yRLTjp','uaFWh','/skills/'];_0x11e1=function(){return _0x416c80;};return _0x11e1();}import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x1aa5ed={}){const _0x42c92d=_0x3646,_0x1482b4={'OJPOY':function(_0x377483){return _0x377483();},'pRuZE':function(_0x1770ae,_0x40d056){return _0x1770ae===_0x40d056;},'zggOg':'opencode','MBExm':'\x20--opencode','oviMG':'To\x20get\x20started:','uaFWh':'user','dcjOU':'installLevel','JOfqB':'project','kiLSx':function(_0x8e18e7,_0x48e095,_0x333b12){return _0x8e18e7(_0x48e095,_0x333b12);},'GBkNB':_0x42c92d(0x199),'neJKY':function(_0x67358e,_0x78c327){return _0x67358e instanceof _0x78c327;},'lxPCT':function(_0x4892df,_0x4a7171){return _0x4892df>_0x4a7171;},'fdWEs':function(_0xe2d2bb,_0x35382c){return _0xe2d2bb>_0x35382c;},'goAfb':_0x42c92d(0x19e),'fTkUe':_0x42c92d(0x197),'CkBFB':'\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!','Myydc':_0x42c92d(0x185)};console[_0x42c92d(0x1af)](_0x42c92d(0x19b));const _0x13996a=_0x1aa5ed[_0x42c92d(0x1b1)]??_0x42c92d(0x18d),_0x200c89=await _0x1482b4[_0x42c92d(0x187)](getToken);if(!_0x200c89){const _0x143a01=_0x42c92d(0x198)['split']('|');let _0x19cc72=0x0;while(!![]){switch(_0x143a01[_0x19cc72++]){case'0':console[_0x42c92d(0x1af)](_0x42c92d(0x18b)+(_0x1482b4['pRuZE'](_0x13996a,_0x1482b4[_0x42c92d(0x18c)])?_0x1482b4['MBExm']:'')+'\x20<your-api-token>');continue;case'1':console[_0x42c92d(0x1af)]('\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli');continue;case'2':console['log']('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a');continue;case'3':console['log'](_0x42c92d(0x1a2)+(_0x13996a===_0x1482b4['zggOg']?_0x42c92d(0x1a5):'')+'\x0a');continue;case'4':return;case'5':console['log'](_0x1482b4['oviMG']);continue;}break;}}console[_0x42c92d(0x1af)]('✓\x20Found\x20API\x20token');const _0x434c22=_0x1482b4[_0x42c92d(0x187)](getProjectRoot),_0x27b670=basename(_0x434c22),_0x5dcc1a=_0x13996a===_0x1482b4['zggOg']?getOpencodeConfigDir(_0x1482b4[_0x42c92d(0x193)])+'/skills/':getClaudeConfigDir()+_0x42c92d(0x194),_0x567fd4=_0x13996a==='opencode'?_0x434c22+'/.opencode/skills/':_0x434c22+_0x42c92d(0x19f),_0x59d744=process[_0x42c92d(0x1ae)][_0x42c92d(0x19d)]&&process['stdout'][_0x42c92d(0x19d)];let _0x516b72;if(_0x1aa5ed['autoInstall'])_0x516b72=_0x1aa5ed[_0x42c92d(0x1ab)];else{if(_0x59d744){const _0x58a6ab=await _0x62e0c3[_0x42c92d(0x190)]([{'type':'list','name':_0x1482b4[_0x42c92d(0x191)],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':_0x42c92d(0x188)+_0x5dcc1a+')','value':_0x1482b4[_0x42c92d(0x193)]},{'name':'This\x20project\x20only\x20('+_0x567fd4+')','value':_0x1482b4[_0x42c92d(0x1ac)]}]}]);_0x516b72=_0x58a6ab[_0x42c92d(0x19c)];}else _0x516b72=_0x1482b4['JOfqB'],console[_0x42c92d(0x1af)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x567fd4+')');}let _0xed6581=0x0;const _0x43d91=getCurrentVersion();console[_0x42c92d(0x1af)](_0x42c92d(0x1a6));try{const _0x299620=await _0x1482b4[_0x42c92d(0x1ad)](installSkill,_0x1482b4[_0x42c92d(0x1a8)],{'cliVersion':_0x43d91,'level':_0x516b72,'platform':_0x13996a});_0x299620&&_0xed6581++;}catch(_0x1cc86a){console[_0x42c92d(0x186)](_0x42c92d(0x18e),_0x1482b4['neJKY'](_0x1cc86a,Error)?_0x1cc86a['message']:_0x1cc86a);}if(_0x1482b4[_0x42c92d(0x1a7)](_0xed6581,0x0)){const _0x3dc573=_0x516b72==='user'?'user-level':'project-level';console['log'](_0x42c92d(0x1b2)+_0xed6581+'\x20'+_0x3dc573+_0x42c92d(0x189)+(_0x1482b4['fdWEs'](_0xed6581,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x1aa5ed[_0x42c92d(0x18f)]&&(console['log'](_0x1482b4['goAfb']),_0x13996a===_0x42c92d(0x1a1)?console[_0x42c92d(0x1af)](_0x1482b4[_0x42c92d(0x1a3)]):console[_0x42c92d(0x1af)](_0x1482b4['CkBFB']));}else console[_0x42c92d(0x1af)](_0x1482b4['Myydc']);}
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 +1 @@
1
- const _0x5cec03=_0x17d0;(function(_0x1e416a,_0x25b5f6){const _0x3fc3ee=_0x17d0,_0x52fd1d=_0x1e416a();while(!![]){try{const _0x28ab11=-parseInt(_0x3fc3ee(0x1c9))/0x1*(-parseInt(_0x3fc3ee(0x1ac))/0x2)+-parseInt(_0x3fc3ee(0x205))/0x3*(parseInt(_0x3fc3ee(0x1ee))/0x4)+parseInt(_0x3fc3ee(0x1de))/0x5*(-parseInt(_0x3fc3ee(0x217))/0x6)+-parseInt(_0x3fc3ee(0x1ef))/0x7*(-parseInt(_0x3fc3ee(0x1ae))/0x8)+-parseInt(_0x3fc3ee(0x207))/0x9*(-parseInt(_0x3fc3ee(0x1d2))/0xa)+-parseInt(_0x3fc3ee(0x1e0))/0xb+parseInt(_0x3fc3ee(0x1ce))/0xc;if(_0x28ab11===_0x25b5f6)break;else _0x52fd1d['push'](_0x52fd1d['shift']());}catch(_0x3033bb){_0x52fd1d['push'](_0x52fd1d['shift']());}}}(_0x14a2,0x37350));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x2cfe02 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';function _0x14a2(){const _0x488365=['error','zOxsX','scope','You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','VXGrv','uqRel','log','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','156HfVYek','skipped','232137NyBnGu','\x1b[1m','✓\x20Playwright\x20Chromium\x20browser\x20found','AuVMJ','✓\x20.ranger/\x20directory\x20already\x20exists','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','✓\x20Already\x20authenticated\x20to\x20','method','HIWgU','ranger\x20profile\x20add\x20local','Authentication\x20failed:\x20','✓\x20Stored\x20credentials\x20locally','sUHGk','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','skipChromium','stdin','33990kWVJvz','vmuMH','trackPhaseEnd','zMKgj','plugin','opencode','✓\x20Authenticated\x20to\x20','GITHUB_ENV','XuNxr','MoDCZ','\x0aIn\x20Claude\x20Code,\x20run\x20','VuucO','install','DFOgk','bIzkP','99934fOZEvB','resolve','1354168uKOSae','organizationName','to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','warn','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','mwoCZ','url','playwright@','success','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','EDRQG','Vgddx','oNZtc','GoFsN','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','user','QnZag','ready','close','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','\x0a🚀\x20Ranger\x20Setup\x0a','\x1b[0m','trackPhaseError','existing_token','You\x20can\x20install\x20it\x20manually\x20by\x20running:','/ranger:enable','4sxzvlV','1.58.2','git_check','\x20install\x20chromium','local','3519684ZqURbo','stdout','sQUdz','XupoP','30xoThRm','allowInsecureLocalhost','\x20and\x20prompt\x20the\x20coding','QaPZD','message','ONdWC','ranger','.ranger','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','bJrYy','Installation\x20failed\x20with\x20exit\x20code\x20','HGPqZ','40fdtqhV',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','193479kpMBep','✓\x20Local\x20profile\x20already\x20exists','npx','mlqpV','mOxmW','iYsrZ','prompt','Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','xPTOC','The\x20required\x20version\x20(','chromium','isTTY','FzlnA','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','34676IpGcES','7vPwUtd','use\x20until\x20the\x20session\x20expires.\x0a','ZDdVC','\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','No\x20git\x20repository\x20found','confirm','Ozale','trackPhaseStart','skills','tJYZy','eWSFq','status','wantsProfile','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'];_0x14a2=function(){return _0x488365;};return _0x14a2();}import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';function _0x17d0(_0x5c6a62,_0x2d7abf){_0x5c6a62=_0x5c6a62-0x1a2;const _0x14a2e9=_0x14a2();let _0x17d0fe=_0x14a2e9[_0x5c6a62];return _0x17d0fe;}const require=createRequire(import.meta.url),PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x5cec03(0x1ca),bold=_0x5d6828=>_0x5cec03(0x208)+_0x5d6828+_0x5cec03(0x1c4);function getPlaywrightVersion(){const _0x3f20ab=_0x5cec03,_0x304da1={'Ozale':'playwright/package.json'};try{const _0x15aa9d=require[_0x3f20ab(0x1ad)](_0x304da1[_0x3f20ab(0x1f5)]),_0x20ec9f=require(_0x15aa9d);return _0x20ec9f['version'];}catch{return null;}}function installChromiumBinary(_0x1db977){const _0xdb4aa2=_0x5cec03,_0x41e54b={'qVmUg':function(_0x3636ad){return _0x3636ad();},'BPxup':function(_0xa18e16,_0x1a40b8){return _0xa18e16(_0x1a40b8);},'JXXaa':_0xdb4aa2(0x1ea),'nSOTZ':function(_0x654a49,_0x516fc3){return _0x654a49===_0x516fc3;},'ZDdVC':_0xdb4aa2(0x1c1),'AuVMJ':'error'};return new Promise((_0x428e02,_0x282be6)=>{const _0x4a3149=_0xdb4aa2,_0x17b47f=[_0x4a3149(0x1b5)+_0x1db977,_0x4a3149(0x1a9),_0x41e54b['JXXaa']],_0x15ba15=spawn(_0x4a3149(0x1e2),_0x17b47f,{'stdio':'inherit','shell':_0x41e54b['nSOTZ'](process['platform'],'win32')});_0x15ba15['on'](_0x41e54b[_0x4a3149(0x1f1)],_0x17b4c6=>{const _0x522e0a=_0x4a3149;_0x17b4c6===0x0?_0x41e54b['qVmUg'](_0x428e02):_0x41e54b['BPxup'](_0x282be6,new Error(_0x522e0a(0x1dc)+_0x17b4c6));}),_0x15ba15['on'](_0x41e54b[_0x4a3149(0x20a)],_0x48e543=>{_0x282be6(_0x48e543);});});}export async function authenticate(_0x9875c4){const _0x2372c2=_0x5cec03,_0x564cea={'bJrYy':function(_0x513e06,_0x6ee777){return _0x513e06(_0x6ee777);},'CRiMy':_0x2372c2(0x1c6),'vmuMH':function(_0x5b350b,_0x14f0f7){return _0x5b350b instanceof _0x14f0f7;},'zgRYB':function(_0x17a49a,_0x3dbea1){return _0x17a49a(_0x3dbea1);},'ZLTua':'Validating\x20API\x20token...','QaPZD':'provided_token'};if(!_0x9875c4){const _0x80792c=await getToken();if(_0x80792c){const _0x32552f=await _0x564cea[_0x2372c2(0x1db)](getCurrentUser,_0x80792c);if(_0x32552f[_0x2372c2(0x1b6)])return console[_0x2372c2(0x203)](_0x2372c2(0x20d)+_0x32552f['user']['organizationName']),{'token':_0x80792c,'method':_0x564cea['CRiMy']};}try{_0x9875c4=await runDeviceAuthFlow();}catch(_0x220ec7){throw new Error('Authentication\x20failed:\x20'+(_0x564cea[_0x2372c2(0x218)](_0x220ec7,Error)?_0x220ec7[_0x2372c2(0x1d6)]:_0x220ec7));}const _0x2b2ef4=await _0x564cea['zgRYB'](getCurrentUser,_0x9875c4);if(!_0x2b2ef4[_0x2372c2(0x1b6)])throw new Error(_0x2372c2(0x1fc)+_0x2b2ef4['error']);return console['log']('✓\x20Authenticated\x20to\x20'+_0x2b2ef4['user']['organizationName']),{'token':_0x9875c4,'method':'device_auth'};}console['log'](_0x564cea['ZLTua']);const _0x31ea82=await getCurrentUser(_0x9875c4);if(!_0x31ea82[_0x2372c2(0x1b6)]){if(_0x31ea82[_0x2372c2(0x1fa)])throw new Error(_0x2372c2(0x211)+_0x31ea82[_0x2372c2(0x1fd)]+_0x2372c2(0x1b2));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x31ea82['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log'](_0x2372c2(0x1a3)+_0x31ea82[_0x2372c2(0x1be)][_0x2372c2(0x1af)]),await storeToken(_0x9875c4),console['log'](process['env'][_0x2372c2(0x1a4)]?'✓\x20Exported\x20credentials\x20for\x20CI':_0x2372c2(0x212)),{'token':_0x9875c4,'method':_0x564cea[_0x2372c2(0x1d5)]};}export async function ensureRangerDir(){const _0x118209=_0x5cec03,_0x52bdfd={'VKoyt':function(_0x9daed8){return _0x9daed8();},'iYsrZ':function(_0x3707dc,_0x74dffa,_0x12afe2){return _0x3707dc(_0x74dffa,_0x12afe2);},'mgugM':_0x118209(0x1d9),'gPLRa':function(_0x32fd13,_0x152ee3){return _0x32fd13(_0x152ee3);},'mlqpV':_0x118209(0x20b)},_0xf4279c=_0x52bdfd['VKoyt'](findGitRoot),_0x110da6=_0xf4279c?_0x52bdfd[_0x118209(0x1e5)](join,_0xf4279c,_0x52bdfd['mgugM']):getRangerDir();return!_0x52bdfd['gPLRa'](existsSync,_0x110da6)?(await mkdir(_0x110da6,{'recursive':!![]}),console[_0x118209(0x203)]('✓\x20Created\x20.ranger/\x20directory'),{'path':_0x110da6,'installed':!![]}):(console['log'](_0x52bdfd[_0x118209(0x1e3)]),{'path':_0x110da6,'installed':![]});}export async function ensureChromium(){const _0x2d8541=_0x5cec03,_0x260152={'zMKgj':_0x2d8541(0x209),'UEWgq':function(_0x457a1e,_0x304de1){return _0x457a1e??_0x304de1;},'Vgddx':_0x2d8541(0x1f4),'ONdWC':'install','dJYTC':'\x20(fallback\x20version)','HGPqZ':_0x2d8541(0x1c2),'mwoCZ':function(_0x1a9976,_0x59edf7){return _0x1a9976 instanceof _0x59edf7;},'NVywV':'\x0a⚠\x20Skipping\x20Chromium\x20installation.','eWSFq':_0x2d8541(0x1b8)};let _0x2c5e0d=![];try{const _0x1562b5=chromium['executablePath']();_0x2c5e0d=existsSync(_0x1562b5);}catch{_0x2c5e0d=![];}if(_0x2c5e0d)return console['log'](_0x260152[_0x2d8541(0x21a)]),![];const _0x4f4775=getPlaywrightVersion(),_0x5ef401=_0x260152['UEWgq'](_0x4f4775,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x1fcda4=!_0x4f4775,_0x9ae5b=process['stdin'][_0x2d8541(0x1eb)]&&process['stdout'][_0x2d8541(0x1eb)];let _0x4f3cd9=!![];if(_0x9ae5b){const {install:_0x5efa16}=await _0x2cfe02[_0x2d8541(0x1e6)]([{'type':_0x260152[_0x2d8541(0x1ba)],'name':_0x260152[_0x2d8541(0x1d7)],'message':_0x1fcda4?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x5ef401+'\x20now?':_0x2d8541(0x1e9)+_0x5ef401+_0x2d8541(0x1df),'default':!![]}]);_0x4f3cd9=_0x5efa16;}else console[_0x2d8541(0x203)](_0x2d8541(0x1bd)+_0x5ef401+(_0x1fcda4?_0x260152['dJYTC']:'')+'...');if(_0x4f3cd9){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x5ef401),console[_0x2d8541(0x203)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x46d151){console['error'](_0x260152[_0x2d8541(0x1dd)],_0x260152[_0x2d8541(0x1b3)](_0x46d151,Error)?_0x46d151['message']:_0x46d151),console['log'](_0x2d8541(0x1c7)),console[_0x2d8541(0x203)]('\x20\x20npx\x20playwright@'+_0x5ef401+_0x2d8541(0x1cc));}}else console['log'](_0x260152['NVywV']),console[_0x2d8541(0x203)](_0x260152[_0x2d8541(0x1f9)]),console['log']('\x20\x20npx\x20playwright@'+_0x5ef401+'\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x462032){const _0x13ef4d=_0x5cec03,_0x3d8b63={'EAEzJ':function(_0x46879a,_0x5f46eb,_0x51d085){return _0x46879a(_0x5f46eb,_0x51d085);},'GoFsN':'✓\x20Created\x20.ranger/.gitignore'},_0x3a9ab6=join(_0x462032,'.gitignore'),_0x2d3a85=_0x13ef4d(0x1f2);await _0x3d8b63['EAEzJ'](writeFile,_0x3a9ab6,_0x2d3a85),console['log'](_0x3d8b63[_0x13ef4d(0x1bc)]);}function printProfileSetupLaterInstructions(){const _0x1ad03e=_0x5cec03,_0x48eacf={'ndlOx':_0x1ad03e(0x1ed),'XuNxr':function(_0x374867,_0x4ff6f2){return _0x374867(_0x4ff6f2);},'FzlnA':_0x1ad03e(0x210),'sQUdz':'Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a'};console[_0x1ad03e(0x203)](_0x48eacf['ndlOx']),console['log']('\x20\x20'+_0x48eacf[_0x1ad03e(0x1a5)](bold,_0x48eacf[_0x1ad03e(0x1ec)])),console[_0x1ad03e(0x203)](_0x48eacf[_0x1ad03e(0x1d0)]);}async function ensureLocalEnv(_0x1f2868,_0x2b1b6f){const _0x2920f1=_0x5cec03,_0x392688={'fgLTx':'⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','EDRQG':function(_0x1fcd98,_0x4ca09d,_0x8f2b3b){return _0x1fcd98(_0x4ca09d,_0x8f2b3b);},'oNZtc':_0x2920f1(0x1cd),'VXGrv':_0x2920f1(0x1e1),'rNaXL':_0x2920f1(0x20c),'zOxsX':_0x2920f1(0x1f0),'MoDCZ':_0x2920f1(0x1f4),'XupoP':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','uqRel':function(_0x29d568,_0xee83aa,_0x11238a,_0x4b5d79){return _0x29d568(_0xee83aa,_0x11238a,_0x4b5d79);},'CaLDY':'\x0a❌\x20Profile\x20setup\x20failed:','LaPTN':function(_0x1a9794,_0xad460d){return _0x1a9794 instanceof _0xad460d;},'qAGUU':function(_0x1188b6){return _0x1188b6();}};if(!findGitRoot())return console[_0x2920f1(0x203)](_0x392688['fgLTx']),{'ready':![],'skipped':!![]};if(_0x392688[_0x2920f1(0x1b9)](findExistingEnv,_0x392688[_0x2920f1(0x1bb)],{'locations':[_0x2920f1(0x1cd)]}))return console['log'](_0x392688[_0x2920f1(0x201)]),{'ready':!![],'skipped':![]};const _0x488c2f=process['stdin'][_0x2920f1(0x1eb)]&&process['stdout']['isTTY'];if(_0x488c2f&&!_0x1f2868?.[_0x2920f1(0x1b4)]){console['log'](_0x392688['rNaXL']),console['log'](_0x2920f1(0x1b0)),console[_0x2920f1(0x203)]('auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to'),console['log'](_0x392688[_0x2920f1(0x1fe)]),console['log'](_0x2920f1(0x200));const {wantsProfile:_0x240b1e}=await _0x2cfe02['prompt']([{'type':_0x392688[_0x2920f1(0x1a6)],'name':_0x2920f1(0x1fb),'message':_0x392688[_0x2920f1(0x1d1)],'default':!![]}]);if(!_0x240b1e)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await _0x392688[_0x2920f1(0x202)](addEnv,_0x392688[_0x2920f1(0x1bb)],{'url':_0x1f2868?.[_0x2920f1(0x1b4)],'force':_0x1f2868?.['force'],'allowInsecureLocalhost':_0x1f2868?.['allowInsecureLocalhost']},_0x2b1b6f),{'ready':!![],'skipped':![]};}catch(_0x23852b){return console['error'](_0x392688['CaLDY'],_0x392688['LaPTN'](_0x23852b,Error)?_0x23852b['message']:_0x23852b),_0x392688['qAGUU'](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x39fa3c,_0x44c9d3,_0xae14ed){const _0x2e8538=_0x5cec03,_0x4d099={'HIWgU':_0x2e8538(0x1c3),'Rkqub':function(_0x2a28b4){return _0x2a28b4();},'cgGVk':_0x2e8538(0x1f3),'IZWXt':_0x2e8538(0x1cb),'mOxmW':'auth','xPTOC':_0x2e8538(0x1ea),'ekQHu':_0x2e8538(0x1b7),'bIzkP':function(_0x38e48d,_0x1a92c2){return _0x38e48d(_0x1a92c2);},'ZNiiz':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','sUHGk':'plugin','NrMEo':function(_0x426eed,_0x5182df){return _0x426eed&&_0x5182df;},'DFOgk':function(_0xa2e494,_0x28210f,_0x28c86e){return _0xa2e494(_0x28210f,_0x28c86e);},'VuucO':_0x2e8538(0x1d8),'jzqki':_0x2e8538(0x1f7),'Ytsyx':_0x2e8538(0x1da),'NMYWG':function(_0x572983,_0x18883c){return _0x572983 instanceof _0x18883c;},'QnZag':'profile','tJYZy':_0x2e8538(0x204),'sWWls':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','vIbbp':_0x2e8538(0x1c8),'FRzyb':function(_0x22d1e7,_0xe7b748){return _0x22d1e7+_0xe7b748;}};console[_0x2e8538(0x203)](_0x4d099[_0x2e8538(0x20f)]);const _0x2dca94=process[_0x2e8538(0x216)]['isTTY']&&process[_0x2e8538(0x1cf)][_0x2e8538(0x1eb)];!_0x2dca94&&!_0x44c9d3?.['scope']&&(console[_0x2e8538(0x203)]('Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.'),_0x44c9d3={..._0x44c9d3,'scope':'user'});_0xae14ed?.[_0x2e8538(0x1f6)](_0x2e8538(0x1cb));if(!_0x4d099['Rkqub'](findGitRoot)){await _0xae14ed?.[_0x2e8538(0x1c5)](_0x2e8538(0x1cb),new Error(_0x4d099['cgGVk']));throw new Error('No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.');}_0xae14ed?.[_0x2e8538(0x219)](_0x4d099['IZWXt']);const _0x3ad717=!existsSync(getRangerDir()),{path:_0x15377b}=await ensureRangerDir();_0xae14ed?.['trackPhaseStart'](_0x4d099[_0x2e8538(0x1e4)]);const _0x354e87=await authenticate(_0x39fa3c);_0xae14ed?.[_0x2e8538(0x219)]('auth',{'isFirstRun':_0x3ad717,'method':_0x354e87[_0x2e8538(0x20e)]}),_0xae14ed?.[_0x2e8538(0x1f6)](_0x4d099['xPTOC']);_0x44c9d3?.[_0x2e8538(0x215)]?console['log'](_0x4d099['ekQHu']):await ensureChromium();_0xae14ed?.['trackPhaseEnd'](_0x4d099[_0x2e8538(0x1e8)],{'isFirstRun':_0x3ad717,'skipped':!!_0x44c9d3?.[_0x2e8538(0x215)]}),await _0x4d099[_0x2e8538(0x1ab)](writeRangerGitignore,_0x15377b),console[_0x2e8538(0x203)](_0x4d099['ZNiiz']);const _0xd8ad52=_0x44c9d3?.[_0x2e8538(0x1ff)],_0x500efc=_0x44c9d3?.[_0x2e8538(0x1a2)]??![];let _0x4abde7=null;_0x500efc?(_0xae14ed?.['trackPhaseStart'](_0x4d099[_0x2e8538(0x213)]),_0x4abde7=await ensureOpencodePluginConfig(_0xd8ad52),_0xae14ed?.['trackPhaseEnd'](_0x2e8538(0x21b),{'isFirstRun':_0x3ad717,'opencode':!![]})):(_0xae14ed?.[_0x2e8538(0x1f6)](_0x2e8538(0x21b)),await ensureClaudePlugin(_0xd8ad52),_0xae14ed?.[_0x2e8538(0x219)](_0x4d099['sUHGk'],{'isFirstRun':_0x3ad717}));if(_0x4d099['NrMEo'](_0x500efc,_0x4abde7)){_0xae14ed?.['trackPhaseStart']('skills');try{await _0x4d099['DFOgk'](installSkill,_0x4d099[_0x2e8538(0x1a8)],{'level':_0x4abde7[_0x2e8538(0x1ff)],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0xae14ed?.['trackPhaseEnd'](_0x4d099['jzqki'],{'isFirstRun':_0x3ad717,'opencode':!![]});}catch(_0x3bb93a){console[_0x2e8538(0x1b1)](_0x4d099['Ytsyx'],_0x4d099['NMYWG'](_0x3bb93a,Error)?_0x3bb93a['message']:_0x3bb93a),_0xae14ed?.['trackPhaseEnd'](_0x2e8538(0x1f7),{'isFirstRun':_0x3ad717,'opencode':!![],'failed':!![]});}}else _0xae14ed?.[_0x2e8538(0x1f6)](_0x4d099['jzqki']),await ensureClaudeSkills(_0xd8ad52),_0xae14ed?.['trackPhaseEnd'](_0x2e8538(0x1f7),{'isFirstRun':_0x3ad717});if(!_0x2dca94&&!_0x44c9d3?.[_0x2e8538(0x1b4)])console['log'](_0x2e8538(0x1e7)),console[_0x2e8538(0x203)]('\x20\x20'+bold('ranger\x20profile\x20add\x20local')+'\x0a');else{_0xae14ed?.[_0x2e8538(0x1f6)](_0x4d099['QnZag']);const _0x36f79a=await _0x4d099[_0x2e8538(0x1aa)](ensureLocalEnv,{'url':_0x44c9d3?.['url'],'force':_0x44c9d3?.['force'],'allowInsecureLocalhost':_0x44c9d3?.[_0x2e8538(0x1d3)]},_0xae14ed);_0xae14ed?.['trackPhaseEnd'](_0x4d099[_0x2e8538(0x1bf)],{'isFirstRun':_0x3ad717,'profileReady':_0x36f79a[_0x2e8538(0x1c0)],'userSkipped':_0x36f79a[_0x2e8538(0x206)]}),_0x36f79a[_0x2e8538(0x1c0)]&&console[_0x2e8538(0x203)](_0x2e8538(0x214));}if(_0x500efc)console[_0x2e8538(0x203)](_0x4d099[_0x2e8538(0x1f8)]),console['log'](_0x4d099['sWWls']),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log']('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x54ded0=_0x4d099[_0x2e8538(0x1ab)](bold,_0x4d099['vIbbp']);console[_0x2e8538(0x203)](_0x4d099['FRzyb'](_0x4d099['FRzyb'](_0x2e8538(0x1a7)+_0x54ded0+_0x2e8538(0x1d4),'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with')+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
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 +1 @@
1
- const _0x495b31=_0x4d7d;(function(_0x4d0833,_0x19de57){const _0x16402c=_0x4d7d,_0x214b86=_0x4d0833();while(!![]){try{const _0x4d9fb2=parseInt(_0x16402c(0xd4))/0x1*(parseInt(_0x16402c(0xe8))/0x2)+-parseInt(_0x16402c(0xab))/0x3*(-parseInt(_0x16402c(0xf5))/0x4)+parseInt(_0x16402c(0xbc))/0x5*(-parseInt(_0x16402c(0xcb))/0x6)+-parseInt(_0x16402c(0x9a))/0x7+-parseInt(_0x16402c(0xdf))/0x8+-parseInt(_0x16402c(0xe3))/0x9+parseInt(_0x16402c(0xcd))/0xa;if(_0x4d9fb2===_0x19de57)break;else _0x214b86['push'](_0x214b86['shift']());}catch(_0x3e6efa){_0x214b86['push'](_0x214b86['shift']());}}}(_0x3c73,0x1f2a9));function _0x3c73(){const _0x350c9c=['API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','auth.json','data','\x20\x20Run:\x20ranger\x20setup\x20[token]','piRRb','project','disabled',':\x20configured','\x20plugin(s)\x20configured','pipe','KctFD','15666fzMaSR','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','1591200lKByRN','utf-8','tPUEh','ranger@trailhead','plaintext','map','push','2CTtcMx','Version:\x20','wxrpw','not_installed','dCTvJ','woHBb','isDirectory','auth.json.enc','cTnCX','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','No\x20skills\x20installed','546880JoNgCU','displayName','env','trim','1410831MRVZqN','\x0a---\x20OpenCode\x20Plugin\x20---','SlCog','\x1b[1m','No\x20profiles\x20configured','190574JDlcYV','\x20(active)','isArray','details','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','settings.json','length','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','includes','Root:\x20','configured','FqjoL','string','32716UcJHCp','API\x20Environment:\x20','\x20\x20Not\x20installed','enabled','Organization:\x20','opencode-plugin','YuodG','\x20\x20\x20\x20Auth:\x20','bVkfA','UjHjt','GXlNS','\x20\x20Run:\x20ranger\x20skillup','all','cxlIZ','ejJKp','YvTjK','927283QZOFzI','DLemq','log','NyPnk','\x0a---\x20Claude\x20Code\x20Plugin\x20---','status','kaDpy','hasEncryptedAuth','\x20\x20Run:\x20ranger\x20setup\x20--opencode','OCLfq','user','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','\x20\x20\x20\x20','DEBUG','JgKMx','@ranger-testing/opencode-plugin','match','66lFqbTu','ApTda','debug','filter','cNWgv','version',':\x20installed\x20(','eViBe','\x0a---\x20Skills\x20---','API\x20URL:\x20','config','GCpPL','ZcQfs','\x20\x20Run:\x20ranger\x20update','settingsPath','jriAU','name','85BPvvJn','success','\x1b]8;;\x07','(not\x20found)'];_0x3c73=function(){return _0x350c9c;};return _0x3c73();}import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x1a9b3c=>_0x495b31(0xe6)+_0x1a9b3c+'\x1b[0m',link=(_0x531778,_0x31846d)=>'\x1b]8;;file://'+_0x531778+'\x07'+(_0x31846d||_0x531778)+_0x495b31(0xbe);function _0x4d7d(_0x4b3e0a,_0x54d003){_0x4b3e0a=_0x4b3e0a-0x8c;const _0x3c7324=_0x3c73();let _0x4d7d03=_0x3c7324[_0x4b3e0a];return _0x4d7d03;}async function getOpencodePluginStatus(){const _0x3870d8=_0x495b31,_0x511bf7={'eViBe':_0x3870d8(0xd7),'cTnCX':function(_0x3c6b83,_0x334b70){return _0x3c6b83!==_0x334b70;},'ejJKp':_0x3870d8(0xa9),'Ymhhr':_0x3870d8(0x8f),'kaDpy':function(_0x315cfd,_0x1a10e6){return _0x315cfd(_0x1a10e6);},'kWNwa':'not_configured','cCJuO':_0x3870d8(0xad),'woHBb':_0x3870d8(0xb5),'wxrpw':'pipe','NyPnk':'data','tPUEh':'close'};return new Promise(_0x2c05a4=>{const _0x5063a4=_0x3870d8,_0x38ff00=spawn('opencode',[_0x511bf7['cCJuO'],_0x511bf7[_0x5063a4(0xd9)]],{'stdio':['ignore',_0x5063a4(0xc9),_0x511bf7[_0x5063a4(0xd6)]]});let _0x544142='';_0x38ff00['stdout']?.['on'](_0x511bf7[_0x5063a4(0x9d)],_0x48812f=>{_0x544142+=_0x48812f['toString']();}),_0x38ff00['stderr']?.['on'](_0x5063a4(0xc2),_0x5d553b=>{_0x544142+=_0x5d553b['toString']();}),_0x38ff00['on']('error',()=>{const _0x4cb15f=_0x5063a4;_0x2c05a4({'status':_0x511bf7[_0x4cb15f(0xb2)]});}),_0x38ff00['on'](_0x511bf7[_0x5063a4(0xcf)],_0x149337=>{const _0x6d77a8=_0x5063a4,_0x4fa3e8={'kDOWP':function(_0x530272,_0x332209){return _0x511bf7['cTnCX'](_0x530272,_0x332209);},'ZgEJr':_0x511bf7[_0x6d77a8(0x98)],'YuodG':_0x511bf7['Ymhhr']};if(_0x511bf7[_0x6d77a8(0xdc)](_0x149337,0x0)){_0x2c05a4({'status':_0x511bf7[_0x6d77a8(0xb2)]});return;}const _0x463013=_0x544142[_0x6d77a8(0xe2)]();let _0x5106a3=null;if(_0x463013)try{_0x5106a3=JSON['parse'](_0x463013);}catch{const _0x528e9a=_0x463013[_0x6d77a8(0xaa)](/\{[\s\S]*\}$/);if(_0x528e9a)try{_0x5106a3=JSON['parse'](_0x528e9a[0x0]);}catch{_0x5106a3=null;}}const _0x401162=Array[_0x6d77a8(0xea)](_0x5106a3?.['plugin'])?_0x5106a3?.['plugin']:[],_0x306979=_0x401162['some'](_0x3d2b3f=>{const _0x2dd623=_0x6d77a8;if(_0x4fa3e8['kDOWP'](typeof _0x3d2b3f,_0x2dd623(0xf4)))return![];return _0x3d2b3f['includes'](_0x4fa3e8['ZgEJr'])||_0x3d2b3f[_0x2dd623(0xf0)](_0x4fa3e8[_0x2dd623(0x90)]);});if(_0x306979){_0x2c05a4({'status':_0x6d77a8(0xf2),'details':_0x401162['length']>0x0?_0x401162[_0x6d77a8(0xee)]+_0x6d77a8(0xc8):undefined});return;}if(_0x401162[_0x6d77a8(0xee)]>0x0){_0x511bf7[_0x6d77a8(0xa0)](_0x2c05a4,{'status':_0x511bf7['kWNwa'],'details':_0x401162[_0x6d77a8(0xee)]+_0x6d77a8(0xc8)});return;}_0x2c05a4({'status':_0x511bf7['kWNwa']});});});}async function getSkillsFromDir(_0x1fcef5,_0x52727e){const _0x168864=_0x495b31,_0x1dcddd={'LurZK':function(_0x50282a,_0x356b20){return _0x50282a(_0x356b20);},'OCLfq':'SKILL.md'};if(!_0x1dcddd['LurZK'](existsSync,_0x1fcef5))return[];const _0x26a0c3=[];try{const _0x5d6eca=await readdir(_0x1fcef5,{'withFileTypes':!![]});for(const _0x830f71 of _0x5d6eca){if(_0x830f71[_0x168864(0xda)]()){const _0x15fc84=join(_0x1fcef5,_0x830f71['name'],_0x1dcddd[_0x168864(0xa3)]);if(existsSync(_0x15fc84)){let _0x17ecda=_0x830f71[_0x168864(0xbb)];try{const _0x16e996=await readFile(_0x15fc84,_0x168864(0xce)),_0x2a519f=_0x16e996['match'](/name:\s*(.+)/);_0x2a519f&&(_0x17ecda=_0x2a519f[0x1]['trim']());}catch{}_0x26a0c3[_0x168864(0xd3)]({'name':_0x830f71['name'],'displayName':_0x17ecda,'path':_0x15fc84,'level':_0x52727e});}}}}catch{return[];}return _0x26a0c3;}async function getInstalledSkills(){const _0x5b51cc=_0x495b31,_0x2cc3da={'HJScz':function(_0x3eacf7){return _0x3eacf7();}},[_0x474a11,_0x4d972a]=await Promise[_0x5b51cc(0x96)]([getSkillsFromDir(_0x2cc3da['HJScz'](getProjectSkillsDir),_0x5b51cc(0xc5)),getSkillsFromDir(getUserSkillsDir(),_0x5b51cc(0xa4))]);return{'project':_0x474a11,'user':_0x4d972a};}async function getEnvironments(){const _0x4ce223=_0x495b31,_0x3ffd1c={'ZcQfs':function(_0x205538,_0x235487,_0x4ff01c){return _0x205538(_0x235487,_0x4ff01c);},'yJQkV':_0x4ce223(0xed),'Nrsgq':_0x4ce223(0xc1),'DLemq':function(_0x562a08,_0x3af6f9,_0x2fd749){return _0x562a08(_0x3af6f9,_0x2fd749);},'piRRb':function(_0x32445a,_0xd7406c){return _0x32445a(_0xd7406c);},'UjHjt':_0x4ce223(0xbf),'FqjoL':function(_0x3a8bfc,_0x25730e){return _0x3a8bfc===_0x25730e;},'KctFD':function(_0xdc4a9b){return _0xdc4a9b();}},{envNames:_0x4e9e50,activeEnv:_0x16b2ef}=await getEnvNames(),_0x48a4ea=_0x3ffd1c[_0x4ce223(0xca)](getRangerDir);if(!_0x3ffd1c[_0x4ce223(0xc4)](existsSync,_0x48a4ea))return{'envs':[],'activeEnv':null};const _0x5be0e1=_0x4e9e50[_0x4ce223(0xd2)](_0x515db2=>{const _0x5d5bc1=_0x4ce223,_0x4f10e3=getEnvDir(_0x515db2),_0x8e7fb0=_0x3ffd1c[_0x5d5bc1(0xb7)](join,_0x4f10e3,_0x3ffd1c['yJQkV']),_0xb194db=_0x3ffd1c[_0x5d5bc1(0xb7)](join,_0x4f10e3,_0x3ffd1c['Nrsgq']),_0xc749ab=_0x3ffd1c[_0x5d5bc1(0x9b)](join,_0x4f10e3,_0x5d5bc1(0xdb));return{'name':_0x515db2,'settingsPath':_0x3ffd1c['piRRb'](existsSync,_0x8e7fb0)?_0x8e7fb0:_0x3ffd1c[_0x5d5bc1(0x93)],'hasPlaintextAuth':existsSync(_0xb194db),'hasEncryptedAuth':_0x3ffd1c[_0x5d5bc1(0xc4)](existsSync,_0xc749ab),'isActive':_0x3ffd1c[_0x5d5bc1(0xf3)](_0x515db2,_0x16b2ef)};});return{'envs':_0x5be0e1,'activeEnv':_0x16b2ef};}export async function status(){const _0x2443df=_0x495b31,_0x226098={'ApTda':'\x0a📊\x20Ranger\x20Status\x0a','SlCog':function(_0x2d314e){return _0x2d314e();},'dCTvJ':function(_0x161ffe,_0x581107,_0x512628){return _0x161ffe(_0x581107,_0x512628);},'YvTjK':function(_0x14fdf4,_0x42a44c){return _0x14fdf4(_0x42a44c);},'jriAU':function(_0x14dd37,_0x359a81,_0x4abb0e){return _0x14dd37(_0x359a81,_0x4abb0e);},'ZZASA':function(_0x4f0dc3,_0x4b0cf7){return _0x4f0dc3(_0x4b0cf7);},'GCpPL':function(_0x148f97,_0x14e27e){return _0x148f97(_0x14e27e);},'bVkfA':_0x2443df(0xf2),'jIIQH':function(_0x3daee1,_0x539785){return _0x3daee1===_0x539785;},'kpELu':'ranger@trailhead','gEwop':'unknown','amzgn':_0x2443df(0x8d),'GXlNS':function(_0x5024ff,_0x4ea536){return _0x5024ff===_0x4ea536;},'cNWgv':_0x2443df(0xde),'JgKMx':'\x0a---\x20Profiles\x20---','GpzzN':function(_0x3840b9){return _0x3840b9();},'CmEpN':_0x2443df(0xe9),'cxlIZ':function(_0x253e1c,_0x53f3b8,_0x4af312){return _0x253e1c(_0x53f3b8,_0x4af312);}};console['log'](_0x226098[_0x2443df(0xac)]);const _0x16f187=process['cwd'](),_0x5d2a9a=_0x226098[_0x2443df(0xe5)](getRangerDir);if(!existsSync(_0x5d2a9a)){console[_0x2443df(0x9c)](_0x2443df(0xf1)+_0x226098[_0x2443df(0xd8)](link,_0x16f187,_0x226098['YvTjK'](bold,basename(_0x16f187)))),console[_0x2443df(0x9c)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x2443df(0xef));return;}console[_0x2443df(0x9c)](_0x2443df(0xf1)+_0x226098['jriAU'](link,_0x16f187,_0x226098['ZZASA'](bold,_0x226098[_0x2443df(0xb6)](basename,_0x16f187))));const _0x1a1f6e=_0x226098['SlCog'](getCurrentVersion),_0x11ea32=getLatestVersion();if(_0x11ea32[_0x2443df(0xb0)]&&_0x11ea32['version']!==_0x1a1f6e)console[_0x2443df(0x9c)](_0x2443df(0xd5)+_0x1a1f6e+'\x20(latest:\x20'+_0x11ea32[_0x2443df(0xb0)]+')'),console[_0x2443df(0x9c)](_0x2443df(0xb8));else _0x11ea32['version']?console[_0x2443df(0x9c)](_0x2443df(0xd5)+_0x1a1f6e+'\x20(up\x20to\x20date)'):console[_0x2443df(0x9c)]('Version:\x20'+_0x1a1f6e);const _0x4c860c=await getToken();if(_0x4c860c){const _0x57926b=await getCurrentUser(_0x4c860c);_0x57926b[_0x2443df(0xbd)]?console['log'](_0x2443df(0x8e)+_0x226098[_0x2443df(0x99)](bold,_0x57926b['user']['organizationName'])):(console[_0x2443df(0x9c)](_0x2443df(0xc0)),console['log'](_0x2443df(0xc3)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console[_0x2443df(0x9c)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x2443df(0xe1)][_0x2443df(0xa7)]&&(console['log'](_0x2443df(0xf6)+getCurrentEnvironment()),console['log'](_0x2443df(0xb4)+_0x226098[_0x2443df(0xe5)](getApiBaseUrl)));console[_0x2443df(0x9c)](_0x2443df(0xe4));const _0x19a918=await _0x226098[_0x2443df(0xe5)](getOpencodePluginStatus);if(_0x19a918['status']===_0x226098[_0x2443df(0x92)])console[_0x2443df(0x9c)]('\x20\x20'+bold(_0x2443df(0xa9))+_0x2443df(0xc7)),_0x19a918['details']&&console[_0x2443df(0x9c)]('\x20\x20'+_0x19a918['details']);else _0x226098['jIIQH'](_0x19a918[_0x2443df(0x9f)],'not_configured')?(console['log']('\x20\x20Not\x20configured'),_0x19a918[_0x2443df(0xeb)]&&console['log']('\x20\x20'+_0x19a918[_0x2443df(0xeb)]),console['log'](_0x2443df(0xa2))):console[_0x2443df(0x9c)](_0x2443df(0xcc));console['log'](_0x2443df(0x9e));const _0x261169=await getPluginInfo(_0x226098['kpELu']);if(_0x261169){const _0x44844c=_0x261169['scope']||_0x226098['gEwop'],_0x25ed6d=_0x261169[_0x2443df(0x8d)]?_0x226098['amzgn']:_0x2443df(0xc6);console[_0x2443df(0x9c)]('\x20\x20'+bold(_0x2443df(0xd0))+_0x2443df(0xb1)+_0x44844c+',\x20'+_0x25ed6d+')');}else console['log'](_0x2443df(0x8c)),console[_0x2443df(0x9c)](_0x2443df(0xa5));console[_0x2443df(0x9c)](_0x2443df(0xb3));const {project:_0x176a6e,user:_0x38addb}=await _0x226098['SlCog'](getInstalledSkills),_0x1a3a4a=_0x176a6e['filter'](_0x13a289=>RANGER_MANAGED_SKILLS['includes'](_0x13a289['name'])),_0x400724=_0x38addb[_0x2443df(0xae)](_0x567646=>RANGER_MANAGED_SKILLS['includes'](_0x567646['name'])),_0x199cfc=_0x1a3a4a[_0x2443df(0xee)]+_0x400724[_0x2443df(0xee)];if(_0x226098[_0x2443df(0x94)](_0x199cfc,0x0))console['log'](_0x226098[_0x2443df(0xaf)]),console['log'](_0x2443df(0x95));else{if(_0x1a3a4a[_0x2443df(0xee)]>0x0){console['log']('\x20\x20Project-level:');for(const _0x22b080 of _0x1a3a4a){console['log'](_0x2443df(0xa6)+bold(_0x22b080['displayName'])+':\x20'+_0x226098[_0x2443df(0xba)](link,_0x22b080['path'],_0x226098[_0x2443df(0xb6)](basename,_0x22b080['path'])));}}if(_0x400724[_0x2443df(0xee)]>0x0){console['log']('\x20\x20User-level:');for(const _0x156d60 of _0x400724){console[_0x2443df(0x9c)]('\x20\x20\x20\x20'+_0x226098['ZZASA'](bold,_0x156d60[_0x2443df(0xe0)])+':\x20'+_0x226098['dCTvJ'](link,_0x156d60['path'],basename(_0x156d60['path'])));}}}console[_0x2443df(0x9c)](_0x226098[_0x2443df(0xa8)]);const {envs:_0x307674,activeEnv:_0x1a917e}=await _0x226098['GpzzN'](getEnvironments);if(_0x307674['length']===0x0)console[_0x2443df(0x9c)](_0x2443df(0xe7)),console['log'](_0x2443df(0xec));else{for(const _0x3214ee of _0x307674){const _0x4f8fe0=_0x3214ee['isActive']?_0x226098['CmEpN']:'',_0x1aa1ee=_0x3214ee[_0x2443df(0xa1)]?'encrypted':_0x3214ee['hasPlaintextAuth']?_0x2443df(0xd1):'none';console[_0x2443df(0x9c)]('\x20\x20'+_0x226098['ZZASA'](bold,_0x3214ee[_0x2443df(0xbb)])+_0x4f8fe0),console['log'](_0x2443df(0x91)+_0x1aa1ee),_0x3214ee[_0x2443df(0xb9)]!=='(not\x20found)'&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x226098[_0x2443df(0x97)](link,_0x3214ee['settingsPath'],basename(_0x3214ee[_0x2443df(0xb9)])));}!_0x1a917e&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log'](_0x2443df(0xdd)+_0x307674[_0x2443df(0xd2)](_0x42010d=>_0x42010d['name'])['join'](',\x20')+')'));}console[_0x2443df(0x9c)]('');}
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)]('');}