@sleep2agi/agent-network 2.2.4-preview.0 → 2.2.4
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/dist/bin/cli.js +1 -1
- package/dist/src/client.js +1 -1
- package/dist/src/node-server.js +1 -1
- package/package.json +1 -1
package/dist/src/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x3fa1(){const _0x9cc5b1=['call','result','disconnect','190986IpteRB','broadcast','AbortError','messages','url','375495jMpPYh','sdk-','get_inbox','connect','cwd','connected','read','error','2hokZId','toTimeString','slice','inbox\x20error:\x20','normal','173964MwUHxB','from_session','processInbox','text','emit','registered','ack_inbox','type','sseAbort','/mcp','autoConnect','sdk','alias','decode','task','name','heartbeatInterval','SSE\x20reconnecting\x20in\x20','running','report_status','token','reply','completed','content','reconnectDelay','pop','parse','sleep','SSE\x20error:\x20','text/event-stream','send',']\x20[commhub:','POST','Bearer\x20','get_all_status','signal','SSE\x20failed:\x20','idle','application/json,\x20text/event-stream','2696365ZFvpYM','log','disconnected','heartbeatTimer','min','resumeId','message','replace','status','getReader','agent','Authorization','send_message','application/json','SSE\x20connected','stringify','2153286aVunnN','body','getAllStatus','241374auuHly','s...','4316872EqcBFx'];a0_0x3fa1=function(){return _0x9cc5b1;};return a0_0x3fa1();}const a0_0x12ab29=a0_0x1179;(function(_0x521ddf,_0x52dbc3){const _0x4489e5=a0_0x1179,_0x21e7c9=_0x521ddf();while(!![]){try{const _0x46c067=-parseInt(_0x4489e5(0xd8))/0x1+-parseInt(_0x4489e5(0x99))/0x2*(parseInt(_0x4489e5(0xde))/0x3)+parseInt(_0x4489e5(0x9e))/0x4+-parseInt(_0x4489e5(0xe3))/0x5+-parseInt(_0x4489e5(0xd5))/0x6+parseInt(_0x4489e5(0xc5))/0x7+parseInt(_0x4489e5(0xda))/0x8;if(_0x46c067===_0x52dbc3)break;else _0x21e7c9['push'](_0x21e7c9['shift']());}catch(_0x952511){_0x21e7c9['push'](_0x21e7c9['shift']());}}}(a0_0x3fa1,0x37f9f));import{EventEmitter as a0_0x3dfc1a}from'events';import{hostname as a0_0xa6fa3e}from'os';class T extends a0_0x3dfc1a{['url'];[a0_0x12ab29(0xaa)];[a0_0x12ab29(0xb2)];['agent'];[a0_0x12ab29(0xca)];[a0_0x12ab29(0xae)];[a0_0x12ab29(0xb6)];[a0_0x12ab29(0xc8)];[a0_0x12ab29(0xa6)];[a0_0x12ab29(0xb0)]=!0x1;constructor(_0x14ea0a){const _0x358d65=a0_0x12ab29;super();if(this[_0x358d65(0xe2)]=_0x14ea0a['url'][_0x358d65(0xcc)](/\/$/,''),this['alias']=_0x14ea0a['alias'],this[_0x358d65(0xb2)]=_0x14ea0a[_0x358d65(0xb2)],this[_0x358d65(0xcf)]=_0x14ea0a['agent']||_0x358d65(0xa9),this['resumeId']=_0x358d65(0xe4)+_0x14ea0a[_0x358d65(0xaa)]+'-'+Date['now']()['toString'](0x24),this[_0x358d65(0xae)]=_0x14ea0a[_0x358d65(0xae)]??0x2bf20,this[_0x358d65(0xb6)]=_0x14ea0a[_0x358d65(0xb6)]??0xbb8,_0x14ea0a[_0x358d65(0xa8)]!==!0x1)this[_0x358d65(0xe6)]();}[a0_0x12ab29(0xc6)](_0x52bc10){const _0x1f9a37=a0_0x12ab29;console[_0x1f9a37(0xc6)]('['+new Date()[_0x1f9a37(0x9a)]()[_0x1f9a37(0x9b)](0x0,0x8)+_0x1f9a37(0xbd)+this[_0x1f9a37(0xaa)]+']\x20'+_0x52bc10);}async[a0_0x12ab29(0xdb)](_0x526edb,_0x229b70){const _0x11b6ec=a0_0x12ab29;let _0x275cce={'Content-Type':_0x11b6ec(0xd2),'Accept':_0x11b6ec(0xc4)};if(this[_0x11b6ec(0xb2)])_0x275cce['Authorization']=_0x11b6ec(0xbf)+this[_0x11b6ec(0xb2)];let _0x114096=await(await fetch(this['url']+_0x11b6ec(0xa7),{'method':_0x11b6ec(0xbe),'headers':_0x275cce,'body':JSON[_0x11b6ec(0xd4)]({'jsonrpc':'2.0','id':Date['now'](),'method':'tools/call','params':{'name':_0x526edb,'arguments':_0x229b70}})}))[_0x11b6ec(0xa1)](),_0x344b90=_0x114096['match'](/data: (.+)/),_0x5d09dd=_0x344b90?JSON[_0x11b6ec(0xb8)](_0x344b90[0x1]):JSON[_0x11b6ec(0xb8)](_0x114096),_0x16f7a8=_0x5d09dd?.[_0x11b6ec(0xdc)]?.[_0x11b6ec(0xb5)]?.[0x0]?.[_0x11b6ec(0xa1)];return _0x16f7a8?JSON[_0x11b6ec(0xb8)](_0x16f7a8):_0x5d09dd;}async['connect'](){const _0x2cea9d=a0_0x12ab29;if(this[_0x2cea9d(0xb0)])return;this['running']=!0x0,await this[_0x2cea9d(0xcd)]('idle'),this[_0x2cea9d(0xc6)](_0x2cea9d(0xa3)),this[_0x2cea9d(0xc8)]=setInterval(()=>{const _0x8d0f89=_0x2cea9d;this[_0x8d0f89(0xcd)](_0x8d0f89(0xc3))['catch'](_0x380e0a=>this[_0x8d0f89(0xc6)]('heartbeat\x20failed:\x20'+_0x380e0a[_0x8d0f89(0xcb)]));},this[_0x2cea9d(0xae)]),this['connectSSE']();}async[a0_0x12ab29(0xdd)](){const _0x3cbc48=a0_0x12ab29;if(this[_0x3cbc48(0xb0)]=!0x1,this[_0x3cbc48(0xa6)]?.['abort'](),this[_0x3cbc48(0xc8)])clearInterval(this[_0x3cbc48(0xc8)]);await this[_0x3cbc48(0xcd)]('offline')['catch'](()=>{}),this[_0x3cbc48(0xc6)](_0x3cbc48(0xc7));}async[a0_0x12ab29(0xbc)](_0x5e5600,_0x152c18,_0x936452=a0_0x12ab29(0x9d)){const _0x5f36a7=a0_0x12ab29;return this[_0x5f36a7(0xdb)]('send_task',{'alias':_0x5e5600,'task':_0x152c18,'priority':_0x936452,'from_session':this[_0x5f36a7(0xaa)]});}async[a0_0x12ab29(0xcb)](_0x487390,_0x4ae35c){const _0x3a8d16=a0_0x12ab29;return this[_0x3a8d16(0xdb)](_0x3a8d16(0xd1),{'alias':_0x487390,'message':_0x4ae35c,'from_session':this['alias']});}async[a0_0x12ab29(0xb3)](_0x15d0f3,_0x236791,_0x132945=a0_0x12ab29(0xb4)){const _0x5a5185=a0_0x12ab29;return this[_0x5a5185(0xdb)]('send_reply',{'in_reply_to':_0x15d0f3,'text':_0x236791,'status':_0x132945});}async[a0_0x12ab29(0xcd)](_0x575cc4,_0x4501ba){const _0x48c765=a0_0x12ab29;return this[_0x48c765(0xdb)](_0x48c765(0xb1),{'resume_id':this['resumeId'],'alias':this[_0x48c765(0xaa)],'status':_0x575cc4,'server':a0_0xa6fa3e(),'hostname':a0_0xa6fa3e(),'agent':this['agent'],'project_dir':process[_0x48c765(0x95)](),..._0x4501ba});}async[a0_0x12ab29(0xd7)](){const _0x2afb8d=a0_0x12ab29;return this[_0x2afb8d(0xdb)](_0x2afb8d(0xc0),{});}async[a0_0x12ab29(0xdf)](_0x469e8d,_0x3d956d){const _0x3bb34a=a0_0x12ab29;return this[_0x3bb34a(0xdb)](_0x3bb34a(0xdf),{'message':_0x469e8d,'filter_server':_0x3d956d?.['server'],'filter_status':_0x3d956d?.['status']});}async['connectSSE'](){const _0x5e9643=a0_0x12ab29;let _0x187b4=encodeURIComponent(this[_0x5e9643(0xaa)]),_0x4d747a=this[_0x5e9643(0xe2)]+'/events/'+_0x187b4,_0xdad6ee=this[_0x5e9643(0xb6)];while(this[_0x5e9643(0xb0)]){try{this['sseAbort']=new AbortController();let _0x1c57d5={'Accept':_0x5e9643(0xbb)};if(this[_0x5e9643(0xb2)])_0x1c57d5[_0x5e9643(0xd0)]=_0x5e9643(0xbf)+this[_0x5e9643(0xb2)];let _0x1a545f=await fetch(_0x4d747a,{'headers':_0x1c57d5,'signal':this[_0x5e9643(0xa6)][_0x5e9643(0xc1)]});if(!_0x1a545f['ok']||!_0x1a545f[_0x5e9643(0xd6)]){this[_0x5e9643(0xc6)](_0x5e9643(0xc2)+_0x1a545f[_0x5e9643(0xcd)]),await this[_0x5e9643(0xb9)](_0xdad6ee),_0xdad6ee=Math[_0x5e9643(0xc9)](_0xdad6ee*1.5,0xea60);continue;}_0xdad6ee=this[_0x5e9643(0xb6)];let _0x4243bf=_0x1a545f[_0x5e9643(0xd6)][_0x5e9643(0xce)](),_0x43f6c3=new TextDecoder(),_0x1e1dfb='';while(this[_0x5e9643(0xb0)]){let {done:_0x4aec03,value:_0x357552}=await _0x4243bf[_0x5e9643(0x97)]();if(_0x4aec03)break;_0x1e1dfb+=_0x43f6c3[_0x5e9643(0xab)](_0x357552,{'stream':!0x0});let _0x1aef64=_0x1e1dfb['split']('\x0a');_0x1e1dfb=_0x1aef64[_0x5e9643(0xb7)]()||'';for(let _0x3b6bd0 of _0x1aef64){if(!_0x3b6bd0['startsWith']('data:\x20'))continue;try{let _0x87e9b3=JSON[_0x5e9643(0xb8)](_0x3b6bd0[_0x5e9643(0x9b)](0x6));if(_0x87e9b3[_0x5e9643(0xa5)]===_0x5e9643(0x96)){this[_0x5e9643(0xc6)](_0x5e9643(0xd3)),this[_0x5e9643(0xa2)](_0x5e9643(0x96));continue;}if(_0x87e9b3[_0x5e9643(0xa5)]==='new_task'||_0x87e9b3['type']==='new_message'||_0x87e9b3[_0x5e9643(0xa5)]===_0x5e9643(0xdf))await this[_0x5e9643(0xa0)]();}catch{}}}}catch(_0x5427d3){if(_0x5427d3[_0x5e9643(0xad)]===_0x5e9643(0xe0))break;this[_0x5e9643(0xa2)](_0x5e9643(0x98),_0x5427d3),this[_0x5e9643(0xc6)](_0x5e9643(0xba)+_0x5427d3[_0x5e9643(0xcb)]);}if(this['running'])this[_0x5e9643(0xa2)](_0x5e9643(0xc7)),this[_0x5e9643(0xc6)](_0x5e9643(0xaf)+_0xdad6ee/0x3e8+_0x5e9643(0xd9)),await this['sleep'](_0xdad6ee),_0xdad6ee=Math[_0x5e9643(0xc9)](_0xdad6ee*1.5,0xea60);}}async['processInbox'](){const _0x55c20c=a0_0x12ab29;try{let _0x5dcc78=(await this[_0x55c20c(0xdb)](_0x55c20c(0xe5),{'alias':this['alias'],'limit':0xa}))?.[_0x55c20c(0xe1)]||[];for(let _0x5c0606 of _0x5dcc78)await this[_0x55c20c(0xdb)](_0x55c20c(0xa4),{'alias':this[_0x55c20c(0xaa)],'message_id':_0x5c0606['id']}),this[_0x55c20c(0xc6)]('←\x20'+_0x5c0606[_0x55c20c(0x9f)]+':\x20'+_0x5c0606['content']['slice'](0x0,0x3c)),this[_0x55c20c(0xa2)](_0x55c20c(0xac),_0x5c0606),this[_0x55c20c(0xa2)](_0x55c20c(0xcb),_0x5c0606);}catch(_0x17c3b7){this['log'](_0x55c20c(0x9c)+_0x17c3b7[_0x55c20c(0xcb)]);}}[a0_0x12ab29(0xb9)](_0x1f7153){return new Promise(_0x3938d3=>setTimeout(_0x3938d3,_0x1f7153));}}var $=T;function a0_0x1179(_0x36eaa9,_0x3f9d1e){_0x36eaa9=_0x36eaa9-0x95;const _0x3fa12d=a0_0x3fa1();let _0x1179b7=_0x3fa12d[_0x36eaa9];return _0x1179b7;}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_0xe95032=a0_0x2a80;(function(_0x263f32,_0x37a1d2){const _0x5683d0=a0_0x2a80,_0x1eb00c=_0x263f32();while(!![]){try{const _0x103501=parseInt(_0x5683d0(0xaf))/0x1*(parseInt(_0x5683d0(0xeb))/0x2)+parseInt(_0x5683d0(0x84))/0x3+-parseInt(_0x5683d0(0xe0))/0x4*(-parseInt(_0x5683d0(0x9a))/0x5)+-parseInt(_0x5683d0(0xa3))/0x6*(parseInt(_0x5683d0(0xe9))/0x7)+parseInt(_0x5683d0(0xf5))/0x8*(-parseInt(_0x5683d0(0xc2))/0x9)+parseInt(_0x5683d0(0xb2))/0xa+-parseInt(_0x5683d0(0xd9))/0xb;if(_0x103501===_0x37a1d2)break;else _0x1eb00c['push'](_0x1eb00c['shift']());}catch(_0x4aaf8){_0x1eb00c['push'](_0x1eb00c['shift']());}}}(a0_0x213f,0xe6c23));import{readFileSync as a0_0x348b15,existsSync as a0_0x584eb0}from'fs';import{randomUUID as a0_0x254e50}from'crypto';import{join as a0_0x332d3b}from'path';import{hostname as a0_0x43dd0f}from'os';import{execSync as a0_0xc13bcb}from'child_process';import{Server as a0_0x55f531}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x1872f0}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x51df58,CallToolRequestSchema as a0_0x4dc61d}from'@modelcontextprotocol/sdk/types.js';function p(_0x57a4e9){const _0x56c25c=a0_0x2a80;if(!a0_0x584eb0(_0x57a4e9))return;for(let _0x3b458b of a0_0x348b15(_0x57a4e9,_0x56c25c(0x81))[_0x56c25c(0x9d)]('\x0a')){let _0x2e9a91=_0x3b458b[_0x56c25c(0xa0)]();if(!_0x2e9a91||_0x2e9a91['startsWith']('#'))continue;let _0x321dfe=_0x2e9a91[_0x56c25c(0xac)]('=');if(_0x321dfe<0x0)continue;let _0x4d936b=_0x2e9a91[_0x56c25c(0xfd)](0x0,_0x321dfe)[_0x56c25c(0xa0)](),_0x17c10d=_0x2e9a91[_0x56c25c(0xfd)](_0x321dfe+0x1)[_0x56c25c(0xa0)]()['replace'](/^["']|["']$/g,'');if(!process.env[_0x4d936b])process.env[_0x4d936b]=_0x17c10d;}}var C=process.env.HOME||'~',T=a0_0x332d3b(C,a0_0xe95032(0xff));p(a0_0x332d3b(T,a0_0xe95032(0xad)));var L=process[a0_0xe95032(0xa9)]()[a0_0xe95032(0x7d)](/\//g,'-');p(a0_0x332d3b(T,L,'.env'));function a0_0x2a80(_0x1e76fc,_0x56da74){_0x1e76fc=_0x1e76fc-0x75;const _0x213f9d=a0_0x213f();let _0x2a8047=_0x213f9d[_0x1e76fc];return _0x2a8047;}function U(){const _0x44339c=a0_0xe95032;try{return a0_0xc13bcb(_0x44339c(0xee),{'encoding':_0x44339c(0x81),'timeout':0x7d0})[_0x44339c(0xa0)]();}catch{return'';}}function v(){const _0x3223ba=a0_0xe95032;try{let _0x1f53b2=a0_0x332d3b(C,_0x3223ba(0x9e),_0x3223ba(0xb9));if(a0_0x584eb0(_0x1f53b2))return JSON[_0x3223ba(0x78)](a0_0x348b15(_0x1f53b2,_0x3223ba(0x81)));}catch{}return{};}function a0_0x213f(){const _0x24e6d7=['.claude/channels/commhub','low','ENV:\x20URL=','commhub-channel','object','length','\x20CWD=','from','parse','\x20RESUME_ID=','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','connected','completed','replace','shutting\x20down,\x20reporting\x20offline...','ack_inbox','heartbeat\x20failed:\x20','utf-8','\x20priority=','tools/call','2568318eyGtxb','failed','parse\x20error:\x20','cancelled','\x22\x20(','POST','SSE\x20fatal:\x20','commhub','0.3.0','working','message','content','notification','data:\x20','type','initialize',']\x20[commhub]\x20','pop','result','connecting\x20to\x20','Progress\x200-100','unknown\x20tool','280nCGnQE','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','Priority\x20(default:\x20normal)','split','.anet','2.0','trim','string','SSE\x20connection\x20error:\x20','12762XmtvDG','hub','\x20from\x20','commhub_get_all_status','ready\x20—\x20waiting\x20for\x20events','text','cwd','Message\x20content','message_id','indexOf','.env','error','154378tROuCl','setRequestHandler','send_message','18898770EKBirw','broadcast','blocked','notifications/claude/channel','claude-code','normal',':\x20inbox_count=','config.json','commhub_send_task','end','token','catch','init\x20failed:\x20','...\x20TMUX=','\x20PROJECT_ENV=','inbox_count','4905AEHxFZ','commhub_reply','get_all_status','SSE\x20stream\x20ended,\x20reconnecting...','read','idle','warning:\x20could\x20not\x20register:\x20','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','stderr','http://127.0.0.1:9200','/events/','send_task','SSE\x20error:\x20','exit','Bearer\x20','params','new_task','priority','stringify','join','statusText','get','body','1890218wnHeue','Reply\x20text\x20/\x20result\x20summary','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','/mcp','stdin','report_status','startsWith','43004UQOYHI','messages','in_progress','send_reply','SIGINT','commhub_report_status','none','application/json','MCP\x20stdio\x20connected','3283oZVkfp','write','6eEJPzk','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','decode','tmux\x20display-message\x20-p\x20\x27#S\x27','find','from_session','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','status','number','getReader','24904TJoncN','registered\x20as\x20\x22','fatal:\x20','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','SIGTERM','←\x20message\x20from\x20','new_message','commhub_send_message','slice','Target\x20session\x20alias'];a0_0x213f=function(){return _0x24e6d7;};return a0_0x213f();}var H=v(),f=process.env.COMMHUB_URL||H['hub']||a0_0xe95032(0xcb),j=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||j||a0_0x43dd0f(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x254e50(),X=process.env.COMMHUB_TOKEN||H[a0_0xe95032(0xbc)]||'';function Y(_0x25c011){const _0x10be27=a0_0xe95032;let _0x2be634=new Date()['toTimeString']()[_0x10be27(0xfd)](0x0,0x8);process[_0x10be27(0xca)][_0x10be27(0xea)]('['+_0x2be634+_0x10be27(0x94)+_0x25c011+'\x0a');}function h(_0x1e3cb7){return new Promise(_0x85109c=>setTimeout(_0x85109c,_0x1e3cb7));}Y(a0_0xe95032(0x101)+f+'\x20ALIAS='+Z+a0_0xe95032(0x79)+w[a0_0xe95032(0xfd)](0x0,0x8)+a0_0xe95032(0xbf)+(j||a0_0xe95032(0xe6))+a0_0xe95032(0x76)+process[a0_0xe95032(0xa9)]()+a0_0xe95032(0xc0)+L);var k=new Map(),K=new a0_0x55f531({'name':a0_0xe95032(0x102),'version':a0_0xe95032(0x8c)},{'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_0xe95032(0xf8),a0_0xe95032(0xec),a0_0xe95032(0x9b),'Session\x20alias:\x20'+Z][a0_0xe95032(0xd5)]('\x0a')});K[a0_0xe95032(0xb0)](a0_0x51df58,async()=>({'tools':[{'name':a0_0xe95032(0xc3),'description':a0_0xe95032(0x7a),'inputSchema':{'type':a0_0xe95032(0x103),'properties':{'task_id':{'type':a0_0xe95032(0xa1),'description':'The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)'},'text':{'type':'string','description':a0_0xe95032(0xda)},'status':{'type':a0_0xe95032(0xa1),'enum':[a0_0xe95032(0x7c),a0_0xe95032(0x85),a0_0xe95032(0x87),a0_0xe95032(0xb4),a0_0xe95032(0xae),a0_0xe95032(0xe2)],'description':'Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'}},'required':['text']}},{'name':'commhub_report_status','description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':'object','properties':{'status':{'type':a0_0xe95032(0xa1),'enum':['working','idle',a0_0xe95032(0xb4),a0_0xe95032(0xae)]},'task':{'type':a0_0xe95032(0xa1),'description':'Current\x20task\x20description'},'progress':{'type':a0_0xe95032(0xf3),'description':a0_0xe95032(0x98)}},'required':[a0_0xe95032(0xf2)]}},{'name':a0_0xe95032(0xba),'description':a0_0xe95032(0xdb),'inputSchema':{'type':a0_0xe95032(0x103),'properties':{'alias':{'type':a0_0xe95032(0xa1),'description':a0_0xe95032(0xfe)},'task':{'type':a0_0xe95032(0xa1),'description':'Task\x20content'},'priority':{'type':'string','enum':['high',a0_0xe95032(0xb7),a0_0xe95032(0x100)],'description':a0_0xe95032(0x9c)}},'required':['alias','task']}},{'name':a0_0xe95032(0xfc),'description':a0_0xe95032(0xf1),'inputSchema':{'type':a0_0xe95032(0x103),'properties':{'alias':{'type':a0_0xe95032(0xa1),'description':'Target\x20session\x20alias'},'message':{'type':a0_0xe95032(0xa1),'description':a0_0xe95032(0xaa)}},'required':['alias',a0_0xe95032(0x8e)]}},{'name':a0_0xe95032(0xa6),'description':a0_0xe95032(0xc9),'inputSchema':{'type':a0_0xe95032(0x103),'properties':{}}}]}));async function P(_0x4dc0cf,_0x41945e){const _0x33834b=a0_0xe95032;let _0x10c7ff=await fetch(f+_0x33834b(0xdc),{'method':'POST','headers':{'Content-Type':_0x33834b(0xe7),'Accept':'application/json,\x20text/event-stream',...X?{'Authorization':_0x33834b(0xd0)+X}:{}},'body':JSON[_0x33834b(0xd4)]({'jsonrpc':_0x33834b(0x9f),'id':0x1,'method':_0x33834b(0x93),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x33834b(0x102),'version':_0x33834b(0x8c)}}})});if(!_0x10c7ff['ok']){let _0x57fd39=await _0x10c7ff[_0x33834b(0xa8)]();return Y('CommHub\x20init\x20failed:\x20'+_0x10c7ff[_0x33834b(0xf2)]+'\x20'+_0x57fd39[_0x33834b(0xfd)](0x0,0x64)),{'ok':!0x1,'error':_0x33834b(0xbe)+_0x10c7ff[_0x33834b(0xf2)]};}await _0x10c7ff[_0x33834b(0xa8)]();let _0x2e7193=(await(await fetch(f+'/mcp',{'method':_0x33834b(0x89),'headers':{'Content-Type':_0x33834b(0xe7),'Accept':'application/json,\x20text/event-stream',...X?{'Authorization':_0x33834b(0xd0)+X}:{}},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x2,'method':_0x33834b(0x83),'params':{'name':_0x4dc0cf,'arguments':_0x41945e}})}))[_0x33834b(0xa8)]())[_0x33834b(0x9d)]('\x0a')[_0x33834b(0xef)](_0x2c4b38=>_0x2c4b38[_0x33834b(0xdf)]('data:\x20'));if(_0x2e7193){let _0x47cf33=JSON[_0x33834b(0x78)](_0x2e7193['slice'](0x6));return _0x47cf33?.[_0x33834b(0x96)]?.['content']?.[0x0]?.[_0x33834b(0xa8)]?JSON[_0x33834b(0x78)](_0x47cf33[_0x33834b(0x96)][_0x33834b(0x8f)][0x0][_0x33834b(0xa8)]):_0x47cf33;}return{'ok':!0x1,'error':'no\x20response'};}K[a0_0xe95032(0xb0)](a0_0x4dc61d,async _0x401cc5=>{const _0x4c2b84=a0_0xe95032;let {name:_0x3d17d8,arguments:_0x38da1c}=_0x401cc5[_0x4c2b84(0xd1)];if(_0x3d17d8==='commhub_reply'){let {task_id:_0x2417ce,text:_0x33aece,status:_0x4897cc}=_0x38da1c;if(_0x4897cc===_0x4c2b84(0x7c)||_0x4897cc===_0x4c2b84(0x85)||_0x4897cc===_0x4c2b84(0x87)){let _0x593b55=_0x4897cc===_0x4c2b84(0x7c)?'replied':_0x4897cc,_0x557cc6=_0x2417ce?k[_0x4c2b84(0xd7)](_0x2417ce)||_0x4c2b84(0xa4):_0x4c2b84(0xa4),_0x549498=await P(_0x4c2b84(0xe3),{'alias':_0x557cc6,'text':_0x33aece,'in_reply_to':_0x2417ce||void 0x0,'status':_0x593b55,'from_session':Z});if(_0x2417ce)k['delete'](_0x2417ce);return{'content':[{'type':'text','text':JSON[_0x4c2b84(0xd4)](_0x549498)}]};}let _0x17bfd5=await P(_0x4c2b84(0xde),{'resume_id':w,'alias':Z,'status':_0x4897cc===_0x4c2b84(0xb4)?'blocked':_0x4897cc===_0x4c2b84(0xae)?_0x4c2b84(0xae):_0x4c2b84(0x8d),'task':_0x33aece[_0x4c2b84(0xfd)](0x0,0xc8),'output':_0x33aece});return{'content':[{'type':_0x4c2b84(0xa8),'text':JSON[_0x4c2b84(0xd4)](_0x17bfd5)}]};}if(_0x3d17d8===_0x4c2b84(0xe5)){let {status:_0x4b55ed,task:_0x51580f,progress:_0x19a821}=_0x38da1c,_0x5ea7c2=await P('report_status',{'resume_id':w,'alias':Z,'status':_0x4b55ed,'task':_0x51580f,'progress':_0x19a821});return{'content':[{'type':_0x4c2b84(0xa8),'text':JSON[_0x4c2b84(0xd4)](_0x5ea7c2)}]};}if(_0x3d17d8===_0x4c2b84(0xba)){let {alias:_0x19fe02,task:_0x16bbc3,priority:_0x575782}=_0x38da1c,_0x5b5e76=await P(_0x4c2b84(0xcd),{'alias':_0x19fe02,'task':_0x16bbc3,'priority':_0x575782||_0x4c2b84(0xb7),'from_session':Z});return{'content':[{'type':_0x4c2b84(0xa8),'text':JSON[_0x4c2b84(0xd4)](_0x5b5e76)}]};}if(_0x3d17d8==='commhub_send_message'){let {alias:_0x5c61a2,message:_0x34536a}=_0x38da1c,_0x6ae74d=await P(_0x4c2b84(0xb1),{'alias':_0x5c61a2,'message':_0x34536a,'from_session':Z});return{'content':[{'type':_0x4c2b84(0xa8),'text':JSON[_0x4c2b84(0xd4)](_0x6ae74d)}]};}if(_0x3d17d8==='commhub_get_all_status'){let _0xfdd231=await P(_0x4c2b84(0xc4),{});return{'content':[{'type':_0x4c2b84(0xa8),'text':JSON['stringify'](_0xfdd231)}]};}return{'content':[{'type':'text','text':JSON['stringify']({'error':_0x4c2b84(0x99)})}]};});async function u(){const _0x82b477=a0_0xe95032;let _0x3a3eb5=f+_0x82b477(0xcc)+encodeURIComponent(Z),_0x110a43={};if(X)_0x110a43['Authorization']=_0x82b477(0xd0)+X;Y(_0x82b477(0x97)+_0x3a3eb5);while(!0x0){try{let _0x141b38=await fetch(_0x3a3eb5,{'headers':_0x110a43});if(!_0x141b38['ok']){Y(_0x82b477(0xce)+_0x141b38[_0x82b477(0xf2)]+'\x20'+_0x141b38[_0x82b477(0xd6)]),await h(0x1388);continue;}let _0x546e76=_0x141b38[_0x82b477(0xd8)][_0x82b477(0xf4)](),_0x4acd7d=new TextDecoder(),_0x20c2ae='';while(!0x0){let {done:_0x2ea0d3,value:_0x44e871}=await _0x546e76[_0x82b477(0xc6)]();if(_0x2ea0d3)break;_0x20c2ae+=_0x4acd7d[_0x82b477(0xed)](_0x44e871,{'stream':!0x0});let _0x4ab9c9=_0x20c2ae['split']('\x0a\x0a');_0x20c2ae=_0x4ab9c9[_0x82b477(0x95)]()||'';for(let _0x23ee99 of _0x4ab9c9){let _0x2a2dd5=_0x23ee99['split']('\x0a')[_0x82b477(0xef)](_0x139fbd=>_0x139fbd[_0x82b477(0xdf)](_0x82b477(0x91)));if(!_0x2a2dd5)continue;try{let _0x161814=JSON[_0x82b477(0x78)](_0x2a2dd5[_0x82b477(0xfd)](0x6));await S(_0x161814);}catch(_0x4bda72){Y(_0x82b477(0x86)+_0x4bda72);}}}Y(_0x82b477(0xc5));}catch(_0x32555e){Y(_0x82b477(0xa2)+_0x32555e);}await h(0xbb8);}}async function S(_0x169db5){const _0x749912=a0_0xe95032;if(_0x169db5[_0x749912(0x92)]===_0x749912(0x7b)){Y('SSE\x20connected\x20as\x20\x22'+Z+'\x22');return;}if(_0x169db5[_0x749912(0x92)]===_0x749912(0xfb)){if(Y(_0x749912(0xfa)+_0x169db5[_0x749912(0x77)]+':\x20'+_0x169db5[_0x749912(0x8e)][_0x749912(0xfd)](0x0,0x3c)),await K[_0x749912(0x90)]({'method':'notifications/claude/channel','params':{'content':_0x169db5[_0x749912(0x8e)],'meta':{'sender':_0x169db5[_0x749912(0x77)]||_0x749912(0xa4),'sender_id':'commhub','user':_0x169db5[_0x749912(0x77)]||_0x749912(0xa4),'priority':'normal'}}}),_0x169db5[_0x749912(0xab)])await P('ack_inbox',{'alias':Z,'message_id':_0x169db5[_0x749912(0xab)]});return;}if(_0x169db5[_0x749912(0x92)]===_0x749912(0xd2)||_0x169db5[_0x749912(0x92)]===_0x749912(0xb3)){Y('←\x20'+_0x169db5['type']+_0x749912(0xb8)+_0x169db5[_0x749912(0xc1)]+_0x749912(0x82)+(_0x169db5[_0x749912(0xd3)]||_0x749912(0xb7)));let _0x453753=await P('get_inbox',{'alias':Z,'limit':0x5});if(_0x453753?.['ok']&&_0x453753[_0x749912(0xe1)]?.[_0x749912(0x75)]>0x0)for(let _0x2108f7 of _0x453753[_0x749912(0xe1)]){let _0x4146ef={'sender':_0x2108f7['from_session']||_0x749912(0xa4),'sender_id':_0x749912(0x8b),'user':_0x2108f7[_0x749912(0xf0)]||_0x749912(0xa4),'task_id':_0x2108f7['id'],'priority':_0x2108f7['priority']||_0x749912(0xb7)};k['set'](_0x2108f7['id'],_0x2108f7[_0x749912(0xf0)]||_0x749912(0xa4)),await K[_0x749912(0x90)]({'method':_0x749912(0xb5),'params':{'content':_0x2108f7['content'],'meta':_0x4146ef}}),Y('→\x20injected\x20task\x20'+_0x2108f7['id'][_0x749912(0xfd)](0x0,0x8)+_0x749912(0xa5)+_0x2108f7[_0x749912(0xf0)]+':\x20'+_0x2108f7[_0x749912(0x8f)][_0x749912(0xfd)](0x0,0x3c)),await P(_0x749912(0x7f),{'alias':Z,'message_id':_0x2108f7['id']});}}}async function A(){const _0xaf3e00=a0_0xe95032;let _0x44640b=new a0_0x1872f0();await K['connect'](_0x44640b),Y(_0xaf3e00(0xe8)),Y('starting\x20SSE\x20listener...'),u()[_0xaf3e00(0xbd)](_0xede9e3=>Y(_0xaf3e00(0x8a)+_0xede9e3)),P(_0xaf3e00(0xde),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x43dd0f(),'hostname':a0_0x43dd0f(),'agent':_0xaf3e00(0xb6),'project_dir':process[_0xaf3e00(0xa9)](),'tmux_name':j||void 0x0})['then'](()=>Y(_0xaf3e00(0xf6)+Z+_0xaf3e00(0x88)+w['slice'](0x0,0x8)+')'))[_0xaf3e00(0xbd)](_0x4d74b3=>Y(_0xaf3e00(0xc8)+_0x4d74b3)),setInterval(()=>{const _0x5bc618=_0xaf3e00;P('report_status',{'resume_id':w,'alias':Z,'status':_0x5bc618(0xc7),'server':a0_0x43dd0f(),'hostname':a0_0x43dd0f(),'agent':_0x5bc618(0xb6),'project_dir':process[_0x5bc618(0xa9)](),'tmux_name':j||void 0x0})[_0x5bc618(0xbd)](_0x3564b1=>Y(_0x5bc618(0x80)+_0x3564b1));},0x2bf20),Y(_0xaf3e00(0xa7));}A()[a0_0xe95032(0xbd)](_0x41f224=>{const _0x17b069=a0_0xe95032;Y(_0x17b069(0xf7)+_0x41f224),process[_0x17b069(0xcf)](0x1);});async function N(){const _0x499075=a0_0xe95032;Y(_0x499075(0x7e)),await P(_0x499075(0xde),{'resume_id':w,'alias':Z,'status':'error','task':'session\x20disconnected'})[_0x499075(0xbd)](()=>{}),process[_0x499075(0xcf)](0x0);}process[a0_0xe95032(0xdd)]['on'](a0_0xe95032(0xbb),()=>N()),process['on'](a0_0xe95032(0xf9),()=>N()),process['on'](a0_0xe95032(0xe4),()=>N());
|
|
2
|
+
const a0_0x70133d=a0_0x2dd4;(function(_0x58d341,_0x48821d){const _0x372578=a0_0x2dd4,_0x53a4e5=_0x58d341();while(!![]){try{const _0x6f9bd1=-parseInt(_0x372578(0x269))/0x1+-parseInt(_0x372578(0x21d))/0x2*(parseInt(_0x372578(0x1f0))/0x3)+parseInt(_0x372578(0x1ff))/0x4*(-parseInt(_0x372578(0x259))/0x5)+parseInt(_0x372578(0x236))/0x6*(-parseInt(_0x372578(0x273))/0x7)+-parseInt(_0x372578(0x26b))/0x8*(parseInt(_0x372578(0x1fa))/0x9)+-parseInt(_0x372578(0x21a))/0xa*(parseInt(_0x372578(0x210))/0xb)+parseInt(_0x372578(0x1f1))/0xc;if(_0x6f9bd1===_0x48821d)break;else _0x53a4e5['push'](_0x53a4e5['shift']());}catch(_0x4b37f6){_0x53a4e5['push'](_0x53a4e5['shift']());}}}(a0_0x1e21,0xa826d));import{readFileSync as a0_0x5e6e6e,existsSync as a0_0x5a778a}from'fs';import{randomUUID as a0_0x569d16}from'crypto';import{join as a0_0x532cb2}from'path';function a0_0x1e21(){const _0xfa32f9=['\x20priority=','SIGINT','SSE\x20connection\x20error:\x20','45GaiAVQ','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','application/json','broadcast','tools/call','3230888AIrqgc','notifications/claude/channel','failed','completed','init\x20failed:\x20','no\x20response','/mcp','SSE\x20stream\x20ended,\x20reconnecting...','report_status','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','stdin','cancelled','replace','connected','commhub_reply','type','length','33bNdPQQ','decode','.claude/channels/commhub','.env','status','Bearer\x20','blocked','connect','\x20RESUME_ID=','alias','3880850kEBgDN','trim','connecting\x20to\x20','7762dKpoHe','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','result','in_progress','utf-8','Message\x20content','cwd','message','parse','low','Target\x20session\x20alias','MCP\x20stdio\x20connected','claude-code','Task\x20content','idle','0.3.0','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','split','ack_inbox','hub','commhub_send_task','CommHub\x20init\x20failed:\x20','body','\x22\x20(','write','427668mYWbKF','replied','new_task','send_message','send_reply','heartbeat\x20failed:\x20','Authorization','string','...\x20TMUX=','catch','\x20from\x20','config.json','read','shutting\x20down,\x20reporting\x20offline...','parse\x20error:\x20','messages','commhub_send_message','commhub_report_status','normal','SSE\x20connected\x20as\x20\x22','Current\x20task\x20description','find','priority','working','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','content','fatal:\x20','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','Session\x20alias:\x20','POST','delete','get','stderr','initialize','stringify','5zhsJva','number','toTimeString','from','token','Priority\x20(default:\x20normal)','commhub','object','\x20PROJECT_ENV=','Reply\x20text\x20/\x20result\x20summary','error','warning:\x20could\x20not\x20register:\x20','end','ENV:\x20URL=','application/json,\x20text/event-stream','startsWith','1355672ujkyOG','\x20ALIAS=','1179944MQIycL','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','statusText','session\x20disconnected','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','send_task','commhub_get_all_status','exit','28CqccKl','data:\x20','commhub-channel','registered\x20as\x20\x22','message_id','then','from_session','none','http://127.0.0.1:9200','text','slice','notification','get_inbox','186GCepLs','63355164PUxuNR','setRequestHandler','2.0','get_all_status','getReader','→\x20injected\x20task\x20'];a0_0x1e21=function(){return _0xfa32f9;};return a0_0x1e21();}import{hostname as a0_0x72174b}from'os';import{execSync as a0_0x37f89d}from'child_process';import{Server as a0_0x5cb7ad}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x14f706}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x1ef01f,CallToolRequestSchema as a0_0xde029a}from'@modelcontextprotocol/sdk/types.js';function p(_0x49d8bb){const _0x31001e=a0_0x2dd4;if(!a0_0x5a778a(_0x49d8bb))return;for(let _0x5c1a55 of a0_0x5e6e6e(_0x49d8bb,'utf-8')[_0x31001e(0x22e)]('\x0a')){let _0x4ab98d=_0x5c1a55[_0x31001e(0x21b)]();if(!_0x4ab98d||_0x4ab98d[_0x31001e(0x268)]('#'))continue;let _0x160791=_0x4ab98d['indexOf']('=');if(_0x160791<0x0)continue;let _0xc604f3=_0x4ab98d['slice'](0x0,_0x160791)[_0x31001e(0x21b)](),_0xd3465c=_0x4ab98d[_0x31001e(0x1ed)](_0x160791+0x1)['trim']()[_0x31001e(0x20b)](/^["']|["']$/g,'');if(!process.env[_0xc604f3])process.env[_0xc604f3]=_0xd3465c;}}var C=process.env.HOME||'~',T=a0_0x532cb2(C,a0_0x70133d(0x212));p(a0_0x532cb2(T,a0_0x70133d(0x213)));var L=process['cwd']()[a0_0x70133d(0x20b)](/\//g,'-');p(a0_0x532cb2(T,L,'.env'));function U(){const _0x2cf68c=a0_0x70133d;try{return a0_0x37f89d('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':_0x2cf68c(0x221),'timeout':0x7d0})[_0x2cf68c(0x21b)]();}catch{return'';}}function a0_0x2dd4(_0x5e5918,_0x214f35){_0x5e5918=_0x5e5918-0x1e8;const _0x1e213b=a0_0x1e21();let _0x2dd4bb=_0x1e213b[_0x5e5918];return _0x2dd4bb;}function v(){const _0x1b5dcd=a0_0x70133d;try{let _0x1eef97=a0_0x532cb2(C,'.anet',_0x1b5dcd(0x241));if(a0_0x5a778a(_0x1eef97))return JSON[_0x1b5dcd(0x225)](a0_0x5e6e6e(_0x1eef97,_0x1b5dcd(0x221)));}catch{}return{};}var H=v(),f=process.env.COMMHUB_URL||H[a0_0x70133d(0x230)]||a0_0x70133d(0x1eb),j=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||j||a0_0x72174b(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x569d16(),X=process.env.COMMHUB_TOKEN||H[a0_0x70133d(0x25d)]||'';function Y(_0x55f936){const _0x3603fb=a0_0x70133d;let _0x2841ff=new Date()[_0x3603fb(0x25b)]()['slice'](0x0,0x8);process[_0x3603fb(0x256)][_0x3603fb(0x235)]('['+_0x2841ff+']\x20[commhub]\x20'+_0x55f936+'\x0a');}function h(_0x30d68e){return new Promise(_0xbec705=>setTimeout(_0xbec705,_0x30d68e));}Y(a0_0x70133d(0x266)+f+a0_0x70133d(0x26a)+Z+a0_0x70133d(0x218)+w[a0_0x70133d(0x1ed)](0x0,0x8)+a0_0x70133d(0x23e)+(j||a0_0x70133d(0x1ea))+'\x20CWD='+process[a0_0x70133d(0x223)]()+a0_0x70133d(0x261)+L);var k=new Map(),K=new a0_0x5cb7ad({'name':a0_0x70133d(0x275),'version':a0_0x70133d(0x22c)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x70133d(0x26c),a0_0x70133d(0x1fb),'Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.',a0_0x70133d(0x21e),a0_0x70133d(0x252)+Z]['join']('\x0a')});K[a0_0x70133d(0x1f2)](a0_0x1ef01f,async()=>({'tools':[{'name':a0_0x70133d(0x20d),'description':a0_0x70133d(0x26f),'inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0x70133d(0x23d),'description':a0_0x70133d(0x208)},'text':{'type':'string','description':a0_0x70133d(0x262)},'status':{'type':a0_0x70133d(0x23d),'enum':['completed','failed','cancelled',a0_0x70133d(0x216),'error',a0_0x70133d(0x220)],'description':'Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'}},'required':[a0_0x70133d(0x1ec)]}},{'name':a0_0x70133d(0x247),'description':a0_0x70133d(0x251),'inputSchema':{'type':a0_0x70133d(0x260),'properties':{'status':{'type':a0_0x70133d(0x23d),'enum':[a0_0x70133d(0x24d),a0_0x70133d(0x22b),'blocked',a0_0x70133d(0x263)]},'task':{'type':a0_0x70133d(0x23d),'description':a0_0x70133d(0x24a)},'progress':{'type':a0_0x70133d(0x25a),'description':'Progress\x200-100'}},'required':['status']}},{'name':a0_0x70133d(0x231),'description':a0_0x70133d(0x22d),'inputSchema':{'type':a0_0x70133d(0x260),'properties':{'alias':{'type':a0_0x70133d(0x23d),'description':a0_0x70133d(0x227)},'task':{'type':'string','description':a0_0x70133d(0x22a)},'priority':{'type':a0_0x70133d(0x23d),'enum':['high',a0_0x70133d(0x248),a0_0x70133d(0x226)],'description':a0_0x70133d(0x25e)}},'required':[a0_0x70133d(0x219),'task']}},{'name':a0_0x70133d(0x246),'description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0x70133d(0x260),'properties':{'alias':{'type':a0_0x70133d(0x23d),'description':a0_0x70133d(0x227)},'message':{'type':a0_0x70133d(0x23d),'description':a0_0x70133d(0x222)}},'required':[a0_0x70133d(0x219),a0_0x70133d(0x224)]}},{'name':a0_0x70133d(0x271),'description':a0_0x70133d(0x24e),'inputSchema':{'type':a0_0x70133d(0x260),'properties':{}}}]}));async function P(_0x333def,_0x488d33){const _0x583176=a0_0x70133d;let _0x4dfb9a=await fetch(f+_0x583176(0x205),{'method':_0x583176(0x253),'headers':{'Content-Type':_0x583176(0x1fc),'Accept':_0x583176(0x267),...X?{'Authorization':_0x583176(0x215)+X}:{}},'body':JSON[_0x583176(0x258)]({'jsonrpc':'2.0','id':0x1,'method':_0x583176(0x257),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x583176(0x275),'version':_0x583176(0x22c)}}})});if(!_0x4dfb9a['ok']){let _0x2cce56=await _0x4dfb9a[_0x583176(0x1ec)]();return Y(_0x583176(0x232)+_0x4dfb9a[_0x583176(0x214)]+'\x20'+_0x2cce56[_0x583176(0x1ed)](0x0,0x64)),{'ok':!0x1,'error':_0x583176(0x203)+_0x4dfb9a[_0x583176(0x214)]};}await _0x4dfb9a[_0x583176(0x1ec)]();let _0x16d42b=(await(await fetch(f+_0x583176(0x205),{'method':_0x583176(0x253),'headers':{'Content-Type':_0x583176(0x1fc),'Accept':_0x583176(0x267),...X?{'Authorization':_0x583176(0x215)+X}:{}},'body':JSON['stringify']({'jsonrpc':_0x583176(0x1f3),'id':0x2,'method':_0x583176(0x1fe),'params':{'name':_0x333def,'arguments':_0x488d33}})}))[_0x583176(0x1ec)]())[_0x583176(0x22e)]('\x0a')[_0x583176(0x24b)](_0x302899=>_0x302899['startsWith'](_0x583176(0x274)));if(_0x16d42b){let _0x4fafce=JSON[_0x583176(0x225)](_0x16d42b[_0x583176(0x1ed)](0x6));return _0x4fafce?.[_0x583176(0x21f)]?.['content']?.[0x0]?.[_0x583176(0x1ec)]?JSON[_0x583176(0x225)](_0x4fafce[_0x583176(0x21f)]['content'][0x0]['text']):_0x4fafce;}return{'ok':!0x1,'error':_0x583176(0x204)};}K['setRequestHandler'](a0_0xde029a,async _0x5b7440=>{const _0x5ab995=a0_0x70133d;let {name:_0x537b5b,arguments:_0x49e183}=_0x5b7440['params'];if(_0x537b5b==='commhub_reply'){let {task_id:_0x4f48f4,text:_0xa6829c,status:_0x821974}=_0x49e183;if(_0x821974==='completed'||_0x821974===_0x5ab995(0x201)||_0x821974===_0x5ab995(0x20a)){let _0x670f9e=_0x821974===_0x5ab995(0x202)?_0x5ab995(0x237):_0x821974,_0x40cd7a=_0x4f48f4?k[_0x5ab995(0x255)](_0x4f48f4)||_0x5ab995(0x230):'hub',_0x273e2c=await P(_0x5ab995(0x23a),{'alias':_0x40cd7a,'text':_0xa6829c,'in_reply_to':_0x4f48f4||void 0x0,'status':_0x670f9e,'from_session':Z});if(_0x4f48f4)k[_0x5ab995(0x254)](_0x4f48f4);return{'content':[{'type':_0x5ab995(0x1ec),'text':JSON['stringify'](_0x273e2c)}]};}let _0x1f28d3=await P(_0x5ab995(0x207),{'resume_id':w,'alias':Z,'status':_0x821974===_0x5ab995(0x216)?_0x5ab995(0x216):_0x821974==='error'?_0x5ab995(0x263):_0x5ab995(0x24d),'task':_0xa6829c[_0x5ab995(0x1ed)](0x0,0xc8),'output':_0xa6829c});return{'content':[{'type':_0x5ab995(0x1ec),'text':JSON['stringify'](_0x1f28d3)}]};}if(_0x537b5b===_0x5ab995(0x247)){let {status:_0x5b7c2a,task:_0x5efa51,progress:_0x5a21fc}=_0x49e183,_0x91a116=await P(_0x5ab995(0x207),{'resume_id':w,'alias':Z,'status':_0x5b7c2a,'task':_0x5efa51,'progress':_0x5a21fc});return{'content':[{'type':'text','text':JSON[_0x5ab995(0x258)](_0x91a116)}]};}if(_0x537b5b===_0x5ab995(0x231)){let {alias:_0x40ee81,task:_0x1af9a8,priority:_0x1c3581}=_0x49e183,_0x16ba71=await P(_0x5ab995(0x270),{'alias':_0x40ee81,'task':_0x1af9a8,'priority':_0x1c3581||'normal','from_session':Z});return{'content':[{'type':_0x5ab995(0x1ec),'text':JSON[_0x5ab995(0x258)](_0x16ba71)}]};}if(_0x537b5b==='commhub_send_message'){let {alias:_0x351a5b,message:_0x3bd70e}=_0x49e183,_0x14a7f7=await P(_0x5ab995(0x239),{'alias':_0x351a5b,'message':_0x3bd70e,'from_session':Z});return{'content':[{'type':_0x5ab995(0x1ec),'text':JSON['stringify'](_0x14a7f7)}]};}if(_0x537b5b===_0x5ab995(0x271)){let _0x186e56=await P(_0x5ab995(0x1f4),{});return{'content':[{'type':_0x5ab995(0x1ec),'text':JSON[_0x5ab995(0x258)](_0x186e56)}]};}return{'content':[{'type':_0x5ab995(0x1ec),'text':JSON[_0x5ab995(0x258)]({'error':'unknown\x20tool'})}]};});async function u(){const _0x4d53c3=a0_0x70133d;let _0xca2ce5=f+'/events/'+encodeURIComponent(Z),_0xffa2fd={};if(X)_0xffa2fd[_0x4d53c3(0x23c)]=_0x4d53c3(0x215)+X;Y(_0x4d53c3(0x21c)+_0xca2ce5);while(!0x0){try{let _0x5b1b6b=await fetch(_0xca2ce5,{'headers':_0xffa2fd});if(!_0x5b1b6b['ok']){Y('SSE\x20error:\x20'+_0x5b1b6b['status']+'\x20'+_0x5b1b6b[_0x4d53c3(0x26d)]),await h(0x1388);continue;}let _0x2df7e0=_0x5b1b6b[_0x4d53c3(0x233)][_0x4d53c3(0x1f5)](),_0x54d9c5=new TextDecoder(),_0x5a5780='';while(!0x0){let {done:_0x30183e,value:_0x5d3674}=await _0x2df7e0[_0x4d53c3(0x242)]();if(_0x30183e)break;_0x5a5780+=_0x54d9c5[_0x4d53c3(0x211)](_0x5d3674,{'stream':!0x0});let _0x2d02d0=_0x5a5780[_0x4d53c3(0x22e)]('\x0a\x0a');_0x5a5780=_0x2d02d0['pop']()||'';for(let _0x54b14e of _0x2d02d0){let _0x91d278=_0x54b14e[_0x4d53c3(0x22e)]('\x0a')[_0x4d53c3(0x24b)](_0x4cfeba=>_0x4cfeba[_0x4d53c3(0x268)](_0x4d53c3(0x274)));if(!_0x91d278)continue;try{let _0x579137=JSON[_0x4d53c3(0x225)](_0x91d278[_0x4d53c3(0x1ed)](0x6));await S(_0x579137);}catch(_0x34659a){Y(_0x4d53c3(0x244)+_0x34659a);}}}Y(_0x4d53c3(0x206));}catch(_0x175fa9){Y(_0x4d53c3(0x1f9)+_0x175fa9);}await h(0xbb8);}}async function S(_0x5e4c07){const _0x3ecf6b=a0_0x70133d;if(_0x5e4c07[_0x3ecf6b(0x20e)]===_0x3ecf6b(0x20c)){Y(_0x3ecf6b(0x249)+Z+'\x22');return;}if(_0x5e4c07['type']==='new_message'){if(Y('←\x20message\x20from\x20'+_0x5e4c07[_0x3ecf6b(0x25c)]+':\x20'+_0x5e4c07[_0x3ecf6b(0x224)][_0x3ecf6b(0x1ed)](0x0,0x3c)),await K[_0x3ecf6b(0x1ee)]({'method':_0x3ecf6b(0x200),'params':{'content':_0x5e4c07[_0x3ecf6b(0x224)],'meta':{'sender':_0x5e4c07[_0x3ecf6b(0x25c)]||_0x3ecf6b(0x230),'sender_id':_0x3ecf6b(0x25f),'user':_0x5e4c07[_0x3ecf6b(0x25c)]||_0x3ecf6b(0x230),'priority':_0x3ecf6b(0x248)}}}),_0x5e4c07[_0x3ecf6b(0x277)])await P('ack_inbox',{'alias':Z,'message_id':_0x5e4c07[_0x3ecf6b(0x277)]});return;}if(_0x5e4c07[_0x3ecf6b(0x20e)]===_0x3ecf6b(0x238)||_0x5e4c07[_0x3ecf6b(0x20e)]===_0x3ecf6b(0x1fd)){Y('←\x20'+_0x5e4c07[_0x3ecf6b(0x20e)]+':\x20inbox_count='+_0x5e4c07['inbox_count']+_0x3ecf6b(0x1f7)+(_0x5e4c07[_0x3ecf6b(0x24c)]||'normal'));let _0x4de41a=await P(_0x3ecf6b(0x1ef),{'alias':Z,'limit':0x5});if(_0x4de41a?.['ok']&&_0x4de41a[_0x3ecf6b(0x245)]?.[_0x3ecf6b(0x20f)]>0x0)for(let _0x1912f6 of _0x4de41a[_0x3ecf6b(0x245)]){let _0x55c8ab={'sender':_0x1912f6[_0x3ecf6b(0x1e9)]||_0x3ecf6b(0x230),'sender_id':'commhub','user':_0x1912f6[_0x3ecf6b(0x1e9)]||'hub','task_id':_0x1912f6['id'],'priority':_0x1912f6[_0x3ecf6b(0x24c)]||_0x3ecf6b(0x248)};k['set'](_0x1912f6['id'],_0x1912f6[_0x3ecf6b(0x1e9)]||_0x3ecf6b(0x230)),await K[_0x3ecf6b(0x1ee)]({'method':_0x3ecf6b(0x200),'params':{'content':_0x1912f6[_0x3ecf6b(0x24f)],'meta':_0x55c8ab}}),Y(_0x3ecf6b(0x1f6)+_0x1912f6['id'][_0x3ecf6b(0x1ed)](0x0,0x8)+_0x3ecf6b(0x240)+_0x1912f6['from_session']+':\x20'+_0x1912f6[_0x3ecf6b(0x24f)][_0x3ecf6b(0x1ed)](0x0,0x3c)),await P(_0x3ecf6b(0x22f),{'alias':Z,'message_id':_0x1912f6['id']});}}}async function A(){const _0x91312c=a0_0x70133d;let _0x3c0c49=new a0_0x14f706();await K[_0x91312c(0x217)](_0x3c0c49),Y(_0x91312c(0x228)),Y('starting\x20SSE\x20listener...'),u()[_0x91312c(0x23f)](_0x1147d8=>Y('SSE\x20fatal:\x20'+_0x1147d8)),P(_0x91312c(0x207),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x72174b(),'hostname':a0_0x72174b(),'agent':_0x91312c(0x229),'project_dir':process['cwd'](),'tmux_name':j||void 0x0})[_0x91312c(0x1e8)](()=>Y(_0x91312c(0x276)+Z+_0x91312c(0x234)+w[_0x91312c(0x1ed)](0x0,0x8)+')'))[_0x91312c(0x23f)](_0x2dac37=>Y(_0x91312c(0x264)+_0x2dac37)),setInterval(()=>{const _0x5d1321=_0x91312c;P('report_status',{'resume_id':w,'alias':Z,'status':_0x5d1321(0x22b),'server':a0_0x72174b(),'hostname':a0_0x72174b(),'agent':_0x5d1321(0x229),'project_dir':process[_0x5d1321(0x223)](),'tmux_name':j||void 0x0})[_0x5d1321(0x23f)](_0x5c7acb=>Y(_0x5d1321(0x23b)+_0x5c7acb));},0x2bf20),Y('ready\x20—\x20waiting\x20for\x20events');}A()[a0_0x70133d(0x23f)](_0xea3eec=>{const _0xb6bc97=a0_0x70133d;Y(_0xb6bc97(0x250)+_0xea3eec),process[_0xb6bc97(0x272)](0x1);});async function N(){const _0x1b66df=a0_0x70133d;Y(_0x1b66df(0x243)),await P('report_status',{'resume_id':w,'alias':Z,'status':_0x1b66df(0x263),'task':_0x1b66df(0x26e)})[_0x1b66df(0x23f)](()=>{}),process[_0x1b66df(0x272)](0x0);}process[a0_0x70133d(0x209)]['on'](a0_0x70133d(0x265),()=>N()),process['on']('SIGTERM',()=>N()),process['on'](a0_0x70133d(0x1f8),()=>N());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.2.4
|
|
3
|
+
"version": "2.2.4",
|
|
4
4
|
"description": "AI Agent Network CLI — 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",
|