@sleep2agi/agent-network 2.2.8-preview.1 → 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 +49 -7
- 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_0x86f61=a0_0x27af;(function(_0x56c710,_0x543040){const _0x2b753b=a0_0x27af,_0x461484=_0x56c710();while(!![]){try{const _0x14a5eb=-parseInt(_0x2b753b(0x23a))/0x1+parseInt(_0x2b753b(0x25f))/0x2*(parseInt(_0x2b753b(0x266))/0x3)+parseInt(_0x2b753b(0x223))/0x4*(-parseInt(_0x2b753b(0x228))/0x5)+parseInt(_0x2b753b(0x1de))/0x6*(-parseInt(_0x2b753b(0x214))/0x7)+parseInt(_0x2b753b(0x1f8))/0x8+-parseInt(_0x2b753b(0x1e5))/0x9*(-parseInt(_0x2b753b(0x1e0))/0xa)+-parseInt(_0x2b753b(0x1f3))/0xb*(-parseInt(_0x2b753b(0x1f6))/0xc);if(_0x14a5eb===_0x543040)break;else _0x461484['push'](_0x461484['shift']());}catch(_0x17d658){_0x461484['push'](_0x461484['shift']());}}}(a0_0x1563,0x7f27b));import{readFileSync as a0_0xfdad20,existsSync as a0_0x4ef9cc}from'fs';import{randomUUID as a0_0x2139e9}from'crypto';import{join as a0_0x357460}from'path';import{hostname as a0_0x30e4c4}from'os';import{execSync as a0_0x2bd4cb}from'child_process';import{Server as a0_0xb52157}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x5d0477}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x23f8b9,CallToolRequestSchema as a0_0x3fa19a}from'@modelcontextprotocol/sdk/types.js';function p(_0x88812b){const _0xcdac21=a0_0x27af;if(!a0_0x4ef9cc(_0x88812b))return;for(let _0x11c92a of a0_0xfdad20(_0x88812b,_0xcdac21(0x245))[_0xcdac21(0x1d8)]('\x0a')){let _0x31b27b=_0x11c92a[_0xcdac21(0x236)]();if(!_0x31b27b||_0x31b27b['startsWith']('#'))continue;let _0x36d8ab=_0x31b27b[_0xcdac21(0x20c)]('=');if(_0x36d8ab<0x0)continue;let _0x552b32=_0x31b27b[_0xcdac21(0x250)](0x0,_0x36d8ab)['trim'](),_0x2a79bd=_0x31b27b[_0xcdac21(0x250)](_0x36d8ab+0x1)[_0xcdac21(0x236)]()[_0xcdac21(0x263)](/^["']|["']$/g,'');if(!process.env[_0x552b32])process.env[_0x552b32]=_0x2a79bd;}}var T=process.env.HOME||'~',C=a0_0x357460(T,a0_0x86f61(0x252));p(a0_0x357460(C,a0_0x86f61(0x1ea)));var L=process['cwd']()['replace'](/\//g,'-');p(a0_0x357460(C,L,'.env'));function U(){const _0x49a08f=a0_0x86f61;try{return a0_0x2bd4cb('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':'utf-8','timeout':0x7d0})[_0x49a08f(0x236)]();}catch{return'';}}function c(){const _0x316316=a0_0x86f61;try{let _0x48ee7e=a0_0x357460(T,_0x316316(0x222),'config.json');if(a0_0x4ef9cc(_0x48ee7e))return JSON[_0x316316(0x212)](a0_0xfdad20(_0x48ee7e,_0x316316(0x245)));}catch{}return{};}var I=c(),f=process.env.COMMHUB_URL||I[a0_0x86f61(0x21d)]||'http://127.0.0.1:9200',x=process.env.COMMHUB_TMUX||U(),G=process.env.COMMHUB_ALIAS||x||a0_0x30e4c4(),X=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x2139e9(),F=process.env.COMMHUB_TOKEN||I[a0_0x86f61(0x205)]||'';function Z(_0x54f016){const _0x5a3f81=a0_0x86f61;let _0x4d56ed=new Date()[_0x5a3f81(0x1e9)]()[_0x5a3f81(0x250)](0x0,0x8);process[_0x5a3f81(0x20a)][_0x5a3f81(0x206)]('['+_0x4d56ed+']\x20[commhub]\x20'+_0x54f016+'\x0a');}function O(_0xfd05d8){return new Promise(_0x1e4d89=>setTimeout(_0x1e4d89,_0xfd05d8));}Z(a0_0x86f61(0x243)+f+a0_0x86f61(0x256)+G+'\x20RESUME_ID='+X[a0_0x86f61(0x250)](0x0,0x8)+'...\x20TMUX='+(x||a0_0x86f61(0x21f))+a0_0x86f61(0x23b)+process[a0_0x86f61(0x235)]()+'\x20PROJECT_ENV='+L);var N=new Map(),y=new a0_0xb52157({'name':a0_0x86f61(0x25c),'version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':['Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>',a0_0x86f61(0x24c),a0_0x86f61(0x1fd),a0_0x86f61(0x1dd),a0_0x86f61(0x261)+G][a0_0x86f61(0x224)]('\x0a')});function a0_0x1563(){const _0x563f4f=['initialize','Filter\x20by\x20sender\x20alias','parse\x20error:\x20','registered\x20as\x20\x22','ENV:\x20URL=','list_tasks','utf-8','high','result','statusText','status','alias','startsWith','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','application/json,\x20text/event-stream','text','\x20priority=','slice','data:\x20','.claude/channels/commhub','shutting\x20down,\x20reporting\x20offline...','get','commhub','\x20ALIAS=','Session\x20alias','commhub_get_session_status','ready\x20—\x20waiting\x20for\x20events','messages','commhub_get_task','commhub-channel','connecting\x20to\x20','starting\x20SSE\x20listener...','139618bBgprv','exit','Session\x20alias:\x20','stdin','replace','stringify','SSE\x20error:\x20','18cphtCm','Authorization','pop','POST','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','Optional\x20structured\x20metadata','blocked','Parent\x20task\x20id\x20for\x20auto-chaining\x20child\x20replies','SSE\x20connection\x20error:\x20','get_inbox','params','Filter\x20by\x20status','notifications/claude/channel','from_session','string','commhub_reply','replied','report_status','fatal:\x20','read','split','SIGTERM','Task\x20TTL\x20in\x20seconds','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','type','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','1816446iFbCsm','idle','1263020gRxydl','Current\x20task\x20description','set','get_task','Get\x20detailed\x20status\x20for\x20a\x20session\x20alias.','9nkqqjH','low','←\x20message\x20from\x20','application/json','toTimeString','.env','SSE\x20connected\x20as\x20\x22','connected','find','body','Get\x20task\x20details\x20by\x20task_id.\x20Poll\x20this\x20until\x20status\x20is\x20replied\x20or\x20failed.','working','in_progress','Max\x20rows','11npEyXj','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','offline','15453768GfRqAD','new_task','6098224VzVHqK','object','priority','unknown\x20tool','setRequestHandler','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','failed','Optional\x20context','Bearer\x20','catch','normal','→\x20injected\x20task\x20','message','token','write','Reply\x20text\x20/\x20result\x20summary','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','2025-03-26','stderr','Filter\x20by\x20recipient\x20alias','indexOf','SSE\x20fatal:\x20','commhub_list_tasks','Target\x20session\x20alias','Priority\x20(default:\x20normal)','task','parse','broadcast','21MBpEOl','number','send_reply','\x20from\x20','heartbeat\x20failed:\x20','CommHub\x20init\x20failed:\x20','delete','connect','List\x20tasks\x20with\x20optional\x20filters.','hub','Progress\x200-100','none','commhub_get_all_status','commhub_report_status','.anet','786908DpqOZm','join','/events/','ack_inbox','SSE\x20stream\x20ended,\x20reconnecting...','25sABoPx','init\x20failed:\x20','MCP\x20stdio\x20connected','send_task','commhub_send_task','get_all_status','Message\x20content','error','commhub_send_message','decode','message_id','content','getReader','cwd','trim','from','completed','inbox_count','182563SbMsyg','\x20CWD=','cancelled','notification','get_session_status'];a0_0x1563=function(){return _0x563f4f;};return a0_0x1563();}y['setRequestHandler'](a0_0x23f8b9,async()=>({'tools':[{'name':a0_0x86f61(0x275),'description':a0_0x86f61(0x1f4),'inputSchema':{'type':'object','properties':{'task_id':{'type':'string','description':'The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)'},'text':{'type':a0_0x86f61(0x274),'description':a0_0x86f61(0x207)},'status':{'type':a0_0x86f61(0x274),'enum':[a0_0x86f61(0x238),a0_0x86f61(0x1fe),a0_0x86f61(0x23c),'blocked',a0_0x86f61(0x22f),a0_0x86f61(0x1f1)],'description':a0_0x86f61(0x1db)}},'required':[a0_0x86f61(0x24e)]}},{'name':a0_0x86f61(0x221),'description':a0_0x86f61(0x26a),'inputSchema':{'type':a0_0x86f61(0x1f9),'properties':{'status':{'type':a0_0x86f61(0x274),'enum':[a0_0x86f61(0x1f0),a0_0x86f61(0x1df),a0_0x86f61(0x26c),a0_0x86f61(0x22f)]},'task':{'type':a0_0x86f61(0x274),'description':a0_0x86f61(0x1e1)},'progress':{'type':a0_0x86f61(0x215),'description':a0_0x86f61(0x21e)}},'required':[a0_0x86f61(0x249)]}},{'name':'commhub_send_task','description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x86f61(0x1f9),'properties':{'alias':{'type':a0_0x86f61(0x274),'description':a0_0x86f61(0x20f)},'task':{'type':a0_0x86f61(0x274),'description':'Task\x20content'},'priority':{'type':'string','enum':[a0_0x86f61(0x246),a0_0x86f61(0x202),a0_0x86f61(0x1e6)],'description':a0_0x86f61(0x210)},'parent_task_id':{'type':'string','description':a0_0x86f61(0x26d)},'ttl_seconds':{'type':'number','description':a0_0x86f61(0x1da)},'context':{'type':a0_0x86f61(0x274),'description':a0_0x86f61(0x1ff)},'meta':{'type':a0_0x86f61(0x1f9),'description':a0_0x86f61(0x26b)}},'required':['alias',a0_0x86f61(0x211)]}},{'name':a0_0x86f61(0x230),'description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0x86f61(0x1f9),'properties':{'alias':{'type':'string','description':'Target\x20session\x20alias'},'message':{'type':'string','description':a0_0x86f61(0x22e)}},'required':[a0_0x86f61(0x24a),'message']}},{'name':a0_0x86f61(0x220),'description':a0_0x86f61(0x208),'inputSchema':{'type':'object','properties':{}}},{'name':a0_0x86f61(0x258),'description':a0_0x86f61(0x1e4),'inputSchema':{'type':a0_0x86f61(0x1f9),'properties':{'alias':{'type':a0_0x86f61(0x274),'description':a0_0x86f61(0x257)}},'required':[a0_0x86f61(0x24a)]}},{'name':a0_0x86f61(0x25b),'description':a0_0x86f61(0x1ef),'inputSchema':{'type':a0_0x86f61(0x1f9),'properties':{'task_id':{'type':a0_0x86f61(0x274),'description':'Task\x20id'}},'required':['task_id']}},{'name':a0_0x86f61(0x20e),'description':a0_0x86f61(0x21c),'inputSchema':{'type':'object','properties':{'to_name':{'type':'string','description':a0_0x86f61(0x20b)},'from_name':{'type':'string','description':a0_0x86f61(0x240)},'status':{'type':a0_0x86f61(0x274),'description':a0_0x86f61(0x271)},'limit':{'type':a0_0x86f61(0x215),'description':a0_0x86f61(0x1f2)}}}}]}));async function P(_0x56942b,_0x18441f){const _0x43871b=a0_0x86f61;let _0x393a92=await fetch(f+'/mcp',{'method':_0x43871b(0x269),'headers':{'Content-Type':_0x43871b(0x1e8),'Accept':_0x43871b(0x24d),...F?{'Authorization':_0x43871b(0x200)+F}:{}},'body':JSON[_0x43871b(0x264)]({'jsonrpc':'2.0','id':0x1,'method':_0x43871b(0x23f),'params':{'protocolVersion':_0x43871b(0x209),'capabilities':{},'clientInfo':{'name':_0x43871b(0x25c),'version':'0.3.0'}}})});if(!_0x393a92['ok']){let _0xaa3047=await _0x393a92[_0x43871b(0x24e)]();return Z(_0x43871b(0x219)+_0x393a92['status']+'\x20'+_0xaa3047[_0x43871b(0x250)](0x0,0x64)),{'ok':!0x1,'error':_0x43871b(0x229)+_0x393a92[_0x43871b(0x249)]};}await _0x393a92[_0x43871b(0x24e)]();let _0x1bf905=(await(await fetch(f+'/mcp',{'method':_0x43871b(0x269),'headers':{'Content-Type':_0x43871b(0x1e8),'Accept':_0x43871b(0x24d),...F?{'Authorization':_0x43871b(0x200)+F}:{}},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x2,'method':'tools/call','params':{'name':_0x56942b,'arguments':_0x18441f}})}))[_0x43871b(0x24e)]())[_0x43871b(0x1d8)]('\x0a')['find'](_0x1bfab1=>_0x1bfab1[_0x43871b(0x24b)](_0x43871b(0x251)));if(_0x1bf905){let _0x2d812b=JSON[_0x43871b(0x212)](_0x1bf905['slice'](0x6));return _0x2d812b?.[_0x43871b(0x247)]?.[_0x43871b(0x233)]?.[0x0]?.[_0x43871b(0x24e)]?JSON[_0x43871b(0x212)](_0x2d812b[_0x43871b(0x247)]['content'][0x0][_0x43871b(0x24e)]):_0x2d812b;}return{'ok':!0x1,'error':'no\x20response'};}y[a0_0x86f61(0x1fc)](a0_0x3fa19a,async _0x2bf832=>{const _0x45757a=a0_0x86f61;let {name:_0x1c0b1a,arguments:_0x24b82c}=_0x2bf832[_0x45757a(0x270)];if(_0x1c0b1a===_0x45757a(0x275)){let {task_id:_0x4b9b2c,text:_0x1356c5,status:_0x4c6d86}=_0x24b82c;if(_0x4c6d86===_0x45757a(0x238)||_0x4c6d86===_0x45757a(0x1fe)||_0x4c6d86===_0x45757a(0x23c)){let _0x1d9ef0=_0x4c6d86===_0x45757a(0x238)?_0x45757a(0x1d4):_0x4c6d86,_0x329d09=_0x4b9b2c?N[_0x45757a(0x254)](_0x4b9b2c)||_0x45757a(0x21d):_0x45757a(0x21d),_0x2b7818=await P(_0x45757a(0x216),{'alias':_0x329d09,'text':_0x1356c5,'in_reply_to':_0x4b9b2c||void 0x0,'status':_0x1d9ef0,'from_session':G});if(_0x4b9b2c)N[_0x45757a(0x21a)](_0x4b9b2c);return{'content':[{'type':_0x45757a(0x24e),'text':JSON['stringify'](_0x2b7818)}]};}let _0x341414=await P(_0x45757a(0x1d5),{'resume_id':X,'alias':G,'status':_0x4c6d86===_0x45757a(0x26c)?_0x45757a(0x26c):_0x4c6d86===_0x45757a(0x22f)?_0x45757a(0x22f):'working','task':_0x1356c5[_0x45757a(0x250)](0x0,0xc8),'output':_0x1356c5});return{'content':[{'type':_0x45757a(0x24e),'text':JSON['stringify'](_0x341414)}]};}if(_0x1c0b1a===_0x45757a(0x221)){let {status:_0x56ff9e,task:_0x1e3ae7,progress:_0xd8384f}=_0x24b82c,_0x418c17=await P(_0x45757a(0x1d5),{'resume_id':X,'alias':G,'status':_0x56ff9e,'task':_0x1e3ae7,'progress':_0xd8384f});return{'content':[{'type':_0x45757a(0x24e),'text':JSON[_0x45757a(0x264)](_0x418c17)}]};}if(_0x1c0b1a===_0x45757a(0x22c)){let {alias:_0x17db73,task:_0x1cb4e6,priority:_0x3e9078,parent_task_id:_0xb077ad,ttl_seconds:_0x4365fd,context:_0x233e22,meta:_0x5898c8}=_0x24b82c,_0x45252c=await P(_0x45757a(0x22b),{'alias':_0x17db73,'task':_0x1cb4e6,'priority':_0x3e9078||_0x45757a(0x202),'parent_task_id':_0xb077ad,'ttl_seconds':_0x4365fd,'context':_0x233e22,'meta':_0x5898c8,'from_session':G});return{'content':[{'type':'text','text':JSON['stringify'](_0x45252c)}]};}if(_0x1c0b1a==='commhub_send_message'){let {alias:_0x578faa,message:_0x7bf6f}=_0x24b82c,_0x199d80=await P('send_message',{'alias':_0x578faa,'message':_0x7bf6f,'from_session':G});return{'content':[{'type':_0x45757a(0x24e),'text':JSON['stringify'](_0x199d80)}]};}if(_0x1c0b1a===_0x45757a(0x220)){let _0x2f7327=await P(_0x45757a(0x22d),{});return{'content':[{'type':'text','text':JSON[_0x45757a(0x264)](_0x2f7327)}]};}if(_0x1c0b1a===_0x45757a(0x258)){let {alias:_0x5a537e}=_0x24b82c,_0x2ed295=await P(_0x45757a(0x23e),{'alias':_0x5a537e});return{'content':[{'type':_0x45757a(0x24e),'text':JSON[_0x45757a(0x264)](_0x2ed295)}]};}if(_0x1c0b1a===_0x45757a(0x25b)){let {task_id:_0x413824}=_0x24b82c,_0x5419cd=await P(_0x45757a(0x1e3),{'task_id':_0x413824});return{'content':[{'type':'text','text':JSON[_0x45757a(0x264)](_0x5419cd)}]};}if(_0x1c0b1a===_0x45757a(0x20e)){let {to_name:_0x252b38,from_name:_0x5ae763,status:_0x545172,limit:_0x68a37f}=_0x24b82c,_0x236cfe=await P(_0x45757a(0x244),{'to_name':_0x252b38,'from_name':_0x5ae763,'status':_0x545172,'limit':_0x68a37f});return{'content':[{'type':'text','text':JSON[_0x45757a(0x264)](_0x236cfe)}]};}return{'content':[{'type':'text','text':JSON[_0x45757a(0x264)]({'error':_0x45757a(0x1fb)})}]};});function a0_0x27af(_0x41aead,_0x1fc469){_0x41aead=_0x41aead-0x1d4;const _0x1563e9=a0_0x1563();let _0x27af05=_0x1563e9[_0x41aead];return _0x27af05;}async function S(){const _0x2019ac=a0_0x86f61;let _0x572179=f+_0x2019ac(0x225)+encodeURIComponent(G),_0x274721={};if(F)_0x274721[_0x2019ac(0x267)]=_0x2019ac(0x200)+F;Z(_0x2019ac(0x25d)+_0x572179);while(!0x0){try{let _0x53e318=await fetch(_0x572179,{'headers':_0x274721});if(!_0x53e318['ok']){Z(_0x2019ac(0x265)+_0x53e318['status']+'\x20'+_0x53e318[_0x2019ac(0x248)]),await O(0x1388);continue;}let _0x58f200=_0x53e318[_0x2019ac(0x1ee)][_0x2019ac(0x234)](),_0x5251ac=new TextDecoder(),_0x3de3d2='';while(!0x0){let {done:_0x5d5a35,value:_0x4bce00}=await _0x58f200[_0x2019ac(0x1d7)]();if(_0x5d5a35)break;_0x3de3d2+=_0x5251ac[_0x2019ac(0x231)](_0x4bce00,{'stream':!0x0});let _0x2a14ee=_0x3de3d2[_0x2019ac(0x1d8)]('\x0a\x0a');_0x3de3d2=_0x2a14ee[_0x2019ac(0x268)]()||'';for(let _0x3585fb of _0x2a14ee){let _0x50b252=_0x3585fb[_0x2019ac(0x1d8)]('\x0a')[_0x2019ac(0x1ed)](_0x309ffe=>_0x309ffe['startsWith'](_0x2019ac(0x251)));if(!_0x50b252)continue;try{let _0x229918=JSON[_0x2019ac(0x212)](_0x50b252['slice'](0x6));await A(_0x229918);}catch(_0x53d127){Z(_0x2019ac(0x241)+_0x53d127);}}}Z(_0x2019ac(0x227));}catch(_0x1eb82f){Z(_0x2019ac(0x26e)+_0x1eb82f);}await O(0xbb8);}}async function A(_0x44d270){const _0x17fb80=a0_0x86f61;if(_0x44d270[_0x17fb80(0x1dc)]===_0x17fb80(0x1ec)){Z(_0x17fb80(0x1eb)+G+'\x22');return;}if(_0x44d270[_0x17fb80(0x1dc)]==='new_message'){if(Z(_0x17fb80(0x1e7)+_0x44d270[_0x17fb80(0x237)]+':\x20'+_0x44d270[_0x17fb80(0x204)]['slice'](0x0,0x3c)),await y[_0x17fb80(0x23d)]({'method':_0x17fb80(0x272),'params':{'content':_0x44d270['message'],'meta':{'sender':_0x44d270[_0x17fb80(0x237)]||_0x17fb80(0x21d),'sender_id':'commhub','user':_0x44d270[_0x17fb80(0x237)]||_0x17fb80(0x21d),'priority':'normal'}}}),_0x44d270[_0x17fb80(0x232)])await P(_0x17fb80(0x226),{'alias':G,'message_id':_0x44d270['message_id']});return;}if(_0x44d270['type']===_0x17fb80(0x1f7)||_0x44d270['type']===_0x17fb80(0x213)){Z('←\x20'+_0x44d270[_0x17fb80(0x1dc)]+':\x20inbox_count='+_0x44d270[_0x17fb80(0x239)]+_0x17fb80(0x24f)+(_0x44d270['priority']||_0x17fb80(0x202)));let _0x6f686a=await P(_0x17fb80(0x26f),{'alias':G,'limit':0x5});if(_0x6f686a?.['ok']&&_0x6f686a[_0x17fb80(0x25a)]?.['length']>0x0)for(let _0x56de17 of _0x6f686a[_0x17fb80(0x25a)]){let _0x3cc2c2={'sender':_0x56de17['from_session']||'hub','sender_id':_0x17fb80(0x255),'user':_0x56de17[_0x17fb80(0x273)]||'hub','task_id':_0x56de17['id'],'priority':_0x56de17[_0x17fb80(0x1fa)]||_0x17fb80(0x202)};N[_0x17fb80(0x1e2)](_0x56de17['id'],_0x56de17[_0x17fb80(0x273)]||_0x17fb80(0x21d)),await y[_0x17fb80(0x23d)]({'method':_0x17fb80(0x272),'params':{'content':_0x56de17[_0x17fb80(0x233)],'meta':_0x3cc2c2}}),Z(_0x17fb80(0x203)+_0x56de17['id']['slice'](0x0,0x8)+_0x17fb80(0x217)+_0x56de17['from_session']+':\x20'+_0x56de17[_0x17fb80(0x233)][_0x17fb80(0x250)](0x0,0x3c)),await P(_0x17fb80(0x226),{'alias':G,'message_id':_0x56de17['id']});}}}async function u(){const _0x1a5925=a0_0x86f61;let _0x4895d6=new a0_0x5d0477();await y[_0x1a5925(0x21b)](_0x4895d6),Z(_0x1a5925(0x22a)),Z(_0x1a5925(0x25e)),S()['catch'](_0x586098=>Z(_0x1a5925(0x20d)+_0x586098)),P(_0x1a5925(0x1d5),{'resume_id':X,'alias':G,'status':_0x1a5925(0x1df),'server':a0_0x30e4c4(),'hostname':a0_0x30e4c4(),'agent':'claude-code','project_dir':process[_0x1a5925(0x235)](),'tmux_name':x||void 0x0})['then'](()=>Z(_0x1a5925(0x242)+G+'\x22\x20('+X[_0x1a5925(0x250)](0x0,0x8)+')'))[_0x1a5925(0x201)](_0x358e4b=>Z('warning:\x20could\x20not\x20register:\x20'+_0x358e4b)),setInterval(()=>{const _0x17b109=_0x1a5925;P(_0x17b109(0x1d5),{'resume_id':X,'alias':G,'status':_0x17b109(0x1df),'server':a0_0x30e4c4(),'hostname':a0_0x30e4c4(),'agent':'claude-code','project_dir':process[_0x17b109(0x235)](),'tmux_name':x||void 0x0})[_0x17b109(0x201)](_0x319eae=>Z(_0x17b109(0x218)+_0x319eae));},0x2bf20),Z(_0x1a5925(0x259));}u()[a0_0x86f61(0x201)](_0x226a31=>{const _0x59ea20=a0_0x86f61;Z(_0x59ea20(0x1d6)+_0x226a31),process['exit'](0x1);});async function h(){const _0x21f668=a0_0x86f61;Z(_0x21f668(0x253)),await P(_0x21f668(0x1d5),{'resume_id':X,'alias':G,'status':_0x21f668(0x1f5),'task':'session\x20disconnected'})[_0x21f668(0x201)](()=>{}),process[_0x21f668(0x260)](0x0);}process[a0_0x86f61(0x262)]['on']('end',()=>h()),process['on'](a0_0x86f61(0x1d9),()=>h()),process['on']('SIGINT',()=>h());
|
|
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": {
|