@sleep2agi/agent-network 2.2.8 → 2.2.9-preview.0
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.
- package/README.md +12 -12
- package/dist/bin/cli.js +1 -1
- package/dist/src/client.js +1 -1
- package/dist/src/node-server.js +1 -1
- package/package.json +3 -3
package/dist/src/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x37c12=a0_0x2702;function a0_0x2702(_0x46cb19,_0x780114){_0x46cb19=_0x46cb19-0x15b;const _0x1721c2=a0_0x1721();let _0x2702a6=_0x1721c2[_0x46cb19];return _0x2702a6;}(function(_0x2a90f8,_0x1f76af){const _0xdeacf3=a0_0x2702,_0x32d741=_0x2a90f8();while(!![]){try{const _0x526d0d=-parseInt(_0xdeacf3(0x1a8))/0x1*(-parseInt(_0xdeacf3(0x1ab))/0x2)+-parseInt(_0xdeacf3(0x17d))/0x3*(parseInt(_0xdeacf3(0x18e))/0x4)+parseInt(_0xdeacf3(0x17f))/0x5+parseInt(_0xdeacf3(0x19d))/0x6+-parseInt(_0xdeacf3(0x199))/0x7+-parseInt(_0xdeacf3(0x166))/0x8*(parseInt(_0xdeacf3(0x18b))/0x9)+-parseInt(_0xdeacf3(0x187))/0xa*(-parseInt(_0xdeacf3(0x185))/0xb);if(_0x526d0d===_0x1f76af)break;else _0x32d741['push'](_0x32d741['shift']());}catch(_0x11c3e7){_0x32d741['push'](_0x32d741['shift']());}}}(a0_0x1721,0xf1bf6));import{EventEmitter as a0_0x3690f5}from'events';import{hostname as a0_0x33de0d}from'os';class T extends a0_0x3690f5{[a0_0x37c12(0x1ad)];[a0_0x37c12(0x196)];[a0_0x37c12(0x1a3)];[a0_0x37c12(0x18d)];[a0_0x37c12(0x19e)];[a0_0x37c12(0x170)];['reconnectDelay'];[a0_0x37c12(0x171)];[a0_0x37c12(0x1ac)];['running']=!0x1;constructor(_0x454e4d){const _0x214ab5=a0_0x37c12;super();if(this['url']=_0x454e4d[_0x214ab5(0x1ad)]['replace'](/\/$/,''),this['alias']=_0x454e4d['alias'],this['token']=_0x454e4d[_0x214ab5(0x1a3)],this[_0x214ab5(0x18d)]=_0x454e4d[_0x214ab5(0x18d)]||'sdk',this[_0x214ab5(0x19e)]=_0x214ab5(0x169)+_0x454e4d[_0x214ab5(0x196)]+'-'+Date[_0x214ab5(0x1b1)]()['toString'](0x24),this['heartbeatInterval']=_0x454e4d[_0x214ab5(0x170)]??0x2bf20,this[_0x214ab5(0x172)]=_0x454e4d[_0x214ab5(0x172)]??0xbb8,_0x454e4d[_0x214ab5(0x195)]!==!0x1)this[_0x214ab5(0x163)]();}[a0_0x37c12(0x191)](_0x596979){const _0x15e11f=a0_0x37c12;console['log']('['+new Date()[_0x15e11f(0x186)]()[_0x15e11f(0x160)](0x0,0x8)+']\x20[commhub:'+this[_0x15e11f(0x196)]+']\x20'+_0x596979);}async[a0_0x37c12(0x15d)](_0x9ff652,_0x57b68a){const _0x1772ba=a0_0x37c12;let _0x43828a={'Content-Type':_0x1772ba(0x189),'Accept':_0x1772ba(0x179)};if(this[_0x1772ba(0x1a3)])_0x43828a['Authorization']=_0x1772ba(0x19f)+this[_0x1772ba(0x1a3)];let _0x3048a9=await(await fetch(this[_0x1772ba(0x1ad)]+_0x1772ba(0x167),{'method':_0x1772ba(0x1b0),'headers':_0x43828a,'body':JSON[_0x1772ba(0x174)]({'jsonrpc':_0x1772ba(0x1a5),'id':Date[_0x1772ba(0x1b1)](),'method':'tools/call','params':{'name':_0x9ff652,'arguments':_0x57b68a}})}))[_0x1772ba(0x16d)](),_0x9ff465=_0x3048a9['match'](/data: (.+)/),_0x27bf5a=_0x9ff465?JSON['parse'](_0x9ff465[0x1]):JSON[_0x1772ba(0x176)](_0x3048a9),_0x18aa5a=_0x27bf5a?.[_0x1772ba(0x177)]?.[_0x1772ba(0x164)]?.[0x0]?.[_0x1772ba(0x16d)];return _0x18aa5a?JSON[_0x1772ba(0x176)](_0x18aa5a):_0x27bf5a;}async[a0_0x37c12(0x163)](){const _0x695424=a0_0x37c12;if(this['running'])return;this[_0x695424(0x183)]=!0x0,await this[_0x695424(0x162)]('idle'),this[_0x695424(0x191)](_0x695424(0x161)),this['heartbeatTimer']=setInterval(()=>{const _0x5927ef=_0x695424;this['status'](_0x5927ef(0x1a1))[_0x5927ef(0x17b)](_0x179542=>this[_0x5927ef(0x191)]('heartbeat\x20failed:\x20'+_0x179542[_0x5927ef(0x15e)]));},this[_0x695424(0x170)]),this[_0x695424(0x1a6)]();}async[a0_0x37c12(0x173)](){const _0x3aa73b=a0_0x37c12;if(this[_0x3aa73b(0x183)]=!0x1,this[_0x3aa73b(0x1ac)]?.['abort'](),this['heartbeatTimer'])clearInterval(this['heartbeatTimer']);await this[_0x3aa73b(0x162)](_0x3aa73b(0x18f))[_0x3aa73b(0x17b)](()=>{}),this[_0x3aa73b(0x191)](_0x3aa73b(0x1a7));}async[a0_0x37c12(0x15c)](_0x1ea3f3,_0x49d273,_0x4b7b3f=a0_0x37c12(0x1a9)){const _0x5493db=a0_0x37c12;return this[_0x5493db(0x15d)](_0x5493db(0x1a2),{'alias':_0x1ea3f3,'task':_0x49d273,'priority':_0x4b7b3f,'from_session':this[_0x5493db(0x196)]});}async[a0_0x37c12(0x15e)](_0xc77aae,_0x52572b){const _0x549e2b=a0_0x37c12;return this[_0x549e2b(0x15d)](_0x549e2b(0x178),{'alias':_0xc77aae,'message':_0x52572b,'from_session':this['alias']});}async['reply'](_0x4487b7,_0x4627d4,_0x44d6b2='completed'){const _0x9a2ca4=a0_0x37c12;return this[_0x9a2ca4(0x15d)](_0x9a2ca4(0x15f),{'in_reply_to':_0x4487b7,'text':_0x4627d4,'status':_0x44d6b2});}async[a0_0x37c12(0x162)](_0x2f17fd,_0x12e637){const _0x49299e=a0_0x37c12;return this[_0x49299e(0x15d)](_0x49299e(0x181),{'resume_id':this[_0x49299e(0x19e)],'alias':this['alias'],'status':_0x2f17fd,'server':a0_0x33de0d(),'hostname':a0_0x33de0d(),'agent':this[_0x49299e(0x18d)],'project_dir':process[_0x49299e(0x16c)](),..._0x12e637});}async[a0_0x37c12(0x1aa)](){const _0x1cdfc8=a0_0x37c12;return this[_0x1cdfc8(0x15d)](_0x1cdfc8(0x16f),{});}async[a0_0x37c12(0x182)](_0x25c642,_0x59cd1c){const _0x3bb972=a0_0x37c12;return this[_0x3bb972(0x15d)](_0x3bb972(0x182),{'message':_0x25c642,'filter_server':_0x59cd1c?.[_0x3bb972(0x16e)],'filter_status':_0x59cd1c?.[_0x3bb972(0x162)]});}async[a0_0x37c12(0x1a6)](){const _0x359bcc=a0_0x37c12;let _0x1c0b19=encodeURIComponent(this['alias']),_0x52bdb9=this[_0x359bcc(0x1ad)]+_0x359bcc(0x175)+_0x1c0b19,_0x41b17e=this[_0x359bcc(0x172)];while(this[_0x359bcc(0x183)]){try{this[_0x359bcc(0x1ac)]=new AbortController();let _0x1c7a66={'Accept':_0x359bcc(0x193)};if(this[_0x359bcc(0x1a3)])_0x1c7a66['Authorization']='Bearer\x20'+this[_0x359bcc(0x1a3)];let _0x48292e=await fetch(_0x52bdb9,{'headers':_0x1c7a66,'signal':this[_0x359bcc(0x1ac)]['signal']});if(!_0x48292e['ok']||!_0x48292e['body']){this[_0x359bcc(0x191)](_0x359bcc(0x168)+_0x48292e[_0x359bcc(0x162)]),await this[_0x359bcc(0x19b)](_0x41b17e),_0x41b17e=Math[_0x359bcc(0x180)](_0x41b17e*1.5,0xea60);continue;}_0x41b17e=this[_0x359bcc(0x172)];let _0x4e0343=_0x48292e[_0x359bcc(0x18c)][_0x359bcc(0x1af)](),_0x3739e6=new TextDecoder(),_0x302fc0='';while(this[_0x359bcc(0x183)]){let {done:_0x2f9ec4,value:_0x5f3d62}=await _0x4e0343['read']();if(_0x2f9ec4)break;_0x302fc0+=_0x3739e6[_0x359bcc(0x194)](_0x5f3d62,{'stream':!0x0});let _0x2095d3=_0x302fc0['split']('\x0a');_0x302fc0=_0x2095d3[_0x359bcc(0x16a)]()||'';for(let _0xd0744d of _0x2095d3){if(!_0xd0744d[_0x359bcc(0x19a)](_0x359bcc(0x188)))continue;try{let _0x1ec441=JSON[_0x359bcc(0x176)](_0xd0744d['slice'](0x6));if(_0x1ec441['type']===_0x359bcc(0x18a)){this[_0x359bcc(0x191)](_0x359bcc(0x192)),this[_0x359bcc(0x17c)]('connected');continue;}if(_0x1ec441[_0x359bcc(0x17a)]===_0x359bcc(0x15b)||_0x1ec441[_0x359bcc(0x17a)]==='new_message'||_0x1ec441['type']==='broadcast')await this[_0x359bcc(0x197)]();}catch{}}}}catch(_0x332caf){if(_0x332caf[_0x359bcc(0x1a4)]===_0x359bcc(0x19c))break;this[_0x359bcc(0x17c)](_0x359bcc(0x1a0),_0x332caf),this[_0x359bcc(0x191)](_0x359bcc(0x16b)+_0x332caf[_0x359bcc(0x15e)]);}if(this[_0x359bcc(0x183)])this['emit']('disconnected'),this[_0x359bcc(0x191)](_0x359bcc(0x184)+_0x41b17e/0x3e8+_0x359bcc(0x165)),await this[_0x359bcc(0x19b)](_0x41b17e),_0x41b17e=Math[_0x359bcc(0x180)](_0x41b17e*1.5,0xea60);}}async['processInbox'](){const _0x5dc39a=a0_0x37c12;try{let _0x3f2922=(await this[_0x5dc39a(0x15d)](_0x5dc39a(0x17e),{'alias':this[_0x5dc39a(0x196)],'limit':0xa}))?.[_0x5dc39a(0x190)]||[];for(let _0x2f5cee of _0x3f2922)await this['call'](_0x5dc39a(0x1b2),{'alias':this['alias'],'message_id':_0x2f5cee['id']}),this[_0x5dc39a(0x191)]('←\x20'+_0x2f5cee[_0x5dc39a(0x1ae)]+':\x20'+_0x2f5cee[_0x5dc39a(0x164)][_0x5dc39a(0x160)](0x0,0x3c)),this[_0x5dc39a(0x17c)](_0x5dc39a(0x198),_0x2f5cee),this[_0x5dc39a(0x17c)](_0x5dc39a(0x15e),_0x2f5cee);}catch(_0x1edb2f){this[_0x5dc39a(0x191)]('inbox\x20error:\x20'+_0x1edb2f[_0x5dc39a(0x15e)]);}}['sleep'](_0x53e8ac){return new Promise(_0x23afc0=>setTimeout(_0x23afc0,_0x53e8ac));}}var $=T;function a0_0x1721(){const _0x34dac1=['error','idle','send_task','token','name','2.0','connectSSE','disconnected','971323SrRqRZ','normal','getAllStatus','2RVbZSN','sseAbort','url','from_session','getReader','POST','now','ack_inbox','new_task','send','call','message','send_reply','slice','registered','status','connect','content','s...','8kJkPdZ','/mcp','SSE\x20failed:\x20','sdk-','pop','SSE\x20error:\x20','cwd','text','server','get_all_status','heartbeatInterval','heartbeatTimer','reconnectDelay','disconnect','stringify','/events/','parse','result','send_message','application/json,\x20text/event-stream','type','catch','emit','1146orumWi','get_inbox','1002280hMQqXy','min','report_status','broadcast','running','SSE\x20reconnecting\x20in\x20','6006ohIvUv','toTimeString','1730ZbBPOY','data:\x20','application/json','connected','1167273vgeYqu','body','agent','436bAQyPF','offline','messages','log','SSE\x20connected','text/event-stream','decode','autoConnect','alias','processInbox','task','7859502mzxLmR','startsWith','sleep','AbortError','6108492FJWxXs','resumeId','Bearer\x20'];a0_0x1721=function(){return _0x34dac1;};return a0_0x1721();}export{$ as default,T as CommHub};
|
package/dist/src/node-server.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
const a0_0x4e5b9b=a0_0x44b6;(function(_0x178274,_0x4af529){const _0x27ac52=a0_0x44b6,_0x116800=_0x178274();while(!![]){try{const _0x282743=-parseInt(_0x27ac52(0x219))/0x1*(-parseInt(_0x27ac52(0x1e8))/0x2)+parseInt(_0x27ac52(0x20f))/0x3*(-parseInt(_0x27ac52(0x1dc))/0x4)+parseInt(_0x27ac52(0x1cf))/0x5*(-parseInt(_0x27ac52(0x1f2))/0x6)+-parseInt(_0x27ac52(0x21b))/0x7*(-parseInt(_0x27ac52(0x208))/0x8)+-parseInt(_0x27ac52(0x1dd))/0x9*(parseInt(_0x27ac52(0x26a))/0xa)+-parseInt(_0x27ac52(0x256))/0xb+-parseInt(_0x27ac52(0x24e))/0xc*(-parseInt(_0x27ac52(0x245))/0xd);if(_0x282743===_0x4af529)break;else _0x116800['push'](_0x116800['shift']());}catch(_0x438bce){_0x116800['push'](_0x116800['shift']());}}}(a0_0x4610,0xd7149));import{readFileSync as a0_0x3780b2,existsSync as a0_0x4630bf}from'fs';import{randomUUID as a0_0x2a66ba}from'crypto';import{join as a0_0x5d4dab}from'path';import{hostname as a0_0x2b25b4}from'os';import{execSync as a0_0x3b8f3c}from'child_process';import{Server as a0_0x500049}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x394e6c}from'@modelcontextprotocol/sdk/server/stdio.js';function a0_0x44b6(_0x97c757,_0x2a1196){_0x97c757=_0x97c757-0x1ce;const _0x461032=a0_0x4610();let _0x44b698=_0x461032[_0x97c757];return _0x44b698;}import{ListToolsRequestSchema as a0_0x1558fa,CallToolRequestSchema as a0_0x2f3eba}from'@modelcontextprotocol/sdk/types.js';function p(_0x4e64ef){const _0x49769f=a0_0x44b6;if(!a0_0x4630bf(_0x4e64ef))return;for(let _0xb37586 of a0_0x3780b2(_0x4e64ef,'utf-8')['split']('\x0a')){let _0x153414=_0xb37586[_0x49769f(0x1ea)]();if(!_0x153414||_0x153414['startsWith']('#'))continue;let _0x124f19=_0x153414[_0x49769f(0x238)]('=');if(_0x124f19<0x0)continue;let _0x491b48=_0x153414[_0x49769f(0x248)](0x0,_0x124f19)[_0x49769f(0x1ea)](),_0x4ca722=_0x153414[_0x49769f(0x248)](_0x124f19+0x1)['trim']()[_0x49769f(0x255)](/^["']|["']$/g,'');if(!process.env[_0x491b48])process.env[_0x491b48]=_0x4ca722;}}var T=process.env.HOME||'~',C=a0_0x5d4dab(T,a0_0x4e5b9b(0x264));p(a0_0x5d4dab(C,'.env'));var L=process['cwd']()[a0_0x4e5b9b(0x255)](/\//g,'-');p(a0_0x5d4dab(C,L,a0_0x4e5b9b(0x1f5)));function U(){const _0x5c183e=a0_0x4e5b9b;try{return a0_0x3b8f3c(_0x5c183e(0x216),{'encoding':'utf-8','timeout':0x7d0})['trim']();}catch{return'';}}function c(){const _0x526158=a0_0x4e5b9b;try{let _0x555cdb=a0_0x5d4dab(T,_0x526158(0x1e5),_0x526158(0x1fc));if(a0_0x4630bf(_0x555cdb))return JSON['parse'](a0_0x3780b2(_0x555cdb,'utf-8'));}catch{}return{};}var I=c(),f=process.env.COMMHUB_URL||I[a0_0x4e5b9b(0x246)]||'http://127.0.0.1:9200',x=process.env.COMMHUB_TMUX||U(),G=process.env.COMMHUB_ALIAS||x||a0_0x2b25b4(),X=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x2a66ba(),F=process.env.COMMHUB_TOKEN||I[a0_0x4e5b9b(0x22e)]||'';function Z(_0x476796){const _0x81e3e=a0_0x4e5b9b;let _0x55ba8b=new Date()[_0x81e3e(0x250)]()['slice'](0x0,0x8);process[_0x81e3e(0x224)][_0x81e3e(0x1d3)]('['+_0x55ba8b+']\x20[commhub]\x20'+_0x476796+'\x0a');}function O(_0x2ff118){return new Promise(_0x19067f=>setTimeout(_0x19067f,_0x2ff118));}Z(a0_0x4e5b9b(0x266)+f+a0_0x4e5b9b(0x237)+G+a0_0x4e5b9b(0x225)+X[a0_0x4e5b9b(0x248)](0x0,0x8)+a0_0x4e5b9b(0x241)+(x||a0_0x4e5b9b(0x211))+a0_0x4e5b9b(0x230)+process[a0_0x4e5b9b(0x24d)]()+a0_0x4e5b9b(0x267)+L);var N=new Map(),y=new a0_0x500049({'name':'commhub-channel','version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x4e5b9b(0x1fd),a0_0x4e5b9b(0x253),a0_0x4e5b9b(0x1d6),a0_0x4e5b9b(0x1e3),a0_0x4e5b9b(0x269)+G][a0_0x4e5b9b(0x254)]('\x0a')});y['setRequestHandler'](a0_0x1558fa,async()=>({'tools':[{'name':a0_0x4e5b9b(0x26c),'description':a0_0x4e5b9b(0x26e),'inputSchema':{'type':a0_0x4e5b9b(0x261),'properties':{'task_id':{'type':a0_0x4e5b9b(0x1e2),'description':a0_0x4e5b9b(0x1db)},'text':{'type':'string','description':a0_0x4e5b9b(0x1da)},'status':{'type':a0_0x4e5b9b(0x1e2),'enum':['completed',a0_0x4e5b9b(0x1ff),a0_0x4e5b9b(0x23d),a0_0x4e5b9b(0x243),'error','in_progress'],'description':'Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'}},'required':[a0_0x4e5b9b(0x1f0)]}},{'name':'commhub_report_status','description':a0_0x4e5b9b(0x23e),'inputSchema':{'type':a0_0x4e5b9b(0x261),'properties':{'status':{'type':a0_0x4e5b9b(0x1e2),'enum':[a0_0x4e5b9b(0x21e),'idle',a0_0x4e5b9b(0x243),a0_0x4e5b9b(0x249)]},'task':{'type':a0_0x4e5b9b(0x1e2),'description':'Current\x20task\x20description'},'progress':{'type':'number','description':a0_0x4e5b9b(0x26b)}},'required':[a0_0x4e5b9b(0x262)]}},{'name':a0_0x4e5b9b(0x252),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x4e5b9b(0x261),'properties':{'alias':{'type':a0_0x4e5b9b(0x1e2),'description':a0_0x4e5b9b(0x209)},'task':{'type':a0_0x4e5b9b(0x1e2),'description':a0_0x4e5b9b(0x259)},'priority':{'type':'string','enum':['high',a0_0x4e5b9b(0x232),a0_0x4e5b9b(0x1d4)],'description':'Priority\x20(default:\x20normal)'},'parent_task_id':{'type':a0_0x4e5b9b(0x1e2),'description':a0_0x4e5b9b(0x240)},'ttl_seconds':{'type':'number','description':a0_0x4e5b9b(0x1d8)},'context':{'type':a0_0x4e5b9b(0x1e2),'description':a0_0x4e5b9b(0x1ed)},'meta':{'type':'object','description':a0_0x4e5b9b(0x1ce)}},'required':[a0_0x4e5b9b(0x25b),a0_0x4e5b9b(0x22b)]}},{'name':'commhub_send_message','description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0x4e5b9b(0x261),'properties':{'alias':{'type':a0_0x4e5b9b(0x1e2),'description':a0_0x4e5b9b(0x209)},'message':{'type':a0_0x4e5b9b(0x1e2),'description':a0_0x4e5b9b(0x25a)}},'required':[a0_0x4e5b9b(0x25b),a0_0x4e5b9b(0x244)]}},{'name':a0_0x4e5b9b(0x1f8),'description':a0_0x4e5b9b(0x1f4),'inputSchema':{'type':a0_0x4e5b9b(0x261),'properties':{}}},{'name':a0_0x4e5b9b(0x1e9),'description':a0_0x4e5b9b(0x1eb),'inputSchema':{'type':a0_0x4e5b9b(0x261),'properties':{'alias':{'type':a0_0x4e5b9b(0x1e2),'description':'Session\x20alias'}},'required':[a0_0x4e5b9b(0x25b)]}},{'name':a0_0x4e5b9b(0x1d5),'description':'Get\x20task\x20details\x20by\x20task_id.\x20Poll\x20this\x20until\x20status\x20is\x20replied\x20or\x20failed.','inputSchema':{'type':'object','properties':{'task_id':{'type':'string','description':a0_0x4e5b9b(0x25f)}},'required':['task_id']}},{'name':a0_0x4e5b9b(0x1f7),'description':a0_0x4e5b9b(0x202),'inputSchema':{'type':'object','properties':{'to_name':{'type':a0_0x4e5b9b(0x1e2),'description':a0_0x4e5b9b(0x1ec)},'from_name':{'type':a0_0x4e5b9b(0x1e2),'description':a0_0x4e5b9b(0x24a)},'status':{'type':a0_0x4e5b9b(0x1e2),'description':a0_0x4e5b9b(0x24b)},'limit':{'type':a0_0x4e5b9b(0x1fb),'description':a0_0x4e5b9b(0x1e4)}}}}]}));async function P(_0x2c178f,_0x3a43b7){const _0x34add9=a0_0x4e5b9b;let _0xea864b=await fetch(f+_0x34add9(0x1d9),{'method':_0x34add9(0x207),'headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream',...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x34add9(0x25e)]({'jsonrpc':_0x34add9(0x22d),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x34add9(0x222),'capabilities':{},'clientInfo':{'name':_0x34add9(0x1fe),'version':_0x34add9(0x1fa)}}})});if(!_0xea864b['ok']){let _0x2692f1=await _0xea864b[_0x34add9(0x1f0)]();return Z('CommHub\x20init\x20failed:\x20'+_0xea864b[_0x34add9(0x262)]+'\x20'+_0x2692f1[_0x34add9(0x248)](0x0,0x64)),{'ok':!0x1,'error':_0x34add9(0x22c)+_0xea864b[_0x34add9(0x262)]};}await _0xea864b[_0x34add9(0x1f0)]();let _0x16bba8=(await(await fetch(f+'/mcp',{'method':_0x34add9(0x207),'headers':{'Content-Type':'application/json','Accept':_0x34add9(0x214),...F?{'Authorization':_0x34add9(0x20c)+F}:{}},'body':JSON[_0x34add9(0x25e)]({'jsonrpc':_0x34add9(0x22d),'id':0x2,'method':_0x34add9(0x235),'params':{'name':_0x2c178f,'arguments':_0x3a43b7}})}))[_0x34add9(0x1f0)]())[_0x34add9(0x226)]('\x0a')[_0x34add9(0x1de)](_0x2efc08=>_0x2efc08[_0x34add9(0x220)](_0x34add9(0x218)));if(_0x16bba8){let _0x377bcb=JSON[_0x34add9(0x21a)](_0x16bba8[_0x34add9(0x248)](0x6));return _0x377bcb?.[_0x34add9(0x1f6)]?.['content']?.[0x0]?.['text']?JSON[_0x34add9(0x21a)](_0x377bcb[_0x34add9(0x1f6)][_0x34add9(0x233)][0x0][_0x34add9(0x1f0)]):_0x377bcb;}return{'ok':!0x1,'error':_0x34add9(0x1f9)};}y[a0_0x4e5b9b(0x22f)](a0_0x2f3eba,async _0x5514c7=>{const _0x238543=a0_0x4e5b9b;let {name:_0x1815b5,arguments:_0xa4d5fb}=_0x5514c7['params'];if(_0x1815b5===_0x238543(0x26c)){let {task_id:_0x2b50c4,text:_0x283f0a,status:_0x5863dc}=_0xa4d5fb;if(_0x5863dc===_0x238543(0x20d)||_0x5863dc===_0x238543(0x1ff)||_0x5863dc===_0x238543(0x23d)){let _0x312d7e=_0x5863dc==='completed'?_0x238543(0x210):_0x5863dc,_0x41d1dc=_0x2b50c4?N[_0x238543(0x229)](_0x2b50c4)||_0x238543(0x246):_0x238543(0x246),_0x89bb2d=await P(_0x238543(0x20e),{'alias':_0x41d1dc,'text':_0x283f0a,'in_reply_to':_0x2b50c4||void 0x0,'status':_0x312d7e,'from_session':G});if(_0x2b50c4)N[_0x238543(0x23c)](_0x2b50c4);return{'content':[{'type':'text','text':JSON['stringify'](_0x89bb2d)}]};}let _0x4293cf=await P(_0x238543(0x204),{'resume_id':X,'alias':G,'status':_0x5863dc===_0x238543(0x243)?_0x238543(0x243):_0x5863dc===_0x238543(0x249)?_0x238543(0x249):'working','task':_0x283f0a[_0x238543(0x248)](0x0,0xc8),'output':_0x283f0a});return{'content':[{'type':_0x238543(0x1f0),'text':JSON['stringify'](_0x4293cf)}]};}if(_0x1815b5===_0x238543(0x265)){let {status:_0x5738f0,task:_0x50952c,progress:_0x1ced98}=_0xa4d5fb,_0x5ef014=await P(_0x238543(0x204),{'resume_id':X,'alias':G,'status':_0x5738f0,'task':_0x50952c,'progress':_0x1ced98});return{'content':[{'type':_0x238543(0x1f0),'text':JSON[_0x238543(0x25e)](_0x5ef014)}]};}if(_0x1815b5==='commhub_send_task'){let {alias:_0x587271,task:_0x1f4639,priority:_0x55b462,parent_task_id:_0x3692ae,ttl_seconds:_0xe32cfa,context:_0x206677,meta:_0x2a6cb8}=_0xa4d5fb,_0x4edf02=await P(_0x238543(0x206),{'alias':_0x587271,'task':_0x1f4639,'priority':_0x55b462||_0x238543(0x232),'parent_task_id':_0x3692ae,'ttl_seconds':_0xe32cfa,'context':_0x206677,'meta':_0x2a6cb8,'from_session':G});return{'content':[{'type':_0x238543(0x1f0),'text':JSON[_0x238543(0x25e)](_0x4edf02)}]};}if(_0x1815b5===_0x238543(0x21f)){let {alias:_0x5717f7,message:_0x361450}=_0xa4d5fb,_0x561e4b=await P('send_message',{'alias':_0x5717f7,'message':_0x361450,'from_session':G});return{'content':[{'type':_0x238543(0x1f0),'text':JSON[_0x238543(0x25e)](_0x561e4b)}]};}if(_0x1815b5===_0x238543(0x1f8)){let _0x2c1b9e=await P(_0x238543(0x231),{});return{'content':[{'type':'text','text':JSON[_0x238543(0x25e)](_0x2c1b9e)}]};}if(_0x1815b5===_0x238543(0x1e9)){let {alias:_0x1875e7}=_0xa4d5fb,_0x31e407=await P(_0x238543(0x221),{'alias':_0x1875e7});return{'content':[{'type':_0x238543(0x1f0),'text':JSON['stringify'](_0x31e407)}]};}if(_0x1815b5===_0x238543(0x1d5)){let {task_id:_0x5d7d4c}=_0xa4d5fb,_0x3b53cf=await P(_0x238543(0x234),{'task_id':_0x5d7d4c});return{'content':[{'type':_0x238543(0x1f0),'text':JSON[_0x238543(0x25e)](_0x3b53cf)}]};}if(_0x1815b5===_0x238543(0x1f7)){let {to_name:_0x4052dd,from_name:_0x2924cd,status:_0x2e5b10,limit:_0x14fe7a}=_0xa4d5fb,_0x12e6e0=await P(_0x238543(0x203),{'to_name':_0x4052dd,'from_name':_0x2924cd,'status':_0x2e5b10,'limit':_0x14fe7a});return{'content':[{'type':_0x238543(0x1f0),'text':JSON[_0x238543(0x25e)](_0x12e6e0)}]};}return{'content':[{'type':_0x238543(0x1f0),'text':JSON['stringify']({'error':_0x238543(0x258)})}]};});async function S(){const _0x5ef33c=a0_0x4e5b9b;let _0x2c50b3=f+'/events/'+encodeURIComponent(G),_0x10c076={};if(F)_0x10c076[_0x5ef33c(0x1df)]=_0x5ef33c(0x20c)+F;Z(_0x5ef33c(0x23b)+_0x2c50b3);while(!0x0){try{let _0x239f2c=await fetch(_0x2c50b3,{'headers':_0x10c076});if(!_0x239f2c['ok']){Z('SSE\x20error:\x20'+_0x239f2c[_0x5ef33c(0x262)]+'\x20'+_0x239f2c['statusText']),await O(0x1388);continue;}let _0x35ce96=_0x239f2c[_0x5ef33c(0x1ef)][_0x5ef33c(0x1d2)](),_0x50196f=new TextDecoder(),_0x23d922='';while(!0x0){let {done:_0x160b82,value:_0x498a9c}=await _0x35ce96[_0x5ef33c(0x236)]();if(_0x160b82)break;_0x23d922+=_0x50196f[_0x5ef33c(0x213)](_0x498a9c,{'stream':!0x0});let _0x153ae4=_0x23d922[_0x5ef33c(0x226)]('\x0a\x0a');_0x23d922=_0x153ae4['pop']()||'';for(let _0xd95c65 of _0x153ae4){let _0x3ff8ce=_0xd95c65[_0x5ef33c(0x226)]('\x0a')[_0x5ef33c(0x1de)](_0x1db378=>_0x1db378['startsWith'](_0x5ef33c(0x218)));if(!_0x3ff8ce)continue;try{let _0x2263ee=JSON[_0x5ef33c(0x21a)](_0x3ff8ce[_0x5ef33c(0x248)](0x6));await A(_0x2263ee);}catch(_0x1f9169){Z(_0x5ef33c(0x242)+_0x1f9169);}}}Z('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x4b96eb){Z(_0x5ef33c(0x25c)+_0x4b96eb);}await O(0xbb8);}}async function A(_0x5e1a90){const _0x1cdbd7=a0_0x4e5b9b;if(_0x5e1a90['type']===_0x1cdbd7(0x228)){Z(_0x1cdbd7(0x268)+G+'\x22');return;}if(_0x5e1a90['type']===_0x1cdbd7(0x1ee)){if(Z(_0x1cdbd7(0x25d)+_0x5e1a90['from']+':\x20'+_0x5e1a90[_0x1cdbd7(0x244)][_0x1cdbd7(0x248)](0x0,0x3c)),await y['notification']({'method':'notifications/claude/channel','params':{'content':_0x5e1a90[_0x1cdbd7(0x244)],'meta':{'sender':_0x5e1a90[_0x1cdbd7(0x200)]||'hub','sender_id':'commhub','user':_0x5e1a90['from']||_0x1cdbd7(0x246),'priority':_0x1cdbd7(0x232)}}}),_0x5e1a90['message_id'])await P(_0x1cdbd7(0x1e0),{'alias':G,'message_id':_0x5e1a90['message_id']});return;}if(_0x5e1a90[_0x1cdbd7(0x24f)]===_0x1cdbd7(0x212)||_0x5e1a90[_0x1cdbd7(0x24f)]==='broadcast'){Z('←\x20'+_0x5e1a90[_0x1cdbd7(0x24f)]+_0x1cdbd7(0x1d1)+_0x5e1a90[_0x1cdbd7(0x251)]+_0x1cdbd7(0x1d0)+(_0x5e1a90[_0x1cdbd7(0x1f1)]||_0x1cdbd7(0x232)));let _0x5a891f=await P(_0x1cdbd7(0x24c),{'alias':G,'limit':0x5});if(_0x5a891f?.['ok']&&_0x5a891f[_0x1cdbd7(0x1e6)]?.[_0x1cdbd7(0x257)]>0x0)for(let _0x37d7bc of _0x5a891f[_0x1cdbd7(0x1e6)]){let _0x236012={'sender':_0x37d7bc[_0x1cdbd7(0x23a)]||_0x1cdbd7(0x246),'sender_id':_0x1cdbd7(0x263),'user':_0x37d7bc[_0x1cdbd7(0x23a)]||_0x1cdbd7(0x246),'task_id':_0x37d7bc['id'],'priority':_0x37d7bc[_0x1cdbd7(0x1f1)]||_0x1cdbd7(0x232)};N[_0x1cdbd7(0x20a)](_0x37d7bc['id'],_0x37d7bc[_0x1cdbd7(0x23a)]||_0x1cdbd7(0x246)),await y[_0x1cdbd7(0x26f)]({'method':'notifications/claude/channel','params':{'content':_0x37d7bc['content'],'meta':_0x236012}}),Z('→\x20injected\x20task\x20'+_0x37d7bc['id'][_0x1cdbd7(0x248)](0x0,0x8)+_0x1cdbd7(0x1d7)+_0x37d7bc['from_session']+':\x20'+_0x37d7bc[_0x1cdbd7(0x233)][_0x1cdbd7(0x248)](0x0,0x3c)),await P(_0x1cdbd7(0x1e0),{'alias':G,'message_id':_0x37d7bc['id']});}}}async function u(){const _0x475e2b=a0_0x4e5b9b;let _0x1c2402=new a0_0x394e6c();await y[_0x475e2b(0x21d)](_0x1c2402),Z(_0x475e2b(0x227)),Z(_0x475e2b(0x260)),S()[_0x475e2b(0x217)](_0xc773eb=>Z('SSE\x20fatal:\x20'+_0xc773eb)),P(_0x475e2b(0x204),{'resume_id':X,'alias':G,'status':'idle','server':a0_0x2b25b4(),'hostname':a0_0x2b25b4(),'agent':'claude-code','project_dir':process['cwd'](),'tmux_name':x||void 0x0})[_0x475e2b(0x201)](()=>Z(_0x475e2b(0x223)+G+_0x475e2b(0x215)+X[_0x475e2b(0x248)](0x0,0x8)+')'))[_0x475e2b(0x217)](_0x3b6049=>Z(_0x475e2b(0x22a)+_0x3b6049)),setInterval(()=>{const _0x499611=_0x475e2b;P('report_status',{'resume_id':X,'alias':G,'status':_0x499611(0x21c),'server':a0_0x2b25b4(),'hostname':a0_0x2b25b4(),'agent':_0x499611(0x239),'project_dir':process[_0x499611(0x24d)](),'tmux_name':x||void 0x0})['catch'](_0x14dd3d=>Z('heartbeat\x20failed:\x20'+_0x14dd3d));},0x2bf20),Z('ready\x20—\x20waiting\x20for\x20events');}u()[a0_0x4e5b9b(0x217)](_0x3e066f=>{const _0x2703cb=a0_0x4e5b9b;Z(_0x2703cb(0x1f3)+_0x3e066f),process['exit'](0x1);});async function h(){const _0x4cc68f=a0_0x4e5b9b;Z(_0x4cc68f(0x1e1)),await P(_0x4cc68f(0x204),{'resume_id':X,'alias':G,'status':_0x4cc68f(0x26d),'task':_0x4cc68f(0x1e7)})['catch'](()=>{}),process[_0x4cc68f(0x205)](0x0);}process[a0_0x4e5b9b(0x20b)]['on'](a0_0x4e5b9b(0x247),()=>h()),process['on'](a0_0x4e5b9b(0x23f),()=>h()),process['on']('SIGINT',()=>h());function a0_0x4610(){const _0x2b51b5=['parse','14546QpErKe','idle','connect','working','commhub_send_message','startsWith','get_session_status','2025-03-26','registered\x20as\x20\x22','stderr','\x20RESUME_ID=','split','MCP\x20stdio\x20connected','connected','get','warning:\x20could\x20not\x20register:\x20','task','init\x20failed:\x20','2.0','token','setRequestHandler','\x20CWD=','get_all_status','normal','content','get_task','tools/call','read','\x20ALIAS=','indexOf','claude-code','from_session','connecting\x20to\x20','delete','cancelled','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','SIGTERM','Parent\x20task\x20id\x20for\x20auto-chaining\x20child\x20replies','...\x20TMUX=','parse\x20error:\x20','blocked','message','13NSqLwa','hub','end','slice','error','Filter\x20by\x20sender\x20alias','Filter\x20by\x20status','get_inbox','cwd','46887396Drkstd','type','toTimeString','inbox_count','commhub_send_task','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','join','replace','17463974nRjZlr','length','unknown\x20tool','Task\x20content','Message\x20content','alias','SSE\x20connection\x20error:\x20','←\x20message\x20from\x20','stringify','Task\x20id','starting\x20SSE\x20listener...','object','status','commhub','.claude/channels/commhub','commhub_report_status','ENV:\x20URL=','\x20PROJECT_ENV=','SSE\x20connected\x20as\x20\x22','Session\x20alias:\x20','7318960CxPBLc','Progress\x200-100','commhub_reply','offline','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','notification','Optional\x20structured\x20metadata','535GMfmKu','\x20priority=',':\x20inbox_count=','getReader','write','low','commhub_get_task','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','\x20from\x20','Task\x20TTL\x20in\x20seconds','/mcp','Reply\x20text\x20/\x20result\x20summary','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','871936aiSyjJ','9ZovMsh','find','Authorization','ack_inbox','shutting\x20down,\x20reporting\x20offline...','string','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','Max\x20rows','.anet','messages','session\x20disconnected','1255366nWQkDz','commhub_get_session_status','trim','Get\x20detailed\x20status\x20for\x20a\x20session\x20alias.','Filter\x20by\x20recipient\x20alias','Optional\x20context','new_message','body','text','priority','57258jYPjPG','fatal:\x20','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','.env','result','commhub_list_tasks','commhub_get_all_status','no\x20response','0.3.0','number','config.json','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','commhub-channel','failed','from','then','List\x20tasks\x20with\x20optional\x20filters.','list_tasks','report_status','exit','send_task','POST','472SftnFH','Target\x20session\x20alias','set','stdin','Bearer\x20','completed','send_reply','6bhpWAo','replied','none','new_task','decode','application/json,\x20text/event-stream','\x22\x20(','tmux\x20display-message\x20-p\x20\x27#S\x27','catch','data:\x20','1ynYlop'];a0_0x4610=function(){return _0x2b51b5;};return a0_0x4610();}
|
|
2
|
+
const a0_0x1a1f5b=a0_0x4a89;(function(_0x18bb71,_0x525215){const _0x5780d5=a0_0x4a89,_0x37c1d0=_0x18bb71();while(!![]){try{const _0x4a04e7=parseInt(_0x5780d5(0x1b9))/0x1*(parseInt(_0x5780d5(0x161))/0x2)+parseInt(_0x5780d5(0x19a))/0x3*(parseInt(_0x5780d5(0x1b2))/0x4)+parseInt(_0x5780d5(0x181))/0x5*(parseInt(_0x5780d5(0x175))/0x6)+-parseInt(_0x5780d5(0x16f))/0x7*(parseInt(_0x5780d5(0x18b))/0x8)+-parseInt(_0x5780d5(0x1b5))/0x9*(parseInt(_0x5780d5(0x195))/0xa)+parseInt(_0x5780d5(0x18d))/0xb*(parseInt(_0x5780d5(0x17d))/0xc)+-parseInt(_0x5780d5(0x16a))/0xd;if(_0x4a04e7===_0x525215)break;else _0x37c1d0['push'](_0x37c1d0['shift']());}catch(_0x43bec8){_0x37c1d0['push'](_0x37c1d0['shift']());}}}(a0_0x5313,0x66f51));import{readFileSync as a0_0x10eb14,existsSync as a0_0x1e890a}from'fs';import{randomUUID as a0_0x4bb813}from'crypto';import{join as a0_0xf5b853}from'path';import{hostname as a0_0x8b3fdc}from'os';import{execSync as a0_0x57cbf7}from'child_process';import{Server as a0_0x571388}from'@modelcontextprotocol/sdk/server/index.js';function a0_0x4a89(_0x53a0d0,_0x378f59){_0x53a0d0=_0x53a0d0-0x13e;const _0x53134c=a0_0x5313();let _0x4a89d5=_0x53134c[_0x53a0d0];return _0x4a89d5;}import{StdioServerTransport as a0_0x59fd1f}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x1dc1b8,CallToolRequestSchema as a0_0x3cfe29}from'@modelcontextprotocol/sdk/types.js';function a0_0x5313(){const _0x402b75=['then','/mcp','Bearer\x20','/events/','Current\x20task\x20description','new_message','offline','find','Message\x20content','hub','Authorization','776YehNhr','blocked','idle','18FMpysA','working','from_session','inbox_count','13383tPVNHc','replace','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','setRequestHandler','SSE\x20fatal:\x20','body','no\x20response','cancelled','broadcast','delete','send_message','commhub_reply','tmux\x20display-message\x20-p\x20\x27#S\x27','utf-8','replied','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','params','\x20PROJECT_ENV=','indexOf','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','SSE\x20error:\x20','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','trim','SSE\x20connection\x20error:\x20','session\x20disconnected','config.json','2.0','\x20CWD=','in_progress','SSE\x20stream\x20ended,\x20reconnecting...','cwd','Priority\x20(default:\x20normal)','.claude/channels/commhub','slice','0.3.0','pop','notifications/claude/channel','error','text','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','\x20ALIAS=','result','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','SSE\x20connected\x20as\x20\x22','messages','commhub_report_status',':\x20inbox_count=','message_id','unknown\x20tool','Task\x20content','content','Target\x20session\x20alias','\x20from\x20','.anet','low','82XIivNC','stdin','...\x20TMUX=','failed','ready\x20—\x20waiting\x20for\x20events','starting\x20SSE\x20listener...','ENV:\x20URL=','2025-03-26','\x20priority=','16491956XaCKnB','claude-code','length','commhub_send_task','exit','21dLDnWv','parse\x20error:\x20','data:\x20','get','SIGTERM','message','4762128RDLZXP','application/json,\x20text/event-stream','Session\x20alias:\x20','catch','connected','alias','type','\x22\x20(','6092100rtjLMU','token','startsWith','send_reply','5WQlJQj','join','normal','MCP\x20stdio\x20connected','from','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','statusText','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','getReader','stderr','1437448Djqqvh','priority','11lPIPAK','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','status','parse','send_task','string','decode','completed','1176450nVGzkt','fatal:\x20','Progress\x200-100','object','report_status','9504xQLhdN','commhub','stringify','commhub-channel','commhub_get_all_status','CommHub\x20init\x20failed:\x20','→\x20injected\x20task\x20','high','commhub_send_message','heartbeat\x20failed:\x20','task','notification','split'];a0_0x5313=function(){return _0x402b75;};return a0_0x5313();}function p(_0x373b8c){const _0x31c802=a0_0x4a89;if(!a0_0x1e890a(_0x373b8c))return;for(let _0x52cac8 of a0_0x10eb14(_0x373b8c,_0x31c802(0x1c6))[_0x31c802(0x1a6)]('\x0a')){let _0x3a6b52=_0x52cac8[_0x31c802(0x140)]();if(!_0x3a6b52||_0x3a6b52['startsWith']('#'))continue;let _0x369811=_0x3a6b52[_0x31c802(0x1cb)]('=');if(_0x369811<0x0)continue;let _0x1906b0=_0x3a6b52['slice'](0x0,_0x369811)[_0x31c802(0x140)](),_0x2fc5dc=_0x3a6b52[_0x31c802(0x14b)](_0x369811+0x1)[_0x31c802(0x140)]()[_0x31c802(0x1ba)](/^["']|["']$/g,'');if(!process.env[_0x1906b0])process.env[_0x1906b0]=_0x2fc5dc;}}var C=process.env.HOME||'~',T=a0_0xf5b853(C,a0_0x1a1f5b(0x14a));p(a0_0xf5b853(T,'.env'));var L=process[a0_0x1a1f5b(0x148)]()['replace'](/\//g,'-');p(a0_0xf5b853(T,L,'.env'));function U(){const _0x2e2123=a0_0x1a1f5b;try{return a0_0x57cbf7(_0x2e2123(0x1c5),{'encoding':_0x2e2123(0x1c6),'timeout':0x7d0})[_0x2e2123(0x140)]();}catch{return'';}}function v(){const _0x6f723c=a0_0x1a1f5b;try{let _0x383254=a0_0xf5b853(C,_0x6f723c(0x15f),_0x6f723c(0x143));if(a0_0x1e890a(_0x383254))return JSON[_0x6f723c(0x190)](a0_0x10eb14(_0x383254,_0x6f723c(0x1c6)));}catch{}return{};}var H=v(),f=process.env.COMMHUB_URL||H[a0_0x1a1f5b(0x1b0)]||'http://127.0.0.1:9200',j=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||j||a0_0x8b3fdc(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x4bb813(),X=process.env.COMMHUB_TOKEN||H[a0_0x1a1f5b(0x17e)]||'';function Y(_0x422cb3){const _0x1f93a0=a0_0x1a1f5b;let _0x500418=new Date()['toTimeString']()[_0x1f93a0(0x14b)](0x0,0x8);process[_0x1f93a0(0x18a)]['write']('['+_0x500418+']\x20[commhub]\x20'+_0x422cb3+'\x0a');}function h(_0x1dd5ff){return new Promise(_0x413f63=>setTimeout(_0x413f63,_0x1dd5ff));}Y(a0_0x1a1f5b(0x167)+f+a0_0x1a1f5b(0x152)+Z+'\x20RESUME_ID='+w[a0_0x1a1f5b(0x14b)](0x0,0x8)+a0_0x1a1f5b(0x163)+(j||'none')+a0_0x1a1f5b(0x145)+process[a0_0x1a1f5b(0x148)]()+a0_0x1a1f5b(0x1ca)+L);var k=new Map(),K=new a0_0x571388({'name':a0_0x1a1f5b(0x19d),'version':a0_0x1a1f5b(0x14c)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x1a1f5b(0x188),a0_0x1a1f5b(0x154),a0_0x1a1f5b(0x151),a0_0x1a1f5b(0x1c8),a0_0x1a1f5b(0x177)+Z][a0_0x1a1f5b(0x182)]('\x0a')});K['setRequestHandler'](a0_0x1dc1b8,async()=>({'tools':[{'name':'commhub_reply','description':'Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0x1a1f5b(0x192),'description':a0_0x1a1f5b(0x18e)},'text':{'type':a0_0x1a1f5b(0x192),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x1a1f5b(0x192),'enum':[a0_0x1a1f5b(0x194),a0_0x1a1f5b(0x164),'cancelled',a0_0x1a1f5b(0x1b3),'error',a0_0x1a1f5b(0x146)],'description':'Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'}},'required':[a0_0x1a1f5b(0x150)]}},{'name':a0_0x1a1f5b(0x157),'description':a0_0x1a1f5b(0x1cc),'inputSchema':{'type':'object','properties':{'status':{'type':'string','enum':['working',a0_0x1a1f5b(0x1b4),a0_0x1a1f5b(0x1b3),a0_0x1a1f5b(0x14f)]},'task':{'type':a0_0x1a1f5b(0x192),'description':a0_0x1a1f5b(0x1ab)},'progress':{'type':'number','description':a0_0x1a1f5b(0x197)}},'required':[a0_0x1a1f5b(0x18f)]}},{'name':a0_0x1a1f5b(0x16d),'description':a0_0x1a1f5b(0x13f),'inputSchema':{'type':a0_0x1a1f5b(0x198),'properties':{'alias':{'type':a0_0x1a1f5b(0x192),'description':a0_0x1a1f5b(0x15d)},'task':{'type':a0_0x1a1f5b(0x192),'description':a0_0x1a1f5b(0x15b)},'priority':{'type':a0_0x1a1f5b(0x192),'enum':[a0_0x1a1f5b(0x1a1),'normal',a0_0x1a1f5b(0x160)],'description':a0_0x1a1f5b(0x149)}},'required':[a0_0x1a1f5b(0x17a),a0_0x1a1f5b(0x1a4)]}},{'name':a0_0x1a1f5b(0x1a2),'description':a0_0x1a1f5b(0x1bb),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x1a1f5b(0x192),'description':a0_0x1a1f5b(0x15d)},'message':{'type':a0_0x1a1f5b(0x192),'description':a0_0x1a1f5b(0x1af)}},'required':[a0_0x1a1f5b(0x17a),'message']}},{'name':a0_0x1a1f5b(0x19e),'description':a0_0x1a1f5b(0x186),'inputSchema':{'type':a0_0x1a1f5b(0x198),'properties':{}}}]}));async function P(_0xa11f4,_0x2a1fbd){const _0x5c57d0=a0_0x1a1f5b;let _0x210a61=await fetch(f+_0x5c57d0(0x1a8),{'method':'POST','headers':{'Content-Type':'application/json','Accept':_0x5c57d0(0x176),...X?{'Authorization':'Bearer\x20'+X}:{}},'body':JSON[_0x5c57d0(0x19c)]({'jsonrpc':_0x5c57d0(0x144),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x5c57d0(0x168),'capabilities':{},'clientInfo':{'name':_0x5c57d0(0x19d),'version':_0x5c57d0(0x14c)}}})});if(!_0x210a61['ok']){let _0x5e4856=await _0x210a61['text']();return Y(_0x5c57d0(0x19f)+_0x210a61[_0x5c57d0(0x18f)]+'\x20'+_0x5e4856[_0x5c57d0(0x14b)](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x210a61[_0x5c57d0(0x18f)]};}await _0x210a61[_0x5c57d0(0x150)]();let _0x5f0051=(await(await fetch(f+_0x5c57d0(0x1a8),{'method':'POST','headers':{'Content-Type':'application/json','Accept':_0x5c57d0(0x176),...X?{'Authorization':'Bearer\x20'+X}:{}},'body':JSON[_0x5c57d0(0x19c)]({'jsonrpc':'2.0','id':0x2,'method':'tools/call','params':{'name':_0xa11f4,'arguments':_0x2a1fbd}})}))[_0x5c57d0(0x150)]())[_0x5c57d0(0x1a6)]('\x0a')['find'](_0x3651ff=>_0x3651ff[_0x5c57d0(0x17f)]('data:\x20'));if(_0x5f0051){let _0x470eed=JSON['parse'](_0x5f0051['slice'](0x6));return _0x470eed?.['result']?.[_0x5c57d0(0x15c)]?.[0x0]?.[_0x5c57d0(0x150)]?JSON[_0x5c57d0(0x190)](_0x470eed[_0x5c57d0(0x153)][_0x5c57d0(0x15c)][0x0][_0x5c57d0(0x150)]):_0x470eed;}return{'ok':!0x1,'error':_0x5c57d0(0x1bf)};}K[a0_0x1a1f5b(0x1bc)](a0_0x3cfe29,async _0x43fc99=>{const _0x58688f=a0_0x1a1f5b;let {name:_0x14d382,arguments:_0x1a9236}=_0x43fc99[_0x58688f(0x1c9)];if(_0x14d382===_0x58688f(0x1c4)){let {task_id:_0x519607,text:_0x4c55b1,status:_0x526ba0}=_0x1a9236;if(_0x526ba0==='completed'||_0x526ba0===_0x58688f(0x164)||_0x526ba0===_0x58688f(0x1c0)){let _0x549fd5=_0x526ba0==='completed'?_0x58688f(0x1c7):_0x526ba0,_0x3ae2f7=_0x519607?k[_0x58688f(0x172)](_0x519607)||'hub':'hub',_0x470807=await P(_0x58688f(0x180),{'alias':_0x3ae2f7,'text':_0x4c55b1,'in_reply_to':_0x519607||void 0x0,'status':_0x549fd5,'from_session':Z});if(_0x519607)k[_0x58688f(0x1c2)](_0x519607);return{'content':[{'type':_0x58688f(0x150),'text':JSON[_0x58688f(0x19c)](_0x470807)}]};}let _0x32299f=await P(_0x58688f(0x199),{'resume_id':w,'alias':Z,'status':_0x526ba0===_0x58688f(0x1b3)?_0x58688f(0x1b3):_0x526ba0===_0x58688f(0x14f)?_0x58688f(0x14f):_0x58688f(0x1b6),'task':_0x4c55b1[_0x58688f(0x14b)](0x0,0xc8),'output':_0x4c55b1});return{'content':[{'type':_0x58688f(0x150),'text':JSON[_0x58688f(0x19c)](_0x32299f)}]};}if(_0x14d382===_0x58688f(0x157)){let {status:_0x4954a1,task:_0x336409,progress:_0x45f349}=_0x1a9236,_0x4e1b34=await P(_0x58688f(0x199),{'resume_id':w,'alias':Z,'status':_0x4954a1,'task':_0x336409,'progress':_0x45f349});return{'content':[{'type':_0x58688f(0x150),'text':JSON[_0x58688f(0x19c)](_0x4e1b34)}]};}if(_0x14d382===_0x58688f(0x16d)){let {alias:_0x43ad38,task:_0x138843,priority:_0x172853}=_0x1a9236,_0x4ab010=await P(_0x58688f(0x191),{'alias':_0x43ad38,'task':_0x138843,'priority':_0x172853||'normal','from_session':Z});return{'content':[{'type':'text','text':JSON[_0x58688f(0x19c)](_0x4ab010)}]};}if(_0x14d382===_0x58688f(0x1a2)){let {alias:_0x42fe71,message:_0x3f4f08}=_0x1a9236,_0x495ce4=await P(_0x58688f(0x1c3),{'alias':_0x42fe71,'message':_0x3f4f08,'from_session':Z});return{'content':[{'type':'text','text':JSON[_0x58688f(0x19c)](_0x495ce4)}]};}if(_0x14d382===_0x58688f(0x19e)){let _0x3cc73f=await P('get_all_status',{});return{'content':[{'type':_0x58688f(0x150),'text':JSON['stringify'](_0x3cc73f)}]};}return{'content':[{'type':_0x58688f(0x150),'text':JSON['stringify']({'error':_0x58688f(0x15a)})}]};});async function u(){const _0x3fa8e5=a0_0x1a1f5b;let _0x77195d=f+_0x3fa8e5(0x1aa)+encodeURIComponent(Z),_0x1056e7={};if(X)_0x1056e7[_0x3fa8e5(0x1b1)]=_0x3fa8e5(0x1a9)+X;Y('connecting\x20to\x20'+_0x77195d);while(!0x0){try{let _0x518360=await fetch(_0x77195d,{'headers':_0x1056e7});if(!_0x518360['ok']){Y(_0x3fa8e5(0x13e)+_0x518360[_0x3fa8e5(0x18f)]+'\x20'+_0x518360[_0x3fa8e5(0x187)]),await h(0x1388);continue;}let _0x351c28=_0x518360[_0x3fa8e5(0x1be)][_0x3fa8e5(0x189)](),_0x2f6f9e=new TextDecoder(),_0xb1b294='';while(!0x0){let {done:_0x5e0cbc,value:_0x11cd27}=await _0x351c28['read']();if(_0x5e0cbc)break;_0xb1b294+=_0x2f6f9e[_0x3fa8e5(0x193)](_0x11cd27,{'stream':!0x0});let _0x5171e2=_0xb1b294[_0x3fa8e5(0x1a6)]('\x0a\x0a');_0xb1b294=_0x5171e2[_0x3fa8e5(0x14d)]()||'';for(let _0x265dbf of _0x5171e2){let _0x260609=_0x265dbf['split']('\x0a')[_0x3fa8e5(0x1ae)](_0x5f5504=>_0x5f5504[_0x3fa8e5(0x17f)](_0x3fa8e5(0x171)));if(!_0x260609)continue;try{let _0x63e1fe=JSON[_0x3fa8e5(0x190)](_0x260609[_0x3fa8e5(0x14b)](0x6));await S(_0x63e1fe);}catch(_0x2a680a){Y(_0x3fa8e5(0x170)+_0x2a680a);}}}Y(_0x3fa8e5(0x147));}catch(_0x57d9e0){Y(_0x3fa8e5(0x141)+_0x57d9e0);}await h(0xbb8);}}async function S(_0x441141){const _0x350cfe=a0_0x1a1f5b;if(_0x441141[_0x350cfe(0x17b)]===_0x350cfe(0x179)){Y(_0x350cfe(0x155)+Z+'\x22');return;}if(_0x441141[_0x350cfe(0x17b)]===_0x350cfe(0x1ac)){if(Y('←\x20message\x20from\x20'+_0x441141[_0x350cfe(0x185)]+':\x20'+_0x441141[_0x350cfe(0x174)]['slice'](0x0,0x3c)),await K[_0x350cfe(0x1a5)]({'method':_0x350cfe(0x14e),'params':{'content':_0x441141['message'],'meta':{'sender':_0x441141[_0x350cfe(0x185)]||'hub','sender_id':_0x350cfe(0x19b),'user':_0x441141[_0x350cfe(0x185)]||_0x350cfe(0x1b0),'priority':_0x350cfe(0x183)}}}),_0x441141[_0x350cfe(0x159)])await P('ack_inbox',{'alias':Z,'message_id':_0x441141['message_id']});return;}if(_0x441141[_0x350cfe(0x17b)]==='new_task'||_0x441141['type']===_0x350cfe(0x1c1)){Y('←\x20'+_0x441141[_0x350cfe(0x17b)]+_0x350cfe(0x158)+_0x441141[_0x350cfe(0x1b8)]+_0x350cfe(0x169)+(_0x441141[_0x350cfe(0x18c)]||_0x350cfe(0x183)));let _0x41f365=await P('get_inbox',{'alias':Z,'limit':0x5});if(_0x41f365?.['ok']&&_0x41f365[_0x350cfe(0x156)]?.[_0x350cfe(0x16c)]>0x0)for(let _0x379f76 of _0x41f365[_0x350cfe(0x156)]){let _0x4e13b1={'sender':_0x379f76['from_session']||_0x350cfe(0x1b0),'sender_id':'commhub','user':_0x379f76[_0x350cfe(0x1b7)]||_0x350cfe(0x1b0),'task_id':_0x379f76['id'],'priority':_0x379f76['priority']||_0x350cfe(0x183)};k['set'](_0x379f76['id'],_0x379f76[_0x350cfe(0x1b7)]||_0x350cfe(0x1b0)),await K[_0x350cfe(0x1a5)]({'method':'notifications/claude/channel','params':{'content':_0x379f76[_0x350cfe(0x15c)],'meta':_0x4e13b1}}),Y(_0x350cfe(0x1a0)+_0x379f76['id']['slice'](0x0,0x8)+_0x350cfe(0x15e)+_0x379f76[_0x350cfe(0x1b7)]+':\x20'+_0x379f76['content'][_0x350cfe(0x14b)](0x0,0x3c)),await P('ack_inbox',{'alias':Z,'message_id':_0x379f76['id']});}}}async function A(){const _0x511664=a0_0x1a1f5b;let _0x2e0aff=new a0_0x59fd1f();await K['connect'](_0x2e0aff),Y(_0x511664(0x184)),Y(_0x511664(0x166)),u()['catch'](_0x297250=>Y(_0x511664(0x1bd)+_0x297250)),P(_0x511664(0x199),{'resume_id':w,'alias':Z,'status':_0x511664(0x1b4),'server':a0_0x8b3fdc(),'hostname':a0_0x8b3fdc(),'agent':_0x511664(0x16b),'project_dir':process['cwd'](),'tmux_name':j||void 0x0})[_0x511664(0x1a7)](()=>Y('registered\x20as\x20\x22'+Z+_0x511664(0x17c)+w['slice'](0x0,0x8)+')'))['catch'](_0x26eb42=>Y('warning:\x20could\x20not\x20register:\x20'+_0x26eb42)),setInterval(()=>{const _0x1e74e6=_0x511664;P(_0x1e74e6(0x199),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x8b3fdc(),'hostname':a0_0x8b3fdc(),'agent':'claude-code','project_dir':process[_0x1e74e6(0x148)](),'tmux_name':j||void 0x0})['catch'](_0x466fcf=>Y(_0x1e74e6(0x1a3)+_0x466fcf));},0x2bf20),Y(_0x511664(0x165));}A()['catch'](_0x32a285=>{const _0x35c3c7=a0_0x1a1f5b;Y(_0x35c3c7(0x196)+_0x32a285),process[_0x35c3c7(0x16e)](0x1);});async function N(){const _0x5d015d=a0_0x1a1f5b;Y('shutting\x20down,\x20reporting\x20offline...'),await P(_0x5d015d(0x199),{'resume_id':w,'alias':Z,'status':_0x5d015d(0x1ad),'task':_0x5d015d(0x142)})[_0x5d015d(0x178)](()=>{}),process[_0x5d015d(0x16e)](0x0);}process[a0_0x1a1f5b(0x162)]['on']('end',()=>N()),process['on'](a0_0x1a1f5b(0x173),()=>N()),process['on']('SIGINT',()=>N());
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.2.
|
|
4
|
-
"description": "AI Agent Network CLI
|
|
3
|
+
"version": "2.2.9-preview.0",
|
|
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",
|
|
7
7
|
"types": "dist/client.d.ts",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"homepage": "https://anet.sh",
|
|
43
43
|
"repository": {
|
|
44
44
|
"type": "git",
|
|
45
|
-
"url": "
|
|
45
|
+
"url": "https://github.com/sleep2agi/agent-network",
|
|
46
46
|
"directory": "agent-network"
|
|
47
47
|
},
|
|
48
48
|
"publishConfig": {
|