@sleep2agi/agent-network 2.1.8-preview.4 → 2.1.8-preview.6

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_0x47f495=a0_0x1b17;(function(_0x43cb3a,_0x318107){const _0x56b027=a0_0x1b17,_0x43ee57=_0x43cb3a();while(!![]){try{const _0x343896=parseInt(_0x56b027(0x19c))/0x1*(-parseInt(_0x56b027(0x14c))/0x2)+-parseInt(_0x56b027(0x17e))/0x3+parseInt(_0x56b027(0x187))/0x4+-parseInt(_0x56b027(0x17c))/0x5+-parseInt(_0x56b027(0x167))/0x6*(-parseInt(_0x56b027(0x180))/0x7)+parseInt(_0x56b027(0x191))/0x8*(parseInt(_0x56b027(0x185))/0x9)+parseInt(_0x56b027(0x156))/0xa;if(_0x343896===_0x318107)break;else _0x43ee57['push'](_0x43ee57['shift']());}catch(_0x31771d){_0x43ee57['push'](_0x43ee57['shift']());}}}(a0_0x55b9,0xaca19));import{EventEmitter as a0_0x3019ba}from'events';function a0_0x55b9(){const _0x3640a5=['type','2547508YeeHvD','processInbox','resumeId','heartbeatTimer','inbox\x20error:\x20','get_inbox','toTimeString','broadcast','send_reply','replace','200eutiIj','status','running','get_all_status','call','SSE\x20connected','AbortError','content','/events/','completed','disconnected','28imFclp','catch','ack_inbox','reply','slice','SSE\x20reconnecting\x20in\x20','send_message','signal','token','autoConnect','47756EZSgCz',']\x20[commhub:','sseAbort','min','cwd','url','connected','new_task','application/json,\x20text/event-stream','read','3560160VCRUZi','body','sleep','text','agent','parse','decode','POST','Authorization','log','s...','getReader','connect','/mcp','idle','task','new_message','4792902nbAWBu','message','normal','registered','abort','offline','getAllStatus','pop','SSE\x20error:\x20','error','report_status','now','result','send','messages','Bearer\x20','server','heartbeatInterval','connectSSE','startsWith','SSE\x20failed:\x20','1837710hfMKnj','name','2290836MCQrEY','disconnect','7ZhtvHB','split','emit','reconnectDelay','alias','257445yNDArP'];a0_0x55b9=function(){return _0x3640a5;};return a0_0x55b9();}import{hostname as a0_0xfccdba}from'os';class T extends a0_0x3019ba{[a0_0x47f495(0x151)];[a0_0x47f495(0x184)];[a0_0x47f495(0x14a)];[a0_0x47f495(0x15a)];[a0_0x47f495(0x189)];['heartbeatInterval'];[a0_0x47f495(0x183)];[a0_0x47f495(0x18a)];[a0_0x47f495(0x14e)];[a0_0x47f495(0x193)]=!0x1;constructor(_0xe4a09b){const _0x484200=a0_0x47f495;super();if(this[_0x484200(0x151)]=_0xe4a09b[_0x484200(0x151)][_0x484200(0x190)](/\/$/,''),this[_0x484200(0x184)]=_0xe4a09b[_0x484200(0x184)],this[_0x484200(0x14a)]=_0xe4a09b[_0x484200(0x14a)],this['agent']=_0xe4a09b[_0x484200(0x15a)]||'sdk',this[_0x484200(0x189)]='sdk-'+_0xe4a09b[_0x484200(0x184)]+'-'+Date[_0x484200(0x172)]()['toString'](0x24),this['heartbeatInterval']=_0xe4a09b[_0x484200(0x178)]??0x2bf20,this[_0x484200(0x183)]=_0xe4a09b['reconnectDelay']??0xbb8,_0xe4a09b[_0x484200(0x14b)]!==!0x1)this[_0x484200(0x162)]();}[a0_0x47f495(0x15f)](_0x9cd167){const _0x512243=a0_0x47f495;console[_0x512243(0x15f)]('['+new Date()[_0x512243(0x18d)]()[_0x512243(0x146)](0x0,0x8)+_0x512243(0x14d)+this[_0x512243(0x184)]+']\x20'+_0x9cd167);}async[a0_0x47f495(0x195)](_0x39a66f,_0x1d8c30){const _0x1a8597=a0_0x47f495;let _0x3ce0e3={'Content-Type':'application/json','Accept':_0x1a8597(0x154)};if(this['token'])_0x3ce0e3[_0x1a8597(0x15e)]='Bearer\x20'+this[_0x1a8597(0x14a)];let _0x4177ac=await(await fetch(this['url']+_0x1a8597(0x163),{'method':_0x1a8597(0x15d),'headers':_0x3ce0e3,'body':JSON['stringify']({'jsonrpc':'2.0','id':Date[_0x1a8597(0x172)](),'method':'tools/call','params':{'name':_0x39a66f,'arguments':_0x1d8c30}})}))[_0x1a8597(0x159)](),_0xeca6b=_0x4177ac['match'](/data: (.+)/),_0xf87d31=_0xeca6b?JSON[_0x1a8597(0x15b)](_0xeca6b[0x1]):JSON['parse'](_0x4177ac),_0x4ae6f7=_0xf87d31?.[_0x1a8597(0x173)]?.[_0x1a8597(0x198)]?.[0x0]?.[_0x1a8597(0x159)];return _0x4ae6f7?JSON[_0x1a8597(0x15b)](_0x4ae6f7):_0xf87d31;}async[a0_0x47f495(0x162)](){const _0x406a23=a0_0x47f495;if(this[_0x406a23(0x193)])return;this['running']=!0x0,await this[_0x406a23(0x192)](_0x406a23(0x164)),this['log'](_0x406a23(0x16a)),this['heartbeatTimer']=setInterval(()=>{const _0x59250=_0x406a23;this[_0x59250(0x192)](_0x59250(0x164))[_0x59250(0x19d)](_0x1b4bba=>this[_0x59250(0x15f)]('heartbeat\x20failed:\x20'+_0x1b4bba[_0x59250(0x168)]));},this[_0x406a23(0x178)]),this[_0x406a23(0x179)]();}async[a0_0x47f495(0x17f)](){const _0x9e949a=a0_0x47f495;if(this[_0x9e949a(0x193)]=!0x1,this[_0x9e949a(0x14e)]?.[_0x9e949a(0x16b)](),this['heartbeatTimer'])clearInterval(this['heartbeatTimer']);await this[_0x9e949a(0x192)](_0x9e949a(0x16c))[_0x9e949a(0x19d)](()=>{}),this[_0x9e949a(0x15f)](_0x9e949a(0x19b));}async[a0_0x47f495(0x174)](_0x41800e,_0x1651f6,_0x6b30a8=a0_0x47f495(0x169)){const _0xc6915c=a0_0x47f495;return this['call']('send_task',{'alias':_0x41800e,'task':_0x1651f6,'priority':_0x6b30a8,'from_session':this[_0xc6915c(0x184)]});}async[a0_0x47f495(0x168)](_0x350c60,_0x366fbe){const _0x1283a5=a0_0x47f495;return this[_0x1283a5(0x195)](_0x1283a5(0x148),{'alias':_0x350c60,'message':_0x366fbe,'from_session':this[_0x1283a5(0x184)]});}async[a0_0x47f495(0x145)](_0x469d97,_0x19b051,_0x4c2f3c=a0_0x47f495(0x19a)){const _0x190dde=a0_0x47f495;return this['call'](_0x190dde(0x18f),{'in_reply_to':_0x469d97,'text':_0x19b051,'status':_0x4c2f3c});}async[a0_0x47f495(0x192)](_0x2578e0,_0x2854ef){const _0x239786=a0_0x47f495;return this['call'](_0x239786(0x171),{'resume_id':this[_0x239786(0x189)],'alias':this['alias'],'status':_0x2578e0,'server':a0_0xfccdba(),'hostname':a0_0xfccdba(),'agent':this['agent'],'project_dir':process[_0x239786(0x150)](),..._0x2854ef});}async[a0_0x47f495(0x16d)](){const _0x50db2=a0_0x47f495;return this['call'](_0x50db2(0x194),{});}async[a0_0x47f495(0x18e)](_0x38d68b,_0x189175){const _0x554306=a0_0x47f495;return this['call'](_0x554306(0x18e),{'message':_0x38d68b,'filter_server':_0x189175?.[_0x554306(0x177)],'filter_status':_0x189175?.[_0x554306(0x192)]});}async[a0_0x47f495(0x179)](){const _0x38c824=a0_0x47f495;let _0x14aa54=encodeURIComponent(this[_0x38c824(0x184)]),_0x468f27=this[_0x38c824(0x151)]+_0x38c824(0x199)+_0x14aa54,_0x2f413b=this[_0x38c824(0x183)];while(this[_0x38c824(0x193)]){try{this[_0x38c824(0x14e)]=new AbortController();let _0x33a49d={'Accept':'text/event-stream'};if(this['token'])_0x33a49d[_0x38c824(0x15e)]=_0x38c824(0x176)+this[_0x38c824(0x14a)];let _0x1a77f2=await fetch(_0x468f27,{'headers':_0x33a49d,'signal':this[_0x38c824(0x14e)][_0x38c824(0x149)]});if(!_0x1a77f2['ok']||!_0x1a77f2[_0x38c824(0x157)]){this['log'](_0x38c824(0x17b)+_0x1a77f2[_0x38c824(0x192)]),await this[_0x38c824(0x158)](_0x2f413b),_0x2f413b=Math[_0x38c824(0x14f)](_0x2f413b*1.5,0xea60);continue;}_0x2f413b=this[_0x38c824(0x183)];let _0x3d3ee5=_0x1a77f2['body'][_0x38c824(0x161)](),_0x3a2e65=new TextDecoder(),_0x449bc3='';while(this[_0x38c824(0x193)]){let {done:_0xbcf5ff,value:_0x3aaba7}=await _0x3d3ee5[_0x38c824(0x155)]();if(_0xbcf5ff)break;_0x449bc3+=_0x3a2e65[_0x38c824(0x15c)](_0x3aaba7,{'stream':!0x0});let _0x5d888e=_0x449bc3[_0x38c824(0x181)]('\x0a');_0x449bc3=_0x5d888e[_0x38c824(0x16e)]()||'';for(let _0x4e019c of _0x5d888e){if(!_0x4e019c[_0x38c824(0x17a)]('data:\x20'))continue;try{let _0x596e42=JSON[_0x38c824(0x15b)](_0x4e019c[_0x38c824(0x146)](0x6));if(_0x596e42[_0x38c824(0x186)]===_0x38c824(0x152)){this['log'](_0x38c824(0x196)),this[_0x38c824(0x182)](_0x38c824(0x152));continue;}if(_0x596e42[_0x38c824(0x186)]===_0x38c824(0x153)||_0x596e42[_0x38c824(0x186)]===_0x38c824(0x166)||_0x596e42[_0x38c824(0x186)]===_0x38c824(0x18e))await this[_0x38c824(0x188)]();}catch{}}}}catch(_0x1f7eb7){if(_0x1f7eb7[_0x38c824(0x17d)]===_0x38c824(0x197))break;this[_0x38c824(0x182)](_0x38c824(0x170),_0x1f7eb7),this['log'](_0x38c824(0x16f)+_0x1f7eb7[_0x38c824(0x168)]);}if(this[_0x38c824(0x193)])this[_0x38c824(0x182)](_0x38c824(0x19b)),this[_0x38c824(0x15f)](_0x38c824(0x147)+_0x2f413b/0x3e8+_0x38c824(0x160)),await this[_0x38c824(0x158)](_0x2f413b),_0x2f413b=Math['min'](_0x2f413b*1.5,0xea60);}}async[a0_0x47f495(0x188)](){const _0x2c7687=a0_0x47f495;try{let _0x5b0cab=(await this[_0x2c7687(0x195)](_0x2c7687(0x18c),{'alias':this['alias'],'limit':0xa}))?.[_0x2c7687(0x175)]||[];for(let _0x185f31 of _0x5b0cab)await this[_0x2c7687(0x195)](_0x2c7687(0x19e),{'alias':this['alias'],'message_id':_0x185f31['id']}),this['log']('←\x20'+_0x185f31['from_session']+':\x20'+_0x185f31[_0x2c7687(0x198)][_0x2c7687(0x146)](0x0,0x3c)),this[_0x2c7687(0x182)](_0x2c7687(0x165),_0x185f31),this[_0x2c7687(0x182)](_0x2c7687(0x168),_0x185f31);}catch(_0x23205e){this[_0x2c7687(0x15f)](_0x2c7687(0x18b)+_0x23205e['message']);}}[a0_0x47f495(0x158)](_0x5bbc4d){return new Promise(_0x269252=>setTimeout(_0x269252,_0x5bbc4d));}}var $=T;function a0_0x1b17(_0x36df03,_0x5423a0){_0x36df03=_0x36df03-0x145;const _0x55b9c0=a0_0x55b9();let _0x1b17fe=_0x55b9c0[_0x36df03];return _0x1b17fe;}export{$ as default,T as CommHub};
1
+ const a0_0x48c2d0=a0_0x213e;function a0_0x5111(){const _0x27d8c9=['token','new_task','cwd','toTimeString','POST','send','text','sleep','normal','394345zlipdE','connect','url','name','toString','catch','SSE\x20error:\x20','s...','get_all_status','agent','send_task','disconnect','parse','startsWith','heartbeatTimer','match','stringify','slice','connectSSE',']\x20[commhub:','min','read','2.0','/mcp','reconnectDelay','resumeId','text/event-stream','getAllStatus','status','pop','1631415vkidvH','992133WroLCT','running','server','1046296cFIhTe','42ydfUDN','SSE\x20reconnecting\x20in\x20','Bearer\x20','broadcast','SSE\x20connected','2782472FarLdG','processInbox','SSE\x20failed:\x20','new_message','message','emit','type','send_reply','alias','reply','getReader','application/json,\x20text/event-stream','inbox\x20error:\x20','content','result','signal','registered','heartbeatInterval','32IdLbFL','23990fGinGn','log','Authorization','data:\x20','disconnected','call','send_message','connected','completed','sseAbort','from_session','now','idle','get_inbox','1295610fAiPOD','abort','error','1EabHLA','5357VSPrYx','ack_inbox'];a0_0x5111=function(){return _0x27d8c9;};return a0_0x5111();}(function(_0x2a2d55,_0x2a1a70){const _0x12400e=a0_0x213e,_0x16b404=_0x2a2d55();while(!![]){try{const _0x5378e6=-parseInt(_0x12400e(0xf2))/0x1*(parseInt(_0x12400e(0xef))/0x2)+parseInt(_0x12400e(0xc4))/0x3+parseInt(_0x12400e(0xc8))/0x4+-parseInt(_0x12400e(0xfe))/0x5*(-parseInt(_0x12400e(0xc9))/0x6)+parseInt(_0x12400e(0xce))/0x7+parseInt(_0x12400e(0xe0))/0x8*(parseInt(_0x12400e(0xc5))/0x9)+parseInt(_0x12400e(0xe1))/0xa*(-parseInt(_0x12400e(0xf3))/0xb);if(_0x5378e6===_0x2a1a70)break;else _0x16b404['push'](_0x16b404['shift']());}catch(_0x5a6a21){_0x16b404['push'](_0x16b404['shift']());}}}(a0_0x5111,0x5cb8c));import{EventEmitter as a0_0xb03f49}from'events';import{hostname as a0_0x45c2e0}from'os';function a0_0x213e(_0x32e045,_0x1aefc3){_0x32e045=_0x32e045-0xab;const _0x511159=a0_0x5111();let _0x213ef5=_0x511159[_0x32e045];return _0x213ef5;}class T extends a0_0xb03f49{[a0_0x48c2d0(0x100)];['alias'];[a0_0x48c2d0(0xf5)];[a0_0x48c2d0(0xaf)];['resumeId'];['heartbeatInterval'];['reconnectDelay'];[a0_0x48c2d0(0xb4)];[a0_0x48c2d0(0xea)];[a0_0x48c2d0(0xc6)]=!0x1;constructor(_0x1a76f7){const _0x599e3d=a0_0x48c2d0;super();if(this['url']=_0x1a76f7[_0x599e3d(0x100)]['replace'](/\/$/,''),this[_0x599e3d(0xd6)]=_0x1a76f7[_0x599e3d(0xd6)],this['token']=_0x1a76f7[_0x599e3d(0xf5)],this[_0x599e3d(0xaf)]=_0x1a76f7['agent']||'sdk',this[_0x599e3d(0xbf)]='sdk-'+_0x1a76f7['alias']+'-'+Date[_0x599e3d(0xec)]()[_0x599e3d(0x102)](0x24),this[_0x599e3d(0xdf)]=_0x1a76f7['heartbeatInterval']??0x2bf20,this[_0x599e3d(0xbe)]=_0x1a76f7[_0x599e3d(0xbe)]??0xbb8,_0x1a76f7['autoConnect']!==!0x1)this[_0x599e3d(0xff)]();}['log'](_0x17746f){const _0x42ad49=a0_0x48c2d0;console[_0x42ad49(0xe2)]('['+new Date()[_0x42ad49(0xf8)]()[_0x42ad49(0xb7)](0x0,0x8)+_0x42ad49(0xb9)+this[_0x42ad49(0xd6)]+']\x20'+_0x17746f);}async[a0_0x48c2d0(0xe6)](_0x2e818a,_0x57c7e1){const _0x1a2014=a0_0x48c2d0;let _0x5c0705={'Content-Type':'application/json','Accept':_0x1a2014(0xd9)};if(this['token'])_0x5c0705[_0x1a2014(0xe3)]='Bearer\x20'+this[_0x1a2014(0xf5)];let _0x13e4a2=await(await fetch(this['url']+_0x1a2014(0xbd),{'method':_0x1a2014(0xf9),'headers':_0x5c0705,'body':JSON[_0x1a2014(0xb6)]({'jsonrpc':_0x1a2014(0xbc),'id':Date[_0x1a2014(0xec)](),'method':'tools/call','params':{'name':_0x2e818a,'arguments':_0x57c7e1}})}))[_0x1a2014(0xfb)](),_0x2161ae=_0x13e4a2[_0x1a2014(0xb5)](/data: (.+)/),_0xfc4622=_0x2161ae?JSON[_0x1a2014(0xb2)](_0x2161ae[0x1]):JSON[_0x1a2014(0xb2)](_0x13e4a2),_0x2ab74b=_0xfc4622?.[_0x1a2014(0xdc)]?.[_0x1a2014(0xdb)]?.[0x0]?.[_0x1a2014(0xfb)];return _0x2ab74b?JSON[_0x1a2014(0xb2)](_0x2ab74b):_0xfc4622;}async['connect'](){const _0x4a1a67=a0_0x48c2d0;if(this[_0x4a1a67(0xc6)])return;this['running']=!0x0,await this[_0x4a1a67(0xc2)](_0x4a1a67(0xed)),this['log'](_0x4a1a67(0xde)),this[_0x4a1a67(0xb4)]=setInterval(()=>{const _0x1b2baf=_0x4a1a67;this['status'](_0x1b2baf(0xed))[_0x1b2baf(0xab)](_0x46b5c8=>this[_0x1b2baf(0xe2)]('heartbeat\x20failed:\x20'+_0x46b5c8[_0x1b2baf(0xd2)]));},this[_0x4a1a67(0xdf)]),this[_0x4a1a67(0xb8)]();}async[a0_0x48c2d0(0xb1)](){const _0x4aab88=a0_0x48c2d0;if(this['running']=!0x1,this[_0x4aab88(0xea)]?.[_0x4aab88(0xf0)](),this[_0x4aab88(0xb4)])clearInterval(this[_0x4aab88(0xb4)]);await this[_0x4aab88(0xc2)]('offline')[_0x4aab88(0xab)](()=>{}),this['log'](_0x4aab88(0xe5));}async[a0_0x48c2d0(0xfa)](_0x4ba9aa,_0x48fa7b,_0x152ff4=a0_0x48c2d0(0xfd)){const _0x437e1f=a0_0x48c2d0;return this[_0x437e1f(0xe6)](_0x437e1f(0xb0),{'alias':_0x4ba9aa,'task':_0x48fa7b,'priority':_0x152ff4,'from_session':this[_0x437e1f(0xd6)]});}async['message'](_0x52c66a,_0x23d31f){const _0x2fc25a=a0_0x48c2d0;return this[_0x2fc25a(0xe6)](_0x2fc25a(0xe7),{'alias':_0x52c66a,'message':_0x23d31f,'from_session':this[_0x2fc25a(0xd6)]});}async[a0_0x48c2d0(0xd7)](_0x5a8235,_0x2afdc2,_0x40a4d0=a0_0x48c2d0(0xe9)){const _0x584fb6=a0_0x48c2d0;return this['call'](_0x584fb6(0xd5),{'in_reply_to':_0x5a8235,'text':_0x2afdc2,'status':_0x40a4d0});}async['status'](_0x1d778c,_0x2ad995){const _0x3dd67b=a0_0x48c2d0;return this[_0x3dd67b(0xe6)]('report_status',{'resume_id':this[_0x3dd67b(0xbf)],'alias':this[_0x3dd67b(0xd6)],'status':_0x1d778c,'server':a0_0x45c2e0(),'hostname':a0_0x45c2e0(),'agent':this['agent'],'project_dir':process[_0x3dd67b(0xf7)](),..._0x2ad995});}async[a0_0x48c2d0(0xc1)](){const _0x458b43=a0_0x48c2d0;return this[_0x458b43(0xe6)](_0x458b43(0xae),{});}async[a0_0x48c2d0(0xcc)](_0x562bb8,_0x1dc23d){const _0x25da37=a0_0x48c2d0;return this[_0x25da37(0xe6)](_0x25da37(0xcc),{'message':_0x562bb8,'filter_server':_0x1dc23d?.[_0x25da37(0xc7)],'filter_status':_0x1dc23d?.['status']});}async[a0_0x48c2d0(0xb8)](){const _0x5f0edc=a0_0x48c2d0;let _0x114bbe=encodeURIComponent(this[_0x5f0edc(0xd6)]),_0x56daa4=this[_0x5f0edc(0x100)]+'/events/'+_0x114bbe,_0x3bed04=this[_0x5f0edc(0xbe)];while(this[_0x5f0edc(0xc6)]){try{this[_0x5f0edc(0xea)]=new AbortController();let _0x3554ac={'Accept':_0x5f0edc(0xc0)};if(this[_0x5f0edc(0xf5)])_0x3554ac[_0x5f0edc(0xe3)]=_0x5f0edc(0xcb)+this[_0x5f0edc(0xf5)];let _0x5b738d=await fetch(_0x56daa4,{'headers':_0x3554ac,'signal':this[_0x5f0edc(0xea)][_0x5f0edc(0xdd)]});if(!_0x5b738d['ok']||!_0x5b738d['body']){this[_0x5f0edc(0xe2)](_0x5f0edc(0xd0)+_0x5b738d[_0x5f0edc(0xc2)]),await this[_0x5f0edc(0xfc)](_0x3bed04),_0x3bed04=Math[_0x5f0edc(0xba)](_0x3bed04*1.5,0xea60);continue;}_0x3bed04=this[_0x5f0edc(0xbe)];let _0x5b989a=_0x5b738d['body'][_0x5f0edc(0xd8)](),_0x3ae456=new TextDecoder(),_0x2fee15='';while(this['running']){let {done:_0x44fdb3,value:_0x240217}=await _0x5b989a[_0x5f0edc(0xbb)]();if(_0x44fdb3)break;_0x2fee15+=_0x3ae456['decode'](_0x240217,{'stream':!0x0});let _0x3ada20=_0x2fee15['split']('\x0a');_0x2fee15=_0x3ada20[_0x5f0edc(0xc3)]()||'';for(let _0x416091 of _0x3ada20){if(!_0x416091[_0x5f0edc(0xb3)](_0x5f0edc(0xe4)))continue;try{let _0x31a720=JSON[_0x5f0edc(0xb2)](_0x416091['slice'](0x6));if(_0x31a720[_0x5f0edc(0xd4)]==='connected'){this['log'](_0x5f0edc(0xcd)),this['emit'](_0x5f0edc(0xe8));continue;}if(_0x31a720[_0x5f0edc(0xd4)]===_0x5f0edc(0xf6)||_0x31a720['type']===_0x5f0edc(0xd1)||_0x31a720['type']===_0x5f0edc(0xcc))await this[_0x5f0edc(0xcf)]();}catch{}}}}catch(_0x57efbd){if(_0x57efbd[_0x5f0edc(0x101)]==='AbortError')break;this['emit'](_0x5f0edc(0xf1),_0x57efbd),this['log'](_0x5f0edc(0xac)+_0x57efbd[_0x5f0edc(0xd2)]);}if(this[_0x5f0edc(0xc6)])this[_0x5f0edc(0xd3)](_0x5f0edc(0xe5)),this[_0x5f0edc(0xe2)](_0x5f0edc(0xca)+_0x3bed04/0x3e8+_0x5f0edc(0xad)),await this[_0x5f0edc(0xfc)](_0x3bed04),_0x3bed04=Math[_0x5f0edc(0xba)](_0x3bed04*1.5,0xea60);}}async[a0_0x48c2d0(0xcf)](){const _0x35723c=a0_0x48c2d0;try{let _0x552905=(await this[_0x35723c(0xe6)](_0x35723c(0xee),{'alias':this['alias'],'limit':0xa}))?.['messages']||[];for(let _0x42099d of _0x552905)await this[_0x35723c(0xe6)](_0x35723c(0xf4),{'alias':this[_0x35723c(0xd6)],'message_id':_0x42099d['id']}),this[_0x35723c(0xe2)]('←\x20'+_0x42099d[_0x35723c(0xeb)]+':\x20'+_0x42099d[_0x35723c(0xdb)][_0x35723c(0xb7)](0x0,0x3c)),this[_0x35723c(0xd3)]('task',_0x42099d),this[_0x35723c(0xd3)](_0x35723c(0xd2),_0x42099d);}catch(_0x1ebc93){this['log'](_0x35723c(0xda)+_0x1ebc93[_0x35723c(0xd2)]);}}[a0_0x48c2d0(0xfc)](_0x1981b9){return new Promise(_0x3c16d2=>setTimeout(_0x3c16d2,_0x1981b9));}}var $=T;export{$ as default,T as CommHub};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env bun
2
- const a0_0x219173=a0_0x31ef;(function(_0x41089f,_0x5a7f07){const _0x5b4f9a=a0_0x31ef,_0x24f0f8=_0x41089f();while(!![]){try{const _0x4e457d=parseInt(_0x5b4f9a(0x1e9))/0x1+-parseInt(_0x5b4f9a(0x1d6))/0x2*(parseInt(_0x5b4f9a(0x1e3))/0x3)+parseInt(_0x5b4f9a(0x175))/0x4+-parseInt(_0x5b4f9a(0x189))/0x5+-parseInt(_0x5b4f9a(0x1cd))/0x6+-parseInt(_0x5b4f9a(0x1b9))/0x7+parseInt(_0x5b4f9a(0x1a0))/0x8;if(_0x4e457d===_0x5a7f07)break;else _0x24f0f8['push'](_0x24f0f8['shift']());}catch(_0x2358d2){_0x24f0f8['push'](_0x24f0f8['shift']());}}}(a0_0x3fa0,0x68197));import{readFileSync as a0_0x523088,existsSync as a0_0x595911}from'fs';import{randomUUID as a0_0x383c4a}from'crypto';import{join as a0_0x56eb0e}from'path';import{hostname as a0_0xa56403}from'os';function a0_0x3fa0(){const _0x19b598=['string','new_message','from','object','\x20priority=','no\x20response','find','working','statusText','decode','Target\x20session\x20alias','cwd','notification','commhub_reply','failed','commhub_send_message','1700312esPyTZ','Session\x20alias:\x20','toTimeString','.anet','shutting\x20down,\x20reporting\x20offline...','ENV:\x20URL=','\x20CWD=','normal','MCP\x20stdio\x20connected','messages','SIGINT','idle','Bearer\x20','POST','parse\x20error:\x20','/mcp','Task\x20content','text','status','cancelled','2499135CoGHym','initialize','get','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','new_task','alias','Message\x20content','delete','catch','data:\x20','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','commhub_report_status','Reply\x20text\x20/\x20result\x20summary','connect','→\x20injected\x20task\x20',']\x20[commhub]\x20','high','task','ready\x20—\x20waiting\x20for\x20events','from_session','send_task','connected','indexOf','14444176ilqelV','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','blocked','commhub','send_reply','exit','\x20RESUME_ID=','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','body','.env','←\x20message\x20from\x20','slice','stderr','send_message','commhub_get_all_status','\x22\x20(','inbox_count','message_id','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','hub','SSE\x20fatal:\x20','then','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','config.json','1108758izeSfu','\x20from\x20','pop','claude-code','session\x20disconnected','ack_inbox','completed','stringify','commhub_send_task','2.0',':\x20inbox_count=','application/json,\x20text/event-stream','init\x20failed:\x20','none','unknown\x20tool','CommHub\x20init\x20failed:\x20','split','connecting\x20to\x20','parse','in_progress','3504474SxOSJL','type','error','content','replace','commhub-channel','\x20ALIAS=','startsWith','number','1381252YigeuN','0.3.0','SSE\x20stream\x20ended,\x20reconnecting...','.claude/channels/commhub','/events/','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','length','report_status','starting\x20SSE\x20listener...','low','application/json','heartbeat\x20failed:\x20','trim','3ntmliF','utf-8','Current\x20task\x20description','setRequestHandler','message','read','128717cLaYDn','Authorization','SSE\x20connection\x20error:\x20','get_inbox'];a0_0x3fa0=function(){return _0x19b598;};return a0_0x3fa0();}import{execSync as a0_0xa186c8}from'child_process';import{Server as a0_0x2445b2}from'@modelcontextprotocol/sdk/server/index.js';function a0_0x31ef(_0x7e18b0,_0x5280ac){_0x7e18b0=_0x7e18b0-0x16d;const _0x3fa07d=a0_0x3fa0();let _0x31eff0=_0x3fa07d[_0x7e18b0];return _0x31eff0;}import{StdioServerTransport as a0_0x556996}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x573f22,CallToolRequestSchema as a0_0x2d024b}from'@modelcontextprotocol/sdk/types.js';function p(_0x8e74d6){const _0x3af491=a0_0x31ef;if(!a0_0x595911(_0x8e74d6))return;for(let _0x20f6bd of a0_0x523088(_0x8e74d6,_0x3af491(0x1e4))['split']('\x0a')){let _0x556fbd=_0x20f6bd[_0x3af491(0x1e2)]();if(!_0x556fbd||_0x556fbd[_0x3af491(0x1d4)]('#'))continue;let _0x121a15=_0x556fbd[_0x3af491(0x19f)]('=');if(_0x121a15<0x0)continue;let _0x3c836a=_0x556fbd[_0x3af491(0x1ac)](0x0,_0x121a15)[_0x3af491(0x1e2)](),_0x44863c=_0x556fbd['slice'](_0x121a15+0x1)['trim']()[_0x3af491(0x1d1)](/^["']|["']$/g,'');if(!process.env[_0x3c836a])process.env[_0x3c836a]=_0x44863c;}}var C=process.env.HOME||'~',T=a0_0x56eb0e(C,a0_0x219173(0x1d9));p(a0_0x56eb0e(T,a0_0x219173(0x1aa)));var L=process['cwd']()['replace'](/\//g,'-');p(a0_0x56eb0e(T,L,a0_0x219173(0x1aa)));function U(){const _0x1f9a97=a0_0x219173;try{return a0_0xa186c8('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':_0x1f9a97(0x1e4),'timeout':0x7d0})[_0x1f9a97(0x1e2)]();}catch{return'';}}function v(){const _0x3dd65b=a0_0x219173;try{let _0x465f6f=a0_0x56eb0e(C,_0x3dd65b(0x178),_0x3dd65b(0x1b8));if(a0_0x595911(_0x465f6f))return JSON[_0x3dd65b(0x1cb)](a0_0x523088(_0x465f6f,_0x3dd65b(0x1e4)));}catch{}return{};}var H=v(),f=process.env.COMMHUB_URL||H[a0_0x219173(0x1b4)]||'http://127.0.0.1:9200',j=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||j||a0_0xa56403(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x383c4a(),X=process.env.COMMHUB_TOKEN||H['token']||'';function Y(_0x4b39b6){const _0xbe437d=a0_0x219173;let _0x57ee55=new Date()[_0xbe437d(0x177)]()[_0xbe437d(0x1ac)](0x0,0x8);process[_0xbe437d(0x1ad)]['write']('['+_0x57ee55+_0xbe437d(0x198)+_0x4b39b6+'\x0a');}function h(_0x5b9117){return new Promise(_0x240eca=>setTimeout(_0x240eca,_0x5b9117));}Y(a0_0x219173(0x17a)+f+a0_0x219173(0x1d3)+Z+a0_0x219173(0x1a7)+w[a0_0x219173(0x1ac)](0x0,0x8)+'...\x20TMUX='+(j||a0_0x219173(0x1c6))+a0_0x219173(0x17b)+process[a0_0x219173(0x170)]()+'\x20PROJECT_ENV='+L);var k=new Map(),K=new a0_0x2445b2({'name':a0_0x219173(0x1d2),'version':a0_0x219173(0x1d7)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x219173(0x18c),a0_0x219173(0x1b3),'Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.',a0_0x219173(0x193),a0_0x219173(0x176)+Z]['join']('\x0a')});K[a0_0x219173(0x1e6)](a0_0x573f22,async()=>({'tools':[{'name':'commhub_reply','description':a0_0x219173(0x1a1),'inputSchema':{'type':a0_0x219173(0x1f0),'properties':{'task_id':{'type':a0_0x219173(0x1ed),'description':a0_0x219173(0x1a2)},'text':{'type':a0_0x219173(0x1ed),'description':a0_0x219173(0x195)},'status':{'type':a0_0x219173(0x1ed),'enum':[a0_0x219173(0x1bf),a0_0x219173(0x173),a0_0x219173(0x188),'blocked',a0_0x219173(0x1cf),a0_0x219173(0x1cc)],'description':a0_0x219173(0x1db)}},'required':[a0_0x219173(0x186)]}},{'name':a0_0x219173(0x194),'description':a0_0x219173(0x1a8),'inputSchema':{'type':a0_0x219173(0x1f0),'properties':{'status':{'type':a0_0x219173(0x1ed),'enum':[a0_0x219173(0x1f4),a0_0x219173(0x180),a0_0x219173(0x1a3),a0_0x219173(0x1cf)]},'task':{'type':a0_0x219173(0x1ed),'description':a0_0x219173(0x1e5)},'progress':{'type':a0_0x219173(0x1d5),'description':'Progress\x200-100'}},'required':[a0_0x219173(0x187)]}},{'name':a0_0x219173(0x1c1),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x219173(0x1f0),'properties':{'alias':{'type':a0_0x219173(0x1ed),'description':a0_0x219173(0x16f)},'task':{'type':a0_0x219173(0x1ed),'description':a0_0x219173(0x185)},'priority':{'type':a0_0x219173(0x1ed),'enum':[a0_0x219173(0x199),a0_0x219173(0x17c),a0_0x219173(0x1df)],'description':'Priority\x20(default:\x20normal)'}},'required':[a0_0x219173(0x18e),a0_0x219173(0x19a)]}},{'name':a0_0x219173(0x174),'description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0x219173(0x1f0),'properties':{'alias':{'type':'string','description':'Target\x20session\x20alias'},'message':{'type':a0_0x219173(0x1ed),'description':a0_0x219173(0x18f)}},'required':['alias','message']}},{'name':a0_0x219173(0x1af),'description':a0_0x219173(0x1b7),'inputSchema':{'type':a0_0x219173(0x1f0),'properties':{}}}]}));async function P(_0x7e0e09,_0x4b011c){const _0x46e319=a0_0x219173;let _0x11659d=await fetch(f+_0x46e319(0x184),{'method':_0x46e319(0x182),'headers':{'Content-Type':_0x46e319(0x1e0),'Accept':'application/json,\x20text/event-stream',...X?{'Authorization':_0x46e319(0x181)+X}:{}},'body':JSON[_0x46e319(0x1c0)]({'jsonrpc':_0x46e319(0x1c2),'id':0x1,'method':_0x46e319(0x18a),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x46e319(0x1d2),'version':_0x46e319(0x1d7)}}})});if(!_0x11659d['ok']){let _0x5c1b24=await _0x11659d['text']();return Y(_0x46e319(0x1c8)+_0x11659d[_0x46e319(0x187)]+'\x20'+_0x5c1b24[_0x46e319(0x1ac)](0x0,0x64)),{'ok':!0x1,'error':_0x46e319(0x1c5)+_0x11659d['status']};}await _0x11659d[_0x46e319(0x186)]();let _0x3cb1bc=(await(await fetch(f+'/mcp',{'method':_0x46e319(0x182),'headers':{'Content-Type':_0x46e319(0x1e0),'Accept':_0x46e319(0x1c4),...X?{'Authorization':_0x46e319(0x181)+X}:{}},'body':JSON['stringify']({'jsonrpc':_0x46e319(0x1c2),'id':0x2,'method':'tools/call','params':{'name':_0x7e0e09,'arguments':_0x4b011c}})}))[_0x46e319(0x186)]())[_0x46e319(0x1c9)]('\x0a')['find'](_0xd8c0ce=>_0xd8c0ce[_0x46e319(0x1d4)](_0x46e319(0x192)));if(_0x3cb1bc){let _0x3785d2=JSON['parse'](_0x3cb1bc[_0x46e319(0x1ac)](0x6));return _0x3785d2?.['result']?.[_0x46e319(0x1d0)]?.[0x0]?.['text']?JSON[_0x46e319(0x1cb)](_0x3785d2['result']['content'][0x0][_0x46e319(0x186)]):_0x3785d2;}return{'ok':!0x1,'error':_0x46e319(0x1f2)};}K[a0_0x219173(0x1e6)](a0_0x2d024b,async _0x4d7f42=>{const _0x1cff39=a0_0x219173;let {name:_0x1fe59b,arguments:_0x416822}=_0x4d7f42['params'];if(_0x1fe59b===_0x1cff39(0x172)){let {task_id:_0x3074d0,text:_0x9475c0,status:_0xa1b6aa}=_0x416822;if(_0xa1b6aa===_0x1cff39(0x1bf)||_0xa1b6aa===_0x1cff39(0x173)||_0xa1b6aa===_0x1cff39(0x188)){let _0x101825=_0xa1b6aa===_0x1cff39(0x1bf)?'replied':_0xa1b6aa,_0x56c8a0=_0x3074d0?k[_0x1cff39(0x18b)](_0x3074d0)||_0x1cff39(0x1b4):'hub',_0x560b70=await P(_0x1cff39(0x1a5),{'alias':_0x56c8a0,'text':_0x9475c0,'in_reply_to':_0x3074d0||void 0x0,'status':_0x101825,'from_session':Z});if(_0x3074d0)k[_0x1cff39(0x190)](_0x3074d0);return{'content':[{'type':_0x1cff39(0x186),'text':JSON[_0x1cff39(0x1c0)](_0x560b70)}]};}let _0x3eeadc=await P(_0x1cff39(0x1dd),{'resume_id':w,'alias':Z,'status':_0xa1b6aa===_0x1cff39(0x1a3)?'blocked':_0xa1b6aa===_0x1cff39(0x1cf)?'error':_0x1cff39(0x1f4),'task':_0x9475c0[_0x1cff39(0x1ac)](0x0,0xc8),'output':_0x9475c0});return{'content':[{'type':_0x1cff39(0x186),'text':JSON[_0x1cff39(0x1c0)](_0x3eeadc)}]};}if(_0x1fe59b===_0x1cff39(0x194)){let {status:_0x42d8f9,task:_0x20af14,progress:_0x2fa4ac}=_0x416822,_0x38307f=await P(_0x1cff39(0x1dd),{'resume_id':w,'alias':Z,'status':_0x42d8f9,'task':_0x20af14,'progress':_0x2fa4ac});return{'content':[{'type':_0x1cff39(0x186),'text':JSON[_0x1cff39(0x1c0)](_0x38307f)}]};}if(_0x1fe59b==='commhub_send_task'){let {alias:_0x5220d6,task:_0x847fcd,priority:_0x37fdc5}=_0x416822,_0x3d03d4=await P(_0x1cff39(0x19d),{'alias':_0x5220d6,'task':_0x847fcd,'priority':_0x37fdc5||_0x1cff39(0x17c),'from_session':Z});return{'content':[{'type':'text','text':JSON[_0x1cff39(0x1c0)](_0x3d03d4)}]};}if(_0x1fe59b===_0x1cff39(0x174)){let {alias:_0xfd6bb2,message:_0x19837b}=_0x416822,_0x5dd29d=await P(_0x1cff39(0x1ae),{'alias':_0xfd6bb2,'message':_0x19837b,'from_session':Z});return{'content':[{'type':_0x1cff39(0x186),'text':JSON[_0x1cff39(0x1c0)](_0x5dd29d)}]};}if(_0x1fe59b==='commhub_get_all_status'){let _0x3fc107=await P('get_all_status',{});return{'content':[{'type':_0x1cff39(0x186),'text':JSON[_0x1cff39(0x1c0)](_0x3fc107)}]};}return{'content':[{'type':'text','text':JSON['stringify']({'error':_0x1cff39(0x1c7)})}]};});async function u(){const _0x543e78=a0_0x219173;let _0x4187a2=f+_0x543e78(0x1da)+encodeURIComponent(Z),_0x1b323b={};if(X)_0x1b323b[_0x543e78(0x1ea)]=_0x543e78(0x181)+X;Y(_0x543e78(0x1ca)+_0x4187a2);while(!0x0){try{let _0x18de56=await fetch(_0x4187a2,{'headers':_0x1b323b});if(!_0x18de56['ok']){Y('SSE\x20error:\x20'+_0x18de56[_0x543e78(0x187)]+'\x20'+_0x18de56[_0x543e78(0x16d)]),await h(0x1388);continue;}let _0x4775ab=_0x18de56[_0x543e78(0x1a9)]['getReader'](),_0x2dbb55=new TextDecoder(),_0x5c50d0='';while(!0x0){let {done:_0x43ca14,value:_0x39bc74}=await _0x4775ab[_0x543e78(0x1e8)]();if(_0x43ca14)break;_0x5c50d0+=_0x2dbb55[_0x543e78(0x16e)](_0x39bc74,{'stream':!0x0});let _0x10f3b8=_0x5c50d0[_0x543e78(0x1c9)]('\x0a\x0a');_0x5c50d0=_0x10f3b8[_0x543e78(0x1bb)]()||'';for(let _0x1802a4 of _0x10f3b8){let _0x717ba0=_0x1802a4['split']('\x0a')[_0x543e78(0x1f3)](_0x545f2f=>_0x545f2f[_0x543e78(0x1d4)]('data:\x20'));if(!_0x717ba0)continue;try{let _0x2e14e9=JSON[_0x543e78(0x1cb)](_0x717ba0[_0x543e78(0x1ac)](0x6));await S(_0x2e14e9);}catch(_0x57a53c){Y(_0x543e78(0x183)+_0x57a53c);}}}Y(_0x543e78(0x1d8));}catch(_0x40c7ea){Y(_0x543e78(0x1eb)+_0x40c7ea);}await h(0xbb8);}}async function S(_0x4d2be3){const _0xf6a499=a0_0x219173;if(_0x4d2be3[_0xf6a499(0x1ce)]===_0xf6a499(0x19e)){Y('SSE\x20connected\x20as\x20\x22'+Z+'\x22');return;}if(_0x4d2be3[_0xf6a499(0x1ce)]===_0xf6a499(0x1ee)){if(Y(_0xf6a499(0x1ab)+_0x4d2be3[_0xf6a499(0x1ef)]+':\x20'+_0x4d2be3[_0xf6a499(0x1e7)][_0xf6a499(0x1ac)](0x0,0x3c)),await K[_0xf6a499(0x171)]({'method':'notifications/claude/channel','params':{'content':_0x4d2be3[_0xf6a499(0x1e7)],'meta':{'sender':_0x4d2be3[_0xf6a499(0x1ef)]||_0xf6a499(0x1b4),'sender_id':'commhub','user':_0x4d2be3[_0xf6a499(0x1ef)]||'hub','priority':_0xf6a499(0x17c)}}}),_0x4d2be3[_0xf6a499(0x1b2)])await P(_0xf6a499(0x1be),{'alias':Z,'message_id':_0x4d2be3[_0xf6a499(0x1b2)]});return;}if(_0x4d2be3[_0xf6a499(0x1ce)]===_0xf6a499(0x18d)||_0x4d2be3[_0xf6a499(0x1ce)]==='broadcast'){Y('←\x20'+_0x4d2be3[_0xf6a499(0x1ce)]+_0xf6a499(0x1c3)+_0x4d2be3[_0xf6a499(0x1b1)]+_0xf6a499(0x1f1)+(_0x4d2be3['priority']||_0xf6a499(0x17c)));let _0x405c40=await P(_0xf6a499(0x1ec),{'alias':Z,'limit':0x5});if(_0x405c40?.['ok']&&_0x405c40[_0xf6a499(0x17e)]?.[_0xf6a499(0x1dc)]>0x0)for(let _0x5b6993 of _0x405c40['messages']){let _0x5dc2b1={'sender':_0x5b6993['from_session']||_0xf6a499(0x1b4),'sender_id':_0xf6a499(0x1a4),'user':_0x5b6993['from_session']||_0xf6a499(0x1b4),'task_id':_0x5b6993['id'],'priority':_0x5b6993['priority']||_0xf6a499(0x17c)};k['set'](_0x5b6993['id'],_0x5b6993['from_session']||_0xf6a499(0x1b4)),await K[_0xf6a499(0x171)]({'method':'notifications/claude/channel','params':{'content':_0x5b6993['content'],'meta':_0x5dc2b1}}),Y(_0xf6a499(0x197)+_0x5b6993['id'][_0xf6a499(0x1ac)](0x0,0x8)+_0xf6a499(0x1ba)+_0x5b6993[_0xf6a499(0x19c)]+':\x20'+_0x5b6993[_0xf6a499(0x1d0)][_0xf6a499(0x1ac)](0x0,0x3c)),await P('ack_inbox',{'alias':Z,'message_id':_0x5b6993['id']});}}}async function A(){const _0xa1193f=a0_0x219173;let _0x2e3eed=new a0_0x556996();await K[_0xa1193f(0x196)](_0x2e3eed),Y(_0xa1193f(0x17d)),Y(_0xa1193f(0x1de)),u()[_0xa1193f(0x191)](_0x4ed9a4=>Y(_0xa1193f(0x1b5)+_0x4ed9a4)),P(_0xa1193f(0x1dd),{'resume_id':w,'alias':Z,'status':_0xa1193f(0x180),'server':a0_0xa56403(),'hostname':a0_0xa56403(),'agent':_0xa1193f(0x1bc),'project_dir':process[_0xa1193f(0x170)](),'tmux_name':j||void 0x0})[_0xa1193f(0x1b6)](()=>Y('registered\x20as\x20\x22'+Z+_0xa1193f(0x1b0)+w[_0xa1193f(0x1ac)](0x0,0x8)+')'))['catch'](_0x2d327c=>Y('warning:\x20could\x20not\x20register:\x20'+_0x2d327c)),setInterval(()=>{const _0x32130a=_0xa1193f;P(_0x32130a(0x1dd),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0xa56403(),'hostname':a0_0xa56403(),'agent':_0x32130a(0x1bc),'project_dir':process[_0x32130a(0x170)](),'tmux_name':j||void 0x0})[_0x32130a(0x191)](_0xa72fd7=>Y(_0x32130a(0x1e1)+_0xa72fd7));},0x2bf20),Y(_0xa1193f(0x19b));}A()['catch'](_0x4b07f5=>{const _0x2905bc=a0_0x219173;Y('fatal:\x20'+_0x4b07f5),process[_0x2905bc(0x1a6)](0x1);});async function N(){const _0x1701d7=a0_0x219173;Y(_0x1701d7(0x179)),await P(_0x1701d7(0x1dd),{'resume_id':w,'alias':Z,'status':_0x1701d7(0x1cf),'task':_0x1701d7(0x1bd)})[_0x1701d7(0x191)](()=>{}),process[_0x1701d7(0x1a6)](0x0);}process['stdin']['on']('end',()=>N()),process['on']('SIGTERM',()=>N()),process['on'](a0_0x219173(0x17f),()=>N());
2
+ const a0_0x52c031=a0_0x5243;(function(_0x278a2e,_0xd22497){const _0x5c3727=a0_0x5243,_0x543405=_0x278a2e();while(!![]){try{const _0x27bc4c=-parseInt(_0x5c3727(0x22b))/0x1+parseInt(_0x5c3727(0x226))/0x2*(parseInt(_0x5c3727(0x1ce))/0x3)+-parseInt(_0x5c3727(0x1d6))/0x4+parseInt(_0x5c3727(0x223))/0x5+parseInt(_0x5c3727(0x1e9))/0x6*(-parseInt(_0x5c3727(0x225))/0x7)+-parseInt(_0x5c3727(0x239))/0x8+-parseInt(_0x5c3727(0x1c1))/0x9*(-parseInt(_0x5c3727(0x1e8))/0xa);if(_0x27bc4c===_0xd22497)break;else _0x543405['push'](_0x543405['shift']());}catch(_0x236021){_0x543405['push'](_0x543405['shift']());}}}(a0_0xd53c,0x6a849));import{readFileSync as a0_0x202286,existsSync as a0_0x4dfca6}from'fs';import{randomUUID as a0_0x51bffb}from'crypto';import{join as a0_0x561821}from'path';import{hostname as a0_0x3936f5}from'os';import{execSync as a0_0x4bd3f0}from'child_process';import{Server as a0_0xb06027}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x4c09c9}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x46d2c5,CallToolRequestSchema as a0_0xf797f8}from'@modelcontextprotocol/sdk/types.js';function p(_0x4de18d){const _0x507c3e=a0_0x5243;if(!a0_0x4dfca6(_0x4de18d))return;for(let _0x567297 of a0_0x202286(_0x4de18d,_0x507c3e(0x21e))[_0x507c3e(0x21c)]('\x0a')){let _0x540053=_0x567297['trim']();if(!_0x540053||_0x540053[_0x507c3e(0x212)]('#'))continue;let _0x31ac32=_0x540053[_0x507c3e(0x1e6)]('=');if(_0x31ac32<0x0)continue;let _0x30d404=_0x540053[_0x507c3e(0x1f3)](0x0,_0x31ac32)[_0x507c3e(0x1ca)](),_0x1f6e28=_0x540053[_0x507c3e(0x1f3)](_0x31ac32+0x1)[_0x507c3e(0x1ca)]()[_0x507c3e(0x230)](/^["']|["']$/g,'');if(!process.env[_0x30d404])process.env[_0x30d404]=_0x1f6e28;}}var C=process.env.HOME||'~',T=a0_0x561821(C,a0_0x52c031(0x1b8));p(a0_0x561821(T,a0_0x52c031(0x1cb)));function a0_0x5243(_0x5eaee3,_0x3f8032){_0x5eaee3=_0x5eaee3-0x1b2;const _0xd53cff=a0_0xd53c();let _0x524301=_0xd53cff[_0x5eaee3];return _0x524301;}var L=process[a0_0x52c031(0x1c0)]()[a0_0x52c031(0x230)](/\//g,'-');p(a0_0x561821(T,L,a0_0x52c031(0x1cb)));function U(){const _0x441e33=a0_0x52c031;try{return a0_0x4bd3f0(_0x441e33(0x1da),{'encoding':_0x441e33(0x21e),'timeout':0x7d0})[_0x441e33(0x1ca)]();}catch{return'';}}function v(){const _0x44d6e6=a0_0x52c031;try{let _0x42d684=a0_0x561821(C,'.anet',_0x44d6e6(0x1e2));if(a0_0x4dfca6(_0x42d684))return JSON[_0x44d6e6(0x1f2)](a0_0x202286(_0x42d684,_0x44d6e6(0x21e)));}catch{}return{};}var H=v(),f=process.env.COMMHUB_URL||H[a0_0x52c031(0x202)]||'http://127.0.0.1:9200',j=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||j||a0_0x3936f5(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x51bffb(),X=process.env.COMMHUB_TOKEN||H[a0_0x52c031(0x1fa)]||'';function Y(_0x1a8fc2){const _0x2ceb26=a0_0x52c031;let _0x3be9f3=new Date()[_0x2ceb26(0x237)]()[_0x2ceb26(0x1f3)](0x0,0x8);process[_0x2ceb26(0x235)][_0x2ceb26(0x1e1)]('['+_0x3be9f3+_0x2ceb26(0x200)+_0x1a8fc2+'\x0a');}function h(_0xc820db){return new Promise(_0x742a1=>setTimeout(_0x742a1,_0xc820db));}Y(a0_0x52c031(0x1ed)+f+a0_0x52c031(0x1ff)+Z+a0_0x52c031(0x1bd)+w[a0_0x52c031(0x1f3)](0x0,0x8)+a0_0x52c031(0x1db)+(j||a0_0x52c031(0x1cc))+a0_0x52c031(0x1d4)+process[a0_0x52c031(0x1c0)]()+'\x20PROJECT_ENV='+L);function a0_0xd53c(){const _0x43cd66=['\x20RESUME_ID=','init\x20failed:\x20','stringify','cwd','381429drIBvs','failed','warning:\x20could\x20not\x20register:\x20','SSE\x20connection\x20error:\x20','low','Current\x20task\x20description','normal','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','new_task','trim','.env','none','type','6HOZdGW','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','session\x20disconnected','message','\x20priority=','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','\x20CWD=','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','85508fFNGnP','text','ready\x20—\x20waiting\x20for\x20events','commhub','tmux\x20display-message\x20-p\x20\x27#S\x27','...\x20TMUX=','0.3.0','join','replied','notifications/claude/channel','idle','write','config.json','blocked','cancelled','SSE\x20error:\x20','indexOf','Message\x20content','310UESlWO','106068mWeyVy','high','notification','POST','ENV:\x20URL=','priority','data:\x20','SIGINT','then','parse','slice','number','completed','getReader','application/json,\x20text/event-stream','\x20from\x20','application/json','token','commhub-channel','←\x20message\x20from\x20','send_task','commhub_get_all_status','\x20ALIAS=',']\x20[commhub]\x20','/mcp','hub','Session\x20alias:\x20','report_status','new_message','pop','initialize','decode','messages','result','Priority\x20(default:\x20normal)','from','find','alias','message_id','get_all_status','commhub_report_status','startsWith','commhub_send_message','working','send_message','MCP\x20stdio\x20connected','read','in_progress','Progress\x200-100','error','catch','split','registered\x20as\x20\x22','utf-8','unknown\x20tool','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','2025-03-26','string','3904035fkLOoX','Target\x20session\x20alias','189vbCQyx','258740CpyJiw','broadcast','set','exit',':\x20inbox_count=','629762jIyLfI','delete','Authorization','CommHub\x20init\x20failed:\x20','claude-code','replace','from_session','object','get_inbox','commhub_reply','stderr','ack_inbox','toTimeString','SSE\x20stream\x20ended,\x20reconnecting...','6308928hCaUiL','status','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','2.0','content','Bearer\x20','setRequestHandler','SIGTERM','length','SSE\x20connected\x20as\x20\x22','SSE\x20fatal:\x20','→\x20injected\x20task\x20','.claude/channels/commhub','/events/','commhub_send_task','heartbeat\x20failed:\x20','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.'];a0_0xd53c=function(){return _0x43cd66;};return a0_0xd53c();}var k=new Map(),K=new a0_0xb06027({'name':'commhub-channel','version':a0_0x52c031(0x1dc)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x52c031(0x220),a0_0x52c031(0x1d5),a0_0x52c031(0x1d3),a0_0x52c031(0x1c8),a0_0x52c031(0x203)+Z][a0_0x52c031(0x1dd)]('\x0a')});K['setRequestHandler'](a0_0x46d2c5,async()=>({'tools':[{'name':a0_0x52c031(0x234),'description':a0_0x52c031(0x1bc),'inputSchema':{'type':a0_0x52c031(0x232),'properties':{'task_id':{'type':a0_0x52c031(0x222),'description':a0_0x52c031(0x1cf)},'text':{'type':a0_0x52c031(0x222),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x52c031(0x222),'enum':[a0_0x52c031(0x1f5),a0_0x52c031(0x1c2),a0_0x52c031(0x1e4),'blocked',a0_0x52c031(0x21a),a0_0x52c031(0x218)],'description':'Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'}},'required':['text']}},{'name':a0_0x52c031(0x211),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0x52c031(0x232),'properties':{'status':{'type':a0_0x52c031(0x222),'enum':[a0_0x52c031(0x214),a0_0x52c031(0x1e0),'blocked',a0_0x52c031(0x21a)]},'task':{'type':a0_0x52c031(0x222),'description':a0_0x52c031(0x1c6)},'progress':{'type':a0_0x52c031(0x1f4),'description':a0_0x52c031(0x219)}},'required':[a0_0x52c031(0x23a)]}},{'name':'commhub_send_task','description':a0_0x52c031(0x23b),'inputSchema':{'type':a0_0x52c031(0x232),'properties':{'alias':{'type':a0_0x52c031(0x222),'description':a0_0x52c031(0x224)},'task':{'type':a0_0x52c031(0x222),'description':'Task\x20content'},'priority':{'type':a0_0x52c031(0x222),'enum':[a0_0x52c031(0x1ea),'normal',a0_0x52c031(0x1c5)],'description':a0_0x52c031(0x20b)}},'required':['alias','task']}},{'name':a0_0x52c031(0x213),'description':a0_0x52c031(0x23c),'inputSchema':{'type':a0_0x52c031(0x232),'properties':{'alias':{'type':a0_0x52c031(0x222),'description':a0_0x52c031(0x224)},'message':{'type':a0_0x52c031(0x222),'description':a0_0x52c031(0x1e7)}},'required':[a0_0x52c031(0x20e),a0_0x52c031(0x1d1)]}},{'name':a0_0x52c031(0x1fe),'description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':a0_0x52c031(0x232),'properties':{}}}]}));async function P(_0x223121,_0x10e9b1){const _0x4addc9=a0_0x52c031;let _0x35fbe9=await fetch(f+_0x4addc9(0x201),{'method':_0x4addc9(0x1ec),'headers':{'Content-Type':_0x4addc9(0x1f9),'Accept':_0x4addc9(0x1f7),...X?{'Authorization':'Bearer\x20'+X}:{}},'body':JSON[_0x4addc9(0x1bf)]({'jsonrpc':_0x4addc9(0x23d),'id':0x1,'method':_0x4addc9(0x207),'params':{'protocolVersion':_0x4addc9(0x221),'capabilities':{},'clientInfo':{'name':_0x4addc9(0x1fb),'version':'0.3.0'}}})});if(!_0x35fbe9['ok']){let _0x5385c9=await _0x35fbe9[_0x4addc9(0x1d7)]();return Y(_0x4addc9(0x22e)+_0x35fbe9[_0x4addc9(0x23a)]+'\x20'+_0x5385c9[_0x4addc9(0x1f3)](0x0,0x64)),{'ok':!0x1,'error':_0x4addc9(0x1be)+_0x35fbe9['status']};}await _0x35fbe9[_0x4addc9(0x1d7)]();let _0x3c89b1=(await(await fetch(f+_0x4addc9(0x201),{'method':_0x4addc9(0x1ec),'headers':{'Content-Type':_0x4addc9(0x1f9),'Accept':_0x4addc9(0x1f7),...X?{'Authorization':_0x4addc9(0x23f)+X}:{}},'body':JSON['stringify']({'jsonrpc':_0x4addc9(0x23d),'id':0x2,'method':'tools/call','params':{'name':_0x223121,'arguments':_0x10e9b1}})}))['text']())[_0x4addc9(0x21c)]('\x0a')[_0x4addc9(0x20d)](_0x12cbd2=>_0x12cbd2['startsWith'](_0x4addc9(0x1ef)));if(_0x3c89b1){let _0x434264=JSON[_0x4addc9(0x1f2)](_0x3c89b1['slice'](0x6));return _0x434264?.[_0x4addc9(0x20a)]?.[_0x4addc9(0x23e)]?.[0x0]?.[_0x4addc9(0x1d7)]?JSON['parse'](_0x434264[_0x4addc9(0x20a)][_0x4addc9(0x23e)][0x0][_0x4addc9(0x1d7)]):_0x434264;}return{'ok':!0x1,'error':'no\x20response'};}K[a0_0x52c031(0x1b2)](a0_0xf797f8,async _0x45dbd9=>{const _0x5d5d5e=a0_0x52c031;let {name:_0xe67755,arguments:_0x5b0fdd}=_0x45dbd9['params'];if(_0xe67755==='commhub_reply'){let {task_id:_0x2e80b4,text:_0x1fa776,status:_0x257244}=_0x5b0fdd;if(_0x257244===_0x5d5d5e(0x1f5)||_0x257244===_0x5d5d5e(0x1c2)||_0x257244==='cancelled'){let _0x260c95=_0x257244===_0x5d5d5e(0x1f5)?_0x5d5d5e(0x1de):_0x257244,_0x16e5b5=_0x2e80b4?k['get'](_0x2e80b4)||_0x5d5d5e(0x202):_0x5d5d5e(0x202),_0x159d92=await P('send_reply',{'alias':_0x16e5b5,'text':_0x1fa776,'in_reply_to':_0x2e80b4||void 0x0,'status':_0x260c95,'from_session':Z});if(_0x2e80b4)k[_0x5d5d5e(0x22c)](_0x2e80b4);return{'content':[{'type':_0x5d5d5e(0x1d7),'text':JSON['stringify'](_0x159d92)}]};}let _0x4fd128=await P(_0x5d5d5e(0x204),{'resume_id':w,'alias':Z,'status':_0x257244===_0x5d5d5e(0x1e3)?_0x5d5d5e(0x1e3):_0x257244==='error'?_0x5d5d5e(0x21a):_0x5d5d5e(0x214),'task':_0x1fa776[_0x5d5d5e(0x1f3)](0x0,0xc8),'output':_0x1fa776});return{'content':[{'type':'text','text':JSON['stringify'](_0x4fd128)}]};}if(_0xe67755===_0x5d5d5e(0x211)){let {status:_0x410e32,task:_0x6b7f49,progress:_0x3ba91a}=_0x5b0fdd,_0x1ba7fc=await P(_0x5d5d5e(0x204),{'resume_id':w,'alias':Z,'status':_0x410e32,'task':_0x6b7f49,'progress':_0x3ba91a});return{'content':[{'type':_0x5d5d5e(0x1d7),'text':JSON['stringify'](_0x1ba7fc)}]};}if(_0xe67755===_0x5d5d5e(0x1ba)){let {alias:_0x17de36,task:_0x240b66,priority:_0x5adaa4}=_0x5b0fdd,_0x356624=await P(_0x5d5d5e(0x1fd),{'alias':_0x17de36,'task':_0x240b66,'priority':_0x5adaa4||_0x5d5d5e(0x1c7),'from_session':Z});return{'content':[{'type':_0x5d5d5e(0x1d7),'text':JSON[_0x5d5d5e(0x1bf)](_0x356624)}]};}if(_0xe67755==='commhub_send_message'){let {alias:_0x7bc0e4,message:_0x244e7e}=_0x5b0fdd,_0x13ed33=await P(_0x5d5d5e(0x215),{'alias':_0x7bc0e4,'message':_0x244e7e,'from_session':Z});return{'content':[{'type':_0x5d5d5e(0x1d7),'text':JSON['stringify'](_0x13ed33)}]};}if(_0xe67755===_0x5d5d5e(0x1fe)){let _0x4c96c1=await P(_0x5d5d5e(0x210),{});return{'content':[{'type':'text','text':JSON['stringify'](_0x4c96c1)}]};}return{'content':[{'type':_0x5d5d5e(0x1d7),'text':JSON[_0x5d5d5e(0x1bf)]({'error':_0x5d5d5e(0x21f)})}]};});async function u(){const _0x3de458=a0_0x52c031;let _0x5080d1=f+_0x3de458(0x1b9)+encodeURIComponent(Z),_0x36194b={};if(X)_0x36194b[_0x3de458(0x22d)]=_0x3de458(0x23f)+X;Y('connecting\x20to\x20'+_0x5080d1);while(!0x0){try{let _0x12dbb9=await fetch(_0x5080d1,{'headers':_0x36194b});if(!_0x12dbb9['ok']){Y(_0x3de458(0x1e5)+_0x12dbb9[_0x3de458(0x23a)]+'\x20'+_0x12dbb9['statusText']),await h(0x1388);continue;}let _0x5c60f4=_0x12dbb9['body'][_0x3de458(0x1f6)](),_0x506df5=new TextDecoder(),_0x154a56='';while(!0x0){let {done:_0x33e566,value:_0xd2fce9}=await _0x5c60f4[_0x3de458(0x217)]();if(_0x33e566)break;_0x154a56+=_0x506df5[_0x3de458(0x208)](_0xd2fce9,{'stream':!0x0});let _0x3f4629=_0x154a56[_0x3de458(0x21c)]('\x0a\x0a');_0x154a56=_0x3f4629[_0x3de458(0x206)]()||'';for(let _0x35a5af of _0x3f4629){let _0x57c5c7=_0x35a5af['split']('\x0a')[_0x3de458(0x20d)](_0x48236d=>_0x48236d[_0x3de458(0x212)](_0x3de458(0x1ef)));if(!_0x57c5c7)continue;try{let _0x225e66=JSON[_0x3de458(0x1f2)](_0x57c5c7[_0x3de458(0x1f3)](0x6));await S(_0x225e66);}catch(_0x48e7d9){Y('parse\x20error:\x20'+_0x48e7d9);}}}Y(_0x3de458(0x238));}catch(_0x4368f4){Y(_0x3de458(0x1c4)+_0x4368f4);}await h(0xbb8);}}async function S(_0x1966dc){const _0x28a57d=a0_0x52c031;if(_0x1966dc[_0x28a57d(0x1cd)]==='connected'){Y(_0x28a57d(0x1b5)+Z+'\x22');return;}if(_0x1966dc[_0x28a57d(0x1cd)]===_0x28a57d(0x205)){if(Y(_0x28a57d(0x1fc)+_0x1966dc['from']+':\x20'+_0x1966dc[_0x28a57d(0x1d1)][_0x28a57d(0x1f3)](0x0,0x3c)),await K[_0x28a57d(0x1eb)]({'method':'notifications/claude/channel','params':{'content':_0x1966dc[_0x28a57d(0x1d1)],'meta':{'sender':_0x1966dc[_0x28a57d(0x20c)]||_0x28a57d(0x202),'sender_id':_0x28a57d(0x1d9),'user':_0x1966dc['from']||_0x28a57d(0x202),'priority':_0x28a57d(0x1c7)}}}),_0x1966dc[_0x28a57d(0x20f)])await P(_0x28a57d(0x236),{'alias':Z,'message_id':_0x1966dc['message_id']});return;}if(_0x1966dc[_0x28a57d(0x1cd)]===_0x28a57d(0x1c9)||_0x1966dc['type']===_0x28a57d(0x227)){Y('←\x20'+_0x1966dc['type']+_0x28a57d(0x22a)+_0x1966dc['inbox_count']+_0x28a57d(0x1d2)+(_0x1966dc[_0x28a57d(0x1ee)]||_0x28a57d(0x1c7)));let _0x314ef9=await P(_0x28a57d(0x233),{'alias':Z,'limit':0x5});if(_0x314ef9?.['ok']&&_0x314ef9[_0x28a57d(0x209)]?.[_0x28a57d(0x1b4)]>0x0)for(let _0xda1ec9 of _0x314ef9[_0x28a57d(0x209)]){let _0x211612={'sender':_0xda1ec9[_0x28a57d(0x231)]||_0x28a57d(0x202),'sender_id':_0x28a57d(0x1d9),'user':_0xda1ec9[_0x28a57d(0x231)]||'hub','task_id':_0xda1ec9['id'],'priority':_0xda1ec9['priority']||_0x28a57d(0x1c7)};k[_0x28a57d(0x228)](_0xda1ec9['id'],_0xda1ec9[_0x28a57d(0x231)]||_0x28a57d(0x202)),await K[_0x28a57d(0x1eb)]({'method':_0x28a57d(0x1df),'params':{'content':_0xda1ec9[_0x28a57d(0x23e)],'meta':_0x211612}}),Y(_0x28a57d(0x1b7)+_0xda1ec9['id'][_0x28a57d(0x1f3)](0x0,0x8)+_0x28a57d(0x1f8)+_0xda1ec9[_0x28a57d(0x231)]+':\x20'+_0xda1ec9[_0x28a57d(0x23e)][_0x28a57d(0x1f3)](0x0,0x3c)),await P(_0x28a57d(0x236),{'alias':Z,'message_id':_0xda1ec9['id']});}}}async function A(){const _0xefeb04=a0_0x52c031;let _0xde6f50=new a0_0x4c09c9();await K['connect'](_0xde6f50),Y(_0xefeb04(0x216)),Y('starting\x20SSE\x20listener...'),u()[_0xefeb04(0x21b)](_0x3a561c=>Y(_0xefeb04(0x1b6)+_0x3a561c)),P(_0xefeb04(0x204),{'resume_id':w,'alias':Z,'status':_0xefeb04(0x1e0),'server':a0_0x3936f5(),'hostname':a0_0x3936f5(),'agent':_0xefeb04(0x22f),'project_dir':process[_0xefeb04(0x1c0)](),'tmux_name':j||void 0x0})[_0xefeb04(0x1f1)](()=>Y(_0xefeb04(0x21d)+Z+'\x22\x20('+w['slice'](0x0,0x8)+')'))[_0xefeb04(0x21b)](_0x4057af=>Y(_0xefeb04(0x1c3)+_0x4057af)),setInterval(()=>{const _0x1f9537=_0xefeb04;P(_0x1f9537(0x204),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x3936f5(),'hostname':a0_0x3936f5(),'agent':_0x1f9537(0x22f),'project_dir':process[_0x1f9537(0x1c0)](),'tmux_name':j||void 0x0})['catch'](_0x24ff68=>Y(_0x1f9537(0x1bb)+_0x24ff68));},0x2bf20),Y(_0xefeb04(0x1d8));}A()[a0_0x52c031(0x21b)](_0xf4155b=>{const _0x230ee7=a0_0x52c031;Y('fatal:\x20'+_0xf4155b),process[_0x230ee7(0x229)](0x1);});async function N(){const _0xf68062=a0_0x52c031;Y('shutting\x20down,\x20reporting\x20offline...'),await P(_0xf68062(0x204),{'resume_id':w,'alias':Z,'status':_0xf68062(0x21a),'task':_0xf68062(0x1d0)})[_0xf68062(0x21b)](()=>{}),process['exit'](0x0);}process['stdin']['on']('end',()=>N()),process['on'](a0_0x52c031(0x1b3),()=>N()),process['on'](a0_0x52c031(0x1f0),()=>N());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network",
3
- "version": "2.1.8-preview.4",
3
+ "version": "2.1.8-preview.6",
4
4
  "description": "AI Agent Network CLI — Create multi-agent networks with user management, network isolation, and 3 AI runtimes (Claude/Codex/MiniMax). 39 commands.",
5
5
  "type": "module",
6
6
  "main": "dist/src/client.js",
package/dist/client.d.ts DELETED
@@ -1,78 +0,0 @@
1
- /**
2
- * @sleep2agi/commhub-sdk
3
- *
4
- * CommHub 通信 SDK — 一个文件,SSE 长连接 + 自动重连 + 心跳。
5
- * 支持 Node.js 18+ 和 Bun。
6
- */
7
- import { EventEmitter } from "events";
8
- export interface CommHubOptions {
9
- /** CommHub Server URL, e.g. "http://YOUR_COMMHUB_IP:9200" */
10
- url: string;
11
- /** Session alias, e.g. "SDK马" */
12
- alias: string;
13
- /** Auth token (optional) */
14
- token?: string;
15
- /** Agent type for registration (default: "sdk") */
16
- agent?: string;
17
- /** Heartbeat interval in ms (default: 180000 = 3 min) */
18
- heartbeatInterval?: number;
19
- /** SSE reconnect base delay in ms (default: 3000) */
20
- reconnectDelay?: number;
21
- /** Auto-connect on creation (default: true) */
22
- autoConnect?: boolean;
23
- }
24
- export interface InboxMessage {
25
- id: string;
26
- content: string;
27
- from_session: string;
28
- priority: string;
29
- created_at: string;
30
- }
31
- export interface CommHubEvents {
32
- task: (msg: InboxMessage) => void;
33
- message: (msg: InboxMessage) => void;
34
- connected: () => void;
35
- disconnected: () => void;
36
- error: (err: Error) => void;
37
- }
38
- export declare class CommHub extends EventEmitter {
39
- private url;
40
- private alias;
41
- private token?;
42
- private agent;
43
- private resumeId;
44
- private heartbeatInterval;
45
- private reconnectDelay;
46
- private heartbeatTimer?;
47
- private sseAbort?;
48
- private running;
49
- constructor(opts: CommHubOptions);
50
- private log;
51
- private call;
52
- /** Connect to CommHub: register + start SSE + heartbeat */
53
- connect(): Promise<void>;
54
- /** Disconnect: stop SSE + heartbeat, report offline */
55
- disconnect(): Promise<void>;
56
- /** Send a task to another session */
57
- send(targetAlias: string, content: string, priority?: "high" | "normal" | "low"): Promise<any>;
58
- /** Send a message (no task lifecycle) */
59
- message(targetAlias: string, content: string): Promise<any>;
60
- /** Reply to a task (update status) */
61
- reply(taskId: string, text: string, status?: "completed" | "blocked" | "error" | "in_progress"): Promise<any>;
62
- /** Update session status */
63
- status(state: string, extra?: {
64
- task?: string;
65
- progress?: number;
66
- }): Promise<any>;
67
- /** Get all session statuses */
68
- getAllStatus(): Promise<any>;
69
- /** Broadcast to all sessions */
70
- broadcast(content: string, filter?: {
71
- server?: string;
72
- status?: string;
73
- }): Promise<any>;
74
- private connectSSE;
75
- private processInbox;
76
- private sleep;
77
- }
78
- export default CommHub;