@miracleplus/mplus 0.1.5 → 0.1.7
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 +89 -1
- 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/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-admission/SKILL.md +2 -2
- package/skills/mplus-admission/references/admission-startup-projects-get.md +8 -8
- package/skills/mplus-admission/references/admission-startup-projects-list.md +11 -11
package/dist/oauth.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const _0x24bf7d=_0x1d8e;(function(_0x1a5a99,_0x2ea8f0){const _0x4cf423=_0x1d8e,_0x5b9f5d=_0x1a5a99();while(!![]){try{const _0x20c125=parseInt(_0x4cf423(0xf2))/0x1*(parseInt(_0x4cf423(0xb3))/0x2)+-parseInt(_0x4cf423(0xc4))/0x3*(-parseInt(_0x4cf423(0x101))/0x4)+parseInt(_0x4cf423(0xe4))/0x5+parseInt(_0x4cf423(0x113))/0x6*(parseInt(_0x4cf423(0xfa))/0x7)+-parseInt(_0x4cf423(0xe3))/0x8+-parseInt(_0x4cf423(0xc8))/0x9*(parseInt(_0x4cf423(0xe0))/0xa)+-parseInt(_0x4cf423(0x103))/0xb*(-parseInt(_0x4cf423(0xbe))/0xc);if(_0x20c125===_0x2ea8f0)break;else _0x5b9f5d['push'](_0x5b9f5d['shift']());}catch(_0x417381){_0x5b9f5d['push'](_0x5b9f5d['shift']());}}}(_0x16f4,0xcc640));var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x529b7c,_0x174e81,_0x2736c5,_0x740e58){const _0x3309a2=_0x1d8e;if(_0x740e58===undefined)_0x740e58=_0x2736c5;var _0x6ad595=Object['getOwnPropertyDescriptor'](_0x174e81,_0x2736c5);(!_0x6ad595||('get'in _0x6ad595?!_0x174e81[_0x3309a2(0xe8)]:_0x6ad595[_0x3309a2(0xe6)]||_0x6ad595[_0x3309a2(0xdc)]))&&(_0x6ad595={'enumerable':!![],'get':function(){return _0x174e81[_0x2736c5];}}),Object[_0x3309a2(0xf4)](_0x529b7c,_0x740e58,_0x6ad595);}:function(_0x393ddf,_0x289185,_0x377925,_0x3cd68d){if(_0x3cd68d===undefined)_0x3cd68d=_0x377925;_0x393ddf[_0x3cd68d]=_0x289185[_0x377925];}),__setModuleDefault=this&&this[_0x24bf7d(0x102)]||(Object[_0x24bf7d(0xb6)]?function(_0xbf0627,_0xe36ba8){const _0x2c2fc8=_0x24bf7d;Object[_0x2c2fc8(0xf4)](_0xbf0627,'default',{'enumerable':!![],'value':_0xe36ba8});}:function(_0x2ad402,_0x36b08d){const _0x249f2d=_0x24bf7d;_0x2ad402[_0x249f2d(0xc3)]=_0x36b08d;}),__importStar=this&&this[_0x24bf7d(0xba)]||(function(){var _0x1760bb=function(_0x5f763f){return _0x1760bb=Object['getOwnPropertyNames']||function(_0x50faba){const _0x3afed9=_0x1d8e;var _0x14b74f=[];for(var _0x10e833 in _0x50faba)if(Object[_0x3afed9(0xa5)][_0x3afed9(0xb8)]['call'](_0x50faba,_0x10e833))_0x14b74f[_0x14b74f[_0x3afed9(0xf8)]]=_0x10e833;return _0x14b74f;},_0x1760bb(_0x5f763f);};return function(_0x2e166c){const _0x3c029a=_0x1d8e;if(_0x2e166c&&_0x2e166c[_0x3c029a(0xe8)])return _0x2e166c;var _0x174fc2={};if(_0x2e166c!=null){for(var _0x1052a9=_0x1760bb(_0x2e166c),_0x3bada1=0x0;_0x3bada1<_0x1052a9[_0x3c029a(0xf8)];_0x3bada1++)if(_0x1052a9[_0x3bada1]!=='default')__createBinding(_0x174fc2,_0x2e166c,_0x1052a9[_0x3bada1]);}return __setModuleDefault(_0x174fc2,_0x2e166c),_0x174fc2;};}()),__importDefault=this&&this['__importDefault']||function(_0x287520){return _0x287520&&_0x287520['__esModule']?_0x287520:{'default':_0x287520};};Object[_0x24bf7d(0xf4)](exports,_0x24bf7d(0xe8),{'value':!![]}),exports['loginWithOAuth']=loginWithOAuth,exports[_0x24bf7d(0xcd)]=isOAuthAccessTokenFresh,exports['refreshOAuthSession']=refreshOAuthSession,exports[_0x24bf7d(0xd3)]=getValidOAuthAccessToken;const axios_1=__importDefault(require(_0x24bf7d(0xb2))),crypto=__importStar(require(_0x24bf7d(0xf0))),http=__importStar(require(_0x24bf7d(0xd8))),url_1=require(_0x24bf7d(0xe5)),child_process_1=require(_0x24bf7d(0x100)),config_1=require(_0x24bf7d(0xa1));function base64Url(_0x32900b){const _0x172e14=_0x24bf7d;return _0x32900b['toString'](_0x172e14(0x110))[_0x172e14(0xca)](/\+/g,'-')['replace'](/\//g,'_')[_0x172e14(0xca)](/=+$/g,'');}function randomBase64Url(_0x5d6b75=0x20){const _0x201b5e=_0x24bf7d;return base64Url(crypto[_0x201b5e(0xa4)](_0x5d6b75));}function createCodeChallenge(_0x4dca32){const _0x3b2d12=_0x24bf7d;return base64Url(crypto[_0x3b2d12(0xdb)]('sha256')[_0x3b2d12(0xb4)](_0x4dca32)[_0x3b2d12(0xcf)]());}function normalizeEndpoint(_0x1672a2){const _0x4b0389=_0x24bf7d;return _0x1672a2[_0x4b0389(0xca)](/\/$/,'');}function openUrl(_0x3c5933){const _0x194b93=_0x24bf7d,_0x5bbc07=process[_0x194b93(0xf7)],_0x76400f=_0x5bbc07===_0x194b93(0xc6)?_0x194b93(0x11b):_0x5bbc07===_0x194b93(0xa3)?_0x194b93(0xfe):'xdg-open',_0x529657=_0x5bbc07===_0x194b93(0xa3)?['/c','start','',_0x3c5933]:[_0x3c5933],_0x14d152=(0x0,child_process_1['spawn'])(_0x76400f,_0x529657,{'stdio':_0x194b93(0x107),'detached':!![]});_0x14d152[_0x194b93(0xab)]();}function listenForCallback(_0x1fcd04,_0x2cc04d){const _0x1b35bb=_0x24bf7d,_0x38ba76=new url_1[(_0x1b35bb(0x10f))](_0x1fcd04),_0x2c7bda=Number(_0x38ba76[_0x1b35bb(0x10d)]||(_0x38ba76[_0x1b35bb(0xbf)]===_0x1b35bb(0x111)?0x1bb:0x50)),_0x11987c=_0x38ba76[_0x1b35bb(0xf6)];if(![_0x1b35bb(0xfd),_0x1b35bb(0xeb)][_0x1b35bb(0xfc)](_0x38ba76['hostname']))throw new Error(_0x1b35bb(0x10b));return new Promise((_0x3d6325,_0xf35372)=>{const _0x34fbe5=_0x1b35bb,_0x27f812=setTimeout(()=>{const _0x50f16e=_0x1d8e;_0x48cfc9[_0x50f16e(0xa6)](),_0xf35372(new Error(_0x50f16e(0x10c)));},0x5*0x3c*0x3e8),_0x48cfc9=http[_0x34fbe5(0xd0)]((_0x27bee5,_0x2e5fcb)=>{const _0x4f6232=_0x34fbe5;try{const _0x49cc12=new url_1['URL'](_0x27bee5[_0x4f6232(0xe5)]??'/',_0x1fcd04);if(_0x49cc12[_0x4f6232(0xf6)]!==_0x11987c){_0x2e5fcb[_0x4f6232(0x10e)](0x194,{'Content-Type':'text/plain;\x20charset=utf-8'}),_0x2e5fcb['end'](_0x4f6232(0x118));return;}const _0x56edf3=_0x49cc12[_0x4f6232(0xaf)][_0x4f6232(0xd7)](_0x4f6232(0xb1));if(_0x56edf3){const _0x59a882=_0x49cc12[_0x4f6232(0xaf)]['get'](_0x4f6232(0xde))??_0x56edf3;_0x2e5fcb['writeHead'](0x190,{'Content-Type':_0x4f6232(0xac)}),_0x2e5fcb[_0x4f6232(0x108)]('<h1>授权失败</h1><p>'+_0x59a882+'</p>'),clearTimeout(_0x27f812),_0x48cfc9[_0x4f6232(0xa6)](),_0xf35372(new Error(_0x4f6232(0x104)+_0x59a882));return;}const _0x1e481e=_0x49cc12['searchParams'][_0x4f6232(0xd7)](_0x4f6232(0xbb));if(_0x1e481e!==_0x2cc04d){_0x2e5fcb[_0x4f6232(0x10e)](0x190,{'Content-Type':_0x4f6232(0xac)}),_0x2e5fcb[_0x4f6232(0x108)](_0x4f6232(0x11a)),clearTimeout(_0x27f812),_0x48cfc9['close'](),_0xf35372(new Error(_0x4f6232(0xf3)));return;}const _0x646c01=_0x49cc12[_0x4f6232(0xaf)][_0x4f6232(0xd7)](_0x4f6232(0x114));if(!_0x646c01){_0x2e5fcb[_0x4f6232(0x10e)](0x190,{'Content-Type':_0x4f6232(0xac)}),_0x2e5fcb['end'](_0x4f6232(0xb9)),clearTimeout(_0x27f812),_0x48cfc9[_0x4f6232(0xa6)](),_0xf35372(new Error(_0x4f6232(0xfb)));return;}_0x2e5fcb[_0x4f6232(0x10e)](0xc8,{'Content-Type':_0x4f6232(0xac)}),_0x2e5fcb[_0x4f6232(0x108)](_0x4f6232(0xf1)),clearTimeout(_0x27f812),_0x48cfc9[_0x4f6232(0xa6)](),_0x3d6325(_0x646c01);}catch(_0x40f98f){clearTimeout(_0x27f812),_0x48cfc9['close'](),_0xf35372(_0x40f98f);}});_0x48cfc9['on'](_0x34fbe5(0xb1),_0xa0c9c2=>{clearTimeout(_0x27f812),_0xf35372(_0xa0c9c2);}),_0x48cfc9[_0x34fbe5(0x112)](_0x2c7bda,_0x38ba76[_0x34fbe5(0x109)]);});}async function exchangeCodeForToken(_0x14f35e,_0x420779,_0x3eb539,_0x19ea8d,_0x5b61a6){const _0x27c674=_0x24bf7d,_0x4883e3=normalizeEndpoint(_0x14f35e)+_0x27c674(0xd4),_0x39a1f7=new url_1[(_0x27c674(0xa8))]({'grant_type':_0x27c674(0xa7),'client_id':_0x420779,'redirect_uri':_0x3eb539,'code':_0x19ea8d,'code_verifier':_0x5b61a6}),_0x12eb95=await axios_1[_0x27c674(0xc3)][_0x27c674(0x11e)](_0x4883e3,_0x39a1f7['toString'](),{'headers':{'Content-Type':_0x27c674(0x106),'Accept':_0x27c674(0xef)},'timeout':0x3a98});return _0x12eb95[_0x27c674(0x117)];}async function exchangeRefreshToken(_0x330a32){const _0x23f263=_0x24bf7d;if(!_0x330a32[_0x23f263(0xaa)])throw new Error(_0x23f263(0xf5));const _0x2ccb6f=new url_1['URLSearchParams']({'grant_type':_0x23f263(0xaa),'client_id':_0x330a32[_0x23f263(0xd2)],'refresh_token':_0x330a32[_0x23f263(0xaa)]}),_0x531b16=await axios_1[_0x23f263(0xc3)][_0x23f263(0x11e)](normalizeEndpoint(_0x330a32[_0x23f263(0xc9)])+_0x23f263(0xd4),_0x2ccb6f[_0x23f263(0xbd)](),{'headers':{'Content-Type':_0x23f263(0x106),'Accept':_0x23f263(0xef)},'timeout':0x3a98});return _0x531b16[_0x23f263(0x117)];}function _0x16f4(){const _0x38793f=['y2XPzw50x2LK','z2v0vMfSAwrpqxv0AefJy2vZC1rVA2vU','l29HDxrOl3rVA2vU','CMvKAxjLy3rvCMK','C2v0','z2v0','Ahr0Ca','D3jPDgu','qwnJzxnZihrVA2vUiow3SUIoT+wpLU+8JoATO+wCQowWNEIVLEIoT+wpLUEuQoAiT+s/OEAbRY4UlGO','y3jLyxrLsgfZAa','y29UzMLNDxjHyMXL','5PYQ5OM+5yIWie9bDxrOihnLC3nPB27VViZOR7FLHyJOV5dOOyWGBxbSDxmGBg9NAw4','zxjYB3jFzgvZy3jPChrPB24','C2nVCgu','mtbRt25PtNu','qMvHCMvYia','l29HDxrOl2f1DgHVCML6zq','mtiYnta5nZzxDwrztLu','ndKXmtiWme5Kt2LJvW','DxjS','D3jPDgfIBgu','BMfTzq','x19LC01VzhvSzq','6k+35zYO5Rwp6kEi5zMO5lIT5A6m5OIqie1qioEzU+w9LEAoIoADG++8MGO','qMvHCMvY','Bg9JywXOB3n0','zw1HAwW','Dg9Rzw5FzxHWAxjLC19HDa','BM93','yxbWBgLJyxrPB24VANnVBG','y3j5ChrV','pgGXpUEzU+w9LEAiKowkNZWVAde+pha+5l2G5y+V5lUL5ywZ6zET6l+z5lIQ6Ag16z2I77Ym5zUE5yIW57Ui56UV57UN57UT5l2/55sOig1WBhvZ44ccpc9WpG','oteWotzYyKjhyMO','t0f1DgGGC3rHDguG5QcH6AQm5AsX6lsL','zgvMAw5LuhjVCgvYDhK','5B2t5yMnie9bDxrOihnLC3nPB24G5RkH5PYjihjLzNjLC2HFDg9Rzw7VViZOR7FPH43MLRdOV5dOOyWGBxbSDxmGBg9NAw4','Cgf0Ag5HBwu','CgXHDgzVCM0','BgvUz3rO','C3rHDhvZ','nteXq1zKtefK','t0f1DgGG5zUE6lcd5lIT57Y65BcrignVzgu','Aw5JBhvKzxm','mti3lJaUmc4X','y21K','C2vZC2LVBK5HBwu','y2HPBgrFChjVy2vZCW','mtC2vwTcvMLu','x19ZzxrnB2r1BgvezwzHDwX0','nZD0vMfwrKe','t0f1DgGG5O6i5P2d5AsX6lsL77YA','C3vI','yxbWBgLJyxrPB24VEc13D3CTzM9YBs11CMXLBMnVzgvK','AwDUB3jL','zw5K','Ag9ZDg5HBwu','y2XPzw50swq','CMvKAxjLy3rFDxjPiow/HEMHU+AyRYbSB2nHBgHVC3qG5OIwideYnY4WlJaUmq','562j5B6f5Rwp6kEi5zMO5O6i5P2d6lAf5PE277Ym6k+36yEn5PAW6l+q6kgmig1WBhvZigXVz2LU','Cg9YDa','D3jPDgvizwfK','vvjm','yMfZzty0','Ahr0Chm6','BgLZDgvU','mJu3odjNAuLmDxy','y29Kzq','C2f2zu9bDxrOu2vZC2LVBG','77Yj77Ym5l2gigfJy2vZCYb0B2TLBIdLT7lKV53LRzJVViZLJ6/NLkJKUO7LKi7NU60GqvbjioIVT+AXGUoaGGO','zgf0yq','tM90iezVDw5K','sfruuca','pgGXpUAoIoADG+wKSEI0PtWVAde+pha+C3rHDguG5QcH6AQm5AsX6lsL77Ym6k+35zUE5yIW57Ui56UV6yEn5PAW55M75B2v44ccpc9WpG','B3bLBG','l29HDxrOl3vZzxjPBMzV','CMvZCg9UC2vFDhLWzq','Cg9ZDa','lI9JB25MAwC','C3rKB3v0','D2LUmZi','CMfUzg9TqNL0zxm','ChjVDg90ExbL','y2XVC2u','yxv0Ag9YAxPHDgLVBL9JB2rL','vvjmu2vHCMnOugfYyw1Z','z2v0t0f1DgHtzxnZAw9U','CMvMCMvZAf90B2TLBG','Dw5Yzwy','Dgv4Dc9ODg1SoYbJAgfYC2v0pxv0zI04','Bg9N','5BEY56Ab55sO6iEQ5yQO5OMt5BYa5Rwp6kEi5zMO77Ym6k+35OMl5yQO5Asn5yI25lIk6z2I55Qe5zYW5z2a6k6/6zEU44cc','C2vHCMnOugfYyw1Z','y29Kzv9JAgfSBgvUz2u','zxjYB3i','yxHPB3m','mZbAt1PnDg0','DxbKyxrL','ywnJzxnZx3rVA2vU','y3jLyxrL','C3rKzxjY','AgfZt3DUuhjVCgvYDhK','pgGXpUAoIoADG+wKSEI0PtWVAde+pha+5zUE6lcd5lIT57Y65BcrignVzgxJGii8l3a+','x19PBxbVCNrtDgfY','C3rHDgu','z2v0vgLTzq','Dg9tDhjPBMC','mJi2mJbwBe1LEhy','ChjVDg9JB2W','uZi1nG','4PQGioACQUIdVEIoT+wpLUEuQoAiT+s/OEAbR++8Ia','CMvKAxjLy3rFDxjP','zgvMyxvSDa','mJC2odfdvenZBeu','Dg9ju09tDhjPBMC','zgfYD2LU','y29Kzv9JAgfSBgvUz2vFBwv0Ag9K','nJqXnJG5mKX3rujvwG','zw5KCg9PBNq','CMvWBgfJzq','C2vZC2LVBG','BwvZC2fNzq','Axnpqxv0AefJy2vZC1rVA2vUrNjLC2G','DxnLCG','zgLNzxn0','y3jLyxrLu2vYDMvY','5BEY5Ps25yIW5O6i5P2d56cb77Ym5Q2J5zYO5O2I5y+wigfJy2vZCYb0B2TLBI4UlGO'];_0x16f4=function(){return _0x38793f;};return _0x16f4();}async function fetchUserInfo(_0x4b4c46,_0x3b3c58){const _0x477693=_0x24bf7d,_0x29081e=await axios_1[_0x477693(0xc3)][_0x477693(0xd7)](normalizeEndpoint(_0x4b4c46)+_0x477693(0x11c),{'headers':{'Authorization':_0x477693(0xe1)+_0x3b3c58,'Accept':'application/json'},'timeout':0x3a98});return _0x29081e[_0x477693(0x117)];}function buildSessionFromToken(_0x225b67,_0x198b12,_0x30e2cd){const _0x1a211d=_0x24bf7d,_0x150583=_0x198b12['expires_in']?new Date(Date['now']()+_0x198b12['expires_in']*0x3e8)[_0x1a211d(0xc5)]():undefined;return{..._0x225b67,'scope':_0x198b12[_0x1a211d(0xdf)]??_0x225b67['scope'],'access_token':_0x198b12['access_token'],..._0x198b12['refresh_token']?{'refresh_token':_0x198b12[_0x1a211d(0xaa)]}:{},'token_type':_0x198b12['token_type']??_0x1a211d(0xea),..._0x150583?{'token_expires_at':_0x150583}:{},..._0x30e2cd?{'user':{'id':_0x30e2cd[_0x1a211d(0x105)],..._0x30e2cd[_0x1a211d(0xe7)]?{'name':_0x30e2cd['name']}:{},..._0x30e2cd[_0x1a211d(0xec)]?{'email':_0x30e2cd['email']}:{},'roles':_0x30e2cd['roles']??[]}}:{},'logged_in_at':new Date()[_0x1a211d(0xc5)]()};}async function loginWithOAuth(_0x4fc6bb){const _0x2df048=_0x24bf7d,_0x28050a=normalizeEndpoint(_0x4fc6bb[_0x2df048(0xc9)]),_0x5ac667=randomBase64Url(0x18),_0x36f40b=randomBase64Url(0x30),_0x1a5c36=createCodeChallenge(_0x36f40b),_0x484570=new url_1[(_0x2df048(0x10f))](_0x28050a+_0x2df048(0xe2));_0x484570['searchParams']['set'](_0x2df048(0xd2),_0x4fc6bb[_0x2df048(0x10a)]),_0x484570[_0x2df048(0xaf)][_0x2df048(0xd6)](_0x2df048(0xc2),_0x4fc6bb[_0x2df048(0xd5)]),_0x484570['searchParams'][_0x2df048(0xd6)](_0x2df048(0x11d),_0x2df048(0x114)),_0x484570[_0x2df048(0xaf)][_0x2df048(0xd6)](_0x2df048(0xdf),_0x4fc6bb[_0x2df048(0xdf)]),_0x484570['searchParams'][_0x2df048(0xd6)](_0x2df048(0xbb),_0x5ac667),_0x484570[_0x2df048(0xaf)]['set'](_0x2df048(0xb0),_0x1a5c36),_0x484570[_0x2df048(0xaf)][_0x2df048(0xd6)](_0x2df048(0xc7),_0x2df048(0xc0));const _0x2557c7=listenForCallback(_0x4fc6bb['redirectUri'],_0x5ac667);console['log'](_0x2df048(0xe9)+_0x484570[_0x2df048(0xbd)]()+'\x0a');_0x4fc6bb['openBrowser']?openUrl(_0x484570[_0x2df048(0xbd)]()):console[_0x2df048(0xad)](_0x2df048(0xae));const _0x28fee5=await _0x2557c7;process[_0x2df048(0xa2)][_0x2df048(0xd9)](_0x2df048(0xd1));const _0xd73bfc=await exchangeCodeForToken(_0x28050a,_0x4fc6bb[_0x2df048(0x10a)],_0x4fc6bb['redirectUri'],_0x28fee5,_0x36f40b);process['stdout'][_0x2df048(0xd9)](_0x2df048(0xda));let _0x2b03e4;try{_0x2b03e4=await fetchUserInfo(_0x28050a,_0xd73bfc['access_token']);}catch(_0x35720d){const _0x40cb5d=axios_1['default']['isAxiosError'](_0x35720d)?_0x2df048(0x119)+(_0x35720d['response']?.[_0x2df048(0xf9)]??_0x35720d[_0x2df048(0x114)]??'unknown'):_0x35720d instanceof Error?_0x35720d[_0x2df048(0xcc)]:String(_0x35720d);process[_0x2df048(0xb7)]['write'](_0x2df048(0xc1)+_0x40cb5d+_0x2df048(0x116));}const _0x5ce687=buildSessionFromToken({'endpoint':_0x28050a,'client_id':_0x4fc6bb[_0x2df048(0x10a)],'redirect_uri':_0x4fc6bb[_0x2df048(0xd5)],'scope':_0x4fc6bb[_0x2df048(0xdf)]},_0xd73bfc,_0x2b03e4);return(0x0,config_1[_0x2df048(0x115)])(_0x4fc6bb[_0x2df048(0xff)],_0x5ce687),_0x5ce687;}function _0x1d8e(_0x245030,_0xc1f052){_0x245030=_0x245030-0xa1;const _0x16f449=_0x16f4();let _0x1d8e12=_0x16f449[_0x245030];if(_0x1d8e['OKPqsC']===undefined){var _0x352226=function(_0x528049){const _0x113b95='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x529b7c='',_0x174e81='';for(let _0x2736c5=0x0,_0x740e58,_0x6ad595,_0x393ddf=0x0;_0x6ad595=_0x528049['charAt'](_0x393ddf++);~_0x6ad595&&(_0x740e58=_0x2736c5%0x4?_0x740e58*0x40+_0x6ad595:_0x6ad595,_0x2736c5++%0x4)?_0x529b7c+=String['fromCharCode'](0xff&_0x740e58>>(-0x2*_0x2736c5&0x6)):0x0){_0x6ad595=_0x113b95['indexOf'](_0x6ad595);}for(let _0x289185=0x0,_0x377925=_0x529b7c['length'];_0x289185<_0x377925;_0x289185++){_0x174e81+='%'+('00'+_0x529b7c['charCodeAt'](_0x289185)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x174e81);};_0x1d8e['KPSPgT']=_0x352226,_0x1d8e['loBPST']={},_0x1d8e['OKPqsC']=!![];}const _0x133905=_0x16f449[0x0],_0x56599c=_0x245030+_0x133905,_0x3aa360=_0x1d8e['loBPST'][_0x56599c];return!_0x3aa360?(_0x1d8e12=_0x1d8e['KPSPgT'](_0x1d8e12),_0x1d8e['loBPST'][_0x56599c]=_0x1d8e12):_0x1d8e12=_0x3aa360,_0x1d8e12;}function isOAuthAccessTokenFresh(_0x1f3067,_0x1478eb=0x3c){const _0x4b7878=_0x24bf7d;if(!_0x1f3067[_0x4b7878(0xed)])return!![];return new Date(_0x1f3067[_0x4b7878(0xed)])[_0x4b7878(0xbc)]()-Date[_0x4b7878(0xee)]()>_0x1478eb*0x3e8;}async function refreshOAuthSession(_0x58b44c){const _0x1653a8=_0x24bf7d,_0x32eab1=(0x0,config_1['getOAuthSession'])(_0x58b44c);if(!_0x32eab1)throw new Error(_0x1653a8(0xdd));const _0x46fb9f=await exchangeRefreshToken(_0x32eab1[_0x1653a8(0xcb)]),_0xd9392f={..._0x32eab1[_0x1653a8(0xcb)],...buildSessionFromToken({'endpoint':_0x32eab1[_0x1653a8(0xcb)][_0x1653a8(0xc9)],'client_id':_0x32eab1[_0x1653a8(0xcb)][_0x1653a8(0xd2)],'redirect_uri':_0x32eab1[_0x1653a8(0xcb)][_0x1653a8(0xc2)],'scope':_0x32eab1[_0x1653a8(0xcb)][_0x1653a8(0xdf)]},_0x46fb9f,_0x32eab1['session']['user']?{'sub':_0x32eab1[_0x1653a8(0xcb)]['user']['id'],'name':_0x32eab1['session']['user'][_0x1653a8(0xe7)],'email':_0x32eab1[_0x1653a8(0xcb)][_0x1653a8(0xce)][_0x1653a8(0xec)],'roles':_0x32eab1['session'][_0x1653a8(0xce)]['roles']}:undefined),'refresh_token':_0x46fb9f[_0x1653a8(0xaa)]??_0x32eab1[_0x1653a8(0xcb)][_0x1653a8(0xaa)]};return(0x0,config_1[_0x1653a8(0x115)])(_0x32eab1[_0x1653a8(0xe7)],_0xd9392f),_0xd9392f;}async function getValidOAuthAccessToken(_0x26a532){const _0x422fea=_0x24bf7d,_0x4fb5b1=(0x0,config_1[_0x422fea(0xa9)])(_0x26a532);if(!_0x4fb5b1)throw new Error(_0x422fea(0xdd));if(isOAuthAccessTokenFresh(_0x4fb5b1[_0x422fea(0xcb)]))return _0x4fb5b1['session'][_0x422fea(0xb5)];const _0x2c7d48=await refreshOAuthSession(_0x4fb5b1[_0x422fea(0xe7)]);return _0x2c7d48[_0x422fea(0xb5)];}
|
|
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'];}
|
package/dist/oauth_client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const _0x12e5a8=_0x5922;(function(_0x17316d,_0x243f1a){const _0x62c82e=_0x5922,_0x51e3da=_0x17316d();while(!![]){try{const _0x4f6f48=parseInt(_0x62c82e(0x77))/0x1*(parseInt(_0x62c82e(0x83))/0x2)+parseInt(_0x62c82e(0x7f))/0x3+-parseInt(_0x62c82e(0x7e))/0x4*(parseInt(_0x62c82e(0x84))/0x5)+-parseInt(_0x62c82e(0x7d))/0x6+parseInt(_0x62c82e(0x66))/0x7+parseInt(_0x62c82e(0x7a))/0x8+-parseInt(_0x62c82e(0x7b))/0x9*(parseInt(_0x62c82e(0x85))/0xa);if(_0x4f6f48===_0x243f1a)break;else _0x51e3da['push'](_0x51e3da['shift']());}catch(_0x35292f){_0x51e3da['push'](_0x51e3da['shift']());}}}(_0x1d24,0xa4683));var __importDefault=this&&this[_0x12e5a8(0x6d)]||function(_0x13f8c3){return _0x13f8c3&&_0x13f8c3['__esModule']?_0x13f8c3:{'default':_0x13f8c3};};Object['defineProperty'](exports,_0x12e5a8(0x79),{'value':!![]}),exports[_0x12e5a8(0x68)]=oauthApiClient;function _0x1d24(){const _0x13a030=['ndu5mtm4nfjSufzoDG','qxbPrxjYB3i','B2f1DgHbCgLdBgLLBNq','zgvMyxvSDa','DxnL','B2jQzwn0','revgqvvmvf9bueLFr0furvDbwv9ftKrqt0Lova','x19PBxbVCNrezwzHDwX0','y3jLyxrL','Aw50zxjJzxb0B3jZ','5PYn5yQH5zMO6zsz6k+V77Ym6k+356In5zco6yEn6k+v','CMvWBgfJzq','yxHPB3m','572r57UC6zsz6k+V77Ym5PEG5Rov6l+E5O6LiefqssbhyxrLD2f577YA','lI9LBNy','zw52','yxbWBgLJyxrPB24VANnVBG','mvDuswP1uG','6lwe5RQq5lIn5A2y5zYO','x19LC01VzhvSzq','ntm4mZeWnhfcAgTvra','mJDpDhfoz2C','CMvZCg9UC2u','mZq5ota4mgfjvvDgqG','ndG1ntG5mM52wg5iwq','mZy5mZGZnfnNwfnUwG','BwvZC2fNzq','C3rHDhvZ','qMvHCMvYia','odiYntrNtgjdExi','nxzZs2Llsq','ndm1ndCWEgn0uMfr'];_0x1d24=function(){return _0x13a030;};return _0x1d24();}function _0x5922(_0x146cba,_0x28bdc2){_0x146cba=_0x146cba-0x66;const _0x1d24b8=_0x1d24();let _0x592298=_0x1d24b8[_0x146cba];if(_0x5922['GNkOBM']===undefined){var _0x858145=function(_0x41d986){const _0x360431='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13f8c3='',_0x563460='';for(let _0x3d6712=0x0,_0xb037b2,_0xcc3ae7,_0x154bbb=0x0;_0xcc3ae7=_0x41d986['charAt'](_0x154bbb++);~_0xcc3ae7&&(_0xb037b2=_0x3d6712%0x4?_0xb037b2*0x40+_0xcc3ae7:_0xcc3ae7,_0x3d6712++%0x4)?_0x13f8c3+=String['fromCharCode'](0xff&_0xb037b2>>(-0x2*_0x3d6712&0x6)):0x0){_0xcc3ae7=_0x360431['indexOf'](_0xcc3ae7);}for(let _0x5ce7a6=0x0,_0x279a22=_0x13f8c3['length'];_0x5ce7a6<_0x279a22;_0x5ce7a6++){_0x563460+='%'+('00'+_0x13f8c3['charCodeAt'](_0x5ce7a6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x563460);};_0x5922['ETaDsj']=_0x858145,_0x5922['rUZDHP']={},_0x5922['GNkOBM']=!![];}const _0x3b4a8c=_0x1d24b8[0x0],_0xae61cc=_0x146cba+_0x3b4a8c,_0x25de59=_0x5922['rUZDHP'][_0xae61cc];return!_0x25de59?(_0x592298=_0x5922['ETaDsj'](_0x592298),_0x5922['rUZDHP'][_0xae61cc]=_0x592298):_0x592298=_0x25de59,_0x592298;}const axios_1=__importDefault(require(_0x12e5a8(0x72))),env_1=require(_0x12e5a8(0x74)),oauth_1=require('./oauth'),client_1=require('./client');function httpErrorMessage(_0x563460,_0x3d6712){const _0x6fe035=_0x12e5a8;if(_0x3d6712&&typeof _0x3d6712===_0x6fe035(0x6b)&&_0x6fe035(0x80)in _0x3d6712)return String(_0x3d6712['message']);switch(_0x563460){case 0x191:return'OAuth\x20鉴权失败,请运行\x20mplus\x20login\x20重新登录';case 0x193:return'你没有访问该资源的权限';case 0x194:return _0x6fe035(0x78);default:if(_0x563460>=0x1f4)return _0x6fe035(0x70);return'请求失败(HTTP\x20'+_0x563460+')';}}async function oauthApiClient(_0xb037b2){const _0x2465e5=_0x12e5a8,_0xcc3ae7=await(0x0,oauth_1['getValidOAuthAccessToken'])(_0xb037b2),_0x154bbb=(process[_0x2465e5(0x75)]['MPLUS_API_GATEWAY_ENDPOINT']??env_1[_0x2465e5(0x6c)])[_0x2465e5(0x71)](/\/$/,''),_0x5ce7a6=axios_1[_0x2465e5(0x69)][_0x2465e5(0x6e)]({'baseURL':_0x154bbb,'headers':{'Authorization':_0x2465e5(0x82)+_0xcc3ae7,'Content-Type':_0x2465e5(0x76),'Accept':_0x2465e5(0x76)},'timeout':0x7530});return _0x5ce7a6[_0x2465e5(0x6f)][_0x2465e5(0x7c)][_0x2465e5(0x6a)](_0x279a22=>_0x279a22,_0x57869a=>{const _0x666165=_0x2465e5;if(_0x57869a[_0x666165(0x7c)])throw new client_1[(_0x666165(0x67))](httpErrorMessage(_0x57869a[_0x666165(0x7c)]['status'],_0x57869a[_0x666165(0x7c)]['data']),_0x57869a['response'][_0x666165(0x81)]);if(_0x57869a['request'])throw new client_1[(_0x666165(0x67))](_0x666165(0x73)+_0x57869a[_0x666165(0x80)]);throw new client_1[(_0x666165(0x67))](_0x57869a[_0x666165(0x80)]);}),_0x5ce7a6;}
|
package/dist/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var _0x1a1848=_0x379c;function _0x348b(){var _0x190cee=['mtGWDNnovwLQ','zgvMAw5LuhjVCgvYDhK','mZe2wNH3svPi','y29TBwfUzfjVBgvZ','mZmXodqYu1b2DejK','mK1MzevNua','nJm5mZiWnu11qNnHBW','mJG5mJbgs1bTvhq','ndqZnte4u3PhAwTO','ndCWnZqYmenwAgLkBa','nde3mJi0B29pD2n2','odCZmty2n3LryuPOvW','x19LC01VzhvSzq'];_0x348b=function(){return _0x190cee;};return _0x348b();}(function(_0x535e98,_0x4c9dee){var _0x514a16=_0x379c,_0x4cfd48=_0x535e98();while(!![]){try{var _0xebb08a=parseInt(_0x514a16(0xbc))/0x1*(parseInt(_0x514a16(0xc6))/0x2)+-parseInt(_0x514a16(0xbb))/0x3*(-parseInt(_0x514a16(0xc3))/0x4)+-parseInt(_0x514a16(0xba))/0x5+parseInt(_0x514a16(0xc5))/0x6+parseInt(_0x514a16(0xbf))/0x7+-parseInt(_0x514a16(0xbe))/0x8*(parseInt(_0x514a16(0xc1))/0x9)+parseInt(_0x514a16(0xbd))/0xa;if(_0xebb08a===_0x4c9dee)break;else _0x4cfd48['push'](_0x4cfd48['shift']());}catch(_0x3f284d){_0x4cfd48['push'](_0x4cfd48['shift']());}}}(_0x348b,0xa05a7));function _0x379c(_0x4874f8,_0x4032b6){_0x4874f8=_0x4874f8-0xba;var _0x348bb3=_0x348b();var _0x379cd7=_0x348bb3[_0x4874f8];if(_0x379c['pNNufJ']===undefined){var _0x4f1c5d=function(_0x254b06){var _0x588e6b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3b0146='',_0x3fc951='';for(var _0x4b547f=0x0,_0x147689,_0x31b227,_0x5cf6a3=0x0;_0x31b227=_0x254b06['charAt'](_0x5cf6a3++);~_0x31b227&&(_0x147689=_0x4b547f%0x4?_0x147689*0x40+_0x31b227:_0x31b227,_0x4b547f++%0x4)?_0x3b0146+=String['fromCharCode'](0xff&_0x147689>>(-0x2*_0x4b547f&0x6)):0x0){_0x31b227=_0x588e6b['indexOf'](_0x31b227);}for(var _0x9d4604=0x0,_0x577bb0=_0x3b0146['length'];_0x9d4604<_0x577bb0;_0x9d4604++){_0x3fc951+='%'+('00'+_0x3b0146['charCodeAt'](_0x9d4604)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3fc951);};_0x379c['OTokRZ']=_0x4f1c5d,_0x379c['RFmceC']={},_0x379c['pNNufJ']=!![];}var _0x5aa889=_0x348bb3[0x0],_0x334063=_0x4874f8+_0x5aa889,_0x275acf=_0x379c['RFmceC'][_0x334063];return!_0x275acf?(_0x379cd7=_0x379c['OTokRZ'](_0x379cd7),_0x379c['RFmceC'][_0x334063]=_0x379cd7):_0x379cd7=_0x275acf,_0x379cd7;}Object[_0x1a1848(0xc2)](exports,_0x1a1848(0xc0),{'value':!![]}),exports[_0x1a1848(0xc4)]=void 0x0,exports[_0x1a1848(0xc4)]=new Map();
|
package/package.json
CHANGED
|
@@ -14,7 +14,7 @@ metadata:
|
|
|
14
14
|
## 核心概念
|
|
15
15
|
|
|
16
16
|
- **startup_project**: 创业项目记录,包含申请材料(application_content)和面试材料(interview_content)
|
|
17
|
-
- **batch**:
|
|
17
|
+
- **batch**: 加速营批次,每期一个批次名(格式 `<YY><季节>`,小写。季节:`s`=春季批、`a`=秋季批。例如 "25s"=2025 春、"25a"=2025 秋、"26s"=2026 春)
|
|
18
18
|
- **addition**: 补充材料标记,表示该记录是否为补充提交的材料
|
|
19
19
|
|
|
20
20
|
## 资源关系
|
|
@@ -45,5 +45,5 @@ admission 命令使用 OAuth 认证(非 API Key),需要先执行 `mplus lo
|
|
|
45
45
|
1. **先查列表再取详情**:不确定 project_id 时,先用 `list` 命令查找,再用 `get` 获取完整内容
|
|
46
46
|
2. **始终加 `--json`**:需要解析数据时必须使用 JSON 格式,默认文本格式会截断材料内容(只显示长度)
|
|
47
47
|
3. **分页策略**:先不带过滤条件查看 `total`,了解数据规模后再决定是否需要翻页或加过滤条件
|
|
48
|
-
4. **批次过滤**:如果用户提到具体批次(如 "
|
|
48
|
+
4. **批次过滤**:如果用户提到具体批次(如 "26s 的项目"),使用 `--batch-name` 过滤
|
|
49
49
|
5. **补充材料**:`--addition true` 只返回补充提交的记录,`--addition false` 只返回初始提交
|
|
@@ -10,16 +10,16 @@
|
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
12
|
# 查询单个项目(默认只看初始提交)
|
|
13
|
-
mplus admission startup-projects get
|
|
13
|
+
mplus admission startup-projects get 87575
|
|
14
14
|
|
|
15
15
|
# JSON 格式输出(AI Agent 推荐)
|
|
16
|
-
mplus admission startup-projects get
|
|
16
|
+
mplus admission startup-projects get 87575 --json
|
|
17
17
|
|
|
18
18
|
# 查看补充材料版本
|
|
19
|
-
mplus admission startup-projects get
|
|
19
|
+
mplus admission startup-projects get 87575 --addition true --json
|
|
20
20
|
|
|
21
21
|
# 使用指定 OAuth session
|
|
22
|
-
mplus admission startup-projects get
|
|
22
|
+
mplus admission startup-projects get 87575 --session work --json
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
## 参数
|
|
@@ -39,8 +39,8 @@ mplus admission startup-projects get proj_abc123 --session work --json
|
|
|
39
39
|
|
|
40
40
|
```json
|
|
41
41
|
{
|
|
42
|
-
"project_id": "
|
|
43
|
-
"batch_name": "
|
|
42
|
+
"project_id": "87575",
|
|
43
|
+
"batch_name": "26s",
|
|
44
44
|
"application_content": "完整的申请材料文本...",
|
|
45
45
|
"interview_content": "完整的面试材料文本...",
|
|
46
46
|
"addition": false
|
|
@@ -58,8 +58,8 @@ mplus admission startup-projects get proj_abc123 --session work --json
|
|
|
58
58
|
### 默认文本格式
|
|
59
59
|
|
|
60
60
|
```
|
|
61
|
-
项目 ID:
|
|
62
|
-
批次:
|
|
61
|
+
项目 ID:87575
|
|
62
|
+
批次:26s
|
|
63
63
|
补充材料:否
|
|
64
64
|
申请材料长度:3456
|
|
65
65
|
面试材料长度:2100
|
|
@@ -16,7 +16,7 @@ mplus admission startup-projects list
|
|
|
16
16
|
mplus admission startup-projects list --json
|
|
17
17
|
|
|
18
18
|
# 按批次过滤
|
|
19
|
-
mplus admission startup-projects list --batch-name "
|
|
19
|
+
mplus admission startup-projects list --batch-name "26s"
|
|
20
20
|
|
|
21
21
|
# 只看补充材料
|
|
22
22
|
mplus admission startup-projects list --addition true
|
|
@@ -25,13 +25,13 @@ mplus admission startup-projects list --addition true
|
|
|
25
25
|
mplus admission startup-projects list --addition false
|
|
26
26
|
|
|
27
27
|
# 按项目 ID 精确查询
|
|
28
|
-
mplus admission startup-projects list --project-id "
|
|
28
|
+
mplus admission startup-projects list --project-id "87575"
|
|
29
29
|
|
|
30
30
|
# 分页:第 2 页,每页 50 条
|
|
31
31
|
mplus admission startup-projects list --page 2 --page-size 50
|
|
32
32
|
|
|
33
33
|
# 组合过滤 + 分页 + JSON
|
|
34
|
-
mplus admission startup-projects list --batch-name "
|
|
34
|
+
mplus admission startup-projects list --batch-name "25a" --addition false --page 1 --page-size 10 --json
|
|
35
35
|
|
|
36
36
|
# 使用指定 OAuth session
|
|
37
37
|
mplus admission startup-projects list --session work --json
|
|
@@ -41,7 +41,7 @@ mplus admission startup-projects list --session work --json
|
|
|
41
41
|
|
|
42
42
|
| 参数 | 必填 | 类型 | 默认值 | 说明 |
|
|
43
43
|
|------|------|------|--------|------|
|
|
44
|
-
| `--batch-name <name>` | 否 | string | — |
|
|
44
|
+
| `--batch-name <name>` | 否 | string | — | 按批次名过滤(精确匹配,格式 `<YY><季节>` 小写,季节:`s`=春、`a`=秋,如 `"25a"`、`"26s"`) |
|
|
45
45
|
| `--addition <bool>` | 否 | string | — | 按补充材料过滤:`true` 只返回补充提交,`false` 只返回初始提交 |
|
|
46
46
|
| `--project-id <id>` | 否 | string | — | 按 project_id 精确过滤 |
|
|
47
47
|
| `--page <number>` | 否 | string | `"1"` | 页码,从 1 开始 |
|
|
@@ -62,8 +62,8 @@ mplus admission startup-projects list --session work --json
|
|
|
62
62
|
"page_size": 20,
|
|
63
63
|
"items": [
|
|
64
64
|
{
|
|
65
|
-
"project_id": "
|
|
66
|
-
"batch_name": "
|
|
65
|
+
"project_id": "87575",
|
|
66
|
+
"batch_name": "26s",
|
|
67
67
|
"application_content": "完整的申请材料文本...",
|
|
68
68
|
"interview_content": "完整的面试材料文本...",
|
|
69
69
|
"addition": false
|
|
@@ -91,14 +91,14 @@ mplus admission startup-projects list --session work --json
|
|
|
91
91
|
```
|
|
92
92
|
共 156 条,当前第 1 页,每页 20 条
|
|
93
93
|
|
|
94
|
-
项目 ID:
|
|
95
|
-
批次:
|
|
94
|
+
项目 ID:87575
|
|
95
|
+
批次:26s
|
|
96
96
|
补充材料:否
|
|
97
97
|
申请材料长度:3456
|
|
98
98
|
面试材料长度:2100
|
|
99
99
|
|
|
100
|
-
项目 ID:
|
|
101
|
-
批次:
|
|
100
|
+
项目 ID:87611
|
|
101
|
+
批次:26s
|
|
102
102
|
补充材料:是
|
|
103
103
|
申请材料长度:0
|
|
104
104
|
面试材料长度:1800
|
|
@@ -140,7 +140,7 @@ mplus admission startup-projects list --json --page 3 --page-size 20
|
|
|
140
140
|
1. **获取完整材料内容**:必须加 `--json`。默认文本格式只显示材料长度(字符数),不显示实际内容
|
|
141
141
|
2. **大批量数据**:先查一次不带过滤条件看 `total`,再决定分页策略。如果 total 很大,优先加过滤条件缩小范围
|
|
142
142
|
3. **查找特定项目**:如果知道 project_id,直接用 `--project-id` 过滤(或用 `get` 子命令)
|
|
143
|
-
4.
|
|
143
|
+
4. **批次名格式**:`<YY><季节>` 小写,年份在前。季节字母:`s`=春季批、`a`=秋季批。例如 `26s`=2026 春季批、`25a`=2025 秋季批。已观察到 `20a`、`22s`/`22a`、`23s`/`23a`、`24s`/`24a`、`25s`/`25a`、`26s`。`--batch-name` 精确匹配,注意大小写
|
|
144
144
|
5. **材料为 null 的情况**:`application_content` 或 `interview_content` 为 null 表示该阶段材料尚未提交
|
|
145
145
|
|
|
146
146
|
## 参考
|