@sleep2agi/agent-network 2.2.12 → 2.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- const a0_0x8c6273=a0_0x1663;function a0_0x3999(){const _0x3ad6d8=['644292hKGxkV','3141858sLTjSY','match','2LcpvoE','connectSSE','idle','/mcp','read','type','AbortError','abort','result','getAllStatus','completed','alias','POST','text','sdk','text/event-stream','slice','log','1380RqOHRa','/events/','broadcast','from_session','application/json,\x20text/event-stream','2.0','get_all_status','pop','reconnectDelay','heartbeatInterval','offline','send_message','status','inbox\x20error:\x20','token','2985426rdjEIM',']\x20[commhub:','call','27464RkCBwQ','get_inbox','now','running','518dLaAQZ','parse','signal','new_message','12mbaotY','20mokzjn','reply','connect','send_reply','application/json','connected','autoConnect','body','content','split','task','server','processInbox','tools/call','new_task','1012515EgIbkH','SSE\x20connected','messages','send','Authorization','SSE\x20reconnecting\x20in\x20','replace','disconnected','resumeId','name','error','heartbeatTimer','Bearer\x20','stringify','842290WAViJI','catch','toTimeString','message','registered','url','103829htaRkQ','send_task','sseAbort','sleep','sdk-','agent','emit','SSE\x20failed:\x20'];a0_0x3999=function(){return _0x3ad6d8;};return a0_0x3999();}(function(_0xdc9419,_0x16b2bf){const _0x323d0f=a0_0x1663,_0x5d3ad6=_0xdc9419();while(!![]){try{const _0x1f9338=-parseInt(_0x323d0f(0xb2))/0x1+parseInt(_0x323d0f(0xc3))/0x2*(parseInt(_0x323d0f(0xc1))/0x3)+-parseInt(_0x323d0f(0xef))/0x4*(parseInt(_0x323d0f(0xa4))/0x5)+-parseInt(_0x323d0f(0xe4))/0x6+-parseInt(_0x323d0f(0xeb))/0x7*(-parseInt(_0x323d0f(0xe7))/0x8)+-parseInt(_0x323d0f(0xc0))/0x9*(-parseInt(_0x323d0f(0xf0))/0xa)+parseInt(_0x323d0f(0xb8))/0xb*(parseInt(_0x323d0f(0xd5))/0xc);if(_0x1f9338===_0x16b2bf)break;else _0x5d3ad6['push'](_0x5d3ad6['shift']());}catch(_0x3af492){_0x5d3ad6['push'](_0x5d3ad6['shift']());}}}(a0_0x3999,0x8e3db));import{EventEmitter as a0_0x3d6184}from'events';import{hostname as a0_0x1fb977}from'os';class T extends a0_0x3d6184{['url'];['alias'];[a0_0x8c6273(0xe3)];[a0_0x8c6273(0xbd)];['resumeId'];[a0_0x8c6273(0xde)];[a0_0x8c6273(0xdd)];['heartbeatTimer'];[a0_0x8c6273(0xba)];['running']=!0x1;constructor(_0x593fc0){const _0x41dfc5=a0_0x8c6273;super();if(this['url']=_0x593fc0['url'][_0x41dfc5(0xaa)](/\/$/,''),this[_0x41dfc5(0xce)]=_0x593fc0['alias'],this[_0x41dfc5(0xe3)]=_0x593fc0[_0x41dfc5(0xe3)],this[_0x41dfc5(0xbd)]=_0x593fc0[_0x41dfc5(0xbd)]||_0x41dfc5(0xd1),this[_0x41dfc5(0xac)]=_0x41dfc5(0xbc)+_0x593fc0[_0x41dfc5(0xce)]+'-'+Date[_0x41dfc5(0xe9)]()['toString'](0x24),this[_0x41dfc5(0xde)]=_0x593fc0[_0x41dfc5(0xde)]??0x2bf20,this[_0x41dfc5(0xdd)]=_0x593fc0[_0x41dfc5(0xdd)]??0xbb8,_0x593fc0[_0x41dfc5(0xf6)]!==!0x1)this[_0x41dfc5(0xf2)]();}[a0_0x8c6273(0xd4)](_0x2c2145){const _0x381a56=a0_0x8c6273;console[_0x381a56(0xd4)]('['+new Date()[_0x381a56(0xb4)]()[_0x381a56(0xd3)](0x0,0x8)+_0x381a56(0xe5)+this[_0x381a56(0xce)]+']\x20'+_0x2c2145);}async[a0_0x8c6273(0xe6)](_0x263e7b,_0xdbdc0b){const _0x11fbba=a0_0x8c6273;let _0x48c9a6={'Content-Type':_0x11fbba(0xf4),'Accept':_0x11fbba(0xd9)};if(this[_0x11fbba(0xe3)])_0x48c9a6[_0x11fbba(0xa8)]=_0x11fbba(0xb0)+this[_0x11fbba(0xe3)];let _0x45dc2c=await(await fetch(this[_0x11fbba(0xb7)]+_0x11fbba(0xc6),{'method':_0x11fbba(0xcf),'headers':_0x48c9a6,'body':JSON[_0x11fbba(0xb1)]({'jsonrpc':_0x11fbba(0xda),'id':Date['now'](),'method':_0x11fbba(0xa2),'params':{'name':_0x263e7b,'arguments':_0xdbdc0b}})}))[_0x11fbba(0xd0)](),_0x455929=_0x45dc2c[_0x11fbba(0xc2)](/data: (.+)/),_0x23fb3a=_0x455929?JSON['parse'](_0x455929[0x1]):JSON[_0x11fbba(0xec)](_0x45dc2c),_0x92c687=_0x23fb3a?.[_0x11fbba(0xcb)]?.['content']?.[0x0]?.[_0x11fbba(0xd0)];return _0x92c687?JSON[_0x11fbba(0xec)](_0x92c687):_0x23fb3a;}async[a0_0x8c6273(0xf2)](){const _0x371567=a0_0x8c6273;if(this['running'])return;this[_0x371567(0xea)]=!0x0,await this['status'](_0x371567(0xc5)),this[_0x371567(0xd4)](_0x371567(0xb6)),this[_0x371567(0xaf)]=setInterval(()=>{const _0x364ed2=_0x371567;this['status'](_0x364ed2(0xc5))[_0x364ed2(0xb3)](_0x968e28=>this[_0x364ed2(0xd4)]('heartbeat\x20failed:\x20'+_0x968e28[_0x364ed2(0xb5)]));},this[_0x371567(0xde)]),this[_0x371567(0xc4)]();}async['disconnect'](){const _0x1f910a=a0_0x8c6273;if(this[_0x1f910a(0xea)]=!0x1,this[_0x1f910a(0xba)]?.[_0x1f910a(0xca)](),this['heartbeatTimer'])clearInterval(this[_0x1f910a(0xaf)]);await this[_0x1f910a(0xe1)](_0x1f910a(0xdf))['catch'](()=>{}),this[_0x1f910a(0xd4)](_0x1f910a(0xab));}async[a0_0x8c6273(0xa7)](_0x51e3dc,_0xb201a5,_0x2d79e3='normal'){const _0x1875c2=a0_0x8c6273;return this[_0x1875c2(0xe6)](_0x1875c2(0xb9),{'alias':_0x51e3dc,'task':_0xb201a5,'priority':_0x2d79e3,'from_session':this[_0x1875c2(0xce)]});}async['message'](_0x451435,_0x138ad3){const _0x30e362=a0_0x8c6273;return this[_0x30e362(0xe6)](_0x30e362(0xe0),{'alias':_0x451435,'message':_0x138ad3,'from_session':this['alias']});}async[a0_0x8c6273(0xf1)](_0x777d6c,_0x4cb9d9,_0x6fbd4d=a0_0x8c6273(0xcd)){const _0x7f533b=a0_0x8c6273;return this['call'](_0x7f533b(0xf3),{'in_reply_to':_0x777d6c,'text':_0x4cb9d9,'status':_0x6fbd4d});}async[a0_0x8c6273(0xe1)](_0xa03af0,_0x397836){const _0x2d41cb=a0_0x8c6273;return this['call']('report_status',{'resume_id':this['resumeId'],'alias':this['alias'],'status':_0xa03af0,'server':a0_0x1fb977(),'hostname':a0_0x1fb977(),'agent':this[_0x2d41cb(0xbd)],'project_dir':process['cwd'](),..._0x397836});}async[a0_0x8c6273(0xcc)](){const _0x4d92c2=a0_0x8c6273;return this[_0x4d92c2(0xe6)](_0x4d92c2(0xdb),{});}async['broadcast'](_0x442c7a,_0x596ba8){const _0x1564b3=a0_0x8c6273;return this['call'](_0x1564b3(0xd7),{'message':_0x442c7a,'filter_server':_0x596ba8?.[_0x1564b3(0xfb)],'filter_status':_0x596ba8?.['status']});}async[a0_0x8c6273(0xc4)](){const _0x24fc11=a0_0x8c6273;let _0x5276ad=encodeURIComponent(this[_0x24fc11(0xce)]),_0x5be62c=this[_0x24fc11(0xb7)]+_0x24fc11(0xd6)+_0x5276ad,_0x1ab88b=this[_0x24fc11(0xdd)];while(this['running']){try{this[_0x24fc11(0xba)]=new AbortController();let _0x2abe21={'Accept':_0x24fc11(0xd2)};if(this[_0x24fc11(0xe3)])_0x2abe21[_0x24fc11(0xa8)]=_0x24fc11(0xb0)+this['token'];let _0x27d09c=await fetch(_0x5be62c,{'headers':_0x2abe21,'signal':this[_0x24fc11(0xba)][_0x24fc11(0xed)]});if(!_0x27d09c['ok']||!_0x27d09c[_0x24fc11(0xf7)]){this[_0x24fc11(0xd4)](_0x24fc11(0xbf)+_0x27d09c[_0x24fc11(0xe1)]),await this[_0x24fc11(0xbb)](_0x1ab88b),_0x1ab88b=Math['min'](_0x1ab88b*1.5,0xea60);continue;}_0x1ab88b=this[_0x24fc11(0xdd)];let _0x35e3b8=_0x27d09c['body']['getReader'](),_0x2d42c4=new TextDecoder(),_0x14524c='';while(this[_0x24fc11(0xea)]){let {done:_0x41605c,value:_0x5e2251}=await _0x35e3b8[_0x24fc11(0xc7)]();if(_0x41605c)break;_0x14524c+=_0x2d42c4['decode'](_0x5e2251,{'stream':!0x0});let _0x2d0c7f=_0x14524c[_0x24fc11(0xf9)]('\x0a');_0x14524c=_0x2d0c7f[_0x24fc11(0xdc)]()||'';for(let _0x12c451 of _0x2d0c7f){if(!_0x12c451['startsWith']('data:\x20'))continue;try{let _0x431b35=JSON[_0x24fc11(0xec)](_0x12c451[_0x24fc11(0xd3)](0x6));if(_0x431b35[_0x24fc11(0xc8)]===_0x24fc11(0xf5)){this[_0x24fc11(0xd4)](_0x24fc11(0xa5)),this[_0x24fc11(0xbe)](_0x24fc11(0xf5));continue;}if(_0x431b35[_0x24fc11(0xc8)]===_0x24fc11(0xa3)||_0x431b35['type']===_0x24fc11(0xee)||_0x431b35[_0x24fc11(0xc8)]==='broadcast')await this[_0x24fc11(0xa1)]();}catch{}}}}catch(_0x212738){if(_0x212738[_0x24fc11(0xad)]===_0x24fc11(0xc9))break;this[_0x24fc11(0xbe)](_0x24fc11(0xae),_0x212738),this[_0x24fc11(0xd4)]('SSE\x20error:\x20'+_0x212738['message']);}if(this[_0x24fc11(0xea)])this[_0x24fc11(0xbe)](_0x24fc11(0xab)),this[_0x24fc11(0xd4)](_0x24fc11(0xa9)+_0x1ab88b/0x3e8+'s...'),await this[_0x24fc11(0xbb)](_0x1ab88b),_0x1ab88b=Math['min'](_0x1ab88b*1.5,0xea60);}}async[a0_0x8c6273(0xa1)](){const _0x5be037=a0_0x8c6273;try{let _0xe7168a=(await this[_0x5be037(0xe6)](_0x5be037(0xe8),{'alias':this[_0x5be037(0xce)],'limit':0xa}))?.[_0x5be037(0xa6)]||[];for(let _0x32cec2 of _0xe7168a)await this[_0x5be037(0xe6)]('ack_inbox',{'alias':this[_0x5be037(0xce)],'message_id':_0x32cec2['id']}),this[_0x5be037(0xd4)]('←\x20'+_0x32cec2[_0x5be037(0xd8)]+':\x20'+_0x32cec2[_0x5be037(0xf8)][_0x5be037(0xd3)](0x0,0x3c)),this[_0x5be037(0xbe)](_0x5be037(0xfa),_0x32cec2),this[_0x5be037(0xbe)](_0x5be037(0xb5),_0x32cec2);}catch(_0x3bbd70){this['log'](_0x5be037(0xe2)+_0x3bbd70[_0x5be037(0xb5)]);}}['sleep'](_0x362971){return new Promise(_0x432079=>setTimeout(_0x432079,_0x362971));}}function a0_0x1663(_0x51173e,_0x16ade6){_0x51173e=_0x51173e-0xa1;const _0x399998=a0_0x3999();let _0x1663ae=_0x399998[_0x51173e];return _0x1663ae;}var $=T;export{$ as default,T as CommHub};
1
+ const a0_0xd3454a=a0_0x45d1;function a0_0x45d1(_0x1456f3,_0x361a63){_0x1456f3=_0x1456f3-0xa6;const _0x4b59e7=a0_0x4b59();let _0x45d1d6=_0x4b59e7[_0x1456f3];return _0x45d1d6;}(function(_0x3fd396,_0x52bbd7){const _0x228272=a0_0x45d1,_0x50438f=_0x3fd396();while(!![]){try{const _0x29660a=parseInt(_0x228272(0xcf))/0x1+parseInt(_0x228272(0xf7))/0x2*(parseInt(_0x228272(0xb4))/0x3)+-parseInt(_0x228272(0xb2))/0x4*(-parseInt(_0x228272(0xab))/0x5)+parseInt(_0x228272(0xf3))/0x6+parseInt(_0x228272(0xe5))/0x7+-parseInt(_0x228272(0xa8))/0x8*(-parseInt(_0x228272(0xac))/0x9)+-parseInt(_0x228272(0xd3))/0xa*(parseInt(_0x228272(0xaf))/0xb);if(_0x29660a===_0x52bbd7)break;else _0x50438f['push'](_0x50438f['shift']());}catch(_0x4f3d3d){_0x50438f['push'](_0x50438f['shift']());}}}(a0_0x4b59,0x1c027));import{EventEmitter as a0_0xda3f13}from'events';import{hostname as a0_0x214d2e}from'os';class T extends a0_0xda3f13{['url'];[a0_0xd3454a(0xb0)];[a0_0xd3454a(0xcb)];[a0_0xd3454a(0xd5)];[a0_0xd3454a(0xbc)];[a0_0xd3454a(0xd7)];[a0_0xd3454a(0xda)];[a0_0xd3454a(0xc2)];[a0_0xd3454a(0xca)];[a0_0xd3454a(0xb8)]=!0x1;constructor(_0x32cea1){const _0x125677=a0_0xd3454a;super();if(this['url']=_0x32cea1['url'][_0x125677(0xf8)](/\/$/,''),this[_0x125677(0xb0)]=_0x32cea1[_0x125677(0xb0)],this[_0x125677(0xcb)]=_0x32cea1['token'],this[_0x125677(0xd5)]=_0x32cea1['agent']||_0x125677(0xf6),this[_0x125677(0xbc)]='sdk-'+_0x32cea1[_0x125677(0xb0)]+'-'+Date[_0x125677(0xed)]()[_0x125677(0xb6)](0x24),this[_0x125677(0xd7)]=_0x32cea1[_0x125677(0xd7)]??0x2bf20,this['reconnectDelay']=_0x32cea1[_0x125677(0xda)]??0xbb8,_0x32cea1[_0x125677(0xe2)]!==!0x1)this['connect']();}[a0_0xd3454a(0xe4)](_0x392b39){const _0x8a73=a0_0xd3454a;console[_0x8a73(0xe4)]('['+new Date()[_0x8a73(0xd4)]()[_0x8a73(0xaa)](0x0,0x8)+']\x20[commhub:'+this['alias']+']\x20'+_0x392b39);}async['call'](_0x2c2040,_0xc1f9ef){const _0x5bf881=a0_0xd3454a;let _0x1d70e0={'Content-Type':_0x5bf881(0xb5),'Accept':_0x5bf881(0xba)};if(this[_0x5bf881(0xcb)])_0x1d70e0[_0x5bf881(0xe7)]=_0x5bf881(0xd1)+this[_0x5bf881(0xcb)];let _0x57ae88=await(await fetch(this[_0x5bf881(0xcc)]+_0x5bf881(0xb7),{'method':'POST','headers':_0x1d70e0,'body':JSON['stringify']({'jsonrpc':'2.0','id':Date[_0x5bf881(0xed)](),'method':_0x5bf881(0xc4),'params':{'name':_0x2c2040,'arguments':_0xc1f9ef}})}))[_0x5bf881(0xd0)](),_0x202c57=_0x57ae88[_0x5bf881(0xdd)](/data: (.+)/),_0x12906d=_0x202c57?JSON[_0x5bf881(0xd8)](_0x202c57[0x1]):JSON[_0x5bf881(0xd8)](_0x57ae88),_0x2e1ffb=_0x12906d?.['result']?.['content']?.[0x0]?.[_0x5bf881(0xd0)];return _0x2e1ffb?JSON[_0x5bf881(0xd8)](_0x2e1ffb):_0x12906d;}async[a0_0xd3454a(0xd9)](){const _0x5dab25=a0_0xd3454a;if(this['running'])return;this['running']=!0x0,await this[_0x5dab25(0xc5)]('idle'),this[_0x5dab25(0xe4)](_0x5dab25(0xc1)),this['heartbeatTimer']=setInterval(()=>{const _0x4a38f3=_0x5dab25;this[_0x4a38f3(0xc5)](_0x4a38f3(0xf2))[_0x4a38f3(0xc0)](_0x25a0dc=>this[_0x4a38f3(0xe4)](_0x4a38f3(0xfb)+_0x25a0dc[_0x4a38f3(0xf9)]));},this['heartbeatInterval']),this['connectSSE']();}async['disconnect'](){const _0x336e6f=a0_0xd3454a;if(this['running']=!0x1,this[_0x336e6f(0xca)]?.[_0x336e6f(0xb3)](),this['heartbeatTimer'])clearInterval(this[_0x336e6f(0xc2)]);await this[_0x336e6f(0xc5)](_0x336e6f(0xa9))[_0x336e6f(0xc0)](()=>{}),this[_0x336e6f(0xe4)]('disconnected');}async[a0_0xd3454a(0xe9)](_0x3258e2,_0x497452,_0x94460e=a0_0xd3454a(0xcd)){const _0x48fc73=a0_0xd3454a;return this[_0x48fc73(0xb9)]('send_task',{'alias':_0x3258e2,'task':_0x497452,'priority':_0x94460e,'from_session':this['alias']});}async[a0_0xd3454a(0xf9)](_0x1e243f,_0x32a6ab){const _0x55c599=a0_0xd3454a;return this[_0x55c599(0xb9)]('send_message',{'alias':_0x1e243f,'message':_0x32a6ab,'from_session':this[_0x55c599(0xb0)]});}async[a0_0xd3454a(0xfc)](_0x3ed133,_0x2cdc32,_0x272160='completed'){const _0x1a8761=a0_0xd3454a;return this[_0x1a8761(0xb9)](_0x1a8761(0xbb),{'in_reply_to':_0x3ed133,'text':_0x2cdc32,'status':_0x272160});}async[a0_0xd3454a(0xc5)](_0x59a844,_0x3fa31f){const _0x504139=a0_0xd3454a;return this[_0x504139(0xb9)](_0x504139(0xd2),{'resume_id':this['resumeId'],'alias':this[_0x504139(0xb0)],'status':_0x59a844,'server':a0_0x214d2e(),'hostname':a0_0x214d2e(),'agent':this[_0x504139(0xd5)],'project_dir':process[_0x504139(0xeb)](),..._0x3fa31f});}async['getAllStatus'](){const _0x5e3a95=a0_0xd3454a;return this[_0x5e3a95(0xb9)](_0x5e3a95(0xf4),{});}async[a0_0xd3454a(0xbe)](_0x26e919,_0x3ed2a1){const _0x4fa93d=a0_0xd3454a;return this[_0x4fa93d(0xb9)](_0x4fa93d(0xbe),{'message':_0x26e919,'filter_server':_0x3ed2a1?.[_0x4fa93d(0xa7)],'filter_status':_0x3ed2a1?.[_0x4fa93d(0xc5)]});}async[a0_0xd3454a(0xdc)](){const _0x5b4291=a0_0xd3454a;let _0x31f452=encodeURIComponent(this[_0x5b4291(0xb0)]),_0x4bc4b5=this['url']+_0x5b4291(0xc7)+_0x31f452,_0x58c9ac=this[_0x5b4291(0xda)];while(this['running']){try{this[_0x5b4291(0xca)]=new AbortController();let _0x31d529={'Accept':_0x5b4291(0xdf)};if(this[_0x5b4291(0xcb)])_0x31d529['Authorization']='Bearer\x20'+this[_0x5b4291(0xcb)];let _0x5621ad=await fetch(_0x4bc4b5,{'headers':_0x31d529,'signal':this[_0x5b4291(0xca)][_0x5b4291(0xec)]});if(!_0x5621ad['ok']||!_0x5621ad[_0x5b4291(0xf0)]){this[_0x5b4291(0xe4)](_0x5b4291(0xde)+_0x5621ad['status']),await this['sleep'](_0x58c9ac),_0x58c9ac=Math[_0x5b4291(0xa6)](_0x58c9ac*1.5,0xea60);continue;}_0x58c9ac=this['reconnectDelay'];let _0x424d5b=_0x5621ad[_0x5b4291(0xf0)]['getReader'](),_0x36cb0e=new TextDecoder(),_0x40b7f8='';while(this[_0x5b4291(0xb8)]){let {done:_0x2f64dc,value:_0x56e9bd}=await _0x424d5b[_0x5b4291(0xd6)]();if(_0x2f64dc)break;_0x40b7f8+=_0x36cb0e[_0x5b4291(0xad)](_0x56e9bd,{'stream':!0x0});let _0x3d5cb3=_0x40b7f8[_0x5b4291(0xce)]('\x0a');_0x40b7f8=_0x3d5cb3['pop']()||'';for(let _0x307cfc of _0x3d5cb3){if(!_0x307cfc['startsWith']('data:\x20'))continue;try{let _0x3d5529=JSON[_0x5b4291(0xd8)](_0x307cfc[_0x5b4291(0xaa)](0x6));if(_0x3d5529[_0x5b4291(0xbf)]===_0x5b4291(0xea)){this[_0x5b4291(0xe4)](_0x5b4291(0xe6)),this[_0x5b4291(0xf1)](_0x5b4291(0xea));continue;}if(_0x3d5529['type']===_0x5b4291(0xee)||_0x3d5529[_0x5b4291(0xbf)]==='new_message'||_0x3d5529[_0x5b4291(0xbf)]===_0x5b4291(0xbe))await this[_0x5b4291(0xc8)]();}catch{}}}}catch(_0x2e2910){if(_0x2e2910[_0x5b4291(0xe8)]===_0x5b4291(0xe3))break;this[_0x5b4291(0xf1)](_0x5b4291(0xc3),_0x2e2910),this[_0x5b4291(0xe4)](_0x5b4291(0xb1)+_0x2e2910[_0x5b4291(0xf9)]);}if(this[_0x5b4291(0xb8)])this[_0x5b4291(0xf1)](_0x5b4291(0xae)),this[_0x5b4291(0xe4)](_0x5b4291(0xef)+_0x58c9ac/0x3e8+_0x5b4291(0xfa)),await this[_0x5b4291(0xc6)](_0x58c9ac),_0x58c9ac=Math[_0x5b4291(0xa6)](_0x58c9ac*1.5,0xea60);}}async[a0_0xd3454a(0xc8)](){const _0x2c45e0=a0_0xd3454a;try{let _0x174d99=(await this['call'](_0x2c45e0(0xc9),{'alias':this[_0x2c45e0(0xb0)],'limit':0xa}))?.[_0x2c45e0(0xe1)]||[];for(let _0x56c822 of _0x174d99)await this[_0x2c45e0(0xb9)]('ack_inbox',{'alias':this[_0x2c45e0(0xb0)],'message_id':_0x56c822['id']}),this[_0x2c45e0(0xe4)]('←\x20'+_0x56c822[_0x2c45e0(0xdb)]+':\x20'+_0x56c822[_0x2c45e0(0xe0)][_0x2c45e0(0xaa)](0x0,0x3c)),this[_0x2c45e0(0xf1)](_0x2c45e0(0xf5),_0x56c822),this[_0x2c45e0(0xf1)](_0x2c45e0(0xf9),_0x56c822);}catch(_0xe4c58f){this[_0x2c45e0(0xe4)](_0x2c45e0(0xbd)+_0xe4c58f['message']);}}[a0_0xd3454a(0xc6)](_0x310d24){return new Promise(_0x3214b0=>setTimeout(_0x3214b0,_0x310d24));}}var $=T;export{$ as default,T as CommHub};function a0_0x4b59(){const _0x5b879d=['slice','55mQuPgd','297zFnOyw','decode','disconnected','55ZsZfDu','alias','SSE\x20error:\x20','5272hULIIY','abort','42NkXfUW','application/json','toString','/mcp','running','call','application/json,\x20text/event-stream','send_reply','resumeId','inbox\x20error:\x20','broadcast','type','catch','registered','heartbeatTimer','error','tools/call','status','sleep','/events/','processInbox','get_inbox','sseAbort','token','url','normal','split','31072LQVsRf','text','Bearer\x20','report_status','907820yvyZAG','toTimeString','agent','read','heartbeatInterval','parse','connect','reconnectDelay','from_session','connectSSE','match','SSE\x20failed:\x20','text/event-stream','content','messages','autoConnect','AbortError','log','947086LCiYOB','SSE\x20connected','Authorization','name','send','connected','cwd','signal','now','new_task','SSE\x20reconnecting\x20in\x20','body','emit','idle','359100NCbDGa','get_all_status','task','sdk','24844rLChPF','replace','message','s...','heartbeat\x20failed:\x20','reply','min','server','37336DbjEob','offline'];a0_0x4b59=function(){return _0x5b879d;};return a0_0x4b59();}
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env bun
2
- const a0_0x30a5a1=a0_0x53c4;(function(_0x238759,_0x21b89e){const _0x402856=a0_0x53c4,_0x4e7205=_0x238759();while(!![]){try{const _0x2e5888=-parseInt(_0x402856(0x21d))/0x1+parseInt(_0x402856(0x246))/0x2+parseInt(_0x402856(0x1f9))/0x3+-parseInt(_0x402856(0x239))/0x4+-parseInt(_0x402856(0x1ea))/0x5*(parseInt(_0x402856(0x1eb))/0x6)+parseInt(_0x402856(0x1d3))/0x7*(-parseInt(_0x402856(0x1f1))/0x8)+parseInt(_0x402856(0x1fb))/0x9;if(_0x2e5888===_0x21b89e)break;else _0x4e7205['push'](_0x4e7205['shift']());}catch(_0x3ed6b6){_0x4e7205['push'](_0x4e7205['shift']());}}}(a0_0x3396,0x3d206));import{readFileSync as a0_0xa5882d,existsSync as a0_0x78ddd2}from'fs';import{randomUUID as a0_0x1deb56}from'crypto';import{join as a0_0x3aa4b2}from'path';import{hostname as a0_0x24d0e6}from'os';import{execSync as a0_0x155f54}from'child_process';import{Server as a0_0x1e5e0a}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x1e1423}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x538f8f,CallToolRequestSchema as a0_0xef229f}from'@modelcontextprotocol/sdk/types.js';function a0_0x3396(){const _0x2cd926=['pop','SSE\x20error:\x20','parse','getReader','application/json,\x20text/event-stream','hub','re-registered\x20as\x20\x22',':\x20inbox_count=','\x20priority=','2.0','.claude/channels/commhub','heartbeat\x20failed:\x20','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','statusText','init\x20failed:\x20','POST','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','SIGTERM','send_reply','warning:\x20could\x20not\x20register:\x20','\x20ALIAS=','5paorkl','838764aUdFCY','\x20PROJECT_ENV=','claude-code','tmux\x20display-message\x20-p\x20\x27#S\x27','0.3.0','high','8UaWvRW','\x22\x20(','\x20from\x20','delete',']\x20[commhub]\x20','string','text','new_message','715815CbKBDX','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','6177465SqDgsd','notifications/claude/channel','content','parse\x20error:\x20','Reply\x20text\x20/\x20result\x20summary','type','token','data:\x20','toTimeString','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','application/json','failed','cancelled','broadcast','commhub_send_message','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','Current\x20task\x20description','/mcp','send_task','commhub_reply','Priority\x20(default:\x20normal)','completed','startsWith','commhub_send_task','join','MCP\x20stdio\x20connected','.env','SSE\x20connection\x20error:\x20','Task\x20content','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','get','catch','cwd','no\x20response','239087IhkDMz','from_session','now','commhub_report_status','connected','(none)','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','idle','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inbox_count','exit','result','.anet','message','error','slice',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','/events/','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','new_task','stderr','messages','body','ack_inbox','stringify','split','task','object','95344wxJuMc','from','send_message','blocked','low','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','Bearer\x20','notification','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','\x20/\x20hostname=','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','offline','Progress\x200-100','51730xJcfec','commhub','write','trim','report_status','priority','normal','message_id','connect','pid','working','set','replace','shutting\x20down,\x20reporting\x20offline...','indexOf','commhub-channel','\x20RESUME_ID=','SSE\x20stream\x20ended,\x20reconnecting...','re-register\x20failed:\x20','SSE\x20fatal:\x20','get_all_status','Target\x20session\x20alias','←\x20message\x20from\x20','SIGINT','2025-03-26','setRequestHandler','min','...\x20TMUX=','alias','→\x20injected\x20task\x20','utf-8','status','2084348iGHXVk','replied'];a0_0x3396=function(){return _0x2cd926;};return a0_0x3396();}function I(_0x2fefcb){const _0x46764b=a0_0x53c4;if(!a0_0x78ddd2(_0x2fefcb))return;for(let _0x518bd4 of a0_0xa5882d(_0x2fefcb,'utf-8')[_0x46764b(0x236)]('\x0a')){let _0x41b833=_0x518bd4[_0x46764b(0x249)]();if(!_0x41b833||_0x41b833[_0x46764b(0x211)]('#'))continue;let _0x14874f=_0x41b833[_0x46764b(0x1c1)]('=');if(_0x14874f<0x0)continue;let _0x3ff56c=_0x41b833[_0x46764b(0x22c)](0x0,_0x14874f)[_0x46764b(0x249)](),_0x2ecd3f=_0x41b833[_0x46764b(0x22c)](_0x14874f+0x1)[_0x46764b(0x249)]()[_0x46764b(0x1bf)](/^["']|["']$/g,'');if(!process.env[_0x3ff56c])process.env[_0x3ff56c]=_0x2ecd3f;}}var L=process.env.HOME||'~',U=a0_0x3aa4b2(L,a0_0x30a5a1(0x1df));I(a0_0x3aa4b2(U,'.env'));var v=process['cwd']()['replace'](/\//g,'-');I(a0_0x3aa4b2(U,v,a0_0x30a5a1(0x215)));function d(){const _0x3be7e0=a0_0x30a5a1;try{return a0_0x155f54(_0x3be7e0(0x1ee),{'encoding':_0x3be7e0(0x1d1),'timeout':0x7d0})[_0x3be7e0(0x249)]();}catch{return'';}}function m(){const _0x13c335=a0_0x30a5a1;try{let _0x5daef3=a0_0x3aa4b2(L,_0x13c335(0x229),'config.json');if(a0_0x78ddd2(_0x5daef3))return JSON['parse'](a0_0xa5882d(_0x5daef3,_0x13c335(0x1d1)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x30a5a1(0x1da)]||'http://127.0.0.1:9200',f=process.env.COMMHUB_TMUX||d();function r(){const _0x1de600=a0_0x30a5a1;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x1de600(0x249)]())return process.env.COMMHUB_ALIAS[_0x1de600(0x249)]();return process[_0x1de600(0x231)][_0x1de600(0x248)]('[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20'+(_0x1de600(0x1e5)+(f||_0x1de600(0x222))+_0x1de600(0x242)+a0_0x24d0e6()+_0x1de600(0x1fa))),'unattributed-'+process[_0x1de600(0x24f)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x1deb56(),F=process.env.COMMHUB_TOKEN||u[a0_0x30a5a1(0x201)]||'';function W(_0x355aac){const _0x68cb3d=a0_0x30a5a1;let _0x1a5f8a=new Date()[_0x68cb3d(0x203)]()['slice'](0x0,0x8);process[_0x68cb3d(0x231)]['write']('['+_0x1a5f8a+_0x68cb3d(0x1f5)+_0x355aac+'\x0a');}function N(_0x27d3a7){return new Promise(_0x4ebf2e=>setTimeout(_0x4ebf2e,_0x27d3a7));}W('ENV:\x20URL='+j+a0_0x30a5a1(0x1e9)+G+a0_0x30a5a1(0x1c3)+K['slice'](0x0,0x8)+a0_0x30a5a1(0x1ce)+(f||'none')+'\x20CWD='+process[a0_0x30a5a1(0x21b)]()+a0_0x30a5a1(0x1ec)+v);var D=new Map(),x=new a0_0x1e5e0a({'name':a0_0x30a5a1(0x1c2),'version':a0_0x30a5a1(0x1ef)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x30a5a1(0x23e),a0_0x30a5a1(0x243),a0_0x30a5a1(0x241),a0_0x30a5a1(0x22f),'Session\x20alias:\x20'+G][a0_0x30a5a1(0x213)]('\x0a')});x[a0_0x30a5a1(0x1cc)](a0_0x538f8f,async()=>({'tools':[{'name':a0_0x30a5a1(0x20e),'description':'Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','inputSchema':{'type':a0_0x30a5a1(0x238),'properties':{'task_id':{'type':'string','description':a0_0x30a5a1(0x218)},'text':{'type':a0_0x30a5a1(0x1f6),'description':a0_0x30a5a1(0x1ff)},'status':{'type':a0_0x30a5a1(0x1f6),'enum':['completed',a0_0x30a5a1(0x206),a0_0x30a5a1(0x207),a0_0x30a5a1(0x23c),a0_0x30a5a1(0x22b),'in_progress'],'description':a0_0x30a5a1(0x1e1)}},'required':['text']}},{'name':a0_0x30a5a1(0x220),'description':a0_0x30a5a1(0x223),'inputSchema':{'type':a0_0x30a5a1(0x238),'properties':{'status':{'type':a0_0x30a5a1(0x1f6),'enum':[a0_0x30a5a1(0x1bd),a0_0x30a5a1(0x224),a0_0x30a5a1(0x23c),a0_0x30a5a1(0x22b)]},'task':{'type':'string','description':a0_0x30a5a1(0x20b)},'progress':{'type':'number','description':a0_0x30a5a1(0x245)}},'required':[a0_0x30a5a1(0x1d2)]}},{'name':a0_0x30a5a1(0x212),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x30a5a1(0x238),'properties':{'alias':{'type':a0_0x30a5a1(0x1f6),'description':'Target\x20session\x20alias'},'task':{'type':'string','description':a0_0x30a5a1(0x217)},'priority':{'type':'string','enum':[a0_0x30a5a1(0x1f0),a0_0x30a5a1(0x24c),a0_0x30a5a1(0x23d)],'description':a0_0x30a5a1(0x20f)}},'required':[a0_0x30a5a1(0x1cf),a0_0x30a5a1(0x237)]}},{'name':a0_0x30a5a1(0x209),'description':a0_0x30a5a1(0x204),'inputSchema':{'type':a0_0x30a5a1(0x238),'properties':{'alias':{'type':a0_0x30a5a1(0x1f6),'description':a0_0x30a5a1(0x1c8)},'message':{'type':a0_0x30a5a1(0x1f6),'description':'Message\x20content'}},'required':[a0_0x30a5a1(0x1cf),a0_0x30a5a1(0x22a)]}},{'name':'commhub_get_all_status','description':a0_0x30a5a1(0x225),'inputSchema':{'type':a0_0x30a5a1(0x238),'properties':{}}}]}));async function Y(_0x1b3b5c,_0xdfabc0){const _0x378cba=a0_0x30a5a1;let _0x1bd320=await fetch(j+_0x378cba(0x20c),{'method':_0x378cba(0x1e4),'headers':{'Content-Type':_0x378cba(0x205),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x378cba(0x23f)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x378cba(0x1de),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x378cba(0x1cb),'capabilities':{},'clientInfo':{'name':_0x378cba(0x1c2),'version':_0x378cba(0x1ef)}}})});if(!_0x1bd320['ok']){let _0x2f033b=await _0x1bd320[_0x378cba(0x1f7)]();return W('CommHub\x20init\x20failed:\x20'+_0x1bd320['status']+'\x20'+_0x2f033b[_0x378cba(0x22c)](0x0,0x64)),{'ok':!0x1,'error':_0x378cba(0x1e3)+_0x1bd320['status']};}await _0x1bd320[_0x378cba(0x1f7)]();let _0x355c05=(await(await fetch(j+_0x378cba(0x20c),{'method':_0x378cba(0x1e4),'headers':{'Content-Type':_0x378cba(0x205),'Accept':_0x378cba(0x1d9),...F?{'Authorization':_0x378cba(0x23f)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x378cba(0x1de),'id':0x2,'method':'tools/call','params':{'name':_0x1b3b5c,'arguments':_0xdfabc0}})}))[_0x378cba(0x1f7)]())[_0x378cba(0x236)]('\x0a')['find'](_0x493e07=>_0x493e07['startsWith'](_0x378cba(0x202)));if(_0x355c05){let _0x2b4c12=JSON['parse'](_0x355c05[_0x378cba(0x22c)](0x6));return _0x2b4c12?.[_0x378cba(0x228)]?.['content']?.[0x0]?.['text']?JSON[_0x378cba(0x1d7)](_0x2b4c12['result']['content'][0x0][_0x378cba(0x1f7)]):_0x2b4c12;}return{'ok':!0x1,'error':_0x378cba(0x21c)};}x[a0_0x30a5a1(0x1cc)](a0_0xef229f,async _0x446c00=>{const _0x4e7898=a0_0x30a5a1;let {name:_0x5caab3,arguments:_0x412275}=_0x446c00['params'];if(_0x5caab3===_0x4e7898(0x20e)){let {task_id:_0x4d0022,text:_0x2a85b0,status:_0x1c5bc3}=_0x412275;if(_0x1c5bc3===_0x4e7898(0x210)||_0x1c5bc3===_0x4e7898(0x206)||_0x1c5bc3==='cancelled'){let _0x1f0d24=_0x1c5bc3===_0x4e7898(0x210)?_0x4e7898(0x1d4):_0x1c5bc3,_0x12ec23=_0x4d0022?D[_0x4e7898(0x219)](_0x4d0022)||'hub':_0x4e7898(0x1da),_0x5573ad=await Y(_0x4e7898(0x1e7),{'alias':_0x12ec23,'text':_0x2a85b0,'in_reply_to':_0x4d0022||void 0x0,'status':_0x1f0d24,'from_session':G});if(_0x4d0022)D[_0x4e7898(0x1f4)](_0x4d0022);return{'content':[{'type':_0x4e7898(0x1f7),'text':JSON['stringify'](_0x5573ad)}]};}let _0x37bd3e=await Y(_0x4e7898(0x24a),{'resume_id':K,'alias':G,'status':_0x1c5bc3===_0x4e7898(0x23c)?'blocked':_0x1c5bc3===_0x4e7898(0x22b)?_0x4e7898(0x22b):'working','task':_0x2a85b0[_0x4e7898(0x22c)](0x0,0xc8),'output':_0x2a85b0});return{'content':[{'type':_0x4e7898(0x1f7),'text':JSON[_0x4e7898(0x235)](_0x37bd3e)}]};}if(_0x5caab3===_0x4e7898(0x220)){let {status:_0x3f8470,task:_0x1bc0b6,progress:_0x1f235e}=_0x412275,_0x4fe5aa=await Y(_0x4e7898(0x24a),{'resume_id':K,'alias':G,'status':_0x3f8470,'task':_0x1bc0b6,'progress':_0x1f235e});return{'content':[{'type':_0x4e7898(0x1f7),'text':JSON[_0x4e7898(0x235)](_0x4fe5aa)}]};}if(_0x5caab3==='commhub_send_task'){let {alias:_0x2d5846,task:_0x156b87,priority:_0x42ace8}=_0x412275,_0x1cf339=await Y(_0x4e7898(0x20d),{'alias':_0x2d5846,'task':_0x156b87,'priority':_0x42ace8||_0x4e7898(0x24c),'from_session':G});return{'content':[{'type':_0x4e7898(0x1f7),'text':JSON[_0x4e7898(0x235)](_0x1cf339)}]};}if(_0x5caab3===_0x4e7898(0x209)){let {alias:_0x43f958,message:_0x42fd6f}=_0x412275,_0x272081=await Y(_0x4e7898(0x23b),{'alias':_0x43f958,'message':_0x42fd6f,'from_session':G});return{'content':[{'type':_0x4e7898(0x1f7),'text':JSON[_0x4e7898(0x235)](_0x272081)}]};}if(_0x5caab3==='commhub_get_all_status'){let _0x283599=await Y(_0x4e7898(0x1c7),{});return{'content':[{'type':'text','text':JSON[_0x4e7898(0x235)](_0x283599)}]};}return{'content':[{'type':_0x4e7898(0x1f7),'text':JSON['stringify']({'error':'unknown\x20tool'})}]};});function a0_0x53c4(_0x32cd39,_0x255bc0){_0x32cd39=_0x32cd39-0x1bd;const _0x3396c0=a0_0x3396();let _0x53c4a7=_0x3396c0[_0x32cd39];return _0x53c4a7;}var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x508c3b=a0_0x30a5a1;try{await Y(_0x508c3b(0x24a),{'resume_id':K,'alias':G,'status':_0x508c3b(0x224),'server':a0_0x24d0e6(),'hostname':a0_0x24d0e6(),'agent':_0x508c3b(0x1ed),'project_dir':process[_0x508c3b(0x21b)](),'tmux_name':f||void 0x0}),W(_0x508c3b(0x1db)+G+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x3c968a){W(_0x508c3b(0x1c5)+_0x3c968a);}}async function o(){const _0x54483d=a0_0x30a5a1;let _0x26f215=j+_0x54483d(0x22e)+encodeURIComponent(G),_0x31b03d={};if(F)_0x31b03d['Authorization']=_0x54483d(0x23f)+F;W('connecting\x20to\x20'+_0x26f215);let _0x5d4f3e=O,_0x45a721=!0x0,_0x513f42=null;while(!0x0){try{let _0x1975d2=await fetch(_0x26f215,{'headers':_0x31b03d});if(!_0x1975d2['ok']){if(W(_0x54483d(0x1d6)+_0x1975d2['status']+'\x20'+_0x1975d2[_0x54483d(0x1e2)]),_0x513f42=_0x513f42??Date[_0x54483d(0x21f)](),Date[_0x54483d(0x21f)]()-_0x513f42>T){W(_0x54483d(0x20a)+j+_0x54483d(0x22d));return;}await N(_0x5d4f3e),_0x5d4f3e=Math['min'](_0x5d4f3e*0x2,R);continue;}let _0x51b6f9=_0x1975d2[_0x54483d(0x233)][_0x54483d(0x1d8)](),_0x2a08ad=new TextDecoder(),_0x4dc6c0='';_0x5d4f3e=O;while(!0x0){let {done:_0x3871d6,value:_0xc6e0b0}=await _0x51b6f9['read']();if(_0x3871d6)break;_0x4dc6c0+=_0x2a08ad['decode'](_0xc6e0b0,{'stream':!0x0});let _0x50fbdb=_0x4dc6c0[_0x54483d(0x236)]('\x0a\x0a');_0x4dc6c0=_0x50fbdb[_0x54483d(0x1d5)]()||'';for(let _0xedb1b9 of _0x50fbdb){let _0x102d70=_0xedb1b9[_0x54483d(0x236)]('\x0a')['find'](_0x22bd46=>_0x22bd46[_0x54483d(0x211)](_0x54483d(0x202)));if(!_0x102d70)continue;try{let _0x5498a5=JSON['parse'](_0x102d70[_0x54483d(0x22c)](0x6));if(await a(_0x5498a5),_0x5498a5['type']===_0x54483d(0x221)){if(_0x513f42=null,!_0x45a721)await l();_0x45a721=!0x1;}}catch(_0x521cde){W(_0x54483d(0x1fe)+_0x521cde);}}}W(_0x54483d(0x1c4));}catch(_0x45f034){W(_0x54483d(0x216)+_0x45f034);}if(_0x513f42=_0x513f42??Date[_0x54483d(0x21f)](),Date[_0x54483d(0x21f)]()-_0x513f42>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x54483d(0x22d));return;}await N(_0x5d4f3e),_0x5d4f3e=Math[_0x54483d(0x1cd)](_0x5d4f3e*0x2,R);}}async function a(_0x21403f){const _0x348e19=a0_0x30a5a1;if(_0x21403f[_0x348e19(0x200)]===_0x348e19(0x221)){W('SSE\x20connected\x20as\x20\x22'+G+'\x22');return;}if(_0x21403f[_0x348e19(0x200)]===_0x348e19(0x1f8)){if(W(_0x348e19(0x1c9)+_0x21403f[_0x348e19(0x23a)]+':\x20'+_0x21403f[_0x348e19(0x22a)]['slice'](0x0,0x3c)),await x[_0x348e19(0x240)]({'method':_0x348e19(0x1fc),'params':{'content':_0x21403f['message'],'meta':{'sender':_0x21403f['from']||_0x348e19(0x1da),'sender_id':_0x348e19(0x247),'user':_0x21403f['from']||_0x348e19(0x1da),'priority':_0x348e19(0x24c)}}}),_0x21403f[_0x348e19(0x24d)])await Y('ack_inbox',{'alias':G,'message_id':_0x21403f[_0x348e19(0x24d)]});return;}if(_0x21403f[_0x348e19(0x200)]===_0x348e19(0x230)||_0x21403f[_0x348e19(0x200)]===_0x348e19(0x208)){W('←\x20'+_0x21403f[_0x348e19(0x200)]+_0x348e19(0x1dc)+_0x21403f[_0x348e19(0x226)]+_0x348e19(0x1dd)+(_0x21403f[_0x348e19(0x24b)]||_0x348e19(0x24c)));let _0x289c03=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x289c03?.['ok']&&_0x289c03[_0x348e19(0x232)]?.['length']>0x0)for(let _0x507e06 of _0x289c03['messages']){let _0x5a69a6={'sender':_0x507e06[_0x348e19(0x21e)]||_0x348e19(0x1da),'sender_id':_0x348e19(0x247),'user':_0x507e06[_0x348e19(0x21e)]||'hub','task_id':_0x507e06['id'],'priority':_0x507e06[_0x348e19(0x24b)]||_0x348e19(0x24c)};D[_0x348e19(0x1be)](_0x507e06['id'],_0x507e06[_0x348e19(0x21e)]||_0x348e19(0x1da)),await x[_0x348e19(0x240)]({'method':'notifications/claude/channel','params':{'content':_0x507e06['content'],'meta':_0x5a69a6}}),W(_0x348e19(0x1d0)+_0x507e06['id'][_0x348e19(0x22c)](0x0,0x8)+_0x348e19(0x1f3)+_0x507e06[_0x348e19(0x21e)]+':\x20'+_0x507e06[_0x348e19(0x1fd)][_0x348e19(0x22c)](0x0,0x3c)),await Y(_0x348e19(0x234),{'alias':G,'message_id':_0x507e06['id']});}}}async function n(){const _0x1d6d9d=a0_0x30a5a1;let _0x3f228e=new a0_0x1e1423();await x[_0x1d6d9d(0x24e)](_0x3f228e),W(_0x1d6d9d(0x214)),W('starting\x20SSE\x20listener...'),o()['catch'](_0x1fb40e=>W(_0x1d6d9d(0x1c6)+_0x1fb40e)),Y(_0x1d6d9d(0x24a),{'resume_id':K,'alias':G,'status':_0x1d6d9d(0x224),'server':a0_0x24d0e6(),'hostname':a0_0x24d0e6(),'agent':_0x1d6d9d(0x1ed),'project_dir':process[_0x1d6d9d(0x21b)](),'tmux_name':f||void 0x0})['then'](()=>W('registered\x20as\x20\x22'+G+_0x1d6d9d(0x1f2)+K[_0x1d6d9d(0x22c)](0x0,0x8)+')'))[_0x1d6d9d(0x21a)](_0x22f3ff=>W(_0x1d6d9d(0x1e8)+_0x22f3ff)),setInterval(()=>{const _0x1c6c95=_0x1d6d9d;Y('report_status',{'resume_id':K,'alias':G,'status':_0x1c6c95(0x224),'server':a0_0x24d0e6(),'hostname':a0_0x24d0e6(),'agent':_0x1c6c95(0x1ed),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x1c6c95(0x21a)](_0x1d482d=>W(_0x1c6c95(0x1e0)+_0x1d482d));},0x2bf20),W('ready\x20—\x20waiting\x20for\x20events');}n()['catch'](_0x59e6f5=>{const _0x4623ab=a0_0x30a5a1;W('fatal:\x20'+_0x59e6f5),process[_0x4623ab(0x227)](0x1);});async function b(){const _0x547694=a0_0x30a5a1;W(_0x547694(0x1c0)),await Y('report_status',{'resume_id':K,'alias':G,'status':_0x547694(0x244),'task':'session\x20disconnected'})[_0x547694(0x21a)](()=>{}),process[_0x547694(0x227)](0x0);}process['stdin']['on']('end',()=>b()),process['on'](a0_0x30a5a1(0x1e6),()=>b()),process['on'](a0_0x30a5a1(0x1ca),()=>b());
2
+ const a0_0x17352e=a0_0x28cd;(function(_0x310d3a,_0x44708a){const _0xfd8f47=a0_0x28cd,_0x331827=_0x310d3a();while(!![]){try{const _0x7c62ac=-parseInt(_0xfd8f47(0xfb))/0x1*(-parseInt(_0xfd8f47(0xe2))/0x2)+-parseInt(_0xfd8f47(0xfc))/0x3*(parseInt(_0xfd8f47(0xb9))/0x4)+parseInt(_0xfd8f47(0x109))/0x5+parseInt(_0xfd8f47(0xc1))/0x6+parseInt(_0xfd8f47(0xd8))/0x7+parseInt(_0xfd8f47(0x11b))/0x8+-parseInt(_0xfd8f47(0x10e))/0x9;if(_0x7c62ac===_0x44708a)break;else _0x331827['push'](_0x331827['shift']());}catch(_0x2f3a56){_0x331827['push'](_0x331827['shift']());}}}(a0_0x996b,0xc8854));import{readFileSync as a0_0x1c77ff,existsSync as a0_0x499dfa}from'fs';import{randomUUID as a0_0x2f8589}from'crypto';import{join as a0_0x560653}from'path';import{hostname as a0_0x56c1bc}from'os';import{execSync as a0_0x5e731b}from'child_process';import{Server as a0_0x167dc5}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x1ee29d}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x4dc97e,CallToolRequestSchema as a0_0x300c67}from'@modelcontextprotocol/sdk/types.js';function a0_0x996b(){const _0x45d6ce=['slice','connected','872910EWGMVa','commhub_send_task','stringify','parse','message','re-register\x20failed:\x20','error','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','now','application/json','inbox_count','session\x20disconnected','0.3.0','statusText','token','failed','read','normal','\x20priority=','application/json,\x20text/event-stream','\x20/\x20hostname=','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a',']\x20[commhub]\x20','6030731VePGRW','replied',':\x20inbox_count=','...\x20TMUX=','replace','2.0','\x20RESUME_ID=','commhub_reply','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','849878fVhUmQ','end','no\x20response','cancelled','idle','alias','trim','status','then','new_message','cwd','object','blocked','ready\x20—\x20waiting\x20for\x20events','Session\x20alias:\x20','connecting\x20to\x20','toTimeString','message_id','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','commhub-channel','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','Progress\x200-100','SIGINT','Priority\x20(default:\x20normal)','/events/','2mxpuiW','3fcmLRK','/mcp','Authorization','SSE\x20connected\x20as\x20\x22','hub','shutting\x20down,\x20reporting\x20offline...','.env','startsWith','completed','SSE\x20connection\x20error:\x20','SSE\x20fatal:\x20','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','connect','2140030PPjwGn','.claude/channels/commhub','parse\x20error:\x20','\x20PROJECT_ENV=','SSE\x20error:\x20','14760360Awmqou','min','\x20ALIAS=','warning:\x20could\x20not\x20register:\x20','in_progress','new_task','length','2025-03-26','get','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','unattributed-','ENV:\x20URL=','4011928NXUwtO','Target\x20session\x20alias','claude-code','write','catch','Current\x20task\x20description','utf-8','commhub','notification','stderr','commhub_report_status','.anet','split','→\x20injected\x20task\x20','report_status','\x20from\x20','type','heartbeat\x20failed:\x20','stdin','working','delete','send_reply','tmux\x20display-message\x20-p\x20\x27#S\x27','getReader','from','content','text','pid','get_inbox','result','commhub_get_all_status','find','POST','none','notifications/claude/channel','params','commhub_send_message','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','SIGTERM','unknown\x20tool','exit','Bearer\x20','task','tools/call','priority','send_message','string','high','join','\x20CWD=','(none)','get_all_status','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','setRequestHandler','1300084unByik','starting\x20SSE\x20listener...','from_session',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','http://127.0.0.1:9200','Message\x20content'];a0_0x996b=function(){return _0x45d6ce;};return a0_0x996b();}function I(_0x9dc50d){const _0x3b4798=a0_0x28cd;if(!a0_0x499dfa(_0x9dc50d))return;for(let _0x93e1e9 of a0_0x1c77ff(_0x9dc50d,_0x3b4798(0x121))[_0x3b4798(0x127)]('\x0a')){let _0xf301bf=_0x93e1e9['trim']();if(!_0xf301bf||_0xf301bf[_0x3b4798(0x103)]('#'))continue;let _0x30b48d=_0xf301bf['indexOf']('=');if(_0x30b48d<0x0)continue;let _0x453db9=_0xf301bf['slice'](0x0,_0x30b48d)[_0x3b4798(0xe8)](),_0x978156=_0xf301bf[_0x3b4798(0xbf)](_0x30b48d+0x1)[_0x3b4798(0xe8)]()[_0x3b4798(0xdc)](/^["']|["']$/g,'');if(!process.env[_0x453db9])process.env[_0x453db9]=_0x978156;}}var L=process.env.HOME||'~',U=a0_0x560653(L,a0_0x17352e(0x10a));I(a0_0x560653(U,a0_0x17352e(0x102)));var v=process[a0_0x17352e(0xec)]()[a0_0x17352e(0xdc)](/\//g,'-');I(a0_0x560653(U,v,'.env'));function d(){const _0xa8a647=a0_0x17352e;try{return a0_0x5e731b(_0xa8a647(0x131),{'encoding':_0xa8a647(0x121),'timeout':0x7d0})[_0xa8a647(0xe8)]();}catch{return'';}}function m(){const _0x31856f=a0_0x17352e;try{let _0x80fef8=a0_0x560653(L,_0x31856f(0x126),'config.json');if(a0_0x499dfa(_0x80fef8))return JSON[_0x31856f(0xc4)](a0_0x1c77ff(_0x80fef8,_0x31856f(0x121)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x17352e(0x100)]||a0_0x17352e(0xbd),f=process.env.COMMHUB_TMUX||d();function r(){const _0x5e2dee=a0_0x17352e;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x5e2dee(0xe8)]())return process.env.COMMHUB_ALIAS[_0x5e2dee(0xe8)]();return process[_0x5e2dee(0x124)][_0x5e2dee(0x11e)](_0x5e2dee(0xb7)+(_0x5e2dee(0x118)+(f||_0x5e2dee(0xb5))+_0x5e2dee(0xd5)+a0_0x56c1bc()+_0x5e2dee(0xd6))),_0x5e2dee(0x119)+process[_0x5e2dee(0x136)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x2f8589(),F=process.env.COMMHUB_TOKEN||u[a0_0x17352e(0xcf)]||'';function W(_0x310d26){const _0x2547b7=a0_0x17352e;let _0x47850c=new Date()[_0x2547b7(0xf2)]()[_0x2547b7(0xbf)](0x0,0x8);process[_0x2547b7(0x124)]['write']('['+_0x47850c+_0x2547b7(0xd7)+_0x310d26+'\x0a');}function N(_0x2b90f1){return new Promise(_0x9ea74e=>setTimeout(_0x9ea74e,_0x2b90f1));}W(a0_0x17352e(0x11a)+j+a0_0x17352e(0x110)+G+a0_0x17352e(0xde)+K['slice'](0x0,0x8)+a0_0x17352e(0xdb)+(f||a0_0x17352e(0x13c))+a0_0x17352e(0xb4)+process['cwd']()+a0_0x17352e(0x10c)+v);var D=new Map(),x=new a0_0x167dc5({'name':a0_0x17352e(0xf5),'version':a0_0x17352e(0xcd)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x17352e(0xf4),a0_0x17352e(0x117),a0_0x17352e(0x140),'You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.',a0_0x17352e(0xf0)+G][a0_0x17352e(0xb3)]('\x0a')});x['setRequestHandler'](a0_0x4dc97e,async()=>({'tools':[{'name':a0_0x17352e(0xdf),'description':a0_0x17352e(0xe0),'inputSchema':{'type':a0_0x17352e(0xed),'properties':{'task_id':{'type':a0_0x17352e(0xb1),'description':a0_0x17352e(0xf6)},'text':{'type':a0_0x17352e(0xb1),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x17352e(0xb1),'enum':['completed',a0_0x17352e(0xd0),a0_0x17352e(0xe5),a0_0x17352e(0xee),a0_0x17352e(0xc7),a0_0x17352e(0x112)],'description':a0_0x17352e(0xe1)}},'required':['text']}},{'name':a0_0x17352e(0x125),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0x17352e(0xed),'properties':{'status':{'type':'string','enum':[a0_0x17352e(0x12e),a0_0x17352e(0xe6),'blocked',a0_0x17352e(0xc7)]},'task':{'type':a0_0x17352e(0xb1),'description':a0_0x17352e(0x120)},'progress':{'type':'number','description':a0_0x17352e(0xf7)}},'required':[a0_0x17352e(0xe9)]}},{'name':a0_0x17352e(0xc2),'description':a0_0x17352e(0xc8),'inputSchema':{'type':a0_0x17352e(0xed),'properties':{'alias':{'type':a0_0x17352e(0xb1),'description':a0_0x17352e(0x11c)},'task':{'type':a0_0x17352e(0xb1),'description':'Task\x20content'},'priority':{'type':'string','enum':[a0_0x17352e(0xb2),a0_0x17352e(0xd2),'low'],'description':a0_0x17352e(0xf9)}},'required':['alias',a0_0x17352e(0x145)]}},{'name':a0_0x17352e(0x13f),'description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0x17352e(0xed),'properties':{'alias':{'type':a0_0x17352e(0xb1),'description':a0_0x17352e(0x11c)},'message':{'type':a0_0x17352e(0xb1),'description':a0_0x17352e(0xbe)}},'required':[a0_0x17352e(0xe7),a0_0x17352e(0xc5)]}},{'name':a0_0x17352e(0x139),'description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':a0_0x17352e(0xed),'properties':{}}}]}));async function Y(_0xf32a2b,_0x35ab56){const _0x3134c4=a0_0x17352e;let _0x4c7b3f=await fetch(j+'/mcp',{'method':_0x3134c4(0x13b),'headers':{'Content-Type':_0x3134c4(0xca),'Accept':_0x3134c4(0xd4),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x3134c4(0xc3)]({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x3134c4(0x115),'capabilities':{},'clientInfo':{'name':_0x3134c4(0xf5),'version':'0.3.0'}}})});if(!_0x4c7b3f['ok']){let _0x51779b=await _0x4c7b3f[_0x3134c4(0x135)]();return W('CommHub\x20init\x20failed:\x20'+_0x4c7b3f[_0x3134c4(0xe9)]+'\x20'+_0x51779b['slice'](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x4c7b3f[_0x3134c4(0xe9)]};}await _0x4c7b3f[_0x3134c4(0x135)]();let _0x553d44=(await(await fetch(j+_0x3134c4(0xfd),{'method':_0x3134c4(0x13b),'headers':{'Content-Type':_0x3134c4(0xca),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x3134c4(0x144)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x3134c4(0xdd),'id':0x2,'method':_0x3134c4(0x146),'params':{'name':_0xf32a2b,'arguments':_0x35ab56}})}))['text']())['split']('\x0a')[_0x3134c4(0x13a)](_0x3d7dca=>_0x3d7dca[_0x3134c4(0x103)]('data:\x20'));if(_0x553d44){let _0x5b9334=JSON[_0x3134c4(0xc4)](_0x553d44[_0x3134c4(0xbf)](0x6));return _0x5b9334?.['result']?.[_0x3134c4(0x134)]?.[0x0]?.[_0x3134c4(0x135)]?JSON[_0x3134c4(0xc4)](_0x5b9334[_0x3134c4(0x138)][_0x3134c4(0x134)][0x0]['text']):_0x5b9334;}return{'ok':!0x1,'error':_0x3134c4(0xe4)};}function a0_0x28cd(_0xbeb1bf,_0x3e4125){_0xbeb1bf=_0xbeb1bf-0xaf;const _0x996b93=a0_0x996b();let _0x28cd87=_0x996b93[_0xbeb1bf];return _0x28cd87;}x[a0_0x17352e(0xb8)](a0_0x300c67,async _0x551476=>{const _0x20c728=a0_0x17352e;let {name:_0x17faee,arguments:_0xc90664}=_0x551476[_0x20c728(0x13e)];if(_0x17faee===_0x20c728(0xdf)){let {task_id:_0x4e5432,text:_0x297114,status:_0x4a3086}=_0xc90664;if(_0x4a3086===_0x20c728(0x104)||_0x4a3086===_0x20c728(0xd0)||_0x4a3086==='cancelled'){let _0x55bd16=_0x4a3086===_0x20c728(0x104)?_0x20c728(0xd9):_0x4a3086,_0x2a2dc7=_0x4e5432?D[_0x20c728(0x116)](_0x4e5432)||_0x20c728(0x100):_0x20c728(0x100),_0x1cfc88=await Y(_0x20c728(0x130),{'alias':_0x2a2dc7,'text':_0x297114,'in_reply_to':_0x4e5432||void 0x0,'status':_0x55bd16,'from_session':G});if(_0x4e5432)D[_0x20c728(0x12f)](_0x4e5432);return{'content':[{'type':_0x20c728(0x135),'text':JSON['stringify'](_0x1cfc88)}]};}let _0x2c3433=await Y(_0x20c728(0x129),{'resume_id':K,'alias':G,'status':_0x4a3086===_0x20c728(0xee)?_0x20c728(0xee):_0x4a3086===_0x20c728(0xc7)?_0x20c728(0xc7):_0x20c728(0x12e),'task':_0x297114[_0x20c728(0xbf)](0x0,0xc8),'output':_0x297114});return{'content':[{'type':'text','text':JSON['stringify'](_0x2c3433)}]};}if(_0x17faee===_0x20c728(0x125)){let {status:_0x471378,task:_0x2947a6,progress:_0x2a3e3b}=_0xc90664,_0x10653e=await Y(_0x20c728(0x129),{'resume_id':K,'alias':G,'status':_0x471378,'task':_0x2947a6,'progress':_0x2a3e3b});return{'content':[{'type':_0x20c728(0x135),'text':JSON['stringify'](_0x10653e)}]};}if(_0x17faee===_0x20c728(0xc2)){let {alias:_0x3679cc,task:_0x205b49,priority:_0x2592bb}=_0xc90664,_0x163dd5=await Y('send_task',{'alias':_0x3679cc,'task':_0x205b49,'priority':_0x2592bb||_0x20c728(0xd2),'from_session':G});return{'content':[{'type':'text','text':JSON[_0x20c728(0xc3)](_0x163dd5)}]};}if(_0x17faee===_0x20c728(0x13f)){let {alias:_0x526b9f,message:_0x4d88e0}=_0xc90664,_0x3fb959=await Y(_0x20c728(0xb0),{'alias':_0x526b9f,'message':_0x4d88e0,'from_session':G});return{'content':[{'type':_0x20c728(0x135),'text':JSON[_0x20c728(0xc3)](_0x3fb959)}]};}if(_0x17faee===_0x20c728(0x139)){let _0x1f0678=await Y(_0x20c728(0xb6),{});return{'content':[{'type':_0x20c728(0x135),'text':JSON[_0x20c728(0xc3)](_0x1f0678)}]};}return{'content':[{'type':_0x20c728(0x135),'text':JSON[_0x20c728(0xc3)]({'error':_0x20c728(0x142)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x5382ed=a0_0x17352e;try{await Y(_0x5382ed(0x129),{'resume_id':K,'alias':G,'status':_0x5382ed(0xe6),'server':a0_0x56c1bc(),'hostname':a0_0x56c1bc(),'agent':_0x5382ed(0x11d),'project_dir':process[_0x5382ed(0xec)](),'tmux_name':f||void 0x0}),W('re-registered\x20as\x20\x22'+G+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x1392e0){W(_0x5382ed(0xc6)+_0x1392e0);}}async function o(){const _0x31c1f6=a0_0x17352e;let _0x493d63=j+_0x31c1f6(0xfa)+encodeURIComponent(G),_0x3cbdca={};if(F)_0x3cbdca[_0x31c1f6(0xfe)]='Bearer\x20'+F;W(_0x31c1f6(0xf1)+_0x493d63);let _0x717469=O,_0x4ab8d5=!0x0,_0x403b17=null;while(!0x0){try{let _0x3ef9c4=await fetch(_0x493d63,{'headers':_0x3cbdca});if(!_0x3ef9c4['ok']){if(W(_0x31c1f6(0x10d)+_0x3ef9c4['status']+'\x20'+_0x3ef9c4[_0x31c1f6(0xce)]),_0x403b17=_0x403b17??Date['now'](),Date[_0x31c1f6(0xc9)]()-_0x403b17>T){W(_0x31c1f6(0x107)+j+_0x31c1f6(0xbc));return;}await N(_0x717469),_0x717469=Math[_0x31c1f6(0x10f)](_0x717469*0x2,R);continue;}let _0x5764e2=_0x3ef9c4['body'][_0x31c1f6(0x132)](),_0x29dc4b=new TextDecoder(),_0x1bfe00='';_0x717469=O;while(!0x0){let {done:_0x41780b,value:_0xfb1aab}=await _0x5764e2[_0x31c1f6(0xd1)]();if(_0x41780b)break;_0x1bfe00+=_0x29dc4b['decode'](_0xfb1aab,{'stream':!0x0});let _0x3af0bc=_0x1bfe00[_0x31c1f6(0x127)]('\x0a\x0a');_0x1bfe00=_0x3af0bc['pop']()||'';for(let _0x115981 of _0x3af0bc){let _0x5af90e=_0x115981[_0x31c1f6(0x127)]('\x0a')[_0x31c1f6(0x13a)](_0x1ab562=>_0x1ab562[_0x31c1f6(0x103)]('data:\x20'));if(!_0x5af90e)continue;try{let _0x4caa24=JSON[_0x31c1f6(0xc4)](_0x5af90e[_0x31c1f6(0xbf)](0x6));if(await a(_0x4caa24),_0x4caa24[_0x31c1f6(0x12b)]===_0x31c1f6(0xc0)){if(_0x403b17=null,!_0x4ab8d5)await l();_0x4ab8d5=!0x1;}}catch(_0x3c00b7){W(_0x31c1f6(0x10b)+_0x3c00b7);}}}W('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x4534e1){W(_0x31c1f6(0x105)+_0x4534e1);}if(_0x403b17=_0x403b17??Date[_0x31c1f6(0xc9)](),Date[_0x31c1f6(0xc9)]()-_0x403b17>T){W(_0x31c1f6(0x107)+j+')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。');return;}await N(_0x717469),_0x717469=Math['min'](_0x717469*0x2,R);}}async function a(_0x1cc631){const _0x27d149=a0_0x17352e;if(_0x1cc631[_0x27d149(0x12b)]===_0x27d149(0xc0)){W(_0x27d149(0xff)+G+'\x22');return;}if(_0x1cc631[_0x27d149(0x12b)]===_0x27d149(0xeb)){if(W('←\x20message\x20from\x20'+_0x1cc631[_0x27d149(0x133)]+':\x20'+_0x1cc631[_0x27d149(0xc5)][_0x27d149(0xbf)](0x0,0x3c)),await x[_0x27d149(0x123)]({'method':_0x27d149(0x13d),'params':{'content':_0x1cc631[_0x27d149(0xc5)],'meta':{'sender':_0x1cc631[_0x27d149(0x133)]||_0x27d149(0x100),'sender_id':_0x27d149(0x122),'user':_0x1cc631[_0x27d149(0x133)]||_0x27d149(0x100),'priority':_0x27d149(0xd2)}}}),_0x1cc631[_0x27d149(0xf3)])await Y('ack_inbox',{'alias':G,'message_id':_0x1cc631[_0x27d149(0xf3)]});return;}if(_0x1cc631['type']===_0x27d149(0x113)||_0x1cc631[_0x27d149(0x12b)]==='broadcast'){W('←\x20'+_0x1cc631[_0x27d149(0x12b)]+_0x27d149(0xda)+_0x1cc631[_0x27d149(0xcb)]+_0x27d149(0xd3)+(_0x1cc631[_0x27d149(0xaf)]||_0x27d149(0xd2)));let _0x44481e=await Y(_0x27d149(0x137),{'alias':G,'limit':0x5});if(_0x44481e?.['ok']&&_0x44481e['messages']?.[_0x27d149(0x114)]>0x0)for(let _0x6e2e91 of _0x44481e['messages']){let _0x563438={'sender':_0x6e2e91[_0x27d149(0xbb)]||'hub','sender_id':_0x27d149(0x122),'user':_0x6e2e91[_0x27d149(0xbb)]||'hub','task_id':_0x6e2e91['id'],'priority':_0x6e2e91[_0x27d149(0xaf)]||'normal'};D['set'](_0x6e2e91['id'],_0x6e2e91['from_session']||'hub'),await x['notification']({'method':_0x27d149(0x13d),'params':{'content':_0x6e2e91[_0x27d149(0x134)],'meta':_0x563438}}),W(_0x27d149(0x128)+_0x6e2e91['id'][_0x27d149(0xbf)](0x0,0x8)+_0x27d149(0x12a)+_0x6e2e91['from_session']+':\x20'+_0x6e2e91[_0x27d149(0x134)][_0x27d149(0xbf)](0x0,0x3c)),await Y('ack_inbox',{'alias':G,'message_id':_0x6e2e91['id']});}}}async function n(){const _0x2fa415=a0_0x17352e;let _0xc95d36=new a0_0x1ee29d();await x[_0x2fa415(0x108)](_0xc95d36),W('MCP\x20stdio\x20connected'),W(_0x2fa415(0xba)),o()[_0x2fa415(0x11f)](_0x5ddef9=>W(_0x2fa415(0x106)+_0x5ddef9)),Y(_0x2fa415(0x129),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x56c1bc(),'hostname':a0_0x56c1bc(),'agent':'claude-code','project_dir':process[_0x2fa415(0xec)](),'tmux_name':f||void 0x0})[_0x2fa415(0xea)](()=>W('registered\x20as\x20\x22'+G+'\x22\x20('+K[_0x2fa415(0xbf)](0x0,0x8)+')'))['catch'](_0x5b7f3d=>W(_0x2fa415(0x111)+_0x5b7f3d)),setInterval(()=>{const _0x123496=_0x2fa415;Y(_0x123496(0x129),{'resume_id':K,'alias':G,'status':_0x123496(0xe6),'server':a0_0x56c1bc(),'hostname':a0_0x56c1bc(),'agent':'claude-code','project_dir':process[_0x123496(0xec)](),'tmux_name':f||void 0x0})[_0x123496(0x11f)](_0x2b187d=>W(_0x123496(0x12c)+_0x2b187d));},0x2bf20),W(_0x2fa415(0xef));}n()[a0_0x17352e(0x11f)](_0xbc3394=>{const _0x1474a9=a0_0x17352e;W('fatal:\x20'+_0xbc3394),process[_0x1474a9(0x143)](0x1);});async function b(){const _0x4da67e=a0_0x17352e;W(_0x4da67e(0x101)),await Y('report_status',{'resume_id':K,'alias':G,'status':'offline','task':_0x4da67e(0xcc)})[_0x4da67e(0x11f)](()=>{}),process[_0x4da67e(0x143)](0x0);}process[a0_0x17352e(0x12d)]['on'](a0_0x17352e(0xe3),()=>b()),process['on'](a0_0x17352e(0x141),()=>b()),process['on'](a0_0x17352e(0xf8),()=>b());
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network",
3
- "version": "2.2.12",
4
- "description": "AI Agent Network CLI \u2014 Local-first multi-agent orchestration across 4 runtimes (Claude Code CLI / Claude Agent SDK / Codex SDK / Grok Build ACP) and 8+ LLM providers (Anthropic / OpenAI / xAI Grok / MiniMax / DeepSeek / GLM / Kimi / InternLM / Xiaomi MiMo / OpenRouter). Apache 2.0.",
3
+ "version": "2.2.13",
4
+ "description": "AI Agent Network CLI Local-first multi-agent orchestration across 4 runtimes (Claude Code CLI / Claude Agent SDK / Codex SDK / Grok Build ACP) and 8+ LLM providers (Anthropic / OpenAI / xAI Grok / MiniMax / DeepSeek / GLM / Kimi / InternLM / Xiaomi MiMo / OpenRouter). Apache 2.0.",
5
5
  "type": "module",
6
6
  "main": "dist/src/client.js",
7
7
  "types": "dist/client.d.ts",
@@ -71,5 +71,9 @@
71
71
  "javascript-obfuscator": "^5.4.1",
72
72
  "node-pty": "^1.1.0",
73
73
  "typescript": "^5.0.0"
74
+ },
75
+ "overrides": {
76
+ "hono": "^4.12.21",
77
+ "qs": "^6.15.2"
74
78
  }
75
79
  }