apt-mcp-agent-setup 1.2.13 β†’ 1.2.15

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.
@@ -1 +1 @@
1
- const _0x3c5c4e=_0x103b;(function(_0xd3aa1e,_0x53894a){const _0x58678e=_0x103b,_0x12a526=_0xd3aa1e();while(!![]){try{const _0x118711=-parseInt(_0x58678e(0x121))/0x1*(parseInt(_0x58678e(0x124))/0x2)+parseInt(_0x58678e(0x125))/0x3+-parseInt(_0x58678e(0x126))/0x4*(parseInt(_0x58678e(0x127))/0x5)+-parseInt(_0x58678e(0x11d))/0x6+-parseInt(_0x58678e(0x11a))/0x7*(-parseInt(_0x58678e(0x120))/0x8)+-parseInt(_0x58678e(0x12c))/0x9+parseInt(_0x58678e(0x122))/0xa*(parseInt(_0x58678e(0x129))/0xb);if(_0x118711===_0x53894a)break;else _0x12a526['push'](_0x12a526['shift']());}catch(_0x4d35fe){_0x12a526['push'](_0x12a526['shift']());}}}(_0x257a,0xcb417));const TOOL_MAPPING=require(_0x3c5c4e(0x123)),ORIGINAL_TO_EXPOSED={};for(const [exposed,info]of Object['entries'](TOOL_MAPPING)){ORIGINAL_TO_EXPOSED[info[_0x3c5c4e(0x11f)]+':'+info[_0x3c5c4e(0x12b)]]=exposed;}function translateToolList(_0x5b21f7,_0x592f0b=null){const _0x3bcfc9=_0x3c5c4e,_0x57e66c=[];for(const _0x4966e4 of _0x5b21f7){let _0x40a50e=null;if(_0x592f0b)_0x40a50e=ORIGINAL_TO_EXPOSED[_0x592f0b+':'+_0x4966e4[_0x3bcfc9(0x11e)]];else for(const [_0x48f78f,_0x3e0b6e]of Object[_0x3bcfc9(0x11b)](TOOL_MAPPING)){if(_0x3e0b6e['originalName']===_0x4966e4[_0x3bcfc9(0x11e)]){_0x40a50e=_0x48f78f;break;}}if(_0x40a50e){const _0xe46e1e={..._0x4966e4};_0xe46e1e[_0x3bcfc9(0x11e)]=_0x40a50e,_0x57e66c['push'](_0xe46e1e);}}return _0x57e66c;}function mapExposedToOriginal(_0x4744d4){return TOOL_MAPPING[_0x4744d4]||null;}function _0x103b(_0x337c0e,_0x5c6859){_0x337c0e=_0x337c0e-0x11a;const _0x257ac7=_0x257a();let _0x103bf3=_0x257ac7[_0x337c0e];if(_0x103b['hzEsYk']===undefined){var _0x35b007=function(_0x13c284){const _0x9f1392='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b725a='',_0x1b9241='';for(let _0x5b21f7=0x0,_0x592f0b,_0x57e66c,_0x4966e4=0x0;_0x57e66c=_0x13c284['charAt'](_0x4966e4++);~_0x57e66c&&(_0x592f0b=_0x5b21f7%0x4?_0x592f0b*0x40+_0x57e66c:_0x57e66c,_0x5b21f7++%0x4)?_0x4b725a+=String['fromCharCode'](0xff&_0x592f0b>>(-0x2*_0x5b21f7&0x6)):0x0){_0x57e66c=_0x9f1392['indexOf'](_0x57e66c);}for(let _0x40a50e=0x0,_0x48f78f=_0x4b725a['length'];_0x40a50e<_0x48f78f;_0x40a50e++){_0x1b9241+='%'+('00'+_0x4b725a['charCodeAt'](_0x40a50e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b9241);};_0x103b['FOdvri']=_0x35b007,_0x103b['RXvSWn']={},_0x103b['hzEsYk']=!![];}const _0x1c775f=_0x257ac7[0x0],_0x6ab163=_0x337c0e+_0x1c775f,_0x3cef39=_0x103b['RXvSWn'][_0x6ab163];return!_0x3cef39?(_0x103bf3=_0x103b['FOdvri'](_0x103bf3),_0x103b['RXvSWn'][_0x6ab163]=_0x103bf3):_0x103bf3=_0x3cef39,_0x103bf3;}const _0x1b9241={};_0x1b9241[_0x3c5c4e(0x12a)]=TOOL_MAPPING,_0x1b9241['translateToolList']=translateToolList,_0x1b9241[_0x3c5c4e(0x128)]=mapExposedToOriginal,module[_0x3c5c4e(0x11c)]=_0x1b9241;function _0x257a(){const _0x244a13=['mtm0ndHsy3jJqNa','mtGYntrfAeT0rve','mZbOBLD0ChG','lI9YB3v0zxiUy29UzMLNlMPZ','mtiYr1HPz1DK','mJm5mdC1ngL6yuH0tW','ntu3mtC2CfbOu25n','mJvIsMfQAem','BwfWrxHWB3nLzfrVt3jPz2LUywW','ote5mdy0m1nIyNvgsa','ve9ptf9nqvbqsu5h','B3jPz2LUywXoyw1L','ntmYnJCYmNLdzuPxta','ntm5DuHjy0Tm','zw50CMLLCW','zxHWB3j0CW','mte5mtiYmMjjCMLvsq','BMfTzq','yMfJA2vUza'];_0x257a=function(){return _0x244a13;};return _0x257a();}
1
+ const _0x34e977=_0x3e71;(function(_0x2db48b,_0x268a3f){const _0x4a2588=_0x3e71,_0xfb7284=_0x2db48b();while(!![]){try{const _0xfd600d=parseInt(_0x4a2588(0x1d4))/0x1+parseInt(_0x4a2588(0x1da))/0x2*(-parseInt(_0x4a2588(0x1ce))/0x3)+-parseInt(_0x4a2588(0x1cf))/0x4+-parseInt(_0x4a2588(0x1dd))/0x5+-parseInt(_0x4a2588(0x1d7))/0x6+-parseInt(_0x4a2588(0x1d2))/0x7*(-parseInt(_0x4a2588(0x1d5))/0x8)+parseInt(_0x4a2588(0x1dc))/0x9*(parseInt(_0x4a2588(0x1d3))/0xa);if(_0xfd600d===_0x268a3f)break;else _0xfb7284['push'](_0xfb7284['shift']());}catch(_0xeced3a){_0xfb7284['push'](_0xfb7284['shift']());}}}(_0x46d9,0x835ce));const TOOL_MAPPING=require('./router.config.js'),ORIGINAL_TO_EXPOSED={};for(const [exposed,info]of Object[_0x34e977(0x1d6)](TOOL_MAPPING)){ORIGINAL_TO_EXPOSED[info[_0x34e977(0x1d9)]+':'+info[_0x34e977(0x1d0)]]=exposed;}function translateToolList(_0x4a54e7,_0x5b22f6=null){const _0x378b02=_0x34e977,_0x1cde82=[];for(const _0xa5e9bc of _0x4a54e7){let _0x55af00=null;if(_0x5b22f6)_0x55af00=ORIGINAL_TO_EXPOSED[_0x5b22f6+':'+_0xa5e9bc['name']];else for(const [_0x38e8f9,_0x3b2d5c]of Object[_0x378b02(0x1d6)](TOOL_MAPPING)){if(_0x3b2d5c[_0x378b02(0x1d0)]===_0xa5e9bc[_0x378b02(0x1d1)]){_0x55af00=_0x38e8f9;break;}}if(_0x55af00){const _0x2f2ae9={..._0xa5e9bc};_0x2f2ae9[_0x378b02(0x1d1)]=_0x55af00,_0x1cde82['push'](_0x2f2ae9);}}return _0x1cde82;}function _0x46d9(){const _0x310a36=['BwfWrxHWB3nLzfrVt3jPz2LUywW','mte0nZy4CLLWrKff','ndaZnJa4nvHgrffgwG','zxHWB3j0CW','ve9ptf9nqvbqsu5h','mtK1sgTdvwjx','nde2odm0mhvMCgLXwq','B3jPz2LUywXoyw1L','BMfTzq','n3fcv09NtG','mteXme1mCwPUEG','nZa5mtqZwfHdB3D1','nZG5mJaYngXnCuLlva','zw50CMLLCW','mZKYmtCXneTXAvfRCq','DhjHBNnSyxrLvg9VBeXPC3q','yMfJA2vUza','mJe1ogjiy1bTuq'];_0x46d9=function(){return _0x310a36;};return _0x46d9();}function _0x3e71(_0x1a17d7,_0x45d7b6){_0x1a17d7=_0x1a17d7-0x1cd;const _0x46d9aa=_0x46d9();let _0x3e71a7=_0x46d9aa[_0x1a17d7];if(_0x3e71['rLUufF']===undefined){var _0x4088ee=function(_0x1af4f6){const _0x123bb0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x396831='',_0xa39a8d='';for(let _0x4a54e7=0x0,_0x5b22f6,_0x1cde82,_0xa5e9bc=0x0;_0x1cde82=_0x1af4f6['charAt'](_0xa5e9bc++);~_0x1cde82&&(_0x5b22f6=_0x4a54e7%0x4?_0x5b22f6*0x40+_0x1cde82:_0x1cde82,_0x4a54e7++%0x4)?_0x396831+=String['fromCharCode'](0xff&_0x5b22f6>>(-0x2*_0x4a54e7&0x6)):0x0){_0x1cde82=_0x123bb0['indexOf'](_0x1cde82);}for(let _0x55af00=0x0,_0x38e8f9=_0x396831['length'];_0x55af00<_0x38e8f9;_0x55af00++){_0xa39a8d+='%'+('00'+_0x396831['charCodeAt'](_0x55af00)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa39a8d);};_0x3e71['Ycjywb']=_0x4088ee,_0x3e71['FPUxnm']={},_0x3e71['rLUufF']=!![];}const _0x20e4ff=_0x46d9aa[0x0],_0x298a99=_0x1a17d7+_0x20e4ff,_0x2e6c91=_0x3e71['FPUxnm'][_0x298a99];return!_0x2e6c91?(_0x3e71a7=_0x3e71['Ycjywb'](_0x3e71a7),_0x3e71['FPUxnm'][_0x298a99]=_0x3e71a7):_0x3e71a7=_0x2e6c91,_0x3e71a7;}function mapExposedToOriginal(_0x306d5c){return TOOL_MAPPING[_0x306d5c]||null;}const _0xa39a8d={};_0xa39a8d[_0x34e977(0x1cd)]=TOOL_MAPPING,_0xa39a8d[_0x34e977(0x1d8)]=translateToolList,_0xa39a8d[_0x34e977(0x1db)]=mapExposedToOriginal,module[_0x34e977(0x1de)]=_0xa39a8d;
@@ -1 +1 @@
1
- const _0x10d1ab=_0x48dc;(function(_0x1ea3a3,_0x439c9c){const _0x547903=_0x48dc,_0x17f1a6=_0x1ea3a3();while(!![]){try{const _0x2ec3cd=parseInt(_0x547903(0x131))/0x1+-parseInt(_0x547903(0x18b))/0x2*(parseInt(_0x547903(0x120))/0x3)+parseInt(_0x547903(0x151))/0x4+parseInt(_0x547903(0x15f))/0x5+-parseInt(_0x547903(0xfa))/0x6+parseInt(_0x547903(0x124))/0x7+-parseInt(_0x547903(0x149))/0x8;if(_0x2ec3cd===_0x439c9c)break;else _0x17f1a6['push'](_0x17f1a6['shift']());}catch(_0x1a2972){_0x17f1a6['push'](_0x17f1a6['shift']());}}}(_0x4c89,0x6bb96));function _0x48dc(_0x2249c3,_0x53a7b6){_0x2249c3=_0x2249c3-0xec;const _0x4c8969=_0x4c89();let _0x48dcc9=_0x4c8969[_0x2249c3];if(_0x48dc['JigeOt']===undefined){var _0x23b158=function(_0xcc5ecd){const _0x1eab71='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26a162='',_0x6c7b77='';for(let _0x34920e=0x0,_0x120b2a,_0x8d35b,_0x16ea02=0x0;_0x8d35b=_0xcc5ecd['charAt'](_0x16ea02++);~_0x8d35b&&(_0x120b2a=_0x34920e%0x4?_0x120b2a*0x40+_0x8d35b:_0x8d35b,_0x34920e++%0x4)?_0x26a162+=String['fromCharCode'](0xff&_0x120b2a>>(-0x2*_0x34920e&0x6)):0x0){_0x8d35b=_0x1eab71['indexOf'](_0x8d35b);}for(let _0x2076c1=0x0,_0x5c3b3d=_0x26a162['length'];_0x2076c1<_0x5c3b3d;_0x2076c1++){_0x6c7b77+='%'+('00'+_0x26a162['charCodeAt'](_0x2076c1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6c7b77);};_0x48dc['PfYEfa']=_0x23b158,_0x48dc['cZyTQB']={},_0x48dc['JigeOt']=!![];}const _0x5469b7=_0x4c8969[0x0],_0x4021b7=_0x2249c3+_0x5469b7,_0x67c929=_0x48dc['cZyTQB'][_0x4021b7];return!_0x67c929?(_0x48dcc9=_0x48dc['PfYEfa'](_0x48dcc9),_0x48dc['cZyTQB'][_0x4021b7]=_0x48dcc9):_0x48dcc9=_0x67c929,_0x48dcc9;}const fs=require('fs'),path=require('path'),os=require('os'),http=require(_0x10d1ab(0x176)),https=require(_0x10d1ab(0x157)),{verifyLicense}=require(_0x10d1ab(0x145)),{spawnBackends}=require(_0x10d1ab(0x13b)),{translateToolList,mapExposedToOriginal}=require(_0x10d1ab(0x175));function _0x4c89(){const _0x4d98cc=['Aw50zwDYAxr5twfUAwzLC3rqyxrO','zM9YD2fYzfjLCxvLC3q','mJq4nJeXmLbWq2XeCa','yxbWBgLJyxrPB24VANnVBG','AgvHzgvYCW','C3rKAw4','q29UDgvUDc1mzw5NDgG','zNjVBq','Cgf0Ag5HBwu','Aw5JBhvKzxm','CgfYC2u','CgvYzM9YBuHLyxj0yMvHDa','BwfW','AM9PBG','BgvUz3rO','CMvZDwX0','Cg9W','yM9KEq','ANnVBNjWyW','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGAw50zwDYAxr5lw1HBMLMzxn0lMPZB24GBwLZC2LUzY4GrxHPDgLUzY4','Dg9tDhjPBMC','AgfUzgXLq2XPzw50rgf0yq','DMfSDwvZ','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOG','C3rHCNq','ANnVBG','Bg9HzeXPy2vUC2vlzxK','BMfTzq','l2HLyxj0yMvHDa','y2HPBgq','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGzxHWAxjLzcbVCIbPBNzHBgLKlIbfEgL0Aw5NlG','zw50CMLLCW','Bwv0Ag9K','DxrMoa','Ahr0Chm6','ywrKrxzLBNrmAxn0zw5LCG','w01ducbbz2vUDf0GrMfPBgvKihrVigLUAxrPywXPEMuGC2vYDMLJzsa','lMfUAgrO','yMfZzty0DxjS','zgLNzxn0','nNrPBgLhDW','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGsw52ywXPzcbTyw5PzMvZDcbMB3jTyxqUiev4AxrPBMCU','Dg9Rzw4','BM93','ntqZmtKZqw9KzuPO','C3rKB3v0','w01ducbbz2vUDf0GsgvHCNrIzwf0ignOzwnRigzHAwXLzcbVCIb0Aw1LzcbVDxq6','uhjVEhLtzxj2zxi','y2XPzw50qNvMzMvY','Cgf1C2u','r0vu','mJaYnc0Xms0Wnq','igLZig5VDcbYDw5UAw5N','BwnWlwfNzw50lxbYB3H5','tw96AwXSys81lJaGkgnVBxbHDgLIBgu7ie5VzguV','lIbdB250Aw51Aw5NihDPDgGGy2fJAgvKihrVA2vUlG','vgfYz2v0igjHy2TLBMqG','ndqYmtrrC093z2W','C3bSAxq','C3rKAw5mAxn0zw5LCG','zgLZCgXHEu5HBwu','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGDMvYAwzPzwqGC3vJy2vZC2z1BgX5igzVCIb1C2vYoIa','DhjPBq','D3jPDgu','CMvTB3zLtgLZDgvUzxi','zgvZDhjVEq','DxnLCG','lI9IywnRzw5KCY5QCW','DMfSAwq','CMvHzezPBgvtEw5J','zxHPDa','D3jPDgvuB0nSAwvUDa','BgLJzw5ZzuTLEq','ChjVDg9JB2W','ue9tva','y3jLyxrLsgfZAa','D3jPDgvfCNjVCG','lI4VBgLJzw5Zzs92zxjPzNKUANm','ChvIBgLJs2v5','tgLJzw5ZzsbLEhbPCMvK','BgLJzw5Zzs5RzxK','mZiZodK2mhrItKHssG','ChjVDg9JB2XwzxjZAw9U','Cgf0Aa','zxHW','C2vUzfjLCxvLC3q','yMfJA2vUzhm','ig1VzgLMAwvKlIbfEgL0Aw5NlG','zxHPC3rZu3LUyW','mJC3nZm5nKHxzw5Ruq','C3rHDhvZ','zxjYB3i','BwTKAxjtEw5J','zgLZDa','ywrTAw4','Ahr0Chm','BwvZC2fNzq','DMvYC2LVBG','zgf0yq','CMvXDwvZDa','Ag9ZDg5HBwu','zgv2AwnLswq','C2LNBMfS','mJG0otaYmfb5BhPJCa','mI4W','ywjVCNq','DxbKyxrL','ufjprfvdveLptL9qvujmsunFs0vz','lI4VBgLJzw5Zzs9MAw5NzxjWCMLUDc5QCW','lIbdB250ywn0ihn1ChbVCNqGyxqGC3vWCg9YDebHBMHKAc5PBY4GrxHPDgLUzY4','D3jPDgvgAwXLu3LUyW','Dg9VBhm','w01ducbbz2vUDf0Gu3rHCNrPBMCGC2vYDMvYigf0ia','C2LNBMf0DxjL','C3rVCa','Aw50zwDYAxr5lw1HBMLMzxn0lMPZB24','lI4VlI4','zMLSzxm','ChjVAMvJDfbHDgG','CMvJDxjZAxzL','Cgf5Bg9Hza','CMvWBgfJzq','C3rYAw5N','CNvUBMLUzW','C3rYAw5NAwz5','lI9YB3v0zxiUANm','Ahr0Ca','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGu2LNBMf0DxjLihzLCMLMAwnHDgLVBIbMywLSzwqUiev4AxrPBMCU','w01ducbbz2vUDf0GsgvHCNrIzwf0ihjLzNjLC2GGzMfPBgvKoIbtzxj2zxiGCMv0DxjUzwqG','DMvYAwz5','w01ducbbz2vUDf0GtgLJzw5ZzsbLEhbPCMvKig9Uia','CMvHC29U','yMfJA2vUza','Dg9VBhmVBgLZDa','w01ducbbz2vUDf0GrMfPBgvKihrVihnHDMuGCMvMCMvZAgvKigXPy2vUC2uGDg9Rzw4GDg8GzgLZAZO','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGsw52ywXPzcbZAwDUyxr1CMuUiev4AxrPBMCU','w01ducbbz2vUDf0GsgvHCNrIzwf0ignOzwnRoIb0B2TLBIbOyxmGBgvZCYb0AgfUidyGzgf5CYbYzw1HAw5PBMCUifjLzNjLC2HPBMCUlI4','yNL0zuXLBMD0Aa','zw5K','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGAgfZigjLzw4GCMv2B2TLzc4GrxHPDgLUzY4','Dw5RBM93BG','C2HHmJu2','AgvHCNrIzwf0sw50zxj2ywW','Dg9VBhmVy2fSBa','w01ducbbz2vUDf0GrMfPBgvKihrVihbHCNnLiePtt04TuLbdig1LC3nHz2uGzNjVBsbJBgLLBNq6','Cg9YDa','zMXHDa','mti1nta2zg1dz2fk','Ag9TzwrPCG','BgLZDenOyw5Nzwq','Dg9ju09tDhjPBMC','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGDMvYAwzPy2f0Aw9UigzHAwXLzdOG','vgHLig9WzxjHDgLVBIb3yxmGywjVCNrLzc4','BwfPBG','BwfZDgvYlNb1yMXPyY5Wzw0','y3j5ChrV','C3rHDhvZq29Kzq','Aw5PDgLHBgL6zq','AgfUzgXLq2XPzw50twvZC2fNzq','y2f0y2G','ywjVCNrLza','y3DK'];_0x4c89=function(){return _0x4d98cc;};return _0x4c89();}function httpRequest(_0x5bbb5d,_0x37490f={}){return new Promise((_0x28b1e5,_0x2ab063)=>{const _0x3f3b52=_0x48dc;try{const _0x84c164=new URL(_0x5bbb5d),_0x67e1d5=_0x84c164[_0x3f3b52(0x141)]===_0x3f3b52(0x11a)?https:http,_0x343c93={'User-Agent':_0x3f3b52(0x12e)+process['version']+')',..._0x37490f[_0x3f3b52(0xfc)]},_0x1bc750=_0x343c93;if(_0x37490f[_0x3f3b52(0x109)]){const _0x52e85f=typeof _0x37490f['body']===_0x3f3b52(0x172)?_0x37490f[_0x3f3b52(0x109)]:JSON[_0x3f3b52(0x174)](_0x37490f['body']);!_0x1bc750[_0x3f3b52(0xfe)]&&!_0x1bc750['content-length']&&(_0x1bc750[_0x3f3b52(0xfe)]=Buffer[_0x3f3b52(0x181)](_0x52e85f));}const _0x4d5057={};_0x4d5057[_0x3f3b52(0x118)]=_0x37490f[_0x3f3b52(0x118)]||_0x3f3b52(0x12a),_0x4d5057[_0x3f3b52(0x15c)]=_0x84c164[_0x3f3b52(0x15c)],_0x4d5057[_0x3f3b52(0x189)]=_0x84c164[_0x3f3b52(0x189)]||(_0x84c164[_0x3f3b52(0x141)]===_0x3f3b52(0x11a)?0x1bb:0x50),_0x4d5057[_0x3f3b52(0x14b)]=_0x84c164[_0x3f3b52(0x100)]+_0x84c164['search'],_0x4d5057[_0x3f3b52(0xfc)]=_0x1bc750;const _0x4bf578=_0x4d5057,_0x9db1c3=_0x67e1d5[_0x3f3b52(0x15b)](_0x4bf578,_0x3508d4=>{const _0x59d888=_0x3f3b52;let _0x36b59f='';_0x3508d4['on'](_0x59d888(0x15a),_0xef83a9=>{_0x36b59f+=_0xef83a9;}),_0x3508d4['on'](_0x59d888(0x182),()=>{const _0x39adc2=_0x59d888;_0x28b1e5({'ok':_0x3508d4[_0x39adc2(0xf2)]>=0xc8&&_0x3508d4[_0x39adc2(0xf2)]<0x12c,'status':_0x3508d4[_0x39adc2(0xf2)],'json':async()=>JSON[_0x39adc2(0x102)](_0x36b59f),'text':async()=>_0x36b59f});});});_0x9db1c3['on']('error',_0x48045e=>{_0x2ab063(_0x48045e);}),_0x37490f[_0x3f3b52(0x15e)]&&(_0x37490f[_0x3f3b52(0x15e)][_0x3f3b52(0xf6)]?_0x9db1c3[_0x3f3b52(0x139)](new Error('The\x20operation\x20was\x20aborted.')):_0x37490f['signal'][_0x3f3b52(0x11b)]('abort',()=>{const _0x532c4b=_0x3f3b52;_0x9db1c3[_0x532c4b(0x139)](new Error(_0x532c4b(0xee)));})),_0x37490f['body']&&_0x9db1c3[_0x3f3b52(0x137)](_0x37490f[_0x3f3b52(0x109)]),_0x9db1c3[_0x3f3b52(0x182)]();}catch(_0x944dc0){_0x2ab063(_0x944dc0);}});}class ProxyServer{constructor(_0x2cf232={}){const _0x8c7931=_0x10d1ab;this['projectPath']=_0x2cf232[_0x8c7931(0x16e)]||process[_0x8c7931(0xf7)](),this[_0x8c7931(0x140)]=_0x2cf232[_0x8c7931(0x140)]||this[_0x8c7931(0x112)](),this['deviceId']=_0x2cf232[_0x8c7931(0x15d)],this[_0x8c7931(0x146)]=_0x2cf232[_0x8c7931(0x146)]||_0x2cf232['masterSecret'],this[_0x8c7931(0x14e)]=null,this[_0x8c7931(0x128)]='',this[_0x8c7931(0x173)]=![],this[_0x8c7931(0x125)]=_0x2cf232[_0x8c7931(0x125)]||process['stdout'],this[_0x8c7931(0xf8)]=_0x2cf232[_0x8c7931(0xf8)]||path[_0x8c7931(0x105)](__dirname,_0x8c7931(0x16c),_0x8c7931(0x16b));}['loadLicenseKey'](){const _0x9a2f24=_0x10d1ab,_0x565f68=path['join'](os[_0x9a2f24(0x18c)](),_0x9a2f24(0x11d),_0x9a2f24(0x148));if(fs['existsSync'](_0x565f68))return fs[_0x9a2f24(0x13d)](_0x565f68,_0x9a2f24(0x119))[_0x9a2f24(0x136)]();return null;}async['performHeartbeat'](){const _0x3ed3dc=_0x10d1ab,_0x2bbeb1=process.env.MCP_SKIP_LICENSE_CHECK==='1';if(_0x2bbeb1||!this[_0x3ed3dc(0x140)])return;const _0xca4f12=this['licenseKey']['split']('.');if(_0xca4f12[_0x3ed3dc(0x106)]!==0x3)return;let _0x22c513;try{_0x22c513=JSON['parse'](Buffer[_0x3ed3dc(0xff)](_0xca4f12[0x1],'base64url')['toString'](_0x3ed3dc(0x119)));}catch(_0x1f2c63){return;}if(!_0x22c513||!_0x22c513[_0x3ed3dc(0x14c)])return;const _0x12c2b7=0x6*0x18*0xe10*0x3e8,_0x2111ce=_0x22c513[_0x3ed3dc(0x14c)]-Date[_0x3ed3dc(0x123)]();if(_0x2111ce<_0x12c2b7){console[_0x3ed3dc(0x153)](_0x3ed3dc(0x180));const _0x4cad84=process.env.MCP_ACTIVATION_URL||'https://agentkit.alphatechs.ai/api',_0x623ce6=_0x4cad84+_0x3ed3dc(0x114),_0xbf4958=new AbortController(),_0x3f548b=setTimeout(()=>_0xbf4958[_0x3ed3dc(0x161)](),0x1388);try{const _0x3f90a2={};_0x3f90a2['Content-Type']=_0x3ed3dc(0xfb);const _0x393b93={};_0x393b93[_0x3ed3dc(0x122)]=this[_0x3ed3dc(0x140)];const _0x16de18=await httpRequest(_0x623ce6,{'method':_0x3ed3dc(0x142),'headers':_0x3f90a2,'body':JSON[_0x3ed3dc(0x174)](_0x393b93),'signal':_0xbf4958['signal']});clearTimeout(_0x3f548b);if(_0x16de18['status']===0x193){console['error'](_0x3ed3dc(0x183)),process[_0x3ed3dc(0x13e)](0x1);return;}if(_0x16de18[_0x3ed3dc(0x152)]===0x191){console['error'](_0x3ed3dc(0x116)),process['exit'](0x1);return;}if(!_0x16de18['ok']){console[_0x3ed3dc(0x153)](_0x3ed3dc(0x178)+_0x16de18['status']+_0x3ed3dc(0x12f));return;}const _0x5c4a36=await _0x16de18[_0x3ed3dc(0x111)]();if(_0x5c4a36&&_0x5c4a36[_0x3ed3dc(0x122)]){this[_0x3ed3dc(0x140)]=_0x5c4a36[_0x3ed3dc(0x122)];const _0x19a4c8=path[_0x3ed3dc(0x105)](os['homedir'](),_0x3ed3dc(0x11d),_0x3ed3dc(0x148));try{const _0x2689ea={};_0x2689ea[_0x3ed3dc(0x16f)]=!![],fs[_0x3ed3dc(0x154)](path['dirname'](_0x19a4c8),_0x2689ea),fs[_0x3ed3dc(0x166)](_0x19a4c8,_0x5c4a36[_0x3ed3dc(0x122)],_0x3ed3dc(0x119)),console[_0x3ed3dc(0x153)]('[MCP\x20Agent]\x20Heartbeat:\x20License\x20token\x20successfully\x20refreshed.');}catch(_0x511a9a){console[_0x3ed3dc(0x153)](_0x3ed3dc(0x17e),_0x511a9a['message']);}}}catch(_0x3e698f){clearTimeout(_0x3f548b),console['error'](_0x3ed3dc(0x126),_0x3e698f[_0x3ed3dc(0x158)],_0x3ed3dc(0x12f));}}}async[_0x10d1ab(0x110)](){const _0x14eac5=_0x10d1ab;console[_0x14eac5(0x153)](_0x14eac5(0x168)+this[_0x14eac5(0x16e)]);if(!this[_0x14eac5(0x146)]){if(process.env.MCP_ADMIN_DIR){const _0x5df06e=path['join'](process.env.MCP_ADMIN_DIR,_0x14eac5(0xf0));fs[_0x14eac5(0x150)](_0x5df06e)&&(this[_0x14eac5(0x146)]=fs[_0x14eac5(0x13d)](_0x5df06e,_0x14eac5(0x119))['trim']());}if(!this[_0x14eac5(0x146)]){let _0x330149=__dirname;while(_0x330149){const _0x653791=path[_0x14eac5(0x105)](_0x330149,_0x14eac5(0x156),_0x14eac5(0xf0));if(fs[_0x14eac5(0x150)](_0x653791)){this[_0x14eac5(0x146)]=fs[_0x14eac5(0x13d)](_0x653791,'utf8')[_0x14eac5(0x136)]();break;}const _0x16b309=path['dirname'](_0x330149);if(_0x16b309===_0x330149)break;_0x330149=_0x16b309;}}}const _0x521846=this[_0x14eac5(0xf8)],_0x536b5c=!__dirname[_0x14eac5(0x171)](/\\/g,'/')[_0x14eac5(0x132)]('/')[_0x14eac5(0x101)](_0x14eac5(0x155)),_0x48d864=process.env.MCP_SKIP_INTEGRITY_CHECK==='1'||_0x536b5c&&!fs['existsSync'](_0x521846);if(!_0x48d864){const _0x140eb8=require(_0x14eac5(0xf1));if(!fs['existsSync'](_0x521846)){console[_0x14eac5(0x153)](_0x14eac5(0x10b)),process['exit'](0x1);return;}let _0x7586b4;try{_0x7586b4=JSON[_0x14eac5(0x102)](fs['readFileSync'](_0x521846,_0x14eac5(0x119)));}catch(_0xe8f8a4){console[_0x14eac5(0x153)]('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20Failed\x20to\x20parse\x20integrity-manifest.json.\x20Exiting.'),process[_0x14eac5(0x13e)](0x1);return;}if(!_0x7586b4['files']||!_0x7586b4[_0x14eac5(0x169)]){console['error'](_0x14eac5(0x121)),process['exit'](0x1);return;}const _0x2f86da=this['publicKey']||require('../license/verify.js')[_0x14eac5(0x163)];try{const _0x5272f3=JSON[_0x14eac5(0x174)](_0x7586b4[_0x14eac5(0x16d)]),_0x5a913d=Buffer[_0x14eac5(0xff)](_0x7586b4[_0x14eac5(0x169)],_0x14eac5(0x11e)),_0x17c8ed=_0x140eb8[_0x14eac5(0x179)](null,Buffer[_0x14eac5(0xff)](_0x5272f3),_0x2f86da,_0x5a913d);if(!_0x17c8ed){console[_0x14eac5(0x153)](_0x14eac5(0x17f)),process[_0x14eac5(0x13e)](0x1);return;}}catch(_0x583d81){console['error'](_0x14eac5(0x177)),process[_0x14eac5(0x13e)](0x1);return;}const _0x1b95ad=path['join'](__dirname,'../..');for(const [_0xd215e0,_0xca1521]of Object[_0x14eac5(0x117)](_0x7586b4[_0x14eac5(0x16d)])){const _0x182833=path[_0x14eac5(0x105)](_0x1b95ad,_0xd215e0);if(!fs['existsSync'](_0x182833)){console[_0x14eac5(0x153)](_0x14eac5(0x10f)+_0xd215e0+_0x14eac5(0x14f)),process[_0x14eac5(0x13e)](0x1);return;}try{const _0xe023d8=fs[_0x14eac5(0x13d)](_0x182833),_0x37e3fb=_0x140eb8[_0x14eac5(0x143)](_0x14eac5(0x185))[_0x14eac5(0x162)](_0xe023d8)[_0x14eac5(0x11f)]('hex');if(_0x37e3fb!==_0xca1521){console[_0x14eac5(0x153)]('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20'+_0xd215e0+'\x20modified.\x20Exiting.'),process['exit'](0x1);return;}}catch(_0x4cbd6d){console[_0x14eac5(0x153)]('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20'+_0xd215e0+_0x14eac5(0x14f)),process['exit'](0x1);return;}}}const _0x2ab714=process.env.MCP_SKIP_LICENSE_CHECK==='1';if(!_0x2ab714){if(!this[_0x14eac5(0x15d)]){const {getFingerprint:_0x36f188}=require(_0x14eac5(0x164));this[_0x14eac5(0x15d)]=_0x36f188();}const _0x4765ae=verifyLicense(this[_0x14eac5(0x140)],this[_0x14eac5(0x15d)],this[_0x14eac5(0x146)]);if(!_0x4765ae[_0x14eac5(0x13c)]){if(_0x4765ae['reason']===_0x14eac5(0x147)){const _0x5cab55=_0x4765ae[_0x14eac5(0x170)]||{},_0x465c92=_0x5cab55[_0x14eac5(0x14c)]?new Date(_0x5cab55[_0x14eac5(0x14c)])[_0x14eac5(0xec)]()[_0x14eac5(0x132)]('T')[0x0]:_0x14eac5(0x184);console['error'](_0x14eac5(0x17a)+_0x465c92+'.\x20Renew\x20at\x20https://anhdh.io/renew.\x20Exiting.');}else console[_0x14eac5(0x153)](_0x14eac5(0xed)+_0x4765ae[_0x14eac5(0x17b)]+_0x14eac5(0x165));process['exit'](0x1);return;}console[_0x14eac5(0x153)](_0x14eac5(0x135)+_0x4765ae[_0x14eac5(0x170)][_0x14eac5(0x13a)]),await this[_0x14eac5(0x103)](),this[_0x14eac5(0x186)]=setInterval(()=>{const _0x4d2bd2=_0x14eac5;this[_0x4d2bd2(0x103)]()[_0x4d2bd2(0xf5)](_0x21e934=>{const _0xbb1825=_0x4d2bd2;console[_0xbb1825(0x153)]('[MCP\x20Agent]\x20Periodic\x20heartbeat\x20error:',_0x21e934[_0xbb1825(0x158)]);});},0x18*0x3c*0x3c*0x3e8);}this['backends']=spawnBackends(this[_0x14eac5(0x16e)]),this[_0x14eac5(0x173)]=!![];for(const _0x2c2db9 of Object[_0x14eac5(0x10e)](this[_0x14eac5(0x14e)])){_0x2c2db9['start']();}this['stdinListener']=_0x1091c7=>{const _0x471e2b=_0x14eac5;this[_0x471e2b(0x10d)](_0x1091c7[_0x471e2b(0x10c)]());},process[_0x14eac5(0xfd)]['on']('data',this[_0x14eac5(0x133)]);}['handleClientData'](_0x440670){const _0x284db3=_0x10d1ab;this['clientBuffer']+=_0x440670;const _0x1a3f71=this[_0x284db3(0x128)][_0x284db3(0x132)]('\x0a');this[_0x284db3(0x128)]=_0x1a3f71[_0x284db3(0x108)]();for(const _0x173b40 of _0x1a3f71){const _0x33df92=_0x173b40[_0x284db3(0x136)]();if(!_0x33df92)continue;try{const _0x18137e=JSON[_0x284db3(0x102)](_0x33df92);this[_0x284db3(0xf4)](_0x18137e);}catch(_0x26555f){console[_0x284db3(0x153)](_0x284db3(0x188),_0x173b40,_0x26555f[_0x284db3(0x158)]);}}}async[_0x10d1ab(0xf4)](_0x32c975){const _0x5771e9=_0x10d1ab,{id:_0x268887,method:_0x42a83d,params:_0x5749d4}=_0x32c975;if(!_0x42a83d)return;if(_0x42a83d==='initialize'){Promise['all'](Object['values'](this['backends'])[_0x5771e9(0x104)](_0x34797f=>_0x34797f[_0x5771e9(0x14d)](_0x5771e9(0xf3),_0x5749d4)[_0x5771e9(0xf5)](_0x37c47e=>{const _0x4238e6=_0x5771e9;console[_0x4238e6(0x153)](_0x4238e6(0x11c)+(_0x34797f[_0x4238e6(0x134)]||_0x34797f[_0x4238e6(0x113)])+':',_0x37c47e[_0x4238e6(0x158)]);})));const _0xc45673={};_0xc45673[_0x5771e9(0x18d)]=![];const _0x492274={};_0x492274['tools']=_0xc45673;const _0x1f9a72={};_0x1f9a72[_0x5771e9(0x113)]=_0x5771e9(0x12d),_0x1f9a72[_0x5771e9(0x159)]='1.0.0';const _0x98d83c={};_0x98d83c['protocolVersion']=_0x5749d4[_0x5771e9(0x14a)]||_0x5771e9(0x12b),_0x98d83c['capabilities']=_0x492274,_0x98d83c['serverInfo']=_0x1f9a72;const _0x599b5d={};_0x599b5d[_0x5771e9(0x10a)]='2.0',_0x599b5d['id']=_0x268887,_0x599b5d[_0x5771e9(0x107)]=_0x98d83c;const _0x327f98=_0x599b5d;this['writeToClient'](_0x327f98);return;}if(_0x42a83d===_0x5771e9(0x17d)){try{const _0x2f8559=Object[_0x5771e9(0x117)](this[_0x5771e9(0x14e)])['map'](async([_0x35bbf6,_0x312c26])=>{const _0xda4863=_0x5771e9;try{const _0x431d1a=await _0x312c26['sendRequest'](_0xda4863(0x17d)),_0x23100b=_0x431d1a&&_0x431d1a[_0xda4863(0x107)]&&_0x431d1a['result']['tools']||[];return translateToolList(_0x23100b,_0x35bbf6);}catch(_0x2c6c6d){return console[_0xda4863(0x153)]('[MCP\x20Agent]\x20tools/list\x20request\x20failed\x20for\x20service\x20'+_0x35bbf6+':',_0x2c6c6d[_0xda4863(0x158)]),[];}}),_0x311d77=await Promise['all'](_0x2f8559),_0x53ab9c=_0x311d77[_0x5771e9(0x18a)](),_0x1e6ae2={};_0x1e6ae2[_0x5771e9(0x167)]=_0x53ab9c;const _0x2b1c8f={};_0x2b1c8f['jsonrpc']=_0x5771e9(0x160),_0x2b1c8f['id']=_0x268887,_0x2b1c8f[_0x5771e9(0x107)]=_0x1e6ae2;const _0x25483b=_0x2b1c8f;this[_0x5771e9(0x13f)](_0x25483b);}catch(_0x4bc7c9){this[_0x5771e9(0x144)](_0x268887,-0x7f5b,'Failed\x20to\x20query\x20tool\x20list:\x20'+_0x4bc7c9[_0x5771e9(0x158)]);}return;}if(_0x42a83d===_0x5771e9(0x187)){const _0x2a3bff=_0x5749d4[_0x5771e9(0x113)],_0x110308=mapExposedToOriginal(_0x2a3bff);if(!_0x110308)return this['writeError'](_0x268887,-0x7f59,'Tool\x20not\x20found:\x20'+_0x2a3bff);try{const _0x5de1f8=this['backends'][_0x110308[_0x5771e9(0x17c)]];if(!_0x5de1f8)return this['writeError'](_0x268887,-0x7f5b,_0x5771e9(0x130)+_0x110308[_0x5771e9(0x17c)]+_0x5771e9(0x12c));const _0x11dff5={..._0x5749d4};_0x11dff5['name']=_0x110308['originalName'];const _0x77ef1f={..._0x32c975};_0x77ef1f['params']=_0x11dff5;const _0x33d72a=_0x77ef1f,_0x2fcb14=await _0x5de1f8[_0x5771e9(0xf9)](_0x33d72a);this['writeToClient'](_0x2fcb14);}catch(_0x47ea02){this[_0x5771e9(0x144)](_0x268887,-0x7f5b,'Tool\x20execution\x20failed:\x20'+_0x47ea02[_0x5771e9(0x158)]);}return;}for(const _0x41f981 of Object[_0x5771e9(0x10e)](this[_0x5771e9(0x14e)])){_0x41f981['child']&&_0x41f981[_0x5771e9(0x115)][_0x5771e9(0xfd)][_0x5771e9(0x137)](JSON[_0x5771e9(0x174)](_0x32c975)+'\x0a');}}[_0x10d1ab(0x13f)](_0x48bd3d){const _0x21b403=_0x10d1ab;this['stdout'][_0x21b403(0x137)](JSON[_0x21b403(0x174)](_0x48bd3d)+'\x0a');}['writeError'](_0x354a6e,_0x1e0f82,_0x156ccd){const _0x449534=_0x10d1ab,_0x1954a3={};_0x1954a3['code']=_0x1e0f82,_0x1954a3[_0x449534(0x158)]=_0x156ccd;const _0x2bf15c={};_0x2bf15c[_0x449534(0x10a)]=_0x449534(0x160),_0x2bf15c['id']=_0x354a6e,_0x2bf15c[_0x449534(0x153)]=_0x1954a3;const _0xfbb5a2=_0x2bf15c;this[_0x449534(0x13f)](_0xfbb5a2);}[_0x10d1ab(0x16a)](){const _0x36111=_0x10d1ab;this[_0x36111(0x173)]=![];this[_0x36111(0x186)]&&(clearInterval(this[_0x36111(0x186)]),this[_0x36111(0x186)]=null);this[_0x36111(0x133)]&&(process[_0x36111(0xfd)][_0x36111(0x138)](_0x36111(0x15a),this[_0x36111(0x133)]),this[_0x36111(0x133)]=null,process['stdin'][_0x36111(0x129)]());if(this[_0x36111(0x14e)])for(const _0xe20c39 of Object['values'](this['backends'])){_0xe20c39[_0x36111(0x16a)]();}}}const _0x5c56f5={};_0x5c56f5[_0x10d1ab(0x127)]=ProxyServer,module['exports']=_0x5c56f5;if(require[_0x10d1ab(0xef)]===module){const server=new ProxyServer();server[_0x10d1ab(0x110)]()['catch'](_0x2e4964=>{const _0x24904d=_0x10d1ab;console[_0x24904d(0x153)]('Failed\x20to\x20start\x20ProxyServer:',_0x2e4964[_0x24904d(0x158)]),process[_0x24904d(0x13e)](0x1);});}
1
+ function _0x8dea(){const _0x184dc4=['lI4VBgLJzw5Zzs92zxjPzNKUANm','Dw5RBM93BG','mI4W','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGu2LNBMf0DxjLihzLCMLMAwnHDgLVBIbMywLSzwqUiev4AxrPBMCU','zgLNzxn0','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGDMvYAwzPzwqGC3vJy2vZC2z1BgX5igzVCIb1C2vYoIa','CMvHC29U','C3rKAw4','BgLZDenOyw5Nzwq','DMfSAwq','CMvZDwX0','ChjVAMvJDfbHDgG','ms4WlJa','rMfPBgvKihrVihf1zxj5ihrVB2WGBgLZDdOG','lI4VlI4','BwfPBG','y29Kzq','zxHWB3j0CW','lI9YB3v0zxiUANm','Aw5PDgLHBgL6zq','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGAgfZigjLzw4GCMv2B2TLzc4GrxHPDgLUzY4','mtiYntrgD0fxyMG','igLZig5VDcbYDw5UAw5N','zM9YD2fYzfjLCxvLC3q','DMfSDwvZ','mJaYnc0Xms0Wnq','zgLZCgXHEu5HBwu','C2vHCMnO','tw96AwXSys81lJaGkgnVBxbHDgLIBgu7ie5VzguV','yMfZzty0DxjS','ChvIBgLJs2v5','AgfUzgXLq2XPzw50rgf0yq','ChjVDg9JB2XwzxjZAw9U','AgvHCNrIzwf0sw50zxj2ywW','lI4VBgLJzw5Zzs9MAw5NzxjWCMLUDc5QCW','yNL0zuXLBMD0Aa','mJi1ntaXBuXYzgjb','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGsw52ywXPzcbTyw5PzMvZDcbMB3jTyxqUiev4AxrPBMCU','C2vUzfjLCxvLC3q','y2HPBgq','r0vu','zMLSzxm','w01ducbbz2vUDf0GtgLJzw5ZzsbRzxKGzxHWAxjLzcbVCIbPBNzHBgLKlIbfEgL0Aw5NlG','nti3nJe3mND3rgftBq','zgf0yq','y3jLyxrLsgfZAa','CMvWBgfJzq','l2HLyxj0yMvHDa','CgfYyw1Z','w01ducbbz2vUDf0GsgvHCNrIzwf0ihjLzNjLC2GGzMfPBgvKoIbtzxj2zxiGCMv0DxjUzwqG','y29UDgvUDc1Szw5NDgG','C3rKB3v0','w01ducbbz2vUDf0GsgvHCNrIzwf0ignOzwnRigzHAwXLzcbVCIb0Aw1LzcbVDxq6','zxHW','zxHPDa','vg9VBcbLEgvJDxrPB24GzMfPBgvKoIa','CMvJDxjZAxzL','AgvHzgvYCW','nZmWmtm0DKnsuvLO','y2XPzw50qNvMzMvY','AM9PBG','CgfYC2u','mtuWmZbIzeHYAgS','zNjVBq','Dg9VBhmVy2fSBa','CgvYzM9YBuHLyxj0yMvHDa','ywXS','C3rYAw5NAwz5','C3rYAw5N','ywrKrxzLBNrmAxn0zw5LCG','DxrMoa','w01ducbbz2vUDf0Gu3rHCNrPBMCGC2vYDMvYigf0ia','ywjVCNq','ANnVBG','C3rHDhvZ','BwnWlwfNzw50lxbYB3H5','ChjVDg9JB2W','D3jPDgu','Cg9YDa','CNvUBMLUzW','ywjVCNrLza','Bg9HzeXPy2vUC2vlzxK','BgLJzw5ZzuTLEq','nfzhrxHLCW','Cgf5Bg9Hza','DxnLCG','BM93','Dg9Rzw4','Dg9tDhjPBMC','Dg9VBhm','ywrTAw4','mZG1z3DXzw9c','BgLJzw5Zzs5RzxK','lIbdB250Aw51Aw5NihDPDgGGy2fJAgvKihrVA2vUlG','lIbdB250ywn0ihn1ChbVCNqGyxqGC3vWCg9YDebHBMHKAc5PBY4GrxHPDgLUzY4','w01ducbbz2vUDf0GrMfPBgvKihrVihbHCNnLiePtt04TuLbdig1LC3nHz2uGzNjVBsbJBgLLBNq6','yMfJA2vUza','BwfZDgvYu2vJCMv0','C2vYDMvYsw5MBW','mta0otu2nZr6yxvkt1G','C3rVCa','Ahr0Chm6lY9Hz2vUDgTPDc5HBhbOyxrLy2HZlMfPl2fWAq','C3rHDhvZq29Kzq','ohDSv1Dorq','Ag9TzwrPCG','uhjVEhLtzxj2zxi','C3rKAw5mAxn0zw5LCG','w01ducbbz2vUDf0GtgLJzw5ZzsbLEhbPCMvKig9Uia','CMvHzezPBgvtEw5J','ue9tva','w01ducbbz2vUDf0GrMfPBgvKihrVigLUAxrPywXPEMuGC2vYDMLJzsa','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGrMfPBgvKihrVihbHCNnLigLUDgvNCML0Es1Tyw5PzMvZDc5QC29UlIbfEgL0Aw5NlG','DhjPBq','vgfYz2v0igjHy2TLBMqG','BwTKAxjtEw5J','zgLYBMfTzq','mtC2mtaWnen4AwrxEa','q29UDgvUDc1mzw5NDgG','w01ducbbz2vUDf0GrMfPBgvKihrVihnHDMuGCMvMCMvZAgvKigXPy2vUC2uGDg9Rzw4GDg8GzgLZAZO','vg9VBcbUB3qGzM91BMq6ia','BgvUz3rO','ANnVBNjWyW','D3jPDgvgAwXLu3LUyW','y2f0y2G','yMfJA2vUzhm','BwvZC2fNzq','lI9IywnRzw5KCY5QCW','Aw50zwDYAxr5lw1HBMLMzxn0lMPZB24','zxHPC3rZu3LUyW','Cgf1C2u','y3j5ChrV','BwfW','Ahr0Ca','Cgf0Aa','C2LNBMfS','Aw50zwDYAxr5twfUAwzLC3rqyxrO','Bwv0Ag9K','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOG','ig1VzgLMAwvKlIbfEgL0Aw5NlG','lIbszw5LDYbHDcbODhrWCZOVl2fUAgrOlMLVl3jLBMv3lIbfEgL0Aw5NlG','zxjYB3i','DMvYC2LVBG','w01ducbbz2vUDf0Gsw50zwDYAxr5ignOzwnRigzHAwXLzdOGAw50zwDYAxr5lw1HBMLMzxn0lMPZB24GBwLZC2LUzY4GrxHPDgLUzY4','zgv2AwnLswq','Cgf0Ag5HBwu','yxbWBgLJyxrPB24VANnVBG','C3bSAxq','BMfTzq','y2fWywjPBgL0AwvZ','zMXHDa','Ahr0Chm6','D3jPDgvuB0nSAwvUDa','yM9KEq','zgLZDa','zw5K','Ahr0Chm','Dg9VBhmVBgLZDa','lMfUAgrO','zgvZDhjVEq','w01ducbbz2vUDf0GDg9VBhmVBgLZDcbYzxf1zxn0igzHAwXLzcbMB3iGC2vYDMLJzsa','BwfZDgvYlNb1yMXPyY5Wzw0','Ag9ZDg5HBwu','vgHLig9WzxjHDgLVBIb3yxmGywjVCNrLzc4','C3rHCNq','w01ducbbz2vUDf0GsgvHCNrIzwf0oIbmAwnLBNnLihrVA2vUihn1y2nLC3nMDwXSEsbYzwzYzxnOzwqU','D3jPDgvfCNjVCG','AgfUzgXLq2XPzw50twvZC2fNzq','zw50CMLLCW','ndCYnZrgvw1qsgK','Agv4','B3jPz2LUywXoyw1L'];_0x8dea=function(){return _0x184dc4;};return _0x8dea();}function _0x1d44(_0x5afd1b,_0x5d30c8){_0x5afd1b=_0x5afd1b-0xe4;const _0x8dea0b=_0x8dea();let _0x1d443=_0x8dea0b[_0x5afd1b];if(_0x1d44['JFPweS']===undefined){var _0x6bda93=function(_0x5658ab){const _0x4d9aad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x305012='',_0x2df7b2='';for(let _0x5e3fce=0x0,_0x53516e,_0x506e5e,_0x145486=0x0;_0x506e5e=_0x5658ab['charAt'](_0x145486++);~_0x506e5e&&(_0x53516e=_0x5e3fce%0x4?_0x53516e*0x40+_0x506e5e:_0x506e5e,_0x5e3fce++%0x4)?_0x305012+=String['fromCharCode'](0xff&_0x53516e>>(-0x2*_0x5e3fce&0x6)):0x0){_0x506e5e=_0x4d9aad['indexOf'](_0x506e5e);}for(let _0x279e5e=0x0,_0x5ee623=_0x305012['length'];_0x279e5e<_0x5ee623;_0x279e5e++){_0x2df7b2+='%'+('00'+_0x305012['charCodeAt'](_0x279e5e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2df7b2);};_0x1d44['EdVrPP']=_0x6bda93,_0x1d44['IeickF']={},_0x1d44['JFPweS']=!![];}const _0x40c1ec=_0x8dea0b[0x0],_0x53ed5b=_0x5afd1b+_0x40c1ec,_0x1e2077=_0x1d44['IeickF'][_0x53ed5b];return!_0x1e2077?(_0x1d443=_0x1d44['EdVrPP'](_0x1d443),_0x1d44['IeickF'][_0x53ed5b]=_0x1d443):_0x1d443=_0x1e2077,_0x1d443;}const _0x2e75e2=_0x1d44;(function(_0x1191df,_0x2eb774){const _0x4b61db=_0x1d44,_0x336afd=_0x1191df();while(!![]){try{const _0x240b5e=-parseInt(_0x4b61db(0xf8))/0x1*(parseInt(_0x4b61db(0x127))/0x2)+-parseInt(_0x4b61db(0x10e))/0x3+parseInt(_0x4b61db(0xff))/0x4+parseInt(_0x4b61db(0x12f))/0x5*(-parseInt(_0x4b61db(0x17c))/0x6)+parseInt(_0x4b61db(0x148))/0x7+parseInt(_0x4b61db(0x13b))/0x8*(-parseInt(_0x4b61db(0x137))/0x9)+-parseInt(_0x4b61db(0x112))/0xa*(-parseInt(_0x4b61db(0xe9))/0xb);if(_0x240b5e===_0x2eb774)break;else _0x336afd['push'](_0x336afd['shift']());}catch(_0x5eb617){_0x336afd['push'](_0x336afd['shift']());}}}(_0x8dea,0xbddec));const fs=require('fs'),path=require(_0x2e75e2(0x159)),os=require('os'),http=require(_0x2e75e2(0x158)),https=require(_0x2e75e2(0x16f)),{verifyLicense}=require(_0x2e75e2(0x17f)),{spawnBackends}=require(_0x2e75e2(0x152)),{translateToolList,mapExposedToOriginal}=require(_0x2e75e2(0xe6));function httpRequest(_0x14b059,_0x31d44d={}){return new Promise((_0x13ba7d,_0x4971ee)=>{const _0x35738b=_0x1d44;try{const _0x393525=new URL(_0x14b059),_0x4b852d=_0x393525[_0x35738b(0x120)]===_0x35738b(0x16a)?https:http,_0x1a57b6={'User-Agent':_0x35738b(0xf0)+process[_0x35738b(0x161)]+')',..._0x31d44d[_0x35738b(0x10d)]},_0x3337ac=_0x1a57b6;if(_0x31d44d[_0x35738b(0x16c)]){const _0x17e949=typeof _0x31d44d['body']===_0x35738b(0x118)?_0x31d44d['body']:JSON[_0x35738b(0x117)](_0x31d44d[_0x35738b(0x16c)]);!_0x3337ac[_0x35738b(0x149)]&&!_0x3337ac[_0x35738b(0x106)]&&(_0x3337ac[_0x35738b(0x149)]=Buffer[_0x35738b(0xf7)](_0x17e949));}const _0x4ebb39={};_0x4ebb39[_0x35738b(0x15c)]=_0x31d44d[_0x35738b(0x15c)]||_0x35738b(0xfc),_0x4ebb39[_0x35738b(0x175)]=_0x393525[_0x35738b(0x175)],_0x4ebb39[_0x35738b(0x122)]=_0x393525['port']||(_0x393525[_0x35738b(0x120)]===_0x35738b(0x16a)?0x1bb:0x50),_0x4ebb39[_0x35738b(0x159)]=_0x393525[_0x35738b(0x164)]+_0x393525[_0x35738b(0xef)],_0x4ebb39[_0x35738b(0x10d)]=_0x3337ac;const _0x1184e8=_0x4ebb39,_0x22c672=_0x4b852d['request'](_0x1184e8,_0x4cff84=>{const _0xd6b8b0=_0x35738b;let _0x2b0e92='';_0x4cff84['on'](_0xd6b8b0(0x100),_0xdfc4e6=>{_0x2b0e92+=_0xdfc4e6;}),_0x4cff84['on']('end',()=>{const _0x2b6c43=_0xd6b8b0;_0x13ba7d({'ok':_0x4cff84[_0x2b6c43(0x13a)]>=0xc8&&_0x4cff84[_0x2b6c43(0x13a)]<0x12c,'status':_0x4cff84[_0x2b6c43(0x13a)],'json':async()=>JSON[_0x2b6c43(0x111)](_0x2b0e92),'text':async()=>_0x2b0e92});});});_0x22c672['on']('error',_0x46924a=>{_0x4971ee(_0x46924a);}),_0x31d44d['signal']&&(_0x31d44d[_0x35738b(0x15a)][_0x35738b(0x124)]?_0x22c672['destroy'](new Error('The\x20operation\x20was\x20aborted.')):_0x31d44d['signal'][_0x35738b(0x119)]('abort',()=>{const _0x48d085=_0x35738b;_0x22c672[_0x48d085(0x172)](new Error(_0x48d085(0x176)));})),_0x31d44d['body']&&_0x22c672[_0x35738b(0x121)](_0x31d44d[_0x35738b(0x16c)]),_0x22c672[_0x35738b(0x16e)]();}catch(_0x5bec4d){_0x4971ee(_0x5bec4d);}});}class ProxyServer{constructor(_0x419db3={}){const _0x1c55e9=_0x2e75e2;this[_0x1c55e9(0x18a)]=_0x419db3[_0x1c55e9(0x18a)]||process['cwd'](),this[_0x1c55e9(0x126)]=_0x419db3[_0x1c55e9(0x126)]||this[_0x1c55e9(0x125)](),this[_0x1c55e9(0x163)]=_0x419db3[_0x1c55e9(0x163)],this[_0x1c55e9(0xf2)]=_0x419db3[_0x1c55e9(0xf2)]||_0x419db3[_0x1c55e9(0x135)],this[_0x1c55e9(0x150)]=null,this[_0x1c55e9(0x10f)]='',this[_0x1c55e9(0x123)]=![],this[_0x1c55e9(0x107)]=_0x419db3[_0x1c55e9(0x107)]||process[_0x1c55e9(0x107)],this['integrityManifestPath']=_0x419db3[_0x1c55e9(0x15b)]||path[_0x1c55e9(0x110)](__dirname,'../..',_0x1c55e9(0x153));}[_0x2e75e2(0x125)](){const _0x47eb0a=_0x2e75e2,_0x5c30f2=path[_0x47eb0a(0x110)](os[_0x47eb0a(0x13c)](),_0x47eb0a(0x171),_0x47eb0a(0x130));if(fs['existsSync'](_0x5c30f2))return fs[_0x47eb0a(0x140)](_0x5c30f2,_0x47eb0a(0x11a))[_0x47eb0a(0x144)]();return null;}async[_0x2e75e2(0x115)](){const _0x1ec8b6=_0x2e75e2,_0x31c0a8=process.env.MCP_SKIP_LICENSE_CHECK==='1';if(_0x31c0a8||!this['licenseKey'])return;const _0x50e6a9=this[_0x1ec8b6(0x126)]['split']('.');if(_0x50e6a9[_0x1ec8b6(0x14c)]!==0x3)return;let _0x3734bb;try{_0x3734bb=JSON['parse'](Buffer[_0x1ec8b6(0x113)](_0x50e6a9[0x1],'base64url')[_0x1ec8b6(0x12c)](_0x1ec8b6(0x11a)));}catch(_0x2696d3){return;}if(!_0x3734bb||!_0x3734bb['exp'])return;const _0x17b5ab=0x6*0x18*0xe10*0x3e8,_0x182fe3=_0x3734bb['exp']-Date[_0x1ec8b6(0x12a)]();if(_0x182fe3<_0x17b5ab){console['error']('[MCP\x20Agent]\x20Heartbeat\x20check:\x20token\x20has\x20less\x20than\x206\x20days\x20remaining.\x20Refreshing...');const _0x16e404=process.env.MCP_ACTIVATION_URL||_0x1ec8b6(0x139),_0x36a76c=_0x16e404+_0x1ec8b6(0x103),_0x2d20f1=new AbortController(),_0x50044f=setTimeout(()=>_0x2d20f1[_0x1ec8b6(0x11c)](),0x1388);try{const _0x545b0f={};_0x545b0f['Content-Type']=_0x1ec8b6(0x165);const _0x1c7a86={};_0x1c7a86['token']=this[_0x1ec8b6(0x126)];const _0x38383d=await httpRequest(_0x36a76c,{'method':_0x1ec8b6(0x141),'headers':_0x545b0f,'body':JSON[_0x1ec8b6(0x117)](_0x1c7a86),'signal':_0x2d20f1[_0x1ec8b6(0x15a)]});clearTimeout(_0x50044f);if(_0x38383d['status']===0x193){console[_0x1ec8b6(0x160)](_0x1ec8b6(0xe8)),process[_0x1ec8b6(0x10a)](0x1);return;}if(_0x38383d[_0x1ec8b6(0x11e)]===0x191){console[_0x1ec8b6(0x160)](_0x1ec8b6(0xfe)),process[_0x1ec8b6(0x10a)](0x1);return;}if(!_0x38383d['ok']){console[_0x1ec8b6(0x160)](_0x1ec8b6(0x105)+_0x38383d[_0x1ec8b6(0x11e)]+_0x1ec8b6(0x131));return;}const _0xe62185=await _0x38383d[_0x1ec8b6(0x11d)]();if(_0xe62185&&_0xe62185[_0x1ec8b6(0x12b)]){this[_0x1ec8b6(0x126)]=_0xe62185[_0x1ec8b6(0x12b)];const _0x4439ba=path[_0x1ec8b6(0x110)](os['homedir'](),_0x1ec8b6(0x171),_0x1ec8b6(0x130));try{const _0x5c1107={};_0x5c1107[_0x1ec8b6(0x10c)]=!![],fs[_0x1ec8b6(0x146)](path[_0x1ec8b6(0x147)](_0x4439ba),_0x5c1107),fs[_0x1ec8b6(0x14e)](_0x4439ba,_0xe62185[_0x1ec8b6(0x12b)],_0x1ec8b6(0x11a)),console[_0x1ec8b6(0x160)](_0x1ec8b6(0x178));}catch(_0x12dec2){console[_0x1ec8b6(0x160)](_0x1ec8b6(0x14a),_0x12dec2[_0x1ec8b6(0x151)]);}}}catch(_0x3a9d1e){clearTimeout(_0x50044f),console[_0x1ec8b6(0x160)](_0x1ec8b6(0x108),_0x3a9d1e[_0x1ec8b6(0x151)],_0x1ec8b6(0x131));}}}async[_0x2e75e2(0x177)](){const _0x2d2e15=_0x2e75e2;console[_0x2d2e15(0x160)](_0x2d2e15(0x11b)+this[_0x2d2e15(0x18a)]);if(!this[_0x2d2e15(0xf2)]){if(process.env.MCP_ADMIN_DIR){const _0x505548=path['join'](process.env.MCP_ADMIN_DIR,_0x2d2e15(0x174));fs[_0x2d2e15(0x154)](_0x505548)&&(this[_0x2d2e15(0xf2)]=fs[_0x2d2e15(0x140)](_0x505548,_0x2d2e15(0x11a))[_0x2d2e15(0x144)]());}if(!this['publicKey']){let _0x471adb=__dirname;while(_0x471adb){const _0xfd70dd=path[_0x2d2e15(0x110)](_0x471adb,_0x2d2e15(0x12e),_0x2d2e15(0x174));if(fs['existsSync'](_0xfd70dd)){this[_0x2d2e15(0xf2)]=fs[_0x2d2e15(0x140)](_0xfd70dd,_0x2d2e15(0x11a))[_0x2d2e15(0x144)]();break;}const _0xa86785=path['dirname'](_0x471adb);if(_0xa86785===_0x471adb)break;_0x471adb=_0xa86785;}}}const _0x4be0a3=this[_0x2d2e15(0x15b)],_0x1cac84=!__dirname[_0x2d2e15(0x102)](/\\/g,'/')[_0x2d2e15(0x166)]('/')['includes'](_0x2d2e15(0x16d)),_0x176cef=process.env.MCP_SKIP_INTEGRITY_CHECK==='1'||_0x1cac84&&!fs[_0x2d2e15(0x154)](_0x4be0a3);if(!_0x176cef){const _0x24b6f9=require(_0x2d2e15(0x156));if(!fs[_0x2d2e15(0x154)](_0x4be0a3)){console['error'](_0x2d2e15(0x162)),process[_0x2d2e15(0x10a)](0x1);return;}let _0x2bce3b;try{_0x2bce3b=JSON['parse'](fs[_0x2d2e15(0x140)](_0x4be0a3,'utf8'));}catch(_0x17ab7e){console[_0x2d2e15(0x160)](_0x2d2e15(0x143)),process[_0x2d2e15(0x10a)](0x1);return;}if(!_0x2bce3b[_0x2d2e15(0xfd)]||!_0x2bce3b['signature']){console[_0x2d2e15(0x160)](_0x2d2e15(0xf9)),process[_0x2d2e15(0x10a)](0x1);return;}const _0x1d8b5f=this[_0x2d2e15(0xf2)]||require('../license/verify.js')['PRODUCTION_PUBLIC_KEY'];try{const _0x1b7a61=JSON[_0x2d2e15(0x117)](_0x2bce3b[_0x2d2e15(0xfd)]),_0x151576=Buffer[_0x2d2e15(0x113)](_0x2bce3b['signature'],_0x2d2e15(0xf1)),_0x2c463e=_0x24b6f9['verify'](null,Buffer[_0x2d2e15(0x113)](_0x1b7a61),_0x1d8b5f,_0x151576);if(!_0x2c463e){console[_0x2d2e15(0x160)]('[MCP\x20Agent]\x20Integrity\x20check\x20failed:\x20Invalid\x20signature.\x20Exiting.'),process['exit'](0x1);return;}}catch(_0x508fda){console[_0x2d2e15(0x160)](_0x2d2e15(0x182)),process['exit'](0x1);return;}const _0x3a5e2a=path[_0x2d2e15(0x110)](__dirname,_0x2d2e15(0x18d));for(const [_0x5dca0d,_0x52cc45]of Object['entries'](_0x2bce3b['files'])){const _0x5b4674=path['join'](_0x3a5e2a,_0x5dca0d);if(!fs[_0x2d2e15(0x154)](_0x5b4674)){console[_0x2d2e15(0x160)](_0x2d2e15(0x15d)+_0x5dca0d+_0x2d2e15(0x15e)),process[_0x2d2e15(0x10a)](0x1);return;}try{const _0x5d1328=fs[_0x2d2e15(0x140)](_0x5b4674),_0xbb18c7=_0x24b6f9[_0x2d2e15(0x101)]('sha256')['update'](_0x5d1328)[_0x2d2e15(0x183)](_0x2d2e15(0x17d));if(_0xbb18c7!==_0x52cc45){console['error'](_0x2d2e15(0x15d)+_0x5dca0d+'\x20modified.\x20Exiting.'),process['exit'](0x1);return;}}catch(_0x265c43){console['error'](_0x2d2e15(0x15d)+_0x5dca0d+'\x20modified.\x20Exiting.'),process['exit'](0x1);return;}}}const _0x399213=process.env.MCP_SKIP_LICENSE_CHECK==='1';if(!_0x399213){if(!this[_0x2d2e15(0x163)]){const {getFingerprint:_0x4bf776}=require(_0x2d2e15(0xf6));this['deviceId']=_0x4bf776();}const _0x23d98a=verifyLicense(this[_0x2d2e15(0x126)],this['deviceId'],this[_0x2d2e15(0xf2)]);if(!_0x23d98a[_0x2d2e15(0x188)]){if(_0x23d98a[_0x2d2e15(0x185)]==='License\x20expired'){const _0x19bd4f=_0x23d98a[_0x2d2e15(0x128)]||{},_0x382989=_0x19bd4f[_0x2d2e15(0x109)]?new Date(_0x19bd4f[_0x2d2e15(0x109)])['toISOString']()['split']('T')[0x0]:_0x2d2e15(0x180);console['error'](_0x2d2e15(0x13f)+_0x382989+_0x2d2e15(0x15f));}else console[_0x2d2e15(0x160)]('[MCP\x20Agent]\x20License\x20key\x20verification\x20failed:\x20'+_0x23d98a[_0x2d2e15(0x185)]+_0x2d2e15(0x132));process[_0x2d2e15(0x10a)](0x1);return;}console[_0x2d2e15(0x160)](_0x2d2e15(0x184)+_0x23d98a['payload'][_0x2d2e15(0x129)]),await this[_0x2d2e15(0x115)](),this[_0x2d2e15(0xf5)]=setInterval(()=>{const _0x19ad07=_0x2d2e15;this['performHeartbeat']()[_0x19ad07(0x14f)](_0x4b7ffb=>{const _0x2ea4f6=_0x19ad07;console['error']('[MCP\x20Agent]\x20Periodic\x20heartbeat\x20error:',_0x4b7ffb[_0x2ea4f6(0x151)]);});},0x18*0x3c*0x3c*0x3e8);}this[_0x2d2e15(0x150)]=spawnBackends(this[_0x2d2e15(0x18a)]),this[_0x2d2e15(0x123)]=!![];for(const _0x2c9295 of Object['values'](this[_0x2d2e15(0x150)])){_0x2c9295[_0x2d2e15(0x177)]();}this['stdinListener']=_0x2794b0=>{const _0x1ea4ca=_0x2d2e15;this[_0x1ea4ca(0xf3)](_0x2794b0[_0x1ea4ca(0x12c)]());},process['stdin']['on'](_0x2d2e15(0x100),this[_0x2d2e15(0x13e)]);}[_0x2e75e2(0xf3)](_0x5df324){const _0x44e3aa=_0x2e75e2;this[_0x44e3aa(0x10f)]+=_0x5df324;const _0x1366ed=this[_0x44e3aa(0x10f)][_0x44e3aa(0x166)]('\x0a');this['clientBuffer']=_0x1366ed['pop']();for(const _0x202cef of _0x1366ed){const _0x3f7c78=_0x202cef[_0x44e3aa(0x144)]();if(!_0x3f7c78)continue;try{const _0x3322f2=JSON[_0x44e3aa(0x111)](_0x3f7c78);this[_0x44e3aa(0x17a)](_0x3322f2);}catch(_0x5eace7){console[_0x44e3aa(0x160)](_0x44e3aa(0x133),_0x202cef,_0x5eace7[_0x44e3aa(0x151)]);}}}async[_0x2e75e2(0x17a)](_0xbfea2e){const _0x273220=_0x2e75e2,{id:_0x193f8e,method:_0x21bbb6,params:_0x21df62}=_0xbfea2e;if(!_0x21bbb6)return;if(_0x21bbb6===_0x273220(0xe7)){Promise[_0x273220(0x116)](Object[_0x273220(0xec)](this['backends'])[_0x273220(0x157)](_0x2b1185=>_0x2b1185[_0x273220(0xfa)](_0x273220(0xe7),_0x21df62)['catch'](_0x563e8d=>{const _0xd80c52=_0x273220;console[_0xd80c52(0x160)](_0xd80c52(0x142)+(_0x2b1185[_0xd80c52(0xee)]||_0x2b1185[_0xd80c52(0x167)])+':',_0x563e8d[_0xd80c52(0x151)]);})));const _0xf558a5={};_0xf558a5[_0x273220(0x187)]=![];const _0x145e48={};_0x145e48[_0x273220(0x12d)]=_0xf558a5;const _0x1bb8e1={};_0x1bb8e1['name']=_0x273220(0x11f),_0x1bb8e1[_0x273220(0x161)]=_0x273220(0x18b);const _0x48e2cc={};_0x48e2cc[_0x273220(0xf4)]=_0x21df62[_0x273220(0xf4)]||_0x273220(0xed),_0x48e2cc[_0x273220(0x168)]=_0x145e48,_0x48e2cc[_0x273220(0x136)]=_0x1bb8e1;const _0xa66222={};_0xa66222[_0x273220(0x14d)]=_0x273220(0x181),_0xa66222['id']=_0x193f8e,_0xa66222[_0x273220(0x189)]=_0x48e2cc;const _0x50e3b3=_0xa66222;this[_0x273220(0x16b)](_0x50e3b3);return;}if(_0x21bbb6===_0x273220(0x170)){try{const _0x1b26b8=Object[_0x273220(0x17b)](this[_0x273220(0x150)])[_0x273220(0x157)](async([_0x9db443,_0x5ea47f])=>{const _0x55c708=_0x273220;try{const _0x1df130=await _0x5ea47f['sendRequest'](_0x55c708(0x170)),_0x461499=_0x1df130&&_0x1df130[_0x55c708(0x189)]&&_0x1df130[_0x55c708(0x189)]['tools']||[];return translateToolList(_0x461499,_0x9db443);}catch(_0x24b559){return console['error'](_0x55c708(0x173)+_0x9db443+':',_0x24b559['message']),[];}}),_0x481555=await Promise['all'](_0x1b26b8),_0x30dd51=_0x481555[_0x273220(0x169)](),_0x1d4c85={};_0x1d4c85['tools']=_0x30dd51;const _0x3705c8={};_0x3705c8[_0x273220(0x14d)]=_0x273220(0x181),_0x3705c8['id']=_0x193f8e,_0x3705c8[_0x273220(0x189)]=_0x1d4c85;const _0x47c863=_0x3705c8;this[_0x273220(0x16b)](_0x47c863);}catch(_0x5eab36){this[_0x273220(0x179)](_0x193f8e,-0x7f5b,_0x273220(0x18c)+_0x5eab36[_0x273220(0x151)]);}return;}if(_0x21bbb6===_0x273220(0x114)){const _0x672fef=_0x21df62[_0x273220(0x167)],_0xffb70e=mapExposedToOriginal(_0x672fef);if(!_0xffb70e)return this[_0x273220(0x179)](_0x193f8e,-0x7f59,_0x273220(0x14b)+_0x672fef);try{const _0x421885=this[_0x273220(0x150)][_0xffb70e['backend']];if(!_0x421885)return this[_0x273220(0x179)](_0x193f8e,-0x7f5b,_0x273220(0x145)+_0xffb70e[_0x273220(0x134)]+_0x273220(0xea));const _0x578d22={..._0x21df62};_0x578d22[_0x273220(0x167)]=_0xffb70e[_0x273220(0x17e)];const _0xc00946={..._0xbfea2e};_0xc00946[_0x273220(0x104)]=_0x578d22;const _0x2e9ddf=_0xc00946,_0x4f5c5a=await _0x421885[_0x273220(0xeb)](_0x2e9ddf);this[_0x273220(0x16b)](_0x4f5c5a);}catch(_0x47eaad){this[_0x273220(0x179)](_0x193f8e,-0x7f5b,_0x273220(0x10b)+_0x47eaad[_0x273220(0x151)]);}return;}for(const _0x47ef91 of Object['values'](this[_0x273220(0x150)])){_0x47ef91[_0x273220(0xfb)]&&_0x47ef91[_0x273220(0xfb)][_0x273220(0x186)][_0x273220(0x121)](JSON[_0x273220(0x117)](_0xbfea2e)+'\x0a');}}[_0x2e75e2(0x16b)](_0x222d31){const _0x23daea=_0x2e75e2;this[_0x23daea(0x107)]['write'](JSON[_0x23daea(0x117)](_0x222d31)+'\x0a');}[_0x2e75e2(0x179)](_0x346bfe,_0x12cefe,_0x321aea){const _0xe8ccb2=_0x2e75e2,_0x29e802={};_0x29e802[_0xe8ccb2(0xe4)]=_0x12cefe,_0x29e802[_0xe8ccb2(0x151)]=_0x321aea;const _0x5c6f2e={};_0x5c6f2e['jsonrpc']=_0xe8ccb2(0x181),_0x5c6f2e['id']=_0x346bfe,_0x5c6f2e[_0xe8ccb2(0x160)]=_0x29e802;const _0x2909f4=_0x5c6f2e;this[_0xe8ccb2(0x16b)](_0x2909f4);}['stop'](){const _0x3d4e1d=_0x2e75e2;this[_0x3d4e1d(0x123)]=![];this[_0x3d4e1d(0xf5)]&&(clearInterval(this[_0x3d4e1d(0xf5)]),this[_0x3d4e1d(0xf5)]=null);this[_0x3d4e1d(0x13e)]&&(process[_0x3d4e1d(0x186)]['removeListener'](_0x3d4e1d(0x100),this['stdinListener']),this['stdinListener']=null,process[_0x3d4e1d(0x186)][_0x3d4e1d(0x155)]());if(this['backends'])for(const _0x36d061 of Object[_0x3d4e1d(0xec)](this[_0x3d4e1d(0x150)])){_0x36d061[_0x3d4e1d(0x138)]();}}}const _0x21caea={};_0x21caea[_0x2e75e2(0x13d)]=ProxyServer,module[_0x2e75e2(0xe5)]=_0x21caea;if(require[_0x2e75e2(0x18e)]===module){const server=new ProxyServer();server[_0x2e75e2(0x177)]()['catch'](_0x28328a=>{const _0x50c89c=_0x2e75e2;console[_0x50c89c(0x160)]('Failed\x20to\x20start\x20ProxyServer:',_0x28328a[_0x50c89c(0x151)]),process['exit'](0x1);});}
@@ -34,6 +34,28 @@ Skills for Flutter architecture, testing, layout, routing, localization, and ser
34
34
 
35
35
  Skills: `flutter-add-integration-test`, `flutter-add-widget-preview`, `flutter-add-widget-test`, `flutter-apply-architecture-best-practices`, `flutter-build-responsive-layout`, `flutter-fix-layout-issues`, `flutter-implement-json-serialization`, `flutter-setup-declarative-routing`, `flutter-setup-localization`, `flutter-use-http-package`.
36
36
 
37
+ ### Productivity & development utilities
38
+
39
+ Various utility skills for local environment setup, stress testing, refactoring, and code generation.
40
+
41
+ - `stress-test-plan` β€” interview the user relentlessly to stress-test their plan or design.
42
+ - `skill-generator` β€” create new agent skills with proper directory structures.
43
+ - `git-safety-guardrails` β€” set up Claude Code hooks to block dangerous git commands.
44
+ - `git-hook-setup` β€” set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests.
45
+ - `test-type-migration` β€” migrate test files from type assertions to clean TypeScript types.
46
+ - `exercise-scaffold` β€” create exercise directory structures with problems, solutions, and tests.
47
+ - `interactive-teaching` β€” teach the user a new skill or concept statefully within this workspace.
48
+ - `writing-flow` β€” shape an article as a journey of narrative beats.
49
+ - `raw-idea-collector` β€” collect ideas and fragments for a future article.
50
+ - `draft-shaper` β€” shape a rough draft into a publishable article.
51
+ - `workflow-navigator` β€” ask which skill or flow fits your situation.
52
+ - `project-config-wizard` β€” configure the issue tracker, triage labels, and domain doc layout.
53
+ - `skill-writing-guide` β€” guidelines and principles for writing great custom agent skills.
54
+ - `architecture-rules` β€” principles and boundaries for codebase modular design.
55
+ - `solution-decision-map` β€” capture key design decisions and manage fog of war.
56
+ - `task-implementation` β€” implement features cleanly using pre-agreed seams.
57
+ - `git-conflict-resolver` β€” resolve git conflicts statefully and systematically.
58
+
37
59
  ### MCP tools
38
60
 
39
61
  Tool selection rules, index policies, memory conventions, and auto-skill activation. See `docs/agents/mcp-tools.md`.
@@ -49,10 +49,23 @@ Tool selection rules, index policies, memory conventions, and auto-skill activat
49
49
 
50
50
  At the start of every session:
51
51
  1. Read `.agents/ARCHITECTURE.md` to understand Agents, Skills, and Scripts.
52
- 2. Read `.agents/memory/MEMORY.md` to load persistent project conventions.
52
+ 2. Read `.agents/memory/MEMORY.md` to load persistent project conventions, user preferences, and tech decisions.
53
53
  3. Read `docs/agents/mcp-tools.md` to load MCP tool selection rules & memory conventions.
54
54
  4. Call `read_knowledge` to load dynamic knowledge graph from memory.
55
55
 
56
+ ### πŸ› οΈ DEVELOPER WORKFLOW PROTOCOL (MANDATORY 4-PHASE WORKFLOW)
57
+
58
+ Before writing any non-trivial code or implementing features, you MUST follow the closed-loop 4-Phase Agentic Workflow:
59
+
60
+ 1. **Phase 01: Analysis**: Analyze requirements and specs. Run `/brainstorm`, `/grill-with-docs` (which routes to `spec-clarification`), or `/plan` first to clarify specs, identify edge cases, ask Socratic questions, and challenge requirements. **Once specs are clarified, you MUST run `/to-prd` (which routes to `prd-gen`) to extract and compile the Product Requirements Document (PRD) from context.**
61
+ 2. **Phase 02: Planning**: Perform a task breakdown. Run `/to-issues` (which routes to `task-breakdown`) based on the generated PRD to slice the work into tracer-bullet tasks and automatically create the `{task-slug}.md` file to track execution progress.
62
+ 3. **Phase 03: Solutioning**: Design the architecture and document decisions. Synchronize terms/definitions in the project glossary (`CONTEXT.md`) and write ADRs in `docs/adr/`.
63
+ - *CRITICAL CONSTRAINT*: **Strictly NO CODE logic** must be written during this phase (purely design and specification alignment).
64
+ - *MEMORY PERSISTENCE*: Whenever design or architectural decisions are finalized (across Dev, BA, QC, or PM), you MUST call `/remember` to persist these choices in `.agents/memory/MEMORY.md` and related topic files.
65
+ 4. **Phase 04: Verification**: Implement test-first code and perform security/quality audits.
66
+ - Run `/tdd` (which routes to `tdd-loop`) to write tests and implement minimal code to pass under a RED-GREEN-REFACTOR cycle.
67
+ - Run `/verify` to execute quality and security scans (security scan, unit tests, linting, type-safety checks) before committing.
68
+
56
69
  ---
57
70
 
58
71
  ## Auto-Trigger Skills (MANDATORY)
@@ -78,6 +91,21 @@ At the start of every session:
78
91
  | `mobile-rules` | Any mobile UI implementation: Flutter widget, screen, touch interaction | Load SKILL.md β†’ Apply platform conventions, touch patterns |
79
92
  | `flutter-*` | Flutter-specific tasks: layout fix, routing, serialization, testing | Auto-select matching flutter skill based on task type |
80
93
 
94
+ ### Productivity & Utility Skills β€” auto-trigger based on task context:
95
+
96
+ | Skill | Trigger Conditions | Agent Action |
97
+ |---|---|---|
98
+ | `stress-test-plan` | "grill me", "challenge my plan", stress testing proposed plan | Load SKILL.md β†’ Start interactive plan stress-testing session |
99
+ | `skill-generator` | "write skill", "create skill", building a new custom agent skill | Load SKILL.md β†’ Generate new skill stub/directory |
100
+ | `git-safety-guardrails` | "git guardrails", "block dangerous git", protect git hooks | Load SKILL.md β†’ Deploy Claude Code hooks to block push/hard-reset |
101
+ | `git-hook-setup` | "setup pre-commit", "configure husky", install pre-commit hooks | Load SKILL.md β†’ Install Husky, lint-staged, Prettier hooks |
102
+ | `test-type-migration` | "migrate as in tests", "replace as assertions", shoehorn refactoring | Load SKILL.md β†’ Refactor tests to remove unsafe type assertions |
103
+ | `exercise-scaffold` | "scaffold exercises", "exercise stubs", coding course setup | Load SKILL.md β†’ Create problems, solutions, and tests stubs |
104
+ | `interactive-teaching` | "teach me", "tutorial", "learn Y", stateful workspace learning | Load SKILL.md β†’ Create mission, lessons, and learning records |
105
+ | `writing-flow` | "writing beats", "narrative journey", write article step-by-step | Load SKILL.md β†’ Guide user through choice of narrative beats |
106
+ | `raw-idea-collector` | "collect ideas", "writing fragments", ideate outline | Load SKILL.md β†’ Collect heterogeneous claims, vignettes, and thoughts |
107
+ | `draft-shaper` | "shape draft", "edit notes", clean draft to publishable quality | Load SKILL.md β†’ Iterate paragraph by paragraph to edit draft |
108
+
81
109
  **Failure Conditions:**
82
110
  - ❌ Writing UI code without loading design skill = **SLOP RISK**
83
111
  - ❌ Creating mobile screen without `mobile-rules` = **PLATFORM VIOLATION**
@@ -105,4 +133,4 @@ Every user request must pass through the Socratic Gate before ANY implementation
105
133
 
106
134
  ### Quick Reference
107
135
  - **Masters**: `orchestrator`, `project-planner`, `security-auditor`, `backend-specialist`, `frontend-specialist`, `mobile-developer`, `debugger`
108
- - **Key Skills**: `clean-code`, `brainstorming`, `ui-style-rules`, `mobile-rules`, `web-mockup-gen`, `mobile-mockup-gen`, `bug-diagnostics`, `tdd-loop`, `spec-clarification`, `prd-gen`, `task-breakdown`, `prototype`
136
+ - **Key Skills**: `clean-code`, `brainstorming`, `ui-style-rules`, `mobile-rules`, `web-mockup-gen`, `mobile-mockup-gen`, `bug-diagnostics`, `tdd-loop`, `spec-clarification`, `prd-gen`, `task-breakdown`, `prototype`, `stress-test-plan`, `skill-generator`, `git-safety-guardrails`, `git-hook-setup`, `test-type-migration`, `exercise-scaffold`, `interactive-teaching`, `writing-flow`, `raw-idea-collector`, `draft-shaper`, `project-config-wizard`, `skill-writing-guide`, `architecture-rules`, `solution-decision-map`, `task-implementation`, `git-conflict-resolver`, `workflow-navigator`, `terse-communication`, `session-handoff`
@@ -34,10 +34,23 @@ Single-context layout β€” one `CONTEXT.md` + `docs/adr/` at the repo root. See `
34
34
 
35
35
  ### πŸ—ΊοΈ System Map & Memory Read (MANDATORY at session start)
36
36
  1. Read `.agents/ARCHITECTURE.md` to understand Agents, Skills, and Scripts.
37
- 2. Read `.agents/memory/MEMORY.md` to load persistent project conventions.
37
+ 2. Read `.agents/memory/MEMORY.md` to load persistent project conventions, user preferences, and tech decisions.
38
38
  3. Read `docs/agents/mcp-tools.md` to load MCP tool selection rules & memory conventions.
39
39
  4. Call `read_knowledge` to load dynamic knowledge graph from memory.
40
40
 
41
+ ### πŸ› οΈ DEVELOPER WORKFLOW PROTOCOL (MANDATORY 4-PHASE WORKFLOW)
42
+
43
+ Before writing any non-trivial code or implementing features, you MUST follow the closed-loop 4-Phase Agentic Workflow:
44
+
45
+ 1. **Phase 01: Analysis**: Analyze requirements and specs. Run `/brainstorm`, `/grill-with-docs` (which routes to `spec-clarification`), or `/plan` first to clarify specs, identify edge cases, ask Socratic questions, and challenge requirements. **Once specs are clarified, you MUST run `/to-prd` (which routes to `prd-gen`) to extract and compile the Product Requirements Document (PRD) from context.**
46
+ 2. **Phase 02: Planning**: Perform a task breakdown. Run `/to-issues` (which routes to `task-breakdown`) based on the generated PRD to slice the work into tracer-bullet tasks and automatically create the `{task-slug}.md` file to track execution progress.
47
+ 3. **Phase 03: Solutioning**: Design the architecture and document decisions. Synchronize terms/definitions in the project glossary (`CONTEXT.md`) and write ADRs in `docs/adr/`.
48
+ - *CRITICAL CONSTRAINT*: **Strictly NO CODE logic** must be written during this phase (purely design and specification alignment).
49
+ - *MEMORY PERSISTENCE*: Whenever design or architectural decisions are finalized (across Dev, BA, QC, or PM), you MUST call `/remember` to persist these choices in `.agents/memory/MEMORY.md` and related topic files.
50
+ 4. **Phase 04: Verification**: Implement test-first code and perform security/quality audits.
51
+ - Run `/tdd` (which routes to `tdd-loop`) to write tests and implement minimal code to pass under a RED-GREEN-REFACTOR cycle.
52
+ - Run `/verify` to execute quality and security scans (security scan, unit tests, linting, type-safety checks) before committing.
53
+
41
54
  ---
42
55
 
43
56
  ## πŸ€– INTELLIGENT AGENT ROUTING
@@ -77,6 +90,21 @@ UI/UX Design Skills β€” tα»± trigger khi touch UI/design:
77
90
  | `mobile-rules` | Any mobile UI implementation: Flutter widget, screen, touch interaction | Load SKILL.md β†’ Apply platform conventions, touch patterns, performance |
78
91
  | `flutter-*` | Flutter-specific tasks: layout fix, routing, serialization, testing, etc. | Auto-select matching flutter skill based on task type |
79
92
 
93
+ Productivity & Utility Skills β€” tα»± trigger theo task context:
94
+
95
+ | Skill | Trigger Conditions | Agent Action |
96
+ |---|---|---|
97
+ | `stress-test-plan` | "grill me", "challenge my plan", stress testing proposed plan | Load SKILL.md β†’ Start interactive plan stress-testing session |
98
+ | `skill-generator` | "write skill", "create skill", building a new custom agent skill | Load SKILL.md β†’ Generate new skill stub/directory |
99
+ | `git-safety-guardrails` | "git guardrails", "block dangerous git", protect git hooks | Load SKILL.md β†’ Deploy Claude Code hooks to block push/hard-reset |
100
+ | `git-hook-setup` | "setup pre-commit", "configure husky", install pre-commit hooks | Load SKILL.md β†’ Install Husky, lint-staged, Prettier hooks |
101
+ | `test-type-migration` | "migrate as in tests", "replace as assertions", shoehorn refactoring | Load SKILL.md β†’ Refactor tests to remove unsafe type assertions |
102
+ | `exercise-scaffold` | "scaffold exercises", "exercise stubs", coding course setup | Load SKILL.md β†’ Create problems, solutions, and tests stubs |
103
+ | `interactive-teaching` | "teach me", "tutorial", "learn Y", stateful workspace learning | Load SKILL.md β†’ Create mission, lessons, and learning records |
104
+ | `writing-flow` | "writing beats", "narrative journey", write article step-by-step | Load SKILL.md β†’ Guide user through choice of narrative beats |
105
+ | `raw-idea-collector` | "collect ideas", "writing fragments", ideate outline | Load SKILL.md β†’ Collect heterogeneous claims, vignettes, and thoughts |
106
+ | `draft-shaper` | "shape draft", "edit notes", clean draft to publishable quality | Load SKILL.md β†’ Iterate paragraph by paragraph to edit draft |
107
+
80
108
  ### UI/UX Auto-Detection Rules
81
109
  - **mobile-flutter preset**: Load `mobile-rules` + `ui-style-rules` (adapted) + `mobile-mockup-gen` + matching `flutter-*`
82
110
  - **fe-react / fe-angular / fe-vue presets**: Load `ui-style-rules` + `web-mockup-gen`
@@ -113,4 +141,4 @@ Every user request must pass through the Socratic Gate before ANY tool use or im
113
141
 
114
142
  ### πŸ—ΊοΈ Quick Reference
115
143
  - **Masters**: `orchestrator`, `project-planner`, `security-auditor`, `backend-specialist`, `frontend-specialist`, `mobile-developer`, `aso-specialist`, `debugger`
116
- - **Key Skills**: `clean-code`, `brainstorming`, `ui-style-rules`, `mobile-rules`, `web-mockup-gen`, `mobile-mockup-gen`, `bug-diagnostics`, `tdd-loop`, `spec-clarification`, `prd-gen`, `task-breakdown`, `prototype`, `aso-router`
144
+ - **Key Skills**: `clean-code`, `brainstorming`, `ui-style-rules`, `mobile-rules`, `web-mockup-gen`, `mobile-mockup-gen`, `bug-diagnostics`, `tdd-loop`, `spec-clarification`, `prd-gen`, `task-breakdown`, `prototype`, `aso-router`, `stress-test-plan`, `skill-generator`, `git-safety-guardrails`, `git-hook-setup`, `test-type-migration`, `exercise-scaffold`, `interactive-teaching`, `writing-flow`, `raw-idea-collector`, `draft-shaper`, `project-config-wizard`, `skill-writing-guide`, `architecture-rules`, `solution-decision-map`, `task-implementation`, `git-conflict-resolver`, `workflow-navigator`, `terse-communication`, `session-handoff`
@@ -25,10 +25,23 @@ Single-context layout β€” one `CONTEXT.md` + `docs/adr/` at the repo root. See `
25
25
  ## Session Start Protocol (MANDATORY)
26
26
 
27
27
  1. Read `.agents/ARCHITECTURE.md` to understand Agents, Skills, and Scripts.
28
- 2. Read `.agents/memory/MEMORY.md` to load persistent project conventions.
28
+ 2. Read `.agents/memory/MEMORY.md` to load persistent project conventions, user preferences, and tech decisions.
29
29
  3. Read `docs/agents/mcp-tools.md` to load MCP tool selection rules & memory conventions.
30
30
  4. Call `read_knowledge` to load dynamic knowledge graph from memory.
31
31
 
32
+ ### πŸ› οΈ DEVELOPER WORKFLOW PROTOCOL (MANDATORY 4-PHASE WORKFLOW)
33
+
34
+ Before writing any non-trivial code or implementing features, you MUST follow the closed-loop 4-Phase Agentic Workflow:
35
+
36
+ 1. **Phase 01: Analysis**: Analyze requirements and specs. Run `/brainstorm`, `/grill-with-docs` (which routes to `spec-clarification`), or `/plan` first to clarify specs, identify edge cases, ask Socratic questions, and challenge requirements. **Once specs are clarified, you MUST run `/to-prd` (which routes to `prd-gen`) to extract and compile the Product Requirements Document (PRD) from context.**
37
+ 2. **Phase 02: Planning**: Perform a task breakdown. Run `/to-issues` (which routes to `task-breakdown`) based on the generated PRD to slice the work into tracer-bullet tasks and automatically create the `{task-slug}.md` file to track execution progress.
38
+ 3. **Phase 03: Solutioning**: Design the architecture and document decisions. Synchronize terms/definitions in the project glossary (`CONTEXT.md`) and write ADRs in `docs/adr/`.
39
+ - *CRITICAL CONSTRAINT*: **Strictly NO CODE logic** must be written during this phase (purely design and specification alignment).
40
+ - *MEMORY PERSISTENCE*: Whenever design or architectural decisions are finalized (across Dev, BA, QC, or PM), you MUST call `/remember` to persist these choices in `.agents/memory/MEMORY.md` and related topic files.
41
+ 4. **Phase 04: Verification**: Implement test-first code and perform security/quality audits.
42
+ - Run `/tdd` (which routes to `tdd-loop`) to write tests and implement minimal code to pass under a RED-GREEN-REFACTOR cycle.
43
+ - Run `/verify` to execute quality and security scans (security scan, unit tests, linting, type-safety checks) before committing.
44
+
32
45
  ---
33
46
 
34
47
  ## MCP Tool Selection
@@ -95,4 +108,4 @@ Every user request must pass through the Socratic Gate before ANY implementation
95
108
 
96
109
  ### Quick Reference
97
110
  - **Masters**: `orchestrator`, `project-planner`, `security-auditor`, `backend-specialist`, `frontend-specialist`, `mobile-developer`, `debugger`
98
- - **Key Skills**: `clean-code`, `brainstorming`, `ui-style-rules`, `mobile-rules`, `web-mockup-gen`, `mobile-mockup-gen`, `bug-diagnostics`, `tdd-loop`, `spec-clarification`, `prd-gen`, `task-breakdown`, `prototype`
111
+ - **Key Skills**: `clean-code`, `brainstorming`, `ui-style-rules`, `mobile-rules`, `web-mockup-gen`, `mobile-mockup-gen`, `bug-diagnostics`, `tdd-loop`, `spec-clarification`, `prd-gen`, `task-breakdown`, `prototype`, `stress-test-plan`, `skill-generator`, `git-safety-guardrails`, `git-hook-setup`, `test-type-migration`, `exercise-scaffold`, `interactive-teaching`, `writing-flow`, `raw-idea-collector`, `draft-shaper`, `project-config-wizard`, `skill-writing-guide`, `architecture-rules`, `solution-decision-map`, `task-implementation`, `git-conflict-resolver`, `workflow-navigator`, `terse-communication`, `session-handoff`
@@ -31,10 +31,23 @@ Single-context layout β€” one `CONTEXT.md` + `docs/adr/` at the repo root. See `
31
31
  ## πŸ—ΊοΈ Session Start Protocol (MANDATORY)
32
32
 
33
33
  1. Read `.agents/ARCHITECTURE.md` to understand Agents, Skills, and Scripts.
34
- 2. Read `.agents/memory/MEMORY.md` to load persistent project conventions.
34
+ 2. Read `.agents/memory/MEMORY.md` to load persistent project conventions, user preferences, and tech decisions.
35
35
  3. Read `docs/agents/mcp-tools.md` to load MCP tool selection rules & memory conventions.
36
36
  4. Call `read_knowledge` to load dynamic knowledge graph from memory.
37
37
 
38
+ ### πŸ› οΈ DEVELOPER WORKFLOW PROTOCOL (MANDATORY 4-PHASE WORKFLOW)
39
+
40
+ Before writing any non-trivial code or implementing features, you MUST follow the closed-loop 4-Phase Agentic Workflow:
41
+
42
+ 1. **Phase 01: Analysis**: Analyze requirements and specs. Run `/brainstorm`, `/grill-with-docs` (which routes to `spec-clarification`), or `/plan` first to clarify specs, identify edge cases, ask Socratic questions, and challenge requirements. **Once specs are clarified, you MUST run `/to-prd` (which routes to `prd-gen`) to extract and compile the Product Requirements Document (PRD) from context.**
43
+ 2. **Phase 02: Planning**: Perform a task breakdown. Run `/to-issues` (which routes to `task-breakdown`) based on the generated PRD to slice the work into tracer-bullet tasks and automatically create the `{task-slug}.md` file to track execution progress.
44
+ 3. **Phase 03: Solutioning**: Design the architecture and document decisions. Synchronize terms/definitions in the project glossary (`CONTEXT.md`) and write ADRs in `docs/adr/`.
45
+ - *CRITICAL CONSTRAINT*: **Strictly NO CODE logic** must be written during this phase (purely design and specification alignment).
46
+ - *MEMORY PERSISTENCE*: Whenever design or architectural decisions are finalized (across Dev, BA, QC, or PM), you MUST call `/remember` to persist these choices in `.agents/memory/MEMORY.md` and related topic files.
47
+ 4. **Phase 04: Verification**: Implement test-first code and perform security/quality audits.
48
+ - Run `/tdd` (which routes to `tdd-loop`) to write tests and implement minimal code to pass under a RED-GREEN-REFACTOR cycle.
49
+ - Run `/verify` to execute quality and security scans (security scan, unit tests, linting, type-safety checks) before committing.
50
+
38
51
  ---
39
52
 
40
53
  ## πŸ” MCP Tool Selection
@@ -105,4 +118,4 @@ Every user request must pass through the Socratic Gate before ANY implementation
105
118
 
106
119
  ### Quick Reference
107
120
  - **Masters**: `orchestrator`, `project-planner`, `security-auditor`, `backend-specialist`, `frontend-specialist`, `mobile-developer`, `debugger`
108
- - **Key Skills**: `clean-code`, `brainstorming`, `ui-style-rules`, `mobile-rules`, `web-mockup-gen`, `mobile-mockup-gen`, `bug-diagnostics`, `tdd-loop`, `spec-clarification`, `prd-gen`, `task-breakdown`, `prototype`
121
+ - **Key Skills**: `clean-code`, `brainstorming`, `ui-style-rules`, `mobile-rules`, `web-mockup-gen`, `mobile-mockup-gen`, `bug-diagnostics`, `tdd-loop`, `spec-clarification`, `prd-gen`, `task-breakdown`, `prototype`, `stress-test-plan`, `skill-generator`, `git-safety-guardrails`, `git-hook-setup`, `test-type-migration`, `exercise-scaffold`, `interactive-teaching`, `writing-flow`, `raw-idea-collector`, `draft-shaper`, `project-config-wizard`, `skill-writing-guide`, `architecture-rules`, `solution-decision-map`, `task-implementation`, `git-conflict-resolver`, `workflow-navigator`, `terse-communication`, `session-handoff`
@@ -25,10 +25,23 @@ Single-context layout β€” one `CONTEXT.md` + `docs/adr/` at the repo root. See `
25
25
  ## Session Start Protocol (MANDATORY)
26
26
 
27
27
  1. Read `.agents/ARCHITECTURE.md` to understand Agents, Skills, and Scripts.
28
- 2. Read `.agents/memory/MEMORY.md` to load persistent project conventions.
28
+ 2. Read `.agents/memory/MEMORY.md` to load persistent project conventions, user preferences, and tech decisions.
29
29
  3. Read `docs/agents/mcp-tools.md` to load MCP tool selection rules & memory conventions.
30
30
  4. Call `read_knowledge` to load dynamic knowledge graph from memory.
31
31
 
32
+ ### πŸ› οΈ DEVELOPER WORKFLOW PROTOCOL (MANDATORY 4-PHASE WORKFLOW)
33
+
34
+ Before writing any non-trivial code or implementing features, you MUST follow the closed-loop 4-Phase Agentic Workflow:
35
+
36
+ 1. **Phase 01: Analysis**: Analyze requirements and specs. Run `/brainstorm`, `/grill-with-docs` (which routes to `spec-clarification`), or `/plan` first to clarify specs, identify edge cases, ask Socratic questions, and challenge requirements. **Once specs are clarified, you MUST run `/to-prd` (which routes to `prd-gen`) to extract and compile the Product Requirements Document (PRD) from context.**
37
+ 2. **Phase 02: Planning**: Perform a task breakdown. Run `/to-issues` (which routes to `task-breakdown`) based on the generated PRD to slice the work into tracer-bullet tasks and automatically create the `{task-slug}.md` file to track execution progress.
38
+ 3. **Phase 03: Solutioning**: Design the architecture and document decisions. Synchronize terms/definitions in the project glossary (`CONTEXT.md`) and write ADRs in `docs/adr/`.
39
+ - *CRITICAL CONSTRAINT*: **Strictly NO CODE logic** must be written during this phase (purely design and specification alignment).
40
+ - *MEMORY PERSISTENCE*: Whenever design or architectural decisions are finalized (across Dev, BA, QC, or PM), you MUST call `/remember` to persist these choices in `.agents/memory/MEMORY.md` and related topic files.
41
+ 4. **Phase 04: Verification**: Implement test-first code and perform security/quality audits.
42
+ - Run `/tdd` (which routes to `tdd-loop`) to write tests and implement minimal code to pass under a RED-GREEN-REFACTOR cycle.
43
+ - Run `/verify` to execute quality and security scans (security scan, unit tests, linting, type-safety checks) before committing.
44
+
32
45
  ---
33
46
 
34
47
  ## MCP Tool Selection
@@ -95,4 +108,4 @@ Every user request must pass through the Socratic Gate before ANY implementation
95
108
 
96
109
  ### Quick Reference
97
110
  - **Masters**: `orchestrator`, `project-planner`, `security-auditor`, `backend-specialist`, `frontend-specialist`, `mobile-developer`, `debugger`
98
- - **Key Skills**: `clean-code`, `brainstorming`, `ui-style-rules`, `mobile-rules`, `web-mockup-gen`, `mobile-mockup-gen`, `bug-diagnostics`, `tdd-loop`, `spec-clarification`, `prd-gen`, `task-breakdown`, `prototype`
111
+ - **Key Skills**: `clean-code`, `brainstorming`, `ui-style-rules`, `mobile-rules`, `web-mockup-gen`, `mobile-mockup-gen`, `bug-diagnostics`, `tdd-loop`, `spec-clarification`, `prd-gen`, `task-breakdown`, `prototype`, `stress-test-plan`, `skill-generator`, `git-safety-guardrails`, `git-hook-setup`, `test-type-migration`, `exercise-scaffold`, `interactive-teaching`, `writing-flow`, `raw-idea-collector`, `draft-shaper`, `project-config-wizard`, `skill-writing-guide`, `architecture-rules`, `solution-decision-map`, `task-implementation`, `git-conflict-resolver`, `workflow-navigator`, `terse-communication`, `session-handoff`