@ranger-testing/ranger-cli 2.5.4-alpha.27e3ee8-11 → 2.5.4-alpha.57338f5-12
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/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -0
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/skills/ranger/SKILL.md +13 -7
- package/build/skills/ranger/create.md +16 -3
- package/build/skills/ranger/verify.md +23 -10
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const _0x401c65=_0x5636;function _0x5636(_0x13e5c9,_0x3a6ca2){_0x13e5c9=_0x13e5c9-0xa3;const _0x56c4dd=_0x56c4();let _0x5636f5=_0x56c4dd[_0x13e5c9];return _0x5636f5;}(function(_0x31f34b,_0x4f43b5){const _0xd9b61d=_0x5636,_0x4d50d7=_0x31f34b();while(!![]){try{const _0x4fb414=parseInt(_0xd9b61d(0xa9))/0x1*(-parseInt(_0xd9b61d(0xa7))/0x2)+parseInt(_0xd9b61d(0xb0))/0x3*(-parseInt(_0xd9b61d(0xac))/0x4)+parseInt(_0xd9b61d(0xae))/0x5+parseInt(_0xd9b61d(0xa8))/0x6*(-parseInt(_0xd9b61d(0xad))/0x7)+-parseInt(_0xd9b61d(0xa3))/0x8+-parseInt(_0xd9b61d(0xaf))/0x9*(parseInt(_0xd9b61d(0xa5))/0xa)+parseInt(_0xd9b61d(0xa6))/0xb*(parseInt(_0xd9b61d(0xaa))/0xc);if(_0x4fb414===_0x4f43b5)break;else _0x4d50d7['push'](_0x4d50d7['shift']());}catch(_0x136680){_0x4d50d7['push'](_0x4d50d7['shift']());}}}(_0x56c4,0x652c4));function _0x56c4(){const _0x3b3099=['14sKcDRj','3838250sBUynu','102636ADqYWh','6XPIqxv','4578368UORXYc','session_id','220UTpLxA','2519bvbafA','2WloiCR','1001766kWPWDi','223629vWcufT','87036OJclzc','\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.','1266896TEYyLh'];_0x56c4=function(){return _0x3b3099;};return _0x56c4();}import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x401c65(0xab);export async function autoPrompt(){const _0x4bff63=_0x401c65,_0x2bd714=await readHookInput(),_0x223e20=_0x2bd714?.[_0x4bff63(0xa4)];if(!_0x223e20)return;if(isSessionEnabled(_0x223e20)||hasSessionBeenPrompted(_0x223e20))return;markSessionPrompted(_0x223e20),console['log'](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x33f5(_0x187dd1,_0x49189a){_0x187dd1=_0x187dd1-0x1cc;const _0x50096c=_0x5009();let _0x33f5d3=_0x50096c[_0x187dd1];return _0x33f5d3;}(function(_0x46cabb,_0x39fc00){const _0x46ada6=_0x33f5,_0x54492f=_0x46cabb();while(!![]){try{const _0x1cdc36=parseInt(_0x46ada6(0x1cf))/0x1+parseInt(_0x46ada6(0x1dd))/0x2+parseInt(_0x46ada6(0x1d7))/0x3*(-parseInt(_0x46ada6(0x1d4))/0x4)+-parseInt(_0x46ada6(0x1d2))/0x5*(-parseInt(_0x46ada6(0x1da))/0x6)+-parseInt(_0x46ada6(0x1d9))/0x7+parseInt(_0x46ada6(0x1dc))/0x8*(-parseInt(_0x46ada6(0x1db))/0x9)+parseInt(_0x46ada6(0x1d1))/0xa;if(_0x1cdc36===_0x39fc00)break;else _0x54492f['push'](_0x54492f['shift']());}catch(_0x5bb9d5){_0x54492f['push'](_0x54492f['shift']());}}}(_0x5009,0xd5ee5));function _0x5009(){const _0x180354=['CLAUDE_SESSION_ID','6417103tHXOMX','144luyeDN','287487jXGcRN','184qhkKba','87300OKJxin','JTtyW','main','\x20and\x20branch\x20\x27','392635bcwwaP','env','18404950OQEsJL','247495TacLYE','master','1249436LxeUDY','AeAqX','DjeEo','9yxHiWZ'];_0x5009=function(){return _0x180354;};return _0x5009();}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x5996b5){const _0x320427=_0x33f5,_0x8afd2d={'JTtyW':function(_0x517851){return _0x517851();},'lgVle':function(_0x41f742,_0x4beab3){return _0x41f742!==_0x4beab3;},'AeAqX':_0x320427(0x1cd),'NKEZf':function(_0x4d4707,_0x2013c2){return _0x4d4707(_0x2013c2);},'DjeEo':function(_0x56f6f6,_0xcf1aa5){return _0x56f6f6!==_0xcf1aa5;}},_0x5ea8d0=_0x5996b5||process[_0x320427(0x1d0)][_0x320427(0x1d8)]||'';_0x5ea8d0&&disableSession(_0x5ea8d0);const _0x4f4b43=_0x8afd2d[_0x320427(0x1cc)](getCurrentBranch);_0x4f4b43&&_0x8afd2d['lgVle'](_0x4f4b43,_0x8afd2d[_0x320427(0x1d5)])&&_0x4f4b43!=='master'&&_0x8afd2d['NKEZf'](disableBranch,_0x4f4b43),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x4f4b43&&_0x4f4b43!==_0x8afd2d['AeAqX']&&_0x8afd2d[_0x320427(0x1d6)](_0x4f4b43,_0x320427(0x1d3))?_0x320427(0x1ce)+_0x4f4b43+'\x27':'')+'.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4681d0,_0x59514f){const _0x41ca5a=_0x395a,_0x865210=_0x4681d0();while(!![]){try{const _0x624a26=parseInt(_0x41ca5a(0x1b7))/0x1+-parseInt(_0x41ca5a(0x1b0))/0x2*(parseInt(_0x41ca5a(0x1ac))/0x3)+parseInt(_0x41ca5a(0x1b1))/0x4+parseInt(_0x41ca5a(0x1ae))/0x5+parseInt(_0x41ca5a(0x1b5))/0x6*(parseInt(_0x41ca5a(0x1a7))/0x7)+-parseInt(_0x41ca5a(0x1b8))/0x8+-parseInt(_0x41ca5a(0x1a8))/0x9*(parseInt(_0x41ca5a(0x1a9))/0xa);if(_0x624a26===_0x59514f)break;else _0x865210['push'](_0x865210['shift']());}catch(_0x4caca8){_0x865210['push'](_0x865210['shift']());}}}(_0x1b4f,0x713f6));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x395a(_0x4f66c9,_0x231d2b){_0x4f66c9=_0x4f66c9-0x1a6;const _0x1b4f46=_0x1b4f();let _0x395ac5=_0x1b4f46[_0x4f66c9];return _0x395ac5;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x59111b){const _0x26bc05=_0x395a,_0x37bc40={'SLsFh':function(_0x4cf98b){return _0x4cf98b();},'PVios':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','RwcYG':function(_0x395832,_0x37194f){return _0x395832(_0x37194f);},'fKePj':function(_0x41c0db){return _0x41c0db();},'ajWuW':function(_0x154872,_0x5e159e){return _0x154872!==_0x5e159e;},'yeRwu':_0x26bc05(0x1b3)},_0x583b30=_0x59111b||process['env'][_0x26bc05(0x1af)]||'',_0x25abc8=Boolean(_0x59111b),_0x1f9bc0=await _0x37bc40['SLsFh'](getToken);if(!_0x1f9bc0){const _0x7ee639=_0x25abc8?_0x26bc05(0x1a6):_0x26bc05(0x1ad),_0x2e375d=_0x25abc8?_0x37bc40[_0x26bc05(0x1ab)]:_0x26bc05(0x1b2);_0x37bc40[_0x26bc05(0x1b9)](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`'+_0x7ee639+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x2e375d);return;}try{await _0x37bc40['fKePj'](update);}catch{}_0x583b30&&enableSession(_0x583b30);const _0x59fae9=_0x37bc40['SLsFh'](getCurrentBranch),_0x433c07=_0x59fae9&&_0x59fae9!==_0x26bc05(0x1b4)&&_0x37bc40['ajWuW'](_0x59fae9,_0x37bc40[_0x26bc05(0x1aa)])?'\x0a\x0a**Branch\x20\x27'+_0x59fae9+_0x26bc05(0x1ba):'',_0x1edf8c=_0x37bc40['SLsFh'](getRangerSkillContent);_0x37bc40[_0x26bc05(0x1b9)](printBlock,'#\x20RANGER\x20ENABLED'+_0x433c07+_0x26bc05(0x1b6)+_0x1edf8c+'\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`.');}function _0x1b4f(){const _0x5dc416=['RwcYG','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','ranger\x20setup\x20--opencode','1498392xGyHVx','9nLXbgU','5699290jahYGm','yeRwu','PVios','14802gJvvsM','ranger\x20setup','1557750muVeFK','CLAUDE_SESSION_ID','150VIFwqi','2303096cuHqcv','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','master','main','6IukEYI','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','879160jWVzkJ','4613592vQQrKO'];_0x1b4f=function(){return _0x5dc416;};return _0x1b4f();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x21b6(_0x4cd103,_0x33b356){_0x4cd103=_0x4cd103-0x184;const _0x2d8b4b=_0x2d8b();let _0x21b6ae=_0x2d8b4b[_0x4cd103];return _0x21b6ae;}function _0x2d8b(){const _0x39c1b8=['9062SzLDao','1115pWoLbC','2661975qqWQBX','93AUrgVv','10938koHILa','8syngsU','25779RlAoaS','===\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===','760VtIzKP','156277zGkHbq','348495NpNeKV','2124736THBcAN'];_0x2d8b=function(){return _0x39c1b8;};return _0x2d8b();}(function(_0x3ba410,_0x34e35d){const _0x1b1d95=_0x21b6,_0x104732=_0x3ba410();while(!![]){try{const _0x1260a1=parseInt(_0x1b1d95(0x18f))/0x1+-parseInt(_0x1b1d95(0x189))/0x2*(parseInt(_0x1b1d95(0x18c))/0x3)+-parseInt(_0x1b1d95(0x188))/0x4+-parseInt(_0x1b1d95(0x18a))/0x5*(parseInt(_0x1b1d95(0x18d))/0x6)+parseInt(_0x1b1d95(0x187))/0x7+parseInt(_0x1b1d95(0x18e))/0x8*(parseInt(_0x1b1d95(0x18b))/0x9)+-parseInt(_0x1b1d95(0x185))/0xa*(-parseInt(_0x1b1d95(0x186))/0xb);if(_0x1260a1===_0x34e35d)break;else _0x104732['push'](_0x104732['shift']());}catch(_0x1685d3){_0x104732['push'](_0x104732['shift']());}}}(_0x2d8b,0x5b0a1));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x1ca2d2){const _0xc359b2=_0x21b6,_0x2edc5d=await getEnabledSessionId(_0x1ca2d2);if(!_0x2edc5d)return;printBlock(_0xc359b2(0x184));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xeca884,_0x5d97bd){var _0x5bfca3=_0x12d4,_0x5b7b0a=_0xeca884();while(!![]){try{var _0x24c2ed=parseInt(_0x5bfca3(0xdb))/0x1*(-parseInt(_0x5bfca3(0xd8))/0x2)+parseInt(_0x5bfca3(0xd7))/0x3*(parseInt(_0x5bfca3(0xd6))/0x4)+-parseInt(_0x5bfca3(0xdc))/0x5+-parseInt(_0x5bfca3(0xd9))/0x6+parseInt(_0x5bfca3(0xda))/0x7*(parseInt(_0x5bfca3(0xde))/0x8)+parseInt(_0x5bfca3(0xdf))/0x9*(-parseInt(_0x5bfca3(0xd5))/0xa)+parseInt(_0x5bfca3(0xdd))/0xb;if(_0x24c2ed===_0x5d97bd)break;else _0x5b7b0a['push'](_0x5b7b0a['shift']());}catch(_0x396e98){_0x5b7b0a['push'](_0x5b7b0a['shift']());}}}(_0x4687,0x4e62c));export{sessionStart}from'./sessionStart.js';function _0x12d4(_0x5818fa,_0x4cc7a0){_0x5818fa=_0x5818fa-0xd5;var _0x468776=_0x4687();var _0x12d42c=_0x468776[_0x5818fa];return _0x12d42c;}export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';function _0x4687(){var _0x28c531=['1438aMeQgl','3778140kdlkfx','238xlPpAl','787pTQihO','1985390XqhtqH','14607846FIEtOW','40808IwjMIP','117qUzAAK','143870IRiTxu','200qWpAko','35958CqVjHu'];_0x4687=function(){return _0x28c531;};return _0x4687();}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(_0x2d3451,_0x34ddf7){const _0x3e1208=_0x5e0a,_0x194d1c=_0x2d3451();while(!![]){try{const _0xff7fe0=parseInt(_0x3e1208(0x1a4))/0x1*(parseInt(_0x3e1208(0x1a1))/0x2)+parseInt(_0x3e1208(0x19f))/0x3+-parseInt(_0x3e1208(0x19a))/0x4*(-parseInt(_0x3e1208(0x1a6))/0x5)+-parseInt(_0x3e1208(0x1a3))/0x6+-parseInt(_0x3e1208(0x199))/0x7+-parseInt(_0x3e1208(0x1a5))/0x8*(parseInt(_0x3e1208(0x19b))/0x9)+parseInt(_0x3e1208(0x1a0))/0xa*(-parseInt(_0x3e1208(0x19d))/0xb);if(_0xff7fe0===_0x34ddf7)break;else _0x194d1c['push'](_0x194d1c['shift']());}catch(_0x1573e7){_0x194d1c['push'](_0x194d1c['shift']());}}}(_0x1512,0x6d30c));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x443ca0){console['log'](_0x443ca0);}function _0x5e0a(_0x5b528a,_0x5f217a){_0x5b528a=_0x5b528a-0x199;const _0x1512d7=_0x1512();let _0x5e0aa7=_0x1512d7[_0x5b528a];return _0x5e0aa7;}export async function readHookInput(){const _0x531f44=_0x5e0a;let _0x4b9f0b='';try{for await(const _0x4c815c of process[_0x531f44(0x19e)]){_0x4b9f0b+=_0x4c815c;}}catch{return null;}if(!_0x4b9f0b['trim']())return null;try{return JSON['parse'](_0x4b9f0b);}catch{return null;}}export async function getEnabledSessionId(_0x2a1c72){const _0x1c4d07=_0x5e0a,_0x49f1bc={'AYACr':function(_0x1efa88,_0x22c2a7){return _0x1efa88(_0x22c2a7);},'wHCLL':function(_0x3f2aff){return _0x3f2aff();}};if(_0x2a1c72)return _0x49f1bc[_0x1c4d07(0x1a2)](isSessionEnabled,_0x2a1c72)?_0x2a1c72:null;const _0x44a00f=await _0x49f1bc['wHCLL'](readHookInput),_0x212fe1=_0x44a00f?.[_0x1c4d07(0x19c)];if(!_0x212fe1||!_0x49f1bc['AYACr'](isSessionEnabled,_0x212fe1))return null;return _0x212fe1;}function _0x1512(){const _0x144e64=['2982903jYirKJ','128toPHIZ','4128282DJXqyg','session_id','1144fNZibM','stdin','1543293IklwtD','28180TyeCXQ','14NWeNMb','AYACr','2004210jFErJT','110717vtkorc','8bwRBXm','104645mANAYz'];_0x1512=function(){return _0x144e64;};return _0x1512();}export async function getEnabledHookContext(_0x39e9f3){if(_0x39e9f3){if(!isSessionEnabled(_0x39e9f3))return null;return{'sessionId':_0x39e9f3,'input':{'session_id':_0x39e9f3}};}const _0x590c1a=await readHookInput(),_0x1b700f=_0x590c1a?.['session_id'];if(!_0x1b700f||!isSessionEnabled(_0x1b700f))return null;return{'sessionId':_0x1b700f,'input':_0x590c1a};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x2bcd(){const _0x477a57=['388277jDHKgE','2683782jnTbnn','sessionId','4uJGqvg','11pFAPmw','CgsgH','3241zWrUWu','8656hHNzlE','982335ZcjenF','310224kNzVyn','2XqZYZW','3261850haDnNZ','1820930irILyh'];_0x2bcd=function(){return _0x477a57;};return _0x2bcd();}(function(_0x944c6f,_0x18ae64){const _0x552870=_0x1cd9,_0x1b14a9=_0x944c6f();while(!![]){try{const _0x873c94=parseInt(_0x552870(0x190))/0x1*(parseInt(_0x552870(0x19a))/0x2)+-parseInt(_0x552870(0x198))/0x3*(parseInt(_0x552870(0x193))/0x4)+-parseInt(_0x552870(0x19b))/0x5+-parseInt(_0x552870(0x199))/0x6+-parseInt(_0x552870(0x196))/0x7*(-parseInt(_0x552870(0x197))/0x8)+parseInt(_0x552870(0x191))/0x9+-parseInt(_0x552870(0x18f))/0xa*(-parseInt(_0x552870(0x194))/0xb);if(_0x873c94===_0x18ae64)break;else _0x1b14a9['push'](_0x1b14a9['shift']());}catch(_0x33b66b){_0x1b14a9['push'](_0x1b14a9['shift']());}}}(_0x2bcd,0x5285f));function _0x1cd9(_0x26b062,_0x34279a){_0x26b062=_0x26b062-0x18f;const _0x2bcdbb=_0x2bcd();let _0x1cd95d=_0x2bcdbb[_0x26b062];return _0x1cd95d;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x33d54b){const _0x20730f=_0x1cd9,_0x52a8ee={'KDcWd':function(_0x55c8ca,_0x1ae5c6){return _0x55c8ca(_0x1ae5c6);},'CgsgH':function(_0x5e3a17,_0x2bb806){return _0x5e3a17(_0x2bb806);}},_0x19448a=await getEnabledHookContext(_0x33d54b);if(!_0x19448a)return;if(_0x19448a['input']['permission_mode']!=='plan')return;if(!_0x52a8ee['KDcWd'](shouldShowPlanReminder,_0x19448a[_0x20730f(0x192)]))return;_0x52a8ee[_0x20730f(0x195)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x2c3a(){const _0x3fab1a=['1958650KvGtPS','2roqUiv','33849SodoPf','154374gJzeNM','===\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===','1160hGyRlr','617712wKuXPe','526953NOlrkJ','AUeTd','232iljzSo','36HHKzMB','1119054MMjvql','823338GINewW'];_0x2c3a=function(){return _0x3fab1a;};return _0x2c3a();}(function(_0x2b70e0,_0x534f5e){const _0x216295=_0x207d,_0x1c9ecf=_0x2b70e0();while(!![]){try{const _0x517a3e=parseInt(_0x216295(0x123))/0x1*(-parseInt(_0x216295(0x121))/0x2)+-parseInt(_0x216295(0x120))/0x3+-parseInt(_0x216295(0x128))/0x4+-parseInt(_0x216295(0x122))/0x5+parseInt(_0x216295(0x11f))/0x6*(parseInt(_0x216295(0x11c))/0x7)+parseInt(_0x216295(0x11e))/0x8*(parseInt(_0x216295(0x124))/0x9)+parseInt(_0x216295(0x127))/0xa*(parseInt(_0x216295(0x125))/0xb);if(_0x517a3e===_0x534f5e)break;else _0x1c9ecf['push'](_0x1c9ecf['shift']());}catch(_0x1dace8){_0x1c9ecf['push'](_0x1c9ecf['shift']());}}}(_0x2c3a,0x6cedd));function _0x207d(_0x3ed454,_0xba6fa7){_0x3ed454=_0x3ed454-0x11c;const _0x2c3afa=_0x2c3a();let _0x207dd9=_0x2c3afa[_0x3ed454];return _0x207dd9;}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x265944){const _0x43c5e9=_0x207d,_0x5ddae3={'AUeTd':function(_0x54aa47,_0x1116b3){return _0x54aa47(_0x1116b3);},'jiRXu':function(_0xfdb9b7,_0x2c839b){return _0xfdb9b7(_0x2c839b);}},_0x3a54a9=await _0x5ddae3[_0x43c5e9(0x11d)](getEnabledSessionId,_0x265944);if(!_0x3a54a9)return;_0x5ddae3['jiRXu'](printBlock,_0x43c5e9(0x126));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1ca5(){const _0x4ddc9c=['1040696CjrARS','6ISfByw','285578uiysVj','stringify','4LhBHoa','pjIeH','402075FGioVC','10GcwGVP','vQKwh','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.','27410JCqsnB','PostToolUse','2648613xZvcYJ','2561RcTylK','2629417zNofUj','6heoeBT','FtnLt','24936yiYfBh','9nfEzGh'];_0x1ca5=function(){return _0x4ddc9c;};return _0x1ca5();}function _0x136b(_0x1547e4,_0x468de1){_0x1547e4=_0x1547e4-0xd3;const _0x1ca5d6=_0x1ca5();let _0x136b34=_0x1ca5d6[_0x1547e4];return _0x136b34;}(function(_0x206d67,_0x4b5378){const _0x282922=_0x136b,_0x53392a=_0x206d67();while(!![]){try{const _0xdea0fb=parseInt(_0x282922(0xd9))/0x1+-parseInt(_0x282922(0xd5))/0x2*(-parseInt(_0x282922(0xd4))/0x3)+-parseInt(_0x282922(0xd7))/0x4*(-parseInt(_0x282922(0xdd))/0x5)+-parseInt(_0x282922(0xe2))/0x6*(parseInt(_0x282922(0xe1))/0x7)+parseInt(_0x282922(0xd3))/0x8*(parseInt(_0x282922(0xe5))/0x9)+parseInt(_0x282922(0xda))/0xa*(parseInt(_0x282922(0xdf))/0xb)+-parseInt(_0x282922(0xe4))/0xc*(parseInt(_0x282922(0xe0))/0xd);if(_0xdea0fb===_0x4b5378)break;else _0x53392a['push'](_0x53392a['shift']());}catch(_0x54291f){_0x53392a['push'](_0x53392a['shift']());}}}(_0x1ca5,0x441e0));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x102d42){const _0x26ad50=_0x136b,_0x2561f2={'pjIeH':function(_0x4957fe,_0x532287){return _0x4957fe(_0x532287);},'vQKwh':function(_0x224e7e,_0x557fed){return _0x224e7e(_0x557fed);},'FtnLt':_0x26ad50(0xde)},_0x13bcae=await _0x2561f2[_0x26ad50(0xd8)](getEnabledSessionId,_0x102d42);if(!_0x13bcae)return;_0x2561f2[_0x26ad50(0xdb)](updateBranchTracking,_0x13bcae);const _0x43dd24=await getToken();if(!_0x43dd24)return;const _0x5dca7b=getSessionEntry(_0x13bcae);if(_0x5dca7b){const _0x16d61b={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':'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).'}};console['log'](JSON[_0x26ad50(0xd6)](_0x16d61b));return;}const _0x8b4ed={'hookSpecificOutput':{'hookEventName':_0x2561f2[_0x26ad50(0xe3)],'additionalContext':_0x26ad50(0xdc)}};console['log'](JSON[_0x26ad50(0xd6)](_0x8b4ed));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xf9e7c3,_0x2c8d96){const _0x3e0c01=_0xb908,_0x1f24c2=_0xf9e7c3();while(!![]){try{const _0x5b42fc=-parseInt(_0x3e0c01(0x11d))/0x1+-parseInt(_0x3e0c01(0x11b))/0x2+-parseInt(_0x3e0c01(0x118))/0x3+parseInt(_0x3e0c01(0x117))/0x4*(-parseInt(_0x3e0c01(0x11c))/0x5)+-parseInt(_0x3e0c01(0x11a))/0x6*(-parseInt(_0x3e0c01(0x115))/0x7)+parseInt(_0x3e0c01(0x116))/0x8+parseInt(_0x3e0c01(0x114))/0x9;if(_0x5b42fc===_0x2c8d96)break;else _0x1f24c2['push'](_0x1f24c2['shift']());}catch(_0x24d0da){_0x1f24c2['push'](_0x1f24c2['shift']());}}}(_0x5a91,0x574e5));function _0xb908(_0x417c41,_0x28f4c0){_0x417c41=_0x417c41-0x114;const _0x5a9173=_0x5a91();let _0xb908f1=_0x5a9173[_0x417c41];return _0xb908f1;}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';function _0x5a91(){const _0x174cb3=['6VwIluv','1162780cvqIxt','10eysnsr','405699XfHllV','12839094uVGTYz','354466wUTSKW','5635288hNAZDC','915284cyfRle','1137837FSELWn','===\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`.'];_0x5a91=function(){return _0x174cb3;};return _0x5a91();}export async function preCompact(_0x3733eb){const _0x33c671=_0xb908,_0x45a4bf={'cHUTG':function(_0x567416,_0x3b0fe3){return _0x567416(_0x3b0fe3);}},_0x8c6579=await _0x45a4bf['cHUTG'](getEnabledSessionId,_0x3733eb);if(!_0x8c6579)return;try{const _0x18a651=await getToken();if(!_0x18a651)return;printBlock(_0x33c671(0x119));}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x42a2(_0x37cb14,_0x122397){_0x37cb14=_0x37cb14-0xb4;const _0x2b8ab9=_0x2b8a();let _0x42a2dd=_0x2b8ab9[_0x37cb14];return _0x42a2dd;}(function(_0x1b44a3,_0x3eb45f){const _0x2a7359=_0x42a2,_0x46d6b9=_0x1b44a3();while(!![]){try{const _0x29abab=parseInt(_0x2a7359(0xba))/0x1*(-parseInt(_0x2a7359(0xb7))/0x2)+-parseInt(_0x2a7359(0xbf))/0x3+-parseInt(_0x2a7359(0xc0))/0x4*(parseInt(_0x2a7359(0xbc))/0x5)+parseInt(_0x2a7359(0xbb))/0x6*(-parseInt(_0x2a7359(0xbd))/0x7)+-parseInt(_0x2a7359(0xb9))/0x8*(-parseInt(_0x2a7359(0xb4))/0x9)+parseInt(_0x2a7359(0xb5))/0xa+parseInt(_0x2a7359(0xb8))/0xb;if(_0x29abab===_0x3eb45f)break;else _0x46d6b9['push'](_0x46d6b9['shift']());}catch(_0x171226){_0x46d6b9['push'](_0x46d6b9['shift']());}}}(_0x2b8a,0x8525c));function _0x2b8a(){const _0x40c950=['5475zPMWfI','91IXAQjB','CLAUDE_SESSION_ID','3060642zNQKvV','2564NKojYB','1325178XnSikw','5266570ZBJZOc','session_id','766388JVRtJg','18102051NMTAsV','32pYNWxf','1JCJpUT','51042liIdEE'];_0x2b8a=function(){return _0x40c950;};return _0x2b8a();}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x458517){const _0x46b4ee=_0x42a2,_0x2ae290={'fRbkL':function(_0x5c2765,_0x6039b7){return _0x5c2765(_0x6039b7);},'RPFJH':function(_0xb87287){return _0xb87287();}},_0x1a46a0=process['env'][_0x46b4ee(0xbe)];let _0x540d16=_0x458517,_0x42c1e6;if(!_0x458517){if(_0x1a46a0&&!_0x2ae290['fRbkL'](isSessionEnabled,_0x1a46a0))return;const _0x48d818=await _0x2ae290['RPFJH'](readHookInput);_0x540d16=_0x48d818?.[_0x46b4ee(0xb6)]||_0x1a46a0,_0x42c1e6=_0x48d818?.['reason'];}if(!_0x540d16)return;_0x42c1e6==='clear'&&recordEnabledSessionCleared(_0x540d16);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x469c7b=_0x4140;function _0x3521(){const _0x139773=['session_id','528jdXhGS','1050290FDTymM','4igKmsF','source','ErYhX','KseiS','=================================================================\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=================================================================','boxPD','3706895wMafaW','300371hkiBOf','5528229lHUBiT','242568yoovbY','BCfqr','wEYwZ','769755QupbvD','stdin','1311570vgohse','OYVOE','success','LkYdj'];_0x3521=function(){return _0x139773;};return _0x3521();}(function(_0x82090b,_0x566296){const _0x372377=_0x4140,_0x5ec9b2=_0x82090b();while(!![]){try{const _0x14c3e3=-parseInt(_0x372377(0xb7))/0x1+parseInt(_0x372377(0xaf))/0x2+-parseInt(_0x372377(0xa7))/0x3+parseInt(_0x372377(0xb0))/0x4*(-parseInt(_0x372377(0xb6))/0x5)+parseInt(_0x372377(0xa9))/0x6+-parseInt(_0x372377(0xb8))/0x7+parseInt(_0x372377(0xae))/0x8*(parseInt(_0x372377(0xb9))/0x9);if(_0x14c3e3===_0x566296)break;else _0x5ec9b2['push'](_0x5ec9b2['shift']());}catch(_0x4c3453){_0x5ec9b2['push'](_0x5ec9b2['shift']());}}}(_0x3521,0x6a13a));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';function _0x4140(_0xa66fa6,_0x57dbdb){_0xa66fa6=_0xa66fa6-0xa5;const _0x352119=_0x3521();let _0x41405a=_0x352119[_0xa66fa6];return _0x41405a;}const RANGER_AUTO_ENABLED_PROMPT=_0x469c7b(0xb4);export async function sessionStart(_0x545a72){const _0x1c2161=_0x469c7b,_0x333344={'LkYdj':_0x1c2161(0xad),'BCfqr':_0x1c2161(0xb1),'boxPD':function(_0xedaed2,_0x25a260,_0xa80cc1){return _0xedaed2(_0x25a260,_0xa80cc1);},'ErYhX':function(_0x4fe9fd,_0x40fab8){return _0x4fe9fd(_0x40fab8);},'wEYwZ':function(_0x513849){return _0x513849();},'OYVOE':function(_0x1d7c83,_0x5e9f01){return _0x1d7c83!==_0x5e9f01;},'vYSII':'main','kwLhd':'master','KseiS':function(_0x1c53e0,_0x100fe8){return _0x1c53e0+_0x100fe8;}};let _0x397329=_0x545a72||'',_0x211327;if(!_0x545a72){let _0x268d4d='';for await(const _0xa15a3e of process[_0x1c2161(0xa8)]){_0x268d4d+=_0xa15a3e;}try{const _0x2f68e4=JSON['parse'](_0x268d4d);_0x397329=_0x2f68e4[_0x333344[_0x1c2161(0xac)]]||'',_0x211327=_0x2f68e4[_0x333344[_0x1c2161(0xa5)]];}catch{}const _0x5884d3=process['env']['CLAUDE_ENV_FILE'];if(_0x5884d3&&_0x397329)try{await _0x333344[_0x1c2161(0xb5)](appendFile,_0x5884d3,'export\x20CLAUDE_SESSION_ID=\x22'+_0x397329+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x397329){shouldAutoEnableAfterClear(_0x211327)&&autoEnableAfterClear(_0x397329);_0x333344[_0x1c2161(0xb2)](initBranchTracking,_0x397329);const _0x2d0d11=isSessionEnabled(_0x397329);try{const _0x380b54=_0x333344[_0x1c2161(0xb2)](createTelemetryCollector,'hook:session-start');await _0x380b54['trackCommandStart']({'sessionId':_0x397329,'hooksEnabled':_0x2d0d11}),await _0x380b54['trackCommandEnd'](_0x1c2161(0xab));}catch{}if(_0x2d0d11){const _0x501bbb=_0x333344[_0x1c2161(0xa6)](getCurrentBranch),_0x28952f=_0x501bbb&&_0x333344[_0x1c2161(0xaa)](_0x501bbb,_0x333344['vYSII'])&&_0x501bbb!==_0x333344['kwLhd']?'\x20(Branch:\x20'+_0x501bbb+')':'',_0x1ff316={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':_0x333344[_0x1c2161(0xb3)](RANGER_AUTO_ENABLED_PROMPT,_0x28952f)}};console['log'](JSON['stringify'](_0x1ff316));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0xef8782,_0x33c056){const _0x3e215c=_0x58be,_0xf769ca=_0xef8782();while(!![]){try{const _0x56aa1c=-parseInt(_0x3e215c(0x1d4))/0x1+parseInt(_0x3e215c(0x1c4))/0x2*(-parseInt(_0x3e215c(0x1ca))/0x3)+parseInt(_0x3e215c(0x1d6))/0x4+parseInt(_0x3e215c(0x1c9))/0x5+parseInt(_0x3e215c(0x1d3))/0x6+parseInt(_0x3e215c(0x1ce))/0x7+-parseInt(_0x3e215c(0x1d9))/0x8;if(_0x56aa1c===_0x33c056)break;else _0xf769ca['push'](_0xf769ca['shift']());}catch(_0x1f23da){_0xf769ca['push'](_0xf769ca['shift']());}}}(_0x3f79,0xe1a40));import{getToken}from'../utils/keychain.js';function _0x3f79(){const _0x5469b9=['2673477ACccTd','AYuvG','verified','currentSessionId','1258327FpLoAT','qAHtK','some','featureId','ZKzfX','5571558jRIPyK','57897SVftnZ','log','4964040znMvUe','sessionId','incomplete','6890248LyspMd','hook:stop','filter','dVBOF','status','trackCommandEnd','blocked','4vuEVzO','closed','Stop','stringify','https://dashboard.ranger.net/features/','6381780lMapZs'];_0x3f79=function(){return _0x5469b9;};return _0x3f79();}import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';function _0x58be(_0x4550bd,_0x119931){_0x4550bd=_0x4550bd-0x1bf;const _0x3f7906=_0x3f79();let _0x58bec9=_0x3f7906[_0x4550bd];return _0x58bec9;}import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x1acc40){const _0x59facd=_0x58be,_0x48bc3a={'ZKzfX':function(_0x1232be,_0x1fee57,_0x29eb1b,_0x265e36){return _0x1232be(_0x1fee57,_0x29eb1b,_0x265e36);},'EKcJj':function(_0x4581fe,_0x4077ee){return _0x4581fe(_0x4077ee);},'hZkPY':function(_0x3ebc56){return _0x3ebc56();},'PntIF':function(_0x290ded,_0xbf7bf0){return _0x290ded&&_0xbf7bf0;},'dVBOF':function(_0x59052c,_0x5180c5){return _0x59052c(_0x5180c5);},'VedHF':_0x59facd(0x1c6)},_0x140af0=await getEnabledHookContext(_0x1acc40),_0x1736a3=_0x140af0?.[_0x59facd(0x1d7)]??null;let _0x228761=!![];if(!_0x1736a3){await _0x48bc3a[_0x59facd(0x1d2)](trackStop,_0x1736a3,![],_0x228761);return;}try{const _0x130f98=_0x48bc3a['EKcJj'](getSessionEntry,_0x1736a3);if(!_0x130f98){await _0x48bc3a['ZKzfX'](trackStop,_0x1736a3,!![],_0x228761);return;}const _0x362828=await _0x48bc3a['hZkPY'](getToken),_0x1e840b=_0x59facd(0x1c8)+_0x130f98['featureId'];let _0x1243a2=null,_0x1cb1f6=![],_0x18bd53=![];if(_0x362828)try{const _0x338853=await getFeature(_0x130f98[_0x59facd(0x1d1)]);_0x1243a2=_0x338853[_0x59facd(0x1cd)]??null;const _0x956911=_0x338853['checklistItems'][_0x59facd(0x1bf)](_0x1cd397=>_0x1cd397[_0x59facd(0x1d7)]===_0x1243a2);_0x1cb1f6=_0x956911[_0x59facd(0x1d0)](_0x45c792=>_0x45c792[_0x59facd(0x1c1)]!==_0x59facd(0x1cc)&&_0x45c792[_0x59facd(0x1c1)]!==_0x59facd(0x1c3)&&_0x45c792[_0x59facd(0x1c1)]!==_0x59facd(0x1c5)&&_0x45c792['status']!==_0x59facd(0x1d8)),_0x18bd53=_0x956911[_0x59facd(0x1d0)](_0x3dc6a9=>_0x3dc6a9[_0x59facd(0x1c1)]==='verification_in_progress');}catch{}if(_0x48bc3a['PntIF'](_0x362828,_0x1243a2)&&_0x1cb1f6){if(!_0x18bd53&&_0x48bc3a[_0x59facd(0x1c0)](shouldShowStopReminder,_0x1736a3)){const _0x10942e={'hookSpecificOutput':{'hookEventName':_0x48bc3a['VedHF'],'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'+_0x1e840b}};console[_0x59facd(0x1d5)](JSON[_0x59facd(0x1c7)](_0x10942e));}}if(_0x362828&&_0x1243a2&&!_0x1cb1f6)try{await concludeSession(_0x130f98[_0x59facd(0x1d1)],_0x1243a2);}catch{}await trackStop(_0x1736a3,!![],_0x228761);return;}catch{await trackStop(_0x1736a3,!![],_0x228761);return;}}async function trackStop(_0x2c83b8,_0x20ec14,_0x53c05d){const _0x2b27d0=_0x58be,_0x4dc038={'AYuvG':_0x2b27d0(0x1da),'qAHtK':function(_0x59ca0a,_0xf13ce1){return _0x59ca0a??_0xf13ce1;}};try{const _0x10fb56=createTelemetryCollector(_0x4dc038[_0x2b27d0(0x1cb)]);await _0x10fb56['trackCommandStart']({'sessionId':_0x4dc038[_0x2b27d0(0x1cf)](_0x2c83b8,undefined),'hooksEnabled':_0x20ec14,'stopAllowed':_0x53c05d}),await _0x10fb56[_0x2b27d0(0x1c2)]('success');}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2e1992,_0x5ae356){var _0x114fed=_0x1b88,_0x4894c5=_0x2e1992();while(!![]){try{var _0x175399=-parseInt(_0x114fed(0x1a4))/0x1*(parseInt(_0x114fed(0x1a7))/0x2)+parseInt(_0x114fed(0x1a2))/0x3+parseInt(_0x114fed(0x1a6))/0x4*(parseInt(_0x114fed(0x19f))/0x5)+parseInt(_0x114fed(0x1a0))/0x6+-parseInt(_0x114fed(0x1a3))/0x7+parseInt(_0x114fed(0x1a1))/0x8+parseInt(_0x114fed(0x1a8))/0x9*(-parseInt(_0x114fed(0x1a5))/0xa);if(_0x175399===_0x5ae356)break;else _0x4894c5['push'](_0x4894c5['shift']());}catch(_0x3cb9a6){_0x4894c5['push'](_0x4894c5['shift']());}}}(_0x31d1,0x67f7b));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';function _0x1b88(_0x44753d,_0xb0e71e){_0x44753d=_0x44753d-0x19f;var _0x31d199=_0x31d1();var _0x1b8880=_0x31d199[_0x44753d];return _0x1b8880;}export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';function _0x31d1(){var _0x4d98f=['1026536deGVoY','32uUmOKn','9288410VVRqAz','48196tLQfUR','40622TCfiYp','9WQtUXE','240BKXAhh','4403460YGFdfM','3008576QjaFqJ','1388874VsnBbU'];_0x31d1=function(){return _0x4d98f;};return _0x31d1();}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(_0x27aee0,_0x36a49b){const _0x313c92=_0x1723,_0x50b739=_0x27aee0();while(!![]){try{const _0x452837=-parseInt(_0x313c92(0x89))/0x1+parseInt(_0x313c92(0x8d))/0x2*(parseInt(_0x313c92(0x91))/0x3)+-parseInt(_0x313c92(0x95))/0x4*(parseInt(_0x313c92(0x8f))/0x5)+-parseInt(_0x313c92(0x98))/0x6+parseInt(_0x313c92(0x96))/0x7+parseInt(_0x313c92(0x8e))/0x8*(parseInt(_0x313c92(0x90))/0x9)+parseInt(_0x313c92(0x9a))/0xa*(parseInt(_0x313c92(0x8c))/0xb);if(_0x452837===_0x36a49b)break;else _0x50b739['push'](_0x50b739['shift']());}catch(_0x363cb7){_0x50b739['push'](_0x50b739['shift']());}}}(_0x514e,0x65cb0));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x1723(_0x21ae9e,_0x1d85d9){_0x21ae9e=_0x21ae9e-0x87;const _0x514e3e=_0x514e();let _0x17238e=_0x514e3e[_0x21ae9e];return _0x17238e;}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x514e(){const _0x922f3f=['4740WWKcpU','125629PnjOWc','XSncJ','336030pSNhcB','stdout','36670ahlSFA','Re-authenticating\x20via\x20MCP\x20bootstrap...','success','Login\x20failed:\x20','isTTY','450774kQwXAA','tFeuo','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','1969HNxIZh','14VxTixc','674264CKPWFv','2155tJOndT','27gAclxZ','217401ACbSXF','log','message','user'];_0x514e=function(){return _0x922f3f;};return _0x514e();}export async function login(){const _0x27161f=_0x1723,_0x4cde15={'tFeuo':function(_0x2eb86c){return _0x2eb86c();},'XSncJ':_0x27161f(0x9b)},_0x10eb6d=await _0x4cde15[_0x27161f(0x8a)](getMcpAuthOrigin);if(_0x10eb6d){console[_0x27161f(0x92)](_0x4cde15[_0x27161f(0x97)]),await _0x4cde15['tFeuo'](mcpBootstrap);return;}const _0x26b4b6=process['stdin']['isTTY']&&process[_0x27161f(0x99)][_0x27161f(0x88)];if(!_0x26b4b6)throw new Error(_0x27161f(0x8b));try{const _0x4b5e86=await runDeviceAuthFlow(),_0xbb6846=await getCurrentUser(_0x4b5e86);_0xbb6846[_0x27161f(0x9c)]?console[_0x27161f(0x92)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0xbb6846[_0x27161f(0x94)]['organizationName']):console['log']('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x9981f9){throw new Error(_0x27161f(0x87)+(_0x9981f9 instanceof Error?_0x9981f9[_0x27161f(0x93)]:_0x9981f9));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x1c9213=_0xbb61;(function(_0x1a1873,_0xd8a8f5){const _0x4b75ab=_0xbb61,_0x32659d=_0x1a1873();while(!![]){try{const _0x323e94=-parseInt(_0x4b75ab(0x9c))/0x1*(-parseInt(_0x4b75ab(0x85))/0x2)+parseInt(_0x4b75ab(0xcb))/0x3+-parseInt(_0x4b75ab(0x88))/0x4*(parseInt(_0x4b75ab(0xbd))/0x5)+parseInt(_0x4b75ab(0x8b))/0x6+-parseInt(_0x4b75ab(0x72))/0x7+parseInt(_0x4b75ab(0x73))/0x8+-parseInt(_0x4b75ab(0xc2))/0x9*(-parseInt(_0x4b75ab(0xd3))/0xa);if(_0x323e94===_0xd8a8f5)break;else _0x32659d['push'](_0x32659d['shift']());}catch(_0x13d0fa){_0x32659d['push'](_0x32659d['shift']());}}}(_0x4aec,0xae68d));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(),'.ranger',_0x1c9213(0xa3));export async function getMcpAuthOrigin(){const _0x1b38ed=_0x1c9213,_0x2165eb={'dGOda':function(_0x46247d,_0x2366db,_0x21be4a){return _0x46247d(_0x2366db,_0x21be4a);}};try{const _0x41ccfa=(await _0x2165eb['dGOda'](readFile,AUTH_ORIGIN_PATH,_0x1b38ed(0x89)))['trim']();return _0x41ccfa||null;}catch{return null;}}export async function mcpBootstrap(){const _0x2a68ba=_0x1c9213,_0x4b77f6={'LMhaN':function(_0x347fad,_0x2ebe8a){return _0x347fad===_0x2ebe8a;},'AYjZY':_0x2a68ba(0xce),'zoAbk':function(_0xbd970d){return _0xbd970d();},'pRtxR':function(_0x170e46,_0x433c6b){return _0x170e46+_0x433c6b;},'XTrWn':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','tIuaX':function(_0x8fac56,_0x4b0ce5){return _0x8fac56(_0x4b0ce5);},'xjWbg':function(_0x41aba7,_0x3e31a5,_0x543c9d){return _0x41aba7(_0x3e31a5,_0x543c9d);}},_0x3e00b2=getMcpAuthUrl();currentOrigin=_0x3e00b2;const _0x5a12ac=process['stdout'][_0x2a68ba(0xb0)]??![];console[_0x2a68ba(0xe8)](_0x2a68ba(0xde)+_0x3e00b2+'\x0a');const _0x3c6619=await tryUnauthenticated(_0x3e00b2);let _0x54584e=null;if(_0x4b77f6[_0x2a68ba(0xd6)](_0x3c6619,_0x4b77f6['AYjZY']))_0x54584e='';else{_0x54584e=await _0x4b77f6['zoAbk'](loadCachedToken);if(!_0x54584e){if(!_0x5a12ac)throw new Error(_0x4b77f6['pRtxR'](_0x4b77f6['XTrWn'],'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'));_0x54584e=await _0x4b77f6['tIuaX'](oauthFlow,_0x3e00b2);}}await _0x4b77f6[_0x2a68ba(0xaa)](callGetCliToken,_0x3e00b2,_0x54584e);}async function tryUnauthenticated(_0x5aa428){const _0x645a2e=_0x1c9213,_0x2ed02a={'SrniP':_0x645a2e(0xd5),'IdUDm':_0x645a2e(0xee),'CSKFj':'application/json,\x20text/event-stream','kgmhA':'2.0','WIwnv':_0x645a2e(0xab),'vgwcS':'2025-03-26','CiYiy':'ranger-cli','gDpUd':function(_0x1134e5,_0x2343fb){return _0x1134e5===_0x2343fb;},'ruKKU':_0x645a2e(0xd0)},_0x431f3e=await fetch(_0x5aa428,{'method':_0x2ed02a['SrniP'],'headers':{'Content-Type':_0x2ed02a[_0x645a2e(0xbe)],'Accept':_0x2ed02a['CSKFj']},'body':JSON[_0x645a2e(0x9e)]({'jsonrpc':_0x2ed02a[_0x645a2e(0x78)],'id':0x1,'method':_0x2ed02a['WIwnv'],'params':{'protocolVersion':_0x2ed02a['vgwcS'],'capabilities':{},'clientInfo':{'name':_0x2ed02a['CiYiy'],'version':'1.0.0'}}})});if(_0x431f3e['ok'])return await _0x431f3e['text'](),_0x645a2e(0xce);if(_0x2ed02a['gDpUd'](_0x431f3e['status'],0x191))return await _0x431f3e[_0x645a2e(0x96)](),_0x2ed02a[_0x645a2e(0xe5)];const _0x3edcfa=await _0x431f3e[_0x645a2e(0x96)]();throw new Error(_0x645a2e(0x80)+_0x431f3e[_0x645a2e(0xbc)]+':\x20'+_0x3edcfa);}class OAuthTimeoutError extends Error{constructor(_0x312fd4){const _0x1f0542=_0x1c9213,_0x1d75b0={'XIftN':_0x1f0542(0xba)};super(_0x312fd4),this['name']=_0x1d75b0['XIftN'];}}async function oauthFlow(_0x1a9bd7){const _0x2f7480=_0x1c9213,_0x45f026={'fOCgg':function(_0x771eec,_0x60610e){return _0x771eec(_0x60610e);},'PJceA':function(_0x34ac67){return _0x34ac67();},'XBmGO':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await _0x45f026['fOCgg'](oauthFlowAttempt,_0x1a9bd7);}catch(_0x5ceec2){if(_0x5ceec2 instanceof OAuthTimeoutError&&await _0x45f026[_0x2f7480(0xa9)](loadCachedClient))return console[_0x2f7480(0xe8)](_0x45f026[_0x2f7480(0xc3)]),await clearCachedClient(),await oauthFlowAttempt(_0x1a9bd7);throw _0x5ceec2;}}async function oauthFlowAttempt(_0x4c5203){const _0x1f3a43=_0x1c9213,_0x5e16e2={'LivIW':function(_0x380b4a,_0x1d41bd){return _0x380b4a(_0x1d41bd);},'NwscY':function(_0x59251f,_0x2a4f16){return _0x59251f(_0x2a4f16);},'nxCRs':_0x1f3a43(0xb1),'miAJx':'application/json','UYcEs':'refresh_token','xGPkd':'code','KUIgc':function(_0x26dc0b,_0x5472f9,_0x22b1b4){return _0x26dc0b(_0x5472f9,_0x22b1b4);},'CNHqH':_0x1f3a43(0xb4),'YlwWB':_0x1f3a43(0xcf),'hjHYM':function(_0x31a8de,_0x9743cf){return _0x31a8de(_0x9743cf);},'DMakZ':'base64url','wIWwU':'response_type','wqObm':'code_challenge_method','nAXIx':_0x1f3a43(0x90),'vWvnO':'resource','ZNdBf':_0x1f3a43(0x99),'wJVAY':_0x1f3a43(0x71),'vQjoR':'client_secret','pGsef':function(_0x30338d,_0x4de567,_0x2c4c6d){return _0x30338d(_0x4de567,_0x2c4c6d);},'Gvxyv':_0x1f3a43(0xad),'uqdtD':function(_0x194b3c,_0x514816,_0x44293f,_0x5efae7){return _0x194b3c(_0x514816,_0x44293f,_0x5efae7);}},_0x5ede23=_0x4c5203[_0x1f3a43(0xec)](/\/mcp$/,'');process['stdout'][_0x1f3a43(0x9f)](_0x1f3a43(0xa1));const _0x3b2248=await _0x5e16e2[_0x1f3a43(0xd7)](fetch,_0x5ede23+'/.well-known/oauth-protected-resource');if(!_0x3b2248['ok'])throw new Error(_0x1f3a43(0xc6));const _0x20f192=await _0x3b2248['json'](),_0x3e7094=_0x20f192[_0x1f3a43(0xf2)]?.[0x0];if(!_0x3e7094)throw new Error(_0x1f3a43(0xb9));console[_0x1f3a43(0xe8)]('\x20'+_0x3e7094);const _0x5b685a=await _0x5e16e2[_0x1f3a43(0xdd)](fetchAuthServerMetadata,_0x3e7094);let _0x231ee5,_0x1e6a24;const _0x282c3d=await loadCachedClient();if(_0x282c3d)_0x231ee5=_0x282c3d[_0x1f3a43(0x69)],_0x1e6a24=_0x282c3d['clientSecret'];else{if(_0x5b685a[_0x1f3a43(0xdb)]){process['stdout']['write'](_0x5e16e2['nxCRs']);const _0x17aa54=await fetch(_0x5b685a['registration_endpoint'],{'method':'POST','headers':{'Content-Type':_0x5e16e2[_0x1f3a43(0x94)]},'body':JSON[_0x1f3a43(0x9e)]({'client_name':'Ranger\x20CLI','redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x1f3a43(0x8a)],'grant_types':[_0x1f3a43(0x71),_0x5e16e2[_0x1f3a43(0xac)]],'response_types':[_0x5e16e2[_0x1f3a43(0x7a)]],'token_endpoint_auth_method':_0x1f3a43(0x91)})});if(!_0x17aa54['ok']){const _0x26c499=await _0x17aa54[_0x1f3a43(0x96)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x26c499);}const _0x3e1b00=await _0x17aa54['json']();_0x231ee5=_0x3e1b00['client_id'],_0x1e6a24=_0x3e1b00[_0x1f3a43(0xa0)],await _0x5e16e2[_0x1f3a43(0x87)](saveCachedClient,_0x231ee5,_0x1e6a24),console['log'](_0x5e16e2['CNHqH']);}else throw new Error(_0x5e16e2['YlwWB']);}const _0x4cc579=_0x5e16e2['hjHYM'](randomBytes,0x20)[_0x1f3a43(0x9a)]('base64url'),_0x7a765b=createHash(_0x1f3a43(0xf0))['update'](_0x4cc579)['digest'](_0x5e16e2['DMakZ']),_0x1286bf=_0x5e16e2['hjHYM'](randomBytes,0x10)[_0x1f3a43(0x9a)](_0x1f3a43(0xb8)),_0x471ee0=new URL(_0x5b685a['authorization_endpoint']);_0x471ee0['searchParams'][_0x1f3a43(0xcc)](_0x5e16e2['wIWwU'],_0x5e16e2['xGPkd']),_0x471ee0[_0x1f3a43(0xaf)][_0x1f3a43(0xcc)]('client_id',_0x231ee5),_0x471ee0['searchParams']['set']('redirect_uri','http://localhost:'+CALLBACK_PORT+_0x1f3a43(0x8a)),_0x471ee0['searchParams'][_0x1f3a43(0xcc)]('code_challenge',_0x7a765b),_0x471ee0['searchParams']['set'](_0x5e16e2[_0x1f3a43(0x70)],_0x5e16e2['nAXIx']),_0x471ee0['searchParams'][_0x1f3a43(0xcc)](_0x1f3a43(0xbb),_0x1286bf);_0x20f192[_0x1f3a43(0x8d)]&&_0x471ee0['searchParams'][_0x1f3a43(0xcc)](_0x5e16e2[_0x1f3a43(0xdf)],_0x20f192['resource']);console['log']('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x1f3a43(0xe8)](_0x1f3a43(0xa2)+_0x471ee0[_0x1f3a43(0x9a)]()+'\x0a'),await openBrowser(_0x471ee0[_0x1f3a43(0x9a)]());const _0x5a3db2=await waitForCallback(_0x1286bf);process[_0x1f3a43(0xf4)]['write'](_0x5e16e2[_0x1f3a43(0xc4)]);const _0x2aac6e=new URLSearchParams({'grant_type':_0x5e16e2['wJVAY'],'code':_0x5a3db2,'redirect_uri':_0x1f3a43(0x86)+CALLBACK_PORT+'/callback','client_id':_0x231ee5,'code_verifier':_0x4cc579});_0x1e6a24&&_0x2aac6e['set'](_0x5e16e2['vQjoR'],_0x1e6a24);_0x20f192[_0x1f3a43(0x8d)]&&_0x2aac6e['set']('resource',_0x20f192['resource']);const _0x45ec28=await _0x5e16e2[_0x1f3a43(0x7f)](fetch,_0x5b685a[_0x1f3a43(0xa8)],{'method':_0x1f3a43(0xd5),'headers':{'Content-Type':_0x5e16e2['Gvxyv']},'body':_0x2aac6e});if(!_0x45ec28['ok']){const _0x4e85c9=await _0x45ec28[_0x1f3a43(0x96)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x4e85c9);}const _0x446a02=await _0x45ec28['json']();return console['log']('\x20done'),await _0x5e16e2[_0x1f3a43(0xe1)](saveCachedToken,_0x446a02[_0x1f3a43(0x7d)],_0x446a02['refresh_token'],_0x446a02['expires_in']),_0x446a02['access_token'];}async function callGetCliToken(_0x1ab83f,_0x4213d4){const _0x3ba3e4=_0x1c9213,_0x359221={'QpWSz':function(_0x48e915,_0x165fa2,_0x22ca8d){return _0x48e915(_0x165fa2,_0x22ca8d);},'skwgL':function(_0x3a9d29,_0xb6fdb1){return _0x3a9d29(_0xb6fdb1);},'zUnNk':_0x3ba3e4(0xea),'DNxSg':_0x3ba3e4(0xf3),'udyDR':_0x3ba3e4(0xab),'FCsMa':_0x3ba3e4(0xb4),'uCORV':_0x3ba3e4(0xd5),'GUuPA':_0x3ba3e4(0x74),'SWvAw':'notifications/initialized','eNuyb':_0x3ba3e4(0xd9),'RxHSe':_0x3ba3e4(0x82),'gesRp':function(_0x758203){return _0x758203();},'NPJMm':function(_0x137edc,_0x554633,_0x1e618e){return _0x137edc(_0x554633,_0x1e618e);},'aIvVB':function(_0x4875ea,_0x4da8fd,_0x1b9a2d,_0x452f72){return _0x4875ea(_0x4da8fd,_0x1b9a2d,_0x452f72);}},_0x42e9ee={'Content-Type':_0x3ba3e4(0xee),'Accept':_0x359221['zUnNk']};_0x4213d4&&(_0x42e9ee[_0x3ba3e4(0xb3)]=_0x3ba3e4(0x93)+_0x4213d4);const _0x5aa627=async _0x413abb=>{const _0x51cc36=_0x3ba3e4,_0x39ec4d=await _0x359221[_0x51cc36(0xef)](fetch,_0x1ab83f,{'method':'POST','headers':_0x42e9ee,'body':JSON['stringify'](_0x413abb)});if(!_0x39ec4d['ok']){const _0xfb842c=await _0x39ec4d['text']();throw new Error(_0x51cc36(0x6a)+_0x39ec4d[_0x51cc36(0xbc)]+':\x20'+_0xfb842c);}return _0x359221[_0x51cc36(0xca)](parseResponse,_0x39ec4d);};process['stdout']['write'](_0x359221[_0x3ba3e4(0x6f)]);const _0x2c9e86=await _0x359221['skwgL'](_0x5aa627,{'jsonrpc':_0x3ba3e4(0x74),'id':0x1,'method':_0x359221['udyDR'],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x3ba3e4(0x7b)}}});if(_0x2c9e86[_0x3ba3e4(0xc8)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x2c9e86[_0x3ba3e4(0xc8)]['message']??JSON['stringify'](_0x2c9e86['error'])));console[_0x3ba3e4(0xe8)](_0x359221[_0x3ba3e4(0xe2)]),await fetch(_0x1ab83f,{'method':_0x359221['uCORV'],'headers':_0x42e9ee,'body':JSON['stringify']({'jsonrpc':_0x359221['GUuPA'],'method':_0x359221[_0x3ba3e4(0xc7)]})})['then'](_0x16dc4b=>_0x16dc4b['text']()),process['stdout']['write'](_0x359221[_0x3ba3e4(0x83)]);const _0x12d1dd=await _0x5aa627({'jsonrpc':_0x359221['GUuPA'],'id':0x2,'method':_0x359221[_0x3ba3e4(0x9d)],'params':{'name':'get_cli_token','arguments':{}}});if(_0x12d1dd['error'])throw new Error(_0x3ba3e4(0xa6)+(_0x12d1dd['error'][_0x3ba3e4(0x75)]??JSON[_0x3ba3e4(0x9e)](_0x12d1dd[_0x3ba3e4(0xc8)])));console['log'](_0x359221['FCsMa']);const _0x3eb4d6=extractToken(_0x12d1dd['result']);if(!_0x3eb4d6){console['error'](_0x3ba3e4(0xe4)),console[_0x3ba3e4(0xc8)](JSON['stringify'](_0x12d1dd[_0x3ba3e4(0x95)],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x5e7bc4=_0x359221['QpWSz'](join,_0x359221['gesRp'](homedir),'.ranger'),_0x41dfa3=join(_0x5e7bc4,'refresh.txt');await _0x359221['NPJMm'](mkdir,_0x5e7bc4,{'recursive':!![]}),await _0x359221[_0x3ba3e4(0x84)](writeFile,_0x41dfa3,_0x3eb4d6,{'mode':0x180}),await writeFile(join(_0x5e7bc4,'auth-origin.txt'),_0x1ab83f,{'mode':0x180}),console[_0x3ba3e4(0xe8)]('\x0aToken\x20written\x20to\x20'+_0x41dfa3),console['log'](_0x3ba3e4(0xbf));}async function fetchAuthServerMetadata(_0x216528){const _0xcfb901=_0x1c9213,_0x573b19=_0x216528+'/.well-known/oauth-authorization-server',_0x5025f2=await fetch(_0x573b19);if(!_0x5025f2['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x573b19+':\x20'+_0x5025f2['status']);return _0x5025f2[_0xcfb901(0xdc)]();}function waitForCallback(_0x3883eb){const _0x17b3c6=_0x1c9213,_0x1cf1e3={'YmRFi':_0x17b3c6(0xc8),'bWAof':'error_description','LbdbB':'text/html','vWIeB':function(_0x5e0999,_0x3d3872){return _0x5e0999!==_0x3d3872;},'mZJDl':_0x17b3c6(0x7c),'OPHAx':_0x17b3c6(0x6d),'peiGZ':function(_0x74960f,_0x290eee){return _0x74960f(_0x290eee);},'BJwNE':_0x17b3c6(0xcd)};return new Promise((_0x387a2f,_0x21340c)=>{const _0x494902=_0x17b3c6,_0x2a9d0d=setTimeout(()=>{const _0x31c6aa=_0xbb61;_0x1ee9b1['close'](),_0x21340c(new OAuthTimeoutError(_0x31c6aa(0xeb)));},0x1d4c0),_0x1ee9b1=_0x1cf1e3[_0x494902(0x8f)](createServer,(_0x52addc,_0x52bf82)=>{const _0x4a1461=_0x494902,_0x38dfce=new URL(_0x52addc[_0x4a1461(0xa7)]??'/',_0x4a1461(0x86)+CALLBACK_PORT);if(_0x38dfce['pathname']!=='/callback'){_0x52bf82['writeHead'](0x194),_0x52bf82[_0x4a1461(0xa4)](_0x4a1461(0xc5));return;}const _0x2bcf21=_0x38dfce[_0x4a1461(0xaf)]['get']('code'),_0x53a5a4=_0x38dfce['searchParams'][_0x4a1461(0xe0)](_0x4a1461(0xbb)),_0xa8c752=_0x38dfce['searchParams']['get'](_0x1cf1e3['YmRFi']);if(_0xa8c752){const _0x5df54b=_0x38dfce[_0x4a1461(0xaf)]['get'](_0x1cf1e3['bWAof'])??_0xa8c752;_0x52bf82[_0x4a1461(0xd2)](0xc8,{'Content-Type':_0x1cf1e3[_0x4a1461(0x66)]}),_0x52bf82[_0x4a1461(0xa4)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x5df54b+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x2a9d0d),_0x1ee9b1['close'](),_0x21340c(new Error(_0x4a1461(0xae)+_0x5df54b));return;}if(!_0x2bcf21||_0x1cf1e3['vWIeB'](_0x53a5a4,_0x3883eb)){_0x52bf82[_0x4a1461(0xd2)](0x190,{'Content-Type':_0x1cf1e3[_0x4a1461(0x66)]}),_0x52bf82[_0x4a1461(0xa4)](_0x1cf1e3['mZJDl']);return;}_0x52bf82['writeHead'](0xc8,{'Content-Type':_0x4a1461(0x65)}),_0x52bf82['end'](_0x1cf1e3['OPHAx']),clearTimeout(_0x2a9d0d),_0x1ee9b1['close'](),_0x387a2f(_0x2bcf21);});_0x1ee9b1['listen'](CALLBACK_PORT,_0x1cf1e3[_0x494902(0xed)]);});}async function openBrowser(_0x591b21){const _0x6c2145=_0x1c9213,_0x1f9cb1={'jRPCb':function(_0x3b24f6,_0xec87e2){return _0x3b24f6===_0xec87e2;},'WKoNC':_0x6c2145(0x97),'ECKlF':_0x6c2145(0xe7),'jFwhm':_0x6c2145(0xc0),'suATu':function(_0x339c3e,_0x21239b){return _0x339c3e(_0x21239b);}},{exec:_0x813bbb}=await import('child_process'),_0x2e3c5e=_0x1f9cb1[_0x6c2145(0x8e)](process[_0x6c2145(0x79)],_0x1f9cb1['WKoNC'])?_0x1f9cb1[_0x6c2145(0xd4)]:process['platform']==='win32'?_0x6c2145(0xb6):_0x1f9cb1['jFwhm'];_0x1f9cb1['suATu'](_0x813bbb,_0x2e3c5e+'\x20\x22'+_0x591b21+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x3122f=_0x1c9213,_0x4b6cfc={'qgxao':function(_0x13f751,_0x117c45){return _0x13f751!==_0x117c45;},'BUVgm':function(_0x304a42,_0x1047b2){return _0x304a42>_0x1047b2;}};try{const _0x19acc1=JSON[_0x3122f(0xda)](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x19acc1[_0x3122f(0x67)]&&_0x4b6cfc[_0x3122f(0x9b)](_0x19acc1['origin'],currentOrigin))return null;if(_0x19acc1[_0x3122f(0x7e)]&&_0x4b6cfc['BUVgm'](Date['now'](),_0x19acc1[_0x3122f(0x7e)]))return null;return _0x19acc1['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x215c1d,_0x242581,_0x3f0e05){const _0x32b82b=_0x1c9213,_0x569373={'WCaOZ':function(_0x56b362){return _0x56b362();},'UPPuP':function(_0x4979d2,_0x3101a9){return _0x4979d2+_0x3101a9;}},_0x2ae3db=await _0x569373['WCaOZ'](loadCachedData),_0x4b7a5c={..._0x2ae3db,'origin':currentOrigin,'accessToken':_0x215c1d,'refreshToken':_0x242581??_0x2ae3db?.[_0x32b82b(0x6e)],'expiresAt':_0x3f0e05?_0x569373[_0x32b82b(0x77)](Date['now'](),_0x3f0e05*0x3e8):undefined};await mkdir(join(homedir(),_0x32b82b(0x6b)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x4b7a5c),{'mode':0x180});}async function loadCachedClient(){const _0x37dc80=_0x1c9213,_0x21b210={'OmJAP':function(_0x3730c8){return _0x3730c8();}},_0x1c9bcb=await _0x21b210['OmJAP'](loadCachedData);if(_0x1c9bcb?.['origin']&&_0x1c9bcb[_0x37dc80(0x67)]!==currentOrigin)return null;return _0x1c9bcb?.[_0x37dc80(0x69)]?{'clientId':_0x1c9bcb[_0x37dc80(0x69)],'clientSecret':_0x1c9bcb[_0x37dc80(0x98)]}:null;}async function clearCachedClient(){const _0x3413c5=_0x1c9213,_0x21a000=await loadCachedData();if(!_0x21a000)return;const {clientId:_0x4b744c,clientSecret:_0x2c3673,..._0x36db63}=_0x21a000;await writeFile(TOKEN_CACHE_PATH,JSON[_0x3413c5(0x9e)](_0x36db63),{'mode':0x180});}async function saveCachedClient(_0x3f2566,_0x33b16f){const _0x586d52=_0x1c9213,_0x37255b={'LvuBI':function(_0x3838bf){return _0x3838bf();},'uKzzV':function(_0x161108,_0x2ccf8e,_0x12f5a4){return _0x161108(_0x2ccf8e,_0x12f5a4);},'vfsjj':function(_0x131f55){return _0x131f55();}},_0x717506=await _0x37255b[_0x586d52(0xe9)](loadCachedData),_0x971103={..._0x717506,'origin':currentOrigin,'accessToken':_0x717506?.[_0x586d52(0x8c)]??'','clientId':_0x3f2566,'clientSecret':_0x33b16f};await mkdir(_0x37255b['uKzzV'](join,_0x37255b['vfsjj'](homedir),_0x586d52(0x6b)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x586d52(0x9e)](_0x971103),{'mode':0x180});}function _0xbb61(_0x17a324,_0x5a7f89){_0x17a324=_0x17a324-0x65;const _0x4aecbb=_0x4aec();let _0xbb610a=_0x4aecbb[_0x17a324];return _0xbb610a;}function _0x4aec(){const _0x19107c=['http://localhost:','KUIgc','16DJLroa','utf-8','/callback','2818728eEmmcx','accessToken','resource','jRPCb','peiGZ','S256','none','string','Bearer\x20','miAJx','result','text','darwin','clientSecret','Exchanging\x20authorization\x20code...','toString','qgxao','1243ncTjaj','RxHSe','stringify','write','client_secret','Discovering\x20authorization\x20server...','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','auth-origin.txt','end','startsWith','get_cli_token\x20failed:\x20','url','token_endpoint','PJceA','xjWbg','initialize','UYcEs','application/x-www-form-urlencoded','OAuth\x20error:\x20','searchParams','isTTY','Registering\x20OAuth\x20client...','WZZSK','Authorization','\x20done','length','start','VrveD','hex','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','OAuthTimeoutError','state','status','636465lNOWlN','IdUDm','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','xdg-open','text/event-stream','576XXMOpM','XBmGO','ZNdBf','Not\x20found','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','SWvAw','error','token','skwgL','1229343oWmRKU','set','127.0.0.1','proxied','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','needs-oauth','slice','writeHead','44130TGOHIB','ECKlF','POST','LMhaN','LivIW','NqZsg','Requesting\x20CLI\x20token...','parse','registration_endpoint','json','NwscY','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','vWvnO','get','uqdtD','FCsMa','includes','\x0aUnexpected\x20response\x20structure:','ruKKU','content-type','open','log','LvuBI','application/json,\x20text/event-stream','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','replace','BJwNE','application/json','QpWSz','sha256','headers','authorization_servers','Initializing\x20MCP\x20session...','stdout','text/html','LbdbB','origin','trim','clientId','HTTP\x20','.ranger','qbxQj','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','refreshToken','DNxSg','wqObm','authorization_code','5151972esFTOK','5962736BTEpeG','2.0','message','isError','UPPuP','kgmhA','platform','xGPkd','1.0.0','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','access_token','expiresAt','pGsef','MCP\x20server\x20returned\x20HTTP\x20','data:','tools/call','eNuyb','aIvVB','84AbhySZ'];_0x4aec=function(){return _0x19107c;};return _0x4aec();}async function loadCachedData(){const _0xa9b96=_0x1c9213,_0x1fe818={'WZZSK':_0xa9b96(0x89)};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x1fe818[_0xa9b96(0xb2)]));}catch{return null;}}async function parseResponse(_0x2da509){const _0xaf5631=_0x1c9213,_0x2c207f={'fbaqT':_0xaf5631(0xe6),'VrveD':_0xaf5631(0x81)},_0xacdd33=_0x2da509[_0xaf5631(0xf1)]['get'](_0x2c207f['fbaqT'])??'';if(_0xacdd33[_0xaf5631(0xe3)](_0xaf5631(0xc1))){const _0x27fbb7=await _0x2da509[_0xaf5631(0x96)]();for(const _0x568218 of _0x27fbb7['split']('\x0a')){const _0x42713f=_0x568218[_0xaf5631(0x68)]();if(_0x42713f[_0xaf5631(0xa5)]('data:')){const _0x4683b1=_0x42713f[_0xaf5631(0xd1)](_0x2c207f[_0xaf5631(0xb7)][_0xaf5631(0xb5)])['trim']();if(!_0x4683b1)continue;try{const _0x566c2f=JSON['parse'](_0x4683b1);if(_0x566c2f['id']!==undefined||_0x566c2f['error'])return _0x566c2f;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x2da509['json']();}function extractToken(_0x529de4){const _0x50d942=_0x1c9213,_0x27675d={'jdhiN':function(_0x205ac6,_0x44ba6a){return _0x205ac6===_0x44ba6a;},'NqZsg':function(_0x4e839a,_0x380daf){return _0x4e839a===_0x380daf;},'Tukgt':_0x50d942(0x96),'qbxQj':_0x50d942(0x92)};if(!_0x529de4)return null;const _0x937c14=_0x529de4['structuredContent'];if(_0x937c14?.[_0x50d942(0xc9)]&&_0x27675d['jdhiN'](typeof _0x937c14[_0x50d942(0xc9)],'string'))return _0x937c14['token'];if(_0x529de4[_0x50d942(0x76)]){const _0x55fa04=_0x529de4['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x55fa04?.[0x0]?.[_0x50d942(0x96)]??'Unknown\x20error'));}const _0x1509db=_0x529de4['content'];if(_0x1509db)for(const _0x410fef of _0x1509db){if(_0x27675d['NqZsg'](_0x410fef['type'],_0x27675d['Tukgt'])&&_0x410fef['text']){try{const _0x59cc1a=JSON[_0x50d942(0xda)](_0x410fef[_0x50d942(0x96)]);if(_0x27675d[_0x50d942(0xd8)](typeof _0x59cc1a?.[_0x50d942(0xc9)],_0x27675d[_0x50d942(0x6c)]))return _0x59cc1a[_0x50d942(0xc9)];}catch{}const _0x2d9a82=_0x410fef[_0x50d942(0x96)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x2d9a82)return _0x2d9a82[0x1];}}return null;}
|
|
1
|
+
const _0x2e64c3=_0x4df8;(function(_0x2588d5,_0x375047){const _0x2ed581=_0x4df8,_0x5e870a=_0x2588d5();while(!![]){try{const _0x15825e=parseInt(_0x2ed581(0x100))/0x1*(parseInt(_0x2ed581(0x99))/0x2)+parseInt(_0x2ed581(0xe6))/0x3+-parseInt(_0x2ed581(0xdb))/0x4*(-parseInt(_0x2ed581(0x89))/0x5)+parseInt(_0x2ed581(0x87))/0x6*(parseInt(_0x2ed581(0x98))/0x7)+parseInt(_0x2ed581(0x7f))/0x8*(parseInt(_0x2ed581(0xf9))/0x9)+parseInt(_0x2ed581(0xd0))/0xa+-parseInt(_0x2ed581(0x102))/0xb;if(_0x15825e===_0x375047)break;else _0x5e870a['push'](_0x5e870a['shift']());}catch(_0x1a7463){_0x5e870a['push'](_0x5e870a['shift']());}}}(_0x2ae2,0x2a7ae));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x2e64c3(0xad)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x3e33f2=_0x2e64c3,_0x535556={'aWjIb':function(_0x25406d,_0xfd6c0c,_0x337e4e){return _0x25406d(_0xfd6c0c,_0x337e4e);},'jUBdR':_0x3e33f2(0xbd)};try{const _0x11c533=(await _0x535556['aWjIb'](readFile,AUTH_ORIGIN_PATH,_0x535556[_0x3e33f2(0x101)]))['trim']();return _0x11c533||null;}catch{return null;}}export async function mcpBootstrap(){const _0x30b5a1=_0x2e64c3,_0x4fc85d={'aZHoF':function(_0x2fa5c8,_0x144428){return _0x2fa5c8(_0x144428);},'GbItz':_0x30b5a1(0x9e)},_0xbc3fef=getMcpAuthUrl();currentOrigin=_0xbc3fef;const _0x73d0ad=process['stdout']['isTTY']??![];console['log'](_0x30b5a1(0x93)+_0xbc3fef+'\x0a');const _0x4dc5f1=await _0x4fc85d['aZHoF'](tryUnauthenticated,_0xbc3fef);let _0x44acef=null;if(_0x4dc5f1===_0x4fc85d['GbItz'])_0x44acef='';else{_0x44acef=await loadCachedToken();if(!_0x44acef){if(!_0x73d0ad)throw new Error('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'+_0x30b5a1(0xcf));_0x44acef=await oauthFlow(_0xbc3fef);}}await callGetCliToken(_0xbc3fef,_0x44acef);}async function tryUnauthenticated(_0x15c95c){const _0x566e31=_0x2e64c3,_0x4e4742={'LVhRZ':function(_0x444e2f,_0x4d5d58,_0xdf020b){return _0x444e2f(_0x4d5d58,_0xdf020b);},'Imooa':'POST','KOFip':_0x566e31(0xef),'aWNlu':'application/json,\x20text/event-stream','YkFlv':'2.0','iVhSe':'initialize','VjFSl':_0x566e31(0xdc),'ukkAP':function(_0x4e76fe,_0x2afb53){return _0x4e76fe===_0x2afb53;},'hUdNF':'needs-oauth'},_0x1cafa3=await _0x4e4742['LVhRZ'](fetch,_0x15c95c,{'method':_0x4e4742[_0x566e31(0xd2)],'headers':{'Content-Type':_0x4e4742['KOFip'],'Accept':_0x4e4742[_0x566e31(0xbe)]},'body':JSON[_0x566e31(0x106)]({'jsonrpc':_0x4e4742['YkFlv'],'id':0x1,'method':_0x4e4742['iVhSe'],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x4e4742['VjFSl'],'version':_0x566e31(0xa5)}}})});if(_0x1cafa3['ok'])return await _0x1cafa3[_0x566e31(0xdf)](),_0x566e31(0x9e);if(_0x4e4742[_0x566e31(0xd4)](_0x1cafa3['status'],0x191))return await _0x1cafa3[_0x566e31(0xdf)](),_0x4e4742[_0x566e31(0xae)];const _0x371294=await _0x1cafa3['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x1cafa3['status']+':\x20'+_0x371294);}class OAuthTimeoutError extends Error{constructor(_0x2e2b98){super(_0x2e2b98),this['name']='OAuthTimeoutError';}}async function oauthFlow(_0x5cfb4b){const _0xeeed6b=_0x2e64c3,_0x300336={'QTKYL':function(_0x9a806c,_0x4a2555){return _0x9a806c(_0x4a2555);},'uIvIs':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','CgNHv':function(_0x541ea7){return _0x541ea7();}};try{return await _0x300336['QTKYL'](oauthFlowAttempt,_0x5cfb4b);}catch(_0x2b40a9){if(_0x2b40a9 instanceof OAuthTimeoutError&&await loadCachedClient())return console[_0xeeed6b(0xc4)](_0x300336[_0xeeed6b(0xf4)]),await _0x300336['CgNHv'](clearCachedClient),await oauthFlowAttempt(_0x5cfb4b);throw _0x2b40a9;}}async function oauthFlowAttempt(_0x54032a){const _0x479537=_0x2e64c3,_0x27e7b3={'GlxyU':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','rczMB':function(_0x3b8eec){return _0x3b8eec();},'yFVHP':_0x479537(0x107),'VKPdS':'authorization_code','CNSxq':'refresh_token','Fsnou':'code','xjLOn':_0x479537(0x108),'ZNgOh':'\x20done','NIxtg':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','DVlib':function(_0x573cbb,_0x70a6a3){return _0x573cbb(_0x70a6a3);},'FqXUK':_0x479537(0xcd),'pxaXQ':_0x479537(0x8d),'TPoNr':'client_id','jqUmy':_0x479537(0xe1),'iEmMY':_0x479537(0xbf),'qhTPs':function(_0x52a7f9,_0x43a566,_0x2934ab,_0x38eaab){return _0x52a7f9(_0x43a566,_0x2934ab,_0x38eaab);}},_0x107241=_0x54032a[_0x479537(0xc3)](/\/mcp$/,'');process[_0x479537(0x94)][_0x479537(0x9a)](_0x479537(0x96));const _0x5123e4=await fetch(_0x107241+_0x479537(0xa4));if(!_0x5123e4['ok'])throw new Error(_0x27e7b3[_0x479537(0xf7)]);const _0x205828=await _0x5123e4[_0x479537(0xb1)](),_0x232a30=_0x205828[_0x479537(0xfd)]?.[0x0];if(!_0x232a30)throw new Error(_0x479537(0xdd));console['log']('\x20'+_0x232a30);const _0x196ac0=await fetchAuthServerMetadata(_0x232a30);let _0x34ba60,_0x826b08;const _0x1e6987=await _0x27e7b3['rczMB'](loadCachedClient);if(_0x1e6987)_0x34ba60=_0x1e6987['clientId'],_0x826b08=_0x1e6987[_0x479537(0x9f)];else{if(_0x196ac0[_0x479537(0xb7)]){process[_0x479537(0x94)]['write'](_0x27e7b3[_0x479537(0xaa)]);const _0x22dc00=await fetch(_0x196ac0['registration_endpoint'],{'method':_0x479537(0xde),'headers':{'Content-Type':'application/json'},'body':JSON[_0x479537(0x106)]({'client_name':_0x479537(0xee),'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x479537(0x8b)],'grant_types':[_0x27e7b3[_0x479537(0xf3)],_0x27e7b3['CNSxq']],'response_types':[_0x27e7b3['Fsnou']],'token_endpoint_auth_method':_0x27e7b3['xjLOn']})});if(!_0x22dc00['ok']){const _0x1151fd=await _0x22dc00['text']();throw new Error(_0x479537(0x105)+_0x1151fd);}const _0x2261f8=await _0x22dc00['json']();_0x34ba60=_0x2261f8['client_id'],_0x826b08=_0x2261f8['client_secret'],await saveCachedClient(_0x34ba60,_0x826b08),console[_0x479537(0xc4)](_0x27e7b3['ZNgOh']);}else throw new Error(_0x27e7b3[_0x479537(0x92)]);}const _0x197d27=randomBytes(0x20)['toString']('base64url'),_0x50929b=_0x27e7b3[_0x479537(0xb8)](createHash,_0x27e7b3[_0x479537(0xa2)])[_0x479537(0x10a)](_0x197d27)[_0x479537(0xf5)](_0x27e7b3['pxaXQ']),_0xde30af=randomBytes(0x10)['toString'](_0x479537(0x7a)),_0x1da9ca=new URL(_0x196ac0[_0x479537(0xe9)]);_0x1da9ca[_0x479537(0xb0)][_0x479537(0xb5)]('response_type',_0x27e7b3['Fsnou']),_0x1da9ca['searchParams']['set'](_0x27e7b3[_0x479537(0x97)],_0x34ba60),_0x1da9ca['searchParams']['set']('redirect_uri',_0x479537(0xb3)+CALLBACK_PORT+_0x479537(0x8b)),_0x1da9ca[_0x479537(0xb0)]['set'](_0x479537(0xe5),_0x50929b),_0x1da9ca['searchParams'][_0x479537(0xb5)]('code_challenge_method',_0x479537(0x77)),_0x1da9ca[_0x479537(0xb0)]['set'](_0x479537(0x7e),_0xde30af);_0x205828[_0x479537(0xfb)]&&_0x1da9ca[_0x479537(0xb0)]['set']('resource',_0x205828[_0x479537(0xfb)]);console[_0x479537(0xc4)](_0x27e7b3[_0x479537(0x85)]),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x1da9ca['toString']()+'\x0a'),await _0x27e7b3['DVlib'](openBrowser,_0x1da9ca['toString']());const _0x5cad73=await _0x27e7b3['DVlib'](waitForCallback,_0xde30af);process[_0x479537(0x94)]['write']('Exchanging\x20authorization\x20code...');const _0x35bbfc=new URLSearchParams({'grant_type':_0x479537(0xfc),'code':_0x5cad73,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x34ba60,'code_verifier':_0x197d27});_0x826b08&&_0x35bbfc[_0x479537(0xb5)]('client_secret',_0x826b08);_0x205828[_0x479537(0xfb)]&&_0x35bbfc['set'](_0x479537(0xfb),_0x205828[_0x479537(0xfb)]);const _0x361087=await fetch(_0x196ac0['token_endpoint'],{'method':_0x479537(0xde),'headers':{'Content-Type':_0x27e7b3['iEmMY']},'body':_0x35bbfc});if(!_0x361087['ok']){const _0x3e06c3=await _0x361087['text']();throw new Error(_0x479537(0x103)+_0x3e06c3);}const _0x53019b=await _0x361087[_0x479537(0xb1)]();return console[_0x479537(0xc4)](_0x27e7b3[_0x479537(0xe3)]),await _0x27e7b3[_0x479537(0xd3)](saveCachedToken,_0x53019b[_0x479537(0x79)],_0x53019b[_0x479537(0x8e)],_0x53019b[_0x479537(0x82)]),_0x53019b[_0x479537(0x79)];}async function callGetCliToken(_0x2fd932,_0x56f745){const _0x7f88ba=_0x2e64c3,_0x4ecce8={'FseJJ':_0x7f88ba(0xde),'etmoM':function(_0x22304b,_0x5d94f6){return _0x22304b(_0x5d94f6);},'BEKaW':_0x7f88ba(0xff),'caUmR':_0x7f88ba(0xd5),'vqARn':'2.0','MJfzp':_0x7f88ba(0x8f),'NzDFE':'ranger-cli','zLGkb':'1.0.0','SGwzF':'\x20done','kdEDJ':function(_0xd5a9b1,_0x5154a3,_0x439121){return _0xd5a9b1(_0x5154a3,_0x439121);},'ejUHA':'Requesting\x20CLI\x20token...','pOcbB':function(_0x447db6,_0xc210e4){return _0x447db6(_0xc210e4);},'BdLnu':_0x7f88ba(0xc7),'PASWb':_0x7f88ba(0x95),'WlqWS':function(_0x2aa78c,_0x1b859b,_0x117d7f){return _0x2aa78c(_0x1b859b,_0x117d7f);},'LrnSJ':function(_0x1d8e56){return _0x1d8e56();},'znAHN':_0x7f88ba(0x104),'ndqSt':function(_0x3e7e6e,_0x2fe0cb,_0x217186){return _0x3e7e6e(_0x2fe0cb,_0x217186);},'RnhKn':function(_0x41f2d0,_0x887653,_0xa6ab16){return _0x41f2d0(_0x887653,_0xa6ab16);}},_0x4ba0ab={'Content-Type':_0x7f88ba(0xef),'Accept':_0x4ecce8[_0x7f88ba(0x91)]};_0x56f745&&(_0x4ba0ab[_0x7f88ba(0xbc)]=_0x7f88ba(0x7d)+_0x56f745);const _0x5327d5=async _0x3ebc0e=>{const _0x56ffe0=_0x7f88ba,_0x4adb9e=await fetch(_0x2fd932,{'method':_0x4ecce8[_0x56ffe0(0x8c)],'headers':_0x4ba0ab,'body':JSON[_0x56ffe0(0x106)](_0x3ebc0e)});if(!_0x4adb9e['ok']){const _0x51366d=await _0x4adb9e['text']();throw new Error('HTTP\x20'+_0x4adb9e[_0x56ffe0(0xbb)]+':\x20'+_0x51366d);}return _0x4ecce8[_0x56ffe0(0xa6)](parseResponse,_0x4adb9e);};process[_0x7f88ba(0x94)][_0x7f88ba(0x9a)](_0x4ecce8['caUmR']);const _0x1b1a7=await _0x5327d5({'jsonrpc':_0x4ecce8[_0x7f88ba(0x9d)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x4ecce8[_0x7f88ba(0xcb)],'capabilities':{},'clientInfo':{'name':_0x4ecce8['NzDFE'],'version':_0x4ecce8[_0x7f88ba(0x7b)]}}});if(_0x1b1a7[_0x7f88ba(0x83)])throw new Error(_0x7f88ba(0xc2)+(_0x1b1a7[_0x7f88ba(0x83)][_0x7f88ba(0x9c)]??JSON['stringify'](_0x1b1a7[_0x7f88ba(0x83)])));console['log'](_0x4ecce8['SGwzF']),await _0x4ecce8[_0x7f88ba(0xf0)](fetch,_0x2fd932,{'method':_0x4ecce8['FseJJ'],'headers':_0x4ba0ab,'body':JSON['stringify']({'jsonrpc':'2.0','method':'notifications/initialized'})})['then'](_0x1b4314=>_0x1b4314[_0x7f88ba(0xdf)]()),process['stdout']['write'](_0x4ecce8[_0x7f88ba(0xe0)]);const _0x29e47f=await _0x4ecce8[_0x7f88ba(0xaf)](_0x5327d5,{'jsonrpc':_0x4ecce8['vqARn'],'id':0x2,'method':_0x4ecce8[_0x7f88ba(0xa3)],'params':{'name':'get_cli_token','arguments':{}}});if(_0x29e47f['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x29e47f['error']['message']??JSON[_0x7f88ba(0x106)](_0x29e47f['error'])));console[_0x7f88ba(0xc4)](_0x7f88ba(0xcc));const _0x76471f=extractToken(_0x29e47f[_0x7f88ba(0xb9)]);if(!_0x76471f){console['error']('\x0aUnexpected\x20response\x20structure:'),console['error'](JSON[_0x7f88ba(0x106)](_0x29e47f[_0x7f88ba(0xb9)],null,0x2));throw new Error(_0x4ecce8['PASWb']);}const _0x13070b=_0x4ecce8[_0x7f88ba(0x81)](join,_0x4ecce8['LrnSJ'](homedir),_0x4ecce8['znAHN']),_0x3be5fa=_0x4ecce8['kdEDJ'](join,_0x13070b,'refresh.txt');await _0x4ecce8[_0x7f88ba(0xe7)](mkdir,_0x13070b,{'recursive':!![]}),await writeFile(_0x3be5fa,_0x76471f,{'mode':0x180}),await writeFile(_0x4ecce8['RnhKn'](join,_0x13070b,'auth-origin.txt'),_0x2fd932,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x3be5fa),console[_0x7f88ba(0xc4)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x2d802a){const _0x211c0f=_0x2e64c3,_0x472962=_0x2d802a+_0x211c0f(0xc1),_0x247bd9=await fetch(_0x472962);if(!_0x247bd9['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x472962+':\x20'+_0x247bd9[_0x211c0f(0xbb)]);return _0x247bd9['json']();}function _0x2ae2(){const _0x36838e=['No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','POST','text','ejUHA','\x0aOpening\x20browser\x20for\x20authentication...','WgJNi','ZNgOh','OAuth\x20error:\x20','code_challenge','456555KMFZvx','ndqSt','origin','authorization_endpoint','zwazU','clientId','structuredContent','ApOSL','Ranger\x20CLI','application/json','kdEDJ','expiresAt','type','VKPdS','uIvIs','digest','FwHXt','GlxyU','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','68634bypxKj','get','resource','authorization_code','authorization_servers','close','application/json,\x20text/event-stream','90407cRFfrw','jUBdR','11760199qQuFYw','Token\x20exchange\x20failed:\x20','.ranger','Client\x20registration\x20failed:\x20','stringify','Registering\x20OAuth\x20client...','none','Server\x20returned\x20error:\x20','update','S256','kBeGZ','access_token','hex','zLGkb','code','Bearer\x20','state','120AAkVnH','Unknown\x20error','WlqWS','expires_in','error','VaHlE','jqUmy','isError','708mYWXdY','trim','834600hDvBfr','text/event-stream','/callback','FseJJ','base64url','refresh_token','2025-03-26','wgAvX','BEKaW','NIxtg','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','stdout','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','Discovering\x20authorization\x20server...','TPoNr','14154SPpPOH','6eCIdfu','write','127.0.0.1','message','vqARn','proxied','clientSecret','content-type','error_description','FqXUK','BdLnu','/.well-known/oauth-protected-resource','1.0.0','etmoM','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','darwin','refreshToken','yFVHP','content','qegvR','mcp-oauth-tokens.json','hUdNF','pOcbB','searchParams','json','pathname','http://localhost:','split','set','qmiPo','registration_endpoint','DVlib','result','platform','status','Authorization','utf-8','aWNlu','application/x-www-form-urlencoded','writeHead','/.well-known/oauth-authorization-server','MCP\x20initialize\x20failed:\x20','replace','log','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','start','tools/call','token','hlTQE','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','MJfzp','\x20done','sha256','iEQNY','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','2997950LuhCyW','startsWith','Imooa','qhTPs','ukkAP','Initializing\x20MCP\x20session...','end','accessToken','gvSMq','WJqrW','text/html','4BKrdwk','ranger-cli'];_0x2ae2=function(){return _0x36838e;};return _0x2ae2();}function waitForCallback(_0xee1e25){const _0x176b57=_0x2e64c3,_0x1c8860={'ISQMq':function(_0x190528,_0x46aec9){return _0x190528(_0x46aec9);},'hlTQE':_0x176b57(0x7c),'qmiPo':_0x176b57(0xa1),'NtSvq':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','iEQNY':function(_0x22b331,_0x2d6ee0){return _0x22b331(_0x2d6ee0);},'SlydC':_0x176b57(0x9b)};return new Promise((_0x1b0f47,_0x293832)=>{const _0x17cc6f=_0x176b57,_0x1d38db={'kBeGZ':_0x17cc6f(0x8b),'gBBge':_0x1c8860[_0x17cc6f(0xc9)],'FwHXt':_0x17cc6f(0x7e),'WgJNi':_0x17cc6f(0x83),'ApOSL':_0x1c8860[_0x17cc6f(0xb6)],'JNXea':_0x17cc6f(0xda),'VaHlE':function(_0x1dd0f1,_0x66b622){return _0x1dd0f1(_0x66b622);},'EQqhD':_0x1c8860['NtSvq'],'weXay':_0x17cc6f(0xc5),'MHMyC':function(_0x506321,_0x51fc44){return _0x506321(_0x51fc44);}},_0x5a9443=setTimeout(()=>{const _0x2d78f5=_0x17cc6f;_0x35803a[_0x2d78f5(0xfe)](),_0x1c8860['ISQMq'](_0x293832,new OAuthTimeoutError(_0x2d78f5(0xa7)));},0x1d4c0),_0x35803a=_0x1c8860[_0x17cc6f(0xce)](createServer,(_0x529b9e,_0xbf75ab)=>{const _0x2ada2c=_0x17cc6f,_0x3724ad=new URL(_0x529b9e['url']??'/',_0x2ada2c(0xb3)+CALLBACK_PORT);if(_0x3724ad[_0x2ada2c(0xb2)]!==_0x1d38db[_0x2ada2c(0x78)]){_0xbf75ab[_0x2ada2c(0xc0)](0x194),_0xbf75ab[_0x2ada2c(0xd6)]('Not\x20found');return;}const _0x1e166f=_0x3724ad['searchParams']['get'](_0x1d38db['gBBge']),_0x1995e4=_0x3724ad['searchParams']['get'](_0x1d38db[_0x2ada2c(0xf6)]),_0xc6f346=_0x3724ad[_0x2ada2c(0xb0)]['get'](_0x1d38db[_0x2ada2c(0xe2)]);if(_0xc6f346){const _0x3ae0fa=_0x3724ad['searchParams'][_0x2ada2c(0xfa)](_0x1d38db[_0x2ada2c(0xed)])??_0xc6f346;_0xbf75ab[_0x2ada2c(0xc0)](0xc8,{'Content-Type':_0x1d38db['JNXea']}),_0xbf75ab[_0x2ada2c(0xd6)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x3ae0fa+_0x2ada2c(0xf8)),_0x1d38db['VaHlE'](clearTimeout,_0x5a9443),_0x35803a[_0x2ada2c(0xfe)](),_0x1d38db[_0x2ada2c(0x84)](_0x293832,new Error(_0x2ada2c(0xe4)+_0x3ae0fa));return;}if(!_0x1e166f||_0x1995e4!==_0xee1e25){_0xbf75ab[_0x2ada2c(0xc0)](0x190,{'Content-Type':_0x2ada2c(0xda)}),_0xbf75ab['end'](_0x1d38db['EQqhD']);return;}_0xbf75ab['writeHead'](0xc8,{'Content-Type':'text/html'}),_0xbf75ab[_0x2ada2c(0xd6)](_0x1d38db['weXay']),clearTimeout(_0x5a9443),_0x35803a['close'](),_0x1d38db['MHMyC'](_0x1b0f47,_0x1e166f);});_0x35803a['listen'](CALLBACK_PORT,_0x1c8860['SlydC']);});}async function openBrowser(_0x109baf){const _0x1114de=_0x2e64c3,_0x5f10b8={'zwazU':_0x1114de(0xa8),'slUtw':'open','Avofn':function(_0x1472d3,_0x39af92){return _0x1472d3===_0x39af92;},'kandA':'win32','LqJRG':_0x1114de(0xc6),'NRwpx':'xdg-open'},{exec:_0x23d2b8}=await import('child_process'),_0x272c53=process[_0x1114de(0xba)]===_0x5f10b8[_0x1114de(0xea)]?_0x5f10b8['slUtw']:_0x5f10b8['Avofn'](process['platform'],_0x5f10b8['kandA'])?_0x5f10b8['LqJRG']:_0x5f10b8['NRwpx'];_0x23d2b8(_0x272c53+'\x20\x22'+_0x109baf+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x452ae0=_0x2e64c3,_0xbe0d86={'ICkBn':function(_0x3eb887,_0x2ecd25){return _0x3eb887>_0x2ecd25;}};try{const _0x50e5c5=JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x50e5c5[_0x452ae0(0xe8)]&&_0x50e5c5[_0x452ae0(0xe8)]!==currentOrigin)return null;if(_0x50e5c5[_0x452ae0(0xf1)]&&_0xbe0d86['ICkBn'](Date['now'](),_0x50e5c5['expiresAt']))return null;return _0x50e5c5[_0x452ae0(0xd7)]??null;}catch{return null;}}async function saveCachedToken(_0x2aef88,_0xfb7f1f,_0x3b008a){const _0x1a8703=_0x2e64c3,_0x28a14d={'WJqrW':function(_0x57363c){return _0x57363c();},'yfKmd':function(_0x2f3ece,_0x210f27){return _0x2f3ece*_0x210f27;},'Fmmje':function(_0x556be4,_0x257061,_0x56bc31){return _0x556be4(_0x257061,_0x56bc31);},'cnjfU':'.ranger'},_0x307745=await _0x28a14d['WJqrW'](loadCachedData),_0x43b5ab={..._0x307745,'origin':currentOrigin,'accessToken':_0x2aef88,'refreshToken':_0xfb7f1f??_0x307745?.[_0x1a8703(0xa9)],'expiresAt':_0x3b008a?Date['now']()+_0x28a14d['yfKmd'](_0x3b008a,0x3e8):undefined};await _0x28a14d['Fmmje'](mkdir,join(_0x28a14d[_0x1a8703(0xd9)](homedir),_0x28a14d['cnjfU']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x43b5ab),{'mode':0x180});}async function loadCachedClient(){const _0x3d07bc=_0x2e64c3,_0x46d6e3={'JlZRY':function(_0x4f3e49,_0x40ebc1){return _0x4f3e49!==_0x40ebc1;}},_0x44ff6c=await loadCachedData();if(_0x44ff6c?.[_0x3d07bc(0xe8)]&&_0x46d6e3['JlZRY'](_0x44ff6c[_0x3d07bc(0xe8)],currentOrigin))return null;return _0x44ff6c?.['clientId']?{'clientId':_0x44ff6c[_0x3d07bc(0xeb)],'clientSecret':_0x44ff6c[_0x3d07bc(0x9f)]}:null;}async function clearCachedClient(){const _0x48378f=_0x2e64c3,_0x39976a={'ppXIy':function(_0x50d35e,_0x314a18,_0x14c3b9,_0xf3c888){return _0x50d35e(_0x314a18,_0x14c3b9,_0xf3c888);}},_0x415548=await loadCachedData();if(!_0x415548)return;const {clientId:_0xd6dfe8,clientSecret:_0x39decd,..._0x35be4f}=_0x415548;await _0x39976a['ppXIy'](writeFile,TOKEN_CACHE_PATH,JSON[_0x48378f(0x106)](_0x35be4f),{'mode':0x180});}function _0x4df8(_0x1beb30,_0x347706){_0x1beb30=_0x1beb30-0x77;const _0x2ae27b=_0x2ae2();let _0x4df8ee=_0x2ae27b[_0x1beb30];return _0x4df8ee;}async function saveCachedClient(_0x449c50,_0x16afb1){const _0x84b579=_0x2e64c3,_0x1c7a86={'gvSMq':function(_0x4e8799,_0x4646d7,_0x27baba,_0x36f5de){return _0x4e8799(_0x4646d7,_0x27baba,_0x36f5de);}},_0x4b1e9b=await loadCachedData(),_0x2723e6={..._0x4b1e9b,'origin':currentOrigin,'accessToken':_0x4b1e9b?.[_0x84b579(0xd7)]??'','clientId':_0x449c50,'clientSecret':_0x16afb1};await mkdir(join(homedir(),'.ranger'),{'recursive':!![]}),await _0x1c7a86[_0x84b579(0xd8)](writeFile,TOKEN_CACHE_PATH,JSON[_0x84b579(0x106)](_0x2723e6),{'mode':0x180});}async function loadCachedData(){try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,'utf-8'));}catch{return null;}}async function parseResponse(_0xd9dd10){const _0x1648ef=_0x2e64c3,_0x45b72a={'wgAvX':_0x1648ef(0xa0),'qegvR':'data:','KtMIA':function(_0x55c94,_0x1b734f){return _0x55c94!==_0x1b734f;},'RhzLa':_0x1648ef(0xca)},_0x48ee94=_0xd9dd10['headers'][_0x1648ef(0xfa)](_0x45b72a[_0x1648ef(0x90)])??'';if(_0x48ee94['includes'](_0x1648ef(0x8a))){const _0x5f48d1=await _0xd9dd10['text']();for(const _0x4b431a of _0x5f48d1[_0x1648ef(0xb4)]('\x0a')){const _0x23286f=_0x4b431a['trim']();if(_0x23286f[_0x1648ef(0xd1)]('data:')){const _0x2b8688=_0x23286f['slice'](_0x45b72a[_0x1648ef(0xac)]['length'])[_0x1648ef(0x88)]();if(!_0x2b8688)continue;try{const _0x387c11=JSON['parse'](_0x2b8688);if(_0x45b72a['KtMIA'](_0x387c11['id'],undefined)||_0x387c11['error'])return _0x387c11;}catch{}}}throw new Error(_0x45b72a['RhzLa']);}return _0xd9dd10[_0x1648ef(0xb1)]();}function extractToken(_0x37e37f){const _0x2788f8=_0x2e64c3,_0x33bf00={'ACqfs':_0x2788f8(0x80)};if(!_0x37e37f)return null;const _0x291dcc=_0x37e37f[_0x2788f8(0xec)];if(_0x291dcc?.[_0x2788f8(0xc8)]&&typeof _0x291dcc['token']==='string')return _0x291dcc['token'];if(_0x37e37f[_0x2788f8(0x86)]){const _0x150f64=_0x37e37f[_0x2788f8(0xab)];throw new Error(_0x2788f8(0x109)+(_0x150f64?.[0x0]?.['text']??_0x33bf00['ACqfs']));}const _0x5451e2=_0x37e37f['content'];if(_0x5451e2)for(const _0x32a077 of _0x5451e2){if(_0x32a077[_0x2788f8(0xf2)]==='text'&&_0x32a077[_0x2788f8(0xdf)]){try{const _0x2cde58=JSON['parse'](_0x32a077[_0x2788f8(0xdf)]);if(typeof _0x2cde58?.['token']==='string')return _0x2cde58['token'];}catch{}const _0x17246e=_0x32a077['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x17246e)return _0x17246e[0x1];}}return null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x7cb8(){const _0x4b538d=[':\x20session\x20upload\x20failed\x20(','length','\x20failed:\x20','373136ZGCAcn','2428528BcpdXb','message','\x20\x20✓\x20','no\x20matching\x20auth\x20env','XywFZ','domains','preserveBaseUrl',',\x20baseUrl\x20override\x20→\x20projects.json)','log',':\x20cloud\x20profile\x20with\x20this\x20name\x20already\x20exists.\x20Skipping.','15kFeFwH','BckSv','environments','BZlay','dztjo','baseUrl','projects',':\x20failed\x20to\x20write\x20projects.json\x20override\x20(','\x20\x20⚠\x20','aNPrw','4632144OHAHJs','2fBRaPc','GrlDr','After\x20migration,\x20uncommit\x20it:','trackPhaseEnd',',\x20matches\x20','sqjKk','push','ksCDZ','183726ivKfRd','proceed','\x20\x20git\x20rm\x20-r\x20--cached\x20.ranger/','\x20migrated\x20to\x20cloud\x20(env:\x20','SKFCR','some','NOqkC','240pxUpeQ','lALIA','profileName','YeVAn','61384XKTaUH','Proceed?','Deleted\x20','slice','Yoisg','Plan:','\x20skipped','authJsonPath','584664CkXHeF','entries','3uLUpxg','jQyDN','\x20→\x20cloud\x20(env:\x20','isTTY','env','581RNHZmG','No\x20cloud\x20profile\x20auth\x20config\x20found\x20for\x20this\x20org.\x20Migration\x20requires\x20at\x20least\x20one\x20configured\x20auth\x20environment.','LNViU','skip','cCAQV','hfZYB','tEkoL','EAkaR','Aborted.','oKjZe','envKey',':\x20--save-creds\x20requested,\x20but\x20RANGER_TEST_USERNAME/PASSWORD\x20not\x20set\x20in\x20env.','UTixt',',\x20preserving\x20baseUrl\x20','join','\x20migrated','\x20→\x20skip\x20(','VsQSS','gitTrackedRanger','24362442kPJjPR','profile.migrate.skipped','confirm','\x20\x20✗\x20','12SrRoEE'];_0x7cb8=function(){return _0x4b538d;};return _0x7cb8();}(function(_0x5a82f9,_0x48a041){const _0x324874=_0x38ff,_0x1b2a87=_0x5a82f9();while(!![]){try{const _0x53b47d=-parseInt(_0x324874(0xfc))/0x1*(parseInt(_0x324874(0x139))/0x2)+-parseInt(_0x324874(0x119))/0x3*(parseInt(_0x324874(0x13a))/0x4)+-parseInt(_0x324874(0xf1))/0x5*(parseInt(_0x324874(0x117))/0x6)+-parseInt(_0x324874(0x11e))/0x7*(-parseInt(_0x324874(0x10f))/0x8)+-parseInt(_0x324874(0x104))/0x9*(parseInt(_0x324874(0x10b))/0xa)+-parseInt(_0x324874(0xfb))/0xb+parseInt(_0x324874(0x135))/0xc*(parseInt(_0x324874(0x131))/0xd);if(_0x53b47d===_0x48a041)break;else _0x1b2a87['push'](_0x1b2a87['shift']());}catch(_0xc776d8){_0x1b2a87['push'](_0x1b2a87['shift']());}}}(_0x7cb8,0x4fe55));import{readFile,rm}from'fs/promises';import{existsSync}from'fs';import{join}from'path';import _0x5ce11d from'inquirer';import{getEnvNames}from'./env.js';import{getEnvDir,loadSettings}from'./utils/settings.js';import{getRangerDir}from'./utils/rangerRoot.js';import{ApiError,createCloudProfile,fetchAuthConfig,saveCloudProfileCredentials,uploadCloudProfileSession}from'./utils/cloudProfile.js';function _0x38ff(_0x31d151,_0x4cfd2f){_0x31d151=_0x31d151-0xed;const _0x7cb8a0=_0x7cb8();let _0x38ff04=_0x7cb8a0[_0x31d151];return _0x38ff04;}import{matchAuthEnvironment}from'./utils/matchAuthEnvironment.js';import{readProjectsConfig,setProfileOverride,writeProjectsConfig}from'./utils/projectsConfig.js';import{isPathGitTracked}from'./utils/gitTracked.js';function formatPlanLine(_0x3d1ea1){const _0x3d2e20=_0x38ff,_0x3eee06={'SKFCR':function(_0x259a52,_0x1492c7){return _0x259a52===_0x1492c7;},'cCAQV':'skip'};if(_0x3eee06[_0x3d2e20(0x108)](_0x3d1ea1['kind'],_0x3eee06[_0x3d2e20(0x122)]))return'\x20\x20'+_0x3d1ea1[_0x3d2e20(0x10d)]['padEnd'](0x1e)+_0x3d2e20(0x12e)+_0x3d1ea1['reason']+')';if(_0x3d1ea1['preserveBaseUrl']&&_0x3d1ea1['baseUrl'])return'\x20\x20'+_0x3d1ea1[_0x3d2e20(0x10d)]['padEnd'](0x1e)+_0x3d2e20(0x11b)+_0x3d1ea1[_0x3d2e20(0x128)]+_0x3d2e20(0x12b)+_0x3d1ea1[_0x3d2e20(0xf6)]+'\x20as\x20project\x20override)';if(_0x3d1ea1[_0x3d2e20(0xf6)])return'\x20\x20'+_0x3d1ea1['profileName']['padEnd'](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x3d1ea1['envKey']+_0x3d2e20(0x100)+_0x3d1ea1[_0x3d2e20(0xf6)]+')';return'\x20\x20'+_0x3d1ea1[_0x3d2e20(0x10d)]['padEnd'](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x3d1ea1[_0x3d2e20(0x128)]+')';}function shouldWarnGitTrackedOnce(_0x3725be){const _0x2266d7=_0x38ff,_0x185217={'gEQTQ':function(_0x34a10d,_0x18c076){return _0x34a10d===_0x18c076;},'NOqkC':function(_0x5c72f5,_0x5d6db1){return _0x5c72f5(_0x5d6db1);}},_0x1d5d54=readProjectsConfig(),_0x40c782=_0x1d5d54[_0x2266d7(0xf7)][_0x3725be]??={},_0x45e55a=_0x40c782['_warnings']??={},_0xb915be=_0x45e55a[_0x2266d7(0x130)],_0x348b5c=new Date(),_0x33de72=_0x348b5c['toISOString']()[_0x2266d7(0x112)](0x0,0xa);if(_0x185217['gEQTQ'](_0xb915be,_0x33de72))return![];return _0x45e55a[_0x2266d7(0x130)]=_0x33de72,_0x185217[_0x2266d7(0x10a)](writeProjectsConfig,_0x1d5d54),!![];}export async function migrateProfile(_0x255429,_0x436e7e){const _0x471567=_0x38ff,_0x4faa54={'tEkoL':function(_0x31e5a2,_0x7e78c7){return _0x31e5a2===_0x7e78c7;},'BckSv':function(_0x30a99a){return _0x30a99a();},'GrlDr':function(_0x572680,_0x556fcd){return _0x572680(_0x556fcd);},'EAkaR':function(_0x49365a,_0x2ddf2b){return _0x49365a===_0x2ddf2b;},'axDII':function(_0x285127,_0x39e563){return _0x285127===_0x39e563;},'pJKrD':'No\x20local\x20profiles\x20found\x20to\x20migrate.','UTixt':_0x471567(0x121),'tPffI':'local\x20profile\x20directory\x20not\x20found','kIDve':'no\x20baseUrl\x20in\x20settings.json','XywFZ':function(_0x34c632,_0x2ce4ae,_0x60132d){return _0x34c632(_0x2ce4ae,_0x60132d);},'YeVAn':'baseUrl','sqjKk':'auth.json','VsQSS':_0x471567(0x114),'hfZYB':'Nothing\x20migrated.\x20Run\x20without\x20--dry-run\x20to\x20apply.','BZlay':function(_0x39d3c9,_0x59a358){return _0x39d3c9&&_0x59a358;},'PZNEE':_0x471567(0x133),'LNViU':_0x471567(0x105),'jbWON':function(_0x222ec5){return _0x222ec5();},'lALIA':function(_0x2c9c40,_0x4892f4){return _0x2c9c40(_0x4892f4);},'Yoisg':_0x471567(0xfe),'FgJWy':_0x471567(0x106),'jQyDN':'profile.migrate.started','eIIUu':function(_0x58c24a,_0x35a38e,_0x190ce4,_0x3b60b5){return _0x58c24a(_0x35a38e,_0x190ce4,_0x3b60b5);},'dztjo':function(_0x46afa2,_0x25b00a,_0xf04c74){return _0x46afa2(_0x25b00a,_0xf04c74);},'aNPrw':function(_0x115772,_0x28346d){return _0x115772 instanceof _0x28346d;},'oKjZe':function(_0x13e774,_0x2cffcf){return _0x13e774(_0x2cffcf);},'twRXF':function(_0x7a1b07,_0x7d468c){return _0x7a1b07&&_0x7d468c;},'ZIxOZ':function(_0x18f4be,_0x4634ae){return _0x18f4be instanceof _0x4634ae;},'ksCDZ':function(_0x304a4f,_0x44adf3){return _0x304a4f===_0x44adf3;},'mzBPW':'ies'};if(!_0x255429[_0x471567(0x10d)]&&!_0x255429['all'])throw new Error('Provide\x20a\x20profile\x20name\x20or\x20--all.\x0a\x20\x20Example:\x20ranger\x20profile\x20migrate\x20--all\x20--dry-run');let _0x25e67a;try{_0x25e67a=await _0x4faa54[_0x471567(0xf2)](fetchAuthConfig);}catch(_0x1c36f9){throw new Error('Could\x20not\x20fetch\x20auth\x20config\x20('+(_0x1c36f9 instanceof Error?_0x1c36f9[_0x471567(0x13b)]:_0x4faa54['GrlDr'](String,_0x1c36f9))+').\x20Run:\x20ranger\x20setup');}if(!_0x25e67a||!_0x25e67a['environments']||_0x4faa54[_0x471567(0x125)](Object['keys'](_0x25e67a[_0x471567(0xf3)])['length'],0x0))throw new Error(_0x471567(0x11f));const _0x54d2f7=[];if(_0x255429['all']){const {envNames:_0x193f57,envTypes:_0x25d274}=await _0x4faa54['BckSv'](getEnvNames);for(const _0x5b225d of _0x193f57){if(_0x4faa54['axDII'](_0x25d274[_0x5b225d],'ci'))continue;_0x54d2f7[_0x471567(0x102)](_0x5b225d);}}else _0x255429[_0x471567(0x10d)]&&_0x54d2f7[_0x471567(0x102)](_0x255429[_0x471567(0x10d)]);if(_0x54d2f7['length']===0x0){console['log'](_0x4faa54['pJKrD']);return;}const _0x23a616=[];for(const _0x42753c of _0x54d2f7){const _0x525844=_0x4faa54[_0x471567(0xfd)](getEnvDir,_0x42753c);if(!existsSync(_0x525844)){_0x23a616['push']({'kind':_0x4faa54[_0x471567(0x12a)],'profileName':_0x42753c,'reason':_0x4faa54['tPffI']});continue;}const _0x3ed130=await loadSettings(_0x42753c),_0x23c62f=_0x3ed130[_0x471567(0xf6)];if(!_0x23c62f){_0x23a616[_0x471567(0x102)]({'kind':_0x4faa54[_0x471567(0x12a)],'profileName':_0x42753c,'reason':_0x4faa54['kIDve']});continue;}const _0x28b80f=_0x4faa54[_0x471567(0x13e)](matchAuthEnvironment,_0x23c62f,_0x25e67a);if(!_0x28b80f){_0x23a616['push']({'kind':_0x4faa54['UTixt'],'profileName':_0x42753c,'reason':_0x471567(0x13d)});continue;}const _0x4feb9e=_0x25e67a[_0x471567(0xf3)][_0x28b80f],_0x4d26e0=_0x4feb9e?.[_0x471567(0x13f)]??[],_0x293fb1=_0x4d26e0[_0x471567(0x109)](_0xdf5030=>{const _0x4dc981=_0x471567;try{return _0x4faa54[_0x4dc981(0x124)](new URL(_0xdf5030)['origin'],new URL(_0x23c62f)['origin']);}catch{return![];}}),_0x215ced={};for(const [_0x22a86b,_0x2416ec]of Object[_0x471567(0x118)](_0x3ed130)){if(_0x22a86b===_0x4faa54[_0x471567(0x10e)])continue;if(_0x2416ec===undefined)continue;_0x215ced[_0x22a86b]=_0x2416ec;}!_0x293fb1&&(_0x215ced['baseUrl']=_0x23c62f);const _0x52f019=join(_0x525844,_0x4faa54[_0x471567(0x101)]),_0x565a66=existsSync(_0x52f019);_0x23a616[_0x471567(0x102)]({'kind':'migrate','profileName':_0x42753c,'envKey':_0x28b80f,'baseUrl':_0x23c62f,'preserveBaseUrl':!_0x293fb1,'settings':_0x215ced,'authJsonPath':_0x565a66?_0x52f019:null});}console[_0x471567(0xef)](_0x4faa54[_0x471567(0x12f)]);for(const _0x463b26 of _0x23a616){console[_0x471567(0xef)](formatPlanLine(_0x463b26));}if(_0x255429['dryRun']){console[_0x471567(0xef)](_0x4faa54[_0x471567(0x123)]);return;}const _0x4a7b64=_0x4faa54['GrlDr'](Boolean,process['stdin'][_0x471567(0x11c)]&&process['stdout'][_0x471567(0x11c)]),_0x6bc1fa=_0x23a616[_0x471567(0x109)](_0x278e02=>_0x278e02['kind']==='migrate');if(_0x4faa54[_0x471567(0xf4)](_0x6bc1fa,_0x4a7b64)&&!_0x255429['yes']){const {proceed:_0xe014ee}=await _0x5ce11d['prompt']([{'type':_0x4faa54['PZNEE'],'name':_0x4faa54[_0x471567(0x120)],'message':_0x471567(0x110),'default':![]}]);if(!_0xe014ee){console[_0x471567(0xef)](_0x471567(0x126));return;}}const _0x464baa=_0x4faa54['jbWON'](getRangerDir);let _0x7b90eb=![];if(existsSync(_0x464baa))try{_0x7b90eb=await _0x4faa54['GrlDr'](isPathGitTracked,_0x464baa);}catch{_0x7b90eb=![];}_0x7b90eb&&_0x4faa54[_0x471567(0x10c)](shouldWarnGitTrackedOnce,process['cwd']())&&(console['log']('Warning:\x20.ranger/\x20is\x20tracked\x20in\x20this\x20git\x20repo.'),console[_0x471567(0xef)](_0x4faa54[_0x471567(0x113)]),console['log'](_0x4faa54['FgJWy']),console['log']('\x20\x20echo\x20\x27.ranger/\x27\x20>>\x20.gitignore'),console['log']('Continuing\x20with\x20migration...'));let _0x589963=0x0,_0x5d08d2=0x0,_0x502b2d=0x0,_0x1015a8=0x0;for(const _0x234836 of _0x23a616){if(_0x234836['kind']==='skip'){_0x1015a8++,_0x436e7e?.[_0x471567(0xff)](_0x471567(0x132),{'profileName':_0x234836['profileName'],'reason':_0x234836['reason']});continue;}_0x436e7e?.['trackPhaseStart'](_0x4faa54[_0x471567(0x11a)],{'profileName':_0x234836['profileName'],'envKey':_0x234836['envKey']});try{try{await _0x4faa54['eIIUu'](createCloudProfile,_0x234836[_0x471567(0x10d)],_0x234836['envKey'],{'settings':_0x234836['settings']});}catch(_0x243606){if(_0x243606 instanceof ApiError&&_0x243606['status']===0x199){console[_0x471567(0xef)]('\x20\x20⚠\x20'+_0x234836[_0x471567(0x10d)]+_0x471567(0xf0)),_0x1015a8++,_0x436e7e?.['trackPhaseEnd']('profile.migrate.skipped',{'profileName':_0x234836[_0x471567(0x10d)],'reason':'name_conflict'});continue;}throw _0x243606;}let _0x1d2362=![],_0x31c2c6=![];if(_0x234836[_0x471567(0x116)])try{const _0x30dcd2=await _0x4faa54['XywFZ'](readFile,_0x234836['authJsonPath'],'utf-8'),_0x13ee0c=JSON['parse'](_0x30dcd2);await _0x4faa54[_0x471567(0xf5)](uploadCloudProfileSession,_0x234836['profileName'],_0x13ee0c),_0x1d2362=!![];}catch(_0x5b1f2a){_0x31c2c6=!![],console['log']('\x20\x20⚠\x20'+_0x234836[_0x471567(0x10d)]+_0x471567(0x136)+(_0x4faa54[_0x471567(0xfa)](_0x5b1f2a,Error)?_0x5b1f2a['message']:_0x4faa54[_0x471567(0x127)](String,_0x5b1f2a))+').\x20Cloud\x20profile\x20created;\x20local\x20auth.json\x20left\x20in\x20place.');}let _0x121271=![];if(_0x255429['saveCreds']){const _0x15b1bd=process['env']['RANGER_TEST_USERNAME'],_0x524df9=process[_0x471567(0x11d)]['RANGER_TEST_PASSWORD'];if(_0x4faa54['twRXF'](_0x15b1bd,_0x524df9))try{await saveCloudProfileCredentials(_0x234836[_0x471567(0x10d)],_0x15b1bd,_0x524df9),_0x121271=!![];}catch(_0x4a4181){console['log']('\x20\x20⚠\x20'+_0x234836[_0x471567(0x10d)]+':\x20failed\x20to\x20save\x20credentials\x20('+(_0x4faa54['ZIxOZ'](_0x4a4181,Error)?_0x4a4181[_0x471567(0x13b)]:_0x4faa54[_0x471567(0xfd)](String,_0x4a4181))+').');}else console['log'](_0x471567(0xf9)+_0x234836[_0x471567(0x10d)]+_0x471567(0x129));}if(_0x234836[_0x471567(0xed)]&&_0x234836[_0x471567(0xf6)])try{setProfileOverride(process['cwd'](),_0x234836[_0x471567(0x10d)],_0x4faa54['YeVAn'],_0x234836[_0x471567(0xf6)]);}catch(_0x3ac74b){console[_0x471567(0xef)]('\x20\x20⚠\x20'+_0x234836['profileName']+_0x471567(0xf8)+(_0x3ac74b instanceof Error?_0x3ac74b[_0x471567(0x13b)]:_0x4faa54['GrlDr'](String,_0x3ac74b))+').');}const _0x21c4a3=getEnvDir(_0x234836['profileName']);if(!_0x31c2c6&&existsSync(_0x21c4a3))try{await rm(_0x21c4a3,{'recursive':!![],'force':!![]}),_0x5d08d2++;}catch(_0x3ae029){console[_0x471567(0xef)](_0x471567(0xf9)+_0x234836['profileName']+':\x20failed\x20to\x20delete\x20local\x20dir\x20'+_0x21c4a3+'\x20('+(_0x3ae029 instanceof Error?_0x3ae029[_0x471567(0x13b)]:String(_0x3ae029))+').');}_0x589963++,_0x234836['preserveBaseUrl']&&_0x234836['baseUrl']?console[_0x471567(0xef)]('\x20\x20✓\x20'+_0x234836[_0x471567(0x10d)]+'\x20migrated\x20to\x20cloud\x20(env:\x20'+_0x234836['envKey']+_0x471567(0xee)):console['log'](_0x471567(0x13c)+_0x234836['profileName']+_0x471567(0x107)+_0x234836[_0x471567(0x128)]+')'),_0x436e7e?.[_0x471567(0xff)]('profile.migrate.succeeded',{'profileName':_0x234836['profileName'],'envKey':_0x234836['envKey'],'wasGitTracked':_0x7b90eb,'hadSession':_0x1d2362,'savedCreds':_0x121271});}catch(_0x3eb36c){_0x502b2d++,console['log'](_0x471567(0x134)+_0x234836[_0x471567(0x10d)]+_0x471567(0x138)+(_0x3eb36c instanceof Error?_0x3eb36c[_0x471567(0x13b)]:String(_0x3eb36c))),_0x436e7e?.[_0x471567(0xff)]('profile.migrate.failed',{'profileName':_0x234836['profileName'],'error':_0x4faa54['ZIxOZ'](_0x3eb36c,Error)?_0x3eb36c[_0x471567(0x13b)]:String(_0x3eb36c)});}}const _0x38565c=[];if(_0x589963>0x0)_0x38565c['push'](_0x589963+'\x20profile'+(_0x589963===0x1?'':'s')+_0x471567(0x12d));if(_0x5d08d2>0x0)_0x38565c['push'](_0x471567(0x111)+_0x5d08d2+'\x20local\x20director'+(_0x4faa54[_0x471567(0x103)](_0x5d08d2,0x1)?'y':_0x4faa54['mzBPW']));if(_0x1015a8>0x0)_0x38565c['push'](_0x1015a8+_0x471567(0x115));if(_0x502b2d>0x0)_0x38565c[_0x471567(0x102)](_0x502b2d+'\x20failed');if(_0x38565c[_0x471567(0x137)]>0x0)console['log'](_0x38565c[_0x471567(0x12c)]('.\x20')+'.');}
|
|
1
|
+
(function(_0x494117,_0x43381a){var _0x33d618=_0x3f0d,_0x298444=_0x494117();while(!![]){try{var _0x28e47=-parseInt(_0x33d618(0xae))/0x1*(parseInt(_0x33d618(0xb9))/0x2)+parseInt(_0x33d618(0xac))/0x3*(parseInt(_0x33d618(0xb2))/0x4)+-parseInt(_0x33d618(0xc0))/0x5+parseInt(_0x33d618(0xb8))/0x6+-parseInt(_0x33d618(0xb3))/0x7+parseInt(_0x33d618(0xb4))/0x8*(parseInt(_0x33d618(0xaf))/0x9)+-parseInt(_0x33d618(0xbf))/0xa;if(_0x28e47===_0x43381a)break;else _0x298444['push'](_0x298444['shift']());}catch(_0x26ca51){_0x298444['push'](_0x298444['shift']());}}}(_0x9079,0xb882f));function _0x3f0d(_0x43ee69,_0x522be6){_0x43ee69=_0x43ee69-0xac;var _0x907996=_0x9079();var _0x3f0d69=_0x907996[_0x43ee69];return _0x3f0d69;}export async function migrateProfile(_0x386ff5,_0x5564ef){var _0xac4964=_0x3f0d,_0xdcdf53={'jPFZB':function(_0x5cf3a5,_0x10a6d2){return _0x5cf3a5+_0x10a6d2;},'XuKSp':function(_0x307765,_0x55b2f2){return _0x307765+_0x55b2f2;},'qopui':function(_0x336ab3,_0x370197){return _0x336ab3+_0x370197;},'SluiS':function(_0x2cf90c,_0x583c7f){return _0x2cf90c+_0x583c7f;},'bjeBZ':function(_0x4ae559,_0x5699fc){return _0x4ae559+_0x5699fc;},'zZuna':function(_0x5ab624,_0xc61e86){return _0x5ab624+_0xc61e86;},'wrHRM':'Cloud\x20profiles\x20are\x201:1\x20with\x20accounts;\x20legacy\x20profile\x20names\x20','iScOb':_0xac4964(0xc1),'tXBYE':_0xac4964(0xbc)};console['error'](_0xdcdf53[_0xac4964(0xb5)](_0xdcdf53['XuKSp'](_0xdcdf53['jPFZB'](_0xdcdf53['XuKSp'](_0xdcdf53[_0xac4964(0xbe)](_0xdcdf53[_0xac4964(0xb1)](_0xdcdf53[_0xac4964(0xad)](_0xdcdf53[_0xac4964(0xc2)](_0xac4964(0xb7),'\x0a')+_0xdcdf53['wrHRM'],'aren\x27t\x20account-keyed\x20and\x20session\x20state\x20can\x27t\x20be\x20mapped\x20cleanly.\x0a'),'\x0a')+_0xac4964(0xb6),'\x20\x20•\x20username/password:\x20RANGER_TEST_USERNAME=...\x20RANGER_TEST_PASSWORD=...\x20ranger\x20go\x20--url\x20<url>\x0a')+'\x20\x20•\x20SSO/OAuth:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ranger\x20profile\x20add\x20<account-email>\x0a','\x0a'),_0xdcdf53[_0xac4964(0xbb)]),_0xdcdf53[_0xac4964(0xb0)])+'\x0a',_0xac4964(0xba))),process[_0xac4964(0xbd)](0x1);}function _0x9079(){var _0x14e647=['ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','2862198rberbD','1605728VhEdoV','Reference:\x20docs/feature/cloud-profiles-old-vs-new-structure.md','iScOb','Delete\x20them\x20once\x20you\x20have\x20re-auth-ed.\x0a','exit','qopui','4638900IPverb','1204770OfzFih','Legacy\x20<project>/.ranger/\x20dirs\x20stay\x20readable\x20during\x20the\x20alpha.\x20','zZuna','3123ZvrLCe','bjeBZ','1cHyQbm','12128553EVgSJG','tXBYE','SluiS','2340lUxCst','1191176WnasVw','8BINfYW','jPFZB','Re-auth\x20via\x20the\x20new\x20flow:\x0a'];_0x9079=function(){return _0x14e647;};return _0x9079();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x34f93e,_0x408bce){const _0x576886=_0x5ef8,_0x5811f1=_0x34f93e();while(!![]){try{const _0x4e115e=-parseInt(_0x576886(0x192))/0x1+parseInt(_0x576886(0x17f))/0x2*(parseInt(_0x576886(0x181))/0x3)+-parseInt(_0x576886(0x198))/0x4+parseInt(_0x576886(0x1a3))/0x5*(-parseInt(_0x576886(0x184))/0x6)+parseInt(_0x576886(0x1b3))/0x7*(parseInt(_0x576886(0x19c))/0x8)+-parseInt(_0x576886(0x1b6))/0x9*(-parseInt(_0x576886(0x1a6))/0xa)+parseInt(_0x576886(0x1b1))/0xb*(parseInt(_0x576886(0x18a))/0xc);if(_0x4e115e===_0x408bce)break;else _0x5811f1['push'](_0x5811f1['shift']());}catch(_0x2959d4){_0x5811f1['push'](_0x5811f1['shift']());}}}(_0x4735,0xf14d5));import{join}from'path';import{existsSync}from'fs';import _0x38d71d from'inquirer';function _0x4735(){const _0x49ba42=['Would\x20you\x20like\x20to\x20install\x20skills?','trailhead','6xEDJXX','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','MUdvk','vOHyT','❌\x20Failed\x20to\x20install\x20plugin:','success','23964MGVMXS','.claude','lhvZg','zGPLF','kodtD','YbYMM','GKGwi','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','1032253OuTAah','output','nCzAR','project','rqjrU','SKILL.md','3234296sOXsgu','includes','prompt','JwttI','419160uuQrkO','add','Whzkg','ranger-testing/trailhead','wantsSkillup','user','qEIDD','9826455fLYRvA','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','error','300gruqBo','Project\x20(shared\x20with\x20team\x20via\x20git)','yeSoU','list','UICEw','IlROK','bQtgV','ranger@trailhead','fUElK','wSqtY','pluginScope','14179dDHBuS','slaLt','35tiAenE','log','✓\x20Claude\x20Code\x20plugin\x20enabled','135coajFA','❌\x20Failed\x20to\x20add\x20marketplace:','hGHLe','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','2hXOLTW','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','5873799qiymyt'];_0x4735=function(){return _0x49ba42;};return _0x4735();}import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x163381){const _0x3e0ba6=_0x5ef8,_0x4b195b={'fUElK':'ranger@trailhead','MUdvk':function(_0x469c54,_0x1b3fc5,_0x33efad){return _0x469c54(_0x1b3fc5,_0x33efad);},'UxJod':function(_0x6b42a2){return _0x6b42a2();},'bQtgV':_0x3e0ba6(0x195),'GKGwi':_0x3e0ba6(0x191),'UICEw':'Where\x20should\x20the\x20plugin\x20be\x20installed?','EpWTf':'user','yeSoU':function(_0x3381eb,_0x5a3ec1){return _0x3381eb(_0x5a3ec1);},'Whzkg':_0x3e0ba6(0x183),'JwttI':'✓\x20Marketplace\x20already\x20added','vOHyT':'plugin','nCzAR':'marketplace','oHpzQ':_0x3e0ba6(0x19d),'fwWLO':_0x3e0ba6(0x19f),'bTnGt':_0x3e0ba6(0x1b7),'lhvZg':'\x0aYou\x20can\x20install\x20manually\x20with:','rqjrU':'install','zGPLF':function(_0x1ad8b7){return _0x1ad8b7();},'xSEbk':_0x3e0ba6(0x188),'IlROK':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','hGHLe':function(_0x2ce259,_0x5240ff){return _0x2ce259===_0x5240ff;},'YbYMM':'--scope','kuYwH':'already\x20enabled'},_0x2d27e0=await isPluginInstalled(_0x4b195b['fUElK']);if(_0x2d27e0)return console['log'](_0x3e0ba6(0x185)),![];const _0x44674c=existsSync(_0x4b195b[_0x3e0ba6(0x186)](join,_0x4b195b['UxJod'](getProjectRoot),_0x3e0ba6(0x18b)));let _0x4842cb;if(_0x163381)_0x4842cb=_0x163381;else{if(_0x44674c)_0x4842cb=_0x4b195b[_0x3e0ba6(0x1ac)];else{console[_0x3e0ba6(0x1b4)](_0x4b195b[_0x3e0ba6(0x190)]);const _0x478253=await _0x38d71d['prompt']([{'type':_0x3e0ba6(0x1a9),'name':_0x3e0ba6(0x1b0),'message':_0x4b195b[_0x3e0ba6(0x1aa)],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x3e0ba6(0x1a1)},{'name':_0x3e0ba6(0x1a7),'value':_0x4b195b[_0x3e0ba6(0x1ac)]}],'default':_0x4b195b['EpWTf']}]);_0x4842cb=_0x478253['pluginScope'];}}console[_0x3e0ba6(0x1b4)](_0x3e0ba6(0x180)+_0x4842cb+'\x20level)...\x0a');const _0x4d0e46=await _0x4b195b['yeSoU'](isMarketplaceAdded,_0x4b195b[_0x3e0ba6(0x19e)]);let _0x4e9d2c=_0x4d0e46;if(_0x4d0e46)console[_0x3e0ba6(0x1b4)](_0x4b195b[_0x3e0ba6(0x19b)]);else{const _0x3a6353=await _0x4b195b[_0x3e0ba6(0x1a8)](runClaudeCommand,[_0x4b195b[_0x3e0ba6(0x187)],_0x4b195b[_0x3e0ba6(0x194)],_0x4b195b['oHpzQ'],_0x4b195b['fwWLO']]);!_0x3a6353[_0x3e0ba6(0x189)]?(console['error'](_0x4b195b['bTnGt'],_0x3a6353['error']),console[_0x3e0ba6(0x1b4)](_0x4b195b[_0x3e0ba6(0x18c)]),console['log'](_0x3e0ba6(0x1a4)),console[_0x3e0ba6(0x1b4)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x4842cb)):_0x4e9d2c=!![];}if(_0x4e9d2c){const _0x19a43a=await _0x4b195b['MUdvk'](runClaudeCommand,[_0x4b195b['vOHyT'],_0x4b195b[_0x3e0ba6(0x196)],_0x4b195b[_0x3e0ba6(0x1ae)],'--scope',_0x4842cb],{'cwd':_0x4842cb==='project'?_0x4b195b[_0x3e0ba6(0x18d)](getProjectRoot):undefined});if(!_0x19a43a['success'])console['error'](_0x4b195b['xSEbk'],_0x19a43a['error']),console[_0x3e0ba6(0x1b4)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x3e0ba6(0x1b4)](_0x3e0ba6(0x17e)+_0x4842cb);else{console['log'](_0x4b195b[_0x3e0ba6(0x1ab)]);const _0x147162=['plugin','enable',_0x3e0ba6(0x1ad)];_0x4b195b[_0x3e0ba6(0x17d)](_0x4842cb,_0x3e0ba6(0x195))&&_0x147162['push'](_0x4b195b[_0x3e0ba6(0x18f)],'project');const _0x24984a=await runClaudeCommand(_0x147162,{'captureOutput':!![],'cwd':_0x4842cb==='project'?_0x4b195b['UxJod'](getProjectRoot):undefined}),_0x5826e5=_0x24984a[_0x3e0ba6(0x193)]?.[_0x3e0ba6(0x199)](_0x4b195b['kuYwH']);!_0x24984a[_0x3e0ba6(0x189)]&&!_0x5826e5?console[_0x3e0ba6(0x1a5)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x24984a[_0x3e0ba6(0x1a5)]):console[_0x3e0ba6(0x1b4)](_0x3e0ba6(0x1b5));}}return!![];}function _0x5ef8(_0x5b06b9,_0x307712){_0x5b06b9=_0x5b06b9-0x17d;const _0x473566=_0x4735();let _0x5ef827=_0x473566[_0x5b06b9];return _0x5ef827;}export async function ensureClaudeSkills(_0x1958eb){const _0x5de424=_0x5ef8,_0x395231={'arRCF':'user','wSqtY':'ranger','MGpvZ':_0x5de424(0x197),'DPhfm':function(_0x370d22,_0x10fb7c,_0x1c8027,_0x2ca5f3){return _0x370d22(_0x10fb7c,_0x1c8027,_0x2ca5f3);},'slaLt':function(_0x46750e,_0x3e4cb0){return _0x46750e||_0x3e4cb0;},'DUNrj':'✓\x20Ranger\x20skills\x20already\x20installed','GKmmf':function(_0x1a2fa9,_0x44afff){return _0x1a2fa9(_0x44afff);},'qEIDD':function(_0x140c94){return _0x140c94();},'zjRqq':'.claude','ilJpJ':function(_0x383fc1,_0x1fdfb1){return _0x383fc1(_0x1fdfb1);},'IDXbs':'confirm','kodtD':_0x5de424(0x1a0),'aMbza':_0x5de424(0x182)},_0x2f8a2f=existsSync(join(getSkillsDir(_0x395231['arRCF']),_0x395231[_0x5de424(0x1af)],_0x395231['MGpvZ'])),_0xcd6f9d=existsSync(_0x395231['DPhfm'](join,getSkillsDir(_0x5de424(0x195)),'ranger',_0x5de424(0x197)));if(_0x395231[_0x5de424(0x1b2)](_0x2f8a2f,_0xcd6f9d))return console['log'](_0x395231['DUNrj']),![];const _0x385836=_0x395231['GKmmf'](existsSync,join(_0x395231[_0x5de424(0x1a2)](getProjectRoot),_0x395231['zjRqq']));let _0x28c732=!![];if(_0x1958eb)await skillup({'autoInstall':_0x1958eb,'suppressUsage':!![]});else{if(_0x385836)await _0x395231['ilJpJ'](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0x419cd1=await _0x38d71d[_0x5de424(0x19a)]([{'type':_0x395231['IDXbs'],'name':_0x395231[_0x5de424(0x18e)],'message':_0x395231['aMbza'],'default':!![]}]);_0x28c732=_0x419cd1[_0x5de424(0x1a0)],_0x28c732&&await skillup({'suppressUsage':!![]});}}return _0x28c732;}
|