@ranger-testing/ranger-cli 2.5.4-alpha.071b7bd-1 → 2.5.4-alpha.152f635-21

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(_0x3ae87a,_0x1073f9){const _0x229bdb=_0x2ef8,_0xb79fef=_0x3ae87a();while(!![]){try{const _0x2358ba=parseInt(_0x229bdb(0xaf))/0x1+-parseInt(_0x229bdb(0xad))/0x2+-parseInt(_0x229bdb(0xb4))/0x3*(parseInt(_0x229bdb(0xb0))/0x4)+parseInt(_0x229bdb(0xb5))/0x5+-parseInt(_0x229bdb(0xab))/0x6+parseInt(_0x229bdb(0xb3))/0x7+parseInt(_0x229bdb(0xac))/0x8*(-parseInt(_0x229bdb(0xb1))/0x9);if(_0x2358ba===_0x1073f9)break;else _0xb79fef['push'](_0xb79fef['shift']());}catch(_0x3996f4){_0xb79fef['push'](_0xb79fef['shift']());}}}(_0x12d6,0x1c9a6));import{readHookInput}from'./output.js';function _0x2ef8(_0x520471,_0x5c8582){_0x520471=_0x520471-0xab;const _0x12d6ec=_0x12d6();let _0x2ef804=_0x12d6ec[_0x520471];return _0x2ef804;}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 _0x12d6(){const _0x47eea4=['229743oiCBsb','4uhbvLq','3241467saKawX','session_id','1489712mXPJZr','299535eEHTKp','872945vbLNgv','144480atOLEz','8wmbhdq','31804sdXxTW','KugMi'];_0x12d6=function(){return _0x47eea4;};return _0x12d6();}export async function autoPrompt(){const _0x39e7a2=_0x2ef8,_0x314f95={'KugMi':function(_0x481efe,_0xf9fa4e){return _0x481efe(_0xf9fa4e);}},_0x47f622=await readHookInput(),_0x4fc431=_0x47f622?.[_0x39e7a2(0xb2)];if(!_0x4fc431)return;if(isSessionEnabled(_0x4fc431)||_0x314f95[_0x39e7a2(0xae)](hasSessionBeenPrompted,_0x4fc431))return;markSessionPrompted(_0x4fc431),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(_0x40a568,_0x3a4f6d){const _0x26c393=_0xe274,_0x485d4e=_0x40a568();while(!![]){try{const _0x361342=parseInt(_0x26c393(0x12f))/0x1+parseInt(_0x26c393(0x134))/0x2+parseInt(_0x26c393(0x130))/0x3*(parseInt(_0x26c393(0x131))/0x4)+-parseInt(_0x26c393(0x12a))/0x5+-parseInt(_0x26c393(0x132))/0x6*(-parseInt(_0x26c393(0x133))/0x7)+-parseInt(_0x26c393(0x135))/0x8*(parseInt(_0x26c393(0x129))/0x9)+parseInt(_0x26c393(0x128))/0xa*(parseInt(_0x26c393(0x12c))/0xb);if(_0x361342===_0x3a4f6d)break;else _0x485d4e['push'](_0x485d4e['shift']());}catch(_0xae3a6d){_0x485d4e['push'](_0x485d4e['shift']());}}}(_0xb931,0xa831a));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0xe274(_0x2cfea4,_0x1fee6d){_0x2cfea4=_0x2cfea4-0x128;const _0xb931d7=_0xb931();let _0xe2742b=_0xb931d7[_0x2cfea4];return _0xe2742b;}import{printBlock}from'./output.js';export async function disable(_0x425c33){const _0xe6ee2f=_0xe274,_0x3dcb8b={'jQJSt':function(_0x5a6a4,_0x5db08b){return _0x5a6a4!==_0x5db08b;},'uhyVq':'master','KLboo':'main'},_0x431487=_0x425c33||process[_0xe6ee2f(0x136)]['CLAUDE_SESSION_ID']||'';_0x431487&&disableSession(_0x431487);const _0x23d222=getCurrentBranch();_0x23d222&&_0x3dcb8b['jQJSt'](_0x23d222,'main')&&_0x23d222!==_0x3dcb8b[_0xe6ee2f(0x12e)]&&disableBranch(_0x23d222),printBlock(_0xe6ee2f(0x137)+(_0x23d222&&_0x23d222!==_0x3dcb8b['KLboo']&&_0x23d222!==_0x3dcb8b['uhyVq']?_0xe6ee2f(0x12b)+_0x23d222+'\x27':'')+_0xe6ee2f(0x12d));}function _0xb931(){const _0x4e3f70=['#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','499540MKrDXc','13059ASBrea','3656570vmWmGc','\x20and\x20branch\x20\x27','22ayoxTD','.\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`.','uhyVq','38290wrhdvv','6mtsNMv','2309276wDZYCz','6tDTnil','1309343goVMaL','1131464VBcssG','3448nJFWMH','env'];_0xb931=function(){return _0x4e3f70;};return _0xb931();}
@@ -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(_0x4b78f0,_0x336f06){const _0x1b5dac=_0x50a5,_0x4637e3=_0x4b78f0();while(!![]){try{const _0xa34969=parseInt(_0x1b5dac(0x197))/0x1*(parseInt(_0x1b5dac(0x1aa))/0x2)+parseInt(_0x1b5dac(0x1a2))/0x3+-parseInt(_0x1b5dac(0x198))/0x4*(parseInt(_0x1b5dac(0x19d))/0x5)+parseInt(_0x1b5dac(0x19e))/0x6*(parseInt(_0x1b5dac(0x19f))/0x7)+-parseInt(_0x1b5dac(0x1a6))/0x8+parseInt(_0x1b5dac(0x1a8))/0x9+-parseInt(_0x1b5dac(0x1a7))/0xa*(parseInt(_0x1b5dac(0x19b))/0xb);if(_0xa34969===_0x336f06)break;else _0x4637e3['push'](_0x4637e3['shift']());}catch(_0x31d07a){_0x4637e3['push'](_0x4637e3['shift']());}}}(_0x3001,0xc8878));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0x50a5(_0x38c876,_0xb55c5d){_0x38c876=_0x38c876-0x197;const _0x30016d=_0x3001();let _0x50a58d=_0x30016d[_0x38c876];return _0x50a58d;}import{update}from'../update.js';function _0x3001(){const _0x57ff42=['\x0a\x0a**Branch\x20\x27','JXcYb','607248LUVfMK','10cNBipd','249372MrrFRr','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','642BCwCZM','ranger\x20setup','3974vKbgWN','119044LeEUrF','#\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`','main','10704815PkYAzZ','env','255hGKSGx','3594QgYjJd','8519suhsYs','pQvbn','\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`.','4067715OgLAiL','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'];_0x3001=function(){return _0x57ff42;};return _0x3001();}export async function enable(_0x58c8d2){const _0x484d3b=_0x50a5,_0x7d6add={'fusOf':'ranger\x20setup\x20--opencode','JXcYb':_0x484d3b(0x1ab),'lIwsM':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','pQvbn':function(_0x16d0aa){return _0x16d0aa();},'xPpvh':function(_0x234876,_0x43b64e){return _0x234876(_0x43b64e);},'lTvcX':function(_0x39e8ed,_0x3295ee){return _0x39e8ed!==_0x3295ee;},'KAUth':function(_0xee7230,_0xa2f1b4){return _0xee7230!==_0xa2f1b4;},'RGaVj':'master'},_0x1dc01d=_0x58c8d2||process[_0x484d3b(0x19c)]['CLAUDE_SESSION_ID']||'',_0xcd2f6e=Boolean(_0x58c8d2),_0x57b207=await getToken();if(!_0x57b207){const _0x430d23=_0xcd2f6e?_0x7d6add['fusOf']:_0x7d6add[_0x484d3b(0x1a5)],_0xce9f9f=_0xcd2f6e?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x7d6add['lIwsM'];printBlock(_0x484d3b(0x199)+_0x430d23+_0x484d3b(0x1a9)+_0xce9f9f);return;}try{await _0x7d6add[_0x484d3b(0x1a0)](update);}catch{}_0x1dc01d&&_0x7d6add['xPpvh'](enableSession,_0x1dc01d);const _0x2f5fda=getCurrentBranch(),_0x183c1f=_0x2f5fda&&_0x7d6add['lTvcX'](_0x2f5fda,_0x484d3b(0x19a))&&_0x7d6add['KAUth'](_0x2f5fda,_0x7d6add['RGaVj'])?_0x484d3b(0x1a4)+_0x2f5fda+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x26b5d8=getRangerSkillContent();printBlock('#\x20RANGER\x20ENABLED'+_0x183c1f+_0x484d3b(0x1a3)+_0x26b5d8+_0x484d3b(0x1a1));}
@@ -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(_0x484cb8,_0x482e8c){const _0x38e827=_0x55b3,_0x31a5e2=_0x484cb8();while(!![]){try{const _0x48f9a5=parseInt(_0x38e827(0xa8))/0x1+parseInt(_0x38e827(0xa5))/0x2*(parseInt(_0x38e827(0xac))/0x3)+-parseInt(_0x38e827(0xa4))/0x4*(-parseInt(_0x38e827(0xa6))/0x5)+-parseInt(_0x38e827(0xa9))/0x6+parseInt(_0x38e827(0xad))/0x7*(parseInt(_0x38e827(0xa7))/0x8)+parseInt(_0x38e827(0xab))/0x9+-parseInt(_0x38e827(0xaa))/0xa;if(_0x48f9a5===_0x482e8c)break;else _0x31a5e2['push'](_0x31a5e2['shift']());}catch(_0x1e8969){_0x31a5e2['push'](_0x31a5e2['shift']());}}}(_0x2400,0x817e6));function _0x2400(){const _0x2be9d3=['3083604jFutcK','12404780cLQrUD','4106286diwvaA','15SalvFn','7hiAkZN','2666732Iztvwe','83536PdYhQM','5xUxObi','5016488TfQBjz','325980blFPje'];_0x2400=function(){return _0x2be9d3;};return _0x2400();}function _0x55b3(_0x21cb05,_0x4c39e4){_0x21cb05=_0x21cb05-0xa4;const _0x240061=_0x2400();let _0x55b3aa=_0x240061[_0x21cb05];return _0x55b3aa;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x55b867){const _0x6c3618={'oMPHk':function(_0x54a9a8,_0x108055){return _0x54a9a8(_0x108055);}},_0x2d6907=await _0x6c3618['oMPHk'](getEnabledSessionId,_0x55b867);if(!_0x2d6907)return;_0x6c3618['oMPHk'](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 +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 _0x22ff(){var _0x24e40d=['1593090BQQCpP','38907KKhNMv','576020sdJeIH','603598DRmTpX','3791795ALPeqz','167985WLTpqZ','156cslsOD','3064945ZicWMl','848wcBxpg'];_0x22ff=function(){return _0x24e40d;};return _0x22ff();}(function(_0x3297a1,_0x2536d4){var _0x4f68bf=_0x4610,_0x4a8caf=_0x3297a1();while(!![]){try{var _0x333497=-parseInt(_0x4f68bf(0x9c))/0x1+-parseInt(_0x4f68bf(0x9b))/0x2+-parseInt(_0x4f68bf(0xa3))/0x3*(parseInt(_0x4f68bf(0x9f))/0x4)+parseInt(_0x4f68bf(0xa0))/0x5+-parseInt(_0x4f68bf(0xa2))/0x6+-parseInt(_0x4f68bf(0x9d))/0x7+-parseInt(_0x4f68bf(0xa1))/0x8*(-parseInt(_0x4f68bf(0x9e))/0x9);if(_0x333497===_0x2536d4)break;else _0x4a8caf['push'](_0x4a8caf['shift']());}catch(_0x3a4761){_0x4a8caf['push'](_0x4a8caf['shift']());}}}(_0x22ff,0x5e740));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x4610(_0x1f5679,_0x43d0f8){_0x1f5679=_0x1f5679-0x9b;var _0x22ff6f=_0x22ff();var _0x461063=_0x22ff6f[_0x1f5679];return _0x461063;}export{postEdit}from'./postEdit.js';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';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(_0x44f35d,_0x19fbd3){const _0x274de1=_0x56e6,_0x4d24bc=_0x44f35d();while(!![]){try{const _0x36946f=parseInt(_0x274de1(0x1bd))/0x1*(parseInt(_0x274de1(0x1bf))/0x2)+parseInt(_0x274de1(0x1b6))/0x3+-parseInt(_0x274de1(0x1b7))/0x4*(-parseInt(_0x274de1(0x1ba))/0x5)+parseInt(_0x274de1(0x1c4))/0x6+-parseInt(_0x274de1(0x1b5))/0x7*(parseInt(_0x274de1(0x1b4))/0x8)+-parseInt(_0x274de1(0x1b8))/0x9*(-parseInt(_0x274de1(0x1c2))/0xa)+-parseInt(_0x274de1(0x1c0))/0xb*(parseInt(_0x274de1(0x1be))/0xc);if(_0x36946f===_0x19fbd3)break;else _0x4d24bc['push'](_0x4d24bc['shift']());}catch(_0xece9c3){_0x4d24bc['push'](_0x4d24bc['shift']());}}}(_0x3f71,0xeeaca));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x3f71(){const _0x2b0223=['7JhIulP','1258896qDmvMz','12806WMzoXK','110kNpEep','QBURo','190QVdMwH','log','7904724IUXKyi','8QceEIt','12331879YbozEj','1969395cqUxmS','8JdBdDJ','576441lLISIh','trim','1381790QXFPkb','stdin','session_id'];_0x3f71=function(){return _0x2b0223;};return _0x3f71();}export function printBlock(_0x23e851){const _0x58118d=_0x56e6;console[_0x58118d(0x1c3)](_0x23e851);}export async function readHookInput(){const _0x229ec6=_0x56e6;let _0x284477='';try{for await(const _0xbeb593 of process[_0x229ec6(0x1bb)]){_0x284477+=_0xbeb593;}}catch{return null;}if(!_0x284477[_0x229ec6(0x1b9)]())return null;try{return JSON['parse'](_0x284477);}catch{return null;}}function _0x56e6(_0x1b4daa,_0x4a0ffa){_0x1b4daa=_0x1b4daa-0x1b4;const _0x3f716a=_0x3f71();let _0x56e609=_0x3f716a[_0x1b4daa];return _0x56e609;}export async function getEnabledSessionId(_0x4dbeb2){const _0x4bdbcc=_0x56e6,_0x593c56={'JjEyC':function(_0x52ca50){return _0x52ca50();},'QBURo':function(_0x1863e3,_0x32c535){return _0x1863e3(_0x32c535);}};if(_0x4dbeb2)return isSessionEnabled(_0x4dbeb2)?_0x4dbeb2:null;const _0x20d2ef=await _0x593c56['JjEyC'](readHookInput),_0x1248c4=_0x20d2ef?.['session_id'];if(!_0x1248c4||!_0x593c56[_0x4bdbcc(0x1c1)](isSessionEnabled,_0x1248c4))return null;return _0x1248c4;}export async function getEnabledHookContext(_0x2de8ad){const _0x2b6dde=_0x56e6;if(_0x2de8ad){if(!isSessionEnabled(_0x2de8ad))return null;return{'sessionId':_0x2de8ad,'input':{'session_id':_0x2de8ad}};}const _0x5bbc22=await readHookInput(),_0x3f0a4f=_0x5bbc22?.[_0x2b6dde(0x1bc)];if(!_0x3f0a4f||!isSessionEnabled(_0x3f0a4f))return null;return{'sessionId':_0x3f0a4f,'input':_0x5bbc22};}
@@ -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(_0x53102b,_0x545bd0){const _0x39170c=_0x26b9,_0x50da3a=_0x53102b();while(!![]){try{const _0x12f9cb=parseInt(_0x39170c(0x16b))/0x1+parseInt(_0x39170c(0x170))/0x2*(parseInt(_0x39170c(0x171))/0x3)+parseInt(_0x39170c(0x16a))/0x4*(-parseInt(_0x39170c(0x162))/0x5)+parseInt(_0x39170c(0x16c))/0x6*(-parseInt(_0x39170c(0x16f))/0x7)+parseInt(_0x39170c(0x168))/0x8*(parseInt(_0x39170c(0x163))/0x9)+-parseInt(_0x39170c(0x167))/0xa*(-parseInt(_0x39170c(0x161))/0xb)+parseInt(_0x39170c(0x16e))/0xc*(-parseInt(_0x39170c(0x165))/0xd);if(_0x12f9cb===_0x545bd0)break;else _0x50da3a['push'](_0x50da3a['shift']());}catch(_0x38169f){_0x50da3a['push'](_0x50da3a['shift']());}}}(_0x566d,0x79d69));function _0x566d(){const _0x586544=['39PeBxhd','EglUw','2630okgBfn','1032qefWyP','sessionId','12qbjRVx','873232Ieighs','333654LYUTSU','input','2005356AQoZyd','35jamzhi','216gonHNk','3621cosiJQ','plan','37653DDMjXd','1317325WiYeSQ','11511FxBywP','permission_mode'];_0x566d=function(){return _0x586544;};return _0x566d();}import{printBlock,getEnabledHookContext}from'./output.js';function _0x26b9(_0x44ad28,_0x476cf1){_0x44ad28=_0x44ad28-0x160;const _0x566d97=_0x566d();let _0x26b96b=_0x566d97[_0x44ad28];return _0x26b96b;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x4faf9c){const _0x26138b=_0x26b9,_0xe06d1d={'GnUvr':function(_0x3aa6d7,_0x1c0fd8){return _0x3aa6d7(_0x1c0fd8);},'EglUw':_0x26138b(0x160),'PBgcC':function(_0x32d93d,_0x327857){return _0x32d93d(_0x327857);}},_0x7a920c=await _0xe06d1d['GnUvr'](getEnabledHookContext,_0x4faf9c);if(!_0x7a920c)return;if(_0x7a920c[_0x26138b(0x16d)][_0x26138b(0x164)]!==_0xe06d1d[_0x26138b(0x166)])return;if(!shouldShowPlanReminder(_0x7a920c[_0x26138b(0x169)]))return;_0xe06d1d['PBgcC'](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 +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 _0x1492(){const _0x311703=['1237398Lylpoh','214326LLrPqP','452035cTKjcz','53266aZYVBt','190736dsSZQT','3MkFmgX','20557qqmBLk','56gXRVse','27JFPRBn','833790wLCiYK'];_0x1492=function(){return _0x311703;};return _0x1492();}function _0x4d63(_0x5c9d20,_0x10f672){_0x5c9d20=_0x5c9d20-0xcd;const _0x149292=_0x1492();let _0x4d638a=_0x149292[_0x5c9d20];return _0x4d638a;}(function(_0x27f1b1,_0x12a5ed){const _0xe8a792=_0x4d63,_0x15febb=_0x27f1b1();while(!![]){try{const _0x3844cf=-parseInt(_0xe8a792(0xd1))/0x1+parseInt(_0xe8a792(0xce))/0x2*(parseInt(_0xe8a792(0xd0))/0x3)+parseInt(_0xe8a792(0xcf))/0x4+-parseInt(_0xe8a792(0xcd))/0x5+parseInt(_0xe8a792(0xd5))/0x6+-parseInt(_0xe8a792(0xd6))/0x7*(-parseInt(_0xe8a792(0xd2))/0x8)+parseInt(_0xe8a792(0xd3))/0x9*(-parseInt(_0xe8a792(0xd4))/0xa);if(_0x3844cf===_0x12a5ed)break;else _0x15febb['push'](_0x15febb['shift']());}catch(_0x77e37f){_0x15febb['push'](_0x15febb['shift']());}}}(_0x1492,0x20a8f));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x343992){const _0x4e945c={'EBzQE':function(_0x58e453,_0x4d5d93){return _0x58e453(_0x4d5d93);}},_0x520a16=await _0x4e945c['EBzQE'](getEnabledSessionId,_0x343992);if(!_0x520a16)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 +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(_0x2540c9,_0x2090fb){const _0x4781c2=_0x4150,_0xc68559=_0x2540c9();while(!![]){try{const _0x4a17da=parseInt(_0x4781c2(0x107))/0x1*(-parseInt(_0x4781c2(0x105))/0x2)+-parseInt(_0x4781c2(0x10d))/0x3*(parseInt(_0x4781c2(0x10e))/0x4)+parseInt(_0x4781c2(0x102))/0x5+parseInt(_0x4781c2(0x110))/0x6*(parseInt(_0x4781c2(0x108))/0x7)+parseInt(_0x4781c2(0x10b))/0x8*(parseInt(_0x4781c2(0x109))/0x9)+-parseInt(_0x4781c2(0x106))/0xa*(-parseInt(_0x4781c2(0x100))/0xb)+-parseInt(_0x4781c2(0x10a))/0xc*(parseInt(_0x4781c2(0x111))/0xd);if(_0x4a17da===_0x2090fb)break;else _0xc68559['push'](_0xc68559['shift']());}catch(_0x1084f8){_0xc68559['push'](_0xc68559['shift']());}}}(_0x4879,0x6a59a));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x4879(){const _0x2f0f1c=['log','35208SBrdrP','244FwJNrY','tfmWw','2284428toRmLu','26EbghVR','LxGzB','2257442ccJtTW','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.','2288080BYSATo','eYAqL','PostToolUse','14syQcUa','40QaliMR','62779xDqTxN','7iKVtZm','4689081JrVJPF','3535752yZxePm','8ZyyuhM'];_0x4879=function(){return _0x2f0f1c;};return _0x4879();}import{getToken}from'../utils/keychain.js';function _0x4150(_0x36f68f,_0x50dfc5){_0x36f68f=_0x36f68f-0x100;const _0x487949=_0x4879();let _0x4150c7=_0x487949[_0x36f68f];return _0x4150c7;}import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x42117c){const _0x55bcf9=_0x4150,_0x30712e={'LxGzB':function(_0x5079fe,_0xa7939){return _0x5079fe(_0xa7939);},'tfmWw':function(_0x2023f9,_0x32338d){return _0x2023f9(_0x32338d);},'eYAqL':_0x55bcf9(0x104)},_0x4ed619=await _0x30712e[_0x55bcf9(0x112)](getEnabledSessionId,_0x42117c);if(!_0x4ed619)return;_0x30712e[_0x55bcf9(0x10f)](updateBranchTracking,_0x4ed619);const _0x170bdc=await getToken();if(!_0x170bdc)return;const _0x173a4d=_0x30712e['tfmWw'](getSessionEntry,_0x4ed619);if(_0x173a4d){const _0x2b0b3d={'hookSpecificOutput':{'hookEventName':_0x55bcf9(0x104),'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[_0x55bcf9(0x10c)](JSON['stringify'](_0x2b0b3d));return;}const _0xba87b2={'hookSpecificOutput':{'hookEventName':_0x30712e[_0x55bcf9(0x103)],'additionalContext':_0x55bcf9(0x101)}};console['log'](JSON['stringify'](_0xba87b2));}
@@ -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 _0xd22a(_0x5976bf,_0xb68e43){_0x5976bf=_0x5976bf-0x143;const _0x457b25=_0x457b();let _0xd22a6d=_0x457b25[_0x5976bf];return _0xd22a6d;}function _0x457b(){const _0x2a419f=['2533380ljqRjl','174gfyAFL','vWbkB','565804AJDbyy','2109452Kszllt','3687848uuYmFv','===\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`.','9969giACTi','1519218RUYDXl','5vTllle','4306848VuIShr'];_0x457b=function(){return _0x2a419f;};return _0x457b();}(function(_0x59a477,_0x46b2ed){const _0x168ab7=_0xd22a,_0x2c904c=_0x59a477();while(!![]){try{const _0x3984c7=-parseInt(_0x168ab7(0x14a))/0x1+-parseInt(_0x168ab7(0x148))/0x2*(-parseInt(_0x168ab7(0x143))/0x3)+parseInt(_0x168ab7(0x14b))/0x4*(parseInt(_0x168ab7(0x145))/0x5)+parseInt(_0x168ab7(0x147))/0x6+-parseInt(_0x168ab7(0x146))/0x7+parseInt(_0x168ab7(0x14c))/0x8+-parseInt(_0x168ab7(0x144))/0x9;if(_0x3984c7===_0x46b2ed)break;else _0x2c904c['push'](_0x2c904c['shift']());}catch(_0x1d1e83){_0x2c904c['push'](_0x2c904c['shift']());}}}(_0x457b,0x5566d));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x5b1a5a){const _0x4f19d8=_0xd22a,_0x1c3053={'vWbkB':function(_0x33c079,_0x4e2558){return _0x33c079(_0x4e2558);},'iNzlb':function(_0x2c8e15,_0x192b5c){return _0x2c8e15(_0x192b5c);}},_0x3ca41c=await _0x1c3053[_0x4f19d8(0x149)](getEnabledSessionId,_0x5b1a5a);if(!_0x3ca41c)return;try{const _0x4182e2=await getToken();if(!_0x4182e2)return;_0x1c3053['iNzlb'](printBlock,_0x4f19d8(0x14d));}catch{}}
@@ -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(_0x48eac4,_0x45f9a0){const _0x177cb1=_0x24ba,_0x1e0756=_0x48eac4();while(!![]){try{const _0xa5ec14=parseInt(_0x177cb1(0xd4))/0x1*(parseInt(_0x177cb1(0xd6))/0x2)+-parseInt(_0x177cb1(0xdd))/0x3*(parseInt(_0x177cb1(0xd9))/0x4)+parseInt(_0x177cb1(0xdf))/0x5*(parseInt(_0x177cb1(0xde))/0x6)+-parseInt(_0x177cb1(0xda))/0x7*(parseInt(_0x177cb1(0xd7))/0x8)+parseInt(_0x177cb1(0xe1))/0x9*(-parseInt(_0x177cb1(0xe2))/0xa)+-parseInt(_0x177cb1(0xd8))/0xb+parseInt(_0x177cb1(0xe0))/0xc;if(_0xa5ec14===_0x45f9a0)break;else _0x1e0756['push'](_0x1e0756['shift']());}catch(_0x30b6fe){_0x1e0756['push'](_0x1e0756['shift']());}}}(_0x10c2,0x2aec7));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x10c2(){const _0x54e01e=['AmWBZ','299OeYYBb','clear','562DUZQHa','8tPKqMv','2453220guGwIQ','8212teFuFJ','1610567ZfhyZn','VxFEV','nuuqf','45PCObQn','2334WAPxkM','2470SQJGuc','7891296lnrxvx','774vwgjWF','31870VIpEhC'];_0x10c2=function(){return _0x54e01e;};return _0x10c2();}function _0x24ba(_0x5944e2,_0x4d85d1){_0x5944e2=_0x5944e2-0xd3;const _0x10c23e=_0x10c2();let _0x24baed=_0x10c23e[_0x5944e2];return _0x24baed;}export async function sessionEnd(_0x1945f7){const _0x235b9b=_0x24ba,_0x18631b={'nuuqf':function(_0x429854,_0x58e21d){return _0x429854(_0x58e21d);},'VxFEV':function(_0x565b52){return _0x565b52();},'AmWBZ':_0x235b9b(0xd5),'MiIQs':function(_0x1742a7,_0x4f2dad){return _0x1742a7(_0x4f2dad);}},_0x4c613b=process['env']['CLAUDE_SESSION_ID'];let _0x217e7e=_0x1945f7,_0x23ede6;if(!_0x1945f7){if(_0x4c613b&&!_0x18631b[_0x235b9b(0xdc)](isSessionEnabled,_0x4c613b))return;const _0x3b103a=await _0x18631b[_0x235b9b(0xdb)](readHookInput);_0x217e7e=_0x3b103a?.['session_id']||_0x4c613b,_0x23ede6=_0x3b103a?.['reason'];}if(!_0x217e7e)return;_0x23ede6===_0x18631b[_0x235b9b(0xd3)]&&_0x18631b['MiIQs'](recordEnabledSessionCleared,_0x217e7e);}
@@ -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 _0x3d66(){const _0xcc7244=['11256489ecihth','2513119TnursT','GrNDs','911698QROWVi','success','2387124oxAsQz','stringify','npaRm','DJvGE','export\x20CLAUDE_SESSION_ID=\x22','session_id','stdin','1dPFXJp','hook:session-start','IYPGY','pYqWg','bIOFM','897VdOFGI','5420zCYgXO','\x20(Branch:\x20','1272330VhUYPS','env','2917464TIfouq','=================================================================\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=================================================================','LuukY'];_0x3d66=function(){return _0xcc7244;};return _0x3d66();}const _0x3f9a8d=_0x48ad;(function(_0x34d59d,_0x40477c){const _0x59324d=_0x48ad,_0xf98708=_0x34d59d();while(!![]){try{const _0x1dcad7=parseInt(_0x59324d(0x99))/0x1*(-parseInt(_0x59324d(0x90))/0x2)+parseInt(_0x59324d(0x9e))/0x3*(-parseInt(_0x59324d(0x9f))/0x4)+parseInt(_0x59324d(0xa1))/0x5+-parseInt(_0x59324d(0x92))/0x6+parseInt(_0x59324d(0x8e))/0x7+-parseInt(_0x59324d(0xa3))/0x8+parseInt(_0x59324d(0x8d))/0x9;if(_0x1dcad7===_0x40477c)break;else _0xf98708['push'](_0xf98708['shift']());}catch(_0xbe30e6){_0xf98708['push'](_0xf98708['shift']());}}}(_0x3d66,0x3ac21));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x48ad(_0x2a6842,_0x262aed){_0x2a6842=_0x2a6842-0x8c;const _0x3d661f=_0x3d66();let _0x48ade5=_0x3d661f[_0x2a6842];return _0x48ade5;}import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT=_0x3f9a8d(0xa4);export async function sessionStart(_0xe3920){const _0x49db3b=_0x3f9a8d,_0x356748={'DJvGE':_0x49db3b(0x97),'npaRm':function(_0x48203e,_0x2ecc11,_0x433281){return _0x48203e(_0x2ecc11,_0x433281);},'bIOFM':function(_0x51cb46){return _0x51cb46();},'pYqWg':function(_0x2a11a6,_0x2e4ca1){return _0x2a11a6(_0x2e4ca1);},'LuukY':_0x49db3b(0x9a),'GrNDs':function(_0xa3bbac,_0x183a82){return _0xa3bbac!==_0x183a82;},'ctHAH':'main','IYPGY':function(_0x38e3c0,_0x526864){return _0x38e3c0+_0x526864;}};let _0x3c26cc=_0xe3920||'',_0x2d1cce;if(!_0xe3920){let _0x5e839d='';for await(const _0x1811b1 of process[_0x49db3b(0x98)]){_0x5e839d+=_0x1811b1;}try{const _0x2355da=JSON['parse'](_0x5e839d);_0x3c26cc=_0x2355da[_0x356748[_0x49db3b(0x95)]]||'',_0x2d1cce=_0x2355da['source'];}catch{}const _0x306a39=process[_0x49db3b(0xa2)]['CLAUDE_ENV_FILE'];if(_0x306a39&&_0x3c26cc)try{await _0x356748[_0x49db3b(0x94)](appendFile,_0x306a39,_0x49db3b(0x96)+_0x3c26cc+'\x22\x0a');}catch{}}try{await _0x356748[_0x49db3b(0x9d)](getToken);}catch{}if(_0x3c26cc){_0x356748[_0x49db3b(0x9c)](shouldAutoEnableAfterClear,_0x2d1cce)&&autoEnableAfterClear(_0x3c26cc);initBranchTracking(_0x3c26cc);const _0x15f2ed=isSessionEnabled(_0x3c26cc);try{const _0x3fa0d6=createTelemetryCollector(_0x356748[_0x49db3b(0x8c)]);await _0x3fa0d6['trackCommandStart']({'sessionId':_0x3c26cc,'hooksEnabled':_0x15f2ed}),await _0x3fa0d6['trackCommandEnd'](_0x49db3b(0x91));}catch{}if(_0x15f2ed){const _0x22085b=getCurrentBranch(),_0x43f851=_0x22085b&&_0x356748['GrNDs'](_0x22085b,_0x356748['ctHAH'])&&_0x356748[_0x49db3b(0x8f)](_0x22085b,'master')?_0x49db3b(0xa0)+_0x22085b+')':'',_0x3571a0={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':_0x356748[_0x49db3b(0x9b)](RANGER_AUTO_ENABLED_PROMPT,_0x43f851)}};console['log'](JSON[_0x49db3b(0x93)](_0x3571a0));}}}
@@ -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 _0x2264(_0x35e72c,_0xf8e47){_0x35e72c=_0x35e72c-0x15d;const _0x5a62b8=_0x5a62();let _0x22649c=_0x5a62b8[_0x35e72c];return _0x22649c;}(function(_0x52eb92,_0x5195e7){const _0x2a51ed=_0x2264,_0x35917a=_0x52eb92();while(!![]){try{const _0x2be362=parseInt(_0x2a51ed(0x160))/0x1+parseInt(_0x2a51ed(0x172))/0x2+-parseInt(_0x2a51ed(0x15f))/0x3*(-parseInt(_0x2a51ed(0x169))/0x4)+parseInt(_0x2a51ed(0x166))/0x5+-parseInt(_0x2a51ed(0x175))/0x6+parseInt(_0x2a51ed(0x16d))/0x7+-parseInt(_0x2a51ed(0x16f))/0x8*(parseInt(_0x2a51ed(0x16c))/0x9);if(_0x2be362===_0x5195e7)break;else _0x35917a['push'](_0x35917a['shift']());}catch(_0x4ef3c4){_0x35917a['push'](_0x35917a['shift']());}}}(_0x5a62,0xa8f2d));function _0x5a62(){const _0x20e8a3=['24PPjTRw','116038dFliKE','some','status','Stop','stringify','currentSessionId','617785JeFpNY','bgFTo','vcmgf','138020TytNZp','sessionId','featureId','10791vaHGaw','7072114gqQAFE','blocked','7656RiWkTC','verification_in_progress','KySFg','1878872JEwRHq','https://dashboard.ranger.net/features/','success','3755502fdQwry','WTsoL','closed'];_0x5a62=function(){return _0x20e8a3;};return _0x5a62();}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(_0x2a4428){const _0x45ebb6=_0x2264,_0x4bccf7={'vcmgf':function(_0x2868a0,_0x5157c7){return _0x2868a0(_0x5157c7);},'KySFg':function(_0x3eed03,_0x1a5337,_0x2caafd,_0x50c5da){return _0x3eed03(_0x1a5337,_0x2caafd,_0x50c5da);},'DRKJj':function(_0x785241,_0x4dc4b4){return _0x785241(_0x4dc4b4);},'WTsoL':function(_0x5f3f82,_0x55e168){return _0x5f3f82(_0x55e168);},'IJMyA':function(_0x27bb78,_0x582a36,_0x5eacf9){return _0x27bb78(_0x582a36,_0x5eacf9);},'QUccB':function(_0x461030,_0x5c4e8b,_0x4b7172,_0x3fe42b){return _0x461030(_0x5c4e8b,_0x4b7172,_0x3fe42b);}},_0x360b5e=await _0x4bccf7['vcmgf'](getEnabledHookContext,_0x2a4428),_0x4e9094=_0x360b5e?.['sessionId']??null;let _0x1bb8f4=!![];if(!_0x4e9094){await _0x4bccf7['KySFg'](trackStop,_0x4e9094,![],_0x1bb8f4);return;}try{const _0x297117=_0x4bccf7['DRKJj'](getSessionEntry,_0x4e9094);if(!_0x297117){await trackStop(_0x4e9094,!![],_0x1bb8f4);return;}const _0x4c85c1=await getToken(),_0x1ef339=_0x45ebb6(0x173)+_0x297117[_0x45ebb6(0x16b)];let _0x5437fc=null,_0x4f522c=![],_0xcb0cd2=![];if(_0x4c85c1)try{const _0x399f3d=await _0x4bccf7[_0x45ebb6(0x168)](getFeature,_0x297117[_0x45ebb6(0x16b)]);_0x5437fc=_0x399f3d[_0x45ebb6(0x165)]??null;const _0x3b3629=_0x399f3d['checklistItems']['filter'](_0x3b7dfe=>_0x3b7dfe[_0x45ebb6(0x16a)]===_0x5437fc);_0x4f522c=_0x3b3629['some'](_0x4940a8=>_0x4940a8[_0x45ebb6(0x162)]!=='verified'&&_0x4940a8[_0x45ebb6(0x162)]!==_0x45ebb6(0x16e)&&_0x4940a8[_0x45ebb6(0x162)]!==_0x45ebb6(0x15e)&&_0x4940a8[_0x45ebb6(0x162)]!=='incomplete'),_0xcb0cd2=_0x3b3629[_0x45ebb6(0x161)](_0x457e43=>_0x457e43[_0x45ebb6(0x162)]===_0x45ebb6(0x170));}catch{}if(_0x4c85c1&&_0x5437fc&&_0x4f522c){if(!_0xcb0cd2&&_0x4bccf7[_0x45ebb6(0x15d)](shouldShowStopReminder,_0x4e9094)){const _0x5c7150={'hookSpecificOutput':{'hookEventName':_0x45ebb6(0x163),'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'+_0x1ef339}};console['log'](JSON[_0x45ebb6(0x164)](_0x5c7150));}}if(_0x4c85c1&&_0x5437fc&&!_0x4f522c)try{await _0x4bccf7['IJMyA'](concludeSession,_0x297117[_0x45ebb6(0x16b)],_0x5437fc);}catch{}await _0x4bccf7[_0x45ebb6(0x171)](trackStop,_0x4e9094,!![],_0x1bb8f4);return;}catch{await _0x4bccf7['QUccB'](trackStop,_0x4e9094,!![],_0x1bb8f4);return;}}async function trackStop(_0xfe7a70,_0x59daa6,_0x2be65a){const _0x464572=_0x2264,_0x3c3059={'bgFTo':_0x464572(0x174)};try{const _0x41be0c=createTelemetryCollector('hook:stop');await _0x41be0c['trackCommandStart']({'sessionId':_0xfe7a70??undefined,'hooksEnabled':_0x59daa6,'stopAllowed':_0x2be65a}),await _0x41be0c['trackCommandEnd'](_0x3c3059[_0x464572(0x167)]);}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(_0x5f118e,_0x6231c0){var _0x19177a=_0x557f,_0x3facd9=_0x5f118e();while(!![]){try{var _0x3c533d=-parseInt(_0x19177a(0x1b5))/0x1+parseInt(_0x19177a(0x1b1))/0x2*(-parseInt(_0x19177a(0x1af))/0x3)+parseInt(_0x19177a(0x1ae))/0x4+parseInt(_0x19177a(0x1ad))/0x5+parseInt(_0x19177a(0x1b0))/0x6+-parseInt(_0x19177a(0x1b2))/0x7+-parseInt(_0x19177a(0x1b4))/0x8*(parseInt(_0x19177a(0x1b3))/0x9);if(_0x3c533d===_0x6231c0)break;else _0x3facd9['push'](_0x3facd9['shift']());}catch(_0x53ad40){_0x3facd9['push'](_0x3facd9['shift']());}}}(_0x3b70,0xed04d));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';function _0x557f(_0x4673c3,_0x3fced5){_0x4673c3=_0x4673c3-0x1ad;var _0x3b70e4=_0x3b70();var _0x557fd5=_0x3b70e4[_0x4673c3];return _0x557fd5;}export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';function _0x3b70(){var _0x49bde3=['2WmlzNh','6002948SFiiME','18kTHQNn','3179256pPIcnd','265417eJZaHU','8051235JOeSoI','760676KmtdYY','229371pMzdDq','6987990XpSenR'];_0x3b70=function(){return _0x49bde3;};return _0x3b70();}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 _0x51e8(){const _0xb5fa1d=['3902900qbczZq','30Nkrois','\x0a✅\x20Logged\x20in\x20to\x20','3083836tuOfmA','user','48728BmVNtb','6465200XCkqlc','5614764McUzzj','36bIndEN','1370257GKGRMA','973024WfjWCM','stdin','\x0a✅\x20API\x20key\x20stored\x20successfully','log','2BDGaKj','dHAWM'];_0x51e8=function(){return _0xb5fa1d;};return _0x51e8();}function _0x2e9d(_0x44a7d1,_0xebef1b){_0x44a7d1=_0x44a7d1-0x1b1;const _0x51e89b=_0x51e8();let _0x2e9d19=_0x51e89b[_0x44a7d1];return _0x2e9d19;}(function(_0x141cbb,_0x1c2219){const _0x2a1e7e=_0x2e9d,_0x12b1ae=_0x141cbb();while(!![]){try{const _0x4d2a63=-parseInt(_0x2a1e7e(0x1bd))/0x1*(-parseInt(_0x2a1e7e(0x1b1))/0x2)+-parseInt(_0x2a1e7e(0x1ba))/0x3+-parseInt(_0x2a1e7e(0x1b6))/0x4+parseInt(_0x2a1e7e(0x1b9))/0x5+-parseInt(_0x2a1e7e(0x1b4))/0x6*(-parseInt(_0x2a1e7e(0x1bc))/0x7)+parseInt(_0x2a1e7e(0x1b8))/0x8*(-parseInt(_0x2a1e7e(0x1bb))/0x9)+parseInt(_0x2a1e7e(0x1b3))/0xa;if(_0x4d2a63===_0x1c2219)break;else _0x12b1ae['push'](_0x12b1ae['shift']());}catch(_0x27fff0){_0x12b1ae['push'](_0x12b1ae['shift']());}}}(_0x51e8,0xec606));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';export async function login(){const _0x1e2075=_0x2e9d,_0x40e351={'eZxth':'Re-authenticating\x20via\x20MCP\x20bootstrap...','sNUxu':function(_0x291dc2){return _0x291dc2();},'dHAWM':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','rwyAy':_0x1e2075(0x1bf)},_0x44194e=await getMcpAuthOrigin();if(_0x44194e){console[_0x1e2075(0x1c0)](_0x40e351['eZxth']),await _0x40e351['sNUxu'](mcpBootstrap);return;}const _0x1dcd98=process[_0x1e2075(0x1be)]['isTTY']&&process['stdout']['isTTY'];if(!_0x1dcd98)throw new Error(_0x40e351[_0x1e2075(0x1b2)]);try{const _0xf08971=await runDeviceAuthFlow(),_0x545941=await getCurrentUser(_0xf08971);_0x545941['success']?console['log'](_0x1e2075(0x1b5)+_0x545941[_0x1e2075(0x1b7)]['organizationName']):console[_0x1e2075(0x1c0)](_0x40e351['rwyAy']);}catch(_0x5c7f0b){throw new Error('Login\x20failed:\x20'+(_0x5c7f0b instanceof Error?_0x5c7f0b['message']:_0x5c7f0b));}}
@@ -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 _0x18dc21=_0x301b;(function(_0x5580bf,_0x90bafd){const _0x1b43aa=_0x301b,_0x8e42ac=_0x5580bf();while(!![]){try{const _0x2ef3da=-parseInt(_0x1b43aa(0x198))/0x1*(-parseInt(_0x1b43aa(0x160))/0x2)+parseInt(_0x1b43aa(0x1a6))/0x3*(-parseInt(_0x1b43aa(0x194))/0x4)+-parseInt(_0x1b43aa(0x14e))/0x5+parseInt(_0x1b43aa(0x14c))/0x6+-parseInt(_0x1b43aa(0x14d))/0x7*(-parseInt(_0x1b43aa(0x122))/0x8)+-parseInt(_0x1b43aa(0x17c))/0x9*(-parseInt(_0x1b43aa(0x168))/0xa)+parseInt(_0x1b43aa(0x17e))/0xb*(-parseInt(_0x1b43aa(0x143))/0xc);if(_0x2ef3da===_0x90bafd)break;else _0x8e42ac['push'](_0x8e42ac['shift']());}catch(_0x5b31d4){_0x8e42ac['push'](_0x8e42ac['shift']());}}}(_0x3fd9,0xc6c51));import{mkdir,writeFile,readFile}from'fs/promises';function _0x301b(_0x364117,_0x8a8ec9){_0x364117=_0x364117-0x114;const _0x3fd9e8=_0x3fd9();let _0x301ba3=_0x3fd9e8[_0x364117];return _0x301ba3;}import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x18dc21(0x19f)),AUTH_ORIGIN_PATH=join(homedir(),_0x18dc21(0x11d),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x52fc49=_0x18dc21,_0x1d48ed={'VZMLy':function(_0x2b8e61,_0xaa00bb,_0x3f2799){return _0x2b8e61(_0xaa00bb,_0x3f2799);}};try{const _0x19dfa4=(await _0x1d48ed['VZMLy'](readFile,AUTH_ORIGIN_PATH,_0x52fc49(0x14a)))[_0x52fc49(0x144)]();return _0x19dfa4||null;}catch{return null;}}export async function mcpBootstrap(){const _0x399817=_0x18dc21,_0x34072e={'olUZB':'proxied','TuskX':function(_0x59cc0f){return _0x59cc0f();},'ISdGw':_0x399817(0x16c),'ulhjz':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','ItnRl':function(_0x118c88,_0x59bbad,_0x35a8e1){return _0x118c88(_0x59bbad,_0x35a8e1);}},_0x4eafa3=getMcpAuthUrl();currentOrigin=_0x4eafa3;const _0x1f2512=process['stdout']['isTTY']??![];console['log'](_0x399817(0x146)+_0x4eafa3+'\x0a');const _0x556375=await tryUnauthenticated(_0x4eafa3);let _0x46bed1=null;if(_0x556375===_0x34072e['olUZB'])_0x46bed1='';else{_0x46bed1=await _0x34072e[_0x399817(0x16d)](loadCachedToken);if(!_0x46bed1){if(!_0x1f2512)throw new Error(_0x34072e['ISdGw']+_0x34072e['ulhjz']);_0x46bed1=await oauthFlow(_0x4eafa3);}}await _0x34072e[_0x399817(0x175)](callGetCliToken,_0x4eafa3,_0x46bed1);}async function tryUnauthenticated(_0xd05171){const _0x58deb3=_0x18dc21,_0x18bc25={'RDxme':'application/json,\x20text/event-stream','HRHIH':_0x58deb3(0x164),'CSlkt':_0x58deb3(0x176),'jdabJ':'ranger-cli','TpUgl':'needs-oauth'},_0xdc161d=await fetch(_0xd05171,{'method':_0x58deb3(0x163),'headers':{'Content-Type':'application/json','Accept':_0x18bc25[_0x58deb3(0x130)]},'body':JSON['stringify']({'jsonrpc':_0x18bc25['HRHIH'],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x18bc25[_0x58deb3(0x179)],'capabilities':{},'clientInfo':{'name':_0x18bc25[_0x58deb3(0x17d)],'version':'1.0.0'}}})});if(_0xdc161d['ok'])return await _0xdc161d[_0x58deb3(0x148)](),_0x58deb3(0x172);if(_0xdc161d['status']===0x191)return await _0xdc161d[_0x58deb3(0x148)](),_0x18bc25[_0x58deb3(0x12e)];const _0x3c0c20=await _0xdc161d[_0x58deb3(0x148)]();throw new Error(_0x58deb3(0x184)+_0xdc161d[_0x58deb3(0x193)]+':\x20'+_0x3c0c20);}class OAuthTimeoutError extends Error{constructor(_0x481ec1){const _0x1375eb=_0x18dc21,_0x1e8e4a={'cjETv':_0x1375eb(0x11a)};super(_0x481ec1),this['name']=_0x1e8e4a[_0x1375eb(0x13d)];}}async function oauthFlow(_0x3d0540){const _0x59f2d4=_0x18dc21,_0x1487eb={'gQQDu':function(_0x3bd302,_0x569502){return _0x3bd302 instanceof _0x569502;},'xlxDw':function(_0x3e82a1){return _0x3e82a1();},'MwqPF':function(_0x1b1ec1,_0x19cdbe){return _0x1b1ec1(_0x19cdbe);}};try{return await oauthFlowAttempt(_0x3d0540);}catch(_0x5c9492){if(_0x1487eb[_0x59f2d4(0x17b)](_0x5c9492,OAuthTimeoutError)&&await loadCachedClient())return console[_0x59f2d4(0x15e)](_0x59f2d4(0x11b)),await _0x1487eb['xlxDw'](clearCachedClient),await _0x1487eb[_0x59f2d4(0x129)](oauthFlowAttempt,_0x3d0540);throw _0x5c9492;}}function _0x3fd9(){const _0x1b655f=['authorization_servers','token','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','VUqNp','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','get','nUptn','cjETv','writeHead','client_secret','accessToken','gqVDZ','jXprR','46164EWHIZy','trim','closeAllConnections','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','clientSecret','text','resource','utf-8','string','7661250PhOSSx','2219VeYjYh','4276415duRAtV','set','NWjyk','searchParams','stringify','begUK','http://localhost:','DQFJJ','xClQh','result','tools/call','IPkxl','lAHMQ','content','kObRN','get_cli_token\x20failed:\x20','log','EiadZ','397502qwjrlP','refreshToken','WQqEq','POST','2.0','redirect_uri','<html><body><h2>Authentication\x20failed</h2><p>','APCGg','50lfXGup','authorization_endpoint','WqEYU','/.well-known/oauth-protected-resource','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','TuskX','Eciyj','/callback','GwmBn','application/x-www-form-urlencoded','proxied','toString','slice','ItnRl','2025-03-26','wUbNu','refresh_token','CSlkt','EwKqG','gQQDu','2040651jiHBOW','jdabJ','363sPgYqa','text/html','expiresAt','tpSUk','write','jfUgP','MCP\x20server\x20returned\x20HTTP\x20','LtwRN','Bearer\x20','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','RtuyF','parse','hex','uwoup','XAuwM','error','Exchanging\x20authorization\x20code...','RgEfP','json','Requesting\x20CLI\x20token...','isError','status','2855780KPZWVe','state','Not\x20found','LXVuU','3KKOTVC','bYXNr','pQAXd','close','token_endpoint','Server\x20returned\x20error:\x20','code','mcp-oauth-tokens.json','then','sha256','get_cli_token','end','iduwI','Unknown\x20error','6SpwZdf','headers','registration_endpoint','CLnKv','message','url','PgjWX','now','qWXap','OAuthTimeoutError','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','PFory','.ranger','OAuth\x20error:\x20','notifications/initialized','dPlyI','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','5488UBJYcs','Client\x20registration\x20failed:\x20','access_token','ROkpJ','fKtlu','open','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','MwqPF','clVJJ','application/json','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','update','TpUgl','origin','RDxme','stdout','content-type','rUlKT','application/json,\x20text/event-stream','clientId'];_0x3fd9=function(){return _0x1b655f;};return _0x3fd9();}async function oauthFlowAttempt(_0x58dad9){const _0xcb0e6b=_0x18dc21,_0x45dea7={'CLnKv':'Discovering\x20authorization\x20server...','pQAXd':function(_0x2d07b1,_0x526f4e){return _0x2d07b1(_0x526f4e);},'uwoup':_0xcb0e6b(0x121),'EiadZ':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','kObRN':function(_0x2a43cd){return _0x2a43cd();},'APCGg':'Registering\x20OAuth\x20client...','MAAbk':function(_0x8ab7bf,_0x99c6a0,_0x2bce40){return _0x8ab7bf(_0x99c6a0,_0x2bce40);},'NuHCY':_0xcb0e6b(0x12b),'iZAHy':'Ranger\x20CLI','Eciyj':'authorization_code','svOce':_0xcb0e6b(0x178),'begUK':_0xcb0e6b(0x19e),'ZQYVc':'none','zqvpU':function(_0x3d77eb,_0x4e441e){return _0x3d77eb(_0x4e441e);},'DofZl':_0xcb0e6b(0x1a1),'EiCDd':'base64url','IPkxl':function(_0x48cd5c,_0x4a5d68){return _0x48cd5c(_0x4a5d68);},'iduwI':'client_id','nUptn':_0xcb0e6b(0x165),'eVrlT':'code_challenge','VUqNp':'code_challenge_method','ScTZk':'S256','xClQh':'resource','XAuwM':_0xcb0e6b(0x18e),'tpSUk':_0xcb0e6b(0x13f),'ROkpJ':'POST','WCShe':'\x20done'},_0xabae0b=_0x58dad9['replace'](/\/mcp$/,'');process['stdout'][_0xcb0e6b(0x182)](_0x45dea7[_0xcb0e6b(0x114)]);const _0x4ea97f=await _0x45dea7[_0xcb0e6b(0x19a)](fetch,_0xabae0b+_0xcb0e6b(0x16b));if(!_0x4ea97f['ok'])throw new Error(_0x45dea7[_0xcb0e6b(0x18b)]);const _0x24bb2f=await _0x4ea97f[_0xcb0e6b(0x190)](),_0x6b0d50=_0x24bb2f[_0xcb0e6b(0x136)]?.[0x0];if(!_0x6b0d50)throw new Error(_0x45dea7[_0xcb0e6b(0x15f)]);console[_0xcb0e6b(0x15e)]('\x20'+_0x6b0d50);const _0xd34f7e=await fetchAuthServerMetadata(_0x6b0d50);let _0x49fcfc,_0x4cb3af;const _0x19ce67=await _0x45dea7[_0xcb0e6b(0x15c)](loadCachedClient);if(_0x19ce67)_0x49fcfc=_0x19ce67['clientId'],_0x4cb3af=_0x19ce67[_0xcb0e6b(0x147)];else{if(_0xd34f7e[_0xcb0e6b(0x1a8)]){process['stdout']['write'](_0x45dea7[_0xcb0e6b(0x167)]);const _0xf60ea9=await _0x45dea7['MAAbk'](fetch,_0xd34f7e['registration_endpoint'],{'method':'POST','headers':{'Content-Type':_0x45dea7['NuHCY']},'body':JSON[_0xcb0e6b(0x152)]({'client_name':_0x45dea7['iZAHy'],'redirect_uris':[_0xcb0e6b(0x154)+CALLBACK_PORT+'/callback'],'grant_types':[_0x45dea7[_0xcb0e6b(0x16e)],_0x45dea7['svOce']],'response_types':[_0x45dea7[_0xcb0e6b(0x153)]],'token_endpoint_auth_method':_0x45dea7['ZQYVc']})});if(!_0xf60ea9['ok']){const _0x21298e=await _0xf60ea9[_0xcb0e6b(0x148)]();throw new Error(_0xcb0e6b(0x123)+_0x21298e);}const _0x24048e=await _0xf60ea9['json']();_0x49fcfc=_0x24048e['client_id'],_0x4cb3af=_0x24048e[_0xcb0e6b(0x13f)],await saveCachedClient(_0x49fcfc,_0x4cb3af),console['log']('\x20done');}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x4d0374=_0x45dea7['zqvpU'](randomBytes,0x20)[_0xcb0e6b(0x173)]('base64url'),_0x4b76ed=createHash(_0x45dea7['DofZl'])[_0xcb0e6b(0x12d)](_0x4d0374)['digest'](_0x45dea7['EiCDd']),_0x5bee7e=_0x45dea7[_0xcb0e6b(0x159)](randomBytes,0x10)['toString'](_0xcb0e6b(0x18a)),_0x44f45f=new URL(_0xd34f7e[_0xcb0e6b(0x169)]);_0x44f45f[_0xcb0e6b(0x151)][_0xcb0e6b(0x14f)]('response_type',_0x45dea7['begUK']),_0x44f45f['searchParams'][_0xcb0e6b(0x14f)](_0x45dea7[_0xcb0e6b(0x1a4)],_0x49fcfc),_0x44f45f['searchParams']['set'](_0x45dea7[_0xcb0e6b(0x13c)],_0xcb0e6b(0x154)+CALLBACK_PORT+_0xcb0e6b(0x16f)),_0x44f45f[_0xcb0e6b(0x151)][_0xcb0e6b(0x14f)](_0x45dea7['eVrlT'],_0x4b76ed),_0x44f45f[_0xcb0e6b(0x151)]['set'](_0x45dea7[_0xcb0e6b(0x139)],_0x45dea7['ScTZk']),_0x44f45f['searchParams'][_0xcb0e6b(0x14f)](_0xcb0e6b(0x195),_0x5bee7e);_0x24bb2f['resource']&&_0x44f45f['searchParams']['set'](_0x45dea7['xClQh'],_0x24bb2f['resource']);console[_0xcb0e6b(0x15e)]('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0xcb0e6b(0x15e)](_0xcb0e6b(0x128)+_0x44f45f['toString']()+'\x0a'),await openBrowser(_0x44f45f[_0xcb0e6b(0x173)]());const _0x16641c=await waitForCallback(_0x5bee7e);process['stdout']['write'](_0x45dea7[_0xcb0e6b(0x18c)]);const _0x3d76a1=new URLSearchParams({'grant_type':_0x45dea7['Eciyj'],'code':_0x16641c,'redirect_uri':_0xcb0e6b(0x154)+CALLBACK_PORT+_0xcb0e6b(0x16f),'client_id':_0x49fcfc,'code_verifier':_0x4d0374});_0x4cb3af&&_0x3d76a1[_0xcb0e6b(0x14f)](_0x45dea7[_0xcb0e6b(0x181)],_0x4cb3af);_0x24bb2f[_0xcb0e6b(0x149)]&&_0x3d76a1['set'](_0x45dea7[_0xcb0e6b(0x156)],_0x24bb2f[_0xcb0e6b(0x149)]);const _0x202f18=await fetch(_0xd34f7e[_0xcb0e6b(0x19c)],{'method':_0x45dea7[_0xcb0e6b(0x125)],'headers':{'Content-Type':_0xcb0e6b(0x171)},'body':_0x3d76a1});if(!_0x202f18['ok']){const _0x5f05cd=await _0x202f18[_0xcb0e6b(0x148)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x5f05cd);}const _0x2fc88f=await _0x202f18['json']();return console['log'](_0x45dea7['WCShe']),await saveCachedToken(_0x2fc88f[_0xcb0e6b(0x124)],_0x2fc88f['refresh_token'],_0x2fc88f['expires_in']),_0x2fc88f['access_token'];}async function callGetCliToken(_0x30328c,_0x58ce7b){const _0x2f6e6e=_0x18dc21,_0x16262d={'sHyTf':function(_0x27b31e,_0x236129,_0x121812){return _0x27b31e(_0x236129,_0x121812);},'RgEfP':'application/json','QKxHP':_0x2f6e6e(0x134),'qZFkx':'Authorization','owUdc':'Initializing\x20MCP\x20session...','TklyF':function(_0x225677,_0x3ccc7f){return _0x225677(_0x3ccc7f);},'WQqEq':'initialize','RtuyF':'1.0.0','GwmBn':'\x20done','EwKqG':function(_0x59de55,_0x3ad582,_0x57c20f){return _0x59de55(_0x3ad582,_0x57c20f);},'dPlyI':_0x2f6e6e(0x163),'mFmuA':_0x2f6e6e(0x164),'DQFJJ':_0x2f6e6e(0x158),'UkctQ':_0x2f6e6e(0x1a2),'lAHMQ':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','gqVDZ':function(_0x2d04c8,_0x5124f1,_0x53500f){return _0x2d04c8(_0x5124f1,_0x53500f);},'nVLcJ':'refresh.txt','fKtlu':function(_0x4644a6,_0x3e29c9,_0x5d83d1,_0x443813){return _0x4644a6(_0x3e29c9,_0x5d83d1,_0x443813);},'jfUgP':function(_0x426c6c,_0x449a0e,_0x24b3e6,_0x5cc533){return _0x426c6c(_0x449a0e,_0x24b3e6,_0x5cc533);},'CCPLB':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x2f3f47={'Content-Type':_0x16262d[_0x2f6e6e(0x18f)],'Accept':_0x16262d['QKxHP']};_0x58ce7b&&(_0x2f3f47[_0x16262d['qZFkx']]=_0x2f6e6e(0x186)+_0x58ce7b);const _0x22add5=async _0x2e302a=>{const _0x309571=_0x2f6e6e,_0x464b9b=await _0x16262d['sHyTf'](fetch,_0x30328c,{'method':_0x309571(0x163),'headers':_0x2f3f47,'body':JSON[_0x309571(0x152)](_0x2e302a)});if(!_0x464b9b['ok']){const _0x3e7d19=await _0x464b9b['text']();throw new Error('HTTP\x20'+_0x464b9b[_0x309571(0x193)]+':\x20'+_0x3e7d19);}return parseResponse(_0x464b9b);};process['stdout'][_0x2f6e6e(0x182)](_0x16262d['owUdc']);const _0x216526=await _0x16262d['TklyF'](_0x22add5,{'jsonrpc':_0x2f6e6e(0x164),'id':0x1,'method':_0x16262d[_0x2f6e6e(0x162)],'params':{'protocolVersion':_0x2f6e6e(0x176),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x16262d[_0x2f6e6e(0x188)]}}});if(_0x216526['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x216526[_0x2f6e6e(0x18d)][_0x2f6e6e(0x115)]??JSON['stringify'](_0x216526[_0x2f6e6e(0x18d)])));console[_0x2f6e6e(0x15e)](_0x16262d[_0x2f6e6e(0x170)]),await _0x16262d[_0x2f6e6e(0x17a)](fetch,_0x30328c,{'method':_0x16262d[_0x2f6e6e(0x120)],'headers':_0x2f3f47,'body':JSON[_0x2f6e6e(0x152)]({'jsonrpc':_0x2f6e6e(0x164),'method':_0x2f6e6e(0x11f)})})[_0x2f6e6e(0x1a0)](_0x55928f=>_0x55928f['text']()),process[_0x2f6e6e(0x131)][_0x2f6e6e(0x182)](_0x2f6e6e(0x191));const _0xe4e59b=await _0x16262d['TklyF'](_0x22add5,{'jsonrpc':_0x16262d['mFmuA'],'id':0x2,'method':_0x16262d[_0x2f6e6e(0x155)],'params':{'name':_0x16262d['UkctQ'],'arguments':{}}});if(_0xe4e59b[_0x2f6e6e(0x18d)])throw new Error(_0x2f6e6e(0x15d)+(_0xe4e59b['error']['message']??JSON[_0x2f6e6e(0x152)](_0xe4e59b['error'])));console['log']('\x20done');const _0x37e3a3=extractToken(_0xe4e59b[_0x2f6e6e(0x157)]);if(!_0x37e3a3){console['error']('\x0aUnexpected\x20response\x20structure:'),console['error'](JSON[_0x2f6e6e(0x152)](_0xe4e59b['result'],null,0x2));throw new Error(_0x16262d[_0x2f6e6e(0x15a)]);}const _0xc05a5f=_0x16262d[_0x2f6e6e(0x141)](join,homedir(),_0x2f6e6e(0x11d)),_0x369ec4=_0x16262d[_0x2f6e6e(0x17a)](join,_0xc05a5f,_0x16262d['nVLcJ']);await mkdir(_0xc05a5f,{'recursive':!![]}),await _0x16262d[_0x2f6e6e(0x126)](writeFile,_0x369ec4,_0x37e3a3,{'mode':0x180}),await _0x16262d[_0x2f6e6e(0x183)](writeFile,_0x16262d[_0x2f6e6e(0x141)](join,_0xc05a5f,'auth-origin.txt'),_0x30328c,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x369ec4),console['log'](_0x16262d['CCPLB']);}async function fetchAuthServerMetadata(_0x13d330){const _0x36466e=_0x18dc21,_0x401108=_0x13d330+'/.well-known/oauth-authorization-server',_0x1ff132=await fetch(_0x401108);if(!_0x1ff132['ok'])throw new Error(_0x36466e(0x13a)+_0x401108+':\x20'+_0x1ff132[_0x36466e(0x193)]);return _0x1ff132['json']();}function waitForCallback(_0x37a3cd){const _0x5e4526=_0x18dc21,_0x16279c={'PFory':function(_0x2b389c){return _0x2b389c();},'WqEYU':function(_0x45bc9d,_0x3ce683){return _0x45bc9d(_0x3ce683);},'FTvuM':_0x5e4526(0x19e),'jXprR':_0x5e4526(0x17f),'IXeri':function(_0x53e7ff,_0x1810ba,_0x5e45a7){return _0x53e7ff(_0x1810ba,_0x5e45a7);},'rUlKT':'127.0.0.1'};return new Promise((_0x43fa36,_0x2d9be1)=>{const _0x5250dc=_0x5e4526,_0x43e466={'FoIzO':_0x16279c['FTvuM'],'iBoLZ':_0x5250dc(0x195),'avkYJ':_0x16279c[_0x5250dc(0x142)],'fZmiI':function(_0x515681,_0x41ff9f){return _0x515681(_0x41ff9f);},'klnxe':function(_0x5d401b,_0x1aa190){return _0x5d401b!==_0x1aa190;}},_0xc4f67e=()=>{const _0x37d55e=_0x5250dc;_0x367fa2[_0x37d55e(0x145)](),_0x367fa2[_0x37d55e(0x19b)]();},_0x42614b=_0x16279c['IXeri'](setTimeout,()=>{const _0x54ab04=_0x5250dc;_0x16279c[_0x54ab04(0x11c)](_0xc4f67e),_0x16279c[_0x54ab04(0x16a)](_0x2d9be1,new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x367fa2=createServer((_0x3d8734,_0x3dd4b4)=>{const _0x5276d7=_0x5250dc,_0xcff3c1=new URL(_0x3d8734[_0x5276d7(0x116)]??'/',_0x5276d7(0x154)+CALLBACK_PORT);if(_0xcff3c1['pathname']!=='/callback'){_0x3dd4b4['writeHead'](0x194),_0x3dd4b4['end'](_0x5276d7(0x196));return;}const _0xe18649=_0xcff3c1['searchParams'][_0x5276d7(0x13b)](_0x43e466['FoIzO']),_0x341d72=_0xcff3c1['searchParams'][_0x5276d7(0x13b)](_0x43e466['iBoLZ']),_0x10d550=_0xcff3c1[_0x5276d7(0x151)][_0x5276d7(0x13b)](_0x5276d7(0x18d));if(_0x10d550){const _0x4a8c59=_0xcff3c1[_0x5276d7(0x151)]['get']('error_description')??_0x10d550;_0x3dd4b4[_0x5276d7(0x13e)](0xc8,{'Content-Type':_0x43e466['avkYJ']}),_0x3dd4b4[_0x5276d7(0x1a3)](_0x5276d7(0x166)+_0x4a8c59+_0x5276d7(0x12c)),_0x43e466['fZmiI'](clearTimeout,_0x42614b),_0xc4f67e(),_0x2d9be1(new Error(_0x5276d7(0x11e)+_0x4a8c59));return;}if(!_0xe18649||_0x43e466['klnxe'](_0x341d72,_0x37a3cd)){_0x3dd4b4['writeHead'](0x190,{'Content-Type':_0x43e466['avkYJ']}),_0x3dd4b4[_0x5276d7(0x1a3)](_0x5276d7(0x138));return;}_0x3dd4b4[_0x5276d7(0x13e)](0xc8,{'Content-Type':_0x5276d7(0x17f)}),_0x3dd4b4['end'](_0x5276d7(0x187)),clearTimeout(_0x42614b),_0xc4f67e(),_0x43fa36(_0xe18649);});_0x367fa2['listen'](CALLBACK_PORT,_0x16279c[_0x5250dc(0x133)]);});}async function openBrowser(_0x1994ef){const _0x44dd4b=_0x18dc21,_0x2cd368={'NWjyk':function(_0x48f7c3,_0x13a88c){return _0x48f7c3===_0x13a88c;},'kNuWa':'win32','ErEcn':'start','wUbNu':function(_0x5d4e3a,_0x171265){return _0x5d4e3a(_0x171265);}},_0x14ebd9=_0x2cd368[_0x44dd4b(0x150)](process['platform'],'darwin')?_0x44dd4b(0x127):process['platform']===_0x2cd368['kNuWa']?_0x2cd368['ErEcn']:'xdg-open';_0x2cd368[_0x44dd4b(0x177)](exec,_0x14ebd9+'\x20\x22'+_0x1994ef+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x2466c6=_0x18dc21;try{const _0x5eeb83=JSON[_0x2466c6(0x189)](await readFile(TOKEN_CACHE_PATH,_0x2466c6(0x14a)));if(_0x5eeb83[_0x2466c6(0x12f)]&&_0x5eeb83[_0x2466c6(0x12f)]!==currentOrigin)return null;if(_0x5eeb83['expiresAt']&&Date[_0x2466c6(0x118)]()>_0x5eeb83[_0x2466c6(0x180)])return null;return _0x5eeb83[_0x2466c6(0x140)]??null;}catch{return null;}}async function saveCachedToken(_0x3d12b0,_0x57cdf3,_0x1a2001){const _0x5056f7=_0x18dc21,_0x1ae3a8={'GOiUS':function(_0x487240,_0x3d37c2){return _0x487240+_0x3d37c2;},'LXVuU':function(_0x18a640,_0x19c19d,_0xe3cc66){return _0x18a640(_0x19c19d,_0xe3cc66);},'eNkXK':function(_0x3d283f){return _0x3d283f();},'clVJJ':_0x5056f7(0x11d)},_0x835ebe=await loadCachedData(),_0x89bf48={..._0x835ebe,'origin':currentOrigin,'accessToken':_0x3d12b0,'refreshToken':_0x57cdf3??_0x835ebe?.[_0x5056f7(0x161)],'expiresAt':_0x1a2001?_0x1ae3a8['GOiUS'](Date[_0x5056f7(0x118)](),_0x1a2001*0x3e8):undefined};await _0x1ae3a8[_0x5056f7(0x197)](mkdir,_0x1ae3a8['LXVuU'](join,_0x1ae3a8['eNkXK'](homedir),_0x1ae3a8[_0x5056f7(0x12a)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x89bf48),{'mode':0x180});}async function loadCachedClient(){const _0x200b0d=_0x18dc21,_0x37d5bc=await loadCachedData();if(_0x37d5bc?.[_0x200b0d(0x12f)]&&_0x37d5bc[_0x200b0d(0x12f)]!==currentOrigin)return null;return _0x37d5bc?.[_0x200b0d(0x135)]?{'clientId':_0x37d5bc['clientId'],'clientSecret':_0x37d5bc['clientSecret']}:null;}async function clearCachedClient(){const _0x12ac45=_0x18dc21,_0x495228={'RvQKS':function(_0x16a10a,_0x2a26ec,_0x2f46ea,_0x596962){return _0x16a10a(_0x2a26ec,_0x2f46ea,_0x596962);}},_0x19330d=await loadCachedData();if(!_0x19330d)return;const {clientId:_0x35c9c9,clientSecret:_0x2eb18b,..._0x16aaec}=_0x19330d;await _0x495228['RvQKS'](writeFile,TOKEN_CACHE_PATH,JSON[_0x12ac45(0x152)](_0x16aaec),{'mode':0x180});}async function saveCachedClient(_0xad0100,_0x2acd18){const _0x508dce=_0x18dc21,_0x302fe3={'nSkaZ':function(_0x41a57d){return _0x41a57d();},'LtwRN':function(_0x24166f,_0x12d084,_0x1cbd23){return _0x24166f(_0x12d084,_0x1cbd23);},'qWXap':function(_0x45eb8e,_0xba6e3d,_0x57368b){return _0x45eb8e(_0xba6e3d,_0x57368b);},'wySkC':'.ranger'},_0xf7fc8b=await _0x302fe3['nSkaZ'](loadCachedData),_0x1c5d2a={..._0xf7fc8b,'origin':currentOrigin,'accessToken':_0xf7fc8b?.[_0x508dce(0x140)]??'','clientId':_0xad0100,'clientSecret':_0x2acd18};await _0x302fe3[_0x508dce(0x185)](mkdir,_0x302fe3[_0x508dce(0x119)](join,homedir(),_0x302fe3['wySkC']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x508dce(0x152)](_0x1c5d2a),{'mode':0x180});}async function loadCachedData(){const _0x522554={'iMedp':function(_0x58406b,_0x5996e6,_0x51255a){return _0x58406b(_0x5996e6,_0x51255a);},'mmESn':'utf-8'};try{return JSON['parse'](await _0x522554['iMedp'](readFile,TOKEN_CACHE_PATH,_0x522554['mmESn']));}catch{return null;}}async function parseResponse(_0xa9ded7){const _0x5ce14c=_0x18dc21,_0x3fa643={'qbnnP':_0x5ce14c(0x132),'PgjWX':'data:','xuhET':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x46e8ce=_0xa9ded7[_0x5ce14c(0x1a7)]['get'](_0x3fa643['qbnnP'])??'';if(_0x46e8ce['includes']('text/event-stream')){const _0x59e2a0=await _0xa9ded7['text']();for(const _0x2a6917 of _0x59e2a0['split']('\x0a')){const _0x14a727=_0x2a6917['trim']();if(_0x14a727['startsWith'](_0x3fa643['PgjWX'])){const _0x3641c7=_0x14a727[_0x5ce14c(0x174)](_0x3fa643[_0x5ce14c(0x117)]['length'])['trim']();if(!_0x3641c7)continue;try{const _0x541e7=JSON['parse'](_0x3641c7);if(_0x541e7['id']!==undefined||_0x541e7['error'])return _0x541e7;}catch{}}}throw new Error(_0x3fa643['xuhET']);}return _0xa9ded7['json']();}function extractToken(_0x4eb4a2){const _0x4805c2=_0x18dc21,_0x1028c2={'ObkiE':_0x4805c2(0x14b),'bYXNr':_0x4805c2(0x1a5),'tbEMF':function(_0x537ef8,_0x50f12f){return _0x537ef8===_0x50f12f;}};if(!_0x4eb4a2)return null;const _0x1933ce=_0x4eb4a2['structuredContent'];if(_0x1933ce?.['token']&&typeof _0x1933ce[_0x4805c2(0x137)]===_0x1028c2['ObkiE'])return _0x1933ce[_0x4805c2(0x137)];if(_0x4eb4a2[_0x4805c2(0x192)]){const _0x308048=_0x4eb4a2[_0x4805c2(0x15b)];throw new Error(_0x4805c2(0x19d)+(_0x308048?.[0x0]?.[_0x4805c2(0x148)]??_0x1028c2[_0x4805c2(0x199)]));}const _0x776056=_0x4eb4a2['content'];if(_0x776056)for(const _0x4cc26c of _0x776056){if(_0x1028c2['tbEMF'](_0x4cc26c['type'],_0x4805c2(0x148))&&_0x4cc26c['text']){try{const _0x40d3b3=JSON[_0x4805c2(0x189)](_0x4cc26c['text']);if(_0x1028c2['tbEMF'](typeof _0x40d3b3?.['token'],_0x4805c2(0x14b)))return _0x40d3b3['token'];}catch{}const _0x171ab3=_0x4cc26c[_0x4805c2(0x148)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x171ab3)return _0x171ab3[0x1];}}return null;}
@@ -0,0 +1 @@
1
+ (function(_0x130e38,_0x3f73d2){var _0x3053ac=_0x3011,_0x521875=_0x130e38();while(!![]){try{var _0x558030=-parseInt(_0x3053ac(0x1d6))/0x1+parseInt(_0x3053ac(0x1d0))/0x2*(parseInt(_0x3053ac(0x1db))/0x3)+-parseInt(_0x3053ac(0x1e5))/0x4+-parseInt(_0x3053ac(0x1dc))/0x5*(parseInt(_0x3053ac(0x1da))/0x6)+-parseInt(_0x3053ac(0x1e1))/0x7*(-parseInt(_0x3053ac(0x1e0))/0x8)+-parseInt(_0x3053ac(0x1e2))/0x9+-parseInt(_0x3053ac(0x1e3))/0xa*(-parseInt(_0x3053ac(0x1d2))/0xb);if(_0x558030===_0x3f73d2)break;else _0x521875['push'](_0x521875['shift']());}catch(_0x5dc43a){_0x521875['push'](_0x521875['shift']());}}}(_0x4a7f,0x54ee0));function _0x3011(_0x43e120,_0x5ea76d){_0x43e120=_0x43e120-0x1ce;var _0x4a7f25=_0x4a7f();var _0x3011d5=_0x4a7f25[_0x43e120];return _0x3011d5;}function _0x4a7f(){var _0x37559f=['\x20\x20ranger\x20profile\x20add\x20<name>\x0a','24XcLqIQ','uNzyV','638737nvfGti','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','IsNrP','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','305663heIoen','error','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','oBpuH','1150722PtsLjp','113214irupVv','10SVWNYA','YeYxd','flpmU','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','8rNIvqs','3206399SMpwSS','6185592OdySsl','250EgozZc','hbUSW','2552764Wsjnpw','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a'];_0x4a7f=function(){return _0x37559f;};return _0x4a7f();}export async function migrateProfile(_0x53481f,_0x1ac29d){var _0x3b3844=_0x3011,_0x3a797b={'hbUSW':function(_0x2f386d,_0x2967bb){return _0x2f386d+_0x2967bb;},'okiMM':function(_0xa61a11,_0x218b1c){return _0xa61a11+_0x218b1c;},'flpmU':_0x3b3844(0x1ce),'IsNrP':_0x3b3844(0x1d8),'YeYxd':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','uNzyV':_0x3b3844(0x1d5),'oBpuH':_0x3b3844(0x1df)};console[_0x3b3844(0x1d7)](_0x3a797b[_0x3b3844(0x1e4)](_0x3a797b['hbUSW'](_0x3a797b['hbUSW'](_0x3a797b['hbUSW'](_0x3a797b['okiMM'](_0x3a797b[_0x3b3844(0x1de)],'\x0a')+_0x3a797b[_0x3b3844(0x1d4)],_0x3b3844(0x1cf))+'\x0a',_0x3b3844(0x1d3)),_0x3a797b[_0x3b3844(0x1dd)])+'\x0a'+_0x3a797b[_0x3b3844(0x1d1)],_0x3a797b[_0x3b3844(0x1d9)])),process['exit'](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(_0x3e796a,_0x15db68){const _0x175d0c=_0xbd5d,_0x35f843=_0x3e796a();while(!![]){try{const _0x347f23=-parseInt(_0x175d0c(0x15c))/0x1*(-parseInt(_0x175d0c(0x146))/0x2)+parseInt(_0x175d0c(0x142))/0x3*(-parseInt(_0x175d0c(0x169))/0x4)+-parseInt(_0x175d0c(0x16c))/0x5*(-parseInt(_0x175d0c(0x13b))/0x6)+parseInt(_0x175d0c(0x172))/0x7+-parseInt(_0x175d0c(0x14a))/0x8*(parseInt(_0x175d0c(0x139))/0x9)+parseInt(_0x175d0c(0x16d))/0xa+parseInt(_0x175d0c(0x171))/0xb*(-parseInt(_0x175d0c(0x156))/0xc);if(_0x347f23===_0x15db68)break;else _0x35f843['push'](_0x35f843['shift']());}catch(_0x591417){_0x35f843['push'](_0x35f843['shift']());}}}(_0x4495,0xcf32a));import{join}from'path';import{existsSync}from'fs';import _0x2888d7 from'inquirer';import{skillup}from'../skillup.js';function _0x4495(){const _0x2556e8=['wantsSkillup','721272yvIuCV','--scope','list','ranger','Would\x20you\x20like\x20to\x20install\x20skills?','mdjZB','Project\x20(shared\x20with\x20team\x20via\x20git)','⚠\x20Failed\x20to\x20enable\x20plugin:','jlvMl','nlLHJ','pluginScope','❌\x20Failed\x20to\x20install\x20plugin:','1272Hfkzrn','LIZtL','ranger@trailhead','✓\x20Ranger\x20skills\x20already\x20installed','User\x20(available\x20in\x20all\x20your\x20projects)','DrTbo','1ZkMqZQ','error','prompt','UsDuk','project','ranger-testing/trailhead','Where\x20should\x20the\x20plugin\x20be\x20installed?','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','Vjxbe','\x0aYou\x20can\x20install\x20manually\x20with:','jVluO','wqJaw','lBjbV','4ibTRKZ','❌\x20Failed\x20to\x20add\x20marketplace:','\x20level)...\x0a','5WSdOKE','14080890FWxHMp','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','dXgBz','eckPv','115126fimRCy','3323880BFPnTe','DsmVU','OoeHd','72roGPVr','DJzLY','8144898mMlOUy','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','ohCNj','output','HlzXH','user','fkJbT','3333684NabODG','BxOxg','eaRRB','CsCyg','1100332JgZlCP','log','confirm'];_0x4495=function(){return _0x2556e8;};return _0x4495();}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0xbd5d(_0x31d6ca,_0x5482b5){_0x31d6ca=_0x31d6ca-0x139;const _0x449577=_0x4495();let _0xbd5d95=_0x449577[_0x31d6ca];return _0xbd5d95;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x205af0){const _0x1c8eab=_0xbd5d,_0x3f316a={'wqJaw':function(_0x1ca1c1,_0x87afae){return _0x1ca1c1(_0x87afae);},'fkJbT':_0x1c8eab(0x158),'DrTbo':_0x1c8eab(0x163),'Vjxbe':function(_0x44dbff,_0x820d8c,_0x28d089){return _0x44dbff(_0x820d8c,_0x28d089);},'eaRRB':function(_0x365792){return _0x365792();},'UsDuk':_0x1c8eab(0x14c),'ohCNj':_0x1c8eab(0x154),'JaFVz':_0x1c8eab(0x150),'LIZtL':'trailhead','wJdcU':'✓\x20Marketplace\x20already\x20added','dXgBz':'marketplace','RSerS':'add','nMScx':_0x1c8eab(0x16a),'mdjZB':'plugin','GxzvE':'install','jVluO':function(_0x910032,_0x5829ad){return _0x910032===_0x5829ad;},'BxOxg':'project','AJWCZ':function(_0x232e6d){return _0x232e6d();},'CsCyg':'\x0aYou\x20can\x20install\x20manually\x20with:','DJzLY':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','PwdKL':function(_0x5dd9f7,_0x143ccf){return _0x5dd9f7===_0x143ccf;},'DsmVU':'--scope','jlvMl':'already\x20enabled','mepKG':_0x1c8eab(0x151),'mfOXq':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x1d4824=await _0x3f316a[_0x1c8eab(0x167)](isPluginInstalled,_0x3f316a[_0x1c8eab(0x141)]);if(_0x1d4824)return console[_0x1c8eab(0x147)](_0x3f316a[_0x1c8eab(0x15b)]),![];const _0x1ed65d=existsSync(_0x3f316a['Vjxbe'](join,_0x3f316a[_0x1c8eab(0x144)](getProjectRoot),'.claude'));let _0x1f098f;if(_0x205af0)_0x1f098f=_0x205af0;else{if(_0x1ed65d)_0x1f098f=_0x1c8eab(0x160);else{console[_0x1c8eab(0x147)]('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x4bec36=await _0x2888d7['prompt']([{'type':_0x3f316a[_0x1c8eab(0x15f)],'name':_0x3f316a[_0x1c8eab(0x13d)],'message':_0x1c8eab(0x162),'choices':[{'name':_0x1c8eab(0x15a),'value':'user'},{'name':_0x3f316a['JaFVz'],'value':'project'}],'default':'user'}]);_0x1f098f=_0x4bec36['pluginScope'];}}console['log'](_0x1c8eab(0x16e)+_0x1f098f+_0x1c8eab(0x16b));const _0x4df72b=await _0x3f316a['wqJaw'](isMarketplaceAdded,_0x3f316a[_0x1c8eab(0x157)]);let _0x31161c=_0x4df72b;if(_0x4df72b)console['log'](_0x3f316a['wJdcU']);else{const _0x39022f=await runClaudeCommand(['plugin',_0x3f316a[_0x1c8eab(0x16f)],_0x3f316a['RSerS'],_0x1c8eab(0x161)]);!_0x39022f['success']?(console[_0x1c8eab(0x15d)](_0x3f316a['nMScx'],_0x39022f['error']),console['log'](_0x1c8eab(0x165)),console['log'](_0x1c8eab(0x13c)),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x1f098f)):_0x31161c=!![];}if(_0x31161c){const _0x529464=await runClaudeCommand([_0x3f316a[_0x1c8eab(0x14f)],_0x3f316a['GxzvE'],_0x3f316a[_0x1c8eab(0x141)],_0x1c8eab(0x14b),_0x1f098f],{'cwd':_0x3f316a[_0x1c8eab(0x166)](_0x1f098f,_0x3f316a['BxOxg'])?_0x3f316a['AJWCZ'](getProjectRoot):undefined});if(!_0x529464['success'])console[_0x1c8eab(0x15d)](_0x1c8eab(0x155),_0x529464['error']),console[_0x1c8eab(0x147)](_0x3f316a[_0x1c8eab(0x145)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x1f098f);else{console[_0x1c8eab(0x147)](_0x3f316a[_0x1c8eab(0x13a)]);const _0x11b481=['plugin','enable',_0x1c8eab(0x158)];_0x3f316a['PwdKL'](_0x1f098f,_0x3f316a[_0x1c8eab(0x143)])&&_0x11b481['push'](_0x3f316a[_0x1c8eab(0x173)],_0x1c8eab(0x160));const _0xd6daa0=await _0x3f316a[_0x1c8eab(0x164)](runClaudeCommand,_0x11b481,{'captureOutput':!![],'cwd':_0x1f098f===_0x3f316a[_0x1c8eab(0x143)]?getProjectRoot():undefined}),_0xa6d7a3=_0xd6daa0[_0x1c8eab(0x13e)]?.['includes'](_0x3f316a[_0x1c8eab(0x152)]);!_0xd6daa0['success']&&!_0xa6d7a3?console[_0x1c8eab(0x15d)](_0x3f316a['mepKG'],_0xd6daa0[_0x1c8eab(0x15d)]):console['log'](_0x3f316a['mfOXq']);}}return!![];}export async function ensureClaudeSkills(_0x598237){const _0x5d9ded=_0xbd5d,_0x2331cd={'eckPv':function(_0x2d91da,_0x115228){return _0x2d91da(_0x115228);},'skCsn':'SKILL.md','AeTLZ':function(_0x592d86,_0x21b6f6,_0xbca518,_0x414fcc){return _0x592d86(_0x21b6f6,_0xbca518,_0x414fcc);},'lBjbV':_0x5d9ded(0x160),'KfuAH':_0x5d9ded(0x159),'sExwp':function(_0x3ffd58,_0x599b95){return _0x3ffd58(_0x599b95);},'LWUBK':function(_0x23be7,_0x43813f,_0x2da9ba){return _0x23be7(_0x43813f,_0x2da9ba);},'HlzXH':'.claude','nlLHJ':_0x5d9ded(0x149),'OoeHd':_0x5d9ded(0x14e),'YOOSA':function(_0x17d2d1,_0x172b4c){return _0x17d2d1(_0x172b4c);}},_0x28915e=_0x2331cd[_0x5d9ded(0x170)](existsSync,join(_0x2331cd['eckPv'](getSkillsDir,_0x5d9ded(0x140)),'ranger',_0x2331cd['skCsn'])),_0x2620d9=_0x2331cd[_0x5d9ded(0x170)](existsSync,_0x2331cd['AeTLZ'](join,_0x2331cd[_0x5d9ded(0x170)](getSkillsDir,_0x2331cd[_0x5d9ded(0x168)]),_0x5d9ded(0x14d),_0x2331cd['skCsn']));if(_0x28915e||_0x2620d9)return console[_0x5d9ded(0x147)](_0x2331cd['KfuAH']),![];const _0x41d8de=_0x2331cd['sExwp'](existsSync,_0x2331cd['LWUBK'](join,getProjectRoot(),_0x2331cd[_0x5d9ded(0x13f)]));let _0x5b72ea=!![];if(_0x598237)await _0x2331cd['sExwp'](skillup,{'autoInstall':_0x598237,'suppressUsage':!![]});else{if(_0x41d8de)await skillup({'autoInstall':'project','suppressUsage':!![]});else{const _0x1329cb=await _0x2888d7[_0x5d9ded(0x15e)]([{'type':_0x5d9ded(0x148),'name':_0x2331cd[_0x5d9ded(0x153)],'message':_0x2331cd[_0x5d9ded(0x174)],'default':!![]}]);_0x5b72ea=_0x1329cb['wantsSkillup'],_0x5b72ea&&await _0x2331cd['YOOSA'](skillup,{'suppressUsage':!![]});}}return _0x5b72ea;}
@@ -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 _0x4d4d(){const _0x2acc94=['project','isArray','67350HSvwBZ','536tEXqjF','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','378RUYshX','https://opencode.ai/config.json','@ranger-testing/opencode-plugin','88681StpsCd','SdNdL','20882MlyUPO','user','iAUok','User\x20(available\x20in\x20all\x20your\x20projects)','Where\x20should\x20the\x20plugin\x20be\x20installed?','4270gMwUBq','13391UjmqWA','YMkAS','PTEDb','1684aPOCDG','CEzWC','998973jgUgSD','TzKxM','108090HluiFs','plugin','MAqnk','includes','Failed\x20to\x20read\x20opencode.json','error','✓\x20OpenCode\x20plugin\x20configured','stringify','$schema','log'];_0x4d4d=function(){return _0x2acc94;};return _0x4d4d();}(function(_0xea2c50,_0x1cf6f0){const _0x7d409a=_0x75d8,_0x5f0b4c=_0xea2c50();while(!![]){try{const _0x2dad61=parseInt(_0x7d409a(0xc3))/0x1+-parseInt(_0x7d409a(0xc5))/0x2+parseInt(_0x7d409a(0xd0))/0x3+-parseInt(_0x7d409a(0xce))/0x4*(-parseInt(_0x7d409a(0xca))/0x5)+parseInt(_0x7d409a(0xbd))/0x6+parseInt(_0x7d409a(0xcb))/0x7*(-parseInt(_0x7d409a(0xbe))/0x8)+-parseInt(_0x7d409a(0xc0))/0x9*(parseInt(_0x7d409a(0xd2))/0xa);if(_0x2dad61===_0x1cf6f0)break;else _0x5f0b4c['push'](_0x5f0b4c['shift']());}catch(_0x1bd9d1){_0x5f0b4c['push'](_0x5f0b4c['shift']());}}}(_0x4d4d,0x30ca1));function _0x75d8(_0x11a1ea,_0x5abfaa){_0x11a1ea=_0x11a1ea-0xbc;const _0x4d4dd3=_0x4d4d();let _0x75d881=_0x4d4dd3[_0x11a1ea];return _0x75d881;}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x16f2b2 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x1a4b9b){const _0x375834=_0x75d8,_0x3cbf4d={'PTEDb':function(_0x1c48c5,_0x4fe4bd,_0x28b7ec){return _0x1c48c5(_0x4fe4bd,_0x28b7ec);},'sWGKW':function(_0xa196cc,_0xe2d3e6){return _0xa196cc(_0xe2d3e6);},'YMkAS':_0x375834(0xdc),'MAqnk':_0x375834(0xc2),'CEzWC':function(_0x4845ce,_0x5bcf62){return _0x4845ce(_0x5bcf62);},'iAUok':_0x375834(0xbf),'ycDVW':_0x375834(0xd6),'nwpHE':'✓\x20OpenCode\x20plugin\x20already\x20configured','SdNdL':function(_0x5dbb92,_0xe26008,_0x45ff75){return _0x5dbb92(_0xe26008,_0x45ff75);},'TzKxM':_0x375834(0xd8)},_0x444fe3=existsSync(_0x3cbf4d[_0x375834(0xcd)](join,_0x3cbf4d['sWGKW'](getOpencodeConfigDir,_0x3cbf4d[_0x375834(0xcc)]),'opencode.json'));let _0x110649;if(_0x1a4b9b)_0x110649=_0x1a4b9b;else{if(_0x444fe3)_0x110649=_0x3cbf4d['YMkAS'];else{console['log']('\x0a📦\x20OpenCode\x20Plugin\x0a');const _0x2061f5=await _0x16f2b2['prompt']([{'type':'list','name':'pluginScope','message':_0x375834(0xc9),'choices':[{'name':_0x375834(0xc8),'value':_0x375834(0xc6)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x3cbf4d['YMkAS']}],'default':'user'}]);_0x110649=_0x2061f5['pluginScope'];}}const _0x3ced55=_0x3cbf4d[_0x375834(0xcd)](join,getOpencodeConfigDir(_0x110649),'opencode.json'),_0x45cddc=_0x3cbf4d[_0x375834(0xd4)],_0x1b6506=_0x375834(0xc1);let _0x2e65c3={};if(_0x3cbf4d[_0x375834(0xcf)](existsSync,_0x3ced55))try{const _0x22d5be=await readFile(_0x3ced55,'utf-8');_0x2e65c3=JSON['parse'](_0x22d5be);}catch(_0x7e2ad9){return console[_0x375834(0xd7)](_0x3cbf4d[_0x375834(0xc7)]),{'configured':![],'scope':_0x110649,'error':_0x3cbf4d['ycDVW'],'details':_0x7e2ad9};}const _0x5ab4d4=Array[_0x375834(0xbc)](_0x2e65c3['plugin'])?_0x2e65c3[_0x375834(0xd3)]:[];if(_0x5ab4d4[_0x375834(0xd5)](_0x45cddc))return console[_0x375834(0xdb)](_0x3cbf4d['nwpHE']),{'configured':![],'scope':_0x110649};return _0x2e65c3['$schema']=_0x2e65c3[_0x375834(0xda)]||_0x1b6506,_0x2e65c3[_0x375834(0xd3)]=[..._0x5ab4d4,_0x45cddc],await _0x3cbf4d[_0x375834(0xc4)](mkdir,_0x3cbf4d[_0x375834(0xcf)](getOpencodeConfigDir,_0x110649),{'recursive':!![]}),await _0x3cbf4d[_0x375834(0xcd)](writeFile,_0x3ced55,JSON[_0x375834(0xd9)](_0x2e65c3,null,0x2)+'\x0a'),console[_0x375834(0xdb)](_0x3cbf4d[_0x375834(0xd1)]),{'configured':!![],'scope':_0x110649};}