@sleep2agi/agent-network 2.1.8-preview.0 → 2.1.8-preview.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- const a0_0x7454e9=a0_0x1da5;function a0_0x1da5(_0x1a413e,_0x24d3e0){_0x1a413e=_0x1a413e-0x1c4;const _0x2d2200=a0_0x2d22();let _0x1da5d5=_0x2d2200[_0x1a413e];return _0x1da5d5;}function a0_0x2d22(){const _0x1f8a37=['messages','content','resumeId','AbortError','log',']\x20[commhub:','processInbox','4996BEtAfa','10488699BbXrXq','sseAbort','connectSSE','from_session','heartbeatTimer','get_all_status','emit','send_message','connect','error','idle','broadcast','heartbeatInterval','startsWith','Bearer\x20','7VghLxX','completed','SSE\x20error:\x20','server','autoConnect','toString','running','inbox\x20error:\x20','min','parse','get_inbox','result','2691558VBXSWl','toTimeString','SSE\x20failed:\x20','new_message','send_task','s...','265ElmVDO','alias','agent','slice','new_task','url','getReader','cwd','connected','replace','name','/mcp','SSE\x20connected','offline','379568LLODaq','token','reconnectDelay','send_reply','type','text','data:\x20','heartbeat\x20failed:\x20','1247085xUojEf','application/json','356625sUXuWF','549316tmQZny','sleep','report_status','ack_inbox','body','stringify','registered','now','status','disconnect','catch','Authorization','normal','reply','application/json,\x20text/event-stream','tools/call','disconnected','task','decode','send','sdk-','POST','message','call'];a0_0x2d22=function(){return _0x1f8a37;};return a0_0x2d22();}(function(_0x33c049,_0x4ea16b){const _0x5a6a5c=a0_0x1da5,_0x310e4a=_0x33c049();while(!![]){try{const _0x1539ce=-parseInt(_0x5a6a5c(0x1c5))/0x1+parseInt(_0x5a6a5c(0x1c6))/0x2+-parseInt(_0x5a6a5c(0x21d))/0x3+-parseInt(_0x5a6a5c(0x1e5))/0x4*(-parseInt(_0x5a6a5c(0x207))/0x5)+-parseInt(_0x5a6a5c(0x201))/0x6*(parseInt(_0x5a6a5c(0x1f5))/0x7)+parseInt(_0x5a6a5c(0x215))/0x8+parseInt(_0x5a6a5c(0x1e6))/0x9;if(_0x1539ce===_0x4ea16b)break;else _0x310e4a['push'](_0x310e4a['shift']());}catch(_0x4e1f5d){_0x310e4a['push'](_0x310e4a['shift']());}}}(a0_0x2d22,0x513ff));import{EventEmitter as a0_0x370fc8}from'events';import{hostname as a0_0x5c3251}from'os';class T extends a0_0x370fc8{[a0_0x7454e9(0x20c)];[a0_0x7454e9(0x208)];[a0_0x7454e9(0x216)];[a0_0x7454e9(0x209)];[a0_0x7454e9(0x1e0)];[a0_0x7454e9(0x1f2)];[a0_0x7454e9(0x217)];['heartbeatTimer'];[a0_0x7454e9(0x1e7)];['running']=!0x1;constructor(_0x5e5276){const _0x98efd7=a0_0x7454e9;super();if(this[_0x98efd7(0x20c)]=_0x5e5276[_0x98efd7(0x20c)][_0x98efd7(0x210)](/\/$/,''),this[_0x98efd7(0x208)]=_0x5e5276[_0x98efd7(0x208)],this[_0x98efd7(0x216)]=_0x5e5276[_0x98efd7(0x216)],this[_0x98efd7(0x209)]=_0x5e5276[_0x98efd7(0x209)]||'sdk',this['resumeId']=_0x98efd7(0x1da)+_0x5e5276[_0x98efd7(0x208)]+'-'+Date[_0x98efd7(0x1cd)]()[_0x98efd7(0x1fa)](0x24),this['heartbeatInterval']=_0x5e5276[_0x98efd7(0x1f2)]??0x2bf20,this[_0x98efd7(0x217)]=_0x5e5276[_0x98efd7(0x217)]??0xbb8,_0x5e5276[_0x98efd7(0x1f9)]!==!0x1)this[_0x98efd7(0x1ee)]();}[a0_0x7454e9(0x1e2)](_0x3a4d0a){const _0x518186=a0_0x7454e9;console['log']('['+new Date()[_0x518186(0x202)]()[_0x518186(0x20a)](0x0,0x8)+_0x518186(0x1e3)+this[_0x518186(0x208)]+']\x20'+_0x3a4d0a);}async[a0_0x7454e9(0x1dd)](_0x32445c,_0xd7ab84){const _0x1841b2=a0_0x7454e9;let _0x3137ab={'Content-Type':_0x1841b2(0x1c4),'Accept':_0x1841b2(0x1d4)};if(this[_0x1841b2(0x216)])_0x3137ab[_0x1841b2(0x1d1)]=_0x1841b2(0x1f4)+this[_0x1841b2(0x216)];let _0x3fa80b=await(await fetch(this[_0x1841b2(0x20c)]+_0x1841b2(0x212),{'method':_0x1841b2(0x1db),'headers':_0x3137ab,'body':JSON[_0x1841b2(0x1cb)]({'jsonrpc':'2.0','id':Date[_0x1841b2(0x1cd)](),'method':_0x1841b2(0x1d5),'params':{'name':_0x32445c,'arguments':_0xd7ab84}})}))[_0x1841b2(0x21a)](),_0x12403d=_0x3fa80b['match'](/data: (.+)/),_0x55abcd=_0x12403d?JSON[_0x1841b2(0x1fe)](_0x12403d[0x1]):JSON[_0x1841b2(0x1fe)](_0x3fa80b),_0x31976b=_0x55abcd?.[_0x1841b2(0x200)]?.[_0x1841b2(0x1df)]?.[0x0]?.[_0x1841b2(0x21a)];return _0x31976b?JSON[_0x1841b2(0x1fe)](_0x31976b):_0x55abcd;}async['connect'](){const _0x5b46c7=a0_0x7454e9;if(this[_0x5b46c7(0x1fb)])return;this[_0x5b46c7(0x1fb)]=!0x0,await this[_0x5b46c7(0x1ce)]('idle'),this[_0x5b46c7(0x1e2)](_0x5b46c7(0x1cc)),this['heartbeatTimer']=setInterval(()=>{const _0x14a54b=_0x5b46c7;this[_0x14a54b(0x1ce)](_0x14a54b(0x1f0))['catch'](_0x2f643c=>this[_0x14a54b(0x1e2)](_0x14a54b(0x21c)+_0x2f643c[_0x14a54b(0x1dc)]));},this['heartbeatInterval']),this[_0x5b46c7(0x1e8)]();}async[a0_0x7454e9(0x1cf)](){const _0x107c52=a0_0x7454e9;if(this[_0x107c52(0x1fb)]=!0x1,this[_0x107c52(0x1e7)]?.['abort'](),this[_0x107c52(0x1ea)])clearInterval(this[_0x107c52(0x1ea)]);await this['status'](_0x107c52(0x214))[_0x107c52(0x1d0)](()=>{}),this[_0x107c52(0x1e2)](_0x107c52(0x1d6));}async[a0_0x7454e9(0x1d9)](_0x1dd913,_0x512074,_0x2e419b=a0_0x7454e9(0x1d2)){const _0x5059f8=a0_0x7454e9;return this[_0x5059f8(0x1dd)](_0x5059f8(0x205),{'alias':_0x1dd913,'task':_0x512074,'priority':_0x2e419b,'from_session':this[_0x5059f8(0x208)]});}async[a0_0x7454e9(0x1dc)](_0x133ed2,_0x48d206){const _0x5030de=a0_0x7454e9;return this[_0x5030de(0x1dd)](_0x5030de(0x1ed),{'alias':_0x133ed2,'message':_0x48d206,'from_session':this['alias']});}async[a0_0x7454e9(0x1d3)](_0x3fdb3c,_0x1218b9,_0x5f11e8=a0_0x7454e9(0x1f6)){const _0x50a5d3=a0_0x7454e9;return this[_0x50a5d3(0x1dd)](_0x50a5d3(0x218),{'in_reply_to':_0x3fdb3c,'text':_0x1218b9,'status':_0x5f11e8});}async['status'](_0x2e3125,_0x4eca19){const _0xdd98c4=a0_0x7454e9;return this[_0xdd98c4(0x1dd)](_0xdd98c4(0x1c8),{'resume_id':this[_0xdd98c4(0x1e0)],'alias':this[_0xdd98c4(0x208)],'status':_0x2e3125,'server':a0_0x5c3251(),'hostname':a0_0x5c3251(),'agent':this[_0xdd98c4(0x209)],'project_dir':process[_0xdd98c4(0x20e)](),..._0x4eca19});}async['getAllStatus'](){const _0x3d6310=a0_0x7454e9;return this[_0x3d6310(0x1dd)](_0x3d6310(0x1eb),{});}async[a0_0x7454e9(0x1f1)](_0x2b659a,_0x1eda27){const _0x1a44a4=a0_0x7454e9;return this['call']('broadcast',{'message':_0x2b659a,'filter_server':_0x1eda27?.[_0x1a44a4(0x1f8)],'filter_status':_0x1eda27?.['status']});}async[a0_0x7454e9(0x1e8)](){const _0x428d9f=a0_0x7454e9;let _0x4f0eb6=encodeURIComponent(this['alias']),_0x2be129=this[_0x428d9f(0x20c)]+'/events/'+_0x4f0eb6,_0x4f4a89=this[_0x428d9f(0x217)];while(this[_0x428d9f(0x1fb)]){try{this['sseAbort']=new AbortController();let _0x75c03c={'Accept':'text/event-stream'};if(this[_0x428d9f(0x216)])_0x75c03c[_0x428d9f(0x1d1)]=_0x428d9f(0x1f4)+this[_0x428d9f(0x216)];let _0x3639d7=await fetch(_0x2be129,{'headers':_0x75c03c,'signal':this['sseAbort']['signal']});if(!_0x3639d7['ok']||!_0x3639d7[_0x428d9f(0x1ca)]){this[_0x428d9f(0x1e2)](_0x428d9f(0x203)+_0x3639d7[_0x428d9f(0x1ce)]),await this['sleep'](_0x4f4a89),_0x4f4a89=Math['min'](_0x4f4a89*1.5,0xea60);continue;}_0x4f4a89=this['reconnectDelay'];let _0x1a8f7e=_0x3639d7['body'][_0x428d9f(0x20d)](),_0x42b0e5=new TextDecoder(),_0x3e04a7='';while(this['running']){let {done:_0x180d9e,value:_0x406c71}=await _0x1a8f7e['read']();if(_0x180d9e)break;_0x3e04a7+=_0x42b0e5[_0x428d9f(0x1d8)](_0x406c71,{'stream':!0x0});let _0x1a8836=_0x3e04a7['split']('\x0a');_0x3e04a7=_0x1a8836['pop']()||'';for(let _0x1a9e6d of _0x1a8836){if(!_0x1a9e6d[_0x428d9f(0x1f3)](_0x428d9f(0x21b)))continue;try{let _0x3d9067=JSON['parse'](_0x1a9e6d[_0x428d9f(0x20a)](0x6));if(_0x3d9067[_0x428d9f(0x219)]===_0x428d9f(0x20f)){this[_0x428d9f(0x1e2)](_0x428d9f(0x213)),this[_0x428d9f(0x1ec)](_0x428d9f(0x20f));continue;}if(_0x3d9067[_0x428d9f(0x219)]===_0x428d9f(0x20b)||_0x3d9067[_0x428d9f(0x219)]===_0x428d9f(0x204)||_0x3d9067[_0x428d9f(0x219)]===_0x428d9f(0x1f1))await this[_0x428d9f(0x1e4)]();}catch{}}}}catch(_0x5beb36){if(_0x5beb36[_0x428d9f(0x211)]===_0x428d9f(0x1e1))break;this['emit'](_0x428d9f(0x1ef),_0x5beb36),this[_0x428d9f(0x1e2)](_0x428d9f(0x1f7)+_0x5beb36[_0x428d9f(0x1dc)]);}if(this[_0x428d9f(0x1fb)])this[_0x428d9f(0x1ec)](_0x428d9f(0x1d6)),this['log']('SSE\x20reconnecting\x20in\x20'+_0x4f4a89/0x3e8+_0x428d9f(0x206)),await this['sleep'](_0x4f4a89),_0x4f4a89=Math[_0x428d9f(0x1fd)](_0x4f4a89*1.5,0xea60);}}async[a0_0x7454e9(0x1e4)](){const _0x2398f4=a0_0x7454e9;try{let _0x1c5b8d=(await this[_0x2398f4(0x1dd)](_0x2398f4(0x1ff),{'alias':this[_0x2398f4(0x208)],'limit':0xa}))?.[_0x2398f4(0x1de)]||[];for(let _0x4a96f9 of _0x1c5b8d)await this[_0x2398f4(0x1dd)](_0x2398f4(0x1c9),{'alias':this[_0x2398f4(0x208)],'message_id':_0x4a96f9['id']}),this['log']('←\x20'+_0x4a96f9[_0x2398f4(0x1e9)]+':\x20'+_0x4a96f9[_0x2398f4(0x1df)][_0x2398f4(0x20a)](0x0,0x3c)),this[_0x2398f4(0x1ec)](_0x2398f4(0x1d7),_0x4a96f9),this['emit'](_0x2398f4(0x1dc),_0x4a96f9);}catch(_0x4366a7){this[_0x2398f4(0x1e2)](_0x2398f4(0x1fc)+_0x4366a7['message']);}}[a0_0x7454e9(0x1c7)](_0x377e0b){return new Promise(_0x3bd190=>setTimeout(_0x3bd190,_0x377e0b));}}var $=T;export{$ as default,T as CommHub};
1
+ function a0_0x7b72(){const _0x1eb0c6=['text/event-stream','pop','broadcast','type','agent','heartbeatTimer','4azIUoX','19971nMskyC','cwd','startsWith','text','slice','send_task','call','normal','17479517cNLNSH','get_all_status','send_reply','heartbeatInterval','report_status','toTimeString','get_inbox','14805900lWrIQk','split','emit','4824OeqyWi','ack_inbox','offline','log','toString','alias','connectSSE','processInbox','catch','connect','content','tools/call','460953nsHeop','sleep','disconnect','status','decode','1104845omPrVN','new_task','name','replace','url','connected','2273979PvVwgk','running','disconnected','abort','token','completed','getAllStatus','6sttYpE','message','2.0','stringify','heartbeat\x20failed:\x20','resumeId','SSE\x20reconnecting\x20in\x20','360BwwaIM','error','getReader','send','idle','parse','new_message','body','AbortError','registered','read','reconnectDelay','result','task','Bearer\x20','sseAbort','SSE\x20connected','now','POST','inbox\x20error:\x20','sdk-','SSE\x20failed:\x20','18215kVvKCN','min'];a0_0x7b72=function(){return _0x1eb0c6;};return a0_0x7b72();}const a0_0x1afe55=a0_0x1000;(function(_0xd6a717,_0x2ad381){const _0x1cca76=a0_0x1000,_0x41f832=_0xd6a717();while(!![]){try{const _0x3d95f7=-parseInt(_0x1cca76(0x206))/0x1*(-parseInt(_0x1cca76(0x1c2))/0x2)+-parseInt(_0x1cca76(0x1bb))/0x3*(-parseInt(_0x1cca76(0x1e7))/0x4)+parseInt(_0x1cca76(0x1df))/0x5*(parseInt(_0x1cca76(0x1c9))/0x6)+-parseInt(_0x1cca76(0x1b5))/0x7+parseInt(_0x1cca76(0x1fa))/0x8*(-parseInt(_0x1cca76(0x1e8))/0x9)+parseInt(_0x1cca76(0x1f7))/0xa+-parseInt(_0x1cca76(0x1f0))/0xb;if(_0x3d95f7===_0x2ad381)break;else _0x41f832['push'](_0x41f832['shift']());}catch(_0x1e18f4){_0x41f832['push'](_0x41f832['shift']());}}}(a0_0x7b72,0xb858b));import{EventEmitter as a0_0x3b47b0}from'events';import{hostname as a0_0x42ffa0}from'os';function a0_0x1000(_0x3b7431,_0x51e81b){_0x3b7431=_0x3b7431-0x1b2;const _0x7b72ae=a0_0x7b72();let _0x100096=_0x7b72ae[_0x3b7431];return _0x100096;}class T extends a0_0x3b47b0{[a0_0x1afe55(0x1b9)];['alias'];[a0_0x1afe55(0x1bf)];[a0_0x1afe55(0x1e5)];[a0_0x1afe55(0x1c7)];[a0_0x1afe55(0x1f3)];[a0_0x1afe55(0x1d4)];[a0_0x1afe55(0x1e6)];[a0_0x1afe55(0x1d8)];['running']=!0x1;constructor(_0x92f9be){const _0x15f2e1=a0_0x1afe55;super();if(this[_0x15f2e1(0x1b9)]=_0x92f9be[_0x15f2e1(0x1b9)][_0x15f2e1(0x1b8)](/\/$/,''),this[_0x15f2e1(0x1ff)]=_0x92f9be[_0x15f2e1(0x1ff)],this[_0x15f2e1(0x1bf)]=_0x92f9be[_0x15f2e1(0x1bf)],this[_0x15f2e1(0x1e5)]=_0x92f9be['agent']||'sdk',this[_0x15f2e1(0x1c7)]=_0x15f2e1(0x1dd)+_0x92f9be[_0x15f2e1(0x1ff)]+'-'+Date[_0x15f2e1(0x1da)]()[_0x15f2e1(0x1fe)](0x24),this[_0x15f2e1(0x1f3)]=_0x92f9be[_0x15f2e1(0x1f3)]??0x2bf20,this['reconnectDelay']=_0x92f9be[_0x15f2e1(0x1d4)]??0xbb8,_0x92f9be['autoConnect']!==!0x1)this['connect']();}[a0_0x1afe55(0x1fd)](_0x4076ab){const _0x3f382f=a0_0x1afe55;console[_0x3f382f(0x1fd)]('['+new Date()[_0x3f382f(0x1f5)]()[_0x3f382f(0x1ec)](0x0,0x8)+']\x20[commhub:'+this[_0x3f382f(0x1ff)]+']\x20'+_0x4076ab);}async[a0_0x1afe55(0x1ee)](_0x995c54,_0x207495){const _0x42085b=a0_0x1afe55;let _0x3ea3e0={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream'};if(this['token'])_0x3ea3e0['Authorization']='Bearer\x20'+this[_0x42085b(0x1bf)];let _0x3e3369=await(await fetch(this[_0x42085b(0x1b9)]+'/mcp',{'method':_0x42085b(0x1db),'headers':_0x3ea3e0,'body':JSON[_0x42085b(0x1c5)]({'jsonrpc':_0x42085b(0x1c4),'id':Date['now'](),'method':_0x42085b(0x205),'params':{'name':_0x995c54,'arguments':_0x207495}})}))[_0x42085b(0x1eb)](),_0x3326fd=_0x3e3369['match'](/data: (.+)/),_0x44cd9d=_0x3326fd?JSON[_0x42085b(0x1ce)](_0x3326fd[0x1]):JSON[_0x42085b(0x1ce)](_0x3e3369),_0x14ef7c=_0x44cd9d?.[_0x42085b(0x1d5)]?.['content']?.[0x0]?.[_0x42085b(0x1eb)];return _0x14ef7c?JSON['parse'](_0x14ef7c):_0x44cd9d;}async[a0_0x1afe55(0x203)](){const _0x26ab5f=a0_0x1afe55;if(this[_0x26ab5f(0x1bc)])return;this[_0x26ab5f(0x1bc)]=!0x0,await this[_0x26ab5f(0x1b3)]('idle'),this['log'](_0x26ab5f(0x1d2)),this[_0x26ab5f(0x1e6)]=setInterval(()=>{const _0x18a792=_0x26ab5f;this['status'](_0x18a792(0x1cd))[_0x18a792(0x202)](_0x28fff8=>this[_0x18a792(0x1fd)](_0x18a792(0x1c6)+_0x28fff8[_0x18a792(0x1c3)]));},this[_0x26ab5f(0x1f3)]),this[_0x26ab5f(0x200)]();}async[a0_0x1afe55(0x1b2)](){const _0x3a86d4=a0_0x1afe55;if(this[_0x3a86d4(0x1bc)]=!0x1,this[_0x3a86d4(0x1d8)]?.[_0x3a86d4(0x1be)](),this[_0x3a86d4(0x1e6)])clearInterval(this[_0x3a86d4(0x1e6)]);await this['status'](_0x3a86d4(0x1fc))['catch'](()=>{}),this[_0x3a86d4(0x1fd)](_0x3a86d4(0x1bd));}async[a0_0x1afe55(0x1cc)](_0x5e08b3,_0x549c92,_0x519eb2=a0_0x1afe55(0x1ef)){const _0x7b5ebe=a0_0x1afe55;return this[_0x7b5ebe(0x1ee)](_0x7b5ebe(0x1ed),{'alias':_0x5e08b3,'task':_0x549c92,'priority':_0x519eb2,'from_session':this[_0x7b5ebe(0x1ff)]});}async[a0_0x1afe55(0x1c3)](_0x253c87,_0x2d027c){const _0x346bdc=a0_0x1afe55;return this[_0x346bdc(0x1ee)]('send_message',{'alias':_0x253c87,'message':_0x2d027c,'from_session':this[_0x346bdc(0x1ff)]});}async['reply'](_0x4768f2,_0x4f2687,_0x568d9a=a0_0x1afe55(0x1c0)){const _0x176b38=a0_0x1afe55;return this[_0x176b38(0x1ee)](_0x176b38(0x1f2),{'in_reply_to':_0x4768f2,'text':_0x4f2687,'status':_0x568d9a});}async[a0_0x1afe55(0x1b3)](_0x37adb4,_0x1ece9c){const _0x35abb3=a0_0x1afe55;return this[_0x35abb3(0x1ee)](_0x35abb3(0x1f4),{'resume_id':this[_0x35abb3(0x1c7)],'alias':this[_0x35abb3(0x1ff)],'status':_0x37adb4,'server':a0_0x42ffa0(),'hostname':a0_0x42ffa0(),'agent':this[_0x35abb3(0x1e5)],'project_dir':process[_0x35abb3(0x1e9)](),..._0x1ece9c});}async[a0_0x1afe55(0x1c1)](){const _0x596037=a0_0x1afe55;return this[_0x596037(0x1ee)](_0x596037(0x1f1),{});}async[a0_0x1afe55(0x1e3)](_0x4d7a68,_0x5572f9){const _0x723f47=a0_0x1afe55;return this[_0x723f47(0x1ee)](_0x723f47(0x1e3),{'message':_0x4d7a68,'filter_server':_0x5572f9?.['server'],'filter_status':_0x5572f9?.[_0x723f47(0x1b3)]});}async['connectSSE'](){const _0x4936f1=a0_0x1afe55;let _0x69675f=encodeURIComponent(this[_0x4936f1(0x1ff)]),_0x47f42d=this['url']+'/events/'+_0x69675f,_0x4c0bd1=this[_0x4936f1(0x1d4)];while(this[_0x4936f1(0x1bc)]){try{this[_0x4936f1(0x1d8)]=new AbortController();let _0x43db52={'Accept':_0x4936f1(0x1e1)};if(this[_0x4936f1(0x1bf)])_0x43db52['Authorization']=_0x4936f1(0x1d7)+this[_0x4936f1(0x1bf)];let _0x37ab7b=await fetch(_0x47f42d,{'headers':_0x43db52,'signal':this[_0x4936f1(0x1d8)]['signal']});if(!_0x37ab7b['ok']||!_0x37ab7b[_0x4936f1(0x1d0)]){this[_0x4936f1(0x1fd)](_0x4936f1(0x1de)+_0x37ab7b['status']),await this[_0x4936f1(0x207)](_0x4c0bd1),_0x4c0bd1=Math[_0x4936f1(0x1e0)](_0x4c0bd1*1.5,0xea60);continue;}_0x4c0bd1=this[_0x4936f1(0x1d4)];let _0x522075=_0x37ab7b[_0x4936f1(0x1d0)][_0x4936f1(0x1cb)](),_0x2295ad=new TextDecoder(),_0x14f039='';while(this[_0x4936f1(0x1bc)]){let {done:_0x53d81a,value:_0x93d298}=await _0x522075[_0x4936f1(0x1d3)]();if(_0x53d81a)break;_0x14f039+=_0x2295ad[_0x4936f1(0x1b4)](_0x93d298,{'stream':!0x0});let _0x33cdb8=_0x14f039[_0x4936f1(0x1f8)]('\x0a');_0x14f039=_0x33cdb8[_0x4936f1(0x1e2)]()||'';for(let _0x28f33d of _0x33cdb8){if(!_0x28f33d[_0x4936f1(0x1ea)]('data:\x20'))continue;try{let _0x2edc8d=JSON[_0x4936f1(0x1ce)](_0x28f33d[_0x4936f1(0x1ec)](0x6));if(_0x2edc8d['type']===_0x4936f1(0x1ba)){this[_0x4936f1(0x1fd)](_0x4936f1(0x1d9)),this[_0x4936f1(0x1f9)]('connected');continue;}if(_0x2edc8d[_0x4936f1(0x1e4)]===_0x4936f1(0x1b6)||_0x2edc8d['type']===_0x4936f1(0x1cf)||_0x2edc8d['type']===_0x4936f1(0x1e3))await this[_0x4936f1(0x201)]();}catch{}}}}catch(_0x54b0ae){if(_0x54b0ae[_0x4936f1(0x1b7)]===_0x4936f1(0x1d1))break;this[_0x4936f1(0x1f9)](_0x4936f1(0x1ca),_0x54b0ae),this[_0x4936f1(0x1fd)]('SSE\x20error:\x20'+_0x54b0ae[_0x4936f1(0x1c3)]);}if(this[_0x4936f1(0x1bc)])this[_0x4936f1(0x1f9)]('disconnected'),this[_0x4936f1(0x1fd)](_0x4936f1(0x1c8)+_0x4c0bd1/0x3e8+'s...'),await this[_0x4936f1(0x207)](_0x4c0bd1),_0x4c0bd1=Math[_0x4936f1(0x1e0)](_0x4c0bd1*1.5,0xea60);}}async[a0_0x1afe55(0x201)](){const _0x1d5f9c=a0_0x1afe55;try{let _0x437e33=(await this['call'](_0x1d5f9c(0x1f6),{'alias':this['alias'],'limit':0xa}))?.['messages']||[];for(let _0x3a36d0 of _0x437e33)await this[_0x1d5f9c(0x1ee)](_0x1d5f9c(0x1fb),{'alias':this['alias'],'message_id':_0x3a36d0['id']}),this[_0x1d5f9c(0x1fd)]('←\x20'+_0x3a36d0['from_session']+':\x20'+_0x3a36d0[_0x1d5f9c(0x204)][_0x1d5f9c(0x1ec)](0x0,0x3c)),this[_0x1d5f9c(0x1f9)](_0x1d5f9c(0x1d6),_0x3a36d0),this[_0x1d5f9c(0x1f9)]('message',_0x3a36d0);}catch(_0x3a742c){this[_0x1d5f9c(0x1fd)](_0x1d5f9c(0x1dc)+_0x3a742c[_0x1d5f9c(0x1c3)]);}}['sleep'](_0x4fd68e){return new Promise(_0x209a8d=>setTimeout(_0x209a8d,_0x4fd68e));}}var $=T;export{$ as default,T as CommHub};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env bun
2
- const a0_0x89dc75=a0_0x4d2a;(function(_0x2923f3,_0x576966){const _0x5eab70=a0_0x4d2a,_0x206844=_0x2923f3();while(!![]){try{const _0x1043a4=parseInt(_0x5eab70(0x222))/0x1+-parseInt(_0x5eab70(0x204))/0x2+-parseInt(_0x5eab70(0x23b))/0x3*(parseInt(_0x5eab70(0x1e8))/0x4)+-parseInt(_0x5eab70(0x234))/0x5+parseInt(_0x5eab70(0x262))/0x6+-parseInt(_0x5eab70(0x24a))/0x7*(-parseInt(_0x5eab70(0x218))/0x8)+parseInt(_0x5eab70(0x245))/0x9;if(_0x1043a4===_0x576966)break;else _0x206844['push'](_0x206844['shift']());}catch(_0x31f051){_0x206844['push'](_0x206844['shift']());}}}(a0_0x8f4f,0xb703a));import{readFileSync as a0_0x27139e,existsSync as a0_0x419d7d}from'fs';import{randomUUID as a0_0x165dec}from'crypto';import{join as a0_0x2b979e}from'path';import{hostname as a0_0x3ce3c4}from'os';import{execSync as a0_0x3e49b9}from'child_process';import{Server as a0_0x37111e}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x2dff84}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x121631,CallToolRequestSchema as a0_0x3ec5d0}from'@modelcontextprotocol/sdk/types.js';function p(_0x5c0d28){const _0x5a24c2=a0_0x4d2a;if(!a0_0x419d7d(_0x5c0d28))return;for(let _0x21fa5c of a0_0x27139e(_0x5c0d28,'utf-8')[_0x5a24c2(0x224)]('\x0a')){let _0x5a09f7=_0x21fa5c[_0x5a24c2(0x237)]();if(!_0x5a09f7||_0x5a09f7[_0x5a24c2(0x247)]('#'))continue;let _0x188d43=_0x5a09f7[_0x5a24c2(0x252)]('=');if(_0x188d43<0x0)continue;let _0x1372cb=_0x5a09f7[_0x5a24c2(0x1fd)](0x0,_0x188d43)['trim'](),_0xaed8cb=_0x5a09f7[_0x5a24c2(0x1fd)](_0x188d43+0x1)['trim']()[_0x5a24c2(0x1d9)](/^["']|["']$/g,'');if(!process.env[_0x1372cb])process.env[_0x1372cb]=_0xaed8cb;}}var C=process.env.HOME||'~',T=a0_0x2b979e(C,'.claude/channels/commhub');p(a0_0x2b979e(T,a0_0x89dc75(0x261)));var L=process[a0_0x89dc75(0x24e)]()[a0_0x89dc75(0x1d9)](/\//g,'-');p(a0_0x2b979e(T,L,a0_0x89dc75(0x261)));function a0_0x4d2a(_0x5c6d3b,_0x420f14){_0x5c6d3b=_0x5c6d3b-0x1d8;const _0x8f4fb3=a0_0x8f4f();let _0x4d2a1f=_0x8f4fb3[_0x5c6d3b];return _0x4d2a1f;}function U(){const _0x32288c=a0_0x89dc75;try{return a0_0x3e49b9(_0x32288c(0x1e2),{'encoding':_0x32288c(0x244),'timeout':0x7d0})[_0x32288c(0x237)]();}catch{return'';}}function v(){const _0x7ff8ca=a0_0x89dc75;try{let _0x316ba1=a0_0x2b979e(C,_0x7ff8ca(0x22c),_0x7ff8ca(0x254));if(a0_0x419d7d(_0x316ba1))return JSON[_0x7ff8ca(0x215)](a0_0x27139e(_0x316ba1,_0x7ff8ca(0x244)));}catch{}return{};}var H=v(),f=process.env.COMMHUB_URL||H[a0_0x89dc75(0x211)]||a0_0x89dc75(0x1f6),j=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||j||a0_0x3ce3c4(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x165dec(),X=process.env.COMMHUB_TOKEN||H['token']||'';function Y(_0x5db0d5){const _0x12914b=a0_0x89dc75;let _0x58a96a=new Date()['toTimeString']()['slice'](0x0,0x8);process[_0x12914b(0x1d8)][_0x12914b(0x1fb)]('['+_0x58a96a+']\x20[commhub]\x20'+_0x5db0d5+'\x0a');}function h(_0x1b5b28){return new Promise(_0x2c1ef8=>setTimeout(_0x2c1ef8,_0x1b5b28));}Y(a0_0x89dc75(0x227)+f+a0_0x89dc75(0x1f0)+Z+a0_0x89dc75(0x24c)+w['slice'](0x0,0x8)+'...\x20TMUX='+(j||'none')+'\x20CWD='+process['cwd']()+'\x20PROJECT_ENV='+L);var k=new Map(),K=new a0_0x37111e({'name':a0_0x89dc75(0x256),'version':a0_0x89dc75(0x1ef)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x89dc75(0x24f),a0_0x89dc75(0x1f3),a0_0x89dc75(0x23d),a0_0x89dc75(0x225),a0_0x89dc75(0x258)+Z]['join']('\x0a')});K[a0_0x89dc75(0x228)](a0_0x121631,async()=>({'tools':[{'name':a0_0x89dc75(0x1e6),'description':a0_0x89dc75(0x217),'inputSchema':{'type':a0_0x89dc75(0x242),'properties':{'task_id':{'type':a0_0x89dc75(0x23c),'description':a0_0x89dc75(0x238)},'text':{'type':a0_0x89dc75(0x23c),'description':a0_0x89dc75(0x24b)},'status':{'type':'string','enum':[a0_0x89dc75(0x25d),a0_0x89dc75(0x20c),a0_0x89dc75(0x230),'blocked',a0_0x89dc75(0x25c),'in_progress'],'description':'Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'}},'required':[a0_0x89dc75(0x1e1)]}},{'name':a0_0x89dc75(0x1e9),'description':a0_0x89dc75(0x251),'inputSchema':{'type':a0_0x89dc75(0x242),'properties':{'status':{'type':a0_0x89dc75(0x23c),'enum':[a0_0x89dc75(0x249),'idle',a0_0x89dc75(0x1f7),a0_0x89dc75(0x25c)]},'task':{'type':'string','description':'Current\x20task\x20description'},'progress':{'type':'number','description':a0_0x89dc75(0x264)}},'required':[a0_0x89dc75(0x229)]}},{'name':a0_0x89dc75(0x1dd),'description':a0_0x89dc75(0x260),'inputSchema':{'type':a0_0x89dc75(0x242),'properties':{'alias':{'type':'string','description':a0_0x89dc75(0x1e3)},'task':{'type':a0_0x89dc75(0x23c),'description':a0_0x89dc75(0x1f9)},'priority':{'type':a0_0x89dc75(0x23c),'enum':[a0_0x89dc75(0x1fc),a0_0x89dc75(0x21f),a0_0x89dc75(0x1ec)],'description':a0_0x89dc75(0x226)}},'required':[a0_0x89dc75(0x232),a0_0x89dc75(0x21b)]}},{'name':a0_0x89dc75(0x21e),'description':a0_0x89dc75(0x1ed),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x89dc75(0x23c),'description':a0_0x89dc75(0x1e3)},'message':{'type':a0_0x89dc75(0x23c),'description':a0_0x89dc75(0x23f)}},'required':[a0_0x89dc75(0x232),'message']}},{'name':'commhub_get_all_status','description':a0_0x89dc75(0x21a),'inputSchema':{'type':a0_0x89dc75(0x242),'properties':{}}}]}));async function P(_0x1ad581,_0x3d993a){const _0x116a21=a0_0x89dc75;let _0x34b44c=await fetch(f+_0x116a21(0x208),{'method':'POST','headers':{'Content-Type':_0x116a21(0x23a),'Accept':_0x116a21(0x1fe),...X?{'Authorization':'Bearer\x20'+X}:{}},'body':JSON[_0x116a21(0x1e4)]({'jsonrpc':_0x116a21(0x22b),'id':0x1,'method':_0x116a21(0x20b),'params':{'protocolVersion':_0x116a21(0x1db),'capabilities':{},'clientInfo':{'name':_0x116a21(0x256),'version':_0x116a21(0x1ef)}}})});if(!_0x34b44c['ok']){let _0x40b261=await _0x34b44c[_0x116a21(0x1e1)]();return Y(_0x116a21(0x233)+_0x34b44c[_0x116a21(0x229)]+'\x20'+_0x40b261[_0x116a21(0x1fd)](0x0,0x64)),{'ok':!0x1,'error':_0x116a21(0x1ea)+_0x34b44c['status']};}await _0x34b44c[_0x116a21(0x1e1)]();let _0x12a374=(await(await fetch(f+_0x116a21(0x208),{'method':_0x116a21(0x1f5),'headers':{'Content-Type':_0x116a21(0x23a),'Accept':_0x116a21(0x1fe),...X?{'Authorization':_0x116a21(0x22f)+X}:{}},'body':JSON[_0x116a21(0x1e4)]({'jsonrpc':_0x116a21(0x22b),'id':0x2,'method':_0x116a21(0x243),'params':{'name':_0x1ad581,'arguments':_0x3d993a}})}))[_0x116a21(0x1e1)]())[_0x116a21(0x224)]('\x0a')[_0x116a21(0x1da)](_0x392298=>_0x392298[_0x116a21(0x247)](_0x116a21(0x22a)));if(_0x12a374){let _0x340a32=JSON['parse'](_0x12a374[_0x116a21(0x1fd)](0x6));return _0x340a32?.[_0x116a21(0x1ee)]?.[_0x116a21(0x248)]?.[0x0]?.['text']?JSON['parse'](_0x340a32[_0x116a21(0x1ee)][_0x116a21(0x248)][0x0]['text']):_0x340a32;}return{'ok':!0x1,'error':_0x116a21(0x1de)};}K[a0_0x89dc75(0x228)](a0_0x3ec5d0,async _0x2a702a=>{const _0x3ecdd6=a0_0x89dc75;let {name:_0x44f8a3,arguments:_0x1a8f41}=_0x2a702a[_0x3ecdd6(0x209)];if(_0x44f8a3===_0x3ecdd6(0x1e6)){let {task_id:_0x27c30b,text:_0x2f37f3,status:_0x4df22d}=_0x1a8f41;if(_0x4df22d===_0x3ecdd6(0x25d)||_0x4df22d==='failed'||_0x4df22d===_0x3ecdd6(0x230)){let _0x2c010b=_0x4df22d===_0x3ecdd6(0x25d)?_0x3ecdd6(0x1e0):_0x4df22d,_0x1d5463=_0x27c30b?k[_0x3ecdd6(0x1eb)](_0x27c30b)||_0x3ecdd6(0x211):_0x3ecdd6(0x211),_0x25f66a=await P(_0x3ecdd6(0x25a),{'alias':_0x1d5463,'text':_0x2f37f3,'in_reply_to':_0x27c30b||void 0x0,'status':_0x2c010b,'from_session':Z});if(_0x27c30b)k[_0x3ecdd6(0x24d)](_0x27c30b);return{'content':[{'type':_0x3ecdd6(0x1e1),'text':JSON[_0x3ecdd6(0x1e4)](_0x25f66a)}]};}let _0x5c002f=await P('report_status',{'resume_id':w,'alias':Z,'status':_0x4df22d===_0x3ecdd6(0x1f7)?_0x3ecdd6(0x1f7):_0x4df22d==='error'?_0x3ecdd6(0x25c):_0x3ecdd6(0x249),'task':_0x2f37f3['slice'](0x0,0xc8),'output':_0x2f37f3});return{'content':[{'type':_0x3ecdd6(0x1e1),'text':JSON[_0x3ecdd6(0x1e4)](_0x5c002f)}]};}if(_0x44f8a3===_0x3ecdd6(0x1e9)){let {status:_0x143540,task:_0x2db65e,progress:_0x2c666f}=_0x1a8f41,_0x3d207a=await P(_0x3ecdd6(0x1f1),{'resume_id':w,'alias':Z,'status':_0x143540,'task':_0x2db65e,'progress':_0x2c666f});return{'content':[{'type':_0x3ecdd6(0x1e1),'text':JSON[_0x3ecdd6(0x1e4)](_0x3d207a)}]};}if(_0x44f8a3===_0x3ecdd6(0x1dd)){let {alias:_0x6bdb87,task:_0x58a45c,priority:_0x202da0}=_0x1a8f41,_0x51b0dc=await P(_0x3ecdd6(0x212),{'alias':_0x6bdb87,'task':_0x58a45c,'priority':_0x202da0||'normal','from_session':Z});return{'content':[{'type':_0x3ecdd6(0x1e1),'text':JSON['stringify'](_0x51b0dc)}]};}if(_0x44f8a3===_0x3ecdd6(0x21e)){let {alias:_0x3cc5c3,message:_0x2a6475}=_0x1a8f41,_0x315321=await P(_0x3ecdd6(0x213),{'alias':_0x3cc5c3,'message':_0x2a6475,'from_session':Z});return{'content':[{'type':'text','text':JSON[_0x3ecdd6(0x1e4)](_0x315321)}]};}if(_0x44f8a3===_0x3ecdd6(0x20a)){let _0x342a60=await P(_0x3ecdd6(0x1f8),{});return{'content':[{'type':_0x3ecdd6(0x1e1),'text':JSON[_0x3ecdd6(0x1e4)](_0x342a60)}]};}return{'content':[{'type':_0x3ecdd6(0x1e1),'text':JSON['stringify']({'error':_0x3ecdd6(0x203)})}]};});function a0_0x8f4f(){const _0xda532=['SSE\x20stream\x20ended,\x20reconnecting...','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','168ivuAsk','connected','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','task','set','SSE\x20connection\x20error:\x20','commhub_send_message','normal','/events/','pop','393846fAAFVz','ack_inbox','split','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','Priority\x20(default:\x20normal)','ENV:\x20URL=','setRequestHandler','status','data:\x20','2.0','.anet','getReader','MCP\x20stdio\x20connected','Bearer\x20','cancelled','end','alias','CommHub\x20init\x20failed:\x20','2151390toLsSE','SSE\x20error:\x20','\x20from\x20','trim','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','claude-code','application/json','3AeTgAc','string','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','exit','Message\x20content','SIGTERM','notification','object','tools/call','utf-8','5320476QAGKFZ','body','startsWith','content','working','114527eRnloJ','Reply\x20text\x20/\x20result\x20summary','\x20RESUME_ID=','delete','cwd','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','ready\x20—\x20waiting\x20for\x20events','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','indexOf','priority','config.json','connecting\x20to\x20','commhub-channel','SIGINT','Session\x20alias:\x20','message','send_reply','heartbeat\x20failed:\x20','error','completed','\x20priority=','inbox_count','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','.env','2759538qjRtUl','new_message','Progress\x200-100','stderr','replace','find','2025-03-26','session\x20disconnected','commhub_send_task','no\x20response','type','replied','text','tmux\x20display-message\x20-p\x20\x27#S\x27','Target\x20session\x20alias','stringify','commhub','commhub_reply','then','1640612NKUwhs','commhub_report_status','init\x20failed:\x20','get','low','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','result','0.3.0','\x20ALIAS=','report_status','←\x20message\x20from\x20','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','message_id','POST','http://127.0.0.1:9200','blocked','get_all_status','Task\x20content','SSE\x20connected\x20as\x20\x22','write','high','slice','application/json,\x20text/event-stream','broadcast','idle','shutting\x20down,\x20reporting\x20offline...','connect','unknown\x20tool','396914HPplyS','→\x20injected\x20task\x20','get_inbox','notifications/claude/channel','/mcp','params','commhub_get_all_status','initialize','failed','from_session','starting\x20SSE\x20listener...','Authorization','catch','hub','send_task','send_message','messages','parse'];a0_0x8f4f=function(){return _0xda532;};return a0_0x8f4f();}async function u(){const _0x4a588e=a0_0x89dc75;let _0x1d7ce5=f+_0x4a588e(0x220)+encodeURIComponent(Z),_0x46c71a={};if(X)_0x46c71a[_0x4a588e(0x20f)]=_0x4a588e(0x22f)+X;Y(_0x4a588e(0x255)+_0x1d7ce5);while(!0x0){try{let _0x38d572=await fetch(_0x1d7ce5,{'headers':_0x46c71a});if(!_0x38d572['ok']){Y(_0x4a588e(0x235)+_0x38d572[_0x4a588e(0x229)]+'\x20'+_0x38d572['statusText']),await h(0x1388);continue;}let _0xfd0c1a=_0x38d572[_0x4a588e(0x246)][_0x4a588e(0x22d)](),_0x472bf7=new TextDecoder(),_0x3c1dc3='';while(!0x0){let {done:_0x202610,value:_0x46e703}=await _0xfd0c1a['read']();if(_0x202610)break;_0x3c1dc3+=_0x472bf7['decode'](_0x46e703,{'stream':!0x0});let _0x1ced88=_0x3c1dc3[_0x4a588e(0x224)]('\x0a\x0a');_0x3c1dc3=_0x1ced88[_0x4a588e(0x221)]()||'';for(let _0x50adf2 of _0x1ced88){let _0x14aca0=_0x50adf2[_0x4a588e(0x224)]('\x0a')[_0x4a588e(0x1da)](_0xbd9635=>_0xbd9635['startsWith'](_0x4a588e(0x22a)));if(!_0x14aca0)continue;try{let _0x370ed9=JSON[_0x4a588e(0x215)](_0x14aca0[_0x4a588e(0x1fd)](0x6));await S(_0x370ed9);}catch(_0x2a5161){Y('parse\x20error:\x20'+_0x2a5161);}}}Y(_0x4a588e(0x216));}catch(_0xa7b7fd){Y(_0x4a588e(0x21d)+_0xa7b7fd);}await h(0xbb8);}}async function S(_0xc1cc3e){const _0xdf3ac3=a0_0x89dc75;if(_0xc1cc3e['type']===_0xdf3ac3(0x219)){Y(_0xdf3ac3(0x1fa)+Z+'\x22');return;}if(_0xc1cc3e['type']===_0xdf3ac3(0x263)){if(Y(_0xdf3ac3(0x1f2)+_0xc1cc3e['from']+':\x20'+_0xc1cc3e['message']['slice'](0x0,0x3c)),await K[_0xdf3ac3(0x241)]({'method':_0xdf3ac3(0x207),'params':{'content':_0xc1cc3e[_0xdf3ac3(0x259)],'meta':{'sender':_0xc1cc3e['from']||'hub','sender_id':'commhub','user':_0xc1cc3e['from']||'hub','priority':_0xdf3ac3(0x21f)}}}),_0xc1cc3e[_0xdf3ac3(0x1f4)])await P('ack_inbox',{'alias':Z,'message_id':_0xc1cc3e[_0xdf3ac3(0x1f4)]});return;}if(_0xc1cc3e[_0xdf3ac3(0x1df)]==='new_task'||_0xc1cc3e[_0xdf3ac3(0x1df)]===_0xdf3ac3(0x1ff)){Y('←\x20'+_0xc1cc3e['type']+':\x20inbox_count='+_0xc1cc3e[_0xdf3ac3(0x25f)]+_0xdf3ac3(0x25e)+(_0xc1cc3e[_0xdf3ac3(0x253)]||'normal'));let _0x54bedb=await P(_0xdf3ac3(0x206),{'alias':Z,'limit':0x5});if(_0x54bedb?.['ok']&&_0x54bedb[_0xdf3ac3(0x214)]?.['length']>0x0)for(let _0x2b7e47 of _0x54bedb[_0xdf3ac3(0x214)]){let _0x445c17={'sender':_0x2b7e47[_0xdf3ac3(0x20d)]||_0xdf3ac3(0x211),'sender_id':_0xdf3ac3(0x1e5),'user':_0x2b7e47[_0xdf3ac3(0x20d)]||_0xdf3ac3(0x211),'task_id':_0x2b7e47['id'],'priority':_0x2b7e47['priority']||_0xdf3ac3(0x21f)};k[_0xdf3ac3(0x21c)](_0x2b7e47['id'],_0x2b7e47['from_session']||_0xdf3ac3(0x211)),await K[_0xdf3ac3(0x241)]({'method':'notifications/claude/channel','params':{'content':_0x2b7e47['content'],'meta':_0x445c17}}),Y(_0xdf3ac3(0x205)+_0x2b7e47['id'][_0xdf3ac3(0x1fd)](0x0,0x8)+_0xdf3ac3(0x236)+_0x2b7e47[_0xdf3ac3(0x20d)]+':\x20'+_0x2b7e47['content'][_0xdf3ac3(0x1fd)](0x0,0x3c)),await P(_0xdf3ac3(0x223),{'alias':Z,'message_id':_0x2b7e47['id']});}}}async function A(){const _0x50fdef=a0_0x89dc75;let _0xe15f31=new a0_0x2dff84();await K[_0x50fdef(0x202)](_0xe15f31),Y(_0x50fdef(0x22e)),Y(_0x50fdef(0x20e)),u()[_0x50fdef(0x210)](_0x10b32e=>Y('SSE\x20fatal:\x20'+_0x10b32e)),P('report_status',{'resume_id':w,'alias':Z,'status':_0x50fdef(0x200),'server':a0_0x3ce3c4(),'hostname':a0_0x3ce3c4(),'agent':'claude-code','project_dir':process[_0x50fdef(0x24e)](),'tmux_name':j||void 0x0})[_0x50fdef(0x1e7)](()=>Y('registered\x20as\x20\x22'+Z+'\x22\x20('+w['slice'](0x0,0x8)+')'))[_0x50fdef(0x210)](_0x3de786=>Y('warning:\x20could\x20not\x20register:\x20'+_0x3de786)),setInterval(()=>{const _0x29b5d0=_0x50fdef;P(_0x29b5d0(0x1f1),{'resume_id':w,'alias':Z,'status':_0x29b5d0(0x200),'server':a0_0x3ce3c4(),'hostname':a0_0x3ce3c4(),'agent':_0x29b5d0(0x239),'project_dir':process[_0x29b5d0(0x24e)](),'tmux_name':j||void 0x0})[_0x29b5d0(0x210)](_0x53792a=>Y(_0x29b5d0(0x25b)+_0x53792a));},0x2bf20),Y(_0x50fdef(0x250));}A()[a0_0x89dc75(0x210)](_0x5b44df=>{const _0x483494=a0_0x89dc75;Y('fatal:\x20'+_0x5b44df),process[_0x483494(0x23e)](0x1);});async function N(){const _0x240363=a0_0x89dc75;Y(_0x240363(0x201)),await P(_0x240363(0x1f1),{'resume_id':w,'alias':Z,'status':'error','task':_0x240363(0x1dc)})[_0x240363(0x210)](()=>{}),process['exit'](0x0);}process['stdin']['on'](a0_0x89dc75(0x231),()=>N()),process['on'](a0_0x89dc75(0x240),()=>N()),process['on'](a0_0x89dc75(0x257),()=>N());
2
+ const a0_0x145213=a0_0x1726;(function(_0x35d1b7,_0x55a4d8){const _0x3f9b18=a0_0x1726,_0x12ded9=_0x35d1b7();while(!![]){try{const _0x2e52be=parseInt(_0x3f9b18(0x22a))/0x1+parseInt(_0x3f9b18(0x246))/0x2+-parseInt(_0x3f9b18(0x221))/0x3*(-parseInt(_0x3f9b18(0x1fe))/0x4)+-parseInt(_0x3f9b18(0x1dd))/0x5+parseInt(_0x3f9b18(0x253))/0x6+-parseInt(_0x3f9b18(0x1d4))/0x7*(parseInt(_0x3f9b18(0x210))/0x8)+parseInt(_0x3f9b18(0x1f4))/0x9*(-parseInt(_0x3f9b18(0x1e0))/0xa);if(_0x2e52be===_0x55a4d8)break;else _0x12ded9['push'](_0x12ded9['shift']());}catch(_0x40303a){_0x12ded9['push'](_0x12ded9['shift']());}}}(a0_0x2c08,0xcafd4));import{readFileSync as a0_0x877ba6,existsSync as a0_0x1aea09}from'fs';import{randomUUID as a0_0x5016fd}from'crypto';import{join as a0_0x17586f}from'path';import{hostname as a0_0x4f0241}from'os';import{execSync as a0_0x3c53fb}from'child_process';import{Server as a0_0x538177}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x82e55d}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x5d9c02,CallToolRequestSchema as a0_0x2fb0ef}from'@modelcontextprotocol/sdk/types.js';function p(_0x16f7ea){const _0x431a32=a0_0x1726;if(!a0_0x1aea09(_0x16f7ea))return;for(let _0x4f2737 of a0_0x877ba6(_0x16f7ea,_0x431a32(0x22c))[_0x431a32(0x1f2)]('\x0a')){let _0x4ba3f6=_0x4f2737[_0x431a32(0x21c)]();if(!_0x4ba3f6||_0x4ba3f6[_0x431a32(0x211)]('#'))continue;let _0x509b56=_0x4ba3f6[_0x431a32(0x23f)]('=');if(_0x509b56<0x0)continue;let _0x285ee9=_0x4ba3f6[_0x431a32(0x214)](0x0,_0x509b56)['trim'](),_0x4d9aa0=_0x4ba3f6[_0x431a32(0x214)](_0x509b56+0x1)[_0x431a32(0x21c)]()['replace'](/^["']|["']$/g,'');if(!process.env[_0x285ee9])process.env[_0x285ee9]=_0x4d9aa0;}}var C=process.env.HOME||'~',T=a0_0x17586f(C,a0_0x145213(0x203));p(a0_0x17586f(T,a0_0x145213(0x1df)));var L=process[a0_0x145213(0x256)]()[a0_0x145213(0x1ef)](/\//g,'-');function a0_0x1726(_0x143ff0,_0x51d18d){_0x143ff0=_0x143ff0-0x1cd;const _0x2c0855=a0_0x2c08();let _0x1726b7=_0x2c0855[_0x143ff0];return _0x1726b7;}p(a0_0x17586f(T,L,a0_0x145213(0x1df)));function U(){const _0x23ea82=a0_0x145213;try{return a0_0x3c53fb(_0x23ea82(0x206),{'encoding':_0x23ea82(0x22c),'timeout':0x7d0})['trim']();}catch{return'';}}function v(){const _0x56beeb=a0_0x145213;try{let _0x27de68=a0_0x17586f(C,'.anet',_0x56beeb(0x1d5));if(a0_0x1aea09(_0x27de68))return JSON[_0x56beeb(0x1f1)](a0_0x877ba6(_0x27de68,'utf-8'));}catch{}return{};}var H=v(),f=process.env.COMMHUB_URL||H[a0_0x145213(0x1fa)]||a0_0x145213(0x1da),j=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||j||a0_0x4f0241(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x5016fd(),X=process.env.COMMHUB_TOKEN||H[a0_0x145213(0x231)]||'';function Y(_0x5e9274){const _0x59c0ea=a0_0x145213;let _0x3fefa4=new Date()['toTimeString']()[_0x59c0ea(0x214)](0x0,0x8);process[_0x59c0ea(0x222)]['write']('['+_0x3fefa4+_0x59c0ea(0x1d6)+_0x5e9274+'\x0a');}function h(_0x26d56d){return new Promise(_0x4a9cd9=>setTimeout(_0x4a9cd9,_0x26d56d));}Y('ENV:\x20URL='+f+a0_0x145213(0x1db)+Z+'\x20RESUME_ID='+w[a0_0x145213(0x214)](0x0,0x8)+'...\x20TMUX='+(j||a0_0x145213(0x215))+a0_0x145213(0x1ce)+process['cwd']()+a0_0x145213(0x1e3)+L);function a0_0x2c08(){const _0x27079c=['indexOf','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','high','heartbeat\x20failed:\x20','shutting\x20down,\x20reporting\x20offline...','completed','replied','612212OKhKbv','init\x20failed:\x20','2.0','pop','report_status','length','status','stdin','stringify','notifications/claude/channel','tools/call','getReader','commhub-channel','7773852BsgEKb','catch','new_task','cwd','Task\x20content','then','SIGINT','messages','blocked','SSE\x20error:\x20','from','\x20CWD=','Target\x20session\x20alias','alias','commhub_send_message','task','type','9087547JFEpBr','config.json',']\x20[commhub]\x20','\x20from\x20','object','send_message','http://127.0.0.1:9200','\x20ALIAS=','notification','5009330KkibmC','/mcp','.env','40ZtkYuo','commhub','fatal:\x20','\x20PROJECT_ENV=','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','cancelled','connecting\x20to\x20','SSE\x20connected\x20as\x20\x22','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','error','find','number','SSE\x20fatal:\x20','Reply\x20text\x20/\x20result\x20summary','unknown\x20tool','replace','commhub_reply','parse','split','get_all_status','374553OtImUn','text','application/json,\x20text/event-stream','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','ready\x20—\x20waiting\x20for\x20events','←\x20message\x20from\x20','hub','join','get','string','4ecbYyX','message_id','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','CommHub\x20init\x20failed:\x20','exit','.claude/channels/commhub','POST','registered\x20as\x20\x22','tmux\x20display-message\x20-p\x20\x27#S\x27','→\x20injected\x20task\x20','inbox_count','failed','\x20priority=','commhub_report_status','message','delete','content','result','8LTgpyQ','startsWith','priority','session\x20disconnected','slice','none','from_session','commhub_get_all_status','data:\x20','claude-code','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','decode','trim','warning:\x20could\x20not\x20register:\x20','commhub_send_task',':\x20inbox_count=','setRequestHandler','460428kWRpvM','stderr','params','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','SSE\x20connection\x20error:\x20','Message\x20content','MCP\x20stdio\x20connected','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','ack_inbox','1542775IjGVUx','2025-03-26','utf-8','broadcast','normal','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','SIGTERM','token','Bearer\x20','connected','application/json','parse\x20error:\x20','Progress\x200-100','idle','starting\x20SSE\x20listener...','SSE\x20stream\x20ended,\x20reconnecting...','working','0.3.0','Priority\x20(default:\x20normal)','send_reply','statusText'];a0_0x2c08=function(){return _0x27079c;};return a0_0x2c08();}var k=new Map(),K=new a0_0x538177({'name':'commhub-channel','version':a0_0x145213(0x23b)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x145213(0x1e4),'These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.',a0_0x145213(0x224),'You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','Session\x20alias:\x20'+Z][a0_0x145213(0x1fb)]('\x0a')});K[a0_0x145213(0x220)](a0_0x5d9c02,async()=>({'tools':[{'name':a0_0x145213(0x1f0),'description':a0_0x145213(0x240),'inputSchema':{'type':a0_0x145213(0x1d8),'properties':{'task_id':{'type':'string','description':a0_0x145213(0x1f7)},'text':{'type':a0_0x145213(0x1fd),'description':a0_0x145213(0x1ed)},'status':{'type':'string','enum':[a0_0x145213(0x244),'failed',a0_0x145213(0x1e5),a0_0x145213(0x25b),'error','in_progress'],'description':a0_0x145213(0x22f)}},'required':[a0_0x145213(0x1f5)]}},{'name':a0_0x145213(0x20b),'description':a0_0x145213(0x228),'inputSchema':{'type':'object','properties':{'status':{'type':a0_0x145213(0x1fd),'enum':[a0_0x145213(0x23a),a0_0x145213(0x237),'blocked','error']},'task':{'type':a0_0x145213(0x1fd),'description':'Current\x20task\x20description'},'progress':{'type':a0_0x145213(0x1eb),'description':a0_0x145213(0x236)}},'required':[a0_0x145213(0x24c)]}},{'name':a0_0x145213(0x21e),'description':a0_0x145213(0x1e8),'inputSchema':{'type':a0_0x145213(0x1d8),'properties':{'alias':{'type':a0_0x145213(0x1fd),'description':a0_0x145213(0x1cf)},'task':{'type':a0_0x145213(0x1fd),'description':a0_0x145213(0x257)},'priority':{'type':a0_0x145213(0x1fd),'enum':[a0_0x145213(0x241),a0_0x145213(0x22e),'low'],'description':a0_0x145213(0x23c)}},'required':[a0_0x145213(0x1d0),a0_0x145213(0x1d2)]}},{'name':a0_0x145213(0x1d1),'description':a0_0x145213(0x21a),'inputSchema':{'type':a0_0x145213(0x1d8),'properties':{'alias':{'type':a0_0x145213(0x1fd),'description':'Target\x20session\x20alias'},'message':{'type':'string','description':a0_0x145213(0x226)}},'required':[a0_0x145213(0x1d0),a0_0x145213(0x20c)]}},{'name':a0_0x145213(0x217),'description':a0_0x145213(0x200),'inputSchema':{'type':a0_0x145213(0x1d8),'properties':{}}}]}));async function P(_0x2d0b16,_0x573b9c){const _0x1491ae=a0_0x145213;let _0x274b8f=await fetch(f+_0x1491ae(0x1de),{'method':_0x1491ae(0x204),'headers':{'Content-Type':_0x1491ae(0x234),'Accept':_0x1491ae(0x1f6),...X?{'Authorization':'Bearer\x20'+X}:{}},'body':JSON[_0x1491ae(0x24e)]({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x1491ae(0x22b),'capabilities':{},'clientInfo':{'name':_0x1491ae(0x252),'version':'0.3.0'}}})});if(!_0x274b8f['ok']){let _0x1c88f9=await _0x274b8f[_0x1491ae(0x1f5)]();return Y(_0x1491ae(0x201)+_0x274b8f[_0x1491ae(0x24c)]+'\x20'+_0x1c88f9[_0x1491ae(0x214)](0x0,0x64)),{'ok':!0x1,'error':_0x1491ae(0x247)+_0x274b8f[_0x1491ae(0x24c)]};}await _0x274b8f[_0x1491ae(0x1f5)]();let _0x585808=(await(await fetch(f+_0x1491ae(0x1de),{'method':_0x1491ae(0x204),'headers':{'Content-Type':_0x1491ae(0x234),'Accept':_0x1491ae(0x1f6),...X?{'Authorization':_0x1491ae(0x232)+X}:{}},'body':JSON[_0x1491ae(0x24e)]({'jsonrpc':_0x1491ae(0x248),'id':0x2,'method':_0x1491ae(0x250),'params':{'name':_0x2d0b16,'arguments':_0x573b9c}})}))['text']())[_0x1491ae(0x1f2)]('\x0a')[_0x1491ae(0x1ea)](_0x3d2da4=>_0x3d2da4['startsWith'](_0x1491ae(0x218)));if(_0x585808){let _0x49b8a=JSON['parse'](_0x585808[_0x1491ae(0x214)](0x6));return _0x49b8a?.[_0x1491ae(0x20f)]?.[_0x1491ae(0x20e)]?.[0x0]?.[_0x1491ae(0x1f5)]?JSON[_0x1491ae(0x1f1)](_0x49b8a[_0x1491ae(0x20f)][_0x1491ae(0x20e)][0x0]['text']):_0x49b8a;}return{'ok':!0x1,'error':'no\x20response'};}K[a0_0x145213(0x220)](a0_0x2fb0ef,async _0x130297=>{const _0x46cf07=a0_0x145213;let {name:_0x1d7094,arguments:_0xb0b89e}=_0x130297[_0x46cf07(0x223)];if(_0x1d7094===_0x46cf07(0x1f0)){let {task_id:_0x286df7,text:_0x421a27,status:_0x5a8ae9}=_0xb0b89e;if(_0x5a8ae9===_0x46cf07(0x244)||_0x5a8ae9===_0x46cf07(0x209)||_0x5a8ae9===_0x46cf07(0x1e5)){let _0x45bdf0=_0x5a8ae9==='completed'?_0x46cf07(0x245):_0x5a8ae9,_0x5d43ad=_0x286df7?k[_0x46cf07(0x1fc)](_0x286df7)||_0x46cf07(0x1fa):_0x46cf07(0x1fa),_0x4e1b59=await P(_0x46cf07(0x23d),{'alias':_0x5d43ad,'text':_0x421a27,'in_reply_to':_0x286df7||void 0x0,'status':_0x45bdf0,'from_session':Z});if(_0x286df7)k[_0x46cf07(0x20d)](_0x286df7);return{'content':[{'type':_0x46cf07(0x1f5),'text':JSON[_0x46cf07(0x24e)](_0x4e1b59)}]};}let _0x553aa4=await P(_0x46cf07(0x24a),{'resume_id':w,'alias':Z,'status':_0x5a8ae9==='blocked'?_0x46cf07(0x25b):_0x5a8ae9===_0x46cf07(0x1e9)?_0x46cf07(0x1e9):_0x46cf07(0x23a),'task':_0x421a27[_0x46cf07(0x214)](0x0,0xc8),'output':_0x421a27});return{'content':[{'type':_0x46cf07(0x1f5),'text':JSON[_0x46cf07(0x24e)](_0x553aa4)}]};}if(_0x1d7094==='commhub_report_status'){let {status:_0x4a41ca,task:_0x12374d,progress:_0x5c2554}=_0xb0b89e,_0x2841fd=await P(_0x46cf07(0x24a),{'resume_id':w,'alias':Z,'status':_0x4a41ca,'task':_0x12374d,'progress':_0x5c2554});return{'content':[{'type':_0x46cf07(0x1f5),'text':JSON[_0x46cf07(0x24e)](_0x2841fd)}]};}if(_0x1d7094===_0x46cf07(0x21e)){let {alias:_0x39989c,task:_0x31500f,priority:_0x205336}=_0xb0b89e,_0x59d9fd=await P('send_task',{'alias':_0x39989c,'task':_0x31500f,'priority':_0x205336||_0x46cf07(0x22e),'from_session':Z});return{'content':[{'type':_0x46cf07(0x1f5),'text':JSON[_0x46cf07(0x24e)](_0x59d9fd)}]};}if(_0x1d7094===_0x46cf07(0x1d1)){let {alias:_0x3f0733,message:_0x37a313}=_0xb0b89e,_0x557db9=await P(_0x46cf07(0x1d9),{'alias':_0x3f0733,'message':_0x37a313,'from_session':Z});return{'content':[{'type':'text','text':JSON[_0x46cf07(0x24e)](_0x557db9)}]};}if(_0x1d7094===_0x46cf07(0x217)){let _0xfdc06f=await P(_0x46cf07(0x1f3),{});return{'content':[{'type':_0x46cf07(0x1f5),'text':JSON[_0x46cf07(0x24e)](_0xfdc06f)}]};}return{'content':[{'type':_0x46cf07(0x1f5),'text':JSON['stringify']({'error':_0x46cf07(0x1ee)})}]};});async function u(){const _0x15b440=a0_0x145213;let _0x5ce6bd=f+'/events/'+encodeURIComponent(Z),_0x3ad54b={};if(X)_0x3ad54b['Authorization']='Bearer\x20'+X;Y(_0x15b440(0x1e6)+_0x5ce6bd);while(!0x0){try{let _0x53202e=await fetch(_0x5ce6bd,{'headers':_0x3ad54b});if(!_0x53202e['ok']){Y(_0x15b440(0x25c)+_0x53202e['status']+'\x20'+_0x53202e[_0x15b440(0x23e)]),await h(0x1388);continue;}let _0x5243e4=_0x53202e['body'][_0x15b440(0x251)](),_0xe2da19=new TextDecoder(),_0x5446df='';while(!0x0){let {done:_0x4f76f2,value:_0x126c49}=await _0x5243e4['read']();if(_0x4f76f2)break;_0x5446df+=_0xe2da19[_0x15b440(0x21b)](_0x126c49,{'stream':!0x0});let _0x5d5bdb=_0x5446df[_0x15b440(0x1f2)]('\x0a\x0a');_0x5446df=_0x5d5bdb[_0x15b440(0x249)]()||'';for(let _0x309708 of _0x5d5bdb){let _0x154dba=_0x309708[_0x15b440(0x1f2)]('\x0a')[_0x15b440(0x1ea)](_0x34783c=>_0x34783c[_0x15b440(0x211)]('data:\x20'));if(!_0x154dba)continue;try{let _0x3095ba=JSON['parse'](_0x154dba['slice'](0x6));await S(_0x3095ba);}catch(_0x4eb15e){Y(_0x15b440(0x235)+_0x4eb15e);}}}Y(_0x15b440(0x239));}catch(_0x26eda9){Y(_0x15b440(0x225)+_0x26eda9);}await h(0xbb8);}}async function S(_0x3bae2d){const _0x8e2267=a0_0x145213;if(_0x3bae2d[_0x8e2267(0x1d3)]===_0x8e2267(0x233)){Y(_0x8e2267(0x1e7)+Z+'\x22');return;}if(_0x3bae2d[_0x8e2267(0x1d3)]==='new_message'){if(Y(_0x8e2267(0x1f9)+_0x3bae2d['from']+':\x20'+_0x3bae2d['message'][_0x8e2267(0x214)](0x0,0x3c)),await K[_0x8e2267(0x1dc)]({'method':_0x8e2267(0x24f),'params':{'content':_0x3bae2d['message'],'meta':{'sender':_0x3bae2d[_0x8e2267(0x1cd)]||_0x8e2267(0x1fa),'sender_id':_0x8e2267(0x1e1),'user':_0x3bae2d['from']||'hub','priority':_0x8e2267(0x22e)}}}),_0x3bae2d[_0x8e2267(0x1ff)])await P(_0x8e2267(0x229),{'alias':Z,'message_id':_0x3bae2d[_0x8e2267(0x1ff)]});return;}if(_0x3bae2d[_0x8e2267(0x1d3)]===_0x8e2267(0x255)||_0x3bae2d['type']===_0x8e2267(0x22d)){Y('←\x20'+_0x3bae2d[_0x8e2267(0x1d3)]+_0x8e2267(0x21f)+_0x3bae2d[_0x8e2267(0x208)]+_0x8e2267(0x20a)+(_0x3bae2d['priority']||_0x8e2267(0x22e)));let _0x521231=await P('get_inbox',{'alias':Z,'limit':0x5});if(_0x521231?.['ok']&&_0x521231['messages']?.[_0x8e2267(0x24b)]>0x0)for(let _0x36caf4 of _0x521231[_0x8e2267(0x25a)]){let _0x5e41a4={'sender':_0x36caf4[_0x8e2267(0x216)]||_0x8e2267(0x1fa),'sender_id':_0x8e2267(0x1e1),'user':_0x36caf4[_0x8e2267(0x216)]||'hub','task_id':_0x36caf4['id'],'priority':_0x36caf4[_0x8e2267(0x212)]||'normal'};k['set'](_0x36caf4['id'],_0x36caf4[_0x8e2267(0x216)]||_0x8e2267(0x1fa)),await K['notification']({'method':_0x8e2267(0x24f),'params':{'content':_0x36caf4[_0x8e2267(0x20e)],'meta':_0x5e41a4}}),Y(_0x8e2267(0x207)+_0x36caf4['id'][_0x8e2267(0x214)](0x0,0x8)+_0x8e2267(0x1d7)+_0x36caf4[_0x8e2267(0x216)]+':\x20'+_0x36caf4[_0x8e2267(0x20e)]['slice'](0x0,0x3c)),await P(_0x8e2267(0x229),{'alias':Z,'message_id':_0x36caf4['id']});}}}async function A(){const _0x3533ce=a0_0x145213;let _0x485c7c=new a0_0x82e55d();await K['connect'](_0x485c7c),Y(_0x3533ce(0x227)),Y(_0x3533ce(0x238)),u()[_0x3533ce(0x254)](_0xb4d690=>Y(_0x3533ce(0x1ec)+_0xb4d690)),P(_0x3533ce(0x24a),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x4f0241(),'hostname':a0_0x4f0241(),'agent':_0x3533ce(0x219),'project_dir':process[_0x3533ce(0x256)](),'tmux_name':j||void 0x0})[_0x3533ce(0x258)](()=>Y(_0x3533ce(0x205)+Z+'\x22\x20('+w[_0x3533ce(0x214)](0x0,0x8)+')'))[_0x3533ce(0x254)](_0x5a0920=>Y(_0x3533ce(0x21d)+_0x5a0920)),setInterval(()=>{const _0x183699=_0x3533ce;P(_0x183699(0x24a),{'resume_id':w,'alias':Z,'status':_0x183699(0x237),'server':a0_0x4f0241(),'hostname':a0_0x4f0241(),'agent':_0x183699(0x219),'project_dir':process['cwd'](),'tmux_name':j||void 0x0})[_0x183699(0x254)](_0x1b6041=>Y(_0x183699(0x242)+_0x1b6041));},0x2bf20),Y(_0x3533ce(0x1f8));}A()[a0_0x145213(0x254)](_0x159faa=>{const _0x345828=a0_0x145213;Y(_0x345828(0x1e2)+_0x159faa),process[_0x345828(0x202)](0x1);});async function N(){const _0x122d73=a0_0x145213;Y(_0x122d73(0x243)),await P(_0x122d73(0x24a),{'resume_id':w,'alias':Z,'status':_0x122d73(0x1e9),'task':_0x122d73(0x213)})[_0x122d73(0x254)](()=>{}),process[_0x122d73(0x202)](0x0);}process[a0_0x145213(0x24d)]['on']('end',()=>N()),process['on'](a0_0x145213(0x230),()=>N()),process['on'](a0_0x145213(0x259),()=>N());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network",
3
- "version": "2.1.8-preview.0",
3
+ "version": "2.1.8-preview.10",
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",
@@ -52,7 +52,8 @@
52
52
  "url": "https://github.com/sleep2agi/agent-network/issues"
53
53
  },
54
54
  "engines": {
55
- "bun": ">=1.2.0"
55
+ "bun": ">=1.2.0",
56
+ "node": ">=22.13.0"
56
57
  },
57
58
  "dependencies": {
58
59
  "@inquirer/prompts": "^8.4.3"
package/dist/client.d.ts DELETED
@@ -1,78 +0,0 @@
1
- /**
2
- * @sleep2agi/commhub-sdk
3
- *
4
- * CommHub 通信 SDK — 一个文件,SSE 长连接 + 自动重连 + 心跳。
5
- * 支持 Node.js 18+ 和 Bun。
6
- */
7
- import { EventEmitter } from "events";
8
- export interface CommHubOptions {
9
- /** CommHub Server URL, e.g. "http://YOUR_COMMHUB_IP:9200" */
10
- url: string;
11
- /** Session alias, e.g. "SDK马" */
12
- alias: string;
13
- /** Auth token (optional) */
14
- token?: string;
15
- /** Agent type for registration (default: "sdk") */
16
- agent?: string;
17
- /** Heartbeat interval in ms (default: 180000 = 3 min) */
18
- heartbeatInterval?: number;
19
- /** SSE reconnect base delay in ms (default: 3000) */
20
- reconnectDelay?: number;
21
- /** Auto-connect on creation (default: true) */
22
- autoConnect?: boolean;
23
- }
24
- export interface InboxMessage {
25
- id: string;
26
- content: string;
27
- from_session: string;
28
- priority: string;
29
- created_at: string;
30
- }
31
- export interface CommHubEvents {
32
- task: (msg: InboxMessage) => void;
33
- message: (msg: InboxMessage) => void;
34
- connected: () => void;
35
- disconnected: () => void;
36
- error: (err: Error) => void;
37
- }
38
- export declare class CommHub extends EventEmitter {
39
- private url;
40
- private alias;
41
- private token?;
42
- private agent;
43
- private resumeId;
44
- private heartbeatInterval;
45
- private reconnectDelay;
46
- private heartbeatTimer?;
47
- private sseAbort?;
48
- private running;
49
- constructor(opts: CommHubOptions);
50
- private log;
51
- private call;
52
- /** Connect to CommHub: register + start SSE + heartbeat */
53
- connect(): Promise<void>;
54
- /** Disconnect: stop SSE + heartbeat, report offline */
55
- disconnect(): Promise<void>;
56
- /** Send a task to another session */
57
- send(targetAlias: string, content: string, priority?: "high" | "normal" | "low"): Promise<any>;
58
- /** Send a message (no task lifecycle) */
59
- message(targetAlias: string, content: string): Promise<any>;
60
- /** Reply to a task (update status) */
61
- reply(taskId: string, text: string, status?: "completed" | "blocked" | "error" | "in_progress"): Promise<any>;
62
- /** Update session status */
63
- status(state: string, extra?: {
64
- task?: string;
65
- progress?: number;
66
- }): Promise<any>;
67
- /** Get all session statuses */
68
- getAllStatus(): Promise<any>;
69
- /** Broadcast to all sessions */
70
- broadcast(content: string, filter?: {
71
- server?: string;
72
- status?: string;
73
- }): Promise<any>;
74
- private connectSSE;
75
- private processInbox;
76
- private sleep;
77
- }
78
- export default CommHub;