@sleep2agi/agent-network 2.3.0-preview.30 → 2.3.0-preview.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- function a0_0x10ba(_0x162cd1,_0x5b48b5){_0x162cd1=_0x162cd1-0x110;const _0x1b967f=a0_0x1b96();let _0x10ba4c=_0x1b967f[_0x162cd1];return _0x10ba4c;}const a0_0x42d0a8=a0_0x10ba;(function(_0x13073e,_0x22ec33){const _0x1a0b32=a0_0x10ba,_0x1b2cfe=_0x13073e();while(!![]){try{const _0x4d7453=parseInt(_0x1a0b32(0x153))/0x1*(parseInt(_0x1a0b32(0x164))/0x2)+-parseInt(_0x1a0b32(0x156))/0x3*(parseInt(_0x1a0b32(0x136))/0x4)+-parseInt(_0x1a0b32(0x15c))/0x5*(parseInt(_0x1a0b32(0x118))/0x6)+-parseInt(_0x1a0b32(0x131))/0x7*(parseInt(_0x1a0b32(0x15f))/0x8)+-parseInt(_0x1a0b32(0x122))/0x9+parseInt(_0x1a0b32(0x140))/0xa+parseInt(_0x1a0b32(0x14e))/0xb*(parseInt(_0x1a0b32(0x112))/0xc);if(_0x4d7453===_0x22ec33)break;else _0x1b2cfe['push'](_0x1b2cfe['shift']());}catch(_0x315eed){_0x1b2cfe['push'](_0x1b2cfe['shift']());}}}(a0_0x1b96,0xabf29));import{EventEmitter as a0_0x336085}from'events';function a0_0x1b96(){const _0x3c4ea6=['error','call','agent','type','sdk','heartbeatInterval','38654tAVqZK','name','message','/mcp','getAllStatus','62569rreYxH','startsWith','pop','22674TGZHtt','getReader','get_all_status','slice','report_status','task','2925985NmcHeT','normal','get_inbox','48mbuQjx','running','from_session',']\x20[commhub:','broadcast','2zpEbpg','SSE\x20error:\x20','idle','connectSSE','/events/','parse','POST','text','5316pNweNr','heartbeatTimer','min','registered','catch','log','6gvUbrH','alias','completed','autoConnect','signal','processInbox','tools/call','connected','offline','new_task','2393136xIsEup','resumeId','server','toTimeString','disconnected','disconnect','reconnectDelay','send_task','sseAbort','now','sleep','split','text/event-stream','SSE\x20reconnecting\x20in\x20','send','650545neTgCO','Bearer\x20','data:\x20','toString','SSE\x20connected','244WDAEHu','application/json,\x20text/event-stream','url','new_message','SSE\x20failed:\x20','emit','result','cwd','token','Authorization','9547750irdpVP','s...','connect','abort','ack_inbox','status','send_reply','2.0'];a0_0x1b96=function(){return _0x3c4ea6;};return a0_0x1b96();}import{hostname as a0_0x31b1e7}from'os';class T extends a0_0x336085{['url'];[a0_0x42d0a8(0x119)];['token'];['agent'];[a0_0x42d0a8(0x123)];[a0_0x42d0a8(0x14d)];[a0_0x42d0a8(0x128)];['heartbeatTimer'];[a0_0x42d0a8(0x12a)];[a0_0x42d0a8(0x160)]=!0x1;constructor(_0x113442){const _0x1a2606=a0_0x42d0a8;super();if(this[_0x1a2606(0x138)]=_0x113442[_0x1a2606(0x138)]['replace'](/\/$/,''),this['alias']=_0x113442[_0x1a2606(0x119)],this[_0x1a2606(0x13e)]=_0x113442['token'],this[_0x1a2606(0x14a)]=_0x113442['agent']||_0x1a2606(0x14c),this[_0x1a2606(0x123)]='sdk-'+_0x113442['alias']+'-'+Date[_0x1a2606(0x12b)]()[_0x1a2606(0x134)](0x24),this[_0x1a2606(0x14d)]=_0x113442[_0x1a2606(0x14d)]??0x2bf20,this[_0x1a2606(0x128)]=_0x113442[_0x1a2606(0x128)]??0xbb8,_0x113442[_0x1a2606(0x11b)]!==!0x1)this[_0x1a2606(0x142)]();}['log'](_0x31190a){const _0x13b5f0=a0_0x42d0a8;console[_0x13b5f0(0x117)]('['+new Date()[_0x13b5f0(0x125)]()[_0x13b5f0(0x159)](0x0,0x8)+_0x13b5f0(0x162)+this['alias']+']\x20'+_0x31190a);}async[a0_0x42d0a8(0x149)](_0x6649bd,_0x2b887c){const _0x3986cc=a0_0x42d0a8;let _0x36bb42={'Content-Type':'application/json','Accept':_0x3986cc(0x137)};if(this[_0x3986cc(0x13e)])_0x36bb42['Authorization']='Bearer\x20'+this['token'];let _0x5e7ba3=await(await fetch(this[_0x3986cc(0x138)]+_0x3986cc(0x151),{'method':_0x3986cc(0x110),'headers':_0x36bb42,'body':JSON['stringify']({'jsonrpc':_0x3986cc(0x147),'id':Date[_0x3986cc(0x12b)](),'method':_0x3986cc(0x11e),'params':{'name':_0x6649bd,'arguments':_0x2b887c}})}))[_0x3986cc(0x111)](),_0x223473=_0x5e7ba3['match'](/data: (.+)/),_0x1077ab=_0x223473?JSON[_0x3986cc(0x169)](_0x223473[0x1]):JSON['parse'](_0x5e7ba3),_0x4ebe38=_0x1077ab?.[_0x3986cc(0x13c)]?.['content']?.[0x0]?.[_0x3986cc(0x111)];return _0x4ebe38?JSON[_0x3986cc(0x169)](_0x4ebe38):_0x1077ab;}async[a0_0x42d0a8(0x142)](){const _0x386288=a0_0x42d0a8;if(this[_0x386288(0x160)])return;this[_0x386288(0x160)]=!0x0,await this[_0x386288(0x145)](_0x386288(0x166)),this['log'](_0x386288(0x115)),this['heartbeatTimer']=setInterval(()=>{const _0x48f991=_0x386288;this[_0x48f991(0x145)](_0x48f991(0x166))[_0x48f991(0x116)](_0x353f7f=>this['log']('heartbeat\x20failed:\x20'+_0x353f7f[_0x48f991(0x150)]));},this[_0x386288(0x14d)]),this[_0x386288(0x167)]();}async[a0_0x42d0a8(0x127)](){const _0x1210e3=a0_0x42d0a8;if(this[_0x1210e3(0x160)]=!0x1,this[_0x1210e3(0x12a)]?.[_0x1210e3(0x143)](),this[_0x1210e3(0x113)])clearInterval(this[_0x1210e3(0x113)]);await this[_0x1210e3(0x145)](_0x1210e3(0x120))[_0x1210e3(0x116)](()=>{}),this[_0x1210e3(0x117)](_0x1210e3(0x126));}async[a0_0x42d0a8(0x130)](_0x588a4c,_0x210d3e,_0x23dd45=a0_0x42d0a8(0x15d)){const _0x2d543c=a0_0x42d0a8;return this[_0x2d543c(0x149)](_0x2d543c(0x129),{'alias':_0x588a4c,'task':_0x210d3e,'priority':_0x23dd45,'from_session':this['alias']});}async['message'](_0x2544cb,_0x7fefb6){const _0x373ef3=a0_0x42d0a8;return this['call']('send_message',{'alias':_0x2544cb,'message':_0x7fefb6,'from_session':this[_0x373ef3(0x119)]});}async['reply'](_0x91fce8,_0x3a7a51,_0xc85abd=a0_0x42d0a8(0x11a)){const _0x4f12dc=a0_0x42d0a8;return this[_0x4f12dc(0x149)](_0x4f12dc(0x146),{'in_reply_to':_0x91fce8,'text':_0x3a7a51,'status':_0xc85abd});}async[a0_0x42d0a8(0x145)](_0x33b60e,_0x40a785){const _0x2895ba=a0_0x42d0a8;return this['call'](_0x2895ba(0x15a),{'resume_id':this[_0x2895ba(0x123)],'alias':this[_0x2895ba(0x119)],'status':_0x33b60e,'server':a0_0x31b1e7(),'hostname':a0_0x31b1e7(),'agent':this['agent'],'project_dir':process[_0x2895ba(0x13d)](),..._0x40a785});}async[a0_0x42d0a8(0x152)](){const _0xb77912=a0_0x42d0a8;return this[_0xb77912(0x149)](_0xb77912(0x158),{});}async[a0_0x42d0a8(0x163)](_0x34a901,_0x45b0b7){const _0x29aa3b=a0_0x42d0a8;return this[_0x29aa3b(0x149)](_0x29aa3b(0x163),{'message':_0x34a901,'filter_server':_0x45b0b7?.[_0x29aa3b(0x124)],'filter_status':_0x45b0b7?.['status']});}async['connectSSE'](){const _0x23552a=a0_0x42d0a8;let _0x40e746=encodeURIComponent(this['alias']),_0x17a3a0=this[_0x23552a(0x138)]+_0x23552a(0x168)+_0x40e746,_0x4b0e79=this[_0x23552a(0x128)];while(this['running']){try{this[_0x23552a(0x12a)]=new AbortController();let _0x6b7920={'Accept':_0x23552a(0x12e)};if(this[_0x23552a(0x13e)])_0x6b7920[_0x23552a(0x13f)]=_0x23552a(0x132)+this[_0x23552a(0x13e)];let _0x4d10e5=await fetch(_0x17a3a0,{'headers':_0x6b7920,'signal':this[_0x23552a(0x12a)][_0x23552a(0x11c)]});if(!_0x4d10e5['ok']||!_0x4d10e5['body']){this[_0x23552a(0x117)](_0x23552a(0x13a)+_0x4d10e5[_0x23552a(0x145)]),await this['sleep'](_0x4b0e79),_0x4b0e79=Math[_0x23552a(0x114)](_0x4b0e79*1.5,0xea60);continue;}_0x4b0e79=this[_0x23552a(0x128)];let _0x49467b=_0x4d10e5['body'][_0x23552a(0x157)](),_0xf0099b=new TextDecoder(),_0x28377e='';while(this[_0x23552a(0x160)]){let {done:_0x3659ed,value:_0x3fff9d}=await _0x49467b['read']();if(_0x3659ed)break;_0x28377e+=_0xf0099b['decode'](_0x3fff9d,{'stream':!0x0});let _0x546cf1=_0x28377e[_0x23552a(0x12d)]('\x0a');_0x28377e=_0x546cf1[_0x23552a(0x155)]()||'';for(let _0x56154c of _0x546cf1){if(!_0x56154c[_0x23552a(0x154)](_0x23552a(0x133)))continue;try{let _0x591038=JSON['parse'](_0x56154c[_0x23552a(0x159)](0x6));if(_0x591038[_0x23552a(0x14b)]===_0x23552a(0x11f)){this[_0x23552a(0x117)](_0x23552a(0x135)),this[_0x23552a(0x13b)](_0x23552a(0x11f));continue;}if(_0x591038[_0x23552a(0x14b)]===_0x23552a(0x121)||_0x591038[_0x23552a(0x14b)]===_0x23552a(0x139)||_0x591038[_0x23552a(0x14b)]===_0x23552a(0x163))await this[_0x23552a(0x11d)]();}catch{}}}}catch(_0x4cdde7){if(_0x4cdde7[_0x23552a(0x14f)]==='AbortError')break;this['emit'](_0x23552a(0x148),_0x4cdde7),this[_0x23552a(0x117)](_0x23552a(0x165)+_0x4cdde7['message']);}if(this[_0x23552a(0x160)])this[_0x23552a(0x13b)](_0x23552a(0x126)),this[_0x23552a(0x117)](_0x23552a(0x12f)+_0x4b0e79/0x3e8+_0x23552a(0x141)),await this[_0x23552a(0x12c)](_0x4b0e79),_0x4b0e79=Math[_0x23552a(0x114)](_0x4b0e79*1.5,0xea60);}}async[a0_0x42d0a8(0x11d)](){const _0x3e41cc=a0_0x42d0a8;try{let _0xb5a9a6=(await this[_0x3e41cc(0x149)](_0x3e41cc(0x15e),{'alias':this['alias'],'limit':0xa}))?.['messages']||[];for(let _0x44d8cc of _0xb5a9a6)await this[_0x3e41cc(0x149)](_0x3e41cc(0x144),{'alias':this[_0x3e41cc(0x119)],'message_id':_0x44d8cc['id']}),this[_0x3e41cc(0x117)]('←\x20'+_0x44d8cc[_0x3e41cc(0x161)]+':\x20'+_0x44d8cc['content']['slice'](0x0,0x3c)),this[_0x3e41cc(0x13b)](_0x3e41cc(0x15b),_0x44d8cc),this[_0x3e41cc(0x13b)](_0x3e41cc(0x150),_0x44d8cc);}catch(_0x1f11a3){this[_0x3e41cc(0x117)]('inbox\x20error:\x20'+_0x1f11a3[_0x3e41cc(0x150)]);}}['sleep'](_0x1f687f){return new Promise(_0x364aa6=>setTimeout(_0x364aa6,_0x1f687f));}}var $=T;export{$ as default,T as CommHub};
1
+ function a0_0x7e95(){const _0x4d2592=['reconnectDelay','6852JdHPyc','startsWith','call','error','/mcp','connected','Authorization','emit','url','processInbox','send_message','get_inbox','decode','message','98QhHWpo','data:\x20','sleep','66GmwqmG','alias','SSE\x20failed:\x20','Bearer\x20','task','registered','s...','stringify','3wFSYKL','application/json,\x20text/event-stream','getAllStatus','broadcast','366490drqwLw','heartbeat\x20failed:\x20','sdk','completed','replace','disconnected','messages','from_session','normal','sseAbort','POST','offline','855434UjkjxX','body','heartbeatTimer','toString','getReader','1125930LFJltY','type','974840DXUBtU','agent','cwd','slice','read','sdk-','ack_inbox','SSE\x20connected','99uZssFK','toTimeString','idle','log','now','send','2.0','server','content','new_task','autoConnect','reply','catch','new_message','token','send_task','connect','300411dlBWOL','tools/call','result','get_all_status','AbortError','abort','65263dwizmQ','heartbeatInterval','report_status','SSE\x20reconnecting\x20in\x20','send_reply','signal','resumeId','2368068mQKAgm','status','match','min','running','connectSSE','disconnect','parse','name'];a0_0x7e95=function(){return _0x4d2592;};return a0_0x7e95();}function a0_0x4318(_0x1beb47,_0x209047){_0x1beb47=_0x1beb47-0x1e6;const _0x7e95a6=a0_0x7e95();let _0x431810=_0x7e95a6[_0x1beb47];return _0x431810;}const a0_0x1bb943=a0_0x4318;(function(_0x59835e,_0x56539a){const _0x42f87c=a0_0x4318,_0x35acaa=_0x59835e();while(!![]){try{const _0x3d0159=parseInt(_0x42f87c(0x20b))/0x1+-parseInt(_0x42f87c(0x1eb))/0x2*(-parseInt(_0x42f87c(0x23b))/0x3)+parseInt(_0x42f87c(0x218))/0x4+-parseInt(_0x42f87c(0x23f))/0x5*(parseInt(_0x42f87c(0x233))/0x6)+parseInt(_0x42f87c(0x230))/0x7*(-parseInt(_0x42f87c(0x1f2))/0x8)+parseInt(_0x42f87c(0x1fa))/0x9*(-parseInt(_0x42f87c(0x1f0))/0xa)+-parseInt(_0x42f87c(0x211))/0xb*(-parseInt(_0x42f87c(0x222))/0xc);if(_0x3d0159===_0x56539a)break;else _0x35acaa['push'](_0x35acaa['shift']());}catch(_0x3584f8){_0x35acaa['push'](_0x35acaa['shift']());}}}(a0_0x7e95,0xe9abd));import{EventEmitter as a0_0xfb8523}from'events';import{hostname as a0_0x124282}from'os';class T extends a0_0xfb8523{[a0_0x1bb943(0x22a)];['alias'];[a0_0x1bb943(0x208)];[a0_0x1bb943(0x1f3)];[a0_0x1bb943(0x217)];[a0_0x1bb943(0x212)];['reconnectDelay'];[a0_0x1bb943(0x1ed)];[a0_0x1bb943(0x1e8)];[a0_0x1bb943(0x21c)]=!0x1;constructor(_0x31258c){const _0x2757fe=a0_0x1bb943;super();if(this[_0x2757fe(0x22a)]=_0x31258c[_0x2757fe(0x22a)][_0x2757fe(0x243)](/\/$/,''),this[_0x2757fe(0x234)]=_0x31258c[_0x2757fe(0x234)],this[_0x2757fe(0x208)]=_0x31258c[_0x2757fe(0x208)],this[_0x2757fe(0x1f3)]=_0x31258c['agent']||_0x2757fe(0x241),this['resumeId']=_0x2757fe(0x1f7)+_0x31258c['alias']+'-'+Date[_0x2757fe(0x1fe)]()[_0x2757fe(0x1ee)](0x24),this['heartbeatInterval']=_0x31258c[_0x2757fe(0x212)]??0x2bf20,this['reconnectDelay']=_0x31258c[_0x2757fe(0x221)]??0xbb8,_0x31258c[_0x2757fe(0x204)]!==!0x1)this['connect']();}[a0_0x1bb943(0x1fd)](_0x52be3f){const _0x482b2d=a0_0x1bb943;console[_0x482b2d(0x1fd)]('['+new Date()[_0x482b2d(0x1fb)]()[_0x482b2d(0x1f5)](0x0,0x8)+']\x20[commhub:'+this[_0x482b2d(0x234)]+']\x20'+_0x52be3f);}async[a0_0x1bb943(0x224)](_0x3583a8,_0x2095de){const _0x4abd58=a0_0x1bb943;let _0x2f97ab={'Content-Type':'application/json','Accept':_0x4abd58(0x23c)};if(this[_0x4abd58(0x208)])_0x2f97ab[_0x4abd58(0x228)]=_0x4abd58(0x236)+this['token'];let _0x2201d7=await(await fetch(this[_0x4abd58(0x22a)]+_0x4abd58(0x226),{'method':_0x4abd58(0x1e9),'headers':_0x2f97ab,'body':JSON[_0x4abd58(0x23a)]({'jsonrpc':_0x4abd58(0x200),'id':Date[_0x4abd58(0x1fe)](),'method':_0x4abd58(0x20c),'params':{'name':_0x3583a8,'arguments':_0x2095de}})}))['text'](),_0x4c6f49=_0x2201d7[_0x4abd58(0x21a)](/data: (.+)/),_0x1340f7=_0x4c6f49?JSON[_0x4abd58(0x21f)](_0x4c6f49[0x1]):JSON[_0x4abd58(0x21f)](_0x2201d7),_0x107887=_0x1340f7?.[_0x4abd58(0x20d)]?.[_0x4abd58(0x202)]?.[0x0]?.['text'];return _0x107887?JSON[_0x4abd58(0x21f)](_0x107887):_0x1340f7;}async[a0_0x1bb943(0x20a)](){const _0x78c9dc=a0_0x1bb943;if(this[_0x78c9dc(0x21c)])return;this[_0x78c9dc(0x21c)]=!0x0,await this['status'](_0x78c9dc(0x1fc)),this['log'](_0x78c9dc(0x238)),this[_0x78c9dc(0x1ed)]=setInterval(()=>{const _0x3e1d7d=_0x78c9dc;this[_0x3e1d7d(0x219)]('idle')['catch'](_0x36e26f=>this[_0x3e1d7d(0x1fd)](_0x3e1d7d(0x240)+_0x36e26f[_0x3e1d7d(0x22f)]));},this[_0x78c9dc(0x212)]),this['connectSSE']();}async[a0_0x1bb943(0x21e)](){const _0x3bb370=a0_0x1bb943;if(this[_0x3bb370(0x21c)]=!0x1,this[_0x3bb370(0x1e8)]?.[_0x3bb370(0x210)](),this[_0x3bb370(0x1ed)])clearInterval(this[_0x3bb370(0x1ed)]);await this[_0x3bb370(0x219)](_0x3bb370(0x1ea))[_0x3bb370(0x206)](()=>{}),this[_0x3bb370(0x1fd)](_0x3bb370(0x244));}async[a0_0x1bb943(0x1ff)](_0x381e00,_0x39fb4f,_0x5920e1=a0_0x1bb943(0x1e7)){const _0x1d0828=a0_0x1bb943;return this['call'](_0x1d0828(0x209),{'alias':_0x381e00,'task':_0x39fb4f,'priority':_0x5920e1,'from_session':this['alias']});}async[a0_0x1bb943(0x22f)](_0x295324,_0x4c7b84){const _0xf07b70=a0_0x1bb943;return this[_0xf07b70(0x224)](_0xf07b70(0x22c),{'alias':_0x295324,'message':_0x4c7b84,'from_session':this['alias']});}async[a0_0x1bb943(0x205)](_0x27b3db,_0x472473,_0x43316a=a0_0x1bb943(0x242)){const _0x4472b2=a0_0x1bb943;return this[_0x4472b2(0x224)](_0x4472b2(0x215),{'in_reply_to':_0x27b3db,'text':_0x472473,'status':_0x43316a});}async[a0_0x1bb943(0x219)](_0x19d7fa,_0x50055d){const _0x2583a7=a0_0x1bb943;return this['call'](_0x2583a7(0x213),{'resume_id':this['resumeId'],'alias':this[_0x2583a7(0x234)],'status':_0x19d7fa,'server':a0_0x124282(),'hostname':a0_0x124282(),'agent':this[_0x2583a7(0x1f3)],'project_dir':process[_0x2583a7(0x1f4)](),..._0x50055d});}async[a0_0x1bb943(0x23d)](){const _0x1f7f80=a0_0x1bb943;return this['call'](_0x1f7f80(0x20e),{});}async[a0_0x1bb943(0x23e)](_0x966320,_0x314d35){const _0x151781=a0_0x1bb943;return this['call'](_0x151781(0x23e),{'message':_0x966320,'filter_server':_0x314d35?.[_0x151781(0x201)],'filter_status':_0x314d35?.[_0x151781(0x219)]});}async[a0_0x1bb943(0x21d)](){const _0x19a593=a0_0x1bb943;let _0x5002fe=encodeURIComponent(this[_0x19a593(0x234)]),_0x15a6cc=this[_0x19a593(0x22a)]+'/events/'+_0x5002fe,_0xda7a69=this[_0x19a593(0x221)];while(this[_0x19a593(0x21c)]){try{this[_0x19a593(0x1e8)]=new AbortController();let _0x4086d5={'Accept':'text/event-stream'};if(this[_0x19a593(0x208)])_0x4086d5[_0x19a593(0x228)]='Bearer\x20'+this['token'];let _0xad7953=await fetch(_0x15a6cc,{'headers':_0x4086d5,'signal':this[_0x19a593(0x1e8)][_0x19a593(0x216)]});if(!_0xad7953['ok']||!_0xad7953[_0x19a593(0x1ec)]){this[_0x19a593(0x1fd)](_0x19a593(0x235)+_0xad7953[_0x19a593(0x219)]),await this['sleep'](_0xda7a69),_0xda7a69=Math[_0x19a593(0x21b)](_0xda7a69*1.5,0xea60);continue;}_0xda7a69=this[_0x19a593(0x221)];let _0x383c47=_0xad7953[_0x19a593(0x1ec)][_0x19a593(0x1ef)](),_0x153e95=new TextDecoder(),_0x4fa465='';while(this[_0x19a593(0x21c)]){let {done:_0x274087,value:_0x4b4d43}=await _0x383c47[_0x19a593(0x1f6)]();if(_0x274087)break;_0x4fa465+=_0x153e95[_0x19a593(0x22e)](_0x4b4d43,{'stream':!0x0});let _0x4e34a6=_0x4fa465['split']('\x0a');_0x4fa465=_0x4e34a6['pop']()||'';for(let _0x2b1af7 of _0x4e34a6){if(!_0x2b1af7[_0x19a593(0x223)](_0x19a593(0x231)))continue;try{let _0x2b6f9a=JSON[_0x19a593(0x21f)](_0x2b1af7[_0x19a593(0x1f5)](0x6));if(_0x2b6f9a[_0x19a593(0x1f1)]==='connected'){this[_0x19a593(0x1fd)](_0x19a593(0x1f9)),this[_0x19a593(0x229)](_0x19a593(0x227));continue;}if(_0x2b6f9a[_0x19a593(0x1f1)]===_0x19a593(0x203)||_0x2b6f9a[_0x19a593(0x1f1)]===_0x19a593(0x207)||_0x2b6f9a[_0x19a593(0x1f1)]===_0x19a593(0x23e))await this[_0x19a593(0x22b)]();}catch{}}}}catch(_0x3a1294){if(_0x3a1294[_0x19a593(0x220)]===_0x19a593(0x20f))break;this[_0x19a593(0x229)](_0x19a593(0x225),_0x3a1294),this[_0x19a593(0x1fd)]('SSE\x20error:\x20'+_0x3a1294[_0x19a593(0x22f)]);}if(this[_0x19a593(0x21c)])this[_0x19a593(0x229)](_0x19a593(0x244)),this['log'](_0x19a593(0x214)+_0xda7a69/0x3e8+_0x19a593(0x239)),await this['sleep'](_0xda7a69),_0xda7a69=Math[_0x19a593(0x21b)](_0xda7a69*1.5,0xea60);}}async[a0_0x1bb943(0x22b)](){const _0x466762=a0_0x1bb943;try{let _0xec63c=(await this['call'](_0x466762(0x22d),{'alias':this[_0x466762(0x234)],'limit':0xa}))?.[_0x466762(0x245)]||[];for(let _0x5b8a90 of _0xec63c)await this['call'](_0x466762(0x1f8),{'alias':this[_0x466762(0x234)],'message_id':_0x5b8a90['id']}),this[_0x466762(0x1fd)]('←\x20'+_0x5b8a90[_0x466762(0x1e6)]+':\x20'+_0x5b8a90[_0x466762(0x202)]['slice'](0x0,0x3c)),this[_0x466762(0x229)](_0x466762(0x237),_0x5b8a90),this[_0x466762(0x229)](_0x466762(0x22f),_0x5b8a90);}catch(_0x2321f8){this[_0x466762(0x1fd)]('inbox\x20error:\x20'+_0x2321f8['message']);}}[a0_0x1bb943(0x232)](_0x5ac52e){return new Promise(_0x41c001=>setTimeout(_0x41c001,_0x5ac52e));}}var $=T;export{$ as default,T as CommHub};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env bun
2
- const a0_0x48fad1=a0_0x51c3;(function(_0x2c2c9d,_0x1b1f26){const _0x49513d=a0_0x51c3,_0x4fded=_0x2c2c9d();while(!![]){try{const _0x272555=parseInt(_0x49513d(0x148))/0x1*(parseInt(_0x49513d(0x155))/0x2)+-parseInt(_0x49513d(0x15d))/0x3+parseInt(_0x49513d(0x13f))/0x4*(parseInt(_0x49513d(0x11d))/0x5)+-parseInt(_0x49513d(0xf6))/0x6*(parseInt(_0x49513d(0x11b))/0x7)+-parseInt(_0x49513d(0xf8))/0x8+parseInt(_0x49513d(0x12c))/0x9*(-parseInt(_0x49513d(0xed))/0xa)+parseInt(_0x49513d(0xd9))/0xb*(parseInt(_0x49513d(0x14c))/0xc);if(_0x272555===_0x1b1f26)break;else _0x4fded['push'](_0x4fded['shift']());}catch(_0x8cb7da){_0x4fded['push'](_0x4fded['shift']());}}}(a0_0x149c,0x9a37b));import{readFileSync as a0_0x410f16,existsSync as a0_0x40b2dc}from'fs';import{randomUUID as a0_0x424d0c}from'crypto';import{join as a0_0x4e79a4}from'path';import{hostname as a0_0x5d49e5}from'os';import{execSync as a0_0x42a342}from'child_process';function B(_0x2a3c62){const _0x49d746=a0_0x51c3;let _0x28209e=_0x2a3c62[_0x49d746(0x16b)](/[^a-zA-Z0-9\-_]/g,'-');return _0x28209e===''?'unknown':_0x28209e;}import{Server as a0_0x5425f7}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x9cc349}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x21f415,CallToolRequestSchema as a0_0x3d23bd}from'@modelcontextprotocol/sdk/types.js';function T(_0x4ef2d3){const _0x4c9d90=a0_0x51c3;if(!a0_0x40b2dc(_0x4ef2d3))return;for(let _0x13db4c of a0_0x410f16(_0x4ef2d3,_0x4c9d90(0xf7))[_0x4c9d90(0x108)]('\x0a')){let _0x26bff9=_0x13db4c[_0x4c9d90(0x175)]();if(!_0x26bff9||_0x26bff9['startsWith']('#'))continue;let _0x46080f=_0x26bff9[_0x4c9d90(0x16f)]('=');if(_0x46080f<0x0)continue;let _0x2a0b7e=_0x26bff9[_0x4c9d90(0x144)](0x0,_0x46080f)[_0x4c9d90(0x175)](),_0x474b94=_0x26bff9[_0x4c9d90(0x144)](_0x46080f+0x1)[_0x4c9d90(0x175)]()[_0x4c9d90(0x16b)](/^["']|["']$/g,'');if(!process.env[_0x2a0b7e])process.env[_0x2a0b7e]=_0x474b94;}}var C=process.env.HOME||'~',r=a0_0x4e79a4(C,a0_0x48fad1(0x137));T(a0_0x4e79a4(r,a0_0x48fad1(0x157)));function a0_0x149c(){const _0x331492=['messages','ENV:\x20URL=','SIGTERM','pop','trim','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','connect','idle','cwd','code','\x20no\x20longer\x20exists\x20(kill-0\x20ESRCH)\x20—\x20self-exit\x20to\x20avoid\x20ghost\x20heart-beat','814HQMKHy','normal','\x22\x20after\x20SSE\x20reconnect','application/json','read','number','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','toTimeString','commhub_send_message','hub','failed','\x20/\x20hostname=','text','ready\x20—\x20waiting\x20for\x20events','stringify','in_progress','warning:\x20could\x20not\x20register:\x20','commhub','task','function','2638690AWegzF','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','...\x20TMUX=','stderr','cancelled','low','config.json','length','Bearer\x20','1180848UmAxfJ','utf-8','7807200vuawFZ','commhub-channel','no\x20response','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','notifications/claude/channel',')\x20—\x20self-exit\x20to\x20avoid\x20ghost\x20heart-beat','tmux\x20display-message\x20-p\x20\x27#S\x27','result','2025-03-26','now','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','params','message','\x20priority=','broadcast','setRequestHandler','split','token','write','Reply\x20text\x20/\x20result\x20summary','commhub_send_task','Target\x20session\x20alias','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','set','commhub_get_all_status','startsWith','notification','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','SSE\x20stream\x20ended,\x20reconnecting...','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','send_task','/events/','/mcp','registered\x20as\x20\x22','claude-code','21pwMXFh','object','41490UFeLrw','pid','ack_inbox','parent\x20claude\x20pid=',':\x20inbox_count=','catch','message_id','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','completed','SSE\x20fatal:\x20','Message\x20content','CommHub\x20init\x20failed:\x20','content','find','offline','27QniFfS','inbox_count','Session\x20alias:\x20','POST','application/json,\x20text/event-stream','statusText','\x20from\x20','(none)','\x20CWD=','get_all_status','blocked','.claude/channels/commhub','string','0.3.0','ppid','exit','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','type','http://127.0.0.1:9200','304jolLWk','Current\x20task\x20description','delete','Authorization','Progress\x200-100','slice','min','session\x20disconnected','data:\x20','359kSIMun','\x20PROJECT_ENV=','unref','\x20ALIAS=','432492AmqUzU','priority','shutting\x20down,\x20reporting\x20offline...','\x20RESUME_ID=','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','SSE\x20error:\x20','error','SSE\x20connected\x20as\x20\x22','\x22\x20(','2922HMbEeE','from_session','.env','status','send_reply','from','stdin','get','2497725TeYPwz','working','ESRCH',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','decode','commhub_report_status','MCP\x20stdio\x20connected','body','parse','new_message','Task\x20content','report_status','2.0','unattributed-','replace','commhub_reply','tools/call','kill','indexOf','re-registered\x20as\x20\x22'];a0_0x149c=function(){return _0x331492;};return a0_0x149c();}var H=B(process[a0_0x48fad1(0xd6)]());T(a0_0x4e79a4(r,H,a0_0x48fad1(0x157)));function E(){const _0x562f90=a0_0x48fad1;try{return a0_0x42a342(_0x562f90(0xfe),{'encoding':_0x562f90(0xf7),'timeout':0x7d0})[_0x562f90(0x175)]();}catch{return'';}}function _(){const _0x2a4a69=a0_0x48fad1;try{let _0x572d50=a0_0x4e79a4(C,'.anet',_0x2a4a69(0xf3));if(a0_0x40b2dc(_0x572d50))return JSON[_0x2a4a69(0x165)](a0_0x410f16(_0x572d50,_0x2a4a69(0xf7)));}catch{}return{};}var R=_(),Y=process.env.COMMHUB_URL||R[a0_0x48fad1(0xe2)]||a0_0x48fad1(0x13e),j=process.env.COMMHUB_TMUX||E();function S(){const _0x57f6e4=a0_0x48fad1;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x57f6e4(0x175)]())return process.env.COMMHUB_ALIAS[_0x57f6e4(0x175)]();return process[_0x57f6e4(0xf0)][_0x57f6e4(0x10a)](_0x57f6e4(0x124)+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(j||_0x57f6e4(0x133))+_0x57f6e4(0xe4)+a0_0x5d49e5()+_0x57f6e4(0xd3))),_0x57f6e4(0x16a)+process[_0x57f6e4(0x11e)];}var p=S(),V=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x424d0c(),k=process.env.COMMHUB_TOKEN||R[a0_0x48fad1(0x109)]||'';function z(_0x26c27d){const _0x49e665=a0_0x48fad1;let _0x8457bd=new Date()[_0x49e665(0xe0)]()['slice'](0x0,0x8);process[_0x49e665(0xf0)]['write']('['+_0x8457bd+']\x20[commhub]\x20'+_0x26c27d+'\x0a');}function i(_0x3e805e){return new Promise(_0x1bcb19=>setTimeout(_0x1bcb19,_0x3e805e));}z(a0_0x48fad1(0x172)+Y+a0_0x48fad1(0x14b)+p+a0_0x48fad1(0x14f)+V[a0_0x48fad1(0x144)](0x0,0x8)+a0_0x48fad1(0xef)+(j||'none')+a0_0x48fad1(0x134)+process['cwd']()+a0_0x48fad1(0x149)+H);var G=new Map(),K=new a0_0x5425f7({'name':'commhub-channel','version':a0_0x48fad1(0x139)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x48fad1(0xee),a0_0x48fad1(0x10e),a0_0x48fad1(0x150),'You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.',a0_0x48fad1(0x12e)+p]['join']('\x0a')});K[a0_0x48fad1(0x107)](a0_0x21f415,async()=>({'tools':[{'name':a0_0x48fad1(0x16c),'description':a0_0x48fad1(0xdf),'inputSchema':{'type':a0_0x48fad1(0x11c),'properties':{'task_id':{'type':a0_0x48fad1(0x138),'description':a0_0x48fad1(0x102)},'text':{'type':'string','description':a0_0x48fad1(0x10b)},'status':{'type':'string','enum':[a0_0x48fad1(0x125),'failed',a0_0x48fad1(0xf1),a0_0x48fad1(0x136),'error',a0_0x48fad1(0xe8)],'description':a0_0x48fad1(0xfb)}},'required':[a0_0x48fad1(0xe5)]}},{'name':a0_0x48fad1(0x162),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0x48fad1(0x11c),'properties':{'status':{'type':a0_0x48fad1(0x138),'enum':['working',a0_0x48fad1(0xd5),a0_0x48fad1(0x136),'error']},'task':{'type':a0_0x48fad1(0x138),'description':a0_0x48fad1(0x140)},'progress':{'type':a0_0x48fad1(0xde),'description':a0_0x48fad1(0x143)}},'required':[a0_0x48fad1(0x158)]}},{'name':a0_0x48fad1(0x10c),'description':a0_0x48fad1(0x115),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x48fad1(0x138),'description':a0_0x48fad1(0x10d)},'task':{'type':a0_0x48fad1(0x138),'description':a0_0x48fad1(0x167)},'priority':{'type':a0_0x48fad1(0x138),'enum':['high','normal',a0_0x48fad1(0xf2)],'description':'Priority\x20(default:\x20normal)'}},'required':['alias',a0_0x48fad1(0xeb)]}},{'name':a0_0x48fad1(0xe1),'description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0x48fad1(0x11c),'properties':{'alias':{'type':a0_0x48fad1(0x138),'description':'Target\x20session\x20alias'},'message':{'type':a0_0x48fad1(0x138),'description':a0_0x48fad1(0x127)}},'required':['alias',a0_0x48fad1(0x104)]}},{'name':a0_0x48fad1(0x110),'description':a0_0x48fad1(0x13c),'inputSchema':{'type':a0_0x48fad1(0x11c),'properties':{}}}]}));async function Q(_0xa3cb11,_0x456fcf){const _0x5a139d=a0_0x48fad1;let _0x27f225=await fetch(Y+_0x5a139d(0x118),{'method':'POST','headers':{'Content-Type':_0x5a139d(0xdc),'Accept':_0x5a139d(0x130),...k?{'Authorization':_0x5a139d(0xf5)+k}:{}},'body':JSON[_0x5a139d(0xe7)]({'jsonrpc':_0x5a139d(0x169),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x5a139d(0x100),'capabilities':{},'clientInfo':{'name':_0x5a139d(0xf9),'version':_0x5a139d(0x139)}}})});if(!_0x27f225['ok']){let _0x572abc=await _0x27f225[_0x5a139d(0xe5)]();return z(_0x5a139d(0x128)+_0x27f225[_0x5a139d(0x158)]+'\x20'+_0x572abc[_0x5a139d(0x144)](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x27f225['status']};}await _0x27f225['text']();let _0x30f578=(await(await fetch(Y+_0x5a139d(0x118),{'method':_0x5a139d(0x12f),'headers':{'Content-Type':_0x5a139d(0xdc),'Accept':'application/json,\x20text/event-stream',...k?{'Authorization':_0x5a139d(0xf5)+k}:{}},'body':JSON[_0x5a139d(0xe7)]({'jsonrpc':_0x5a139d(0x169),'id':0x2,'method':_0x5a139d(0x16d),'params':{'name':_0xa3cb11,'arguments':_0x456fcf}})}))['text']())[_0x5a139d(0x108)]('\x0a')[_0x5a139d(0x12a)](_0xf163c7=>_0xf163c7[_0x5a139d(0x111)](_0x5a139d(0x147)));if(_0x30f578){let _0x2f16d7=JSON[_0x5a139d(0x165)](_0x30f578[_0x5a139d(0x144)](0x6));return _0x2f16d7?.[_0x5a139d(0xff)]?.[_0x5a139d(0x129)]?.[0x0]?.[_0x5a139d(0xe5)]?JSON[_0x5a139d(0x165)](_0x2f16d7[_0x5a139d(0xff)][_0x5a139d(0x129)][0x0][_0x5a139d(0xe5)]):_0x2f16d7;}return{'ok':!0x1,'error':_0x5a139d(0xfa)};}K[a0_0x48fad1(0x107)](a0_0x3d23bd,async _0x218e76=>{const _0x20c837=a0_0x48fad1;let {name:_0x117b75,arguments:_0x1d6473}=_0x218e76[_0x20c837(0x103)];if(_0x117b75===_0x20c837(0x16c)){let {task_id:_0x124940,text:_0x2c7148,status:_0x2d43a0}=_0x1d6473;if(_0x2d43a0===_0x20c837(0x125)||_0x2d43a0===_0x20c837(0xe3)||_0x2d43a0===_0x20c837(0xf1)){let _0x4f0cb8=_0x2d43a0==='completed'?'replied':_0x2d43a0,_0x28675d=_0x124940?G[_0x20c837(0x15c)](_0x124940)||_0x20c837(0xe2):_0x20c837(0xe2),_0x24c24e=await Q(_0x20c837(0x159),{'alias':_0x28675d,'text':_0x2c7148,'in_reply_to':_0x124940||void 0x0,'status':_0x4f0cb8,'from_session':p});if(_0x124940)G[_0x20c837(0x141)](_0x124940);return{'content':[{'type':_0x20c837(0xe5),'text':JSON[_0x20c837(0xe7)](_0x24c24e)}]};}let _0xb34ebe=await Q(_0x20c837(0x168),{'resume_id':V,'alias':p,'status':_0x2d43a0===_0x20c837(0x136)?'blocked':_0x2d43a0==='error'?_0x20c837(0x152):_0x20c837(0x15e),'task':_0x2c7148[_0x20c837(0x144)](0x0,0xc8),'output':_0x2c7148});return{'content':[{'type':_0x20c837(0xe5),'text':JSON[_0x20c837(0xe7)](_0xb34ebe)}]};}if(_0x117b75===_0x20c837(0x162)){let {status:_0x2f5f8d,task:_0x4feab0,progress:_0x2f6fcb}=_0x1d6473,_0xa825fd=await Q('report_status',{'resume_id':V,'alias':p,'status':_0x2f5f8d,'task':_0x4feab0,'progress':_0x2f6fcb});return{'content':[{'type':_0x20c837(0xe5),'text':JSON[_0x20c837(0xe7)](_0xa825fd)}]};}if(_0x117b75===_0x20c837(0x10c)){let {alias:_0x5c179d,task:_0x5e81c7,priority:_0x3697a4}=_0x1d6473,_0x58aa97=await Q(_0x20c837(0x116),{'alias':_0x5c179d,'task':_0x5e81c7,'priority':_0x3697a4||_0x20c837(0xda),'from_session':p});return{'content':[{'type':_0x20c837(0xe5),'text':JSON[_0x20c837(0xe7)](_0x58aa97)}]};}if(_0x117b75===_0x20c837(0xe1)){let {alias:_0x1acea2,message:_0x2fd07b}=_0x1d6473,_0x2a985a=await Q('send_message',{'alias':_0x1acea2,'message':_0x2fd07b,'from_session':p});return{'content':[{'type':_0x20c837(0xe5),'text':JSON[_0x20c837(0xe7)](_0x2a985a)}]};}if(_0x117b75==='commhub_get_all_status'){let _0x4f9afe=await Q(_0x20c837(0x135),{});return{'content':[{'type':'text','text':JSON['stringify'](_0x4f9afe)}]};}return{'content':[{'type':_0x20c837(0xe5),'text':JSON[_0x20c837(0xe7)]({'error':'unknown\x20tool'})}]};});var D=0x3e8,v=0x7530,O=0x36ee80;async function m(){const _0x5a1f4e=a0_0x48fad1;try{await Q('report_status',{'resume_id':V,'alias':p,'status':_0x5a1f4e(0xd5),'server':a0_0x5d49e5(),'hostname':a0_0x5d49e5(),'agent':'claude-code','project_dir':process[_0x5a1f4e(0xd6)](),'tmux_name':j||void 0x0}),z(_0x5a1f4e(0x170)+p+_0x5a1f4e(0xdb));}catch(_0x498c7a){z('re-register\x20failed:\x20'+_0x498c7a);}}async function l(){const _0x5e5f19=a0_0x48fad1;let _0x3c077b=Y+_0x5e5f19(0x117)+encodeURIComponent(p),_0x2b3054={};if(k)_0x2b3054[_0x5e5f19(0x142)]=_0x5e5f19(0xf5)+k;z('connecting\x20to\x20'+_0x3c077b);let _0x5d4887=D,_0x402157=!0x0,_0x485039=null;while(!0x0){try{let _0x11ab88=await fetch(_0x3c077b,{'headers':_0x2b3054});if(!_0x11ab88['ok']){if(z(_0x5e5f19(0x151)+_0x11ab88['status']+'\x20'+_0x11ab88[_0x5e5f19(0x131)]),_0x485039=_0x485039??Date[_0x5e5f19(0x101)](),Date[_0x5e5f19(0x101)]()-_0x485039>O){z(_0x5e5f19(0x113)+Y+_0x5e5f19(0x160));return;}await i(_0x5d4887),_0x5d4887=Math[_0x5e5f19(0x145)](_0x5d4887*0x2,v);continue;}let _0x40a8c6=_0x11ab88[_0x5e5f19(0x164)]['getReader'](),_0x3167cd=new TextDecoder(),_0x1fe305='';_0x5d4887=D;while(!0x0){let {done:_0x5c0564,value:_0x589347}=await _0x40a8c6[_0x5e5f19(0xdd)]();if(_0x5c0564)break;_0x1fe305+=_0x3167cd[_0x5e5f19(0x161)](_0x589347,{'stream':!0x0});let _0x5d6a1b=_0x1fe305[_0x5e5f19(0x108)]('\x0a\x0a');_0x1fe305=_0x5d6a1b[_0x5e5f19(0x174)]()||'';for(let _0x4ef9a0 of _0x5d6a1b){let _0x3cc79a=_0x4ef9a0['split']('\x0a')[_0x5e5f19(0x12a)](_0xb6569c=>_0xb6569c[_0x5e5f19(0x111)]('data:\x20'));if(!_0x3cc79a)continue;try{let _0x3e760f=JSON[_0x5e5f19(0x165)](_0x3cc79a[_0x5e5f19(0x144)](0x6));if(await A(_0x3e760f),_0x3e760f[_0x5e5f19(0x13d)]==='connected'){if(_0x485039=null,!_0x402157)await m();_0x402157=!0x1;}}catch(_0x23b005){z('parse\x20error:\x20'+_0x23b005);}}}z(_0x5e5f19(0x114));}catch(_0x21c1ce){z('SSE\x20connection\x20error:\x20'+_0x21c1ce);}if(_0x485039=_0x485039??Date[_0x5e5f19(0x101)](),Date[_0x5e5f19(0x101)]()-_0x485039>O){z(_0x5e5f19(0x113)+Y+_0x5e5f19(0x160));return;}await i(_0x5d4887),_0x5d4887=Math[_0x5e5f19(0x145)](_0x5d4887*0x2,v);}}async function A(_0x2e55c2){const _0xe237fe=a0_0x48fad1;if(_0x2e55c2['type']==='connected'){z(_0xe237fe(0x153)+p+'\x22');return;}if(_0x2e55c2['type']===_0xe237fe(0x166)){if(z('←\x20message\x20from\x20'+_0x2e55c2[_0xe237fe(0x15a)]+':\x20'+_0x2e55c2['message']['slice'](0x0,0x3c)),await K[_0xe237fe(0x112)]({'method':'notifications/claude/channel','params':{'content':_0x2e55c2[_0xe237fe(0x104)],'meta':{'sender':_0x2e55c2[_0xe237fe(0x15a)]||_0xe237fe(0xe2),'sender_id':'commhub','user':_0x2e55c2[_0xe237fe(0x15a)]||_0xe237fe(0xe2),'priority':_0xe237fe(0xda)}}}),_0x2e55c2[_0xe237fe(0x123)])await Q(_0xe237fe(0x11f),{'alias':p,'message_id':_0x2e55c2[_0xe237fe(0x123)]});return;}if(_0x2e55c2[_0xe237fe(0x13d)]==='new_task'||_0x2e55c2[_0xe237fe(0x13d)]===_0xe237fe(0x106)){z('←\x20'+_0x2e55c2[_0xe237fe(0x13d)]+_0xe237fe(0x121)+_0x2e55c2[_0xe237fe(0x12d)]+_0xe237fe(0x105)+(_0x2e55c2[_0xe237fe(0x14d)]||'normal'));let _0x3e8f97=await Q('get_inbox',{'alias':p,'limit':0x5});if(_0x3e8f97?.['ok']&&_0x3e8f97[_0xe237fe(0x171)]?.[_0xe237fe(0xf4)]>0x0)for(let _0x137984 of _0x3e8f97[_0xe237fe(0x171)]){let _0x53bbb1={'sender':_0x137984[_0xe237fe(0x156)]||_0xe237fe(0xe2),'sender_id':_0xe237fe(0xea),'user':_0x137984[_0xe237fe(0x156)]||_0xe237fe(0xe2),'task_id':_0x137984['id'],'priority':_0x137984[_0xe237fe(0x14d)]||'normal'};G[_0xe237fe(0x10f)](_0x137984['id'],_0x137984[_0xe237fe(0x156)]||'hub'),await K[_0xe237fe(0x112)]({'method':_0xe237fe(0xfc),'params':{'content':_0x137984[_0xe237fe(0x129)],'meta':_0x53bbb1}}),z('→\x20injected\x20task\x20'+_0x137984['id'][_0xe237fe(0x144)](0x0,0x8)+_0xe237fe(0x132)+_0x137984[_0xe237fe(0x156)]+':\x20'+_0x137984[_0xe237fe(0x129)][_0xe237fe(0x144)](0x0,0x3c)),await Q(_0xe237fe(0x11f),{'alias':p,'message_id':_0x137984['id']});}}}function a0_0x51c3(_0x5efaff,_0x39e4b5){_0x5efaff=_0x5efaff-0xd3;const _0x149c91=a0_0x149c();let _0x51c3e1=_0x149c91[_0x5efaff];return _0x51c3e1;}async function t(){const _0x3bae2d=a0_0x48fad1;let _0x5c27bb=new a0_0x9cc349();await K[_0x3bae2d(0xd4)](_0x5c27bb),z(_0x3bae2d(0x163)),z('starting\x20SSE\x20listener...'),l()[_0x3bae2d(0x122)](_0x5347ee=>z(_0x3bae2d(0x126)+_0x5347ee)),Q('report_status',{'resume_id':V,'alias':p,'status':_0x3bae2d(0xd5),'server':a0_0x5d49e5(),'hostname':a0_0x5d49e5(),'agent':_0x3bae2d(0x11a),'project_dir':process[_0x3bae2d(0xd6)](),'tmux_name':j||void 0x0})['then'](()=>z(_0x3bae2d(0x119)+p+_0x3bae2d(0x154)+V[_0x3bae2d(0x144)](0x0,0x8)+')'))[_0x3bae2d(0x122)](_0x331f9d=>z(_0x3bae2d(0xe9)+_0x331f9d)),setInterval(()=>{const _0x1edfac=_0x3bae2d;Q(_0x1edfac(0x168),{'resume_id':V,'alias':p,'status':'idle','server':a0_0x5d49e5(),'hostname':a0_0x5d49e5(),'agent':_0x1edfac(0x11a),'project_dir':process[_0x1edfac(0xd6)](),'tmux_name':j||void 0x0})[_0x1edfac(0x122)](_0x541706=>z('heartbeat\x20failed:\x20'+_0x541706));},0x2bf20),z(_0x3bae2d(0xe6));}t()[a0_0x48fad1(0x122)](_0x1bd620=>{const _0x21845b=a0_0x48fad1;z('fatal:\x20'+_0x1bd620),process[_0x21845b(0x13b)](0x1);});async function b(){const _0x51c0cd=a0_0x48fad1;z(_0x51c0cd(0x14e)),await Q(_0x51c0cd(0x168),{'resume_id':V,'alias':p,'status':_0x51c0cd(0x12b),'task':_0x51c0cd(0x146)})[_0x51c0cd(0x122)](()=>{}),process[_0x51c0cd(0x13b)](0x0);}process[a0_0x48fad1(0x15b)]['on']('end',()=>b()),process['on'](a0_0x48fad1(0x173),()=>b()),process['on']('SIGINT',()=>b());var d=process[a0_0x48fad1(0x13a)];if(d&&d>0x1){let h=setInterval(()=>{const _0x538f31=a0_0x48fad1;if(process[_0x538f31(0x13a)]===0x1&&d!==0x1){z('parent\x20claude\x20died\x20(reparented\x20to\x20PID\x201\x20from\x20'+d+_0x538f31(0xfd)),b();return;}try{process[_0x538f31(0x16e)](d,0x0);}catch(_0xc1d80f){if(_0xc1d80f?.[_0x538f31(0xd7)]===_0x538f31(0x15f))z(_0x538f31(0x120)+d+_0x538f31(0xd8)),b();}},0x7530);if(typeof h[a0_0x48fad1(0x14a)]===a0_0x48fad1(0xec))h[a0_0x48fad1(0x14a)]();}
2
+ const a0_0x1685ca=a0_0xca9b;(function(_0x89f77d,_0x5b9570){const _0x23df84=a0_0xca9b,_0x1c8406=_0x89f77d();while(!![]){try{const _0x4287b8=parseInt(_0x23df84(0x1ac))/0x1*(-parseInt(_0x23df84(0x1b4))/0x2)+-parseInt(_0x23df84(0x211))/0x3*(-parseInt(_0x23df84(0x1ca))/0x4)+parseInt(_0x23df84(0x21b))/0x5*(-parseInt(_0x23df84(0x1f5))/0x6)+-parseInt(_0x23df84(0x209))/0x7+-parseInt(_0x23df84(0x19e))/0x8+parseInt(_0x23df84(0x1f2))/0x9*(-parseInt(_0x23df84(0x1de))/0xa)+-parseInt(_0x23df84(0x214))/0xb*(-parseInt(_0x23df84(0x1dd))/0xc);if(_0x4287b8===_0x5b9570)break;else _0x1c8406['push'](_0x1c8406['shift']());}catch(_0x4116e7){_0x1c8406['push'](_0x1c8406['shift']());}}}(a0_0x4193,0x41114));import{readFileSync as a0_0x57c093,existsSync as a0_0x1e91dc}from'fs';import{randomUUID as a0_0x33e0c7}from'crypto';import{join as a0_0x241df4}from'path';import{hostname as a0_0x1921c6}from'os';import{execSync as a0_0x1c144c}from'child_process';function B(_0x522291){const _0x24e42a=a0_0xca9b;let _0x3c42bb=_0x522291['replace'](/[^a-zA-Z0-9\-_]/g,'-');return _0x3c42bb===''?_0x24e42a(0x1a2):_0x3c42bb;}import{Server as a0_0x4867bc}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x127f45}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x1d2525,CallToolRequestSchema as a0_0x21c857}from'@modelcontextprotocol/sdk/types.js';function T(_0x24a81e){const _0x1e1a16=a0_0xca9b;if(!a0_0x1e91dc(_0x24a81e))return;for(let _0x29f1ae of a0_0x57c093(_0x24a81e,_0x1e1a16(0x207))['split']('\x0a')){let _0x191cc8=_0x29f1ae[_0x1e1a16(0x1ea)]();if(!_0x191cc8||_0x191cc8[_0x1e1a16(0x181)]('#'))continue;let _0x3b0bb7=_0x191cc8[_0x1e1a16(0x1b7)]('=');if(_0x3b0bb7<0x0)continue;let _0x3b435b=_0x191cc8['slice'](0x0,_0x3b0bb7)['trim'](),_0x1f3b00=_0x191cc8[_0x1e1a16(0x191)](_0x3b0bb7+0x1)['trim']()[_0x1e1a16(0x205)](/^["']|["']$/g,'');if(!process.env[_0x3b435b])process.env[_0x3b435b]=_0x1f3b00;}}var C=process.env.HOME||'~',r=a0_0x241df4(C,a0_0x1685ca(0x1d9));T(a0_0x241df4(r,a0_0x1685ca(0x206)));var H=B(process[a0_0x1685ca(0x1c5)]());T(a0_0x241df4(r,H,a0_0x1685ca(0x206)));function E(){const _0x143212=a0_0x1685ca;try{return a0_0x1c144c(_0x143212(0x1be),{'encoding':_0x143212(0x207),'timeout':0x7d0})['trim']();}catch{return'';}}function _(){const _0x1f0dee=a0_0x1685ca;try{let _0x106bed=a0_0x241df4(C,'.anet',_0x1f0dee(0x1e4));if(a0_0x1e91dc(_0x106bed))return JSON[_0x1f0dee(0x1c3)](a0_0x57c093(_0x106bed,'utf-8'));}catch{}return{};}var R=_(),Y=process.env.COMMHUB_URL||R['hub']||a0_0x1685ca(0x215),j=process.env.COMMHUB_TMUX||E();function S(){const _0x74c2ce=a0_0x1685ca;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x74c2ce(0x1ea)]())return process.env.COMMHUB_ALIAS[_0x74c2ce(0x1ea)]();return process['stderr'][_0x74c2ce(0x1f8)](_0x74c2ce(0x1a7)+(_0x74c2ce(0x1ee)+(j||_0x74c2ce(0x201))+'\x20/\x20hostname='+a0_0x1921c6()+_0x74c2ce(0x1fe))),_0x74c2ce(0x1b3)+process[_0x74c2ce(0x1f0)];}var p=S(),V=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x33e0c7(),k=process.env.COMMHUB_TOKEN||R[a0_0x1685ca(0x1c1)]||'';function z(_0xf31291){const _0x5a97bd=a0_0x1685ca;let _0x45dd47=new Date()['toTimeString']()[_0x5a97bd(0x191)](0x0,0x8);process[_0x5a97bd(0x200)][_0x5a97bd(0x1f8)]('['+_0x45dd47+_0x5a97bd(0x21e)+_0xf31291+'\x0a');}function i(_0x1d6e84){return new Promise(_0x1b9a47=>setTimeout(_0x1b9a47,_0x1d6e84));}z(a0_0x1685ca(0x182)+Y+'\x20ALIAS='+p+'\x20RESUME_ID='+V[a0_0x1685ca(0x191)](0x0,0x8)+a0_0x1685ca(0x1b8)+(j||a0_0x1685ca(0x1ab))+a0_0x1685ca(0x208)+process['cwd']()+'\x20PROJECT_ENV='+H);var G=new Map(),K=new a0_0x4867bc({'name':a0_0x1685ca(0x1a0),'version':a0_0x1685ca(0x1d8)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x1685ca(0x18f),a0_0x1685ca(0x1cb),a0_0x1685ca(0x188),'You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.',a0_0x1685ca(0x1fb)+p][a0_0x1685ca(0x196)]('\x0a')});K[a0_0x1685ca(0x1d3)](a0_0x1d2525,async()=>({'tools':[{'name':a0_0x1685ca(0x1d1),'description':a0_0x1685ca(0x1db),'inputSchema':{'type':a0_0x1685ca(0x1bc),'properties':{'task_id':{'type':a0_0x1685ca(0x1af),'description':a0_0x1685ca(0x1aa)},'text':{'type':a0_0x1685ca(0x1af),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x1685ca(0x1af),'enum':['completed',a0_0x1685ca(0x203),'cancelled',a0_0x1685ca(0x1b1),'error','in_progress'],'description':a0_0x1685ca(0x1e5)}},'required':['text']}},{'name':a0_0x1685ca(0x1f9),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':'object','properties':{'status':{'type':a0_0x1685ca(0x1af),'enum':[a0_0x1685ca(0x1a4),a0_0x1685ca(0x1b9),'blocked',a0_0x1685ca(0x19b)]},'task':{'type':a0_0x1685ca(0x1af),'description':a0_0x1685ca(0x1a3)},'progress':{'type':a0_0x1685ca(0x212),'description':a0_0x1685ca(0x1a9)}},'required':[a0_0x1685ca(0x1ad)]}},{'name':a0_0x1685ca(0x1f1),'description':a0_0x1685ca(0x1b2),'inputSchema':{'type':a0_0x1685ca(0x1bc),'properties':{'alias':{'type':a0_0x1685ca(0x1af),'description':a0_0x1685ca(0x1e9)},'task':{'type':a0_0x1685ca(0x1af),'description':'Task\x20content'},'priority':{'type':a0_0x1685ca(0x1af),'enum':[a0_0x1685ca(0x19c),'normal',a0_0x1685ca(0x204)],'description':a0_0x1685ca(0x17f)}},'required':[a0_0x1685ca(0x202),'task']}},{'name':'commhub_send_message','description':a0_0x1685ca(0x1a1),'inputSchema':{'type':a0_0x1685ca(0x1bc),'properties':{'alias':{'type':a0_0x1685ca(0x1af),'description':a0_0x1685ca(0x1e9)},'message':{'type':a0_0x1685ca(0x1af),'description':a0_0x1685ca(0x1c2)}},'required':[a0_0x1685ca(0x202),a0_0x1685ca(0x1cd)]}},{'name':'commhub_get_all_status','description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':'object','properties':{}}}]}));async function Q(_0x3a0ee4,_0x30eb38){const _0x27ac39=a0_0x1685ca;let _0x51aa1e=await fetch(Y+'/mcp',{'method':_0x27ac39(0x1e6),'headers':{'Content-Type':_0x27ac39(0x19f),'Accept':_0x27ac39(0x1bd),...k?{'Authorization':_0x27ac39(0x18a)+k}:{}},'body':JSON[_0x27ac39(0x197)]({'jsonrpc':_0x27ac39(0x210),'id':0x1,'method':_0x27ac39(0x183),'params':{'protocolVersion':_0x27ac39(0x1e0),'capabilities':{},'clientInfo':{'name':_0x27ac39(0x1a0),'version':_0x27ac39(0x1d8)}}})});if(!_0x51aa1e['ok']){let _0x268299=await _0x51aa1e['text']();return z(_0x27ac39(0x1fc)+_0x51aa1e[_0x27ac39(0x1ad)]+'\x20'+_0x268299[_0x27ac39(0x191)](0x0,0x64)),{'ok':!0x1,'error':_0x27ac39(0x1ba)+_0x51aa1e[_0x27ac39(0x1ad)]};}await _0x51aa1e[_0x27ac39(0x1bf)]();let _0x15cacd=(await(await fetch(Y+'/mcp',{'method':_0x27ac39(0x1e6),'headers':{'Content-Type':'application/json','Accept':_0x27ac39(0x1bd),...k?{'Authorization':_0x27ac39(0x18a)+k}:{}},'body':JSON[_0x27ac39(0x197)]({'jsonrpc':_0x27ac39(0x210),'id':0x2,'method':_0x27ac39(0x1da),'params':{'name':_0x3a0ee4,'arguments':_0x30eb38}})}))[_0x27ac39(0x1bf)]())[_0x27ac39(0x1e3)]('\x0a')[_0x27ac39(0x1d7)](_0x1925a5=>_0x1925a5[_0x27ac39(0x181)]('data:\x20'));if(_0x15cacd){let _0x454bcc=JSON[_0x27ac39(0x1c3)](_0x15cacd[_0x27ac39(0x191)](0x6));return _0x454bcc?.['result']?.[_0x27ac39(0x218)]?.[0x0]?.['text']?JSON[_0x27ac39(0x1c3)](_0x454bcc[_0x27ac39(0x1d4)][_0x27ac39(0x218)][0x0][_0x27ac39(0x1bf)]):_0x454bcc;}return{'ok':!0x1,'error':_0x27ac39(0x17e)};}K[a0_0x1685ca(0x1d3)](a0_0x21c857,async _0x505d74=>{const _0x2300f4=a0_0x1685ca;let {name:_0x21506d,arguments:_0x4e6a64}=_0x505d74[_0x2300f4(0x189)];if(_0x21506d===_0x2300f4(0x1d1)){let {task_id:_0x5228d8,text:_0x3ca950,status:_0x541a03}=_0x4e6a64;if(_0x541a03==='completed'||_0x541a03==='failed'||_0x541a03===_0x2300f4(0x20e)){let _0x54083c=_0x541a03===_0x2300f4(0x199)?_0x2300f4(0x1d2):_0x541a03,_0x5b4871=_0x5228d8?G[_0x2300f4(0x20b)](_0x5228d8)||_0x2300f4(0x1e2):'hub',_0x12b457=await Q('send_reply',{'alias':_0x5b4871,'text':_0x3ca950,'in_reply_to':_0x5228d8||void 0x0,'status':_0x54083c,'from_session':p});if(_0x5228d8)G['delete'](_0x5228d8);return{'content':[{'type':_0x2300f4(0x1bf),'text':JSON[_0x2300f4(0x197)](_0x12b457)}]};}let _0x9cf757=await Q('report_status',{'resume_id':V,'alias':p,'status':_0x541a03===_0x2300f4(0x1b1)?_0x2300f4(0x1b1):_0x541a03==='error'?'error':_0x2300f4(0x1a4),'task':_0x3ca950[_0x2300f4(0x191)](0x0,0xc8),'output':_0x3ca950});return{'content':[{'type':'text','text':JSON[_0x2300f4(0x197)](_0x9cf757)}]};}if(_0x21506d===_0x2300f4(0x1f9)){let {status:_0x895261,task:_0x2bd113,progress:_0x355de9}=_0x4e6a64,_0x358739=await Q('report_status',{'resume_id':V,'alias':p,'status':_0x895261,'task':_0x2bd113,'progress':_0x355de9});return{'content':[{'type':'text','text':JSON[_0x2300f4(0x197)](_0x358739)}]};}if(_0x21506d===_0x2300f4(0x1f1)){let {alias:_0x1207d6,task:_0x34ba32,priority:_0x5b9ff4}=_0x4e6a64,_0xac31f3=await Q('send_task',{'alias':_0x1207d6,'task':_0x34ba32,'priority':_0x5b9ff4||'normal','from_session':p});return{'content':[{'type':_0x2300f4(0x1bf),'text':JSON[_0x2300f4(0x197)](_0xac31f3)}]};}if(_0x21506d===_0x2300f4(0x185)){let {alias:_0x5368cd,message:_0xe84129}=_0x4e6a64,_0x453c5c=await Q('send_message',{'alias':_0x5368cd,'message':_0xe84129,'from_session':p});return{'content':[{'type':_0x2300f4(0x1bf),'text':JSON[_0x2300f4(0x197)](_0x453c5c)}]};}if(_0x21506d===_0x2300f4(0x1a5)){let _0x44f1f8=await Q('get_all_status',{});return{'content':[{'type':_0x2300f4(0x1bf),'text':JSON[_0x2300f4(0x197)](_0x44f1f8)}]};}return{'content':[{'type':_0x2300f4(0x1bf),'text':JSON[_0x2300f4(0x197)]({'error':_0x2300f4(0x1d0)})}]};});var D=0x3e8,v=0x7530,O=0x36ee80;async function m(){const _0x4ddb02=a0_0x1685ca;try{await Q(_0x4ddb02(0x1e8),{'resume_id':V,'alias':p,'status':'idle','server':a0_0x1921c6(),'hostname':a0_0x1921c6(),'agent':'claude-code','project_dir':process[_0x4ddb02(0x1c5)](),'tmux_name':j||void 0x0}),z(_0x4ddb02(0x17d)+p+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x28319a){z(_0x4ddb02(0x1e7)+_0x28319a);}}async function l(){const _0x199d24=a0_0x1685ca;let _0x5ade71=Y+_0x199d24(0x187)+encodeURIComponent(p),_0x53b22e={};if(k)_0x53b22e['Authorization']=_0x199d24(0x18a)+k;z(_0x199d24(0x198)+_0x5ade71);let _0x218153=D,_0x38ce93=!0x0,_0x260189=null;while(!0x0){try{let _0x23e632=await fetch(_0x5ade71,{'headers':_0x53b22e});if(!_0x23e632['ok']){if(z(_0x199d24(0x180)+_0x23e632[_0x199d24(0x1ad)]+'\x20'+_0x23e632[_0x199d24(0x213)]),_0x260189=_0x260189??Date['now'](),Date[_0x199d24(0x1d5)]()-_0x260189>O){z('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+Y+_0x199d24(0x1c7));return;}await i(_0x218153),_0x218153=Math[_0x199d24(0x1b5)](_0x218153*0x2,v);continue;}let _0x1736ff=_0x23e632[_0x199d24(0x192)][_0x199d24(0x1e1)](),_0x314a86=new TextDecoder(),_0x4612ee='';_0x218153=D;while(!0x0){let {done:_0x3258e5,value:_0x2461ee}=await _0x1736ff['read']();if(_0x3258e5)break;_0x4612ee+=_0x314a86['decode'](_0x2461ee,{'stream':!0x0});let _0x547248=_0x4612ee[_0x199d24(0x1e3)]('\x0a\x0a');_0x4612ee=_0x547248[_0x199d24(0x1ce)]()||'';for(let _0x4c77cc of _0x547248){let _0x58b37e=_0x4c77cc[_0x199d24(0x1e3)]('\x0a')[_0x199d24(0x1d7)](_0x37652a=>_0x37652a['startsWith'](_0x199d24(0x20a)));if(!_0x58b37e)continue;try{let _0x354a83=JSON[_0x199d24(0x1c3)](_0x58b37e['slice'](0x6));if(await A(_0x354a83),_0x354a83[_0x199d24(0x1cc)]===_0x199d24(0x1c6)){if(_0x260189=null,!_0x38ce93)await m();_0x38ce93=!0x1;}}catch(_0x434e60){z(_0x199d24(0x1dc)+_0x434e60);}}}z('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x4d64e5){z('SSE\x20connection\x20error:\x20'+_0x4d64e5);}if(_0x260189=_0x260189??Date[_0x199d24(0x1d5)](),Date[_0x199d24(0x1d5)]()-_0x260189>O){z(_0x199d24(0x216)+Y+_0x199d24(0x1c7));return;}await i(_0x218153),_0x218153=Math['min'](_0x218153*0x2,v);}}async function A(_0x4d6dee){const _0x2e6293=a0_0x1685ca;if(_0x4d6dee[_0x2e6293(0x1cc)]===_0x2e6293(0x1c6)){z(_0x2e6293(0x1c9)+p+'\x22');return;}if(_0x4d6dee[_0x2e6293(0x1cc)]===_0x2e6293(0x20c)){if(z(_0x2e6293(0x1b6)+_0x4d6dee[_0x2e6293(0x18b)]+':\x20'+_0x4d6dee[_0x2e6293(0x1cd)][_0x2e6293(0x191)](0x0,0x3c)),await K[_0x2e6293(0x21a)]({'method':_0x2e6293(0x1a6),'params':{'content':_0x4d6dee[_0x2e6293(0x1cd)],'meta':{'sender':_0x4d6dee['from']||_0x2e6293(0x1e2),'sender_id':_0x2e6293(0x18c),'user':_0x4d6dee['from']||'hub','priority':'normal'}}}),_0x4d6dee[_0x2e6293(0x1f6)])await Q(_0x2e6293(0x1eb),{'alias':p,'message_id':_0x4d6dee['message_id']});return;}if(_0x4d6dee[_0x2e6293(0x1cc)]===_0x2e6293(0x1f3)||_0x4d6dee[_0x2e6293(0x1cc)]==='broadcast'){z('←\x20'+_0x4d6dee[_0x2e6293(0x1cc)]+_0x2e6293(0x193)+_0x4d6dee[_0x2e6293(0x1a8)]+'\x20priority='+(_0x4d6dee[_0x2e6293(0x1ae)]||_0x2e6293(0x1f4)));let _0xae3168=await Q(_0x2e6293(0x1ef),{'alias':p,'limit':0x5});if(_0xae3168?.['ok']&&_0xae3168[_0x2e6293(0x18e)]?.[_0x2e6293(0x21c)]>0x0)for(let _0x1d5a9d of _0xae3168[_0x2e6293(0x18e)]){let _0x1fe558={'sender':_0x1d5a9d[_0x2e6293(0x20d)]||_0x2e6293(0x1e2),'sender_id':'commhub','user':_0x1d5a9d[_0x2e6293(0x20d)]||_0x2e6293(0x1e2),'task_id':_0x1d5a9d['id'],'priority':_0x1d5a9d['priority']||_0x2e6293(0x1f4)};G[_0x2e6293(0x1fd)](_0x1d5a9d['id'],_0x1d5a9d['from_session']||_0x2e6293(0x1e2)),await K[_0x2e6293(0x21a)]({'method':_0x2e6293(0x1a6),'params':{'content':_0x1d5a9d['content'],'meta':_0x1fe558}}),z(_0x2e6293(0x217)+_0x1d5a9d['id'][_0x2e6293(0x191)](0x0,0x8)+'\x20from\x20'+_0x1d5a9d[_0x2e6293(0x20d)]+':\x20'+_0x1d5a9d['content']['slice'](0x0,0x3c)),await Q(_0x2e6293(0x1eb),{'alias':p,'message_id':_0x1d5a9d['id']});}}}async function t(){const _0x40d496=a0_0x1685ca;let _0x496b33=new a0_0x127f45();await K['connect'](_0x496b33),z(_0x40d496(0x1d6)),z(_0x40d496(0x190)),l()['catch'](_0x583c7d=>z(_0x40d496(0x1f7)+_0x583c7d)),Q(_0x40d496(0x1e8),{'resume_id':V,'alias':p,'status':_0x40d496(0x1b9),'server':a0_0x1921c6(),'hostname':a0_0x1921c6(),'agent':_0x40d496(0x20f),'project_dir':process[_0x40d496(0x1c5)](),'tmux_name':j||void 0x0})[_0x40d496(0x18d)](()=>z(_0x40d496(0x1ed)+p+_0x40d496(0x19a)+V['slice'](0x0,0x8)+')'))[_0x40d496(0x186)](_0x2478e4=>z(_0x40d496(0x1c8)+_0x2478e4)),setInterval(()=>{const _0x41cf1f=_0x40d496;Q(_0x41cf1f(0x1e8),{'resume_id':V,'alias':p,'status':_0x41cf1f(0x1b9),'server':a0_0x1921c6(),'hostname':a0_0x1921c6(),'agent':'claude-code','project_dir':process[_0x41cf1f(0x1c5)](),'tmux_name':j||void 0x0})[_0x41cf1f(0x186)](_0x5e43e1=>z('heartbeat\x20failed:\x20'+_0x5e43e1));},0x2bf20),z('ready\x20—\x20waiting\x20for\x20events');}function a0_0xca9b(_0x539f68,_0xdcd257){_0x539f68=_0x539f68-0x17d;const _0x4193e9=a0_0x4193();let _0xca9baa=_0x4193e9[_0x539f68];return _0xca9baa;}t()[a0_0x1685ca(0x186)](_0x3df294=>{const _0x12e5af=a0_0x1685ca;z(_0x12e5af(0x184)+_0x3df294),process[_0x12e5af(0x1cf)](0x1);});async function b(){const _0x5b558e=a0_0x1685ca;z(_0x5b558e(0x21f)),await Q('report_status',{'resume_id':V,'alias':p,'status':_0x5b558e(0x1c0),'task':_0x5b558e(0x1df)})[_0x5b558e(0x186)](()=>{}),process[_0x5b558e(0x1cf)](0x0);}process['stdin']['on'](a0_0x1685ca(0x1b0),()=>b()),process['on']('SIGTERM',()=>b()),process['on'](a0_0x1685ca(0x1fa),()=>b());function a0_0x4193(){const _0x2a6762=[')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','warning:\x20could\x20not\x20register:\x20','SSE\x20connected\x20as\x20\x22','116fyaDud','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','type','message','pop','exit','unknown\x20tool','commhub_reply','replied','setRequestHandler','result','now','MCP\x20stdio\x20connected','find','0.3.0','.claude/channels/commhub','tools/call','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','parse\x20error:\x20','12LbidMG','1365310cvZriV','session\x20disconnected','2025-03-26','getReader','hub','split','config.json','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','POST','re-register\x20failed:\x20','report_status','Target\x20session\x20alias','trim','ack_inbox','parent\x20claude\x20pid=','registered\x20as\x20\x22','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','get_inbox','pid','commhub_send_task','18VWEBdf','new_task','normal','12VeDFrq','message_id','SSE\x20fatal:\x20','write','commhub_report_status','SIGINT','Session\x20alias:\x20','CommHub\x20init\x20failed:\x20','set','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','ESRCH','stderr','(none)','alias','failed','low','replace','.env','utf-8','\x20CWD=','3673915kwzMRW','data:\x20','get','new_message','from_session','cancelled','claude-code','2.0','25215JAAlcm','number','statusText','19500723bYaUaZ','http://127.0.0.1:9200','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','→\x20injected\x20task\x20','content','function','notification','379915jSQrey','length',')\x20—\x20self-exit\x20to\x20avoid\x20ghost\x20heart-beat',']\x20[commhub]\x20','shutting\x20down,\x20reporting\x20offline...','re-registered\x20as\x20\x22','no\x20response','Priority\x20(default:\x20normal)','SSE\x20error:\x20','startsWith','ENV:\x20URL=','initialize','fatal:\x20','commhub_send_message','catch','/events/','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','params','Bearer\x20','from','commhub','then','messages','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','starting\x20SSE\x20listener...','slice','body',':\x20inbox_count=','parent\x20claude\x20died\x20(reparented\x20to\x20PID\x201\x20from\x20','unref','join','stringify','connecting\x20to\x20','completed','\x22\x20(','error','high','ppid','4033296WzvOYv','application/json','commhub-channel','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','unknown','Current\x20task\x20description','working','commhub_get_all_status','notifications/claude/channel','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','inbox_count','Progress\x200-100','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','none','1nbzdlD','status','priority','string','end','blocked','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','unattributed-','591974SnHXuB','min','←\x20message\x20from\x20','indexOf','...\x20TMUX=','idle','init\x20failed:\x20','kill','object','application/json,\x20text/event-stream','tmux\x20display-message\x20-p\x20\x27#S\x27','text','offline','token','Message\x20content','parse','code','cwd','connected'];a0_0x4193=function(){return _0x2a6762;};return a0_0x4193();}var d=process[a0_0x1685ca(0x19d)];if(d&&d>0x1){let h=setInterval(()=>{const _0xd35a50=a0_0x1685ca;if(process[_0xd35a50(0x19d)]===0x1&&d!==0x1){z(_0xd35a50(0x194)+d+_0xd35a50(0x21d)),b();return;}try{process[_0xd35a50(0x1bb)](d,0x0);}catch(_0x521cb0){if(_0x521cb0?.[_0xd35a50(0x1c4)]===_0xd35a50(0x1ff))z(_0xd35a50(0x1ec)+d+'\x20no\x20longer\x20exists\x20(kill-0\x20ESRCH)\x20—\x20self-exit\x20to\x20avoid\x20ghost\x20heart-beat'),b();}},0x7530);if(typeof h[a0_0x1685ca(0x195)]===a0_0x1685ca(0x219))h[a0_0x1685ca(0x195)]();}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network",
3
- "version": "2.3.0-preview.30",
3
+ "version": "2.3.0-preview.31",
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",