@ranger-testing/ranger-cli 2.5.4-alpha.071b7bd-1 → 2.5.4-alpha.1d983c3-19

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 (82) hide show
  1. package/README.md +36 -14
  2. package/build/cli.js +1 -1
  3. package/build/commands/addEnv.js +1 -1
  4. package/build/commands/authEncrypt.js +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/config.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -0
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -0
  43. package/build/commands/utils/cloudProfileSession.js +1 -0
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -0
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -0
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -0
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/opencodeConfig.js +1 -1
  58. package/build/commands/utils/playwrightCli.js +1 -1
  59. package/build/commands/utils/profileMessages.js +1 -1
  60. package/build/commands/utils/profileSetupBanner.js +1 -1
  61. package/build/commands/utils/projectsConfig.js +1 -0
  62. package/build/commands/utils/rangerConfig.js +1 -1
  63. package/build/commands/utils/rangerRoot.js +1 -1
  64. package/build/commands/utils/resolveProfileContext.js +1 -0
  65. package/build/commands/utils/resolveProfileUrl.js +1 -0
  66. package/build/commands/utils/retry.js +1 -1
  67. package/build/commands/utils/sessionCache.js +1 -1
  68. package/build/commands/utils/settings.js +1 -1
  69. package/build/commands/utils/skillContent.js +1 -1
  70. package/build/commands/utils/skills.js +1 -1
  71. package/build/commands/utils/stitchWebmFiles.js +1 -1
  72. package/build/commands/utils/telemetry.js +1 -1
  73. package/build/commands/utils/tokenRefresh.js +1 -1
  74. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  75. package/build/commands/utils/userApi.js +1 -1
  76. package/build/commands/utils/version.js +1 -1
  77. package/build/commands/verifyFeature.js +1 -1
  78. package/build/commands/verifyFeatureCli.js +1 -1
  79. package/build/skills/ranger/SKILL.md +36 -6
  80. package/build/skills/ranger/create.md +19 -0
  81. package/build/skills/ranger/verify.md +46 -7
  82. package/package.json +8 -3
