@sleep2agi/agent-network 1.3.1 → 1.3.2

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_0x210e6c=a0_0x10e5;(function(_0x17eb6d,_0x16dedf){const _0x2f62ff=a0_0x10e5,_0x297527=_0x17eb6d();while(!![]){try{const _0x497a1b=parseInt(_0x2f62ff(0x16d))/0x1+-parseInt(_0x2f62ff(0x16e))/0x2+parseInt(_0x2f62ff(0x16a))/0x3+-parseInt(_0x2f62ff(0x161))/0x4+-parseInt(_0x2f62ff(0x162))/0x5*(parseInt(_0x2f62ff(0x166))/0x6)+-parseInt(_0x2f62ff(0x140))/0x7*(parseInt(_0x2f62ff(0x13b))/0x8)+parseInt(_0x2f62ff(0x144))/0x9*(parseInt(_0x2f62ff(0x185))/0xa);if(_0x497a1b===_0x16dedf)break;else _0x297527['push'](_0x297527['shift']());}catch(_0x22a5df){_0x297527['push'](_0x297527['shift']());}}}(a0_0x1546,0x39e22));import{EventEmitter as a0_0xd2f12e}from'events';import{hostname as a0_0x1ec873}from'os';function a0_0x1546(){const _0x5e13b8=['broadcast','toString','parse','status','message','body','log','8zkSJqm','type','tools/call','running','sleep','2747899VOXCwF','replace','offline','text','90LkgEYe','abort','name','connect','emit','reconnectDelay','AbortError','new_message','SSE\x20error:\x20','agent','connected','application/json','connectSSE','messages','heartbeat\x20failed:\x20','SSE\x20connected','now','get_inbox','registered','inbox\x20error:\x20','POST','application/json,\x20text/event-stream','sdk','stringify','disconnected','min','cwd','report_status','idle','525420jpccKk','10RzubIg','getReader','url','split','62922Lfhnlk','Bearer\x20','resumeId','completed','1414137BBqKtU','read','send_task','274301DuEdWP','233988NrZVqE','get_all_status','toTimeString','error','from_session','catch','alias','ack_inbox','getAllStatus','content','SSE\x20reconnecting\x20in\x20','signal','heartbeatInterval','slice','decode','sdk-','send','text/event-stream','heartbeatTimer','token','call','SSE\x20failed:\x20','sseAbort','153290FPbfNt','reply','s...','Authorization'];a0_0x1546=function(){return _0x5e13b8;};return a0_0x1546();}class T extends a0_0xd2f12e{['url'];['alias'];[a0_0x210e6c(0x181)];[a0_0x210e6c(0x14d)];[a0_0x210e6c(0x168)];[a0_0x210e6c(0x17a)];[a0_0x210e6c(0x149)];[a0_0x210e6c(0x180)];['sseAbort'];[a0_0x210e6c(0x13e)]=!0x1;constructor(_0x46ddf4){const _0x55ece6=a0_0x210e6c;super();if(this['url']=_0x46ddf4[_0x55ece6(0x164)][_0x55ece6(0x141)](/\/$/,''),this[_0x55ece6(0x174)]=_0x46ddf4[_0x55ece6(0x174)],this[_0x55ece6(0x181)]=_0x46ddf4[_0x55ece6(0x181)],this[_0x55ece6(0x14d)]=_0x46ddf4[_0x55ece6(0x14d)]||_0x55ece6(0x15a),this[_0x55ece6(0x168)]=_0x55ece6(0x17d)+_0x46ddf4[_0x55ece6(0x174)]+'-'+Date[_0x55ece6(0x154)]()[_0x55ece6(0x135)](0x24),this['heartbeatInterval']=_0x46ddf4[_0x55ece6(0x17a)]??0x2bf20,this[_0x55ece6(0x149)]=_0x46ddf4[_0x55ece6(0x149)]??0xbb8,_0x46ddf4['autoConnect']!==!0x1)this[_0x55ece6(0x147)]();}[a0_0x210e6c(0x13a)](_0x1bbee6){const _0x4404ee=a0_0x210e6c;console[_0x4404ee(0x13a)]('['+new Date()[_0x4404ee(0x170)]()[_0x4404ee(0x17b)](0x0,0x8)+']\x20[commhub:'+this[_0x4404ee(0x174)]+']\x20'+_0x1bbee6);}async[a0_0x210e6c(0x182)](_0x43a8e7,_0x1f5933){const _0x26311d=a0_0x210e6c;let _0x467e89={'Content-Type':_0x26311d(0x14f),'Accept':_0x26311d(0x159)};if(this[_0x26311d(0x181)])_0x467e89[_0x26311d(0x188)]=_0x26311d(0x167)+this[_0x26311d(0x181)];let _0x3cb1c0=await(await fetch(this[_0x26311d(0x164)]+'/mcp',{'method':_0x26311d(0x158),'headers':_0x467e89,'body':JSON[_0x26311d(0x15b)]({'jsonrpc':'2.0','id':Date[_0x26311d(0x154)](),'method':_0x26311d(0x13d),'params':{'name':_0x43a8e7,'arguments':_0x1f5933}})}))[_0x26311d(0x143)](),_0x320254=_0x3cb1c0['match'](/data: (.+)/),_0x27126c=_0x320254?JSON[_0x26311d(0x136)](_0x320254[0x1]):JSON['parse'](_0x3cb1c0),_0xcec263=_0x27126c?.['result']?.[_0x26311d(0x177)]?.[0x0]?.[_0x26311d(0x143)];return _0xcec263?JSON[_0x26311d(0x136)](_0xcec263):_0x27126c;}async['connect'](){const _0x219d8e=a0_0x210e6c;if(this[_0x219d8e(0x13e)])return;this[_0x219d8e(0x13e)]=!0x0,await this['status']('idle'),this['log'](_0x219d8e(0x156)),this['heartbeatTimer']=setInterval(()=>{const _0x31d2cb=_0x219d8e;this[_0x31d2cb(0x137)](_0x31d2cb(0x160))[_0x31d2cb(0x173)](_0x25874b=>this[_0x31d2cb(0x13a)](_0x31d2cb(0x152)+_0x25874b[_0x31d2cb(0x138)]));},this[_0x219d8e(0x17a)]),this[_0x219d8e(0x150)]();}async['disconnect'](){const _0x123355=a0_0x210e6c;if(this[_0x123355(0x13e)]=!0x1,this[_0x123355(0x184)]?.[_0x123355(0x145)](),this[_0x123355(0x180)])clearInterval(this[_0x123355(0x180)]);await this[_0x123355(0x137)](_0x123355(0x142))[_0x123355(0x173)](()=>{}),this['log'](_0x123355(0x15c));}async[a0_0x210e6c(0x17e)](_0x25c897,_0x2f5c4c,_0x103904='normal'){const _0x9117a4=a0_0x210e6c;return this[_0x9117a4(0x182)](_0x9117a4(0x16c),{'alias':_0x25c897,'task':_0x2f5c4c,'priority':_0x103904,'from_session':this['alias']});}async[a0_0x210e6c(0x138)](_0x5b8487,_0x1345e9){const _0xe03ada=a0_0x210e6c;return this[_0xe03ada(0x182)]('send_message',{'alias':_0x5b8487,'message':_0x1345e9,'from_session':this[_0xe03ada(0x174)]});}async[a0_0x210e6c(0x186)](_0x3e0c2c,_0x3ce36d,_0x3fa863=a0_0x210e6c(0x169)){const _0x10dce8=a0_0x210e6c;return this[_0x10dce8(0x182)](_0x10dce8(0x186),{'task_id':_0x3e0c2c,'text':_0x3ce36d,'status':_0x3fa863});}async[a0_0x210e6c(0x137)](_0x3fe5aa,_0x544ad0){const _0x3930a4=a0_0x210e6c;return this[_0x3930a4(0x182)](_0x3930a4(0x15f),{'resume_id':this[_0x3930a4(0x168)],'alias':this[_0x3930a4(0x174)],'status':_0x3fe5aa,'server':a0_0x1ec873(),'hostname':a0_0x1ec873(),'agent':this['agent'],'project_dir':process[_0x3930a4(0x15e)](),..._0x544ad0});}async[a0_0x210e6c(0x176)](){const _0x416be8=a0_0x210e6c;return this[_0x416be8(0x182)](_0x416be8(0x16f),{});}async[a0_0x210e6c(0x134)](_0x254d5b,_0xbd6b31){const _0x4b1a5e=a0_0x210e6c;return this[_0x4b1a5e(0x182)](_0x4b1a5e(0x134),{'message':_0x254d5b,'filter_server':_0xbd6b31?.['server'],'filter_status':_0xbd6b31?.[_0x4b1a5e(0x137)]});}async[a0_0x210e6c(0x150)](){const _0x29916e=a0_0x210e6c;let _0x47b626=encodeURIComponent(this['alias']),_0x3e2e89=this[_0x29916e(0x164)]+'/events/'+_0x47b626,_0x44167f=this[_0x29916e(0x149)];while(this['running']){try{this[_0x29916e(0x184)]=new AbortController();let _0x1b46da={'Accept':_0x29916e(0x17f)};if(this['token'])_0x1b46da[_0x29916e(0x188)]='Bearer\x20'+this[_0x29916e(0x181)];let _0x9365bb=await fetch(_0x3e2e89,{'headers':_0x1b46da,'signal':this[_0x29916e(0x184)][_0x29916e(0x179)]});if(!_0x9365bb['ok']||!_0x9365bb[_0x29916e(0x139)]){this[_0x29916e(0x13a)](_0x29916e(0x183)+_0x9365bb[_0x29916e(0x137)]),await this[_0x29916e(0x13f)](_0x44167f),_0x44167f=Math[_0x29916e(0x15d)](_0x44167f*1.5,0xea60);continue;}_0x44167f=this['reconnectDelay'];let _0x468c21=_0x9365bb[_0x29916e(0x139)][_0x29916e(0x163)](),_0x31698d=new TextDecoder(),_0x232298='';while(this[_0x29916e(0x13e)]){let {done:_0x4af6f3,value:_0x49eff5}=await _0x468c21[_0x29916e(0x16b)]();if(_0x4af6f3)break;_0x232298+=_0x31698d[_0x29916e(0x17c)](_0x49eff5,{'stream':!0x0});let _0x34bdbc=_0x232298[_0x29916e(0x165)]('\x0a');_0x232298=_0x34bdbc['pop']()||'';for(let _0x4c6999 of _0x34bdbc){if(!_0x4c6999['startsWith']('data:\x20'))continue;try{let _0x370abf=JSON[_0x29916e(0x136)](_0x4c6999['slice'](0x6));if(_0x370abf[_0x29916e(0x13c)]===_0x29916e(0x14e)){this['log'](_0x29916e(0x153)),this[_0x29916e(0x148)](_0x29916e(0x14e));continue;}if(_0x370abf[_0x29916e(0x13c)]==='new_task'||_0x370abf[_0x29916e(0x13c)]===_0x29916e(0x14b)||_0x370abf[_0x29916e(0x13c)]==='broadcast')await this['processInbox']();}catch{}}}}catch(_0x329bbd){if(_0x329bbd[_0x29916e(0x146)]===_0x29916e(0x14a))break;this['emit'](_0x29916e(0x171),_0x329bbd),this[_0x29916e(0x13a)](_0x29916e(0x14c)+_0x329bbd['message']);}if(this[_0x29916e(0x13e)])this[_0x29916e(0x148)](_0x29916e(0x15c)),this['log'](_0x29916e(0x178)+_0x44167f/0x3e8+_0x29916e(0x187)),await this[_0x29916e(0x13f)](_0x44167f),_0x44167f=Math[_0x29916e(0x15d)](_0x44167f*1.5,0xea60);}}async['processInbox'](){const _0x499b27=a0_0x210e6c;try{let _0x4d641e=(await this[_0x499b27(0x182)](_0x499b27(0x155),{'alias':this['alias'],'limit':0xa}))?.[_0x499b27(0x151)]||[];for(let _0x432025 of _0x4d641e)await this[_0x499b27(0x182)](_0x499b27(0x175),{'alias':this[_0x499b27(0x174)],'message_id':_0x432025['id']}),this[_0x499b27(0x13a)]('←\x20'+_0x432025[_0x499b27(0x172)]+':\x20'+_0x432025[_0x499b27(0x177)][_0x499b27(0x17b)](0x0,0x3c)),this[_0x499b27(0x148)]('task',_0x432025),this[_0x499b27(0x148)](_0x499b27(0x138),_0x432025);}catch(_0x4d308a){this[_0x499b27(0x13a)](_0x499b27(0x157)+_0x4d308a[_0x499b27(0x138)]);}}[a0_0x210e6c(0x13f)](_0x3c14cb){return new Promise(_0x5dc6c4=>setTimeout(_0x5dc6c4,_0x3c14cb));}}var $=T;function a0_0x10e5(_0x25dacb,_0x55f91d){_0x25dacb=_0x25dacb-0x134;const _0x15462b=a0_0x1546();let _0x10e58d=_0x15462b[_0x25dacb];return _0x10e58d;}export{$ as default,T as CommHub};
1
+ const a0_0x3b1b2f=a0_0x52e3;(function(_0x4da3a8,_0x2caf17){const _0x57db01=a0_0x52e3,_0x47e9ba=_0x4da3a8();while(!![]){try{const _0x44633a=parseInt(_0x57db01(0x15f))/0x1+-parseInt(_0x57db01(0x182))/0x2+-parseInt(_0x57db01(0x172))/0x3+-parseInt(_0x57db01(0x179))/0x4+parseInt(_0x57db01(0x170))/0x5*(-parseInt(_0x57db01(0x17b))/0x6)+parseInt(_0x57db01(0x18e))/0x7*(-parseInt(_0x57db01(0x193))/0x8)+parseInt(_0x57db01(0x16d))/0x9;if(_0x44633a===_0x2caf17)break;else _0x47e9ba['push'](_0x47e9ba['shift']());}catch(_0x639493){_0x47e9ba['push'](_0x47e9ba['shift']());}}}(a0_0x5c5f,0x67642));function a0_0x5c5f(){const _0x4c55a9=['2251692eyjYvo','token','log','ack_inbox','application/json','type','normal','2665396RNiQJz','resumeId','4716456pRblJS','connect','get_all_status','heartbeatTimer','autoConnect','send_message','min','1002200TQNVBE','name','completed','getReader','read','/events/','Bearer\x20','decode','split','call','url','stringify','824635ucjqDZ','reconnectDelay','server','2.0','Authorization','16dFlFoY','broadcast','idle','task','getAllStatus','running','reply','SSE\x20failed:\x20','agent','sseAbort','inbox\x20error:\x20','disconnected','pop','sleep','send','sdk','catch','from_session','message','cwd','toString','toTimeString','POST','signal','content','new_message','s...','SSE\x20connected','emit','result','send_task','data:\x20','slice','parse',']\x20[commhub:','error','753646EXLpgu','connected','alias','application/json,\x20text/event-stream','status','tools/call','replace','text','now','body','report_status','get_inbox','abort','sdk-','23485887MudOaT','messages','processInbox','5davtaq','connectSSE'];a0_0x5c5f=function(){return _0x4c55a9;};return a0_0x5c5f();}import{EventEmitter as a0_0xca99c6}from'events';import{hostname as a0_0x4acdc7}from'os';class T extends a0_0xca99c6{[a0_0x3b1b2f(0x18c)];['alias'];[a0_0x3b1b2f(0x173)];[a0_0x3b1b2f(0x19b)];['resumeId'];['heartbeatInterval'];[a0_0x3b1b2f(0x18f)];['heartbeatTimer'];[a0_0x3b1b2f(0x19c)];[a0_0x3b1b2f(0x198)]=!0x1;constructor(_0x53c8cc){const _0x308957=a0_0x3b1b2f;super();if(this[_0x308957(0x18c)]=_0x53c8cc[_0x308957(0x18c)][_0x308957(0x165)](/\/$/,''),this[_0x308957(0x161)]=_0x53c8cc[_0x308957(0x161)],this[_0x308957(0x173)]=_0x53c8cc[_0x308957(0x173)],this[_0x308957(0x19b)]=_0x53c8cc['agent']||_0x308957(0x14a),this[_0x308957(0x17a)]=_0x308957(0x16c)+_0x53c8cc[_0x308957(0x161)]+'-'+Date[_0x308957(0x167)]()[_0x308957(0x14f)](0x24),this['heartbeatInterval']=_0x53c8cc['heartbeatInterval']??0x2bf20,this['reconnectDelay']=_0x53c8cc[_0x308957(0x18f)]??0xbb8,_0x53c8cc[_0x308957(0x17f)]!==!0x1)this['connect']();}[a0_0x3b1b2f(0x174)](_0x324a48){const _0xced6a4=a0_0x3b1b2f;console[_0xced6a4(0x174)]('['+new Date()[_0xced6a4(0x150)]()[_0xced6a4(0x15b)](0x0,0x8)+_0xced6a4(0x15d)+this[_0xced6a4(0x161)]+']\x20'+_0x324a48);}async[a0_0x3b1b2f(0x18b)](_0x1c2957,_0x226a8a){const _0xf5102f=a0_0x3b1b2f;let _0x2d6a15={'Content-Type':_0xf5102f(0x176),'Accept':_0xf5102f(0x162)};if(this[_0xf5102f(0x173)])_0x2d6a15['Authorization']='Bearer\x20'+this['token'];let _0x507f57=await(await fetch(this[_0xf5102f(0x18c)]+'/mcp',{'method':_0xf5102f(0x151),'headers':_0x2d6a15,'body':JSON[_0xf5102f(0x18d)]({'jsonrpc':_0xf5102f(0x191),'id':Date['now'](),'method':_0xf5102f(0x164),'params':{'name':_0x1c2957,'arguments':_0x226a8a}})}))['text'](),_0x1325e1=_0x507f57['match'](/data: (.+)/),_0x1c32a=_0x1325e1?JSON['parse'](_0x1325e1[0x1]):JSON['parse'](_0x507f57),_0x2908ae=_0x1c32a?.[_0xf5102f(0x158)]?.['content']?.[0x0]?.[_0xf5102f(0x166)];return _0x2908ae?JSON[_0xf5102f(0x15c)](_0x2908ae):_0x1c32a;}async[a0_0x3b1b2f(0x17c)](){const _0x618285=a0_0x3b1b2f;if(this['running'])return;this[_0x618285(0x198)]=!0x0,await this[_0x618285(0x163)](_0x618285(0x195)),this[_0x618285(0x174)]('registered'),this[_0x618285(0x17e)]=setInterval(()=>{const _0x32a388=_0x618285;this[_0x32a388(0x163)](_0x32a388(0x195))[_0x32a388(0x14b)](_0x203ab7=>this[_0x32a388(0x174)]('heartbeat\x20failed:\x20'+_0x203ab7[_0x32a388(0x14d)]));},this['heartbeatInterval']),this[_0x618285(0x171)]();}async['disconnect'](){const _0x3af043=a0_0x3b1b2f;if(this[_0x3af043(0x198)]=!0x1,this[_0x3af043(0x19c)]?.[_0x3af043(0x16b)](),this[_0x3af043(0x17e)])clearInterval(this[_0x3af043(0x17e)]);await this[_0x3af043(0x163)]('offline')[_0x3af043(0x14b)](()=>{}),this['log']('disconnected');}async[a0_0x3b1b2f(0x149)](_0x38e7e8,_0x5d3d49,_0x18e151=a0_0x3b1b2f(0x178)){const _0x193d95=a0_0x3b1b2f;return this[_0x193d95(0x18b)](_0x193d95(0x159),{'alias':_0x38e7e8,'task':_0x5d3d49,'priority':_0x18e151,'from_session':this[_0x193d95(0x161)]});}async[a0_0x3b1b2f(0x14d)](_0x2caee2,_0xeb9b6d){const _0x1c5059=a0_0x3b1b2f;return this[_0x1c5059(0x18b)](_0x1c5059(0x180),{'alias':_0x2caee2,'message':_0xeb9b6d,'from_session':this[_0x1c5059(0x161)]});}async[a0_0x3b1b2f(0x199)](_0x4393a5,_0x3c441b,_0x284207=a0_0x3b1b2f(0x184)){const _0x3f0141=a0_0x3b1b2f;return this[_0x3f0141(0x18b)](_0x3f0141(0x199),{'task_id':_0x4393a5,'text':_0x3c441b,'status':_0x284207});}async[a0_0x3b1b2f(0x163)](_0x1770b3,_0x1c25ad){const _0x547ad7=a0_0x3b1b2f;return this['call'](_0x547ad7(0x169),{'resume_id':this['resumeId'],'alias':this['alias'],'status':_0x1770b3,'server':a0_0x4acdc7(),'hostname':a0_0x4acdc7(),'agent':this[_0x547ad7(0x19b)],'project_dir':process[_0x547ad7(0x14e)](),..._0x1c25ad});}async[a0_0x3b1b2f(0x197)](){const _0x585e4b=a0_0x3b1b2f;return this[_0x585e4b(0x18b)](_0x585e4b(0x17d),{});}async[a0_0x3b1b2f(0x194)](_0xea1699,_0x1e84d6){const _0x2d5b8b=a0_0x3b1b2f;return this[_0x2d5b8b(0x18b)](_0x2d5b8b(0x194),{'message':_0xea1699,'filter_server':_0x1e84d6?.[_0x2d5b8b(0x190)],'filter_status':_0x1e84d6?.['status']});}async[a0_0x3b1b2f(0x171)](){const _0x48ba2f=a0_0x3b1b2f;let _0x53bbb8=encodeURIComponent(this[_0x48ba2f(0x161)]),_0x97d6e7=this[_0x48ba2f(0x18c)]+_0x48ba2f(0x187)+_0x53bbb8,_0x172233=this[_0x48ba2f(0x18f)];while(this[_0x48ba2f(0x198)]){try{this['sseAbort']=new AbortController();let _0x275446={'Accept':'text/event-stream'};if(this[_0x48ba2f(0x173)])_0x275446[_0x48ba2f(0x192)]=_0x48ba2f(0x188)+this['token'];let _0x1f3dfe=await fetch(_0x97d6e7,{'headers':_0x275446,'signal':this['sseAbort'][_0x48ba2f(0x152)]});if(!_0x1f3dfe['ok']||!_0x1f3dfe[_0x48ba2f(0x168)]){this[_0x48ba2f(0x174)](_0x48ba2f(0x19a)+_0x1f3dfe[_0x48ba2f(0x163)]),await this[_0x48ba2f(0x1a0)](_0x172233),_0x172233=Math[_0x48ba2f(0x181)](_0x172233*1.5,0xea60);continue;}_0x172233=this[_0x48ba2f(0x18f)];let _0x287667=_0x1f3dfe[_0x48ba2f(0x168)][_0x48ba2f(0x185)](),_0x5693f2=new TextDecoder(),_0x298881='';while(this[_0x48ba2f(0x198)]){let {done:_0x443394,value:_0x363cf5}=await _0x287667[_0x48ba2f(0x186)]();if(_0x443394)break;_0x298881+=_0x5693f2[_0x48ba2f(0x189)](_0x363cf5,{'stream':!0x0});let _0x47c416=_0x298881[_0x48ba2f(0x18a)]('\x0a');_0x298881=_0x47c416[_0x48ba2f(0x19f)]()||'';for(let _0x45fd46 of _0x47c416){if(!_0x45fd46['startsWith'](_0x48ba2f(0x15a)))continue;try{let _0x46340b=JSON[_0x48ba2f(0x15c)](_0x45fd46['slice'](0x6));if(_0x46340b[_0x48ba2f(0x177)]===_0x48ba2f(0x160)){this[_0x48ba2f(0x174)](_0x48ba2f(0x156)),this[_0x48ba2f(0x157)](_0x48ba2f(0x160));continue;}if(_0x46340b[_0x48ba2f(0x177)]==='new_task'||_0x46340b[_0x48ba2f(0x177)]===_0x48ba2f(0x154)||_0x46340b['type']==='broadcast')await this['processInbox']();}catch{}}}}catch(_0x3b6f10){if(_0x3b6f10[_0x48ba2f(0x183)]==='AbortError')break;this[_0x48ba2f(0x157)](_0x48ba2f(0x15e),_0x3b6f10),this[_0x48ba2f(0x174)]('SSE\x20error:\x20'+_0x3b6f10[_0x48ba2f(0x14d)]);}if(this[_0x48ba2f(0x198)])this[_0x48ba2f(0x157)](_0x48ba2f(0x19e)),this[_0x48ba2f(0x174)]('SSE\x20reconnecting\x20in\x20'+_0x172233/0x3e8+_0x48ba2f(0x155)),await this[_0x48ba2f(0x1a0)](_0x172233),_0x172233=Math[_0x48ba2f(0x181)](_0x172233*1.5,0xea60);}}async[a0_0x3b1b2f(0x16f)](){const _0x108960=a0_0x3b1b2f;try{let _0x254b7b=(await this[_0x108960(0x18b)](_0x108960(0x16a),{'alias':this[_0x108960(0x161)],'limit':0xa}))?.[_0x108960(0x16e)]||[];for(let _0x2b8cbd of _0x254b7b)await this['call'](_0x108960(0x175),{'alias':this['alias'],'message_id':_0x2b8cbd['id']}),this[_0x108960(0x174)]('←\x20'+_0x2b8cbd[_0x108960(0x14c)]+':\x20'+_0x2b8cbd[_0x108960(0x153)][_0x108960(0x15b)](0x0,0x3c)),this['emit'](_0x108960(0x196),_0x2b8cbd),this[_0x108960(0x157)](_0x108960(0x14d),_0x2b8cbd);}catch(_0x20dcd8){this['log'](_0x108960(0x19d)+_0x20dcd8[_0x108960(0x14d)]);}}[a0_0x3b1b2f(0x1a0)](_0x1d0441){return new Promise(_0x152437=>setTimeout(_0x152437,_0x1d0441));}}var $=T;function a0_0x52e3(_0x60aa04,_0x4058af){_0x60aa04=_0x60aa04-0x149;const _0x5c5f52=a0_0x5c5f();let _0x52e35d=_0x5c5f52[_0x60aa04];return _0x52e35d;}export{$ as default,T as CommHub};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env bun
2
- const a0_0x7bd10b=a0_0x3ee5;(function(_0x2e8592,_0x293fc5){const _0x1c784c=a0_0x3ee5,_0x4f98e9=_0x2e8592();while(!![]){try{const _0x1abba0=parseInt(_0x1c784c(0xd0))/0x1+parseInt(_0x1c784c(0xcf))/0x2*(-parseInt(_0x1c784c(0xf9))/0x3)+-parseInt(_0x1c784c(0xa7))/0x4*(-parseInt(_0x1c784c(0xc4))/0x5)+-parseInt(_0x1c784c(0x100))/0x6*(-parseInt(_0x1c784c(0xf5))/0x7)+parseInt(_0x1c784c(0xdc))/0x8*(-parseInt(_0x1c784c(0xb8))/0x9)+-parseInt(_0x1c784c(0xb5))/0xa*(parseInt(_0x1c784c(0xe5))/0xb)+parseInt(_0x1c784c(0x10e))/0xc;if(_0x1abba0===_0x293fc5)break;else _0x4f98e9['push'](_0x4f98e9['shift']());}catch(_0xe91d71){_0x4f98e9['push'](_0x4f98e9['shift']());}}}(a0_0x4377,0xab46d));import{readFileSync as a0_0x299b2d,existsSync as a0_0x148ace}from'fs';import{join as a0_0x3c1be8}from'path';import{hostname as a0_0x3437a5}from'os';import{execSync as a0_0x2ac74b}from'child_process';import{Server as a0_0x308cee}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x470543}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x3f8cdb,CallToolRequestSchema as a0_0x4b6470}from'@modelcontextprotocol/sdk/types.js';function h(_0xd4e24a){const _0x520342=a0_0x3ee5;if(!a0_0x148ace(_0xd4e24a))return;for(let _0xe95ed of a0_0x299b2d(_0xd4e24a,_0x520342(0x10b))[_0x520342(0x10d)]('\x0a')){let _0x431acb=_0xe95ed[_0x520342(0xfa)]();if(!_0x431acb||_0x431acb[_0x520342(0xca)]('#'))continue;let _0xddd449=_0x431acb[_0x520342(0x109)]('=');if(_0xddd449<0x0)continue;let _0x2fb32d=_0x431acb[_0x520342(0xff)](0x0,_0xddd449)[_0x520342(0xfa)](),_0x8be3c9=_0x431acb['slice'](_0xddd449+0x1)[_0x520342(0xfa)]()[_0x520342(0xef)](/^["']|["']$/g,'');if(!process.env[_0x2fb32d])process.env[_0x2fb32d]=_0x8be3c9;}}var R=process.env.HOME||'~',p=a0_0x3c1be8(R,a0_0x7bd10b(0x96));h(a0_0x3c1be8(p,a0_0x7bd10b(0x97)));var C=process[a0_0x7bd10b(0x10f)]()[a0_0x7bd10b(0xef)](/\//g,'-');h(a0_0x3c1be8(p,C,a0_0x7bd10b(0x97)));function _(){const _0x40c106=a0_0x7bd10b;try{return a0_0x2ac74b(_0x40c106(0xb6),{'encoding':_0x40c106(0x10b),'timeout':0x7d0})[_0x40c106(0xfa)]();}catch{return'';}}function E(){const _0x2dbd1f=a0_0x7bd10b;try{let _0x5cb1a9=a0_0x3c1be8(R,_0x2dbd1f(0x101),_0x2dbd1f(0xf7));if(a0_0x148ace(_0x5cb1a9))return JSON['parse'](a0_0x299b2d(_0x5cb1a9,_0x2dbd1f(0x10b)));}catch{}return{};}var T=E(),k=process.env.COMMHUB_URL||T[a0_0x7bd10b(0xf0)]||'http://127.0.0.1:9200',q=process.env.COMMHUB_TMUX||_(),Z=process.env.COMMHUB_ALIAS||q||a0_0x3437a5(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||crypto[a0_0x7bd10b(0xe6)](),X=process.env.COMMHUB_TOKEN||T[a0_0x7bd10b(0xce)]||'';function V(_0x4fd1dc){const _0x3285ad=a0_0x7bd10b;let _0x18f0ba=new Date()[_0x3285ad(0xbb)]()[_0x3285ad(0xff)](0x0,0x8);process['stderr'][_0x3285ad(0xb7)]('['+_0x18f0ba+_0x3285ad(0xee)+_0x4fd1dc+'\x0a');}function O(_0x21fdd0){return new Promise(_0x2dd5c4=>setTimeout(_0x2dd5c4,_0x21fdd0));}V(a0_0x7bd10b(0xd8)+k+'\x20ALIAS='+Z+a0_0x7bd10b(0xf4)+w[a0_0x7bd10b(0xff)](0x0,0x8)+'...\x20TMUX='+(q||a0_0x7bd10b(0xdd))+a0_0x7bd10b(0xd6)+process['cwd']()+a0_0x7bd10b(0xd5)+C);var K=new a0_0x308cee({'name':a0_0x7bd10b(0x9b),'version':a0_0x7bd10b(0xae)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x7bd10b(0xba),'These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.',a0_0x7bd10b(0x8e),a0_0x7bd10b(0x95)+Z][a0_0x7bd10b(0xc1)]('\x0a')});function a0_0x4377(){const _0x3ef04c=['broadcast','POST','commhub','working','Task\x20status','idle','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','/events/','notifications/claude/channel','warning:\x20could\x20not\x20register:\x20','statusText','SSE\x20fatal:\x20','body','Session\x20alias:\x20','.claude/channels/commhub','.env','initialize','parse','messages','commhub-channel','data:\x20','registered\x20as\x20\x22','SSE\x20connection\x20error:\x20','\x20priority=','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','heartbeat\x20failed:\x20','application/json','commhub_send_task','result','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','Priority\x20(default:\x20normal)','1384hPNUcg','find','fatal:\x20','type','send_task','commhub_get_all_status','message_id','0.3.0','commhub_reply','content','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','priority','SSE\x20error:\x20','Progress\x200-100','770470glTpfK','tmux\x20display-message\x20-p\x20\x27#S\x27','write','10089621LxOKQp','new_task','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','toTimeString','completed','starting\x20SSE\x20listener...','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','error','end','join','Target\x20session\x20alias','notification','9865vYMnwK','commhub_report_status','get_all_status','report_status','from_session','Authorization','startsWith','status','get_inbox','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','token','166REvHbf','742018MAfUev','Current\x20task\x20description','ack_inbox','catch','commhub_send_message','\x20PROJECT_ENV=','\x20CWD=','from','ENV:\x20URL=','normal','←\x20message\x20from\x20',':\x20inbox_count=','8ayJXxX','none','pop','exit','session\x20disconnected','shutting\x20down,\x20reporting\x20offline...','stringify','alias','connecting\x20to\x20','11qJDEDG','randomUUID','SIGTERM','number','SSE\x20stream\x20ended,\x20reconnecting...','tools/call','application/json,\x20text/event-stream','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','task',']\x20[commhub]\x20','replace','hub','then','SIGINT','/mcp','\x20RESUME_ID=','2930571kMZijt','setRequestHandler','config.json','high','31389EGEFOm','trim','blocked','string','2.0','Reply\x20text\x20/\x20result\x20summary','slice','18npAXlP','.anet','CommHub\x20init\x20failed:\x20','no\x20response','getReader','parse\x20error:\x20','unknown\x20tool','object','length','indexOf','params','utf-8','text','split','1049508tOWfMw','cwd'];a0_0x4377=function(){return _0x3ef04c;};return a0_0x4377();}K[a0_0x7bd10b(0xf6)](a0_0x3f8cdb,async()=>({'tools':[{'name':a0_0x7bd10b(0xaf),'description':a0_0x7bd10b(0xcd),'inputSchema':{'type':a0_0x7bd10b(0x107),'properties':{'task_id':{'type':a0_0x7bd10b(0xfc),'description':a0_0x7bd10b(0xbe)},'text':{'type':'string','description':a0_0x7bd10b(0xfe)},'status':{'type':a0_0x7bd10b(0xfc),'enum':[a0_0x7bd10b(0xbc),a0_0x7bd10b(0xfb),a0_0x7bd10b(0xbf),'in_progress'],'description':a0_0x7bd10b(0x8c)}},'required':[a0_0x7bd10b(0x10c)]}},{'name':a0_0x7bd10b(0xc5),'description':a0_0x7bd10b(0xa0),'inputSchema':{'type':a0_0x7bd10b(0x107),'properties':{'status':{'type':a0_0x7bd10b(0xfc),'enum':[a0_0x7bd10b(0x8b),a0_0x7bd10b(0x8d),a0_0x7bd10b(0xfb),'error']},'task':{'type':a0_0x7bd10b(0xfc),'description':a0_0x7bd10b(0xd1)},'progress':{'type':a0_0x7bd10b(0xe8),'description':a0_0x7bd10b(0xb4)}},'required':[a0_0x7bd10b(0xcb)]}},{'name':a0_0x7bd10b(0xa3),'description':a0_0x7bd10b(0xb1),'inputSchema':{'type':a0_0x7bd10b(0x107),'properties':{'alias':{'type':a0_0x7bd10b(0xfc),'description':a0_0x7bd10b(0xc2)},'task':{'type':a0_0x7bd10b(0xfc),'description':'Task\x20content'},'priority':{'type':a0_0x7bd10b(0xfc),'enum':[a0_0x7bd10b(0xf8),a0_0x7bd10b(0xd9),'low'],'description':a0_0x7bd10b(0xa6)}},'required':[a0_0x7bd10b(0xe3),a0_0x7bd10b(0xed)]}},{'name':a0_0x7bd10b(0xd4),'description':a0_0x7bd10b(0xec),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x7bd10b(0xfc),'description':a0_0x7bd10b(0xc2)},'message':{'type':a0_0x7bd10b(0xfc),'description':'Message\x20content'}},'required':[a0_0x7bd10b(0xe3),'message']}},{'name':a0_0x7bd10b(0xac),'description':a0_0x7bd10b(0xa5),'inputSchema':{'type':a0_0x7bd10b(0x107),'properties':{}}}]}));async function P(_0x175755,_0x1cbe7f){const _0x17572c=a0_0x7bd10b;let _0x5154a4=await fetch(k+_0x17572c(0xf3),{'method':_0x17572c(0x89),'headers':{'Content-Type':_0x17572c(0xa2),'Accept':_0x17572c(0xeb),...X?{'Authorization':'Bearer\x20'+X}:{}},'body':JSON['stringify']({'jsonrpc':_0x17572c(0xfd),'id':0x1,'method':_0x17572c(0x98),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x17572c(0x9b),'version':_0x17572c(0xae)}}})});if(!_0x5154a4['ok']){let _0x31020b=await _0x5154a4[_0x17572c(0x10c)]();return V(_0x17572c(0x102)+_0x5154a4[_0x17572c(0xcb)]+'\x20'+_0x31020b[_0x17572c(0xff)](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x5154a4[_0x17572c(0xcb)]};}await _0x5154a4[_0x17572c(0x10c)]();let _0x39941b=(await(await fetch(k+_0x17572c(0xf3),{'method':'POST','headers':{'Content-Type':'application/json','Accept':_0x17572c(0xeb),...X?{'Authorization':'Bearer\x20'+X}:{}},'body':JSON[_0x17572c(0xe2)]({'jsonrpc':'2.0','id':0x2,'method':_0x17572c(0xea),'params':{'name':_0x175755,'arguments':_0x1cbe7f}})}))[_0x17572c(0x10c)]())[_0x17572c(0x10d)]('\x0a')[_0x17572c(0xa8)](_0x5af26c=>_0x5af26c[_0x17572c(0xca)]('data:\x20'));if(_0x39941b){let _0x276a04=JSON['parse'](_0x39941b[_0x17572c(0xff)](0x6));return _0x276a04?.['result']?.['content']?.[0x0]?.[_0x17572c(0x10c)]?JSON[_0x17572c(0x99)](_0x276a04[_0x17572c(0xa4)][_0x17572c(0xb0)][0x0]['text']):_0x276a04;}return{'ok':!0x1,'error':_0x17572c(0x103)};}K[a0_0x7bd10b(0xf6)](a0_0x4b6470,async _0x3da9bb=>{const _0x443782=a0_0x7bd10b;let {name:_0x3606f1,arguments:_0x12ba41}=_0x3da9bb[_0x443782(0x10a)];if(_0x3606f1===_0x443782(0xaf)){let {task_id:_0x2c5ebc,text:_0x4d4b33,status:_0x5cc139}=_0x12ba41;if(_0x5cc139==='completed'){let _0xe528c1=await P('report_completion',{'alias':Z,'task':_0x2c5ebc||_0x443782(0xed),'result':_0x4d4b33});return{'content':[{'type':'text','text':JSON[_0x443782(0xe2)](_0xe528c1)}]};}let _0x38f1de=await P(_0x443782(0xc7),{'resume_id':w,'alias':Z,'status':_0x5cc139==='blocked'?'blocked':_0x5cc139===_0x443782(0xbf)?_0x443782(0xbf):_0x443782(0x8b),'task':_0x4d4b33[_0x443782(0xff)](0x0,0xc8),'output':_0x4d4b33});return{'content':[{'type':_0x443782(0x10c),'text':JSON['stringify'](_0x38f1de)}]};}if(_0x3606f1==='commhub_report_status'){let {status:_0xc2f31b,task:_0x575460,progress:_0x3a0205}=_0x12ba41,_0x4debd5=await P(_0x443782(0xc7),{'resume_id':w,'alias':Z,'status':_0xc2f31b,'task':_0x575460,'progress':_0x3a0205});return{'content':[{'type':_0x443782(0x10c),'text':JSON[_0x443782(0xe2)](_0x4debd5)}]};}if(_0x3606f1===_0x443782(0xa3)){let {alias:_0x44cf4c,task:_0x4c6a22,priority:_0x3df392}=_0x12ba41,_0x18f429=await P(_0x443782(0xab),{'alias':_0x44cf4c,'task':_0x4c6a22,'priority':_0x3df392||_0x443782(0xd9),'from_session':Z});return{'content':[{'type':_0x443782(0x10c),'text':JSON[_0x443782(0xe2)](_0x18f429)}]};}if(_0x3606f1==='commhub_send_message'){let {alias:_0x3b6376,message:_0x5be07d}=_0x12ba41,_0x1e32da=await P('send_message',{'alias':_0x3b6376,'message':_0x5be07d,'from_session':Z});return{'content':[{'type':_0x443782(0x10c),'text':JSON[_0x443782(0xe2)](_0x1e32da)}]};}if(_0x3606f1===_0x443782(0xac)){let _0xc9ba9a=await P(_0x443782(0xc6),{});return{'content':[{'type':_0x443782(0x10c),'text':JSON[_0x443782(0xe2)](_0xc9ba9a)}]};}return{'content':[{'type':_0x443782(0x10c),'text':JSON[_0x443782(0xe2)]({'error':_0x443782(0x106)})}]};});async function c(){const _0x1b7c83=a0_0x7bd10b;let _0x3b8c60=k+_0x1b7c83(0x8f)+encodeURIComponent(Z),_0x2202e3={};if(X)_0x2202e3[_0x1b7c83(0xc9)]='Bearer\x20'+X;V(_0x1b7c83(0xe4)+_0x3b8c60);while(!0x0){try{let _0x5f2962=await fetch(_0x3b8c60,{'headers':_0x2202e3});if(!_0x5f2962['ok']){V(_0x1b7c83(0xb3)+_0x5f2962[_0x1b7c83(0xcb)]+'\x20'+_0x5f2962[_0x1b7c83(0x92)]),await O(0x1388);continue;}let _0x48f9b2=_0x5f2962[_0x1b7c83(0x94)][_0x1b7c83(0x104)](),_0x51b7e0=new TextDecoder(),_0x309a1c='';while(!0x0){let {done:_0x2d6f28,value:_0x1d1988}=await _0x48f9b2['read']();if(_0x2d6f28)break;_0x309a1c+=_0x51b7e0['decode'](_0x1d1988,{'stream':!0x0});let _0x3e0ab8=_0x309a1c[_0x1b7c83(0x10d)]('\x0a\x0a');_0x309a1c=_0x3e0ab8[_0x1b7c83(0xde)]()||'';for(let _0x4f7786 of _0x3e0ab8){let _0x1c6370=_0x4f7786['split']('\x0a')[_0x1b7c83(0xa8)](_0x26c7ba=>_0x26c7ba[_0x1b7c83(0xca)](_0x1b7c83(0x9c)));if(!_0x1c6370)continue;try{let _0x587b7b=JSON[_0x1b7c83(0x99)](_0x1c6370[_0x1b7c83(0xff)](0x6));await v(_0x587b7b);}catch(_0xb5c068){V(_0x1b7c83(0x105)+_0xb5c068);}}}V(_0x1b7c83(0xe9));}catch(_0x188bf5){V(_0x1b7c83(0x9e)+_0x188bf5);}await O(0xbb8);}}function a0_0x3ee5(_0x14e395,_0x187862){_0x14e395=_0x14e395-0x89;const _0x43774e=a0_0x4377();let _0x3ee5cf=_0x43774e[_0x14e395];return _0x3ee5cf;}async function v(_0x87bb49){const _0x301510=a0_0x7bd10b;if(_0x87bb49[_0x301510(0xaa)]==='connected'){V('SSE\x20connected\x20as\x20\x22'+Z+'\x22');return;}if(_0x87bb49['type']==='new_message'){if(V(_0x301510(0xda)+_0x87bb49[_0x301510(0xd7)]+':\x20'+_0x87bb49['message'][_0x301510(0xff)](0x0,0x3c)),await K[_0x301510(0xc3)]({'method':_0x301510(0x90),'params':{'content':_0x87bb49['message'],'meta':{'sender':_0x87bb49[_0x301510(0xd7)]||_0x301510(0xf0),'sender_id':'commhub','user':_0x87bb49['from']||_0x301510(0xf0),'priority':_0x301510(0xd9)}}}),_0x87bb49[_0x301510(0xad)])await P(_0x301510(0xd2),{'alias':Z,'message_id':_0x87bb49[_0x301510(0xad)]});return;}if(_0x87bb49[_0x301510(0xaa)]===_0x301510(0xb9)||_0x87bb49[_0x301510(0xaa)]===_0x301510(0x110)){V('←\x20'+_0x87bb49['type']+_0x301510(0xdb)+_0x87bb49['inbox_count']+_0x301510(0x9f)+(_0x87bb49['priority']||_0x301510(0xd9)));let _0x436d96=await P(_0x301510(0xcc),{'alias':Z,'limit':0x5});if(_0x436d96?.['ok']&&_0x436d96[_0x301510(0x9a)]?.[_0x301510(0x108)]>0x0)for(let _0x4ca086 of _0x436d96['messages']){let _0x24515a={'sender':_0x4ca086[_0x301510(0xc8)]||_0x301510(0xf0),'sender_id':_0x301510(0x8a),'user':_0x4ca086[_0x301510(0xc8)]||_0x301510(0xf0),'task_id':_0x4ca086['id'],'priority':_0x4ca086[_0x301510(0xb2)]||_0x301510(0xd9)};await K[_0x301510(0xc3)]({'method':_0x301510(0x90),'params':{'content':_0x4ca086['content'],'meta':_0x24515a}}),V('→\x20injected\x20task\x20'+_0x4ca086['id']['slice'](0x0,0x8)+'\x20from\x20'+_0x4ca086[_0x301510(0xc8)]+':\x20'+_0x4ca086[_0x301510(0xb0)]['slice'](0x0,0x3c)),await P(_0x301510(0xd2),{'alias':Z,'message_id':_0x4ca086['id']});}}}async function u(){const _0x3aa64c=a0_0x7bd10b;let _0xe120d8=new a0_0x470543();await K['connect'](_0xe120d8),V('MCP\x20stdio\x20connected'),V(_0x3aa64c(0xbd)),c()[_0x3aa64c(0xd3)](_0x165a7b=>V(_0x3aa64c(0x93)+_0x165a7b)),P('report_status',{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x3437a5(),'hostname':a0_0x3437a5(),'agent':'claude-code','project_dir':process[_0x3aa64c(0x10f)](),'tmux_name':q||void 0x0})[_0x3aa64c(0xf1)](()=>V(_0x3aa64c(0x9d)+Z+'\x22\x20('+w[_0x3aa64c(0xff)](0x0,0x8)+')'))[_0x3aa64c(0xd3)](_0x3787ac=>V(_0x3aa64c(0x91)+_0x3787ac)),setInterval(()=>{const _0xbab2cd=_0x3aa64c;P(_0xbab2cd(0xc7),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x3437a5(),'hostname':a0_0x3437a5(),'agent':'claude-code','project_dir':process[_0xbab2cd(0x10f)](),'tmux_name':q||void 0x0})[_0xbab2cd(0xd3)](_0x518105=>V(_0xbab2cd(0xa1)+_0x518105));},0x2bf20),V('ready\x20—\x20waiting\x20for\x20events');}u()[a0_0x7bd10b(0xd3)](_0x35ecd3=>{const _0x5c5ce6=a0_0x7bd10b;V(_0x5c5ce6(0xa9)+_0x35ecd3),process['exit'](0x1);});async function f(){const _0x44d0c6=a0_0x7bd10b;V(_0x44d0c6(0xe1)),await P(_0x44d0c6(0xc7),{'resume_id':w,'alias':Z,'status':_0x44d0c6(0xbf),'task':_0x44d0c6(0xe0)})[_0x44d0c6(0xd3)](()=>{}),process[_0x44d0c6(0xdf)](0x0);}process['stdin']['on'](a0_0x7bd10b(0xc0),()=>f()),process['on'](a0_0x7bd10b(0xe7),()=>f()),process['on'](a0_0x7bd10b(0xf2),()=>f());
2
+ const a0_0x2bdfc6=a0_0x20f3;(function(_0x3c4a2c,_0x4d05ca){const _0x3f5b07=a0_0x20f3,_0x35134d=_0x3c4a2c();while(!![]){try{const _0x56c64b=-parseInt(_0x3f5b07(0xbd))/0x1+-parseInt(_0x3f5b07(0x85))/0x2+-parseInt(_0x3f5b07(0xb7))/0x3*(parseInt(_0x3f5b07(0xde))/0x4)+-parseInt(_0x3f5b07(0xfe))/0x5+-parseInt(_0x3f5b07(0xea))/0x6*(parseInt(_0x3f5b07(0xa5))/0x7)+-parseInt(_0x3f5b07(0xbc))/0x8+parseInt(_0x3f5b07(0x89))/0x9;if(_0x56c64b===_0x4d05ca)break;else _0x35134d['push'](_0x35134d['shift']());}catch(_0x5b5423){_0x35134d['push'](_0x35134d['shift']());}}}(a0_0x4dd1,0x7fc6d));import{readFileSync as a0_0x481a21,existsSync as a0_0x4fe6f5}from'fs';import{join as a0_0x409c1d}from'path';import{hostname as a0_0x19ba6e}from'os';import{execSync as a0_0x11e1ee}from'child_process';import{Server as a0_0x1fb0e6}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x4304cb}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x43a6ad,CallToolRequestSchema as a0_0x56dc42}from'@modelcontextprotocol/sdk/types.js';function h(_0x543fc5){const _0x36a909=a0_0x20f3;if(!a0_0x4fe6f5(_0x543fc5))return;for(let _0x32dee1 of a0_0x481a21(_0x543fc5,'utf-8')[_0x36a909(0xe5)]('\x0a')){let _0x195936=_0x32dee1[_0x36a909(0x98)]();if(!_0x195936||_0x195936['startsWith']('#'))continue;let _0x5265da=_0x195936[_0x36a909(0x93)]('=');if(_0x5265da<0x0)continue;let _0x3e5409=_0x195936[_0x36a909(0x9e)](0x0,_0x5265da)['trim'](),_0x1a32d9=_0x195936['slice'](_0x5265da+0x1)[_0x36a909(0x98)]()['replace'](/^["']|["']$/g,'');if(!process.env[_0x3e5409])process.env[_0x3e5409]=_0x1a32d9;}}var R=process.env.HOME||'~',p=a0_0x409c1d(R,'.claude/channels/commhub');h(a0_0x409c1d(p,a0_0x2bdfc6(0xfa)));var C=process[a0_0x2bdfc6(0x90)]()[a0_0x2bdfc6(0x8b)](/\//g,'-');h(a0_0x409c1d(p,C,'.env'));function _(){const _0x592b81=a0_0x2bdfc6;try{return a0_0x11e1ee(_0x592b81(0x99),{'encoding':'utf-8','timeout':0x7d0})['trim']();}catch{return'';}}function E(){const _0x59aabb=a0_0x2bdfc6;try{let _0x293e67=a0_0x409c1d(R,_0x59aabb(0xd3),_0x59aabb(0x80));if(a0_0x4fe6f5(_0x293e67))return JSON[_0x59aabb(0x94)](a0_0x481a21(_0x293e67,_0x59aabb(0x7e)));}catch{}return{};}var T=E(),k=process.env.COMMHUB_URL||T[a0_0x2bdfc6(0x82)]||'http://127.0.0.1:9200',q=process.env.COMMHUB_TMUX||_(),Z=process.env.COMMHUB_ALIAS||q||a0_0x19ba6e(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||crypto[a0_0x2bdfc6(0xb1)](),X=process.env.COMMHUB_TOKEN||T[a0_0x2bdfc6(0x101)]||'';function V(_0x30d9eb){const _0x5ce0fa=a0_0x2bdfc6;let _0x361720=new Date()[_0x5ce0fa(0xac)]()[_0x5ce0fa(0x9e)](0x0,0x8);process[_0x5ce0fa(0x104)][_0x5ce0fa(0xca)]('['+_0x361720+_0x5ce0fa(0x100)+_0x30d9eb+'\x0a');}function O(_0x4dc911){return new Promise(_0x8f4655=>setTimeout(_0x8f4655,_0x4dc911));}function a0_0x4dd1(){const _0x2571d3=['normal','warning:\x20could\x20not\x20register:\x20','shutting\x20down,\x20reporting\x20offline...','114760NAwnMo','setRequestHandler','commhub_report_status','SIGINT','ready\x20—\x20waiting\x20for\x20events','send_message','data:\x20','split','text','join','CommHub\x20init\x20failed:\x20','MCP\x20stdio\x20connected','3354PbfphC','SSE\x20connection\x20error:\x20','notification','blocked','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','length','get_all_status','heartbeat\x20failed:\x20','0.3.0','commhub_get_all_status','application/json,\x20text/event-stream','high','/mcp','statusText','→\x20injected\x20task\x20','Current\x20task\x20description','.env','init\x20failed:\x20','exit','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','2468920igGfAW','stdin',']\x20[commhub]\x20','token','stringify',':\x20inbox_count=','stderr','utf-8','body','config.json','params','hub','priority','content','1257390sjIXHo','commhub','status','none','34287174fgGftI','\x20from\x20','replace','object','starting\x20SSE\x20listener...','claude-code','string','cwd','completed','SSE\x20fatal:\x20','indexOf','parse','2025-03-26','connecting\x20to\x20','catch','trim','tmux\x20display-message\x20-p\x20\x27#S\x27','fatal:\x20','parse\x20error:\x20','commhub_send_task','←\x20message\x20from\x20','slice','task','from_session','find','notifications/claude/channel','message','ack_inbox','11963iWgyXz','registered\x20as\x20\x22','tools/call','\x20priority=','error','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','broadcast','toTimeString','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','application/json','POST','Bearer\x20','randomUUID','Message\x20content','alias','send_task','inbox_count','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','3bHSzbh','idle','commhub_send_message','from','startsWith','2434960sFQUrt','875443ckQJds','end','Task\x20status','2.0','working','ENV:\x20URL=','type','/events/','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','pop','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','read','write','Target\x20session\x20alias','number','low','Progress\x200-100','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','commhub-channel','then','initialize','.anet','in_progress','report_status','messages','Priority\x20(default:\x20normal)','no\x20response','message_id','connect'];a0_0x4dd1=function(){return _0x2571d3;};return a0_0x4dd1();}V(a0_0x2bdfc6(0xc2)+k+'\x20ALIAS='+Z+'\x20RESUME_ID='+w[a0_0x2bdfc6(0x9e)](0x0,0x8)+'...\x20TMUX='+(q||a0_0x2bdfc6(0x88))+'\x20CWD='+process[a0_0x2bdfc6(0x90)]()+'\x20PROJECT_ENV='+C);var K=new a0_0x1fb0e6({'name':'commhub-channel','version':a0_0x2bdfc6(0xf2)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x2bdfc6(0xc5),a0_0x2bdfc6(0xad),a0_0x2bdfc6(0xc6),a0_0x2bdfc6(0xee),'Session\x20alias:\x20'+Z][a0_0x2bdfc6(0xe7)]('\x0a')});K[a0_0x2bdfc6(0xdf)](a0_0x43a6ad,async()=>({'tools':[{'name':'commhub_reply','description':'Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0x2bdfc6(0x8f),'description':a0_0x2bdfc6(0xfd)},'text':{'type':a0_0x2bdfc6(0x8f),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x2bdfc6(0x8f),'enum':['completed',a0_0x2bdfc6(0xed),a0_0x2bdfc6(0xa9),a0_0x2bdfc6(0xd4)],'description':a0_0x2bdfc6(0xbf)}},'required':[a0_0x2bdfc6(0xe6)]}},{'name':a0_0x2bdfc6(0xe0),'description':a0_0x2bdfc6(0xaa),'inputSchema':{'type':'object','properties':{'status':{'type':a0_0x2bdfc6(0x8f),'enum':[a0_0x2bdfc6(0xc1),a0_0x2bdfc6(0xb8),a0_0x2bdfc6(0xed),a0_0x2bdfc6(0xa9)]},'task':{'type':a0_0x2bdfc6(0x8f),'description':a0_0x2bdfc6(0xf9)},'progress':{'type':a0_0x2bdfc6(0xcc),'description':a0_0x2bdfc6(0xce)}},'required':[a0_0x2bdfc6(0x87)]}},{'name':a0_0x2bdfc6(0x9c),'description':a0_0x2bdfc6(0xcf),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x2bdfc6(0x8f),'description':a0_0x2bdfc6(0xcb)},'task':{'type':'string','description':'Task\x20content'},'priority':{'type':a0_0x2bdfc6(0x8f),'enum':[a0_0x2bdfc6(0xf5),'normal',a0_0x2bdfc6(0xcd)],'description':a0_0x2bdfc6(0xd7)}},'required':['alias','task']}},{'name':a0_0x2bdfc6(0xb9),'description':a0_0x2bdfc6(0xc8),'inputSchema':{'type':a0_0x2bdfc6(0x8c),'properties':{'alias':{'type':a0_0x2bdfc6(0x8f),'description':a0_0x2bdfc6(0xcb)},'message':{'type':a0_0x2bdfc6(0x8f),'description':a0_0x2bdfc6(0xb2)}},'required':[a0_0x2bdfc6(0xb3),a0_0x2bdfc6(0xa3)]}},{'name':a0_0x2bdfc6(0xf3),'description':a0_0x2bdfc6(0xb6),'inputSchema':{'type':a0_0x2bdfc6(0x8c),'properties':{}}}]}));async function P(_0x1568f7,_0xda4d11){const _0x454983=a0_0x2bdfc6;let _0x1503a1=await fetch(k+_0x454983(0xf6),{'method':_0x454983(0xaf),'headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream',...X?{'Authorization':_0x454983(0xb0)+X}:{}},'body':JSON[_0x454983(0x102)]({'jsonrpc':_0x454983(0xc0),'id':0x1,'method':_0x454983(0xd2),'params':{'protocolVersion':_0x454983(0x95),'capabilities':{},'clientInfo':{'name':_0x454983(0xd0),'version':_0x454983(0xf2)}}})});if(!_0x1503a1['ok']){let _0x5e5888=await _0x1503a1['text']();return V(_0x454983(0xe8)+_0x1503a1[_0x454983(0x87)]+'\x20'+_0x5e5888['slice'](0x0,0x64)),{'ok':!0x1,'error':_0x454983(0xfb)+_0x1503a1[_0x454983(0x87)]};}await _0x1503a1[_0x454983(0xe6)]();let _0x52c481=(await(await fetch(k+_0x454983(0xf6),{'method':_0x454983(0xaf),'headers':{'Content-Type':_0x454983(0xae),'Accept':_0x454983(0xf4),...X?{'Authorization':_0x454983(0xb0)+X}:{}},'body':JSON['stringify']({'jsonrpc':_0x454983(0xc0),'id':0x2,'method':_0x454983(0xa7),'params':{'name':_0x1568f7,'arguments':_0xda4d11}})}))[_0x454983(0xe6)]())[_0x454983(0xe5)]('\x0a')[_0x454983(0xa1)](_0x5ce3a5=>_0x5ce3a5[_0x454983(0xbb)]('data:\x20'));if(_0x52c481){let _0x5eb0e8=JSON[_0x454983(0x94)](_0x52c481[_0x454983(0x9e)](0x6));return _0x5eb0e8?.['result']?.[_0x454983(0x84)]?.[0x0]?.[_0x454983(0xe6)]?JSON['parse'](_0x5eb0e8['result'][_0x454983(0x84)][0x0][_0x454983(0xe6)]):_0x5eb0e8;}return{'ok':!0x1,'error':_0x454983(0xd8)};}K[a0_0x2bdfc6(0xdf)](a0_0x56dc42,async _0x5f4e1e=>{const _0x574856=a0_0x2bdfc6;let {name:_0x2a94b4,arguments:_0x18b057}=_0x5f4e1e[_0x574856(0x81)];if(_0x2a94b4==='commhub_reply'){let {task_id:_0x1badc1,text:_0x220010,status:_0x432102}=_0x18b057;if(_0x432102===_0x574856(0x91)){let _0x7910b2=await P('report_completion',{'alias':Z,'task':_0x1badc1||_0x574856(0x9f),'result':_0x220010});return{'content':[{'type':_0x574856(0xe6),'text':JSON['stringify'](_0x7910b2)}]};}let _0x2de2be=await P(_0x574856(0xd5),{'resume_id':w,'alias':Z,'status':_0x432102==='blocked'?_0x574856(0xed):_0x432102===_0x574856(0xa9)?_0x574856(0xa9):_0x574856(0xc1),'task':_0x220010[_0x574856(0x9e)](0x0,0xc8),'output':_0x220010});return{'content':[{'type':_0x574856(0xe6),'text':JSON[_0x574856(0x102)](_0x2de2be)}]};}if(_0x2a94b4===_0x574856(0xe0)){let {status:_0x81c75a,task:_0x24cd76,progress:_0x1e8b6b}=_0x18b057,_0x2afadd=await P(_0x574856(0xd5),{'resume_id':w,'alias':Z,'status':_0x81c75a,'task':_0x24cd76,'progress':_0x1e8b6b});return{'content':[{'type':'text','text':JSON[_0x574856(0x102)](_0x2afadd)}]};}if(_0x2a94b4===_0x574856(0x9c)){let {alias:_0x3e151a,task:_0x49b954,priority:_0x5413fc}=_0x18b057,_0x1065a8=await P(_0x574856(0xb4),{'alias':_0x3e151a,'task':_0x49b954,'priority':_0x5413fc||_0x574856(0xdb),'from_session':Z});return{'content':[{'type':_0x574856(0xe6),'text':JSON['stringify'](_0x1065a8)}]};}if(_0x2a94b4===_0x574856(0xb9)){let {alias:_0x13060f,message:_0x28873e}=_0x18b057,_0x3d4d42=await P(_0x574856(0xe3),{'alias':_0x13060f,'message':_0x28873e,'from_session':Z});return{'content':[{'type':_0x574856(0xe6),'text':JSON[_0x574856(0x102)](_0x3d4d42)}]};}if(_0x2a94b4==='commhub_get_all_status'){let _0xe5acba=await P(_0x574856(0xf0),{});return{'content':[{'type':'text','text':JSON[_0x574856(0x102)](_0xe5acba)}]};}return{'content':[{'type':_0x574856(0xe6),'text':JSON[_0x574856(0x102)]({'error':'unknown\x20tool'})}]};});async function c(){const _0x29ff67=a0_0x2bdfc6;let _0x454d4e=k+_0x29ff67(0xc4)+encodeURIComponent(Z),_0x2ea9bc={};if(X)_0x2ea9bc['Authorization']=_0x29ff67(0xb0)+X;V(_0x29ff67(0x96)+_0x454d4e);while(!0x0){try{let _0x59df33=await fetch(_0x454d4e,{'headers':_0x2ea9bc});if(!_0x59df33['ok']){V('SSE\x20error:\x20'+_0x59df33['status']+'\x20'+_0x59df33[_0x29ff67(0xf7)]),await O(0x1388);continue;}let _0x4b3577=_0x59df33[_0x29ff67(0x7f)]['getReader'](),_0x1a554f=new TextDecoder(),_0x1ba6ec='';while(!0x0){let {done:_0x5e9616,value:_0x26441b}=await _0x4b3577[_0x29ff67(0xc9)]();if(_0x5e9616)break;_0x1ba6ec+=_0x1a554f['decode'](_0x26441b,{'stream':!0x0});let _0x22f8da=_0x1ba6ec[_0x29ff67(0xe5)]('\x0a\x0a');_0x1ba6ec=_0x22f8da[_0x29ff67(0xc7)]()||'';for(let _0x44308b of _0x22f8da){let _0x5995a8=_0x44308b[_0x29ff67(0xe5)]('\x0a')[_0x29ff67(0xa1)](_0x486e5c=>_0x486e5c[_0x29ff67(0xbb)](_0x29ff67(0xe4)));if(!_0x5995a8)continue;try{let _0x39b74e=JSON['parse'](_0x5995a8[_0x29ff67(0x9e)](0x6));await v(_0x39b74e);}catch(_0xc1ea93){V(_0x29ff67(0x9b)+_0xc1ea93);}}}V('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x178ee1){V(_0x29ff67(0xeb)+_0x178ee1);}await O(0xbb8);}}async function v(_0x2196f2){const _0x5c07d2=a0_0x2bdfc6;if(_0x2196f2[_0x5c07d2(0xc3)]==='connected'){V('SSE\x20connected\x20as\x20\x22'+Z+'\x22');return;}if(_0x2196f2[_0x5c07d2(0xc3)]==='new_message'){if(V(_0x5c07d2(0x9d)+_0x2196f2[_0x5c07d2(0xba)]+':\x20'+_0x2196f2[_0x5c07d2(0xa3)][_0x5c07d2(0x9e)](0x0,0x3c)),await K[_0x5c07d2(0xec)]({'method':_0x5c07d2(0xa2),'params':{'content':_0x2196f2[_0x5c07d2(0xa3)],'meta':{'sender':_0x2196f2['from']||_0x5c07d2(0x82),'sender_id':_0x5c07d2(0x86),'user':_0x2196f2[_0x5c07d2(0xba)]||_0x5c07d2(0x82),'priority':_0x5c07d2(0xdb)}}}),_0x2196f2[_0x5c07d2(0xd9)])await P(_0x5c07d2(0xa4),{'alias':Z,'message_id':_0x2196f2[_0x5c07d2(0xd9)]});return;}if(_0x2196f2[_0x5c07d2(0xc3)]==='new_task'||_0x2196f2[_0x5c07d2(0xc3)]===_0x5c07d2(0xab)){V('←\x20'+_0x2196f2[_0x5c07d2(0xc3)]+_0x5c07d2(0x103)+_0x2196f2[_0x5c07d2(0xb5)]+_0x5c07d2(0xa8)+(_0x2196f2[_0x5c07d2(0x83)]||_0x5c07d2(0xdb)));let _0x53d25d=await P('get_inbox',{'alias':Z,'limit':0x5});if(_0x53d25d?.['ok']&&_0x53d25d[_0x5c07d2(0xd6)]?.[_0x5c07d2(0xef)]>0x0)for(let _0x194ee3 of _0x53d25d[_0x5c07d2(0xd6)]){let _0x23093f={'sender':_0x194ee3[_0x5c07d2(0xa0)]||_0x5c07d2(0x82),'sender_id':_0x5c07d2(0x86),'user':_0x194ee3[_0x5c07d2(0xa0)]||_0x5c07d2(0x82),'task_id':_0x194ee3['id'],'priority':_0x194ee3[_0x5c07d2(0x83)]||_0x5c07d2(0xdb)};await K[_0x5c07d2(0xec)]({'method':'notifications/claude/channel','params':{'content':_0x194ee3[_0x5c07d2(0x84)],'meta':_0x23093f}}),V(_0x5c07d2(0xf8)+_0x194ee3['id'][_0x5c07d2(0x9e)](0x0,0x8)+_0x5c07d2(0x8a)+_0x194ee3[_0x5c07d2(0xa0)]+':\x20'+_0x194ee3[_0x5c07d2(0x84)][_0x5c07d2(0x9e)](0x0,0x3c)),await P(_0x5c07d2(0xa4),{'alias':Z,'message_id':_0x194ee3['id']});}}}async function u(){const _0x25dae6=a0_0x2bdfc6;let _0x40e114=new a0_0x4304cb();await K[_0x25dae6(0xda)](_0x40e114),V(_0x25dae6(0xe9)),V(_0x25dae6(0x8d)),c()[_0x25dae6(0x97)](_0x3a95ce=>V(_0x25dae6(0x92)+_0x3a95ce)),P(_0x25dae6(0xd5),{'resume_id':w,'alias':Z,'status':_0x25dae6(0xb8),'server':a0_0x19ba6e(),'hostname':a0_0x19ba6e(),'agent':_0x25dae6(0x8e),'project_dir':process[_0x25dae6(0x90)](),'tmux_name':q||void 0x0})[_0x25dae6(0xd1)](()=>V(_0x25dae6(0xa6)+Z+'\x22\x20('+w[_0x25dae6(0x9e)](0x0,0x8)+')'))[_0x25dae6(0x97)](_0x5991a9=>V(_0x25dae6(0xdc)+_0x5991a9)),setInterval(()=>{const _0x425cd1=_0x25dae6;P(_0x425cd1(0xd5),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x19ba6e(),'hostname':a0_0x19ba6e(),'agent':_0x425cd1(0x8e),'project_dir':process[_0x425cd1(0x90)](),'tmux_name':q||void 0x0})[_0x425cd1(0x97)](_0x2c0b90=>V(_0x425cd1(0xf1)+_0x2c0b90));},0x2bf20),V(_0x25dae6(0xe2));}function a0_0x20f3(_0x5d1aca,_0x35fa72){_0x5d1aca=_0x5d1aca-0x7e;const _0x4dd10e=a0_0x4dd1();let _0x20f3dc=_0x4dd10e[_0x5d1aca];return _0x20f3dc;}u()[a0_0x2bdfc6(0x97)](_0x2ffe06=>{const _0x208289=a0_0x2bdfc6;V(_0x208289(0x9a)+_0x2ffe06),process[_0x208289(0xfc)](0x1);});async function f(){const _0x4f61de=a0_0x2bdfc6;V(_0x4f61de(0xdd)),await P(_0x4f61de(0xd5),{'resume_id':w,'alias':Z,'status':_0x4f61de(0xa9),'task':'session\x20disconnected'})[_0x4f61de(0x97)](()=>{}),process[_0x4f61de(0xfc)](0x0);}process[a0_0x2bdfc6(0xff)]['on'](a0_0x2bdfc6(0xbe),()=>f()),process['on']('SIGTERM',()=>f()),process['on'](a0_0x2bdfc6(0xe1),()=>f());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network",
3
- "version": "1.3.1",
3
+ "version": "1.3.2",
4
4
  "description": "AI Agent Network — Server + Client + Setup in one package. SSE real-time communication for multi-agent orchestration.",
5
5
  "type": "module",
6
6
  "main": "dist/src/client.js",