@sleep2agi/agent-network 2.2.10 → 2.2.11-preview.1
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 +11 -6
- 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 +9 -2
package/dist/src/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x7dfaf5=a0_0x2bb9;(function(_0x5e2455,_0x181719){const _0x4c2861=a0_0x2bb9,_0x286c7b=_0x5e2455();while(!![]){try{const _0x196bcd=parseInt(_0x4c2861(0x134))/0x1*(parseInt(_0x4c2861(0x130))/0x2)+parseInt(_0x4c2861(0xdc))/0x3*(parseInt(_0x4c2861(0x111))/0x4)+-parseInt(_0x4c2861(0xf1))/0x5+parseInt(_0x4c2861(0x11b))/0x6*(-parseInt(_0x4c2861(0xf0))/0x7)+parseInt(_0x4c2861(0xf3))/0x8+parseInt(_0x4c2861(0x129))/0x9+-parseInt(_0x4c2861(0xe6))/0xa*(parseInt(_0x4c2861(0x122))/0xb);if(_0x196bcd===_0x181719)break;else _0x286c7b['push'](_0x286c7b['shift']());}catch(_0x367f41){_0x286c7b['push'](_0x286c7b['shift']());}}}(a0_0x5636,0x5ef8f));import{EventEmitter as a0_0x1cb81d}from'events';import{hostname as a0_0x3ad7b7}from'os';class T extends a0_0x1cb81d{['url'];[a0_0x7dfaf5(0x11a)];[a0_0x7dfaf5(0xe7)];[a0_0x7dfaf5(0x133)];[a0_0x7dfaf5(0x115)];[a0_0x7dfaf5(0xf4)];[a0_0x7dfaf5(0xf2)];[a0_0x7dfaf5(0xf6)];['sseAbort'];[a0_0x7dfaf5(0x112)]=!0x1;constructor(_0x25bf20){const _0x473700=a0_0x7dfaf5;super();if(this['url']=_0x25bf20[_0x473700(0x12d)][_0x473700(0xec)](/\/$/,''),this[_0x473700(0x11a)]=_0x25bf20[_0x473700(0x11a)],this[_0x473700(0xe7)]=_0x25bf20['token'],this[_0x473700(0x133)]=_0x25bf20[_0x473700(0x133)]||_0x473700(0x126),this[_0x473700(0x115)]=_0x473700(0xeb)+_0x25bf20[_0x473700(0x11a)]+'-'+Date[_0x473700(0x104)]()[_0x473700(0x109)](0x24),this[_0x473700(0xf4)]=_0x25bf20['heartbeatInterval']??0x2bf20,this[_0x473700(0xf2)]=_0x25bf20[_0x473700(0xf2)]??0xbb8,_0x25bf20[_0x473700(0x113)]!==!0x1)this[_0x473700(0x12b)]();}[a0_0x7dfaf5(0xe9)](_0x501e5a){const _0x500c8d=a0_0x7dfaf5;console[_0x500c8d(0xe9)]('['+new Date()[_0x500c8d(0x127)]()[_0x500c8d(0xd8)](0x0,0x8)+_0x500c8d(0x121)+this[_0x500c8d(0x11a)]+']\x20'+_0x501e5a);}async[a0_0x7dfaf5(0xe2)](_0x59dedf,_0x6da9ab){const _0x5117d3=a0_0x7dfaf5;let _0x3bedd2={'Content-Type':_0x5117d3(0xdd),'Accept':_0x5117d3(0x10a)};if(this['token'])_0x3bedd2[_0x5117d3(0xe0)]=_0x5117d3(0xdb)+this[_0x5117d3(0xe7)];let _0x32ba79=await(await fetch(this[_0x5117d3(0x12d)]+_0x5117d3(0x10e),{'method':'POST','headers':_0x3bedd2,'body':JSON[_0x5117d3(0x108)]({'jsonrpc':_0x5117d3(0x123),'id':Date[_0x5117d3(0x104)](),'method':_0x5117d3(0x12f),'params':{'name':_0x59dedf,'arguments':_0x6da9ab}})}))['text'](),_0x464629=_0x32ba79[_0x5117d3(0x114)](/data: (.+)/),_0x1b5913=_0x464629?JSON[_0x5117d3(0x101)](_0x464629[0x1]):JSON['parse'](_0x32ba79),_0x421eec=_0x1b5913?.[_0x5117d3(0x11c)]?.[_0x5117d3(0x131)]?.[0x0]?.[_0x5117d3(0x103)];return _0x421eec?JSON[_0x5117d3(0x101)](_0x421eec):_0x1b5913;}async[a0_0x7dfaf5(0x12b)](){const _0x5ac83b=a0_0x7dfaf5;if(this['running'])return;this[_0x5ac83b(0x112)]=!0x0,await this[_0x5ac83b(0xfb)](_0x5ac83b(0x102)),this['log'](_0x5ac83b(0x11f)),this['heartbeatTimer']=setInterval(()=>{const _0x474727=_0x5ac83b;this['status'](_0x474727(0x102))[_0x474727(0xe4)](_0x417822=>this[_0x474727(0xe9)](_0x474727(0x118)+_0x417822[_0x474727(0x125)]));},this[_0x5ac83b(0xf4)]),this[_0x5ac83b(0x136)]();}async['disconnect'](){const _0x59993a=a0_0x7dfaf5;if(this[_0x59993a(0x112)]=!0x1,this['sseAbort']?.['abort'](),this[_0x59993a(0xf6)])clearInterval(this[_0x59993a(0xf6)]);await this[_0x59993a(0xfb)](_0x59993a(0x10f))[_0x59993a(0xe4)](()=>{}),this[_0x59993a(0xe9)](_0x59993a(0x11d));}async[a0_0x7dfaf5(0x11e)](_0x3ae04a,_0x82836a,_0x15233c=a0_0x7dfaf5(0x105)){const _0x1d40c2=a0_0x7dfaf5;return this[_0x1d40c2(0xe2)]('send_task',{'alias':_0x3ae04a,'task':_0x82836a,'priority':_0x15233c,'from_session':this[_0x1d40c2(0x11a)]});}async[a0_0x7dfaf5(0x125)](_0x1ddf9f,_0x491b00){const _0xa25b82=a0_0x7dfaf5;return this[_0xa25b82(0xe2)](_0xa25b82(0x107),{'alias':_0x1ddf9f,'message':_0x491b00,'from_session':this[_0xa25b82(0x11a)]});}async[a0_0x7dfaf5(0x10c)](_0x5e0ea4,_0x3a7eb4,_0x57afee=a0_0x7dfaf5(0xff)){const _0x19423f=a0_0x7dfaf5;return this[_0x19423f(0xe2)](_0x19423f(0x12c),{'in_reply_to':_0x5e0ea4,'text':_0x3a7eb4,'status':_0x57afee});}async[a0_0x7dfaf5(0xfb)](_0x554a15,_0xae602c){const _0x3d7b0c=a0_0x7dfaf5;return this[_0x3d7b0c(0xe2)](_0x3d7b0c(0xdf),{'resume_id':this[_0x3d7b0c(0x115)],'alias':this[_0x3d7b0c(0x11a)],'status':_0x554a15,'server':a0_0x3ad7b7(),'hostname':a0_0x3ad7b7(),'agent':this[_0x3d7b0c(0x133)],'project_dir':process[_0x3d7b0c(0x100)](),..._0xae602c});}async[a0_0x7dfaf5(0x117)](){const _0x461d34=a0_0x7dfaf5;return this['call'](_0x461d34(0xd9),{});}async[a0_0x7dfaf5(0xee)](_0x5b114d,_0x2d2994){const _0x47d2d1=a0_0x7dfaf5;return this[_0x47d2d1(0xe2)](_0x47d2d1(0xee),{'message':_0x5b114d,'filter_server':_0x2d2994?.['server'],'filter_status':_0x2d2994?.[_0x47d2d1(0xfb)]});}async['connectSSE'](){const _0x53d23a=a0_0x7dfaf5;let _0xc96db6=encodeURIComponent(this[_0x53d23a(0x11a)]),_0x2230fe=this['url']+_0x53d23a(0xfe)+_0xc96db6,_0x438714=this[_0x53d23a(0xf2)];while(this[_0x53d23a(0x112)]){try{this[_0x53d23a(0xf9)]=new AbortController();let _0x2cf290={'Accept':_0x53d23a(0x135)};if(this[_0x53d23a(0xe7)])_0x2cf290[_0x53d23a(0xe0)]='Bearer\x20'+this[_0x53d23a(0xe7)];let _0x1969c6=await fetch(_0x2230fe,{'headers':_0x2cf290,'signal':this[_0x53d23a(0xf9)]['signal']});if(!_0x1969c6['ok']||!_0x1969c6['body']){this[_0x53d23a(0xe9)](_0x53d23a(0xf7)+_0x1969c6['status']),await this[_0x53d23a(0xe3)](_0x438714),_0x438714=Math['min'](_0x438714*1.5,0xea60);continue;}_0x438714=this[_0x53d23a(0xf2)];let _0x5f1635=_0x1969c6[_0x53d23a(0xfa)][_0x53d23a(0xf5)](),_0x2f7a11=new TextDecoder(),_0x55762a='';while(this['running']){let {done:_0x33604a,value:_0x8d677e}=await _0x5f1635[_0x53d23a(0xf8)]();if(_0x33604a)break;_0x55762a+=_0x2f7a11[_0x53d23a(0xfd)](_0x8d677e,{'stream':!0x0});let _0x4bab25=_0x55762a[_0x53d23a(0xef)]('\x0a');_0x55762a=_0x4bab25[_0x53d23a(0x110)]()||'';for(let _0x12ab4b of _0x4bab25){if(!_0x12ab4b[_0x53d23a(0xe1)](_0x53d23a(0x119)))continue;try{let _0x17d8f6=JSON[_0x53d23a(0x101)](_0x12ab4b[_0x53d23a(0xd8)](0x6));if(_0x17d8f6[_0x53d23a(0xfc)]===_0x53d23a(0xd7)){this[_0x53d23a(0xe9)](_0x53d23a(0x10d)),this[_0x53d23a(0xea)](_0x53d23a(0xd7));continue;}if(_0x17d8f6[_0x53d23a(0xfc)]===_0x53d23a(0xe8)||_0x17d8f6[_0x53d23a(0xfc)]===_0x53d23a(0x124)||_0x17d8f6[_0x53d23a(0xfc)]==='broadcast')await this['processInbox']();}catch{}}}}catch(_0x347216){if(_0x347216[_0x53d23a(0xe5)]===_0x53d23a(0x120))break;this[_0x53d23a(0xea)](_0x53d23a(0x116),_0x347216),this['log'](_0x53d23a(0xed)+_0x347216[_0x53d23a(0x125)]);}if(this[_0x53d23a(0x112)])this[_0x53d23a(0xea)]('disconnected'),this['log'](_0x53d23a(0x132)+_0x438714/0x3e8+'s...'),await this[_0x53d23a(0xe3)](_0x438714),_0x438714=Math[_0x53d23a(0x10b)](_0x438714*1.5,0xea60);}}async[a0_0x7dfaf5(0xde)](){const _0x4a2b91=a0_0x7dfaf5;try{let _0x541d27=(await this[_0x4a2b91(0xe2)](_0x4a2b91(0x106),{'alias':this[_0x4a2b91(0x11a)],'limit':0xa}))?.[_0x4a2b91(0x12e)]||[];for(let _0x24632c of _0x541d27)await this['call']('ack_inbox',{'alias':this[_0x4a2b91(0x11a)],'message_id':_0x24632c['id']}),this[_0x4a2b91(0xe9)]('←\x20'+_0x24632c[_0x4a2b91(0x128)]+':\x20'+_0x24632c[_0x4a2b91(0x131)][_0x4a2b91(0xd8)](0x0,0x3c)),this[_0x4a2b91(0xea)](_0x4a2b91(0x12a),_0x24632c),this['emit'](_0x4a2b91(0x125),_0x24632c);}catch(_0x146704){this[_0x4a2b91(0xe9)](_0x4a2b91(0xda)+_0x146704[_0x4a2b91(0x125)]);}}[a0_0x7dfaf5(0xe3)](_0x1a9c95){return new Promise(_0x349a5f=>setTimeout(_0x349a5f,_0x1a9c95));}}var $=T;function a0_0x2bb9(_0x56609e,_0x34f3b2){_0x56609e=_0x56609e-0xd7;const _0x563612=a0_0x5636();let _0x2bb921=_0x563612[_0x56609e];return _0x2bb921;}function a0_0x5636(){const _0x140de8=['type','decode','/events/','completed','cwd','parse','idle','text','now','normal','get_inbox','send_message','stringify','toString','application/json,\x20text/event-stream','min','reply','SSE\x20connected','/mcp','offline','pop','16hsvePq','running','autoConnect','match','resumeId','error','getAllStatus','heartbeat\x20failed:\x20','data:\x20','alias','3216xDxHVB','result','disconnected','send','registered','AbortError',']\x20[commhub:','9310081LlUuNi','2.0','new_message','message','sdk','toTimeString','from_session','6891669fbBSyZ','task','connect','send_reply','url','messages','tools/call','273094sEwjZE','content','SSE\x20reconnecting\x20in\x20','agent','2risLpH','text/event-stream','connectSSE','connected','slice','get_all_status','inbox\x20error:\x20','Bearer\x20','48846RewfXz','application/json','processInbox','report_status','Authorization','startsWith','call','sleep','catch','name','10oxpIeg','token','new_task','log','emit','sdk-','replace','SSE\x20error:\x20','broadcast','split','917hKnmnb','688955OldQiB','reconnectDelay','2715376nZCLbm','heartbeatInterval','getReader','heartbeatTimer','SSE\x20failed:\x20','read','sseAbort','body','status'];a0_0x5636=function(){return _0x140de8;};return a0_0x5636();}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_0x5e5c49=a0_0x3117;(function(_0x262e5c,_0xfd783){const _0x44b82b=a0_0x3117,_0x8c7cf7=_0x262e5c();while(!![]){try{const _0x2f22b5=parseInt(_0x44b82b(0x128))/0x1+-parseInt(_0x44b82b(0x15d))/0x2+-parseInt(_0x44b82b(0x193))/0x3+-parseInt(_0x44b82b(0x12d))/0x4*(parseInt(_0x44b82b(0x14a))/0x5)+parseInt(_0x44b82b(0x13e))/0x6*(-parseInt(_0x44b82b(0x166))/0x7)+parseInt(_0x44b82b(0x130))/0x8*(-parseInt(_0x44b82b(0x13f))/0x9)+parseInt(_0x44b82b(0x14f))/0xa;if(_0x2f22b5===_0xfd783)break;else _0x8c7cf7['push'](_0x8c7cf7['shift']());}catch(_0x3111e1){_0x8c7cf7['push'](_0x8c7cf7['shift']());}}}(a0_0x14f3,0x72528));import{readFileSync as a0_0xa8ec25,existsSync as a0_0x536e40}from'fs';function a0_0x14f3(){const _0x459b01=['ack_inbox','new_message','CommHub\x20init\x20failed:\x20','failed','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','commhub_send_message','decode','http://127.0.0.1:9200','\x20/\x20hostname=','send_reply','←\x20message\x20from\x20','setRequestHandler','0.3.0','split','ready\x20—\x20waiting\x20for\x20events','slice','content','end','delete','489660XrmGIf','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','SIGINT','\x20RESUME_ID=','859496KjRLoA','startsWith','application/json,\x20text/event-stream','1786264yiBPKZ','statusText','commhub_report_status','task','claude-code','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','unknown\x20tool','.anet','set','completed','commhub_reply','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','type','4146OApUtJ','36mRXnkx','send_message','notification','get','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','alias','Task\x20content','cwd','report_status','SSE\x20error:\x20','read','20GfFrum','\x20CWD=','in_progress','Target\x20session\x20alias','find','29607100bzuOjd','SSE\x20connected\x20as\x20\x22','hub','text','.claude/channels/commhub','SIGTERM','\x20from\x20','Current\x20task\x20description','MCP\x20stdio\x20connected','messages','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','params','notifications/claude/channel','data:\x20','1342854GVRqCb','shutting\x20down,\x20reporting\x20offline...','message_id','Bearer\x20','commhub_get_all_status','priority','unattributed-','re-registered\x20as\x20\x22','catch','1169GLLAtE','message','connecting\x20to\x20','new_task','idle','stringify','object','application/json','Session\x20alias:\x20','init\x20failed:\x20','from_session','\x20PROJECT_ENV=',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','send_task','status','trim','Priority\x20(default:\x20normal)','2025-03-26','warning:\x20could\x20not\x20register:\x20','Message\x20content','normal','low','now','length','string','parse','/mcp','\x20ALIAS=','\x22\x20after\x20SSE\x20reconnect','tmux\x20display-message\x20-p\x20\x27#S\x27','from','blocked','replied','none','tools/call','SSE\x20fatal:\x20','pop','\x22\x20(','exit','stdin','re-register\x20failed:\x20','working','min','connected','body','1327962FFYcDE',']\x20[commhub]\x20','(none)','get_all_status','config.json','fatal:\x20','write','commhub','commhub_send_task','commhub-channel','/events/','SSE\x20connection\x20error:\x20','replace','cancelled','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','POST','no\x20response','number','error','stderr','result','session\x20disconnected','indexOf','ENV:\x20URL=','Authorization','getReader','2.0','join','SSE\x20stream\x20ended,\x20reconnecting...','utf-8'];a0_0x14f3=function(){return _0x459b01;};return a0_0x14f3();}import{randomUUID as a0_0x51f6e0}from'crypto';import{join as a0_0x206016}from'path';import{hostname as a0_0x17f5ef}from'os';import{execSync as a0_0x521170}from'child_process';import{Server as a0_0x493ad5}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x5ab9e5}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0xba7912,CallToolRequestSchema as a0_0x2b1362}from'@modelcontextprotocol/sdk/types.js';function I(_0x42eab9){const _0x58a57d=a0_0x3117;if(!a0_0x536e40(_0x42eab9))return;for(let _0x26e1d9 of a0_0xa8ec25(_0x42eab9,_0x58a57d(0x1b1))[_0x58a57d(0x1bf)]('\x0a')){let _0x5463d4=_0x26e1d9[_0x58a57d(0x175)]();if(!_0x5463d4||_0x5463d4['startsWith']('#'))continue;let _0x2fdf77=_0x5463d4[_0x58a57d(0x1aa)]('=');if(_0x2fdf77<0x0)continue;let _0xf54621=_0x5463d4[_0x58a57d(0x1c1)](0x0,_0x2fdf77)[_0x58a57d(0x175)](),_0x4c63bc=_0x5463d4[_0x58a57d(0x1c1)](_0x2fdf77+0x1)[_0x58a57d(0x175)]()[_0x58a57d(0x19f)](/^["']|["']$/g,'');if(!process.env[_0xf54621])process.env[_0xf54621]=_0x4c63bc;}}var L=process.env.HOME||'~',U=a0_0x206016(L,a0_0x5e5c49(0x153));I(a0_0x206016(U,'.env'));var v=process[a0_0x5e5c49(0x146)]()[a0_0x5e5c49(0x19f)](/\//g,'-');I(a0_0x206016(U,v,'.env'));function d(){const _0x537938=a0_0x5e5c49;try{return a0_0x521170(_0x537938(0x183),{'encoding':_0x537938(0x1b1),'timeout':0x7d0})[_0x537938(0x175)]();}catch{return'';}}function m(){const _0x4ebb33=a0_0x5e5c49;try{let _0x300e9c=a0_0x206016(L,_0x4ebb33(0x137),_0x4ebb33(0x197));if(a0_0x536e40(_0x300e9c))return JSON[_0x4ebb33(0x17f)](a0_0xa8ec25(_0x300e9c,_0x4ebb33(0x1b1)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u['hub']||a0_0x5e5c49(0x1b9),f=process.env.COMMHUB_TMUX||d();function r(){const _0x53d02f=a0_0x5e5c49;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x53d02f(0x175)]())return process.env.COMMHUB_ALIAS[_0x53d02f(0x175)]();return process[_0x53d02f(0x1a7)][_0x53d02f(0x199)](_0x53d02f(0x13c)+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(f||_0x53d02f(0x195))+_0x53d02f(0x1ba)+a0_0x17f5ef()+_0x53d02f(0x159))),_0x53d02f(0x163)+process['pid'];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x51f6e0(),F=process.env.COMMHUB_TOKEN||u['token']||'';function W(_0x1976ff){const _0xb2330c=a0_0x5e5c49;let _0x57c4aa=new Date()['toTimeString']()[_0xb2330c(0x1c1)](0x0,0x8);process[_0xb2330c(0x1a7)][_0xb2330c(0x199)]('['+_0x57c4aa+_0xb2330c(0x194)+_0x1976ff+'\x0a');}function N(_0x3ea285){return new Promise(_0x513b48=>setTimeout(_0x513b48,_0x3ea285));}function a0_0x3117(_0xe76813,_0x49b766){_0xe76813=_0xe76813-0x125;const _0x14f3c7=a0_0x14f3();let _0x311750=_0x14f3c7[_0xe76813];return _0x311750;}W(a0_0x5e5c49(0x1ab)+j+a0_0x5e5c49(0x181)+G+a0_0x5e5c49(0x12c)+K[a0_0x5e5c49(0x1c1)](0x0,0x8)+'...\x20TMUX='+(f||a0_0x5e5c49(0x187))+a0_0x5e5c49(0x14b)+process[a0_0x5e5c49(0x146)]()+a0_0x5e5c49(0x171)+v);var D=new Map(),x=new a0_0x493ad5({'name':'commhub-channel','version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':['Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.',a0_0x5e5c49(0x1a1),a0_0x5e5c49(0x16e)+G][a0_0x5e5c49(0x1af)]('\x0a')});x[a0_0x5e5c49(0x1bd)](a0_0xba7912,async()=>({'tools':[{'name':'commhub_reply','description':a0_0x5e5c49(0x1a2),'inputSchema':{'type':'object','properties':{'task_id':{'type':'string','description':a0_0x5e5c49(0x13b)},'text':{'type':a0_0x5e5c49(0x17e),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':'string','enum':['completed','failed',a0_0x5e5c49(0x1a0),a0_0x5e5c49(0x185),'error',a0_0x5e5c49(0x14c)],'description':a0_0x5e5c49(0x129)}},'required':[a0_0x5e5c49(0x152)]}},{'name':a0_0x5e5c49(0x132),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0x5e5c49(0x16c),'properties':{'status':{'type':a0_0x5e5c49(0x17e),'enum':[a0_0x5e5c49(0x18f),'idle',a0_0x5e5c49(0x185),a0_0x5e5c49(0x1a6)]},'task':{'type':'string','description':a0_0x5e5c49(0x156)},'progress':{'type':a0_0x5e5c49(0x1a5),'description':'Progress\x200-100'}},'required':[a0_0x5e5c49(0x174)]}},{'name':a0_0x5e5c49(0x19b),'description':a0_0x5e5c49(0x12a),'inputSchema':{'type':a0_0x5e5c49(0x16c),'properties':{'alias':{'type':a0_0x5e5c49(0x17e),'description':'Target\x20session\x20alias'},'task':{'type':a0_0x5e5c49(0x17e),'description':a0_0x5e5c49(0x145)},'priority':{'type':a0_0x5e5c49(0x17e),'enum':['high',a0_0x5e5c49(0x17a),a0_0x5e5c49(0x17b)],'description':a0_0x5e5c49(0x176)}},'required':[a0_0x5e5c49(0x144),a0_0x5e5c49(0x133)]}},{'name':a0_0x5e5c49(0x1b7),'description':a0_0x5e5c49(0x135),'inputSchema':{'type':a0_0x5e5c49(0x16c),'properties':{'alias':{'type':a0_0x5e5c49(0x17e),'description':a0_0x5e5c49(0x14d)},'message':{'type':a0_0x5e5c49(0x17e),'description':a0_0x5e5c49(0x179)}},'required':[a0_0x5e5c49(0x144),a0_0x5e5c49(0x167)]}},{'name':a0_0x5e5c49(0x161),'description':a0_0x5e5c49(0x143),'inputSchema':{'type':a0_0x5e5c49(0x16c),'properties':{}}}]}));async function Y(_0x378822,_0x2fd76c){const _0x3109a8=a0_0x5e5c49;let _0x581d0d=await fetch(j+_0x3109a8(0x180),{'method':_0x3109a8(0x1a3),'headers':{'Content-Type':_0x3109a8(0x16d),'Accept':_0x3109a8(0x12f),...F?{'Authorization':_0x3109a8(0x160)+F}:{}},'body':JSON[_0x3109a8(0x16b)]({'jsonrpc':_0x3109a8(0x1ae),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x3109a8(0x177),'capabilities':{},'clientInfo':{'name':_0x3109a8(0x19c),'version':_0x3109a8(0x1be)}}})});if(!_0x581d0d['ok']){let _0x490bf7=await _0x581d0d['text']();return W(_0x3109a8(0x1b4)+_0x581d0d[_0x3109a8(0x174)]+'\x20'+_0x490bf7['slice'](0x0,0x64)),{'ok':!0x1,'error':_0x3109a8(0x16f)+_0x581d0d[_0x3109a8(0x174)]};}await _0x581d0d[_0x3109a8(0x152)]();let _0x1e056b=(await(await fetch(j+_0x3109a8(0x180),{'method':_0x3109a8(0x1a3),'headers':{'Content-Type':'application/json','Accept':_0x3109a8(0x12f),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x3109a8(0x16b)]({'jsonrpc':_0x3109a8(0x1ae),'id':0x2,'method':_0x3109a8(0x188),'params':{'name':_0x378822,'arguments':_0x2fd76c}})}))[_0x3109a8(0x152)]())[_0x3109a8(0x1bf)]('\x0a')[_0x3109a8(0x14e)](_0x1f47bb=>_0x1f47bb['startsWith'](_0x3109a8(0x15c)));if(_0x1e056b){let _0x8e164f=JSON[_0x3109a8(0x17f)](_0x1e056b['slice'](0x6));return _0x8e164f?.[_0x3109a8(0x1a8)]?.[_0x3109a8(0x125)]?.[0x0]?.[_0x3109a8(0x152)]?JSON[_0x3109a8(0x17f)](_0x8e164f[_0x3109a8(0x1a8)][_0x3109a8(0x125)][0x0][_0x3109a8(0x152)]):_0x8e164f;}return{'ok':!0x1,'error':_0x3109a8(0x1a4)};}x[a0_0x5e5c49(0x1bd)](a0_0x2b1362,async _0x5ec4b8=>{const _0x133e98=a0_0x5e5c49;let {name:_0x3861ca,arguments:_0x541c63}=_0x5ec4b8[_0x133e98(0x15a)];if(_0x3861ca===_0x133e98(0x13a)){let {task_id:_0x3d42b5,text:_0x4f365b,status:_0xbc283b}=_0x541c63;if(_0xbc283b===_0x133e98(0x139)||_0xbc283b===_0x133e98(0x1b5)||_0xbc283b===_0x133e98(0x1a0)){let _0x512885=_0xbc283b==='completed'?_0x133e98(0x186):_0xbc283b,_0x978bb=_0x3d42b5?D[_0x133e98(0x142)](_0x3d42b5)||_0x133e98(0x151):_0x133e98(0x151),_0x40c700=await Y(_0x133e98(0x1bb),{'alias':_0x978bb,'text':_0x4f365b,'in_reply_to':_0x3d42b5||void 0x0,'status':_0x512885,'from_session':G});if(_0x3d42b5)D[_0x133e98(0x127)](_0x3d42b5);return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x40c700)}]};}let _0x4917cb=await Y(_0x133e98(0x147),{'resume_id':K,'alias':G,'status':_0xbc283b===_0x133e98(0x185)?_0x133e98(0x185):_0xbc283b===_0x133e98(0x1a6)?'error':_0x133e98(0x18f),'task':_0x4f365b[_0x133e98(0x1c1)](0x0,0xc8),'output':_0x4f365b});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x4917cb)}]};}if(_0x3861ca===_0x133e98(0x132)){let {status:_0x4739db,task:_0x2c80cd,progress:_0xdb3ad5}=_0x541c63,_0x563646=await Y(_0x133e98(0x147),{'resume_id':K,'alias':G,'status':_0x4739db,'task':_0x2c80cd,'progress':_0xdb3ad5});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x563646)}]};}if(_0x3861ca===_0x133e98(0x19b)){let {alias:_0x3f6da6,task:_0x3d743e,priority:_0x24cdbd}=_0x541c63,_0x11e4e6=await Y(_0x133e98(0x173),{'alias':_0x3f6da6,'task':_0x3d743e,'priority':_0x24cdbd||'normal','from_session':G});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x11e4e6)}]};}if(_0x3861ca===_0x133e98(0x1b7)){let {alias:_0x5a36d5,message:_0x15e0cd}=_0x541c63,_0x497c05=await Y(_0x133e98(0x140),{'alias':_0x5a36d5,'message':_0x15e0cd,'from_session':G});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x497c05)}]};}if(_0x3861ca===_0x133e98(0x161)){let _0x2ccb7c=await Y(_0x133e98(0x196),{});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x2ccb7c)}]};}return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)]({'error':_0x133e98(0x136)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x2ae89b=a0_0x5e5c49;try{await Y(_0x2ae89b(0x147),{'resume_id':K,'alias':G,'status':_0x2ae89b(0x16a),'server':a0_0x17f5ef(),'hostname':a0_0x17f5ef(),'agent':_0x2ae89b(0x134),'project_dir':process[_0x2ae89b(0x146)](),'tmux_name':f||void 0x0}),W(_0x2ae89b(0x164)+G+_0x2ae89b(0x182));}catch(_0x1ee938){W(_0x2ae89b(0x18e)+_0x1ee938);}}async function o(){const _0x5b3107=a0_0x5e5c49;let _0x2cf097=j+_0x5b3107(0x19d)+encodeURIComponent(G),_0x536aa9={};if(F)_0x536aa9[_0x5b3107(0x1ac)]=_0x5b3107(0x160)+F;W(_0x5b3107(0x168)+_0x2cf097);let _0x358115=O,_0x32c93a=!0x0,_0x188848=null;while(!0x0){try{let _0x4ad71c=await fetch(_0x2cf097,{'headers':_0x536aa9});if(!_0x4ad71c['ok']){if(W(_0x5b3107(0x148)+_0x4ad71c[_0x5b3107(0x174)]+'\x20'+_0x4ad71c[_0x5b3107(0x131)]),_0x188848=_0x188848??Date[_0x5b3107(0x17c)](),Date[_0x5b3107(0x17c)]()-_0x188848>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x5b3107(0x172));return;}await N(_0x358115),_0x358115=Math[_0x5b3107(0x190)](_0x358115*0x2,R);continue;}let _0x66fa08=_0x4ad71c[_0x5b3107(0x192)][_0x5b3107(0x1ad)](),_0x50de77=new TextDecoder(),_0x4ae453='';_0x358115=O;while(!0x0){let {done:_0x53386b,value:_0x315ea6}=await _0x66fa08[_0x5b3107(0x149)]();if(_0x53386b)break;_0x4ae453+=_0x50de77[_0x5b3107(0x1b8)](_0x315ea6,{'stream':!0x0});let _0x433502=_0x4ae453[_0x5b3107(0x1bf)]('\x0a\x0a');_0x4ae453=_0x433502[_0x5b3107(0x18a)]()||'';for(let _0x1ee967 of _0x433502){let _0x566f1a=_0x1ee967[_0x5b3107(0x1bf)]('\x0a')[_0x5b3107(0x14e)](_0x58bafc=>_0x58bafc[_0x5b3107(0x12e)](_0x5b3107(0x15c)));if(!_0x566f1a)continue;try{let _0x5497dd=JSON[_0x5b3107(0x17f)](_0x566f1a[_0x5b3107(0x1c1)](0x6));if(await a(_0x5497dd),_0x5497dd[_0x5b3107(0x13d)]===_0x5b3107(0x191)){if(_0x188848=null,!_0x32c93a)await l();_0x32c93a=!0x1;}}catch(_0x143919){W('parse\x20error:\x20'+_0x143919);}}}W(_0x5b3107(0x1b0));}catch(_0x25a814){W(_0x5b3107(0x19e)+_0x25a814);}if(_0x188848=_0x188848??Date[_0x5b3107(0x17c)](),Date[_0x5b3107(0x17c)]()-_0x188848>T){W(_0x5b3107(0x1b6)+j+_0x5b3107(0x172));return;}await N(_0x358115),_0x358115=Math[_0x5b3107(0x190)](_0x358115*0x2,R);}}async function a(_0x31bff2){const _0x38d671=a0_0x5e5c49;if(_0x31bff2[_0x38d671(0x13d)]===_0x38d671(0x191)){W(_0x38d671(0x150)+G+'\x22');return;}if(_0x31bff2['type']===_0x38d671(0x1b3)){if(W(_0x38d671(0x1bc)+_0x31bff2['from']+':\x20'+_0x31bff2[_0x38d671(0x167)]['slice'](0x0,0x3c)),await x[_0x38d671(0x141)]({'method':_0x38d671(0x15b),'params':{'content':_0x31bff2[_0x38d671(0x167)],'meta':{'sender':_0x31bff2[_0x38d671(0x184)]||_0x38d671(0x151),'sender_id':'commhub','user':_0x31bff2[_0x38d671(0x184)]||_0x38d671(0x151),'priority':'normal'}}}),_0x31bff2[_0x38d671(0x15f)])await Y(_0x38d671(0x1b2),{'alias':G,'message_id':_0x31bff2[_0x38d671(0x15f)]});return;}if(_0x31bff2[_0x38d671(0x13d)]===_0x38d671(0x169)||_0x31bff2['type']==='broadcast'){W('←\x20'+_0x31bff2[_0x38d671(0x13d)]+':\x20inbox_count='+_0x31bff2['inbox_count']+'\x20priority='+(_0x31bff2[_0x38d671(0x162)]||'normal'));let _0x81d0a0=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x81d0a0?.['ok']&&_0x81d0a0['messages']?.[_0x38d671(0x17d)]>0x0)for(let _0x512d34 of _0x81d0a0[_0x38d671(0x158)]){let _0x599e2d={'sender':_0x512d34[_0x38d671(0x170)]||_0x38d671(0x151),'sender_id':_0x38d671(0x19a),'user':_0x512d34[_0x38d671(0x170)]||_0x38d671(0x151),'task_id':_0x512d34['id'],'priority':_0x512d34['priority']||'normal'};D[_0x38d671(0x138)](_0x512d34['id'],_0x512d34['from_session']||'hub'),await x['notification']({'method':'notifications/claude/channel','params':{'content':_0x512d34[_0x38d671(0x125)],'meta':_0x599e2d}}),W('→\x20injected\x20task\x20'+_0x512d34['id'][_0x38d671(0x1c1)](0x0,0x8)+_0x38d671(0x155)+_0x512d34[_0x38d671(0x170)]+':\x20'+_0x512d34[_0x38d671(0x125)]['slice'](0x0,0x3c)),await Y(_0x38d671(0x1b2),{'alias':G,'message_id':_0x512d34['id']});}}}async function n(){const _0x4148ca=a0_0x5e5c49;let _0x2fd26c=new a0_0x5ab9e5();await x['connect'](_0x2fd26c),W(_0x4148ca(0x157)),W('starting\x20SSE\x20listener...'),o()[_0x4148ca(0x165)](_0x3ce23d=>W(_0x4148ca(0x189)+_0x3ce23d)),Y(_0x4148ca(0x147),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x17f5ef(),'hostname':a0_0x17f5ef(),'agent':'claude-code','project_dir':process[_0x4148ca(0x146)](),'tmux_name':f||void 0x0})['then'](()=>W('registered\x20as\x20\x22'+G+_0x4148ca(0x18b)+K[_0x4148ca(0x1c1)](0x0,0x8)+')'))[_0x4148ca(0x165)](_0x253d1a=>W(_0x4148ca(0x178)+_0x253d1a)),setInterval(()=>{const _0x1ab862=_0x4148ca;Y('report_status',{'resume_id':K,'alias':G,'status':_0x1ab862(0x16a),'server':a0_0x17f5ef(),'hostname':a0_0x17f5ef(),'agent':_0x1ab862(0x134),'project_dir':process[_0x1ab862(0x146)](),'tmux_name':f||void 0x0})[_0x1ab862(0x165)](_0x48f943=>W('heartbeat\x20failed:\x20'+_0x48f943));},0x2bf20),W(_0x4148ca(0x1c0));}n()[a0_0x5e5c49(0x165)](_0x4d1ad3=>{const _0x3c9687=a0_0x5e5c49;W(_0x3c9687(0x198)+_0x4d1ad3),process[_0x3c9687(0x18c)](0x1);});async function b(){const _0x195080=a0_0x5e5c49;W(_0x195080(0x15e)),await Y('report_status',{'resume_id':K,'alias':G,'status':'offline','task':_0x195080(0x1a9)})['catch'](()=>{}),process['exit'](0x0);}process[a0_0x5e5c49(0x18d)]['on'](a0_0x5e5c49(0x126),()=>b()),process['on'](a0_0x5e5c49(0x154),()=>b()),process['on'](a0_0x5e5c49(0x12b),()=>b());
|
|
2
|
+
const a0_0x51b7d5=a0_0xe9d4;(function(_0x5e9233,_0x401e45){const _0x2bf9e8=a0_0xe9d4,_0x3567ff=_0x5e9233();while(!![]){try{const _0x4edc1e=-parseInt(_0x2bf9e8(0x17e))/0x1+parseInt(_0x2bf9e8(0x12f))/0x2+-parseInt(_0x2bf9e8(0x12e))/0x3+parseInt(_0x2bf9e8(0x13d))/0x4+parseInt(_0x2bf9e8(0xfa))/0x5*(-parseInt(_0x2bf9e8(0xfc))/0x6)+-parseInt(_0x2bf9e8(0x168))/0x7*(-parseInt(_0x2bf9e8(0xf7))/0x8)+parseInt(_0x2bf9e8(0xf9))/0x9;if(_0x4edc1e===_0x401e45)break;else _0x3567ff['push'](_0x3567ff['shift']());}catch(_0x7ed2fb){_0x3567ff['push'](_0x3567ff['shift']());}}}(a0_0x492a,0x2d0f0));import{readFileSync as a0_0x29987e,existsSync as a0_0x2f41ce}from'fs';import{randomUUID as a0_0x2b7a5b}from'crypto';import{join as a0_0x304168}from'path';import{hostname as a0_0x4064e4}from'os';function a0_0x492a(){const _0x28c09e=['from','unattributed-','status',':\x20inbox_count=','pop','764544kdLAHK','88446JDhbuB','new_task','from_session','messages','SIGINT','toTimeString','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','registered\x20as\x20\x22','statusText','task','completed','fatal:\x20','ENV:\x20URL=','content','1315852nrRaJB','Reply\x20text\x20/\x20result\x20summary','...\x20TMUX=','commhub_send_task','send_message','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','read','write','SIGTERM','\x20from\x20','cancelled','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','Progress\x200-100','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','Current\x20task\x20description','send_task','SSE\x20error:\x20','tools/call','priority','token','no\x20response','config.json','setRequestHandler','length','trim','←\x20message\x20from\x20','stderr','exit','\x20PROJECT_ENV=','indexOf','now','broadcast','re-register\x20failed:\x20','startsWith','tmux\x20display-message\x20-p\x20\x27#S\x27',']\x20[commhub]\x20','failed','ready\x20—\x20waiting\x20for\x20events','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','replied','init\x20failed:\x20','2025-03-26','Priority\x20(default:\x20normal)','28NoNwhI','idle','connecting\x20to\x20','normal','split','high','object','find','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','\x20CWD=','inbox_count','string','then','Bearer\x20','SSE\x20connection\x20error:\x20','/mcp',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','\x22\x20after\x20SSE\x20reconnect','SSE\x20connected\x20as\x20\x22','notification','commhub','min','134347goUkCs','commhub_get_all_status','0.3.0','result','notifications/claude/channel','hub','starting\x20SSE\x20listener...','getReader','CommHub\x20init\x20failed:\x20','/events/','error','catch','commhub_reply','end','warning:\x20could\x20not\x20register:\x20','\x20ALIAS=','working','376456jqmCGu','set','1591992KOXjJI','5835VrCJUG','stringify','846fyXoXY','heartbeat\x20failed:\x20','parse','slice','commhub_send_message','join','cwd','utf-8','connected','data:\x20','\x20/\x20hostname=','Target\x20session\x20alias','message_id','type','http://127.0.0.1:9200','parse\x20error:\x20','get','send_reply','commhub_report_status','alias','params','claude-code','report_status','message','\x20priority=','→\x20injected\x20task\x20','SSE\x20fatal:\x20','stdin','.anet','replace','text','blocked','re-registered\x20as\x20\x22','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','ack_inbox','SSE\x20stream\x20ended,\x20reconnecting...','POST','.claude/channels/commhub','none','\x22\x20(','.env','low','application/json,\x20text/event-stream','application/json','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'];a0_0x492a=function(){return _0x28c09e;};return a0_0x492a();}import{execSync as a0_0x6ac147}from'child_process';import{Server as a0_0x4b6bf9}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x64ed05}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x352fdb,CallToolRequestSchema as a0_0x11867b}from'@modelcontextprotocol/sdk/types.js';function a0_0xe9d4(_0x2c9aab,_0x291c95){_0x2c9aab=_0x2c9aab-0xf6;const _0x492a35=a0_0x492a();let _0xe9d491=_0x492a35[_0x2c9aab];return _0xe9d491;}function I(_0x2537e2){const _0x1d0bd6=a0_0xe9d4;if(!a0_0x2f41ce(_0x2537e2))return;for(let _0x36ee5c of a0_0x29987e(_0x2537e2,_0x1d0bd6(0x103))[_0x1d0bd6(0x16c)]('\x0a')){let _0x2fedde=_0x36ee5c['trim']();if(!_0x2fedde||_0x2fedde[_0x1d0bd6(0x15e)]('#'))continue;let _0x2802cf=_0x2fedde[_0x1d0bd6(0x15a)]('=');if(_0x2802cf<0x0)continue;let _0x3bad71=_0x2fedde['slice'](0x0,_0x2802cf)[_0x1d0bd6(0x155)](),_0x5ba5f6=_0x2fedde['slice'](_0x2802cf+0x1)[_0x1d0bd6(0x155)]()[_0x1d0bd6(0x119)](/^["']|["']$/g,'');if(!process.env[_0x3bad71])process.env[_0x3bad71]=_0x5ba5f6;}}var L=process.env.HOME||'~',U=a0_0x304168(L,a0_0x51b7d5(0x121));I(a0_0x304168(U,'.env'));var v=process[a0_0x51b7d5(0x102)]()['replace'](/\//g,'-');I(a0_0x304168(U,v,a0_0x51b7d5(0x124)));function d(){const _0x16f855=a0_0x51b7d5;try{return a0_0x6ac147(_0x16f855(0x15f),{'encoding':_0x16f855(0x103),'timeout':0x7d0})[_0x16f855(0x155)]();}catch{return'';}}function m(){const _0x40e4c1=a0_0x51b7d5;try{let _0x4b5ff8=a0_0x304168(L,_0x40e4c1(0x118),_0x40e4c1(0x152));if(a0_0x2f41ce(_0x4b5ff8))return JSON[_0x40e4c1(0xfe)](a0_0x29987e(_0x4b5ff8,_0x40e4c1(0x103)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u['hub']||a0_0x51b7d5(0x10a),f=process.env.COMMHUB_TMUX||d();function r(){const _0xad36e8=a0_0x51b7d5;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0xad36e8(0x155)]())return process.env.COMMHUB_ALIAS['trim']();return process[_0xad36e8(0x157)][_0xad36e8(0x144)](_0xad36e8(0x142)+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(f||'(none)')+_0xad36e8(0x106)+a0_0x4064e4()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),_0xad36e8(0x12a)+process['pid'];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x2b7a5b(),F=process.env.COMMHUB_TOKEN||u[a0_0x51b7d5(0x150)]||'';function W(_0x281421){const _0x45789d=a0_0x51b7d5;let _0x3ab527=new Date()[_0x45789d(0x134)]()[_0x45789d(0xff)](0x0,0x8);process[_0x45789d(0x157)]['write']('['+_0x3ab527+_0x45789d(0x160)+_0x281421+'\x0a');}function N(_0x471c23){return new Promise(_0x2e7a31=>setTimeout(_0x2e7a31,_0x471c23));}W(a0_0x51b7d5(0x13b)+j+a0_0x51b7d5(0x18d)+G+'\x20RESUME_ID='+K['slice'](0x0,0x8)+a0_0x51b7d5(0x13f)+(f||a0_0x51b7d5(0x122))+a0_0x51b7d5(0x171)+process[a0_0x51b7d5(0x102)]()+a0_0x51b7d5(0x159)+v);var D=new Map(),x=new a0_0x4b6bf9({'name':'commhub-channel','version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x51b7d5(0x14a),a0_0x51b7d5(0x135),'Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.',a0_0x51b7d5(0x11d),'Session\x20alias:\x20'+G][a0_0x51b7d5(0x101)]('\x0a')});x[a0_0x51b7d5(0x153)](a0_0x352fdb,async()=>({'tools':[{'name':'commhub_reply','description':'Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','inputSchema':{'type':a0_0x51b7d5(0x16e),'properties':{'task_id':{'type':a0_0x51b7d5(0x173),'description':a0_0x51b7d5(0x170)},'text':{'type':a0_0x51b7d5(0x173),'description':a0_0x51b7d5(0x13e)},'status':{'type':a0_0x51b7d5(0x173),'enum':[a0_0x51b7d5(0x139),'failed','cancelled','blocked',a0_0x51b7d5(0x188),'in_progress'],'description':a0_0x51b7d5(0x128)}},'required':[a0_0x51b7d5(0x11a)]}},{'name':a0_0x51b7d5(0x10e),'description':a0_0x51b7d5(0x148),'inputSchema':{'type':a0_0x51b7d5(0x16e),'properties':{'status':{'type':a0_0x51b7d5(0x173),'enum':[a0_0x51b7d5(0xf6),a0_0x51b7d5(0x169),a0_0x51b7d5(0x11b),a0_0x51b7d5(0x188)]},'task':{'type':a0_0x51b7d5(0x173),'description':a0_0x51b7d5(0x14b)},'progress':{'type':'number','description':a0_0x51b7d5(0x149)}},'required':[a0_0x51b7d5(0x12b)]}},{'name':'commhub_send_task','description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x51b7d5(0x16e),'properties':{'alias':{'type':'string','description':'Target\x20session\x20alias'},'task':{'type':a0_0x51b7d5(0x173),'description':'Task\x20content'},'priority':{'type':a0_0x51b7d5(0x173),'enum':[a0_0x51b7d5(0x16d),'normal',a0_0x51b7d5(0x125)],'description':a0_0x51b7d5(0x167)}},'required':[a0_0x51b7d5(0x10f),a0_0x51b7d5(0x138)]}},{'name':a0_0x51b7d5(0x100),'description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0x51b7d5(0x16e),'properties':{'alias':{'type':'string','description':a0_0x51b7d5(0x107)},'message':{'type':a0_0x51b7d5(0x173),'description':'Message\x20content'}},'required':[a0_0x51b7d5(0x10f),a0_0x51b7d5(0x113)]}},{'name':a0_0x51b7d5(0x17f),'description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':a0_0x51b7d5(0x16e),'properties':{}}}]}));async function Y(_0x3e7a21,_0x130ab5){const _0x17e92e=a0_0x51b7d5;let _0x4136e8=await fetch(j+_0x17e92e(0x177),{'method':'POST','headers':{'Content-Type':_0x17e92e(0x127),'Accept':_0x17e92e(0x126),...F?{'Authorization':_0x17e92e(0x175)+F}:{}},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x17e92e(0x166),'capabilities':{},'clientInfo':{'name':'commhub-channel','version':_0x17e92e(0x180)}}})});if(!_0x4136e8['ok']){let _0x138734=await _0x4136e8['text']();return W(_0x17e92e(0x186)+_0x4136e8[_0x17e92e(0x12b)]+'\x20'+_0x138734['slice'](0x0,0x64)),{'ok':!0x1,'error':_0x17e92e(0x165)+_0x4136e8['status']};}await _0x4136e8[_0x17e92e(0x11a)]();let _0x1eae73=(await(await fetch(j+_0x17e92e(0x177),{'method':_0x17e92e(0x120),'headers':{'Content-Type':_0x17e92e(0x127),'Accept':_0x17e92e(0x126),...F?{'Authorization':_0x17e92e(0x175)+F}:{}},'body':JSON[_0x17e92e(0xfb)]({'jsonrpc':'2.0','id':0x2,'method':_0x17e92e(0x14e),'params':{'name':_0x3e7a21,'arguments':_0x130ab5}})}))[_0x17e92e(0x11a)]())[_0x17e92e(0x16c)]('\x0a')[_0x17e92e(0x16f)](_0x42804c=>_0x42804c['startsWith']('data:\x20'));if(_0x1eae73){let _0xa79e9=JSON[_0x17e92e(0xfe)](_0x1eae73[_0x17e92e(0xff)](0x6));return _0xa79e9?.[_0x17e92e(0x181)]?.['content']?.[0x0]?.[_0x17e92e(0x11a)]?JSON['parse'](_0xa79e9[_0x17e92e(0x181)][_0x17e92e(0x13c)][0x0][_0x17e92e(0x11a)]):_0xa79e9;}return{'ok':!0x1,'error':_0x17e92e(0x151)};}x['setRequestHandler'](a0_0x11867b,async _0x48b5ff=>{const _0x29130e=a0_0x51b7d5;let {name:_0x581ce2,arguments:_0x3183ed}=_0x48b5ff[_0x29130e(0x110)];if(_0x581ce2===_0x29130e(0x18a)){let {task_id:_0x2bd9bc,text:_0xe71a4b,status:_0x5cbcc3}=_0x3183ed;if(_0x5cbcc3===_0x29130e(0x139)||_0x5cbcc3===_0x29130e(0x161)||_0x5cbcc3===_0x29130e(0x147)){let _0x46a28d=_0x5cbcc3===_0x29130e(0x139)?_0x29130e(0x164):_0x5cbcc3,_0x4aa5b7=_0x2bd9bc?D[_0x29130e(0x10c)](_0x2bd9bc)||_0x29130e(0x183):'hub',_0x708aca=await Y(_0x29130e(0x10d),{'alias':_0x4aa5b7,'text':_0xe71a4b,'in_reply_to':_0x2bd9bc||void 0x0,'status':_0x46a28d,'from_session':G});if(_0x2bd9bc)D['delete'](_0x2bd9bc);return{'content':[{'type':_0x29130e(0x11a),'text':JSON['stringify'](_0x708aca)}]};}let _0x22d0eb=await Y('report_status',{'resume_id':K,'alias':G,'status':_0x5cbcc3===_0x29130e(0x11b)?_0x29130e(0x11b):_0x5cbcc3==='error'?'error':_0x29130e(0xf6),'task':_0xe71a4b[_0x29130e(0xff)](0x0,0xc8),'output':_0xe71a4b});return{'content':[{'type':'text','text':JSON[_0x29130e(0xfb)](_0x22d0eb)}]};}if(_0x581ce2===_0x29130e(0x10e)){let {status:_0x26b45e,task:_0x167288,progress:_0x39dc87}=_0x3183ed,_0x16a821=await Y(_0x29130e(0x112),{'resume_id':K,'alias':G,'status':_0x26b45e,'task':_0x167288,'progress':_0x39dc87});return{'content':[{'type':_0x29130e(0x11a),'text':JSON[_0x29130e(0xfb)](_0x16a821)}]};}if(_0x581ce2===_0x29130e(0x140)){let {alias:_0x48cf19,task:_0x1beb58,priority:_0x3823e5}=_0x3183ed,_0x45fef7=await Y(_0x29130e(0x14c),{'alias':_0x48cf19,'task':_0x1beb58,'priority':_0x3823e5||_0x29130e(0x16b),'from_session':G});return{'content':[{'type':_0x29130e(0x11a),'text':JSON['stringify'](_0x45fef7)}]};}if(_0x581ce2===_0x29130e(0x100)){let {alias:_0x1f933d,message:_0x2fe1a5}=_0x3183ed,_0x12ec69=await Y(_0x29130e(0x141),{'alias':_0x1f933d,'message':_0x2fe1a5,'from_session':G});return{'content':[{'type':_0x29130e(0x11a),'text':JSON[_0x29130e(0xfb)](_0x12ec69)}]};}if(_0x581ce2===_0x29130e(0x17f)){let _0x43f0ac=await Y('get_all_status',{});return{'content':[{'type':_0x29130e(0x11a),'text':JSON[_0x29130e(0xfb)](_0x43f0ac)}]};}return{'content':[{'type':_0x29130e(0x11a),'text':JSON['stringify']({'error':'unknown\x20tool'})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x776912=a0_0x51b7d5;try{await Y(_0x776912(0x112),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x4064e4(),'hostname':a0_0x4064e4(),'agent':'claude-code','project_dir':process['cwd'](),'tmux_name':f||void 0x0}),W(_0x776912(0x11c)+G+_0x776912(0x179));}catch(_0x1f3dc0){W(_0x776912(0x15d)+_0x1f3dc0);}}async function o(){const _0x5c9cc4=a0_0x51b7d5;let _0x3b971f=j+_0x5c9cc4(0x187)+encodeURIComponent(G),_0x1bfe37={};if(F)_0x1bfe37['Authorization']=_0x5c9cc4(0x175)+F;W(_0x5c9cc4(0x16a)+_0x3b971f);let _0x4512dc=O,_0x43cec7=!0x0,_0x1f4097=null;while(!0x0){try{let _0x577f1a=await fetch(_0x3b971f,{'headers':_0x1bfe37});if(!_0x577f1a['ok']){if(W(_0x5c9cc4(0x14d)+_0x577f1a['status']+'\x20'+_0x577f1a[_0x5c9cc4(0x137)]),_0x1f4097=_0x1f4097??Date[_0x5c9cc4(0x15b)](),Date[_0x5c9cc4(0x15b)]()-_0x1f4097>T){W(_0x5c9cc4(0x163)+j+')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。');return;}await N(_0x4512dc),_0x4512dc=Math[_0x5c9cc4(0x17d)](_0x4512dc*0x2,R);continue;}let _0x107579=_0x577f1a['body'][_0x5c9cc4(0x185)](),_0x55d9f0=new TextDecoder(),_0x2ad13c='';_0x4512dc=O;while(!0x0){let {done:_0x4115ea,value:_0x3e6a32}=await _0x107579[_0x5c9cc4(0x143)]();if(_0x4115ea)break;_0x2ad13c+=_0x55d9f0['decode'](_0x3e6a32,{'stream':!0x0});let _0x3d913d=_0x2ad13c[_0x5c9cc4(0x16c)]('\x0a\x0a');_0x2ad13c=_0x3d913d[_0x5c9cc4(0x12d)]()||'';for(let _0x411ea5 of _0x3d913d){let _0x3f4ab6=_0x411ea5[_0x5c9cc4(0x16c)]('\x0a')['find'](_0xd99086=>_0xd99086[_0x5c9cc4(0x15e)](_0x5c9cc4(0x105)));if(!_0x3f4ab6)continue;try{let _0x3bb836=JSON[_0x5c9cc4(0xfe)](_0x3f4ab6[_0x5c9cc4(0xff)](0x6));if(await a(_0x3bb836),_0x3bb836[_0x5c9cc4(0x109)]===_0x5c9cc4(0x104)){if(_0x1f4097=null,!_0x43cec7)await l();_0x43cec7=!0x1;}}catch(_0x5a05be){W(_0x5c9cc4(0x10b)+_0x5a05be);}}}W(_0x5c9cc4(0x11f));}catch(_0x278a2a){W(_0x5c9cc4(0x176)+_0x278a2a);}if(_0x1f4097=_0x1f4097??Date[_0x5c9cc4(0x15b)](),Date[_0x5c9cc4(0x15b)]()-_0x1f4097>T){W(_0x5c9cc4(0x163)+j+_0x5c9cc4(0x178));return;}await N(_0x4512dc),_0x4512dc=Math[_0x5c9cc4(0x17d)](_0x4512dc*0x2,R);}}async function a(_0x43716e){const _0x1991a2=a0_0x51b7d5;if(_0x43716e[_0x1991a2(0x109)]===_0x1991a2(0x104)){W(_0x1991a2(0x17a)+G+'\x22');return;}if(_0x43716e[_0x1991a2(0x109)]==='new_message'){if(W(_0x1991a2(0x156)+_0x43716e[_0x1991a2(0x129)]+':\x20'+_0x43716e[_0x1991a2(0x113)]['slice'](0x0,0x3c)),await x[_0x1991a2(0x17b)]({'method':_0x1991a2(0x182),'params':{'content':_0x43716e[_0x1991a2(0x113)],'meta':{'sender':_0x43716e[_0x1991a2(0x129)]||_0x1991a2(0x183),'sender_id':_0x1991a2(0x17c),'user':_0x43716e[_0x1991a2(0x129)]||_0x1991a2(0x183),'priority':_0x1991a2(0x16b)}}}),_0x43716e['message_id'])await Y(_0x1991a2(0x11e),{'alias':G,'message_id':_0x43716e[_0x1991a2(0x108)]});return;}if(_0x43716e[_0x1991a2(0x109)]===_0x1991a2(0x130)||_0x43716e[_0x1991a2(0x109)]===_0x1991a2(0x15c)){W('←\x20'+_0x43716e[_0x1991a2(0x109)]+_0x1991a2(0x12c)+_0x43716e[_0x1991a2(0x172)]+_0x1991a2(0x114)+(_0x43716e['priority']||_0x1991a2(0x16b)));let _0x2674b2=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x2674b2?.['ok']&&_0x2674b2[_0x1991a2(0x132)]?.[_0x1991a2(0x154)]>0x0)for(let _0x37b1e6 of _0x2674b2['messages']){let _0x464460={'sender':_0x37b1e6['from_session']||_0x1991a2(0x183),'sender_id':_0x1991a2(0x17c),'user':_0x37b1e6['from_session']||'hub','task_id':_0x37b1e6['id'],'priority':_0x37b1e6[_0x1991a2(0x14f)]||_0x1991a2(0x16b)};D[_0x1991a2(0xf8)](_0x37b1e6['id'],_0x37b1e6[_0x1991a2(0x131)]||'hub'),await x['notification']({'method':_0x1991a2(0x182),'params':{'content':_0x37b1e6[_0x1991a2(0x13c)],'meta':_0x464460}}),W(_0x1991a2(0x115)+_0x37b1e6['id'][_0x1991a2(0xff)](0x0,0x8)+_0x1991a2(0x146)+_0x37b1e6[_0x1991a2(0x131)]+':\x20'+_0x37b1e6[_0x1991a2(0x13c)][_0x1991a2(0xff)](0x0,0x3c)),await Y(_0x1991a2(0x11e),{'alias':G,'message_id':_0x37b1e6['id']});}}}async function n(){const _0x53dd33=a0_0x51b7d5;let _0x2e83a2=new a0_0x64ed05();await x['connect'](_0x2e83a2),W('MCP\x20stdio\x20connected'),W(_0x53dd33(0x184)),o()['catch'](_0x526c71=>W(_0x53dd33(0x116)+_0x526c71)),Y(_0x53dd33(0x112),{'resume_id':K,'alias':G,'status':_0x53dd33(0x169),'server':a0_0x4064e4(),'hostname':a0_0x4064e4(),'agent':'claude-code','project_dir':process[_0x53dd33(0x102)](),'tmux_name':f||void 0x0})[_0x53dd33(0x174)](()=>W(_0x53dd33(0x136)+G+_0x53dd33(0x123)+K[_0x53dd33(0xff)](0x0,0x8)+')'))[_0x53dd33(0x189)](_0x2397aa=>W(_0x53dd33(0x18c)+_0x2397aa)),setInterval(()=>{const _0x1d1247=_0x53dd33;Y(_0x1d1247(0x112),{'resume_id':K,'alias':G,'status':_0x1d1247(0x169),'server':a0_0x4064e4(),'hostname':a0_0x4064e4(),'agent':_0x1d1247(0x111),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x1d1247(0x189)](_0x3fe687=>W(_0x1d1247(0xfd)+_0x3fe687));},0x2bf20),W(_0x53dd33(0x162));}n()[a0_0x51b7d5(0x189)](_0x3347e8=>{const _0x2ca98c=a0_0x51b7d5;W(_0x2ca98c(0x13a)+_0x3347e8),process[_0x2ca98c(0x158)](0x1);});async function b(){const _0x3c3ccc=a0_0x51b7d5;W('shutting\x20down,\x20reporting\x20offline...'),await Y(_0x3c3ccc(0x112),{'resume_id':K,'alias':G,'status':'offline','task':'session\x20disconnected'})['catch'](()=>{}),process[_0x3c3ccc(0x158)](0x0);}process[a0_0x51b7d5(0x117)]['on'](a0_0x51b7d5(0x18b),()=>b()),process['on'](a0_0x51b7d5(0x145),()=>b()),process['on'](a0_0x51b7d5(0x133),()=>b());
|
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 \u2014
|
|
3
|
+
"version": "2.2.11-preview.1",
|
|
4
|
+
"description": "AI Agent Network CLI \u2014 Local-first multi-agent orchestration across 4 runtimes (Claude Code CLI / Claude Agent SDK / Codex SDK / Grok Build ACP) and 8+ LLM providers (Anthropic / OpenAI / xAI Grok / MiniMax / DeepSeek / GLM / Kimi / InternLM / Xiaomi MiMo / OpenRouter). Apache 2.0.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/client.js",
|
|
7
7
|
"types": "dist/client.d.ts",
|
|
@@ -29,11 +29,18 @@
|
|
|
29
29
|
"mcp",
|
|
30
30
|
"sse",
|
|
31
31
|
"claude",
|
|
32
|
+
"claude-code",
|
|
32
33
|
"codex",
|
|
33
34
|
"openai",
|
|
35
|
+
"grok",
|
|
36
|
+
"xai",
|
|
37
|
+
"grok-build-acp",
|
|
38
|
+
"acp",
|
|
34
39
|
"minimax",
|
|
40
|
+
"mimo",
|
|
35
41
|
"orchestration",
|
|
36
42
|
"multi-agent",
|
|
43
|
+
"local-first",
|
|
37
44
|
"cli",
|
|
38
45
|
"anet"
|
|
39
46
|
],
|