@sleep2agi/agent-network 2.3.0-preview.30 → 2.3.0-preview.32
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/worker.js +1 -1
- package/dist/src/node-server.js +1 -1
- package/package.json +1 -1
package/dist/src/node-server.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
const a0_0x48fad1=a0_0x51c3;(function(_0x2c2c9d,_0x1b1f26){const _0x49513d=a0_0x51c3,_0x4fded=_0x2c2c9d();while(!![]){try{const _0x272555=parseInt(_0x49513d(0x148))/0x1*(parseInt(_0x49513d(0x155))/0x2)+-parseInt(_0x49513d(0x15d))/0x3+parseInt(_0x49513d(0x13f))/0x4*(parseInt(_0x49513d(0x11d))/0x5)+-parseInt(_0x49513d(0xf6))/0x6*(parseInt(_0x49513d(0x11b))/0x7)+-parseInt(_0x49513d(0xf8))/0x8+parseInt(_0x49513d(0x12c))/0x9*(-parseInt(_0x49513d(0xed))/0xa)+parseInt(_0x49513d(0xd9))/0xb*(parseInt(_0x49513d(0x14c))/0xc);if(_0x272555===_0x1b1f26)break;else _0x4fded['push'](_0x4fded['shift']());}catch(_0x8cb7da){_0x4fded['push'](_0x4fded['shift']());}}}(a0_0x149c,0x9a37b));import{readFileSync as a0_0x410f16,existsSync as a0_0x40b2dc}from'fs';import{randomUUID as a0_0x424d0c}from'crypto';import{join as a0_0x4e79a4}from'path';import{hostname as a0_0x5d49e5}from'os';import{execSync as a0_0x42a342}from'child_process';function B(_0x2a3c62){const _0x49d746=a0_0x51c3;let _0x28209e=_0x2a3c62[_0x49d746(0x16b)](/[^a-zA-Z0-9\-_]/g,'-');return _0x28209e===''?'unknown':_0x28209e;}import{Server as a0_0x5425f7}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x9cc349}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x21f415,CallToolRequestSchema as a0_0x3d23bd}from'@modelcontextprotocol/sdk/types.js';function T(_0x4ef2d3){const _0x4c9d90=a0_0x51c3;if(!a0_0x40b2dc(_0x4ef2d3))return;for(let _0x13db4c of a0_0x410f16(_0x4ef2d3,_0x4c9d90(0xf7))[_0x4c9d90(0x108)]('\x0a')){let _0x26bff9=_0x13db4c[_0x4c9d90(0x175)]();if(!_0x26bff9||_0x26bff9['startsWith']('#'))continue;let _0x46080f=_0x26bff9[_0x4c9d90(0x16f)]('=');if(_0x46080f<0x0)continue;let _0x2a0b7e=_0x26bff9[_0x4c9d90(0x144)](0x0,_0x46080f)[_0x4c9d90(0x175)](),_0x474b94=_0x26bff9[_0x4c9d90(0x144)](_0x46080f+0x1)[_0x4c9d90(0x175)]()[_0x4c9d90(0x16b)](/^["']|["']$/g,'');if(!process.env[_0x2a0b7e])process.env[_0x2a0b7e]=_0x474b94;}}var C=process.env.HOME||'~',r=a0_0x4e79a4(C,a0_0x48fad1(0x137));T(a0_0x4e79a4(r,a0_0x48fad1(0x157)));function a0_0x149c(){const _0x331492=['messages','ENV:\x20URL=','SIGTERM','pop','trim','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','connect','idle','cwd','code','\x20no\x20longer\x20exists\x20(kill-0\x20ESRCH)\x20—\x20self-exit\x20to\x20avoid\x20ghost\x20heart-beat','814HQMKHy','normal','\x22\x20after\x20SSE\x20reconnect','application/json','read','number','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','toTimeString','commhub_send_message','hub','failed','\x20/\x20hostname=','text','ready\x20—\x20waiting\x20for\x20events','stringify','in_progress','warning:\x20could\x20not\x20register:\x20','commhub','task','function','2638690AWegzF','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','...\x20TMUX=','stderr','cancelled','low','config.json','length','Bearer\x20','1180848UmAxfJ','utf-8','7807200vuawFZ','commhub-channel','no\x20response','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','notifications/claude/channel',')\x20—\x20self-exit\x20to\x20avoid\x20ghost\x20heart-beat','tmux\x20display-message\x20-p\x20\x27#S\x27','result','2025-03-26','now','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','params','message','\x20priority=','broadcast','setRequestHandler','split','token','write','Reply\x20text\x20/\x20result\x20summary','commhub_send_task','Target\x20session\x20alias','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','set','commhub_get_all_status','startsWith','notification','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','SSE\x20stream\x20ended,\x20reconnecting...','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','send_task','/events/','/mcp','registered\x20as\x20\x22','claude-code','21pwMXFh','object','41490UFeLrw','pid','ack_inbox','parent\x20claude\x20pid=',':\x20inbox_count=','catch','message_id','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','completed','SSE\x20fatal:\x20','Message\x20content','CommHub\x20init\x20failed:\x20','content','find','offline','27QniFfS','inbox_count','Session\x20alias:\x20','POST','application/json,\x20text/event-stream','statusText','\x20from\x20','(none)','\x20CWD=','get_all_status','blocked','.claude/channels/commhub','string','0.3.0','ppid','exit','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','type','http://127.0.0.1:9200','304jolLWk','Current\x20task\x20description','delete','Authorization','Progress\x200-100','slice','min','session\x20disconnected','data:\x20','359kSIMun','\x20PROJECT_ENV=','unref','\x20ALIAS=','432492AmqUzU','priority','shutting\x20down,\x20reporting\x20offline...','\x20RESUME_ID=','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','SSE\x20error:\x20','error','SSE\x20connected\x20as\x20\x22','\x22\x20(','2922HMbEeE','from_session','.env','status','send_reply','from','stdin','get','2497725TeYPwz','working','ESRCH',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','decode','commhub_report_status','MCP\x20stdio\x20connected','body','parse','new_message','Task\x20content','report_status','2.0','unattributed-','replace','commhub_reply','tools/call','kill','indexOf','re-registered\x20as\x20\x22'];a0_0x149c=function(){return _0x331492;};return a0_0x149c();}var H=B(process[a0_0x48fad1(0xd6)]());T(a0_0x4e79a4(r,H,a0_0x48fad1(0x157)));function E(){const _0x562f90=a0_0x48fad1;try{return a0_0x42a342(_0x562f90(0xfe),{'encoding':_0x562f90(0xf7),'timeout':0x7d0})[_0x562f90(0x175)]();}catch{return'';}}function _(){const _0x2a4a69=a0_0x48fad1;try{let _0x572d50=a0_0x4e79a4(C,'.anet',_0x2a4a69(0xf3));if(a0_0x40b2dc(_0x572d50))return JSON[_0x2a4a69(0x165)](a0_0x410f16(_0x572d50,_0x2a4a69(0xf7)));}catch{}return{};}var R=_(),Y=process.env.COMMHUB_URL||R[a0_0x48fad1(0xe2)]||a0_0x48fad1(0x13e),j=process.env.COMMHUB_TMUX||E();function S(){const _0x57f6e4=a0_0x48fad1;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x57f6e4(0x175)]())return process.env.COMMHUB_ALIAS[_0x57f6e4(0x175)]();return process[_0x57f6e4(0xf0)][_0x57f6e4(0x10a)](_0x57f6e4(0x124)+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(j||_0x57f6e4(0x133))+_0x57f6e4(0xe4)+a0_0x5d49e5()+_0x57f6e4(0xd3))),_0x57f6e4(0x16a)+process[_0x57f6e4(0x11e)];}var p=S(),V=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x424d0c(),k=process.env.COMMHUB_TOKEN||R[a0_0x48fad1(0x109)]||'';function z(_0x26c27d){const _0x49e665=a0_0x48fad1;let _0x8457bd=new Date()[_0x49e665(0xe0)]()['slice'](0x0,0x8);process[_0x49e665(0xf0)]['write']('['+_0x8457bd+']\x20[commhub]\x20'+_0x26c27d+'\x0a');}function i(_0x3e805e){return new Promise(_0x1bcb19=>setTimeout(_0x1bcb19,_0x3e805e));}z(a0_0x48fad1(0x172)+Y+a0_0x48fad1(0x14b)+p+a0_0x48fad1(0x14f)+V[a0_0x48fad1(0x144)](0x0,0x8)+a0_0x48fad1(0xef)+(j||'none')+a0_0x48fad1(0x134)+process['cwd']()+a0_0x48fad1(0x149)+H);var G=new Map(),K=new a0_0x5425f7({'name':'commhub-channel','version':a0_0x48fad1(0x139)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x48fad1(0xee),a0_0x48fad1(0x10e),a0_0x48fad1(0x150),'You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.',a0_0x48fad1(0x12e)+p]['join']('\x0a')});K[a0_0x48fad1(0x107)](a0_0x21f415,async()=>({'tools':[{'name':a0_0x48fad1(0x16c),'description':a0_0x48fad1(0xdf),'inputSchema':{'type':a0_0x48fad1(0x11c),'properties':{'task_id':{'type':a0_0x48fad1(0x138),'description':a0_0x48fad1(0x102)},'text':{'type':'string','description':a0_0x48fad1(0x10b)},'status':{'type':'string','enum':[a0_0x48fad1(0x125),'failed',a0_0x48fad1(0xf1),a0_0x48fad1(0x136),'error',a0_0x48fad1(0xe8)],'description':a0_0x48fad1(0xfb)}},'required':[a0_0x48fad1(0xe5)]}},{'name':a0_0x48fad1(0x162),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0x48fad1(0x11c),'properties':{'status':{'type':a0_0x48fad1(0x138),'enum':['working',a0_0x48fad1(0xd5),a0_0x48fad1(0x136),'error']},'task':{'type':a0_0x48fad1(0x138),'description':a0_0x48fad1(0x140)},'progress':{'type':a0_0x48fad1(0xde),'description':a0_0x48fad1(0x143)}},'required':[a0_0x48fad1(0x158)]}},{'name':a0_0x48fad1(0x10c),'description':a0_0x48fad1(0x115),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x48fad1(0x138),'description':a0_0x48fad1(0x10d)},'task':{'type':a0_0x48fad1(0x138),'description':a0_0x48fad1(0x167)},'priority':{'type':a0_0x48fad1(0x138),'enum':['high','normal',a0_0x48fad1(0xf2)],'description':'Priority\x20(default:\x20normal)'}},'required':['alias',a0_0x48fad1(0xeb)]}},{'name':a0_0x48fad1(0xe1),'description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0x48fad1(0x11c),'properties':{'alias':{'type':a0_0x48fad1(0x138),'description':'Target\x20session\x20alias'},'message':{'type':a0_0x48fad1(0x138),'description':a0_0x48fad1(0x127)}},'required':['alias',a0_0x48fad1(0x104)]}},{'name':a0_0x48fad1(0x110),'description':a0_0x48fad1(0x13c),'inputSchema':{'type':a0_0x48fad1(0x11c),'properties':{}}}]}));async function Q(_0xa3cb11,_0x456fcf){const _0x5a139d=a0_0x48fad1;let _0x27f225=await fetch(Y+_0x5a139d(0x118),{'method':'POST','headers':{'Content-Type':_0x5a139d(0xdc),'Accept':_0x5a139d(0x130),...k?{'Authorization':_0x5a139d(0xf5)+k}:{}},'body':JSON[_0x5a139d(0xe7)]({'jsonrpc':_0x5a139d(0x169),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x5a139d(0x100),'capabilities':{},'clientInfo':{'name':_0x5a139d(0xf9),'version':_0x5a139d(0x139)}}})});if(!_0x27f225['ok']){let _0x572abc=await _0x27f225[_0x5a139d(0xe5)]();return z(_0x5a139d(0x128)+_0x27f225[_0x5a139d(0x158)]+'\x20'+_0x572abc[_0x5a139d(0x144)](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x27f225['status']};}await _0x27f225['text']();let _0x30f578=(await(await fetch(Y+_0x5a139d(0x118),{'method':_0x5a139d(0x12f),'headers':{'Content-Type':_0x5a139d(0xdc),'Accept':'application/json,\x20text/event-stream',...k?{'Authorization':_0x5a139d(0xf5)+k}:{}},'body':JSON[_0x5a139d(0xe7)]({'jsonrpc':_0x5a139d(0x169),'id':0x2,'method':_0x5a139d(0x16d),'params':{'name':_0xa3cb11,'arguments':_0x456fcf}})}))['text']())[_0x5a139d(0x108)]('\x0a')[_0x5a139d(0x12a)](_0xf163c7=>_0xf163c7[_0x5a139d(0x111)](_0x5a139d(0x147)));if(_0x30f578){let _0x2f16d7=JSON[_0x5a139d(0x165)](_0x30f578[_0x5a139d(0x144)](0x6));return _0x2f16d7?.[_0x5a139d(0xff)]?.[_0x5a139d(0x129)]?.[0x0]?.[_0x5a139d(0xe5)]?JSON[_0x5a139d(0x165)](_0x2f16d7[_0x5a139d(0xff)][_0x5a139d(0x129)][0x0][_0x5a139d(0xe5)]):_0x2f16d7;}return{'ok':!0x1,'error':_0x5a139d(0xfa)};}K[a0_0x48fad1(0x107)](a0_0x3d23bd,async _0x218e76=>{const _0x20c837=a0_0x48fad1;let {name:_0x117b75,arguments:_0x1d6473}=_0x218e76[_0x20c837(0x103)];if(_0x117b75===_0x20c837(0x16c)){let {task_id:_0x124940,text:_0x2c7148,status:_0x2d43a0}=_0x1d6473;if(_0x2d43a0===_0x20c837(0x125)||_0x2d43a0===_0x20c837(0xe3)||_0x2d43a0===_0x20c837(0xf1)){let _0x4f0cb8=_0x2d43a0==='completed'?'replied':_0x2d43a0,_0x28675d=_0x124940?G[_0x20c837(0x15c)](_0x124940)||_0x20c837(0xe2):_0x20c837(0xe2),_0x24c24e=await Q(_0x20c837(0x159),{'alias':_0x28675d,'text':_0x2c7148,'in_reply_to':_0x124940||void 0x0,'status':_0x4f0cb8,'from_session':p});if(_0x124940)G[_0x20c837(0x141)](_0x124940);return{'content':[{'type':_0x20c837(0xe5),'text':JSON[_0x20c837(0xe7)](_0x24c24e)}]};}let _0xb34ebe=await Q(_0x20c837(0x168),{'resume_id':V,'alias':p,'status':_0x2d43a0===_0x20c837(0x136)?'blocked':_0x2d43a0==='error'?_0x20c837(0x152):_0x20c837(0x15e),'task':_0x2c7148[_0x20c837(0x144)](0x0,0xc8),'output':_0x2c7148});return{'content':[{'type':_0x20c837(0xe5),'text':JSON[_0x20c837(0xe7)](_0xb34ebe)}]};}if(_0x117b75===_0x20c837(0x162)){let {status:_0x2f5f8d,task:_0x4feab0,progress:_0x2f6fcb}=_0x1d6473,_0xa825fd=await Q('report_status',{'resume_id':V,'alias':p,'status':_0x2f5f8d,'task':_0x4feab0,'progress':_0x2f6fcb});return{'content':[{'type':_0x20c837(0xe5),'text':JSON[_0x20c837(0xe7)](_0xa825fd)}]};}if(_0x117b75===_0x20c837(0x10c)){let {alias:_0x5c179d,task:_0x5e81c7,priority:_0x3697a4}=_0x1d6473,_0x58aa97=await Q(_0x20c837(0x116),{'alias':_0x5c179d,'task':_0x5e81c7,'priority':_0x3697a4||_0x20c837(0xda),'from_session':p});return{'content':[{'type':_0x20c837(0xe5),'text':JSON[_0x20c837(0xe7)](_0x58aa97)}]};}if(_0x117b75===_0x20c837(0xe1)){let {alias:_0x1acea2,message:_0x2fd07b}=_0x1d6473,_0x2a985a=await Q('send_message',{'alias':_0x1acea2,'message':_0x2fd07b,'from_session':p});return{'content':[{'type':_0x20c837(0xe5),'text':JSON[_0x20c837(0xe7)](_0x2a985a)}]};}if(_0x117b75==='commhub_get_all_status'){let _0x4f9afe=await Q(_0x20c837(0x135),{});return{'content':[{'type':'text','text':JSON['stringify'](_0x4f9afe)}]};}return{'content':[{'type':_0x20c837(0xe5),'text':JSON[_0x20c837(0xe7)]({'error':'unknown\x20tool'})}]};});var D=0x3e8,v=0x7530,O=0x36ee80;async function m(){const _0x5a1f4e=a0_0x48fad1;try{await Q('report_status',{'resume_id':V,'alias':p,'status':_0x5a1f4e(0xd5),'server':a0_0x5d49e5(),'hostname':a0_0x5d49e5(),'agent':'claude-code','project_dir':process[_0x5a1f4e(0xd6)](),'tmux_name':j||void 0x0}),z(_0x5a1f4e(0x170)+p+_0x5a1f4e(0xdb));}catch(_0x498c7a){z('re-register\x20failed:\x20'+_0x498c7a);}}async function l(){const _0x5e5f19=a0_0x48fad1;let _0x3c077b=Y+_0x5e5f19(0x117)+encodeURIComponent(p),_0x2b3054={};if(k)_0x2b3054[_0x5e5f19(0x142)]=_0x5e5f19(0xf5)+k;z('connecting\x20to\x20'+_0x3c077b);let _0x5d4887=D,_0x402157=!0x0,_0x485039=null;while(!0x0){try{let _0x11ab88=await fetch(_0x3c077b,{'headers':_0x2b3054});if(!_0x11ab88['ok']){if(z(_0x5e5f19(0x151)+_0x11ab88['status']+'\x20'+_0x11ab88[_0x5e5f19(0x131)]),_0x485039=_0x485039??Date[_0x5e5f19(0x101)](),Date[_0x5e5f19(0x101)]()-_0x485039>O){z(_0x5e5f19(0x113)+Y+_0x5e5f19(0x160));return;}await i(_0x5d4887),_0x5d4887=Math[_0x5e5f19(0x145)](_0x5d4887*0x2,v);continue;}let _0x40a8c6=_0x11ab88[_0x5e5f19(0x164)]['getReader'](),_0x3167cd=new TextDecoder(),_0x1fe305='';_0x5d4887=D;while(!0x0){let {done:_0x5c0564,value:_0x589347}=await _0x40a8c6[_0x5e5f19(0xdd)]();if(_0x5c0564)break;_0x1fe305+=_0x3167cd[_0x5e5f19(0x161)](_0x589347,{'stream':!0x0});let _0x5d6a1b=_0x1fe305[_0x5e5f19(0x108)]('\x0a\x0a');_0x1fe305=_0x5d6a1b[_0x5e5f19(0x174)]()||'';for(let _0x4ef9a0 of _0x5d6a1b){let _0x3cc79a=_0x4ef9a0['split']('\x0a')[_0x5e5f19(0x12a)](_0xb6569c=>_0xb6569c[_0x5e5f19(0x111)]('data:\x20'));if(!_0x3cc79a)continue;try{let _0x3e760f=JSON[_0x5e5f19(0x165)](_0x3cc79a[_0x5e5f19(0x144)](0x6));if(await A(_0x3e760f),_0x3e760f[_0x5e5f19(0x13d)]==='connected'){if(_0x485039=null,!_0x402157)await m();_0x402157=!0x1;}}catch(_0x23b005){z('parse\x20error:\x20'+_0x23b005);}}}z(_0x5e5f19(0x114));}catch(_0x21c1ce){z('SSE\x20connection\x20error:\x20'+_0x21c1ce);}if(_0x485039=_0x485039??Date[_0x5e5f19(0x101)](),Date[_0x5e5f19(0x101)]()-_0x485039>O){z(_0x5e5f19(0x113)+Y+_0x5e5f19(0x160));return;}await i(_0x5d4887),_0x5d4887=Math[_0x5e5f19(0x145)](_0x5d4887*0x2,v);}}async function A(_0x2e55c2){const _0xe237fe=a0_0x48fad1;if(_0x2e55c2['type']==='connected'){z(_0xe237fe(0x153)+p+'\x22');return;}if(_0x2e55c2['type']===_0xe237fe(0x166)){if(z('←\x20message\x20from\x20'+_0x2e55c2[_0xe237fe(0x15a)]+':\x20'+_0x2e55c2['message']['slice'](0x0,0x3c)),await K[_0xe237fe(0x112)]({'method':'notifications/claude/channel','params':{'content':_0x2e55c2[_0xe237fe(0x104)],'meta':{'sender':_0x2e55c2[_0xe237fe(0x15a)]||_0xe237fe(0xe2),'sender_id':'commhub','user':_0x2e55c2[_0xe237fe(0x15a)]||_0xe237fe(0xe2),'priority':_0xe237fe(0xda)}}}),_0x2e55c2[_0xe237fe(0x123)])await Q(_0xe237fe(0x11f),{'alias':p,'message_id':_0x2e55c2[_0xe237fe(0x123)]});return;}if(_0x2e55c2[_0xe237fe(0x13d)]==='new_task'||_0x2e55c2[_0xe237fe(0x13d)]===_0xe237fe(0x106)){z('←\x20'+_0x2e55c2[_0xe237fe(0x13d)]+_0xe237fe(0x121)+_0x2e55c2[_0xe237fe(0x12d)]+_0xe237fe(0x105)+(_0x2e55c2[_0xe237fe(0x14d)]||'normal'));let _0x3e8f97=await Q('get_inbox',{'alias':p,'limit':0x5});if(_0x3e8f97?.['ok']&&_0x3e8f97[_0xe237fe(0x171)]?.[_0xe237fe(0xf4)]>0x0)for(let _0x137984 of _0x3e8f97[_0xe237fe(0x171)]){let _0x53bbb1={'sender':_0x137984[_0xe237fe(0x156)]||_0xe237fe(0xe2),'sender_id':_0xe237fe(0xea),'user':_0x137984[_0xe237fe(0x156)]||_0xe237fe(0xe2),'task_id':_0x137984['id'],'priority':_0x137984[_0xe237fe(0x14d)]||'normal'};G[_0xe237fe(0x10f)](_0x137984['id'],_0x137984[_0xe237fe(0x156)]||'hub'),await K[_0xe237fe(0x112)]({'method':_0xe237fe(0xfc),'params':{'content':_0x137984[_0xe237fe(0x129)],'meta':_0x53bbb1}}),z('→\x20injected\x20task\x20'+_0x137984['id'][_0xe237fe(0x144)](0x0,0x8)+_0xe237fe(0x132)+_0x137984[_0xe237fe(0x156)]+':\x20'+_0x137984[_0xe237fe(0x129)][_0xe237fe(0x144)](0x0,0x3c)),await Q(_0xe237fe(0x11f),{'alias':p,'message_id':_0x137984['id']});}}}function a0_0x51c3(_0x5efaff,_0x39e4b5){_0x5efaff=_0x5efaff-0xd3;const _0x149c91=a0_0x149c();let _0x51c3e1=_0x149c91[_0x5efaff];return _0x51c3e1;}async function t(){const _0x3bae2d=a0_0x48fad1;let _0x5c27bb=new a0_0x9cc349();await K[_0x3bae2d(0xd4)](_0x5c27bb),z(_0x3bae2d(0x163)),z('starting\x20SSE\x20listener...'),l()[_0x3bae2d(0x122)](_0x5347ee=>z(_0x3bae2d(0x126)+_0x5347ee)),Q('report_status',{'resume_id':V,'alias':p,'status':_0x3bae2d(0xd5),'server':a0_0x5d49e5(),'hostname':a0_0x5d49e5(),'agent':_0x3bae2d(0x11a),'project_dir':process[_0x3bae2d(0xd6)](),'tmux_name':j||void 0x0})['then'](()=>z(_0x3bae2d(0x119)+p+_0x3bae2d(0x154)+V[_0x3bae2d(0x144)](0x0,0x8)+')'))[_0x3bae2d(0x122)](_0x331f9d=>z(_0x3bae2d(0xe9)+_0x331f9d)),setInterval(()=>{const _0x1edfac=_0x3bae2d;Q(_0x1edfac(0x168),{'resume_id':V,'alias':p,'status':'idle','server':a0_0x5d49e5(),'hostname':a0_0x5d49e5(),'agent':_0x1edfac(0x11a),'project_dir':process[_0x1edfac(0xd6)](),'tmux_name':j||void 0x0})[_0x1edfac(0x122)](_0x541706=>z('heartbeat\x20failed:\x20'+_0x541706));},0x2bf20),z(_0x3bae2d(0xe6));}t()[a0_0x48fad1(0x122)](_0x1bd620=>{const _0x21845b=a0_0x48fad1;z('fatal:\x20'+_0x1bd620),process[_0x21845b(0x13b)](0x1);});async function b(){const _0x51c0cd=a0_0x48fad1;z(_0x51c0cd(0x14e)),await Q(_0x51c0cd(0x168),{'resume_id':V,'alias':p,'status':_0x51c0cd(0x12b),'task':_0x51c0cd(0x146)})[_0x51c0cd(0x122)](()=>{}),process[_0x51c0cd(0x13b)](0x0);}process[a0_0x48fad1(0x15b)]['on']('end',()=>b()),process['on'](a0_0x48fad1(0x173),()=>b()),process['on']('SIGINT',()=>b());var d=process[a0_0x48fad1(0x13a)];if(d&&d>0x1){let h=setInterval(()=>{const _0x538f31=a0_0x48fad1;if(process[_0x538f31(0x13a)]===0x1&&d!==0x1){z('parent\x20claude\x20died\x20(reparented\x20to\x20PID\x201\x20from\x20'+d+_0x538f31(0xfd)),b();return;}try{process[_0x538f31(0x16e)](d,0x0);}catch(_0xc1d80f){if(_0xc1d80f?.[_0x538f31(0xd7)]===_0x538f31(0x15f))z(_0x538f31(0x120)+d+_0x538f31(0xd8)),b();}},0x7530);if(typeof h[a0_0x48fad1(0x14a)]===a0_0x48fad1(0xec))h[a0_0x48fad1(0x14a)]();}
|
|
2
|
+
const a0_0x24b8d2=a0_0x1421;(function(_0x5878c9,_0x47e1a3){const _0x38c4e8=a0_0x1421,_0x31061b=_0x5878c9();while(!![]){try{const _0x4b6b23=-parseInt(_0x38c4e8(0x1b8))/0x1*(parseInt(_0x38c4e8(0x1ce))/0x2)+-parseInt(_0x38c4e8(0x194))/0x3+parseInt(_0x38c4e8(0x17b))/0x4+-parseInt(_0x38c4e8(0x172))/0x5+parseInt(_0x38c4e8(0x16a))/0x6+-parseInt(_0x38c4e8(0x1ad))/0x7+-parseInt(_0x38c4e8(0x15a))/0x8*(-parseInt(_0x38c4e8(0x188))/0x9);if(_0x4b6b23===_0x47e1a3)break;else _0x31061b['push'](_0x31061b['shift']());}catch(_0x525ad2){_0x31061b['push'](_0x31061b['shift']());}}}(a0_0x1c45,0x6cd19));import{readFileSync as a0_0x253642,existsSync as a0_0x58bf15}from'fs';import{randomUUID as a0_0x196c4b}from'crypto';import{join as a0_0x4084f1}from'path';import{hostname as a0_0x3c6840}from'os';import{execSync as a0_0x5e12e7}from'child_process';function B(_0x476ba9){const _0x5c954a=a0_0x1421;let _0x2ab572=_0x476ba9[_0x5c954a(0x19e)](/[^a-zA-Z0-9\-_]/g,'-');return _0x2ab572===''?_0x5c954a(0x195):_0x2ab572;}function a0_0x1421(_0x3507ba,_0x5c0f19){_0x3507ba=_0x3507ba-0x148;const _0x1c450a=a0_0x1c45();let _0x1421a4=_0x1c450a[_0x3507ba];return _0x1421a4;}import{Server as a0_0x34b4b9}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x1f93af}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x40f659,CallToolRequestSchema as a0_0x318355}from'@modelcontextprotocol/sdk/types.js';function T(_0x181b8b){const _0x4dc1e3=a0_0x1421;if(!a0_0x58bf15(_0x181b8b))return;for(let _0x104633 of a0_0x253642(_0x181b8b,_0x4dc1e3(0x199))[_0x4dc1e3(0x1d0)]('\x0a')){let _0x5c480f=_0x104633[_0x4dc1e3(0x16d)]();if(!_0x5c480f||_0x5c480f[_0x4dc1e3(0x1c8)]('#'))continue;let _0x256bd7=_0x5c480f[_0x4dc1e3(0x1af)]('=');if(_0x256bd7<0x0)continue;let _0x571bf8=_0x5c480f[_0x4dc1e3(0x1bb)](0x0,_0x256bd7)[_0x4dc1e3(0x16d)](),_0x49a8ed=_0x5c480f['slice'](_0x256bd7+0x1)[_0x4dc1e3(0x16d)]()[_0x4dc1e3(0x19e)](/^["']|["']$/g,'');if(!process.env[_0x571bf8])process.env[_0x571bf8]=_0x49a8ed;}}var C=process.env.HOME||'~',r=a0_0x4084f1(C,'.claude/channels/commhub');T(a0_0x4084f1(r,a0_0x24b8d2(0x155)));var H=B(process[a0_0x24b8d2(0x178)]());T(a0_0x4084f1(r,H,a0_0x24b8d2(0x155)));function E(){const _0x204d9d=a0_0x24b8d2;try{return a0_0x5e12e7(_0x204d9d(0x1aa),{'encoding':'utf-8','timeout':0x7d0})['trim']();}catch{return'';}}function _(){const _0x6bb1fd=a0_0x24b8d2;try{let _0x40b26c=a0_0x4084f1(C,_0x6bb1fd(0x169),_0x6bb1fd(0x1e6));if(a0_0x58bf15(_0x40b26c))return JSON['parse'](a0_0x253642(_0x40b26c,'utf-8'));}catch{}return{};}var R=_(),Y=process.env.COMMHUB_URL||R[a0_0x24b8d2(0x1b4)]||'http://127.0.0.1:9200',j=process.env.COMMHUB_TMUX||E();function S(){const _0x12081c=a0_0x24b8d2;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x12081c(0x16d)]())return process.env.COMMHUB_ALIAS[_0x12081c(0x16d)]();return process[_0x12081c(0x15e)][_0x12081c(0x1d5)](_0x12081c(0x19d)+(_0x12081c(0x1db)+(j||'(none)')+_0x12081c(0x1c5)+a0_0x3c6840()+_0x12081c(0x1e5))),'unattributed-'+process[_0x12081c(0x161)];}var p=S(),V=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x196c4b(),k=process.env.COMMHUB_TOKEN||R[a0_0x24b8d2(0x150)]||'';function z(_0xa66984){const _0x43f624=a0_0x24b8d2;let _0x4cc164=new Date()['toTimeString']()[_0x43f624(0x1bb)](0x0,0x8);process[_0x43f624(0x15e)][_0x43f624(0x1d5)]('['+_0x4cc164+_0x43f624(0x18c)+_0xa66984+'\x0a');}function i(_0x21e041){return new Promise(_0x51a954=>setTimeout(_0x51a954,_0x21e041));}z(a0_0x24b8d2(0x1d8)+Y+a0_0x24b8d2(0x179)+p+a0_0x24b8d2(0x14f)+V[a0_0x24b8d2(0x1bb)](0x0,0x8)+a0_0x24b8d2(0x14d)+(j||'none')+a0_0x24b8d2(0x1d9)+process[a0_0x24b8d2(0x178)]()+a0_0x24b8d2(0x185)+H);var G=new Map(),K=new a0_0x34b4b9({'name':a0_0x24b8d2(0x151),'version':a0_0x24b8d2(0x154)},{'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_0x24b8d2(0x15f),a0_0x24b8d2(0x1b1),a0_0x24b8d2(0x173),'Session\x20alias:\x20'+p]['join']('\x0a')});K[a0_0x24b8d2(0x168)](a0_0x40f659,async()=>({'tools':[{'name':a0_0x24b8d2(0x177),'description':a0_0x24b8d2(0x18a),'inputSchema':{'type':a0_0x24b8d2(0x1ba),'properties':{'task_id':{'type':a0_0x24b8d2(0x1c4),'description':a0_0x24b8d2(0x15d)},'text':{'type':'string','description':a0_0x24b8d2(0x1a2)},'status':{'type':a0_0x24b8d2(0x1c4),'enum':['completed',a0_0x24b8d2(0x148),a0_0x24b8d2(0x198),a0_0x24b8d2(0x15b),a0_0x24b8d2(0x1d2),a0_0x24b8d2(0x196)],'description':a0_0x24b8d2(0x170)}},'required':[a0_0x24b8d2(0x171)]}},{'name':'commhub_report_status','description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0x24b8d2(0x1ba),'properties':{'status':{'type':a0_0x24b8d2(0x1c4),'enum':['working',a0_0x24b8d2(0x184),a0_0x24b8d2(0x15b),'error']},'task':{'type':'string','description':a0_0x24b8d2(0x1a1)},'progress':{'type':a0_0x24b8d2(0x18e),'description':a0_0x24b8d2(0x14e)}},'required':[a0_0x24b8d2(0x1ac)]}},{'name':a0_0x24b8d2(0x176),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x24b8d2(0x1ba),'properties':{'alias':{'type':a0_0x24b8d2(0x1c4),'description':'Target\x20session\x20alias'},'task':{'type':a0_0x24b8d2(0x1c4),'description':a0_0x24b8d2(0x1e2)},'priority':{'type':a0_0x24b8d2(0x1c4),'enum':[a0_0x24b8d2(0x191),a0_0x24b8d2(0x166),a0_0x24b8d2(0x1c0)],'description':a0_0x24b8d2(0x189)}},'required':['alias',a0_0x24b8d2(0x18f)]}},{'name':a0_0x24b8d2(0x1a4),'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_0x24b8d2(0x1c4),'description':a0_0x24b8d2(0x17e)},'message':{'type':a0_0x24b8d2(0x1c4),'description':a0_0x24b8d2(0x1d7)}},'required':[a0_0x24b8d2(0x158),a0_0x24b8d2(0x19c)]}},{'name':a0_0x24b8d2(0x153),'description':a0_0x24b8d2(0x1a5),'inputSchema':{'type':a0_0x24b8d2(0x1ba),'properties':{}}}]}));async function Q(_0x375412,_0x14fe9b){const _0x145b4e=a0_0x24b8d2;let _0x4802ed=await fetch(Y+_0x145b4e(0x1b0),{'method':_0x145b4e(0x1a0),'headers':{'Content-Type':'application/json','Accept':_0x145b4e(0x1c2),...k?{'Authorization':'Bearer\x20'+k}:{}},'body':JSON[_0x145b4e(0x1cb)]({'jsonrpc':'2.0','id':0x1,'method':_0x145b4e(0x1c6),'params':{'protocolVersion':_0x145b4e(0x16f),'capabilities':{},'clientInfo':{'name':_0x145b4e(0x151),'version':_0x145b4e(0x154)}}})});if(!_0x4802ed['ok']){let _0x324dd8=await _0x4802ed[_0x145b4e(0x171)]();return z(_0x145b4e(0x1a7)+_0x4802ed[_0x145b4e(0x1ac)]+'\x20'+_0x324dd8[_0x145b4e(0x1bb)](0x0,0x64)),{'ok':!0x1,'error':_0x145b4e(0x1d1)+_0x4802ed[_0x145b4e(0x1ac)]};}await _0x4802ed[_0x145b4e(0x171)]();let _0x33726c=(await(await fetch(Y+'/mcp',{'method':'POST','headers':{'Content-Type':_0x145b4e(0x190),'Accept':_0x145b4e(0x1c2),...k?{'Authorization':_0x145b4e(0x162)+k}:{}},'body':JSON[_0x145b4e(0x1cb)]({'jsonrpc':_0x145b4e(0x19b),'id':0x2,'method':_0x145b4e(0x1d4),'params':{'name':_0x375412,'arguments':_0x14fe9b}})}))[_0x145b4e(0x171)]())['split']('\x0a')[_0x145b4e(0x1bf)](_0x3df66b=>_0x3df66b[_0x145b4e(0x1c8)](_0x145b4e(0x17d)));if(_0x33726c){let _0x3b6c94=JSON['parse'](_0x33726c['slice'](0x6));return _0x3b6c94?.[_0x145b4e(0x180)]?.[_0x145b4e(0x14c)]?.[0x0]?.['text']?JSON[_0x145b4e(0x1c7)](_0x3b6c94[_0x145b4e(0x180)]['content'][0x0]['text']):_0x3b6c94;}return{'ok':!0x1,'error':_0x145b4e(0x1d6)};}K[a0_0x24b8d2(0x168)](a0_0x318355,async _0x157ece=>{const _0x4effc4=a0_0x24b8d2;let {name:_0x3eb2e7,arguments:_0x1d973b}=_0x157ece[_0x4effc4(0x152)];if(_0x3eb2e7===_0x4effc4(0x177)){let {task_id:_0x5871f0,text:_0x374796,status:_0x102d0c}=_0x1d973b;if(_0x102d0c===_0x4effc4(0x1a9)||_0x102d0c===_0x4effc4(0x148)||_0x102d0c==='cancelled'){let _0x1d5a87=_0x102d0c==='completed'?_0x4effc4(0x192):_0x102d0c,_0x2f9d82=_0x5871f0?G[_0x4effc4(0x163)](_0x5871f0)||'hub':_0x4effc4(0x1b4),_0x5e8114=await Q(_0x4effc4(0x186),{'alias':_0x2f9d82,'text':_0x374796,'in_reply_to':_0x5871f0||void 0x0,'status':_0x1d5a87,'from_session':p});if(_0x5871f0)G['delete'](_0x5871f0);return{'content':[{'type':_0x4effc4(0x171),'text':JSON[_0x4effc4(0x1cb)](_0x5e8114)}]};}let _0x31a1e8=await Q(_0x4effc4(0x1dd),{'resume_id':V,'alias':p,'status':_0x102d0c===_0x4effc4(0x15b)?'blocked':_0x102d0c===_0x4effc4(0x1d2)?'error':_0x4effc4(0x1ae),'task':_0x374796[_0x4effc4(0x1bb)](0x0,0xc8),'output':_0x374796});return{'content':[{'type':_0x4effc4(0x171),'text':JSON[_0x4effc4(0x1cb)](_0x31a1e8)}]};}if(_0x3eb2e7===_0x4effc4(0x17c)){let {status:_0x19e967,task:_0x284bf9,progress:_0x35e5ce}=_0x1d973b,_0x43c6c2=await Q('report_status',{'resume_id':V,'alias':p,'status':_0x19e967,'task':_0x284bf9,'progress':_0x35e5ce});return{'content':[{'type':_0x4effc4(0x171),'text':JSON[_0x4effc4(0x1cb)](_0x43c6c2)}]};}if(_0x3eb2e7===_0x4effc4(0x176)){let {alias:_0x2fab07,task:_0x950301,priority:_0xf0c9cc}=_0x1d973b,_0x2e3244=await Q(_0x4effc4(0x1e8),{'alias':_0x2fab07,'task':_0x950301,'priority':_0xf0c9cc||_0x4effc4(0x166),'from_session':p});return{'content':[{'type':_0x4effc4(0x171),'text':JSON[_0x4effc4(0x1cb)](_0x2e3244)}]};}if(_0x3eb2e7===_0x4effc4(0x1a4)){let {alias:_0x31dcbd,message:_0xa94ef5}=_0x1d973b,_0x386b5f=await Q(_0x4effc4(0x1c3),{'alias':_0x31dcbd,'message':_0xa94ef5,'from_session':p});return{'content':[{'type':'text','text':JSON[_0x4effc4(0x1cb)](_0x386b5f)}]};}if(_0x3eb2e7==='commhub_get_all_status'){let _0xa822cc=await Q(_0x4effc4(0x1da),{});return{'content':[{'type':_0x4effc4(0x171),'text':JSON['stringify'](_0xa822cc)}]};}return{'content':[{'type':_0x4effc4(0x171),'text':JSON[_0x4effc4(0x1cb)]({'error':'unknown\x20tool'})}]};});var D=0x3e8,v=0x7530,O=0x36ee80;async function m(){const _0x96c59b=a0_0x24b8d2;try{await Q(_0x96c59b(0x1dd),{'resume_id':V,'alias':p,'status':'idle','server':a0_0x3c6840(),'hostname':a0_0x3c6840(),'agent':_0x96c59b(0x175),'project_dir':process['cwd'](),'tmux_name':j||void 0x0}),z(_0x96c59b(0x19a)+p+_0x96c59b(0x167));}catch(_0x2a8da6){z('re-register\x20failed:\x20'+_0x2a8da6);}}async function l(){const _0x5f022b=a0_0x24b8d2;let _0x5b45e2=Y+_0x5f022b(0x17a)+encodeURIComponent(p),_0x424691={};if(k)_0x424691[_0x5f022b(0x1e1)]=_0x5f022b(0x162)+k;z(_0x5f022b(0x1e4)+_0x5b45e2);let _0x4d7f60=D,_0x3a52d6=!0x0,_0x55e6c5=null;while(!0x0){try{let _0x4c7bfe=await fetch(_0x5b45e2,{'headers':_0x424691});if(!_0x4c7bfe['ok']){if(z(_0x5f022b(0x183)+_0x4c7bfe['status']+'\x20'+_0x4c7bfe[_0x5f022b(0x14b)]),_0x55e6c5=_0x55e6c5??Date['now'](),Date[_0x5f022b(0x1c1)]()-_0x55e6c5>O){z(_0x5f022b(0x156)+Y+_0x5f022b(0x1be));return;}await i(_0x4d7f60),_0x4d7f60=Math[_0x5f022b(0x160)](_0x4d7f60*0x2,v);continue;}let _0x50f29f=_0x4c7bfe['body'][_0x5f022b(0x1a8)](),_0xf695dd=new TextDecoder(),_0x3e7592='';_0x4d7f60=D;while(!0x0){let {done:_0x3574f2,value:_0xd0c89e}=await _0x50f29f['read']();if(_0x3574f2)break;_0x3e7592+=_0xf695dd[_0x5f022b(0x159)](_0xd0c89e,{'stream':!0x0});let _0x396550=_0x3e7592[_0x5f022b(0x1d0)]('\x0a\x0a');_0x3e7592=_0x396550[_0x5f022b(0x19f)]()||'';for(let _0x1f28b3 of _0x396550){let _0x30c2fb=_0x1f28b3[_0x5f022b(0x1d0)]('\x0a')[_0x5f022b(0x1bf)](_0x2674bb=>_0x2674bb[_0x5f022b(0x1c8)]('data:\x20'));if(!_0x30c2fb)continue;try{let _0x1e74ca=JSON['parse'](_0x30c2fb['slice'](0x6));if(await A(_0x1e74ca),_0x1e74ca[_0x5f022b(0x1e7)]===_0x5f022b(0x1cd)){if(_0x55e6c5=null,!_0x3a52d6)await m();_0x3a52d6=!0x1;}}catch(_0x51abc1){z(_0x5f022b(0x1e0)+_0x51abc1);}}}z('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x431502){z(_0x5f022b(0x18b)+_0x431502);}if(_0x55e6c5=_0x55e6c5??Date[_0x5f022b(0x1c1)](),Date[_0x5f022b(0x1c1)]()-_0x55e6c5>O){z('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+Y+_0x5f022b(0x1be));return;}await i(_0x4d7f60),_0x4d7f60=Math[_0x5f022b(0x160)](_0x4d7f60*0x2,v);}}function a0_0x1c45(){const _0x1f1655=['session\x20disconnected','status','3012254msTPPg','working','indexOf','/mcp','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','ack_inbox','broadcast','hub','SIGTERM','messages','unref','14902rDxujv','offline','object','slice','\x22\x20(','SIGINT',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','find','low','now','application/json,\x20text/event-stream','send_message','string','\x20/\x20hostname=','initialize','parse','startsWith','message_id','from','stringify','kill','connected','10MgcYjb',')\x20—\x20self-exit\x20to\x20avoid\x20ghost\x20heart-beat','split','init\x20failed:\x20','error','set','tools/call','write','no\x20response','Message\x20content','ENV:\x20URL=','\x20CWD=','get_all_status','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','end','report_status','get_inbox','catch','parse\x20error:\x20','Authorization','Task\x20content','new_task','connecting\x20to\x20','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','config.json','type','send_task','failed','warning:\x20could\x20not\x20register:\x20','then','statusText','content','...\x20TMUX=','Progress\x200-100','\x20RESUME_ID=','token','commhub-channel','params','commhub_get_all_status','0.3.0','.env','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','from_session','alias','decode','222544RLftth','blocked','heartbeat\x20failed:\x20','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','stderr','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','min','pid','Bearer\x20','get','notifications/claude/channel','SSE\x20connected\x20as\x20\x22','normal','\x22\x20after\x20SSE\x20reconnect','setRequestHandler','.anet','761100VObXLJ','ESRCH','code','trim','inbox_count','2025-03-26','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','text','1949585kPTsrN','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','notification','claude-code','commhub_send_task','commhub_reply','cwd','\x20ALIAS=','/events/','2698888zoHQcx','commhub_report_status','data:\x20','Target\x20session\x20alias','parent\x20claude\x20pid=','result','MCP\x20stdio\x20connected','exit','SSE\x20error:\x20','idle','\x20PROJECT_ENV=','send_reply','commhub','441iVSCPb','Priority\x20(default:\x20normal)','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','SSE\x20connection\x20error:\x20',']\x20[commhub]\x20','→\x20injected\x20task\x20','number','task','application/json','high','replied','parent\x20claude\x20died\x20(reparented\x20to\x20PID\x201\x20from\x20','2472552gDwuRD','unknown','in_progress','SSE\x20fatal:\x20','cancelled','utf-8','re-registered\x20as\x20\x22','2.0','message','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','replace','pop','POST','Current\x20task\x20description','Reply\x20text\x20/\x20result\x20summary','\x20no\x20longer\x20exists\x20(kill-0\x20ESRCH)\x20—\x20self-exit\x20to\x20avoid\x20ghost\x20heart-beat','commhub_send_message','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','shutting\x20down,\x20reporting\x20offline...','CommHub\x20init\x20failed:\x20','getReader','completed','tmux\x20display-message\x20-p\x20\x27#S\x27'];a0_0x1c45=function(){return _0x1f1655;};return a0_0x1c45();}async function A(_0x3983e3){const _0x58db9f=a0_0x24b8d2;if(_0x3983e3[_0x58db9f(0x1e7)]===_0x58db9f(0x1cd)){z(_0x58db9f(0x165)+p+'\x22');return;}if(_0x3983e3[_0x58db9f(0x1e7)]==='new_message'){if(z('←\x20message\x20from\x20'+_0x3983e3['from']+':\x20'+_0x3983e3['message']['slice'](0x0,0x3c)),await K[_0x58db9f(0x174)]({'method':_0x58db9f(0x164),'params':{'content':_0x3983e3[_0x58db9f(0x19c)],'meta':{'sender':_0x3983e3[_0x58db9f(0x1ca)]||_0x58db9f(0x1b4),'sender_id':'commhub','user':_0x3983e3['from']||_0x58db9f(0x1b4),'priority':_0x58db9f(0x166)}}}),_0x3983e3[_0x58db9f(0x1c9)])await Q(_0x58db9f(0x1b2),{'alias':p,'message_id':_0x3983e3[_0x58db9f(0x1c9)]});return;}if(_0x3983e3[_0x58db9f(0x1e7)]===_0x58db9f(0x1e3)||_0x3983e3[_0x58db9f(0x1e7)]===_0x58db9f(0x1b3)){z('←\x20'+_0x3983e3['type']+':\x20inbox_count='+_0x3983e3[_0x58db9f(0x16e)]+'\x20priority='+(_0x3983e3['priority']||_0x58db9f(0x166)));let _0x464e9=await Q(_0x58db9f(0x1de),{'alias':p,'limit':0x5});if(_0x464e9?.['ok']&&_0x464e9[_0x58db9f(0x1b6)]?.['length']>0x0)for(let _0xcfeafe of _0x464e9[_0x58db9f(0x1b6)]){let _0x37838f={'sender':_0xcfeafe[_0x58db9f(0x157)]||_0x58db9f(0x1b4),'sender_id':_0x58db9f(0x187),'user':_0xcfeafe[_0x58db9f(0x157)]||'hub','task_id':_0xcfeafe['id'],'priority':_0xcfeafe['priority']||_0x58db9f(0x166)};G[_0x58db9f(0x1d3)](_0xcfeafe['id'],_0xcfeafe[_0x58db9f(0x157)]||'hub'),await K[_0x58db9f(0x174)]({'method':_0x58db9f(0x164),'params':{'content':_0xcfeafe[_0x58db9f(0x14c)],'meta':_0x37838f}}),z(_0x58db9f(0x18d)+_0xcfeafe['id'][_0x58db9f(0x1bb)](0x0,0x8)+'\x20from\x20'+_0xcfeafe[_0x58db9f(0x157)]+':\x20'+_0xcfeafe[_0x58db9f(0x14c)]['slice'](0x0,0x3c)),await Q(_0x58db9f(0x1b2),{'alias':p,'message_id':_0xcfeafe['id']});}}}async function t(){const _0x55f85d=a0_0x24b8d2;let _0x49c9c9=new a0_0x1f93af();await K['connect'](_0x49c9c9),z(_0x55f85d(0x181)),z('starting\x20SSE\x20listener...'),l()[_0x55f85d(0x1df)](_0x7eadeb=>z(_0x55f85d(0x197)+_0x7eadeb)),Q(_0x55f85d(0x1dd),{'resume_id':V,'alias':p,'status':'idle','server':a0_0x3c6840(),'hostname':a0_0x3c6840(),'agent':'claude-code','project_dir':process[_0x55f85d(0x178)](),'tmux_name':j||void 0x0})[_0x55f85d(0x14a)](()=>z('registered\x20as\x20\x22'+p+_0x55f85d(0x1bc)+V[_0x55f85d(0x1bb)](0x0,0x8)+')'))['catch'](_0x3f0665=>z(_0x55f85d(0x149)+_0x3f0665)),setInterval(()=>{const _0x56fc60=_0x55f85d;Q(_0x56fc60(0x1dd),{'resume_id':V,'alias':p,'status':_0x56fc60(0x184),'server':a0_0x3c6840(),'hostname':a0_0x3c6840(),'agent':_0x56fc60(0x175),'project_dir':process['cwd'](),'tmux_name':j||void 0x0})[_0x56fc60(0x1df)](_0x39ff5d=>z(_0x56fc60(0x15c)+_0x39ff5d));},0x2bf20),z('ready\x20—\x20waiting\x20for\x20events');}t()[a0_0x24b8d2(0x1df)](_0x254c13=>{z('fatal:\x20'+_0x254c13),process['exit'](0x1);});async function b(){const _0x4bebd1=a0_0x24b8d2;z(_0x4bebd1(0x1a6)),await Q(_0x4bebd1(0x1dd),{'resume_id':V,'alias':p,'status':_0x4bebd1(0x1b9),'task':_0x4bebd1(0x1ab)})[_0x4bebd1(0x1df)](()=>{}),process[_0x4bebd1(0x182)](0x0);}process['stdin']['on'](a0_0x24b8d2(0x1dc),()=>b()),process['on'](a0_0x24b8d2(0x1b5),()=>b()),process['on'](a0_0x24b8d2(0x1bd),()=>b());var d=process['ppid'];if(d&&d>0x1){let h=setInterval(()=>{const _0x4de6e5=a0_0x24b8d2;if(process['ppid']===0x1&&d!==0x1){z(_0x4de6e5(0x193)+d+_0x4de6e5(0x1cf)),b();return;}try{process[_0x4de6e5(0x1cc)](d,0x0);}catch(_0x217bc5){if(_0x217bc5?.[_0x4de6e5(0x16c)]===_0x4de6e5(0x16b))z(_0x4de6e5(0x17f)+d+_0x4de6e5(0x1a3)),b();}},0x7530);if(typeof h[a0_0x24b8d2(0x1b7)]==='function')h[a0_0x24b8d2(0x1b7)]();}
|
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.32",
|
|
4
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",
|