@sleep2agi/agent-network 2.1.4-preview.8 → 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_0x4244(_0x4d6c23,_0x1489b1){_0x4d6c23=_0x4d6c23-0x127;const _0x4eec0c=a0_0x4eec();let _0x4244ce=_0x4eec0c[_0x4d6c23];return _0x4244ce;}const a0_0x477a68=a0_0x4244;function a0_0x4eec(){const _0xd190c7=['15145890AnUAao','SSE\x20failed:\x20','token','idle','disconnected','completed','connectSSE','5fDOlvC','application/json,\x20text/event-stream','message','reply','sdk-','reconnectDelay','content','text/event-stream','registered','processInbox','get_inbox','split','from_session','getReader','570012oTLDHR','AbortError','status','2.0','task','sdk','heartbeat\x20failed:\x20','send','3686262ZTeASw','call','inbox\x20error:\x20','broadcast','connect','url','heartbeatInterval','2oGQddT','body','SSE\x20reconnecting\x20in\x20','connected','sleep','sseAbort','messages','catch','toString','abort','Bearer\x20','parse','text','188880eHSaOk','s...','running','alias','84EyUoKY','type','resumeId','server','report_status','POST','heartbeatTimer','5839362ztSyEC','pop','toTimeString','cwd','send_task','name','startsWith','now','562575HHlQfz','new_task','match','stringify','get_all_status','agent','SSE\x20connected','tools/call','emit','min','log','send_reply','Authorization','replace','offline','94579PoGjUq','slice','normal','application/json','data:\x20'];a0_0x4eec=function(){return _0xd190c7;};return a0_0x4eec();}(function(_0x251292,_0x4e569c){const _0x1dce4d=a0_0x4244,_0x1344f5=_0x251292();while(!![]){try{const _0x5350aa=-parseInt(_0x1dce4d(0x12d))/0x1+parseInt(_0x1dce4d(0x156))/0x2*(-parseInt(_0x1dce4d(0x176))/0x3)+-parseInt(_0x1dce4d(0x147))/0x4*(-parseInt(_0x1dce4d(0x139))/0x5)+-parseInt(_0x1dce4d(0x14f))/0x6+-parseInt(_0x1dce4d(0x167))/0x7*(-parseInt(_0x1dce4d(0x163))/0x8)+-parseInt(_0x1dce4d(0x16e))/0x9+parseInt(_0x1dce4d(0x132))/0xa;if(_0x5350aa===_0x4e569c)break;else _0x1344f5['push'](_0x1344f5['shift']());}catch(_0x5b09b8){_0x1344f5['push'](_0x1344f5['shift']());}}}(a0_0x4eec,0x60769));import{EventEmitter as a0_0x428b70}from'events';import{hostname as a0_0x5cc1b0}from'os';class T extends a0_0x428b70{[a0_0x477a68(0x154)];[a0_0x477a68(0x166)];[a0_0x477a68(0x134)];['agent'];['resumeId'];[a0_0x477a68(0x155)];[a0_0x477a68(0x13e)];['heartbeatTimer'];[a0_0x477a68(0x15b)];[a0_0x477a68(0x165)]=!0x1;constructor(_0x1433fd){const _0x4b0057=a0_0x477a68;super();if(this[_0x4b0057(0x154)]=_0x1433fd[_0x4b0057(0x154)][_0x4b0057(0x12b)](/\/$/,''),this[_0x4b0057(0x166)]=_0x1433fd['alias'],this[_0x4b0057(0x134)]=_0x1433fd['token'],this[_0x4b0057(0x17b)]=_0x1433fd[_0x4b0057(0x17b)]||_0x4b0057(0x14c),this[_0x4b0057(0x169)]=_0x4b0057(0x13d)+_0x1433fd[_0x4b0057(0x166)]+'-'+Date[_0x4b0057(0x175)]()[_0x4b0057(0x15e)](0x24),this[_0x4b0057(0x155)]=_0x1433fd[_0x4b0057(0x155)]??0x2bf20,this[_0x4b0057(0x13e)]=_0x1433fd[_0x4b0057(0x13e)]??0xbb8,_0x1433fd['autoConnect']!==!0x1)this['connect']();}[a0_0x477a68(0x128)](_0x1b7623){const _0x38502b=a0_0x477a68;console['log']('['+new Date()[_0x38502b(0x170)]()[_0x38502b(0x12e)](0x0,0x8)+']\x20[commhub:'+this[_0x38502b(0x166)]+']\x20'+_0x1b7623);}async[a0_0x477a68(0x150)](_0x12a7d8,_0x1ce9fd){const _0x5d98ba=a0_0x477a68;let _0x3f366d={'Content-Type':_0x5d98ba(0x130),'Accept':_0x5d98ba(0x13a)};if(this['token'])_0x3f366d['Authorization']=_0x5d98ba(0x160)+this[_0x5d98ba(0x134)];let _0x480e49=await(await fetch(this[_0x5d98ba(0x154)]+'/mcp',{'method':_0x5d98ba(0x16c),'headers':_0x3f366d,'body':JSON[_0x5d98ba(0x179)]({'jsonrpc':_0x5d98ba(0x14a),'id':Date[_0x5d98ba(0x175)](),'method':_0x5d98ba(0x17d),'params':{'name':_0x12a7d8,'arguments':_0x1ce9fd}})}))[_0x5d98ba(0x162)](),_0x273dcf=_0x480e49[_0x5d98ba(0x178)](/data: (.+)/),_0x37564a=_0x273dcf?JSON[_0x5d98ba(0x161)](_0x273dcf[0x1]):JSON[_0x5d98ba(0x161)](_0x480e49),_0x4d8666=_0x37564a?.['result']?.[_0x5d98ba(0x13f)]?.[0x0]?.[_0x5d98ba(0x162)];return _0x4d8666?JSON[_0x5d98ba(0x161)](_0x4d8666):_0x37564a;}async[a0_0x477a68(0x153)](){const _0x449e7b=a0_0x477a68;if(this[_0x449e7b(0x165)])return;this['running']=!0x0,await this['status'](_0x449e7b(0x135)),this['log'](_0x449e7b(0x141)),this['heartbeatTimer']=setInterval(()=>{const _0x463da7=_0x449e7b;this[_0x463da7(0x149)]('idle')[_0x463da7(0x15d)](_0x27ed55=>this['log'](_0x463da7(0x14d)+_0x27ed55[_0x463da7(0x13b)]));},this[_0x449e7b(0x155)]),this[_0x449e7b(0x138)]();}async['disconnect'](){const _0x913bf7=a0_0x477a68;if(this[_0x913bf7(0x165)]=!0x1,this['sseAbort']?.[_0x913bf7(0x15f)](),this['heartbeatTimer'])clearInterval(this[_0x913bf7(0x16d)]);await this[_0x913bf7(0x149)](_0x913bf7(0x12c))['catch'](()=>{}),this[_0x913bf7(0x128)]('disconnected');}async[a0_0x477a68(0x14e)](_0x104239,_0x4ae295,_0x224e4a=a0_0x477a68(0x12f)){const _0x1d3ebd=a0_0x477a68;return this[_0x1d3ebd(0x150)](_0x1d3ebd(0x172),{'alias':_0x104239,'task':_0x4ae295,'priority':_0x224e4a,'from_session':this['alias']});}async[a0_0x477a68(0x13b)](_0x4fcc51,_0x4a6034){const _0x20030d=a0_0x477a68;return this[_0x20030d(0x150)]('send_message',{'alias':_0x4fcc51,'message':_0x4a6034,'from_session':this[_0x20030d(0x166)]});}async[a0_0x477a68(0x13c)](_0xa1d870,_0x484fd7,_0x2a60a6=a0_0x477a68(0x137)){const _0x65bb0b=a0_0x477a68;return this[_0x65bb0b(0x150)](_0x65bb0b(0x129),{'in_reply_to':_0xa1d870,'text':_0x484fd7,'status':_0x2a60a6});}async[a0_0x477a68(0x149)](_0xb6857b,_0x5df82e){const _0x4fe360=a0_0x477a68;return this['call'](_0x4fe360(0x16b),{'resume_id':this[_0x4fe360(0x169)],'alias':this[_0x4fe360(0x166)],'status':_0xb6857b,'server':a0_0x5cc1b0(),'hostname':a0_0x5cc1b0(),'agent':this[_0x4fe360(0x17b)],'project_dir':process[_0x4fe360(0x171)](),..._0x5df82e});}async['getAllStatus'](){const _0x37f803=a0_0x477a68;return this[_0x37f803(0x150)](_0x37f803(0x17a),{});}async['broadcast'](_0xa3d41a,_0x4216f0){const _0x2899b4=a0_0x477a68;return this[_0x2899b4(0x150)](_0x2899b4(0x152),{'message':_0xa3d41a,'filter_server':_0x4216f0?.[_0x2899b4(0x16a)],'filter_status':_0x4216f0?.[_0x2899b4(0x149)]});}async[a0_0x477a68(0x138)](){const _0x367666=a0_0x477a68;let _0x50e45e=encodeURIComponent(this[_0x367666(0x166)]),_0x5d39ae=this[_0x367666(0x154)]+'/events/'+_0x50e45e,_0x1bfbcf=this['reconnectDelay'];while(this['running']){try{this[_0x367666(0x15b)]=new AbortController();let _0x22272f={'Accept':_0x367666(0x140)};if(this['token'])_0x22272f[_0x367666(0x12a)]=_0x367666(0x160)+this['token'];let _0x377758=await fetch(_0x5d39ae,{'headers':_0x22272f,'signal':this['sseAbort']['signal']});if(!_0x377758['ok']||!_0x377758[_0x367666(0x157)]){this['log'](_0x367666(0x133)+_0x377758[_0x367666(0x149)]),await this[_0x367666(0x15a)](_0x1bfbcf),_0x1bfbcf=Math[_0x367666(0x127)](_0x1bfbcf*1.5,0xea60);continue;}_0x1bfbcf=this[_0x367666(0x13e)];let _0x5f0fe5=_0x377758[_0x367666(0x157)][_0x367666(0x146)](),_0x490aa3=new TextDecoder(),_0x1db1a1='';while(this[_0x367666(0x165)]){let {done:_0x67b50a,value:_0x2627dc}=await _0x5f0fe5['read']();if(_0x67b50a)break;_0x1db1a1+=_0x490aa3['decode'](_0x2627dc,{'stream':!0x0});let _0x37518a=_0x1db1a1[_0x367666(0x144)]('\x0a');_0x1db1a1=_0x37518a[_0x367666(0x16f)]()||'';for(let _0x49b7c7 of _0x37518a){if(!_0x49b7c7[_0x367666(0x174)](_0x367666(0x131)))continue;try{let _0x207894=JSON['parse'](_0x49b7c7[_0x367666(0x12e)](0x6));if(_0x207894[_0x367666(0x168)]===_0x367666(0x159)){this['log'](_0x367666(0x17c)),this['emit'](_0x367666(0x159));continue;}if(_0x207894[_0x367666(0x168)]===_0x367666(0x177)||_0x207894[_0x367666(0x168)]==='new_message'||_0x207894[_0x367666(0x168)]===_0x367666(0x152))await this[_0x367666(0x142)]();}catch{}}}}catch(_0x3ca379){if(_0x3ca379[_0x367666(0x173)]===_0x367666(0x148))break;this[_0x367666(0x17e)]('error',_0x3ca379),this['log']('SSE\x20error:\x20'+_0x3ca379[_0x367666(0x13b)]);}if(this[_0x367666(0x165)])this[_0x367666(0x17e)](_0x367666(0x136)),this[_0x367666(0x128)](_0x367666(0x158)+_0x1bfbcf/0x3e8+_0x367666(0x164)),await this[_0x367666(0x15a)](_0x1bfbcf),_0x1bfbcf=Math[_0x367666(0x127)](_0x1bfbcf*1.5,0xea60);}}async[a0_0x477a68(0x142)](){const _0x3d0b6c=a0_0x477a68;try{let _0x308ea0=(await this[_0x3d0b6c(0x150)](_0x3d0b6c(0x143),{'alias':this[_0x3d0b6c(0x166)],'limit':0xa}))?.[_0x3d0b6c(0x15c)]||[];for(let _0x45bdb7 of _0x308ea0)await this[_0x3d0b6c(0x150)]('ack_inbox',{'alias':this[_0x3d0b6c(0x166)],'message_id':_0x45bdb7['id']}),this[_0x3d0b6c(0x128)]('←\x20'+_0x45bdb7[_0x3d0b6c(0x145)]+':\x20'+_0x45bdb7[_0x3d0b6c(0x13f)][_0x3d0b6c(0x12e)](0x0,0x3c)),this[_0x3d0b6c(0x17e)](_0x3d0b6c(0x14b),_0x45bdb7),this[_0x3d0b6c(0x17e)](_0x3d0b6c(0x13b),_0x45bdb7);}catch(_0x101e5f){this[_0x3d0b6c(0x128)](_0x3d0b6c(0x151)+_0x101e5f[_0x3d0b6c(0x13b)]);}}[a0_0x477a68(0x15a)](_0x2e3957){return new Promise(_0x49b594=>setTimeout(_0x49b594,_0x2e3957));}}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_0x54e94a=a0_0x2da2;(function(_0xa1dfdc,_0x3ac5e3){const _0x13e75b=a0_0x2da2,_0x2a40b2=_0xa1dfdc();while(!![]){try{const _0x5a031d=-parseInt(_0x13e75b(0x166))/0x1*(-parseInt(_0x13e75b(0x13a))/0x2)+-parseInt(_0x13e75b(0x167))/0x3*(-parseInt(_0x13e75b(0x16d))/0x4)+-parseInt(_0x13e75b(0x17c))/0x5+parseInt(_0x13e75b(0x15d))/0x6*(-parseInt(_0x13e75b(0x10c))/0x7)+-parseInt(_0x13e75b(0x13d))/0x8*(-parseInt(_0x13e75b(0x124))/0x9)+-parseInt(_0x13e75b(0x114))/0xa+parseInt(_0x13e75b(0x10e))/0xb;if(_0x5a031d===_0x3ac5e3)break;else _0x2a40b2['push'](_0x2a40b2['shift']());}catch(_0x2e4b47){_0x2a40b2['push'](_0x2a40b2['shift']());}}}(a0_0x3cc1,0x622f8));import{readFileSync as a0_0x39647b,existsSync as a0_0x3b87c5}from'fs';import{randomUUID as a0_0x539909}from'crypto';import{join as a0_0x4cdbe8}from'path';function a0_0x2da2(_0x2bbaa0,_0x2ee441){_0x2bbaa0=_0x2bbaa0-0xf6;const _0x3cc14c=a0_0x3cc1();let _0x2da2c4=_0x3cc14c[_0x2bbaa0];return _0x2da2c4;}import{hostname as a0_0x50fbe2}from'os';import{execSync as a0_0x4c27b9}from'child_process';import{Server as a0_0x1210fa}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x23e0fa}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x17c2ac,CallToolRequestSchema as a0_0x409177}from'@modelcontextprotocol/sdk/types.js';function p(_0x5d2fe6){const _0x2d5109=a0_0x2da2;if(!a0_0x3b87c5(_0x5d2fe6))return;for(let _0xd4ae4e of a0_0x39647b(_0x5d2fe6,'utf-8')[_0x2d5109(0x162)]('\x0a')){let _0x6899e8=_0xd4ae4e['trim']();if(!_0x6899e8||_0x6899e8['startsWith']('#'))continue;let _0x1cb7d3=_0x6899e8[_0x2d5109(0x103)]('=');if(_0x1cb7d3<0x0)continue;let _0x5702ea=_0x6899e8[_0x2d5109(0x146)](0x0,_0x1cb7d3)[_0x2d5109(0x170)](),_0x45316d=_0x6899e8['slice'](_0x1cb7d3+0x1)[_0x2d5109(0x170)]()[_0x2d5109(0x17e)](/^["']|["']$/g,'');if(!process.env[_0x5702ea])process.env[_0x5702ea]=_0x45316d;}}var C=process.env.HOME||'~',T=a0_0x4cdbe8(C,a0_0x54e94a(0x119));p(a0_0x4cdbe8(T,a0_0x54e94a(0x12f)));var L=process[a0_0x54e94a(0x14d)]()[a0_0x54e94a(0x17e)](/\//g,'-');p(a0_0x4cdbe8(T,L,a0_0x54e94a(0x12f)));function U(){const _0x7ddb12=a0_0x54e94a;try{return a0_0x4c27b9(_0x7ddb12(0x13e),{'encoding':_0x7ddb12(0x127),'timeout':0x7d0})[_0x7ddb12(0x170)]();}catch{return'';}}function a0_0x3cc1(){const _0x1a534d=['pop',':\x20inbox_count=','new_task','indexOf','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','broadcast','normal','commhub-channel','SIGINT','delete','2.0','get','1414AJpiZr','exit','1025486AzUvGX','MCP\x20stdio\x20connected','statusText','object','SSE\x20fatal:\x20','.anet','451840ONiSqc','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','length','connecting\x20to\x20','config.json','.claude/channels/commhub','from','data:\x20','stringify','Progress\x200-100','text','report_status','Session\x20alias:\x20','none','type','Target\x20session\x20alias','45CtJhxv','decode','SSE\x20connected\x20as\x20\x22','utf-8','connected','\x20ALIAS=','notifications/claude/channel','result','read','number','toTimeString','.env','shutting\x20down,\x20reporting\x20offline...','commhub','commhub_reply','content','idle','/mcp','commhub_get_all_status','...\x20TMUX=','\x20priority=','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','549786olSWiP','parse','body','672080XMmPhc','tmux\x20display-message\x20-p\x20\x27#S\x27','Reply\x20text\x20/\x20result\x20summary','low','0.3.0','new_message','\x20from\x20','string','get_all_status','slice','application/json,\x20text/event-stream','get_inbox','cancelled','from_session','message','2025-03-26','cwd','high','in_progress','messages','priority','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','working','join','setRequestHandler','error',']\x20[commhub]\x20','\x20RESUME_ID=','Current\x20task\x20description','set','getReader','fatal:\x20','8304gIVMTj','ack_inbox','Bearer\x20','no\x20response','catch','split','write','blocked','http://127.0.0.1:9200','1syUkgB','3VeKnol','\x20PROJECT_ENV=','\x22\x20(','commhub_send_task','token','connect','1257208SWLRVu','→\x20injected\x20task\x20','commhub_report_status','trim','ready\x20—\x20waiting\x20for\x20events','send_reply','failed','CommHub\x20init\x20failed:\x20','status','params','ENV:\x20URL=','SSE\x20connection\x20error:\x20','message_id','inbox_count','startsWith','1877755MqFyQH','commhub_send_message','replace','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','task','completed','tools/call','notification','claude-code','send_message','hub','alias'];a0_0x3cc1=function(){return _0x1a534d;};return a0_0x3cc1();}function v(){const _0x15a434=a0_0x54e94a;try{let _0x29b241=a0_0x4cdbe8(C,_0x15a434(0x113),_0x15a434(0x118));if(a0_0x3b87c5(_0x29b241))return JSON[_0x15a434(0x13b)](a0_0x39647b(_0x29b241,'utf-8'));}catch{}return{};}var H=v(),f=process.env.COMMHUB_URL||H['hub']||a0_0x54e94a(0x165),j=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||j||a0_0x50fbe2(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x539909(),X=process.env.COMMHUB_TOKEN||H[a0_0x54e94a(0x16b)]||'';function Y(_0x192ffb){const _0x9a94d1=a0_0x54e94a;let _0x98c26d=new Date()[_0x9a94d1(0x12e)]()[_0x9a94d1(0x146)](0x0,0x8);process['stderr'][_0x9a94d1(0x163)]('['+_0x98c26d+_0x9a94d1(0x157)+_0x192ffb+'\x0a');}function h(_0x23d2bf){return new Promise(_0x453743=>setTimeout(_0x453743,_0x23d2bf));}Y(a0_0x54e94a(0x177)+f+a0_0x54e94a(0x129)+Z+a0_0x54e94a(0x158)+w[a0_0x54e94a(0x146)](0x0,0x8)+a0_0x54e94a(0x137)+(j||a0_0x54e94a(0x121))+'\x20CWD='+process['cwd']()+a0_0x54e94a(0x168)+L);var k=new Map(),K=new a0_0x1210fa({'name':a0_0x54e94a(0x107),'version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x54e94a(0x139),'These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.',a0_0x54e94a(0xf6),a0_0x54e94a(0x115),a0_0x54e94a(0x120)+Z][a0_0x54e94a(0x154)]('\x0a')});K[a0_0x54e94a(0x155)](a0_0x17c2ac,async()=>({'tools':[{'name':a0_0x54e94a(0x132),'description':a0_0x54e94a(0xf7),'inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0x54e94a(0x144),'description':'The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)'},'text':{'type':a0_0x54e94a(0x144),'description':a0_0x54e94a(0x13f)},'status':{'type':a0_0x54e94a(0x144),'enum':[a0_0x54e94a(0xf9),a0_0x54e94a(0x173),a0_0x54e94a(0x149),a0_0x54e94a(0x164),a0_0x54e94a(0x156),a0_0x54e94a(0x14f)],'description':a0_0x54e94a(0x152)}},'required':[a0_0x54e94a(0x11e)]}},{'name':a0_0x54e94a(0x16f),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0x54e94a(0x111),'properties':{'status':{'type':a0_0x54e94a(0x144),'enum':[a0_0x54e94a(0x153),'idle','blocked',a0_0x54e94a(0x156)]},'task':{'type':a0_0x54e94a(0x144),'description':a0_0x54e94a(0x159)},'progress':{'type':a0_0x54e94a(0x12d),'description':a0_0x54e94a(0x11d)}},'required':['status']}},{'name':a0_0x54e94a(0x16a),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x54e94a(0x111),'properties':{'alias':{'type':a0_0x54e94a(0x144),'description':a0_0x54e94a(0x123)},'task':{'type':'string','description':'Task\x20content'},'priority':{'type':a0_0x54e94a(0x144),'enum':[a0_0x54e94a(0x14e),a0_0x54e94a(0x106),a0_0x54e94a(0x140)],'description':'Priority\x20(default:\x20normal)'}},'required':[a0_0x54e94a(0xff),a0_0x54e94a(0xf8)]}},{'name':a0_0x54e94a(0x17d),'description':a0_0x54e94a(0x104),'inputSchema':{'type':a0_0x54e94a(0x111),'properties':{'alias':{'type':a0_0x54e94a(0x144),'description':a0_0x54e94a(0x123)},'message':{'type':a0_0x54e94a(0x144),'description':'Message\x20content'}},'required':[a0_0x54e94a(0xff),a0_0x54e94a(0x14b)]}},{'name':a0_0x54e94a(0x136),'description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':a0_0x54e94a(0x111),'properties':{}}}]}));async function P(_0x204918,_0x52493e){const _0x6947a6=a0_0x54e94a;let _0x488ae8=await fetch(f+_0x6947a6(0x135),{'method':'POST','headers':{'Content-Type':'application/json','Accept':_0x6947a6(0x147),...X?{'Authorization':_0x6947a6(0x15f)+X}:{}},'body':JSON[_0x6947a6(0x11c)]({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x6947a6(0x14c),'capabilities':{},'clientInfo':{'name':_0x6947a6(0x107),'version':_0x6947a6(0x141)}}})});if(!_0x488ae8['ok']){let _0x58dd64=await _0x488ae8['text']();return Y(_0x6947a6(0x174)+_0x488ae8['status']+'\x20'+_0x58dd64[_0x6947a6(0x146)](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x488ae8['status']};}await _0x488ae8['text']();let _0x30a4c8=(await(await fetch(f+_0x6947a6(0x135),{'method':'POST','headers':{'Content-Type':'application/json','Accept':_0x6947a6(0x147),...X?{'Authorization':_0x6947a6(0x15f)+X}:{}},'body':JSON[_0x6947a6(0x11c)]({'jsonrpc':_0x6947a6(0x10a),'id':0x2,'method':_0x6947a6(0xfa),'params':{'name':_0x204918,'arguments':_0x52493e}})}))['text']())['split']('\x0a')['find'](_0x35aa94=>_0x35aa94[_0x6947a6(0x17b)](_0x6947a6(0x11b)));if(_0x30a4c8){let _0x43cf77=JSON[_0x6947a6(0x13b)](_0x30a4c8[_0x6947a6(0x146)](0x6));return _0x43cf77?.[_0x6947a6(0x12b)]?.[_0x6947a6(0x133)]?.[0x0]?.['text']?JSON['parse'](_0x43cf77[_0x6947a6(0x12b)][_0x6947a6(0x133)][0x0][_0x6947a6(0x11e)]):_0x43cf77;}return{'ok':!0x1,'error':_0x6947a6(0x160)};}K[a0_0x54e94a(0x155)](a0_0x409177,async _0x4baf56=>{const _0x4c4c60=a0_0x54e94a;let {name:_0x3217ec,arguments:_0x43e3bc}=_0x4baf56[_0x4c4c60(0x176)];if(_0x3217ec===_0x4c4c60(0x132)){let {task_id:_0x3d884a,text:_0x264d1a,status:_0x14d445}=_0x43e3bc;if(_0x14d445===_0x4c4c60(0xf9)||_0x14d445===_0x4c4c60(0x173)||_0x14d445===_0x4c4c60(0x149)){let _0x5b4790=_0x14d445==='completed'?'replied':_0x14d445,_0x49c134=_0x3d884a?k[_0x4c4c60(0x10b)](_0x3d884a)||_0x4c4c60(0xfe):_0x4c4c60(0xfe),_0x1ff7cb=await P(_0x4c4c60(0x172),{'alias':_0x49c134,'text':_0x264d1a,'in_reply_to':_0x3d884a||void 0x0,'status':_0x5b4790,'from_session':Z});if(_0x3d884a)k[_0x4c4c60(0x109)](_0x3d884a);return{'content':[{'type':'text','text':JSON[_0x4c4c60(0x11c)](_0x1ff7cb)}]};}let _0x37affe=await P(_0x4c4c60(0x11f),{'resume_id':w,'alias':Z,'status':_0x14d445==='blocked'?_0x4c4c60(0x164):_0x14d445===_0x4c4c60(0x156)?_0x4c4c60(0x156):_0x4c4c60(0x153),'task':_0x264d1a['slice'](0x0,0xc8),'output':_0x264d1a});return{'content':[{'type':_0x4c4c60(0x11e),'text':JSON[_0x4c4c60(0x11c)](_0x37affe)}]};}if(_0x3217ec===_0x4c4c60(0x16f)){let {status:_0x4772a4,task:_0x584e4d,progress:_0x46d876}=_0x43e3bc,_0x1e882f=await P(_0x4c4c60(0x11f),{'resume_id':w,'alias':Z,'status':_0x4772a4,'task':_0x584e4d,'progress':_0x46d876});return{'content':[{'type':'text','text':JSON[_0x4c4c60(0x11c)](_0x1e882f)}]};}if(_0x3217ec===_0x4c4c60(0x16a)){let {alias:_0x20e26e,task:_0x55ae21,priority:_0x1b63cf}=_0x43e3bc,_0x16de29=await P('send_task',{'alias':_0x20e26e,'task':_0x55ae21,'priority':_0x1b63cf||_0x4c4c60(0x106),'from_session':Z});return{'content':[{'type':_0x4c4c60(0x11e),'text':JSON['stringify'](_0x16de29)}]};}if(_0x3217ec==='commhub_send_message'){let {alias:_0x47d3e2,message:_0xf3ae6a}=_0x43e3bc,_0x36e01a=await P(_0x4c4c60(0xfd),{'alias':_0x47d3e2,'message':_0xf3ae6a,'from_session':Z});return{'content':[{'type':_0x4c4c60(0x11e),'text':JSON[_0x4c4c60(0x11c)](_0x36e01a)}]};}if(_0x3217ec===_0x4c4c60(0x136)){let _0x38f44e=await P(_0x4c4c60(0x145),{});return{'content':[{'type':_0x4c4c60(0x11e),'text':JSON[_0x4c4c60(0x11c)](_0x38f44e)}]};}return{'content':[{'type':_0x4c4c60(0x11e),'text':JSON[_0x4c4c60(0x11c)]({'error':'unknown\x20tool'})}]};});async function u(){const _0x4e78ec=a0_0x54e94a;let _0x55c3f7=f+'/events/'+encodeURIComponent(Z),_0x218e71={};if(X)_0x218e71['Authorization']='Bearer\x20'+X;Y(_0x4e78ec(0x117)+_0x55c3f7);while(!0x0){try{let _0xb20fd5=await fetch(_0x55c3f7,{'headers':_0x218e71});if(!_0xb20fd5['ok']){Y('SSE\x20error:\x20'+_0xb20fd5[_0x4e78ec(0x175)]+'\x20'+_0xb20fd5[_0x4e78ec(0x110)]),await h(0x1388);continue;}let _0x355371=_0xb20fd5[_0x4e78ec(0x13c)][_0x4e78ec(0x15b)](),_0x5d861c=new TextDecoder(),_0x8e0513='';while(!0x0){let {done:_0x2e0b70,value:_0xe56886}=await _0x355371[_0x4e78ec(0x12c)]();if(_0x2e0b70)break;_0x8e0513+=_0x5d861c[_0x4e78ec(0x125)](_0xe56886,{'stream':!0x0});let _0x1384d4=_0x8e0513[_0x4e78ec(0x162)]('\x0a\x0a');_0x8e0513=_0x1384d4[_0x4e78ec(0x100)]()||'';for(let _0x576a09 of _0x1384d4){let _0x133f35=_0x576a09[_0x4e78ec(0x162)]('\x0a')['find'](_0x34f0f0=>_0x34f0f0[_0x4e78ec(0x17b)]('data:\x20'));if(!_0x133f35)continue;try{let _0x2712b1=JSON['parse'](_0x133f35['slice'](0x6));await S(_0x2712b1);}catch(_0x3dd5eb){Y('parse\x20error:\x20'+_0x3dd5eb);}}}Y('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x2770ef){Y(_0x4e78ec(0x178)+_0x2770ef);}await h(0xbb8);}}async function S(_0x12d0ab){const _0x57a72d=a0_0x54e94a;if(_0x12d0ab[_0x57a72d(0x122)]===_0x57a72d(0x128)){Y(_0x57a72d(0x126)+Z+'\x22');return;}if(_0x12d0ab[_0x57a72d(0x122)]===_0x57a72d(0x142)){if(Y('←\x20message\x20from\x20'+_0x12d0ab[_0x57a72d(0x11a)]+':\x20'+_0x12d0ab[_0x57a72d(0x14b)][_0x57a72d(0x146)](0x0,0x3c)),await K[_0x57a72d(0xfb)]({'method':_0x57a72d(0x12a),'params':{'content':_0x12d0ab[_0x57a72d(0x14b)],'meta':{'sender':_0x12d0ab[_0x57a72d(0x11a)]||_0x57a72d(0xfe),'sender_id':_0x57a72d(0x131),'user':_0x12d0ab[_0x57a72d(0x11a)]||_0x57a72d(0xfe),'priority':_0x57a72d(0x106)}}}),_0x12d0ab[_0x57a72d(0x179)])await P(_0x57a72d(0x15e),{'alias':Z,'message_id':_0x12d0ab[_0x57a72d(0x179)]});return;}if(_0x12d0ab[_0x57a72d(0x122)]===_0x57a72d(0x102)||_0x12d0ab[_0x57a72d(0x122)]===_0x57a72d(0x105)){Y('←\x20'+_0x12d0ab[_0x57a72d(0x122)]+_0x57a72d(0x101)+_0x12d0ab[_0x57a72d(0x17a)]+_0x57a72d(0x138)+(_0x12d0ab[_0x57a72d(0x151)]||_0x57a72d(0x106)));let _0x5630ac=await P(_0x57a72d(0x148),{'alias':Z,'limit':0x5});if(_0x5630ac?.['ok']&&_0x5630ac[_0x57a72d(0x150)]?.[_0x57a72d(0x116)]>0x0)for(let _0xee1c06 of _0x5630ac[_0x57a72d(0x150)]){let _0x5c56fd={'sender':_0xee1c06[_0x57a72d(0x14a)]||'hub','sender_id':_0x57a72d(0x131),'user':_0xee1c06[_0x57a72d(0x14a)]||_0x57a72d(0xfe),'task_id':_0xee1c06['id'],'priority':_0xee1c06[_0x57a72d(0x151)]||'normal'};k[_0x57a72d(0x15a)](_0xee1c06['id'],_0xee1c06[_0x57a72d(0x14a)]||_0x57a72d(0xfe)),await K[_0x57a72d(0xfb)]({'method':_0x57a72d(0x12a),'params':{'content':_0xee1c06['content'],'meta':_0x5c56fd}}),Y(_0x57a72d(0x16e)+_0xee1c06['id'][_0x57a72d(0x146)](0x0,0x8)+_0x57a72d(0x143)+_0xee1c06[_0x57a72d(0x14a)]+':\x20'+_0xee1c06[_0x57a72d(0x133)][_0x57a72d(0x146)](0x0,0x3c)),await P(_0x57a72d(0x15e),{'alias':Z,'message_id':_0xee1c06['id']});}}}async function A(){const _0x10be1d=a0_0x54e94a;let _0x53d141=new a0_0x23e0fa();await K[_0x10be1d(0x16c)](_0x53d141),Y(_0x10be1d(0x10f)),Y('starting\x20SSE\x20listener...'),u()[_0x10be1d(0x161)](_0x204e33=>Y(_0x10be1d(0x112)+_0x204e33)),P(_0x10be1d(0x11f),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x50fbe2(),'hostname':a0_0x50fbe2(),'agent':_0x10be1d(0xfc),'project_dir':process[_0x10be1d(0x14d)](),'tmux_name':j||void 0x0})['then'](()=>Y('registered\x20as\x20\x22'+Z+_0x10be1d(0x169)+w[_0x10be1d(0x146)](0x0,0x8)+')'))['catch'](_0x1e6a21=>Y('warning:\x20could\x20not\x20register:\x20'+_0x1e6a21)),setInterval(()=>{const _0x30d68c=_0x10be1d;P(_0x30d68c(0x11f),{'resume_id':w,'alias':Z,'status':_0x30d68c(0x134),'server':a0_0x50fbe2(),'hostname':a0_0x50fbe2(),'agent':'claude-code','project_dir':process[_0x30d68c(0x14d)](),'tmux_name':j||void 0x0})[_0x30d68c(0x161)](_0x464f58=>Y('heartbeat\x20failed:\x20'+_0x464f58));},0x2bf20),Y(_0x10be1d(0x171));}A()[a0_0x54e94a(0x161)](_0x9be4af=>{const _0x4397fc=a0_0x54e94a;Y(_0x4397fc(0x15c)+_0x9be4af),process[_0x4397fc(0x10d)](0x1);});async function N(){const _0x58b059=a0_0x54e94a;Y(_0x58b059(0x130)),await P(_0x58b059(0x11f),{'resume_id':w,'alias':Z,'status':_0x58b059(0x156),'task':'session\x20disconnected'})['catch'](()=>{}),process[_0x58b059(0x10d)](0x0);}process['stdin']['on']('end',()=>N()),process['on']('SIGTERM',()=>N()),process['on'](a0_0x54e94a(0x108),()=>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.8",
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",