@ranger-testing/ranger-cli 2.5.4-alpha.a70fc60-4 → 2.5.4-alpha.b2ba935-13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -14
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -0
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/skills/ranger/SKILL.md +35 -5
- package/build/skills/ranger/create.md +19 -0
- package/build/skills/ranger/verify.md +46 -7
- package/package.json +1 -1
package/build/commands/hook.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x55473b,_0x14161b){const _0x34841b=_0x5cb4,_0xa3e794=_0x55473b();while(!![]){try{const _0x5b12c6=-parseInt(_0x34841b(0x98))/0x1*(parseInt(_0x34841b(0x8e))/0x2)+-parseInt(_0x34841b(0x97))/0x3+-parseInt(_0x34841b(0x91))/0x4+-parseInt(_0x34841b(0x90))/0x5+parseInt(_0x34841b(0x95))/0x6*(-parseInt(_0x34841b(0x8a))/0x7)+-parseInt(_0x34841b(0x8b))/0x8*(parseInt(_0x34841b(0x96))/0x9)+parseInt(_0x34841b(0x94))/0xa;if(_0x5b12c6===_0x14161b)break;else _0xa3e794['push'](_0xa3e794['shift']());}catch(_0x4f3b14){_0xa3e794['push'](_0xa3e794['shift']());}}}(_0x1dee,0x30ce2));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x5cb4(_0x54772b,_0xed8847){_0x54772b=_0x54772b-0x8a;const _0x1dee1e=_0x1dee();let _0x5cb46f=_0x1dee1e[_0x54772b];return _0x5cb46f;}function _0x1dee(){const _0x368401=['17331270bwZAdi','24fUyAgk','1366992owneoz','513222QgvdOQ','283141agPJMP','491785adpxYA','8QBWyAa','Valid\x20hooks:\x20','MOooS','2SifYUn','once','1827760FzzQit','1122184kmHOzo','Unknown\x20hook:\x20','SIGINT'];_0x1dee=function(){return _0x368401;};return _0x1dee();}const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x433abf=_0x5cb4,_0x50f90f={'MOooS':'SIGTERM'};if(cancellationHandlersInstalled)return;const _0x815353=()=>{process['exit'](0x0);};process[_0x433abf(0x8f)](_0x433abf(0x93),_0x815353),process[_0x433abf(0x8f)](_0x50f90f[_0x433abf(0x8d)],_0x815353),process[_0x433abf(0x8f)]('SIGHUP',_0x815353),cancellationHandlersInstalled=!![];}export async function hook(_0x2b5fc1,_0xddc0e9){const _0x34f817=_0x5cb4;installCancellationHandlers();const _0x23142f=HOOKS[_0x2b5fc1];if(!_0x23142f){const _0x510dc3=Object['keys'](HOOKS)['join'](',\x20');console['error'](_0x34f817(0x92)+_0x2b5fc1),console['error'](_0x34f817(0x8c)+_0x510dc3),process['exit'](0x1);}await _0x23142f(_0xddc0e9);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x12c2e9=_0x2698;function _0x2698(_0x536104,_0x512022){_0x536104=_0x536104-0x185;const _0x68b677=_0x68b6();let _0x26988f=_0x68b677[_0x536104];return _0x26988f;}(function(_0x2dbc51,_0x19c297){const _0x218b90=_0x2698,_0xf4ecd5=_0x2dbc51();while(!![]){try{const _0x57f0c5=-parseInt(_0x218b90(0x18a))/0x1*(parseInt(_0x218b90(0x186))/0x2)+parseInt(_0x218b90(0x18d))/0x3+-parseInt(_0x218b90(0x191))/0x4+-parseInt(_0x218b90(0x18f))/0x5+parseInt(_0x218b90(0x190))/0x6*(-parseInt(_0x218b90(0x18b))/0x7)+parseInt(_0x218b90(0x189))/0x8*(-parseInt(_0x218b90(0x187))/0x9)+parseInt(_0x218b90(0x188))/0xa;if(_0x57f0c5===_0x19c297)break;else _0xf4ecd5['push'](_0xf4ecd5['shift']());}catch(_0x37a496){_0xf4ecd5['push'](_0xf4ecd5['shift']());}}}(_0x68b6,0x3810b));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x12c2e9(0x185);function _0x68b6(){const _0x3f6017=['GVOmO','593130hQKELn','6VBHplg','315148xotOzG','\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.','96168ufPboa','4075389jUGtVT','7194190SNxhyw','8oDzhsG','2HNixpH','601538HwGEOS','session_id','1027680afiabp'];_0x68b6=function(){return _0x3f6017;};return _0x68b6();}export async function autoPrompt(){const _0xd42247=_0x12c2e9,_0x273fec={'GVOmO':function(_0x281335,_0x45712a){return _0x281335(_0x45712a);},'BEjbo':function(_0x78826,_0x790159){return _0x78826(_0x790159);}},_0x30c1b5=await readHookInput(),_0x28f990=_0x30c1b5?.[_0xd42247(0x18c)];if(!_0x28f990)return;if(_0x273fec[_0xd42247(0x18e)](isSessionEnabled,_0x28f990)||hasSessionBeenPrompted(_0x28f990))return;_0x273fec['BEjbo'](markSessionPrompted,_0x28f990),console['log'](AUTO_PROMPT_TEXT);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x30a589,_0x39c903){const _0xb0452a=_0x4a0b,_0xc0ea21=_0x30a589();while(!![]){try{const _0x1d5c53=parseInt(_0xb0452a(0x1f4))/0x1+parseInt(_0xb0452a(0x1f0))/0x2+parseInt(_0xb0452a(0x1eb))/0x3*(parseInt(_0xb0452a(0x1ea))/0x4)+parseInt(_0xb0452a(0x1e8))/0x5*(parseInt(_0xb0452a(0x1ed))/0x6)+parseInt(_0xb0452a(0x1e9))/0x7*(-parseInt(_0xb0452a(0x1f2))/0x8)+parseInt(_0xb0452a(0x1e6))/0x9+-parseInt(_0xb0452a(0x1ee))/0xa;if(_0x1d5c53===_0x39c903)break;else _0xc0ea21['push'](_0xc0ea21['shift']());}catch(_0x2675f9){_0xc0ea21['push'](_0xc0ea21['shift']());}}}(_0x4fb9,0xe8b45));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x4fb9(){const _0x20ccb6=['205yDuFxu','7kVtbFw','12TAwLDv','1551873yUAKZG','env','56838zCbSwV','38065280qhKNPE','bZhvH','1159336rRCteN','CLAUDE_SESSION_ID','7825832UJHzUT','master','1731500ODKrYa','13378320QcGvlT','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'];_0x4fb9=function(){return _0x20ccb6;};return _0x4fb9();}import{printBlock}from'./output.js';function _0x4a0b(_0x1dd256,_0x2eabb3){_0x1dd256=_0x1dd256-0x1e6;const _0x4fb9c8=_0x4fb9();let _0x4a0b57=_0x4fb9c8[_0x1dd256];return _0x4a0b57;}export async function disable(_0x558cd8){const _0x196c67=_0x4a0b,_0x4cbc32={'sDGcu':'main','bZhvH':function(_0x1e12b8,_0x2984be){return _0x1e12b8(_0x2984be);},'dWfJx':function(_0x3ca98c,_0x5d67fc){return _0x3ca98c!==_0x5d67fc;}},_0x469b55=_0x558cd8||process[_0x196c67(0x1ec)][_0x196c67(0x1f1)]||'';_0x469b55&&disableSession(_0x469b55);const _0xe1af4=getCurrentBranch();_0xe1af4&&_0xe1af4!==_0x4cbc32['sDGcu']&&_0xe1af4!=='master'&&_0x4cbc32[_0x196c67(0x1ef)](disableBranch,_0xe1af4),printBlock(_0x196c67(0x1e7)+(_0xe1af4&&_0xe1af4!=='main'&&_0x4cbc32['dWfJx'](_0xe1af4,_0x196c67(0x1f3))?'\x20and\x20branch\x20\x27'+_0xe1af4+'\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(_0x4128ce,_0x34c944){const _0xb2edc2=_0x18d2,_0x5946c8=_0x4128ce();while(!![]){try{const _0x5aeb6b=parseInt(_0xb2edc2(0x191))/0x1*(-parseInt(_0xb2edc2(0x193))/0x2)+-parseInt(_0xb2edc2(0x187))/0x3*(parseInt(_0xb2edc2(0x18a))/0x4)+parseInt(_0xb2edc2(0x192))/0x5+parseInt(_0xb2edc2(0x183))/0x6+parseInt(_0xb2edc2(0x186))/0x7*(-parseInt(_0xb2edc2(0x18d))/0x8)+-parseInt(_0xb2edc2(0x188))/0x9*(parseInt(_0xb2edc2(0x18f))/0xa)+-parseInt(_0xb2edc2(0x18c))/0xb*(-parseInt(_0xb2edc2(0x194))/0xc);if(_0x5aeb6b===_0x34c944)break;else _0x5946c8['push'](_0x5946c8['shift']());}catch(_0x50a4a5){_0x5946c8['push'](_0x5946c8['shift']());}}}(_0x2863,0x7fe08));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';function _0x2863(){const _0x8d33f8=['dJpmc','14990wAqpKx','sJeum','20kdcFko','2273895XPrLtU','7988iNcPUe','16266084WKkHMl','sUzpk','TcCfj','Tcziq','4661046lJevBw','kGfKa','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','4189346PJczGv','6LMUQRb','2853STCfYz','env','1819604uuVbHr','iIgFA','11mGcLaZ','8afptLt'];_0x2863=function(){return _0x8d33f8;};return _0x2863();}function _0x18d2(_0x5848d1,_0x2dba2a){_0x5848d1=_0x5848d1-0x180;const _0x28630d=_0x2863();let _0x18d2e3=_0x28630d[_0x5848d1];return _0x18d2e3;}export async function enable(_0x2103a1){const _0x11d744=_0x18d2,_0x5571f6={'iIgFA':function(_0x36295e,_0x38a06d){return _0x36295e(_0x38a06d);},'kGfKa':'ranger\x20setup\x20--opencode','sJeum':'ranger\x20setup','dJpmc':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','TcCfj':function(_0x4219e0){return _0x4219e0();},'Tcziq':'master','sUzpk':function(_0xa31070,_0x278924){return _0xa31070(_0x278924);}},_0xa0720=_0x2103a1||process[_0x11d744(0x189)]['CLAUDE_SESSION_ID']||'',_0x2288b4=_0x5571f6[_0x11d744(0x18b)](Boolean,_0x2103a1),_0x153b23=await getToken();if(!_0x153b23){const _0x1bafa4=_0x2288b4?_0x5571f6[_0x11d744(0x184)]:_0x5571f6[_0x11d744(0x190)],_0x474a0e=_0x2288b4?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x5571f6[_0x11d744(0x18e)];_0x5571f6[_0x11d744(0x18b)](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`'+_0x1bafa4+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x474a0e);return;}try{await update();}catch{}_0xa0720&&enableSession(_0xa0720);const _0x2a6c61=_0x5571f6[_0x11d744(0x181)](getCurrentBranch),_0x27860b=_0x2a6c61&&_0x2a6c61!=='main'&&_0x2a6c61!==_0x5571f6[_0x11d744(0x182)]?'\x0a\x0a**Branch\x20\x27'+_0x2a6c61+_0x11d744(0x185):'',_0x22d8c2=_0x5571f6[_0x11d744(0x181)](getRangerSkillContent);_0x5571f6[_0x11d744(0x180)](printBlock,'#\x20RANGER\x20ENABLED'+_0x27860b+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x22d8c2+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x898b79,_0x358f5e){const _0x248020=_0xacaf,_0x5dcce4=_0x898b79();while(!![]){try{const _0x4ea2d4=-parseInt(_0x248020(0x1f0))/0x1*(-parseInt(_0x248020(0x1eb))/0x2)+parseInt(_0x248020(0x1ee))/0x3*(-parseInt(_0x248020(0x1e6))/0x4)+parseInt(_0x248020(0x1e4))/0x5*(-parseInt(_0x248020(0x1e7))/0x6)+parseInt(_0x248020(0x1ef))/0x7*(-parseInt(_0x248020(0x1e9))/0x8)+parseInt(_0x248020(0x1ea))/0x9*(parseInt(_0x248020(0x1e3))/0xa)+parseInt(_0x248020(0x1e5))/0xb*(parseInt(_0x248020(0x1ec))/0xc)+-parseInt(_0x248020(0x1e8))/0xd*(-parseInt(_0x248020(0x1ed))/0xe);if(_0x4ea2d4===_0x358f5e)break;else _0x5dcce4['push'](_0x5dcce4['shift']());}catch(_0x3d819c){_0x5dcce4['push'](_0x5dcce4['shift']());}}}(_0x30cd,0xcd233));function _0xacaf(_0x779228,_0x33c58c){_0x779228=_0x779228-0x1e2;const _0x30cdaa=_0x30cd();let _0xacaf33=_0x30cdaa[_0x779228];return _0xacaf33;}import{printBlock,getEnabledSessionId}from'./output.js';function _0x30cd(){const _0xdacd3=['175ibJJKM','802XitmBg','===\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===','1990EXKPHK','10ZQLWmd','11odzgIp','5997180PvfCey','4904154QWLOeM','140517APLSav','206192BDvSLM','56412WzWpOb','1438DguNDF','18100380qcQIvE','1666xvXdSv','3syPBhG'];_0x30cd=function(){return _0xdacd3;};return _0x30cd();}export async function exitPlanMode(_0x11cf81){const _0x141f56=_0xacaf,_0x3fa616={'NHhHu':function(_0x4cb140,_0x52598f){return _0x4cb140(_0x52598f);}},_0x340bcd=await getEnabledSessionId(_0x11cf81);if(!_0x340bcd)return;_0x3fa616['NHhHu'](printBlock,_0x141f56(0x1e2));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x52d05b,_0x275f2c){var _0xdd1c0d=_0x1e21,_0x1d41ff=_0x52d05b();while(!![]){try{var _0x1563da=-parseInt(_0xdd1c0d(0x11d))/0x1+-parseInt(_0xdd1c0d(0x11e))/0x2*(parseInt(_0xdd1c0d(0x11b))/0x3)+-parseInt(_0xdd1c0d(0x118))/0x4*(-parseInt(_0xdd1c0d(0x119))/0x5)+parseInt(_0xdd1c0d(0x11c))/0x6+-parseInt(_0xdd1c0d(0x120))/0x7+parseInt(_0xdd1c0d(0x11f))/0x8+parseInt(_0xdd1c0d(0x11a))/0x9;if(_0x1563da===_0x275f2c)break;else _0x1d41ff['push'](_0x1d41ff['shift']());}catch(_0xf66237){_0x1d41ff['push'](_0x1d41ff['shift']());}}}(_0x19a6,0xe35f5));export{sessionStart}from'./sessionStart.js';function _0x1e21(_0x32b1e3,_0x364ad0){_0x32b1e3=_0x32b1e3-0x118;var _0x19a68b=_0x19a6();var _0x1e214f=_0x19a68b[_0x32b1e3];return _0x1e214f;}export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';function _0x19a6(){var _0x46c052=['1984507hKYPzQ','4tJcCoQ','4909155EkNxWs','22250277IUpDdg','122019GLtWfv','5231202rfUcUK','1331731xRpZAC','88YEGIKf','81680ORHwzj'];_0x19a6=function(){return _0x46c052;};return _0x19a6();}export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x189693,_0x4fb0dc){const _0x580a6b=_0x512e,_0x54aec0=_0x189693();while(!![]){try{const _0x44cfab=-parseInt(_0x580a6b(0x16c))/0x1+parseInt(_0x580a6b(0x16d))/0x2+-parseInt(_0x580a6b(0x16f))/0x3*(-parseInt(_0x580a6b(0x170))/0x4)+-parseInt(_0x580a6b(0x16e))/0x5+-parseInt(_0x580a6b(0x165))/0x6*(-parseInt(_0x580a6b(0x16b))/0x7)+parseInt(_0x580a6b(0x166))/0x8*(parseInt(_0x580a6b(0x168))/0x9)+-parseInt(_0x580a6b(0x164))/0xa;if(_0x44cfab===_0x4fb0dc)break;else _0x54aec0['push'](_0x54aec0['shift']());}catch(_0x212998){_0x54aec0['push'](_0x54aec0['shift']());}}}(_0x16c0,0xd4984));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x569b56){console['log'](_0x569b56);}export async function readHookInput(){const _0x115e1=_0x512e;let _0x591857='';try{for await(const _0x36d79c of process[_0x115e1(0x169)]){_0x591857+=_0x36d79c;}}catch{return null;}if(!_0x591857['trim']())return null;try{return JSON[_0x115e1(0x16a)](_0x591857);}catch{return null;}}function _0x16c0(){const _0x53015d=['NZNDQ','9TdAsmW','stdin','parse','5638136OtHmHV','443225tzWiKT','787910xyqQGR','6597150yPjQIR','93189hKtRDZ','212UCTUfZ','xvHfP','session_id','6844580IHchDY','6zgpTch','3777272gxigoH'];_0x16c0=function(){return _0x53015d;};return _0x16c0();}export async function getEnabledSessionId(_0x3c7938){const _0xf41018=_0x512e,_0x261e1a={'NZNDQ':function(_0xc8dc14){return _0xc8dc14();},'lPeGg':function(_0x237b06,_0x18589e){return _0x237b06(_0x18589e);}};if(_0x3c7938)return isSessionEnabled(_0x3c7938)?_0x3c7938:null;const _0x413126=await _0x261e1a[_0xf41018(0x167)](readHookInput),_0x5054bd=_0x413126?.[_0xf41018(0x163)];if(!_0x5054bd||!_0x261e1a['lPeGg'](isSessionEnabled,_0x5054bd))return null;return _0x5054bd;}function _0x512e(_0x25854e,_0x5e4d83){_0x25854e=_0x25854e-0x163;const _0x16c0f7=_0x16c0();let _0x512e84=_0x16c0f7[_0x25854e];return _0x512e84;}export async function getEnabledHookContext(_0x5d04f2){const _0x371e90=_0x512e,_0x2914ab={'xvHfP':function(_0x57b4be,_0x9ae9f7){return _0x57b4be(_0x9ae9f7);}};if(_0x5d04f2){if(!_0x2914ab[_0x371e90(0x171)](isSessionEnabled,_0x5d04f2))return null;return{'sessionId':_0x5d04f2,'input':{'session_id':_0x5d04f2}};}const _0x43cc2f=await readHookInput(),_0x2fa7e9=_0x43cc2f?.['session_id'];if(!_0x2fa7e9||!_0x2914ab[_0x371e90(0x171)](isSessionEnabled,_0x2fa7e9))return null;return{'sessionId':_0x2fa7e9,'input':_0x43cc2f};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x6a45(_0x25c993,_0x7f2b07){_0x25c993=_0x25c993-0x89;const _0x451ab7=_0x451a();let _0x6a4524=_0x451ab7[_0x25c993];return _0x6a4524;}(function(_0x12b87c,_0x374a15){const _0xb4130e=_0x6a45,_0x318094=_0x12b87c();while(!![]){try{const _0x3e8ca7=-parseInt(_0xb4130e(0x90))/0x1+-parseInt(_0xb4130e(0x8e))/0x2+-parseInt(_0xb4130e(0x89))/0x3*(-parseInt(_0xb4130e(0x8d))/0x4)+-parseInt(_0xb4130e(0x8b))/0x5+-parseInt(_0xb4130e(0x94))/0x6+parseInt(_0xb4130e(0x8c))/0x7+-parseInt(_0xb4130e(0x96))/0x8*(-parseInt(_0xb4130e(0x92))/0x9);if(_0x3e8ca7===_0x374a15)break;else _0x318094['push'](_0x318094['shift']());}catch(_0x498225){_0x318094['push'](_0x318094['shift']());}}}(_0x451a,0x5b5c4));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x2c4948){const _0x1fb375=_0x6a45,_0x3bf345={'xrkgu':function(_0x27f2ac,_0x423ce9){return _0x27f2ac!==_0x423ce9;},'aeucE':_0x1fb375(0x8f)},_0x5a8bf6=await getEnabledHookContext(_0x2c4948);if(!_0x5a8bf6)return;if(_0x3bf345[_0x1fb375(0x91)](_0x5a8bf6['input'][_0x1fb375(0x8a)],_0x3bf345[_0x1fb375(0x93)]))return;if(!shouldShowPlanReminder(_0x5a8bf6[_0x1fb375(0x95)]))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}function _0x451a(){const _0x4f2ea3=['3891609rLtZWA','aeucE','3224310MmfoLP','sessionId','16SqYjQA','12645jyblgv','permission_mode','1838965DqfRdb','4719694lTSBHr','388qETdhh','480808icsIRo','plan','428105OyPtbQ','xrkgu'];_0x451a=function(){return _0x4f2ea3;};return _0x451a();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2392db,_0x1813ab){const _0x1c0a08=_0x4691,_0x423d3a=_0x2392db();while(!![]){try{const _0x406272=-parseInt(_0x1c0a08(0x12e))/0x1*(-parseInt(_0x1c0a08(0x12b))/0x2)+-parseInt(_0x1c0a08(0x130))/0x3*(parseInt(_0x1c0a08(0x128))/0x4)+parseInt(_0x1c0a08(0x12a))/0x5+-parseInt(_0x1c0a08(0x127))/0x6+-parseInt(_0x1c0a08(0x129))/0x7*(parseInt(_0x1c0a08(0x126))/0x8)+parseInt(_0x1c0a08(0x12f))/0x9+parseInt(_0x1c0a08(0x12d))/0xa;if(_0x406272===_0x1813ab)break;else _0x423d3a['push'](_0x423d3a['shift']());}catch(_0x1f6c83){_0x423d3a['push'](_0x423d3a['shift']());}}}(_0x4bdf,0x8fb41));function _0x4691(_0x5f30d2,_0x5a33dd){_0x5f30d2=_0x5f30d2-0x126;const _0x4bdfef=_0x4bdf();let _0x46911c=_0x4bdfef[_0x5f30d2];return _0x46911c;}import{printBlock,getEnabledSessionId}from'./output.js';function _0x4bdf(){const _0x438586=['10484280FRWLRy','2csohGr','389853TyMYLY','339chBFXO','232984dyxaRf','1167408mzBbrh','18388UwloRL','161XfmkOz','3591900kZhBTs','162342YOnVav','cdgPp'];_0x4bdf=function(){return _0x438586;};return _0x4bdf();}export async function planStart(_0x2a09aa){const _0x16a0b6=_0x4691,_0x553e93={'cdgPp':function(_0x1c5e65,_0x3a4dc5){return _0x1c5e65(_0x3a4dc5);}},_0x11e1f6=await _0x553e93[_0x16a0b6(0x12c)](getEnabledSessionId,_0x2a09aa);if(!_0x11e1f6)return;_0x553e93['cdgPp'](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1086(_0xb8291e,_0x4bc001){_0xb8291e=_0xb8291e-0x168;const _0x466ab4=_0x466a();let _0x1086b0=_0x466ab4[_0xb8291e];return _0x1086b0;}(function(_0x166111,_0x34057f){const _0x524583=_0x1086,_0x3888c3=_0x166111();while(!![]){try{const _0x1053ad=parseInt(_0x524583(0x176))/0x1*(parseInt(_0x524583(0x16e))/0x2)+parseInt(_0x524583(0x171))/0x3*(-parseInt(_0x524583(0x170))/0x4)+parseInt(_0x524583(0x16a))/0x5+parseInt(_0x524583(0x16d))/0x6*(parseInt(_0x524583(0x175))/0x7)+parseInt(_0x524583(0x168))/0x8+-parseInt(_0x524583(0x172))/0x9+-parseInt(_0x524583(0x16f))/0xa;if(_0x1053ad===_0x34057f)break;else _0x3888c3['push'](_0x3888c3['shift']());}catch(_0x4f8152){_0x3888c3['push'](_0x3888c3['shift']());}}}(_0x466a,0x5b82a));function _0x466a(){const _0xa5719a=['86XWyeMr','1790160RJozIH','log','2741655jjzxqs','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).','PostToolUse','866004uQLdHW','14684odCjTH','5191030LyLuma','100676TOyZDC','39enxDzG','2940489EfdBGP','stringify','DfACi','7rdliuq'];_0x466a=function(){return _0xa5719a;};return _0x466a();}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x103549){const _0x50b379=_0x1086,_0x2c56b3={'DfACi':function(_0xf2e56,_0x7195a8){return _0xf2e56(_0x7195a8);}},_0x2d0224=await getEnabledSessionId(_0x103549);if(!_0x2d0224)return;_0x2c56b3[_0x50b379(0x174)](updateBranchTracking,_0x2d0224);const _0x28f636=await getToken();if(!_0x28f636)return;const _0x5d1b48=getSessionEntry(_0x2d0224);if(_0x5d1b48){const _0x5df595={'hookSpecificOutput':{'hookEventName':_0x50b379(0x16c),'additionalContext':_0x50b379(0x16b)}};console['log'](JSON['stringify'](_0x5df595));return;}const _0x2b1cbc={'hookSpecificOutput':{'hookEventName':_0x50b379(0x16c),'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console[_0x50b379(0x169)](JSON[_0x50b379(0x173)](_0x2b1cbc));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x12c4c0,_0x416fda){const _0x587efb=_0x5eef,_0x4782f4=_0x12c4c0();while(!![]){try{const _0x391b07=parseInt(_0x587efb(0xf0))/0x1+-parseInt(_0x587efb(0xf3))/0x2*(parseInt(_0x587efb(0xe9))/0x3)+parseInt(_0x587efb(0xeb))/0x4*(parseInt(_0x587efb(0xf1))/0x5)+-parseInt(_0x587efb(0xe7))/0x6+parseInt(_0x587efb(0xe8))/0x7*(parseInt(_0x587efb(0xee))/0x8)+-parseInt(_0x587efb(0xec))/0x9*(parseInt(_0x587efb(0xed))/0xa)+-parseInt(_0x587efb(0xea))/0xb*(-parseInt(_0x587efb(0xf2))/0xc);if(_0x391b07===_0x416fda)break;else _0x4782f4['push'](_0x4782f4['shift']());}catch(_0x143a49){_0x4782f4['push'](_0x4782f4['shift']());}}}(_0x27bc,0xc3bff));function _0x27bc(){const _0x372781=['1124zKzmvH','2043lCpsaV','39280EneIYn','12442552AbjOZf','===\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`.','1197567CIowwc','2945caoaPB','12OKGNmf','4yNmKeV','8136702rwcBCK','7XdZpoI','640287tZuRlr','6138297HwLRKh'];_0x27bc=function(){return _0x372781;};return _0x27bc();}import{getToken}from'../utils/keychain.js';function _0x5eef(_0x3f83d4,_0x4d0763){_0x3f83d4=_0x3f83d4-0xe7;const _0x27bc5d=_0x27bc();let _0x5eef2b=_0x27bc5d[_0x3f83d4];return _0x5eef2b;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x2cf0a6){const _0x4a8372=_0x5eef,_0x3c7c5c={'BmQjx':function(_0x482836){return _0x482836();}},_0x67a852=await getEnabledSessionId(_0x2cf0a6);if(!_0x67a852)return;try{const _0x19b73f=await _0x3c7c5c['BmQjx'](getToken);if(!_0x19b73f)return;printBlock(_0x4a8372(0xef));}catch{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x27c544,_0x2325dc){const _0x5ceffc=_0x4032,_0x5b9764=_0x27c544();while(!![]){try{const _0x174aa0=parseInt(_0x5ceffc(0x113))/0x1+-parseInt(_0x5ceffc(0x117))/0x2+parseInt(_0x5ceffc(0x10d))/0x3*(-parseInt(_0x5ceffc(0x10c))/0x4)+-parseInt(_0x5ceffc(0x114))/0x5+parseInt(_0x5ceffc(0x10e))/0x6+-parseInt(_0x5ceffc(0x111))/0x7*(parseInt(_0x5ceffc(0x118))/0x8)+parseInt(_0x5ceffc(0x115))/0x9;if(_0x174aa0===_0x2325dc)break;else _0x5b9764['push'](_0x5b9764['shift']());}catch(_0x3189ad){_0x5b9764['push'](_0x5b9764['shift']());}}}(_0x137e,0x39ed1));function _0x4032(_0x81a92b,_0x414a16){_0x81a92b=_0x81a92b-0x10b;const _0x137e80=_0x137e();let _0x403208=_0x137e80[_0x81a92b];return _0x403208;}function _0x137e(){const _0x4cd097=['262584alVqsY','700795auqcvv','6801822AgncNy','env','923606YPgsxf','3896ycXOzp','reason','80xnHtUu','30903pbmZqF','1742232EsmPkf','trlUO','grIeB','3787RioVJE','jvTOo'];_0x137e=function(){return _0x4cd097;};return _0x137e();}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x253608){const _0x1a06d1=_0x4032,_0x1dad01={'jvTOo':function(_0x2a2d99,_0x8670d7){return _0x2a2d99(_0x8670d7);},'trlUO':function(_0x3dfa64,_0xc00c8e){return _0x3dfa64===_0xc00c8e;},'grIeB':'clear'},_0x2146b5=process[_0x1a06d1(0x116)]['CLAUDE_SESSION_ID'];let _0x40ea60=_0x253608,_0x34b82c;if(!_0x253608){if(_0x2146b5&&!_0x1dad01[_0x1a06d1(0x112)](isSessionEnabled,_0x2146b5))return;const _0x24edcc=await readHookInput();_0x40ea60=_0x24edcc?.['session_id']||_0x2146b5,_0x34b82c=_0x24edcc?.[_0x1a06d1(0x10b)];}if(!_0x40ea60)return;_0x1dad01[_0x1a06d1(0x10f)](_0x34b82c,_0x1dad01[_0x1a06d1(0x110)])&&recordEnabledSessionCleared(_0x40ea60);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x5132e1=_0x154d;(function(_0x1edbe7,_0x1a603d){const _0x20b509=_0x154d,_0x125e54=_0x1edbe7();while(!![]){try{const _0x192228=parseInt(_0x20b509(0xb6))/0x1+parseInt(_0x20b509(0xc5))/0x2*(parseInt(_0x20b509(0xc8))/0x3)+-parseInt(_0x20b509(0xbe))/0x4*(-parseInt(_0x20b509(0xbd))/0x5)+-parseInt(_0x20b509(0xce))/0x6*(-parseInt(_0x20b509(0xcb))/0x7)+parseInt(_0x20b509(0xc9))/0x8*(parseInt(_0x20b509(0xcc))/0x9)+parseInt(_0x20b509(0xc6))/0xa+-parseInt(_0x20b509(0xbb))/0xb;if(_0x192228===_0x1a603d)break;else _0x125e54['push'](_0x125e54['shift']());}catch(_0x37e96a){_0x125e54['push'](_0x125e54['shift']());}}}(_0x3ab4,0x59f11));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x3ab4(){const _0x3ac718=['=================================================================\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=================================================================','qMZgQ','241082NIRLyq','4298690XeCvsx','BoDVw','3injkBD','4099872EdryVe','trackCommandEnd','56ahFdpQ','9aJHPXr','xulaS','66102seNmRN','CLAUDE_ENV_FILE','721818jfPYUm','DDKgL','log','hook:session-start','FHCDl','22744469jNXMRz','EjXyU','88005HRoTOJ','128JYjzwU','export\x20CLAUDE_SESSION_ID=\x22','stdin','utAfP','env'];_0x3ab4=function(){return _0x3ac718;};return _0x3ab4();}import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';function _0x154d(_0x1b3fbc,_0x27a96e){_0x1b3fbc=_0x1b3fbc-0xb6;const _0x3ab48e=_0x3ab4();let _0x154dc0=_0x3ab48e[_0x1b3fbc];return _0x154dc0;}const RANGER_AUTO_ENABLED_PROMPT=_0x5132e1(0xc3);export async function sessionStart(_0x31b674){const _0x506868=_0x5132e1,_0x1e31d0={'xulaS':'source','FHCDl':function(_0x5f1279,_0x45d062,_0x47cbda){return _0x5f1279(_0x45d062,_0x47cbda);},'BoDVw':function(_0x107eb5,_0x195b35){return _0x107eb5(_0x195b35);},'qMZgQ':function(_0x41d7c7,_0x139c45){return _0x41d7c7(_0x139c45);},'DDKgL':function(_0x47455b,_0x37b718){return _0x47455b(_0x37b718);},'EjXyU':_0x506868(0xb9),'BNTkc':'success','utAfP':'main'};let _0x37146d=_0x31b674||'',_0x12cf31;if(!_0x31b674){let _0x5d0b9b='';for await(const _0x39c4ce of process[_0x506868(0xc0)]){_0x5d0b9b+=_0x39c4ce;}try{const _0xb4734=JSON['parse'](_0x5d0b9b);_0x37146d=_0xb4734['session_id']||'',_0x12cf31=_0xb4734[_0x1e31d0[_0x506868(0xcd)]];}catch{}const _0x48e8d7=process[_0x506868(0xc2)][_0x506868(0xcf)];if(_0x48e8d7&&_0x37146d)try{await _0x1e31d0[_0x506868(0xba)](appendFile,_0x48e8d7,_0x506868(0xbf)+_0x37146d+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x37146d){shouldAutoEnableAfterClear(_0x12cf31)&&_0x1e31d0[_0x506868(0xc7)](autoEnableAfterClear,_0x37146d);_0x1e31d0[_0x506868(0xc4)](initBranchTracking,_0x37146d);const _0x489edd=_0x1e31d0[_0x506868(0xc7)](isSessionEnabled,_0x37146d);try{const _0x3abdac=_0x1e31d0[_0x506868(0xb7)](createTelemetryCollector,_0x1e31d0[_0x506868(0xbc)]);await _0x3abdac['trackCommandStart']({'sessionId':_0x37146d,'hooksEnabled':_0x489edd}),await _0x3abdac[_0x506868(0xca)](_0x1e31d0['BNTkc']);}catch{}if(_0x489edd){const _0x4f6625=getCurrentBranch(),_0x13437b=_0x4f6625&&_0x4f6625!==_0x1e31d0[_0x506868(0xc1)]&&_0x4f6625!=='master'?'\x20(Branch:\x20'+_0x4f6625+')':'',_0x37ae3b={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x13437b}};console[_0x506868(0xb8)](JSON['stringify'](_0x37ae3b));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x4232(_0x5b5810,_0x27832f){_0x5b5810=_0x5b5810-0x15b;const _0x594169=_0x5941();let _0x423257=_0x594169[_0x5b5810];return _0x423257;}(function(_0x2a40ec,_0x2ba123){const _0x12b608=_0x4232,_0x3d4937=_0x2a40ec();while(!![]){try{const _0x3395be=parseInt(_0x12b608(0x15c))/0x1+parseInt(_0x12b608(0x164))/0x2+parseInt(_0x12b608(0x15b))/0x3+parseInt(_0x12b608(0x165))/0x4*(-parseInt(_0x12b608(0x171))/0x5)+-parseInt(_0x12b608(0x173))/0x6*(-parseInt(_0x12b608(0x167))/0x7)+-parseInt(_0x12b608(0x162))/0x8*(-parseInt(_0x12b608(0x16e))/0x9)+-parseInt(_0x12b608(0x160))/0xa*(parseInt(_0x12b608(0x172))/0xb);if(_0x3395be===_0x2ba123)break;else _0x3d4937['push'](_0x3d4937['shift']());}catch(_0x3da689){_0x3d4937['push'](_0x3d4937['shift']());}}}(_0x5941,0x2f41c));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';function _0x5941(){const _0x3d007f=['23464btugwu','SDkYI','checklistItems','SCnUn','currentSessionId','verified','trackCommandStart','18747jEJvUf','status','Stop','435LmBqEt','2882EbTTNr','60gVpzFH','312495zYDBNu','28818sjZxih','sBibR','closed','trackCommandEnd','7910GVlqvY','incomplete','1256GSFMdx','stringify','396574eqltte','13380SLslua','featureId'];_0x5941=function(){return _0x3d007f;};return _0x5941();}import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x799d48){const _0x577303=_0x4232,_0x4ca2c2={'WaSpe':function(_0x47a58c,_0x4c72fa){return _0x47a58c(_0x4c72fa);},'hvxCz':function(_0x48c51d,_0x3c3b7a,_0x14ad7e,_0x34f13d){return _0x48c51d(_0x3c3b7a,_0x14ad7e,_0x34f13d);},'gDzJX':function(_0x3887b6,_0x55b8c3){return _0x3887b6(_0x55b8c3);},'GTkfg':function(_0x134d27){return _0x134d27();},'ZgpxD':function(_0x2cbb1a,_0x39e162){return _0x2cbb1a&&_0x39e162;},'SDkYI':function(_0x3448b4,_0xdb58e3){return _0x3448b4&&_0xdb58e3;},'RIBBM':function(_0x137d6e,_0x36745a,_0x58b9ba,_0x36af00){return _0x137d6e(_0x36745a,_0x58b9ba,_0x36af00);}},_0x38fbf8=await _0x4ca2c2['WaSpe'](getEnabledHookContext,_0x799d48),_0x48db59=_0x38fbf8?.['sessionId']??null;let _0x2ad7b2=!![];if(!_0x48db59){await _0x4ca2c2['hvxCz'](trackStop,_0x48db59,![],_0x2ad7b2);return;}try{const _0x20db97=_0x4ca2c2['gDzJX'](getSessionEntry,_0x48db59);if(!_0x20db97){await trackStop(_0x48db59,!![],_0x2ad7b2);return;}const _0x5e1805=await _0x4ca2c2['GTkfg'](getToken),_0x5a33e3='https://dashboard.ranger.net/features/'+_0x20db97[_0x577303(0x166)];let _0x1c5854=null,_0x5a2f18=![],_0x43c81b=![];if(_0x5e1805)try{const _0x1b03a0=await getFeature(_0x20db97[_0x577303(0x166)]);_0x1c5854=_0x1b03a0[_0x577303(0x16b)]??null;const _0x20bc04=_0x1b03a0[_0x577303(0x169)]['filter'](_0x5de5e2=>_0x5de5e2['sessionId']===_0x1c5854);_0x5a2f18=_0x20bc04['some'](_0x52fe27=>_0x52fe27['status']!==_0x577303(0x16c)&&_0x52fe27['status']!=='blocked'&&_0x52fe27[_0x577303(0x16f)]!==_0x577303(0x15e)&&_0x52fe27['status']!==_0x577303(0x161)),_0x43c81b=_0x20bc04['some'](_0x273579=>_0x273579[_0x577303(0x16f)]==='verification_in_progress');}catch{}if(_0x4ca2c2['ZgpxD'](_0x5e1805,_0x1c5854)&&_0x5a2f18){if(!_0x43c81b&&shouldShowStopReminder(_0x48db59)){const _0x2f59b8={'hookSpecificOutput':{'hookEventName':_0x577303(0x170),'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'+_0x5a33e3}};console['log'](JSON[_0x577303(0x163)](_0x2f59b8));}}if(_0x4ca2c2[_0x577303(0x168)](_0x5e1805,_0x1c5854)&&!_0x5a2f18)try{await concludeSession(_0x20db97['featureId'],_0x1c5854);}catch{}await _0x4ca2c2['RIBBM'](trackStop,_0x48db59,!![],_0x2ad7b2);return;}catch{await trackStop(_0x48db59,!![],_0x2ad7b2);return;}}async function trackStop(_0xe5db4f,_0x20b5e4,_0x4b1313){const _0x5e1514=_0x4232,_0x3c9b43={'sBibR':function(_0x11b6bd,_0x135008){return _0x11b6bd??_0x135008;},'SCnUn':'success'};try{const _0x650568=createTelemetryCollector('hook:stop');await _0x650568[_0x5e1514(0x16d)]({'sessionId':_0x3c9b43[_0x5e1514(0x15d)](_0xe5db4f,undefined),'hooksEnabled':_0x20b5e4,'stopAllowed':_0x4b1313}),await _0x650568[_0x5e1514(0x15f)](_0x3c9b43[_0x5e1514(0x16a)]);}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x5aad(){var _0x59e474=['4198980oZFFrq','36uMTrgV','3cQxZKj','270474EkzGxJ','4288340dFpzZx','213AljynO','46108wVminN','5465514rPPUGz','353040vpNKyV','6156906AlmfLZ'];_0x5aad=function(){return _0x59e474;};return _0x5aad();}(function(_0x37afb4,_0x4c6f0d){var _0x581dd5=_0x3da1,_0x406adb=_0x37afb4();while(!![]){try{var _0x2024da=-parseInt(_0x581dd5(0x6e))/0x1*(-parseInt(_0x581dd5(0x6f))/0x2)+parseInt(_0x581dd5(0x67))/0x3*(parseInt(_0x581dd5(0x68))/0x4)+parseInt(_0x581dd5(0x70))/0x5+-parseInt(_0x581dd5(0x69))/0x6+-parseInt(_0x581dd5(0x6b))/0x7+-parseInt(_0x581dd5(0x6a))/0x8*(parseInt(_0x581dd5(0x6d))/0x9)+parseInt(_0x581dd5(0x6c))/0xa;if(_0x2024da===_0x4c6f0d)break;else _0x406adb['push'](_0x406adb['shift']());}catch(_0x4704ea){_0x406adb['push'](_0x406adb['shift']());}}}(_0x5aad,0x828a9));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';function _0x3da1(_0x27ffe7,_0x20f91c){_0x27ffe7=_0x27ffe7-0x67;var _0x5aad3f=_0x5aad();var _0x3da107=_0x5aad3f[_0x27ffe7];return _0x3da107;}export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
|
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x24cad9,_0x59b929){const _0x2289ad=_0x478a,_0x2b9fc4=_0x24cad9();while(!![]){try{const _0x57d87f=parseInt(_0x2289ad(0x1f6))/0x1*(-parseInt(_0x2289ad(0x1f2))/0x2)+parseInt(_0x2289ad(0x1eb))/0x3*(-parseInt(_0x2289ad(0x1f9))/0x4)+-parseInt(_0x2289ad(0x1f4))/0x5*(-parseInt(_0x2289ad(0x1ed))/0x6)+-parseInt(_0x2289ad(0x1f7))/0x7+-parseInt(_0x2289ad(0x1fc))/0x8+parseInt(_0x2289ad(0x1f1))/0x9+parseInt(_0x2289ad(0x1fa))/0xa*(parseInt(_0x2289ad(0x1f0))/0xb);if(_0x57d87f===_0x59b929)break;else _0x2b9fc4['push'](_0x2b9fc4['shift']());}catch(_0x1d9d22){_0x2b9fc4['push'](_0x2b9fc4['shift']());}}}(_0x47f8,0x2b9b6));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x478a(_0x36f1fd,_0x860f82){_0x36f1fd=_0x36f1fd-0x1eb;const _0x47f8d8=_0x47f8();let _0x478af4=_0x47f8d8[_0x36f1fd];return _0x478af4;}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x47f8(){const _0x3e43a2=['88dpxuTB','591570qIbgSg','\x0a✅\x20API\x20key\x20stored\x20successfully','4Ltilwu','20dvqkZB','stdout','382352rackYv','isTTY','602379AlTpJV','INvLG','1666164GGIvlN','message','Re-authenticating\x20via\x20MCP\x20bootstrap...','1054009tUWnOU','1177371kZdBOb','2010tdcyaS','\x0a✅\x20Logged\x20in\x20to\x20','5Silixh','log'];_0x47f8=function(){return _0x3e43a2;};return _0x47f8();}export async function login(){const _0x36e2b4=_0x478a,_0x14ac7f={'UCSDB':function(_0x2feff3){return _0x2feff3();},'CULxX':_0x36e2b4(0x1ef),'INvLG':function(_0x10287d){return _0x10287d();},'AjEQg':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','vgbuv':function(_0x27c48e,_0x301666){return _0x27c48e(_0x301666);}},_0x44913e=await _0x14ac7f['UCSDB'](getMcpAuthOrigin);if(_0x44913e){console[_0x36e2b4(0x1f5)](_0x14ac7f['CULxX']),await _0x14ac7f[_0x36e2b4(0x1ec)](mcpBootstrap);return;}const _0x10c3de=process['stdin'][_0x36e2b4(0x1fd)]&&process[_0x36e2b4(0x1fb)]['isTTY'];if(!_0x10c3de)throw new Error(_0x14ac7f['AjEQg']);try{const _0x16db7a=await runDeviceAuthFlow(),_0x529a62=await _0x14ac7f['vgbuv'](getCurrentUser,_0x16db7a);_0x529a62['success']?console['log'](_0x36e2b4(0x1f3)+_0x529a62['user']['organizationName']):console['log'](_0x36e2b4(0x1f8));}catch(_0x34304d){throw new Error('Login\x20failed:\x20'+(_0x34304d instanceof Error?_0x34304d[_0x36e2b4(0x1ee)]:_0x34304d));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0xcbe0(_0x58c7a9,_0x2295bb){_0x58c7a9=_0x58c7a9-0x90;const _0x4cf07a=_0x4cf0();let _0xcbe072=_0x4cf07a[_0x58c7a9];return _0xcbe072;}const _0x391073=_0xcbe0;(function(_0x233b86,_0x15ba89){const _0x8a1d7a=_0xcbe0,_0x25002e=_0x233b86();while(!![]){try{const _0x51e156=-parseInt(_0x8a1d7a(0xef))/0x1*(parseInt(_0x8a1d7a(0xba))/0x2)+-parseInt(_0x8a1d7a(0xa9))/0x3+-parseInt(_0x8a1d7a(0x9d))/0x4+-parseInt(_0x8a1d7a(0xae))/0x5*(parseInt(_0x8a1d7a(0xd2))/0x6)+parseInt(_0x8a1d7a(0xc0))/0x7*(-parseInt(_0x8a1d7a(0xa4))/0x8)+parseInt(_0x8a1d7a(0xfd))/0x9+parseInt(_0x8a1d7a(0x102))/0xa;if(_0x51e156===_0x15ba89)break;else _0x25002e['push'](_0x25002e['shift']());}catch(_0x1686cc){_0x25002e['push'](_0x25002e['shift']());}}}(_0x4cf0,0xcf611));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(),_0x391073(0xfb),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x391073(0xb4));export async function getMcpAuthOrigin(){const _0x24f43a=_0x391073,_0x2599df={'sDWtc':_0x24f43a(0xbb)};try{const _0x59dac6=(await readFile(AUTH_ORIGIN_PATH,_0x2599df['sDWtc']))['trim']();return _0x59dac6||null;}catch{return null;}}export async function mcpBootstrap(){const _0x4ffc58=_0x391073,_0xe7771b={'xfzcX':function(_0x529028){return _0x529028();},'yYILu':_0x4ffc58(0xb8),'BumzN':function(_0x297e59,_0x276e2c){return _0x297e59+_0x276e2c;},'bkjJh':_0x4ffc58(0xc4),'uyDgz':function(_0x1ccdc9,_0x5903c5){return _0x1ccdc9(_0x5903c5);},'CduhE':function(_0x43a92c,_0x370131,_0x2b5bcf){return _0x43a92c(_0x370131,_0x2b5bcf);}},_0xb0e1a1=_0xe7771b['xfzcX'](getMcpAuthUrl);currentOrigin=_0xb0e1a1;const _0x27bae7=process[_0x4ffc58(0x100)]['isTTY']??![];console['log'](_0x4ffc58(0xe3)+_0xb0e1a1+'\x0a');const _0x48a5fe=await tryUnauthenticated(_0xb0e1a1);let _0x2c19a1=null;if(_0x48a5fe===_0xe7771b['yYILu'])_0x2c19a1='';else{_0x2c19a1=await loadCachedToken();if(!_0x2c19a1){if(!_0x27bae7)throw new Error(_0xe7771b['BumzN'](_0x4ffc58(0xf7),_0xe7771b[_0x4ffc58(0xaf)]));_0x2c19a1=await _0xe7771b[_0x4ffc58(0x104)](oauthFlow,_0xb0e1a1);}}await _0xe7771b[_0x4ffc58(0x9e)](callGetCliToken,_0xb0e1a1,_0x2c19a1);}async function tryUnauthenticated(_0x87b3a5){const _0xb32990=_0x391073,_0x59bea6={'jlpMV':function(_0x54c6f9,_0x39fae6,_0x1bb04b){return _0x54c6f9(_0x39fae6,_0x1bb04b);},'xtqdi':'POST','vorwr':'application/json','MEPLN':_0xb32990(0xe5),'RANtW':'2025-03-26','CfouD':_0xb32990(0xa0)},_0x5d028a=await _0x59bea6['jlpMV'](fetch,_0x87b3a5,{'method':_0x59bea6['xtqdi'],'headers':{'Content-Type':_0x59bea6[_0xb32990(0x105)],'Accept':_0xb32990(0xe0)},'body':JSON[_0xb32990(0x113)]({'jsonrpc':_0x59bea6['MEPLN'],'id':0x1,'method':_0xb32990(0xde),'params':{'protocolVersion':_0x59bea6[_0xb32990(0x98)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0xb32990(0xff)}}})});if(_0x5d028a['ok'])return await _0x5d028a['text'](),_0xb32990(0xb8);if(_0x5d028a[_0xb32990(0x9c)]===0x191)return await _0x5d028a[_0xb32990(0x111)](),_0x59bea6[_0xb32990(0x95)];const _0x513269=await _0x5d028a['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x5d028a['status']+':\x20'+_0x513269);}class OAuthTimeoutError extends Error{constructor(_0x6911eb){const _0x560e6c={'yMlaz':'OAuthTimeoutError'};super(_0x6911eb),this['name']=_0x560e6c['yMlaz'];}}async function oauthFlow(_0x40b77d){const _0x3fa914=_0x391073,_0x3c94b9={'LnVez':function(_0x5e9276,_0x4f8f0e){return _0x5e9276(_0x4f8f0e);},'rUSaV':function(_0x9816a0,_0x1e9b8c){return _0x9816a0 instanceof _0x1e9b8c;}};try{return await _0x3c94b9['LnVez'](oauthFlowAttempt,_0x40b77d);}catch(_0x48e66a){if(_0x3c94b9['rUSaV'](_0x48e66a,OAuthTimeoutError)&&await loadCachedClient())return console[_0x3fa914(0xb2)](_0x3fa914(0x118)),await clearCachedClient(),await _0x3c94b9['LnVez'](oauthFlowAttempt,_0x40b77d);throw _0x48e66a;}}async function oauthFlowAttempt(_0x4e2b59){const _0x459f2b=_0x391073,_0x1360ac={'bYXJT':function(_0x49c850,_0x52895c){return _0x49c850(_0x52895c);},'hZOMf':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','JupIa':function(_0x44a764){return _0x44a764();},'Cebaw':'Registering\x20OAuth\x20client...','eBqcc':function(_0x3adb5e,_0x3b8b1b,_0x5ae985){return _0x3adb5e(_0x3b8b1b,_0x5ae985);},'zRWPv':'application/json','bTORP':'authorization_code','xHuhy':'refresh_token','bsmPW':'code','OdyOs':'none','DuAxT':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','ReCiw':function(_0x4d1d71,_0x7595e3){return _0x4d1d71(_0x7595e3);},'OdBBW':'base64url','mvMVv':_0x459f2b(0x117),'kwhvJ':'response_type','RbtVK':_0x459f2b(0x107),'bOIBQ':_0x459f2b(0xd9),'ZDWrX':_0x459f2b(0x109),'KVRRY':'resource','CkXHB':'\x0aOpening\x20browser\x20for\x20authentication...','vyIrY':function(_0x41227b,_0x55e936){return _0x41227b(_0x55e936);},'ELVRb':_0x459f2b(0xda),'DXXqF':'POST','qVKGp':_0x459f2b(0xf5)},_0x55ba5c=_0x4e2b59['replace'](/\/mcp$/,'');process['stdout'][_0x459f2b(0xab)](_0x459f2b(0x10e));const _0x4e82a6=await _0x1360ac['bYXJT'](fetch,_0x55ba5c+'/.well-known/oauth-protected-resource');if(!_0x4e82a6['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x236442=await _0x4e82a6['json'](),_0x2c08b1=_0x236442['authorization_servers']?.[0x0];if(!_0x2c08b1)throw new Error(_0x1360ac[_0x459f2b(0xad)]);console['log']('\x20'+_0x2c08b1);const _0x2464a5=await _0x1360ac[_0x459f2b(0x96)](fetchAuthServerMetadata,_0x2c08b1);let _0x214a9c,_0x5c2b8f;const _0x4c4085=await _0x1360ac['JupIa'](loadCachedClient);if(_0x4c4085)_0x214a9c=_0x4c4085[_0x459f2b(0x11b)],_0x5c2b8f=_0x4c4085['clientSecret'];else{if(_0x2464a5['registration_endpoint']){process[_0x459f2b(0x100)][_0x459f2b(0xab)](_0x1360ac['Cebaw']);const _0x16f3e6=await _0x1360ac['eBqcc'](fetch,_0x2464a5[_0x459f2b(0xeb)],{'method':_0x459f2b(0xc8),'headers':{'Content-Type':_0x1360ac[_0x459f2b(0x110)]},'body':JSON[_0x459f2b(0x113)]({'client_name':_0x459f2b(0xb1),'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x459f2b(0xd1)],'grant_types':[_0x1360ac[_0x459f2b(0xac)],_0x1360ac[_0x459f2b(0xe1)]],'response_types':[_0x1360ac[_0x459f2b(0xc1)]],'token_endpoint_auth_method':_0x1360ac[_0x459f2b(0x99)]})});if(!_0x16f3e6['ok']){const _0x482c50=await _0x16f3e6['text']();throw new Error(_0x459f2b(0x120)+_0x482c50);}const _0x38847b=await _0x16f3e6['json']();_0x214a9c=_0x38847b[_0x459f2b(0x115)],_0x5c2b8f=_0x38847b[_0x459f2b(0xda)],await _0x1360ac[_0x459f2b(0xb3)](saveCachedClient,_0x214a9c,_0x5c2b8f),console['log']('\x20done');}else throw new Error(_0x1360ac[_0x459f2b(0xc7)]);}const _0x3ba211=_0x1360ac['ReCiw'](randomBytes,0x20)[_0x459f2b(0xb0)](_0x1360ac['OdBBW']),_0xc4216=_0x1360ac['ReCiw'](createHash,_0x1360ac[_0x459f2b(0xa7)])[_0x459f2b(0x91)](_0x3ba211)['digest'](_0x459f2b(0xc5)),_0x3f3e03=randomBytes(0x10)[_0x459f2b(0xb0)]('hex'),_0x163eb5=new URL(_0x2464a5[_0x459f2b(0xb5)]);_0x163eb5['searchParams'][_0x459f2b(0x11e)](_0x1360ac[_0x459f2b(0x97)],_0x459f2b(0xd8)),_0x163eb5[_0x459f2b(0x11d)][_0x459f2b(0x11e)](_0x459f2b(0x115),_0x214a9c),_0x163eb5[_0x459f2b(0x11d)]['set'](_0x1360ac[_0x459f2b(0xce)],'http://localhost:'+CALLBACK_PORT+_0x459f2b(0xd1)),_0x163eb5['searchParams']['set'](_0x1360ac['bOIBQ'],_0xc4216),_0x163eb5[_0x459f2b(0x11d)][_0x459f2b(0x11e)](_0x1360ac['ZDWrX'],'S256'),_0x163eb5['searchParams']['set'](_0x459f2b(0x101),_0x3f3e03);_0x236442['resource']&&_0x163eb5[_0x459f2b(0x11d)]['set'](_0x1360ac[_0x459f2b(0xcd)],_0x236442['resource']);console['log'](_0x1360ac['CkXHB']),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x163eb5[_0x459f2b(0xb0)]()+'\x0a'),await _0x1360ac[_0x459f2b(0xf2)](openBrowser,_0x163eb5[_0x459f2b(0xb0)]());const _0x5d881f=await _0x1360ac['bYXJT'](waitForCallback,_0x3f3e03);process['stdout'][_0x459f2b(0xab)]('Exchanging\x20authorization\x20code...');const _0x420d1c=new URLSearchParams({'grant_type':_0x1360ac['bTORP'],'code':_0x5d881f,'redirect_uri':_0x459f2b(0xaa)+CALLBACK_PORT+_0x459f2b(0xd1),'client_id':_0x214a9c,'code_verifier':_0x3ba211});_0x5c2b8f&&_0x420d1c[_0x459f2b(0x11e)](_0x1360ac['ELVRb'],_0x5c2b8f);_0x236442['resource']&&_0x420d1c[_0x459f2b(0x11e)](_0x1360ac[_0x459f2b(0xcd)],_0x236442[_0x459f2b(0xf0)]);const _0xc24f2e=await _0x1360ac['eBqcc'](fetch,_0x2464a5[_0x459f2b(0xc2)],{'method':_0x1360ac[_0x459f2b(0xbe)],'headers':{'Content-Type':_0x1360ac[_0x459f2b(0x9a)]},'body':_0x420d1c});if(!_0xc24f2e['ok']){const _0x30cf78=await _0xc24f2e['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x30cf78);}const _0x35ae8e=await _0xc24f2e['json']();return console['log'](_0x459f2b(0xdf)),await saveCachedToken(_0x35ae8e[_0x459f2b(0xd3)],_0x35ae8e[_0x459f2b(0xd4)],_0x35ae8e[_0x459f2b(0xf4)]),_0x35ae8e['access_token'];}async function callGetCliToken(_0x45b657,_0x434dfd){const _0x595b87=_0x391073,_0x3e7857={'dvzZf':_0x595b87(0xc8),'qNVuQ':function(_0x52a4cf,_0x153aff){return _0x52a4cf(_0x153aff);},'UkUlD':'application/json','jtijU':_0x595b87(0x94),'bAche':function(_0x218533,_0x2e5e18){return _0x218533(_0x2e5e18);},'XmeCB':'2.0','NGEDm':_0x595b87(0xfc),'XPlhh':function(_0xa5fdd5,_0x387277,_0x30cc71){return _0xa5fdd5(_0x387277,_0x30cc71);},'rekBv':'notifications/initialized','xQIdW':function(_0x1723a3,_0x9ff7bb){return _0x1723a3(_0x9ff7bb);},'JfVjD':'\x20done','OdjFZ':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','pKSZd':'refresh.txt','UFiSz':function(_0xd39f6f,_0x3212da,_0x553761,_0x267342){return _0xd39f6f(_0x3212da,_0x553761,_0x267342);},'ZoLYc':'auth-origin.txt'},_0x32077d={'Content-Type':_0x3e7857['UkUlD'],'Accept':_0x595b87(0xe0)};_0x434dfd&&(_0x32077d[_0x595b87(0xd7)]=_0x595b87(0xdc)+_0x434dfd);const _0xe9d8e7=async _0x5d3fdf=>{const _0x4f74be=_0x595b87,_0x23eac7=await fetch(_0x45b657,{'method':_0x3e7857['dvzZf'],'headers':_0x32077d,'body':JSON[_0x4f74be(0x113)](_0x5d3fdf)});if(!_0x23eac7['ok']){const _0x29d0cd=await _0x23eac7[_0x4f74be(0x111)]();throw new Error('HTTP\x20'+_0x23eac7['status']+':\x20'+_0x29d0cd);}return _0x3e7857['qNVuQ'](parseResponse,_0x23eac7);};process[_0x595b87(0x100)]['write'](_0x3e7857[_0x595b87(0xe7)]);const _0x51103a=await _0x3e7857['bAche'](_0xe9d8e7,{'jsonrpc':_0x3e7857[_0x595b87(0x121)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x3e7857['NGEDm'],'capabilities':{},'clientInfo':{'name':_0x595b87(0xe4),'version':_0x595b87(0xff)}}});if(_0x51103a['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x51103a['error'][_0x595b87(0xc6)]??JSON['stringify'](_0x51103a[_0x595b87(0x103)])));console['log'](_0x595b87(0xdf)),await _0x3e7857['XPlhh'](fetch,_0x45b657,{'method':'POST','headers':_0x32077d,'body':JSON[_0x595b87(0x113)]({'jsonrpc':_0x595b87(0xe5),'method':_0x3e7857[_0x595b87(0xc3)]})})['then'](_0x36bdb0=>_0x36bdb0['text']()),process['stdout']['write']('Requesting\x20CLI\x20token...');const _0x186bd6=await _0x3e7857[_0x595b87(0xbd)](_0xe9d8e7,{'jsonrpc':_0x595b87(0xe5),'id':0x2,'method':'tools/call','params':{'name':'get_cli_token','arguments':{}}});if(_0x186bd6[_0x595b87(0x103)])throw new Error('get_cli_token\x20failed:\x20'+(_0x186bd6[_0x595b87(0x103)][_0x595b87(0xc6)]??JSON[_0x595b87(0x113)](_0x186bd6['error'])));console['log'](_0x3e7857['JfVjD']);const _0x134d8b=_0x3e7857['bAche'](extractToken,_0x186bd6[_0x595b87(0xf6)]);if(!_0x134d8b){console['error'](_0x595b87(0xcb)),console['error'](JSON[_0x595b87(0x113)](_0x186bd6[_0x595b87(0xf6)],null,0x2));throw new Error(_0x3e7857['OdjFZ']);}const _0x456b81=_0x3e7857['XPlhh'](join,homedir(),_0x595b87(0xfb)),_0x380207=_0x3e7857['XPlhh'](join,_0x456b81,_0x3e7857[_0x595b87(0xa5)]);await _0x3e7857['XPlhh'](mkdir,_0x456b81,{'recursive':!![]}),await writeFile(_0x380207,_0x134d8b,{'mode':0x180}),await _0x3e7857[_0x595b87(0xa3)](writeFile,_0x3e7857['XPlhh'](join,_0x456b81,_0x3e7857[_0x595b87(0xb9)]),_0x45b657,{'mode':0x180}),console[_0x595b87(0xb2)]('\x0aToken\x20written\x20to\x20'+_0x380207),console['log'](_0x595b87(0x11a));}async function fetchAuthServerMetadata(_0x138fd4){const _0x43d840=_0x391073,_0x5c6ebd=_0x138fd4+_0x43d840(0xf8),_0x7eab1b=await fetch(_0x5c6ebd);if(!_0x7eab1b['ok'])throw new Error(_0x43d840(0x106)+_0x5c6ebd+':\x20'+_0x7eab1b['status']);return _0x7eab1b[_0x43d840(0xee)]();}function waitForCallback(_0x2fe31d){const _0x320c45=_0x391073,_0xb8a446={'UBvTr':_0x320c45(0xa2),'TOKKK':_0x320c45(0x123),'cNsWk':function(_0x37d997,_0x3c9094){return _0x37d997!==_0x3c9094;},'pHFbG':'text/html'};return new Promise((_0x3a6e5a,_0xeac951)=>{const _0x20d76c=_0x320c45,_0x400f6d={'HdoMU':_0xb8a446[_0x20d76c(0x108)],'bfmXZ':_0x20d76c(0x103),'EqHsg':function(_0x3ce39e,_0x4f4b25){return _0x3ce39e(_0x4f4b25);},'Onjmx':function(_0x1a326f,_0x1fceb3){return _0xb8a446['cNsWk'](_0x1a326f,_0x1fceb3);},'JQlyN':_0xb8a446[_0x20d76c(0x10f)]},_0xda7d1a=setTimeout(()=>{const _0x52105b=_0x20d76c;_0xfea2ee[_0x52105b(0xe2)](),_0xeac951(new OAuthTimeoutError(_0xb8a446[_0x52105b(0xd6)]));},0x1d4c0),_0xfea2ee=createServer((_0x4979f0,_0xb58ae7)=>{const _0x39a93f=_0x20d76c,_0x118e4a=new URL(_0x4979f0['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x118e4a['pathname']!=='/callback'){_0xb58ae7[_0x39a93f(0xe8)](0x194),_0xb58ae7['end'](_0x400f6d[_0x39a93f(0x93)]);return;}const _0x5f083c=_0x118e4a[_0x39a93f(0x11d)][_0x39a93f(0x116)]('code'),_0x114042=_0x118e4a[_0x39a93f(0x11d)]['get']('state'),_0x3457e1=_0x118e4a[_0x39a93f(0x11d)][_0x39a93f(0x116)](_0x400f6d[_0x39a93f(0xb6)]);if(_0x3457e1){const _0x5e2cc0=_0x118e4a[_0x39a93f(0x11d)]['get']('error_description')??_0x3457e1;_0xb58ae7['writeHead'](0xc8,{'Content-Type':'text/html'}),_0xb58ae7[_0x39a93f(0x10a)](_0x39a93f(0x11c)+_0x5e2cc0+_0x39a93f(0xea)),clearTimeout(_0xda7d1a),_0xfea2ee['close'](),_0x400f6d[_0x39a93f(0xfa)](_0xeac951,new Error('OAuth\x20error:\x20'+_0x5e2cc0));return;}if(!_0x5f083c||_0x400f6d['Onjmx'](_0x114042,_0x2fe31d)){_0xb58ae7[_0x39a93f(0xe8)](0x190,{'Content-Type':_0x400f6d[_0x39a93f(0xe9)]}),_0xb58ae7['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0xb58ae7['writeHead'](0xc8,{'Content-Type':_0x400f6d[_0x39a93f(0xe9)]}),_0xb58ae7[_0x39a93f(0x10a)]('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),_0x400f6d['EqHsg'](clearTimeout,_0xda7d1a),_0xfea2ee[_0x39a93f(0xe2)](),_0x3a6e5a(_0x5f083c);});_0xfea2ee[_0x20d76c(0xc9)](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0x1ec832){const _0x343f76=_0x391073,_0x2e8b8f={'RRZnP':'child_process','eNYSU':'start','FPwdA':function(_0x5d807f,_0x41ed48){return _0x5d807f(_0x41ed48);}},{exec:_0x10c016}=await import(_0x2e8b8f[_0x343f76(0xed)]),_0x1c73aa=process['platform']==='darwin'?_0x343f76(0xf3):process[_0x343f76(0x90)]==='win32'?_0x2e8b8f[_0x343f76(0x9f)]:_0x343f76(0x122);_0x2e8b8f['FPwdA'](_0x10c016,_0x1c73aa+'\x20\x22'+_0x1ec832+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x5d06d1=_0x391073,_0x4b5b40={'lkUlS':function(_0x566509,_0x309643){return _0x566509!==_0x309643;},'XMvjH':function(_0x11caeb,_0x35809b){return _0x11caeb>_0x35809b;}};try{const _0x528502=JSON[_0x5d06d1(0xec)](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x528502['origin']&&_0x4b5b40[_0x5d06d1(0x112)](_0x528502[_0x5d06d1(0x92)],currentOrigin))return null;if(_0x528502[_0x5d06d1(0xdd)]&&_0x4b5b40['XMvjH'](Date['now'](),_0x528502[_0x5d06d1(0xdd)]))return null;return _0x528502[_0x5d06d1(0xf9)]??null;}catch{return null;}}async function saveCachedToken(_0x1ae3c2,_0x3fdb2e,_0x5672ef){const _0x473d66=_0x391073,_0x5d1e37={'vRVNW':function(_0x240cb9){return _0x240cb9();},'VCHzS':function(_0x2b64d8,_0x568654,_0x35a309){return _0x2b64d8(_0x568654,_0x35a309);},'GAJAK':function(_0x1e6e0d,_0x3820f5,_0x422f34){return _0x1e6e0d(_0x3820f5,_0x422f34);},'QWvpI':function(_0x5a2322){return _0x5a2322();},'UYKnx':function(_0x548c20,_0x81bf86,_0x29841e,_0x274f63){return _0x548c20(_0x81bf86,_0x29841e,_0x274f63);}},_0x498869=await _0x5d1e37[_0x473d66(0x9b)](loadCachedData),_0x4a6a7f={..._0x498869,'origin':currentOrigin,'accessToken':_0x1ae3c2,'refreshToken':_0x3fdb2e??_0x498869?.[_0x473d66(0xa6)],'expiresAt':_0x5672ef?Date[_0x473d66(0xdb)]()+_0x5672ef*0x3e8:undefined};await _0x5d1e37['VCHzS'](mkdir,_0x5d1e37[_0x473d66(0xe6)](join,_0x5d1e37['QWvpI'](homedir),'.ranger'),{'recursive':!![]}),await _0x5d1e37['UYKnx'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x4a6a7f),{'mode':0x180});}async function loadCachedClient(){const _0x6bf70b=_0x391073,_0x41395a={'BJQJJ':function(_0x61faf6,_0xdbea2f){return _0x61faf6!==_0xdbea2f;}},_0xb52d87=await loadCachedData();if(_0xb52d87?.['origin']&&_0x41395a['BJQJJ'](_0xb52d87['origin'],currentOrigin))return null;return _0xb52d87?.[_0x6bf70b(0x11b)]?{'clientId':_0xb52d87['clientId'],'clientSecret':_0xb52d87['clientSecret']}:null;}async function clearCachedClient(){const _0x2aeb14=_0x391073,_0xe3538b={'zuJGh':function(_0x337222){return _0x337222();}},_0x2e2c5f=await _0xe3538b[_0x2aeb14(0xbc)](loadCachedData);if(!_0x2e2c5f)return;const {clientId:_0x4c2f3d,clientSecret:_0x2b732f,..._0x421b67}=_0x2e2c5f;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x421b67),{'mode':0x180});}async function saveCachedClient(_0x553ffa,_0x5140e5){const _0x41c635=_0x391073,_0x574fee={'xhugZ':'.ranger'},_0x17a176=await loadCachedData(),_0x2a87ed={..._0x17a176,'origin':currentOrigin,'accessToken':_0x17a176?.['accessToken']??'','clientId':_0x553ffa,'clientSecret':_0x5140e5};await mkdir(join(homedir(),_0x574fee[_0x41c635(0x119)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x2a87ed),{'mode':0x180});}function _0x4cf0(){const _0x290a53=['14610609PAliYX','match','1.0.0','stdout','state','25384880GIwJqU','error','uyDgz','vorwr','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','redirect_uri','TOKKK','code_challenge_method','end','jyqxT','KLpqz','string','Discovering\x20authorization\x20server...','pHFbG','zRWPv','text','lkUlS','stringify','content-type','client_id','get','sha256','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','xhugZ','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','clientId','<html><body><h2>Authentication\x20failed</h2><p>','searchParams','set','startsWith','Client\x20registration\x20failed:\x20','XmeCB','xdg-open','Not\x20found','platform','update','origin','HdoMU','Initializing\x20MCP\x20session...','CfouD','bYXJT','kwhvJ','RANtW','OdyOs','qVKGp','vRVNW','status','4855356DpbGql','CduhE','eNYSU','needs-oauth','token','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','UFiSz','8UjyPOq','pKSZd','refreshToken','mvMVv','Server\x20returned\x20error:\x20','535953PJJarH','http://localhost:','write','bTORP','hZOMf','5TfsGev','bkjJh','toString','Ranger\x20CLI','log','eBqcc','auth-origin.txt','authorization_endpoint','bfmXZ','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','proxied','ZoLYc','8jzextT','utf-8','zuJGh','xQIdW','DXXqF','split','4397827FatJJg','bsmPW','token_endpoint','rekBv','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','base64url','message','DuAxT','POST','listen','content','\x0aUnexpected\x20response\x20structure:','MTReb','KVRRY','RbtVK','slice','isError','/callback','2134854cUHsvn','access_token','refresh_token','data:','UBvTr','Authorization','code','code_challenge','client_secret','now','Bearer\x20','expiresAt','initialize','\x20done','application/json,\x20text/event-stream','xHuhy','close','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','ranger-cli','2.0','GAJAK','jtijU','writeHead','JQlyN','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','registration_endpoint','parse','RRZnP','json','233976yrozCQ','resource','type','vyIrY','open','expires_in','application/x-www-form-urlencoded','result','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','/.well-known/oauth-authorization-server','accessToken','EqHsg','.ranger','2025-03-26'];_0x4cf0=function(){return _0x290a53;};return _0x4cf0();}async function loadCachedData(){const _0x517265=_0x391073;try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x517265(0xbb)));}catch{return null;}}async function parseResponse(_0x4a63d5){const _0x304359=_0x391073,_0x4abc3e={'qAVgU':_0x304359(0x114),'lWaNy':_0x304359(0xb7)},_0x193440=_0x4a63d5['headers']['get'](_0x4abc3e['qAVgU'])??'';if(_0x193440['includes']('text/event-stream')){const _0x4222b9=await _0x4a63d5['text']();for(const _0x26ecd9 of _0x4222b9[_0x304359(0xbf)]('\x0a')){const _0x3224d2=_0x26ecd9['trim']();if(_0x3224d2[_0x304359(0x11f)]('data:')){const _0xe3d530=_0x3224d2[_0x304359(0xcf)](_0x304359(0xd5)['length'])['trim']();if(!_0xe3d530)continue;try{const _0x1763c1=JSON['parse'](_0xe3d530);if(_0x1763c1['id']!==undefined||_0x1763c1[_0x304359(0x103)])return _0x1763c1;}catch{}}}throw new Error(_0x4abc3e['lWaNy']);}return _0x4a63d5[_0x304359(0xee)]();}function extractToken(_0x2f34f4){const _0x2ad4c0=_0x391073,_0x380156={'MTReb':_0x2ad4c0(0x10d),'KLpqz':'Unknown\x20error','jyqxT':_0x2ad4c0(0x111),'oGPBa':function(_0x529f77,_0x51f59d){return _0x529f77===_0x51f59d;}};if(!_0x2f34f4)return null;const _0x3081dc=_0x2f34f4['structuredContent'];if(_0x3081dc?.[_0x2ad4c0(0xa1)]&&typeof _0x3081dc[_0x2ad4c0(0xa1)]===_0x380156['MTReb'])return _0x3081dc[_0x2ad4c0(0xa1)];if(_0x2f34f4[_0x2ad4c0(0xd0)]){const _0x40aeb3=_0x2f34f4['content'];throw new Error(_0x2ad4c0(0xa8)+(_0x40aeb3?.[0x0]?.['text']??_0x380156[_0x2ad4c0(0x10c)]));}const _0x3adf23=_0x2f34f4[_0x2ad4c0(0xca)];if(_0x3adf23)for(const _0x2c0490 of _0x3adf23){if(_0x2c0490[_0x2ad4c0(0xf1)]===_0x380156[_0x2ad4c0(0x10b)]&&_0x2c0490['text']){try{const _0x2cfb1d=JSON[_0x2ad4c0(0xec)](_0x2c0490['text']);if(_0x380156['oGPBa'](typeof _0x2cfb1d?.[_0x2ad4c0(0xa1)],_0x380156[_0x2ad4c0(0xcc)]))return _0x2cfb1d[_0x2ad4c0(0xa1)];}catch{}const _0x496956=_0x2c0490['text'][_0x2ad4c0(0xfe)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x496956)return _0x496956[0x1];}}return null;}
|
|
1
|
+
const _0x4cdcf7=_0xef40;(function(_0x4303dc,_0x5b6bcb){const _0x585db1=_0xef40,_0x3f7c48=_0x4303dc();while(!![]){try{const _0x4acf23=-parseInt(_0x585db1(0x155))/0x1+parseInt(_0x585db1(0x15f))/0x2+parseInt(_0x585db1(0x116))/0x3*(-parseInt(_0x585db1(0x133))/0x4)+-parseInt(_0x585db1(0x115))/0x5+parseInt(_0x585db1(0x165))/0x6+parseInt(_0x585db1(0x173))/0x7+parseInt(_0x585db1(0xfa))/0x8*(-parseInt(_0x585db1(0x15c))/0x9);if(_0x4acf23===_0x5b6bcb)break;else _0x3f7c48['push'](_0x3f7c48['shift']());}catch(_0x3abead){_0x3f7c48['push'](_0x3f7c48['shift']());}}}(_0x4db6,0x8bbc8));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',_0x4cdcf7(0x117)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x4cdcf7(0x14b));export async function getMcpAuthOrigin(){const _0x36ac32={'Fztyk':'utf-8'};try{const _0x3b8c8d=(await readFile(AUTH_ORIGIN_PATH,_0x36ac32['Fztyk']))['trim']();return _0x3b8c8d||null;}catch{return null;}}export async function mcpBootstrap(){const _0x5a4509=_0x4cdcf7,_0x58b3c6={'ofRZU':function(_0x119608,_0x4627ab){return _0x119608(_0x4627ab);},'OZgWk':function(_0x1886f6,_0x3c42d7){return _0x1886f6===_0x3c42d7;},'RIdQF':function(_0x517443){return _0x517443();},'gAdAY':function(_0x2f83f1,_0x374d48,_0x37cce1){return _0x2f83f1(_0x374d48,_0x37cce1);}},_0x5513f1=getMcpAuthUrl();currentOrigin=_0x5513f1;const _0xc2edaf=process[_0x5a4509(0x145)]['isTTY']??![];console['log'](_0x5a4509(0x172)+_0x5513f1+'\x0a');const _0xec93c=await _0x58b3c6[_0x5a4509(0x110)](tryUnauthenticated,_0x5513f1);let _0x3f8f20=null;if(_0x58b3c6['OZgWk'](_0xec93c,_0x5a4509(0x18b)))_0x3f8f20='';else{_0x3f8f20=await _0x58b3c6[_0x5a4509(0x160)](loadCachedToken);if(!_0x3f8f20){if(!_0xc2edaf)throw new Error(_0x5a4509(0x186)+_0x5a4509(0xf7));_0x3f8f20=await oauthFlow(_0x5513f1);}}await _0x58b3c6[_0x5a4509(0x10e)](callGetCliToken,_0x5513f1,_0x3f8f20);}async function tryUnauthenticated(_0x1b261a){const _0x4169da=_0x4cdcf7,_0x16a24c={'sDORb':function(_0x4a7aef,_0x332acb,_0x1864d8){return _0x4a7aef(_0x332acb,_0x1864d8);},'sCWJa':_0x4169da(0x184),'YFkum':'application/json','AZGVZ':_0x4169da(0x148),'lKAIR':'initialize','vkRZM':_0x4169da(0x187),'GXCuT':_0x4169da(0x18b),'BGcNC':_0x4169da(0x126)},_0x48030e=await _0x16a24c['sDORb'](fetch,_0x1b261a,{'method':_0x16a24c['sCWJa'],'headers':{'Content-Type':_0x16a24c['YFkum'],'Accept':_0x16a24c[_0x4169da(0x13b)]},'body':JSON[_0x4169da(0x13e)]({'jsonrpc':'2.0','id':0x1,'method':_0x16a24c['lKAIR'],'params':{'protocolVersion':_0x4169da(0x127),'capabilities':{},'clientInfo':{'name':_0x16a24c['vkRZM'],'version':_0x4169da(0x151)}}})});if(_0x48030e['ok'])return await _0x48030e['text'](),_0x16a24c[_0x4169da(0x13c)];if(_0x48030e[_0x4169da(0x107)]===0x191)return await _0x48030e['text'](),_0x16a24c['BGcNC'];const _0x3d0a05=await _0x48030e[_0x4169da(0x111)]();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x48030e[_0x4169da(0x107)]+':\x20'+_0x3d0a05);}class OAuthTimeoutError extends Error{constructor(_0x5dff73){const _0x45857d=_0x4cdcf7;super(_0x5dff73),this['name']=_0x45857d(0x16c);}}async function oauthFlow(_0x561dc3){const _0x31ff71={'lOivF':function(_0x29bb01,_0x187b36){return _0x29bb01(_0x187b36);},'mRVfY':function(_0x425402){return _0x425402();},'CWmip':function(_0x474d0d,_0x5e6ea1){return _0x474d0d(_0x5e6ea1);}};try{return await _0x31ff71['lOivF'](oauthFlowAttempt,_0x561dc3);}catch(_0x225b9d){if(_0x225b9d instanceof OAuthTimeoutError&&await _0x31ff71['mRVfY'](loadCachedClient))return console['log']('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await clearCachedClient(),await _0x31ff71['CWmip'](oauthFlowAttempt,_0x561dc3);throw _0x225b9d;}}async function oauthFlowAttempt(_0x196754){const _0x5bcebb=_0x4cdcf7,_0x3def1b={'PEGmb':'Discovering\x20authorization\x20server...','ZJkLp':_0x5bcebb(0x101),'dirGE':function(_0x37a0f7,_0x18ca11,_0x3f5e9e){return _0x37a0f7(_0x18ca11,_0x3f5e9e);},'mMgBi':'POST','rUfns':_0x5bcebb(0x137),'lRFpi':_0x5bcebb(0x113),'IENfh':_0x5bcebb(0x12d),'HjkoB':function(_0x237d2d,_0x159f7d){return _0x237d2d(_0x159f7d);},'BjGdh':'hex','GyPSU':'response_type','AHetH':'code','pYjra':_0x5bcebb(0x14f),'AVgpI':_0x5bcebb(0x132),'EbBmE':'Exchanging\x20authorization\x20code...','okzIH':_0x5bcebb(0x166)},_0x1eb138=_0x196754['replace'](/\/mcp$/,'');process['stdout']['write'](_0x3def1b['PEGmb']);const _0x427433=await fetch(_0x1eb138+_0x5bcebb(0x153));if(!_0x427433['ok'])throw new Error(_0x5bcebb(0x100));const _0xdb330c=await _0x427433[_0x5bcebb(0x140)](),_0x120aa8=_0xdb330c[_0x5bcebb(0x188)]?.[0x0];if(!_0x120aa8)throw new Error(_0x3def1b[_0x5bcebb(0x159)]);console[_0x5bcebb(0x104)]('\x20'+_0x120aa8);const _0x2a43cc=await fetchAuthServerMetadata(_0x120aa8);let _0x59cf3e,_0x4fcc12;const _0x570cf2=await loadCachedClient();if(_0x570cf2)_0x59cf3e=_0x570cf2[_0x5bcebb(0x167)],_0x4fcc12=_0x570cf2[_0x5bcebb(0xfc)];else{if(_0x2a43cc[_0x5bcebb(0x123)]){process['stdout']['write'](_0x5bcebb(0xfb));const _0x4cc5dc=await _0x3def1b[_0x5bcebb(0x12b)](fetch,_0x2a43cc[_0x5bcebb(0x123)],{'method':_0x3def1b[_0x5bcebb(0xf9)],'headers':{'Content-Type':_0x5bcebb(0x11a)},'body':JSON[_0x5bcebb(0x13e)]({'client_name':'Ranger\x20CLI','redirect_uris':[_0x5bcebb(0x181)+CALLBACK_PORT+_0x5bcebb(0x12a)],'grant_types':['authorization_code',_0x3def1b['rUfns']],'response_types':[_0x5bcebb(0x114)],'token_endpoint_auth_method':_0x3def1b[_0x5bcebb(0x168)]})});if(!_0x4cc5dc['ok']){const _0x2bcae5=await _0x4cc5dc[_0x5bcebb(0x111)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x2bcae5);}const _0x195d85=await _0x4cc5dc[_0x5bcebb(0x140)]();_0x59cf3e=_0x195d85['client_id'],_0x4fcc12=_0x195d85['client_secret'],await saveCachedClient(_0x59cf3e,_0x4fcc12),console['log'](_0x5bcebb(0x15d));}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x50ed94=randomBytes(0x20)[_0x5bcebb(0x147)](_0x3def1b[_0x5bcebb(0x120)]),_0xe4c495=createHash('sha256')[_0x5bcebb(0x11c)](_0x50ed94)[_0x5bcebb(0x179)]('base64url'),_0x38186f=_0x3def1b[_0x5bcebb(0x158)](randomBytes,0x10)['toString'](_0x3def1b['BjGdh']),_0x4195da=new URL(_0x2a43cc[_0x5bcebb(0x138)]);_0x4195da[_0x5bcebb(0x176)][_0x5bcebb(0x12f)](_0x3def1b[_0x5bcebb(0x134)],_0x3def1b['AHetH']),_0x4195da[_0x5bcebb(0x176)][_0x5bcebb(0x12f)](_0x3def1b['pYjra'],_0x59cf3e),_0x4195da[_0x5bcebb(0x176)]['set'](_0x5bcebb(0x141),'http://localhost:'+CALLBACK_PORT+_0x5bcebb(0x12a)),_0x4195da[_0x5bcebb(0x176)]['set']('code_challenge',_0xe4c495),_0x4195da['searchParams']['set'](_0x5bcebb(0x174),_0x3def1b['AVgpI']),_0x4195da['searchParams']['set']('state',_0x38186f);_0xdb330c[_0x5bcebb(0xf5)]&&_0x4195da[_0x5bcebb(0x176)]['set'](_0x5bcebb(0xf5),_0xdb330c[_0x5bcebb(0xf5)]);console[_0x5bcebb(0x104)](_0x5bcebb(0x121)),console['log'](_0x5bcebb(0x139)+_0x4195da['toString']()+'\x0a'),await openBrowser(_0x4195da[_0x5bcebb(0x147)]());const _0x1d8e70=await waitForCallback(_0x38186f);process[_0x5bcebb(0x145)][_0x5bcebb(0x11d)](_0x3def1b['EbBmE']);const _0x456a96=new URLSearchParams({'grant_type':'authorization_code','code':_0x1d8e70,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x59cf3e,'code_verifier':_0x50ed94});_0x4fcc12&&_0x456a96[_0x5bcebb(0x12f)](_0x5bcebb(0x180),_0x4fcc12);_0xdb330c['resource']&&_0x456a96['set']('resource',_0xdb330c[_0x5bcebb(0xf5)]);const _0xa7cfb0=await _0x3def1b[_0x5bcebb(0x12b)](fetch,_0x2a43cc[_0x5bcebb(0x16d)],{'method':_0x3def1b[_0x5bcebb(0xf9)],'headers':{'Content-Type':_0x3def1b['okzIH']},'body':_0x456a96});if(!_0xa7cfb0['ok']){const _0x131d5a=await _0xa7cfb0[_0x5bcebb(0x111)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x131d5a);}const _0x1ec9a6=await _0xa7cfb0[_0x5bcebb(0x140)]();return console[_0x5bcebb(0x104)]('\x20done'),await saveCachedToken(_0x1ec9a6[_0x5bcebb(0x18c)],_0x1ec9a6['refresh_token'],_0x1ec9a6[_0x5bcebb(0x178)]),_0x1ec9a6['access_token'];}async function callGetCliToken(_0x31f13a,_0x26a6a4){const _0x48752f=_0x4cdcf7,_0x1f25b3={'MqhLj':function(_0xa4bc0b,_0x4eacc4,_0x463547){return _0xa4bc0b(_0x4eacc4,_0x463547);},'BqFsk':function(_0x5dfff8,_0x3110f4){return _0x5dfff8(_0x3110f4);},'lUsDk':function(_0x1aec77,_0x5eb5aa){return _0x1aec77(_0x5eb5aa);},'icdgk':'1.0.0','PXHnO':_0x48752f(0x15d),'yBcMP':'notifications/initialized','Pyvxr':_0x48752f(0x17b),'vIHTi':_0x48752f(0x156),'XZExQ':_0x48752f(0x103),'lPPEZ':'.ranger','xgbvM':function(_0x58d597,_0x5b2d62,_0x4c80d4){return _0x58d597(_0x5b2d62,_0x4c80d4);},'IhhLN':function(_0x366e12,_0x2e71d5,_0x1bd7e6,_0x317352){return _0x366e12(_0x2e71d5,_0x1bd7e6,_0x317352);}},_0x2f71e4={'Content-Type':'application/json','Accept':_0x48752f(0x148)};_0x26a6a4&&(_0x2f71e4[_0x48752f(0xff)]=_0x48752f(0x162)+_0x26a6a4);const _0x5b0738=async _0x31fa77=>{const _0x20cd91=_0x48752f,_0x4618b2=await _0x1f25b3[_0x20cd91(0xfe)](fetch,_0x31f13a,{'method':_0x20cd91(0x184),'headers':_0x2f71e4,'body':JSON[_0x20cd91(0x13e)](_0x31fa77)});if(!_0x4618b2['ok']){const _0x5866cc=await _0x4618b2[_0x20cd91(0x111)]();throw new Error('HTTP\x20'+_0x4618b2[_0x20cd91(0x107)]+':\x20'+_0x5866cc);}return _0x1f25b3[_0x20cd91(0x14e)](parseResponse,_0x4618b2);};process['stdout'][_0x48752f(0x11d)]('Initializing\x20MCP\x20session...');const _0x38fc57=await _0x1f25b3[_0x48752f(0x149)](_0x5b0738,{'jsonrpc':'2.0','id':0x1,'method':_0x48752f(0xf8),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x1f25b3['icdgk']}}});if(_0x38fc57['error'])throw new Error(_0x48752f(0x119)+(_0x38fc57[_0x48752f(0x15b)][_0x48752f(0x135)]??JSON['stringify'](_0x38fc57['error'])));console['log'](_0x1f25b3['PXHnO']),await _0x1f25b3[_0x48752f(0xfe)](fetch,_0x31f13a,{'method':_0x48752f(0x184),'headers':_0x2f71e4,'body':JSON['stringify']({'jsonrpc':'2.0','method':_0x1f25b3['yBcMP']})})[_0x48752f(0x118)](_0x1219db=>_0x1219db['text']()),process[_0x48752f(0x145)][_0x48752f(0x11d)](_0x48752f(0x136));const _0x1693be=await _0x5b0738({'jsonrpc':_0x1f25b3[_0x48752f(0x10d)],'id':0x2,'method':_0x48752f(0x12c),'params':{'name':'get_cli_token','arguments':{}}});if(_0x1693be['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x1693be[_0x48752f(0x15b)]['message']??JSON[_0x48752f(0x13e)](_0x1693be['error'])));console[_0x48752f(0x104)](_0x1f25b3[_0x48752f(0x10c)]);const _0x37ee6a=_0x1f25b3['lUsDk'](extractToken,_0x1693be['result']);if(!_0x37ee6a){console[_0x48752f(0x15b)](_0x1f25b3[_0x48752f(0x152)]),console['error'](JSON['stringify'](_0x1693be['result'],null,0x2));throw new Error(_0x1f25b3[_0x48752f(0x171)]);}const _0xab226b=join(homedir(),_0x1f25b3['lPPEZ']),_0x22116d=_0x1f25b3[_0x48752f(0xfd)](join,_0xab226b,_0x48752f(0x14c));await mkdir(_0xab226b,{'recursive':!![]}),await _0x1f25b3['IhhLN'](writeFile,_0x22116d,_0x37ee6a,{'mode':0x180}),await _0x1f25b3[_0x48752f(0x175)](writeFile,join(_0xab226b,_0x48752f(0x14b)),_0x31f13a,{'mode':0x180}),console[_0x48752f(0x104)]('\x0aToken\x20written\x20to\x20'+_0x22116d),console[_0x48752f(0x104)](_0x48752f(0x105));}async function fetchAuthServerMetadata(_0x41d8af){const _0x12640d=_0x4cdcf7,_0x2b4897=_0x41d8af+_0x12640d(0x169),_0x646f08=await fetch(_0x2b4897);if(!_0x646f08['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x2b4897+':\x20'+_0x646f08[_0x12640d(0x107)]);return _0x646f08['json']();}function waitForCallback(_0x883d85){const _0x3836fa=_0x4cdcf7,_0x5ec4e9={'FVxES':function(_0x5d20b3,_0x4eaadf){return _0x5d20b3!==_0x4eaadf;},'HAAsg':'/callback','PpKkg':_0x3836fa(0x114),'JLuSj':_0x3836fa(0x15b),'RoBFJ':'error_description','qKwlS':function(_0x35a229,_0x140cd1){return _0x35a229(_0x140cd1);},'BITTh':_0x3836fa(0x15a),'uXdQK':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','UUeGY':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','PwZdT':function(_0x147be0,_0x16ff50,_0x4d3d6a){return _0x147be0(_0x16ff50,_0x4d3d6a);},'ktdtt':function(_0x29edbf,_0x4655a6){return _0x29edbf(_0x4655a6);}};return new Promise((_0x4e0ec4,_0x578ae7)=>{const _0x11bbd3=_0x3836fa,_0x1e9a8a={'EtBGt':_0x5ec4e9['UUeGY']},_0x132ebe=_0x5ec4e9[_0x11bbd3(0x10f)](setTimeout,()=>{_0x2a9a9d['close'](),_0x578ae7(new OAuthTimeoutError(_0x1e9a8a['EtBGt']));},0x1d4c0),_0x2a9a9d=_0x5ec4e9['ktdtt'](createServer,(_0x587f9f,_0x3072d0)=>{const _0x1bb628=_0x11bbd3,_0x151b96=new URL(_0x587f9f[_0x1bb628(0x183)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x5ec4e9[_0x1bb628(0x16f)](_0x151b96[_0x1bb628(0x17f)],_0x5ec4e9[_0x1bb628(0x163)])){_0x3072d0[_0x1bb628(0x185)](0x194),_0x3072d0[_0x1bb628(0x154)]('Not\x20found');return;}const _0xca50f5=_0x151b96[_0x1bb628(0x176)]['get'](_0x5ec4e9['PpKkg']),_0x2bed19=_0x151b96['searchParams']['get']('state'),_0x3ec9f7=_0x151b96['searchParams'][_0x1bb628(0x108)](_0x5ec4e9[_0x1bb628(0x131)]);if(_0x3ec9f7){const _0x21f133=_0x151b96['searchParams']['get'](_0x5ec4e9['RoBFJ'])??_0x3ec9f7;_0x3072d0['writeHead'](0xc8,{'Content-Type':_0x1bb628(0x124)}),_0x3072d0['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x21f133+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x5ec4e9['qKwlS'](clearTimeout,_0x132ebe),_0x2a9a9d['close'](),_0x578ae7(new Error('OAuth\x20error:\x20'+_0x21f133));return;}if(!_0xca50f5||_0x2bed19!==_0x883d85){_0x3072d0[_0x1bb628(0x185)](0x190,{'Content-Type':'text/html'}),_0x3072d0[_0x1bb628(0x154)](_0x5ec4e9[_0x1bb628(0x12e)]);return;}_0x3072d0['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x3072d0[_0x1bb628(0x154)](_0x5ec4e9['uXdQK']),clearTimeout(_0x132ebe),_0x2a9a9d[_0x1bb628(0x11e)](),_0x5ec4e9['qKwlS'](_0x4e0ec4,_0xca50f5);});_0x2a9a9d['listen'](CALLBACK_PORT,_0x11bbd3(0x11f));});}async function openBrowser(_0x494b31){const _0x1a4598=_0x4cdcf7,_0x19e649={'iMzdT':'child_process','WoVQf':_0x1a4598(0x150),'BHIXh':function(_0x4263bf,_0x44314e){return _0x4263bf===_0x44314e;},'UvJyR':'win32'},{exec:_0x1300ee}=await import(_0x19e649[_0x1a4598(0x142)]),_0x1fb9d9=process['platform']===_0x19e649['WoVQf']?_0x1a4598(0x146):_0x19e649[_0x1a4598(0x16b)](process['platform'],_0x19e649['UvJyR'])?'start':_0x1a4598(0x177);_0x1300ee(_0x1fb9d9+'\x20\x22'+_0x494b31+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x2c9d6f=_0x4cdcf7,_0x135415={'PyzaE':function(_0xc47180,_0x3bd29e,_0x4287b8){return _0xc47180(_0x3bd29e,_0x4287b8);},'HXJev':function(_0x5c7717,_0x36af21){return _0x5c7717!==_0x36af21;}};try{const _0x659f42=JSON[_0x2c9d6f(0x143)](await _0x135415[_0x2c9d6f(0x102)](readFile,TOKEN_CACHE_PATH,_0x2c9d6f(0x17c)));if(_0x659f42[_0x2c9d6f(0x17a)]&&_0x135415['HXJev'](_0x659f42['origin'],currentOrigin))return null;if(_0x659f42[_0x2c9d6f(0xf6)]&&Date[_0x2c9d6f(0x13d)]()>_0x659f42['expiresAt'])return null;return _0x659f42['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x14250e,_0x1891f4,_0x53c3cb){const _0xdc0899=_0x4cdcf7,_0x5aad6d={'fCasI':function(_0x3bc8ab){return _0x3bc8ab();},'BgbLP':function(_0x579a37,_0x5a3f1a){return _0x579a37+_0x5a3f1a;},'kbOaF':function(_0x4c485d,_0x2459c8,_0x3ef5d1){return _0x4c485d(_0x2459c8,_0x3ef5d1);},'myYiQ':function(_0x5cf250,_0x52f3f1,_0x10fd55,_0x34098d){return _0x5cf250(_0x52f3f1,_0x10fd55,_0x34098d);}},_0x5b6ff3=await _0x5aad6d[_0xdc0899(0x144)](loadCachedData),_0x1bc62f={..._0x5b6ff3,'origin':currentOrigin,'accessToken':_0x14250e,'refreshToken':_0x1891f4??_0x5b6ff3?.[_0xdc0899(0x13f)],'expiresAt':_0x53c3cb?_0x5aad6d[_0xdc0899(0x109)](Date[_0xdc0899(0x13d)](),_0x53c3cb*0x3e8):undefined};await _0x5aad6d[_0xdc0899(0x161)](mkdir,join(homedir(),'.ranger'),{'recursive':!![]}),await _0x5aad6d['myYiQ'](writeFile,TOKEN_CACHE_PATH,JSON[_0xdc0899(0x13e)](_0x1bc62f),{'mode':0x180});}function _0x4db6(){const _0x4691f6=['log','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','split','status','get','BgbLP','slice','accessToken','PXHnO','Pyvxr','gAdAY','PwZdT','ofRZU','text','string','none','code','438185LtpcbW','9QlyRfp','mcp-oauth-tokens.json','then','MCP\x20initialize\x20failed:\x20','application/json','text/event-stream','update','write','close','127.0.0.1','IENfh','\x0aOpening\x20browser\x20for\x20authentication...','includes','registration_endpoint','text/html','Server\x20returned\x20error:\x20','needs-oauth','2025-03-26','content-type','JGXhc','/callback','dirGE','tools/call','base64url','BITTh','set','type','JLuSj','S256','772004CORiJV','GyPSU','message','Requesting\x20CLI\x20token...','refresh_token','authorization_endpoint','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','match','AZGVZ','GXCuT','now','stringify','refreshToken','json','redirect_uri','iMzdT','parse','fCasI','stdout','open','toString','application/json,\x20text/event-stream','lUsDk','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','auth-origin.txt','refresh.txt','startsWith','BqFsk','client_id','darwin','1.0.0','vIHTi','/.well-known/oauth-protected-resource','end','59513iuPcOd','\x0aUnexpected\x20response\x20structure:','nyfws','HjkoB','ZJkLp','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','error','3239865ijZZhI','\x20done','lWYxP','489500SEMUbQ','RIdQF','kbOaF','Bearer\x20','HAAsg','length','4856916pqWMUr','application/x-www-form-urlencoded','clientId','lRFpi','/.well-known/oauth-authorization-server','headers','BHIXh','OAuthTimeoutError','token_endpoint','NyZAX','FVxES','token','XZExQ','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','4229834QPKxRB','code_challenge_method','IhhLN','searchParams','xdg-open','expires_in','digest','origin','2.0','utf-8','LCtTk','wTrGX','pathname','client_secret','http://localhost:','content','url','POST','writeHead','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','ranger-cli','authorization_servers','qpljs','trim','proxied','access_token','resource','expiresAt','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','initialize','mMgBi','8ileFSL','Registering\x20OAuth\x20client...','clientSecret','xgbvM','MqhLj','Authorization','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','PyzaE','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response'];_0x4db6=function(){return _0x4691f6;};return _0x4db6();}async function loadCachedClient(){const _0x5a5c0a=_0x4cdcf7,_0x28e51d={'NyZAX':function(_0x56eff4){return _0x56eff4();},'TxRjW':function(_0x4e202f,_0x1b2a39){return _0x4e202f!==_0x1b2a39;}},_0xf71de7=await _0x28e51d[_0x5a5c0a(0x16e)](loadCachedData);if(_0xf71de7?.['origin']&&_0x28e51d['TxRjW'](_0xf71de7['origin'],currentOrigin))return null;return _0xf71de7?.[_0x5a5c0a(0x167)]?{'clientId':_0xf71de7[_0x5a5c0a(0x167)],'clientSecret':_0xf71de7[_0x5a5c0a(0xfc)]}:null;}async function clearCachedClient(){const _0xa6a6ad={'LQrSn':function(_0x5208b3){return _0x5208b3();}},_0x3c12e9=await _0xa6a6ad['LQrSn'](loadCachedData);if(!_0x3c12e9)return;const {clientId:_0x5787e0,clientSecret:_0x4da276,..._0x3b8c23}=_0x3c12e9;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x3b8c23),{'mode':0x180});}async function saveCachedClient(_0x3014e4,_0x5e639e){const _0x582561=_0x4cdcf7,_0x1e8c7e=await loadCachedData(),_0x564b69={..._0x1e8c7e,'origin':currentOrigin,'accessToken':_0x1e8c7e?.[_0x582561(0x10b)]??'','clientId':_0x3014e4,'clientSecret':_0x5e639e};await mkdir(join(homedir(),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x564b69),{'mode':0x180});}async function loadCachedData(){const _0x2da8af=_0x4cdcf7,_0x549fb6={'wTrGX':function(_0x36a299,_0x83d975,_0x5d31e8){return _0x36a299(_0x83d975,_0x5d31e8);}};try{return JSON['parse'](await _0x549fb6[_0x2da8af(0x17e)](readFile,TOKEN_CACHE_PATH,_0x2da8af(0x17c)));}catch{return null;}}function _0xef40(_0x5f4bcd,_0x11a274){_0x5f4bcd=_0x5f4bcd-0xf5;const _0x4db6ce=_0x4db6();let _0xef40ad=_0x4db6ce[_0x5f4bcd];return _0xef40ad;}async function parseResponse(_0x184444){const _0x2ad469=_0x4cdcf7,_0x21c74a={'lWYxP':_0x2ad469(0x128),'qpljs':'data:','JGXhc':function(_0x5b99fe,_0x36a350){return _0x5b99fe!==_0x36a350;},'nyfws':_0x2ad469(0x14a)},_0x3ba6a6=_0x184444[_0x2ad469(0x16a)][_0x2ad469(0x108)](_0x21c74a[_0x2ad469(0x15e)])??'';if(_0x3ba6a6[_0x2ad469(0x122)](_0x2ad469(0x11b))){const _0x577492=await _0x184444['text']();for(const _0x16ac2e of _0x577492[_0x2ad469(0x106)]('\x0a')){const _0xd1df5=_0x16ac2e[_0x2ad469(0x18a)]();if(_0xd1df5[_0x2ad469(0x14d)](_0x21c74a['qpljs'])){const _0x5d6741=_0xd1df5[_0x2ad469(0x10a)](_0x21c74a[_0x2ad469(0x189)][_0x2ad469(0x164)])[_0x2ad469(0x18a)]();if(!_0x5d6741)continue;try{const _0x41ca88=JSON[_0x2ad469(0x143)](_0x5d6741);if(_0x21c74a[_0x2ad469(0x129)](_0x41ca88['id'],undefined)||_0x41ca88[_0x2ad469(0x15b)])return _0x41ca88;}catch{}}}throw new Error(_0x21c74a[_0x2ad469(0x157)]);}return _0x184444[_0x2ad469(0x140)]();}function extractToken(_0x57d750){const _0xfd00a6=_0x4cdcf7,_0x7262b7={'tGufJ':function(_0x552f39,_0x462ea2){return _0x552f39===_0x462ea2;},'LCtTk':_0xfd00a6(0x111)};if(!_0x57d750)return null;const _0x4b0679=_0x57d750['structuredContent'];if(_0x4b0679?.['token']&&_0x7262b7['tGufJ'](typeof _0x4b0679['token'],_0xfd00a6(0x112)))return _0x4b0679[_0xfd00a6(0x170)];if(_0x57d750['isError']){const _0x390401=_0x57d750['content'];throw new Error(_0xfd00a6(0x125)+(_0x390401?.[0x0]?.[_0xfd00a6(0x111)]??'Unknown\x20error'));}const _0x489711=_0x57d750[_0xfd00a6(0x182)];if(_0x489711)for(const _0x428470 of _0x489711){if(_0x428470[_0xfd00a6(0x130)]===_0x7262b7[_0xfd00a6(0x17d)]&&_0x428470['text']){try{const _0x5b2d6f=JSON['parse'](_0x428470[_0xfd00a6(0x111)]);if(typeof _0x5b2d6f?.['token']===_0xfd00a6(0x112))return _0x5b2d6f['token'];}catch{}const _0x4cf5ca=_0x428470[_0xfd00a6(0x111)][_0xfd00a6(0x13a)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x4cf5ca)return _0x4cf5ca[0x1];}}return null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1d360d,_0xbcb618){const _0x1c9650=_0x44ea,_0x2d52df=_0x1d360d();while(!![]){try{const _0x24e6a1=-parseInt(_0x1c9650(0x184))/0x1+parseInt(_0x1c9650(0x17d))/0x2+-parseInt(_0x1c9650(0x153))/0x3*(-parseInt(_0x1c9650(0x14f))/0x4)+parseInt(_0x1c9650(0x168))/0x5+parseInt(_0x1c9650(0x15a))/0x6+-parseInt(_0x1c9650(0x18e))/0x7+-parseInt(_0x1c9650(0x159))/0x8*(parseInt(_0x1c9650(0x190))/0x9);if(_0x24e6a1===_0xbcb618)break;else _0x2d52df['push'](_0x2d52df['shift']());}catch(_0x4509a2){_0x2d52df['push'](_0x2d52df['shift']());}}}(_0x3557,0x9b2c0));import{readFile,rm}from'fs/promises';import{existsSync}from'fs';import{join}from'path';import _0x36ebad 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';import{matchAuthEnvironment}from'./utils/matchAuthEnvironment.js';import{readProjectsConfig,setProfileOverride,writeProjectsConfig}from'./utils/projectsConfig.js';function _0x44ea(_0x9c4f7a,_0x3b120b){_0x9c4f7a=_0x9c4f7a-0x146;const _0x355778=_0x3557();let _0x44eabb=_0x355778[_0x9c4f7a];return _0x44eabb;}function _0x3557(){const _0x3bb184=['KKnvA','message','iUnZa','oicGK','profileName','\x20→\x20cloud\x20(env:\x20','1205929ZyPStj','trackPhaseEnd','envKey','\x20local\x20director','mXDSl','stdout',',\x20baseUrl\x20override\x20→\x20projects.json)','yes','utf-8','isTTY','4090709ktzbTW','dryRun','900603GuFQsD','_warnings','some','authJsonPath',':\x20failed\x20to\x20save\x20credentials\x20(','Could\x20not\x20fetch\x20auth\x20config\x20(','domains','4|0|2|3|1','\x20\x20git\x20rm\x20-r\x20--cached\x20.ranger/','padEnd','ies','TELRT','skip','PbCky','no\x20baseUrl\x20in\x20settings.json','Provide\x20a\x20profile\x20name\x20or\x20--all.\x0a\x20\x20Example:\x20ranger\x20profile\x20migrate\x20--all\x20--dry-run','\x20profile','4fIlzRm','env','origin','push','2309082ewLnRm','jqsdZ','local\x20profile\x20directory\x20not\x20found',':\x20--save-creds\x20requested,\x20but\x20RANGER_TEST_USERNAME/PASSWORD\x20not\x20set\x20in\x20env.','baseUrl','migrate','8WojQYW','4931868XuZEhq',':\x20failed\x20to\x20write\x20projects.json\x20override\x20(',':\x20cloud\x20profile\x20with\x20this\x20name\x20already\x20exists.\x20Skipping.','\x20\x20⚠\x20','no\x20matching\x20auth\x20env','length','No\x20local\x20profiles\x20found\x20to\x20migrate.','status','Warning:\x20.ranger/\x20is\x20tracked\x20in\x20this\x20git\x20repo.','BfuZj','Continuing\x20with\x20migration...','environments','projects','reason','548980aDVhAK','join','settings','\x20migrated','preserveBaseUrl','all','\x20skipped','kind','yguzc','\x20failed','Ihhdr','Deleted\x20','CWCpg','TYEEv',':\x20session\x20upload\x20failed\x20(','\x20migrated\x20to\x20cloud\x20(env:\x20','GYUhV','DIxuT','Aborted.','log','\x20\x20echo\x20\x27.ranger/\x27\x20>>\x20.gitignore','1648998ZFCXGD'];_0x3557=function(){return _0x3bb184;};return _0x3557();}import{isPathGitTracked}from'./utils/gitTracked.js';function formatPlanLine(_0xa05d1f){const _0x29f314=_0x44ea,_0x456720={'PlQHj':'skip'};if(_0xa05d1f['kind']===_0x456720['PlQHj'])return'\x20\x20'+_0xa05d1f['profileName'][_0x29f314(0x147)](0x1e)+'\x20→\x20skip\x20('+_0xa05d1f['reason']+')';if(_0xa05d1f[_0x29f314(0x16c)]&&_0xa05d1f['baseUrl'])return'\x20\x20'+_0xa05d1f[_0x29f314(0x182)]['padEnd'](0x1e)+_0x29f314(0x183)+_0xa05d1f['envKey']+',\x20preserving\x20baseUrl\x20'+_0xa05d1f[_0x29f314(0x157)]+'\x20as\x20project\x20override)';if(_0xa05d1f[_0x29f314(0x157)])return'\x20\x20'+_0xa05d1f[_0x29f314(0x182)][_0x29f314(0x147)](0x1e)+_0x29f314(0x183)+_0xa05d1f[_0x29f314(0x186)]+',\x20matches\x20'+_0xa05d1f[_0x29f314(0x157)]+')';return'\x20\x20'+_0xa05d1f['profileName'][_0x29f314(0x147)](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0xa05d1f['envKey']+')';}function shouldWarnGitTrackedOnce(_0x1467f2){const _0x54e732=_0x44ea,_0x601987=readProjectsConfig(),_0x553481=_0x601987[_0x54e732(0x166)][_0x1467f2]??={},_0x53846e=_0x553481[_0x54e732(0x191)]??={},_0x8edd37=_0x53846e['gitTrackedRanger'],_0xf5c18c=new Date(),_0x3c8878=_0xf5c18c['toISOString']()['slice'](0x0,0xa);if(_0x8edd37===_0x3c8878)return![];return _0x53846e['gitTrackedRanger']=_0x3c8878,writeProjectsConfig(_0x601987),!![];}export async function migrateProfile(_0x3b58a2,_0x213f41){const _0x3fe15d=_0x44ea,_0x1e4af7={'yguzc':function(_0x18ff84,_0x1cdf07){return _0x18ff84===_0x1cdf07;},'fgJAT':function(_0x5c91b0,_0x48c38a){return _0x5c91b0 instanceof _0x48c38a;},'WmLJR':'No\x20cloud\x20profile\x20auth\x20config\x20found\x20for\x20this\x20org.\x20Migration\x20requires\x20at\x20least\x20one\x20configured\x20auth\x20environment.','BfuZj':function(_0x237210){return _0x237210();},'CZJYw':_0x3fe15d(0x160),'CWCpg':function(_0x2097c4,_0x49ebdb){return _0x2097c4(_0x49ebdb);},'PbCky':_0x3fe15d(0x14a),'DAEzE':_0x3fe15d(0x14c),'uUPql':function(_0x9bf860,_0x2df369,_0x42928a){return _0x9bf860(_0x2df369,_0x42928a);},'KKnvA':_0x3fe15d(0x15e),'GYUhV':_0x3fe15d(0x157),'emDib':function(_0x2bd103,_0x864fbb,_0x4f9636){return _0x2bd103(_0x864fbb,_0x4f9636);},'Hawqv':'migrate','TYEEv':'confirm','TkAwv':_0x3fe15d(0x197),'jqsdZ':_0x3fe15d(0x146),'mXDSl':_0x3fe15d(0x17c),'azSlL':'profile.migrate.started','irayU':'profile.migrate.skipped','TELRT':function(_0x20e47a,_0x22b506,_0x2f6f5b){return _0x20e47a(_0x22b506,_0x2f6f5b);},'qVarW':function(_0x115a76,_0xbaa573){return _0x115a76&&_0xbaa573;},'DIxuT':function(_0x9e5a39,_0x2f7335){return _0x9e5a39 instanceof _0x2f7335;},'IMrDU':function(_0x5851df,_0x1bc619,_0x11d1ce,_0xe0287e,_0x5f3298){return _0x5851df(_0x1bc619,_0x11d1ce,_0xe0287e,_0x5f3298);},'MEYEu':'profile.migrate.failed','iUnZa':function(_0x421abb,_0x3ab66e){return _0x421abb(_0x3ab66e);},'rBRuc':function(_0x146bc7,_0x3e2fa4){return _0x146bc7>_0x3e2fa4;},'qQnCI':function(_0x58bccc,_0x4caf0c){return _0x58bccc>_0x4caf0c;},'Ihhdr':_0x3fe15d(0x148),'oicGK':function(_0x49b957,_0x4e79d){return _0x49b957+_0x4e79d;}};if(!_0x3b58a2[_0x3fe15d(0x182)]&&!_0x3b58a2['all'])throw new Error(_0x3fe15d(0x14d));let _0x35d6ac;try{_0x35d6ac=await fetchAuthConfig();}catch(_0x53cbd9){throw new Error(_0x3fe15d(0x195)+(_0x1e4af7['fgJAT'](_0x53cbd9,Error)?_0x53cbd9['message']:String(_0x53cbd9))+').\x20Run:\x20ranger\x20setup');}if(!_0x35d6ac||!_0x35d6ac[_0x3fe15d(0x165)]||Object['keys'](_0x35d6ac[_0x3fe15d(0x165)])[_0x3fe15d(0x15f)]===0x0)throw new Error(_0x1e4af7['WmLJR']);const _0x283e76=[];if(_0x3b58a2[_0x3fe15d(0x16d)]){const {envNames:_0x201b67,envTypes:_0x247b63}=await _0x1e4af7[_0x3fe15d(0x163)](getEnvNames);for(const _0x55898a of _0x201b67){if(_0x247b63[_0x55898a]==='ci')continue;_0x283e76['push'](_0x55898a);}}else _0x3b58a2['profileName']&&_0x283e76['push'](_0x3b58a2[_0x3fe15d(0x182)]);if(_0x1e4af7['yguzc'](_0x283e76[_0x3fe15d(0x15f)],0x0)){console[_0x3fe15d(0x17b)](_0x1e4af7['CZJYw']);return;}const _0x105201=[];for(const _0x542d48 of _0x283e76){const _0x189777=getEnvDir(_0x542d48);if(!_0x1e4af7[_0x3fe15d(0x174)](existsSync,_0x189777)){_0x105201[_0x3fe15d(0x152)]({'kind':'skip','profileName':_0x542d48,'reason':_0x3fe15d(0x155)});continue;}const _0x103ad8=await loadSettings(_0x542d48),_0xcd4564=_0x103ad8['baseUrl'];if(!_0xcd4564){_0x105201[_0x3fe15d(0x152)]({'kind':_0x1e4af7[_0x3fe15d(0x14b)],'profileName':_0x542d48,'reason':_0x1e4af7['DAEzE']});continue;}const _0x390e8b=_0x1e4af7['uUPql'](matchAuthEnvironment,_0xcd4564,_0x35d6ac);if(!_0x390e8b){_0x105201['push']({'kind':_0x1e4af7[_0x3fe15d(0x14b)],'profileName':_0x542d48,'reason':_0x1e4af7[_0x3fe15d(0x17e)]});continue;}const _0x20d0fe=_0x35d6ac[_0x3fe15d(0x165)][_0x390e8b],_0x4bb71e=_0x20d0fe?.[_0x3fe15d(0x196)]??[],_0x1df2d1=_0x4bb71e[_0x3fe15d(0x192)](_0x537513=>{const _0x281afd=_0x3fe15d;try{return _0x1e4af7['yguzc'](new URL(_0x537513)['origin'],new URL(_0xcd4564)[_0x281afd(0x151)]);}catch{return![];}}),_0x1c8afc={};for(const [_0x231d6f,_0x2ceb6d]of Object['entries'](_0x103ad8)){if(_0x231d6f===_0x1e4af7[_0x3fe15d(0x178)])continue;if(_0x1e4af7[_0x3fe15d(0x170)](_0x2ceb6d,undefined))continue;_0x1c8afc[_0x231d6f]=_0x2ceb6d;}!_0x1df2d1&&(_0x1c8afc[_0x3fe15d(0x157)]=_0xcd4564);const _0x20c720=_0x1e4af7['emDib'](join,_0x189777,'auth.json'),_0x586572=existsSync(_0x20c720);_0x105201[_0x3fe15d(0x152)]({'kind':_0x1e4af7['Hawqv'],'profileName':_0x542d48,'envKey':_0x390e8b,'baseUrl':_0xcd4564,'preserveBaseUrl':!_0x1df2d1,'settings':_0x1c8afc,'authJsonPath':_0x586572?_0x20c720:null});}console['log']('Plan:');for(const _0x46398c of _0x105201){console['log'](_0x1e4af7['CWCpg'](formatPlanLine,_0x46398c));}if(_0x3b58a2[_0x3fe15d(0x18f)]){console['log']('Nothing\x20migrated.\x20Run\x20without\x20--dry-run\x20to\x20apply.');return;}const _0x471fc4=_0x1e4af7[_0x3fe15d(0x174)](Boolean,process['stdin']['isTTY']&&process[_0x3fe15d(0x189)][_0x3fe15d(0x18d)]),_0x1ea732=_0x105201[_0x3fe15d(0x192)](_0x35e67d=>_0x35e67d[_0x3fe15d(0x16f)]===_0x3fe15d(0x158));if(_0x1ea732&&_0x471fc4&&!_0x3b58a2[_0x3fe15d(0x18b)]){const {proceed:_0x108d55}=await _0x36ebad['prompt']([{'type':_0x1e4af7[_0x3fe15d(0x175)],'name':'proceed','message':'Proceed?','default':![]}]);if(!_0x108d55){console[_0x3fe15d(0x17b)](_0x3fe15d(0x17a));return;}}const _0x279233=_0x1e4af7['BfuZj'](getRangerDir);let _0x447cf2=![];if(existsSync(_0x279233))try{_0x447cf2=await isPathGitTracked(_0x279233);}catch{_0x447cf2=![];}if(_0x447cf2&&shouldWarnGitTrackedOnce(process['cwd']())){const _0x358b3d=_0x1e4af7['TkAwv']['split']('|');let _0x559d57=0x0;while(!![]){switch(_0x358b3d[_0x559d57++]){case'0':console[_0x3fe15d(0x17b)]('After\x20migration,\x20uncommit\x20it:');continue;case'1':console['log'](_0x3fe15d(0x164));continue;case'2':console['log'](_0x1e4af7[_0x3fe15d(0x154)]);continue;case'3':console['log'](_0x1e4af7[_0x3fe15d(0x188)]);continue;case'4':console['log'](_0x3fe15d(0x162));continue;}break;}}let _0x399593=0x0,_0xc18db3=0x0,_0x267560=0x0,_0x48c993=0x0;for(const _0x3e4841 of _0x105201){if(_0x3e4841['kind']===_0x1e4af7['PbCky']){_0x48c993++,_0x213f41?.[_0x3fe15d(0x185)]('profile.migrate.skipped',{'profileName':_0x3e4841['profileName'],'reason':_0x3e4841[_0x3fe15d(0x167)]});continue;}_0x213f41?.['trackPhaseStart'](_0x1e4af7['azSlL'],{'profileName':_0x3e4841[_0x3fe15d(0x182)],'envKey':_0x3e4841[_0x3fe15d(0x186)]});try{try{await createCloudProfile(_0x3e4841[_0x3fe15d(0x182)],_0x3e4841['envKey'],_0x3e4841[_0x3fe15d(0x16a)]);}catch(_0x289ac8){if(_0x289ac8 instanceof ApiError&&_0x289ac8[_0x3fe15d(0x161)]===0x199){console[_0x3fe15d(0x17b)]('\x20\x20⚠\x20'+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x15c)),_0x48c993++,_0x213f41?.['trackPhaseEnd'](_0x1e4af7['irayU'],{'profileName':_0x3e4841[_0x3fe15d(0x182)],'reason':'name_conflict'});continue;}throw _0x289ac8;}let _0x28b1c0=![],_0x1b57f6=![];if(_0x3e4841[_0x3fe15d(0x193)])try{const _0x3c22f=await _0x1e4af7['uUPql'](readFile,_0x3e4841['authJsonPath'],_0x3fe15d(0x18c)),_0x3a44f3=JSON['parse'](_0x3c22f);await _0x1e4af7[_0x3fe15d(0x149)](uploadCloudProfileSession,_0x3e4841[_0x3fe15d(0x182)],_0x3a44f3),_0x28b1c0=!![];}catch(_0x827adb){_0x1b57f6=!![],console[_0x3fe15d(0x17b)](_0x3fe15d(0x15d)+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x176)+(_0x827adb instanceof Error?_0x827adb[_0x3fe15d(0x17f)]:_0x1e4af7[_0x3fe15d(0x174)](String,_0x827adb))+').\x20Cloud\x20profile\x20created;\x20local\x20auth.json\x20left\x20in\x20place.');}let _0x23c8b0=![];if(_0x3b58a2['saveCreds']){const _0x2afc00=process[_0x3fe15d(0x150)]['RANGER_TEST_USERNAME'],_0x2d0bde=process[_0x3fe15d(0x150)]['RANGER_TEST_PASSWORD'];if(_0x1e4af7['qVarW'](_0x2afc00,_0x2d0bde))try{await saveCloudProfileCredentials(_0x3e4841['profileName'],_0x2afc00,_0x2d0bde),_0x23c8b0=!![];}catch(_0x5cd6d4){console['log']('\x20\x20⚠\x20'+_0x3e4841['profileName']+_0x3fe15d(0x194)+(_0x1e4af7[_0x3fe15d(0x179)](_0x5cd6d4,Error)?_0x5cd6d4[_0x3fe15d(0x17f)]:String(_0x5cd6d4))+').');}else console['log']('\x20\x20⚠\x20'+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x156));}if(_0x3e4841[_0x3fe15d(0x16c)]&&_0x3e4841[_0x3fe15d(0x157)])try{_0x1e4af7['IMrDU'](setProfileOverride,process['cwd'](),_0x3e4841['profileName'],_0x1e4af7['GYUhV'],_0x3e4841[_0x3fe15d(0x157)]);}catch(_0x48f5ad){console['log'](_0x3fe15d(0x15d)+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x15b)+(_0x1e4af7['DIxuT'](_0x48f5ad,Error)?_0x48f5ad[_0x3fe15d(0x17f)]:String(_0x48f5ad))+').');}const _0x5dd4cf=getEnvDir(_0x3e4841['profileName']);if(!_0x1b57f6&&existsSync(_0x5dd4cf))try{await rm(_0x5dd4cf,{'recursive':!![],'force':!![]}),_0xc18db3++;}catch(_0x1c348a){console[_0x3fe15d(0x17b)](_0x3fe15d(0x15d)+_0x3e4841['profileName']+':\x20failed\x20to\x20delete\x20local\x20dir\x20'+_0x5dd4cf+'\x20('+(_0x1c348a instanceof Error?_0x1c348a[_0x3fe15d(0x17f)]:String(_0x1c348a))+').');}_0x399593++,_0x3e4841[_0x3fe15d(0x16c)]&&_0x3e4841[_0x3fe15d(0x157)]?console[_0x3fe15d(0x17b)]('\x20\x20✓\x20'+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x177)+_0x3e4841['envKey']+_0x3fe15d(0x18a)):console[_0x3fe15d(0x17b)]('\x20\x20✓\x20'+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x177)+_0x3e4841[_0x3fe15d(0x186)]+')'),_0x213f41?.[_0x3fe15d(0x185)]('profile.migrate.succeeded',{'profileName':_0x3e4841[_0x3fe15d(0x182)],'envKey':_0x3e4841['envKey'],'wasGitTracked':_0x447cf2,'hadSession':_0x28b1c0,'savedCreds':_0x23c8b0});}catch(_0x2241ee){_0x267560++,console['log']('\x20\x20✗\x20'+_0x3e4841['profileName']+'\x20failed:\x20'+(_0x1e4af7['fgJAT'](_0x2241ee,Error)?_0x2241ee[_0x3fe15d(0x17f)]:String(_0x2241ee))),_0x213f41?.[_0x3fe15d(0x185)](_0x1e4af7['MEYEu'],{'profileName':_0x3e4841['profileName'],'error':_0x1e4af7['fgJAT'](_0x2241ee,Error)?_0x2241ee['message']:_0x1e4af7[_0x3fe15d(0x180)](String,_0x2241ee)});}}const _0x349a9d=[];if(_0x1e4af7['rBRuc'](_0x399593,0x0))_0x349a9d[_0x3fe15d(0x152)](_0x399593+_0x3fe15d(0x14e)+(_0x399593===0x1?'':'s')+_0x3fe15d(0x16b));if(_0x1e4af7['qQnCI'](_0xc18db3,0x0))_0x349a9d[_0x3fe15d(0x152)](_0x3fe15d(0x173)+_0xc18db3+_0x3fe15d(0x187)+(_0xc18db3===0x1?'y':_0x1e4af7[_0x3fe15d(0x172)]));if(_0x48c993>0x0)_0x349a9d['push'](_0x48c993+_0x3fe15d(0x16e));if(_0x267560>0x0)_0x349a9d[_0x3fe15d(0x152)](_0x267560+_0x3fe15d(0x171));if(_0x1e4af7['rBRuc'](_0x349a9d[_0x3fe15d(0x15f)],0x0))console[_0x3fe15d(0x17b)](_0x1e4af7[_0x3fe15d(0x181)](_0x349a9d[_0x3fe15d(0x169)]('.\x20'),'.'));}
|
|
1
|
+
function _0x3b2e(){var _0x1188d1=['7614341gMlMOG','pnRmD','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','zvgJm','15926394qJrfwi','15oCxEOr','2XHfYMS','5495109OasRWH','2352590fqebGU','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','1377923KomzTu','11034eXEQKK','12112VksVtV','6mZRajs','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','446644LAiYsj'];_0x3b2e=function(){return _0x1188d1;};return _0x3b2e();}(function(_0x1eca9c,_0x366d45){var _0x5aa06f=_0x2c5c,_0x40cb78=_0x1eca9c();while(!![]){try{var _0x1602a5=parseInt(_0x5aa06f(0x196))/0x1+parseInt(_0x5aa06f(0x1a2))/0x2*(-parseInt(_0x5aa06f(0x1a3))/0x3)+-parseInt(_0x5aa06f(0x19b))/0x4*(parseInt(_0x5aa06f(0x1a1))/0x5)+-parseInt(_0x5aa06f(0x199))/0x6*(-parseInt(_0x5aa06f(0x19c))/0x7)+parseInt(_0x5aa06f(0x198))/0x8*(parseInt(_0x5aa06f(0x197))/0x9)+parseInt(_0x5aa06f(0x1a4))/0xa+-parseInt(_0x5aa06f(0x1a0))/0xb;if(_0x1602a5===_0x366d45)break;else _0x40cb78['push'](_0x40cb78['shift']());}catch(_0x4116b9){_0x40cb78['push'](_0x40cb78['shift']());}}}(_0x3b2e,0xe61e9));function _0x2c5c(_0x4d0668,_0x5d3432){_0x4d0668=_0x4d0668-0x195;var _0x3b2eff=_0x3b2e();var _0x2c5cb4=_0x3b2eff[_0x4d0668];return _0x2c5cb4;}export async function migrateProfile(_0x109d16,_0x130b4a){var _0x6569bf=_0x2c5c,_0x16c41a={'pnRmD':function(_0x5c50aa,_0x66de59){return _0x5c50aa+_0x66de59;},'tPgLi':function(_0x2c7e19,_0x4a98cb){return _0x2c7e19+_0x4a98cb;},'rotlZ':_0x6569bf(0x195),'zvgJm':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','uQAqh':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console['error'](_0x16c41a[_0x6569bf(0x19d)](_0x16c41a['pnRmD'](_0x16c41a[_0x6569bf(0x19d)](_0x16c41a['tPgLi'](_0x16c41a['pnRmD']('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','\x0a')+'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a',_0x16c41a['rotlZ']),'\x0a')+_0x6569bf(0x19a)+_0x16c41a[_0x6569bf(0x19f)],'\x0a')+_0x16c41a['uQAqh'],_0x6569bf(0x19e))),process['exit'](0x1);}
|