@sleep2agi/agent-network 2.1.4-preview.9 → 2.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- function a0_0x2f20(){const _0x53988c=['sseAbort','split','text','heartbeatInterval','read','message','cwd','24hznPXZ','min','3509289Fqrwlp','inbox\x20error:\x20','stringify','get_inbox','heartbeat\x20failed:\x20','AbortError','report_status','catch','status','application/json','2.0','parse','slice','POST','body','connectSSE','task','log','13094874bjSXxS','send_message','connect','heartbeatTimer','SSE\x20failed:\x20','pop','emit','send_reply','toTimeString','get_all_status','toString','83152MRNUjQ','broadcast','match','135MDnrEe','running','new_message','2746347PRrpbv','content','signal','from_session','11116600yIVNDv','Authorization','s...','Bearer\x20','data:\x20','SSE\x20error:\x20','idle','text/event-stream','autoConnect','type','ack_inbox','decode','2epJSqT','reply','getReader','SSE\x20reconnecting\x20in\x20','sleep','new_task','offline','application/json,\x20text/event-stream','replace','getAllStatus','disconnected','processInbox','registered','completed','agent','call','6042612JHBvPS','abort','alias','url','now','sdk','775639Quaqte','reconnectDelay','result','/events/','token','resumeId','error'];a0_0x2f20=function(){return _0x53988c;};return a0_0x2f20();}function a0_0x1782(_0x14144e,_0x512fef){_0x14144e=_0x14144e-0x173;const _0x2f2012=a0_0x2f20();let _0x178286=_0x2f2012[_0x14144e];return _0x178286;}const a0_0x480d82=a0_0x1782;(function(_0x40476d,_0x21f9ef){const _0x560619=a0_0x1782,_0x448b4c=_0x40476d();while(!![]){try{const _0x3f459f=-parseInt(_0x560619(0x1c1))/0x1*(parseInt(_0x560619(0x1ab))/0x2)+parseInt(_0x560619(0x19b))/0x3+-parseInt(_0x560619(0x195))/0x4*(-parseInt(_0x560619(0x198))/0x5)+-parseInt(_0x560619(0x1bb))/0x6+-parseInt(_0x560619(0x178))/0x7*(parseInt(_0x560619(0x176))/0x8)+parseInt(_0x560619(0x18a))/0x9+parseInt(_0x560619(0x19f))/0xa;if(_0x3f459f===_0x21f9ef)break;else _0x448b4c['push'](_0x448b4c['shift']());}catch(_0x4d937b){_0x448b4c['push'](_0x448b4c['shift']());}}}(a0_0x2f20,0xb8ba9));import{EventEmitter as a0_0x32682b}from'events';import{hostname as a0_0x40dbf6}from'os';class T extends a0_0x32682b{[a0_0x480d82(0x1be)];[a0_0x480d82(0x1bd)];['token'];[a0_0x480d82(0x1b9)];[a0_0x480d82(0x1c6)];[a0_0x480d82(0x1cb)];[a0_0x480d82(0x1c2)];[a0_0x480d82(0x18d)];[a0_0x480d82(0x1c8)];[a0_0x480d82(0x199)]=!0x1;constructor(_0x1b88ad){const _0x17ca5d=a0_0x480d82;super();if(this[_0x17ca5d(0x1be)]=_0x1b88ad[_0x17ca5d(0x1be)][_0x17ca5d(0x1b3)](/\/$/,''),this[_0x17ca5d(0x1bd)]=_0x1b88ad['alias'],this[_0x17ca5d(0x1c5)]=_0x1b88ad[_0x17ca5d(0x1c5)],this['agent']=_0x1b88ad[_0x17ca5d(0x1b9)]||_0x17ca5d(0x1c0),this[_0x17ca5d(0x1c6)]='sdk-'+_0x1b88ad['alias']+'-'+Date[_0x17ca5d(0x1bf)]()[_0x17ca5d(0x194)](0x24),this[_0x17ca5d(0x1cb)]=_0x1b88ad[_0x17ca5d(0x1cb)]??0x2bf20,this['reconnectDelay']=_0x1b88ad[_0x17ca5d(0x1c2)]??0xbb8,_0x1b88ad[_0x17ca5d(0x1a7)]!==!0x1)this[_0x17ca5d(0x18c)]();}[a0_0x480d82(0x189)](_0x1803e1){const _0x5079c9=a0_0x480d82;console['log']('['+new Date()[_0x5079c9(0x192)]()[_0x5079c9(0x184)](0x0,0x8)+']\x20[commhub:'+this[_0x5079c9(0x1bd)]+']\x20'+_0x1803e1);}async[a0_0x480d82(0x1ba)](_0x4f458b,_0x57da91){const _0x52ea40=a0_0x480d82;let _0x2af967={'Content-Type':_0x52ea40(0x181),'Accept':_0x52ea40(0x1b2)};if(this[_0x52ea40(0x1c5)])_0x2af967[_0x52ea40(0x1a0)]=_0x52ea40(0x1a2)+this[_0x52ea40(0x1c5)];let _0x152694=await(await fetch(this[_0x52ea40(0x1be)]+'/mcp',{'method':_0x52ea40(0x185),'headers':_0x2af967,'body':JSON[_0x52ea40(0x17a)]({'jsonrpc':_0x52ea40(0x182),'id':Date[_0x52ea40(0x1bf)](),'method':'tools/call','params':{'name':_0x4f458b,'arguments':_0x57da91}})}))['text'](),_0x5e7e64=_0x152694[_0x52ea40(0x197)](/data: (.+)/),_0x5cacb5=_0x5e7e64?JSON[_0x52ea40(0x183)](_0x5e7e64[0x1]):JSON[_0x52ea40(0x183)](_0x152694),_0x1d6c39=_0x5cacb5?.[_0x52ea40(0x1c3)]?.[_0x52ea40(0x19c)]?.[0x0]?.[_0x52ea40(0x1ca)];return _0x1d6c39?JSON[_0x52ea40(0x183)](_0x1d6c39):_0x5cacb5;}async['connect'](){const _0x3f6dc0=a0_0x480d82;if(this['running'])return;this[_0x3f6dc0(0x199)]=!0x0,await this[_0x3f6dc0(0x180)](_0x3f6dc0(0x1a5)),this[_0x3f6dc0(0x189)](_0x3f6dc0(0x1b7)),this[_0x3f6dc0(0x18d)]=setInterval(()=>{const _0x1d8390=_0x3f6dc0;this[_0x1d8390(0x180)](_0x1d8390(0x1a5))[_0x1d8390(0x17f)](_0x445daa=>this[_0x1d8390(0x189)](_0x1d8390(0x17c)+_0x445daa[_0x1d8390(0x174)]));},this['heartbeatInterval']),this[_0x3f6dc0(0x187)]();}async['disconnect'](){const _0x80416f=a0_0x480d82;if(this[_0x80416f(0x199)]=!0x1,this[_0x80416f(0x1c8)]?.[_0x80416f(0x1bc)](),this[_0x80416f(0x18d)])clearInterval(this[_0x80416f(0x18d)]);await this[_0x80416f(0x180)](_0x80416f(0x1b1))['catch'](()=>{}),this[_0x80416f(0x189)](_0x80416f(0x1b5));}async['send'](_0x23de77,_0x58fe10,_0x23f007='normal'){return this['call']('send_task',{'alias':_0x23de77,'task':_0x58fe10,'priority':_0x23f007,'from_session':this['alias']});}async[a0_0x480d82(0x174)](_0x54a500,_0x22e33d){const _0x4795ab=a0_0x480d82;return this[_0x4795ab(0x1ba)](_0x4795ab(0x18b),{'alias':_0x54a500,'message':_0x22e33d,'from_session':this['alias']});}async[a0_0x480d82(0x1ac)](_0x59c02d,_0x421fd7,_0x265f2a=a0_0x480d82(0x1b8)){const _0x337f16=a0_0x480d82;return this['call'](_0x337f16(0x191),{'in_reply_to':_0x59c02d,'text':_0x421fd7,'status':_0x265f2a});}async[a0_0x480d82(0x180)](_0x3574c6,_0x1dcb4e){const _0x471a81=a0_0x480d82;return this[_0x471a81(0x1ba)](_0x471a81(0x17e),{'resume_id':this[_0x471a81(0x1c6)],'alias':this[_0x471a81(0x1bd)],'status':_0x3574c6,'server':a0_0x40dbf6(),'hostname':a0_0x40dbf6(),'agent':this[_0x471a81(0x1b9)],'project_dir':process[_0x471a81(0x175)](),..._0x1dcb4e});}async[a0_0x480d82(0x1b4)](){const _0x3cb98c=a0_0x480d82;return this['call'](_0x3cb98c(0x193),{});}async[a0_0x480d82(0x196)](_0x5e0349,_0x5e999f){const _0x464a41=a0_0x480d82;return this[_0x464a41(0x1ba)](_0x464a41(0x196),{'message':_0x5e0349,'filter_server':_0x5e999f?.['server'],'filter_status':_0x5e999f?.[_0x464a41(0x180)]});}async[a0_0x480d82(0x187)](){const _0x504832=a0_0x480d82;let _0x5a00ed=encodeURIComponent(this[_0x504832(0x1bd)]),_0x5906a7=this[_0x504832(0x1be)]+_0x504832(0x1c4)+_0x5a00ed,_0x46f572=this['reconnectDelay'];while(this[_0x504832(0x199)]){try{this['sseAbort']=new AbortController();let _0x51dee4={'Accept':_0x504832(0x1a6)};if(this[_0x504832(0x1c5)])_0x51dee4[_0x504832(0x1a0)]='Bearer\x20'+this[_0x504832(0x1c5)];let _0x2db125=await fetch(_0x5906a7,{'headers':_0x51dee4,'signal':this['sseAbort'][_0x504832(0x19d)]});if(!_0x2db125['ok']||!_0x2db125[_0x504832(0x186)]){this[_0x504832(0x189)](_0x504832(0x18e)+_0x2db125[_0x504832(0x180)]),await this[_0x504832(0x1af)](_0x46f572),_0x46f572=Math['min'](_0x46f572*1.5,0xea60);continue;}_0x46f572=this[_0x504832(0x1c2)];let _0x3e6081=_0x2db125[_0x504832(0x186)][_0x504832(0x1ad)](),_0x4793d4=new TextDecoder(),_0x27b4a8='';while(this['running']){let {done:_0x22c5bc,value:_0x53cab0}=await _0x3e6081[_0x504832(0x173)]();if(_0x22c5bc)break;_0x27b4a8+=_0x4793d4[_0x504832(0x1aa)](_0x53cab0,{'stream':!0x0});let _0x26c8e5=_0x27b4a8[_0x504832(0x1c9)]('\x0a');_0x27b4a8=_0x26c8e5[_0x504832(0x18f)]()||'';for(let _0x24e160 of _0x26c8e5){if(!_0x24e160['startsWith'](_0x504832(0x1a3)))continue;try{let _0x4cb17e=JSON[_0x504832(0x183)](_0x24e160[_0x504832(0x184)](0x6));if(_0x4cb17e[_0x504832(0x1a8)]==='connected'){this[_0x504832(0x189)]('SSE\x20connected'),this['emit']('connected');continue;}if(_0x4cb17e[_0x504832(0x1a8)]===_0x504832(0x1b0)||_0x4cb17e[_0x504832(0x1a8)]===_0x504832(0x19a)||_0x4cb17e['type']===_0x504832(0x196))await this['processInbox']();}catch{}}}}catch(_0x138e21){if(_0x138e21['name']===_0x504832(0x17d))break;this[_0x504832(0x190)](_0x504832(0x1c7),_0x138e21),this['log'](_0x504832(0x1a4)+_0x138e21[_0x504832(0x174)]);}if(this[_0x504832(0x199)])this[_0x504832(0x190)](_0x504832(0x1b5)),this[_0x504832(0x189)](_0x504832(0x1ae)+_0x46f572/0x3e8+_0x504832(0x1a1)),await this[_0x504832(0x1af)](_0x46f572),_0x46f572=Math[_0x504832(0x177)](_0x46f572*1.5,0xea60);}}async[a0_0x480d82(0x1b6)](){const _0x3506aa=a0_0x480d82;try{let _0xa586a6=(await this[_0x3506aa(0x1ba)](_0x3506aa(0x17b),{'alias':this['alias'],'limit':0xa}))?.['messages']||[];for(let _0xac745b of _0xa586a6)await this['call'](_0x3506aa(0x1a9),{'alias':this[_0x3506aa(0x1bd)],'message_id':_0xac745b['id']}),this['log']('←\x20'+_0xac745b[_0x3506aa(0x19e)]+':\x20'+_0xac745b[_0x3506aa(0x19c)][_0x3506aa(0x184)](0x0,0x3c)),this[_0x3506aa(0x190)](_0x3506aa(0x188),_0xac745b),this[_0x3506aa(0x190)](_0x3506aa(0x174),_0xac745b);}catch(_0x1ebb9c){this['log'](_0x3506aa(0x179)+_0x1ebb9c[_0x3506aa(0x174)]);}}['sleep'](_0x1b9b2d){return new Promise(_0x5e633f=>setTimeout(_0x5e633f,_0x1b9b2d));}}var $=T;export{$ as default,T as CommHub};
1
+ const a0_0x1317e1=a0_0x12b5;function a0_0x12b5(_0xb26ee6,_0x9e1184){_0xb26ee6=_0xb26ee6-0x13f;const _0x56f45f=a0_0x56f4();let _0x12b5a0=_0x56f45f[_0xb26ee6];return _0x12b5a0;}(function(_0x4d17cc,_0x2d9740){const _0x153b51=a0_0x12b5,_0xa46fe1=_0x4d17cc();while(!![]){try{const _0x45c268=parseInt(_0x153b51(0x14f))/0x1+-parseInt(_0x153b51(0x146))/0x2*(-parseInt(_0x153b51(0x15a))/0x3)+-parseInt(_0x153b51(0x159))/0x4*(parseInt(_0x153b51(0x150))/0x5)+parseInt(_0x153b51(0x183))/0x6+-parseInt(_0x153b51(0x189))/0x7*(-parseInt(_0x153b51(0x168))/0x8)+parseInt(_0x153b51(0x187))/0x9+-parseInt(_0x153b51(0x151))/0xa*(parseInt(_0x153b51(0x16b))/0xb);if(_0x45c268===_0x2d9740)break;else _0xa46fe1['push'](_0xa46fe1['shift']());}catch(_0xe36e63){_0xa46fe1['push'](_0xa46fe1['shift']());}}}(a0_0x56f4,0xd48c9));import{EventEmitter as a0_0x4cfdaa}from'events';import{hostname as a0_0x53aac2}from'os';class T extends a0_0x4cfdaa{['url'];[a0_0x1317e1(0x184)];[a0_0x1317e1(0x175)];['agent'];[a0_0x1317e1(0x181)];[a0_0x1317e1(0x180)];[a0_0x1317e1(0x153)];[a0_0x1317e1(0x15e)];[a0_0x1317e1(0x155)];[a0_0x1317e1(0x142)]=!0x1;constructor(_0x2c2395){const _0x2aae37=a0_0x1317e1;super();if(this[_0x2aae37(0x178)]=_0x2c2395[_0x2aae37(0x178)][_0x2aae37(0x140)](/\/$/,''),this[_0x2aae37(0x184)]=_0x2c2395['alias'],this['token']=_0x2c2395[_0x2aae37(0x175)],this[_0x2aae37(0x17a)]=_0x2c2395['agent']||_0x2aae37(0x16e),this[_0x2aae37(0x181)]=_0x2aae37(0x186)+_0x2c2395['alias']+'-'+Date[_0x2aae37(0x196)]()[_0x2aae37(0x164)](0x24),this[_0x2aae37(0x180)]=_0x2c2395[_0x2aae37(0x180)]??0x2bf20,this[_0x2aae37(0x153)]=_0x2c2395[_0x2aae37(0x153)]??0xbb8,_0x2c2395[_0x2aae37(0x199)]!==!0x1)this['connect']();}[a0_0x1317e1(0x148)](_0x5a9837){const _0x407242=a0_0x1317e1;console[_0x407242(0x148)]('['+new Date()['toTimeString']()[_0x407242(0x179)](0x0,0x8)+_0x407242(0x172)+this[_0x407242(0x184)]+']\x20'+_0x5a9837);}async[a0_0x1317e1(0x17f)](_0x47f52c,_0x3f87fe){const _0x100907=a0_0x1317e1;let _0x529088={'Content-Type':_0x100907(0x174),'Accept':'application/json,\x20text/event-stream'};if(this[_0x100907(0x175)])_0x529088[_0x100907(0x144)]='Bearer\x20'+this['token'];let _0xb72dc3=await(await fetch(this[_0x100907(0x178)]+_0x100907(0x173),{'method':_0x100907(0x145),'headers':_0x529088,'body':JSON[_0x100907(0x154)]({'jsonrpc':'2.0','id':Date[_0x100907(0x196)](),'method':_0x100907(0x16d),'params':{'name':_0x47f52c,'arguments':_0x3f87fe}})}))[_0x100907(0x185)](),_0x5acc3b=_0xb72dc3[_0x100907(0x18d)](/data: (.+)/),_0x47e995=_0x5acc3b?JSON[_0x100907(0x17c)](_0x5acc3b[0x1]):JSON[_0x100907(0x17c)](_0xb72dc3),_0x122d61=_0x47e995?.[_0x100907(0x198)]?.[_0x100907(0x18b)]?.[0x0]?.[_0x100907(0x185)];return _0x122d61?JSON[_0x100907(0x17c)](_0x122d61):_0x47e995;}async[a0_0x1317e1(0x156)](){const _0x3f24c1=a0_0x1317e1;if(this['running'])return;this[_0x3f24c1(0x142)]=!0x0,await this[_0x3f24c1(0x167)]('idle'),this[_0x3f24c1(0x148)](_0x3f24c1(0x15b)),this[_0x3f24c1(0x15e)]=setInterval(()=>{const _0x4a4933=_0x3f24c1;this[_0x4a4933(0x167)](_0x4a4933(0x141))['catch'](_0x42ea15=>this[_0x4a4933(0x148)](_0x4a4933(0x161)+_0x42ea15[_0x4a4933(0x170)]));},this[_0x3f24c1(0x180)]),this['connectSSE']();}async[a0_0x1317e1(0x143)](){const _0x5bb841=a0_0x1317e1;if(this['running']=!0x1,this[_0x5bb841(0x155)]?.[_0x5bb841(0x14b)](),this[_0x5bb841(0x15e)])clearInterval(this[_0x5bb841(0x15e)]);await this[_0x5bb841(0x167)]('offline')[_0x5bb841(0x195)](()=>{}),this[_0x5bb841(0x148)]('disconnected');}async[a0_0x1317e1(0x182)](_0x35dfa6,_0x47e4c5,_0x5b4bf5=a0_0x1317e1(0x193)){const _0x1666d4=a0_0x1317e1;return this[_0x1666d4(0x17f)](_0x1666d4(0x18c),{'alias':_0x35dfa6,'task':_0x47e4c5,'priority':_0x5b4bf5,'from_session':this[_0x1666d4(0x184)]});}async[a0_0x1317e1(0x170)](_0x6c7faa,_0x353204){const _0x55bb00=a0_0x1317e1;return this[_0x55bb00(0x17f)](_0x55bb00(0x149),{'alias':_0x6c7faa,'message':_0x353204,'from_session':this[_0x55bb00(0x184)]});}async[a0_0x1317e1(0x191)](_0x184229,_0x400f0f,_0x48c3c4='completed'){const _0x2eae4b=a0_0x1317e1;return this[_0x2eae4b(0x17f)]('send_reply',{'in_reply_to':_0x184229,'text':_0x400f0f,'status':_0x48c3c4});}async[a0_0x1317e1(0x167)](_0x37f4bf,_0x30f1a3){const _0x1925fc=a0_0x1317e1;return this[_0x1925fc(0x17f)]('report_status',{'resume_id':this[_0x1925fc(0x181)],'alias':this[_0x1925fc(0x184)],'status':_0x37f4bf,'server':a0_0x53aac2(),'hostname':a0_0x53aac2(),'agent':this[_0x1925fc(0x17a)],'project_dir':process['cwd'](),..._0x30f1a3});}async[a0_0x1317e1(0x190)](){const _0x29f181=a0_0x1317e1;return this['call'](_0x29f181(0x14e),{});}async[a0_0x1317e1(0x16c)](_0x100caf,_0x53b22a){const _0x6f787a=a0_0x1317e1;return this[_0x6f787a(0x17f)]('broadcast',{'message':_0x100caf,'filter_server':_0x53b22a?.[_0x6f787a(0x192)],'filter_status':_0x53b22a?.[_0x6f787a(0x167)]});}async[a0_0x1317e1(0x17d)](){const _0x33c9fa=a0_0x1317e1;let _0x10acef=encodeURIComponent(this[_0x33c9fa(0x184)]),_0x153fd2=this[_0x33c9fa(0x178)]+_0x33c9fa(0x18a)+_0x10acef,_0x5d7a58=this[_0x33c9fa(0x153)];while(this[_0x33c9fa(0x142)]){try{this[_0x33c9fa(0x155)]=new AbortController();let _0x477c58={'Accept':_0x33c9fa(0x157)};if(this[_0x33c9fa(0x175)])_0x477c58[_0x33c9fa(0x144)]=_0x33c9fa(0x188)+this[_0x33c9fa(0x175)];let _0x32a7f3=await fetch(_0x153fd2,{'headers':_0x477c58,'signal':this[_0x33c9fa(0x155)][_0x33c9fa(0x19a)]});if(!_0x32a7f3['ok']||!_0x32a7f3[_0x33c9fa(0x165)]){this[_0x33c9fa(0x148)](_0x33c9fa(0x14c)+_0x32a7f3[_0x33c9fa(0x167)]),await this[_0x33c9fa(0x15c)](_0x5d7a58),_0x5d7a58=Math[_0x33c9fa(0x197)](_0x5d7a58*1.5,0xea60);continue;}_0x5d7a58=this[_0x33c9fa(0x153)];let _0x2b50f2=_0x32a7f3[_0x33c9fa(0x165)][_0x33c9fa(0x15d)](),_0x3a1d1a=new TextDecoder(),_0x11d4bd='';while(this[_0x33c9fa(0x142)]){let {done:_0x489089,value:_0x2490eb}=await _0x2b50f2['read']();if(_0x489089)break;_0x11d4bd+=_0x3a1d1a[_0x33c9fa(0x162)](_0x2490eb,{'stream':!0x0});let _0x600df9=_0x11d4bd['split']('\x0a');_0x11d4bd=_0x600df9[_0x33c9fa(0x13f)]()||'';for(let _0x1a985e of _0x600df9){if(!_0x1a985e[_0x33c9fa(0x16f)](_0x33c9fa(0x177)))continue;try{let _0x2563c5=JSON[_0x33c9fa(0x17c)](_0x1a985e[_0x33c9fa(0x179)](0x6));if(_0x2563c5[_0x33c9fa(0x158)]===_0x33c9fa(0x15f)){this['log']('SSE\x20connected'),this['emit'](_0x33c9fa(0x15f));continue;}if(_0x2563c5[_0x33c9fa(0x158)]===_0x33c9fa(0x163)||_0x2563c5[_0x33c9fa(0x158)]===_0x33c9fa(0x152)||_0x2563c5[_0x33c9fa(0x158)]===_0x33c9fa(0x16c))await this['processInbox']();}catch{}}}}catch(_0x53d170){if(_0x53d170[_0x33c9fa(0x160)]===_0x33c9fa(0x16a))break;this[_0x33c9fa(0x18f)](_0x33c9fa(0x17e),_0x53d170),this['log'](_0x33c9fa(0x169)+_0x53d170[_0x33c9fa(0x170)]);}if(this[_0x33c9fa(0x142)])this[_0x33c9fa(0x18f)](_0x33c9fa(0x176)),this[_0x33c9fa(0x148)](_0x33c9fa(0x171)+_0x5d7a58/0x3e8+_0x33c9fa(0x14d)),await this[_0x33c9fa(0x15c)](_0x5d7a58),_0x5d7a58=Math['min'](_0x5d7a58*1.5,0xea60);}}async[a0_0x1317e1(0x194)](){const _0x5b3e2f=a0_0x1317e1;try{let _0x37f473=(await this[_0x5b3e2f(0x17f)](_0x5b3e2f(0x147),{'alias':this[_0x5b3e2f(0x184)],'limit':0xa}))?.[_0x5b3e2f(0x17b)]||[];for(let _0x30ec17 of _0x37f473)await this[_0x5b3e2f(0x17f)](_0x5b3e2f(0x14a),{'alias':this[_0x5b3e2f(0x184)],'message_id':_0x30ec17['id']}),this[_0x5b3e2f(0x148)]('←\x20'+_0x30ec17[_0x5b3e2f(0x18e)]+':\x20'+_0x30ec17['content'][_0x5b3e2f(0x179)](0x0,0x3c)),this[_0x5b3e2f(0x18f)](_0x5b3e2f(0x166),_0x30ec17),this[_0x5b3e2f(0x18f)]('message',_0x30ec17);}catch(_0x32278b){this[_0x5b3e2f(0x148)]('inbox\x20error:\x20'+_0x32278b[_0x5b3e2f(0x170)]);}}['sleep'](_0x29eba9){return new Promise(_0x5b4f6f=>setTimeout(_0x5b4f6f,_0x29eba9));}}var $=T;function a0_0x56f4(){const _0x1f16d0=['startsWith','message','SSE\x20reconnecting\x20in\x20',']\x20[commhub:','/mcp','application/json','token','disconnected','data:\x20','url','slice','agent','messages','parse','connectSSE','error','call','heartbeatInterval','resumeId','send','6436056eFVZBJ','alias','text','sdk-','14999085UnvjkG','Bearer\x20','14wdBmeQ','/events/','content','send_task','match','from_session','emit','getAllStatus','reply','server','normal','processInbox','catch','now','min','result','autoConnect','signal','pop','replace','idle','running','disconnect','Authorization','POST','66lORPPL','get_inbox','log','send_message','ack_inbox','abort','SSE\x20failed:\x20','s...','get_all_status','1634723JNYAIt','5505TmEiXM','250nFMKNP','new_message','reconnectDelay','stringify','sseAbort','connect','text/event-stream','type','12qLbGpc','121179qEmOdJ','registered','sleep','getReader','heartbeatTimer','connected','name','heartbeat\x20failed:\x20','decode','new_task','toString','body','task','status','4345784sigfdz','SSE\x20error:\x20','AbortError','2604569LgWSiQ','broadcast','tools/call','sdk'];a0_0x56f4=function(){return _0x1f16d0;};return a0_0x56f4();}export{$ as default,T as CommHub};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env bun
2
- const a0_0x361e97=a0_0x3514;(function(_0x52f10d,_0x21fc61){const _0x4aa434=a0_0x3514,_0xa63bf7=_0x52f10d();while(!![]){try{const _0xcd4059=-parseInt(_0x4aa434(0x196))/0x1*(-parseInt(_0x4aa434(0x1f2))/0x2)+-parseInt(_0x4aa434(0x1b7))/0x3+-parseInt(_0x4aa434(0x188))/0x4*(parseInt(_0x4aa434(0x1e4))/0x5)+-parseInt(_0x4aa434(0x19a))/0x6+parseInt(_0x4aa434(0x181))/0x7+-parseInt(_0x4aa434(0x1d7))/0x8+parseInt(_0x4aa434(0x17b))/0x9;if(_0xcd4059===_0x21fc61)break;else _0xa63bf7['push'](_0xa63bf7['shift']());}catch(_0x46ed47){_0xa63bf7['push'](_0xa63bf7['shift']());}}}(a0_0x4d1f,0x9c5e9));import{readFileSync as a0_0x2798d9,existsSync as a0_0x99a115}from'fs';import{randomUUID as a0_0x446c40}from'crypto';import{join as a0_0x4e8f44}from'path';import{hostname as a0_0x4d8c7a}from'os';import{execSync as a0_0x1cd35c}from'child_process';function a0_0x3514(_0x5bab8b,_0x143a2c){_0x5bab8b=_0x5bab8b-0x16b;const _0x4d1f4b=a0_0x4d1f();let _0x351419=_0x4d1f4b[_0x5bab8b];return _0x351419;}import{Server as a0_0x3664ea}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0xd7f421}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x260dd9,CallToolRequestSchema as a0_0x575231}from'@modelcontextprotocol/sdk/types.js';function p(_0x5d9928){const _0x577700=a0_0x3514;if(!a0_0x99a115(_0x5d9928))return;for(let _0x2b4b6d of a0_0x2798d9(_0x5d9928,'utf-8')[_0x577700(0x172)]('\x0a')){let _0x228f21=_0x2b4b6d['trim']();if(!_0x228f21||_0x228f21[_0x577700(0x1c8)]('#'))continue;let _0x255622=_0x228f21[_0x577700(0x1f0)]('=');if(_0x255622<0x0)continue;let _0x558cbb=_0x228f21['slice'](0x0,_0x255622)[_0x577700(0x170)](),_0x5abfe6=_0x228f21['slice'](_0x255622+0x1)[_0x577700(0x170)]()[_0x577700(0x1b0)](/^["']|["']$/g,'');if(!process.env[_0x558cbb])process.env[_0x558cbb]=_0x5abfe6;}}var C=process.env.HOME||'~',T=a0_0x4e8f44(C,a0_0x361e97(0x1e3));p(a0_0x4e8f44(T,a0_0x361e97(0x1ba)));var L=process[a0_0x361e97(0x17f)]()[a0_0x361e97(0x1b0)](/\//g,'-');p(a0_0x4e8f44(T,L,a0_0x361e97(0x1ba)));function U(){const _0x3ff54d=a0_0x361e97;try{return a0_0x1cd35c(_0x3ff54d(0x1e5),{'encoding':_0x3ff54d(0x1f4),'timeout':0x7d0})[_0x3ff54d(0x170)]();}catch{return'';}}function v(){const _0xb31fd3=a0_0x361e97;try{let _0x1ff539=a0_0x4e8f44(C,_0xb31fd3(0x1e2),_0xb31fd3(0x1cd));if(a0_0x99a115(_0x1ff539))return JSON[_0xb31fd3(0x1b9)](a0_0x2798d9(_0x1ff539,_0xb31fd3(0x1f4)));}catch{}return{};}var H=v(),f=process.env.COMMHUB_URL||H[a0_0x361e97(0x1a6)]||a0_0x361e97(0x177),j=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||j||a0_0x4d8c7a(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x446c40(),X=process.env.COMMHUB_TOKEN||H[a0_0x361e97(0x18a)]||'';function Y(_0x2d6377){const _0x38e560=a0_0x361e97;let _0x5b4fd3=new Date()[_0x38e560(0x1d9)]()[_0x38e560(0x1c0)](0x0,0x8);process[_0x38e560(0x18d)]['write']('['+_0x5b4fd3+_0x38e560(0x193)+_0x2d6377+'\x0a');}function h(_0x3c0c98){return new Promise(_0x20c87f=>setTimeout(_0x20c87f,_0x3c0c98));}Y(a0_0x361e97(0x1e1)+f+a0_0x361e97(0x1e0)+Z+'\x20RESUME_ID='+w['slice'](0x0,0x8)+a0_0x361e97(0x1ec)+(j||a0_0x361e97(0x195))+a0_0x361e97(0x1b2)+process[a0_0x361e97(0x17f)]()+'\x20PROJECT_ENV='+L);var k=new Map(),K=new a0_0x3664ea({'name':'commhub-channel','version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x361e97(0x1e8),a0_0x361e97(0x180),a0_0x361e97(0x1df),a0_0x361e97(0x19c),a0_0x361e97(0x1d1)+Z][a0_0x361e97(0x16b)]('\x0a')});K[a0_0x361e97(0x1a2)](a0_0x260dd9,async()=>({'tools':[{'name':'commhub_reply','description':a0_0x361e97(0x199),'inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0x361e97(0x1ae),'description':a0_0x361e97(0x1bc)},'text':{'type':a0_0x361e97(0x1ae),'description':a0_0x361e97(0x187)},'status':{'type':'string','enum':['completed',a0_0x361e97(0x1bb),'cancelled','blocked','error','in_progress'],'description':a0_0x361e97(0x176)}},'required':[a0_0x361e97(0x18e)]}},{'name':'commhub_report_status','description':a0_0x361e97(0x198),'inputSchema':{'type':a0_0x361e97(0x1d5),'properties':{'status':{'type':a0_0x361e97(0x1ae),'enum':[a0_0x361e97(0x1f5),'idle',a0_0x361e97(0x185),a0_0x361e97(0x190)]},'task':{'type':a0_0x361e97(0x1ae),'description':a0_0x361e97(0x1bd)},'progress':{'type':a0_0x361e97(0x18b),'description':a0_0x361e97(0x16c)}},'required':[a0_0x361e97(0x16d)]}},{'name':a0_0x361e97(0x178),'description':a0_0x361e97(0x1d8),'inputSchema':{'type':a0_0x361e97(0x1d5),'properties':{'alias':{'type':'string','description':'Target\x20session\x20alias'},'task':{'type':a0_0x361e97(0x1ae),'description':a0_0x361e97(0x1c7)},'priority':{'type':a0_0x361e97(0x1ae),'enum':[a0_0x361e97(0x1bf),a0_0x361e97(0x1d4),a0_0x361e97(0x19d)],'description':a0_0x361e97(0x19f)}},'required':['alias',a0_0x361e97(0x19e)]}},{'name':a0_0x361e97(0x17c),'description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0x361e97(0x1d5),'properties':{'alias':{'type':a0_0x361e97(0x1ae),'description':a0_0x361e97(0x1b4)},'message':{'type':'string','description':'Message\x20content'}},'required':[a0_0x361e97(0x173),'message']}},{'name':a0_0x361e97(0x175),'description':a0_0x361e97(0x17a),'inputSchema':{'type':a0_0x361e97(0x1d5),'properties':{}}}]}));async function P(_0x336cb7,_0x47fd93){const _0x40034f=a0_0x361e97;let _0x3afe93=await fetch(f+'/mcp',{'method':_0x40034f(0x17d),'headers':{'Content-Type':_0x40034f(0x1c9),'Accept':_0x40034f(0x1a8),...X?{'Authorization':_0x40034f(0x1b1)+X}:{}},'body':JSON[_0x40034f(0x1f3)]({'jsonrpc':_0x40034f(0x1e9),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x40034f(0x1cf),'capabilities':{},'clientInfo':{'name':_0x40034f(0x191),'version':_0x40034f(0x1be)}}})});if(!_0x3afe93['ok']){let _0x58aa01=await _0x3afe93[_0x40034f(0x18e)]();return Y(_0x40034f(0x1ca)+_0x3afe93[_0x40034f(0x16d)]+'\x20'+_0x58aa01['slice'](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x3afe93['status']};}await _0x3afe93[_0x40034f(0x18e)]();let _0x7f8b2f=(await(await fetch(f+_0x40034f(0x1ed),{'method':_0x40034f(0x17d),'headers':{'Content-Type':'application/json','Accept':_0x40034f(0x1a8),...X?{'Authorization':_0x40034f(0x1b1)+X}:{}},'body':JSON[_0x40034f(0x1f3)]({'jsonrpc':_0x40034f(0x1e9),'id':0x2,'method':'tools/call','params':{'name':_0x336cb7,'arguments':_0x47fd93}})}))['text']())['split']('\x0a')[_0x40034f(0x1c1)](_0x5ba7a4=>_0x5ba7a4['startsWith'](_0x40034f(0x1d0)));if(_0x7f8b2f){let _0x4832ee=JSON[_0x40034f(0x1b9)](_0x7f8b2f[_0x40034f(0x1c0)](0x6));return _0x4832ee?.[_0x40034f(0x1ac)]?.[_0x40034f(0x1e6)]?.[0x0]?.[_0x40034f(0x18e)]?JSON[_0x40034f(0x1b9)](_0x4832ee[_0x40034f(0x1ac)][_0x40034f(0x1e6)][0x0][_0x40034f(0x18e)]):_0x4832ee;}return{'ok':!0x1,'error':_0x40034f(0x1a5)};}K[a0_0x361e97(0x1a2)](a0_0x575231,async _0x5c599b=>{const _0x245e30=a0_0x361e97;let {name:_0x1b6466,arguments:_0x417308}=_0x5c599b[_0x245e30(0x1a1)];if(_0x1b6466==='commhub_reply'){let {task_id:_0x47c6da,text:_0x1ed9f7,status:_0x4b0436}=_0x417308;if(_0x4b0436==='completed'||_0x4b0436===_0x245e30(0x1bb)||_0x4b0436===_0x245e30(0x1db)){let _0x15e2c2=_0x4b0436==='completed'?_0x245e30(0x184):_0x4b0436,_0x39edf5=_0x47c6da?k[_0x245e30(0x1c3)](_0x47c6da)||_0x245e30(0x1a6):_0x245e30(0x1a6),_0x4a2f48=await P(_0x245e30(0x1d6),{'alias':_0x39edf5,'text':_0x1ed9f7,'in_reply_to':_0x47c6da||void 0x0,'status':_0x15e2c2,'from_session':Z});if(_0x47c6da)k[_0x245e30(0x189)](_0x47c6da);return{'content':[{'type':_0x245e30(0x18e),'text':JSON['stringify'](_0x4a2f48)}]};}let _0x284197=await P(_0x245e30(0x1cc),{'resume_id':w,'alias':Z,'status':_0x4b0436===_0x245e30(0x185)?_0x245e30(0x185):_0x4b0436===_0x245e30(0x190)?_0x245e30(0x190):'working','task':_0x1ed9f7['slice'](0x0,0xc8),'output':_0x1ed9f7});return{'content':[{'type':_0x245e30(0x18e),'text':JSON['stringify'](_0x284197)}]};}if(_0x1b6466===_0x245e30(0x1ad)){let {status:_0x3b5dce,task:_0x3d79d1,progress:_0x116bd9}=_0x417308,_0x346afc=await P(_0x245e30(0x1cc),{'resume_id':w,'alias':Z,'status':_0x3b5dce,'task':_0x3d79d1,'progress':_0x116bd9});return{'content':[{'type':_0x245e30(0x18e),'text':JSON[_0x245e30(0x1f3)](_0x346afc)}]};}if(_0x1b6466===_0x245e30(0x178)){let {alias:_0x31a231,task:_0x1c1e8e,priority:_0x2ae804}=_0x417308,_0x27a537=await P(_0x245e30(0x1b5),{'alias':_0x31a231,'task':_0x1c1e8e,'priority':_0x2ae804||_0x245e30(0x1d4),'from_session':Z});return{'content':[{'type':_0x245e30(0x18e),'text':JSON[_0x245e30(0x1f3)](_0x27a537)}]};}if(_0x1b6466===_0x245e30(0x17c)){let {alias:_0x330310,message:_0x534a24}=_0x417308,_0x159a58=await P(_0x245e30(0x1ef),{'alias':_0x330310,'message':_0x534a24,'from_session':Z});return{'content':[{'type':'text','text':JSON['stringify'](_0x159a58)}]};}if(_0x1b6466===_0x245e30(0x175)){let _0x578fb3=await P('get_all_status',{});return{'content':[{'type':_0x245e30(0x18e),'text':JSON[_0x245e30(0x1f3)](_0x578fb3)}]};}return{'content':[{'type':_0x245e30(0x18e),'text':JSON['stringify']({'error':'unknown\x20tool'})}]};});async function u(){const _0x5e9ef9=a0_0x361e97;let _0x5e440e=f+_0x5e9ef9(0x1ea)+encodeURIComponent(Z),_0x40e9d2={};if(X)_0x40e9d2['Authorization']=_0x5e9ef9(0x1b1)+X;Y(_0x5e9ef9(0x1d3)+_0x5e440e);while(!0x0){try{let _0x355852=await fetch(_0x5e440e,{'headers':_0x40e9d2});if(!_0x355852['ok']){Y(_0x5e9ef9(0x192)+_0x355852[_0x5e9ef9(0x16d)]+'\x20'+_0x355852['statusText']),await h(0x1388);continue;}let _0x54992b=_0x355852[_0x5e9ef9(0x1dd)][_0x5e9ef9(0x174)](),_0x4c8cb=new TextDecoder(),_0x7beecb='';while(!0x0){let {done:_0x1afbcf,value:_0x20a3a5}=await _0x54992b['read']();if(_0x1afbcf)break;_0x7beecb+=_0x4c8cb[_0x5e9ef9(0x1c4)](_0x20a3a5,{'stream':!0x0});let _0x5647b0=_0x7beecb[_0x5e9ef9(0x172)]('\x0a\x0a');_0x7beecb=_0x5647b0[_0x5e9ef9(0x1a9)]()||'';for(let _0x246d50 of _0x5647b0){let _0x1d893a=_0x246d50[_0x5e9ef9(0x172)]('\x0a')[_0x5e9ef9(0x1c1)](_0x5e548c=>_0x5e548c[_0x5e9ef9(0x1c8)](_0x5e9ef9(0x1d0)));if(!_0x1d893a)continue;try{let _0x44a014=JSON[_0x5e9ef9(0x1b9)](_0x1d893a[_0x5e9ef9(0x1c0)](0x6));await S(_0x44a014);}catch(_0xb9aa58){Y(_0x5e9ef9(0x1c5)+_0xb9aa58);}}}Y('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x451919){Y(_0x5e9ef9(0x1eb)+_0x451919);}await h(0xbb8);}}async function S(_0x1a5f5e){const _0x393604=a0_0x361e97;if(_0x1a5f5e[_0x393604(0x19b)]===_0x393604(0x182)){Y(_0x393604(0x1b3)+Z+'\x22');return;}if(_0x1a5f5e[_0x393604(0x19b)]===_0x393604(0x197)){if(Y(_0x393604(0x186)+_0x1a5f5e[_0x393604(0x1e7)]+':\x20'+_0x1a5f5e[_0x393604(0x17e)][_0x393604(0x1c0)](0x0,0x3c)),await K['notification']({'method':'notifications/claude/channel','params':{'content':_0x1a5f5e[_0x393604(0x17e)],'meta':{'sender':_0x1a5f5e[_0x393604(0x1e7)]||'hub','sender_id':_0x393604(0x194),'user':_0x1a5f5e[_0x393604(0x1e7)]||'hub','priority':_0x393604(0x1d4)}}}),_0x1a5f5e['message_id'])await P(_0x393604(0x1b8),{'alias':Z,'message_id':_0x1a5f5e[_0x393604(0x16f)]});return;}if(_0x1a5f5e[_0x393604(0x19b)]===_0x393604(0x18c)||_0x1a5f5e[_0x393604(0x19b)]===_0x393604(0x1c6)){Y('←\x20'+_0x1a5f5e[_0x393604(0x19b)]+_0x393604(0x1c2)+_0x1a5f5e[_0x393604(0x1ab)]+_0x393604(0x1ce)+(_0x1a5f5e[_0x393604(0x1f1)]||_0x393604(0x1d4)));let _0x48d771=await P('get_inbox',{'alias':Z,'limit':0x5});if(_0x48d771?.['ok']&&_0x48d771[_0x393604(0x1ee)]?.[_0x393604(0x1b6)]>0x0)for(let _0x51859b of _0x48d771[_0x393604(0x1ee)]){let _0x175a6d={'sender':_0x51859b[_0x393604(0x1da)]||_0x393604(0x1a6),'sender_id':_0x393604(0x194),'user':_0x51859b[_0x393604(0x1da)]||'hub','task_id':_0x51859b['id'],'priority':_0x51859b[_0x393604(0x1f1)]||_0x393604(0x1d4)};k[_0x393604(0x1cb)](_0x51859b['id'],_0x51859b['from_session']||_0x393604(0x1a6)),await K[_0x393604(0x1dc)]({'method':_0x393604(0x1a0),'params':{'content':_0x51859b['content'],'meta':_0x175a6d}}),Y(_0x393604(0x1d2)+_0x51859b['id']['slice'](0x0,0x8)+'\x20from\x20'+_0x51859b[_0x393604(0x1da)]+':\x20'+_0x51859b['content'][_0x393604(0x1c0)](0x0,0x3c)),await P(_0x393604(0x1b8),{'alias':Z,'message_id':_0x51859b['id']});}}}async function A(){const _0xfc8f7=a0_0x361e97;let _0x70a60f=new a0_0xd7f421();await K['connect'](_0x70a60f),Y(_0xfc8f7(0x16e)),Y(_0xfc8f7(0x179)),u()[_0xfc8f7(0x1de)](_0x385686=>Y('SSE\x20fatal:\x20'+_0x385686)),P(_0xfc8f7(0x1cc),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x4d8c7a(),'hostname':a0_0x4d8c7a(),'agent':_0xfc8f7(0x1a3),'project_dir':process[_0xfc8f7(0x17f)](),'tmux_name':j||void 0x0})[_0xfc8f7(0x1a4)](()=>Y(_0xfc8f7(0x171)+Z+_0xfc8f7(0x18f)+w[_0xfc8f7(0x1c0)](0x0,0x8)+')'))[_0xfc8f7(0x1de)](_0x4588db=>Y('warning:\x20could\x20not\x20register:\x20'+_0x4588db)),setInterval(()=>{const _0x173b60=_0xfc8f7;P(_0x173b60(0x1cc),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x4d8c7a(),'hostname':a0_0x4d8c7a(),'agent':_0x173b60(0x1a3),'project_dir':process['cwd'](),'tmux_name':j||void 0x0})['catch'](_0x3c4ded=>Y(_0x173b60(0x1a7)+_0x3c4ded));},0x2bf20),Y('ready\x20—\x20waiting\x20for\x20events');}function a0_0x4d1f(){const _0x2af353=['\x20CWD=','SSE\x20connected\x20as\x20\x22','Target\x20session\x20alias','send_task','length','875286GWsFyY','ack_inbox','parse','.env','failed','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','Current\x20task\x20description','0.3.0','high','slice','find',':\x20inbox_count=','get','decode','parse\x20error:\x20','broadcast','Task\x20content','startsWith','application/json','CommHub\x20init\x20failed:\x20','set','report_status','config.json','\x20priority=','2025-03-26','data:\x20','Session\x20alias:\x20','→\x20injected\x20task\x20','connecting\x20to\x20','normal','object','send_reply','1959440JiNksV','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','toTimeString','from_session','cancelled','notification','body','catch','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','\x20ALIAS=','ENV:\x20URL=','.anet','.claude/channels/commhub','6123505YsNvwf','tmux\x20display-message\x20-p\x20\x27#S\x27','content','from','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','2.0','/events/','SSE\x20connection\x20error:\x20','...\x20TMUX=','/mcp','messages','send_message','indexOf','priority','2qVgxLp','stringify','utf-8','working','join','Progress\x200-100','status','MCP\x20stdio\x20connected','message_id','trim','registered\x20as\x20\x22','split','alias','getReader','commhub_get_all_status','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','http://127.0.0.1:9200','commhub_send_task','starting\x20SSE\x20listener...','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','12632976aWDrvj','commhub_send_message','POST','message','cwd','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','6315295AGYQiP','connected','session\x20disconnected','replied','blocked','←\x20message\x20from\x20','Reply\x20text\x20/\x20result\x20summary','4mUFVcI','delete','token','number','new_task','stderr','text','\x22\x20(','error','commhub-channel','SSE\x20error:\x20',']\x20[commhub]\x20','commhub','none','476269dBvWpk','new_message','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','2281416mjslQl','type','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','low','task','Priority\x20(default:\x20normal)','notifications/claude/channel','params','setRequestHandler','claude-code','then','no\x20response','hub','heartbeat\x20failed:\x20','application/json,\x20text/event-stream','pop','exit','inbox_count','result','commhub_report_status','string','shutting\x20down,\x20reporting\x20offline...','replace','Bearer\x20'];a0_0x4d1f=function(){return _0x2af353;};return a0_0x4d1f();}A()[a0_0x361e97(0x1de)](_0x48fa3e=>{const _0x4787ce=a0_0x361e97;Y('fatal:\x20'+_0x48fa3e),process[_0x4787ce(0x1aa)](0x1);});async function N(){const _0x65bfff=a0_0x361e97;Y(_0x65bfff(0x1af)),await P(_0x65bfff(0x1cc),{'resume_id':w,'alias':Z,'status':_0x65bfff(0x190),'task':_0x65bfff(0x183)})['catch'](()=>{}),process[_0x65bfff(0x1aa)](0x0);}process['stdin']['on']('end',()=>N()),process['on']('SIGTERM',()=>N()),process['on']('SIGINT',()=>N());
2
+ const a0_0xf2a61b=a0_0x36e7;function a0_0x36e7(_0x34fc72,_0x53db17){_0x34fc72=_0x34fc72-0x7f;const _0x3a4424=a0_0x3a44();let _0x36e73c=_0x3a4424[_0x34fc72];return _0x36e73c;}(function(_0x380eba,_0x2d122c){const _0x5d8880=a0_0x36e7,_0x403844=_0x380eba();while(!![]){try{const _0x2b6a06=parseInt(_0x5d8880(0x103))/0x1*(parseInt(_0x5d8880(0xd0))/0x2)+-parseInt(_0x5d8880(0xe3))/0x3+parseInt(_0x5d8880(0xa2))/0x4+-parseInt(_0x5d8880(0xd3))/0x5*(parseInt(_0x5d8880(0xac))/0x6)+parseInt(_0x5d8880(0xf2))/0x7+-parseInt(_0x5d8880(0x7f))/0x8*(parseInt(_0x5d8880(0xd6))/0x9)+-parseInt(_0x5d8880(0x82))/0xa*(parseInt(_0x5d8880(0x84))/0xb);if(_0x2b6a06===_0x2d122c)break;else _0x403844['push'](_0x403844['shift']());}catch(_0x4e0301){_0x403844['push'](_0x403844['shift']());}}}(a0_0x3a44,0x52524));import{readFileSync as a0_0x48fa13,existsSync as a0_0x13c8c8}from'fs';import{randomUUID as a0_0x2a7949}from'crypto';import{join as a0_0x579e08}from'path';import{hostname as a0_0x30754c}from'os';import{execSync as a0_0x26c6bb}from'child_process';import{Server as a0_0x9145a2}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x482dd5}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x308e28,CallToolRequestSchema as a0_0x17ca93}from'@modelcontextprotocol/sdk/types.js';function a0_0x3a44(){const _0x30e6ca=['\x20from\x20','420570dvwwtL','report_status','22qbjNXC','Message\x20content','send_task','SIGINT','text','starting\x20SSE\x20listener...','token','config.json','statusText','connect','length','join','←\x20message\x20from\x20','failed','.env','priority','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','blocked','replace','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','replied','Task\x20content','then','.anet','content','parse','decode','notifications/claude/channel','slice','message_id','1649068WlrkDn','cwd','from_session','Reply\x20text\x20/\x20result\x20summary','inbox_count','commhub','send_message','result','claude-code','registered\x20as\x20\x22','162Volzgv','\x20ALIAS=','type','setRequestHandler','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','write','Authorization','task','idle','SIGTERM','none','get_all_status','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','0.3.0','broadcast','Priority\x20(default:\x20normal)','object','http://127.0.0.1:9200','CommHub\x20init\x20failed:\x20','find','split','new_message','end','working','from','SSE\x20connection\x20error:\x20','\x20RESUME_ID=','startsWith','Current\x20task\x20description','MCP\x20stdio\x20connected','get_inbox','SSE\x20error:\x20','parse\x20error:\x20','send_reply','/events/','trim','361818ZeoIqk','cancelled','application/json,\x20text/event-stream','98715bwAXYY','connecting\x20to\x20','get','27iSsYmJ','hub','read','string','status','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','stdin','alias','fatal:\x20','messages','/mcp','init\x20failed:\x20','commhub-channel','437925RgnPZw','ENV:\x20URL=',':\x20inbox_count=','utf-8','SSE\x20connected\x20as\x20\x22','warning:\x20could\x20not\x20register:\x20','SSE\x20stream\x20ended,\x20reconnecting...','no\x20response','application/json','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','stringify','ready\x20—\x20waiting\x20for\x20events','2.0','Target\x20session\x20alias','delete','4103232UEVqMZ','completed','SSE\x20fatal:\x20',']\x20[commhub]\x20','new_task','normal','→\x20injected\x20task\x20','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','commhub_send_message','stderr','ack_inbox','message','pop','toTimeString','2025-03-26','data:\x20','catch','1mAcheq','exit','POST','set','in_progress','error','commhub_send_task','.claude/channels/commhub','commhub_report_status','210704mwRIOB','Bearer\x20'];a0_0x3a44=function(){return _0x30e6ca;};return a0_0x3a44();}function p(_0x4e98df){const _0x26e42c=a0_0x36e7;if(!a0_0x13c8c8(_0x4e98df))return;for(let _0x4a3183 of a0_0x48fa13(_0x4e98df,_0x26e42c(0xe6))[_0x26e42c(0xc0)]('\x0a')){let _0x589d3c=_0x4a3183[_0x26e42c(0xcf)]();if(!_0x589d3c||_0x589d3c[_0x26e42c(0xc7)]('#'))continue;let _0x4930bf=_0x589d3c['indexOf']('=');if(_0x4930bf<0x0)continue;let _0x2b2e33=_0x589d3c['slice'](0x0,_0x4930bf)[_0x26e42c(0xcf)](),_0x144d71=_0x589d3c[_0x26e42c(0xa0)](_0x4930bf+0x1)[_0x26e42c(0xcf)]()[_0x26e42c(0x96)](/^["']|["']$/g,'');if(!process.env[_0x2b2e33])process.env[_0x2b2e33]=_0x144d71;}}var C=process.env.HOME||'~',T=a0_0x579e08(C,a0_0xf2a61b(0x10a));p(a0_0x579e08(T,'.env'));var L=process[a0_0xf2a61b(0xa3)]()[a0_0xf2a61b(0x96)](/\//g,'-');p(a0_0x579e08(T,L,a0_0xf2a61b(0x92)));function U(){const _0xda018=a0_0xf2a61b;try{return a0_0x26c6bb('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':'utf-8','timeout':0x7d0})[_0xda018(0xcf)]();}catch{return'';}}function v(){const _0x287018=a0_0xf2a61b;try{let _0x2165a5=a0_0x579e08(C,_0x287018(0x9b),_0x287018(0x8b));if(a0_0x13c8c8(_0x2165a5))return JSON['parse'](a0_0x48fa13(_0x2165a5,_0x287018(0xe6)));}catch{}return{};}var H=v(),f=process.env.COMMHUB_URL||H[a0_0xf2a61b(0xd7)]||a0_0xf2a61b(0xbd),j=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||j||a0_0x30754c(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x2a7949(),X=process.env.COMMHUB_TOKEN||H[a0_0xf2a61b(0x8a)]||'';function Y(_0x37424d){const _0x33ad11=a0_0xf2a61b;let _0x42edd8=new Date()[_0x33ad11(0xff)]()['slice'](0x0,0x8);process[_0x33ad11(0xfb)][_0x33ad11(0xb1)]('['+_0x42edd8+_0x33ad11(0xf5)+_0x37424d+'\x0a');}function h(_0x3dc051){return new Promise(_0x1cf775=>setTimeout(_0x1cf775,_0x3dc051));}Y(a0_0xf2a61b(0xe4)+f+a0_0xf2a61b(0xad)+Z+a0_0xf2a61b(0xc6)+w[a0_0xf2a61b(0xa0)](0x0,0x8)+'...\x20TMUX='+(j||a0_0xf2a61b(0xb6))+'\x20CWD='+process[a0_0xf2a61b(0xa3)]()+'\x20PROJECT_ENV='+L);var k=new Map(),K=new a0_0x9145a2({'name':a0_0xf2a61b(0xe2),'version':a0_0xf2a61b(0xb9)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0xf2a61b(0x94),a0_0xf2a61b(0xf9),a0_0xf2a61b(0xdb),a0_0xf2a61b(0x97),'Session\x20alias:\x20'+Z][a0_0xf2a61b(0x8f)]('\x0a')});K[a0_0xf2a61b(0xaf)](a0_0x308e28,async()=>({'tools':[{'name':'commhub_reply','description':'Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0xf2a61b(0xd9),'description':a0_0xf2a61b(0xb8)},'text':{'type':'string','description':a0_0xf2a61b(0xa5)},'status':{'type':'string','enum':[a0_0xf2a61b(0xf3),a0_0xf2a61b(0x91),'cancelled',a0_0xf2a61b(0x95),a0_0xf2a61b(0x108),a0_0xf2a61b(0x107)],'description':a0_0xf2a61b(0xec)}},'required':[a0_0xf2a61b(0x88)]}},{'name':a0_0xf2a61b(0x10b),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0xf2a61b(0xbc),'properties':{'status':{'type':a0_0xf2a61b(0xd9),'enum':['working',a0_0xf2a61b(0xb4),a0_0xf2a61b(0x95),a0_0xf2a61b(0x108)]},'task':{'type':a0_0xf2a61b(0xd9),'description':a0_0xf2a61b(0xc8)},'progress':{'type':'number','description':'Progress\x200-100'}},'required':[a0_0xf2a61b(0xda)]}},{'name':a0_0xf2a61b(0x109),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0xf2a61b(0xbc),'properties':{'alias':{'type':'string','description':a0_0xf2a61b(0xf0)},'task':{'type':a0_0xf2a61b(0xd9),'description':a0_0xf2a61b(0x99)},'priority':{'type':a0_0xf2a61b(0xd9),'enum':['high',a0_0xf2a61b(0xf7),'low'],'description':a0_0xf2a61b(0xbb)}},'required':['alias',a0_0xf2a61b(0xb3)]}},{'name':'commhub_send_message','description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0xf2a61b(0xbc),'properties':{'alias':{'type':a0_0xf2a61b(0xd9),'description':a0_0xf2a61b(0xf0)},'message':{'type':'string','description':a0_0xf2a61b(0x85)}},'required':[a0_0xf2a61b(0xdd),'message']}},{'name':'commhub_get_all_status','description':a0_0xf2a61b(0xb0),'inputSchema':{'type':a0_0xf2a61b(0xbc),'properties':{}}}]}));async function P(_0x3de78f,_0x7b672d){const _0x268b5c=a0_0xf2a61b;let _0x5af255=await fetch(f+_0x268b5c(0xe0),{'method':'POST','headers':{'Content-Type':'application/json','Accept':_0x268b5c(0xd2),...X?{'Authorization':'Bearer\x20'+X}:{}},'body':JSON[_0x268b5c(0xed)]({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x268b5c(0x100),'capabilities':{},'clientInfo':{'name':_0x268b5c(0xe2),'version':_0x268b5c(0xb9)}}})});if(!_0x5af255['ok']){let _0x122a16=await _0x5af255[_0x268b5c(0x88)]();return Y(_0x268b5c(0xbe)+_0x5af255[_0x268b5c(0xda)]+'\x20'+_0x122a16[_0x268b5c(0xa0)](0x0,0x64)),{'ok':!0x1,'error':_0x268b5c(0xe1)+_0x5af255['status']};}await _0x5af255[_0x268b5c(0x88)]();let _0x4e6f77=(await(await fetch(f+'/mcp',{'method':_0x268b5c(0x105),'headers':{'Content-Type':_0x268b5c(0xeb),'Accept':_0x268b5c(0xd2),...X?{'Authorization':_0x268b5c(0x80)+X}:{}},'body':JSON[_0x268b5c(0xed)]({'jsonrpc':_0x268b5c(0xef),'id':0x2,'method':'tools/call','params':{'name':_0x3de78f,'arguments':_0x7b672d}})}))['text']())[_0x268b5c(0xc0)]('\x0a')[_0x268b5c(0xbf)](_0x3c5834=>_0x3c5834[_0x268b5c(0xc7)](_0x268b5c(0x101)));if(_0x4e6f77){let _0x5d479c=JSON[_0x268b5c(0x9d)](_0x4e6f77[_0x268b5c(0xa0)](0x6));return _0x5d479c?.['result']?.[_0x268b5c(0x9c)]?.[0x0]?.[_0x268b5c(0x88)]?JSON[_0x268b5c(0x9d)](_0x5d479c[_0x268b5c(0xa9)][_0x268b5c(0x9c)][0x0][_0x268b5c(0x88)]):_0x5d479c;}return{'ok':!0x1,'error':_0x268b5c(0xea)};}K[a0_0xf2a61b(0xaf)](a0_0x17ca93,async _0x29f88c=>{const _0x2d5b2e=a0_0xf2a61b;let {name:_0x15d30a,arguments:_0x29bdb2}=_0x29f88c['params'];if(_0x15d30a==='commhub_reply'){let {task_id:_0xe7649d,text:_0x5ddd20,status:_0x957ca5}=_0x29bdb2;if(_0x957ca5===_0x2d5b2e(0xf3)||_0x957ca5==='failed'||_0x957ca5===_0x2d5b2e(0xd1)){let _0x17dece=_0x957ca5===_0x2d5b2e(0xf3)?_0x2d5b2e(0x98):_0x957ca5,_0x44aad5=_0xe7649d?k[_0x2d5b2e(0xd5)](_0xe7649d)||'hub':'hub',_0x4e4960=await P(_0x2d5b2e(0xcd),{'alias':_0x44aad5,'text':_0x5ddd20,'in_reply_to':_0xe7649d||void 0x0,'status':_0x17dece,'from_session':Z});if(_0xe7649d)k[_0x2d5b2e(0xf1)](_0xe7649d);return{'content':[{'type':_0x2d5b2e(0x88),'text':JSON[_0x2d5b2e(0xed)](_0x4e4960)}]};}let _0x9c47ed=await P(_0x2d5b2e(0x83),{'resume_id':w,'alias':Z,'status':_0x957ca5==='blocked'?_0x2d5b2e(0x95):_0x957ca5==='error'?'error':_0x2d5b2e(0xc3),'task':_0x5ddd20['slice'](0x0,0xc8),'output':_0x5ddd20});return{'content':[{'type':_0x2d5b2e(0x88),'text':JSON[_0x2d5b2e(0xed)](_0x9c47ed)}]};}if(_0x15d30a===_0x2d5b2e(0x10b)){let {status:_0x4042c6,task:_0x45f74f,progress:_0x327717}=_0x29bdb2,_0x53a892=await P(_0x2d5b2e(0x83),{'resume_id':w,'alias':Z,'status':_0x4042c6,'task':_0x45f74f,'progress':_0x327717});return{'content':[{'type':_0x2d5b2e(0x88),'text':JSON[_0x2d5b2e(0xed)](_0x53a892)}]};}if(_0x15d30a===_0x2d5b2e(0x109)){let {alias:_0x22a370,task:_0x85adbe,priority:_0x34668e}=_0x29bdb2,_0x552eaa=await P(_0x2d5b2e(0x86),{'alias':_0x22a370,'task':_0x85adbe,'priority':_0x34668e||'normal','from_session':Z});return{'content':[{'type':'text','text':JSON[_0x2d5b2e(0xed)](_0x552eaa)}]};}if(_0x15d30a===_0x2d5b2e(0xfa)){let {alias:_0x2dc885,message:_0x2aff0b}=_0x29bdb2,_0x2e6b41=await P(_0x2d5b2e(0xa8),{'alias':_0x2dc885,'message':_0x2aff0b,'from_session':Z});return{'content':[{'type':_0x2d5b2e(0x88),'text':JSON['stringify'](_0x2e6b41)}]};}if(_0x15d30a==='commhub_get_all_status'){let _0x1aa766=await P(_0x2d5b2e(0xb7),{});return{'content':[{'type':'text','text':JSON[_0x2d5b2e(0xed)](_0x1aa766)}]};}return{'content':[{'type':_0x2d5b2e(0x88),'text':JSON['stringify']({'error':'unknown\x20tool'})}]};});async function u(){const _0x5937e9=a0_0xf2a61b;let _0x18605c=f+_0x5937e9(0xce)+encodeURIComponent(Z),_0x92584e={};if(X)_0x92584e[_0x5937e9(0xb2)]='Bearer\x20'+X;Y(_0x5937e9(0xd4)+_0x18605c);while(!0x0){try{let _0x1c0bc6=await fetch(_0x18605c,{'headers':_0x92584e});if(!_0x1c0bc6['ok']){Y(_0x5937e9(0xcb)+_0x1c0bc6[_0x5937e9(0xda)]+'\x20'+_0x1c0bc6[_0x5937e9(0x8c)]),await h(0x1388);continue;}let _0xa4fa06=_0x1c0bc6['body']['getReader'](),_0x4c7f40=new TextDecoder(),_0x4d1479='';while(!0x0){let {done:_0xdb70,value:_0x9d6ffd}=await _0xa4fa06[_0x5937e9(0xd8)]();if(_0xdb70)break;_0x4d1479+=_0x4c7f40[_0x5937e9(0x9e)](_0x9d6ffd,{'stream':!0x0});let _0x38a975=_0x4d1479[_0x5937e9(0xc0)]('\x0a\x0a');_0x4d1479=_0x38a975[_0x5937e9(0xfe)]()||'';for(let _0x3f2214 of _0x38a975){let _0x498c73=_0x3f2214[_0x5937e9(0xc0)]('\x0a')[_0x5937e9(0xbf)](_0x3f6e67=>_0x3f6e67['startsWith'](_0x5937e9(0x101)));if(!_0x498c73)continue;try{let _0xebf9c=JSON[_0x5937e9(0x9d)](_0x498c73[_0x5937e9(0xa0)](0x6));await S(_0xebf9c);}catch(_0x32f649){Y(_0x5937e9(0xcc)+_0x32f649);}}}Y(_0x5937e9(0xe9));}catch(_0x3e2060){Y(_0x5937e9(0xc5)+_0x3e2060);}await h(0xbb8);}}async function S(_0x13e988){const _0x468550=a0_0xf2a61b;if(_0x13e988[_0x468550(0xae)]==='connected'){Y(_0x468550(0xe7)+Z+'\x22');return;}if(_0x13e988[_0x468550(0xae)]===_0x468550(0xc1)){if(Y(_0x468550(0x90)+_0x13e988[_0x468550(0xc4)]+':\x20'+_0x13e988[_0x468550(0xfd)][_0x468550(0xa0)](0x0,0x3c)),await K['notification']({'method':_0x468550(0x9f),'params':{'content':_0x13e988[_0x468550(0xfd)],'meta':{'sender':_0x13e988[_0x468550(0xc4)]||_0x468550(0xd7),'sender_id':_0x468550(0xa7),'user':_0x13e988['from']||_0x468550(0xd7),'priority':'normal'}}}),_0x13e988[_0x468550(0xa1)])await P(_0x468550(0xfc),{'alias':Z,'message_id':_0x13e988[_0x468550(0xa1)]});return;}if(_0x13e988[_0x468550(0xae)]===_0x468550(0xf6)||_0x13e988['type']===_0x468550(0xba)){Y('←\x20'+_0x13e988[_0x468550(0xae)]+_0x468550(0xe5)+_0x13e988[_0x468550(0xa6)]+'\x20priority='+(_0x13e988[_0x468550(0x93)]||_0x468550(0xf7)));let _0x8b79ab=await P(_0x468550(0xca),{'alias':Z,'limit':0x5});if(_0x8b79ab?.['ok']&&_0x8b79ab[_0x468550(0xdf)]?.[_0x468550(0x8e)]>0x0)for(let _0x456e22 of _0x8b79ab['messages']){let _0x43259a={'sender':_0x456e22[_0x468550(0xa4)]||'hub','sender_id':'commhub','user':_0x456e22[_0x468550(0xa4)]||'hub','task_id':_0x456e22['id'],'priority':_0x456e22[_0x468550(0x93)]||'normal'};k[_0x468550(0x106)](_0x456e22['id'],_0x456e22[_0x468550(0xa4)]||_0x468550(0xd7)),await K['notification']({'method':_0x468550(0x9f),'params':{'content':_0x456e22[_0x468550(0x9c)],'meta':_0x43259a}}),Y(_0x468550(0xf8)+_0x456e22['id']['slice'](0x0,0x8)+_0x468550(0x81)+_0x456e22[_0x468550(0xa4)]+':\x20'+_0x456e22[_0x468550(0x9c)][_0x468550(0xa0)](0x0,0x3c)),await P(_0x468550(0xfc),{'alias':Z,'message_id':_0x456e22['id']});}}}async function A(){const _0x116be9=a0_0xf2a61b;let _0x15d933=new a0_0x482dd5();await K[_0x116be9(0x8d)](_0x15d933),Y(_0x116be9(0xc9)),Y(_0x116be9(0x89)),u()[_0x116be9(0x102)](_0x3e7607=>Y(_0x116be9(0xf4)+_0x3e7607)),P(_0x116be9(0x83),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x30754c(),'hostname':a0_0x30754c(),'agent':'claude-code','project_dir':process[_0x116be9(0xa3)](),'tmux_name':j||void 0x0})[_0x116be9(0x9a)](()=>Y(_0x116be9(0xab)+Z+'\x22\x20('+w['slice'](0x0,0x8)+')'))[_0x116be9(0x102)](_0x467d42=>Y(_0x116be9(0xe8)+_0x467d42)),setInterval(()=>{const _0x3d7e4d=_0x116be9;P(_0x3d7e4d(0x83),{'resume_id':w,'alias':Z,'status':_0x3d7e4d(0xb4),'server':a0_0x30754c(),'hostname':a0_0x30754c(),'agent':_0x3d7e4d(0xaa),'project_dir':process[_0x3d7e4d(0xa3)](),'tmux_name':j||void 0x0})[_0x3d7e4d(0x102)](_0x32ff05=>Y('heartbeat\x20failed:\x20'+_0x32ff05));},0x2bf20),Y(_0x116be9(0xee));}A()[a0_0xf2a61b(0x102)](_0x33dbc9=>{const _0x3deed6=a0_0xf2a61b;Y(_0x3deed6(0xde)+_0x33dbc9),process[_0x3deed6(0x104)](0x1);});async function N(){const _0x1d9fa0=a0_0xf2a61b;Y('shutting\x20down,\x20reporting\x20offline...'),await P('report_status',{'resume_id':w,'alias':Z,'status':'error','task':'session\x20disconnected'})[_0x1d9fa0(0x102)](()=>{}),process[_0x1d9fa0(0x104)](0x0);}process[a0_0xf2a61b(0xdc)]['on'](a0_0xf2a61b(0xc2),()=>N()),process['on'](a0_0xf2a61b(0xb5),()=>N()),process['on'](a0_0xf2a61b(0x87),()=>N());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network",
3
- "version": "2.1.4-preview.9",
3
+ "version": "2.1.4",
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",