@miracleplus/mplus 0.1.7 → 0.1.8
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/dist/auth.js +1 -1
- package/dist/client.js +1 -1
- package/dist/commands/admission.js +1 -1
- package/dist/commands/application.js +1 -1
- package/dist/commands/batch.js +1 -1
- package/dist/commands/company.js +1 -1
- package/dist/commands/configure.js +1 -1
- package/dist/commands/install-skills.js +1 -1
- package/dist/commands/login.js +1 -1
- package/dist/commands/logout.js +1 -1
- package/dist/commands/profiles.js +1 -1
- package/dist/commands/status.js +1 -0
- package/dist/commands/use.js +1 -1
- package/dist/commands/whoami.js +1 -1
- package/dist/config.js +1 -1
- package/dist/env.js +1 -1
- package/dist/format.js +1 -1
- package/dist/help.js +1 -1
- package/dist/index.js +1 -1
- package/dist/oauth.js +1 -1
- package/dist/oauth_client.js +1 -1
- package/dist/registry.js +1 -1
- package/package.json +1 -1
- package/skills/mplus-shared/SKILL.md +15 -0
package/dist/oauth.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function _0x5584(_0x2d8d4e,_0x19b7ef){_0x2d8d4e=_0x2d8d4e-0x172;const _0x39ef08=_0x39ef();let _0x5584c9=_0x39ef08[_0x2d8d4e];if(_0x5584['XUXnin']===undefined){var _0x21730c=function(_0x1b2037){const _0xac512b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x222b7f='',_0x1ca5b4='';for(let _0x2182c2=0x0,_0x10fd0f,_0x2fdc30,_0x1e818a=0x0;_0x2fdc30=_0x1b2037['charAt'](_0x1e818a++);~_0x2fdc30&&(_0x10fd0f=_0x2182c2%0x4?_0x10fd0f*0x40+_0x2fdc30:_0x2fdc30,_0x2182c2++%0x4)?_0x222b7f+=String['fromCharCode'](0xff&_0x10fd0f>>(-0x2*_0x2182c2&0x6)):0x0){_0x2fdc30=_0xac512b['indexOf'](_0x2fdc30);}for(let _0x249815=0x0,_0x2a2c80=_0x222b7f['length'];_0x249815<_0x2a2c80;_0x249815++){_0x1ca5b4+='%'+('00'+_0x222b7f['charCodeAt'](_0x249815)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ca5b4);};_0x5584['TKPOHB']=_0x21730c,_0x5584['JPjwBX']={},_0x5584['XUXnin']=!![];}const _0x1078d1=_0x39ef08[0x0],_0x49002a=_0x2d8d4e+_0x1078d1,_0x3d45f8=_0x5584['JPjwBX'][_0x49002a];return!_0x3d45f8?(_0x5584c9=_0x5584['TKPOHB'](_0x5584c9),_0x5584['JPjwBX'][_0x49002a]=_0x5584c9):_0x5584c9=_0x3d45f8,_0x5584c9;}const _0x59fee0=_0x5584;(function(_0x1d2272,_0x3c910d){const _0x1fa5cc=_0x5584,_0x214006=_0x1d2272();while(!![]){try{const _0xfc3eb0=-parseInt(_0x1fa5cc(0x1bd))/0x1+-parseInt(_0x1fa5cc(0x1d8))/0x2+-parseInt(_0x1fa5cc(0x1d7))/0x3+-parseInt(_0x1fa5cc(0x1be))/0x4+parseInt(_0x1fa5cc(0x17d))/0x5+-parseInt(_0x1fa5cc(0x1d2))/0x6+parseInt(_0x1fa5cc(0x185))/0x7*(parseInt(_0x1fa5cc(0x1b9))/0x8);if(_0xfc3eb0===_0x3c910d)break;else _0x214006['push'](_0x214006['shift']());}catch(_0x2864f4){_0x214006['push'](_0x214006['shift']());}}}(_0x39ef,0x51420));var __createBinding=this&&this[_0x59fee0(0x193)]||(Object[_0x59fee0(0x1ad)]?function(_0x222b7f,_0x1ca5b4,_0x2182c2,_0x10fd0f){const _0x4fa3f8=_0x59fee0;if(_0x10fd0f===undefined)_0x10fd0f=_0x2182c2;var _0x2fdc30=Object[_0x4fa3f8(0x181)](_0x1ca5b4,_0x2182c2);(!_0x2fdc30||(_0x4fa3f8(0x19a)in _0x2fdc30?!_0x1ca5b4[_0x4fa3f8(0x1e5)]:_0x2fdc30[_0x4fa3f8(0x1d9)]||_0x2fdc30['configurable']))&&(_0x2fdc30={'enumerable':!![],'get':function(){return _0x1ca5b4[_0x2182c2];}}),Object[_0x4fa3f8(0x1cc)](_0x222b7f,_0x10fd0f,_0x2fdc30);}:function(_0x1e818a,_0x249815,_0x2a2c80,_0x564163){if(_0x564163===undefined)_0x564163=_0x2a2c80;_0x1e818a[_0x564163]=_0x249815[_0x2a2c80];}),__setModuleDefault=this&&this[_0x59fee0(0x1d6)]||(Object['create']?function(_0x43489f,_0x34e679){const _0x5d6c60=_0x59fee0;Object[_0x5d6c60(0x1cc)](_0x43489f,_0x5d6c60(0x1db),{'enumerable':!![],'value':_0x34e679});}:function(_0x3dba02,_0x234e9e){const _0x1b6155=_0x59fee0;_0x3dba02[_0x1b6155(0x1db)]=_0x234e9e;}),__importStar=this&&this[_0x59fee0(0x1a6)]||(function(){var _0x59ccb1=function(_0x444550){const _0x1eb215=_0x5584;return _0x59ccb1=Object[_0x1eb215(0x1d4)]||function(_0x351659){const _0x40087e=_0x1eb215;var _0x16b00a=[];for(var _0x4d3913 in _0x351659)if(Object['prototype'][_0x40087e(0x1cb)][_0x40087e(0x1af)](_0x351659,_0x4d3913))_0x16b00a[_0x16b00a[_0x40087e(0x1bc)]]=_0x4d3913;return _0x16b00a;},_0x59ccb1(_0x444550);};return function(_0x27eed3){const _0x38e18d=_0x5584;if(_0x27eed3&&_0x27eed3[_0x38e18d(0x1e5)])return _0x27eed3;var _0x2d63bf={};if(_0x27eed3!=null){for(var _0x2da55a=_0x59ccb1(_0x27eed3),_0x10fe68=0x0;_0x10fe68<_0x2da55a[_0x38e18d(0x1bc)];_0x10fe68++)if(_0x2da55a[_0x10fe68]!=='default')__createBinding(_0x2d63bf,_0x27eed3,_0x2da55a[_0x10fe68]);}return __setModuleDefault(_0x2d63bf,_0x27eed3),_0x2d63bf;};}()),__importDefault=this&&this[_0x59fee0(0x1b5)]||function(_0x57430b){const _0x4afdb4=_0x59fee0;return _0x57430b&&_0x57430b[_0x4afdb4(0x1e5)]?_0x57430b:{'default':_0x57430b};};Object[_0x59fee0(0x1cc)](exports,_0x59fee0(0x1e5),{'value':!![]}),exports[_0x59fee0(0x182)]=loginWithOAuth,exports[_0x59fee0(0x186)]=isOAuthAccessTokenFresh,exports[_0x59fee0(0x1c9)]=refreshOAuthSession,exports[_0x59fee0(0x1a0)]=getValidOAuthAccessToken;const axios_1=__importDefault(require('axios')),crypto=__importStar(require('crypto')),http=__importStar(require(_0x59fee0(0x195))),url_1=require(_0x59fee0(0x1e2)),child_process_1=require(_0x59fee0(0x1ca)),config_1=require('./config');function base64Url(_0x45de45){const _0x2a7f5d=_0x59fee0;return _0x45de45['toString'](_0x2a7f5d(0x180))[_0x2a7f5d(0x184)](/\+/g,'-')[_0x2a7f5d(0x184)](/\//g,'_')[_0x2a7f5d(0x184)](/=+$/g,'');}function randomBase64Url(_0x8ec1b0=0x20){const _0x4ca7ed=_0x59fee0;return base64Url(crypto[_0x4ca7ed(0x17b)](_0x8ec1b0));}function createCodeChallenge(_0x1f553c){const _0x5de11c=_0x59fee0;return base64Url(crypto[_0x5de11c(0x1c0)](_0x5de11c(0x173))[_0x5de11c(0x1a8)](_0x1f553c)[_0x5de11c(0x1d0)]());}function normalizeEndpoint(_0x348b41){const _0xc46b50=_0x59fee0;return _0x348b41[_0xc46b50(0x184)](/\/$/,'');}function openUrl(_0x4a7b68){const _0x41e44f=_0x59fee0,_0x5437d1=process[_0x41e44f(0x183)],_0xb5ca6a=_0x5437d1==='darwin'?_0x41e44f(0x198):_0x5437d1===_0x41e44f(0x1df)?_0x41e44f(0x1c5):_0x41e44f(0x19d),_0x74cf54=_0x5437d1==='win32'?['/c',_0x41e44f(0x17a),'',_0x4a7b68]:[_0x4a7b68],_0x55873d=(0x0,child_process_1['spawn'])(_0xb5ca6a,_0x74cf54,{'stdio':'ignore','detached':!![]});_0x55873d[_0x41e44f(0x18b)]();}function listenForCallback(_0xf8a24f,_0x13bc29){const _0x410b70=_0x59fee0,_0x34c33e=new url_1['URL'](_0xf8a24f),_0x507ed5=Number(_0x34c33e[_0x410b70(0x187)]||(_0x34c33e[_0x410b70(0x1e4)]==='https:'?0x1bb:0x50)),_0x1a386c=_0x34c33e[_0x410b70(0x19e)];if(!['127.0.0.1',_0x410b70(0x1de)]['includes'](_0x34c33e[_0x410b70(0x1cd)]))throw new Error(_0x410b70(0x1bb));return new Promise((_0x458c2b,_0x119ef4)=>{const _0x3e7884=_0x410b70,_0x11b8dd=setTimeout(()=>{const _0xe845af=_0x5584;_0x374a9d[_0xe845af(0x18e)](),_0x119ef4(new Error(_0xe845af(0x191)));},0x5*0x3c*0x3e8),_0x374a9d=http[_0x3e7884(0x199)]((_0x155827,_0x21c700)=>{const _0x4ca7fc=_0x3e7884;try{const _0x4daf5c=new url_1[(_0x4ca7fc(0x17e))](_0x155827[_0x4ca7fc(0x1e2)]??'/',_0xf8a24f);if(_0x4daf5c[_0x4ca7fc(0x19e)]!==_0x1a386c){_0x21c700['writeHead'](0x194,{'Content-Type':_0x4ca7fc(0x1c4)}),_0x21c700[_0x4ca7fc(0x194)]('Not\x20Found');return;}const _0x248559=_0x4daf5c[_0x4ca7fc(0x1a9)][_0x4ca7fc(0x19a)]('error');if(_0x248559){const _0x4e7c52=_0x4daf5c['searchParams'][_0x4ca7fc(0x19a)](_0x4ca7fc(0x18f))??_0x248559;_0x21c700[_0x4ca7fc(0x1e3)](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x21c700[_0x4ca7fc(0x194)]('<h1>授权失败</h1><p>'+_0x4e7c52+'</p>'),clearTimeout(_0x11b8dd),_0x374a9d[_0x4ca7fc(0x18e)](),_0x119ef4(new Error(_0x4ca7fc(0x1ce)+_0x4e7c52));return;}const _0x28dbc3=_0x4daf5c[_0x4ca7fc(0x1a9)]['get']('state');if(_0x28dbc3!==_0x13bc29){_0x21c700[_0x4ca7fc(0x1e3)](0x190,{'Content-Type':_0x4ca7fc(0x174)}),_0x21c700['end']('<h1>授权失败</h1><p>state\x20校验失败,请回到终端重新登录。</p>'),clearTimeout(_0x11b8dd),_0x374a9d[_0x4ca7fc(0x18e)](),_0x119ef4(new Error(_0x4ca7fc(0x1b1)));return;}const _0x568a60=_0x4daf5c[_0x4ca7fc(0x1a9)][_0x4ca7fc(0x19a)](_0x4ca7fc(0x1b6));if(!_0x568a60){_0x21c700[_0x4ca7fc(0x1e3)](0x190,{'Content-Type':_0x4ca7fc(0x174)}),_0x21c700[_0x4ca7fc(0x194)](_0x4ca7fc(0x196)),clearTimeout(_0x11b8dd),_0x374a9d['close'](),_0x119ef4(new Error(_0x4ca7fc(0x1dd)));return;}_0x21c700[_0x4ca7fc(0x1e3)](0xc8,{'Content-Type':_0x4ca7fc(0x174)}),_0x21c700[_0x4ca7fc(0x194)]('<h1>登录成功</h1><p>你可以关闭这个页面,回到终端继续使用\x20mplus。</p>'),clearTimeout(_0x11b8dd),_0x374a9d['close'](),_0x458c2b(_0x568a60);}catch(_0x16fba5){clearTimeout(_0x11b8dd),_0x374a9d[_0x4ca7fc(0x18e)](),_0x119ef4(_0x16fba5);}});_0x374a9d['on']('error',_0x4d19e0=>{clearTimeout(_0x11b8dd),_0x119ef4(_0x4d19e0);}),_0x374a9d[_0x3e7884(0x175)](_0x507ed5,_0x34c33e[_0x3e7884(0x1cd)]);});}async function exchangeCodeForToken(_0x537596,_0x9d69b4,_0x1e1e73,_0x16266f,_0x4dd440){const _0x1a002f=_0x59fee0,_0x549c21=normalizeEndpoint(_0x537596)+_0x1a002f(0x179),_0x36f595=new url_1[(_0x1a002f(0x1a3))]({'grant_type':_0x1a002f(0x1d1),'client_id':_0x9d69b4,'redirect_uri':_0x1e1e73,'code':_0x16266f,'code_verifier':_0x4dd440}),_0x18bae1=await axios_1[_0x1a002f(0x1db)][_0x1a002f(0x1da)](_0x549c21,_0x36f595[_0x1a002f(0x19c)](),{'headers':{'Content-Type':_0x1a002f(0x190),'Accept':_0x1a002f(0x18d)},'timeout':0x3a98});return _0x18bae1[_0x1a002f(0x1ac)];}async function exchangeRefreshToken(_0x3f6c91){const _0x345a56=_0x59fee0;if(!_0x3f6c91['refresh_token'])throw new Error(_0x345a56(0x1c6));const _0x5cc2da=new url_1[(_0x345a56(0x1a3))]({'grant_type':_0x345a56(0x1dc),'client_id':_0x3f6c91[_0x345a56(0x1e1)],'refresh_token':_0x3f6c91[_0x345a56(0x1dc)]}),_0x1d6ff9=await axios_1[_0x345a56(0x1db)][_0x345a56(0x1da)](normalizeEndpoint(_0x3f6c91[_0x345a56(0x176)])+_0x345a56(0x179),_0x5cc2da['toString'](),{'headers':{'Content-Type':'application/x-www-form-urlencoded','Accept':_0x345a56(0x18d)},'timeout':0x3a98});return _0x1d6ff9[_0x345a56(0x1ac)];}async function fetchUserInfo(_0x1e0a10,_0x46422e){const _0x1ec798=_0x59fee0,_0x2e83a9=await axios_1[_0x1ec798(0x1db)]['get'](normalizeEndpoint(_0x1e0a10)+'/oauth/userinfo',{'headers':{'Authorization':_0x1ec798(0x1ae)+_0x46422e,'Accept':_0x1ec798(0x18d)},'timeout':0x3a98});return _0x2e83a9[_0x1ec798(0x1ac)];}function buildSessionFromToken(_0x4dbeba,_0x345be9,_0x2977be){const _0x27a3ff=_0x59fee0,_0x4daf9d=_0x345be9[_0x27a3ff(0x189)]?new Date(Date[_0x27a3ff(0x1a1)]()+_0x345be9[_0x27a3ff(0x189)]*0x3e8)['toISOString']():undefined;return{..._0x4dbeba,'scope':_0x345be9['scope']??_0x4dbeba[_0x27a3ff(0x1a2)],'access_token':_0x345be9[_0x27a3ff(0x1c3)],..._0x345be9[_0x27a3ff(0x1dc)]?{'refresh_token':_0x345be9['refresh_token']}:{},'token_type':_0x345be9[_0x27a3ff(0x1ab)]??_0x27a3ff(0x188),..._0x4daf9d?{'token_expires_at':_0x4daf9d}:{},..._0x2977be?{'user':{'id':_0x2977be[_0x27a3ff(0x1d3)],..._0x2977be[_0x27a3ff(0x1b8)]?{'name':_0x2977be[_0x27a3ff(0x1b8)]}:{},..._0x2977be[_0x27a3ff(0x1c7)]?{'email':_0x2977be['email']}:{},'roles':_0x2977be[_0x27a3ff(0x1b0)]??[]}}:{},'logged_in_at':new Date()['toISOString']()};}async function loginWithOAuth(_0x48afa0){const _0x1ece15=_0x59fee0,_0x9a9567=normalizeEndpoint(_0x48afa0['endpoint']),_0x4253c0=randomBase64Url(0x18),_0x523413=randomBase64Url(0x30),_0x7c2cb9=createCodeChallenge(_0x523413),_0x27875f=new url_1[(_0x1ece15(0x17e))](_0x9a9567+_0x1ece15(0x197));_0x27875f[_0x1ece15(0x1a9)][_0x1ece15(0x1a7)](_0x1ece15(0x1e1),_0x48afa0[_0x1ece15(0x17c)]),_0x27875f[_0x1ece15(0x1a9)]['set'](_0x1ece15(0x172),_0x48afa0['redirectUri']),_0x27875f[_0x1ece15(0x1a9)]['set'](_0x1ece15(0x192),_0x1ece15(0x1b6)),_0x27875f[_0x1ece15(0x1a9)][_0x1ece15(0x1a7)](_0x1ece15(0x1a2),_0x48afa0[_0x1ece15(0x1a2)]),_0x27875f['searchParams'][_0x1ece15(0x1a7)]('state',_0x4253c0),_0x27875f[_0x1ece15(0x1a9)][_0x1ece15(0x1a7)](_0x1ece15(0x1e0),_0x7c2cb9),_0x27875f[_0x1ece15(0x1a9)][_0x1ece15(0x1a7)](_0x1ece15(0x1c8),'S256');const _0x3c8811=listenForCallback(_0x48afa0[_0x1ece15(0x1a4)],_0x4253c0);console['log'](_0x1ece15(0x18a)+_0x27875f[_0x1ece15(0x19c)]()+'\x0a');_0x48afa0['openBrowser']?openUrl(_0x27875f[_0x1ece15(0x19c)]()):console[_0x1ece15(0x1ba)](_0x1ece15(0x1cf));const _0x200d51=await _0x3c8811;process[_0x1ece15(0x19f)]['write'](_0x1ece15(0x1b2));const _0x15a6c=await exchangeCodeForToken(_0x9a9567,_0x48afa0[_0x1ece15(0x17c)],_0x48afa0[_0x1ece15(0x1a4)],_0x200d51,_0x523413);process[_0x1ece15(0x19f)]['write'](_0x1ece15(0x18c));let _0x25e569;try{_0x25e569=await fetchUserInfo(_0x9a9567,_0x15a6c[_0x1ece15(0x1c3)]);}catch(_0x14c417){const _0x437628=axios_1['default'][_0x1ece15(0x1b3)](_0x14c417)?_0x1ece15(0x17f)+(_0x14c417['response']?.[_0x1ece15(0x177)]??_0x14c417[_0x1ece15(0x1b6)]??_0x1ece15(0x1d5)):_0x14c417 instanceof Error?_0x14c417[_0x1ece15(0x1c1)]:String(_0x14c417);process['stderr']['write']('⚠\x20未能获取用户信息('+_0x437628+'),但\x20access\x20token\x20已保存,可用于后续\x20API\x20请求。\x0a');}const _0x37a700=buildSessionFromToken({'endpoint':_0x9a9567,'client_id':_0x48afa0['clientId'],'redirect_uri':_0x48afa0['redirectUri'],'scope':_0x48afa0[_0x1ece15(0x1a2)]},_0x15a6c,_0x25e569);return(0x0,config_1[_0x1ece15(0x1b4)])(_0x48afa0[_0x1ece15(0x178)],_0x37a700),_0x37a700;}function _0x39ef(){const _0x27ce39=['BgLZDgvU','zw5KCg9PBNq','C3rHDhvZ','C2vZC2LVBK5HBwu','l29HDxrOl3rVA2vU','C3rHCNq','CMfUzg9TqNL0zxm','y2XPzw50swq','mZi1odu3nvLkEwfhzW','vvjm','sfruuca','yMfZzty0','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','Bg9NAw5xAxrOt0f1DgG','CgXHDgzVCM0','CMvWBgfJzq','nda0mdyXDNzuvhbI','Axnpqxv0AefJy2vZC1rVA2vUrNjLC2G','Cg9YDa','qMvHCMvY','zxHWAxjLC19PBG','6k+35zYO5Rwp6kEi5zMO5lIT5A6m5OIqie1qioEzU+w9LEAoIoADG++8MGO','Dw5Yzwy','qwnJzxnZihrVA2vUiow3SUIoT+wpLU+8JoATO+wCQowWNEIVLEIoT+wpLUEuQoAiT+s/OEAbRY4UlGO','yxbWBgLJyxrPB24VANnVBG','y2XVC2u','zxjYB3jFzgvZy3jPChrPB24','yxbWBgLJyxrPB24VEc13D3CTzM9YBs11CMXLBMnVzgvK','562j5B6f5Rwp6kEi5zMO5O6i5P2d6lAf5PE277Ym6k+36yEn5PAW6l+q6kgmig1WBhvZigXVz2LU','CMvZCg9UC2vFDhLWzq','x19JCMvHDgvcAw5KAw5N','zw5K','Ahr0Ca','pgGXpUAoIoADG+wKSEI0PtWVAde+pha+5zUE6lcd5lIT57Y65BcrignVzgxJGii8l3a+','l29HDxrOl2f1DgHVCML6zq','B3bLBG','y3jLyxrLu2vYDMvY','z2v0','z2v0t0f1DgHtzxnZAw9U','Dg9tDhjPBMC','EgrNlw9Wzw4','Cgf0Ag5HBwu','C3rKB3v0','z2v0vMfSAwrpqxv0AefJy2vZC1rVA2vU','BM93','C2nVCgu','vvjmu2vHCMnOugfYyw1Z','CMvKAxjLy3rvCMK','Dg9Rzw5FzxHWAxjLC19HDa','x19PBxbVCNrtDgfY','C2v0','DxbKyxrL','C2vHCMnOugfYyw1Z','z2v0vgLTzq','Dg9Rzw5FDhLWzq','zgf0yq','y3jLyxrL','qMvHCMvYia','y2fSBa','CM9Szxm','t0f1DgGGC3rHDguG5QcH6AQm5AsX6lsL','5BEY5Ps25yIW5O6i5P2d56cb77Ym5Q2J5zYO5O2I5y+wigfJy2vZCYb0B2TLBI4UlGO','AxnbEgLVC0vYCM9Y','C2f2zu9bDxrOu2vZC2LVBG','x19PBxbVCNrezwzHDwX0','y29Kzq','5PYQ5OM+5yIWie9bDxrOihnLC3nPB27VViZOR7FLHyJOV5dOOyWGBxbSDxmGBg9NAw4','BMfTzq','nZjwthLNBwe','Bg9N','CMvKAxjLy3rFDxjPiow/HEMHU+AyRYbSB2nHBgHVC3qG5OIwideYnY4WlJaUmq','BgvUz3rO','nZe2mdLTr1Piy2C','mteZmdG0we9Rz1rN','C2vZC2LVBG','y3jLyxrLsgfZAa','BwvZC2fNzq','DxnLCG','ywnJzxnZx3rVA2vU','Dgv4Dc9WBgfPBJSGy2HHCNnLDd11DgyToa','y21K','5B2t5yMnie9bDxrOihnLC3nPB24G5RkH5PYjihjLzNjLC2HFDg9Rzw7VViZOR7FPH43MLRdOV5dOOyWGBxbSDxmGBg9NAw4','zw1HAwW','y29Kzv9JAgfSBgvUz2vFBwv0Ag9K','CMvMCMvZAe9bDxrOu2vZC2LVBG','y2HPBgrFChjVy2vZCW','AgfZt3DUuhjVCgvYDhK','zgvMAw5LuhjVCgvYDhK','Ag9ZDg5HBwu','t0f1DgGG5O6i5P2d5AsX6lsL77YA','5BEY56Ab55sO6iEQ5yQO5OMt5BYa5Rwp6kEi5zMO77Ym6k+35OMl5yQO5Asn5yI25lIk6z2I55Qe5zYW5z2a6k6/6zEU44cc','zgLNzxn0','yxv0Ag9YAxPHDgLVBL9JB2rL','mty2mdm1mhjfrK9KyG','C3vI','z2v0t3DUuhjVCgvYDhLoyw1LCW','Dw5RBM93BG','x19ZzxrnB2r1BgvezwzHDwX0','mta4odG3muHIshrOCq','mtK3nJu2uMzAB09w','D3jPDgfIBgu','Cg9ZDa','zgvMyxvSDa','CMvMCMvZAf90B2TLBG','t0f1DgGG5zUE6lcd5lIT57Y65BcrignVzgu','Bg9JywXOB3n0','D2LUmZi','y29Kzv9JAgfSBgvUz2u','y2XPzw50x2LK','DxjS','D3jPDgvizwfK','ChjVDg9JB2W','x19LC01VzhvSzq','CMvKAxjLy3rFDxjP','C2HHmJu2','Dgv4Dc9ODg1SoYbJAgfYC2v0pxv0zI04'];_0x39ef=function(){return _0x27ce39;};return _0x39ef();}function isOAuthAccessTokenFresh(_0x141146,_0x25a475=0x3c){const _0x1327c3=_0x59fee0;if(!_0x141146[_0x1327c3(0x1a5)])return!![];return new Date(_0x141146['token_expires_at'])[_0x1327c3(0x1aa)]()-Date[_0x1327c3(0x1a1)]()>_0x25a475*0x3e8;}async function refreshOAuthSession(_0xcdd020){const _0x27ec80=_0x59fee0,_0x222059=(0x0,config_1[_0x27ec80(0x19b)])(_0xcdd020);if(!_0x222059)throw new Error(_0x27ec80(0x1b7));const _0x403fc0=await exchangeRefreshToken(_0x222059[_0x27ec80(0x1bf)]),_0x104e84={..._0x222059[_0x27ec80(0x1bf)],...buildSessionFromToken({'endpoint':_0x222059[_0x27ec80(0x1bf)][_0x27ec80(0x176)],'client_id':_0x222059[_0x27ec80(0x1bf)]['client_id'],'redirect_uri':_0x222059['session'][_0x27ec80(0x172)],'scope':_0x222059[_0x27ec80(0x1bf)][_0x27ec80(0x1a2)]},_0x403fc0,_0x222059['session']['user']?{'sub':_0x222059[_0x27ec80(0x1bf)][_0x27ec80(0x1c2)]['id'],'name':_0x222059['session'][_0x27ec80(0x1c2)][_0x27ec80(0x1b8)],'email':_0x222059[_0x27ec80(0x1bf)][_0x27ec80(0x1c2)][_0x27ec80(0x1c7)],'roles':_0x222059['session'][_0x27ec80(0x1c2)][_0x27ec80(0x1b0)]}:undefined),'refresh_token':_0x403fc0[_0x27ec80(0x1dc)]??_0x222059[_0x27ec80(0x1bf)][_0x27ec80(0x1dc)]};return(0x0,config_1['saveOAuthSession'])(_0x222059[_0x27ec80(0x1b8)],_0x104e84),_0x104e84;}async function getValidOAuthAccessToken(_0x269396){const _0x21387b=_0x59fee0,_0x45735f=(0x0,config_1[_0x21387b(0x19b)])(_0x269396);if(!_0x45735f)throw new Error('未找到\x20OAuth\x20session,请先运行\x20mplus\x20login');if(isOAuthAccessTokenFresh(_0x45735f['session']))return _0x45735f[_0x21387b(0x1bf)][_0x21387b(0x1c3)];const _0x3fcfb2=await refreshOAuthSession(_0x45735f[_0x21387b(0x1b8)]);return _0x3fcfb2['access_token'];}
|
|
1
|
+
'use strict';const _0x1b99d1=_0x55ae;(function(_0x5bf001,_0x599301){const _0x14e961=_0x55ae,_0x5baf22=_0x5bf001();while(!![]){try{const _0x11b9f5=-parseInt(_0x14e961(0xff))/0x1*(parseInt(_0x14e961(0xf3))/0x2)+-parseInt(_0x14e961(0x114))/0x3+-parseInt(_0x14e961(0xf1))/0x4+parseInt(_0x14e961(0xeb))/0x5+parseInt(_0x14e961(0x133))/0x6+parseInt(_0x14e961(0x122))/0x7*(parseInt(_0x14e961(0x156))/0x8)+parseInt(_0x14e961(0x113))/0x9*(-parseInt(_0x14e961(0x140))/0xa);if(_0x11b9f5===_0x599301)break;else _0x5baf22['push'](_0x5baf22['shift']());}catch(_0x3d1e3e){_0x5baf22['push'](_0x5baf22['shift']());}}}(_0x40ea,0xad785));function _0x40ea(){const _0x37fa8d=['C3bHD24','Bg9NAw5xAxrOt0f1DgG','Ahr0Chm6','5BEY5Ps25yIW5O6i5P2d56cb77Ym5Q2J5zYO5O2I5y+wigfJy2vZCYb0B2TLBI4UlGO','562j5B6f5Rwp6kEi5zMO5O6i5P2d6lAf5PE277Ym6k+36yEn5PAW6l+q6kgmig1WBhvZigXVz2LU','yxv0Ag9YAxPHDgLVBL9JB2rL','y2fSBa','zw5K','mtaYnZm2mg5Nuhz4yW','CMvWBgfJzq','z2v0vgLTzq','C2nVCgu','ChjVDg90ExbL','DxjS','BgLZDgvU','y2XPzw50x2LK','C2v0','y29UzMLNDxjHyMXL','x19LC01VzhvSzq','BM93','Ag9ZDg5HBwu','zgvMAw5LuhjVCgvYDhK','pgGXpUEzU+w9LEAiKowkNZWVAde+pha+5l2G5y+V5lUL5ywZ6zET6l+z5lIQ6Ag16z2I77Ym5zUE5yIW57Ui56UV57UN57UT5l2/55sOig1WBhvZ44ccpc9WpG','x19PBxbVCNrezwzHDwX0','ywnJzxnZx3rVA2vU','pc9WpG','D2LUmZi','nduZotK0mgjKBxLfyq','yMfZzty0','C3rHDhvZ','C3rHDgu','y2HPBgrFChjVy2vZCW','qMvHCMvY','mJqYodaZnKPPvMzjAW','CMvKAxjLy3rvCMK','nfzLEe9dDW','ChjVDg9JB2W','D3jPDgu','t0f1DgGGC3rHDguG5QcH6AQm5AsX6lsL','D3jPDgfIBgu','z2v0t0f1DgHtzxnZAw9U','Cg9YDa','lI9JB25MAwC','C2vZC2LVBK5HBwu','Dgv4Dc9WBgfPBJSGy2HHCNnLDd11DgyToa','Aw5JBhvKzxm','y29Kzv9JAgfSBgvUz2u','mJG2mJD2AfnfBgG','x19ZzxrnB2r1BgvezwzHDwX0','Dg9Rzw5FDhLWzq','zgf0yq','AxnbEgLVC0vYCM9Y','y21K','l29HDxrOl3vZzxjPBMzV','BwvZC2fNzq','CMvMCMvZAf90B2TLBG','Cgf0Ag5HBwu','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','B3bLBKjYB3DZzxi','y29Kzq','zgvMyxvSDa','AwDUB3jL','pgGXpUAoIoADG+wKSEI0PtWVAde+pha+C3rHDguG5QcH6AQm5AsX6lsL77Ym6k+35zUE5yIW57Ui56UV6yEn5PAW55M75B2v44ccpc9WpG','y2XVC2u','CMvZCg9UC2vFDhLWzq','Dg9tDhjPBMC','z2v0','mteXnJLty3jLA04','mJi3mdq2nKzrDNnLsa','y29Kzv9JAgfSBgvUz2vFBwv0Ag9K','x19PBxbVCNrtDgfY','l29HDxrOl2f1DgHVCML6zq','uZi1nG','CMvKAxjLy3rFDxjP','Cg9ZDa','pgGXpUAoIoADG+wKSEI0PtWVAde+pha+5zUE6lcd5lIT57Y65BcrignVzgxJGii8l3a+','y2XPzw50swq','CMfUzg9TqNL0zxm','C3rKB3v0','4PQGioACQUIdVEIoT+wpLUEuQoAiT+s/OEAbR++8Ia','zxjYB3i','DxnLCG','nJnYq2DMtKC','BgvUz3rO','l29HDxrOl3rVA2vU','Dg9ju09tDhjPBMC','5BEY56Ab55sO6iEQ5yQO5OMt5BYa5Rwp6kEi5zMO77Ym6k+35OMl5yQO5Asn5yI25lIk6z2I55Qe5zYW5z2a6k6/6zEU44cc','zgfYD2LU','C3rKzxjY','CgXHDgzVCM0','zxHWAxjLC19PBG','y3jLyxrL','y3jLyxrLsgfZAa','Dg9Rzw5FzxHWAxjLC19HDa','Axnpqxv0AefJy2vZC1rVA2vUrNjLC2G','t0f1DgGG5O6i5P2d5AsX6lsL77YA','zxjYB3jFzgvZy3jPChrPB24','Dgv4Dc9ODg1SoYbJAgfYC2v0pxv0zI04','CM9Szxm','mtCWmJCWnffgsevxCW','qMvHCMvYia','sfruuca','C2vHCMnOugfYyw1Z','Bg9N','5PYQ5OM+5yIWie9bDxrOihnLC3nPB27VViZOR7FLHyJOV5dOOyWGBxbSDxmGBg9NAw4','D3jPDgvizwfK','C2vZC2LVBG','zw5KCg9PBNq','t0f1DgGG5zUE6lcd5lIT57Y65BcrignVzgu','pgGXpUAoIoADG+wKSEI0PtWVAde+pha+','C3vI','tM90iezVDw5K','mtC0meX6BgTmrG','yxbWBgLJyxrPB24VANnVBG','C2f2zu9bDxrOu2vZC2LVBG','y3jLyxrLu2vYDMvY','vvjm','zw1HAwW','AgfZt3DUuhjVCgvYDhK','vvjmu2vHCMnOugfYyw1Z','6k+35zYO5Rwp6kEi5zMO5lIT5A6m5OIqie1qioEzU+w9LEAoIoADG++8MGO','z2v0vMfSAwrpqxv0AefJy2vZC1rVA2vU','yxHPB3m','BMfTzq','Dw5RBM93BG','qwnJzxnZihrVA2vUiow3SUIoT+wpLU+8JoATO+wCQowWNEIVLEIoT+wpLUEuQoAiT+s/OEAbRY4UlGO'];_0x40ea=function(){return _0x37fa8d;};return _0x40ea();}var __createBinding=this&&this['__createBinding']||(Object[_0x1b99d1(0x12b)]?function(_0x111ff0,_0x558adb,_0x595946,_0x33be8c){const _0x41b8f8=_0x1b99d1;if(_0x33be8c===undefined)_0x33be8c=_0x595946;var _0x10725a=Object[_0x41b8f8(0x109)](_0x558adb,_0x595946);(!_0x10725a||('get'in _0x10725a?!_0x558adb[_0x41b8f8(0xe2)]:_0x10725a[_0x41b8f8(0xf7)]||_0x10725a[_0x41b8f8(0xe1)]))&&(_0x10725a={'enumerable':!![],'get':function(){return _0x558adb[_0x595946];}}),Object[_0x41b8f8(0xe5)](_0x111ff0,_0x33be8c,_0x10725a);}:function(_0x10d9a4,_0x5d9ea4,_0x25e2c7,_0x3f3fef){if(_0x3f3fef===undefined)_0x3f3fef=_0x25e2c7;_0x10d9a4[_0x3f3fef]=_0x5d9ea4[_0x25e2c7];}),__setModuleDefault=this&&this[_0x1b99d1(0x100)]||(Object[_0x1b99d1(0x12b)]?function(_0x52ba5d,_0x3f6b76){const _0x180adf=_0x1b99d1;Object[_0x180adf(0xe5)](_0x52ba5d,'default',{'enumerable':!![],'value':_0x3f6b76});}:function(_0x37f5a3,_0x397cc0){const _0x4e1b3c=_0x1b99d1;_0x37f5a3[_0x4e1b3c(0x10c)]=_0x397cc0;}),__importStar=this&&this[_0x1b99d1(0x116)]||(function(){var _0x40c075=function(_0x110413){return _0x40c075=Object['getOwnPropertyNames']||function(_0x373243){const _0x547e9e=_0x55ae;var _0x424b87=[];for(var _0xf5ac39 in _0x373243)if(Object[_0x547e9e(0xdc)][_0x547e9e(0x146)][_0x547e9e(0x154)](_0x373243,_0xf5ac39))_0x424b87[_0x424b87['length']]=_0xf5ac39;return _0x424b87;},_0x40c075(_0x110413);};return function(_0x12898a){const _0x597209=_0x55ae;if(_0x12898a&&_0x12898a[_0x597209(0xe2)])return _0x12898a;var _0x4ebba8={};if(_0x12898a!=null){for(var _0x583a19=_0x40c075(_0x12898a),_0x1ff27b=0x0;_0x1ff27b<_0x583a19[_0x597209(0x123)];_0x1ff27b++)if(_0x583a19[_0x1ff27b]!==_0x597209(0x10c))__createBinding(_0x4ebba8,_0x12898a,_0x583a19[_0x1ff27b]);}return __setModuleDefault(_0x4ebba8,_0x12898a),_0x4ebba8;};}()),__importDefault=this&&this[_0x1b99d1(0xe7)]||function(_0x5ba7cd){const _0x5ed2bf=_0x1b99d1;return _0x5ba7cd&&_0x5ba7cd[_0x5ed2bf(0xe2)]?_0x5ba7cd:{'default':_0x5ba7cd};};Object[_0x1b99d1(0xe5)](exports,_0x1b99d1(0xe2),{'value':!![]}),exports[_0x1b99d1(0x14f)]=loginWithOAuth,exports[_0x1b99d1(0x12e)]=isOAuthAccessTokenFresh,exports['refreshOAuthSession']=refreshOAuthSession,exports[_0x1b99d1(0x149)]=getValidOAuthAccessToken;function _0x55ae(_0x6c72d6,_0x3d3e6a){_0x6c72d6=_0x6c72d6-0xda;const _0x40eab8=_0x40ea();let _0x55ae33=_0x40eab8[_0x6c72d6];if(_0x55ae['fRrxgy']===undefined){var _0x3d3338=function(_0xc409a3){const _0xab719b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x111ff0='',_0x558adb='';for(let _0x595946=0x0,_0x33be8c,_0x10725a,_0x10d9a4=0x0;_0x10725a=_0xc409a3['charAt'](_0x10d9a4++);~_0x10725a&&(_0x33be8c=_0x595946%0x4?_0x33be8c*0x40+_0x10725a:_0x10725a,_0x595946++%0x4)?_0x111ff0+=String['fromCharCode'](0xff&_0x33be8c>>(-0x2*_0x595946&0x6)):0x0){_0x10725a=_0xab719b['indexOf'](_0x10725a);}for(let _0x5d9ea4=0x0,_0x25e2c7=_0x111ff0['length'];_0x5d9ea4<_0x25e2c7;_0x5d9ea4++){_0x558adb+='%'+('00'+_0x111ff0['charCodeAt'](_0x5d9ea4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x558adb);};_0x55ae['dixSob']=_0x3d3338,_0x55ae['LyPQZz']={},_0x55ae['fRrxgy']=!![];}const _0x41492f=_0x40eab8[0x0],_0x305a1f=_0x6c72d6+_0x41492f,_0xc56b6c=_0x55ae['LyPQZz'][_0x305a1f];return!_0xc56b6c?(_0x55ae33=_0x55ae['dixSob'](_0x55ae33),_0x55ae['LyPQZz'][_0x305a1f]=_0x55ae33):_0x55ae33=_0xc56b6c,_0x55ae33;}const axios_1=__importDefault(require(_0x1b99d1(0x14a))),crypto=__importStar(require('crypto')),http=__importStar(require('http')),url_1=require('url'),child_process_1=require(_0x1b99d1(0xef)),config_1=require(_0x1b99d1(0xfa));function base64Url(_0x54522e){const _0x939940=_0x1b99d1;return _0x54522e[_0x939940(0x111)](_0x939940(0xec))[_0x939940(0x157)](/\+/g,'-')[_0x939940(0x157)](/\//g,'_')[_0x939940(0x157)](/=+$/g,'');}function randomBase64Url(_0x57f445=0x20){const _0x20e9fe=_0x1b99d1;return base64Url(crypto[_0x20e9fe(0x11d)](_0x57f445));}function createCodeChallenge(_0x4f125d){const _0x3e45bb=_0x1b99d1;return base64Url(crypto[_0x3e45bb(0x12c)]('sha256')['update'](_0x4f125d)['digest']());}function normalizeEndpoint(_0xe4b554){const _0x13396e=_0x1b99d1;return _0xe4b554[_0x13396e(0x157)](/\/$/,'');}function openUrl(_0x238684){const _0x32bb23=_0x1b99d1,_0x531566=process[_0x32bb23(0x129)],_0x5a39a7=_0x531566===_0x32bb23(0x127)?'open':_0x531566===_0x32bb23(0xea)?_0x32bb23(0x104):'xdg-open',_0xe2e835=_0x531566===_0x32bb23(0xea)?['/c','start','',_0x238684]:[_0x238684],_0x4988c9=(0x0,child_process_1[_0x32bb23(0x14e)])(_0x5a39a7,_0xe2e835,{'stdio':_0x32bb23(0x10d),'detached':!![]});_0x4988c9['unref']();}function listenForCallback(_0x198057,_0x283d18){const _0x3b62b2=_0x1b99d1,_0x3ba036=new url_1[(_0x3b62b2(0x144))](_0x198057),_0x294b9d=Number(_0x3ba036[_0x3b62b2(0xf9)]||(_0x3ba036[_0x3b62b2(0xf4)]===_0x3b62b2(0x150)?0x1bb:0x50)),_0x254e82=_0x3ba036[_0x3b62b2(0x108)];if(!['127.0.0.1','localhost'][_0x3b62b2(0xfd)](_0x3ba036[_0x3b62b2(0xe4)]))throw new Error('redirect_uri\x20必须是\x20localhost\x20或\x20127.0.0.1');return new Promise((_0x390e85,_0x3699e2)=>{const _0x3cf0d9=_0x3b62b2,_0x53659e=setTimeout(()=>{const _0x2251fb=_0x55ae;_0x3d7ba1[_0x2251fb(0x10f)](),_0x3699e2(new Error(_0x2251fb(0x152)));},0x5*0x3c*0x3e8),_0x3d7ba1=http[_0x3cf0d9(0x143)]((_0x4029bd,_0x2919ec)=>{const _0x2f1927=_0x3cf0d9;try{const _0x2cf7d7=new url_1['URL'](_0x4029bd[_0x2f1927(0xdd)]??'/',_0x198057);if(_0x2cf7d7['pathname']!==_0x254e82){_0x2919ec['writeHead'](0x194,{'Content-Type':_0x2f1927(0xfc)}),_0x2919ec[_0x2f1927(0x155)](_0x2f1927(0x13f));return;}const _0x5662ba=_0x2cf7d7[_0x2f1927(0x136)][_0x2f1927(0x112)](_0x2f1927(0x120));if(_0x5662ba){const _0x5e3e07=_0x2cf7d7['searchParams']['get'](_0x2f1927(0x130))??_0x5662ba;_0x2919ec[_0x2f1927(0x139)](0x190,{'Content-Type':_0x2f1927(0x131)}),_0x2919ec[_0x2f1927(0x155)](_0x2f1927(0x13d)+_0x5e3e07+_0x2f1927(0xe9)),clearTimeout(_0x53659e),_0x3d7ba1[_0x2f1927(0x10f)](),_0x3699e2(new Error(_0x2f1927(0x12f)+_0x5e3e07));return;}const _0x29ecfc=_0x2cf7d7[_0x2f1927(0x136)][_0x2f1927(0x112)]('state');if(_0x29ecfc!==_0x283d18){_0x2919ec[_0x2f1927(0x139)](0x190,{'Content-Type':_0x2f1927(0x131)}),_0x2919ec[_0x2f1927(0x155)](_0x2f1927(0x10e)),clearTimeout(_0x53659e),_0x3d7ba1['close'](),_0x3699e2(new Error(_0x2f1927(0xf6)));return;}const _0x29d219=_0x2cf7d7['searchParams'][_0x2f1927(0x112)]('code');if(!_0x29d219){_0x2919ec[_0x2f1927(0x139)](0x190,{'Content-Type':_0x2f1927(0x131)}),_0x2919ec[_0x2f1927(0x155)](_0x2f1927(0x11b)),clearTimeout(_0x53659e),_0x3d7ba1['close'](),_0x3699e2(new Error(_0x2f1927(0x13c)));return;}_0x2919ec['writeHead'](0xc8,{'Content-Type':_0x2f1927(0x131)}),_0x2919ec[_0x2f1927(0x155)](_0x2f1927(0xe6)),clearTimeout(_0x53659e),_0x3d7ba1[_0x2f1927(0x10f)](),_0x390e85(_0x29d219);}catch(_0x45abf8){clearTimeout(_0x53659e),_0x3d7ba1['close'](),_0x3699e2(_0x45abf8);}});_0x3d7ba1['on']('error',_0xaccdc3=>{clearTimeout(_0x53659e),_0x3699e2(_0xaccdc3);}),_0x3d7ba1[_0x3cf0d9(0xde)](_0x294b9d,_0x3ba036[_0x3cf0d9(0xe4)]);});}async function exchangeCodeForToken(_0x3edd6d,_0x15bc53,_0x33fcc4,_0x261b18,_0x4902fa){const _0x23a803=_0x1b99d1,_0x4a6480=normalizeEndpoint(_0x3edd6d)+'/oauth/token',_0x488add=new url_1['URLSearchParams']({'grant_type':_0x23a803(0x153),'client_id':_0x15bc53,'redirect_uri':_0x33fcc4,'code':_0x261b18,'code_verifier':_0x4902fa}),_0x587f9e=await axios_1[_0x23a803(0x10c)][_0x23a803(0x11a)](_0x4a6480,_0x488add[_0x23a803(0x111)](),{'headers':{'Content-Type':'application/x-www-form-urlencoded','Accept':_0x23a803(0x141)},'timeout':0x3a98});return _0x587f9e[_0x23a803(0x102)];}async function exchangeRefreshToken(_0x2dd40a){const _0x42cd53=_0x1b99d1;if(!_0x2dd40a[_0x42cd53(0x107)])throw new Error('当前\x20OAuth\x20session\x20没有\x20refresh_token,请重新运行\x20mplus\x20login');const _0x497f5b=new url_1[(_0x42cd53(0x147))]({'grant_type':_0x42cd53(0x107),'client_id':_0x2dd40a['client_id'],'refresh_token':_0x2dd40a[_0x42cd53(0x107)]}),_0x219971=await axios_1[_0x42cd53(0x10c)][_0x42cd53(0x11a)](normalizeEndpoint(_0x2dd40a[_0x42cd53(0x13b)])+_0x42cd53(0x124),_0x497f5b['toString'](),{'headers':{'Content-Type':'application/x-www-form-urlencoded','Accept':_0x42cd53(0x141)},'timeout':0x3a98});return _0x219971[_0x42cd53(0x102)];}async function fetchUserInfo(_0x1352de,_0x33b098){const _0x552b1b=_0x1b99d1,_0x5a5f75=await axios_1[_0x552b1b(0x10c)][_0x552b1b(0x112)](normalizeEndpoint(_0x1352de)+_0x552b1b(0x105),{'headers':{'Authorization':_0x552b1b(0x134)+_0x33b098,'Accept':_0x552b1b(0x141)},'timeout':0x3a98});return _0x5a5f75['data'];}function buildSessionFromToken(_0x204dd1,_0x4769dc,_0x5965b1){const _0x6338da=_0x1b99d1,_0x3e22d2=_0x4769dc[_0x6338da(0x12a)]?new Date(Date['now']()+_0x4769dc[_0x6338da(0x12a)]*0x3e8)[_0x6338da(0x125)]():undefined;return{..._0x204dd1,'scope':_0x4769dc[_0x6338da(0xdb)]??_0x204dd1[_0x6338da(0xdb)],'access_token':_0x4769dc['access_token'],..._0x4769dc['refresh_token']?{'refresh_token':_0x4769dc[_0x6338da(0x107)]}:{},'token_type':_0x4769dc[_0x6338da(0x101)]??_0x6338da(0xf0),..._0x3e22d2?{'token_expires_at':_0x3e22d2}:{},..._0x5965b1?{'user':{'id':_0x5965b1[_0x6338da(0x13e)],..._0x5965b1[_0x6338da(0x14b)]?{'name':_0x5965b1[_0x6338da(0x14b)]}:{},..._0x5965b1[_0x6338da(0x145)]?{'email':_0x5965b1['email']}:{},'roles':_0x5965b1[_0x6338da(0x132)]??[]}}:{},'logged_in_at':new Date()[_0x6338da(0x125)]()};}async function loginWithOAuth(_0x4c7db7){const _0x7c118c=_0x1b99d1,_0x51b146=normalizeEndpoint(_0x4c7db7[_0x7c118c(0x13b)]),_0x3ed897=randomBase64Url(0x18),_0x36e0b3=randomBase64Url(0x30),_0x45adc0=createCodeChallenge(_0x36e0b3),_0x1be25f=new url_1['URL'](_0x51b146+_0x7c118c(0x117));_0x1be25f[_0x7c118c(0x136)][_0x7c118c(0xe0)](_0x7c118c(0xdf),_0x4c7db7[_0x7c118c(0x11c)]),_0x1be25f[_0x7c118c(0x136)]['set'](_0x7c118c(0x119),_0x4c7db7[_0x7c118c(0xf2)]),_0x1be25f[_0x7c118c(0x136)][_0x7c118c(0xe0)](_0x7c118c(0x110),_0x7c118c(0x10b)),_0x1be25f[_0x7c118c(0x136)][_0x7c118c(0xe0)](_0x7c118c(0xdb),_0x4c7db7['scope']),_0x1be25f[_0x7c118c(0x136)]['set'](_0x7c118c(0xee),_0x3ed897),_0x1be25f[_0x7c118c(0x136)][_0x7c118c(0xe0)](_0x7c118c(0xfe),_0x45adc0),_0x1be25f['searchParams'][_0x7c118c(0xe0)](_0x7c118c(0x115),_0x7c118c(0x118));const _0x2b7883=listenForCallback(_0x4c7db7[_0x7c118c(0xf2)],_0x3ed897);console[_0x7c118c(0x137)](_0x7c118c(0x148)+_0x1be25f['toString']()+'\x0a');_0x4c7db7[_0x7c118c(0x10a)]?openUrl(_0x1be25f[_0x7c118c(0x111)]()):console[_0x7c118c(0x137)](_0x7c118c(0x126));const _0x54c7c7=await _0x2b7883;process[_0x7c118c(0x11e)][_0x7c118c(0xf5)](_0x7c118c(0x151));const _0x928bf4=await exchangeCodeForToken(_0x51b146,_0x4c7db7[_0x7c118c(0x11c)],_0x4c7db7[_0x7c118c(0xf2)],_0x54c7c7,_0x36e0b3);process[_0x7c118c(0x11e)][_0x7c118c(0xf5)](_0x7c118c(0x14d));let _0x320c6f;try{_0x320c6f=await fetchUserInfo(_0x51b146,_0x928bf4[_0x7c118c(0xe8)]);}catch(_0x4c6eee){const _0xa47433=axios_1[_0x7c118c(0x10c)][_0x7c118c(0x103)](_0x4c6eee)?_0x7c118c(0x135)+(_0x4c6eee['response']?.[_0x7c118c(0xed)]??_0x4c6eee[_0x7c118c(0x10b)]??_0x7c118c(0x14c)):_0x4c6eee instanceof Error?_0x4c6eee[_0x7c118c(0x106)]:String(_0x4c6eee);process[_0x7c118c(0x128)][_0x7c118c(0xf5)](_0x7c118c(0x11f)+_0xa47433+'),但\x20access\x20token\x20已保存,可用于后续\x20API\x20请求。\x0a');}const _0x58c39f=buildSessionFromToken({'endpoint':_0x51b146,'client_id':_0x4c7db7[_0x7c118c(0x11c)],'redirect_uri':_0x4c7db7[_0x7c118c(0xf2)],'scope':_0x4c7db7[_0x7c118c(0xdb)]},_0x928bf4,_0x320c6f);return(0x0,config_1[_0x7c118c(0x142)])(_0x4c7db7[_0x7c118c(0xfb)],_0x58c39f),_0x58c39f;}function isOAuthAccessTokenFresh(_0x4e1fe1,_0x4abc9f=0x3c){const _0x434a43=_0x1b99d1;if(!_0x4e1fe1[_0x434a43(0x12d)])return!![];return new Date(_0x4e1fe1[_0x434a43(0x12d)])[_0x434a43(0xda)]()-Date[_0x434a43(0xe3)]()>_0x4abc9f*0x3e8;}async function refreshOAuthSession(_0xb69649){const _0x18326f=_0x1b99d1,_0x5dfecd=(0x0,config_1[_0x18326f(0xf8)])(_0xb69649);if(!_0x5dfecd)throw new Error(_0x18326f(0x138));const _0x594671=await exchangeRefreshToken(_0x5dfecd[_0x18326f(0x13a)]),_0x3545f6={..._0x5dfecd[_0x18326f(0x13a)],...buildSessionFromToken({'endpoint':_0x5dfecd[_0x18326f(0x13a)][_0x18326f(0x13b)],'client_id':_0x5dfecd[_0x18326f(0x13a)][_0x18326f(0xdf)],'redirect_uri':_0x5dfecd['session'][_0x18326f(0x119)],'scope':_0x5dfecd[_0x18326f(0x13a)]['scope']},_0x594671,_0x5dfecd[_0x18326f(0x13a)]['user']?{'sub':_0x5dfecd['session'][_0x18326f(0x121)]['id'],'name':_0x5dfecd[_0x18326f(0x13a)][_0x18326f(0x121)][_0x18326f(0x14b)],'email':_0x5dfecd[_0x18326f(0x13a)][_0x18326f(0x121)][_0x18326f(0x145)],'roles':_0x5dfecd[_0x18326f(0x13a)][_0x18326f(0x121)]['roles']}:undefined),'refresh_token':_0x594671['refresh_token']??_0x5dfecd[_0x18326f(0x13a)]['refresh_token']};return(0x0,config_1[_0x18326f(0x142)])(_0x5dfecd['name'],_0x3545f6),_0x3545f6;}async function getValidOAuthAccessToken(_0xc699f8){const _0x320c05=_0x1b99d1,_0x5afed1=(0x0,config_1[_0x320c05(0xf8)])(_0xc699f8);if(!_0x5afed1)throw new Error('未找到\x20OAuth\x20session,请先运行\x20mplus\x20login');if(isOAuthAccessTokenFresh(_0x5afed1[_0x320c05(0x13a)]))return _0x5afed1[_0x320c05(0x13a)][_0x320c05(0xe8)];const _0xed353e=await refreshOAuthSession(_0x5afed1[_0x320c05(0x14b)]);return _0xed353e[_0x320c05(0xe8)];}
|
package/dist/oauth_client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const _0x48f350=_0xbdf2;function _0xbdf2(_0x21e3bd,_0x75a6ba){_0x21e3bd=_0x21e3bd-0x124;const _0xb3ceff=_0xb3ce();let _0xbdf26f=_0xb3ceff[_0x21e3bd];if(_0xbdf2['JuzMGh']===undefined){var _0x5d5ebb=function(_0x4597d3){const _0x212385='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa5b970='',_0x1aefca='';for(let _0x2c7b05=0x0,_0x558b5f,_0x107bb9,_0x46dba2=0x0;_0x107bb9=_0x4597d3['charAt'](_0x46dba2++);~_0x107bb9&&(_0x558b5f=_0x2c7b05%0x4?_0x558b5f*0x40+_0x107bb9:_0x107bb9,_0x2c7b05++%0x4)?_0xa5b970+=String['fromCharCode'](0xff&_0x558b5f>>(-0x2*_0x2c7b05&0x6)):0x0){_0x107bb9=_0x212385['indexOf'](_0x107bb9);}for(let _0x38eafe=0x0,_0x2c9f76=_0xa5b970['length'];_0x38eafe<_0x2c9f76;_0x38eafe++){_0x1aefca+='%'+('00'+_0xa5b970['charCodeAt'](_0x38eafe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1aefca);};_0xbdf2['UHyuPa']=_0x5d5ebb,_0xbdf2['MCaBhY']={},_0xbdf2['JuzMGh']=!![];}const _0x2e281a=_0xb3ceff[0x0],_0x4d42b3=_0x21e3bd+_0x2e281a,_0xab9b7b=_0xbdf2['MCaBhY'][_0x4d42b3];return!_0xab9b7b?(_0xbdf26f=_0xbdf2['UHyuPa'](_0xbdf26f),_0xbdf2['MCaBhY'][_0x4d42b3]=_0xbdf26f):_0xbdf26f=_0xab9b7b,_0xbdf26f;}(function(_0xde57be,_0x49ee16){const _0x32af8d=_0xbdf2,_0x98a6bd=_0xde57be();while(!![]){try{const _0x8989c5=-parseInt(_0x32af8d(0x145))/0x1+-parseInt(_0x32af8d(0x136))/0x2+-parseInt(_0x32af8d(0x13e))/0x3*(-parseInt(_0x32af8d(0x138))/0x4)+parseInt(_0x32af8d(0x140))/0x5+parseInt(_0x32af8d(0x143))/0x6+parseInt(_0x32af8d(0x12c))/0x7+-parseInt(_0x32af8d(0x132))/0x8*(parseInt(_0x32af8d(0x13c))/0x9);if(_0x8989c5===_0x49ee16)break;else _0x98a6bd['push'](_0x98a6bd['shift']());}catch(_0x31f656){_0x98a6bd['push'](_0x98a6bd['shift']());}}}(_0xb3ce,0xce8a8));var __importDefault=this&&this['__importDefault']||function(_0xa5b970){const _0x21691f=_0xbdf2;return _0xa5b970&&_0xa5b970[_0x21691f(0x125)]?_0xa5b970:{'default':_0xa5b970};};Object['defineProperty'](exports,_0x48f350(0x125),{'value':!![]}),exports[_0x48f350(0x12a)]=oauthApiClient;const axios_1=__importDefault(require('axios')),env_1=require('./env'),oauth_1=require(_0x48f350(0x12b)),client_1=require(_0x48f350(0x13f));function httpErrorMessage(_0x1aefca,_0x2c7b05){const _0x42cbbb=_0x48f350;if(_0x2c7b05&&typeof _0x2c7b05===_0x42cbbb(0x13d)&&_0x42cbbb(0x139)in _0x2c7b05)return String(_0x2c7b05['message']);switch(_0x1aefca){case 0x191:return _0x42cbbb(0x13a);case 0x193:return _0x42cbbb(0x126);case 0x194:return _0x42cbbb(0x135);default:if(_0x1aefca>=0x1f4)return _0x42cbbb(0x144);return _0x42cbbb(0x128)+_0x1aefca+')';}}function _0xb3ce(){const _0x418a37=['y3jLyxrL','572r57UC6zsz6k+V77Ym5PEG5Rov6l+E5O6LiefqssbhyxrLD2f577YA','6lwe5RQq5lIn5A2y5zYO','mJe4mJi2nKn3tK5Myq','DxnL','nJrqyuP3y0q','BwvZC2fNzq','t0f1DgGG6yM05P2d5AsX6lsL77Ym6k+36l+q6kgmig1WBhvZigXVz2LUioMhJEAwSoEzU+w9Lq','CMvZCg9UC2u','mtHvBMTyquW','B2jQzwn0','mJGZnZuYuuvWDLPe','lI9JBgLLBNq','nZyZnZG3mfLsuxfnyG','CMvWBgfJzq','zw52','nti2nti3mhLKq25Rvq','5PYn5yQH5zMO6zsz6k+V77Ym6k+356In5zco6yEn6k+v','otGWotmZqwfYDwLV','qMvHCMvYia','x19LC01VzhvSzq','5l2G5RkH5PYj6k6/6zEU6k+L6lwe5RQq55Qe5P2d6zMq','Aw50zxjJzxb0B3jZ','6k+35Rgc5AsX6lsL77Yisfruuca','yxbWBgLJyxrPB24VANnVBG','B2f1DgHbCgLdBgLLBNq','lI9Vyxv0Aa','nZy2mJm0n3jmy2vrrG','z2v0vMfSAwrpqxv0AefJy2vZC1rVA2vU','C3rHDhvZ','tvbmvvnFqvbjx0DbvevxqvLFru5eue9jtLq','qxbPrxjYB3i','revgqvvmvf9bueLFr0furvDbwv9ftKrqt0Lova','odm4mdeWnfrLEfPtzG'];_0xb3ce=function(){return _0x418a37;};return _0xb3ce();}async function oauthApiClient(_0x558b5f){const _0x5b04a2=_0x48f350,_0x107bb9=await(0x0,oauth_1[_0x5b04a2(0x12d)])(_0x558b5f),_0x46dba2=(process[_0x5b04a2(0x142)][_0x5b04a2(0x12f)]??env_1[_0x5b04a2(0x131)])[_0x5b04a2(0x141)](/\/$/,''),_0x38eafe=axios_1['default'][_0x5b04a2(0x133)]({'baseURL':_0x46dba2,'headers':{'Authorization':_0x5b04a2(0x124)+_0x107bb9,'Content-Type':_0x5b04a2(0x129),'Accept':'application/json'},'timeout':0x7530});return _0x38eafe[_0x5b04a2(0x127)]['response'][_0x5b04a2(0x137)](_0x2c9f76=>_0x2c9f76,_0xf7000d=>{const _0x345f3f=_0x5b04a2;if(_0xf7000d['response'])throw new client_1[(_0x345f3f(0x130))](httpErrorMessage(_0xf7000d[_0x345f3f(0x13b)]['status'],_0xf7000d['response']['data']),_0xf7000d[_0x345f3f(0x13b)][_0x345f3f(0x12e)]);if(_0xf7000d['request'])throw new client_1[(_0x345f3f(0x130))](_0x345f3f(0x134)+_0xf7000d[_0x345f3f(0x139)]);throw new client_1[(_0x345f3f(0x130))](_0xf7000d[_0x345f3f(0x139)]);}),_0x38eafe;}
|
package/dist/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';function _0x11fb(_0x3ad4d8,_0x3a68bc){_0x3ad4d8=_0x3ad4d8-0x123;var _0x382551=_0x3825();var _0x11fb13=_0x382551[_0x3ad4d8];if(_0x11fb['kPpCGD']===undefined){var _0x1cddb2=function(_0x34b8d3){var _0x51df54='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4a5abd='',_0x1a1e0d='';for(var _0x3c8791=0x0,_0x205bd3,_0x4eb16a,_0x1934d3=0x0;_0x4eb16a=_0x34b8d3['charAt'](_0x1934d3++);~_0x4eb16a&&(_0x205bd3=_0x3c8791%0x4?_0x205bd3*0x40+_0x4eb16a:_0x4eb16a,_0x3c8791++%0x4)?_0x4a5abd+=String['fromCharCode'](0xff&_0x205bd3>>(-0x2*_0x3c8791&0x6)):0x0){_0x4eb16a=_0x51df54['indexOf'](_0x4eb16a);}for(var _0x4b31d8=0x0,_0x1c2696=_0x4a5abd['length'];_0x4b31d8<_0x1c2696;_0x4b31d8++){_0x1a1e0d+='%'+('00'+_0x4a5abd['charCodeAt'](_0x4b31d8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a1e0d);};_0x11fb['GeWuDh']=_0x1cddb2,_0x11fb['stgcSJ']={},_0x11fb['kPpCGD']=!![];}var _0x33b1ea=_0x382551[0x0],_0x56630a=_0x3ad4d8+_0x33b1ea,_0x31a9ba=_0x11fb['stgcSJ'][_0x56630a];return!_0x31a9ba?(_0x11fb13=_0x11fb['GeWuDh'](_0x11fb13),_0x11fb['stgcSJ'][_0x56630a]=_0x11fb13):_0x11fb13=_0x31a9ba,_0x11fb13;}var _0x28c98d=_0x11fb;(function(_0x506467,_0x2bc521){var _0x222f0e=_0x11fb,_0x576cd0=_0x506467();while(!![]){try{var _0x5685c0=-parseInt(_0x222f0e(0x123))/0x1+parseInt(_0x222f0e(0x125))/0x2+parseInt(_0x222f0e(0x12d))/0x3*(-parseInt(_0x222f0e(0x12a))/0x4)+parseInt(_0x222f0e(0x124))/0x5*(parseInt(_0x222f0e(0x12c))/0x6)+-parseInt(_0x222f0e(0x129))/0x7+parseInt(_0x222f0e(0x128))/0x8+parseInt(_0x222f0e(0x126))/0x9;if(_0x5685c0===_0x2bc521)break;else _0x576cd0['push'](_0x576cd0['shift']());}catch(_0x463b8f){_0x576cd0['push'](_0x576cd0['shift']());}}}(_0x3825,0xc3b8d));function _0x3825(){var _0x37138d=['mtz5whH0B1u','y29TBwfUzfjVBgvZ','nLb2wLfwBa','mZG2nJm0DNfZDMrO','nZi1mZK2BeHjAevu','ntiXmZeYnuretvLyAq','odyZnJq0vhjqz1rk','mZu5mJy4m2HZs1fRrG','zgvMAw5LuhjVCgvYDhK','nZm5otG2ngDuvK9MEG','nti5mJiYng9UzwzIyq'];_0x3825=function(){return _0x37138d;};return _0x3825();}Object[_0x28c98d(0x127)](exports,'__esModule',{'value':!![]}),exports[_0x28c98d(0x12b)]=void 0x0,exports[_0x28c98d(0x12b)]=new Map();
|
package/package.json
CHANGED
|
@@ -15,6 +15,21 @@ metadata:
|
|
|
15
15
|
|
|
16
16
|
mplus CLI 的 admission 相关命令使用 **OAuth Authorization Code + PKCE** 认证,通过 API Gateway (`https://api-gateway.miracleplus.com`) 访问后端服务。
|
|
17
17
|
|
|
18
|
+
### 检查登录状态
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# 查看当前 OAuth 登录状态
|
|
22
|
+
mplus status
|
|
23
|
+
|
|
24
|
+
# JSON 格式(AI Agent 推荐)
|
|
25
|
+
mplus status --json
|
|
26
|
+
|
|
27
|
+
# 查看指定 session
|
|
28
|
+
mplus status --session work
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**重要**:使用 `mplus status` 检查 OAuth 登录状态,不要用 `mplus whoami`(那是 API Key 体系的命令)。
|
|
32
|
+
|
|
18
33
|
### 登录
|
|
19
34
|
|
|
20
35
|
```bash
|