@sleep2agi/agent-network 2.2.20-preview.0 → 2.2.21

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_0x1b849a=a0_0x50ed;function a0_0x50ed(_0x14b304,_0x68c721){_0x14b304=_0x14b304-0x17b;const _0x384ecf=a0_0x384e();let _0x50ed21=_0x384ecf[_0x14b304];return _0x50ed21;}(function(_0x3b96b3,_0x26bc08){const _0x53b1af=a0_0x50ed,_0x1e5be8=_0x3b96b3();while(!![]){try{const _0x20e88e=-parseInt(_0x53b1af(0x1b5))/0x1+-parseInt(_0x53b1af(0x18f))/0x2*(-parseInt(_0x53b1af(0x17d))/0x3)+-parseInt(_0x53b1af(0x192))/0x4+parseInt(_0x53b1af(0x1b8))/0x5+parseInt(_0x53b1af(0x181))/0x6+parseInt(_0x53b1af(0x1b0))/0x7*(parseInt(_0x53b1af(0x190))/0x8)+-parseInt(_0x53b1af(0x1af))/0x9;if(_0x20e88e===_0x26bc08)break;else _0x1e5be8['push'](_0x1e5be8['shift']());}catch(_0x38eef2){_0x1e5be8['push'](_0x1e5be8['shift']());}}}(a0_0x384e,0x9d6ad));import{EventEmitter as a0_0x3510a0}from'events';import{hostname as a0_0x54620b}from'os';function a0_0x384e(){const _0x3d4a00=['new_task','Authorization','51144nUmwAK','connectSSE','min','new_message','getAllStatus','send_task','registered','match','log','SSE\x20connected','send_reply','stringify','read','heartbeatTimer','15554KcjWuO','544BCXuyd','messages','469332czTxPX','reply','ack_inbox','connect','getReader','status','heartbeat\x20failed:\x20','call','agent','abort','url','pop','task','SSE\x20failed:\x20','alias','decode','type','replace','parse','slice','connected','sseAbort','/events/','split','disconnect','running','from_session','sdk-','report_status','13221036NeUFjF','65968GFNRoQ','processInbox','Bearer\x20','catch','autoConnect','206053hrjlRB','AbortError','result','6022700hybEES','normal','content','/mcp','offline','signal','token','reconnectDelay','idle','text','now','POST',']\x20[commhub:','completed','2.0','toString','get_all_status','get_inbox','sleep','emit','disconnected','server','resumeId','message','name','broadcast','heartbeatInterval','225SMaGvW','application/json,\x20text/event-stream'];a0_0x384e=function(){return _0x3d4a00;};return a0_0x384e();}class T extends a0_0x3510a0{[a0_0x1b849a(0x19c)];[a0_0x1b849a(0x1a0)];[a0_0x1b849a(0x1be)];[a0_0x1b849a(0x19a)];['resumeId'];['heartbeatInterval'];[a0_0x1b849a(0x1bf)];['heartbeatTimer'];[a0_0x1b849a(0x1a7)];[a0_0x1b849a(0x1ab)]=!0x1;constructor(_0x2921bf){const _0x359024=a0_0x1b849a;super();if(this[_0x359024(0x19c)]=_0x2921bf[_0x359024(0x19c)][_0x359024(0x1a3)](/\/$/,''),this[_0x359024(0x1a0)]=_0x2921bf[_0x359024(0x1a0)],this['token']=_0x2921bf['token'],this[_0x359024(0x19a)]=_0x2921bf[_0x359024(0x19a)]||'sdk',this['resumeId']=_0x359024(0x1ad)+_0x2921bf[_0x359024(0x1a0)]+'-'+Date[_0x359024(0x1c2)]()[_0x359024(0x1c7)](0x24),this[_0x359024(0x17c)]=_0x2921bf[_0x359024(0x17c)]??0x2bf20,this[_0x359024(0x1bf)]=_0x2921bf[_0x359024(0x1bf)]??0xbb8,_0x2921bf[_0x359024(0x1b4)]!==!0x1)this[_0x359024(0x195)]();}['log'](_0x28aefb){const _0x4a8dcc=a0_0x1b849a;console[_0x4a8dcc(0x189)]('['+new Date()['toTimeString']()[_0x4a8dcc(0x1a5)](0x0,0x8)+_0x4a8dcc(0x1c4)+this[_0x4a8dcc(0x1a0)]+']\x20'+_0x28aefb);}async[a0_0x1b849a(0x199)](_0x1f340b,_0x518b51){const _0x10efd7=a0_0x1b849a;let _0x569d28={'Content-Type':'application/json','Accept':_0x10efd7(0x17e)};if(this[_0x10efd7(0x1be)])_0x569d28[_0x10efd7(0x180)]=_0x10efd7(0x1b2)+this['token'];let _0xc1a129=await(await fetch(this[_0x10efd7(0x19c)]+_0x10efd7(0x1bb),{'method':_0x10efd7(0x1c3),'headers':_0x569d28,'body':JSON[_0x10efd7(0x18c)]({'jsonrpc':_0x10efd7(0x1c6),'id':Date[_0x10efd7(0x1c2)](),'method':'tools/call','params':{'name':_0x1f340b,'arguments':_0x518b51}})}))[_0x10efd7(0x1c1)](),_0x885542=_0xc1a129[_0x10efd7(0x188)](/data: (.+)/),_0x4efabe=_0x885542?JSON[_0x10efd7(0x1a4)](_0x885542[0x1]):JSON[_0x10efd7(0x1a4)](_0xc1a129),_0x5f19ee=_0x4efabe?.[_0x10efd7(0x1b7)]?.[_0x10efd7(0x1ba)]?.[0x0]?.[_0x10efd7(0x1c1)];return _0x5f19ee?JSON[_0x10efd7(0x1a4)](_0x5f19ee):_0x4efabe;}async[a0_0x1b849a(0x195)](){const _0x11ac40=a0_0x1b849a;if(this['running'])return;this[_0x11ac40(0x1ab)]=!0x0,await this['status'](_0x11ac40(0x1c0)),this['log'](_0x11ac40(0x187)),this[_0x11ac40(0x18e)]=setInterval(()=>{const _0x4cb68b=_0x11ac40;this[_0x4cb68b(0x197)](_0x4cb68b(0x1c0))[_0x4cb68b(0x1b3)](_0x438c4b=>this[_0x4cb68b(0x189)](_0x4cb68b(0x198)+_0x438c4b[_0x4cb68b(0x1cf)]));},this[_0x11ac40(0x17c)]),this['connectSSE']();}async[a0_0x1b849a(0x1aa)](){const _0x27299a=a0_0x1b849a;if(this[_0x27299a(0x1ab)]=!0x1,this['sseAbort']?.[_0x27299a(0x19b)](),this['heartbeatTimer'])clearInterval(this[_0x27299a(0x18e)]);await this[_0x27299a(0x197)](_0x27299a(0x1bc))['catch'](()=>{}),this['log'](_0x27299a(0x1cc));}async['send'](_0x502085,_0x980ffd,_0x382c8a=a0_0x1b849a(0x1b9)){const _0x4e211c=a0_0x1b849a;return this[_0x4e211c(0x199)](_0x4e211c(0x186),{'alias':_0x502085,'task':_0x980ffd,'priority':_0x382c8a,'from_session':this['alias']});}async[a0_0x1b849a(0x1cf)](_0x57ac59,_0x50eb7a){const _0x513b60=a0_0x1b849a;return this[_0x513b60(0x199)]('send_message',{'alias':_0x57ac59,'message':_0x50eb7a,'from_session':this[_0x513b60(0x1a0)]});}async[a0_0x1b849a(0x193)](_0x355e26,_0x4bebe7,_0x3765b8=a0_0x1b849a(0x1c5)){const _0x5e0c73=a0_0x1b849a;return this[_0x5e0c73(0x199)](_0x5e0c73(0x18b),{'in_reply_to':_0x355e26,'text':_0x4bebe7,'status':_0x3765b8});}async[a0_0x1b849a(0x197)](_0xa0e679,_0x419df3){const _0x19848d=a0_0x1b849a;return this[_0x19848d(0x199)](_0x19848d(0x1ae),{'resume_id':this[_0x19848d(0x1ce)],'alias':this['alias'],'status':_0xa0e679,'server':a0_0x54620b(),'hostname':a0_0x54620b(),'agent':this[_0x19848d(0x19a)],'project_dir':process['cwd'](),..._0x419df3});}async[a0_0x1b849a(0x185)](){const _0x11b6a7=a0_0x1b849a;return this[_0x11b6a7(0x199)](_0x11b6a7(0x1c8),{});}async[a0_0x1b849a(0x17b)](_0x172797,_0x96bfb4){const _0xec83c1=a0_0x1b849a;return this[_0xec83c1(0x199)](_0xec83c1(0x17b),{'message':_0x172797,'filter_server':_0x96bfb4?.[_0xec83c1(0x1cd)],'filter_status':_0x96bfb4?.[_0xec83c1(0x197)]});}async[a0_0x1b849a(0x182)](){const _0x27a44e=a0_0x1b849a;let _0xddb6a0=encodeURIComponent(this[_0x27a44e(0x1a0)]),_0x205c90=this[_0x27a44e(0x19c)]+_0x27a44e(0x1a8)+_0xddb6a0,_0x73d960=this[_0x27a44e(0x1bf)];while(this[_0x27a44e(0x1ab)]){try{this[_0x27a44e(0x1a7)]=new AbortController();let _0x2d5474={'Accept':'text/event-stream'};if(this[_0x27a44e(0x1be)])_0x2d5474[_0x27a44e(0x180)]=_0x27a44e(0x1b2)+this[_0x27a44e(0x1be)];let _0x730668=await fetch(_0x205c90,{'headers':_0x2d5474,'signal':this[_0x27a44e(0x1a7)][_0x27a44e(0x1bd)]});if(!_0x730668['ok']||!_0x730668['body']){this[_0x27a44e(0x189)](_0x27a44e(0x19f)+_0x730668[_0x27a44e(0x197)]),await this['sleep'](_0x73d960),_0x73d960=Math[_0x27a44e(0x183)](_0x73d960*1.5,0xea60);continue;}_0x73d960=this['reconnectDelay'];let _0x21f255=_0x730668['body'][_0x27a44e(0x196)](),_0x244ae1=new TextDecoder(),_0x268903='';while(this[_0x27a44e(0x1ab)]){let {done:_0x733e73,value:_0x54266b}=await _0x21f255[_0x27a44e(0x18d)]();if(_0x733e73)break;_0x268903+=_0x244ae1[_0x27a44e(0x1a1)](_0x54266b,{'stream':!0x0});let _0x5db2d4=_0x268903[_0x27a44e(0x1a9)]('\x0a');_0x268903=_0x5db2d4[_0x27a44e(0x19d)]()||'';for(let _0x52ffab of _0x5db2d4){if(!_0x52ffab['startsWith']('data:\x20'))continue;try{let _0x43d5b3=JSON['parse'](_0x52ffab['slice'](0x6));if(_0x43d5b3[_0x27a44e(0x1a2)]===_0x27a44e(0x1a6)){this[_0x27a44e(0x189)](_0x27a44e(0x18a)),this[_0x27a44e(0x1cb)](_0x27a44e(0x1a6));continue;}if(_0x43d5b3['type']===_0x27a44e(0x17f)||_0x43d5b3['type']===_0x27a44e(0x184)||_0x43d5b3[_0x27a44e(0x1a2)]===_0x27a44e(0x17b))await this['processInbox']();}catch{}}}}catch(_0x39597d){if(_0x39597d[_0x27a44e(0x1d0)]===_0x27a44e(0x1b6))break;this[_0x27a44e(0x1cb)]('error',_0x39597d),this['log']('SSE\x20error:\x20'+_0x39597d[_0x27a44e(0x1cf)]);}if(this[_0x27a44e(0x1ab)])this[_0x27a44e(0x1cb)](_0x27a44e(0x1cc)),this['log']('SSE\x20reconnecting\x20in\x20'+_0x73d960/0x3e8+'s...'),await this[_0x27a44e(0x1ca)](_0x73d960),_0x73d960=Math[_0x27a44e(0x183)](_0x73d960*1.5,0xea60);}}async[a0_0x1b849a(0x1b1)](){const _0x13c498=a0_0x1b849a;try{let _0x92157d=(await this['call'](_0x13c498(0x1c9),{'alias':this[_0x13c498(0x1a0)],'limit':0xa}))?.[_0x13c498(0x191)]||[];for(let _0xf8829b of _0x92157d)await this[_0x13c498(0x199)](_0x13c498(0x194),{'alias':this[_0x13c498(0x1a0)],'message_id':_0xf8829b['id']}),this[_0x13c498(0x189)]('←\x20'+_0xf8829b[_0x13c498(0x1ac)]+':\x20'+_0xf8829b['content'][_0x13c498(0x1a5)](0x0,0x3c)),this[_0x13c498(0x1cb)](_0x13c498(0x19e),_0xf8829b),this[_0x13c498(0x1cb)]('message',_0xf8829b);}catch(_0x4c0b8c){this[_0x13c498(0x189)]('inbox\x20error:\x20'+_0x4c0b8c[_0x13c498(0x1cf)]);}}[a0_0x1b849a(0x1ca)](_0x1e3c43){return new Promise(_0x3fb6f2=>setTimeout(_0x3fb6f2,_0x1e3c43));}}var $=T;export{$ as default,T as CommHub};
1
+ const a0_0x189926=a0_0x1d56;function a0_0x31dc(){const _0x3c4d50=['cwd','toString','broadcast','content','log','heartbeatInterval','completed','1312130QwErEn','type','toTimeString','registered','startsWith','url','POST','192630AoXeUB','signal','sleep','5577182ljVZTj','sdk-','agent','read','text','disconnect','2.0','status','Bearer\x20','autoConnect','server','reply','SSE\x20reconnecting\x20in\x20','report_status','getAllStatus','48PpsnpG','ack_inbox','task','messages','slice','41722TVqCKm','now','6CbCxXj','SSE\x20error:\x20','application/json','running','sseAbort','7ZjzGAK','name','heartbeatTimer','42150QMxcME','get_inbox','min','1274152mxgTMQ','body','parse','normal','new_task','token','sdk','disconnected','from_session','resumeId','data:\x20','12ivUixo','emit','message','catch','connectSSE','56oQvQji','81KblxoM','call','/mcp','13979irOMkQ','pop','abort','idle','decode','Authorization','alias','AbortError','new_message','getReader','s...','connect','tools/call','send_reply','reconnectDelay','send','send_task','processInbox'];a0_0x31dc=function(){return _0x3c4d50;};return a0_0x31dc();}(function(_0x4aada5,_0x173b1f){const _0x2b4e33=a0_0x1d56,_0x310a8a=_0x4aada5();while(!![]){try{const _0x16fe90=-parseInt(_0x2b4e33(0xcf))/0x1*(parseInt(_0x2b4e33(0xc8))/0x2)+-parseInt(_0x2b4e33(0xd2))/0x3*(parseInt(_0x2b4e33(0xc3))/0x4)+-parseInt(_0x2b4e33(0xaa))/0x5*(parseInt(_0x2b4e33(0xca))/0x6)+-parseInt(_0x2b4e33(0x91))/0x7*(-parseInt(_0x2b4e33(0x8d))/0x8)+parseInt(_0x2b4e33(0x8e))/0x9*(parseInt(_0x2b4e33(0xb1))/0xa)+parseInt(_0x2b4e33(0xd5))/0xb+parseInt(_0x2b4e33(0x88))/0xc*(parseInt(_0x2b4e33(0xb4))/0xd);if(_0x16fe90===_0x173b1f)break;else _0x310a8a['push'](_0x310a8a['shift']());}catch(_0x1d19aa){_0x310a8a['push'](_0x310a8a['shift']());}}}(a0_0x31dc,0x25e03));import{EventEmitter as a0_0x342fd7}from'events';function a0_0x1d56(_0x2ae1b2,_0x54313e){_0x2ae1b2=_0x2ae1b2-0x83;const _0x31dc3b=a0_0x31dc();let _0x1d565f=_0x31dc3b[_0x2ae1b2];return _0x1d565f;}import{hostname as a0_0x20dba2}from'os';class T extends a0_0x342fd7{[a0_0x189926(0xaf)];[a0_0x189926(0x97)];['token'];[a0_0x189926(0xb6)];[a0_0x189926(0x86)];['heartbeatInterval'];[a0_0x189926(0x9f)];[a0_0x189926(0xd1)];[a0_0x189926(0xce)];[a0_0x189926(0xcd)]=!0x1;constructor(_0x51461a){const _0xff97f3=a0_0x189926;super();if(this['url']=_0x51461a[_0xff97f3(0xaf)]['replace'](/\/$/,''),this[_0xff97f3(0x97)]=_0x51461a['alias'],this[_0xff97f3(0xda)]=_0x51461a[_0xff97f3(0xda)],this['agent']=_0x51461a['agent']||_0xff97f3(0x83),this[_0xff97f3(0x86)]=_0xff97f3(0xb5)+_0x51461a[_0xff97f3(0x97)]+'-'+Date[_0xff97f3(0xc9)]()[_0xff97f3(0xa4)](0x24),this['heartbeatInterval']=_0x51461a['heartbeatInterval']??0x2bf20,this['reconnectDelay']=_0x51461a['reconnectDelay']??0xbb8,_0x51461a[_0xff97f3(0xbd)]!==!0x1)this[_0xff97f3(0x9c)]();}['log'](_0x521869){const _0x3e8f83=a0_0x189926;console[_0x3e8f83(0xa7)]('['+new Date()[_0x3e8f83(0xac)]()[_0x3e8f83(0xc7)](0x0,0x8)+']\x20[commhub:'+this['alias']+']\x20'+_0x521869);}async['call'](_0x19720c,_0x4f4a11){const _0x34a129=a0_0x189926;let _0x3f6119={'Content-Type':_0x34a129(0xcc),'Accept':'application/json,\x20text/event-stream'};if(this[_0x34a129(0xda)])_0x3f6119[_0x34a129(0x96)]=_0x34a129(0xbc)+this[_0x34a129(0xda)];let _0x5612cb=await(await fetch(this[_0x34a129(0xaf)]+_0x34a129(0x90),{'method':_0x34a129(0xb0),'headers':_0x3f6119,'body':JSON['stringify']({'jsonrpc':_0x34a129(0xba),'id':Date[_0x34a129(0xc9)](),'method':_0x34a129(0x9d),'params':{'name':_0x19720c,'arguments':_0x4f4a11}})}))[_0x34a129(0xb8)](),_0x119f6b=_0x5612cb['match'](/data: (.+)/),_0x6b0629=_0x119f6b?JSON[_0x34a129(0xd7)](_0x119f6b[0x1]):JSON['parse'](_0x5612cb),_0x143bd8=_0x6b0629?.['result']?.[_0x34a129(0xa6)]?.[0x0]?.[_0x34a129(0xb8)];return _0x143bd8?JSON['parse'](_0x143bd8):_0x6b0629;}async['connect'](){const _0x50fd4d=a0_0x189926;if(this[_0x50fd4d(0xcd)])return;this['running']=!0x0,await this[_0x50fd4d(0xbb)]('idle'),this[_0x50fd4d(0xa7)](_0x50fd4d(0xad)),this[_0x50fd4d(0xd1)]=setInterval(()=>{const _0x190b99=_0x50fd4d;this[_0x190b99(0xbb)](_0x190b99(0x94))[_0x190b99(0x8b)](_0x20c10f=>this[_0x190b99(0xa7)]('heartbeat\x20failed:\x20'+_0x20c10f[_0x190b99(0x8a)]));},this[_0x50fd4d(0xa8)]),this[_0x50fd4d(0x8c)]();}async[a0_0x189926(0xb9)](){const _0xf6748b=a0_0x189926;if(this[_0xf6748b(0xcd)]=!0x1,this[_0xf6748b(0xce)]?.[_0xf6748b(0x93)](),this['heartbeatTimer'])clearInterval(this['heartbeatTimer']);await this['status']('offline')[_0xf6748b(0x8b)](()=>{}),this['log'](_0xf6748b(0x84));}async[a0_0x189926(0xa0)](_0x2d514f,_0x54234c,_0x133f19=a0_0x189926(0xd8)){const _0x13e986=a0_0x189926;return this['call'](_0x13e986(0xa1),{'alias':_0x2d514f,'task':_0x54234c,'priority':_0x133f19,'from_session':this['alias']});}async[a0_0x189926(0x8a)](_0xddb59f,_0x179151){const _0x2b26e4=a0_0x189926;return this[_0x2b26e4(0x8f)]('send_message',{'alias':_0xddb59f,'message':_0x179151,'from_session':this[_0x2b26e4(0x97)]});}async[a0_0x189926(0xbf)](_0x5ab6e5,_0x436043,_0x45a639=a0_0x189926(0xa9)){const _0x579933=a0_0x189926;return this['call'](_0x579933(0x9e),{'in_reply_to':_0x5ab6e5,'text':_0x436043,'status':_0x45a639});}async[a0_0x189926(0xbb)](_0x3156e9,_0x5a225a){const _0x592759=a0_0x189926;return this['call'](_0x592759(0xc1),{'resume_id':this[_0x592759(0x86)],'alias':this['alias'],'status':_0x3156e9,'server':a0_0x20dba2(),'hostname':a0_0x20dba2(),'agent':this['agent'],'project_dir':process[_0x592759(0xa3)](),..._0x5a225a});}async[a0_0x189926(0xc2)](){const _0x11d772=a0_0x189926;return this[_0x11d772(0x8f)]('get_all_status',{});}async[a0_0x189926(0xa5)](_0xb21fb9,_0x358371){const _0x59f6e9=a0_0x189926;return this[_0x59f6e9(0x8f)]('broadcast',{'message':_0xb21fb9,'filter_server':_0x358371?.[_0x59f6e9(0xbe)],'filter_status':_0x358371?.[_0x59f6e9(0xbb)]});}async[a0_0x189926(0x8c)](){const _0x2e4e27=a0_0x189926;let _0x1228db=encodeURIComponent(this[_0x2e4e27(0x97)]),_0x284210=this[_0x2e4e27(0xaf)]+'/events/'+_0x1228db,_0x2326c6=this[_0x2e4e27(0x9f)];while(this[_0x2e4e27(0xcd)]){try{this[_0x2e4e27(0xce)]=new AbortController();let _0x102fb7={'Accept':'text/event-stream'};if(this['token'])_0x102fb7[_0x2e4e27(0x96)]='Bearer\x20'+this['token'];let _0x1eb203=await fetch(_0x284210,{'headers':_0x102fb7,'signal':this[_0x2e4e27(0xce)][_0x2e4e27(0xb2)]});if(!_0x1eb203['ok']||!_0x1eb203[_0x2e4e27(0xd6)]){this[_0x2e4e27(0xa7)]('SSE\x20failed:\x20'+_0x1eb203['status']),await this['sleep'](_0x2326c6),_0x2326c6=Math[_0x2e4e27(0xd4)](_0x2326c6*1.5,0xea60);continue;}_0x2326c6=this[_0x2e4e27(0x9f)];let _0x243899=_0x1eb203[_0x2e4e27(0xd6)][_0x2e4e27(0x9a)](),_0x5373a6=new TextDecoder(),_0x2c1250='';while(this[_0x2e4e27(0xcd)]){let {done:_0x42957d,value:_0x3d3fef}=await _0x243899[_0x2e4e27(0xb7)]();if(_0x42957d)break;_0x2c1250+=_0x5373a6[_0x2e4e27(0x95)](_0x3d3fef,{'stream':!0x0});let _0x1b3757=_0x2c1250['split']('\x0a');_0x2c1250=_0x1b3757[_0x2e4e27(0x92)]()||'';for(let _0x347344 of _0x1b3757){if(!_0x347344[_0x2e4e27(0xae)](_0x2e4e27(0x87)))continue;try{let _0x52e81e=JSON[_0x2e4e27(0xd7)](_0x347344[_0x2e4e27(0xc7)](0x6));if(_0x52e81e[_0x2e4e27(0xab)]==='connected'){this[_0x2e4e27(0xa7)]('SSE\x20connected'),this[_0x2e4e27(0x89)]('connected');continue;}if(_0x52e81e[_0x2e4e27(0xab)]===_0x2e4e27(0xd9)||_0x52e81e[_0x2e4e27(0xab)]===_0x2e4e27(0x99)||_0x52e81e[_0x2e4e27(0xab)]==='broadcast')await this[_0x2e4e27(0xa2)]();}catch{}}}}catch(_0xde8b79){if(_0xde8b79[_0x2e4e27(0xd0)]===_0x2e4e27(0x98))break;this[_0x2e4e27(0x89)]('error',_0xde8b79),this[_0x2e4e27(0xa7)](_0x2e4e27(0xcb)+_0xde8b79[_0x2e4e27(0x8a)]);}if(this[_0x2e4e27(0xcd)])this['emit'](_0x2e4e27(0x84)),this[_0x2e4e27(0xa7)](_0x2e4e27(0xc0)+_0x2326c6/0x3e8+_0x2e4e27(0x9b)),await this[_0x2e4e27(0xb3)](_0x2326c6),_0x2326c6=Math[_0x2e4e27(0xd4)](_0x2326c6*1.5,0xea60);}}async[a0_0x189926(0xa2)](){const _0x24679b=a0_0x189926;try{let _0x48cb70=(await this[_0x24679b(0x8f)](_0x24679b(0xd3),{'alias':this[_0x24679b(0x97)],'limit':0xa}))?.[_0x24679b(0xc6)]||[];for(let _0x3b18f5 of _0x48cb70)await this['call'](_0x24679b(0xc4),{'alias':this[_0x24679b(0x97)],'message_id':_0x3b18f5['id']}),this['log']('←\x20'+_0x3b18f5[_0x24679b(0x85)]+':\x20'+_0x3b18f5['content'][_0x24679b(0xc7)](0x0,0x3c)),this[_0x24679b(0x89)](_0x24679b(0xc5),_0x3b18f5),this['emit'](_0x24679b(0x8a),_0x3b18f5);}catch(_0x51b58f){this[_0x24679b(0xa7)]('inbox\x20error:\x20'+_0x51b58f[_0x24679b(0x8a)]);}}['sleep'](_0x5aaf25){return new Promise(_0x2d730e=>setTimeout(_0x2d730e,_0x5aaf25));}}var $=T;export{$ as default,T as CommHub};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env bun
2
- const a0_0x667184=a0_0x4e88;(function(_0x4f67d6,_0x502335){const _0x59f071=a0_0x4e88,_0x5462c7=_0x4f67d6();while(!![]){try{const _0x4ba46c=parseInt(_0x59f071(0x1b2))/0x1*(-parseInt(_0x59f071(0x1b4))/0x2)+-parseInt(_0x59f071(0x1f4))/0x3+-parseInt(_0x59f071(0x230))/0x4+-parseInt(_0x59f071(0x1bc))/0x5+-parseInt(_0x59f071(0x1b9))/0x6*(-parseInt(_0x59f071(0x1f7))/0x7)+parseInt(_0x59f071(0x21a))/0x8*(parseInt(_0x59f071(0x1cc))/0x9)+-parseInt(_0x59f071(0x1fd))/0xa*(-parseInt(_0x59f071(0x1f2))/0xb);if(_0x4ba46c===_0x502335)break;else _0x5462c7['push'](_0x5462c7['shift']());}catch(_0x37a080){_0x5462c7['push'](_0x5462c7['shift']());}}}(a0_0x37a1,0x4681e));import{readFileSync as a0_0xbbd49c,existsSync as a0_0x56ce5c}from'fs';import{randomUUID as a0_0x2160af}from'crypto';import{join as a0_0x27a004}from'path';import{hostname as a0_0x3b2b26}from'os';import{execSync as a0_0x2c8502}from'child_process';import{Server as a0_0x4fab82}from'@modelcontextprotocol/sdk/server/index.js';function a0_0x4e88(_0x4beb7b,_0x526cb6){_0x4beb7b=_0x4beb7b-0x1ae;const _0x37a13e=a0_0x37a1();let _0x4e8827=_0x37a13e[_0x4beb7b];return _0x4e8827;}import{StdioServerTransport as a0_0x158967}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x338881,CallToolRequestSchema as a0_0x35ba20}from'@modelcontextprotocol/sdk/types.js';function I(_0x5c464e){const _0x5573a4=a0_0x4e88;if(!a0_0x56ce5c(_0x5c464e))return;for(let _0x1d2674 of a0_0xbbd49c(_0x5c464e,'utf-8')['split']('\x0a')){let _0x270383=_0x1d2674['trim']();if(!_0x270383||_0x270383[_0x5573a4(0x1db)]('#'))continue;let _0x41549f=_0x270383[_0x5573a4(0x233)]('=');if(_0x41549f<0x0)continue;let _0x8036d6=_0x270383['slice'](0x0,_0x41549f)[_0x5573a4(0x1dd)](),_0x229bb4=_0x270383[_0x5573a4(0x1e4)](_0x41549f+0x1)[_0x5573a4(0x1dd)]()['replace'](/^["']|["']$/g,'');if(!process.env[_0x8036d6])process.env[_0x8036d6]=_0x229bb4;}}var L=process.env.HOME||'~',U=a0_0x27a004(L,a0_0x667184(0x1de));I(a0_0x27a004(U,a0_0x667184(0x202)));var v=process['cwd']()[a0_0x667184(0x1f1)](/\//g,'-');I(a0_0x27a004(U,v,'.env'));function d(){const _0x3a1fff=a0_0x667184;try{return a0_0x2c8502('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':'utf-8','timeout':0x7d0})[_0x3a1fff(0x1dd)]();}catch{return'';}}function m(){const _0x3213d2=a0_0x667184;try{let _0x453740=a0_0x27a004(L,_0x3213d2(0x23d),'config.json');if(a0_0x56ce5c(_0x453740))return JSON['parse'](a0_0xbbd49c(_0x453740,_0x3213d2(0x249)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x667184(0x1fe)]||a0_0x667184(0x22b),f=process.env.COMMHUB_TMUX||d();function r(){const _0x5f1a48=a0_0x667184;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x5f1a48(0x1dd)]())return process.env.COMMHUB_ALIAS['trim']();return process[_0x5f1a48(0x1e5)][_0x5f1a48(0x20f)]('[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20'+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(f||_0x5f1a48(0x1e8))+_0x5f1a48(0x234)+a0_0x3b2b26()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),_0x5f1a48(0x23b)+process[_0x5f1a48(0x237)];}function a0_0x37a1(){const _0x2962d0=['pop','\x20CWD=','report_status','message','commhub_reply','1422akbgEz','0.3.0','catch','messages','cwd','getReader','task','then','Priority\x20(default:\x20normal)','exit','object','re-registered\x20as\x20\x22','data:\x20','send_reply','type','startsWith','connect','trim','.claude/channels/commhub','shutting\x20down,\x20reporting\x20offline...','new_task','length','set','content','slice','stderr','/mcp','normal','(none)','error','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','starting\x20SSE\x20listener...','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','SSE\x20connection\x20error:\x20','Session\x20alias:\x20','setRequestHandler',']\x20[commhub]\x20','replace','11RxQzEq','stdin','105417vNpwbg','Target\x20session\x20alias','SIGINT','7Lpqkme','→\x20injected\x20task\x20','blocked','commhub_send_task','send_message','application/json,\x20text/event-stream','7049920ywxWyK','hub','join','stringify','\x20priority=','.env','tools/call','ack_inbox','CommHub\x20init\x20failed:\x20','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','SSE\x20connected\x20as\x20\x22','cancelled','new_message','unknown\x20tool','commhub','re-register\x20failed:\x20','notification','message_id','write','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','in_progress','claude-code','alias','session\x20disconnected','Bearer\x20','now','notifications/claude/channel','broadcast','end','2416oqZmJw','split','2025-03-26','ready\x20—\x20waiting\x20for\x20events','working','commhub_report_status','\x20RESUME_ID=','commhub_get_all_status','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','/events/','text','find','offline','body','...\x20TMUX=','\x20PROJECT_ENV=','get_inbox','http://127.0.0.1:9200','init\x20failed:\x20','delete','inbox_count','registered\x20as\x20\x22','1580704IRuUeq','number','min','indexOf','\x20/\x20hostname=','from','replied','pid','Current\x20task\x20description','parse','status','unattributed-',':\x20inbox_count=','.anet','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','commhub-channel','string','SSE\x20error:\x20','priority','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','get_all_status','SSE\x20stream\x20ended,\x20reconnecting...','commhub_send_message','none','utf-8','toTimeString','initialize','idle','Message\x20content','read','SIGTERM','7394ODCaCg','Task\x20content','34fgRsTX','2.0','POST','\x20from\x20','token','2996490QjiTxP',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','connected','2036560gHeWWg','application/json','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','MCP\x20stdio\x20connected','from_session','parse\x20error:\x20','result','heartbeat\x20failed:\x20','Authorization','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','high'];a0_0x37a1=function(){return _0x2962d0;};return a0_0x37a1();}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x2160af(),F=process.env.COMMHUB_TOKEN||u[a0_0x667184(0x1b8)]||'';function W(_0x17784a){const _0x157899=a0_0x667184;let _0x1ccce4=new Date()[_0x157899(0x24a)]()['slice'](0x0,0x8);process[_0x157899(0x1e5)]['write']('['+_0x1ccce4+_0x157899(0x1f0)+_0x17784a+'\x0a');}function N(_0x35edb7){return new Promise(_0x1e2389=>setTimeout(_0x1e2389,_0x35edb7));}W('ENV:\x20URL='+j+'\x20ALIAS='+G+a0_0x667184(0x220)+K['slice'](0x0,0x8)+a0_0x667184(0x228)+(f||a0_0x667184(0x248))+a0_0x667184(0x1c8)+process[a0_0x667184(0x1d0)]()+a0_0x667184(0x229)+v);var D=new Map(),x=new a0_0x4fab82({'name':a0_0x667184(0x23f),'version':a0_0x667184(0x1cd)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x667184(0x206),a0_0x667184(0x210),a0_0x667184(0x1c5),a0_0x667184(0x243),a0_0x667184(0x1ee)+G][a0_0x667184(0x1ff)]('\x0a')});x[a0_0x667184(0x1ef)](a0_0x338881,async()=>({'tools':[{'name':a0_0x667184(0x1cb),'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_0x667184(0x240),'description':a0_0x667184(0x244)},'text':{'type':a0_0x667184(0x240),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x667184(0x240),'enum':['completed','failed',a0_0x667184(0x208),a0_0x667184(0x1f9),a0_0x667184(0x1e9),a0_0x667184(0x211)],'description':a0_0x667184(0x1ea)}},'required':[a0_0x667184(0x224)]}},{'name':a0_0x667184(0x21f),'description':a0_0x667184(0x23e),'inputSchema':{'type':a0_0x667184(0x1d6),'properties':{'status':{'type':a0_0x667184(0x240),'enum':[a0_0x667184(0x21e),a0_0x667184(0x1ae),a0_0x667184(0x1f9),a0_0x667184(0x1e9)]},'task':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x238)},'progress':{'type':a0_0x667184(0x231),'description':'Progress\x200-100'}},'required':[a0_0x667184(0x23a)]}},{'name':a0_0x667184(0x1fa),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x667184(0x1d6),'properties':{'alias':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x1f5)},'task':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x1b3)},'priority':{'type':a0_0x667184(0x240),'enum':[a0_0x667184(0x1c6),'normal','low'],'description':a0_0x667184(0x1d4)}},'required':[a0_0x667184(0x213),a0_0x667184(0x1d2)]}},{'name':a0_0x667184(0x247),'description':a0_0x667184(0x1be),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x1f5)},'message':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x1af)}},'required':[a0_0x667184(0x213),'message']}},{'name':a0_0x667184(0x221),'description':a0_0x667184(0x1ec),'inputSchema':{'type':'object','properties':{}}}]}));async function Y(_0x2c8151,_0x4d62cd){const _0x5607c6=a0_0x667184;let _0x414662=await fetch(j+_0x5607c6(0x1e6),{'method':_0x5607c6(0x1b6),'headers':{'Content-Type':_0x5607c6(0x1bd),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x5607c6(0x215)+F}:{}},'body':JSON[_0x5607c6(0x200)]({'jsonrpc':_0x5607c6(0x1b5),'id':0x1,'method':_0x5607c6(0x24b),'params':{'protocolVersion':_0x5607c6(0x21c),'capabilities':{},'clientInfo':{'name':'commhub-channel','version':_0x5607c6(0x1cd)}}})});if(!_0x414662['ok']){let _0x32141b=await _0x414662[_0x5607c6(0x224)]();return W(_0x5607c6(0x205)+_0x414662[_0x5607c6(0x23a)]+'\x20'+_0x32141b[_0x5607c6(0x1e4)](0x0,0x64)),{'ok':!0x1,'error':_0x5607c6(0x22c)+_0x414662[_0x5607c6(0x23a)]};}await _0x414662[_0x5607c6(0x224)]();let _0x10216d=(await(await fetch(j+_0x5607c6(0x1e6),{'method':'POST','headers':{'Content-Type':_0x5607c6(0x1bd),'Accept':_0x5607c6(0x1fc),...F?{'Authorization':_0x5607c6(0x215)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x5607c6(0x1b5),'id':0x2,'method':_0x5607c6(0x203),'params':{'name':_0x2c8151,'arguments':_0x4d62cd}})}))[_0x5607c6(0x224)]())[_0x5607c6(0x21b)]('\x0a')[_0x5607c6(0x225)](_0x1c0a76=>_0x1c0a76[_0x5607c6(0x1db)](_0x5607c6(0x1d8)));if(_0x10216d){let _0x24571b=JSON['parse'](_0x10216d[_0x5607c6(0x1e4)](0x6));return _0x24571b?.[_0x5607c6(0x1c2)]?.['content']?.[0x0]?.['text']?JSON[_0x5607c6(0x239)](_0x24571b['result'][_0x5607c6(0x1e3)][0x0][_0x5607c6(0x224)]):_0x24571b;}return{'ok':!0x1,'error':'no\x20response'};}x['setRequestHandler'](a0_0x35ba20,async _0x3a64aa=>{const _0x5c2e6d=a0_0x667184;let {name:_0x2c0439,arguments:_0x4906c6}=_0x3a64aa['params'];if(_0x2c0439===_0x5c2e6d(0x1cb)){let {task_id:_0x2a5ecd,text:_0x48d791,status:_0x1d74fe}=_0x4906c6;if(_0x1d74fe==='completed'||_0x1d74fe==='failed'||_0x1d74fe===_0x5c2e6d(0x208)){let _0x35abb7=_0x1d74fe==='completed'?_0x5c2e6d(0x236):_0x1d74fe,_0x3e14e2=_0x2a5ecd?D['get'](_0x2a5ecd)||_0x5c2e6d(0x1fe):'hub',_0xfe506f=await Y(_0x5c2e6d(0x1d9),{'alias':_0x3e14e2,'text':_0x48d791,'in_reply_to':_0x2a5ecd||void 0x0,'status':_0x35abb7,'from_session':G});if(_0x2a5ecd)D[_0x5c2e6d(0x22d)](_0x2a5ecd);return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)](_0xfe506f)}]};}let _0x3dfcc7=await Y(_0x5c2e6d(0x1c9),{'resume_id':K,'alias':G,'status':_0x1d74fe===_0x5c2e6d(0x1f9)?'blocked':_0x1d74fe==='error'?_0x5c2e6d(0x1e9):_0x5c2e6d(0x21e),'task':_0x48d791[_0x5c2e6d(0x1e4)](0x0,0xc8),'output':_0x48d791});return{'content':[{'type':'text','text':JSON['stringify'](_0x3dfcc7)}]};}if(_0x2c0439===_0x5c2e6d(0x21f)){let {status:_0x5486c0,task:_0x56cb53,progress:_0x23dc85}=_0x4906c6,_0x5d2394=await Y(_0x5c2e6d(0x1c9),{'resume_id':K,'alias':G,'status':_0x5486c0,'task':_0x56cb53,'progress':_0x23dc85});return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)](_0x5d2394)}]};}if(_0x2c0439==='commhub_send_task'){let {alias:_0x23e395,task:_0x47a866,priority:_0x1aa615}=_0x4906c6,_0x386ec3=await Y('send_task',{'alias':_0x23e395,'task':_0x47a866,'priority':_0x1aa615||_0x5c2e6d(0x1e7),'from_session':G});return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)](_0x386ec3)}]};}if(_0x2c0439===_0x5c2e6d(0x247)){let {alias:_0xa5635a,message:_0x363274}=_0x4906c6,_0x4795a4=await Y(_0x5c2e6d(0x1fb),{'alias':_0xa5635a,'message':_0x363274,'from_session':G});return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)](_0x4795a4)}]};}if(_0x2c0439===_0x5c2e6d(0x221)){let _0x12d2ee=await Y(_0x5c2e6d(0x245),{});return{'content':[{'type':'text','text':JSON[_0x5c2e6d(0x200)](_0x12d2ee)}]};}return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)]({'error':_0x5c2e6d(0x20a)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x542f85=a0_0x667184;try{await Y(_0x542f85(0x1c9),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x3b2b26(),'hostname':a0_0x3b2b26(),'agent':_0x542f85(0x212),'project_dir':process[_0x542f85(0x1d0)](),'tmux_name':f||void 0x0}),W(_0x542f85(0x1d7)+G+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x1d19a4){W(_0x542f85(0x20c)+_0x1d19a4);}}async function o(){const _0x811658=a0_0x667184;let _0x334f39=j+_0x811658(0x223)+encodeURIComponent(G),_0x671ca7={};if(F)_0x671ca7[_0x811658(0x1c4)]=_0x811658(0x215)+F;W('connecting\x20to\x20'+_0x334f39);let _0x1d7e65=O,_0x1fcf00=!0x0,_0x29feb1=null;while(!0x0){try{let _0x4ffa20=await fetch(_0x334f39,{'headers':_0x671ca7});if(!_0x4ffa20['ok']){if(W(_0x811658(0x241)+_0x4ffa20[_0x811658(0x23a)]+'\x20'+_0x4ffa20['statusText']),_0x29feb1=_0x29feb1??Date[_0x811658(0x216)](),Date[_0x811658(0x216)]()-_0x29feb1>T){W(_0x811658(0x222)+j+_0x811658(0x1ba));return;}await N(_0x1d7e65),_0x1d7e65=Math[_0x811658(0x232)](_0x1d7e65*0x2,R);continue;}let _0xf4997f=_0x4ffa20[_0x811658(0x227)][_0x811658(0x1d1)](),_0x4af4f0=new TextDecoder(),_0xf12c08='';_0x1d7e65=O;while(!0x0){let {done:_0x40d888,value:_0xeff582}=await _0xf4997f[_0x811658(0x1b0)]();if(_0x40d888)break;_0xf12c08+=_0x4af4f0['decode'](_0xeff582,{'stream':!0x0});let _0x16a5c7=_0xf12c08[_0x811658(0x21b)]('\x0a\x0a');_0xf12c08=_0x16a5c7[_0x811658(0x1c7)]()||'';for(let _0x22871d of _0x16a5c7){let _0x4bdfdf=_0x22871d['split']('\x0a')[_0x811658(0x225)](_0x51821a=>_0x51821a['startsWith'](_0x811658(0x1d8)));if(!_0x4bdfdf)continue;try{let _0x178c60=JSON[_0x811658(0x239)](_0x4bdfdf[_0x811658(0x1e4)](0x6));if(await a(_0x178c60),_0x178c60[_0x811658(0x1da)]===_0x811658(0x1bb)){if(_0x29feb1=null,!_0x1fcf00)await l();_0x1fcf00=!0x1;}}catch(_0x2588b4){W(_0x811658(0x1c1)+_0x2588b4);}}}W(_0x811658(0x246));}catch(_0x3c2c0b){W(_0x811658(0x1ed)+_0x3c2c0b);}if(_0x29feb1=_0x29feb1??Date[_0x811658(0x216)](),Date[_0x811658(0x216)]()-_0x29feb1>T){W(_0x811658(0x222)+j+_0x811658(0x1ba));return;}await N(_0x1d7e65),_0x1d7e65=Math[_0x811658(0x232)](_0x1d7e65*0x2,R);}}async function a(_0x43eee2){const _0x49f3d2=a0_0x667184;if(_0x43eee2[_0x49f3d2(0x1da)]===_0x49f3d2(0x1bb)){W(_0x49f3d2(0x207)+G+'\x22');return;}if(_0x43eee2[_0x49f3d2(0x1da)]===_0x49f3d2(0x209)){if(W('←\x20message\x20from\x20'+_0x43eee2[_0x49f3d2(0x235)]+':\x20'+_0x43eee2['message']['slice'](0x0,0x3c)),await x[_0x49f3d2(0x20d)]({'method':_0x49f3d2(0x217),'params':{'content':_0x43eee2[_0x49f3d2(0x1ca)],'meta':{'sender':_0x43eee2['from']||_0x49f3d2(0x1fe),'sender_id':_0x49f3d2(0x20b),'user':_0x43eee2[_0x49f3d2(0x235)]||_0x49f3d2(0x1fe),'priority':_0x49f3d2(0x1e7)}}}),_0x43eee2[_0x49f3d2(0x20e)])await Y('ack_inbox',{'alias':G,'message_id':_0x43eee2[_0x49f3d2(0x20e)]});return;}if(_0x43eee2[_0x49f3d2(0x1da)]===_0x49f3d2(0x1e0)||_0x43eee2[_0x49f3d2(0x1da)]===_0x49f3d2(0x218)){W('←\x20'+_0x43eee2[_0x49f3d2(0x1da)]+_0x49f3d2(0x23c)+_0x43eee2[_0x49f3d2(0x22e)]+_0x49f3d2(0x201)+(_0x43eee2[_0x49f3d2(0x242)]||_0x49f3d2(0x1e7)));let _0x2a3e8a=await Y(_0x49f3d2(0x22a),{'alias':G,'limit':0x5});if(_0x2a3e8a?.['ok']&&_0x2a3e8a[_0x49f3d2(0x1cf)]?.[_0x49f3d2(0x1e1)]>0x0)for(let _0x2a4c8e of _0x2a3e8a[_0x49f3d2(0x1cf)]){let _0x17cff8={'sender':_0x2a4c8e[_0x49f3d2(0x1c0)]||_0x49f3d2(0x1fe),'sender_id':_0x49f3d2(0x20b),'user':_0x2a4c8e[_0x49f3d2(0x1c0)]||_0x49f3d2(0x1fe),'task_id':_0x2a4c8e['id'],'priority':_0x2a4c8e['priority']||_0x49f3d2(0x1e7)};D[_0x49f3d2(0x1e2)](_0x2a4c8e['id'],_0x2a4c8e[_0x49f3d2(0x1c0)]||_0x49f3d2(0x1fe)),await x[_0x49f3d2(0x20d)]({'method':_0x49f3d2(0x217),'params':{'content':_0x2a4c8e[_0x49f3d2(0x1e3)],'meta':_0x17cff8}}),W(_0x49f3d2(0x1f8)+_0x2a4c8e['id'][_0x49f3d2(0x1e4)](0x0,0x8)+_0x49f3d2(0x1b7)+_0x2a4c8e[_0x49f3d2(0x1c0)]+':\x20'+_0x2a4c8e['content'][_0x49f3d2(0x1e4)](0x0,0x3c)),await Y(_0x49f3d2(0x204),{'alias':G,'message_id':_0x2a4c8e['id']});}}}async function n(){const _0x4e83e5=a0_0x667184;let _0x47c625=new a0_0x158967();await x[_0x4e83e5(0x1dc)](_0x47c625),W(_0x4e83e5(0x1bf)),W(_0x4e83e5(0x1eb)),o()[_0x4e83e5(0x1ce)](_0x57345e=>W('SSE\x20fatal:\x20'+_0x57345e)),Y('report_status',{'resume_id':K,'alias':G,'status':_0x4e83e5(0x1ae),'server':a0_0x3b2b26(),'hostname':a0_0x3b2b26(),'agent':_0x4e83e5(0x212),'project_dir':process[_0x4e83e5(0x1d0)](),'tmux_name':f||void 0x0})[_0x4e83e5(0x1d3)](()=>W(_0x4e83e5(0x22f)+G+'\x22\x20('+K[_0x4e83e5(0x1e4)](0x0,0x8)+')'))[_0x4e83e5(0x1ce)](_0x3e84ac=>W('warning:\x20could\x20not\x20register:\x20'+_0x3e84ac)),setInterval(()=>{const _0x5ade14=_0x4e83e5;Y(_0x5ade14(0x1c9),{'resume_id':K,'alias':G,'status':_0x5ade14(0x1ae),'server':a0_0x3b2b26(),'hostname':a0_0x3b2b26(),'agent':_0x5ade14(0x212),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x5ade14(0x1ce)](_0x291225=>W(_0x5ade14(0x1c3)+_0x291225));},0x2bf20),W(_0x4e83e5(0x21d));}n()['catch'](_0x2590bd=>{W('fatal:\x20'+_0x2590bd),process['exit'](0x1);});async function b(){const _0xd177b9=a0_0x667184;W(_0xd177b9(0x1df)),await Y(_0xd177b9(0x1c9),{'resume_id':K,'alias':G,'status':_0xd177b9(0x226),'task':_0xd177b9(0x214)})[_0xd177b9(0x1ce)](()=>{}),process[_0xd177b9(0x1d5)](0x0);}process[a0_0x667184(0x1f3)]['on'](a0_0x667184(0x219),()=>b()),process['on'](a0_0x667184(0x1b1),()=>b()),process['on'](a0_0x667184(0x1f6),()=>b());
2
+ const a0_0x5076e2=a0_0xcb2a;(function(_0x1ff7ba,_0x45c8c6){const _0x2a0d38=a0_0xcb2a,_0x1de4e0=_0x1ff7ba();while(!![]){try{const _0x11b957=parseInt(_0x2a0d38(0x187))/0x1+-parseInt(_0x2a0d38(0x20c))/0x2+parseInt(_0x2a0d38(0x1be))/0x3*(parseInt(_0x2a0d38(0x193))/0x4)+parseInt(_0x2a0d38(0x1bc))/0x5+-parseInt(_0x2a0d38(0x1a8))/0x6+parseInt(_0x2a0d38(0x1bf))/0x7+-parseInt(_0x2a0d38(0x1e9))/0x8*(parseInt(_0x2a0d38(0x19e))/0x9);if(_0x11b957===_0x45c8c6)break;else _0x1de4e0['push'](_0x1de4e0['shift']());}catch(_0x1796b5){_0x1de4e0['push'](_0x1de4e0['shift']());}}}(a0_0x4f30,0xf25fd));import{readFileSync as a0_0x5ecebf,existsSync as a0_0x223d03}from'fs';import{randomUUID as a0_0xc5b628}from'crypto';import{join as a0_0x39926c}from'path';import{hostname as a0_0xd90332}from'os';import{execSync as a0_0x42eb80}from'child_process';import{Server as a0_0x50fcc5}from'@modelcontextprotocol/sdk/server/index.js';function a0_0xcb2a(_0x49e910,_0x1feaba){_0x49e910=_0x49e910-0x17d;const _0x4f3097=a0_0x4f30();let _0xcb2a6d=_0x4f3097[_0x49e910];return _0xcb2a6d;}import{StdioServerTransport as a0_0x1557d3}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x413e24,CallToolRequestSchema as a0_0x1b81a8}from'@modelcontextprotocol/sdk/types.js';function I(_0x52512d){const _0x5d5d1b=a0_0xcb2a;if(!a0_0x223d03(_0x52512d))return;for(let _0x4eabd6 of a0_0x5ecebf(_0x52512d,_0x5d5d1b(0x213))[_0x5d5d1b(0x18a)]('\x0a')){let _0x3bc212=_0x4eabd6[_0x5d5d1b(0x1ae)]();if(!_0x3bc212||_0x3bc212[_0x5d5d1b(0x216)]('#'))continue;let _0x5e302c=_0x3bc212[_0x5d5d1b(0x1e3)]('=');if(_0x5e302c<0x0)continue;let _0x2792f2=_0x3bc212[_0x5d5d1b(0x1a2)](0x0,_0x5e302c)['trim'](),_0x26e716=_0x3bc212[_0x5d5d1b(0x1a2)](_0x5e302c+0x1)[_0x5d5d1b(0x1ae)]()[_0x5d5d1b(0x1c4)](/^["']|["']$/g,'');if(!process.env[_0x2792f2])process.env[_0x2792f2]=_0x26e716;}}var L=process.env.HOME||'~',U=a0_0x39926c(L,'.claude/channels/commhub');I(a0_0x39926c(U,a0_0x5076e2(0x1c5)));var v=process[a0_0x5076e2(0x19a)]()[a0_0x5076e2(0x1c4)](/\//g,'-');I(a0_0x39926c(U,v,'.env'));function d(){const _0x37f15b=a0_0x5076e2;try{return a0_0x42eb80(_0x37f15b(0x17e),{'encoding':_0x37f15b(0x213),'timeout':0x7d0})['trim']();}catch{return'';}}function m(){const _0x239593=a0_0x5076e2;try{let _0x20a067=a0_0x39926c(L,_0x239593(0x212),_0x239593(0x1af));if(a0_0x223d03(_0x20a067))return JSON[_0x239593(0x1d9)](a0_0x5ecebf(_0x20a067,_0x239593(0x213)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u['hub']||a0_0x5076e2(0x1db),f=process.env.COMMHUB_TMUX||d();function r(){const _0x3e2bb4=a0_0x5076e2;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x3e2bb4(0x1ae)]())return process.env.COMMHUB_ALIAS[_0x3e2bb4(0x1ae)]();return process['stderr'][_0x3e2bb4(0x200)](_0x3e2bb4(0x201)+(_0x3e2bb4(0x1ee)+(f||_0x3e2bb4(0x17f))+'\x20/\x20hostname='+a0_0xd90332()+_0x3e2bb4(0x1f4))),_0x3e2bb4(0x180)+process['pid'];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0xc5b628(),F=process.env.COMMHUB_TOKEN||u[a0_0x5076e2(0x188)]||'';function W(_0x2c52b0){const _0x2a738c=a0_0x5076e2;let _0x3eeeaf=new Date()[_0x2a738c(0x215)]()[_0x2a738c(0x1a2)](0x0,0x8);process[_0x2a738c(0x1ca)][_0x2a738c(0x200)]('['+_0x3eeeaf+']\x20[commhub]\x20'+_0x2c52b0+'\x0a');}function N(_0x59a12c){return new Promise(_0x40f87a=>setTimeout(_0x40f87a,_0x59a12c));}W(a0_0x5076e2(0x18b)+j+a0_0x5076e2(0x1dd)+G+a0_0x5076e2(0x1c3)+K[a0_0x5076e2(0x1a2)](0x0,0x8)+a0_0x5076e2(0x1e2)+(f||a0_0x5076e2(0x1c8))+a0_0x5076e2(0x1cd)+process[a0_0x5076e2(0x19a)]()+'\x20PROJECT_ENV='+v);var D=new Map(),x=new a0_0x50fcc5({'name':a0_0x5076e2(0x1d3),'version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x5076e2(0x1da),a0_0x5076e2(0x1b7),'Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.',a0_0x5076e2(0x1b3),'Session\x20alias:\x20'+G][a0_0x5076e2(0x190)]('\x0a')});x['setRequestHandler'](a0_0x413e24,async()=>({'tools':[{'name':a0_0x5076e2(0x20d),'description':a0_0x5076e2(0x1ac),'inputSchema':{'type':a0_0x5076e2(0x219),'properties':{'task_id':{'type':a0_0x5076e2(0x1de),'description':a0_0x5076e2(0x1b9)},'text':{'type':a0_0x5076e2(0x1de),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x5076e2(0x1de),'enum':['completed','failed',a0_0x5076e2(0x1fa),a0_0x5076e2(0x1e8),'error',a0_0x5076e2(0x1b0)],'description':a0_0x5076e2(0x218)}},'required':[a0_0x5076e2(0x1f7)]}},{'name':a0_0x5076e2(0x1b6),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0x5076e2(0x219),'properties':{'status':{'type':a0_0x5076e2(0x1de),'enum':[a0_0x5076e2(0x1d7),'idle','blocked','error']},'task':{'type':a0_0x5076e2(0x1de),'description':a0_0x5076e2(0x1f2)},'progress':{'type':a0_0x5076e2(0x1c0),'description':a0_0x5076e2(0x1fd)}},'required':[a0_0x5076e2(0x182)]}},{'name':a0_0x5076e2(0x1bb),'description':a0_0x5076e2(0x1ce),'inputSchema':{'type':a0_0x5076e2(0x219),'properties':{'alias':{'type':a0_0x5076e2(0x1de),'description':a0_0x5076e2(0x199)},'task':{'type':a0_0x5076e2(0x1de),'description':a0_0x5076e2(0x1b5)},'priority':{'type':a0_0x5076e2(0x1de),'enum':[a0_0x5076e2(0x181),a0_0x5076e2(0x19f),a0_0x5076e2(0x1a7)],'description':a0_0x5076e2(0x1a9)}},'required':['alias',a0_0x5076e2(0x1d2)]}},{'name':a0_0x5076e2(0x20b),'description':a0_0x5076e2(0x1d8),'inputSchema':{'type':a0_0x5076e2(0x219),'properties':{'alias':{'type':a0_0x5076e2(0x1de),'description':a0_0x5076e2(0x199)},'message':{'type':a0_0x5076e2(0x1de),'description':a0_0x5076e2(0x1ef)}},'required':[a0_0x5076e2(0x1bd),a0_0x5076e2(0x1f5)]}},{'name':a0_0x5076e2(0x1d1),'description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':a0_0x5076e2(0x219),'properties':{}}}]}));async function Y(_0x18f641,_0x2bb795){const _0x49a02f=a0_0x5076e2;let _0x293398=await fetch(j+_0x49a02f(0x198),{'method':_0x49a02f(0x1e4),'headers':{'Content-Type':_0x49a02f(0x1e0),'Accept':_0x49a02f(0x18f),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x49a02f(0x1aa)]({'jsonrpc':_0x49a02f(0x206),'id':0x1,'method':_0x49a02f(0x208),'params':{'protocolVersion':_0x49a02f(0x1fc),'capabilities':{},'clientInfo':{'name':_0x49a02f(0x1d3),'version':_0x49a02f(0x19c)}}})});if(!_0x293398['ok']){let _0xaf1e8a=await _0x293398[_0x49a02f(0x1f7)]();return W(_0x49a02f(0x1a4)+_0x293398[_0x49a02f(0x182)]+'\x20'+_0xaf1e8a[_0x49a02f(0x1a2)](0x0,0x64)),{'ok':!0x1,'error':_0x49a02f(0x189)+_0x293398[_0x49a02f(0x182)]};}await _0x293398[_0x49a02f(0x1f7)]();let _0x3d0eac=(await(await fetch(j+'/mcp',{'method':'POST','headers':{'Content-Type':_0x49a02f(0x1e0),'Accept':_0x49a02f(0x18f),...F?{'Authorization':_0x49a02f(0x185)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x49a02f(0x206),'id':0x2,'method':_0x49a02f(0x207),'params':{'name':_0x18f641,'arguments':_0x2bb795}})}))['text']())[_0x49a02f(0x18a)]('\x0a')['find'](_0x5a8366=>_0x5a8366[_0x49a02f(0x216)]('data:\x20'));if(_0x3d0eac){let _0x25ec7f=JSON[_0x49a02f(0x1d9)](_0x3d0eac['slice'](0x6));return _0x25ec7f?.['result']?.['content']?.[0x0]?.[_0x49a02f(0x1f7)]?JSON[_0x49a02f(0x1d9)](_0x25ec7f[_0x49a02f(0x1b4)][_0x49a02f(0x194)][0x0][_0x49a02f(0x1f7)]):_0x25ec7f;}return{'ok':!0x1,'error':'no\x20response'};}x[a0_0x5076e2(0x1ed)](a0_0x1b81a8,async _0x5a4113=>{const _0x35244f=a0_0x5076e2;let {name:_0x217d86,arguments:_0x4fc3a1}=_0x5a4113['params'];if(_0x217d86==='commhub_reply'){let {task_id:_0x51d966,text:_0x2b9be9,status:_0x49c71d}=_0x4fc3a1;if(_0x49c71d===_0x35244f(0x1c6)||_0x49c71d==='failed'||_0x49c71d===_0x35244f(0x1fa)){let _0x45495b=_0x49c71d===_0x35244f(0x1c6)?_0x35244f(0x1d6):_0x49c71d,_0x82167f=_0x51d966?D['get'](_0x51d966)||_0x35244f(0x1e6):_0x35244f(0x1e6),_0xeb2e05=await Y(_0x35244f(0x196),{'alias':_0x82167f,'text':_0x2b9be9,'in_reply_to':_0x51d966||void 0x0,'status':_0x45495b,'from_session':G});if(_0x51d966)D[_0x35244f(0x1e1)](_0x51d966);return{'content':[{'type':_0x35244f(0x1f7),'text':JSON[_0x35244f(0x1aa)](_0xeb2e05)}]};}let _0x4031c2=await Y(_0x35244f(0x1df),{'resume_id':K,'alias':G,'status':_0x49c71d===_0x35244f(0x1e8)?_0x35244f(0x1e8):_0x49c71d==='error'?'error':_0x35244f(0x1d7),'task':_0x2b9be9['slice'](0x0,0xc8),'output':_0x2b9be9});return{'content':[{'type':_0x35244f(0x1f7),'text':JSON[_0x35244f(0x1aa)](_0x4031c2)}]};}if(_0x217d86===_0x35244f(0x1b6)){let {status:_0x59e42d,task:_0x4390fb,progress:_0x24edd2}=_0x4fc3a1,_0x58978b=await Y(_0x35244f(0x1df),{'resume_id':K,'alias':G,'status':_0x59e42d,'task':_0x4390fb,'progress':_0x24edd2});return{'content':[{'type':_0x35244f(0x1f7),'text':JSON[_0x35244f(0x1aa)](_0x58978b)}]};}if(_0x217d86===_0x35244f(0x1bb)){let {alias:_0x2cabad,task:_0x54b3a5,priority:_0x4a6c93}=_0x4fc3a1,_0x3219c6=await Y(_0x35244f(0x1a5),{'alias':_0x2cabad,'task':_0x54b3a5,'priority':_0x4a6c93||_0x35244f(0x19f),'from_session':G});return{'content':[{'type':'text','text':JSON[_0x35244f(0x1aa)](_0x3219c6)}]};}if(_0x217d86===_0x35244f(0x20b)){let {alias:_0x11beda,message:_0x1b537d}=_0x4fc3a1,_0x2e04df=await Y(_0x35244f(0x1a3),{'alias':_0x11beda,'message':_0x1b537d,'from_session':G});return{'content':[{'type':_0x35244f(0x1f7),'text':JSON['stringify'](_0x2e04df)}]};}if(_0x217d86===_0x35244f(0x1d1)){let _0x50201a=await Y('get_all_status',{});return{'content':[{'type':_0x35244f(0x1f7),'text':JSON[_0x35244f(0x1aa)](_0x50201a)}]};}return{'content':[{'type':_0x35244f(0x1f7),'text':JSON[_0x35244f(0x1aa)]({'error':_0x35244f(0x1fb)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x2aa51e=a0_0x5076e2;try{await Y(_0x2aa51e(0x1df),{'resume_id':K,'alias':G,'status':'idle','server':a0_0xd90332(),'hostname':a0_0xd90332(),'agent':_0x2aa51e(0x197),'project_dir':process[_0x2aa51e(0x19a)](),'tmux_name':f||void 0x0}),W('re-registered\x20as\x20\x22'+G+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x1c398c){W('re-register\x20failed:\x20'+_0x1c398c);}}async function o(){const _0x1f926a=a0_0x5076e2;let _0x38935c=j+_0x1f926a(0x1b8)+encodeURIComponent(G),_0x22b7e8={};if(F)_0x22b7e8[_0x1f926a(0x1dc)]=_0x1f926a(0x185)+F;W(_0x1f926a(0x1b2)+_0x38935c);let _0x5e9dc3=O,_0x3032ba=!0x0,_0x216e07=null;while(!0x0){try{let _0x26a6c4=await fetch(_0x38935c,{'headers':_0x22b7e8});if(!_0x26a6c4['ok']){if(W('SSE\x20error:\x20'+_0x26a6c4[_0x1f926a(0x182)]+'\x20'+_0x26a6c4[_0x1f926a(0x1cc)]),_0x216e07=_0x216e07??Date['now'](),Date[_0x1f926a(0x1d0)]()-_0x216e07>T){W(_0x1f926a(0x19b)+j+_0x1f926a(0x1d5));return;}await N(_0x5e9dc3),_0x5e9dc3=Math[_0x1f926a(0x1b1)](_0x5e9dc3*0x2,R);continue;}let _0x175e39=_0x26a6c4[_0x1f926a(0x18c)][_0x1f926a(0x195)](),_0x95196c=new TextDecoder(),_0x2aaa5b='';_0x5e9dc3=O;while(!0x0){let {done:_0x4299fd,value:_0x1d271d}=await _0x175e39[_0x1f926a(0x1ff)]();if(_0x4299fd)break;_0x2aaa5b+=_0x95196c[_0x1f926a(0x1ab)](_0x1d271d,{'stream':!0x0});let _0x3be6c3=_0x2aaa5b[_0x1f926a(0x18a)]('\x0a\x0a');_0x2aaa5b=_0x3be6c3['pop']()||'';for(let _0x9c542b of _0x3be6c3){let _0x514789=_0x9c542b[_0x1f926a(0x18a)]('\x0a')[_0x1f926a(0x1e5)](_0x27d550=>_0x27d550[_0x1f926a(0x216)](_0x1f926a(0x19d)));if(!_0x514789)continue;try{let _0x5321c7=JSON[_0x1f926a(0x1d9)](_0x514789['slice'](0x6));if(await a(_0x5321c7),_0x5321c7[_0x1f926a(0x1cb)]===_0x1f926a(0x1c1)){if(_0x216e07=null,!_0x3032ba)await l();_0x3032ba=!0x1;}}catch(_0x42e762){W('parse\x20error:\x20'+_0x42e762);}}}W(_0x1f926a(0x1fe));}catch(_0x3ecd77){W(_0x1f926a(0x1a0)+_0x3ecd77);}if(_0x216e07=_0x216e07??Date[_0x1f926a(0x1d0)](),Date[_0x1f926a(0x1d0)]()-_0x216e07>T){W(_0x1f926a(0x19b)+j+_0x1f926a(0x1d5));return;}await N(_0x5e9dc3),_0x5e9dc3=Math[_0x1f926a(0x1b1)](_0x5e9dc3*0x2,R);}}async function a(_0x480a41){const _0x44013a=a0_0x5076e2;if(_0x480a41[_0x44013a(0x1cb)]===_0x44013a(0x1c1)){W(_0x44013a(0x17d)+G+'\x22');return;}if(_0x480a41[_0x44013a(0x1cb)]===_0x44013a(0x1f6)){if(W(_0x44013a(0x204)+_0x480a41[_0x44013a(0x183)]+':\x20'+_0x480a41[_0x44013a(0x1f5)][_0x44013a(0x1a2)](0x0,0x3c)),await x[_0x44013a(0x211)]({'method':'notifications/claude/channel','params':{'content':_0x480a41['message'],'meta':{'sender':_0x480a41[_0x44013a(0x183)]||'hub','sender_id':_0x44013a(0x214),'user':_0x480a41[_0x44013a(0x183)]||'hub','priority':'normal'}}}),_0x480a41[_0x44013a(0x186)])await Y('ack_inbox',{'alias':G,'message_id':_0x480a41['message_id']});return;}if(_0x480a41[_0x44013a(0x1cb)]===_0x44013a(0x1a1)||_0x480a41[_0x44013a(0x1cb)]==='broadcast'){W('←\x20'+_0x480a41[_0x44013a(0x1cb)]+_0x44013a(0x1ec)+_0x480a41[_0x44013a(0x1f0)]+_0x44013a(0x1f3)+(_0x480a41[_0x44013a(0x1a6)]||_0x44013a(0x19f)));let _0x47a122=await Y(_0x44013a(0x217),{'alias':G,'limit':0x5});if(_0x47a122?.['ok']&&_0x47a122[_0x44013a(0x191)]?.[_0x44013a(0x18d)]>0x0)for(let _0x572b3a of _0x47a122[_0x44013a(0x191)]){let _0x46e61c={'sender':_0x572b3a[_0x44013a(0x210)]||_0x44013a(0x1e6),'sender_id':'commhub','user':_0x572b3a[_0x44013a(0x210)]||'hub','task_id':_0x572b3a['id'],'priority':_0x572b3a[_0x44013a(0x1a6)]||'normal'};D[_0x44013a(0x1c2)](_0x572b3a['id'],_0x572b3a['from_session']||'hub'),await x[_0x44013a(0x211)]({'method':_0x44013a(0x20f),'params':{'content':_0x572b3a[_0x44013a(0x194)],'meta':_0x46e61c}}),W(_0x44013a(0x1ea)+_0x572b3a['id']['slice'](0x0,0x8)+_0x44013a(0x184)+_0x572b3a['from_session']+':\x20'+_0x572b3a[_0x44013a(0x194)][_0x44013a(0x1a2)](0x0,0x3c)),await Y(_0x44013a(0x1ad),{'alias':G,'message_id':_0x572b3a['id']});}}}async function n(){const _0x16f298=a0_0x5076e2;let _0x1b92ea=new a0_0x1557d3();await x[_0x16f298(0x1e7)](_0x1b92ea),W(_0x16f298(0x1eb)),W(_0x16f298(0x1d4)),o()[_0x16f298(0x1c9)](_0x2b0bf7=>W(_0x16f298(0x205)+_0x2b0bf7)),Y(_0x16f298(0x1df),{'resume_id':K,'alias':G,'status':_0x16f298(0x1ba),'server':a0_0xd90332(),'hostname':a0_0xd90332(),'agent':_0x16f298(0x197),'project_dir':process[_0x16f298(0x19a)](),'tmux_name':f||void 0x0})[_0x16f298(0x203)](()=>W(_0x16f298(0x1cf)+G+'\x22\x20('+K[_0x16f298(0x1a2)](0x0,0x8)+')'))[_0x16f298(0x1c9)](_0x429164=>W('warning:\x20could\x20not\x20register:\x20'+_0x429164)),setInterval(()=>{const _0x32c2e6=_0x16f298;Y(_0x32c2e6(0x1df),{'resume_id':K,'alias':G,'status':_0x32c2e6(0x1ba),'server':a0_0xd90332(),'hostname':a0_0xd90332(),'agent':_0x32c2e6(0x197),'project_dir':process[_0x32c2e6(0x19a)](),'tmux_name':f||void 0x0})[_0x32c2e6(0x1c9)](_0x1b2e41=>W(_0x32c2e6(0x18e)+_0x1b2e41));},0x2bf20),W(_0x16f298(0x202));}function a0_0x4f30(){const _0xfc2e80=['registered\x20as\x20\x22','now','commhub_get_all_status','task','commhub-channel','starting\x20SSE\x20listener...',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','replied','working','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','parse','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','http://127.0.0.1:9200','Authorization','\x20ALIAS=','string','report_status','application/json','delete','...\x20TMUX=','indexOf','POST','find','hub','connect','blocked','836704oXLVpb','→\x20injected\x20task\x20','MCP\x20stdio\x20connected',':\x20inbox_count=','setRequestHandler','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','Message\x20content','inbox_count','shutting\x20down,\x20reporting\x20offline...','Current\x20task\x20description','\x20priority=','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','message','new_message','text','offline','SIGTERM','cancelled','unknown\x20tool','2025-03-26','Progress\x200-100','SSE\x20stream\x20ended,\x20reconnecting...','read','write','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','ready\x20—\x20waiting\x20for\x20events','then','←\x20message\x20from\x20','SSE\x20fatal:\x20','2.0','tools/call','initialize','stdin','fatal:\x20','commhub_send_message','2985078cxWUKQ','commhub_reply','exit','notifications/claude/channel','from_session','notification','.anet','utf-8','commhub','toTimeString','startsWith','get_inbox','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','object','SSE\x20connected\x20as\x20\x22','tmux\x20display-message\x20-p\x20\x27#S\x27','(none)','unattributed-','high','status','from','\x20from\x20','Bearer\x20','message_id','1492761CGcvUf','token','init\x20failed:\x20','split','ENV:\x20URL=','body','length','heartbeat\x20failed:\x20','application/json,\x20text/event-stream','join','messages','SIGINT','155132IFGRnC','content','getReader','send_reply','claude-code','/mcp','Target\x20session\x20alias','cwd','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','0.3.0','data:\x20','45ZsiXqX','normal','SSE\x20connection\x20error:\x20','new_task','slice','send_message','CommHub\x20init\x20failed:\x20','send_task','priority','low','8605344aldfDZ','Priority\x20(default:\x20normal)','stringify','decode','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','ack_inbox','trim','config.json','in_progress','min','connecting\x20to\x20','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','result','Task\x20content','commhub_report_status','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','/events/','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','idle','commhub_send_task','1600665IiZdjD','alias','117khKxEA','7819259dGKgfR','number','connected','set','\x20RESUME_ID=','replace','.env','completed','end','none','catch','stderr','type','statusText','\x20CWD=','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.'];a0_0x4f30=function(){return _0xfc2e80;};return a0_0x4f30();}n()[a0_0x5076e2(0x1c9)](_0x162fd2=>{const _0xe1dee7=a0_0x5076e2;W(_0xe1dee7(0x20a)+_0x162fd2),process[_0xe1dee7(0x20e)](0x1);});async function b(){const _0x25952a=a0_0x5076e2;W(_0x25952a(0x1f1)),await Y(_0x25952a(0x1df),{'resume_id':K,'alias':G,'status':_0x25952a(0x1f8),'task':'session\x20disconnected'})[_0x25952a(0x1c9)](()=>{}),process[_0x25952a(0x20e)](0x0);}process[a0_0x5076e2(0x209)]['on'](a0_0x5076e2(0x1c7),()=>b()),process['on'](a0_0x5076e2(0x1f9),()=>b()),process['on'](a0_0x5076e2(0x192),()=>b());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network",
3
- "version": "2.2.20-preview.0",
3
+ "version": "2.2.21",
4
4
  "description": "AI Agent Network CLI — Local-first multi-agent orchestration across 4 runtimes (Claude Code CLI / Claude Agent SDK / Codex SDK / Grok Build ACP) and 8+ LLM providers (Anthropic / OpenAI / xAI Grok / MiniMax / DeepSeek / GLM / Kimi / InternLM / Xiaomi MiMo / OpenRouter). Apache 2.0.",
5
5
  "type": "module",
6
6
  "main": "dist/src/client.js",