@sleep2agi/agent-network 2.3.0-preview.11 → 2.3.0-preview.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- const a0_0x4059a6=a0_0x27f5;(function(_0x15cdca,_0x33c5b4){const _0x478268=a0_0x27f5,_0x51f030=_0x15cdca();while(!![]){try{const _0x2214d1=parseInt(_0x478268(0x1ee))/0x1+-parseInt(_0x478268(0x1d6))/0x2*(-parseInt(_0x478268(0x1db))/0x3)+parseInt(_0x478268(0x210))/0x4*(parseInt(_0x478268(0x1d4))/0x5)+parseInt(_0x478268(0x206))/0x6+-parseInt(_0x478268(0x1d2))/0x7+parseInt(_0x478268(0x1e9))/0x8*(parseInt(_0x478268(0x1dd))/0x9)+-parseInt(_0x478268(0x1da))/0xa;if(_0x2214d1===_0x33c5b4)break;else _0x51f030['push'](_0x51f030['shift']());}catch(_0x241b90){_0x51f030['push'](_0x51f030['shift']());}}}(a0_0x59e0,0x3f187));import{EventEmitter as a0_0x535c0e}from'events';import{hostname as a0_0x8960f3}from'os';class T extends a0_0x535c0e{[a0_0x4059a6(0x1f2)];[a0_0x4059a6(0x1e1)];[a0_0x4059a6(0x1f9)];[a0_0x4059a6(0x1ff)];['resumeId'];[a0_0x4059a6(0x1f1)];[a0_0x4059a6(0x209)];[a0_0x4059a6(0x211)];['sseAbort'];[a0_0x4059a6(0x1ce)]=!0x1;constructor(_0x332b50){const _0x1d936b=a0_0x4059a6;super();if(this[_0x1d936b(0x1f2)]=_0x332b50['url'][_0x1d936b(0x200)](/\/$/,''),this[_0x1d936b(0x1e1)]=_0x332b50['alias'],this[_0x1d936b(0x1f9)]=_0x332b50[_0x1d936b(0x1f9)],this[_0x1d936b(0x1ff)]=_0x332b50['agent']||_0x1d936b(0x1de),this[_0x1d936b(0x203)]=_0x1d936b(0x1d9)+_0x332b50[_0x1d936b(0x1e1)]+'-'+Date['now']()[_0x1d936b(0x1ca)](0x24),this['heartbeatInterval']=_0x332b50[_0x1d936b(0x1f1)]??0x2bf20,this[_0x1d936b(0x209)]=_0x332b50[_0x1d936b(0x209)]??0xbb8,_0x332b50[_0x1d936b(0x1eb)]!==!0x1)this[_0x1d936b(0x1d7)]();}[a0_0x4059a6(0x1e0)](_0x295217){const _0x5d9e3c=a0_0x4059a6;console[_0x5d9e3c(0x1e0)]('['+new Date()[_0x5d9e3c(0x20b)]()[_0x5d9e3c(0x1fd)](0x0,0x8)+_0x5d9e3c(0x1f0)+this[_0x5d9e3c(0x1e1)]+']\x20'+_0x295217);}async['call'](_0x311ad1,_0x4838d7){const _0x52ef0a=a0_0x4059a6;let _0x248b99={'Content-Type':_0x52ef0a(0x1f8),'Accept':_0x52ef0a(0x208)};if(this[_0x52ef0a(0x1f9)])_0x248b99[_0x52ef0a(0x1df)]=_0x52ef0a(0x204)+this[_0x52ef0a(0x1f9)];let _0x2059d2=await(await fetch(this[_0x52ef0a(0x1f2)]+_0x52ef0a(0x1e5),{'method':'POST','headers':_0x248b99,'body':JSON[_0x52ef0a(0x20a)]({'jsonrpc':'2.0','id':Date[_0x52ef0a(0x1e6)](),'method':_0x52ef0a(0x1c4),'params':{'name':_0x311ad1,'arguments':_0x4838d7}})}))[_0x52ef0a(0x1c9)](),_0x26c4a1=_0x2059d2[_0x52ef0a(0x1d1)](/data: (.+)/),_0x5a1078=_0x26c4a1?JSON[_0x52ef0a(0x1ef)](_0x26c4a1[0x1]):JSON['parse'](_0x2059d2),_0x38fd28=_0x5a1078?.[_0x52ef0a(0x1e4)]?.[_0x52ef0a(0x1cc)]?.[0x0]?.[_0x52ef0a(0x1c9)];return _0x38fd28?JSON[_0x52ef0a(0x1ef)](_0x38fd28):_0x5a1078;}async['connect'](){const _0x480e05=a0_0x4059a6;if(this['running'])return;this[_0x480e05(0x1ce)]=!0x0,await this[_0x480e05(0x1cd)](_0x480e05(0x1c2)),this[_0x480e05(0x1e0)]('registered'),this['heartbeatTimer']=setInterval(()=>{const _0x93e01c=_0x480e05;this[_0x93e01c(0x1cd)](_0x93e01c(0x1c2))[_0x93e01c(0x202)](_0x46ccbd=>this[_0x93e01c(0x1e0)]('heartbeat\x20failed:\x20'+_0x46ccbd[_0x93e01c(0x20f)]));},this[_0x480e05(0x1f1)]),this['connectSSE']();}async[a0_0x4059a6(0x1c1)](){const _0x1691e2=a0_0x4059a6;if(this['running']=!0x1,this['sseAbort']?.[_0x1691e2(0x1fe)](),this[_0x1691e2(0x211)])clearInterval(this[_0x1691e2(0x211)]);await this[_0x1691e2(0x1cd)]('offline')['catch'](()=>{}),this[_0x1691e2(0x1e0)](_0x1691e2(0x1fa));}async[a0_0x4059a6(0x1f6)](_0x27993b,_0x26abfd,_0xb43d11=a0_0x4059a6(0x1dc)){const _0x81460d=a0_0x4059a6;return this[_0x81460d(0x207)](_0x81460d(0x1cf),{'alias':_0x27993b,'task':_0x26abfd,'priority':_0xb43d11,'from_session':this[_0x81460d(0x1e1)]});}async['message'](_0x1c53a4,_0x2689bc){const _0xa4a523=a0_0x4059a6;return this[_0xa4a523(0x207)]('send_message',{'alias':_0x1c53a4,'message':_0x2689bc,'from_session':this['alias']});}async[a0_0x4059a6(0x1e2)](_0x50f553,_0x14ad02,_0x2a5143='completed'){const _0x36edf1=a0_0x4059a6;return this[_0x36edf1(0x207)]('send_reply',{'in_reply_to':_0x50f553,'text':_0x14ad02,'status':_0x2a5143});}async[a0_0x4059a6(0x1cd)](_0x80a390,_0x451e24){const _0x3c7df5=a0_0x4059a6;return this['call']('report_status',{'resume_id':this[_0x3c7df5(0x203)],'alias':this[_0x3c7df5(0x1e1)],'status':_0x80a390,'server':a0_0x8960f3(),'hostname':a0_0x8960f3(),'agent':this['agent'],'project_dir':process[_0x3c7df5(0x1c6)](),..._0x451e24});}async[a0_0x4059a6(0x1d5)](){const _0x1737ef=a0_0x4059a6;return this[_0x1737ef(0x207)](_0x1737ef(0x1f3),{});}async[a0_0x4059a6(0x20d)](_0x4b87de,_0x68abd2){const _0x18faab=a0_0x4059a6;return this['call'](_0x18faab(0x20d),{'message':_0x4b87de,'filter_server':_0x68abd2?.['server'],'filter_status':_0x68abd2?.[_0x18faab(0x1cd)]});}async['connectSSE'](){const _0x49128a=a0_0x4059a6;let _0x1575e4=encodeURIComponent(this['alias']),_0xc8d3ba=this[_0x49128a(0x1f2)]+'/events/'+_0x1575e4,_0x5e1288=this[_0x49128a(0x209)];while(this['running']){try{this['sseAbort']=new AbortController();let _0x19f575={'Accept':_0x49128a(0x1ea)};if(this['token'])_0x19f575[_0x49128a(0x1df)]='Bearer\x20'+this['token'];let _0x24d6f5=await fetch(_0xc8d3ba,{'headers':_0x19f575,'signal':this[_0x49128a(0x1fb)][_0x49128a(0x205)]});if(!_0x24d6f5['ok']||!_0x24d6f5['body']){this[_0x49128a(0x1e0)](_0x49128a(0x201)+_0x24d6f5[_0x49128a(0x1cd)]),await this[_0x49128a(0x1fc)](_0x5e1288),_0x5e1288=Math[_0x49128a(0x1c5)](_0x5e1288*1.5,0xea60);continue;}_0x5e1288=this[_0x49128a(0x209)];let _0x5c3cf4=_0x24d6f5['body'][_0x49128a(0x1d0)](),_0x1caacd=new TextDecoder(),_0x486e6e='';while(this['running']){let {done:_0x1d8055,value:_0x4606df}=await _0x5c3cf4[_0x49128a(0x1c3)]();if(_0x1d8055)break;_0x486e6e+=_0x1caacd['decode'](_0x4606df,{'stream':!0x0});let _0xad8b1=_0x486e6e['split']('\x0a');_0x486e6e=_0xad8b1[_0x49128a(0x1d8)]()||'';for(let _0x5cc51a of _0xad8b1){if(!_0x5cc51a[_0x49128a(0x20e)](_0x49128a(0x1f7)))continue;try{let _0x5081d2=JSON['parse'](_0x5cc51a[_0x49128a(0x1fd)](0x6));if(_0x5081d2[_0x49128a(0x1ec)]===_0x49128a(0x1cb)){this[_0x49128a(0x1e0)](_0x49128a(0x1c8)),this[_0x49128a(0x1d3)](_0x49128a(0x1cb));continue;}if(_0x5081d2[_0x49128a(0x1ec)]==='new_task'||_0x5081d2['type']===_0x49128a(0x1e3)||_0x5081d2[_0x49128a(0x1ec)]===_0x49128a(0x20d))await this[_0x49128a(0x1f4)]();}catch{}}}}catch(_0x9f64eb){if(_0x9f64eb['name']==='AbortError')break;this[_0x49128a(0x1d3)]('error',_0x9f64eb),this[_0x49128a(0x1e0)](_0x49128a(0x1e7)+_0x9f64eb[_0x49128a(0x20f)]);}if(this['running'])this[_0x49128a(0x1d3)](_0x49128a(0x1fa)),this[_0x49128a(0x1e0)](_0x49128a(0x1ed)+_0x5e1288/0x3e8+_0x49128a(0x1f5)),await this[_0x49128a(0x1fc)](_0x5e1288),_0x5e1288=Math['min'](_0x5e1288*1.5,0xea60);}}async['processInbox'](){const _0x3f58b6=a0_0x4059a6;try{let _0x565345=(await this[_0x3f58b6(0x207)](_0x3f58b6(0x1c7),{'alias':this[_0x3f58b6(0x1e1)],'limit':0xa}))?.['messages']||[];for(let _0x2ec321 of _0x565345)await this['call'](_0x3f58b6(0x20c),{'alias':this[_0x3f58b6(0x1e1)],'message_id':_0x2ec321['id']}),this['log']('←\x20'+_0x2ec321['from_session']+':\x20'+_0x2ec321[_0x3f58b6(0x1cc)]['slice'](0x0,0x3c)),this[_0x3f58b6(0x1d3)]('task',_0x2ec321),this[_0x3f58b6(0x1d3)]('message',_0x2ec321);}catch(_0x54eb28){this[_0x3f58b6(0x1e0)](_0x3f58b6(0x1e8)+_0x54eb28[_0x3f58b6(0x20f)]);}}[a0_0x4059a6(0x1fc)](_0x59d1f3){return new Promise(_0x175e80=>setTimeout(_0x175e80,_0x59d1f3));}}function a0_0x27f5(_0x46f7fb,_0x5cfedd){_0x46f7fb=_0x46f7fb-0x1c1;const _0x59e05e=a0_0x59e0();let _0x27f5cf=_0x59e05e[_0x46f7fb];return _0x27f5cf;}var $=T;export{$ as default,T as CommHub};function a0_0x59e0(){const _0x18b957=['12MZNXgz','heartbeatTimer','disconnect','idle','read','tools/call','min','cwd','get_inbox','SSE\x20connected','text','toString','connected','content','status','running','send_task','getReader','match','1724037tyLDEM','emit','87585gvKJbd','getAllStatus','42892KhZtrm','connect','pop','sdk-','6010190EZalRW','21nTlVZe','normal','9xUexcv','sdk','Authorization','log','alias','reply','new_message','result','/mcp','now','SSE\x20error:\x20','inbox\x20error:\x20','1390168FnahBL','text/event-stream','autoConnect','type','SSE\x20reconnecting\x20in\x20','427813GXMJxk','parse',']\x20[commhub:','heartbeatInterval','url','get_all_status','processInbox','s...','send','data:\x20','application/json','token','disconnected','sseAbort','sleep','slice','abort','agent','replace','SSE\x20failed:\x20','catch','resumeId','Bearer\x20','signal','1808952fKTtBp','call','application/json,\x20text/event-stream','reconnectDelay','stringify','toTimeString','ack_inbox','broadcast','startsWith','message'];a0_0x59e0=function(){return _0x18b957;};return a0_0x59e0();}
1
+ const a0_0xf1c06c=a0_0x2fb6;(function(_0x24f5d0,_0x46255b){const _0x55a99b=a0_0x2fb6,_0x3a2bc6=_0x24f5d0();while(!![]){try{const _0x44d267=parseInt(_0x55a99b(0x1b3))/0x1+-parseInt(_0x55a99b(0x1da))/0x2*(parseInt(_0x55a99b(0x205))/0x3)+parseInt(_0x55a99b(0x1d8))/0x4*(-parseInt(_0x55a99b(0x1d0))/0x5)+-parseInt(_0x55a99b(0x1e3))/0x6*(-parseInt(_0x55a99b(0x1e6))/0x7)+parseInt(_0x55a99b(0x1f4))/0x8*(-parseInt(_0x55a99b(0x1eb))/0x9)+-parseInt(_0x55a99b(0x203))/0xa*(-parseInt(_0x55a99b(0x1c1))/0xb)+parseInt(_0x55a99b(0x1b6))/0xc*(-parseInt(_0x55a99b(0x1f6))/0xd);if(_0x44d267===_0x46255b)break;else _0x3a2bc6['push'](_0x3a2bc6['shift']());}catch(_0x45778e){_0x3a2bc6['push'](_0x3a2bc6['shift']());}}}(a0_0x10c1,0xee739));import{EventEmitter as a0_0x1aefac}from'events';import{hostname as a0_0x9816c1}from'os';class T extends a0_0x1aefac{[a0_0xf1c06c(0x208)];[a0_0xf1c06c(0x1cd)];[a0_0xf1c06c(0x1f2)];[a0_0xf1c06c(0x1d1)];[a0_0xf1c06c(0x1f1)];[a0_0xf1c06c(0x1c2)];[a0_0xf1c06c(0x1d5)];['heartbeatTimer'];[a0_0xf1c06c(0x1d4)];['running']=!0x1;constructor(_0xa28ffe){const _0x2f4640=a0_0xf1c06c;super();if(this[_0x2f4640(0x208)]=_0xa28ffe[_0x2f4640(0x208)][_0x2f4640(0x1bf)](/\/$/,''),this[_0x2f4640(0x1cd)]=_0xa28ffe[_0x2f4640(0x1cd)],this['token']=_0xa28ffe[_0x2f4640(0x1f2)],this[_0x2f4640(0x1d1)]=_0xa28ffe[_0x2f4640(0x1d1)]||_0x2f4640(0x1ba),this['resumeId']=_0x2f4640(0x1ca)+_0xa28ffe[_0x2f4640(0x1cd)]+'-'+Date['now']()[_0x2f4640(0x1f3)](0x24),this[_0x2f4640(0x1c2)]=_0xa28ffe[_0x2f4640(0x1c2)]??0x2bf20,this[_0x2f4640(0x1d5)]=_0xa28ffe['reconnectDelay']??0xbb8,_0xa28ffe[_0x2f4640(0x1f7)]!==!0x1)this['connect']();}[a0_0xf1c06c(0x1ef)](_0x5514ed){const _0x40161b=a0_0xf1c06c;console['log']('['+new Date()[_0x40161b(0x1de)]()[_0x40161b(0x1fc)](0x0,0x8)+_0x40161b(0x1fa)+this[_0x40161b(0x1cd)]+']\x20'+_0x5514ed);}async['call'](_0x435db5,_0xb0bcfc){const _0x566ce9=a0_0xf1c06c;let _0xa14dce={'Content-Type':_0x566ce9(0x1c0),'Accept':'application/json,\x20text/event-stream'};if(this[_0x566ce9(0x1f2)])_0xa14dce[_0x566ce9(0x1bd)]=_0x566ce9(0x1df)+this['token'];let _0x5f0e8c=await(await fetch(this[_0x566ce9(0x208)]+_0x566ce9(0x1c7),{'method':'POST','headers':_0xa14dce,'body':JSON['stringify']({'jsonrpc':_0x566ce9(0x20c),'id':Date['now'](),'method':_0x566ce9(0x1ce),'params':{'name':_0x435db5,'arguments':_0xb0bcfc}})}))[_0x566ce9(0x1cf)](),_0x1fd6ff=_0x5f0e8c[_0x566ce9(0x1c3)](/data: (.+)/),_0x32c202=_0x1fd6ff?JSON['parse'](_0x1fd6ff[0x1]):JSON[_0x566ce9(0x209)](_0x5f0e8c),_0x1569a9=_0x32c202?.[_0x566ce9(0x1c8)]?.['content']?.[0x0]?.[_0x566ce9(0x1cf)];return _0x1569a9?JSON['parse'](_0x1569a9):_0x32c202;}async['connect'](){const _0x63b9df=a0_0xf1c06c;if(this['running'])return;this[_0x63b9df(0x1bc)]=!0x0,await this[_0x63b9df(0x1dd)]('idle'),this[_0x63b9df(0x1ef)](_0x63b9df(0x1ed)),this[_0x63b9df(0x1b8)]=setInterval(()=>{const _0x4bb546=_0x63b9df;this[_0x4bb546(0x1dd)](_0x4bb546(0x1fe))[_0x4bb546(0x1b7)](_0x3c7c19=>this[_0x4bb546(0x1ef)](_0x4bb546(0x1c6)+_0x3c7c19['message']));},this[_0x63b9df(0x1c2)]),this['connectSSE']();}async[a0_0xf1c06c(0x206)](){const _0xf8a9e9=a0_0xf1c06c;if(this[_0xf8a9e9(0x1bc)]=!0x1,this[_0xf8a9e9(0x1d4)]?.['abort'](),this[_0xf8a9e9(0x1b8)])clearInterval(this[_0xf8a9e9(0x1b8)]);await this[_0xf8a9e9(0x1dd)](_0xf8a9e9(0x201))[_0xf8a9e9(0x1b7)](()=>{}),this[_0xf8a9e9(0x1ef)](_0xf8a9e9(0x1f5));}async['send'](_0x5799b8,_0xb54cb0,_0x24ed41=a0_0xf1c06c(0x207)){const _0x1e3a77=a0_0xf1c06c;return this[_0x1e3a77(0x1f8)]('send_task',{'alias':_0x5799b8,'task':_0xb54cb0,'priority':_0x24ed41,'from_session':this[_0x1e3a77(0x1cd)]});}async[a0_0xf1c06c(0x1cc)](_0x4bdfb4,_0x52ff34){const _0x2b341d=a0_0xf1c06c;return this[_0x2b341d(0x1f8)](_0x2b341d(0x1cb),{'alias':_0x4bdfb4,'message':_0x52ff34,'from_session':this[_0x2b341d(0x1cd)]});}async[a0_0xf1c06c(0x1ff)](_0x3c83d9,_0x5a06ec,_0xc8aa36=a0_0xf1c06c(0x1ec)){const _0x188c2b=a0_0xf1c06c;return this[_0x188c2b(0x1f8)](_0x188c2b(0x1c5),{'in_reply_to':_0x3c83d9,'text':_0x5a06ec,'status':_0xc8aa36});}async['status'](_0x53a109,_0x37edbd){const _0x1091ea=a0_0xf1c06c;return this['call'](_0x1091ea(0x202),{'resume_id':this[_0x1091ea(0x1f1)],'alias':this[_0x1091ea(0x1cd)],'status':_0x53a109,'server':a0_0x9816c1(),'hostname':a0_0x9816c1(),'agent':this[_0x1091ea(0x1d1)],'project_dir':process['cwd'](),..._0x37edbd});}async['getAllStatus'](){const _0x472c60=a0_0xf1c06c;return this[_0x472c60(0x1f8)](_0x472c60(0x1d6),{});}async[a0_0xf1c06c(0x1d3)](_0x59bff9,_0xc555a9){const _0x2bf5d0=a0_0xf1c06c;return this[_0x2bf5d0(0x1f8)]('broadcast',{'message':_0x59bff9,'filter_server':_0xc555a9?.['server'],'filter_status':_0xc555a9?.['status']});}async[a0_0xf1c06c(0x1e2)](){const _0x1c67a8=a0_0xf1c06c;let _0x5c0588=encodeURIComponent(this[_0x1c67a8(0x1cd)]),_0x26c11b=this['url']+_0x1c67a8(0x200)+_0x5c0588,_0x3e5be0=this[_0x1c67a8(0x1d5)];while(this[_0x1c67a8(0x1bc)]){try{this[_0x1c67a8(0x1d4)]=new AbortController();let _0x5dac57={'Accept':_0x1c67a8(0x1e1)};if(this['token'])_0x5dac57[_0x1c67a8(0x1bd)]=_0x1c67a8(0x1df)+this[_0x1c67a8(0x1f2)];let _0x3a096f=await fetch(_0x26c11b,{'headers':_0x5dac57,'signal':this[_0x1c67a8(0x1d4)][_0x1c67a8(0x1ee)]});if(!_0x3a096f['ok']||!_0x3a096f[_0x1c67a8(0x1c4)]){this['log'](_0x1c67a8(0x204)+_0x3a096f[_0x1c67a8(0x1dd)]),await this['sleep'](_0x3e5be0),_0x3e5be0=Math[_0x1c67a8(0x1e5)](_0x3e5be0*1.5,0xea60);continue;}_0x3e5be0=this[_0x1c67a8(0x1d5)];let _0x297609=_0x3a096f[_0x1c67a8(0x1c4)][_0x1c67a8(0x1b9)](),_0x3c4588=new TextDecoder(),_0x371de5='';while(this[_0x1c67a8(0x1bc)]){let {done:_0x38b805,value:_0x23dbec}=await _0x297609[_0x1c67a8(0x1e0)]();if(_0x38b805)break;_0x371de5+=_0x3c4588[_0x1c67a8(0x1f9)](_0x23dbec,{'stream':!0x0});let _0x39d447=_0x371de5[_0x1c67a8(0x1fd)]('\x0a');_0x371de5=_0x39d447['pop']()||'';for(let _0x16a83e of _0x39d447){if(!_0x16a83e['startsWith'](_0x1c67a8(0x1c9)))continue;try{let _0x4ba2c1=JSON[_0x1c67a8(0x209)](_0x16a83e[_0x1c67a8(0x1fc)](0x6));if(_0x4ba2c1[_0x1c67a8(0x1fb)]==='connected'){this['log'](_0x1c67a8(0x1f0)),this[_0x1c67a8(0x20d)](_0x1c67a8(0x1bb));continue;}if(_0x4ba2c1[_0x1c67a8(0x1fb)]===_0x1c67a8(0x1d7)||_0x4ba2c1[_0x1c67a8(0x1fb)]===_0x1c67a8(0x1e9)||_0x4ba2c1[_0x1c67a8(0x1fb)]===_0x1c67a8(0x1d3))await this[_0x1c67a8(0x20a)]();}catch{}}}}catch(_0x40632e){if(_0x40632e['name']===_0x1c67a8(0x1db))break;this['emit'](_0x1c67a8(0x1b4),_0x40632e),this['log'](_0x1c67a8(0x1dc)+_0x40632e[_0x1c67a8(0x1cc)]);}if(this[_0x1c67a8(0x1bc)])this[_0x1c67a8(0x20d)](_0x1c67a8(0x1f5)),this[_0x1c67a8(0x1ef)](_0x1c67a8(0x1d9)+_0x3e5be0/0x3e8+_0x1c67a8(0x1e7)),await this[_0x1c67a8(0x1e4)](_0x3e5be0),_0x3e5be0=Math['min'](_0x3e5be0*1.5,0xea60);}}async[a0_0xf1c06c(0x20a)](){const _0xc52ce6=a0_0xf1c06c;try{let _0x2515a3=(await this['call'](_0xc52ce6(0x20b),{'alias':this[_0xc52ce6(0x1cd)],'limit':0xa}))?.[_0xc52ce6(0x1be)]||[];for(let _0x334a8d of _0x2515a3)await this['call'](_0xc52ce6(0x1d2),{'alias':this[_0xc52ce6(0x1cd)],'message_id':_0x334a8d['id']}),this[_0xc52ce6(0x1ef)]('←\x20'+_0x334a8d[_0xc52ce6(0x1e8)]+':\x20'+_0x334a8d['content']['slice'](0x0,0x3c)),this[_0xc52ce6(0x20d)](_0xc52ce6(0x1b5),_0x334a8d),this['emit'](_0xc52ce6(0x1cc),_0x334a8d);}catch(_0x4aadd2){this['log'](_0xc52ce6(0x1ea)+_0x4aadd2[_0xc52ce6(0x1cc)]);}}[a0_0xf1c06c(0x1e4)](_0x1b31d3){return new Promise(_0x3661e1=>setTimeout(_0x3661e1,_0x1b31d3));}}function a0_0x2fb6(_0x13ed3c,_0x1f9da5){_0x13ed3c=_0x13ed3c-0x1b3;const _0x10c166=a0_0x10c1();let _0x2fb6e8=_0x10c166[_0x13ed3c];return _0x2fb6e8;}function a0_0x10c1(){const _0x509aab=['log','SSE\x20connected','resumeId','token','toString','24856cExImL','disconnected','117EeDmKL','autoConnect','call','decode',']\x20[commhub:','type','slice','split','idle','reply','/events/','offline','report_status','20whfLXo','SSE\x20failed:\x20','104724ZLoDSu','disconnect','normal','url','parse','processInbox','get_inbox','2.0','emit','1830591SdfYRp','error','task','716712GJYvvZ','catch','heartbeatTimer','getReader','sdk','connected','running','Authorization','messages','replace','application/json','3402487xYzowj','heartbeatInterval','match','body','send_reply','heartbeat\x20failed:\x20','/mcp','result','data:\x20','sdk-','send_message','message','alias','tools/call','text','19165TAbOWU','agent','ack_inbox','broadcast','sseAbort','reconnectDelay','get_all_status','new_task','244ZWUyeI','SSE\x20reconnecting\x20in\x20','38savXng','AbortError','SSE\x20error:\x20','status','toTimeString','Bearer\x20','read','text/event-stream','connectSSE','300PBUSRe','sleep','min','80381qpLuBM','s...','from_session','new_message','inbox\x20error:\x20','1773OkknaX','completed','registered','signal'];a0_0x10c1=function(){return _0x509aab;};return a0_0x10c1();}var $=T;export{$ as default,T as CommHub};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env bun
2
- const a0_0xde0de9=a0_0xf89e;(function(_0x18d8fb,_0x3a1628){const _0x233680=a0_0xf89e,_0x2b360d=_0x18d8fb();while(!![]){try{const _0x43cf8c=-parseInt(_0x233680(0xf5))/0x1+-parseInt(_0x233680(0xfb))/0x2*(parseInt(_0x233680(0xa8))/0x3)+parseInt(_0x233680(0xba))/0x4*(-parseInt(_0x233680(0xd7))/0x5)+parseInt(_0x233680(0x7b))/0x6+parseInt(_0x233680(0x109))/0x7*(parseInt(_0x233680(0xa4))/0x8)+parseInt(_0x233680(0x10d))/0x9+parseInt(_0x233680(0x77))/0xa;if(_0x43cf8c===_0x3a1628)break;else _0x2b360d['push'](_0x2b360d['shift']());}catch(_0x1d56a1){_0x2b360d['push'](_0x2b360d['shift']());}}}(a0_0x18c1,0xee118));import{readFileSync as a0_0x30f608,existsSync as a0_0x16fa5b}from'fs';import{randomUUID as a0_0x50b48e}from'crypto';function a0_0x18c1(){const _0x2ad29f=['Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','number','4500330Cckgnf','alias','stringify','stderr','5463852pnWXXU','no\x20response','\x20priority=','\x20/\x20hostname=','new_message','in_progress','low','notification','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','SSE\x20connection\x20error:\x20','→\x20injected\x20task\x20','SIGINT','ENV:\x20URL=','SSE\x20fatal:\x20','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','message_id','tools/call','startsWith','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','commhub_send_message','delete','normal','join','unknown\x20tool','get','messages','/mcp','token','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','trim','indexOf','set','...\x20TMUX=','Bearer\x20','from','completed','\x22\x20(','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','commhub_get_all_status','\x20PROJECT_ENV=','8VynnaD','message','send_task','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','291741QWLBTh','heartbeat\x20failed:\x20','priority','broadcast','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','object','claude-code','commhub-channel','Target\x20session\x20alias',':\x20inbox_count=','2.0','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','parse','cancelled','.env','write','split','notifications/claude/channel','13724hQZcyX','blocked','high','getReader','starting\x20SSE\x20listener...','\x20from\x20','idle','catch','utf-8','report_status','connected','get_all_status','error','re-registered\x20as\x20\x22','hub','application/json,\x20text/event-stream','none','Reply\x20text\x20/\x20result\x20summary',']\x20[commhub]\x20','commhub','POST','commhub_report_status','content','ready\x20—\x20waiting\x20for\x20events','result','replace','now','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','/events/','1240xxbIbR','session\x20disconnected','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','connect','get_inbox','failed','.claude/channels/commhub','exit','config.json','unattributed-','body','commhub_send_task','new_task','MCP\x20stdio\x20connected','ack_inbox','find','from_session','\x22\x20after\x20SSE\x20reconnect','.anet','replied','initialize','type','Priority\x20(default:\x20normal)','cwd','min','fatal:\x20','commhub_reply','slice','tmux\x20display-message\x20-p\x20\x27#S\x27','status','1312248FESlcb','application/json','setRequestHandler','parse\x20error:\x20','0.3.0','Current\x20task\x20description','4ayJUAU','SIGTERM','(none)','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','toTimeString','data:\x20','Progress\x200-100','connecting\x20to\x20','\x20ALIAS=','\x20RESUME_ID=','params','read','CommHub\x20init\x20failed:\x20','statusText','9921555uWHxmZ','text','inbox_count','Task\x20content','4992462vCBNld','Session\x20alias:\x20','string','decode'];a0_0x18c1=function(){return _0x2ad29f;};return a0_0x18c1();}import{join as a0_0x468e1a}from'path';import{hostname as a0_0x19539f}from'os';import{execSync as a0_0x23f8c3}from'child_process';import{Server as a0_0x3c1269}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0xbeab5b}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0xaaf5d5,CallToolRequestSchema as a0_0x3f10d8}from'@modelcontextprotocol/sdk/types.js';function I(_0x5761af){const _0x56425d=a0_0xf89e;if(!a0_0x16fa5b(_0x5761af))return;for(let _0x3de513 of a0_0x30f608(_0x5761af,_0x56425d(0xc2))['split']('\x0a')){let _0x313b74=_0x3de513[_0x56425d(0x99)]();if(!_0x313b74||_0x313b74[_0x56425d(0x8c)]('#'))continue;let _0x16de66=_0x313b74[_0x56425d(0x9a)]('=');if(_0x16de66<0x0)continue;let _0x4ff2a1=_0x313b74[_0x56425d(0xf2)](0x0,_0x16de66)['trim'](),_0x2553fb=_0x313b74[_0x56425d(0xf2)](_0x16de66+0x1)[_0x56425d(0x99)]()[_0x56425d(0xd3)](/^["']|["']$/g,'');if(!process.env[_0x4ff2a1])process.env[_0x4ff2a1]=_0x2553fb;}}var L=process.env.HOME||'~',U=a0_0x468e1a(L,a0_0xde0de9(0xdd));I(a0_0x468e1a(U,a0_0xde0de9(0xb6)));var v=process['cwd']()[a0_0xde0de9(0xd3)](/\//g,'-');I(a0_0x468e1a(U,v,a0_0xde0de9(0xb6)));function d(){const _0x3c95f2=a0_0xde0de9;try{return a0_0x23f8c3(_0x3c95f2(0xf3),{'encoding':'utf-8','timeout':0x7d0})[_0x3c95f2(0x99)]();}catch{return'';}}function m(){const _0x51dbdc=a0_0xde0de9;try{let _0x2960a4=a0_0x468e1a(L,_0x51dbdc(0xe9),_0x51dbdc(0xdf));if(a0_0x16fa5b(_0x2960a4))return JSON[_0x51dbdc(0xb4)](a0_0x30f608(_0x2960a4,_0x51dbdc(0xc2)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0xde0de9(0xc8)]||'http://127.0.0.1:9200',f=process.env.COMMHUB_TMUX||d();function r(){const _0x27ff66=a0_0xde0de9;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS['trim']())return process.env.COMMHUB_ALIAS[_0x27ff66(0x99)]();return process[_0x27ff66(0x7a)][_0x27ff66(0xb7)](_0x27ff66(0xfe)+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(f||_0x27ff66(0xfd))+_0x27ff66(0x7e)+a0_0x19539f()+_0x27ff66(0x89))),_0x27ff66(0xe0)+process['pid'];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x50b48e(),F=process.env.COMMHUB_TOKEN||u[a0_0xde0de9(0x96)]||'';function W(_0x10980d){const _0x55d614=a0_0xde0de9;let _0x270375=new Date()[_0x55d614(0xff)]()[_0x55d614(0xf2)](0x0,0x8);process['stderr'][_0x55d614(0xb7)]('['+_0x270375+_0x55d614(0xcc)+_0x10980d+'\x0a');}function N(_0x123406){return new Promise(_0x27256f=>setTimeout(_0x27256f,_0x123406));}W(a0_0xde0de9(0x87)+j+a0_0xde0de9(0x103)+G+a0_0xde0de9(0x104)+K[a0_0xde0de9(0xf2)](0x0,0x8)+a0_0xde0de9(0x9c)+(f||a0_0xde0de9(0xca))+'\x20CWD='+process[a0_0xde0de9(0xee)]()+a0_0xde0de9(0xa3)+v);var D=new Map(),x=new a0_0x3c1269({'name':a0_0xde0de9(0xaf),'version':a0_0xde0de9(0xf9)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0xde0de9(0xd9),a0_0xde0de9(0xd5),a0_0xde0de9(0x8d),a0_0xde0de9(0xa1),a0_0xde0de9(0x10e)+G][a0_0xde0de9(0x91)]('\x0a')});x[a0_0xde0de9(0xf7)](a0_0xaaf5d5,async()=>({'tools':[{'name':a0_0xde0de9(0xf1),'description':a0_0xde0de9(0xb3),'inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0xde0de9(0x10f),'description':'The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)'},'text':{'type':a0_0xde0de9(0x10f),'description':a0_0xde0de9(0xcb)},'status':{'type':'string','enum':[a0_0xde0de9(0x9f),a0_0xde0de9(0xdc),a0_0xde0de9(0xb5),'blocked',a0_0xde0de9(0xc6),a0_0xde0de9(0x80)],'description':a0_0xde0de9(0x97)}},'required':[a0_0xde0de9(0x10a)]}},{'name':a0_0xde0de9(0xcf),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0xde0de9(0xad),'properties':{'status':{'type':a0_0xde0de9(0x10f),'enum':['working','idle',a0_0xde0de9(0xbb),'error']},'task':{'type':'string','description':a0_0xde0de9(0xfa)},'progress':{'type':a0_0xde0de9(0x76),'description':a0_0xde0de9(0x101)}},'required':[a0_0xde0de9(0xf4)]}},{'name':a0_0xde0de9(0xe2),'description':a0_0xde0de9(0xac),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0xde0de9(0x10f),'description':a0_0xde0de9(0xb0)},'task':{'type':a0_0xde0de9(0x10f),'description':a0_0xde0de9(0x10c)},'priority':{'type':a0_0xde0de9(0x10f),'enum':[a0_0xde0de9(0xbc),a0_0xde0de9(0x90),a0_0xde0de9(0x81)],'description':a0_0xde0de9(0xed)}},'required':['alias','task']}},{'name':a0_0xde0de9(0x8e),'description':a0_0xde0de9(0xa7),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0xde0de9(0x10f),'description':a0_0xde0de9(0xb0)},'message':{'type':a0_0xde0de9(0x10f),'description':'Message\x20content'}},'required':[a0_0xde0de9(0x78),a0_0xde0de9(0xa5)]}},{'name':a0_0xde0de9(0xa2),'description':a0_0xde0de9(0x75),'inputSchema':{'type':'object','properties':{}}}]}));async function Y(_0x554c41,_0x1ddc97){const _0x266ee7=a0_0xde0de9;let _0x2c4deb=await fetch(j+_0x266ee7(0x95),{'method':_0x266ee7(0xce),'headers':{'Content-Type':_0x266ee7(0xf6),'Accept':_0x266ee7(0xc9),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x266ee7(0x79)]({'jsonrpc':'2.0','id':0x1,'method':_0x266ee7(0xeb),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x266ee7(0xaf),'version':'0.3.0'}}})});if(!_0x2c4deb['ok']){let _0x2ce772=await _0x2c4deb[_0x266ee7(0x10a)]();return W(_0x266ee7(0x107)+_0x2c4deb[_0x266ee7(0xf4)]+'\x20'+_0x2ce772[_0x266ee7(0xf2)](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x2c4deb['status']};}await _0x2c4deb['text']();let _0x2686f7=(await(await fetch(j+_0x266ee7(0x95),{'method':_0x266ee7(0xce),'headers':{'Content-Type':'application/json','Accept':_0x266ee7(0xc9),...F?{'Authorization':_0x266ee7(0x9d)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x266ee7(0xb2),'id':0x2,'method':_0x266ee7(0x8b),'params':{'name':_0x554c41,'arguments':_0x1ddc97}})}))[_0x266ee7(0x10a)]())['split']('\x0a')[_0x266ee7(0xe6)](_0x24af8a=>_0x24af8a['startsWith'](_0x266ee7(0x100)));if(_0x2686f7){let _0x4a8a84=JSON['parse'](_0x2686f7[_0x266ee7(0xf2)](0x6));return _0x4a8a84?.[_0x266ee7(0xd2)]?.['content']?.[0x0]?.['text']?JSON[_0x266ee7(0xb4)](_0x4a8a84['result'][_0x266ee7(0xd0)][0x0]['text']):_0x4a8a84;}return{'ok':!0x1,'error':_0x266ee7(0x7c)};}x[a0_0xde0de9(0xf7)](a0_0x3f10d8,async _0x6d656e=>{const _0x57293=a0_0xde0de9;let {name:_0x194e63,arguments:_0x440e3c}=_0x6d656e[_0x57293(0x105)];if(_0x194e63===_0x57293(0xf1)){let {task_id:_0x406677,text:_0xd5b7a3,status:_0x5f14fb}=_0x440e3c;if(_0x5f14fb==='completed'||_0x5f14fb===_0x57293(0xdc)||_0x5f14fb===_0x57293(0xb5)){let _0x29201e=_0x5f14fb===_0x57293(0x9f)?_0x57293(0xea):_0x5f14fb,_0x57feba=_0x406677?D[_0x57293(0x93)](_0x406677)||_0x57293(0xc8):_0x57293(0xc8),_0x2a52cb=await Y('send_reply',{'alias':_0x57feba,'text':_0xd5b7a3,'in_reply_to':_0x406677||void 0x0,'status':_0x29201e,'from_session':G});if(_0x406677)D[_0x57293(0x8f)](_0x406677);return{'content':[{'type':'text','text':JSON['stringify'](_0x2a52cb)}]};}let _0x19c24e=await Y('report_status',{'resume_id':K,'alias':G,'status':_0x5f14fb==='blocked'?'blocked':_0x5f14fb==='error'?_0x57293(0xc6):'working','task':_0xd5b7a3['slice'](0x0,0xc8),'output':_0xd5b7a3});return{'content':[{'type':_0x57293(0x10a),'text':JSON[_0x57293(0x79)](_0x19c24e)}]};}if(_0x194e63===_0x57293(0xcf)){let {status:_0x46a9ba,task:_0x58d4bb,progress:_0x1f248b}=_0x440e3c,_0x5554d8=await Y(_0x57293(0xc3),{'resume_id':K,'alias':G,'status':_0x46a9ba,'task':_0x58d4bb,'progress':_0x1f248b});return{'content':[{'type':'text','text':JSON[_0x57293(0x79)](_0x5554d8)}]};}if(_0x194e63===_0x57293(0xe2)){let {alias:_0x7fa7b1,task:_0x429c2c,priority:_0x2bd287}=_0x440e3c,_0x510389=await Y(_0x57293(0xa6),{'alias':_0x7fa7b1,'task':_0x429c2c,'priority':_0x2bd287||_0x57293(0x90),'from_session':G});return{'content':[{'type':_0x57293(0x10a),'text':JSON[_0x57293(0x79)](_0x510389)}]};}if(_0x194e63===_0x57293(0x8e)){let {alias:_0x266ca0,message:_0x210af8}=_0x440e3c,_0x5db17e=await Y('send_message',{'alias':_0x266ca0,'message':_0x210af8,'from_session':G});return{'content':[{'type':_0x57293(0x10a),'text':JSON['stringify'](_0x5db17e)}]};}if(_0x194e63===_0x57293(0xa2)){let _0x50b7f8=await Y(_0x57293(0xc5),{});return{'content':[{'type':_0x57293(0x10a),'text':JSON['stringify'](_0x50b7f8)}]};}return{'content':[{'type':'text','text':JSON[_0x57293(0x79)]({'error':_0x57293(0x92)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x421780=a0_0xde0de9;try{await Y(_0x421780(0xc3),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x19539f(),'hostname':a0_0x19539f(),'agent':'claude-code','project_dir':process[_0x421780(0xee)](),'tmux_name':f||void 0x0}),W(_0x421780(0xc7)+G+_0x421780(0xe8));}catch(_0x5bd2d5){W('re-register\x20failed:\x20'+_0x5bd2d5);}}async function o(){const _0x588f15=a0_0xde0de9;let _0x32dff7=j+_0x588f15(0xd6)+encodeURIComponent(G),_0x44c7ab={};if(F)_0x44c7ab['Authorization']='Bearer\x20'+F;W(_0x588f15(0x102)+_0x32dff7);let _0x94d745=O,_0x28fd4c=!0x0,_0x24d6a0=null;while(!0x0){try{let _0x14b8fd=await fetch(_0x32dff7,{'headers':_0x44c7ab});if(!_0x14b8fd['ok']){if(W('SSE\x20error:\x20'+_0x14b8fd[_0x588f15(0xf4)]+'\x20'+_0x14b8fd[_0x588f15(0x108)]),_0x24d6a0=_0x24d6a0??Date[_0x588f15(0xd4)](),Date[_0x588f15(0xd4)]()-_0x24d6a0>T){W(_0x588f15(0x83)+j+_0x588f15(0x98));return;}await N(_0x94d745),_0x94d745=Math['min'](_0x94d745*0x2,R);continue;}let _0x14bcef=_0x14b8fd[_0x588f15(0xe1)][_0x588f15(0xbd)](),_0x35dad6=new TextDecoder(),_0x268c4c='';_0x94d745=O;while(!0x0){let {done:_0x4fe1d8,value:_0x2f4165}=await _0x14bcef[_0x588f15(0x106)]();if(_0x4fe1d8)break;_0x268c4c+=_0x35dad6[_0x588f15(0x74)](_0x2f4165,{'stream':!0x0});let _0x3bce66=_0x268c4c['split']('\x0a\x0a');_0x268c4c=_0x3bce66['pop']()||'';for(let _0x43baff of _0x3bce66){let _0xd695a4=_0x43baff[_0x588f15(0xb8)]('\x0a')['find'](_0x2f4314=>_0x2f4314['startsWith'](_0x588f15(0x100)));if(!_0xd695a4)continue;try{let _0x39ec05=JSON[_0x588f15(0xb4)](_0xd695a4[_0x588f15(0xf2)](0x6));if(await a(_0x39ec05),_0x39ec05[_0x588f15(0xec)]===_0x588f15(0xc4)){if(_0x24d6a0=null,!_0x28fd4c)await l();_0x28fd4c=!0x1;}}catch(_0x405be5){W(_0x588f15(0xf8)+_0x405be5);}}}W('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x510120){W(_0x588f15(0x84)+_0x510120);}if(_0x24d6a0=_0x24d6a0??Date[_0x588f15(0xd4)](),Date[_0x588f15(0xd4)]()-_0x24d6a0>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x588f15(0x98));return;}await N(_0x94d745),_0x94d745=Math[_0x588f15(0xef)](_0x94d745*0x2,R);}}async function a(_0x4495d4){const _0x3d23fb=a0_0xde0de9;if(_0x4495d4[_0x3d23fb(0xec)]===_0x3d23fb(0xc4)){W('SSE\x20connected\x20as\x20\x22'+G+'\x22');return;}if(_0x4495d4['type']===_0x3d23fb(0x7f)){if(W('←\x20message\x20from\x20'+_0x4495d4['from']+':\x20'+_0x4495d4['message'][_0x3d23fb(0xf2)](0x0,0x3c)),await x[_0x3d23fb(0x82)]({'method':_0x3d23fb(0xb9),'params':{'content':_0x4495d4[_0x3d23fb(0xa5)],'meta':{'sender':_0x4495d4[_0x3d23fb(0x9e)]||'hub','sender_id':_0x3d23fb(0xcd),'user':_0x4495d4['from']||_0x3d23fb(0xc8),'priority':'normal'}}}),_0x4495d4['message_id'])await Y('ack_inbox',{'alias':G,'message_id':_0x4495d4[_0x3d23fb(0x8a)]});return;}if(_0x4495d4[_0x3d23fb(0xec)]===_0x3d23fb(0xe3)||_0x4495d4[_0x3d23fb(0xec)]===_0x3d23fb(0xab)){W('←\x20'+_0x4495d4[_0x3d23fb(0xec)]+_0x3d23fb(0xb1)+_0x4495d4[_0x3d23fb(0x10b)]+_0x3d23fb(0x7d)+(_0x4495d4[_0x3d23fb(0xaa)]||_0x3d23fb(0x90)));let _0x1cd9d9=await Y(_0x3d23fb(0xdb),{'alias':G,'limit':0x5});if(_0x1cd9d9?.['ok']&&_0x1cd9d9[_0x3d23fb(0x94)]?.['length']>0x0)for(let _0x5d5998 of _0x1cd9d9[_0x3d23fb(0x94)]){let _0x24d0fb={'sender':_0x5d5998[_0x3d23fb(0xe7)]||'hub','sender_id':'commhub','user':_0x5d5998[_0x3d23fb(0xe7)]||_0x3d23fb(0xc8),'task_id':_0x5d5998['id'],'priority':_0x5d5998[_0x3d23fb(0xaa)]||'normal'};D[_0x3d23fb(0x9b)](_0x5d5998['id'],_0x5d5998['from_session']||'hub'),await x[_0x3d23fb(0x82)]({'method':'notifications/claude/channel','params':{'content':_0x5d5998[_0x3d23fb(0xd0)],'meta':_0x24d0fb}}),W(_0x3d23fb(0x85)+_0x5d5998['id']['slice'](0x0,0x8)+_0x3d23fb(0xbf)+_0x5d5998['from_session']+':\x20'+_0x5d5998[_0x3d23fb(0xd0)][_0x3d23fb(0xf2)](0x0,0x3c)),await Y(_0x3d23fb(0xe5),{'alias':G,'message_id':_0x5d5998['id']});}}}async function n(){const _0x935f2=a0_0xde0de9;let _0x4e4a40=new a0_0xbeab5b();await x[_0x935f2(0xda)](_0x4e4a40),W(_0x935f2(0xe4)),W(_0x935f2(0xbe)),o()[_0x935f2(0xc1)](_0x2ca865=>W(_0x935f2(0x88)+_0x2ca865)),Y(_0x935f2(0xc3),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x19539f(),'hostname':a0_0x19539f(),'agent':_0x935f2(0xae),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})['then'](()=>W('registered\x20as\x20\x22'+G+_0x935f2(0xa0)+K[_0x935f2(0xf2)](0x0,0x8)+')'))['catch'](_0x2971c6=>W('warning:\x20could\x20not\x20register:\x20'+_0x2971c6)),setInterval(()=>{const _0x1896eb=_0x935f2;Y('report_status',{'resume_id':K,'alias':G,'status':_0x1896eb(0xc0),'server':a0_0x19539f(),'hostname':a0_0x19539f(),'agent':'claude-code','project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x1896eb(0xc1)](_0x1bd5c=>W(_0x1896eb(0xa9)+_0x1bd5c));},0x2bf20),W(_0x935f2(0xd1));}n()[a0_0xde0de9(0xc1)](_0x14c86b=>{const _0x473cdb=a0_0xde0de9;W(_0x473cdb(0xf0)+_0x14c86b),process[_0x473cdb(0xde)](0x1);});async function b(){const _0x20fbd8=a0_0xde0de9;W('shutting\x20down,\x20reporting\x20offline...'),await Y(_0x20fbd8(0xc3),{'resume_id':K,'alias':G,'status':'offline','task':_0x20fbd8(0xd8)})[_0x20fbd8(0xc1)](()=>{}),process['exit'](0x0);}function a0_0xf89e(_0xafa2b7,_0x50d1bc){_0xafa2b7=_0xafa2b7-0x74;const _0x18c1cf=a0_0x18c1();let _0xf89e7e=_0x18c1cf[_0xafa2b7];return _0xf89e7e;}process['stdin']['on']('end',()=>b()),process['on'](a0_0xde0de9(0xfc),()=>b()),process['on'](a0_0xde0de9(0x86),()=>b());
2
+ const a0_0x180bd8=a0_0x3049;(function(_0xb6b4e9,_0x19cbce){const _0x314cae=a0_0x3049,_0x3ddcd2=_0xb6b4e9();while(!![]){try{const _0x268a43=parseInt(_0x314cae(0x1b8))/0x1+parseInt(_0x314cae(0x19f))/0x2+parseInt(_0x314cae(0x16e))/0x3*(parseInt(_0x314cae(0x175))/0x4)+-parseInt(_0x314cae(0x19a))/0x5*(-parseInt(_0x314cae(0x15a))/0x6)+-parseInt(_0x314cae(0x17c))/0x7*(parseInt(_0x314cae(0x18e))/0x8)+-parseInt(_0x314cae(0x1b9))/0x9*(parseInt(_0x314cae(0x1d3))/0xa)+-parseInt(_0x314cae(0x1ed))/0xb*(-parseInt(_0x314cae(0x1db))/0xc);if(_0x268a43===_0x19cbce)break;else _0x3ddcd2['push'](_0x3ddcd2['shift']());}catch(_0x584e76){_0x3ddcd2['push'](_0x3ddcd2['shift']());}}}(a0_0x26e6,0x6ec9f));import{readFileSync as a0_0x2e129a,existsSync as a0_0x50538e}from'fs';import{randomUUID as a0_0x534016}from'crypto';import{join as a0_0x1b26e9}from'path';import{hostname as a0_0x5a9da6}from'os';import{execSync as a0_0x17020f}from'child_process';import{Server as a0_0x1a50ae}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x5e5c5d}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x612a25,CallToolRequestSchema as a0_0x426ec4}from'@modelcontextprotocol/sdk/types.js';function I(_0x286c20){const _0x2f7f17=a0_0x3049;if(!a0_0x50538e(_0x286c20))return;for(let _0x1b9537 of a0_0x2e129a(_0x286c20,_0x2f7f17(0x1e5))['split']('\x0a')){let _0x3d1680=_0x1b9537[_0x2f7f17(0x190)]();if(!_0x3d1680||_0x3d1680['startsWith']('#'))continue;let _0x44ef66=_0x3d1680['indexOf']('=');if(_0x44ef66<0x0)continue;let _0x49d8f2=_0x3d1680[_0x2f7f17(0x1dd)](0x0,_0x44ef66)[_0x2f7f17(0x190)](),_0x12ece3=_0x3d1680['slice'](_0x44ef66+0x1)['trim']()['replace'](/^["']|["']$/g,'');if(!process.env[_0x49d8f2])process.env[_0x49d8f2]=_0x12ece3;}}var L=process.env.HOME||'~',U=a0_0x1b26e9(L,a0_0x180bd8(0x172));I(a0_0x1b26e9(U,'.env'));var v=process[a0_0x180bd8(0x1a4)]()['replace'](/\//g,'-');I(a0_0x1b26e9(U,v,a0_0x180bd8(0x1ae)));function d(){const _0x4db0cf=a0_0x180bd8;try{return a0_0x17020f(_0x4db0cf(0x1b5),{'encoding':_0x4db0cf(0x1e5),'timeout':0x7d0})[_0x4db0cf(0x190)]();}catch{return'';}}function m(){const _0x3b52c0=a0_0x180bd8;try{let _0x1daa23=a0_0x1b26e9(L,_0x3b52c0(0x1de),_0x3b52c0(0x164));if(a0_0x50538e(_0x1daa23))return JSON[_0x3b52c0(0x19c)](a0_0x2e129a(_0x1daa23,_0x3b52c0(0x1e5)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x180bd8(0x173)]||a0_0x180bd8(0x165),f=process.env.COMMHUB_TMUX||d();function r(){const _0x1cc214=a0_0x180bd8;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x1cc214(0x190)]())return process.env.COMMHUB_ALIAS[_0x1cc214(0x190)]();return process[_0x1cc214(0x15e)][_0x1cc214(0x1bf)](_0x1cc214(0x1c3)+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(f||_0x1cc214(0x18f))+'\x20/\x20hostname='+a0_0x5a9da6()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),_0x1cc214(0x178)+process[_0x1cc214(0x167)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x534016(),F=process.env.COMMHUB_TOKEN||u[a0_0x180bd8(0x183)]||'';function W(_0x41b11c){const _0x142f95=a0_0x180bd8;let _0x2e2918=new Date()[_0x142f95(0x1bb)]()[_0x142f95(0x1dd)](0x0,0x8);process[_0x142f95(0x15e)][_0x142f95(0x1bf)]('['+_0x2e2918+_0x142f95(0x1bc)+_0x41b11c+'\x0a');}function N(_0x4ea6a4){return new Promise(_0x37981f=>setTimeout(_0x37981f,_0x4ea6a4));}W(a0_0x180bd8(0x1d7)+j+a0_0x180bd8(0x1cb)+G+'\x20RESUME_ID='+K[a0_0x180bd8(0x1dd)](0x0,0x8)+'...\x20TMUX='+(f||a0_0x180bd8(0x1f0))+a0_0x180bd8(0x1d9)+process[a0_0x180bd8(0x1a4)]()+'\x20PROJECT_ENV='+v);var D=new Map(),x=new a0_0x1a50ae({'name':'commhub-channel','version':a0_0x180bd8(0x157)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x180bd8(0x1ad),a0_0x180bd8(0x1c1),'Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.',a0_0x180bd8(0x1f1)+G]['join']('\x0a')});function a0_0x26e6(){const _0x5ed919=['\x20ALIAS=','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','decode','send_message','then','get_all_status','cancelled','catch','110xScVLN','shutting\x20down,\x20reporting\x20offline...','re-registered\x20as\x20\x22','claude-code','ENV:\x20URL=','connect','\x20CWD=','setRequestHandler','600wQRcpX','length','slice','.anet','parse\x20error:\x20','Priority\x20(default:\x20normal)','completed','message_id','SIGINT','report_status','utf-8','\x22\x20(','Target\x20session\x20alias','find','Authorization','starting\x20SSE\x20listener...','task','working','63272UiPjsh','message','\x22\x20after\x20SSE\x20reconnect','none','Session\x20alias:\x20','0.3.0','data:\x20','min','1443822JCEoDM','application/json','broadcast','SIGTERM','stderr','from_session','initialize','messages','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','←\x20message\x20from\x20','config.json','http://127.0.0.1:9200','SSE\x20connection\x20error:\x20','pid','number','unknown\x20tool','SSE\x20stream\x20ended,\x20reconnecting...','new_message','2025-03-26','Reply\x20text\x20/\x20result\x20summary','171807JZadmE','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','startsWith','→\x20injected\x20task\x20','.claude/channels/commhub','hub','split','8EqRjge','init\x20failed:\x20',':\x20inbox_count=','unattributed-','error','\x20priority=','offline','49ZwKxmY','SSE\x20error:\x20','CommHub\x20init\x20failed:\x20','priority','from','commhub_reply','commhub_report_status','token','new_task','high','type','commhub','stringify','stdin','notification','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','heartbeat\x20failed:\x20','Bearer\x20','772080iLZvJk','(none)','trim','application/json,\x20text/event-stream','tools/call','\x20from\x20','object','text','Message\x20content','string','warning:\x20could\x20not\x20register:\x20','normal','5jFCzzX','Current\x20task\x20description','parse','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','alias','531324CBJKsm','inbox_count','notifications/claude/channel','end','/events/','cwd','idle','commhub_get_all_status','read','commhub_send_message','POST',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','status','getReader','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','.env','connected','SSE\x20connected\x20as\x20\x22','replied','get','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','set','tmux\x20display-message\x20-p\x20\x27#S\x27','commhub-channel','now','576455EztfDH','290889EocsNc','blocked','toTimeString',']\x20[commhub]\x20','params','low','write','2.0','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','ack_inbox','content','SSE\x20fatal:\x20','Progress\x200-100','exit','result'];a0_0x26e6=function(){return _0x5ed919;};return a0_0x26e6();}x[a0_0x180bd8(0x1da)](a0_0x612a25,async()=>({'tools':[{'name':a0_0x180bd8(0x181),'description':a0_0x180bd8(0x18b),'inputSchema':{'type':a0_0x180bd8(0x194),'properties':{'task_id':{'type':a0_0x180bd8(0x197),'description':a0_0x180bd8(0x1cc)},'text':{'type':'string','description':a0_0x180bd8(0x16d)},'status':{'type':a0_0x180bd8(0x197),'enum':[a0_0x180bd8(0x1e1),'failed',a0_0x180bd8(0x1d1),a0_0x180bd8(0x1ba),a0_0x180bd8(0x179),'in_progress'],'description':a0_0x180bd8(0x1b3)}},'required':[a0_0x180bd8(0x195)]}},{'name':a0_0x180bd8(0x182),'description':a0_0x180bd8(0x16f),'inputSchema':{'type':a0_0x180bd8(0x194),'properties':{'status':{'type':a0_0x180bd8(0x197),'enum':[a0_0x180bd8(0x1ec),a0_0x180bd8(0x1a5),a0_0x180bd8(0x1ba),a0_0x180bd8(0x179)]},'task':{'type':a0_0x180bd8(0x197),'description':a0_0x180bd8(0x19b)},'progress':{'type':a0_0x180bd8(0x168),'description':a0_0x180bd8(0x1c8)}},'required':[a0_0x180bd8(0x1ab)]}},{'name':'commhub_send_task','description':a0_0x180bd8(0x1c2),'inputSchema':{'type':a0_0x180bd8(0x194),'properties':{'alias':{'type':'string','description':a0_0x180bd8(0x1e7)},'task':{'type':a0_0x180bd8(0x197),'description':'Task\x20content'},'priority':{'type':a0_0x180bd8(0x197),'enum':[a0_0x180bd8(0x185),a0_0x180bd8(0x199),a0_0x180bd8(0x1be)],'description':a0_0x180bd8(0x1e0)}},'required':[a0_0x180bd8(0x19e),a0_0x180bd8(0x1eb)]}},{'name':a0_0x180bd8(0x1a8),'description':a0_0x180bd8(0x162),'inputSchema':{'type':a0_0x180bd8(0x194),'properties':{'alias':{'type':a0_0x180bd8(0x197),'description':a0_0x180bd8(0x1e7)},'message':{'type':a0_0x180bd8(0x197),'description':a0_0x180bd8(0x196)}},'required':[a0_0x180bd8(0x19e),'message']}},{'name':a0_0x180bd8(0x1a6),'description':a0_0x180bd8(0x1c4),'inputSchema':{'type':a0_0x180bd8(0x194),'properties':{}}}]}));async function Y(_0x1849bf,_0x1c39a7){const _0x566894=a0_0x180bd8;let _0x4adf28=await fetch(j+'/mcp',{'method':_0x566894(0x1a9),'headers':{'Content-Type':_0x566894(0x15b),'Accept':_0x566894(0x191),...F?{'Authorization':_0x566894(0x18d)+F}:{}},'body':JSON[_0x566894(0x188)]({'jsonrpc':_0x566894(0x1c0),'id':0x1,'method':_0x566894(0x160),'params':{'protocolVersion':_0x566894(0x16c),'capabilities':{},'clientInfo':{'name':_0x566894(0x1b6),'version':'0.3.0'}}})});if(!_0x4adf28['ok']){let _0x359846=await _0x4adf28[_0x566894(0x195)]();return W(_0x566894(0x17e)+_0x4adf28[_0x566894(0x1ab)]+'\x20'+_0x359846[_0x566894(0x1dd)](0x0,0x64)),{'ok':!0x1,'error':_0x566894(0x176)+_0x4adf28[_0x566894(0x1ab)]};}await _0x4adf28[_0x566894(0x195)]();let _0x7023e4=(await(await fetch(j+'/mcp',{'method':_0x566894(0x1a9),'headers':{'Content-Type':_0x566894(0x15b),'Accept':_0x566894(0x191),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x566894(0x188)]({'jsonrpc':_0x566894(0x1c0),'id':0x2,'method':_0x566894(0x192),'params':{'name':_0x1849bf,'arguments':_0x1c39a7}})}))['text']())['split']('\x0a')[_0x566894(0x1e8)](_0x974c39=>_0x974c39[_0x566894(0x170)](_0x566894(0x158)));if(_0x7023e4){let _0x4636a5=JSON[_0x566894(0x19c)](_0x7023e4[_0x566894(0x1dd)](0x6));return _0x4636a5?.['result']?.[_0x566894(0x1c6)]?.[0x0]?.[_0x566894(0x195)]?JSON[_0x566894(0x19c)](_0x4636a5[_0x566894(0x1ca)][_0x566894(0x1c6)][0x0][_0x566894(0x195)]):_0x4636a5;}return{'ok':!0x1,'error':'no\x20response'};}x['setRequestHandler'](a0_0x426ec4,async _0x21a039=>{const _0x351dd1=a0_0x180bd8;let {name:_0x523ade,arguments:_0x54444d}=_0x21a039[_0x351dd1(0x1bd)];if(_0x523ade===_0x351dd1(0x181)){let {task_id:_0x5bb85d,text:_0xa28e61,status:_0x2a2a41}=_0x54444d;if(_0x2a2a41==='completed'||_0x2a2a41==='failed'||_0x2a2a41===_0x351dd1(0x1d1)){let _0x55815e=_0x2a2a41===_0x351dd1(0x1e1)?_0x351dd1(0x1b1):_0x2a2a41,_0x9404fd=_0x5bb85d?D[_0x351dd1(0x1b2)](_0x5bb85d)||_0x351dd1(0x173):'hub',_0x1c23f4=await Y('send_reply',{'alias':_0x9404fd,'text':_0xa28e61,'in_reply_to':_0x5bb85d||void 0x0,'status':_0x55815e,'from_session':G});if(_0x5bb85d)D['delete'](_0x5bb85d);return{'content':[{'type':_0x351dd1(0x195),'text':JSON[_0x351dd1(0x188)](_0x1c23f4)}]};}let _0x3c59ca=await Y(_0x351dd1(0x1e4),{'resume_id':K,'alias':G,'status':_0x2a2a41===_0x351dd1(0x1ba)?_0x351dd1(0x1ba):_0x2a2a41===_0x351dd1(0x179)?_0x351dd1(0x179):_0x351dd1(0x1ec),'task':_0xa28e61[_0x351dd1(0x1dd)](0x0,0xc8),'output':_0xa28e61});return{'content':[{'type':'text','text':JSON['stringify'](_0x3c59ca)}]};}if(_0x523ade==='commhub_report_status'){let {status:_0x475615,task:_0x18819b,progress:_0x21200c}=_0x54444d,_0x440e6a=await Y(_0x351dd1(0x1e4),{'resume_id':K,'alias':G,'status':_0x475615,'task':_0x18819b,'progress':_0x21200c});return{'content':[{'type':'text','text':JSON[_0x351dd1(0x188)](_0x440e6a)}]};}if(_0x523ade==='commhub_send_task'){let {alias:_0x274fa1,task:_0x7f889e,priority:_0x2f6608}=_0x54444d,_0x5caf0c=await Y('send_task',{'alias':_0x274fa1,'task':_0x7f889e,'priority':_0x2f6608||_0x351dd1(0x199),'from_session':G});return{'content':[{'type':_0x351dd1(0x195),'text':JSON[_0x351dd1(0x188)](_0x5caf0c)}]};}if(_0x523ade==='commhub_send_message'){let {alias:_0x4d7fa3,message:_0xb3f32a}=_0x54444d,_0x4a8f61=await Y(_0x351dd1(0x1ce),{'alias':_0x4d7fa3,'message':_0xb3f32a,'from_session':G});return{'content':[{'type':_0x351dd1(0x195),'text':JSON['stringify'](_0x4a8f61)}]};}if(_0x523ade===_0x351dd1(0x1a6)){let _0x4dbf4d=await Y(_0x351dd1(0x1d0),{});return{'content':[{'type':_0x351dd1(0x195),'text':JSON[_0x351dd1(0x188)](_0x4dbf4d)}]};}return{'content':[{'type':_0x351dd1(0x195),'text':JSON['stringify']({'error':_0x351dd1(0x169)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x302a3e=a0_0x180bd8;try{await Y(_0x302a3e(0x1e4),{'resume_id':K,'alias':G,'status':_0x302a3e(0x1a5),'server':a0_0x5a9da6(),'hostname':a0_0x5a9da6(),'agent':_0x302a3e(0x1d6),'project_dir':process[_0x302a3e(0x1a4)](),'tmux_name':f||void 0x0}),W(_0x302a3e(0x1d5)+G+_0x302a3e(0x1ef));}catch(_0x4aea76){W('re-register\x20failed:\x20'+_0x4aea76);}}async function o(){const _0x1cb9b2=a0_0x180bd8;let _0x4a2f6a=j+_0x1cb9b2(0x1a3)+encodeURIComponent(G),_0x51dbe0={};if(F)_0x51dbe0[_0x1cb9b2(0x1e9)]=_0x1cb9b2(0x18d)+F;W('connecting\x20to\x20'+_0x4a2f6a);let _0x165736=O,_0x724e4c=!0x0,_0xa17ea7=null;while(!0x0){try{let _0x4d84e9=await fetch(_0x4a2f6a,{'headers':_0x51dbe0});if(!_0x4d84e9['ok']){if(W(_0x1cb9b2(0x17d)+_0x4d84e9[_0x1cb9b2(0x1ab)]+'\x20'+_0x4d84e9['statusText']),_0xa17ea7=_0xa17ea7??Date['now'](),Date[_0x1cb9b2(0x1b7)]()-_0xa17ea7>T){W(_0x1cb9b2(0x19d)+j+_0x1cb9b2(0x1aa));return;}await N(_0x165736),_0x165736=Math['min'](_0x165736*0x2,R);continue;}let _0x5d3726=_0x4d84e9['body'][_0x1cb9b2(0x1ac)](),_0x12d650=new TextDecoder(),_0x7edf5d='';_0x165736=O;while(!0x0){let {done:_0x3858f0,value:_0x1efbe4}=await _0x5d3726[_0x1cb9b2(0x1a7)]();if(_0x3858f0)break;_0x7edf5d+=_0x12d650[_0x1cb9b2(0x1cd)](_0x1efbe4,{'stream':!0x0});let _0x2e6ce9=_0x7edf5d[_0x1cb9b2(0x174)]('\x0a\x0a');_0x7edf5d=_0x2e6ce9['pop']()||'';for(let _0x5a7d81 of _0x2e6ce9){let _0x3e1548=_0x5a7d81[_0x1cb9b2(0x174)]('\x0a')[_0x1cb9b2(0x1e8)](_0x5d4616=>_0x5d4616['startsWith'](_0x1cb9b2(0x158)));if(!_0x3e1548)continue;try{let _0x117b43=JSON[_0x1cb9b2(0x19c)](_0x3e1548[_0x1cb9b2(0x1dd)](0x6));if(await a(_0x117b43),_0x117b43['type']===_0x1cb9b2(0x1af)){if(_0xa17ea7=null,!_0x724e4c)await l();_0x724e4c=!0x1;}}catch(_0x239622){W(_0x1cb9b2(0x1df)+_0x239622);}}}W(_0x1cb9b2(0x16a));}catch(_0x229279){W(_0x1cb9b2(0x166)+_0x229279);}if(_0xa17ea7=_0xa17ea7??Date[_0x1cb9b2(0x1b7)](),Date[_0x1cb9b2(0x1b7)]()-_0xa17ea7>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x1cb9b2(0x1aa));return;}await N(_0x165736),_0x165736=Math[_0x1cb9b2(0x159)](_0x165736*0x2,R);}}async function a(_0x35432f){const _0x2bda06=a0_0x180bd8;if(_0x35432f[_0x2bda06(0x186)]===_0x2bda06(0x1af)){W(_0x2bda06(0x1b0)+G+'\x22');return;}if(_0x35432f[_0x2bda06(0x186)]===_0x2bda06(0x16b)){if(W(_0x2bda06(0x163)+_0x35432f[_0x2bda06(0x180)]+':\x20'+_0x35432f[_0x2bda06(0x1ee)][_0x2bda06(0x1dd)](0x0,0x3c)),await x[_0x2bda06(0x18a)]({'method':_0x2bda06(0x1a1),'params':{'content':_0x35432f[_0x2bda06(0x1ee)],'meta':{'sender':_0x35432f[_0x2bda06(0x180)]||'hub','sender_id':_0x2bda06(0x187),'user':_0x35432f[_0x2bda06(0x180)]||_0x2bda06(0x173),'priority':_0x2bda06(0x199)}}}),_0x35432f['message_id'])await Y('ack_inbox',{'alias':G,'message_id':_0x35432f[_0x2bda06(0x1e2)]});return;}if(_0x35432f[_0x2bda06(0x186)]===_0x2bda06(0x184)||_0x35432f[_0x2bda06(0x186)]===_0x2bda06(0x15c)){W('←\x20'+_0x35432f[_0x2bda06(0x186)]+_0x2bda06(0x177)+_0x35432f[_0x2bda06(0x1a0)]+_0x2bda06(0x17a)+(_0x35432f[_0x2bda06(0x17f)]||_0x2bda06(0x199)));let _0x44a8e8=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x44a8e8?.['ok']&&_0x44a8e8[_0x2bda06(0x161)]?.[_0x2bda06(0x1dc)]>0x0)for(let _0x416a3a of _0x44a8e8['messages']){let _0x169e78={'sender':_0x416a3a[_0x2bda06(0x15f)]||_0x2bda06(0x173),'sender_id':_0x2bda06(0x187),'user':_0x416a3a[_0x2bda06(0x15f)]||_0x2bda06(0x173),'task_id':_0x416a3a['id'],'priority':_0x416a3a['priority']||_0x2bda06(0x199)};D[_0x2bda06(0x1b4)](_0x416a3a['id'],_0x416a3a['from_session']||_0x2bda06(0x173)),await x['notification']({'method':'notifications/claude/channel','params':{'content':_0x416a3a[_0x2bda06(0x1c6)],'meta':_0x169e78}}),W(_0x2bda06(0x171)+_0x416a3a['id']['slice'](0x0,0x8)+_0x2bda06(0x193)+_0x416a3a['from_session']+':\x20'+_0x416a3a[_0x2bda06(0x1c6)][_0x2bda06(0x1dd)](0x0,0x3c)),await Y(_0x2bda06(0x1c5),{'alias':G,'message_id':_0x416a3a['id']});}}}function a0_0x3049(_0x8dd57f,_0x192cd8){_0x8dd57f=_0x8dd57f-0x157;const _0x26e6b3=a0_0x26e6();let _0x3049af=_0x26e6b3[_0x8dd57f];return _0x3049af;}async function n(){const _0x1c0d5a=a0_0x180bd8;let _0x4a51b0=new a0_0x5e5c5d();await x[_0x1c0d5a(0x1d8)](_0x4a51b0),W('MCP\x20stdio\x20connected'),W(_0x1c0d5a(0x1ea)),o()['catch'](_0x3ad938=>W(_0x1c0d5a(0x1c7)+_0x3ad938)),Y(_0x1c0d5a(0x1e4),{'resume_id':K,'alias':G,'status':_0x1c0d5a(0x1a5),'server':a0_0x5a9da6(),'hostname':a0_0x5a9da6(),'agent':_0x1c0d5a(0x1d6),'project_dir':process[_0x1c0d5a(0x1a4)](),'tmux_name':f||void 0x0})[_0x1c0d5a(0x1cf)](()=>W('registered\x20as\x20\x22'+G+_0x1c0d5a(0x1e6)+K[_0x1c0d5a(0x1dd)](0x0,0x8)+')'))[_0x1c0d5a(0x1d2)](_0x4e03fa=>W(_0x1c0d5a(0x198)+_0x4e03fa)),setInterval(()=>{const _0x116412=_0x1c0d5a;Y(_0x116412(0x1e4),{'resume_id':K,'alias':G,'status':_0x116412(0x1a5),'server':a0_0x5a9da6(),'hostname':a0_0x5a9da6(),'agent':'claude-code','project_dir':process[_0x116412(0x1a4)](),'tmux_name':f||void 0x0})[_0x116412(0x1d2)](_0x585234=>W(_0x116412(0x18c)+_0x585234));},0x2bf20),W('ready\x20—\x20waiting\x20for\x20events');}n()[a0_0x180bd8(0x1d2)](_0x5eb474=>{const _0x546940=a0_0x180bd8;W('fatal:\x20'+_0x5eb474),process[_0x546940(0x1c9)](0x1);});async function b(){const _0x2d1939=a0_0x180bd8;W(_0x2d1939(0x1d4)),await Y(_0x2d1939(0x1e4),{'resume_id':K,'alias':G,'status':_0x2d1939(0x17b),'task':'session\x20disconnected'})['catch'](()=>{}),process[_0x2d1939(0x1c9)](0x0);}process[a0_0x180bd8(0x189)]['on'](a0_0x180bd8(0x1a2),()=>b()),process['on'](a0_0x180bd8(0x15d),()=>b()),process['on'](a0_0x180bd8(0x1e3),()=>b());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network",
3
- "version": "2.3.0-preview.11",
3
+ "version": "2.3.0-preview.13",
4
4
  "description": "AI Agent Network CLI — Local-first multi-agent orchestration across 4 runtimes (Claude Code CLI / Claude Agent SDK / Codex SDK / Grok Build ACP) and 8+ LLM providers (Anthropic / OpenAI / xAI Grok / MiniMax / DeepSeek / GLM / Kimi / InternLM / Xiaomi MiMo / OpenRouter). Apache 2.0.",
5
5
  "type": "module",
6
6
  "main": "dist/src/client.js",