@ranger-testing/ranger-cli 2.5.4-alpha.78800d3-3 → 2.5.4-alpha.9360c2a-16
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 +3 -2
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x5b14(){const _0x57d252=['Valid\x20hooks:\x20','2356136AygrnK','1266852xyaeiJ','2525295zyxkFe','SIGHUP','274904JAmIYC','error','SIGINT','Unknown\x20hook:\x20','join','6PgFIJn','80884wHnRYF','exit','11043549qUhSSM','once','6zYSPwT','2323124waaqpt'];_0x5b14=function(){return _0x57d252;};return _0x5b14();}(function(_0x4430f9,_0xae76b2){const _0x56bd4c=_0x19c8,_0x1a596e=_0x4430f9();while(!![]){try{const _0xb3c38a=-parseInt(_0x56bd4c(0x1eb))/0x1*(-parseInt(_0x56bd4c(0x1ef))/0x2)+-parseInt(_0x56bd4c(0x1f3))/0x3+-parseInt(_0x56bd4c(0x1f0))/0x4+-parseInt(_0x56bd4c(0x1f4))/0x5*(parseInt(_0x56bd4c(0x1ea))/0x6)+parseInt(_0x56bd4c(0x1f6))/0x7+parseInt(_0x56bd4c(0x1f2))/0x8+parseInt(_0x56bd4c(0x1ed))/0x9;if(_0xb3c38a===_0xae76b2)break;else _0x1a596e['push'](_0x1a596e['shift']());}catch(_0x117d94){_0x1a596e['push'](_0x1a596e['shift']());}}}(_0x5b14,0x481d2));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 installCancellationHandlers(){const _0x1c63c1=_0x19c8,_0x11a7f4={'YATIQ':'SIGTERM'};if(cancellationHandlersInstalled)return;const _0x489ada=()=>{const _0x2efbe3=_0x19c8;process[_0x2efbe3(0x1ec)](0x0);};process['once'](_0x1c63c1(0x1e7),_0x489ada),process['once'](_0x11a7f4['YATIQ'],_0x489ada),process[_0x1c63c1(0x1ee)](_0x1c63c1(0x1f5),_0x489ada),cancellationHandlersInstalled=!![];}function _0x19c8(_0x20d5af,_0x254a7a){_0x20d5af=_0x20d5af-0x1e6;const _0x5b1484=_0x5b14();let _0x19c8d4=_0x5b1484[_0x20d5af];return _0x19c8d4;}export async function hook(_0x9e580f,_0x159269){const _0x107489=_0x19c8;installCancellationHandlers();const _0x1bb242=HOOKS[_0x9e580f];if(!_0x1bb242){const _0x487ac5=Object['keys'](HOOKS)[_0x107489(0x1e9)](',\x20');console[_0x107489(0x1e6)](_0x107489(0x1e8)+_0x9e580f),console[_0x107489(0x1e6)](_0x107489(0x1f1)+_0x487ac5),process[_0x107489(0x1ec)](0x1);}await _0x1bb242(_0x159269);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x1aee(){const _0x111e98=['log','144wwIZsx','57dHNuyo','546954mqdkuH','uAbVt','1419480ECEEoU','14WHwApm','UKQvu','2396idzemG','964585uVhTSv','30772ZUYhnp','472710YhKlNs','89019RoxDdF'];_0x1aee=function(){return _0x111e98;};return _0x1aee();}(function(_0x5a3801,_0x12f34f){const _0x2d57f4=_0x4e82,_0x293b14=_0x5a3801();while(!![]){try{const _0x2cb884=-parseInt(_0x2d57f4(0x1d2))/0x1*(-parseInt(_0x2d57f4(0x1d8))/0x2)+-parseInt(_0x2d57f4(0x1cc))/0x3*(-parseInt(_0x2d57f4(0x1d4))/0x4)+-parseInt(_0x2d57f4(0x1d3))/0x5+-parseInt(_0x2d57f4(0x1cd))/0x6*(parseInt(_0x2d57f4(0x1d0))/0x7)+parseInt(_0x2d57f4(0x1cf))/0x8+-parseInt(_0x2d57f4(0x1d6))/0x9+parseInt(_0x2d57f4(0x1d5))/0xa;if(_0x2cb884===_0x12f34f)break;else _0x293b14['push'](_0x293b14['shift']());}catch(_0x324685){_0x293b14['push'](_0x293b14['shift']());}}}(_0x1aee,0x26a33));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT='\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.';function _0x4e82(_0x50d86d,_0x44f37b){_0x50d86d=_0x50d86d-0x1cc;const _0x1aeee3=_0x1aee();let _0x4e823f=_0x1aeee3[_0x50d86d];return _0x4e823f;}export async function autoPrompt(){const _0x5bc199=_0x4e82,_0x30a284={'uAbVt':function(_0x48ec5){return _0x48ec5();},'UKQvu':function(_0x4b1106,_0x31f582){return _0x4b1106(_0x31f582);}},_0x2b7d00=await _0x30a284[_0x5bc199(0x1ce)](readHookInput),_0x5d8669=_0x2b7d00?.['session_id'];if(!_0x5d8669)return;if(_0x30a284[_0x5bc199(0x1d1)](isSessionEnabled,_0x5d8669)||_0x30a284['UKQvu'](hasSessionBeenPrompted,_0x5d8669))return;markSessionPrompted(_0x5d8669),console[_0x5bc199(0x1d7)](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x316cbd,_0x838c3f){const _0x257b27=_0x8416,_0x48268c=_0x316cbd();while(!![]){try{const _0x5d46ac=-parseInt(_0x257b27(0x155))/0x1+-parseInt(_0x257b27(0x14b))/0x2*(-parseInt(_0x257b27(0x14c))/0x3)+-parseInt(_0x257b27(0x151))/0x4+-parseInt(_0x257b27(0x152))/0x5*(parseInt(_0x257b27(0x156))/0x6)+parseInt(_0x257b27(0x153))/0x7+-parseInt(_0x257b27(0x149))/0x8+parseInt(_0x257b27(0x14f))/0x9;if(_0x5d46ac===_0x838c3f)break;else _0x48268c['push'](_0x48268c['shift']());}catch(_0x573c2f){_0x48268c['push'](_0x48268c['shift']());}}}(_0x334d,0xe6f01));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x8416(_0x471522,_0x2a2439){_0x471522=_0x471522-0x149;const _0x334d8a=_0x334d();let _0x8416e0=_0x334d8a[_0x471522];return _0x8416e0;}export async function disable(_0x24dac){const _0x3a74de=_0x8416,_0x2af433={'hYemH':function(_0x15fb8b,_0xcfcb1c){return _0x15fb8b(_0xcfcb1c);},'adWLQ':function(_0xbd018b,_0x1f5908){return _0xbd018b!==_0x1f5908;},'WWWfj':function(_0x4dc06f,_0x3a4940){return _0x4dc06f(_0x3a4940);},'xRnUv':'main','yKeFW':_0x3a74de(0x150)},_0x2843f1=_0x24dac||process[_0x3a74de(0x157)]['CLAUDE_SESSION_ID']||'';_0x2843f1&&_0x2af433['hYemH'](disableSession,_0x2843f1);const _0x3853ec=getCurrentBranch();_0x3853ec&&_0x3853ec!=='main'&&_0x2af433['adWLQ'](_0x3853ec,'master')&&_0x2af433[_0x3a74de(0x14d)](disableBranch,_0x3853ec),printBlock(_0x3a74de(0x154)+(_0x3853ec&&_0x3853ec!==_0x2af433[_0x3a74de(0x14a)]&&_0x3853ec!==_0x2af433['yKeFW']?_0x3a74de(0x14e)+_0x3853ec+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}function _0x334d(){const _0x2d183c=['12824032sCjJHc','xRnUv','16KERysV','129747PORcCv','WWWfj','\x20and\x20branch\x20\x27','33459795uQzEKh','master','1070808zkYTdU','121665QukTFG','12289067jEgpxC','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','1129060kChELP','462zzOcmW','env'];_0x334d=function(){return _0x2d183c;};return _0x334d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x25fb2c,_0x4a4db7){const _0x3e88e2=_0x5b79,_0x313842=_0x25fb2c();while(!![]){try{const _0x4bc289=parseInt(_0x3e88e2(0x85))/0x1*(parseInt(_0x3e88e2(0x84))/0x2)+-parseInt(_0x3e88e2(0x87))/0x3*(-parseInt(_0x3e88e2(0x82))/0x4)+parseInt(_0x3e88e2(0x81))/0x5+-parseInt(_0x3e88e2(0x8c))/0x6*(-parseInt(_0x3e88e2(0x8f))/0x7)+parseInt(_0x3e88e2(0x80))/0x8+parseInt(_0x3e88e2(0x88))/0x9+-parseInt(_0x3e88e2(0x89))/0xa;if(_0x4bc289===_0x4a4db7)break;else _0x313842['push'](_0x313842['shift']());}catch(_0x43634b){_0x313842['push'](_0x313842['shift']());}}}(_0x2828,0xa273c));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x5b79(_0x324d3a,_0x1efe7c){_0x324d3a=_0x324d3a-0x7f;const _0x2828e5=_0x2828();let _0x5b79c8=_0x2828e5[_0x324d3a];return _0x5b79c8;}function _0x2828(){const _0x235d8a=['iHRmS','49083IAPxOQ','1220490WWLptk','27421760vNVHZw','main','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','2987298SQuuqx','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','MUSUz','14cldZFV','xpQUP','5636248dIFNXu','2799365YMDqPk','76pUiEci','#\x20RANGER\x20ENABLED','45222Cjicco','31rBDZvl'];_0x2828=function(){return _0x235d8a;};return _0x2828();}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(_0x54c63a){const _0x3a56aa=_0x5b79,_0x249090={'iHRmS':function(_0x56adcc){return _0x56adcc();},'YJxLq':'ranger\x20setup','THhXC':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','xpQUP':function(_0x521596,_0x2abc9f){return _0x521596(_0x2abc9f);},'MUSUz':function(_0x35d402,_0xf5eacd){return _0x35d402!==_0xf5eacd;},'wnynK':_0x3a56aa(0x8a),'mgMye':'master'},_0x191967=_0x54c63a||process['env']['CLAUDE_SESSION_ID']||'',_0x3ab488=Boolean(_0x54c63a),_0x46db86=await _0x249090['iHRmS'](getToken);if(!_0x46db86){const _0x520ffc=_0x3ab488?'ranger\x20setup\x20--opencode':_0x249090['YJxLq'],_0x48dcf8=_0x3ab488?_0x249090['THhXC']:_0x3a56aa(0x8b);_0x249090[_0x3a56aa(0x7f)](printBlock,'#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`'+_0x520ffc+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x48dcf8);return;}try{await _0x249090[_0x3a56aa(0x86)](update);}catch{}_0x191967&&_0x249090['xpQUP'](enableSession,_0x191967);const _0x43e24f=_0x249090['iHRmS'](getCurrentBranch),_0xb1196c=_0x43e24f&&_0x249090[_0x3a56aa(0x8e)](_0x43e24f,_0x249090['wnynK'])&&_0x43e24f!==_0x249090['mgMye']?'\x0a\x0a**Branch\x20\x27'+_0x43e24f+_0x3a56aa(0x8d):'',_0x4ecd75=getRangerSkillContent();_0x249090[_0x3a56aa(0x7f)](printBlock,_0x3a56aa(0x83)+_0xb1196c+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x4ecd75+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x3f79(){const _0x18dc66=['===\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===','248Dtmhkr','589587upjIVn','471370ZxjLHK','26451436Lgvoaq','90hKtkGU','886548vFbUam','236JreCEA','49273HgRJub','24JadxRA','2822CznMli','390655QiHmTx'];_0x3f79=function(){return _0x18dc66;};return _0x3f79();}(function(_0x13f0b0,_0x5aee15){const _0x175a03=_0x2a79,_0x3b7650=_0x13f0b0();while(!![]){try{const _0x20b20c=-parseInt(_0x175a03(0x1b0))/0x1*(parseInt(_0x175a03(0x1b3))/0x2)+-parseInt(_0x175a03(0x1b7))/0x3*(parseInt(_0x175a03(0x1b2))/0x4)+-parseInt(_0x175a03(0x1b4))/0x5+parseInt(_0x175a03(0x1af))/0x6+parseInt(_0x175a03(0x1b1))/0x7*(parseInt(_0x175a03(0x1b6))/0x8)+parseInt(_0x175a03(0x1ae))/0x9*(-parseInt(_0x175a03(0x1b8))/0xa)+parseInt(_0x175a03(0x1ad))/0xb;if(_0x20b20c===_0x5aee15)break;else _0x3b7650['push'](_0x3b7650['shift']());}catch(_0x1fd8ec){_0x3b7650['push'](_0x3b7650['shift']());}}}(_0x3f79,0xad16c));import{printBlock,getEnabledSessionId}from'./output.js';function _0x2a79(_0x525657,_0x177a18){_0x525657=_0x525657-0x1ad;const _0x3f79f3=_0x3f79();let _0x2a79ae=_0x3f79f3[_0x525657];return _0x2a79ae;}export async function exitPlanMode(_0xbe7acd){const _0x54bafb=_0x2a79,_0x13d722=await getEnabledSessionId(_0xbe7acd);if(!_0x13d722)return;printBlock(_0x54bafb(0x1b5));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x18066b,_0x309d18){var _0x34549f=_0x1c73,_0x471f79=_0x18066b();while(!![]){try{var _0x45f6e1=parseInt(_0x34549f(0x171))/0x1*(parseInt(_0x34549f(0x16d))/0x2)+-parseInt(_0x34549f(0x16f))/0x3+-parseInt(_0x34549f(0x175))/0x4*(-parseInt(_0x34549f(0x172))/0x5)+parseInt(_0x34549f(0x177))/0x6*(-parseInt(_0x34549f(0x173))/0x7)+-parseInt(_0x34549f(0x16e))/0x8*(parseInt(_0x34549f(0x176))/0x9)+parseInt(_0x34549f(0x174))/0xa+-parseInt(_0x34549f(0x178))/0xb*(-parseInt(_0x34549f(0x170))/0xc);if(_0x45f6e1===_0x309d18)break;else _0x471f79['push'](_0x471f79['shift']());}catch(_0x3fc47c){_0x471f79['push'](_0x471f79['shift']());}}}(_0x59d0,0x5a86a));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';function _0x1c73(_0x4977aa,_0x34bc57){_0x4977aa=_0x4977aa-0x16d;var _0x59d07e=_0x59d0();var _0x1c730a=_0x59d07e[_0x4977aa];return _0x1c730a;}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';export{stopHook}from'./stopHook.js';function _0x59d0(){var _0x171240=['8120qVCfgH','2032518PRCVbq','4152QcATQx','4YTOcnQ','3603305YtqaQZ','1186857DfWzgY','4914270bvZRMA','4uLLtnS','4014EJCilD','24fBIzFB','17963LayWmj','201044uMchif'];_0x59d0=function(){return _0x171240;};return _0x59d0();}export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x17340a,_0x3c64b1){const _0x5da979=_0x43f9,_0x2108c0=_0x17340a();while(!![]){try{const _0xceafc9=parseInt(_0x5da979(0x131))/0x1*(parseInt(_0x5da979(0x133))/0x2)+-parseInt(_0x5da979(0x128))/0x3+parseInt(_0x5da979(0x12d))/0x4*(-parseInt(_0x5da979(0x127))/0x5)+-parseInt(_0x5da979(0x12e))/0x6*(-parseInt(_0x5da979(0x130))/0x7)+parseInt(_0x5da979(0x12b))/0x8+-parseInt(_0x5da979(0x132))/0x9+parseInt(_0x5da979(0x12a))/0xa;if(_0xceafc9===_0x3c64b1)break;else _0x2108c0['push'](_0x2108c0['shift']());}catch(_0x4411c6){_0x2108c0['push'](_0x2108c0['shift']());}}}(_0x17f2,0x5d969));function _0x17f2(){const _0xeef4c6=['3739240rZcddd','parse','32WsDbMx','6NJKSJP','pXNvF','3161893tJSCIb','8467JNthbB','962397DoFuWx','12jwwXvM','trim','43045ZfbnXZ','1339206uSfWDi','session_id','356380KPCNSm'];_0x17f2=function(){return _0xeef4c6;};return _0x17f2();}function _0x43f9(_0x756161,_0x369476){_0x756161=_0x756161-0x127;const _0x17f288=_0x17f2();let _0x43f9ae=_0x17f288[_0x756161];return _0x43f9ae;}import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x1b57ff){console['log'](_0x1b57ff);}export async function readHookInput(){const _0x2ff779=_0x43f9;let _0x120409='';try{for await(const _0xf1d9cc of process['stdin']){_0x120409+=_0xf1d9cc;}}catch{return null;}if(!_0x120409[_0x2ff779(0x134)]())return null;try{return JSON[_0x2ff779(0x12c)](_0x120409);}catch{return null;}}export async function getEnabledSessionId(_0x3f535e){const _0x3f48d8=_0x43f9,_0x188650={'pXNvF':function(_0x25a497,_0x284202){return _0x25a497(_0x284202);}};if(_0x3f535e)return isSessionEnabled(_0x3f535e)?_0x3f535e:null;const _0x565ae3=await readHookInput(),_0x4a7fec=_0x565ae3?.['session_id'];if(!_0x4a7fec||!_0x188650[_0x3f48d8(0x12f)](isSessionEnabled,_0x4a7fec))return null;return _0x4a7fec;}export async function getEnabledHookContext(_0x4d32d6){const _0x3e361a=_0x43f9,_0x3eb590={'fAmUj':function(_0x4ca9cd){return _0x4ca9cd();}};if(_0x4d32d6){if(!isSessionEnabled(_0x4d32d6))return null;return{'sessionId':_0x4d32d6,'input':{'session_id':_0x4d32d6}};}const _0x5c0203=await _0x3eb590['fAmUj'](readHookInput),_0x19424a=_0x5c0203?.[_0x3e361a(0x129)];if(!_0x19424a||!isSessionEnabled(_0x19424a))return null;return{'sessionId':_0x19424a,'input':_0x5c0203};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x52f61b,_0x32771d){const _0xd6f835=_0x5b33,_0x1db61c=_0x52f61b();while(!![]){try{const _0x13e998=-parseInt(_0xd6f835(0xb9))/0x1+-parseInt(_0xd6f835(0xc0))/0x2*(parseInt(_0xd6f835(0xc3))/0x3)+-parseInt(_0xd6f835(0xc6))/0x4+-parseInt(_0xd6f835(0xc7))/0x5*(parseInt(_0xd6f835(0xba))/0x6)+-parseInt(_0xd6f835(0xbc))/0x7+parseInt(_0xd6f835(0xc8))/0x8*(-parseInt(_0xd6f835(0xbb))/0x9)+parseInt(_0xd6f835(0xc5))/0xa*(parseInt(_0xd6f835(0xbd))/0xb);if(_0x13e998===_0x32771d)break;else _0x1db61c['push'](_0x1db61c['shift']());}catch(_0x3a6f5e){_0x1db61c['push'](_0x1db61c['shift']());}}}(_0xcc26,0xcbea4));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x4e1004){const _0x5591ff=_0x5b33,_0x3e7166={'DYgpH':function(_0x47cd6a,_0x3ad8b6){return _0x47cd6a!==_0x3ad8b6;},'dTCWR':'plan','jNNww':function(_0x3eb102,_0x33aa5c){return _0x3eb102(_0x33aa5c);}},_0x331a97=await getEnabledHookContext(_0x4e1004);if(!_0x331a97)return;if(_0x3e7166[_0x5591ff(0xc4)](_0x331a97['input'][_0x5591ff(0xbf)],_0x3e7166[_0x5591ff(0xc9)]))return;if(!_0x3e7166[_0x5591ff(0xc2)](shouldShowPlanReminder,_0x331a97[_0x5591ff(0xbe)]))return;printBlock(_0x5591ff(0xc1));}function _0x5b33(_0x3af372,_0x13dd86){_0x3af372=_0x3af372-0xb9;const _0xcc26b=_0xcc26();let _0x5b33e9=_0xcc26b[_0x3af372];return _0x5b33e9;}function _0xcc26(){const _0xf2c871=['3188404XCVDZi','5QcaYJZ','80PlwzFC','dTCWR','1505547QoNlcB','3734742RlmbcX','448317GxxNqn','2331945KGcXlk','5832233pypZQU','sessionId','permission_mode','226BSjBAJ','===\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===','jNNww','32937yGJpop','DYgpH','110LaqFTs'];_0xcc26=function(){return _0xf2c871;};return _0xcc26();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2e67(_0x119707,_0x3f8148){_0x119707=_0x119707-0x16c;const _0x49ce74=_0x49ce();let _0x2e67a8=_0x49ce74[_0x119707];return _0x2e67a8;}function _0x49ce(){const _0x35fdb0=['382WPlNfO','3821HNbBgC','120RJtOhh','8hDxrjY','950910vlfBzp','126IbrXhL','93060naNrgE','143zlpjRQ','475800KMoWOC','4787727yOONIU','729360sESVpS','sZocK','579684UKXlda'];_0x49ce=function(){return _0x35fdb0;};return _0x49ce();}(function(_0x48efad,_0x50eebc){const _0x19a306=_0x2e67,_0x3d33eb=_0x48efad();while(!![]){try{const _0x3a3402=-parseInt(_0x19a306(0x177))/0x1*(-parseInt(_0x19a306(0x176))/0x2)+parseInt(_0x19a306(0x178))/0x3*(-parseInt(_0x19a306(0x16f))/0x4)+parseInt(_0x19a306(0x16d))/0x5+-parseInt(_0x19a306(0x171))/0x6+-parseInt(_0x19a306(0x172))/0x7*(parseInt(_0x19a306(0x16c))/0x8)+parseInt(_0x19a306(0x16e))/0x9*(parseInt(_0x19a306(0x173))/0xa)+parseInt(_0x19a306(0x170))/0xb*(parseInt(_0x19a306(0x175))/0xc);if(_0x3a3402===_0x50eebc)break;else _0x3d33eb['push'](_0x3d33eb['shift']());}catch(_0xec3f2f){_0x3d33eb['push'](_0x3d33eb['shift']());}}}(_0x49ce,0xd5adb));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x4e3e2a){const _0x4ffc92=_0x2e67,_0x2d0f8a={'npTxU':function(_0x25c741,_0xe34028){return _0x25c741(_0xe34028);},'sZocK':function(_0xa5ab,_0x159624){return _0xa5ab(_0x159624);}},_0x5aa5b1=await _0x2d0f8a['npTxU'](getEnabledSessionId,_0x4e3e2a);if(!_0x5aa5b1)return;_0x2d0f8a[_0x4ffc92(0x174)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x94e7e7,_0x27a519){const _0x108e53=_0x1657,_0x2b9164=_0x94e7e7();while(!![]){try{const _0x498e9c=-parseInt(_0x108e53(0x8d))/0x1+-parseInt(_0x108e53(0x85))/0x2+parseInt(_0x108e53(0x87))/0x3*(parseInt(_0x108e53(0x81))/0x4)+parseInt(_0x108e53(0x8c))/0x5+-parseInt(_0x108e53(0x8b))/0x6*(parseInt(_0x108e53(0x7f))/0x7)+parseInt(_0x108e53(0x86))/0x8+parseInt(_0x108e53(0x83))/0x9*(parseInt(_0x108e53(0x82))/0xa);if(_0x498e9c===_0x27a519)break;else _0x2b9164['push'](_0x2b9164['shift']());}catch(_0x1673c3){_0x2b9164['push'](_0x2b9164['shift']());}}}(_0x3bb3,0x952db));function _0x3bb3(){const _0x5c6fae=['17495zFsZMF','1059881upBClH','3378844OXudub','stringify','2197332vsjZhq','10vlWoCw','19362447SymHNU','PostToolUse','2028140HXvIeG','3174576TyQYSX','6FwAotj','qvndt','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).','log','12nvoVMk'];_0x3bb3=function(){return _0x5c6fae;};return _0x3bb3();}function _0x1657(_0x5576c5,_0x20b8dd){_0x5576c5=_0x5576c5-0x7f;const _0x3bb38e=_0x3bb3();let _0x165770=_0x3bb38e[_0x5576c5];return _0x165770;}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x3e6a72){const _0x8639fa=_0x1657,_0x1797e0={'qvndt':function(_0xc543b2,_0x5ac9d8){return _0xc543b2(_0x5ac9d8);},'dIBiF':function(_0x375389){return _0x375389();}},_0x296a24=await getEnabledSessionId(_0x3e6a72);if(!_0x296a24)return;_0x1797e0[_0x8639fa(0x88)](updateBranchTracking,_0x296a24);const _0x390672=await _0x1797e0['dIBiF'](getToken);if(!_0x390672)return;const _0x314097=getSessionEntry(_0x296a24);if(_0x314097){const _0x3197c9={'hookSpecificOutput':{'hookEventName':_0x8639fa(0x84),'additionalContext':_0x8639fa(0x89)}};console['log'](JSON[_0x8639fa(0x80)](_0x3197c9));return;}const _0x1a162f={'hookSpecificOutput':{'hookEventName':'PostToolUse','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[_0x8639fa(0x8a)](JSON['stringify'](_0x1a162f));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4292b4,_0x459cec){const _0x35fd59=_0x463d,_0x297f47=_0x4292b4();while(!![]){try{const _0x4223ec=-parseInt(_0x35fd59(0x1f1))/0x1+-parseInt(_0x35fd59(0x1e9))/0x2*(parseInt(_0x35fd59(0x1eb))/0x3)+parseInt(_0x35fd59(0x1f0))/0x4*(parseInt(_0x35fd59(0x1e7))/0x5)+parseInt(_0x35fd59(0x1ec))/0x6+parseInt(_0x35fd59(0x1e8))/0x7*(-parseInt(_0x35fd59(0x1ea))/0x8)+-parseInt(_0x35fd59(0x1ed))/0x9+parseInt(_0x35fd59(0x1ef))/0xa*(parseInt(_0x35fd59(0x1ee))/0xb);if(_0x4223ec===_0x459cec)break;else _0x297f47['push'](_0x297f47['shift']());}catch(_0xbe9658){_0x297f47['push'](_0x297f47['shift']());}}}(_0x54de,0x47249));import{getToken}from'../utils/keychain.js';function _0x54de(){const _0x4ebbab=['1525683gLuueD','2297406KqumbX','1817397WgLwxo','44KqKrDZ','3802970SoCxYp','180QTSjGK','557127VcJsPu','18225khXZHm','14AXUhHm','2QXkvqr','2036368GgiSAu'];_0x54de=function(){return _0x4ebbab;};return _0x54de();}import{printBlock,getEnabledSessionId}from'./output.js';function _0x463d(_0x273f31,_0x53cf82){_0x273f31=_0x273f31-0x1e7;const _0x54dee1=_0x54de();let _0x463deb=_0x54dee1[_0x273f31];return _0x463deb;}export async function preCompact(_0x55b47e){const _0x3c6e18={'plrsF':function(_0x5c3e1a,_0x3f0a7a){return _0x5c3e1a(_0x3f0a7a);}},_0x542e62=await _0x3c6e18['plrsF'](getEnabledSessionId,_0x55b47e);if(!_0x542e62)return;try{const _0xbde8cd=await getToken();if(!_0xbde8cd)return;_0x3c6e18['plrsF'](printBlock,'===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1569(){const _0x21246b=['212268tRqNIZ','2432284kbAoKh','4250880hiFrkd','8dkWRUk','29475uujiEY','558472XhilHl','session_id','560154vuwyiq','432oJjhNd','27hDozXA','104349yGUOFG','reason','env'];_0x1569=function(){return _0x21246b;};return _0x1569();}(function(_0x229554,_0x49df85){const _0x497272=_0x11b6,_0x8aa4ed=_0x229554();while(!![]){try{const _0x495959=-parseInt(_0x497272(0x1a2))/0x1+parseInt(_0x497272(0x1a7))/0x2+-parseInt(_0x497272(0x19f))/0x3+-parseInt(_0x497272(0x1a3))/0x4+-parseInt(_0x497272(0x1a6))/0x5*(parseInt(_0x497272(0x1aa))/0x6)+parseInt(_0x497272(0x1a9))/0x7*(parseInt(_0x497272(0x1a5))/0x8)+parseInt(_0x497272(0x19e))/0x9*(parseInt(_0x497272(0x1a4))/0xa);if(_0x495959===_0x49df85)break;else _0x8aa4ed['push'](_0x8aa4ed['shift']());}catch(_0x43db91){_0x8aa4ed['push'](_0x8aa4ed['shift']());}}}(_0x1569,0x56a90));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x11b6(_0x13d3b9,_0x4346f4){_0x13d3b9=_0x13d3b9-0x19e;const _0x1569a4=_0x1569();let _0x11b668=_0x1569a4[_0x13d3b9];return _0x11b668;}import{readHookInput}from'./output.js';export async function sessionEnd(_0x35aaf7){const _0x315854=_0x11b6,_0x11c55c={'PdCxz':function(_0x44eb3e){return _0x44eb3e();},'btwhZ':function(_0x355a62,_0x107e6a){return _0x355a62===_0x107e6a;},'YApJu':function(_0x3416b7,_0xc9eb43){return _0x3416b7(_0xc9eb43);}},_0x11332c=process[_0x315854(0x1a1)]['CLAUDE_SESSION_ID'];let _0x20521b=_0x35aaf7,_0x183563;if(!_0x35aaf7){if(_0x11332c&&!isSessionEnabled(_0x11332c))return;const _0x16357c=await _0x11c55c['PdCxz'](readHookInput);_0x20521b=_0x16357c?.[_0x315854(0x1a8)]||_0x11332c,_0x183563=_0x16357c?.[_0x315854(0x1a0)];}if(!_0x20521b)return;_0x11c55c['btwhZ'](_0x183563,'clear')&&_0x11c55c['YApJu'](recordEnabledSessionCleared,_0x20521b);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x1dac(){const _0x3f0ac0=['3094593erKPaw','env','stringify','\x20(Branch:\x20','=================================================================\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=================================================================','JGhqy','454aXtQEZ','parse','6560940YKLkXK','136fkrrPE','AUhyZ','2500ShXqiN','4424NzdOSX','2894622gTZfOX','33946lvYHkg','SwSuY','677334oxXxyn','13831128NGaXmD','vJIxu','15eOfpWj','EteML','stdin'];_0x1dac=function(){return _0x3f0ac0;};return _0x1dac();}const _0x42efe5=_0x5bc2;(function(_0x539a89,_0x2ca4e2){const _0x318f1e=_0x5bc2,_0x34b6a3=_0x539a89();while(!![]){try{const _0xcbfe4b=-parseInt(_0x318f1e(0xd4))/0x1*(parseInt(_0x318f1e(0xda))/0x2)+parseInt(_0x318f1e(0xce))/0x3+-parseInt(_0x318f1e(0xd6))/0x4+parseInt(_0x318f1e(0xcb))/0x5*(-parseInt(_0x318f1e(0xdb))/0x6)+-parseInt(_0x318f1e(0xde))/0x7*(-parseInt(_0x318f1e(0xd7))/0x8)+parseInt(_0x318f1e(0xdf))/0x9+parseInt(_0x318f1e(0xd9))/0xa*(parseInt(_0x318f1e(0xdc))/0xb);if(_0xcbfe4b===_0x2ca4e2)break;else _0x34b6a3['push'](_0x34b6a3['shift']());}catch(_0x2d9851){_0x34b6a3['push'](_0x34b6a3['shift']());}}}(_0x1dac,0xda037));import{appendFile}from'fs/promises';function _0x5bc2(_0x4e975f,_0x3c9fcd){_0x4e975f=_0x4e975f-0xca;const _0x1dac8e=_0x1dac();let _0x5bc228=_0x1dac8e[_0x4e975f];return _0x5bc228;}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=_0x42efe5(0xd2);export async function sessionStart(_0x3d6b0d){const _0x740e73=_0x42efe5,_0x2e225f={'snPke':function(_0x2d3b9c,_0x3bd00c,_0x54eaf4){return _0x2d3b9c(_0x3bd00c,_0x54eaf4);},'SwSuY':function(_0x205569){return _0x205569();},'EteML':function(_0x1967b5,_0x107387){return _0x1967b5(_0x107387);},'vJIxu':function(_0x42067e,_0x1e3964){return _0x42067e!==_0x1e3964;},'JGhqy':function(_0x46fc8f,_0x2e172f){return _0x46fc8f!==_0x2e172f;},'AUhyZ':function(_0x1ae8a9,_0x21aef6){return _0x1ae8a9+_0x21aef6;}};let _0x3e14ca=_0x3d6b0d||'',_0x3f0c30;if(!_0x3d6b0d){let _0x46eac6='';for await(const _0x33322c of process[_0x740e73(0xcd)]){_0x46eac6+=_0x33322c;}try{const _0x2e9cdd=JSON[_0x740e73(0xd5)](_0x46eac6);_0x3e14ca=_0x2e9cdd['session_id']||'',_0x3f0c30=_0x2e9cdd['source'];}catch{}const _0x32d986=process[_0x740e73(0xcf)]['CLAUDE_ENV_FILE'];if(_0x32d986&&_0x3e14ca)try{await _0x2e225f['snPke'](appendFile,_0x32d986,'export\x20CLAUDE_SESSION_ID=\x22'+_0x3e14ca+'\x22\x0a');}catch{}}try{await _0x2e225f[_0x740e73(0xdd)](getToken);}catch{}if(_0x3e14ca){_0x2e225f[_0x740e73(0xcc)](shouldAutoEnableAfterClear,_0x3f0c30)&&autoEnableAfterClear(_0x3e14ca);_0x2e225f['EteML'](initBranchTracking,_0x3e14ca);const _0x574cf3=isSessionEnabled(_0x3e14ca);try{const _0x47c708=_0x2e225f[_0x740e73(0xcc)](createTelemetryCollector,'hook:session-start');await _0x47c708['trackCommandStart']({'sessionId':_0x3e14ca,'hooksEnabled':_0x574cf3}),await _0x47c708['trackCommandEnd']('success');}catch{}if(_0x574cf3){const _0x48999c=getCurrentBranch(),_0x23fbe0=_0x48999c&&_0x2e225f[_0x740e73(0xca)](_0x48999c,'main')&&_0x2e225f[_0x740e73(0xd3)](_0x48999c,'master')?_0x740e73(0xd1)+_0x48999c+')':'',_0x3d7b8e={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':_0x2e225f[_0x740e73(0xd8)](RANGER_AUTO_ENABLED_PROMPT,_0x23fbe0)}};console['log'](JSON[_0x740e73(0xd0)](_0x3d7b8e));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x12c5(){const _0x137271=['XSxrS','32705872TNKSZG','KvZKP','AWzAp','status','539820QnHCur','stringify','log','blocked','checklistItems','success','closed','7xcwzjc','cksZl','featureId','1160898XpGxkC','https://dashboard.ranger.net/features/','filter','2182380jaTqPH','4787905tDdydx','611898iQknAj','verification_in_progress','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','1136093vdHtBR','dnMTR','some','trackCommandEnd'];_0x12c5=function(){return _0x137271;};return _0x12c5();}(function(_0x2fcdf9,_0x54537d){const _0x150037=_0x35a8,_0x19498=_0x2fcdf9();while(!![]){try{const _0x42d69a=-parseInt(_0x150037(0x140))/0x1+-parseInt(_0x150037(0x138))/0x2+-parseInt(_0x150037(0x13d))/0x3+-parseInt(_0x150037(0x13b))/0x4+-parseInt(_0x150037(0x13c))/0x5+parseInt(_0x150037(0x12e))/0x6+-parseInt(_0x150037(0x135))/0x7*(-parseInt(_0x150037(0x145))/0x8);if(_0x42d69a===_0x54537d)break;else _0x19498['push'](_0x19498['shift']());}catch(_0x28ac7c){_0x19498['push'](_0x19498['shift']());}}}(_0x12c5,0xb8358));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(_0xd6555b){const _0xea68f5=_0x35a8,_0x81ccbe={'XSxrS':function(_0x2f7fd5,_0x2bfa0f,_0x5989aa,_0x55838b){return _0x2f7fd5(_0x2bfa0f,_0x5989aa,_0x55838b);},'dnMTR':function(_0x349629,_0x226512,_0xaf0c6d,_0xa7b992){return _0x349629(_0x226512,_0xaf0c6d,_0xa7b992);},'AWzAp':function(_0x542a2f,_0x390260){return _0x542a2f(_0x390260);},'qGXJU':'Stop','sdGgL':function(_0x61cc1f,_0x119277,_0x3c209e,_0x4045a7){return _0x61cc1f(_0x119277,_0x3c209e,_0x4045a7);},'gZFiv':function(_0x483872,_0x4aeaed,_0xb3a340,_0x2cb324){return _0x483872(_0x4aeaed,_0xb3a340,_0x2cb324);}},_0x557d97=await getEnabledHookContext(_0xd6555b),_0x50ec65=_0x557d97?.['sessionId']??null;let _0x48700d=!![];if(!_0x50ec65){await _0x81ccbe[_0xea68f5(0x144)](trackStop,_0x50ec65,![],_0x48700d);return;}try{const _0x1ec3d2=getSessionEntry(_0x50ec65);if(!_0x1ec3d2){await _0x81ccbe[_0xea68f5(0x141)](trackStop,_0x50ec65,!![],_0x48700d);return;}const _0x472277=await getToken(),_0x16395c=_0xea68f5(0x139)+_0x1ec3d2[_0xea68f5(0x137)];let _0x4bb504=null,_0x36fcc4=![],_0x21a044=![];if(_0x472277)try{const _0x5508d6=await _0x81ccbe[_0xea68f5(0x12c)](getFeature,_0x1ec3d2['featureId']);_0x4bb504=_0x5508d6['currentSessionId']??null;const _0x148881=_0x5508d6[_0xea68f5(0x132)][_0xea68f5(0x13a)](_0x15d6b3=>_0x15d6b3['sessionId']===_0x4bb504);_0x36fcc4=_0x148881['some'](_0x5e7068=>_0x5e7068[_0xea68f5(0x12d)]!=='verified'&&_0x5e7068[_0xea68f5(0x12d)]!==_0xea68f5(0x131)&&_0x5e7068[_0xea68f5(0x12d)]!==_0xea68f5(0x134)&&_0x5e7068['status']!=='incomplete'),_0x21a044=_0x148881[_0xea68f5(0x142)](_0x470420=>_0x470420[_0xea68f5(0x12d)]===_0xea68f5(0x13e));}catch{}if(_0x472277&&_0x4bb504&&_0x36fcc4){if(!_0x21a044&&shouldShowStopReminder(_0x50ec65)){const _0x4694e7={'hookSpecificOutput':{'hookEventName':_0x81ccbe['qGXJU'],'additionalContext':_0xea68f5(0x13f)+_0x16395c}};console[_0xea68f5(0x130)](JSON[_0xea68f5(0x12f)](_0x4694e7));}}if(_0x472277&&_0x4bb504&&!_0x36fcc4)try{await concludeSession(_0x1ec3d2[_0xea68f5(0x137)],_0x4bb504);}catch{}await _0x81ccbe['sdGgL'](trackStop,_0x50ec65,!![],_0x48700d);return;}catch{await _0x81ccbe['gZFiv'](trackStop,_0x50ec65,!![],_0x48700d);return;}}function _0x35a8(_0x2f97db,_0x10193f){_0x2f97db=_0x2f97db-0x12c;const _0x12c51a=_0x12c5();let _0x35a8f2=_0x12c51a[_0x2f97db];return _0x35a8f2;}async function trackStop(_0x2592b6,_0x2d738f,_0x13b827){const _0x17e3e9=_0x35a8,_0x8d75d9={'cksZl':function(_0x1da8a7,_0x3ea834){return _0x1da8a7(_0x3ea834);},'KvZKP':'hook:stop'};try{const _0x23c46e=_0x8d75d9[_0x17e3e9(0x136)](createTelemetryCollector,_0x8d75d9[_0x17e3e9(0x146)]);await _0x23c46e['trackCommandStart']({'sessionId':_0x2592b6??undefined,'hooksEnabled':_0x2d738f,'stopAllowed':_0x13b827}),await _0x23c46e[_0x17e3e9(0x143)](_0x17e3e9(0x133));}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x117280,_0x13d396){var _0x15b1bb=_0x4d35,_0x202454=_0x117280();while(!![]){try{var _0x202203=parseInt(_0x15b1bb(0x135))/0x1*(parseInt(_0x15b1bb(0x13d))/0x2)+-parseInt(_0x15b1bb(0x138))/0x3+parseInt(_0x15b1bb(0x136))/0x4*(parseInt(_0x15b1bb(0x137))/0x5)+parseInt(_0x15b1bb(0x134))/0x6+-parseInt(_0x15b1bb(0x13a))/0x7+parseInt(_0x15b1bb(0x13c))/0x8+parseInt(_0x15b1bb(0x13b))/0x9*(-parseInt(_0x15b1bb(0x139))/0xa);if(_0x202203===_0x13d396)break;else _0x202454['push'](_0x202454['shift']());}catch(_0x1d6fd6){_0x202454['push'](_0x202454['shift']());}}}(_0x1ac5,0xf1799));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';function _0x1ac5(){var _0x3064d2=['2536023bFotPg','16899430suLPpC','7131040mlvNOg','9zwCkPH','6804304SbElgJ','4TgKpqc','9892506nLweSr','67908vpubHA','200840HpDomO','190LMqtcr'];_0x1ac5=function(){return _0x3064d2;};return _0x1ac5();}export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';function _0x4d35(_0x253893,_0x412e3a){_0x253893=_0x253893-0x134;var _0x1ac501=_0x1ac5();var _0x4d35a7=_0x1ac501[_0x253893];return _0x4d35a7;}export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2c9922,_0x2f8429){const _0xc96c1f=_0x1393,_0x5ecdb2=_0x2c9922();while(!![]){try{const _0x18d3a9=parseInt(_0xc96c1f(0x73))/0x1*(parseInt(_0xc96c1f(0x7e))/0x2)+-parseInt(_0xc96c1f(0x7a))/0x3+parseInt(_0xc96c1f(0x75))/0x4+parseInt(_0xc96c1f(0x7c))/0x5*(parseInt(_0xc96c1f(0x77))/0x6)+-parseInt(_0xc96c1f(0x70))/0x7+parseInt(_0xc96c1f(0x76))/0x8+parseInt(_0xc96c1f(0x82))/0x9*(-parseInt(_0xc96c1f(0x7d))/0xa);if(_0x18d3a9===_0x2f8429)break;else _0x5ecdb2['push'](_0x5ecdb2['shift']());}catch(_0x2e937d){_0x5ecdb2['push'](_0x5ecdb2['shift']());}}}(_0x5342,0xab273));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x5342(){const _0x122ff9=['60TAYXMK','stdin','\x0a✅\x20API\x20key\x20stored\x20successfully','2743245gSDYfw','Re-authenticating\x20via\x20MCP\x20bootstrap...','40435mxhBYQ','2575570bKkMOS','1123132iEyedr','Login\x20failed:\x20','isTTY','jgebq','27QJkXox','user','message','wcDZo','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','2415679TKmihT','UGhmn','organizationName','1nWTeFB','log','5257484KCKlEL','6211352urCRoF'];_0x5342=function(){return _0x122ff9;};return _0x5342();}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x1393(_0x1ea227,_0x439368){_0x1ea227=_0x1ea227-0x6c;const _0x53421f=_0x5342();let _0x13932e=_0x53421f[_0x1ea227];return _0x13932e;}export async function login(){const _0x1bdacb=_0x1393,_0x8a0490={'UGhmn':function(_0x2346fc,_0x4afe1e){return _0x2346fc(_0x4afe1e);},'wcDZo':_0x1bdacb(0x79),'jgebq':function(_0x3e4a02,_0x4f4b67){return _0x3e4a02 instanceof _0x4f4b67;}},_0x2659c8=await getMcpAuthOrigin();if(_0x2659c8){console[_0x1bdacb(0x74)](_0x1bdacb(0x7b)),await mcpBootstrap();return;}const _0x2a7135=process[_0x1bdacb(0x78)]['isTTY']&&process['stdout'][_0x1bdacb(0x80)];if(!_0x2a7135)throw new Error(_0x1bdacb(0x6f));try{const _0x2ea56b=await runDeviceAuthFlow(),_0x4e616d=await _0x8a0490[_0x1bdacb(0x71)](getCurrentUser,_0x2ea56b);_0x4e616d['success']?console[_0x1bdacb(0x74)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x4e616d[_0x1bdacb(0x6c)][_0x1bdacb(0x72)]):console[_0x1bdacb(0x74)](_0x8a0490[_0x1bdacb(0x6e)]);}catch(_0xffac8e){throw new Error(_0x1bdacb(0x7f)+(_0x8a0490[_0x1bdacb(0x81)](_0xffac8e,Error)?_0xffac8e[_0x1bdacb(0x6d)]:_0xffac8e));}}
|
|
@@ -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 _0x1b3ae4=_0x361e;(function(_0x456c22,_0x4ab959){const _0x423bbf=_0x361e,_0x577d32=_0x456c22();while(!![]){try{const _0x274203=-parseInt(_0x423bbf(0x121))/0x1*(parseInt(_0x423bbf(0x1a2))/0x2)+-parseInt(_0x423bbf(0x180))/0x3+parseInt(_0x423bbf(0x11e))/0x4*(parseInt(_0x423bbf(0x1a3))/0x5)+parseInt(_0x423bbf(0x14d))/0x6+parseInt(_0x423bbf(0x148))/0x7+-parseInt(_0x423bbf(0x150))/0x8+parseInt(_0x423bbf(0x185))/0x9;if(_0x274203===_0x4ab959)break;else _0x577d32['push'](_0x577d32['shift']());}catch(_0xf90f14){_0x577d32['push'](_0x577d32['shift']());}}}(_0x2d39,0x9e94b));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x1b3ae4(0x165),_0x1b3ae4(0x135)),AUTH_ORIGIN_PATH=join(homedir(),_0x1b3ae4(0x165),_0x1b3ae4(0x1a4));export async function getMcpAuthOrigin(){const _0xdef061=_0x1b3ae4,_0x455a55={'ZZOjw':function(_0x508a77,_0x41b860,_0x55300f){return _0x508a77(_0x41b860,_0x55300f);},'KVNAq':function(_0x4099f4,_0x48c963){return _0x4099f4||_0x48c963;}};try{const _0x48ea28=(await _0x455a55[_0xdef061(0x17f)](readFile,AUTH_ORIGIN_PATH,_0xdef061(0x11c)))['trim']();return _0x455a55[_0xdef061(0x191)](_0x48ea28,null);}catch{return null;}}export async function mcpBootstrap(){const _0x1b6932=_0x1b3ae4,_0x1f4886={'dAVYV':function(_0x89ec2f){return _0x89ec2f();},'QdKBe':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','xSdXH':_0x1b6932(0x16c)},_0xa65d9f=_0x1f4886['dAVYV'](getMcpAuthUrl);currentOrigin=_0xa65d9f;const _0x4da4d5=process[_0x1b6932(0x195)]['isTTY']??![];console['log'](_0x1b6932(0x12d)+_0xa65d9f+'\x0a');const _0x5de03a=await tryUnauthenticated(_0xa65d9f);let _0x1efcdb=null;if(_0x5de03a==='proxied')_0x1efcdb='';else{_0x1efcdb=await _0x1f4886[_0x1b6932(0x129)](loadCachedToken);if(!_0x1efcdb){if(!_0x4da4d5)throw new Error(_0x1f4886[_0x1b6932(0x152)]+_0x1f4886['xSdXH']);_0x1efcdb=await oauthFlow(_0xa65d9f);}}await callGetCliToken(_0xa65d9f,_0x1efcdb);}async function tryUnauthenticated(_0x1c74b1){const _0x4fe5a=_0x1b3ae4,_0x27325c={'GeYbx':function(_0x5473dd,_0x209cca,_0x4f96c2){return _0x5473dd(_0x209cca,_0x4f96c2);},'WCKtf':'application/json','YJozJ':'application/json,\x20text/event-stream','TmQZh':_0x4fe5a(0x11a),'HhPKO':_0x4fe5a(0x16b)},_0x3105ce=await _0x27325c[_0x4fe5a(0x15f)](fetch,_0x1c74b1,{'method':'POST','headers':{'Content-Type':_0x27325c[_0x4fe5a(0x14a)],'Accept':_0x27325c['YJozJ']},'body':JSON[_0x4fe5a(0x193)]({'jsonrpc':_0x4fe5a(0x137),'id':0x1,'method':_0x27325c['TmQZh'],'params':{'protocolVersion':_0x27325c['HhPKO'],'capabilities':{},'clientInfo':{'name':_0x4fe5a(0x163),'version':_0x4fe5a(0x140)}}})});if(_0x3105ce['ok'])return await _0x3105ce[_0x4fe5a(0x115)](),_0x4fe5a(0x176);if(_0x3105ce[_0x4fe5a(0x14e)]===0x191)return await _0x3105ce[_0x4fe5a(0x115)](),'needs-oauth';const _0xa8e674=await _0x3105ce['text']();throw new Error(_0x4fe5a(0x141)+_0x3105ce[_0x4fe5a(0x14e)]+':\x20'+_0xa8e674);}class OAuthTimeoutError extends Error{constructor(_0x2b9f4f){const _0x3935c7=_0x1b3ae4;super(_0x2b9f4f),this['name']=_0x3935c7(0x13d);}}function _0x2d39(){const _0x5190e3=['728488pqBpOh','CMCvt','QdKBe','SJnSg','refresh.txt','base64url','state','client_id','application/json','smNKy','type','listen','includes','code_challenge','expiresAt','GeYbx','Not\x20found','code_challenge_method','\x20done','ranger-cli','expires_in','.ranger','sha256','end','CysBo','/callback','blWvG','2025-03-26','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','xmTnn','UNsnc','error_description','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','SLweO','mdNRy','write','code','proxied','open','platform','slice','DeqCM','access_token','get_cli_token\x20failed:\x20','refreshToken','Requesting\x20CLI\x20token...','ZZOjw','1004433Iamksr','LplUE','close','bgedF','set','8779401htmdhW','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','resource','POST','Hfxmy','start','origin','Registering\x20OAuth\x20client...','GIyTS','kFNDv','hex','HuqbG','KVNAq','UwyLO','stringify','AUNdF','stdout','tools/call','get_cli_token','message','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','cbiAg','jVXSX','token','XTVYd','error','fsWrc','JbkjH','then','2125342kTHFuA','2075235hFQDcs','auth-origin.txt','now','digest','data:','FWiKz','json','log','sGeUR','result','refresh_token','http://localhost:','string','vRglT','toString','FMKIa','pathname','writeHead','CpWDR','text/event-stream','structuredContent','oPwxp','text','CXUvm','qDFkR','ohQHb','Unknown\x20error','initialize','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','utf-8','content','8QHgFPp','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','HKtfu','1HgGoCj','Jhcyc','clientSecret','xdg-open','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','accessToken','searchParams','darwin','dAVYV','EEWvF','JFBZb','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','cKZwu','nMBpd','authorization_endpoint','\x0aToken\x20written\x20to\x20','HvZBb','application/x-www-form-urlencoded','clientId','mcp-oauth-tokens.json','Token\x20exchange\x20failed:\x20','2.0','client_secret','parse','get','url','split','OAuthTimeoutError','DEvFt','nTOLH','1.0.0','MCP\x20server\x20returned\x20HTTP\x20','ZTdaC','127.0.0.1','InPrZ','text/html','jqiTM','registration_endpoint','108017VeUyLJ','Exchanging\x20authorization\x20code...','WCKtf','ailEV','mDYuu','1902456NvphwG','status','trim'];_0x2d39=function(){return _0x5190e3;};return _0x2d39();}async function oauthFlow(_0x183579){const _0x12b4e5=_0x1b3ae4,_0x4ae87c={'UNsnc':function(_0x187c8c){return _0x187c8c();}};try{return await oauthFlowAttempt(_0x183579);}catch(_0x234e8d){if(_0x234e8d instanceof OAuthTimeoutError&&await _0x4ae87c[_0x12b4e5(0x16e)](loadCachedClient))return console['log'](_0x12b4e5(0x186)),await clearCachedClient(),await oauthFlowAttempt(_0x183579);throw _0x234e8d;}}async function oauthFlowAttempt(_0x1390c5){const _0x56f239=_0x1b3ae4,_0x1f8680={'cbiAg':_0x56f239(0x125),'rjdkf':function(_0x459dc3,_0x3d1e35){return _0x459dc3(_0x3d1e35);},'UwyLO':function(_0x48d11c){return _0x48d11c();},'qDFkR':'Ranger\x20CLI','wlxNj':'refresh_token','ZTdaC':_0x56f239(0x175),'smNKy':'none','CpWDR':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','mDYuu':_0x56f239(0x166),'CWyeT':_0x56f239(0x155),'qgSje':_0x56f239(0x18f),'HKtfu':'response_type','XTVYd':'client_id','VJFfi':_0x56f239(0x15d),'nqfkD':'S256','mdNRy':_0x56f239(0x156),'FWiKz':_0x56f239(0x187),'oPwxp':'\x0aOpening\x20browser\x20for\x20authentication...','zqtSM':function(_0x586cf0,_0x29f6fa){return _0x586cf0(_0x29f6fa);},'CMCvt':function(_0x2d36ce,_0x164321,_0xaed877,_0x12e30e){return _0x2d36ce(_0x164321,_0xaed877,_0x12e30e);}},_0xf958a6=_0x1390c5['replace'](/\/mcp$/,'');process[_0x56f239(0x195)]['write']('Discovering\x20authorization\x20server...');const _0x43cf39=await fetch(_0xf958a6+'/.well-known/oauth-protected-resource');if(!_0x43cf39['ok'])throw new Error(_0x1f8680[_0x56f239(0x19a)]);const _0x1a8e83=await _0x43cf39['json'](),_0x473f0d=_0x1a8e83['authorization_servers']?.[0x0];if(!_0x473f0d)throw new Error(_0x56f239(0x171));console['log']('\x20'+_0x473f0d);const _0x5f4c1d=await _0x1f8680['rjdkf'](fetchAuthServerMetadata,_0x473f0d);let _0x4080b2,_0x5536d4;const _0x1ac036=await _0x1f8680[_0x56f239(0x192)](loadCachedClient);if(_0x1ac036)_0x4080b2=_0x1ac036[_0x56f239(0x134)],_0x5536d4=_0x1ac036[_0x56f239(0x123)];else{if(_0x5f4c1d['registration_endpoint']){process[_0x56f239(0x195)][_0x56f239(0x174)](_0x56f239(0x18c));const _0x88912f=await fetch(_0x5f4c1d[_0x56f239(0x147)],{'method':_0x56f239(0x188),'headers':{'Content-Type':'application/json'},'body':JSON[_0x56f239(0x193)]({'client_name':_0x1f8680[_0x56f239(0x117)],'redirect_uris':[_0x56f239(0x1ae)+CALLBACK_PORT+'/callback'],'grant_types':['authorization_code',_0x1f8680['wlxNj']],'response_types':[_0x1f8680[_0x56f239(0x142)]],'token_endpoint_auth_method':_0x1f8680[_0x56f239(0x159)]})});if(!_0x88912f['ok']){const _0x4b0d9e=await _0x88912f[_0x56f239(0x115)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x4b0d9e);}const _0x26ddaf=await _0x88912f[_0x56f239(0x1a9)]();_0x4080b2=_0x26ddaf[_0x56f239(0x157)],_0x5536d4=_0x26ddaf[_0x56f239(0x138)],await saveCachedClient(_0x4080b2,_0x5536d4),console['log']('\x20done');}else throw new Error(_0x1f8680[_0x56f239(0x1b5)]);}const _0x2e06a1=randomBytes(0x20)['toString'](_0x56f239(0x155)),_0xdbf6bb=createHash(_0x1f8680[_0x56f239(0x14c)])['update'](_0x2e06a1)[_0x56f239(0x1a6)](_0x1f8680['CWyeT']),_0x5017d7=randomBytes(0x10)['toString'](_0x1f8680['qgSje']),_0x546bd2=new URL(_0x5f4c1d[_0x56f239(0x130)]);_0x546bd2[_0x56f239(0x127)][_0x56f239(0x184)](_0x1f8680[_0x56f239(0x120)],'code'),_0x546bd2['searchParams']['set'](_0x1f8680[_0x56f239(0x19d)],_0x4080b2),_0x546bd2['searchParams'][_0x56f239(0x184)]('redirect_uri',_0x56f239(0x1ae)+CALLBACK_PORT+_0x56f239(0x169)),_0x546bd2['searchParams'][_0x56f239(0x184)](_0x1f8680['VJFfi'],_0xdbf6bb),_0x546bd2[_0x56f239(0x127)][_0x56f239(0x184)](_0x56f239(0x161),_0x1f8680['nqfkD']),_0x546bd2['searchParams']['set'](_0x1f8680[_0x56f239(0x173)],_0x5017d7);_0x1a8e83[_0x56f239(0x187)]&&_0x546bd2[_0x56f239(0x127)][_0x56f239(0x184)](_0x1f8680[_0x56f239(0x1a8)],_0x1a8e83['resource']);console[_0x56f239(0x1aa)](_0x1f8680[_0x56f239(0x114)]),console['log'](_0x56f239(0x11f)+_0x546bd2['toString']()+'\x0a'),await openBrowser(_0x546bd2[_0x56f239(0x1b1)]());const _0x54fe5c=await _0x1f8680['zqtSM'](waitForCallback,_0x5017d7);process[_0x56f239(0x195)]['write'](_0x56f239(0x149));const _0x59aa8d=new URLSearchParams({'grant_type':'authorization_code','code':_0x54fe5c,'redirect_uri':_0x56f239(0x1ae)+CALLBACK_PORT+_0x56f239(0x169),'client_id':_0x4080b2,'code_verifier':_0x2e06a1});_0x5536d4&&_0x59aa8d[_0x56f239(0x184)]('client_secret',_0x5536d4);_0x1a8e83['resource']&&_0x59aa8d[_0x56f239(0x184)]('resource',_0x1a8e83['resource']);const _0x2604cf=await fetch(_0x5f4c1d['token_endpoint'],{'method':_0x56f239(0x188),'headers':{'Content-Type':_0x56f239(0x133)},'body':_0x59aa8d});if(!_0x2604cf['ok']){const _0x8ab2cc=await _0x2604cf['text']();throw new Error(_0x56f239(0x136)+_0x8ab2cc);}const _0x488fab=await _0x2604cf['json']();return console[_0x56f239(0x1aa)](_0x56f239(0x162)),await _0x1f8680[_0x56f239(0x151)](saveCachedToken,_0x488fab['access_token'],_0x488fab[_0x56f239(0x1ad)],_0x488fab[_0x56f239(0x164)]),_0x488fab[_0x56f239(0x17b)];}async function callGetCliToken(_0x5a1c05,_0x14cd25){const _0x32af92=_0x1b3ae4,_0x974fcf={'CysBo':'POST','LplUE':function(_0x1abc30,_0x575c8d){return _0x1abc30(_0x575c8d);},'xmTnn':_0x32af92(0x158),'HuqbG':'Initializing\x20MCP\x20session...','QZJPJ':function(_0x4ccf0b,_0x105bf0){return _0x4ccf0b(_0x105bf0);},'aMOBJ':'initialize','Jhcyc':'1.0.0','DEvFt':_0x32af92(0x162),'EEWvF':function(_0x15b4f8,_0x157a37,_0x56a2f0){return _0x15b4f8(_0x157a37,_0x56a2f0);},'DHrTr':'2.0','cKZwu':'notifications/initialized','uwBsu':_0x32af92(0x196),'nMBpd':_0x32af92(0x197),'sGeUR':_0x32af92(0x154),'blWvG':function(_0x2bad38,_0x2e448f,_0x5d1773,_0x53ae6d){return _0x2bad38(_0x2e448f,_0x5d1773,_0x53ae6d);},'TpRjK':function(_0x35f408,_0x1f4da7,_0x50c090){return _0x35f408(_0x1f4da7,_0x50c090);},'vRglT':_0x32af92(0x170)},_0x1dad91={'Content-Type':_0x974fcf[_0x32af92(0x16d)],'Accept':'application/json,\x20text/event-stream'};_0x14cd25&&(_0x1dad91['Authorization']='Bearer\x20'+_0x14cd25);const _0x4add60=async _0x9f635d=>{const _0x3d9858=_0x32af92,_0x528900=await fetch(_0x5a1c05,{'method':_0x974fcf[_0x3d9858(0x168)],'headers':_0x1dad91,'body':JSON['stringify'](_0x9f635d)});if(!_0x528900['ok']){const _0x3cc54a=await _0x528900['text']();throw new Error('HTTP\x20'+_0x528900[_0x3d9858(0x14e)]+':\x20'+_0x3cc54a);}return _0x974fcf[_0x3d9858(0x181)](parseResponse,_0x528900);};process[_0x32af92(0x195)]['write'](_0x974fcf[_0x32af92(0x190)]);const _0x42db14=await _0x974fcf['QZJPJ'](_0x4add60,{'jsonrpc':'2.0','id':0x1,'method':_0x974fcf['aMOBJ'],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x32af92(0x163),'version':_0x974fcf[_0x32af92(0x122)]}}});if(_0x42db14['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x42db14['error'][_0x32af92(0x198)]??JSON['stringify'](_0x42db14[_0x32af92(0x19e)])));console[_0x32af92(0x1aa)](_0x974fcf[_0x32af92(0x13e)]),await _0x974fcf[_0x32af92(0x12a)](fetch,_0x5a1c05,{'method':_0x32af92(0x188),'headers':_0x1dad91,'body':JSON[_0x32af92(0x193)]({'jsonrpc':_0x974fcf['DHrTr'],'method':_0x974fcf[_0x32af92(0x12e)]})})[_0x32af92(0x1a1)](_0x1410af=>_0x1410af[_0x32af92(0x115)]()),process['stdout']['write'](_0x32af92(0x17e));const _0x50f808=await _0x4add60({'jsonrpc':'2.0','id':0x2,'method':_0x974fcf['uwBsu'],'params':{'name':_0x974fcf[_0x32af92(0x12f)],'arguments':{}}});if(_0x50f808[_0x32af92(0x19e)])throw new Error(_0x32af92(0x17c)+(_0x50f808[_0x32af92(0x19e)]['message']??JSON[_0x32af92(0x193)](_0x50f808['error'])));console['log'](_0x974fcf['DEvFt']);const _0x8057af=extractToken(_0x50f808[_0x32af92(0x1ac)]);if(!_0x8057af){console[_0x32af92(0x19e)]('\x0aUnexpected\x20response\x20structure:'),console[_0x32af92(0x19e)](JSON['stringify'](_0x50f808['result'],null,0x2));throw new Error(_0x32af92(0x11b));}const _0x977e23=join(homedir(),'.ranger'),_0x2bdd3b=_0x974fcf['EEWvF'](join,_0x977e23,_0x974fcf[_0x32af92(0x1ab)]);await _0x974fcf[_0x32af92(0x12a)](mkdir,_0x977e23,{'recursive':!![]}),await _0x974fcf['blWvG'](writeFile,_0x2bdd3b,_0x8057af,{'mode':0x180}),await _0x974fcf[_0x32af92(0x16a)](writeFile,_0x974fcf['TpRjK'](join,_0x977e23,'auth-origin.txt'),_0x5a1c05,{'mode':0x180}),console[_0x32af92(0x1aa)](_0x32af92(0x131)+_0x2bdd3b),console[_0x32af92(0x1aa)](_0x974fcf[_0x32af92(0x1b0)]);}async function fetchAuthServerMetadata(_0x3070b1){const _0x174b9c=_0x3070b1+'/.well-known/oauth-authorization-server',_0x1a8a7a=await fetch(_0x174b9c);if(!_0x1a8a7a['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x174b9c+':\x20'+_0x1a8a7a['status']);return _0x1a8a7a['json']();}function waitForCallback(_0x2d211d){const _0x1a44d2=_0x1b3ae4,_0x39a2b3={'ailEV':_0x1a44d2(0x169),'zoqzD':_0x1a44d2(0x160),'kFNDv':'code','ZMTnf':_0x1a44d2(0x156),'HrzlC':_0x1a44d2(0x145),'Encpr':function(_0x47d1d7,_0x1dce25){return _0x47d1d7(_0x1dce25);},'nTOLH':function(_0x5eac1c,_0x5cecea){return _0x5eac1c!==_0x5cecea;},'VcgzX':function(_0x2b82ea,_0x22c13a,_0x5068ba){return _0x2b82ea(_0x22c13a,_0x5068ba);},'IihRO':_0x1a44d2(0x143)};return new Promise((_0x4e727d,_0x24b948)=>{const _0x5de091=_0x1a44d2,_0x4206bd={'AUNdF':function(_0x365e7d,_0x196563){return _0x365e7d!==_0x196563;},'AyzjR':_0x39a2b3[_0x5de091(0x14b)],'SLweO':_0x39a2b3['zoqzD'],'jVXSX':_0x39a2b3[_0x5de091(0x18e)],'JbkjH':_0x39a2b3['ZMTnf'],'Hfxmy':_0x39a2b3['HrzlC'],'IZOkS':function(_0xac4662,_0x1c8590){return _0x39a2b3['Encpr'](_0xac4662,_0x1c8590);},'kPhLd':function(_0x12b543,_0x4cbf14){return _0x39a2b3['Encpr'](_0x12b543,_0x4cbf14);},'IJpPf':function(_0x1d162d,_0x276086){const _0x61e9d6=_0x5de091;return _0x39a2b3[_0x61e9d6(0x13f)](_0x1d162d,_0x276086);}},_0x3f3335=_0x39a2b3['VcgzX'](setTimeout,()=>{_0x476a18['close'](),_0x24b948(new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x476a18=createServer((_0x5dc07e,_0x23e316)=>{const _0x35e191=_0x5de091,_0x221678=new URL(_0x5dc07e[_0x35e191(0x13b)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x4206bd[_0x35e191(0x194)](_0x221678[_0x35e191(0x1b3)],_0x4206bd['AyzjR'])){_0x23e316[_0x35e191(0x1b4)](0x194),_0x23e316['end'](_0x4206bd[_0x35e191(0x172)]);return;}const _0x4b1671=_0x221678[_0x35e191(0x127)][_0x35e191(0x13a)](_0x4206bd[_0x35e191(0x19b)]),_0x450634=_0x221678[_0x35e191(0x127)]['get'](_0x4206bd[_0x35e191(0x1a0)]),_0x3a4c50=_0x221678['searchParams'][_0x35e191(0x13a)]('error');if(_0x3a4c50){const _0x1b008e=_0x221678['searchParams']['get'](_0x35e191(0x16f))??_0x3a4c50;_0x23e316[_0x35e191(0x1b4)](0xc8,{'Content-Type':_0x4206bd['Hfxmy']}),_0x23e316[_0x35e191(0x167)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x1b008e+_0x35e191(0x12c)),_0x4206bd['IZOkS'](clearTimeout,_0x3f3335),_0x476a18['close'](),_0x4206bd['kPhLd'](_0x24b948,new Error('OAuth\x20error:\x20'+_0x1b008e));return;}if(!_0x4b1671||_0x4206bd['IJpPf'](_0x450634,_0x2d211d)){_0x23e316['writeHead'](0x190,{'Content-Type':_0x4206bd[_0x35e191(0x189)]}),_0x23e316['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x23e316[_0x35e191(0x1b4)](0xc8,{'Content-Type':_0x35e191(0x145)}),_0x23e316['end'](_0x35e191(0x199)),clearTimeout(_0x3f3335),_0x476a18[_0x35e191(0x182)](),_0x4e727d(_0x4b1671);});_0x476a18[_0x5de091(0x15b)](CALLBACK_PORT,_0x39a2b3['IihRO']);});}async function openBrowser(_0xf69bde){const _0x2aa9c9=_0x1b3ae4,_0x2ebe72={'HvZBb':_0x2aa9c9(0x177),'FMKIa':'win32'},{exec:_0xe2f352}=await import('child_process'),_0x5866db=process[_0x2aa9c9(0x178)]===_0x2aa9c9(0x128)?_0x2ebe72[_0x2aa9c9(0x132)]:process[_0x2aa9c9(0x178)]===_0x2ebe72[_0x2aa9c9(0x1b2)]?_0x2aa9c9(0x18a):_0x2aa9c9(0x124);_0xe2f352(_0x5866db+'\x20\x22'+_0xf69bde+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x2f1b7b=_0x1b3ae4,_0x5d9fb2={'jqiTM':function(_0x2887ad,_0x538b9e){return _0x2887ad>_0x538b9e;}};try{const _0x10dd54=JSON[_0x2f1b7b(0x139)](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x10dd54['origin']&&_0x10dd54[_0x2f1b7b(0x18b)]!==currentOrigin)return null;if(_0x10dd54[_0x2f1b7b(0x15e)]&&_0x5d9fb2[_0x2f1b7b(0x146)](Date[_0x2f1b7b(0x1a5)](),_0x10dd54['expiresAt']))return null;return _0x10dd54[_0x2f1b7b(0x126)]??null;}catch{return null;}}async function saveCachedToken(_0x3f1945,_0x209dad,_0x583aa2){const _0xb2cbb=_0x1b3ae4,_0x5c2032={'DeqCM':function(_0x4bf988){return _0x4bf988();},'InPrZ':function(_0x43e345,_0x61b040){return _0x43e345+_0x61b040;},'ohQHb':function(_0x29b267,_0x2d7b9b){return _0x29b267*_0x2d7b9b;},'bEOlC':function(_0x43a3af,_0x4ae374,_0x6bcf52){return _0x43a3af(_0x4ae374,_0x6bcf52);},'XlbaI':function(_0x44dec9){return _0x44dec9();},'yxEFM':_0xb2cbb(0x165)},_0x135bce=await _0x5c2032[_0xb2cbb(0x17a)](loadCachedData),_0x37469b={..._0x135bce,'origin':currentOrigin,'accessToken':_0x3f1945,'refreshToken':_0x209dad??_0x135bce?.[_0xb2cbb(0x17d)],'expiresAt':_0x583aa2?_0x5c2032[_0xb2cbb(0x144)](Date['now'](),_0x5c2032[_0xb2cbb(0x118)](_0x583aa2,0x3e8)):undefined};await _0x5c2032['bEOlC'](mkdir,join(_0x5c2032['XlbaI'](homedir),_0x5c2032['yxEFM']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x37469b),{'mode':0x180});}function _0x361e(_0xd1679b,_0x376e89){_0xd1679b=_0xd1679b-0x114;const _0x2d39a2=_0x2d39();let _0x361e4b=_0x2d39a2[_0xd1679b];return _0x361e4b;}async function loadCachedClient(){const _0x312b5c=_0x1b3ae4,_0xa571e6=await loadCachedData();if(_0xa571e6?.[_0x312b5c(0x18b)]&&_0xa571e6['origin']!==currentOrigin)return null;return _0xa571e6?.[_0x312b5c(0x134)]?{'clientId':_0xa571e6['clientId'],'clientSecret':_0xa571e6['clientSecret']}:null;}async function clearCachedClient(){const _0x29f9e1=_0x1b3ae4,_0x58df73={'bgedF':function(_0xa59c60,_0x25c39c,_0x1dbb84,_0x48d90f){return _0xa59c60(_0x25c39c,_0x1dbb84,_0x48d90f);}},_0x3eb14d=await loadCachedData();if(!_0x3eb14d)return;const {clientId:_0x29d5e8,clientSecret:_0x2b9580,..._0x534769}=_0x3eb14d;await _0x58df73[_0x29f9e1(0x183)](writeFile,TOKEN_CACHE_PATH,JSON[_0x29f9e1(0x193)](_0x534769),{'mode':0x180});}async function saveCachedClient(_0x2e8031,_0x3ecd1b){const _0x59edb7=_0x1b3ae4,_0x38a54a={'aIeTU':function(_0x505016){return _0x505016();},'SJnSg':function(_0x556d45){return _0x556d45();},'rmeYA':function(_0x5cda5b,_0x8834c3,_0x266eb0,_0x12efee){return _0x5cda5b(_0x8834c3,_0x266eb0,_0x12efee);}},_0x22098f=await _0x38a54a['aIeTU'](loadCachedData),_0x35813c={..._0x22098f,'origin':currentOrigin,'accessToken':_0x22098f?.[_0x59edb7(0x126)]??'','clientId':_0x2e8031,'clientSecret':_0x3ecd1b};await mkdir(join(_0x38a54a[_0x59edb7(0x153)](homedir),_0x59edb7(0x165)),{'recursive':!![]}),await _0x38a54a['rmeYA'](writeFile,TOKEN_CACHE_PATH,JSON[_0x59edb7(0x193)](_0x35813c),{'mode':0x180});}async function loadCachedData(){const _0x405508=_0x1b3ae4,_0x323f61={'fsWrc':'utf-8'};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x323f61[_0x405508(0x19f)]));}catch{return null;}}async function parseResponse(_0xbd691e){const _0x494254=_0x1b3ae4,_0x254c41={'VsMOP':_0x494254(0x1a7)},_0x10f439=_0xbd691e['headers']['get']('content-type')??'';if(_0x10f439[_0x494254(0x15c)](_0x494254(0x1b6))){const _0xbf3b63=await _0xbd691e[_0x494254(0x115)]();for(const _0x21eca2 of _0xbf3b63[_0x494254(0x13c)]('\x0a')){const _0x28d3c3=_0x21eca2[_0x494254(0x14f)]();if(_0x28d3c3['startsWith'](_0x254c41['VsMOP'])){const _0x55b459=_0x28d3c3[_0x494254(0x179)]('data:'['length'])['trim']();if(!_0x55b459)continue;try{const _0x560199=JSON['parse'](_0x55b459);if(_0x560199['id']!==undefined||_0x560199['error'])return _0x560199;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0xbd691e['json']();}function extractToken(_0x35b4f7){const _0x350cbd=_0x1b3ae4,_0x2943d2={'GIyTS':function(_0x31c2c1,_0x421f53){return _0x31c2c1===_0x421f53;},'qyTfR':_0x350cbd(0x119),'CXUvm':_0x350cbd(0x115),'JFBZb':_0x350cbd(0x1af)};if(!_0x35b4f7)return null;const _0x2b820e=_0x35b4f7[_0x350cbd(0x1b7)];if(_0x2b820e?.[_0x350cbd(0x19c)]&&_0x2943d2[_0x350cbd(0x18d)](typeof _0x2b820e[_0x350cbd(0x19c)],'string'))return _0x2b820e['token'];if(_0x35b4f7['isError']){const _0x133efc=_0x35b4f7[_0x350cbd(0x11d)];throw new Error('Server\x20returned\x20error:\x20'+(_0x133efc?.[0x0]?.['text']??_0x2943d2['qyTfR']));}const _0x170eed=_0x35b4f7['content'];if(_0x170eed)for(const _0x2dcc16 of _0x170eed){if(_0x2943d2['GIyTS'](_0x2dcc16[_0x350cbd(0x15a)],_0x2943d2[_0x350cbd(0x116)])&&_0x2dcc16['text']){try{const _0x3a2592=JSON[_0x350cbd(0x139)](_0x2dcc16['text']);if(typeof _0x3a2592?.['token']===_0x2943d2[_0x350cbd(0x12b)])return _0x3a2592[_0x350cbd(0x19c)];}catch{}const _0xcc75d0=_0x2dcc16[_0x350cbd(0x115)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0xcc75d0)return _0xcc75d0[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(_0x50c23a,_0x5e9b2d){var _0x3fa87c=_0x278f,_0x3ce6ac=_0x50c23a();while(!![]){try{var _0x1146b2=-parseInt(_0x3fa87c(0x10f))/0x1*(parseInt(_0x3fa87c(0x100))/0x2)+-parseInt(_0x3fa87c(0x104))/0x3+-parseInt(_0x3fa87c(0x107))/0x4+-parseInt(_0x3fa87c(0x103))/0x5+-parseInt(_0x3fa87c(0x109))/0x6*(-parseInt(_0x3fa87c(0xff))/0x7)+parseInt(_0x3fa87c(0x105))/0x8*(parseInt(_0x3fa87c(0x10d))/0x9)+parseInt(_0x3fa87c(0x102))/0xa*(parseInt(_0x3fa87c(0x10a))/0xb);if(_0x1146b2===_0x5e9b2d)break;else _0x3ce6ac['push'](_0x3ce6ac['shift']());}catch(_0x56094a){_0x3ce6ac['push'](_0x3ce6ac['shift']());}}}(_0x6e61,0xe6da6));function _0x278f(_0x557279,_0x570e29){_0x557279=_0x557279-0xfd;var _0x6e6174=_0x6e61();var _0x278fd5=_0x6e6174[_0x557279];return _0x278fd5;}export async function migrateProfile(_0x515717,_0x47a1fa){var _0x11cd8b=_0x278f,_0x47690c={'lIwUV':function(_0x4e20e2,_0x543f5d){return _0x4e20e2+_0x543f5d;},'qseis':function(_0x5222f7,_0xcb19e1){return _0x5222f7+_0xcb19e1;},'UeliQ':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','QPNHa':_0x11cd8b(0x10e),'IbJlP':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','hUqIs':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','nKkef':_0x11cd8b(0x10b)};console[_0x11cd8b(0x108)](_0x47690c['lIwUV'](_0x47690c['qseis'](_0x47690c[_0x11cd8b(0xfd)]+'\x0a'+_0x47690c['QPNHa']+_0x11cd8b(0x101)+'\x0a'+_0x11cd8b(0xfe)+_0x47690c['IbJlP']+'\x0a',_0x47690c[_0x11cd8b(0x106)]),_0x47690c['nKkef'])),process[_0x11cd8b(0x10c)](0x1);}function _0x6e61(){var _0x263ace=['To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','14gexLaG','UeliQ','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','7KCGvUl','105546zsVtIl','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','40NPrIvu','326940pZWyMt','2796870drHHgZ','1597912nGVpeV','hUqIs','3569004EIJsjz','error','587988mgiokg','9010617ELQXbj','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','exit','9NqXrdF'];_0x6e61=function(){return _0x263ace;};return _0x6e61();}
|