@sleep2agi/agent-network 2.2.10-preview.3 → 2.2.10

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_0xd9bd58=a0_0x227f;(function(_0x8786e0,_0xb6c7b8){const _0x494e08=a0_0x227f,_0x97c11d=_0x8786e0();while(!![]){try{const _0x3acfb5=-parseInt(_0x494e08(0x21e))/0x1+-parseInt(_0x494e08(0x215))/0x2*(parseInt(_0x494e08(0x20b))/0x3)+-parseInt(_0x494e08(0x1f8))/0x4+-parseInt(_0x494e08(0x228))/0x5*(-parseInt(_0x494e08(0x218))/0x6)+parseInt(_0x494e08(0x21a))/0x7+parseInt(_0x494e08(0x206))/0x8*(-parseInt(_0x494e08(0x224))/0x9)+parseInt(_0x494e08(0x1f9))/0xa;if(_0x3acfb5===_0xb6c7b8)break;else _0x97c11d['push'](_0x97c11d['shift']());}catch(_0x582849){_0x97c11d['push'](_0x97c11d['shift']());}}}(a0_0x3243,0xe4ef2));import{EventEmitter as a0_0x39b435}from'events';import{hostname as a0_0x935beb}from'os';function a0_0x227f(_0x290a72,_0xd4faba){_0x290a72=_0x290a72-0x1e7;const _0x32435d=a0_0x3243();let _0x227ff1=_0x32435d[_0x290a72];return _0x227ff1;}class T extends a0_0x39b435{[a0_0xd9bd58(0x21f)];[a0_0xd9bd58(0x1f1)];[a0_0xd9bd58(0x1ff)];['agent'];['resumeId'];[a0_0xd9bd58(0x221)];[a0_0xd9bd58(0x232)];[a0_0xd9bd58(0x20d)];['sseAbort'];[a0_0xd9bd58(0x1f7)]=!0x1;constructor(_0x7abab0){const _0x5e100f=a0_0xd9bd58;super();if(this[_0x5e100f(0x21f)]=_0x7abab0['url'][_0x5e100f(0x1e8)](/\/$/,''),this['alias']=_0x7abab0['alias'],this[_0x5e100f(0x1ff)]=_0x7abab0[_0x5e100f(0x1ff)],this[_0x5e100f(0x21d)]=_0x7abab0['agent']||_0x5e100f(0x21c),this['resumeId']=_0x5e100f(0x23a)+_0x7abab0['alias']+'-'+Date[_0x5e100f(0x1eb)]()[_0x5e100f(0x230)](0x24),this[_0x5e100f(0x221)]=_0x7abab0[_0x5e100f(0x221)]??0x2bf20,this[_0x5e100f(0x232)]=_0x7abab0[_0x5e100f(0x232)]??0xbb8,_0x7abab0[_0x5e100f(0x1ea)]!==!0x1)this[_0x5e100f(0x20e)]();}[a0_0xd9bd58(0x201)](_0x15dd14){const _0x12caf7=a0_0xd9bd58;console['log']('['+new Date()[_0x12caf7(0x226)]()['slice'](0x0,0x8)+']\x20[commhub:'+this[_0x12caf7(0x1f1)]+']\x20'+_0x15dd14);}async['call'](_0x454462,_0x530ab3){const _0x56cc42=a0_0xd9bd58;let _0x2ba519={'Content-Type':_0x56cc42(0x1f2),'Accept':_0x56cc42(0x20c)};if(this[_0x56cc42(0x1ff)])_0x2ba519[_0x56cc42(0x213)]=_0x56cc42(0x23c)+this[_0x56cc42(0x1ff)];let _0x4d3c16=await(await fetch(this[_0x56cc42(0x21f)]+'/mcp',{'method':_0x56cc42(0x216),'headers':_0x2ba519,'body':JSON[_0x56cc42(0x219)]({'jsonrpc':_0x56cc42(0x1f4),'id':Date['now'](),'method':_0x56cc42(0x23e),'params':{'name':_0x454462,'arguments':_0x530ab3}})}))[_0x56cc42(0x20f)](),_0x5c8ba3=_0x4d3c16['match'](/data: (.+)/),_0x5d6f9a=_0x5c8ba3?JSON['parse'](_0x5c8ba3[0x1]):JSON['parse'](_0x4d3c16),_0x1bbc9f=_0x5d6f9a?.['result']?.['content']?.[0x0]?.[_0x56cc42(0x20f)];return _0x1bbc9f?JSON[_0x56cc42(0x1e9)](_0x1bbc9f):_0x5d6f9a;}async[a0_0xd9bd58(0x20e)](){const _0x55572e=a0_0xd9bd58;if(this['running'])return;this[_0x55572e(0x1f7)]=!0x0,await this['status']('idle'),this[_0x55572e(0x201)]('registered'),this[_0x55572e(0x20d)]=setInterval(()=>{const _0x3c5a66=_0x55572e;this['status'](_0x3c5a66(0x1fc))[_0x3c5a66(0x22e)](_0x3344f8=>this['log'](_0x3c5a66(0x239)+_0x3344f8['message']));},this[_0x55572e(0x221)]),this[_0x55572e(0x237)]();}async[a0_0xd9bd58(0x1f6)](){const _0x2e613c=a0_0xd9bd58;if(this[_0x2e613c(0x1f7)]=!0x1,this['sseAbort']?.[_0x2e613c(0x22b)](),this[_0x2e613c(0x20d)])clearInterval(this[_0x2e613c(0x20d)]);await this['status']('offline')[_0x2e613c(0x22e)](()=>{}),this[_0x2e613c(0x201)]('disconnected');}async['send'](_0x36b462,_0x1a7818,_0x4f45d1='normal'){const _0x25fdb5=a0_0xd9bd58;return this[_0x25fdb5(0x1fe)]('send_task',{'alias':_0x36b462,'task':_0x1a7818,'priority':_0x4f45d1,'from_session':this[_0x25fdb5(0x1f1)]});}async['message'](_0x187b98,_0x1dd991){const _0x7c2d43=a0_0xd9bd58;return this[_0x7c2d43(0x1fe)](_0x7c2d43(0x23b),{'alias':_0x187b98,'message':_0x1dd991,'from_session':this[_0x7c2d43(0x1f1)]});}async[a0_0xd9bd58(0x231)](_0x513cad,_0x10d20b,_0x4fca49=a0_0xd9bd58(0x235)){const _0x2afed1=a0_0xd9bd58;return this[_0x2afed1(0x1fe)](_0x2afed1(0x1ee),{'in_reply_to':_0x513cad,'text':_0x10d20b,'status':_0x4fca49});}async[a0_0xd9bd58(0x225)](_0x3bcd1e,_0x2fdc10){const _0x4ef99a=a0_0xd9bd58;return this[_0x4ef99a(0x1fe)](_0x4ef99a(0x234),{'resume_id':this[_0x4ef99a(0x200)],'alias':this[_0x4ef99a(0x1f1)],'status':_0x3bcd1e,'server':a0_0x935beb(),'hostname':a0_0x935beb(),'agent':this['agent'],'project_dir':process[_0x4ef99a(0x1ef)](),..._0x2fdc10});}async[a0_0xd9bd58(0x1fa)](){const _0x447f75=a0_0xd9bd58;return this[_0x447f75(0x1fe)](_0x447f75(0x21b),{});}async['broadcast'](_0x1159b5,_0x41b738){const _0x33bc5e=a0_0xd9bd58;return this[_0x33bc5e(0x1fe)](_0x33bc5e(0x1f3),{'message':_0x1159b5,'filter_server':_0x41b738?.[_0x33bc5e(0x1ec)],'filter_status':_0x41b738?.[_0x33bc5e(0x225)]});}async[a0_0xd9bd58(0x237)](){const _0x3af864=a0_0xd9bd58;let _0x3af77a=encodeURIComponent(this[_0x3af864(0x1f1)]),_0x30db10=this['url']+_0x3af864(0x1fd)+_0x3af77a,_0x2663bd=this[_0x3af864(0x232)];while(this['running']){try{this[_0x3af864(0x220)]=new AbortController();let _0x400199={'Accept':_0x3af864(0x223)};if(this[_0x3af864(0x1ff)])_0x400199[_0x3af864(0x213)]=_0x3af864(0x23c)+this[_0x3af864(0x1ff)];let _0x4a701e=await fetch(_0x30db10,{'headers':_0x400199,'signal':this['sseAbort'][_0x3af864(0x22c)]});if(!_0x4a701e['ok']||!_0x4a701e[_0x3af864(0x212)]){this[_0x3af864(0x201)](_0x3af864(0x217)+_0x4a701e[_0x3af864(0x225)]),await this[_0x3af864(0x203)](_0x2663bd),_0x2663bd=Math[_0x3af864(0x227)](_0x2663bd*1.5,0xea60);continue;}_0x2663bd=this['reconnectDelay'];let _0x225c81=_0x4a701e[_0x3af864(0x212)]['getReader'](),_0x2d2931=new TextDecoder(),_0xe9188b='';while(this[_0x3af864(0x1f7)]){let {done:_0xabd743,value:_0x2ff55a}=await _0x225c81[_0x3af864(0x236)]();if(_0xabd743)break;_0xe9188b+=_0x2d2931['decode'](_0x2ff55a,{'stream':!0x0});let _0x3aef7d=_0xe9188b[_0x3af864(0x22d)]('\x0a');_0xe9188b=_0x3aef7d[_0x3af864(0x211)]()||'';for(let _0x2682b2 of _0x3aef7d){if(!_0x2682b2[_0x3af864(0x205)](_0x3af864(0x233)))continue;try{let _0x2ea6a9=JSON[_0x3af864(0x1e9)](_0x2682b2[_0x3af864(0x229)](0x6));if(_0x2ea6a9[_0x3af864(0x23f)]==='connected'){this[_0x3af864(0x201)](_0x3af864(0x208)),this[_0x3af864(0x204)](_0x3af864(0x238));continue;}if(_0x2ea6a9['type']===_0x3af864(0x1f0)||_0x2ea6a9[_0x3af864(0x23f)]==='new_message'||_0x2ea6a9['type']===_0x3af864(0x1f3))await this[_0x3af864(0x22f)]();}catch{}}}}catch(_0x4956d3){if(_0x4956d3[_0x3af864(0x1ed)]==='AbortError')break;this['emit'](_0x3af864(0x214),_0x4956d3),this['log'](_0x3af864(0x222)+_0x4956d3[_0x3af864(0x207)]);}if(this['running'])this['emit'](_0x3af864(0x1f5)),this[_0x3af864(0x201)](_0x3af864(0x209)+_0x2663bd/0x3e8+_0x3af864(0x202)),await this['sleep'](_0x2663bd),_0x2663bd=Math[_0x3af864(0x227)](_0x2663bd*1.5,0xea60);}}async[a0_0xd9bd58(0x22f)](){const _0x185794=a0_0xd9bd58;try{let _0x29b1ba=(await this['call'](_0x185794(0x23d),{'alias':this[_0x185794(0x1f1)],'limit':0xa}))?.[_0x185794(0x210)]||[];for(let _0x30f023 of _0x29b1ba)await this[_0x185794(0x1fe)](_0x185794(0x20a),{'alias':this[_0x185794(0x1f1)],'message_id':_0x30f023['id']}),this['log']('←\x20'+_0x30f023[_0x185794(0x22a)]+':\x20'+_0x30f023[_0x185794(0x1fb)][_0x185794(0x229)](0x0,0x3c)),this[_0x185794(0x204)](_0x185794(0x1e7),_0x30f023),this[_0x185794(0x204)]('message',_0x30f023);}catch(_0x3e7388){this[_0x185794(0x201)]('inbox\x20error:\x20'+_0x3e7388[_0x185794(0x207)]);}}['sleep'](_0x2130c0){return new Promise(_0x3fff4b=>setTimeout(_0x3fff4b,_0x2130c0));}}var $=T;export{$ as default,T as CommHub};function a0_0x3243(){const _0x3a74dd=['sdk','agent','1798472MyyaXc','url','sseAbort','heartbeatInterval','SSE\x20error:\x20','text/event-stream','81yTdtTm','status','toTimeString','min','6530KZlwkO','slice','from_session','abort','signal','split','catch','processInbox','toString','reply','reconnectDelay','data:\x20','report_status','completed','read','connectSSE','connected','heartbeat\x20failed:\x20','sdk-','send_message','Bearer\x20','get_inbox','tools/call','type','task','replace','parse','autoConnect','now','server','name','send_reply','cwd','new_task','alias','application/json','broadcast','2.0','disconnected','disconnect','running','1910488XUxFZh','35519300YxAsdd','getAllStatus','content','idle','/events/','call','token','resumeId','log','s...','sleep','emit','startsWith','1270928TiVRPz','message','SSE\x20connected','SSE\x20reconnecting\x20in\x20','ack_inbox','29910QuDzxQ','application/json,\x20text/event-stream','heartbeatTimer','connect','text','messages','pop','body','Authorization','error','78cQULGC','POST','SSE\x20failed:\x20','5442KbAUGn','stringify','2071720kjJOSq','get_all_status'];a0_0x3243=function(){return _0x3a74dd;};return a0_0x3243();}
1
+ const a0_0x5e3c95=a0_0xd424;(function(_0x342ec5,_0x100fce){const _0x552cb2=a0_0xd424,_0x3dacbb=_0x342ec5();while(!![]){try{const _0x3dde3f=parseInt(_0x552cb2(0x1c5))/0x1+parseInt(_0x552cb2(0x1c1))/0x2*(parseInt(_0x552cb2(0x1ed))/0x3)+-parseInt(_0x552cb2(0x1dd))/0x4+-parseInt(_0x552cb2(0x1f9))/0x5+parseInt(_0x552cb2(0x1ac))/0x6*(parseInt(_0x552cb2(0x1d4))/0x7)+parseInt(_0x552cb2(0x1b8))/0x8*(parseInt(_0x552cb2(0x1e7))/0x9)+parseInt(_0x552cb2(0x1fa))/0xa*(-parseInt(_0x552cb2(0x1cc))/0xb);if(_0x3dde3f===_0x100fce)break;else _0x3dacbb['push'](_0x3dacbb['shift']());}catch(_0x37257f){_0x3dacbb['push'](_0x3dacbb['shift']());}}}(a0_0x1a56,0x614c2));function a0_0xd424(_0xd81171,_0x358114){_0xd81171=_0xd81171-0x1aa;const _0x1a5616=a0_0x1a56();let _0xd42499=_0x1a5616[_0xd81171];return _0xd42499;}import{EventEmitter as a0_0x440068}from'events';import{hostname as a0_0x4991ab}from'os';class T extends a0_0x440068{[a0_0x5e3c95(0x200)];[a0_0x5e3c95(0x1ab)];[a0_0x5e3c95(0x1fc)];['agent'];[a0_0x5e3c95(0x1c6)];[a0_0x5e3c95(0x1d0)];[a0_0x5e3c95(0x1bf)];['heartbeatTimer'];[a0_0x5e3c95(0x1e0)];['running']=!0x1;constructor(_0x2973b7){const _0x17f907=a0_0x5e3c95;super();if(this[_0x17f907(0x200)]=_0x2973b7[_0x17f907(0x200)][_0x17f907(0x1d6)](/\/$/,''),this[_0x17f907(0x1ab)]=_0x2973b7['alias'],this[_0x17f907(0x1fc)]=_0x2973b7[_0x17f907(0x1fc)],this[_0x17f907(0x1cd)]=_0x2973b7[_0x17f907(0x1cd)]||_0x17f907(0x1b6),this[_0x17f907(0x1c6)]='sdk-'+_0x2973b7['alias']+'-'+Date['now']()[_0x17f907(0x1be)](0x24),this[_0x17f907(0x1d0)]=_0x2973b7['heartbeatInterval']??0x2bf20,this['reconnectDelay']=_0x2973b7[_0x17f907(0x1bf)]??0xbb8,_0x2973b7['autoConnect']!==!0x1)this['connect']();}[a0_0x5e3c95(0x1ff)](_0x44246a){const _0x29ca4c=a0_0x5e3c95;console[_0x29ca4c(0x1ff)]('['+new Date()[_0x29ca4c(0x1d8)]()[_0x29ca4c(0x1c9)](0x0,0x8)+_0x29ca4c(0x1b4)+this[_0x29ca4c(0x1ab)]+']\x20'+_0x44246a);}async[a0_0x5e3c95(0x1d5)](_0x5465b2,_0x233ac2){const _0x4e8241=a0_0x5e3c95;let _0x39fa5b={'Content-Type':_0x4e8241(0x201),'Accept':'application/json,\x20text/event-stream'};if(this[_0x4e8241(0x1fc)])_0x39fa5b[_0x4e8241(0x1dc)]=_0x4e8241(0x1b2)+this[_0x4e8241(0x1fc)];let _0xe90ea6=await(await fetch(this['url']+_0x4e8241(0x1f1),{'method':_0x4e8241(0x1b9),'headers':_0x39fa5b,'body':JSON[_0x4e8241(0x1ba)]({'jsonrpc':_0x4e8241(0x1b3),'id':Date[_0x4e8241(0x1aa)](),'method':_0x4e8241(0x1f6),'params':{'name':_0x5465b2,'arguments':_0x233ac2}})}))['text'](),_0xdcddff=_0xe90ea6['match'](/data: (.+)/),_0x13f697=_0xdcddff?JSON[_0x4e8241(0x1b1)](_0xdcddff[0x1]):JSON['parse'](_0xe90ea6),_0x550fc8=_0x13f697?.['result']?.['content']?.[0x0]?.[_0x4e8241(0x1f8)];return _0x550fc8?JSON[_0x4e8241(0x1b1)](_0x550fc8):_0x13f697;}async[a0_0x5e3c95(0x1e5)](){const _0x4cc1c3=a0_0x5e3c95;if(this[_0x4cc1c3(0x1fd)])return;this[_0x4cc1c3(0x1fd)]=!0x0,await this['status'](_0x4cc1c3(0x1c7)),this['log'](_0x4cc1c3(0x1ea)),this['heartbeatTimer']=setInterval(()=>{const _0x149a28=_0x4cc1c3;this[_0x149a28(0x1b5)](_0x149a28(0x1c7))[_0x149a28(0x1ee)](_0x1bf6b2=>this[_0x149a28(0x1ff)](_0x149a28(0x1c3)+_0x1bf6b2[_0x149a28(0x1f3)]));},this[_0x4cc1c3(0x1d0)]),this[_0x4cc1c3(0x1de)]();}async[a0_0x5e3c95(0x1bb)](){const _0x545ccc=a0_0x5e3c95;if(this[_0x545ccc(0x1fd)]=!0x1,this[_0x545ccc(0x1e0)]?.['abort'](),this[_0x545ccc(0x1ae)])clearInterval(this['heartbeatTimer']);await this[_0x545ccc(0x1b5)](_0x545ccc(0x1b7))[_0x545ccc(0x1ee)](()=>{}),this['log'](_0x545ccc(0x1f5));}async[a0_0x5e3c95(0x1da)](_0x5e37a1,_0x4f6653,_0x5d3e4c='normal'){const _0x5bafad=a0_0x5e3c95;return this[_0x5bafad(0x1d5)](_0x5bafad(0x1fe),{'alias':_0x5e37a1,'task':_0x4f6653,'priority':_0x5d3e4c,'from_session':this[_0x5bafad(0x1ab)]});}async[a0_0x5e3c95(0x1f3)](_0x3bd5a2,_0x3b816e){const _0x2b99a2=a0_0x5e3c95;return this['call'](_0x2b99a2(0x1f2),{'alias':_0x3bd5a2,'message':_0x3b816e,'from_session':this[_0x2b99a2(0x1ab)]});}async[a0_0x5e3c95(0x1f7)](_0x32716d,_0x55cf05,_0x2a9f72=a0_0x5e3c95(0x1c2)){const _0x2d8e11=a0_0x5e3c95;return this[_0x2d8e11(0x1d5)](_0x2d8e11(0x1fb),{'in_reply_to':_0x32716d,'text':_0x55cf05,'status':_0x2a9f72});}async['status'](_0x24c395,_0x4a2793){const _0x52974c=a0_0x5e3c95;return this[_0x52974c(0x1d5)](_0x52974c(0x1d9),{'resume_id':this[_0x52974c(0x1c6)],'alias':this['alias'],'status':_0x24c395,'server':a0_0x4991ab(),'hostname':a0_0x4991ab(),'agent':this[_0x52974c(0x1cd)],'project_dir':process[_0x52974c(0x1d7)](),..._0x4a2793});}async[a0_0x5e3c95(0x1e9)](){const _0x315c0e=a0_0x5e3c95;return this[_0x315c0e(0x1d5)](_0x315c0e(0x1f4),{});}async[a0_0x5e3c95(0x1e3)](_0x2a34e3,_0x2a6479){const _0x4d628d=a0_0x5e3c95;return this[_0x4d628d(0x1d5)](_0x4d628d(0x1e3),{'message':_0x2a34e3,'filter_server':_0x2a6479?.[_0x4d628d(0x1d1)],'filter_status':_0x2a6479?.[_0x4d628d(0x1b5)]});}async['connectSSE'](){const _0x53d5b4=a0_0x5e3c95;let _0x346764=encodeURIComponent(this[_0x53d5b4(0x1ab)]),_0x11be5d=this['url']+'/events/'+_0x346764,_0x5d2b55=this[_0x53d5b4(0x1bf)];while(this[_0x53d5b4(0x1fd)]){try{this[_0x53d5b4(0x1e0)]=new AbortController();let _0x4f5fbb={'Accept':_0x53d5b4(0x1c4)};if(this[_0x53d5b4(0x1fc)])_0x4f5fbb[_0x53d5b4(0x1dc)]='Bearer\x20'+this[_0x53d5b4(0x1fc)];let _0x96127e=await fetch(_0x11be5d,{'headers':_0x4f5fbb,'signal':this[_0x53d5b4(0x1e0)][_0x53d5b4(0x1bc)]});if(!_0x96127e['ok']||!_0x96127e[_0x53d5b4(0x1e4)]){this[_0x53d5b4(0x1ff)](_0x53d5b4(0x1ce)+_0x96127e['status']),await this[_0x53d5b4(0x1eb)](_0x5d2b55),_0x5d2b55=Math['min'](_0x5d2b55*1.5,0xea60);continue;}_0x5d2b55=this['reconnectDelay'];let _0x18fad9=_0x96127e[_0x53d5b4(0x1e4)][_0x53d5b4(0x1c0)](),_0x264f80=new TextDecoder(),_0x3b3b90='';while(this[_0x53d5b4(0x1fd)]){let {done:_0x1d2c03,value:_0x3eff3e}=await _0x18fad9[_0x53d5b4(0x1b0)]();if(_0x1d2c03)break;_0x3b3b90+=_0x264f80[_0x53d5b4(0x1f0)](_0x3eff3e,{'stream':!0x0});let _0x2d1776=_0x3b3b90[_0x53d5b4(0x1df)]('\x0a');_0x3b3b90=_0x2d1776[_0x53d5b4(0x1ad)]()||'';for(let _0x13c5c4 of _0x2d1776){if(!_0x13c5c4['startsWith'](_0x53d5b4(0x1af)))continue;try{let _0x48d797=JSON[_0x53d5b4(0x1b1)](_0x13c5c4['slice'](0x6));if(_0x48d797[_0x53d5b4(0x1e6)]===_0x53d5b4(0x1e8)){this[_0x53d5b4(0x1ff)]('SSE\x20connected'),this[_0x53d5b4(0x1db)](_0x53d5b4(0x1e8));continue;}if(_0x48d797[_0x53d5b4(0x1e6)]==='new_task'||_0x48d797[_0x53d5b4(0x1e6)]===_0x53d5b4(0x1e1)||_0x48d797[_0x53d5b4(0x1e6)]==='broadcast')await this[_0x53d5b4(0x1ef)]();}catch{}}}}catch(_0x3b074d){if(_0x3b074d['name']===_0x53d5b4(0x1c8))break;this[_0x53d5b4(0x1db)](_0x53d5b4(0x1ec),_0x3b074d),this['log']('SSE\x20error:\x20'+_0x3b074d[_0x53d5b4(0x1f3)]);}if(this[_0x53d5b4(0x1fd)])this['emit']('disconnected'),this[_0x53d5b4(0x1ff)](_0x53d5b4(0x1e2)+_0x5d2b55/0x3e8+_0x53d5b4(0x1cb)),await this[_0x53d5b4(0x1eb)](_0x5d2b55),_0x5d2b55=Math[_0x53d5b4(0x1ca)](_0x5d2b55*1.5,0xea60);}}async[a0_0x5e3c95(0x1ef)](){const _0x55f00b=a0_0x5e3c95;try{let _0x32ce02=(await this[_0x55f00b(0x1d5)](_0x55f00b(0x1bd),{'alias':this[_0x55f00b(0x1ab)],'limit':0xa}))?.['messages']||[];for(let _0x4dee2e of _0x32ce02)await this['call'](_0x55f00b(0x1d3),{'alias':this[_0x55f00b(0x1ab)],'message_id':_0x4dee2e['id']}),this[_0x55f00b(0x1ff)]('←\x20'+_0x4dee2e['from_session']+':\x20'+_0x4dee2e['content'][_0x55f00b(0x1c9)](0x0,0x3c)),this['emit'](_0x55f00b(0x1d2),_0x4dee2e),this[_0x55f00b(0x1db)](_0x55f00b(0x1f3),_0x4dee2e);}catch(_0xcefdb4){this[_0x55f00b(0x1ff)](_0x55f00b(0x1cf)+_0xcefdb4[_0x55f00b(0x1f3)]);}}[a0_0x5e3c95(0x1eb)](_0x2fd977){return new Promise(_0xff0528=>setTimeout(_0xff0528,_0x2fd977));}}var $=T;function a0_0x1a56(){const _0x47b080=['offline','6238584lkUTvx','POST','stringify','disconnect','signal','get_inbox','toString','reconnectDelay','getReader','184438Tkdbxp','completed','heartbeat\x20failed:\x20','text/event-stream','551153LhcEZr','resumeId','idle','AbortError','slice','min','s...','11076934lbXwVg','agent','SSE\x20failed:\x20','inbox\x20error:\x20','heartbeatInterval','server','task','ack_inbox','112yEfHCX','call','replace','cwd','toTimeString','report_status','send','emit','Authorization','436316MlyZqM','connectSSE','split','sseAbort','new_message','SSE\x20reconnecting\x20in\x20','broadcast','body','connect','type','9fAsyRy','connected','getAllStatus','registered','sleep','error','3vvKkTC','catch','processInbox','decode','/mcp','send_message','message','get_all_status','disconnected','tools/call','reply','text','2032800aUYtiz','10ubWbEn','send_reply','token','running','send_task','log','url','application/json','now','alias','186738EBkUfn','pop','heartbeatTimer','data:\x20','read','parse','Bearer\x20','2.0',']\x20[commhub:','status','sdk'];a0_0x1a56=function(){return _0x47b080;};return a0_0x1a56();}export{$ as default,T as CommHub};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env bun
2
- const a0_0x585d11=a0_0x420a;(function(_0x2b49bf,_0x11779b){const _0x5c9fe3=a0_0x420a,_0x42464c=_0x2b49bf();while(!![]){try{const _0x871887=-parseInt(_0x5c9fe3(0x1eb))/0x1+-parseInt(_0x5c9fe3(0x1d0))/0x2*(parseInt(_0x5c9fe3(0x1d9))/0x3)+parseInt(_0x5c9fe3(0x17c))/0x4+parseInt(_0x5c9fe3(0x1d6))/0x5*(parseInt(_0x5c9fe3(0x19a))/0x6)+-parseInt(_0x5c9fe3(0x18e))/0x7*(parseInt(_0x5c9fe3(0x1cd))/0x8)+parseInt(_0x5c9fe3(0x187))/0x9*(parseInt(_0x5c9fe3(0x1cc))/0xa)+parseInt(_0x5c9fe3(0x1ff))/0xb*(parseInt(_0x5c9fe3(0x1b7))/0xc);if(_0x871887===_0x11779b)break;else _0x42464c['push'](_0x42464c['shift']());}catch(_0x553931){_0x42464c['push'](_0x42464c['shift']());}}}(a0_0xc8a7,0x867cf));function a0_0x420a(_0x1583b5,_0x8e8b80){_0x1583b5=_0x1583b5-0x176;const _0xc8a736=a0_0xc8a7();let _0x420a32=_0xc8a736[_0x1583b5];return _0x420a32;}import{readFileSync as a0_0x4ea7f5,existsSync as a0_0x1b2031}from'fs';import{randomUUID as a0_0x3e8e6a}from'crypto';import{join as a0_0x2e95dd}from'path';import{hostname as a0_0x2d16f6}from'os';import{execSync as a0_0x49a3d9}from'child_process';import{Server as a0_0x3adf07}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x3cf44f}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x2b2961,CallToolRequestSchema as a0_0x260f14}from'@modelcontextprotocol/sdk/types.js';function I(_0x28e8b4){const _0x32f8a4=a0_0x420a;if(!a0_0x1b2031(_0x28e8b4))return;for(let _0x281f30 of a0_0x4ea7f5(_0x28e8b4,_0x32f8a4(0x19d))['split']('\x0a')){let _0x573e35=_0x281f30[_0x32f8a4(0x1e4)]();if(!_0x573e35||_0x573e35[_0x32f8a4(0x201)]('#'))continue;let _0x3219c8=_0x573e35[_0x32f8a4(0x20d)]('=');if(_0x3219c8<0x0)continue;let _0x64a8df=_0x573e35[_0x32f8a4(0x209)](0x0,_0x3219c8)[_0x32f8a4(0x1e4)](),_0x1c4207=_0x573e35[_0x32f8a4(0x209)](_0x3219c8+0x1)['trim']()['replace'](/^["']|["']$/g,'');if(!process.env[_0x64a8df])process.env[_0x64a8df]=_0x1c4207;}}var L=process.env.HOME||'~',U=a0_0x2e95dd(L,a0_0x585d11(0x1bc));I(a0_0x2e95dd(U,a0_0x585d11(0x1c6)));var v=process[a0_0x585d11(0x1cf)]()[a0_0x585d11(0x179)](/\//g,'-');I(a0_0x2e95dd(U,v,a0_0x585d11(0x1c6)));function d(){const _0x425968=a0_0x585d11;try{return a0_0x49a3d9('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':_0x425968(0x19d),'timeout':0x7d0})[_0x425968(0x1e4)]();}catch{return'';}}function m(){const _0x4ba21f=a0_0x585d11;try{let _0x3ed433=a0_0x2e95dd(L,_0x4ba21f(0x1a3),'config.json');if(a0_0x1b2031(_0x3ed433))return JSON[_0x4ba21f(0x1f8)](a0_0x4ea7f5(_0x3ed433,_0x4ba21f(0x19d)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x585d11(0x1e8)]||'http://127.0.0.1:9200',f=process.env.COMMHUB_TMUX||d();function r(){const _0x3a2d20=a0_0x585d11;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS['trim']())return process.env.COMMHUB_ALIAS[_0x3a2d20(0x1e4)]();return process[_0x3a2d20(0x1c2)][_0x3a2d20(0x1b0)]('[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20'+(_0x3a2d20(0x1f3)+(f||_0x3a2d20(0x1f5))+_0x3a2d20(0x205)+a0_0x2d16f6()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),'unattributed-'+process['pid'];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x3e8e6a(),F=process.env.COMMHUB_TOKEN||u[a0_0x585d11(0x1c3)]||'';function W(_0x2d7acf){const _0x526fd1=a0_0x585d11;let _0x5cce36=new Date()[_0x526fd1(0x17d)]()['slice'](0x0,0x8);process[_0x526fd1(0x1c2)][_0x526fd1(0x1b0)]('['+_0x5cce36+_0x526fd1(0x1bf)+_0x2d7acf+'\x0a');}function N(_0x4206d9){return new Promise(_0x3523c0=>setTimeout(_0x3523c0,_0x4206d9));}W(a0_0x585d11(0x197)+j+a0_0x585d11(0x1a9)+G+'\x20RESUME_ID='+K[a0_0x585d11(0x209)](0x0,0x8)+a0_0x585d11(0x183)+(f||a0_0x585d11(0x1b4))+a0_0x585d11(0x1ea)+process['cwd']()+a0_0x585d11(0x1df)+v);var D=new Map(),x=new a0_0x3adf07({'name':a0_0x585d11(0x1dd),'version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x585d11(0x1dc),a0_0x585d11(0x1c9),'Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.',a0_0x585d11(0x181),a0_0x585d11(0x1fb)+G]['join']('\x0a')});x[a0_0x585d11(0x199)](a0_0x2b2961,async()=>({'tools':[{'name':a0_0x585d11(0x1b5),'description':a0_0x585d11(0x1b2),'inputSchema':{'type':'object','properties':{'task_id':{'type':'string','description':a0_0x585d11(0x203)},'text':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x17f)},'status':{'type':a0_0x585d11(0x1bd),'enum':['completed',a0_0x585d11(0x200),'cancelled',a0_0x585d11(0x182),a0_0x585d11(0x1ae),a0_0x585d11(0x1ef)],'description':a0_0x585d11(0x1b8)}},'required':[a0_0x585d11(0x194)]}},{'name':a0_0x585d11(0x20c),'description':a0_0x585d11(0x1cb),'inputSchema':{'type':a0_0x585d11(0x1d1),'properties':{'status':{'type':a0_0x585d11(0x1bd),'enum':['working',a0_0x585d11(0x1f4),'blocked','error']},'task':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x1a4)},'progress':{'type':a0_0x585d11(0x191),'description':a0_0x585d11(0x1a6)}},'required':[a0_0x585d11(0x1d2)]}},{'name':a0_0x585d11(0x1e1),'description':a0_0x585d11(0x206),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x1fe)},'task':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x1be)},'priority':{'type':a0_0x585d11(0x1bd),'enum':[a0_0x585d11(0x1a1),a0_0x585d11(0x213),a0_0x585d11(0x1d4)],'description':a0_0x585d11(0x178)}},'required':[a0_0x585d11(0x190),a0_0x585d11(0x18d)]}},{'name':a0_0x585d11(0x19b),'description':a0_0x585d11(0x1f2),'inputSchema':{'type':a0_0x585d11(0x1d1),'properties':{'alias':{'type':'string','description':'Target\x20session\x20alias'},'message':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x1b6)}},'required':['alias',a0_0x585d11(0x20f)]}},{'name':a0_0x585d11(0x1a2),'description':a0_0x585d11(0x1d3),'inputSchema':{'type':a0_0x585d11(0x1d1),'properties':{}}}]}));async function Y(_0x5f31e8,_0x41e0da){const _0x3a8d21=a0_0x585d11;let _0x217426=await fetch(j+'/mcp',{'method':_0x3a8d21(0x1c5),'headers':{'Content-Type':_0x3a8d21(0x1f6),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x3a8d21(0x1db)+F}:{}},'body':JSON[_0x3a8d21(0x1e6)]({'jsonrpc':_0x3a8d21(0x207),'id':0x1,'method':_0x3a8d21(0x1b1),'params':{'protocolVersion':_0x3a8d21(0x1da),'capabilities':{},'clientInfo':{'name':'commhub-channel','version':_0x3a8d21(0x1ad)}}})});if(!_0x217426['ok']){let _0x4d1730=await _0x217426['text']();return W(_0x3a8d21(0x19e)+_0x217426[_0x3a8d21(0x1d2)]+'\x20'+_0x4d1730[_0x3a8d21(0x209)](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x217426[_0x3a8d21(0x1d2)]};}await _0x217426[_0x3a8d21(0x194)]();let _0x27f3d8=(await(await fetch(j+_0x3a8d21(0x1b3),{'method':_0x3a8d21(0x1c5),'headers':{'Content-Type':_0x3a8d21(0x1f6),'Accept':_0x3a8d21(0x1fc),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x3a8d21(0x1e6)]({'jsonrpc':_0x3a8d21(0x207),'id':0x2,'method':_0x3a8d21(0x195),'params':{'name':_0x5f31e8,'arguments':_0x41e0da}})}))[_0x3a8d21(0x194)]())[_0x3a8d21(0x211)]('\x0a')[_0x3a8d21(0x18c)](_0x380a81=>_0x380a81[_0x3a8d21(0x201)](_0x3a8d21(0x188)));if(_0x27f3d8){let _0x36dab7=JSON['parse'](_0x27f3d8[_0x3a8d21(0x209)](0x6));return _0x36dab7?.[_0x3a8d21(0x1e5)]?.[_0x3a8d21(0x17a)]?.[0x0]?.['text']?JSON[_0x3a8d21(0x1f8)](_0x36dab7[_0x3a8d21(0x1e5)][_0x3a8d21(0x17a)][0x0][_0x3a8d21(0x194)]):_0x36dab7;}return{'ok':!0x1,'error':'no\x20response'};}x[a0_0x585d11(0x199)](a0_0x260f14,async _0x4aded6=>{const _0xc3e62b=a0_0x585d11;let {name:_0x35bc92,arguments:_0x1de429}=_0x4aded6['params'];if(_0x35bc92==='commhub_reply'){let {task_id:_0x532670,text:_0x5ec33f,status:_0x49612b}=_0x1de429;if(_0x49612b==='completed'||_0x49612b===_0xc3e62b(0x200)||_0x49612b===_0xc3e62b(0x1ee)){let _0x389fee=_0x49612b===_0xc3e62b(0x1c0)?_0xc3e62b(0x186):_0x49612b,_0x53315b=_0x532670?D[_0xc3e62b(0x208)](_0x532670)||_0xc3e62b(0x1e8):'hub',_0x300863=await Y(_0xc3e62b(0x20b),{'alias':_0x53315b,'text':_0x5ec33f,'in_reply_to':_0x532670||void 0x0,'status':_0x389fee,'from_session':G});if(_0x532670)D[_0xc3e62b(0x1e0)](_0x532670);return{'content':[{'type':_0xc3e62b(0x194),'text':JSON[_0xc3e62b(0x1e6)](_0x300863)}]};}let _0x13a829=await Y(_0xc3e62b(0x1f1),{'resume_id':K,'alias':G,'status':_0x49612b==='blocked'?'blocked':_0x49612b===_0xc3e62b(0x1ae)?_0xc3e62b(0x1ae):_0xc3e62b(0x1ab),'task':_0x5ec33f[_0xc3e62b(0x209)](0x0,0xc8),'output':_0x5ec33f});return{'content':[{'type':'text','text':JSON[_0xc3e62b(0x1e6)](_0x13a829)}]};}if(_0x35bc92===_0xc3e62b(0x20c)){let {status:_0x3f0ff9,task:_0x41fb61,progress:_0x35bc64}=_0x1de429,_0x508ed2=await Y(_0xc3e62b(0x1f1),{'resume_id':K,'alias':G,'status':_0x3f0ff9,'task':_0x41fb61,'progress':_0x35bc64});return{'content':[{'type':'text','text':JSON['stringify'](_0x508ed2)}]};}if(_0x35bc92==='commhub_send_task'){let {alias:_0x5ae1ce,task:_0x32c2f2,priority:_0x274914}=_0x1de429,_0x20d593=await Y('send_task',{'alias':_0x5ae1ce,'task':_0x32c2f2,'priority':_0x274914||_0xc3e62b(0x213),'from_session':G});return{'content':[{'type':_0xc3e62b(0x194),'text':JSON['stringify'](_0x20d593)}]};}if(_0x35bc92===_0xc3e62b(0x19b)){let {alias:_0x34a300,message:_0x138b3c}=_0x1de429,_0x24133f=await Y(_0xc3e62b(0x1c7),{'alias':_0x34a300,'message':_0x138b3c,'from_session':G});return{'content':[{'type':'text','text':JSON[_0xc3e62b(0x1e6)](_0x24133f)}]};}if(_0x35bc92===_0xc3e62b(0x1a2)){let _0x3079dc=await Y('get_all_status',{});return{'content':[{'type':'text','text':JSON[_0xc3e62b(0x1e6)](_0x3079dc)}]};}return{'content':[{'type':_0xc3e62b(0x194),'text':JSON[_0xc3e62b(0x1e6)]({'error':_0xc3e62b(0x1aa)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x24a295=a0_0x585d11;try{await Y(_0x24a295(0x1f1),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x2d16f6(),'hostname':a0_0x2d16f6(),'agent':_0x24a295(0x1ac),'project_dir':process[_0x24a295(0x1cf)](),'tmux_name':f||void 0x0}),W('re-registered\x20as\x20\x22'+G+_0x24a295(0x1f0));}catch(_0x4449f3){W(_0x24a295(0x196)+_0x4449f3);}}async function o(){const _0x425503=a0_0x585d11;let _0x5d8058=j+'/events/'+encodeURIComponent(G),_0x3fd41f={};if(F)_0x3fd41f['Authorization']=_0x425503(0x1db)+F;W(_0x425503(0x1b9)+_0x5d8058);let _0x42d14d=O,_0x42feda=!0x0,_0xa26eff=null;while(!0x0){try{let _0x337587=await fetch(_0x5d8058,{'headers':_0x3fd41f});if(!_0x337587['ok']){if(W(_0x425503(0x176)+_0x337587['status']+'\x20'+_0x337587[_0x425503(0x1ec)]),_0xa26eff=_0xa26eff??Date[_0x425503(0x212)](),Date['now']()-_0xa26eff>T){W(_0x425503(0x180)+j+_0x425503(0x1a0));return;}await N(_0x42d14d),_0x42d14d=Math[_0x425503(0x1e2)](_0x42d14d*0x2,R);continue;}let _0x5ca194=_0x337587['body']['getReader'](),_0x2b3726=new TextDecoder(),_0x5110e6='';_0x42d14d=O;while(!0x0){let {done:_0x30017a,value:_0x6dcb2c}=await _0x5ca194[_0x425503(0x18b)]();if(_0x30017a)break;_0x5110e6+=_0x2b3726[_0x425503(0x1e7)](_0x6dcb2c,{'stream':!0x0});let _0x5b8217=_0x5110e6['split']('\x0a\x0a');_0x5110e6=_0x5b8217[_0x425503(0x20a)]()||'';for(let _0x289b64 of _0x5b8217){let _0x586c1d=_0x289b64['split']('\x0a')['find'](_0x53d66f=>_0x53d66f['startsWith'](_0x425503(0x188)));if(!_0x586c1d)continue;try{let _0x363eb4=JSON[_0x425503(0x1f8)](_0x586c1d[_0x425503(0x209)](0x6));if(await a(_0x363eb4),_0x363eb4[_0x425503(0x1d7)]===_0x425503(0x1c8)){if(_0xa26eff=null,!_0x42feda)await l();_0x42feda=!0x1;}}catch(_0x559bf9){W(_0x425503(0x210)+_0x559bf9);}}}W(_0x425503(0x1ca));}catch(_0x24133e){W(_0x425503(0x1fd)+_0x24133e);}if(_0xa26eff=_0xa26eff??Date[_0x425503(0x212)](),Date['now']()-_0xa26eff>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x425503(0x1a0));return;}await N(_0x42d14d),_0x42d14d=Math[_0x425503(0x1e2)](_0x42d14d*0x2,R);}}async function a(_0x323528){const _0x269a13=a0_0x585d11;if(_0x323528[_0x269a13(0x1d7)]===_0x269a13(0x1c8)){W('SSE\x20connected\x20as\x20\x22'+G+'\x22');return;}if(_0x323528[_0x269a13(0x1d7)]==='new_message'){if(W(_0x269a13(0x1a5)+_0x323528['from']+':\x20'+_0x323528[_0x269a13(0x20f)][_0x269a13(0x209)](0x0,0x3c)),await x['notification']({'method':'notifications/claude/channel','params':{'content':_0x323528[_0x269a13(0x20f)],'meta':{'sender':_0x323528[_0x269a13(0x1d5)]||_0x269a13(0x1e8),'sender_id':_0x269a13(0x17b),'user':_0x323528[_0x269a13(0x1d5)]||_0x269a13(0x1e8),'priority':_0x269a13(0x213)}}}),_0x323528['message_id'])await Y(_0x269a13(0x19f),{'alias':G,'message_id':_0x323528[_0x269a13(0x1f9)]});return;}if(_0x323528[_0x269a13(0x1d7)]===_0x269a13(0x184)||_0x323528[_0x269a13(0x1d7)]===_0x269a13(0x192)){W('←\x20'+_0x323528[_0x269a13(0x1d7)]+_0x269a13(0x1bb)+_0x323528[_0x269a13(0x1d8)]+_0x269a13(0x202)+(_0x323528[_0x269a13(0x193)]||_0x269a13(0x213)));let _0x4937d6=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x4937d6?.['ok']&&_0x4937d6[_0x269a13(0x20e)]?.[_0x269a13(0x1c4)]>0x0)for(let _0x4169f1 of _0x4937d6[_0x269a13(0x20e)]){let _0x276bf8={'sender':_0x4169f1[_0x269a13(0x185)]||_0x269a13(0x1e8),'sender_id':_0x269a13(0x17b),'user':_0x4169f1[_0x269a13(0x185)]||_0x269a13(0x1e8),'task_id':_0x4169f1['id'],'priority':_0x4169f1['priority']||_0x269a13(0x213)};D[_0x269a13(0x1af)](_0x4169f1['id'],_0x4169f1[_0x269a13(0x185)]||_0x269a13(0x1e8)),await x['notification']({'method':'notifications/claude/channel','params':{'content':_0x4169f1[_0x269a13(0x17a)],'meta':_0x276bf8}}),W(_0x269a13(0x1c1)+_0x4169f1['id'][_0x269a13(0x209)](0x0,0x8)+_0x269a13(0x1e9)+_0x4169f1[_0x269a13(0x185)]+':\x20'+_0x4169f1[_0x269a13(0x17a)][_0x269a13(0x209)](0x0,0x3c)),await Y('ack_inbox',{'alias':G,'message_id':_0x4169f1['id']});}}}async function n(){const _0x16bd25=a0_0x585d11;let _0xb4b5c4=new a0_0x3cf44f();await x[_0x16bd25(0x1de)](_0xb4b5c4),W(_0x16bd25(0x19c)),W('starting\x20SSE\x20listener...'),o()[_0x16bd25(0x1ed)](_0x5b1753=>W('SSE\x20fatal:\x20'+_0x5b1753)),Y(_0x16bd25(0x1f1),{'resume_id':K,'alias':G,'status':_0x16bd25(0x1f4),'server':a0_0x2d16f6(),'hostname':a0_0x2d16f6(),'agent':_0x16bd25(0x1ac),'project_dir':process[_0x16bd25(0x1cf)](),'tmux_name':f||void 0x0})[_0x16bd25(0x1a7)](()=>W(_0x16bd25(0x17e)+G+_0x16bd25(0x1e3)+K['slice'](0x0,0x8)+')'))[_0x16bd25(0x1ed)](_0x326513=>W(_0x16bd25(0x1f7)+_0x326513)),setInterval(()=>{const _0x556c14=_0x16bd25;Y('report_status',{'resume_id':K,'alias':G,'status':'idle','server':a0_0x2d16f6(),'hostname':a0_0x2d16f6(),'agent':_0x556c14(0x1ac),'project_dir':process[_0x556c14(0x1cf)](),'tmux_name':f||void 0x0})[_0x556c14(0x1ed)](_0x5d780f=>W(_0x556c14(0x1ce)+_0x5d780f));},0x2bf20),W(_0x16bd25(0x177));}n()['catch'](_0x529531=>{const _0x3392f7=a0_0x585d11;W(_0x3392f7(0x1fa)+_0x529531),process[_0x3392f7(0x204)](0x1);});function a0_0xc8a7(){const _0x3db002=['SSE\x20stream\x20ended,\x20reconnecting...','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','10VITlLI','32tCGifl','heartbeat\x20failed:\x20','cwd','4722BwKhKa','object','status','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','low','from','155ZdOGEj','type','inbox_count','771MoQIgw','2025-03-26','Bearer\x20','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','commhub-channel','connect','\x20PROJECT_ENV=','delete','commhub_send_task','min','\x22\x20(','trim','result','stringify','decode','hub','\x20from\x20','\x20CWD=','290474BSXscx','statusText','catch','cancelled','in_progress','\x22\x20after\x20SSE\x20reconnect','report_status','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','idle','(none)','application/json','warning:\x20could\x20not\x20register:\x20','parse','message_id','fatal:\x20','Session\x20alias:\x20','application/json,\x20text/event-stream','SSE\x20connection\x20error:\x20','Target\x20session\x20alias','15213QJsEIR','failed','startsWith','\x20priority=','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','exit','\x20/\x20hostname=','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','2.0','get','slice','pop','send_reply','commhub_report_status','indexOf','messages','message','parse\x20error:\x20','split','now','normal','SSE\x20error:\x20','ready\x20—\x20waiting\x20for\x20events','Priority\x20(default:\x20normal)','replace','content','commhub','935872qbCLRF','toTimeString','registered\x20as\x20\x22','Reply\x20text\x20/\x20result\x20summary','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','blocked','...\x20TMUX=','new_task','from_session','replied','2668518RvpUMf','data:\x20','session\x20disconnected','shutting\x20down,\x20reporting\x20offline...','read','find','task','554071WZUDCM','SIGINT','alias','number','broadcast','priority','text','tools/call','re-register\x20failed:\x20','ENV:\x20URL=','offline','setRequestHandler','124590trgUST','commhub_send_message','MCP\x20stdio\x20connected','utf-8','CommHub\x20init\x20failed:\x20','ack_inbox',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','high','commhub_get_all_status','.anet','Current\x20task\x20description','←\x20message\x20from\x20','Progress\x200-100','then','end','\x20ALIAS=','unknown\x20tool','working','claude-code','0.3.0','error','set','write','initialize','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','/mcp','none','commhub_reply','Message\x20content','5124LLJgqR','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','connecting\x20to\x20','SIGTERM',':\x20inbox_count=','.claude/channels/commhub','string','Task\x20content',']\x20[commhub]\x20','completed','→\x20injected\x20task\x20','stderr','token','length','POST','.env','send_message','connected','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.'];a0_0xc8a7=function(){return _0x3db002;};return a0_0xc8a7();}async function b(){const _0x38575e=a0_0x585d11;W(_0x38575e(0x18a)),await Y(_0x38575e(0x1f1),{'resume_id':K,'alias':G,'status':_0x38575e(0x198),'task':_0x38575e(0x189)})['catch'](()=>{}),process['exit'](0x0);}process['stdin']['on'](a0_0x585d11(0x1a8),()=>b()),process['on'](a0_0x585d11(0x1ba),()=>b()),process['on'](a0_0x585d11(0x18f),()=>b());
2
+ const a0_0x5e5c49=a0_0x3117;(function(_0x262e5c,_0xfd783){const _0x44b82b=a0_0x3117,_0x8c7cf7=_0x262e5c();while(!![]){try{const _0x2f22b5=parseInt(_0x44b82b(0x128))/0x1+-parseInt(_0x44b82b(0x15d))/0x2+-parseInt(_0x44b82b(0x193))/0x3+-parseInt(_0x44b82b(0x12d))/0x4*(parseInt(_0x44b82b(0x14a))/0x5)+parseInt(_0x44b82b(0x13e))/0x6*(-parseInt(_0x44b82b(0x166))/0x7)+parseInt(_0x44b82b(0x130))/0x8*(-parseInt(_0x44b82b(0x13f))/0x9)+parseInt(_0x44b82b(0x14f))/0xa;if(_0x2f22b5===_0xfd783)break;else _0x8c7cf7['push'](_0x8c7cf7['shift']());}catch(_0x3111e1){_0x8c7cf7['push'](_0x8c7cf7['shift']());}}}(a0_0x14f3,0x72528));import{readFileSync as a0_0xa8ec25,existsSync as a0_0x536e40}from'fs';function a0_0x14f3(){const _0x459b01=['ack_inbox','new_message','CommHub\x20init\x20failed:\x20','failed','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','commhub_send_message','decode','http://127.0.0.1:9200','\x20/\x20hostname=','send_reply','←\x20message\x20from\x20','setRequestHandler','0.3.0','split','ready\x20—\x20waiting\x20for\x20events','slice','content','end','delete','489660XrmGIf','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','SIGINT','\x20RESUME_ID=','859496KjRLoA','startsWith','application/json,\x20text/event-stream','1786264yiBPKZ','statusText','commhub_report_status','task','claude-code','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','unknown\x20tool','.anet','set','completed','commhub_reply','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','type','4146OApUtJ','36mRXnkx','send_message','notification','get','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','alias','Task\x20content','cwd','report_status','SSE\x20error:\x20','read','20GfFrum','\x20CWD=','in_progress','Target\x20session\x20alias','find','29607100bzuOjd','SSE\x20connected\x20as\x20\x22','hub','text','.claude/channels/commhub','SIGTERM','\x20from\x20','Current\x20task\x20description','MCP\x20stdio\x20connected','messages','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','params','notifications/claude/channel','data:\x20','1342854GVRqCb','shutting\x20down,\x20reporting\x20offline...','message_id','Bearer\x20','commhub_get_all_status','priority','unattributed-','re-registered\x20as\x20\x22','catch','1169GLLAtE','message','connecting\x20to\x20','new_task','idle','stringify','object','application/json','Session\x20alias:\x20','init\x20failed:\x20','from_session','\x20PROJECT_ENV=',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','send_task','status','trim','Priority\x20(default:\x20normal)','2025-03-26','warning:\x20could\x20not\x20register:\x20','Message\x20content','normal','low','now','length','string','parse','/mcp','\x20ALIAS=','\x22\x20after\x20SSE\x20reconnect','tmux\x20display-message\x20-p\x20\x27#S\x27','from','blocked','replied','none','tools/call','SSE\x20fatal:\x20','pop','\x22\x20(','exit','stdin','re-register\x20failed:\x20','working','min','connected','body','1327962FFYcDE',']\x20[commhub]\x20','(none)','get_all_status','config.json','fatal:\x20','write','commhub','commhub_send_task','commhub-channel','/events/','SSE\x20connection\x20error:\x20','replace','cancelled','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','POST','no\x20response','number','error','stderr','result','session\x20disconnected','indexOf','ENV:\x20URL=','Authorization','getReader','2.0','join','SSE\x20stream\x20ended,\x20reconnecting...','utf-8'];a0_0x14f3=function(){return _0x459b01;};return a0_0x14f3();}import{randomUUID as a0_0x51f6e0}from'crypto';import{join as a0_0x206016}from'path';import{hostname as a0_0x17f5ef}from'os';import{execSync as a0_0x521170}from'child_process';import{Server as a0_0x493ad5}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x5ab9e5}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0xba7912,CallToolRequestSchema as a0_0x2b1362}from'@modelcontextprotocol/sdk/types.js';function I(_0x42eab9){const _0x58a57d=a0_0x3117;if(!a0_0x536e40(_0x42eab9))return;for(let _0x26e1d9 of a0_0xa8ec25(_0x42eab9,_0x58a57d(0x1b1))[_0x58a57d(0x1bf)]('\x0a')){let _0x5463d4=_0x26e1d9[_0x58a57d(0x175)]();if(!_0x5463d4||_0x5463d4['startsWith']('#'))continue;let _0x2fdf77=_0x5463d4[_0x58a57d(0x1aa)]('=');if(_0x2fdf77<0x0)continue;let _0xf54621=_0x5463d4[_0x58a57d(0x1c1)](0x0,_0x2fdf77)[_0x58a57d(0x175)](),_0x4c63bc=_0x5463d4[_0x58a57d(0x1c1)](_0x2fdf77+0x1)[_0x58a57d(0x175)]()[_0x58a57d(0x19f)](/^["']|["']$/g,'');if(!process.env[_0xf54621])process.env[_0xf54621]=_0x4c63bc;}}var L=process.env.HOME||'~',U=a0_0x206016(L,a0_0x5e5c49(0x153));I(a0_0x206016(U,'.env'));var v=process[a0_0x5e5c49(0x146)]()[a0_0x5e5c49(0x19f)](/\//g,'-');I(a0_0x206016(U,v,'.env'));function d(){const _0x537938=a0_0x5e5c49;try{return a0_0x521170(_0x537938(0x183),{'encoding':_0x537938(0x1b1),'timeout':0x7d0})[_0x537938(0x175)]();}catch{return'';}}function m(){const _0x4ebb33=a0_0x5e5c49;try{let _0x300e9c=a0_0x206016(L,_0x4ebb33(0x137),_0x4ebb33(0x197));if(a0_0x536e40(_0x300e9c))return JSON[_0x4ebb33(0x17f)](a0_0xa8ec25(_0x300e9c,_0x4ebb33(0x1b1)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u['hub']||a0_0x5e5c49(0x1b9),f=process.env.COMMHUB_TMUX||d();function r(){const _0x53d02f=a0_0x5e5c49;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x53d02f(0x175)]())return process.env.COMMHUB_ALIAS[_0x53d02f(0x175)]();return process[_0x53d02f(0x1a7)][_0x53d02f(0x199)](_0x53d02f(0x13c)+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(f||_0x53d02f(0x195))+_0x53d02f(0x1ba)+a0_0x17f5ef()+_0x53d02f(0x159))),_0x53d02f(0x163)+process['pid'];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x51f6e0(),F=process.env.COMMHUB_TOKEN||u['token']||'';function W(_0x1976ff){const _0xb2330c=a0_0x5e5c49;let _0x57c4aa=new Date()['toTimeString']()[_0xb2330c(0x1c1)](0x0,0x8);process[_0xb2330c(0x1a7)][_0xb2330c(0x199)]('['+_0x57c4aa+_0xb2330c(0x194)+_0x1976ff+'\x0a');}function N(_0x3ea285){return new Promise(_0x513b48=>setTimeout(_0x513b48,_0x3ea285));}function a0_0x3117(_0xe76813,_0x49b766){_0xe76813=_0xe76813-0x125;const _0x14f3c7=a0_0x14f3();let _0x311750=_0x14f3c7[_0xe76813];return _0x311750;}W(a0_0x5e5c49(0x1ab)+j+a0_0x5e5c49(0x181)+G+a0_0x5e5c49(0x12c)+K[a0_0x5e5c49(0x1c1)](0x0,0x8)+'...\x20TMUX='+(f||a0_0x5e5c49(0x187))+a0_0x5e5c49(0x14b)+process[a0_0x5e5c49(0x146)]()+a0_0x5e5c49(0x171)+v);var D=new Map(),x=new a0_0x493ad5({'name':'commhub-channel','version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':['Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','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_0x5e5c49(0x1a1),a0_0x5e5c49(0x16e)+G][a0_0x5e5c49(0x1af)]('\x0a')});x[a0_0x5e5c49(0x1bd)](a0_0xba7912,async()=>({'tools':[{'name':'commhub_reply','description':a0_0x5e5c49(0x1a2),'inputSchema':{'type':'object','properties':{'task_id':{'type':'string','description':a0_0x5e5c49(0x13b)},'text':{'type':a0_0x5e5c49(0x17e),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':'string','enum':['completed','failed',a0_0x5e5c49(0x1a0),a0_0x5e5c49(0x185),'error',a0_0x5e5c49(0x14c)],'description':a0_0x5e5c49(0x129)}},'required':[a0_0x5e5c49(0x152)]}},{'name':a0_0x5e5c49(0x132),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0x5e5c49(0x16c),'properties':{'status':{'type':a0_0x5e5c49(0x17e),'enum':[a0_0x5e5c49(0x18f),'idle',a0_0x5e5c49(0x185),a0_0x5e5c49(0x1a6)]},'task':{'type':'string','description':a0_0x5e5c49(0x156)},'progress':{'type':a0_0x5e5c49(0x1a5),'description':'Progress\x200-100'}},'required':[a0_0x5e5c49(0x174)]}},{'name':a0_0x5e5c49(0x19b),'description':a0_0x5e5c49(0x12a),'inputSchema':{'type':a0_0x5e5c49(0x16c),'properties':{'alias':{'type':a0_0x5e5c49(0x17e),'description':'Target\x20session\x20alias'},'task':{'type':a0_0x5e5c49(0x17e),'description':a0_0x5e5c49(0x145)},'priority':{'type':a0_0x5e5c49(0x17e),'enum':['high',a0_0x5e5c49(0x17a),a0_0x5e5c49(0x17b)],'description':a0_0x5e5c49(0x176)}},'required':[a0_0x5e5c49(0x144),a0_0x5e5c49(0x133)]}},{'name':a0_0x5e5c49(0x1b7),'description':a0_0x5e5c49(0x135),'inputSchema':{'type':a0_0x5e5c49(0x16c),'properties':{'alias':{'type':a0_0x5e5c49(0x17e),'description':a0_0x5e5c49(0x14d)},'message':{'type':a0_0x5e5c49(0x17e),'description':a0_0x5e5c49(0x179)}},'required':[a0_0x5e5c49(0x144),a0_0x5e5c49(0x167)]}},{'name':a0_0x5e5c49(0x161),'description':a0_0x5e5c49(0x143),'inputSchema':{'type':a0_0x5e5c49(0x16c),'properties':{}}}]}));async function Y(_0x378822,_0x2fd76c){const _0x3109a8=a0_0x5e5c49;let _0x581d0d=await fetch(j+_0x3109a8(0x180),{'method':_0x3109a8(0x1a3),'headers':{'Content-Type':_0x3109a8(0x16d),'Accept':_0x3109a8(0x12f),...F?{'Authorization':_0x3109a8(0x160)+F}:{}},'body':JSON[_0x3109a8(0x16b)]({'jsonrpc':_0x3109a8(0x1ae),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x3109a8(0x177),'capabilities':{},'clientInfo':{'name':_0x3109a8(0x19c),'version':_0x3109a8(0x1be)}}})});if(!_0x581d0d['ok']){let _0x490bf7=await _0x581d0d['text']();return W(_0x3109a8(0x1b4)+_0x581d0d[_0x3109a8(0x174)]+'\x20'+_0x490bf7['slice'](0x0,0x64)),{'ok':!0x1,'error':_0x3109a8(0x16f)+_0x581d0d[_0x3109a8(0x174)]};}await _0x581d0d[_0x3109a8(0x152)]();let _0x1e056b=(await(await fetch(j+_0x3109a8(0x180),{'method':_0x3109a8(0x1a3),'headers':{'Content-Type':'application/json','Accept':_0x3109a8(0x12f),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x3109a8(0x16b)]({'jsonrpc':_0x3109a8(0x1ae),'id':0x2,'method':_0x3109a8(0x188),'params':{'name':_0x378822,'arguments':_0x2fd76c}})}))[_0x3109a8(0x152)]())[_0x3109a8(0x1bf)]('\x0a')[_0x3109a8(0x14e)](_0x1f47bb=>_0x1f47bb['startsWith'](_0x3109a8(0x15c)));if(_0x1e056b){let _0x8e164f=JSON[_0x3109a8(0x17f)](_0x1e056b['slice'](0x6));return _0x8e164f?.[_0x3109a8(0x1a8)]?.[_0x3109a8(0x125)]?.[0x0]?.[_0x3109a8(0x152)]?JSON[_0x3109a8(0x17f)](_0x8e164f[_0x3109a8(0x1a8)][_0x3109a8(0x125)][0x0][_0x3109a8(0x152)]):_0x8e164f;}return{'ok':!0x1,'error':_0x3109a8(0x1a4)};}x[a0_0x5e5c49(0x1bd)](a0_0x2b1362,async _0x5ec4b8=>{const _0x133e98=a0_0x5e5c49;let {name:_0x3861ca,arguments:_0x541c63}=_0x5ec4b8[_0x133e98(0x15a)];if(_0x3861ca===_0x133e98(0x13a)){let {task_id:_0x3d42b5,text:_0x4f365b,status:_0xbc283b}=_0x541c63;if(_0xbc283b===_0x133e98(0x139)||_0xbc283b===_0x133e98(0x1b5)||_0xbc283b===_0x133e98(0x1a0)){let _0x512885=_0xbc283b==='completed'?_0x133e98(0x186):_0xbc283b,_0x978bb=_0x3d42b5?D[_0x133e98(0x142)](_0x3d42b5)||_0x133e98(0x151):_0x133e98(0x151),_0x40c700=await Y(_0x133e98(0x1bb),{'alias':_0x978bb,'text':_0x4f365b,'in_reply_to':_0x3d42b5||void 0x0,'status':_0x512885,'from_session':G});if(_0x3d42b5)D[_0x133e98(0x127)](_0x3d42b5);return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x40c700)}]};}let _0x4917cb=await Y(_0x133e98(0x147),{'resume_id':K,'alias':G,'status':_0xbc283b===_0x133e98(0x185)?_0x133e98(0x185):_0xbc283b===_0x133e98(0x1a6)?'error':_0x133e98(0x18f),'task':_0x4f365b[_0x133e98(0x1c1)](0x0,0xc8),'output':_0x4f365b});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x4917cb)}]};}if(_0x3861ca===_0x133e98(0x132)){let {status:_0x4739db,task:_0x2c80cd,progress:_0xdb3ad5}=_0x541c63,_0x563646=await Y(_0x133e98(0x147),{'resume_id':K,'alias':G,'status':_0x4739db,'task':_0x2c80cd,'progress':_0xdb3ad5});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x563646)}]};}if(_0x3861ca===_0x133e98(0x19b)){let {alias:_0x3f6da6,task:_0x3d743e,priority:_0x24cdbd}=_0x541c63,_0x11e4e6=await Y(_0x133e98(0x173),{'alias':_0x3f6da6,'task':_0x3d743e,'priority':_0x24cdbd||'normal','from_session':G});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x11e4e6)}]};}if(_0x3861ca===_0x133e98(0x1b7)){let {alias:_0x5a36d5,message:_0x15e0cd}=_0x541c63,_0x497c05=await Y(_0x133e98(0x140),{'alias':_0x5a36d5,'message':_0x15e0cd,'from_session':G});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x497c05)}]};}if(_0x3861ca===_0x133e98(0x161)){let _0x2ccb7c=await Y(_0x133e98(0x196),{});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x2ccb7c)}]};}return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)]({'error':_0x133e98(0x136)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x2ae89b=a0_0x5e5c49;try{await Y(_0x2ae89b(0x147),{'resume_id':K,'alias':G,'status':_0x2ae89b(0x16a),'server':a0_0x17f5ef(),'hostname':a0_0x17f5ef(),'agent':_0x2ae89b(0x134),'project_dir':process[_0x2ae89b(0x146)](),'tmux_name':f||void 0x0}),W(_0x2ae89b(0x164)+G+_0x2ae89b(0x182));}catch(_0x1ee938){W(_0x2ae89b(0x18e)+_0x1ee938);}}async function o(){const _0x5b3107=a0_0x5e5c49;let _0x2cf097=j+_0x5b3107(0x19d)+encodeURIComponent(G),_0x536aa9={};if(F)_0x536aa9[_0x5b3107(0x1ac)]=_0x5b3107(0x160)+F;W(_0x5b3107(0x168)+_0x2cf097);let _0x358115=O,_0x32c93a=!0x0,_0x188848=null;while(!0x0){try{let _0x4ad71c=await fetch(_0x2cf097,{'headers':_0x536aa9});if(!_0x4ad71c['ok']){if(W(_0x5b3107(0x148)+_0x4ad71c[_0x5b3107(0x174)]+'\x20'+_0x4ad71c[_0x5b3107(0x131)]),_0x188848=_0x188848??Date[_0x5b3107(0x17c)](),Date[_0x5b3107(0x17c)]()-_0x188848>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x5b3107(0x172));return;}await N(_0x358115),_0x358115=Math[_0x5b3107(0x190)](_0x358115*0x2,R);continue;}let _0x66fa08=_0x4ad71c[_0x5b3107(0x192)][_0x5b3107(0x1ad)](),_0x50de77=new TextDecoder(),_0x4ae453='';_0x358115=O;while(!0x0){let {done:_0x53386b,value:_0x315ea6}=await _0x66fa08[_0x5b3107(0x149)]();if(_0x53386b)break;_0x4ae453+=_0x50de77[_0x5b3107(0x1b8)](_0x315ea6,{'stream':!0x0});let _0x433502=_0x4ae453[_0x5b3107(0x1bf)]('\x0a\x0a');_0x4ae453=_0x433502[_0x5b3107(0x18a)]()||'';for(let _0x1ee967 of _0x433502){let _0x566f1a=_0x1ee967[_0x5b3107(0x1bf)]('\x0a')[_0x5b3107(0x14e)](_0x58bafc=>_0x58bafc[_0x5b3107(0x12e)](_0x5b3107(0x15c)));if(!_0x566f1a)continue;try{let _0x5497dd=JSON[_0x5b3107(0x17f)](_0x566f1a[_0x5b3107(0x1c1)](0x6));if(await a(_0x5497dd),_0x5497dd[_0x5b3107(0x13d)]===_0x5b3107(0x191)){if(_0x188848=null,!_0x32c93a)await l();_0x32c93a=!0x1;}}catch(_0x143919){W('parse\x20error:\x20'+_0x143919);}}}W(_0x5b3107(0x1b0));}catch(_0x25a814){W(_0x5b3107(0x19e)+_0x25a814);}if(_0x188848=_0x188848??Date[_0x5b3107(0x17c)](),Date[_0x5b3107(0x17c)]()-_0x188848>T){W(_0x5b3107(0x1b6)+j+_0x5b3107(0x172));return;}await N(_0x358115),_0x358115=Math[_0x5b3107(0x190)](_0x358115*0x2,R);}}async function a(_0x31bff2){const _0x38d671=a0_0x5e5c49;if(_0x31bff2[_0x38d671(0x13d)]===_0x38d671(0x191)){W(_0x38d671(0x150)+G+'\x22');return;}if(_0x31bff2['type']===_0x38d671(0x1b3)){if(W(_0x38d671(0x1bc)+_0x31bff2['from']+':\x20'+_0x31bff2[_0x38d671(0x167)]['slice'](0x0,0x3c)),await x[_0x38d671(0x141)]({'method':_0x38d671(0x15b),'params':{'content':_0x31bff2[_0x38d671(0x167)],'meta':{'sender':_0x31bff2[_0x38d671(0x184)]||_0x38d671(0x151),'sender_id':'commhub','user':_0x31bff2[_0x38d671(0x184)]||_0x38d671(0x151),'priority':'normal'}}}),_0x31bff2[_0x38d671(0x15f)])await Y(_0x38d671(0x1b2),{'alias':G,'message_id':_0x31bff2[_0x38d671(0x15f)]});return;}if(_0x31bff2[_0x38d671(0x13d)]===_0x38d671(0x169)||_0x31bff2['type']==='broadcast'){W('←\x20'+_0x31bff2[_0x38d671(0x13d)]+':\x20inbox_count='+_0x31bff2['inbox_count']+'\x20priority='+(_0x31bff2[_0x38d671(0x162)]||'normal'));let _0x81d0a0=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x81d0a0?.['ok']&&_0x81d0a0['messages']?.[_0x38d671(0x17d)]>0x0)for(let _0x512d34 of _0x81d0a0[_0x38d671(0x158)]){let _0x599e2d={'sender':_0x512d34[_0x38d671(0x170)]||_0x38d671(0x151),'sender_id':_0x38d671(0x19a),'user':_0x512d34[_0x38d671(0x170)]||_0x38d671(0x151),'task_id':_0x512d34['id'],'priority':_0x512d34['priority']||'normal'};D[_0x38d671(0x138)](_0x512d34['id'],_0x512d34['from_session']||'hub'),await x['notification']({'method':'notifications/claude/channel','params':{'content':_0x512d34[_0x38d671(0x125)],'meta':_0x599e2d}}),W('→\x20injected\x20task\x20'+_0x512d34['id'][_0x38d671(0x1c1)](0x0,0x8)+_0x38d671(0x155)+_0x512d34[_0x38d671(0x170)]+':\x20'+_0x512d34[_0x38d671(0x125)]['slice'](0x0,0x3c)),await Y(_0x38d671(0x1b2),{'alias':G,'message_id':_0x512d34['id']});}}}async function n(){const _0x4148ca=a0_0x5e5c49;let _0x2fd26c=new a0_0x5ab9e5();await x['connect'](_0x2fd26c),W(_0x4148ca(0x157)),W('starting\x20SSE\x20listener...'),o()[_0x4148ca(0x165)](_0x3ce23d=>W(_0x4148ca(0x189)+_0x3ce23d)),Y(_0x4148ca(0x147),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x17f5ef(),'hostname':a0_0x17f5ef(),'agent':'claude-code','project_dir':process[_0x4148ca(0x146)](),'tmux_name':f||void 0x0})['then'](()=>W('registered\x20as\x20\x22'+G+_0x4148ca(0x18b)+K[_0x4148ca(0x1c1)](0x0,0x8)+')'))[_0x4148ca(0x165)](_0x253d1a=>W(_0x4148ca(0x178)+_0x253d1a)),setInterval(()=>{const _0x1ab862=_0x4148ca;Y('report_status',{'resume_id':K,'alias':G,'status':_0x1ab862(0x16a),'server':a0_0x17f5ef(),'hostname':a0_0x17f5ef(),'agent':_0x1ab862(0x134),'project_dir':process[_0x1ab862(0x146)](),'tmux_name':f||void 0x0})[_0x1ab862(0x165)](_0x48f943=>W('heartbeat\x20failed:\x20'+_0x48f943));},0x2bf20),W(_0x4148ca(0x1c0));}n()[a0_0x5e5c49(0x165)](_0x4d1ad3=>{const _0x3c9687=a0_0x5e5c49;W(_0x3c9687(0x198)+_0x4d1ad3),process[_0x3c9687(0x18c)](0x1);});async function b(){const _0x195080=a0_0x5e5c49;W(_0x195080(0x15e)),await Y('report_status',{'resume_id':K,'alias':G,'status':'offline','task':_0x195080(0x1a9)})['catch'](()=>{}),process['exit'](0x0);}process[a0_0x5e5c49(0x18d)]['on'](a0_0x5e5c49(0x126),()=>b()),process['on'](a0_0x5e5c49(0x154),()=>b()),process['on'](a0_0x5e5c49(0x12b),()=>b());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network",
3
- "version": "2.2.10-preview.3",
3
+ "version": "2.2.10",
4
4
  "description": "AI Agent Network CLI \u2014 Create multi-agent networks with user management, network isolation, and 3 AI runtimes (Claude/Codex/MiniMax). 39 commands.",
5
5
  "type": "module",
6
6
  "main": "dist/src/client.js",