@sleep2agi/agent-network 2.2.11-preview.2 → 2.2.11
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_0x7e0075=a0_0x2f45;(function(_0x1b4bff,_0x3f74f2){const _0x4da87d=a0_0x2f45,_0x4081cb=_0x1b4bff();while(!![]){try{const _0x3019c3=parseInt(_0x4da87d(0x1ea))/0x1+-parseInt(_0x4da87d(0x1c0))/0x2*(-parseInt(_0x4da87d(0x1d1))/0x3)+parseInt(_0x4da87d(0x1fb))/0x4*(-parseInt(_0x4da87d(0x205))/0x5)+-parseInt(_0x4da87d(0x1e9))/0x6+-parseInt(_0x4da87d(0x204))/0x7*(parseInt(_0x4da87d(0x200))/0x8)+parseInt(_0x4da87d(0x211))/0x9*(parseInt(_0x4da87d(0x212))/0xa)+parseInt(_0x4da87d(0x20d))/0xb;if(_0x3019c3===_0x3f74f2)break;else _0x4081cb['push'](_0x4081cb['shift']());}catch(_0xd19936){_0x4081cb['push'](_0x4081cb['shift']());}}}(a0_0x525c,0x3b8e6));function a0_0x525c(){const _0x424242=['from_session','Authorization','new_message','disconnected','log','replace','5010896MTcaHc',']\x20[commhub:','token','heartbeat\x20failed:\x20','9171qXWIcu','3000HWoFuA','sdk-','registered','running','getReader','resumeId','972626udEFnv','get_inbox','idle','reconnectDelay','result','call','agent','text/event-stream','abort','inbox\x20error:\x20','get_all_status','ack_inbox','body','broadcast','now','SSE\x20connected','completed','3TscwDN','cwd','Bearer\x20','s...','report_status','new_task','read','alias','reply','tools/call','url','toTimeString','type','SSE\x20reconnecting\x20in\x20','sdk','connected','emit','message','parse','offline','POST','slice','decode','send','2372112LPixdm','13662pmuiJr','processInbox','send_task','toString','sseAbort','AbortError','data:\x20','server','normal','messages','disconnect','content','startsWith','autoConnect','catch','signal','heartbeatInterval','40372WCGJql','connectSSE','split','status','text','2553016mVHvGe','heartbeatTimer','min','/mcp','7gYInSp','150CeKsCL','task'];a0_0x525c=function(){return _0x424242;};return a0_0x525c();}import{EventEmitter as a0_0x37357a}from'events';import{hostname as a0_0x3f819c}from'os';class T extends a0_0x37357a{[a0_0x7e0075(0x1db)];[a0_0x7e0075(0x1d8)];[a0_0x7e0075(0x20f)];[a0_0x7e0075(0x1c6)];['resumeId'];[a0_0x7e0075(0x1fa)];['reconnectDelay'];[a0_0x7e0075(0x201)];[a0_0x7e0075(0x1ee)];['running']=!0x1;constructor(_0x1d9f58){const _0x230fa3=a0_0x7e0075;super();if(this[_0x230fa3(0x1db)]=_0x1d9f58[_0x230fa3(0x1db)][_0x230fa3(0x20c)](/\/$/,''),this[_0x230fa3(0x1d8)]=_0x1d9f58[_0x230fa3(0x1d8)],this['token']=_0x1d9f58[_0x230fa3(0x20f)],this[_0x230fa3(0x1c6)]=_0x1d9f58[_0x230fa3(0x1c6)]||_0x230fa3(0x1df),this['resumeId']=_0x230fa3(0x213)+_0x1d9f58['alias']+'-'+Date[_0x230fa3(0x1ce)]()[_0x230fa3(0x1ed)](0x24),this['heartbeatInterval']=_0x1d9f58[_0x230fa3(0x1fa)]??0x2bf20,this[_0x230fa3(0x1c3)]=_0x1d9f58[_0x230fa3(0x1c3)]??0xbb8,_0x1d9f58[_0x230fa3(0x1f7)]!==!0x1)this['connect']();}[a0_0x7e0075(0x20b)](_0x154494){const _0x4238a6=a0_0x7e0075;console[_0x4238a6(0x20b)]('['+new Date()[_0x4238a6(0x1dc)]()['slice'](0x0,0x8)+_0x4238a6(0x20e)+this['alias']+']\x20'+_0x154494);}async[a0_0x7e0075(0x1c5)](_0x36f890,_0x52eec3){const _0xfd6f72=a0_0x7e0075;let _0x443c51={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream'};if(this[_0xfd6f72(0x20f)])_0x443c51[_0xfd6f72(0x208)]=_0xfd6f72(0x1d3)+this[_0xfd6f72(0x20f)];let _0xe88ffe=await(await fetch(this[_0xfd6f72(0x1db)]+_0xfd6f72(0x203),{'method':_0xfd6f72(0x1e5),'headers':_0x443c51,'body':JSON['stringify']({'jsonrpc':'2.0','id':Date[_0xfd6f72(0x1ce)](),'method':_0xfd6f72(0x1da),'params':{'name':_0x36f890,'arguments':_0x52eec3}})}))[_0xfd6f72(0x1ff)](),_0x559e5a=_0xe88ffe['match'](/data: (.+)/),_0x34c422=_0x559e5a?JSON[_0xfd6f72(0x1e3)](_0x559e5a[0x1]):JSON['parse'](_0xe88ffe),_0x462764=_0x34c422?.[_0xfd6f72(0x1c4)]?.[_0xfd6f72(0x1f5)]?.[0x0]?.[_0xfd6f72(0x1ff)];return _0x462764?JSON[_0xfd6f72(0x1e3)](_0x462764):_0x34c422;}async['connect'](){const _0x162f5a=a0_0x7e0075;if(this[_0x162f5a(0x215)])return;this[_0x162f5a(0x215)]=!0x0,await this[_0x162f5a(0x1fe)](_0x162f5a(0x1c2)),this['log'](_0x162f5a(0x214)),this['heartbeatTimer']=setInterval(()=>{const _0x297ad4=_0x162f5a;this[_0x297ad4(0x1fe)]('idle')[_0x297ad4(0x1f8)](_0x137173=>this[_0x297ad4(0x20b)](_0x297ad4(0x210)+_0x137173['message']));},this[_0x162f5a(0x1fa)]),this[_0x162f5a(0x1fc)]();}async[a0_0x7e0075(0x1f4)](){const _0x42a1a2=a0_0x7e0075;if(this[_0x42a1a2(0x215)]=!0x1,this[_0x42a1a2(0x1ee)]?.[_0x42a1a2(0x1c8)](),this['heartbeatTimer'])clearInterval(this[_0x42a1a2(0x201)]);await this[_0x42a1a2(0x1fe)](_0x42a1a2(0x1e4))['catch'](()=>{}),this['log'](_0x42a1a2(0x20a));}async[a0_0x7e0075(0x1e8)](_0x5546d2,_0xa26747,_0x14ad92=a0_0x7e0075(0x1f2)){const _0x3638f0=a0_0x7e0075;return this[_0x3638f0(0x1c5)](_0x3638f0(0x1ec),{'alias':_0x5546d2,'task':_0xa26747,'priority':_0x14ad92,'from_session':this[_0x3638f0(0x1d8)]});}async[a0_0x7e0075(0x1e2)](_0x1f0c6e,_0x14a3ae){const _0x3abc8c=a0_0x7e0075;return this[_0x3abc8c(0x1c5)]('send_message',{'alias':_0x1f0c6e,'message':_0x14a3ae,'from_session':this[_0x3abc8c(0x1d8)]});}async[a0_0x7e0075(0x1d9)](_0x4e2fbe,_0x9f490c,_0xabd2a5=a0_0x7e0075(0x1d0)){const _0x53c2da=a0_0x7e0075;return this[_0x53c2da(0x1c5)]('send_reply',{'in_reply_to':_0x4e2fbe,'text':_0x9f490c,'status':_0xabd2a5});}async[a0_0x7e0075(0x1fe)](_0x395d9a,_0x28433f){const _0x38744f=a0_0x7e0075;return this[_0x38744f(0x1c5)](_0x38744f(0x1d5),{'resume_id':this[_0x38744f(0x1bf)],'alias':this[_0x38744f(0x1d8)],'status':_0x395d9a,'server':a0_0x3f819c(),'hostname':a0_0x3f819c(),'agent':this[_0x38744f(0x1c6)],'project_dir':process[_0x38744f(0x1d2)](),..._0x28433f});}async['getAllStatus'](){const _0x418ece=a0_0x7e0075;return this[_0x418ece(0x1c5)](_0x418ece(0x1ca),{});}async[a0_0x7e0075(0x1cd)](_0x211eab,_0x2a3258){const _0x1873ca=a0_0x7e0075;return this[_0x1873ca(0x1c5)](_0x1873ca(0x1cd),{'message':_0x211eab,'filter_server':_0x2a3258?.[_0x1873ca(0x1f1)],'filter_status':_0x2a3258?.[_0x1873ca(0x1fe)]});}async[a0_0x7e0075(0x1fc)](){const _0x5bfd41=a0_0x7e0075;let _0xe2983d=encodeURIComponent(this[_0x5bfd41(0x1d8)]),_0x449993=this['url']+'/events/'+_0xe2983d,_0x76be77=this[_0x5bfd41(0x1c3)];while(this[_0x5bfd41(0x215)]){try{this[_0x5bfd41(0x1ee)]=new AbortController();let _0x3954c0={'Accept':_0x5bfd41(0x1c7)};if(this[_0x5bfd41(0x20f)])_0x3954c0['Authorization']='Bearer\x20'+this[_0x5bfd41(0x20f)];let _0x4c6713=await fetch(_0x449993,{'headers':_0x3954c0,'signal':this[_0x5bfd41(0x1ee)][_0x5bfd41(0x1f9)]});if(!_0x4c6713['ok']||!_0x4c6713[_0x5bfd41(0x1cc)]){this[_0x5bfd41(0x20b)]('SSE\x20failed:\x20'+_0x4c6713[_0x5bfd41(0x1fe)]),await this['sleep'](_0x76be77),_0x76be77=Math[_0x5bfd41(0x202)](_0x76be77*1.5,0xea60);continue;}_0x76be77=this[_0x5bfd41(0x1c3)];let _0x2b7fda=_0x4c6713['body'][_0x5bfd41(0x1be)](),_0x3e9cb7=new TextDecoder(),_0x5c58d3='';while(this[_0x5bfd41(0x215)]){let {done:_0xae57d8,value:_0x48d985}=await _0x2b7fda[_0x5bfd41(0x1d7)]();if(_0xae57d8)break;_0x5c58d3+=_0x3e9cb7[_0x5bfd41(0x1e7)](_0x48d985,{'stream':!0x0});let _0x4796a4=_0x5c58d3[_0x5bfd41(0x1fd)]('\x0a');_0x5c58d3=_0x4796a4['pop']()||'';for(let _0x3d80da of _0x4796a4){if(!_0x3d80da[_0x5bfd41(0x1f6)](_0x5bfd41(0x1f0)))continue;try{let _0x56fe98=JSON[_0x5bfd41(0x1e3)](_0x3d80da[_0x5bfd41(0x1e6)](0x6));if(_0x56fe98[_0x5bfd41(0x1dd)]==='connected'){this[_0x5bfd41(0x20b)](_0x5bfd41(0x1cf)),this[_0x5bfd41(0x1e1)](_0x5bfd41(0x1e0));continue;}if(_0x56fe98[_0x5bfd41(0x1dd)]===_0x5bfd41(0x1d6)||_0x56fe98[_0x5bfd41(0x1dd)]===_0x5bfd41(0x209)||_0x56fe98[_0x5bfd41(0x1dd)]===_0x5bfd41(0x1cd))await this[_0x5bfd41(0x1eb)]();}catch{}}}}catch(_0x38e1b6){if(_0x38e1b6['name']===_0x5bfd41(0x1ef))break;this['emit']('error',_0x38e1b6),this[_0x5bfd41(0x20b)]('SSE\x20error:\x20'+_0x38e1b6['message']);}if(this['running'])this[_0x5bfd41(0x1e1)](_0x5bfd41(0x20a)),this[_0x5bfd41(0x20b)](_0x5bfd41(0x1de)+_0x76be77/0x3e8+_0x5bfd41(0x1d4)),await this['sleep'](_0x76be77),_0x76be77=Math[_0x5bfd41(0x202)](_0x76be77*1.5,0xea60);}}async[a0_0x7e0075(0x1eb)](){const _0x109b5c=a0_0x7e0075;try{let _0x4b3335=(await this[_0x109b5c(0x1c5)](_0x109b5c(0x1c1),{'alias':this['alias'],'limit':0xa}))?.[_0x109b5c(0x1f3)]||[];for(let _0x336c62 of _0x4b3335)await this['call'](_0x109b5c(0x1cb),{'alias':this['alias'],'message_id':_0x336c62['id']}),this['log']('←\x20'+_0x336c62[_0x109b5c(0x207)]+':\x20'+_0x336c62['content'][_0x109b5c(0x1e6)](0x0,0x3c)),this['emit'](_0x109b5c(0x206),_0x336c62),this[_0x109b5c(0x1e1)]('message',_0x336c62);}catch(_0x4291e0){this[_0x109b5c(0x20b)](_0x109b5c(0x1c9)+_0x4291e0[_0x109b5c(0x1e2)]);}}['sleep'](_0x37c01e){return new Promise(_0x22b230=>setTimeout(_0x22b230,_0x37c01e));}}function a0_0x2f45(_0x203288,_0x1f66aa){_0x203288=_0x203288-0x1be;const _0x525c5a=a0_0x525c();let _0x2f4526=_0x525c5a[_0x203288];return _0x2f4526;}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_0x4fb80b=a0_0x1914;(function(_0xc862c,_0x444d3b){const _0x1b862e=a0_0x1914,_0x53e58b=_0xc862c();while(!![]){try{const _0x2622d2=-parseInt(_0x1b862e(0x1cc))/0x1*(-parseInt(_0x1b862e(0x1c1))/0x2)+-parseInt(_0x1b862e(0x1f5))/0x3*(parseInt(_0x1b862e(0x1c2))/0x4)+-parseInt(_0x1b862e(0x1f0))/0x5+parseInt(_0x1b862e(0x19e))/0x6*(-parseInt(_0x1b862e(0x177))/0x7)+parseInt(_0x1b862e(0x1b5))/0x8+parseInt(_0x1b862e(0x1a9))/0x9+-parseInt(_0x1b862e(0x163))/0xa;if(_0x2622d2===_0x444d3b)break;else _0x53e58b['push'](_0x53e58b['shift']());}catch(_0x1b84fa){_0x53e58b['push'](_0x53e58b['shift']());}}}(a0_0xca92,0xecbe3));function a0_0x1914(_0x2934e7,_0xd23b12){_0x2934e7=_0x2934e7-0x15c;const _0xca929b=a0_0xca92();let _0x1914c7=_0xca929b[_0x2934e7];return _0x1914c7;}function a0_0xca92(){const _0x2338c4=['working','failed','new_task','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','offline','SSE\x20stream\x20ended,\x20reconnecting...','commhub','SSE\x20connected\x20as\x20\x22',']\x20[commhub]\x20','type','parse\x20error:\x20','stderr','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','utf-8','slice','normal','now','7PPYkUA','commhub_reply','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','content','join','split','Authorization','Target\x20session\x20alias','init\x20failed:\x20','replace','/events/','→\x20injected\x20task\x20','cancelled','statusText','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','broadcast','in_progress','trim','...\x20TMUX=','text','SSE\x20fatal:\x20','2025-03-26','catch','(none)','\x20priority=','inbox_count','ready\x20—\x20waiting\x20for\x20events','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','connecting\x20to\x20','from','initialize','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','completed','read','status','starting\x20SSE\x20listener...','commhub_get_all_status','params','.anet','2378358gvvPiE','re-registered\x20as\x20\x22','Session\x20alias:\x20','set','get','application/json,\x20text/event-stream','find','\x22\x20after\x20SSE\x20reconnect','commhub_send_message','from_session','POST','9248463YhraDB','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','0.3.0','commhub-channel','notifications/claude/channel','message_id','write','data:\x20','\x22\x20(','http://127.0.0.1:9200','\x20RESUME_ID=','\x20from\x20','8433208nFVwiL','/mcp','claude-code','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','messages','commhub_send_task','tools/call','high','stdin','alias','Message\x20content','get_all_status','30QRdBlh','702024Nprdvc','Priority\x20(default:\x20normal)','connected','idle','shutting\x20down,\x20reporting\x20offline...','message','token','pid','send_task','getReader','95649Zhsqng','blocked','connect','end','stringify','new_message','task','cwd','setRequestHandler','heartbeat\x20failed:\x20','send_message','replied','Bearer\x20','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','notification','MCP\x20stdio\x20connected','startsWith',':\x20inbox_count=','error','unattributed-','object','number','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','commhub_report_status','tmux\x20display-message\x20-p\x20\x27#S\x27','report_status','string',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','priority','result','pop','ack_inbox','2.0','indexOf','.claude/channels/commhub','length','3367155mdCxzF','then','SIGTERM','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','.env','15GyIGGv','body','Current\x20task\x20description','fatal:\x20','application/json','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','exit','config.json','SIGINT','min','hub','re-register\x20failed:\x20','parse','5994400lTxfBI','←\x20message\x20from\x20','decode'];a0_0xca92=function(){return _0x2338c4;};return a0_0xca92();}import{readFileSync as a0_0x774c42,existsSync as a0_0x343d0e}from'fs';import{randomUUID as a0_0x33cf1e}from'crypto';import{join as a0_0xfa3780}from'path';import{hostname as a0_0x2b37e1}from'os';import{execSync as a0_0x58c2dc}from'child_process';import{Server as a0_0x40b735}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x22656e}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x2ccd61,CallToolRequestSchema as a0_0x19d300}from'@modelcontextprotocol/sdk/types.js';function I(_0x82d1a0){const _0x351c0c=a0_0x1914;if(!a0_0x343d0e(_0x82d1a0))return;for(let _0x3d48b0 of a0_0x774c42(_0x82d1a0,_0x351c0c(0x173))[_0x351c0c(0x17c)]('\x0a')){let _0x1e521d=_0x3d48b0[_0x351c0c(0x188)]();if(!_0x1e521d||_0x1e521d[_0x351c0c(0x1dc)]('#'))continue;let _0x1038a8=_0x1e521d[_0x351c0c(0x1ed)]('=');if(_0x1038a8<0x0)continue;let _0x116e87=_0x1e521d['slice'](0x0,_0x1038a8)[_0x351c0c(0x188)](),_0x43dbd1=_0x1e521d[_0x351c0c(0x174)](_0x1038a8+0x1)[_0x351c0c(0x188)]()[_0x351c0c(0x180)](/^["']|["']$/g,'');if(!process.env[_0x116e87])process.env[_0x116e87]=_0x43dbd1;}}var L=process.env.HOME||'~',U=a0_0xfa3780(L,a0_0x4fb80b(0x1ee));I(a0_0xfa3780(U,'.env'));var v=process['cwd']()[a0_0x4fb80b(0x180)](/\//g,'-');I(a0_0xfa3780(U,v,a0_0x4fb80b(0x1f4)));function d(){const _0x2c4011=a0_0x4fb80b;try{return a0_0x58c2dc(_0x2c4011(0x1e4),{'encoding':_0x2c4011(0x173),'timeout':0x7d0})[_0x2c4011(0x188)]();}catch{return'';}}function m(){const _0x32d6d8=a0_0x4fb80b;try{let _0x1bdd86=a0_0xfa3780(L,_0x32d6d8(0x19d),_0x32d6d8(0x15d));if(a0_0x343d0e(_0x1bdd86))return JSON['parse'](a0_0x774c42(_0x1bdd86,'utf-8'));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x4fb80b(0x160)]||a0_0x4fb80b(0x1b2),f=process.env.COMMHUB_TMUX||d();function r(){const _0x11182f=a0_0x4fb80b;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x11182f(0x188)]())return process.env.COMMHUB_ALIAS['trim']();return process['stderr'][_0x11182f(0x1af)](_0x11182f(0x1e2)+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(f||_0x11182f(0x18e))+'\x20/\x20hostname='+a0_0x2b37e1()+_0x11182f(0x1b8))),_0x11182f(0x1df)+process[_0x11182f(0x1c9)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x33cf1e(),F=process.env.COMMHUB_TOKEN||u[a0_0x4fb80b(0x1c8)]||'';function W(_0xde7b8a){const _0x3ca3b7=a0_0x4fb80b;let _0x2d34a5=new Date()['toTimeString']()[_0x3ca3b7(0x174)](0x0,0x8);process[_0x3ca3b7(0x171)]['write']('['+_0x2d34a5+_0x3ca3b7(0x16e)+_0xde7b8a+'\x0a');}function N(_0x132788){return new Promise(_0x18740e=>setTimeout(_0x18740e,_0x132788));}W('ENV:\x20URL='+j+'\x20ALIAS='+G+a0_0x4fb80b(0x1b3)+K[a0_0x4fb80b(0x174)](0x0,0x8)+a0_0x4fb80b(0x189)+(f||'none')+'\x20CWD='+process[a0_0x4fb80b(0x1d3)]()+'\x20PROJECT_ENV='+v);var D=new Map(),x=new a0_0x40b735({'name':a0_0x4fb80b(0x1ac),'version':a0_0x4fb80b(0x1ab)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x4fb80b(0x1fa),'These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.',a0_0x4fb80b(0x185),a0_0x4fb80b(0x192),a0_0x4fb80b(0x1a0)+G][a0_0x4fb80b(0x17b)]('\x0a')});x[a0_0x4fb80b(0x1d4)](a0_0x2ccd61,async()=>({'tools':[{'name':'commhub_reply','description':a0_0x4fb80b(0x1f3),'inputSchema':{'type':a0_0x4fb80b(0x1e0),'properties':{'task_id':{'type':a0_0x4fb80b(0x1e6),'description':a0_0x4fb80b(0x179)},'text':{'type':a0_0x4fb80b(0x1e6),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':'string','enum':[a0_0x4fb80b(0x197),a0_0x4fb80b(0x167),a0_0x4fb80b(0x183),a0_0x4fb80b(0x1cd),a0_0x4fb80b(0x1de),a0_0x4fb80b(0x187)],'description':a0_0x4fb80b(0x1d9)}},'required':[a0_0x4fb80b(0x18a)]}},{'name':a0_0x4fb80b(0x1e3),'description':a0_0x4fb80b(0x196),'inputSchema':{'type':'object','properties':{'status':{'type':a0_0x4fb80b(0x1e6),'enum':[a0_0x4fb80b(0x166),a0_0x4fb80b(0x1c5),a0_0x4fb80b(0x1cd),'error']},'task':{'type':a0_0x4fb80b(0x1e6),'description':a0_0x4fb80b(0x1f7)},'progress':{'type':a0_0x4fb80b(0x1e1),'description':'Progress\x200-100'}},'required':[a0_0x4fb80b(0x199)]}},{'name':a0_0x4fb80b(0x1ba),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x4fb80b(0x1e0),'properties':{'alias':{'type':'string','description':a0_0x4fb80b(0x17e)},'task':{'type':a0_0x4fb80b(0x1e6),'description':'Task\x20content'},'priority':{'type':a0_0x4fb80b(0x1e6),'enum':[a0_0x4fb80b(0x1bc),a0_0x4fb80b(0x175),'low'],'description':a0_0x4fb80b(0x1c3)}},'required':[a0_0x4fb80b(0x1be),a0_0x4fb80b(0x1d2)]}},{'name':a0_0x4fb80b(0x1a6),'description':a0_0x4fb80b(0x1aa),'inputSchema':{'type':a0_0x4fb80b(0x1e0),'properties':{'alias':{'type':a0_0x4fb80b(0x1e6),'description':a0_0x4fb80b(0x17e)},'message':{'type':a0_0x4fb80b(0x1e6),'description':a0_0x4fb80b(0x1bf)}},'required':[a0_0x4fb80b(0x1be),a0_0x4fb80b(0x1c7)]}},{'name':a0_0x4fb80b(0x19b),'description':a0_0x4fb80b(0x169),'inputSchema':{'type':a0_0x4fb80b(0x1e0),'properties':{}}}]}));async function Y(_0x201887,_0x2cc8f4){const _0x4fb1a5=a0_0x4fb80b;let _0x2adbc3=await fetch(j+_0x4fb1a5(0x1b6),{'method':'POST','headers':{'Content-Type':_0x4fb1a5(0x1f9),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x4fb1a5(0x1d8)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x4fb1a5(0x1ec),'id':0x1,'method':_0x4fb1a5(0x195),'params':{'protocolVersion':_0x4fb1a5(0x18c),'capabilities':{},'clientInfo':{'name':_0x4fb1a5(0x1ac),'version':_0x4fb1a5(0x1ab)}}})});if(!_0x2adbc3['ok']){let _0x2e9cc5=await _0x2adbc3[_0x4fb1a5(0x18a)]();return W('CommHub\x20init\x20failed:\x20'+_0x2adbc3[_0x4fb1a5(0x199)]+'\x20'+_0x2e9cc5[_0x4fb1a5(0x174)](0x0,0x64)),{'ok':!0x1,'error':_0x4fb1a5(0x17f)+_0x2adbc3[_0x4fb1a5(0x199)]};}await _0x2adbc3[_0x4fb1a5(0x18a)]();let _0x5b8fb4=(await(await fetch(j+_0x4fb1a5(0x1b6),{'method':_0x4fb1a5(0x1a8),'headers':{'Content-Type':'application/json','Accept':_0x4fb1a5(0x1a3),...F?{'Authorization':_0x4fb1a5(0x1d8)+F}:{}},'body':JSON[_0x4fb1a5(0x1d0)]({'jsonrpc':_0x4fb1a5(0x1ec),'id':0x2,'method':_0x4fb1a5(0x1bb),'params':{'name':_0x201887,'arguments':_0x2cc8f4}})}))[_0x4fb1a5(0x18a)]())[_0x4fb1a5(0x17c)]('\x0a')[_0x4fb1a5(0x1a4)](_0x2dc275=>_0x2dc275['startsWith'](_0x4fb1a5(0x1b0)));if(_0x5b8fb4){let _0x2293fe=JSON[_0x4fb1a5(0x162)](_0x5b8fb4[_0x4fb1a5(0x174)](0x6));return _0x2293fe?.[_0x4fb1a5(0x1e9)]?.[_0x4fb1a5(0x17a)]?.[0x0]?.[_0x4fb1a5(0x18a)]?JSON[_0x4fb1a5(0x162)](_0x2293fe[_0x4fb1a5(0x1e9)][_0x4fb1a5(0x17a)][0x0]['text']):_0x2293fe;}return{'ok':!0x1,'error':'no\x20response'};}x[a0_0x4fb80b(0x1d4)](a0_0x19d300,async _0x4a23f5=>{const _0x1207a1=a0_0x4fb80b;let {name:_0x98a3a3,arguments:_0x54145c}=_0x4a23f5[_0x1207a1(0x19c)];if(_0x98a3a3===_0x1207a1(0x178)){let {task_id:_0x20afde,text:_0xea1fd7,status:_0x4c7da0}=_0x54145c;if(_0x4c7da0===_0x1207a1(0x197)||_0x4c7da0===_0x1207a1(0x167)||_0x4c7da0===_0x1207a1(0x183)){let _0xd2fdb3=_0x4c7da0===_0x1207a1(0x197)?_0x1207a1(0x1d7):_0x4c7da0,_0x2431a7=_0x20afde?D[_0x1207a1(0x1a2)](_0x20afde)||_0x1207a1(0x160):'hub',_0x1ad06a=await Y('send_reply',{'alias':_0x2431a7,'text':_0xea1fd7,'in_reply_to':_0x20afde||void 0x0,'status':_0xd2fdb3,'from_session':G});if(_0x20afde)D['delete'](_0x20afde);return{'content':[{'type':_0x1207a1(0x18a),'text':JSON[_0x1207a1(0x1d0)](_0x1ad06a)}]};}let _0x340cb3=await Y(_0x1207a1(0x1e5),{'resume_id':K,'alias':G,'status':_0x4c7da0===_0x1207a1(0x1cd)?_0x1207a1(0x1cd):_0x4c7da0===_0x1207a1(0x1de)?_0x1207a1(0x1de):_0x1207a1(0x166),'task':_0xea1fd7['slice'](0x0,0xc8),'output':_0xea1fd7});return{'content':[{'type':_0x1207a1(0x18a),'text':JSON[_0x1207a1(0x1d0)](_0x340cb3)}]};}if(_0x98a3a3==='commhub_report_status'){let {status:_0x14a07c,task:_0x27e7b9,progress:_0x4f6d0b}=_0x54145c,_0x14a23c=await Y(_0x1207a1(0x1e5),{'resume_id':K,'alias':G,'status':_0x14a07c,'task':_0x27e7b9,'progress':_0x4f6d0b});return{'content':[{'type':'text','text':JSON[_0x1207a1(0x1d0)](_0x14a23c)}]};}if(_0x98a3a3==='commhub_send_task'){let {alias:_0x2cda7b,task:_0x59c2d1,priority:_0x677fc8}=_0x54145c,_0x2e76bd=await Y(_0x1207a1(0x1ca),{'alias':_0x2cda7b,'task':_0x59c2d1,'priority':_0x677fc8||_0x1207a1(0x175),'from_session':G});return{'content':[{'type':_0x1207a1(0x18a),'text':JSON[_0x1207a1(0x1d0)](_0x2e76bd)}]};}if(_0x98a3a3===_0x1207a1(0x1a6)){let {alias:_0x40f923,message:_0x4b4cb4}=_0x54145c,_0x4df591=await Y(_0x1207a1(0x1d6),{'alias':_0x40f923,'message':_0x4b4cb4,'from_session':G});return{'content':[{'type':_0x1207a1(0x18a),'text':JSON['stringify'](_0x4df591)}]};}if(_0x98a3a3===_0x1207a1(0x19b)){let _0x4aa76d=await Y(_0x1207a1(0x1c0),{});return{'content':[{'type':'text','text':JSON[_0x1207a1(0x1d0)](_0x4aa76d)}]};}return{'content':[{'type':_0x1207a1(0x18a),'text':JSON[_0x1207a1(0x1d0)]({'error':'unknown\x20tool'})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x7c76f8=a0_0x4fb80b;try{await Y(_0x7c76f8(0x1e5),{'resume_id':K,'alias':G,'status':_0x7c76f8(0x1c5),'server':a0_0x2b37e1(),'hostname':a0_0x2b37e1(),'agent':_0x7c76f8(0x1b7),'project_dir':process['cwd'](),'tmux_name':f||void 0x0}),W(_0x7c76f8(0x19f)+G+_0x7c76f8(0x1a5));}catch(_0xe443a7){W(_0x7c76f8(0x161)+_0xe443a7);}}async function o(){const _0x203c48=a0_0x4fb80b;let _0x45f29f=j+_0x203c48(0x181)+encodeURIComponent(G),_0x19cd4e={};if(F)_0x19cd4e[_0x203c48(0x17d)]=_0x203c48(0x1d8)+F;W(_0x203c48(0x193)+_0x45f29f);let _0x3b9e98=O,_0x4164f2=!0x0,_0x47b9c3=null;while(!0x0){try{let _0x2e50f8=await fetch(_0x45f29f,{'headers':_0x19cd4e});if(!_0x2e50f8['ok']){if(W('SSE\x20error:\x20'+_0x2e50f8[_0x203c48(0x199)]+'\x20'+_0x2e50f8[_0x203c48(0x184)]),_0x47b9c3=_0x47b9c3??Date['now'](),Date[_0x203c48(0x176)]()-_0x47b9c3>T){W(_0x203c48(0x172)+j+_0x203c48(0x1e7));return;}await N(_0x3b9e98),_0x3b9e98=Math[_0x203c48(0x15f)](_0x3b9e98*0x2,R);continue;}let _0x1c690e=_0x2e50f8[_0x203c48(0x1f6)][_0x203c48(0x1cb)](),_0x1aa62a=new TextDecoder(),_0x14d073='';_0x3b9e98=O;while(!0x0){let {done:_0x57d11c,value:_0x1f670f}=await _0x1c690e[_0x203c48(0x198)]();if(_0x57d11c)break;_0x14d073+=_0x1aa62a[_0x203c48(0x165)](_0x1f670f,{'stream':!0x0});let _0x3f4714=_0x14d073[_0x203c48(0x17c)]('\x0a\x0a');_0x14d073=_0x3f4714[_0x203c48(0x1ea)]()||'';for(let _0x24004c of _0x3f4714){let _0x5c888a=_0x24004c[_0x203c48(0x17c)]('\x0a')['find'](_0x21053e=>_0x21053e[_0x203c48(0x1dc)](_0x203c48(0x1b0)));if(!_0x5c888a)continue;try{let _0x196e88=JSON[_0x203c48(0x162)](_0x5c888a[_0x203c48(0x174)](0x6));if(await a(_0x196e88),_0x196e88[_0x203c48(0x16f)]==='connected'){if(_0x47b9c3=null,!_0x4164f2)await l();_0x4164f2=!0x1;}}catch(_0x24f941){W(_0x203c48(0x170)+_0x24f941);}}}W(_0x203c48(0x16b));}catch(_0x34ccf3){W('SSE\x20connection\x20error:\x20'+_0x34ccf3);}if(_0x47b9c3=_0x47b9c3??Date[_0x203c48(0x176)](),Date['now']()-_0x47b9c3>T){W(_0x203c48(0x172)+j+')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。');return;}await N(_0x3b9e98),_0x3b9e98=Math['min'](_0x3b9e98*0x2,R);}}async function a(_0x5a8ea3){const _0x1a3830=a0_0x4fb80b;if(_0x5a8ea3[_0x1a3830(0x16f)]===_0x1a3830(0x1c4)){W(_0x1a3830(0x16d)+G+'\x22');return;}if(_0x5a8ea3[_0x1a3830(0x16f)]===_0x1a3830(0x1d1)){if(W(_0x1a3830(0x164)+_0x5a8ea3[_0x1a3830(0x194)]+':\x20'+_0x5a8ea3['message'][_0x1a3830(0x174)](0x0,0x3c)),await x[_0x1a3830(0x1da)]({'method':_0x1a3830(0x1ad),'params':{'content':_0x5a8ea3[_0x1a3830(0x1c7)],'meta':{'sender':_0x5a8ea3[_0x1a3830(0x194)]||_0x1a3830(0x160),'sender_id':'commhub','user':_0x5a8ea3['from']||_0x1a3830(0x160),'priority':_0x1a3830(0x175)}}}),_0x5a8ea3['message_id'])await Y(_0x1a3830(0x1eb),{'alias':G,'message_id':_0x5a8ea3[_0x1a3830(0x1ae)]});return;}if(_0x5a8ea3[_0x1a3830(0x16f)]===_0x1a3830(0x168)||_0x5a8ea3[_0x1a3830(0x16f)]===_0x1a3830(0x186)){W('←\x20'+_0x5a8ea3[_0x1a3830(0x16f)]+_0x1a3830(0x1dd)+_0x5a8ea3[_0x1a3830(0x190)]+_0x1a3830(0x18f)+(_0x5a8ea3[_0x1a3830(0x1e8)]||_0x1a3830(0x175)));let _0x502149=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x502149?.['ok']&&_0x502149[_0x1a3830(0x1b9)]?.[_0x1a3830(0x1ef)]>0x0)for(let _0x38ef37 of _0x502149[_0x1a3830(0x1b9)]){let _0x54478f={'sender':_0x38ef37[_0x1a3830(0x1a7)]||'hub','sender_id':_0x1a3830(0x16c),'user':_0x38ef37[_0x1a3830(0x1a7)]||_0x1a3830(0x160),'task_id':_0x38ef37['id'],'priority':_0x38ef37[_0x1a3830(0x1e8)]||_0x1a3830(0x175)};D[_0x1a3830(0x1a1)](_0x38ef37['id'],_0x38ef37[_0x1a3830(0x1a7)]||_0x1a3830(0x160)),await x[_0x1a3830(0x1da)]({'method':'notifications/claude/channel','params':{'content':_0x38ef37[_0x1a3830(0x17a)],'meta':_0x54478f}}),W(_0x1a3830(0x182)+_0x38ef37['id'][_0x1a3830(0x174)](0x0,0x8)+_0x1a3830(0x1b4)+_0x38ef37[_0x1a3830(0x1a7)]+':\x20'+_0x38ef37[_0x1a3830(0x17a)][_0x1a3830(0x174)](0x0,0x3c)),await Y(_0x1a3830(0x1eb),{'alias':G,'message_id':_0x38ef37['id']});}}}async function n(){const _0x22cf6c=a0_0x4fb80b;let _0x25f026=new a0_0x22656e();await x[_0x22cf6c(0x1ce)](_0x25f026),W(_0x22cf6c(0x1db)),W(_0x22cf6c(0x19a)),o()[_0x22cf6c(0x18d)](_0x3a404d=>W(_0x22cf6c(0x18b)+_0x3a404d)),Y('report_status',{'resume_id':K,'alias':G,'status':_0x22cf6c(0x1c5),'server':a0_0x2b37e1(),'hostname':a0_0x2b37e1(),'agent':_0x22cf6c(0x1b7),'project_dir':process[_0x22cf6c(0x1d3)](),'tmux_name':f||void 0x0})[_0x22cf6c(0x1f1)](()=>W('registered\x20as\x20\x22'+G+_0x22cf6c(0x1b1)+K[_0x22cf6c(0x174)](0x0,0x8)+')'))[_0x22cf6c(0x18d)](_0x3728df=>W('warning:\x20could\x20not\x20register:\x20'+_0x3728df)),setInterval(()=>{const _0x3741dc=_0x22cf6c;Y(_0x3741dc(0x1e5),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x2b37e1(),'hostname':a0_0x2b37e1(),'agent':_0x3741dc(0x1b7),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x3741dc(0x18d)](_0xad9917=>W(_0x3741dc(0x1d5)+_0xad9917));},0x2bf20),W(_0x22cf6c(0x191));}n()['catch'](_0x2c9c38=>{const _0x4422e3=a0_0x4fb80b;W(_0x4422e3(0x1f8)+_0x2c9c38),process['exit'](0x1);});async function b(){const _0x21e1df=a0_0x4fb80b;W(_0x21e1df(0x1c6)),await Y(_0x21e1df(0x1e5),{'resume_id':K,'alias':G,'status':_0x21e1df(0x16a),'task':'session\x20disconnected'})[_0x21e1df(0x18d)](()=>{}),process[_0x21e1df(0x15c)](0x0);}process[a0_0x4fb80b(0x1bd)]['on'](a0_0x4fb80b(0x1cf),()=>b()),process['on'](a0_0x4fb80b(0x1f2),()=>b()),process['on'](a0_0x4fb80b(0x15e),()=>b());
|
|
2
|
+
const a0_0x4936f9=a0_0x16f4;(function(_0xd3eace,_0x243d35){const _0x468f25=a0_0x16f4,_0x2a610f=_0xd3eace();while(!![]){try{const _0x813684=parseInt(_0x468f25(0xac))/0x1+-parseInt(_0x468f25(0xc4))/0x2+-parseInt(_0x468f25(0x103))/0x3*(parseInt(_0x468f25(0xfe))/0x4)+-parseInt(_0x468f25(0x7d))/0x5+-parseInt(_0x468f25(0x8a))/0x6+parseInt(_0x468f25(0xb0))/0x7+-parseInt(_0x468f25(0xea))/0x8*(-parseInt(_0x468f25(0x7c))/0x9);if(_0x813684===_0x243d35)break;else _0x2a610f['push'](_0x2a610f['shift']());}catch(_0x322c74){_0x2a610f['push'](_0x2a610f['shift']());}}}(a0_0x4291,0x4e1eb));import{readFileSync as a0_0x335310,existsSync as a0_0x10e870}from'fs';import{randomUUID as a0_0x76ebc0}from'crypto';import{join as a0_0x1dfd3a}from'path';import{hostname as a0_0x26af58}from'os';import{execSync as a0_0x24440a}from'child_process';import{Server as a0_0x169d00}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x44ba9c}from'@modelcontextprotocol/sdk/server/stdio.js';function a0_0x4291(){const _0x59ec72=['initialize','idle','/mcp','tmux\x20display-message\x20-p\x20\x27#S\x27','application/json','cwd','split',':\x20inbox_count=','message_id','Reply\x20text\x20/\x20result\x20summary','priority','statusText','trim','Target\x20session\x20alias','none','session\x20disconnected','24SzYtXB','shutting\x20down,\x20reporting\x20offline...','notification','2.0','connected','195537zEhYMd','stderr','blocked','number','\x20from\x20','starting\x20SSE\x20listener...','SSE\x20connection\x20error:\x20','←\x20message\x20from\x20','inbox_count','MCP\x20stdio\x20connected','Priority\x20(default:\x20normal)','POST','SSE\x20connected\x20as\x20\x22','commhub-channel','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','ack_inbox','205425GNLWfZ','2999630RhlzEF','ENV:\x20URL=','/events/','(none)','stringify','normal','get_inbox','commhub_get_all_status','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','init\x20failed:\x20','length','pid','catch','1496160leuctL','then','low','http://127.0.0.1:9200','commhub_send_task','get_all_status','Message\x20content','replied','setRequestHandler','warning:\x20could\x20not\x20register:\x20','SIGTERM','new_task','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','connecting\x20to\x20','write','send_task','\x20RESUME_ID=','cancelled','Progress\x200-100','find',']\x20[commhub]\x20','re-register\x20failed:\x20','tools/call','SSE\x20error:\x20','status','notifications/claude/channel','new_message','registered\x20as\x20\x22','\x20CWD=','high',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','failed','messages','48593dVAdwR','pop','heartbeat\x20failed:\x20','set','1716813GOkxzM','slice','SSE\x20fatal:\x20','replace','...\x20TMUX=','text','result','alias','from_session','end','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','min','type','re-registered\x20as\x20\x22','data:\x20','startsWith','commhub_reply','commhub_report_status','exit','claude-code','1164676jkoUno','working','getReader','.env','SSE\x20stream\x20ended,\x20reconnecting...','decode','delete','parse','Current\x20task\x20description','unattributed-','token','broadcast','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','error','send_message','object','unknown\x20tool','Authorization','toTimeString','message','report_status','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','\x20ALIAS=','from','content','stdin','params','application/json,\x20text/event-stream','ready\x20—\x20waiting\x20for\x20events','utf-8','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','commhub_send_message','commhub','0.3.0','hub','read','Bearer\x20','now','648ktLdih','completed','string','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.'];a0_0x4291=function(){return _0x59ec72;};return a0_0x4291();}import{ListToolsRequestSchema as a0_0x5c73f9,CallToolRequestSchema as a0_0x9ecd8e}from'@modelcontextprotocol/sdk/types.js';function I(_0x299cff){const _0x4a4ab3=a0_0x16f4;if(!a0_0x10e870(_0x299cff))return;for(let _0x102bf7 of a0_0x335310(_0x299cff,'utf-8')[_0x4a4ab3(0xf4)]('\x0a')){let _0x27db6d=_0x102bf7[_0x4a4ab3(0xfa)]();if(!_0x27db6d||_0x27db6d['startsWith']('#'))continue;let _0x3b3b2f=_0x27db6d['indexOf']('=');if(_0x3b3b2f<0x0)continue;let _0x22142f=_0x27db6d['slice'](0x0,_0x3b3b2f)[_0x4a4ab3(0xfa)](),_0x13a1db=_0x27db6d[_0x4a4ab3(0xb1)](_0x3b3b2f+0x1)[_0x4a4ab3(0xfa)]()[_0x4a4ab3(0xb3)](/^["']|["']$/g,'');if(!process.env[_0x22142f])process.env[_0x22142f]=_0x13a1db;}}var L=process.env.HOME||'~',U=a0_0x1dfd3a(L,'.claude/channels/commhub');I(a0_0x1dfd3a(U,a0_0x4936f9(0xc7)));var v=process[a0_0x4936f9(0xf3)]()[a0_0x4936f9(0xb3)](/\//g,'-');I(a0_0x1dfd3a(U,v,'.env'));function d(){const _0x4b307e=a0_0x4936f9;try{return a0_0x24440a(_0x4b307e(0xf1),{'encoding':_0x4b307e(0xe1),'timeout':0x7d0})[_0x4b307e(0xfa)]();}catch{return'';}}function m(){const _0x5ea49a=a0_0x4936f9;try{let _0x7bf699=a0_0x1dfd3a(L,'.anet','config.json');if(a0_0x10e870(_0x7bf699))return JSON[_0x5ea49a(0xcb)](a0_0x335310(_0x7bf699,'utf-8'));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x4936f9(0xe6)]||a0_0x4936f9(0x8d),f=process.env.COMMHUB_TMUX||d();function r(){const _0x41946c=a0_0x4936f9;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x41946c(0xfa)]())return process.env.COMMHUB_ALIAS[_0x41946c(0xfa)]();return process[_0x41946c(0x104)][_0x41946c(0x99)]('[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20'+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(f||_0x41946c(0x80))+'\x20/\x20hostname='+a0_0x26af58()+_0x41946c(0xd9))),_0x41946c(0xcd)+process[_0x41946c(0x88)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x76ebc0(),F=process.env.COMMHUB_TOKEN||u[a0_0x4936f9(0xce)]||'';function W(_0x4acde8){const _0x522a83=a0_0x4936f9;let _0x4c1a4b=new Date()[_0x522a83(0xd6)]()[_0x522a83(0xb1)](0x0,0x8);process[_0x522a83(0x104)][_0x522a83(0x99)]('['+_0x4c1a4b+_0x522a83(0x9f)+_0x4acde8+'\x0a');}function N(_0x503de6){return new Promise(_0x16b90a=>setTimeout(_0x16b90a,_0x503de6));}W(a0_0x4936f9(0x7e)+j+a0_0x4936f9(0xda)+G+a0_0x4936f9(0x9b)+K[a0_0x4936f9(0xb1)](0x0,0x8)+a0_0x4936f9(0xb4)+(f||a0_0x4936f9(0xfc))+a0_0x4936f9(0xa7)+process['cwd']()+'\x20PROJECT_ENV='+v);var D=new Map(),x=new a0_0x169d00({'name':a0_0x4936f9(0x110),'version':a0_0x4936f9(0xe5)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x4936f9(0x85),'These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.',a0_0x4936f9(0xd0),a0_0x4936f9(0xed),'Session\x20alias:\x20'+G]['join']('\x0a')});x['setRequestHandler'](a0_0x5c73f9,async()=>({'tools':[{'name':a0_0x4936f9(0xc0),'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_0x4936f9(0xec),'description':a0_0x4936f9(0x97)},'text':{'type':a0_0x4936f9(0xec),'description':a0_0x4936f9(0xf7)},'status':{'type':a0_0x4936f9(0xec),'enum':[a0_0x4936f9(0xeb),a0_0x4936f9(0xaa),a0_0x4936f9(0x9c),'blocked','error','in_progress'],'description':'Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'}},'required':[a0_0x4936f9(0xb5)]}},{'name':a0_0x4936f9(0xc1),'description':a0_0x4936f9(0x96),'inputSchema':{'type':a0_0x4936f9(0xd3),'properties':{'status':{'type':a0_0x4936f9(0xec),'enum':[a0_0x4936f9(0xc5),a0_0x4936f9(0xef),'blocked','error']},'task':{'type':a0_0x4936f9(0xec),'description':a0_0x4936f9(0xcc)},'progress':{'type':a0_0x4936f9(0x106),'description':a0_0x4936f9(0x9d)}},'required':[a0_0x4936f9(0xa3)]}},{'name':a0_0x4936f9(0x8e),'description':a0_0x4936f9(0xe2),'inputSchema':{'type':a0_0x4936f9(0xd3),'properties':{'alias':{'type':a0_0x4936f9(0xec),'description':a0_0x4936f9(0xfb)},'task':{'type':a0_0x4936f9(0xec),'description':'Task\x20content'},'priority':{'type':a0_0x4936f9(0xec),'enum':[a0_0x4936f9(0xa8),a0_0x4936f9(0x82),a0_0x4936f9(0x8c)],'description':a0_0x4936f9(0x10d)}},'required':[a0_0x4936f9(0xb7),'task']}},{'name':a0_0x4936f9(0xe3),'description':a0_0x4936f9(0xba),'inputSchema':{'type':a0_0x4936f9(0xd3),'properties':{'alias':{'type':a0_0x4936f9(0xec),'description':a0_0x4936f9(0xfb)},'message':{'type':a0_0x4936f9(0xec),'description':a0_0x4936f9(0x90)}},'required':[a0_0x4936f9(0xb7),a0_0x4936f9(0xd7)]}},{'name':'commhub_get_all_status','description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':a0_0x4936f9(0xd3),'properties':{}}}]}));async function Y(_0x541bb4,_0x151c60){const _0x459217=a0_0x4936f9;let _0x451e43=await fetch(j+_0x459217(0xf0),{'method':_0x459217(0x10e),'headers':{'Content-Type':_0x459217(0xf2),'Accept':_0x459217(0xdf),...F?{'Authorization':_0x459217(0xe8)+F}:{}},'body':JSON[_0x459217(0x81)]({'jsonrpc':'2.0','id':0x1,'method':_0x459217(0xee),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x459217(0x110),'version':_0x459217(0xe5)}}})});if(!_0x451e43['ok']){let _0x17fa0e=await _0x451e43[_0x459217(0xb5)]();return W('CommHub\x20init\x20failed:\x20'+_0x451e43[_0x459217(0xa3)]+'\x20'+_0x17fa0e[_0x459217(0xb1)](0x0,0x64)),{'ok':!0x1,'error':_0x459217(0x86)+_0x451e43[_0x459217(0xa3)]};}await _0x451e43[_0x459217(0xb5)]();let _0x3357f2=(await(await fetch(j+_0x459217(0xf0),{'method':_0x459217(0x10e),'headers':{'Content-Type':'application/json','Accept':_0x459217(0xdf),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x459217(0x81)]({'jsonrpc':_0x459217(0x101),'id':0x2,'method':_0x459217(0xa1),'params':{'name':_0x541bb4,'arguments':_0x151c60}})}))[_0x459217(0xb5)]())[_0x459217(0xf4)]('\x0a')[_0x459217(0x9e)](_0x64282f=>_0x64282f['startsWith'](_0x459217(0xbe)));if(_0x3357f2){let _0x20736c=JSON[_0x459217(0xcb)](_0x3357f2['slice'](0x6));return _0x20736c?.['result']?.[_0x459217(0xdc)]?.[0x0]?.[_0x459217(0xb5)]?JSON['parse'](_0x20736c[_0x459217(0xb6)][_0x459217(0xdc)][0x0][_0x459217(0xb5)]):_0x20736c;}return{'ok':!0x1,'error':'no\x20response'};}x[a0_0x4936f9(0x92)](a0_0x9ecd8e,async _0x8c791b=>{const _0x2ab54a=a0_0x4936f9;let {name:_0x484c6c,arguments:_0x45fb8d}=_0x8c791b[_0x2ab54a(0xde)];if(_0x484c6c==='commhub_reply'){let {task_id:_0x46b501,text:_0x376aea,status:_0x19acb5}=_0x45fb8d;if(_0x19acb5===_0x2ab54a(0xeb)||_0x19acb5==='failed'||_0x19acb5===_0x2ab54a(0x9c)){let _0x57b9af=_0x19acb5==='completed'?_0x2ab54a(0x91):_0x19acb5,_0x322eaf=_0x46b501?D['get'](_0x46b501)||_0x2ab54a(0xe6):_0x2ab54a(0xe6),_0x5461c3=await Y('send_reply',{'alias':_0x322eaf,'text':_0x376aea,'in_reply_to':_0x46b501||void 0x0,'status':_0x57b9af,'from_session':G});if(_0x46b501)D[_0x2ab54a(0xca)](_0x46b501);return{'content':[{'type':_0x2ab54a(0xb5),'text':JSON['stringify'](_0x5461c3)}]};}let _0x4f57ba=await Y(_0x2ab54a(0xd8),{'resume_id':K,'alias':G,'status':_0x19acb5===_0x2ab54a(0x105)?_0x2ab54a(0x105):_0x19acb5===_0x2ab54a(0xd1)?'error':_0x2ab54a(0xc5),'task':_0x376aea[_0x2ab54a(0xb1)](0x0,0xc8),'output':_0x376aea});return{'content':[{'type':_0x2ab54a(0xb5),'text':JSON['stringify'](_0x4f57ba)}]};}if(_0x484c6c===_0x2ab54a(0xc1)){let {status:_0x3ec133,task:_0x3099ea,progress:_0x5bc664}=_0x45fb8d,_0x23bdc3=await Y(_0x2ab54a(0xd8),{'resume_id':K,'alias':G,'status':_0x3ec133,'task':_0x3099ea,'progress':_0x5bc664});return{'content':[{'type':_0x2ab54a(0xb5),'text':JSON[_0x2ab54a(0x81)](_0x23bdc3)}]};}if(_0x484c6c==='commhub_send_task'){let {alias:_0x2b9d9c,task:_0x151428,priority:_0x4026cc}=_0x45fb8d,_0x350204=await Y(_0x2ab54a(0x9a),{'alias':_0x2b9d9c,'task':_0x151428,'priority':_0x4026cc||_0x2ab54a(0x82),'from_session':G});return{'content':[{'type':_0x2ab54a(0xb5),'text':JSON['stringify'](_0x350204)}]};}if(_0x484c6c===_0x2ab54a(0xe3)){let {alias:_0x4b93a6,message:_0x404374}=_0x45fb8d,_0x3194fc=await Y(_0x2ab54a(0xd2),{'alias':_0x4b93a6,'message':_0x404374,'from_session':G});return{'content':[{'type':_0x2ab54a(0xb5),'text':JSON[_0x2ab54a(0x81)](_0x3194fc)}]};}if(_0x484c6c===_0x2ab54a(0x84)){let _0x2c321f=await Y(_0x2ab54a(0x8f),{});return{'content':[{'type':_0x2ab54a(0xb5),'text':JSON['stringify'](_0x2c321f)}]};}return{'content':[{'type':_0x2ab54a(0xb5),'text':JSON[_0x2ab54a(0x81)]({'error':_0x2ab54a(0xd4)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x1e66f3=a0_0x4936f9;try{await Y(_0x1e66f3(0xd8),{'resume_id':K,'alias':G,'status':_0x1e66f3(0xef),'server':a0_0x26af58(),'hostname':a0_0x26af58(),'agent':_0x1e66f3(0xc3),'project_dir':process[_0x1e66f3(0xf3)](),'tmux_name':f||void 0x0}),W(_0x1e66f3(0xbd)+G+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x31c587){W(_0x1e66f3(0xa0)+_0x31c587);}}async function o(){const _0x25e728=a0_0x4936f9;let _0x1b209b=j+_0x25e728(0x7f)+encodeURIComponent(G),_0x4bf09a={};if(F)_0x4bf09a[_0x25e728(0xd5)]='Bearer\x20'+F;W(_0x25e728(0x98)+_0x1b209b);let _0x107110=O,_0x3d6347=!0x0,_0x5c4a3b=null;while(!0x0){try{let _0x506850=await fetch(_0x1b209b,{'headers':_0x4bf09a});if(!_0x506850['ok']){if(W(_0x25e728(0xa2)+_0x506850[_0x25e728(0xa3)]+'\x20'+_0x506850[_0x25e728(0xf9)]),_0x5c4a3b=_0x5c4a3b??Date[_0x25e728(0xe9)](),Date[_0x25e728(0xe9)]()-_0x5c4a3b>T){W(_0x25e728(0x111)+j+_0x25e728(0xa9));return;}await N(_0x107110),_0x107110=Math[_0x25e728(0xbb)](_0x107110*0x2,R);continue;}let _0x150bf2=_0x506850['body'][_0x25e728(0xc6)](),_0x4ea82b=new TextDecoder(),_0x3af7d8='';_0x107110=O;while(!0x0){let {done:_0x5e508f,value:_0x351058}=await _0x150bf2[_0x25e728(0xe7)]();if(_0x5e508f)break;_0x3af7d8+=_0x4ea82b[_0x25e728(0xc9)](_0x351058,{'stream':!0x0});let _0x16338d=_0x3af7d8[_0x25e728(0xf4)]('\x0a\x0a');_0x3af7d8=_0x16338d[_0x25e728(0xad)]()||'';for(let _0x27b2b1 of _0x16338d){let _0x19a2bb=_0x27b2b1[_0x25e728(0xf4)]('\x0a')[_0x25e728(0x9e)](_0x373626=>_0x373626[_0x25e728(0xbf)](_0x25e728(0xbe)));if(!_0x19a2bb)continue;try{let _0x58f43f=JSON[_0x25e728(0xcb)](_0x19a2bb[_0x25e728(0xb1)](0x6));if(await a(_0x58f43f),_0x58f43f[_0x25e728(0xbc)]===_0x25e728(0x102)){if(_0x5c4a3b=null,!_0x3d6347)await l();_0x3d6347=!0x1;}}catch(_0x292429){W('parse\x20error:\x20'+_0x292429);}}}W(_0x25e728(0xc8));}catch(_0x46be9a){W(_0x25e728(0x109)+_0x46be9a);}if(_0x5c4a3b=_0x5c4a3b??Date[_0x25e728(0xe9)](),Date[_0x25e728(0xe9)]()-_0x5c4a3b>T){W(_0x25e728(0x111)+j+_0x25e728(0xa9));return;}await N(_0x107110),_0x107110=Math[_0x25e728(0xbb)](_0x107110*0x2,R);}}async function a(_0x51562f){const _0x46347e=a0_0x4936f9;if(_0x51562f[_0x46347e(0xbc)]===_0x46347e(0x102)){W(_0x46347e(0x10f)+G+'\x22');return;}if(_0x51562f[_0x46347e(0xbc)]===_0x46347e(0xa5)){if(W(_0x46347e(0x10a)+_0x51562f['from']+':\x20'+_0x51562f[_0x46347e(0xd7)]['slice'](0x0,0x3c)),await x[_0x46347e(0x100)]({'method':_0x46347e(0xa4),'params':{'content':_0x51562f[_0x46347e(0xd7)],'meta':{'sender':_0x51562f['from']||_0x46347e(0xe6),'sender_id':'commhub','user':_0x51562f[_0x46347e(0xdb)]||_0x46347e(0xe6),'priority':'normal'}}}),_0x51562f[_0x46347e(0xf6)])await Y('ack_inbox',{'alias':G,'message_id':_0x51562f['message_id']});return;}if(_0x51562f[_0x46347e(0xbc)]===_0x46347e(0x95)||_0x51562f[_0x46347e(0xbc)]===_0x46347e(0xcf)){W('←\x20'+_0x51562f[_0x46347e(0xbc)]+_0x46347e(0xf5)+_0x51562f[_0x46347e(0x10b)]+'\x20priority='+(_0x51562f[_0x46347e(0xf8)]||_0x46347e(0x82)));let _0x4fe3c6=await Y(_0x46347e(0x83),{'alias':G,'limit':0x5});if(_0x4fe3c6?.['ok']&&_0x4fe3c6[_0x46347e(0xab)]?.[_0x46347e(0x87)]>0x0)for(let _0x1197bc of _0x4fe3c6[_0x46347e(0xab)]){let _0x41bdd2={'sender':_0x1197bc['from_session']||_0x46347e(0xe6),'sender_id':_0x46347e(0xe4),'user':_0x1197bc['from_session']||'hub','task_id':_0x1197bc['id'],'priority':_0x1197bc['priority']||_0x46347e(0x82)};D[_0x46347e(0xaf)](_0x1197bc['id'],_0x1197bc['from_session']||_0x46347e(0xe6)),await x[_0x46347e(0x100)]({'method':_0x46347e(0xa4),'params':{'content':_0x1197bc[_0x46347e(0xdc)],'meta':_0x41bdd2}}),W('→\x20injected\x20task\x20'+_0x1197bc['id'][_0x46347e(0xb1)](0x0,0x8)+_0x46347e(0x107)+_0x1197bc[_0x46347e(0xb8)]+':\x20'+_0x1197bc[_0x46347e(0xdc)][_0x46347e(0xb1)](0x0,0x3c)),await Y(_0x46347e(0x112),{'alias':G,'message_id':_0x1197bc['id']});}}}async function n(){const _0x196856=a0_0x4936f9;let _0x4b09d6=new a0_0x44ba9c();await x['connect'](_0x4b09d6),W(_0x196856(0x10c)),W(_0x196856(0x108)),o()[_0x196856(0x89)](_0x1864df=>W(_0x196856(0xb2)+_0x1864df)),Y(_0x196856(0xd8),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x26af58(),'hostname':a0_0x26af58(),'agent':_0x196856(0xc3),'project_dir':process[_0x196856(0xf3)](),'tmux_name':f||void 0x0})[_0x196856(0x8b)](()=>W(_0x196856(0xa6)+G+'\x22\x20('+K[_0x196856(0xb1)](0x0,0x8)+')'))[_0x196856(0x89)](_0x454c66=>W(_0x196856(0x93)+_0x454c66)),setInterval(()=>{const _0x4b9918=_0x196856;Y('report_status',{'resume_id':K,'alias':G,'status':_0x4b9918(0xef),'server':a0_0x26af58(),'hostname':a0_0x26af58(),'agent':_0x4b9918(0xc3),'project_dir':process[_0x4b9918(0xf3)](),'tmux_name':f||void 0x0})[_0x4b9918(0x89)](_0x29619f=>W(_0x4b9918(0xae)+_0x29619f));},0x2bf20),W(_0x196856(0xe0));}n()[a0_0x4936f9(0x89)](_0x36cacf=>{const _0x4d915d=a0_0x4936f9;W('fatal:\x20'+_0x36cacf),process[_0x4d915d(0xc2)](0x1);});async function b(){const _0x2086eb=a0_0x4936f9;W(_0x2086eb(0xff)),await Y(_0x2086eb(0xd8),{'resume_id':K,'alias':G,'status':'offline','task':_0x2086eb(0xfd)})[_0x2086eb(0x89)](()=>{}),process['exit'](0x0);}function a0_0x16f4(_0x5a5592,_0x3b29a0){_0x5a5592=_0x5a5592-0x7c;const _0x42915e=a0_0x4291();let _0x16f429=_0x42915e[_0x5a5592];return _0x16f429;}process[a0_0x4936f9(0xdd)]['on'](a0_0x4936f9(0xb9),()=>b()),process['on'](a0_0x4936f9(0x94),()=>b()),process['on']('SIGINT',()=>b());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.2.11
|
|
3
|
+
"version": "2.2.11",
|
|
4
4
|
"description": "AI Agent Network CLI \u2014 Local-first multi-agent orchestration across 4 runtimes (Claude Code CLI / Claude Agent SDK / Codex SDK / Grok Build ACP) and 8+ LLM providers (Anthropic / OpenAI / xAI Grok / MiniMax / DeepSeek / GLM / Kimi / InternLM / Xiaomi MiMo / OpenRouter). Apache 2.0.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/client.js",
|