@ranger-testing/ranger-cli 2.5.4 → 3.0.1-alpha.55b593b-29

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 (85) 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/deleteProfile.js +1 -0
  8. package/build/commands/env.js +1 -1
  9. package/build/commands/feature.js +1 -1
  10. package/build/commands/hook.js +1 -1
  11. package/build/commands/hooks/autoPrompt.js +1 -1
  12. package/build/commands/hooks/disable.js +1 -1
  13. package/build/commands/hooks/enable.js +1 -1
  14. package/build/commands/hooks/exitPlanMode.js +1 -1
  15. package/build/commands/hooks/index.js +1 -1
  16. package/build/commands/hooks/output.js +1 -1
  17. package/build/commands/hooks/planReminder.js +1 -1
  18. package/build/commands/hooks/planStart.js +1 -1
  19. package/build/commands/hooks/postEdit.js +1 -1
  20. package/build/commands/hooks/preCompact.js +1 -1
  21. package/build/commands/hooks/sessionEnd.js +1 -1
  22. package/build/commands/hooks/sessionStart.js +1 -1
  23. package/build/commands/hooks/stopHook.js +1 -1
  24. package/build/commands/index.js +1 -1
  25. package/build/commands/login.js +1 -1
  26. package/build/commands/mcpBootstrap.js +1 -1
  27. package/build/commands/migrateProfile.js +1 -0
  28. package/build/commands/setup/claude.js +1 -1
  29. package/build/commands/setup/opencode.js +1 -1
  30. package/build/commands/setupCi.js +1 -1
  31. package/build/commands/skillup.js +1 -1
  32. package/build/commands/start.js +1 -1
  33. package/build/commands/status.js +1 -1
  34. package/build/commands/update.js +1 -1
  35. package/build/commands/updateEnv.js +1 -1
  36. package/build/commands/useEnv.js +1 -1
  37. package/build/commands/utils/activeProfile.js +1 -1
  38. package/build/commands/utils/agentEnv.js +1 -1
  39. package/build/commands/utils/browserSessionsApi.js +1 -1
  40. package/build/commands/utils/claudeConfig.js +1 -1
  41. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  42. package/build/commands/utils/claudePlugin.js +1 -1
  43. package/build/commands/utils/cloudProfile.js +1 -0
  44. package/build/commands/utils/cloudProfileSession.js +1 -0
  45. package/build/commands/utils/crypto.js +1 -1
  46. package/build/commands/utils/desirePathLog.js +1 -1
  47. package/build/commands/utils/deviceAuth.js +1 -1
  48. package/build/commands/utils/environment.js +1 -1
  49. package/build/commands/utils/featureApi.js +1 -1
  50. package/build/commands/utils/fixWebmDuration.js +1 -1
  51. package/build/commands/utils/gitTracked.js +1 -0
  52. package/build/commands/utils/keychain.js +1 -1
  53. package/build/commands/utils/legacyWarning.js +1 -0
  54. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  55. package/build/commands/utils/matchAuthEnvironment.js +1 -0
  56. package/build/commands/utils/mcpImageBase64.js +1 -1
  57. package/build/commands/utils/model.js +1 -1
  58. package/build/commands/utils/novaActCli.js +1 -0
  59. package/build/commands/utils/opencodeConfig.js +1 -1
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -0
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/resolveProfileContext.js +1 -0
  67. package/build/commands/utils/resolveProfileUrl.js +1 -0
  68. package/build/commands/utils/retry.js +1 -1
  69. package/build/commands/utils/sessionCache.js +1 -1
  70. package/build/commands/utils/settings.js +1 -1
  71. package/build/commands/utils/skillContent.js +1 -1
  72. package/build/commands/utils/skills.js +1 -1
  73. package/build/commands/utils/stitchWebmFiles.js +1 -1
  74. package/build/commands/utils/telemetry.js +1 -1
  75. package/build/commands/utils/tokenRefresh.js +1 -1
  76. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  77. package/build/commands/utils/userApi.js +1 -1
  78. package/build/commands/utils/version.js +1 -1
  79. package/build/commands/verifyFeature.js +1 -1
  80. package/build/commands/verifyFeatureCli.js +1 -1
  81. package/build/commands/verifyFeatureNovaCli.js +1 -0
  82. package/build/skills/ranger/SKILL.md +36 -6
  83. package/build/skills/ranger/create.md +19 -0
  84. package/build/skills/ranger/verify.md +46 -7
  85. package/package.json +8 -3
