@ranger-testing/ranger-cli 2.5.4-alpha.78800d3-3 → 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 -0
- 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 +36 -6
- package/build/skills/ranger/create.md +19 -0
- package/build/skills/ranger/verify.md +46 -7
- package/package.json +1 -1
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4b3518,_0xabc1e){const _0x2e38d7=_0x4029,_0x1c6331=_0x4b3518();while(!![]){try{const _0xc56210=parseInt(_0x2e38d7(0xf3))/0x1+-parseInt(_0x2e38d7(0xf4))/0x2*(parseInt(_0x2e38d7(0xf9))/0x3)+parseInt(_0x2e38d7(0xf8))/0x4*(parseInt(_0x2e38d7(0xf6))/0x5)+-parseInt(_0x2e38d7(0xfa))/0x6+parseInt(_0x2e38d7(0xf7))/0x7+parseInt(_0x2e38d7(0xf5))/0x8+-parseInt(_0x2e38d7(0xf0))/0x9;if(_0xc56210===_0xabc1e)break;else _0x1c6331['push'](_0x1c6331['shift']());}catch(_0x17c503){_0x1c6331['push'](_0x1c6331['shift']());}}}(_0x52c7,0x24f83));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function _0x52c7(){const _0x489f51=['keys','SIGINT','186691FQFIoV','160NYIRHA','2181168cGXNiy','38015roEZNd','1328852DNSLKU','36fhkEGT','10047oOAhzu','1552380cJtdNT','exit','drVXx','Unknown\x20hook:\x20','355707sdihrH'];_0x52c7=function(){return _0x489f51;};return _0x52c7();}function installCancellationHandlers(){const _0x11b6ab=_0x4029,_0xf186eb={'drVXx':_0x11b6ab(0xf2)};if(cancellationHandlersInstalled)return;const _0x5a733e=()=>{process['exit'](0x0);};process['once'](_0xf186eb[_0x11b6ab(0xee)],_0x5a733e),process['once']('SIGTERM',_0x5a733e),process['once']('SIGHUP',_0x5a733e),cancellationHandlersInstalled=!![];}function _0x4029(_0x8d4de1,_0xafa85e){_0x8d4de1=_0x8d4de1-0xed;const _0x52c7d3=_0x52c7();let _0x40296b=_0x52c7d3[_0x8d4de1];return _0x40296b;}export async function hook(_0x480e02,_0x3a2f74){const _0x357cbd=_0x4029,_0x3cd79e={'fQtZz':function(_0x47601a){return _0x47601a();}};_0x3cd79e['fQtZz'](installCancellationHandlers);const _0x32e45d=HOOKS[_0x480e02];if(!_0x32e45d){const _0x246459=Object[_0x357cbd(0xf1)](HOOKS)['join'](',\x20');console['error'](_0x357cbd(0xef)+_0x480e02),console['error']('Valid\x20hooks:\x20'+_0x246459),process[_0x357cbd(0xed)](0x1);}await _0x32e45d(_0x3a2f74);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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
|
-
(function(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
function
|
|
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 _0x400ccc=_0x114e;(function(_0x1a85f5,_0xa391b1){const _0x484d93=_0x114e,_0x8ca015=_0x1a85f5();while(!![]){try{const _0x22445d=-parseInt(_0x484d93(0xdb))/0x1+parseInt(_0x484d93(0x140))/0x2+parseInt(_0x484d93(0x10b))/0x3*(parseInt(_0x484d93(0x11b))/0x4)+parseInt(_0x484d93(0x124))/0x5*(-parseInt(_0x484d93(0x117))/0x6)+parseInt(_0x484d93(0x11f))/0x7*(-parseInt(_0x484d93(0xef))/0x8)+parseInt(_0x484d93(0xd0))/0x9+parseInt(_0x484d93(0x105))/0xa*(parseInt(_0x484d93(0xbe))/0xb);if(_0x22445d===_0xa391b1)break;else _0x8ca015['push'](_0x8ca015['shift']());}catch(_0xffdbd5){_0x8ca015['push'](_0x8ca015['shift']());}}}(_0x4135,0x63852));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';function _0x4135(){const _0x20eb89=['bRjeF','WQRIG','583cKYBps','FlcJB','accessToken','slice','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','end','cYnhw','vEtbN','close','writeHead','PNQSs','127.0.0.1','MspSs','EGVwn','CwMbv','application/json','Discovering\x20authorization\x20server...','client_id','158364PbCelA','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','type','result','POST','.ranger','QGgKn','Client\x20registration\x20failed:\x20','TVDup','utf-8','stringify','774865pGzHce','resource','then','registration_endpoint','eIbGs','1.0.0','RzlWE','MCP\x20initialize\x20failed:\x20','rGkim','token','text','KIfZf','access_token','text/event-stream','ytKHo','isError','searchParams','tools/call','status','jJGoh','102920sWKcNF','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','content','clientId','startsWith','cEOCO','nGOae','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','uNPBR','now','client_secret','error','dLjri','eQSPo','Exchanging\x20authorization\x20code...','NoUxV','BjMDi','GPcLO','<html><body><h2>Authentication\x20failed</h2><p>','application/json,\x20text/event-stream','get','message','175050aMHnuH','clientSecret','HTTP\x20','notifications/initialized','\x0aToken\x20written\x20to\x20','write','3489wIHosc','zSAfn','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','ZQnIC','url','WXKUP','code','set','http://localhost:','ranger-cli','redirect_uri','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','6tkJxMb','refreshToken','pathname','ZuYQK','2108PHfkEC','oszUk','Bearer\x20','ZSabB','133HGobtD','refresh.txt','replace','initialize','update','2497535HkuJWC','OAuth\x20error:\x20','Token\x20exchange\x20failed:\x20','mcp-oauth-tokens.json','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','PgAcU','iSGuy','state','structuredContent','stdout','platform','/.well-known/oauth-protected-resource','log','kgLbc','open','YJZDL','application/x-www-form-urlencoded','nGCtH','oGRUV','listen','hOJNZ','expires_in','json','get_cli_token\x20failed:\x20','2025-03-26','auth-origin.txt','trim','2.0','736358afIiPL','uAayy','pCMrI','parse','KYRyt','VeUkC','oprqC','\x20done','MCP\x20server\x20returned\x20HTTP\x20','isThZ','origin','/callback','eMZBT','JUJLz','name','cWeMA','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','ofJiH','Requesting\x20CLI\x20token...','yljsZ','HKSGH'];_0x4135=function(){return _0x20eb89;};return _0x4135();}import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x400ccc(0xd5),_0x400ccc(0x127)),AUTH_ORIGIN_PATH=join(homedir(),_0x400ccc(0xd5),_0x400ccc(0x13d));export async function getMcpAuthOrigin(){const _0x14a904=_0x400ccc;try{const _0x95070=(await readFile(AUTH_ORIGIN_PATH,_0x14a904(0xd9)))[_0x14a904(0x13e)]();return _0x95070||null;}catch{return null;}}export async function mcpBootstrap(){const _0x8ad7c7=_0x400ccc,_0x4f2494={'UtTYo':function(_0x526200,_0x543042){return _0x526200(_0x543042);},'ypQCS':function(_0xfc6dc7,_0x20ab3a){return _0xfc6dc7===_0x20ab3a;},'PgAcU':function(_0x285ccc){return _0x285ccc();},'MspSs':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'},_0x431fd2=getMcpAuthUrl();currentOrigin=_0x431fd2;const _0x2ef342=process['stdout']['isTTY']??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x431fd2+'\x0a');const _0x258cc7=await _0x4f2494['UtTYo'](tryUnauthenticated,_0x431fd2);let _0x39f3c2=null;if(_0x4f2494['ypQCS'](_0x258cc7,'proxied'))_0x39f3c2='';else{_0x39f3c2=await _0x4f2494[_0x8ad7c7(0x129)](loadCachedToken);if(!_0x39f3c2){if(!_0x2ef342)throw new Error(_0x4f2494[_0x8ad7c7(0xca)]+_0x8ad7c7(0x116));_0x39f3c2=await oauthFlow(_0x431fd2);}}await callGetCliToken(_0x431fd2,_0x39f3c2);}async function tryUnauthenticated(_0x3a274a){const _0x1341ab=_0x400ccc,_0x36325b={'nGOae':function(_0x135b7c,_0x5534ea,_0x456f29){return _0x135b7c(_0x5534ea,_0x456f29);},'uAayy':_0x1341ab(0xcd),'jqGfc':_0x1341ab(0x102),'dIMxU':_0x1341ab(0x122),'oszUk':_0x1341ab(0x13c),'ilvqG':_0x1341ab(0x114),'ZYryP':_0x1341ab(0xe0),'ZuYQK':'proxied','qrETO':function(_0x40c4d6,_0x556760){return _0x40c4d6===_0x556760;}},_0x479364=await _0x36325b[_0x1341ab(0xf5)](fetch,_0x3a274a,{'method':'POST','headers':{'Content-Type':_0x36325b[_0x1341ab(0x141)],'Accept':_0x36325b['jqGfc']},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':_0x36325b['dIMxU'],'params':{'protocolVersion':_0x36325b[_0x1341ab(0x11c)],'capabilities':{},'clientInfo':{'name':_0x36325b['ilvqG'],'version':_0x36325b['ZYryP']}}})});if(_0x479364['ok'])return await _0x479364[_0x1341ab(0xe5)](),_0x36325b[_0x1341ab(0x11a)];if(_0x36325b['qrETO'](_0x479364['status'],0x191))return await _0x479364['text'](),'needs-oauth';const _0x4eec23=await _0x479364['text']();throw new Error(_0x1341ab(0x148)+_0x479364[_0x1341ab(0xed)]+':\x20'+_0x4eec23);}class OAuthTimeoutError extends Error{constructor(_0x444dcf){const _0x2091d1=_0x400ccc,_0x467267={'PNQSs':'OAuthTimeoutError'};super(_0x444dcf),this[_0x2091d1(0xb5)]=_0x467267[_0x2091d1(0xc8)];}}async function oauthFlow(_0x351b46){const _0x37c7d3=_0x400ccc,_0x21a8b3={'RtVIb':function(_0x226d26,_0x569a66){return _0x226d26(_0x569a66);},'qpfmA':function(_0x4bc4af,_0xb2e510){return _0x4bc4af instanceof _0xb2e510;},'uNPBR':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','ofJiH':function(_0x4eb35b){return _0x4eb35b();}};try{return await _0x21a8b3['RtVIb'](oauthFlowAttempt,_0x351b46);}catch(_0x278eb2){if(_0x21a8b3['qpfmA'](_0x278eb2,OAuthTimeoutError)&&await loadCachedClient())return console['log'](_0x21a8b3[_0x37c7d3(0xf7)]),await _0x21a8b3[_0x37c7d3(0xb8)](clearCachedClient),await oauthFlowAttempt(_0x351b46);throw _0x278eb2;}}async function oauthFlowAttempt(_0x291b3a){const _0x3fb818=_0x400ccc,_0x3ca172={'kgLbc':function(_0x2d1851,_0xb0abc1){return _0x2d1851(_0xb0abc1);},'pMtyn':function(_0xb75901,_0x4efc3d,_0x2ebf1d){return _0xb75901(_0x4efc3d,_0x2ebf1d);},'TVDup':_0x3fb818(0xd4),'QGgKn':_0x3fb818(0xcd),'TJrkp':'authorization_code','isThZ':_0x3fb818(0x111),'LhCUZ':_0x3fb818(0x147),'KmTKk':_0x3fb818(0xc2),'bRjeF':'base64url','vEtbN':'sha256','gecRe':function(_0x4b13d6,_0x3d97f9){return _0x4b13d6(_0x3d97f9);},'JUJLz':'code_challenge','eQSPo':'code_challenge_method','RrLNu':'S256','VeUkC':'resource','LzWTj':'\x0aOpening\x20browser\x20for\x20authentication...','KQWRk':_0x3fb818(0xfd),'WBYFM':'client_secret','iSGuy':_0x3fb818(0x134)},_0x4944d0=_0x291b3a[_0x3fb818(0x121)](/\/mcp$/,'');process[_0x3fb818(0x12d)][_0x3fb818(0x10a)](_0x3fb818(0xce));const _0x1c084f=await _0x3ca172[_0x3fb818(0x131)](fetch,_0x4944d0+_0x3fb818(0x12f));if(!_0x1c084f['ok'])throw new Error(_0x3fb818(0x128));const _0x47e0e4=await _0x1c084f['json'](),_0x3e6a6e=_0x47e0e4['authorization_servers']?.[0x0];if(!_0x3e6a6e)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console['log']('\x20'+_0x3e6a6e);const _0x4fa9a6=await fetchAuthServerMetadata(_0x3e6a6e);let _0x2599df,_0x387c57;const _0x44555c=await loadCachedClient();if(_0x44555c)_0x2599df=_0x44555c['clientId'],_0x387c57=_0x44555c[_0x3fb818(0x106)];else{if(_0x4fa9a6['registration_endpoint']){process['stdout'][_0x3fb818(0x10a)]('Registering\x20OAuth\x20client...');const _0x466c1=await _0x3ca172['pMtyn'](fetch,_0x4fa9a6[_0x3fb818(0xde)],{'method':_0x3ca172[_0x3fb818(0xd8)],'headers':{'Content-Type':_0x3ca172[_0x3fb818(0xd6)]},'body':JSON[_0x3fb818(0xda)]({'client_name':'Ranger\x20CLI','redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':[_0x3ca172['TJrkp'],'refresh_token'],'response_types':[_0x3ca172[_0x3fb818(0x149)]],'token_endpoint_auth_method':'none'})});if(!_0x466c1['ok']){const _0x106881=await _0x466c1['text']();throw new Error(_0x3fb818(0xd7)+_0x106881);}const _0xe4944d=await _0x466c1['json']();_0x2599df=_0xe4944d[_0x3fb818(0xcf)],_0x387c57=_0xe4944d[_0x3fb818(0xf9)],await _0x3ca172['pMtyn'](saveCachedClient,_0x2599df,_0x387c57),console['log'](_0x3ca172['LhCUZ']);}else throw new Error(_0x3ca172['KmTKk']);}const _0x45f742=randomBytes(0x20)['toString'](_0x3ca172[_0x3fb818(0xbc)]),_0x24af44=createHash(_0x3ca172[_0x3fb818(0xc5)])[_0x3fb818(0x123)](_0x45f742)['digest']('base64url'),_0x49730c=_0x3ca172['gecRe'](randomBytes,0x10)['toString']('hex'),_0x28c261=new URL(_0x4fa9a6['authorization_endpoint']);_0x28c261[_0x3fb818(0xeb)]['set']('response_type',_0x3ca172['isThZ']),_0x28c261[_0x3fb818(0xeb)]['set'](_0x3fb818(0xcf),_0x2599df),_0x28c261[_0x3fb818(0xeb)][_0x3fb818(0x112)](_0x3fb818(0x115),_0x3fb818(0x113)+CALLBACK_PORT+_0x3fb818(0xb2)),_0x28c261['searchParams'][_0x3fb818(0x112)](_0x3ca172[_0x3fb818(0xb4)],_0x24af44),_0x28c261[_0x3fb818(0xeb)][_0x3fb818(0x112)](_0x3ca172[_0x3fb818(0xfc)],_0x3ca172['RrLNu']),_0x28c261['searchParams']['set'](_0x3fb818(0x12b),_0x49730c);_0x47e0e4[_0x3fb818(0xdc)]&&_0x28c261['searchParams']['set'](_0x3ca172['VeUkC'],_0x47e0e4[_0x3fb818(0xdc)]);console[_0x3fb818(0x130)](_0x3ca172['LzWTj']),console['log'](_0x3fb818(0xd1)+_0x28c261['toString']()+'\x0a'),await openBrowser(_0x28c261['toString']());const _0x6e6c43=await waitForCallback(_0x49730c);process[_0x3fb818(0x12d)][_0x3fb818(0x10a)](_0x3ca172['KQWRk']);const _0x2183e0=new URLSearchParams({'grant_type':_0x3ca172['TJrkp'],'code':_0x6e6c43,'redirect_uri':_0x3fb818(0x113)+CALLBACK_PORT+_0x3fb818(0xb2),'client_id':_0x2599df,'code_verifier':_0x45f742});_0x387c57&&_0x2183e0[_0x3fb818(0x112)](_0x3ca172['WBYFM'],_0x387c57);_0x47e0e4[_0x3fb818(0xdc)]&&_0x2183e0['set'](_0x3ca172[_0x3fb818(0x145)],_0x47e0e4['resource']);const _0x3fb7bb=await fetch(_0x4fa9a6['token_endpoint'],{'method':_0x3ca172['TVDup'],'headers':{'Content-Type':_0x3ca172[_0x3fb818(0x12a)]},'body':_0x2183e0});if(!_0x3fb7bb['ok']){const _0x569c9e=await _0x3fb7bb[_0x3fb818(0xe5)]();throw new Error(_0x3fb818(0x126)+_0x569c9e);}const _0x36c539=await _0x3fb7bb[_0x3fb818(0x13a)]();return console['log'](_0x3ca172['LhCUZ']),await saveCachedToken(_0x36c539[_0x3fb818(0xe7)],_0x36c539['refresh_token'],_0x36c539[_0x3fb818(0x139)]),_0x36c539[_0x3fb818(0xe7)];}async function callGetCliToken(_0x41c26b,_0x3f7002){const _0x25204e=_0x400ccc,_0x384640={'RWEwI':function(_0x2d857a,_0x2d8428,_0x33afd1){return _0x2d857a(_0x2d8428,_0x33afd1);},'IPVkb':function(_0x414e1e,_0x36f992){return _0x414e1e(_0x36f992);},'jJGoh':'Authorization','BjMDi':function(_0x39abac,_0x10ee93){return _0x39abac(_0x10ee93);},'ECfQW':'ranger-cli','Exosl':'1.0.0','cEOCO':_0x25204e(0x147),'MFXXn':function(_0x5682c7,_0x536025,_0x723e41){return _0x5682c7(_0x536025,_0x723e41);},'rOzxS':'2.0','eMZBT':_0x25204e(0xb9),'dLjri':_0x25204e(0xec),'KIfZf':'get_cli_token','ZSabB':function(_0x3f5da6){return _0x3f5da6();},'NoUxV':_0x25204e(0xd5),'GPcLO':function(_0x4dd6c5,_0x4c0342,_0x29668b){return _0x4dd6c5(_0x4c0342,_0x29668b);},'zSAfn':_0x25204e(0x120),'eIbGs':function(_0x2e4e1a,_0x5dad84,_0x2dea78){return _0x2e4e1a(_0x5dad84,_0x2dea78);},'ytKHo':function(_0x50dd62,_0x587543,_0x4b3741,_0x4c5255){return _0x50dd62(_0x587543,_0x4b3741,_0x4c5255);},'WxxnT':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x91b093={'Content-Type':_0x25204e(0xcd),'Accept':'application/json,\x20text/event-stream'};_0x3f7002&&(_0x91b093[_0x384640[_0x25204e(0xee)]]=_0x25204e(0x11d)+_0x3f7002);const _0x13572c=async _0x3bc47a=>{const _0x122c3c=_0x25204e,_0x23235b=await _0x384640['RWEwI'](fetch,_0x41c26b,{'method':'POST','headers':_0x91b093,'body':JSON[_0x122c3c(0xda)](_0x3bc47a)});if(!_0x23235b['ok']){const _0x4d29cc=await _0x23235b['text']();throw new Error(_0x122c3c(0x107)+_0x23235b['status']+':\x20'+_0x4d29cc);}return _0x384640['IPVkb'](parseResponse,_0x23235b);};process[_0x25204e(0x12d)][_0x25204e(0x10a)]('Initializing\x20MCP\x20session...');const _0x2c7a10=await _0x384640[_0x25204e(0xff)](_0x13572c,{'jsonrpc':'2.0','id':0x1,'method':_0x25204e(0x122),'params':{'protocolVersion':_0x25204e(0x13c),'capabilities':{},'clientInfo':{'name':_0x384640['ECfQW'],'version':_0x384640['Exosl']}}});if(_0x2c7a10[_0x25204e(0xfa)])throw new Error(_0x25204e(0xe2)+(_0x2c7a10['error']['message']??JSON[_0x25204e(0xda)](_0x2c7a10['error'])));console[_0x25204e(0x130)](_0x384640[_0x25204e(0xf4)]),await _0x384640['MFXXn'](fetch,_0x41c26b,{'method':_0x25204e(0xd4),'headers':_0x91b093,'body':JSON[_0x25204e(0xda)]({'jsonrpc':_0x384640['rOzxS'],'method':_0x25204e(0x108)})})[_0x25204e(0xdd)](_0x149a20=>_0x149a20[_0x25204e(0xe5)]()),process['stdout']['write'](_0x384640[_0x25204e(0xb3)]);const _0x56ed90=await _0x13572c({'jsonrpc':_0x25204e(0x13f),'id':0x2,'method':_0x384640[_0x25204e(0xfb)],'params':{'name':_0x384640[_0x25204e(0xe6)],'arguments':{}}});if(_0x56ed90['error'])throw new Error(_0x25204e(0x13b)+(_0x56ed90['error'][_0x25204e(0x104)]??JSON['stringify'](_0x56ed90['error'])));console[_0x25204e(0x130)](_0x384640['cEOCO']);const _0x339280=extractToken(_0x56ed90[_0x25204e(0xd3)]);if(!_0x339280){console['error']('\x0aUnexpected\x20response\x20structure:'),console[_0x25204e(0xfa)](JSON['stringify'](_0x56ed90['result'],null,0x2));throw new Error(_0x25204e(0xf0));}const _0x5a9c43=join(_0x384640[_0x25204e(0x11e)](homedir),_0x384640[_0x25204e(0xfe)]),_0x4a5cb7=_0x384640[_0x25204e(0x100)](join,_0x5a9c43,_0x384640[_0x25204e(0x10c)]);await _0x384640[_0x25204e(0xdf)](mkdir,_0x5a9c43,{'recursive':!![]}),await _0x384640[_0x25204e(0xe9)](writeFile,_0x4a5cb7,_0x339280,{'mode':0x180}),await _0x384640[_0x25204e(0xe9)](writeFile,join(_0x5a9c43,'auth-origin.txt'),_0x41c26b,{'mode':0x180}),console[_0x25204e(0x130)](_0x25204e(0x109)+_0x4a5cb7),console[_0x25204e(0x130)](_0x384640['WxxnT']);}async function fetchAuthServerMetadata(_0x455cce){const _0x257314=_0x400ccc,_0x54a7d1={'yHqrW':function(_0x35b049,_0x53628a){return _0x35b049(_0x53628a);}},_0x54dcae=_0x455cce+'/.well-known/oauth-authorization-server',_0x258cec=await _0x54a7d1['yHqrW'](fetch,_0x54dcae);if(!_0x258cec['ok'])throw new Error(_0x257314(0xb7)+_0x54dcae+':\x20'+_0x258cec['status']);return _0x258cec[_0x257314(0x13a)]();}function waitForCallback(_0x4d1297){const _0x5b8da7=_0x400ccc,_0x12f5c4={'WXKUP':function(_0x4c4ad1,_0x221d77){return _0x4c4ad1(_0x221d77);},'uhkRR':function(_0x4acffa,_0x20fcbf){return _0x4acffa!==_0x20fcbf;},'VnYAo':_0x5b8da7(0x111),'WQRIG':'text/html','hPnPt':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','EGVwn':_0x5b8da7(0xc9)};return new Promise((_0x5e2eaf,_0x12b66f)=>{const _0x578ff7=_0x5b8da7,_0x255fc0={'JGZES':function(_0x1e54b9,_0x1026b1){return _0x12f5c4['WXKUP'](_0x1e54b9,_0x1026b1);},'YJZDL':_0x578ff7(0xf6),'tdsum':function(_0x36bce8,_0x375c84){return _0x12f5c4['uhkRR'](_0x36bce8,_0x375c84);},'RzlWE':_0x578ff7(0xb2),'oBIJS':'Not\x20found','WYfKT':_0x12f5c4['VnYAo'],'cYnhw':_0x578ff7(0xfa),'UVhMz':'error_description','oprqC':_0x12f5c4[_0x578ff7(0xbd)],'tEJQL':function(_0xe45bad,_0x1abc3c){return _0xe45bad(_0x1abc3c);},'pCMrI':function(_0x558055,_0x4a3d05){return _0x558055(_0x4a3d05);},'cGHTq':function(_0x1426ef,_0x16d4db){return _0x1426ef!==_0x16d4db;},'UxKMW':_0x12f5c4['hPnPt']},_0x1103b8=setTimeout(()=>{const _0x480936=_0x578ff7;_0x5d6616['close'](),_0x255fc0['JGZES'](_0x12b66f,new OAuthTimeoutError(_0x255fc0[_0x480936(0x133)]));},0x1d4c0),_0x5d6616=_0x12f5c4[_0x578ff7(0x110)](createServer,(_0x80bc39,_0x190690)=>{const _0x21f271=_0x578ff7,_0x2f1a22=new URL(_0x80bc39[_0x21f271(0x10f)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x255fc0['tdsum'](_0x2f1a22[_0x21f271(0x119)],_0x255fc0[_0x21f271(0xe1)])){_0x190690[_0x21f271(0xc7)](0x194),_0x190690['end'](_0x255fc0['oBIJS']);return;}const _0x256e97=_0x2f1a22[_0x21f271(0xeb)][_0x21f271(0x103)](_0x255fc0['WYfKT']),_0x397bb5=_0x2f1a22['searchParams'][_0x21f271(0x103)]('state'),_0x4a39a9=_0x2f1a22['searchParams'][_0x21f271(0x103)](_0x255fc0[_0x21f271(0xc4)]);if(_0x4a39a9){const _0x1a5e75=_0x2f1a22['searchParams'][_0x21f271(0x103)](_0x255fc0['UVhMz'])??_0x4a39a9;_0x190690['writeHead'](0xc8,{'Content-Type':_0x255fc0['oprqC']}),_0x190690[_0x21f271(0xc3)](_0x21f271(0x101)+_0x1a5e75+_0x21f271(0x10d)),_0x255fc0['tEJQL'](clearTimeout,_0x1103b8),_0x5d6616[_0x21f271(0xc6)](),_0x255fc0[_0x21f271(0x142)](_0x12b66f,new Error(_0x21f271(0x125)+_0x1a5e75));return;}if(!_0x256e97||_0x255fc0['cGHTq'](_0x397bb5,_0x4d1297)){_0x190690[_0x21f271(0xc7)](0x190,{'Content-Type':_0x255fc0[_0x21f271(0x146)]}),_0x190690['end'](_0x255fc0['UxKMW']);return;}_0x190690[_0x21f271(0xc7)](0xc8,{'Content-Type':_0x255fc0['oprqC']}),_0x190690['end']('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),clearTimeout(_0x1103b8),_0x5d6616['close'](),_0x5e2eaf(_0x256e97);});_0x5d6616[_0x578ff7(0x137)](CALLBACK_PORT,_0x12f5c4[_0x578ff7(0xcb)]);});}async function openBrowser(_0x161bc2){const _0x2f62f3=_0x400ccc,_0x1310a3={'KYRyt':'darwin','XeYbI':'win32','CwMbv':'xdg-open'},{exec:_0x30d82c}=await import('child_process'),_0x55a53d=process[_0x2f62f3(0x12e)]===_0x1310a3[_0x2f62f3(0x144)]?_0x2f62f3(0x132):process[_0x2f62f3(0x12e)]===_0x1310a3['XeYbI']?'start':_0x1310a3[_0x2f62f3(0xcc)];_0x30d82c(_0x55a53d+'\x20\x22'+_0x161bc2+'\x22');}function _0x114e(_0x1c5266,_0x360ccc){_0x1c5266=_0x1c5266-0xb1;const _0x413500=_0x4135();let _0x114e7b=_0x413500[_0x1c5266];return _0x114e7b;}let currentOrigin='';async function loadCachedToken(){const _0x56d3d5=_0x400ccc,_0xc4bb6e={'cWeMA':_0x56d3d5(0xd9),'yljsZ':function(_0x537dbd,_0x5245b7){return _0x537dbd>_0x5245b7;}};try{const _0x4fc542=JSON[_0x56d3d5(0x143)](await readFile(TOKEN_CACHE_PATH,_0xc4bb6e[_0x56d3d5(0xb6)]));if(_0x4fc542[_0x56d3d5(0xb1)]&&_0x4fc542['origin']!==currentOrigin)return null;if(_0x4fc542['expiresAt']&&_0xc4bb6e[_0x56d3d5(0xba)](Date['now'](),_0x4fc542['expiresAt']))return null;return _0x4fc542['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x1c22af,_0x46e44f,_0x254677){const _0x40447a=_0x400ccc,_0x573582={'dzhZx':function(_0x33fe34){return _0x33fe34();},'VEQqW':function(_0x2f7d0d,_0x448bad){return _0x2f7d0d+_0x448bad;},'rGkim':function(_0x5dc231,_0x4fc0f0){return _0x5dc231*_0x4fc0f0;},'DiORs':function(_0x26c84d,_0x4f02cb,_0x5504f9){return _0x26c84d(_0x4f02cb,_0x5504f9);},'zLdQL':function(_0x32df0e,_0x469c16,_0x33960c){return _0x32df0e(_0x469c16,_0x33960c);},'TxCeT':function(_0x346676){return _0x346676();}},_0xbbb54=await _0x573582['dzhZx'](loadCachedData),_0x46d8f6={..._0xbbb54,'origin':currentOrigin,'accessToken':_0x1c22af,'refreshToken':_0x46e44f??_0xbbb54?.[_0x40447a(0x118)],'expiresAt':_0x254677?_0x573582['VEQqW'](Date[_0x40447a(0xf8)](),_0x573582[_0x40447a(0xe3)](_0x254677,0x3e8)):undefined};await _0x573582['DiORs'](mkdir,_0x573582['zLdQL'](join,_0x573582['TxCeT'](homedir),_0x40447a(0xd5)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x40447a(0xda)](_0x46d8f6),{'mode':0x180});}async function loadCachedClient(){const _0x5b85c1=_0x400ccc,_0x2b3c9b={'FlcJB':function(_0x3fbe4a){return _0x3fbe4a();}},_0x1e8e5c=await _0x2b3c9b[_0x5b85c1(0xbf)](loadCachedData);if(_0x1e8e5c?.[_0x5b85c1(0xb1)]&&_0x1e8e5c[_0x5b85c1(0xb1)]!==currentOrigin)return null;return _0x1e8e5c?.[_0x5b85c1(0xf2)]?{'clientId':_0x1e8e5c[_0x5b85c1(0xf2)],'clientSecret':_0x1e8e5c['clientSecret']}:null;}async function clearCachedClient(){const _0x684fb9={'LKBpU':function(_0x4c57af,_0x424a6b,_0x5c3ecd,_0x5cb4fb){return _0x4c57af(_0x424a6b,_0x5c3ecd,_0x5cb4fb);}},_0x5849ce=await loadCachedData();if(!_0x5849ce)return;const {clientId:_0x5d4761,clientSecret:_0x49bb7e,..._0x3c43fc}=_0x5849ce;await _0x684fb9['LKBpU'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x3c43fc),{'mode':0x180});}async function saveCachedClient(_0x152dee,_0x34d4e4){const _0x3ab1cf=_0x400ccc,_0xb16d87={'MIwce':function(_0x22bd30){return _0x22bd30();},'jfNkr':function(_0x246239,_0x427676,_0x7502e6){return _0x246239(_0x427676,_0x7502e6);},'oGRUV':'.ranger','hOJNZ':function(_0x2f856f,_0x485e4d,_0x4a53f6,_0x1c5f68){return _0x2f856f(_0x485e4d,_0x4a53f6,_0x1c5f68);}},_0x5dea1f=await _0xb16d87['MIwce'](loadCachedData),_0x100ed2={..._0x5dea1f,'origin':currentOrigin,'accessToken':_0x5dea1f?.[_0x3ab1cf(0xc0)]??'','clientId':_0x152dee,'clientSecret':_0x34d4e4};await mkdir(_0xb16d87['jfNkr'](join,homedir(),_0xb16d87[_0x3ab1cf(0x136)]),{'recursive':!![]}),await _0xb16d87[_0x3ab1cf(0x138)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x100ed2),{'mode':0x180});}async function loadCachedData(){const _0x1a4428=_0x400ccc,_0x5a7134={'weZuv':_0x1a4428(0xd9)};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x5a7134['weZuv']));}catch{return null;}}async function parseResponse(_0x40ad73){const _0x20de13=_0x400ccc,_0x506502={'Xlfyr':'data:','HKSGH':function(_0x331462,_0x329e7c){return _0x331462!==_0x329e7c;}},_0x56e468=_0x40ad73['headers'][_0x20de13(0x103)]('content-type')??'';if(_0x56e468['includes'](_0x20de13(0xe8))){const _0x1b1cbf=await _0x40ad73[_0x20de13(0xe5)]();for(const _0x16d164 of _0x1b1cbf['split']('\x0a')){const _0x31e13a=_0x16d164['trim']();if(_0x31e13a[_0x20de13(0xf3)](_0x506502['Xlfyr'])){const _0x536320=_0x31e13a[_0x20de13(0xc1)](_0x506502['Xlfyr']['length'])[_0x20de13(0x13e)]();if(!_0x536320)continue;try{const _0x2f6481=JSON['parse'](_0x536320);if(_0x506502[_0x20de13(0xbb)](_0x2f6481['id'],undefined)||_0x2f6481['error'])return _0x2f6481;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x40ad73[_0x20de13(0x13a)]();}function extractToken(_0x458b10){const _0x199cde=_0x400ccc,_0x22d220={'nGCtH':function(_0x5f1e06,_0x479163){return _0x5f1e06===_0x479163;},'pSnLQ':'Unknown\x20error','gnxOF':function(_0x283714,_0x1f2a28){return _0x283714===_0x1f2a28;},'ZQnIC':'text'};if(!_0x458b10)return null;const _0x2a01a5=_0x458b10[_0x199cde(0x12c)];if(_0x2a01a5?.['token']&&_0x22d220[_0x199cde(0x135)](typeof _0x2a01a5[_0x199cde(0xe4)],'string'))return _0x2a01a5[_0x199cde(0xe4)];if(_0x458b10[_0x199cde(0xea)]){const _0x4c93c9=_0x458b10['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x4c93c9?.[0x0]?.['text']??_0x22d220['pSnLQ']));}const _0x14e220=_0x458b10[_0x199cde(0xf1)];if(_0x14e220)for(const _0xfb669e of _0x14e220){if(_0x22d220['gnxOF'](_0xfb669e[_0x199cde(0xd2)],_0x22d220[_0x199cde(0x10e)])&&_0xfb669e['text']){try{const _0xa5a225=JSON['parse'](_0xfb669e[_0x199cde(0xe5)]);if(_0x22d220['gnxOF'](typeof _0xa5a225?.[_0x199cde(0xe4)],'string'))return _0xa5a225[_0x199cde(0xe4)];}catch{}const _0x3dcacb=_0xfb669e['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x3dcacb)return _0x3dcacb[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(_0x4a4d9a,_0x4dc2e1){const _0x1b8717=_0x1498,_0x50c864=_0x4a4d9a();while(!![]){try{const _0x2601ff=parseInt(_0x1b8717(0xde))/0x1+-parseInt(_0x1b8717(0xc1))/0x2*(-parseInt(_0x1b8717(0x109))/0x3)+parseInt(_0x1b8717(0xe2))/0x4+parseInt(_0x1b8717(0x106))/0x5*(parseInt(_0x1b8717(0x110))/0x6)+-parseInt(_0x1b8717(0x10e))/0x7+-parseInt(_0x1b8717(0x107))/0x8+-parseInt(_0x1b8717(0xf4))/0x9*(parseInt(_0x1b8717(0xee))/0xa);if(_0x2601ff===_0x4dc2e1)break;else _0x50c864['push'](_0x50c864['shift']());}catch(_0x54961d){_0x50c864['push'](_0x50c864['shift']());}}}(_0x5149,0x38817));import{readFile,rm}from'fs/promises';import{existsSync}from'fs';import{join}from'path';import _0x25eb91 from'inquirer';function _0x1498(_0x271aca,_0x6c128a){_0x271aca=_0x271aca-0xc0;const _0x514969=_0x5149();let _0x1498c7=_0x514969[_0x271aca];return _0x1498c7;}import{getEnvNames}from'./env.js';import{getEnvDir,loadSettings}from'./utils/settings.js';import{getRangerDir}from'./utils/rangerRoot.js';import{ApiError,createCloudProfile,fetchAuthConfig,saveCloudProfileCredentials,uploadCloudProfileSession}from'./utils/cloudProfile.js';import{matchAuthEnvironment}from'./utils/matchAuthEnvironment.js';import{readProjectsConfig,setProfileOverride,writeProjectsConfig}from'./utils/projectsConfig.js';import{isPathGitTracked}from'./utils/gitTracked.js';function formatPlanLine(_0x54f119){const _0x453351=_0x1498,_0x5813ee={'bYRFw':function(_0x5e8b01,_0x190563){return _0x5e8b01===_0x190563;},'AQemF':_0x453351(0x100)};if(_0x5813ee[_0x453351(0xc9)](_0x54f119[_0x453351(0xd0)],_0x5813ee[_0x453351(0xdd)]))return'\x20\x20'+_0x54f119[_0x453351(0x115)]['padEnd'](0x1e)+'\x20→\x20skip\x20('+_0x54f119[_0x453351(0xf1)]+')';if(_0x54f119[_0x453351(0xf7)]&&_0x54f119['baseUrl'])return'\x20\x20'+_0x54f119['profileName'][_0x453351(0xca)](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x54f119[_0x453351(0xd9)]+_0x453351(0xe4)+_0x54f119['baseUrl']+_0x453351(0xe3);if(_0x54f119[_0x453351(0x119)])return'\x20\x20'+_0x54f119['profileName']['padEnd'](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x54f119[_0x453351(0xd9)]+_0x453351(0x10b)+_0x54f119['baseUrl']+')';return'\x20\x20'+_0x54f119[_0x453351(0x115)]['padEnd'](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x54f119['envKey']+')';}function shouldWarnGitTrackedOnce(_0x2cbe08){const _0x64a1d=_0x1498,_0x56824b={'LaQlq':function(_0x2f83ef){return _0x2f83ef();}},_0x5d8e90=_0x56824b[_0x64a1d(0xe6)](readProjectsConfig),_0x4ef61b=_0x5d8e90[_0x64a1d(0xf8)][_0x2cbe08]??={},_0x482a17=_0x4ef61b[_0x64a1d(0xc5)]??={},_0x11b8be=_0x482a17['gitTrackedRanger'],_0xf32cdf=new Date(),_0x13275a=_0xf32cdf[_0x64a1d(0xce)]()['slice'](0x0,0xa);if(_0x11b8be===_0x13275a)return![];return _0x482a17[_0x64a1d(0xf2)]=_0x13275a,writeProjectsConfig(_0x5d8e90),!![];}export async function migrateProfile(_0x2568c0,_0x518139){const _0x1c0de6=_0x1498,_0x13679b={'LXxmI':function(_0x3d92df){return _0x3d92df();},'GJbod':function(_0x52f690,_0x5a4da7){return _0x52f690(_0x5a4da7);},'tBRRI':function(_0x16f7b9,_0x43772a){return _0x16f7b9===_0x43772a;},'lVQbH':'No\x20cloud\x20profile\x20auth\x20config\x20found\x20for\x20this\x20org.\x20Migration\x20requires\x20at\x20least\x20one\x20configured\x20auth\x20environment.','ORNKN':'skip','XAGMJ':_0x1c0de6(0xd5),'vhFSO':function(_0x6b8ee1,_0x430849){return _0x6b8ee1(_0x430849);},'FayGy':_0x1c0de6(0x103),'XwMcX':function(_0x420d72,_0x1f64a1){return _0x420d72===_0x1f64a1;},'uvSsy':function(_0x444fd7,_0x5d8f30,_0x2975d6){return _0x444fd7(_0x5d8f30,_0x2975d6);},'wkzFp':_0x1c0de6(0xe0),'oWaKK':_0x1c0de6(0x104),'gJSAa':_0x1c0de6(0xc2),'CyICP':function(_0x5e8c50,_0x1ff9d3){return _0x5e8c50(_0x1ff9d3);},'dJmfV':'confirm','Khwhx':'proceed','KGnDb':'Proceed?','MrVxY':'Aborted.','QEeIC':function(_0x36842f){return _0x36842f();},'XfsBE':function(_0x20bb61,_0x26f164){return _0x20bb61(_0x26f164);},'JoShP':'After\x20migration,\x20uncommit\x20it:','ZfjoN':_0x1c0de6(0xd2),'HSGjl':'Continuing\x20with\x20migration...','ZytPr':function(_0x36ea75,_0x35b3c7){return _0x36ea75===_0x35b3c7;},'omMvm':'profile.migrate.skipped','mGNkc':_0x1c0de6(0xc7),'vCKiB':function(_0x3dfb94,_0x2ce226){return _0x3dfb94&&_0x2ce226;},'miqJl':function(_0x4cabd3,_0x4ca396,_0x5f2364,_0x26352e){return _0x4cabd3(_0x4ca396,_0x5f2364,_0x26352e);},'IDXSo':function(_0x3379e7,_0x4d51ae,_0x474967,_0x1d6cd3,_0x166d03){return _0x3379e7(_0x4d51ae,_0x474967,_0x1d6cd3,_0x166d03);},'KpHQN':'baseUrl','pjabz':function(_0x10160f,_0x1f2c43){return _0x10160f instanceof _0x1f2c43;},'gezPZ':_0x1c0de6(0xd7),'kVxTG':function(_0x51cc71,_0x583c07){return _0x51cc71(_0x583c07);},'JntFl':function(_0x2fe94a,_0x315097){return _0x2fe94a>_0x315097;},'HnekA':_0x1c0de6(0x108),'gCoom':function(_0x7c14ac,_0x28bf06){return _0x7c14ac+_0x28bf06;}};if(!_0x2568c0[_0x1c0de6(0x115)]&&!_0x2568c0['all'])throw new Error(_0x1c0de6(0x114));let _0x4dfd0d;try{_0x4dfd0d=await _0x13679b['LXxmI'](fetchAuthConfig);}catch(_0x2f0e70){throw new Error(_0x1c0de6(0xed)+(_0x2f0e70 instanceof Error?_0x2f0e70['message']:_0x13679b['GJbod'](String,_0x2f0e70))+_0x1c0de6(0xf9));}if(!_0x4dfd0d||!_0x4dfd0d['environments']||_0x13679b['tBRRI'](Object['keys'](_0x4dfd0d['environments'])[_0x1c0de6(0xec)],0x0))throw new Error(_0x13679b[_0x1c0de6(0xd6)]);const _0x23d884=[];if(_0x2568c0[_0x1c0de6(0xfe)]){const {envNames:_0x412b12,envTypes:_0x4e4cfe}=await getEnvNames();for(const _0xf2b89a of _0x412b12){if(_0x13679b['tBRRI'](_0x4e4cfe[_0xf2b89a],'ci'))continue;_0x23d884[_0x1c0de6(0xc4)](_0xf2b89a);}}else _0x2568c0[_0x1c0de6(0x115)]&&_0x23d884['push'](_0x2568c0[_0x1c0de6(0x115)]);if(_0x23d884[_0x1c0de6(0xec)]===0x0){console['log']('No\x20local\x20profiles\x20found\x20to\x20migrate.');return;}const _0x2d0cd6=[];for(const _0x18c407 of _0x23d884){const _0xbe50c8=getEnvDir(_0x18c407);if(!_0x13679b[_0x1c0de6(0xf3)](existsSync,_0xbe50c8)){_0x2d0cd6['push']({'kind':_0x13679b['ORNKN'],'profileName':_0x18c407,'reason':_0x13679b[_0x1c0de6(0x113)]});continue;}const _0x511480=await _0x13679b['vhFSO'](loadSettings,_0x18c407),_0x40cee8=_0x511480[_0x1c0de6(0x119)];if(!_0x40cee8){_0x2d0cd6['push']({'kind':_0x13679b['ORNKN'],'profileName':_0x18c407,'reason':'no\x20baseUrl\x20in\x20settings.json'});continue;}const _0x5bfb55=matchAuthEnvironment(_0x40cee8,_0x4dfd0d);if(!_0x5bfb55){_0x2d0cd6[_0x1c0de6(0xc4)]({'kind':_0x1c0de6(0x100),'profileName':_0x18c407,'reason':_0x13679b['FayGy']});continue;}const _0x12dc19=_0x4dfd0d['environments'][_0x5bfb55],_0x27c8b8=_0x12dc19?.[_0x1c0de6(0xeb)]??[],_0x815701=_0x27c8b8[_0x1c0de6(0x112)](_0x38087d=>{const _0x4a559a=_0x1c0de6;try{return new URL(_0x38087d)[_0x4a559a(0x102)]===new URL(_0x40cee8)[_0x4a559a(0x102)];}catch{return![];}}),_0x3e244e={};for(const [_0xd4c94,_0x4e9cac]of Object['entries'](_0x511480)){if(_0xd4c94===_0x1c0de6(0x119))continue;if(_0x13679b[_0x1c0de6(0xcf)](_0x4e9cac,undefined))continue;_0x3e244e[_0xd4c94]=_0x4e9cac;}!_0x815701&&(_0x3e244e['baseUrl']=_0x40cee8);const _0x1a7e63=_0x13679b['uvSsy'](join,_0xbe50c8,_0x13679b[_0x1c0de6(0xc6)]),_0x3b4702=existsSync(_0x1a7e63);_0x2d0cd6[_0x1c0de6(0xc4)]({'kind':_0x13679b['oWaKK'],'profileName':_0x18c407,'envKey':_0x5bfb55,'baseUrl':_0x40cee8,'preserveBaseUrl':!_0x815701,'settings':_0x3e244e,'authJsonPath':_0x3b4702?_0x1a7e63:null});}console[_0x1c0de6(0xdf)](_0x13679b[_0x1c0de6(0xcc)]);for(const _0x2e8c40 of _0x2d0cd6){console['log'](_0x13679b[_0x1c0de6(0xf5)](formatPlanLine,_0x2e8c40));}if(_0x2568c0[_0x1c0de6(0xcd)]){console[_0x1c0de6(0xdf)]('Nothing\x20migrated.\x20Run\x20without\x20--dry-run\x20to\x20apply.');return;}const _0x306ca9=_0x13679b['vhFSO'](Boolean,process[_0x1c0de6(0xe1)]['isTTY']&&process['stdout']['isTTY']),_0x210a5e=_0x2d0cd6['some'](_0x4ee3fd=>_0x4ee3fd['kind']===_0x1c0de6(0x104));if(_0x210a5e&&_0x306ca9&&!_0x2568c0['yes']){const {proceed:_0x4dbd7b}=await _0x25eb91['prompt']([{'type':_0x13679b['dJmfV'],'name':_0x13679b[_0x1c0de6(0x101)],'message':_0x13679b[_0x1c0de6(0xef)],'default':![]}]);if(!_0x4dbd7b){console[_0x1c0de6(0xdf)](_0x13679b[_0x1c0de6(0xd8)]);return;}}const _0x43bd26=_0x13679b['QEeIC'](getRangerDir);let _0x4bc80d=![];if(_0x13679b[_0x1c0de6(0xf5)](existsSync,_0x43bd26))try{_0x4bc80d=await _0x13679b[_0x1c0de6(0xf0)](isPathGitTracked,_0x43bd26);}catch{_0x4bc80d=![];}_0x4bc80d&&_0x13679b['XfsBE'](shouldWarnGitTrackedOnce,process['cwd']())&&(console[_0x1c0de6(0xdf)]('Warning:\x20.ranger/\x20is\x20tracked\x20in\x20this\x20git\x20repo.'),console[_0x1c0de6(0xdf)](_0x13679b[_0x1c0de6(0xdc)]),console[_0x1c0de6(0xdf)]('\x20\x20git\x20rm\x20-r\x20--cached\x20.ranger/'),console[_0x1c0de6(0xdf)](_0x13679b['ZfjoN']),console['log'](_0x13679b['HSGjl']));let _0x1af5a5=0x0,_0x46d875=0x0,_0x38e51e=0x0,_0x49062b=0x0;for(const _0x5f238b of _0x2d0cd6){if(_0x13679b[_0x1c0de6(0xe8)](_0x5f238b['kind'],'skip')){_0x49062b++,_0x518139?.['trackPhaseEnd']('profile.migrate.skipped',{'profileName':_0x5f238b['profileName'],'reason':_0x5f238b[_0x1c0de6(0xf1)]});continue;}_0x518139?.[_0x1c0de6(0xff)](_0x1c0de6(0xfc),{'profileName':_0x5f238b[_0x1c0de6(0x115)],'envKey':_0x5f238b[_0x1c0de6(0xd9)]});try{try{await createCloudProfile(_0x5f238b['profileName'],_0x5f238b[_0x1c0de6(0xd9)],_0x5f238b['settings']);}catch(_0xc50965){if(_0xc50965 instanceof ApiError&&_0x13679b[_0x1c0de6(0xcf)](_0xc50965[_0x1c0de6(0xfd)],0x199)){console['log']('\x20\x20⚠\x20'+_0x5f238b['profileName']+':\x20cloud\x20profile\x20with\x20this\x20name\x20already\x20exists.\x20Skipping.'),_0x49062b++,_0x518139?.['trackPhaseEnd'](_0x13679b[_0x1c0de6(0xd4)],{'profileName':_0x5f238b['profileName'],'reason':_0x1c0de6(0xc0)});continue;}throw _0xc50965;}let _0x284614=![],_0x290de0=![];if(_0x5f238b[_0x1c0de6(0x10a)])try{const _0x333349=await readFile(_0x5f238b[_0x1c0de6(0x10a)],_0x13679b[_0x1c0de6(0x10c)]),_0x12f692=JSON[_0x1c0de6(0xc8)](_0x333349);await uploadCloudProfileSession(_0x5f238b['profileName'],_0x12f692),_0x284614=!![];}catch(_0x31c6bc){_0x290de0=!![],console['log'](_0x1c0de6(0xe9)+_0x5f238b[_0x1c0de6(0x115)]+_0x1c0de6(0xd1)+(_0x31c6bc instanceof Error?_0x31c6bc['message']:String(_0x31c6bc))+').\x20Cloud\x20profile\x20created;\x20local\x20auth.json\x20left\x20in\x20place.');}let _0x3e0b3a=![];if(_0x2568c0[_0x1c0de6(0x116)]){const _0x4b7bbe=process[_0x1c0de6(0x105)]['RANGER_TEST_USERNAME'],_0x5ac712=process['env']['RANGER_TEST_PASSWORD'];if(_0x13679b['vCKiB'](_0x4b7bbe,_0x5ac712))try{await _0x13679b['miqJl'](saveCloudProfileCredentials,_0x5f238b['profileName'],_0x4b7bbe,_0x5ac712),_0x3e0b3a=!![];}catch(_0x5d97bc){console[_0x1c0de6(0xdf)]('\x20\x20⚠\x20'+_0x5f238b['profileName']+_0x1c0de6(0x118)+(_0x5d97bc instanceof Error?_0x5d97bc[_0x1c0de6(0x117)]:_0x13679b[_0x1c0de6(0xc3)](String,_0x5d97bc))+').');}else console[_0x1c0de6(0xdf)]('\x20\x20⚠\x20'+_0x5f238b[_0x1c0de6(0x115)]+':\x20--save-creds\x20requested,\x20but\x20RANGER_TEST_USERNAME/PASSWORD\x20not\x20set\x20in\x20env.');}if(_0x5f238b['preserveBaseUrl']&&_0x5f238b[_0x1c0de6(0x119)])try{_0x13679b['IDXSo'](setProfileOverride,process[_0x1c0de6(0x10f)](),_0x5f238b['profileName'],_0x13679b[_0x1c0de6(0xd3)],_0x5f238b[_0x1c0de6(0x119)]);}catch(_0x35230d){console['log'](_0x1c0de6(0xe9)+_0x5f238b[_0x1c0de6(0x115)]+_0x1c0de6(0xf6)+(_0x13679b[_0x1c0de6(0xda)](_0x35230d,Error)?_0x35230d['message']:String(_0x35230d))+').');}const _0x6335ae=getEnvDir(_0x5f238b[_0x1c0de6(0x115)]);if(!_0x290de0&&_0x13679b[_0x1c0de6(0xc3)](existsSync,_0x6335ae))try{await rm(_0x6335ae,{'recursive':!![],'force':!![]}),_0x46d875++;}catch(_0x355e98){console['log'](_0x1c0de6(0xe9)+_0x5f238b[_0x1c0de6(0x115)]+':\x20failed\x20to\x20delete\x20local\x20dir\x20'+_0x6335ae+'\x20('+(_0x355e98 instanceof Error?_0x355e98[_0x1c0de6(0x117)]:String(_0x355e98))+').');}_0x1af5a5++,_0x5f238b[_0x1c0de6(0xf7)]&&_0x5f238b['baseUrl']?console['log'](_0x1c0de6(0xdb)+_0x5f238b[_0x1c0de6(0x115)]+'\x20migrated\x20to\x20cloud\x20(env:\x20'+_0x5f238b[_0x1c0de6(0xd9)]+_0x1c0de6(0xea)):console[_0x1c0de6(0xdf)](_0x1c0de6(0xdb)+_0x5f238b['profileName']+_0x1c0de6(0xe5)+_0x5f238b[_0x1c0de6(0xd9)]+')'),_0x518139?.[_0x1c0de6(0xfb)](_0x13679b[_0x1c0de6(0xfa)],{'profileName':_0x5f238b['profileName'],'envKey':_0x5f238b[_0x1c0de6(0xd9)],'wasGitTracked':_0x4bc80d,'hadSession':_0x284614,'savedCreds':_0x3e0b3a});}catch(_0x30725a){_0x38e51e++,console['log']('\x20\x20✗\x20'+_0x5f238b['profileName']+_0x1c0de6(0x10d)+(_0x30725a instanceof Error?_0x30725a['message']:_0x13679b['kVxTG'](String,_0x30725a))),_0x518139?.['trackPhaseEnd']('profile.migrate.failed',{'profileName':_0x5f238b[_0x1c0de6(0x115)],'error':_0x30725a instanceof Error?_0x30725a[_0x1c0de6(0x117)]:String(_0x30725a)});}}const _0x57dced=[];if(_0x13679b['JntFl'](_0x1af5a5,0x0))_0x57dced['push'](_0x1af5a5+'\x20profile'+(_0x13679b[_0x1c0de6(0xe8)](_0x1af5a5,0x1)?'':'s')+_0x1c0de6(0x111));if(_0x13679b['JntFl'](_0x46d875,0x0))_0x57dced['push']('Deleted\x20'+_0x46d875+'\x20local\x20director'+(_0x46d875===0x1?'y':_0x13679b[_0x1c0de6(0xe7)]));if(_0x13679b['JntFl'](_0x49062b,0x0))_0x57dced[_0x1c0de6(0xc4)](_0x49062b+'\x20skipped');if(_0x13679b['JntFl'](_0x38e51e,0x0))_0x57dced['push'](_0x38e51e+_0x1c0de6(0xcb));if(_0x13679b['JntFl'](_0x57dced['length'],0x0))console[_0x1c0de6(0xdf)](_0x13679b['gCoom'](_0x57dced['join']('.\x20'),'.'));}function _0x5149(){const _0xea39a4=['profile.migrate.started','status','all','trackPhaseStart','skip','Khwhx','origin','no\x20matching\x20auth\x20env','migrate','env','44340artDwQ','451368dFCMnl','ies','256296vZKalM','authJsonPath',',\x20matches\x20','mGNkc','\x20failed:\x20','2041193pQSLeJ','cwd','96HYOFHm','\x20migrated','some','XAGMJ','Provide\x20a\x20profile\x20name\x20or\x20--all.\x0a\x20\x20Example:\x20ranger\x20profile\x20migrate\x20--all\x20--dry-run','profileName','saveCreds','message',':\x20failed\x20to\x20save\x20credentials\x20(','baseUrl','name_conflict','8AceNEX','Plan:','vhFSO','push','_warnings','wkzFp','utf-8','parse','bYRFw','padEnd','\x20failed','gJSAa','dryRun','toISOString','XwMcX','kind',':\x20session\x20upload\x20failed\x20(','\x20\x20echo\x20\x27.ranger/\x27\x20>>\x20.gitignore','KpHQN','omMvm','local\x20profile\x20directory\x20not\x20found','lVQbH','profile.migrate.succeeded','MrVxY','envKey','pjabz','\x20\x20✓\x20','JoShP','AQemF','160066DtLtaL','log','auth.json','stdin','465676VNFYpj','\x20as\x20project\x20override)',',\x20preserving\x20baseUrl\x20','\x20migrated\x20to\x20cloud\x20(env:\x20','LaQlq','HnekA','ZytPr','\x20\x20⚠\x20',',\x20baseUrl\x20override\x20→\x20projects.json)','domains','length','Could\x20not\x20fetch\x20auth\x20config\x20(','48820wTxpBk','KGnDb','XfsBE','reason','gitTrackedRanger','GJbod','333WkcbXn','CyICP',':\x20failed\x20to\x20write\x20projects.json\x20override\x20(','preserveBaseUrl','projects',').\x20Run:\x20ranger\x20setup','gezPZ','trackPhaseEnd'];_0x5149=function(){return _0xea39a4;};return _0x5149();}
|
|
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);}
|