@sleep2agi/agent-network 2.2.10-preview.3 → 2.2.11-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/README.md +11 -6
- 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 +9 -2
package/dist/src/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x29ab(_0x1f3464,_0x231a58){_0x1f3464=_0x1f3464-0x119;const _0x3eaa45=a0_0x3eaa();let _0x29abf6=_0x3eaa45[_0x1f3464];return _0x29abf6;}function a0_0x3eaa(){const _0x5a767f=['parse','registered','broadcast','new_task','running','ack_inbox','application/json,\x20text/event-stream','split','data:\x20','Authorization','call','connectSSE','heartbeatTimer','disconnect','POST','processInbox','SSE\x20failed:\x20','connected','sdk','disconnected','/events/','SSE\x20connected','message','sdk-','SSE\x20reconnecting\x20in\x20','text','decode','token','sleep','inbox\x20error:\x20','completed','now','1086uruYpC','getAllStatus','37370FArTyN','send_message','get_all_status','catch','signal','7824490lGanMg','startsWith','sseAbort','reply','idle','read','content','slice','log','emit','result','12zXKTfd','reconnectDelay','resumeId','new_message','connect','send_reply','toString','body','stringify','toTimeString','/mcp','Bearer\x20','AbortError',']\x20[commhub:','4jJjdyd','heartbeatInterval','url','2876496COoKYL','normal','application/json','offline','261930ODgAdr','type','from_session','13495295iwNtEU','alias','agent','min','tools/call','match','pop','SSE\x20error:\x20','135732ZbhJHe','208rVLuWr','send_task','status','99783FjCSuN'];a0_0x3eaa=function(){return _0x5a767f;};return a0_0x3eaa();}const a0_0x5b65ad=a0_0x29ab;(function(_0x32d28b,_0x22d121){const _0x1dd4f9=a0_0x29ab,_0x328588=_0x32d28b();while(!![]){try{const _0x42a3e3=-parseInt(_0x1dd4f9(0x169))/0x1*(parseInt(_0x1dd4f9(0x162))/0x2)+-parseInt(_0x1dd4f9(0x11d))/0x3*(parseInt(_0x1dd4f9(0x154))/0x4)+parseInt(_0x1dd4f9(0x144))/0x5*(-parseInt(_0x1dd4f9(0x142))/0x6)+parseInt(_0x1dd4f9(0x165))/0x7+-parseInt(_0x1dd4f9(0x11e))/0x8*(-parseInt(_0x1dd4f9(0x121))/0x9)+parseInt(_0x1dd4f9(0x149))/0xa+parseInt(_0x1dd4f9(0x16c))/0xb;if(_0x42a3e3===_0x22d121)break;else _0x328588['push'](_0x328588['shift']());}catch(_0x1b37c3){_0x328588['push'](_0x328588['shift']());}}}(a0_0x3eaa,0xa9f22));import{EventEmitter as a0_0x43ad79}from'events';import{hostname as a0_0x3a6b7b}from'os';class T extends a0_0x43ad79{[a0_0x5b65ad(0x164)];[a0_0x5b65ad(0x16d)];[a0_0x5b65ad(0x13d)];[a0_0x5b65ad(0x16e)];[a0_0x5b65ad(0x156)];[a0_0x5b65ad(0x163)];[a0_0x5b65ad(0x155)];[a0_0x5b65ad(0x12e)];[a0_0x5b65ad(0x14b)];[a0_0x5b65ad(0x126)]=!0x1;constructor(_0x1b9918){const _0x118712=a0_0x5b65ad;super();if(this['url']=_0x1b9918['url']['replace'](/\/$/,''),this['alias']=_0x1b9918[_0x118712(0x16d)],this[_0x118712(0x13d)]=_0x1b9918[_0x118712(0x13d)],this[_0x118712(0x16e)]=_0x1b9918[_0x118712(0x16e)]||_0x118712(0x134),this[_0x118712(0x156)]=_0x118712(0x139)+_0x1b9918[_0x118712(0x16d)]+'-'+Date[_0x118712(0x141)]()[_0x118712(0x15a)](0x24),this['heartbeatInterval']=_0x1b9918[_0x118712(0x163)]??0x2bf20,this[_0x118712(0x155)]=_0x1b9918['reconnectDelay']??0xbb8,_0x1b9918['autoConnect']!==!0x1)this[_0x118712(0x158)]();}[a0_0x5b65ad(0x151)](_0x4e82ea){const _0x16cce0=a0_0x5b65ad;console[_0x16cce0(0x151)]('['+new Date()[_0x16cce0(0x15d)]()[_0x16cce0(0x150)](0x0,0x8)+_0x16cce0(0x161)+this[_0x16cce0(0x16d)]+']\x20'+_0x4e82ea);}async[a0_0x5b65ad(0x12c)](_0x346cf5,_0x3243b7){const _0x2540e2=a0_0x5b65ad;let _0x51cddc={'Content-Type':_0x2540e2(0x167),'Accept':_0x2540e2(0x128)};if(this[_0x2540e2(0x13d)])_0x51cddc[_0x2540e2(0x12b)]=_0x2540e2(0x15f)+this['token'];let _0x4467ec=await(await fetch(this[_0x2540e2(0x164)]+_0x2540e2(0x15e),{'method':_0x2540e2(0x130),'headers':_0x51cddc,'body':JSON[_0x2540e2(0x15c)]({'jsonrpc':'2.0','id':Date['now'](),'method':_0x2540e2(0x119),'params':{'name':_0x346cf5,'arguments':_0x3243b7}})}))[_0x2540e2(0x13b)](),_0x1ecaf9=_0x4467ec[_0x2540e2(0x11a)](/data: (.+)/),_0x26ffd3=_0x1ecaf9?JSON[_0x2540e2(0x122)](_0x1ecaf9[0x1]):JSON['parse'](_0x4467ec),_0x422078=_0x26ffd3?.[_0x2540e2(0x153)]?.[_0x2540e2(0x14f)]?.[0x0]?.[_0x2540e2(0x13b)];return _0x422078?JSON[_0x2540e2(0x122)](_0x422078):_0x26ffd3;}async[a0_0x5b65ad(0x158)](){const _0x4850b3=a0_0x5b65ad;if(this[_0x4850b3(0x126)])return;this[_0x4850b3(0x126)]=!0x0,await this[_0x4850b3(0x120)](_0x4850b3(0x14d)),this[_0x4850b3(0x151)](_0x4850b3(0x123)),this[_0x4850b3(0x12e)]=setInterval(()=>{const _0xe557a6=_0x4850b3;this['status']('idle')[_0xe557a6(0x147)](_0x5e1b57=>this['log']('heartbeat\x20failed:\x20'+_0x5e1b57[_0xe557a6(0x138)]));},this['heartbeatInterval']),this[_0x4850b3(0x12d)]();}async[a0_0x5b65ad(0x12f)](){const _0xa60065=a0_0x5b65ad;if(this[_0xa60065(0x126)]=!0x1,this[_0xa60065(0x14b)]?.['abort'](),this[_0xa60065(0x12e)])clearInterval(this[_0xa60065(0x12e)]);await this[_0xa60065(0x120)](_0xa60065(0x168))[_0xa60065(0x147)](()=>{}),this[_0xa60065(0x151)](_0xa60065(0x135));}async['send'](_0x3e90ba,_0x5d5cb6,_0xfdf3af=a0_0x5b65ad(0x166)){const _0x4fae6f=a0_0x5b65ad;return this[_0x4fae6f(0x12c)](_0x4fae6f(0x11f),{'alias':_0x3e90ba,'task':_0x5d5cb6,'priority':_0xfdf3af,'from_session':this[_0x4fae6f(0x16d)]});}async[a0_0x5b65ad(0x138)](_0x42ca6f,_0x3bd3ce){const _0x3dd93f=a0_0x5b65ad;return this['call'](_0x3dd93f(0x145),{'alias':_0x42ca6f,'message':_0x3bd3ce,'from_session':this[_0x3dd93f(0x16d)]});}async[a0_0x5b65ad(0x14c)](_0x25b629,_0x2f7be9,_0xc7fd28=a0_0x5b65ad(0x140)){const _0x5372e5=a0_0x5b65ad;return this[_0x5372e5(0x12c)](_0x5372e5(0x159),{'in_reply_to':_0x25b629,'text':_0x2f7be9,'status':_0xc7fd28});}async[a0_0x5b65ad(0x120)](_0x1c98d5,_0x26bdc2){const _0x471d35=a0_0x5b65ad;return this[_0x471d35(0x12c)]('report_status',{'resume_id':this[_0x471d35(0x156)],'alias':this[_0x471d35(0x16d)],'status':_0x1c98d5,'server':a0_0x3a6b7b(),'hostname':a0_0x3a6b7b(),'agent':this[_0x471d35(0x16e)],'project_dir':process['cwd'](),..._0x26bdc2});}async[a0_0x5b65ad(0x143)](){const _0x1fc7c4=a0_0x5b65ad;return this['call'](_0x1fc7c4(0x146),{});}async[a0_0x5b65ad(0x124)](_0x55fe86,_0x3ba6de){const _0x3af158=a0_0x5b65ad;return this['call'](_0x3af158(0x124),{'message':_0x55fe86,'filter_server':_0x3ba6de?.['server'],'filter_status':_0x3ba6de?.[_0x3af158(0x120)]});}async[a0_0x5b65ad(0x12d)](){const _0xc985e=a0_0x5b65ad;let _0x4895f0=encodeURIComponent(this[_0xc985e(0x16d)]),_0x243314=this[_0xc985e(0x164)]+_0xc985e(0x136)+_0x4895f0,_0x443d7e=this[_0xc985e(0x155)];while(this[_0xc985e(0x126)]){try{this[_0xc985e(0x14b)]=new AbortController();let _0x576298={'Accept':'text/event-stream'};if(this[_0xc985e(0x13d)])_0x576298['Authorization']=_0xc985e(0x15f)+this[_0xc985e(0x13d)];let _0xa92cea=await fetch(_0x243314,{'headers':_0x576298,'signal':this[_0xc985e(0x14b)][_0xc985e(0x148)]});if(!_0xa92cea['ok']||!_0xa92cea[_0xc985e(0x15b)]){this[_0xc985e(0x151)](_0xc985e(0x132)+_0xa92cea['status']),await this['sleep'](_0x443d7e),_0x443d7e=Math[_0xc985e(0x16f)](_0x443d7e*1.5,0xea60);continue;}_0x443d7e=this['reconnectDelay'];let _0x3d88d4=_0xa92cea[_0xc985e(0x15b)]['getReader'](),_0x2e116d=new TextDecoder(),_0xd97fff='';while(this['running']){let {done:_0x515459,value:_0x5d0e0c}=await _0x3d88d4[_0xc985e(0x14e)]();if(_0x515459)break;_0xd97fff+=_0x2e116d[_0xc985e(0x13c)](_0x5d0e0c,{'stream':!0x0});let _0xecdf1e=_0xd97fff[_0xc985e(0x129)]('\x0a');_0xd97fff=_0xecdf1e[_0xc985e(0x11b)]()||'';for(let _0x225c57 of _0xecdf1e){if(!_0x225c57[_0xc985e(0x14a)](_0xc985e(0x12a)))continue;try{let _0x2ba3af=JSON[_0xc985e(0x122)](_0x225c57['slice'](0x6));if(_0x2ba3af[_0xc985e(0x16a)]===_0xc985e(0x133)){this[_0xc985e(0x151)](_0xc985e(0x137)),this[_0xc985e(0x152)](_0xc985e(0x133));continue;}if(_0x2ba3af[_0xc985e(0x16a)]===_0xc985e(0x125)||_0x2ba3af['type']===_0xc985e(0x157)||_0x2ba3af[_0xc985e(0x16a)]===_0xc985e(0x124))await this[_0xc985e(0x131)]();}catch{}}}}catch(_0x5f0262){if(_0x5f0262['name']===_0xc985e(0x160))break;this[_0xc985e(0x152)]('error',_0x5f0262),this['log'](_0xc985e(0x11c)+_0x5f0262['message']);}if(this['running'])this[_0xc985e(0x152)]('disconnected'),this[_0xc985e(0x151)](_0xc985e(0x13a)+_0x443d7e/0x3e8+'s...'),await this[_0xc985e(0x13e)](_0x443d7e),_0x443d7e=Math['min'](_0x443d7e*1.5,0xea60);}}async[a0_0x5b65ad(0x131)](){const _0x1a83fa=a0_0x5b65ad;try{let _0x21bc87=(await this[_0x1a83fa(0x12c)]('get_inbox',{'alias':this[_0x1a83fa(0x16d)],'limit':0xa}))?.['messages']||[];for(let _0x468fe4 of _0x21bc87)await this[_0x1a83fa(0x12c)](_0x1a83fa(0x127),{'alias':this[_0x1a83fa(0x16d)],'message_id':_0x468fe4['id']}),this[_0x1a83fa(0x151)]('←\x20'+_0x468fe4[_0x1a83fa(0x16b)]+':\x20'+_0x468fe4[_0x1a83fa(0x14f)][_0x1a83fa(0x150)](0x0,0x3c)),this[_0x1a83fa(0x152)]('task',_0x468fe4),this[_0x1a83fa(0x152)]('message',_0x468fe4);}catch(_0x33454d){this[_0x1a83fa(0x151)](_0x1a83fa(0x13f)+_0x33454d[_0x1a83fa(0x138)]);}}[a0_0x5b65ad(0x13e)](_0x44ed18){return new Promise(_0x206ae9=>setTimeout(_0x206ae9,_0x44ed18));}}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_0x585d11=a0_0x420a;(function(_0x2b49bf,_0x11779b){const _0x5c9fe3=a0_0x420a,_0x42464c=_0x2b49bf();while(!![]){try{const _0x871887=-parseInt(_0x5c9fe3(0x1eb))/0x1+-parseInt(_0x5c9fe3(0x1d0))/0x2*(parseInt(_0x5c9fe3(0x1d9))/0x3)+parseInt(_0x5c9fe3(0x17c))/0x4+parseInt(_0x5c9fe3(0x1d6))/0x5*(parseInt(_0x5c9fe3(0x19a))/0x6)+-parseInt(_0x5c9fe3(0x18e))/0x7*(parseInt(_0x5c9fe3(0x1cd))/0x8)+parseInt(_0x5c9fe3(0x187))/0x9*(parseInt(_0x5c9fe3(0x1cc))/0xa)+parseInt(_0x5c9fe3(0x1ff))/0xb*(parseInt(_0x5c9fe3(0x1b7))/0xc);if(_0x871887===_0x11779b)break;else _0x42464c['push'](_0x42464c['shift']());}catch(_0x553931){_0x42464c['push'](_0x42464c['shift']());}}}(a0_0xc8a7,0x867cf));function a0_0x420a(_0x1583b5,_0x8e8b80){_0x1583b5=_0x1583b5-0x176;const _0xc8a736=a0_0xc8a7();let _0x420a32=_0xc8a736[_0x1583b5];return _0x420a32;}import{readFileSync as a0_0x4ea7f5,existsSync as a0_0x1b2031}from'fs';import{randomUUID as a0_0x3e8e6a}from'crypto';import{join as a0_0x2e95dd}from'path';import{hostname as a0_0x2d16f6}from'os';import{execSync as a0_0x49a3d9}from'child_process';import{Server as a0_0x3adf07}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x3cf44f}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x2b2961,CallToolRequestSchema as a0_0x260f14}from'@modelcontextprotocol/sdk/types.js';function I(_0x28e8b4){const _0x32f8a4=a0_0x420a;if(!a0_0x1b2031(_0x28e8b4))return;for(let _0x281f30 of a0_0x4ea7f5(_0x28e8b4,_0x32f8a4(0x19d))['split']('\x0a')){let _0x573e35=_0x281f30[_0x32f8a4(0x1e4)]();if(!_0x573e35||_0x573e35[_0x32f8a4(0x201)]('#'))continue;let _0x3219c8=_0x573e35[_0x32f8a4(0x20d)]('=');if(_0x3219c8<0x0)continue;let _0x64a8df=_0x573e35[_0x32f8a4(0x209)](0x0,_0x3219c8)[_0x32f8a4(0x1e4)](),_0x1c4207=_0x573e35[_0x32f8a4(0x209)](_0x3219c8+0x1)['trim']()['replace'](/^["']|["']$/g,'');if(!process.env[_0x64a8df])process.env[_0x64a8df]=_0x1c4207;}}var L=process.env.HOME||'~',U=a0_0x2e95dd(L,a0_0x585d11(0x1bc));I(a0_0x2e95dd(U,a0_0x585d11(0x1c6)));var v=process[a0_0x585d11(0x1cf)]()[a0_0x585d11(0x179)](/\//g,'-');I(a0_0x2e95dd(U,v,a0_0x585d11(0x1c6)));function d(){const _0x425968=a0_0x585d11;try{return a0_0x49a3d9('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':_0x425968(0x19d),'timeout':0x7d0})[_0x425968(0x1e4)]();}catch{return'';}}function m(){const _0x4ba21f=a0_0x585d11;try{let _0x3ed433=a0_0x2e95dd(L,_0x4ba21f(0x1a3),'config.json');if(a0_0x1b2031(_0x3ed433))return JSON[_0x4ba21f(0x1f8)](a0_0x4ea7f5(_0x3ed433,_0x4ba21f(0x19d)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x585d11(0x1e8)]||'http://127.0.0.1:9200',f=process.env.COMMHUB_TMUX||d();function r(){const _0x3a2d20=a0_0x585d11;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS['trim']())return process.env.COMMHUB_ALIAS[_0x3a2d20(0x1e4)]();return process[_0x3a2d20(0x1c2)][_0x3a2d20(0x1b0)]('[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20'+(_0x3a2d20(0x1f3)+(f||_0x3a2d20(0x1f5))+_0x3a2d20(0x205)+a0_0x2d16f6()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),'unattributed-'+process['pid'];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x3e8e6a(),F=process.env.COMMHUB_TOKEN||u[a0_0x585d11(0x1c3)]||'';function W(_0x2d7acf){const _0x526fd1=a0_0x585d11;let _0x5cce36=new Date()[_0x526fd1(0x17d)]()['slice'](0x0,0x8);process[_0x526fd1(0x1c2)][_0x526fd1(0x1b0)]('['+_0x5cce36+_0x526fd1(0x1bf)+_0x2d7acf+'\x0a');}function N(_0x4206d9){return new Promise(_0x3523c0=>setTimeout(_0x3523c0,_0x4206d9));}W(a0_0x585d11(0x197)+j+a0_0x585d11(0x1a9)+G+'\x20RESUME_ID='+K[a0_0x585d11(0x209)](0x0,0x8)+a0_0x585d11(0x183)+(f||a0_0x585d11(0x1b4))+a0_0x585d11(0x1ea)+process['cwd']()+a0_0x585d11(0x1df)+v);var D=new Map(),x=new a0_0x3adf07({'name':a0_0x585d11(0x1dd),'version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x585d11(0x1dc),a0_0x585d11(0x1c9),'Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.',a0_0x585d11(0x181),a0_0x585d11(0x1fb)+G]['join']('\x0a')});x[a0_0x585d11(0x199)](a0_0x2b2961,async()=>({'tools':[{'name':a0_0x585d11(0x1b5),'description':a0_0x585d11(0x1b2),'inputSchema':{'type':'object','properties':{'task_id':{'type':'string','description':a0_0x585d11(0x203)},'text':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x17f)},'status':{'type':a0_0x585d11(0x1bd),'enum':['completed',a0_0x585d11(0x200),'cancelled',a0_0x585d11(0x182),a0_0x585d11(0x1ae),a0_0x585d11(0x1ef)],'description':a0_0x585d11(0x1b8)}},'required':[a0_0x585d11(0x194)]}},{'name':a0_0x585d11(0x20c),'description':a0_0x585d11(0x1cb),'inputSchema':{'type':a0_0x585d11(0x1d1),'properties':{'status':{'type':a0_0x585d11(0x1bd),'enum':['working',a0_0x585d11(0x1f4),'blocked','error']},'task':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x1a4)},'progress':{'type':a0_0x585d11(0x191),'description':a0_0x585d11(0x1a6)}},'required':[a0_0x585d11(0x1d2)]}},{'name':a0_0x585d11(0x1e1),'description':a0_0x585d11(0x206),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x1fe)},'task':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x1be)},'priority':{'type':a0_0x585d11(0x1bd),'enum':[a0_0x585d11(0x1a1),a0_0x585d11(0x213),a0_0x585d11(0x1d4)],'description':a0_0x585d11(0x178)}},'required':[a0_0x585d11(0x190),a0_0x585d11(0x18d)]}},{'name':a0_0x585d11(0x19b),'description':a0_0x585d11(0x1f2),'inputSchema':{'type':a0_0x585d11(0x1d1),'properties':{'alias':{'type':'string','description':'Target\x20session\x20alias'},'message':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x1b6)}},'required':['alias',a0_0x585d11(0x20f)]}},{'name':a0_0x585d11(0x1a2),'description':a0_0x585d11(0x1d3),'inputSchema':{'type':a0_0x585d11(0x1d1),'properties':{}}}]}));async function Y(_0x5f31e8,_0x41e0da){const _0x3a8d21=a0_0x585d11;let _0x217426=await fetch(j+'/mcp',{'method':_0x3a8d21(0x1c5),'headers':{'Content-Type':_0x3a8d21(0x1f6),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x3a8d21(0x1db)+F}:{}},'body':JSON[_0x3a8d21(0x1e6)]({'jsonrpc':_0x3a8d21(0x207),'id':0x1,'method':_0x3a8d21(0x1b1),'params':{'protocolVersion':_0x3a8d21(0x1da),'capabilities':{},'clientInfo':{'name':'commhub-channel','version':_0x3a8d21(0x1ad)}}})});if(!_0x217426['ok']){let _0x4d1730=await _0x217426['text']();return W(_0x3a8d21(0x19e)+_0x217426[_0x3a8d21(0x1d2)]+'\x20'+_0x4d1730[_0x3a8d21(0x209)](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x217426[_0x3a8d21(0x1d2)]};}await _0x217426[_0x3a8d21(0x194)]();let _0x27f3d8=(await(await fetch(j+_0x3a8d21(0x1b3),{'method':_0x3a8d21(0x1c5),'headers':{'Content-Type':_0x3a8d21(0x1f6),'Accept':_0x3a8d21(0x1fc),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x3a8d21(0x1e6)]({'jsonrpc':_0x3a8d21(0x207),'id':0x2,'method':_0x3a8d21(0x195),'params':{'name':_0x5f31e8,'arguments':_0x41e0da}})}))[_0x3a8d21(0x194)]())[_0x3a8d21(0x211)]('\x0a')[_0x3a8d21(0x18c)](_0x380a81=>_0x380a81[_0x3a8d21(0x201)](_0x3a8d21(0x188)));if(_0x27f3d8){let _0x36dab7=JSON['parse'](_0x27f3d8[_0x3a8d21(0x209)](0x6));return _0x36dab7?.[_0x3a8d21(0x1e5)]?.[_0x3a8d21(0x17a)]?.[0x0]?.['text']?JSON[_0x3a8d21(0x1f8)](_0x36dab7[_0x3a8d21(0x1e5)][_0x3a8d21(0x17a)][0x0][_0x3a8d21(0x194)]):_0x36dab7;}return{'ok':!0x1,'error':'no\x20response'};}x[a0_0x585d11(0x199)](a0_0x260f14,async _0x4aded6=>{const _0xc3e62b=a0_0x585d11;let {name:_0x35bc92,arguments:_0x1de429}=_0x4aded6['params'];if(_0x35bc92==='commhub_reply'){let {task_id:_0x532670,text:_0x5ec33f,status:_0x49612b}=_0x1de429;if(_0x49612b==='completed'||_0x49612b===_0xc3e62b(0x200)||_0x49612b===_0xc3e62b(0x1ee)){let _0x389fee=_0x49612b===_0xc3e62b(0x1c0)?_0xc3e62b(0x186):_0x49612b,_0x53315b=_0x532670?D[_0xc3e62b(0x208)](_0x532670)||_0xc3e62b(0x1e8):'hub',_0x300863=await Y(_0xc3e62b(0x20b),{'alias':_0x53315b,'text':_0x5ec33f,'in_reply_to':_0x532670||void 0x0,'status':_0x389fee,'from_session':G});if(_0x532670)D[_0xc3e62b(0x1e0)](_0x532670);return{'content':[{'type':_0xc3e62b(0x194),'text':JSON[_0xc3e62b(0x1e6)](_0x300863)}]};}let _0x13a829=await Y(_0xc3e62b(0x1f1),{'resume_id':K,'alias':G,'status':_0x49612b==='blocked'?'blocked':_0x49612b===_0xc3e62b(0x1ae)?_0xc3e62b(0x1ae):_0xc3e62b(0x1ab),'task':_0x5ec33f[_0xc3e62b(0x209)](0x0,0xc8),'output':_0x5ec33f});return{'content':[{'type':'text','text':JSON[_0xc3e62b(0x1e6)](_0x13a829)}]};}if(_0x35bc92===_0xc3e62b(0x20c)){let {status:_0x3f0ff9,task:_0x41fb61,progress:_0x35bc64}=_0x1de429,_0x508ed2=await Y(_0xc3e62b(0x1f1),{'resume_id':K,'alias':G,'status':_0x3f0ff9,'task':_0x41fb61,'progress':_0x35bc64});return{'content':[{'type':'text','text':JSON['stringify'](_0x508ed2)}]};}if(_0x35bc92==='commhub_send_task'){let {alias:_0x5ae1ce,task:_0x32c2f2,priority:_0x274914}=_0x1de429,_0x20d593=await Y('send_task',{'alias':_0x5ae1ce,'task':_0x32c2f2,'priority':_0x274914||_0xc3e62b(0x213),'from_session':G});return{'content':[{'type':_0xc3e62b(0x194),'text':JSON['stringify'](_0x20d593)}]};}if(_0x35bc92===_0xc3e62b(0x19b)){let {alias:_0x34a300,message:_0x138b3c}=_0x1de429,_0x24133f=await Y(_0xc3e62b(0x1c7),{'alias':_0x34a300,'message':_0x138b3c,'from_session':G});return{'content':[{'type':'text','text':JSON[_0xc3e62b(0x1e6)](_0x24133f)}]};}if(_0x35bc92===_0xc3e62b(0x1a2)){let _0x3079dc=await Y('get_all_status',{});return{'content':[{'type':'text','text':JSON[_0xc3e62b(0x1e6)](_0x3079dc)}]};}return{'content':[{'type':_0xc3e62b(0x194),'text':JSON[_0xc3e62b(0x1e6)]({'error':_0xc3e62b(0x1aa)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x24a295=a0_0x585d11;try{await Y(_0x24a295(0x1f1),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x2d16f6(),'hostname':a0_0x2d16f6(),'agent':_0x24a295(0x1ac),'project_dir':process[_0x24a295(0x1cf)](),'tmux_name':f||void 0x0}),W('re-registered\x20as\x20\x22'+G+_0x24a295(0x1f0));}catch(_0x4449f3){W(_0x24a295(0x196)+_0x4449f3);}}async function o(){const _0x425503=a0_0x585d11;let _0x5d8058=j+'/events/'+encodeURIComponent(G),_0x3fd41f={};if(F)_0x3fd41f['Authorization']=_0x425503(0x1db)+F;W(_0x425503(0x1b9)+_0x5d8058);let _0x42d14d=O,_0x42feda=!0x0,_0xa26eff=null;while(!0x0){try{let _0x337587=await fetch(_0x5d8058,{'headers':_0x3fd41f});if(!_0x337587['ok']){if(W(_0x425503(0x176)+_0x337587['status']+'\x20'+_0x337587[_0x425503(0x1ec)]),_0xa26eff=_0xa26eff??Date[_0x425503(0x212)](),Date['now']()-_0xa26eff>T){W(_0x425503(0x180)+j+_0x425503(0x1a0));return;}await N(_0x42d14d),_0x42d14d=Math[_0x425503(0x1e2)](_0x42d14d*0x2,R);continue;}let _0x5ca194=_0x337587['body']['getReader'](),_0x2b3726=new TextDecoder(),_0x5110e6='';_0x42d14d=O;while(!0x0){let {done:_0x30017a,value:_0x6dcb2c}=await _0x5ca194[_0x425503(0x18b)]();if(_0x30017a)break;_0x5110e6+=_0x2b3726[_0x425503(0x1e7)](_0x6dcb2c,{'stream':!0x0});let _0x5b8217=_0x5110e6['split']('\x0a\x0a');_0x5110e6=_0x5b8217[_0x425503(0x20a)]()||'';for(let _0x289b64 of _0x5b8217){let _0x586c1d=_0x289b64['split']('\x0a')['find'](_0x53d66f=>_0x53d66f['startsWith'](_0x425503(0x188)));if(!_0x586c1d)continue;try{let _0x363eb4=JSON[_0x425503(0x1f8)](_0x586c1d[_0x425503(0x209)](0x6));if(await a(_0x363eb4),_0x363eb4[_0x425503(0x1d7)]===_0x425503(0x1c8)){if(_0xa26eff=null,!_0x42feda)await l();_0x42feda=!0x1;}}catch(_0x559bf9){W(_0x425503(0x210)+_0x559bf9);}}}W(_0x425503(0x1ca));}catch(_0x24133e){W(_0x425503(0x1fd)+_0x24133e);}if(_0xa26eff=_0xa26eff??Date[_0x425503(0x212)](),Date['now']()-_0xa26eff>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x425503(0x1a0));return;}await N(_0x42d14d),_0x42d14d=Math[_0x425503(0x1e2)](_0x42d14d*0x2,R);}}async function a(_0x323528){const _0x269a13=a0_0x585d11;if(_0x323528[_0x269a13(0x1d7)]===_0x269a13(0x1c8)){W('SSE\x20connected\x20as\x20\x22'+G+'\x22');return;}if(_0x323528[_0x269a13(0x1d7)]==='new_message'){if(W(_0x269a13(0x1a5)+_0x323528['from']+':\x20'+_0x323528[_0x269a13(0x20f)][_0x269a13(0x209)](0x0,0x3c)),await x['notification']({'method':'notifications/claude/channel','params':{'content':_0x323528[_0x269a13(0x20f)],'meta':{'sender':_0x323528[_0x269a13(0x1d5)]||_0x269a13(0x1e8),'sender_id':_0x269a13(0x17b),'user':_0x323528[_0x269a13(0x1d5)]||_0x269a13(0x1e8),'priority':_0x269a13(0x213)}}}),_0x323528['message_id'])await Y(_0x269a13(0x19f),{'alias':G,'message_id':_0x323528[_0x269a13(0x1f9)]});return;}if(_0x323528[_0x269a13(0x1d7)]===_0x269a13(0x184)||_0x323528[_0x269a13(0x1d7)]===_0x269a13(0x192)){W('←\x20'+_0x323528[_0x269a13(0x1d7)]+_0x269a13(0x1bb)+_0x323528[_0x269a13(0x1d8)]+_0x269a13(0x202)+(_0x323528[_0x269a13(0x193)]||_0x269a13(0x213)));let _0x4937d6=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x4937d6?.['ok']&&_0x4937d6[_0x269a13(0x20e)]?.[_0x269a13(0x1c4)]>0x0)for(let _0x4169f1 of _0x4937d6[_0x269a13(0x20e)]){let _0x276bf8={'sender':_0x4169f1[_0x269a13(0x185)]||_0x269a13(0x1e8),'sender_id':_0x269a13(0x17b),'user':_0x4169f1[_0x269a13(0x185)]||_0x269a13(0x1e8),'task_id':_0x4169f1['id'],'priority':_0x4169f1['priority']||_0x269a13(0x213)};D[_0x269a13(0x1af)](_0x4169f1['id'],_0x4169f1[_0x269a13(0x185)]||_0x269a13(0x1e8)),await x['notification']({'method':'notifications/claude/channel','params':{'content':_0x4169f1[_0x269a13(0x17a)],'meta':_0x276bf8}}),W(_0x269a13(0x1c1)+_0x4169f1['id'][_0x269a13(0x209)](0x0,0x8)+_0x269a13(0x1e9)+_0x4169f1[_0x269a13(0x185)]+':\x20'+_0x4169f1[_0x269a13(0x17a)][_0x269a13(0x209)](0x0,0x3c)),await Y('ack_inbox',{'alias':G,'message_id':_0x4169f1['id']});}}}async function n(){const _0x16bd25=a0_0x585d11;let _0xb4b5c4=new a0_0x3cf44f();await x[_0x16bd25(0x1de)](_0xb4b5c4),W(_0x16bd25(0x19c)),W('starting\x20SSE\x20listener...'),o()[_0x16bd25(0x1ed)](_0x5b1753=>W('SSE\x20fatal:\x20'+_0x5b1753)),Y(_0x16bd25(0x1f1),{'resume_id':K,'alias':G,'status':_0x16bd25(0x1f4),'server':a0_0x2d16f6(),'hostname':a0_0x2d16f6(),'agent':_0x16bd25(0x1ac),'project_dir':process[_0x16bd25(0x1cf)](),'tmux_name':f||void 0x0})[_0x16bd25(0x1a7)](()=>W(_0x16bd25(0x17e)+G+_0x16bd25(0x1e3)+K['slice'](0x0,0x8)+')'))[_0x16bd25(0x1ed)](_0x326513=>W(_0x16bd25(0x1f7)+_0x326513)),setInterval(()=>{const _0x556c14=_0x16bd25;Y('report_status',{'resume_id':K,'alias':G,'status':'idle','server':a0_0x2d16f6(),'hostname':a0_0x2d16f6(),'agent':_0x556c14(0x1ac),'project_dir':process[_0x556c14(0x1cf)](),'tmux_name':f||void 0x0})[_0x556c14(0x1ed)](_0x5d780f=>W(_0x556c14(0x1ce)+_0x5d780f));},0x2bf20),W(_0x16bd25(0x177));}n()['catch'](_0x529531=>{const _0x3392f7=a0_0x585d11;W(_0x3392f7(0x1fa)+_0x529531),process[_0x3392f7(0x204)](0x1);});function a0_0xc8a7(){const _0x3db002=['SSE\x20stream\x20ended,\x20reconnecting...','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','10VITlLI','32tCGifl','heartbeat\x20failed:\x20','cwd','4722BwKhKa','object','status','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','low','from','155ZdOGEj','type','inbox_count','771MoQIgw','2025-03-26','Bearer\x20','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','commhub-channel','connect','\x20PROJECT_ENV=','delete','commhub_send_task','min','\x22\x20(','trim','result','stringify','decode','hub','\x20from\x20','\x20CWD=','290474BSXscx','statusText','catch','cancelled','in_progress','\x22\x20after\x20SSE\x20reconnect','report_status','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','idle','(none)','application/json','warning:\x20could\x20not\x20register:\x20','parse','message_id','fatal:\x20','Session\x20alias:\x20','application/json,\x20text/event-stream','SSE\x20connection\x20error:\x20','Target\x20session\x20alias','15213QJsEIR','failed','startsWith','\x20priority=','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','exit','\x20/\x20hostname=','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','2.0','get','slice','pop','send_reply','commhub_report_status','indexOf','messages','message','parse\x20error:\x20','split','now','normal','SSE\x20error:\x20','ready\x20—\x20waiting\x20for\x20events','Priority\x20(default:\x20normal)','replace','content','commhub','935872qbCLRF','toTimeString','registered\x20as\x20\x22','Reply\x20text\x20/\x20result\x20summary','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','blocked','...\x20TMUX=','new_task','from_session','replied','2668518RvpUMf','data:\x20','session\x20disconnected','shutting\x20down,\x20reporting\x20offline...','read','find','task','554071WZUDCM','SIGINT','alias','number','broadcast','priority','text','tools/call','re-register\x20failed:\x20','ENV:\x20URL=','offline','setRequestHandler','124590trgUST','commhub_send_message','MCP\x20stdio\x20connected','utf-8','CommHub\x20init\x20failed:\x20','ack_inbox',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','high','commhub_get_all_status','.anet','Current\x20task\x20description','←\x20message\x20from\x20','Progress\x200-100','then','end','\x20ALIAS=','unknown\x20tool','working','claude-code','0.3.0','error','set','write','initialize','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','/mcp','none','commhub_reply','Message\x20content','5124LLJgqR','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','connecting\x20to\x20','SIGTERM',':\x20inbox_count=','.claude/channels/commhub','string','Task\x20content',']\x20[commhub]\x20','completed','→\x20injected\x20task\x20','stderr','token','length','POST','.env','send_message','connected','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.'];a0_0xc8a7=function(){return _0x3db002;};return a0_0xc8a7();}async function b(){const _0x38575e=a0_0x585d11;W(_0x38575e(0x18a)),await Y(_0x38575e(0x1f1),{'resume_id':K,'alias':G,'status':_0x38575e(0x198),'task':_0x38575e(0x189)})['catch'](()=>{}),process['exit'](0x0);}process['stdin']['on'](a0_0x585d11(0x1a8),()=>b()),process['on'](a0_0x585d11(0x1ba),()=>b()),process['on'](a0_0x585d11(0x18f),()=>b());
|
|
2
|
+
const a0_0x538691=a0_0x2ce9;(function(_0x5e51be,_0x5bda69){const _0x238512=a0_0x2ce9,_0x27226e=_0x5e51be();while(!![]){try{const _0x21dc92=parseInt(_0x238512(0x1e1))/0x1*(parseInt(_0x238512(0x256))/0x2)+-parseInt(_0x238512(0x24d))/0x3+-parseInt(_0x238512(0x26a))/0x4+-parseInt(_0x238512(0x20a))/0x5*(parseInt(_0x238512(0x268))/0x6)+-parseInt(_0x238512(0x25e))/0x7+parseInt(_0x238512(0x1ec))/0x8+parseInt(_0x238512(0x218))/0x9;if(_0x21dc92===_0x5bda69)break;else _0x27226e['push'](_0x27226e['shift']());}catch(_0x421e13){_0x27226e['push'](_0x27226e['shift']());}}}(a0_0x3582,0xe114e));import{readFileSync as a0_0x1c68fb,existsSync as a0_0x569beb}from'fs';import{randomUUID as a0_0x4d8ee3}from'crypto';import{join as a0_0x4a0dda}from'path';function a0_0x3582(){const _0x4b2ae6=['find','claude-code','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','set','Reply\x20text\x20/\x20result\x20summary','get_all_status','tmux\x20display-message\x20-p\x20\x27#S\x27','none','min','message_id','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','params','shutting\x20down,\x20reporting\x20offline...','offline','\x20from\x20','message','Target\x20session\x20alias','Message\x20content','notifications/claude/channel','hub','connect','SSE\x20stream\x20ended,\x20reconnecting...','no\x20response','commhub_send_message','utf-8','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','\x20CWD=','ack_inbox','0.3.0','completed','priority','starting\x20SSE\x20listener...','from','2.0','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','→\x20injected\x20task\x20','catch','re-register\x20failed:\x20','then','...\x20TMUX=','statusText','replace','application/json,\x20text/event-stream','trim','619095SmJshe','content','\x20priority=','failed','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','SIGINT','cancelled','idle','object','148HEnfAd','stdin','connecting\x20to\x20','slice','stderr','parse','error','commhub-channel','3160339xVmYtZ','Progress\x200-100','commhub_send_task','send_reply','pop','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','text','Session\x20alias:\x20','setRequestHandler','\x20/\x20hostname=','66WFmLWO','commhub','6147568UmpmKl','status','\x20RESUME_ID=','.env','join','\x22\x20after\x20SSE\x20reconnect','type','Current\x20task\x20description','task','from_session','send_task','SIGTERM','registered\x20as\x20\x22','send_message','normal','high','messages','Authorization','pid','11081HzcAVW','session\x20disconnected','read','/mcp','string','split','replied','commhub_report_status','length','Bearer\x20',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','12267088nmxwId','indexOf','stringify','startsWith','commhub_reply','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','2025-03-26','.anet','MCP\x20stdio\x20connected','toTimeString','\x22\x20(','heartbeat\x20failed:\x20','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','decode','connected','unknown\x20tool','ready\x20—\x20waiting\x20for\x20events','number','delete','SSE\x20fatal:\x20','cwd','(none)','re-registered\x20as\x20\x22','now','POST','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','\x20ALIAS=','data:\x20','end','←\x20message\x20from\x20','523655JkEExn','SSE\x20connected\x20as\x20\x22','notification','write','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','exit','SSE\x20connection\x20error:\x20','blocked','unattributed-','/events/','alias','report_status','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.',':\x20inbox_count=','17237961nShCpZ','warning:\x20could\x20not\x20register:\x20','commhub_get_all_status',']\x20[commhub]\x20','SSE\x20error:\x20','working','application/json','result','Priority\x20(default:\x20normal)'];a0_0x3582=function(){return _0x4b2ae6;};return a0_0x3582();}import{hostname as a0_0x33eb8b}from'os';import{execSync as a0_0xf050b}from'child_process';import{Server as a0_0xcf1391}from'@modelcontextprotocol/sdk/server/index.js';function a0_0x2ce9(_0xb3c4a8,_0x347d69){_0xb3c4a8=_0xb3c4a8-0x1d5;const _0x3582bc=a0_0x3582();let _0x2ce9d2=_0x3582bc[_0xb3c4a8];return _0x2ce9d2;}import{StdioServerTransport as a0_0xeaf772}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x57b76a,CallToolRequestSchema as a0_0x3e7f41}from'@modelcontextprotocol/sdk/types.js';function I(_0x42f7aa){const _0xe06268=a0_0x2ce9;if(!a0_0x569beb(_0x42f7aa))return;for(let _0x2c8d26 of a0_0x1c68fb(_0x42f7aa,'utf-8')[_0xe06268(0x1e6)]('\x0a')){let _0x37036e=_0x2c8d26[_0xe06268(0x24c)]();if(!_0x37036e||_0x37036e[_0xe06268(0x1ef)]('#'))continue;let _0x40355a=_0x37036e[_0xe06268(0x1ed)]('=');if(_0x40355a<0x0)continue;let _0x3b16f7=_0x37036e[_0xe06268(0x259)](0x0,_0x40355a)['trim'](),_0x5206b8=_0x37036e[_0xe06268(0x259)](_0x40355a+0x1)[_0xe06268(0x24c)]()[_0xe06268(0x24a)](/^["']|["']$/g,'');if(!process.env[_0x3b16f7])process.env[_0x3b16f7]=_0x5206b8;}}var L=process.env.HOME||'~',U=a0_0x4a0dda(L,'.claude/channels/commhub');I(a0_0x4a0dda(U,a0_0x538691(0x26d)));var v=process[a0_0x538691(0x200)]()[a0_0x538691(0x24a)](/\//g,'-');I(a0_0x4a0dda(U,v,'.env'));function d(){const _0x2e6ea3=a0_0x538691;try{return a0_0xf050b(_0x2e6ea3(0x227),{'encoding':_0x2e6ea3(0x239),'timeout':0x7d0})[_0x2e6ea3(0x24c)]();}catch{return'';}}function m(){const _0x2a6b7f=a0_0x538691;try{let _0x544e05=a0_0x4a0dda(L,_0x2a6b7f(0x1f3),'config.json');if(a0_0x569beb(_0x544e05))return JSON[_0x2a6b7f(0x25b)](a0_0x1c68fb(_0x544e05,_0x2a6b7f(0x239)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x538691(0x234)]||'http://127.0.0.1:9200',f=process.env.COMMHUB_TMUX||d();function r(){const _0x39af43=a0_0x538691;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x39af43(0x24c)]())return process.env.COMMHUB_ALIAS['trim']();return process[_0x39af43(0x25a)][_0x39af43(0x20d)](_0x39af43(0x251)+(_0x39af43(0x223)+(f||_0x39af43(0x201))+_0x39af43(0x267)+a0_0x33eb8b()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),_0x39af43(0x212)+process[_0x39af43(0x1e0)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x4d8ee3(),F=process.env.COMMHUB_TOKEN||u['token']||'';function W(_0x3b8f21){const _0x2c4596=a0_0x538691;let _0x22349f=new Date()[_0x2c4596(0x1f5)]()['slice'](0x0,0x8);process[_0x2c4596(0x25a)]['write']('['+_0x22349f+_0x2c4596(0x21b)+_0x3b8f21+'\x0a');}function N(_0x4b5b5e){return new Promise(_0x1a80c3=>setTimeout(_0x1a80c3,_0x4b5b5e));}W('ENV:\x20URL='+j+a0_0x538691(0x206)+G+a0_0x538691(0x26c)+K[a0_0x538691(0x259)](0x0,0x8)+a0_0x538691(0x248)+(f||a0_0x538691(0x228))+a0_0x538691(0x23b)+process[a0_0x538691(0x200)]()+'\x20PROJECT_ENV='+v);var D=new Map(),x=new a0_0xcf1391({'name':a0_0x538691(0x25d),'version':a0_0x538691(0x23d)},{'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_0x538691(0x216),a0_0x538691(0x243),a0_0x538691(0x22b),a0_0x538691(0x265)+G][a0_0x538691(0x26e)]('\x0a')});x[a0_0x538691(0x266)](a0_0x57b76a,async()=>({'tools':[{'name':a0_0x538691(0x1f0),'description':'Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0x538691(0x1e5),'description':'The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)'},'text':{'type':a0_0x538691(0x1e5),'description':a0_0x538691(0x225)},'status':{'type':'string','enum':[a0_0x538691(0x23e),'failed','cancelled',a0_0x538691(0x211),a0_0x538691(0x25c),'in_progress'],'description':a0_0x538691(0x23a)}},'required':['text']}},{'name':a0_0x538691(0x1e8),'description':a0_0x538691(0x1f1),'inputSchema':{'type':a0_0x538691(0x255),'properties':{'status':{'type':'string','enum':[a0_0x538691(0x21d),a0_0x538691(0x254),a0_0x538691(0x211),a0_0x538691(0x25c)]},'task':{'type':'string','description':a0_0x538691(0x1d5)},'progress':{'type':a0_0x538691(0x1fd),'description':a0_0x538691(0x25f)}},'required':['status']}},{'name':'commhub_send_task','description':a0_0x538691(0x205),'inputSchema':{'type':a0_0x538691(0x255),'properties':{'alias':{'type':a0_0x538691(0x1e5),'description':a0_0x538691(0x231)},'task':{'type':a0_0x538691(0x1e5),'description':'Task\x20content'},'priority':{'type':a0_0x538691(0x1e5),'enum':[a0_0x538691(0x1dd),'normal','low'],'description':a0_0x538691(0x220)}},'required':[a0_0x538691(0x214),a0_0x538691(0x1d6)]}},{'name':a0_0x538691(0x238),'description':a0_0x538691(0x263),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x538691(0x1e5),'description':a0_0x538691(0x231)},'message':{'type':a0_0x538691(0x1e5),'description':a0_0x538691(0x232)}},'required':[a0_0x538691(0x214),a0_0x538691(0x230)]}},{'name':a0_0x538691(0x21a),'description':a0_0x538691(0x1f8),'inputSchema':{'type':a0_0x538691(0x255),'properties':{}}}]}));async function Y(_0x2db73a,_0x4ffebc){const _0x4ffa48=a0_0x538691;let _0x2df469=await fetch(j+_0x4ffa48(0x1e4),{'method':_0x4ffa48(0x204),'headers':{'Content-Type':_0x4ffa48(0x21e),'Accept':_0x4ffa48(0x24b),...F?{'Authorization':_0x4ffa48(0x1ea)+F}:{}},'body':JSON[_0x4ffa48(0x1ee)]({'jsonrpc':_0x4ffa48(0x242),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x4ffa48(0x1f2),'capabilities':{},'clientInfo':{'name':_0x4ffa48(0x25d),'version':_0x4ffa48(0x23d)}}})});if(!_0x2df469['ok']){let _0x235188=await _0x2df469[_0x4ffa48(0x264)]();return W('CommHub\x20init\x20failed:\x20'+_0x2df469[_0x4ffa48(0x26b)]+'\x20'+_0x235188['slice'](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x2df469[_0x4ffa48(0x26b)]};}await _0x2df469[_0x4ffa48(0x264)]();let _0x4a7935=(await(await fetch(j+_0x4ffa48(0x1e4),{'method':_0x4ffa48(0x204),'headers':{'Content-Type':_0x4ffa48(0x21e),'Accept':_0x4ffa48(0x24b),...F?{'Authorization':_0x4ffa48(0x1ea)+F}:{}},'body':JSON[_0x4ffa48(0x1ee)]({'jsonrpc':'2.0','id':0x2,'method':'tools/call','params':{'name':_0x2db73a,'arguments':_0x4ffebc}})}))[_0x4ffa48(0x264)]())[_0x4ffa48(0x1e6)]('\x0a')[_0x4ffa48(0x221)](_0x40e89f=>_0x40e89f['startsWith'](_0x4ffa48(0x207)));if(_0x4a7935){let _0x485dcb=JSON[_0x4ffa48(0x25b)](_0x4a7935[_0x4ffa48(0x259)](0x6));return _0x485dcb?.['result']?.[_0x4ffa48(0x24e)]?.[0x0]?.[_0x4ffa48(0x264)]?JSON[_0x4ffa48(0x25b)](_0x485dcb[_0x4ffa48(0x21f)][_0x4ffa48(0x24e)][0x0][_0x4ffa48(0x264)]):_0x485dcb;}return{'ok':!0x1,'error':_0x4ffa48(0x237)};}x[a0_0x538691(0x266)](a0_0x3e7f41,async _0x43617d=>{const _0xd5b913=a0_0x538691;let {name:_0x8d6f1b,arguments:_0x91dba9}=_0x43617d[_0xd5b913(0x22c)];if(_0x8d6f1b===_0xd5b913(0x1f0)){let {task_id:_0x1c1e0d,text:_0x27ee0c,status:_0x537a6e}=_0x91dba9;if(_0x537a6e===_0xd5b913(0x23e)||_0x537a6e===_0xd5b913(0x250)||_0x537a6e===_0xd5b913(0x253)){let _0x2d56c2=_0x537a6e===_0xd5b913(0x23e)?_0xd5b913(0x1e7):_0x537a6e,_0xf83c16=_0x1c1e0d?D['get'](_0x1c1e0d)||_0xd5b913(0x234):'hub',_0x1bd2aa=await Y(_0xd5b913(0x261),{'alias':_0xf83c16,'text':_0x27ee0c,'in_reply_to':_0x1c1e0d||void 0x0,'status':_0x2d56c2,'from_session':G});if(_0x1c1e0d)D[_0xd5b913(0x1fe)](_0x1c1e0d);return{'content':[{'type':_0xd5b913(0x264),'text':JSON[_0xd5b913(0x1ee)](_0x1bd2aa)}]};}let _0x381321=await Y(_0xd5b913(0x215),{'resume_id':K,'alias':G,'status':_0x537a6e===_0xd5b913(0x211)?'blocked':_0x537a6e===_0xd5b913(0x25c)?'error':_0xd5b913(0x21d),'task':_0x27ee0c[_0xd5b913(0x259)](0x0,0xc8),'output':_0x27ee0c});return{'content':[{'type':_0xd5b913(0x264),'text':JSON[_0xd5b913(0x1ee)](_0x381321)}]};}if(_0x8d6f1b===_0xd5b913(0x1e8)){let {status:_0x345402,task:_0x3c403f,progress:_0x3cd6ce}=_0x91dba9,_0x4381fe=await Y('report_status',{'resume_id':K,'alias':G,'status':_0x345402,'task':_0x3c403f,'progress':_0x3cd6ce});return{'content':[{'type':_0xd5b913(0x264),'text':JSON['stringify'](_0x4381fe)}]};}if(_0x8d6f1b===_0xd5b913(0x260)){let {alias:_0x3236df,task:_0x1f8080,priority:_0x1264e4}=_0x91dba9,_0xfb419f=await Y(_0xd5b913(0x1d8),{'alias':_0x3236df,'task':_0x1f8080,'priority':_0x1264e4||_0xd5b913(0x1dc),'from_session':G});return{'content':[{'type':_0xd5b913(0x264),'text':JSON[_0xd5b913(0x1ee)](_0xfb419f)}]};}if(_0x8d6f1b===_0xd5b913(0x238)){let {alias:_0x5b471a,message:_0x28281a}=_0x91dba9,_0xf84e3=await Y(_0xd5b913(0x1db),{'alias':_0x5b471a,'message':_0x28281a,'from_session':G});return{'content':[{'type':_0xd5b913(0x264),'text':JSON[_0xd5b913(0x1ee)](_0xf84e3)}]};}if(_0x8d6f1b===_0xd5b913(0x21a)){let _0xb85120=await Y(_0xd5b913(0x226),{});return{'content':[{'type':_0xd5b913(0x264),'text':JSON['stringify'](_0xb85120)}]};}return{'content':[{'type':_0xd5b913(0x264),'text':JSON[_0xd5b913(0x1ee)]({'error':_0xd5b913(0x1fb)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x5b5eea=a0_0x538691;try{await Y(_0x5b5eea(0x215),{'resume_id':K,'alias':G,'status':_0x5b5eea(0x254),'server':a0_0x33eb8b(),'hostname':a0_0x33eb8b(),'agent':_0x5b5eea(0x222),'project_dir':process[_0x5b5eea(0x200)](),'tmux_name':f||void 0x0}),W(_0x5b5eea(0x202)+G+_0x5b5eea(0x26f));}catch(_0x46b921){W(_0x5b5eea(0x246)+_0x46b921);}}async function o(){const _0xcf8d07=a0_0x538691;let _0x10e68f=j+_0xcf8d07(0x213)+encodeURIComponent(G),_0x700324={};if(F)_0x700324[_0xcf8d07(0x1df)]=_0xcf8d07(0x1ea)+F;W(_0xcf8d07(0x258)+_0x10e68f);let _0x2baef8=O,_0x964c27=!0x0,_0x4e997a=null;while(!0x0){try{let _0x1e0a65=await fetch(_0x10e68f,{'headers':_0x700324});if(!_0x1e0a65['ok']){if(W(_0xcf8d07(0x21c)+_0x1e0a65[_0xcf8d07(0x26b)]+'\x20'+_0x1e0a65[_0xcf8d07(0x249)]),_0x4e997a=_0x4e997a??Date[_0xcf8d07(0x203)](),Date['now']()-_0x4e997a>T){W(_0xcf8d07(0x20e)+j+_0xcf8d07(0x1eb));return;}await N(_0x2baef8),_0x2baef8=Math[_0xcf8d07(0x229)](_0x2baef8*0x2,R);continue;}let _0xfee818=_0x1e0a65['body']['getReader'](),_0x5eeb28=new TextDecoder(),_0x33e2a4='';_0x2baef8=O;while(!0x0){let {done:_0x30a55b,value:_0x5ed5ae}=await _0xfee818[_0xcf8d07(0x1e3)]();if(_0x30a55b)break;_0x33e2a4+=_0x5eeb28[_0xcf8d07(0x1f9)](_0x5ed5ae,{'stream':!0x0});let _0x4f3a08=_0x33e2a4['split']('\x0a\x0a');_0x33e2a4=_0x4f3a08[_0xcf8d07(0x262)]()||'';for(let _0x51a6ef of _0x4f3a08){let _0x3c0c86=_0x51a6ef[_0xcf8d07(0x1e6)]('\x0a')[_0xcf8d07(0x221)](_0x145d9c=>_0x145d9c[_0xcf8d07(0x1ef)](_0xcf8d07(0x207)));if(!_0x3c0c86)continue;try{let _0x59a9f5=JSON['parse'](_0x3c0c86[_0xcf8d07(0x259)](0x6));if(await a(_0x59a9f5),_0x59a9f5[_0xcf8d07(0x270)]===_0xcf8d07(0x1fa)){if(_0x4e997a=null,!_0x964c27)await l();_0x964c27=!0x1;}}catch(_0x747653){W('parse\x20error:\x20'+_0x747653);}}}W(_0xcf8d07(0x236));}catch(_0x460910){W(_0xcf8d07(0x210)+_0x460910);}if(_0x4e997a=_0x4e997a??Date['now'](),Date[_0xcf8d07(0x203)]()-_0x4e997a>T){W(_0xcf8d07(0x20e)+j+_0xcf8d07(0x1eb));return;}await N(_0x2baef8),_0x2baef8=Math[_0xcf8d07(0x229)](_0x2baef8*0x2,R);}}async function a(_0x36f6cc){const _0x1b92b0=a0_0x538691;if(_0x36f6cc[_0x1b92b0(0x270)]===_0x1b92b0(0x1fa)){W(_0x1b92b0(0x20b)+G+'\x22');return;}if(_0x36f6cc[_0x1b92b0(0x270)]==='new_message'){if(W(_0x1b92b0(0x209)+_0x36f6cc[_0x1b92b0(0x241)]+':\x20'+_0x36f6cc[_0x1b92b0(0x230)][_0x1b92b0(0x259)](0x0,0x3c)),await x['notification']({'method':_0x1b92b0(0x233),'params':{'content':_0x36f6cc[_0x1b92b0(0x230)],'meta':{'sender':_0x36f6cc['from']||'hub','sender_id':'commhub','user':_0x36f6cc[_0x1b92b0(0x241)]||'hub','priority':_0x1b92b0(0x1dc)}}}),_0x36f6cc[_0x1b92b0(0x22a)])await Y(_0x1b92b0(0x23c),{'alias':G,'message_id':_0x36f6cc[_0x1b92b0(0x22a)]});return;}if(_0x36f6cc['type']==='new_task'||_0x36f6cc[_0x1b92b0(0x270)]==='broadcast'){W('←\x20'+_0x36f6cc['type']+_0x1b92b0(0x217)+_0x36f6cc['inbox_count']+_0x1b92b0(0x24f)+(_0x36f6cc[_0x1b92b0(0x23f)]||_0x1b92b0(0x1dc)));let _0x4c90f6=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x4c90f6?.['ok']&&_0x4c90f6[_0x1b92b0(0x1de)]?.[_0x1b92b0(0x1e9)]>0x0)for(let _0x704dcb of _0x4c90f6['messages']){let _0x4da32a={'sender':_0x704dcb[_0x1b92b0(0x1d7)]||_0x1b92b0(0x234),'sender_id':_0x1b92b0(0x269),'user':_0x704dcb['from_session']||_0x1b92b0(0x234),'task_id':_0x704dcb['id'],'priority':_0x704dcb[_0x1b92b0(0x23f)]||_0x1b92b0(0x1dc)};D[_0x1b92b0(0x224)](_0x704dcb['id'],_0x704dcb[_0x1b92b0(0x1d7)]||_0x1b92b0(0x234)),await x[_0x1b92b0(0x20c)]({'method':_0x1b92b0(0x233),'params':{'content':_0x704dcb[_0x1b92b0(0x24e)],'meta':_0x4da32a}}),W(_0x1b92b0(0x244)+_0x704dcb['id'][_0x1b92b0(0x259)](0x0,0x8)+_0x1b92b0(0x22f)+_0x704dcb[_0x1b92b0(0x1d7)]+':\x20'+_0x704dcb[_0x1b92b0(0x24e)][_0x1b92b0(0x259)](0x0,0x3c)),await Y(_0x1b92b0(0x23c),{'alias':G,'message_id':_0x704dcb['id']});}}}async function n(){const _0x1c6c91=a0_0x538691;let _0x3fab2d=new a0_0xeaf772();await x[_0x1c6c91(0x235)](_0x3fab2d),W(_0x1c6c91(0x1f4)),W(_0x1c6c91(0x240)),o()[_0x1c6c91(0x245)](_0x4eb328=>W(_0x1c6c91(0x1ff)+_0x4eb328)),Y(_0x1c6c91(0x215),{'resume_id':K,'alias':G,'status':_0x1c6c91(0x254),'server':a0_0x33eb8b(),'hostname':a0_0x33eb8b(),'agent':'claude-code','project_dir':process[_0x1c6c91(0x200)](),'tmux_name':f||void 0x0})[_0x1c6c91(0x247)](()=>W(_0x1c6c91(0x1da)+G+_0x1c6c91(0x1f6)+K[_0x1c6c91(0x259)](0x0,0x8)+')'))[_0x1c6c91(0x245)](_0x14da0d=>W(_0x1c6c91(0x219)+_0x14da0d)),setInterval(()=>{const _0x1264f2=_0x1c6c91;Y(_0x1264f2(0x215),{'resume_id':K,'alias':G,'status':_0x1264f2(0x254),'server':a0_0x33eb8b(),'hostname':a0_0x33eb8b(),'agent':'claude-code','project_dir':process[_0x1264f2(0x200)](),'tmux_name':f||void 0x0})['catch'](_0x505960=>W(_0x1264f2(0x1f7)+_0x505960));},0x2bf20),W(_0x1c6c91(0x1fc));}n()[a0_0x538691(0x245)](_0x74d8ae=>{W('fatal:\x20'+_0x74d8ae),process['exit'](0x1);});async function b(){const _0x2a2c84=a0_0x538691;W(_0x2a2c84(0x22d)),await Y(_0x2a2c84(0x215),{'resume_id':K,'alias':G,'status':_0x2a2c84(0x22e),'task':_0x2a2c84(0x1e2)})[_0x2a2c84(0x245)](()=>{}),process[_0x2a2c84(0x20f)](0x0);}process[a0_0x538691(0x257)]['on'](a0_0x538691(0x208),()=>b()),process['on'](a0_0x538691(0x1d9),()=>b()),process['on'](a0_0x538691(0x252),()=>b());
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.2.
|
|
4
|
-
"description": "AI Agent Network CLI \u2014
|
|
3
|
+
"version": "2.2.11-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",
|
|
@@ -29,11 +29,18 @@
|
|
|
29
29
|
"mcp",
|
|
30
30
|
"sse",
|
|
31
31
|
"claude",
|
|
32
|
+
"claude-code",
|
|
32
33
|
"codex",
|
|
33
34
|
"openai",
|
|
35
|
+
"grok",
|
|
36
|
+
"xai",
|
|
37
|
+
"grok-build-acp",
|
|
38
|
+
"acp",
|
|
34
39
|
"minimax",
|
|
40
|
+
"mimo",
|
|
35
41
|
"orchestration",
|
|
36
42
|
"multi-agent",
|
|
43
|
+
"local-first",
|
|
37
44
|
"cli",
|
|
38
45
|
"anet"
|
|
39
46
|
],
|