@sleep2agi/agent-network 2.2.10 → 2.2.11-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 +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
|
+
function a0_0x29ab(_0x1f3464,_0x231a58){_0x1f3464=_0x1f3464-0x119;const _0x3eaa45=a0_0x3eaa();let _0x29abf6=_0x3eaa45[_0x1f3464];return _0x29abf6;}function a0_0x3eaa(){const _0x5a767f=['parse','registered','broadcast','new_task','running','ack_inbox','application/json,\x20text/event-stream','split','data:\x20','Authorization','call','connectSSE','heartbeatTimer','disconnect','POST','processInbox','SSE\x20failed:\x20','connected','sdk','disconnected','/events/','SSE\x20connected','message','sdk-','SSE\x20reconnecting\x20in\x20','text','decode','token','sleep','inbox\x20error:\x20','completed','now','1086uruYpC','getAllStatus','37370FArTyN','send_message','get_all_status','catch','signal','7824490lGanMg','startsWith','sseAbort','reply','idle','read','content','slice','log','emit','result','12zXKTfd','reconnectDelay','resumeId','new_message','connect','send_reply','toString','body','stringify','toTimeString','/mcp','Bearer\x20','AbortError',']\x20[commhub:','4jJjdyd','heartbeatInterval','url','2876496COoKYL','normal','application/json','offline','261930ODgAdr','type','from_session','13495295iwNtEU','alias','agent','min','tools/call','match','pop','SSE\x20error:\x20','135732ZbhJHe','208rVLuWr','send_task','status','99783FjCSuN'];a0_0x3eaa=function(){return _0x5a767f;};return a0_0x3eaa();}const a0_0x5b65ad=a0_0x29ab;(function(_0x32d28b,_0x22d121){const _0x1dd4f9=a0_0x29ab,_0x328588=_0x32d28b();while(!![]){try{const _0x42a3e3=-parseInt(_0x1dd4f9(0x169))/0x1*(parseInt(_0x1dd4f9(0x162))/0x2)+-parseInt(_0x1dd4f9(0x11d))/0x3*(parseInt(_0x1dd4f9(0x154))/0x4)+parseInt(_0x1dd4f9(0x144))/0x5*(-parseInt(_0x1dd4f9(0x142))/0x6)+parseInt(_0x1dd4f9(0x165))/0x7+-parseInt(_0x1dd4f9(0x11e))/0x8*(-parseInt(_0x1dd4f9(0x121))/0x9)+parseInt(_0x1dd4f9(0x149))/0xa+parseInt(_0x1dd4f9(0x16c))/0xb;if(_0x42a3e3===_0x22d121)break;else _0x328588['push'](_0x328588['shift']());}catch(_0x1b37c3){_0x328588['push'](_0x328588['shift']());}}}(a0_0x3eaa,0xa9f22));import{EventEmitter as a0_0x43ad79}from'events';import{hostname as a0_0x3a6b7b}from'os';class T extends a0_0x43ad79{[a0_0x5b65ad(0x164)];[a0_0x5b65ad(0x16d)];[a0_0x5b65ad(0x13d)];[a0_0x5b65ad(0x16e)];[a0_0x5b65ad(0x156)];[a0_0x5b65ad(0x163)];[a0_0x5b65ad(0x155)];[a0_0x5b65ad(0x12e)];[a0_0x5b65ad(0x14b)];[a0_0x5b65ad(0x126)]=!0x1;constructor(_0x1b9918){const _0x118712=a0_0x5b65ad;super();if(this['url']=_0x1b9918['url']['replace'](/\/$/,''),this['alias']=_0x1b9918[_0x118712(0x16d)],this[_0x118712(0x13d)]=_0x1b9918[_0x118712(0x13d)],this[_0x118712(0x16e)]=_0x1b9918[_0x118712(0x16e)]||_0x118712(0x134),this[_0x118712(0x156)]=_0x118712(0x139)+_0x1b9918[_0x118712(0x16d)]+'-'+Date[_0x118712(0x141)]()[_0x118712(0x15a)](0x24),this['heartbeatInterval']=_0x1b9918[_0x118712(0x163)]??0x2bf20,this[_0x118712(0x155)]=_0x1b9918['reconnectDelay']??0xbb8,_0x1b9918['autoConnect']!==!0x1)this[_0x118712(0x158)]();}[a0_0x5b65ad(0x151)](_0x4e82ea){const _0x16cce0=a0_0x5b65ad;console[_0x16cce0(0x151)]('['+new Date()[_0x16cce0(0x15d)]()[_0x16cce0(0x150)](0x0,0x8)+_0x16cce0(0x161)+this[_0x16cce0(0x16d)]+']\x20'+_0x4e82ea);}async[a0_0x5b65ad(0x12c)](_0x346cf5,_0x3243b7){const _0x2540e2=a0_0x5b65ad;let _0x51cddc={'Content-Type':_0x2540e2(0x167),'Accept':_0x2540e2(0x128)};if(this[_0x2540e2(0x13d)])_0x51cddc[_0x2540e2(0x12b)]=_0x2540e2(0x15f)+this['token'];let _0x4467ec=await(await fetch(this[_0x2540e2(0x164)]+_0x2540e2(0x15e),{'method':_0x2540e2(0x130),'headers':_0x51cddc,'body':JSON[_0x2540e2(0x15c)]({'jsonrpc':'2.0','id':Date['now'](),'method':_0x2540e2(0x119),'params':{'name':_0x346cf5,'arguments':_0x3243b7}})}))[_0x2540e2(0x13b)](),_0x1ecaf9=_0x4467ec[_0x2540e2(0x11a)](/data: (.+)/),_0x26ffd3=_0x1ecaf9?JSON[_0x2540e2(0x122)](_0x1ecaf9[0x1]):JSON['parse'](_0x4467ec),_0x422078=_0x26ffd3?.[_0x2540e2(0x153)]?.[_0x2540e2(0x14f)]?.[0x0]?.[_0x2540e2(0x13b)];return _0x422078?JSON[_0x2540e2(0x122)](_0x422078):_0x26ffd3;}async[a0_0x5b65ad(0x158)](){const _0x4850b3=a0_0x5b65ad;if(this[_0x4850b3(0x126)])return;this[_0x4850b3(0x126)]=!0x0,await this[_0x4850b3(0x120)](_0x4850b3(0x14d)),this[_0x4850b3(0x151)](_0x4850b3(0x123)),this[_0x4850b3(0x12e)]=setInterval(()=>{const _0xe557a6=_0x4850b3;this['status']('idle')[_0xe557a6(0x147)](_0x5e1b57=>this['log']('heartbeat\x20failed:\x20'+_0x5e1b57[_0xe557a6(0x138)]));},this['heartbeatInterval']),this[_0x4850b3(0x12d)]();}async[a0_0x5b65ad(0x12f)](){const _0xa60065=a0_0x5b65ad;if(this[_0xa60065(0x126)]=!0x1,this[_0xa60065(0x14b)]?.['abort'](),this[_0xa60065(0x12e)])clearInterval(this[_0xa60065(0x12e)]);await this[_0xa60065(0x120)](_0xa60065(0x168))[_0xa60065(0x147)](()=>{}),this[_0xa60065(0x151)](_0xa60065(0x135));}async['send'](_0x3e90ba,_0x5d5cb6,_0xfdf3af=a0_0x5b65ad(0x166)){const _0x4fae6f=a0_0x5b65ad;return this[_0x4fae6f(0x12c)](_0x4fae6f(0x11f),{'alias':_0x3e90ba,'task':_0x5d5cb6,'priority':_0xfdf3af,'from_session':this[_0x4fae6f(0x16d)]});}async[a0_0x5b65ad(0x138)](_0x42ca6f,_0x3bd3ce){const _0x3dd93f=a0_0x5b65ad;return this['call'](_0x3dd93f(0x145),{'alias':_0x42ca6f,'message':_0x3bd3ce,'from_session':this[_0x3dd93f(0x16d)]});}async[a0_0x5b65ad(0x14c)](_0x25b629,_0x2f7be9,_0xc7fd28=a0_0x5b65ad(0x140)){const _0x5372e5=a0_0x5b65ad;return this[_0x5372e5(0x12c)](_0x5372e5(0x159),{'in_reply_to':_0x25b629,'text':_0x2f7be9,'status':_0xc7fd28});}async[a0_0x5b65ad(0x120)](_0x1c98d5,_0x26bdc2){const _0x471d35=a0_0x5b65ad;return this[_0x471d35(0x12c)]('report_status',{'resume_id':this[_0x471d35(0x156)],'alias':this[_0x471d35(0x16d)],'status':_0x1c98d5,'server':a0_0x3a6b7b(),'hostname':a0_0x3a6b7b(),'agent':this[_0x471d35(0x16e)],'project_dir':process['cwd'](),..._0x26bdc2});}async[a0_0x5b65ad(0x143)](){const _0x1fc7c4=a0_0x5b65ad;return this['call'](_0x1fc7c4(0x146),{});}async[a0_0x5b65ad(0x124)](_0x55fe86,_0x3ba6de){const _0x3af158=a0_0x5b65ad;return this['call'](_0x3af158(0x124),{'message':_0x55fe86,'filter_server':_0x3ba6de?.['server'],'filter_status':_0x3ba6de?.[_0x3af158(0x120)]});}async[a0_0x5b65ad(0x12d)](){const _0xc985e=a0_0x5b65ad;let _0x4895f0=encodeURIComponent(this[_0xc985e(0x16d)]),_0x243314=this[_0xc985e(0x164)]+_0xc985e(0x136)+_0x4895f0,_0x443d7e=this[_0xc985e(0x155)];while(this[_0xc985e(0x126)]){try{this[_0xc985e(0x14b)]=new AbortController();let _0x576298={'Accept':'text/event-stream'};if(this[_0xc985e(0x13d)])_0x576298['Authorization']=_0xc985e(0x15f)+this[_0xc985e(0x13d)];let _0xa92cea=await fetch(_0x243314,{'headers':_0x576298,'signal':this[_0xc985e(0x14b)][_0xc985e(0x148)]});if(!_0xa92cea['ok']||!_0xa92cea[_0xc985e(0x15b)]){this[_0xc985e(0x151)](_0xc985e(0x132)+_0xa92cea['status']),await this['sleep'](_0x443d7e),_0x443d7e=Math[_0xc985e(0x16f)](_0x443d7e*1.5,0xea60);continue;}_0x443d7e=this['reconnectDelay'];let _0x3d88d4=_0xa92cea[_0xc985e(0x15b)]['getReader'](),_0x2e116d=new TextDecoder(),_0xd97fff='';while(this['running']){let {done:_0x515459,value:_0x5d0e0c}=await _0x3d88d4[_0xc985e(0x14e)]();if(_0x515459)break;_0xd97fff+=_0x2e116d[_0xc985e(0x13c)](_0x5d0e0c,{'stream':!0x0});let _0xecdf1e=_0xd97fff[_0xc985e(0x129)]('\x0a');_0xd97fff=_0xecdf1e[_0xc985e(0x11b)]()||'';for(let _0x225c57 of _0xecdf1e){if(!_0x225c57[_0xc985e(0x14a)](_0xc985e(0x12a)))continue;try{let _0x2ba3af=JSON[_0xc985e(0x122)](_0x225c57['slice'](0x6));if(_0x2ba3af[_0xc985e(0x16a)]===_0xc985e(0x133)){this[_0xc985e(0x151)](_0xc985e(0x137)),this[_0xc985e(0x152)](_0xc985e(0x133));continue;}if(_0x2ba3af[_0xc985e(0x16a)]===_0xc985e(0x125)||_0x2ba3af['type']===_0xc985e(0x157)||_0x2ba3af[_0xc985e(0x16a)]===_0xc985e(0x124))await this[_0xc985e(0x131)]();}catch{}}}}catch(_0x5f0262){if(_0x5f0262['name']===_0xc985e(0x160))break;this[_0xc985e(0x152)]('error',_0x5f0262),this['log'](_0xc985e(0x11c)+_0x5f0262['message']);}if(this['running'])this[_0xc985e(0x152)]('disconnected'),this[_0xc985e(0x151)](_0xc985e(0x13a)+_0x443d7e/0x3e8+'s...'),await this[_0xc985e(0x13e)](_0x443d7e),_0x443d7e=Math['min'](_0x443d7e*1.5,0xea60);}}async[a0_0x5b65ad(0x131)](){const _0x1a83fa=a0_0x5b65ad;try{let _0x21bc87=(await this[_0x1a83fa(0x12c)]('get_inbox',{'alias':this[_0x1a83fa(0x16d)],'limit':0xa}))?.['messages']||[];for(let _0x468fe4 of _0x21bc87)await this[_0x1a83fa(0x12c)](_0x1a83fa(0x127),{'alias':this[_0x1a83fa(0x16d)],'message_id':_0x468fe4['id']}),this[_0x1a83fa(0x151)]('←\x20'+_0x468fe4[_0x1a83fa(0x16b)]+':\x20'+_0x468fe4[_0x1a83fa(0x14f)][_0x1a83fa(0x150)](0x0,0x3c)),this[_0x1a83fa(0x152)]('task',_0x468fe4),this[_0x1a83fa(0x152)]('message',_0x468fe4);}catch(_0x33454d){this[_0x1a83fa(0x151)](_0x1a83fa(0x13f)+_0x33454d[_0x1a83fa(0x138)]);}}[a0_0x5b65ad(0x13e)](_0x44ed18){return new Promise(_0x206ae9=>setTimeout(_0x206ae9,_0x44ed18));}}var $=T;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_0x538691=a0_0x2ce9;(function(_0x5e51be,_0x5bda69){const _0x238512=a0_0x2ce9,_0x27226e=_0x5e51be();while(!![]){try{const _0x21dc92=parseInt(_0x238512(0x1e1))/0x1*(parseInt(_0x238512(0x256))/0x2)+-parseInt(_0x238512(0x24d))/0x3+-parseInt(_0x238512(0x26a))/0x4+-parseInt(_0x238512(0x20a))/0x5*(parseInt(_0x238512(0x268))/0x6)+-parseInt(_0x238512(0x25e))/0x7+parseInt(_0x238512(0x1ec))/0x8+parseInt(_0x238512(0x218))/0x9;if(_0x21dc92===_0x5bda69)break;else _0x27226e['push'](_0x27226e['shift']());}catch(_0x421e13){_0x27226e['push'](_0x27226e['shift']());}}}(a0_0x3582,0xe114e));import{readFileSync as a0_0x1c68fb,existsSync as a0_0x569beb}from'fs';import{randomUUID as a0_0x4d8ee3}from'crypto';import{join as a0_0x4a0dda}from'path';function a0_0x3582(){const _0x4b2ae6=['find','claude-code','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','set','Reply\x20text\x20/\x20result\x20summary','get_all_status','tmux\x20display-message\x20-p\x20\x27#S\x27','none','min','message_id','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','params','shutting\x20down,\x20reporting\x20offline...','offline','\x20from\x20','message','Target\x20session\x20alias','Message\x20content','notifications/claude/channel','hub','connect','SSE\x20stream\x20ended,\x20reconnecting...','no\x20response','commhub_send_message','utf-8','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','\x20CWD=','ack_inbox','0.3.0','completed','priority','starting\x20SSE\x20listener...','from','2.0','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','→\x20injected\x20task\x20','catch','re-register\x20failed:\x20','then','...\x20TMUX=','statusText','replace','application/json,\x20text/event-stream','trim','619095SmJshe','content','\x20priority=','failed','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','SIGINT','cancelled','idle','object','148HEnfAd','stdin','connecting\x20to\x20','slice','stderr','parse','error','commhub-channel','3160339xVmYtZ','Progress\x200-100','commhub_send_task','send_reply','pop','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','text','Session\x20alias:\x20','setRequestHandler','\x20/\x20hostname=','66WFmLWO','commhub','6147568UmpmKl','status','\x20RESUME_ID=','.env','join','\x22\x20after\x20SSE\x20reconnect','type','Current\x20task\x20description','task','from_session','send_task','SIGTERM','registered\x20as\x20\x22','send_message','normal','high','messages','Authorization','pid','11081HzcAVW','session\x20disconnected','read','/mcp','string','split','replied','commhub_report_status','length','Bearer\x20',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','12267088nmxwId','indexOf','stringify','startsWith','commhub_reply','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','2025-03-26','.anet','MCP\x20stdio\x20connected','toTimeString','\x22\x20(','heartbeat\x20failed:\x20','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','decode','connected','unknown\x20tool','ready\x20—\x20waiting\x20for\x20events','number','delete','SSE\x20fatal:\x20','cwd','(none)','re-registered\x20as\x20\x22','now','POST','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','\x20ALIAS=','data:\x20','end','←\x20message\x20from\x20','523655JkEExn','SSE\x20connected\x20as\x20\x22','notification','write','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','exit','SSE\x20connection\x20error:\x20','blocked','unattributed-','/events/','alias','report_status','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.',':\x20inbox_count=','17237961nShCpZ','warning:\x20could\x20not\x20register:\x20','commhub_get_all_status',']\x20[commhub]\x20','SSE\x20error:\x20','working','application/json','result','Priority\x20(default:\x20normal)'];a0_0x3582=function(){return _0x4b2ae6;};return a0_0x3582();}import{hostname as a0_0x33eb8b}from'os';import{execSync as a0_0xf050b}from'child_process';import{Server as a0_0xcf1391}from'@modelcontextprotocol/sdk/server/index.js';function a0_0x2ce9(_0xb3c4a8,_0x347d69){_0xb3c4a8=_0xb3c4a8-0x1d5;const _0x3582bc=a0_0x3582();let _0x2ce9d2=_0x3582bc[_0xb3c4a8];return _0x2ce9d2;}import{StdioServerTransport as a0_0xeaf772}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x57b76a,CallToolRequestSchema as a0_0x3e7f41}from'@modelcontextprotocol/sdk/types.js';function I(_0x42f7aa){const _0xe06268=a0_0x2ce9;if(!a0_0x569beb(_0x42f7aa))return;for(let _0x2c8d26 of a0_0x1c68fb(_0x42f7aa,'utf-8')[_0xe06268(0x1e6)]('\x0a')){let _0x37036e=_0x2c8d26[_0xe06268(0x24c)]();if(!_0x37036e||_0x37036e[_0xe06268(0x1ef)]('#'))continue;let _0x40355a=_0x37036e[_0xe06268(0x1ed)]('=');if(_0x40355a<0x0)continue;let _0x3b16f7=_0x37036e[_0xe06268(0x259)](0x0,_0x40355a)['trim'](),_0x5206b8=_0x37036e[_0xe06268(0x259)](_0x40355a+0x1)[_0xe06268(0x24c)]()[_0xe06268(0x24a)](/^["']|["']$/g,'');if(!process.env[_0x3b16f7])process.env[_0x3b16f7]=_0x5206b8;}}var L=process.env.HOME||'~',U=a0_0x4a0dda(L,'.claude/channels/commhub');I(a0_0x4a0dda(U,a0_0x538691(0x26d)));var v=process[a0_0x538691(0x200)]()[a0_0x538691(0x24a)](/\//g,'-');I(a0_0x4a0dda(U,v,'.env'));function d(){const _0x2e6ea3=a0_0x538691;try{return a0_0xf050b(_0x2e6ea3(0x227),{'encoding':_0x2e6ea3(0x239),'timeout':0x7d0})[_0x2e6ea3(0x24c)]();}catch{return'';}}function m(){const _0x2a6b7f=a0_0x538691;try{let _0x544e05=a0_0x4a0dda(L,_0x2a6b7f(0x1f3),'config.json');if(a0_0x569beb(_0x544e05))return JSON[_0x2a6b7f(0x25b)](a0_0x1c68fb(_0x544e05,_0x2a6b7f(0x239)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x538691(0x234)]||'http://127.0.0.1:9200',f=process.env.COMMHUB_TMUX||d();function r(){const _0x39af43=a0_0x538691;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x39af43(0x24c)]())return process.env.COMMHUB_ALIAS['trim']();return process[_0x39af43(0x25a)][_0x39af43(0x20d)](_0x39af43(0x251)+(_0x39af43(0x223)+(f||_0x39af43(0x201))+_0x39af43(0x267)+a0_0x33eb8b()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),_0x39af43(0x212)+process[_0x39af43(0x1e0)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x4d8ee3(),F=process.env.COMMHUB_TOKEN||u['token']||'';function W(_0x3b8f21){const _0x2c4596=a0_0x538691;let _0x22349f=new Date()[_0x2c4596(0x1f5)]()['slice'](0x0,0x8);process[_0x2c4596(0x25a)]['write']('['+_0x22349f+_0x2c4596(0x21b)+_0x3b8f21+'\x0a');}function N(_0x4b5b5e){return new Promise(_0x1a80c3=>setTimeout(_0x1a80c3,_0x4b5b5e));}W('ENV:\x20URL='+j+a0_0x538691(0x206)+G+a0_0x538691(0x26c)+K[a0_0x538691(0x259)](0x0,0x8)+a0_0x538691(0x248)+(f||a0_0x538691(0x228))+a0_0x538691(0x23b)+process[a0_0x538691(0x200)]()+'\x20PROJECT_ENV='+v);var D=new Map(),x=new a0_0xcf1391({'name':a0_0x538691(0x25d),'version':a0_0x538691(0x23d)},{'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_0x538691(0x216),a0_0x538691(0x243),a0_0x538691(0x22b),a0_0x538691(0x265)+G][a0_0x538691(0x26e)]('\x0a')});x[a0_0x538691(0x266)](a0_0x57b76a,async()=>({'tools':[{'name':a0_0x538691(0x1f0),'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_0x538691(0x1e5),'description':'The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)'},'text':{'type':a0_0x538691(0x1e5),'description':a0_0x538691(0x225)},'status':{'type':'string','enum':[a0_0x538691(0x23e),'failed','cancelled',a0_0x538691(0x211),a0_0x538691(0x25c),'in_progress'],'description':a0_0x538691(0x23a)}},'required':['text']}},{'name':a0_0x538691(0x1e8),'description':a0_0x538691(0x1f1),'inputSchema':{'type':a0_0x538691(0x255),'properties':{'status':{'type':'string','enum':[a0_0x538691(0x21d),a0_0x538691(0x254),a0_0x538691(0x211),a0_0x538691(0x25c)]},'task':{'type':'string','description':a0_0x538691(0x1d5)},'progress':{'type':a0_0x538691(0x1fd),'description':a0_0x538691(0x25f)}},'required':['status']}},{'name':'commhub_send_task','description':a0_0x538691(0x205),'inputSchema':{'type':a0_0x538691(0x255),'properties':{'alias':{'type':a0_0x538691(0x1e5),'description':a0_0x538691(0x231)},'task':{'type':a0_0x538691(0x1e5),'description':'Task\x20content'},'priority':{'type':a0_0x538691(0x1e5),'enum':[a0_0x538691(0x1dd),'normal','low'],'description':a0_0x538691(0x220)}},'required':[a0_0x538691(0x214),a0_0x538691(0x1d6)]}},{'name':a0_0x538691(0x238),'description':a0_0x538691(0x263),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x538691(0x1e5),'description':a0_0x538691(0x231)},'message':{'type':a0_0x538691(0x1e5),'description':a0_0x538691(0x232)}},'required':[a0_0x538691(0x214),a0_0x538691(0x230)]}},{'name':a0_0x538691(0x21a),'description':a0_0x538691(0x1f8),'inputSchema':{'type':a0_0x538691(0x255),'properties':{}}}]}));async function Y(_0x2db73a,_0x4ffebc){const _0x4ffa48=a0_0x538691;let _0x2df469=await fetch(j+_0x4ffa48(0x1e4),{'method':_0x4ffa48(0x204),'headers':{'Content-Type':_0x4ffa48(0x21e),'Accept':_0x4ffa48(0x24b),...F?{'Authorization':_0x4ffa48(0x1ea)+F}:{}},'body':JSON[_0x4ffa48(0x1ee)]({'jsonrpc':_0x4ffa48(0x242),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x4ffa48(0x1f2),'capabilities':{},'clientInfo':{'name':_0x4ffa48(0x25d),'version':_0x4ffa48(0x23d)}}})});if(!_0x2df469['ok']){let _0x235188=await _0x2df469[_0x4ffa48(0x264)]();return W('CommHub\x20init\x20failed:\x20'+_0x2df469[_0x4ffa48(0x26b)]+'\x20'+_0x235188['slice'](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x2df469[_0x4ffa48(0x26b)]};}await _0x2df469[_0x4ffa48(0x264)]();let _0x4a7935=(await(await fetch(j+_0x4ffa48(0x1e4),{'method':_0x4ffa48(0x204),'headers':{'Content-Type':_0x4ffa48(0x21e),'Accept':_0x4ffa48(0x24b),...F?{'Authorization':_0x4ffa48(0x1ea)+F}:{}},'body':JSON[_0x4ffa48(0x1ee)]({'jsonrpc':'2.0','id':0x2,'method':'tools/call','params':{'name':_0x2db73a,'arguments':_0x4ffebc}})}))[_0x4ffa48(0x264)]())[_0x4ffa48(0x1e6)]('\x0a')[_0x4ffa48(0x221)](_0x40e89f=>_0x40e89f['startsWith'](_0x4ffa48(0x207)));if(_0x4a7935){let _0x485dcb=JSON[_0x4ffa48(0x25b)](_0x4a7935[_0x4ffa48(0x259)](0x6));return _0x485dcb?.['result']?.[_0x4ffa48(0x24e)]?.[0x0]?.[_0x4ffa48(0x264)]?JSON[_0x4ffa48(0x25b)](_0x485dcb[_0x4ffa48(0x21f)][_0x4ffa48(0x24e)][0x0][_0x4ffa48(0x264)]):_0x485dcb;}return{'ok':!0x1,'error':_0x4ffa48(0x237)};}x[a0_0x538691(0x266)](a0_0x3e7f41,async _0x43617d=>{const _0xd5b913=a0_0x538691;let {name:_0x8d6f1b,arguments:_0x91dba9}=_0x43617d[_0xd5b913(0x22c)];if(_0x8d6f1b===_0xd5b913(0x1f0)){let {task_id:_0x1c1e0d,text:_0x27ee0c,status:_0x537a6e}=_0x91dba9;if(_0x537a6e===_0xd5b913(0x23e)||_0x537a6e===_0xd5b913(0x250)||_0x537a6e===_0xd5b913(0x253)){let _0x2d56c2=_0x537a6e===_0xd5b913(0x23e)?_0xd5b913(0x1e7):_0x537a6e,_0xf83c16=_0x1c1e0d?D['get'](_0x1c1e0d)||_0xd5b913(0x234):'hub',_0x1bd2aa=await Y(_0xd5b913(0x261),{'alias':_0xf83c16,'text':_0x27ee0c,'in_reply_to':_0x1c1e0d||void 0x0,'status':_0x2d56c2,'from_session':G});if(_0x1c1e0d)D[_0xd5b913(0x1fe)](_0x1c1e0d);return{'content':[{'type':_0xd5b913(0x264),'text':JSON[_0xd5b913(0x1ee)](_0x1bd2aa)}]};}let _0x381321=await Y(_0xd5b913(0x215),{'resume_id':K,'alias':G,'status':_0x537a6e===_0xd5b913(0x211)?'blocked':_0x537a6e===_0xd5b913(0x25c)?'error':_0xd5b913(0x21d),'task':_0x27ee0c[_0xd5b913(0x259)](0x0,0xc8),'output':_0x27ee0c});return{'content':[{'type':_0xd5b913(0x264),'text':JSON[_0xd5b913(0x1ee)](_0x381321)}]};}if(_0x8d6f1b===_0xd5b913(0x1e8)){let {status:_0x345402,task:_0x3c403f,progress:_0x3cd6ce}=_0x91dba9,_0x4381fe=await Y('report_status',{'resume_id':K,'alias':G,'status':_0x345402,'task':_0x3c403f,'progress':_0x3cd6ce});return{'content':[{'type':_0xd5b913(0x264),'text':JSON['stringify'](_0x4381fe)}]};}if(_0x8d6f1b===_0xd5b913(0x260)){let {alias:_0x3236df,task:_0x1f8080,priority:_0x1264e4}=_0x91dba9,_0xfb419f=await Y(_0xd5b913(0x1d8),{'alias':_0x3236df,'task':_0x1f8080,'priority':_0x1264e4||_0xd5b913(0x1dc),'from_session':G});return{'content':[{'type':_0xd5b913(0x264),'text':JSON[_0xd5b913(0x1ee)](_0xfb419f)}]};}if(_0x8d6f1b===_0xd5b913(0x238)){let {alias:_0x5b471a,message:_0x28281a}=_0x91dba9,_0xf84e3=await Y(_0xd5b913(0x1db),{'alias':_0x5b471a,'message':_0x28281a,'from_session':G});return{'content':[{'type':_0xd5b913(0x264),'text':JSON[_0xd5b913(0x1ee)](_0xf84e3)}]};}if(_0x8d6f1b===_0xd5b913(0x21a)){let _0xb85120=await Y(_0xd5b913(0x226),{});return{'content':[{'type':_0xd5b913(0x264),'text':JSON['stringify'](_0xb85120)}]};}return{'content':[{'type':_0xd5b913(0x264),'text':JSON[_0xd5b913(0x1ee)]({'error':_0xd5b913(0x1fb)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x5b5eea=a0_0x538691;try{await Y(_0x5b5eea(0x215),{'resume_id':K,'alias':G,'status':_0x5b5eea(0x254),'server':a0_0x33eb8b(),'hostname':a0_0x33eb8b(),'agent':_0x5b5eea(0x222),'project_dir':process[_0x5b5eea(0x200)](),'tmux_name':f||void 0x0}),W(_0x5b5eea(0x202)+G+_0x5b5eea(0x26f));}catch(_0x46b921){W(_0x5b5eea(0x246)+_0x46b921);}}async function o(){const _0xcf8d07=a0_0x538691;let _0x10e68f=j+_0xcf8d07(0x213)+encodeURIComponent(G),_0x700324={};if(F)_0x700324[_0xcf8d07(0x1df)]=_0xcf8d07(0x1ea)+F;W(_0xcf8d07(0x258)+_0x10e68f);let _0x2baef8=O,_0x964c27=!0x0,_0x4e997a=null;while(!0x0){try{let _0x1e0a65=await fetch(_0x10e68f,{'headers':_0x700324});if(!_0x1e0a65['ok']){if(W(_0xcf8d07(0x21c)+_0x1e0a65[_0xcf8d07(0x26b)]+'\x20'+_0x1e0a65[_0xcf8d07(0x249)]),_0x4e997a=_0x4e997a??Date[_0xcf8d07(0x203)](),Date['now']()-_0x4e997a>T){W(_0xcf8d07(0x20e)+j+_0xcf8d07(0x1eb));return;}await N(_0x2baef8),_0x2baef8=Math[_0xcf8d07(0x229)](_0x2baef8*0x2,R);continue;}let _0xfee818=_0x1e0a65['body']['getReader'](),_0x5eeb28=new TextDecoder(),_0x33e2a4='';_0x2baef8=O;while(!0x0){let {done:_0x30a55b,value:_0x5ed5ae}=await _0xfee818[_0xcf8d07(0x1e3)]();if(_0x30a55b)break;_0x33e2a4+=_0x5eeb28[_0xcf8d07(0x1f9)](_0x5ed5ae,{'stream':!0x0});let _0x4f3a08=_0x33e2a4['split']('\x0a\x0a');_0x33e2a4=_0x4f3a08[_0xcf8d07(0x262)]()||'';for(let _0x51a6ef of _0x4f3a08){let _0x3c0c86=_0x51a6ef[_0xcf8d07(0x1e6)]('\x0a')[_0xcf8d07(0x221)](_0x145d9c=>_0x145d9c[_0xcf8d07(0x1ef)](_0xcf8d07(0x207)));if(!_0x3c0c86)continue;try{let _0x59a9f5=JSON['parse'](_0x3c0c86[_0xcf8d07(0x259)](0x6));if(await a(_0x59a9f5),_0x59a9f5[_0xcf8d07(0x270)]===_0xcf8d07(0x1fa)){if(_0x4e997a=null,!_0x964c27)await l();_0x964c27=!0x1;}}catch(_0x747653){W('parse\x20error:\x20'+_0x747653);}}}W(_0xcf8d07(0x236));}catch(_0x460910){W(_0xcf8d07(0x210)+_0x460910);}if(_0x4e997a=_0x4e997a??Date['now'](),Date[_0xcf8d07(0x203)]()-_0x4e997a>T){W(_0xcf8d07(0x20e)+j+_0xcf8d07(0x1eb));return;}await N(_0x2baef8),_0x2baef8=Math[_0xcf8d07(0x229)](_0x2baef8*0x2,R);}}async function a(_0x36f6cc){const _0x1b92b0=a0_0x538691;if(_0x36f6cc[_0x1b92b0(0x270)]===_0x1b92b0(0x1fa)){W(_0x1b92b0(0x20b)+G+'\x22');return;}if(_0x36f6cc[_0x1b92b0(0x270)]==='new_message'){if(W(_0x1b92b0(0x209)+_0x36f6cc[_0x1b92b0(0x241)]+':\x20'+_0x36f6cc[_0x1b92b0(0x230)][_0x1b92b0(0x259)](0x0,0x3c)),await x['notification']({'method':_0x1b92b0(0x233),'params':{'content':_0x36f6cc[_0x1b92b0(0x230)],'meta':{'sender':_0x36f6cc['from']||'hub','sender_id':'commhub','user':_0x36f6cc[_0x1b92b0(0x241)]||'hub','priority':_0x1b92b0(0x1dc)}}}),_0x36f6cc[_0x1b92b0(0x22a)])await Y(_0x1b92b0(0x23c),{'alias':G,'message_id':_0x36f6cc[_0x1b92b0(0x22a)]});return;}if(_0x36f6cc['type']==='new_task'||_0x36f6cc[_0x1b92b0(0x270)]==='broadcast'){W('←\x20'+_0x36f6cc['type']+_0x1b92b0(0x217)+_0x36f6cc['inbox_count']+_0x1b92b0(0x24f)+(_0x36f6cc[_0x1b92b0(0x23f)]||_0x1b92b0(0x1dc)));let _0x4c90f6=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x4c90f6?.['ok']&&_0x4c90f6[_0x1b92b0(0x1de)]?.[_0x1b92b0(0x1e9)]>0x0)for(let _0x704dcb of _0x4c90f6['messages']){let _0x4da32a={'sender':_0x704dcb[_0x1b92b0(0x1d7)]||_0x1b92b0(0x234),'sender_id':_0x1b92b0(0x269),'user':_0x704dcb['from_session']||_0x1b92b0(0x234),'task_id':_0x704dcb['id'],'priority':_0x704dcb[_0x1b92b0(0x23f)]||_0x1b92b0(0x1dc)};D[_0x1b92b0(0x224)](_0x704dcb['id'],_0x704dcb[_0x1b92b0(0x1d7)]||_0x1b92b0(0x234)),await x[_0x1b92b0(0x20c)]({'method':_0x1b92b0(0x233),'params':{'content':_0x704dcb[_0x1b92b0(0x24e)],'meta':_0x4da32a}}),W(_0x1b92b0(0x244)+_0x704dcb['id'][_0x1b92b0(0x259)](0x0,0x8)+_0x1b92b0(0x22f)+_0x704dcb[_0x1b92b0(0x1d7)]+':\x20'+_0x704dcb[_0x1b92b0(0x24e)][_0x1b92b0(0x259)](0x0,0x3c)),await Y(_0x1b92b0(0x23c),{'alias':G,'message_id':_0x704dcb['id']});}}}async function n(){const _0x1c6c91=a0_0x538691;let _0x3fab2d=new a0_0xeaf772();await x[_0x1c6c91(0x235)](_0x3fab2d),W(_0x1c6c91(0x1f4)),W(_0x1c6c91(0x240)),o()[_0x1c6c91(0x245)](_0x4eb328=>W(_0x1c6c91(0x1ff)+_0x4eb328)),Y(_0x1c6c91(0x215),{'resume_id':K,'alias':G,'status':_0x1c6c91(0x254),'server':a0_0x33eb8b(),'hostname':a0_0x33eb8b(),'agent':'claude-code','project_dir':process[_0x1c6c91(0x200)](),'tmux_name':f||void 0x0})[_0x1c6c91(0x247)](()=>W(_0x1c6c91(0x1da)+G+_0x1c6c91(0x1f6)+K[_0x1c6c91(0x259)](0x0,0x8)+')'))[_0x1c6c91(0x245)](_0x14da0d=>W(_0x1c6c91(0x219)+_0x14da0d)),setInterval(()=>{const _0x1264f2=_0x1c6c91;Y(_0x1264f2(0x215),{'resume_id':K,'alias':G,'status':_0x1264f2(0x254),'server':a0_0x33eb8b(),'hostname':a0_0x33eb8b(),'agent':'claude-code','project_dir':process[_0x1264f2(0x200)](),'tmux_name':f||void 0x0})['catch'](_0x505960=>W(_0x1264f2(0x1f7)+_0x505960));},0x2bf20),W(_0x1c6c91(0x1fc));}n()[a0_0x538691(0x245)](_0x74d8ae=>{W('fatal:\x20'+_0x74d8ae),process['exit'](0x1);});async function b(){const _0x2a2c84=a0_0x538691;W(_0x2a2c84(0x22d)),await Y(_0x2a2c84(0x215),{'resume_id':K,'alias':G,'status':_0x2a2c84(0x22e),'task':_0x2a2c84(0x1e2)})[_0x2a2c84(0x245)](()=>{}),process[_0x2a2c84(0x20f)](0x0);}process[a0_0x538691(0x257)]['on'](a0_0x538691(0x208),()=>b()),process['on'](a0_0x538691(0x1d9),()=>b()),process['on'](a0_0x538691(0x252),()=>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.0",
|
|
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
|
],
|