@sleep2agi/agent-network 2.2.15 → 2.2.17-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
|
-
function
|
|
1
|
+
const a0_0x54ad4a=a0_0x1179;function a0_0x4bb5(){const _0x2ecc00=['log','send_message','sleep','url','heartbeatTimer','completed','reply','15066601SsoQRd','min','/mcp','decode','resumeId','send','AbortError','send_reply','3299007OoItjB','POST','text','offline','application/json','24198rhdGTf','data:\x20','error','295tsOhyE','/events/','running','new_task','catch','startsWith','connect','heartbeatInterval','slice','now','type','text/event-stream','connected','status','reconnectDelay','broadcast','stringify','message','1232nWgBKG','inbox\x20error:\x20','match','SSE\x20connected','processInbox','registered','pop','emit','20npyPTl','28672FGPOdB','getReader','task','get_all_status','get_inbox','result','heartbeat\x20failed:\x20','idle','Authorization','1731321xTdQdq','sdk','send_task','1065352EHwHOh','1YmltXk','sseAbort','body','disconnected','messages','SSE\x20failed:\x20','SSE\x20reconnecting\x20in\x20','connectSSE','new_message','autoConnect','2.0','sdk-','3374824iXzKpa','call','Bearer\x20','replace','alias','parse','from_session','content','agent','token','signal','getAllStatus','application/json,\x20text/event-stream'];a0_0x4bb5=function(){return _0x2ecc00;};return a0_0x4bb5();}(function(_0x47fc68,_0x3c5c56){const _0x4e8a1f=a0_0x1179,_0x5385bf=_0x47fc68();while(!![]){try{const _0x984220=parseInt(_0x4e8a1f(0x15a))/0x1*(-parseInt(_0x4e8a1f(0x159))/0x2)+-parseInt(_0x4e8a1f(0x182))/0x3+parseInt(_0x4e8a1f(0x166))/0x4+-parseInt(_0x4e8a1f(0x132))/0x5*(-parseInt(_0x4e8a1f(0x12f))/0x6)+-parseInt(_0x4e8a1f(0x144))/0x7*(parseInt(_0x4e8a1f(0x14d))/0x8)+-parseInt(_0x4e8a1f(0x156))/0x9*(-parseInt(_0x4e8a1f(0x14c))/0xa)+parseInt(_0x4e8a1f(0x17a))/0xb;if(_0x984220===_0x3c5c56)break;else _0x5385bf['push'](_0x5385bf['shift']());}catch(_0x5dbfdc){_0x5385bf['push'](_0x5385bf['shift']());}}}(a0_0x4bb5,0x8be19));import{EventEmitter as a0_0x299204}from'events';import{hostname as a0_0x55b6a3}from'os';function a0_0x1179(_0x31aee8,_0x300f95){_0x31aee8=_0x31aee8-0x12c;const _0x4bb544=a0_0x4bb5();let _0x117993=_0x4bb544[_0x31aee8];return _0x117993;}class T extends a0_0x299204{[a0_0x54ad4a(0x176)];[a0_0x54ad4a(0x16a)];[a0_0x54ad4a(0x16f)];['agent'];[a0_0x54ad4a(0x17e)];[a0_0x54ad4a(0x139)];[a0_0x54ad4a(0x140)];[a0_0x54ad4a(0x177)];['sseAbort'];[a0_0x54ad4a(0x134)]=!0x1;constructor(_0x2d619e){const _0x29727b=a0_0x54ad4a;super();if(this[_0x29727b(0x176)]=_0x2d619e['url'][_0x29727b(0x169)](/\/$/,''),this[_0x29727b(0x16a)]=_0x2d619e[_0x29727b(0x16a)],this[_0x29727b(0x16f)]=_0x2d619e[_0x29727b(0x16f)],this[_0x29727b(0x16e)]=_0x2d619e[_0x29727b(0x16e)]||_0x29727b(0x157),this[_0x29727b(0x17e)]=_0x29727b(0x165)+_0x2d619e['alias']+'-'+Date[_0x29727b(0x13b)]()['toString'](0x24),this[_0x29727b(0x139)]=_0x2d619e['heartbeatInterval']??0x2bf20,this[_0x29727b(0x140)]=_0x2d619e['reconnectDelay']??0xbb8,_0x2d619e[_0x29727b(0x163)]!==!0x1)this['connect']();}[a0_0x54ad4a(0x173)](_0x9936b6){const _0x43efe3=a0_0x54ad4a;console['log']('['+new Date()['toTimeString']()['slice'](0x0,0x8)+']\x20[commhub:'+this[_0x43efe3(0x16a)]+']\x20'+_0x9936b6);}async[a0_0x54ad4a(0x167)](_0x40c4c2,_0x46d149){const _0x367447=a0_0x54ad4a;let _0x4819b5={'Content-Type':_0x367447(0x12e),'Accept':_0x367447(0x172)};if(this[_0x367447(0x16f)])_0x4819b5[_0x367447(0x155)]=_0x367447(0x168)+this[_0x367447(0x16f)];let _0x4bb61f=await(await fetch(this[_0x367447(0x176)]+_0x367447(0x17c),{'method':_0x367447(0x183),'headers':_0x4819b5,'body':JSON[_0x367447(0x142)]({'jsonrpc':_0x367447(0x164),'id':Date[_0x367447(0x13b)](),'method':'tools/call','params':{'name':_0x40c4c2,'arguments':_0x46d149}})}))[_0x367447(0x12c)](),_0x5e4fb1=_0x4bb61f[_0x367447(0x146)](/data: (.+)/),_0x5a13c4=_0x5e4fb1?JSON['parse'](_0x5e4fb1[0x1]):JSON['parse'](_0x4bb61f),_0x197d87=_0x5a13c4?.[_0x367447(0x152)]?.[_0x367447(0x16d)]?.[0x0]?.[_0x367447(0x12c)];return _0x197d87?JSON[_0x367447(0x16b)](_0x197d87):_0x5a13c4;}async[a0_0x54ad4a(0x138)](){const _0x5cc11b=a0_0x54ad4a;if(this[_0x5cc11b(0x134)])return;this[_0x5cc11b(0x134)]=!0x0,await this[_0x5cc11b(0x13f)]('idle'),this[_0x5cc11b(0x173)](_0x5cc11b(0x149)),this['heartbeatTimer']=setInterval(()=>{const _0x2ace85=_0x5cc11b;this[_0x2ace85(0x13f)](_0x2ace85(0x154))['catch'](_0x195358=>this[_0x2ace85(0x173)](_0x2ace85(0x153)+_0x195358[_0x2ace85(0x143)]));},this[_0x5cc11b(0x139)]),this[_0x5cc11b(0x161)]();}async['disconnect'](){const _0x1ab103=a0_0x54ad4a;if(this[_0x1ab103(0x134)]=!0x1,this[_0x1ab103(0x15b)]?.['abort'](),this[_0x1ab103(0x177)])clearInterval(this[_0x1ab103(0x177)]);await this[_0x1ab103(0x13f)](_0x1ab103(0x12d))[_0x1ab103(0x136)](()=>{}),this[_0x1ab103(0x173)](_0x1ab103(0x15d));}async[a0_0x54ad4a(0x17f)](_0x35c14d,_0x5aef80,_0x19cac9='normal'){const _0x2cdba1=a0_0x54ad4a;return this[_0x2cdba1(0x167)](_0x2cdba1(0x158),{'alias':_0x35c14d,'task':_0x5aef80,'priority':_0x19cac9,'from_session':this['alias']});}async[a0_0x54ad4a(0x143)](_0xdddfe3,_0x176cff){const _0x81bff5=a0_0x54ad4a;return this[_0x81bff5(0x167)](_0x81bff5(0x174),{'alias':_0xdddfe3,'message':_0x176cff,'from_session':this[_0x81bff5(0x16a)]});}async[a0_0x54ad4a(0x179)](_0xb04e2d,_0x1c3141,_0x50eb64=a0_0x54ad4a(0x178)){const _0x4b6a83=a0_0x54ad4a;return this[_0x4b6a83(0x167)](_0x4b6a83(0x181),{'in_reply_to':_0xb04e2d,'text':_0x1c3141,'status':_0x50eb64});}async[a0_0x54ad4a(0x13f)](_0x4d6b6,_0x1f0b5b){const _0x10160e=a0_0x54ad4a;return this[_0x10160e(0x167)]('report_status',{'resume_id':this[_0x10160e(0x17e)],'alias':this['alias'],'status':_0x4d6b6,'server':a0_0x55b6a3(),'hostname':a0_0x55b6a3(),'agent':this['agent'],'project_dir':process['cwd'](),..._0x1f0b5b});}async[a0_0x54ad4a(0x171)](){const _0x2c6a84=a0_0x54ad4a;return this[_0x2c6a84(0x167)](_0x2c6a84(0x150),{});}async[a0_0x54ad4a(0x141)](_0x29035,_0x1351a9){const _0x558a6b=a0_0x54ad4a;return this[_0x558a6b(0x167)]('broadcast',{'message':_0x29035,'filter_server':_0x1351a9?.['server'],'filter_status':_0x1351a9?.[_0x558a6b(0x13f)]});}async['connectSSE'](){const _0x2b5d11=a0_0x54ad4a;let _0x5b829f=encodeURIComponent(this[_0x2b5d11(0x16a)]),_0x17391b=this[_0x2b5d11(0x176)]+_0x2b5d11(0x133)+_0x5b829f,_0x558e6f=this[_0x2b5d11(0x140)];while(this[_0x2b5d11(0x134)]){try{this[_0x2b5d11(0x15b)]=new AbortController();let _0x281d35={'Accept':_0x2b5d11(0x13d)};if(this[_0x2b5d11(0x16f)])_0x281d35[_0x2b5d11(0x155)]='Bearer\x20'+this['token'];let _0xd71110=await fetch(_0x17391b,{'headers':_0x281d35,'signal':this[_0x2b5d11(0x15b)][_0x2b5d11(0x170)]});if(!_0xd71110['ok']||!_0xd71110['body']){this[_0x2b5d11(0x173)](_0x2b5d11(0x15f)+_0xd71110[_0x2b5d11(0x13f)]),await this[_0x2b5d11(0x175)](_0x558e6f),_0x558e6f=Math[_0x2b5d11(0x17b)](_0x558e6f*1.5,0xea60);continue;}_0x558e6f=this[_0x2b5d11(0x140)];let _0x206e7c=_0xd71110[_0x2b5d11(0x15c)][_0x2b5d11(0x14e)](),_0x2e46ca=new TextDecoder(),_0x2d386b='';while(this[_0x2b5d11(0x134)]){let {done:_0x25ada1,value:_0x2cd789}=await _0x206e7c['read']();if(_0x25ada1)break;_0x2d386b+=_0x2e46ca[_0x2b5d11(0x17d)](_0x2cd789,{'stream':!0x0});let _0x6ebf38=_0x2d386b['split']('\x0a');_0x2d386b=_0x6ebf38[_0x2b5d11(0x14a)]()||'';for(let _0x56c359 of _0x6ebf38){if(!_0x56c359[_0x2b5d11(0x137)](_0x2b5d11(0x130)))continue;try{let _0x350402=JSON[_0x2b5d11(0x16b)](_0x56c359[_0x2b5d11(0x13a)](0x6));if(_0x350402[_0x2b5d11(0x13c)]===_0x2b5d11(0x13e)){this['log'](_0x2b5d11(0x147)),this[_0x2b5d11(0x14b)](_0x2b5d11(0x13e));continue;}if(_0x350402['type']===_0x2b5d11(0x135)||_0x350402[_0x2b5d11(0x13c)]===_0x2b5d11(0x162)||_0x350402[_0x2b5d11(0x13c)]==='broadcast')await this[_0x2b5d11(0x148)]();}catch{}}}}catch(_0x51cf68){if(_0x51cf68['name']===_0x2b5d11(0x180))break;this[_0x2b5d11(0x14b)](_0x2b5d11(0x131),_0x51cf68),this[_0x2b5d11(0x173)]('SSE\x20error:\x20'+_0x51cf68[_0x2b5d11(0x143)]);}if(this[_0x2b5d11(0x134)])this[_0x2b5d11(0x14b)](_0x2b5d11(0x15d)),this['log'](_0x2b5d11(0x160)+_0x558e6f/0x3e8+'s...'),await this['sleep'](_0x558e6f),_0x558e6f=Math[_0x2b5d11(0x17b)](_0x558e6f*1.5,0xea60);}}async[a0_0x54ad4a(0x148)](){const _0x4b3ac5=a0_0x54ad4a;try{let _0xdf94ee=(await this['call'](_0x4b3ac5(0x151),{'alias':this[_0x4b3ac5(0x16a)],'limit':0xa}))?.[_0x4b3ac5(0x15e)]||[];for(let _0x403c60 of _0xdf94ee)await this['call']('ack_inbox',{'alias':this['alias'],'message_id':_0x403c60['id']}),this[_0x4b3ac5(0x173)]('←\x20'+_0x403c60[_0x4b3ac5(0x16c)]+':\x20'+_0x403c60[_0x4b3ac5(0x16d)][_0x4b3ac5(0x13a)](0x0,0x3c)),this[_0x4b3ac5(0x14b)](_0x4b3ac5(0x14f),_0x403c60),this['emit']('message',_0x403c60);}catch(_0x185c3e){this['log'](_0x4b3ac5(0x145)+_0x185c3e['message']);}}['sleep'](_0x33acfb){return new Promise(_0x3a97=>setTimeout(_0x3a97,_0x33acfb));}}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_0xbc12a8=a0_0x12a6;(function(_0x7b66a7,_0x26b604){const _0x4f147a=a0_0x12a6,_0x3471ff=_0x7b66a7();while(!![]){try{const _0x1a07e9=parseInt(_0x4f147a(0x111))/0x1+-parseInt(_0x4f147a(0xd4))/0x2*(-parseInt(_0x4f147a(0x120))/0x3)+parseInt(_0x4f147a(0x146))/0x4+-parseInt(_0x4f147a(0x141))/0x5+-parseInt(_0x4f147a(0xe0))/0x6+-parseInt(_0x4f147a(0x145))/0x7*(parseInt(_0x4f147a(0x11f))/0x8)+parseInt(_0x4f147a(0x12f))/0x9*(-parseInt(_0x4f147a(0x124))/0xa);if(_0x1a07e9===_0x26b604)break;else _0x3471ff['push'](_0x3471ff['shift']());}catch(_0x4397b6){_0x3471ff['push'](_0x3471ff['shift']());}}}(a0_0x2c35,0x92bc9));import{readFileSync as a0_0x343f9a,existsSync as a0_0x113b8d}from'fs';import{randomUUID as a0_0x30f7fa}from'crypto';import{join as a0_0x22935a}from'path';import{hostname as a0_0x7dc3e9}from'os';import{execSync as a0_0x158e47}from'child_process';function a0_0x2c35(){const _0x1b0ef2=['claude-code',':\x20inbox_count=','message','warning:\x20could\x20not\x20register:\x20','\x20ALIAS=','alias','text','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','645418lOUWQO','high','ENV:\x20URL=','getReader','tmux\x20display-message\x20-p\x20\x27#S\x27','pid','connect','from_session','/mcp','report_status','broadcast','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','(none)','unknown\x20tool','2370496khMzWk','6486odrSql','messages','split','startsWith','10eIAftC','write','application/json','initialize','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','Target\x20session\x20alias','→\x20injected\x20task\x20','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','SIGINT','\x22\x20after\x20SSE\x20reconnect','2944206vEqRVC','2.0','content','delete','commhub-channel','hub','number','SSE\x20connected\x20as\x20\x22','parse\x20error:\x20','blocked','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','decode','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','commhub_get_all_status','registered\x20as\x20\x22','\x20priority=','cancelled','\x20/\x20hostname=','2970385erLOZE','shutting\x20down,\x20reporting\x20offline...','idle','send_message','7UiZEfh','4469252ZihHgc','commhub','config.json','notifications/claude/channel','exit','get_inbox','token','SIGTERM','\x20PROJECT_ENV=','←\x20message\x20from\x20','min','slice','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','\x22\x20(','SSE\x20fatal:\x20','fatal:\x20','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','type','Bearer\x20','task','/events/','commhub_reply','commhub_send_message','low','tools/call','status','commhub_report_status','now','init\x20failed:\x20','from','data:\x20','in_progress','212adDbiI','http://127.0.0.1:9200','join','working','commhub_send_task','2025-03-26','message_id','length','send_reply','indexOf','re-registered\x20as\x20\x22','new_message','1040082dJtHWm','error','stringify','application/json,\x20text/event-stream','connecting\x20to\x20','result','Priority\x20(default:\x20normal)','\x20RESUME_ID=','unattributed-','cwd','re-register\x20failed:\x20','replace','read','replied','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','string','Session\x20alias:\x20','notification','normal','catch','inbox_count','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','session\x20disconnected','0.3.0','trim','stderr','then','object','SSE\x20connection\x20error:\x20','get_all_status','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','\x20CWD=','connected','utf-8','priority','completed','POST','ack_inbox','MCP\x20stdio\x20connected','parse'];a0_0x2c35=function(){return _0x1b0ef2;};return a0_0x2c35();}function a0_0x12a6(_0x2b1df8,_0x508de8){_0x2b1df8=_0x2b1df8-0xd2;const _0x2c353a=a0_0x2c35();let _0x12a619=_0x2c353a[_0x2b1df8];return _0x12a619;}import{Server as a0_0x2337e6}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x29f2d5}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x5d1613,CallToolRequestSchema as a0_0x8c2c49}from'@modelcontextprotocol/sdk/types.js';function I(_0x1ffc03){const _0x15d5e0=a0_0x12a6;if(!a0_0x113b8d(_0x1ffc03))return;for(let _0x3892d2 of a0_0x343f9a(_0x1ffc03,_0x15d5e0(0x102))['split']('\x0a')){let _0x5be96a=_0x3892d2[_0x15d5e0(0xf9)]();if(!_0x5be96a||_0x5be96a[_0x15d5e0(0x123)]('#'))continue;let _0x3c73de=_0x5be96a[_0x15d5e0(0xdd)]('=');if(_0x3c73de<0x0)continue;let _0x3c2e2c=_0x5be96a['slice'](0x0,_0x3c73de)[_0x15d5e0(0xf9)](),_0x32e9df=_0x5be96a[_0x15d5e0(0x151)](_0x3c73de+0x1)[_0x15d5e0(0xf9)]()['replace'](/^["']|["']$/g,'');if(!process.env[_0x3c2e2c])process.env[_0x3c2e2c]=_0x32e9df;}}var L=process.env.HOME||'~',U=a0_0x22935a(L,'.claude/channels/commhub');I(a0_0x22935a(U,'.env'));var v=process[a0_0xbc12a8(0xe9)]()[a0_0xbc12a8(0xeb)](/\//g,'-');I(a0_0x22935a(U,v,'.env'));function d(){const _0x50ce0c=a0_0xbc12a8;try{return a0_0x158e47(_0x50ce0c(0x115),{'encoding':'utf-8','timeout':0x7d0})[_0x50ce0c(0xf9)]();}catch{return'';}}function m(){const _0x235854=a0_0xbc12a8;try{let _0x52570f=a0_0x22935a(L,'.anet',_0x235854(0x148));if(a0_0x113b8d(_0x52570f))return JSON['parse'](a0_0x343f9a(_0x52570f,_0x235854(0x102)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0xbc12a8(0x134)]||a0_0xbc12a8(0xd5),f=process.env.COMMHUB_TMUX||d();function r(){const _0xd84c83=a0_0xbc12a8;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0xd84c83(0xf9)]())return process.env.COMMHUB_ALIAS[_0xd84c83(0xf9)]();return process[_0xd84c83(0xfa)][_0xd84c83(0x125)](_0xd84c83(0x13b)+(_0xd84c83(0x110)+(f||_0xd84c83(0x11d))+_0xd84c83(0x140)+a0_0x7dc3e9()+_0xd84c83(0x11c))),_0xd84c83(0xe8)+process[_0xd84c83(0x116)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x30f7fa(),F=process.env.COMMHUB_TOKEN||u[a0_0xbc12a8(0x14c)]||'';function W(_0x13238d){const _0x1bdc80=a0_0xbc12a8;let _0x484f87=new Date()['toTimeString']()[_0x1bdc80(0x151)](0x0,0x8);process[_0x1bdc80(0xfa)][_0x1bdc80(0x125)]('['+_0x484f87+']\x20[commhub]\x20'+_0x13238d+'\x0a');}function N(_0x24a787){return new Promise(_0x485214=>setTimeout(_0x485214,_0x24a787));}W(a0_0xbc12a8(0x113)+j+a0_0xbc12a8(0x10d)+G+a0_0xbc12a8(0xe7)+K[a0_0xbc12a8(0x151)](0x0,0x8)+'...\x20TMUX='+(f||'none')+a0_0xbc12a8(0x100)+process[a0_0xbc12a8(0xe9)]()+a0_0xbc12a8(0x14e)+v);var D=new Map(),x=new a0_0x2337e6({'name':a0_0xbc12a8(0x133),'version':a0_0xbc12a8(0xf8)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0xbc12a8(0x12c),a0_0xbc12a8(0x156),a0_0xbc12a8(0x139),a0_0xbc12a8(0xee),a0_0xbc12a8(0xf0)+G][a0_0xbc12a8(0xd6)]('\x0a')});x['setRequestHandler'](a0_0x5d1613,async()=>({'tools':[{'name':a0_0xbc12a8(0x15b),'description':a0_0xbc12a8(0x152),'inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0xbc12a8(0xef),'description':a0_0xbc12a8(0xf5)},'text':{'type':'string','description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0xbc12a8(0xef),'enum':[a0_0xbc12a8(0x104),'failed',a0_0xbc12a8(0x13f),'blocked','error',a0_0xbc12a8(0xd3)],'description':a0_0xbc12a8(0x12b)}},'required':['text']}},{'name':a0_0xbc12a8(0x160),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':'object','properties':{'status':{'type':a0_0xbc12a8(0xef),'enum':[a0_0xbc12a8(0xd7),a0_0xbc12a8(0x143),a0_0xbc12a8(0x138),a0_0xbc12a8(0xe1)]},'task':{'type':a0_0xbc12a8(0xef),'description':'Current\x20task\x20description'},'progress':{'type':a0_0xbc12a8(0x135),'description':'Progress\x200-100'}},'required':[a0_0xbc12a8(0x15f)]}},{'name':a0_0xbc12a8(0xd8),'description':a0_0xbc12a8(0xff),'inputSchema':{'type':a0_0xbc12a8(0xfc),'properties':{'alias':{'type':a0_0xbc12a8(0xef),'description':a0_0xbc12a8(0x129)},'task':{'type':a0_0xbc12a8(0xef),'description':'Task\x20content'},'priority':{'type':'string','enum':[a0_0xbc12a8(0x112),a0_0xbc12a8(0xf2),a0_0xbc12a8(0x15d)],'description':a0_0xbc12a8(0xe6)}},'required':[a0_0xbc12a8(0x10e),a0_0xbc12a8(0x159)]}},{'name':a0_0xbc12a8(0x15c),'description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0xbc12a8(0xfc),'properties':{'alias':{'type':'string','description':a0_0xbc12a8(0x129)},'message':{'type':a0_0xbc12a8(0xef),'description':'Message\x20content'}},'required':['alias',a0_0xbc12a8(0x10b)]}},{'name':a0_0xbc12a8(0x13c),'description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':'object','properties':{}}}]}));async function Y(_0x19f6f0,_0x2bdb3e){const _0x5dab7d=a0_0xbc12a8;let _0x411506=await fetch(j+_0x5dab7d(0x119),{'method':'POST','headers':{'Content-Type':_0x5dab7d(0x126),'Accept':_0x5dab7d(0xe3),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x5dab7d(0x130),'id':0x1,'method':_0x5dab7d(0x127),'params':{'protocolVersion':_0x5dab7d(0xd9),'capabilities':{},'clientInfo':{'name':_0x5dab7d(0x133),'version':_0x5dab7d(0xf8)}}})});if(!_0x411506['ok']){let _0x27bc72=await _0x411506[_0x5dab7d(0x10f)]();return W('CommHub\x20init\x20failed:\x20'+_0x411506[_0x5dab7d(0x15f)]+'\x20'+_0x27bc72[_0x5dab7d(0x151)](0x0,0x64)),{'ok':!0x1,'error':_0x5dab7d(0x162)+_0x411506[_0x5dab7d(0x15f)]};}await _0x411506[_0x5dab7d(0x10f)]();let _0x50fdab=(await(await fetch(j+_0x5dab7d(0x119),{'method':_0x5dab7d(0x105),'headers':{'Content-Type':_0x5dab7d(0x126),'Accept':_0x5dab7d(0xe3),...F?{'Authorization':_0x5dab7d(0x158)+F}:{}},'body':JSON[_0x5dab7d(0xe2)]({'jsonrpc':_0x5dab7d(0x130),'id':0x2,'method':_0x5dab7d(0x15e),'params':{'name':_0x19f6f0,'arguments':_0x2bdb3e}})}))[_0x5dab7d(0x10f)]())[_0x5dab7d(0x122)]('\x0a')['find'](_0x2919d8=>_0x2919d8[_0x5dab7d(0x123)](_0x5dab7d(0xd2)));if(_0x50fdab){let _0x598431=JSON[_0x5dab7d(0x108)](_0x50fdab[_0x5dab7d(0x151)](0x6));return _0x598431?.[_0x5dab7d(0xe5)]?.[_0x5dab7d(0x131)]?.[0x0]?.[_0x5dab7d(0x10f)]?JSON[_0x5dab7d(0x108)](_0x598431[_0x5dab7d(0xe5)]['content'][0x0][_0x5dab7d(0x10f)]):_0x598431;}return{'ok':!0x1,'error':'no\x20response'};}x['setRequestHandler'](a0_0x8c2c49,async _0x37f8ef=>{const _0x58af6e=a0_0xbc12a8;let {name:_0x2915a8,arguments:_0xcd690}=_0x37f8ef['params'];if(_0x2915a8===_0x58af6e(0x15b)){let {task_id:_0xc85256,text:_0x469597,status:_0xbb9471}=_0xcd690;if(_0xbb9471===_0x58af6e(0x104)||_0xbb9471==='failed'||_0xbb9471==='cancelled'){let _0x3ed64b=_0xbb9471==='completed'?_0x58af6e(0xed):_0xbb9471,_0x39b8af=_0xc85256?D['get'](_0xc85256)||_0x58af6e(0x134):_0x58af6e(0x134),_0x1cb329=await Y(_0x58af6e(0xdc),{'alias':_0x39b8af,'text':_0x469597,'in_reply_to':_0xc85256||void 0x0,'status':_0x3ed64b,'from_session':G});if(_0xc85256)D[_0x58af6e(0x132)](_0xc85256);return{'content':[{'type':_0x58af6e(0x10f),'text':JSON[_0x58af6e(0xe2)](_0x1cb329)}]};}let _0x2ef53a=await Y(_0x58af6e(0x11a),{'resume_id':K,'alias':G,'status':_0xbb9471===_0x58af6e(0x138)?_0x58af6e(0x138):_0xbb9471==='error'?_0x58af6e(0xe1):'working','task':_0x469597['slice'](0x0,0xc8),'output':_0x469597});return{'content':[{'type':_0x58af6e(0x10f),'text':JSON[_0x58af6e(0xe2)](_0x2ef53a)}]};}if(_0x2915a8===_0x58af6e(0x160)){let {status:_0x51918b,task:_0x48adb7,progress:_0x29c5f8}=_0xcd690,_0x52a736=await Y(_0x58af6e(0x11a),{'resume_id':K,'alias':G,'status':_0x51918b,'task':_0x48adb7,'progress':_0x29c5f8});return{'content':[{'type':_0x58af6e(0x10f),'text':JSON['stringify'](_0x52a736)}]};}if(_0x2915a8===_0x58af6e(0xd8)){let {alias:_0x5f1381,task:_0x47be88,priority:_0x545187}=_0xcd690,_0x4a1750=await Y('send_task',{'alias':_0x5f1381,'task':_0x47be88,'priority':_0x545187||_0x58af6e(0xf2),'from_session':G});return{'content':[{'type':_0x58af6e(0x10f),'text':JSON['stringify'](_0x4a1750)}]};}if(_0x2915a8==='commhub_send_message'){let {alias:_0x29f6f4,message:_0x552d5f}=_0xcd690,_0x345445=await Y(_0x58af6e(0x144),{'alias':_0x29f6f4,'message':_0x552d5f,'from_session':G});return{'content':[{'type':_0x58af6e(0x10f),'text':JSON[_0x58af6e(0xe2)](_0x345445)}]};}if(_0x2915a8===_0x58af6e(0x13c)){let _0x43bc93=await Y(_0x58af6e(0xfe),{});return{'content':[{'type':_0x58af6e(0x10f),'text':JSON[_0x58af6e(0xe2)](_0x43bc93)}]};}return{'content':[{'type':_0x58af6e(0x10f),'text':JSON['stringify']({'error':_0x58af6e(0x11e)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x5c4c14=a0_0xbc12a8;try{await Y(_0x5c4c14(0x11a),{'resume_id':K,'alias':G,'status':_0x5c4c14(0x143),'server':a0_0x7dc3e9(),'hostname':a0_0x7dc3e9(),'agent':_0x5c4c14(0x109),'project_dir':process[_0x5c4c14(0xe9)](),'tmux_name':f||void 0x0}),W(_0x5c4c14(0xde)+G+_0x5c4c14(0x12e));}catch(_0x40abb4){W(_0x5c4c14(0xea)+_0x40abb4);}}async function o(){const _0x475519=a0_0xbc12a8;let _0x641f44=j+_0x475519(0x15a)+encodeURIComponent(G),_0x1e9aba={};if(F)_0x1e9aba['Authorization']=_0x475519(0x158)+F;W(_0x475519(0xe4)+_0x641f44);let _0x1783ef=O,_0x3c79b2=!0x0,_0x4db6e8=null;while(!0x0){try{let _0x2dd120=await fetch(_0x641f44,{'headers':_0x1e9aba});if(!_0x2dd120['ok']){if(W('SSE\x20error:\x20'+_0x2dd120[_0x475519(0x15f)]+'\x20'+_0x2dd120['statusText']),_0x4db6e8=_0x4db6e8??Date[_0x475519(0x161)](),Date['now']()-_0x4db6e8>T){W(_0x475519(0x128)+j+_0x475519(0xf6));return;}await N(_0x1783ef),_0x1783ef=Math['min'](_0x1783ef*0x2,R);continue;}let _0x4f2450=_0x2dd120['body'][_0x475519(0x114)](),_0x4ae23b=new TextDecoder(),_0x6167d2='';_0x1783ef=O;while(!0x0){let {done:_0x39bc7c,value:_0x384f30}=await _0x4f2450[_0x475519(0xec)]();if(_0x39bc7c)break;_0x6167d2+=_0x4ae23b[_0x475519(0x13a)](_0x384f30,{'stream':!0x0});let _0x1ea042=_0x6167d2[_0x475519(0x122)]('\x0a\x0a');_0x6167d2=_0x1ea042['pop']()||'';for(let _0x12a919 of _0x1ea042){let _0x3a9f45=_0x12a919[_0x475519(0x122)]('\x0a')['find'](_0x5bbcee=>_0x5bbcee[_0x475519(0x123)](_0x475519(0xd2)));if(!_0x3a9f45)continue;try{let _0x527faa=JSON[_0x475519(0x108)](_0x3a9f45[_0x475519(0x151)](0x6));if(await a(_0x527faa),_0x527faa[_0x475519(0x157)]===_0x475519(0x101)){if(_0x4db6e8=null,!_0x3c79b2)await l();_0x3c79b2=!0x1;}}catch(_0x1dca26){W(_0x475519(0x137)+_0x1dca26);}}}W('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x4c89b2){W(_0x475519(0xfd)+_0x4c89b2);}if(_0x4db6e8=_0x4db6e8??Date[_0x475519(0x161)](),Date['now']()-_0x4db6e8>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x475519(0xf6));return;}await N(_0x1783ef),_0x1783ef=Math[_0x475519(0x150)](_0x1783ef*0x2,R);}}async function a(_0x281d73){const _0x1f7907=a0_0xbc12a8;if(_0x281d73['type']==='connected'){W(_0x1f7907(0x136)+G+'\x22');return;}if(_0x281d73[_0x1f7907(0x157)]===_0x1f7907(0xdf)){if(W(_0x1f7907(0x14f)+_0x281d73[_0x1f7907(0x163)]+':\x20'+_0x281d73[_0x1f7907(0x10b)][_0x1f7907(0x151)](0x0,0x3c)),await x[_0x1f7907(0xf1)]({'method':_0x1f7907(0x149),'params':{'content':_0x281d73[_0x1f7907(0x10b)],'meta':{'sender':_0x281d73[_0x1f7907(0x163)]||_0x1f7907(0x134),'sender_id':_0x1f7907(0x147),'user':_0x281d73['from']||_0x1f7907(0x134),'priority':_0x1f7907(0xf2)}}}),_0x281d73[_0x1f7907(0xda)])await Y(_0x1f7907(0x106),{'alias':G,'message_id':_0x281d73[_0x1f7907(0xda)]});return;}if(_0x281d73[_0x1f7907(0x157)]==='new_task'||_0x281d73['type']===_0x1f7907(0x11b)){W('←\x20'+_0x281d73['type']+_0x1f7907(0x10a)+_0x281d73[_0x1f7907(0xf4)]+_0x1f7907(0x13e)+(_0x281d73[_0x1f7907(0x103)]||'normal'));let _0x3b6632=await Y(_0x1f7907(0x14b),{'alias':G,'limit':0x5});if(_0x3b6632?.['ok']&&_0x3b6632['messages']?.[_0x1f7907(0xdb)]>0x0)for(let _0x391d5f of _0x3b6632[_0x1f7907(0x121)]){let _0x16c525={'sender':_0x391d5f['from_session']||_0x1f7907(0x134),'sender_id':_0x1f7907(0x147),'user':_0x391d5f[_0x1f7907(0x118)]||_0x1f7907(0x134),'task_id':_0x391d5f['id'],'priority':_0x391d5f['priority']||_0x1f7907(0xf2)};D['set'](_0x391d5f['id'],_0x391d5f[_0x1f7907(0x118)]||_0x1f7907(0x134)),await x[_0x1f7907(0xf1)]({'method':_0x1f7907(0x149),'params':{'content':_0x391d5f[_0x1f7907(0x131)],'meta':_0x16c525}}),W(_0x1f7907(0x12a)+_0x391d5f['id'][_0x1f7907(0x151)](0x0,0x8)+'\x20from\x20'+_0x391d5f[_0x1f7907(0x118)]+':\x20'+_0x391d5f[_0x1f7907(0x131)][_0x1f7907(0x151)](0x0,0x3c)),await Y('ack_inbox',{'alias':G,'message_id':_0x391d5f['id']});}}}async function n(){const _0x2aeb23=a0_0xbc12a8;let _0xcdb559=new a0_0x29f2d5();await x[_0x2aeb23(0x117)](_0xcdb559),W(_0x2aeb23(0x107)),W('starting\x20SSE\x20listener...'),o()['catch'](_0x3cae81=>W(_0x2aeb23(0x154)+_0x3cae81)),Y(_0x2aeb23(0x11a),{'resume_id':K,'alias':G,'status':_0x2aeb23(0x143),'server':a0_0x7dc3e9(),'hostname':a0_0x7dc3e9(),'agent':'claude-code','project_dir':process[_0x2aeb23(0xe9)](),'tmux_name':f||void 0x0})[_0x2aeb23(0xfb)](()=>W(_0x2aeb23(0x13d)+G+_0x2aeb23(0x153)+K[_0x2aeb23(0x151)](0x0,0x8)+')'))[_0x2aeb23(0xf3)](_0x3f6ff8=>W(_0x2aeb23(0x10c)+_0x3f6ff8)),setInterval(()=>{const _0x5c458c=_0x2aeb23;Y(_0x5c458c(0x11a),{'resume_id':K,'alias':G,'status':_0x5c458c(0x143),'server':a0_0x7dc3e9(),'hostname':a0_0x7dc3e9(),'agent':'claude-code','project_dir':process[_0x5c458c(0xe9)](),'tmux_name':f||void 0x0})['catch'](_0x30405f=>W('heartbeat\x20failed:\x20'+_0x30405f));},0x2bf20),W('ready\x20—\x20waiting\x20for\x20events');}n()[a0_0xbc12a8(0xf3)](_0x53d48a=>{const _0x2c397a=a0_0xbc12a8;W(_0x2c397a(0x155)+_0x53d48a),process[_0x2c397a(0x14a)](0x1);});async function b(){const _0x4e9d76=a0_0xbc12a8;W(_0x4e9d76(0x142)),await Y(_0x4e9d76(0x11a),{'resume_id':K,'alias':G,'status':'offline','task':_0x4e9d76(0xf7)})[_0x4e9d76(0xf3)](()=>{}),process[_0x4e9d76(0x14a)](0x0);}process['stdin']['on']('end',()=>b()),process['on'](a0_0xbc12a8(0x14d),()=>b()),process['on'](a0_0xbc12a8(0x12d),()=>b());
|
|
2
|
+
const a0_0x38142f=a0_0x4424;function a0_0x1c09(){const _0x2a9bc9=['session\x20disconnected','content','→\x20injected\x20task\x20','1709IPveFa','648040WCTOUq','6eSWHxO','split','\x20RESUME_ID=','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','startsWith','connected','type','slice','commhub_get_all_status','report_status','shutting\x20down,\x20reporting\x20offline...','unknown\x20tool','\x20CWD=','2003905WjVBVH','string','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','2.0','get','init\x20failed:\x20','none','fatal:\x20','join','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','failed','commhub-channel','send_task','message','connecting\x20to\x20','statusText','tools/call','data:\x20','set','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','Message\x20content','completed','message_id','...\x20TMUX=','low','notification','then','alias','/mcp','params','SSE\x20fatal:\x20','SSE\x20connected\x20as\x20\x22','Authorization','parse','Bearer\x20','.env','commhub_reply','\x20/\x20hostname=','exit','commhub_send_task','config.json','blocked','Current\x20task\x20description','offline','tmux\x20display-message\x20-p\x20\x27#S\x27','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','catch','1756efmcuZ','write','re-registered\x20as\x20\x22','registered\x20as\x20\x22','\x20from\x20','ack_inbox','13180706mZYfks','delete','new_message','messages','POST','cwd','setRequestHandler','utf-8','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','1233tElWzq','2025-03-26','find','priority','replace','Priority\x20(default:\x20normal)','Target\x20session\x20alias','ENV:\x20URL=','51640wFsYqi','get_all_status','1227bkZABy','object','Session\x20alias:\x20','.anet','new_task','stderr','cancelled','unattributed-','\x22\x20after\x20SSE\x20reconnect','getReader','\x20PROJECT_ENV=','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','commhub_send_message','\x22\x20(','indexOf','trim','3832451HWwUEa','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','body','.claude/channels/commhub','SSE\x20error:\x20','commhub','task','from_session','warning:\x20could\x20not\x20register:\x20','min','SIGTERM','pop','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','normal','claude-code','SIGINT','Reply\x20text\x20/\x20result\x20summary','/events/','←\x20message\x20from\x20','notifications/claude/channel','read','in_progress','inbox_count',']\x20[commhub]\x20','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','heartbeat\x20failed:\x20','now','no\x20response','306CQlVdu','result','length','stringify','end','application/json','idle','error','MCP\x20stdio\x20connected','status','text','from','decode','hub','application/json,\x20text/event-stream','\x20priority=','commhub_report_status','stdin','starting\x20SSE\x20listener...','\x20ALIAS=','Task\x20content','broadcast','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.'];a0_0x1c09=function(){return _0x2a9bc9;};return a0_0x1c09();}(function(_0x50c277,_0x8db3c0){const _0x57bafa=a0_0x4424,_0x5af65c=_0x50c277();while(!![]){try{const _0x348a84=-parseInt(_0x57bafa(0x1c1))/0x1*(-parseInt(_0x57bafa(0x245))/0x2)+-parseInt(_0x57bafa(0x219))/0x3*(parseInt(_0x57bafa(0x200))/0x4)+parseInt(_0x57bafa(0x1d0))/0x5*(parseInt(_0x57bafa(0x1c3))/0x6)+parseInt(_0x57bafa(0x229))/0x7+-parseInt(_0x57bafa(0x1c2))/0x8+-parseInt(_0x57bafa(0x20f))/0x9*(-parseInt(_0x57bafa(0x217))/0xa)+-parseInt(_0x57bafa(0x206))/0xb;if(_0x348a84===_0x8db3c0)break;else _0x5af65c['push'](_0x5af65c['shift']());}catch(_0x14ad07){_0x5af65c['push'](_0x5af65c['shift']());}}}(a0_0x1c09,0x6feb1));import{readFileSync as a0_0x502f74,existsSync as a0_0x4685e8}from'fs';import{randomUUID as a0_0x32d3e7}from'crypto';import{join as a0_0x5a8e60}from'path';import{hostname as a0_0x3fd573}from'os';import{execSync as a0_0x2759a3}from'child_process';function a0_0x4424(_0x1df627,_0x54a176){_0x1df627=_0x1df627-0x1bd;const _0x1c094e=a0_0x1c09();let _0x4424a5=_0x1c094e[_0x1df627];return _0x4424a5;}import{Server as a0_0x496de7}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x336f42}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x4d1428,CallToolRequestSchema as a0_0x5bb0a3}from'@modelcontextprotocol/sdk/types.js';function I(_0x4417e9){const _0x48128f=a0_0x4424;if(!a0_0x4685e8(_0x4417e9))return;for(let _0x46f146 of a0_0x502f74(_0x4417e9,_0x48128f(0x20d))[_0x48128f(0x1c4)]('\x0a')){let _0x2d4c40=_0x46f146[_0x48128f(0x228)]();if(!_0x2d4c40||_0x2d4c40[_0x48128f(0x1c7)]('#'))continue;let _0x4811df=_0x2d4c40[_0x48128f(0x227)]('=');if(_0x4811df<0x0)continue;let _0x1e0ed0=_0x2d4c40['slice'](0x0,_0x4811df)[_0x48128f(0x228)](),_0xccc09b=_0x2d4c40['slice'](_0x4811df+0x1)[_0x48128f(0x228)]()[_0x48128f(0x213)](/^["']|["']$/g,'');if(!process.env[_0x1e0ed0])process.env[_0x1e0ed0]=_0xccc09b;}}var L=process.env.HOME||'~',U=a0_0x5a8e60(L,a0_0x38142f(0x22c));I(a0_0x5a8e60(U,a0_0x38142f(0x1f4)));var v=process[a0_0x38142f(0x20b)]()[a0_0x38142f(0x213)](/\//g,'-');I(a0_0x5a8e60(U,v,'.env'));function d(){const _0x39d5ac=a0_0x38142f;try{return a0_0x2759a3(_0x39d5ac(0x1fd),{'encoding':_0x39d5ac(0x20d),'timeout':0x7d0})['trim']();}catch{return'';}}function m(){const _0x2c6f37=a0_0x38142f;try{let _0x4b5fa1=a0_0x5a8e60(L,_0x2c6f37(0x21c),_0x2c6f37(0x1f9));if(a0_0x4685e8(_0x4b5fa1))return JSON[_0x2c6f37(0x1f2)](a0_0x502f74(_0x4b5fa1,_0x2c6f37(0x20d)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u['hub']||'http://127.0.0.1:9200',f=process.env.COMMHUB_TMUX||d();function r(){const _0x207fe8=a0_0x38142f;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x207fe8(0x228)]())return process.env.COMMHUB_ALIAS[_0x207fe8(0x228)]();return process['stderr'][_0x207fe8(0x201)](_0x207fe8(0x1c6)+(_0x207fe8(0x1fe)+(f||'(none)')+_0x207fe8(0x1f6)+a0_0x3fd573()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),_0x207fe8(0x220)+process['pid'];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x32d3e7(),F=process.env.COMMHUB_TOKEN||u['token']||'';function W(_0x271b77){const _0xd129f5=a0_0x38142f;let _0x1dbb5a=new Date()['toTimeString']()[_0xd129f5(0x1ca)](0x0,0x8);process[_0xd129f5(0x21e)][_0xd129f5(0x201)]('['+_0x1dbb5a+_0xd129f5(0x240)+_0x271b77+'\x0a');}function N(_0x20aab2){return new Promise(_0x4affa6=>setTimeout(_0x4affa6,_0x20aab2));}W(a0_0x38142f(0x216)+j+a0_0x38142f(0x258)+G+a0_0x38142f(0x1c5)+K[a0_0x38142f(0x1ca)](0x0,0x8)+a0_0x38142f(0x1e8)+(f||a0_0x38142f(0x1d6))+a0_0x38142f(0x1cf)+process['cwd']()+a0_0x38142f(0x223)+v);var D=new Map(),x=new a0_0x496de7({'name':a0_0x38142f(0x1db),'version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x38142f(0x241),a0_0x38142f(0x22a),a0_0x38142f(0x1e3),'You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.',a0_0x38142f(0x21b)+G][a0_0x38142f(0x1d8)]('\x0a')});x[a0_0x38142f(0x20c)](a0_0x4d1428,async()=>({'tools':[{'name':a0_0x38142f(0x1f5),'description':a0_0x38142f(0x1e4),'inputSchema':{'type':'object','properties':{'task_id':{'type':'string','description':a0_0x38142f(0x235)},'text':{'type':a0_0x38142f(0x1d1),'description':a0_0x38142f(0x239)},'status':{'type':'string','enum':['completed',a0_0x38142f(0x1da),a0_0x38142f(0x21f),'blocked',a0_0x38142f(0x24c),a0_0x38142f(0x23e)],'description':a0_0x38142f(0x1d2)}},'required':[a0_0x38142f(0x24f)]}},{'name':a0_0x38142f(0x255),'description':a0_0x38142f(0x1d9),'inputSchema':{'type':a0_0x38142f(0x21a),'properties':{'status':{'type':'string','enum':['working',a0_0x38142f(0x24b),a0_0x38142f(0x1fa),'error']},'task':{'type':a0_0x38142f(0x1d1),'description':a0_0x38142f(0x1fb)},'progress':{'type':'number','description':'Progress\x200-100'}},'required':[a0_0x38142f(0x24e)]}},{'name':a0_0x38142f(0x1f8),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x38142f(0x21a),'properties':{'alias':{'type':'string','description':a0_0x38142f(0x215)},'task':{'type':a0_0x38142f(0x1d1),'description':a0_0x38142f(0x259)},'priority':{'type':a0_0x38142f(0x1d1),'enum':['high','normal',a0_0x38142f(0x1e9)],'description':a0_0x38142f(0x214)}},'required':['alias',a0_0x38142f(0x22f)]}},{'name':a0_0x38142f(0x225),'description':a0_0x38142f(0x1bd),'inputSchema':{'type':a0_0x38142f(0x21a),'properties':{'alias':{'type':a0_0x38142f(0x1d1),'description':'Target\x20session\x20alias'},'message':{'type':'string','description':a0_0x38142f(0x1e5)}},'required':[a0_0x38142f(0x1ec),a0_0x38142f(0x1dd)]}},{'name':a0_0x38142f(0x1cb),'description':a0_0x38142f(0x224),'inputSchema':{'type':a0_0x38142f(0x21a),'properties':{}}}]}));async function Y(_0x5eb45a,_0x4582d0){const _0x29d0f2=a0_0x38142f;let _0x2dd730=await fetch(j+_0x29d0f2(0x1ed),{'method':_0x29d0f2(0x20a),'headers':{'Content-Type':_0x29d0f2(0x24a),'Accept':_0x29d0f2(0x253),...F?{'Authorization':_0x29d0f2(0x1f3)+F}:{}},'body':JSON[_0x29d0f2(0x248)]({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x29d0f2(0x210),'capabilities':{},'clientInfo':{'name':_0x29d0f2(0x1db),'version':'0.3.0'}}})});if(!_0x2dd730['ok']){let _0xbaefa2=await _0x2dd730[_0x29d0f2(0x24f)]();return W('CommHub\x20init\x20failed:\x20'+_0x2dd730[_0x29d0f2(0x24e)]+'\x20'+_0xbaefa2['slice'](0x0,0x64)),{'ok':!0x1,'error':_0x29d0f2(0x1d5)+_0x2dd730[_0x29d0f2(0x24e)]};}await _0x2dd730[_0x29d0f2(0x24f)]();let _0x4b78fa=(await(await fetch(j+'/mcp',{'method':_0x29d0f2(0x20a),'headers':{'Content-Type':'application/json','Accept':_0x29d0f2(0x253),...F?{'Authorization':_0x29d0f2(0x1f3)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x29d0f2(0x1d3),'id':0x2,'method':_0x29d0f2(0x1e0),'params':{'name':_0x5eb45a,'arguments':_0x4582d0}})}))[_0x29d0f2(0x24f)]())[_0x29d0f2(0x1c4)]('\x0a')['find'](_0x34d090=>_0x34d090[_0x29d0f2(0x1c7)](_0x29d0f2(0x1e1)));if(_0x4b78fa){let _0x599c1a=JSON[_0x29d0f2(0x1f2)](_0x4b78fa[_0x29d0f2(0x1ca)](0x6));return _0x599c1a?.[_0x29d0f2(0x246)]?.['content']?.[0x0]?.['text']?JSON[_0x29d0f2(0x1f2)](_0x599c1a['result'][_0x29d0f2(0x1bf)][0x0][_0x29d0f2(0x24f)]):_0x599c1a;}return{'ok':!0x1,'error':_0x29d0f2(0x244)};}x['setRequestHandler'](a0_0x5bb0a3,async _0xf3dae4=>{const _0x42540c=a0_0x38142f;let {name:_0x4904e9,arguments:_0x35d0b1}=_0xf3dae4[_0x42540c(0x1ee)];if(_0x4904e9===_0x42540c(0x1f5)){let {task_id:_0x116758,text:_0x5ce3d4,status:_0x4b9c5f}=_0x35d0b1;if(_0x4b9c5f===_0x42540c(0x1e6)||_0x4b9c5f===_0x42540c(0x1da)||_0x4b9c5f===_0x42540c(0x21f)){let _0x22516e=_0x4b9c5f==='completed'?'replied':_0x4b9c5f,_0xcc78e=_0x116758?D[_0x42540c(0x1d4)](_0x116758)||_0x42540c(0x252):_0x42540c(0x252),_0x496ef7=await Y('send_reply',{'alias':_0xcc78e,'text':_0x5ce3d4,'in_reply_to':_0x116758||void 0x0,'status':_0x22516e,'from_session':G});if(_0x116758)D[_0x42540c(0x207)](_0x116758);return{'content':[{'type':_0x42540c(0x24f),'text':JSON[_0x42540c(0x248)](_0x496ef7)}]};}let _0x32df23=await Y(_0x42540c(0x1cc),{'resume_id':K,'alias':G,'status':_0x4b9c5f==='blocked'?_0x42540c(0x1fa):_0x4b9c5f===_0x42540c(0x24c)?_0x42540c(0x24c):'working','task':_0x5ce3d4[_0x42540c(0x1ca)](0x0,0xc8),'output':_0x5ce3d4});return{'content':[{'type':'text','text':JSON['stringify'](_0x32df23)}]};}if(_0x4904e9===_0x42540c(0x255)){let {status:_0x4af0c0,task:_0x4a6c57,progress:_0x323e37}=_0x35d0b1,_0x42a70b=await Y(_0x42540c(0x1cc),{'resume_id':K,'alias':G,'status':_0x4af0c0,'task':_0x4a6c57,'progress':_0x323e37});return{'content':[{'type':'text','text':JSON[_0x42540c(0x248)](_0x42a70b)}]};}if(_0x4904e9===_0x42540c(0x1f8)){let {alias:_0x33a9ad,task:_0x3970c1,priority:_0x45179d}=_0x35d0b1,_0x182037=await Y(_0x42540c(0x1dc),{'alias':_0x33a9ad,'task':_0x3970c1,'priority':_0x45179d||'normal','from_session':G});return{'content':[{'type':_0x42540c(0x24f),'text':JSON[_0x42540c(0x248)](_0x182037)}]};}if(_0x4904e9===_0x42540c(0x225)){let {alias:_0x5c0a53,message:_0x15a0c6}=_0x35d0b1,_0x4c3b97=await Y('send_message',{'alias':_0x5c0a53,'message':_0x15a0c6,'from_session':G});return{'content':[{'type':_0x42540c(0x24f),'text':JSON[_0x42540c(0x248)](_0x4c3b97)}]};}if(_0x4904e9===_0x42540c(0x1cb)){let _0x428abd=await Y(_0x42540c(0x218),{});return{'content':[{'type':_0x42540c(0x24f),'text':JSON['stringify'](_0x428abd)}]};}return{'content':[{'type':_0x42540c(0x24f),'text':JSON[_0x42540c(0x248)]({'error':_0x42540c(0x1ce)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x40c01b=a0_0x38142f;try{await Y('report_status',{'resume_id':K,'alias':G,'status':_0x40c01b(0x24b),'server':a0_0x3fd573(),'hostname':a0_0x3fd573(),'agent':'claude-code','project_dir':process[_0x40c01b(0x20b)](),'tmux_name':f||void 0x0}),W(_0x40c01b(0x202)+G+_0x40c01b(0x221));}catch(_0x9b0538){W('re-register\x20failed:\x20'+_0x9b0538);}}async function o(){const _0x7189a7=a0_0x38142f;let _0x3a4327=j+_0x7189a7(0x23a)+encodeURIComponent(G),_0x2264fa={};if(F)_0x2264fa[_0x7189a7(0x1f1)]='Bearer\x20'+F;W(_0x7189a7(0x1de)+_0x3a4327);let _0x8a1043=O,_0x2d9adf=!0x0,_0x69193d=null;while(!0x0){try{let _0x42be1d=await fetch(_0x3a4327,{'headers':_0x2264fa});if(!_0x42be1d['ok']){if(W(_0x7189a7(0x22d)+_0x42be1d[_0x7189a7(0x24e)]+'\x20'+_0x42be1d[_0x7189a7(0x1df)]),_0x69193d=_0x69193d??Date[_0x7189a7(0x243)](),Date[_0x7189a7(0x243)]()-_0x69193d>T){W(_0x7189a7(0x20e)+j+')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。');return;}await N(_0x8a1043),_0x8a1043=Math[_0x7189a7(0x232)](_0x8a1043*0x2,R);continue;}let _0x5ad2d5=_0x42be1d[_0x7189a7(0x22b)][_0x7189a7(0x222)](),_0x15a1ea=new TextDecoder(),_0x2988d7='';_0x8a1043=O;while(!0x0){let {done:_0x482d2d,value:_0x436e5f}=await _0x5ad2d5[_0x7189a7(0x23d)]();if(_0x482d2d)break;_0x2988d7+=_0x15a1ea[_0x7189a7(0x251)](_0x436e5f,{'stream':!0x0});let _0x270518=_0x2988d7['split']('\x0a\x0a');_0x2988d7=_0x270518[_0x7189a7(0x234)]()||'';for(let _0x139206 of _0x270518){let _0x2d29b8=_0x139206[_0x7189a7(0x1c4)]('\x0a')[_0x7189a7(0x211)](_0xa0eadf=>_0xa0eadf['startsWith'](_0x7189a7(0x1e1)));if(!_0x2d29b8)continue;try{let _0x2af66f=JSON['parse'](_0x2d29b8['slice'](0x6));if(await a(_0x2af66f),_0x2af66f['type']===_0x7189a7(0x1c8)){if(_0x69193d=null,!_0x2d9adf)await l();_0x2d9adf=!0x1;}}catch(_0x21e8c4){W('parse\x20error:\x20'+_0x21e8c4);}}}W('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0xf5a5ba){W('SSE\x20connection\x20error:\x20'+_0xf5a5ba);}if(_0x69193d=_0x69193d??Date[_0x7189a7(0x243)](),Date[_0x7189a7(0x243)]()-_0x69193d>T){W(_0x7189a7(0x20e)+j+')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。');return;}await N(_0x8a1043),_0x8a1043=Math['min'](_0x8a1043*0x2,R);}}async function a(_0x32790b){const _0x2ce92b=a0_0x38142f;if(_0x32790b[_0x2ce92b(0x1c9)]===_0x2ce92b(0x1c8)){W(_0x2ce92b(0x1f0)+G+'\x22');return;}if(_0x32790b[_0x2ce92b(0x1c9)]===_0x2ce92b(0x208)){if(W(_0x2ce92b(0x23b)+_0x32790b['from']+':\x20'+_0x32790b[_0x2ce92b(0x1dd)][_0x2ce92b(0x1ca)](0x0,0x3c)),await x[_0x2ce92b(0x1ea)]({'method':_0x2ce92b(0x23c),'params':{'content':_0x32790b[_0x2ce92b(0x1dd)],'meta':{'sender':_0x32790b[_0x2ce92b(0x250)]||_0x2ce92b(0x252),'sender_id':_0x2ce92b(0x22e),'user':_0x32790b['from']||_0x2ce92b(0x252),'priority':'normal'}}}),_0x32790b[_0x2ce92b(0x1e7)])await Y('ack_inbox',{'alias':G,'message_id':_0x32790b[_0x2ce92b(0x1e7)]});return;}if(_0x32790b[_0x2ce92b(0x1c9)]===_0x2ce92b(0x21d)||_0x32790b['type']===_0x2ce92b(0x25a)){W('←\x20'+_0x32790b[_0x2ce92b(0x1c9)]+':\x20inbox_count='+_0x32790b[_0x2ce92b(0x23f)]+_0x2ce92b(0x254)+(_0x32790b[_0x2ce92b(0x212)]||_0x2ce92b(0x236)));let _0x1ed77e=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x1ed77e?.['ok']&&_0x1ed77e[_0x2ce92b(0x209)]?.[_0x2ce92b(0x247)]>0x0)for(let _0x4f143a of _0x1ed77e[_0x2ce92b(0x209)]){let _0x447110={'sender':_0x4f143a['from_session']||_0x2ce92b(0x252),'sender_id':_0x2ce92b(0x22e),'user':_0x4f143a['from_session']||_0x2ce92b(0x252),'task_id':_0x4f143a['id'],'priority':_0x4f143a[_0x2ce92b(0x212)]||_0x2ce92b(0x236)};D[_0x2ce92b(0x1e2)](_0x4f143a['id'],_0x4f143a[_0x2ce92b(0x230)]||_0x2ce92b(0x252)),await x[_0x2ce92b(0x1ea)]({'method':_0x2ce92b(0x23c),'params':{'content':_0x4f143a[_0x2ce92b(0x1bf)],'meta':_0x447110}}),W(_0x2ce92b(0x1c0)+_0x4f143a['id'][_0x2ce92b(0x1ca)](0x0,0x8)+_0x2ce92b(0x204)+_0x4f143a[_0x2ce92b(0x230)]+':\x20'+_0x4f143a['content'][_0x2ce92b(0x1ca)](0x0,0x3c)),await Y(_0x2ce92b(0x205),{'alias':G,'message_id':_0x4f143a['id']});}}}async function n(){const _0x3336f0=a0_0x38142f;let _0x586c69=new a0_0x336f42();await x['connect'](_0x586c69),W(_0x3336f0(0x24d)),W(_0x3336f0(0x257)),o()[_0x3336f0(0x1ff)](_0x57697c=>W(_0x3336f0(0x1ef)+_0x57697c)),Y(_0x3336f0(0x1cc),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x3fd573(),'hostname':a0_0x3fd573(),'agent':_0x3336f0(0x237),'project_dir':process[_0x3336f0(0x20b)](),'tmux_name':f||void 0x0})[_0x3336f0(0x1eb)](()=>W(_0x3336f0(0x203)+G+_0x3336f0(0x226)+K['slice'](0x0,0x8)+')'))[_0x3336f0(0x1ff)](_0x4bb860=>W(_0x3336f0(0x231)+_0x4bb860)),setInterval(()=>{const _0x4e1db6=_0x3336f0;Y(_0x4e1db6(0x1cc),{'resume_id':K,'alias':G,'status':_0x4e1db6(0x24b),'server':a0_0x3fd573(),'hostname':a0_0x3fd573(),'agent':_0x4e1db6(0x237),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x4e1db6(0x1ff)](_0x2f6a8d=>W(_0x4e1db6(0x242)+_0x2f6a8d));},0x2bf20),W('ready\x20—\x20waiting\x20for\x20events');}n()[a0_0x38142f(0x1ff)](_0x2a55cf=>{const _0x36bda4=a0_0x38142f;W(_0x36bda4(0x1d7)+_0x2a55cf),process[_0x36bda4(0x1f7)](0x1);});async function b(){const _0x4ee618=a0_0x38142f;W(_0x4ee618(0x1cd)),await Y(_0x4ee618(0x1cc),{'resume_id':K,'alias':G,'status':_0x4ee618(0x1fc),'task':_0x4ee618(0x1be)})['catch'](()=>{}),process[_0x4ee618(0x1f7)](0x0);}process[a0_0x38142f(0x256)]['on'](a0_0x38142f(0x249),()=>b()),process['on'](a0_0x38142f(0x233),()=>b()),process['on'](a0_0x38142f(0x238),()=>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.17-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",
|