@sleep2agi/agent-network 2.0.0-preview.36 → 2.0.0-preview.38

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_0x2b9d70=a0_0x2bab;(function(_0xbd5d13,_0xd5577b){const _0x248d30=a0_0x2bab,_0x3df069=_0xbd5d13();while(!![]){try{const _0x313cb9=parseInt(_0x248d30(0x156))/0x1*(parseInt(_0x248d30(0x14d))/0x2)+-parseInt(_0x248d30(0x18d))/0x3+-parseInt(_0x248d30(0x189))/0x4+parseInt(_0x248d30(0x155))/0x5+parseInt(_0x248d30(0x19c))/0x6+-parseInt(_0x248d30(0x16d))/0x7+parseInt(_0x248d30(0x154))/0x8;if(_0x313cb9===_0xd5577b)break;else _0x3df069['push'](_0x3df069['shift']());}catch(_0x38200f){_0x3df069['push'](_0x3df069['shift']());}}}(a0_0x4f13,0xd7133));function a0_0x2bab(_0x2b82d1,_0x2ae221){_0x2b82d1=_0x2b82d1-0x148;const _0x4f1315=a0_0x4f13();let _0x2babd6=_0x4f1315[_0x2b82d1];return _0x2babd6;}import{EventEmitter as a0_0x531d19}from'events';import{hostname as a0_0x386d06}from'os';class T extends a0_0x531d19{[a0_0x2b9d70(0x14b)];[a0_0x2b9d70(0x17e)];[a0_0x2b9d70(0x17d)];[a0_0x2b9d70(0x18b)];[a0_0x2b9d70(0x14f)];[a0_0x2b9d70(0x159)];[a0_0x2b9d70(0x158)];['heartbeatTimer'];[a0_0x2b9d70(0x166)];[a0_0x2b9d70(0x18f)]=!0x1;constructor(_0x5a5bf8){const _0x5433dc=a0_0x2b9d70;super();if(this['url']=_0x5a5bf8[_0x5433dc(0x14b)][_0x5433dc(0x179)](/\/$/,''),this[_0x5433dc(0x17e)]=_0x5a5bf8[_0x5433dc(0x17e)],this[_0x5433dc(0x17d)]=_0x5a5bf8[_0x5433dc(0x17d)],this['agent']=_0x5a5bf8[_0x5433dc(0x18b)]||_0x5433dc(0x14a),this[_0x5433dc(0x14f)]='sdk-'+_0x5a5bf8[_0x5433dc(0x17e)]+'-'+Date['now']()[_0x5433dc(0x15b)](0x24),this['heartbeatInterval']=_0x5a5bf8[_0x5433dc(0x159)]??0x2bf20,this['reconnectDelay']=_0x5a5bf8['reconnectDelay']??0xbb8,_0x5a5bf8[_0x5433dc(0x176)]!==!0x1)this[_0x5433dc(0x14e)]();}[a0_0x2b9d70(0x194)](_0x516e45){const _0x17ce07=a0_0x2b9d70;console['log']('['+new Date()[_0x17ce07(0x15c)]()[_0x17ce07(0x19b)](0x0,0x8)+_0x17ce07(0x198)+this[_0x17ce07(0x17e)]+']\x20'+_0x516e45);}async['call'](_0x1666b1,_0xbd8861){const _0x4e2182=a0_0x2b9d70;let _0x43a981={'Content-Type':_0x4e2182(0x178),'Accept':_0x4e2182(0x173)};if(this[_0x4e2182(0x17d)])_0x43a981[_0x4e2182(0x17c)]=_0x4e2182(0x184)+this[_0x4e2182(0x17d)];let _0x16604a=await(await fetch(this[_0x4e2182(0x14b)]+_0x4e2182(0x17a),{'method':'POST','headers':_0x43a981,'body':JSON[_0x4e2182(0x190)]({'jsonrpc':'2.0','id':Date[_0x4e2182(0x15d)](),'method':_0x4e2182(0x18c),'params':{'name':_0x1666b1,'arguments':_0xbd8861}})}))[_0x4e2182(0x191)](),_0x3c9b50=_0x16604a[_0x4e2182(0x185)](/data: (.+)/),_0xf25bd1=_0x3c9b50?JSON[_0x4e2182(0x16f)](_0x3c9b50[0x1]):JSON[_0x4e2182(0x16f)](_0x16604a),_0x1e0251=_0xf25bd1?.['result']?.[_0x4e2182(0x172)]?.[0x0]?.[_0x4e2182(0x191)];return _0x1e0251?JSON[_0x4e2182(0x16f)](_0x1e0251):_0xf25bd1;}async['connect'](){const _0x41a5f0=a0_0x2b9d70;if(this['running'])return;this[_0x41a5f0(0x18f)]=!0x0,await this['status'](_0x41a5f0(0x180)),this[_0x41a5f0(0x194)](_0x41a5f0(0x186)),this['heartbeatTimer']=setInterval(()=>{const _0x52f7ef=_0x41a5f0;this[_0x52f7ef(0x168)]('idle')[_0x52f7ef(0x157)](_0x4e6c58=>this[_0x52f7ef(0x194)](_0x52f7ef(0x152)+_0x4e6c58['message']));},this[_0x41a5f0(0x159)]),this['connectSSE']();}async[a0_0x2b9d70(0x170)](){const _0x28546f=a0_0x2b9d70;if(this[_0x28546f(0x18f)]=!0x1,this['sseAbort']?.[_0x28546f(0x163)](),this[_0x28546f(0x174)])clearInterval(this[_0x28546f(0x174)]);await this[_0x28546f(0x168)](_0x28546f(0x151))['catch'](()=>{}),this[_0x28546f(0x194)]('disconnected');}async[a0_0x2b9d70(0x183)](_0x44d910,_0x17de15,_0x46ce22=a0_0x2b9d70(0x177)){const _0x36afb1=a0_0x2b9d70;return this[_0x36afb1(0x164)](_0x36afb1(0x199),{'alias':_0x44d910,'task':_0x17de15,'priority':_0x46ce22,'from_session':this[_0x36afb1(0x17e)]});}async['message'](_0x8b38e6,_0x22b2c6){return this['call']('send_message',{'alias':_0x8b38e6,'message':_0x22b2c6,'from_session':this['alias']});}async['reply'](_0x38eb70,_0x4693ef,_0x248065='completed'){const _0x304af4=a0_0x2b9d70;return this[_0x304af4(0x164)](_0x304af4(0x15a),{'task_id':_0x38eb70,'text':_0x4693ef,'status':_0x248065});}async[a0_0x2b9d70(0x168)](_0x6ab907,_0x303448){const _0x1367d4=a0_0x2b9d70;return this['call'](_0x1367d4(0x148),{'resume_id':this[_0x1367d4(0x14f)],'alias':this['alias'],'status':_0x6ab907,'server':a0_0x386d06(),'hostname':a0_0x386d06(),'agent':this[_0x1367d4(0x18b)],'project_dir':process[_0x1367d4(0x196)](),..._0x303448});}async[a0_0x2b9d70(0x149)](){const _0x2153f5=a0_0x2b9d70;return this[_0x2153f5(0x164)](_0x2153f5(0x167),{});}async[a0_0x2b9d70(0x162)](_0x49487b,_0x1b70f8){const _0x41b696=a0_0x2b9d70;return this[_0x41b696(0x164)]('broadcast',{'message':_0x49487b,'filter_server':_0x1b70f8?.[_0x41b696(0x187)],'filter_status':_0x1b70f8?.['status']});}async[a0_0x2b9d70(0x16a)](){const _0x155787=a0_0x2b9d70;let _0x343d58=encodeURIComponent(this[_0x155787(0x17e)]),_0x5c91ef=this[_0x155787(0x14b)]+'/events/'+_0x343d58,_0x24233=this[_0x155787(0x158)];while(this['running']){try{this[_0x155787(0x166)]=new AbortController();let _0x2f3d37={'Accept':_0x155787(0x169)};if(this['token'])_0x2f3d37[_0x155787(0x17c)]=_0x155787(0x184)+this[_0x155787(0x17d)];let _0x5a1004=await fetch(_0x5c91ef,{'headers':_0x2f3d37,'signal':this[_0x155787(0x166)][_0x155787(0x18e)]});if(!_0x5a1004['ok']||!_0x5a1004[_0x155787(0x160)]){this[_0x155787(0x194)](_0x155787(0x18a)+_0x5a1004[_0x155787(0x168)]),await this[_0x155787(0x153)](_0x24233),_0x24233=Math[_0x155787(0x192)](_0x24233*1.5,0xea60);continue;}_0x24233=this['reconnectDelay'];let _0x40bc8b=_0x5a1004[_0x155787(0x160)]['getReader'](),_0x2b7af2=new TextDecoder(),_0x3a0ca6='';while(this[_0x155787(0x18f)]){let {done:_0x51adba,value:_0x2697b5}=await _0x40bc8b[_0x155787(0x197)]();if(_0x51adba)break;_0x3a0ca6+=_0x2b7af2[_0x155787(0x19a)](_0x2697b5,{'stream':!0x0});let _0x3ce9b8=_0x3a0ca6[_0x155787(0x150)]('\x0a');_0x3a0ca6=_0x3ce9b8[_0x155787(0x15f)]()||'';for(let _0x46e808 of _0x3ce9b8){if(!_0x46e808[_0x155787(0x171)](_0x155787(0x19d)))continue;try{let _0x1db68e=JSON[_0x155787(0x16f)](_0x46e808['slice'](0x6));if(_0x1db68e[_0x155787(0x182)]===_0x155787(0x17f)){this[_0x155787(0x194)](_0x155787(0x17b)),this['emit'](_0x155787(0x17f));continue;}if(_0x1db68e[_0x155787(0x182)]===_0x155787(0x16c)||_0x1db68e[_0x155787(0x182)]===_0x155787(0x175)||_0x1db68e['type']===_0x155787(0x162))await this['processInbox']();}catch{}}}}catch(_0x530986){if(_0x530986[_0x155787(0x181)]==='AbortError')break;this[_0x155787(0x16e)]('error',_0x530986),this[_0x155787(0x194)](_0x155787(0x14c)+_0x530986[_0x155787(0x16b)]);}if(this['running'])this[_0x155787(0x16e)](_0x155787(0x161)),this['log'](_0x155787(0x15e)+_0x24233/0x3e8+_0x155787(0x165)),await this[_0x155787(0x153)](_0x24233),_0x24233=Math[_0x155787(0x192)](_0x24233*1.5,0xea60);}}async['processInbox'](){const _0x1f4ddf=a0_0x2b9d70;try{let _0x4e3eac=(await this[_0x1f4ddf(0x164)](_0x1f4ddf(0x195),{'alias':this[_0x1f4ddf(0x17e)],'limit':0xa}))?.[_0x1f4ddf(0x193)]||[];for(let _0x18b39b of _0x4e3eac)await this[_0x1f4ddf(0x164)](_0x1f4ddf(0x188),{'alias':this[_0x1f4ddf(0x17e)],'message_id':_0x18b39b['id']}),this[_0x1f4ddf(0x194)]('←\x20'+_0x18b39b['from_session']+':\x20'+_0x18b39b['content'][_0x1f4ddf(0x19b)](0x0,0x3c)),this[_0x1f4ddf(0x16e)]('task',_0x18b39b),this[_0x1f4ddf(0x16e)](_0x1f4ddf(0x16b),_0x18b39b);}catch(_0xb164c0){this[_0x1f4ddf(0x194)]('inbox\x20error:\x20'+_0xb164c0[_0x1f4ddf(0x16b)]);}}[a0_0x2b9d70(0x153)](_0x3df01c){return new Promise(_0x14a0e1=>setTimeout(_0x14a0e1,_0x3df01c));}}function a0_0x4f13(){const _0xf24ea1=['token','alias','connected','idle','name','type','send','Bearer\x20','match','registered','server','ack_inbox','1597744fQJLOt','SSE\x20failed:\x20','agent','tools/call','689781fqxGTc','signal','running','stringify','text','min','messages','log','get_inbox','cwd','read',']\x20[commhub:','send_task','decode','slice','4454694VSlqfx','data:\x20','report_status','getAllStatus','sdk','url','SSE\x20error:\x20','142046ETBTYm','connect','resumeId','split','offline','heartbeat\x20failed:\x20','sleep','12421576vGGgSn','4170145IeKtpb','2LdZLQq','catch','reconnectDelay','heartbeatInterval','reply','toString','toTimeString','now','SSE\x20reconnecting\x20in\x20','pop','body','disconnected','broadcast','abort','call','s...','sseAbort','get_all_status','status','text/event-stream','connectSSE','message','new_task','12326377QQXiJM','emit','parse','disconnect','startsWith','content','application/json,\x20text/event-stream','heartbeatTimer','new_message','autoConnect','normal','application/json','replace','/mcp','SSE\x20connected','Authorization'];a0_0x4f13=function(){return _0xf24ea1;};return a0_0x4f13();}var $=T;export{$ as default,T as CommHub};
1
+ function a0_0x350b(){const _0x58875c=['toString','cwd','application/json,\x20text/event-stream','102360ESNKho','text/event-stream','reconnectDelay','SSE\x20connected','status','body','heartbeatTimer','idle','name','Authorization','/mcp','11771936IfgjlK','autoConnect','task','completed',']\x20[commhub:','getAllStatus','sdk','54ZdkbbN','tools/call','toTimeString','connectSSE','heartbeatInterval','299843cGJzKm','token','inbox\x20error:\x20','stringify','content','result','message','report_status','connect','server','slice','catch','SSE\x20error:\x20','startsWith','running','2akOXNj','application/json','SSE\x20reconnecting\x20in\x20','POST','1009148UjuCMI','s...','data:\x20','split','2.0','Bearer\x20','alias','connected','min','agent','abort','pop','2210880ZnrFDl','now','text','url','read','resumeId','send_message','ack_inbox','broadcast','sleep','608VQaahb','parse','normal','registered','AbortError','getReader','38472kNzGYq','disconnect','heartbeat\x20failed:\x20','error','30393pOHJfo','new_message','type','reply','/events/','SSE\x20failed:\x20','sseAbort','disconnected','call','from_session','log','processInbox','63XXbBQV','emit','messages'];a0_0x350b=function(){return _0x58875c;};return a0_0x350b();}const a0_0x27db68=a0_0x4f44;(function(_0x45a497,_0x4881b1){const _0x5097c6=a0_0x4f44,_0x4a2282=_0x45a497();while(!![]){try{const _0x655614=parseInt(_0x5097c6(0x207))/0x1*(-parseInt(_0x5097c6(0x216))/0x2)+-parseInt(_0x5097c6(0x1ea))/0x3*(-parseInt(_0x5097c6(0x236))/0x4)+-parseInt(_0x5097c6(0x1f0))/0x5*(parseInt(_0x5097c6(0x202))/0x6)+-parseInt(_0x5097c6(0x21a))/0x7+-parseInt(_0x5097c6(0x230))/0x8*(parseInt(_0x5097c6(0x23a))/0x9)+-parseInt(_0x5097c6(0x226))/0xa+parseInt(_0x5097c6(0x1fb))/0xb;if(_0x655614===_0x4881b1)break;else _0x4a2282['push'](_0x4a2282['shift']());}catch(_0x1ce3ca){_0x4a2282['push'](_0x4a2282['shift']());}}}(a0_0x350b,0x2890f));function a0_0x4f44(_0x18362e,_0x1a8647){_0x18362e=_0x18362e-0x1e4;const _0x350b41=a0_0x350b();let _0x4f4427=_0x350b41[_0x18362e];return _0x4f4427;}import{EventEmitter as a0_0x429721}from'events';import{hostname as a0_0x229763}from'os';class T extends a0_0x429721{[a0_0x27db68(0x229)];[a0_0x27db68(0x220)];[a0_0x27db68(0x208)];[a0_0x27db68(0x223)];['resumeId'];[a0_0x27db68(0x206)];[a0_0x27db68(0x1f2)];['heartbeatTimer'];[a0_0x27db68(0x1e4)];['running']=!0x1;constructor(_0x41032e){const _0x1d9684=a0_0x27db68;super();if(this[_0x1d9684(0x229)]=_0x41032e['url']['replace'](/\/$/,''),this[_0x1d9684(0x220)]=_0x41032e[_0x1d9684(0x220)],this[_0x1d9684(0x208)]=_0x41032e[_0x1d9684(0x208)],this[_0x1d9684(0x223)]=_0x41032e[_0x1d9684(0x223)]||_0x1d9684(0x201),this[_0x1d9684(0x22b)]='sdk-'+_0x41032e['alias']+'-'+Date[_0x1d9684(0x227)]()[_0x1d9684(0x1ed)](0x24),this['heartbeatInterval']=_0x41032e[_0x1d9684(0x206)]??0x2bf20,this[_0x1d9684(0x1f2)]=_0x41032e['reconnectDelay']??0xbb8,_0x41032e[_0x1d9684(0x1fc)]!==!0x1)this[_0x1d9684(0x20f)]();}['log'](_0x5be3b5){const _0x449aa4=a0_0x27db68;console[_0x449aa4(0x1e8)]('['+new Date()[_0x449aa4(0x204)]()[_0x449aa4(0x211)](0x0,0x8)+_0x449aa4(0x1ff)+this[_0x449aa4(0x220)]+']\x20'+_0x5be3b5);}async['call'](_0x3e0e49,_0x18bbe5){const _0x1b79bf=a0_0x27db68;let _0xb62a43={'Content-Type':_0x1b79bf(0x217),'Accept':_0x1b79bf(0x1ef)};if(this[_0x1b79bf(0x208)])_0xb62a43['Authorization']=_0x1b79bf(0x21f)+this['token'];let _0x594802=await(await fetch(this[_0x1b79bf(0x229)]+_0x1b79bf(0x1fa),{'method':_0x1b79bf(0x219),'headers':_0xb62a43,'body':JSON[_0x1b79bf(0x20a)]({'jsonrpc':_0x1b79bf(0x21e),'id':Date[_0x1b79bf(0x227)](),'method':_0x1b79bf(0x203),'params':{'name':_0x3e0e49,'arguments':_0x18bbe5}})}))[_0x1b79bf(0x228)](),_0x487b98=_0x594802['match'](/data: (.+)/),_0x16c580=_0x487b98?JSON[_0x1b79bf(0x231)](_0x487b98[0x1]):JSON[_0x1b79bf(0x231)](_0x594802),_0x39e291=_0x16c580?.[_0x1b79bf(0x20c)]?.[_0x1b79bf(0x20b)]?.[0x0]?.['text'];return _0x39e291?JSON[_0x1b79bf(0x231)](_0x39e291):_0x16c580;}async[a0_0x27db68(0x20f)](){const _0x25ecc5=a0_0x27db68;if(this[_0x25ecc5(0x215)])return;this[_0x25ecc5(0x215)]=!0x0,await this[_0x25ecc5(0x1f4)]('idle'),this[_0x25ecc5(0x1e8)](_0x25ecc5(0x233)),this[_0x25ecc5(0x1f6)]=setInterval(()=>{const _0x34e5c2=_0x25ecc5;this[_0x34e5c2(0x1f4)](_0x34e5c2(0x1f7))[_0x34e5c2(0x212)](_0x3a12df=>this['log'](_0x34e5c2(0x238)+_0x3a12df[_0x34e5c2(0x20d)]));},this[_0x25ecc5(0x206)]),this[_0x25ecc5(0x205)]();}async[a0_0x27db68(0x237)](){const _0x2bcf98=a0_0x27db68;if(this[_0x2bcf98(0x215)]=!0x1,this[_0x2bcf98(0x1e4)]?.[_0x2bcf98(0x224)](),this[_0x2bcf98(0x1f6)])clearInterval(this[_0x2bcf98(0x1f6)]);await this['status']('offline')[_0x2bcf98(0x212)](()=>{}),this[_0x2bcf98(0x1e8)](_0x2bcf98(0x1e5));}async['send'](_0x27d09e,_0x208899,_0x4ec5b0=a0_0x27db68(0x232)){const _0x511613=a0_0x27db68;return this['call']('send_task',{'alias':_0x27d09e,'task':_0x208899,'priority':_0x4ec5b0,'from_session':this[_0x511613(0x220)]});}async[a0_0x27db68(0x20d)](_0x357d5b,_0x2e47df){const _0x2b1011=a0_0x27db68;return this['call'](_0x2b1011(0x22c),{'alias':_0x357d5b,'message':_0x2e47df,'from_session':this['alias']});}async[a0_0x27db68(0x23d)](_0x4e7ac5,_0x560669,_0x256b71=a0_0x27db68(0x1fe)){const _0x3e3a5e=a0_0x27db68;return this[_0x3e3a5e(0x1e6)]('reply',{'task_id':_0x4e7ac5,'text':_0x560669,'status':_0x256b71});}async[a0_0x27db68(0x1f4)](_0x5619fd,_0x53cdd3){const _0x558cf6=a0_0x27db68;return this[_0x558cf6(0x1e6)](_0x558cf6(0x20e),{'resume_id':this['resumeId'],'alias':this[_0x558cf6(0x220)],'status':_0x5619fd,'server':a0_0x229763(),'hostname':a0_0x229763(),'agent':this[_0x558cf6(0x223)],'project_dir':process[_0x558cf6(0x1ee)](),..._0x53cdd3});}async[a0_0x27db68(0x200)](){const _0x6eb4e6=a0_0x27db68;return this[_0x6eb4e6(0x1e6)]('get_all_status',{});}async[a0_0x27db68(0x22e)](_0x299e12,_0x295ba4){const _0x4439e7=a0_0x27db68;return this[_0x4439e7(0x1e6)](_0x4439e7(0x22e),{'message':_0x299e12,'filter_server':_0x295ba4?.[_0x4439e7(0x210)],'filter_status':_0x295ba4?.[_0x4439e7(0x1f4)]});}async[a0_0x27db68(0x205)](){const _0xb0108a=a0_0x27db68;let _0x525a9a=encodeURIComponent(this['alias']),_0x89d68=this[_0xb0108a(0x229)]+_0xb0108a(0x23e)+_0x525a9a,_0x120294=this['reconnectDelay'];while(this[_0xb0108a(0x215)]){try{this[_0xb0108a(0x1e4)]=new AbortController();let _0x4c59e5={'Accept':_0xb0108a(0x1f1)};if(this[_0xb0108a(0x208)])_0x4c59e5[_0xb0108a(0x1f9)]=_0xb0108a(0x21f)+this[_0xb0108a(0x208)];let _0x75df71=await fetch(_0x89d68,{'headers':_0x4c59e5,'signal':this['sseAbort']['signal']});if(!_0x75df71['ok']||!_0x75df71[_0xb0108a(0x1f5)]){this[_0xb0108a(0x1e8)](_0xb0108a(0x23f)+_0x75df71[_0xb0108a(0x1f4)]),await this[_0xb0108a(0x22f)](_0x120294),_0x120294=Math[_0xb0108a(0x222)](_0x120294*1.5,0xea60);continue;}_0x120294=this[_0xb0108a(0x1f2)];let _0x5286c5=_0x75df71[_0xb0108a(0x1f5)][_0xb0108a(0x235)](),_0x49a237=new TextDecoder(),_0x2c589f='';while(this[_0xb0108a(0x215)]){let {done:_0x2acdef,value:_0x5a44e6}=await _0x5286c5[_0xb0108a(0x22a)]();if(_0x2acdef)break;_0x2c589f+=_0x49a237['decode'](_0x5a44e6,{'stream':!0x0});let _0xaa2fd0=_0x2c589f[_0xb0108a(0x21d)]('\x0a');_0x2c589f=_0xaa2fd0[_0xb0108a(0x225)]()||'';for(let _0x1e7c28 of _0xaa2fd0){if(!_0x1e7c28[_0xb0108a(0x214)](_0xb0108a(0x21c)))continue;try{let _0x3fb191=JSON[_0xb0108a(0x231)](_0x1e7c28[_0xb0108a(0x211)](0x6));if(_0x3fb191[_0xb0108a(0x23c)]===_0xb0108a(0x221)){this[_0xb0108a(0x1e8)](_0xb0108a(0x1f3)),this[_0xb0108a(0x1eb)]('connected');continue;}if(_0x3fb191['type']==='new_task'||_0x3fb191['type']===_0xb0108a(0x23b)||_0x3fb191[_0xb0108a(0x23c)]===_0xb0108a(0x22e))await this[_0xb0108a(0x1e9)]();}catch{}}}}catch(_0xc7f909){if(_0xc7f909[_0xb0108a(0x1f8)]===_0xb0108a(0x234))break;this[_0xb0108a(0x1eb)](_0xb0108a(0x239),_0xc7f909),this['log'](_0xb0108a(0x213)+_0xc7f909['message']);}if(this[_0xb0108a(0x215)])this[_0xb0108a(0x1eb)](_0xb0108a(0x1e5)),this[_0xb0108a(0x1e8)](_0xb0108a(0x218)+_0x120294/0x3e8+_0xb0108a(0x21b)),await this[_0xb0108a(0x22f)](_0x120294),_0x120294=Math['min'](_0x120294*1.5,0xea60);}}async['processInbox'](){const _0x28022f=a0_0x27db68;try{let _0x4c5ce1=(await this[_0x28022f(0x1e6)]('get_inbox',{'alias':this[_0x28022f(0x220)],'limit':0xa}))?.[_0x28022f(0x1ec)]||[];for(let _0x50b7a7 of _0x4c5ce1)await this[_0x28022f(0x1e6)](_0x28022f(0x22d),{'alias':this['alias'],'message_id':_0x50b7a7['id']}),this[_0x28022f(0x1e8)]('←\x20'+_0x50b7a7[_0x28022f(0x1e7)]+':\x20'+_0x50b7a7['content'][_0x28022f(0x211)](0x0,0x3c)),this[_0x28022f(0x1eb)](_0x28022f(0x1fd),_0x50b7a7),this[_0x28022f(0x1eb)](_0x28022f(0x20d),_0x50b7a7);}catch(_0x22febb){this['log'](_0x28022f(0x209)+_0x22febb[_0x28022f(0x20d)]);}}[a0_0x27db68(0x22f)](_0x5b6fb4){return new Promise(_0x566ee3=>setTimeout(_0x566ee3,_0x5b6fb4));}}var $=T;export{$ as default,T as CommHub};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env bun
2
- function a0_0xa7c7(_0x46bb2b,_0x4bb9ea){_0x46bb2b=_0x46bb2b-0x10c;const _0x4830c7=a0_0x4830();let _0xa7c7bd=_0x4830c7[_0x46bb2b];return _0xa7c7bd;}const a0_0x5ea37e=a0_0xa7c7;(function(_0x3361f4,_0xee625e){const _0x1af2bf=a0_0xa7c7,_0x53584e=_0x3361f4();while(!![]){try{const _0x549617=-parseInt(_0x1af2bf(0x12d))/0x1*(parseInt(_0x1af2bf(0x15c))/0x2)+parseInt(_0x1af2bf(0x172))/0x3+parseInt(_0x1af2bf(0x18e))/0x4*(parseInt(_0x1af2bf(0x17f))/0x5)+-parseInt(_0x1af2bf(0x18b))/0x6*(parseInt(_0x1af2bf(0x179))/0x7)+parseInt(_0x1af2bf(0x16c))/0x8+-parseInt(_0x1af2bf(0x11c))/0x9+parseInt(_0x1af2bf(0x132))/0xa;if(_0x549617===_0xee625e)break;else _0x53584e['push'](_0x53584e['shift']());}catch(_0x4a36c9){_0x53584e['push'](_0x53584e['shift']());}}}(a0_0x4830,0xecda8));import{readFileSync as a0_0x563fc4,existsSync as a0_0x1fa529}from'fs';import{join as a0_0x128240}from'path';import{hostname as a0_0x47e6a7}from'os';import{execSync as a0_0x59515c}from'child_process';import{Server as a0_0x526e06}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x3f30ea}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x329add,CallToolRequestSchema as a0_0x57282d}from'@modelcontextprotocol/sdk/types.js';function p(_0x556682){const _0x311735=a0_0xa7c7;if(!a0_0x1fa529(_0x556682))return;for(let _0x3fba80 of a0_0x563fc4(_0x556682,_0x311735(0x129))[_0x311735(0x10e)]('\x0a')){let _0x48ae86=_0x3fba80[_0x311735(0x116)]();if(!_0x48ae86||_0x48ae86[_0x311735(0x174)]('#'))continue;let _0x947988=_0x48ae86[_0x311735(0x18d)]('=');if(_0x947988<0x0)continue;let _0x1866c2=_0x48ae86[_0x311735(0x10f)](0x0,_0x947988)['trim'](),_0x260dcf=_0x48ae86[_0x311735(0x10f)](_0x947988+0x1)['trim']()[_0x311735(0x123)](/^["']|["']$/g,'');if(!process.env[_0x1866c2])process.env[_0x1866c2]=_0x260dcf;}}function a0_0x4830(){const _0x24dd5d=['catch','token','\x20PROJECT_ENV=','SSE\x20stream\x20ended,\x20reconnecting...','CommHub\x20init\x20failed:\x20','14656296ElAjZT','cwd','send_message','SIGTERM','join','from','3993039WpAqgQ','stderr','startsWith','error','completed','report_status','Bearer\x20','14BBodfC','connecting\x20to\x20','←\x20message\x20from\x20','0.3.0',']\x20[commhub]\x20','/mcp','38905wiZibg','randomUUID','Task\x20content','/events/','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','POST','priority','parse\x20error:\x20','high','stringify','no\x20response','replied','3387018byVvCO','commhub_get_all_status','indexOf','4NXlhbO','content','working','string','.env','task','tmux\x20display-message\x20-p\x20\x27#S\x27','init\x20failed:\x20','split','slice','\x20from\x20','\x20CWD=','object','notifications/claude/channel','setRequestHandler','commhub-channel','trim','2.0','alias','SSE\x20error:\x20','unknown\x20tool','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','12566493cfEyJd','SSE\x20connected\x20as\x20\x22','starting\x20SSE\x20listener...','Session\x20alias:\x20','\x20ALIAS=','send_reply','commhub','replace','\x22\x20(','Target\x20session\x20alias','warning:\x20could\x20not\x20register:\x20','cancelled','status','utf-8','read','hub','statusText','2956hThAMQ','ENV:\x20URL=','new_task','idle','text','17789560WfOkHE','inbox_count','exit','http://127.0.0.1:9200','result',':\x20inbox_count=','Authorization','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','send_task','from_session','failed','message','ready\x20—\x20waiting\x20for\x20events','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','session\x20disconnected','in_progress','application/json,\x20text/event-stream','Progress\x200-100','→\x20injected\x20task\x20','pop','parse','type','fatal:\x20','end','Priority\x20(default:\x20normal)','commhub_report_status','params','2025-03-26','MCP\x20stdio\x20connected','commhub_send_message','Message\x20content','blocked','number','normal','config.json','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','commhub_reply','messages','new_message','write','message_id','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','984UNWOxh','length','commhub_send_task','get','data:\x20','stdin','initialize','then','Reply\x20text\x20/\x20result\x20summary','application/json','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.'];a0_0x4830=function(){return _0x24dd5d;};return a0_0x4830();}var C=process.env.HOME||'~',T=a0_0x128240(C,'.claude/channels/commhub');p(a0_0x128240(T,a0_0x5ea37e(0x192)));var L=process['cwd']()[a0_0x5ea37e(0x123)](/\//g,'-');p(a0_0x128240(T,L,a0_0x5ea37e(0x192)));function U(){const _0x26a3fd=a0_0x5ea37e;try{return a0_0x59515c(_0x26a3fd(0x10c),{'encoding':_0x26a3fd(0x129),'timeout':0x7d0})[_0x26a3fd(0x116)]();}catch{return'';}}function c(){const _0x4e8e55=a0_0x5ea37e;try{let _0x18ac9f=a0_0x128240(C,'.anet',_0x4e8e55(0x154));if(a0_0x1fa529(_0x18ac9f))return JSON[_0x4e8e55(0x146)](a0_0x563fc4(_0x18ac9f,_0x4e8e55(0x129)));}catch{}return{};}var H=c(),D=process.env.COMMHUB_URL||H[a0_0x5ea37e(0x12b)]||a0_0x5ea37e(0x135),f=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||f||a0_0x47e6a7(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||crypto[a0_0x5ea37e(0x180)](),X=process.env.COMMHUB_TOKEN||H[a0_0x5ea37e(0x168)]||'';function Y(_0x7a485f){const _0x400f4c=a0_0x5ea37e;let _0x4fab9a=new Date()['toTimeString']()['slice'](0x0,0x8);process[_0x400f4c(0x173)][_0x400f4c(0x159)]('['+_0x4fab9a+_0x400f4c(0x17d)+_0x7a485f+'\x0a');}function h(_0x3065f3){return new Promise(_0x5dd4c4=>setTimeout(_0x5dd4c4,_0x3065f3));}Y(a0_0x5ea37e(0x12e)+D+a0_0x5ea37e(0x120)+Z+'\x20RESUME_ID='+w[a0_0x5ea37e(0x10f)](0x0,0x8)+'...\x20TMUX='+(f||'none')+a0_0x5ea37e(0x111)+process['cwd']()+a0_0x5ea37e(0x169)+L);var k=new Map(),K=new a0_0x526e06({'name':a0_0x5ea37e(0x115),'version':a0_0x5ea37e(0x17c)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':['Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.',a0_0x5ea37e(0x15b),a0_0x5ea37e(0x11b),a0_0x5ea37e(0x11f)+Z][a0_0x5ea37e(0x170)]('\x0a')});K[a0_0x5ea37e(0x114)](a0_0x329add,async()=>({'tools':[{'name':a0_0x5ea37e(0x156),'description':a0_0x5ea37e(0x13f),'inputSchema':{'type':'object','properties':{'task_id':{'type':'string','description':'The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)'},'text':{'type':a0_0x5ea37e(0x191),'description':a0_0x5ea37e(0x164)},'status':{'type':'string','enum':[a0_0x5ea37e(0x176),a0_0x5ea37e(0x13c),a0_0x5ea37e(0x127),'blocked','error',a0_0x5ea37e(0x141)],'description':'Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'}},'required':[a0_0x5ea37e(0x131)]}},{'name':'commhub_report_status','description':a0_0x5ea37e(0x139),'inputSchema':{'type':a0_0x5ea37e(0x112),'properties':{'status':{'type':a0_0x5ea37e(0x191),'enum':[a0_0x5ea37e(0x190),'idle',a0_0x5ea37e(0x151),a0_0x5ea37e(0x175)]},'task':{'type':a0_0x5ea37e(0x191),'description':'Current\x20task\x20description'},'progress':{'type':a0_0x5ea37e(0x152),'description':a0_0x5ea37e(0x143)}},'required':[a0_0x5ea37e(0x128)]}},{'name':a0_0x5ea37e(0x15e),'description':a0_0x5ea37e(0x183),'inputSchema':{'type':a0_0x5ea37e(0x112),'properties':{'alias':{'type':a0_0x5ea37e(0x191),'description':a0_0x5ea37e(0x125)},'task':{'type':a0_0x5ea37e(0x191),'description':a0_0x5ea37e(0x181)},'priority':{'type':a0_0x5ea37e(0x191),'enum':[a0_0x5ea37e(0x187),'normal','low'],'description':a0_0x5ea37e(0x14a)}},'required':['alias',a0_0x5ea37e(0x193)]}},{'name':a0_0x5ea37e(0x14f),'description':a0_0x5ea37e(0x166),'inputSchema':{'type':a0_0x5ea37e(0x112),'properties':{'alias':{'type':a0_0x5ea37e(0x191),'description':a0_0x5ea37e(0x125)},'message':{'type':a0_0x5ea37e(0x191),'description':a0_0x5ea37e(0x150)}},'required':[a0_0x5ea37e(0x118),a0_0x5ea37e(0x13d)]}},{'name':a0_0x5ea37e(0x18c),'description':a0_0x5ea37e(0x155),'inputSchema':{'type':'object','properties':{}}}]}));async function P(_0x22cd11,_0x464bee){const _0x461efb=a0_0x5ea37e;let _0x14180a=await fetch(D+_0x461efb(0x17e),{'method':'POST','headers':{'Content-Type':_0x461efb(0x165),'Accept':_0x461efb(0x142),...X?{'Authorization':_0x461efb(0x178)+X}:{}},'body':JSON[_0x461efb(0x188)]({'jsonrpc':_0x461efb(0x117),'id':0x1,'method':_0x461efb(0x162),'params':{'protocolVersion':_0x461efb(0x14d),'capabilities':{},'clientInfo':{'name':_0x461efb(0x115),'version':_0x461efb(0x17c)}}})});if(!_0x14180a['ok']){let _0x5c73a8=await _0x14180a['text']();return Y(_0x461efb(0x16b)+_0x14180a['status']+'\x20'+_0x5c73a8[_0x461efb(0x10f)](0x0,0x64)),{'ok':!0x1,'error':_0x461efb(0x10d)+_0x14180a[_0x461efb(0x128)]};}await _0x14180a[_0x461efb(0x131)]();let _0x3f855a=(await(await fetch(D+'/mcp',{'method':_0x461efb(0x184),'headers':{'Content-Type':_0x461efb(0x165),'Accept':_0x461efb(0x142),...X?{'Authorization':_0x461efb(0x178)+X}:{}},'body':JSON[_0x461efb(0x188)]({'jsonrpc':_0x461efb(0x117),'id':0x2,'method':'tools/call','params':{'name':_0x22cd11,'arguments':_0x464bee}})}))[_0x461efb(0x131)]())['split']('\x0a')['find'](_0x365fea=>_0x365fea[_0x461efb(0x174)](_0x461efb(0x160)));if(_0x3f855a){let _0x5483db=JSON[_0x461efb(0x146)](_0x3f855a[_0x461efb(0x10f)](0x6));return _0x5483db?.['result']?.[_0x461efb(0x18f)]?.[0x0]?.[_0x461efb(0x131)]?JSON['parse'](_0x5483db[_0x461efb(0x136)][_0x461efb(0x18f)][0x0][_0x461efb(0x131)]):_0x5483db;}return{'ok':!0x1,'error':_0x461efb(0x189)};}K[a0_0x5ea37e(0x114)](a0_0x57282d,async _0x2c7078=>{const _0x5b272b=a0_0x5ea37e;let {name:_0x24521d,arguments:_0x3182c3}=_0x2c7078[_0x5b272b(0x14c)];if(_0x24521d==='commhub_reply'){let {task_id:_0x554e0e,text:_0x26d1f4,status:_0x31f356}=_0x3182c3;if(_0x31f356===_0x5b272b(0x176)||_0x31f356===_0x5b272b(0x13c)||_0x31f356===_0x5b272b(0x127)){let _0x1a65b4=_0x31f356===_0x5b272b(0x176)?_0x5b272b(0x18a):_0x31f356,_0x22adfe=_0x554e0e?k[_0x5b272b(0x15f)](_0x554e0e)||_0x5b272b(0x12b):_0x5b272b(0x12b),_0x197342=await P(_0x5b272b(0x121),{'alias':_0x22adfe,'text':_0x26d1f4,'in_reply_to':_0x554e0e||void 0x0,'status':_0x1a65b4,'from_session':Z});if(_0x554e0e)k['delete'](_0x554e0e);return{'content':[{'type':_0x5b272b(0x131),'text':JSON[_0x5b272b(0x188)](_0x197342)}]};}let _0x263016=await P(_0x5b272b(0x177),{'resume_id':w,'alias':Z,'status':_0x31f356===_0x5b272b(0x151)?_0x5b272b(0x151):_0x31f356===_0x5b272b(0x175)?_0x5b272b(0x175):_0x5b272b(0x190),'task':_0x26d1f4['slice'](0x0,0xc8),'output':_0x26d1f4});return{'content':[{'type':_0x5b272b(0x131),'text':JSON[_0x5b272b(0x188)](_0x263016)}]};}if(_0x24521d===_0x5b272b(0x14b)){let {status:_0x1ae981,task:_0x503775,progress:_0x41c934}=_0x3182c3,_0x41579a=await P('report_status',{'resume_id':w,'alias':Z,'status':_0x1ae981,'task':_0x503775,'progress':_0x41c934});return{'content':[{'type':_0x5b272b(0x131),'text':JSON[_0x5b272b(0x188)](_0x41579a)}]};}if(_0x24521d===_0x5b272b(0x15e)){let {alias:_0xb3b498,task:_0x217063,priority:_0x41b3d9}=_0x3182c3,_0x42d3f5=await P(_0x5b272b(0x13a),{'alias':_0xb3b498,'task':_0x217063,'priority':_0x41b3d9||_0x5b272b(0x153),'from_session':Z});return{'content':[{'type':_0x5b272b(0x131),'text':JSON[_0x5b272b(0x188)](_0x42d3f5)}]};}if(_0x24521d===_0x5b272b(0x14f)){let {alias:_0x1b1f06,message:_0x4c2a0e}=_0x3182c3,_0x96fdd3=await P(_0x5b272b(0x16e),{'alias':_0x1b1f06,'message':_0x4c2a0e,'from_session':Z});return{'content':[{'type':_0x5b272b(0x131),'text':JSON['stringify'](_0x96fdd3)}]};}if(_0x24521d===_0x5b272b(0x18c)){let _0x373c93=await P('get_all_status',{});return{'content':[{'type':'text','text':JSON['stringify'](_0x373c93)}]};}return{'content':[{'type':_0x5b272b(0x131),'text':JSON[_0x5b272b(0x188)]({'error':_0x5b272b(0x11a)})}]};});async function v(){const _0x351252=a0_0x5ea37e;let _0x262eb3=D+_0x351252(0x182)+encodeURIComponent(Z),_0x1057bb={};if(X)_0x1057bb[_0x351252(0x138)]=_0x351252(0x178)+X;Y(_0x351252(0x17a)+_0x262eb3);while(!0x0){try{let _0x2b04c4=await fetch(_0x262eb3,{'headers':_0x1057bb});if(!_0x2b04c4['ok']){Y(_0x351252(0x119)+_0x2b04c4['status']+'\x20'+_0x2b04c4[_0x351252(0x12c)]),await h(0x1388);continue;}let _0x1b52f9=_0x2b04c4['body']['getReader'](),_0x2c0aee=new TextDecoder(),_0x2df18f='';while(!0x0){let {done:_0x123800,value:_0x2c251d}=await _0x1b52f9[_0x351252(0x12a)]();if(_0x123800)break;_0x2df18f+=_0x2c0aee['decode'](_0x2c251d,{'stream':!0x0});let _0x167249=_0x2df18f[_0x351252(0x10e)]('\x0a\x0a');_0x2df18f=_0x167249[_0x351252(0x145)]()||'';for(let _0x28743c of _0x167249){let _0x3b79eb=_0x28743c[_0x351252(0x10e)]('\x0a')['find'](_0x32c769=>_0x32c769[_0x351252(0x174)]('data:\x20'));if(!_0x3b79eb)continue;try{let _0x5e81f8=JSON[_0x351252(0x146)](_0x3b79eb[_0x351252(0x10f)](0x6));await u(_0x5e81f8);}catch(_0x120fca){Y(_0x351252(0x186)+_0x120fca);}}}Y(_0x351252(0x16a));}catch(_0x7318c5){Y('SSE\x20connection\x20error:\x20'+_0x7318c5);}await h(0xbb8);}}async function u(_0x424363){const _0x36fcab=a0_0x5ea37e;if(_0x424363['type']==='connected'){Y(_0x36fcab(0x11d)+Z+'\x22');return;}if(_0x424363[_0x36fcab(0x147)]===_0x36fcab(0x158)){if(Y(_0x36fcab(0x17b)+_0x424363[_0x36fcab(0x171)]+':\x20'+_0x424363[_0x36fcab(0x13d)][_0x36fcab(0x10f)](0x0,0x3c)),await K['notification']({'method':_0x36fcab(0x113),'params':{'content':_0x424363['message'],'meta':{'sender':_0x424363['from']||_0x36fcab(0x12b),'sender_id':_0x36fcab(0x122),'user':_0x424363[_0x36fcab(0x171)]||'hub','priority':'normal'}}}),_0x424363[_0x36fcab(0x15a)])await P('ack_inbox',{'alias':Z,'message_id':_0x424363[_0x36fcab(0x15a)]});return;}if(_0x424363[_0x36fcab(0x147)]===_0x36fcab(0x12f)||_0x424363[_0x36fcab(0x147)]==='broadcast'){Y('←\x20'+_0x424363['type']+_0x36fcab(0x137)+_0x424363[_0x36fcab(0x133)]+'\x20priority='+(_0x424363[_0x36fcab(0x185)]||'normal'));let _0x46f75c=await P('get_inbox',{'alias':Z,'limit':0x5});if(_0x46f75c?.['ok']&&_0x46f75c[_0x36fcab(0x157)]?.[_0x36fcab(0x15d)]>0x0)for(let _0x3931fb of _0x46f75c['messages']){let _0x22e883={'sender':_0x3931fb['from_session']||'hub','sender_id':_0x36fcab(0x122),'user':_0x3931fb[_0x36fcab(0x13b)]||'hub','task_id':_0x3931fb['id'],'priority':_0x3931fb[_0x36fcab(0x185)]||_0x36fcab(0x153)};k['set'](_0x3931fb['id'],_0x3931fb[_0x36fcab(0x13b)]||_0x36fcab(0x12b)),await K['notification']({'method':_0x36fcab(0x113),'params':{'content':_0x3931fb[_0x36fcab(0x18f)],'meta':_0x22e883}}),Y(_0x36fcab(0x144)+_0x3931fb['id']['slice'](0x0,0x8)+_0x36fcab(0x110)+_0x3931fb['from_session']+':\x20'+_0x3931fb[_0x36fcab(0x18f)][_0x36fcab(0x10f)](0x0,0x3c)),await P('ack_inbox',{'alias':Z,'message_id':_0x3931fb['id']});}}}async function S(){const _0x24a6f3=a0_0x5ea37e;let _0x209be3=new a0_0x3f30ea();await K['connect'](_0x209be3),Y(_0x24a6f3(0x14e)),Y(_0x24a6f3(0x11e)),v()[_0x24a6f3(0x167)](_0xc4a60f=>Y('SSE\x20fatal:\x20'+_0xc4a60f)),P(_0x24a6f3(0x177),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x47e6a7(),'hostname':a0_0x47e6a7(),'agent':'claude-code','project_dir':process[_0x24a6f3(0x16d)](),'tmux_name':f||void 0x0})[_0x24a6f3(0x163)](()=>Y('registered\x20as\x20\x22'+Z+_0x24a6f3(0x124)+w['slice'](0x0,0x8)+')'))[_0x24a6f3(0x167)](_0x581523=>Y(_0x24a6f3(0x126)+_0x581523)),setInterval(()=>{const _0x233743=_0x24a6f3;P(_0x233743(0x177),{'resume_id':w,'alias':Z,'status':_0x233743(0x130),'server':a0_0x47e6a7(),'hostname':a0_0x47e6a7(),'agent':'claude-code','project_dir':process[_0x233743(0x16d)](),'tmux_name':f||void 0x0})[_0x233743(0x167)](_0x5a118c=>Y('heartbeat\x20failed:\x20'+_0x5a118c));},0x2bf20),Y(_0x24a6f3(0x13e));}S()[a0_0x5ea37e(0x167)](_0x238457=>{const _0x2c02be=a0_0x5ea37e;Y(_0x2c02be(0x148)+_0x238457),process[_0x2c02be(0x134)](0x1);});async function N(){const _0x4181b9=a0_0x5ea37e;Y('shutting\x20down,\x20reporting\x20offline...'),await P(_0x4181b9(0x177),{'resume_id':w,'alias':Z,'status':'error','task':_0x4181b9(0x140)})[_0x4181b9(0x167)](()=>{}),process[_0x4181b9(0x134)](0x0);}process[a0_0x5ea37e(0x161)]['on'](a0_0x5ea37e(0x149),()=>N()),process['on'](a0_0x5ea37e(0x16f),()=>N()),process['on']('SIGINT',()=>N());
2
+ const a0_0x482dab=a0_0x3a46;(function(_0xa2f6f7,_0x29b33a){const _0x42cc28=a0_0x3a46,_0x340223=_0xa2f6f7();while(!![]){try{const _0x5e6744=-parseInt(_0x42cc28(0x22c))/0x1*(-parseInt(_0x42cc28(0x20a))/0x2)+-parseInt(_0x42cc28(0x1ee))/0x3+-parseInt(_0x42cc28(0x24a))/0x4+parseInt(_0x42cc28(0x1f5))/0x5+-parseInt(_0x42cc28(0x235))/0x6*(-parseInt(_0x42cc28(0x23f))/0x7)+parseInt(_0x42cc28(0x220))/0x8*(parseInt(_0x42cc28(0x20e))/0x9)+parseInt(_0x42cc28(0x270))/0xa;if(_0x5e6744===_0x29b33a)break;else _0x340223['push'](_0x340223['shift']());}catch(_0x35ab95){_0x340223['push'](_0x340223['shift']());}}}(a0_0x12c0,0x9c495));import{readFileSync as a0_0x5148b7,existsSync as a0_0x44ed97}from'fs';import{join as a0_0x5071bd}from'path';import{hostname as a0_0x4b3f82}from'os';import{execSync as a0_0x1c9097}from'child_process';import{Server as a0_0x11de6f}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0xd6970f}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x151fb5,CallToolRequestSchema as a0_0x1448c2}from'@modelcontextprotocol/sdk/types.js';function p(_0x1d8866){const _0x558907=a0_0x3a46;if(!a0_0x44ed97(_0x1d8866))return;for(let _0xf60870 of a0_0x5148b7(_0x1d8866,_0x558907(0x234))[_0x558907(0x206)]('\x0a')){let _0x221c4d=_0xf60870[_0x558907(0x26a)]();if(!_0x221c4d||_0x221c4d[_0x558907(0x22b)]('#'))continue;let _0x366a50=_0x221c4d[_0x558907(0x260)]('=');if(_0x366a50<0x0)continue;let _0x2f4d63=_0x221c4d[_0x558907(0x1f2)](0x0,_0x366a50)[_0x558907(0x26a)](),_0x270df1=_0x221c4d[_0x558907(0x1f2)](_0x366a50+0x1)[_0x558907(0x26a)]()[_0x558907(0x205)](/^["']|["']$/g,'');if(!process.env[_0x2f4d63])process.env[_0x2f4d63]=_0x270df1;}}var C=process.env.HOME||'~',T=a0_0x5071bd(C,a0_0x482dab(0x23d));p(a0_0x5071bd(T,a0_0x482dab(0x201)));var L=process[a0_0x482dab(0x218)]()['replace'](/\//g,'-');p(a0_0x5071bd(T,L,a0_0x482dab(0x201)));function U(){const _0x436f4f=a0_0x482dab;try{return a0_0x1c9097(_0x436f4f(0x213),{'encoding':_0x436f4f(0x234),'timeout':0x7d0})[_0x436f4f(0x26a)]();}catch{return'';}}function c(){const _0x97fcd1=a0_0x482dab;try{let _0x46a33e=a0_0x5071bd(C,_0x97fcd1(0x224),_0x97fcd1(0x1f1));if(a0_0x44ed97(_0x46a33e))return JSON[_0x97fcd1(0x265)](a0_0x5148b7(_0x46a33e,_0x97fcd1(0x234)));}catch{}return{};}var H=c(),D=process.env.COMMHUB_URL||H[a0_0x482dab(0x1f9)]||a0_0x482dab(0x245),f=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||f||a0_0x4b3f82(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||crypto[a0_0x482dab(0x228)](),X=process.env.COMMHUB_TOKEN||H['token']||'';function a0_0x3a46(_0x338e37,_0x4d59ff){_0x338e37=_0x338e37-0x1ec;const _0x12c0ef=a0_0x12c0();let _0x3a4605=_0x12c0ef[_0x338e37];return _0x3a4605;}function Y(_0x427fc1){const _0x2d1cb7=a0_0x482dab;let _0x405024=new Date()['toTimeString']()[_0x2d1cb7(0x1f2)](0x0,0x8);process['stderr'][_0x2d1cb7(0x25c)]('['+_0x405024+']\x20[commhub]\x20'+_0x427fc1+'\x0a');}function h(_0x9cdef7){return new Promise(_0x153e7f=>setTimeout(_0x153e7f,_0x9cdef7));}function a0_0x12c0(){const _0x22cdab=['decode','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','completed','Authorization','alias','session\x20disconnected','write','SSE\x20stream\x20ended,\x20reconnecting...','commhub_report_status','connect','indexOf','from_session','set','application/json','message_id','parse','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','statusText','connecting\x20to\x20','Target\x20session\x20alias','trim','normal','commhub_send_message','/events/','0.3.0','error','5830180zPkEoc','read','CommHub\x20init\x20failed:\x20','ENV:\x20URL=','notifications/claude/channel','object','2679492zSNJnb','SSE\x20connection\x20error:\x20','message','config.json','slice','init\x20failed:\x20','send_message','1634765tBBamH','Progress\x200-100','getReader','Reply\x20text\x20/\x20result\x20summary','hub','low',':\x20inbox_count=','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','claude-code','Priority\x20(default:\x20normal)','find','.env','send_task','POST','then','replace','split','content','2.0','commhub-channel','2NkGUBz','warning:\x20could\x20not\x20register:\x20','result','idle','3177eskKIT','type','working','messages','new_message','tmux\x20display-message\x20-p\x20\x27#S\x27','priority','initialize','join','/mcp','cwd','connected','commhub_get_all_status','tools/call','replied','blocked','body','starting\x20SSE\x20listener...','27928aAJkZP','from','Current\x20task\x20description','SSE\x20fatal:\x20','.anet','ack_inbox','commhub_reply','stringify','randomUUID','report_status','\x20priority=','startsWith','269203qeLvXd','SIGINT','inbox_count','\x20ALIAS=','SSE\x20error:\x20','status','application/json,\x20text/event-stream','get_inbox','utf-8','4710rChdMy','\x20from\x20','notification','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','high','commhub_send_task','ready\x20—\x20waiting\x20for\x20events','Session\x20alias:\x20','.claude/channels/commhub','number','1141KPCOMC','string','\x20CWD=','length','data:\x20','registered\x20as\x20\x22','http://127.0.0.1:9200','stdin','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','SIGTERM','get_all_status','4024556IcPoib','heartbeat\x20failed:\x20','\x20PROJECT_ENV=','SSE\x20connected\x20as\x20\x22','catch','failed','cancelled','Bearer\x20','text','in_progress','exit','→\x20injected\x20task\x20'];a0_0x12c0=function(){return _0x22cdab;};return a0_0x12c0();}Y(a0_0x482dab(0x273)+D+a0_0x482dab(0x22f)+Z+'\x20RESUME_ID='+w[a0_0x482dab(0x1f2)](0x0,0x8)+'...\x20TMUX='+(f||'none')+a0_0x482dab(0x241)+process['cwd']()+a0_0x482dab(0x24c)+L);var k=new Map(),K=new a0_0x11de6f({'name':a0_0x482dab(0x209),'version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':['Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>',a0_0x482dab(0x257),'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_0x482dab(0x23c)+Z][a0_0x482dab(0x216)]('\x0a')});K['setRequestHandler'](a0_0x151fb5,async()=>({'tools':[{'name':a0_0x482dab(0x226),'description':a0_0x482dab(0x238),'inputSchema':{'type':a0_0x482dab(0x1ed),'properties':{'task_id':{'type':'string','description':a0_0x482dab(0x266)},'text':{'type':'string','description':a0_0x482dab(0x1f8)},'status':{'type':a0_0x482dab(0x240),'enum':[a0_0x482dab(0x258),'failed',a0_0x482dab(0x250),a0_0x482dab(0x21d),a0_0x482dab(0x26f),a0_0x482dab(0x253)],'description':a0_0x482dab(0x247)}},'required':[a0_0x482dab(0x252)]}},{'name':a0_0x482dab(0x25e),'description':a0_0x482dab(0x1fc),'inputSchema':{'type':a0_0x482dab(0x1ed),'properties':{'status':{'type':a0_0x482dab(0x240),'enum':[a0_0x482dab(0x210),a0_0x482dab(0x20d),a0_0x482dab(0x21d),'error']},'task':{'type':a0_0x482dab(0x240),'description':a0_0x482dab(0x222)},'progress':{'type':a0_0x482dab(0x23e),'description':a0_0x482dab(0x1f6)}},'required':[a0_0x482dab(0x231)]}},{'name':a0_0x482dab(0x23a),'description':a0_0x482dab(0x1fd),'inputSchema':{'type':a0_0x482dab(0x1ed),'properties':{'alias':{'type':a0_0x482dab(0x240),'description':a0_0x482dab(0x269)},'task':{'type':a0_0x482dab(0x240),'description':'Task\x20content'},'priority':{'type':a0_0x482dab(0x240),'enum':[a0_0x482dab(0x239),a0_0x482dab(0x26b),a0_0x482dab(0x1fa)],'description':a0_0x482dab(0x1ff)}},'required':['alias','task']}},{'name':'commhub_send_message','description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0x482dab(0x1ed),'properties':{'alias':{'type':a0_0x482dab(0x240),'description':a0_0x482dab(0x269)},'message':{'type':'string','description':'Message\x20content'}},'required':[a0_0x482dab(0x25a),a0_0x482dab(0x1f0)]}},{'name':a0_0x482dab(0x21a),'description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':a0_0x482dab(0x1ed),'properties':{}}}]}));async function P(_0xc14539,_0x2043e6){const _0x11382e=a0_0x482dab;let _0x4e7826=await fetch(D+'/mcp',{'method':_0x11382e(0x203),'headers':{'Content-Type':_0x11382e(0x263),'Accept':_0x11382e(0x232),...X?{'Authorization':_0x11382e(0x251)+X}:{}},'body':JSON[_0x11382e(0x227)]({'jsonrpc':_0x11382e(0x208),'id':0x1,'method':_0x11382e(0x215),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x11382e(0x209),'version':_0x11382e(0x26e)}}})});if(!_0x4e7826['ok']){let _0x10a406=await _0x4e7826[_0x11382e(0x252)]();return Y(_0x11382e(0x272)+_0x4e7826['status']+'\x20'+_0x10a406['slice'](0x0,0x64)),{'ok':!0x1,'error':_0x11382e(0x1f3)+_0x4e7826['status']};}await _0x4e7826[_0x11382e(0x252)]();let _0x4f434b=(await(await fetch(D+_0x11382e(0x217),{'method':_0x11382e(0x203),'headers':{'Content-Type':'application/json','Accept':_0x11382e(0x232),...X?{'Authorization':'Bearer\x20'+X}:{}},'body':JSON['stringify']({'jsonrpc':_0x11382e(0x208),'id':0x2,'method':_0x11382e(0x21b),'params':{'name':_0xc14539,'arguments':_0x2043e6}})}))[_0x11382e(0x252)]())[_0x11382e(0x206)]('\x0a')[_0x11382e(0x200)](_0x61b85e=>_0x61b85e['startsWith'](_0x11382e(0x243)));if(_0x4f434b){let _0x5631c5=JSON[_0x11382e(0x265)](_0x4f434b['slice'](0x6));return _0x5631c5?.[_0x11382e(0x20c)]?.['content']?.[0x0]?.[_0x11382e(0x252)]?JSON[_0x11382e(0x265)](_0x5631c5['result'][_0x11382e(0x207)][0x0][_0x11382e(0x252)]):_0x5631c5;}return{'ok':!0x1,'error':'no\x20response'};}K['setRequestHandler'](a0_0x1448c2,async _0x1a201f=>{const _0x48cd88=a0_0x482dab;let {name:_0x382472,arguments:_0x158c04}=_0x1a201f['params'];if(_0x382472===_0x48cd88(0x226)){let {task_id:_0x82defc,text:_0x3a0c01,status:_0x4e0a99}=_0x158c04;if(_0x4e0a99===_0x48cd88(0x258)||_0x4e0a99===_0x48cd88(0x24f)||_0x4e0a99===_0x48cd88(0x250)){let _0x1e7d52=_0x4e0a99==='completed'?_0x48cd88(0x21c):_0x4e0a99,_0x14943b=_0x82defc?k['get'](_0x82defc)||_0x48cd88(0x1f9):_0x48cd88(0x1f9),_0x57fa97=await P('send_reply',{'alias':_0x14943b,'text':_0x3a0c01,'in_reply_to':_0x82defc||void 0x0,'status':_0x1e7d52,'from_session':Z});if(_0x82defc)k['delete'](_0x82defc);return{'content':[{'type':_0x48cd88(0x252),'text':JSON[_0x48cd88(0x227)](_0x57fa97)}]};}let _0x3f3cdb=await P('report_status',{'resume_id':w,'alias':Z,'status':_0x4e0a99===_0x48cd88(0x21d)?'blocked':_0x4e0a99==='error'?'error':_0x48cd88(0x210),'task':_0x3a0c01['slice'](0x0,0xc8),'output':_0x3a0c01});return{'content':[{'type':_0x48cd88(0x252),'text':JSON[_0x48cd88(0x227)](_0x3f3cdb)}]};}if(_0x382472===_0x48cd88(0x25e)){let {status:_0x5875a9,task:_0x4747a7,progress:_0x5a4baf}=_0x158c04,_0x5e0f2c=await P(_0x48cd88(0x229),{'resume_id':w,'alias':Z,'status':_0x5875a9,'task':_0x4747a7,'progress':_0x5a4baf});return{'content':[{'type':_0x48cd88(0x252),'text':JSON['stringify'](_0x5e0f2c)}]};}if(_0x382472===_0x48cd88(0x23a)){let {alias:_0x1f2848,task:_0x1b2334,priority:_0xbb8107}=_0x158c04,_0x26d1dd=await P(_0x48cd88(0x202),{'alias':_0x1f2848,'task':_0x1b2334,'priority':_0xbb8107||'normal','from_session':Z});return{'content':[{'type':_0x48cd88(0x252),'text':JSON[_0x48cd88(0x227)](_0x26d1dd)}]};}if(_0x382472===_0x48cd88(0x26c)){let {alias:_0x29da6a,message:_0x1e664e}=_0x158c04,_0x5b125d=await P(_0x48cd88(0x1f4),{'alias':_0x29da6a,'message':_0x1e664e,'from_session':Z});return{'content':[{'type':_0x48cd88(0x252),'text':JSON[_0x48cd88(0x227)](_0x5b125d)}]};}if(_0x382472===_0x48cd88(0x21a)){let _0xf4993e=await P(_0x48cd88(0x249),{});return{'content':[{'type':_0x48cd88(0x252),'text':JSON[_0x48cd88(0x227)](_0xf4993e)}]};}return{'content':[{'type':_0x48cd88(0x252),'text':JSON[_0x48cd88(0x227)]({'error':'unknown\x20tool'})}]};});async function v(){const _0xfe429b=a0_0x482dab;let _0x3dd609=D+_0xfe429b(0x26d)+encodeURIComponent(Z),_0x3aa6f5={};if(X)_0x3aa6f5[_0xfe429b(0x259)]=_0xfe429b(0x251)+X;Y(_0xfe429b(0x268)+_0x3dd609);while(!0x0){try{let _0x4437c0=await fetch(_0x3dd609,{'headers':_0x3aa6f5});if(!_0x4437c0['ok']){Y(_0xfe429b(0x230)+_0x4437c0[_0xfe429b(0x231)]+'\x20'+_0x4437c0[_0xfe429b(0x267)]),await h(0x1388);continue;}let _0x1ebfb2=_0x4437c0[_0xfe429b(0x21e)][_0xfe429b(0x1f7)](),_0xd73639=new TextDecoder(),_0x168e46='';while(!0x0){let {done:_0x6ede21,value:_0x480194}=await _0x1ebfb2[_0xfe429b(0x271)]();if(_0x6ede21)break;_0x168e46+=_0xd73639[_0xfe429b(0x256)](_0x480194,{'stream':!0x0});let _0x361444=_0x168e46['split']('\x0a\x0a');_0x168e46=_0x361444['pop']()||'';for(let _0x1f2d8a of _0x361444){let _0x10ead9=_0x1f2d8a['split']('\x0a')[_0xfe429b(0x200)](_0x14605c=>_0x14605c[_0xfe429b(0x22b)](_0xfe429b(0x243)));if(!_0x10ead9)continue;try{let _0x4eff38=JSON[_0xfe429b(0x265)](_0x10ead9[_0xfe429b(0x1f2)](0x6));await u(_0x4eff38);}catch(_0x35fb17){Y('parse\x20error:\x20'+_0x35fb17);}}}Y(_0xfe429b(0x25d));}catch(_0x39aa6f){Y(_0xfe429b(0x1ef)+_0x39aa6f);}await h(0xbb8);}}async function u(_0x21cb37){const _0x583dcb=a0_0x482dab;if(_0x21cb37[_0x583dcb(0x20f)]===_0x583dcb(0x219)){Y(_0x583dcb(0x24d)+Z+'\x22');return;}if(_0x21cb37['type']===_0x583dcb(0x212)){if(Y('←\x20message\x20from\x20'+_0x21cb37[_0x583dcb(0x221)]+':\x20'+_0x21cb37['message'][_0x583dcb(0x1f2)](0x0,0x3c)),await K[_0x583dcb(0x237)]({'method':_0x583dcb(0x1ec),'params':{'content':_0x21cb37['message'],'meta':{'sender':_0x21cb37[_0x583dcb(0x221)]||'hub','sender_id':'commhub','user':_0x21cb37[_0x583dcb(0x221)]||'hub','priority':'normal'}}}),_0x21cb37['message_id'])await P(_0x583dcb(0x225),{'alias':Z,'message_id':_0x21cb37[_0x583dcb(0x264)]});return;}if(_0x21cb37[_0x583dcb(0x20f)]==='new_task'||_0x21cb37['type']==='broadcast'){Y('←\x20'+_0x21cb37[_0x583dcb(0x20f)]+_0x583dcb(0x1fb)+_0x21cb37[_0x583dcb(0x22e)]+_0x583dcb(0x22a)+(_0x21cb37[_0x583dcb(0x214)]||'normal'));let _0x146f9f=await P(_0x583dcb(0x233),{'alias':Z,'limit':0x5});if(_0x146f9f?.['ok']&&_0x146f9f[_0x583dcb(0x211)]?.[_0x583dcb(0x242)]>0x0)for(let _0x90a2de of _0x146f9f[_0x583dcb(0x211)]){let _0x501142={'sender':_0x90a2de[_0x583dcb(0x261)]||_0x583dcb(0x1f9),'sender_id':'commhub','user':_0x90a2de[_0x583dcb(0x261)]||_0x583dcb(0x1f9),'task_id':_0x90a2de['id'],'priority':_0x90a2de[_0x583dcb(0x214)]||_0x583dcb(0x26b)};k[_0x583dcb(0x262)](_0x90a2de['id'],_0x90a2de[_0x583dcb(0x261)]||_0x583dcb(0x1f9)),await K[_0x583dcb(0x237)]({'method':_0x583dcb(0x1ec),'params':{'content':_0x90a2de[_0x583dcb(0x207)],'meta':_0x501142}}),Y(_0x583dcb(0x255)+_0x90a2de['id'][_0x583dcb(0x1f2)](0x0,0x8)+_0x583dcb(0x236)+_0x90a2de[_0x583dcb(0x261)]+':\x20'+_0x90a2de[_0x583dcb(0x207)][_0x583dcb(0x1f2)](0x0,0x3c)),await P(_0x583dcb(0x225),{'alias':Z,'message_id':_0x90a2de['id']});}}}async function S(){const _0x4b7982=a0_0x482dab;let _0xda2790=new a0_0xd6970f();await K[_0x4b7982(0x25f)](_0xda2790),Y('MCP\x20stdio\x20connected'),Y(_0x4b7982(0x21f)),v()[_0x4b7982(0x24e)](_0x192e36=>Y(_0x4b7982(0x223)+_0x192e36)),P(_0x4b7982(0x229),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x4b3f82(),'hostname':a0_0x4b3f82(),'agent':_0x4b7982(0x1fe),'project_dir':process[_0x4b7982(0x218)](),'tmux_name':f||void 0x0})[_0x4b7982(0x204)](()=>Y(_0x4b7982(0x244)+Z+'\x22\x20('+w['slice'](0x0,0x8)+')'))['catch'](_0x2de698=>Y(_0x4b7982(0x20b)+_0x2de698)),setInterval(()=>{const _0x38ee37=_0x4b7982;P('report_status',{'resume_id':w,'alias':Z,'status':_0x38ee37(0x20d),'server':a0_0x4b3f82(),'hostname':a0_0x4b3f82(),'agent':_0x38ee37(0x1fe),'project_dir':process[_0x38ee37(0x218)](),'tmux_name':f||void 0x0})[_0x38ee37(0x24e)](_0x22bd67=>Y(_0x38ee37(0x24b)+_0x22bd67));},0x2bf20),Y(_0x4b7982(0x23b));}S()['catch'](_0x53e09c=>{const _0x581a2f=a0_0x482dab;Y('fatal:\x20'+_0x53e09c),process[_0x581a2f(0x254)](0x1);});async function N(){const _0x14a2a7=a0_0x482dab;Y('shutting\x20down,\x20reporting\x20offline...'),await P(_0x14a2a7(0x229),{'resume_id':w,'alias':Z,'status':_0x14a2a7(0x26f),'task':_0x14a2a7(0x25b)})[_0x14a2a7(0x24e)](()=>{}),process[_0x14a2a7(0x254)](0x0);}process[a0_0x482dab(0x246)]['on']('end',()=>N()),process['on'](a0_0x482dab(0x248),()=>N()),process['on'](a0_0x482dab(0x22d),()=>N());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network",
3
- "version": "2.0.0-preview.36",
3
+ "version": "2.0.0-preview.38",
4
4
  "description": "AI Agent Network CLI \u2014 Create multi-agent networks with user management, network isolation, and 3 AI runtimes (Claude/Codex/MiniMax). 39 commands.",
5
5
  "type": "module",
6
6
  "main": "dist/src/client.js",