@sleep2agi/agent-network 2.0.0-preview.63 → 2.0.0-preview.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +1 -1
- package/dist/src/client.js +1 -1
- package/dist/src/node-server.js +1 -1
- package/package.json +2 -2
package/dist/src/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x36ab34=a0_0x59ae;function a0_0x59ae(_0x3c9991,_0x34f32d){_0x3c9991=_0x3c9991-0x132;const _0x462b58=a0_0x462b();let _0x59ae06=_0x462b58[_0x3c9991];return _0x59ae06;}(function(_0x2900c1,_0x26b461){const _0x5b6dfb=a0_0x59ae,_0x4db72c=_0x2900c1();while(!![]){try{const _0x47f2af=-parseInt(_0x5b6dfb(0x151))/0x1*(-parseInt(_0x5b6dfb(0x188))/0x2)+-parseInt(_0x5b6dfb(0x175))/0x3+-parseInt(_0x5b6dfb(0x142))/0x4*(parseInt(_0x5b6dfb(0x172))/0x5)+-parseInt(_0x5b6dfb(0x136))/0x6*(-parseInt(_0x5b6dfb(0x168))/0x7)+-parseInt(_0x5b6dfb(0x17d))/0x8*(parseInt(_0x5b6dfb(0x148))/0x9)+parseInt(_0x5b6dfb(0x17b))/0xa+parseInt(_0x5b6dfb(0x137))/0xb*(parseInt(_0x5b6dfb(0x161))/0xc);if(_0x47f2af===_0x26b461)break;else _0x4db72c['push'](_0x4db72c['shift']());}catch(_0x4dd444){_0x4db72c['push'](_0x4db72c['shift']());}}}(a0_0x462b,0x8bf14));function a0_0x462b(){const _0x44c345=['sleep','status','abort','8348QonALb','application/json,\x20text/event-stream','startsWith','broadcast','server','split','603LcMJnn','registered','token','log','stringify','heartbeatInterval','connectSSE','name','result','78423AfMgPA','tools/call','message','agent','from_session',']\x20[commhub:','min','autoConnect','resumeId','idle','connected','task','catch','messages','alias','reconnectDelay','4084644tKqjJw','disconnect','processInbox','call','sdk-','POST','replace','154189eGtUTw','offline','send_message','slice','Bearer\x20','type','SSE\x20error:\x20','application/json','running','normal','855pXVFjB','toString','disconnected','2543538HgYfDC','signal','SSE\x20reconnecting\x20in\x20','Authorization','emit','heartbeatTimer','2383650FhHQfB','getAllStatus','58288nbEPIH','url','data:\x20','parse','new_task','getReader','error','sseAbort','connect','new_message','read','20QSXOdC','/mcp','sdk','reply','s...','246jsHZng','11VqZUZb','SSE\x20failed:\x20','2.0','content','report_status','decode','text','pop'];a0_0x462b=function(){return _0x44c345;};return a0_0x462b();}import{EventEmitter as a0_0x224efc}from'events';import{hostname as a0_0x2653de}from'os';class T extends a0_0x224efc{[a0_0x36ab34(0x17e)];['alias'];['token'];[a0_0x36ab34(0x154)];['resumeId'];[a0_0x36ab34(0x14d)];[a0_0x36ab34(0x160)];[a0_0x36ab34(0x17a)];[a0_0x36ab34(0x184)];['running']=!0x1;constructor(_0x4f91e6){const _0x298054=a0_0x36ab34;super();if(this[_0x298054(0x17e)]=_0x4f91e6['url'][_0x298054(0x167)](/\/$/,''),this[_0x298054(0x15f)]=_0x4f91e6[_0x298054(0x15f)],this['token']=_0x4f91e6[_0x298054(0x14a)],this['agent']=_0x4f91e6[_0x298054(0x154)]||_0x298054(0x133),this[_0x298054(0x159)]=_0x298054(0x165)+_0x4f91e6[_0x298054(0x15f)]+'-'+Date['now']()[_0x298054(0x173)](0x24),this[_0x298054(0x14d)]=_0x4f91e6[_0x298054(0x14d)]??0x2bf20,this[_0x298054(0x160)]=_0x4f91e6['reconnectDelay']??0xbb8,_0x4f91e6[_0x298054(0x158)]!==!0x1)this[_0x298054(0x185)]();}[a0_0x36ab34(0x14b)](_0x42b184){const _0x1a45f5=a0_0x36ab34;console[_0x1a45f5(0x14b)]('['+new Date()['toTimeString']()['slice'](0x0,0x8)+_0x1a45f5(0x156)+this['alias']+']\x20'+_0x42b184);}async[a0_0x36ab34(0x164)](_0x22afce,_0x180872){const _0x257ae1=a0_0x36ab34;let _0x26affc={'Content-Type':_0x257ae1(0x16f),'Accept':_0x257ae1(0x143)};if(this[_0x257ae1(0x14a)])_0x26affc[_0x257ae1(0x178)]='Bearer\x20'+this[_0x257ae1(0x14a)];let _0x56386d=await(await fetch(this[_0x257ae1(0x17e)]+_0x257ae1(0x132),{'method':_0x257ae1(0x166),'headers':_0x26affc,'body':JSON[_0x257ae1(0x14c)]({'jsonrpc':_0x257ae1(0x139),'id':Date['now'](),'method':_0x257ae1(0x152),'params':{'name':_0x22afce,'arguments':_0x180872}})}))['text'](),_0x3d16c3=_0x56386d['match'](/data: (.+)/),_0x498037=_0x3d16c3?JSON['parse'](_0x3d16c3[0x1]):JSON['parse'](_0x56386d),_0x48e770=_0x498037?.[_0x257ae1(0x150)]?.[_0x257ae1(0x13a)]?.[0x0]?.[_0x257ae1(0x13d)];return _0x48e770?JSON[_0x257ae1(0x180)](_0x48e770):_0x498037;}async[a0_0x36ab34(0x185)](){const _0x7893a5=a0_0x36ab34;if(this['running'])return;this[_0x7893a5(0x170)]=!0x0,await this['status'](_0x7893a5(0x15a)),this['log'](_0x7893a5(0x149)),this[_0x7893a5(0x17a)]=setInterval(()=>{const _0x160057=_0x7893a5;this[_0x160057(0x140)]('idle')[_0x160057(0x15d)](_0x16efa7=>this['log']('heartbeat\x20failed:\x20'+_0x16efa7[_0x160057(0x153)]));},this['heartbeatInterval']),this[_0x7893a5(0x14e)]();}async[a0_0x36ab34(0x162)](){const _0x241f83=a0_0x36ab34;if(this['running']=!0x1,this['sseAbort']?.[_0x241f83(0x141)](),this[_0x241f83(0x17a)])clearInterval(this['heartbeatTimer']);await this[_0x241f83(0x140)](_0x241f83(0x169))[_0x241f83(0x15d)](()=>{}),this[_0x241f83(0x14b)](_0x241f83(0x174));}async['send'](_0x3712f6,_0x4b620d,_0x2d981f=a0_0x36ab34(0x171)){const _0xc9c2a2=a0_0x36ab34;return this[_0xc9c2a2(0x164)]('send_task',{'alias':_0x3712f6,'task':_0x4b620d,'priority':_0x2d981f,'from_session':this['alias']});}async[a0_0x36ab34(0x153)](_0x3eebf3,_0x44c050){const _0x55db17=a0_0x36ab34;return this[_0x55db17(0x164)](_0x55db17(0x16a),{'alias':_0x3eebf3,'message':_0x44c050,'from_session':this[_0x55db17(0x15f)]});}async[a0_0x36ab34(0x134)](_0x1bf3cf,_0x5b44f5,_0x4376ce='completed'){const _0x3126d9=a0_0x36ab34;return this['call'](_0x3126d9(0x134),{'task_id':_0x1bf3cf,'text':_0x5b44f5,'status':_0x4376ce});}async[a0_0x36ab34(0x140)](_0x1982ce,_0x274a76){const _0x5bba62=a0_0x36ab34;return this[_0x5bba62(0x164)](_0x5bba62(0x13b),{'resume_id':this[_0x5bba62(0x159)],'alias':this['alias'],'status':_0x1982ce,'server':a0_0x2653de(),'hostname':a0_0x2653de(),'agent':this[_0x5bba62(0x154)],'project_dir':process['cwd'](),..._0x274a76});}async[a0_0x36ab34(0x17c)](){return this['call']('get_all_status',{});}async[a0_0x36ab34(0x145)](_0x4417be,_0x3181fb){const _0x586882=a0_0x36ab34;return this[_0x586882(0x164)]('broadcast',{'message':_0x4417be,'filter_server':_0x3181fb?.[_0x586882(0x146)],'filter_status':_0x3181fb?.[_0x586882(0x140)]});}async[a0_0x36ab34(0x14e)](){const _0x5ad8b6=a0_0x36ab34;let _0x43c8d2=encodeURIComponent(this['alias']),_0x86e3a1=this[_0x5ad8b6(0x17e)]+'/events/'+_0x43c8d2,_0xe3497a=this[_0x5ad8b6(0x160)];while(this[_0x5ad8b6(0x170)]){try{this[_0x5ad8b6(0x184)]=new AbortController();let _0x3e4470={'Accept':'text/event-stream'};if(this[_0x5ad8b6(0x14a)])_0x3e4470[_0x5ad8b6(0x178)]=_0x5ad8b6(0x16c)+this[_0x5ad8b6(0x14a)];let _0x20fcd8=await fetch(_0x86e3a1,{'headers':_0x3e4470,'signal':this[_0x5ad8b6(0x184)][_0x5ad8b6(0x176)]});if(!_0x20fcd8['ok']||!_0x20fcd8['body']){this[_0x5ad8b6(0x14b)](_0x5ad8b6(0x138)+_0x20fcd8['status']),await this[_0x5ad8b6(0x13f)](_0xe3497a),_0xe3497a=Math[_0x5ad8b6(0x157)](_0xe3497a*1.5,0xea60);continue;}_0xe3497a=this[_0x5ad8b6(0x160)];let _0x17ba1d=_0x20fcd8['body'][_0x5ad8b6(0x182)](),_0x37edb3=new TextDecoder(),_0x460f54='';while(this[_0x5ad8b6(0x170)]){let {done:_0x3694df,value:_0x573143}=await _0x17ba1d[_0x5ad8b6(0x187)]();if(_0x3694df)break;_0x460f54+=_0x37edb3[_0x5ad8b6(0x13c)](_0x573143,{'stream':!0x0});let _0x1de025=_0x460f54[_0x5ad8b6(0x147)]('\x0a');_0x460f54=_0x1de025[_0x5ad8b6(0x13e)]()||'';for(let _0x5ac659 of _0x1de025){if(!_0x5ac659[_0x5ad8b6(0x144)](_0x5ad8b6(0x17f)))continue;try{let _0x4e0b86=JSON['parse'](_0x5ac659[_0x5ad8b6(0x16b)](0x6));if(_0x4e0b86['type']===_0x5ad8b6(0x15b)){this['log']('SSE\x20connected'),this[_0x5ad8b6(0x179)]('connected');continue;}if(_0x4e0b86[_0x5ad8b6(0x16d)]===_0x5ad8b6(0x181)||_0x4e0b86[_0x5ad8b6(0x16d)]===_0x5ad8b6(0x186)||_0x4e0b86[_0x5ad8b6(0x16d)]===_0x5ad8b6(0x145))await this[_0x5ad8b6(0x163)]();}catch{}}}}catch(_0x1b83d8){if(_0x1b83d8[_0x5ad8b6(0x14f)]==='AbortError')break;this[_0x5ad8b6(0x179)](_0x5ad8b6(0x183),_0x1b83d8),this[_0x5ad8b6(0x14b)](_0x5ad8b6(0x16e)+_0x1b83d8['message']);}if(this['running'])this[_0x5ad8b6(0x179)](_0x5ad8b6(0x174)),this[_0x5ad8b6(0x14b)](_0x5ad8b6(0x177)+_0xe3497a/0x3e8+_0x5ad8b6(0x135)),await this['sleep'](_0xe3497a),_0xe3497a=Math['min'](_0xe3497a*1.5,0xea60);}}async[a0_0x36ab34(0x163)](){const _0x1978f9=a0_0x36ab34;try{let _0x3be511=(await this[_0x1978f9(0x164)]('get_inbox',{'alias':this[_0x1978f9(0x15f)],'limit':0xa}))?.[_0x1978f9(0x15e)]||[];for(let _0x5e6678 of _0x3be511)await this[_0x1978f9(0x164)]('ack_inbox',{'alias':this[_0x1978f9(0x15f)],'message_id':_0x5e6678['id']}),this['log']('←\x20'+_0x5e6678[_0x1978f9(0x155)]+':\x20'+_0x5e6678[_0x1978f9(0x13a)][_0x1978f9(0x16b)](0x0,0x3c)),this['emit'](_0x1978f9(0x15c),_0x5e6678),this[_0x1978f9(0x179)]('message',_0x5e6678);}catch(_0x5174c4){this['log']('inbox\x20error:\x20'+_0x5174c4['message']);}}[a0_0x36ab34(0x13f)](_0xd48943){return new Promise(_0x4fc8b8=>setTimeout(_0x4fc8b8,_0xd48943));}}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_0x54f95f=a0_0x5af3;(function(_0x425861,_0x1ac91b){const _0x2d5160=a0_0x5af3,_0x11631b=_0x425861();while(!![]){try{const _0x5b1d02=-parseInt(_0x2d5160(0x18c))/0x1*(parseInt(_0x2d5160(0x197))/0x2)+-parseInt(_0x2d5160(0x1a2))/0x3+-parseInt(_0x2d5160(0x14b))/0x4*(-parseInt(_0x2d5160(0x151))/0x5)+-parseInt(_0x2d5160(0x115))/0x6+parseInt(_0x2d5160(0x15b))/0x7*(-parseInt(_0x2d5160(0x14f))/0x8)+parseInt(_0x2d5160(0x179))/0x9+parseInt(_0x2d5160(0x18b))/0xa;if(_0x5b1d02===_0x1ac91b)break;else _0x11631b['push'](_0x11631b['shift']());}catch(_0x331a89){_0x11631b['push'](_0x11631b['shift']());}}}(a0_0x271b,0x9163c));function a0_0x271b(){const _0x625567=['priority','3695178hoOOKy','\x20CWD=','from','Message\x20content','Bearer\x20','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','0.3.0','Target\x20session\x20alias','parse\x20error:\x20','stderr','connect','\x20priority=','string','Session\x20alias:\x20','none','startsWith','utf-8','/mcp','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','parse',']\x20[commhub]\x20','hub','\x22\x20(','\x20PROJECT_ENV=','failed','getReader','join','error','cwd','\x20RESUME_ID=','Reply\x20text\x20/\x20result\x20summary','SSE\x20fatal:\x20','stringify','\x20ALIAS=','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','cancelled','messages','alias','low','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','params','commhub-channel','application/json,\x20text/event-stream','idle','starting\x20SSE\x20listener...','exit','stdin','Authorization','tools/call','application/json','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','content','.anet','initialize','8MowhWp','high','randomUUID','registered\x20as\x20\x22','184tuyrTC','CommHub\x20init\x20failed:\x20','779605xJKgUD','pop','ack_inbox','send_reply','result','send_task','split','completed','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','notifications/claude/channel','254667sKHsxX','...\x20TMUX=','commhub_send_message','commhub_report_status','/events/','task','slice','broadcast','status','message','type','unknown\x20tool','.env','set','data:\x20','commhub','2.0','read','tmux\x20display-message\x20-p\x20\x27#S\x27','get_inbox','blocked','Priority\x20(default:\x20normal)','http://127.0.0.1:9200','object','length','delete','working','MCP\x20stdio\x20connected','text','POST','986598qqLdyS','commhub_get_all_status','trim','replied','claude-code','message_id','←\x20message\x20from\x20','end','init\x20failed:\x20','send_message','session\x20disconnected','SIGTERM','Current\x20task\x20description','Task\x20content','connecting\x20to\x20','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','new_message','shutting\x20down,\x20reporting\x20offline...','35473560NrDfch','53637WSWXMM','then','find','config.json','report_status','from_session','notification','no\x20response',':\x20inbox_count=','statusText','2025-03-26','38eJOous','commhub_send_task','catch','get','ready\x20—\x20waiting\x20for\x20events','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','indexOf','replace','get_all_status','normal','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','2704725sisXVE'];a0_0x271b=function(){return _0x625567;};return a0_0x271b();}import{readFileSync as a0_0xe313af,existsSync as a0_0x25cc30}from'fs';import{join as a0_0x367a9a}from'path';import{hostname as a0_0x5709eb}from'os';import{execSync as a0_0x192a50}from'child_process';import{Server as a0_0x4669a4}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x2beaa6}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x399dbc,CallToolRequestSchema as a0_0x48b151}from'@modelcontextprotocol/sdk/types.js';function p(_0x1f5c31){const _0x1dcd1f=a0_0x5af3;if(!a0_0x25cc30(_0x1f5c31))return;for(let _0x56beaa of a0_0xe313af(_0x1f5c31,_0x1dcd1f(0x125))[_0x1dcd1f(0x157)]('\x0a')){let _0x15b0bf=_0x56beaa['trim']();if(!_0x15b0bf||_0x15b0bf['startsWith']('#'))continue;let _0x340e83=_0x15b0bf[_0x1dcd1f(0x19d)]('=');if(_0x340e83<0x0)continue;let _0x489fd8=_0x15b0bf['slice'](0x0,_0x340e83)[_0x1dcd1f(0x17b)](),_0x35e71e=_0x15b0bf[_0x1dcd1f(0x161)](_0x340e83+0x1)[_0x1dcd1f(0x17b)]()[_0x1dcd1f(0x19e)](/^["']|["']$/g,'');if(!process.env[_0x489fd8])process.env[_0x489fd8]=_0x35e71e;}}var C=process.env.HOME||'~',T=a0_0x367a9a(C,'.claude/channels/commhub');p(a0_0x367a9a(T,a0_0x54f95f(0x167)));var L=process[a0_0x54f95f(0x131)]()['replace'](/\//g,'-');p(a0_0x367a9a(T,L,a0_0x54f95f(0x167)));function U(){const _0x236a55=a0_0x54f95f;try{return a0_0x192a50(_0x236a55(0x16d),{'encoding':'utf-8','timeout':0x7d0})[_0x236a55(0x17b)]();}catch{return'';}}function c(){const _0x4ff9ee=a0_0x54f95f;try{let _0x4bd9b3=a0_0x367a9a(C,_0x4ff9ee(0x149),_0x4ff9ee(0x18f));if(a0_0x25cc30(_0x4bd9b3))return JSON[_0x4ff9ee(0x128)](a0_0xe313af(_0x4bd9b3,'utf-8'));}catch{}return{};}var H=c(),D=process.env.COMMHUB_URL||H[a0_0x54f95f(0x12a)]||a0_0x54f95f(0x171),f=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||f||a0_0x5709eb(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||crypto[a0_0x54f95f(0x14d)](),X=process.env.COMMHUB_TOKEN||H['token']||'';function Y(_0x2b4e3f){const _0x220ca7=a0_0x54f95f;let _0x1aa7d8=new Date()['toTimeString']()['slice'](0x0,0x8);process[_0x220ca7(0x11e)]['write']('['+_0x1aa7d8+_0x220ca7(0x129)+_0x2b4e3f+'\x0a');}function h(_0x29a988){return new Promise(_0x32952f=>setTimeout(_0x32952f,_0x29a988));}Y('ENV:\x20URL='+D+a0_0x54f95f(0x136)+Z+a0_0x54f95f(0x132)+w[a0_0x54f95f(0x161)](0x0,0x8)+a0_0x54f95f(0x15c)+(f||a0_0x54f95f(0x123))+a0_0x54f95f(0x116)+process[a0_0x54f95f(0x131)]()+a0_0x54f95f(0x12c)+L);var k=new Map(),K=new a0_0x4669a4({'name':a0_0x54f95f(0x13e),'version':a0_0x54f95f(0x11b)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x54f95f(0x11a),'These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.',a0_0x54f95f(0x159),a0_0x54f95f(0x19c),a0_0x54f95f(0x122)+Z][a0_0x54f95f(0x12f)]('\x0a')});K['setRequestHandler'](a0_0x399dbc,async()=>({'tools':[{'name':'commhub_reply','description':'Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','inputSchema':{'type':a0_0x54f95f(0x172),'properties':{'task_id':{'type':'string','description':a0_0x54f95f(0x127)},'text':{'type':a0_0x54f95f(0x121),'description':a0_0x54f95f(0x133)},'status':{'type':a0_0x54f95f(0x121),'enum':[a0_0x54f95f(0x158),'failed',a0_0x54f95f(0x138),'blocked','error','in_progress'],'description':a0_0x54f95f(0x188)}},'required':[a0_0x54f95f(0x177)]}},{'name':'commhub_report_status','description':a0_0x54f95f(0x13c),'inputSchema':{'type':a0_0x54f95f(0x172),'properties':{'status':{'type':a0_0x54f95f(0x121),'enum':['working','idle',a0_0x54f95f(0x16f),'error']},'task':{'type':'string','description':a0_0x54f95f(0x185)},'progress':{'type':'number','description':'Progress\x200-100'}},'required':['status']}},{'name':'commhub_send_task','description':a0_0x54f95f(0x137),'inputSchema':{'type':a0_0x54f95f(0x172),'properties':{'alias':{'type':'string','description':a0_0x54f95f(0x11c)},'task':{'type':a0_0x54f95f(0x121),'description':a0_0x54f95f(0x186)},'priority':{'type':a0_0x54f95f(0x121),'enum':[a0_0x54f95f(0x14c),'normal',a0_0x54f95f(0x13b)],'description':a0_0x54f95f(0x170)}},'required':[a0_0x54f95f(0x13a),a0_0x54f95f(0x160)]}},{'name':'commhub_send_message','description':a0_0x54f95f(0x1a1),'inputSchema':{'type':'object','properties':{'alias':{'type':'string','description':a0_0x54f95f(0x11c)},'message':{'type':'string','description':a0_0x54f95f(0x118)}},'required':[a0_0x54f95f(0x13a),'message']}},{'name':a0_0x54f95f(0x17a),'description':a0_0x54f95f(0x147),'inputSchema':{'type':a0_0x54f95f(0x172),'properties':{}}}]}));async function P(_0x47753d,_0x4e6d2d){const _0x33dabe=a0_0x54f95f;let _0x20a4d6=await fetch(D+_0x33dabe(0x126),{'method':_0x33dabe(0x178),'headers':{'Content-Type':_0x33dabe(0x146),'Accept':_0x33dabe(0x13f),...X?{'Authorization':_0x33dabe(0x119)+X}:{}},'body':JSON[_0x33dabe(0x135)]({'jsonrpc':_0x33dabe(0x16b),'id':0x1,'method':_0x33dabe(0x14a),'params':{'protocolVersion':_0x33dabe(0x196),'capabilities':{},'clientInfo':{'name':_0x33dabe(0x13e),'version':_0x33dabe(0x11b)}}})});if(!_0x20a4d6['ok']){let _0x176c96=await _0x20a4d6[_0x33dabe(0x177)]();return Y(_0x33dabe(0x150)+_0x20a4d6[_0x33dabe(0x163)]+'\x20'+_0x176c96[_0x33dabe(0x161)](0x0,0x64)),{'ok':!0x1,'error':_0x33dabe(0x181)+_0x20a4d6['status']};}await _0x20a4d6['text']();let _0x40c4d3=(await(await fetch(D+_0x33dabe(0x126),{'method':_0x33dabe(0x178),'headers':{'Content-Type':'application/json','Accept':_0x33dabe(0x13f),...X?{'Authorization':_0x33dabe(0x119)+X}:{}},'body':JSON[_0x33dabe(0x135)]({'jsonrpc':_0x33dabe(0x16b),'id':0x2,'method':_0x33dabe(0x145),'params':{'name':_0x47753d,'arguments':_0x4e6d2d}})}))[_0x33dabe(0x177)]())[_0x33dabe(0x157)]('\x0a')['find'](_0x20145a=>_0x20145a[_0x33dabe(0x124)](_0x33dabe(0x169)));if(_0x40c4d3){let _0x1dbbe1=JSON[_0x33dabe(0x128)](_0x40c4d3['slice'](0x6));return _0x1dbbe1?.[_0x33dabe(0x155)]?.[_0x33dabe(0x148)]?.[0x0]?.[_0x33dabe(0x177)]?JSON[_0x33dabe(0x128)](_0x1dbbe1['result'][_0x33dabe(0x148)][0x0][_0x33dabe(0x177)]):_0x1dbbe1;}return{'ok':!0x1,'error':_0x33dabe(0x193)};}K['setRequestHandler'](a0_0x48b151,async _0x58eb4c=>{const _0x568439=a0_0x54f95f;let {name:_0x28fb7d,arguments:_0x40f39b}=_0x58eb4c[_0x568439(0x13d)];if(_0x28fb7d==='commhub_reply'){let {task_id:_0x2d0664,text:_0x2b3eb3,status:_0xbce3a2}=_0x40f39b;if(_0xbce3a2===_0x568439(0x158)||_0xbce3a2===_0x568439(0x12d)||_0xbce3a2==='cancelled'){let _0x3d97a9=_0xbce3a2==='completed'?_0x568439(0x17c):_0xbce3a2,_0x3116f0=_0x2d0664?k[_0x568439(0x19a)](_0x2d0664)||_0x568439(0x12a):_0x568439(0x12a),_0x2ab890=await P(_0x568439(0x154),{'alias':_0x3116f0,'text':_0x2b3eb3,'in_reply_to':_0x2d0664||void 0x0,'status':_0x3d97a9,'from_session':Z});if(_0x2d0664)k[_0x568439(0x174)](_0x2d0664);return{'content':[{'type':_0x568439(0x177),'text':JSON['stringify'](_0x2ab890)}]};}let _0x26961c=await P(_0x568439(0x190),{'resume_id':w,'alias':Z,'status':_0xbce3a2===_0x568439(0x16f)?_0x568439(0x16f):_0xbce3a2===_0x568439(0x130)?_0x568439(0x130):_0x568439(0x175),'task':_0x2b3eb3[_0x568439(0x161)](0x0,0xc8),'output':_0x2b3eb3});return{'content':[{'type':_0x568439(0x177),'text':JSON[_0x568439(0x135)](_0x26961c)}]};}if(_0x28fb7d===_0x568439(0x15e)){let {status:_0x277eae,task:_0x267834,progress:_0x4db7e2}=_0x40f39b,_0x26d756=await P(_0x568439(0x190),{'resume_id':w,'alias':Z,'status':_0x277eae,'task':_0x267834,'progress':_0x4db7e2});return{'content':[{'type':_0x568439(0x177),'text':JSON[_0x568439(0x135)](_0x26d756)}]};}if(_0x28fb7d===_0x568439(0x198)){let {alias:_0x4f4c26,task:_0x1a6fa9,priority:_0x267121}=_0x40f39b,_0x202249=await P(_0x568439(0x156),{'alias':_0x4f4c26,'task':_0x1a6fa9,'priority':_0x267121||'normal','from_session':Z});return{'content':[{'type':_0x568439(0x177),'text':JSON[_0x568439(0x135)](_0x202249)}]};}if(_0x28fb7d===_0x568439(0x15d)){let {alias:_0x397ea8,message:_0x56b5b1}=_0x40f39b,_0x253a3f=await P(_0x568439(0x182),{'alias':_0x397ea8,'message':_0x56b5b1,'from_session':Z});return{'content':[{'type':'text','text':JSON[_0x568439(0x135)](_0x253a3f)}]};}if(_0x28fb7d===_0x568439(0x17a)){let _0x2bf94d=await P(_0x568439(0x19f),{});return{'content':[{'type':'text','text':JSON['stringify'](_0x2bf94d)}]};}return{'content':[{'type':_0x568439(0x177),'text':JSON['stringify']({'error':_0x568439(0x166)})}]};});function a0_0x5af3(_0x200c5f,_0x11040c){_0x200c5f=_0x200c5f-0x115;const _0x271b34=a0_0x271b();let _0x5af3a1=_0x271b34[_0x200c5f];return _0x5af3a1;}async function v(){const _0x1f3f6e=a0_0x54f95f;let _0xd0b38d=D+_0x1f3f6e(0x15f)+encodeURIComponent(Z),_0x3d2a8f={};if(X)_0x3d2a8f[_0x1f3f6e(0x144)]=_0x1f3f6e(0x119)+X;Y(_0x1f3f6e(0x187)+_0xd0b38d);while(!0x0){try{let _0x333af8=await fetch(_0xd0b38d,{'headers':_0x3d2a8f});if(!_0x333af8['ok']){Y('SSE\x20error:\x20'+_0x333af8[_0x1f3f6e(0x163)]+'\x20'+_0x333af8[_0x1f3f6e(0x195)]),await h(0x1388);continue;}let _0x4347a2=_0x333af8['body'][_0x1f3f6e(0x12e)](),_0x5d0da7=new TextDecoder(),_0x10cee2='';while(!0x0){let {done:_0x392c5d,value:_0x26845f}=await _0x4347a2[_0x1f3f6e(0x16c)]();if(_0x392c5d)break;_0x10cee2+=_0x5d0da7['decode'](_0x26845f,{'stream':!0x0});let _0x4badc5=_0x10cee2[_0x1f3f6e(0x157)]('\x0a\x0a');_0x10cee2=_0x4badc5[_0x1f3f6e(0x152)]()||'';for(let _0x149d31 of _0x4badc5){let _0x3b21e4=_0x149d31['split']('\x0a')[_0x1f3f6e(0x18e)](_0x2878d5=>_0x2878d5[_0x1f3f6e(0x124)](_0x1f3f6e(0x169)));if(!_0x3b21e4)continue;try{let _0x5c2dae=JSON['parse'](_0x3b21e4[_0x1f3f6e(0x161)](0x6));await u(_0x5c2dae);}catch(_0x533e0f){Y(_0x1f3f6e(0x11d)+_0x533e0f);}}}Y('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x2bc6a6){Y('SSE\x20connection\x20error:\x20'+_0x2bc6a6);}await h(0xbb8);}}async function u(_0x393fbf){const _0xc2091f=a0_0x54f95f;if(_0x393fbf[_0xc2091f(0x165)]==='connected'){Y('SSE\x20connected\x20as\x20\x22'+Z+'\x22');return;}if(_0x393fbf[_0xc2091f(0x165)]===_0xc2091f(0x189)){if(Y(_0xc2091f(0x17f)+_0x393fbf['from']+':\x20'+_0x393fbf[_0xc2091f(0x164)][_0xc2091f(0x161)](0x0,0x3c)),await K[_0xc2091f(0x192)]({'method':_0xc2091f(0x15a),'params':{'content':_0x393fbf[_0xc2091f(0x164)],'meta':{'sender':_0x393fbf[_0xc2091f(0x117)]||_0xc2091f(0x12a),'sender_id':'commhub','user':_0x393fbf[_0xc2091f(0x117)]||_0xc2091f(0x12a),'priority':_0xc2091f(0x1a0)}}}),_0x393fbf[_0xc2091f(0x17e)])await P(_0xc2091f(0x153),{'alias':Z,'message_id':_0x393fbf[_0xc2091f(0x17e)]});return;}if(_0x393fbf[_0xc2091f(0x165)]==='new_task'||_0x393fbf[_0xc2091f(0x165)]===_0xc2091f(0x162)){Y('←\x20'+_0x393fbf['type']+_0xc2091f(0x194)+_0x393fbf['inbox_count']+_0xc2091f(0x120)+(_0x393fbf['priority']||'normal'));let _0x2d3cb1=await P(_0xc2091f(0x16e),{'alias':Z,'limit':0x5});if(_0x2d3cb1?.['ok']&&_0x2d3cb1[_0xc2091f(0x139)]?.[_0xc2091f(0x173)]>0x0)for(let _0x2308f2 of _0x2d3cb1[_0xc2091f(0x139)]){let _0x387626={'sender':_0x2308f2[_0xc2091f(0x191)]||_0xc2091f(0x12a),'sender_id':_0xc2091f(0x16a),'user':_0x2308f2[_0xc2091f(0x191)]||_0xc2091f(0x12a),'task_id':_0x2308f2['id'],'priority':_0x2308f2[_0xc2091f(0x1a3)]||_0xc2091f(0x1a0)};k[_0xc2091f(0x168)](_0x2308f2['id'],_0x2308f2[_0xc2091f(0x191)]||_0xc2091f(0x12a)),await K[_0xc2091f(0x192)]({'method':_0xc2091f(0x15a),'params':{'content':_0x2308f2[_0xc2091f(0x148)],'meta':_0x387626}}),Y('→\x20injected\x20task\x20'+_0x2308f2['id']['slice'](0x0,0x8)+'\x20from\x20'+_0x2308f2[_0xc2091f(0x191)]+':\x20'+_0x2308f2['content'][_0xc2091f(0x161)](0x0,0x3c)),await P(_0xc2091f(0x153),{'alias':Z,'message_id':_0x2308f2['id']});}}}async function S(){const _0x550231=a0_0x54f95f;let _0x58c6bb=new a0_0x2beaa6();await K[_0x550231(0x11f)](_0x58c6bb),Y(_0x550231(0x176)),Y(_0x550231(0x141)),v()[_0x550231(0x199)](_0x34c594=>Y(_0x550231(0x134)+_0x34c594)),P('report_status',{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x5709eb(),'hostname':a0_0x5709eb(),'agent':_0x550231(0x17d),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x550231(0x18d)](()=>Y(_0x550231(0x14e)+Z+_0x550231(0x12b)+w[_0x550231(0x161)](0x0,0x8)+')'))[_0x550231(0x199)](_0x2eca98=>Y('warning:\x20could\x20not\x20register:\x20'+_0x2eca98)),setInterval(()=>{const _0x1366ca=_0x550231;P('report_status',{'resume_id':w,'alias':Z,'status':_0x1366ca(0x140),'server':a0_0x5709eb(),'hostname':a0_0x5709eb(),'agent':'claude-code','project_dir':process['cwd'](),'tmux_name':f||void 0x0})['catch'](_0x14c5a3=>Y('heartbeat\x20failed:\x20'+_0x14c5a3));},0x2bf20),Y(_0x550231(0x19b));}S()[a0_0x54f95f(0x199)](_0x450ea0=>{const _0x1e74f1=a0_0x54f95f;Y('fatal:\x20'+_0x450ea0),process[_0x1e74f1(0x142)](0x1);});async function N(){const _0x307e52=a0_0x54f95f;Y(_0x307e52(0x18a)),await P(_0x307e52(0x190),{'resume_id':w,'alias':Z,'status':_0x307e52(0x130),'task':_0x307e52(0x183)})[_0x307e52(0x199)](()=>{}),process[_0x307e52(0x142)](0x0);}process[a0_0x54f95f(0x143)]['on'](a0_0x54f95f(0x180),()=>N()),process['on'](a0_0x54f95f(0x184),()=>N()),process['on']('SIGINT',()=>N());
|
|
2
|
+
const a0_0x4cd9f4=a0_0x2d3e;(function(_0x2a627f,_0x162a7a){const _0x63bbab=a0_0x2d3e,_0x37cee6=_0x2a627f();while(!![]){try{const _0x47c163=parseInt(_0x63bbab(0x121))/0x1+-parseInt(_0x63bbab(0x129))/0x2+-parseInt(_0x63bbab(0x161))/0x3*(parseInt(_0x63bbab(0x145))/0x4)+-parseInt(_0x63bbab(0x162))/0x5+-parseInt(_0x63bbab(0x111))/0x6*(-parseInt(_0x63bbab(0x168))/0x7)+-parseInt(_0x63bbab(0x13a))/0x8+-parseInt(_0x63bbab(0x130))/0x9*(-parseInt(_0x63bbab(0xec))/0xa);if(_0x47c163===_0x162a7a)break;else _0x37cee6['push'](_0x37cee6['shift']());}catch(_0x5546e9){_0x37cee6['push'](_0x37cee6['shift']());}}}(a0_0x3dfe,0x5f4ac));import{readFileSync as a0_0x2fcac7,existsSync as a0_0x1835f5}from'fs';import{join as a0_0x1a91bb}from'path';import{hostname as a0_0x9beab3}from'os';import{execSync as a0_0x10b91e}from'child_process';import{Server as a0_0x4db401}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x4f6eea}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0xbaa772,CallToolRequestSchema as a0_0x3fbd43}from'@modelcontextprotocol/sdk/types.js';function p(_0x3d7e87){const _0x1d1433=a0_0x2d3e;if(!a0_0x1835f5(_0x3d7e87))return;for(let _0x659040 of a0_0x2fcac7(_0x3d7e87,_0x1d1433(0xf6))[_0x1d1433(0x106)]('\x0a')){let _0x22c4b7=_0x659040[_0x1d1433(0xf9)]();if(!_0x22c4b7||_0x22c4b7[_0x1d1433(0x108)]('#'))continue;let _0x221299=_0x22c4b7[_0x1d1433(0x160)]('=');if(_0x221299<0x0)continue;let _0x863dff=_0x22c4b7[_0x1d1433(0x153)](0x0,_0x221299)[_0x1d1433(0xf9)](),_0x4ef7a6=_0x22c4b7[_0x1d1433(0x153)](_0x221299+0x1)['trim']()[_0x1d1433(0x126)](/^["']|["']$/g,'');if(!process.env[_0x863dff])process.env[_0x863dff]=_0x4ef7a6;}}var C=process.env.HOME||'~',T=a0_0x1a91bb(C,'.claude/channels/commhub');p(a0_0x1a91bb(T,'.env'));var L=process[a0_0x4cd9f4(0x14d)]()[a0_0x4cd9f4(0x126)](/\//g,'-');p(a0_0x1a91bb(T,L,'.env'));function U(){const _0x1c271d=a0_0x4cd9f4;try{return a0_0x10b91e('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':_0x1c271d(0xf6),'timeout':0x7d0})['trim']();}catch{return'';}}function c(){const _0x54ba6f=a0_0x4cd9f4;try{let _0x5b07e4=a0_0x1a91bb(C,_0x54ba6f(0xf5),_0x54ba6f(0x146));if(a0_0x1835f5(_0x5b07e4))return JSON[_0x54ba6f(0x134)](a0_0x2fcac7(_0x5b07e4,'utf-8'));}catch{}return{};}var H=c(),D=process.env.COMMHUB_URL||H[a0_0x4cd9f4(0x15c)]||a0_0x4cd9f4(0x136),f=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||f||a0_0x9beab3(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||crypto[a0_0x4cd9f4(0x140)](),X=process.env.COMMHUB_TOKEN||H[a0_0x4cd9f4(0xe0)]||'';function Y(_0x4331a3){const _0x5d6107=a0_0x4cd9f4;let _0x5cb230=new Date()[_0x5d6107(0x11c)]()[_0x5d6107(0x153)](0x0,0x8);process['stderr']['write']('['+_0x5cb230+_0x5d6107(0xe6)+_0x4331a3+'\x0a');}function h(_0x4c303c){return new Promise(_0x556a23=>setTimeout(_0x556a23,_0x4c303c));}Y('ENV:\x20URL='+D+'\x20ALIAS='+Z+a0_0x4cd9f4(0x139)+w[a0_0x4cd9f4(0x153)](0x0,0x8)+a0_0x4cd9f4(0x14f)+(f||a0_0x4cd9f4(0xfb))+a0_0x4cd9f4(0xe2)+process[a0_0x4cd9f4(0x14d)]()+a0_0x4cd9f4(0x11e)+L);var k=new Map(),K=new a0_0x4db401({'name':a0_0x4cd9f4(0x15d),'version':a0_0x4cd9f4(0x158)},{'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_0x4cd9f4(0x16c),a0_0x4cd9f4(0x15a),'You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.',a0_0x4cd9f4(0x118)+Z]['join']('\x0a')});K[a0_0x4cd9f4(0x15e)](a0_0xbaa772,async()=>({'tools':[{'name':a0_0x4cd9f4(0xed),'description':a0_0x4cd9f4(0x113),'inputSchema':{'type':a0_0x4cd9f4(0x12d),'properties':{'task_id':{'type':a0_0x4cd9f4(0x12a),'description':'The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)'},'text':{'type':a0_0x4cd9f4(0x12a),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x4cd9f4(0x12a),'enum':[a0_0x4cd9f4(0x144),a0_0x4cd9f4(0x116),a0_0x4cd9f4(0xfe),a0_0x4cd9f4(0x148),a0_0x4cd9f4(0xe1),a0_0x4cd9f4(0x11d)],'description':a0_0x4cd9f4(0xf1)}},'required':[a0_0x4cd9f4(0x150)]}},{'name':a0_0x4cd9f4(0xeb),'description':a0_0x4cd9f4(0x115),'inputSchema':{'type':a0_0x4cd9f4(0x12d),'properties':{'status':{'type':a0_0x4cd9f4(0x12a),'enum':['working',a0_0x4cd9f4(0x12e),a0_0x4cd9f4(0x148),'error']},'task':{'type':'string','description':a0_0x4cd9f4(0x114)},'progress':{'type':a0_0x4cd9f4(0x10e),'description':a0_0x4cd9f4(0x100)}},'required':[a0_0x4cd9f4(0x117)]}},{'name':'commhub_send_task','description':a0_0x4cd9f4(0xf0),'inputSchema':{'type':a0_0x4cd9f4(0x12d),'properties':{'alias':{'type':a0_0x4cd9f4(0x12a),'description':a0_0x4cd9f4(0xe5)},'task':{'type':'string','description':a0_0x4cd9f4(0xf3)},'priority':{'type':a0_0x4cd9f4(0x12a),'enum':[a0_0x4cd9f4(0x163),a0_0x4cd9f4(0x16b),a0_0x4cd9f4(0x10f)],'description':'Priority\x20(default:\x20normal)'}},'required':[a0_0x4cd9f4(0xfc),a0_0x4cd9f4(0x157)]}},{'name':a0_0x4cd9f4(0x13f),'description':a0_0x4cd9f4(0xdf),'inputSchema':{'type':a0_0x4cd9f4(0x12d),'properties':{'alias':{'type':a0_0x4cd9f4(0x12a),'description':a0_0x4cd9f4(0xe5)},'message':{'type':a0_0x4cd9f4(0x12a),'description':'Message\x20content'}},'required':[a0_0x4cd9f4(0xfc),a0_0x4cd9f4(0x11f)]}},{'name':'commhub_get_all_status','description':a0_0x4cd9f4(0x16a),'inputSchema':{'type':'object','properties':{}}}]}));async function P(_0x347b8f,_0x5aed85){const _0x31760d=a0_0x4cd9f4;let _0x531cf2=await fetch(D+'/mcp',{'method':_0x31760d(0x142),'headers':{'Content-Type':'application/json','Accept':_0x31760d(0xf8),...X?{'Authorization':_0x31760d(0x124)+X}:{}},'body':JSON[_0x31760d(0x107)]({'jsonrpc':_0x31760d(0x102),'id':0x1,'method':_0x31760d(0x10c),'params':{'protocolVersion':_0x31760d(0x14b),'capabilities':{},'clientInfo':{'name':_0x31760d(0x15d),'version':'0.3.0'}}})});if(!_0x531cf2['ok']){let _0x3984a7=await _0x531cf2['text']();return Y(_0x31760d(0x123)+_0x531cf2[_0x31760d(0x117)]+'\x20'+_0x3984a7[_0x31760d(0x153)](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x531cf2[_0x31760d(0x117)]};}await _0x531cf2[_0x31760d(0x150)]();let _0x155395=(await(await fetch(D+_0x31760d(0x164),{'method':'POST','headers':{'Content-Type':_0x31760d(0x120),'Accept':_0x31760d(0xf8),...X?{'Authorization':_0x31760d(0x124)+X}:{}},'body':JSON[_0x31760d(0x107)]({'jsonrpc':_0x31760d(0x102),'id':0x2,'method':_0x31760d(0x143),'params':{'name':_0x347b8f,'arguments':_0x5aed85}})}))[_0x31760d(0x150)]())[_0x31760d(0x106)]('\x0a')[_0x31760d(0xf2)](_0x1c6dad=>_0x1c6dad[_0x31760d(0x108)](_0x31760d(0xe9)));if(_0x155395){let _0x2748bb=JSON['parse'](_0x155395[_0x31760d(0x153)](0x6));return _0x2748bb?.[_0x31760d(0x131)]?.[_0x31760d(0x12b)]?.[0x0]?.[_0x31760d(0x150)]?JSON['parse'](_0x2748bb[_0x31760d(0x131)]['content'][0x0][_0x31760d(0x150)]):_0x2748bb;}return{'ok':!0x1,'error':_0x31760d(0x166)};}K[a0_0x4cd9f4(0x15e)](a0_0x3fbd43,async _0x33c14e=>{const _0x71c58e=a0_0x4cd9f4;let {name:_0x30913f,arguments:_0x1a0210}=_0x33c14e['params'];if(_0x30913f==='commhub_reply'){let {task_id:_0x2e6cb8,text:_0x3f5db0,status:_0x2fde4a}=_0x1a0210;if(_0x2fde4a===_0x71c58e(0x144)||_0x2fde4a===_0x71c58e(0x116)||_0x2fde4a===_0x71c58e(0xfe)){let _0x589092=_0x2fde4a===_0x71c58e(0x144)?_0x71c58e(0x169):_0x2fde4a,_0x42cebd=_0x2e6cb8?k['get'](_0x2e6cb8)||'hub':'hub',_0x3ec591=await P(_0x71c58e(0xff),{'alias':_0x42cebd,'text':_0x3f5db0,'in_reply_to':_0x2e6cb8||void 0x0,'status':_0x589092,'from_session':Z});if(_0x2e6cb8)k[_0x71c58e(0x14c)](_0x2e6cb8);return{'content':[{'type':'text','text':JSON['stringify'](_0x3ec591)}]};}let _0x5c0dfe=await P(_0x71c58e(0x103),{'resume_id':w,'alias':Z,'status':_0x2fde4a===_0x71c58e(0x148)?'blocked':_0x2fde4a==='error'?_0x71c58e(0xe1):_0x71c58e(0xea),'task':_0x3f5db0[_0x71c58e(0x153)](0x0,0xc8),'output':_0x3f5db0});return{'content':[{'type':_0x71c58e(0x150),'text':JSON[_0x71c58e(0x107)](_0x5c0dfe)}]};}if(_0x30913f===_0x71c58e(0xeb)){let {status:_0x26e4c4,task:_0xb4a06b,progress:_0x44e1e4}=_0x1a0210,_0x3c1189=await P(_0x71c58e(0x103),{'resume_id':w,'alias':Z,'status':_0x26e4c4,'task':_0xb4a06b,'progress':_0x44e1e4});return{'content':[{'type':'text','text':JSON[_0x71c58e(0x107)](_0x3c1189)}]};}if(_0x30913f===_0x71c58e(0x165)){let {alias:_0x4f1be6,task:_0x4d6f5d,priority:_0x59c468}=_0x1a0210,_0x480bac=await P(_0x71c58e(0x137),{'alias':_0x4f1be6,'task':_0x4d6f5d,'priority':_0x59c468||_0x71c58e(0x16b),'from_session':Z});return{'content':[{'type':_0x71c58e(0x150),'text':JSON[_0x71c58e(0x107)](_0x480bac)}]};}if(_0x30913f===_0x71c58e(0x13f)){let {alias:_0x84ca52,message:_0xf0274d}=_0x1a0210,_0x5c90d5=await P(_0x71c58e(0x13e),{'alias':_0x84ca52,'message':_0xf0274d,'from_session':Z});return{'content':[{'type':_0x71c58e(0x150),'text':JSON[_0x71c58e(0x107)](_0x5c90d5)}]};}if(_0x30913f===_0x71c58e(0x13d)){let _0x23bc8c=await P('get_all_status',{});return{'content':[{'type':_0x71c58e(0x150),'text':JSON[_0x71c58e(0x107)](_0x23bc8c)}]};}return{'content':[{'type':_0x71c58e(0x150),'text':JSON['stringify']({'error':_0x71c58e(0x151)})}]};});async function v(){const _0x58f1a0=a0_0x4cd9f4;let _0x11b970=D+_0x58f1a0(0x132)+encodeURIComponent(Z),_0x233d84={};if(X)_0x233d84[_0x58f1a0(0xe3)]='Bearer\x20'+X;Y(_0x58f1a0(0x104)+_0x11b970);while(!0x0){try{let _0x2e73a6=await fetch(_0x11b970,{'headers':_0x233d84});if(!_0x2e73a6['ok']){Y('SSE\x20error:\x20'+_0x2e73a6[_0x58f1a0(0x117)]+'\x20'+_0x2e73a6[_0x58f1a0(0x125)]),await h(0x1388);continue;}let _0x5b4fcd=_0x2e73a6[_0x58f1a0(0x156)][_0x58f1a0(0xfa)](),_0x1a9204=new TextDecoder(),_0x28dbd9='';while(!0x0){let {done:_0x48bf9a,value:_0x28fa6a}=await _0x5b4fcd[_0x58f1a0(0xee)]();if(_0x48bf9a)break;_0x28dbd9+=_0x1a9204[_0x58f1a0(0x138)](_0x28fa6a,{'stream':!0x0});let _0x106209=_0x28dbd9['split']('\x0a\x0a');_0x28dbd9=_0x106209[_0x58f1a0(0x10a)]()||'';for(let _0x3162f1 of _0x106209){let _0x473762=_0x3162f1['split']('\x0a')[_0x58f1a0(0xf2)](_0x57bf52=>_0x57bf52[_0x58f1a0(0x108)](_0x58f1a0(0xe9)));if(!_0x473762)continue;try{let _0x164a58=JSON['parse'](_0x473762[_0x58f1a0(0x153)](0x6));await u(_0x164a58);}catch(_0x26b26d){Y(_0x58f1a0(0x127)+_0x26b26d);}}}Y('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x1fe847){Y(_0x58f1a0(0x147)+_0x1fe847);}await h(0xbb8);}}async function u(_0x1efc1e){const _0x47606e=a0_0x4cd9f4;if(_0x1efc1e[_0x47606e(0x10b)]==='connected'){Y(_0x47606e(0xfd)+Z+'\x22');return;}if(_0x1efc1e[_0x47606e(0x10b)]===_0x47606e(0x128)){if(Y('←\x20message\x20from\x20'+_0x1efc1e[_0x47606e(0x141)]+':\x20'+_0x1efc1e[_0x47606e(0x11f)][_0x47606e(0x153)](0x0,0x3c)),await K[_0x47606e(0x154)]({'method':'notifications/claude/channel','params':{'content':_0x1efc1e[_0x47606e(0x11f)],'meta':{'sender':_0x1efc1e[_0x47606e(0x141)]||_0x47606e(0x15c),'sender_id':'commhub','user':_0x1efc1e[_0x47606e(0x141)]||_0x47606e(0x15c),'priority':_0x47606e(0x16b)}}}),_0x1efc1e[_0x47606e(0x122)])await P(_0x47606e(0x14a),{'alias':Z,'message_id':_0x1efc1e[_0x47606e(0x122)]});return;}if(_0x1efc1e['type']===_0x47606e(0x105)||_0x1efc1e['type']===_0x47606e(0x15b)){Y('←\x20'+_0x1efc1e['type']+_0x47606e(0xf7)+_0x1efc1e[_0x47606e(0x119)]+_0x47606e(0x10d)+(_0x1efc1e['priority']||_0x47606e(0x16b)));let _0x2c75bf=await P(_0x47606e(0x135),{'alias':Z,'limit':0x5});if(_0x2c75bf?.['ok']&&_0x2c75bf[_0x47606e(0x112)]?.[_0x47606e(0x155)]>0x0)for(let _0x57f731 of _0x2c75bf[_0x47606e(0x112)]){let _0x45afa0={'sender':_0x57f731[_0x47606e(0x159)]||_0x47606e(0x15c),'sender_id':'commhub','user':_0x57f731[_0x47606e(0x159)]||'hub','task_id':_0x57f731['id'],'priority':_0x57f731[_0x47606e(0x101)]||_0x47606e(0x16b)};k[_0x47606e(0x12f)](_0x57f731['id'],_0x57f731[_0x47606e(0x159)]||_0x47606e(0x15c)),await K['notification']({'method':_0x47606e(0x11a),'params':{'content':_0x57f731[_0x47606e(0x12b)],'meta':_0x45afa0}}),Y(_0x47606e(0x12c)+_0x57f731['id']['slice'](0x0,0x8)+_0x47606e(0x149)+_0x57f731[_0x47606e(0x159)]+':\x20'+_0x57f731[_0x47606e(0x12b)]['slice'](0x0,0x3c)),await P('ack_inbox',{'alias':Z,'message_id':_0x57f731['id']});}}}async function S(){const _0x51e1ad=a0_0x4cd9f4;let _0x463520=new a0_0x4f6eea();await K[_0x51e1ad(0x15f)](_0x463520),Y(_0x51e1ad(0x109)),Y(_0x51e1ad(0x152)),v()['catch'](_0x1f6443=>Y(_0x51e1ad(0x133)+_0x1f6443)),P(_0x51e1ad(0x103),{'resume_id':w,'alias':Z,'status':_0x51e1ad(0x12e),'server':a0_0x9beab3(),'hostname':a0_0x9beab3(),'agent':_0x51e1ad(0xe8),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x51e1ad(0x11b)](()=>Y('registered\x20as\x20\x22'+Z+_0x51e1ad(0xde)+w[_0x51e1ad(0x153)](0x0,0x8)+')'))[_0x51e1ad(0xf4)](_0x2e8731=>Y(_0x51e1ad(0x110)+_0x2e8731)),setInterval(()=>{const _0x24a1a9=_0x51e1ad;P(_0x24a1a9(0x103),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x9beab3(),'hostname':a0_0x9beab3(),'agent':_0x24a1a9(0xe8),'project_dir':process[_0x24a1a9(0x14d)](),'tmux_name':f||void 0x0})['catch'](_0xd8cadc=>Y(_0x24a1a9(0x14e)+_0xd8cadc));},0x2bf20),Y('ready\x20—\x20waiting\x20for\x20events');}S()[a0_0x4cd9f4(0xf4)](_0x2a0d47=>{const _0x29c63a=a0_0x4cd9f4;Y(_0x29c63a(0xe4)+_0x2a0d47),process[_0x29c63a(0xe7)](0x1);});function a0_0x3dfe(){const _0x527cd6=['statusText','replace','parse\x20error:\x20','new_message','1299804xyhhHl','string','content','→\x20injected\x20task\x20','object','idle','set','22220271DdENPa','result','/events/','SSE\x20fatal:\x20','parse','get_inbox','http://127.0.0.1:9200','send_task','decode','\x20RESUME_ID=','5856728IWXGae','stdin','shutting\x20down,\x20reporting\x20offline...','commhub_get_all_status','send_message','commhub_send_message','randomUUID','from','POST','tools/call','completed','120xempOk','config.json','SSE\x20connection\x20error:\x20','blocked','\x20from\x20','ack_inbox','2025-03-26','delete','cwd','heartbeat\x20failed:\x20','...\x20TMUX=','text','unknown\x20tool','starting\x20SSE\x20listener...','slice','notification','length','body','task','0.3.0','from_session','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','broadcast','hub','commhub-channel','setRequestHandler','connect','indexOf','40047lFUExk','3878975scJVIz','high','/mcp','commhub_send_task','no\x20response','end','242326qPnsYH','replied','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','normal','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','\x22\x20(','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','token','error','\x20CWD=','Authorization','fatal:\x20','Target\x20session\x20alias',']\x20[commhub]\x20','exit','claude-code','data:\x20','working','commhub_report_status','10LDFDkQ','commhub_reply','read','session\x20disconnected','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','find','Task\x20content','catch','.anet','utf-8',':\x20inbox_count=','application/json,\x20text/event-stream','trim','getReader','none','alias','SSE\x20connected\x20as\x20\x22','cancelled','send_reply','Progress\x200-100','priority','2.0','report_status','connecting\x20to\x20','new_task','split','stringify','startsWith','MCP\x20stdio\x20connected','pop','type','initialize','\x20priority=','number','low','warning:\x20could\x20not\x20register:\x20','54xeFVPk','messages','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','Current\x20task\x20description','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','failed','status','Session\x20alias:\x20','inbox_count','notifications/claude/channel','then','toTimeString','in_progress','\x20PROJECT_ENV=','message','application/json','168093WMDWkP','message_id','CommHub\x20init\x20failed:\x20','Bearer\x20'];a0_0x3dfe=function(){return _0x527cd6;};return a0_0x3dfe();}function a0_0x2d3e(_0xee8224,_0x3f9db2){_0xee8224=_0xee8224-0xde;const _0x3dfe89=a0_0x3dfe();let _0x2d3ed8=_0x3dfe89[_0xee8224];return _0x2d3ed8;}async function N(){const _0x5831ae=a0_0x4cd9f4;Y(_0x5831ae(0x13c)),await P(_0x5831ae(0x103),{'resume_id':w,'alias':Z,'status':'error','task':_0x5831ae(0xef)})[_0x5831ae(0xf4)](()=>{}),process['exit'](0x0);}process[a0_0x4cd9f4(0x13b)]['on'](a0_0x4cd9f4(0x167),()=>N()),process['on']('SIGTERM',()=>N()),process['on']('SIGINT',()=>N());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.0.0-preview.
|
|
3
|
+
"version": "2.0.0-preview.64",
|
|
4
4
|
"description": "AI Agent Network CLI \u2014 Create multi-agent networks with user management, network isolation, and 3 AI runtimes (Claude/Codex/MiniMax). 39 commands.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/client.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"dist"
|
|
22
22
|
],
|
|
23
23
|
"scripts": {
|
|
24
|
-
"build": "bun build src/client.ts --outdir dist/src --target node --minify && bun build bin/cli.ts --outdir dist/bin --target node --minify --external @sleep2agi/commhub-server --external bun:sqlite --external '../../server/*' && bun build src/node-server.ts --outdir dist/src --target node --minify --external @modelcontextprotocol/sdk && tsc --emitDeclarationOnly --declaration --outDir dist && npx javascript-obfuscator dist/bin/cli.js --output dist/bin/cli.js --compact true --
|
|
24
|
+
"build": "bun build src/client.ts --outdir dist/src --target node --minify && bun build bin/cli.ts --outdir dist/bin --target node --minify --external @sleep2agi/commhub-server --external bun:sqlite --external '../../server/*' && bun build src/node-server.ts --outdir dist/src --target node --minify --external @modelcontextprotocol/sdk && tsc --emitDeclarationOnly --declaration --outDir dist && npx javascript-obfuscator dist/bin/cli.js --output dist/bin/cli.js --compact true --string-array true --string-array-encoding base64 && npx javascript-obfuscator dist/src/client.js --output dist/src/client.js --compact true --string-array true && npx javascript-obfuscator dist/src/node-server.js --output dist/src/node-server.js --compact true --string-array true",
|
|
25
25
|
"prepublishOnly": "npm run build"
|
|
26
26
|
},
|
|
27
27
|
"keywords": [
|