@@ -1 +1 @@
1
- const _0x59a041=_0x4588;function _0x4588(_0x39fbf5,_0x4c4070){_0x39fbf5=_0x39fbf5-0x10b;const _0x35460f=_0x3546();let _0x458807=_0x35460f[_0x39fbf5];return _0x458807;}(function(_0x5d9d97,_0xd0d963){const _0x394c1b=_0x4588,_0xf12218=_0x5d9d97();while(!![]){try{const _0x15bdc8=-parseInt(_0x394c1b(0x110))/0x1+parseInt(_0x394c1b(0x10e))/0x2+-parseInt(_0x394c1b(0x112))/0x3+-parseInt(_0x394c1b(0x10f))/0x4+parseInt(_0x394c1b(0x114))/0x5+-parseInt(_0x394c1b(0x113))/0x6*(parseInt(_0x394c1b(0x115))/0x7)+-parseInt(_0x394c1b(0x10c))/0x8*(-parseInt(_0x394c1b(0x111))/0x9);if(_0x15bdc8===_0xd0d963)break;else _0xf12218['push'](_0xf12218['shift']());}catch(_0x488567){_0xf12218['push'](_0xf12218['shift']());}}}(_0x3546,0x73993));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x59a041(0x10b);function _0x3546(){const _0x807c8e=['99MJfJmW','2123178SkezHC','36nWLeib','4127660zMlydM','852299GSLfHf','\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.','1354536memmYj','session_id','1402960RLLAPY','3274616rheueT','659086eEaBqU'];_0x3546=function(){return _0x807c8e;};return _0x3546();}export async function autoPrompt(){const _0x2cde27=_0x59a041,_0x51dffd={'ZtQVw':function(_0x23036d){return _0x23036d();},'eWden':function(_0x45dffa,_0xef7334){return _0x45dffa(_0xef7334);}},_0x287342=await _0x51dffd['ZtQVw'](readHookInput),_0x3e8e77=_0x287342?.[_0x2cde27(0x10d)];if(!_0x3e8e77)return;if(isSessionEnabled(_0x3e8e77)||hasSessionBeenPrompted(_0x3e8e77))return;_0x51dffd['eWden'](markSessionPrompted,_0x3e8e77),console['log'](AUTO_PROMPT_TEXT);}
1
+ (function(_0x209ccf,_0x95c0be){const _0x51fcc2=_0x2934,_0x287e67=_0x209ccf();while(!![]){try{const _0x13cf82=-parseInt(_0x51fcc2(0x199))/0x1+-parseInt(_0x51fcc2(0x197))/0x2*(-parseInt(_0x51fcc2(0x19a))/0x3)+-parseInt(_0x51fcc2(0x190))/0x4*(-parseInt(_0x51fcc2(0x191))/0x5)+parseInt(_0x51fcc2(0x196))/0x6*(-parseInt(_0x51fcc2(0x18e))/0x7)+parseInt(_0x51fcc2(0x193))/0x8+-parseInt(_0x51fcc2(0x194))/0x9*(-parseInt(_0x51fcc2(0x18f))/0xa)+parseInt(_0x51fcc2(0x195))/0xb*(-parseInt(_0x51fcc2(0x192))/0xc);if(_0x13cf82===_0x95c0be)break;else _0x287e67['push'](_0x287e67['shift']());}catch(_0x3f2963){_0x287e67['push'](_0x287e67['shift']());}}}(_0x2e6d,0x6a01f));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';function _0x2934(_0x352da1,_0x4bf2cf){_0x352da1=_0x352da1-0x18e;const _0x2e6db3=_0x2e6d();let _0x293426=_0x2e6db3[_0x352da1];return _0x293426;}function _0x2e6d(){const _0x5cb7e7=['240IBHnwW','52ysPOKk','sxzNx','633395reVoVD','48795qBfRRS','1477IywCNP','110inzaHG','4iMMAyT','3210365RbAFEY','25140XWxETN','832168XGaNAs','347337PzxWMU','2717fFQSBK'];_0x2e6d=function(){return _0x5cb7e7;};return _0x2e6d();}export async function autoPrompt(){const _0x440908=_0x2934,_0x51f814={'sxzNx':function(_0x554615){return _0x554615();},'wOKMz':function(_0x5771b7,_0x283d9a){return _0x5771b7(_0x283d9a);}},_0xfc32df=await _0x51f814[_0x440908(0x198)](readHookInput),_0x2b983f=_0xfc32df?.['session_id'];if(!_0x2b983f)return;if(isSessionEnabled(_0x2b983f)||_0x51f814['wOKMz'](hasSessionBeenPrompted,_0x2b983f))return;markSessionPrompted(_0x2b983f),console['log'](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- (function(_0x1ad846,_0x1919d6){const _0x4165ca=_0x254f,_0xbd63a5=_0x1ad846();while(!![]){try{const _0x1ec0c4=-parseInt(_0x4165ca(0x1c0))/0x1*(parseInt(_0x4165ca(0x1c1))/0x2)+-parseInt(_0x4165ca(0x1b8))/0x3+parseInt(_0x4165ca(0x1c3))/0x4+parseInt(_0x4165ca(0x1be))/0x5*(parseInt(_0x4165ca(0x1bb))/0x6)+-parseInt(_0x4165ca(0x1b6))/0x7+parseInt(_0x4165ca(0x1b4))/0x8*(parseInt(_0x4165ca(0x1bc))/0x9)+-parseInt(_0x4165ca(0x1c6))/0xa*(-parseInt(_0x4165ca(0x1ba))/0xb);if(_0x1ec0c4===_0x1919d6)break;else _0xbd63a5['push'](_0xbd63a5['shift']());}catch(_0x497657){_0xbd63a5['push'](_0xbd63a5['shift']());}}}(_0x24a6,0xb7136));function _0x24a6(){const _0x3e69f8=['12ChyoKN','7324722UrGahB','sqiev','749130YhDFUz','main','2591CEoQAH','932NBBRWo','qZUuR','2783396xgGxpg','env','JlgkN','96380DXGiWs','8fJocYL','\x20and\x20branch\x20\x27','1452024uXyWxQ','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','3936051OtvzCw','master','1903LyHtys'];_0x24a6=function(){return _0x3e69f8;};return _0x24a6();}function _0x254f(_0x3a1a2d,_0x249d98){_0x3a1a2d=_0x3a1a2d-0x1b4;const _0x24a64f=_0x24a6();let _0x254fe6=_0x24a64f[_0x3a1a2d];return _0x254fe6;}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x2da92f){const _0x1c95ac=_0x254f,_0x50073e={'iDzhP':function(_0x1ccfc7){return _0x1ccfc7();},'sqiev':function(_0x892db3,_0x259886){return _0x892db3!==_0x259886;},'pYNCt':function(_0x56c27d,_0x2fd9d7){return _0x56c27d!==_0x2fd9d7;},'qZUuR':_0x1c95ac(0x1b9),'NsHgv':function(_0x40e970,_0x460bf5){return _0x40e970(_0x460bf5);},'JlgkN':_0x1c95ac(0x1bf)},_0x4dde3b=_0x2da92f||process[_0x1c95ac(0x1c4)]['CLAUDE_SESSION_ID']||'';_0x4dde3b&&disableSession(_0x4dde3b);const _0xcfbc93=_0x50073e['iDzhP'](getCurrentBranch);_0xcfbc93&&_0x50073e[_0x1c95ac(0x1bd)](_0xcfbc93,_0x1c95ac(0x1bf))&&_0x50073e['pYNCt'](_0xcfbc93,_0x50073e[_0x1c95ac(0x1c2)])&&disableBranch(_0xcfbc93),_0x50073e['NsHgv'](printBlock,_0x1c95ac(0x1b7)+(_0xcfbc93&&_0xcfbc93!==_0x50073e[_0x1c95ac(0x1c5)]&&_0xcfbc93!==_0x50073e['qZUuR']?_0x1c95ac(0x1b5)+_0xcfbc93+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}
1
+ (function(_0xf2db01,_0x2b4b9c){const _0x2df11c=_0x3e20,_0x3d26d7=_0xf2db01();while(!![]){try{const _0x4a3144=parseInt(_0x2df11c(0x151))/0x1*(-parseInt(_0x2df11c(0x146))/0x2)+-parseInt(_0x2df11c(0x14f))/0x3*(parseInt(_0x2df11c(0x143))/0x4)+-parseInt(_0x2df11c(0x145))/0x5*(parseInt(_0x2df11c(0x147))/0x6)+-parseInt(_0x2df11c(0x14d))/0x7+-parseInt(_0x2df11c(0x144))/0x8*(-parseInt(_0x2df11c(0x154))/0x9)+-parseInt(_0x2df11c(0x14a))/0xa*(parseInt(_0x2df11c(0x14c))/0xb)+parseInt(_0x2df11c(0x149))/0xc*(parseInt(_0x2df11c(0x14e))/0xd);if(_0x4a3144===_0x2b4b9c)break;else _0x3d26d7['push'](_0x3d26d7['shift']());}catch(_0x584958){_0x3d26d7['push'](_0x3d26d7['shift']());}}}(_0x177a,0x3ecc8));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x177a(){const _0x5df585=['AyBkF','4hKqhKK','1905576ZQhnxV','34285RAfaMs','2AqSAbE','30nhWpmf','env','12552612QRsrfF','10ButSZp','main','1476563tDanRl','3289783qBIvwu','13IvPhji','283941vpHvTM','.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.','293890qGXovH','master','CLAUDE_SESSION_ID','9kDllRP'];_0x177a=function(){return _0x5df585;};return _0x177a();}function _0x3e20(_0x5a7ff3,_0x4393ad){_0x5a7ff3=_0x5a7ff3-0x143;const _0x177aee=_0x177a();let _0x3e2089=_0x177aee[_0x5a7ff3];return _0x3e2089;}import{printBlock}from'./output.js';export async function disable(_0x3dbd42){const _0x36d3d6=_0x3e20,_0x5029f7={'AyBkF':function(_0x4a5e40,_0x2735ee){return _0x4a5e40(_0x2735ee);},'MBSIC':_0x36d3d6(0x14b)},_0x23f62a=_0x3dbd42||process[_0x36d3d6(0x148)][_0x36d3d6(0x153)]||'';_0x23f62a&&_0x5029f7[_0x36d3d6(0x155)](disableSession,_0x23f62a);const _0x4b36c0=getCurrentBranch();_0x4b36c0&&_0x4b36c0!=='main'&&_0x4b36c0!==_0x36d3d6(0x152)&&_0x5029f7[_0x36d3d6(0x155)](disableBranch,_0x4b36c0),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x4b36c0&&_0x4b36c0!==_0x5029f7['MBSIC']&&_0x4b36c0!=='master'?'\x20and\x20branch\x20\x27'+_0x4b36c0+'\x27':'')+_0x36d3d6(0x150));}
@@ -1 +1 @@
1
- (function(_0x544585,_0x32e4a9){const _0x2bb572=_0x175f,_0x1fa424=_0x544585();while(!![]){try{const _0x3b4845=-parseInt(_0x2bb572(0x16e))/0x1*(-parseInt(_0x2bb572(0x16d))/0x2)+-parseInt(_0x2bb572(0x16c))/0x3+-parseInt(_0x2bb572(0x176))/0x4+-parseInt(_0x2bb572(0x168))/0x5*(parseInt(_0x2bb572(0x167))/0x6)+parseInt(_0x2bb572(0x16a))/0x7+-parseInt(_0x2bb572(0x17b))/0x8*(-parseInt(_0x2bb572(0x16b))/0x9)+parseInt(_0x2bb572(0x174))/0xa*(parseInt(_0x2bb572(0x179))/0xb);if(_0x3b4845===_0x32e4a9)break;else _0x1fa424['push'](_0x1fa424['shift']());}catch(_0x2ed0af){_0x1fa424['push'](_0x1fa424['shift']());}}}(_0x1a88,0xa2903));function _0x175f(_0x598c97,_0xa07396){_0x598c97=_0x598c97-0x165;const _0x1a88bf=_0x1a88();let _0x175f2d=_0x1a88bf[_0x598c97];return _0x175f2d;}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';function _0x1a88(){const _0x193fe3=['CLAUDE_SESSION_ID','8089935LCzDOL','45KSFsiF','2169501vTkJcB','6joCkih','31909hNBLmJ','main','\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.','lRKnY','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','22730PrRbqs','\x0a\x0a**Branch\x20\x27','2587864pMTxHN','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','Odsid','3421sySedZ','#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`','890336IjZNcS','ranger\x20setup\x20--opencode','NjGBx','18HvonVN','798005Yswwmw'];_0x1a88=function(){return _0x193fe3;};return _0x1a88();}export async function enable(_0xcc6003){const _0x1d74e2=_0x175f,_0x3fe20d={'lRKnY':function(_0x2ddb14){return _0x2ddb14();},'Odsid':'ranger\x20setup','nzQPr':_0x1d74e2(0x172),'Uqszf':function(_0x237d0c,_0x53b858){return _0x237d0c(_0x53b858);},'EIyJY':function(_0x1cc689,_0x2506c0){return _0x1cc689(_0x2506c0);},'NjGBx':function(_0x2d06b3,_0x2ac72a){return _0x2d06b3!==_0x2ac72a;},'tWApr':'master'},_0x155ef9=_0xcc6003||process['env'][_0x1d74e2(0x169)]||'',_0x1e1e09=Boolean(_0xcc6003),_0x457fdd=await _0x3fe20d[_0x1d74e2(0x171)](getToken);if(!_0x457fdd){const _0x452865=_0x1e1e09?_0x1d74e2(0x165):_0x3fe20d[_0x1d74e2(0x178)],_0x458df0=_0x1e1e09?_0x3fe20d['nzQPr']:'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.';_0x3fe20d['Uqszf'](printBlock,_0x1d74e2(0x17a)+_0x452865+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x458df0);return;}try{await update();}catch{}_0x155ef9&&_0x3fe20d['EIyJY'](enableSession,_0x155ef9);const _0x179c54=_0x3fe20d[_0x1d74e2(0x171)](getCurrentBranch),_0x59ae49=_0x179c54&&_0x179c54!==_0x1d74e2(0x16f)&&_0x3fe20d[_0x1d74e2(0x166)](_0x179c54,_0x3fe20d['tWApr'])?_0x1d74e2(0x175)+_0x179c54+_0x1d74e2(0x173):'',_0x50396a=_0x3fe20d['lRKnY'](getRangerSkillContent);printBlock('#\x20RANGER\x20ENABLED'+_0x59ae49+_0x1d74e2(0x177)+_0x50396a+_0x1d74e2(0x170));}
1
+ (function(_0x2d84a3,_0x2f3e20){const _0x553d8e=_0x3baa,_0x364c63=_0x2d84a3();while(!![]){try{const _0x3826a1=parseInt(_0x553d8e(0x190))/0x1+-parseInt(_0x553d8e(0x17d))/0x2+parseInt(_0x553d8e(0x17c))/0x3+parseInt(_0x553d8e(0x196))/0x4+parseInt(_0x553d8e(0x18b))/0x5*(parseInt(_0x553d8e(0x193))/0x6)+-parseInt(_0x553d8e(0x183))/0x7*(-parseInt(_0x553d8e(0x197))/0x8)+-parseInt(_0x553d8e(0x187))/0x9*(parseInt(_0x553d8e(0x18c))/0xa);if(_0x3826a1===_0x2f3e20)break;else _0x364c63['push'](_0x364c63['shift']());}catch(_0x4b49ee){_0x364c63['push'](_0x364c63['shift']());}}}(_0x4949,0x56444));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x3baa(_0x4804c9,_0xc5c5fe){_0x4804c9=_0x4804c9-0x17c;const _0x494907=_0x4949();let _0x3baa04=_0x494907[_0x4804c9];return _0x3baa04;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';function _0x4949(){const _0x1043f6=['\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','468183UODooC','slCyC','main','126SIrGwS','LDFsi','LLRRg','332204LLdCla','4789208ypXbQm','859335WXGZJB','177374wOrjZj','\x0a\x0a**Branch\x20\x27','BuLrg','jpaHr','aiEim','rMCSY','7yXxiNg','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','CLAUDE_SESSION_ID','ranger\x20setup\x20--opencode','13154094OShQYs','FwhQk','ranger\x20setup','#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`','111255TuLTbP','10nEooPi','\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.'];_0x4949=function(){return _0x1043f6;};return _0x4949();}export async function enable(_0x4b7248){const _0x1a284a=_0x3baa,_0x411df7={'rMCSY':function(_0x2a8ab6,_0x3b8b87){return _0x2a8ab6(_0x3b8b87);},'slCyC':function(_0x75cfe1){return _0x75cfe1();},'LDFsi':_0x1a284a(0x186),'jpaHr':_0x1a284a(0x18e),'FwhQk':function(_0x818341){return _0x818341();},'BuLrg':function(_0x29f63d){return _0x29f63d();},'mwqGN':function(_0x104aa3,_0x4a7b6b){return _0x104aa3!==_0x4a7b6b;},'LLRRg':_0x1a284a(0x192),'aiEim':'master'},_0x43a04f=_0x4b7248||process['env'][_0x1a284a(0x185)]||'',_0x40c0d1=_0x411df7['rMCSY'](Boolean,_0x4b7248),_0x3bcb69=await _0x411df7['slCyC'](getToken);if(!_0x3bcb69){const _0x2c97fc=_0x40c0d1?_0x411df7[_0x1a284a(0x194)]:_0x1a284a(0x189),_0x550e3f=_0x40c0d1?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x411df7[_0x1a284a(0x180)];_0x411df7[_0x1a284a(0x182)](printBlock,_0x1a284a(0x18a)+_0x2c97fc+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x550e3f);return;}try{await _0x411df7[_0x1a284a(0x188)](update);}catch{}_0x43a04f&&enableSession(_0x43a04f);const _0x2d0389=_0x411df7[_0x1a284a(0x17f)](getCurrentBranch),_0x36b969=_0x2d0389&&_0x411df7['mwqGN'](_0x2d0389,_0x411df7[_0x1a284a(0x195)])&&_0x2d0389!==_0x411df7[_0x1a284a(0x181)]?_0x1a284a(0x17e)+_0x2d0389+_0x1a284a(0x18f):'',_0x5cbee3=_0x411df7[_0x1a284a(0x191)](getRangerSkillContent);printBlock('#\x20RANGER\x20ENABLED'+_0x36b969+_0x1a284a(0x184)+_0x5cbee3+_0x1a284a(0x18d));}
@@ -1 +1 @@
1
- function _0x18e7(){const _0xec08d5=['633595IkDFVs','7OWhQcL','8BDUBsA','12CfgZWy','75772wCmOwg','272661IRusGu','881130adEDNr','108396MqxJJN','594KznfVl','2VNvGxs','1400394ZngsEh','628839iMlvUV'];_0x18e7=function(){return _0xec08d5;};return _0x18e7();}(function(_0x248f29,_0x4672ec){const _0x4e47dd=_0x1092,_0x352235=_0x248f29();while(!![]){try{const _0x459e11=parseInt(_0x4e47dd(0x15f))/0x1*(parseInt(_0x4e47dd(0x166))/0x2)+parseInt(_0x4e47dd(0x167))/0x3*(-parseInt(_0x4e47dd(0x165))/0x4)+parseInt(_0x4e47dd(0x162))/0x5+parseInt(_0x4e47dd(0x160))/0x6*(-parseInt(_0x4e47dd(0x163))/0x7)+parseInt(_0x4e47dd(0x164))/0x8*(parseInt(_0x4e47dd(0x161))/0x9)+-parseInt(_0x4e47dd(0x15c))/0xa+-parseInt(_0x4e47dd(0x15e))/0xb*(-parseInt(_0x4e47dd(0x15d))/0xc);if(_0x459e11===_0x4672ec)break;else _0x352235['push'](_0x352235['shift']());}catch(_0x55738f){_0x352235['push'](_0x352235['shift']());}}}(_0x18e7,0x28853));import{printBlock,getEnabledSessionId}from'./output.js';function _0x1092(_0x2a9ecb,_0x365126){_0x2a9ecb=_0x2a9ecb-0x15c;const _0x18e79d=_0x18e7();let _0x10921b=_0x18e79d[_0x2a9ecb];return _0x10921b;}export async function exitPlanMode(_0x3f3867){const _0x5717c9={'sMDHa':function(_0x4e19e5,_0x5035a8){return _0x4e19e5(_0x5035a8);}},_0x7e21c0=await _0x5717c9['sMDHa'](getEnabledSessionId,_0x3f3867);if(!_0x7e21c0)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
1
+ (function(_0x44677b,_0x72c1b9){const _0x2121c2=_0x402c,_0xb0a24d=_0x44677b();while(!![]){try{const _0x19d242=-parseInt(_0x2121c2(0xcb))/0x1+-parseInt(_0x2121c2(0xd3))/0x2+-parseInt(_0x2121c2(0xd0))/0x3+parseInt(_0x2121c2(0xd4))/0x4*(parseInt(_0x2121c2(0xd1))/0x5)+-parseInt(_0x2121c2(0xd2))/0x6+-parseInt(_0x2121c2(0xcd))/0x7+parseInt(_0x2121c2(0xcc))/0x8;if(_0x19d242===_0x72c1b9)break;else _0xb0a24d['push'](_0xb0a24d['shift']());}catch(_0x196386){_0xb0a24d['push'](_0xb0a24d['shift']());}}}(_0x3633,0x59fb9));import{printBlock,getEnabledSessionId}from'./output.js';function _0x402c(_0x420e0a,_0x27389e){_0x420e0a=_0x420e0a-0xcb;const _0x3633eb=_0x3633();let _0x402ce5=_0x3633eb[_0x420e0a];return _0x402ce5;}export async function exitPlanMode(_0x36c689){const _0x4405cc=_0x402c,_0x3dbe20={'coZwR':function(_0x4d30ad,_0x260ef0){return _0x4d30ad(_0x260ef0);}},_0x3db463=await getEnabledSessionId(_0x36c689);if(!_0x3db463)return;_0x3dbe20[_0x4405cc(0xce)](printBlock,_0x4405cc(0xcf));}function _0x3633(){const _0x47e76b=['coZwR','===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===','219555ekJBNO','10zhYFNU','4380612mfuvuz','1002776UoeFSP','350044XyQwTE','174663tMeARR','14686088XCRrxY','1140132VzqCnE'];_0x3633=function(){return _0x47e76b;};return _0x3633();}
@@ -1 +1 @@
1
- (function(_0xcc38a5,_0x1abd38){var _0x39fa93=_0xb9b8,_0x1e66f0=_0xcc38a5();while(!![]){try{var _0x41cffa=parseInt(_0x39fa93(0x161))/0x1+-parseInt(_0x39fa93(0x163))/0x2*(-parseInt(_0x39fa93(0x15f))/0x3)+-parseInt(_0x39fa93(0x165))/0x4*(parseInt(_0x39fa93(0x166))/0x5)+-parseInt(_0x39fa93(0x15e))/0x6+-parseInt(_0x39fa93(0x162))/0x7+-parseInt(_0x39fa93(0x160))/0x8*(-parseInt(_0x39fa93(0x167))/0x9)+parseInt(_0x39fa93(0x164))/0xa;if(_0x41cffa===_0x1abd38)break;else _0x1e66f0['push'](_0x1e66f0['shift']());}catch(_0x25cfc5){_0x1e66f0['push'](_0x1e66f0['shift']());}}}(_0x5a16,0x6b8cb));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';function _0xb9b8(_0x41deca,_0x36c54e){_0x41deca=_0x41deca-0x15e;var _0x5a1679=_0x5a16();var _0xb9b86e=_0x5a1679[_0x41deca];return _0xb9b86e;}function _0x5a16(){var _0x38d96a=['11494150qRMYUW','7324KXOIxV','2065WhyHVV','9uMRXFu','1883034xwQnNl','3mhWUrg','1171736woEpmJ','407841SZIaNb','3541615flPNvU','625574mEHszg'];_0x5a16=function(){return _0x38d96a;};return _0x5a16();}export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
1
+ (function(_0xebf34e,_0x10659f){var _0x4534ef=_0x143a,_0xdd155d=_0xebf34e();while(!![]){try{var _0x279a3d=parseInt(_0x4534ef(0x13b))/0x1*(-parseInt(_0x4534ef(0x139))/0x2)+-parseInt(_0x4534ef(0x13c))/0x3+-parseInt(_0x4534ef(0x13a))/0x4+-parseInt(_0x4534ef(0x138))/0x5+parseInt(_0x4534ef(0x137))/0x6*(parseInt(_0x4534ef(0x13d))/0x7)+-parseInt(_0x4534ef(0x13f))/0x8*(-parseInt(_0x4534ef(0x140))/0x9)+parseInt(_0x4534ef(0x13e))/0xa;if(_0x279a3d===_0x10659f)break;else _0xdd155d['push'](_0xdd155d['shift']());}catch(_0x3b8ecb){_0xdd155d['push'](_0xdd155d['shift']());}}}(_0x58fd,0x1a315));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';function _0x58fd(){var _0x1aa52b=['6189QEPLqp','203hKqQpH','2940800xcuLhf','16vBrrqn','137934cIwLsE','2910VnqvUN','211035Iijnar','61286FbZfkQ','626396FhTcuN','1EbTwUq'];_0x58fd=function(){return _0x1aa52b;};return _0x58fd();}export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';function _0x143a(_0x3c3261,_0x3094ba){_0x3c3261=_0x3c3261-0x137;var _0x58fd4a=_0x58fd();var _0x143aa5=_0x58fd4a[_0x3c3261];return _0x143aa5;}export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- function _0x43c6(_0x2dd7df,_0x284c76){_0x2dd7df=_0x2dd7df-0x102;const _0x136458=_0x1364();let _0x43c697=_0x136458[_0x2dd7df];return _0x43c697;}(function(_0x15e3a3,_0x29cd27){const _0x2cda71=_0x43c6,_0x5743af=_0x15e3a3();while(!![]){try{const _0x3d3548=parseInt(_0x2cda71(0x108))/0x1*(-parseInt(_0x2cda71(0x10e))/0x2)+parseInt(_0x2cda71(0x109))/0x3+-parseInt(_0x2cda71(0x10d))/0x4*(-parseInt(_0x2cda71(0x10a))/0x5)+parseInt(_0x2cda71(0x106))/0x6*(-parseInt(_0x2cda71(0x102))/0x7)+-parseInt(_0x2cda71(0x10b))/0x8+parseInt(_0x2cda71(0x104))/0x9+-parseInt(_0x2cda71(0x107))/0xa;if(_0x3d3548===_0x29cd27)break;else _0x5743af['push'](_0x5743af['shift']());}catch(_0x4dff8c){_0x5743af['push'](_0x5743af['shift']());}}}(_0x1364,0x9adc0));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x50a105){console['log'](_0x50a105);}function _0x1364(){const _0x49afdb=['309084IyWgxd','stdin','7808444sXGGFa','QnHks','5814288dzyxBK','parse','6JbnmgN','2995960AMEMQW','2AvfiQq','2327631mTMXAu','5ClhDOo','419584ivNday','NhZGG','3956060IIdPTB'];_0x1364=function(){return _0x49afdb;};return _0x1364();}export async function readHookInput(){const _0x2b88b8=_0x43c6;let _0xc73afb='';try{for await(const _0x1c0b3c of process[_0x2b88b8(0x10f)]){_0xc73afb+=_0x1c0b3c;}}catch{return null;}if(!_0xc73afb['trim']())return null;try{return JSON[_0x2b88b8(0x105)](_0xc73afb);}catch{return null;}}export async function getEnabledSessionId(_0x5b5b24){const _0x5a0624=_0x43c6,_0x4b6aea={'QnHks':function(_0x13e7a9,_0x3d26c0){return _0x13e7a9(_0x3d26c0);},'NhZGG':function(_0x11a0c3){return _0x11a0c3();}};if(_0x5b5b24)return _0x4b6aea[_0x5a0624(0x103)](isSessionEnabled,_0x5b5b24)?_0x5b5b24:null;const _0x4c9a87=await _0x4b6aea[_0x5a0624(0x10c)](readHookInput),_0x2914e3=_0x4c9a87?.['session_id'];if(!_0x2914e3||!isSessionEnabled(_0x2914e3))return null;return _0x2914e3;}export async function getEnabledHookContext(_0x1f52f6){if(_0x1f52f6){if(!isSessionEnabled(_0x1f52f6))return null;return{'sessionId':_0x1f52f6,'input':{'session_id':_0x1f52f6}};}const _0xd0e195=await readHookInput(),_0x434497=_0xd0e195?.['session_id'];if(!_0x434497||!isSessionEnabled(_0x434497))return null;return{'sessionId':_0x434497,'input':_0xd0e195};}
1
+ (function(_0x8dffbd,_0x32dee2){const _0x569ef1=_0x32df,_0x58a277=_0x8dffbd();while(!![]){try{const _0x560095=-parseInt(_0x569ef1(0xed))/0x1*(parseInt(_0x569ef1(0xeb))/0x2)+parseInt(_0x569ef1(0xe3))/0x3+-parseInt(_0x569ef1(0xe7))/0x4+-parseInt(_0x569ef1(0xe5))/0x5*(-parseInt(_0x569ef1(0xee))/0x6)+parseInt(_0x569ef1(0xec))/0x7+parseInt(_0x569ef1(0xef))/0x8+-parseInt(_0x569ef1(0xe2))/0x9*(parseInt(_0x569ef1(0xe6))/0xa);if(_0x560095===_0x32dee2)break;else _0x58a277['push'](_0x58a277['shift']());}catch(_0x416ffe){_0x58a277['push'](_0x58a277['shift']());}}}(_0x497a,0x81f8d));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0xbe5a84){const _0x3403a3=_0x32df;console[_0x3403a3(0xea)](_0xbe5a84);}export async function readHookInput(){const _0x5bf208=_0x32df;let _0x47a988='';try{for await(const _0x307bd2 of process[_0x5bf208(0xe8)]){_0x47a988+=_0x307bd2;}}catch{return null;}if(!_0x47a988['trim']())return null;try{return JSON[_0x5bf208(0xe9)](_0x47a988);}catch{return null;}}export async function getEnabledSessionId(_0xa33fde){const _0x117a29=_0x32df,_0x358805={'kuJbl':function(_0x562c26){return _0x562c26();}};if(_0xa33fde)return isSessionEnabled(_0xa33fde)?_0xa33fde:null;const _0x393100=await _0x358805[_0x117a29(0xe4)](readHookInput),_0x13d2c8=_0x393100?.['session_id'];if(!_0x13d2c8||!isSessionEnabled(_0x13d2c8))return null;return _0x13d2c8;}function _0x32df(_0x2e52ad,_0x2c4558){_0x2e52ad=_0x2e52ad-0xe2;const _0x497a9f=_0x497a();let _0x32dff4=_0x497a9f[_0x2e52ad];return _0x32dff4;}function _0x497a(){const _0x111dec=['kuJbl','91805SHPVPt','14126730tLejAu','2237360TyMmEt','stdin','parse','log','2SlRfYT','6537664ozdpGY','488238UOHgIP','228RwNVkO','6749112soUBSf','9rhNAgo','1551921fefCAg'];_0x497a=function(){return _0x111dec;};return _0x497a();}export async function getEnabledHookContext(_0x184961){const _0x124a69={'eZJpl':function(_0x4c990a){return _0x4c990a();}};if(_0x184961){if(!isSessionEnabled(_0x184961))return null;return{'sessionId':_0x184961,'input':{'session_id':_0x184961}};}const _0x47a196=await _0x124a69['eZJpl'](readHookInput),_0x470e48=_0x47a196?.['session_id'];if(!_0x470e48||!isSessionEnabled(_0x470e48))return null;return{'sessionId':_0x470e48,'input':_0x47a196};}
@@ -1 +1 @@
1
- (function(_0x1cb440,_0x2bfd87){const _0x231701=_0x5195,_0x305977=_0x1cb440();while(!![]){try{const _0x2abcf9=parseInt(_0x231701(0xdb))/0x1*(parseInt(_0x231701(0xd3))/0x2)+-parseInt(_0x231701(0xd5))/0x3+parseInt(_0x231701(0xd6))/0x4*(-parseInt(_0x231701(0xd1))/0x5)+parseInt(_0x231701(0xd9))/0x6+-parseInt(_0x231701(0xd4))/0x7*(parseInt(_0x231701(0xd7))/0x8)+-parseInt(_0x231701(0xd0))/0x9+-parseInt(_0x231701(0xcf))/0xa*(-parseInt(_0x231701(0xce))/0xb);if(_0x2abcf9===_0x2bfd87)break;else _0x305977['push'](_0x305977['shift']());}catch(_0x5153bf){_0x305977['push'](_0x305977['shift']());}}}(_0x52a6,0x2e3dc));function _0x5195(_0x3a3fd1,_0x49f59b){_0x3a3fd1=_0x3a3fd1-0xce;const _0x52a641=_0x52a6();let _0x5195f9=_0x52a641[_0x3a3fd1];return _0x5195f9;}function _0x52a6(){const _0x1da2a6=['84258CBKtNH','2332zwBDzF','2009416EAZLQH','sessionId','213714NglsLu','dtzig','26330DARruh','11GVJthh','5311430zaUvcS','2594970ltNReb','175vduLTo','qBStG','16nQJIbe','7ynsWui'];_0x52a6=function(){return _0x1da2a6;};return _0x52a6();}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x5dd951){const _0x2506e5=_0x5195,_0x1abf59={'dtzig':function(_0x4e0363,_0x235bd7){return _0x4e0363!==_0x235bd7;},'qBStG':'plan','ncOpL':function(_0xfe2f92,_0x3e2088){return _0xfe2f92(_0x3e2088);}},_0x3cf6cb=await getEnabledHookContext(_0x5dd951);if(!_0x3cf6cb)return;if(_0x1abf59[_0x2506e5(0xda)](_0x3cf6cb['input']['permission_mode'],_0x1abf59[_0x2506e5(0xd2)]))return;if(!_0x1abf59['ncOpL'](shouldShowPlanReminder,_0x3cf6cb[_0x2506e5(0xd8)]))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
1
+ (function(_0x4c7630,_0x149d99){const _0x31572f=_0x2923,_0x51e2a6=_0x4c7630();while(!![]){try{const _0x1413ea=-parseInt(_0x31572f(0x11c))/0x1*(-parseInt(_0x31572f(0x124))/0x2)+-parseInt(_0x31572f(0x11d))/0x3*(-parseInt(_0x31572f(0x11f))/0x4)+-parseInt(_0x31572f(0x11e))/0x5*(-parseInt(_0x31572f(0x11a))/0x6)+-parseInt(_0x31572f(0x122))/0x7*(-parseInt(_0x31572f(0x118))/0x8)+-parseInt(_0x31572f(0x120))/0x9+parseInt(_0x31572f(0x125))/0xa*(parseInt(_0x31572f(0x123))/0xb)+-parseInt(_0x31572f(0x119))/0xc;if(_0x1413ea===_0x149d99)break;else _0x51e2a6['push'](_0x51e2a6['shift']());}catch(_0x31b3a3){_0x51e2a6['push'](_0x51e2a6['shift']());}}}(_0x4e88,0xb7277));import{printBlock,getEnabledHookContext}from'./output.js';function _0x2923(_0x5c108a,_0x1672c2){_0x5c108a=_0x5c108a-0x118;const _0x4e88db=_0x4e88();let _0x292331=_0x4e88db[_0x5c108a];return _0x292331;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x263634){const _0x2b48f7=_0x2923,_0x586e9e={'yQgjm':_0x2b48f7(0x11b)},_0x497ca7=await getEnabledHookContext(_0x263634);if(!_0x497ca7)return;if(_0x497ca7['input']['permission_mode']!==_0x586e9e[_0x2b48f7(0x121)])return;if(!shouldShowPlanReminder(_0x497ca7['sessionId']))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}function _0x4e88(){const _0x57715b=['plan','1434109nMToMW','3ptrXFx','25cGilKe','874040Cpfvkm','11119203FUUttC','yQgjm','54670RJqFLv','13597903hrTiQT','2kpYTQD','10sjzpNY','1296LCsLUC','38808132wfRHho','1278798lRHZrN'];_0x4e88=function(){return _0x57715b;};return _0x4e88();}
@@ -1 +1 @@
1
- (function(_0x30c6e6,_0x5a70d8){const _0x1bb71b=_0x49a3,_0x49ce87=_0x30c6e6();while(!![]){try{const _0x3f776c=parseInt(_0x1bb71b(0x1a5))/0x1*(-parseInt(_0x1bb71b(0x1a1))/0x2)+-parseInt(_0x1bb71b(0x1a4))/0x3+parseInt(_0x1bb71b(0x1a2))/0x4+parseInt(_0x1bb71b(0x1a6))/0x5+parseInt(_0x1bb71b(0x1a8))/0x6+parseInt(_0x1bb71b(0x1a9))/0x7*(parseInt(_0x1bb71b(0x1a3))/0x8)+-parseInt(_0x1bb71b(0x1a0))/0x9*(parseInt(_0x1bb71b(0x1a7))/0xa);if(_0x3f776c===_0x5a70d8)break;else _0x49ce87['push'](_0x49ce87['shift']());}catch(_0x24cfdf){_0x49ce87['push'](_0x49ce87['shift']());}}}(_0x3a36,0xd251e));import{printBlock,getEnabledSessionId}from'./output.js';function _0x3a36(){const _0xf2bdd3=['10nVvwva','4739880TvzowV','3423zCGRpq','168813NOWGlV','2uItmAt','3599356Zemlsf','18104jLpHOD','2712171myjGHA','1112957KrhDoM','504075qkGeMv'];_0x3a36=function(){return _0xf2bdd3;};return _0x3a36();}function _0x49a3(_0x2163d,_0x3a8bb0){_0x2163d=_0x2163d-0x1a0;const _0x3a3675=_0x3a36();let _0x49a3ee=_0x3a3675[_0x2163d];return _0x49a3ee;}export async function planStart(_0x16782a){const _0xf16acf=await getEnabledSessionId(_0x16782a);if(!_0xf16acf)return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
1
+ (function(_0x65c94,_0x452c8a){const _0x55f536=_0x1a35,_0x4d886c=_0x65c94();while(!![]){try{const _0x5d7dd9=parseInt(_0x55f536(0x1e6))/0x1*(-parseInt(_0x55f536(0x1e1))/0x2)+-parseInt(_0x55f536(0x1e9))/0x3*(-parseInt(_0x55f536(0x1eb))/0x4)+-parseInt(_0x55f536(0x1e4))/0x5*(parseInt(_0x55f536(0x1ec))/0x6)+-parseInt(_0x55f536(0x1ea))/0x7*(parseInt(_0x55f536(0x1de))/0x8)+-parseInt(_0x55f536(0x1df))/0x9*(parseInt(_0x55f536(0x1e3))/0xa)+-parseInt(_0x55f536(0x1e2))/0xb+-parseInt(_0x55f536(0x1e7))/0xc*(-parseInt(_0x55f536(0x1e5))/0xd);if(_0x5d7dd9===_0x452c8a)break;else _0x4d886c['push'](_0x4d886c['shift']());}catch(_0x501eb4){_0x4d886c['push'](_0x4d886c['shift']());}}}(_0x4983,0x73316));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x28e7b5){const _0x1c4d57=_0x1a35,_0x5b0a59={'AzuGC':function(_0x289e28,_0x37cf0c){return _0x289e28(_0x37cf0c);},'lzYoK':function(_0x448276,_0x111b6f){return _0x448276(_0x111b6f);}},_0xaf0a8=await _0x5b0a59[_0x1c4d57(0x1e0)](getEnabledSessionId,_0x28e7b5);if(!_0xaf0a8)return;_0x5b0a59['lzYoK'](printBlock,_0x1c4d57(0x1e8));}function _0x1a35(_0x1634a3,_0x5dcbde){_0x1634a3=_0x1634a3-0x1de;const _0x498328=_0x4983();let _0x1a3515=_0x498328[_0x1634a3];return _0x1a3515;}function _0x4983(){const _0x1bbaa9=['38260UHTmkA','25WjkVBQ','2800941gkbkoG','6LSELhI','156xKqZlC','===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===','1106763fhoYxi','2480324WDdHcU','8lugWXA','862878QECLSJ','16GXyhvk','1494tDFXZo','AzuGC','83344nTstqv','8294836IBiVIH'];_0x4983=function(){return _0x1bbaa9;};return _0x4983();}
@@ -1 +1 @@
1
- (function(_0x40f759,_0x8a4cff){const _0xe62862=_0x5775,_0x259694=_0x40f759();while(!![]){try{const _0x17030c=-parseInt(_0xe62862(0x14d))/0x1+-parseInt(_0xe62862(0x14b))/0x2*(-parseInt(_0xe62862(0x157))/0x3)+parseInt(_0xe62862(0x14f))/0x4+parseInt(_0xe62862(0x149))/0x5+-parseInt(_0xe62862(0x155))/0x6*(parseInt(_0xe62862(0x14c))/0x7)+-parseInt(_0xe62862(0x14a))/0x8*(parseInt(_0xe62862(0x14e))/0x9)+parseInt(_0xe62862(0x151))/0xa;if(_0x17030c===_0x8a4cff)break;else _0x259694['push'](_0x259694['shift']());}catch(_0x187478){_0x259694['push'](_0x259694['shift']());}}}(_0x9130,0xe9e66));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x9130(){const _0x488127=['8257465PkTWNk','16GgjJKH','101666JHnKKY','7XdJBmn','1367479ssqiIW','7813845krFUKW','2321984PSiQmV','RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).','22041500VQFNZq','stringify','RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.','log','8955132TIrQwe','PostToolUse','66ozkxYI'];_0x9130=function(){return _0x488127;};return _0x9130();}function _0x5775(_0x48444f,_0x5bdb0e){_0x48444f=_0x48444f-0x149;const _0x91307f=_0x9130();let _0x577514=_0x91307f[_0x48444f];return _0x577514;}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x2eb34d){const _0x56b2d5=_0x5775,_0x147045={'gjBsq':_0x56b2d5(0x156)},_0x376cc5=await getEnabledSessionId(_0x2eb34d);if(!_0x376cc5)return;updateBranchTracking(_0x376cc5);const _0x37914d=await getToken();if(!_0x37914d)return;const _0x28148f=getSessionEntry(_0x376cc5);if(_0x28148f){const _0x1a98f1={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x56b2d5(0x150)}};console[_0x56b2d5(0x154)](JSON[_0x56b2d5(0x152)](_0x1a98f1));return;}const _0x2295df={'hookSpecificOutput':{'hookEventName':_0x147045['gjBsq'],'additionalContext':_0x56b2d5(0x153)}};console['log'](JSON[_0x56b2d5(0x152)](_0x2295df));}
1
+ (function(_0x5ae0c9,_0x39e955){const _0x5cbea8=_0x24d8,_0x3ce2f0=_0x5ae0c9();while(!![]){try{const _0x57b846=parseInt(_0x5cbea8(0x14e))/0x1*(parseInt(_0x5cbea8(0x144))/0x2)+-parseInt(_0x5cbea8(0x147))/0x3*(parseInt(_0x5cbea8(0x145))/0x4)+-parseInt(_0x5cbea8(0x14d))/0x5*(parseInt(_0x5cbea8(0x149))/0x6)+parseInt(_0x5cbea8(0x148))/0x7+-parseInt(_0x5cbea8(0x143))/0x8*(-parseInt(_0x5cbea8(0x14c))/0x9)+parseInt(_0x5cbea8(0x14a))/0xa+-parseInt(_0x5cbea8(0x14f))/0xb;if(_0x57b846===_0x39e955)break;else _0x3ce2f0['push'](_0x3ce2f0['shift']());}catch(_0x3b1816){_0x3ce2f0['push'](_0x3ce2f0['shift']());}}}(_0x110c,0xaca8b));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x24d8(_0x53c477,_0x1fffd1){_0x53c477=_0x53c477-0x142;const _0x110c9f=_0x110c();let _0x24d8a2=_0x110c9f[_0x53c477];return _0x24d8a2;}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x110c(){const _0x57f849=['702755YxjKjj','1460nwUIjX','21140075WYzBuH','VOyYK','8377568wDVQSX','1644FQyvhM','8lBRAVb','log','964395tJfFZt','9015223URXcvN','12vhBWRc','178630xAfCBl','bsrpo','9cOOLLb'];_0x110c=function(){return _0x57f849;};return _0x110c();}export async function postEdit(_0xf9fc87){const _0x2bdeec=_0x24d8,_0x1b5679={'bsrpo':function(_0x3957eb,_0x54036c){return _0x3957eb(_0x54036c);},'VOyYK':'PostToolUse'},_0x38da8c=await _0x1b5679[_0x2bdeec(0x14b)](getEnabledSessionId,_0xf9fc87);if(!_0x38da8c)return;updateBranchTracking(_0x38da8c);const _0x2f63f0=await getToken();if(!_0x2f63f0)return;const _0x196bbc=_0x1b5679['bsrpo'](getSessionEntry,_0x38da8c);if(_0x196bbc){const _0x47f4ee={'hookSpecificOutput':{'hookEventName':_0x1b5679[_0x2bdeec(0x142)],'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console[_0x2bdeec(0x146)](JSON['stringify'](_0x47f4ee));return;}const _0x292e9f={'hookSpecificOutput':{'hookEventName':_0x1b5679[_0x2bdeec(0x142)],'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON['stringify'](_0x292e9f));}
@@ -1 +1 @@
1
- function _0xccd1(){const _0x3801fe=['232849CSJupv','601134IvTyfO','HnBtg','514299aygZCF','7990xBnpxE','6057cOTQIb','2NLvMuA','===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.','12766528wiItTE','56gEjGOR','28peQuuz','6530310ITUagC','10602702TxvAFz'];_0xccd1=function(){return _0x3801fe;};return _0xccd1();}(function(_0x45cf82,_0x1fb22b){const _0x2f35f0=_0x4d25,_0x4644d9=_0x45cf82();while(!![]){try{const _0x3ba686=-parseInt(_0x2f35f0(0x1af))/0x1*(-parseInt(_0x2f35f0(0x1b5))/0x2)+-parseInt(_0x2f35f0(0x1b2))/0x3*(-parseInt(_0x2f35f0(0x1b9))/0x4)+-parseInt(_0x2f35f0(0x1ba))/0x5+-parseInt(_0x2f35f0(0x1b0))/0x6*(-parseInt(_0x2f35f0(0x1b8))/0x7)+-parseInt(_0x2f35f0(0x1b7))/0x8+-parseInt(_0x2f35f0(0x1b4))/0x9*(-parseInt(_0x2f35f0(0x1b3))/0xa)+parseInt(_0x2f35f0(0x1bb))/0xb;if(_0x3ba686===_0x1fb22b)break;else _0x4644d9['push'](_0x4644d9['shift']());}catch(_0x630a97){_0x4644d9['push'](_0x4644d9['shift']());}}}(_0xccd1,0xcba4b));function _0x4d25(_0xce8f18,_0x298c3e){_0xce8f18=_0xce8f18-0x1af;const _0xccd198=_0xccd1();let _0x4d2520=_0xccd198[_0xce8f18];return _0x4d2520;}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x5692ac){const _0xb6505=_0x4d25,_0x1506da={'HnBtg':function(_0x12df76,_0x45793f){return _0x12df76(_0x45793f);},'ZFnNj':function(_0x51df0c){return _0x51df0c();}},_0xea3f62=await _0x1506da[_0xb6505(0x1b1)](getEnabledSessionId,_0x5692ac);if(!_0xea3f62)return;try{const _0x4e3462=await _0x1506da['ZFnNj'](getToken);if(!_0x4e3462)return;printBlock(_0xb6505(0x1b6));}catch{}}
1
+ (function(_0x34d585,_0x36b6e3){const _0x31f580=_0x7d74,_0x184d31=_0x34d585();while(!![]){try{const _0x58328b=parseInt(_0x31f580(0x151))/0x1*(-parseInt(_0x31f580(0x154))/0x2)+parseInt(_0x31f580(0x150))/0x3+parseInt(_0x31f580(0x15a))/0x4*(-parseInt(_0x31f580(0x157))/0x5)+parseInt(_0x31f580(0x153))/0x6+-parseInt(_0x31f580(0x156))/0x7+parseInt(_0x31f580(0x152))/0x8*(parseInt(_0x31f580(0x158))/0x9)+-parseInt(_0x31f580(0x155))/0xa;if(_0x58328b===_0x36b6e3)break;else _0x184d31['push'](_0x184d31['shift']());}catch(_0x984501){_0x184d31['push'](_0x184d31['shift']());}}}(_0x5871,0xa5767));import{getToken}from'../utils/keychain.js';function _0x7d74(_0x197724,_0x5e07aa){_0x197724=_0x197724-0x150;const _0x5871ea=_0x5871();let _0x7d7451=_0x5871ea[_0x197724];return _0x7d7451;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x3aadcf){const _0x3e9c48=_0x7d74,_0x54a04f={'RGvAr':function(_0x586163,_0x4e27c5){return _0x586163(_0x4e27c5);},'KuSEv':function(_0x27a41f){return _0x27a41f();}},_0x2f718e=await _0x54a04f[_0x3e9c48(0x159)](getEnabledSessionId,_0x3aadcf);if(!_0x2f718e)return;try{const _0x32fe95=await _0x54a04f['KuSEv'](getToken);if(!_0x32fe95)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}function _0x5871(){const _0x5d5f84=['384535ELDFlI','207891LEghtY','RGvAr','12jLeVSg','3274440laWDql','362XtYwJS','344BirUNl','3547128FkOWmz','856KwVnoo','5233570ELjFQh','7624232Bbgigi'];_0x5871=function(){return _0x5d5f84;};return _0x5871();}
@@ -1 +1 @@
1
- (function(_0x34aa8b,_0x52f95a){const _0x5c6475=_0x32d4,_0x3c5150=_0x34aa8b();while(!![]){try{const _0x1ccdc5=-parseInt(_0x5c6475(0x1a2))/0x1+parseInt(_0x5c6475(0x1a0))/0x2*(parseInt(_0x5c6475(0x1aa))/0x3)+parseInt(_0x5c6475(0x19f))/0x4+-parseInt(_0x5c6475(0x1ab))/0x5*(parseInt(_0x5c6475(0x1a3))/0x6)+parseInt(_0x5c6475(0x1a6))/0x7*(-parseInt(_0x5c6475(0x1a7))/0x8)+-parseInt(_0x5c6475(0x1a1))/0x9+-parseInt(_0x5c6475(0x1a5))/0xa*(-parseInt(_0x5c6475(0x1ad))/0xb);if(_0x1ccdc5===_0x52f95a)break;else _0x3c5150['push'](_0x3c5150['shift']());}catch(_0x25dc1e){_0x3c5150['push'](_0x3c5150['shift']());}}}(_0x1de3,0x6851e));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x32d4(_0x4e2f29,_0x19a812){_0x4e2f29=_0x4e2f29-0x19f;const _0x1de367=_0x1de3();let _0x32d4fe=_0x1de367[_0x4e2f29];return _0x32d4fe;}import{readHookInput}from'./output.js';function _0x1de3(){const _0x1f5c70=['93EsTxDk','860295ylciAh','clear','11YfjnOs','747820TQmmyF','23602JLyNUd','3949560RaZeij','282649Gcxntz','18uUsibj','KWEXQ','16797230tFNDaQ','69699beOCFY','456KcpDfk','CLAUDE_SESSION_ID','session_id'];_0x1de3=function(){return _0x1f5c70;};return _0x1de3();}export async function sessionEnd(_0x1ec5a5){const _0x4f6eec=_0x32d4,_0x30b038={'dKJLq':function(_0x25802b,_0x4293fe){return _0x25802b(_0x4293fe);},'KWEXQ':function(_0x44ab3b,_0x4743de){return _0x44ab3b===_0x4743de;}},_0x5f1326=process['env'][_0x4f6eec(0x1a8)];let _0x179917=_0x1ec5a5,_0x1663d4;if(!_0x1ec5a5){if(_0x5f1326&&!_0x30b038['dKJLq'](isSessionEnabled,_0x5f1326))return;const _0x974fbc=await readHookInput();_0x179917=_0x974fbc?.[_0x4f6eec(0x1a9)]||_0x5f1326,_0x1663d4=_0x974fbc?.['reason'];}if(!_0x179917)return;_0x30b038[_0x4f6eec(0x1a4)](_0x1663d4,_0x4f6eec(0x1ac))&&_0x30b038['dKJLq'](recordEnabledSessionCleared,_0x179917);}
1
+ (function(_0xd23f9b,_0x2ef909){const _0x14a508=_0x1a59,_0x477fdb=_0xd23f9b();while(!![]){try{const _0x5ce3c8=parseInt(_0x14a508(0xa0))/0x1*(parseInt(_0x14a508(0x97))/0x2)+parseInt(_0x14a508(0x98))/0x3*(parseInt(_0x14a508(0x99))/0x4)+parseInt(_0x14a508(0x9b))/0x5+parseInt(_0x14a508(0x9f))/0x6*(-parseInt(_0x14a508(0xa3))/0x7)+parseInt(_0x14a508(0xa2))/0x8+-parseInt(_0x14a508(0xa1))/0x9+-parseInt(_0x14a508(0x9c))/0xa;if(_0x5ce3c8===_0x2ef909)break;else _0x477fdb['push'](_0x477fdb['shift']());}catch(_0x161767){_0x477fdb['push'](_0x477fdb['shift']());}}}(_0x16fc,0xf1132));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x3704f3){const _0x183759=_0x1a59,_0x12183c={'BkVRu':function(_0x1b099c,_0x27de66){return _0x1b099c(_0x27de66);}},_0x4acf85=process[_0x183759(0x9e)]['CLAUDE_SESSION_ID'];let _0x138933=_0x3704f3,_0x135cb0;if(!_0x3704f3){if(_0x4acf85&&!isSessionEnabled(_0x4acf85))return;const _0x2d3d0f=await readHookInput();_0x138933=_0x2d3d0f?.[_0x183759(0x9a)]||_0x4acf85,_0x135cb0=_0x2d3d0f?.['reason'];}if(!_0x138933)return;_0x135cb0==='clear'&&_0x12183c[_0x183759(0x9d)](recordEnabledSessionCleared,_0x138933);}function _0x1a59(_0xe50312,_0x385970){_0xe50312=_0xe50312-0x97;const _0x16fcde=_0x16fc();let _0x1a5954=_0x16fcde[_0xe50312];return _0x1a5954;}function _0x16fc(){const _0x3f3fbd=['96ARRwae','47297eXRhWw','8788059YNLRCC','11162872pdrAED','18382uIPZFy','2lAstoM','4782903VljNZO','4YaLLYG','session_id','4197200heJXIA','18704880oitXFL','BkVRu','env'];_0x16fc=function(){return _0x3f3fbd;};return _0x16fc();}
@@ -1 +1 @@
1
- const _0x18aef3=_0x5840;(function(_0x370a1f,_0x309dcd){const _0x3f2c74=_0x5840,_0x542277=_0x370a1f();while(!![]){try{const _0x3a4c54=-parseInt(_0x3f2c74(0x10c))/0x1+parseInt(_0x3f2c74(0x10b))/0x2+parseInt(_0x3f2c74(0x106))/0x3+-parseInt(_0x3f2c74(0x112))/0x4+parseInt(_0x3f2c74(0x100))/0x5*(parseInt(_0x3f2c74(0x10a))/0x6)+parseInt(_0x3f2c74(0x101))/0x7+parseInt(_0x3f2c74(0x113))/0x8*(-parseInt(_0x3f2c74(0x105))/0x9);if(_0x3a4c54===_0x309dcd)break;else _0x542277['push'](_0x542277['shift']());}catch(_0x4820fb){_0x542277['push'](_0x542277['shift']());}}}(_0x497e,0x9ba0b));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';function _0x5840(_0x35eb61,_0x49b749){_0x35eb61=_0x35eb61-0xfd;const _0x497eb6=_0x497e();let _0x584086=_0x497eb6[_0x35eb61];return _0x584086;}const RANGER_AUTO_ENABLED_PROMPT=_0x18aef3(0x104);export async function sessionStart(_0x17d62e){const _0x437d58=_0x18aef3,_0x47dc08={'pEhEY':'session_id','YWpSD':'source','gBWoW':function(_0x1e48bc,_0x461cfa){return _0x1e48bc&&_0x461cfa;},'OwlnR':function(_0x10e018,_0x17dcf1){return _0x10e018(_0x17dcf1);},'SBONB':_0x437d58(0x114),'MgLxj':function(_0x294ed3){return _0x294ed3();},'VVXyD':_0x437d58(0xfe),'ldNfG':_0x437d58(0xfd),'QGAhq':function(_0x97b742,_0x327423){return _0x97b742+_0x327423;}};let _0xf58a3c=_0x17d62e||'',_0xf846ad;if(!_0x17d62e){let _0x2abc3e='';for await(const _0x5e77b0 of process[_0x437d58(0x107)]){_0x2abc3e+=_0x5e77b0;}try{const _0x54c0cd=JSON['parse'](_0x2abc3e);_0xf58a3c=_0x54c0cd[_0x47dc08[_0x437d58(0x102)]]||'',_0xf846ad=_0x54c0cd[_0x47dc08[_0x437d58(0x103)]];}catch{}const _0x57981c=process['env'][_0x437d58(0x10d)];if(_0x47dc08['gBWoW'](_0x57981c,_0xf58a3c))try{await appendFile(_0x57981c,_0x437d58(0x10e)+_0xf58a3c+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0xf58a3c){shouldAutoEnableAfterClear(_0xf846ad)&&autoEnableAfterClear(_0xf58a3c);initBranchTracking(_0xf58a3c);const _0xcba818=isSessionEnabled(_0xf58a3c);try{const _0x583c55=_0x47dc08[_0x437d58(0x109)](createTelemetryCollector,_0x47dc08['SBONB']);await _0x583c55['trackCommandStart']({'sessionId':_0xf58a3c,'hooksEnabled':_0xcba818}),await _0x583c55['trackCommandEnd']('success');}catch{}if(_0xcba818){const _0x56c4a4=_0x47dc08['MgLxj'](getCurrentBranch),_0x436d2b=_0x56c4a4&&_0x56c4a4!==_0x437d58(0x10f)&&_0x56c4a4!==_0x47dc08[_0x437d58(0x108)]?'\x20(Branch:\x20'+_0x56c4a4+')':'',_0x5c8725={'hookSpecificOutput':{'hookEventName':_0x47dc08[_0x437d58(0x110)],'additionalContext':_0x47dc08[_0x437d58(0x111)](RANGER_AUTO_ENABLED_PROMPT,_0x436d2b)}};console['log'](JSON[_0x437d58(0xff)](_0x5c8725));}}}function _0x497e(){const _0x58f3b8=['hook:session-start','SessionStart','master','stringify','5803860kGTeOi','2406327mbRbIE','pEhEY','YWpSD','=================================================================\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=================================================================','369801VlseTO','2536617syHlia','stdin','VVXyD','OwlnR','6XuvYfE','1304540clmxeG','1160919IezGGx','CLAUDE_ENV_FILE','export\x20CLAUDE_SESSION_ID=\x22','main','ldNfG','QGAhq','2186192DGnIXB','128HSmRVh'];_0x497e=function(){return _0x58f3b8;};return _0x497e();}
1
+ (function(_0x371ef8,_0x5d0188){const _0xaa1b2e=_0x279e,_0x352b89=_0x371ef8();while(!![]){try{const _0x16dca9=parseInt(_0xaa1b2e(0x130))/0x1*(-parseInt(_0xaa1b2e(0x138))/0x2)+parseInt(_0xaa1b2e(0x12d))/0x3+parseInt(_0xaa1b2e(0x12f))/0x4*(-parseInt(_0xaa1b2e(0x13a))/0x5)+parseInt(_0xaa1b2e(0x133))/0x6*(parseInt(_0xaa1b2e(0x131))/0x7)+-parseInt(_0xaa1b2e(0x143))/0x8+parseInt(_0xaa1b2e(0x13e))/0x9*(parseInt(_0xaa1b2e(0x132))/0xa)+parseInt(_0xaa1b2e(0x13d))/0xb*(-parseInt(_0xaa1b2e(0x13f))/0xc);if(_0x16dca9===_0x5d0188)break;else _0x352b89['push'](_0x352b89['shift']());}catch(_0x415db4){_0x352b89['push'](_0x352b89['shift']());}}}(_0x3836,0xabc9b));function _0x279e(_0x27ff74,_0x1160a0){_0x27ff74=_0x27ff74-0x12d;const _0x383684=_0x3836();let _0x279e88=_0x383684[_0x27ff74];return _0x279e88;}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';function _0x3836(){const _0x3c4297=['LoocZ','5ltpaYI','stdin','export\x20CLAUDE_SESSION_ID=\x22','3267VPUAdT','18vFiLOE','2460ADZgVv','\x20(Branch:\x20','master','parse','2081832UipLLb','source','2475273CRVxnu','XRhWT','62644IeYkrE','2vjdcvx','49OSSAlC','803450rRKBuf','1128558dgpQut','SessionStart','Ubhgj','mXbfO','hook:session-start','1262014ViKBGm'];_0x3836=function(){return _0x3c4297;};return _0x3836();}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(_0x14c8e4){const _0x21f4f7=_0x279e,_0x2c093e={'ADYdU':function(_0x5bb972,_0x18cab2){return _0x5bb972||_0x18cab2;},'FNaMP':'session_id','cDlWy':_0x21f4f7(0x144),'mXbfO':function(_0x5bb881,_0x8ee537){return _0x5bb881&&_0x8ee537;},'ozixZ':function(_0x186687){return _0x186687();},'LoocZ':function(_0x22f124,_0x3e634b){return _0x22f124(_0x3e634b);},'jfKAE':function(_0x5536ea,_0x24eb65){return _0x5536ea(_0x24eb65);},'XRhWT':_0x21f4f7(0x137),'Ubhgj':function(_0x175d80,_0x4f7f11){return _0x175d80!==_0x4f7f11;}};let _0x4076dd=_0x2c093e['ADYdU'](_0x14c8e4,''),_0x31d1cf;if(!_0x14c8e4){let _0x529dd5='';for await(const _0x443862 of process[_0x21f4f7(0x13b)]){_0x529dd5+=_0x443862;}try{const _0x348b4c=JSON[_0x21f4f7(0x142)](_0x529dd5);_0x4076dd=_0x348b4c[_0x2c093e['FNaMP']]||'',_0x31d1cf=_0x348b4c[_0x2c093e['cDlWy']];}catch{}const _0x5e40ab=process['env']['CLAUDE_ENV_FILE'];if(_0x2c093e[_0x21f4f7(0x136)](_0x5e40ab,_0x4076dd))try{await appendFile(_0x5e40ab,_0x21f4f7(0x13c)+_0x4076dd+'\x22\x0a');}catch{}}try{await _0x2c093e['ozixZ'](getToken);}catch{}if(_0x4076dd){_0x2c093e[_0x21f4f7(0x139)](shouldAutoEnableAfterClear,_0x31d1cf)&&_0x2c093e[_0x21f4f7(0x139)](autoEnableAfterClear,_0x4076dd);_0x2c093e['jfKAE'](initBranchTracking,_0x4076dd);const _0x5d93c0=isSessionEnabled(_0x4076dd);try{const _0x21e6fa=createTelemetryCollector(_0x2c093e[_0x21f4f7(0x12e)]);await _0x21e6fa['trackCommandStart']({'sessionId':_0x4076dd,'hooksEnabled':_0x5d93c0}),await _0x21e6fa['trackCommandEnd']('success');}catch{}if(_0x5d93c0){const _0x1ad002=_0x2c093e['ozixZ'](getCurrentBranch),_0x54d3a2=_0x1ad002&&_0x2c093e['Ubhgj'](_0x1ad002,'main')&&_0x2c093e[_0x21f4f7(0x135)](_0x1ad002,_0x21f4f7(0x141))?_0x21f4f7(0x140)+_0x1ad002+')':'',_0x5182cf={'hookSpecificOutput':{'hookEventName':_0x21f4f7(0x134),'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x54d3a2}};console['log'](JSON['stringify'](_0x5182cf));}}}
@@ -1 +1 @@
1
- (function(_0x4388fc,_0x208706){const _0x433f89=_0x308d,_0x25d792=_0x4388fc();while(!![]){try{const _0x53c574=parseInt(_0x433f89(0xd2))/0x1*(parseInt(_0x433f89(0xdd))/0x2)+-parseInt(_0x433f89(0xca))/0x3+parseInt(_0x433f89(0xda))/0x4+-parseInt(_0x433f89(0xc9))/0x5+parseInt(_0x433f89(0xde))/0x6+-parseInt(_0x433f89(0xcc))/0x7+-parseInt(_0x433f89(0xce))/0x8;if(_0x53c574===_0x208706)break;else _0x25d792['push'](_0x25d792['shift']());}catch(_0x2f8d14){_0x25d792['push'](_0x25d792['shift']());}}}(_0x236b,0xaede0));import{getToken}from'../utils/keychain.js';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(_0xf8d321){const _0x325467=_0x308d,_0x2676e3={'LFoAQ':function(_0xc30d8a,_0x16f3dc,_0x3ee558,_0x2ef2b9){return _0xc30d8a(_0x16f3dc,_0x3ee558,_0x2ef2b9);},'bqPad':function(_0xb00025){return _0xb00025();},'cElvK':function(_0x8d7a47,_0x1afce1){return _0x8d7a47&&_0x1afce1;},'VcdXV':function(_0x397574,_0x4c2395,_0x1a6b07,_0x26c721){return _0x397574(_0x4c2395,_0x1a6b07,_0x26c721);}},_0x48ad9b=await getEnabledHookContext(_0xf8d321),_0x50bbbe=_0x48ad9b?.['sessionId']??null;let _0x232998=!![];if(!_0x50bbbe){await _0x2676e3['LFoAQ'](trackStop,_0x50bbbe,![],_0x232998);return;}try{const _0x104283=getSessionEntry(_0x50bbbe);if(!_0x104283){await trackStop(_0x50bbbe,!![],_0x232998);return;}const _0x2cf525=await _0x2676e3['bqPad'](getToken),_0x5755b0=_0x325467(0xd4)+_0x104283['featureId'];let _0x50b6e6=null,_0x59d996=![],_0x171f0e=![];if(_0x2cf525)try{const _0x85caae=await getFeature(_0x104283[_0x325467(0xcd)]);_0x50b6e6=_0x85caae['currentSessionId']??null;const _0x345019=_0x85caae[_0x325467(0xdc)]['filter'](_0x4943fa=>_0x4943fa['sessionId']===_0x50b6e6);_0x59d996=_0x345019[_0x325467(0xd8)](_0x4e350e=>_0x4e350e[_0x325467(0xd5)]!=='verified'&&_0x4e350e['status']!==_0x325467(0xd7)&&_0x4e350e[_0x325467(0xd5)]!=='closed'&&_0x4e350e['status']!=='incomplete'),_0x171f0e=_0x345019[_0x325467(0xd8)](_0x41cdcd=>_0x41cdcd[_0x325467(0xd5)]==='verification_in_progress');}catch{}if(_0x2676e3[_0x325467(0xd0)](_0x2cf525,_0x50b6e6)&&_0x59d996){if(!_0x171f0e&&shouldShowStopReminder(_0x50bbbe)){const _0x231304={'hookSpecificOutput':{'hookEventName':_0x325467(0xd3),'additionalContext':_0x325467(0xd1)+_0x5755b0}};console[_0x325467(0xc8)](JSON[_0x325467(0xcb)](_0x231304));}}if(_0x2cf525&&_0x50b6e6&&!_0x59d996)try{await concludeSession(_0x104283['featureId'],_0x50b6e6);}catch{}await _0x2676e3[_0x325467(0xd9)](trackStop,_0x50bbbe,!![],_0x232998);return;}catch{await trackStop(_0x50bbbe,!![],_0x232998);return;}}function _0x308d(_0xe6830,_0x3492c3){_0xe6830=_0xe6830-0xc8;const _0x236bf0=_0x236b();let _0x308dc6=_0x236bf0[_0xe6830];return _0x308dc6;}async function trackStop(_0x23d4b9,_0x446a2c,_0x4ff6f8){const _0xe71b37=_0x308d;try{const _0x2629be=createTelemetryCollector(_0xe71b37(0xd6));await _0x2629be['trackCommandStart']({'sessionId':_0x23d4b9??undefined,'hooksEnabled':_0x446a2c,'stopAllowed':_0x4ff6f8}),await _0x2629be[_0xe71b37(0xcf)](_0xe71b37(0xdb));}catch{}}function _0x236b(){const _0x4a80cc=['status','hook:stop','blocked','some','VcdXV','4781372SCAtPA','success','checklistItems','2TFdhxm','2906592zXfwrr','log','133975fAQYuf','211959UXCVLI','stringify','7695576pblqRR','featureId','1389264uybPRB','trackCommandEnd','cElvK','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','406955cPiwOl','Stop','https://dashboard.ranger.net/features/'];_0x236b=function(){return _0x4a80cc;};return _0x236b();}
1
+ (function(_0x1e1aa2,_0x553f49){const _0x1652cc=_0x439d,_0x3693c0=_0x1e1aa2();while(!![]){try{const _0x12dab6=parseInt(_0x1652cc(0x1b2))/0x1*(parseInt(_0x1652cc(0x1b9))/0x2)+-parseInt(_0x1652cc(0x1b3))/0x3+parseInt(_0x1652cc(0x1ad))/0x4*(parseInt(_0x1652cc(0x1ae))/0x5)+-parseInt(_0x1652cc(0x1aa))/0x6+parseInt(_0x1652cc(0x1b5))/0x7*(parseInt(_0x1652cc(0x1be))/0x8)+-parseInt(_0x1652cc(0x1b7))/0x9+parseInt(_0x1652cc(0x1af))/0xa*(parseInt(_0x1652cc(0x1bd))/0xb);if(_0x12dab6===_0x553f49)break;else _0x3693c0['push'](_0x3693c0['shift']());}catch(_0x883d95){_0x3693c0['push'](_0x3693c0['shift']());}}}(_0x6dd9,0xf3b25));function _0x439d(_0x44d0ae,_0x23758c){_0x44d0ae=_0x44d0ae-0x1a3;const _0x6dd921=_0x6dd9();let _0x439db6=_0x6dd921[_0x44d0ae];return _0x439db6;}function _0x6dd9(){const _0xa08919=['stringify','7nMZIRf','VHQFn','3989232NuQtZt','trackCommandStart','4tXZPWz','status','cdqox','KXLyr','5734619hcXiBw','968536wClmds','some','featureId','success','cVTsO','blocked','closed','sessionId','https://dashboard.ranger.net/features/','10534278KKassb','trackCommandEnd','AYzBs','84yYbvzf','30955WPOgAI','30EGSTNF','lZTwz','checklistItems','994870UzcOZD','1822989HBfpXf'];_0x6dd9=function(){return _0xa08919;};return _0x6dd9();}import{getToken}from'../utils/keychain.js';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(_0x5c5b5d){const _0x1c2d71=_0x439d,_0x42f1bc={'AYzBs':function(_0xcbe22e,_0x1ee0a6){return _0xcbe22e(_0x1ee0a6);},'KXLyr':function(_0x5219f2,_0x19d52d){return _0x5219f2(_0x19d52d);},'SMPCA':function(_0x182d92,_0x5bb6f9,_0x547a25,_0x59f0f1){return _0x182d92(_0x5bb6f9,_0x547a25,_0x59f0f1);},'jGjNg':function(_0x183c9f,_0x675616){return _0x183c9f(_0x675616);},'cVTsO':function(_0x2b87ca,_0x168033){return _0x2b87ca&&_0x168033;},'cdqox':function(_0x2d2dc8,_0x3b1e73,_0x49f63b){return _0x2d2dc8(_0x3b1e73,_0x49f63b);},'lZTwz':function(_0x45c9a9,_0x45c6ae,_0x1b0a99,_0x2ab9b7){return _0x45c9a9(_0x45c6ae,_0x1b0a99,_0x2ab9b7);}},_0x536aaa=await _0x42f1bc[_0x1c2d71(0x1ac)](getEnabledHookContext,_0x5c5b5d),_0x5558b9=_0x536aaa?.['sessionId']??null;let _0x1a7363=!![];if(!_0x5558b9){await trackStop(_0x5558b9,![],_0x1a7363);return;}try{const _0x48cb9d=_0x42f1bc[_0x1c2d71(0x1bc)](getSessionEntry,_0x5558b9);if(!_0x48cb9d){await _0x42f1bc['SMPCA'](trackStop,_0x5558b9,!![],_0x1a7363);return;}const _0x296078=await getToken(),_0x48d0db=_0x1c2d71(0x1a9)+_0x48cb9d[_0x1c2d71(0x1a3)];let _0x41e8c9=null,_0x32ac1c=![],_0x5e2016=![];if(_0x296078)try{const _0x2ee1d6=await _0x42f1bc['jGjNg'](getFeature,_0x48cb9d[_0x1c2d71(0x1a3)]);_0x41e8c9=_0x2ee1d6['currentSessionId']??null;const _0xeadc07=_0x2ee1d6[_0x1c2d71(0x1b1)]['filter'](_0x3ea0ac=>_0x3ea0ac[_0x1c2d71(0x1a8)]===_0x41e8c9);_0x32ac1c=_0xeadc07[_0x1c2d71(0x1bf)](_0x3b0fc2=>_0x3b0fc2[_0x1c2d71(0x1ba)]!=='verified'&&_0x3b0fc2['status']!==_0x1c2d71(0x1a6)&&_0x3b0fc2[_0x1c2d71(0x1ba)]!==_0x1c2d71(0x1a7)&&_0x3b0fc2['status']!=='incomplete'),_0x5e2016=_0xeadc07[_0x1c2d71(0x1bf)](_0x2e6a69=>_0x2e6a69[_0x1c2d71(0x1ba)]==='verification_in_progress');}catch{}if(_0x296078&&_0x41e8c9&&_0x32ac1c){if(!_0x5e2016&&shouldShowStopReminder(_0x5558b9)){const _0x43cf2d={'hookSpecificOutput':{'hookEventName':'Stop','additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x48d0db}};console['log'](JSON[_0x1c2d71(0x1b4)](_0x43cf2d));}}if(_0x42f1bc[_0x1c2d71(0x1a5)](_0x296078,_0x41e8c9)&&!_0x32ac1c)try{await _0x42f1bc[_0x1c2d71(0x1bb)](concludeSession,_0x48cb9d['featureId'],_0x41e8c9);}catch{}await _0x42f1bc[_0x1c2d71(0x1b0)](trackStop,_0x5558b9,!![],_0x1a7363);return;}catch{await trackStop(_0x5558b9,!![],_0x1a7363);return;}}async function trackStop(_0x3123bf,_0x32695a,_0x116bea){const _0x29d287=_0x439d,_0x1029a9={'VHQFn':'hook:stop'};try{const _0x2c605a=createTelemetryCollector(_0x1029a9[_0x29d287(0x1b6)]);await _0x2c605a[_0x29d287(0x1b8)]({'sessionId':_0x3123bf??undefined,'hooksEnabled':_0x32695a,'stopAllowed':_0x116bea}),await _0x2c605a[_0x29d287(0x1ab)](_0x29d287(0x1a4));}catch{}}
@@ -1 +1 @@
1
- (function(_0x4647aa,_0x46320d){var _0x28e5f0=_0x18a2,_0x2fe4fc=_0x4647aa();while(!![]){try{var _0x5341b0=-parseInt(_0x28e5f0(0x120))/0x1*(-parseInt(_0x28e5f0(0x122))/0x2)+-parseInt(_0x28e5f0(0x129))/0x3*(-parseInt(_0x28e5f0(0x121))/0x4)+parseInt(_0x28e5f0(0x127))/0x5+-parseInt(_0x28e5f0(0x128))/0x6+parseInt(_0x28e5f0(0x11f))/0x7*(-parseInt(_0x28e5f0(0x125))/0x8)+-parseInt(_0x28e5f0(0x124))/0x9*(-parseInt(_0x28e5f0(0x12a))/0xa)+parseInt(_0x28e5f0(0x123))/0xb*(-parseInt(_0x28e5f0(0x126))/0xc);if(_0x5341b0===_0x46320d)break;else _0x2fe4fc['push'](_0x2fe4fc['shift']());}catch(_0x1a9991){_0x2fe4fc['push'](_0x2fe4fc['shift']());}}}(_0xea53,0x72cea));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';function _0xea53(){var _0x80d9d6=['487643LBKOKJ','152976iTnJMh','2YpRGDy','22uNvdtM','259902SDIeGG','97784nOVNig','2951712VBgjov','2097945ixxUGJ','90546EEQQrN','3EmIuVm','320btRfLP','511fpJZFJ'];_0xea53=function(){return _0x80d9d6;};return _0xea53();}export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';function _0x18a2(_0x554389,_0x43b4bb){_0x554389=_0x554389-0x11f;var _0xea532d=_0xea53();var _0x18a2e9=_0xea532d[_0x554389];return _0x18a2e9;}export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
1
+ (function(_0x3e45e9,_0x3f577f){var _0x35c7=_0x559d,_0x34be64=_0x3e45e9();while(!![]){try{var _0x3ec669=parseInt(_0x35c7(0x68))/0x1*(-parseInt(_0x35c7(0x71))/0x2)+parseInt(_0x35c7(0x6c))/0x3+-parseInt(_0x35c7(0x70))/0x4*(-parseInt(_0x35c7(0x72))/0x5)+-parseInt(_0x35c7(0x6e))/0x6*(parseInt(_0x35c7(0x69))/0x7)+parseInt(_0x35c7(0x66))/0x8*(parseInt(_0x35c7(0x6d))/0x9)+-parseInt(_0x35c7(0x67))/0xa*(parseInt(_0x35c7(0x6b))/0xb)+-parseInt(_0x35c7(0x6f))/0xc*(-parseInt(_0x35c7(0x6a))/0xd);if(_0x3ec669===_0x3f577f)break;else _0x34be64['push'](_0x34be64['shift']());}catch(_0x52030e){_0x34be64['push'](_0x34be64['shift']());}}}(_0x5e6f,0xd4c74));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';function _0x559d(_0x1c2b2f,_0x5614e6){_0x1c2b2f=_0x1c2b2f-0x66;var _0x5e6f8a=_0x5e6f();var _0x559dcc=_0x5e6f8a[_0x1c2b2f];return _0x559dcc;}export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';function _0x5e6f(){var _0x54b74c=['4416269ZtLyOR','925991krjiVL','300480hYKlTy','12544353oEWdZm','6bBmppe','24ixayqD','1124VbYaLU','1699442UvmhAr','8685ElbuBL','8IDBsYL','10aCLwha','2SpxWix','44359eKVtAb'];_0x5e6f=function(){return _0x54b74c;};return _0x5e6f();}export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
@@ -1 +1 @@
1
- (function(_0x3ba880,_0x34be7e){const _0xea963f=_0x8c3f,_0x2b31ec=_0x3ba880();while(!![]){try{const _0x5a57e4=-parseInt(_0xea963f(0xde))/0x1*(parseInt(_0xea963f(0xd3))/0x2)+parseInt(_0xea963f(0xcc))/0x3+parseInt(_0xea963f(0xcf))/0x4*(parseInt(_0xea963f(0xce))/0x5)+parseInt(_0xea963f(0xd7))/0x6*(parseInt(_0xea963f(0xc8))/0x7)+-parseInt(_0xea963f(0xd4))/0x8*(-parseInt(_0xea963f(0xd1))/0x9)+parseInt(_0xea963f(0xca))/0xa+parseInt(_0xea963f(0xd6))/0xb*(-parseInt(_0xea963f(0xd5))/0xc);if(_0x5a57e4===_0x34be7e)break;else _0x2b31ec['push'](_0x2b31ec['shift']());}catch(_0x2ab036){_0x2b31ec['push'](_0x2b31ec['shift']());}}}(_0x54c8,0x86b92));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x54c8(){const _0x1768c1=['59656BumdHi','159756uZQsGR','1925GDjiHQ','30WRSvEQ','log','stdin','isTTY','\x0a✅\x20API\x20key\x20stored\x20successfully','user','lgewF','2DMPuCu','success','1047361tqByCN','wwLda','7617440FOnIKc','organizationName','2202423dhweap','veFEw','144895OnuEEO','72CQtwek','Login\x20failed:\x20','207GjpAzY','stdout','55532cijiGH'];_0x54c8=function(){return _0x1768c1;};return _0x54c8();}function _0x8c3f(_0xcadbc4,_0x4aadc5){_0xcadbc4=_0xcadbc4-0xc8;const _0x54c8a0=_0x54c8();let _0x8c3f43=_0x54c8a0[_0xcadbc4];return _0x8c3f43;}export async function login(){const _0x39a6d2=_0x8c3f,_0x96d526={'sHoQs':'Re-authenticating\x20via\x20MCP\x20bootstrap...','wwLda':function(_0x32552e){return _0x32552e();},'AXDoP':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','lgewF':function(_0xf700e5,_0x164590){return _0xf700e5(_0x164590);},'veFEw':function(_0x23c0f5,_0x50fb59){return _0x23c0f5 instanceof _0x50fb59;}},_0x5a0019=await getMcpAuthOrigin();if(_0x5a0019){console[_0x39a6d2(0xd8)](_0x96d526['sHoQs']),await _0x96d526[_0x39a6d2(0xc9)](mcpBootstrap);return;}const _0x372bd3=process[_0x39a6d2(0xd9)][_0x39a6d2(0xda)]&&process[_0x39a6d2(0xd2)][_0x39a6d2(0xda)];if(!_0x372bd3)throw new Error(_0x96d526['AXDoP']);try{const _0x400d83=await runDeviceAuthFlow(),_0x2760a7=await _0x96d526[_0x39a6d2(0xdd)](getCurrentUser,_0x400d83);_0x2760a7[_0x39a6d2(0xdf)]?console[_0x39a6d2(0xd8)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x2760a7[_0x39a6d2(0xdc)][_0x39a6d2(0xcb)]):console['log'](_0x39a6d2(0xdb));}catch(_0x99b682){throw new Error(_0x39a6d2(0xd0)+(_0x96d526[_0x39a6d2(0xcd)](_0x99b682,Error)?_0x99b682['message']:_0x99b682));}}
1
+ (function(_0x467961,_0x75e23e){const _0xb95bee=_0x3b5d,_0x31ec9b=_0x467961();while(!![]){try{const _0x1114c2=parseInt(_0xb95bee(0x139))/0x1*(-parseInt(_0xb95bee(0x13e))/0x2)+parseInt(_0xb95bee(0x133))/0x3+parseInt(_0xb95bee(0x135))/0x4+parseInt(_0xb95bee(0x140))/0x5+-parseInt(_0xb95bee(0x136))/0x6*(parseInt(_0xb95bee(0x13a))/0x7)+-parseInt(_0xb95bee(0x130))/0x8+-parseInt(_0xb95bee(0x13f))/0x9;if(_0x1114c2===_0x75e23e)break;else _0x31ec9b['push'](_0x31ec9b['shift']());}catch(_0x5d448c){_0x31ec9b['push'](_0x31ec9b['shift']());}}}(_0x48f0,0x5270d));function _0x48f0(){const _0x2d37f5=['isTTY','1560312KOLbaj','\x0a✅\x20API\x20key\x20stored\x20successfully','2047292RLZElX','12198fNVKqe','wxGLf','\x0a✅\x20Logged\x20in\x20to\x20','3ZvRJcQ','161vbpWfF','UXRaD','success','log','7246xdzLbI','4295664PlxwcV','1912550FxBity','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','4334688mBcZCJ','stdout'];_0x48f0=function(){return _0x2d37f5;};return _0x48f0();}function _0x3b5d(_0x8f58ee,_0x45dd39){_0x8f58ee=_0x8f58ee-0x130;const _0x48f035=_0x48f0();let _0x3b5dbf=_0x48f035[_0x8f58ee];return _0x3b5dbf;}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';export async function login(){const _0x3114d0=_0x3b5d,_0x558f74={'wxGLf':function(_0x519a49){return _0x519a49();},'UXRaD':function(_0x50a6f8,_0x52aa92){return _0x50a6f8(_0x52aa92);},'bKQtV':_0x3114d0(0x134)},_0x37203e=await getMcpAuthOrigin();if(_0x37203e){console[_0x3114d0(0x13d)]('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await mcpBootstrap();return;}const _0x2f31cf=process['stdin']['isTTY']&&process[_0x3114d0(0x131)][_0x3114d0(0x132)];if(!_0x2f31cf)throw new Error(_0x3114d0(0x141));try{const _0x57d465=await _0x558f74[_0x3114d0(0x137)](runDeviceAuthFlow),_0x193336=await _0x558f74[_0x3114d0(0x13b)](getCurrentUser,_0x57d465);_0x193336[_0x3114d0(0x13c)]?console['log'](_0x3114d0(0x138)+_0x193336['user']['organizationName']):console['log'](_0x558f74['bKQtV']);}catch(_0x2de72d){throw new Error('Login\x20failed:\x20'+(_0x2de72d instanceof Error?_0x2de72d['message']:_0x2de72d));}}
@@ -1 +1 @@
1
- function _0x37e1(_0x468dcd,_0x5ab2a6){_0x468dcd=_0x468dcd-0x17a;const _0x1eb9ce=_0x1eb9();let _0x37e12f=_0x1eb9ce[_0x468dcd];return _0x37e12f;}const _0x46302a=_0x37e1;(function(_0x173148,_0x34d147){const _0x485fb5=_0x37e1,_0x2712bd=_0x173148();while(!![]){try{const _0x33d14b=parseInt(_0x485fb5(0x1a0))/0x1*(parseInt(_0x485fb5(0x19e))/0x2)+parseInt(_0x485fb5(0x1c3))/0x3+-parseInt(_0x485fb5(0x1f1))/0x4*(-parseInt(_0x485fb5(0x1ab))/0x5)+parseInt(_0x485fb5(0x1eb))/0x6*(parseInt(_0x485fb5(0x17b))/0x7)+-parseInt(_0x485fb5(0x1b5))/0x8*(parseInt(_0x485fb5(0x1db))/0x9)+parseInt(_0x485fb5(0x1ca))/0xa*(-parseInt(_0x485fb5(0x1bd))/0xb)+-parseInt(_0x485fb5(0x1fe))/0xc;if(_0x33d14b===_0x34d147)break;else _0x2712bd['push'](_0x2712bd['shift']());}catch(_0x152728){_0x2712bd['push'](_0x2712bd['shift']());}}}(_0x1eb9,0x241ab));function _0x1eb9(){const _0x1b5e3e=['FZSfN','access_token','authorization_code','parse','1785179QSaBKn','sFKBF','listen','iGBeL','UfSSy','MCP\x20server\x20returned\x20HTTP\x20','315975wgOPrj','jLtzt','child_process','uGBUu','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','KDfcL','yvIBA','10EWqNBT','registration_endpoint','state','<html><body><h2>Authentication\x20failed</h2><p>','omFyQ','bwgKK','text','now','set','eKKgg','VLRlS','EbwxF','error','url','stringify','text/html','bGlDr','10845kicmMA','code_challenge','get','resource','darwin','POST','writeHead','refreshToken','HTTP\x20','auth-origin.txt','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','application/json,\x20text/event-stream','json','lnJrx','RuDTP','headers','887562ontATy','close','IHGZL','2025-03-26','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','aaBWJ','4RUAhXD','Bxmel','zxksB','NbBBx','pathname','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','searchParams','open','SLjKr','stdout','OAuthTimeoutError','Authorization','needs-oauth','3281556GeWpXr','ZpEFx','vhmXX','clientId','string','content','Requesting\x20CLI\x20token...','1.0.0','authorization_endpoint','toString','AdJhO','Not\x20found','iZxnQ','response_type','Ranger\x20CLI','origin','wHGdm','QmHuN','match','/.well-known/oauth-authorization-server','zNgcK','mpLlz','kAOMG','7YwlRAU','includes','CKXnP','type','/callback','digest','haFjz','text/event-stream','authorization_servers','clientSecret','eUCRz','S256','end','DwBhf','\x20done','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','log','tdlpd','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','expires_in','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','token','start','cSsZn','qdArK','accessToken','dpjHy','isTTY','application/x-www-form-urlencoded','EpTdI','pYwXj','WCkzF','dHrED','.ranger','ranger-cli','32iZvatW','2.0','7246kWcKDg','expiresAt','jHXzU','code_challenge_method','refresh_token','leklG','nUqhv','code','ScXpa','message','update','1409635bQyuxv','http://localhost:','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','EyMhf','win32','cxNtZ','gnqYX','status','akIhe','/.well-known/oauth-protected-resource','448haYjHK','application/json','WUXot','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response'];_0x1eb9=function(){return _0x1b5e3e;};return _0x1eb9();}import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x46302a(0x19c),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x46302a(0x1e4));export async function getMcpAuthOrigin(){const _0x592c42=_0x46302a,_0x7e79ef={'irGnz':function(_0x4a3b72,_0x36eeb3,_0x526b75){return _0x4a3b72(_0x36eeb3,_0x526b75);},'rRsiS':'utf-8','WCkzF':function(_0x44f8a3,_0x39d462){return _0x44f8a3||_0x39d462;}};try{const _0x401540=(await _0x7e79ef['irGnz'](readFile,AUTH_ORIGIN_PATH,_0x7e79ef['rRsiS']))['trim']();return _0x7e79ef[_0x592c42(0x19a)](_0x401540,null);}catch{return null;}}export async function mcpBootstrap(){const _0x4ccac6=_0x46302a,_0x527473={'bGlDr':function(_0x9bbfa4){return _0x9bbfa4();},'rYYRE':function(_0x1ab796,_0x36ddde){return _0x1ab796(_0x36ddde);},'RuDTP':'proxied','SLpca':function(_0x35cfea,_0x3bbd5f){return _0x35cfea+_0x3bbd5f;},'SLjKr':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','WUXot':_0x4ccac6(0x1ad)},_0x2a81dc=_0x527473[_0x4ccac6(0x1da)](getMcpAuthUrl);currentOrigin=_0x2a81dc;const _0x7f9be9=process['stdout'][_0x4ccac6(0x196)]??![];console['log'](_0x4ccac6(0x18d)+_0x2a81dc+'\x0a');const _0x1ac53f=await _0x527473['rYYRE'](tryUnauthenticated,_0x2a81dc);let _0x41024f=null;if(_0x1ac53f===_0x527473[_0x4ccac6(0x1e9)])_0x41024f='';else{_0x41024f=await loadCachedToken();if(!_0x41024f){if(!_0x7f9be9)throw new Error(_0x527473['SLpca'](_0x527473[_0x4ccac6(0x1f9)],_0x527473[_0x4ccac6(0x1b7)]));_0x41024f=await oauthFlow(_0x2a81dc);}}await callGetCliToken(_0x2a81dc,_0x41024f);}async function tryUnauthenticated(_0x25077){const _0x2177f8=_0x46302a,_0x1bbee2={'AdJhO':_0x2177f8(0x1e0),'exkWA':_0x2177f8(0x1b6),'ebSSt':'2.0','leklG':_0x2177f8(0x19d),'GRSCa':_0x2177f8(0x205),'iZxnQ':'proxied','akIhe':function(_0x516fa1,_0x36e48f){return _0x516fa1===_0x36e48f;}},_0x3fe59a=await fetch(_0x25077,{'method':_0x1bbee2[_0x2177f8(0x208)],'headers':{'Content-Type':_0x1bbee2['exkWA'],'Accept':_0x2177f8(0x1e6)},'body':JSON['stringify']({'jsonrpc':_0x1bbee2['ebSSt'],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x2177f8(0x1ee),'capabilities':{},'clientInfo':{'name':_0x1bbee2[_0x2177f8(0x1a5)],'version':_0x1bbee2['GRSCa']}}})});if(_0x3fe59a['ok'])return await _0x3fe59a[_0x2177f8(0x1d0)](),_0x1bbee2[_0x2177f8(0x20a)];if(_0x1bbee2[_0x2177f8(0x1b3)](_0x3fe59a[_0x2177f8(0x1b2)],0x191))return await _0x3fe59a['text'](),_0x2177f8(0x1fd);const _0x39a34a=await _0x3fe59a[_0x2177f8(0x1d0)]();throw new Error(_0x2177f8(0x1c2)+_0x3fe59a['status']+':\x20'+_0x39a34a);}class OAuthTimeoutError extends Error{constructor(_0x23a8c5){const _0xdf5526=_0x46302a,_0x5e50d6={'NNdKJ':_0xdf5526(0x1fb)};super(_0x23a8c5),this['name']=_0x5e50d6['NNdKJ'];}}async function oauthFlow(_0x338e1e){const _0x27e007=_0x46302a,_0x3dbdaa={'jHXzU':function(_0x3c2723,_0x4f9fff){return _0x3c2723(_0x4f9fff);}};try{return await _0x3dbdaa[_0x27e007(0x1a2)](oauthFlowAttempt,_0x338e1e);}catch(_0x50429d){if(_0x50429d instanceof OAuthTimeoutError&&await loadCachedClient())return console[_0x27e007(0x18b)]('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await clearCachedClient(),await oauthFlowAttempt(_0x338e1e);throw _0x50429d;}}async function oauthFlowAttempt(_0x2fc1f0){const _0x11cb81=_0x46302a,_0x15ffdd={'CKXnP':_0x11cb81(0x1ef),'IHGZL':'Registering\x20OAuth\x20client...','mpLlz':function(_0x2152c3,_0x74bd36,_0x539958){return _0x2152c3(_0x74bd36,_0x539958);},'VqofJ':_0x11cb81(0x1e0),'dpjHy':_0x11cb81(0x1bb),'cSsZn':'none','EbwxF':_0x11cb81(0x1f6),'mtvno':function(_0x10f147,_0x22439b){return _0x10f147(_0x22439b);},'yxHzc':'base64url','gWpYG':'hex','yvIBA':'code','zxksB':'client_id','DSZsD':_0x11cb81(0x1a3),'VLRlS':_0x11cb81(0x186),'GQoyY':'Exchanging\x20authorization\x20code...'},_0x9e0e01=_0x2fc1f0['replace'](/\/mcp$/,'');process[_0x11cb81(0x1fa)]['write']('Discovering\x20authorization\x20server...');const _0x2ea4f4=await fetch(_0x9e0e01+_0x11cb81(0x1b4));if(!_0x2ea4f4['ok'])throw new Error(_0x15ffdd[_0x11cb81(0x17d)]);const _0x5df878=await _0x2ea4f4[_0x11cb81(0x1e7)](),_0x5b93af=_0x5df878[_0x11cb81(0x183)]?.[0x0];if(!_0x5b93af)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console['log']('\x20'+_0x5b93af);const _0xad1211=await fetchAuthServerMetadata(_0x5b93af);let _0x141e2c,_0x4cf617;const _0xd9f43d=await loadCachedClient();if(_0xd9f43d)_0x141e2c=_0xd9f43d[_0x11cb81(0x201)],_0x4cf617=_0xd9f43d[_0x11cb81(0x184)];else{if(_0xad1211['registration_endpoint']){process['stdout']['write'](_0x15ffdd[_0x11cb81(0x1ed)]);const _0x4e3bc3=await _0x15ffdd[_0x11cb81(0x213)](fetch,_0xad1211[_0x11cb81(0x1cb)],{'method':_0x15ffdd['VqofJ'],'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'client_name':_0x11cb81(0x20c),'redirect_uris':[_0x11cb81(0x1ac)+CALLBACK_PORT+'/callback'],'grant_types':[_0x15ffdd[_0x11cb81(0x195)],_0x11cb81(0x1a4)],'response_types':[_0x11cb81(0x1a7)],'token_endpoint_auth_method':_0x15ffdd[_0x11cb81(0x192)]})});if(!_0x4e3bc3['ok']){const _0x5cb0cf=await _0x4e3bc3[_0x11cb81(0x1d0)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x5cb0cf);}const _0x28b0d4=await _0x4e3bc3[_0x11cb81(0x1e7)]();_0x141e2c=_0x28b0d4['client_id'],_0x4cf617=_0x28b0d4['client_secret'],await _0x15ffdd[_0x11cb81(0x213)](saveCachedClient,_0x141e2c,_0x4cf617),console[_0x11cb81(0x18b)](_0x11cb81(0x189));}else throw new Error(_0x15ffdd[_0x11cb81(0x1d5)]);}const _0x38fe39=_0x15ffdd['mtvno'](randomBytes,0x20)['toString'](_0x15ffdd['yxHzc']),_0x48ed0f=createHash('sha256')[_0x11cb81(0x1aa)](_0x38fe39)[_0x11cb81(0x180)](_0x15ffdd['yxHzc']),_0x21628a=randomBytes(0x10)[_0x11cb81(0x207)](_0x15ffdd['gWpYG']),_0x508d50=new URL(_0xad1211[_0x11cb81(0x206)]);_0x508d50[_0x11cb81(0x1f7)]['set'](_0x11cb81(0x20b),_0x15ffdd[_0x11cb81(0x1c9)]),_0x508d50['searchParams'][_0x11cb81(0x1d2)](_0x15ffdd[_0x11cb81(0x1f3)],_0x141e2c),_0x508d50['searchParams']['set']('redirect_uri',_0x11cb81(0x1ac)+CALLBACK_PORT+'/callback'),_0x508d50['searchParams']['set'](_0x11cb81(0x1dc),_0x48ed0f),_0x508d50['searchParams']['set'](_0x15ffdd['DSZsD'],_0x15ffdd[_0x11cb81(0x1d4)]),_0x508d50['searchParams'][_0x11cb81(0x1d2)]('state',_0x21628a);_0x5df878['resource']&&_0x508d50['searchParams']['set']('resource',_0x5df878[_0x11cb81(0x1de)]);console[_0x11cb81(0x18b)]('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x11cb81(0x18b)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x508d50[_0x11cb81(0x207)]()+'\x0a'),await openBrowser(_0x508d50['toString']());const _0x5a7310=await waitForCallback(_0x21628a);process['stdout']['write'](_0x15ffdd['GQoyY']);const _0x28b3b6=new URLSearchParams({'grant_type':_0x11cb81(0x1bb),'code':_0x5a7310,'redirect_uri':_0x11cb81(0x1ac)+CALLBACK_PORT+'/callback','client_id':_0x141e2c,'code_verifier':_0x38fe39});_0x4cf617&&_0x28b3b6[_0x11cb81(0x1d2)]('client_secret',_0x4cf617);_0x5df878['resource']&&_0x28b3b6['set'](_0x11cb81(0x1de),_0x5df878['resource']);const _0x277861=await fetch(_0xad1211['token_endpoint'],{'method':'POST','headers':{'Content-Type':_0x11cb81(0x197)},'body':_0x28b3b6});if(!_0x277861['ok']){const _0x12280a=await _0x277861['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x12280a);}const _0x520890=await _0x277861['json']();return console['log'](_0x11cb81(0x189)),await saveCachedToken(_0x520890['access_token'],_0x520890['refresh_token'],_0x520890[_0x11cb81(0x18e)]),_0x520890[_0x11cb81(0x1ba)];}async function callGetCliToken(_0x4687d9,_0x24f9ec){const _0x3e12d8=_0x46302a,_0x515433={'yMFmY':function(_0x2b77b9,_0x5284c1){return _0x2b77b9(_0x5284c1);},'AvPoe':_0x3e12d8(0x1b6),'pnMfu':_0x3e12d8(0x1e6),'nUqhv':'Initializing\x20MCP\x20session...','YeRKW':function(_0x170117,_0x21a3ac){return _0x170117(_0x21a3ac);},'lnJrx':_0x3e12d8(0x19f),'bsCDt':'ranger-cli','tiHtV':'1.0.0','iGBeL':'\x20done','UBKQN':_0x3e12d8(0x204),'drnDS':function(_0x2a37e6,_0x82f3bb){return _0x2a37e6(_0x82f3bb);},'kAOMG':'tools/call','UfSSy':function(_0x4dfd00,_0x4aef85){return _0x4dfd00(_0x4aef85);},'rUXEl':function(_0x3ab012){return _0x3ab012();},'tdlpd':_0x3e12d8(0x19c),'KDfcL':function(_0x133ff7,_0x20e64f,_0x3b31c8){return _0x133ff7(_0x20e64f,_0x3b31c8);},'DwBhf':function(_0xd68768,_0x362fe4,_0x4bd0a6,_0xea5e5){return _0xd68768(_0x362fe4,_0x4bd0a6,_0xea5e5);},'wHGdm':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x3d4cf8={'Content-Type':_0x515433['AvPoe'],'Accept':_0x515433['pnMfu']};_0x24f9ec&&(_0x3d4cf8[_0x3e12d8(0x1fc)]='Bearer\x20'+_0x24f9ec);const _0x2de054=async _0x167c38=>{const _0x18c7a3=_0x3e12d8,_0x3ae26c=await fetch(_0x4687d9,{'method':_0x18c7a3(0x1e0),'headers':_0x3d4cf8,'body':JSON['stringify'](_0x167c38)});if(!_0x3ae26c['ok']){const _0x3cbd56=await _0x3ae26c[_0x18c7a3(0x1d0)]();throw new Error(_0x18c7a3(0x1e3)+_0x3ae26c['status']+':\x20'+_0x3cbd56);}return _0x515433['yMFmY'](parseResponse,_0x3ae26c);};process['stdout']['write'](_0x515433[_0x3e12d8(0x1a6)]);const _0x277f2b=await _0x515433['YeRKW'](_0x2de054,{'jsonrpc':_0x515433[_0x3e12d8(0x1e8)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x3e12d8(0x1ee),'capabilities':{},'clientInfo':{'name':_0x515433['bsCDt'],'version':_0x515433['tiHtV']}}});if(_0x277f2b['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x277f2b['error'][_0x3e12d8(0x1a9)]??JSON['stringify'](_0x277f2b[_0x3e12d8(0x1d6)])));console['log'](_0x515433[_0x3e12d8(0x1c0)]),await fetch(_0x4687d9,{'method':'POST','headers':_0x3d4cf8,'body':JSON['stringify']({'jsonrpc':_0x3e12d8(0x19f),'method':'notifications/initialized'})})['then'](_0x38df34=>_0x38df34['text']()),process['stdout']['write'](_0x515433['UBKQN']);const _0x1cab66=await _0x515433['drnDS'](_0x2de054,{'jsonrpc':_0x3e12d8(0x19f),'id':0x2,'method':_0x515433[_0x3e12d8(0x17a)],'params':{'name':'get_cli_token','arguments':{}}});if(_0x1cab66[_0x3e12d8(0x1d6)])throw new Error('get_cli_token\x20failed:\x20'+(_0x1cab66['error'][_0x3e12d8(0x1a9)]??JSON['stringify'](_0x1cab66[_0x3e12d8(0x1d6)])));console['log'](_0x3e12d8(0x189));const _0x557be0=_0x515433[_0x3e12d8(0x1c1)](extractToken,_0x1cab66['result']);if(!_0x557be0){console['error']('\x0aUnexpected\x20response\x20structure:'),console[_0x3e12d8(0x1d6)](JSON['stringify'](_0x1cab66['result'],null,0x2));throw new Error(_0x3e12d8(0x1b8));}const _0x438574=join(_0x515433['rUXEl'](homedir),_0x515433[_0x3e12d8(0x18c)]),_0x482db9=_0x515433[_0x3e12d8(0x1c8)](join,_0x438574,'refresh.txt');await mkdir(_0x438574,{'recursive':!![]}),await writeFile(_0x482db9,_0x557be0,{'mode':0x180}),await _0x515433[_0x3e12d8(0x188)](writeFile,join(_0x438574,_0x3e12d8(0x1e4)),_0x4687d9,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x482db9),console['log'](_0x515433[_0x3e12d8(0x20e)]);}async function fetchAuthServerMetadata(_0xed2a17){const _0x57258b=_0x46302a,_0x23bbcd={'pYwXj':function(_0x18cbae,_0x21b382){return _0x18cbae(_0x21b382);}},_0x3f4a02=_0xed2a17+_0x57258b(0x211),_0x34761b=await _0x23bbcd[_0x57258b(0x199)](fetch,_0x3f4a02);if(!_0x34761b['ok'])throw new Error(_0x57258b(0x1e5)+_0x3f4a02+':\x20'+_0x34761b['status']);return _0x34761b['json']();}function waitForCallback(_0x46d8c1){const _0x423db7=_0x46302a,_0x320946={'qXqZj':function(_0x583af5,_0x1488fb){return _0x583af5(_0x1488fb);},'bwgKK':function(_0x4c17d6,_0x221056){return _0x4c17d6!==_0x221056;},'Bxmel':_0x423db7(0x1cc),'eUCRz':'error_description','dpwMZ':function(_0x1be8c8,_0x309322){return _0x1be8c8(_0x309322);},'omFyQ':_0x423db7(0x1d9),'ZpEFx':_0x423db7(0x18f)};return new Promise((_0x4bbae9,_0x1679e9)=>{const _0x379fd8=_0x423db7,_0x48aa4a={'sFKBF':function(_0x1e358e,_0x18c9d5){const _0x4b78c3=_0x37e1;return _0x320946[_0x4b78c3(0x1cf)](_0x1e358e,_0x18c9d5);},'uGBUu':_0x379fd8(0x17f),'zNgcK':_0x320946[_0x379fd8(0x1f2)],'OMpxJ':_0x320946[_0x379fd8(0x185)],'lHmaR':function(_0x4d5438,_0x5ef64d){return _0x320946['dpwMZ'](_0x4d5438,_0x5ef64d);},'dHrED':function(_0x2464a5,_0x3344d3){return _0x2464a5(_0x3344d3);},'ALYaZ':_0x320946[_0x379fd8(0x1ce)],'zjHlr':_0x320946[_0x379fd8(0x1ff)]},_0x225a98=setTimeout(()=>{const _0x4935df=_0x379fd8;_0x522b2a['close'](),_0x320946['qXqZj'](_0x1679e9,new OAuthTimeoutError(_0x4935df(0x1c7)));},0x1d4c0),_0x522b2a=_0x320946['qXqZj'](createServer,(_0x1d8428,_0x272d58)=>{const _0x50e8db=_0x379fd8,_0x22f52f=new URL(_0x1d8428[_0x50e8db(0x1d7)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x48aa4a[_0x50e8db(0x1be)](_0x22f52f[_0x50e8db(0x1f5)],_0x48aa4a[_0x50e8db(0x1c6)])){_0x272d58['writeHead'](0x194),_0x272d58[_0x50e8db(0x187)](_0x50e8db(0x209));return;}const _0x47b75a=_0x22f52f['searchParams'][_0x50e8db(0x1dd)]('code'),_0x59ffa9=_0x22f52f[_0x50e8db(0x1f7)]['get'](_0x48aa4a[_0x50e8db(0x212)]),_0x243c53=_0x22f52f['searchParams']['get'](_0x50e8db(0x1d6));if(_0x243c53){const _0x483882=_0x22f52f['searchParams']['get'](_0x48aa4a['OMpxJ'])??_0x243c53;_0x272d58[_0x50e8db(0x1e1)](0xc8,{'Content-Type':_0x50e8db(0x1d9)}),_0x272d58[_0x50e8db(0x187)](_0x50e8db(0x1cd)+_0x483882+_0x50e8db(0x18a)),_0x48aa4a['lHmaR'](clearTimeout,_0x225a98),_0x522b2a[_0x50e8db(0x1ec)](),_0x48aa4a[_0x50e8db(0x19b)](_0x1679e9,new Error('OAuth\x20error:\x20'+_0x483882));return;}if(!_0x47b75a||_0x48aa4a['sFKBF'](_0x59ffa9,_0x46d8c1)){_0x272d58[_0x50e8db(0x1e1)](0x190,{'Content-Type':_0x48aa4a['ALYaZ']}),_0x272d58['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x272d58['writeHead'](0xc8,{'Content-Type':_0x50e8db(0x1d9)}),_0x272d58['end'](_0x48aa4a['zjHlr']),clearTimeout(_0x225a98),_0x522b2a[_0x50e8db(0x1ec)](),_0x48aa4a[_0x50e8db(0x19b)](_0x4bbae9,_0x47b75a);});_0x522b2a[_0x379fd8(0x1bf)](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0x25c38e){const _0x5db714=_0x46302a,_0x231dcb={'ScXpa':_0x5db714(0x1f8),'EpTdI':function(_0x3902ab,_0xb8a298){return _0x3902ab===_0xb8a298;}},{exec:_0x541180}=await import(_0x5db714(0x1c5)),_0x4990b3=process['platform']===_0x5db714(0x1df)?_0x231dcb[_0x5db714(0x1a8)]:_0x231dcb[_0x5db714(0x198)](process['platform'],_0x5db714(0x1af))?_0x5db714(0x191):'xdg-open';_0x541180(_0x4990b3+'\x20\x22'+_0x25c38e+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x563ae2=_0x46302a,_0x53a0d5={'JHwHt':function(_0x675fac,_0x171782,_0x2a150f){return _0x675fac(_0x171782,_0x2a150f);}};try{const _0x1e3256=JSON['parse'](await _0x53a0d5['JHwHt'](readFile,TOKEN_CACHE_PATH,'utf-8'));if(_0x1e3256[_0x563ae2(0x20d)]&&_0x1e3256[_0x563ae2(0x20d)]!==currentOrigin)return null;if(_0x1e3256[_0x563ae2(0x1a1)]&&Date[_0x563ae2(0x1d1)]()>_0x1e3256['expiresAt'])return null;return _0x1e3256[_0x563ae2(0x194)]??null;}catch{return null;}}async function saveCachedToken(_0x4fec14,_0x1b175f,_0x2b726a){const _0x5291c5=_0x46302a,_0x43eab0={'QmHuN':function(_0x2041b8){return _0x2041b8();},'eKKgg':function(_0x2b865c,_0x4b7d8c){return _0x2b865c*_0x4b7d8c;},'aaBWJ':function(_0x23a7ab,_0x904aa1,_0x3ebb06){return _0x23a7ab(_0x904aa1,_0x3ebb06);},'QDcGu':'.ranger','EyMhf':function(_0x25b4d,_0x514239,_0x397adc,_0x1e099c){return _0x25b4d(_0x514239,_0x397adc,_0x1e099c);}},_0x28c240=await _0x43eab0[_0x5291c5(0x20f)](loadCachedData),_0x483906={..._0x28c240,'origin':currentOrigin,'accessToken':_0x4fec14,'refreshToken':_0x1b175f??_0x28c240?.[_0x5291c5(0x1e2)],'expiresAt':_0x2b726a?Date[_0x5291c5(0x1d1)]()+_0x43eab0[_0x5291c5(0x1d3)](_0x2b726a,0x3e8):undefined};await mkdir(_0x43eab0[_0x5291c5(0x1f0)](join,homedir(),_0x43eab0['QDcGu']),{'recursive':!![]}),await _0x43eab0[_0x5291c5(0x1ae)](writeFile,TOKEN_CACHE_PATH,JSON[_0x5291c5(0x1d8)](_0x483906),{'mode':0x180});}async function loadCachedClient(){const _0xdf24d0=_0x46302a,_0xba69c7=await loadCachedData();if(_0xba69c7?.[_0xdf24d0(0x20d)]&&_0xba69c7[_0xdf24d0(0x20d)]!==currentOrigin)return null;return _0xba69c7?.[_0xdf24d0(0x201)]?{'clientId':_0xba69c7['clientId'],'clientSecret':_0xba69c7['clientSecret']}:null;}async function clearCachedClient(){const _0x52f6c2=_0x46302a,_0x28514a={'cxNtZ':function(_0x2d8849,_0x4833b6,_0x344193,_0x3c8ed0){return _0x2d8849(_0x4833b6,_0x344193,_0x3c8ed0);}},_0x1fefa6=await loadCachedData();if(!_0x1fefa6)return;const {clientId:_0x5413bc,clientSecret:_0x574c01,..._0x133c0d}=_0x1fefa6;await _0x28514a[_0x52f6c2(0x1b0)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x133c0d),{'mode':0x180});}async function saveCachedClient(_0x340a65,_0x466b49){const _0x33fe7c=_0x46302a,_0x44f5d6={'FZSfN':function(_0x2dcb2d,_0x11588c,_0x1d9311){return _0x2dcb2d(_0x11588c,_0x1d9311);},'jLtzt':_0x33fe7c(0x19c),'gnqYX':function(_0x5efc60,_0x58a9d9,_0x5be6e0,_0x39000c){return _0x5efc60(_0x58a9d9,_0x5be6e0,_0x39000c);}},_0x43bdc3=await loadCachedData(),_0x195147={..._0x43bdc3,'origin':currentOrigin,'accessToken':_0x43bdc3?.[_0x33fe7c(0x194)]??'','clientId':_0x340a65,'clientSecret':_0x466b49};await _0x44f5d6[_0x33fe7c(0x1b9)](mkdir,join(homedir(),_0x44f5d6[_0x33fe7c(0x1c4)]),{'recursive':!![]}),await _0x44f5d6[_0x33fe7c(0x1b1)](writeFile,TOKEN_CACHE_PATH,JSON[_0x33fe7c(0x1d8)](_0x195147),{'mode':0x180});}async function loadCachedData(){const _0x19ceb1=_0x46302a,_0x363502={'SAVuV':function(_0x23f048,_0x4dcbb5,_0x33c71a){return _0x23f048(_0x4dcbb5,_0x33c71a);},'vhmXX':'utf-8'};try{return JSON['parse'](await _0x363502['SAVuV'](readFile,TOKEN_CACHE_PATH,_0x363502[_0x19ceb1(0x200)]));}catch{return null;}}async function parseResponse(_0x2c3375){const _0x441bd7=_0x46302a,_0x1ff895={'QOPFv':'content-type','NbBBx':'data:','AiQeo':function(_0x99cc2c,_0x43fdb6){return _0x99cc2c!==_0x43fdb6;},'qdArK':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x338a8f=_0x2c3375[_0x441bd7(0x1ea)][_0x441bd7(0x1dd)](_0x1ff895['QOPFv'])??'';if(_0x338a8f[_0x441bd7(0x17c)](_0x441bd7(0x182))){const _0x572a96=await _0x2c3375[_0x441bd7(0x1d0)]();for(const _0x5adcb0 of _0x572a96['split']('\x0a')){const _0x51f180=_0x5adcb0['trim']();if(_0x51f180['startsWith'](_0x1ff895['NbBBx'])){const _0x2decaa=_0x51f180['slice'](_0x1ff895[_0x441bd7(0x1f4)]['length'])['trim']();if(!_0x2decaa)continue;try{const _0x59450f=JSON[_0x441bd7(0x1bc)](_0x2decaa);if(_0x1ff895['AiQeo'](_0x59450f['id'],undefined)||_0x59450f['error'])return _0x59450f;}catch{}}}throw new Error(_0x1ff895[_0x441bd7(0x193)]);}return _0x2c3375['json']();}function extractToken(_0xa98c04){const _0x5ab2b7=_0x46302a,_0x3715b9={'tfHML':function(_0xda82d5,_0x320050){return _0xda82d5===_0x320050;},'haFjz':'text','oBKUV':_0x5ab2b7(0x202)};if(!_0xa98c04)return null;const _0x55443c=_0xa98c04['structuredContent'];if(_0x55443c?.[_0x5ab2b7(0x190)]&&_0x3715b9['tfHML'](typeof _0x55443c[_0x5ab2b7(0x190)],'string'))return _0x55443c[_0x5ab2b7(0x190)];if(_0xa98c04['isError']){const _0x26614c=_0xa98c04[_0x5ab2b7(0x203)];throw new Error('Server\x20returned\x20error:\x20'+(_0x26614c?.[0x0]?.['text']??'Unknown\x20error'));}const _0x16b679=_0xa98c04[_0x5ab2b7(0x203)];if(_0x16b679)for(const _0x2a1b7d of _0x16b679){if(_0x3715b9['tfHML'](_0x2a1b7d[_0x5ab2b7(0x17e)],_0x3715b9[_0x5ab2b7(0x181)])&&_0x2a1b7d[_0x5ab2b7(0x1d0)]){try{const _0x1c3d16=JSON[_0x5ab2b7(0x1bc)](_0x2a1b7d[_0x5ab2b7(0x1d0)]);if(typeof _0x1c3d16?.['token']===_0x3715b9['oBKUV'])return _0x1c3d16[_0x5ab2b7(0x190)];}catch{}const _0x4bb659=_0x2a1b7d['text'][_0x5ab2b7(0x210)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x4bb659)return _0x4bb659[0x1];}}return null;}
1
+ const _0x54219d=_0x271e;(function(_0x141586,_0x4423a9){const _0x474ecd=_0x271e,_0xc53347=_0x141586();while(!![]){try{const _0x2c5178=parseInt(_0x474ecd(0x1e6))/0x1*(-parseInt(_0x474ecd(0x1e4))/0x2)+-parseInt(_0x474ecd(0x1be))/0x3*(parseInt(_0x474ecd(0x1b8))/0x4)+-parseInt(_0x474ecd(0x1cc))/0x5*(-parseInt(_0x474ecd(0x1d6))/0x6)+-parseInt(_0x474ecd(0x1e8))/0x7+-parseInt(_0x474ecd(0x196))/0x8*(parseInt(_0x474ecd(0x197))/0x9)+-parseInt(_0x474ecd(0x1c5))/0xa*(-parseInt(_0x474ecd(0x1bd))/0xb)+parseInt(_0x474ecd(0x1b4))/0xc;if(_0x2c5178===_0x4423a9)break;else _0xc53347['push'](_0xc53347['shift']());}catch(_0x28afba){_0xc53347['push'](_0xc53347['shift']());}}}(_0x6583,0x22d76));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';function _0x271e(_0xa01bc8,_0x1125cc){_0xa01bc8=_0xa01bc8-0x171;const _0x658342=_0x6583();let _0x271e87=_0x658342[_0xa01bc8];return _0x271e87;}import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x54219d(0x1e3),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x54219d(0x1e3),'auth-origin.txt');function _0x6583(){const _0x5ea95e=['klllU','GmDhe','registration_endpoint','json','then','TigjI','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','platform','/callback','Authorization','kNYTE','parse','NTMCH','notifications/initialized','IrePE','code','NfbvR','S256','4231908pEXcTR','LbhOm','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','status','8WYfraO','TjHlz','YOGzC','string','end','594YUGhRB','333120tcGDoH','Pkrsq','pathname','writeHead','POST','redirect_uri','stdout','24740mVcijx','ranger-cli','content-type','message','refresh_token','searchParams','vNxgQ','5bhVger','sLcRV','type','token','tools/call','set','log','needs-oauth','EyOdR','VNTnX','1508796KuLqrP','Token\x20exchange\x20failed:\x20','access_token','text','Registering\x20OAuth\x20client...','Initializing\x20MCP\x20session...','AmnbR','YQzTK','MCP\x20initialize\x20failed:\x20','MCP\x20server\x20returned\x20HTTP\x20','pIvLa','NxdjE','auth-origin.txt','.ranger','2wOwJlb','initialize','179271mWXaIx','expiresAt','1346198CLFWpr','Exchanging\x20authorization\x20code...','Vqvvu','hex','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','write','RompN','bynsN','DrOtD','headers','get','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','slice','application/json','client_id','resource','refreshToken','Ranger\x20CLI','code_challenge','isTTY','error','length','application/json,\x20text/event-stream','<html><body><h2>Authentication\x20failed</h2><p>','/.well-known/oauth-protected-resource','refresh.txt','wFXSd','authorization_code','iOvZd','HTTP\x20','HNLVH','DWvEu','now','open','sDIhG','win32','LxHMc','client_secret','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','clientId','/.well-known/oauth-authorization-server','YWYtC','data:','authorization_endpoint','qrcMb','state','THNVo','2025-03-26','trim','16VURBzS','6057opzBYN','result','2.0','origin','pOGVr','token_endpoint','utf-8','CJWKw','http://localhost:','stringify','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found'];_0x6583=function(){return _0x5ea95e;};return _0x6583();}export async function getMcpAuthOrigin(){const _0x15c911=_0x54219d,_0x26ffb0={'DrOtD':'utf-8','IrePE':function(_0x27509b,_0x1b9d33){return _0x27509b||_0x1b9d33;}};try{const _0x3b5ad6=(await readFile(AUTH_ORIGIN_PATH,_0x26ffb0[_0x15c911(0x1f0)]))[_0x15c911(0x195)]();return _0x26ffb0[_0x15c911(0x1b0)](_0x3b5ad6,null);}catch{return null;}}export async function mcpBootstrap(){const _0x127b2b=_0x54219d,_0x12e823={'fTWWW':function(_0x148d43){return _0x148d43();},'TemZD':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'},_0x6b6724=_0x12e823['fTWWW'](getMcpAuthUrl);currentOrigin=_0x6b6724;const _0x2eba60=process[_0x127b2b(0x1c4)][_0x127b2b(0x178)]??![];console[_0x127b2b(0x1d2)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x6b6724+'\x0a');const _0x3270de=await tryUnauthenticated(_0x6b6724);let _0x2cbbea=null;if(_0x3270de==='proxied')_0x2cbbea='';else{_0x2cbbea=await loadCachedToken();if(!_0x2cbbea){if(!_0x2eba60)throw new Error('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'+_0x12e823['TemZD']);_0x2cbbea=await oauthFlow(_0x6b6724);}}await callGetCliToken(_0x6b6724,_0x2cbbea);}async function tryUnauthenticated(_0x4e44ea){const _0x9f00f2=_0x54219d,_0xdfda73={'Pkrsq':'application/json','YQzTK':_0x9f00f2(0x199),'KkfuI':'initialize','vNxgQ':_0x9f00f2(0x194),'BcTNj':'proxied'},_0x2712d4=await fetch(_0x4e44ea,{'method':_0x9f00f2(0x1c2),'headers':{'Content-Type':_0xdfda73[_0x9f00f2(0x1bf)],'Accept':_0x9f00f2(0x17b)},'body':JSON['stringify']({'jsonrpc':_0xdfda73[_0x9f00f2(0x1dd)],'id':0x1,'method':_0xdfda73['KkfuI'],'params':{'protocolVersion':_0xdfda73[_0x9f00f2(0x1cb)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':'1.0.0'}}})});if(_0x2712d4['ok'])return await _0x2712d4[_0x9f00f2(0x1d9)](),_0xdfda73['BcTNj'];if(_0x2712d4[_0x9f00f2(0x1b7)]===0x191)return await _0x2712d4[_0x9f00f2(0x1d9)](),_0x9f00f2(0x1d3);const _0x41fcb1=await _0x2712d4['text']();throw new Error(_0x9f00f2(0x1df)+_0x2712d4['status']+':\x20'+_0x41fcb1);}class OAuthTimeoutError extends Error{constructor(_0xdbe14d){const _0x486264={'RVLZG':'OAuthTimeoutError'};super(_0xdbe14d),this['name']=_0x486264['RVLZG'];}}async function oauthFlow(_0x3dfb2e){const _0x4e8d81=_0x54219d,_0x35f69a={'kNYTE':function(_0x50db41,_0x532c0d){return _0x50db41(_0x532c0d);}};try{return await oauthFlowAttempt(_0x3dfb2e);}catch(_0x5d1ebc){if(_0x5d1ebc instanceof OAuthTimeoutError&&await loadCachedClient())return console['log']('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await clearCachedClient(),await _0x35f69a[_0x4e8d81(0x1ac)](oauthFlowAttempt,_0x3dfb2e);throw _0x5d1ebc;}}async function oauthFlowAttempt(_0xe7d8e4){const _0x3ffb56=_0x54219d,_0x8edd52={'tgaRe':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','qrcMb':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','klllU':function(_0x402bb7,_0x4e369a){return _0x402bb7(_0x4e369a);},'sDIhG':'application/json','THNVo':_0x3ffb56(0x1c9),'YWYtC':'code','Itxjw':'\x20done','RompN':'base64url','QMOse':_0x3ffb56(0x1eb),'YOGzC':'response_type','TjHlz':_0x3ffb56(0x173),'GmDhe':_0x3ffb56(0x1c3),'AmnbR':_0x3ffb56(0x177),'CJWKw':'code_challenge_method','xQszi':_0x3ffb56(0x1b3),'HGCbw':_0x3ffb56(0x192),'pOGVr':function(_0x136ab1,_0x3f0472,_0x57754b){return _0x136ab1(_0x3f0472,_0x57754b);},'RoKxB':'application/x-www-form-urlencoded'},_0x271af0=_0xe7d8e4['replace'](/\/mcp$/,'');process['stdout']['write']('Discovering\x20authorization\x20server...');const _0x463653=await fetch(_0x271af0+_0x3ffb56(0x17d));if(!_0x463653['ok'])throw new Error(_0x8edd52['tgaRe']);const _0x523532=await _0x463653[_0x3ffb56(0x1a5)](),_0x186527=_0x523532['authorization_servers']?.[0x0];if(!_0x186527)throw new Error(_0x8edd52[_0x3ffb56(0x191)]);console['log']('\x20'+_0x186527);const _0x310980=await _0x8edd52['klllU'](fetchAuthServerMetadata,_0x186527);let _0x2b85c6,_0x1b0d81;const _0x1bfab8=await loadCachedClient();if(_0x1bfab8)_0x2b85c6=_0x1bfab8[_0x3ffb56(0x18c)],_0x1b0d81=_0x1bfab8['clientSecret'];else{if(_0x310980[_0x3ffb56(0x1a4)]){process[_0x3ffb56(0x1c4)][_0x3ffb56(0x1ed)](_0x3ffb56(0x1da));const _0x300db9=await fetch(_0x310980[_0x3ffb56(0x1a4)],{'method':_0x3ffb56(0x1c2),'headers':{'Content-Type':_0x8edd52[_0x3ffb56(0x187)]},'body':JSON[_0x3ffb56(0x1a0)]({'client_name':_0x3ffb56(0x176),'redirect_uris':[_0x3ffb56(0x19f)+CALLBACK_PORT+_0x3ffb56(0x1aa)],'grant_types':[_0x3ffb56(0x180),_0x8edd52[_0x3ffb56(0x193)]],'response_types':[_0x8edd52[_0x3ffb56(0x18e)]],'token_endpoint_auth_method':'none'})});if(!_0x300db9['ok']){const _0x570400=await _0x300db9['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x570400);}const _0x2ac8f8=await _0x300db9['json']();_0x2b85c6=_0x2ac8f8[_0x3ffb56(0x173)],_0x1b0d81=_0x2ac8f8[_0x3ffb56(0x18a)],await saveCachedClient(_0x2b85c6,_0x1b0d81),console[_0x3ffb56(0x1d2)](_0x8edd52['Itxjw']);}else throw new Error(_0x3ffb56(0x1a1));}const _0xf922b5=randomBytes(0x20)['toString'](_0x8edd52[_0x3ffb56(0x1ee)]),_0x4f615d=_0x8edd52['klllU'](createHash,'sha256')['update'](_0xf922b5)['digest'](_0x8edd52[_0x3ffb56(0x1ee)]),_0x475634=_0x8edd52[_0x3ffb56(0x1a2)](randomBytes,0x10)['toString'](_0x8edd52['QMOse']),_0x381506=new URL(_0x310980[_0x3ffb56(0x190)]);_0x381506['searchParams']['set'](_0x8edd52[_0x3ffb56(0x1ba)],_0x3ffb56(0x1b1)),_0x381506[_0x3ffb56(0x1ca)][_0x3ffb56(0x1d1)](_0x8edd52[_0x3ffb56(0x1b9)],_0x2b85c6),_0x381506['searchParams'][_0x3ffb56(0x1d1)](_0x8edd52[_0x3ffb56(0x1a3)],_0x3ffb56(0x19f)+CALLBACK_PORT+_0x3ffb56(0x1aa)),_0x381506['searchParams'][_0x3ffb56(0x1d1)](_0x8edd52[_0x3ffb56(0x1dc)],_0x4f615d),_0x381506[_0x3ffb56(0x1ca)][_0x3ffb56(0x1d1)](_0x8edd52[_0x3ffb56(0x19e)],_0x8edd52['xQszi']),_0x381506[_0x3ffb56(0x1ca)]['set'](_0x8edd52['HGCbw'],_0x475634);_0x523532[_0x3ffb56(0x174)]&&_0x381506[_0x3ffb56(0x1ca)]['set'](_0x3ffb56(0x174),_0x523532['resource']);console[_0x3ffb56(0x1d2)]('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x3ffb56(0x1d2)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x381506['toString']()+'\x0a'),await openBrowser(_0x381506['toString']());const _0x5e14e3=await _0x8edd52['klllU'](waitForCallback,_0x475634);process['stdout'][_0x3ffb56(0x1ed)](_0x3ffb56(0x1e9));const _0x4b8764=new URLSearchParams({'grant_type':_0x3ffb56(0x180),'code':_0x5e14e3,'redirect_uri':_0x3ffb56(0x19f)+CALLBACK_PORT+_0x3ffb56(0x1aa),'client_id':_0x2b85c6,'code_verifier':_0xf922b5});_0x1b0d81&&_0x4b8764['set'](_0x3ffb56(0x18a),_0x1b0d81);_0x523532[_0x3ffb56(0x174)]&&_0x4b8764[_0x3ffb56(0x1d1)]('resource',_0x523532['resource']);const _0x1c3675=await _0x8edd52[_0x3ffb56(0x19b)](fetch,_0x310980[_0x3ffb56(0x19c)],{'method':'POST','headers':{'Content-Type':_0x8edd52['RoKxB']},'body':_0x4b8764});if(!_0x1c3675['ok']){const _0x20024f=await _0x1c3675[_0x3ffb56(0x1d9)]();throw new Error(_0x3ffb56(0x1d7)+_0x20024f);}const _0x513071=await _0x1c3675[_0x3ffb56(0x1a5)]();return console['log'](_0x8edd52['Itxjw']),await saveCachedToken(_0x513071[_0x3ffb56(0x1d8)],_0x513071['refresh_token'],_0x513071['expires_in']),_0x513071[_0x3ffb56(0x1d8)];}async function callGetCliToken(_0x200190,_0x3a4046){const _0x42d539=_0x54219d,_0x108d0d={'HNLVH':function(_0x61b07c,_0x35ffda,_0x113153){return _0x61b07c(_0x35ffda,_0x113153);},'rRKrz':_0x42d539(0x1c2),'wFXSd':function(_0x2ad5f1,_0x3f53ce){return _0x2ad5f1(_0x3f53ce);},'mkSVi':'application/json,\x20text/event-stream','UBrJy':_0x42d539(0x1ab),'NTMCH':_0x42d539(0x1db),'WfEWZ':_0x42d539(0x199),'NfbvR':'\x20done','Vqvvu':_0x42d539(0x1af),'LxHMc':'Requesting\x20CLI\x20token...','aYzli':'get_cli_token','UAKYe':'.ranger','THRHD':_0x42d539(0x17e),'hjIDg':function(_0x32e2e2,_0x463e44,_0x11eb46,_0x1c91cc){return _0x32e2e2(_0x463e44,_0x11eb46,_0x1c91cc);},'ZgUMq':_0x42d539(0x1f3)},_0x593d83={'Content-Type':_0x42d539(0x172),'Accept':_0x108d0d['mkSVi']};_0x3a4046&&(_0x593d83[_0x108d0d['UBrJy']]='Bearer\x20'+_0x3a4046);const _0x3e75dd=async _0x110dcf=>{const _0x24c514=_0x42d539,_0x225a08=await _0x108d0d[_0x24c514(0x183)](fetch,_0x200190,{'method':_0x108d0d['rRKrz'],'headers':_0x593d83,'body':JSON[_0x24c514(0x1a0)](_0x110dcf)});if(!_0x225a08['ok']){const _0x12621d=await _0x225a08['text']();throw new Error(_0x24c514(0x182)+_0x225a08[_0x24c514(0x1b7)]+':\x20'+_0x12621d);}return _0x108d0d['wFXSd'](parseResponse,_0x225a08);};process[_0x42d539(0x1c4)][_0x42d539(0x1ed)](_0x108d0d[_0x42d539(0x1ae)]);const _0x1f6ef2=await _0x3e75dd({'jsonrpc':_0x108d0d['WfEWZ'],'id':0x1,'method':_0x42d539(0x1e5),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x42d539(0x1c6),'version':'1.0.0'}}});if(_0x1f6ef2[_0x42d539(0x179)])throw new Error(_0x42d539(0x1de)+(_0x1f6ef2[_0x42d539(0x179)]['message']??JSON[_0x42d539(0x1a0)](_0x1f6ef2['error'])));console[_0x42d539(0x1d2)](_0x108d0d[_0x42d539(0x1b2)]),await fetch(_0x200190,{'method':_0x108d0d['rRKrz'],'headers':_0x593d83,'body':JSON[_0x42d539(0x1a0)]({'jsonrpc':_0x108d0d['WfEWZ'],'method':_0x108d0d[_0x42d539(0x1ea)]})})[_0x42d539(0x1a6)](_0x539708=>_0x539708[_0x42d539(0x1d9)]()),process['stdout'][_0x42d539(0x1ed)](_0x108d0d[_0x42d539(0x189)]);const _0x2802af=await _0x108d0d[_0x42d539(0x17f)](_0x3e75dd,{'jsonrpc':'2.0','id':0x2,'method':_0x42d539(0x1d0),'params':{'name':_0x108d0d['aYzli'],'arguments':{}}});if(_0x2802af['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x2802af['error'][_0x42d539(0x1c8)]??JSON[_0x42d539(0x1a0)](_0x2802af['error'])));console[_0x42d539(0x1d2)](_0x108d0d['NfbvR']);const _0xcc89c2=extractToken(_0x2802af[_0x42d539(0x198)]);if(!_0xcc89c2){console['error']('\x0aUnexpected\x20response\x20structure:'),console['error'](JSON['stringify'](_0x2802af['result'],null,0x2));throw new Error(_0x42d539(0x1a8));}const _0x5d405c=join(homedir(),_0x108d0d['UAKYe']),_0x78f84=_0x108d0d['HNLVH'](join,_0x5d405c,_0x108d0d['THRHD']);await mkdir(_0x5d405c,{'recursive':!![]}),await writeFile(_0x78f84,_0xcc89c2,{'mode':0x180}),await _0x108d0d['hjIDg'](writeFile,join(_0x5d405c,_0x42d539(0x1e2)),_0x200190,{'mode':0x180}),console[_0x42d539(0x1d2)]('\x0aToken\x20written\x20to\x20'+_0x78f84),console[_0x42d539(0x1d2)](_0x108d0d['ZgUMq']);}async function fetchAuthServerMetadata(_0x4bbd3b){const _0x1cbd57=_0x54219d,_0x439eb1={'VvyEA':function(_0x402dcc,_0x5dab9f){return _0x402dcc(_0x5dab9f);}},_0x14dae3=_0x4bbd3b+_0x1cbd57(0x18d),_0x4cbcfd=await _0x439eb1['VvyEA'](fetch,_0x14dae3);if(!_0x4cbcfd['ok'])throw new Error(_0x1cbd57(0x1b6)+_0x14dae3+':\x20'+_0x4cbcfd[_0x1cbd57(0x1b7)]);return _0x4cbcfd[_0x1cbd57(0x1a5)]();}function waitForCallback(_0x57a1cf){const _0x459563=_0x54219d,_0x262802={'sLcRV':function(_0x1d6374){return _0x1d6374();},'TyLoS':function(_0x58a45f,_0x2f081a){return _0x58a45f(_0x2f081a);},'DWvEu':_0x459563(0x1aa),'keqtr':function(_0x42f69e,_0x2ad26f){return _0x42f69e!==_0x2ad26f;},'OAuTN':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','pavyC':'text/html','IjhnM':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','ecGES':function(_0x4a80ef,_0x30cfef){return _0x4a80ef(_0x30cfef);},'orLyj':'127.0.0.1'};return new Promise((_0x292810,_0x5e99a7)=>{const _0x5e8352=()=>{_0x1dac88['closeAllConnections'](),_0x1dac88['close']();},_0x28ca81=setTimeout(()=>{const _0x379c6a=_0x271e;_0x262802[_0x379c6a(0x1cd)](_0x5e8352),_0x262802['TyLoS'](_0x5e99a7,new OAuthTimeoutError(_0x379c6a(0x18b)));},0x1d4c0),_0x1dac88=createServer((_0x2e1788,_0x58b837)=>{const _0x12c596=_0x271e,_0x256c7f=new URL(_0x2e1788['url']??'/',_0x12c596(0x19f)+CALLBACK_PORT);if(_0x256c7f[_0x12c596(0x1c0)]!==_0x262802[_0x12c596(0x184)]){_0x58b837['writeHead'](0x194),_0x58b837['end']('Not\x20found');return;}const _0x3abd6b=_0x256c7f['searchParams'][_0x12c596(0x1f2)](_0x12c596(0x1b1)),_0xb1fa41=_0x256c7f['searchParams']['get'](_0x12c596(0x192)),_0xb3261d=_0x256c7f['searchParams']['get']('error');if(_0xb3261d){const _0x22d684=_0x256c7f['searchParams']['get']('error_description')??_0xb3261d;_0x58b837['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x58b837[_0x12c596(0x1bc)](_0x12c596(0x17c)+_0x22d684+_0x12c596(0x1ec)),_0x262802['TyLoS'](clearTimeout,_0x28ca81),_0x262802['sLcRV'](_0x5e8352),_0x5e99a7(new Error('OAuth\x20error:\x20'+_0x22d684));return;}if(!_0x3abd6b||_0x262802['keqtr'](_0xb1fa41,_0x57a1cf)){_0x58b837['writeHead'](0x190,{'Content-Type':'text/html'}),_0x58b837[_0x12c596(0x1bc)](_0x262802['OAuTN']);return;}_0x58b837[_0x12c596(0x1c1)](0xc8,{'Content-Type':_0x262802['pavyC']}),_0x58b837[_0x12c596(0x1bc)](_0x262802['IjhnM']),_0x262802['ecGES'](clearTimeout,_0x28ca81),_0x5e8352(),_0x292810(_0x3abd6b);});_0x1dac88['listen'](CALLBACK_PORT,_0x262802['orLyj']);});}async function openBrowser(_0x19c535){const _0x2bf3af=_0x54219d,_0x1d9b43={'TigjI':function(_0x798b7d,_0x3f42a1){return _0x798b7d===_0x3f42a1;}},_0x1a869d=_0x1d9b43[_0x2bf3af(0x1a7)](process[_0x2bf3af(0x1a9)],'darwin')?_0x2bf3af(0x186):process['platform']===_0x2bf3af(0x188)?'start':'xdg-open';exec(_0x1a869d+'\x20\x22'+_0x19c535+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x2c3636=_0x54219d,_0x5b1a8f={'NUBUK':function(_0x2d09c1,_0x1be992,_0x331942){return _0x2d09c1(_0x1be992,_0x331942);},'FyYdh':'utf-8','UWPyS':function(_0x58ac00,_0x3e7f6d){return _0x58ac00!==_0x3e7f6d;},'UZihq':function(_0x3ce59e,_0x2ddb4a){return _0x3ce59e>_0x2ddb4a;}};try{const _0x59b7c6=JSON[_0x2c3636(0x1ad)](await _0x5b1a8f['NUBUK'](readFile,TOKEN_CACHE_PATH,_0x5b1a8f['FyYdh']));if(_0x59b7c6['origin']&&_0x5b1a8f['UWPyS'](_0x59b7c6[_0x2c3636(0x19a)],currentOrigin))return null;if(_0x59b7c6[_0x2c3636(0x1e7)]&&_0x5b1a8f['UZihq'](Date['now'](),_0x59b7c6['expiresAt']))return null;return _0x59b7c6['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x40ab7d,_0x48a7d1,_0x147a92){const _0x28aa7b=_0x54219d,_0x50f220={'NxdjE':function(_0x48a3be){return _0x48a3be();},'ppLLw':function(_0x4723ce,_0xf48863,_0x44eeb4){return _0x4723ce(_0xf48863,_0x44eeb4);}},_0x53b97c=await _0x50f220[_0x28aa7b(0x1e1)](loadCachedData),_0x500f48={..._0x53b97c,'origin':currentOrigin,'accessToken':_0x40ab7d,'refreshToken':_0x48a7d1??_0x53b97c?.[_0x28aa7b(0x175)],'expiresAt':_0x147a92?Date[_0x28aa7b(0x185)]()+_0x147a92*0x3e8:undefined};await _0x50f220['ppLLw'](mkdir,join(_0x50f220['NxdjE'](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x28aa7b(0x1a0)](_0x500f48),{'mode':0x180});}async function loadCachedClient(){const _0x326765=_0x54219d,_0x101d10=await loadCachedData();if(_0x101d10?.[_0x326765(0x19a)]&&_0x101d10['origin']!==currentOrigin)return null;return _0x101d10?.['clientId']?{'clientId':_0x101d10[_0x326765(0x18c)],'clientSecret':_0x101d10['clientSecret']}:null;}async function clearCachedClient(){const _0xf098d={'LELZS':function(_0x54eb2a,_0x50dd49,_0x55fddc,_0x3b988b){return _0x54eb2a(_0x50dd49,_0x55fddc,_0x3b988b);}},_0x3b2dd6=await loadCachedData();if(!_0x3b2dd6)return;const {clientId:_0x4a9ecd,clientSecret:_0x336c4b,..._0x2d551c}=_0x3b2dd6;await _0xf098d['LELZS'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x2d551c),{'mode':0x180});}async function saveCachedClient(_0x2c47dc,_0x1ff42e){const _0xe5c91d=_0x54219d,_0x567ad8={'VNTnX':function(_0x10137d){return _0x10137d();},'KmiTV':function(_0x16856c,_0x1c4c8d,_0x18c3b4){return _0x16856c(_0x1c4c8d,_0x18c3b4);},'bynsN':_0xe5c91d(0x1e3),'HNMwl':function(_0x321e30,_0x5c80cf,_0x41e8a9,_0xcf4184){return _0x321e30(_0x5c80cf,_0x41e8a9,_0xcf4184);}},_0x494443=await _0x567ad8[_0xe5c91d(0x1d5)](loadCachedData),_0x410779={..._0x494443,'origin':currentOrigin,'accessToken':_0x494443?.['accessToken']??'','clientId':_0x2c47dc,'clientSecret':_0x1ff42e};await mkdir(_0x567ad8['KmiTV'](join,_0x567ad8[_0xe5c91d(0x1d5)](homedir),_0x567ad8[_0xe5c91d(0x1ef)]),{'recursive':!![]}),await _0x567ad8['HNMwl'](writeFile,TOKEN_CACHE_PATH,JSON[_0xe5c91d(0x1a0)](_0x410779),{'mode':0x180});}async function loadCachedData(){const _0x11fa94=_0x54219d;try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x11fa94(0x19d)));}catch{return null;}}async function parseResponse(_0x2e7326){const _0x516e4c=_0x54219d,_0x4b2f43={'wlmWl':_0x516e4c(0x1c7),'LbhOm':'text/event-stream','feZUw':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x2de971=_0x2e7326[_0x516e4c(0x1f1)][_0x516e4c(0x1f2)](_0x4b2f43['wlmWl'])??'';if(_0x2de971['includes'](_0x4b2f43[_0x516e4c(0x1b5)])){const _0x1488b2=await _0x2e7326[_0x516e4c(0x1d9)]();for(const _0x47f0ed of _0x1488b2['split']('\x0a')){const _0x4595e6=_0x47f0ed['trim']();if(_0x4595e6['startsWith'](_0x516e4c(0x18f))){const _0x57a797=_0x4595e6[_0x516e4c(0x171)]('data:'[_0x516e4c(0x17a)])[_0x516e4c(0x195)]();if(!_0x57a797)continue;try{const _0x1cefeb=JSON['parse'](_0x57a797);if(_0x1cefeb['id']!==undefined||_0x1cefeb['error'])return _0x1cefeb;}catch{}}}throw new Error(_0x4b2f43['feZUw']);}return _0x2e7326['json']();}function extractToken(_0x1c1cc3){const _0x20366a=_0x54219d,_0x2d5a95={'iOvZd':function(_0x576723,_0x2ae561){return _0x576723===_0x2ae561;},'EyOdR':'Unknown\x20error','dCcdu':_0x20366a(0x1d9),'pIvLa':'string'};if(!_0x1c1cc3)return null;const _0x301cf9=_0x1c1cc3['structuredContent'];if(_0x301cf9?.['token']&&_0x2d5a95[_0x20366a(0x181)](typeof _0x301cf9[_0x20366a(0x1cf)],_0x20366a(0x1bb)))return _0x301cf9['token'];if(_0x1c1cc3['isError']){const _0x26674c=_0x1c1cc3['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x26674c?.[0x0]?.[_0x20366a(0x1d9)]??_0x2d5a95[_0x20366a(0x1d4)]));}const _0x821ed3=_0x1c1cc3['content'];if(_0x821ed3)for(const _0x434d16 of _0x821ed3){if(_0x434d16[_0x20366a(0x1ce)]===_0x2d5a95['dCcdu']&&_0x434d16['text']){try{const _0x37e8a3=JSON[_0x20366a(0x1ad)](_0x434d16[_0x20366a(0x1d9)]);if(_0x2d5a95['iOvZd'](typeof _0x37e8a3?.[_0x20366a(0x1cf)],_0x2d5a95[_0x20366a(0x1e0)]))return _0x37e8a3['token'];}catch{}const _0x127bc4=_0x434d16[_0x20366a(0x1d9)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x127bc4)return _0x127bc4[0x1];}}return null;}
@@ -0,0 +1 @@
1
+ function _0x58f6(_0x3a241f,_0x251a9d){_0x3a241f=_0x3a241f-0x6d;var _0x2330c5=_0x2330();var _0x58f6ec=_0x2330c5[_0x3a241f];return _0x58f6ec;}(function(_0x38dc69,_0x5109ca){var _0xeb102=_0x58f6,_0x3c023d=_0x38dc69();while(!![]){try{var _0x4a3e48=-parseInt(_0xeb102(0x6d))/0x1+-parseInt(_0xeb102(0x72))/0x2*(-parseInt(_0xeb102(0x78))/0x3)+parseInt(_0xeb102(0x7c))/0x4+parseInt(_0xeb102(0x70))/0x5+-parseInt(_0xeb102(0x79))/0x6*(parseInt(_0xeb102(0x7d))/0x7)+parseInt(_0xeb102(0x74))/0x8*(parseInt(_0xeb102(0x77))/0x9)+parseInt(_0xeb102(0x7b))/0xa;if(_0x4a3e48===_0x5109ca)break;else _0x3c023d['push'](_0x3c023d['shift']());}catch(_0xe3ac25){_0x3c023d['push'](_0x3c023d['shift']());}}}(_0x2330,0x9efba));function _0x2330(){var _0x25080d=['To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','258372KxTWqN','2826Bbfiwh','6oszEpW','error','18655810nkCxbJ','1241288xPtoZh','8213639wicVro','exit','892103HHaoMl','pAVEM','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','790735kVrRIx','bHArb','20pVnUTR','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','104irYjsZ','zvfxO'];_0x2330=function(){return _0x25080d;};return _0x2330();}export async function migrateProfile(_0x27727b,_0x203107){var _0x1ec714=_0x58f6,_0x187af7={'bHArb':function(_0x556977,_0x5438c5){return _0x556977+_0x5438c5;},'hnyjD':function(_0x254d92,_0x5c31c4){return _0x254d92+_0x5c31c4;},'FOBjy':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','EwsNR':_0x1ec714(0x76),'pAVEM':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','rKLpx':_0x1ec714(0x73),'zvfxO':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a'};console[_0x1ec714(0x7a)](_0x187af7['bHArb'](_0x187af7['hnyjD'](_0x187af7[_0x1ec714(0x71)](_0x187af7['hnyjD'](_0x187af7['FOBjy'],'\x0a'),_0x187af7['EwsNR']),_0x187af7[_0x1ec714(0x6e)])+'\x0a'+_0x187af7['rKLpx']+_0x187af7[_0x1ec714(0x75)]+'\x0a',_0x1ec714(0x6f))+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process[_0x1ec714(0x7e)](0x1);}
@@ -1 +1 @@
1
- (function(_0x566b11,_0x172bcb){const _0x5ae464=_0x70b3,_0xae7aac=_0x566b11();while(!![]){try{const _0xfe97c0=parseInt(_0x5ae464(0x189))/0x1+-parseInt(_0x5ae464(0x165))/0x2+-parseInt(_0x5ae464(0x18d))/0x3+-parseInt(_0x5ae464(0x18b))/0x4*(parseInt(_0x5ae464(0x188))/0x5)+parseInt(_0x5ae464(0x17a))/0x6+parseInt(_0x5ae464(0x175))/0x7+-parseInt(_0x5ae464(0x178))/0x8*(-parseInt(_0x5ae464(0x185))/0x9);if(_0xfe97c0===_0x172bcb)break;else _0xae7aac['push'](_0xae7aac['shift']());}catch(_0x1adfbf){_0xae7aac['push'](_0xae7aac['shift']());}}}(_0x7e5a,0x46792));import{join}from'path';import{existsSync}from'fs';import _0x33a0f2 from'inquirer';import{skillup}from'../skillup.js';function _0x70b3(_0xb504d8,_0x304f9f){_0xb504d8=_0xb504d8-0x161;const _0x7e5a87=_0x7e5a();let _0x70b356=_0x7e5a87[_0xb504d8];return _0x70b356;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x7e5a(){const _0xa2d24d=['334737MRwsBU','cLQSo','CWbeG','jJSKb','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','PCAiI','260684vsKWNd','ZoQQK','ranger','MOwOF','WZxPL','pPxNW','LSFDA','list','error','wantsSkillup','push','plugin','bvbzT','VjQnJ','HbpLH','user','60018MtxVNH','confirm','XXZAq','27592hnIjkW','log','2515392tmzCGy','\x0aYou\x20can\x20install\x20manually\x20with:','\x20level)...\x0a','MUjOm','kggyc','NrNRt','--scope','output','✓\x20Ranger\x20skills\x20already\x20installed','oYHLI','success','261JkUhGd','HFOpk','✓\x20Claude\x20Code\x20plugin\x20enabled','594140yRZiaH','478064GbTtmo','seToj','16YtjAAp','project'];_0x7e5a=function(){return _0xa2d24d;};return _0x7e5a();}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0xc0cabf){const _0x69a12f=_0x70b3,_0x2296fc={'MUjOm':function(_0x14e0c3,_0x27b8b3){return _0x14e0c3(_0x27b8b3);},'LSFDA':'ranger@trailhead','oYHLI':_0x69a12f(0x163),'MOwOF':function(_0x550877,_0xa11fc3){return _0x550877(_0xa11fc3);},'XXZAq':function(_0x4bc7c6,_0x4c9a79,_0x31f0d5){return _0x4bc7c6(_0x4c9a79,_0x31f0d5);},'kggyc':'.claude','ZoQQK':'pluginScope','mZzwX':'Where\x20should\x20the\x20plugin\x20be\x20installed?','rHZVj':'User\x20(available\x20in\x20all\x20your\x20projects)','AOkaz':_0x69a12f(0x174),'PCAiI':function(_0x2ba0ab,_0x495d3a){return _0x2ba0ab(_0x495d3a);},'CWbeG':'✓\x20Marketplace\x20already\x20added','HFOpk':'marketplace','bvbzT':'add','Bsxqd':'ranger-testing/trailhead','VjQnJ':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','IGAzr':_0x69a12f(0x180),'NrNRt':function(_0x34d3e1,_0x46753e){return _0x34d3e1===_0x46753e;},'WZxPL':_0x69a12f(0x18c),'IoPHQ':_0x69a12f(0x187)},_0x4180d7=await _0x2296fc[_0x69a12f(0x17d)](isPluginInstalled,_0x2296fc['LSFDA']);if(_0x4180d7)return console['log'](_0x2296fc[_0x69a12f(0x183)]),![];const _0x2cbe8a=_0x2296fc[_0x69a12f(0x168)](existsSync,_0x2296fc[_0x69a12f(0x177)](join,getProjectRoot(),_0x2296fc[_0x69a12f(0x17e)]));let _0x5b749d;if(_0xc0cabf)_0x5b749d=_0xc0cabf;else{if(_0x2cbe8a)_0x5b749d=_0x69a12f(0x18c);else{console['log']('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x2a7f3=await _0x33a0f2['prompt']([{'type':_0x69a12f(0x16c),'name':_0x2296fc[_0x69a12f(0x166)],'message':_0x2296fc['mZzwX'],'choices':[{'name':_0x2296fc['rHZVj'],'value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':'project'}],'default':_0x2296fc['AOkaz']}]);_0x5b749d=_0x2a7f3['pluginScope'];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x5b749d+_0x69a12f(0x17c));const _0x5edf90=await _0x2296fc[_0x69a12f(0x164)](isMarketplaceAdded,'trailhead');let _0x4954b2=_0x5edf90;if(_0x5edf90)console['log'](_0x2296fc[_0x69a12f(0x161)]);else{const _0x1879a3=await runClaudeCommand([_0x69a12f(0x170),_0x2296fc[_0x69a12f(0x186)],_0x2296fc[_0x69a12f(0x171)],_0x2296fc['Bsxqd']]);!_0x1879a3['success']?(console[_0x69a12f(0x16d)]('❌\x20Failed\x20to\x20add\x20marketplace:',_0x1879a3[_0x69a12f(0x16d)]),console['log'](_0x69a12f(0x17b)),console['log'](_0x2296fc[_0x69a12f(0x172)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5b749d)):_0x4954b2=!![];}if(_0x4954b2){const _0x2c9098=await runClaudeCommand(['plugin','install',_0x2296fc[_0x69a12f(0x16b)],_0x2296fc['IGAzr'],_0x5b749d]);if(!_0x2c9098[_0x69a12f(0x184)])console[_0x69a12f(0x16d)]('❌\x20Failed\x20to\x20install\x20plugin:',_0x2c9098[_0x69a12f(0x16d)]),console[_0x69a12f(0x179)](_0x69a12f(0x17b)),console[_0x69a12f(0x179)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5b749d);else{console['log']('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x4672e9=[_0x69a12f(0x170),'enable','ranger@trailhead'];_0x2296fc[_0x69a12f(0x17f)](_0x5b749d,_0x2296fc[_0x69a12f(0x169)])&&_0x4672e9[_0x69a12f(0x16f)]('--scope',_0x2296fc['WZxPL']);const _0x335be9=await _0x2296fc[_0x69a12f(0x177)](runClaudeCommand,_0x4672e9,{'captureOutput':!![]}),_0x1fc6cc=_0x335be9[_0x69a12f(0x181)]?.['includes']('already\x20enabled');!_0x335be9['success']&&!_0x1fc6cc?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x335be9['error']):console[_0x69a12f(0x179)](_0x2296fc['IoPHQ']);}}return!![];}export async function ensureClaudeSkills(_0x32ffaa){const _0x2b17b3=_0x70b3,_0x122518={'cLQSo':function(_0x4ebb86,_0x54fe2c){return _0x4ebb86(_0x54fe2c);},'HbpLH':function(_0x331718,_0x25738e,_0x557503,_0x48f8f4){return _0x331718(_0x25738e,_0x557503,_0x48f8f4);},'alRYd':'SKILL.md','jJSKb':function(_0x2129ef,_0xd7c614){return _0x2129ef(_0xd7c614);},'seToj':'project','oqiZB':_0x2b17b3(0x167),'HNSJC':_0x2b17b3(0x182),'pPxNW':_0x2b17b3(0x16e)},_0x3d9c98=_0x122518[_0x2b17b3(0x18e)](existsSync,_0x122518[_0x2b17b3(0x173)](join,_0x122518['cLQSo'](getSkillsDir,'user'),'ranger',_0x122518['alRYd'])),_0x4b09e8=_0x122518['cLQSo'](existsSync,join(_0x122518['jJSKb'](getSkillsDir,_0x122518[_0x2b17b3(0x18a)]),_0x122518['oqiZB'],_0x122518['alRYd']));if(_0x3d9c98||_0x4b09e8)return console[_0x2b17b3(0x179)](_0x122518['HNSJC']),![];const _0x485872=_0x122518[_0x2b17b3(0x162)](existsSync,join(getProjectRoot(),'.claude'));let _0x2bbbb4=!![];if(_0x32ffaa)await skillup({'autoInstall':_0x32ffaa,'suppressUsage':!![]});else{if(_0x485872)await skillup({'autoInstall':_0x122518['seToj'],'suppressUsage':!![]});else{const _0x3c4535=await _0x33a0f2['prompt']([{'type':_0x2b17b3(0x176),'name':_0x122518[_0x2b17b3(0x16a)],'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x2bbbb4=_0x3c4535['wantsSkillup'],_0x2bbbb4&&await skillup({'suppressUsage':!![]});}}return _0x2bbbb4;}
1
+ function _0x2501(_0x47b9fa,_0x42ba67){_0x47b9fa=_0x47b9fa-0x1e0;const _0x59d1f3=_0x59d1();let _0x2501a1=_0x59d1f3[_0x47b9fa];return _0x2501a1;}(function(_0x5235bb,_0x136019){const _0x5a0618=_0x2501,_0x414075=_0x5235bb();while(!![]){try{const _0x21bdb4=parseInt(_0x5a0618(0x1e2))/0x1*(-parseInt(_0x5a0618(0x20f))/0x2)+parseInt(_0x5a0618(0x1f6))/0x3*(parseInt(_0x5a0618(0x1e3))/0x4)+-parseInt(_0x5a0618(0x211))/0x5+-parseInt(_0x5a0618(0x203))/0x6+parseInt(_0x5a0618(0x1f9))/0x7*(-parseInt(_0x5a0618(0x1fd))/0x8)+parseInt(_0x5a0618(0x201))/0x9*(parseInt(_0x5a0618(0x209))/0xa)+parseInt(_0x5a0618(0x1ee))/0xb*(parseInt(_0x5a0618(0x1fa))/0xc);if(_0x21bdb4===_0x136019)break;else _0x414075['push'](_0x414075['shift']());}catch(_0x29d3a5){_0x414075['push'](_0x414075['shift']());}}}(_0x59d1,0xabca7));import{join}from'path';import{existsSync}from'fs';function _0x59d1(){const _0x387215=['prompt','iJyXC','Would\x20you\x20like\x20to\x20install\x20skills?','bhfWA','wdpTY','415482vxJakH','yQqCd','⚠\x20Failed\x20to\x20enable\x20plugin:','3059XfvTID','4188hTgzZh','zqiBK','XOvmM','2792qoGgfL','wmPUC','\x0aYou\x20can\x20install\x20manually\x20with:','kDvqV','162tpyDcJ','SKILL.md','316122rmFDJy','log','enable','wantsSkillup','--scope','project','474630WOMvLg','tTioM','success','SCoEu','Where\x20should\x20the\x20plugin\x20be\x20installed?','slglg','7556aQsknX','pluginScope','3663165BKAVbU','user','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','✓\x20Ranger\x20skills\x20already\x20installed','already\x20enabled','ranger@trailhead','284hYJvNw','28eXEOlJ','✓\x20Claude\x20Code\x20plugin\x20enabled','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','marketplace','CNRnd','ijFCI','trailhead','.claude','AbbYr','confirm','includes','28072qBzalh','Project\x20(shared\x20with\x20team\x20via\x20git)','error'];_0x59d1=function(){return _0x387215;};return _0x59d1();}import _0x2a16ba 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(_0x5ef4da){const _0x4b96a5=_0x2501,_0x4de801={'yQqCd':'ranger@trailhead','wmPUC':function(_0x4c50bf,_0x5e4a5a){return _0x4c50bf(_0x5e4a5a);},'YsGld':function(_0x246d41,_0x302840,_0x4a673a){return _0x246d41(_0x302840,_0x4a673a);},'tTioM':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','SyHYB':'list','glfRC':_0x4b96a5(0x210),'DsSBc':_0x4b96a5(0x20d),'iMLAG':_0x4b96a5(0x212),'aqzgu':_0x4b96a5(0x1ef),'XOvmM':'plugin','QuGgf':_0x4b96a5(0x1e6),'slglg':'add','ODOeW':'\x0aYou\x20can\x20install\x20manually\x20with:','kDvqV':_0x4b96a5(0x207),'SCoEu':_0x4b96a5(0x208),'CNRnd':'❌\x20Failed\x20to\x20install\x20plugin:','HbXRd':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','ZfayD':_0x4b96a5(0x205),'bhfWA':function(_0x56e3d4){return _0x56e3d4();},'aXSUw':_0x4b96a5(0x1e0),'zdiPw':_0x4b96a5(0x1e4)},_0x246a9b=await isPluginInstalled(_0x4de801[_0x4b96a5(0x1f7)]);if(_0x246a9b)return console[_0x4b96a5(0x204)](_0x4b96a5(0x213)),![];const _0x4cca06=_0x4de801[_0x4b96a5(0x1fe)](existsSync,_0x4de801['YsGld'](join,getProjectRoot(),_0x4b96a5(0x1ea)));let _0x31ada5;if(_0x5ef4da)_0x31ada5=_0x5ef4da;else{if(_0x4cca06)_0x31ada5=_0x4b96a5(0x208);else{console[_0x4b96a5(0x204)](_0x4de801[_0x4b96a5(0x20a)]);const _0x24c041=await _0x2a16ba[_0x4b96a5(0x1f1)]([{'type':_0x4de801['SyHYB'],'name':_0x4de801['glfRC'],'message':_0x4de801['DsSBc'],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x4de801['iMLAG']},{'name':_0x4de801['aqzgu'],'value':'project'}],'default':_0x4de801['iMLAG']}]);_0x31ada5=_0x24c041[_0x4b96a5(0x210)];}}console[_0x4b96a5(0x204)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x31ada5+'\x20level)...\x0a');const _0x76ee07=await isMarketplaceAdded(_0x4b96a5(0x1e9));let _0x579a1e=_0x76ee07;if(_0x76ee07)console[_0x4b96a5(0x204)]('✓\x20Marketplace\x20already\x20added');else{const _0x4e7e99=await runClaudeCommand([_0x4de801[_0x4b96a5(0x1fc)],_0x4de801['QuGgf'],_0x4de801[_0x4b96a5(0x20e)],'ranger-testing/trailhead']);!_0x4e7e99[_0x4b96a5(0x20b)]?(console[_0x4b96a5(0x1f0)]('❌\x20Failed\x20to\x20add\x20marketplace:',_0x4e7e99['error']),console['log'](_0x4de801['ODOeW']),console[_0x4b96a5(0x204)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x4b96a5(0x204)](_0x4b96a5(0x1e5)+_0x31ada5)):_0x579a1e=!![];}if(_0x579a1e){const _0x263bd7=await runClaudeCommand([_0x4de801['XOvmM'],'install',_0x4b96a5(0x1e1),_0x4de801[_0x4b96a5(0x200)],_0x31ada5],{'cwd':_0x31ada5===_0x4de801[_0x4b96a5(0x20c)]?getProjectRoot():undefined});if(!_0x263bd7[_0x4b96a5(0x20b)])console['error'](_0x4de801[_0x4b96a5(0x1e7)],_0x263bd7[_0x4b96a5(0x1f0)]),console['log'](_0x4b96a5(0x1ff)),console[_0x4b96a5(0x204)](_0x4b96a5(0x1e5)+_0x31ada5);else{console[_0x4b96a5(0x204)](_0x4de801['HbXRd']);const _0x52fa31=['plugin',_0x4de801['ZfayD'],_0x4de801['yQqCd']];_0x31ada5===_0x4b96a5(0x208)&&_0x52fa31['push']('--scope','project');const _0x5c8c50=await runClaudeCommand(_0x52fa31,{'captureOutput':!![],'cwd':_0x31ada5===_0x4de801[_0x4b96a5(0x20c)]?_0x4de801[_0x4b96a5(0x1f4)](getProjectRoot):undefined}),_0xf791ca=_0x5c8c50['output']?.[_0x4b96a5(0x1ed)](_0x4de801['aXSUw']);!_0x5c8c50['success']&&!_0xf791ca?console['error'](_0x4b96a5(0x1f8),_0x5c8c50[_0x4b96a5(0x1f0)]):console[_0x4b96a5(0x204)](_0x4de801['zdiPw']);}}return!![];}export async function ensureClaudeSkills(_0x132a84){const _0x317e42=_0x2501,_0x5f28f7={'AbbYr':function(_0x4f9fa8,_0x254ec3,_0x3ae2ee,_0x5a4461){return _0x4f9fa8(_0x254ec3,_0x3ae2ee,_0x5a4461);},'ijFCI':function(_0x53328c,_0x3c461f){return _0x53328c(_0x3c461f);},'wdpTY':_0x317e42(0x212),'iJyXC':'ranger','GXlXG':_0x317e42(0x214),'CIEsB':_0x317e42(0x1ea),'zqiBK':_0x317e42(0x1f3)},_0x12c597=existsSync(_0x5f28f7[_0x317e42(0x1eb)](join,_0x5f28f7[_0x317e42(0x1e8)](getSkillsDir,_0x5f28f7[_0x317e42(0x1f5)]),_0x5f28f7[_0x317e42(0x1f2)],'SKILL.md')),_0x362d19=existsSync(join(getSkillsDir('project'),_0x5f28f7['iJyXC'],_0x317e42(0x202)));if(_0x12c597||_0x362d19)return console[_0x317e42(0x204)](_0x5f28f7['GXlXG']),![];const _0x35951c=existsSync(join(getProjectRoot(),_0x5f28f7['CIEsB']));let _0x183895=!![];if(_0x132a84)await _0x5f28f7['ijFCI'](skillup,{'autoInstall':_0x132a84,'suppressUsage':!![]});else{if(_0x35951c)await _0x5f28f7['ijFCI'](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0x59ba52=await _0x2a16ba['prompt']([{'type':_0x317e42(0x1ec),'name':_0x317e42(0x206),'message':_0x5f28f7[_0x317e42(0x1fb)],'default':!![]}]);_0x183895=_0x59ba52[_0x317e42(0x206)],_0x183895&&await skillup({'suppressUsage':!![]});}}return _0x183895;}
@@ -1 +1 @@
1
- (function(_0x3fbd98,_0x24ab2e){const _0x5c649e=_0x544c,_0x85e0e1=_0x3fbd98();while(!![]){try{const _0x143ce6=-parseInt(_0x5c649e(0x1e3))/0x1*(-parseInt(_0x5c649e(0x1f6))/0x2)+parseInt(_0x5c649e(0x1f1))/0x3*(-parseInt(_0x5c649e(0x1e2))/0x4)+parseInt(_0x5c649e(0x1ed))/0x5+-parseInt(_0x5c649e(0x1f0))/0x6*(-parseInt(_0x5c649e(0x1f7))/0x7)+-parseInt(_0x5c649e(0x1ee))/0x8*(parseInt(_0x5c649e(0x1f5))/0x9)+-parseInt(_0x5c649e(0x1f2))/0xa+parseInt(_0x5c649e(0x1e6))/0xb*(parseInt(_0x5c649e(0x1fa))/0xc);if(_0x143ce6===_0x24ab2e)break;else _0x85e0e1['push'](_0x85e0e1['shift']());}catch(_0x41787b){_0x85e0e1['push'](_0x85e0e1['shift']());}}}(_0x5e4f,0x6cfeb));function _0x544c(_0x3e48b3,_0x2f6dd4){_0x3e48b3=_0x3e48b3-0x1df;const _0x5e4f85=_0x5e4f();let _0x544cab=_0x5e4f85[_0x3e48b3];return _0x544cab;}import{join}from'path';function _0x5e4f(){const _0x365ba6=['XmWMb','$schema','187wDxzoA','Project\x20(shared\x20with\x20team\x20via\x20git)','user','plugin','https://opencode.ai/config.json','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','opencode.json','204365PXEhgo','6808cTrJxD','✓\x20OpenCode\x20plugin\x20already\x20configured','12jASuRM','6654eUpEKu','6161940rwvREU','log','quJzC','1278riHRKX','41462VYPIkH','325913cuhWfd','oNDmr','utf-8','785676mvSDwN','\x0a📦\x20OpenCode\x20Plugin\x0a','User\x20(available\x20in\x20all\x20your\x20projects)','Yoibq','project','Failed\x20to\x20read\x20opencode.json','nOGFG','includes','152aIXiAP','1GRioYP'];_0x5e4f=function(){return _0x365ba6;};return _0x5e4f();}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x54c18c from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x56955b){const _0x37a1e8=_0x544c,_0x4f961e={'FHDCV':function(_0x555067,_0x3c1334){return _0x555067(_0x3c1334);},'oNDmr':function(_0x1411fa,_0x58620f,_0x4d1696){return _0x1411fa(_0x58620f,_0x4d1696);},'nOGFG':function(_0x12b382,_0x58d840){return _0x12b382(_0x58d840);},'XmWMb':_0x37a1e8(0x1fe),'pmqNb':'pluginScope','QFUMZ':'Where\x20should\x20the\x20plugin\x20be\x20installed?','JembB':_0x37a1e8(0x1fc),'Hvbsu':function(_0xe12c4a,_0x10f111,_0x1ee0e5){return _0xe12c4a(_0x10f111,_0x1ee0e5);},'quJzC':function(_0x173a13,_0x209941){return _0x173a13(_0x209941);},'Yoibq':'opencode.json','MOyfR':'@ranger-testing/opencode-plugin','tilIY':_0x37a1e8(0x1ea),'okanP':_0x37a1e8(0x1f9),'Gixza':_0x37a1e8(0x1df),'NKRzz':function(_0x51f618,_0x3c9997){return _0x51f618(_0x3c9997);},'qfEPY':'✓\x20OpenCode\x20plugin\x20configured'},_0x1dd310=_0x4f961e['FHDCV'](existsSync,_0x4f961e['oNDmr'](join,_0x4f961e[_0x37a1e8(0x1e0)](getOpencodeConfigDir,_0x4f961e[_0x37a1e8(0x1e4)]),_0x37a1e8(0x1ec)));let _0x3fd065;if(_0x56955b)_0x3fd065=_0x56955b;else{if(_0x1dd310)_0x3fd065='project';else{console['log'](_0x37a1e8(0x1fb));const _0x34726e=await _0x54c18c['prompt']([{'type':'list','name':_0x4f961e['pmqNb'],'message':_0x4f961e['QFUMZ'],'choices':[{'name':_0x4f961e['JembB'],'value':_0x37a1e8(0x1e8)},{'name':_0x37a1e8(0x1e7),'value':_0x4f961e['XmWMb']}],'default':'user'}]);_0x3fd065=_0x34726e['pluginScope'];}}const _0x2d352c=_0x4f961e['Hvbsu'](join,_0x4f961e[_0x37a1e8(0x1f4)](getOpencodeConfigDir,_0x3fd065),_0x4f961e[_0x37a1e8(0x1fd)]),_0x325cb9=_0x4f961e['MOyfR'],_0x43bbef=_0x4f961e['tilIY'];let _0x508ec9={};if(existsSync(_0x2d352c))try{const _0x37d12d=await readFile(_0x2d352c,_0x4f961e['okanP']);_0x508ec9=JSON['parse'](_0x37d12d);}catch(_0x550ec3){return console['error'](_0x37a1e8(0x1eb)),{'configured':![],'scope':_0x3fd065,'error':_0x4f961e['Gixza'],'details':_0x550ec3};}const _0x10f041=Array['isArray'](_0x508ec9['plugin'])?_0x508ec9[_0x37a1e8(0x1e9)]:[];if(_0x10f041[_0x37a1e8(0x1e1)](_0x325cb9))return console[_0x37a1e8(0x1f3)](_0x37a1e8(0x1ef)),{'configured':![],'scope':_0x3fd065};return _0x508ec9[_0x37a1e8(0x1e5)]=_0x508ec9[_0x37a1e8(0x1e5)]||_0x43bbef,_0x508ec9['plugin']=[..._0x10f041,_0x325cb9],await _0x4f961e[_0x37a1e8(0x1f8)](mkdir,_0x4f961e['NKRzz'](getOpencodeConfigDir,_0x3fd065),{'recursive':!![]}),await writeFile(_0x2d352c,JSON['stringify'](_0x508ec9,null,0x2)+'\x0a'),console['log'](_0x4f961e['qfEPY']),{'configured':!![],'scope':_0x3fd065};}
1
+ (function(_0x7af2a8,_0x57da3c){const _0x30529f=_0x11c5,_0x50c721=_0x7af2a8();while(!![]){try{const _0x1a106f=parseInt(_0x30529f(0xa3))/0x1*(parseInt(_0x30529f(0x87))/0x2)+-parseInt(_0x30529f(0x97))/0x3+parseInt(_0x30529f(0xa0))/0x4*(-parseInt(_0x30529f(0x8b))/0x5)+parseInt(_0x30529f(0x89))/0x6*(parseInt(_0x30529f(0x95))/0x7)+-parseInt(_0x30529f(0x96))/0x8*(parseInt(_0x30529f(0x88))/0x9)+parseInt(_0x30529f(0xa2))/0xa*(-parseInt(_0x30529f(0x99))/0xb)+parseInt(_0x30529f(0x8d))/0xc;if(_0x1a106f===_0x57da3c)break;else _0x50c721['push'](_0x50c721['shift']());}catch(_0x47c911){_0x50c721['push'](_0x50c721['shift']());}}}(_0x3d0c,0xbf299));import{join}from'path';function _0x3d0c(){const _0x5c2dab=['opencode.json','@ranger-testing/opencode-plugin','19822wsOlZg','459ODKMuW','540pvOHkv','jpObw','629635GFirzq','viqTw','52524132uqNFFG','OopIx','uXnEj','project','yeVQo','eKCsE','BAgHo','LqZNB','12649SQdked','167512UilVmw','609207CqdWeg','eqNRx','2950783zJPrKS','includes','prompt','log','qDETz','isArray','utf-8','48ktnYrr','plugin','50MZgOKC','37HpzyWe','✓\x20OpenCode\x20plugin\x20configured','stringify'];_0x3d0c=function(){return _0x5c2dab;};return _0x3d0c();}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x20ee5c from'inquirer';function _0x11c5(_0x360d6c,_0xeff569){_0x360d6c=_0x360d6c-0x86;const _0x3d0cde=_0x3d0c();let _0x11c5f8=_0x3d0cde[_0x360d6c];return _0x11c5f8;}import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x313d35){const _0x42e61b=_0x11c5,_0x335423={'LqZNB':function(_0x3f7478,_0x2f6bad,_0x218ad4){return _0x3f7478(_0x2f6bad,_0x218ad4);},'OopIx':function(_0xaec46e,_0x2e2938){return _0xaec46e(_0x2e2938);},'yeVQo':_0x42e61b(0xa6),'qDETz':'project','PdgZM':'\x0a📦\x20OpenCode\x20Plugin\x0a','jpObw':'pluginScope','TBvcu':'Where\x20should\x20the\x20plugin\x20be\x20installed?','uxkAg':'Project\x20(shared\x20with\x20team\x20via\x20git)','BAgHo':_0x42e61b(0x86),'hRAVW':'https://opencode.ai/config.json','viqTw':function(_0x4ecbf1,_0x2e93a5,_0x71000c){return _0x4ecbf1(_0x2e93a5,_0x71000c);},'uXnEj':_0x42e61b(0x9f),'eqNRx':function(_0xc5188f,_0x22c39d,_0x3f8036){return _0xc5188f(_0x22c39d,_0x3f8036);},'eKCsE':function(_0x5c91e1,_0x139c53){return _0x5c91e1+_0x139c53;}},_0xdae6f9=existsSync(_0x335423[_0x42e61b(0x94)](join,_0x335423[_0x42e61b(0x8e)](getOpencodeConfigDir,_0x42e61b(0x90)),_0x335423['yeVQo']));let _0x2cda11;if(_0x313d35)_0x2cda11=_0x313d35;else{if(_0xdae6f9)_0x2cda11=_0x335423[_0x42e61b(0x9d)];else{console['log'](_0x335423['PdgZM']);const _0x1555ed=await _0x20ee5c[_0x42e61b(0x9b)]([{'type':'list','name':_0x335423[_0x42e61b(0x8a)],'message':_0x335423['TBvcu'],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':_0x335423['uxkAg'],'value':_0x335423['qDETz']}],'default':'user'}]);_0x2cda11=_0x1555ed['pluginScope'];}}const _0x2f66ac=_0x335423['LqZNB'](join,getOpencodeConfigDir(_0x2cda11),_0x335423[_0x42e61b(0x91)]),_0x5ca733=_0x335423[_0x42e61b(0x93)],_0xddddaa=_0x335423['hRAVW'];let _0x3562f3={};if(existsSync(_0x2f66ac))try{const _0x654826=await _0x335423[_0x42e61b(0x8c)](readFile,_0x2f66ac,_0x335423[_0x42e61b(0x8f)]);_0x3562f3=JSON['parse'](_0x654826);}catch(_0x447a1c){return console['error']('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0x2cda11,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x447a1c};}const _0x176e3c=Array[_0x42e61b(0x9e)](_0x3562f3[_0x42e61b(0xa1)])?_0x3562f3[_0x42e61b(0xa1)]:[];if(_0x176e3c[_0x42e61b(0x9a)](_0x5ca733))return console[_0x42e61b(0x9c)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x2cda11};return _0x3562f3['$schema']=_0x3562f3['$schema']||_0xddddaa,_0x3562f3['plugin']=[..._0x176e3c,_0x5ca733],await _0x335423[_0x42e61b(0x98)](mkdir,getOpencodeConfigDir(_0x2cda11),{'recursive':!![]}),await writeFile(_0x2f66ac,_0x335423[_0x42e61b(0x92)](JSON[_0x42e61b(0xa5)](_0x3562f3,null,0x2),'\x0a')),console[_0x42e61b(0x9c)](_0x42e61b(0xa4)),{'configured':!![],'scope':_0x2cda11};}