@sleep2agi/agent-network 2.3.0-preview.7 → 2.3.0-preview.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +1 -1
- package/dist/src/client.js +1 -1
- package/dist/src/im/feishu/adapter.d.ts +38 -1
- package/dist/src/im/feishu/markdown-image-renderer.d.ts +61 -0
- package/dist/src/im/feishu/outbound-marker.d.ts +135 -0
- package/dist/src/im/feishu/worker.js +360 -28
- package/dist/src/node-server.js +1 -1
- package/package.json +6 -3
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_0x3dc8a9=a0_0x23d0;(function(_0x4f20ef,_0x250321){const _0x4781dc=a0_0x23d0,_0x16155d=_0x4f20ef();while(!![]){try{const _0x523cfd=parseInt(_0x4781dc(0x10d))/0x1*(parseInt(_0x4781dc(0x130))/0x2)+-parseInt(_0x4781dc(0xfe))/0x3+parseInt(_0x4781dc(0xd4))/0x4*(-parseInt(_0x4781dc(0x11d))/0x5)+parseInt(_0x4781dc(0x14d))/0x6+parseInt(_0x4781dc(0x113))/0x7+-parseInt(_0x4781dc(0x106))/0x8*(parseInt(_0x4781dc(0x157))/0x9)+parseInt(_0x4781dc(0x132))/0xa;if(_0x523cfd===_0x250321)break;else _0x16155d['push'](_0x16155d['shift']());}catch(_0xd93935){_0x16155d['push'](_0x16155d['shift']());}}}(a0_0x1f16,0xe63b0));import{readFileSync as a0_0x58852b,existsSync as a0_0x20ede3}from'fs';import{randomUUID as a0_0x497bd1}from'crypto';import{join as a0_0x868eda}from'path';import{hostname as a0_0x17ba98}from'os';import{execSync as a0_0x20dc39}from'child_process';import{Server as a0_0x2a7ab4}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x121206}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x5b2952,CallToolRequestSchema as a0_0x27aa59}from'@modelcontextprotocol/sdk/types.js';function I(_0x5051c4){const _0x2550f0=a0_0x23d0;if(!a0_0x20ede3(_0x5051c4))return;for(let _0x5b5c78 of a0_0x58852b(_0x5051c4,_0x2550f0(0x125))[_0x2550f0(0x136)]('\x0a')){let _0x50f256=_0x5b5c78['trim']();if(!_0x50f256||_0x50f256[_0x2550f0(0x148)]('#'))continue;let _0x4461a6=_0x50f256[_0x2550f0(0xfb)]('=');if(_0x4461a6<0x0)continue;let _0x546448=_0x50f256[_0x2550f0(0xdb)](0x0,_0x4461a6)[_0x2550f0(0x140)](),_0x5e216a=_0x50f256[_0x2550f0(0xdb)](_0x4461a6+0x1)[_0x2550f0(0x140)]()[_0x2550f0(0xed)](/^["']|["']$/g,'');if(!process.env[_0x546448])process.env[_0x546448]=_0x5e216a;}}var L=process.env.HOME||'~',U=a0_0x868eda(L,a0_0x3dc8a9(0x14e));I(a0_0x868eda(U,a0_0x3dc8a9(0x102)));var v=process[a0_0x3dc8a9(0x145)]()['replace'](/\//g,'-');I(a0_0x868eda(U,v,a0_0x3dc8a9(0x102)));function d(){const _0x17d8fd=a0_0x3dc8a9;try{return a0_0x20dc39(_0x17d8fd(0xf6),{'encoding':_0x17d8fd(0x125),'timeout':0x7d0})['trim']();}catch{return'';}}function m(){const _0x273f42=a0_0x3dc8a9;try{let _0x106a07=a0_0x868eda(L,_0x273f42(0xd8),_0x273f42(0xeb));if(a0_0x20ede3(_0x106a07))return JSON[_0x273f42(0x121)](a0_0x58852b(_0x106a07,_0x273f42(0x125)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x3dc8a9(0x12d)]||a0_0x3dc8a9(0xf9),f=process.env.COMMHUB_TMUX||d();function r(){const _0x1444ea=a0_0x3dc8a9;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x1444ea(0x140)]())return process.env.COMMHUB_ALIAS[_0x1444ea(0x140)]();return process[_0x1444ea(0x158)]['write'](_0x1444ea(0x134)+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(f||_0x1444ea(0xdd))+'\x20/\x20hostname='+a0_0x17ba98()+_0x1444ea(0x11e))),_0x1444ea(0xf7)+process[_0x1444ea(0xfd)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x497bd1(),F=process.env.COMMHUB_TOKEN||u['token']||'';function W(_0x381e9f){const _0x50f832=a0_0x3dc8a9;let _0x2b79cf=new Date()['toTimeString']()[_0x50f832(0xdb)](0x0,0x8);process[_0x50f832(0x158)][_0x50f832(0x14a)]('['+_0x2b79cf+_0x50f832(0xd1)+_0x381e9f+'\x0a');}function a0_0x1f16(){const _0x3b7daf=['ack_inbox','SSE\x20connected\x20as\x20\x22','result','type','ENV:\x20URL=','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','task','starting\x20SSE\x20listener...','find','Current\x20task\x20description','broadcast','/events/','SSE\x20stream\x20ended,\x20reconnecting...','read','commhub_report_status','commhub-channel','POST',']\x20[commhub]\x20','shutting\x20down,\x20reporting\x20offline...','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','4Mniock','message_id','join','MCP\x20stdio\x20connected','.anet','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','working','slice','\x20ALIAS=','(none)','in_progress','data:\x20','normal','from','error','parse\x20error:\x20','→\x20injected\x20task\x20','...\x20TMUX=','\x20priority=','inbox_count',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','SIGTERM','params','config.json','now','replace','stringify','decode','←\x20message\x20from\x20','connecting\x20to\x20','warning:\x20could\x20not\x20register:\x20','number','cancelled','Bearer\x20','tmux\x20display-message\x20-p\x20\x27#S\x27','unattributed-','high','http://127.0.0.1:9200','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','indexOf','fatal:\x20','pid','4093572sczUgi','idle','from_session','Task\x20content','.env','session\x20disconnected','statusText','re-register\x20failed:\x20','664912vhXUXJ','min','SSE\x20fatal:\x20','pop','content','string','none','11mOVkid','setRequestHandler','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','commhub_reply','text','messages','3456880ofVoFQ','connect','\x20RESUME_ID=','catch','\x22\x20(','2025-03-26','commhub_get_all_status','connected','replied','application/json,\x20text/event-stream','5842790rrOULF','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','\x20CWD=','0.3.0','parse','SIGINT','Target\x20session\x20alias','report_status','utf-8','priority','2.0','then','completed','send_message','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','no\x20response','hub','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','commhub_send_message','223372EeDYrT','get','12695080ImllDM','delete','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','message','split','\x20from\x20','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','notification','notifications/claude/channel','Authorization','length','Message\x20content','Session\x20alias:\x20','set','trim','get_inbox','Priority\x20(default:\x20normal)','/mcp','getReader','cwd','unknown\x20tool','offline','startsWith','application/json','write','status','get_all_status','3902640TnhpKO','.claude/channels/commhub','end','failed','commhub_send_task','send_reply','blocked','ready\x20—\x20waiting\x20for\x20events','claude-code','object','18hcKnZO','stderr','init\x20failed:\x20','heartbeat\x20failed:\x20'];a0_0x1f16=function(){return _0x3b7daf;};return a0_0x1f16();}function N(_0x2f5780){return new Promise(_0x9b7091=>setTimeout(_0x9b7091,_0x2f5780));}W(a0_0x3dc8a9(0x15f)+j+a0_0x3dc8a9(0xdc)+G+a0_0x3dc8a9(0x115)+K['slice'](0x0,0x8)+a0_0x3dc8a9(0xe5)+(f||a0_0x3dc8a9(0x10c))+a0_0x3dc8a9(0x11f)+process[a0_0x3dc8a9(0x145)]()+'\x20PROJECT_ENV='+v);var D=new Map(),x=new a0_0x2a7ab4({'name':a0_0x3dc8a9(0xcf),'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.',a0_0x3dc8a9(0x12e),'You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.',a0_0x3dc8a9(0x13e)+G][a0_0x3dc8a9(0xd6)]('\x0a')});x[a0_0x3dc8a9(0x10e)](a0_0x5b2952,async()=>({'tools':[{'name':a0_0x3dc8a9(0x110),'description':a0_0x3dc8a9(0x12b),'inputSchema':{'type':a0_0x3dc8a9(0x156),'properties':{'task_id':{'type':'string','description':a0_0x3dc8a9(0x10f)},'text':{'type':a0_0x3dc8a9(0x10b),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x3dc8a9(0x10b),'enum':[a0_0x3dc8a9(0x129),a0_0x3dc8a9(0x150),a0_0x3dc8a9(0xf4),a0_0x3dc8a9(0x153),a0_0x3dc8a9(0xe2),a0_0x3dc8a9(0xde)],'description':a0_0x3dc8a9(0xd9)}},'required':[a0_0x3dc8a9(0x111)]}},{'name':'commhub_report_status','description':a0_0x3dc8a9(0xfa),'inputSchema':{'type':'object','properties':{'status':{'type':a0_0x3dc8a9(0x10b),'enum':[a0_0x3dc8a9(0xda),'idle',a0_0x3dc8a9(0x153),a0_0x3dc8a9(0xe2)]},'task':{'type':'string','description':a0_0x3dc8a9(0x164)},'progress':{'type':a0_0x3dc8a9(0xf3),'description':'Progress\x200-100'}},'required':[a0_0x3dc8a9(0x14b)]}},{'name':a0_0x3dc8a9(0x151),'description':a0_0x3dc8a9(0x160),'inputSchema':{'type':a0_0x3dc8a9(0x156),'properties':{'alias':{'type':a0_0x3dc8a9(0x10b),'description':a0_0x3dc8a9(0x123)},'task':{'type':a0_0x3dc8a9(0x10b),'description':a0_0x3dc8a9(0x101)},'priority':{'type':a0_0x3dc8a9(0x10b),'enum':[a0_0x3dc8a9(0xf8),a0_0x3dc8a9(0xe0),'low'],'description':a0_0x3dc8a9(0x142)}},'required':['alias',a0_0x3dc8a9(0x161)]}},{'name':a0_0x3dc8a9(0x12f),'description':a0_0x3dc8a9(0x138),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x3dc8a9(0x10b),'description':a0_0x3dc8a9(0x123)},'message':{'type':a0_0x3dc8a9(0x10b),'description':a0_0x3dc8a9(0x13d)}},'required':['alias','message']}},{'name':a0_0x3dc8a9(0x119),'description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':a0_0x3dc8a9(0x156),'properties':{}}}]}));function a0_0x23d0(_0x5c72e8,_0x2b09c9){_0x5c72e8=_0x5c72e8-0xcc;const _0x1f1603=a0_0x1f16();let _0x23d0b0=_0x1f1603[_0x5c72e8];return _0x23d0b0;}async function Y(_0x291cbf,_0x4c6e08){const _0x39fb34=a0_0x3dc8a9;let _0x544dcb=await fetch(j+'/mcp',{'method':_0x39fb34(0xd0),'headers':{'Content-Type':_0x39fb34(0x149),'Accept':_0x39fb34(0x11c),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x39fb34(0xee)]({'jsonrpc':_0x39fb34(0x127),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x39fb34(0x118),'capabilities':{},'clientInfo':{'name':'commhub-channel','version':_0x39fb34(0x120)}}})});if(!_0x544dcb['ok']){let _0x2f7951=await _0x544dcb[_0x39fb34(0x111)]();return W('CommHub\x20init\x20failed:\x20'+_0x544dcb[_0x39fb34(0x14b)]+'\x20'+_0x2f7951[_0x39fb34(0xdb)](0x0,0x64)),{'ok':!0x1,'error':_0x39fb34(0x159)+_0x544dcb[_0x39fb34(0x14b)]};}await _0x544dcb[_0x39fb34(0x111)]();let _0x289488=(await(await fetch(j+_0x39fb34(0x143),{'method':_0x39fb34(0xd0),'headers':{'Content-Type':_0x39fb34(0x149),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x39fb34(0xee)]({'jsonrpc':_0x39fb34(0x127),'id':0x2,'method':'tools/call','params':{'name':_0x291cbf,'arguments':_0x4c6e08}})}))[_0x39fb34(0x111)]())['split']('\x0a')['find'](_0x1e58cb=>_0x1e58cb[_0x39fb34(0x148)]('data:\x20'));if(_0x289488){let _0x15d336=JSON['parse'](_0x289488[_0x39fb34(0xdb)](0x6));return _0x15d336?.['result']?.[_0x39fb34(0x10a)]?.[0x0]?.[_0x39fb34(0x111)]?JSON[_0x39fb34(0x121)](_0x15d336[_0x39fb34(0x15d)][_0x39fb34(0x10a)][0x0][_0x39fb34(0x111)]):_0x15d336;}return{'ok':!0x1,'error':_0x39fb34(0x12c)};}x[a0_0x3dc8a9(0x10e)](a0_0x27aa59,async _0x46bd74=>{const _0xd2d7af=a0_0x3dc8a9;let {name:_0x4ffe55,arguments:_0x4ff5d3}=_0x46bd74[_0xd2d7af(0xea)];if(_0x4ffe55==='commhub_reply'){let {task_id:_0xf41d66,text:_0x52120f,status:_0x28ced3}=_0x4ff5d3;if(_0x28ced3===_0xd2d7af(0x129)||_0x28ced3===_0xd2d7af(0x150)||_0x28ced3===_0xd2d7af(0xf4)){let _0x5bd725=_0x28ced3==='completed'?_0xd2d7af(0x11b):_0x28ced3,_0x3f00c3=_0xf41d66?D[_0xd2d7af(0x131)](_0xf41d66)||'hub':_0xd2d7af(0x12d),_0x196b38=await Y(_0xd2d7af(0x152),{'alias':_0x3f00c3,'text':_0x52120f,'in_reply_to':_0xf41d66||void 0x0,'status':_0x5bd725,'from_session':G});if(_0xf41d66)D[_0xd2d7af(0x133)](_0xf41d66);return{'content':[{'type':'text','text':JSON[_0xd2d7af(0xee)](_0x196b38)}]};}let _0x22c816=await Y(_0xd2d7af(0x124),{'resume_id':K,'alias':G,'status':_0x28ced3===_0xd2d7af(0x153)?_0xd2d7af(0x153):_0x28ced3===_0xd2d7af(0xe2)?'error':_0xd2d7af(0xda),'task':_0x52120f['slice'](0x0,0xc8),'output':_0x52120f});return{'content':[{'type':_0xd2d7af(0x111),'text':JSON[_0xd2d7af(0xee)](_0x22c816)}]};}if(_0x4ffe55===_0xd2d7af(0xce)){let {status:_0x580359,task:_0x373585,progress:_0x28682c}=_0x4ff5d3,_0x21bb48=await Y(_0xd2d7af(0x124),{'resume_id':K,'alias':G,'status':_0x580359,'task':_0x373585,'progress':_0x28682c});return{'content':[{'type':_0xd2d7af(0x111),'text':JSON[_0xd2d7af(0xee)](_0x21bb48)}]};}if(_0x4ffe55===_0xd2d7af(0x151)){let {alias:_0x54ff77,task:_0x3c94e0,priority:_0x229d37}=_0x4ff5d3,_0x1eefa5=await Y('send_task',{'alias':_0x54ff77,'task':_0x3c94e0,'priority':_0x229d37||_0xd2d7af(0xe0),'from_session':G});return{'content':[{'type':_0xd2d7af(0x111),'text':JSON[_0xd2d7af(0xee)](_0x1eefa5)}]};}if(_0x4ffe55===_0xd2d7af(0x12f)){let {alias:_0x257aec,message:_0x5d2245}=_0x4ff5d3,_0x27047c=await Y(_0xd2d7af(0x12a),{'alias':_0x257aec,'message':_0x5d2245,'from_session':G});return{'content':[{'type':_0xd2d7af(0x111),'text':JSON[_0xd2d7af(0xee)](_0x27047c)}]};}if(_0x4ffe55===_0xd2d7af(0x119)){let _0x55e54d=await Y(_0xd2d7af(0x14c),{});return{'content':[{'type':'text','text':JSON[_0xd2d7af(0xee)](_0x55e54d)}]};}return{'content':[{'type':_0xd2d7af(0x111),'text':JSON[_0xd2d7af(0xee)]({'error':_0xd2d7af(0x146)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x26c8e5=a0_0x3dc8a9;try{await Y(_0x26c8e5(0x124),{'resume_id':K,'alias':G,'status':_0x26c8e5(0xff),'server':a0_0x17ba98(),'hostname':a0_0x17ba98(),'agent':_0x26c8e5(0x155),'project_dir':process[_0x26c8e5(0x145)](),'tmux_name':f||void 0x0}),W('re-registered\x20as\x20\x22'+G+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x3fb487){W(_0x26c8e5(0x105)+_0x3fb487);}}async function o(){const _0x418d3f=a0_0x3dc8a9;let _0x5928b3=j+_0x418d3f(0x166)+encodeURIComponent(G),_0x143dbd={};if(F)_0x143dbd[_0x418d3f(0x13b)]=_0x418d3f(0xf5)+F;W(_0x418d3f(0xf1)+_0x5928b3);let _0xb9b969=O,_0x581329=!0x0,_0x1b2a35=null;while(!0x0){try{let _0x17a172=await fetch(_0x5928b3,{'headers':_0x143dbd});if(!_0x17a172['ok']){if(W('SSE\x20error:\x20'+_0x17a172[_0x418d3f(0x14b)]+'\x20'+_0x17a172[_0x418d3f(0x104)]),_0x1b2a35=_0x1b2a35??Date[_0x418d3f(0xec)](),Date[_0x418d3f(0xec)]()-_0x1b2a35>T){W(_0x418d3f(0xd3)+j+_0x418d3f(0xe8));return;}await N(_0xb9b969),_0xb9b969=Math[_0x418d3f(0x107)](_0xb9b969*0x2,R);continue;}let _0x2db453=_0x17a172['body'][_0x418d3f(0x144)](),_0xcad9b4=new TextDecoder(),_0x28a4a6='';_0xb9b969=O;while(!0x0){let {done:_0x27922f,value:_0x547f34}=await _0x2db453[_0x418d3f(0xcd)]();if(_0x27922f)break;_0x28a4a6+=_0xcad9b4[_0x418d3f(0xef)](_0x547f34,{'stream':!0x0});let _0x12197b=_0x28a4a6['split']('\x0a\x0a');_0x28a4a6=_0x12197b[_0x418d3f(0x109)]()||'';for(let _0x33f4d5 of _0x12197b){let _0x251ac4=_0x33f4d5['split']('\x0a')[_0x418d3f(0x163)](_0xc00213=>_0xc00213[_0x418d3f(0x148)](_0x418d3f(0xdf)));if(!_0x251ac4)continue;try{let _0x5bdb05=JSON['parse'](_0x251ac4[_0x418d3f(0xdb)](0x6));if(await a(_0x5bdb05),_0x5bdb05[_0x418d3f(0x15e)]==='connected'){if(_0x1b2a35=null,!_0x581329)await l();_0x581329=!0x1;}}catch(_0x2ad9d1){W(_0x418d3f(0xe3)+_0x2ad9d1);}}}W(_0x418d3f(0xcc));}catch(_0x4bd194){W('SSE\x20connection\x20error:\x20'+_0x4bd194);}if(_0x1b2a35=_0x1b2a35??Date[_0x418d3f(0xec)](),Date[_0x418d3f(0xec)]()-_0x1b2a35>T){W(_0x418d3f(0xd3)+j+_0x418d3f(0xe8));return;}await N(_0xb9b969),_0xb9b969=Math[_0x418d3f(0x107)](_0xb9b969*0x2,R);}}async function a(_0x450565){const _0x6438d=a0_0x3dc8a9;if(_0x450565[_0x6438d(0x15e)]===_0x6438d(0x11a)){W(_0x6438d(0x15c)+G+'\x22');return;}if(_0x450565[_0x6438d(0x15e)]==='new_message'){if(W(_0x6438d(0xf0)+_0x450565[_0x6438d(0xe1)]+':\x20'+_0x450565['message'][_0x6438d(0xdb)](0x0,0x3c)),await x[_0x6438d(0x139)]({'method':_0x6438d(0x13a),'params':{'content':_0x450565[_0x6438d(0x135)],'meta':{'sender':_0x450565[_0x6438d(0xe1)]||_0x6438d(0x12d),'sender_id':'commhub','user':_0x450565[_0x6438d(0xe1)]||'hub','priority':_0x6438d(0xe0)}}}),_0x450565[_0x6438d(0xd5)])await Y(_0x6438d(0x15b),{'alias':G,'message_id':_0x450565[_0x6438d(0xd5)]});return;}if(_0x450565[_0x6438d(0x15e)]==='new_task'||_0x450565[_0x6438d(0x15e)]===_0x6438d(0x165)){W('←\x20'+_0x450565['type']+':\x20inbox_count='+_0x450565[_0x6438d(0xe7)]+_0x6438d(0xe6)+(_0x450565[_0x6438d(0x126)]||_0x6438d(0xe0)));let _0x39886d=await Y(_0x6438d(0x141),{'alias':G,'limit':0x5});if(_0x39886d?.['ok']&&_0x39886d[_0x6438d(0x112)]?.[_0x6438d(0x13c)]>0x0)for(let _0x98f0f0 of _0x39886d[_0x6438d(0x112)]){let _0x1e473a={'sender':_0x98f0f0[_0x6438d(0x100)]||_0x6438d(0x12d),'sender_id':'commhub','user':_0x98f0f0[_0x6438d(0x100)]||_0x6438d(0x12d),'task_id':_0x98f0f0['id'],'priority':_0x98f0f0[_0x6438d(0x126)]||_0x6438d(0xe0)};D[_0x6438d(0x13f)](_0x98f0f0['id'],_0x98f0f0['from_session']||'hub'),await x[_0x6438d(0x139)]({'method':'notifications/claude/channel','params':{'content':_0x98f0f0[_0x6438d(0x10a)],'meta':_0x1e473a}}),W(_0x6438d(0xe4)+_0x98f0f0['id'][_0x6438d(0xdb)](0x0,0x8)+_0x6438d(0x137)+_0x98f0f0['from_session']+':\x20'+_0x98f0f0[_0x6438d(0x10a)][_0x6438d(0xdb)](0x0,0x3c)),await Y(_0x6438d(0x15b),{'alias':G,'message_id':_0x98f0f0['id']});}}}async function n(){const _0x2ee2e1=a0_0x3dc8a9;let _0x56f207=new a0_0x121206();await x[_0x2ee2e1(0x114)](_0x56f207),W(_0x2ee2e1(0xd7)),W(_0x2ee2e1(0x162)),o()[_0x2ee2e1(0x116)](_0x270b58=>W(_0x2ee2e1(0x108)+_0x270b58)),Y('report_status',{'resume_id':K,'alias':G,'status':_0x2ee2e1(0xff),'server':a0_0x17ba98(),'hostname':a0_0x17ba98(),'agent':_0x2ee2e1(0x155),'project_dir':process[_0x2ee2e1(0x145)](),'tmux_name':f||void 0x0})[_0x2ee2e1(0x128)](()=>W('registered\x20as\x20\x22'+G+_0x2ee2e1(0x117)+K[_0x2ee2e1(0xdb)](0x0,0x8)+')'))[_0x2ee2e1(0x116)](_0xc7a269=>W(_0x2ee2e1(0xf2)+_0xc7a269)),setInterval(()=>{const _0x42be9b=_0x2ee2e1;Y(_0x42be9b(0x124),{'resume_id':K,'alias':G,'status':_0x42be9b(0xff),'server':a0_0x17ba98(),'hostname':a0_0x17ba98(),'agent':_0x42be9b(0x155),'project_dir':process[_0x42be9b(0x145)](),'tmux_name':f||void 0x0})[_0x42be9b(0x116)](_0x32655e=>W(_0x42be9b(0x15a)+_0x32655e));},0x2bf20),W(_0x2ee2e1(0x154));}n()[a0_0x3dc8a9(0x116)](_0xd8ec44=>{const _0x45aca8=a0_0x3dc8a9;W(_0x45aca8(0xfc)+_0xd8ec44),process['exit'](0x1);});async function b(){const _0x5ecfc2=a0_0x3dc8a9;W(_0x5ecfc2(0xd2)),await Y(_0x5ecfc2(0x124),{'resume_id':K,'alias':G,'status':_0x5ecfc2(0x147),'task':_0x5ecfc2(0x103)})[_0x5ecfc2(0x116)](()=>{}),process['exit'](0x0);}process['stdin']['on'](a0_0x3dc8a9(0x14f),()=>b()),process['on'](a0_0x3dc8a9(0xe9),()=>b()),process['on'](a0_0x3dc8a9(0x122),()=>b());
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.3.0-preview.
|
|
4
|
-
"description": "AI Agent Network CLI
|
|
3
|
+
"version": "2.3.0-preview.9",
|
|
4
|
+
"description": "AI Agent Network CLI — 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",
|
|
@@ -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",
|