@sleep2agi/agent-network 2.3.0-preview.7 → 2.3.0-preview.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/src/node-server.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
const a0_0x7beace=a0_0x2a61;(function(_0x2c669b,_0x40b6fb){const _0x10ede5=a0_0x2a61,_0x4919c3=_0x2c669b();while(!![]){try{const _0x1f9e8e=parseInt(_0x10ede5(0xc6))/0x1+parseInt(_0x10ede5(0x105))/0x2+parseInt(_0x10ede5(0xe2))/0x3*(parseInt(_0x10ede5(0xa1))/0x4)+-parseInt(_0x10ede5(0x72))/0x5+-parseInt(_0x10ede5(0xe7))/0x6*(-parseInt(_0x10ede5(0x71))/0x7)+-parseInt(_0x10ede5(0xa4))/0x8+parseInt(_0x10ede5(0x9e))/0x9*(-parseInt(_0x10ede5(0x6c))/0xa);if(_0x1f9e8e===_0x40b6fb)break;else _0x4919c3['push'](_0x4919c3['shift']());}catch(_0x450732){_0x4919c3['push'](_0x4919c3['shift']());}}}(a0_0x37ee,0x8dce1));import{readFileSync as a0_0x2b5c16,existsSync as a0_0xd70620}from'fs';function a0_0x37ee(){const _0x264273=['re-registered\x20as\x20\x22','Authorization','POST','length','find','text','decode','working','tmux\x20display-message\x20-p\x20\x27#S\x27','new_task','Message\x20content','ENV:\x20URL=','getReader','trim','message_id','get_inbox','shutting\x20down,\x20reporting\x20offline...','get','alias','MCP\x20stdio\x20connected','pop','\x20from\x20','utf-8','from_session','notifications/claude/channel','2343357wmGjcg','slice','task','2529772TWoihG','session\x20disconnected','failed','1603552uhazMi','Bearer\x20','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','re-register\x20failed:\x20','connecting\x20to\x20','type','content','SIGTERM','set','send_reply','0.3.0','normal','no\x20response','read','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','startsWith','toTimeString','offline',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','pid','error','status','→\x20injected\x20task\x20','claude-code','blocked','object','connected','high','broadcast','min','fatal:\x20','get_all_status','Session\x20alias:\x20','join','765964mOSZgD','Progress\x200-100','inbox_count','.anet','from','split','init\x20failed:\x20','then',']\x20[commhub]\x20','token','SIGINT','ack_inbox','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','application/json','priority','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','write','indexOf','Target\x20session\x20alias','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','completed','SSE\x20error:\x20','replace','cancelled','\x20priority=','unknown\x20tool',':\x20inbox_count=','replied','3rhAyBy','connect','.env','/mcp','Priority\x20(default:\x20normal)','2532wNkRGS','idle','starting\x20SSE\x20listener...','string','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','stderr','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','none','SSE\x20stream\x20ended,\x20reconnecting...','\x20PROJECT_ENV=','parse','cwd','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','delete','←\x20message\x20from\x20','result','message','report_status','2.0','notification','catch','commhub_report_status','warning:\x20could\x20not\x20register:\x20','\x22\x20after\x20SSE\x20reconnect','in_progress','Reply\x20text\x20/\x20result\x20summary','(none)','messages','config.json','commhub','820138DoNuTa','http://127.0.0.1:9200','body','stringify','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','30ITqXOP','hub','setRequestHandler','\x20/\x20hostname=','commhub_send_task','11347DwKDlM','4650710DnpfSY','now','commhub_get_all_status','application/json,\x20text/event-stream','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','exit','tools/call','/events/','\x20RESUME_ID=','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','SSE\x20fatal:\x20','commhub_reply','initialize','commhub-channel','commhub_send_message','end','number','ready\x20—\x20waiting\x20for\x20events','CommHub\x20init\x20failed:\x20'];a0_0x37ee=function(){return _0x264273;};return a0_0x37ee();}import{randomUUID as a0_0x1f9615}from'crypto';function a0_0x2a61(_0x466a48,_0x51f23c){_0x466a48=_0x466a48-0x68;const _0x37ee82=a0_0x37ee();let _0x2a61cb=_0x37ee82[_0x466a48];return _0x2a61cb;}import{join as a0_0x4fdbfd}from'path';import{hostname as a0_0x3b0449}from'os';import{execSync as a0_0x1d2b0a}from'child_process';import{Server as a0_0x3c07b4}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x679c35}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x36d40e,CallToolRequestSchema as a0_0x476b71}from'@modelcontextprotocol/sdk/types.js';function I(_0xd73dee){const _0x4a92ac=a0_0x2a61;if(!a0_0xd70620(_0xd73dee))return;for(let _0x5f4010 of a0_0x2b5c16(_0xd73dee,_0x4a92ac(0x9b))[_0x4a92ac(0xcb)]('\x0a')){let _0x2307a7=_0x5f4010[_0x4a92ac(0x92)]();if(!_0x2307a7||_0x2307a7[_0x4a92ac(0xb3)]('#'))continue;let _0x27cdcc=_0x2307a7[_0x4a92ac(0xd7)]('=');if(_0x27cdcc<0x0)continue;let _0x3c728f=_0x2307a7[_0x4a92ac(0x9f)](0x0,_0x27cdcc)[_0x4a92ac(0x92)](),_0x107563=_0x2307a7[_0x4a92ac(0x9f)](_0x27cdcc+0x1)[_0x4a92ac(0x92)]()[_0x4a92ac(0xdc)](/^["']|["']$/g,'');if(!process.env[_0x3c728f])process.env[_0x3c728f]=_0x107563;}}var L=process.env.HOME||'~',U=a0_0x4fdbfd(L,'.claude/channels/commhub');I(a0_0x4fdbfd(U,a0_0x7beace(0xe4)));var v=process[a0_0x7beace(0xf2)]()['replace'](/\//g,'-');I(a0_0x4fdbfd(U,v,'.env'));function d(){const _0x4d1f3a=a0_0x7beace;try{return a0_0x1d2b0a(_0x4d1f3a(0x8d),{'encoding':_0x4d1f3a(0x9b),'timeout':0x7d0})[_0x4d1f3a(0x92)]();}catch{return'';}}function m(){const _0x3f611e=a0_0x7beace;try{let _0x1457b9=a0_0x4fdbfd(L,_0x3f611e(0xc9),_0x3f611e(0x103));if(a0_0xd70620(_0x1457b9))return JSON[_0x3f611e(0xf1)](a0_0x2b5c16(_0x1457b9,_0x3f611e(0x9b)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x7beace(0x6d)]||a0_0x7beace(0x68),f=process.env.COMMHUB_TMUX||d();function r(){const _0x986920=a0_0x7beace;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x986920(0x92)]())return process.env.COMMHUB_ALIAS['trim']();return process[_0x986920(0xec)][_0x986920(0xd6)]('[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20'+(_0x986920(0xf3)+(f||_0x986920(0x101))+_0x986920(0x6f)+a0_0x3b0449()+_0x986920(0xd9))),'unattributed-'+process[_0x986920(0xb7)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x1f9615(),F=process.env.COMMHUB_TOKEN||u[a0_0x7beace(0xcf)]||'';function W(_0x512e41){const _0x580f9a=a0_0x7beace;let _0x4d2393=new Date()[_0x580f9a(0xb4)]()[_0x580f9a(0x9f)](0x0,0x8);process[_0x580f9a(0xec)][_0x580f9a(0xd6)]('['+_0x4d2393+_0x580f9a(0xce)+_0x512e41+'\x0a');}function N(_0x281a15){return new Promise(_0x599574=>setTimeout(_0x599574,_0x281a15));}W(a0_0x7beace(0x90)+j+'\x20ALIAS='+G+a0_0x7beace(0x7a)+K[a0_0x7beace(0x9f)](0x0,0x8)+'...\x20TMUX='+(f||a0_0x7beace(0xee))+'\x20CWD='+process['cwd']()+a0_0x7beace(0xf0)+v);var D=new Map(),x=new a0_0x3c07b4({'name':a0_0x7beace(0x7f),'version':a0_0x7beace(0xae)},{'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_0x7beace(0xed),a0_0x7beace(0xb2),a0_0x7beace(0xd2),a0_0x7beace(0xc4)+G][a0_0x7beace(0xc5)]('\x0a')});x['setRequestHandler'](a0_0x36d40e,async()=>({'tools':[{'name':a0_0x7beace(0x7d),'description':a0_0x7beace(0x6b),'inputSchema':{'type':a0_0x7beace(0xbd),'properties':{'task_id':{'type':'string','description':a0_0x7beace(0x7b)},'text':{'type':a0_0x7beace(0xea),'description':a0_0x7beace(0x100)},'status':{'type':a0_0x7beace(0xea),'enum':[a0_0x7beace(0xda),a0_0x7beace(0xa3),a0_0x7beace(0xdd),a0_0x7beace(0xbc),'error',a0_0x7beace(0xff)],'description':'Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'}},'required':[a0_0x7beace(0x8a)]}},{'name':a0_0x7beace(0xfc),'description':a0_0x7beace(0xa6),'inputSchema':{'type':'object','properties':{'status':{'type':'string','enum':[a0_0x7beace(0x8c),a0_0x7beace(0xe8),'blocked',a0_0x7beace(0xb8)]},'task':{'type':a0_0x7beace(0xea),'description':'Current\x20task\x20description'},'progress':{'type':a0_0x7beace(0x82),'description':a0_0x7beace(0xc7)}},'required':['status']}},{'name':a0_0x7beace(0x70),'description':a0_0x7beace(0xeb),'inputSchema':{'type':a0_0x7beace(0xbd),'properties':{'alias':{'type':'string','description':'Target\x20session\x20alias'},'task':{'type':a0_0x7beace(0xea),'description':'Task\x20content'},'priority':{'type':a0_0x7beace(0xea),'enum':[a0_0x7beace(0xbf),a0_0x7beace(0xaf),'low'],'description':a0_0x7beace(0xe6)}},'required':['alias',a0_0x7beace(0xa0)]}},{'name':a0_0x7beace(0x80),'description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x7beace(0xea),'description':a0_0x7beace(0xd8)},'message':{'type':a0_0x7beace(0xea),'description':a0_0x7beace(0x8f)}},'required':[a0_0x7beace(0x97),a0_0x7beace(0xf7)]}},{'name':a0_0x7beace(0x74),'description':a0_0x7beace(0xd5),'inputSchema':{'type':'object','properties':{}}}]}));async function Y(_0x477c7f,_0x290fa1){const _0xff0c62=a0_0x7beace;let _0x1d60b5=await fetch(j+'/mcp',{'method':_0xff0c62(0x87),'headers':{'Content-Type':_0xff0c62(0xd3),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0xff0c62(0x6a)]({'jsonrpc':_0xff0c62(0xf9),'id':0x1,'method':_0xff0c62(0x7e),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':'commhub-channel','version':_0xff0c62(0xae)}}})});if(!_0x1d60b5['ok']){let _0x4b1b58=await _0x1d60b5['text']();return W(_0xff0c62(0x84)+_0x1d60b5[_0xff0c62(0xb9)]+'\x20'+_0x4b1b58['slice'](0x0,0x64)),{'ok':!0x1,'error':_0xff0c62(0xcc)+_0x1d60b5['status']};}await _0x1d60b5[_0xff0c62(0x8a)]();let _0x514237=(await(await fetch(j+_0xff0c62(0xe5),{'method':_0xff0c62(0x87),'headers':{'Content-Type':_0xff0c62(0xd3),'Accept':_0xff0c62(0x75),...F?{'Authorization':_0xff0c62(0xa5)+F}:{}},'body':JSON[_0xff0c62(0x6a)]({'jsonrpc':_0xff0c62(0xf9),'id':0x2,'method':_0xff0c62(0x78),'params':{'name':_0x477c7f,'arguments':_0x290fa1}})}))[_0xff0c62(0x8a)]())[_0xff0c62(0xcb)]('\x0a')[_0xff0c62(0x89)](_0x6702a0=>_0x6702a0[_0xff0c62(0xb3)]('data:\x20'));if(_0x514237){let _0xc5ed4=JSON[_0xff0c62(0xf1)](_0x514237['slice'](0x6));return _0xc5ed4?.[_0xff0c62(0xf6)]?.[_0xff0c62(0xaa)]?.[0x0]?.[_0xff0c62(0x8a)]?JSON[_0xff0c62(0xf1)](_0xc5ed4[_0xff0c62(0xf6)][_0xff0c62(0xaa)][0x0][_0xff0c62(0x8a)]):_0xc5ed4;}return{'ok':!0x1,'error':_0xff0c62(0xb0)};}x[a0_0x7beace(0x6e)](a0_0x476b71,async _0x378403=>{const _0x366cf4=a0_0x7beace;let {name:_0x37e95b,arguments:_0x1b73d7}=_0x378403['params'];if(_0x37e95b===_0x366cf4(0x7d)){let {task_id:_0x353830,text:_0x5d4a21,status:_0x1f9a42}=_0x1b73d7;if(_0x1f9a42==='completed'||_0x1f9a42===_0x366cf4(0xa3)||_0x1f9a42==='cancelled'){let _0x44ba66=_0x1f9a42===_0x366cf4(0xda)?_0x366cf4(0xe1):_0x1f9a42,_0x54c240=_0x353830?D[_0x366cf4(0x96)](_0x353830)||_0x366cf4(0x6d):_0x366cf4(0x6d),_0x1c00eb=await Y(_0x366cf4(0xad),{'alias':_0x54c240,'text':_0x5d4a21,'in_reply_to':_0x353830||void 0x0,'status':_0x44ba66,'from_session':G});if(_0x353830)D[_0x366cf4(0xf4)](_0x353830);return{'content':[{'type':_0x366cf4(0x8a),'text':JSON[_0x366cf4(0x6a)](_0x1c00eb)}]};}let _0x563934=await Y(_0x366cf4(0xf8),{'resume_id':K,'alias':G,'status':_0x1f9a42===_0x366cf4(0xbc)?_0x366cf4(0xbc):_0x1f9a42===_0x366cf4(0xb8)?_0x366cf4(0xb8):_0x366cf4(0x8c),'task':_0x5d4a21[_0x366cf4(0x9f)](0x0,0xc8),'output':_0x5d4a21});return{'content':[{'type':'text','text':JSON[_0x366cf4(0x6a)](_0x563934)}]};}if(_0x37e95b===_0x366cf4(0xfc)){let {status:_0x409303,task:_0x5bdeeb,progress:_0x564a29}=_0x1b73d7,_0x3dc60c=await Y(_0x366cf4(0xf8),{'resume_id':K,'alias':G,'status':_0x409303,'task':_0x5bdeeb,'progress':_0x564a29});return{'content':[{'type':'text','text':JSON[_0x366cf4(0x6a)](_0x3dc60c)}]};}if(_0x37e95b==='commhub_send_task'){let {alias:_0x4a049c,task:_0x1d9253,priority:_0x1d93d7}=_0x1b73d7,_0xc567d6=await Y('send_task',{'alias':_0x4a049c,'task':_0x1d9253,'priority':_0x1d93d7||_0x366cf4(0xaf),'from_session':G});return{'content':[{'type':'text','text':JSON[_0x366cf4(0x6a)](_0xc567d6)}]};}if(_0x37e95b==='commhub_send_message'){let {alias:_0x305424,message:_0x468fbe}=_0x1b73d7,_0x513ba0=await Y('send_message',{'alias':_0x305424,'message':_0x468fbe,'from_session':G});return{'content':[{'type':'text','text':JSON[_0x366cf4(0x6a)](_0x513ba0)}]};}if(_0x37e95b===_0x366cf4(0x74)){let _0x1a812f=await Y(_0x366cf4(0xc3),{});return{'content':[{'type':_0x366cf4(0x8a),'text':JSON[_0x366cf4(0x6a)](_0x1a812f)}]};}return{'content':[{'type':_0x366cf4(0x8a),'text':JSON[_0x366cf4(0x6a)]({'error':_0x366cf4(0xdf)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x4f90a5=a0_0x7beace;try{await Y(_0x4f90a5(0xf8),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x3b0449(),'hostname':a0_0x3b0449(),'agent':'claude-code','project_dir':process[_0x4f90a5(0xf2)](),'tmux_name':f||void 0x0}),W(_0x4f90a5(0x85)+G+_0x4f90a5(0xfe));}catch(_0x5befa3){W(_0x4f90a5(0xa7)+_0x5befa3);}}async function o(){const _0x4548c8=a0_0x7beace;let _0x403072=j+_0x4548c8(0x79)+encodeURIComponent(G),_0x486d79={};if(F)_0x486d79[_0x4548c8(0x86)]=_0x4548c8(0xa5)+F;W(_0x4548c8(0xa8)+_0x403072);let _0x2ea422=O,_0x20127c=!0x0,_0x366f3a=null;while(!0x0){try{let _0x4ecc93=await fetch(_0x403072,{'headers':_0x486d79});if(!_0x4ecc93['ok']){if(W(_0x4548c8(0xdb)+_0x4ecc93[_0x4548c8(0xb9)]+'\x20'+_0x4ecc93['statusText']),_0x366f3a=_0x366f3a??Date['now'](),Date['now']()-_0x366f3a>T){W(_0x4548c8(0x76)+j+_0x4548c8(0xb6));return;}await N(_0x2ea422),_0x2ea422=Math[_0x4548c8(0xc1)](_0x2ea422*0x2,R);continue;}let _0x4f7c36=_0x4ecc93[_0x4548c8(0x69)][_0x4548c8(0x91)](),_0x2d75ad=new TextDecoder(),_0x4c2c02='';_0x2ea422=O;while(!0x0){let {done:_0x33bd34,value:_0x4c58c3}=await _0x4f7c36[_0x4548c8(0xb1)]();if(_0x33bd34)break;_0x4c2c02+=_0x2d75ad[_0x4548c8(0x8b)](_0x4c58c3,{'stream':!0x0});let _0x279091=_0x4c2c02[_0x4548c8(0xcb)]('\x0a\x0a');_0x4c2c02=_0x279091[_0x4548c8(0x99)]()||'';for(let _0xc2790a of _0x279091){let _0x3af4e5=_0xc2790a['split']('\x0a')[_0x4548c8(0x89)](_0x591c6=>_0x591c6['startsWith']('data:\x20'));if(!_0x3af4e5)continue;try{let _0x3917cc=JSON[_0x4548c8(0xf1)](_0x3af4e5[_0x4548c8(0x9f)](0x6));if(await a(_0x3917cc),_0x3917cc[_0x4548c8(0xa9)]===_0x4548c8(0xbe)){if(_0x366f3a=null,!_0x20127c)await l();_0x20127c=!0x1;}}catch(_0x25758b){W('parse\x20error:\x20'+_0x25758b);}}}W(_0x4548c8(0xef));}catch(_0x5d4cb5){W('SSE\x20connection\x20error:\x20'+_0x5d4cb5);}if(_0x366f3a=_0x366f3a??Date[_0x4548c8(0x73)](),Date[_0x4548c8(0x73)]()-_0x366f3a>T){W(_0x4548c8(0x76)+j+_0x4548c8(0xb6));return;}await N(_0x2ea422),_0x2ea422=Math[_0x4548c8(0xc1)](_0x2ea422*0x2,R);}}async function a(_0x1fac62){const _0x33c8ce=a0_0x7beace;if(_0x1fac62[_0x33c8ce(0xa9)]===_0x33c8ce(0xbe)){W('SSE\x20connected\x20as\x20\x22'+G+'\x22');return;}if(_0x1fac62[_0x33c8ce(0xa9)]==='new_message'){if(W(_0x33c8ce(0xf5)+_0x1fac62[_0x33c8ce(0xca)]+':\x20'+_0x1fac62[_0x33c8ce(0xf7)][_0x33c8ce(0x9f)](0x0,0x3c)),await x['notification']({'method':_0x33c8ce(0x9d),'params':{'content':_0x1fac62[_0x33c8ce(0xf7)],'meta':{'sender':_0x1fac62[_0x33c8ce(0xca)]||_0x33c8ce(0x6d),'sender_id':_0x33c8ce(0x104),'user':_0x1fac62[_0x33c8ce(0xca)]||_0x33c8ce(0x6d),'priority':_0x33c8ce(0xaf)}}}),_0x1fac62['message_id'])await Y(_0x33c8ce(0xd1),{'alias':G,'message_id':_0x1fac62[_0x33c8ce(0x93)]});return;}if(_0x1fac62[_0x33c8ce(0xa9)]===_0x33c8ce(0x8e)||_0x1fac62[_0x33c8ce(0xa9)]===_0x33c8ce(0xc0)){W('←\x20'+_0x1fac62[_0x33c8ce(0xa9)]+_0x33c8ce(0xe0)+_0x1fac62[_0x33c8ce(0xc8)]+_0x33c8ce(0xde)+(_0x1fac62[_0x33c8ce(0xd4)]||_0x33c8ce(0xaf)));let _0x2859c6=await Y(_0x33c8ce(0x94),{'alias':G,'limit':0x5});if(_0x2859c6?.['ok']&&_0x2859c6[_0x33c8ce(0x102)]?.[_0x33c8ce(0x88)]>0x0)for(let _0x1a026d of _0x2859c6['messages']){let _0x5d2459={'sender':_0x1a026d[_0x33c8ce(0x9c)]||_0x33c8ce(0x6d),'sender_id':_0x33c8ce(0x104),'user':_0x1a026d['from_session']||_0x33c8ce(0x6d),'task_id':_0x1a026d['id'],'priority':_0x1a026d[_0x33c8ce(0xd4)]||_0x33c8ce(0xaf)};D[_0x33c8ce(0xac)](_0x1a026d['id'],_0x1a026d[_0x33c8ce(0x9c)]||_0x33c8ce(0x6d)),await x[_0x33c8ce(0xfa)]({'method':_0x33c8ce(0x9d),'params':{'content':_0x1a026d[_0x33c8ce(0xaa)],'meta':_0x5d2459}}),W(_0x33c8ce(0xba)+_0x1a026d['id'][_0x33c8ce(0x9f)](0x0,0x8)+_0x33c8ce(0x9a)+_0x1a026d[_0x33c8ce(0x9c)]+':\x20'+_0x1a026d[_0x33c8ce(0xaa)][_0x33c8ce(0x9f)](0x0,0x3c)),await Y(_0x33c8ce(0xd1),{'alias':G,'message_id':_0x1a026d['id']});}}}async function n(){const _0x5a1605=a0_0x7beace;let _0xdfc6fe=new a0_0x679c35();await x[_0x5a1605(0xe3)](_0xdfc6fe),W(_0x5a1605(0x98)),W(_0x5a1605(0xe9)),o()[_0x5a1605(0xfb)](_0x3953a8=>W(_0x5a1605(0x7c)+_0x3953a8)),Y('report_status',{'resume_id':K,'alias':G,'status':'idle','server':a0_0x3b0449(),'hostname':a0_0x3b0449(),'agent':_0x5a1605(0xbb),'project_dir':process[_0x5a1605(0xf2)](),'tmux_name':f||void 0x0})[_0x5a1605(0xcd)](()=>W('registered\x20as\x20\x22'+G+'\x22\x20('+K['slice'](0x0,0x8)+')'))[_0x5a1605(0xfb)](_0x35f2ca=>W(_0x5a1605(0xfd)+_0x35f2ca)),setInterval(()=>{const _0x53dee4=_0x5a1605;Y('report_status',{'resume_id':K,'alias':G,'status':'idle','server':a0_0x3b0449(),'hostname':a0_0x3b0449(),'agent':_0x53dee4(0xbb),'project_dir':process[_0x53dee4(0xf2)](),'tmux_name':f||void 0x0})['catch'](_0x2d878f=>W('heartbeat\x20failed:\x20'+_0x2d878f));},0x2bf20),W(_0x5a1605(0x83));}n()[a0_0x7beace(0xfb)](_0x149442=>{const _0x38bebe=a0_0x7beace;W(_0x38bebe(0xc2)+_0x149442),process[_0x38bebe(0x77)](0x1);});async function b(){const _0xa118e5=a0_0x7beace;W(_0xa118e5(0x95)),await Y('report_status',{'resume_id':K,'alias':G,'status':_0xa118e5(0xb5),'task':_0xa118e5(0xa2)})[_0xa118e5(0xfb)](()=>{}),process[_0xa118e5(0x77)](0x0);}process['stdin']['on'](a0_0x7beace(0x81),()=>b()),process['on'](a0_0x7beace(0xab),()=>b()),process['on'](a0_0x7beace(0xd0),()=>b());
|
|
2
|
+
const a0_0x5a5139=a0_0x3393;(function(_0x1e2f16,_0x52f757){const _0x249853=a0_0x3393,_0x3f015d=_0x1e2f16();while(!![]){try{const _0x2b23b2=-parseInt(_0x249853(0x95))/0x1+-parseInt(_0x249853(0xae))/0x2+-parseInt(_0x249853(0xcb))/0x3*(-parseInt(_0x249853(0xaa))/0x4)+-parseInt(_0x249853(0xf8))/0x5*(-parseInt(_0x249853(0xd0))/0x6)+-parseInt(_0x249853(0xd6))/0x7*(-parseInt(_0x249853(0x10a))/0x8)+parseInt(_0x249853(0xe4))/0x9*(parseInt(_0x249853(0x115))/0xa)+-parseInt(_0x249853(0xd2))/0xb;if(_0x2b23b2===_0x52f757)break;else _0x3f015d['push'](_0x3f015d['shift']());}catch(_0x2c030c){_0x3f015d['push'](_0x3f015d['shift']());}}}(a0_0x220a,0x1ac5b));import{readFileSync as a0_0xadca91,existsSync as a0_0xff2c32}from'fs';import{randomUUID as a0_0x272fe1}from'crypto';import{join as a0_0x562c7f}from'path';import{hostname as a0_0x45ab54}from'os';import{execSync as a0_0x12d9ac}from'child_process';function a0_0x3393(_0x509a23,_0x4f1e8e){_0x509a23=_0x509a23-0x87;const _0x220ad3=a0_0x220a();let _0x339342=_0x220ad3[_0x509a23];return _0x339342;}import{Server as a0_0x9c4d40}from'@modelcontextprotocol/sdk/server/index.js';function a0_0x220a(){const _0xccebb8=['/mcp','ack_inbox','startsWith','string','.anet','stderr','POST','find','re-registered\x20as\x20\x22','message_id','Reply\x20text\x20/\x20result\x20summary','MCP\x20stdio\x20connected','indexOf','702360whqQOD',']\x20[commhub]\x20','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','content','get_inbox','no\x20response','result','join','unattributed-','CommHub\x20init\x20failed:\x20','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','cancelled','Priority\x20(default:\x20normal)','tmux\x20display-message\x20-p\x20\x27#S\x27','from','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','commhub-channel','then','Target\x20session\x20alias','split','1068970llzPeQ','heartbeat\x20failed:\x20','commhub','Authorization','cwd','blocked','stringify','replied','messages','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','Bearer\x20','application/json','SIGINT','token','config.json','write','SSE\x20error:\x20','notifications/claude/channel','496bHfwaW','length','\x20RESUME_ID=','text','commhub_report_status','getReader','Task\x20content','error','stdin','delete','report_status','20gNvJIQ','idle','working','application/json,\x20text/event-stream','fatal:\x20','get_all_status','normal','number','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','session\x20disconnected','0.3.0','exit','new_message','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','high','SSE\x20stream\x20ended,\x20reconnecting...','none','parse\x20error:\x20','trim','\x20ALIAS=','message','connected','broadcast','\x22\x20(','commhub_send_message','Current\x20task\x20description','commhub_reply','66086jwFGLg','connecting\x20to\x20','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','end','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','body','.env','utf-8','pid','min','data:\x20','tools/call','connect','commhub_send_task','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','init\x20failed:\x20','get','type','replace','task','ENV:\x20URL=','21832pNHNpA','...\x20TMUX=','registered\x20as\x20\x22','send_message','423596HJFfEi','from_session','re-register\x20failed:\x20','new_task',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','setRequestHandler','commhub_get_all_status','read','2025-03-26','initialize','unknown\x20tool','SSE\x20connected\x20as\x20\x22','shutting\x20down,\x20reporting\x20offline...','claude-code','status','now','2.0','slice','decode','completed','/events/','params','notification','hub','failed','\x20PROJECT_ENV=','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','offline','SSE\x20fatal:\x20','99AwzAid','warning:\x20could\x20not\x20register:\x20','alias','object','\x22\x20after\x20SSE\x20reconnect','6OMbddF','catch','2497539XsvWJQ','priority','parse','\x20from\x20','7294naoufo'];a0_0x220a=function(){return _0xccebb8;};return a0_0x220a();}import{StdioServerTransport as a0_0x4dcb25}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x919db3,CallToolRequestSchema as a0_0x2fd7eb}from'@modelcontextprotocol/sdk/types.js';function I(_0x168758){const _0x1391f9=a0_0x3393;if(!a0_0xff2c32(_0x168758))return;for(let _0x1fff7d of a0_0xadca91(_0x168758,_0x1391f9(0x9c))[_0x1391f9(0xf7)]('\x0a')){let _0x4bfd90=_0x1fff7d['trim']();if(!_0x4bfd90||_0x4bfd90[_0x1391f9(0xd9)]('#'))continue;let _0x15e5d3=_0x4bfd90[_0x1391f9(0xe3)]('=');if(_0x15e5d3<0x0)continue;let _0xb8bbf=_0x4bfd90['slice'](0x0,_0x15e5d3)[_0x1391f9(0x8c)](),_0x88c72d=_0x4bfd90[_0x1391f9(0xbf)](_0x15e5d3+0x1)[_0x1391f9(0x8c)]()[_0x1391f9(0xa7)](/^["']|["']$/g,'');if(!process.env[_0xb8bbf])process.env[_0xb8bbf]=_0x88c72d;}}var L=process.env.HOME||'~',U=a0_0x562c7f(L,'.claude/channels/commhub');I(a0_0x562c7f(U,a0_0x5a5139(0x9b)));var v=process[a0_0x5a5139(0xfc)]()['replace'](/\//g,'-');I(a0_0x562c7f(U,v,'.env'));function d(){const _0x566db3=a0_0x5a5139;try{return a0_0x12d9ac(_0x566db3(0xf1),{'encoding':_0x566db3(0x9c),'timeout':0x7d0})[_0x566db3(0x8c)]();}catch{return'';}}function m(){const _0x3315aa=a0_0x5a5139;try{let _0x3417a6=a0_0x562c7f(L,_0x3315aa(0xdb),_0x3315aa(0x106));if(a0_0xff2c32(_0x3417a6))return JSON['parse'](a0_0xadca91(_0x3417a6,_0x3315aa(0x9c)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x5a5139(0xc5)]||'http://127.0.0.1:9200',f=process.env.COMMHUB_TMUX||d();function r(){const _0x5dbdb4=a0_0x5a5139;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x5dbdb4(0x8c)]())return process.env.COMMHUB_ALIAS[_0x5dbdb4(0x8c)]();return process['stderr'][_0x5dbdb4(0x107)]('[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20'+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(f||'(none)')+'\x20/\x20hostname='+a0_0x45ab54()+_0x5dbdb4(0xa3))),_0x5dbdb4(0xec)+process[_0x5dbdb4(0x9d)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x272fe1(),F=process.env.COMMHUB_TOKEN||u[a0_0x5a5139(0x105)]||'';function W(_0x296372){const _0x17553c=a0_0x5a5139;let _0x2e8724=new Date()['toTimeString']()['slice'](0x0,0x8);process[_0x17553c(0xdc)][_0x17553c(0x107)]('['+_0x2e8724+_0x17553c(0xe5)+_0x296372+'\x0a');}function N(_0x27250b){return new Promise(_0x35e9fb=>setTimeout(_0x35e9fb,_0x27250b));}W(a0_0x5a5139(0xa9)+j+a0_0x5a5139(0x8d)+G+a0_0x5a5139(0x10c)+K[a0_0x5a5139(0xbf)](0x0,0x8)+a0_0x5a5139(0xab)+(f||a0_0x5a5139(0x8a))+'\x20CWD='+process[a0_0x5a5139(0xfc)]()+a0_0x5a5139(0xc7)+v);var D=new Map(),x=new a0_0x9c4d40({'name':a0_0x5a5139(0xf4),'version':a0_0x5a5139(0x11f)},{'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.',a0_0x5a5139(0xf3),a0_0x5a5139(0xee),'Session\x20alias:\x20'+G][a0_0x5a5139(0xeb)]('\x0a')});x[a0_0x5a5139(0xb3)](a0_0x919db3,async()=>({'tools':[{'name':a0_0x5a5139(0x94),'description':a0_0x5a5139(0x101),'inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0x5a5139(0xda),'description':a0_0x5a5139(0x99)},'text':{'type':a0_0x5a5139(0xda),'description':a0_0x5a5139(0xe1)},'status':{'type':a0_0x5a5139(0xda),'enum':[a0_0x5a5139(0xc1),a0_0x5a5139(0xc6),a0_0x5a5139(0xef),a0_0x5a5139(0xfd),a0_0x5a5139(0x111),'in_progress'],'description':a0_0x5a5139(0xc8)}},'required':[a0_0x5a5139(0x10d)]}},{'name':a0_0x5a5139(0x10e),'description':a0_0x5a5139(0x97),'inputSchema':{'type':a0_0x5a5139(0xce),'properties':{'status':{'type':'string','enum':['working',a0_0x5a5139(0x116),a0_0x5a5139(0xfd),'error']},'task':{'type':a0_0x5a5139(0xda),'description':a0_0x5a5139(0x93)},'progress':{'type':a0_0x5a5139(0x11c),'description':'Progress\x200-100'}},'required':[a0_0x5a5139(0xbc)]}},{'name':a0_0x5a5139(0xa2),'description':a0_0x5a5139(0xe6),'inputSchema':{'type':a0_0x5a5139(0xce),'properties':{'alias':{'type':a0_0x5a5139(0xda),'description':a0_0x5a5139(0xf6)},'task':{'type':a0_0x5a5139(0xda),'description':a0_0x5a5139(0x110)},'priority':{'type':'string','enum':[a0_0x5a5139(0x88),a0_0x5a5139(0x11b),'low'],'description':a0_0x5a5139(0xf0)}},'required':[a0_0x5a5139(0xcd),a0_0x5a5139(0xa8)]}},{'name':a0_0x5a5139(0x92),'description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':'object','properties':{'alias':{'type':'string','description':'Target\x20session\x20alias'},'message':{'type':a0_0x5a5139(0xda),'description':'Message\x20content'}},'required':[a0_0x5a5139(0xcd),'message']}},{'name':a0_0x5a5139(0xb4),'description':a0_0x5a5139(0x11d),'inputSchema':{'type':'object','properties':{}}}]}));async function Y(_0x243076,_0x440c08){const _0x3a1a4e=a0_0x5a5139;let _0x4dde68=await fetch(j+_0x3a1a4e(0xd7),{'method':_0x3a1a4e(0xdd),'headers':{'Content-Type':_0x3a1a4e(0x103),'Accept':_0x3a1a4e(0x118),...F?{'Authorization':_0x3a1a4e(0x102)+F}:{}},'body':JSON[_0x3a1a4e(0xfe)]({'jsonrpc':_0x3a1a4e(0xbe),'id':0x1,'method':_0x3a1a4e(0xb7),'params':{'protocolVersion':_0x3a1a4e(0xb6),'capabilities':{},'clientInfo':{'name':_0x3a1a4e(0xf4),'version':'0.3.0'}}})});if(!_0x4dde68['ok']){let _0x12c9d8=await _0x4dde68[_0x3a1a4e(0x10d)]();return W(_0x3a1a4e(0xed)+_0x4dde68['status']+'\x20'+_0x12c9d8[_0x3a1a4e(0xbf)](0x0,0x64)),{'ok':!0x1,'error':_0x3a1a4e(0xa4)+_0x4dde68[_0x3a1a4e(0xbc)]};}await _0x4dde68[_0x3a1a4e(0x10d)]();let _0x54ef17=(await(await fetch(j+_0x3a1a4e(0xd7),{'method':_0x3a1a4e(0xdd),'headers':{'Content-Type':_0x3a1a4e(0x103),'Accept':_0x3a1a4e(0x118),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x3a1a4e(0xfe)]({'jsonrpc':'2.0','id':0x2,'method':_0x3a1a4e(0xa0),'params':{'name':_0x243076,'arguments':_0x440c08}})}))[_0x3a1a4e(0x10d)]())[_0x3a1a4e(0xf7)]('\x0a')[_0x3a1a4e(0xde)](_0x34b55e=>_0x34b55e[_0x3a1a4e(0xd9)](_0x3a1a4e(0x9f)));if(_0x54ef17){let _0x154d28=JSON[_0x3a1a4e(0xd4)](_0x54ef17[_0x3a1a4e(0xbf)](0x6));return _0x154d28?.[_0x3a1a4e(0xea)]?.[_0x3a1a4e(0xe7)]?.[0x0]?.[_0x3a1a4e(0x10d)]?JSON[_0x3a1a4e(0xd4)](_0x154d28[_0x3a1a4e(0xea)]['content'][0x0][_0x3a1a4e(0x10d)]):_0x154d28;}return{'ok':!0x1,'error':_0x3a1a4e(0xe9)};}x[a0_0x5a5139(0xb3)](a0_0x2fd7eb,async _0x187051=>{const _0x1b7b14=a0_0x5a5139;let {name:_0x4f20fa,arguments:_0x34e732}=_0x187051[_0x1b7b14(0xc3)];if(_0x4f20fa===_0x1b7b14(0x94)){let {task_id:_0x156a95,text:_0x509eca,status:_0x544439}=_0x34e732;if(_0x544439===_0x1b7b14(0xc1)||_0x544439===_0x1b7b14(0xc6)||_0x544439===_0x1b7b14(0xef)){let _0x2ff2bb=_0x544439===_0x1b7b14(0xc1)?_0x1b7b14(0xff):_0x544439,_0x17f7a1=_0x156a95?D[_0x1b7b14(0xa5)](_0x156a95)||'hub':_0x1b7b14(0xc5),_0x5307cb=await Y('send_reply',{'alias':_0x17f7a1,'text':_0x509eca,'in_reply_to':_0x156a95||void 0x0,'status':_0x2ff2bb,'from_session':G});if(_0x156a95)D[_0x1b7b14(0x113)](_0x156a95);return{'content':[{'type':_0x1b7b14(0x10d),'text':JSON[_0x1b7b14(0xfe)](_0x5307cb)}]};}let _0x4bd6e3=await Y(_0x1b7b14(0x114),{'resume_id':K,'alias':G,'status':_0x544439===_0x1b7b14(0xfd)?'blocked':_0x544439===_0x1b7b14(0x111)?_0x1b7b14(0x111):_0x1b7b14(0x117),'task':_0x509eca[_0x1b7b14(0xbf)](0x0,0xc8),'output':_0x509eca});return{'content':[{'type':'text','text':JSON['stringify'](_0x4bd6e3)}]};}if(_0x4f20fa==='commhub_report_status'){let {status:_0x5066bb,task:_0x19343e,progress:_0xf542a0}=_0x34e732,_0x153653=await Y(_0x1b7b14(0x114),{'resume_id':K,'alias':G,'status':_0x5066bb,'task':_0x19343e,'progress':_0xf542a0});return{'content':[{'type':'text','text':JSON['stringify'](_0x153653)}]};}if(_0x4f20fa==='commhub_send_task'){let {alias:_0x8c4803,task:_0x2d2aa1,priority:_0x13e0d0}=_0x34e732,_0x539890=await Y('send_task',{'alias':_0x8c4803,'task':_0x2d2aa1,'priority':_0x13e0d0||_0x1b7b14(0x11b),'from_session':G});return{'content':[{'type':_0x1b7b14(0x10d),'text':JSON[_0x1b7b14(0xfe)](_0x539890)}]};}if(_0x4f20fa===_0x1b7b14(0x92)){let {alias:_0x5f42f3,message:_0x4786a7}=_0x34e732,_0x34d345=await Y(_0x1b7b14(0xad),{'alias':_0x5f42f3,'message':_0x4786a7,'from_session':G});return{'content':[{'type':_0x1b7b14(0x10d),'text':JSON[_0x1b7b14(0xfe)](_0x34d345)}]};}if(_0x4f20fa===_0x1b7b14(0xb4)){let _0x1e08a3=await Y(_0x1b7b14(0x11a),{});return{'content':[{'type':_0x1b7b14(0x10d),'text':JSON['stringify'](_0x1e08a3)}]};}return{'content':[{'type':_0x1b7b14(0x10d),'text':JSON['stringify']({'error':_0x1b7b14(0xb8)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x2e03a7=a0_0x5a5139;try{await Y(_0x2e03a7(0x114),{'resume_id':K,'alias':G,'status':_0x2e03a7(0x116),'server':a0_0x45ab54(),'hostname':a0_0x45ab54(),'agent':_0x2e03a7(0xbb),'project_dir':process['cwd'](),'tmux_name':f||void 0x0}),W(_0x2e03a7(0xdf)+G+_0x2e03a7(0xcf));}catch(_0x26fd5a){W(_0x2e03a7(0xb0)+_0x26fd5a);}}async function o(){const _0x422f39=a0_0x5a5139;let _0x4bbbe3=j+_0x422f39(0xc2)+encodeURIComponent(G),_0x48aef2={};if(F)_0x48aef2[_0x422f39(0xfb)]=_0x422f39(0x102)+F;W(_0x422f39(0x96)+_0x4bbbe3);let _0x4fc5d2=O,_0x39b814=!0x0,_0x1895db=null;while(!0x0){try{let _0x2f8de9=await fetch(_0x4bbbe3,{'headers':_0x48aef2});if(!_0x2f8de9['ok']){if(W(_0x422f39(0x108)+_0x2f8de9['status']+'\x20'+_0x2f8de9['statusText']),_0x1895db=_0x1895db??Date[_0x422f39(0xbd)](),Date[_0x422f39(0xbd)]()-_0x1895db>T){W(_0x422f39(0x87)+j+_0x422f39(0xb2));return;}await N(_0x4fc5d2),_0x4fc5d2=Math[_0x422f39(0x9e)](_0x4fc5d2*0x2,R);continue;}let _0x496223=_0x2f8de9[_0x422f39(0x9a)][_0x422f39(0x10f)](),_0x2c4b12=new TextDecoder(),_0x1cf6af='';_0x4fc5d2=O;while(!0x0){let {done:_0x41523b,value:_0x45b259}=await _0x496223[_0x422f39(0xb5)]();if(_0x41523b)break;_0x1cf6af+=_0x2c4b12[_0x422f39(0xc0)](_0x45b259,{'stream':!0x0});let _0x46a5e1=_0x1cf6af[_0x422f39(0xf7)]('\x0a\x0a');_0x1cf6af=_0x46a5e1['pop']()||'';for(let _0x161083 of _0x46a5e1){let _0x258bf3=_0x161083[_0x422f39(0xf7)]('\x0a')['find'](_0x4717aa=>_0x4717aa[_0x422f39(0xd9)](_0x422f39(0x9f)));if(!_0x258bf3)continue;try{let _0x9cfea2=JSON[_0x422f39(0xd4)](_0x258bf3[_0x422f39(0xbf)](0x6));if(await a(_0x9cfea2),_0x9cfea2[_0x422f39(0xa6)]===_0x422f39(0x8f)){if(_0x1895db=null,!_0x39b814)await l();_0x39b814=!0x1;}}catch(_0x5008d6){W(_0x422f39(0x8b)+_0x5008d6);}}}W(_0x422f39(0x89));}catch(_0x55f286){W('SSE\x20connection\x20error:\x20'+_0x55f286);}if(_0x1895db=_0x1895db??Date[_0x422f39(0xbd)](),Date['now']()-_0x1895db>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x422f39(0xb2));return;}await N(_0x4fc5d2),_0x4fc5d2=Math[_0x422f39(0x9e)](_0x4fc5d2*0x2,R);}}async function a(_0x3c8af4){const _0x51aace=a0_0x5a5139;if(_0x3c8af4[_0x51aace(0xa6)]==='connected'){W(_0x51aace(0xb9)+G+'\x22');return;}if(_0x3c8af4[_0x51aace(0xa6)]===_0x51aace(0x121)){if(W('←\x20message\x20from\x20'+_0x3c8af4[_0x51aace(0xf2)]+':\x20'+_0x3c8af4[_0x51aace(0x8e)][_0x51aace(0xbf)](0x0,0x3c)),await x[_0x51aace(0xc4)]({'method':_0x51aace(0x109),'params':{'content':_0x3c8af4[_0x51aace(0x8e)],'meta':{'sender':_0x3c8af4[_0x51aace(0xf2)]||_0x51aace(0xc5),'sender_id':_0x51aace(0xfa),'user':_0x3c8af4[_0x51aace(0xf2)]||_0x51aace(0xc5),'priority':_0x51aace(0x11b)}}}),_0x3c8af4[_0x51aace(0xe0)])await Y(_0x51aace(0xd8),{'alias':G,'message_id':_0x3c8af4[_0x51aace(0xe0)]});return;}if(_0x3c8af4[_0x51aace(0xa6)]===_0x51aace(0xb1)||_0x3c8af4[_0x51aace(0xa6)]===_0x51aace(0x90)){W('←\x20'+_0x3c8af4['type']+':\x20inbox_count='+_0x3c8af4['inbox_count']+'\x20priority='+(_0x3c8af4[_0x51aace(0xd3)]||_0x51aace(0x11b)));let _0x270c87=await Y(_0x51aace(0xe8),{'alias':G,'limit':0x5});if(_0x270c87?.['ok']&&_0x270c87[_0x51aace(0x100)]?.[_0x51aace(0x10b)]>0x0)for(let _0x4d13d1 of _0x270c87[_0x51aace(0x100)]){let _0x5d04bf={'sender':_0x4d13d1[_0x51aace(0xaf)]||_0x51aace(0xc5),'sender_id':'commhub','user':_0x4d13d1[_0x51aace(0xaf)]||'hub','task_id':_0x4d13d1['id'],'priority':_0x4d13d1[_0x51aace(0xd3)]||_0x51aace(0x11b)};D['set'](_0x4d13d1['id'],_0x4d13d1[_0x51aace(0xaf)]||'hub'),await x[_0x51aace(0xc4)]({'method':_0x51aace(0x109),'params':{'content':_0x4d13d1['content'],'meta':_0x5d04bf}}),W('→\x20injected\x20task\x20'+_0x4d13d1['id'][_0x51aace(0xbf)](0x0,0x8)+_0x51aace(0xd5)+_0x4d13d1[_0x51aace(0xaf)]+':\x20'+_0x4d13d1[_0x51aace(0xe7)]['slice'](0x0,0x3c)),await Y('ack_inbox',{'alias':G,'message_id':_0x4d13d1['id']});}}}async function n(){const _0x196f36=a0_0x5a5139;let _0x292785=new a0_0x4dcb25();await x[_0x196f36(0xa1)](_0x292785),W(_0x196f36(0xe2)),W('starting\x20SSE\x20listener...'),o()[_0x196f36(0xd1)](_0x5c6a06=>W(_0x196f36(0xca)+_0x5c6a06)),Y(_0x196f36(0x114),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x45ab54(),'hostname':a0_0x45ab54(),'agent':_0x196f36(0xbb),'project_dir':process[_0x196f36(0xfc)](),'tmux_name':f||void 0x0})[_0x196f36(0xf5)](()=>W(_0x196f36(0xac)+G+_0x196f36(0x91)+K['slice'](0x0,0x8)+')'))['catch'](_0xb0c13a=>W(_0x196f36(0xcc)+_0xb0c13a)),setInterval(()=>{const _0x423fb3=_0x196f36;Y(_0x423fb3(0x114),{'resume_id':K,'alias':G,'status':_0x423fb3(0x116),'server':a0_0x45ab54(),'hostname':a0_0x45ab54(),'agent':_0x423fb3(0xbb),'project_dir':process[_0x423fb3(0xfc)](),'tmux_name':f||void 0x0})[_0x423fb3(0xd1)](_0x2c5449=>W(_0x423fb3(0xf9)+_0x2c5449));},0x2bf20),W('ready\x20—\x20waiting\x20for\x20events');}n()[a0_0x5a5139(0xd1)](_0x51a6d2=>{const _0x214afb=a0_0x5a5139;W(_0x214afb(0x119)+_0x51a6d2),process[_0x214afb(0x120)](0x1);});async function b(){const _0x347450=a0_0x5a5139;W(_0x347450(0xba)),await Y(_0x347450(0x114),{'resume_id':K,'alias':G,'status':_0x347450(0xc9),'task':_0x347450(0x11e)})['catch'](()=>{}),process[_0x347450(0x120)](0x0);}process[a0_0x5a5139(0x112)]['on'](a0_0x5a5139(0x98),()=>b()),process['on']('SIGTERM',()=>b()),process['on'](a0_0x5a5139(0x104),()=>b());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.3.0-preview.
|
|
3
|
+
"version": "2.3.0-preview.8",
|
|
4
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",
|
|
@@ -65,10 +65,13 @@
|
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@inquirer/prompts": "^8.4.3",
|
|
68
|
-
"@larksuiteoapi/node-sdk": "^1.42.0"
|
|
68
|
+
"@larksuiteoapi/node-sdk": "^1.42.0",
|
|
69
|
+
"markdown-it": "^14.1.0",
|
|
70
|
+
"puppeteer-core": "^24.10.2"
|
|
69
71
|
},
|
|
70
72
|
"devDependencies": {
|
|
71
73
|
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
74
|
+
"@types/markdown-it": "^14.1.2",
|
|
72
75
|
"@types/node": "^25.0.0",
|
|
73
76
|
"javascript-obfuscator": "^5.4.1",
|
|
74
77
|
"node-pty": "^1.1.0",
|