@ranger-testing/ranger-cli 2.5.4-alpha.ed286f1-2 → 2.5.4-alpha.f4657dc-23
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/deleteProfile.js +1 -0
- 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 -0
- 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 -0
- package/build/commands/utils/cloudProfileSession.js +1 -0
- 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 -0
- 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 -0
- 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 -0
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -0
- package/build/commands/utils/resolveProfileUrl.js +1 -0
- 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 _0x4f8a(_0x12084c,_0x57f34f){_0x12084c=_0x12084c-0x1f3;const _0x4ac66a=_0x4ac6();let _0x4f8a36=_0x4ac66a[_0x12084c];return _0x4f8a36;}(function(_0x59bf90,_0x3f1810){const _0x3efb2d=_0x4f8a,_0xc3f80e=_0x59bf90();while(!![]){try{const _0x48993b=-parseInt(_0x3efb2d(0x1fc))/0x1+-parseInt(_0x3efb2d(0x202))/0x2*(-parseInt(_0x3efb2d(0x200))/0x3)+parseInt(_0x3efb2d(0x1f5))/0x4+-parseInt(_0x3efb2d(0x1fb))/0x5*(parseInt(_0x3efb2d(0x1fd))/0x6)+parseInt(_0x3efb2d(0x1fe))/0x7*(-parseInt(_0x3efb2d(0x1f9))/0x8)+parseInt(_0x3efb2d(0x201))/0x9+parseInt(_0x3efb2d(0x1f4))/0xa*(-parseInt(_0x3efb2d(0x1fa))/0xb);if(_0x48993b===_0x3f1810)break;else _0xc3f80e['push'](_0xc3f80e['shift']());}catch(_0x343498){_0xc3f80e['push'](_0xc3f80e['shift']());}}}(_0x4ac6,0xd009c));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 _0x2d9e40=_0x4f8a;if(cancellationHandlersInstalled)return;const _0x18b0e0=()=>{process['exit'](0x0);};process['once'](_0x2d9e40(0x1f3),_0x18b0e0),process[_0x2d9e40(0x203)](_0x2d9e40(0x1f6),_0x18b0e0),process[_0x2d9e40(0x203)](_0x2d9e40(0x204),_0x18b0e0),cancellationHandlersInstalled=!![];}export async function hook(_0x516391,_0x575044){const _0x1b58b9=_0x4f8a,_0x2fcd82={'PYYzM':function(_0x28c0f5){return _0x28c0f5();},'MIhpN':function(_0x2bafc3,_0x2bfda5){return _0x2bafc3(_0x2bfda5);}};_0x2fcd82[_0x1b58b9(0x1f8)](installCancellationHandlers);const _0x297562=HOOKS[_0x516391];if(!_0x297562){const _0x35fc58=Object[_0x1b58b9(0x1ff)](HOOKS)['join'](',\x20');console['error']('Unknown\x20hook:\x20'+_0x516391),console['error']('Valid\x20hooks:\x20'+_0x35fc58),process['exit'](0x1);}await _0x2fcd82[_0x1b58b9(0x1f7)](_0x297562,_0x575044);}function _0x4ac6(){const _0x42b397=['15866Drjuer','once','SIGHUP','SIGINT','46120erUtZb','4275580FOlHRc','SIGTERM','MIhpN','PYYzM','5080568WWFjRQ','616qeEBkV','5OZRUyY','376057phFSbg','701130vjInZK','7Cgbqqm','keys','339rSKdQf','2457495TIKRlP'];_0x4ac6=function(){return _0x42b397;};return _0x4ac6();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x15cb87,_0x33acfb){const _0x86b2fe=_0x3eca,_0x512b1b=_0x15cb87();while(!![]){try{const _0x4aa9e3=parseInt(_0x86b2fe(0xb0))/0x1+parseInt(_0x86b2fe(0xb2))/0x2*(parseInt(_0x86b2fe(0xba))/0x3)+parseInt(_0x86b2fe(0xb8))/0x4+-parseInt(_0x86b2fe(0xbc))/0x5+-parseInt(_0x86b2fe(0xb6))/0x6+-parseInt(_0x86b2fe(0xbb))/0x7*(parseInt(_0x86b2fe(0xb1))/0x8)+-parseInt(_0x86b2fe(0xb3))/0x9;if(_0x4aa9e3===_0x33acfb)break;else _0x512b1b['push'](_0x512b1b['shift']());}catch(_0x5b07cc){_0x512b1b['push'](_0x512b1b['shift']());}}}(_0x434e,0xdf139));function _0x3eca(_0x4b32d5,_0x1188b1){_0x4b32d5=_0x4b32d5-0xb0;const _0x434e0a=_0x434e();let _0x3eca2f=_0x434e0a[_0x4b32d5];return _0x3eca2f;}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.';export async function autoPrompt(){const _0x36a749=_0x3eca,_0x3c1d15={'xDNjg':function(_0x246afe,_0x147c6e){return _0x246afe(_0x147c6e);},'Dpbin':function(_0x21fd17,_0x52ab92){return _0x21fd17(_0x52ab92);}},_0x4b9b7c=await readHookInput(),_0x3e65db=_0x4b9b7c?.[_0x36a749(0xb9)];if(!_0x3e65db)return;if(_0x3c1d15['xDNjg'](isSessionEnabled,_0x3e65db)||_0x3c1d15[_0x36a749(0xb5)](hasSessionBeenPrompted,_0x3e65db))return;_0x3c1d15[_0x36a749(0xb7)](markSessionPrompted,_0x3e65db),console[_0x36a749(0xb4)](AUTO_PROMPT_TEXT);}function _0x434e(){const _0x214847=['6574368STHcvF','session_id','207WeCADV','469pjNIhA','2582860YzqHkb','1166775yCtMOh','75864oMpIbm','16084PCTimY','4167243SgHfsC','log','xDNjg','5019504pimDkO','Dpbin'];_0x434e=function(){return _0x214847;};return _0x434e();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x4b56(){const _0x456460=['.\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`.','yXNVw','master','IPatL','904479vdWPOU','1123700sBcCNc','5JMGHkk','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','993031rZRvva','main','9058664lGseSA','3752756vBLAJs','117gvunhg','1299384WGfTMl','env','3833124oafKhT','JwnSA','2AxotRy'];_0x4b56=function(){return _0x456460;};return _0x4b56();}(function(_0x4e19f3,_0x5dc639){const _0x5eb7ed=_0x10d7,_0x45d069=_0x4e19f3();while(!![]){try{const _0xff148e=parseInt(_0x5eb7ed(0x146))/0x1+-parseInt(_0x5eb7ed(0x14f))/0x2*(parseInt(_0x5eb7ed(0x154))/0x3)+parseInt(_0x5eb7ed(0x14d))/0x4*(parseInt(_0x5eb7ed(0x156))/0x5)+-parseInt(_0x5eb7ed(0x14b))/0x6+-parseInt(_0x5eb7ed(0x149))/0x7+parseInt(_0x5eb7ed(0x148))/0x8+-parseInt(_0x5eb7ed(0x14a))/0x9*(parseInt(_0x5eb7ed(0x155))/0xa);if(_0xff148e===_0x5dc639)break;else _0x45d069['push'](_0x45d069['shift']());}catch(_0x15b0a2){_0x45d069['push'](_0x45d069['shift']());}}}(_0x4b56,0x8ad5e));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x10d7(_0x1b47b2,_0x2a7932){_0x1b47b2=_0x1b47b2-0x146;const _0x4b5657=_0x4b56();let _0x10d7ab=_0x4b5657[_0x1b47b2];return _0x10d7ab;}import{printBlock}from'./output.js';export async function disable(_0x2435e4){const _0x47d0d4=_0x10d7,_0x36c9ac={'yXNVw':function(_0x3a885c,_0x4a96dd){return _0x3a885c!==_0x4a96dd;},'vDVUU':_0x47d0d4(0x147),'IPatL':_0x47d0d4(0x152),'JwnSA':function(_0x454374,_0x43795a){return _0x454374(_0x43795a);},'yzAsk':function(_0x420bd6,_0x4391a1){return _0x420bd6!==_0x4391a1;}},_0x5ef83e=_0x2435e4||process[_0x47d0d4(0x14c)]['CLAUDE_SESSION_ID']||'';_0x5ef83e&&disableSession(_0x5ef83e);const _0x57db4f=getCurrentBranch();_0x57db4f&&_0x36c9ac[_0x47d0d4(0x151)](_0x57db4f,_0x36c9ac['vDVUU'])&&_0x57db4f!==_0x36c9ac[_0x47d0d4(0x153)]&&_0x36c9ac[_0x47d0d4(0x14e)](disableBranch,_0x57db4f),printBlock(_0x47d0d4(0x157)+(_0x57db4f&&_0x57db4f!=='main'&&_0x36c9ac['yzAsk'](_0x57db4f,'master')?'\x20and\x20branch\x20\x27'+_0x57db4f+'\x27':'')+_0x47d0d4(0x150));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3ac512,_0x194924){const _0x4f1809=_0x5cd7,_0x564992=_0x3ac512();while(!![]){try{const _0x4ecf51=-parseInt(_0x4f1809(0xec))/0x1+-parseInt(_0x4f1809(0xfb))/0x2*(-parseInt(_0x4f1809(0xed))/0x3)+parseInt(_0x4f1809(0xeb))/0x4*(parseInt(_0x4f1809(0xf4))/0x5)+-parseInt(_0x4f1809(0xfa))/0x6+-parseInt(_0x4f1809(0xf2))/0x7*(parseInt(_0x4f1809(0xf1))/0x8)+parseInt(_0x4f1809(0xf7))/0x9*(-parseInt(_0x4f1809(0xee))/0xa)+parseInt(_0x4f1809(0xf5))/0xb;if(_0x4ecf51===_0x194924)break;else _0x564992['push'](_0x564992['shift']());}catch(_0x5da8bf){_0x564992['push'](_0x564992['shift']());}}}(_0x56f5,0x7edf4));function _0x56f5(){const _0x285711=['8Uxrelg','664188gqZuWF','KxZEj','10480qkeCrH','908402bovbMq','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','513tzPVlp','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','IqYnR','1060974KoGequ','1689882ThQDZB','#\x20RANGER\x20ENABLED','ranger\x20setup','304xppUrH','133273tpXNlv','3IBZYmp','28450UyEOMD','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','fnAbA'];_0x56f5=function(){return _0x285711;};return _0x56f5();}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x5cd7(_0x210571,_0x6c9135){_0x210571=_0x210571-0xea;const _0x56f536=_0x56f5();let _0x5cd7e8=_0x56f536[_0x210571];return _0x5cd7e8;}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x4e5ad1){const _0xe53fb9=_0x5cd7,_0x2dcc40={'EuBND':'ranger\x20setup\x20--opencode','IqYnR':_0xe53fb9(0xea),'fnAbA':_0xe53fb9(0xf6),'fnaht':_0xe53fb9(0xef),'KxZEj':function(_0x396d4f,_0x1feefe){return _0x396d4f(_0x1feefe);},'fMNml':'main','FTKwe':'master'},_0x391724=_0x4e5ad1||process['env']['CLAUDE_SESSION_ID']||'',_0x697377=Boolean(_0x4e5ad1),_0x433f45=await getToken();if(!_0x433f45){const _0x578304=_0x697377?_0x2dcc40['EuBND']:_0x2dcc40[_0xe53fb9(0xf9)],_0x3e572e=_0x697377?_0x2dcc40[_0xe53fb9(0xf0)]:_0x2dcc40['fnaht'];_0x2dcc40[_0xe53fb9(0xf3)](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`'+_0x578304+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x3e572e);return;}try{await update();}catch{}_0x391724&&enableSession(_0x391724);const _0x90cf8c=getCurrentBranch(),_0x448836=_0x90cf8c&&_0x90cf8c!==_0x2dcc40['fMNml']&&_0x90cf8c!==_0x2dcc40['FTKwe']?'\x0a\x0a**Branch\x20\x27'+_0x90cf8c+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x16b581=getRangerSkillContent();printBlock(_0xe53fb9(0xfc)+_0x448836+_0xe53fb9(0xf8)+_0x16b581+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2023d5,_0x144c07){const _0x3286ce=_0x4b0b,_0x351822=_0x2023d5();while(!![]){try{const _0x368953=parseInt(_0x3286ce(0x1a2))/0x1+-parseInt(_0x3286ce(0x1aa))/0x2+-parseInt(_0x3286ce(0x1a8))/0x3*(-parseInt(_0x3286ce(0x1a7))/0x4)+parseInt(_0x3286ce(0x1a5))/0x5*(-parseInt(_0x3286ce(0x1ab))/0x6)+parseInt(_0x3286ce(0x1ac))/0x7*(parseInt(_0x3286ce(0x1a4))/0x8)+-parseInt(_0x3286ce(0x1a6))/0x9*(parseInt(_0x3286ce(0x1a9))/0xa)+parseInt(_0x3286ce(0x1a3))/0xb*(parseInt(_0x3286ce(0x1a1))/0xc);if(_0x368953===_0x144c07)break;else _0x351822['push'](_0x351822['shift']());}catch(_0x34588d){_0x351822['push'](_0x351822['shift']());}}}(_0x1fe5,0x3f4eb));function _0x4b0b(_0xa1fea5,_0x5da935){_0xa1fea5=_0xa1fea5-0x1a1;const _0x1fe5ea=_0x1fe5();let _0x4b0b18=_0x1fe5ea[_0xa1fea5];return _0x4b0b18;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x28a1a1){const _0x2738e1=await getEnabledSessionId(_0x28a1a1);if(!_0x2738e1)return;printBlock('===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}function _0x1fe5(){const _0x440c1d=['241857pUnEKR','87010yhEynd','8WbFDsm','1124205QfNGmW','9EZkNRC','16qDLLUs','71091YJDNfg','4653010ALiZaB','648200MTauIf','6oEJyie','2073358SdyXZj','972MMryOC'];_0x1fe5=function(){return _0x440c1d;};return _0x1fe5();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4ac83a,_0x2c6874){var _0x19a6ea=_0x5882,_0x42c565=_0x4ac83a();while(!![]){try{var _0x1c981f=parseInt(_0x19a6ea(0x153))/0x1*(parseInt(_0x19a6ea(0x156))/0x2)+parseInt(_0x19a6ea(0x152))/0x3+-parseInt(_0x19a6ea(0x14f))/0x4+parseInt(_0x19a6ea(0x154))/0x5*(-parseInt(_0x19a6ea(0x155))/0x6)+parseInt(_0x19a6ea(0x150))/0x7*(parseInt(_0x19a6ea(0x158))/0x8)+parseInt(_0x19a6ea(0x157))/0x9*(parseInt(_0x19a6ea(0x151))/0xa)+-parseInt(_0x19a6ea(0x14e))/0xb;if(_0x1c981f===_0x2c6874)break;else _0x42c565['push'](_0x42c565['shift']());}catch(_0x5690b7){_0x42c565['push'](_0x42c565['shift']());}}}(_0x561e,0x9bf6a));function _0x561e(){var _0x5762c3=['1128zaTgiJ','857901EhlZvw','5006276saYniv','44331GhwBXL','20jwbUvC','2911554WxzzTF','33eXQFsb','1156445TFhlMY','30NWzeWV','72344IdPDfN','304578sDExBO'];_0x561e=function(){return _0x5762c3;};return _0x561e();}export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x5882(_0x3c3826,_0x5d507f){_0x3c3826=_0x3c3826-0x14e;var _0x561e6c=_0x561e();var _0x5882e8=_0x561e6c[_0x3c3826];return _0x5882e8;}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x880783,_0x3d8794){const _0x3c3008=_0x4217,_0x5193f0=_0x880783();while(!![]){try{const _0x114c03=parseInt(_0x3c3008(0x11f))/0x1+-parseInt(_0x3c3008(0x111))/0x2*(-parseInt(_0x3c3008(0x110))/0x3)+parseInt(_0x3c3008(0x119))/0x4*(parseInt(_0x3c3008(0x11e))/0x5)+parseInt(_0x3c3008(0x11b))/0x6+parseInt(_0x3c3008(0x116))/0x7*(parseInt(_0x3c3008(0x114))/0x8)+parseInt(_0x3c3008(0x117))/0x9*(-parseInt(_0x3c3008(0x113))/0xa)+-parseInt(_0x3c3008(0x11a))/0xb;if(_0x114c03===_0x3d8794)break;else _0x5193f0['push'](_0x5193f0['shift']());}catch(_0x40782d){_0x5193f0['push'](_0x5193f0['shift']());}}}(_0xe903,0x97858));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x3a5331){console['log'](_0x3a5331);}function _0xe903(){const _0x1f5ee9=['stdin','5496230GSlXRc','5756800yTYFXj','fNEkE','7PkncIv','9ztAhih','trim','4qcNSni','20444754GnRulE','5193480lugyIY','parse','NSzok','697885LCRTGa','892909hzjCPq','session_id','3sShhig','822406ZxPHeD'];_0xe903=function(){return _0x1f5ee9;};return _0xe903();}export async function readHookInput(){const _0x418a9d=_0x4217;let _0x36a75e='';try{for await(const _0x47cffa of process[_0x418a9d(0x112)]){_0x36a75e+=_0x47cffa;}}catch{return null;}if(!_0x36a75e[_0x418a9d(0x118)]())return null;try{return JSON[_0x418a9d(0x11c)](_0x36a75e);}catch{return null;}}export async function getEnabledSessionId(_0x43e0ce){const _0xb845b=_0x4217,_0x146e86={'NSzok':function(_0x67b641,_0x2e40d8){return _0x67b641(_0x2e40d8);}};if(_0x43e0ce)return _0x146e86[_0xb845b(0x11d)](isSessionEnabled,_0x43e0ce)?_0x43e0ce:null;const _0x3e6310=await readHookInput(),_0x45ffdf=_0x3e6310?.[_0xb845b(0x120)];if(!_0x45ffdf||!_0x146e86[_0xb845b(0x11d)](isSessionEnabled,_0x45ffdf))return null;return _0x45ffdf;}function _0x4217(_0x129e37,_0x18e9ea){_0x129e37=_0x129e37-0x110;const _0xe903a3=_0xe903();let _0x42176b=_0xe903a3[_0x129e37];return _0x42176b;}export async function getEnabledHookContext(_0x57636c){const _0x28dbbb=_0x4217,_0xd98716={'fNEkE':function(_0x12f918,_0xb60530){return _0x12f918(_0xb60530);}};if(_0x57636c){if(!_0xd98716['fNEkE'](isSessionEnabled,_0x57636c))return null;return{'sessionId':_0x57636c,'input':{'session_id':_0x57636c}};}const _0x5abae1=await readHookInput(),_0xa7c52a=_0x5abae1?.['session_id'];if(!_0xa7c52a||!_0xd98716[_0x28dbbb(0x115)](isSessionEnabled,_0xa7c52a))return null;return{'sessionId':_0xa7c52a,'input':_0x5abae1};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2024aa,_0x1d417d){const _0x431e68=_0x3be8,_0x3ef624=_0x2024aa();while(!![]){try{const _0x37dec9=parseInt(_0x431e68(0x138))/0x1*(parseInt(_0x431e68(0x130))/0x2)+parseInt(_0x431e68(0x131))/0x3+parseInt(_0x431e68(0x12f))/0x4+parseInt(_0x431e68(0x135))/0x5+parseInt(_0x431e68(0x12c))/0x6*(parseInt(_0x431e68(0x136))/0x7)+parseInt(_0x431e68(0x137))/0x8+-parseInt(_0x431e68(0x13a))/0x9;if(_0x37dec9===_0x1d417d)break;else _0x3ef624['push'](_0x3ef624['shift']());}catch(_0x2db1d4){_0x3ef624['push'](_0x3ef624['shift']());}}}(_0x2a5d,0xc04cd));function _0x3be8(_0x25fe26,_0x4542d3){_0x25fe26=_0x25fe26-0x12c;const _0x2a5dab=_0x2a5d();let _0x3be842=_0x2a5dab[_0x25fe26];return _0x3be842;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x4a1769){const _0x237acf=_0x3be8,_0x4ea806={'zIRMu':function(_0x4fb43b,_0x46bf3f){return _0x4fb43b!==_0x46bf3f;},'AkbWJ':function(_0x56f11c,_0x30975e){return _0x56f11c(_0x30975e);}},_0x1218da=await getEnabledHookContext(_0x4a1769);if(!_0x1218da)return;if(_0x4ea806[_0x237acf(0x139)](_0x1218da['input'][_0x237acf(0x132)],_0x237acf(0x12d)))return;if(!_0x4ea806[_0x237acf(0x134)](shouldShowPlanReminder,_0x1218da[_0x237acf(0x12e)]))return;printBlock(_0x237acf(0x133));}function _0x2a5d(){const _0x124d93=['permission_mode','===\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===','AkbWJ','4126805aeVdUM','49sZUIFN','7043744ueLFRE','35BJTffq','zIRMu','16272459nzBVgV','8406IhechY','plan','sessionId','1625832GHIWHT','686rREZwz','1384839INSgBu'];_0x2a5d=function(){return _0x124d93;};return _0x2a5d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0xc45fbd,_0x5dd6b4){const _0x15375e=_0x2bac,_0x1885ff=_0xc45fbd();while(!![]){try{const _0x97294c=parseInt(_0x15375e(0x11b))/0x1*(-parseInt(_0x15375e(0x11d))/0x2)+parseInt(_0x15375e(0x11a))/0x3*(-parseInt(_0x15375e(0x119))/0x4)+parseInt(_0x15375e(0x122))/0x5+parseInt(_0x15375e(0x118))/0x6+-parseInt(_0x15375e(0x121))/0x7*(parseInt(_0x15375e(0x11f))/0x8)+parseInt(_0x15375e(0x120))/0x9*(-parseInt(_0x15375e(0x125))/0xa)+-parseInt(_0x15375e(0x126))/0xb*(-parseInt(_0x15375e(0x11e))/0xc);if(_0x97294c===_0x5dd6b4)break;else _0x1885ff['push'](_0x1885ff['shift']());}catch(_0x5a8984){_0x1885ff['push'](_0x1885ff['shift']());}}}(_0x3a04,0x24628));function _0x2bac(_0x225bb5,_0x2293dd){_0x225bb5=_0x225bb5-0x118;const _0x3a0419=_0x3a04();let _0x2bacff=_0x3a0419[_0x225bb5];return _0x2bacff;}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x5f43ce){const _0x3ac900=_0x2bac,_0x146b99={'NQOUb':function(_0x2ce964,_0x33af61){return _0x2ce964(_0x33af61);},'knqWm':function(_0x5d314c,_0x7577e8){return _0x5d314c(_0x7577e8);}},_0x3bd3c3=await _0x146b99[_0x3ac900(0x11c)](getEnabledSessionId,_0x5f43ce);if(!_0x3bd3c3)return;_0x146b99[_0x3ac900(0x124)](printBlock,_0x3ac900(0x123));}function _0x3a04(){const _0x5f422b=['530170aqBekp','===\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===','knqWm','20VBJYNp','209xvEtDg','365370GHkDni','193852EYJiVo','6cXCyWp','4207bOvyqx','NQOUb','120SyKwDb','518532ImzXUQ','6416PCCOSW','1279116OmFUij','1792JPsvvO'];_0x3a04=function(){return _0x5f422b;};return _0x3a04();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x52b48f,_0x11607e){const _0xfed8a5=_0x172f,_0xf77bc7=_0x52b48f();while(!![]){try{const _0x4b2ada=parseInt(_0xfed8a5(0xd2))/0x1*(-parseInt(_0xfed8a5(0xd0))/0x2)+parseInt(_0xfed8a5(0xda))/0x3+parseInt(_0xfed8a5(0xd9))/0x4+parseInt(_0xfed8a5(0xdb))/0x5*(parseInt(_0xfed8a5(0xd3))/0x6)+parseInt(_0xfed8a5(0xd4))/0x7+-parseInt(_0xfed8a5(0xd8))/0x8+-parseInt(_0xfed8a5(0xd6))/0x9;if(_0x4b2ada===_0x11607e)break;else _0xf77bc7['push'](_0xf77bc7['shift']());}catch(_0x12dc12){_0xf77bc7['push'](_0xf77bc7['shift']());}}}(_0x2742,0xbe606));function _0x2742(){const _0xd677dc=['464826fHYUsa','6888749qTPHGA','log','21027339sGmjoU','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).','3816456MHzHGS','6238088aCFQQc','2764605pxouXE','25PXUppl','2XVFMzh','vzynb','259309FyvWfy'];_0x2742=function(){return _0xd677dc;};return _0x2742();}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x172f(_0x434877,_0x584891){_0x434877=_0x434877-0xd0;const _0x274232=_0x2742();let _0x172ff5=_0x274232[_0x434877];return _0x172ff5;}export async function postEdit(_0x3655c2){const _0x45655e=_0x172f,_0x1dd50f={'eCkGP':function(_0x327e98,_0x49a07a){return _0x327e98(_0x49a07a);},'vzynb':'PostToolUse'},_0x190c8c=await getEnabledSessionId(_0x3655c2);if(!_0x190c8c)return;updateBranchTracking(_0x190c8c);const _0x2418e2=await getToken();if(!_0x2418e2)return;const _0x544496=_0x1dd50f['eCkGP'](getSessionEntry,_0x190c8c);if(_0x544496){const _0x53e588={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x45655e(0xd7)}};console[_0x45655e(0xd5)](JSON['stringify'](_0x53e588));return;}const _0x2094f1={'hookSpecificOutput':{'hookEventName':_0x1dd50f[_0x45655e(0xd1)],'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[_0x45655e(0xd5)](JSON['stringify'](_0x2094f1));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1794e0,_0x3cb809){const _0x1b0318=_0x1b3c,_0x37bc80=_0x1794e0();while(!![]){try{const _0x37a9b1=-parseInt(_0x1b0318(0xd8))/0x1*(-parseInt(_0x1b0318(0xdf))/0x2)+parseInt(_0x1b0318(0xde))/0x3+-parseInt(_0x1b0318(0xd6))/0x4*(parseInt(_0x1b0318(0xdc))/0x5)+parseInt(_0x1b0318(0xd9))/0x6+-parseInt(_0x1b0318(0xd3))/0x7*(-parseInt(_0x1b0318(0xdd))/0x8)+parseInt(_0x1b0318(0xd5))/0x9*(parseInt(_0x1b0318(0xd4))/0xa)+parseInt(_0x1b0318(0xda))/0xb*(-parseInt(_0x1b0318(0xdb))/0xc);if(_0x37a9b1===_0x3cb809)break;else _0x37bc80['push'](_0x37bc80['shift']());}catch(_0x5ccbef){_0x37bc80['push'](_0x37bc80['shift']());}}}(_0x1be4,0xcaffc));import{getToken}from'../utils/keychain.js';function _0x1b3c(_0x442ed7,_0x297f43){_0x442ed7=_0x442ed7-0xd3;const _0x1be447=_0x1be4();let _0x1b3cf9=_0x1be447[_0x442ed7];return _0x1b3cf9;}function _0x1be4(){const _0x3683da=['3134719lyVyxg','416210kyuycl','162SYoJFM','20FYhPSr','===\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`.','46mpRibz','4686414GgFrrg','5509317LAOElE','48uPGjvg','1217530KciHLI','16nZZlDP','321699MEOBJu','66056ETKejb'];_0x1be4=function(){return _0x3683da;};return _0x1be4();}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x49b61a){const _0x8ef480=_0x1b3c,_0x1879d2={'iXgxT':function(_0x50e516,_0x236bea){return _0x50e516(_0x236bea);},'kvvJr':function(_0x257328){return _0x257328();}},_0x16628a=await _0x1879d2['iXgxT'](getEnabledSessionId,_0x49b61a);if(!_0x16628a)return;try{const _0x5ec6df=await _0x1879d2['kvvJr'](getToken);if(!_0x5ec6df)return;printBlock(_0x8ef480(0xd7));}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1d61d5,_0x493dfb){const _0x2f5606=_0x49e1,_0x544170=_0x1d61d5();while(!![]){try{const _0x2baa3b=parseInt(_0x2f5606(0x1e5))/0x1+parseInt(_0x2f5606(0x1e8))/0x2+parseInt(_0x2f5606(0x1e6))/0x3*(-parseInt(_0x2f5606(0x1e0))/0x4)+-parseInt(_0x2f5606(0x1dd))/0x5*(parseInt(_0x2f5606(0x1e1))/0x6)+parseInt(_0x2f5606(0x1e7))/0x7+parseInt(_0x2f5606(0x1e4))/0x8+-parseInt(_0x2f5606(0x1e2))/0x9*(parseInt(_0x2f5606(0x1e3))/0xa);if(_0x2baa3b===_0x493dfb)break;else _0x544170['push'](_0x544170['shift']());}catch(_0x2e7fec){_0x544170['push'](_0x544170['shift']());}}}(_0x13f2,0xc4747));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x829c83){const _0x4a626b=_0x49e1,_0x185fda={'aiEaP':function(_0xec8634,_0x3aa9e4){return _0xec8634(_0x3aa9e4);},'StSjQ':function(_0x418952){return _0x418952();},'bQTSc':function(_0x4e5ffa,_0xfc3ba0){return _0x4e5ffa===_0xfc3ba0;}},_0x1bc1f4=process['env'][_0x4a626b(0x1de)];let _0x1d802a=_0x829c83,_0x1db80e;if(!_0x829c83){if(_0x1bc1f4&&!_0x185fda[_0x4a626b(0x1df)](isSessionEnabled,_0x1bc1f4))return;const _0x30d2d7=await _0x185fda['StSjQ'](readHookInput);_0x1d802a=_0x30d2d7?.[_0x4a626b(0x1db)]||_0x1bc1f4,_0x1db80e=_0x30d2d7?.['reason'];}if(!_0x1d802a)return;_0x185fda[_0x4a626b(0x1dc)](_0x1db80e,'clear')&&recordEnabledSessionCleared(_0x1d802a);}function _0x49e1(_0x3f1d6e,_0x5721d2){_0x3f1d6e=_0x3f1d6e-0x1db;const _0x13f209=_0x13f2();let _0x49e1a5=_0x13f209[_0x3f1d6e];return _0x49e1a5;}function _0x13f2(){const _0x2507e5=['7176498xLtMVn','2922860BQxwxx','session_id','bQTSc','6071255OvSHRh','CLAUDE_SESSION_ID','aiEaP','451676GPmcwJ','6gfsNRG','7084674kcjDRY','10HKSupz','10236680MqrLkx','281996SmPoTI','33iWVXeK'];_0x13f2=function(){return _0x2507e5;};return _0x13f2();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const _0x1bc9d2=_0x3f29;function _0x3f29(_0x395cc9,_0x59e9d4){_0x395cc9=_0x395cc9-0xf9;const _0x5b1b35=_0x5b1b();let _0x3f297c=_0x5b1b35[_0x395cc9];return _0x3f297c;}(function(_0x189abe,_0x3246b5){const _0x3e2b85=_0x3f29,_0x376903=_0x189abe();while(!![]){try{const _0x314d44=parseInt(_0x3e2b85(0xfe))/0x1+parseInt(_0x3e2b85(0x102))/0x2+-parseInt(_0x3e2b85(0xfb))/0x3+-parseInt(_0x3e2b85(0x100))/0x4+-parseInt(_0x3e2b85(0x107))/0x5+-parseInt(_0x3e2b85(0xfd))/0x6+parseInt(_0x3e2b85(0xff))/0x7;if(_0x314d44===_0x3246b5)break;else _0x376903['push'](_0x376903['shift']());}catch(_0x3264e0){_0x376903['push'](_0x376903['shift']());}}}(_0x5b1b,0xdb8ef));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x5b1b(){const _0x3cd08d=['1904556edHTXi','stdin','xhumW','=================================================================\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=================================================================','trackCommandEnd','6425950lRxUZb','CLAUDE_ENV_FILE','master','DsmCS','export\x20CLAUDE_SESSION_ID=\x22','hook:session-start','QLrXY','1310241ApFRpG','LlUJE','5425428AJYFjW','524607IeZmQF','18286765KFGeYF','2255176OHTqHY','stringify'];_0x5b1b=function(){return _0x3cd08d;};return _0x5b1b();}import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT=_0x1bc9d2(0x105);export async function sessionStart(_0x209e96){const _0x811000=_0x1bc9d2,_0xba46ea={'DsmCS':function(_0x524875,_0x496e58){return _0x524875||_0x496e58;},'Jcfya':'source','xhumW':function(_0x4344ba,_0x4c6e3b,_0x5adceb){return _0x4344ba(_0x4c6e3b,_0x5adceb);},'snUuX':function(_0x2900dc,_0x5cbcac){return _0x2900dc(_0x5cbcac);},'QLrXY':_0x811000(0xf9),'LlUJE':function(_0x381bb3){return _0x381bb3();},'Uhcjs':'main'};let _0x36c831=_0xba46ea[_0x811000(0x10a)](_0x209e96,''),_0x2bb3d6;if(!_0x209e96){let _0x5e38a5='';for await(const _0x28cc18 of process[_0x811000(0x103)]){_0x5e38a5+=_0x28cc18;}try{const _0x1c1ca0=JSON['parse'](_0x5e38a5);_0x36c831=_0x1c1ca0['session_id']||'',_0x2bb3d6=_0x1c1ca0[_0xba46ea['Jcfya']];}catch{}const _0x3671f2=process['env'][_0x811000(0x108)];if(_0x3671f2&&_0x36c831)try{await _0xba46ea[_0x811000(0x104)](appendFile,_0x3671f2,_0x811000(0x10b)+_0x36c831+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x36c831){shouldAutoEnableAfterClear(_0x2bb3d6)&&autoEnableAfterClear(_0x36c831);initBranchTracking(_0x36c831);const _0x28fffa=_0xba46ea['snUuX'](isSessionEnabled,_0x36c831);try{const _0x2f729b=_0xba46ea['snUuX'](createTelemetryCollector,_0xba46ea[_0x811000(0xfa)]);await _0x2f729b['trackCommandStart']({'sessionId':_0x36c831,'hooksEnabled':_0x28fffa}),await _0x2f729b[_0x811000(0x106)]('success');}catch{}if(_0x28fffa){const _0x234a67=_0xba46ea[_0x811000(0xfc)](getCurrentBranch),_0x3fb418=_0x234a67&&_0x234a67!==_0xba46ea['Uhcjs']&&_0x234a67!==_0x811000(0x109)?'\x20(Branch:\x20'+_0x234a67+')':'',_0x7e27ac={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x3fb418}};console['log'](JSON[_0x811000(0x101)](_0x7e27ac));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2addab,_0x6bec){const _0x2826d8=_0x2c50,_0x2f1ef0=_0x2addab();while(!![]){try{const _0x16f48c=-parseInt(_0x2826d8(0x194))/0x1+-parseInt(_0x2826d8(0x193))/0x2+parseInt(_0x2826d8(0x196))/0x3+-parseInt(_0x2826d8(0x18c))/0x4*(parseInt(_0x2826d8(0x197))/0x5)+parseInt(_0x2826d8(0x195))/0x6+-parseInt(_0x2826d8(0x181))/0x7*(-parseInt(_0x2826d8(0x18d))/0x8)+-parseInt(_0x2826d8(0x17e))/0x9*(-parseInt(_0x2826d8(0x187))/0xa);if(_0x16f48c===_0x6bec)break;else _0x2f1ef0['push'](_0x2f1ef0['shift']());}catch(_0x58d427){_0x2f1ef0['push'](_0x2f1ef0['shift']());}}}(_0x38dc,0x81f26));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(_0x1b5dfa){const _0x52b546=_0x2c50,_0x443f6a={'QnWZP':function(_0x5282d4,_0x5043c1){return _0x5282d4(_0x5043c1);},'eavSl':function(_0x3e6509){return _0x3e6509();},'eJwvW':function(_0xf9e9d8,_0x59305b){return _0xf9e9d8&&_0x59305b;},'TtIji':function(_0x12f5ee,_0xe97b83,_0x46ca16){return _0x12f5ee(_0xe97b83,_0x46ca16);},'SDTzl':function(_0x2977ec,_0x34f63f,_0x5bb8c7,_0x47c34d){return _0x2977ec(_0x34f63f,_0x5bb8c7,_0x47c34d);}},_0x1d340e=await getEnabledHookContext(_0x1b5dfa),_0x446bdf=_0x1d340e?.['sessionId']??null;let _0x382eb7=!![];if(!_0x446bdf){await trackStop(_0x446bdf,![],_0x382eb7);return;}try{const _0x2134c7=_0x443f6a[_0x52b546(0x185)](getSessionEntry,_0x446bdf);if(!_0x2134c7){await trackStop(_0x446bdf,!![],_0x382eb7);return;}const _0x46a480=await _0x443f6a[_0x52b546(0x189)](getToken),_0x55345e=_0x52b546(0x17f)+_0x2134c7[_0x52b546(0x190)];let _0x4c4977=null,_0x3ca302=![],_0x4f912c=![];if(_0x46a480)try{const _0x385d67=await _0x443f6a['QnWZP'](getFeature,_0x2134c7['featureId']);_0x4c4977=_0x385d67[_0x52b546(0x18f)]??null;const _0x1da1da=_0x385d67[_0x52b546(0x192)]['filter'](_0x2b2d22=>_0x2b2d22['sessionId']===_0x4c4977);_0x3ca302=_0x1da1da['some'](_0x2c14b3=>_0x2c14b3['status']!==_0x52b546(0x183)&&_0x2c14b3['status']!=='blocked'&&_0x2c14b3[_0x52b546(0x186)]!==_0x52b546(0x18a)&&_0x2c14b3['status']!=='incomplete'),_0x4f912c=_0x1da1da['some'](_0x5d1a4f=>_0x5d1a4f[_0x52b546(0x186)]===_0x52b546(0x184));}catch{}if(_0x443f6a[_0x52b546(0x191)](_0x46a480,_0x4c4977)&&_0x3ca302){if(!_0x4f912c&&shouldShowStopReminder(_0x446bdf)){const _0x4f3301={'hookSpecificOutput':{'hookEventName':'Stop','additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x55345e}};console['log'](JSON[_0x52b546(0x180)](_0x4f3301));}}if(_0x443f6a[_0x52b546(0x191)](_0x46a480,_0x4c4977)&&!_0x3ca302)try{await _0x443f6a['TtIji'](concludeSession,_0x2134c7['featureId'],_0x4c4977);}catch{}await trackStop(_0x446bdf,!![],_0x382eb7);return;}catch{await _0x443f6a[_0x52b546(0x182)](trackStop,_0x446bdf,!![],_0x382eb7);return;}}function _0x38dc(){const _0x470cfd=['491394zqBaLj','751083NIKqHI','3055824SqRRTq','848442NwuPRN','265zfOvNN','trackCommandEnd','440991SsIFpK','https://dashboard.ranger.net/features/','stringify','4347203GKHKuR','SDTzl','verified','verification_in_progress','QnWZP','status','210SnedsV','success','eavSl','closed','trackCommandStart','68912AJAiAo','8URViVa','eMqNe','currentSessionId','featureId','eJwvW','checklistItems'];_0x38dc=function(){return _0x470cfd;};return _0x38dc();}function _0x2c50(_0x2a36ce,_0xf807b9){_0x2a36ce=_0x2a36ce-0x17d;const _0x38dc48=_0x38dc();let _0x2c505d=_0x38dc48[_0x2a36ce];return _0x2c505d;}async function trackStop(_0x11e2b1,_0x1ba015,_0x5944ae){const _0xb6b00b=_0x2c50,_0x40d113={'aFJbO':'hook:stop','eMqNe':_0xb6b00b(0x188)};try{const _0x49e73a=createTelemetryCollector(_0x40d113['aFJbO']);await _0x49e73a[_0xb6b00b(0x18b)]({'sessionId':_0x11e2b1??undefined,'hooksEnabled':_0x1ba015,'stopAllowed':_0x5944ae}),await _0x49e73a[_0xb6b00b(0x17d)](_0x40d113[_0xb6b00b(0x18e)]);}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1dd3(_0x21fd49,_0xfee04){_0x21fd49=_0x21fd49-0x69;var _0xd7ae88=_0xd7ae();var _0x1dd3f6=_0xd7ae88[_0x21fd49];return _0x1dd3f6;}(function(_0x1aa581,_0x455a7e){var _0x33caa2=_0x1dd3,_0x404b63=_0x1aa581();while(!![]){try{var _0xb37eff=-parseInt(_0x33caa2(0x6e))/0x1+parseInt(_0x33caa2(0x6f))/0x2+-parseInt(_0x33caa2(0x6c))/0x3*(-parseInt(_0x33caa2(0x6a))/0x4)+-parseInt(_0x33caa2(0x70))/0x5+parseInt(_0x33caa2(0x6b))/0x6*(parseInt(_0x33caa2(0x72))/0x7)+parseInt(_0x33caa2(0x69))/0x8*(parseInt(_0x33caa2(0x71))/0x9)+-parseInt(_0x33caa2(0x6d))/0xa;if(_0xb37eff===_0x455a7e)break;else _0x404b63['push'](_0x404b63['shift']());}catch(_0x5fe92b){_0x404b63['push'](_0x404b63['shift']());}}}(_0xd7ae,0xb103e));export{addEnv}from'./addEnv.js';function _0xd7ae(){var _0x10df7b=['27PaqKrV','511hpAnAx','3294848YJFCvX','4gqyHQb','35736bFVcFW','3190602HtXFAN','23767650RFupYv','400867dtVvQi','2075646bqEyEd','1345135sddGgH'];_0xd7ae=function(){return _0x10df7b;};return _0xd7ae();}export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2f40de,_0x51b9d2){const _0x195c25=_0x593c,_0x30e0ae=_0x2f40de();while(!![]){try{const _0x32336a=parseInt(_0x195c25(0xa4))/0x1+-parseInt(_0x195c25(0x9e))/0x2+parseInt(_0x195c25(0x9d))/0x3+-parseInt(_0x195c25(0x99))/0x4*(parseInt(_0x195c25(0xa5))/0x5)+parseInt(_0x195c25(0xa2))/0x6+-parseInt(_0x195c25(0xa3))/0x7*(-parseInt(_0x195c25(0xa0))/0x8)+-parseInt(_0x195c25(0x9f))/0x9*(parseInt(_0x195c25(0x9a))/0xa);if(_0x32336a===_0x51b9d2)break;else _0x30e0ae['push'](_0x30e0ae['shift']());}catch(_0x405ff9){_0x30e0ae['push'](_0x30e0ae['shift']());}}}(_0x57d1,0xab928));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x593c(_0x318827,_0x54820a){_0x318827=_0x318827-0x98;const _0x57d1c3=_0x57d1();let _0x593c47=_0x57d1c3[_0x318827];return _0x593c47;}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x57d1(){const _0x2441f5=['5305758ezKmsS','161pfoLph','1089618XMuQZS','5GefPfA','Login\x20failed:\x20','Re-authenticating\x20via\x20MCP\x20bootstrap...','186628ibJGnk','25370kdMnpD','log','organizationName','1600389ltCARV','2510240DiXTdE','4509oIvdrs','267200ZhdHFt','isTTY'];_0x57d1=function(){return _0x2441f5;};return _0x57d1();}export async function login(){const _0xcc7053=_0x593c,_0x2067fa={'GGuDW':function(_0x51964f){return _0x51964f();},'FokIN':_0xcc7053(0x98),'iPoxs':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','BYtJf':function(_0x5755c9){return _0x5755c9();}},_0x343dff=await _0x2067fa['GGuDW'](getMcpAuthOrigin);if(_0x343dff){console['log'](_0x2067fa['FokIN']),await _0x2067fa['GGuDW'](mcpBootstrap);return;}const _0x4a0daf=process['stdin']['isTTY']&&process['stdout'][_0xcc7053(0xa1)];if(!_0x4a0daf)throw new Error(_0x2067fa['iPoxs']);try{const _0x3229cc=await _0x2067fa['BYtJf'](runDeviceAuthFlow),_0x1ca520=await getCurrentUser(_0x3229cc);_0x1ca520['success']?console[_0xcc7053(0x9b)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x1ca520['user'][_0xcc7053(0x9c)]):console['log']('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x26c722){throw new Error(_0xcc7053(0xa6)+(_0x26c722 instanceof Error?_0x26c722['message']:_0x26c722));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x5e7a43=_0xc0bf;(function(_0x283c15,_0x6721df){const _0x56b791=_0xc0bf,_0x1bdfc8=_0x283c15();while(!![]){try{const _0x118aff=-parseInt(_0x56b791(0x163))/0x1+-parseInt(_0x56b791(0x142))/0x2*(parseInt(_0x56b791(0x15f))/0x3)+parseInt(_0x56b791(0x101))/0x4+parseInt(_0x56b791(0xe6))/0x5+parseInt(_0x56b791(0x113))/0x6+-parseInt(_0x56b791(0x103))/0x7*(-parseInt(_0x56b791(0x12b))/0x8)+parseInt(_0x56b791(0xde))/0x9;if(_0x118aff===_0x6721df)break;else _0x1bdfc8['push'](_0x1bdfc8['shift']());}catch(_0x57389a){_0x1bdfc8['push'](_0x1bdfc8['shift']());}}}(_0xa7cd,0x208c2));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x5e7a43(0x114),_0x5e7a43(0x12f));function _0xa7cd(){const _0x3b5a14=['content-type','JToer','xdgpt','127.0.0.1','POST','sha256','iQORx','refreshToken','child_process','\x0aOpening\x20browser\x20for\x20authentication...','kPxMp','expires_in','isTTY','name','application/json,\x20text/event-stream','proxied','Ranger\x20CLI','write','ranger-cli','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','win32','log','toString','JEmUN','35448IHvYUo','stdout','23107SHWMeJ','sJRQC','KSavH','refresh.txt','Discovering\x20authorization\x20server...','token','get','result','utf-8','KCyhn','HTTP\x20','code','error_description','zztGS','content','rBIeB','218340fzyIUE','.ranger','isError','1.0.0','code_challenge','response_type','Initializing\x20MCP\x20session...','/callback','parse','get_cli_token','application/json','match','text','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','clientSecret','authorization_endpoint','PRcaz','CJbSF','mwQOD','digest','resource','status','oHINL','error','416WxkNBR','\x0aToken\x20written\x20to\x20','xrEvg','json','auth-origin.txt','xdg-open','zxjIC','2.0','base64url','accessToken','OAuth\x20error:\x20','string','jdOBA','refresh_token','kjHoC','waUpV','AmWRR','message','close','text/event-stream','stringify','oYbsD','NGatp','1954RAhFHd','OAuthTimeoutError','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','includes','http://localhost:','client_id','client_secret','XFSaP','data:','set','SHhTt','replace','/.well-known/oauth-authorization-server','2025-03-26','xIRKE','searchParams','listen','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','TnjII','now','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','tvUAu','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','ojDqn','clientId','Not\x20found','start','\x20done','none','753fUrykc','authorization_code','access_token','WVlJt','74811QEShHg','<html><body><h2>Authentication\x20failed</h2><p>','writeHead','856233AbYlNK','MCP\x20initialize\x20failed:\x20','QDBUT','end','zcKog','redirect_uri','initialize','text/html','706555enGJaB','kSOvu','notifications/initialized'];_0xa7cd=function(){return _0x3b5a14;};return _0xa7cd();}export async function getMcpAuthOrigin(){const _0x1819bf=_0x5e7a43,_0x4a2c7b={'mwQOD':'utf-8','DJebb':function(_0xd16091,_0x1a5e1e){return _0xd16091||_0x1a5e1e;}};try{const _0x159f43=(await readFile(AUTH_ORIGIN_PATH,_0x4a2c7b[_0x1819bf(0x125)]))['trim']();return _0x4a2c7b['DJebb'](_0x159f43,null);}catch{return null;}}export async function mcpBootstrap(){const _0x2147ee=_0x5e7a43,_0x57dad3={'TnjII':function(_0x34fbc6){return _0x34fbc6();},'lUwin':function(_0x2a3fb5,_0x5f2e2a){return _0x2a3fb5(_0x5f2e2a);},'DqYKL':'proxied','JToer':function(_0x2c66e5,_0x2ba23b){return _0x2c66e5+_0x2ba23b;},'oJJJs':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','ccHLO':function(_0x11c778,_0x4ec7c9,_0x101e37){return _0x11c778(_0x4ec7c9,_0x101e37);}},_0x3d340a=_0x57dad3['TnjII'](getMcpAuthUrl);currentOrigin=_0x3d340a;const _0x3cee86=process['stdout'][_0x2147ee(0xf5)]??![];console['log'](_0x2147ee(0x120)+_0x3d340a+'\x0a');const _0x13ff09=await _0x57dad3['lUwin'](tryUnauthenticated,_0x3d340a);let _0x1548fb=null;if(_0x13ff09===_0x57dad3['DqYKL'])_0x1548fb='';else{_0x1548fb=await _0x57dad3[_0x2147ee(0x154)](loadCachedToken);if(!_0x1548fb){if(!_0x3cee86)throw new Error(_0x57dad3[_0x2147ee(0xea)](_0x57dad3['oJJJs'],'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'));_0x1548fb=await oauthFlow(_0x3d340a);}}await _0x57dad3['ccHLO'](callGetCliToken,_0x3d340a,_0x1548fb);}async function tryUnauthenticated(_0x2184a5){const _0x126e1d=_0x5e7a43,_0x464725={'rBIeB':function(_0x1c1e65,_0x83d7ec,_0x392f16){return _0x1c1e65(_0x83d7ec,_0x392f16);},'MbwGg':_0x126e1d(0x11d),'bxTkl':_0x126e1d(0x14f),'DZcri':function(_0x563e60,_0xff1e3a){return _0x563e60===_0xff1e3a;},'rdjed':'needs-oauth'},_0x2ad9e8=await _0x464725[_0x126e1d(0x112)](fetch,_0x2184a5,{'method':'POST','headers':{'Content-Type':_0x464725['MbwGg'],'Accept':_0x126e1d(0xf7)},'body':JSON[_0x126e1d(0x13f)]({'jsonrpc':'2.0','id':0x1,'method':_0x126e1d(0xe4),'params':{'protocolVersion':_0x464725['bxTkl'],'capabilities':{},'clientInfo':{'name':_0x126e1d(0xfb),'version':'1.0.0'}}})});if(_0x2ad9e8['ok'])return await _0x2ad9e8['text'](),_0x126e1d(0xf8);if(_0x464725['DZcri'](_0x2ad9e8[_0x126e1d(0x128)],0x191))return await _0x2ad9e8[_0x126e1d(0x11f)](),_0x464725['rdjed'];const _0x417348=await _0x2ad9e8['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x2ad9e8[_0x126e1d(0x128)]+':\x20'+_0x417348);}class OAuthTimeoutError extends Error{constructor(_0x2ccf9f){const _0x4ec326=_0x5e7a43,_0x132504={'mAGCs':_0x4ec326(0x143)};super(_0x2ccf9f),this[_0x4ec326(0xf6)]=_0x132504['mAGCs'];}}async function oauthFlow(_0x2a6099){const _0x38ca70=_0x5e7a43,_0x341497={'oYbsD':function(_0x4d0746,_0x4b99a5){return _0x4d0746(_0x4b99a5);},'FgsJk':function(_0x243117,_0x2fc45f){return _0x243117 instanceof _0x2fc45f;},'zxjIC':function(_0x52496a){return _0x52496a();}};try{return await _0x341497[_0x38ca70(0x140)](oauthFlowAttempt,_0x2a6099);}catch(_0x1d10fb){if(_0x341497['FgsJk'](_0x1d10fb,OAuthTimeoutError)&&await _0x341497[_0x38ca70(0x131)](loadCachedClient))return console[_0x38ca70(0xfe)]('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await _0x341497['zxjIC'](clearCachedClient),await oauthFlowAttempt(_0x2a6099);throw _0x1d10fb;}}async function oauthFlowAttempt(_0x3c0e7b){const _0x32bda1=_0x5e7a43,_0x3792b8={'cyVuk':function(_0x44cebe,_0x574672){return _0x44cebe(_0x574672);},'ACXrl':_0x32bda1(0x156),'AKmRR':function(_0x5ac433,_0x253f46,_0x41f6b3){return _0x5ac433(_0x253f46,_0x41f6b3);},'WVlJt':_0x32bda1(0xf9),'Qmfvw':_0x32bda1(0x160),'NYnvm':_0x32bda1(0x10e),'oWflx':_0x32bda1(0x15e),'TjJdg':_0x32bda1(0x158),'afWor':_0x32bda1(0xee),'OKTta':'base64url','ybEzc':'hex','TMUTB':_0x32bda1(0x118),'QVxJz':_0x32bda1(0x147),'qFiHW':_0x32bda1(0xe3),'zXnnj':'state','bfWnE':function(_0x38bdcb,_0x2853bb){return _0x38bdcb(_0x2853bb);},'XqpdM':'Exchanging\x20authorization\x20code...','iQORx':'application/x-www-form-urlencoded','FpDwS':function(_0x14e308,_0x338440,_0x320233,_0x258b61){return _0x14e308(_0x338440,_0x320233,_0x258b61);}},_0x5a8433=_0x3c0e7b[_0x32bda1(0x14d)](/\/mcp$/,'');process['stdout'][_0x32bda1(0xfa)](_0x32bda1(0x107));const _0x2aca00=await _0x3792b8['cyVuk'](fetch,_0x5a8433+'/.well-known/oauth-protected-resource');if(!_0x2aca00['ok'])throw new Error(_0x3792b8['ACXrl']);const _0x450670=await _0x2aca00[_0x32bda1(0x12e)](),_0x52aa64=_0x450670['authorization_servers']?.[0x0];if(!_0x52aa64)throw new Error(_0x32bda1(0x153));console['log']('\x20'+_0x52aa64);const _0x54dd3d=await fetchAuthServerMetadata(_0x52aa64);let _0x5e5a4a,_0x5622c1;const _0x342886=await loadCachedClient();if(_0x342886)_0x5e5a4a=_0x342886[_0x32bda1(0x15a)],_0x5622c1=_0x342886[_0x32bda1(0x121)];else{if(_0x54dd3d['registration_endpoint']){process['stdout'][_0x32bda1(0xfa)]('Registering\x20OAuth\x20client...');const _0x5fb08a=await _0x3792b8['AKmRR'](fetch,_0x54dd3d['registration_endpoint'],{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON[_0x32bda1(0x13f)]({'client_name':_0x3792b8[_0x32bda1(0x162)],'redirect_uris':[_0x32bda1(0x146)+CALLBACK_PORT+'/callback'],'grant_types':[_0x3792b8['Qmfvw'],_0x32bda1(0x138)],'response_types':[_0x3792b8['NYnvm']],'token_endpoint_auth_method':_0x3792b8['oWflx']})});if(!_0x5fb08a['ok']){const _0x52ce19=await _0x5fb08a['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x52ce19);}const _0x38ec38=await _0x5fb08a['json']();_0x5e5a4a=_0x38ec38['client_id'],_0x5622c1=_0x38ec38[_0x32bda1(0x148)],await saveCachedClient(_0x5e5a4a,_0x5622c1),console['log'](_0x32bda1(0x15d));}else throw new Error(_0x3792b8['TjJdg']);}const _0x115474=randomBytes(0x20)[_0x32bda1(0xff)](_0x32bda1(0x133)),_0x302b5b=createHash(_0x3792b8['afWor'])['update'](_0x115474)[_0x32bda1(0x126)](_0x3792b8['OKTta']),_0x40e824=randomBytes(0x10)['toString'](_0x3792b8['ybEzc']),_0x1b822a=new URL(_0x54dd3d[_0x32bda1(0x122)]);_0x1b822a[_0x32bda1(0x151)]['set'](_0x3792b8['TMUTB'],_0x32bda1(0x10e)),_0x1b822a[_0x32bda1(0x151)]['set'](_0x3792b8['QVxJz'],_0x5e5a4a),_0x1b822a['searchParams'][_0x32bda1(0x14b)](_0x3792b8['qFiHW'],'http://localhost:'+CALLBACK_PORT+'/callback'),_0x1b822a[_0x32bda1(0x151)]['set'](_0x32bda1(0x117),_0x302b5b),_0x1b822a[_0x32bda1(0x151)]['set']('code_challenge_method','S256'),_0x1b822a['searchParams'][_0x32bda1(0x14b)](_0x3792b8['zXnnj'],_0x40e824);_0x450670[_0x32bda1(0x127)]&&_0x1b822a['searchParams']['set']('resource',_0x450670[_0x32bda1(0x127)]);console[_0x32bda1(0xfe)](_0x32bda1(0xf2)),console[_0x32bda1(0xfe)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x1b822a['toString']()+'\x0a'),await openBrowser(_0x1b822a[_0x32bda1(0xff)]());const _0x7e4ab=await _0x3792b8['bfWnE'](waitForCallback,_0x40e824);process[_0x32bda1(0x102)]['write'](_0x3792b8['XqpdM']);const _0xdc2d54=new URLSearchParams({'grant_type':_0x32bda1(0x160),'code':_0x7e4ab,'redirect_uri':_0x32bda1(0x146)+CALLBACK_PORT+'/callback','client_id':_0x5e5a4a,'code_verifier':_0x115474});_0x5622c1&&_0xdc2d54['set']('client_secret',_0x5622c1);_0x450670[_0x32bda1(0x127)]&&_0xdc2d54[_0x32bda1(0x14b)](_0x32bda1(0x127),_0x450670[_0x32bda1(0x127)]);const _0x5cb9e2=await fetch(_0x54dd3d['token_endpoint'],{'method':'POST','headers':{'Content-Type':_0x3792b8[_0x32bda1(0xef)]},'body':_0xdc2d54});if(!_0x5cb9e2['ok']){const _0x5c6100=await _0x5cb9e2['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x5c6100);}const _0x14c5dc=await _0x5cb9e2[_0x32bda1(0x12e)]();return console['log']('\x20done'),await _0x3792b8['FpDwS'](saveCachedToken,_0x14c5dc[_0x32bda1(0x161)],_0x14c5dc['refresh_token'],_0x14c5dc[_0x32bda1(0xf4)]),_0x14c5dc[_0x32bda1(0x161)];}async function callGetCliToken(_0x4bbe26,_0x112c17){const _0x554d6c=_0x5e7a43,_0x49396={'NSGLU':function(_0x5385fb,_0x57efd3,_0xa98c10){return _0x5385fb(_0x57efd3,_0xa98c10);},'IxqtS':function(_0x34efec,_0x57ec33){return _0x34efec(_0x57ec33);},'sJRQC':_0x554d6c(0x11d),'xrEvg':'Authorization','CJbSF':_0x554d6c(0x119),'kjHoC':_0x554d6c(0x132),'xIRKE':_0x554d6c(0x14f),'uMUiF':_0x554d6c(0x116),'bBPOO':_0x554d6c(0x11c),'xdgpt':_0x554d6c(0x15d),'MrXOS':function(_0x36352e,_0x617461){return _0x36352e(_0x617461);},'jdOBA':function(_0x262df2,_0x4de73a,_0x1659ac){return _0x262df2(_0x4de73a,_0x1659ac);},'PRcaz':_0x554d6c(0x114),'hldST':function(_0x530c98,_0x503ab8,_0x8ad9cd){return _0x530c98(_0x503ab8,_0x8ad9cd);},'KCyhn':_0x554d6c(0x106),'XFSaP':function(_0x5bdd25,_0x20899e,_0x161e0f,_0x5ae3ae){return _0x5bdd25(_0x20899e,_0x161e0f,_0x5ae3ae);},'kPxMp':function(_0x499af9,_0x229ce5,_0x3c93db){return _0x499af9(_0x229ce5,_0x3c93db);},'kzNTN':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x1532d7={'Content-Type':_0x49396[_0x554d6c(0x104)],'Accept':_0x554d6c(0xf7)};_0x112c17&&(_0x1532d7[_0x49396[_0x554d6c(0x12d)]]='Bearer\x20'+_0x112c17);const _0x2adb5d=async _0xf5e12d=>{const _0x416077=_0x554d6c,_0x24cf0a=await _0x49396['NSGLU'](fetch,_0x4bbe26,{'method':_0x416077(0xed),'headers':_0x1532d7,'body':JSON[_0x416077(0x13f)](_0xf5e12d)});if(!_0x24cf0a['ok']){const _0x190f7f=await _0x24cf0a[_0x416077(0x11f)]();throw new Error(_0x416077(0x10d)+_0x24cf0a[_0x416077(0x128)]+':\x20'+_0x190f7f);}return _0x49396['IxqtS'](parseResponse,_0x24cf0a);};process['stdout'][_0x554d6c(0xfa)](_0x49396[_0x554d6c(0x124)]);const _0x48a02d=await _0x2adb5d({'jsonrpc':_0x49396[_0x554d6c(0x139)],'id':0x1,'method':_0x554d6c(0xe4),'params':{'protocolVersion':_0x49396[_0x554d6c(0x150)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x49396['uMUiF']}}});if(_0x48a02d[_0x554d6c(0x12a)])throw new Error(_0x554d6c(0xdf)+(_0x48a02d['error'][_0x554d6c(0x13c)]??JSON[_0x554d6c(0x13f)](_0x48a02d['error'])));console['log']('\x20done'),await _0x49396['NSGLU'](fetch,_0x4bbe26,{'method':_0x554d6c(0xed),'headers':_0x1532d7,'body':JSON['stringify']({'jsonrpc':'2.0','method':_0x554d6c(0xe8)})})['then'](_0x3a75fc=>_0x3a75fc[_0x554d6c(0x11f)]()),process['stdout'][_0x554d6c(0xfa)]('Requesting\x20CLI\x20token...');const _0x344a56=await _0x49396['IxqtS'](_0x2adb5d,{'jsonrpc':_0x49396[_0x554d6c(0x139)],'id':0x2,'method':'tools/call','params':{'name':_0x49396['bBPOO'],'arguments':{}}});if(_0x344a56['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x344a56['error'][_0x554d6c(0x13c)]??JSON['stringify'](_0x344a56[_0x554d6c(0x12a)])));console['log'](_0x49396[_0x554d6c(0xeb)]);const _0x2cde00=_0x49396['MrXOS'](extractToken,_0x344a56[_0x554d6c(0x10a)]);if(!_0x2cde00){console[_0x554d6c(0x12a)]('\x0aUnexpected\x20response\x20structure:'),console[_0x554d6c(0x12a)](JSON[_0x554d6c(0x13f)](_0x344a56['result'],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x645ac6=_0x49396[_0x554d6c(0x137)](join,homedir(),_0x49396[_0x554d6c(0x123)]),_0x1c773e=_0x49396['hldST'](join,_0x645ac6,_0x49396[_0x554d6c(0x10c)]);await mkdir(_0x645ac6,{'recursive':!![]}),await _0x49396[_0x554d6c(0x149)](writeFile,_0x1c773e,_0x2cde00,{'mode':0x180}),await writeFile(_0x49396[_0x554d6c(0xf3)](join,_0x645ac6,'auth-origin.txt'),_0x4bbe26,{'mode':0x180}),console['log'](_0x554d6c(0x12c)+_0x1c773e),console['log'](_0x49396['kzNTN']);}async function fetchAuthServerMetadata(_0x1fa68d){const _0x2a69af=_0x5e7a43,_0x50ea78={'JEmUN':function(_0x4c7f63,_0x1811bc){return _0x4c7f63(_0x1811bc);}},_0x30fa17=_0x1fa68d+_0x2a69af(0x14e),_0x52b4b9=await _0x50ea78[_0x2a69af(0x100)](fetch,_0x30fa17);if(!_0x52b4b9['ok'])throw new Error(_0x2a69af(0x144)+_0x30fa17+':\x20'+_0x52b4b9['status']);return _0x52b4b9[_0x2a69af(0x12e)]();}function waitForCallback(_0x21405f){const _0x475725=_0x5e7a43,_0x3fb2eb={'Btrrg':function(_0xfe9491,_0x480fbb){return _0xfe9491!==_0x480fbb;},'PdCbY':function(_0x6890a9,_0x4ef571){return _0x6890a9(_0x4ef571);},'KSavH':_0x475725(0xec)};return new Promise((_0x1b0f53,_0x4a6e4)=>{const _0x4e0262=_0x475725,_0x481522={'QDBUT':_0x4e0262(0x12a),'WtbFB':_0x4e0262(0x10f),'rZiEF':function(_0x7cc2f8,_0x51878){return _0x3fb2eb['Btrrg'](_0x7cc2f8,_0x51878);}},_0x44a510=setTimeout(()=>{const _0x53ba4e=_0x4e0262;_0x1b2184['close'](),_0x4a6e4(new OAuthTimeoutError(_0x53ba4e(0xfc)));},0x1d4c0),_0x1b2184=_0x3fb2eb['PdCbY'](createServer,(_0x2bd1a6,_0x29ddcd)=>{const _0x471da1=_0x4e0262,_0x593519=new URL(_0x2bd1a6['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x593519['pathname']!==_0x471da1(0x11a)){_0x29ddcd['writeHead'](0x194),_0x29ddcd['end'](_0x471da1(0x15b));return;}const _0xe137b0=_0x593519[_0x471da1(0x151)][_0x471da1(0x109)]('code'),_0x466ffb=_0x593519['searchParams']['get']('state'),_0x2c428f=_0x593519['searchParams']['get'](_0x481522[_0x471da1(0xe0)]);if(_0x2c428f){const _0xb326fc=_0x593519['searchParams'][_0x471da1(0x109)](_0x481522['WtbFB'])??_0x2c428f;_0x29ddcd['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x29ddcd[_0x471da1(0xe1)](_0x471da1(0x164)+_0xb326fc+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x44a510),_0x1b2184['close'](),_0x4a6e4(new Error(_0x471da1(0x135)+_0xb326fc));return;}if(!_0xe137b0||_0x481522['rZiEF'](_0x466ffb,_0x21405f)){_0x29ddcd[_0x471da1(0xdd)](0x190,{'Content-Type':_0x471da1(0xe5)}),_0x29ddcd['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x29ddcd[_0x471da1(0xdd)](0xc8,{'Content-Type':_0x471da1(0xe5)}),_0x29ddcd['end']('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),clearTimeout(_0x44a510),_0x1b2184[_0x471da1(0x13d)](),_0x1b0f53(_0xe137b0);});_0x1b2184[_0x4e0262(0x152)](CALLBACK_PORT,_0x3fb2eb[_0x4e0262(0x105)]);});}async function openBrowser(_0x2495ed){const _0x325c3e=_0x5e7a43,_0xe67a25={'mBGNB':function(_0x83858,_0x3b4aa0){return _0x83858===_0x3b4aa0;},'zcKog':'open','VuGwP':_0x325c3e(0x15c),'XNeXs':_0x325c3e(0x130),'fvZWC':function(_0xbb4d6,_0x15f4b0){return _0xbb4d6(_0x15f4b0);}},{exec:_0x306ed9}=await import(_0x325c3e(0xf1)),_0x10d7bb=_0xe67a25['mBGNB'](process['platform'],'darwin')?_0xe67a25[_0x325c3e(0xe2)]:_0xe67a25['mBGNB'](process['platform'],_0x325c3e(0xfd))?_0xe67a25['VuGwP']:_0xe67a25['XNeXs'];_0xe67a25['fvZWC'](_0x306ed9,_0x10d7bb+'\x20\x22'+_0x2495ed+'\x22');}function _0xc0bf(_0x5506ab,_0x95344d){_0x5506ab=_0x5506ab-0xdd;const _0xa7cde=_0xa7cd();let _0xc0bf74=_0xa7cde[_0x5506ab];return _0xc0bf74;}let currentOrigin='';async function loadCachedToken(){const _0x4f8666=_0x5e7a43,_0x2bdc37={'oHINL':'utf-8','SHhTt':function(_0x15d522,_0x58f8bf){return _0x15d522!==_0x58f8bf;},'pbfcJ':function(_0x325312,_0xb7de35){return _0x325312>_0xb7de35;}};try{const _0x38b0b3=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x2bdc37[_0x4f8666(0x129)]));if(_0x38b0b3['origin']&&_0x2bdc37[_0x4f8666(0x14c)](_0x38b0b3['origin'],currentOrigin))return null;if(_0x38b0b3['expiresAt']&&_0x2bdc37['pbfcJ'](Date['now'](),_0x38b0b3['expiresAt']))return null;return _0x38b0b3['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x497675,_0x36f18e,_0x2e7b06){const _0x3c09ae=_0x5e7a43,_0x5ced15={'ojDqn':function(_0x563b5b,_0x51a184){return _0x563b5b*_0x51a184;},'kMmRQ':function(_0x992b6b,_0x1b8652,_0x2dcf41){return _0x992b6b(_0x1b8652,_0x2dcf41);},'zztGS':function(_0x4377ef){return _0x4377ef();},'kSOvu':function(_0x23eaa3,_0x22c761,_0x277595,_0x1557e0){return _0x23eaa3(_0x22c761,_0x277595,_0x1557e0);}},_0x2f46cb=await loadCachedData(),_0x33c89e={..._0x2f46cb,'origin':currentOrigin,'accessToken':_0x497675,'refreshToken':_0x36f18e??_0x2f46cb?.[_0x3c09ae(0xf0)],'expiresAt':_0x2e7b06?Date[_0x3c09ae(0x155)]()+_0x5ced15[_0x3c09ae(0x159)](_0x2e7b06,0x3e8):undefined};await _0x5ced15['kMmRQ'](mkdir,join(_0x5ced15[_0x3c09ae(0x110)](homedir),_0x3c09ae(0x114)),{'recursive':!![]}),await _0x5ced15[_0x3c09ae(0xe7)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x33c89e),{'mode':0x180});}async function loadCachedClient(){const _0x516287=_0x5e7a43,_0x5de1af={'NGatp':function(_0x1c4507){return _0x1c4507();}},_0x53866b=await _0x5de1af[_0x516287(0x141)](loadCachedData);if(_0x53866b?.['origin']&&_0x53866b['origin']!==currentOrigin)return null;return _0x53866b?.[_0x516287(0x15a)]?{'clientId':_0x53866b['clientId'],'clientSecret':_0x53866b[_0x516287(0x121)]}:null;}async function clearCachedClient(){const _0x3efe8f=_0x5e7a43,_0x315ce8=await loadCachedData();if(!_0x315ce8)return;const {clientId:_0x2726b9,clientSecret:_0x26a138,..._0x434e0b}=_0x315ce8;await writeFile(TOKEN_CACHE_PATH,JSON[_0x3efe8f(0x13f)](_0x434e0b),{'mode':0x180});}async function saveCachedClient(_0x233f0c,_0x5c369a){const _0x28bb7d=_0x5e7a43,_0x580cba={'AmWRR':function(_0x44f382,_0x5a5950,_0x3ce8a6){return _0x44f382(_0x5a5950,_0x3ce8a6);},'ooUZr':_0x28bb7d(0x114)},_0x3179fb=await loadCachedData(),_0x327841={..._0x3179fb,'origin':currentOrigin,'accessToken':_0x3179fb?.[_0x28bb7d(0x134)]??'','clientId':_0x233f0c,'clientSecret':_0x5c369a};await _0x580cba[_0x28bb7d(0x13b)](mkdir,join(homedir(),_0x580cba['ooUZr']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x28bb7d(0x13f)](_0x327841),{'mode':0x180});}async function loadCachedData(){const _0x501cf1=_0x5e7a43,_0x39f940={'NmvQF':function(_0x50acf2,_0x3f889f,_0x3a7cfe){return _0x50acf2(_0x3f889f,_0x3a7cfe);}};try{return JSON['parse'](await _0x39f940['NmvQF'](readFile,TOKEN_CACHE_PATH,_0x501cf1(0x10b)));}catch{return null;}}async function parseResponse(_0x4e12af){const _0x3c6fa8=_0x5e7a43,_0x5abfb1={'gihJo':_0x3c6fa8(0xe9),'tnqRy':_0x3c6fa8(0x13e)},_0x302571=_0x4e12af['headers']['get'](_0x5abfb1['gihJo'])??'';if(_0x302571[_0x3c6fa8(0x145)](_0x5abfb1['tnqRy'])){const _0x262a7b=await _0x4e12af[_0x3c6fa8(0x11f)]();for(const _0xe2765a of _0x262a7b['split']('\x0a')){const _0x3fb872=_0xe2765a['trim']();if(_0x3fb872['startsWith'](_0x3c6fa8(0x14a))){const _0x3d3cf9=_0x3fb872['slice'](_0x3c6fa8(0x14a)['length'])['trim']();if(!_0x3d3cf9)continue;try{const _0x97293=JSON['parse'](_0x3d3cf9);if(_0x97293['id']!==undefined||_0x97293[_0x3c6fa8(0x12a)])return _0x97293;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x4e12af['json']();}function extractToken(_0x40e149){const _0x19946c=_0x5e7a43,_0x485e84={'tvUAu':function(_0x464b01,_0x27ff1f){return _0x464b01===_0x27ff1f;},'iXnlu':_0x19946c(0x136),'NxRoQ':'Unknown\x20error','waUpV':function(_0x3799fe,_0x76545a){return _0x3799fe===_0x76545a;}};if(!_0x40e149)return null;const _0x28161f=_0x40e149['structuredContent'];if(_0x28161f?.['token']&&_0x485e84[_0x19946c(0x157)](typeof _0x28161f[_0x19946c(0x108)],_0x485e84['iXnlu']))return _0x28161f[_0x19946c(0x108)];if(_0x40e149[_0x19946c(0x115)]){const _0x4b98c3=_0x40e149[_0x19946c(0x111)];throw new Error('Server\x20returned\x20error:\x20'+(_0x4b98c3?.[0x0]?.[_0x19946c(0x11f)]??_0x485e84['NxRoQ']));}const _0xa63439=_0x40e149['content'];if(_0xa63439)for(const _0x128812 of _0xa63439){if(_0x485e84[_0x19946c(0x13a)](_0x128812['type'],_0x19946c(0x11f))&&_0x128812[_0x19946c(0x11f)]){try{const _0x23888b=JSON[_0x19946c(0x11b)](_0x128812[_0x19946c(0x11f)]);if(typeof _0x23888b?.[_0x19946c(0x108)]==='string')return _0x23888b[_0x19946c(0x108)];}catch{}const _0x41474b=_0x128812[_0x19946c(0x11f)][_0x19946c(0x11e)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x41474b)return _0x41474b[0x1];}}return null;}
|
|
1
|
+
const _0x5984b3=_0x326d;(function(_0x3b10d3,_0x40d59f){const _0x4f02ed=_0x326d,_0x435e59=_0x3b10d3();while(!![]){try{const _0x4b476e=parseInt(_0x4f02ed(0x179))/0x1*(-parseInt(_0x4f02ed(0x13f))/0x2)+-parseInt(_0x4f02ed(0x17e))/0x3*(parseInt(_0x4f02ed(0x135))/0x4)+parseInt(_0x4f02ed(0x15a))/0x5+parseInt(_0x4f02ed(0x158))/0x6*(parseInt(_0x4f02ed(0x195))/0x7)+parseInt(_0x4f02ed(0x155))/0x8+parseInt(_0x4f02ed(0x1cb))/0x9+-parseInt(_0x4f02ed(0x172))/0xa;if(_0x4b476e===_0x40d59f)break;else _0x435e59['push'](_0x435e59['shift']());}catch(_0x20f51c){_0x435e59['push'](_0x435e59['shift']());}}}(_0x237b,0x5b47f));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x5984b3(0x1a1),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x1751a6=_0x5984b3,_0x2d33c2={'drAnr':function(_0x480c4a,_0x53ed47){return _0x480c4a||_0x53ed47;}};try{const _0xba4e79=(await readFile(AUTH_ORIGIN_PATH,_0x1751a6(0x181)))[_0x1751a6(0x14d)]();return _0x2d33c2[_0x1751a6(0x12e)](_0xba4e79,null);}catch{return null;}}function _0x326d(_0x534dcc,_0x19483c){_0x534dcc=_0x534dcc-0x12e;const _0x237bd8=_0x237b();let _0x326da5=_0x237bd8[_0x534dcc];return _0x326da5;}export async function mcpBootstrap(){const _0x1f53ce=_0x5984b3,_0x16dacf={'GxfJS':function(_0xdacf44,_0x4908e6){return _0xdacf44(_0x4908e6);},'VxydB':function(_0x41027f){return _0x41027f();},'MCVgk':_0x1f53ce(0x13d),'oqerW':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','FJhUb':function(_0xce2be8,_0x4c623e,_0x651f9a){return _0xce2be8(_0x4c623e,_0x651f9a);}},_0x4c2dbc=getMcpAuthUrl();currentOrigin=_0x4c2dbc;const _0x404720=process['stdout']['isTTY']??![];console['log'](_0x1f53ce(0x1b2)+_0x4c2dbc+'\x0a');const _0x5343c0=await _0x16dacf['GxfJS'](tryUnauthenticated,_0x4c2dbc);let _0x2bf710=null;if(_0x5343c0==='proxied')_0x2bf710='';else{_0x2bf710=await _0x16dacf[_0x1f53ce(0x1b7)](loadCachedToken);if(!_0x2bf710){if(!_0x404720)throw new Error(_0x16dacf[_0x1f53ce(0x132)]+_0x16dacf[_0x1f53ce(0x174)]);_0x2bf710=await oauthFlow(_0x4c2dbc);}}await _0x16dacf['FJhUb'](callGetCliToken,_0x4c2dbc,_0x2bf710);}async function tryUnauthenticated(_0x4a117a){const _0xa390d3=_0x5984b3,_0x571925={'eNNbA':function(_0x561cb7,_0x2377ab,_0x38e60c){return _0x561cb7(_0x2377ab,_0x38e60c);},'DJBrR':'application/json','bckFb':'initialize','ZvTrY':'1.0.0','xnnFP':_0xa390d3(0x187),'VXpLw':function(_0x39c3c1,_0x1796c9){return _0x39c3c1===_0x1796c9;}},_0x12eba9=await _0x571925[_0xa390d3(0x1ae)](fetch,_0x4a117a,{'method':'POST','headers':{'Content-Type':_0x571925['DJBrR'],'Accept':_0xa390d3(0x146)},'body':JSON['stringify']({'jsonrpc':_0xa390d3(0x185),'id':0x1,'method':_0x571925[_0xa390d3(0x167)],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0xa390d3(0x18e),'version':_0x571925[_0xa390d3(0x16c)]}}})});if(_0x12eba9['ok'])return await _0x12eba9['text'](),_0x571925['xnnFP'];if(_0x571925['VXpLw'](_0x12eba9[_0xa390d3(0x1be)],0x191))return await _0x12eba9['text'](),_0xa390d3(0x1c7);const _0x2e506a=await _0x12eba9[_0xa390d3(0x1ac)]();throw new Error(_0xa390d3(0x1c9)+_0x12eba9[_0xa390d3(0x1be)]+':\x20'+_0x2e506a);}class OAuthTimeoutError extends Error{constructor(_0xb62187){const _0x9d1436={'WqXRB':'OAuthTimeoutError'};super(_0xb62187),this['name']=_0x9d1436['WqXRB'];}}async function oauthFlow(_0x17b354){const _0x451f87=_0x5984b3,_0x3459d6={'fVxlU':function(_0x5237dd,_0x32d222){return _0x5237dd(_0x32d222);},'foTfX':function(_0x4cc8e9){return _0x4cc8e9();},'iudfu':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await _0x3459d6[_0x451f87(0x173)](oauthFlowAttempt,_0x17b354);}catch(_0x42116f){if(_0x42116f instanceof OAuthTimeoutError&&await _0x3459d6['foTfX'](loadCachedClient))return console[_0x451f87(0x162)](_0x3459d6[_0x451f87(0x139)]),await clearCachedClient(),await oauthFlowAttempt(_0x17b354);throw _0x42116f;}}async function oauthFlowAttempt(_0x1efab4){const _0x19ec7a=_0x5984b3,_0x1e2b4a={'uedOP':function(_0x5b4e9f,_0x147ca3){return _0x5b4e9f(_0x147ca3);},'KEpvN':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','gmbvU':function(_0x199908,_0x55c2f5){return _0x199908(_0x55c2f5);},'RYpPa':_0x19ec7a(0x19a),'JbLiA':'application/json','bcHJA':'refresh_token','qWOTw':_0x19ec7a(0x170),'dIvTB':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','zbkrd':'base64url','FTYEg':_0x19ec7a(0x157),'TiKOC':_0x19ec7a(0x1b4),'kqLun':'client_id','cruax':'redirect_uri','rQtDK':_0x19ec7a(0x186),'NSwAV':'resource','yYaXN':function(_0x5111f0,_0x5b925c){return _0x5111f0(_0x5b925c);},'TNVJe':_0x19ec7a(0x1a5),'rHlhP':function(_0x1ee195,_0x1de09a,_0x176bf6){return _0x1ee195(_0x1de09a,_0x176bf6);},'SbGuY':_0x19ec7a(0x189),'yktcw':_0x19ec7a(0x168),'xjdGt':function(_0x56db47,_0x25de4e,_0x29479a,_0x1d8424){return _0x56db47(_0x25de4e,_0x29479a,_0x1d8424);}},_0x55596a=_0x1efab4[_0x19ec7a(0x143)](/\/mcp$/,'');process[_0x19ec7a(0x14c)]['write']('Discovering\x20authorization\x20server...');const _0xf0fe6f=await _0x1e2b4a['uedOP'](fetch,_0x55596a+'/.well-known/oauth-protected-resource');if(!_0xf0fe6f['ok'])throw new Error(_0x19ec7a(0x19b));const _0x46d47e=await _0xf0fe6f['json'](),_0x4a9d4d=_0x46d47e['authorization_servers']?.[0x0];if(!_0x4a9d4d)throw new Error(_0x1e2b4a[_0x19ec7a(0x152)]);console['log']('\x20'+_0x4a9d4d);const _0x27f1a=await _0x1e2b4a['gmbvU'](fetchAuthServerMetadata,_0x4a9d4d);let _0x2434a6,_0x54d35a;const _0x522450=await loadCachedClient();if(_0x522450)_0x2434a6=_0x522450[_0x19ec7a(0x136)],_0x54d35a=_0x522450[_0x19ec7a(0x16b)];else{if(_0x27f1a['registration_endpoint']){process['stdout']['write'](_0x1e2b4a['RYpPa']);const _0x761518=await fetch(_0x27f1a[_0x19ec7a(0x18b)],{'method':'POST','headers':{'Content-Type':_0x1e2b4a[_0x19ec7a(0x148)]},'body':JSON[_0x19ec7a(0x1c5)]({'client_name':_0x19ec7a(0x1aa),'redirect_uris':[_0x19ec7a(0x1a9)+CALLBACK_PORT+_0x19ec7a(0x1b0)],'grant_types':['authorization_code',_0x1e2b4a['bcHJA']],'response_types':[_0x1e2b4a[_0x19ec7a(0x15e)]],'token_endpoint_auth_method':_0x19ec7a(0x184)})});if(!_0x761518['ok']){const _0x3559a2=await _0x761518['text']();throw new Error(_0x19ec7a(0x15f)+_0x3559a2);}const _0x1cbc38=await _0x761518['json']();_0x2434a6=_0x1cbc38[_0x19ec7a(0x180)],_0x54d35a=_0x1cbc38['client_secret'],await saveCachedClient(_0x2434a6,_0x54d35a),console[_0x19ec7a(0x162)]('\x20done');}else throw new Error(_0x1e2b4a[_0x19ec7a(0x192)]);}const _0x1eff3f=randomBytes(0x20)['toString'](_0x1e2b4a[_0x19ec7a(0x145)]),_0x770070=createHash(_0x1e2b4a[_0x19ec7a(0x154)])[_0x19ec7a(0x1ca)](_0x1eff3f)['digest'](_0x1e2b4a[_0x19ec7a(0x145)]),_0x341db2=randomBytes(0x10)[_0x19ec7a(0x153)](_0x1e2b4a[_0x19ec7a(0x164)]),_0x5bbfe5=new URL(_0x27f1a['authorization_endpoint']);_0x5bbfe5['searchParams'][_0x19ec7a(0x1c6)](_0x19ec7a(0x16a),'code'),_0x5bbfe5['searchParams'][_0x19ec7a(0x1c6)](_0x1e2b4a[_0x19ec7a(0x149)],_0x2434a6),_0x5bbfe5['searchParams']['set'](_0x1e2b4a['cruax'],_0x19ec7a(0x1a9)+CALLBACK_PORT+_0x19ec7a(0x1b0)),_0x5bbfe5['searchParams'][_0x19ec7a(0x1c6)](_0x19ec7a(0x1c4),_0x770070),_0x5bbfe5['searchParams'][_0x19ec7a(0x1c6)](_0x19ec7a(0x1a2),_0x19ec7a(0x1a0)),_0x5bbfe5['searchParams']['set'](_0x1e2b4a[_0x19ec7a(0x1c3)],_0x341db2);_0x46d47e[_0x19ec7a(0x133)]&&_0x5bbfe5[_0x19ec7a(0x17d)]['set'](_0x1e2b4a[_0x19ec7a(0x1bc)],_0x46d47e[_0x19ec7a(0x133)]);console['log'](_0x19ec7a(0x18c)),console[_0x19ec7a(0x162)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x5bbfe5[_0x19ec7a(0x153)]()+'\x0a'),await _0x1e2b4a['uedOP'](openBrowser,_0x5bbfe5['toString']());const _0x530d2f=await _0x1e2b4a['yYaXN'](waitForCallback,_0x341db2);process['stdout'][_0x19ec7a(0x15c)]('Exchanging\x20authorization\x20code...');const _0x475bed=new URLSearchParams({'grant_type':'authorization_code','code':_0x530d2f,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0x19ec7a(0x1b0),'client_id':_0x2434a6,'code_verifier':_0x1eff3f});_0x54d35a&&_0x475bed['set'](_0x1e2b4a[_0x19ec7a(0x1a3)],_0x54d35a);_0x46d47e[_0x19ec7a(0x133)]&&_0x475bed['set'](_0x19ec7a(0x133),_0x46d47e[_0x19ec7a(0x133)]);const _0x5ca554=await _0x1e2b4a['rHlhP'](fetch,_0x27f1a['token_endpoint'],{'method':'POST','headers':{'Content-Type':_0x1e2b4a[_0x19ec7a(0x1ba)]},'body':_0x475bed});if(!_0x5ca554['ok']){const _0x25ea35=await _0x5ca554[_0x19ec7a(0x1ac)]();throw new Error(_0x19ec7a(0x18d)+_0x25ea35);}const _0x7932af=await _0x5ca554[_0x19ec7a(0x1b5)]();return console['log'](_0x1e2b4a['yktcw']),await _0x1e2b4a['xjdGt'](saveCachedToken,_0x7932af[_0x19ec7a(0x1b8)],_0x7932af['refresh_token'],_0x7932af['expires_in']),_0x7932af[_0x19ec7a(0x1b8)];}async function callGetCliToken(_0x1a36f3,_0x2fcdcb){const _0x3b6443=_0x5984b3,_0x6e1d52={'ecRqw':_0x3b6443(0x150),'tPPBK':'application/json,\x20text/event-stream','WSnAy':'Authorization','NFnag':function(_0x14aa9b,_0x8eaef0){return _0x14aa9b(_0x8eaef0);},'TZxIN':'ranger-cli','TbeYA':_0x3b6443(0x15b),'BrEsj':function(_0x4a5ce1,_0x129db9){return _0x4a5ce1(_0x129db9);},'PHRKk':_0x3b6443(0x185),'YyDwI':_0x3b6443(0x1b6),'QnaUM':_0x3b6443(0x142),'gXLSQ':_0x3b6443(0x1bf),'PQiLx':_0x3b6443(0x14a),'QpYoo':function(_0x2b4dcb,_0x4599ce,_0x487d08){return _0x2b4dcb(_0x4599ce,_0x487d08);},'UTLty':function(_0x3b9b7a,_0x57859c,_0x910cfb,_0x54bdef){return _0x3b9b7a(_0x57859c,_0x910cfb,_0x54bdef);},'qTjvN':function(_0x37782c,_0x3a9697,_0x18a400){return _0x37782c(_0x3a9697,_0x18a400);},'nEqwj':_0x3b6443(0x17a)},_0x1cb8d5={'Content-Type':_0x6e1d52['ecRqw'],'Accept':_0x6e1d52[_0x3b6443(0x131)]};_0x2fcdcb&&(_0x1cb8d5[_0x6e1d52[_0x3b6443(0x12f)]]=_0x3b6443(0x196)+_0x2fcdcb);const _0x1f5182=async _0x1c2f6f=>{const _0x4a3cc2=_0x3b6443,_0x4452f6=await fetch(_0x1a36f3,{'method':'POST','headers':_0x1cb8d5,'body':JSON['stringify'](_0x1c2f6f)});if(!_0x4452f6['ok']){const _0x4ea0d4=await _0x4452f6['text']();throw new Error(_0x4a3cc2(0x171)+_0x4452f6[_0x4a3cc2(0x1be)]+':\x20'+_0x4ea0d4);}return parseResponse(_0x4452f6);};process[_0x3b6443(0x14c)][_0x3b6443(0x15c)](_0x3b6443(0x17f));const _0x4144a9=await _0x6e1d52['NFnag'](_0x1f5182,{'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x6e1d52['TZxIN'],'version':_0x6e1d52[_0x3b6443(0x1a4)]}}});if(_0x4144a9['error'])throw new Error(_0x3b6443(0x160)+(_0x4144a9[_0x3b6443(0x165)][_0x3b6443(0x137)]??JSON['stringify'](_0x4144a9['error'])));console[_0x3b6443(0x162)](_0x3b6443(0x168)),await fetch(_0x1a36f3,{'method':'POST','headers':_0x1cb8d5,'body':JSON['stringify']({'jsonrpc':_0x3b6443(0x185),'method':'notifications/initialized'})})[_0x3b6443(0x178)](_0x1ac65d=>_0x1ac65d['text']()),process[_0x3b6443(0x14c)]['write'](_0x3b6443(0x166));const _0x31bb32=await _0x6e1d52[_0x3b6443(0x197)](_0x1f5182,{'jsonrpc':_0x6e1d52['PHRKk'],'id':0x2,'method':'tools/call','params':{'name':_0x6e1d52[_0x3b6443(0x19f)],'arguments':{}}});if(_0x31bb32['error'])throw new Error(_0x3b6443(0x176)+(_0x31bb32[_0x3b6443(0x165)][_0x3b6443(0x137)]??JSON[_0x3b6443(0x1c5)](_0x31bb32['error'])));console[_0x3b6443(0x162)]('\x20done');const _0x1acda4=extractToken(_0x31bb32['result']);if(!_0x1acda4){console[_0x3b6443(0x165)](_0x6e1d52['QnaUM']),console['error'](JSON['stringify'](_0x31bb32[_0x3b6443(0x13c)],null,0x2));throw new Error(_0x6e1d52[_0x3b6443(0x19c)]);}const _0x13c86c=join(homedir(),'.ranger'),_0x4a9d88=join(_0x13c86c,_0x6e1d52[_0x3b6443(0x175)]);await _0x6e1d52[_0x3b6443(0x16d)](mkdir,_0x13c86c,{'recursive':!![]}),await writeFile(_0x4a9d88,_0x1acda4,{'mode':0x180}),await _0x6e1d52[_0x3b6443(0x16f)](writeFile,_0x6e1d52['qTjvN'](join,_0x13c86c,_0x3b6443(0x13e)),_0x1a36f3,{'mode':0x180}),console[_0x3b6443(0x162)]('\x0aToken\x20written\x20to\x20'+_0x4a9d88),console[_0x3b6443(0x162)](_0x6e1d52['nEqwj']);}function _0x237b(){const _0x53861c=['iudfu','Unknown\x20error','AKfte','result','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','auth-origin.txt','633044NttiPf','bfBaP','origin','\x0aUnexpected\x20response\x20structure:','replace','MmcVn','zbkrd','application/json,\x20text/event-stream','Not\x20found','JbLiA','kqLun','refresh.txt','XrzEi','stdout','trim','expiresAt','CUFLn','application/json','content','KEpvN','toString','FTYEg','1561192rdnQes','mMCJo','sha256','6zfMlwf','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','2569540DADotj','1.0.0','write','mChWC','qWOTw','Client\x20registration\x20failed:\x20','MCP\x20initialize\x20failed:\x20','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','log','MwyIy','TiKOC','error','Requesting\x20CLI\x20token...','bckFb','\x20done','error_description','response_type','clientSecret','ZvTrY','QpYoo','isError','UTLty','code','HTTP\x20','9538340kFLLem','fVxlU','oqerW','PQiLx','get_cli_token\x20failed:\x20','MLkYo','then','1qPUlHJ','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','riGIe','split','searchParams','142014llwIsD','Initializing\x20MCP\x20session...','client_id','utf-8','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','refreshToken','none','2.0','state','proxied','accessToken','application/x-www-form-urlencoded','data:','registration_endpoint','\x0aOpening\x20browser\x20for\x20authentication...','Token\x20exchange\x20failed:\x20','ranger-cli','writeHead','now','token','dIvTB','MnEIf','kCHtt','2884742XppwtQ','Bearer\x20','BrEsj','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','127.0.0.1','Registering\x20OAuth\x20client...','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','gXLSQ','BpcBu','uOgft','YyDwI','S256','.ranger','code_challenge_method','TNVJe','TbeYA','client_secret','CCpqC','match','string','http://localhost:','Ranger\x20CLI','ZwosJ','text','slice','eNNbA','qHrCj','/callback','get','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','platform','hex','json','get_cli_token','VxydB','access_token','uXmOU','SbGuY','sGFyL','NSwAV','GMBac','status','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','parse','OAuth\x20error:\x20','XWqFn','rQtDK','code_challenge','stringify','set','needs-oauth','open','MCP\x20server\x20returned\x20HTTP\x20','update','5559804iIwWal','headers','drAnr','WSnAy','xdg-open','tPPBK','MCVgk','resource','listen','8ICaarZ','clientId','message','end'];_0x237b=function(){return _0x53861c;};return _0x237b();}async function fetchAuthServerMetadata(_0x1fef70){const _0x3ce270=_0x5984b3,_0x40c088={'IOfkG':function(_0x299ec1,_0x2f99a4){return _0x299ec1(_0x2f99a4);}},_0x5a983e=_0x1fef70+'/.well-known/oauth-authorization-server',_0x3909d3=await _0x40c088['IOfkG'](fetch,_0x5a983e);if(!_0x3909d3['ok'])throw new Error(_0x3ce270(0x161)+_0x5a983e+':\x20'+_0x3909d3['status']);return _0x3909d3['json']();}function waitForCallback(_0x22c75c){const _0x23e8bf=_0x5984b3,_0x5e2a8b={'quxOU':function(_0x4c3522,_0x4a06b7){return _0x4c3522(_0x4a06b7);},'XrzEi':_0x23e8bf(0x1b0),'LtRoS':'error','qHrCj':_0x23e8bf(0x169),'Xscyz':'text/html','uXmOU':function(_0xff2baa){return _0xff2baa();},'XWqFn':function(_0x5283a7,_0x599f32,_0x1d3a72){return _0x5283a7(_0x599f32,_0x1d3a72);},'BpcBu':function(_0x52afb1,_0x49c558){return _0x52afb1(_0x49c558);}};return new Promise((_0x474aa1,_0x1941c0)=>{const _0x29916d=_0x23e8bf,_0x16b426={'MwyIy':function(_0x3b6ac3){return _0x3b6ac3();},'GMBac':function(_0xcbca10,_0x433abe){return _0x5e2a8b['quxOU'](_0xcbca10,_0x433abe);},'MLkYo':_0x5e2a8b[_0x29916d(0x14b)],'HxvVF':_0x29916d(0x147),'QYGxD':'code','kCHtt':_0x5e2a8b['LtRoS'],'mChWC':_0x5e2a8b[_0x29916d(0x1af)],'XRBxw':_0x5e2a8b['Xscyz'],'MmcVn':function(_0x39eb75){const _0x42aaaa=_0x29916d;return _0x5e2a8b[_0x42aaaa(0x1b9)](_0x39eb75);},'CLvTM':_0x29916d(0x198),'bfBaP':function(_0x14ead3,_0x1ab5f5){return _0x14ead3(_0x1ab5f5);}},_0x475be2=()=>{_0x47f143['closeAllConnections'](),_0x47f143['close']();},_0x3af518=_0x5e2a8b[_0x29916d(0x1c2)](setTimeout,()=>{const _0x49bda1=_0x29916d;_0x16b426[_0x49bda1(0x163)](_0x475be2),_0x16b426[_0x49bda1(0x1bd)](_0x1941c0,new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x47f143=_0x5e2a8b[_0x29916d(0x19d)](createServer,(_0x7b6179,_0x33b1b9)=>{const _0x83f491=_0x29916d,_0x464122=new URL(_0x7b6179['url']??'/',_0x83f491(0x1a9)+CALLBACK_PORT);if(_0x464122['pathname']!==_0x16b426[_0x83f491(0x177)]){_0x33b1b9[_0x83f491(0x18f)](0x194),_0x33b1b9['end'](_0x16b426['HxvVF']);return;}const _0x1a1f8a=_0x464122['searchParams'][_0x83f491(0x1b1)](_0x16b426['QYGxD']),_0x21663d=_0x464122[_0x83f491(0x17d)][_0x83f491(0x1b1)]('state'),_0x3d7c37=_0x464122['searchParams'][_0x83f491(0x1b1)](_0x16b426[_0x83f491(0x194)]);if(_0x3d7c37){const _0x421c97=_0x464122['searchParams']['get'](_0x16b426[_0x83f491(0x15d)])??_0x3d7c37;_0x33b1b9[_0x83f491(0x18f)](0xc8,{'Content-Type':_0x16b426['XRBxw']}),_0x33b1b9['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x421c97+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x3af518),_0x16b426[_0x83f491(0x144)](_0x475be2),_0x1941c0(new Error(_0x83f491(0x1c1)+_0x421c97));return;}if(!_0x1a1f8a||_0x21663d!==_0x22c75c){_0x33b1b9['writeHead'](0x190,{'Content-Type':_0x16b426['XRBxw']}),_0x33b1b9[_0x83f491(0x138)](_0x83f491(0x182));return;}_0x33b1b9[_0x83f491(0x18f)](0xc8,{'Content-Type':_0x16b426['XRBxw']}),_0x33b1b9['end'](_0x16b426['CLvTM']),clearTimeout(_0x3af518),_0x475be2(),_0x16b426[_0x83f491(0x140)](_0x474aa1,_0x1a1f8a);});_0x47f143[_0x29916d(0x134)](CALLBACK_PORT,_0x29916d(0x199));});}async function openBrowser(_0x2d6d88){const _0x26bb86=_0x5984b3,_0x252ce0={'ZwosJ':function(_0x38b487,_0x14843f){return _0x38b487===_0x14843f;},'MnEIf':_0x26bb86(0x1c8),'CCpqC':function(_0x25ff37,_0x42af76){return _0x25ff37(_0x42af76);}},_0x51c28e=_0x252ce0[_0x26bb86(0x1ab)](process[_0x26bb86(0x1b3)],'darwin')?_0x252ce0[_0x26bb86(0x193)]:process['platform']==='win32'?'start':_0x26bb86(0x130);_0x252ce0[_0x26bb86(0x1a6)](exec,_0x51c28e+'\x20\x22'+_0x2d6d88+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x4b7afa=_0x5984b3,_0x59758e={'mMCJo':'utf-8','uOgft':function(_0x4cfd6f,_0x1bb7ec){return _0x4cfd6f>_0x1bb7ec;}};try{const _0x1c8e5c=JSON[_0x4b7afa(0x1c0)](await readFile(TOKEN_CACHE_PATH,_0x59758e[_0x4b7afa(0x156)]));if(_0x1c8e5c[_0x4b7afa(0x141)]&&_0x1c8e5c['origin']!==currentOrigin)return null;if(_0x1c8e5c[_0x4b7afa(0x14e)]&&_0x59758e[_0x4b7afa(0x19e)](Date[_0x4b7afa(0x190)](),_0x1c8e5c['expiresAt']))return null;return _0x1c8e5c['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x28c729,_0x54ef1b,_0x2e43e0){const _0x4adb89=_0x5984b3,_0x4b9727={'CUFLn':function(_0x1b3e99,_0xdbe43a){return _0x1b3e99*_0xdbe43a;}},_0x238046=await loadCachedData(),_0x4fddaf={..._0x238046,'origin':currentOrigin,'accessToken':_0x28c729,'refreshToken':_0x54ef1b??_0x238046?.[_0x4adb89(0x183)],'expiresAt':_0x2e43e0?Date[_0x4adb89(0x190)]()+_0x4b9727[_0x4adb89(0x14f)](_0x2e43e0,0x3e8):undefined};await mkdir(join(homedir(),_0x4adb89(0x1a1)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x4adb89(0x1c5)](_0x4fddaf),{'mode':0x180});}async function loadCachedClient(){const _0x2c81ee=_0x5984b3,_0x1da163={'RhuiK':function(_0x4455a5,_0x52c28b){return _0x4455a5!==_0x52c28b;}},_0x5895a6=await loadCachedData();if(_0x5895a6?.[_0x2c81ee(0x141)]&&_0x1da163['RhuiK'](_0x5895a6[_0x2c81ee(0x141)],currentOrigin))return null;return _0x5895a6?.['clientId']?{'clientId':_0x5895a6['clientId'],'clientSecret':_0x5895a6[_0x2c81ee(0x16b)]}:null;}async function clearCachedClient(){const _0x5c0f2d=await loadCachedData();if(!_0x5c0f2d)return;const {clientId:_0x41f271,clientSecret:_0x91d8a8,..._0xae80ca}=_0x5c0f2d;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0xae80ca),{'mode':0x180});}async function saveCachedClient(_0x2da042,_0x4e4ddc){const _0x31b45f=_0x5984b3,_0x3809f0={'HDpSp':function(_0x214989){return _0x214989();},'twasO':function(_0x445b33,_0x255239,_0x80984c){return _0x445b33(_0x255239,_0x80984c);},'sGFyL':function(_0x30afce,_0x1bbea8,_0x10461f){return _0x30afce(_0x1bbea8,_0x10461f);}},_0x2a5ab7=await _0x3809f0['HDpSp'](loadCachedData),_0x4183dd={..._0x2a5ab7,'origin':currentOrigin,'accessToken':_0x2a5ab7?.[_0x31b45f(0x188)]??'','clientId':_0x2da042,'clientSecret':_0x4e4ddc};await _0x3809f0['twasO'](mkdir,_0x3809f0[_0x31b45f(0x1bb)](join,homedir(),_0x31b45f(0x1a1)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x31b45f(0x1c5)](_0x4183dd),{'mode':0x180});}async function loadCachedData(){const _0x32daa5=_0x5984b3,_0x39586a={'riGIe':function(_0x2e31f9,_0x57ac01,_0x144056){return _0x2e31f9(_0x57ac01,_0x144056);},'AKfte':'utf-8'};try{return JSON['parse'](await _0x39586a[_0x32daa5(0x17b)](readFile,TOKEN_CACHE_PATH,_0x39586a[_0x32daa5(0x13b)]));}catch{return null;}}async function parseResponse(_0x2d0c0a){const _0x417814=_0x5984b3,_0x391fa8={'CsRZJ':'content-type','UyArH':_0x417814(0x18a)},_0x565c48=_0x2d0c0a[_0x417814(0x1cc)][_0x417814(0x1b1)](_0x391fa8['CsRZJ'])??'';if(_0x565c48['includes']('text/event-stream')){const _0x37ad49=await _0x2d0c0a['text']();for(const _0x3544b7 of _0x37ad49[_0x417814(0x17c)]('\x0a')){const _0x342002=_0x3544b7['trim']();if(_0x342002['startsWith']('data:')){const _0x5c586c=_0x342002[_0x417814(0x1ad)](_0x391fa8['UyArH']['length'])[_0x417814(0x14d)]();if(!_0x5c586c)continue;try{const _0x195e15=JSON['parse'](_0x5c586c);if(_0x195e15['id']!==undefined||_0x195e15['error'])return _0x195e15;}catch{}}}throw new Error(_0x417814(0x159));}return _0x2d0c0a['json']();}function extractToken(_0xa97f9c){const _0x12eaa4=_0x5984b3,_0x9e6d72={'tTaoI':_0x12eaa4(0x1a8)};if(!_0xa97f9c)return null;const _0x514b39=_0xa97f9c['structuredContent'];if(_0x514b39?.[_0x12eaa4(0x191)]&&typeof _0x514b39['token']===_0x12eaa4(0x1a8))return _0x514b39[_0x12eaa4(0x191)];if(_0xa97f9c[_0x12eaa4(0x16e)]){const _0x18e9f9=_0xa97f9c[_0x12eaa4(0x151)];throw new Error('Server\x20returned\x20error:\x20'+(_0x18e9f9?.[0x0]?.['text']??_0x12eaa4(0x13a)));}const _0xa16a01=_0xa97f9c[_0x12eaa4(0x151)];if(_0xa16a01)for(const _0x12d991 of _0xa16a01){if(_0x12d991['type']===_0x12eaa4(0x1ac)&&_0x12d991[_0x12eaa4(0x1ac)]){try{const _0x26bb61=JSON[_0x12eaa4(0x1c0)](_0x12d991['text']);if(typeof _0x26bb61?.[_0x12eaa4(0x191)]===_0x9e6d72['tTaoI'])return _0x26bb61[_0x12eaa4(0x191)];}catch{}const _0x2d2303=_0x12d991['text'][_0x12eaa4(0x1a7)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x2d2303)return _0x2d2303[0x1];}}return null;}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _0xe148(_0x45a852,_0x302725){_0x45a852=_0x45a852-0xf8;var _0xaa3968=_0xaa39();var _0xe148e5=_0xaa3968[_0x45a852];return _0xe148e5;}(function(_0xda3f77,_0x5c2e24){var _0x242074=_0xe148,_0x1e646f=_0xda3f77();while(!![]){try{var _0x1520f6=parseInt(_0x242074(0xfb))/0x1+parseInt(_0x242074(0xfd))/0x2+-parseInt(_0x242074(0x102))/0x3*(parseInt(_0x242074(0xf9))/0x4)+parseInt(_0x242074(0x105))/0x5+parseInt(_0x242074(0xf8))/0x6+-parseInt(_0x242074(0xfe))/0x7*(-parseInt(_0x242074(0x106))/0x8)+-parseInt(_0x242074(0x101))/0x9;if(_0x1520f6===_0x5c2e24)break;else _0x1e646f['push'](_0x1e646f['shift']());}catch(_0x4936dc){_0x1e646f['push'](_0x1e646f['shift']());}}}(_0xaa39,0x847a8));function _0xaa39(){var _0x5899f1=['35468BzrWzO','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','460238DDkcLs','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','35896tIhFXY','35HJTvGJ','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','exit','13830318rjsOnJ','3NgLFzJ','nAYqi','NqKWp','1973515NupBEE','456392HlrThF','5580402FhdSoW'];_0xaa39=function(){return _0x5899f1;};return _0xaa39();}export async function migrateProfile(_0x1c3a62,_0x1807b5){var _0x2398b1=_0xe148,_0x4f2ffe={'NqKWp':function(_0x5881be,_0x2a456b){return _0x5881be+_0x2a456b;},'aYwVm':function(_0x496579,_0x4e8b84){return _0x496579+_0x4e8b84;},'edNsd':function(_0x4b314c,_0x2d178a){return _0x4b314c+_0x2d178a;},'nAYqi':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','BHKaR':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','hRXVE':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','DCtrP':_0x2398b1(0xfc)};console['error'](_0x4f2ffe[_0x2398b1(0x104)](_0x4f2ffe['aYwVm'](_0x4f2ffe['edNsd'](_0x4f2ffe[_0x2398b1(0x104)](_0x2398b1(0xfa),'\x0a')+_0x4f2ffe[_0x2398b1(0x103)]+_0x4f2ffe['BHKaR']+'\x0a',_0x4f2ffe['hRXVE']),'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a'),'\x0a')+_0x2398b1(0xff)+_0x4f2ffe['DCtrP']),process[_0x2398b1(0x100)](0x1);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4ee9bb,_0x4ee433){const _0x8f6f80=_0x2222,_0x2877f9=_0x4ee9bb();while(!![]){try{const _0x3f8490=parseInt(_0x8f6f80(0xf5))/0x1+parseInt(_0x8f6f80(0x10e))/0x2+-parseInt(_0x8f6f80(0x109))/0x3+parseInt(_0x8f6f80(0x106))/0x4+-parseInt(_0x8f6f80(0x100))/0x5*(parseInt(_0x8f6f80(0x105))/0x6)+parseInt(_0x8f6f80(0x102))/0x7*(-parseInt(_0x8f6f80(0x11b))/0x8)+parseInt(_0x8f6f80(0xf0))/0x9*(parseInt(_0x8f6f80(0x117))/0xa);if(_0x3f8490===_0x4ee433)break;else _0x2877f9['push'](_0x2877f9['shift']());}catch(_0x48a25b){_0x2877f9['push'](_0x2877f9['shift']());}}}(_0x616e,0x4747a));import{join}from'path';import{existsSync}from'fs';import _0x2d1a57 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x616e(){const _0x46a554=['PUwNX','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','push','confirm','❌\x20Failed\x20to\x20add\x20marketplace:','439030RBuech','pluginScope','AQBZF','add','14504gEUDJN','project','HcPBt','Project\x20(shared\x20with\x20team\x20via\x20git)','kQDse','ranger@trailhead','install','already\x20enabled','JDQWp','success','AdlVm','trailhead','jlGve','NvooS','SKILL.md','198lOjdfE','\x20level)...\x0a','user','error','NYAKW','372714mdRPQJ','FOTzB','jNfeV','plugin','aEgHz','enable','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','marketplace','--scope','Where\x20should\x20the\x20plugin\x20be\x20installed?','pjtEu','2194985xkmUdN','QlPGE','2219QiovED','ViQOG','log','6wgjPDW','134652RZAJTX','QjeWb','\x0aYou\x20can\x20install\x20manually\x20with:','1179408hCWhVl','User\x20(available\x20in\x20all\x20your\x20projects)','zFDIp','bLOog','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','653146DSomzN','✓\x20Ranger\x20skills\x20already\x20installed','EhqYi','tfLtY'];_0x616e=function(){return _0x46a554;};return _0x616e();}function _0x2222(_0x411264,_0x2d0933){_0x411264=_0x411264-0xe8;const _0x616e52=_0x616e();let _0x2222b3=_0x616e52[_0x411264];return _0x2222b3;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x3a4108){const _0x30c684=_0x2222,_0x4bbdb3={'aEgHz':_0x30c684(0x10d),'AQBZF':'project','ViQOG':'list','PUwNX':_0x30c684(0xfe),'jlGve':'user','DhCAI':_0x30c684(0xec),'FOTzB':function(_0x14f0f6,_0x360f58){return _0x14f0f6(_0x360f58);},'fVkko':_0x30c684(0xfc),'HMXcd':_0x30c684(0x116),'QjeWb':_0x30c684(0x108),'pjtEu':_0x30c684(0x113),'ZYmFc':_0x30c684(0xf8),'FhOzh':_0x30c684(0x121),'zFDIp':'--scope','iNVrq':function(_0x55eac3,_0x2ed721){return _0x55eac3===_0x2ed721;},'XkidQ':'❌\x20Failed\x20to\x20install\x20plugin:','JkrWs':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','kQDse':_0x30c684(0xfa),'IaMQE':'ranger@trailhead','jVbnI':function(_0x3ff9e0,_0x4a55e2,_0x1e561e){return _0x3ff9e0(_0x4a55e2,_0x1e561e);},'jNfeV':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x109f48=await isPluginInstalled(_0x30c684(0x120));if(_0x109f48)return console['log'](_0x4bbdb3[_0x30c684(0xf9)]),![];const _0x54324c=existsSync(join(getProjectRoot(),'.claude'));let _0x5bce53;if(_0x3a4108)_0x5bce53=_0x3a4108;else{if(_0x54324c)_0x5bce53=_0x4bbdb3[_0x30c684(0x119)];else{console[_0x30c684(0x104)]('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x193ba3=await _0x2d1a57['prompt']([{'type':_0x4bbdb3[_0x30c684(0x103)],'name':'pluginScope','message':_0x4bbdb3[_0x30c684(0x112)],'choices':[{'name':_0x30c684(0x10a),'value':_0x4bbdb3[_0x30c684(0xed)]},{'name':_0x30c684(0x11e),'value':_0x4bbdb3['AQBZF']}],'default':_0x4bbdb3[_0x30c684(0xed)]}]);_0x5bce53=_0x193ba3[_0x30c684(0x118)];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x5bce53+_0x30c684(0xf1));const _0x25c3a0=await isMarketplaceAdded(_0x4bbdb3['DhCAI']);let _0x36c9b1=_0x25c3a0;if(_0x25c3a0)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x568d77=await _0x4bbdb3[_0x30c684(0xf6)](runClaudeCommand,[_0x30c684(0xf8),_0x4bbdb3['fVkko'],_0x30c684(0x11a),'ranger-testing/trailhead']);!_0x568d77['success']?(console[_0x30c684(0xf3)](_0x4bbdb3['HMXcd'],_0x568d77['error']),console[_0x30c684(0x104)](_0x4bbdb3[_0x30c684(0x107)]),console['log'](_0x4bbdb3[_0x30c684(0xff)]),console[_0x30c684(0x104)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5bce53)):_0x36c9b1=!![];}if(_0x36c9b1){const _0xd92488=await runClaudeCommand([_0x4bbdb3['ZYmFc'],_0x4bbdb3['FhOzh'],'ranger@trailhead',_0x4bbdb3[_0x30c684(0x10b)],_0x5bce53],{'cwd':_0x4bbdb3['iNVrq'](_0x5bce53,_0x4bbdb3[_0x30c684(0x119)])?getProjectRoot():undefined});if(!_0xd92488['success'])console['error'](_0x4bbdb3['XkidQ'],_0xd92488['error']),console['log'](_0x4bbdb3['QjeWb']),console[_0x30c684(0x104)](_0x30c684(0xfb)+_0x5bce53);else{console[_0x30c684(0x104)](_0x4bbdb3['JkrWs']);const _0x2b8796=[_0x30c684(0xf8),_0x4bbdb3[_0x30c684(0x11f)],_0x4bbdb3['IaMQE']];_0x5bce53===_0x30c684(0x11c)&&_0x2b8796[_0x30c684(0x114)](_0x30c684(0xfd),_0x4bbdb3[_0x30c684(0x119)]);const _0x12c887=await _0x4bbdb3['jVbnI'](runClaudeCommand,_0x2b8796,{'captureOutput':!![],'cwd':_0x4bbdb3['iNVrq'](_0x5bce53,_0x4bbdb3['AQBZF'])?getProjectRoot():undefined}),_0x2670c6=_0x12c887['output']?.['includes'](_0x30c684(0xe8));!_0x12c887[_0x30c684(0xea)]&&!_0x2670c6?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x12c887[_0x30c684(0xf3)]):console[_0x30c684(0x104)](_0x4bbdb3[_0x30c684(0xf7)]);}}return!![];}export async function ensureClaudeSkills(_0x19c903){const _0x12b5de=_0x2222,_0x1e389c={'NvooS':function(_0x13c613,_0x3b9170,_0xea7b75,_0x37b148){return _0x13c613(_0x3b9170,_0xea7b75,_0x37b148);},'lidgf':_0x12b5de(0xf2),'EhqYi':'ranger','yvSBv':_0x12b5de(0xef),'JDQWp':function(_0x4e036a,_0x58bc89){return _0x4e036a(_0x58bc89);},'HcPBt':_0x12b5de(0x11c),'eOalQ':_0x12b5de(0x10f),'AdlVm':function(_0x33391e,_0x168ead,_0x25696e){return _0x33391e(_0x168ead,_0x25696e);},'QlPGE':function(_0x1f46fa){return _0x1f46fa();},'JEBAv':'.claude','cHHJC':function(_0xbb3ff4,_0x304c6d){return _0xbb3ff4(_0x304c6d);},'bLOog':'wantsSkillup','tfLtY':'Would\x20you\x20like\x20to\x20install\x20skills?','NYAKW':function(_0x3851e4,_0x10e842){return _0x3851e4(_0x10e842);}},_0x382a18=existsSync(_0x1e389c[_0x12b5de(0xee)](join,getSkillsDir(_0x1e389c['lidgf']),_0x1e389c[_0x12b5de(0x110)],_0x1e389c['yvSBv'])),_0x52d219=existsSync(join(_0x1e389c[_0x12b5de(0xe9)](getSkillsDir,_0x1e389c[_0x12b5de(0x11d)]),_0x1e389c['EhqYi'],_0x1e389c['yvSBv']));if(_0x382a18||_0x52d219)return console[_0x12b5de(0x104)](_0x1e389c['eOalQ']),![];const _0x10ff59=existsSync(_0x1e389c[_0x12b5de(0xeb)](join,_0x1e389c[_0x12b5de(0x101)](getProjectRoot),_0x1e389c['JEBAv']));let _0xb3beb6=!![];if(_0x19c903)await skillup({'autoInstall':_0x19c903,'suppressUsage':!![]});else{if(_0x10ff59)await _0x1e389c['cHHJC'](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0x5da4b2=await _0x2d1a57['prompt']([{'type':_0x12b5de(0x115),'name':_0x1e389c[_0x12b5de(0x10c)],'message':_0x1e389c[_0x12b5de(0x111)],'default':!![]}]);_0xb3beb6=_0x5da4b2['wantsSkillup'],_0xb3beb6&&await _0x1e389c[_0x12b5de(0xf4)](skillup,{'suppressUsage':!![]});}}return _0xb3beb6;}
|