@sleep2agi/agent-network 2.2.18-preview.0 → 2.2.20-preview.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +1 -1
- package/dist/src/client.js +1 -1
- package/dist/src/node-server.js +1 -1
- package/package.json +1 -1
package/dist/src/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x1b849a=a0_0x50ed;function a0_0x50ed(_0x14b304,_0x68c721){_0x14b304=_0x14b304-0x17b;const _0x384ecf=a0_0x384e();let _0x50ed21=_0x384ecf[_0x14b304];return _0x50ed21;}(function(_0x3b96b3,_0x26bc08){const _0x53b1af=a0_0x50ed,_0x1e5be8=_0x3b96b3();while(!![]){try{const _0x20e88e=-parseInt(_0x53b1af(0x1b5))/0x1+-parseInt(_0x53b1af(0x18f))/0x2*(-parseInt(_0x53b1af(0x17d))/0x3)+-parseInt(_0x53b1af(0x192))/0x4+parseInt(_0x53b1af(0x1b8))/0x5+parseInt(_0x53b1af(0x181))/0x6+parseInt(_0x53b1af(0x1b0))/0x7*(parseInt(_0x53b1af(0x190))/0x8)+-parseInt(_0x53b1af(0x1af))/0x9;if(_0x20e88e===_0x26bc08)break;else _0x1e5be8['push'](_0x1e5be8['shift']());}catch(_0x38eef2){_0x1e5be8['push'](_0x1e5be8['shift']());}}}(a0_0x384e,0x9d6ad));import{EventEmitter as a0_0x3510a0}from'events';import{hostname as a0_0x54620b}from'os';function a0_0x384e(){const _0x3d4a00=['new_task','Authorization','51144nUmwAK','connectSSE','min','new_message','getAllStatus','send_task','registered','match','log','SSE\x20connected','send_reply','stringify','read','heartbeatTimer','15554KcjWuO','544BCXuyd','messages','469332czTxPX','reply','ack_inbox','connect','getReader','status','heartbeat\x20failed:\x20','call','agent','abort','url','pop','task','SSE\x20failed:\x20','alias','decode','type','replace','parse','slice','connected','sseAbort','/events/','split','disconnect','running','from_session','sdk-','report_status','13221036NeUFjF','65968GFNRoQ','processInbox','Bearer\x20','catch','autoConnect','206053hrjlRB','AbortError','result','6022700hybEES','normal','content','/mcp','offline','signal','token','reconnectDelay','idle','text','now','POST',']\x20[commhub:','completed','2.0','toString','get_all_status','get_inbox','sleep','emit','disconnected','server','resumeId','message','name','broadcast','heartbeatInterval','225SMaGvW','application/json,\x20text/event-stream'];a0_0x384e=function(){return _0x3d4a00;};return a0_0x384e();}class T extends a0_0x3510a0{[a0_0x1b849a(0x19c)];[a0_0x1b849a(0x1a0)];[a0_0x1b849a(0x1be)];[a0_0x1b849a(0x19a)];['resumeId'];['heartbeatInterval'];[a0_0x1b849a(0x1bf)];['heartbeatTimer'];[a0_0x1b849a(0x1a7)];[a0_0x1b849a(0x1ab)]=!0x1;constructor(_0x2921bf){const _0x359024=a0_0x1b849a;super();if(this[_0x359024(0x19c)]=_0x2921bf[_0x359024(0x19c)][_0x359024(0x1a3)](/\/$/,''),this[_0x359024(0x1a0)]=_0x2921bf[_0x359024(0x1a0)],this['token']=_0x2921bf['token'],this[_0x359024(0x19a)]=_0x2921bf[_0x359024(0x19a)]||'sdk',this['resumeId']=_0x359024(0x1ad)+_0x2921bf[_0x359024(0x1a0)]+'-'+Date[_0x359024(0x1c2)]()[_0x359024(0x1c7)](0x24),this[_0x359024(0x17c)]=_0x2921bf[_0x359024(0x17c)]??0x2bf20,this[_0x359024(0x1bf)]=_0x2921bf[_0x359024(0x1bf)]??0xbb8,_0x2921bf[_0x359024(0x1b4)]!==!0x1)this[_0x359024(0x195)]();}['log'](_0x28aefb){const _0x4a8dcc=a0_0x1b849a;console[_0x4a8dcc(0x189)]('['+new Date()['toTimeString']()[_0x4a8dcc(0x1a5)](0x0,0x8)+_0x4a8dcc(0x1c4)+this[_0x4a8dcc(0x1a0)]+']\x20'+_0x28aefb);}async[a0_0x1b849a(0x199)](_0x1f340b,_0x518b51){const _0x10efd7=a0_0x1b849a;let _0x569d28={'Content-Type':'application/json','Accept':_0x10efd7(0x17e)};if(this[_0x10efd7(0x1be)])_0x569d28[_0x10efd7(0x180)]=_0x10efd7(0x1b2)+this['token'];let _0xc1a129=await(await fetch(this[_0x10efd7(0x19c)]+_0x10efd7(0x1bb),{'method':_0x10efd7(0x1c3),'headers':_0x569d28,'body':JSON[_0x10efd7(0x18c)]({'jsonrpc':_0x10efd7(0x1c6),'id':Date[_0x10efd7(0x1c2)](),'method':'tools/call','params':{'name':_0x1f340b,'arguments':_0x518b51}})}))[_0x10efd7(0x1c1)](),_0x885542=_0xc1a129[_0x10efd7(0x188)](/data: (.+)/),_0x4efabe=_0x885542?JSON[_0x10efd7(0x1a4)](_0x885542[0x1]):JSON[_0x10efd7(0x1a4)](_0xc1a129),_0x5f19ee=_0x4efabe?.[_0x10efd7(0x1b7)]?.[_0x10efd7(0x1ba)]?.[0x0]?.[_0x10efd7(0x1c1)];return _0x5f19ee?JSON[_0x10efd7(0x1a4)](_0x5f19ee):_0x4efabe;}async[a0_0x1b849a(0x195)](){const _0x11ac40=a0_0x1b849a;if(this['running'])return;this[_0x11ac40(0x1ab)]=!0x0,await this['status'](_0x11ac40(0x1c0)),this['log'](_0x11ac40(0x187)),this[_0x11ac40(0x18e)]=setInterval(()=>{const _0x4cb68b=_0x11ac40;this[_0x4cb68b(0x197)](_0x4cb68b(0x1c0))[_0x4cb68b(0x1b3)](_0x438c4b=>this[_0x4cb68b(0x189)](_0x4cb68b(0x198)+_0x438c4b[_0x4cb68b(0x1cf)]));},this[_0x11ac40(0x17c)]),this['connectSSE']();}async[a0_0x1b849a(0x1aa)](){const _0x27299a=a0_0x1b849a;if(this[_0x27299a(0x1ab)]=!0x1,this['sseAbort']?.[_0x27299a(0x19b)](),this['heartbeatTimer'])clearInterval(this[_0x27299a(0x18e)]);await this[_0x27299a(0x197)](_0x27299a(0x1bc))['catch'](()=>{}),this['log'](_0x27299a(0x1cc));}async['send'](_0x502085,_0x980ffd,_0x382c8a=a0_0x1b849a(0x1b9)){const _0x4e211c=a0_0x1b849a;return this[_0x4e211c(0x199)](_0x4e211c(0x186),{'alias':_0x502085,'task':_0x980ffd,'priority':_0x382c8a,'from_session':this['alias']});}async[a0_0x1b849a(0x1cf)](_0x57ac59,_0x50eb7a){const _0x513b60=a0_0x1b849a;return this[_0x513b60(0x199)]('send_message',{'alias':_0x57ac59,'message':_0x50eb7a,'from_session':this[_0x513b60(0x1a0)]});}async[a0_0x1b849a(0x193)](_0x355e26,_0x4bebe7,_0x3765b8=a0_0x1b849a(0x1c5)){const _0x5e0c73=a0_0x1b849a;return this[_0x5e0c73(0x199)](_0x5e0c73(0x18b),{'in_reply_to':_0x355e26,'text':_0x4bebe7,'status':_0x3765b8});}async[a0_0x1b849a(0x197)](_0xa0e679,_0x419df3){const _0x19848d=a0_0x1b849a;return this[_0x19848d(0x199)](_0x19848d(0x1ae),{'resume_id':this[_0x19848d(0x1ce)],'alias':this['alias'],'status':_0xa0e679,'server':a0_0x54620b(),'hostname':a0_0x54620b(),'agent':this[_0x19848d(0x19a)],'project_dir':process['cwd'](),..._0x419df3});}async[a0_0x1b849a(0x185)](){const _0x11b6a7=a0_0x1b849a;return this[_0x11b6a7(0x199)](_0x11b6a7(0x1c8),{});}async[a0_0x1b849a(0x17b)](_0x172797,_0x96bfb4){const _0xec83c1=a0_0x1b849a;return this[_0xec83c1(0x199)](_0xec83c1(0x17b),{'message':_0x172797,'filter_server':_0x96bfb4?.[_0xec83c1(0x1cd)],'filter_status':_0x96bfb4?.[_0xec83c1(0x197)]});}async[a0_0x1b849a(0x182)](){const _0x27a44e=a0_0x1b849a;let _0xddb6a0=encodeURIComponent(this[_0x27a44e(0x1a0)]),_0x205c90=this[_0x27a44e(0x19c)]+_0x27a44e(0x1a8)+_0xddb6a0,_0x73d960=this[_0x27a44e(0x1bf)];while(this[_0x27a44e(0x1ab)]){try{this[_0x27a44e(0x1a7)]=new AbortController();let _0x2d5474={'Accept':'text/event-stream'};if(this[_0x27a44e(0x1be)])_0x2d5474[_0x27a44e(0x180)]=_0x27a44e(0x1b2)+this[_0x27a44e(0x1be)];let _0x730668=await fetch(_0x205c90,{'headers':_0x2d5474,'signal':this[_0x27a44e(0x1a7)][_0x27a44e(0x1bd)]});if(!_0x730668['ok']||!_0x730668['body']){this[_0x27a44e(0x189)](_0x27a44e(0x19f)+_0x730668[_0x27a44e(0x197)]),await this['sleep'](_0x73d960),_0x73d960=Math[_0x27a44e(0x183)](_0x73d960*1.5,0xea60);continue;}_0x73d960=this['reconnectDelay'];let _0x21f255=_0x730668['body'][_0x27a44e(0x196)](),_0x244ae1=new TextDecoder(),_0x268903='';while(this[_0x27a44e(0x1ab)]){let {done:_0x733e73,value:_0x54266b}=await _0x21f255[_0x27a44e(0x18d)]();if(_0x733e73)break;_0x268903+=_0x244ae1[_0x27a44e(0x1a1)](_0x54266b,{'stream':!0x0});let _0x5db2d4=_0x268903[_0x27a44e(0x1a9)]('\x0a');_0x268903=_0x5db2d4[_0x27a44e(0x19d)]()||'';for(let _0x52ffab of _0x5db2d4){if(!_0x52ffab['startsWith']('data:\x20'))continue;try{let _0x43d5b3=JSON['parse'](_0x52ffab['slice'](0x6));if(_0x43d5b3[_0x27a44e(0x1a2)]===_0x27a44e(0x1a6)){this[_0x27a44e(0x189)](_0x27a44e(0x18a)),this[_0x27a44e(0x1cb)](_0x27a44e(0x1a6));continue;}if(_0x43d5b3['type']===_0x27a44e(0x17f)||_0x43d5b3['type']===_0x27a44e(0x184)||_0x43d5b3[_0x27a44e(0x1a2)]===_0x27a44e(0x17b))await this['processInbox']();}catch{}}}}catch(_0x39597d){if(_0x39597d[_0x27a44e(0x1d0)]===_0x27a44e(0x1b6))break;this[_0x27a44e(0x1cb)]('error',_0x39597d),this['log']('SSE\x20error:\x20'+_0x39597d[_0x27a44e(0x1cf)]);}if(this[_0x27a44e(0x1ab)])this[_0x27a44e(0x1cb)](_0x27a44e(0x1cc)),this['log']('SSE\x20reconnecting\x20in\x20'+_0x73d960/0x3e8+'s...'),await this[_0x27a44e(0x1ca)](_0x73d960),_0x73d960=Math[_0x27a44e(0x183)](_0x73d960*1.5,0xea60);}}async[a0_0x1b849a(0x1b1)](){const _0x13c498=a0_0x1b849a;try{let _0x92157d=(await this['call'](_0x13c498(0x1c9),{'alias':this[_0x13c498(0x1a0)],'limit':0xa}))?.[_0x13c498(0x191)]||[];for(let _0xf8829b of _0x92157d)await this[_0x13c498(0x199)](_0x13c498(0x194),{'alias':this[_0x13c498(0x1a0)],'message_id':_0xf8829b['id']}),this[_0x13c498(0x189)]('←\x20'+_0xf8829b[_0x13c498(0x1ac)]+':\x20'+_0xf8829b['content'][_0x13c498(0x1a5)](0x0,0x3c)),this[_0x13c498(0x1cb)](_0x13c498(0x19e),_0xf8829b),this[_0x13c498(0x1cb)]('message',_0xf8829b);}catch(_0x4c0b8c){this[_0x13c498(0x189)]('inbox\x20error:\x20'+_0x4c0b8c[_0x13c498(0x1cf)]);}}[a0_0x1b849a(0x1ca)](_0x1e3c43){return new Promise(_0x3fb6f2=>setTimeout(_0x3fb6f2,_0x1e3c43));}}var $=T;export{$ as default,T as CommHub};
|
package/dist/src/node-server.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
const a0_0x19b54f=a0_0x83a7;(function(_0x8b9378,_0x46ce2d){const _0x479a20=a0_0x83a7,_0x19ac74=_0x8b9378();while(!![]){try{const _0x1fa3f0=parseInt(_0x479a20(0x1b5))/0x1+-parseInt(_0x479a20(0x1d9))/0x2*(-parseInt(_0x479a20(0x205))/0x3)+parseInt(_0x479a20(0x226))/0x4*(parseInt(_0x479a20(0x1fe))/0x5)+-parseInt(_0x479a20(0x218))/0x6*(parseInt(_0x479a20(0x1af))/0x7)+parseInt(_0x479a20(0x1e4))/0x8+-parseInt(_0x479a20(0x1cf))/0x9+-parseInt(_0x479a20(0x1ca))/0xa*(-parseInt(_0x479a20(0x1f5))/0xb);if(_0x1fa3f0===_0x46ce2d)break;else _0x19ac74['push'](_0x19ac74['shift']());}catch(_0x12be8a){_0x19ac74['push'](_0x19ac74['shift']());}}}(a0_0x53d4,0xa0417));import{readFileSync as a0_0x3c6e43,existsSync as a0_0x29d297}from'fs';import{randomUUID as a0_0x29680f}from'crypto';import{join as a0_0x22cf0c}from'path';import{hostname as a0_0x1025a0}from'os';import{execSync as a0_0x50203b}from'child_process';import{Server as a0_0x43a465}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x32fca4}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0xcdfeef,CallToolRequestSchema as a0_0x3e6b8a}from'@modelcontextprotocol/sdk/types.js';function I(_0x23aabb){const _0x5b89bd=a0_0x83a7;if(!a0_0x29d297(_0x23aabb))return;for(let _0x552a6d of a0_0x3c6e43(_0x23aabb,_0x5b89bd(0x19c))[_0x5b89bd(0x1a5)]('\x0a')){let _0x4bbb95=_0x552a6d[_0x5b89bd(0x211)]();if(!_0x4bbb95||_0x4bbb95[_0x5b89bd(0x1f1)]('#'))continue;let _0x43791c=_0x4bbb95[_0x5b89bd(0x1be)]('=');if(_0x43791c<0x0)continue;let _0x291c5b=_0x4bbb95[_0x5b89bd(0x200)](0x0,_0x43791c)[_0x5b89bd(0x211)](),_0xca4710=_0x4bbb95[_0x5b89bd(0x200)](_0x43791c+0x1)[_0x5b89bd(0x211)]()['replace'](/^["']|["']$/g,'');if(!process.env[_0x291c5b])process.env[_0x291c5b]=_0xca4710;}}var L=process.env.HOME||'~',U=a0_0x22cf0c(L,'.claude/channels/commhub');I(a0_0x22cf0c(U,a0_0x19b54f(0x1dd)));function a0_0x53d4(){const _0x5d9286=['7680996HNThck','stdin','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','Current\x20task\x20description','Priority\x20(default:\x20normal)','new_task','error','0.3.0','commhub','replied','4qbRRER','pop','blocked','\x20/\x20hostname=','.env','alias','ENV:\x20URL=','2.0','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','heartbeat\x20failed:\x20','/mcp','6610376JiYppH','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','initialize','unknown\x20tool','idle','end','catch','inbox_count','type','SIGTERM','\x22\x20after\x20SSE\x20reconnect','\x20from\x20',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','startsWith','application/json,\x20text/event-stream','now','length','11iahRwD','messages','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','Message\x20content','Task\x20content','ack_inbox','POST','high','cancelled','1880PikKdQ','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','slice','in_progress','report_status','http://127.0.0.1:9200','token','159207JgsnFc','claude-code','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','parse','read','\x20RESUME_ID=','get_all_status','starting\x20SSE\x20listener...','cwd','result','notifications/claude/channel','send_reply','trim','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','\x22\x20(','data:\x20','commhub_report_status','application/json','object','35118EMhKVE','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','\x20CWD=','stringify',']\x20[commhub]\x20','Progress\x200-100','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','params','exit','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','statusText','setRequestHandler','task','completed','9796GZDmFw','from_session','warning:\x20could\x20not\x20register:\x20','SSE\x20stream\x20ended,\x20reconnecting...','notification','getReader','session\x20disconnected','message_id','normal','toTimeString','offline','Authorization','→\x20injected\x20task\x20','commhub-channel','send_message','Reply\x20text\x20/\x20result\x20summary','write','utf-8','←\x20message\x20from\x20','Target\x20session\x20alias','delete','broadcast','commhub_send_message','string','find','hub','split','stderr','status','connected','new_message','...\x20TMUX=','tools/call','get','init\x20failed:\x20','text','1309BenFSz','config.json','commhub_send_task','re-register\x20failed:\x20','SIGINT','parse\x20error:\x20','580914DoFwnd','content','/events/','commhub_get_all_status','pid','SSE\x20fatal:\x20',':\x20inbox_count=','message','SSE\x20connected\x20as\x20\x22','indexOf','set','commhub_reply','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','body','MCP\x20stdio\x20connected','re-registered\x20as\x20\x22','priority','replace','working','send_task','failed','1701890Sjgwcc','min','none','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','ready\x20—\x20waiting\x20for\x20events'];a0_0x53d4=function(){return _0x5d9286;};return a0_0x53d4();}var v=process[a0_0x19b54f(0x20d)]()[a0_0x19b54f(0x1c6)](/\//g,'-');I(a0_0x22cf0c(U,v,'.env'));function d(){const _0x5adaa7=a0_0x19b54f;try{return a0_0x50203b('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':_0x5adaa7(0x19c),'timeout':0x7d0})[_0x5adaa7(0x211)]();}catch{return'';}}function m(){const _0x3f6c47=a0_0x19b54f;try{let _0x216a5d=a0_0x22cf0c(L,'.anet',_0x3f6c47(0x1b0));if(a0_0x29d297(_0x216a5d))return JSON[_0x3f6c47(0x208)](a0_0x3c6e43(_0x216a5d,_0x3f6c47(0x19c)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x19b54f(0x1a4)]||a0_0x19b54f(0x203),f=process.env.COMMHUB_TMUX||d();function r(){const _0x5c2e74=a0_0x19b54f;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x5c2e74(0x211)]())return process.env.COMMHUB_ALIAS[_0x5c2e74(0x211)]();return process[_0x5c2e74(0x1a6)]['write'](_0x5c2e74(0x1c1)+(_0x5c2e74(0x212)+(f||'(none)')+_0x5c2e74(0x1dc)+a0_0x1025a0()+_0x5c2e74(0x1d1))),'unattributed-'+process[_0x5c2e74(0x1b9)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x29680f(),F=process.env.COMMHUB_TOKEN||u[a0_0x19b54f(0x204)]||'';function W(_0x37cc67){const _0x8c0324=a0_0x19b54f;let _0x421f4e=new Date()[_0x8c0324(0x22f)]()[_0x8c0324(0x200)](0x0,0x8);process[_0x8c0324(0x1a6)][_0x8c0324(0x19b)]('['+_0x421f4e+_0x8c0324(0x21c)+_0x37cc67+'\x0a');}function N(_0x3ed8ce){return new Promise(_0xb1afa4=>setTimeout(_0xb1afa4,_0x3ed8ce));}W(a0_0x19b54f(0x1df)+j+'\x20ALIAS='+G+a0_0x19b54f(0x20a)+K[a0_0x19b54f(0x200)](0x0,0x8)+a0_0x19b54f(0x1aa)+(f||a0_0x19b54f(0x1cc))+a0_0x19b54f(0x21a)+process[a0_0x19b54f(0x20d)]()+'\x20PROJECT_ENV='+v);var D=new Map(),x=new a0_0x43a465({'name':a0_0x19b54f(0x198),'version':a0_0x19b54f(0x1d6)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x19b54f(0x1f7),a0_0x19b54f(0x1e5),a0_0x19b54f(0x219),'You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','Session\x20alias:\x20'+G]['join']('\x0a')});function a0_0x83a7(_0x19fbbf,_0x563c80){_0x19fbbf=_0x19fbbf-0x197;const _0x53d4fb=a0_0x53d4();let _0x83a7e9=_0x53d4fb[_0x19fbbf];return _0x83a7e9;}x[a0_0x19b54f(0x223)](a0_0xcdfeef,async()=>({'tools':[{'name':a0_0x19b54f(0x1c0),'description':a0_0x19b54f(0x1ff),'inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0x19b54f(0x1a2),'description':a0_0x19b54f(0x207)},'text':{'type':'string','description':a0_0x19b54f(0x19a)},'status':{'type':'string','enum':[a0_0x19b54f(0x225),a0_0x19b54f(0x1c9),a0_0x19b54f(0x1fd),a0_0x19b54f(0x1db),'error',a0_0x19b54f(0x201)],'description':'Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'}},'required':[a0_0x19b54f(0x1ae)]}},{'name':a0_0x19b54f(0x215),'description':a0_0x19b54f(0x221),'inputSchema':{'type':a0_0x19b54f(0x217),'properties':{'status':{'type':a0_0x19b54f(0x1a2),'enum':[a0_0x19b54f(0x1c7),a0_0x19b54f(0x1e8),a0_0x19b54f(0x1db),a0_0x19b54f(0x1d5)]},'task':{'type':a0_0x19b54f(0x1a2),'description':a0_0x19b54f(0x1d2)},'progress':{'type':'number','description':a0_0x19b54f(0x21d)}},'required':[a0_0x19b54f(0x1a7)]}},{'name':'commhub_send_task','description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x19b54f(0x217),'properties':{'alias':{'type':'string','description':a0_0x19b54f(0x19e)},'task':{'type':a0_0x19b54f(0x1a2),'description':a0_0x19b54f(0x1f9)},'priority':{'type':a0_0x19b54f(0x1a2),'enum':[a0_0x19b54f(0x1fc),a0_0x19b54f(0x22e),'low'],'description':a0_0x19b54f(0x1d3)}},'required':[a0_0x19b54f(0x1de),a0_0x19b54f(0x224)]}},{'name':a0_0x19b54f(0x1a1),'description':a0_0x19b54f(0x1e1),'inputSchema':{'type':a0_0x19b54f(0x217),'properties':{'alias':{'type':a0_0x19b54f(0x1a2),'description':a0_0x19b54f(0x19e)},'message':{'type':a0_0x19b54f(0x1a2),'description':a0_0x19b54f(0x1f8)}},'required':['alias',a0_0x19b54f(0x1bc)]}},{'name':a0_0x19b54f(0x1b8),'description':a0_0x19b54f(0x1cd),'inputSchema':{'type':'object','properties':{}}}]}));async function Y(_0x53ba17,_0x5cffd2){const _0x1ee7b2=a0_0x19b54f;let _0x4fae4a=await fetch(j+_0x1ee7b2(0x1e3),{'method':'POST','headers':{'Content-Type':'application/json','Accept':_0x1ee7b2(0x1f2),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x1ee7b2(0x1e0),'id':0x1,'method':_0x1ee7b2(0x1e6),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x1ee7b2(0x198),'version':'0.3.0'}}})});if(!_0x4fae4a['ok']){let _0x435bd4=await _0x4fae4a[_0x1ee7b2(0x1ae)]();return W('CommHub\x20init\x20failed:\x20'+_0x4fae4a[_0x1ee7b2(0x1a7)]+'\x20'+_0x435bd4['slice'](0x0,0x64)),{'ok':!0x1,'error':_0x1ee7b2(0x1ad)+_0x4fae4a[_0x1ee7b2(0x1a7)]};}await _0x4fae4a[_0x1ee7b2(0x1ae)]();let _0xc6044e=(await(await fetch(j+_0x1ee7b2(0x1e3),{'method':_0x1ee7b2(0x1fb),'headers':{'Content-Type':_0x1ee7b2(0x216),'Accept':_0x1ee7b2(0x1f2),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x1ee7b2(0x21b)]({'jsonrpc':_0x1ee7b2(0x1e0),'id':0x2,'method':_0x1ee7b2(0x1ab),'params':{'name':_0x53ba17,'arguments':_0x5cffd2}})}))[_0x1ee7b2(0x1ae)]())[_0x1ee7b2(0x1a5)]('\x0a')[_0x1ee7b2(0x1a3)](_0xd633f8=>_0xd633f8[_0x1ee7b2(0x1f1)](_0x1ee7b2(0x214)));if(_0xc6044e){let _0x2faf4f=JSON['parse'](_0xc6044e[_0x1ee7b2(0x200)](0x6));return _0x2faf4f?.[_0x1ee7b2(0x20e)]?.[_0x1ee7b2(0x1b6)]?.[0x0]?.['text']?JSON['parse'](_0x2faf4f['result'][_0x1ee7b2(0x1b6)][0x0][_0x1ee7b2(0x1ae)]):_0x2faf4f;}return{'ok':!0x1,'error':'no\x20response'};}x[a0_0x19b54f(0x223)](a0_0x3e6b8a,async _0x59d741=>{const _0x284708=a0_0x19b54f;let {name:_0x14134d,arguments:_0x25d865}=_0x59d741[_0x284708(0x21f)];if(_0x14134d===_0x284708(0x1c0)){let {task_id:_0x2d40e9,text:_0x4c9a2c,status:_0x10b435}=_0x25d865;if(_0x10b435==='completed'||_0x10b435===_0x284708(0x1c9)||_0x10b435===_0x284708(0x1fd)){let _0x10840c=_0x10b435===_0x284708(0x225)?_0x284708(0x1d8):_0x10b435,_0x20da8c=_0x2d40e9?D[_0x284708(0x1ac)](_0x2d40e9)||_0x284708(0x1a4):_0x284708(0x1a4),_0x1f23eb=await Y(_0x284708(0x210),{'alias':_0x20da8c,'text':_0x4c9a2c,'in_reply_to':_0x2d40e9||void 0x0,'status':_0x10840c,'from_session':G});if(_0x2d40e9)D[_0x284708(0x19f)](_0x2d40e9);return{'content':[{'type':_0x284708(0x1ae),'text':JSON[_0x284708(0x21b)](_0x1f23eb)}]};}let _0x3df172=await Y(_0x284708(0x202),{'resume_id':K,'alias':G,'status':_0x10b435===_0x284708(0x1db)?'blocked':_0x10b435===_0x284708(0x1d5)?'error':_0x284708(0x1c7),'task':_0x4c9a2c[_0x284708(0x200)](0x0,0xc8),'output':_0x4c9a2c});return{'content':[{'type':_0x284708(0x1ae),'text':JSON[_0x284708(0x21b)](_0x3df172)}]};}if(_0x14134d===_0x284708(0x215)){let {status:_0x330773,task:_0x3b84b3,progress:_0x36686b}=_0x25d865,_0x2efd8e=await Y(_0x284708(0x202),{'resume_id':K,'alias':G,'status':_0x330773,'task':_0x3b84b3,'progress':_0x36686b});return{'content':[{'type':_0x284708(0x1ae),'text':JSON[_0x284708(0x21b)](_0x2efd8e)}]};}if(_0x14134d===_0x284708(0x1b1)){let {alias:_0x47cc7a,task:_0xf23985,priority:_0x227138}=_0x25d865,_0x1338bb=await Y(_0x284708(0x1c8),{'alias':_0x47cc7a,'task':_0xf23985,'priority':_0x227138||'normal','from_session':G});return{'content':[{'type':_0x284708(0x1ae),'text':JSON[_0x284708(0x21b)](_0x1338bb)}]};}if(_0x14134d===_0x284708(0x1a1)){let {alias:_0x13cba5,message:_0x5b07b0}=_0x25d865,_0x5c12cf=await Y(_0x284708(0x199),{'alias':_0x13cba5,'message':_0x5b07b0,'from_session':G});return{'content':[{'type':_0x284708(0x1ae),'text':JSON[_0x284708(0x21b)](_0x5c12cf)}]};}if(_0x14134d===_0x284708(0x1b8)){let _0x237746=await Y(_0x284708(0x20b),{});return{'content':[{'type':_0x284708(0x1ae),'text':JSON[_0x284708(0x21b)](_0x237746)}]};}return{'content':[{'type':_0x284708(0x1ae),'text':JSON[_0x284708(0x21b)]({'error':_0x284708(0x1e7)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x35bd31=a0_0x19b54f;try{await Y('report_status',{'resume_id':K,'alias':G,'status':_0x35bd31(0x1e8),'server':a0_0x1025a0(),'hostname':a0_0x1025a0(),'agent':_0x35bd31(0x206),'project_dir':process[_0x35bd31(0x20d)](),'tmux_name':f||void 0x0}),W(_0x35bd31(0x1c4)+G+_0x35bd31(0x1ee));}catch(_0x23fd28){W(_0x35bd31(0x1b2)+_0x23fd28);}}async function o(){const _0x527db5=a0_0x19b54f;let _0x1f5750=j+_0x527db5(0x1b7)+encodeURIComponent(G),_0x35a62d={};if(F)_0x35a62d[_0x527db5(0x231)]='Bearer\x20'+F;W('connecting\x20to\x20'+_0x1f5750);let _0x3b0876=O,_0x5f519a=!0x0,_0x4ff48e=null;while(!0x0){try{let _0x2bf192=await fetch(_0x1f5750,{'headers':_0x35a62d});if(!_0x2bf192['ok']){if(W('SSE\x20error:\x20'+_0x2bf192[_0x527db5(0x1a7)]+'\x20'+_0x2bf192[_0x527db5(0x222)]),_0x4ff48e=_0x4ff48e??Date[_0x527db5(0x1f3)](),Date[_0x527db5(0x1f3)]()-_0x4ff48e>T){W(_0x527db5(0x21e)+j+_0x527db5(0x1f0));return;}await N(_0x3b0876),_0x3b0876=Math[_0x527db5(0x1cb)](_0x3b0876*0x2,R);continue;}let _0x2ea475=_0x2bf192[_0x527db5(0x1c2)][_0x527db5(0x22b)](),_0x5bcf54=new TextDecoder(),_0xb310b8='';_0x3b0876=O;while(!0x0){let {done:_0x67c80a,value:_0xcbbdc9}=await _0x2ea475[_0x527db5(0x209)]();if(_0x67c80a)break;_0xb310b8+=_0x5bcf54['decode'](_0xcbbdc9,{'stream':!0x0});let _0x20b36c=_0xb310b8[_0x527db5(0x1a5)]('\x0a\x0a');_0xb310b8=_0x20b36c[_0x527db5(0x1da)]()||'';for(let _0x289dd7 of _0x20b36c){let _0x4a7cc9=_0x289dd7[_0x527db5(0x1a5)]('\x0a')[_0x527db5(0x1a3)](_0xaf13bd=>_0xaf13bd[_0x527db5(0x1f1)]('data:\x20'));if(!_0x4a7cc9)continue;try{let _0x287750=JSON['parse'](_0x4a7cc9[_0x527db5(0x200)](0x6));if(await a(_0x287750),_0x287750[_0x527db5(0x1ec)]===_0x527db5(0x1a8)){if(_0x4ff48e=null,!_0x5f519a)await l();_0x5f519a=!0x1;}}catch(_0x1d4f31){W(_0x527db5(0x1b4)+_0x1d4f31);}}}W(_0x527db5(0x229));}catch(_0xc6e948){W('SSE\x20connection\x20error:\x20'+_0xc6e948);}if(_0x4ff48e=_0x4ff48e??Date[_0x527db5(0x1f3)](),Date['now']()-_0x4ff48e>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x527db5(0x1f0));return;}await N(_0x3b0876),_0x3b0876=Math[_0x527db5(0x1cb)](_0x3b0876*0x2,R);}}async function a(_0x343720){const _0x3737c0=a0_0x19b54f;if(_0x343720[_0x3737c0(0x1ec)]==='connected'){W(_0x3737c0(0x1bd)+G+'\x22');return;}if(_0x343720[_0x3737c0(0x1ec)]===_0x3737c0(0x1a9)){if(W(_0x3737c0(0x19d)+_0x343720['from']+':\x20'+_0x343720[_0x3737c0(0x1bc)][_0x3737c0(0x200)](0x0,0x3c)),await x['notification']({'method':_0x3737c0(0x20f),'params':{'content':_0x343720[_0x3737c0(0x1bc)],'meta':{'sender':_0x343720['from']||_0x3737c0(0x1a4),'sender_id':_0x3737c0(0x1d7),'user':_0x343720['from']||_0x3737c0(0x1a4),'priority':_0x3737c0(0x22e)}}}),_0x343720[_0x3737c0(0x22d)])await Y(_0x3737c0(0x1fa),{'alias':G,'message_id':_0x343720[_0x3737c0(0x22d)]});return;}if(_0x343720[_0x3737c0(0x1ec)]===_0x3737c0(0x1d4)||_0x343720['type']===_0x3737c0(0x1a0)){W('←\x20'+_0x343720[_0x3737c0(0x1ec)]+_0x3737c0(0x1bb)+_0x343720[_0x3737c0(0x1eb)]+'\x20priority='+(_0x343720[_0x3737c0(0x1c5)]||'normal'));let _0xb876fe=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0xb876fe?.['ok']&&_0xb876fe[_0x3737c0(0x1f6)]?.[_0x3737c0(0x1f4)]>0x0)for(let _0x35399b of _0xb876fe[_0x3737c0(0x1f6)]){let _0x4af4ba={'sender':_0x35399b[_0x3737c0(0x227)]||_0x3737c0(0x1a4),'sender_id':'commhub','user':_0x35399b[_0x3737c0(0x227)]||_0x3737c0(0x1a4),'task_id':_0x35399b['id'],'priority':_0x35399b['priority']||'normal'};D[_0x3737c0(0x1bf)](_0x35399b['id'],_0x35399b[_0x3737c0(0x227)]||_0x3737c0(0x1a4)),await x[_0x3737c0(0x22a)]({'method':'notifications/claude/channel','params':{'content':_0x35399b['content'],'meta':_0x4af4ba}}),W(_0x3737c0(0x197)+_0x35399b['id'][_0x3737c0(0x200)](0x0,0x8)+_0x3737c0(0x1ef)+_0x35399b[_0x3737c0(0x227)]+':\x20'+_0x35399b['content'][_0x3737c0(0x200)](0x0,0x3c)),await Y(_0x3737c0(0x1fa),{'alias':G,'message_id':_0x35399b['id']});}}}async function n(){const _0x3c798b=a0_0x19b54f;let _0x89b357=new a0_0x32fca4();await x['connect'](_0x89b357),W(_0x3c798b(0x1c3)),W(_0x3c798b(0x20c)),o()['catch'](_0x6babae=>W(_0x3c798b(0x1ba)+_0x6babae)),Y(_0x3c798b(0x202),{'resume_id':K,'alias':G,'status':_0x3c798b(0x1e8),'server':a0_0x1025a0(),'hostname':a0_0x1025a0(),'agent':'claude-code','project_dir':process[_0x3c798b(0x20d)](),'tmux_name':f||void 0x0})['then'](()=>W('registered\x20as\x20\x22'+G+_0x3c798b(0x213)+K[_0x3c798b(0x200)](0x0,0x8)+')'))[_0x3c798b(0x1ea)](_0x3e39d6=>W(_0x3c798b(0x228)+_0x3e39d6)),setInterval(()=>{const _0x51e2ce=_0x3c798b;Y('report_status',{'resume_id':K,'alias':G,'status':'idle','server':a0_0x1025a0(),'hostname':a0_0x1025a0(),'agent':'claude-code','project_dir':process['cwd'](),'tmux_name':f||void 0x0})['catch'](_0x95444b=>W(_0x51e2ce(0x1e2)+_0x95444b));},0x2bf20),W(_0x3c798b(0x1ce));}n()[a0_0x19b54f(0x1ea)](_0x3a1cf2=>{const _0x24c1ee=a0_0x19b54f;W('fatal:\x20'+_0x3a1cf2),process[_0x24c1ee(0x220)](0x1);});async function b(){const _0x42ea72=a0_0x19b54f;W('shutting\x20down,\x20reporting\x20offline...'),await Y(_0x42ea72(0x202),{'resume_id':K,'alias':G,'status':_0x42ea72(0x230),'task':_0x42ea72(0x22c)})[_0x42ea72(0x1ea)](()=>{}),process['exit'](0x0);}process[a0_0x19b54f(0x1d0)]['on'](a0_0x19b54f(0x1e9),()=>b()),process['on'](a0_0x19b54f(0x1ed),()=>b()),process['on'](a0_0x19b54f(0x1b3),()=>b());
|
|
2
|
+
const a0_0x667184=a0_0x4e88;(function(_0x4f67d6,_0x502335){const _0x59f071=a0_0x4e88,_0x5462c7=_0x4f67d6();while(!![]){try{const _0x4ba46c=parseInt(_0x59f071(0x1b2))/0x1*(-parseInt(_0x59f071(0x1b4))/0x2)+-parseInt(_0x59f071(0x1f4))/0x3+-parseInt(_0x59f071(0x230))/0x4+-parseInt(_0x59f071(0x1bc))/0x5+-parseInt(_0x59f071(0x1b9))/0x6*(-parseInt(_0x59f071(0x1f7))/0x7)+parseInt(_0x59f071(0x21a))/0x8*(parseInt(_0x59f071(0x1cc))/0x9)+-parseInt(_0x59f071(0x1fd))/0xa*(-parseInt(_0x59f071(0x1f2))/0xb);if(_0x4ba46c===_0x502335)break;else _0x5462c7['push'](_0x5462c7['shift']());}catch(_0x37a080){_0x5462c7['push'](_0x5462c7['shift']());}}}(a0_0x37a1,0x4681e));import{readFileSync as a0_0xbbd49c,existsSync as a0_0x56ce5c}from'fs';import{randomUUID as a0_0x2160af}from'crypto';import{join as a0_0x27a004}from'path';import{hostname as a0_0x3b2b26}from'os';import{execSync as a0_0x2c8502}from'child_process';import{Server as a0_0x4fab82}from'@modelcontextprotocol/sdk/server/index.js';function a0_0x4e88(_0x4beb7b,_0x526cb6){_0x4beb7b=_0x4beb7b-0x1ae;const _0x37a13e=a0_0x37a1();let _0x4e8827=_0x37a13e[_0x4beb7b];return _0x4e8827;}import{StdioServerTransport as a0_0x158967}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x338881,CallToolRequestSchema as a0_0x35ba20}from'@modelcontextprotocol/sdk/types.js';function I(_0x5c464e){const _0x5573a4=a0_0x4e88;if(!a0_0x56ce5c(_0x5c464e))return;for(let _0x1d2674 of a0_0xbbd49c(_0x5c464e,'utf-8')['split']('\x0a')){let _0x270383=_0x1d2674['trim']();if(!_0x270383||_0x270383[_0x5573a4(0x1db)]('#'))continue;let _0x41549f=_0x270383[_0x5573a4(0x233)]('=');if(_0x41549f<0x0)continue;let _0x8036d6=_0x270383['slice'](0x0,_0x41549f)[_0x5573a4(0x1dd)](),_0x229bb4=_0x270383[_0x5573a4(0x1e4)](_0x41549f+0x1)[_0x5573a4(0x1dd)]()['replace'](/^["']|["']$/g,'');if(!process.env[_0x8036d6])process.env[_0x8036d6]=_0x229bb4;}}var L=process.env.HOME||'~',U=a0_0x27a004(L,a0_0x667184(0x1de));I(a0_0x27a004(U,a0_0x667184(0x202)));var v=process['cwd']()[a0_0x667184(0x1f1)](/\//g,'-');I(a0_0x27a004(U,v,'.env'));function d(){const _0x3a1fff=a0_0x667184;try{return a0_0x2c8502('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':'utf-8','timeout':0x7d0})[_0x3a1fff(0x1dd)]();}catch{return'';}}function m(){const _0x3213d2=a0_0x667184;try{let _0x453740=a0_0x27a004(L,_0x3213d2(0x23d),'config.json');if(a0_0x56ce5c(_0x453740))return JSON['parse'](a0_0xbbd49c(_0x453740,_0x3213d2(0x249)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x667184(0x1fe)]||a0_0x667184(0x22b),f=process.env.COMMHUB_TMUX||d();function r(){const _0x5f1a48=a0_0x667184;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x5f1a48(0x1dd)]())return process.env.COMMHUB_ALIAS['trim']();return process[_0x5f1a48(0x1e5)][_0x5f1a48(0x20f)]('[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20'+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(f||_0x5f1a48(0x1e8))+_0x5f1a48(0x234)+a0_0x3b2b26()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),_0x5f1a48(0x23b)+process[_0x5f1a48(0x237)];}function a0_0x37a1(){const _0x2962d0=['pop','\x20CWD=','report_status','message','commhub_reply','1422akbgEz','0.3.0','catch','messages','cwd','getReader','task','then','Priority\x20(default:\x20normal)','exit','object','re-registered\x20as\x20\x22','data:\x20','send_reply','type','startsWith','connect','trim','.claude/channels/commhub','shutting\x20down,\x20reporting\x20offline...','new_task','length','set','content','slice','stderr','/mcp','normal','(none)','error','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','starting\x20SSE\x20listener...','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','SSE\x20connection\x20error:\x20','Session\x20alias:\x20','setRequestHandler',']\x20[commhub]\x20','replace','11RxQzEq','stdin','105417vNpwbg','Target\x20session\x20alias','SIGINT','7Lpqkme','→\x20injected\x20task\x20','blocked','commhub_send_task','send_message','application/json,\x20text/event-stream','7049920ywxWyK','hub','join','stringify','\x20priority=','.env','tools/call','ack_inbox','CommHub\x20init\x20failed:\x20','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','SSE\x20connected\x20as\x20\x22','cancelled','new_message','unknown\x20tool','commhub','re-register\x20failed:\x20','notification','message_id','write','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','in_progress','claude-code','alias','session\x20disconnected','Bearer\x20','now','notifications/claude/channel','broadcast','end','2416oqZmJw','split','2025-03-26','ready\x20—\x20waiting\x20for\x20events','working','commhub_report_status','\x20RESUME_ID=','commhub_get_all_status','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','/events/','text','find','offline','body','...\x20TMUX=','\x20PROJECT_ENV=','get_inbox','http://127.0.0.1:9200','init\x20failed:\x20','delete','inbox_count','registered\x20as\x20\x22','1580704IRuUeq','number','min','indexOf','\x20/\x20hostname=','from','replied','pid','Current\x20task\x20description','parse','status','unattributed-',':\x20inbox_count=','.anet','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','commhub-channel','string','SSE\x20error:\x20','priority','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','get_all_status','SSE\x20stream\x20ended,\x20reconnecting...','commhub_send_message','none','utf-8','toTimeString','initialize','idle','Message\x20content','read','SIGTERM','7394ODCaCg','Task\x20content','34fgRsTX','2.0','POST','\x20from\x20','token','2996490QjiTxP',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','connected','2036560gHeWWg','application/json','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','MCP\x20stdio\x20connected','from_session','parse\x20error:\x20','result','heartbeat\x20failed:\x20','Authorization','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','high'];a0_0x37a1=function(){return _0x2962d0;};return a0_0x37a1();}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x2160af(),F=process.env.COMMHUB_TOKEN||u[a0_0x667184(0x1b8)]||'';function W(_0x17784a){const _0x157899=a0_0x667184;let _0x1ccce4=new Date()[_0x157899(0x24a)]()['slice'](0x0,0x8);process[_0x157899(0x1e5)]['write']('['+_0x1ccce4+_0x157899(0x1f0)+_0x17784a+'\x0a');}function N(_0x35edb7){return new Promise(_0x1e2389=>setTimeout(_0x1e2389,_0x35edb7));}W('ENV:\x20URL='+j+'\x20ALIAS='+G+a0_0x667184(0x220)+K['slice'](0x0,0x8)+a0_0x667184(0x228)+(f||a0_0x667184(0x248))+a0_0x667184(0x1c8)+process[a0_0x667184(0x1d0)]()+a0_0x667184(0x229)+v);var D=new Map(),x=new a0_0x4fab82({'name':a0_0x667184(0x23f),'version':a0_0x667184(0x1cd)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x667184(0x206),a0_0x667184(0x210),a0_0x667184(0x1c5),a0_0x667184(0x243),a0_0x667184(0x1ee)+G][a0_0x667184(0x1ff)]('\x0a')});x[a0_0x667184(0x1ef)](a0_0x338881,async()=>({'tools':[{'name':a0_0x667184(0x1cb),'description':'Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x244)},'text':{'type':a0_0x667184(0x240),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x667184(0x240),'enum':['completed','failed',a0_0x667184(0x208),a0_0x667184(0x1f9),a0_0x667184(0x1e9),a0_0x667184(0x211)],'description':a0_0x667184(0x1ea)}},'required':[a0_0x667184(0x224)]}},{'name':a0_0x667184(0x21f),'description':a0_0x667184(0x23e),'inputSchema':{'type':a0_0x667184(0x1d6),'properties':{'status':{'type':a0_0x667184(0x240),'enum':[a0_0x667184(0x21e),a0_0x667184(0x1ae),a0_0x667184(0x1f9),a0_0x667184(0x1e9)]},'task':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x238)},'progress':{'type':a0_0x667184(0x231),'description':'Progress\x200-100'}},'required':[a0_0x667184(0x23a)]}},{'name':a0_0x667184(0x1fa),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x667184(0x1d6),'properties':{'alias':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x1f5)},'task':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x1b3)},'priority':{'type':a0_0x667184(0x240),'enum':[a0_0x667184(0x1c6),'normal','low'],'description':a0_0x667184(0x1d4)}},'required':[a0_0x667184(0x213),a0_0x667184(0x1d2)]}},{'name':a0_0x667184(0x247),'description':a0_0x667184(0x1be),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x1f5)},'message':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x1af)}},'required':[a0_0x667184(0x213),'message']}},{'name':a0_0x667184(0x221),'description':a0_0x667184(0x1ec),'inputSchema':{'type':'object','properties':{}}}]}));async function Y(_0x2c8151,_0x4d62cd){const _0x5607c6=a0_0x667184;let _0x414662=await fetch(j+_0x5607c6(0x1e6),{'method':_0x5607c6(0x1b6),'headers':{'Content-Type':_0x5607c6(0x1bd),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x5607c6(0x215)+F}:{}},'body':JSON[_0x5607c6(0x200)]({'jsonrpc':_0x5607c6(0x1b5),'id':0x1,'method':_0x5607c6(0x24b),'params':{'protocolVersion':_0x5607c6(0x21c),'capabilities':{},'clientInfo':{'name':'commhub-channel','version':_0x5607c6(0x1cd)}}})});if(!_0x414662['ok']){let _0x32141b=await _0x414662[_0x5607c6(0x224)]();return W(_0x5607c6(0x205)+_0x414662[_0x5607c6(0x23a)]+'\x20'+_0x32141b[_0x5607c6(0x1e4)](0x0,0x64)),{'ok':!0x1,'error':_0x5607c6(0x22c)+_0x414662[_0x5607c6(0x23a)]};}await _0x414662[_0x5607c6(0x224)]();let _0x10216d=(await(await fetch(j+_0x5607c6(0x1e6),{'method':'POST','headers':{'Content-Type':_0x5607c6(0x1bd),'Accept':_0x5607c6(0x1fc),...F?{'Authorization':_0x5607c6(0x215)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x5607c6(0x1b5),'id':0x2,'method':_0x5607c6(0x203),'params':{'name':_0x2c8151,'arguments':_0x4d62cd}})}))[_0x5607c6(0x224)]())[_0x5607c6(0x21b)]('\x0a')[_0x5607c6(0x225)](_0x1c0a76=>_0x1c0a76[_0x5607c6(0x1db)](_0x5607c6(0x1d8)));if(_0x10216d){let _0x24571b=JSON['parse'](_0x10216d[_0x5607c6(0x1e4)](0x6));return _0x24571b?.[_0x5607c6(0x1c2)]?.['content']?.[0x0]?.['text']?JSON[_0x5607c6(0x239)](_0x24571b['result'][_0x5607c6(0x1e3)][0x0][_0x5607c6(0x224)]):_0x24571b;}return{'ok':!0x1,'error':'no\x20response'};}x['setRequestHandler'](a0_0x35ba20,async _0x3a64aa=>{const _0x5c2e6d=a0_0x667184;let {name:_0x2c0439,arguments:_0x4906c6}=_0x3a64aa['params'];if(_0x2c0439===_0x5c2e6d(0x1cb)){let {task_id:_0x2a5ecd,text:_0x48d791,status:_0x1d74fe}=_0x4906c6;if(_0x1d74fe==='completed'||_0x1d74fe==='failed'||_0x1d74fe===_0x5c2e6d(0x208)){let _0x35abb7=_0x1d74fe==='completed'?_0x5c2e6d(0x236):_0x1d74fe,_0x3e14e2=_0x2a5ecd?D['get'](_0x2a5ecd)||_0x5c2e6d(0x1fe):'hub',_0xfe506f=await Y(_0x5c2e6d(0x1d9),{'alias':_0x3e14e2,'text':_0x48d791,'in_reply_to':_0x2a5ecd||void 0x0,'status':_0x35abb7,'from_session':G});if(_0x2a5ecd)D[_0x5c2e6d(0x22d)](_0x2a5ecd);return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)](_0xfe506f)}]};}let _0x3dfcc7=await Y(_0x5c2e6d(0x1c9),{'resume_id':K,'alias':G,'status':_0x1d74fe===_0x5c2e6d(0x1f9)?'blocked':_0x1d74fe==='error'?_0x5c2e6d(0x1e9):_0x5c2e6d(0x21e),'task':_0x48d791[_0x5c2e6d(0x1e4)](0x0,0xc8),'output':_0x48d791});return{'content':[{'type':'text','text':JSON['stringify'](_0x3dfcc7)}]};}if(_0x2c0439===_0x5c2e6d(0x21f)){let {status:_0x5486c0,task:_0x56cb53,progress:_0x23dc85}=_0x4906c6,_0x5d2394=await Y(_0x5c2e6d(0x1c9),{'resume_id':K,'alias':G,'status':_0x5486c0,'task':_0x56cb53,'progress':_0x23dc85});return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)](_0x5d2394)}]};}if(_0x2c0439==='commhub_send_task'){let {alias:_0x23e395,task:_0x47a866,priority:_0x1aa615}=_0x4906c6,_0x386ec3=await Y('send_task',{'alias':_0x23e395,'task':_0x47a866,'priority':_0x1aa615||_0x5c2e6d(0x1e7),'from_session':G});return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)](_0x386ec3)}]};}if(_0x2c0439===_0x5c2e6d(0x247)){let {alias:_0xa5635a,message:_0x363274}=_0x4906c6,_0x4795a4=await Y(_0x5c2e6d(0x1fb),{'alias':_0xa5635a,'message':_0x363274,'from_session':G});return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)](_0x4795a4)}]};}if(_0x2c0439===_0x5c2e6d(0x221)){let _0x12d2ee=await Y(_0x5c2e6d(0x245),{});return{'content':[{'type':'text','text':JSON[_0x5c2e6d(0x200)](_0x12d2ee)}]};}return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)]({'error':_0x5c2e6d(0x20a)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x542f85=a0_0x667184;try{await Y(_0x542f85(0x1c9),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x3b2b26(),'hostname':a0_0x3b2b26(),'agent':_0x542f85(0x212),'project_dir':process[_0x542f85(0x1d0)](),'tmux_name':f||void 0x0}),W(_0x542f85(0x1d7)+G+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x1d19a4){W(_0x542f85(0x20c)+_0x1d19a4);}}async function o(){const _0x811658=a0_0x667184;let _0x334f39=j+_0x811658(0x223)+encodeURIComponent(G),_0x671ca7={};if(F)_0x671ca7[_0x811658(0x1c4)]=_0x811658(0x215)+F;W('connecting\x20to\x20'+_0x334f39);let _0x1d7e65=O,_0x1fcf00=!0x0,_0x29feb1=null;while(!0x0){try{let _0x4ffa20=await fetch(_0x334f39,{'headers':_0x671ca7});if(!_0x4ffa20['ok']){if(W(_0x811658(0x241)+_0x4ffa20[_0x811658(0x23a)]+'\x20'+_0x4ffa20['statusText']),_0x29feb1=_0x29feb1??Date[_0x811658(0x216)](),Date[_0x811658(0x216)]()-_0x29feb1>T){W(_0x811658(0x222)+j+_0x811658(0x1ba));return;}await N(_0x1d7e65),_0x1d7e65=Math[_0x811658(0x232)](_0x1d7e65*0x2,R);continue;}let _0xf4997f=_0x4ffa20[_0x811658(0x227)][_0x811658(0x1d1)](),_0x4af4f0=new TextDecoder(),_0xf12c08='';_0x1d7e65=O;while(!0x0){let {done:_0x40d888,value:_0xeff582}=await _0xf4997f[_0x811658(0x1b0)]();if(_0x40d888)break;_0xf12c08+=_0x4af4f0['decode'](_0xeff582,{'stream':!0x0});let _0x16a5c7=_0xf12c08[_0x811658(0x21b)]('\x0a\x0a');_0xf12c08=_0x16a5c7[_0x811658(0x1c7)]()||'';for(let _0x22871d of _0x16a5c7){let _0x4bdfdf=_0x22871d['split']('\x0a')[_0x811658(0x225)](_0x51821a=>_0x51821a['startsWith'](_0x811658(0x1d8)));if(!_0x4bdfdf)continue;try{let _0x178c60=JSON[_0x811658(0x239)](_0x4bdfdf[_0x811658(0x1e4)](0x6));if(await a(_0x178c60),_0x178c60[_0x811658(0x1da)]===_0x811658(0x1bb)){if(_0x29feb1=null,!_0x1fcf00)await l();_0x1fcf00=!0x1;}}catch(_0x2588b4){W(_0x811658(0x1c1)+_0x2588b4);}}}W(_0x811658(0x246));}catch(_0x3c2c0b){W(_0x811658(0x1ed)+_0x3c2c0b);}if(_0x29feb1=_0x29feb1??Date[_0x811658(0x216)](),Date[_0x811658(0x216)]()-_0x29feb1>T){W(_0x811658(0x222)+j+_0x811658(0x1ba));return;}await N(_0x1d7e65),_0x1d7e65=Math[_0x811658(0x232)](_0x1d7e65*0x2,R);}}async function a(_0x43eee2){const _0x49f3d2=a0_0x667184;if(_0x43eee2[_0x49f3d2(0x1da)]===_0x49f3d2(0x1bb)){W(_0x49f3d2(0x207)+G+'\x22');return;}if(_0x43eee2[_0x49f3d2(0x1da)]===_0x49f3d2(0x209)){if(W('←\x20message\x20from\x20'+_0x43eee2[_0x49f3d2(0x235)]+':\x20'+_0x43eee2['message']['slice'](0x0,0x3c)),await x[_0x49f3d2(0x20d)]({'method':_0x49f3d2(0x217),'params':{'content':_0x43eee2[_0x49f3d2(0x1ca)],'meta':{'sender':_0x43eee2['from']||_0x49f3d2(0x1fe),'sender_id':_0x49f3d2(0x20b),'user':_0x43eee2[_0x49f3d2(0x235)]||_0x49f3d2(0x1fe),'priority':_0x49f3d2(0x1e7)}}}),_0x43eee2[_0x49f3d2(0x20e)])await Y('ack_inbox',{'alias':G,'message_id':_0x43eee2[_0x49f3d2(0x20e)]});return;}if(_0x43eee2[_0x49f3d2(0x1da)]===_0x49f3d2(0x1e0)||_0x43eee2[_0x49f3d2(0x1da)]===_0x49f3d2(0x218)){W('←\x20'+_0x43eee2[_0x49f3d2(0x1da)]+_0x49f3d2(0x23c)+_0x43eee2[_0x49f3d2(0x22e)]+_0x49f3d2(0x201)+(_0x43eee2[_0x49f3d2(0x242)]||_0x49f3d2(0x1e7)));let _0x2a3e8a=await Y(_0x49f3d2(0x22a),{'alias':G,'limit':0x5});if(_0x2a3e8a?.['ok']&&_0x2a3e8a[_0x49f3d2(0x1cf)]?.[_0x49f3d2(0x1e1)]>0x0)for(let _0x2a4c8e of _0x2a3e8a[_0x49f3d2(0x1cf)]){let _0x17cff8={'sender':_0x2a4c8e[_0x49f3d2(0x1c0)]||_0x49f3d2(0x1fe),'sender_id':_0x49f3d2(0x20b),'user':_0x2a4c8e[_0x49f3d2(0x1c0)]||_0x49f3d2(0x1fe),'task_id':_0x2a4c8e['id'],'priority':_0x2a4c8e['priority']||_0x49f3d2(0x1e7)};D[_0x49f3d2(0x1e2)](_0x2a4c8e['id'],_0x2a4c8e[_0x49f3d2(0x1c0)]||_0x49f3d2(0x1fe)),await x[_0x49f3d2(0x20d)]({'method':_0x49f3d2(0x217),'params':{'content':_0x2a4c8e[_0x49f3d2(0x1e3)],'meta':_0x17cff8}}),W(_0x49f3d2(0x1f8)+_0x2a4c8e['id'][_0x49f3d2(0x1e4)](0x0,0x8)+_0x49f3d2(0x1b7)+_0x2a4c8e[_0x49f3d2(0x1c0)]+':\x20'+_0x2a4c8e['content'][_0x49f3d2(0x1e4)](0x0,0x3c)),await Y(_0x49f3d2(0x204),{'alias':G,'message_id':_0x2a4c8e['id']});}}}async function n(){const _0x4e83e5=a0_0x667184;let _0x47c625=new a0_0x158967();await x[_0x4e83e5(0x1dc)](_0x47c625),W(_0x4e83e5(0x1bf)),W(_0x4e83e5(0x1eb)),o()[_0x4e83e5(0x1ce)](_0x57345e=>W('SSE\x20fatal:\x20'+_0x57345e)),Y('report_status',{'resume_id':K,'alias':G,'status':_0x4e83e5(0x1ae),'server':a0_0x3b2b26(),'hostname':a0_0x3b2b26(),'agent':_0x4e83e5(0x212),'project_dir':process[_0x4e83e5(0x1d0)](),'tmux_name':f||void 0x0})[_0x4e83e5(0x1d3)](()=>W(_0x4e83e5(0x22f)+G+'\x22\x20('+K[_0x4e83e5(0x1e4)](0x0,0x8)+')'))[_0x4e83e5(0x1ce)](_0x3e84ac=>W('warning:\x20could\x20not\x20register:\x20'+_0x3e84ac)),setInterval(()=>{const _0x5ade14=_0x4e83e5;Y(_0x5ade14(0x1c9),{'resume_id':K,'alias':G,'status':_0x5ade14(0x1ae),'server':a0_0x3b2b26(),'hostname':a0_0x3b2b26(),'agent':_0x5ade14(0x212),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x5ade14(0x1ce)](_0x291225=>W(_0x5ade14(0x1c3)+_0x291225));},0x2bf20),W(_0x4e83e5(0x21d));}n()['catch'](_0x2590bd=>{W('fatal:\x20'+_0x2590bd),process['exit'](0x1);});async function b(){const _0xd177b9=a0_0x667184;W(_0xd177b9(0x1df)),await Y(_0xd177b9(0x1c9),{'resume_id':K,'alias':G,'status':_0xd177b9(0x226),'task':_0xd177b9(0x214)})[_0xd177b9(0x1ce)](()=>{}),process[_0xd177b9(0x1d5)](0x0);}process[a0_0x667184(0x1f3)]['on'](a0_0x667184(0x219),()=>b()),process['on'](a0_0x667184(0x1b1),()=>b()),process['on'](a0_0x667184(0x1f6),()=>b());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.20-preview.0",
|
|
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",
|