@funny-booth/agent-core 0.1.3 → 0.1.4
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/index.js +1 -1
- package/dist/launcher.js +1 -1
- package/dist/prompt.js +61 -0
- package/dist/vault.js +115 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const _0x30b00e=_0x47b2;(function(_0x5b14b2,_0x11a67f){const _0x5fbb4d=_0x47b2,_0x11c33a=_0x5b14b2();while(!![]){try{const _0x3a6205=parseInt(_0x5fbb4d(0xfe))/0x1+parseInt(_0x5fbb4d(0x140))/0x2+parseInt(_0x5fbb4d(0x12d))/0x3*(-parseInt(_0x5fbb4d(0xef))/0x4)+-parseInt(_0x5fbb4d(0xf1))/0x5+parseInt(_0x5fbb4d(0x126))/0x6*(parseInt(_0x5fbb4d(0xe6))/0x7)+-parseInt(_0x5fbb4d(0x11d))/0x8*(-parseInt(_0x5fbb4d(0xfd))/0x9)+parseInt(_0x5fbb4d(0x137))/0xa*(-parseInt(_0x5fbb4d(0x148))/0xb);if(_0x3a6205===_0x11a67f)break;else _0x11c33a['push'](_0x11c33a['shift']());}catch(_0x23fd72){_0x11c33a['push'](_0x11c33a['shift']());}}}(_0x10b9,0x73fa2));Object['defineProperty'](exports,'__esModule',{'value':!![]});const mcp_js_1=require('@modelcontextprotocol/sdk/server/mcp.js'),stdio_js_1=require('@modelcontextprotocol/sdk/server/stdio.js'),zod_1=require(_0x30b00e(0x115)),child_process_1=require(_0x30b00e(0x135)),fs_1=require('fs'),os_1=require('os'),path_1=require(_0x30b00e(0x103)),CONFIG_DIR=(0x0,path_1[_0x30b00e(0xf9)])((0x0,os_1[_0x30b00e(0x123)])(),_0x30b00e(0x113),_0x30b00e(0x127)),SETUP_TOKEN_FILE=(0x0,path_1['join'])(CONFIG_DIR,_0x30b00e(0xec)),AUTH_FILE=(0x0,path_1[_0x30b00e(0xf9)])(CONFIG_DIR,_0x30b00e(0x132)),AUTH_FILE_TMP=(0x0,path_1[_0x30b00e(0xf9)])(CONFIG_DIR,_0x30b00e(0x10f)),rawArgs=process['argv']['slice'](0x2),isAuthCommand=rawArgs[0x0]==='auth',parsedArgs=isAuthCommand?rawArgs[_0x30b00e(0x122)](0x1):rawArgs;let cliPortalUrl='',cliToken='';for(const arg of parsedArgs){const eqIdx=arg[_0x30b00e(0x144)]('=');if(eqIdx===-0x1)continue;const key=arg[_0x30b00e(0x122)](0x0,eqIdx),val=arg['slice'](eqIdx+0x1);if(key==='--portal-url')cliPortalUrl=val;if(key===_0x30b00e(0x10d))cliToken=val;}function _0x47b2(_0x345981,_0x6b27bf){_0x345981=_0x345981-0xe2;const _0x10b919=_0x10b9();let _0x47b260=_0x10b919[_0x345981];if(_0x47b2['OLoOFp']===undefined){var _0x122719=function(_0x5d3157){const _0x2e5d73='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xaadd45='',_0x423872='';for(let _0x180f6c=0x0,_0xd86db2,_0x59d0da,_0x1575da=0x0;_0x59d0da=_0x5d3157['charAt'](_0x1575da++);~_0x59d0da&&(_0xd86db2=_0x180f6c%0x4?_0xd86db2*0x40+_0x59d0da:_0x59d0da,_0x180f6c++%0x4)?_0xaadd45+=String['fromCharCode'](0xff&_0xd86db2>>(-0x2*_0x180f6c&0x6)):0x0){_0x59d0da=_0x2e5d73['indexOf'](_0x59d0da);}for(let _0x1b2173=0x0,_0x3a4c85=_0xaadd45['length'];_0x1b2173<_0x3a4c85;_0x1b2173++){_0x423872+='%'+('00'+_0xaadd45['charCodeAt'](_0x1b2173)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x423872);};_0x47b2['fVoJaz']=_0x122719,_0x47b2['spnQzq']={},_0x47b2['OLoOFp']=!![];}const _0x2c70df=_0x10b919[0x0],_0x12aac1=_0x345981+_0x2c70df,_0x1b581e=_0x47b2['spnQzq'][_0x12aac1];return!_0x1b581e?(_0x47b260=_0x47b2['fVoJaz'](_0x47b260),_0x47b2['spnQzq'][_0x12aac1]=_0x47b260):_0x47b260=_0x1b581e,_0x47b260;}function readAuthData(){const _0x6a67d2=_0x30b00e;if(!(0x0,fs_1[_0x6a67d2(0x111)])(AUTH_FILE))return null;try{return JSON[_0x6a67d2(0x108)]((0x0,fs_1[_0x6a67d2(0x124)])(AUTH_FILE,_0x6a67d2(0x12e)));}catch{return null;}}function isJwtExpired(_0x4f04d1){const _0x4661aa=_0x30b00e,_0x1d2e85={'slvVO':_0x4661aa(0x12a)};try{const _0x495e05=JSON[_0x4661aa(0x108)](Buffer['from'](_0x4f04d1[_0x4661aa(0x11e)]('.')[0x1],_0x1d2e85[_0x4661aa(0xf8)])[_0x4661aa(0xe5)]());return _0x495e05['exp']*0x3e8<Date[_0x4661aa(0x10a)]()+0xea60;}catch{return!![];}}async function exchangeToken(_0x81de23,_0x3f3a19){const _0x5de253=_0x30b00e;try{const _0x15d4cf=await fetch(_0x81de23+_0x5de253(0xe4),{'method':'POST','headers':{'Content-Type':_0x5de253(0xf3)},'body':JSON[_0x5de253(0xf6)]({'setup_token':_0x3f3a19})});if(!_0x15d4cf['ok'])return null;const _0x41a8b8=await _0x15d4cf[_0x5de253(0x13c)]();return _0x41a8b8[_0x5de253(0xf4)]??null;}catch{return null;}}function _0x10b9(){const _0x35bfe0=['BwTKAxjtEw5J','BwLU','4PYfioIQJEIOVoobJowUJos6HUobL+obVUobL+obN+oaGUocQoodVoocUoocP+odS+odIoocKUs9V+EuQoobP+obJEobVUobMEoaGGO','rxzVqKe','6kQn6kI844kO44oP44o8oIdJGRVJG4pJG4JJGQlJG4pJG5FJGyZLROZKUOBJGzFJGABJGytJGB7JGzVJGPpJGilNRQhNKiBOGixJGAVPGkpNTAhJGzFJGABJGy/JGAdJGzxJGytJGii','CMvJB3jK','mtiZnduYoe1TzxrSDW','C3bSAxq','u3rKAw9tzxj2zxjuCMfUC3bVCNq','Cg9YDgfSx3vYBa','twnWu2vYDMvY','C2XPy2u','Ag9TzwrPCG','CMvHzezPBgvtEw5J','Aw5ZDgfSBf9JB21Tyw5K','ntiWnJi5mhHRBvnYCG','ywDLBNqTy29Yzq','l2fWAs9Ty3bZl2LUC3rHBgW','C3rKB3v0','yMfZzty0DxjS','5PAW44gx44ge44or44k544oV44o844oj77YiooAwH+wTL+s7PEs4IU+8Iq','l2fWAs9HDxrOl2nOyw5Nzs1WyxnZD29Yza','owvsEMr6sa','DxrMltG','zgzWsfO','44kO44oP44o8oIa','Dgv4Da','yxv0Ac5QC29U','54++5zYO44gU44or44k544oV44o844oj','mc4XlJa','y2HPBgrFChjVy2vZCW','zxjYB3i','mti2odmWrervvhPM','Bg9Hzf9RBM93BgvKz2u','y3DIAxe','l2fWAs9RBM93BgvKz2u/A2v5D29Yzd0','qMvHCMvYia','ANnVBG','44kK44oZ44k544oi44o844oR5AsX5PwxoGO','C3rYAw5N','CMvUyw1Lu3LUyW','nJaZndeWCu54AfHW','r1HHAgS','qvbj44kO44oP44o8oIa','y2HHBMDLx3bHC3n3B3jK','Aw5KzxHpzG','zxHPDa','ioobRUocPoodS+ocUEodIoodVoodQ+obJowUJos6HUobL+obVUobL+obN+oaGKnSyxvKzsbdB2rL44ks5yAn6lw35yUv44gx44gM44gp44gG44gv44ge44cccGRLRP/OOyZJGRpJG57JG7pJG4K6ia','C3rKzxjY','ntm5BMnAs1br','uKnPChu','zg1Sz2O','l2fWAs9HDxrOl2v4y2HHBMDL','Dg9tDhjPBMC','n2LVENjNEa','s25VD2XLzgDL44kT44o844oV44o844oj77Yi5l6loIbau2fSzxncB3rF6kAb5lU25A6A576P77Yj','seLhuuS','Cg9YDgfSvxjS','D3jPDgu','yMLUza','C2v0DxbFDg9Rzw4','zNDtrue','zxHLyW','oda1nJKYrevqsMr6','zg1TCMC','ndy3nZKXnw55s2zguG','44kK44oZ44k544oi44o844oR44kZ44oE44oZ44oj44ks5y+w5B6x44gN44gn44g+44gB44kt44gN44gx44gF','yxbWBgLJyxrPB24VANnVBG','AND0','C3rHDhvZ','C3rYAw5NAwz5','CMHnDha','C2X2vK8','AM9PBG','B3b0Aw9UywW','6kQn6kI844kO44oP44o8oIdJG4JJG7ZJGQ/JG7pJGyZNHkhLIRNJGyVJGihJGRxJG7ZJG5dJG7ZJGAVMJQxNTPRJGAFJGy3JGB7JGzVJGPmk','44kK44oZ44k544oi44o844oR44gz44kltunq44gUsuq','mZzSqxjnDwm','odq5nJC3C0Pwy2zV','44or44k544oV44o844oj44ks5Asj5PU044gx44g+44gx44gF','Dg9VBa','BMfTzq','ue9tva','Cgf0Aa','rMf0ywW6ia','jYdJGAVLR77LV5ZJGzNJGOTlBM93BgvKz2xJGyZOPOVJGAtJGyVJGORJGB7JGzVJGPpJGAFJGzFJGz/JGilNRQhNKiBOGixJGAVJGyRLLy/JGytLKiJJGO/JGzVJGy/JGAdJGzxJGytJGii','y29UDgvUDa','l2fWAs9Ty3bZ','CgfYC2u','BKf5q3e','BM93','Ag94vKS','y2f0y2G','ls10B2TLBG','55kW5Akd5Asj5PwW77Yi5l6loIb7r01bsuXFve9lru46icD4EhGNFE+8Iq','yxv0Ac5QC29UlNrTCa','D3jPDgvgAwXLu3LUyW','zxHPC3rZu3LUyW','zgvZy3jPyMu','lMnVBMzPzW','y29UBMvJDa','EM9K','Eej2BwC'];_0x10b9=function(){return _0x35bfe0;};return _0x10b9();}function saveAuthData(_0xa5509e){const _0x361066=_0x30b00e,_0x595aa9={'nAyCq':_0x361066(0x12e)};if(!(0x0,fs_1['existsSync'])(CONFIG_DIR))(0x0,fs_1[_0x361066(0x117)])(CONFIG_DIR,{'recursive':!![],'mode':0x1c0});(0x0,fs_1['writeFileSync'])(AUTH_FILE_TMP,JSON[_0x361066(0xf6)](_0xa5509e),{'encoding':_0x595aa9[_0x361066(0x109)],'mode':0x180}),(0x0,fs_1[_0x361066(0x13f)])(AUTH_FILE_TMP,AUTH_FILE);}async function getValidJwt(){const _0x4ff916=_0x30b00e,_0x4327df={'dmlgj':function(_0x5bd9db,_0x1c0f52){return _0x5bd9db(_0x1c0f52);},'dmmrg':function(_0x2b6ab5,_0x4b60b8,_0x24fc2a){return _0x2b6ab5(_0x4b60b8,_0x24fc2a);}},_0x33bb8c=readAuthData();if(!_0x33bb8c)return null;if(!_0x4327df[_0x4ff916(0xe3)](isJwtExpired,_0x33bb8c[_0x4ff916(0xf4)]))return{'jwt':_0x33bb8c['jwt'],'portalUrl':_0x33bb8c['portal_url']};if(!(0x0,fs_1[_0x4ff916(0x111)])(SETUP_TOKEN_FILE))return null;const _0x1f17a3=(0x0,fs_1[_0x4ff916(0x124)])(SETUP_TOKEN_FILE,_0x4ff916(0x12e))['trim'](),_0x21152f=await _0x4327df[_0x4ff916(0xf0)](exchangeToken,_0x33bb8c[_0x4ff916(0x120)],_0x1f17a3);if(!_0x21152f)return null;return _0x4327df[_0x4ff916(0xe3)](saveAuthData,{'jwt':_0x21152f,'portal_url':_0x33bb8c[_0x4ff916(0x120)]}),{'jwt':_0x21152f,'portalUrl':_0x33bb8c['portal_url']};}async function runAuthCommand(){const _0x52b4c2=_0x30b00e,_0xa5d612={'tAXur':function(_0x2c9949,_0x289f04){return _0x2c9949||_0x289f04;},'rhMtp':function(_0x414d28,_0x199cb0,_0x6923aa){return _0x414d28(_0x199cb0,_0x6923aa);},'siqqE':_0x52b4c2(0xfb),'xBvmg':_0x52b4c2(0x12e),'oGxun':function(_0x4f6c5c,_0x56829c){return _0x4f6c5c(_0x56829c);}};_0xa5d612['tAXur'](!cliPortalUrl,!cliToken)&&(process[_0x52b4c2(0x147)][_0x52b4c2(0xea)]('エラー:\x20--portal-url\x20と\x20--token\x20が必要です\x0a'),process[_0x52b4c2(0x145)](0x1));const _0x559d0f=await _0xa5d612[_0x52b4c2(0xf7)](exchangeToken,cliPortalUrl,cliToken);!_0x559d0f&&(process['stderr'][_0x52b4c2(0xea)](_0xa5d612['siqqE']),process[_0x52b4c2(0x145)](0x1));if(!(0x0,fs_1[_0x52b4c2(0x111)])(CONFIG_DIR))(0x0,fs_1['mkdirSync'])(CONFIG_DIR,{'recursive':!![],'mode':0x1c0});(0x0,fs_1[_0x52b4c2(0x110)])(SETUP_TOKEN_FILE,cliToken,{'encoding':_0xa5d612[_0x52b4c2(0x116)],'mode':0x180}),_0xa5d612['oGxun'](saveAuthData,{'jwt':_0x559d0f,'portal_url':cliPortalUrl}),process[_0x52b4c2(0x129)][_0x52b4c2(0xea)](_0x52b4c2(0x119));}let PORTAL_URL='',JWT='';const AUTH_ERROR={'content':[{'type':_0x30b00e(0x131),'text':_0x30b00e(0x11b)}]},server=new mcp_js_1[(_0x30b00e(0x121))]({'name':_0x30b00e(0x127),'version':_0x30b00e(0x134)}),tool=server[_0x30b00e(0x100)][_0x30b00e(0xeb)](server);tool(_0x30b00e(0x138),{'keyword':zod_1['z']['string']()[_0x30b00e(0x112)](_0x30b00e(0xe7))},async({keyword:_0x42e2fc})=>{const _0x4e398e=_0x30b00e,_0x354a74={'dsyIR':function(_0x405977,_0x6b15f1){return _0x405977||_0x6b15f1;},'hoxVK':function(_0x2bb877,_0x1732b9,_0x36d9c6){return _0x2bb877(_0x1732b9,_0x36d9c6);},'fwSEA':function(_0x56ec01,_0x53bebf){return _0x56ec01(_0x53bebf);},'GXahk':_0x4e398e(0x131)};if(_0x354a74['dsyIR'](!JWT,!PORTAL_URL))return AUTH_ERROR;const _0xa776c7=await _0x354a74[_0x4e398e(0x10b)](fetch,PORTAL_URL+_0x4e398e(0x13a)+_0x354a74[_0x4e398e(0xed)](encodeURIComponent,_0x42e2fc),{'headers':{'Authorization':_0x4e398e(0x13b)+JWT}});if(!_0xa776c7['ok'])return{'content':[{'type':_0x354a74[_0x4e398e(0x141)],'text':_0x4e398e(0x142)+_0xa776c7[_0x4e398e(0xf5)]}]};const _0x5e8145=await _0xa776c7[_0x4e398e(0x13c)]();if(_0x5e8145[_0x4e398e(0x136)]||!_0x5e8145[_0x4e398e(0x106)])return{'content':[{'type':_0x354a74[_0x4e398e(0x141)],'text':'キーワード\x20\x27'+_0x42e2fc+_0x4e398e(0x105)}]};return{'content':[{'type':_0x354a74[_0x4e398e(0x141)],'text':_0x5e8145[_0x4e398e(0x106)]}]};}),tool('list_mcps',{},async()=>{const _0x50682f=_0x30b00e,_0x1bbcb4={'EvoBA':function(_0x31d5cd,_0x37f128,_0x3a2cfc){return _0x31d5cd(_0x37f128,_0x3a2cfc);},'qlmqS':'text'};if(!JWT||!PORTAL_URL)return AUTH_ERROR;const _0x3086cf=await _0x1bbcb4[_0x50682f(0x11a)](fetch,PORTAL_URL+_0x50682f(0x107),{'headers':{'Authorization':_0x50682f(0x13b)+JWT}});if(!_0x3086cf['ok'])return{'content':[{'type':_0x50682f(0x131),'text':_0x50682f(0x142)+_0x3086cf[_0x50682f(0xf5)]}]};const _0x49849a=await _0x3086cf[_0x50682f(0x13c)]();return{'content':[{'type':_0x1bbcb4['qlmqS'],'text':JSON[_0x50682f(0xf6)](_0x49849a,null,0x2)}]};}),tool('install_mcp',{'mcp_id':zod_1['z'][_0x30b00e(0x13e)]()[_0x30b00e(0x112)](_0x30b00e(0xfc)),'env_vars':zod_1['z'][_0x30b00e(0x11c)](zod_1['z'][_0x30b00e(0x13e)]())[_0x30b00e(0xfa)]()[_0x30b00e(0x112)](_0x30b00e(0x10e))},async({mcp_id:_0x34631c,env_vars:_0x186f34})=>{const _0xaac6da=_0x30b00e,_0x5dc67a={'dfpHZ':function(_0xd8a194,_0x11673f){return _0xd8a194||_0x11673f;},'RCipu':_0xaac6da(0x131)};if(_0x5dc67a[_0xaac6da(0x12f)](!JWT,!PORTAL_URL))return AUTH_ERROR;const _0xc34541=await fetch(PORTAL_URL+_0xaac6da(0x128),{'method':'POST','headers':{'Authorization':'Bearer\x20'+JWT,'Content-Type':_0xaac6da(0xf3)},'body':JSON[_0xaac6da(0xf6)]({'mcp_id':_0x34631c,'env_vars':_0x186f34})});if(!_0xc34541['ok'])return{'content':[{'type':_0xaac6da(0x131),'text':_0xaac6da(0x142)+_0xc34541['status']}]};const _0x30568b=await _0xc34541['json']();if(!_0x30568b[_0xaac6da(0x125)])return{'content':[{'type':_0x5dc67a[_0xaac6da(0xe2)],'text':_0xaac6da(0xf2)}]};return new Promise(_0x2afb0d=>{const _0x450a37=_0xaac6da;(0x0,child_process_1[_0x450a37(0xee)])(_0x30568b[_0x450a37(0x125)],(_0x21f51b,_0x5e3d07,_0x594f61)=>{const _0x2c2715=_0x450a37;if(_0x21f51b){_0x2afb0d({'content':[{'type':_0x2c2715(0x131),'text':_0x2c2715(0x13d)+(_0x594f61||_0x21f51b['message'])}]});return;}_0x2afb0d({'content':[{'type':'text','text':_0x30568b[_0x2c2715(0x101)]+_0x2c2715(0x146)+_0x30568b[_0x2c2715(0x125)]}]});});});}),tool(_0x30b00e(0x143),{'current_password':zod_1['z'][_0x30b00e(0x13e)]()[_0x30b00e(0x112)](_0x30b00e(0x133)),'new_password':zod_1['z'][_0x30b00e(0x13e)]()[_0x30b00e(0x118)](0x8)[_0x30b00e(0x112)](_0x30b00e(0x12b))},async({current_password:_0xece7fd,new_password:_0x19ee51})=>{const _0x33c67e=_0x30b00e,_0x2362d8={'HIGQK':_0x33c67e(0x102)};if(!JWT||!PORTAL_URL)return AUTH_ERROR;const _0x477e6f=await fetch(PORTAL_URL+_0x33c67e(0x12c),{'method':_0x2362d8[_0x33c67e(0xe8)],'headers':{'Authorization':_0x33c67e(0x13b)+JWT,'Content-Type':'application/json'},'body':JSON[_0x33c67e(0xf6)]({'current_password':_0xece7fd,'new_password':_0x19ee51})});if(!_0x477e6f['ok']){const _0x5efd8b=await _0x477e6f[_0x33c67e(0x13c)]();return{'content':[{'type':_0x33c67e(0x131),'text':_0x33c67e(0x130)+(_0x5efd8b[_0x33c67e(0x136)]??_0x477e6f[_0x33c67e(0xf5)])}]};}return{'content':[{'type':_0x33c67e(0x131),'text':_0x33c67e(0xff)}]};});async function main(){const _0x29d5ef=_0x30b00e,_0x1581fc={'wUowl':function(_0x3e62db){return _0x3e62db();},'RGMLy':'警告:\x20認証情報が見つかりません。load_knowledge等のツールは使用できません。\x0a','cwbiq':'MCP\x20Server\x20started\x0a'};if(isAuthCommand){await _0x1581fc['wUowl'](runAuthCommand);return;}if(process.env.TOOL_TOKEN&&process.env.PORTAL_URL)JWT=process.env.TOOL_TOKEN,PORTAL_URL=process.env.PORTAL_URL;else{const _0x5abf81=await getValidJwt();_0x5abf81?(JWT=_0x5abf81['jwt'],PORTAL_URL=_0x5abf81[_0x29d5ef(0xe9)]):process[_0x29d5ef(0x147)][_0x29d5ef(0xea)](_0x1581fc['RGMLy']);}const _0x2d7072=new stdio_js_1[(_0x29d5ef(0x11f))]();await server[_0x29d5ef(0x114)](_0x2d7072),process[_0x29d5ef(0x147)][_0x29d5ef(0xea)](_0x1581fc[_0x29d5ef(0x139)]);}main()[_0x30b00e(0x10c)](_0x560fbd=>{const _0x2919bb=_0x30b00e;process[_0x2919bb(0x147)][_0x2919bb(0xea)](_0x2919bb(0x104)+_0x560fbd+'\x0a'),process[_0x2919bb(0x145)](0x1);});
|
|
1
|
+
'use strict';const _0x94ef32=_0x17e7;(function(_0x40c0ae,_0xbb34b0){const _0x45f03e=_0x17e7,_0x3869b3=_0x40c0ae();while(!![]){try{const _0x253454=-parseInt(_0x45f03e(0x1c8))/0x1+parseInt(_0x45f03e(0x1ea))/0x2*(-parseInt(_0x45f03e(0x1f8))/0x3)+parseInt(_0x45f03e(0x1f0))/0x4+parseInt(_0x45f03e(0x1b8))/0x5+parseInt(_0x45f03e(0x21a))/0x6*(parseInt(_0x45f03e(0x205))/0x7)+parseInt(_0x45f03e(0x1d5))/0x8*(parseInt(_0x45f03e(0x1df))/0x9)+-parseInt(_0x45f03e(0x19a))/0xa*(parseInt(_0x45f03e(0x1c9))/0xb);if(_0x253454===_0xbb34b0)break;else _0x3869b3['push'](_0x3869b3['shift']());}catch(_0x237a57){_0x3869b3['push'](_0x3869b3['shift']());}}}(_0x38bb,0xa9108));Object[_0x94ef32(0x1d7)](exports,_0x94ef32(0x19c),{'value':!![]});const mcp_js_1=require(_0x94ef32(0x214)),stdio_js_1=require(_0x94ef32(0x1e4)),zod_1=require(_0x94ef32(0x1de)),child_process_1=require(_0x94ef32(0x1a8)),fs_1=require('fs'),os_1=require('os'),path_1=require(_0x94ef32(0x20f)),vault_1=require(_0x94ef32(0x201)),prompt_1=require(_0x94ef32(0x21c)),CONFIG_DIR=(0x0,path_1['join'])((0x0,os_1[_0x94ef32(0x1ef)])(),'.config','agent-core'),SETUP_TOKEN_FILE=(0x0,path_1[_0x94ef32(0x1c6)])(CONFIG_DIR,_0x94ef32(0x199)),AUTH_FILE=(0x0,path_1[_0x94ef32(0x1c6)])(CONFIG_DIR,_0x94ef32(0x1d3)),AUTH_FILE_TMP=(0x0,path_1['join'])(CONFIG_DIR,_0x94ef32(0x197)),rawArgs=process['argv'][_0x94ef32(0x1d2)](0x2),isAuthCommand=rawArgs[0x0]==='auth',isSecretCommand=rawArgs[0x0]==='secret',parsedArgs=isAuthCommand?rawArgs[_0x94ef32(0x1d2)](0x1):rawArgs;let cliPortalUrl='',cliToken='';for(const arg of parsedArgs){const eqIdx=arg['indexOf']('=');if(eqIdx===-0x1)continue;const key=arg[_0x94ef32(0x1d2)](0x0,eqIdx),val=arg[_0x94ef32(0x1d2)](eqIdx+0x1);if(key===_0x94ef32(0x1ee))cliPortalUrl=val;if(key===_0x94ef32(0x1b9))cliToken=val;}function readAuthData(){const _0x86bac9=_0x94ef32;if(!(0x0,fs_1[_0x86bac9(0x1cc)])(AUTH_FILE))return null;try{return JSON[_0x86bac9(0x1fd)]((0x0,fs_1[_0x86bac9(0x1e6)])(AUTH_FILE,_0x86bac9(0x1db)));}catch{return null;}}function isJwtExpired(_0x419d81){const _0x32cc11=_0x94ef32,_0xcb1bd7={'KDYNL':_0x32cc11(0x1ac),'gScEI':function(_0x135c99,_0x36d0c4){return _0x135c99+_0x36d0c4;}};try{const _0x1a2d3d=JSON[_0x32cc11(0x1fd)](Buffer[_0x32cc11(0x216)](_0x419d81['split']('.')[0x1],_0xcb1bd7[_0x32cc11(0x211)])[_0x32cc11(0x1d0)]());return _0x1a2d3d[_0x32cc11(0x1fe)]*0x3e8<_0xcb1bd7[_0x32cc11(0x1bd)](Date[_0x32cc11(0x1d9)](),0xea60);}catch{return!![];}}async function exchangeToken(_0x422721,_0x1d1014){const _0x4b0647=_0x94ef32,_0x5841ad={'YaESp':function(_0x155dc0,_0x453be8,_0x35b460){return _0x155dc0(_0x453be8,_0x35b460);},'adtgc':_0x4b0647(0x1c4)};try{const _0x748c89=await _0x5841ad[_0x4b0647(0x1c3)](fetch,_0x422721+_0x4b0647(0x1e1),{'method':_0x4b0647(0x203),'headers':{'Content-Type':_0x5841ad['adtgc']},'body':JSON[_0x4b0647(0x1b3)]({'setup_token':_0x1d1014})});if(!_0x748c89['ok'])return null;const _0x370aee=await _0x748c89[_0x4b0647(0x1ed)]();return _0x370aee['jwt']??null;}catch{return null;}}function saveAuthData(_0x59bb8e){const _0x1ba039=_0x94ef32,_0x3989b5={'QrzCv':_0x1ba039(0x1db)};if(!(0x0,fs_1[_0x1ba039(0x1cc)])(CONFIG_DIR))(0x0,fs_1['mkdirSync'])(CONFIG_DIR,{'recursive':!![],'mode':0x1c0});(0x0,fs_1[_0x1ba039(0x1be)])(AUTH_FILE_TMP,JSON[_0x1ba039(0x1b3)](_0x59bb8e),{'encoding':_0x3989b5['QrzCv'],'mode':0x180}),(0x0,fs_1['renameSync'])(AUTH_FILE_TMP,AUTH_FILE);}async function getValidJwt(){const _0x59e8d5=_0x94ef32,_0x5f0e1e={'LzNVV':function(_0x378771){return _0x378771();},'witxN':'utf-8'},_0x5e5a9f=_0x5f0e1e[_0x59e8d5(0x20d)](readAuthData);if(!_0x5e5a9f)return null;if(!isJwtExpired(_0x5e5a9f[_0x59e8d5(0x1a3)]))return{'jwt':_0x5e5a9f[_0x59e8d5(0x1a3)],'portalUrl':_0x5e5a9f[_0x59e8d5(0x1c0)]};if(!(0x0,fs_1[_0x59e8d5(0x1cc)])(SETUP_TOKEN_FILE))return null;const _0x401dd6=(0x0,fs_1[_0x59e8d5(0x1e6)])(SETUP_TOKEN_FILE,_0x5f0e1e[_0x59e8d5(0x212)])[_0x59e8d5(0x1e5)](),_0x33dcc6=await exchangeToken(_0x5e5a9f[_0x59e8d5(0x1c0)],_0x401dd6);if(!_0x33dcc6)return null;return saveAuthData({'jwt':_0x33dcc6,'portal_url':_0x5e5a9f['portal_url']}),{'jwt':_0x33dcc6,'portalUrl':_0x5e5a9f[_0x59e8d5(0x1c0)]};}async function runAuthCommand(){const _0x3fec0a=_0x94ef32,_0x43361c={'vjDpV':function(_0x3085bb,_0xf55d57){return _0x3085bb||_0xf55d57;},'dVNwo':_0x3fec0a(0x1a5),'abazw':_0x3fec0a(0x1cd)};_0x43361c[_0x3fec0a(0x1a0)](!cliPortalUrl,!cliToken)&&(process[_0x3fec0a(0x208)][_0x3fec0a(0x196)](_0x43361c[_0x3fec0a(0x1c7)]),process[_0x3fec0a(0x202)](0x1));const _0x53b905=await exchangeToken(cliPortalUrl,cliToken);!_0x53b905&&(process[_0x3fec0a(0x208)][_0x3fec0a(0x196)](_0x43361c['abazw']),process[_0x3fec0a(0x202)](0x1));if(!(0x0,fs_1[_0x3fec0a(0x1cc)])(CONFIG_DIR))(0x0,fs_1[_0x3fec0a(0x19b)])(CONFIG_DIR,{'recursive':!![],'mode':0x1c0});(0x0,fs_1['writeFileSync'])(SETUP_TOKEN_FILE,cliToken,{'encoding':_0x3fec0a(0x1db),'mode':0x180}),saveAuthData({'jwt':_0x53b905,'portal_url':cliPortalUrl}),process[_0x3fec0a(0x1af)][_0x3fec0a(0x196)](_0x3fec0a(0x1cf));}function resolveToolName(){const _0x327bd4=_0x94ef32,_0x1fe1da={'fHHTo':_0x327bd4(0x21e),'oHWSI':_0x327bd4(0x1db),'Shaqs':_0x327bd4(0x1f2)};if(process.env.TOOL_NAME)return process.env.TOOL_NAME;try{const _0x105adb=JSON[_0x327bd4(0x1fd)]((0x0,fs_1[_0x327bd4(0x1e6)])((0x0,path_1[_0x327bd4(0x1c6)])(__dirname,'..',_0x1fe1da[_0x327bd4(0x1cb)]),_0x1fe1da[_0x327bd4(0x1ff)]));return _0x105adb[_0x327bd4(0x1e9)]||_0x1fe1da[_0x327bd4(0x1f4)];}catch{return'SalesBot';}}async function runSecretCommand(_0x5e58e2){const _0x23f627=_0x94ef32,_0x5a7b77={'EkyrH':'値が空です。中止しました。\x0a','Lkkbd':'secrets.enc','IcSJT':function(_0x401f91,_0x441514){return _0x401f91===_0x441514;},'MLrsj':_0x23f627(0x1ae),'UAdmL':'使い方:\x20agent-core\x20secret\x20rm\x20<NAME>\x0a'},_0x3e4ab6=resolveToolName(),_0x392f82=_0x5e58e2[0x0];if(_0x392f82===_0x23f627(0x1eb)){const _0x329f50=(0x0,vault_1['listSecretNames'])(_0x3e4ab6);!_0x329f50[_0x23f627(0x1dc)]?process['stdout']['write']('('+_0x3e4ab6+')\x20保管中のシークレットはありません。\x0a'):process[_0x23f627(0x1af)][_0x23f627(0x196)]('('+_0x3e4ab6+')\x20保管中のシークレット:\x0a'+_0x329f50[_0x23f627(0x1ad)](_0x4e3672=>'\x20\x20-\x20'+_0x4e3672)[_0x23f627(0x1c6)]('\x0a')+'\x0a');return;}if(_0x392f82===_0x23f627(0x21d)){const _0x328527=_0x5e58e2[0x1];!_0x328527&&(process[_0x23f627(0x208)][_0x23f627(0x196)](_0x23f627(0x20e)),process[_0x23f627(0x202)](0x1));const _0x3f7dfe=process[_0x23f627(0x1f9)][_0x23f627(0x195)]?await(0x0,prompt_1[_0x23f627(0x215)])(_0x328527+_0x23f627(0x1a2)):(0x0,fs_1['readFileSync'])(0x0,_0x23f627(0x1db))[_0x23f627(0x1e5)]();!_0x3f7dfe&&(process[_0x23f627(0x208)][_0x23f627(0x196)](_0x5a7b77[_0x23f627(0x1a6)]),process[_0x23f627(0x202)](0x1));(0x0,vault_1[_0x23f627(0x1f5)])(_0x3e4ab6,_0x328527,_0x3f7dfe),process['stdout'][_0x23f627(0x196)]('✅\x20('+_0x3e4ab6+_0x23f627(0x1ca)+_0x328527+_0x23f627(0x1e2)+(0x0,path_1[_0x23f627(0x1c6)])((0x0,vault_1['configDir'])(_0x3e4ab6),_0x5a7b77[_0x23f627(0x19d)])+_0x23f627(0x1fc));return;}if(_0x5a7b77[_0x23f627(0x1d6)](_0x392f82,'rm')||_0x5a7b77[_0x23f627(0x1d6)](_0x392f82,_0x5a7b77[_0x23f627(0x1d8)])){const _0x451313=_0x5e58e2[0x1];!_0x451313&&(process[_0x23f627(0x208)][_0x23f627(0x196)](_0x5a7b77['UAdmL']),process[_0x23f627(0x202)](0x1));const _0x1a12a1=(0x0,vault_1['deleteSecret'])(_0x3e4ab6,_0x451313);process[_0x23f627(0x1af)][_0x23f627(0x196)](_0x1a12a1?'✅\x20'+_0x451313+'\x20を削除しました。\x0a':'('+_0x451313+_0x23f627(0x20a));return;}process[_0x23f627(0x208)][_0x23f627(0x196)](_0x23f627(0x200)),process[_0x23f627(0x202)](0x1);}let PORTAL_URL='',JWT='';const AUTH_ERROR={'content':[{'type':'text','text':'認証エラー:\x20セットアップが完了していません。管理者に連絡してください。'}]},server=new mcp_js_1['McpServer']({'name':_0x94ef32(0x1bc),'version':_0x94ef32(0x1d4)}),tool=server[_0x94ef32(0x1f6)][_0x94ef32(0x1ba)](server);function _0x38bb(){const _0x4d312d=['zxHLyW','Dg9VBe5HBwu','mKr3rvvNwG','BgLZDa','ioobRUocPoodS+ocUEodIoodVoodQ+obJowUJos6HUobL+obVUobL+obN+oaGKnSyxvKzsbdB2rL44ks5yAn6lw35yUv44gx44gM44gp44gG44gv44ge44cccGRLRP/OOyZJGRpJG57JG7pJG4K6ia','ANnVBG','ls1WB3j0ywWTDxjS','Ag9TzwrPCG','mtm0mtKYofjmuMLJta','r0XPzui','u2fSzxncB3q','BwLU','u2HHCxm','C2v0u2vJCMv0','Dg9VBa','BgLZDf9Ty3bZ','ote0mZeWEKjRCMnN','C3rKAw4','44kO44oP44o8oIa','z2XKELu','77Yj44cccG','CgfYC2u','zxHW','B0Hxu0K','5l2/44ge5PA5oIbHz2vUDc1JB3jLihnLy3jLDca8C2v0FgXPC3r8CM0+ifToqu1fxqO','lI92yxvSDa','zxHPDa','ue9tva','twvUvKu','ndiZnZmZogfOAKLJuq','44or44k544oV44o844oj44ks5Asj5PU044gx44g+44gx44gF','rMf0ywW6ia','C3rKzxjY','y29UDgvUDa','ioobR+s/NEEUOEobLEocJoobPUobHoobVUobM+ocKYKk','u3rKAw9tzxj2zxjuCMfUC3bVCNq','Dgv4Da','thPovLy','5l2/44ge5PA5oIbHz2vUDc1JB3jLihnLy3jLDcbZzxqGpe5btuu+cG','Cgf0Aa','Be90BM8','s0rztKW','D2L0Ee4','Bg9Hzf9RBM93BgvKz2u','qg1VzgvSy29UDgv4DhbYB3rVy29Sl3nKAY9Zzxj2zxiVBwnWlMPZ','CxvLC3rPB25iAwrKzw4','zNjVBq','6k2M5zgkoIdOQO3OQlZMG4xLOlhJGyZOPOVJGAtJGyVJGORJGB7JGzVJGPpJGijSB2fKx2TUB3DSzwrNzEETIEobRUodHoodVoodQ+obR+s9V+EuQoobP+obJEobVUobM+ocK+oaGGO','zgvZy3jPyMu','tunqifnLCNzLCIbZDgfYDgvKcG','nLv6vhfhvq','BhHKDfi','lI9WCM9TChq','C2v0','Bgf1BMnOzxiUy29UzMLNlMPZB24','y29UBMvJDa','AxnuvfK','D3jPDgu','yxv0Ac5QC29UlNrTCa','jYdJGAVLR77LV5ZJGzNJGOTlBM93BgvKz2xJGyZOPOVJGAtJGyVJGORJGB7JGzVJGPpJGAFJGzFJGz/JGilNRQhNKiBOGixJGAVJGyRLLy/JGytLKiJJGO/JGzVJGy/JGAdJGzxJGytJGii','C2v0DxbFDg9Rzw4','ndu2nZbkCMDHuui','BwTKAxjtEw5J','x19LC01VzhvSzq','tgTRyMq','BgD0zLC','ueTMA1C','DMPeCfy','qMvHCMvYia','ioobRUwaPoocKUwfPEwkM++8IoIHQoEKUUobLEocJoobVUobM+ocK++8ItOG','AND0','54++5zYO44gU44or44k544oV44o844oj','44kO44oP44o8oIaTlxbVCNrHBc11CMWG44gOic0TDg9Rzw4G44gm5B+f6kAb44gN44gzcG','rwT5CKG','l2fWAs9Ty3bZl2LUC3rHBgW','y2HPBgrFChjVy2vZCW','EMPVEgC','DLfKDM8','BMfTzq','yMfZzty0DxjS','BwfW','zgvSzxrL','C3rKB3v0','D1bcELG','Cg9YDgfSvxjS','l2fWAs9RBM93BgvKz2u/A2v5D29Yzd0','C3rYAw5NAwz5','44kT44o844oV44o844ojicC','C3rYAw5N','l2fWAs9HDxrOl2nOyw5Nzs1WyxnZD29Yza','qvbj44kO44oP44o8oIa','mZeXmduZmffyuvrxEG','ls10B2TLBG','yMLUza','B3b0Aw9UywW','ywDLBNqTy29Yzq','z1nJruK','D3jPDgvgAwXLu3LUyW','44kK44oZ44k544oi44o844oR5AsX5PwxoGO','Cg9YDgfSx3vYBa','su1lCwS','CMvJB3jK','wwffu3a','yxbWBgLJyxrPB24VANnVBG','Aw5ZDgfSBf9JB21Tyw5K','AM9PBG','zfzoD28','mta4ndyXmfLNDu5NrW','mZqXAhjpuvzh','ksdJGRFJG7ZJGQ/JG6ZJG4pJG4GG','zKHivg8','zxHPC3rZu3LUyW','6kQn6kI844kO44oP44o8oIdJG4JJG7ZJGQ/JG7pJGyZNHkhLIRNJGyVJGihJGRxJG7ZJG5dJG7ZJGAVMJQxNTPRJGAFJGy3JGB7JGzVJGPmk','vwDQzKK','4PYfioIQJEIOVoobJowUJos6HUobL+obVUobL+obN+oaGUocQoodVoocUoocP+odS+odIoocKUs9V+EuQoobP+obJEobVUobMEoaGGO','Dg9tDhjPBMC','yxPXCvG','C2XPy2u','yxv0Ac5QC29U','mc4XlJa','offgwuPQCW','swntsLq','zgvMAw5LuhjVCgvYDhK','tuXYC2O','BM93','BwvZC2fNzq','DxrMltG','BgvUz3rO','CuzhA2i','EM9K','ntK0ndCWn3fyA3HbBa','C3rHDhvZ','l2fWAs9HDxrOl2v4y2HHBMDL','ioocKUAAL+wpT+wmLUs/NEwTMoobL+obVUobL+obN++8Ia','BgHVy2K','qg1VzgvSy29UDgv4DhbYB3rVy29Sl3nKAY9Zzxj2zxiVC3rKAw8UANm','DhjPBq','CMvHzezPBgvtEw5J','y2HHBMDLx3bHC3n3B3jK'];_0x38bb=function(){return _0x4d312d;};return _0x38bb();}tool(_0x94ef32(0x213),{'keyword':zod_1['z'][_0x94ef32(0x1b5)]()[_0x94ef32(0x218)]('Knowledgeキーワード(例:\x20@SalesBot_要件定義)')},async({keyword:_0x45c57b})=>{const _0x48fbcf=_0x94ef32,_0x44beee={'MenVE':_0x48fbcf(0x20c)};if(!JWT||!PORTAL_URL)return AUTH_ERROR;const _0x123f08=await fetch(PORTAL_URL+_0x48fbcf(0x1b2)+encodeURIComponent(_0x45c57b),{'headers':{'Authorization':_0x48fbcf(0x1a1)+JWT}});if(!_0x123f08['ok'])return{'content':[{'type':_0x44beee[_0x48fbcf(0x204)],'text':'APIエラー:\x20'+_0x123f08[_0x48fbcf(0x1e0)]}]};const _0x225a92=await _0x123f08[_0x48fbcf(0x1ed)]();if(_0x225a92['error']||!_0x225a92[_0x48fbcf(0x209)])return{'content':[{'type':_0x44beee[_0x48fbcf(0x204)],'text':_0x48fbcf(0x1b4)+_0x45c57b+_0x48fbcf(0x198)}]};return{'content':[{'type':_0x44beee['MenVE'],'text':_0x225a92['content']}]};}),tool(_0x94ef32(0x1f7),{},async()=>{const _0xd0aca6=_0x94ef32,_0xa4c0db={'IMKqk':function(_0x2e0644,_0x23db11,_0x17d872){return _0x2e0644(_0x23db11,_0x17d872);},'vQdvo':_0xd0aca6(0x20c)};if(!JWT||!PORTAL_URL)return AUTH_ERROR;const _0xa216b7=await _0xa4c0db[_0xd0aca6(0x1c1)](fetch,PORTAL_URL+'/api/mcps',{'headers':{'Authorization':_0xd0aca6(0x1a1)+JWT}});if(!_0xa216b7['ok'])return{'content':[{'type':_0xa4c0db[_0xd0aca6(0x1aa)],'text':_0xd0aca6(0x1b7)+_0xa216b7[_0xd0aca6(0x1e0)]}]};const _0x3a2c0d=await _0xa216b7[_0xd0aca6(0x1ed)]();return{'content':[{'type':_0xd0aca6(0x20c),'text':JSON[_0xd0aca6(0x1b3)](_0x3a2c0d,null,0x2)}]};}),tool('install_mcp',{'mcp_id':zod_1['z'][_0x94ef32(0x1b5)]()[_0x94ef32(0x218)]('インストールするMCPのID'),'env_vars':zod_1['z'][_0x94ef32(0x1c2)](zod_1['z'][_0x94ef32(0x1b5)]())[_0x94ef32(0x1bb)]()['describe']('環境変数(例:\x20{GMAIL_TOKEN:\x20\x27xxx\x27})')},async({mcp_id:_0x44ca30,env_vars:_0x543fe9})=>{const _0x262365=_0x94ef32,_0x3b7793={'jjgZu':function(_0x9af462,_0x4ff3c4){return _0x9af462(_0x4ff3c4);},'GLieB':function(_0x2b1d50,_0x800098,_0x3bc4e6){return _0x2b1d50(_0x800098,_0x3bc4e6);},'gldzU':_0x262365(0x203),'lOtno':'text','UTgJt':'インストールコマンドを取得できませんでした'};if(!JWT||!PORTAL_URL)return AUTH_ERROR;const _0x2faed0=await _0x3b7793[_0x262365(0x1f1)](fetch,PORTAL_URL+_0x262365(0x1a7),{'method':_0x3b7793[_0x262365(0x1fb)],'headers':{'Authorization':_0x262365(0x1a1)+JWT,'Content-Type':_0x262365(0x1c4)},'body':JSON[_0x262365(0x1b3)]({'mcp_id':_0x44ca30,'env_vars':_0x543fe9})});if(!_0x2faed0['ok'])return{'content':[{'type':'text','text':_0x262365(0x1b7)+_0x2faed0['status']}]};const _0x41c554=await _0x2faed0[_0x262365(0x1ed)]();if(!_0x41c554['install_command'])return{'content':[{'type':_0x3b7793[_0x262365(0x210)],'text':_0x3b7793['UTgJt']}]};return new Promise(_0x180c19=>{const _0x1220d7=_0x262365,_0x4221fb={'sOHSp':function(_0x1d1232,_0xae9d85){return _0x3b7793['jjgZu'](_0x1d1232,_0xae9d85);},'qFGkb':'text','UgjfI':function(_0x26fd19,_0x3b651a){return _0x26fd19(_0x3b651a);}};(0x0,child_process_1[_0x1220d7(0x1e8)])(_0x41c554[_0x1220d7(0x1c5)],(_0x343353,_0x28139d,_0x480370)=>{const _0x3ad4f6=_0x1220d7;if(_0x343353){_0x4221fb['sOHSp'](_0x180c19,{'content':[{'type':_0x4221fb[_0x3ad4f6(0x1dd)],'text':_0x3ad4f6(0x1bf)+(_0x480370||_0x343353[_0x3ad4f6(0x1da)])}]});return;}_0x4221fb[_0x3ad4f6(0x1ce)](_0x180c19,{'content':[{'type':_0x4221fb[_0x3ad4f6(0x1dd)],'text':_0x41c554[_0x3ad4f6(0x1ab)]+_0x3ad4f6(0x1ec)+_0x41c554[_0x3ad4f6(0x1c5)]}]});});});}),tool(_0x94ef32(0x1e7),{'current_password':zod_1['z'][_0x94ef32(0x1b5)]()[_0x94ef32(0x218)](_0x94ef32(0x1a4)),'new_password':zod_1['z']['string']()[_0x94ef32(0x1f3)](0x8)[_0x94ef32(0x218)]('新しいパスワード(8文字以上)')},async({current_password:_0x3930ab,new_password:_0x20f50f})=>{const _0x44e66c=_0x94ef32,_0x59bc16={'zjoxg':function(_0x5b3c9c,_0x5a4368){return _0x5b3c9c||_0x5a4368;},'azqqX':function(_0x14e356,_0x5af2ee,_0x28fe82){return _0x14e356(_0x5af2ee,_0x28fe82);},'jzwDn':_0x44e66c(0x1c4),'lxdtR':_0x44e66c(0x20c),'PKfkW':_0x44e66c(0x206)};if(_0x59bc16[_0x44e66c(0x1a9)](!JWT,!PORTAL_URL))return AUTH_ERROR;const _0x8b13d2=await _0x59bc16[_0x44e66c(0x1d1)](fetch,PORTAL_URL+_0x44e66c(0x1b6),{'method':_0x44e66c(0x203),'headers':{'Authorization':_0x44e66c(0x1a1)+JWT,'Content-Type':_0x59bc16['jzwDn']},'body':JSON[_0x44e66c(0x1b3)]({'current_password':_0x3930ab,'new_password':_0x20f50f})});if(!_0x8b13d2['ok']){const _0x223cec=await _0x8b13d2[_0x44e66c(0x1ed)]();return{'content':[{'type':_0x59bc16[_0x44e66c(0x21b)],'text':_0x44e66c(0x1fa)+(_0x223cec['error']??_0x8b13d2['status'])}]};}return{'content':[{'type':_0x59bc16[_0x44e66c(0x21b)],'text':_0x59bc16[_0x44e66c(0x19f)]}]};});async function main(){const _0x27a1da=_0x94ef32,_0x3af603={'wPBzX':function(_0x39ad36,_0x2b62d1){return _0x39ad36(_0x2b62d1);},'lgtfW':function(_0x1dcbc7){return _0x1dcbc7();},'lhoci':function(_0x59474b){return _0x59474b();},'LJRYY':_0x27a1da(0x217)};if(isSecretCommand){await _0x3af603[_0x27a1da(0x1b0)](runSecretCommand,rawArgs[_0x27a1da(0x1d2)](0x1));return;}if(isAuthCommand){await _0x3af603[_0x27a1da(0x19e)](runAuthCommand);return;}if(process.env.TOOL_TOKEN&&process.env.PORTAL_URL)JWT=process.env.TOOL_TOKEN,PORTAL_URL=process.env.PORTAL_URL;else{const _0x3df2e0=await _0x3af603[_0x27a1da(0x1e3)](getValidJwt);_0x3df2e0?(JWT=_0x3df2e0['jwt'],PORTAL_URL=_0x3df2e0[_0x27a1da(0x1b1)]):process[_0x27a1da(0x208)][_0x27a1da(0x196)](_0x3af603['LJRYY']);}const _0x2b9b75=new stdio_js_1[(_0x27a1da(0x20b))]();await server[_0x27a1da(0x21f)](_0x2b9b75),process[_0x27a1da(0x208)][_0x27a1da(0x196)](_0x27a1da(0x219));}function _0x17e7(_0x5842c3,_0x8ae126){_0x5842c3=_0x5842c3-0x195;const _0x38bbbb=_0x38bb();let _0x17e765=_0x38bbbb[_0x5842c3];if(_0x17e7['GuMASA']===undefined){var _0x11013d=function(_0xa3b452){const _0x196c50='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12722a='',_0x3b119f='';for(let _0xe845df=0x0,_0x5d3933,_0x63c6e7,_0x3b064c=0x0;_0x63c6e7=_0xa3b452['charAt'](_0x3b064c++);~_0x63c6e7&&(_0x5d3933=_0xe845df%0x4?_0x5d3933*0x40+_0x63c6e7:_0x63c6e7,_0xe845df++%0x4)?_0x12722a+=String['fromCharCode'](0xff&_0x5d3933>>(-0x2*_0xe845df&0x6)):0x0){_0x63c6e7=_0x196c50['indexOf'](_0x63c6e7);}for(let _0x2a4010=0x0,_0x4c2a59=_0x12722a['length'];_0x2a4010<_0x4c2a59;_0x2a4010++){_0x3b119f+='%'+('00'+_0x12722a['charCodeAt'](_0x2a4010)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b119f);};_0x17e7['DnckzV']=_0x11013d,_0x17e7['DwtUkE']={},_0x17e7['GuMASA']=!![];}const _0x5c4c42=_0x38bbbb[0x0],_0x593251=_0x5842c3+_0x5c4c42,_0x116f09=_0x17e7['DwtUkE'][_0x593251];return!_0x116f09?(_0x17e765=_0x17e7['DnckzV'](_0x17e765),_0x17e7['DwtUkE'][_0x593251]=_0x17e765):_0x17e765=_0x116f09,_0x17e765;}main()['catch'](_0xc5b04a=>{const _0x5204a4=_0x94ef32;process[_0x5204a4(0x208)][_0x5204a4(0x196)](_0x5204a4(0x207)+_0xc5b04a+'\x0a'),process[_0x5204a4(0x202)](0x1);});
|
package/dist/launcher.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const _0x143267=_0x128d;(function(_0x4930b9,_0x5e4bef){const _0x541ecc=_0x128d,_0x10b78a=_0x4930b9();while(!![]){try{const _0x38678a=parseInt(_0x541ecc(0x213))/0x1+-parseInt(_0x541ecc(0x272))/0x2+-parseInt(_0x541ecc(0x1ef))/0x3+-parseInt(_0x541ecc(0x268))/0x4*(parseInt(_0x541ecc(0x243))/0x5)+-parseInt(_0x541ecc(0x287))/0x6*(parseInt(_0x541ecc(0x294))/0x7)+-parseInt(_0x541ecc(0x293))/0x8+parseInt(_0x541ecc(0x266))/0x9;if(_0x38678a===_0x5e4bef)break;else _0x10b78a['push'](_0x10b78a['shift']());}catch(_0x1a453e){_0x10b78a['push'](_0x10b78a['shift']());}}}(_0x434f,0x71f2a));Object['defineProperty'](exports,_0x143267(0x214),{'value':!![]}),exports[_0x143267(0x261)]=runLauncher;const readline_1=require('readline'),crypto_1=require(_0x143267(0x256)),fs_1=require('fs'),os_1=require('os'),path_1=require(_0x143267(0x1f2)),child_process_1=require(_0x143267(0x201));function loadConfig(){const _0x2705c7=_0x143267,_0x4a8040=(0x0,path_1[_0x2705c7(0x265)])(__dirname,'..',_0x2705c7(0x26f)),_0xd7ef74=JSON[_0x2705c7(0x239)]((0x0,fs_1[_0x2705c7(0x23b)])(_0x4a8040,_0x2705c7(0x279))),_0x57a4da=process.env.PORTAL_URL||_0xd7ef74[_0x2705c7(0x27e)],_0x44e6c5=process.env.TOOL_NAME||_0xd7ef74[_0x2705c7(0x271)];return{'toolName':_0x44e6c5,'portalUrl':_0x57a4da};}function configDir(_0xb4db9a){const _0x1268e2=_0x143267,_0x1e7899={'rnEHg':function(_0x5f7c53,_0x5a46b8){return _0x5f7c53+_0x5a46b8;}};return(0x0,path_1[_0x1268e2(0x265)])((0x0,os_1[_0x1268e2(0x253)])(),_0x1e7899['rnEHg']('.',_0xb4db9a[_0x1268e2(0x209)]()));}function ensureConfigDir(_0x2b7093){const _0x13e793=_0x143267;if(!(0x0,fs_1['existsSync'])(_0x2b7093))(0x0,fs_1[_0x13e793(0x24f)])(_0x2b7093,{'recursive':!![],'mode':0x1c0});}function encryptToken(_0x17b190,_0x23d05c){const _0x1ce232=_0x143267,_0x423e0a={'RnhRL':function(_0xc71fd7,_0x263139){return _0xc71fd7+_0x263139;},'izXZf':_0x1ce232(0x1ee)},_0x20db33=(0x0,crypto_1[_0x1ce232(0x289)])(0x10),_0x37b6f8=(0x0,crypto_1[_0x1ce232(0x231)])(_0x1ce232(0x24c),_0x23d05c,_0x20db33),_0x1efc8b=Buffer['concat']([_0x37b6f8[_0x1ce232(0x24a)](_0x17b190,_0x1ce232(0x216)),_0x37b6f8[_0x1ce232(0x255)]()]);return _0x423e0a[_0x1ce232(0x252)](_0x20db33[_0x1ce232(0x27f)](_0x423e0a[_0x1ce232(0x21a)]),':')+_0x1efc8b['toString'](_0x423e0a[_0x1ce232(0x21a)]);}function decryptToken(_0x5da988,_0x47895d){const _0x3773f4=_0x143267,_0x1b572d={'DzxTp':'hex'};try{const [_0x1a0592,_0x4da9fc]=_0x5da988['split'](':');if(!_0x1a0592||!_0x4da9fc)return null;const _0x3d7da3=(0x0,crypto_1[_0x3773f4(0x225)])(_0x3773f4(0x24c),_0x47895d,Buffer[_0x3773f4(0x236)](_0x1a0592,_0x1b572d[_0x3773f4(0x242)])),_0x2c4b38=Buffer[_0x3773f4(0x286)]([_0x3d7da3[_0x3773f4(0x24a)](Buffer[_0x3773f4(0x236)](_0x4da9fc,_0x3773f4(0x1ee))),_0x3d7da3[_0x3773f4(0x255)]()]);return _0x2c4b38[_0x3773f4(0x27f)](_0x3773f4(0x216));}catch{return null;}}function readSavedTokens(_0x4ad834){const _0x28f378=_0x143267,_0x333a97={'wDHaG':_0x28f378(0x28f),'AVFkV':_0x28f378(0x1ee),'Knarj':function(_0x540fe2,_0x11ba22){return _0x540fe2!==_0x11ba22;}},_0x4e4e5d=(0x0,path_1['join'])(_0x4ad834,_0x333a97[_0x28f378(0x1ed)]),_0x3a4be8=(0x0,path_1[_0x28f378(0x265)])(_0x4ad834,_0x28f378(0x221));if(!(0x0,fs_1['existsSync'])(_0x4e4e5d)||!(0x0,fs_1['existsSync'])(_0x3a4be8))return null;try{const _0x3fa349=Buffer[_0x28f378(0x236)]((0x0,fs_1[_0x28f378(0x23b)])(_0x4e4e5d,_0x28f378(0x279))[_0x28f378(0x247)](),_0x333a97['AVFkV']);if(_0x333a97[_0x28f378(0x1eb)](_0x3fa349[_0x28f378(0x28a)],0x20))return null;const _0x347735=decryptToken((0x0,fs_1[_0x28f378(0x23b)])(_0x3a4be8,_0x28f378(0x279))['trim'](),_0x3fa349);if(!_0x347735)return null;if(_0x347735['startsWith']('{')){const _0x32c8d4=JSON[_0x28f378(0x239)](_0x347735);return{'jwt':_0x32c8d4[_0x28f378(0x25a)],'refresh':_0x32c8d4[_0x28f378(0x248)]??null};}return{'jwt':_0x347735,'refresh':null};}catch{return null;}}function saveTokens(_0xe7ab1e,_0x57abb1){const _0x4169db=_0x143267,_0x25dd38={'YcXEU':_0x4169db(0x28f),'AJXuz':_0x4169db(0x1ee),'HDGIZ':_0x4169db(0x279),'wescE':_0x4169db(0x221)};ensureConfigDir(_0xe7ab1e);const _0x44757a=(0x0,crypto_1['randomBytes'])(0x20),_0x3535d8=JSON[_0x4169db(0x258)]({'jwt':_0x57abb1[_0x4169db(0x25a)],'refresh':_0x57abb1[_0x4169db(0x248)]});(0x0,fs_1[_0x4169db(0x20d)])((0x0,path_1['join'])(_0xe7ab1e,_0x25dd38[_0x4169db(0x27b)]),_0x44757a[_0x4169db(0x27f)](_0x25dd38['AJXuz']),{'encoding':_0x25dd38[_0x4169db(0x278)],'mode':0x180}),(0x0,fs_1[_0x4169db(0x20d)])((0x0,path_1[_0x4169db(0x265)])(_0xe7ab1e,_0x25dd38[_0x4169db(0x1fb)]),encryptToken(_0x3535d8,_0x44757a),{'encoding':_0x4169db(0x279),'mode':0x180}),(0x0,fs_1['chmodSync'])((0x0,path_1[_0x4169db(0x265)])(_0xe7ab1e,_0x25dd38[_0x4169db(0x27b)]),0x180),(0x0,fs_1[_0x4169db(0x24e)])((0x0,path_1[_0x4169db(0x265)])(_0xe7ab1e,_0x25dd38['wescE']),0x180);}function isJwtExpired(_0x49e73d){const _0x1b657a=_0x143267,_0x20f43a={'ohGts':_0x1b657a(0x28e),'upJAv':function(_0x28a13d,_0xcc16bd){return _0x28a13d*_0xcc16bd;}};try{const _0x5a96ea=JSON['parse'](Buffer[_0x1b657a(0x236)](_0x49e73d[_0x1b657a(0x211)]('.')[0x1],_0x20f43a[_0x1b657a(0x1f6)])['toString']());return _0x20f43a['upJAv'](_0x5a96ea[_0x1b657a(0x21c)],0x3e8)<Date[_0x1b657a(0x28d)]()+0xea60;}catch{return!![];}}function question(_0x130197){const _0x59e6eb=_0x143267,_0x314436={'dDBqo':function(_0x551ba3,_0x1e94fd){return _0x551ba3(_0x1e94fd);}},_0x5db43c=(0x0,readline_1[_0x59e6eb(0x1f4)])({'input':process[_0x59e6eb(0x280)],'output':process[_0x59e6eb(0x22f)]});return new Promise(_0x8ffb4a=>_0x5db43c[_0x59e6eb(0x1f8)](_0x130197,_0x5267e7=>{const _0x5c1a48=_0x59e6eb;_0x5db43c['close'](),_0x314436[_0x5c1a48(0x26d)](_0x8ffb4a,_0x5267e7[_0x5c1a48(0x247)]());}));}const KEY_ENTER=0xd,KEY_RETURN=0xa,KEY_EOT=0x4,KEY_CTRL_C=0x3,KEY_BACKSPACE=0x8,KEY_DELETE=0x7f;function questionHidden(_0x1186d1){const _0x179d46=_0x143267,_0x1c596a={'OykAs':_0x179d46(0x26e),'kOQbj':function(_0x2f8c72){return _0x2f8c72();}};return new Promise(_0xcbe14d=>{const _0x1e446e=_0x179d46,_0x5de128={'lLHhs':function(_0x3d6b5d,_0x49e005){return _0x3d6b5d<_0x49e005;},'omSlr':function(_0x522db0,_0x1d6a4e){return _0x522db0===_0x1d6a4e;},'uLFoD':function(_0x259df1){const _0x3d149d=_0x128d;return _0x1c596a[_0x3d149d(0x22c)](_0x259df1);},'xdFHg':function(_0x4b4ef2,_0x567066){return _0x4b4ef2===_0x567066;}},_0x418397=process[_0x1e446e(0x280)];process[_0x1e446e(0x22f)][_0x1e446e(0x23a)](_0x1186d1);const _0x3234db=_0x418397['isRaw']??![];if(_0x418397[_0x1e446e(0x237)])_0x418397[_0x1e446e(0x1fa)](!![]);_0x418397[_0x1e446e(0x27a)]();const _0x4fc85e=[],_0x13401d=()=>{const _0x3f469b=_0x1e446e;if(_0x418397[_0x3f469b(0x237)])_0x418397[_0x3f469b(0x1fa)](_0x3234db);_0x418397[_0x3f469b(0x25e)](),_0x418397['removeListener'](_0x1c596a[_0x3f469b(0x200)],_0x5bed19),process[_0x3f469b(0x22f)]['write']('\x0a');},_0x5bed19=_0x32279f=>{const _0x177ee5=_0x1e446e;for(let _0x47acb4=0x0;_0x5de128[_0x177ee5(0x230)](_0x47acb4,_0x32279f[_0x177ee5(0x28a)]);_0x47acb4++){const _0x4e9452=_0x32279f[_0x47acb4];if(_0x5de128['omSlr'](_0x4e9452,KEY_ENTER)||_0x4e9452===KEY_RETURN||_0x5de128[_0x177ee5(0x270)](_0x4e9452,KEY_EOT)){_0x5de128[_0x177ee5(0x28b)](_0x13401d),_0xcbe14d(Buffer['from'](_0x4fc85e)[_0x177ee5(0x27f)](_0x177ee5(0x216)));return;}else{if(_0x5de128[_0x177ee5(0x270)](_0x4e9452,KEY_CTRL_C))_0x5de128['uLFoD'](_0x13401d),process[_0x177ee5(0x28c)](0x82);else _0x5de128[_0x177ee5(0x283)](_0x4e9452,KEY_BACKSPACE)||_0x4e9452===KEY_DELETE?_0x4fc85e['pop']():_0x4fc85e[_0x177ee5(0x212)](_0x4e9452);}}};_0x418397['on'](_0x1e446e(0x26e),_0x5bed19);});}async function interactiveLogin(_0x2d7cf7){const _0x2a39e5=_0x143267,_0x9ce106={'zLoLB':function(_0x208704,_0xe57ffe){return _0x208704(_0xe57ffe);},'WqIao':_0x2a39e5(0x21f),'OWsJE':_0x2a39e5(0x244),'VLkqc':'サーバーに接続できませんでした。ネットワークを確認してください。\x0a'};process['stdout']['write']('\x0a'+_0x2d7cf7[_0x2a39e5(0x271)]+_0x2a39e5(0x23f));for(let _0x18f92b=0x0;_0x18f92b<0x3;_0x18f92b++){const _0x6adc65=await question('メールアドレス:\x20'),_0x2078cb=await _0x9ce106[_0x2a39e5(0x1ea)](questionHidden,_0x9ce106[_0x2a39e5(0x227)]);try{const _0x1df265=await fetch(_0x2d7cf7['portalUrl']+_0x2a39e5(0x218),{'method':_0x2a39e5(0x20f),'headers':{'Content-Type':_0x9ce106[_0x2a39e5(0x281)]},'body':JSON['stringify']({'email':_0x6adc65,'password':_0x2078cb})}),_0x5ac94c=await _0x1df265['json']();if(_0x1df265['ok']&&_0x5ac94c[_0x2a39e5(0x254)])return process[_0x2a39e5(0x22f)][_0x2a39e5(0x23a)](_0x2a39e5(0x208)),{'jwt':_0x5ac94c[_0x2a39e5(0x254)],'refresh':_0x5ac94c[_0x2a39e5(0x224)]??null};process['stderr'][_0x2a39e5(0x23a)](_0x2a39e5(0x228)+(_0x5ac94c[_0x2a39e5(0x21d)]??_0x2a39e5(0x202))+'\x0a');}catch{process[_0x2a39e5(0x1f7)]['write'](_0x9ce106[_0x2a39e5(0x235)]);}}process['stderr'][_0x2a39e5(0x23a)]('ログインに3回失敗しました。終了します。\x0a'),process[_0x2a39e5(0x28c)](0x1);}async function refreshTokens(_0x50792b,_0x2a3121){const _0x1bae4e=_0x143267,_0x114280={'cQuPL':_0x1bae4e(0x244)};try{const _0x2c3867=await fetch(_0x50792b[_0x1bae4e(0x27e)]+_0x1bae4e(0x238),{'method':_0x1bae4e(0x20f),'headers':{'Content-Type':_0x114280['cQuPL']},'body':JSON[_0x1bae4e(0x258)]({'refresh_token':_0x2a3121})});if(!_0x2c3867['ok'])return null;const _0x7f266e=await _0x2c3867[_0x1bae4e(0x22d)]();if(!_0x7f266e['token'])return null;return{'jwt':_0x7f266e[_0x1bae4e(0x254)],'refresh':_0x7f266e['refresh_token']??_0x2a3121};}catch{return null;}}async function ensureJwt(_0x4d2241,_0x10515f){const _0x36e467=_0x143267,_0x3a1538={'eLtEt':function(_0x17017d,_0x42442f){return _0x17017d(_0x42442f);},'tGqGT':function(_0x48be51,_0x3ace44,_0x5a1fbc){return _0x48be51(_0x3ace44,_0x5a1fbc);}},_0x4aa29f=readSavedTokens(_0x10515f);if(_0x4aa29f&&!_0x3a1538[_0x36e467(0x263)](isJwtExpired,_0x4aa29f[_0x36e467(0x25a)]))return _0x4aa29f['jwt'];if(_0x4aa29f?.[_0x36e467(0x248)]){const _0x108998=await _0x3a1538[_0x36e467(0x20c)](refreshTokens,_0x4d2241,_0x4aa29f[_0x36e467(0x248)]);if(_0x108998)return saveTokens(_0x10515f,_0x108998),_0x108998[_0x36e467(0x25a)];}const _0x3ec8dc=await _0x3a1538[_0x36e467(0x263)](interactiveLogin,_0x4d2241);return _0x3a1538[_0x36e467(0x20c)](saveTokens,_0x10515f,_0x3ec8dc),_0x3ec8dc[_0x36e467(0x25a)];}function _0x434f(){const _0x21a7ce=['ywrK','DxrMoa','uKHHEee','l2fWAs9HDxrOl2XVz2LU','Aw5KzxGUANm','AxPywMy','qgz1BM55lwjVB3rOl2fNzw50lwnVCMu','zxHW','zxjYB3i','rw5qthC','44or44k544oV44o844ojoIa','cGOTls0k8j+tNsdJG5FJG63JGRJJGQFJGQ/JG4JJG6hJG6i6cG','Cg9YDgfSlxrVA2vUlMvUyW','Ahr0Chm6lY9YzwDPC3rYEs5UCg1QCY5VCMCV','CgfJA2fNzv9Uyw1L','CMvMCMvZAf90B2TLBG','y3jLyxrLrgvJAxbOzxjPDG','ioobJowiQEEuQowpR+IdVEobP+obME+8IoEpVUwCQca','v3fjyw8','44oT44kW44kK44oZ5AsX5PwxoIa','ls1ZDhjPy3qTBwnWlwnVBMzPzW','r25ZqMK','y2XHDwrLioobRUI1T+wlLEobQ+wKSEAvL+obL+obVUobL+obNZOG','A09ryMO','ANnVBG','DgLTzw91Da','C3rKB3v0','BeXiAhm','y3jLyxrLq2LWAgvYAxy','C3bHD25tEw5J','ve1gu1q','77Yj44cc44oq44od44kV44kW44oP44kM44oZ44oj44gN5PU05PAW44gx44g+44gz77Yi5QYH5zUE6lw35yUv44gl44kj5y+n5PIG77Yj44cccG','vKXRCwm','zNjVBq','AxnuvfK','l2fWAs9HDxrOl3jLzNjLC2G','CgfYC2u','D3jPDgu','CMvHzezPBgvtEw5J','BNb4','Dg1WzgLY','B1nAr0q','ioobQ+odREocSoocPoodS+obL+obPUobJ+obOoobLEobHooaGGO','ls1Kyw5NzxjVDxnSEs1ZA2LWlxbLCM1PC3nPB25Z','CMvWBgfJzq','rhP4vha','ntC4mZe1wwjPAM9Q','yxbWBgLJyxrPB24VANnVBG','DMD1uwK','l2XHDgvZDa','DhjPBq','CMvMCMvZAa','zNLvugS','DxbKyxrL','l21JChm','ywvZlti1nI1JyMm','veDRuge','y2HTB2rtEw5J','BwTKAxjtEw5J','s0fRBvq','y0XnyuK','uM5OuKW','Ag9TzwrPCG','Dg9Rzw4','zMLUywW','y3j5ChrV','44k544oT44od44oi','C3rYAw5NAwz5','zw52','AND0','BM9Kzq','BwfW','BwvZC2fNzq','Cgf1C2u','y2XHDwrL','u09it2u','CNvUtgf1BMnOzxi','ywToBwG','zuX0rxq','Bg9Hzf9RBM93BgvKz2uG44oe44o844oR44gNici','AM9PBG','mtmYodq0mdv1yNjHuuG','DMvYC2LVBG','mJbQEfPfsMy','A25VD2XLzgDLx2TLExDVCMq','ls1OzwXW','l2fWAs9Hz2vUDhmVC2XVDc8','qMvHCMvYia','zercCw8','zgf0yq','Bgf1BMnOzxiUy29UzMLNlMPZB24','B21tBhi','Dg9VBe5HBwu','otuXmZa4rxvoDu1t','ls1Ty3aTy29UzMLN','reHUExm','AwDUB3jL','44gv44gc5AEl44kb44g+44gx44kh44ggcGO','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4PsacG','serhsvO','DxrMltG','CMvZDw1L','wwnyrvu','Aw5ZDgfSBa','y253uhm','Cg9YDgfSvxjS','Dg9tDhjPBMC','C3rKAw4','t1DZsKu','qgXHDgvZDa','EgrgsgC','AgXkBe4','AxnbCNjHEq','y29Uy2f0','mZm1ndziwxHbvu0','BwrKAw8','CMfUzg9TqNL0zxm','BgvUz3rO','DuXgB0q','zxHPDa','BM93','yMfZzty0DxjS','DMf1BhqUA2v5','iIdJGyZLIkNNLkJLJ6/OG73JGAFJGzNJGiik','DKTLsvO','wgHqzwm','ndK5mJi0EufQC0Xq','mZe1ANfTAfb1','EKXVtei','s25HCMO','q21Sy00','D0riyuC','Agv4','mti0nJqXovD6yuPurW','44gt44gU44k744od44k344oN44oZ44gN44gVia','Auzhz0i','Cgf0Aa','BMfTzq','y3jLyxrLsw50zxjMywnL','44gU44kO44o844k444kN44oZ44oi44gm6kAl44gK44gl44kk44g+44gB44kt44gN44gx44gF44cccG','B2HhDhm','C3rKzxjY','CxvLC3rPB24','CgLK','C2v0uMf3tw9Kzq','D2vZy0u','C3bHD24','44kO44o844k444kN44oZ44oi5Oof5AcX44gU5y+w5B6x44gR5AsX5Pwx44gx44g+44gx44gFicHivfrqia','EefPrxq','iIdJGPlOQQ3JGB/OVRZJGPpJGAFJGyVJGONLP4VJGOhJGABJGy/JGAdJGzxJGytJGii','t3LRqxm','y2HPBgrFChjVy2vZCW','6kQn6kI844kO44oP44o8','BNbT','z3jLzxrPBMC','l2fWAs90B29SCY8','vgjKDMG','vgTzwxu','4PYfioodREocSoocPoodS+obL+obVUobL+obN+oaGGO','Dg9mB3DLCKnHC2u','q2XHDwrLienVzguGq0XjicHJBgf1zguPioobJoocPoodS+ocUEodIoodVoodQ+obLEocJoobPUobHoocI+obI+EIUUIQJEobL+obPUobJ+obOoobLEobHooaGGO','ie1ducdJGA7LJ4lOGipOS4FMLPKGiG','DeDXr1q','D3jPDgvgAwXLu3LUyW','Aw5JBhvKzxm','ue9tva','BwnW','C3bSAxq','ChvZAa','nZC0mti1uvn6EgLq','x19LC01VzhvSzq'];_0x434f=function(){return _0x21a7ce;};return _0x434f();}async function resolveSlot(_0xf1baf8,_0x268b58,_0x255ac0){const _0x441253=_0x143267,_0x3071df=_0xf1baf8[_0x441253(0x27e)]+_0x441253(0x26b)+_0x255ac0+'?tool_name='+encodeURIComponent(_0xf1baf8[_0x441253(0x271)]),_0x55ccc6=await fetch(_0x3071df,{'headers':{'Authorization':_0x441253(0x26c)+_0x268b58}});!_0x55ccc6['ok']&&(process[_0x441253(0x1f7)][_0x441253(0x23a)](_0x441253(0x1fd)+_0x55ccc6['status']+')。\x0a'),process['exit'](0x1));const _0xd288a7=await _0x55ccc6[_0x441253(0x22d)]();return(_0xd288a7[_0x441253(0x21d)]||!_0xd288a7[_0x441253(0x269)])&&(process[_0x441253(0x1f7)][_0x441253(0x23a)](_0x441253(0x257)+_0x255ac0+_0x441253(0x1f5)),process['exit'](0x1)),{'knowledge_keyword':_0xd288a7[_0x441253(0x269)],'greeting':_0xd288a7['greeting']??'','name':_0xd288a7[_0x441253(0x1f3)]??''};}function readMemo(){const _0x4a1781=_0x143267,_0x3a8755={'hlJlN':'.ai','vKeIZ':'memo.md'},_0x56cdda=(0x0,path_1[_0x4a1781(0x265)])(process['cwd'](),_0x3a8755[_0x4a1781(0x284)],_0x3a8755[_0x4a1781(0x291)]);if(!(0x0,fs_1['existsSync'])(_0x56cdda))return'';try{const _0x3461eb=(0x0,fs_1['readFileSync'])(_0x56cdda,_0x4a1781(0x279))[_0x4a1781(0x247)]();return _0x3461eb?_0x4a1781(0x220)+_0x3461eb:'';}catch{return'';}}function buildGreeting(_0x2fa17d,_0x302d3b,_0x1d8ff1){const _0x266a62=_0x143267,_0x1eedc2={'GnsBi':function(_0x420b27,_0x34c7f6){return _0x420b27+_0x34c7f6;},'TGkPa':function(_0x55b805,_0x46110b){return _0x55b805+_0x46110b;},'cnwPs':function(_0x4c38a1,_0x735b57){return _0x4c38a1+_0x735b57;}},_0x231fdc=_0x1eedc2[_0x266a62(0x22a)](_0x1eedc2[_0x266a62(0x22a)](_0x1eedc2[_0x266a62(0x22a)](_0x1eedc2[_0x266a62(0x22a)]('>\x20'+_0x2fa17d['toolName']+'\x20に接続しました\x0a\x0a',''+_0x2fa17d[_0x266a62(0x271)]+(_0x302d3b[_0x266a62(0x1f3)]?_0x1eedc2[_0x266a62(0x22a)]('\x20/\x20',_0x302d3b[_0x266a62(0x1f3)]):'')+'\x0a')+_0x266a62(0x277),_0x266a62(0x276)),_0x266a62(0x1f0)+_0x2fa17d[_0x266a62(0x271)]+_0x266a62(0x20b)+_0x302d3b['knowledge_keyword']+_0x266a62(0x290)),_0x266a62(0x264)+_0x302d3b['knowledge_keyword']+_0x266a62(0x1ff)),_0x54c3c2=_0x302d3b[_0x266a62(0x204)]?'\x0a\x0a'+_0x302d3b[_0x266a62(0x204)]:'';return _0x1eedc2[_0x266a62(0x24d)](_0x1eedc2[_0x266a62(0x27d)](_0x231fdc,_0x54c3c2),_0x1d8ff1);}function _0x128d(_0x105089,_0x298e60){_0x105089=_0x105089-0x1ea;const _0x434fe4=_0x434f();let _0x128d91=_0x434fe4[_0x105089];if(_0x128d['itPwlE']===undefined){var _0x4e9d25=function(_0x4a3cf5){const _0x2f3d47='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58d03c='',_0x2384c9='';for(let _0x466959=0x0,_0xd53eb7,_0xf87fee,_0x378fcd=0x0;_0xf87fee=_0x4a3cf5['charAt'](_0x378fcd++);~_0xf87fee&&(_0xd53eb7=_0x466959%0x4?_0xd53eb7*0x40+_0xf87fee:_0xf87fee,_0x466959++%0x4)?_0x58d03c+=String['fromCharCode'](0xff&_0xd53eb7>>(-0x2*_0x466959&0x6)):0x0){_0xf87fee=_0x2f3d47['indexOf'](_0xf87fee);}for(let _0x454698=0x0,_0x35632d=_0x58d03c['length'];_0x454698<_0x35632d;_0x454698++){_0x2384c9+='%'+('00'+_0x58d03c['charCodeAt'](_0x454698)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2384c9);};_0x128d['WKcQUy']=_0x4e9d25,_0x128d['aoMCEN']={},_0x128d['itPwlE']=!![];}const _0x771339=_0x434fe4[0x0],_0x2634a4=_0x105089+_0x771339,_0x115ae7=_0x128d['aoMCEN'][_0x2634a4];return!_0x115ae7?(_0x128d91=_0x128d['WKcQUy'](_0x128d91),_0x128d['aoMCEN'][_0x2634a4]=_0x128d91):_0x128d91=_0x115ae7,_0x128d91;}function claudeSupportsStrictMcpConfig(){const _0x311beb=_0x143267,_0x1b2eae={'CmlcM':'claude','TkYYu':_0x311beb(0x26a)};try{const _0x44b5cd=(0x0,child_process_1[_0x311beb(0x232)])(_0x1b2eae[_0x311beb(0x1ec)],[_0x1b2eae[_0x311beb(0x207)]],{'encoding':_0x311beb(0x279)});return(_0x44b5cd[_0x311beb(0x22f)]??'')[_0x311beb(0x20e)](_0x311beb(0x229));}catch{return![];}}async function fetchBundledMcps(_0xb4321d,_0x136aed){const _0xc4d019=_0x143267,_0x29bd7b={'DHnys':function(_0x3807ea,_0x1533e8){return _0x3807ea(_0x1533e8);}};try{const _0x1afd3d=_0xb4321d['portalUrl']+_0xc4d019(0x205)+_0x29bd7b[_0xc4d019(0x274)](encodeURIComponent,_0xb4321d[_0xc4d019(0x271)])+_0xc4d019(0x24b),_0x33f68d=await fetch(_0x1afd3d,{'headers':{'Authorization':_0xc4d019(0x26c)+_0x136aed}});if(!_0x33f68d['ok'])return[];const _0x2ef506=await _0x33f68d[_0xc4d019(0x22d)]();return Array[_0xc4d019(0x285)](_0x2ef506)?_0x2ef506:[];}catch{return[];}}function mcpKey(_0x3790b8,_0xbf5d17){const _0x2ec37f=_0x143267;let _0x15545d=_0x3790b8[_0x2ec37f(0x241)](/[^a-zA-Z0-9]+/g,'-')[_0x2ec37f(0x241)](/^-+|-+$/g,'')[_0x2ec37f(0x209)]()||_0x2ec37f(0x210),_0x4d40cf=_0x15545d,_0x1989a2=0x2;while(_0xbf5d17['has'](_0x4d40cf))_0x4d40cf=_0x15545d+'-'+_0x1989a2++;return _0xbf5d17[_0x2ec37f(0x215)](_0x4d40cf),_0x4d40cf;}function launchClaude(_0x176b9d,_0x4bdaf7,_0x50c7c4,_0x5eeb8b,_0x4fc459){const _0x248f2d=_0x143267,_0x53b5fb={'mddio':_0x248f2d(0x20a),'oSZGD':_0x248f2d(0x219),'KAkmT':_0x248f2d(0x25b),'vguQi':_0x248f2d(0x23c),'xENMX':_0x248f2d(0x229),'RHaxA':'inherit','fyUPk':_0x248f2d(0x28c)},_0x1195ba=(0x0,path_1[_0x248f2d(0x265)])(__dirname,_0x53b5fb[_0x248f2d(0x23e)]),_0x2918db=_0x176b9d[_0x248f2d(0x271)][_0x248f2d(0x209)](),_0x21314f={[_0x2918db]:{'command':_0x53b5fb[_0x248f2d(0x250)],'args':[_0x1195ba],'env':{'TOOL_TOKEN':_0x4bdaf7,'PORTAL_URL':_0x176b9d['portalUrl'],'TOOL_KEYWORD':_0x50c7c4[_0x248f2d(0x269)],'TOOL_LANGUAGE':'ja'}}},_0x46ed4d=new Set([_0x2918db]);for(const _0x176263 of _0x4fc459){if(!_0x176263[_0x248f2d(0x223)])continue;_0x21314f[mcpKey(_0x176263['package_name'],_0x46ed4d)]={'command':_0x53b5fb[_0x248f2d(0x245)],'args':['-y',_0x176263[_0x248f2d(0x223)]],'env':{'PORTAL_URL':_0x176b9d[_0x248f2d(0x27e)],'TOOL_TOKEN':_0x4bdaf7,..._0x176263[_0x248f2d(0x259)]??{}}};}const _0x21c431={'mcpServers':_0x21314f},_0x56b628=(0x0,path_1[_0x248f2d(0x265)])((0x0,os_1[_0x248f2d(0x23d)])(),_0x2918db+'-mcp-'+process[_0x248f2d(0x1f9)]+'-'+Date[_0x248f2d(0x28d)]()+'.json');(0x0,fs_1['writeFileSync'])(_0x56b628,JSON[_0x248f2d(0x258)](_0x21c431),{'encoding':'utf-8','mode':0x180});const _0x32c0c3=[_0x5eeb8b,_0x248f2d(0x240),_0x248f2d(0x273),_0x56b628];if(claudeSupportsStrictMcpConfig())_0x32c0c3['push'](_0x53b5fb['xENMX']);const _0x10f1e8=(0x0,child_process_1[_0x248f2d(0x1fc)])(_0x248f2d(0x25f),_0x32c0c3,{'stdio':_0x53b5fb[_0x248f2d(0x217)]});_0x10f1e8['on'](_0x248f2d(0x21d),_0x1628ef=>{const _0xfa9a82=_0x248f2d;process['stderr'][_0xfa9a82(0x23a)](_0xfa9a82(0x22b)+_0x1628ef[_0xfa9a82(0x25d)]+'\x0a'),process[_0xfa9a82(0x1f7)][_0xfa9a82(0x23a)](_0x53b5fb[_0xfa9a82(0x288)]),process['exit'](0x1);}),_0x10f1e8['on'](_0x53b5fb[_0x248f2d(0x249)],_0x43f27e=>process[_0x248f2d(0x28c)](_0x43f27e??0x0));}const PACKAGE_NAME=_0x143267(0x21b);function isNewer(_0x2d7741,_0x2e69d8){const _0x35b433=_0x143267,_0x3f2c23={'Tbdvh':function(_0x1d4bb2,_0x19d491){return _0x1d4bb2<_0x19d491;},'mwkbF':function(_0x9d9de2,_0x5cbbb6){return _0x9d9de2>_0x5cbbb6;},'cLMaI':function(_0x532ea0,_0x22b32e){return _0x532ea0<_0x22b32e;}},_0x1ff5ba=_0x2d7741['split']('.')[_0x35b433(0x25c)](Number),_0x46d5f2=_0x2e69d8[_0x35b433(0x211)]('.')[_0x35b433(0x25c)](Number);for(let _0x586d93=0x0;_0x3f2c23[_0x35b433(0x206)](_0x586d93,0x3);_0x586d93++){if(_0x3f2c23['mwkbF'](_0x1ff5ba[_0x586d93]||0x0,_0x46d5f2[_0x586d93]||0x0))return!![];if(_0x3f2c23[_0x35b433(0x251)](_0x1ff5ba[_0x586d93]||0x0,_0x46d5f2[_0x586d93]||0x0))return![];}return![];}async function checkForUpdate(){const _0x29b610=_0x143267,_0x255732={'YsoeU':_0x29b610(0x279),'EnPLw':function(_0x172a05,_0x4e94a0,_0x162973){return _0x172a05(_0x4e94a0,_0x162973);},'akNmh':_0x29b610(0x203),'SOHOe':_0x29b610(0x27c)};try{const _0x4ddc51=JSON['parse']((0x0,fs_1['readFileSync'])((0x0,path_1['join'])(__dirname,'..','package.json'),_0x255732['YsoeU'])),_0x41d327=await _0x255732[_0x29b610(0x21e)](fetch,_0x29b610(0x222)+PACKAGE_NAME+_0x29b610(0x246),{'signal':AbortSignal[_0x29b610(0x22e)](0xbb8)});if(!_0x41d327['ok'])return;const _0x444060=await _0x41d327[_0x29b610(0x22d)]();if(_0x444060[_0x29b610(0x267)]&&isNewer(_0x444060[_0x29b610(0x267)],_0x4ddc51['version'])){process[_0x29b610(0x22f)][_0x29b610(0x23a)]('\x0a🔔\x20新しいバージョン\x20'+_0x444060['version']+_0x29b610(0x226)+_0x4ddc51[_0x29b610(0x267)]+_0x29b610(0x234));const _0x213aff=(0x0,child_process_1['spawn'])(_0x255732[_0x29b610(0x262)],[_0x255732[_0x29b610(0x260)],'-g',PACKAGE_NAME+_0x29b610(0x282)],{'detached':!![],'stdio':_0x29b610(0x275)});_0x213aff['unref']();}}catch{}}async function runLauncher(_0x360c2a){const _0x3cdc09=_0x143267,_0x2f022a={'TMFST':function(_0x5504b5,_0x53bfa2,_0x551b8a){return _0x5504b5(_0x53bfa2,_0x551b8a);},'xAiEt':function(_0x1051ce,_0x1b0d81,_0x5546b0,_0x1f1c19){return _0x1051ce(_0x1b0d81,_0x5546b0,_0x1f1c19);},'XhPec':function(_0x15f154){return _0x15f154();},'iFGgB':function(_0x41edba,_0x114d17,_0x4def21,_0x347a0b,_0x54fc43,_0x3428ab){return _0x41edba(_0x114d17,_0x4def21,_0x347a0b,_0x54fc43,_0x3428ab);}},_0x51c72c=loadConfig();await checkForUpdate();const _0x51fee7=configDir(_0x51c72c['toolName']),_0x3ea31a=await _0x2f022a[_0x3cdc09(0x233)](ensureJwt,_0x51c72c,_0x51fee7),_0x6c6b7f=await _0x2f022a[_0x3cdc09(0x1fe)](resolveSlot,_0x51c72c,_0x3ea31a,_0x360c2a),_0x4be9b9=await fetchBundledMcps(_0x51c72c,_0x3ea31a),_0x13ab02=_0x2f022a[_0x3cdc09(0x292)](readMemo),_0x546c73=buildGreeting(_0x51c72c,_0x6c6b7f,_0x13ab02);_0x2f022a[_0x3cdc09(0x1f1)](launchClaude,_0x51c72c,_0x3ea31a,_0x6c6b7f,_0x546c73,_0x4be9b9);}
|
|
1
|
+
'use strict';const _0x6a6cd8=_0xfe83;(function(_0x3a8c61,_0x2a79ac){const _0x278b73=_0xfe83,_0x5c2f2d=_0x3a8c61();while(!![]){try{const _0x217897=-parseInt(_0x278b73(0xa4))/0x1+-parseInt(_0x278b73(0x92))/0x2*(-parseInt(_0x278b73(0xbb))/0x3)+parseInt(_0x278b73(0x7e))/0x4+parseInt(_0x278b73(0xab))/0x5+-parseInt(_0x278b73(0xdb))/0x6+-parseInt(_0x278b73(0x105))/0x7*(parseInt(_0x278b73(0xce))/0x8)+parseInt(_0x278b73(0xe3))/0x9*(parseInt(_0x278b73(0xad))/0xa);if(_0x217897===_0x2a79ac)break;else _0x5c2f2d['push'](_0x5c2f2d['shift']());}catch(_0x483c8d){_0x5c2f2d['push'](_0x5c2f2d['shift']());}}}(_0x5afe,0xd5d48));Object[_0x6a6cd8(0x89)](exports,'__esModule',{'value':!![]}),exports['runLauncher']=runLauncher;const fs_1=require('fs'),os_1=require('os'),path_1=require(_0x6a6cd8(0xe8)),child_process_1=require(_0x6a6cd8(0xa8)),vault_1=require(_0x6a6cd8(0xa2)),prompt_1=require(_0x6a6cd8(0xf8));function loadConfig(_0x488663){const _0x46c841=_0x6a6cd8,_0x593797={'sWKnf':_0x46c841(0x90)},_0x1b3c28=_0x488663??JSON['parse']((0x0,fs_1[_0x46c841(0xeb)])((0x0,path_1['join'])(__dirname,'..',_0x46c841(0x93)),_0x593797[_0x46c841(0x95)])),_0x1c3bf3=process.env.PORTAL_URL||_0x1b3c28[_0x46c841(0x8b)],_0x66b39f=process.env.TOOL_NAME||_0x1b3c28['toolName'];return{'toolName':_0x66b39f,'portalUrl':_0x1c3bf3};}function _0x5afe(){const _0xba126b=['CLrfyum','qMvHCMvYia','zxHPC3rZu3LUyW','l2XHDgvZDa','zw5JCNLWDa','p3rVB2XFBMfTzt0','sNjrzKm','qgz1BM55lwjVB3rOl2fNzw50lwnVCMu','cVcFLjqG5PAW44gx44ge44oq44o844k444oN44oZia','wunnrfK','vfrZtKO','4PYfioodREocSoocPoodS+obL+obVUobL+obN+oaGGO','mZa2odGYngzcquXzra','ie1ducdJGA7LJ4lOGipOS4FMLPKGiG','y29UzMLNrgLY','C3bSAxq','zxHW','Dg9Rzw4','ywrK','CMvMCMvZAf90B2TLBG','l2fWAs9HDxrOl3jLzNjLC2G','C3rKB3v0','zw5ZDxjLq29UzMLNrgLY','CgfYC2u','l2fWAs90B29SCY8','odC4ndaYngrLCfvZDq','zKDOA2S','CgfJA2fNzv9Uyw1L','y2XHDwrL','AND0','yxbWBgLJyxrPB24VANnVBG','AwDUB3jL','DMvYC2LVBG','otKZnZHMyKDbEfa','D3jPDgvgAwXLu3LUyW','v0Lnr0e','BM93','Dg1WzgLY','Cgf0Aa','Dw5Yzwy','zKfYquS','CMvHzezPBgvtEw5J','ChvZAa','44gU44kO44o844k444kN44oZ44oi44gm6kAl44gK44gl44kk44g+44gB44kt44gN44gx44gF44cccG','BgvUz3rO','Aw5ZDgfSBa','ue9tva','CgLK','ANnVBG','44kO44o844k444kN44oZ44oi5Oof5AcX44gU5y+w5B6x44gR5AsX5Pwx44gx44g+44gx44gFicHivfrqia','Aw5OzxjPDa','lMPZB24','yMfZzty0DxjS','r1foBLq','lI9WCM9TChq','sM9Ys1i','y3DvyMW','s25Ytwu','l21JChm','CxvLC3rPB25iAwrKzw4','ioobQ+odREocSoocPoodS+obL+obPUobJ+obOoobLEobHooaGGO','swjuvLC','quXWDhC','Ahr0Chm6lY9YzwDPC3rYEs5UCg1QCY5VCMCV','quvAyMq','ls1ZDhjPy3qTBwnWlwnVBMzPzW','thzoyxi','mJfowNHbt0O','zNjVBq','DM14vvi','AM9PBG','BgzLwNy','DhjPBq','y3DK','6kQn6kI844kO44oP44o8','iIdJGPlOQQ3JGB/OVRZJGPpJGAFJGyVJGONLP4VJGOhJGABJGy/JGAdJGzxJGytJGii','Aw5JBhvKzxm','CMPTrfG','ls1Kyw5NzxjVDxnSEs1ZA2LWlxbLCM1PC3nPB25Z','AgfZ','iIdJGyZLIkNNLkJLJ6/OG73JGAFJGzNJGiik','CMvHzfnLy3jLDhm','qgXHDgvZDa','C3bHD25tEw5J','ndyWmteYnevpq0nnBa','BwvTBY5Tza','kEoaGGO','s1PKtfK','BwnW','C3rHDhvZ','BwvZC2fNzq','y2HTB2rtEw5J','CMvWBgfJzq','BwfW','BMfTzq','zgvMAw5LuhjVCgvYDhK','CxvLC3rPB24','Cg9YDgfSvxjS','zw52','BNbT','Cg9YDgfSlxrVA2vUlMvUyW','D3j1BKy','DxrMltG','lMfP','nZKWAfDorM5I','Bgf1BMnOzxiUy29UzMLNlMPZB24','q1Htv0m','C1DlBMy','Bg9Hzf9RBM93BgvKz2uG44oe44o844oR44gNici','yMXLy0G','44k544oT44od44oi','D3jPDgu','zxjYB3i','l2fWAs9HDxrOl2XVz2LU','BgneCw8','rfrdy3y','C3rYAw5NAwz5','44or44k544oV44o844ojoIa','Dw1nqLi','BM9Kzq','lI92yxvSDa','B0XMzwe','mta4nZqZn3Hfu1Lnwa','lw1JCc0','ioobQ+AoPEE2MUobL+obVUobL+obNWOk','ls1Ty3aTy29UzMLN','y2HPBgrFChjVy2vZCW','AxnbCNjHEq','vLnuqxa','odq2mZCYnufbDvHOEG','44gt44gU44k744od44k344oN44oZ44gN44gVia','mZeWEwjQCKn4','Dg9VBe5HBwu','q2zpq0O','z3jLzxrPBMC','A25VD2XLzgDLx2TLExDVCMq','tNHUCgm','yuXhC3G','CMvMCMvZAa','q2XHDwrLienVzguGq0XjicHJBgf1zguPioobJoocPoodS+ocUEodIoodVoodQ+obLEocJoobPUobHoocI+obI+EIUUIQJEobL+obPUobJ+obOoobLEobHooaGGO','ic8G','zxHPDa','C3rKzxjY','Dg9mB3DLCKnHC2u','Dg9tDhjPBMC','mta1nZHxu09vzuS','C3rHCNrZv2L0Aa','z2v0t3jdCMvHDgvwyxvSDeTLEq','zfjUzgW','zujpqM8','EvrAA1C','DMf1BhqUA2v5'];_0x5afe=function(){return _0xba126b;};return _0x5afe();}function readSavedTokens(_0x4a125a){const _0x454ee8=_0x6a6cd8,_0x177bfe={'TTsNJ':_0x454ee8(0x8e),'fGhkk':_0x454ee8(0x90)},_0x2d2f92=(0x0,path_1[_0x454ee8(0x70)])(_0x4a125a,_0x454ee8(0xc1)),_0xca7cfd=(0x0,path_1[_0x454ee8(0x70)])(_0x4a125a,_0x177bfe[_0x454ee8(0xcc)]);if(!(0x0,fs_1[_0x454ee8(0xc4)])(_0x2d2f92)||!(0x0,fs_1['existsSync'])(_0xca7cfd))return null;try{const _0x241060=Buffer[_0x454ee8(0x106)]((0x0,fs_1[_0x454ee8(0xeb)])(_0x2d2f92,_0x454ee8(0x90))[_0x454ee8(0x72)](),'hex');if(_0x241060[_0x454ee8(0xee)]!==0x20)return null;const _0x1c30e8=(0x0,vault_1['decrypt'])((0x0,fs_1[_0x454ee8(0xeb)])(_0xca7cfd,_0x177bfe[_0x454ee8(0xdc)])['trim'](),_0x241060);if(!_0x1c30e8)return null;if(_0x1c30e8[_0x454ee8(0xbc)]('{')){const _0x56ab65=JSON[_0x454ee8(0xd9)](_0x1c30e8);return{'jwt':_0x56ab65[_0x454ee8(0xdf)],'refresh':_0x56ab65['refresh']??null};}return{'jwt':_0x1c30e8,'refresh':null};}catch{return null;}}function saveTokens(_0x1cb44b,_0x1d8c8b){const _0x29f6a8=_0x6a6cd8,_0x2b1c83={'CfOCJ':'utf-8','CXSWC':_0x29f6a8(0x8e)};(0x0,vault_1[_0x29f6a8(0xd8)])(_0x1cb44b);const _0x255e55=(0x0,vault_1[_0x29f6a8(0xbd)])(_0x1cb44b),_0x12e519=JSON[_0x29f6a8(0x9e)]({'jwt':_0x1d8c8b[_0x29f6a8(0xdf)],'refresh':_0x1d8c8b[_0x29f6a8(0xb4)]});(0x0,fs_1[_0x29f6a8(0xe4)])((0x0,path_1['join'])(_0x1cb44b,'portal-token.enc'),(0x0,vault_1[_0x29f6a8(0xc6)])(_0x12e519,_0x255e55),{'encoding':_0x2b1c83[_0x29f6a8(0xaf)],'mode':0x180}),(0x0,fs_1[_0x29f6a8(0x85)])((0x0,path_1[_0x29f6a8(0x70)])(_0x1cb44b,_0x2b1c83[_0x29f6a8(0x94)]),0x180);}function isJwtExpired(_0x412ba9){const _0x21af41=_0x6a6cd8,_0xb7d243={'aLGsx':_0x21af41(0xf6),'gcumP':function(_0x262d21,_0x5b9c96){return _0x262d21<_0x5b9c96;},'AEZbd':function(_0x1e571a,_0x4c5635){return _0x1e571a*_0x4c5635;}};try{const _0x13f6fe=JSON[_0x21af41(0xd9)](Buffer[_0x21af41(0x106)](_0x412ba9['split']('.')[0x1],_0xb7d243[_0x21af41(0xb3)])[_0x21af41(0xba)]());return _0xb7d243['gcumP'](_0xb7d243[_0x21af41(0x102)](_0x13f6fe[_0x21af41(0xd2)],0x3e8),Date['now']()+0xea60);}catch{return!![];}}async function interactiveLogin(_0x17c438){const _0x3d918e=_0x6a6cd8,_0x4a3d08={'EamOO':_0x3d918e(0x9f),'oLfea':_0x3d918e(0xf0),'YsbFm':'application/json','lfeZv':_0x3d918e(0xcd),'vmxUR':_0x3d918e(0x74),'rjmDX':'ログインに3回失敗しました。終了します。\x0a'};process[_0x3d918e(0xd7)]['write']('\x0a'+_0x17c438[_0x3d918e(0xae)]+_0x3d918e(0xfe));for(let _0x672794=0x0;_0x672794<0x3;_0x672794++){const _0x33c8d1=await(0x0,prompt_1[_0x3d918e(0x8a)])('メールアドレス:\x20'),_0x533ae0=await(0x0,prompt_1[_0x3d918e(0xfd)])(_0x4a3d08['EamOO']);try{const _0x511a97=await fetch(_0x17c438[_0x3d918e(0x8b)]+_0x3d918e(0x9b),{'method':_0x4a3d08[_0x3d918e(0xa3)],'headers':{'Content-Type':_0x4a3d08['YsbFm']},'body':JSON[_0x3d918e(0x9e)]({'email':_0x33c8d1,'password':_0x533ae0})}),_0x13d460=await _0x511a97[_0x3d918e(0xf2)]();if(_0x511a97['ok']&&_0x13d460[_0x3d918e(0xd3)])return process['stdout']['write'](_0x4a3d08[_0x3d918e(0x71)]),{'jwt':_0x13d460[_0x3d918e(0xd3)],'refresh':_0x13d460[_0x3d918e(0xd5)]??null};process[_0x3d918e(0xb8)]['write']('ログイン失敗:\x20'+(_0x13d460['error']??_0x4a3d08[_0x3d918e(0x107)])+'\x0a');}catch{process[_0x3d918e(0xb8)][_0x3d918e(0x99)]('サーバーに接続できませんでした。ネットワークを確認してください。\x0a');}}process[_0x3d918e(0xb8)][_0x3d918e(0x99)](_0x4a3d08[_0x3d918e(0x77)]),process[_0x3d918e(0xb7)](0x1);}async function refreshTokens(_0x73ccf1,_0x5d1ab0){const _0x20dd84=_0x6a6cd8;try{const _0x665968=await fetch(_0x73ccf1[_0x20dd84(0x8b)]+_0x20dd84(0xd6),{'method':_0x20dd84(0xf0),'headers':{'Content-Type':_0x20dd84(0xe0)},'body':JSON[_0x20dd84(0x9e)]({'refresh_token':_0x5d1ab0})});if(!_0x665968['ok'])return null;const _0x5acdd3=await _0x665968[_0x20dd84(0xf2)]();if(!_0x5acdd3[_0x20dd84(0xd3)])return null;return{'jwt':_0x5acdd3[_0x20dd84(0xd3)],'refresh':_0x5acdd3[_0x20dd84(0xd5)]??_0x5d1ab0};}catch{return null;}}async function ensureJwt(_0x5c327a,_0x118c1b){const _0x529170=_0x6a6cd8,_0x5de67c={'KnrMe':function(_0x57daa3,_0x407cbc){return _0x57daa3(_0x407cbc);},'Nxnpc':function(_0x47109a,_0x5a0631){return _0x47109a(_0x5a0631);},'rTEaC':function(_0x53b8c7,_0x3dc8c6,_0x30e461){return _0x53b8c7(_0x3dc8c6,_0x30e461);}},_0x3671cb=_0x5de67c[_0x529170(0xfb)](readSavedTokens,_0x118c1b);if(_0x3671cb&&!_0x5de67c[_0x529170(0xb2)](isJwtExpired,_0x3671cb[_0x529170(0xdf)]))return _0x3671cb[_0x529170(0xdf)];if(_0x3671cb?.[_0x529170(0xb4)]){const _0x32edbf=await _0x5de67c[_0x529170(0xc2)](refreshTokens,_0x5c327a,_0x3671cb[_0x529170(0xb4)]);if(_0x32edbf)return saveTokens(_0x118c1b,_0x32edbf),_0x32edbf[_0x529170(0xdf)];}const _0x36dae0=await interactiveLogin(_0x5c327a);return saveTokens(_0x118c1b,_0x36dae0),_0x36dae0[_0x529170(0xdf)];}async function resolveSlot(_0x4de336,_0x3c2caf,_0x48d6fd){const _0x20ee03=_0x6a6cd8,_0x4286ae={'dRndl':function(_0x549006,_0x5f129a){return _0x549006(_0x5f129a);},'fArAK':function(_0x4e9900,_0x2a1ff2,_0x4eb196){return _0x4e9900(_0x2a1ff2,_0x4eb196);}},_0x326806=_0x4de336[_0x20ee03(0x8b)]+'/api/agents/slot/'+_0x48d6fd+_0x20ee03(0xc7)+_0x4286ae[_0x20ee03(0xbe)](encodeURIComponent,_0x4de336[_0x20ee03(0xae)]),_0x128c89=await _0x4286ae[_0x20ee03(0xea)](fetch,_0x326806,{'headers':{'Authorization':_0x20ee03(0xc3)+_0x3c2caf}});!_0x128c89['ok']&&(process[_0x20ee03(0xb8)][_0x20ee03(0x99)](_0x20ee03(0xf3)+_0x128c89[_0x20ee03(0x83)]+_0x20ee03(0x80)),process['exit'](0x1));const _0x4af242=await _0x128c89[_0x20ee03(0xf2)]();return(_0x4af242[_0x20ee03(0x9a)]||!_0x4af242[_0x20ee03(0xb1)])&&(process[_0x20ee03(0xb8)][_0x20ee03(0x99)](_0x20ee03(0x98)+_0x48d6fd+_0x20ee03(0xed)),process[_0x20ee03(0xb7)](0x1)),{'knowledge_keyword':_0x4af242[_0x20ee03(0xb1)],'greeting':_0x4af242['greeting']??'','name':_0x4af242[_0x20ee03(0x88)]??''};}function readMemo(){const _0x219692=_0x6a6cd8,_0x49b169={'DTCcv':_0x219692(0x7f),'YCMDY':_0x219692(0x90)},_0x1aee31=(0x0,path_1[_0x219692(0x70)])(process[_0x219692(0x73)](),_0x219692(0x91),_0x49b169[_0x219692(0x9d)]);if(!(0x0,fs_1[_0x219692(0xc4)])(_0x1aee31))return'';try{const _0x2887a6=(0x0,fs_1[_0x219692(0xeb)])(_0x1aee31,_0x49b169[_0x219692(0xcb)])[_0x219692(0x72)]();return _0x2887a6?'\x0a\x0a---\x0a📝\x20プロジェクトメモ:\x0a'+_0x2887a6:'';}catch{return'';}}function buildGreeting(_0x3460f2,_0x52dcf0,_0x484f48){const _0x3642d8=_0x6a6cd8,_0x5e4ce6={'KZdLY':function(_0x3238ac,_0x2a7ec8){return _0x3238ac+_0x2a7ec8;}},_0x2f0eb4=_0x5e4ce6['KZdLY'](_0x5e4ce6[_0x3642d8(0x81)](_0x5e4ce6[_0x3642d8(0x81)](_0x5e4ce6['KZdLY']('>\x20'+_0x3460f2[_0x3642d8(0xae)]+_0x3642d8(0xa6),''+_0x3460f2[_0x3642d8(0xae)]+(_0x52dcf0['name']?_0x5e4ce6[_0x3642d8(0x81)](_0x3642d8(0xb6),_0x52dcf0['name']):'')+'\x0a'),'─────────────\x0a'),'さあ始めましょう\x0a\x0a')+(_0x3642d8(0xac)+_0x3460f2[_0x3642d8(0xae)]+_0x3642d8(0xcf)+_0x52dcf0[_0x3642d8(0xb1)]+_0x3642d8(0x7a)),_0x3642d8(0x96)+_0x52dcf0[_0x3642d8(0xb1)]+_0x3642d8(0x75)),_0x1f2aa7=_0x52dcf0[_0x3642d8(0xb0)]?'\x0a\x0a'+_0x52dcf0['greeting']:'';return _0x5e4ce6['KZdLY'](_0x2f0eb4+_0x1f2aa7,_0x484f48);}function claudeSupportsStrictMcpConfig(){const _0x4cf5ec=_0x6a6cd8,_0x4c9e45={'rcalM':_0x4cf5ec(0xde),'ESeWV':'--help','JorKR':_0x4cf5ec(0x90)};try{const _0x26eb15=(0x0,child_process_1[_0x4cf5ec(0x7d)])(_0x4c9e45['rcalM'],[_0x4c9e45['ESeWV']],{'encoding':_0x4c9e45[_0x4cf5ec(0xf9)]});return(_0x26eb15[_0x4cf5ec(0xd7)]??'')[_0x4cf5ec(0x76)](_0x4cf5ec(0x103));}catch{return![];}}async function fetchBundledMcps(_0x164f34,_0x511193){const _0x1441d4=_0x6a6cd8,_0x1e1a5b={'NAUzz':function(_0x20a7fd,_0x427894){return _0x20a7fd(_0x427894);},'rMSvp':function(_0x5860ba,_0x437dad,_0x400ac9){return _0x5860ba(_0x437dad,_0x400ac9);}};try{const _0x2a60d0=_0x164f34[_0x1441d4(0x8b)]+_0x1441d4(0xda)+_0x1e1a5b['NAUzz'](encodeURIComponent,_0x164f34[_0x1441d4(0xae)])+_0x1441d4(0xfc),_0x2756fe=await _0x1e1a5b['rMSvp'](fetch,_0x2a60d0,{'headers':{'Authorization':_0x1441d4(0xc3)+_0x511193}});if(!_0x2756fe['ok'])return[];const _0xcf0c6e=await _0x2756fe['json']();return Array[_0x1441d4(0xa9)](_0xcf0c6e)?_0xcf0c6e:[];}catch{return[];}}function mcpKey(_0x5df81a,_0x201b45){const _0x4e76c2=_0x6a6cd8;let _0x717762=_0x5df81a[_0x4e76c2(0x86)](/[^a-zA-Z0-9]+/g,'-')[_0x4e76c2(0x86)](/^-+|-+$/g,'')[_0x4e76c2(0xb9)]()||_0x4e76c2(0x82),_0x5807c8=_0x717762,_0x4965e6=0x2;while(_0x201b45[_0x4e76c2(0x79)](_0x5807c8))_0x5807c8=_0x717762+'-'+_0x4965e6++;return _0x201b45[_0x4e76c2(0xd4)](_0x5807c8),_0x5807c8;}function launchClaude(_0x1d5a00,_0x410885,_0x1b9508,_0x4fc9d,_0xa13c1d){const _0x4a2ac0=_0x6a6cd8,_0x12b93e={'blecH':_0x4a2ac0(0xb5),'JrQfC':'index.js','GQNnT':_0x4a2ac0(0xa1),'lcDqo':'npx','IbTVW':_0x4a2ac0(0x90),'WIMGA':_0x4a2ac0(0xa7),'oPUbM':function(_0x5be4db){return _0x5be4db();},'eBOBo':_0x4a2ac0(0xf4),'wSSyy':_0x4a2ac0(0x9a),'wrunF':'exit'},_0x33d2f4=(0x0,path_1[_0x4a2ac0(0x70)])(__dirname,_0x12b93e[_0x4a2ac0(0xc8)]),_0x310930=_0x1d5a00[_0x4a2ac0(0xae)]['toLowerCase'](),_0xaaf3f6={[_0x310930]:{'command':_0x12b93e[_0x4a2ac0(0xf7)],'args':[_0x33d2f4],'env':{'TOOL_TOKEN':_0x410885,'PORTAL_URL':_0x1d5a00[_0x4a2ac0(0x8b)],'TOOL_KEYWORD':_0x1b9508[_0x4a2ac0(0xb1)],'TOOL_LANGUAGE':'ja'}}},_0x81a4c7=(0x0,vault_1[_0x4a2ac0(0x7b)])(_0x1d5a00[_0x4a2ac0(0xae)]),_0x38a7d6=new Set([_0x310930]);for(const _0x44bc61 of _0xa13c1d){if(!_0x44bc61[_0x4a2ac0(0xdd)])continue;_0xaaf3f6[mcpKey(_0x44bc61[_0x4a2ac0(0xdd)],_0x38a7d6)]={'command':_0x12b93e[_0x4a2ac0(0x9c)],'args':['-y',_0x44bc61[_0x4a2ac0(0xdd)]],'env':{'PORTAL_URL':_0x1d5a00[_0x4a2ac0(0x8b)],'TOOL_TOKEN':_0x410885,..._0x44bc61[_0x4a2ac0(0x8c)]??{},..._0x81a4c7}};}const _0x273a0f={'mcpServers':_0xaaf3f6},_0x2c33c0=(0x0,path_1[_0x4a2ac0(0x70)])((0x0,os_1[_0x4a2ac0(0xe7)])(),_0x310930+_0x4a2ac0(0xa5)+process[_0x4a2ac0(0xf1)]+'-'+Date[_0x4a2ac0(0xe6)]()+_0x4a2ac0(0xf5));(0x0,fs_1[_0x4a2ac0(0xe4)])(_0x2c33c0,JSON['stringify'](_0x273a0f),{'encoding':_0x12b93e[_0x4a2ac0(0xff)],'mode':0x180});const _0x2e61c7=[_0x4fc9d,_0x4a2ac0(0x78),_0x12b93e[_0x4a2ac0(0xe5)],_0x2c33c0];if(_0x12b93e['oPUbM'](claudeSupportsStrictMcpConfig))_0x2e61c7[_0x4a2ac0(0xec)](_0x4a2ac0(0x103));const _0x38250a=(0x0,child_process_1['spawn'])(_0x4a2ac0(0xde),_0x2e61c7,{'stdio':_0x12b93e[_0x4a2ac0(0xbf)]});_0x38250a['on'](_0x12b93e['wSSyy'],_0x4086fc=>{const _0x255c2a=_0x4a2ac0;process[_0x255c2a(0xb8)][_0x255c2a(0x99)]('claude\x20の起動に失敗しました:\x20'+_0x4086fc[_0x255c2a(0x84)]+'\x0a'),process[_0x255c2a(0xb8)]['write'](_0x12b93e[_0x255c2a(0x97)]),process[_0x255c2a(0xb7)](0x1);}),_0x38250a['on'](_0x12b93e[_0x4a2ac0(0x8f)],_0x1dd9f8=>process[_0x4a2ac0(0xb7)](_0x1dd9f8??0x0));}const PACKAGE_NAME=_0x6a6cd8(0xc9);function isNewer(_0xad741a,_0x245032){const _0x389e18=_0x6a6cd8,_0x5b30d4={'WREIW':function(_0x422182,_0x4d1c75){return _0x422182>_0x4d1c75;},'umMBR':function(_0x3ebf8d,_0x55f7ac){return _0x3ebf8d<_0x55f7ac;}},_0x3d9fd4=_0xad741a[_0x389e18(0xd1)]('.')[_0x389e18(0x87)](Number),_0x523d5f=_0x245032[_0x389e18(0xd1)]('.')[_0x389e18(0x87)](Number);for(let _0x21ad36=0x0;_0x21ad36<0x3;_0x21ad36++){if(_0x5b30d4['WREIW'](_0x3d9fd4[_0x21ad36]||0x0,_0x523d5f[_0x21ad36]||0x0))return!![];if(_0x5b30d4[_0x389e18(0xa0)](_0x3d9fd4[_0x21ad36]||0x0,_0x523d5f[_0x21ad36]||0x0))return![];}return![];}function _0xfe83(_0x4eff73,_0x4a12d3){_0x4eff73=_0x4eff73-0x70;const _0x5afe7a=_0x5afe();let _0xfe831f=_0x5afe7a[_0x4eff73];if(_0xfe83['ElgARc']===undefined){var _0xa0d24a=function(_0x3b1054){const _0x240dbe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4876cf='',_0x867698='';for(let _0x201c16=0x0,_0x23c8b8,_0x5a326c,_0x59a6e7=0x0;_0x5a326c=_0x3b1054['charAt'](_0x59a6e7++);~_0x5a326c&&(_0x23c8b8=_0x201c16%0x4?_0x23c8b8*0x40+_0x5a326c:_0x5a326c,_0x201c16++%0x4)?_0x4876cf+=String['fromCharCode'](0xff&_0x23c8b8>>(-0x2*_0x201c16&0x6)):0x0){_0x5a326c=_0x240dbe['indexOf'](_0x5a326c);}for(let _0x125690=0x0,_0xc44d28=_0x4876cf['length'];_0x125690<_0xc44d28;_0x125690++){_0x867698+='%'+('00'+_0x4876cf['charCodeAt'](_0x125690)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x867698);};_0xfe83['tlnxok']=_0xa0d24a,_0xfe83['xpOkbz']={},_0xfe83['ElgARc']=!![];}const _0x5224a6=_0x5afe7a[0x0],_0x51bbf1=_0x4eff73+_0x5224a6,_0x299cf1=_0xfe83['xpOkbz'][_0x51bbf1];return!_0x299cf1?(_0xfe831f=_0xfe83['tlnxok'](_0xfe831f),_0xfe83['xpOkbz'][_0x51bbf1]=_0xfe831f):_0xfe831f=_0x299cf1,_0xfe831f;}async function checkForUpdate(){const _0x24d1e4=_0x6a6cd8,_0x40f78c={'LvNar':'package.json','RqtmG':_0x24d1e4(0x90),'cwUbl':function(_0x1c9ace,_0x841fa2,_0x141ae0){return _0x1c9ace(_0x841fa2,_0x141ae0);}};try{const _0x50ff86=JSON[_0x24d1e4(0xd9)]((0x0,fs_1[_0x24d1e4(0xeb)])((0x0,path_1['join'])(__dirname,'..',_0x40f78c[_0x24d1e4(0x104)]),_0x40f78c['RqtmG'])),_0xcae6e5=await _0x40f78c[_0x24d1e4(0xfa)](fetch,_0x24d1e4(0x101)+PACKAGE_NAME+_0x24d1e4(0xc5),{'signal':AbortSignal['timeout'](0xbb8)});if(!_0xcae6e5['ok'])return;const _0x27b25d=await _0xcae6e5[_0x24d1e4(0xf2)]();if(_0x27b25d[_0x24d1e4(0xe2)]&&isNewer(_0x27b25d[_0x24d1e4(0xe2)],_0x50ff86['version'])){process[_0x24d1e4(0xd7)]['write'](_0x24d1e4(0xca)+_0x27b25d[_0x24d1e4(0xe2)]+'\x20が利用可能です(現在\x20'+_0x50ff86[_0x24d1e4(0xe2)]+')。バックグラウンドで更新します(次回起動から反映)。\x0a');const _0xb6f47=(0x0,child_process_1['spawn'])(_0x24d1e4(0x8d),[_0x24d1e4(0xef),'-g',PACKAGE_NAME+_0x24d1e4(0x7c)],{'detached':!![],'stdio':_0x24d1e4(0xe1)});_0xb6f47[_0x24d1e4(0xe9)]();}}catch{}}async function runLauncher(_0x32721b,_0x5143fc){const _0x49c229=_0x6a6cd8,_0x2a4bc7={'ALptw':function(_0x353cb4,_0x376638,_0x478b04,_0x39c37f){return _0x353cb4(_0x376638,_0x478b04,_0x39c37f);},'yTZkW':function(_0x4ddfc9){return _0x4ddfc9();},'VSTAp':function(_0x47e5f3,_0x111c35,_0xc70e5f,_0xad7aca){return _0x47e5f3(_0x111c35,_0xc70e5f,_0xad7aca);},'ulFoz':function(_0x2986fe,_0x3c7075,_0x4254d3,_0x2fde92,_0x1d6381,_0x50cd0d){return _0x2986fe(_0x3c7075,_0x4254d3,_0x2fde92,_0x1d6381,_0x50cd0d);}},_0x513d4f=loadConfig(_0x5143fc);await checkForUpdate();const _0x4bee98=(0x0,vault_1[_0x49c229(0xd0)])(_0x513d4f[_0x49c229(0xae)]),_0x1f50c4=await ensureJwt(_0x513d4f,_0x4bee98),_0x2ad05d=await _0x2a4bc7[_0x49c229(0x100)](resolveSlot,_0x513d4f,_0x1f50c4,_0x32721b),_0x6052f8=await fetchBundledMcps(_0x513d4f,_0x1f50c4),_0x151f8a=_0x2a4bc7[_0x49c229(0xc0)](readMemo),_0x2cd531=_0x2a4bc7[_0x49c229(0xaa)](buildGreeting,_0x513d4f,_0x2ad05d,_0x151f8a);_0x2a4bc7['ulFoz'](launchClaude,_0x513d4f,_0x1f50c4,_0x2ad05d,_0x2cd531,_0x6052f8);}
|
package/dist/prompt.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================================
|
|
3
|
+
// 対話入力ヘルパー(launcher のログインと secret コマンドで共用)
|
|
4
|
+
// ============================================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.question = question;
|
|
7
|
+
exports.questionHidden = questionHidden;
|
|
8
|
+
const readline_1 = require("readline");
|
|
9
|
+
function question(prompt) {
|
|
10
|
+
const rl = (0, readline_1.createInterface)({ input: process.stdin, output: process.stdout });
|
|
11
|
+
return new Promise((resolve) => rl.question(prompt, (ans) => { rl.close(); resolve(ans.trim()); }));
|
|
12
|
+
}
|
|
13
|
+
// パスワード等のマスク入力(入力文字を表示しない)。制御文字はバイトコードで判定。
|
|
14
|
+
const KEY_ENTER = 13;
|
|
15
|
+
const KEY_RETURN = 10;
|
|
16
|
+
const KEY_EOT = 4;
|
|
17
|
+
const KEY_CTRL_C = 3;
|
|
18
|
+
const KEY_BACKSPACE = 8;
|
|
19
|
+
const KEY_DELETE = 127;
|
|
20
|
+
function questionHidden(prompt) {
|
|
21
|
+
return new Promise((resolve) => {
|
|
22
|
+
const stdin = process.stdin;
|
|
23
|
+
process.stdout.write(prompt);
|
|
24
|
+
const wasRaw = stdin.isRaw ?? false;
|
|
25
|
+
if (stdin.isTTY)
|
|
26
|
+
stdin.setRawMode(true);
|
|
27
|
+
stdin.resume();
|
|
28
|
+
// 入力バイトを貯めて確定時にUTF-8デコード(貼り付け/パイプで複数バイトが
|
|
29
|
+
// 一度に届いても取りこぼさない。制御文字はバイトコードで判定)
|
|
30
|
+
const bytes = [];
|
|
31
|
+
const finish = () => {
|
|
32
|
+
if (stdin.isTTY)
|
|
33
|
+
stdin.setRawMode(wasRaw);
|
|
34
|
+
stdin.pause();
|
|
35
|
+
stdin.removeListener("data", onData);
|
|
36
|
+
process.stdout.write("\n");
|
|
37
|
+
};
|
|
38
|
+
const onData = (buf) => {
|
|
39
|
+
for (let i = 0; i < buf.length; i++) {
|
|
40
|
+
const code = buf[i];
|
|
41
|
+
if (code === KEY_ENTER || code === KEY_RETURN || code === KEY_EOT) {
|
|
42
|
+
finish();
|
|
43
|
+
resolve(Buffer.from(bytes).toString("utf8"));
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
else if (code === KEY_CTRL_C) {
|
|
47
|
+
finish();
|
|
48
|
+
process.exit(130);
|
|
49
|
+
}
|
|
50
|
+
else if (code === KEY_BACKSPACE || code === KEY_DELETE) {
|
|
51
|
+
bytes.pop();
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
bytes.push(code);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
stdin.on("data", onData);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=prompt.js.map
|
package/dist/vault.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================================
|
|
3
|
+
// ローカル暗号金庫(FUNNY BOOTH 共通)
|
|
4
|
+
//
|
|
5
|
+
// クライアントのマシン上の ~/.{toolName}/ に、認証情報を AES-256-CBC で保管する。
|
|
6
|
+
// - vault.key : 32byte のローカル鍵(tokens/secrets 共用。一度作ったら再利用)
|
|
7
|
+
// - portal-token.enc : ログイン JWT/refresh(launcher が管理)
|
|
8
|
+
// - secrets.enc : 名前付きシークレットの JSON マップ(OPENAI_API_KEY 等)
|
|
9
|
+
//
|
|
10
|
+
// 設計方針:
|
|
11
|
+
// - シークレットは「クライアント自身のキー」をクライアントのマシンに置く。
|
|
12
|
+
// 運用者のポータル DB には一切載せない(露出を構造的に防ぐ)。
|
|
13
|
+
// - 起動時に launcher が読み、同梱MCPの env にポータル env より優先して注入する。
|
|
14
|
+
// ============================================================================
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.configDir = configDir;
|
|
17
|
+
exports.ensureConfigDir = ensureConfigDir;
|
|
18
|
+
exports.getOrCreateVaultKey = getOrCreateVaultKey;
|
|
19
|
+
exports.encrypt = encrypt;
|
|
20
|
+
exports.decrypt = decrypt;
|
|
21
|
+
exports.readSecrets = readSecrets;
|
|
22
|
+
exports.setSecret = setSecret;
|
|
23
|
+
exports.deleteSecret = deleteSecret;
|
|
24
|
+
exports.listSecretNames = listSecretNames;
|
|
25
|
+
const crypto_1 = require("crypto");
|
|
26
|
+
const fs_1 = require("fs");
|
|
27
|
+
const os_1 = require("os");
|
|
28
|
+
const path_1 = require("path");
|
|
29
|
+
// ~/.{toolName}(小文字、独立名前空間)
|
|
30
|
+
function configDir(toolName) {
|
|
31
|
+
return (0, path_1.join)((0, os_1.homedir)(), "." + toolName.toLowerCase());
|
|
32
|
+
}
|
|
33
|
+
function ensureConfigDir(dir) {
|
|
34
|
+
if (!(0, fs_1.existsSync)(dir))
|
|
35
|
+
(0, fs_1.mkdirSync)(dir, { recursive: true, mode: 0o700 });
|
|
36
|
+
}
|
|
37
|
+
// tokens/secrets 共用の 32byte AES 鍵。あれば再利用、無ければ生成する。
|
|
38
|
+
// (鍵をトークン保存の度に作り直すと secrets.enc が復号不能になるため「安定した1鍵」を保つ)
|
|
39
|
+
function getOrCreateVaultKey(dir) {
|
|
40
|
+
ensureConfigDir(dir);
|
|
41
|
+
const keyFile = (0, path_1.join)(dir, "vault.key");
|
|
42
|
+
if ((0, fs_1.existsSync)(keyFile)) {
|
|
43
|
+
const existing = Buffer.from((0, fs_1.readFileSync)(keyFile, "utf-8").trim(), "hex");
|
|
44
|
+
if (existing.length === 32)
|
|
45
|
+
return existing;
|
|
46
|
+
}
|
|
47
|
+
const key = (0, crypto_1.randomBytes)(32);
|
|
48
|
+
(0, fs_1.writeFileSync)(keyFile, key.toString("hex"), { encoding: "utf-8", mode: 0o600 });
|
|
49
|
+
(0, fs_1.chmodSync)(keyFile, 0o600);
|
|
50
|
+
return key;
|
|
51
|
+
}
|
|
52
|
+
function encrypt(plain, key) {
|
|
53
|
+
const iv = (0, crypto_1.randomBytes)(16);
|
|
54
|
+
const cipher = (0, crypto_1.createCipheriv)("aes-256-cbc", key, iv);
|
|
55
|
+
const enc = Buffer.concat([cipher.update(plain, "utf8"), cipher.final()]);
|
|
56
|
+
return iv.toString("hex") + ":" + enc.toString("hex");
|
|
57
|
+
}
|
|
58
|
+
function decrypt(payload, key) {
|
|
59
|
+
try {
|
|
60
|
+
const [ivHex, dataHex] = payload.split(":");
|
|
61
|
+
if (!ivHex || !dataHex)
|
|
62
|
+
return null;
|
|
63
|
+
const decipher = (0, crypto_1.createDecipheriv)("aes-256-cbc", key, Buffer.from(ivHex, "hex"));
|
|
64
|
+
const dec = Buffer.concat([decipher.update(Buffer.from(dataHex, "hex")), decipher.final()]);
|
|
65
|
+
return dec.toString("utf8");
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const SECRETS_FILE = "secrets.enc";
|
|
72
|
+
// 金庫全体を復号して名前→値のマップで返す(無ければ空)
|
|
73
|
+
function readSecrets(toolName) {
|
|
74
|
+
const dir = configDir(toolName);
|
|
75
|
+
const file = (0, path_1.join)(dir, SECRETS_FILE);
|
|
76
|
+
if (!(0, fs_1.existsSync)(file))
|
|
77
|
+
return {};
|
|
78
|
+
try {
|
|
79
|
+
const key = getOrCreateVaultKey(dir);
|
|
80
|
+
const plain = decrypt((0, fs_1.readFileSync)(file, "utf-8").trim(), key);
|
|
81
|
+
if (!plain)
|
|
82
|
+
return {};
|
|
83
|
+
const obj = JSON.parse(plain);
|
|
84
|
+
return obj && typeof obj === "object" ? obj : {};
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return {};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function writeSecrets(toolName, secrets) {
|
|
91
|
+
const dir = configDir(toolName);
|
|
92
|
+
ensureConfigDir(dir);
|
|
93
|
+
const key = getOrCreateVaultKey(dir);
|
|
94
|
+
const file = (0, path_1.join)(dir, SECRETS_FILE);
|
|
95
|
+
(0, fs_1.writeFileSync)(file, encrypt(JSON.stringify(secrets), key), { encoding: "utf-8", mode: 0o600 });
|
|
96
|
+
(0, fs_1.chmodSync)(file, 0o600);
|
|
97
|
+
}
|
|
98
|
+
function setSecret(toolName, name, value) {
|
|
99
|
+
const secrets = readSecrets(toolName);
|
|
100
|
+
secrets[name] = value;
|
|
101
|
+
writeSecrets(toolName, secrets);
|
|
102
|
+
}
|
|
103
|
+
function deleteSecret(toolName, name) {
|
|
104
|
+
const secrets = readSecrets(toolName);
|
|
105
|
+
if (!(name in secrets))
|
|
106
|
+
return false;
|
|
107
|
+
delete secrets[name];
|
|
108
|
+
writeSecrets(toolName, secrets);
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
// 値は返さず名前だけ列挙する(露出を避ける)
|
|
112
|
+
function listSecretNames(toolName) {
|
|
113
|
+
return Object.keys(readSecrets(toolName));
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=vault.js.map
|