@ranger-testing/ranger-cli 2.5.4-alpha.57338f5-12 → 2.5.4-alpha.8c24bb2-15
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.
- package/README.md +36 -14
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/skills/ranger/SKILL.md +15 -5
- package/build/skills/ranger/verify.md +15 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x2c2c7f=_0x20b8;function _0x48e7(){const _0x2ac673=['1043064hhmunL','729754VGddwn','3cwvHVp','10aKkjXA','2362398afIfBZ','session_id','2155570hMJjhb','iQBCW','Skjda','\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.','4326651mWgRNS','1769280BeFBVO','1219108ebiJeY','35UdKVbb'];_0x48e7=function(){return _0x2ac673;};return _0x48e7();}(function(_0xe36620,_0x40f4ab){const _0x1d0db2=_0x20b8,_0x59bbb8=_0xe36620();while(!![]){try{const _0x510066=parseInt(_0x1d0db2(0x181))/0x1*(parseInt(_0x1d0db2(0x180))/0x2)+-parseInt(_0x1d0db2(0x183))/0x3+parseInt(_0x1d0db2(0x17d))/0x4+parseInt(_0x1d0db2(0x185))/0x5+-parseInt(_0x1d0db2(0x18a))/0x6+parseInt(_0x1d0db2(0x17e))/0x7*(-parseInt(_0x1d0db2(0x17f))/0x8)+parseInt(_0x1d0db2(0x189))/0x9*(parseInt(_0x1d0db2(0x182))/0xa);if(_0x510066===_0x40f4ab)break;else _0x59bbb8['push'](_0x59bbb8['shift']());}catch(_0x559403){_0x59bbb8['push'](_0x59bbb8['shift']());}}}(_0x48e7,0x8cde8));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x2c2c7f(0x188);function _0x20b8(_0x4e8a86,_0x5d07a6){_0x4e8a86=_0x4e8a86-0x17d;const _0x48e785=_0x48e7();let _0x20b842=_0x48e785[_0x4e8a86];return _0x20b842;}export async function autoPrompt(){const _0x4f058d=_0x2c2c7f,_0x42e068={'iQBCW':function(_0x6fcb0d){return _0x6fcb0d();},'Skjda':function(_0x5b909d,_0x57c71d){return _0x5b909d(_0x57c71d);},'zTsey':function(_0x1ba2e5,_0x1e957b){return _0x1ba2e5(_0x1e957b);}},_0x42eb30=await _0x42e068[_0x4f058d(0x186)](readHookInput),_0x2f8c84=_0x42eb30?.[_0x4f058d(0x184)];if(!_0x2f8c84)return;if(_0x42e068[_0x4f058d(0x187)](isSessionEnabled,_0x2f8c84)||hasSessionBeenPrompted(_0x2f8c84))return;_0x42e068['zTsey'](markSessionPrompted,_0x2f8c84),console['log'](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x256c39,_0x531dd2){const _0x195edc=_0x3d48,_0x37e9c4=_0x256c39();while(!![]){try{const _0x5a75ed=-parseInt(_0x195edc(0x1ec))/0x1*(parseInt(_0x195edc(0x1f1))/0x2)+-parseInt(_0x195edc(0x1f5))/0x3+parseInt(_0x195edc(0x1f4))/0x4*(parseInt(_0x195edc(0x1f3))/0x5)+parseInt(_0x195edc(0x1ef))/0x6+-parseInt(_0x195edc(0x1e7))/0x7*(-parseInt(_0x195edc(0x1ed))/0x8)+-parseInt(_0x195edc(0x1eb))/0x9+parseInt(_0x195edc(0x1f0))/0xa;if(_0x5a75ed===_0x531dd2)break;else _0x37e9c4['push'](_0x37e9c4['shift']());}catch(_0x2f0c6b){_0x37e9c4['push'](_0x37e9c4['shift']());}}}(_0xbe2d,0xf17a2));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0xbe2d(){const _0x97a05d=['22104joZYQR','nuuLR','1234566GQPOhl','47590350dIukqh','279898nFIUIb','QlEJC','95rSAhqu','73244BJRLnk','3926274vHmXbq','.\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`.','main','805xdBpYQ','CLAUDE_SESSION_ID','\x20and\x20branch\x20\x27','deNqI','13619385knVGWv','13yonFlG'];_0xbe2d=function(){return _0x97a05d;};return _0xbe2d();}function _0x3d48(_0x484572,_0x5ab804){_0x484572=_0x484572-0x1e6;const _0xbe2dc7=_0xbe2d();let _0x3d485c=_0xbe2dc7[_0x484572];return _0x3d485c;}import{printBlock}from'./output.js';export async function disable(_0x452983){const _0x18a4e7=_0x3d48,_0x113047={'rCebY':function(_0x3fe5dc,_0x48dc9c){return _0x3fe5dc(_0x48dc9c);},'kInMs':function(_0x4ae6f0){return _0x4ae6f0();},'KOmei':function(_0x52344a,_0x1c63a6){return _0x52344a!==_0x1c63a6;},'nuuLR':_0x18a4e7(0x1e6),'GufzE':function(_0x1e5a6c,_0xc2fb8d){return _0x1e5a6c(_0xc2fb8d);},'QlEJC':function(_0x4c5e81,_0x3a7cf6){return _0x4c5e81!==_0x3a7cf6;},'deNqI':'master'},_0x42db5c=_0x452983||process['env'][_0x18a4e7(0x1e8)]||'';_0x42db5c&&_0x113047['rCebY'](disableSession,_0x42db5c);const _0x441ab5=_0x113047['kInMs'](getCurrentBranch);_0x441ab5&&_0x113047['KOmei'](_0x441ab5,_0x113047[_0x18a4e7(0x1ee)])&&_0x441ab5!=='master'&&_0x113047['rCebY'](disableBranch,_0x441ab5),_0x113047['GufzE'](printBlock,'#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x441ab5&&_0x441ab5!==_0x113047[_0x18a4e7(0x1ee)]&&_0x113047[_0x18a4e7(0x1f2)](_0x441ab5,_0x113047[_0x18a4e7(0x1ea)])?_0x18a4e7(0x1e9)+_0x441ab5+'\x27':'')+_0x18a4e7(0x1f6));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1328(){const _0x593ebb=['2239080uqYIKk','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','10DoVJnw','env','CLAUDE_SESSION_ID','982TEGYWY','ranger\x20setup\x20--opencode','VhuFS','53272gIGMUB','#\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`','2508605lTeAxO','153939JQgycK','TfQrw','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','6XUrLsa','TEjqE','4365529JPVtWd','main','ouOiT','\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`.','1962uLGzCs','ranger\x20setup','3812633PTWQhI','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','573UOjgYe','eNduE'];_0x1328=function(){return _0x593ebb;};return _0x1328();}function _0x5db1(_0x2013dd,_0x1e36ed){_0x2013dd=_0x2013dd-0xc2;const _0x13289c=_0x1328();let _0x5db157=_0x13289c[_0x2013dd];return _0x5db157;}(function(_0x3020d3,_0x49f268){const _0x2af029=_0x5db1,_0x28eee3=_0x3020d3();while(!![]){try{const _0x55e408=parseInt(_0x2af029(0xcc))/0x1+-parseInt(_0x2af029(0xc6))/0x2*(-parseInt(_0x2af029(0xd9))/0x3)+parseInt(_0x2af029(0xdb))/0x4+parseInt(_0x2af029(0xcb))/0x5+-parseInt(_0x2af029(0xcf))/0x6*(-parseInt(_0x2af029(0xd1))/0x7)+parseInt(_0x2af029(0xc9))/0x8*(-parseInt(_0x2af029(0xd5))/0x9)+-parseInt(_0x2af029(0xc3))/0xa*(-parseInt(_0x2af029(0xd7))/0xb);if(_0x55e408===_0x49f268)break;else _0x28eee3['push'](_0x28eee3['shift']());}catch(_0x23c8ba){_0x28eee3['push'](_0x28eee3['shift']());}}}(_0x1328,0xca197));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x517416){const _0x1691ae=_0x5db1,_0x4dcd3e={'VhuFS':function(_0x2786e8){return _0x2786e8();},'QTEyl':_0x1691ae(0xc7),'ouOiT':_0x1691ae(0xd6),'TfQrw':_0x1691ae(0xd8),'jszUa':function(_0x1c9b7b,_0x12a854){return _0x1c9b7b(_0x12a854);},'Ptgoh':function(_0x2e5f3a,_0x1439ee){return _0x2e5f3a!==_0x1439ee;},'TEjqE':_0x1691ae(0xd2),'eNduE':function(_0x50dfe5,_0x5e6aec){return _0x50dfe5!==_0x5e6aec;},'PXEEd':'master'},_0x4b597f=_0x517416||process[_0x1691ae(0xc4)][_0x1691ae(0xc5)]||'',_0x5de3a1=Boolean(_0x517416),_0x4e68d2=await _0x4dcd3e[_0x1691ae(0xc8)](getToken);if(!_0x4e68d2){const _0x171805=_0x5de3a1?_0x4dcd3e['QTEyl']:_0x4dcd3e[_0x1691ae(0xd3)],_0xeae5d6=_0x5de3a1?_0x4dcd3e[_0x1691ae(0xcd)]:_0x1691ae(0xce);_0x4dcd3e['jszUa'](printBlock,_0x1691ae(0xca)+_0x171805+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0xeae5d6);return;}try{await update();}catch{}_0x4b597f&&enableSession(_0x4b597f);const _0x49b48b=_0x4dcd3e['VhuFS'](getCurrentBranch),_0x1e4af6=_0x49b48b&&_0x4dcd3e['Ptgoh'](_0x49b48b,_0x4dcd3e[_0x1691ae(0xd0)])&&_0x4dcd3e[_0x1691ae(0xda)](_0x49b48b,_0x4dcd3e['PXEEd'])?'\x0a\x0a**Branch\x20\x27'+_0x49b48b+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x57b472=getRangerSkillContent();printBlock('#\x20RANGER\x20ENABLED'+_0x1e4af6+_0x1691ae(0xc2)+_0x57b472+_0x1691ae(0xd4));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x51cb08,_0x4ff249){const _0x1b93b3=_0x3218,_0x3a77d6=_0x51cb08();while(!![]){try{const _0x52849b=-parseInt(_0x1b93b3(0x1c1))/0x1+-parseInt(_0x1b93b3(0x1c6))/0x2*(-parseInt(_0x1b93b3(0x1c0))/0x3)+parseInt(_0x1b93b3(0x1c2))/0x4*(-parseInt(_0x1b93b3(0x1c3))/0x5)+parseInt(_0x1b93b3(0x1bf))/0x6*(parseInt(_0x1b93b3(0x1c7))/0x7)+-parseInt(_0x1b93b3(0x1c9))/0x8+-parseInt(_0x1b93b3(0x1c4))/0x9+parseInt(_0x1b93b3(0x1c8))/0xa;if(_0x52849b===_0x4ff249)break;else _0x3a77d6['push'](_0x3a77d6['shift']());}catch(_0x3e5280){_0x3a77d6['push'](_0x3a77d6['shift']());}}}(_0x2f38,0x4f302));function _0x2f38(){const _0x31d608=['xRHvV','2sRlgcd','21539xTUUxt','14237760NwuPhI','2250104CsQoGu','408AbXQnq','948009YcnxJT','578785dRqZUe','32mmSSeX','375830TwjQSY','1469565kivxub'];_0x2f38=function(){return _0x31d608;};return _0x2f38();}import{printBlock,getEnabledSessionId}from'./output.js';function _0x3218(_0x47ce9d,_0x2c556e){_0x47ce9d=_0x47ce9d-0x1bf;const _0x2f384b=_0x2f38();let _0x321869=_0x2f384b[_0x47ce9d];return _0x321869;}export async function exitPlanMode(_0x3c715d){const _0x327205=_0x3218,_0x151e61={'xRHvV':function(_0x425975,_0x20ae2d){return _0x425975(_0x20ae2d);}},_0x766371=await _0x151e61[_0x327205(0x1c5)](getEnabledSessionId,_0x3c715d);if(!_0x766371)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x327252,_0x3d5b60){var _0x3b9105=_0x16d6,_0x4406fe=_0x327252();while(!![]){try{var _0x1b40db=parseInt(_0x3b9105(0x181))/0x1+-parseInt(_0x3b9105(0x17e))/0x2+parseInt(_0x3b9105(0x17b))/0x3+-parseInt(_0x3b9105(0x17d))/0x4+parseInt(_0x3b9105(0x17f))/0x5+-parseInt(_0x3b9105(0x17a))/0x6+parseInt(_0x3b9105(0x180))/0x7*(-parseInt(_0x3b9105(0x17c))/0x8);if(_0x1b40db===_0x3d5b60)break;else _0x4406fe['push'](_0x4406fe['shift']());}catch(_0x2170d2){_0x4406fe['push'](_0x4406fe['shift']());}}}(_0x2981,0xb67b8));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';function _0x16d6(_0x5d2681,_0xa4b0d8){_0x5d2681=_0x5d2681-0x17a;var _0x2981c9=_0x2981();var _0x16d651=_0x2981c9[_0x5d2681];return _0x16d651;}export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';function _0x2981(){var _0x510b61=['6960485bKAHnW','3738091orTXNP','931445VukrOe','8887500FvhwCO','4033527DzoBMj','8AXUbFD','3604244iqUirL','8558ITcddX'];_0x2981=function(){return _0x510b61;};return _0x2981();}export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x41d65d,_0x2817e7){const _0x27472e=_0x4af6,_0x29a7ef=_0x41d65d();while(!![]){try{const _0x28683f=-parseInt(_0x27472e(0x1a0))/0x1*(parseInt(_0x27472e(0x19b))/0x2)+-parseInt(_0x27472e(0x1a1))/0x3*(-parseInt(_0x27472e(0x1a6))/0x4)+parseInt(_0x27472e(0x1a8))/0x5+parseInt(_0x27472e(0x1a5))/0x6+-parseInt(_0x27472e(0x1a4))/0x7*(parseInt(_0x27472e(0x1a2))/0x8)+-parseInt(_0x27472e(0x19c))/0x9*(-parseInt(_0x27472e(0x1a7))/0xa)+-parseInt(_0x27472e(0x19d))/0xb;if(_0x28683f===_0x2817e7)break;else _0x29a7ef['push'](_0x29a7ef['shift']());}catch(_0x35a229){_0x29a7ef['push'](_0x29a7ef['shift']());}}}(_0x304f,0x3738f));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x3f6f2d){console['log'](_0x3f6f2d);}function _0x304f(){const _0x96d4e5=['MkOdk','56ZVsSfN','1332096RTrIcP','226756CNUIOb','1530910AksEuN','1708640sZVOej','session_id','trim','52898PzdrRV','18hvvCOj','2793582WvJBhs','parse','rPPxN','7MkGJBu','6MhtEWo','318008MOxyQN'];_0x304f=function(){return _0x96d4e5;};return _0x304f();}function _0x4af6(_0x3ee792,_0x3d855d){_0x3ee792=_0x3ee792-0x19b;const _0x304f67=_0x304f();let _0x4af628=_0x304f67[_0x3ee792];return _0x4af628;}export async function readHookInput(){const _0x101469=_0x4af6;let _0x5fff1f='';try{for await(const _0x533890 of process['stdin']){_0x5fff1f+=_0x533890;}}catch{return null;}if(!_0x5fff1f[_0x101469(0x1aa)]())return null;try{return JSON[_0x101469(0x19e)](_0x5fff1f);}catch{return null;}}export async function getEnabledSessionId(_0x156d99){const _0x4a1c39=_0x4af6,_0x5168e9={'MkOdk':function(_0x7fbfd5,_0x4656cc){return _0x7fbfd5(_0x4656cc);},'fhUHC':function(_0x7f636d,_0x779e9){return _0x7f636d(_0x779e9);}};if(_0x156d99)return _0x5168e9[_0x4a1c39(0x1a3)](isSessionEnabled,_0x156d99)?_0x156d99:null;const _0x2b95bd=await readHookInput(),_0x4a3d46=_0x2b95bd?.[_0x4a1c39(0x1a9)];if(!_0x4a3d46||!_0x5168e9['fhUHC'](isSessionEnabled,_0x4a3d46))return null;return _0x4a3d46;}export async function getEnabledHookContext(_0x17baf9){const _0xeba55b=_0x4af6,_0xdc50c0={'rPPxN':function(_0x21fa68,_0x5d0568){return _0x21fa68(_0x5d0568);}};if(_0x17baf9){if(!_0xdc50c0[_0xeba55b(0x19f)](isSessionEnabled,_0x17baf9))return null;return{'sessionId':_0x17baf9,'input':{'session_id':_0x17baf9}};}const _0x5f383b=await readHookInput(),_0x361cd6=_0x5f383b?.[_0xeba55b(0x1a9)];if(!_0x361cd6||!_0xdc50c0[_0xeba55b(0x19f)](isSessionEnabled,_0x361cd6))return null;return{'sessionId':_0x361cd6,'input':_0x5f383b};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x34705e,_0x4a2244){const _0x1fdfe1=_0x3911,_0x2f588a=_0x34705e();while(!![]){try{const _0x25f204=parseInt(_0x1fdfe1(0x186))/0x1*(parseInt(_0x1fdfe1(0x183))/0x2)+-parseInt(_0x1fdfe1(0x18f))/0x3*(parseInt(_0x1fdfe1(0x18d))/0x4)+-parseInt(_0x1fdfe1(0x185))/0x5+parseInt(_0x1fdfe1(0x18a))/0x6+parseInt(_0x1fdfe1(0x181))/0x7*(parseInt(_0x1fdfe1(0x188))/0x8)+-parseInt(_0x1fdfe1(0x182))/0x9*(-parseInt(_0x1fdfe1(0x18c))/0xa)+parseInt(_0x1fdfe1(0x187))/0xb*(-parseInt(_0x1fdfe1(0x18b))/0xc);if(_0x25f204===_0x4a2244)break;else _0x2f588a['push'](_0x2f588a['shift']());}catch(_0x137908){_0x2f588a['push'](_0x2f588a['shift']());}}}(_0x1371,0x3ff2c));function _0x1371(){const _0x3b5e8d=['plan','1629445PkfRZT','150167pBAjWd','163361wXwseF','8PzaFZk','bnAYm','304656MYTNck','420YokVfP','10wxGIOs','2172rEwFhN','input','1539ezPVZB','2748613hziLiy','4430061QbtWMO','6IZhAqB'];_0x1371=function(){return _0x3b5e8d;};return _0x1371();}function _0x3911(_0x45a7ee,_0x33c605){_0x45a7ee=_0x45a7ee-0x181;const _0x1371ca=_0x1371();let _0x391159=_0x1371ca[_0x45a7ee];return _0x391159;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x5a009e){const _0x1e6a5d=_0x3911,_0x418984={'bnAYm':_0x1e6a5d(0x184)},_0x311e76=await getEnabledHookContext(_0x5a009e);if(!_0x311e76)return;if(_0x311e76[_0x1e6a5d(0x18e)]['permission_mode']!==_0x418984[_0x1e6a5d(0x189)])return;if(!shouldShowPlanReminder(_0x311e76['sessionId']))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x3194(){const _0x56ed4e=['19175orlcwe','94743UyxJMw','290494GfXiuW','531gicXFC','RAihg','9qdOZTd','368756NxHDJI','===\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===','1083782TNspGQ','16wUpegL','996MnHHlK','116744EfNcZg','540KAhyJk','84610QASSUK'];_0x3194=function(){return _0x56ed4e;};return _0x3194();}(function(_0x239e7a,_0x3821a3){const _0x3a8a77=_0x58e4,_0x4d522e=_0x239e7a();while(!![]){try{const _0x11b1be=parseInt(_0x3a8a77(0x77))/0x1+parseInt(_0x3a8a77(0x7c))/0x2+parseInt(_0x3a8a77(0x71))/0x3*(parseInt(_0x3a8a77(0x72))/0x4)+parseInt(_0x3a8a77(0x7a))/0x5*(-parseInt(_0x3a8a77(0x78))/0x6)+-parseInt(_0x3a8a77(0x74))/0x7*(-parseInt(_0x3a8a77(0x75))/0x8)+parseInt(_0x3a8a77(0x6f))/0x9*(parseInt(_0x3a8a77(0x79))/0xa)+parseInt(_0x3a8a77(0x7b))/0xb*(-parseInt(_0x3a8a77(0x76))/0xc);if(_0x11b1be===_0x3821a3)break;else _0x4d522e['push'](_0x4d522e['shift']());}catch(_0x5e4429){_0x4d522e['push'](_0x4d522e['shift']());}}}(_0x3194,0x46294));function _0x58e4(_0x3f5b98,_0x598e6e){_0x3f5b98=_0x3f5b98-0x6f;const _0x319460=_0x3194();let _0x58e4f4=_0x319460[_0x3f5b98];return _0x58e4f4;}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x12203e){const _0x45a595=_0x58e4,_0xb8fd9e={'ecrLO':function(_0x5233d8,_0x4b8f4d){return _0x5233d8(_0x4b8f4d);},'RAihg':function(_0x1a5dfe,_0x485e4e){return _0x1a5dfe(_0x485e4e);}},_0x4be6a0=await _0xb8fd9e['ecrLO'](getEnabledSessionId,_0x12203e);if(!_0x4be6a0)return;_0xb8fd9e[_0x45a595(0x70)](printBlock,_0x45a595(0x73));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2beeb5,_0x1299ce){const _0x100722=_0x116c,_0x32ca98=_0x2beeb5();while(!![]){try{const _0x5ef5fa=-parseInt(_0x100722(0xfd))/0x1*(-parseInt(_0x100722(0xfb))/0x2)+parseInt(_0x100722(0xf5))/0x3*(parseInt(_0x100722(0xf0))/0x4)+parseInt(_0x100722(0xf7))/0x5*(-parseInt(_0x100722(0xec))/0x6)+-parseInt(_0x100722(0xf4))/0x7*(parseInt(_0x100722(0xed))/0x8)+-parseInt(_0x100722(0xf9))/0x9*(parseInt(_0x100722(0xf2))/0xa)+-parseInt(_0x100722(0xef))/0xb*(-parseInt(_0x100722(0xf6))/0xc)+parseInt(_0x100722(0xf8))/0xd*(-parseInt(_0x100722(0xfa))/0xe);if(_0x5ef5fa===_0x1299ce)break;else _0x32ca98['push'](_0x32ca98['shift']());}catch(_0x303b8b){_0x32ca98['push'](_0x32ca98['shift']());}}}(_0x4033,0x8aa7a));function _0x4033(){const _0x2f16dc=['PYtim','740IBlMbL','PostToolUse','21oOYLmd','1668498aeiJuy','1199724OfhbcU','8145EDxJre','13TutaAU','83907Qwvwkf','13299734kdjzud','146HXkHWO','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).','15524MsmKCn','516xpmpmn','793560UQfaEN','HRAkw','44TQSAIF','8OxIpbt'];_0x4033=function(){return _0x2f16dc;};return _0x4033();}function _0x116c(_0x1eecec,_0x483bc8){_0x1eecec=_0x1eecec-0xec;const _0x403340=_0x4033();let _0x116c72=_0x403340[_0x1eecec];return _0x116c72;}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x3bc73a){const _0x112e71=_0x116c,_0x32b230={'HRAkw':function(_0xf77c3a,_0x3d7652){return _0xf77c3a(_0x3d7652);},'PYtim':_0x112e71(0xf3)},_0x33b884=await _0x32b230['HRAkw'](getEnabledSessionId,_0x3bc73a);if(!_0x33b884)return;_0x32b230[_0x112e71(0xee)](updateBranchTracking,_0x33b884);const _0x171d0a=await getToken();if(!_0x171d0a)return;const _0x58d11a=getSessionEntry(_0x33b884);if(_0x58d11a){const _0x115474={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x112e71(0xfc)}};console['log'](JSON['stringify'](_0x115474));return;}const _0x20fb97={'hookSpecificOutput':{'hookEventName':_0x32b230[_0x112e71(0xf1)],'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'](_0x20fb97));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3a6976,_0x2e84ad){const _0x4bdf34=_0x1018,_0x52f4ba=_0x3a6976();while(!![]){try{const _0x437059=-parseInt(_0x4bdf34(0x100))/0x1*(parseInt(_0x4bdf34(0xff))/0x2)+-parseInt(_0x4bdf34(0xfb))/0x3*(parseInt(_0x4bdf34(0x102))/0x4)+parseInt(_0x4bdf34(0xf6))/0x5+parseInt(_0x4bdf34(0xf8))/0x6+-parseInt(_0x4bdf34(0xfd))/0x7*(parseInt(_0x4bdf34(0xfa))/0x8)+parseInt(_0x4bdf34(0xfe))/0x9*(-parseInt(_0x4bdf34(0xf9))/0xa)+-parseInt(_0x4bdf34(0x101))/0xb*(-parseInt(_0x4bdf34(0xf7))/0xc);if(_0x437059===_0x2e84ad)break;else _0x52f4ba['push'](_0x52f4ba['shift']());}catch(_0x4b3b82){_0x52f4ba['push'](_0x52f4ba['shift']());}}}(_0x5d6f,0xab7d6));function _0x5d6f(){const _0x5a219f=['35YJVWaF','126QOMQyx','168916hCQEox','10JNHcyg','9938995AdHdCA','20nusWDM','5633310XmgIUC','12bEfVUy','8428092wnXCgv','441230cpSynm','1451328kdmezw','217851HPPdqP','===\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`.'];_0x5d6f=function(){return _0x5a219f;};return _0x5d6f();}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';function _0x1018(_0x17016a,_0x4640c2){_0x17016a=_0x17016a-0xf6;const _0x5d6fbc=_0x5d6f();let _0x101863=_0x5d6fbc[_0x17016a];return _0x101863;}export async function preCompact(_0x288665){const _0x32d8c1=_0x1018,_0x24fa48={'jvWRk':function(_0x192742,_0x1bd463){return _0x192742(_0x1bd463);},'RiPCf':function(_0x2538d6){return _0x2538d6();}},_0x1c5a71=await _0x24fa48['jvWRk'](getEnabledSessionId,_0x288665);if(!_0x1c5a71)return;try{const _0x23e3c3=await _0x24fa48['RiPCf'](getToken);if(!_0x23e3c3)return;printBlock(_0x32d8c1(0xfc));}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x53e2(_0x420bed,_0x3dcf84){_0x420bed=_0x420bed-0x1e4;const _0xc02a76=_0xc02a();let _0x53e238=_0xc02a76[_0x420bed];return _0x53e238;}(function(_0x24fae5,_0x3425dd){const _0x1976fd=_0x53e2,_0x2ddb93=_0x24fae5();while(!![]){try{const _0x2d87d0=-parseInt(_0x1976fd(0x1e6))/0x1*(parseInt(_0x1976fd(0x1e7))/0x2)+-parseInt(_0x1976fd(0x1f1))/0x3*(parseInt(_0x1976fd(0x1ee))/0x4)+parseInt(_0x1976fd(0x1f2))/0x5+parseInt(_0x1976fd(0x1e5))/0x6*(parseInt(_0x1976fd(0x1ea))/0x7)+parseInt(_0x1976fd(0x1ef))/0x8*(parseInt(_0x1976fd(0x1ec))/0x9)+parseInt(_0x1976fd(0x1e4))/0xa+-parseInt(_0x1976fd(0x1e8))/0xb;if(_0x2d87d0===_0x3425dd)break;else _0x2ddb93['push'](_0x2ddb93['shift']());}catch(_0x25987f){_0x2ddb93['push'](_0x2ddb93['shift']());}}}(_0xc02a,0xc5d97));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0xc02a(){const _0x34cc4a=['ZVzdC','63scIDtg','7582045hgkvqm','14098630iAJkRL','66aOdbyG','16787TfuNnh','18igsSjs','30201842elItPo','CLAUDE_SESSION_ID','760753YHpBdC','reason','268569FSNanJ','session_id','255184jXfxVb','248LGHOut'];_0xc02a=function(){return _0x34cc4a;};return _0xc02a();}export async function sessionEnd(_0x21819e){const _0x2f26f7=_0x53e2,_0x239b5d={'ZVzdC':function(_0x4774b0,_0x464c2c){return _0x4774b0===_0x464c2c;},'UFfpC':'clear'},_0x4f0281=process['env'][_0x2f26f7(0x1e9)];let _0x34b844=_0x21819e,_0x2fc4f1;if(!_0x21819e){if(_0x4f0281&&!isSessionEnabled(_0x4f0281))return;const _0x4abb4c=await readHookInput();_0x34b844=_0x4abb4c?.[_0x2f26f7(0x1ed)]||_0x4f0281,_0x2fc4f1=_0x4abb4c?.[_0x2f26f7(0x1eb)];}if(!_0x34b844)return;_0x239b5d[_0x2f26f7(0x1f0)](_0x2fc4f1,_0x239b5d['UFfpC'])&&recordEnabledSessionCleared(_0x34b844);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
(function(_0x1b0015,_0x3d52ba){const _0x28d1ea=_0x1969,_0x2e055f=_0x1b0015();while(!![]){try{const _0x5cdd57=parseInt(_0x28d1ea(0x1ee))/0x1*(-parseInt(_0x28d1ea(0x1f9))/0x2)+parseInt(_0x28d1ea(0x1ed))/0x3*(parseInt(_0x28d1ea(0x1ec))/0x4)+-parseInt(_0x28d1ea(0x1eb))/0x5+-parseInt(_0x28d1ea(0x1f6))/0x6+-parseInt(_0x28d1ea(0x1f8))/0x7+parseInt(_0x28d1ea(0x1ea))/0x8*(parseInt(_0x28d1ea(0x1ef))/0x9)+-parseInt(_0x28d1ea(0x1f3))/0xa*(-parseInt(_0x28d1ea(0x1f0))/0xb);if(_0x5cdd57===_0x3d52ba)break;else _0x2e055f['push'](_0x2e055f['shift']());}catch(_0x15ab8a){_0x2e055f['push'](_0x2e055f['shift']());}}}(_0x579f,0xd0dae));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';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=================================================================';function _0x579f(){const _0x4c85a0=['master','OuxwL','5376650fIFecN','stdin','ALyEt','7263882yACihy','\x20(Branch:\x20','5520606cGgemX','194fSNiiQ','XlUFz','trackCommandEnd','16qZaYTg','3924420fRlEiV','4FUQZUp','2790807SVvlJu','7993odZudb','3583737gscOZQ','55IpnvYo'];_0x579f=function(){return _0x4c85a0;};return _0x579f();}function _0x1969(_0x3df0c5,_0x35af2e){_0x3df0c5=_0x3df0c5-0x1ea;const _0x579f99=_0x579f();let _0x196969=_0x579f99[_0x3df0c5];return _0x196969;}export async function sessionStart(_0x5e89dc){const _0x16e17d=_0x1969,_0x26aa34={'KNtpr':'session_id','XlUFz':function(_0x1a9f83){return _0x1a9f83();},'SiKfn':function(_0x5307fa,_0x375e8b){return _0x5307fa(_0x375e8b);},'ALyEt':function(_0x388404,_0x428bc0){return _0x388404!==_0x428bc0;},'VspRq':'main','OuxwL':_0x16e17d(0x1f1)};let _0x1d7847=_0x5e89dc||'',_0x4d91d8;if(!_0x5e89dc){let _0x40a441='';for await(const _0x431a32 of process[_0x16e17d(0x1f4)]){_0x40a441+=_0x431a32;}try{const _0x22425c=JSON['parse'](_0x40a441);_0x1d7847=_0x22425c[_0x26aa34['KNtpr']]||'',_0x4d91d8=_0x22425c['source'];}catch{}const _0x3a87fe=process['env']['CLAUDE_ENV_FILE'];if(_0x3a87fe&&_0x1d7847)try{await appendFile(_0x3a87fe,'export\x20CLAUDE_SESSION_ID=\x22'+_0x1d7847+'\x22\x0a');}catch{}}try{await _0x26aa34[_0x16e17d(0x1fa)](getToken);}catch{}if(_0x1d7847){shouldAutoEnableAfterClear(_0x4d91d8)&&autoEnableAfterClear(_0x1d7847);_0x26aa34['SiKfn'](initBranchTracking,_0x1d7847);const _0xffa100=isSessionEnabled(_0x1d7847);try{const _0x1b0077=createTelemetryCollector('hook:session-start');await _0x1b0077['trackCommandStart']({'sessionId':_0x1d7847,'hooksEnabled':_0xffa100}),await _0x1b0077[_0x16e17d(0x1fb)]('success');}catch{}if(_0xffa100){const _0x1ecb30=getCurrentBranch(),_0x43bddf=_0x1ecb30&&_0x26aa34[_0x16e17d(0x1f5)](_0x1ecb30,_0x26aa34['VspRq'])&&_0x1ecb30!==_0x26aa34[_0x16e17d(0x1f2)]?_0x16e17d(0x1f7)+_0x1ecb30+')':'',_0x2c4a20={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x43bddf}};console['log'](JSON['stringify'](_0x2c4a20));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x175c16,_0xc40b9){const _0x376908=_0x33c4,_0x58b53e=_0x175c16();while(!![]){try{const _0x571bbc=parseInt(_0x376908(0x98))/0x1*(-parseInt(_0x376908(0x85))/0x2)+-parseInt(_0x376908(0x8a))/0x3*(-parseInt(_0x376908(0x8e))/0x4)+parseInt(_0x376908(0x95))/0x5*(-parseInt(_0x376908(0x8d))/0x6)+parseInt(_0x376908(0x87))/0x7+parseInt(_0x376908(0x97))/0x8+parseInt(_0x376908(0x90))/0x9+-parseInt(_0x376908(0x7e))/0xa;if(_0x571bbc===_0xc40b9)break;else _0x58b53e['push'](_0x58b53e['shift']());}catch(_0x3bc934){_0x58b53e['push'](_0x58b53e['shift']());}}}(_0x2e84,0xd450b));function _0x2e84(){const _0x5cff0f=['SFfTI','11951604xVGXET','some','MCLtN','164757eCKmzA','cHxnW','blocked','4638342YqtzXS','124pkxGhT','KhCTT','14287329lxLvkh','featureId','status','rMAci','verification_in_progress','5vzNCxk','ZwDNj','13774712gYmbwx','887lvlADe','35277790UkzdIp','success','verified','closed','sessionId','stringify','trackCommandStart','3492iZCSeC'];_0x2e84=function(){return _0x5cff0f;};return _0x2e84();}function _0x33c4(_0x52adcb,_0x2909da){_0x52adcb=_0x52adcb-0x7e;const _0x2e8499=_0x2e84();let _0x33c4d1=_0x2e8499[_0x52adcb];return _0x33c4d1;}import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x57cdfa){const _0x438eb3=_0x33c4,_0x2d79cb={'SFfTI':function(_0x426571,_0x4b8d31){return _0x426571(_0x4b8d31);},'MCLtN':function(_0x3196c4,_0x212bae,_0x329386,_0x301a27){return _0x3196c4(_0x212bae,_0x329386,_0x301a27);},'rMAci':function(_0x39a825,_0x5b1114,_0x3edd8a,_0x691683){return _0x39a825(_0x5b1114,_0x3edd8a,_0x691683);},'uvmyi':function(_0x2cea12){return _0x2cea12();},'GeGiA':function(_0x48591a,_0x50880a){return _0x48591a(_0x50880a);},'ZwDNj':'Stop','marDL':function(_0x10b144,_0x43faf3,_0x3008cc,_0x1a7fa5){return _0x10b144(_0x43faf3,_0x3008cc,_0x1a7fa5);}},_0x156461=await _0x2d79cb[_0x438eb3(0x86)](getEnabledHookContext,_0x57cdfa),_0x5a10cc=_0x156461?.[_0x438eb3(0x82)]??null;let _0x1d4e28=!![];if(!_0x5a10cc){await _0x2d79cb[_0x438eb3(0x89)](trackStop,_0x5a10cc,![],_0x1d4e28);return;}try{const _0x226e2b=getSessionEntry(_0x5a10cc);if(!_0x226e2b){await _0x2d79cb['rMAci'](trackStop,_0x5a10cc,!![],_0x1d4e28);return;}const _0x42cb6a=await _0x2d79cb['uvmyi'](getToken),_0x392fc1='https://dashboard.ranger.net/features/'+_0x226e2b['featureId'];let _0x49df5b=null,_0x1fd658=![],_0x4c4f69=![];if(_0x42cb6a)try{const _0x3d3e29=await _0x2d79cb['GeGiA'](getFeature,_0x226e2b[_0x438eb3(0x91)]);_0x49df5b=_0x3d3e29['currentSessionId']??null;const _0x5ab8f8=_0x3d3e29['checklistItems']['filter'](_0x3b1ead=>_0x3b1ead[_0x438eb3(0x82)]===_0x49df5b);_0x1fd658=_0x5ab8f8[_0x438eb3(0x88)](_0x29befe=>_0x29befe['status']!==_0x438eb3(0x80)&&_0x29befe[_0x438eb3(0x92)]!==_0x438eb3(0x8c)&&_0x29befe['status']!==_0x438eb3(0x81)&&_0x29befe['status']!=='incomplete'),_0x4c4f69=_0x5ab8f8['some'](_0x3c7e65=>_0x3c7e65[_0x438eb3(0x92)]===_0x438eb3(0x94));}catch{}if(_0x42cb6a&&_0x49df5b&&_0x1fd658){if(!_0x4c4f69&&shouldShowStopReminder(_0x5a10cc)){const _0x1795e9={'hookSpecificOutput':{'hookEventName':_0x2d79cb[_0x438eb3(0x96)],'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'+_0x392fc1}};console['log'](JSON[_0x438eb3(0x83)](_0x1795e9));}}if(_0x42cb6a&&_0x49df5b&&!_0x1fd658)try{await concludeSession(_0x226e2b['featureId'],_0x49df5b);}catch{}await _0x2d79cb['marDL'](trackStop,_0x5a10cc,!![],_0x1d4e28);return;}catch{await _0x2d79cb[_0x438eb3(0x93)](trackStop,_0x5a10cc,!![],_0x1d4e28);return;}}async function trackStop(_0x152045,_0x228411,_0x2cbb2f){const _0x261ebe=_0x33c4,_0x4f173c={'KhCTT':function(_0x19d2d9,_0x3d567f){return _0x19d2d9(_0x3d567f);},'FYEtx':'hook:stop','cHxnW':_0x261ebe(0x7f)};try{const _0x96e999=_0x4f173c[_0x261ebe(0x8f)](createTelemetryCollector,_0x4f173c['FYEtx']);await _0x96e999[_0x261ebe(0x84)]({'sessionId':_0x152045??undefined,'hooksEnabled':_0x228411,'stopAllowed':_0x2cbb2f}),await _0x96e999['trackCommandEnd'](_0x4f173c[_0x261ebe(0x8b)]);}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x47cb15,_0x588e2b){var _0x86d8e6=_0x4cc9,_0x177ef8=_0x47cb15();while(!![]){try{var _0x472858=-parseInt(_0x86d8e6(0x188))/0x1*(-parseInt(_0x86d8e6(0x190))/0x2)+-parseInt(_0x86d8e6(0x187))/0x3+parseInt(_0x86d8e6(0x18f))/0x4*(parseInt(_0x86d8e6(0x18c))/0x5)+-parseInt(_0x86d8e6(0x18d))/0x6+parseInt(_0x86d8e6(0x18a))/0x7+parseInt(_0x86d8e6(0x18e))/0x8+parseInt(_0x86d8e6(0x18b))/0x9*(-parseInt(_0x86d8e6(0x189))/0xa);if(_0x472858===_0x588e2b)break;else _0x177ef8['push'](_0x177ef8['shift']());}catch(_0x34587c){_0x177ef8['push'](_0x177ef8['shift']());}}}(_0x2611,0x622e8));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';function _0x4cc9(_0x15ea23,_0x2e2f82){_0x15ea23=_0x15ea23-0x187;var _0x261118=_0x2611();var _0x4cc9ec=_0x261118[_0x15ea23];return _0x4cc9ec;}export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';function _0x2611(){var _0x57a0c7=['2844035kSWpGL','1669356nyYyiA','6213032HZddab','4QeXXHj','1175946YHWKeF','1088466NVbkZA','1WnjJjG','7110BKWiPO','4369547yRTwHu','19170EiFwOC'];_0x2611=function(){return _0x57a0c7;};return _0x2611();}export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x3468(){const _0x26c38b=['isTTY','1791TCUjXi','3331321cFCCko','HWURo','359074cpastK','14VPVrSQ','ZclCp','stdin','oGQVq','log','2136dUHjXZ','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','\x0a✅\x20API\x20key\x20stored\x20successfully','1516232nMEwDM','8yvxUWa','77950jvDZJI','144186MDMkDn','Login\x20failed:\x20','message','139733nMoWux','30BHwTng','292806cykzCK'];_0x3468=function(){return _0x26c38b;};return _0x3468();}(function(_0x4331d0,_0x10f095){const _0x229346=_0x227b,_0x377891=_0x4331d0();while(!![]){try{const _0x4d6536=-parseInt(_0x229346(0xd0))/0x1+-parseInt(_0x229346(0xd1))/0x2*(-parseInt(_0x229346(0xcb))/0x3)+parseInt(_0x229346(0xc3))/0x4+-parseInt(_0x229346(0xca))/0x5*(parseInt(_0x229346(0xc6))/0x6)+-parseInt(_0x229346(0xce))/0x7*(parseInt(_0x229346(0xc4))/0x8)+parseInt(_0x229346(0xcd))/0x9*(-parseInt(_0x229346(0xc5))/0xa)+-parseInt(_0x229346(0xc9))/0xb*(-parseInt(_0x229346(0xc0))/0xc);if(_0x4d6536===_0x10f095)break;else _0x377891['push'](_0x377891['shift']());}catch(_0x238dc2){_0x377891['push'](_0x377891['shift']());}}}(_0x3468,0xc19ce));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x227b(_0xc8aec0,_0x348730){_0xc8aec0=_0xc8aec0-0xbf;const _0x34683e=_0x3468();let _0x227b4d=_0x34683e[_0xc8aec0];return _0x227b4d;}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';export async function login(){const _0x3f3635=_0x227b,_0x390d32={'jkHcR':function(_0x35331f){return _0x35331f();},'WOOxJ':'Re-authenticating\x20via\x20MCP\x20bootstrap...','ZclCp':function(_0x4d60a8){return _0x4d60a8();},'ataTP':function(_0x41becd,_0x1784f0){return _0x41becd(_0x1784f0);},'oGQVq':_0x3f3635(0xc2),'HWURo':function(_0x589e53,_0x45665e){return _0x589e53 instanceof _0x45665e;}},_0x59e477=await _0x390d32['jkHcR'](getMcpAuthOrigin);if(_0x59e477){console[_0x3f3635(0xbf)](_0x390d32['WOOxJ']),await mcpBootstrap();return;}const _0x3acfbb=process[_0x3f3635(0xd3)]['isTTY']&&process['stdout'][_0x3f3635(0xcc)];if(!_0x3acfbb)throw new Error(_0x3f3635(0xc1));try{const _0x454c64=await _0x390d32[_0x3f3635(0xd2)](runDeviceAuthFlow),_0x3f24ca=await _0x390d32['ataTP'](getCurrentUser,_0x454c64);_0x3f24ca['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x3f24ca['user']['organizationName']):console['log'](_0x390d32[_0x3f3635(0xd4)]);}catch(_0x2e6b0d){throw new Error(_0x3f3635(0xc7)+(_0x390d32[_0x3f3635(0xcf)](_0x2e6b0d,Error)?_0x2e6b0d[_0x3f3635(0xc8)]:_0x2e6b0d));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x2e64c3=_0x4df8;(function(_0x2588d5,_0x375047){const _0x2ed581=_0x4df8,_0x5e870a=_0x2588d5();while(!![]){try{const _0x15825e=parseInt(_0x2ed581(0x100))/0x1*(parseInt(_0x2ed581(0x99))/0x2)+parseInt(_0x2ed581(0xe6))/0x3+-parseInt(_0x2ed581(0xdb))/0x4*(-parseInt(_0x2ed581(0x89))/0x5)+parseInt(_0x2ed581(0x87))/0x6*(parseInt(_0x2ed581(0x98))/0x7)+parseInt(_0x2ed581(0x7f))/0x8*(parseInt(_0x2ed581(0xf9))/0x9)+parseInt(_0x2ed581(0xd0))/0xa+-parseInt(_0x2ed581(0x102))/0xb;if(_0x15825e===_0x375047)break;else _0x5e870a['push'](_0x5e870a['shift']());}catch(_0x1a7463){_0x5e870a['push'](_0x5e870a['shift']());}}}(_0x2ae2,0x2a7ae));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(),'.ranger',_0x2e64c3(0xad)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x3e33f2=_0x2e64c3,_0x535556={'aWjIb':function(_0x25406d,_0xfd6c0c,_0x337e4e){return _0x25406d(_0xfd6c0c,_0x337e4e);},'jUBdR':_0x3e33f2(0xbd)};try{const _0x11c533=(await _0x535556['aWjIb'](readFile,AUTH_ORIGIN_PATH,_0x535556[_0x3e33f2(0x101)]))['trim']();return _0x11c533||null;}catch{return null;}}export async function mcpBootstrap(){const _0x30b5a1=_0x2e64c3,_0x4fc85d={'aZHoF':function(_0x2fa5c8,_0x144428){return _0x2fa5c8(_0x144428);},'GbItz':_0x30b5a1(0x9e)},_0xbc3fef=getMcpAuthUrl();currentOrigin=_0xbc3fef;const _0x73d0ad=process['stdout']['isTTY']??![];console['log'](_0x30b5a1(0x93)+_0xbc3fef+'\x0a');const _0x4dc5f1=await _0x4fc85d['aZHoF'](tryUnauthenticated,_0xbc3fef);let _0x44acef=null;if(_0x4dc5f1===_0x4fc85d['GbItz'])_0x44acef='';else{_0x44acef=await loadCachedToken();if(!_0x44acef){if(!_0x73d0ad)throw new Error('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'+_0x30b5a1(0xcf));_0x44acef=await oauthFlow(_0xbc3fef);}}await callGetCliToken(_0xbc3fef,_0x44acef);}async function tryUnauthenticated(_0x15c95c){const _0x566e31=_0x2e64c3,_0x4e4742={'LVhRZ':function(_0x444e2f,_0x4d5d58,_0xdf020b){return _0x444e2f(_0x4d5d58,_0xdf020b);},'Imooa':'POST','KOFip':_0x566e31(0xef),'aWNlu':'application/json,\x20text/event-stream','YkFlv':'2.0','iVhSe':'initialize','VjFSl':_0x566e31(0xdc),'ukkAP':function(_0x4e76fe,_0x2afb53){return _0x4e76fe===_0x2afb53;},'hUdNF':'needs-oauth'},_0x1cafa3=await _0x4e4742['LVhRZ'](fetch,_0x15c95c,{'method':_0x4e4742[_0x566e31(0xd2)],'headers':{'Content-Type':_0x4e4742['KOFip'],'Accept':_0x4e4742[_0x566e31(0xbe)]},'body':JSON[_0x566e31(0x106)]({'jsonrpc':_0x4e4742['YkFlv'],'id':0x1,'method':_0x4e4742['iVhSe'],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x4e4742['VjFSl'],'version':_0x566e31(0xa5)}}})});if(_0x1cafa3['ok'])return await _0x1cafa3[_0x566e31(0xdf)](),_0x566e31(0x9e);if(_0x4e4742[_0x566e31(0xd4)](_0x1cafa3['status'],0x191))return await _0x1cafa3[_0x566e31(0xdf)](),_0x4e4742[_0x566e31(0xae)];const _0x371294=await _0x1cafa3['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x1cafa3['status']+':\x20'+_0x371294);}class OAuthTimeoutError extends Error{constructor(_0x2e2b98){super(_0x2e2b98),this['name']='OAuthTimeoutError';}}async function oauthFlow(_0x5cfb4b){const _0xeeed6b=_0x2e64c3,_0x300336={'QTKYL':function(_0x9a806c,_0x4a2555){return _0x9a806c(_0x4a2555);},'uIvIs':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','CgNHv':function(_0x541ea7){return _0x541ea7();}};try{return await _0x300336['QTKYL'](oauthFlowAttempt,_0x5cfb4b);}catch(_0x2b40a9){if(_0x2b40a9 instanceof OAuthTimeoutError&&await loadCachedClient())return console[_0xeeed6b(0xc4)](_0x300336[_0xeeed6b(0xf4)]),await _0x300336['CgNHv'](clearCachedClient),await oauthFlowAttempt(_0x5cfb4b);throw _0x2b40a9;}}async function oauthFlowAttempt(_0x54032a){const _0x479537=_0x2e64c3,_0x27e7b3={'GlxyU':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','rczMB':function(_0x3b8eec){return _0x3b8eec();},'yFVHP':_0x479537(0x107),'VKPdS':'authorization_code','CNSxq':'refresh_token','Fsnou':'code','xjLOn':_0x479537(0x108),'ZNgOh':'\x20done','NIxtg':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','DVlib':function(_0x573cbb,_0x70a6a3){return _0x573cbb(_0x70a6a3);},'FqXUK':_0x479537(0xcd),'pxaXQ':_0x479537(0x8d),'TPoNr':'client_id','jqUmy':_0x479537(0xe1),'iEmMY':_0x479537(0xbf),'qhTPs':function(_0x52a7f9,_0x43a566,_0x2934ab,_0x38eaab){return _0x52a7f9(_0x43a566,_0x2934ab,_0x38eaab);}},_0x107241=_0x54032a[_0x479537(0xc3)](/\/mcp$/,'');process[_0x479537(0x94)][_0x479537(0x9a)](_0x479537(0x96));const _0x5123e4=await fetch(_0x107241+_0x479537(0xa4));if(!_0x5123e4['ok'])throw new Error(_0x27e7b3[_0x479537(0xf7)]);const _0x205828=await _0x5123e4[_0x479537(0xb1)](),_0x232a30=_0x205828[_0x479537(0xfd)]?.[0x0];if(!_0x232a30)throw new Error(_0x479537(0xdd));console['log']('\x20'+_0x232a30);const _0x196ac0=await fetchAuthServerMetadata(_0x232a30);let _0x34ba60,_0x826b08;const _0x1e6987=await _0x27e7b3['rczMB'](loadCachedClient);if(_0x1e6987)_0x34ba60=_0x1e6987['clientId'],_0x826b08=_0x1e6987[_0x479537(0x9f)];else{if(_0x196ac0[_0x479537(0xb7)]){process[_0x479537(0x94)]['write'](_0x27e7b3[_0x479537(0xaa)]);const _0x22dc00=await fetch(_0x196ac0['registration_endpoint'],{'method':_0x479537(0xde),'headers':{'Content-Type':'application/json'},'body':JSON[_0x479537(0x106)]({'client_name':_0x479537(0xee),'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x479537(0x8b)],'grant_types':[_0x27e7b3[_0x479537(0xf3)],_0x27e7b3['CNSxq']],'response_types':[_0x27e7b3['Fsnou']],'token_endpoint_auth_method':_0x27e7b3['xjLOn']})});if(!_0x22dc00['ok']){const _0x1151fd=await _0x22dc00['text']();throw new Error(_0x479537(0x105)+_0x1151fd);}const _0x2261f8=await _0x22dc00['json']();_0x34ba60=_0x2261f8['client_id'],_0x826b08=_0x2261f8['client_secret'],await saveCachedClient(_0x34ba60,_0x826b08),console[_0x479537(0xc4)](_0x27e7b3['ZNgOh']);}else throw new Error(_0x27e7b3[_0x479537(0x92)]);}const _0x197d27=randomBytes(0x20)['toString']('base64url'),_0x50929b=_0x27e7b3[_0x479537(0xb8)](createHash,_0x27e7b3[_0x479537(0xa2)])[_0x479537(0x10a)](_0x197d27)[_0x479537(0xf5)](_0x27e7b3['pxaXQ']),_0xde30af=randomBytes(0x10)['toString'](_0x479537(0x7a)),_0x1da9ca=new URL(_0x196ac0[_0x479537(0xe9)]);_0x1da9ca[_0x479537(0xb0)][_0x479537(0xb5)]('response_type',_0x27e7b3['Fsnou']),_0x1da9ca['searchParams']['set'](_0x27e7b3[_0x479537(0x97)],_0x34ba60),_0x1da9ca['searchParams']['set']('redirect_uri',_0x479537(0xb3)+CALLBACK_PORT+_0x479537(0x8b)),_0x1da9ca[_0x479537(0xb0)]['set'](_0x479537(0xe5),_0x50929b),_0x1da9ca['searchParams'][_0x479537(0xb5)]('code_challenge_method',_0x479537(0x77)),_0x1da9ca[_0x479537(0xb0)]['set'](_0x479537(0x7e),_0xde30af);_0x205828[_0x479537(0xfb)]&&_0x1da9ca[_0x479537(0xb0)]['set']('resource',_0x205828[_0x479537(0xfb)]);console[_0x479537(0xc4)](_0x27e7b3[_0x479537(0x85)]),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x1da9ca['toString']()+'\x0a'),await _0x27e7b3['DVlib'](openBrowser,_0x1da9ca['toString']());const _0x5cad73=await _0x27e7b3['DVlib'](waitForCallback,_0xde30af);process[_0x479537(0x94)]['write']('Exchanging\x20authorization\x20code...');const _0x35bbfc=new URLSearchParams({'grant_type':_0x479537(0xfc),'code':_0x5cad73,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x34ba60,'code_verifier':_0x197d27});_0x826b08&&_0x35bbfc[_0x479537(0xb5)]('client_secret',_0x826b08);_0x205828[_0x479537(0xfb)]&&_0x35bbfc['set'](_0x479537(0xfb),_0x205828[_0x479537(0xfb)]);const _0x361087=await fetch(_0x196ac0['token_endpoint'],{'method':_0x479537(0xde),'headers':{'Content-Type':_0x27e7b3['iEmMY']},'body':_0x35bbfc});if(!_0x361087['ok']){const _0x3e06c3=await _0x361087['text']();throw new Error(_0x479537(0x103)+_0x3e06c3);}const _0x53019b=await _0x361087[_0x479537(0xb1)]();return console[_0x479537(0xc4)](_0x27e7b3[_0x479537(0xe3)]),await _0x27e7b3[_0x479537(0xd3)](saveCachedToken,_0x53019b[_0x479537(0x79)],_0x53019b[_0x479537(0x8e)],_0x53019b[_0x479537(0x82)]),_0x53019b[_0x479537(0x79)];}async function callGetCliToken(_0x2fd932,_0x56f745){const _0x7f88ba=_0x2e64c3,_0x4ecce8={'FseJJ':_0x7f88ba(0xde),'etmoM':function(_0x22304b,_0x5d94f6){return _0x22304b(_0x5d94f6);},'BEKaW':_0x7f88ba(0xff),'caUmR':_0x7f88ba(0xd5),'vqARn':'2.0','MJfzp':_0x7f88ba(0x8f),'NzDFE':'ranger-cli','zLGkb':'1.0.0','SGwzF':'\x20done','kdEDJ':function(_0xd5a9b1,_0x5154a3,_0x439121){return _0xd5a9b1(_0x5154a3,_0x439121);},'ejUHA':'Requesting\x20CLI\x20token...','pOcbB':function(_0x447db6,_0xc210e4){return _0x447db6(_0xc210e4);},'BdLnu':_0x7f88ba(0xc7),'PASWb':_0x7f88ba(0x95),'WlqWS':function(_0x2aa78c,_0x1b859b,_0x117d7f){return _0x2aa78c(_0x1b859b,_0x117d7f);},'LrnSJ':function(_0x1d8e56){return _0x1d8e56();},'znAHN':_0x7f88ba(0x104),'ndqSt':function(_0x3e7e6e,_0x2fe0cb,_0x217186){return _0x3e7e6e(_0x2fe0cb,_0x217186);},'RnhKn':function(_0x41f2d0,_0x887653,_0xa6ab16){return _0x41f2d0(_0x887653,_0xa6ab16);}},_0x4ba0ab={'Content-Type':_0x7f88ba(0xef),'Accept':_0x4ecce8[_0x7f88ba(0x91)]};_0x56f745&&(_0x4ba0ab[_0x7f88ba(0xbc)]=_0x7f88ba(0x7d)+_0x56f745);const _0x5327d5=async _0x3ebc0e=>{const _0x56ffe0=_0x7f88ba,_0x4adb9e=await fetch(_0x2fd932,{'method':_0x4ecce8[_0x56ffe0(0x8c)],'headers':_0x4ba0ab,'body':JSON[_0x56ffe0(0x106)](_0x3ebc0e)});if(!_0x4adb9e['ok']){const _0x51366d=await _0x4adb9e['text']();throw new Error('HTTP\x20'+_0x4adb9e[_0x56ffe0(0xbb)]+':\x20'+_0x51366d);}return _0x4ecce8[_0x56ffe0(0xa6)](parseResponse,_0x4adb9e);};process[_0x7f88ba(0x94)][_0x7f88ba(0x9a)](_0x4ecce8['caUmR']);const _0x1b1a7=await _0x5327d5({'jsonrpc':_0x4ecce8[_0x7f88ba(0x9d)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x4ecce8[_0x7f88ba(0xcb)],'capabilities':{},'clientInfo':{'name':_0x4ecce8['NzDFE'],'version':_0x4ecce8[_0x7f88ba(0x7b)]}}});if(_0x1b1a7[_0x7f88ba(0x83)])throw new Error(_0x7f88ba(0xc2)+(_0x1b1a7[_0x7f88ba(0x83)][_0x7f88ba(0x9c)]??JSON['stringify'](_0x1b1a7[_0x7f88ba(0x83)])));console['log'](_0x4ecce8['SGwzF']),await _0x4ecce8[_0x7f88ba(0xf0)](fetch,_0x2fd932,{'method':_0x4ecce8['FseJJ'],'headers':_0x4ba0ab,'body':JSON['stringify']({'jsonrpc':'2.0','method':'notifications/initialized'})})['then'](_0x1b4314=>_0x1b4314[_0x7f88ba(0xdf)]()),process['stdout']['write'](_0x4ecce8[_0x7f88ba(0xe0)]);const _0x29e47f=await _0x4ecce8[_0x7f88ba(0xaf)](_0x5327d5,{'jsonrpc':_0x4ecce8['vqARn'],'id':0x2,'method':_0x4ecce8[_0x7f88ba(0xa3)],'params':{'name':'get_cli_token','arguments':{}}});if(_0x29e47f['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x29e47f['error']['message']??JSON[_0x7f88ba(0x106)](_0x29e47f['error'])));console[_0x7f88ba(0xc4)](_0x7f88ba(0xcc));const _0x76471f=extractToken(_0x29e47f[_0x7f88ba(0xb9)]);if(!_0x76471f){console['error']('\x0aUnexpected\x20response\x20structure:'),console['error'](JSON[_0x7f88ba(0x106)](_0x29e47f[_0x7f88ba(0xb9)],null,0x2));throw new Error(_0x4ecce8['PASWb']);}const _0x13070b=_0x4ecce8[_0x7f88ba(0x81)](join,_0x4ecce8['LrnSJ'](homedir),_0x4ecce8['znAHN']),_0x3be5fa=_0x4ecce8['kdEDJ'](join,_0x13070b,'refresh.txt');await _0x4ecce8[_0x7f88ba(0xe7)](mkdir,_0x13070b,{'recursive':!![]}),await writeFile(_0x3be5fa,_0x76471f,{'mode':0x180}),await writeFile(_0x4ecce8['RnhKn'](join,_0x13070b,'auth-origin.txt'),_0x2fd932,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x3be5fa),console[_0x7f88ba(0xc4)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x2d802a){const _0x211c0f=_0x2e64c3,_0x472962=_0x2d802a+_0x211c0f(0xc1),_0x247bd9=await fetch(_0x472962);if(!_0x247bd9['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x472962+':\x20'+_0x247bd9[_0x211c0f(0xbb)]);return _0x247bd9['json']();}function _0x2ae2(){const _0x36838e=['No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','POST','text','ejUHA','\x0aOpening\x20browser\x20for\x20authentication...','WgJNi','ZNgOh','OAuth\x20error:\x20','code_challenge','456555KMFZvx','ndqSt','origin','authorization_endpoint','zwazU','clientId','structuredContent','ApOSL','Ranger\x20CLI','application/json','kdEDJ','expiresAt','type','VKPdS','uIvIs','digest','FwHXt','GlxyU','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','68634bypxKj','get','resource','authorization_code','authorization_servers','close','application/json,\x20text/event-stream','90407cRFfrw','jUBdR','11760199qQuFYw','Token\x20exchange\x20failed:\x20','.ranger','Client\x20registration\x20failed:\x20','stringify','Registering\x20OAuth\x20client...','none','Server\x20returned\x20error:\x20','update','S256','kBeGZ','access_token','hex','zLGkb','code','Bearer\x20','state','120AAkVnH','Unknown\x20error','WlqWS','expires_in','error','VaHlE','jqUmy','isError','708mYWXdY','trim','834600hDvBfr','text/event-stream','/callback','FseJJ','base64url','refresh_token','2025-03-26','wgAvX','BEKaW','NIxtg','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','stdout','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','Discovering\x20authorization\x20server...','TPoNr','14154SPpPOH','6eCIdfu','write','127.0.0.1','message','vqARn','proxied','clientSecret','content-type','error_description','FqXUK','BdLnu','/.well-known/oauth-protected-resource','1.0.0','etmoM','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','darwin','refreshToken','yFVHP','content','qegvR','mcp-oauth-tokens.json','hUdNF','pOcbB','searchParams','json','pathname','http://localhost:','split','set','qmiPo','registration_endpoint','DVlib','result','platform','status','Authorization','utf-8','aWNlu','application/x-www-form-urlencoded','writeHead','/.well-known/oauth-authorization-server','MCP\x20initialize\x20failed:\x20','replace','log','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','start','tools/call','token','hlTQE','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','MJfzp','\x20done','sha256','iEQNY','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','2997950LuhCyW','startsWith','Imooa','qhTPs','ukkAP','Initializing\x20MCP\x20session...','end','accessToken','gvSMq','WJqrW','text/html','4BKrdwk','ranger-cli'];_0x2ae2=function(){return _0x36838e;};return _0x2ae2();}function waitForCallback(_0xee1e25){const _0x176b57=_0x2e64c3,_0x1c8860={'ISQMq':function(_0x190528,_0x46aec9){return _0x190528(_0x46aec9);},'hlTQE':_0x176b57(0x7c),'qmiPo':_0x176b57(0xa1),'NtSvq':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','iEQNY':function(_0x22b331,_0x2d6ee0){return _0x22b331(_0x2d6ee0);},'SlydC':_0x176b57(0x9b)};return new Promise((_0x1b0f47,_0x293832)=>{const _0x17cc6f=_0x176b57,_0x1d38db={'kBeGZ':_0x17cc6f(0x8b),'gBBge':_0x1c8860[_0x17cc6f(0xc9)],'FwHXt':_0x17cc6f(0x7e),'WgJNi':_0x17cc6f(0x83),'ApOSL':_0x1c8860[_0x17cc6f(0xb6)],'JNXea':_0x17cc6f(0xda),'VaHlE':function(_0x1dd0f1,_0x66b622){return _0x1dd0f1(_0x66b622);},'EQqhD':_0x1c8860['NtSvq'],'weXay':_0x17cc6f(0xc5),'MHMyC':function(_0x506321,_0x51fc44){return _0x506321(_0x51fc44);}},_0x5a9443=setTimeout(()=>{const _0x2d78f5=_0x17cc6f;_0x35803a[_0x2d78f5(0xfe)](),_0x1c8860['ISQMq'](_0x293832,new OAuthTimeoutError(_0x2d78f5(0xa7)));},0x1d4c0),_0x35803a=_0x1c8860[_0x17cc6f(0xce)](createServer,(_0x529b9e,_0xbf75ab)=>{const _0x2ada2c=_0x17cc6f,_0x3724ad=new URL(_0x529b9e['url']??'/',_0x2ada2c(0xb3)+CALLBACK_PORT);if(_0x3724ad[_0x2ada2c(0xb2)]!==_0x1d38db[_0x2ada2c(0x78)]){_0xbf75ab[_0x2ada2c(0xc0)](0x194),_0xbf75ab[_0x2ada2c(0xd6)]('Not\x20found');return;}const _0x1e166f=_0x3724ad['searchParams']['get'](_0x1d38db['gBBge']),_0x1995e4=_0x3724ad['searchParams']['get'](_0x1d38db[_0x2ada2c(0xf6)]),_0xc6f346=_0x3724ad[_0x2ada2c(0xb0)]['get'](_0x1d38db[_0x2ada2c(0xe2)]);if(_0xc6f346){const _0x3ae0fa=_0x3724ad['searchParams'][_0x2ada2c(0xfa)](_0x1d38db[_0x2ada2c(0xed)])??_0xc6f346;_0xbf75ab[_0x2ada2c(0xc0)](0xc8,{'Content-Type':_0x1d38db['JNXea']}),_0xbf75ab[_0x2ada2c(0xd6)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x3ae0fa+_0x2ada2c(0xf8)),_0x1d38db['VaHlE'](clearTimeout,_0x5a9443),_0x35803a[_0x2ada2c(0xfe)](),_0x1d38db[_0x2ada2c(0x84)](_0x293832,new Error(_0x2ada2c(0xe4)+_0x3ae0fa));return;}if(!_0x1e166f||_0x1995e4!==_0xee1e25){_0xbf75ab[_0x2ada2c(0xc0)](0x190,{'Content-Type':_0x2ada2c(0xda)}),_0xbf75ab['end'](_0x1d38db['EQqhD']);return;}_0xbf75ab['writeHead'](0xc8,{'Content-Type':'text/html'}),_0xbf75ab[_0x2ada2c(0xd6)](_0x1d38db['weXay']),clearTimeout(_0x5a9443),_0x35803a['close'](),_0x1d38db['MHMyC'](_0x1b0f47,_0x1e166f);});_0x35803a['listen'](CALLBACK_PORT,_0x1c8860['SlydC']);});}async function openBrowser(_0x109baf){const _0x1114de=_0x2e64c3,_0x5f10b8={'zwazU':_0x1114de(0xa8),'slUtw':'open','Avofn':function(_0x1472d3,_0x39af92){return _0x1472d3===_0x39af92;},'kandA':'win32','LqJRG':_0x1114de(0xc6),'NRwpx':'xdg-open'},{exec:_0x23d2b8}=await import('child_process'),_0x272c53=process[_0x1114de(0xba)]===_0x5f10b8[_0x1114de(0xea)]?_0x5f10b8['slUtw']:_0x5f10b8['Avofn'](process['platform'],_0x5f10b8['kandA'])?_0x5f10b8['LqJRG']:_0x5f10b8['NRwpx'];_0x23d2b8(_0x272c53+'\x20\x22'+_0x109baf+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x452ae0=_0x2e64c3,_0xbe0d86={'ICkBn':function(_0x3eb887,_0x2ecd25){return _0x3eb887>_0x2ecd25;}};try{const _0x50e5c5=JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x50e5c5[_0x452ae0(0xe8)]&&_0x50e5c5[_0x452ae0(0xe8)]!==currentOrigin)return null;if(_0x50e5c5[_0x452ae0(0xf1)]&&_0xbe0d86['ICkBn'](Date['now'](),_0x50e5c5['expiresAt']))return null;return _0x50e5c5[_0x452ae0(0xd7)]??null;}catch{return null;}}async function saveCachedToken(_0x2aef88,_0xfb7f1f,_0x3b008a){const _0x1a8703=_0x2e64c3,_0x28a14d={'WJqrW':function(_0x57363c){return _0x57363c();},'yfKmd':function(_0x2f3ece,_0x210f27){return _0x2f3ece*_0x210f27;},'Fmmje':function(_0x556be4,_0x257061,_0x56bc31){return _0x556be4(_0x257061,_0x56bc31);},'cnjfU':'.ranger'},_0x307745=await _0x28a14d['WJqrW'](loadCachedData),_0x43b5ab={..._0x307745,'origin':currentOrigin,'accessToken':_0x2aef88,'refreshToken':_0xfb7f1f??_0x307745?.[_0x1a8703(0xa9)],'expiresAt':_0x3b008a?Date['now']()+_0x28a14d['yfKmd'](_0x3b008a,0x3e8):undefined};await _0x28a14d['Fmmje'](mkdir,join(_0x28a14d[_0x1a8703(0xd9)](homedir),_0x28a14d['cnjfU']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x43b5ab),{'mode':0x180});}async function loadCachedClient(){const _0x3d07bc=_0x2e64c3,_0x46d6e3={'JlZRY':function(_0x4f3e49,_0x40ebc1){return _0x4f3e49!==_0x40ebc1;}},_0x44ff6c=await loadCachedData();if(_0x44ff6c?.[_0x3d07bc(0xe8)]&&_0x46d6e3['JlZRY'](_0x44ff6c[_0x3d07bc(0xe8)],currentOrigin))return null;return _0x44ff6c?.['clientId']?{'clientId':_0x44ff6c[_0x3d07bc(0xeb)],'clientSecret':_0x44ff6c[_0x3d07bc(0x9f)]}:null;}async function clearCachedClient(){const _0x48378f=_0x2e64c3,_0x39976a={'ppXIy':function(_0x50d35e,_0x314a18,_0x14c3b9,_0xf3c888){return _0x50d35e(_0x314a18,_0x14c3b9,_0xf3c888);}},_0x415548=await loadCachedData();if(!_0x415548)return;const {clientId:_0xd6dfe8,clientSecret:_0x39decd,..._0x35be4f}=_0x415548;await _0x39976a['ppXIy'](writeFile,TOKEN_CACHE_PATH,JSON[_0x48378f(0x106)](_0x35be4f),{'mode':0x180});}function _0x4df8(_0x1beb30,_0x347706){_0x1beb30=_0x1beb30-0x77;const _0x2ae27b=_0x2ae2();let _0x4df8ee=_0x2ae27b[_0x1beb30];return _0x4df8ee;}async function saveCachedClient(_0x449c50,_0x16afb1){const _0x84b579=_0x2e64c3,_0x1c7a86={'gvSMq':function(_0x4e8799,_0x4646d7,_0x27baba,_0x36f5de){return _0x4e8799(_0x4646d7,_0x27baba,_0x36f5de);}},_0x4b1e9b=await loadCachedData(),_0x2723e6={..._0x4b1e9b,'origin':currentOrigin,'accessToken':_0x4b1e9b?.[_0x84b579(0xd7)]??'','clientId':_0x449c50,'clientSecret':_0x16afb1};await mkdir(join(homedir(),'.ranger'),{'recursive':!![]}),await _0x1c7a86[_0x84b579(0xd8)](writeFile,TOKEN_CACHE_PATH,JSON[_0x84b579(0x106)](_0x2723e6),{'mode':0x180});}async function loadCachedData(){try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));}catch{return null;}}async function parseResponse(_0xd9dd10){const _0x1648ef=_0x2e64c3,_0x45b72a={'wgAvX':_0x1648ef(0xa0),'qegvR':'data:','KtMIA':function(_0x55c94,_0x1b734f){return _0x55c94!==_0x1b734f;},'RhzLa':_0x1648ef(0xca)},_0x48ee94=_0xd9dd10['headers'][_0x1648ef(0xfa)](_0x45b72a[_0x1648ef(0x90)])??'';if(_0x48ee94['includes'](_0x1648ef(0x8a))){const _0x5f48d1=await _0xd9dd10['text']();for(const _0x4b431a of _0x5f48d1[_0x1648ef(0xb4)]('\x0a')){const _0x23286f=_0x4b431a['trim']();if(_0x23286f[_0x1648ef(0xd1)]('data:')){const _0x2b8688=_0x23286f['slice'](_0x45b72a[_0x1648ef(0xac)]['length'])[_0x1648ef(0x88)]();if(!_0x2b8688)continue;try{const _0x387c11=JSON['parse'](_0x2b8688);if(_0x45b72a['KtMIA'](_0x387c11['id'],undefined)||_0x387c11['error'])return _0x387c11;}catch{}}}throw new Error(_0x45b72a['RhzLa']);}return _0xd9dd10[_0x1648ef(0xb1)]();}function extractToken(_0x37e37f){const _0x2788f8=_0x2e64c3,_0x33bf00={'ACqfs':_0x2788f8(0x80)};if(!_0x37e37f)return null;const _0x291dcc=_0x37e37f[_0x2788f8(0xec)];if(_0x291dcc?.[_0x2788f8(0xc8)]&&typeof _0x291dcc['token']==='string')return _0x291dcc['token'];if(_0x37e37f[_0x2788f8(0x86)]){const _0x150f64=_0x37e37f[_0x2788f8(0xab)];throw new Error(_0x2788f8(0x109)+(_0x150f64?.[0x0]?.['text']??_0x33bf00['ACqfs']));}const _0x5451e2=_0x37e37f['content'];if(_0x5451e2)for(const _0x32a077 of _0x5451e2){if(_0x32a077[_0x2788f8(0xf2)]==='text'&&_0x32a077[_0x2788f8(0xdf)]){try{const _0x2cde58=JSON['parse'](_0x32a077[_0x2788f8(0xdf)]);if(typeof _0x2cde58?.['token']==='string')return _0x2cde58['token'];}catch{}const _0x17246e=_0x32a077['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x17246e)return _0x17246e[0x1];}}return null;}
|
|
1
|
+
const _0x50b6a7=_0x19e5;(function(_0x42320d,_0x7dc9b8){const _0x550dd3=_0x19e5,_0x26f749=_0x42320d();while(!![]){try{const _0x28edfd=-parseInt(_0x550dd3(0xd3))/0x1+-parseInt(_0x550dd3(0xd5))/0x2+-parseInt(_0x550dd3(0xef))/0x3+-parseInt(_0x550dd3(0xfc))/0x4+parseInt(_0x550dd3(0x98))/0x5+parseInt(_0x550dd3(0xb0))/0x6+parseInt(_0x550dd3(0xdd))/0x7;if(_0x28edfd===_0x7dc9b8)break;else _0x26f749['push'](_0x26f749['shift']());}catch(_0x152c4b){_0x26f749['push'](_0x26f749['shift']());}}}(_0x1fc6,0xae062));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';function _0x19e5(_0x27c971,_0x53012e){_0x27c971=_0x27c971-0x7d;const _0x1fc672=_0x1fc6();let _0x19e5f6=_0x1fc672[_0x27c971];return _0x19e5f6;}import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';function _0x1fc6(){const _0x1ee412=['Discovering\x20authorization\x20server...','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','client_secret','expiresAt','searchParams','rKcSI','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','FXXpq','write','Initializing\x20MCP\x20session...','iVtrN','sha256','kqoRv','code','mcp-oauth-tokens.json','zBJRG','VzDFS','aFUYz','Server\x20returned\x20error:\x20','2025-03-26','GlgaC','headers','content','3691545ucXvbO','.ranger','message','FFaId','1.0.0','error_description','TFGkZ','stringify','isTTY','Not\x20found','vPZyi','state','application/json,\x20text/event-stream','duiDm','token','rytmv','darwin','OAuth\x20error:\x20','<html><body><h2>Authentication\x20failed</h2><p>','cGKRv','slice','json','UHmjo','data:','8365266MedJBO','pEMup','HTTP\x20','writeHead','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','Bearer\x20','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','stdout','response_type','ranger-cli','Ranger\x20CLI','gZodZ','QRPgc','authorization_code','end','JmHMA','clientId','error','VfQqB','YIzjS','lzscV','now','text','FAXbJ','pffgX','QrnCB','RfDhh','Token\x20exchange\x20failed:\x20','accessToken','BbLfm','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','xdg-open','url','sZYVA','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','970460wDqFtQ','KBhYB','2658688gATrxT','wVdNI','KDzDJ','authorization_endpoint','digest','OlALk','2.0','toString','22809227ybOnaC','string','refreshToken','Client\x20registration\x20failed:\x20','cQSll','needs-oauth','text/html','rVpZi','cNKjH','win32','ztULX','OAuthTimeoutError','get_cli_token','parse','Authorization','pathname','match','log','3478428xqHwej','get','refresh_token','pdTOT','\x20done','utf-8','access_token','status','\x0aUnexpected\x20response\x20structure:','RpvaH','resource','oIeia','gPypk','4875596fEAtyL','base64url','origin','http://localhost:','Requesting\x20CLI\x20token...','cSlAr','POST','set'];_0x1fc6=function(){return _0x1ee412;};return _0x1fc6();}import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x50b6a7(0x8f)),AUTH_ORIGIN_PATH=join(homedir(),_0x50b6a7(0x99),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x50996f=_0x50b6a7,_0x37f75d={'cGKRv':_0x50996f(0xf4)};try{const _0x1f6533=(await readFile(AUTH_ORIGIN_PATH,_0x37f75d[_0x50996f(0xab)]))['trim']();return _0x1f6533||null;}catch{return null;}}export async function mcpBootstrap(){const _0x5d460d=_0x50b6a7,_0x36e28e={'duiDm':function(_0x2ca747,_0x15a602){return _0x2ca747(_0x15a602);},'OlALk':function(_0x384f7f,_0x25ffde){return _0x384f7f===_0x25ffde;},'OowlO':'proxied','gPypk':function(_0x467e17,_0x22ac72){return _0x467e17+_0x22ac72;},'iVtrN':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','fVgaP':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','QRPgc':function(_0x217212,_0x1d348c,_0x177bad){return _0x217212(_0x1d348c,_0x177bad);}},_0x5549c4=getMcpAuthUrl();currentOrigin=_0x5549c4;const _0x87336d=process['stdout'][_0x5d460d(0xa0)]??![];console['log'](_0x5d460d(0xce)+_0x5549c4+'\x0a');const _0x392ba2=await _0x36e28e[_0x5d460d(0xa5)](tryUnauthenticated,_0x5549c4);let _0x4d5a2a=null;if(_0x36e28e[_0x5d460d(0xda)](_0x392ba2,_0x36e28e['OowlO']))_0x4d5a2a='';else{_0x4d5a2a=await loadCachedToken();if(!_0x4d5a2a){if(!_0x87336d)throw new Error(_0x36e28e[_0x5d460d(0xfb)](_0x36e28e[_0x5d460d(0x8b)],_0x36e28e['fVgaP']));_0x4d5a2a=await oauthFlow(_0x5549c4);}}await _0x36e28e[_0x5d460d(0xbc)](callGetCliToken,_0x5549c4,_0x4d5a2a);}async function tryUnauthenticated(_0x576aeb){const _0x4b872f=_0x50b6a7,_0x12c0bb={'KUYpv':_0x4b872f(0xa4),'CMmgJ':_0x4b872f(0xdb),'IBKqW':'initialize','AVZDC':'ranger-cli','KDzDJ':function(_0x15a1d5,_0x5dbefe){return _0x15a1d5===_0x5dbefe;}},_0x588a38=await fetch(_0x576aeb,{'method':_0x4b872f(0x7f),'headers':{'Content-Type':'application/json','Accept':_0x12c0bb['KUYpv']},'body':JSON['stringify']({'jsonrpc':_0x12c0bb['CMmgJ'],'id':0x1,'method':_0x12c0bb['IBKqW'],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x12c0bb['AVZDC'],'version':_0x4b872f(0x9c)}}})});if(_0x588a38['ok'])return await _0x588a38['text'](),'proxied';if(_0x12c0bb[_0x4b872f(0xd7)](_0x588a38['status'],0x191))return await _0x588a38[_0x4b872f(0xc6)](),_0x4b872f(0xe2);const _0x46d358=await _0x588a38[_0x4b872f(0xc6)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x588a38['status']+':\x20'+_0x46d358);}class OAuthTimeoutError extends Error{constructor(_0x1dd6db){const _0x584cc5=_0x50b6a7,_0x299058={'sGuYG':_0x584cc5(0xe8)};super(_0x1dd6db),this['name']=_0x299058['sGuYG'];}}async function oauthFlow(_0x544521){const _0x3da180=_0x50b6a7,_0x2f8b57={'oIeia':function(_0x2696d9,_0x570faa){return _0x2696d9(_0x570faa);},'BbLfm':function(_0x419483,_0x1fd0dc){return _0x419483 instanceof _0x1fd0dc;},'SlYgm':function(_0x55977a){return _0x55977a();},'muSZf':function(_0x3bd465,_0x41ed1f){return _0x3bd465(_0x41ed1f);}};try{return await _0x2f8b57[_0x3da180(0xfa)](oauthFlowAttempt,_0x544521);}catch(_0x38608a){if(_0x2f8b57[_0x3da180(0xcd)](_0x38608a,OAuthTimeoutError)&&await loadCachedClient())return console[_0x3da180(0xee)](_0x3da180(0x87)),await _0x2f8b57['SlYgm'](clearCachedClient),await _0x2f8b57['muSZf'](oauthFlowAttempt,_0x544521);throw _0x38608a;}}async function oauthFlowAttempt(_0x1be47d){const _0x1a7fb8=_0x50b6a7,_0x539bef={'sZYVA':function(_0x2cc6b4,_0x8d05bd){return _0x2cc6b4(_0x8d05bd);},'YIzjS':_0x1a7fb8(0x7f),'FeVRH':'refresh_token','KBhYB':'none','JOfqu':_0x1a7fb8(0xfd),'TFGkZ':'redirect_uri','rytmv':'code_challenge','AATJi':'code_challenge_method','vPZyi':'S256','lHuDu':'state','VzDFS':'resource','GBGiF':function(_0x433713,_0x40670e,_0x557341){return _0x433713(_0x40670e,_0x557341);},'LhCBY':'\x20done'},_0x14c104=_0x1be47d['replace'](/\/mcp$/,'');process[_0x1a7fb8(0xb7)][_0x1a7fb8(0x89)](_0x1a7fb8(0x81));const _0x3d0ae9=await _0x539bef['sZYVA'](fetch,_0x14c104+'/.well-known/oauth-protected-resource');if(!_0x3d0ae9['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x431bc3=await _0x3d0ae9[_0x1a7fb8(0xad)](),_0x7e5751=_0x431bc3['authorization_servers']?.[0x0];if(!_0x7e5751)throw new Error(_0x1a7fb8(0xd2));console[_0x1a7fb8(0xee)]('\x20'+_0x7e5751);const _0x52f861=await _0x539bef['sZYVA'](fetchAuthServerMetadata,_0x7e5751);let _0x18efe9,_0xfd8295;const _0x200537=await loadCachedClient();if(_0x200537)_0x18efe9=_0x200537['clientId'],_0xfd8295=_0x200537['clientSecret'];else{if(_0x52f861['registration_endpoint']){process[_0x1a7fb8(0xb7)][_0x1a7fb8(0x89)]('Registering\x20OAuth\x20client...');const _0xa2a741=await fetch(_0x52f861['registration_endpoint'],{'method':_0x539bef[_0x1a7fb8(0xc3)],'headers':{'Content-Type':'application/json'},'body':JSON[_0x1a7fb8(0x9f)]({'client_name':_0x1a7fb8(0xba),'redirect_uris':[_0x1a7fb8(0xff)+CALLBACK_PORT+'/callback'],'grant_types':[_0x1a7fb8(0xbd),_0x539bef['FeVRH']],'response_types':['code'],'token_endpoint_auth_method':_0x539bef[_0x1a7fb8(0xd4)]})});if(!_0xa2a741['ok']){const _0x5cd9d4=await _0xa2a741[_0x1a7fb8(0xc6)]();throw new Error(_0x1a7fb8(0xe0)+_0x5cd9d4);}const _0x231c02=await _0xa2a741['json']();_0x18efe9=_0x231c02['client_id'],_0xfd8295=_0x231c02[_0x1a7fb8(0x83)],await saveCachedClient(_0x18efe9,_0xfd8295),console['log'](_0x1a7fb8(0xf3));}else throw new Error(_0x1a7fb8(0xb4));}const _0x26df43=randomBytes(0x20)['toString'](_0x1a7fb8(0xfd)),_0x4c8988=createHash(_0x1a7fb8(0x8c))['update'](_0x26df43)[_0x1a7fb8(0xd9)](_0x539bef['JOfqu']),_0x18230b=randomBytes(0x10)['toString']('hex'),_0x4d179f=new URL(_0x52f861[_0x1a7fb8(0xd8)]);_0x4d179f[_0x1a7fb8(0x85)]['set'](_0x1a7fb8(0xb8),_0x1a7fb8(0x8e)),_0x4d179f['searchParams'][_0x1a7fb8(0x80)]('client_id',_0x18efe9),_0x4d179f['searchParams']['set'](_0x539bef[_0x1a7fb8(0x9e)],_0x1a7fb8(0xff)+CALLBACK_PORT+'/callback'),_0x4d179f[_0x1a7fb8(0x85)][_0x1a7fb8(0x80)](_0x539bef[_0x1a7fb8(0xa7)],_0x4c8988),_0x4d179f['searchParams']['set'](_0x539bef['AATJi'],_0x539bef[_0x1a7fb8(0xa2)]),_0x4d179f['searchParams'][_0x1a7fb8(0x80)](_0x539bef['lHuDu'],_0x18230b);_0x431bc3[_0x1a7fb8(0xf9)]&&_0x4d179f['searchParams'][_0x1a7fb8(0x80)](_0x1a7fb8(0xf9),_0x431bc3[_0x1a7fb8(0xf9)]);console[_0x1a7fb8(0xee)]('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x1a7fb8(0xee)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x4d179f['toString']()+'\x0a'),await _0x539bef[_0x1a7fb8(0xd1)](openBrowser,_0x4d179f[_0x1a7fb8(0xdc)]());const _0x2e2343=await waitForCallback(_0x18230b);process[_0x1a7fb8(0xb7)]['write']('Exchanging\x20authorization\x20code...');const _0x972e2c=new URLSearchParams({'grant_type':'authorization_code','code':_0x2e2343,'redirect_uri':_0x1a7fb8(0xff)+CALLBACK_PORT+'/callback','client_id':_0x18efe9,'code_verifier':_0x26df43});_0xfd8295&&_0x972e2c[_0x1a7fb8(0x80)]('client_secret',_0xfd8295);_0x431bc3[_0x1a7fb8(0xf9)]&&_0x972e2c[_0x1a7fb8(0x80)](_0x539bef[_0x1a7fb8(0x91)],_0x431bc3[_0x1a7fb8(0xf9)]);const _0x57735=await _0x539bef['GBGiF'](fetch,_0x52f861['token_endpoint'],{'method':_0x539bef['YIzjS'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x972e2c});if(!_0x57735['ok']){const _0x330ce7=await _0x57735['text']();throw new Error(_0x1a7fb8(0xcb)+_0x330ce7);}const _0x4b9ebd=await _0x57735[_0x1a7fb8(0xad)]();return console['log'](_0x539bef['LhCBY']),await saveCachedToken(_0x4b9ebd[_0x1a7fb8(0xf5)],_0x4b9ebd[_0x1a7fb8(0xf1)],_0x4b9ebd['expires_in']),_0x4b9ebd[_0x1a7fb8(0xf5)];}async function callGetCliToken(_0x2958bb,_0x4c49f8){const _0xb610b8=_0x50b6a7,_0x375ffe={'ZHjVu':function(_0x57007b,_0x21e71f,_0x24f6dd){return _0x57007b(_0x21e71f,_0x24f6dd);},'RpvaH':_0xb610b8(0xdb),'ZlYLk':'initialize','GlgaC':'1.0.0','pffgX':'\x20done','vvaEv':function(_0x1a2581,_0x11d170,_0x4865a4){return _0x1a2581(_0x11d170,_0x4865a4);},'pdTOT':_0xb610b8(0x7f),'vdcje':_0xb610b8(0x7d),'dBrUr':_0xb610b8(0xe9),'LrFyp':_0xb610b8(0xf7),'RfDhh':function(_0x1164f8,_0x45ef57,_0x147c26){return _0x1164f8(_0x45ef57,_0x147c26);},'JmHMA':function(_0x3c62dd){return _0x3c62dd();},'Ifztt':_0xb610b8(0x99),'aFUYz':'refresh.txt','VfQqB':function(_0x5a23b9,_0x451972,_0x283fb5,_0x2e0852){return _0x5a23b9(_0x451972,_0x283fb5,_0x2e0852);},'JxXEl':function(_0x4069d9,_0x33040c,_0x3900d8){return _0x4069d9(_0x33040c,_0x3900d8);},'pEMup':'auth-origin.txt','wVdNI':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0xbf9db={'Content-Type':'application/json','Accept':_0xb610b8(0xa4)};_0x4c49f8&&(_0xbf9db[_0xb610b8(0xeb)]=_0xb610b8(0xb5)+_0x4c49f8);const _0x289c16=async _0x431909=>{const _0x4d1008=_0xb610b8,_0x507d6f=await _0x375ffe['ZHjVu'](fetch,_0x2958bb,{'method':_0x4d1008(0x7f),'headers':_0xbf9db,'body':JSON[_0x4d1008(0x9f)](_0x431909)});if(!_0x507d6f['ok']){const _0x207fe0=await _0x507d6f['text']();throw new Error(_0x4d1008(0xb2)+_0x507d6f[_0x4d1008(0xf6)]+':\x20'+_0x207fe0);}return parseResponse(_0x507d6f);};process[_0xb610b8(0xb7)][_0xb610b8(0x89)](_0xb610b8(0x8a));const _0x25afa4=await _0x289c16({'jsonrpc':_0x375ffe['RpvaH'],'id':0x1,'method':_0x375ffe['ZlYLk'],'params':{'protocolVersion':_0xb610b8(0x94),'capabilities':{},'clientInfo':{'name':_0xb610b8(0xb9),'version':_0x375ffe[_0xb610b8(0x95)]}}});if(_0x25afa4[_0xb610b8(0xc1)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x25afa4['error']['message']??JSON[_0xb610b8(0x9f)](_0x25afa4[_0xb610b8(0xc1)])));console['log'](_0x375ffe[_0xb610b8(0xc8)]),await _0x375ffe['vvaEv'](fetch,_0x2958bb,{'method':_0x375ffe[_0xb610b8(0xf2)],'headers':_0xbf9db,'body':JSON[_0xb610b8(0x9f)]({'jsonrpc':_0x375ffe[_0xb610b8(0xf8)],'method':'notifications/initialized'})})['then'](_0x12431d=>_0x12431d[_0xb610b8(0xc6)]()),process[_0xb610b8(0xb7)][_0xb610b8(0x89)](_0x375ffe['vdcje']);const _0x1c93f7=await _0x289c16({'jsonrpc':_0x375ffe[_0xb610b8(0xf8)],'id':0x2,'method':'tools/call','params':{'name':_0x375ffe['dBrUr'],'arguments':{}}});if(_0x1c93f7['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x1c93f7[_0xb610b8(0xc1)][_0xb610b8(0x9a)]??JSON['stringify'](_0x1c93f7[_0xb610b8(0xc1)])));console['log'](_0xb610b8(0xf3));const _0xdead7b=extractToken(_0x1c93f7['result']);if(!_0xdead7b){console['error'](_0x375ffe['LrFyp']),console[_0xb610b8(0xc1)](JSON[_0xb610b8(0x9f)](_0x1c93f7['result'],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x273839=_0x375ffe[_0xb610b8(0xca)](join,_0x375ffe[_0xb610b8(0xbf)](homedir),_0x375ffe['Ifztt']),_0x1ababb=join(_0x273839,_0x375ffe[_0xb610b8(0x92)]);await mkdir(_0x273839,{'recursive':!![]}),await writeFile(_0x1ababb,_0xdead7b,{'mode':0x180}),await _0x375ffe[_0xb610b8(0xc2)](writeFile,_0x375ffe['JxXEl'](join,_0x273839,_0x375ffe[_0xb610b8(0xb1)]),_0x2958bb,{'mode':0x180}),console[_0xb610b8(0xee)]('\x0aToken\x20written\x20to\x20'+_0x1ababb),console[_0xb610b8(0xee)](_0x375ffe[_0xb610b8(0xd6)]);}async function fetchAuthServerMetadata(_0x6e2c15){const _0x5293db=_0x50b6a7,_0xc3780=_0x6e2c15+'/.well-known/oauth-authorization-server',_0x1f1ee4=await fetch(_0xc3780);if(!_0x1f1ee4['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0xc3780+':\x20'+_0x1f1ee4['status']);return _0x1f1ee4[_0x5293db(0xad)]();}function waitForCallback(_0x372c9c){const _0x4fa242=_0x50b6a7,_0x3c2b51={'eCsCw':_0x4fa242(0xa1),'ztULX':_0x4fa242(0x8e),'rVpZi':_0x4fa242(0xc1),'pkJUD':_0x4fa242(0x9d),'ssdjY':function(_0x4c1301,_0x2f6567){return _0x4c1301(_0x2f6567);},'FFaId':_0x4fa242(0xb6),'lzscV':'text/html','yQgab':function(_0x4fb162,_0x5e7af4,_0x2c9afe){return _0x4fb162(_0x5e7af4,_0x2c9afe);},'Hlysw':function(_0x28684b,_0x3917a1){return _0x28684b(_0x3917a1);}};return new Promise((_0x4fc0fa,_0x40a794)=>{const _0x2c384d=_0x4fa242,_0x180238={'ODwJE':_0x2c384d(0x82)},_0x1a33e6=_0x3c2b51['yQgab'](setTimeout,()=>{_0x19e0e7['close'](),_0x40a794(new OAuthTimeoutError(_0x180238['ODwJE']));},0x1d4c0),_0x19e0e7=_0x3c2b51['Hlysw'](createServer,(_0x1931e9,_0x159bf2)=>{const _0x11aa9a=_0x2c384d,_0x581eaf=new URL(_0x1931e9[_0x11aa9a(0xd0)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x581eaf[_0x11aa9a(0xec)]!=='/callback'){_0x159bf2[_0x11aa9a(0xb3)](0x194),_0x159bf2['end'](_0x3c2b51['eCsCw']);return;}const _0x3f5934=_0x581eaf[_0x11aa9a(0x85)]['get'](_0x3c2b51[_0x11aa9a(0xe7)]),_0x382fe4=_0x581eaf['searchParams']['get'](_0x11aa9a(0xa3)),_0x1f3991=_0x581eaf['searchParams']['get'](_0x3c2b51[_0x11aa9a(0xe4)]);if(_0x1f3991){const _0x414f89=_0x581eaf['searchParams'][_0x11aa9a(0xf0)](_0x3c2b51['pkJUD'])??_0x1f3991;_0x159bf2[_0x11aa9a(0xb3)](0xc8,{'Content-Type':_0x11aa9a(0xe3)}),_0x159bf2[_0x11aa9a(0xbe)](_0x11aa9a(0xaa)+_0x414f89+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x3c2b51['ssdjY'](clearTimeout,_0x1a33e6),_0x19e0e7['close'](),_0x40a794(new Error(_0x11aa9a(0xa9)+_0x414f89));return;}if(!_0x3f5934||_0x382fe4!==_0x372c9c){_0x159bf2['writeHead'](0x190,{'Content-Type':'text/html'}),_0x159bf2[_0x11aa9a(0xbe)](_0x3c2b51[_0x11aa9a(0x9b)]);return;}_0x159bf2['writeHead'](0xc8,{'Content-Type':_0x3c2b51[_0x11aa9a(0xc4)]}),_0x159bf2['end']('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),clearTimeout(_0x1a33e6),_0x19e0e7['close'](),_0x4fc0fa(_0x3f5934);});_0x19e0e7['listen'](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0x56b0fb){const _0x2815be=_0x50b6a7,_0x1884dc={'zBJRG':'child_process','MowGB':_0x2815be(0xa8),'ekVNo':'start','kqoRv':_0x2815be(0xcf),'UHmjo':function(_0x1cda67,_0x3e60a6){return _0x1cda67(_0x3e60a6);}},{exec:_0x443279}=await import(_0x1884dc[_0x2815be(0x90)]),_0x5128de=process['platform']===_0x1884dc['MowGB']?'open':process['platform']===_0x2815be(0xe6)?_0x1884dc['ekVNo']:_0x1884dc[_0x2815be(0x8d)];_0x1884dc[_0x2815be(0xae)](_0x443279,_0x5128de+'\x20\x22'+_0x56b0fb+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x539496=_0x50b6a7,_0x5dc560={'rKcSI':_0x539496(0xf4),'vVkeA':function(_0x219760,_0x1c5463){return _0x219760!==_0x1c5463;},'gZodZ':function(_0x59b86,_0x23defb){return _0x59b86>_0x23defb;}};try{const _0x3f845c=JSON[_0x539496(0xea)](await readFile(TOKEN_CACHE_PATH,_0x5dc560[_0x539496(0x86)]));if(_0x3f845c[_0x539496(0xfe)]&&_0x5dc560['vVkeA'](_0x3f845c[_0x539496(0xfe)],currentOrigin))return null;if(_0x3f845c['expiresAt']&&_0x5dc560[_0x539496(0xbb)](Date[_0x539496(0xc5)](),_0x3f845c[_0x539496(0x84)]))return null;return _0x3f845c['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x28daa2,_0x416fd7,_0x30f328){const _0xa5b57a=_0x50b6a7,_0x519e12={'cSlAr':function(_0x462a7a,_0x5b52e9,_0x3f75f3){return _0x462a7a(_0x5b52e9,_0x3f75f3);},'FXXpq':function(_0x3f9c41,_0x804d2f,_0x66d435,_0x38a0b8){return _0x3f9c41(_0x804d2f,_0x66d435,_0x38a0b8);}},_0x504f5d=await loadCachedData(),_0xa5aea5={..._0x504f5d,'origin':currentOrigin,'accessToken':_0x28daa2,'refreshToken':_0x416fd7??_0x504f5d?.[_0xa5b57a(0xdf)],'expiresAt':_0x30f328?Date[_0xa5b57a(0xc5)]()+_0x30f328*0x3e8:undefined};await _0x519e12[_0xa5b57a(0x7e)](mkdir,_0x519e12[_0xa5b57a(0x7e)](join,homedir(),_0xa5b57a(0x99)),{'recursive':!![]}),await _0x519e12[_0xa5b57a(0x88)](writeFile,TOKEN_CACHE_PATH,JSON[_0xa5b57a(0x9f)](_0xa5aea5),{'mode':0x180});}async function loadCachedClient(){const _0xe247c8=_0x50b6a7,_0xf24222={'QrnCB':function(_0x196f41,_0x5add9c){return _0x196f41!==_0x5add9c;}},_0xa40884=await loadCachedData();if(_0xa40884?.['origin']&&_0xf24222[_0xe247c8(0xc9)](_0xa40884[_0xe247c8(0xfe)],currentOrigin))return null;return _0xa40884?.[_0xe247c8(0xc0)]?{'clientId':_0xa40884[_0xe247c8(0xc0)],'clientSecret':_0xa40884['clientSecret']}:null;}async function clearCachedClient(){const _0x46988c=_0x50b6a7,_0x2eac19={'CedaI':function(_0x17b70c){return _0x17b70c();}},_0x2648c4=await _0x2eac19['CedaI'](loadCachedData);if(!_0x2648c4)return;const {clientId:_0x36ffb5,clientSecret:_0x868081,..._0xedaef2}=_0x2648c4;await writeFile(TOKEN_CACHE_PATH,JSON[_0x46988c(0x9f)](_0xedaef2),{'mode':0x180});}async function saveCachedClient(_0x3029f7,_0x23347b){const _0x3a8a8d=_0x50b6a7,_0x20118a={'FAXbJ':function(_0x424aa2){return _0x424aa2();}},_0x9b5e8d=await _0x20118a[_0x3a8a8d(0xc7)](loadCachedData),_0x1aa90b={..._0x9b5e8d,'origin':currentOrigin,'accessToken':_0x9b5e8d?.[_0x3a8a8d(0xcc)]??'','clientId':_0x3029f7,'clientSecret':_0x23347b};await mkdir(join(_0x20118a[_0x3a8a8d(0xc7)](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x3a8a8d(0x9f)](_0x1aa90b),{'mode':0x180});}async function loadCachedData(){const _0x41b6b3={'QHKzU':'utf-8'};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x41b6b3['QHKzU']));}catch{return null;}}async function parseResponse(_0x34003f){const _0x8e5749=_0x50b6a7,_0x32aaf7={'cQSll':'text/event-stream','WzbdR':function(_0x800c69,_0xcb8ed8){return _0x800c69!==_0xcb8ed8;}},_0x53df4d=_0x34003f[_0x8e5749(0x96)]['get']('content-type')??'';if(_0x53df4d['includes'](_0x32aaf7[_0x8e5749(0xe1)])){const _0x14551c=await _0x34003f['text']();for(const _0x276e96 of _0x14551c['split']('\x0a')){const _0xdcbd77=_0x276e96['trim']();if(_0xdcbd77['startsWith'](_0x8e5749(0xaf))){const _0x5dbaf3=_0xdcbd77[_0x8e5749(0xac)]('data:'['length'])['trim']();if(!_0x5dbaf3)continue;try{const _0x19cb89=JSON['parse'](_0x5dbaf3);if(_0x32aaf7['WzbdR'](_0x19cb89['id'],undefined)||_0x19cb89[_0x8e5749(0xc1)])return _0x19cb89;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x34003f[_0x8e5749(0xad)]();}function extractToken(_0x173786){const _0x4ff9f9=_0x50b6a7,_0x240a58={'cNKjH':function(_0x36473b,_0x37c5cb){return _0x36473b===_0x37c5cb;}};if(!_0x173786)return null;const _0x46a8a5=_0x173786['structuredContent'];if(_0x46a8a5?.[_0x4ff9f9(0xa6)]&&typeof _0x46a8a5['token']===_0x4ff9f9(0xde))return _0x46a8a5[_0x4ff9f9(0xa6)];if(_0x173786['isError']){const _0x345e2c=_0x173786[_0x4ff9f9(0x97)];throw new Error(_0x4ff9f9(0x93)+(_0x345e2c?.[0x0]?.[_0x4ff9f9(0xc6)]??'Unknown\x20error'));}const _0x3908ce=_0x173786['content'];if(_0x3908ce)for(const _0xbbbf14 of _0x3908ce){if(_0x240a58[_0x4ff9f9(0xe5)](_0xbbbf14['type'],_0x4ff9f9(0xc6))&&_0xbbbf14['text']){try{const _0x1fd822=JSON['parse'](_0xbbbf14['text']);if(_0x240a58['cNKjH'](typeof _0x1fd822?.['token'],'string'))return _0x1fd822['token'];}catch{}const _0x19e24b=_0xbbbf14['text'][_0x4ff9f9(0xed)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x19e24b)return _0x19e24b[0x1];}}return null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x531c5e,_0x3833a5){var _0x4e25d6=_0x22ab,_0x5a4d00=_0x531c5e();while(!![]){try{var _0x38ca2f=-parseInt(_0x4e25d6(0x10f))/0x1*(parseInt(_0x4e25d6(0x115))/0x2)+-parseInt(_0x4e25d6(0x10c))/0x3*(-parseInt(_0x4e25d6(0x119))/0x4)+-parseInt(_0x4e25d6(0x11b))/0x5*(parseInt(_0x4e25d6(0x10b))/0x6)+parseInt(_0x4e25d6(0x10a))/0x7*(parseInt(_0x4e25d6(0x11c))/0x8)+-parseInt(_0x4e25d6(0x10e))/0x9+parseInt(_0x4e25d6(0x118))/0xa*(-parseInt(_0x4e25d6(0x117))/0xb)+parseInt(_0x4e25d6(0x109))/0xc*(parseInt(_0x4e25d6(0x113))/0xd);if(_0x38ca2f===_0x3833a5)break;else _0x5a4d00['push'](_0x5a4d00['shift']());}catch(_0x4c284b){_0x5a4d00['push'](_0x5a4d00['shift']());}}}(_0x453a,0x43f30));function _0x22ab(_0x3f32fb,_0x4cd916){_0x3f32fb=_0x3f32fb-0x109;var _0x453a82=_0x453a();var _0x22ab20=_0x453a82[_0x3f32fb];return _0x22ab20;}function _0x453a(){var _0x305bd9=['QwKqz','5bDvewD','6088qvyBrk','\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','216NCztAr','2079AXvpaB','2986446xIkzPd','15PBoYXX','error','4189473RYWtQK','25054HhFWfr','gHYXs','cVEoT','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','698022niDYQR','eSNcq','32ldlFpV','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','407qWWKli','5210gxoLSt','375352YIvDgq'];_0x453a=function(){return _0x305bd9;};return _0x453a();}export async function migrateProfile(_0x180155,_0x3eed26){var _0x2023d5=_0x22ab,_0x19b0c0={'gHYXs':function(_0x167db0,_0x5ccf3f){return _0x167db0+_0x5ccf3f;},'eSNcq':_0x2023d5(0x112),'QwKqz':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','FmPSI':_0x2023d5(0x11d),'cVEoT':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console[_0x2023d5(0x10d)](_0x19b0c0[_0x2023d5(0x110)](_0x19b0c0[_0x2023d5(0x110)](_0x19b0c0['gHYXs']('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a'+'\x0a',_0x2023d5(0x116))+_0x19b0c0[_0x2023d5(0x114)]+'\x0a',_0x19b0c0[_0x2023d5(0x11a)])+_0x19b0c0['FmPSI']+'\x0a',_0x19b0c0[_0x2023d5(0x111)])+'fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.'),process['exit'](0x1);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x92f768,_0x28feff){const _0x3f6569=_0x3d19,_0x3b719d=_0x92f768();while(!![]){try{const _0x5792b0=parseInt(_0x3f6569(0x143))/0x1*(parseInt(_0x3f6569(0x16c))/0x2)+-parseInt(_0x3f6569(0x167))/0x3*(-parseInt(_0x3f6569(0x13d))/0x4)+-parseInt(_0x3f6569(0x153))/0x5+-parseInt(_0x3f6569(0x16f))/0x6*(-parseInt(_0x3f6569(0x170))/0x7)+parseInt(_0x3f6569(0x169))/0x8+-parseInt(_0x3f6569(0x14e))/0x9*(parseInt(_0x3f6569(0x168))/0xa)+parseInt(_0x3f6569(0x166))/0xb*(-parseInt(_0x3f6569(0x13f))/0xc);if(_0x5792b0===_0x28feff)break;else _0x3b719d['push'](_0x3b719d['shift']());}catch(_0x514a62){_0x3b719d['push'](_0x3b719d['shift']());}}}(_0x2d4b,0x2f50f));import{join}from'path';import{existsSync}from'fs';import _0x295fc1 from'inquirer';import{skillup}from'../skillup.js';function _0x3d19(_0x117187,_0x5d6635){_0x117187=_0x117187-0x138;const _0x2d4b10=_0x2d4b();let _0x3d19f5=_0x2d4b10[_0x117187];return _0x3d19f5;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x2d4b(){const _0x4e8bfd=['ZSOwo','pluginScope','233293rIOSlJ','jgdJK','marketplace','aQROr','wJtre','prompt','push','success','✓\x20Marketplace\x20already\x20added','project','ddqnn','45wyygkJ','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','output','WsjCY','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','989070yqmGNa','user','❌\x20Failed\x20to\x20add\x20marketplace:','add','log','OBZum','ranger@trailhead','VQLLm','Project\x20(shared\x20with\x20team\x20via\x20git)','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','Where\x20should\x20the\x20plugin\x20be\x20installed?','HhpnS','includes','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','✓\x20Ranger\x20skills\x20already\x20installed','list','siADg','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','✓\x20Claude\x20Code\x20plugin\x20enabled','1727YpeGlh','360sbVxeU','657130grYdYc','2118784irfwAd','Ihubd','wantsSkillup','2OQNFzH','CMbJu','ITXYN','6waRkPT','41972YLENaL','confirm','.claude','uUFcO','zVQrG','⚠\x20Failed\x20to\x20enable\x20plugin:','EjKaE','8892QPudVC','ranger','3876cTHAwU','error'];_0x2d4b=function(){return _0x4e8bfd;};return _0x2d4b();}export async function ensureClaudePlugin(_0x52038d){const _0x4cb6d2=_0x3d19,_0x31aa70={'zVQrG':function(_0x7b58fa,_0x3086e2){return _0x7b58fa(_0x3086e2);},'WsjCY':function(_0x48d247,_0x5a2cc5,_0x439a16){return _0x48d247(_0x5a2cc5,_0x439a16);},'OAvAb':'.claude','IiJlK':_0x4cb6d2(0x162),'HeveL':_0x4cb6d2(0x15d),'uUFcO':'User\x20(available\x20in\x20all\x20your\x20projects)','eCWli':_0x4cb6d2(0x154),'xqWYK':_0x4cb6d2(0x14b),'JTUuq':_0x4cb6d2(0x156),'TZZwy':'ranger-testing/trailhead','wJtre':'\x0aYou\x20can\x20install\x20manually\x20with:','EKpsZ':_0x4cb6d2(0x164),'EjKaE':'plugin','RQARK':'ranger@trailhead','ddqnn':'--scope','CMbJu':function(_0x1d92cc){return _0x1d92cc();},'RRKlT':'❌\x20Failed\x20to\x20install\x20plugin:','IqCVT':'enable','nnbhK':_0x4cb6d2(0x14c),'ITXYN':function(_0x11d8fa,_0x5d2713){return _0x11d8fa===_0x5d2713;},'OBZum':_0x4cb6d2(0x13b)},_0x29be78=await _0x31aa70[_0x4cb6d2(0x13a)](isPluginInstalled,_0x4cb6d2(0x159));if(_0x29be78)return console[_0x4cb6d2(0x157)](_0x4cb6d2(0x15c)),![];const _0x3fb81d=existsSync(_0x31aa70['WsjCY'](join,getProjectRoot(),_0x31aa70['OAvAb']));let _0x1551d1;if(_0x52038d)_0x1551d1=_0x52038d;else{if(_0x3fb81d)_0x1551d1=_0x4cb6d2(0x14c);else{console['log'](_0x4cb6d2(0x160));const _0x195cb0=await _0x295fc1[_0x4cb6d2(0x148)]([{'type':_0x31aa70['IiJlK'],'name':'pluginScope','message':_0x31aa70['HeveL'],'choices':[{'name':_0x31aa70[_0x4cb6d2(0x139)],'value':_0x31aa70['eCWli']},{'name':_0x4cb6d2(0x15b),'value':'project'}],'default':_0x4cb6d2(0x154)}]);_0x1551d1=_0x195cb0[_0x4cb6d2(0x142)];}}console[_0x4cb6d2(0x157)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x1551d1+'\x20level)...\x0a');const _0x12eab8=await isMarketplaceAdded('trailhead');let _0x36e8f5=_0x12eab8;if(_0x12eab8)console[_0x4cb6d2(0x157)](_0x31aa70['xqWYK']);else{const _0x1f6fdd=await runClaudeCommand(['plugin',_0x4cb6d2(0x145),_0x31aa70['JTUuq'],_0x31aa70['TZZwy']]);!_0x1f6fdd[_0x4cb6d2(0x14a)]?(console['error'](_0x4cb6d2(0x155),_0x1f6fdd[_0x4cb6d2(0x140)]),console[_0x4cb6d2(0x157)](_0x31aa70[_0x4cb6d2(0x147)]),console[_0x4cb6d2(0x157)](_0x31aa70['EKpsZ']),console[_0x4cb6d2(0x157)](_0x4cb6d2(0x14f)+_0x1551d1)):_0x36e8f5=!![];}if(_0x36e8f5){const _0x13d23c=await _0x31aa70[_0x4cb6d2(0x151)](runClaudeCommand,[_0x31aa70[_0x4cb6d2(0x13c)],'install',_0x31aa70['RQARK'],_0x31aa70[_0x4cb6d2(0x14d)],_0x1551d1],{'cwd':_0x1551d1===_0x4cb6d2(0x14c)?_0x31aa70[_0x4cb6d2(0x16d)](getProjectRoot):undefined});if(!_0x13d23c[_0x4cb6d2(0x14a)])console[_0x4cb6d2(0x140)](_0x31aa70['RRKlT'],_0x13d23c['error']),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x4cb6d2(0x157)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x1551d1);else{console['log'](_0x4cb6d2(0x152));const _0x3bdbdc=['plugin',_0x31aa70['IqCVT'],_0x4cb6d2(0x159)];_0x1551d1===_0x31aa70['nnbhK']&&_0x3bdbdc[_0x4cb6d2(0x149)](_0x31aa70[_0x4cb6d2(0x14d)],_0x31aa70['nnbhK']);const _0x1a9007=await runClaudeCommand(_0x3bdbdc,{'captureOutput':!![],'cwd':_0x31aa70[_0x4cb6d2(0x16e)](_0x1551d1,'project')?_0x31aa70[_0x4cb6d2(0x16d)](getProjectRoot):undefined}),_0x515063=_0x1a9007[_0x4cb6d2(0x150)]?.[_0x4cb6d2(0x15f)]('already\x20enabled');!_0x1a9007['success']&&!_0x515063?console[_0x4cb6d2(0x140)](_0x31aa70[_0x4cb6d2(0x158)],_0x1a9007['error']):console['log'](_0x4cb6d2(0x165));}}return!![];}export async function ensureClaudeSkills(_0x2beee5){const _0x1115d9=_0x3d19,_0x1b54cd={'EKstp':function(_0xff2560,_0x4223ea){return _0xff2560(_0x4223ea);},'HhpnS':function(_0xa4633,_0x35379b,_0x4125b1,_0x43384d){return _0xa4633(_0x35379b,_0x4125b1,_0x43384d);},'AESGe':function(_0x932232,_0xf087d7){return _0x932232(_0xf087d7);},'Ihubd':_0x1115d9(0x13e),'ZSOwo':'SKILL.md','aQROr':function(_0x5e8e2f,_0x4d5e7b){return _0x5e8e2f||_0x4d5e7b;},'WkgCP':_0x1115d9(0x161),'WqwNl':function(_0x3c873c,_0x2af6aa,_0x104b3e){return _0x3c873c(_0x2af6aa,_0x104b3e);},'ulbXR':_0x1115d9(0x138),'VQLLm':function(_0x3c484d,_0x3515fe){return _0x3c484d(_0x3515fe);},'jgdJK':_0x1115d9(0x171),'siADg':'Would\x20you\x20like\x20to\x20install\x20skills?'},_0x5bee8e=_0x1b54cd['EKstp'](existsSync,_0x1b54cd[_0x1115d9(0x15e)](join,_0x1b54cd['AESGe'](getSkillsDir,_0x1115d9(0x154)),_0x1b54cd[_0x1115d9(0x16a)],_0x1b54cd[_0x1115d9(0x141)])),_0x1b83f7=existsSync(join(_0x1b54cd['EKstp'](getSkillsDir,_0x1115d9(0x14c)),_0x1115d9(0x13e),_0x1b54cd['ZSOwo']));if(_0x1b54cd[_0x1115d9(0x146)](_0x5bee8e,_0x1b83f7))return console['log'](_0x1b54cd['WkgCP']),![];const _0x471999=existsSync(_0x1b54cd['WqwNl'](join,getProjectRoot(),_0x1b54cd['ulbXR']));let _0x47ebdf=!![];if(_0x2beee5)await _0x1b54cd[_0x1115d9(0x15a)](skillup,{'autoInstall':_0x2beee5,'suppressUsage':!![]});else{if(_0x471999)await skillup({'autoInstall':'project','suppressUsage':!![]});else{const _0x41a142=await _0x295fc1['prompt']([{'type':_0x1b54cd[_0x1115d9(0x144)],'name':_0x1115d9(0x16b),'message':_0x1b54cd[_0x1115d9(0x163)],'default':!![]}]);_0x47ebdf=_0x41a142['wantsSkillup'],_0x47ebdf&&await skillup({'suppressUsage':!![]});}}return _0x47ebdf;}
|