@sleep2agi/agent-network 2.2.15-preview.0 → 2.2.15
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
|
-
|
|
1
|
+
function a0_0x5ac1(){const _0x46880d=['91452UQVlGM','27864piDHSO','2.0','messages','reply','report_status','getAllStatus','offline','catch','heartbeatTimer','abort','825mNGIKx','normal','text/event-stream','autoConnect','send','toTimeString','completed','min','sleep','reconnectDelay',']\x20[commhub:','application/json,\x20text/event-stream','sseAbort','alias','5CaMrRH','get_all_status','/events/','signal','from_session','send_message','resumeId','log','new_task','toString','running','startsWith','connectSSE','Authorization','get_inbox','connect','type','AbortError','disconnect','cwd','tools/call','url','read','heartbeatInterval','disconnected','agent','5072940QdhEiM','content','4koxLXO','split','80187Duhwik','processInbox','pop','server','text','8561iyTTIk','sdk','status','new_message','result','Bearer\x20','broadcast','SSE\x20failed:\x20','application/json','slice','getReader','emit','idle','stringify','call','body','task','decode','1937028kcGWEA','s...','token','inbox\x20error:\x20','parse','send_task','SSE\x20connected','POST','1662zyHNUF','message','209696mdKEYT','99xzYMum','connected'];a0_0x5ac1=function(){return _0x46880d;};return a0_0x5ac1();}const a0_0x456b67=a0_0x4483;(function(_0x3fa3bd,_0x2822b8){const _0x15c65c=a0_0x4483,_0x45740f=_0x3fa3bd();while(!![]){try{const _0x4a322c=-parseInt(_0x15c65c(0x12a))/0x1*(-parseInt(_0x15c65c(0xf2))/0x2)+-parseInt(_0x15c65c(0x12c))/0x3+-parseInt(_0x15c65c(0xe8))/0x4*(parseInt(_0x15c65c(0x10e))/0x5)+-parseInt(_0x15c65c(0xf0))/0x6*(-parseInt(_0x15c65c(0x131))/0x7)+parseInt(_0x15c65c(0xf6))/0x8*(parseInt(_0x15c65c(0xf3))/0x9)+-parseInt(_0x15c65c(0x128))/0xa+parseInt(_0x15c65c(0x100))/0xb*(parseInt(_0x15c65c(0xf5))/0xc);if(_0x4a322c===_0x2822b8)break;else _0x45740f['push'](_0x45740f['shift']());}catch(_0x4482f5){_0x45740f['push'](_0x45740f['shift']());}}}(a0_0x5ac1,0x5564b));import{EventEmitter as a0_0x30df08}from'events';function a0_0x4483(_0x19d047,_0x2819e2){_0x19d047=_0x19d047-0xe7;const _0x5ac176=a0_0x5ac1();let _0x4483c1=_0x5ac176[_0x19d047];return _0x4483c1;}import{hostname as a0_0x9d7115}from'os';class T extends a0_0x30df08{[a0_0x456b67(0x123)];[a0_0x456b67(0x10d)];['token'];['agent'];[a0_0x456b67(0x114)];[a0_0x456b67(0x125)];[a0_0x456b67(0x109)];[a0_0x456b67(0xfe)];[a0_0x456b67(0x10c)];['running']=!0x1;constructor(_0x4a0d37){const _0x3ffab7=a0_0x456b67;super();if(this[_0x3ffab7(0x123)]=_0x4a0d37['url']['replace'](/\/$/,''),this[_0x3ffab7(0x10d)]=_0x4a0d37[_0x3ffab7(0x10d)],this['token']=_0x4a0d37[_0x3ffab7(0xea)],this[_0x3ffab7(0x127)]=_0x4a0d37[_0x3ffab7(0x127)]||_0x3ffab7(0x132),this[_0x3ffab7(0x114)]='sdk-'+_0x4a0d37['alias']+'-'+Date['now']()[_0x3ffab7(0x117)](0x24),this[_0x3ffab7(0x125)]=_0x4a0d37['heartbeatInterval']??0x2bf20,this[_0x3ffab7(0x109)]=_0x4a0d37[_0x3ffab7(0x109)]??0xbb8,_0x4a0d37[_0x3ffab7(0x103)]!==!0x1)this[_0x3ffab7(0x11d)]();}['log'](_0x1dc373){const _0x45ad68=a0_0x456b67;console[_0x45ad68(0x115)]('['+new Date()[_0x45ad68(0x105)]()[_0x45ad68(0x13a)](0x0,0x8)+_0x45ad68(0x10a)+this[_0x45ad68(0x10d)]+']\x20'+_0x1dc373);}async[a0_0x456b67(0x13f)](_0x376e61,_0x14bccb){const _0x2e927f=a0_0x456b67;let _0x440093={'Content-Type':_0x2e927f(0x139),'Accept':_0x2e927f(0x10b)};if(this[_0x2e927f(0xea)])_0x440093['Authorization']=_0x2e927f(0x136)+this[_0x2e927f(0xea)];let _0x538547=await(await fetch(this['url']+'/mcp',{'method':_0x2e927f(0xef),'headers':_0x440093,'body':JSON[_0x2e927f(0x13e)]({'jsonrpc':_0x2e927f(0xf7),'id':Date['now'](),'method':_0x2e927f(0x122),'params':{'name':_0x376e61,'arguments':_0x14bccb}})}))[_0x2e927f(0x130)](),_0x50f77b=_0x538547['match'](/data: (.+)/),_0x2dbd61=_0x50f77b?JSON[_0x2e927f(0xec)](_0x50f77b[0x1]):JSON[_0x2e927f(0xec)](_0x538547),_0x4769f1=_0x2dbd61?.[_0x2e927f(0x135)]?.['content']?.[0x0]?.['text'];return _0x4769f1?JSON[_0x2e927f(0xec)](_0x4769f1):_0x2dbd61;}async[a0_0x456b67(0x11d)](){const _0x1706b5=a0_0x456b67;if(this[_0x1706b5(0x118)])return;this[_0x1706b5(0x118)]=!0x0,await this['status']('idle'),this['log']('registered'),this[_0x1706b5(0xfe)]=setInterval(()=>{const _0x9df62f=_0x1706b5;this[_0x9df62f(0x133)](_0x9df62f(0x13d))[_0x9df62f(0xfd)](_0x1d3ea3=>this[_0x9df62f(0x115)]('heartbeat\x20failed:\x20'+_0x1d3ea3[_0x9df62f(0xf1)]));},this[_0x1706b5(0x125)]),this[_0x1706b5(0x11a)]();}async[a0_0x456b67(0x120)](){const _0x5effeb=a0_0x456b67;if(this[_0x5effeb(0x118)]=!0x1,this[_0x5effeb(0x10c)]?.[_0x5effeb(0xff)](),this[_0x5effeb(0xfe)])clearInterval(this[_0x5effeb(0xfe)]);await this['status'](_0x5effeb(0xfc))[_0x5effeb(0xfd)](()=>{}),this[_0x5effeb(0x115)](_0x5effeb(0x126));}async[a0_0x456b67(0x104)](_0x14efab,_0x268039,_0x432f22=a0_0x456b67(0x101)){const _0x338c8d=a0_0x456b67;return this[_0x338c8d(0x13f)](_0x338c8d(0xed),{'alias':_0x14efab,'task':_0x268039,'priority':_0x432f22,'from_session':this[_0x338c8d(0x10d)]});}async['message'](_0x62d5d4,_0x4916e3){const _0x49b2f0=a0_0x456b67;return this[_0x49b2f0(0x13f)](_0x49b2f0(0x113),{'alias':_0x62d5d4,'message':_0x4916e3,'from_session':this[_0x49b2f0(0x10d)]});}async[a0_0x456b67(0xf9)](_0x279bdf,_0x4a9b51,_0x567f4a=a0_0x456b67(0x106)){const _0x29699d=a0_0x456b67;return this[_0x29699d(0x13f)]('send_reply',{'in_reply_to':_0x279bdf,'text':_0x4a9b51,'status':_0x567f4a});}async[a0_0x456b67(0x133)](_0xafb762,_0x11a4f3){const _0x52e22c=a0_0x456b67;return this[_0x52e22c(0x13f)](_0x52e22c(0xfa),{'resume_id':this[_0x52e22c(0x114)],'alias':this['alias'],'status':_0xafb762,'server':a0_0x9d7115(),'hostname':a0_0x9d7115(),'agent':this[_0x52e22c(0x127)],'project_dir':process[_0x52e22c(0x121)](),..._0x11a4f3});}async[a0_0x456b67(0xfb)](){const _0x1d711d=a0_0x456b67;return this['call'](_0x1d711d(0x10f),{});}async['broadcast'](_0x24e632,_0x4922fc){const _0x3baedf=a0_0x456b67;return this[_0x3baedf(0x13f)]('broadcast',{'message':_0x24e632,'filter_server':_0x4922fc?.[_0x3baedf(0x12f)],'filter_status':_0x4922fc?.[_0x3baedf(0x133)]});}async[a0_0x456b67(0x11a)](){const _0x54c72e=a0_0x456b67;let _0x40c0bf=encodeURIComponent(this[_0x54c72e(0x10d)]),_0x123399=this['url']+_0x54c72e(0x110)+_0x40c0bf,_0x351fe9=this[_0x54c72e(0x109)];while(this[_0x54c72e(0x118)]){try{this[_0x54c72e(0x10c)]=new AbortController();let _0x312a77={'Accept':_0x54c72e(0x102)};if(this['token'])_0x312a77[_0x54c72e(0x11b)]='Bearer\x20'+this[_0x54c72e(0xea)];let _0x3750d8=await fetch(_0x123399,{'headers':_0x312a77,'signal':this['sseAbort'][_0x54c72e(0x111)]});if(!_0x3750d8['ok']||!_0x3750d8[_0x54c72e(0x140)]){this['log'](_0x54c72e(0x138)+_0x3750d8[_0x54c72e(0x133)]),await this['sleep'](_0x351fe9),_0x351fe9=Math[_0x54c72e(0x107)](_0x351fe9*1.5,0xea60);continue;}_0x351fe9=this[_0x54c72e(0x109)];let _0x2ff604=_0x3750d8[_0x54c72e(0x140)][_0x54c72e(0x13b)](),_0xe5a4e2=new TextDecoder(),_0x3749cd='';while(this[_0x54c72e(0x118)]){let {done:_0x14187f,value:_0x2e8550}=await _0x2ff604[_0x54c72e(0x124)]();if(_0x14187f)break;_0x3749cd+=_0xe5a4e2[_0x54c72e(0xe7)](_0x2e8550,{'stream':!0x0});let _0x319332=_0x3749cd[_0x54c72e(0x12b)]('\x0a');_0x3749cd=_0x319332[_0x54c72e(0x12e)]()||'';for(let _0x3d4d17 of _0x319332){if(!_0x3d4d17[_0x54c72e(0x119)]('data:\x20'))continue;try{let _0x2c9272=JSON['parse'](_0x3d4d17[_0x54c72e(0x13a)](0x6));if(_0x2c9272['type']===_0x54c72e(0xf4)){this['log'](_0x54c72e(0xee)),this[_0x54c72e(0x13c)](_0x54c72e(0xf4));continue;}if(_0x2c9272[_0x54c72e(0x11e)]===_0x54c72e(0x116)||_0x2c9272['type']===_0x54c72e(0x134)||_0x2c9272[_0x54c72e(0x11e)]===_0x54c72e(0x137))await this[_0x54c72e(0x12d)]();}catch{}}}}catch(_0x118f3f){if(_0x118f3f['name']===_0x54c72e(0x11f))break;this[_0x54c72e(0x13c)]('error',_0x118f3f),this[_0x54c72e(0x115)]('SSE\x20error:\x20'+_0x118f3f['message']);}if(this[_0x54c72e(0x118)])this[_0x54c72e(0x13c)](_0x54c72e(0x126)),this[_0x54c72e(0x115)]('SSE\x20reconnecting\x20in\x20'+_0x351fe9/0x3e8+_0x54c72e(0xe9)),await this[_0x54c72e(0x108)](_0x351fe9),_0x351fe9=Math[_0x54c72e(0x107)](_0x351fe9*1.5,0xea60);}}async[a0_0x456b67(0x12d)](){const _0x249930=a0_0x456b67;try{let _0x18e86e=(await this[_0x249930(0x13f)](_0x249930(0x11c),{'alias':this[_0x249930(0x10d)],'limit':0xa}))?.[_0x249930(0xf8)]||[];for(let _0x364109 of _0x18e86e)await this[_0x249930(0x13f)]('ack_inbox',{'alias':this[_0x249930(0x10d)],'message_id':_0x364109['id']}),this[_0x249930(0x115)]('←\x20'+_0x364109[_0x249930(0x112)]+':\x20'+_0x364109[_0x249930(0x129)][_0x249930(0x13a)](0x0,0x3c)),this[_0x249930(0x13c)](_0x249930(0x141),_0x364109),this[_0x249930(0x13c)](_0x249930(0xf1),_0x364109);}catch(_0x92bd7f){this[_0x249930(0x115)](_0x249930(0xeb)+_0x92bd7f[_0x249930(0xf1)]);}}[a0_0x456b67(0x108)](_0x3a8380){return new Promise(_0x1acf6c=>setTimeout(_0x1acf6c,_0x3a8380));}}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_0x221966=a0_0x1874;(function(_0x408cb9,_0x596e93){const _0x2b7093=a0_0x1874,_0x4fd8ea=_0x408cb9();while(!![]){try{const _0x481ab7=-parseInt(_0x2b7093(0x22e))/0x1+-parseInt(_0x2b7093(0x227))/0x2+parseInt(_0x2b7093(0x24a))/0x3*(-parseInt(_0x2b7093(0x25a))/0x4)+parseInt(_0x2b7093(0x1e1))/0x5*(parseInt(_0x2b7093(0x24c))/0x6)+parseInt(_0x2b7093(0x21a))/0x7+parseInt(_0x2b7093(0x214))/0x8+-parseInt(_0x2b7093(0x1ea))/0x9*(-parseInt(_0x2b7093(0x208))/0xa);if(_0x481ab7===_0x596e93)break;else _0x4fd8ea['push'](_0x4fd8ea['shift']());}catch(_0x332faf){_0x4fd8ea['push'](_0x4fd8ea['shift']());}}}(a0_0x3262,0xbd8d6));import{readFileSync as a0_0x3c273c,existsSync as a0_0x345cd8}from'fs';import{randomUUID as a0_0x1b8658}from'crypto';import{join as a0_0x50bc38}from'path';import{hostname as a0_0x47108d}from'os';import{execSync as a0_0x134f3d}from'child_process';import{Server as a0_0x864aa2}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x8886fd}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x45f609,CallToolRequestSchema as a0_0x30a158}from'@modelcontextprotocol/sdk/types.js';function I(_0x4b1334){const _0x5353d5=a0_0x1874;if(!a0_0x345cd8(_0x4b1334))return;for(let _0x5d8442 of a0_0x3c273c(_0x4b1334,_0x5353d5(0x26a))[_0x5353d5(0x1e8)]('\x0a')){let _0x41c1b9=_0x5d8442[_0x5353d5(0x262)]();if(!_0x41c1b9||_0x41c1b9[_0x5353d5(0x204)]('#'))continue;let _0x188384=_0x41c1b9[_0x5353d5(0x23e)]('=');if(_0x188384<0x0)continue;let _0x1a5149=_0x41c1b9[_0x5353d5(0x26c)](0x0,_0x188384)[_0x5353d5(0x262)](),_0x1366c5=_0x41c1b9[_0x5353d5(0x26c)](_0x188384+0x1)[_0x5353d5(0x262)]()[_0x5353d5(0x203)](/^["']|["']$/g,'');if(!process.env[_0x1a5149])process.env[_0x1a5149]=_0x1366c5;}}var L=process.env.HOME||'~',U=a0_0x50bc38(L,'.claude/channels/commhub');I(a0_0x50bc38(U,a0_0x221966(0x213)));var v=process[a0_0x221966(0x221)]()[a0_0x221966(0x203)](/\//g,'-');I(a0_0x50bc38(U,v,a0_0x221966(0x213)));function d(){const _0x4254a9=a0_0x221966;try{return a0_0x134f3d(_0x4254a9(0x240),{'encoding':_0x4254a9(0x26a),'timeout':0x7d0})[_0x4254a9(0x262)]();}catch{return'';}}function m(){const _0x563e5f=a0_0x221966;try{let _0x15265d=a0_0x50bc38(L,_0x563e5f(0x231),'config.json');if(a0_0x345cd8(_0x15265d))return JSON['parse'](a0_0x3c273c(_0x15265d,_0x563e5f(0x26a)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x221966(0x260)]||a0_0x221966(0x24b),f=process.env.COMMHUB_TMUX||d();function r(){const _0x4c6abe=a0_0x221966;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x4c6abe(0x262)]())return process.env.COMMHUB_ALIAS[_0x4c6abe(0x262)]();return process['stderr']['write']('[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20'+(_0x4c6abe(0x23f)+(f||_0x4c6abe(0x22a))+_0x4c6abe(0x206)+a0_0x47108d()+_0x4c6abe(0x20a))),_0x4c6abe(0x215)+process[_0x4c6abe(0x1d9)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x1b8658(),F=process.env.COMMHUB_TOKEN||u['token']||'';function W(_0x593acd){const _0x456f46=a0_0x221966;let _0x3d3c5b=new Date()[_0x456f46(0x253)]()[_0x456f46(0x26c)](0x0,0x8);process[_0x456f46(0x22d)][_0x456f46(0x1f8)]('['+_0x3d3c5b+_0x456f46(0x241)+_0x593acd+'\x0a');}function N(_0x59b862){return new Promise(_0x59d6a3=>setTimeout(_0x59d6a3,_0x59b862));}W('ENV:\x20URL='+j+'\x20ALIAS='+G+a0_0x221966(0x244)+K[a0_0x221966(0x26c)](0x0,0x8)+a0_0x221966(0x268)+(f||a0_0x221966(0x201))+a0_0x221966(0x25c)+process[a0_0x221966(0x221)]()+a0_0x221966(0x20e)+v);var D=new Map(),x=new a0_0x864aa2({'name':a0_0x221966(0x219),'version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x221966(0x1e7),'These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.',a0_0x221966(0x261),a0_0x221966(0x226),a0_0x221966(0x246)+G][a0_0x221966(0x239)]('\x0a')});x['setRequestHandler'](a0_0x45f609,async()=>({'tools':[{'name':a0_0x221966(0x210),'description':a0_0x221966(0x1fb),'inputSchema':{'type':a0_0x221966(0x236),'properties':{'task_id':{'type':a0_0x221966(0x1f6),'description':a0_0x221966(0x243)},'text':{'type':'string','description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':'string','enum':[a0_0x221966(0x1e0),a0_0x221966(0x238),a0_0x221966(0x21c),'blocked','error',a0_0x221966(0x257)],'description':a0_0x221966(0x25f)}},'required':[a0_0x221966(0x248)]}},{'name':a0_0x221966(0x23c),'description':a0_0x221966(0x1ed),'inputSchema':{'type':a0_0x221966(0x236),'properties':{'status':{'type':a0_0x221966(0x1f6),'enum':[a0_0x221966(0x225),a0_0x221966(0x1db),a0_0x221966(0x249),a0_0x221966(0x20c)]},'task':{'type':a0_0x221966(0x1f6),'description':a0_0x221966(0x1fd)},'progress':{'type':a0_0x221966(0x217),'description':a0_0x221966(0x1e5)}},'required':[a0_0x221966(0x1fc)]}},{'name':'commhub_send_task','description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':'object','properties':{'alias':{'type':'string','description':a0_0x221966(0x229)},'task':{'type':a0_0x221966(0x1f6),'description':a0_0x221966(0x23a)},'priority':{'type':a0_0x221966(0x1f6),'enum':['high',a0_0x221966(0x26e),a0_0x221966(0x267)],'description':'Priority\x20(default:\x20normal)'}},'required':[a0_0x221966(0x1ef),a0_0x221966(0x1e4)]}},{'name':a0_0x221966(0x1f7),'description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0x221966(0x236),'properties':{'alias':{'type':a0_0x221966(0x1f6),'description':a0_0x221966(0x229)},'message':{'type':'string','description':'Message\x20content'}},'required':[a0_0x221966(0x1ef),'message']}},{'name':a0_0x221966(0x264),'description':a0_0x221966(0x25b),'inputSchema':{'type':a0_0x221966(0x236),'properties':{}}}]}));async function Y(_0x8c8ec7,_0xa8591f){const _0x3821c9=a0_0x221966;let _0x48cb87=await fetch(j+'/mcp',{'method':_0x3821c9(0x256),'headers':{'Content-Type':'application/json','Accept':_0x3821c9(0x24e),...F?{'Authorization':_0x3821c9(0x269)+F}:{}},'body':JSON[_0x3821c9(0x237)]({'jsonrpc':_0x3821c9(0x25d),'id':0x1,'method':_0x3821c9(0x26b),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x3821c9(0x219),'version':_0x3821c9(0x26f)}}})});if(!_0x48cb87['ok']){let _0x9f1ef7=await _0x48cb87[_0x3821c9(0x248)]();return W(_0x3821c9(0x22c)+_0x48cb87[_0x3821c9(0x1fc)]+'\x20'+_0x9f1ef7['slice'](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x48cb87[_0x3821c9(0x1fc)]};}await _0x48cb87[_0x3821c9(0x248)]();let _0x4394ca=(await(await fetch(j+_0x3821c9(0x270),{'method':'POST','headers':{'Content-Type':_0x3821c9(0x1f4),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x3821c9(0x269)+F}:{}},'body':JSON[_0x3821c9(0x237)]({'jsonrpc':_0x3821c9(0x25d),'id':0x2,'method':'tools/call','params':{'name':_0x8c8ec7,'arguments':_0xa8591f}})}))['text']())[_0x3821c9(0x1e8)]('\x0a')['find'](_0x56aa05=>_0x56aa05[_0x3821c9(0x204)](_0x3821c9(0x250)));if(_0x4394ca){let _0x4759c3=JSON[_0x3821c9(0x209)](_0x4394ca[_0x3821c9(0x26c)](0x6));return _0x4759c3?.[_0x3821c9(0x1ec)]?.[_0x3821c9(0x1dc)]?.[0x0]?.[_0x3821c9(0x248)]?JSON[_0x3821c9(0x209)](_0x4759c3[_0x3821c9(0x1ec)][_0x3821c9(0x1dc)][0x0][_0x3821c9(0x248)]):_0x4759c3;}return{'ok':!0x1,'error':_0x3821c9(0x24f)};}x[a0_0x221966(0x1e6)](a0_0x30a158,async _0x5a29d6=>{const _0x4bed34=a0_0x221966;let {name:_0x5f5130,arguments:_0x191c2d}=_0x5a29d6[_0x4bed34(0x21f)];if(_0x5f5130===_0x4bed34(0x210)){let {task_id:_0x4b9e21,text:_0x4cb217,status:_0x1eea3e}=_0x191c2d;if(_0x1eea3e===_0x4bed34(0x1e0)||_0x1eea3e===_0x4bed34(0x238)||_0x1eea3e===_0x4bed34(0x21c)){let _0x204c58=_0x1eea3e==='completed'?_0x4bed34(0x22f):_0x1eea3e,_0x296638=_0x4b9e21?D['get'](_0x4b9e21)||_0x4bed34(0x260):'hub',_0x482448=await Y('send_reply',{'alias':_0x296638,'text':_0x4cb217,'in_reply_to':_0x4b9e21||void 0x0,'status':_0x204c58,'from_session':G});if(_0x4b9e21)D[_0x4bed34(0x220)](_0x4b9e21);return{'content':[{'type':_0x4bed34(0x248),'text':JSON[_0x4bed34(0x237)](_0x482448)}]};}let _0x496a40=await Y('report_status',{'resume_id':K,'alias':G,'status':_0x1eea3e==='blocked'?_0x4bed34(0x249):_0x1eea3e===_0x4bed34(0x20c)?'error':_0x4bed34(0x225),'task':_0x4cb217[_0x4bed34(0x26c)](0x0,0xc8),'output':_0x4cb217});return{'content':[{'type':_0x4bed34(0x248),'text':JSON[_0x4bed34(0x237)](_0x496a40)}]};}if(_0x5f5130===_0x4bed34(0x23c)){let {status:_0x50cad9,task:_0x3ed1c1,progress:_0x2dc969}=_0x191c2d,_0x15971f=await Y('report_status',{'resume_id':K,'alias':G,'status':_0x50cad9,'task':_0x3ed1c1,'progress':_0x2dc969});return{'content':[{'type':_0x4bed34(0x248),'text':JSON[_0x4bed34(0x237)](_0x15971f)}]};}if(_0x5f5130===_0x4bed34(0x245)){let {alias:_0x182c09,task:_0x1f6e01,priority:_0x2c7b58}=_0x191c2d,_0x2fe2b9=await Y('send_task',{'alias':_0x182c09,'task':_0x1f6e01,'priority':_0x2c7b58||_0x4bed34(0x26e),'from_session':G});return{'content':[{'type':_0x4bed34(0x248),'text':JSON[_0x4bed34(0x237)](_0x2fe2b9)}]};}if(_0x5f5130==='commhub_send_message'){let {alias:_0x2c85d9,message:_0x1c92e0}=_0x191c2d,_0x81207e=await Y(_0x4bed34(0x205),{'alias':_0x2c85d9,'message':_0x1c92e0,'from_session':G});return{'content':[{'type':_0x4bed34(0x248),'text':JSON[_0x4bed34(0x237)](_0x81207e)}]};}if(_0x5f5130==='commhub_get_all_status'){let _0x1942a8=await Y(_0x4bed34(0x1dd),{});return{'content':[{'type':_0x4bed34(0x248),'text':JSON['stringify'](_0x1942a8)}]};}return{'content':[{'type':_0x4bed34(0x248),'text':JSON['stringify']({'error':_0x4bed34(0x1f0)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x1fe7b8=a0_0x221966;try{await Y('report_status',{'resume_id':K,'alias':G,'status':'idle','server':a0_0x47108d(),'hostname':a0_0x47108d(),'agent':'claude-code','project_dir':process['cwd'](),'tmux_name':f||void 0x0}),W(_0x1fe7b8(0x25e)+G+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x4511ac){W(_0x1fe7b8(0x265)+_0x4511ac);}}async function o(){const _0x3c4547=a0_0x221966;let _0x512601=j+_0x3c4547(0x200)+encodeURIComponent(G),_0x49ad42={};if(F)_0x49ad42[_0x3c4547(0x258)]=_0x3c4547(0x269)+F;W(_0x3c4547(0x26d)+_0x512601);let _0x5498a2=O,_0x516807=!0x0,_0x4d45e0=null;while(!0x0){try{let _0x117b03=await fetch(_0x512601,{'headers':_0x49ad42});if(!_0x117b03['ok']){if(W(_0x3c4547(0x21e)+_0x117b03[_0x3c4547(0x1fc)]+'\x20'+_0x117b03[_0x3c4547(0x218)]),_0x4d45e0=_0x4d45e0??Date[_0x3c4547(0x254)](),Date[_0x3c4547(0x254)]()-_0x4d45e0>T){W(_0x3c4547(0x232)+j+_0x3c4547(0x1fa));return;}await N(_0x5498a2),_0x5498a2=Math[_0x3c4547(0x1f3)](_0x5498a2*0x2,R);continue;}let _0x24cb18=_0x117b03[_0x3c4547(0x1f2)][_0x3c4547(0x1ff)](),_0x51e5e5=new TextDecoder(),_0x384985='';_0x5498a2=O;while(!0x0){let {done:_0x7ea129,value:_0x2db890}=await _0x24cb18[_0x3c4547(0x1e3)]();if(_0x7ea129)break;_0x384985+=_0x51e5e5[_0x3c4547(0x252)](_0x2db890,{'stream':!0x0});let _0x8309ab=_0x384985[_0x3c4547(0x1e8)]('\x0a\x0a');_0x384985=_0x8309ab[_0x3c4547(0x20b)]()||'';for(let _0x1ca0e8 of _0x8309ab){let _0x3e71fa=_0x1ca0e8['split']('\x0a')[_0x3c4547(0x212)](_0x54fd8d=>_0x54fd8d[_0x3c4547(0x204)](_0x3c4547(0x250)));if(!_0x3e71fa)continue;try{let _0x1938dd=JSON[_0x3c4547(0x209)](_0x3e71fa['slice'](0x6));if(await a(_0x1938dd),_0x1938dd[_0x3c4547(0x259)]===_0x3c4547(0x1eb)){if(_0x4d45e0=null,!_0x516807)await l();_0x516807=!0x1;}}catch(_0x4a0924){W('parse\x20error:\x20'+_0x4a0924);}}}W('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x1bbf7c){W(_0x3c4547(0x247)+_0x1bbf7c);}if(_0x4d45e0=_0x4d45e0??Date['now'](),Date[_0x3c4547(0x254)]()-_0x4d45e0>T){W(_0x3c4547(0x232)+j+')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。');return;}await N(_0x5498a2),_0x5498a2=Math['min'](_0x5498a2*0x2,R);}}async function a(_0xf6cf8e){const _0x56c118=a0_0x221966;if(_0xf6cf8e[_0x56c118(0x259)]===_0x56c118(0x1eb)){W(_0x56c118(0x233)+G+'\x22');return;}if(_0xf6cf8e['type']===_0x56c118(0x22b)){if(W('←\x20message\x20from\x20'+_0xf6cf8e['from']+':\x20'+_0xf6cf8e[_0x56c118(0x1ee)][_0x56c118(0x26c)](0x0,0x3c)),await x[_0x56c118(0x1e2)]({'method':_0x56c118(0x251),'params':{'content':_0xf6cf8e['message'],'meta':{'sender':_0xf6cf8e['from']||_0x56c118(0x260),'sender_id':_0x56c118(0x216),'user':_0xf6cf8e[_0x56c118(0x235)]||_0x56c118(0x260),'priority':_0x56c118(0x26e)}}}),_0xf6cf8e[_0x56c118(0x242)])await Y('ack_inbox',{'alias':G,'message_id':_0xf6cf8e['message_id']});return;}if(_0xf6cf8e[_0x56c118(0x259)]===_0x56c118(0x1f5)||_0xf6cf8e['type']===_0x56c118(0x255)){W('←\x20'+_0xf6cf8e[_0x56c118(0x259)]+_0x56c118(0x1df)+_0xf6cf8e[_0x56c118(0x224)]+'\x20priority='+(_0xf6cf8e[_0x56c118(0x207)]||_0x56c118(0x26e)));let _0x2b12c4=await Y(_0x56c118(0x223),{'alias':G,'limit':0x5});if(_0x2b12c4?.['ok']&&_0x2b12c4[_0x56c118(0x1fe)]?.['length']>0x0)for(let _0x5c5fd2 of _0x2b12c4[_0x56c118(0x1fe)]){let _0x1707cd={'sender':_0x5c5fd2[_0x56c118(0x263)]||_0x56c118(0x260),'sender_id':_0x56c118(0x216),'user':_0x5c5fd2[_0x56c118(0x263)]||'hub','task_id':_0x5c5fd2['id'],'priority':_0x5c5fd2['priority']||_0x56c118(0x26e)};D['set'](_0x5c5fd2['id'],_0x5c5fd2[_0x56c118(0x263)]||_0x56c118(0x260)),await x[_0x56c118(0x1e2)]({'method':_0x56c118(0x251),'params':{'content':_0x5c5fd2[_0x56c118(0x1dc)],'meta':_0x1707cd}}),W(_0x56c118(0x266)+_0x5c5fd2['id']['slice'](0x0,0x8)+_0x56c118(0x202)+_0x5c5fd2['from_session']+':\x20'+_0x5c5fd2['content']['slice'](0x0,0x3c)),await Y(_0x56c118(0x1de),{'alias':G,'message_id':_0x5c5fd2['id']});}}}async function n(){const _0x4da26e=a0_0x221966;let _0x54bc5e=new a0_0x8886fd();await x[_0x4da26e(0x20f)](_0x54bc5e),W(_0x4da26e(0x230)),W(_0x4da26e(0x234)),o()[_0x4da26e(0x222)](_0x1831e2=>W(_0x4da26e(0x1f9)+_0x1831e2)),Y('report_status',{'resume_id':K,'alias':G,'status':_0x4da26e(0x1db),'server':a0_0x47108d(),'hostname':a0_0x47108d(),'agent':_0x4da26e(0x211),'project_dir':process[_0x4da26e(0x221)](),'tmux_name':f||void 0x0})['then'](()=>W(_0x4da26e(0x23b)+G+_0x4da26e(0x1d8)+K[_0x4da26e(0x26c)](0x0,0x8)+')'))[_0x4da26e(0x222)](_0x11dd2f=>W(_0x4da26e(0x228)+_0x11dd2f)),setInterval(()=>{const _0x3d8a09=_0x4da26e;Y(_0x3d8a09(0x24d),{'resume_id':K,'alias':G,'status':_0x3d8a09(0x1db),'server':a0_0x47108d(),'hostname':a0_0x47108d(),'agent':'claude-code','project_dir':process[_0x3d8a09(0x221)](),'tmux_name':f||void 0x0})[_0x3d8a09(0x222)](_0x337418=>W(_0x3d8a09(0x21b)+_0x337418));},0x2bf20),W(_0x4da26e(0x21d));}n()[a0_0x221966(0x222)](_0xf26f1e=>{const _0x177e56=a0_0x221966;W(_0x177e56(0x23d)+_0xf26f1e),process['exit'](0x1);});function a0_0x1874(_0x3593ec,_0x3adf31){_0x3593ec=_0x3593ec-0x1d8;const _0x326282=a0_0x3262();let _0x18749e=_0x326282[_0x3593ec];return _0x18749e;}async function b(){const _0x41d9fb=a0_0x221966;W('shutting\x20down,\x20reporting\x20offline...'),await Y(_0x41d9fb(0x24d),{'resume_id':K,'alias':G,'status':_0x41d9fb(0x1e9),'task':_0x41d9fb(0x20d)})[_0x41d9fb(0x222)](()=>{}),process['exit'](0x0);}process['stdin']['on']('end',()=>b()),process['on'](a0_0x221966(0x1f1),()=>b()),process['on'](a0_0x221966(0x1da),()=>b());function a0_0x3262(){const _0x271eb9=['utf-8','initialize','slice','connecting\x20to\x20','normal','0.3.0','/mcp','\x22\x20(','pid','SIGINT','idle','content','get_all_status','ack_inbox',':\x20inbox_count=','completed','2966695aiXcGH','notification','read','task','Progress\x200-100','setRequestHandler','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','split','offline','235359gqkMpM','connected','result','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','message','alias','unknown\x20tool','SIGTERM','body','min','application/json','new_task','string','commhub_send_message','write','SSE\x20fatal:\x20',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','status','Current\x20task\x20description','messages','getReader','/events/','none','\x20from\x20','replace','startsWith','send_message','\x20/\x20hostname=','priority','490rbcfLa','parse','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','pop','error','session\x20disconnected','\x20PROJECT_ENV=','connect','commhub_reply','claude-code','find','.env','4467576Ybhlbq','unattributed-','commhub','number','statusText','commhub-channel','4798472GmtkRN','heartbeat\x20failed:\x20','cancelled','ready\x20—\x20waiting\x20for\x20events','SSE\x20error:\x20','params','delete','cwd','catch','get_inbox','inbox_count','working','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','1246280cPDohT','warning:\x20could\x20not\x20register:\x20','Target\x20session\x20alias','(none)','new_message','CommHub\x20init\x20failed:\x20','stderr','781939ukNfwS','replied','MCP\x20stdio\x20connected','.anet','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','SSE\x20connected\x20as\x20\x22','starting\x20SSE\x20listener...','from','object','stringify','failed','join','Task\x20content','registered\x20as\x20\x22','commhub_report_status','fatal:\x20','indexOf','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','tmux\x20display-message\x20-p\x20\x27#S\x27',']\x20[commhub]\x20','message_id','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','\x20RESUME_ID=','commhub_send_task','Session\x20alias:\x20','SSE\x20connection\x20error:\x20','text','blocked','78PAkmbK','http://127.0.0.1:9200','6IyhgFv','report_status','application/json,\x20text/event-stream','no\x20response','data:\x20','notifications/claude/channel','decode','toTimeString','now','broadcast','POST','in_progress','Authorization','type','144184Hoalgs','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','\x20CWD=','2.0','re-registered\x20as\x20\x22','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','hub','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','trim','from_session','commhub_get_all_status','re-register\x20failed:\x20','→\x20injected\x20task\x20','low','...\x20TMUX=','Bearer\x20'];a0_0x3262=function(){return _0x271eb9;};return a0_0x3262();}
|
|
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());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.2.15
|
|
3
|
+
"version": "2.2.15",
|
|
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",
|