@@ -1 +1 @@
1
- function _0x3b2b(_0x16647b,_0x3d8b64){_0x16647b=_0x16647b-0x188;const _0x34462e=_0x3446();let _0x3b2b90=_0x34462e[_0x16647b];return _0x3b2b90;}(function(_0x396140,_0x1c9d30){const _0x27f691=_0x3b2b,_0x262518=_0x396140();while(!![]){try{const _0x158799=parseInt(_0x27f691(0x195))/0x1+parseInt(_0x27f691(0x198))/0x2*(parseInt(_0x27f691(0x193))/0x3)+-parseInt(_0x27f691(0x19a))/0x4*(parseInt(_0x27f691(0x194))/0x5)+-parseInt(_0x27f691(0x199))/0x6+-parseInt(_0x27f691(0x197))/0x7+-parseInt(_0x27f691(0x189))/0x8*(-parseInt(_0x27f691(0x191))/0x9)+parseInt(_0x27f691(0x18b))/0xa;if(_0x158799===_0x1c9d30)break;else _0x262518['push'](_0x262518['shift']());}catch(_0x2c8b2e){_0x262518['push'](_0x262518['shift']());}}}(_0x3446,0x6e60b));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0x3446(){const _0x1fb1d1=['998417KQLowE','18Itdpdr','5161680eMgiYQ','40vixXzV','once','8BjAdYG','exit','4678590XWeFVc','keys','join','SIGINT','SIGHUP','error','6534963PLGAzi','SmiBt','103419LjxXWi','164870iJcXKK','280535lJsZEu','Valid\x20hooks:\x20'];_0x3446=function(){return _0x1fb1d1;};return _0x3446();}let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x530e02=_0x3b2b,_0x57a43d={'Wymus':_0x530e02(0x18f)};if(cancellationHandlersInstalled)return;const _0xd62a=()=>{const _0x20446f=_0x530e02;process[_0x20446f(0x18a)](0x0);};process['once'](_0x530e02(0x18e),_0xd62a),process[_0x530e02(0x188)]('SIGTERM',_0xd62a),process[_0x530e02(0x188)](_0x57a43d['Wymus'],_0xd62a),cancellationHandlersInstalled=!![];}export async function hook(_0x34571d,_0xc544d2){const _0x25836e=_0x3b2b,_0x55e9f7={'SmiBt':function(_0x2905e1,_0x37810a){return _0x2905e1(_0x37810a);}};installCancellationHandlers();const _0x5f3a26=HOOKS[_0x34571d];if(!_0x5f3a26){const _0x40a01c=Object[_0x25836e(0x18c)](HOOKS)[_0x25836e(0x18d)](',\x20');console[_0x25836e(0x190)]('Unknown\x20hook:\x20'+_0x34571d),console[_0x25836e(0x190)](_0x25836e(0x196)+_0x40a01c),process[_0x25836e(0x18a)](0x1);}await _0x55e9f7[_0x25836e(0x192)](_0x5f3a26,_0xc544d2);}
1
+ function _0x92f8(_0x137f35,_0x4e8abe){_0x137f35=_0x137f35-0xa3;const _0x3d029e=_0x3d02();let _0x92f822=_0x3d029e[_0x137f35];return _0x92f822;}(function(_0x514e7b,_0xad8746){const _0x3f7b4e=_0x92f8,_0x5cf31f=_0x514e7b();while(!![]){try{const _0x4c393c=parseInt(_0x3f7b4e(0xa8))/0x1+-parseInt(_0x3f7b4e(0xaa))/0x2*(-parseInt(_0x3f7b4e(0xa9))/0x3)+parseInt(_0x3f7b4e(0xa4))/0x4+parseInt(_0x3f7b4e(0xa5))/0x5+-parseInt(_0x3f7b4e(0xae))/0x6+-parseInt(_0x3f7b4e(0xa3))/0x7+-parseInt(_0x3f7b4e(0xac))/0x8;if(_0x4c393c===_0xad8746)break;else _0x5cf31f['push'](_0x5cf31f['shift']());}catch(_0x40cab1){_0x5cf31f['push'](_0x5cf31f['shift']());}}}(_0x3d02,0xb6177));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function _0x3d02(){const _0x35f1f1=['keys','3235512qJsWqd','exit','7757250eCeZeE','once','3976084yWagWV','3782336QiRXzK','1610940IyGDwN','Unknown\x20hook:\x20','vezCH','317327enEdtB','45513tUFuZD','188wvXtfs'];_0x3d02=function(){return _0x35f1f1;};return _0x3d02();}function installCancellationHandlers(){const _0xbacc9f=_0x92f8,_0x50cbcf={'vezCH':'SIGTERM'};if(cancellationHandlersInstalled)return;const _0x5aa3f0=()=>{process['exit'](0x0);};process['once']('SIGINT',_0x5aa3f0),process['once'](_0x50cbcf[_0xbacc9f(0xa7)],_0x5aa3f0),process[_0xbacc9f(0xaf)]('SIGHUP',_0x5aa3f0),cancellationHandlersInstalled=!![];}export async function hook(_0x530f02,_0x1640c0){const _0x3ad3ac=_0x92f8;installCancellationHandlers();const _0x27efad=HOOKS[_0x530f02];if(!_0x27efad){const _0x42ffb5=Object[_0x3ad3ac(0xab)](HOOKS)['join'](',\x20');console['error'](_0x3ad3ac(0xa6)+_0x530f02),console['error']('Valid\x20hooks:\x20'+_0x42ffb5),process[_0x3ad3ac(0xad)](0x1);}await _0x27efad(_0x1640c0);}
@@ -1 +1 @@
1
- const _0xff0c7b=_0x5f08;(function(_0x236798,_0x6eaf49){const _0x1c5336=_0x5f08,_0x7e6ba3=_0x236798();while(!![]){try{const _0x5771ea=parseInt(_0x1c5336(0x1b8))/0x1+-parseInt(_0x1c5336(0x1b6))/0x2+parseInt(_0x1c5336(0x1b2))/0x3+parseInt(_0x1c5336(0x1b4))/0x4+parseInt(_0x1c5336(0x1b5))/0x5+-parseInt(_0x1c5336(0x1b0))/0x6+-parseInt(_0x1c5336(0x1b7))/0x7;if(_0x5771ea===_0x6eaf49)break;else _0x7e6ba3['push'](_0x7e6ba3['shift']());}catch(_0x438b16){_0x7e6ba3['push'](_0x7e6ba3['shift']());}}}(_0x5654,0x1c902));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';function _0x5654(){const _0x4e9abf=['2461186nINiJs','210504hFwqaO','161910XwlGRZ','log','1608CRoxlp','\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.','746096wZatqq','1094600CblDUt','241814EPmiWU'];_0x5654=function(){return _0x4e9abf;};return _0x5654();}const AUTO_PROMPT_TEXT=_0xff0c7b(0x1b3);function _0x5f08(_0x49899d,_0x3ec748){_0x49899d=_0x49899d-0x1b0;const _0x5654a8=_0x5654();let _0x5f08fc=_0x5654a8[_0x49899d];return _0x5f08fc;}export async function autoPrompt(){const _0x58f81a=_0xff0c7b,_0x18925f=await readHookInput(),_0xbe9194=_0x18925f?.['session_id'];if(!_0xbe9194)return;if(isSessionEnabled(_0xbe9194)||hasSessionBeenPrompted(_0xbe9194))return;markSessionPrompted(_0xbe9194),console[_0x58f81a(0x1b1)](AUTO_PROMPT_TEXT);}
1
+ (function(_0x40a202,_0x5ec474){const _0x46bfb3=_0x519d,_0x2e7a7d=_0x40a202();while(!![]){try{const _0x46a790=parseInt(_0x46bfb3(0x1b6))/0x1*(parseInt(_0x46bfb3(0x1be))/0x2)+-parseInt(_0x46bfb3(0x1bc))/0x3*(-parseInt(_0x46bfb3(0x1ba))/0x4)+parseInt(_0x46bfb3(0x1b9))/0x5+parseInt(_0x46bfb3(0x1bd))/0x6+parseInt(_0x46bfb3(0x1b7))/0x7*(parseInt(_0x46bfb3(0x1bb))/0x8)+parseInt(_0x46bfb3(0x1bf))/0x9+-parseInt(_0x46bfb3(0x1b8))/0xa;if(_0x46a790===_0x5ec474)break;else _0x2e7a7d['push'](_0x2e7a7d['shift']());}catch(_0x550c42){_0x2e7a7d['push'](_0x2e7a7d['shift']());}}}(_0x524d,0xc05c7));import{readHookInput}from'./output.js';function _0x524d(){const _0x2c586b=['session_id','6931aNOCng','401842AkAPNz','38303540aSxKhU','1570170PTGacd','236ibmowj','56OcjDBb','66591pQUuvG','5597868MuCwEg','434KwzoBz','1401849yFIZuE'];_0x524d=function(){return _0x2c586b;};return _0x524d();}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';function _0x519d(_0x36d23c,_0x47154c){_0x36d23c=_0x36d23c-0x1b5;const _0x524da4=_0x524d();let _0x519d20=_0x524da4[_0x36d23c];return _0x519d20;}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.';export async function autoPrompt(){const _0x15a765=_0x519d,_0x3c525a={'SItkR':function(_0x14db7b){return _0x14db7b();}},_0x29ccb0=await _0x3c525a['SItkR'](readHookInput),_0x5c7ac9=_0x29ccb0?.[_0x15a765(0x1b5)];if(!_0x5c7ac9)return;if(isSessionEnabled(_0x5c7ac9)||hasSessionBeenPrompted(_0x5c7ac9))return;markSessionPrompted(_0x5c7ac9),console['log'](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- (function(_0x588cbe,_0x57f191){const _0x4a9e73=_0x5a5c,_0x3e0dbc=_0x588cbe();while(!![]){try{const _0x227f77=parseInt(_0x4a9e73(0xfa))/0x1*(-parseInt(_0x4a9e73(0xf9))/0x2)+parseInt(_0x4a9e73(0x101))/0x3+parseInt(_0x4a9e73(0xfd))/0x4*(parseInt(_0x4a9e73(0xf7))/0x5)+-parseInt(_0x4a9e73(0x100))/0x6+-parseInt(_0x4a9e73(0xf5))/0x7+parseInt(_0x4a9e73(0xf6))/0x8*(-parseInt(_0x4a9e73(0xf4))/0x9)+parseInt(_0x4a9e73(0xff))/0xa*(parseInt(_0x4a9e73(0x106))/0xb);if(_0x227f77===_0x57f191)break;else _0x3e0dbc['push'](_0x3e0dbc['shift']());}catch(_0x25765d){_0x3e0dbc['push'](_0x3e0dbc['shift']());}}}(_0x4ded,0xb7371));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x1e9be8){const _0x153505=_0x5a5c,_0x419525={'fvdhZ':function(_0x43bf2d){return _0x43bf2d();},'jNZtY':function(_0x5721ab,_0x2e09a7){return _0x5721ab!==_0x2e09a7;},'NDvkX':'main','iUmeF':'master','qBfjR':function(_0x41b1a5,_0x5cb5ac){return _0x41b1a5(_0x5cb5ac);}},_0x17d182=_0x1e9be8||process[_0x153505(0xfb)][_0x153505(0xfe)]||'';_0x17d182&&disableSession(_0x17d182);const _0x3b6a94=_0x419525['fvdhZ'](getCurrentBranch);_0x3b6a94&&_0x419525['jNZtY'](_0x3b6a94,_0x419525['NDvkX'])&&_0x3b6a94!==_0x419525[_0x153505(0x105)]&&disableBranch(_0x3b6a94),_0x419525[_0x153505(0xf8)](printBlock,_0x153505(0x104)+(_0x3b6a94&&_0x419525['jNZtY'](_0x3b6a94,'main')&&_0x419525[_0x153505(0x103)](_0x3b6a94,_0x153505(0x102))?'\x20and\x20branch\x20\x27'+_0x3b6a94+'\x27':'')+_0x153505(0xfc));}function _0x5a5c(_0x3c3baf,_0x4285b0){_0x3c3baf=_0x3c3baf-0xf4;const _0x4deded=_0x4ded();let _0x5a5cdc=_0x4deded[_0x3c3baf];return _0x5a5cdc;}function _0x4ded(){const _0x129506=['1136fiIJch','5HesfSs','qBfjR','55392NcQITS','33FluHBG','env','.\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`.','1172872MmHJze','CLAUDE_SESSION_ID','85970nKyoGZ','4941948qRIadW','2095578DSBzXU','master','jNZtY','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','iUmeF','5159lZVZas','66105jWHCwA','10448704scWwNM'];_0x4ded=function(){return _0x129506;};return _0x4ded();}
1
+ function _0x5193(){const _0x6440e5=['45mMKKpI','545715mUCxrX','11FXDzLc','500WIBRrV','mBziQ','11231382EVYqXs','UvxCT','318678IBSqjv','puMWM','master','4193ZgUGdx','2257134kojyEh','5435eTwNPf','6104DjFpne','539130oRYAko','\x20and\x20branch\x20\x27'];_0x5193=function(){return _0x6440e5;};return _0x5193();}(function(_0x1e46a2,_0x24dcba){const _0x4b6d3a=_0x5867,_0x4f6e24=_0x1e46a2();while(!![]){try{const _0x24cf96=-parseInt(_0x4b6d3a(0x158))/0x1*(parseInt(_0x4b6d3a(0x14d))/0x2)+parseInt(_0x4b6d3a(0x157))/0x3+-parseInt(_0x4b6d3a(0x159))/0x4*(-parseInt(_0x4b6d3a(0x152))/0x5)+parseInt(_0x4b6d3a(0x14b))/0x6+parseInt(_0x4b6d3a(0x150))/0x7*(parseInt(_0x4b6d3a(0x153))/0x8)+-parseInt(_0x4b6d3a(0x156))/0x9*(-parseInt(_0x4b6d3a(0x154))/0xa)+-parseInt(_0x4b6d3a(0x151))/0xb;if(_0x24cf96===_0x24dcba)break;else _0x4f6e24['push'](_0x4f6e24['shift']());}catch(_0x3d8a00){_0x4f6e24['push'](_0x4f6e24['shift']());}}}(_0x5193,0xe9f94));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x5867(_0x25d3a,_0x1976e0){_0x25d3a=_0x25d3a-0x14b;const _0x519391=_0x5193();let _0x5867d5=_0x519391[_0x25d3a];return _0x5867d5;}export async function disable(_0x3462aa){const _0x3f7c94=_0x5867,_0x348e72={'mBziQ':function(_0x3424a7){return _0x3424a7();},'puMWM':function(_0x36367e,_0x4ff70d){return _0x36367e!==_0x4ff70d;},'EFGiU':function(_0x461f2f,_0x168c0a){return _0x461f2f(_0x168c0a);},'UvxCT':function(_0x3cd359,_0x185c3b){return _0x3cd359!==_0x185c3b;},'MDvfT':'main'},_0x835086=_0x3462aa||process['env']['CLAUDE_SESSION_ID']||'';_0x835086&&disableSession(_0x835086);const _0x2455d4=_0x348e72[_0x3f7c94(0x15a)](getCurrentBranch);_0x2455d4&&_0x348e72[_0x3f7c94(0x14e)](_0x2455d4,'main')&&_0x2455d4!==_0x3f7c94(0x14f)&&disableBranch(_0x2455d4),_0x348e72['EFGiU'](printBlock,'#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x2455d4&&_0x348e72['UvxCT'](_0x2455d4,_0x348e72['MDvfT'])&&_0x348e72[_0x3f7c94(0x14c)](_0x2455d4,'master')?_0x3f7c94(0x155)+_0x2455d4+'\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 +1 @@
1
- (function(_0x114f07,_0x26e188){const _0x101220=_0x3bd9,_0x17a070=_0x114f07();while(!![]){try{const _0x3ed594=-parseInt(_0x101220(0xe0))/0x1+-parseInt(_0x101220(0xea))/0x2+parseInt(_0x101220(0xeb))/0x3+parseInt(_0x101220(0xf0))/0x4+parseInt(_0x101220(0xec))/0x5*(-parseInt(_0x101220(0xee))/0x6)+-parseInt(_0x101220(0xe4))/0x7+-parseInt(_0x101220(0xef))/0x8*(-parseInt(_0x101220(0xdf))/0x9);if(_0x3ed594===_0x26e188)break;else _0x17a070['push'](_0x17a070['shift']());}catch(_0x29a728){_0x17a070['push'](_0x17a070['shift']());}}}(_0x3a4e,0x9a645));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x3a4e(){const _0x3f305f=['26063928QipppW','1223933WVvXEx','TNqSo','GDwGY','main','8379042rDGsiF','qXVdc','env','ranger\x20setup\x20--opencode','\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`.','#\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`','2340414CVLyMN','3051465jyQwMv','5410hPNcyW','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','4668EHRoKI','8PviHty','4608736vltghK','ranger\x20setup','WgYww','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'];_0x3a4e=function(){return _0x3f305f;};return _0x3a4e();}function _0x3bd9(_0xe1ebfa,_0x37510c){_0xe1ebfa=_0xe1ebfa-0xdf;const _0x3a4e59=_0x3a4e();let _0x3bd9c5=_0x3a4e59[_0xe1ebfa];return _0x3bd9c5;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0xc1f494){const _0x28b67c=_0x3bd9,_0x139b81={'qXVdc':function(_0x43e582,_0x28228e){return _0x43e582(_0x28228e);},'GDwGY':function(_0x3ed8d4){return _0x3ed8d4();},'IAokQ':_0x28b67c(0xe7),'ShPmd':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','TNqSo':function(_0x533b71,_0x43d070){return _0x533b71(_0x43d070);},'WgYww':function(_0x4cb2d6){return _0x4cb2d6();},'PCaQS':function(_0x2181e7,_0x5bc2fc){return _0x2181e7(_0x5bc2fc);}},_0x2de17a=_0xc1f494||process[_0x28b67c(0xe6)]['CLAUDE_SESSION_ID']||'',_0x4a46eb=_0x139b81[_0x28b67c(0xe5)](Boolean,_0xc1f494),_0x29c5b3=await _0x139b81[_0x28b67c(0xe2)](getToken);if(!_0x29c5b3){const _0x3c9e83=_0x4a46eb?_0x139b81['IAokQ']:_0x28b67c(0xf1),_0xeee91c=_0x4a46eb?_0x139b81['ShPmd']:_0x28b67c(0xed);_0x139b81[_0x28b67c(0xe5)](printBlock,_0x28b67c(0xe9)+_0x3c9e83+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0xeee91c);return;}try{await _0x139b81[_0x28b67c(0xe2)](update);}catch{}_0x2de17a&&_0x139b81[_0x28b67c(0xe1)](enableSession,_0x2de17a);const _0x308612=getCurrentBranch(),_0x48add5=_0x308612&&_0x308612!==_0x28b67c(0xe3)&&_0x308612!=='master'?'\x0a\x0a**Branch\x20\x27'+_0x308612+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x2c6736=_0x139b81[_0x28b67c(0xf2)](getRangerSkillContent);_0x139b81['PCaQS'](printBlock,'#\x20RANGER\x20ENABLED'+_0x48add5+_0x28b67c(0xf3)+_0x2c6736+_0x28b67c(0xe8));}
1
+ (function(_0x3aa76b,_0x198ec6){const _0x18b61d=_0x316e,_0x467936=_0x3aa76b();while(!![]){try{const _0xe1cf3f=-parseInt(_0x18b61d(0xf5))/0x1*(parseInt(_0x18b61d(0xed))/0x2)+-parseInt(_0x18b61d(0xe6))/0x3*(parseInt(_0x18b61d(0xe8))/0x4)+parseInt(_0x18b61d(0xef))/0x5+-parseInt(_0x18b61d(0xec))/0x6+parseInt(_0x18b61d(0xf3))/0x7*(-parseInt(_0x18b61d(0xf1))/0x8)+-parseInt(_0x18b61d(0xee))/0x9+parseInt(_0x18b61d(0xea))/0xa*(parseInt(_0x18b61d(0xe4))/0xb);if(_0xe1cf3f===_0x198ec6)break;else _0x467936['push'](_0x467936['shift']());}catch(_0x4fbe3f){_0x467936['push'](_0x467936['shift']());}}}(_0x83b5,0x35fd2));function _0x316e(_0x3f0f01,_0x1bfaeb){_0x3f0f01=_0x3f0f01-0xe2;const _0x83b5e=_0x83b5();let _0x316ed4=_0x83b5e[_0x3f0f01];return _0x316ed4;}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x83b5(){const _0x4ad0e6=['`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','fgsvM','3649558ELMBGh','#\x20RANGER\x20ENABLED','800070TPmgKd','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','4RwTvSa','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','40lcfAQx','ranger\x20setup','2400924JgQdHt','11938fcGRlf','3421341jMKtfg','489835EHeazz','iijEb','8dPgSgZ','GRAvg','262976gSSijC','fulvn','20QEWgec','master'];_0x83b5=function(){return _0x4ad0e6;};return _0x83b5();}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x4e9e99){const _0x2df118=_0x316e,_0x3e41a0={'kiEnA':function(_0x47ae51,_0x52ee8f){return _0x47ae51(_0x52ee8f);},'YtsyF':'ranger\x20setup\x20--opencode','GRAvg':_0x2df118(0xeb),'fgsvM':_0x2df118(0xe7),'ZVXJN':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','fulvn':function(_0x1b09a3){return _0x1b09a3();},'bQyWH':'main','UiScm':function(_0x4aeaef,_0x4e615e){return _0x4aeaef!==_0x4e615e;},'iijEb':_0x2df118(0xf6),'fHoSH':function(_0x5e264a,_0x39680e){return _0x5e264a(_0x39680e);}},_0x5e3ddb=_0x4e9e99||process['env']['CLAUDE_SESSION_ID']||'',_0x514d8f=_0x3e41a0['kiEnA'](Boolean,_0x4e9e99),_0x5ab937=await getToken();if(!_0x5ab937){const _0xe42b2a=_0x514d8f?_0x3e41a0['YtsyF']:_0x3e41a0[_0x2df118(0xf2)],_0xaf93e6=_0x514d8f?_0x3e41a0[_0x2df118(0xe3)]:_0x3e41a0['ZVXJN'];printBlock('#\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`'+_0xe42b2a+_0x2df118(0xe2)+_0xaf93e6);return;}try{await _0x3e41a0[_0x2df118(0xf4)](update);}catch{}_0x5e3ddb&&enableSession(_0x5e3ddb);const _0x54157e=_0x3e41a0['fulvn'](getCurrentBranch),_0x106154=_0x54157e&&_0x54157e!==_0x3e41a0['bQyWH']&&_0x3e41a0['UiScm'](_0x54157e,_0x3e41a0[_0x2df118(0xf0)])?'\x0a\x0a**Branch\x20\x27'+_0x54157e+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x368941=getRangerSkillContent();_0x3e41a0['fHoSH'](printBlock,_0x2df118(0xe5)+_0x106154+_0x2df118(0xe9)+_0x368941+'\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`.');}
@@ -1 +1 @@
1
- (function(_0x297869,_0x46a69d){const _0x1a53c6=_0x4b74,_0x4d776e=_0x297869();while(!![]){try{const _0x227a1c=-parseInt(_0x1a53c6(0x167))/0x1*(-parseInt(_0x1a53c6(0x16a))/0x2)+parseInt(_0x1a53c6(0x168))/0x3+parseInt(_0x1a53c6(0x165))/0x4+parseInt(_0x1a53c6(0x164))/0x5*(-parseInt(_0x1a53c6(0x16b))/0x6)+-parseInt(_0x1a53c6(0x16d))/0x7+-parseInt(_0x1a53c6(0x166))/0x8+parseInt(_0x1a53c6(0x16c))/0x9;if(_0x227a1c===_0x46a69d)break;else _0x4d776e['push'](_0x4d776e['shift']());}catch(_0x38cc2b){_0x4d776e['push'](_0x4d776e['shift']());}}}(_0x1761,0x4f561));import{printBlock,getEnabledSessionId}from'./output.js';function _0x4b74(_0x1e50dc,_0x4817bf){_0x1e50dc=_0x1e50dc-0x164;const _0x176116=_0x1761();let _0x4b749f=_0x176116[_0x1e50dc];return _0x4b749f;}export async function exitPlanMode(_0x95a82e){const _0x57bc5f=_0x4b74,_0x20bdfe={'ZUFLu':function(_0x8b1f6a,_0x4da5b3){return _0x8b1f6a(_0x4da5b3);}},_0x18e942=await _0x20bdfe[_0x57bc5f(0x169)](getEnabledSessionId,_0x95a82e);if(!_0x18e942)return;_0x20bdfe['ZUFLu'](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===');}function _0x1761(){const _0x420f2e=['1380844mTZosT','517632vbKVnM','77692JOdiFx','110130FUFznm','ZUFLu','10okSPEB','1434Kgosiz','5433687XaCXye','3234035kNpMPj','10930qZUGDc'];_0x1761=function(){return _0x420f2e;};return _0x1761();}
1
+ function _0x1a0f(){const _0x34fd3b=['1098645yovvhZ','18KRPAbW','5491046ZbGgvF','719181wUmZIK','4yYzYMv','34166zodgwg','7990896QNBzNN','7GboRLq','wRTsU','933426fpeHFB','60DZngLN','4335546jnltFV'];_0x1a0f=function(){return _0x34fd3b;};return _0x1a0f();}function _0x3d8f(_0x430705,_0x509baa){_0x430705=_0x430705-0x138;const _0x1a0f45=_0x1a0f();let _0x3d8f2c=_0x1a0f45[_0x430705];return _0x3d8f2c;}(function(_0x403527,_0x4ec6ad){const _0x21a2d0=_0x3d8f,_0x571aaf=_0x403527();while(!![]){try{const _0x77f939=parseInt(_0x21a2d0(0x13a))/0x1*(parseInt(_0x21a2d0(0x142))/0x2)+-parseInt(_0x21a2d0(0x13e))/0x3+-parseInt(_0x21a2d0(0x139))/0x4*(parseInt(_0x21a2d0(0x141))/0x5)+parseInt(_0x21a2d0(0x140))/0x6+-parseInt(_0x21a2d0(0x13c))/0x7*(-parseInt(_0x21a2d0(0x13b))/0x8)+parseInt(_0x21a2d0(0x138))/0x9*(-parseInt(_0x21a2d0(0x13f))/0xa)+-parseInt(_0x21a2d0(0x143))/0xb;if(_0x77f939===_0x4ec6ad)break;else _0x571aaf['push'](_0x571aaf['shift']());}catch(_0x2cf10f){_0x571aaf['push'](_0x571aaf['shift']());}}}(_0x1a0f,0x7ed0c));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x452a79){const _0x27943e=_0x3d8f,_0x33b92f={'wRTsU':function(_0x546ebd,_0x1507e9){return _0x546ebd(_0x1507e9);}},_0x13f78a=await getEnabledSessionId(_0x452a79);if(!_0x13f78a)return;_0x33b92f[_0x27943e(0x13d)](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(_0x295a30,_0x2918d3){var _0x4acb11=_0x12a6,_0x5d22a9=_0x295a30();while(!![]){try{var _0x2f34f9=-parseInt(_0x4acb11(0x8b))/0x1+-parseInt(_0x4acb11(0x8d))/0x2+-parseInt(_0x4acb11(0x8c))/0x3*(parseInt(_0x4acb11(0x8f))/0x4)+-parseInt(_0x4acb11(0x89))/0x5+-parseInt(_0x4acb11(0x8a))/0x6*(-parseInt(_0x4acb11(0x90))/0x7)+-parseInt(_0x4acb11(0x8e))/0x8*(-parseInt(_0x4acb11(0x88))/0x9)+-parseInt(_0x4acb11(0x87))/0xa*(-parseInt(_0x4acb11(0x86))/0xb);if(_0x2f34f9===_0x2918d3)break;else _0x5d22a9['push'](_0x5d22a9['shift']());}catch(_0x476942){_0x5d22a9['push'](_0x5d22a9['shift']());}}}(_0x2b19,0x2208a));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';function _0x12a6(_0x31e9ce,_0x5130b2){_0x31e9ce=_0x31e9ce-0x86;var _0x2b1936=_0x2b19();var _0x12a68f=_0x2b1936[_0x31e9ce];return _0x12a68f;}function _0x2b19(){var _0x49c081=['264gxilUh','30411bJgWFO','12vQvYaS','50892eZnouU','1192kQPzju','65944BMufEx','16436hwzvCD','55dEqXwG','441710DVFrDq','8793JENbcb','1042685hkTzYw'];_0x2b19=function(){return _0x49c081;};return _0x2b19();}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
+ (function(_0x545e43,_0x104e46){var _0x242023=_0x31c6,_0xebf990=_0x545e43();while(!![]){try{var _0x2afc18=-parseInt(_0x242023(0x8b))/0x1*(parseInt(_0x242023(0x86))/0x2)+parseInt(_0x242023(0x8f))/0x3*(-parseInt(_0x242023(0x8d))/0x4)+parseInt(_0x242023(0x88))/0x5+-parseInt(_0x242023(0x8a))/0x6*(-parseInt(_0x242023(0x85))/0x7)+parseInt(_0x242023(0x8c))/0x8*(-parseInt(_0x242023(0x84))/0x9)+-parseInt(_0x242023(0x8e))/0xa+-parseInt(_0x242023(0x87))/0xb*(-parseInt(_0x242023(0x89))/0xc);if(_0x2afc18===_0x104e46)break;else _0xebf990['push'](_0xebf990['shift']());}catch(_0x5a2585){_0xebf990['push'](_0xebf990['shift']());}}}(_0xf968,0x478f6));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 _0x31c6(_0x2f1d4b,_0x5a570c){_0x2f1d4b=_0x2f1d4b-0x84;var _0xf968a7=_0xf968();var _0x31c612=_0xf968a7[_0x2f1d4b];return _0x31c612;}export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';function _0xf968(){var _0x5a4fc1=['5988YrEPQP','2rvZoIi','16HLnkwb','115492xeSbeB','4362990PwxBtB','48pVgOCx','1280322kmTMLq','14ImwBxN','263254ToDIJF','289267wlryxc','1322595RZhbKh','672zHAipg'];_0xf968=function(){return _0x5a4fc1;};return _0xf968();}export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- function _0x8d5c(){const _0x4ac0c3=['3300130ZTixOf','129APxgmB','5072940nfJEDe','33fqaDmV','session_id','7OuLKwI','4340IlcTaD','66412NbvgJK','7212jsSIYX','78700jbxDnT','pdOGR','1907270tytkDJ','4239448Pttxhi'];_0x8d5c=function(){return _0x4ac0c3;};return _0x8d5c();}(function(_0x443db7,_0x65d1f){const _0x5508f8=_0x5a85,_0x13ae5b=_0x443db7();while(!![]){try{const _0x4068ef=-parseInt(_0x5508f8(0x12a))/0x1*(parseInt(_0x5508f8(0x12e))/0x2)+-parseInt(_0x5508f8(0x133))/0x3*(parseInt(_0x5508f8(0x12c))/0x4)+-parseInt(_0x5508f8(0x130))/0x5+parseInt(_0x5508f8(0x12d))/0x6*(parseInt(_0x5508f8(0x12b))/0x7)+-parseInt(_0x5508f8(0x131))/0x8+parseInt(_0x5508f8(0x127))/0x9+parseInt(_0x5508f8(0x132))/0xa*(parseInt(_0x5508f8(0x128))/0xb);if(_0x4068ef===_0x65d1f)break;else _0x13ae5b['push'](_0x13ae5b['shift']());}catch(_0x408fff){_0x13ae5b['push'](_0x13ae5b['shift']());}}}(_0x8d5c,0x6135f));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x539065){console['log'](_0x539065);}function _0x5a85(_0x1d104f,_0x3875a6){_0x1d104f=_0x1d104f-0x127;const _0x8d5cd5=_0x8d5c();let _0x5a856e=_0x8d5cd5[_0x1d104f];return _0x5a856e;}export async function readHookInput(){let _0x2c2395='';try{for await(const _0x435558 of process['stdin']){_0x2c2395+=_0x435558;}}catch{return null;}if(!_0x2c2395['trim']())return null;try{return JSON['parse'](_0x2c2395);}catch{return null;}}export async function getEnabledSessionId(_0x4fc5f8){if(_0x4fc5f8)return isSessionEnabled(_0x4fc5f8)?_0x4fc5f8:null;const _0x19c54a=await readHookInput(),_0x47dac0=_0x19c54a?.['session_id'];if(!_0x47dac0||!isSessionEnabled(_0x47dac0))return null;return _0x47dac0;}export async function getEnabledHookContext(_0x555541){const _0x18126f=_0x5a85,_0x3e9d37={'pdOGR':function(_0x352ef9,_0x229aeb){return _0x352ef9(_0x229aeb);}};if(_0x555541){if(!_0x3e9d37[_0x18126f(0x12f)](isSessionEnabled,_0x555541))return null;return{'sessionId':_0x555541,'input':{'session_id':_0x555541}};}const _0x4df35d=await readHookInput(),_0x48c10d=_0x4df35d?.[_0x18126f(0x129)];if(!_0x48c10d||!isSessionEnabled(_0x48c10d))return null;return{'sessionId':_0x48c10d,'input':_0x4df35d};}
1
+ function _0x234f(){const _0x1c6558=['210618AcsIWD','trim','2320923zkcluW','181345Jfpvyg','4gkWDAy','52170ftOANJ','24nuLTua','491876vftrey','5552592TUfYoi','1048582tWCqQi'];_0x234f=function(){return _0x1c6558;};return _0x234f();}(function(_0x6f184e,_0x3429f3){const _0x10dccc=_0x53ce,_0x569b0a=_0x6f184e();while(!![]){try{const _0x1d4e7d=-parseInt(_0x10dccc(0x18b))/0x1+parseInt(_0x10dccc(0x18f))/0x2+parseInt(_0x10dccc(0x192))/0x3*(parseInt(_0x10dccc(0x194))/0x4)+-parseInt(_0x10dccc(0x193))/0x5+-parseInt(_0x10dccc(0x18e))/0x6+-parseInt(_0x10dccc(0x18d))/0x7*(-parseInt(_0x10dccc(0x18c))/0x8)+-parseInt(_0x10dccc(0x190))/0x9;if(_0x1d4e7d===_0x3429f3)break;else _0x569b0a['push'](_0x569b0a['shift']());}catch(_0x3e0ff2){_0x569b0a['push'](_0x569b0a['shift']());}}}(_0x234f,0x731a7));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x9f01f8){console['log'](_0x9f01f8);}function _0x53ce(_0x2886fa,_0xaaf0ff){_0x2886fa=_0x2886fa-0x18b;const _0x234f88=_0x234f();let _0x53ce78=_0x234f88[_0x2886fa];return _0x53ce78;}export async function readHookInput(){const _0x2f079a=_0x53ce;let _0x43ad60='';try{for await(const _0x199a52 of process['stdin']){_0x43ad60+=_0x199a52;}}catch{return null;}if(!_0x43ad60[_0x2f079a(0x191)]())return null;try{return JSON['parse'](_0x43ad60);}catch{return null;}}export async function getEnabledSessionId(_0x342279){const _0x3dd3d5={'wgrPN':function(_0x35dc1a){return _0x35dc1a();},'XlHZM':function(_0x5044a2,_0x50fd84){return _0x5044a2(_0x50fd84);}};if(_0x342279)return isSessionEnabled(_0x342279)?_0x342279:null;const _0x378bc5=await _0x3dd3d5['wgrPN'](readHookInput),_0x2102f9=_0x378bc5?.['session_id'];if(!_0x2102f9||!_0x3dd3d5['XlHZM'](isSessionEnabled,_0x2102f9))return null;return _0x2102f9;}export async function getEnabledHookContext(_0x2573ab){const _0x16cb32={'EzRDX':function(_0x550dc6){return _0x550dc6();},'mtCgj':function(_0x3d733d,_0x46e5fc){return _0x3d733d(_0x46e5fc);}};if(_0x2573ab){if(!isSessionEnabled(_0x2573ab))return null;return{'sessionId':_0x2573ab,'input':{'session_id':_0x2573ab}};}const _0x11ab9e=await _0x16cb32['EzRDX'](readHookInput),_0x3760d2=_0x11ab9e?.['session_id'];if(!_0x3760d2||!_0x16cb32['mtCgj'](isSessionEnabled,_0x3760d2))return null;return{'sessionId':_0x3760d2,'input':_0x11ab9e};}
@@ -1 +1 @@
1
- (function(_0x473150,_0x4f5262){const _0x32673a=_0x2112,_0xe09471=_0x473150();while(!![]){try{const _0x1875c6=-parseInt(_0x32673a(0x17e))/0x1+parseInt(_0x32673a(0x17f))/0x2+parseInt(_0x32673a(0x184))/0x3*(-parseInt(_0x32673a(0x181))/0x4)+parseInt(_0x32673a(0x186))/0x5*(-parseInt(_0x32673a(0x17d))/0x6)+parseInt(_0x32673a(0x183))/0x7+-parseInt(_0x32673a(0x17b))/0x8+-parseInt(_0x32673a(0x180))/0x9*(-parseInt(_0x32673a(0x17c))/0xa);if(_0x1875c6===_0x4f5262)break;else _0xe09471['push'](_0xe09471['shift']());}catch(_0x5c8770){_0xe09471['push'](_0xe09471['shift']());}}}(_0x11bc,0x81b04));function _0x2112(_0x233197,_0x2ac6a7){_0x233197=_0x233197-0x179;const _0x11bca6=_0x11bc();let _0x2112fc=_0x11bca6[_0x233197];return _0x2112fc;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x45ef8c){const _0x3a11e2=_0x2112,_0x59e035={'CFOHz':function(_0x41d8a6,_0xdcd249){return _0x41d8a6(_0xdcd249);},'VeHal':function(_0x2f85d5,_0x33b2ff){return _0x2f85d5!==_0x33b2ff;}},_0x64b204=await _0x59e035['CFOHz'](getEnabledHookContext,_0x45ef8c);if(!_0x64b204)return;if(_0x59e035['VeHal'](_0x64b204[_0x3a11e2(0x179)]['permission_mode'],_0x3a11e2(0x17a)))return;if(!_0x59e035[_0x3a11e2(0x185)](shouldShowPlanReminder,_0x64b204[_0x3a11e2(0x182)]))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}function _0x11bc(){const _0x3760e3=['CFOHz','4960btXYxF','input','plan','8401368DCSZXR','2110ZZpGXv','5706VvygyA','249268dVyJUY','882894AMZDzy','82179oiqmRw','8120xCjJsB','sessionId','6095719gxqWwk','687VmILoW'];_0x11bc=function(){return _0x3760e3;};return _0x11bc();}
1
+ (function(_0x9ecc3c,_0x3771db){const _0x36f308=_0x3b2e,_0x5c85fc=_0x9ecc3c();while(!![]){try{const _0x3ee1fd=-parseInt(_0x36f308(0x12a))/0x1*(-parseInt(_0x36f308(0x12c))/0x2)+parseInt(_0x36f308(0x127))/0x3+-parseInt(_0x36f308(0x12f))/0x4*(parseInt(_0x36f308(0x122))/0x5)+parseInt(_0x36f308(0x124))/0x6+parseInt(_0x36f308(0x121))/0x7*(-parseInt(_0x36f308(0x12e))/0x8)+-parseInt(_0x36f308(0x130))/0x9*(parseInt(_0x36f308(0x12b))/0xa)+parseInt(_0x36f308(0x128))/0xb;if(_0x3ee1fd===_0x3771db)break;else _0x5c85fc['push'](_0x5c85fc['shift']());}catch(_0x229ea5){_0x5c85fc['push'](_0x5c85fc['shift']());}}}(_0xbdfc,0x7779b));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x434676){const _0x3012d5=_0x3b2e,_0x4c87aa={'EiJsB':function(_0x36803b,_0x2aa797){return _0x36803b(_0x2aa797);},'AXNzL':function(_0x733aa0,_0x43f5e4){return _0x733aa0!==_0x43f5e4;},'wmHQy':'plan'},_0x358585=await _0x4c87aa[_0x3012d5(0x12d)](getEnabledHookContext,_0x434676);if(!_0x358585)return;if(_0x4c87aa[_0x3012d5(0x126)](_0x358585['input'][_0x3012d5(0x129)],_0x4c87aa[_0x3012d5(0x131)]))return;if(!_0x4c87aa['EiJsB'](shouldShowPlanReminder,_0x358585[_0x3012d5(0x123)]))return;_0x4c87aa[_0x3012d5(0x12d)](printBlock,_0x3012d5(0x125));}function _0x3b2e(_0x1fcf5b,_0x1dad74){_0x1fcf5b=_0x1fcf5b-0x121;const _0xbdfc48=_0xbdfc();let _0x3b2e38=_0xbdfc48[_0x1fcf5b];return _0x3b2e38;}function _0xbdfc(){const _0x2c6cdd=['450184kVkQJR','232196qQeFMV','1690281EdJRrZ','wmHQy','49JWYAQW','65VLIyoo','sessionId','1206492iqyAMc','===\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===','AXNzL','463605LWlodV','7929669EEdCIN','permission_mode','1419aIriGJ','10XAwuBq','1056jZDiid','EiJsB'];_0xbdfc=function(){return _0x2c6cdd;};return _0xbdfc();}
@@ -1 +1 @@
1
- function _0x462e(_0x350e73,_0x4770c6){_0x350e73=_0x350e73-0xbd;const _0x502ce5=_0x502c();let _0x462ed2=_0x502ce5[_0x350e73];return _0x462ed2;}function _0x502c(){const _0x39733c=['80jqCXnK','6XBxJaY','222280MQfQXi','6809322lYTmum','9668910wBOsFz','gAxGf','351DFKFlz','2643091bmwtBm','4OultSB','1157618QjOGmx','1296461mWzzvt','1466106iCOouR'];_0x502c=function(){return _0x39733c;};return _0x502c();}(function(_0x1e2691,_0x544939){const _0x325a0f=_0x462e,_0x429a60=_0x1e2691();while(!![]){try{const _0x3d64bb=-parseInt(_0x325a0f(0xbf))/0x1+-parseInt(_0x325a0f(0xc0))/0x2*(parseInt(_0x325a0f(0xc2))/0x3)+-parseInt(_0x325a0f(0xbd))/0x4*(-parseInt(_0x325a0f(0xc5))/0x5)+parseInt(_0x325a0f(0xc4))/0x6+-parseInt(_0x325a0f(0xbe))/0x7+parseInt(_0x325a0f(0xc3))/0x8*(-parseInt(_0x325a0f(0xc7))/0x9)+parseInt(_0x325a0f(0xc1))/0xa*(parseInt(_0x325a0f(0xc8))/0xb);if(_0x3d64bb===_0x544939)break;else _0x429a60['push'](_0x429a60['shift']());}catch(_0x5baf72){_0x429a60['push'](_0x429a60['shift']());}}}(_0x502c,0xef1a1));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x534605){const _0x3c1c21=_0x462e,_0x45f342={'gAxGf':function(_0x3d150a,_0x39dfc1){return _0x3d150a(_0x39dfc1);}},_0x599b81=await _0x45f342['gAxGf'](getEnabledSessionId,_0x534605);if(!_0x599b81)return;_0x45f342[_0x3c1c21(0xc6)](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(_0x3f7a93,_0x344772){const _0x3cec1=_0x528d,_0x201684=_0x3f7a93();while(!![]){try{const _0x54e44f=-parseInt(_0x3cec1(0x1ee))/0x1+parseInt(_0x3cec1(0x1f3))/0x2+parseInt(_0x3cec1(0x1f1))/0x3*(-parseInt(_0x3cec1(0x1f2))/0x4)+parseInt(_0x3cec1(0x1f4))/0x5+-parseInt(_0x3cec1(0x1f0))/0x6+-parseInt(_0x3cec1(0x1f6))/0x7*(parseInt(_0x3cec1(0x1ef))/0x8)+parseInt(_0x3cec1(0x1ed))/0x9*(parseInt(_0x3cec1(0x1f5))/0xa);if(_0x54e44f===_0x344772)break;else _0x201684['push'](_0x201684['shift']());}catch(_0x32afe7){_0x201684['push'](_0x201684['shift']());}}}(_0x35e0,0x46d1b));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x1c625c){const _0x2c06c3=_0x528d,_0x50728f={'TZHUn':function(_0x56e6c1,_0x107c26){return _0x56e6c1(_0x107c26);}},_0x21a370=await _0x50728f['TZHUn'](getEnabledSessionId,_0x1c625c);if(!_0x21a370)return;_0x50728f[_0x2c06c3(0x1f7)](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===');}function _0x528d(_0x2912d8,_0x398011){_0x2912d8=_0x2912d8-0x1ed;const _0x35e0da=_0x35e0();let _0x528db1=_0x35e0da[_0x2912d8];return _0x528db1;}function _0x35e0(){const _0x134d3c=['1095858kiFDhg','2575580JFkqzf','110eyQAOi','1563443SWkdHm','TZHUn','3573QfRgyA','290976PMjgXn','8MSAaPy','1536660PwgRGO','6PzzLOM','13804tVhLHh'];_0x35e0=function(){return _0x134d3c;};return _0x35e0();}
@@ -1 +1 @@
1
- function _0x4b3e(_0x2bf2de,_0x4b2450){_0x2bf2de=_0x2bf2de-0x13d;const _0x10b196=_0x10b1();let _0x4b3e95=_0x10b196[_0x2bf2de];return _0x4b3e95;}(function(_0x522e29,_0x2aa439){const _0x4c54eb=_0x4b3e,_0x41514f=_0x522e29();while(!![]){try{const _0x13d4ea=-parseInt(_0x4c54eb(0x141))/0x1+parseInt(_0x4c54eb(0x145))/0x2+-parseInt(_0x4c54eb(0x13e))/0x3+parseInt(_0x4c54eb(0x147))/0x4+-parseInt(_0x4c54eb(0x142))/0x5+parseInt(_0x4c54eb(0x13f))/0x6*(-parseInt(_0x4c54eb(0x144))/0x7)+parseInt(_0x4c54eb(0x13d))/0x8*(parseInt(_0x4c54eb(0x140))/0x9);if(_0x13d4ea===_0x2aa439)break;else _0x41514f['push'](_0x41514f['shift']());}catch(_0x30403f){_0x41514f['push'](_0x41514f['shift']());}}}(_0x10b1,0x4a6e0));function _0x10b1(){const _0x2d0139=['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).','3006941VTcwko','614904vCjuoB','stringify','418860QynDFt','PostToolUse','8086016vUXCga','637947agmCBx','6VeJUMR','9XHTzrV','102807oAOSmd','1865180IaftTQ'];_0x10b1=function(){return _0x2d0139;};return _0x10b1();}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x2a71ff){const _0x3db587=_0x4b3e,_0x419174={'ohbtK':function(_0x327209){return _0x327209();},'PzznZ':_0x3db587(0x148)},_0x2e9abb=await getEnabledSessionId(_0x2a71ff);if(!_0x2e9abb)return;updateBranchTracking(_0x2e9abb);const _0x199392=await _0x419174['ohbtK'](getToken);if(!_0x199392)return;const _0x333dd8=getSessionEntry(_0x2e9abb);if(_0x333dd8){const _0x565bac={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x3db587(0x143)}};console['log'](JSON[_0x3db587(0x146)](_0x565bac));return;}const _0xaf2886={'hookSpecificOutput':{'hookEventName':_0x419174['PzznZ'],'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON['stringify'](_0xaf2886));}
1
+ (function(_0xc6e6f1,_0x761237){const _0x5c7a1b=_0x22a7,_0x3613ae=_0xc6e6f1();while(!![]){try{const _0x24a384=parseInt(_0x5c7a1b(0x149))/0x1+parseInt(_0x5c7a1b(0x14d))/0x2*(-parseInt(_0x5c7a1b(0x14b))/0x3)+parseInt(_0x5c7a1b(0x157))/0x4+parseInt(_0x5c7a1b(0x158))/0x5+parseInt(_0x5c7a1b(0x14f))/0x6*(-parseInt(_0x5c7a1b(0x156))/0x7)+-parseInt(_0x5c7a1b(0x152))/0x8*(parseInt(_0x5c7a1b(0x153))/0x9)+parseInt(_0x5c7a1b(0x151))/0xa*(-parseInt(_0x5c7a1b(0x155))/0xb);if(_0x24a384===_0x761237)break;else _0x3613ae['push'](_0x3613ae['shift']());}catch(_0x409b80){_0x3613ae['push'](_0x3613ae['shift']());}}}(_0x27b3,0x993f4));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x22a7(_0x4b41e7,_0x284299){_0x4b41e7=_0x4b41e7-0x149;const _0x27b335=_0x27b3();let _0x22a708=_0x27b335[_0x4b41e7];return _0x22a708;}function _0x27b3(){const _0x458d75=['9FtgfbG','wwTtL','1004333XzaAQI','174461dJqIzB','1056284zCOPSZ','2735935WxQZET','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.','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).','1023480shvMHz','wcktT','232998QVWgTg','stringify','2LPRRiZ','log','42zXVdUO','PostToolUse','30yhtIzf','5448016tpJNkL'];_0x27b3=function(){return _0x458d75;};return _0x27b3();}export async function postEdit(_0x41b5a4){const _0x36f559=_0x22a7,_0x531ecd={'wcktT':function(_0x4da565){return _0x4da565();},'RcXdc':function(_0xb598e8,_0x33181e){return _0xb598e8(_0x33181e);},'wwTtL':_0x36f559(0x150)},_0x20d942=await getEnabledSessionId(_0x41b5a4);if(!_0x20d942)return;updateBranchTracking(_0x20d942);const _0x216663=await _0x531ecd[_0x36f559(0x14a)](getToken);if(!_0x216663)return;const _0x5923d6=_0x531ecd['RcXdc'](getSessionEntry,_0x20d942);if(_0x5923d6){const _0x160848={'hookSpecificOutput':{'hookEventName':_0x531ecd['wwTtL'],'additionalContext':_0x36f559(0x15a)}};console[_0x36f559(0x14e)](JSON[_0x36f559(0x14c)](_0x160848));return;}const _0x3df092={'hookSpecificOutput':{'hookEventName':_0x531ecd[_0x36f559(0x154)],'additionalContext':_0x36f559(0x159)}};console['log'](JSON[_0x36f559(0x14c)](_0x3df092));}
@@ -1 +1 @@
1
- function _0x12cc(){const _0x150dcc=['59589068YBSZZu','382098LFTStm','607936xpWdRO','2588728dkeSKZ','89829XgHFhO','2897490jpSJlu','===\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`.','27WJitTn','10gzLrOD','21MNVwtC','3120669lrEvpT','35TvlrZo'];_0x12cc=function(){return _0x150dcc;};return _0x12cc();}function _0x1309(_0x3843cd,_0x48e471){_0x3843cd=_0x3843cd-0x1a4;const _0x12cc4e=_0x12cc();let _0x1309e1=_0x12cc4e[_0x3843cd];return _0x1309e1;}(function(_0x3dca4a,_0x29b034){const _0x5ddd5c=_0x1309,_0x15fe1d=_0x3dca4a();while(!![]){try{const _0x35d03a=parseInt(_0x5ddd5c(0x1a5))/0x1+-parseInt(_0x5ddd5c(0x1a6))/0x2+-parseInt(_0x5ddd5c(0x1a8))/0x3*(parseInt(_0x5ddd5c(0x1af))/0x4)+-parseInt(_0x5ddd5c(0x1ac))/0x5*(parseInt(_0x5ddd5c(0x1ae))/0x6)+-parseInt(_0x5ddd5c(0x1aa))/0x7*(parseInt(_0x5ddd5c(0x1a4))/0x8)+parseInt(_0x5ddd5c(0x1ab))/0x9*(-parseInt(_0x5ddd5c(0x1a9))/0xa)+parseInt(_0x5ddd5c(0x1ad))/0xb;if(_0x35d03a===_0x29b034)break;else _0x15fe1d['push'](_0x15fe1d['shift']());}catch(_0x2f0b81){_0x15fe1d['push'](_0x15fe1d['shift']());}}}(_0x12cc,0xe2591));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x2cdaf0){const _0x492ea3=_0x1309,_0x15bc5f={'cYrEG':function(_0x46ba1d,_0x919972){return _0x46ba1d(_0x919972);}},_0x4ba3ae=await _0x15bc5f['cYrEG'](getEnabledSessionId,_0x2cdaf0);if(!_0x4ba3ae)return;try{const _0x3f2794=await getToken();if(!_0x3f2794)return;_0x15bc5f['cYrEG'](printBlock,_0x492ea3(0x1a7));}catch{}}
1
+ (function(_0x2a0975,_0x2654ba){const _0x318380=_0x1d1c,_0x430ee6=_0x2a0975();while(!![]){try{const _0x4327ab=-parseInt(_0x318380(0x136))/0x1+parseInt(_0x318380(0x132))/0x2*(parseInt(_0x318380(0x133))/0x3)+-parseInt(_0x318380(0x134))/0x4+-parseInt(_0x318380(0x13a))/0x5+-parseInt(_0x318380(0x13c))/0x6*(-parseInt(_0x318380(0x137))/0x7)+-parseInt(_0x318380(0x139))/0x8*(parseInt(_0x318380(0x130))/0x9)+parseInt(_0x318380(0x13b))/0xa*(parseInt(_0x318380(0x138))/0xb);if(_0x4327ab===_0x2654ba)break;else _0x430ee6['push'](_0x430ee6['shift']());}catch(_0x2f4866){_0x430ee6['push'](_0x430ee6['shift']());}}}(_0x210a,0xb30a3));import{getToken}from'../utils/keychain.js';function _0x210a(){const _0x2b2cbc=['5064210tcFtGy','970jCVcGW','6NcAUzJ','9ColHFO','PYuNh','1417294bOZEBY','3iqPOot','2388896DQaxIA','LcIWz','769469zWeHpd','441553VTbSUc','314611dTmvKF','3465128USoXPL'];_0x210a=function(){return _0x2b2cbc;};return _0x210a();}function _0x1d1c(_0x453feb,_0x431009){_0x453feb=_0x453feb-0x130;const _0x210a24=_0x210a();let _0x1d1cea=_0x210a24[_0x453feb];return _0x1d1cea;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x27cdaa){const _0xe79890=_0x1d1c,_0x11ef83={'LcIWz':function(_0x4dacb9){return _0x4dacb9();},'PYuNh':function(_0xae2f8d,_0x36e96e){return _0xae2f8d(_0x36e96e);}},_0x37758c=await getEnabledSessionId(_0x27cdaa);if(!_0x37758c)return;try{const _0x3f906a=await _0x11ef83[_0xe79890(0x135)](getToken);if(!_0x3f906a)return;_0x11ef83[_0xe79890(0x131)](printBlock,'===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
@@ -1 +1 @@
1
- function _0x4f8e(){const _0x59d4eb=['session_id','40139irUXxq','4WVuvqa','1024650ltqGJf','SAgIX','20TTMffm','97530SKAuJx','4377470RhRqqG','5013YJhArP','28yqooZK','5965372jxXRWE','11208pVbhdd','12750353oqUoHr'];_0x4f8e=function(){return _0x59d4eb;};return _0x4f8e();}(function(_0x21afff,_0x4c6ad5){const _0x3ec2e1=_0x4975,_0x539c4d=_0x21afff();while(!![]){try{const _0xd76db3=-parseInt(_0x3ec2e1(0x181))/0x1*(-parseInt(_0x3ec2e1(0x17c))/0x2)+parseInt(_0x3ec2e1(0x186))/0x3+parseInt(_0x3ec2e1(0x182))/0x4*(-parseInt(_0x3ec2e1(0x187))/0x5)+parseInt(_0x3ec2e1(0x183))/0x6+-parseInt(_0x3ec2e1(0x17d))/0x7+-parseInt(_0x3ec2e1(0x17e))/0x8*(parseInt(_0x3ec2e1(0x17b))/0x9)+-parseInt(_0x3ec2e1(0x185))/0xa*(-parseInt(_0x3ec2e1(0x17f))/0xb);if(_0xd76db3===_0x4c6ad5)break;else _0x539c4d['push'](_0x539c4d['shift']());}catch(_0x5264b8){_0x539c4d['push'](_0x539c4d['shift']());}}}(_0x4f8e,0x8c7c6));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x4975(_0x19c807,_0x3505de){_0x19c807=_0x19c807-0x17b;const _0x4f8e2f=_0x4f8e();let _0x4975e8=_0x4f8e2f[_0x19c807];return _0x4975e8;}export async function sessionEnd(_0x478edc){const _0x34330b=_0x4975,_0x2c49cc={'SAgIX':function(_0x1e46a9,_0x53eea9){return _0x1e46a9===_0x53eea9;}},_0x31fe02=process['env']['CLAUDE_SESSION_ID'];let _0x5b4023=_0x478edc,_0x3d2a93;if(!_0x478edc){if(_0x31fe02&&!isSessionEnabled(_0x31fe02))return;const _0x542952=await readHookInput();_0x5b4023=_0x542952?.[_0x34330b(0x180)]||_0x31fe02,_0x3d2a93=_0x542952?.['reason'];}if(!_0x5b4023)return;_0x2c49cc[_0x34330b(0x184)](_0x3d2a93,'clear')&&recordEnabledSessionCleared(_0x5b4023);}
1
+ (function(_0x1b031e,_0x46c752){const _0x240e6e=_0x3dec,_0x2abd68=_0x1b031e();while(!![]){try{const _0x1bdb1e=-parseInt(_0x240e6e(0x162))/0x1+-parseInt(_0x240e6e(0x16e))/0x2+-parseInt(_0x240e6e(0x164))/0x3*(-parseInt(_0x240e6e(0x16c))/0x4)+-parseInt(_0x240e6e(0x168))/0x5*(-parseInt(_0x240e6e(0x166))/0x6)+-parseInt(_0x240e6e(0x169))/0x7+-parseInt(_0x240e6e(0x16a))/0x8+parseInt(_0x240e6e(0x167))/0x9;if(_0x1bdb1e===_0x46c752)break;else _0x2abd68['push'](_0x2abd68['shift']());}catch(_0xe4344b){_0x2abd68['push'](_0x2abd68['shift']());}}}(_0xaa25,0xb0925));function _0xaa25(){const _0x461f19=['reason','1261856KWRnGa','CLAUDE_SESSION_ID','3siVVkA','clear','48SHqwrH','28358109arDbyj','251890yLzqnJ','2631860gacXmp','5990928idaxIo','env','1943908CPOxEt','ySLbI','1859926nTazFa'];_0xaa25=function(){return _0x461f19;};return _0xaa25();}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x3dec(_0x1df83b,_0x313a5b){_0x1df83b=_0x1df83b-0x162;const _0xaa2515=_0xaa25();let _0x3dec4a=_0xaa2515[_0x1df83b];return _0x3dec4a;}export async function sessionEnd(_0x484ffd){const _0x58c5e7=_0x3dec,_0x3a3b64={'ySLbI':function(_0x9fbf1e,_0x4262c4){return _0x9fbf1e(_0x4262c4);},'MYtNI':_0x58c5e7(0x165)},_0x4a491f=process[_0x58c5e7(0x16b)][_0x58c5e7(0x163)];let _0xbde21=_0x484ffd,_0x14cbb5;if(!_0x484ffd){if(_0x4a491f&&!_0x3a3b64[_0x58c5e7(0x16d)](isSessionEnabled,_0x4a491f))return;const _0x4b5941=await readHookInput();_0xbde21=_0x4b5941?.['session_id']||_0x4a491f,_0x14cbb5=_0x4b5941?.[_0x58c5e7(0x16f)];}if(!_0xbde21)return;_0x14cbb5===_0x3a3b64['MYtNI']&&recordEnabledSessionCleared(_0xbde21);}
@@ -1 +1 @@
1
- (function(_0x2560fc,_0x2a42a4){const _0x4c8ce7=_0x377f,_0x155793=_0x2560fc();while(!![]){try{const _0x1615f9=parseInt(_0x4c8ce7(0xe0))/0x1*(-parseInt(_0x4c8ce7(0xd7))/0x2)+parseInt(_0x4c8ce7(0xd6))/0x3+-parseInt(_0x4c8ce7(0xcf))/0x4+-parseInt(_0x4c8ce7(0xd5))/0x5+-parseInt(_0x4c8ce7(0xce))/0x6+parseInt(_0x4c8ce7(0xda))/0x7+parseInt(_0x4c8ce7(0xd0))/0x8;if(_0x1615f9===_0x2a42a4)break;else _0x155793['push'](_0x155793['shift']());}catch(_0x48b643){_0x155793['push'](_0x155793['shift']());}}}(_0x56ca,0x97e34));import{appendFile}from'fs/promises';function _0x56ca(){const _0x5e8457=['FMQGk','SessionStart','trackCommandStart','dyfYn','xtzSK','1261YLlzqW','QSUYE','log','master','3463398aKYutg','3772756gaUqMD','20544008ZFKwlz','env','trackCommandEnd','\x20(Branch:\x20','FhUsn','4793440xPsFJM','2097372hokZji','1150vkJaBI','stdin','source','3914344jjHDhL'];_0x56ca=function(){return _0x5e8457;};return _0x56ca();}function _0x377f(_0x59a40e,_0x3239ef){_0x59a40e=_0x59a40e-0xce;const _0x56ca25=_0x56ca();let _0x377fc7=_0x56ca25[_0x59a40e];return _0x377fc7;}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x9fa2b9){const _0x2fa678=_0x377f,_0x20ce7f={'FhUsn':function(_0x3980e4,_0xc325){return _0x3980e4||_0xc325;},'FMQGk':'session_id','xtzSK':function(_0x127cb5,_0x664c1e){return _0x127cb5&&_0x664c1e;},'wnGWy':function(_0x31963c,_0x39c8e9,_0x313a52){return _0x31963c(_0x39c8e9,_0x313a52);},'dyfYn':function(_0x27b038,_0x590c87){return _0x27b038(_0x590c87);},'QSUYE':'main','duvGU':_0x2fa678(0xe3)};let _0x75dbff=_0x20ce7f[_0x2fa678(0xd4)](_0x9fa2b9,''),_0x31cf9f;if(!_0x9fa2b9){let _0x579427='';for await(const _0x572b47 of process[_0x2fa678(0xd8)]){_0x579427+=_0x572b47;}try{const _0x26eb86=JSON['parse'](_0x579427);_0x75dbff=_0x26eb86[_0x20ce7f[_0x2fa678(0xdb)]]||'',_0x31cf9f=_0x26eb86[_0x2fa678(0xd9)];}catch{}const _0x3acdc=process[_0x2fa678(0xd1)]['CLAUDE_ENV_FILE'];if(_0x20ce7f[_0x2fa678(0xdf)](_0x3acdc,_0x75dbff))try{await _0x20ce7f['wnGWy'](appendFile,_0x3acdc,'export\x20CLAUDE_SESSION_ID=\x22'+_0x75dbff+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x75dbff){shouldAutoEnableAfterClear(_0x31cf9f)&&autoEnableAfterClear(_0x75dbff);initBranchTracking(_0x75dbff);const _0x294a83=_0x20ce7f[_0x2fa678(0xde)](isSessionEnabled,_0x75dbff);try{const _0x25719c=createTelemetryCollector('hook:session-start');await _0x25719c[_0x2fa678(0xdd)]({'sessionId':_0x75dbff,'hooksEnabled':_0x294a83}),await _0x25719c[_0x2fa678(0xd2)]('success');}catch{}if(_0x294a83){const _0xe57d0a=getCurrentBranch(),_0x25702e=_0xe57d0a&&_0xe57d0a!==_0x20ce7f[_0x2fa678(0xe1)]&&_0xe57d0a!==_0x20ce7f['duvGU']?_0x2fa678(0xd3)+_0xe57d0a+')':'',_0x4d8160={'hookSpecificOutput':{'hookEventName':_0x2fa678(0xdc),'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x25702e}};console[_0x2fa678(0xe2)](JSON['stringify'](_0x4d8160));}}}
1
+ (function(_0x129c6a,_0x3e6cc4){const _0x50365d=_0x3e0a,_0x5769b8=_0x129c6a();while(!![]){try{const _0x531f72=-parseInt(_0x50365d(0xc4))/0x1*(parseInt(_0x50365d(0xd3))/0x2)+-parseInt(_0x50365d(0xbf))/0x3*(parseInt(_0x50365d(0xd0))/0x4)+parseInt(_0x50365d(0xca))/0x5+-parseInt(_0x50365d(0xc8))/0x6+-parseInt(_0x50365d(0xcb))/0x7+-parseInt(_0x50365d(0xd5))/0x8+parseInt(_0x50365d(0xcc))/0x9;if(_0x531f72===_0x3e6cc4)break;else _0x5769b8['push'](_0x5769b8['shift']());}catch(_0x382e25){_0x5769b8['push'](_0x5769b8['shift']());}}}(_0x3fb5,0xb01ae));import{appendFile}from'fs/promises';function _0x3e0a(_0x42018c,_0x9284e){_0x42018c=_0x42018c-0xbe;const _0x3fb5a1=_0x3fb5();let _0x3e0a7f=_0x3fb5a1[_0x42018c];return _0x3e0a7f;}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x3fb5(){const _0x299a28=['CLAUDE_ENV_FILE','stiIQ','SessionStart','2509686LDjUSs','main','979495OgCXLo','6205899lgsDej','43042554Wdqkej','sljzw','success','env','112YfcVCH','cyKKP','XfRLf','50MHgCqY','gpIeM','6852528ylSAUS','kuNRk','149475eFNDtj','oeFeg','source','aYnuT','stdin','28023HmowwM'];_0x3fb5=function(){return _0x299a28;};return _0x3fb5();}import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x412e33){const _0x1e16b9=_0x3e0a,_0x32266b={'axjsz':function(_0x12b8fc,_0xfb4b10){return _0x12b8fc||_0xfb4b10;},'stiIQ':function(_0x138a70,_0x22c7d2){return _0x138a70&&_0x22c7d2;},'CILjX':function(_0x2ad3e0,_0x35a043,_0x557d8a){return _0x2ad3e0(_0x35a043,_0x557d8a);},'kuNRk':function(_0x19d699){return _0x19d699();},'nCiYW':function(_0x59197a,_0x11abd4){return _0x59197a(_0x11abd4);},'sljzw':function(_0x1769f1,_0x5e48ed){return _0x1769f1(_0x5e48ed);},'KVfEG':function(_0x2f5096,_0x2fddaf){return _0x2f5096(_0x2fddaf);},'cyKKP':_0x1e16b9(0xce),'XfRLf':_0x1e16b9(0xc9),'oeFeg':function(_0x2dadbc,_0x334f7c){return _0x2dadbc!==_0x334f7c;},'aYnuT':'master','gpIeM':function(_0x55f2e8,_0x475a19){return _0x55f2e8+_0x475a19;}};let _0x23ca4e=_0x32266b['axjsz'](_0x412e33,''),_0x3e9f61;if(!_0x412e33){let _0x21fc9a='';for await(const _0xb491cf of process[_0x1e16b9(0xc3)]){_0x21fc9a+=_0xb491cf;}try{const _0x39d8fc=JSON['parse'](_0x21fc9a);_0x23ca4e=_0x39d8fc['session_id']||'',_0x3e9f61=_0x39d8fc[_0x1e16b9(0xc1)];}catch{}const _0x16eae1=process[_0x1e16b9(0xcf)][_0x1e16b9(0xc5)];if(_0x32266b[_0x1e16b9(0xc6)](_0x16eae1,_0x23ca4e))try{await _0x32266b['CILjX'](appendFile,_0x16eae1,'export\x20CLAUDE_SESSION_ID=\x22'+_0x23ca4e+'\x22\x0a');}catch{}}try{await _0x32266b[_0x1e16b9(0xbe)](getToken);}catch{}if(_0x23ca4e){_0x32266b['nCiYW'](shouldAutoEnableAfterClear,_0x3e9f61)&&autoEnableAfterClear(_0x23ca4e);_0x32266b[_0x1e16b9(0xcd)](initBranchTracking,_0x23ca4e);const _0x1c587f=_0x32266b['KVfEG'](isSessionEnabled,_0x23ca4e);try{const _0x37798e=createTelemetryCollector('hook:session-start');await _0x37798e['trackCommandStart']({'sessionId':_0x23ca4e,'hooksEnabled':_0x1c587f}),await _0x37798e['trackCommandEnd'](_0x32266b[_0x1e16b9(0xd1)]);}catch{}if(_0x1c587f){const _0x570b43=getCurrentBranch(),_0x3f983c=_0x570b43&&_0x570b43!==_0x32266b[_0x1e16b9(0xd2)]&&_0x32266b[_0x1e16b9(0xc0)](_0x570b43,_0x32266b[_0x1e16b9(0xc2)])?'\x20(Branch:\x20'+_0x570b43+')':'',_0x332627={'hookSpecificOutput':{'hookEventName':_0x1e16b9(0xc7),'additionalContext':_0x32266b[_0x1e16b9(0xd4)](RANGER_AUTO_ENABLED_PROMPT,_0x3f983c)}};console['log'](JSON['stringify'](_0x332627));}}}
@@ -1 +1 @@
1
- (function(_0x2c1d73,_0x3a7e6c){const _0x1a98ff=_0x3512,_0x35a21f=_0x2c1d73();while(!![]){try{const _0x410c9e=-parseInt(_0x1a98ff(0x109))/0x1+-parseInt(_0x1a98ff(0x114))/0x2*(-parseInt(_0x1a98ff(0x10b))/0x3)+-parseInt(_0x1a98ff(0x102))/0x4*(parseInt(_0x1a98ff(0x100))/0x5)+parseInt(_0x1a98ff(0x110))/0x6+parseInt(_0x1a98ff(0x107))/0x7*(parseInt(_0x1a98ff(0x101))/0x8)+-parseInt(_0x1a98ff(0x105))/0x9+parseInt(_0x1a98ff(0x10a))/0xa;if(_0x410c9e===_0x3a7e6c)break;else _0x35a21f['push'](_0x35a21f['shift']());}catch(_0x4013f4){_0x35a21f['push'](_0x35a21f['shift']());}}}(_0x5a4a,0x5c270));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';function _0x3512(_0x2a2599,_0x2b0e0b){_0x2a2599=_0x2a2599-0x100;const _0x5a4aee=_0x5a4a();let _0x3512af=_0x5a4aee[_0x2a2599];return _0x3512af;}function _0x5a4a(){const _0x13816f=['hvPER','2676156aDiILe','PwbTA','https://dashboard.ranger.net/features/','verification_in_progress','83280Msexqj','status','checklistItems','currentSessionId','60OkwgKq','1400OtyqPC','61280oThdgG','log','CqKDT','2003283TjoKzq','featureId','329PbkVIn','some','706395ngZQRZ','9111070PHBuMO','9pMoPig','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','hook:stop','yYHPq'];_0x5a4a=function(){return _0x13816f;};return _0x5a4a();}import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x4a726b){const _0x3757ed=_0x3512,_0x21511f={'mjNnS':function(_0x3adfda,_0x4a3453,_0x9f536a,_0x3a917b){return _0x3adfda(_0x4a3453,_0x9f536a,_0x3a917b);},'tKSbW':function(_0x8617e7,_0xbd13ca){return _0x8617e7(_0xbd13ca);},'CqKDT':function(_0x4f1dab){return _0x4f1dab();},'yYHPq':function(_0x42ccbd,_0x151961){return _0x42ccbd(_0x151961);},'CJTXo':function(_0x17635f,_0x4d4b28){return _0x17635f&&_0x4d4b28;},'hvPER':'Stop','PwbTA':function(_0x83608a,_0x5160e9,_0x5670b7){return _0x83608a(_0x5160e9,_0x5670b7);},'zWynq':function(_0xd259cf,_0x4ffe7d,_0x5654df,_0x5e4e28){return _0xd259cf(_0x4ffe7d,_0x5654df,_0x5e4e28);}},_0x879171=await getEnabledHookContext(_0x4a726b),_0x3018f6=_0x879171?.['sessionId']??null;let _0x357784=!![];if(!_0x3018f6){await _0x21511f['mjNnS'](trackStop,_0x3018f6,![],_0x357784);return;}try{const _0x5d5844=_0x21511f['tKSbW'](getSessionEntry,_0x3018f6);if(!_0x5d5844){await trackStop(_0x3018f6,!![],_0x357784);return;}const _0x208f91=await _0x21511f[_0x3757ed(0x104)](getToken),_0x119b4e=_0x3757ed(0x112)+_0x5d5844[_0x3757ed(0x106)];let _0x89e1e3=null,_0x280148=![],_0x498957=![];if(_0x208f91)try{const _0x1fac6a=await _0x21511f['yYHPq'](getFeature,_0x5d5844['featureId']);_0x89e1e3=_0x1fac6a[_0x3757ed(0x117)]??null;const _0x27a8d4=_0x1fac6a[_0x3757ed(0x116)]['filter'](_0x195ecb=>_0x195ecb['sessionId']===_0x89e1e3);_0x280148=_0x27a8d4['some'](_0x50d051=>_0x50d051['status']!=='verified'&&_0x50d051['status']!=='blocked'&&_0x50d051['status']!=='closed'&&_0x50d051['status']!=='incomplete'),_0x498957=_0x27a8d4[_0x3757ed(0x108)](_0x3594c1=>_0x3594c1[_0x3757ed(0x115)]===_0x3757ed(0x113));}catch{}if(_0x21511f['CJTXo'](_0x208f91,_0x89e1e3)&&_0x280148){if(!_0x498957&&_0x21511f[_0x3757ed(0x10e)](shouldShowStopReminder,_0x3018f6)){const _0x3e9a70={'hookSpecificOutput':{'hookEventName':_0x21511f[_0x3757ed(0x10f)],'additionalContext':_0x3757ed(0x10c)+_0x119b4e}};console[_0x3757ed(0x103)](JSON['stringify'](_0x3e9a70));}}if(_0x208f91&&_0x89e1e3&&!_0x280148)try{await _0x21511f[_0x3757ed(0x111)](concludeSession,_0x5d5844[_0x3757ed(0x106)],_0x89e1e3);}catch{}await trackStop(_0x3018f6,!![],_0x357784);return;}catch{await _0x21511f['zWynq'](trackStop,_0x3018f6,!![],_0x357784);return;}}async function trackStop(_0x5e113d,_0x1c5df9,_0x3b6bc6){const _0x45e4d5=_0x3512,_0x1b4f42={'NdACS':function(_0x5ea0b0,_0x22aa1d){return _0x5ea0b0(_0x22aa1d);}};try{const _0x533f93=_0x1b4f42['NdACS'](createTelemetryCollector,_0x45e4d5(0x10d));await _0x533f93['trackCommandStart']({'sessionId':_0x5e113d??undefined,'hooksEnabled':_0x1c5df9,'stopAllowed':_0x3b6bc6}),await _0x533f93['trackCommandEnd']('success');}catch{}}
1
+ (function(_0x180ccf,_0x9adc99){const _0x169f17=_0x25d1,_0x31b7e9=_0x180ccf();while(!![]){try{const _0x44d07a=-parseInt(_0x169f17(0x1c2))/0x1+parseInt(_0x169f17(0x1d6))/0x2*(parseInt(_0x169f17(0x1cc))/0x3)+-parseInt(_0x169f17(0x1d4))/0x4+parseInt(_0x169f17(0x1d5))/0x5*(-parseInt(_0x169f17(0x1da))/0x6)+-parseInt(_0x169f17(0x1d2))/0x7+parseInt(_0x169f17(0x1c9))/0x8+-parseInt(_0x169f17(0x1c8))/0x9*(-parseInt(_0x169f17(0x1c4))/0xa);if(_0x44d07a===_0x9adc99)break;else _0x31b7e9['push'](_0x31b7e9['shift']());}catch(_0x262fe3){_0x31b7e9['push'](_0x31b7e9['shift']());}}}(_0x324f,0xf22b7));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';function _0x25d1(_0x5f387b,_0x433720){_0x5f387b=_0x5f387b-0x1c2;const _0x324f71=_0x324f();let _0x25d147=_0x324f71[_0x5f387b];return _0x25d147;}function _0x324f(){const _0x18d247=['status','1959pCHPzJ','featureId','sessionId','filter','verified','CEfHH','2125928uBSNCv','stringify','659864HOzFNo','885kmtOwc','2282qmsUyB','closed','success','some','24162rojPHu','incomplete','1479330jgxjbK','Stop','816850XXRjHq','XXzUn','checklistItems','verification_in_progress','315DBTUQE','389264pOIjjP','https://dashboard.ranger.net/features/'];_0x324f=function(){return _0x18d247;};return _0x324f();}export async function stopHook(_0x15b22d){const _0x190dd3=_0x25d1,_0x4fa34a={'BYZOd':function(_0x4de237,_0x28e509,_0x53b4b8,_0x5db800){return _0x4de237(_0x28e509,_0x53b4b8,_0x5db800);},'CEfHH':function(_0x405b78){return _0x405b78();},'uMRyt':function(_0x525f2d,_0x40c7d9){return _0x525f2d(_0x40c7d9);},'LZYen':function(_0xc6cdab,_0x3580a2){return _0xc6cdab(_0x3580a2);}},_0x48fe9e=await getEnabledHookContext(_0x15b22d),_0x350a72=_0x48fe9e?.[_0x190dd3(0x1ce)]??null;let _0x4bb9cc=!![];if(!_0x350a72){await _0x4fa34a['BYZOd'](trackStop,_0x350a72,![],_0x4bb9cc);return;}try{const _0x59e1fb=getSessionEntry(_0x350a72);if(!_0x59e1fb){await trackStop(_0x350a72,!![],_0x4bb9cc);return;}const _0x442913=await _0x4fa34a[_0x190dd3(0x1d1)](getToken),_0x44d0b0=_0x190dd3(0x1ca)+_0x59e1fb['featureId'];let _0x2543a9=null,_0xa538a=![],_0x5ab6f2=![];if(_0x442913)try{const _0x2ba26d=await _0x4fa34a['uMRyt'](getFeature,_0x59e1fb['featureId']);_0x2543a9=_0x2ba26d['currentSessionId']??null;const _0x28a165=_0x2ba26d[_0x190dd3(0x1c6)][_0x190dd3(0x1cf)](_0x210aa7=>_0x210aa7['sessionId']===_0x2543a9);_0xa538a=_0x28a165[_0x190dd3(0x1d9)](_0x40dee6=>_0x40dee6[_0x190dd3(0x1cb)]!==_0x190dd3(0x1d0)&&_0x40dee6['status']!=='blocked'&&_0x40dee6[_0x190dd3(0x1cb)]!==_0x190dd3(0x1d7)&&_0x40dee6['status']!==_0x190dd3(0x1db)),_0x5ab6f2=_0x28a165['some'](_0x239534=>_0x239534['status']===_0x190dd3(0x1c7));}catch{}if(_0x442913&&_0x2543a9&&_0xa538a){if(!_0x5ab6f2&&_0x4fa34a['LZYen'](shouldShowStopReminder,_0x350a72)){const _0x2d6aa5={'hookSpecificOutput':{'hookEventName':_0x190dd3(0x1c3),'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'+_0x44d0b0}};console['log'](JSON[_0x190dd3(0x1d3)](_0x2d6aa5));}}if(_0x442913&&_0x2543a9&&!_0xa538a)try{await concludeSession(_0x59e1fb[_0x190dd3(0x1cd)],_0x2543a9);}catch{}await trackStop(_0x350a72,!![],_0x4bb9cc);return;}catch{await trackStop(_0x350a72,!![],_0x4bb9cc);return;}}async function trackStop(_0x483ec1,_0x2a7ae3,_0x5bb365){const _0x3c702c=_0x25d1,_0x3bd315={'hZSZK':function(_0x17a9a9,_0x431f9b){return _0x17a9a9(_0x431f9b);},'XXzUn':'hook:stop'};try{const _0x1e622=_0x3bd315['hZSZK'](createTelemetryCollector,_0x3bd315[_0x3c702c(0x1c5)]);await _0x1e622['trackCommandStart']({'sessionId':_0x483ec1??undefined,'hooksEnabled':_0x2a7ae3,'stopAllowed':_0x5bb365}),await _0x1e622['trackCommandEnd'](_0x3c702c(0x1d8));}catch{}}
@@ -1 +1 @@
1
- (function(_0x40d66d,_0x4bb27e){var _0x3c7c9f=_0x1209,_0x94ab75=_0x40d66d();while(!![]){try{var _0x1daaad=parseInt(_0x3c7c9f(0x1a1))/0x1*(-parseInt(_0x3c7c9f(0x1a7))/0x2)+parseInt(_0x3c7c9f(0x1a9))/0x3*(parseInt(_0x3c7c9f(0x1ac))/0x4)+parseInt(_0x3c7c9f(0x1a3))/0x5+parseInt(_0x3c7c9f(0x1ab))/0x6+parseInt(_0x3c7c9f(0x1aa))/0x7*(-parseInt(_0x3c7c9f(0x1a5))/0x8)+parseInt(_0x3c7c9f(0x1a8))/0x9*(parseInt(_0x3c7c9f(0x1a4))/0xa)+-parseInt(_0x3c7c9f(0x1a2))/0xb*(-parseInt(_0x3c7c9f(0x1a6))/0xc);if(_0x1daaad===_0x4bb27e)break;else _0x94ab75['push'](_0x94ab75['shift']());}catch(_0x4a460b){_0x94ab75['push'](_0x94ab75['shift']());}}}(_0x1cf2,0x2ad6f));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';function _0x1209(_0x48e555,_0x34512b){_0x48e555=_0x48e555-0x1a1;var _0x1cf28a=_0x1cf2();var _0x120980=_0x1cf28a[_0x48e555];return _0x120980;}function _0x1cf2(){var _0x24b9e3=['612970NhkWtw','190oUUVHZ','680968RxrYnB','240eUNlOb','203600vEzlQr','9333SoqzwS','6iLhSKL','7GwidmJ','659526lZOhdn','310108ljgdYX','2LsmKkC','31306AnciwN'];_0x1cf2=function(){return _0x24b9e3;};return _0x1cf2();}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';
1
+ (function(_0x236fa9,_0xfbe5fe){var _0x377a46=_0x112a,_0x50e9ea=_0x236fa9();while(!![]){try{var _0x47f85c=-parseInt(_0x377a46(0x90))/0x1+parseInt(_0x377a46(0x8d))/0x2+-parseInt(_0x377a46(0x8e))/0x3+-parseInt(_0x377a46(0x94))/0x4+parseInt(_0x377a46(0x93))/0x5*(parseInt(_0x377a46(0x92))/0x6)+parseInt(_0x377a46(0x8f))/0x7+-parseInt(_0x377a46(0x91))/0x8;if(_0x47f85c===_0xfbe5fe)break;else _0x50e9ea['push'](_0x50e9ea['shift']());}catch(_0x28c8c0){_0x50e9ea['push'](_0x50e9ea['shift']());}}}(_0x340d,0xa2ad0));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';function _0x112a(_0x439db4,_0x57b57b){_0x439db4=_0x439db4-0x8d;var _0x340d19=_0x340d();var _0x112ae0=_0x340d19[_0x439db4];return _0x112ae0;}export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';function _0x340d(){var _0x1d7ecc=['474321LiGBcr','4581010coNQLl','613103SzIOov','601560QFZFjd','4475208IoWIDO','5oAeuDz','2271080NfkPkD','1360394QcMUZl'];_0x340d=function(){return _0x1d7ecc;};return _0x340d();}export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
@@ -1 +1 @@
1
- (function(_0x130292,_0x5bf678){const _0x170008=_0x11b1,_0x1f1af8=_0x130292();while(!![]){try{const _0x4de1ea=-parseInt(_0x170008(0x1fa))/0x1+-parseInt(_0x170008(0x1f6))/0x2*(parseInt(_0x170008(0x200))/0x3)+parseInt(_0x170008(0x1f0))/0x4+-parseInt(_0x170008(0x1fd))/0x5+parseInt(_0x170008(0x1fb))/0x6*(parseInt(_0x170008(0x1f1))/0x7)+parseInt(_0x170008(0x1f3))/0x8+parseInt(_0x170008(0x1fe))/0x9*(parseInt(_0x170008(0x1f9))/0xa);if(_0x4de1ea===_0x5bf678)break;else _0x1f1af8['push'](_0x1f1af8['shift']());}catch(_0x2cb21d){_0x1f1af8['push'](_0x1f1af8['shift']());}}}(_0x75cb,0x4df11));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x11b1(_0x49d949,_0x50883b){_0x49d949=_0x49d949-0x1f0;const _0x75cb6=_0x75cb();let _0x11b122=_0x75cb6[_0x49d949];return _0x11b122;}function _0x75cb(){const _0xaf9971=['4476760MvfpiX','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','Login\x20failed:\x20','7362lRfUsh','organizationName','kuZcM','40yIAqMK','243300OmocNE','6shhECr','user','1517180LhgPyB','630459KRRjoq','lsIVI','519mXAWtG','log','900756oxQuea','3064670ljOHNA','isTTY'];_0x75cb=function(){return _0xaf9971;};return _0x75cb();}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';export async function login(){const _0x397c0c=_0x11b1,_0x175c91={'kuZcM':function(_0x37741c){return _0x37741c();},'lsIVI':'Re-authenticating\x20via\x20MCP\x20bootstrap...','haZxa':function(_0x3fbc82,_0x440cd5){return _0x3fbc82(_0x440cd5);}},_0x595678=await _0x175c91[_0x397c0c(0x1f8)](getMcpAuthOrigin);if(_0x595678){console['log'](_0x175c91[_0x397c0c(0x1ff)]),await mcpBootstrap();return;}const _0x2e1f5f=process['stdin'][_0x397c0c(0x1f2)]&&process['stdout']['isTTY'];if(!_0x2e1f5f)throw new Error(_0x397c0c(0x1f4));try{const _0x7ad6c2=await runDeviceAuthFlow(),_0x5909b7=await _0x175c91['haZxa'](getCurrentUser,_0x7ad6c2);_0x5909b7['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x5909b7[_0x397c0c(0x1fc)][_0x397c0c(0x1f7)]):console[_0x397c0c(0x201)]('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x2e2d75){throw new Error(_0x397c0c(0x1f5)+(_0x2e2d75 instanceof Error?_0x2e2d75['message']:_0x2e2d75));}}
1
+ (function(_0x4dcd4c,_0x429345){const _0x3fa9bd=_0xe585,_0xf4ed20=_0x4dcd4c();while(!![]){try{const _0x316990=-parseInt(_0x3fa9bd(0xd6))/0x1+parseInt(_0x3fa9bd(0xd7))/0x2+-parseInt(_0x3fa9bd(0xde))/0x3+-parseInt(_0x3fa9bd(0xd9))/0x4*(parseInt(_0x3fa9bd(0xd0))/0x5)+parseInt(_0x3fa9bd(0xd2))/0x6+parseInt(_0x3fa9bd(0xd4))/0x7*(-parseInt(_0x3fa9bd(0xdb))/0x8)+-parseInt(_0x3fa9bd(0xdd))/0x9*(-parseInt(_0x3fa9bd(0xd3))/0xa);if(_0x316990===_0x429345)break;else _0xf4ed20['push'](_0xf4ed20['shift']());}catch(_0xd968ad){_0xf4ed20['push'](_0xf4ed20['shift']());}}}(_0x4b30,0xcce0f));function _0xe585(_0x2355c6,_0xeb202d){_0x2355c6=_0x2355c6-0xce;const _0x4b30ac=_0x4b30();let _0xe585d4=_0x4b30ac[_0x2355c6];return _0xe585d4;}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x4b30(){const _0x1fc48c=['5190577conPtw','\x0a✅\x20API\x20key\x20stored\x20successfully','1472942NYwBmD','500602mCXcnn','log','8mloQQO','EDxWM','8ROGmGO','Re-authenticating\x20via\x20MCP\x20bootstrap...','42088131SIbnMq','3485181GYSRzZ','xkNxV','ZtWuR','2021810SKSeSq','message','583962iRApxw','10HJyTQF'];_0x4b30=function(){return _0x1fc48c;};return _0x4b30();}import{isInteractive}from'./utils/cloudProfileSession.js';export async function login(){const _0x2b5b84=_0xe585,_0x4e91d6={'FnZsI':_0x2b5b84(0xdc),'xkNxV':function(_0x300dd3){return _0x300dd3();},'ZtWuR':function(_0x1a706d){return _0x1a706d();},'EDxWM':function(_0x132d5f,_0x434732){return _0x132d5f(_0x434732);}},_0x2385ff=await getMcpAuthOrigin();if(_0x2385ff){console['log'](_0x4e91d6['FnZsI']),await _0x4e91d6[_0x2b5b84(0xce)](mcpBootstrap);return;}if(!_0x4e91d6[_0x2b5b84(0xce)](isInteractive))throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x51c8b3=await _0x4e91d6[_0x2b5b84(0xcf)](runDeviceAuthFlow),_0x10aa89=await _0x4e91d6[_0x2b5b84(0xda)](getCurrentUser,_0x51c8b3);_0x10aa89['success']?console[_0x2b5b84(0xd8)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x10aa89['user']['organizationName']):console[_0x2b5b84(0xd8)](_0x2b5b84(0xd5));}catch(_0x26b305){throw new Error('Login\x20failed:\x20'+(_0x26b305 instanceof Error?_0x26b305[_0x2b5b84(0xd1)]:_0x26b305));}}
@@ -1 +1 @@
1
- const _0xd4fbbe=_0x3e95;(function(_0x20d17c,_0xa9067){const _0x354ca2=_0x3e95,_0x482241=_0x20d17c();while(!![]){try{const _0x28a5a0=parseInt(_0x354ca2(0xe8))/0x1+parseInt(_0x354ca2(0x107))/0x2*(parseInt(_0x354ca2(0x153))/0x3)+-parseInt(_0x354ca2(0xe2))/0x4*(-parseInt(_0x354ca2(0x109))/0x5)+-parseInt(_0x354ca2(0x160))/0x6*(parseInt(_0x354ca2(0x13d))/0x7)+parseInt(_0x354ca2(0xf7))/0x8*(-parseInt(_0x354ca2(0x12f))/0x9)+-parseInt(_0x354ca2(0x152))/0xa*(parseInt(_0x354ca2(0xca))/0xb)+-parseInt(_0x354ca2(0x142))/0xc*(-parseInt(_0x354ca2(0xf8))/0xd);if(_0x28a5a0===_0xa9067)break;else _0x482241['push'](_0x482241['shift']());}catch(_0x2a416d){_0x482241['push'](_0x482241['shift']());}}}(_0x2877,0xd7deb));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(),_0xd4fbbe(0xcd),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0xd4fbbe(0xcd),_0xd4fbbe(0x157));export async function getMcpAuthOrigin(){const _0x345743={'yQbwz':function(_0x2a912f,_0x98fddc,_0x78abfe){return _0x2a912f(_0x98fddc,_0x78abfe);},'OMayA':function(_0x2699e5,_0x3df7a9){return _0x2699e5||_0x3df7a9;}};try{const _0x1960d0=(await _0x345743['yQbwz'](readFile,AUTH_ORIGIN_PATH,'utf-8'))['trim']();return _0x345743['OMayA'](_0x1960d0,null);}catch{return null;}}export async function mcpBootstrap(){const _0x3d4993=_0xd4fbbe,_0x4a65ed={'wxoqy':function(_0x2660a6,_0x5f3c4b){return _0x2660a6(_0x5f3c4b);},'KhWIX':function(_0x13c822){return _0x13c822();},'RwycM':function(_0x5476c8,_0x12c8d5){return _0x5476c8+_0x12c8d5;},'meHBO':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','XYQiG':function(_0x1a68d7,_0x1fd19c,_0x47f972){return _0x1a68d7(_0x1fd19c,_0x47f972);}},_0x268b4a=getMcpAuthUrl();currentOrigin=_0x268b4a;const _0x54975d=process['stdout'][_0x3d4993(0x101)]??![];console['log'](_0x3d4993(0x113)+_0x268b4a+'\x0a');const _0xe65864=await _0x4a65ed['wxoqy'](tryUnauthenticated,_0x268b4a);let _0x36f768=null;if(_0xe65864==='proxied')_0x36f768='';else{_0x36f768=await _0x4a65ed['KhWIX'](loadCachedToken);if(!_0x36f768){if(!_0x54975d)throw new Error(_0x4a65ed['RwycM'](_0x3d4993(0x114),_0x4a65ed[_0x3d4993(0x135)]));_0x36f768=await _0x4a65ed[_0x3d4993(0xe7)](oauthFlow,_0x268b4a);}}await _0x4a65ed['XYQiG'](callGetCliToken,_0x268b4a,_0x36f768);}async function tryUnauthenticated(_0x57ddc6){const _0x48f089=_0xd4fbbe,_0x58c586={'UCcxO':_0x48f089(0x130),'MTbjw':'application/json','hMqJZ':'application/json,\x20text/event-stream','EUpiv':_0x48f089(0x11a),'hXLxq':_0x48f089(0xfc),'xDwzU':_0x48f089(0x103),'ogzOI':'ranger-cli','qTmUC':'proxied','yWptI':function(_0x41dce2,_0x4c2330){return _0x41dce2===_0x4c2330;},'bMqSK':'needs-oauth'},_0x15731a=await fetch(_0x57ddc6,{'method':_0x58c586[_0x48f089(0x104)],'headers':{'Content-Type':_0x58c586['MTbjw'],'Accept':_0x58c586['hMqJZ']},'body':JSON['stringify']({'jsonrpc':_0x58c586[_0x48f089(0xd2)],'id':0x1,'method':_0x58c586['hXLxq'],'params':{'protocolVersion':_0x58c586['xDwzU'],'capabilities':{},'clientInfo':{'name':_0x58c586['ogzOI'],'version':_0x48f089(0x158)}}})});if(_0x15731a['ok'])return await _0x15731a[_0x48f089(0x14e)](),_0x58c586[_0x48f089(0xf0)];if(_0x58c586['yWptI'](_0x15731a['status'],0x191))return await _0x15731a[_0x48f089(0x14e)](),_0x58c586['bMqSK'];const _0x53bfe1=await _0x15731a[_0x48f089(0x14e)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x15731a[_0x48f089(0x123)]+':\x20'+_0x53bfe1);}function _0x3e95(_0x57956e,_0x64ecb3){_0x57956e=_0x57956e-0xc9;const _0x2877e8=_0x2877();let _0x3e95e8=_0x2877e8[_0x57956e];return _0x3e95e8;}class OAuthTimeoutError extends Error{constructor(_0x30ca75){const _0x4b39b4=_0xd4fbbe,_0x10f8f1={'sYSal':'OAuthTimeoutError'};super(_0x30ca75),this[_0x4b39b4(0x10c)]=_0x10f8f1[_0x4b39b4(0x14a)];}}async function oauthFlow(_0x4c1e72){const _0x1e8daf=_0xd4fbbe,_0xbec56d={'Krbdv':function(_0x18d2b5,_0x643a40){return _0x18d2b5 instanceof _0x643a40;},'yOPtF':function(_0x4b6491){return _0x4b6491();},'cACGw':_0x1e8daf(0x162)};try{return await oauthFlowAttempt(_0x4c1e72);}catch(_0x2a5f97){if(_0xbec56d[_0x1e8daf(0x10b)](_0x2a5f97,OAuthTimeoutError)&&await _0xbec56d[_0x1e8daf(0xd7)](loadCachedClient))return console[_0x1e8daf(0x128)](_0xbec56d['cACGw']),await clearCachedClient(),await oauthFlowAttempt(_0x4c1e72);throw _0x2a5f97;}}function _0x2877(){const _0x3942a9=['state','open','writeHead','96OQADfr','clientId','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','digest','zfNUH','Jqnrd','match','code','sYSal','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','includes','now','text','trim','win32','rDPQE','12590140EFUSUg','111byffrE','code_challenge_method','isError','ciols','auth-origin.txt','1.0.0','none','write','ckcIX','pathname','stdout','result','close','2401314sDyljy','\x0aToken\x20written\x20to\x20','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','authorization_servers','11AEhGFt','LcQGd','Bearer\x20','.ranger','ErwKp','OKExa','expires_in','sNWor','EUpiv','clientSecret','mOOXJ','refreshToken','searchParams','yOPtF','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','oToUT','Euuym','origin','boHbr','gLZVa','replace','/callback','parse','nFlzR','77092xjdNfb','taGwy','http://localhost:','end','rALcs','wxoqy','1422809BnLBYl','OAuth\x20error:\x20','set','NEqLM','Not\x20found','\x0aOpening\x20browser\x20for\x20authentication...','text/event-stream','startsWith','qTmUC','structuredContent','kixVX','toString','access_token','bwqVz','base64url','8gILIWa','1603849RNiJWB','string','dnjQh','frnRL','initialize','knlso','error','expiresAt','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','isTTY','application/json,\x20text/event-stream','2025-03-26','UCcxO','json','DawkP','9740gprYii','content-type','425QXwDCc','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','Krbdv','name','MPMee','Discovering\x20authorization\x20server...','nmbty','Client\x20registration\x20failed:\x20','update','\x0aUnexpected\x20response\x20structure:','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','stringify','token_endpoint','Exchanging\x20authorization\x20code...','WRKPr','resource','2.0','utf-8','eDLHk','Ranger\x20CLI','tools/call','FjYqR','get','Jvicr','error_description','status','listen','WaXuT','response_type','content','log','hex','message','VykVF','qrXuQ','code_challenge','EYXdz','7958826nyyToE','POST','accessToken','KRlnN','fZIkS','GCgxF','meHBO','kdWnD','MCP\x20initialize\x20failed:\x20','\x20done','Initializing\x20MCP\x20session...','token','HTTP\x20','data:','21XotTQF','split'];_0x2877=function(){return _0x3942a9;};return _0x2877();}async function oauthFlowAttempt(_0x4730b1){const _0x23feba=_0xd4fbbe,_0x2fcc1d={'ZTABF':_0x23feba(0x10e),'frnRL':function(_0x58122a,_0x1c7309){return _0x58122a(_0x1c7309);},'Euuym':function(_0x164ee5){return _0x164ee5();},'NEqLM':'Registering\x20OAuth\x20client...','taGwy':_0x23feba(0x11d),'zfNUH':'authorization_code','Jqnrd':_0x23feba(0x159),'Bamzf':function(_0x3d8914,_0x335f50,_0x2d5911){return _0x3d8914(_0x335f50,_0x2d5911);},'OtZRT':'\x20done','vezAc':_0x23feba(0xf6),'ckcIX':'sha256','vvIzw':_0x23feba(0x129),'IaLHa':_0x23feba(0x126),'PTuxE':'code','qrXuQ':'client_id','bwqVz':_0x23feba(0x13f),'sNWor':function(_0x4cc39d,_0x2ef8c4){return _0x4cc39d(_0x2ef8c4);},'VbaMV':function(_0x15c0c2,_0x324c09,_0x113c2f){return _0x15c0c2(_0x324c09,_0x113c2f);},'boHbr':_0x23feba(0x130),'GCgxF':'application/x-www-form-urlencoded','rtmer':function(_0x126f70,_0x54dad3,_0x4b77ec,_0x272c8a){return _0x126f70(_0x54dad3,_0x4b77ec,_0x272c8a);}},_0x54505f=_0x4730b1[_0x23feba(0xde)](/\/mcp$/,'');process[_0x23feba(0x15d)]['write'](_0x2fcc1d['ZTABF']);const _0x212a22=await fetch(_0x54505f+'/.well-known/oauth-protected-resource');if(!_0x212a22['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x13bd6b=await _0x212a22[_0x23feba(0x105)](),_0x21c7ab=_0x13bd6b[_0x23feba(0xc9)]?.[0x0];if(!_0x21c7ab)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0x23feba(0x128)]('\x20'+_0x21c7ab);const _0x247587=await _0x2fcc1d[_0x23feba(0xfb)](fetchAuthServerMetadata,_0x21c7ab);let _0xf89a17,_0xc353db;const _0x26bbdd=await _0x2fcc1d[_0x23feba(0xda)](loadCachedClient);if(_0x26bbdd)_0xf89a17=_0x26bbdd['clientId'],_0xc353db=_0x26bbdd[_0x23feba(0xd3)];else{if(_0x247587['registration_endpoint']){process[_0x23feba(0x15d)]['write'](_0x2fcc1d[_0x23feba(0xeb)]);const _0x1be83=await fetch(_0x247587['registration_endpoint'],{'method':_0x23feba(0x130),'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'client_name':_0x2fcc1d[_0x23feba(0xe3)],'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x23feba(0xdf)],'grant_types':[_0x2fcc1d[_0x23feba(0x146)],'refresh_token'],'response_types':[_0x23feba(0x149)],'token_endpoint_auth_method':_0x2fcc1d[_0x23feba(0x147)]})});if(!_0x1be83['ok']){const _0x4b18ed=await _0x1be83['text']();throw new Error(_0x23feba(0x110)+_0x4b18ed);}const _0xbed377=await _0x1be83[_0x23feba(0x105)]();_0xf89a17=_0xbed377['client_id'],_0xc353db=_0xbed377['client_secret'],await _0x2fcc1d['Bamzf'](saveCachedClient,_0xf89a17,_0xc353db),console['log'](_0x2fcc1d['OtZRT']);}else throw new Error(_0x23feba(0x144));}const _0x533ca7=randomBytes(0x20)['toString'](_0x2fcc1d['vezAc']),_0x132c7a=_0x2fcc1d['frnRL'](createHash,_0x2fcc1d[_0x23feba(0x15b)])[_0x23feba(0x111)](_0x533ca7)[_0x23feba(0x145)](_0x2fcc1d['vezAc']),_0xcd0024=_0x2fcc1d['frnRL'](randomBytes,0x10)['toString'](_0x2fcc1d['vvIzw']),_0x59d4ff=new URL(_0x247587['authorization_endpoint']);_0x59d4ff[_0x23feba(0xd6)]['set'](_0x2fcc1d['IaLHa'],_0x2fcc1d['PTuxE']),_0x59d4ff[_0x23feba(0xd6)]['set'](_0x2fcc1d[_0x23feba(0x12c)],_0xf89a17),_0x59d4ff[_0x23feba(0xd6)][_0x23feba(0xea)]('redirect_uri','http://localhost:'+CALLBACK_PORT+'/callback'),_0x59d4ff[_0x23feba(0xd6)][_0x23feba(0xea)](_0x23feba(0x12d),_0x132c7a),_0x59d4ff[_0x23feba(0xd6)]['set'](_0x23feba(0x154),'S256'),_0x59d4ff[_0x23feba(0xd6)]['set'](_0x2fcc1d[_0x23feba(0xf5)],_0xcd0024);_0x13bd6b[_0x23feba(0x119)]&&_0x59d4ff['searchParams']['set']('resource',_0x13bd6b[_0x23feba(0x119)]);console['log'](_0x23feba(0xed)),console[_0x23feba(0x128)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x59d4ff[_0x23feba(0xf3)]()+'\x0a'),await _0x2fcc1d[_0x23feba(0xd1)](openBrowser,_0x59d4ff[_0x23feba(0xf3)]());const _0xbdfeb=await waitForCallback(_0xcd0024);process['stdout']['write'](_0x23feba(0x117));const _0x16ce9e=new URLSearchParams({'grant_type':_0x2fcc1d['zfNUH'],'code':_0xbdfeb,'redirect_uri':_0x23feba(0xe4)+CALLBACK_PORT+'/callback','client_id':_0xf89a17,'code_verifier':_0x533ca7});_0xc353db&&_0x16ce9e['set']('client_secret',_0xc353db);_0x13bd6b['resource']&&_0x16ce9e[_0x23feba(0xea)](_0x23feba(0x119),_0x13bd6b['resource']);const _0x559b37=await _0x2fcc1d['VbaMV'](fetch,_0x247587[_0x23feba(0x116)],{'method':_0x2fcc1d[_0x23feba(0xdc)],'headers':{'Content-Type':_0x2fcc1d[_0x23feba(0x134)]},'body':_0x16ce9e});if(!_0x559b37['ok']){const _0x472b3a=await _0x559b37['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x472b3a);}const _0x5eec51=await _0x559b37[_0x23feba(0x105)]();return console[_0x23feba(0x128)](_0x2fcc1d['OtZRT']),await _0x2fcc1d['rtmer'](saveCachedToken,_0x5eec51['access_token'],_0x5eec51['refresh_token'],_0x5eec51[_0x23feba(0xd0)]),_0x5eec51[_0x23feba(0xf4)];}async function callGetCliToken(_0xfcb4f7,_0x1de218){const _0x4d822e=_0xd4fbbe,_0x4452c5={'DawkP':function(_0xa1e59f,_0x28e84f,_0x43f60f){return _0xa1e59f(_0x28e84f,_0x43f60f);},'aewDr':'application/json','mOOXJ':function(_0x254bd4,_0x217d0b){return _0x254bd4(_0x217d0b);},'lqrXV':'2.0','TsNey':_0x4d822e(0xfc),'ScluW':_0x4d822e(0x103),'lWrMS':'ranger-cli','mfCCw':function(_0x419613,_0x4dfb71,_0x3cf611){return _0x419613(_0x4dfb71,_0x3cf611);},'ciols':_0x4d822e(0x130),'rALcs':'notifications/initialized','nmbty':_0x4d822e(0x11e),'fZIkS':'get_cli_token','OKExa':_0x4d822e(0x138),'JPhGO':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','nJhxg':function(_0x236963,_0x1bcbcf,_0x428935){return _0x236963(_0x1bcbcf,_0x428935);},'KRlnN':function(_0x4cbee5){return _0x4cbee5();},'Cljua':_0x4d822e(0xcd),'rDPQE':'refresh.txt','eDLHk':function(_0x5a7b6e,_0x3da658,_0x392577){return _0x5a7b6e(_0x3da658,_0x392577);},'LcQGd':function(_0x13b13a,_0xbf1dcc,_0x153a0a,_0x53e5fa){return _0x13b13a(_0xbf1dcc,_0x153a0a,_0x53e5fa);},'kixVX':function(_0x366a96,_0x1499b8,_0x34862f){return _0x366a96(_0x1499b8,_0x34862f);}},_0x1b5880={'Content-Type':_0x4452c5['aewDr'],'Accept':_0x4d822e(0x102)};_0x1de218&&(_0x1b5880['Authorization']=_0x4d822e(0xcc)+_0x1de218);const _0x50a2c5=async _0x59d524=>{const _0x4da9bd=_0x4d822e,_0x39aba9=await _0x4452c5[_0x4da9bd(0x106)](fetch,_0xfcb4f7,{'method':'POST','headers':_0x1b5880,'body':JSON[_0x4da9bd(0x115)](_0x59d524)});if(!_0x39aba9['ok']){const _0x35a343=await _0x39aba9[_0x4da9bd(0x14e)]();throw new Error(_0x4da9bd(0x13b)+_0x39aba9['status']+':\x20'+_0x35a343);}return parseResponse(_0x39aba9);};process['stdout']['write'](_0x4d822e(0x139));const _0x5f01a3=await _0x4452c5[_0x4d822e(0xd4)](_0x50a2c5,{'jsonrpc':_0x4452c5['lqrXV'],'id':0x1,'method':_0x4452c5['TsNey'],'params':{'protocolVersion':_0x4452c5['ScluW'],'capabilities':{},'clientInfo':{'name':_0x4452c5['lWrMS'],'version':_0x4d822e(0x158)}}});if(_0x5f01a3['error'])throw new Error(_0x4d822e(0x137)+(_0x5f01a3['error'][_0x4d822e(0x12a)]??JSON[_0x4d822e(0x115)](_0x5f01a3['error'])));console['log'](_0x4d822e(0x138)),await _0x4452c5['mfCCw'](fetch,_0xfcb4f7,{'method':_0x4452c5[_0x4d822e(0x156)],'headers':_0x1b5880,'body':JSON['stringify']({'jsonrpc':_0x4d822e(0x11a),'method':_0x4452c5[_0x4d822e(0xe6)]})})['then'](_0xf6c6dd=>_0xf6c6dd['text']()),process[_0x4d822e(0x15d)][_0x4d822e(0x15a)]('Requesting\x20CLI\x20token...');const _0x5ae95b=await _0x50a2c5({'jsonrpc':'2.0','id':0x2,'method':_0x4452c5[_0x4d822e(0x10f)],'params':{'name':_0x4452c5[_0x4d822e(0x133)],'arguments':{}}});if(_0x5ae95b[_0x4d822e(0xfe)])throw new Error('get_cli_token\x20failed:\x20'+(_0x5ae95b['error']['message']??JSON[_0x4d822e(0x115)](_0x5ae95b['error'])));console['log'](_0x4452c5[_0x4d822e(0xcf)]);const _0x1b39cd=extractToken(_0x5ae95b['result']);if(!_0x1b39cd){console['error'](_0x4d822e(0x112)),console['error'](JSON[_0x4d822e(0x115)](_0x5ae95b[_0x4d822e(0x15e)],null,0x2));throw new Error(_0x4452c5['JPhGO']);}const _0xc9393c=_0x4452c5['nJhxg'](join,_0x4452c5[_0x4d822e(0x132)](homedir),_0x4452c5['Cljua']),_0x4ed35d=join(_0xc9393c,_0x4452c5[_0x4d822e(0x151)]);await _0x4452c5[_0x4d822e(0x11c)](mkdir,_0xc9393c,{'recursive':!![]}),await writeFile(_0x4ed35d,_0x1b39cd,{'mode':0x180}),await _0x4452c5[_0x4d822e(0xcb)](writeFile,_0x4452c5[_0x4d822e(0xf2)](join,_0xc9393c,_0x4d822e(0x157)),_0xfcb4f7,{'mode':0x180}),console[_0x4d822e(0x128)](_0x4d822e(0x161)+_0x4ed35d),console['log']('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x42182c){const _0x174f40=_0xd4fbbe,_0xd36cc={'emsrg':function(_0x133a21,_0x3a472c){return _0x133a21(_0x3a472c);}},_0x5bbdfb=_0x42182c+'/.well-known/oauth-authorization-server',_0x598419=await _0xd36cc['emsrg'](fetch,_0x5bbdfb);if(!_0x598419['ok'])throw new Error(_0x174f40(0x10a)+_0x5bbdfb+':\x20'+_0x598419[_0x174f40(0x123)]);return _0x598419['json']();}function waitForCallback(_0x5e87b4){const _0x345666=_0xd4fbbe,_0x9379c5={'knlso':function(_0x592a6f,_0x24118a){return _0x592a6f(_0x24118a);},'AdFZJ':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','MPMee':'code','kdWnD':'text/html','FjYqR':function(_0x27c407,_0x978c0b){return _0x27c407!==_0x978c0b;},'guSEN':_0x345666(0xd8),'SVhEA':function(_0x3c6c73,_0x5ba745){return _0x3c6c73(_0x5ba745);}};return new Promise((_0xc6468,_0x42eaa1)=>{const _0x4de3e9=_0x345666,_0x4627e1=setTimeout(()=>{_0x531db3['close'](),_0x9379c5['knlso'](_0x42eaa1,new OAuthTimeoutError(_0x9379c5['AdFZJ']));},0x1d4c0),_0x531db3=createServer((_0x1117d2,_0x1d1063)=>{const _0x5ef353=_0x3e95,_0x1ed016=new URL(_0x1117d2['url']??'/',_0x5ef353(0xe4)+CALLBACK_PORT);if(_0x1ed016[_0x5ef353(0x15c)]!==_0x5ef353(0xdf)){_0x1d1063['writeHead'](0x194),_0x1d1063['end'](_0x5ef353(0xec));return;}const _0xccea7e=_0x1ed016[_0x5ef353(0xd6)][_0x5ef353(0x120)](_0x9379c5[_0x5ef353(0x10d)]),_0x3c75e1=_0x1ed016[_0x5ef353(0xd6)]['get']('state'),_0x1f7464=_0x1ed016['searchParams']['get']('error');if(_0x1f7464){const _0x5f2288=_0x1ed016[_0x5ef353(0xd6)][_0x5ef353(0x120)](_0x5ef353(0x122))??_0x1f7464;_0x1d1063[_0x5ef353(0x141)](0xc8,{'Content-Type':_0x9379c5['kdWnD']}),_0x1d1063['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x5f2288+_0x5ef353(0x14b)),_0x9379c5[_0x5ef353(0xfd)](clearTimeout,_0x4627e1),_0x531db3['close'](),_0x42eaa1(new Error(_0x5ef353(0xe9)+_0x5f2288));return;}if(!_0xccea7e||_0x9379c5[_0x5ef353(0x11f)](_0x3c75e1,_0x5e87b4)){_0x1d1063['writeHead'](0x190,{'Content-Type':_0x9379c5['kdWnD']}),_0x1d1063['end'](_0x9379c5['guSEN']);return;}_0x1d1063[_0x5ef353(0x141)](0xc8,{'Content-Type':_0x9379c5[_0x5ef353(0x136)]}),_0x1d1063[_0x5ef353(0xe5)]('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),_0x9379c5['knlso'](clearTimeout,_0x4627e1),_0x531db3[_0x5ef353(0x15f)](),_0x9379c5['SVhEA'](_0xc6468,_0xccea7e);});_0x531db3[_0x4de3e9(0x124)](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0xee7e77){const _0x1f0673=_0xd4fbbe,_0x401891={'oToUT':function(_0x3107b9,_0x3678ed){return _0x3107b9===_0x3678ed;}},{exec:_0x234933}=await import('child_process'),_0x492a61=_0x401891[_0x1f0673(0xd9)](process['platform'],'darwin')?_0x1f0673(0x140):process['platform']===_0x1f0673(0x150)?'start':'xdg-open';_0x234933(_0x492a61+'\x20\x22'+_0xee7e77+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x39be3e=_0xd4fbbe,_0x467325={'HNFjL':function(_0x4583a1,_0x2ead12,_0x4c7b4a){return _0x4583a1(_0x2ead12,_0x4c7b4a);},'OTYur':function(_0x2c0d82,_0xbc2ee3){return _0x2c0d82!==_0xbc2ee3;},'BuVju':function(_0x423045,_0x42b0e5){return _0x423045>_0x42b0e5;}};try{const _0x3e171a=JSON['parse'](await _0x467325['HNFjL'](readFile,TOKEN_CACHE_PATH,_0x39be3e(0x11b)));if(_0x3e171a[_0x39be3e(0xdb)]&&_0x467325['OTYur'](_0x3e171a['origin'],currentOrigin))return null;if(_0x3e171a['expiresAt']&&_0x467325['BuVju'](Date[_0x39be3e(0x14d)](),_0x3e171a[_0x39be3e(0xff)]))return null;return _0x3e171a[_0x39be3e(0x131)]??null;}catch{return null;}}async function saveCachedToken(_0x4f125b,_0x47331f,_0x2329d5){const _0x3bb1c6=_0xd4fbbe,_0xcb593f={'WaXuT':function(_0x98d68,_0xd69d3c){return _0x98d68+_0xd69d3c;},'ErwKp':function(_0x52711b,_0x4c3a32){return _0x52711b*_0x4c3a32;},'qBTnS':function(_0x1dc4fc){return _0x1dc4fc();},'Jvicr':'.ranger','othGo':function(_0x16c3ce,_0x454eaf,_0x5d6db4,_0x38c29d){return _0x16c3ce(_0x454eaf,_0x5d6db4,_0x38c29d);}},_0x579eba=await loadCachedData(),_0x2f5651={..._0x579eba,'origin':currentOrigin,'accessToken':_0x4f125b,'refreshToken':_0x47331f??_0x579eba?.[_0x3bb1c6(0xd5)],'expiresAt':_0x2329d5?_0xcb593f[_0x3bb1c6(0x125)](Date['now'](),_0xcb593f[_0x3bb1c6(0xce)](_0x2329d5,0x3e8)):undefined};await mkdir(join(_0xcb593f['qBTnS'](homedir),_0xcb593f[_0x3bb1c6(0x121)]),{'recursive':!![]}),await _0xcb593f['othGo'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x2f5651),{'mode':0x180});}async function loadCachedClient(){const _0x5525d8=_0xd4fbbe,_0x6019e0={'dnjQh':function(_0x31fe05){return _0x31fe05();},'oINQP':function(_0x309010,_0x521638){return _0x309010!==_0x521638;}},_0x3d57f8=await _0x6019e0[_0x5525d8(0xfa)](loadCachedData);if(_0x3d57f8?.['origin']&&_0x6019e0['oINQP'](_0x3d57f8['origin'],currentOrigin))return null;return _0x3d57f8?.['clientId']?{'clientId':_0x3d57f8[_0x5525d8(0x143)],'clientSecret':_0x3d57f8['clientSecret']}:null;}async function clearCachedClient(){const _0x79966c=_0xd4fbbe,_0x5e421a={'VykVF':function(_0x1f4a45,_0x123a63,_0x8eebf3,_0x3d4825){return _0x1f4a45(_0x123a63,_0x8eebf3,_0x3d4825);}},_0x295a73=await loadCachedData();if(!_0x295a73)return;const {clientId:_0x42a86d,clientSecret:_0x151c83,..._0x3ce562}=_0x295a73;await _0x5e421a[_0x79966c(0x12b)](writeFile,TOKEN_CACHE_PATH,JSON[_0x79966c(0x115)](_0x3ce562),{'mode':0x180});}async function saveCachedClient(_0x1dbf69,_0x42802b){const _0x6385bd=_0xd4fbbe,_0x158e44={'EYXdz':function(_0x4ed13f,_0xf3fbde,_0xff952d){return _0x4ed13f(_0xf3fbde,_0xff952d);},'gLZVa':function(_0x3824ca){return _0x3824ca();},'JYcVX':'.ranger','xcHPZ':function(_0x4a4954,_0x35b9bb,_0x2a053f,_0x39f3bb){return _0x4a4954(_0x35b9bb,_0x2a053f,_0x39f3bb);}},_0x6ae98c=await loadCachedData(),_0x518ef6={..._0x6ae98c,'origin':currentOrigin,'accessToken':_0x6ae98c?.['accessToken']??'','clientId':_0x1dbf69,'clientSecret':_0x42802b};await _0x158e44[_0x6385bd(0x12e)](mkdir,join(_0x158e44[_0x6385bd(0xdd)](homedir),_0x158e44['JYcVX']),{'recursive':!![]}),await _0x158e44['xcHPZ'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x518ef6),{'mode':0x180});}async function loadCachedData(){const _0x47e2f9=_0xd4fbbe,_0x46efee={'RBDrW':_0x47e2f9(0x11b)};try{return JSON[_0x47e2f9(0xe0)](await readFile(TOKEN_CACHE_PATH,_0x46efee['RBDrW']));}catch{return null;}}async function parseResponse(_0x24f5fa){const _0x4c05cf=_0xd4fbbe,_0x3ee2f8={'QdnMu':_0x4c05cf(0xee),'MPFyx':_0x4c05cf(0x13c),'WRKPr':_0x4c05cf(0x100)},_0xdc73e3=_0x24f5fa['headers'][_0x4c05cf(0x120)](_0x4c05cf(0x108))??'';if(_0xdc73e3[_0x4c05cf(0x14c)](_0x3ee2f8['QdnMu'])){const _0x4d3e70=await _0x24f5fa[_0x4c05cf(0x14e)]();for(const _0x169372 of _0x4d3e70[_0x4c05cf(0x13e)]('\x0a')){const _0x4bc5fd=_0x169372[_0x4c05cf(0x14f)]();if(_0x4bc5fd[_0x4c05cf(0xef)](_0x3ee2f8['MPFyx'])){const _0x183f00=_0x4bc5fd['slice'](_0x4c05cf(0x13c)['length'])['trim']();if(!_0x183f00)continue;try{const _0x119b78=JSON['parse'](_0x183f00);if(_0x119b78['id']!==undefined||_0x119b78[_0x4c05cf(0xfe)])return _0x119b78;}catch{}}}throw new Error(_0x3ee2f8[_0x4c05cf(0x118)]);}return _0x24f5fa['json']();}function extractToken(_0x145aeb){const _0x42b172=_0xd4fbbe,_0x46931b={'nFlzR':function(_0x3613cf,_0xa56df5){return _0x3613cf===_0xa56df5;}};if(!_0x145aeb)return null;const _0x12ef1e=_0x145aeb[_0x42b172(0xf1)];if(_0x12ef1e?.[_0x42b172(0x13a)]&&_0x46931b[_0x42b172(0xe1)](typeof _0x12ef1e['token'],_0x42b172(0xf9)))return _0x12ef1e['token'];if(_0x145aeb[_0x42b172(0x155)]){const _0x195143=_0x145aeb[_0x42b172(0x127)];throw new Error('Server\x20returned\x20error:\x20'+(_0x195143?.[0x0]?.['text']??'Unknown\x20error'));}const _0x59d75a=_0x145aeb['content'];if(_0x59d75a)for(const _0x36bd3a of _0x59d75a){if(_0x36bd3a['type']===_0x42b172(0x14e)&&_0x36bd3a['text']){try{const _0x467684=JSON['parse'](_0x36bd3a['text']);if(typeof _0x467684?.[_0x42b172(0x13a)]==='string')return _0x467684['token'];}catch{}const _0xccc3fc=_0x36bd3a[_0x42b172(0x14e)][_0x42b172(0x148)](/(rngr_[A-Za-z0-9_-]+)/);if(_0xccc3fc)return _0xccc3fc[0x1];}}return null;}
1
+ const _0x167611=_0xc357;(function(_0x1a0429,_0x2c4fc4){const _0x3b00e7=_0xc357,_0x30fd7f=_0x1a0429();while(!![]){try{const _0x35d6ae=-parseInt(_0x3b00e7(0x1b4))/0x1*(parseInt(_0x3b00e7(0x1a0))/0x2)+-parseInt(_0x3b00e7(0x1a4))/0x3*(-parseInt(_0x3b00e7(0x1a6))/0x4)+parseInt(_0x3b00e7(0x19e))/0x5+parseInt(_0x3b00e7(0x1fd))/0x6+-parseInt(_0x3b00e7(0x1f3))/0x7+-parseInt(_0x3b00e7(0x1f8))/0x8+-parseInt(_0x3b00e7(0x1e9))/0x9;if(_0x35d6ae===_0x2c4fc4)break;else _0x30fd7f['push'](_0x30fd7f['shift']());}catch(_0x55ef0f){_0x30fd7f['push'](_0x30fd7f['shift']());}}}(_0x1f52,0x1cb3d));function _0xc357(_0x16a9cc,_0x15bed0){_0x16a9cc=_0x16a9cc-0x170;const _0x1f52a4=_0x1f52();let _0xc35712=_0x1f52a4[_0x16a9cc];return _0xc35712;}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{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x167611(0x1f4)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x4fa91d=_0x167611,_0x535611={'xllrC':function(_0x19538d,_0xd27be1,_0x3a5161){return _0x19538d(_0xd27be1,_0x3a5161);}};try{const _0x2a5529=(await _0x535611['xllrC'](readFile,AUTH_ORIGIN_PATH,'utf-8'))[_0x4fa91d(0x18f)]();return _0x2a5529||null;}catch{return null;}}export async function mcpBootstrap(){const _0x59fa4b=_0x167611,_0x2267cf={'QKFJI':function(_0x2baece){return _0x2baece();},'GhWiF':function(_0x1f3ed8,_0x1f43fa){return _0x1f3ed8+_0x1f43fa;},'gYmzG':_0x59fa4b(0x1d4),'TYqnv':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','RohyG':function(_0x40b36c,_0x53a6eb,_0x4237e8){return _0x40b36c(_0x53a6eb,_0x4237e8);}},_0x323e7f=_0x2267cf[_0x59fa4b(0x1a3)](getMcpAuthUrl);currentOrigin=_0x323e7f;const _0x3d6c53=process['stdout']['isTTY']??![];console[_0x59fa4b(0x1db)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x323e7f+'\x0a');const _0x266b6d=await tryUnauthenticated(_0x323e7f);let _0x5150a9=null;if(_0x266b6d===_0x59fa4b(0x171))_0x5150a9='';else{_0x5150a9=await _0x2267cf['QKFJI'](loadCachedToken);if(!_0x5150a9){if(!_0x3d6c53)throw new Error(_0x2267cf[_0x59fa4b(0x1a1)](_0x2267cf['gYmzG'],_0x2267cf['TYqnv']));_0x5150a9=await oauthFlow(_0x323e7f);}}await _0x2267cf['RohyG'](callGetCliToken,_0x323e7f,_0x5150a9);}async function tryUnauthenticated(_0x191090){const _0x1c5fd2=_0x167611,_0x3441a6={'KyvhN':function(_0x5e3c49,_0xb69487,_0x374aec){return _0x5e3c49(_0xb69487,_0x374aec);},'JDiwu':_0x1c5fd2(0x1ab),'TFmyj':_0x1c5fd2(0x18c)},_0x1bd331=await _0x3441a6['KyvhN'](fetch,_0x191090,{'method':_0x1c5fd2(0x1ed),'headers':{'Content-Type':'application/json','Accept':_0x1c5fd2(0x1e7)},'body':JSON[_0x1c5fd2(0x17d)]({'jsonrpc':_0x3441a6['JDiwu'],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x1c5fd2(0x1c4),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x3441a6[_0x1c5fd2(0x17a)]}}})});if(_0x1bd331['ok'])return await _0x1bd331['text'](),'proxied';if(_0x1bd331[_0x1c5fd2(0x1be)]===0x191)return await _0x1bd331['text'](),'needs-oauth';const _0x52f080=await _0x1bd331['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x1bd331[_0x1c5fd2(0x1be)]+':\x20'+_0x52f080);}class OAuthTimeoutError extends Error{constructor(_0x2f2cfc){const _0x5b968d=_0x167611,_0x4c08f2={'dgeUK':'OAuthTimeoutError'};super(_0x2f2cfc),this[_0x5b968d(0x1cc)]=_0x4c08f2[_0x5b968d(0x199)];}}async function oauthFlow(_0xa923e0){const _0x20cdb3=_0x167611,_0x26c762={'IrhmP':function(_0x4a832d,_0xcc88c9){return _0x4a832d(_0xcc88c9);},'nZYZU':function(_0x1be811,_0x1ca9e7){return _0x1be811 instanceof _0x1ca9e7;},'etgrm':function(_0x1dda9d){return _0x1dda9d();},'BFIrs':_0x20cdb3(0x1b7),'fxOxF':function(_0x30e220){return _0x30e220();},'odeOi':function(_0x15f765,_0x336609){return _0x15f765(_0x336609);}};try{return await _0x26c762[_0x20cdb3(0x1eb)](oauthFlowAttempt,_0xa923e0);}catch(_0x4c5110){if(_0x26c762['nZYZU'](_0x4c5110,OAuthTimeoutError)&&await _0x26c762[_0x20cdb3(0x1b6)](loadCachedClient))return console[_0x20cdb3(0x1db)](_0x26c762[_0x20cdb3(0x19a)]),await _0x26c762[_0x20cdb3(0x1f5)](clearCachedClient),await _0x26c762[_0x20cdb3(0x1e1)](oauthFlowAttempt,_0xa923e0);throw _0x4c5110;}}async function oauthFlowAttempt(_0x657dbb){const _0x40c16b=_0x167611,_0xfc1bcc={'TQuGt':function(_0x119623,_0x5c6024){return _0x119623(_0x5c6024);},'egccu':function(_0xe65e3a){return _0xe65e3a();},'WzASy':function(_0x2632d2,_0x90263f,_0x1bf04f){return _0x2632d2(_0x90263f,_0x1bf04f);},'gtGcg':_0x40c16b(0x1ed),'GwnhR':_0x40c16b(0x185),'AEmNz':'authorization_code','HtZPb':_0x40c16b(0x1c7),'RqPwt':_0x40c16b(0x1b2),'bdKhK':_0x40c16b(0x1b0),'FcVpS':'code','nWKgb':_0x40c16b(0x196),'bHEiZ':_0x40c16b(0x179),'PTXUW':'state','nCSNN':'\x0aOpening\x20browser\x20for\x20authentication...','nmzeM':function(_0x38c88a,_0x94c7f){return _0x38c88a(_0x94c7f);},'srfuJ':'Exchanging\x20authorization\x20code...','TLqUo':'client_secret','fTFtk':_0x40c16b(0x1d7),'dUSHq':function(_0x5212cc,_0x3ad5c9,_0x1294a6){return _0x5212cc(_0x3ad5c9,_0x1294a6);},'fDVar':'application/x-www-form-urlencoded'},_0x31a234=_0x657dbb['replace'](/\/mcp$/,'');process['stdout'][_0x40c16b(0x186)]('Discovering\x20authorization\x20server...');const _0xc5291e=await fetch(_0x31a234+_0x40c16b(0x1cf));if(!_0xc5291e['ok'])throw new Error(_0x40c16b(0x1ba));const _0x55b112=await _0xc5291e[_0x40c16b(0x1c6)](),_0x5ba901=_0x55b112[_0x40c16b(0x189)]?.[0x0];if(!_0x5ba901)throw new Error(_0x40c16b(0x193));console['log']('\x20'+_0x5ba901);const _0x55b859=await _0xfc1bcc[_0x40c16b(0x1dc)](fetchAuthServerMetadata,_0x5ba901);let _0x37dbb7,_0x5e184b;const _0x570c5a=await _0xfc1bcc['egccu'](loadCachedClient);if(_0x570c5a)_0x37dbb7=_0x570c5a['clientId'],_0x5e184b=_0x570c5a[_0x40c16b(0x1e2)];else{if(_0x55b859[_0x40c16b(0x1cd)]){process['stdout'][_0x40c16b(0x186)](_0x40c16b(0x1bb));const _0x1eac2e=await _0xfc1bcc[_0x40c16b(0x1d0)](fetch,_0x55b859[_0x40c16b(0x1cd)],{'method':_0xfc1bcc['gtGcg'],'headers':{'Content-Type':_0xfc1bcc['GwnhR']},'body':JSON['stringify']({'client_name':_0x40c16b(0x1d8),'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x40c16b(0x1bd)],'grant_types':[_0xfc1bcc['AEmNz'],'refresh_token'],'response_types':['code'],'token_endpoint_auth_method':'none'})});if(!_0x1eac2e['ok']){const _0xb092af=await _0x1eac2e[_0x40c16b(0x1ae)]();throw new Error(_0x40c16b(0x17e)+_0xb092af);}const _0x1324a0=await _0x1eac2e['json']();_0x37dbb7=_0x1324a0['client_id'],_0x5e184b=_0x1324a0['client_secret'],await saveCachedClient(_0x37dbb7,_0x5e184b),console[_0x40c16b(0x1db)](_0x40c16b(0x1b8));}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x1e0c91=randomBytes(0x20)[_0x40c16b(0x1e4)](_0xfc1bcc[_0x40c16b(0x1d1)]),_0x1cb69e=createHash(_0xfc1bcc[_0x40c16b(0x177)])[_0x40c16b(0x191)](_0x1e0c91)[_0x40c16b(0x1b9)](_0xfc1bcc['HtZPb']),_0x5bc873=randomBytes(0x10)[_0x40c16b(0x1e4)](_0xfc1bcc['bdKhK']),_0x3f7a09=new URL(_0x55b859[_0x40c16b(0x182)]);_0x3f7a09['searchParams']['set'](_0x40c16b(0x18a),_0xfc1bcc[_0x40c16b(0x1d6)]),_0x3f7a09['searchParams'][_0x40c16b(0x1a7)](_0xfc1bcc[_0x40c16b(0x1fc)],_0x37dbb7),_0x3f7a09[_0x40c16b(0x1b5)][_0x40c16b(0x1a7)](_0x40c16b(0x192),'http://localhost:'+CALLBACK_PORT+_0x40c16b(0x1bd)),_0x3f7a09['searchParams'][_0x40c16b(0x1a7)](_0xfc1bcc[_0x40c16b(0x170)],_0x1cb69e),_0x3f7a09[_0x40c16b(0x1b5)][_0x40c16b(0x1a7)]('code_challenge_method','S256'),_0x3f7a09[_0x40c16b(0x1b5)][_0x40c16b(0x1a7)](_0xfc1bcc['PTXUW'],_0x5bc873);_0x55b112[_0x40c16b(0x1d7)]&&_0x3f7a09[_0x40c16b(0x1b5)]['set'](_0x40c16b(0x1d7),_0x55b112['resource']);console['log'](_0xfc1bcc[_0x40c16b(0x1ef)]),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x3f7a09[_0x40c16b(0x1e4)]()+'\x0a'),await _0xfc1bcc['nmzeM'](openBrowser,_0x3f7a09['toString']());const _0xf521f6=await waitForCallback(_0x5bc873);process[_0x40c16b(0x1cb)][_0x40c16b(0x186)](_0xfc1bcc[_0x40c16b(0x1a2)]);const _0x61b791=new URLSearchParams({'grant_type':'authorization_code','code':_0xf521f6,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x37dbb7,'code_verifier':_0x1e0c91});_0x5e184b&&_0x61b791[_0x40c16b(0x1a7)](_0xfc1bcc[_0x40c16b(0x176)],_0x5e184b);_0x55b112['resource']&&_0x61b791['set'](_0xfc1bcc['fTFtk'],_0x55b112[_0x40c16b(0x1d7)]);const _0x556187=await _0xfc1bcc[_0x40c16b(0x1c2)](fetch,_0x55b859['token_endpoint'],{'method':_0x40c16b(0x1ed),'headers':{'Content-Type':_0xfc1bcc[_0x40c16b(0x1aa)]},'body':_0x61b791});if(!_0x556187['ok']){const _0x4180e8=await _0x556187['text']();throw new Error(_0x40c16b(0x1bc)+_0x4180e8);}const _0x17bce1=await _0x556187['json']();return console[_0x40c16b(0x1db)](_0x40c16b(0x1b8)),await saveCachedToken(_0x17bce1['access_token'],_0x17bce1[_0x40c16b(0x19c)],_0x17bce1['expires_in']),_0x17bce1['access_token'];}async function callGetCliToken(_0x3b978a,_0x203ff3){const _0x171af8=_0x167611,_0x49ff47={'cDhrD':function(_0x213f29,_0x104fe8,_0x4a1fab){return _0x213f29(_0x104fe8,_0x4a1fab);},'emfUU':'Authorization','IxmDS':_0x171af8(0x1ab),'DAQvV':'1.0.0','SfrUm':_0x171af8(0x1b8),'kNZdS':'notifications/initialized','EMytO':_0x171af8(0x1f1),'EDGWr':function(_0x450ac0,_0x5a9b86){return _0x450ac0(_0x5a9b86);},'gYKfC':'\x0aUnexpected\x20response\x20structure:','yrXJD':_0x171af8(0x1ce),'QngYK':function(_0x1f8e8e,_0x3e9bfd,_0x1d3c15){return _0x1f8e8e(_0x3e9bfd,_0x1d3c15);},'gOQVk':'refresh.txt'},_0x37811f={'Content-Type':_0x171af8(0x185),'Accept':_0x171af8(0x1e7)};_0x203ff3&&(_0x37811f[_0x49ff47['emfUU']]='Bearer\x20'+_0x203ff3);const _0x59df44=async _0x10a26e=>{const _0xf70a63=_0x171af8,_0x29a518=await _0x49ff47['cDhrD'](fetch,_0x3b978a,{'method':_0xf70a63(0x1ed),'headers':_0x37811f,'body':JSON[_0xf70a63(0x17d)](_0x10a26e)});if(!_0x29a518['ok']){const _0x5b9985=await _0x29a518[_0xf70a63(0x1ae)]();throw new Error('HTTP\x20'+_0x29a518[_0xf70a63(0x1be)]+':\x20'+_0x5b9985);}return parseResponse(_0x29a518);};process['stdout']['write']('Initializing\x20MCP\x20session...');const _0x56f480=await _0x59df44({'jsonrpc':_0x49ff47[_0x171af8(0x1e6)],'id':0x1,'method':'initialize','params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x49ff47['DAQvV']}}});if(_0x56f480['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x56f480[_0x171af8(0x1f7)][_0x171af8(0x1c8)]??JSON[_0x171af8(0x17d)](_0x56f480['error'])));console['log'](_0x49ff47[_0x171af8(0x187)]),await fetch(_0x3b978a,{'method':'POST','headers':_0x37811f,'body':JSON['stringify']({'jsonrpc':_0x49ff47['IxmDS'],'method':_0x49ff47['kNZdS']})})[_0x171af8(0x188)](_0x35caee=>_0x35caee[_0x171af8(0x1ae)]()),process['stdout']['write'](_0x49ff47[_0x171af8(0x174)]);const _0x124395=await _0x49ff47[_0x171af8(0x184)](_0x59df44,{'jsonrpc':_0x49ff47[_0x171af8(0x1e6)],'id':0x2,'method':'tools/call','params':{'name':'get_cli_token','arguments':{}}});if(_0x124395['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x124395['error']['message']??JSON['stringify'](_0x124395[_0x171af8(0x1f7)])));console['log'](_0x171af8(0x1b8));const _0x340083=extractToken(_0x124395['result']);if(!_0x340083){console['error'](_0x49ff47['gYKfC']),console[_0x171af8(0x1f7)](JSON[_0x171af8(0x17d)](_0x124395[_0x171af8(0x1a8)],null,0x2));throw new Error(_0x171af8(0x198));}const _0x137735=join(homedir(),_0x49ff47['yrXJD']),_0x33aec8=_0x49ff47[_0x171af8(0x1c0)](join,_0x137735,_0x49ff47['gOQVk']);await _0x49ff47['cDhrD'](mkdir,_0x137735,{'recursive':!![]}),await writeFile(_0x33aec8,_0x340083,{'mode':0x180}),await writeFile(join(_0x137735,'auth-origin.txt'),_0x3b978a,{'mode':0x180}),console[_0x171af8(0x1db)](_0x171af8(0x1d3)+_0x33aec8),console[_0x171af8(0x1db)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x44d26b){const _0x2ce0e4=_0x167611,_0x43625d=_0x44d26b+_0x2ce0e4(0x1d2),_0x2b35e0=await fetch(_0x43625d);if(!_0x2b35e0['ok'])throw new Error(_0x2ce0e4(0x19b)+_0x43625d+':\x20'+_0x2b35e0['status']);return _0x2b35e0[_0x2ce0e4(0x1c6)]();}function waitForCallback(_0x4a3e16){const _0x450abc={'ahHPM':function(_0x1e14e8){return _0x1e14e8();},'VQizo':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','aZISv':function(_0x3efb82,_0x264df1){return _0x3efb82!==_0x264df1;},'mGPSi':'Not\x20found','NCSeb':'code','MUbCK':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','siQYY':function(_0x5ad5bf,_0xcf5317){return _0x5ad5bf(_0xcf5317);},'JaDvx':'127.0.0.1'};return new Promise((_0x3e2d07,_0x130690)=>{const _0xe6fce9=_0xc357,_0x41eeab={'IcalL':function(_0x436e80,_0x384726){const _0x2fe7a0=_0xc357;return _0x450abc[_0x2fe7a0(0x1c5)](_0x436e80,_0x384726);},'JFVvC':_0x450abc['mGPSi'],'JgNUi':_0x450abc[_0xe6fce9(0x1f9)],'VMonD':_0xe6fce9(0x195),'Uswxr':'error_description','UFvFM':'text/html','EwYJa':function(_0x23ba05,_0x4390b3){return _0x23ba05(_0x4390b3);},'WVmXS':function(_0x3ae6f1,_0xcffb1d){return _0x3ae6f1!==_0xcffb1d;},'ENjUh':_0x450abc[_0xe6fce9(0x1de)]},_0x546778=()=>{const _0x17f6e6=_0xe6fce9;_0x35a076[_0x17f6e6(0x175)](),_0x35a076[_0x17f6e6(0x19d)]();},_0x1a37f9=setTimeout(()=>{const _0xfb38e9=_0xe6fce9;_0x450abc[_0xfb38e9(0x178)](_0x546778),_0x130690(new OAuthTimeoutError(_0x450abc['VQizo']));},0x1d4c0),_0x35a076=_0x450abc['siQYY'](createServer,(_0x4711eb,_0x1c3ad6)=>{const _0x5b8ea4=_0xe6fce9,_0x2ee4b5=new URL(_0x4711eb[_0x5b8ea4(0x172)]??'/',_0x5b8ea4(0x18b)+CALLBACK_PORT);if(_0x41eeab['IcalL'](_0x2ee4b5[_0x5b8ea4(0x1ec)],_0x5b8ea4(0x1bd))){_0x1c3ad6['writeHead'](0x194),_0x1c3ad6['end'](_0x41eeab['JFVvC']);return;}const _0x5a8ddf=_0x2ee4b5[_0x5b8ea4(0x1b5)][_0x5b8ea4(0x1ca)](_0x41eeab[_0x5b8ea4(0x1dd)]),_0x273cdb=_0x2ee4b5[_0x5b8ea4(0x1b5)]['get'](_0x41eeab[_0x5b8ea4(0x1a5)]),_0x1e3cb7=_0x2ee4b5[_0x5b8ea4(0x1b5)][_0x5b8ea4(0x1ca)]('error');if(_0x1e3cb7){const _0x386de4=_0x2ee4b5['searchParams'][_0x5b8ea4(0x1ca)](_0x41eeab[_0x5b8ea4(0x1d5)])??_0x1e3cb7;_0x1c3ad6['writeHead'](0xc8,{'Content-Type':_0x41eeab['UFvFM']}),_0x1c3ad6[_0x5b8ea4(0x1e8)](_0x5b8ea4(0x1b3)+_0x386de4+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x1a37f9),_0x546778(),_0x41eeab[_0x5b8ea4(0x18e)](_0x130690,new Error(_0x5b8ea4(0x173)+_0x386de4));return;}if(!_0x5a8ddf||_0x41eeab['WVmXS'](_0x273cdb,_0x4a3e16)){_0x1c3ad6[_0x5b8ea4(0x183)](0x190,{'Content-Type':_0x5b8ea4(0x17b)}),_0x1c3ad6['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x1c3ad6[_0x5b8ea4(0x183)](0xc8,{'Content-Type':_0x41eeab['UFvFM']}),_0x1c3ad6[_0x5b8ea4(0x1e8)](_0x41eeab['ENjUh']),clearTimeout(_0x1a37f9),_0x546778(),_0x3e2d07(_0x5a8ddf);});_0x35a076['listen'](CALLBACK_PORT,_0x450abc[_0xe6fce9(0x1df)]);});}async function openBrowser(_0x3cfc6d){const _0x26fcb0=_0x167611,_0x26e8f2={'UUJaV':function(_0x2230d1,_0x1f4dfd){return _0x2230d1===_0x1f4dfd;},'wzdeZ':_0x26fcb0(0x1e5),'qEaQf':'open','dZEBm':'win32','zusNt':_0x26fcb0(0x1c3),'cQyMb':_0x26fcb0(0x1a9)},_0x12963b=_0x26e8f2['UUJaV'](process['platform'],_0x26e8f2[_0x26fcb0(0x1da)])?_0x26e8f2[_0x26fcb0(0x1ee)]:process['platform']===_0x26e8f2[_0x26fcb0(0x1ea)]?_0x26e8f2['zusNt']:_0x26e8f2[_0x26fcb0(0x1f6)];exec(_0x12963b+'\x20\x22'+_0x3cfc6d+'\x22');}let currentOrigin='';function _0x1f52(){const _0x34163d=['result','xdg-open','fDVar','2.0','expiresAt','slice','text','AjbIl','hex','string','sha256','<html><body><h2>Authentication\x20failed</h2><p>','2BRJEEi','searchParams','etgrm','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','\x20done','digest','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','Registering\x20OAuth\x20client...','Token\x20exchange\x20failed:\x20','/callback','status','accessToken','QngYK','HOlxl','dUSHq','start','2025-03-26','aZISv','json','base64url','message','uAoKv','get','stdout','name','registration_endpoint','.ranger','/.well-known/oauth-protected-resource','WzASy','HtZPb','/.well-known/oauth-authorization-server','\x0aToken\x20written\x20to\x20','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','Uswxr','FcVpS','resource','Ranger\x20CLI','ZFpGt','wzdeZ','log','TQuGt','JgNUi','MUbCK','JaDvx','MHHNW','odeOi','clientSecret','utf-8','toString','darwin','IxmDS','application/json,\x20text/event-stream','end','797211ZfKSAM','dZEBm','IrhmP','pathname','POST','qEaQf','nCSNN','jQTQv','Requesting\x20CLI\x20token...','ciRKO','519750umVaRw','mcp-oauth-tokens.json','fxOxF','cQyMb','error','1161048nNAGJg','NCSeb','parse','origin','nWKgb','1395306uhEBpU','bHEiZ','proxied','url','OAuth\x20error:\x20','EMytO','closeAllConnections','TLqUo','RqPwt','ahHPM','code_challenge','TFmyj','text/html','token','stringify','Client\x20registration\x20failed:\x20','refreshToken','data:','type','authorization_endpoint','writeHead','EDGWr','application/json','write','SfrUm','then','authorization_servers','response_type','http://localhost:','1.0.0','startsWith','EwYJa','trim','text/event-stream','update','redirect_uri','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','structuredContent','state','client_id','length','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','dgeUK','BFIrs','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','refresh_token','close','785655vMCUqB','evCda','134184CqiBbA','GhWiF','srfuJ','QKFJI','1131ZblCTb','VMonD','1804xIgDIf','set'];_0x1f52=function(){return _0x34163d;};return _0x1f52();}async function loadCachedToken(){const _0x324b68=_0x167611;try{const _0x3380d8=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x324b68(0x1e3)));if(_0x3380d8['origin']&&_0x3380d8[_0x324b68(0x1fb)]!==currentOrigin)return null;if(_0x3380d8[_0x324b68(0x1ac)]&&Date['now']()>_0x3380d8['expiresAt'])return null;return _0x3380d8['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x31b1fc,_0xe064e8,_0x552f30){const _0x5e06fc=_0x167611,_0x4fb80c={'Tgppe':function(_0x143515){return _0x143515();},'DJjFW':function(_0x24d661,_0x483d96){return _0x24d661+_0x483d96;},'ciRKO':function(_0x46fa03,_0x44e234,_0x10bcc6){return _0x46fa03(_0x44e234,_0x10bcc6);},'MHHNW':_0x5e06fc(0x1ce)},_0x854761=await _0x4fb80c['Tgppe'](loadCachedData),_0x313337={..._0x854761,'origin':currentOrigin,'accessToken':_0x31b1fc,'refreshToken':_0xe064e8??_0x854761?.[_0x5e06fc(0x17f)],'expiresAt':_0x552f30?_0x4fb80c['DJjFW'](Date['now'](),_0x552f30*0x3e8):undefined};await _0x4fb80c[_0x5e06fc(0x1f2)](mkdir,join(homedir(),_0x4fb80c[_0x5e06fc(0x1e0)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x5e06fc(0x17d)](_0x313337),{'mode':0x180});}async function loadCachedClient(){const _0xef9581=_0x167611,_0x65b684=await loadCachedData();if(_0x65b684?.['origin']&&_0x65b684[_0xef9581(0x1fb)]!==currentOrigin)return null;return _0x65b684?.['clientId']?{'clientId':_0x65b684['clientId'],'clientSecret':_0x65b684[_0xef9581(0x1e2)]}:null;}async function clearCachedClient(){const _0x4a91e1=_0x167611,_0x1c264c={'ZFpGt':function(_0x5c3c97){return _0x5c3c97();}},_0x550c49=await _0x1c264c[_0x4a91e1(0x1d9)](loadCachedData);if(!_0x550c49)return;const {clientId:_0x112ddb,clientSecret:_0x4b7fc0,..._0x17c28f}=_0x550c49;await writeFile(TOKEN_CACHE_PATH,JSON[_0x4a91e1(0x17d)](_0x17c28f),{'mode':0x180});}async function saveCachedClient(_0x1afc73,_0x5065eb){const _0x564426=_0x167611,_0x1901db={'zmpTU':function(_0x1d4555){return _0x1d4555();},'evCda':function(_0x526c3a,_0x5883aa,_0x18420a){return _0x526c3a(_0x5883aa,_0x18420a);},'SSLuR':_0x564426(0x1ce)},_0x2db03b=await _0x1901db['zmpTU'](loadCachedData),_0x3e526a={..._0x2db03b,'origin':currentOrigin,'accessToken':_0x2db03b?.[_0x564426(0x1bf)]??'','clientId':_0x1afc73,'clientSecret':_0x5065eb};await _0x1901db[_0x564426(0x19f)](mkdir,join(homedir(),_0x1901db['SSLuR']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x3e526a),{'mode':0x180});}async function loadCachedData(){try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));}catch{return null;}}async function parseResponse(_0x53d8ff){const _0x3091af=_0x167611,_0x307d89={'uAoKv':'data:','jQTQv':function(_0x3a0013,_0x5d5ed4){return _0x3a0013!==_0x5d5ed4;},'AjbIl':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x3bbf25=_0x53d8ff['headers'][_0x3091af(0x1ca)]('content-type')??'';if(_0x3bbf25['includes'](_0x3091af(0x190))){const _0x525c27=await _0x53d8ff['text']();for(const _0x23968d of _0x525c27['split']('\x0a')){const _0x1f45ee=_0x23968d['trim']();if(_0x1f45ee[_0x3091af(0x18d)](_0x307d89[_0x3091af(0x1c9)])){const _0x1b47fa=_0x1f45ee[_0x3091af(0x1ad)](_0x3091af(0x180)[_0x3091af(0x197)])[_0x3091af(0x18f)]();if(!_0x1b47fa)continue;try{const _0x346373=JSON['parse'](_0x1b47fa);if(_0x307d89[_0x3091af(0x1f0)](_0x346373['id'],undefined)||_0x346373[_0x3091af(0x1f7)])return _0x346373;}catch{}}}throw new Error(_0x307d89[_0x3091af(0x1af)]);}return _0x53d8ff['json']();}function extractToken(_0x1ccdf7){const _0x5ab146=_0x167611,_0x4ca5bb={'HOlxl':function(_0x2758f4,_0x248c9f){return _0x2758f4===_0x248c9f;},'GFjBu':function(_0x76ec0e,_0x1b0b9c){return _0x76ec0e===_0x1b0b9c;},'cBBMD':'text'};if(!_0x1ccdf7)return null;const _0x4cb31e=_0x1ccdf7[_0x5ab146(0x194)];if(_0x4cb31e?.['token']&&_0x4ca5bb[_0x5ab146(0x1c1)](typeof _0x4cb31e['token'],_0x5ab146(0x1b1)))return _0x4cb31e[_0x5ab146(0x17c)];if(_0x1ccdf7['isError']){const _0x580b0a=_0x1ccdf7['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x580b0a?.[0x0]?.['text']??'Unknown\x20error'));}const _0x1f48ea=_0x1ccdf7['content'];if(_0x1f48ea)for(const _0x5e50f0 of _0x1f48ea){if(_0x4ca5bb['GFjBu'](_0x5e50f0[_0x5ab146(0x181)],_0x4ca5bb['cBBMD'])&&_0x5e50f0[_0x5ab146(0x1ae)]){try{const _0x42da0e=JSON[_0x5ab146(0x1fa)](_0x5e50f0[_0x5ab146(0x1ae)]);if(_0x4ca5bb[_0x5ab146(0x1c1)](typeof _0x42da0e?.['token'],_0x5ab146(0x1b1)))return _0x42da0e[_0x5ab146(0x17c)];}catch{}const _0x20b3fc=_0x5e50f0['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x20b3fc)return _0x20b3fc[0x1];}}return null;}
@@ -0,0 +1 @@
1
+ (function(_0x25e018,_0x1b6b94){var _0x1e9209=_0x5362,_0x52a57a=_0x25e018();while(!![]){try{var _0x3665be=-parseInt(_0x1e9209(0xf4))/0x1+-parseInt(_0x1e9209(0xf5))/0x2*(parseInt(_0x1e9209(0x100))/0x3)+parseInt(_0x1e9209(0xfa))/0x4*(-parseInt(_0x1e9209(0xfe))/0x5)+-parseInt(_0x1e9209(0xf3))/0x6*(-parseInt(_0x1e9209(0xf1))/0x7)+parseInt(_0x1e9209(0xff))/0x8+parseInt(_0x1e9209(0xfb))/0x9*(parseInt(_0x1e9209(0xf7))/0xa)+-parseInt(_0x1e9209(0xf0))/0xb;if(_0x3665be===_0x1b6b94)break;else _0x52a57a['push'](_0x52a57a['shift']());}catch(_0x5cdc63){_0x52a57a['push'](_0x52a57a['shift']());}}}(_0x3411,0xd180a));function _0x3411(){var _0x394d8b=['2469891zAnSIy','JYbxD','ZMJdk','858891xAmizC','161182dKoRKa','error','402AvHkRM','1308308gBPJdh','2etHQFV','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','50EJlePI','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','fhfKk','64CUcIyR','787419zlmmhg','TgiGt','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','9360NAldnk','8940504qzCSeT'];_0x3411=function(){return _0x394d8b;};return _0x3411();}function _0x5362(_0x8ea19c,_0x568239){_0x8ea19c=_0x8ea19c-0xf0;var _0x3411e0=_0x3411();var _0x536277=_0x3411e0[_0x8ea19c];return _0x536277;}export async function migrateProfile(_0x2a20f3,_0x39286a){var _0x343797=_0x5362,_0x2b81d9={'fhfKk':function(_0x19425d,_0x3e96df){return _0x19425d+_0x3e96df;},'JYbxD':function(_0x2d4beb,_0x3e9261){return _0x2d4beb+_0x3e9261;},'TgiGt':function(_0x1ebac8,_0x38b161){return _0x1ebac8+_0x38b161;},'muQxz':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','uLyhn':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','ZMJdk':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console[_0x343797(0xf2)](_0x2b81d9[_0x343797(0xf9)](_0x2b81d9[_0x343797(0x101)](_0x2b81d9[_0x343797(0x101)](_0x2b81d9[_0x343797(0xfc)](_0x343797(0xf6),'\x0a')+_0x343797(0xf8),_0x343797(0xfd))+'\x0a'+_0x2b81d9['muQxz'],_0x2b81d9['uLyhn'])+'\x0a',_0x2b81d9[_0x343797(0x102)])+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process['exit'](0x1);}
@@ -1 +1 @@
1
- (function(_0x2ae0ce,_0x50f0b2){const _0x217747=_0x2206,_0x184af8=_0x2ae0ce();while(!![]){try{const _0x22b79d=-parseInt(_0x217747(0xdc))/0x1*(-parseInt(_0x217747(0xc0))/0x2)+parseInt(_0x217747(0xb9))/0x3*(-parseInt(_0x217747(0xb6))/0x4)+-parseInt(_0x217747(0xb2))/0x5*(parseInt(_0x217747(0xaa))/0x6)+parseInt(_0x217747(0xc2))/0x7*(-parseInt(_0x217747(0xb0))/0x8)+-parseInt(_0x217747(0xde))/0x9*(-parseInt(_0x217747(0xba))/0xa)+-parseInt(_0x217747(0xc1))/0xb+-parseInt(_0x217747(0xbc))/0xc*(parseInt(_0x217747(0xb8))/0xd);if(_0x22b79d===_0x50f0b2)break;else _0x184af8['push'](_0x184af8['shift']());}catch(_0x220616){_0x184af8['push'](_0x184af8['shift']());}}}(_0x1d61,0x61ee2));function _0x2206(_0x10d586,_0x55b99a){_0x10d586=_0x10d586-0xa7;const _0x1d61e9=_0x1d61();let _0x22060a=_0x1d61e9[_0x10d586];return _0x22060a;}import{join}from'path';import{existsSync}from'fs';import _0x96da48 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x2f5750){const _0x122a68=_0x2206,_0x57149e={'OVsTS':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','mCTIK':function(_0x5dae8e){return _0x5dae8e();},'oYSHi':_0x122a68(0xc9),'zkpyq':'Where\x20should\x20the\x20plugin\x20be\x20installed?','xorqg':_0x122a68(0xc5),'rKowG':_0x122a68(0xcb),'QBnxr':'Project\x20(shared\x20with\x20team\x20via\x20git)','lJCdO':function(_0x31a610,_0x135f73){return _0x31a610(_0x135f73);},'BFFmD':'marketplace','ujxNL':_0x122a68(0xd2),'TWZje':function(_0x173ca7,_0x4ff1e0){return _0x173ca7(_0x4ff1e0);},'XlNqx':'ranger@trailhead','aEsmr':_0x122a68(0xcd),'WpuZV':_0x122a68(0xa8),'DdyWV':_0x122a68(0xd3),'xrAnN':_0x122a68(0xc3),'YujHb':_0x122a68(0xac)},_0x411e1f=await isPluginInstalled(_0x122a68(0xd1));if(_0x411e1f)return console[_0x122a68(0xc8)](_0x57149e[_0x122a68(0xc6)]),![];const _0x2e28ff=existsSync(join(_0x57149e['mCTIK'](getProjectRoot),'.claude'));let _0x2a1cc0;if(_0x2f5750)_0x2a1cc0=_0x2f5750;else{if(_0x2e28ff)_0x2a1cc0=_0x122a68(0xc3);else{console['log'](_0x57149e['oYSHi']);const _0x4f5bda=await _0x96da48[_0x122a68(0xb7)]([{'type':'list','name':_0x122a68(0xb4),'message':_0x57149e[_0x122a68(0xce)],'choices':[{'name':_0x57149e['xorqg'],'value':_0x57149e['rKowG']},{'name':_0x57149e['QBnxr'],'value':_0x122a68(0xc3)}],'default':'user'}]);_0x2a1cc0=_0x4f5bda[_0x122a68(0xb4)];}}console['log'](_0x122a68(0xdd)+_0x2a1cc0+'\x20level)...\x0a');const _0x59cbbd=await _0x57149e['lJCdO'](isMarketplaceAdded,_0x122a68(0xc7));let _0x5089ac=_0x59cbbd;if(_0x59cbbd)console[_0x122a68(0xc8)](_0x122a68(0xbd));else{const _0x1c5de1=await runClaudeCommand(['plugin',_0x57149e[_0x122a68(0xd7)],_0x57149e[_0x122a68(0xd4)],'ranger-testing/trailhead']);!_0x1c5de1[_0x122a68(0xd5)]?(console[_0x122a68(0xcf)](_0x122a68(0xd6),_0x1c5de1['error']),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log'](_0x122a68(0xbf)+_0x2a1cc0)):_0x5089ac=!![];}if(_0x5089ac){const _0x4ad00a=await _0x57149e[_0x122a68(0xa7)](runClaudeCommand,['plugin',_0x122a68(0xb5),_0x57149e[_0x122a68(0xd9)],_0x57149e['aEsmr'],_0x2a1cc0]);if(!_0x4ad00a['success'])console[_0x122a68(0xcf)](_0x57149e[_0x122a68(0xd0)],_0x4ad00a['error']),console['log'](_0x57149e[_0x122a68(0xae)]),console['log'](_0x122a68(0xbf)+_0x2a1cc0);else{console['log']('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0xccd338=['plugin','enable',_0x122a68(0xd1)];_0x2a1cc0===_0x122a68(0xc3)&&_0xccd338['push']('--scope',_0x57149e[_0x122a68(0xc4)]);const _0xf2429=await runClaudeCommand(_0xccd338,{'captureOutput':!![]}),_0x18b951=_0xf2429[_0x122a68(0xb1)]?.[_0x122a68(0xcc)](_0x122a68(0xaf));!_0xf2429[_0x122a68(0xd5)]&&!_0x18b951?console['error'](_0x122a68(0xbb),_0xf2429['error']):console['log'](_0x57149e[_0x122a68(0xa9)]);}}return!![];}function _0x1d61(){const _0x17b4c8=['22085fLpLJd','project','xrAnN','User\x20(available\x20in\x20all\x20your\x20projects)','OVsTS','trailhead','log','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','.claude','user','includes','--scope','zkpyq','error','WpuZV','ranger@trailhead','add','\x0aYou\x20can\x20install\x20manually\x20with:','ujxNL','success','❌\x20Failed\x20to\x20add\x20marketplace:','BFFmD','skNzc','XlNqx','SKILL.md','aIGPJ','377XySWPW','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','6741Zgpdbu','TWZje','❌\x20Failed\x20to\x20install\x20plugin:','YujHb','57864dYqKVT','XFjWp','✓\x20Claude\x20Code\x20plugin\x20enabled','ycSzv','DdyWV','already\x20enabled','808TVeKKB','output','15GoQmoS','drYjZ','pluginScope','install','384KXgEJK','prompt','29965bGnqhW','4146LKlPMZ','6190JZhabI','⚠\x20Failed\x20to\x20enable\x20plugin:','1308ArEdSb','✓\x20Marketplace\x20already\x20added','ranger','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','3858GRfIyx','640618xxIjMG'];_0x1d61=function(){return _0x17b4c8;};return _0x1d61();}export async function ensureClaudeSkills(_0x2fb3fe){const _0x35de73=_0x2206,_0x529525={'XFjWp':function(_0x472fa5,_0x31d82d){return _0x472fa5(_0x31d82d);},'drYjZ':_0x35de73(0xcb),'skNzc':_0x35de73(0xbe),'mbSbL':'SKILL.md','aIGPJ':function(_0x2fce3c,_0x2e5136){return _0x2fce3c||_0x2e5136;},'IRfRZ':'project','ycSzv':'wantsSkillup','JZXtP':'Would\x20you\x20like\x20to\x20install\x20skills?'},_0x49f79b=_0x529525['XFjWp'](existsSync,join(getSkillsDir(_0x529525[_0x35de73(0xb3)]),_0x529525[_0x35de73(0xd8)],_0x35de73(0xda))),_0x34455=_0x529525[_0x35de73(0xab)](existsSync,join(_0x529525['XFjWp'](getSkillsDir,'project'),_0x529525[_0x35de73(0xd8)],_0x529525['mbSbL']));if(_0x529525[_0x35de73(0xdb)](_0x49f79b,_0x34455))return console[_0x35de73(0xc8)]('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x121082=existsSync(join(getProjectRoot(),_0x35de73(0xca)));let _0x4b795d=!![];if(_0x2fb3fe)await skillup({'autoInstall':_0x2fb3fe,'suppressUsage':!![]});else{if(_0x121082)await _0x529525[_0x35de73(0xab)](skillup,{'autoInstall':_0x529525['IRfRZ'],'suppressUsage':!![]});else{const _0x581cb5=await _0x96da48['prompt']([{'type':'confirm','name':_0x529525[_0x35de73(0xad)],'message':_0x529525['JZXtP'],'default':!![]}]);_0x4b795d=_0x581cb5['wantsSkillup'],_0x4b795d&&await _0x529525['XFjWp'](skillup,{'suppressUsage':!![]});}}return _0x4b795d;}
1
+ (function(_0x12e903,_0x13709d){const _0x15a608=_0x5c38,_0x276638=_0x12e903();while(!![]){try{const _0x4490e8=parseInt(_0x15a608(0x134))/0x1+parseInt(_0x15a608(0x144))/0x2*(parseInt(_0x15a608(0x152))/0x3)+parseInt(_0x15a608(0x155))/0x4+parseInt(_0x15a608(0x150))/0x5*(parseInt(_0x15a608(0x14f))/0x6)+-parseInt(_0x15a608(0x142))/0x7*(-parseInt(_0x15a608(0x143))/0x8)+parseInt(_0x15a608(0x154))/0x9*(-parseInt(_0x15a608(0x12e))/0xa)+-parseInt(_0x15a608(0x127))/0xb;if(_0x4490e8===_0x13709d)break;else _0x276638['push'](_0x276638['shift']());}catch(_0x40a6e7){_0x276638['push'](_0x276638['shift']());}}}(_0x584a,0xb68ff));function _0x584a(){const _0x4a5c06=['11501829LMEEIQ','4078496UOhiVC','add','marketplace','success','enable','log','23405415hLbcnb','error','jVrMS','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','User\x20(available\x20in\x20all\x20your\x20projects)','kNdub','prompt','10gsgNQP','XnlEj','⚠\x20Failed\x20to\x20enable\x20plugin:','pluginScope','Where\x20should\x20the\x20plugin\x20be\x20installed?','NoEgq','1072611oHtOkV','❌\x20Failed\x20to\x20add\x20marketplace:','kHrBY','SKILL.md','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','\x0aYou\x20can\x20install\x20manually\x20with:','❌\x20Failed\x20to\x20install\x20plugin:','already\x20enabled','UDgZJ','rgSOQ','WgzFc','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','IslbE','BGcPe','42917WSrFLM','592QhMxwt','1198832axIUCF','XncNV','ranger@trailhead','trailhead','plugin','wantsSkillup','✓\x20Ranger\x20skills\x20already\x20installed','yzOjV','XSebm','uUWBt','Would\x20you\x20like\x20to\x20install\x20skills?','22296TsqExm','550VxyYHA','--scope','6qGaONM','project'];_0x584a=function(){return _0x4a5c06;};return _0x584a();}import{join}from'path';import{existsSync}from'fs';import _0x59fc1f from'inquirer';import{skillup}from'../skillup.js';function _0x5c38(_0x30335c,_0x2c8f49){_0x30335c=_0x30335c-0x123;const _0x584acd=_0x584a();let _0x5c3877=_0x584acd[_0x30335c];return _0x5c3877;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x468cf5){const _0x49d1aa=_0x5c38,_0x108c9c={'yzOjV':function(_0x418706,_0x52ced1){return _0x418706(_0x52ced1);},'rgSOQ':_0x49d1aa(0x146),'eFcuL':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','aBkzy':function(_0x4e8de6,_0x490eb7,_0x30d451){return _0x4e8de6(_0x490eb7,_0x30d451);},'SlFsL':_0x49d1aa(0x131),'FdXje':_0x49d1aa(0x12b),'YHdUS':'user','IslbE':'project','kHrBY':_0x49d1aa(0x148),'VNBXE':_0x49d1aa(0x123),'aNkft':'ranger-testing/trailhead','BGcPe':function(_0x185ac4,_0xf097e6){return _0x185ac4===_0xf097e6;},'XSebm':_0x49d1aa(0x139),'XncNV':function(_0x184346,_0x17668b,_0x16ccba){return _0x184346(_0x17668b,_0x16ccba);},'kNdub':_0x49d1aa(0x13b)},_0x55f31e=await _0x108c9c[_0x49d1aa(0x14b)](isPluginInstalled,_0x108c9c[_0x49d1aa(0x13d)]);if(_0x55f31e)return console[_0x49d1aa(0x126)](_0x108c9c['eFcuL']),![];const _0x453a16=_0x108c9c[_0x49d1aa(0x14b)](existsSync,_0x108c9c['aBkzy'](join,getProjectRoot(),'.claude'));let _0x180547;if(_0x468cf5)_0x180547=_0x468cf5;else{if(_0x453a16)_0x180547='project';else{console[_0x49d1aa(0x126)](_0x49d1aa(0x13f));const _0x334341=await _0x59fc1f[_0x49d1aa(0x12d)]([{'type':'list','name':_0x108c9c['SlFsL'],'message':_0x49d1aa(0x132),'choices':[{'name':_0x108c9c['FdXje'],'value':_0x108c9c['YHdUS']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x108c9c[_0x49d1aa(0x140)]}],'default':'user'}]);_0x180547=_0x334341['pluginScope'];}}console[_0x49d1aa(0x126)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x180547+'\x20level)...\x0a');const _0x1c239c=await isMarketplaceAdded(_0x49d1aa(0x147));let _0x14c5db=_0x1c239c;if(_0x1c239c)console[_0x49d1aa(0x126)]('✓\x20Marketplace\x20already\x20added');else{const _0x2c0256=await runClaudeCommand([_0x108c9c[_0x49d1aa(0x136)],_0x108c9c['VNBXE'],_0x49d1aa(0x156),_0x108c9c['aNkft']]);!_0x2c0256[_0x49d1aa(0x124)]?(console['error'](_0x49d1aa(0x135),_0x2c0256['error']),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x49d1aa(0x126)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x180547)):_0x14c5db=!![];}if(_0x14c5db){const _0x52fddf=await runClaudeCommand([_0x108c9c[_0x49d1aa(0x136)],'install',_0x49d1aa(0x146),'--scope',_0x180547],{'cwd':_0x108c9c['BGcPe'](_0x180547,_0x49d1aa(0x153))?getProjectRoot():undefined});if(!_0x52fddf[_0x49d1aa(0x124)])console[_0x49d1aa(0x128)](_0x49d1aa(0x13a),_0x52fddf['error']),console['log'](_0x108c9c[_0x49d1aa(0x14c)]),console['log'](_0x49d1aa(0x12a)+_0x180547);else{console[_0x49d1aa(0x126)](_0x49d1aa(0x138));const _0x3726ae=['plugin',_0x49d1aa(0x125),_0x108c9c[_0x49d1aa(0x13d)]];_0x108c9c['BGcPe'](_0x180547,_0x49d1aa(0x153))&&_0x3726ae['push'](_0x49d1aa(0x151),_0x108c9c[_0x49d1aa(0x140)]);const _0x23d18a=await _0x108c9c[_0x49d1aa(0x145)](runClaudeCommand,_0x3726ae,{'captureOutput':!![],'cwd':_0x108c9c[_0x49d1aa(0x141)](_0x180547,_0x108c9c[_0x49d1aa(0x140)])?getProjectRoot():undefined}),_0x1dfed7=_0x23d18a['output']?.['includes'](_0x108c9c[_0x49d1aa(0x12c)]);!_0x23d18a['success']&&!_0x1dfed7?console[_0x49d1aa(0x128)](_0x49d1aa(0x130),_0x23d18a[_0x49d1aa(0x128)]):console[_0x49d1aa(0x126)]('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0x43da82){const _0x44d00f=_0x5c38,_0x169a8f={'Fcapv':function(_0x1fdefd,_0xebd032,_0x3096cd,_0x5a96f5){return _0x1fdefd(_0xebd032,_0x3096cd,_0x5a96f5);},'uUWBt':function(_0x775da6,_0x4f580f){return _0x775da6(_0x4f580f);},'NoEgq':'user','jVrMS':'ranger','pMyFm':_0x44d00f(0x137),'rCiNP':function(_0x333d99,_0x451e90){return _0x333d99||_0x451e90;},'WgzFc':_0x44d00f(0x14a),'UDgZJ':'.claude','XnlEj':_0x44d00f(0x153),'GkYhL':_0x44d00f(0x14e)},_0x1f4009=existsSync(_0x169a8f['Fcapv'](join,_0x169a8f[_0x44d00f(0x14d)](getSkillsDir,_0x169a8f[_0x44d00f(0x133)]),_0x169a8f['jVrMS'],_0x169a8f['pMyFm'])),_0x430d06=_0x169a8f['uUWBt'](existsSync,_0x169a8f['Fcapv'](join,getSkillsDir('project'),_0x169a8f[_0x44d00f(0x129)],'SKILL.md'));if(_0x169a8f['rCiNP'](_0x1f4009,_0x430d06))return console['log'](_0x169a8f[_0x44d00f(0x13e)]),![];const _0x27b1f5=existsSync(join(getProjectRoot(),_0x169a8f[_0x44d00f(0x13c)]));let _0x4413d7=!![];if(_0x43da82)await skillup({'autoInstall':_0x43da82,'suppressUsage':!![]});else{if(_0x27b1f5)await skillup({'autoInstall':_0x169a8f[_0x44d00f(0x12f)],'suppressUsage':!![]});else{const _0x171cbc=await _0x59fc1f[_0x44d00f(0x12d)]([{'type':'confirm','name':'wantsSkillup','message':_0x169a8f['GkYhL'],'default':!![]}]);_0x4413d7=_0x171cbc[_0x44d00f(0x149)],_0x4413d7&&await skillup({'suppressUsage':!![]});}}return _0x4413d7;}