@sleep2agi/agent-network 2.1.4 → 2.1.5-preview.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +1 -1
- package/dist/src/client.js +1 -1
- package/dist/src/node-server.js +1 -1
- package/package.json +1 -1
package/dist/src/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x4bc658=a0_0xd5cd;(function(_0x29ac4f,_0xfbedd9){const _0x383f28=a0_0xd5cd,_0x272908=_0x29ac4f();while(!![]){try{const _0x4c3723=-parseInt(_0x383f28(0xb1))/0x1+-parseInt(_0x383f28(0xb5))/0x2*(parseInt(_0x383f28(0x6b))/0x3)+-parseInt(_0x383f28(0x80))/0x4*(-parseInt(_0x383f28(0xa1))/0x5)+parseInt(_0x383f28(0x89))/0x6*(parseInt(_0x383f28(0x90))/0x7)+parseInt(_0x383f28(0x78))/0x8*(-parseInt(_0x383f28(0x6e))/0x9)+parseInt(_0x383f28(0x6d))/0xa+parseInt(_0x383f28(0xbd))/0xb*(-parseInt(_0x383f28(0x79))/0xc);if(_0x4c3723===_0xfbedd9)break;else _0x272908['push'](_0x272908['shift']());}catch(_0x368b26){_0x272908['push'](_0x272908['shift']());}}}(a0_0x2911,0xecc2a));function a0_0x2911(){const _0x21059a=['tools/call','heartbeatTimer','url','server','402521RYjniU','signal','body','messages','error','Bearer\x20','data:\x20','broadcast','match','startsWith','call','log','processInbox','SSE\x20failed:\x20','send_message','registered','alias','6640KtWGMM','token','send_task','message','resumeId','pop','AbortError','reply','connect','from_session','type','decode','text/event-stream','disconnected','catch','content','1136211vYobWP','sdk-','read','task','42TrUnVf','status','idle','parse','report_status','toString','emit','abort','4614731RXUKPt','sdk','split','autoConnect','heartbeatInterval','28797WSYDYS','POST','4570200RzrNyJ','17874aFeXUh','getAllStatus','send','inbox\x20error:\x20','heartbeat\x20failed:\x20','getReader','sleep','name','completed','get_inbox','3664ssfIqu','12UnfrJg',']\x20[commhub:','result','text','toTimeString','running','sseAbort','4208AIMaOr','/events/','connectSSE','agent','reconnectDelay','connected','2.0','stringify','slice','186nYVSeI','send_reply','new_task'];a0_0x2911=function(){return _0x21059a;};return a0_0x2911();}import{EventEmitter as a0_0x1b6484}from'events';function a0_0xd5cd(_0x3171c9,_0x401c3c){_0x3171c9=_0x3171c9-0x6a;const _0x291102=a0_0x2911();let _0xd5cd00=_0x291102[_0x3171c9];return _0xd5cd00;}import{hostname as a0_0x1296ad}from'os';class T extends a0_0x1b6484{['url'];['alias'];['token'];['agent'];[a0_0x4bc658(0xa5)];[a0_0x4bc658(0x6a)];[a0_0x4bc658(0x84)];['heartbeatTimer'];[a0_0x4bc658(0x7f)];[a0_0x4bc658(0x7e)]=!0x1;constructor(_0x184a2a){const _0x2087f7=a0_0x4bc658;super();if(this[_0x2087f7(0x8e)]=_0x184a2a[_0x2087f7(0x8e)]['replace'](/\/$/,''),this[_0x2087f7(0xa0)]=_0x184a2a[_0x2087f7(0xa0)],this[_0x2087f7(0xa2)]=_0x184a2a[_0x2087f7(0xa2)],this[_0x2087f7(0x83)]=_0x184a2a['agent']||_0x2087f7(0xbe),this[_0x2087f7(0xa5)]=_0x2087f7(0xb2)+_0x184a2a[_0x2087f7(0xa0)]+'-'+Date['now']()[_0x2087f7(0xba)](0x24),this[_0x2087f7(0x6a)]=_0x184a2a[_0x2087f7(0x6a)]??0x2bf20,this['reconnectDelay']=_0x184a2a[_0x2087f7(0x84)]??0xbb8,_0x184a2a[_0x2087f7(0xc0)]!==!0x1)this[_0x2087f7(0xa9)]();}['log'](_0x234872){const _0x5c4357=a0_0x4bc658;console[_0x5c4357(0x9b)]('['+new Date()[_0x5c4357(0x7d)]()[_0x5c4357(0x88)](0x0,0x8)+_0x5c4357(0x7a)+this[_0x5c4357(0xa0)]+']\x20'+_0x234872);}async['call'](_0x1a588d,_0x5d3067){const _0x5ed78f=a0_0x4bc658;let _0x2d7756={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream'};if(this[_0x5ed78f(0xa2)])_0x2d7756['Authorization']='Bearer\x20'+this['token'];let _0x4c82f0=await(await fetch(this[_0x5ed78f(0x8e)]+'/mcp',{'method':_0x5ed78f(0x6c),'headers':_0x2d7756,'body':JSON[_0x5ed78f(0x87)]({'jsonrpc':_0x5ed78f(0x86),'id':Date['now'](),'method':_0x5ed78f(0x8c),'params':{'name':_0x1a588d,'arguments':_0x5d3067}})}))[_0x5ed78f(0x7c)](),_0x28a743=_0x4c82f0[_0x5ed78f(0x98)](/data: (.+)/),_0x424301=_0x28a743?JSON[_0x5ed78f(0xb8)](_0x28a743[0x1]):JSON['parse'](_0x4c82f0),_0x551f8e=_0x424301?.[_0x5ed78f(0x7b)]?.[_0x5ed78f(0xb0)]?.[0x0]?.[_0x5ed78f(0x7c)];return _0x551f8e?JSON[_0x5ed78f(0xb8)](_0x551f8e):_0x424301;}async[a0_0x4bc658(0xa9)](){const _0x44160e=a0_0x4bc658;if(this[_0x44160e(0x7e)])return;this['running']=!0x0,await this[_0x44160e(0xb6)]('idle'),this[_0x44160e(0x9b)](_0x44160e(0x9f)),this[_0x44160e(0x8d)]=setInterval(()=>{const _0x4a8c36=_0x44160e;this[_0x4a8c36(0xb6)](_0x4a8c36(0xb7))[_0x4a8c36(0xaf)](_0x384b4b=>this[_0x4a8c36(0x9b)](_0x4a8c36(0x72)+_0x384b4b['message']));},this[_0x44160e(0x6a)]),this[_0x44160e(0x82)]();}async['disconnect'](){const _0x27ecfb=a0_0x4bc658;if(this[_0x27ecfb(0x7e)]=!0x1,this[_0x27ecfb(0x7f)]?.[_0x27ecfb(0xbc)](),this[_0x27ecfb(0x8d)])clearInterval(this[_0x27ecfb(0x8d)]);await this['status']('offline')[_0x27ecfb(0xaf)](()=>{}),this['log'](_0x27ecfb(0xae));}async[a0_0x4bc658(0x70)](_0x578730,_0x23cd51,_0x2511c3='normal'){const _0x34ef88=a0_0x4bc658;return this[_0x34ef88(0x9a)](_0x34ef88(0xa3),{'alias':_0x578730,'task':_0x23cd51,'priority':_0x2511c3,'from_session':this[_0x34ef88(0xa0)]});}async[a0_0x4bc658(0xa4)](_0x28752f,_0x18d7fa){const _0x12de29=a0_0x4bc658;return this['call'](_0x12de29(0x9e),{'alias':_0x28752f,'message':_0x18d7fa,'from_session':this[_0x12de29(0xa0)]});}async[a0_0x4bc658(0xa8)](_0x24f4ff,_0x512a20,_0x441dd6=a0_0x4bc658(0x76)){const _0x15267f=a0_0x4bc658;return this[_0x15267f(0x9a)](_0x15267f(0x8a),{'in_reply_to':_0x24f4ff,'text':_0x512a20,'status':_0x441dd6});}async[a0_0x4bc658(0xb6)](_0x982a20,_0x1fc699){const _0x5adacb=a0_0x4bc658;return this['call'](_0x5adacb(0xb9),{'resume_id':this['resumeId'],'alias':this[_0x5adacb(0xa0)],'status':_0x982a20,'server':a0_0x1296ad(),'hostname':a0_0x1296ad(),'agent':this[_0x5adacb(0x83)],'project_dir':process['cwd'](),..._0x1fc699});}async[a0_0x4bc658(0x6f)](){return this['call']('get_all_status',{});}async[a0_0x4bc658(0x97)](_0x48c92a,_0x29a68c){const _0x1d952c=a0_0x4bc658;return this[_0x1d952c(0x9a)](_0x1d952c(0x97),{'message':_0x48c92a,'filter_server':_0x29a68c?.[_0x1d952c(0x8f)],'filter_status':_0x29a68c?.[_0x1d952c(0xb6)]});}async['connectSSE'](){const _0x26a780=a0_0x4bc658;let _0x1382e1=encodeURIComponent(this[_0x26a780(0xa0)]),_0x513181=this[_0x26a780(0x8e)]+_0x26a780(0x81)+_0x1382e1,_0x4b7e74=this['reconnectDelay'];while(this[_0x26a780(0x7e)]){try{this[_0x26a780(0x7f)]=new AbortController();let _0x1c6033={'Accept':_0x26a780(0xad)};if(this[_0x26a780(0xa2)])_0x1c6033['Authorization']=_0x26a780(0x95)+this[_0x26a780(0xa2)];let _0x1f1765=await fetch(_0x513181,{'headers':_0x1c6033,'signal':this[_0x26a780(0x7f)][_0x26a780(0x91)]});if(!_0x1f1765['ok']||!_0x1f1765[_0x26a780(0x92)]){this[_0x26a780(0x9b)](_0x26a780(0x9d)+_0x1f1765['status']),await this['sleep'](_0x4b7e74),_0x4b7e74=Math['min'](_0x4b7e74*1.5,0xea60);continue;}_0x4b7e74=this['reconnectDelay'];let _0x238bbe=_0x1f1765['body'][_0x26a780(0x73)](),_0x2f1358=new TextDecoder(),_0x596b00='';while(this[_0x26a780(0x7e)]){let {done:_0xf37810,value:_0x511d92}=await _0x238bbe[_0x26a780(0xb3)]();if(_0xf37810)break;_0x596b00+=_0x2f1358[_0x26a780(0xac)](_0x511d92,{'stream':!0x0});let _0x3fe0a3=_0x596b00[_0x26a780(0xbf)]('\x0a');_0x596b00=_0x3fe0a3[_0x26a780(0xa6)]()||'';for(let _0x35236f of _0x3fe0a3){if(!_0x35236f[_0x26a780(0x99)](_0x26a780(0x96)))continue;try{let _0x4f6740=JSON['parse'](_0x35236f[_0x26a780(0x88)](0x6));if(_0x4f6740[_0x26a780(0xab)]===_0x26a780(0x85)){this[_0x26a780(0x9b)]('SSE\x20connected'),this[_0x26a780(0xbb)](_0x26a780(0x85));continue;}if(_0x4f6740[_0x26a780(0xab)]===_0x26a780(0x8b)||_0x4f6740[_0x26a780(0xab)]==='new_message'||_0x4f6740['type']===_0x26a780(0x97))await this[_0x26a780(0x9c)]();}catch{}}}}catch(_0x30dddd){if(_0x30dddd[_0x26a780(0x75)]===_0x26a780(0xa7))break;this[_0x26a780(0xbb)](_0x26a780(0x94),_0x30dddd),this[_0x26a780(0x9b)]('SSE\x20error:\x20'+_0x30dddd[_0x26a780(0xa4)]);}if(this[_0x26a780(0x7e)])this['emit'](_0x26a780(0xae)),this[_0x26a780(0x9b)]('SSE\x20reconnecting\x20in\x20'+_0x4b7e74/0x3e8+'s...'),await this[_0x26a780(0x74)](_0x4b7e74),_0x4b7e74=Math['min'](_0x4b7e74*1.5,0xea60);}}async[a0_0x4bc658(0x9c)](){const _0x1dbb23=a0_0x4bc658;try{let _0x16ff02=(await this[_0x1dbb23(0x9a)](_0x1dbb23(0x77),{'alias':this[_0x1dbb23(0xa0)],'limit':0xa}))?.[_0x1dbb23(0x93)]||[];for(let _0x58f1f1 of _0x16ff02)await this['call']('ack_inbox',{'alias':this[_0x1dbb23(0xa0)],'message_id':_0x58f1f1['id']}),this['log']('←\x20'+_0x58f1f1[_0x1dbb23(0xaa)]+':\x20'+_0x58f1f1[_0x1dbb23(0xb0)][_0x1dbb23(0x88)](0x0,0x3c)),this[_0x1dbb23(0xbb)](_0x1dbb23(0xb4),_0x58f1f1),this['emit'](_0x1dbb23(0xa4),_0x58f1f1);}catch(_0x395dd5){this['log'](_0x1dbb23(0x71)+_0x395dd5['message']);}}[a0_0x4bc658(0x74)](_0x463dc4){return new Promise(_0x209071=>setTimeout(_0x209071,_0x463dc4));}}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_0xf2a61b=a0_0x36e7;function a0_0x36e7(_0x34fc72,_0x53db17){_0x34fc72=_0x34fc72-0x7f;const _0x3a4424=a0_0x3a44();let _0x36e73c=_0x3a4424[_0x34fc72];return _0x36e73c;}(function(_0x380eba,_0x2d122c){const _0x5d8880=a0_0x36e7,_0x403844=_0x380eba();while(!![]){try{const _0x2b6a06=parseInt(_0x5d8880(0x103))/0x1*(parseInt(_0x5d8880(0xd0))/0x2)+-parseInt(_0x5d8880(0xe3))/0x3+parseInt(_0x5d8880(0xa2))/0x4+-parseInt(_0x5d8880(0xd3))/0x5*(parseInt(_0x5d8880(0xac))/0x6)+parseInt(_0x5d8880(0xf2))/0x7+-parseInt(_0x5d8880(0x7f))/0x8*(parseInt(_0x5d8880(0xd6))/0x9)+-parseInt(_0x5d8880(0x82))/0xa*(parseInt(_0x5d8880(0x84))/0xb);if(_0x2b6a06===_0x2d122c)break;else _0x403844['push'](_0x403844['shift']());}catch(_0x4e0301){_0x403844['push'](_0x403844['shift']());}}}(a0_0x3a44,0x52524));import{readFileSync as a0_0x48fa13,existsSync as a0_0x13c8c8}from'fs';import{randomUUID as a0_0x2a7949}from'crypto';import{join as a0_0x579e08}from'path';import{hostname as a0_0x30754c}from'os';import{execSync as a0_0x26c6bb}from'child_process';import{Server as a0_0x9145a2}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x482dd5}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x308e28,CallToolRequestSchema as a0_0x17ca93}from'@modelcontextprotocol/sdk/types.js';function a0_0x3a44(){const _0x30e6ca=['\x20from\x20','420570dvwwtL','report_status','22qbjNXC','Message\x20content','send_task','SIGINT','text','starting\x20SSE\x20listener...','token','config.json','statusText','connect','length','join','←\x20message\x20from\x20','failed','.env','priority','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','blocked','replace','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','replied','Task\x20content','then','.anet','content','parse','decode','notifications/claude/channel','slice','message_id','1649068WlrkDn','cwd','from_session','Reply\x20text\x20/\x20result\x20summary','inbox_count','commhub','send_message','result','claude-code','registered\x20as\x20\x22','162Volzgv','\x20ALIAS=','type','setRequestHandler','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','write','Authorization','task','idle','SIGTERM','none','get_all_status','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','0.3.0','broadcast','Priority\x20(default:\x20normal)','object','http://127.0.0.1:9200','CommHub\x20init\x20failed:\x20','find','split','new_message','end','working','from','SSE\x20connection\x20error:\x20','\x20RESUME_ID=','startsWith','Current\x20task\x20description','MCP\x20stdio\x20connected','get_inbox','SSE\x20error:\x20','parse\x20error:\x20','send_reply','/events/','trim','361818ZeoIqk','cancelled','application/json,\x20text/event-stream','98715bwAXYY','connecting\x20to\x20','get','27iSsYmJ','hub','read','string','status','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','stdin','alias','fatal:\x20','messages','/mcp','init\x20failed:\x20','commhub-channel','437925RgnPZw','ENV:\x20URL=',':\x20inbox_count=','utf-8','SSE\x20connected\x20as\x20\x22','warning:\x20could\x20not\x20register:\x20','SSE\x20stream\x20ended,\x20reconnecting...','no\x20response','application/json','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','stringify','ready\x20—\x20waiting\x20for\x20events','2.0','Target\x20session\x20alias','delete','4103232UEVqMZ','completed','SSE\x20fatal:\x20',']\x20[commhub]\x20','new_task','normal','→\x20injected\x20task\x20','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','commhub_send_message','stderr','ack_inbox','message','pop','toTimeString','2025-03-26','data:\x20','catch','1mAcheq','exit','POST','set','in_progress','error','commhub_send_task','.claude/channels/commhub','commhub_report_status','210704mwRIOB','Bearer\x20'];a0_0x3a44=function(){return _0x30e6ca;};return a0_0x3a44();}function p(_0x4e98df){const _0x26e42c=a0_0x36e7;if(!a0_0x13c8c8(_0x4e98df))return;for(let _0x4a3183 of a0_0x48fa13(_0x4e98df,_0x26e42c(0xe6))[_0x26e42c(0xc0)]('\x0a')){let _0x589d3c=_0x4a3183[_0x26e42c(0xcf)]();if(!_0x589d3c||_0x589d3c[_0x26e42c(0xc7)]('#'))continue;let _0x4930bf=_0x589d3c['indexOf']('=');if(_0x4930bf<0x0)continue;let _0x2b2e33=_0x589d3c['slice'](0x0,_0x4930bf)[_0x26e42c(0xcf)](),_0x144d71=_0x589d3c[_0x26e42c(0xa0)](_0x4930bf+0x1)[_0x26e42c(0xcf)]()[_0x26e42c(0x96)](/^["']|["']$/g,'');if(!process.env[_0x2b2e33])process.env[_0x2b2e33]=_0x144d71;}}var C=process.env.HOME||'~',T=a0_0x579e08(C,a0_0xf2a61b(0x10a));p(a0_0x579e08(T,'.env'));var L=process[a0_0xf2a61b(0xa3)]()[a0_0xf2a61b(0x96)](/\//g,'-');p(a0_0x579e08(T,L,a0_0xf2a61b(0x92)));function U(){const _0xda018=a0_0xf2a61b;try{return a0_0x26c6bb('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':'utf-8','timeout':0x7d0})[_0xda018(0xcf)]();}catch{return'';}}function v(){const _0x287018=a0_0xf2a61b;try{let _0x2165a5=a0_0x579e08(C,_0x287018(0x9b),_0x287018(0x8b));if(a0_0x13c8c8(_0x2165a5))return JSON['parse'](a0_0x48fa13(_0x2165a5,_0x287018(0xe6)));}catch{}return{};}var H=v(),f=process.env.COMMHUB_URL||H[a0_0xf2a61b(0xd7)]||a0_0xf2a61b(0xbd),j=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||j||a0_0x30754c(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x2a7949(),X=process.env.COMMHUB_TOKEN||H[a0_0xf2a61b(0x8a)]||'';function Y(_0x37424d){const _0x33ad11=a0_0xf2a61b;let _0x42edd8=new Date()[_0x33ad11(0xff)]()['slice'](0x0,0x8);process[_0x33ad11(0xfb)][_0x33ad11(0xb1)]('['+_0x42edd8+_0x33ad11(0xf5)+_0x37424d+'\x0a');}function h(_0x3dc051){return new Promise(_0x1cf775=>setTimeout(_0x1cf775,_0x3dc051));}Y(a0_0xf2a61b(0xe4)+f+a0_0xf2a61b(0xad)+Z+a0_0xf2a61b(0xc6)+w[a0_0xf2a61b(0xa0)](0x0,0x8)+'...\x20TMUX='+(j||a0_0xf2a61b(0xb6))+'\x20CWD='+process[a0_0xf2a61b(0xa3)]()+'\x20PROJECT_ENV='+L);var k=new Map(),K=new a0_0x9145a2({'name':a0_0xf2a61b(0xe2),'version':a0_0xf2a61b(0xb9)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0xf2a61b(0x94),a0_0xf2a61b(0xf9),a0_0xf2a61b(0xdb),a0_0xf2a61b(0x97),'Session\x20alias:\x20'+Z][a0_0xf2a61b(0x8f)]('\x0a')});K[a0_0xf2a61b(0xaf)](a0_0x308e28,async()=>({'tools':[{'name':'commhub_reply','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_0xf2a61b(0xd9),'description':a0_0xf2a61b(0xb8)},'text':{'type':'string','description':a0_0xf2a61b(0xa5)},'status':{'type':'string','enum':[a0_0xf2a61b(0xf3),a0_0xf2a61b(0x91),'cancelled',a0_0xf2a61b(0x95),a0_0xf2a61b(0x108),a0_0xf2a61b(0x107)],'description':a0_0xf2a61b(0xec)}},'required':[a0_0xf2a61b(0x88)]}},{'name':a0_0xf2a61b(0x10b),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0xf2a61b(0xbc),'properties':{'status':{'type':a0_0xf2a61b(0xd9),'enum':['working',a0_0xf2a61b(0xb4),a0_0xf2a61b(0x95),a0_0xf2a61b(0x108)]},'task':{'type':a0_0xf2a61b(0xd9),'description':a0_0xf2a61b(0xc8)},'progress':{'type':'number','description':'Progress\x200-100'}},'required':[a0_0xf2a61b(0xda)]}},{'name':a0_0xf2a61b(0x109),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0xf2a61b(0xbc),'properties':{'alias':{'type':'string','description':a0_0xf2a61b(0xf0)},'task':{'type':a0_0xf2a61b(0xd9),'description':a0_0xf2a61b(0x99)},'priority':{'type':a0_0xf2a61b(0xd9),'enum':['high',a0_0xf2a61b(0xf7),'low'],'description':a0_0xf2a61b(0xbb)}},'required':['alias',a0_0xf2a61b(0xb3)]}},{'name':'commhub_send_message','description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0xf2a61b(0xbc),'properties':{'alias':{'type':a0_0xf2a61b(0xd9),'description':a0_0xf2a61b(0xf0)},'message':{'type':'string','description':a0_0xf2a61b(0x85)}},'required':[a0_0xf2a61b(0xdd),'message']}},{'name':'commhub_get_all_status','description':a0_0xf2a61b(0xb0),'inputSchema':{'type':a0_0xf2a61b(0xbc),'properties':{}}}]}));async function P(_0x3de78f,_0x7b672d){const _0x268b5c=a0_0xf2a61b;let _0x5af255=await fetch(f+_0x268b5c(0xe0),{'method':'POST','headers':{'Content-Type':'application/json','Accept':_0x268b5c(0xd2),...X?{'Authorization':'Bearer\x20'+X}:{}},'body':JSON[_0x268b5c(0xed)]({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x268b5c(0x100),'capabilities':{},'clientInfo':{'name':_0x268b5c(0xe2),'version':_0x268b5c(0xb9)}}})});if(!_0x5af255['ok']){let _0x122a16=await _0x5af255[_0x268b5c(0x88)]();return Y(_0x268b5c(0xbe)+_0x5af255[_0x268b5c(0xda)]+'\x20'+_0x122a16[_0x268b5c(0xa0)](0x0,0x64)),{'ok':!0x1,'error':_0x268b5c(0xe1)+_0x5af255['status']};}await _0x5af255[_0x268b5c(0x88)]();let _0x4e6f77=(await(await fetch(f+'/mcp',{'method':_0x268b5c(0x105),'headers':{'Content-Type':_0x268b5c(0xeb),'Accept':_0x268b5c(0xd2),...X?{'Authorization':_0x268b5c(0x80)+X}:{}},'body':JSON[_0x268b5c(0xed)]({'jsonrpc':_0x268b5c(0xef),'id':0x2,'method':'tools/call','params':{'name':_0x3de78f,'arguments':_0x7b672d}})}))['text']())[_0x268b5c(0xc0)]('\x0a')[_0x268b5c(0xbf)](_0x3c5834=>_0x3c5834[_0x268b5c(0xc7)](_0x268b5c(0x101)));if(_0x4e6f77){let _0x5d479c=JSON[_0x268b5c(0x9d)](_0x4e6f77[_0x268b5c(0xa0)](0x6));return _0x5d479c?.['result']?.[_0x268b5c(0x9c)]?.[0x0]?.[_0x268b5c(0x88)]?JSON[_0x268b5c(0x9d)](_0x5d479c[_0x268b5c(0xa9)][_0x268b5c(0x9c)][0x0][_0x268b5c(0x88)]):_0x5d479c;}return{'ok':!0x1,'error':_0x268b5c(0xea)};}K[a0_0xf2a61b(0xaf)](a0_0x17ca93,async _0x29f88c=>{const _0x2d5b2e=a0_0xf2a61b;let {name:_0x15d30a,arguments:_0x29bdb2}=_0x29f88c['params'];if(_0x15d30a==='commhub_reply'){let {task_id:_0xe7649d,text:_0x5ddd20,status:_0x957ca5}=_0x29bdb2;if(_0x957ca5===_0x2d5b2e(0xf3)||_0x957ca5==='failed'||_0x957ca5===_0x2d5b2e(0xd1)){let _0x17dece=_0x957ca5===_0x2d5b2e(0xf3)?_0x2d5b2e(0x98):_0x957ca5,_0x44aad5=_0xe7649d?k[_0x2d5b2e(0xd5)](_0xe7649d)||'hub':'hub',_0x4e4960=await P(_0x2d5b2e(0xcd),{'alias':_0x44aad5,'text':_0x5ddd20,'in_reply_to':_0xe7649d||void 0x0,'status':_0x17dece,'from_session':Z});if(_0xe7649d)k[_0x2d5b2e(0xf1)](_0xe7649d);return{'content':[{'type':_0x2d5b2e(0x88),'text':JSON[_0x2d5b2e(0xed)](_0x4e4960)}]};}let _0x9c47ed=await P(_0x2d5b2e(0x83),{'resume_id':w,'alias':Z,'status':_0x957ca5==='blocked'?_0x2d5b2e(0x95):_0x957ca5==='error'?'error':_0x2d5b2e(0xc3),'task':_0x5ddd20['slice'](0x0,0xc8),'output':_0x5ddd20});return{'content':[{'type':_0x2d5b2e(0x88),'text':JSON[_0x2d5b2e(0xed)](_0x9c47ed)}]};}if(_0x15d30a===_0x2d5b2e(0x10b)){let {status:_0x4042c6,task:_0x45f74f,progress:_0x327717}=_0x29bdb2,_0x53a892=await P(_0x2d5b2e(0x83),{'resume_id':w,'alias':Z,'status':_0x4042c6,'task':_0x45f74f,'progress':_0x327717});return{'content':[{'type':_0x2d5b2e(0x88),'text':JSON[_0x2d5b2e(0xed)](_0x53a892)}]};}if(_0x15d30a===_0x2d5b2e(0x109)){let {alias:_0x22a370,task:_0x85adbe,priority:_0x34668e}=_0x29bdb2,_0x552eaa=await P(_0x2d5b2e(0x86),{'alias':_0x22a370,'task':_0x85adbe,'priority':_0x34668e||'normal','from_session':Z});return{'content':[{'type':'text','text':JSON[_0x2d5b2e(0xed)](_0x552eaa)}]};}if(_0x15d30a===_0x2d5b2e(0xfa)){let {alias:_0x2dc885,message:_0x2aff0b}=_0x29bdb2,_0x2e6b41=await P(_0x2d5b2e(0xa8),{'alias':_0x2dc885,'message':_0x2aff0b,'from_session':Z});return{'content':[{'type':_0x2d5b2e(0x88),'text':JSON['stringify'](_0x2e6b41)}]};}if(_0x15d30a==='commhub_get_all_status'){let _0x1aa766=await P(_0x2d5b2e(0xb7),{});return{'content':[{'type':'text','text':JSON[_0x2d5b2e(0xed)](_0x1aa766)}]};}return{'content':[{'type':_0x2d5b2e(0x88),'text':JSON['stringify']({'error':'unknown\x20tool'})}]};});async function u(){const _0x5937e9=a0_0xf2a61b;let _0x18605c=f+_0x5937e9(0xce)+encodeURIComponent(Z),_0x92584e={};if(X)_0x92584e[_0x5937e9(0xb2)]='Bearer\x20'+X;Y(_0x5937e9(0xd4)+_0x18605c);while(!0x0){try{let _0x1c0bc6=await fetch(_0x18605c,{'headers':_0x92584e});if(!_0x1c0bc6['ok']){Y(_0x5937e9(0xcb)+_0x1c0bc6[_0x5937e9(0xda)]+'\x20'+_0x1c0bc6[_0x5937e9(0x8c)]),await h(0x1388);continue;}let _0xa4fa06=_0x1c0bc6['body']['getReader'](),_0x4c7f40=new TextDecoder(),_0x4d1479='';while(!0x0){let {done:_0xdb70,value:_0x9d6ffd}=await _0xa4fa06[_0x5937e9(0xd8)]();if(_0xdb70)break;_0x4d1479+=_0x4c7f40[_0x5937e9(0x9e)](_0x9d6ffd,{'stream':!0x0});let _0x38a975=_0x4d1479[_0x5937e9(0xc0)]('\x0a\x0a');_0x4d1479=_0x38a975[_0x5937e9(0xfe)]()||'';for(let _0x3f2214 of _0x38a975){let _0x498c73=_0x3f2214[_0x5937e9(0xc0)]('\x0a')[_0x5937e9(0xbf)](_0x3f6e67=>_0x3f6e67['startsWith'](_0x5937e9(0x101)));if(!_0x498c73)continue;try{let _0xebf9c=JSON[_0x5937e9(0x9d)](_0x498c73[_0x5937e9(0xa0)](0x6));await S(_0xebf9c);}catch(_0x32f649){Y(_0x5937e9(0xcc)+_0x32f649);}}}Y(_0x5937e9(0xe9));}catch(_0x3e2060){Y(_0x5937e9(0xc5)+_0x3e2060);}await h(0xbb8);}}async function S(_0x13e988){const _0x468550=a0_0xf2a61b;if(_0x13e988[_0x468550(0xae)]==='connected'){Y(_0x468550(0xe7)+Z+'\x22');return;}if(_0x13e988[_0x468550(0xae)]===_0x468550(0xc1)){if(Y(_0x468550(0x90)+_0x13e988[_0x468550(0xc4)]+':\x20'+_0x13e988[_0x468550(0xfd)][_0x468550(0xa0)](0x0,0x3c)),await K['notification']({'method':_0x468550(0x9f),'params':{'content':_0x13e988[_0x468550(0xfd)],'meta':{'sender':_0x13e988[_0x468550(0xc4)]||_0x468550(0xd7),'sender_id':_0x468550(0xa7),'user':_0x13e988['from']||_0x468550(0xd7),'priority':'normal'}}}),_0x13e988[_0x468550(0xa1)])await P(_0x468550(0xfc),{'alias':Z,'message_id':_0x13e988[_0x468550(0xa1)]});return;}if(_0x13e988[_0x468550(0xae)]===_0x468550(0xf6)||_0x13e988['type']===_0x468550(0xba)){Y('←\x20'+_0x13e988[_0x468550(0xae)]+_0x468550(0xe5)+_0x13e988[_0x468550(0xa6)]+'\x20priority='+(_0x13e988[_0x468550(0x93)]||_0x468550(0xf7)));let _0x8b79ab=await P(_0x468550(0xca),{'alias':Z,'limit':0x5});if(_0x8b79ab?.['ok']&&_0x8b79ab[_0x468550(0xdf)]?.[_0x468550(0x8e)]>0x0)for(let _0x456e22 of _0x8b79ab['messages']){let _0x43259a={'sender':_0x456e22[_0x468550(0xa4)]||'hub','sender_id':'commhub','user':_0x456e22[_0x468550(0xa4)]||'hub','task_id':_0x456e22['id'],'priority':_0x456e22[_0x468550(0x93)]||'normal'};k[_0x468550(0x106)](_0x456e22['id'],_0x456e22[_0x468550(0xa4)]||_0x468550(0xd7)),await K['notification']({'method':_0x468550(0x9f),'params':{'content':_0x456e22[_0x468550(0x9c)],'meta':_0x43259a}}),Y(_0x468550(0xf8)+_0x456e22['id']['slice'](0x0,0x8)+_0x468550(0x81)+_0x456e22[_0x468550(0xa4)]+':\x20'+_0x456e22[_0x468550(0x9c)][_0x468550(0xa0)](0x0,0x3c)),await P(_0x468550(0xfc),{'alias':Z,'message_id':_0x456e22['id']});}}}async function A(){const _0x116be9=a0_0xf2a61b;let _0x15d933=new a0_0x482dd5();await K[_0x116be9(0x8d)](_0x15d933),Y(_0x116be9(0xc9)),Y(_0x116be9(0x89)),u()[_0x116be9(0x102)](_0x3e7607=>Y(_0x116be9(0xf4)+_0x3e7607)),P(_0x116be9(0x83),{'resume_id':w,'alias':Z,'status':'idle','server':a0_0x30754c(),'hostname':a0_0x30754c(),'agent':'claude-code','project_dir':process[_0x116be9(0xa3)](),'tmux_name':j||void 0x0})[_0x116be9(0x9a)](()=>Y(_0x116be9(0xab)+Z+'\x22\x20('+w['slice'](0x0,0x8)+')'))[_0x116be9(0x102)](_0x467d42=>Y(_0x116be9(0xe8)+_0x467d42)),setInterval(()=>{const _0x3d7e4d=_0x116be9;P(_0x3d7e4d(0x83),{'resume_id':w,'alias':Z,'status':_0x3d7e4d(0xb4),'server':a0_0x30754c(),'hostname':a0_0x30754c(),'agent':_0x3d7e4d(0xaa),'project_dir':process[_0x3d7e4d(0xa3)](),'tmux_name':j||void 0x0})[_0x3d7e4d(0x102)](_0x32ff05=>Y('heartbeat\x20failed:\x20'+_0x32ff05));},0x2bf20),Y(_0x116be9(0xee));}A()[a0_0xf2a61b(0x102)](_0x33dbc9=>{const _0x3deed6=a0_0xf2a61b;Y(_0x3deed6(0xde)+_0x33dbc9),process[_0x3deed6(0x104)](0x1);});async function N(){const _0x1d9fa0=a0_0xf2a61b;Y('shutting\x20down,\x20reporting\x20offline...'),await P('report_status',{'resume_id':w,'alias':Z,'status':'error','task':'session\x20disconnected'})[_0x1d9fa0(0x102)](()=>{}),process[_0x1d9fa0(0x104)](0x0);}process[a0_0xf2a61b(0xdc)]['on'](a0_0xf2a61b(0xc2),()=>N()),process['on'](a0_0xf2a61b(0xb5),()=>N()),process['on'](a0_0xf2a61b(0x87),()=>N());
|
|
2
|
+
const a0_0x488107=a0_0x1b28;(function(_0x2141f9,_0x2047ca){const _0x4d9d48=a0_0x1b28,_0x292382=_0x2141f9();while(!![]){try{const _0xfcc46d=parseInt(_0x4d9d48(0x192))/0x1+-parseInt(_0x4d9d48(0x1db))/0x2+parseInt(_0x4d9d48(0x1d9))/0x3*(parseInt(_0x4d9d48(0x1cd))/0x4)+-parseInt(_0x4d9d48(0x1d7))/0x5+parseInt(_0x4d9d48(0x1f9))/0x6+-parseInt(_0x4d9d48(0x1cb))/0x7+parseInt(_0x4d9d48(0x180))/0x8*(parseInt(_0x4d9d48(0x166))/0x9);if(_0xfcc46d===_0x2047ca)break;else _0x292382['push'](_0x292382['shift']());}catch(_0x5635f7){_0x292382['push'](_0x292382['shift']());}}}(a0_0x5646,0x8c6ab));import{readFileSync as a0_0x38f8b4,existsSync as a0_0x487711}from'fs';import{randomUUID as a0_0x17183f}from'crypto';import{join as a0_0x2ed131}from'path';import{hostname as a0_0x520c53}from'os';import{execSync as a0_0x1cb513}from'child_process';import{Server as a0_0x43a47b}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x2a6030}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x545567,CallToolRequestSchema as a0_0x529b1d}from'@modelcontextprotocol/sdk/types.js';function p(_0x50cdb6){const _0x25de38=a0_0x1b28;if(!a0_0x487711(_0x50cdb6))return;for(let _0x543c23 of a0_0x38f8b4(_0x50cdb6,_0x25de38(0x16c))[_0x25de38(0x1f7)]('\x0a')){let _0x6aa53f=_0x543c23[_0x25de38(0x1d2)]();if(!_0x6aa53f||_0x6aa53f['startsWith']('#'))continue;let _0x599134=_0x6aa53f[_0x25de38(0x1f4)]('=');if(_0x599134<0x0)continue;let _0x5c3a2e=_0x6aa53f['slice'](0x0,_0x599134)[_0x25de38(0x1d2)](),_0x48624f=_0x6aa53f[_0x25de38(0x16a)](_0x599134+0x1)[_0x25de38(0x1d2)]()[_0x25de38(0x1e0)](/^["']|["']$/g,'');if(!process.env[_0x5c3a2e])process.env[_0x5c3a2e]=_0x48624f;}}var C=process.env.HOME||'~',T=a0_0x2ed131(C,a0_0x488107(0x1b4));p(a0_0x2ed131(T,'.env'));var L=process[a0_0x488107(0x1b1)]()[a0_0x488107(0x1e0)](/\//g,'-');function a0_0x5646(){const _0x3ba47c=['task','ENV:\x20URL=','config.json','7845054arineB','find','12PmAvVj','commhub','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','\x20PROJECT_ENV=','catch','trim','application/json,\x20text/event-stream','number','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','object','1513715VPMXCf','content','663045AGsWtr','params','1341308cjzkbC','decode','tools/call','SSE\x20connection\x20error:\x20','startsWith','replace','statusText','send_reply','POST','ack_inbox','toTimeString','completed','normal','priority','ready\x20—\x20waiting\x20for\x20events','from','working','hub','shutting\x20down,\x20reporting\x20offline...','Message\x20content','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','result','\x20RESUME_ID=','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','indexOf','connected','/mcp','split','alias','6060390dYJZNd','error','SSE\x20error:\x20','delete','9vAFoRX','warning:\x20could\x20not\x20register:\x20','notification','data:\x20','slice','then','utf-8','high','idle','in_progress','Bearer\x20','getReader','stringify','0.3.0','parse\x20error:\x20','connect','SIGTERM','commhub_get_all_status','\x20priority=','Progress\x200-100','.env','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','get_inbox','commhub_report_status','SSE\x20stream\x20ended,\x20reconnecting...','get','5805944DakMZK','inbox_count','application/json','.anet','none','commhub_send_message',':\x20inbox_count=','new_task','Priority\x20(default:\x20normal)','\x20ALIAS=','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','no\x20response','message_id','Current\x20task\x20description','type','\x20from\x20','starting\x20SSE\x20listener...','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','270413XuuwSt','status','setRequestHandler','get_all_status','Authorization','claude-code','messages','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','join','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','CommHub\x20init\x20failed:\x20','MCP\x20stdio\x20connected','report_status','blocked','new_message',']\x20[commhub]\x20','Target\x20session\x20alias','read','heartbeat\x20failed:\x20','notifications/claude/channel','exit','Session\x20alias:\x20','\x20CWD=','send_message','2.0','write','token','end','send_task','parse','text','cwd','registered\x20as\x20\x22','from_session','.claude/channels/commhub','commhub-channel','replied','cancelled','...\x20TMUX=','failed','tmux\x20display-message\x20-p\x20\x27#S\x27','unknown\x20tool','initialize','string','message','Task\x20content','/events/','commhub_send_task','length','→\x20injected\x20task\x20','init\x20failed:\x20','SSE\x20fatal:\x20','2025-03-26','commhub_reply'];a0_0x5646=function(){return _0x3ba47c;};return a0_0x5646();}p(a0_0x2ed131(T,L,a0_0x488107(0x17a)));function U(){const _0x45682b=a0_0x488107;try{return a0_0x1cb513(_0x45682b(0x1ba),{'encoding':'utf-8','timeout':0x7d0})[_0x45682b(0x1d2)]();}catch{return'';}}function v(){const _0x2e4f83=a0_0x488107;try{let _0x169383=a0_0x2ed131(C,_0x2e4f83(0x183),_0x2e4f83(0x1ca));if(a0_0x487711(_0x169383))return JSON[_0x2e4f83(0x1af)](a0_0x38f8b4(_0x169383,_0x2e4f83(0x16c)));}catch{}return{};}var H=v(),f=process.env.COMMHUB_URL||H[a0_0x488107(0x1ec)]||'http://127.0.0.1:9200',j=process.env.COMMHUB_TMUX||U(),Z=process.env.COMMHUB_ALIAS||j||a0_0x520c53(),w=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x17183f(),X=process.env.COMMHUB_TOKEN||H[a0_0x488107(0x1ac)]||'';function Y(_0x24dc37){const _0x3830e5=a0_0x488107;let _0x5301b7=new Date()[_0x3830e5(0x1e5)]()[_0x3830e5(0x16a)](0x0,0x8);process['stderr'][_0x3830e5(0x1ab)]('['+_0x5301b7+_0x3830e5(0x1a1)+_0x24dc37+'\x0a');}function h(_0x257aa7){return new Promise(_0x4786db=>setTimeout(_0x4786db,_0x257aa7));}Y(a0_0x488107(0x1c9)+f+a0_0x488107(0x189)+Z+a0_0x488107(0x1f1)+w[a0_0x488107(0x16a)](0x0,0x8)+a0_0x488107(0x1b8)+(j||a0_0x488107(0x184))+a0_0x488107(0x1a8)+process['cwd']()+a0_0x488107(0x1d0)+L);var k=new Map(),K=new a0_0x43a47b({'name':a0_0x488107(0x1b5),'version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x488107(0x18a),a0_0x488107(0x1f3),a0_0x488107(0x1d5),a0_0x488107(0x19b),a0_0x488107(0x1a7)+Z][a0_0x488107(0x19a)]('\x0a')});K[a0_0x488107(0x194)](a0_0x545567,async()=>({'tools':[{'name':a0_0x488107(0x1c7),'description':a0_0x488107(0x1ef),'inputSchema':{'type':a0_0x488107(0x1d6),'properties':{'task_id':{'type':a0_0x488107(0x1bd),'description':a0_0x488107(0x17b)},'text':{'type':a0_0x488107(0x1bd),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x488107(0x1bd),'enum':[a0_0x488107(0x1e6),a0_0x488107(0x1b9),a0_0x488107(0x1b7),a0_0x488107(0x19f),a0_0x488107(0x1fa),a0_0x488107(0x16f)],'description':a0_0x488107(0x1f2)}},'required':[a0_0x488107(0x1b0)]}},{'name':'commhub_report_status','description':a0_0x488107(0x199),'inputSchema':{'type':'object','properties':{'status':{'type':'string','enum':[a0_0x488107(0x1eb),'idle',a0_0x488107(0x19f),'error']},'task':{'type':a0_0x488107(0x1bd),'description':a0_0x488107(0x18d)},'progress':{'type':a0_0x488107(0x1d4),'description':a0_0x488107(0x179)}},'required':[a0_0x488107(0x193)]}},{'name':'commhub_send_task','description':a0_0x488107(0x1cf),'inputSchema':{'type':a0_0x488107(0x1d6),'properties':{'alias':{'type':a0_0x488107(0x1bd),'description':a0_0x488107(0x1a2)},'task':{'type':'string','description':a0_0x488107(0x1bf)},'priority':{'type':a0_0x488107(0x1bd),'enum':[a0_0x488107(0x16d),a0_0x488107(0x1e7),'low'],'description':a0_0x488107(0x188)}},'required':['alias',a0_0x488107(0x1c8)]}},{'name':a0_0x488107(0x185),'description':a0_0x488107(0x191),'inputSchema':{'type':a0_0x488107(0x1d6),'properties':{'alias':{'type':a0_0x488107(0x1bd),'description':a0_0x488107(0x1a2)},'message':{'type':a0_0x488107(0x1bd),'description':a0_0x488107(0x1ee)}},'required':[a0_0x488107(0x1f8),a0_0x488107(0x1be)]}},{'name':a0_0x488107(0x177),'description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':a0_0x488107(0x1d6),'properties':{}}}]}));async function P(_0x33ac15,_0x4bb4cf){const _0x241248=a0_0x488107;let _0x16508c=await fetch(f+_0x241248(0x1f6),{'method':_0x241248(0x1e3),'headers':{'Content-Type':_0x241248(0x182),'Accept':_0x241248(0x1d3),...X?{'Authorization':_0x241248(0x170)+X}:{}},'body':JSON[_0x241248(0x172)]({'jsonrpc':_0x241248(0x1aa),'id':0x1,'method':_0x241248(0x1bc),'params':{'protocolVersion':_0x241248(0x1c6),'capabilities':{},'clientInfo':{'name':_0x241248(0x1b5),'version':_0x241248(0x173)}}})});if(!_0x16508c['ok']){let _0x2b9a8f=await _0x16508c[_0x241248(0x1b0)]();return Y(_0x241248(0x19c)+_0x16508c[_0x241248(0x193)]+'\x20'+_0x2b9a8f['slice'](0x0,0x64)),{'ok':!0x1,'error':_0x241248(0x1c4)+_0x16508c[_0x241248(0x193)]};}await _0x16508c['text']();let _0x5044b2=(await(await fetch(f+'/mcp',{'method':_0x241248(0x1e3),'headers':{'Content-Type':_0x241248(0x182),'Accept':_0x241248(0x1d3),...X?{'Authorization':_0x241248(0x170)+X}:{}},'body':JSON[_0x241248(0x172)]({'jsonrpc':_0x241248(0x1aa),'id':0x2,'method':_0x241248(0x1dd),'params':{'name':_0x33ac15,'arguments':_0x4bb4cf}})}))['text']())[_0x241248(0x1f7)]('\x0a')[_0x241248(0x1cc)](_0x28db4e=>_0x28db4e['startsWith']('data:\x20'));if(_0x5044b2){let _0x3702f3=JSON[_0x241248(0x1af)](_0x5044b2[_0x241248(0x16a)](0x6));return _0x3702f3?.['result']?.[_0x241248(0x1d8)]?.[0x0]?.['text']?JSON[_0x241248(0x1af)](_0x3702f3[_0x241248(0x1f0)][_0x241248(0x1d8)][0x0][_0x241248(0x1b0)]):_0x3702f3;}return{'ok':!0x1,'error':_0x241248(0x18b)};}function a0_0x1b28(_0x5a0c58,_0x464c11){_0x5a0c58=_0x5a0c58-0x166;const _0x5646f4=a0_0x5646();let _0x1b2896=_0x5646f4[_0x5a0c58];return _0x1b2896;}K['setRequestHandler'](a0_0x529b1d,async _0x47550b=>{const _0x71fa8=a0_0x488107;let {name:_0x1b4af5,arguments:_0x2a4d57}=_0x47550b[_0x71fa8(0x1da)];if(_0x1b4af5===_0x71fa8(0x1c7)){let {task_id:_0xaf2ca4,text:_0x362601,status:_0x41a5fc}=_0x2a4d57;if(_0x41a5fc===_0x71fa8(0x1e6)||_0x41a5fc===_0x71fa8(0x1b9)||_0x41a5fc===_0x71fa8(0x1b7)){let _0x5353a1=_0x41a5fc==='completed'?_0x71fa8(0x1b6):_0x41a5fc,_0x1fef19=_0xaf2ca4?k[_0x71fa8(0x17f)](_0xaf2ca4)||_0x71fa8(0x1ec):'hub',_0x560102=await P(_0x71fa8(0x1e2),{'alias':_0x1fef19,'text':_0x362601,'in_reply_to':_0xaf2ca4||void 0x0,'status':_0x5353a1,'from_session':Z});if(_0xaf2ca4)k[_0x71fa8(0x1fc)](_0xaf2ca4);return{'content':[{'type':_0x71fa8(0x1b0),'text':JSON['stringify'](_0x560102)}]};}let _0x2a165d=await P(_0x71fa8(0x19e),{'resume_id':w,'alias':Z,'status':_0x41a5fc===_0x71fa8(0x19f)?_0x71fa8(0x19f):_0x41a5fc===_0x71fa8(0x1fa)?_0x71fa8(0x1fa):_0x71fa8(0x1eb),'task':_0x362601[_0x71fa8(0x16a)](0x0,0xc8),'output':_0x362601});return{'content':[{'type':'text','text':JSON[_0x71fa8(0x172)](_0x2a165d)}]};}if(_0x1b4af5===_0x71fa8(0x17d)){let {status:_0x1aebe9,task:_0x43ce67,progress:_0x38f390}=_0x2a4d57,_0x37ecc5=await P('report_status',{'resume_id':w,'alias':Z,'status':_0x1aebe9,'task':_0x43ce67,'progress':_0x38f390});return{'content':[{'type':'text','text':JSON['stringify'](_0x37ecc5)}]};}if(_0x1b4af5===_0x71fa8(0x1c1)){let {alias:_0x72faf,task:_0x479f3e,priority:_0x357ad2}=_0x2a4d57,_0x4c7629=await P(_0x71fa8(0x1ae),{'alias':_0x72faf,'task':_0x479f3e,'priority':_0x357ad2||'normal','from_session':Z});return{'content':[{'type':_0x71fa8(0x1b0),'text':JSON['stringify'](_0x4c7629)}]};}if(_0x1b4af5==='commhub_send_message'){let {alias:_0x48d424,message:_0x58b7ed}=_0x2a4d57,_0xf4fda8=await P(_0x71fa8(0x1a9),{'alias':_0x48d424,'message':_0x58b7ed,'from_session':Z});return{'content':[{'type':_0x71fa8(0x1b0),'text':JSON['stringify'](_0xf4fda8)}]};}if(_0x1b4af5==='commhub_get_all_status'){let _0x447fc6=await P(_0x71fa8(0x195),{});return{'content':[{'type':_0x71fa8(0x1b0),'text':JSON[_0x71fa8(0x172)](_0x447fc6)}]};}return{'content':[{'type':_0x71fa8(0x1b0),'text':JSON['stringify']({'error':_0x71fa8(0x1bb)})}]};});async function u(){const _0x3e2ae8=a0_0x488107;let _0xc5b10c=f+_0x3e2ae8(0x1c0)+encodeURIComponent(Z),_0xa94ada={};if(X)_0xa94ada[_0x3e2ae8(0x196)]=_0x3e2ae8(0x170)+X;Y('connecting\x20to\x20'+_0xc5b10c);while(!0x0){try{let _0x248234=await fetch(_0xc5b10c,{'headers':_0xa94ada});if(!_0x248234['ok']){Y(_0x3e2ae8(0x1fb)+_0x248234[_0x3e2ae8(0x193)]+'\x20'+_0x248234[_0x3e2ae8(0x1e1)]),await h(0x1388);continue;}let _0x42801e=_0x248234['body'][_0x3e2ae8(0x171)](),_0x3a40f2=new TextDecoder(),_0x34c1c8='';while(!0x0){let {done:_0x4e8520,value:_0x3d807e}=await _0x42801e[_0x3e2ae8(0x1a3)]();if(_0x4e8520)break;_0x34c1c8+=_0x3a40f2[_0x3e2ae8(0x1dc)](_0x3d807e,{'stream':!0x0});let _0x192d9e=_0x34c1c8[_0x3e2ae8(0x1f7)]('\x0a\x0a');_0x34c1c8=_0x192d9e['pop']()||'';for(let _0x779d27 of _0x192d9e){let _0x48e1d8=_0x779d27['split']('\x0a')[_0x3e2ae8(0x1cc)](_0x242737=>_0x242737[_0x3e2ae8(0x1df)](_0x3e2ae8(0x169)));if(!_0x48e1d8)continue;try{let _0x56cb73=JSON[_0x3e2ae8(0x1af)](_0x48e1d8[_0x3e2ae8(0x16a)](0x6));await S(_0x56cb73);}catch(_0x495ac9){Y(_0x3e2ae8(0x174)+_0x495ac9);}}}Y(_0x3e2ae8(0x17e));}catch(_0x4ea7f9){Y(_0x3e2ae8(0x1de)+_0x4ea7f9);}await h(0xbb8);}}async function S(_0x4f8dc7){const _0x259e54=a0_0x488107;if(_0x4f8dc7[_0x259e54(0x18e)]===_0x259e54(0x1f5)){Y('SSE\x20connected\x20as\x20\x22'+Z+'\x22');return;}if(_0x4f8dc7[_0x259e54(0x18e)]===_0x259e54(0x1a0)){if(Y('←\x20message\x20from\x20'+_0x4f8dc7[_0x259e54(0x1ea)]+':\x20'+_0x4f8dc7[_0x259e54(0x1be)][_0x259e54(0x16a)](0x0,0x3c)),await K[_0x259e54(0x168)]({'method':'notifications/claude/channel','params':{'content':_0x4f8dc7['message'],'meta':{'sender':_0x4f8dc7[_0x259e54(0x1ea)]||'hub','sender_id':_0x259e54(0x1ce),'user':_0x4f8dc7[_0x259e54(0x1ea)]||_0x259e54(0x1ec),'priority':_0x259e54(0x1e7)}}}),_0x4f8dc7[_0x259e54(0x18c)])await P(_0x259e54(0x1e4),{'alias':Z,'message_id':_0x4f8dc7[_0x259e54(0x18c)]});return;}if(_0x4f8dc7[_0x259e54(0x18e)]===_0x259e54(0x187)||_0x4f8dc7[_0x259e54(0x18e)]==='broadcast'){Y('←\x20'+_0x4f8dc7['type']+_0x259e54(0x186)+_0x4f8dc7[_0x259e54(0x181)]+_0x259e54(0x178)+(_0x4f8dc7['priority']||_0x259e54(0x1e7)));let _0x1793ff=await P(_0x259e54(0x17c),{'alias':Z,'limit':0x5});if(_0x1793ff?.['ok']&&_0x1793ff['messages']?.[_0x259e54(0x1c2)]>0x0)for(let _0x15ee4c of _0x1793ff[_0x259e54(0x198)]){let _0x4db02e={'sender':_0x15ee4c[_0x259e54(0x1b3)]||'hub','sender_id':_0x259e54(0x1ce),'user':_0x15ee4c[_0x259e54(0x1b3)]||_0x259e54(0x1ec),'task_id':_0x15ee4c['id'],'priority':_0x15ee4c[_0x259e54(0x1e8)]||_0x259e54(0x1e7)};k['set'](_0x15ee4c['id'],_0x15ee4c[_0x259e54(0x1b3)]||_0x259e54(0x1ec)),await K['notification']({'method':_0x259e54(0x1a5),'params':{'content':_0x15ee4c[_0x259e54(0x1d8)],'meta':_0x4db02e}}),Y(_0x259e54(0x1c3)+_0x15ee4c['id'][_0x259e54(0x16a)](0x0,0x8)+_0x259e54(0x18f)+_0x15ee4c[_0x259e54(0x1b3)]+':\x20'+_0x15ee4c['content'][_0x259e54(0x16a)](0x0,0x3c)),await P(_0x259e54(0x1e4),{'alias':Z,'message_id':_0x15ee4c['id']});}}}async function A(){const _0x32750c=a0_0x488107;let _0x5871f1=new a0_0x2a6030();await K[_0x32750c(0x175)](_0x5871f1),Y(_0x32750c(0x19d)),Y(_0x32750c(0x190)),u()[_0x32750c(0x1d1)](_0x1a7bbc=>Y(_0x32750c(0x1c5)+_0x1a7bbc)),P('report_status',{'resume_id':w,'alias':Z,'status':_0x32750c(0x16e),'server':a0_0x520c53(),'hostname':a0_0x520c53(),'agent':_0x32750c(0x197),'project_dir':process[_0x32750c(0x1b1)](),'tmux_name':j||void 0x0})[_0x32750c(0x16b)](()=>Y(_0x32750c(0x1b2)+Z+'\x22\x20('+w[_0x32750c(0x16a)](0x0,0x8)+')'))[_0x32750c(0x1d1)](_0x1e2592=>Y(_0x32750c(0x167)+_0x1e2592)),setInterval(()=>{const _0x54f02e=_0x32750c;P(_0x54f02e(0x19e),{'resume_id':w,'alias':Z,'status':_0x54f02e(0x16e),'server':a0_0x520c53(),'hostname':a0_0x520c53(),'agent':'claude-code','project_dir':process[_0x54f02e(0x1b1)](),'tmux_name':j||void 0x0})['catch'](_0x5ecb25=>Y(_0x54f02e(0x1a4)+_0x5ecb25));},0x2bf20),Y(_0x32750c(0x1e9));}A()[a0_0x488107(0x1d1)](_0x377c0c=>{const _0x222a59=a0_0x488107;Y('fatal:\x20'+_0x377c0c),process[_0x222a59(0x1a6)](0x1);});async function N(){const _0x4b3706=a0_0x488107;Y(_0x4b3706(0x1ed)),await P(_0x4b3706(0x19e),{'resume_id':w,'alias':Z,'status':_0x4b3706(0x1fa),'task':'session\x20disconnected'})[_0x4b3706(0x1d1)](()=>{}),process[_0x4b3706(0x1a6)](0x0);}process['stdin']['on'](a0_0x488107(0x1ad),()=>N()),process['on'](a0_0x488107(0x176),()=>N()),process['on']('SIGINT',()=>N());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.5-preview.0",
|
|
4
4
|
"description": "AI Agent Network CLI — 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",
|