@sleep2agi/agent-network 2.2.22-preview.4 → 2.3.0-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 +2 -2
package/dist/src/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2b4509=a0_0xeda9;(function(_0x318ee9,_0x43332d){const _0x22d06b=a0_0xeda9,_0x8a1d78=_0x318ee9();while(!![]){try{const _0x5d4a54=-parseInt(_0x22d06b(0x1cc))/0x1*(parseInt(_0x22d06b(0x214))/0x2)+parseInt(_0x22d06b(0x1dc))/0x3*(parseInt(_0x22d06b(0x204))/0x4)+-parseInt(_0x22d06b(0x1dd))/0x5*(-parseInt(_0x22d06b(0x1ed))/0x6)+parseInt(_0x22d06b(0x212))/0x7+-parseInt(_0x22d06b(0x217))/0x8+parseInt(_0x22d06b(0x1fe))/0x9+-parseInt(_0x22d06b(0x1ff))/0xa;if(_0x5d4a54===_0x43332d)break;else _0x8a1d78['push'](_0x8a1d78['shift']());}catch(_0x403dab){_0x8a1d78['push'](_0x8a1d78['shift']());}}}(a0_0x51ac,0xeed51));import{EventEmitter as a0_0x1bac59}from'events';function a0_0xeda9(_0x2cb602,_0x2b14d5){_0x2cb602=_0x2cb602-0x1cb;const _0x51ac75=a0_0x51ac();let _0xeda93d=_0x51ac75[_0x2cb602];return _0xeda93d;}import{hostname as a0_0x1d6303}from'os';class T extends a0_0x1bac59{['url'];[a0_0x2b4509(0x1f9)];[a0_0x2b4509(0x21a)];[a0_0x2b4509(0x1ce)];[a0_0x2b4509(0x1e0)];[a0_0x2b4509(0x1d7)];[a0_0x2b4509(0x218)];[a0_0x2b4509(0x1fc)];[a0_0x2b4509(0x208)];[a0_0x2b4509(0x1d5)]=!0x1;constructor(_0x59a1d1){const _0x30d15e=a0_0x2b4509;super();if(this[_0x30d15e(0x20b)]=_0x59a1d1[_0x30d15e(0x20b)][_0x30d15e(0x1df)](/\/$/,''),this['alias']=_0x59a1d1[_0x30d15e(0x1f9)],this[_0x30d15e(0x21a)]=_0x59a1d1[_0x30d15e(0x21a)],this[_0x30d15e(0x1ce)]=_0x59a1d1[_0x30d15e(0x1ce)]||'sdk',this[_0x30d15e(0x1e0)]=_0x30d15e(0x20c)+_0x59a1d1['alias']+'-'+Date['now']()['toString'](0x24),this['heartbeatInterval']=_0x59a1d1[_0x30d15e(0x1d7)]??0x2bf20,this['reconnectDelay']=_0x59a1d1[_0x30d15e(0x218)]??0xbb8,_0x59a1d1[_0x30d15e(0x1d6)]!==!0x1)this[_0x30d15e(0x20d)]();}['log'](_0x13e662){const _0x563bd0=a0_0x2b4509;console[_0x563bd0(0x1f5)]('['+new Date()[_0x563bd0(0x1f0)]()[_0x563bd0(0x1eb)](0x0,0x8)+_0x563bd0(0x1fb)+this[_0x563bd0(0x1f9)]+']\x20'+_0x13e662);}async[a0_0x2b4509(0x1f7)](_0x140b3c,_0x496ccc){const _0x1043a5=a0_0x2b4509;let _0x357066={'Content-Type':_0x1043a5(0x1da),'Accept':'application/json,\x20text/event-stream'};if(this[_0x1043a5(0x21a)])_0x357066[_0x1043a5(0x1ea)]=_0x1043a5(0x20a)+this[_0x1043a5(0x21a)];let _0x1ba73e=await(await fetch(this[_0x1043a5(0x20b)]+_0x1043a5(0x20f),{'method':_0x1043a5(0x1ee),'headers':_0x357066,'body':JSON['stringify']({'jsonrpc':'2.0','id':Date[_0x1043a5(0x1fa)](),'method':'tools/call','params':{'name':_0x140b3c,'arguments':_0x496ccc}})}))['text'](),_0xa5a90e=_0x1ba73e[_0x1043a5(0x1e7)](/data: (.+)/),_0x2ecb63=_0xa5a90e?JSON[_0x1043a5(0x216)](_0xa5a90e[0x1]):JSON[_0x1043a5(0x216)](_0x1ba73e),_0x515184=_0x2ecb63?.[_0x1043a5(0x1cf)]?.[_0x1043a5(0x213)]?.[0x0]?.[_0x1043a5(0x1e9)];return _0x515184?JSON[_0x1043a5(0x216)](_0x515184):_0x2ecb63;}async[a0_0x2b4509(0x20d)](){const _0x5730ec=a0_0x2b4509;if(this['running'])return;this[_0x5730ec(0x1d5)]=!0x0,await this[_0x5730ec(0x21c)](_0x5730ec(0x207)),this[_0x5730ec(0x1f5)](_0x5730ec(0x1f8)),this[_0x5730ec(0x1fc)]=setInterval(()=>{const _0x324206=_0x5730ec;this[_0x324206(0x21c)](_0x324206(0x207))[_0x324206(0x1de)](_0xd48d87=>this[_0x324206(0x1f5)](_0x324206(0x1fd)+_0xd48d87['message']));},this[_0x5730ec(0x1d7)]),this[_0x5730ec(0x205)]();}async[a0_0x2b4509(0x1e5)](){const _0x595860=a0_0x2b4509;if(this[_0x595860(0x1d5)]=!0x1,this['sseAbort']?.[_0x595860(0x1ec)](),this[_0x595860(0x1fc)])clearInterval(this[_0x595860(0x1fc)]);await this['status'](_0x595860(0x201))[_0x595860(0x1de)](()=>{}),this['log'](_0x595860(0x206));}async['send'](_0x2b4958,_0xf9ecde,_0x458517=a0_0x2b4509(0x202)){const _0x4246e5=a0_0x2b4509;return this[_0x4246e5(0x1f7)](_0x4246e5(0x211),{'alias':_0x2b4958,'task':_0xf9ecde,'priority':_0x458517,'from_session':this['alias']});}async[a0_0x2b4509(0x1f2)](_0x22fed2,_0x46922a){const _0x35bc1f=a0_0x2b4509;return this['call']('send_message',{'alias':_0x22fed2,'message':_0x46922a,'from_session':this[_0x35bc1f(0x1f9)]});}async['reply'](_0x4138b5,_0xf1266a,_0x1a513a=a0_0x2b4509(0x21b)){const _0x269f30=a0_0x2b4509;return this['call'](_0x269f30(0x1f6),{'in_reply_to':_0x4138b5,'text':_0xf1266a,'status':_0x1a513a});}async[a0_0x2b4509(0x21c)](_0x1eff61,_0x234f27){const _0x1014ac=a0_0x2b4509;return this[_0x1014ac(0x1f7)]('report_status',{'resume_id':this[_0x1014ac(0x1e0)],'alias':this[_0x1014ac(0x1f9)],'status':_0x1eff61,'server':a0_0x1d6303(),'hostname':a0_0x1d6303(),'agent':this['agent'],'project_dir':process[_0x1014ac(0x1d2)](),..._0x234f27});}async[a0_0x2b4509(0x200)](){const _0x12a22c=a0_0x2b4509;return this[_0x12a22c(0x1f7)](_0x12a22c(0x1d3),{});}async['broadcast'](_0x36665c,_0x27b071){const _0x4ea681=a0_0x2b4509;return this[_0x4ea681(0x1f7)]('broadcast',{'message':_0x36665c,'filter_server':_0x27b071?.[_0x4ea681(0x220)],'filter_status':_0x27b071?.[_0x4ea681(0x21c)]});}async[a0_0x2b4509(0x205)](){const _0x243e9c=a0_0x2b4509;let _0x24293c=encodeURIComponent(this[_0x243e9c(0x1f9)]),_0x37bee0=this[_0x243e9c(0x20b)]+_0x243e9c(0x1db)+_0x24293c,_0x50b4b8=this[_0x243e9c(0x218)];while(this['running']){try{this[_0x243e9c(0x208)]=new AbortController();let _0x485c48={'Accept':_0x243e9c(0x1f3)};if(this[_0x243e9c(0x21a)])_0x485c48[_0x243e9c(0x1ea)]='Bearer\x20'+this[_0x243e9c(0x21a)];let _0x232c08=await fetch(_0x37bee0,{'headers':_0x485c48,'signal':this[_0x243e9c(0x208)][_0x243e9c(0x20e)]});if(!_0x232c08['ok']||!_0x232c08[_0x243e9c(0x219)]){this[_0x243e9c(0x1f5)](_0x243e9c(0x1d1)+_0x232c08[_0x243e9c(0x21c)]),await this['sleep'](_0x50b4b8),_0x50b4b8=Math[_0x243e9c(0x1e2)](_0x50b4b8*1.5,0xea60);continue;}_0x50b4b8=this[_0x243e9c(0x218)];let _0x439372=_0x232c08[_0x243e9c(0x219)]['getReader'](),_0x8128ad=new TextDecoder(),_0x5bb10f='';while(this[_0x243e9c(0x1d5)]){let {done:_0x1fbc09,value:_0x1e758b}=await _0x439372[_0x243e9c(0x21e)]();if(_0x1fbc09)break;_0x5bb10f+=_0x8128ad[_0x243e9c(0x1e4)](_0x1e758b,{'stream':!0x0});let _0xe5b50d=_0x5bb10f[_0x243e9c(0x1d8)]('\x0a');_0x5bb10f=_0xe5b50d[_0x243e9c(0x1f1)]()||'';for(let _0x1f5544 of _0xe5b50d){if(!_0x1f5544['startsWith'](_0x243e9c(0x21d)))continue;try{let _0x1e39ce=JSON[_0x243e9c(0x216)](_0x1f5544[_0x243e9c(0x1eb)](0x6));if(_0x1e39ce['type']==='connected'){this[_0x243e9c(0x1f5)](_0x243e9c(0x1cb)),this[_0x243e9c(0x1e8)](_0x243e9c(0x210));continue;}if(_0x1e39ce['type']==='new_task'||_0x1e39ce['type']==='new_message'||_0x1e39ce['type']==='broadcast')await this[_0x243e9c(0x215)]();}catch{}}}}catch(_0x55042f){if(_0x55042f[_0x243e9c(0x1d9)]===_0x243e9c(0x1cd))break;this[_0x243e9c(0x1e8)](_0x243e9c(0x203),_0x55042f),this[_0x243e9c(0x1f5)](_0x243e9c(0x1ef)+_0x55042f[_0x243e9c(0x1f2)]);}if(this[_0x243e9c(0x1d5)])this[_0x243e9c(0x1e8)]('disconnected'),this['log'](_0x243e9c(0x1e3)+_0x50b4b8/0x3e8+_0x243e9c(0x21f)),await this[_0x243e9c(0x1d4)](_0x50b4b8),_0x50b4b8=Math[_0x243e9c(0x1e2)](_0x50b4b8*1.5,0xea60);}}async[a0_0x2b4509(0x215)](){const _0x59775c=a0_0x2b4509;try{let _0x48397d=(await this[_0x59775c(0x1f7)](_0x59775c(0x1d0),{'alias':this[_0x59775c(0x1f9)],'limit':0xa}))?.[_0x59775c(0x1e1)]||[];for(let _0x198ecc of _0x48397d)await this[_0x59775c(0x1f7)](_0x59775c(0x209),{'alias':this[_0x59775c(0x1f9)],'message_id':_0x198ecc['id']}),this[_0x59775c(0x1f5)]('←\x20'+_0x198ecc[_0x59775c(0x1f4)]+':\x20'+_0x198ecc['content'][_0x59775c(0x1eb)](0x0,0x3c)),this[_0x59775c(0x1e8)]('task',_0x198ecc),this[_0x59775c(0x1e8)](_0x59775c(0x1f2),_0x198ecc);}catch(_0x49d4c0){this['log'](_0x59775c(0x1e6)+_0x49d4c0[_0x59775c(0x1f2)]);}}['sleep'](_0x54c77d){return new Promise(_0x28d263=>setTimeout(_0x28d263,_0x54c77d));}}var $=T;export{$ as default,T as CommHub};function a0_0x51ac(){const _0x1b7928=['emit','text','Authorization','slice','abort','60954RAXQAN','POST','SSE\x20error:\x20','toTimeString','pop','message','text/event-stream','from_session','log','send_reply','call','registered','alias','now',']\x20[commhub:','heartbeatTimer','heartbeat\x20failed:\x20','9988542sVTaus','12854220AxDfdK','getAllStatus','offline','normal','error','3628rxNEmB','connectSSE','disconnected','idle','sseAbort','ack_inbox','Bearer\x20','url','sdk-','connect','signal','/mcp','connected','send_task','6362188JoQPdc','content','94FeqdtI','processInbox','parse','859176YDVxqB','reconnectDelay','body','token','completed','status','data:\x20','read','s...','server','SSE\x20connected','19726mMhZmJ','AbortError','agent','result','get_inbox','SSE\x20failed:\x20','cwd','get_all_status','sleep','running','autoConnect','heartbeatInterval','split','name','application/json','/events/','771HehUqe','515QyXQmp','catch','replace','resumeId','messages','min','SSE\x20reconnecting\x20in\x20','decode','disconnect','inbox\x20error:\x20','match'];a0_0x51ac=function(){return _0x1b7928;};return a0_0x51ac();}
|
package/dist/src/node-server.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
const a0_0x2ef949=a0_0x1543;(function(_0x40afb0,_0x3aeef5){const _0x3ce9d2=a0_0x1543,_0x2ac270=_0x40afb0();while(!![]){try{const _0x210d95=-parseInt(_0x3ce9d2(0xd2))/0x1+-parseInt(_0x3ce9d2(0x113))/0x2*(parseInt(_0x3ce9d2(0xe9))/0x3)+parseInt(_0x3ce9d2(0xc5))/0x4*(-parseInt(_0x3ce9d2(0xf9))/0x5)+parseInt(_0x3ce9d2(0x10a))/0x6+parseInt(_0x3ce9d2(0x123))/0x7*(-parseInt(_0x3ce9d2(0x100))/0x8)+parseInt(_0x3ce9d2(0xb0))/0x9+parseInt(_0x3ce9d2(0xac))/0xa;if(_0x210d95===_0x3aeef5)break;else _0x2ac270['push'](_0x2ac270['shift']());}catch(_0x26e205){_0x2ac270['push'](_0x2ac270['shift']());}}}(a0_0xde0a,0x94af3));import{readFileSync as a0_0x4d54a6,existsSync as a0_0x2360fd}from'fs';import{randomUUID as a0_0x398362}from'crypto';import{join as a0_0x3df207}from'path';import{hostname as a0_0x4c64de}from'os';import{execSync as a0_0x492c53}from'child_process';import{Server as a0_0x52407d}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x413ca9}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x3a76a2,CallToolRequestSchema as a0_0x5cab8f}from'@modelcontextprotocol/sdk/types.js';function I(_0x4520f3){const _0x155e5e=a0_0x1543;if(!a0_0x2360fd(_0x4520f3))return;for(let _0xe60003 of a0_0x4d54a6(_0x4520f3,_0x155e5e(0x112))['split']('\x0a')){let _0x18b363=_0xe60003['trim']();if(!_0x18b363||_0x18b363[_0x155e5e(0xfd)]('#'))continue;let _0x2acc1b=_0x18b363[_0x155e5e(0x104)]('=');if(_0x2acc1b<0x0)continue;let _0x50bb80=_0x18b363[_0x155e5e(0xcf)](0x0,_0x2acc1b)[_0x155e5e(0x10c)](),_0x3b0fea=_0x18b363[_0x155e5e(0xcf)](_0x2acc1b+0x1)[_0x155e5e(0x10c)]()[_0x155e5e(0x129)](/^["']|["']$/g,'');if(!process.env[_0x50bb80])process.env[_0x50bb80]=_0x3b0fea;}}var L=process.env.HOME||'~',U=a0_0x3df207(L,a0_0x2ef949(0x106));I(a0_0x3df207(U,a0_0x2ef949(0xfe)));var v=process[a0_0x2ef949(0xb4)]()[a0_0x2ef949(0x129)](/\//g,'-');I(a0_0x3df207(U,v,a0_0x2ef949(0xfe)));function d(){const _0x186c16=a0_0x2ef949;try{return a0_0x492c53('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':_0x186c16(0x112),'timeout':0x7d0})[_0x186c16(0x10c)]();}catch{return'';}}function m(){const _0x408f1a=a0_0x2ef949;try{let _0x59ec5b=a0_0x3df207(L,'.anet',_0x408f1a(0xf5));if(a0_0x2360fd(_0x59ec5b))return JSON[_0x408f1a(0xd5)](a0_0x4d54a6(_0x59ec5b,_0x408f1a(0x112)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x2ef949(0xf3)]||a0_0x2ef949(0x115),f=process.env.COMMHUB_TMUX||d();function a0_0xde0a(){const _0x2f521=['.claude/channels/commhub','none','SSE\x20connected\x20as\x20\x22','result','552048duLpMP','\x20CWD=','trim','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','connecting\x20to\x20','/mcp','error','heartbeat\x20failed:\x20','utf-8','706zahVue','messages','http://127.0.0.1:9200','in_progress','SSE\x20connection\x20error:\x20','cancelled','Session\x20alias:\x20','SSE\x20fatal:\x20','get_inbox','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','unattributed-','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','now','/events/','number','catch','301LJIikL','registered\x20as\x20\x22','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','body','exit','replace','find','SSE\x20error:\x20','Bearer\x20','commhub_send_message','connected','params','offline','task','SSE\x20stream\x20ended,\x20reconnecting...','length','then','ack_inbox','\x20PROJECT_ENV=','blocked','application/json,\x20text/event-stream','\x20ALIAS=','0.3.0','init\x20failed:\x20','new_task','application/json','commhub_report_status','session\x20disconnected','\x20RESUME_ID=','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','2.0','message_id','Authorization','25989040CEnXor','toTimeString','stderr','pid','5796882SsbkIo','send_message','from_session','failed','cwd','decode','alias','notifications/claude/channel','ENV:\x20URL=','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','...\x20TMUX=','unknown\x20tool','2025-03-26','type','delete','tools/call','Task\x20content','no\x20response','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','status','notification','2614908tqNlvz','min','statusText',':\x20inbox_count=','get_all_status','message','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','object','normal','high','slice','shutting\x20down,\x20reporting\x20offline...','claude-code','908140gnqmUE','connect','POST','parse','stringify','Reply\x20text\x20/\x20result\x20summary','commhub_send_task','re-register\x20failed:\x20',']\x20[commhub]\x20','data:\x20','completed','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','report_status','end','set','\x20from\x20','\x20/\x20hostname=','commhub_reply','re-registered\x20as\x20\x22','inbox_count','Target\x20session\x20alias','commhub_get_all_status','text','6978rScgWw','idle','send_task','write','warning:\x20could\x20not\x20register:\x20','MCP\x20stdio\x20connected','parse\x20error:\x20','from','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','setRequestHandler','hub','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','config.json','fatal:\x20','content','priority','5qCUuTF','starting\x20SSE\x20listener...','\x22\x20(','→\x20injected\x20task\x20','startsWith','.env','commhub-channel','63824OTDlZy','SIGTERM','string','new_message','indexOf','split'];a0_0xde0a=function(){return _0x2f521;};return a0_0xde0a();}function r(){const _0x2577eb=a0_0x2ef949;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x2577eb(0x10c)]())return process.env.COMMHUB_ALIAS[_0x2577eb(0x10c)]();return process[_0x2577eb(0xae)]['write'](_0x2577eb(0xb9)+(_0x2577eb(0xf1)+(f||'(none)')+_0x2577eb(0xe2)+a0_0x4c64de()+_0x2577eb(0x11c))),_0x2577eb(0x11d)+process[_0x2577eb(0xaf)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x398362(),F=process.env.COMMHUB_TOKEN||u['token']||'';function W(_0x1c3a63){const _0x17b319=a0_0x2ef949;let _0x759fcd=new Date()[_0x17b319(0xad)]()['slice'](0x0,0x8);process[_0x17b319(0xae)][_0x17b319(0xec)]('['+_0x759fcd+_0x17b319(0xda)+_0x1c3a63+'\x0a');}function N(_0x527a0f){return new Promise(_0xc7506e=>setTimeout(_0xc7506e,_0x527a0f));}W(a0_0x2ef949(0xb8)+j+a0_0x2ef949(0x139)+G+a0_0x2ef949(0xa6)+K[a0_0x2ef949(0xcf)](0x0,0x8)+a0_0x2ef949(0xba)+(f||a0_0x2ef949(0x107))+a0_0x2ef949(0x10b)+process[a0_0x2ef949(0xb4)]()+a0_0x2ef949(0x136)+v);var D=new Map(),x=new a0_0x52407d({'name':a0_0x2ef949(0xff),'version':a0_0x2ef949(0x13a)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x2ef949(0xa8),a0_0x2ef949(0x11e),'Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.',a0_0x2ef949(0xdd),a0_0x2ef949(0x119)+G]['join']('\x0a')});function a0_0x1543(_0x5e2ea4,_0x1600f2){_0x5e2ea4=_0x5e2ea4-0xa3;const _0xde0a4c=a0_0xde0a();let _0x1543ca=_0xde0a4c[_0x5e2ea4];return _0x1543ca;}x['setRequestHandler'](a0_0x3a76a2,async()=>({'tools':[{'name':a0_0x2ef949(0xe3),'description':a0_0x2ef949(0x125),'inputSchema':{'type':a0_0x2ef949(0xcc),'properties':{'task_id':{'type':a0_0x2ef949(0x102),'description':a0_0x2ef949(0xcb)},'text':{'type':a0_0x2ef949(0x102),'description':a0_0x2ef949(0xd7)},'status':{'type':a0_0x2ef949(0x102),'enum':[a0_0x2ef949(0xdc),a0_0x2ef949(0xb3),a0_0x2ef949(0x118),a0_0x2ef949(0x137),a0_0x2ef949(0x110),a0_0x2ef949(0x116)],'description':a0_0x2ef949(0x126)}},'required':[a0_0x2ef949(0xe8)]}},{'name':a0_0x2ef949(0xa4),'description':a0_0x2ef949(0xa7),'inputSchema':{'type':a0_0x2ef949(0xcc),'properties':{'status':{'type':a0_0x2ef949(0x102),'enum':['working',a0_0x2ef949(0xea),'blocked',a0_0x2ef949(0x110)]},'task':{'type':a0_0x2ef949(0x102),'description':'Current\x20task\x20description'},'progress':{'type':a0_0x2ef949(0x121),'description':'Progress\x200-100'}},'required':[a0_0x2ef949(0xc3)]}},{'name':a0_0x2ef949(0xd8),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x2ef949(0xcc),'properties':{'alias':{'type':'string','description':a0_0x2ef949(0xe6)},'task':{'type':'string','description':a0_0x2ef949(0xc0)},'priority':{'type':a0_0x2ef949(0x102),'enum':[a0_0x2ef949(0xce),'normal','low'],'description':'Priority\x20(default:\x20normal)'}},'required':[a0_0x2ef949(0xb6),a0_0x2ef949(0x131)]}},{'name':a0_0x2ef949(0x12d),'description':a0_0x2ef949(0xc2),'inputSchema':{'type':a0_0x2ef949(0xcc),'properties':{'alias':{'type':a0_0x2ef949(0x102),'description':a0_0x2ef949(0xe6)},'message':{'type':a0_0x2ef949(0x102),'description':'Message\x20content'}},'required':[a0_0x2ef949(0xb6),'message']}},{'name':a0_0x2ef949(0xe7),'description':a0_0x2ef949(0xf4),'inputSchema':{'type':'object','properties':{}}}]}));async function Y(_0x15c14e,_0x516a61){const _0x2aafdc=a0_0x2ef949;let _0x229c09=await fetch(j+_0x2aafdc(0x10f),{'method':_0x2aafdc(0xd4),'headers':{'Content-Type':_0x2aafdc(0xa3),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x2aafdc(0x12c)+F}:{}},'body':JSON[_0x2aafdc(0xd6)]({'jsonrpc':_0x2aafdc(0xa9),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x2aafdc(0xbc),'capabilities':{},'clientInfo':{'name':_0x2aafdc(0xff),'version':'0.3.0'}}})});if(!_0x229c09['ok']){let _0x25e575=await _0x229c09[_0x2aafdc(0xe8)]();return W('CommHub\x20init\x20failed:\x20'+_0x229c09[_0x2aafdc(0xc3)]+'\x20'+_0x25e575[_0x2aafdc(0xcf)](0x0,0x64)),{'ok':!0x1,'error':_0x2aafdc(0x13b)+_0x229c09[_0x2aafdc(0xc3)]};}await _0x229c09[_0x2aafdc(0xe8)]();let _0x5ce1cf=(await(await fetch(j+_0x2aafdc(0x10f),{'method':'POST','headers':{'Content-Type':'application/json','Accept':_0x2aafdc(0x138),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x2aafdc(0xd6)]({'jsonrpc':_0x2aafdc(0xa9),'id':0x2,'method':_0x2aafdc(0xbf),'params':{'name':_0x15c14e,'arguments':_0x516a61}})}))[_0x2aafdc(0xe8)]())[_0x2aafdc(0x105)]('\x0a')['find'](_0x3e4502=>_0x3e4502[_0x2aafdc(0xfd)]('data:\x20'));if(_0x5ce1cf){let _0x34f421=JSON[_0x2aafdc(0xd5)](_0x5ce1cf[_0x2aafdc(0xcf)](0x6));return _0x34f421?.[_0x2aafdc(0x109)]?.['content']?.[0x0]?.[_0x2aafdc(0xe8)]?JSON[_0x2aafdc(0xd5)](_0x34f421[_0x2aafdc(0x109)][_0x2aafdc(0xf7)][0x0]['text']):_0x34f421;}return{'ok':!0x1,'error':_0x2aafdc(0xc1)};}x[a0_0x2ef949(0xf2)](a0_0x5cab8f,async _0x476e56=>{const _0x1a508e=a0_0x2ef949;let {name:_0x42141b,arguments:_0x411c52}=_0x476e56[_0x1a508e(0x12f)];if(_0x42141b==='commhub_reply'){let {task_id:_0x1f5dd9,text:_0x56199e,status:_0x3c2a7d}=_0x411c52;if(_0x3c2a7d==='completed'||_0x3c2a7d===_0x1a508e(0xb3)||_0x3c2a7d===_0x1a508e(0x118)){let _0x4bd937=_0x3c2a7d==='completed'?'replied':_0x3c2a7d,_0x232c44=_0x1f5dd9?D['get'](_0x1f5dd9)||_0x1a508e(0xf3):_0x1a508e(0xf3),_0x1ffb82=await Y('send_reply',{'alias':_0x232c44,'text':_0x56199e,'in_reply_to':_0x1f5dd9||void 0x0,'status':_0x4bd937,'from_session':G});if(_0x1f5dd9)D[_0x1a508e(0xbe)](_0x1f5dd9);return{'content':[{'type':'text','text':JSON[_0x1a508e(0xd6)](_0x1ffb82)}]};}let _0x41fd14=await Y('report_status',{'resume_id':K,'alias':G,'status':_0x3c2a7d===_0x1a508e(0x137)?'blocked':_0x3c2a7d===_0x1a508e(0x110)?'error':'working','task':_0x56199e['slice'](0x0,0xc8),'output':_0x56199e});return{'content':[{'type':'text','text':JSON[_0x1a508e(0xd6)](_0x41fd14)}]};}if(_0x42141b==='commhub_report_status'){let {status:_0xd52126,task:_0x107a04,progress:_0x51666a}=_0x411c52,_0x5c827f=await Y(_0x1a508e(0xde),{'resume_id':K,'alias':G,'status':_0xd52126,'task':_0x107a04,'progress':_0x51666a});return{'content':[{'type':_0x1a508e(0xe8),'text':JSON['stringify'](_0x5c827f)}]};}if(_0x42141b===_0x1a508e(0xd8)){let {alias:_0x454934,task:_0x16262b,priority:_0x17e511}=_0x411c52,_0x4e5010=await Y(_0x1a508e(0xeb),{'alias':_0x454934,'task':_0x16262b,'priority':_0x17e511||_0x1a508e(0xcd),'from_session':G});return{'content':[{'type':_0x1a508e(0xe8),'text':JSON['stringify'](_0x4e5010)}]};}if(_0x42141b==='commhub_send_message'){let {alias:_0x210dc6,message:_0x29242}=_0x411c52,_0x534913=await Y(_0x1a508e(0xb1),{'alias':_0x210dc6,'message':_0x29242,'from_session':G});return{'content':[{'type':_0x1a508e(0xe8),'text':JSON[_0x1a508e(0xd6)](_0x534913)}]};}if(_0x42141b===_0x1a508e(0xe7)){let _0x5606fe=await Y(_0x1a508e(0xc9),{});return{'content':[{'type':_0x1a508e(0xe8),'text':JSON[_0x1a508e(0xd6)](_0x5606fe)}]};}return{'content':[{'type':_0x1a508e(0xe8),'text':JSON[_0x1a508e(0xd6)]({'error':_0x1a508e(0xbb)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x2629a2=a0_0x2ef949;try{await Y(_0x2629a2(0xde),{'resume_id':K,'alias':G,'status':_0x2629a2(0xea),'server':a0_0x4c64de(),'hostname':a0_0x4c64de(),'agent':'claude-code','project_dir':process['cwd'](),'tmux_name':f||void 0x0}),W(_0x2629a2(0xe4)+G+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x5384ef){W(_0x2629a2(0xd9)+_0x5384ef);}}async function o(){const _0x327b88=a0_0x2ef949;let _0x14c376=j+_0x327b88(0x120)+encodeURIComponent(G),_0x4d01c9={};if(F)_0x4d01c9[_0x327b88(0xab)]=_0x327b88(0x12c)+F;W(_0x327b88(0x10e)+_0x14c376);let _0x5b5e11=O,_0x4f15ba=!0x0,_0x1b5f1d=null;while(!0x0){try{let _0x4dc888=await fetch(_0x14c376,{'headers':_0x4d01c9});if(!_0x4dc888['ok']){if(W(_0x327b88(0x12b)+_0x4dc888[_0x327b88(0xc3)]+'\x20'+_0x4dc888[_0x327b88(0xc7)]),_0x1b5f1d=_0x1b5f1d??Date[_0x327b88(0x11f)](),Date[_0x327b88(0x11f)]()-_0x1b5f1d>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。');return;}await N(_0x5b5e11),_0x5b5e11=Math[_0x327b88(0xc6)](_0x5b5e11*0x2,R);continue;}let _0x1f74ca=_0x4dc888[_0x327b88(0x127)]['getReader'](),_0x5d1c08=new TextDecoder(),_0x14c0f4='';_0x5b5e11=O;while(!0x0){let {done:_0x289da0,value:_0x2cbf53}=await _0x1f74ca['read']();if(_0x289da0)break;_0x14c0f4+=_0x5d1c08[_0x327b88(0xb5)](_0x2cbf53,{'stream':!0x0});let _0x177624=_0x14c0f4[_0x327b88(0x105)]('\x0a\x0a');_0x14c0f4=_0x177624['pop']()||'';for(let _0x1179ab of _0x177624){let _0x16ad9d=_0x1179ab[_0x327b88(0x105)]('\x0a')[_0x327b88(0x12a)](_0x13433c=>_0x13433c[_0x327b88(0xfd)](_0x327b88(0xdb)));if(!_0x16ad9d)continue;try{let _0x2345c8=JSON[_0x327b88(0xd5)](_0x16ad9d['slice'](0x6));if(await a(_0x2345c8),_0x2345c8[_0x327b88(0xbd)]===_0x327b88(0x12e)){if(_0x1b5f1d=null,!_0x4f15ba)await l();_0x4f15ba=!0x1;}}catch(_0x5f0bfd){W(_0x327b88(0xef)+_0x5f0bfd);}}}W(_0x327b88(0x132));}catch(_0x41f9f6){W(_0x327b88(0x117)+_0x41f9f6);}if(_0x1b5f1d=_0x1b5f1d??Date[_0x327b88(0x11f)](),Date['now']()-_0x1b5f1d>T){W(_0x327b88(0x10d)+j+')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。');return;}await N(_0x5b5e11),_0x5b5e11=Math[_0x327b88(0xc6)](_0x5b5e11*0x2,R);}}async function a(_0x3042ea){const _0x46df54=a0_0x2ef949;if(_0x3042ea[_0x46df54(0xbd)]===_0x46df54(0x12e)){W(_0x46df54(0x108)+G+'\x22');return;}if(_0x3042ea['type']===_0x46df54(0x103)){if(W('←\x20message\x20from\x20'+_0x3042ea[_0x46df54(0xf0)]+':\x20'+_0x3042ea[_0x46df54(0xca)]['slice'](0x0,0x3c)),await x['notification']({'method':_0x46df54(0xb7),'params':{'content':_0x3042ea[_0x46df54(0xca)],'meta':{'sender':_0x3042ea['from']||'hub','sender_id':'commhub','user':_0x3042ea['from']||_0x46df54(0xf3),'priority':'normal'}}}),_0x3042ea[_0x46df54(0xaa)])await Y(_0x46df54(0x135),{'alias':G,'message_id':_0x3042ea['message_id']});return;}if(_0x3042ea[_0x46df54(0xbd)]===_0x46df54(0x13c)||_0x3042ea[_0x46df54(0xbd)]==='broadcast'){W('←\x20'+_0x3042ea[_0x46df54(0xbd)]+_0x46df54(0xc8)+_0x3042ea[_0x46df54(0xe5)]+'\x20priority='+(_0x3042ea[_0x46df54(0xf8)]||'normal'));let _0x1b5b31=await Y(_0x46df54(0x11b),{'alias':G,'limit':0x5});if(_0x1b5b31?.['ok']&&_0x1b5b31[_0x46df54(0x114)]?.[_0x46df54(0x133)]>0x0)for(let _0x142952 of _0x1b5b31['messages']){let _0x41ced0={'sender':_0x142952[_0x46df54(0xb2)]||_0x46df54(0xf3),'sender_id':'commhub','user':_0x142952[_0x46df54(0xb2)]||'hub','task_id':_0x142952['id'],'priority':_0x142952[_0x46df54(0xf8)]||'normal'};D[_0x46df54(0xe0)](_0x142952['id'],_0x142952[_0x46df54(0xb2)]||_0x46df54(0xf3)),await x[_0x46df54(0xc4)]({'method':'notifications/claude/channel','params':{'content':_0x142952[_0x46df54(0xf7)],'meta':_0x41ced0}}),W(_0x46df54(0xfc)+_0x142952['id']['slice'](0x0,0x8)+_0x46df54(0xe1)+_0x142952[_0x46df54(0xb2)]+':\x20'+_0x142952['content'][_0x46df54(0xcf)](0x0,0x3c)),await Y(_0x46df54(0x135),{'alias':G,'message_id':_0x142952['id']});}}}async function n(){const _0x4506d7=a0_0x2ef949;let _0x3df388=new a0_0x413ca9();await x[_0x4506d7(0xd3)](_0x3df388),W(_0x4506d7(0xee)),W(_0x4506d7(0xfa)),o()['catch'](_0x4afe0d=>W(_0x4506d7(0x11a)+_0x4afe0d)),Y(_0x4506d7(0xde),{'resume_id':K,'alias':G,'status':_0x4506d7(0xea),'server':a0_0x4c64de(),'hostname':a0_0x4c64de(),'agent':_0x4506d7(0xd1),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x4506d7(0x134)](()=>W(_0x4506d7(0x124)+G+_0x4506d7(0xfb)+K[_0x4506d7(0xcf)](0x0,0x8)+')'))[_0x4506d7(0x122)](_0x19e17e=>W(_0x4506d7(0xed)+_0x19e17e)),setInterval(()=>{const _0xb74d9d=_0x4506d7;Y(_0xb74d9d(0xde),{'resume_id':K,'alias':G,'status':_0xb74d9d(0xea),'server':a0_0x4c64de(),'hostname':a0_0x4c64de(),'agent':_0xb74d9d(0xd1),'project_dir':process[_0xb74d9d(0xb4)](),'tmux_name':f||void 0x0})[_0xb74d9d(0x122)](_0x41d28e=>W(_0xb74d9d(0x111)+_0x41d28e));},0x2bf20),W('ready\x20—\x20waiting\x20for\x20events');}n()['catch'](_0x2ab1d4=>{const _0x5e9678=a0_0x2ef949;W(_0x5e9678(0xf6)+_0x2ab1d4),process[_0x5e9678(0x128)](0x1);});async function b(){const _0x2ade01=a0_0x2ef949;W(_0x2ade01(0xd0)),await Y(_0x2ade01(0xde),{'resume_id':K,'alias':G,'status':_0x2ade01(0x130),'task':_0x2ade01(0xa5)})['catch'](()=>{}),process[_0x2ade01(0x128)](0x0);}process['stdin']['on'](a0_0x2ef949(0xdf),()=>b()),process['on'](a0_0x2ef949(0x101),()=>b()),process['on']('SIGINT',()=>b());
|
|
2
|
+
const a0_0x428199=a0_0x17e9;(function(_0xa49539,_0x5e61de){const _0x557910=a0_0x17e9,_0x439bd5=_0xa49539();while(!![]){try{const _0x34a65d=parseInt(_0x557910(0x14c))/0x1+parseInt(_0x557910(0x151))/0x2*(-parseInt(_0x557910(0x147))/0x3)+parseInt(_0x557910(0x13d))/0x4+parseInt(_0x557910(0x14b))/0x5*(-parseInt(_0x557910(0x19b))/0x6)+parseInt(_0x557910(0x199))/0x7+parseInt(_0x557910(0x14d))/0x8+-parseInt(_0x557910(0x16a))/0x9*(parseInt(_0x557910(0x178))/0xa);if(_0x34a65d===_0x5e61de)break;else _0x439bd5['push'](_0x439bd5['shift']());}catch(_0x37fedf){_0x439bd5['push'](_0x439bd5['shift']());}}}(a0_0x10b9,0x34b38));import{readFileSync as a0_0x567be1,existsSync as a0_0x113046}from'fs';import{randomUUID as a0_0x518187}from'crypto';function a0_0x17e9(_0x1b32dd,_0x157267){_0x1b32dd=_0x1b32dd-0x11d;const _0x10b9e4=a0_0x10b9();let _0x17e984=_0x10b9e4[_0x1b32dd];return _0x17e984;}import{join as a0_0x3e60b7}from'path';import{hostname as a0_0x224891}from'os';import{execSync as a0_0xf75b1a}from'child_process';import{Server as a0_0x2b1d99}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x3db5a7}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x4277b,CallToolRequestSchema as a0_0x2ac4fd}from'@modelcontextprotocol/sdk/types.js';function I(_0x51f8be){const _0x5345a0=a0_0x17e9;if(!a0_0x113046(_0x51f8be))return;for(let _0x3a248e of a0_0x567be1(_0x51f8be,_0x5345a0(0x156))[_0x5345a0(0x157)]('\x0a')){let _0xe4a48=_0x3a248e[_0x5345a0(0x153)]();if(!_0xe4a48||_0xe4a48[_0x5345a0(0x152)]('#'))continue;let _0x280f25=_0xe4a48[_0x5345a0(0x1ac)]('=');if(_0x280f25<0x0)continue;let _0x3b07ac=_0xe4a48['slice'](0x0,_0x280f25)[_0x5345a0(0x153)](),_0x921fb3=_0xe4a48[_0x5345a0(0x173)](_0x280f25+0x1)['trim']()[_0x5345a0(0x133)](/^["']|["']$/g,'');if(!process.env[_0x3b07ac])process.env[_0x3b07ac]=_0x921fb3;}}var L=process.env.HOME||'~',U=a0_0x3e60b7(L,a0_0x428199(0x15c));I(a0_0x3e60b7(U,a0_0x428199(0x195)));var v=process[a0_0x428199(0x14e)]()[a0_0x428199(0x133)](/\//g,'-');I(a0_0x3e60b7(U,v,a0_0x428199(0x195)));function d(){const _0x1ab4fb=a0_0x428199;try{return a0_0xf75b1a(_0x1ab4fb(0x128),{'encoding':_0x1ab4fb(0x156),'timeout':0x7d0})[_0x1ab4fb(0x153)]();}catch{return'';}}function m(){const _0x516498=a0_0x428199;try{let _0x46f8aa=a0_0x3e60b7(L,_0x516498(0x14a),'config.json');if(a0_0x113046(_0x46f8aa))return JSON[_0x516498(0x129)](a0_0x567be1(_0x46f8aa,_0x516498(0x156)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x428199(0x12e)]||'http://127.0.0.1:9200',f=process.env.COMMHUB_TMUX||d();function r(){const _0x1c6d4f=a0_0x428199;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS['trim']())return process.env.COMMHUB_ALIAS[_0x1c6d4f(0x153)]();return process[_0x1c6d4f(0x185)]['write'](_0x1c6d4f(0x124)+(_0x1c6d4f(0x1a0)+(f||_0x1c6d4f(0x1aa))+_0x1c6d4f(0x1a2)+a0_0x224891()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),_0x1c6d4f(0x17c)+process[_0x1c6d4f(0x180)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x518187(),F=process.env.COMMHUB_TOKEN||u[a0_0x428199(0x122)]||'';function W(_0x12a078){const _0x4b591f=a0_0x428199;let _0xc869d5=new Date()[_0x4b591f(0x161)]()[_0x4b591f(0x173)](0x0,0x8);process[_0x4b591f(0x185)][_0x4b591f(0x182)]('['+_0xc869d5+_0x4b591f(0x1a9)+_0x12a078+'\x0a');}function N(_0x2ad54a){return new Promise(_0x28eddc=>setTimeout(_0x28eddc,_0x2ad54a));}W(a0_0x428199(0x155)+j+a0_0x428199(0x186)+G+'\x20RESUME_ID='+K[a0_0x428199(0x173)](0x0,0x8)+a0_0x428199(0x13e)+(f||'none')+a0_0x428199(0x134)+process[a0_0x428199(0x14e)]()+a0_0x428199(0x175)+v);var D=new Map(),x=new a0_0x2b1d99({'name':'commhub-channel','version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':['Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>',a0_0x428199(0x187),a0_0x428199(0x18e),'You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.',a0_0x428199(0x192)+G][a0_0x428199(0x143)]('\x0a')});x[a0_0x428199(0x148)](a0_0x4277b,async()=>({'tools':[{'name':a0_0x428199(0x1a4),'description':a0_0x428199(0x135),'inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0x428199(0x194),'description':a0_0x428199(0x142)},'text':{'type':a0_0x428199(0x194),'description':a0_0x428199(0x165)},'status':{'type':a0_0x428199(0x194),'enum':[a0_0x428199(0x139),'failed',a0_0x428199(0x15e),'blocked','error',a0_0x428199(0x19f)],'description':'Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'}},'required':[a0_0x428199(0x17a)]}},{'name':a0_0x428199(0x140),'description':a0_0x428199(0x197),'inputSchema':{'type':a0_0x428199(0x125),'properties':{'status':{'type':a0_0x428199(0x194),'enum':[a0_0x428199(0x12d),a0_0x428199(0x1a7),a0_0x428199(0x13a),a0_0x428199(0x15f)]},'task':{'type':a0_0x428199(0x194),'description':a0_0x428199(0x1a6)},'progress':{'type':a0_0x428199(0x16d),'description':a0_0x428199(0x17d)}},'required':['status']}},{'name':a0_0x428199(0x181),'description':a0_0x428199(0x146),'inputSchema':{'type':a0_0x428199(0x125),'properties':{'alias':{'type':a0_0x428199(0x194),'description':a0_0x428199(0x149)},'task':{'type':a0_0x428199(0x194),'description':a0_0x428199(0x18f)},'priority':{'type':'string','enum':[a0_0x428199(0x15d),'normal','low'],'description':a0_0x428199(0x184)}},'required':[a0_0x428199(0x183),a0_0x428199(0x141)]}},{'name':a0_0x428199(0x127),'description':a0_0x428199(0x126),'inputSchema':{'type':'object','properties':{'alias':{'type':'string','description':a0_0x428199(0x149)},'message':{'type':'string','description':'Message\x20content'}},'required':['alias',a0_0x428199(0x16b)]}},{'name':a0_0x428199(0x164),'description':a0_0x428199(0x12f),'inputSchema':{'type':a0_0x428199(0x125),'properties':{}}}]}));async function Y(_0x8f4818,_0x253e65){const _0x572991=a0_0x428199;let _0xff4c40=await fetch(j+_0x572991(0x1b0),{'method':_0x572991(0x136),'headers':{'Content-Type':_0x572991(0x18b),'Accept':_0x572991(0x171),...F?{'Authorization':_0x572991(0x158)+F}:{}},'body':JSON[_0x572991(0x15a)]({'jsonrpc':_0x572991(0x170),'id':0x1,'method':_0x572991(0x121),'params':{'protocolVersion':_0x572991(0x189),'capabilities':{},'clientInfo':{'name':_0x572991(0x1ab),'version':'0.3.0'}}})});if(!_0xff4c40['ok']){let _0x1d2b56=await _0xff4c40['text']();return W(_0x572991(0x12b)+_0xff4c40[_0x572991(0x191)]+'\x20'+_0x1d2b56['slice'](0x0,0x64)),{'ok':!0x1,'error':_0x572991(0x120)+_0xff4c40[_0x572991(0x191)]};}await _0xff4c40[_0x572991(0x17a)]();let _0x1d9bd9=(await(await fetch(j+_0x572991(0x1b0),{'method':'POST','headers':{'Content-Type':_0x572991(0x18b),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x572991(0x158)+F}:{}},'body':JSON[_0x572991(0x15a)]({'jsonrpc':_0x572991(0x170),'id':0x2,'method':_0x572991(0x12c),'params':{'name':_0x8f4818,'arguments':_0x253e65}})}))[_0x572991(0x17a)]())['split']('\x0a')['find'](_0x503bad=>_0x503bad['startsWith'](_0x572991(0x1b1)));if(_0x1d9bd9){let _0x5abd29=JSON[_0x572991(0x129)](_0x1d9bd9['slice'](0x6));return _0x5abd29?.[_0x572991(0x1a3)]?.[_0x572991(0x145)]?.[0x0]?.[_0x572991(0x17a)]?JSON[_0x572991(0x129)](_0x5abd29['result'][_0x572991(0x145)][0x0][_0x572991(0x17a)]):_0x5abd29;}return{'ok':!0x1,'error':_0x572991(0x193)};}x[a0_0x428199(0x148)](a0_0x2ac4fd,async _0x1fd039=>{const _0x27e9d7=a0_0x428199;let {name:_0x4362d5,arguments:_0x24acd4}=_0x1fd039[_0x27e9d7(0x154)];if(_0x4362d5==='commhub_reply'){let {task_id:_0x5b6a4e,text:_0x296269,status:_0x1fc0ab}=_0x24acd4;if(_0x1fc0ab==='completed'||_0x1fc0ab==='failed'||_0x1fc0ab===_0x27e9d7(0x15e)){let _0x48d45a=_0x1fc0ab===_0x27e9d7(0x139)?_0x27e9d7(0x1ae):_0x1fc0ab,_0x11afeb=_0x5b6a4e?D[_0x27e9d7(0x18a)](_0x5b6a4e)||_0x27e9d7(0x12e):_0x27e9d7(0x12e),_0x11d770=await Y(_0x27e9d7(0x190),{'alias':_0x11afeb,'text':_0x296269,'in_reply_to':_0x5b6a4e||void 0x0,'status':_0x48d45a,'from_session':G});if(_0x5b6a4e)D['delete'](_0x5b6a4e);return{'content':[{'type':_0x27e9d7(0x17a),'text':JSON['stringify'](_0x11d770)}]};}let _0x1f2340=await Y(_0x27e9d7(0x167),{'resume_id':K,'alias':G,'status':_0x1fc0ab===_0x27e9d7(0x13a)?_0x27e9d7(0x13a):_0x1fc0ab===_0x27e9d7(0x15f)?_0x27e9d7(0x15f):_0x27e9d7(0x12d),'task':_0x296269['slice'](0x0,0xc8),'output':_0x296269});return{'content':[{'type':_0x27e9d7(0x17a),'text':JSON[_0x27e9d7(0x15a)](_0x1f2340)}]};}if(_0x4362d5===_0x27e9d7(0x140)){let {status:_0x598a74,task:_0x5eafe7,progress:_0x29b1b4}=_0x24acd4,_0x3180e9=await Y(_0x27e9d7(0x167),{'resume_id':K,'alias':G,'status':_0x598a74,'task':_0x5eafe7,'progress':_0x29b1b4});return{'content':[{'type':'text','text':JSON[_0x27e9d7(0x15a)](_0x3180e9)}]};}if(_0x4362d5===_0x27e9d7(0x181)){let {alias:_0x1976bb,task:_0x2f92b4,priority:_0x155388}=_0x24acd4,_0x2f289c=await Y('send_task',{'alias':_0x1976bb,'task':_0x2f92b4,'priority':_0x155388||_0x27e9d7(0x17b),'from_session':G});return{'content':[{'type':_0x27e9d7(0x17a),'text':JSON['stringify'](_0x2f289c)}]};}if(_0x4362d5===_0x27e9d7(0x127)){let {alias:_0x152708,message:_0x48d6a3}=_0x24acd4,_0x1c2e36=await Y('send_message',{'alias':_0x152708,'message':_0x48d6a3,'from_session':G});return{'content':[{'type':_0x27e9d7(0x17a),'text':JSON[_0x27e9d7(0x15a)](_0x1c2e36)}]};}if(_0x4362d5==='commhub_get_all_status'){let _0x5a8100=await Y('get_all_status',{});return{'content':[{'type':'text','text':JSON[_0x27e9d7(0x15a)](_0x5a8100)}]};}return{'content':[{'type':_0x27e9d7(0x17a),'text':JSON[_0x27e9d7(0x15a)]({'error':'unknown\x20tool'})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x1b92bf=a0_0x428199;try{await Y(_0x1b92bf(0x167),{'resume_id':K,'alias':G,'status':_0x1b92bf(0x1a7),'server':a0_0x224891(),'hostname':a0_0x224891(),'agent':_0x1b92bf(0x19e),'project_dir':process['cwd'](),'tmux_name':f||void 0x0}),W(_0x1b92bf(0x163)+G+_0x1b92bf(0x17f));}catch(_0x57c27d){W(_0x1b92bf(0x162)+_0x57c27d);}}async function o(){const _0x5ba89a=a0_0x428199;let _0x4008d6=j+_0x5ba89a(0x18d)+encodeURIComponent(G),_0x44e10a={};if(F)_0x44e10a['Authorization']='Bearer\x20'+F;W(_0x5ba89a(0x169)+_0x4008d6);let _0x4dca3e=O,_0x3c893e=!0x0,_0x1eaac0=null;while(!0x0){try{let _0x2529a9=await fetch(_0x4008d6,{'headers':_0x44e10a});if(!_0x2529a9['ok']){if(W(_0x5ba89a(0x174)+_0x2529a9['status']+'\x20'+_0x2529a9[_0x5ba89a(0x196)]),_0x1eaac0=_0x1eaac0??Date['now'](),Date[_0x5ba89a(0x13f)]()-_0x1eaac0>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x5ba89a(0x172));return;}await N(_0x4dca3e),_0x4dca3e=Math[_0x5ba89a(0x13c)](_0x4dca3e*0x2,R);continue;}let _0x367499=_0x2529a9['body'][_0x5ba89a(0x15b)](),_0x5b6827=new TextDecoder(),_0x5265b9='';_0x4dca3e=O;while(!0x0){let {done:_0x10b8aa,value:_0x40412b}=await _0x367499['read']();if(_0x10b8aa)break;_0x5265b9+=_0x5b6827['decode'](_0x40412b,{'stream':!0x0});let _0x7d6a04=_0x5265b9[_0x5ba89a(0x157)]('\x0a\x0a');_0x5265b9=_0x7d6a04[_0x5ba89a(0x150)]()||'';for(let _0x1327bc of _0x7d6a04){let _0x4c778a=_0x1327bc['split']('\x0a')['find'](_0x4cd08e=>_0x4cd08e[_0x5ba89a(0x152)](_0x5ba89a(0x1b1)));if(!_0x4c778a)continue;try{let _0xaf659b=JSON[_0x5ba89a(0x129)](_0x4c778a[_0x5ba89a(0x173)](0x6));if(await a(_0xaf659b),_0xaf659b[_0x5ba89a(0x160)]===_0x5ba89a(0x123)){if(_0x1eaac0=null,!_0x3c893e)await l();_0x3c893e=!0x1;}}catch(_0x869b94){W(_0x5ba89a(0x1af)+_0x869b94);}}}W('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x2b92de){W(_0x5ba89a(0x131)+_0x2b92de);}if(_0x1eaac0=_0x1eaac0??Date[_0x5ba89a(0x13f)](),Date[_0x5ba89a(0x13f)]()-_0x1eaac0>T){W(_0x5ba89a(0x179)+j+_0x5ba89a(0x172));return;}await N(_0x4dca3e),_0x4dca3e=Math[_0x5ba89a(0x13c)](_0x4dca3e*0x2,R);}}function a0_0x10b9(){const _0x3bb166=['completed','blocked','priority','min','1656204eUvJpA','...\x20TMUX=','now','commhub_report_status','task','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','join','from','content','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','981FhRVFj','setRequestHandler','Target\x20session\x20alias','.anet','50YixqeM','66220WrWnhF','567808ZwHDHD','cwd','length','pop','1678EngiOP','startsWith','trim','params','ENV:\x20URL=','utf-8','split','Bearer\x20','ready\x20—\x20waiting\x20for\x20events','stringify','getReader','.claude/channels/commhub','high','cancelled','error','type','toTimeString','re-register\x20failed:\x20','re-registered\x20as\x20\x22','commhub_get_all_status','Reply\x20text\x20/\x20result\x20summary','commhub','report_status','catch','connecting\x20to\x20','45SyRkzn','message','shutting\x20down,\x20reporting\x20offline...','number','from_session','set','2.0','application/json,\x20text/event-stream',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','slice','SSE\x20error:\x20','\x20PROJECT_ENV=','new_task','broadcast','100180YztqMu','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','text','normal','unattributed-','Progress\x200-100','ack_inbox','\x22\x20after\x20SSE\x20reconnect','pid','commhub_send_task','write','alias','Priority\x20(default:\x20normal)','stderr','\x20ALIAS=','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.',':\x20inbox_count=','2025-03-26','get','application/json','new_message','/events/','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','Task\x20content','send_reply','status','Session\x20alias:\x20','no\x20response','string','.env','statusText','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','notifications/claude/channel','1989470mbniBl','→\x20injected\x20task\x20','177090AbpNYg','notification','message_id','claude-code','in_progress','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','warning:\x20could\x20not\x20register:\x20','\x20/\x20hostname=','result','commhub_reply','←\x20message\x20from\x20','Current\x20task\x20description','idle','MCP\x20stdio\x20connected',']\x20[commhub]\x20','(none)','commhub-channel','indexOf','exit','replied','parse\x20error:\x20','/mcp','data:\x20','fatal:\x20','\x22\x20(','messages','end','init\x20failed:\x20','initialize','token','connected','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','object','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','commhub_send_message','tmux\x20display-message\x20-p\x20\x27#S\x27','parse','starting\x20SSE\x20listener...','CommHub\x20init\x20failed:\x20','tools/call','working','hub','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','session\x20disconnected','SSE\x20connection\x20error:\x20','registered\x20as\x20\x22','replace','\x20CWD=','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','POST','get_inbox','SIGINT'];a0_0x10b9=function(){return _0x3bb166;};return a0_0x10b9();}async function a(_0x3243ee){const _0x19889d=a0_0x428199;if(_0x3243ee[_0x19889d(0x160)]===_0x19889d(0x123)){W('SSE\x20connected\x20as\x20\x22'+G+'\x22');return;}if(_0x3243ee['type']===_0x19889d(0x18c)){if(W(_0x19889d(0x1a5)+_0x3243ee[_0x19889d(0x144)]+':\x20'+_0x3243ee[_0x19889d(0x16b)]['slice'](0x0,0x3c)),await x[_0x19889d(0x19c)]({'method':'notifications/claude/channel','params':{'content':_0x3243ee[_0x19889d(0x16b)],'meta':{'sender':_0x3243ee[_0x19889d(0x144)]||_0x19889d(0x12e),'sender_id':_0x19889d(0x166),'user':_0x3243ee[_0x19889d(0x144)]||_0x19889d(0x12e),'priority':_0x19889d(0x17b)}}}),_0x3243ee[_0x19889d(0x19d)])await Y(_0x19889d(0x17e),{'alias':G,'message_id':_0x3243ee[_0x19889d(0x19d)]});return;}if(_0x3243ee['type']===_0x19889d(0x176)||_0x3243ee[_0x19889d(0x160)]===_0x19889d(0x177)){W('←\x20'+_0x3243ee[_0x19889d(0x160)]+_0x19889d(0x188)+_0x3243ee['inbox_count']+'\x20priority='+(_0x3243ee[_0x19889d(0x13b)]||_0x19889d(0x17b)));let _0x3f005f=await Y(_0x19889d(0x137),{'alias':G,'limit':0x5});if(_0x3f005f?.['ok']&&_0x3f005f['messages']?.[_0x19889d(0x14f)]>0x0)for(let _0x335fc1 of _0x3f005f[_0x19889d(0x11e)]){let _0x45daa4={'sender':_0x335fc1['from_session']||_0x19889d(0x12e),'sender_id':_0x19889d(0x166),'user':_0x335fc1[_0x19889d(0x16e)]||'hub','task_id':_0x335fc1['id'],'priority':_0x335fc1[_0x19889d(0x13b)]||_0x19889d(0x17b)};D[_0x19889d(0x16f)](_0x335fc1['id'],_0x335fc1[_0x19889d(0x16e)]||_0x19889d(0x12e)),await x[_0x19889d(0x19c)]({'method':_0x19889d(0x198),'params':{'content':_0x335fc1[_0x19889d(0x145)],'meta':_0x45daa4}}),W(_0x19889d(0x19a)+_0x335fc1['id']['slice'](0x0,0x8)+'\x20from\x20'+_0x335fc1[_0x19889d(0x16e)]+':\x20'+_0x335fc1[_0x19889d(0x145)][_0x19889d(0x173)](0x0,0x3c)),await Y(_0x19889d(0x17e),{'alias':G,'message_id':_0x335fc1['id']});}}}async function n(){const _0x2b9737=a0_0x428199;let _0x518b51=new a0_0x3db5a7();await x['connect'](_0x518b51),W(_0x2b9737(0x1a8)),W(_0x2b9737(0x12a)),o()[_0x2b9737(0x168)](_0x2deead=>W('SSE\x20fatal:\x20'+_0x2deead)),Y(_0x2b9737(0x167),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x224891(),'hostname':a0_0x224891(),'agent':_0x2b9737(0x19e),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})['then'](()=>W(_0x2b9737(0x132)+G+_0x2b9737(0x11d)+K['slice'](0x0,0x8)+')'))[_0x2b9737(0x168)](_0x1e1056=>W(_0x2b9737(0x1a1)+_0x1e1056)),setInterval(()=>{const _0x4b1785=_0x2b9737;Y(_0x4b1785(0x167),{'resume_id':K,'alias':G,'status':_0x4b1785(0x1a7),'server':a0_0x224891(),'hostname':a0_0x224891(),'agent':_0x4b1785(0x19e),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x4b1785(0x168)](_0x5a9af3=>W('heartbeat\x20failed:\x20'+_0x5a9af3));},0x2bf20),W(_0x2b9737(0x159));}n()[a0_0x428199(0x168)](_0x428e41=>{const _0x459451=a0_0x428199;W(_0x459451(0x1b2)+_0x428e41),process[_0x459451(0x1ad)](0x1);});async function b(){const _0x2d10cf=a0_0x428199;W(_0x2d10cf(0x16c)),await Y(_0x2d10cf(0x167),{'resume_id':K,'alias':G,'status':'offline','task':_0x2d10cf(0x130)})[_0x2d10cf(0x168)](()=>{}),process[_0x2d10cf(0x1ad)](0x0);}process['stdin']['on'](a0_0x428199(0x11f),()=>b()),process['on']('SIGTERM',()=>b()),process['on'](a0_0x428199(0x138),()=>b());
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "AI Agent Network CLI
|
|
3
|
+
"version": "2.3.0-preview.0",
|
|
4
|
+
"description": "AI Agent Network CLI \u2014 Local-first multi-agent orchestration across 4 runtimes (Claude Code CLI / Claude Agent SDK / Codex SDK / Grok Build ACP) and 8+ LLM providers (Anthropic / OpenAI / xAI Grok / MiniMax / DeepSeek / GLM / Kimi / InternLM / Xiaomi MiMo / OpenRouter). Apache 2.0.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/client.js",
|
|
7
7
|
"types": "dist/client.d.ts",
|