@sleep2agi/agent-network 2.2.13 → 2.2.14-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_0x1b30c1=a0_0xb372;(function(_0x3a0358,_0x43b43e){const _0x83d370=a0_0xb372,_0x293098=_0x3a0358();while(!![]){try{const _0x218d21=-parseInt(_0x83d370(0x187))/0x1+-parseInt(_0x83d370(0x1a5))/0x2*(-parseInt(_0x83d370(0x1af))/0x3)+-parseInt(_0x83d370(0x1ab))/0x4+parseInt(_0x83d370(0x18c))/0x5*(parseInt(_0x83d370(0x199))/0x6)+-parseInt(_0x83d370(0x1a4))/0x7*(parseInt(_0x83d370(0x17d))/0x8)+parseInt(_0x83d370(0x176))/0x9+parseInt(_0x83d370(0x167))/0xa;if(_0x218d21===_0x43b43e)break;else _0x293098['push'](_0x293098['shift']());}catch(_0x5cac13){_0x293098['push'](_0x293098['shift']());}}}(a0_0x2f4e,0xe51a0));function a0_0xb372(_0x1a4b56,_0x476a88){_0x1a4b56=_0x1a4b56-0x162;const _0x2f4e0c=a0_0x2f4e();let _0xb372b8=_0x2f4e0c[_0x1a4b56];return _0xb372b8;}import{EventEmitter as a0_0x5b58cb}from'events';function a0_0x2f4e(){const _0x238abe=['sdk','send_message','998066iMbaLn','catch','getReader','alias','connected','395YzCqwZ','get_inbox','read','result','processInbox','signal','slice','resumeId','abort','/mcp','sleep','new_message','decode','115764MPTimn','AbortError','completed','from_session','split','task','broadcast','registered','text','heartbeatInterval','call','518DmqJqs','2349326RBlRmO','reply',']\x20[commhub:','idle','running','send_reply','7345580BORbZw','connect','min','report_status','3UtGgsF','application/json,\x20text/event-stream','content','data:\x20','status','url','inbox\x20error:\x20','/events/','emit','getAllStatus','sdk-','heartbeatTimer','token','now','get_all_status','13805240eLDNUU','stringify','toTimeString','application/json','type','disconnect','send_task','replace','message','normal','cwd','log','reconnectDelay','Bearer\x20','sseAbort','9521406HbLFCX','send','disconnected','startsWith','toString','offline','SSE\x20failed:\x20','147512FTYtvw','SSE\x20connected','Authorization','agent','connectSSE','SSE\x20error:\x20','body','parse'];a0_0x2f4e=function(){return _0x238abe;};return a0_0x2f4e();}import{hostname as a0_0x2ebe85}from'os';class T extends a0_0x5b58cb{[a0_0x1b30c1(0x1b4)];[a0_0x1b30c1(0x18a)];[a0_0x1b30c1(0x164)];[a0_0x1b30c1(0x180)];[a0_0x1b30c1(0x193)];[a0_0x1b30c1(0x1a2)];['reconnectDelay'];['heartbeatTimer'];[a0_0x1b30c1(0x175)];[a0_0x1b30c1(0x1a9)]=!0x1;constructor(_0x2acb24){const _0x55cf9d=a0_0x1b30c1;super();if(this[_0x55cf9d(0x1b4)]=_0x2acb24['url'][_0x55cf9d(0x16e)](/\/$/,''),this[_0x55cf9d(0x18a)]=_0x2acb24[_0x55cf9d(0x18a)],this[_0x55cf9d(0x164)]=_0x2acb24[_0x55cf9d(0x164)],this[_0x55cf9d(0x180)]=_0x2acb24['agent']||_0x55cf9d(0x185),this[_0x55cf9d(0x193)]=_0x55cf9d(0x162)+_0x2acb24[_0x55cf9d(0x18a)]+'-'+Date[_0x55cf9d(0x165)]()[_0x55cf9d(0x17a)](0x24),this[_0x55cf9d(0x1a2)]=_0x2acb24['heartbeatInterval']??0x2bf20,this[_0x55cf9d(0x173)]=_0x2acb24[_0x55cf9d(0x173)]??0xbb8,_0x2acb24['autoConnect']!==!0x1)this[_0x55cf9d(0x1ac)]();}['log'](_0x16d8ba){const _0x245e9f=a0_0x1b30c1;console[_0x245e9f(0x172)]('['+new Date()[_0x245e9f(0x169)]()['slice'](0x0,0x8)+_0x245e9f(0x1a7)+this[_0x245e9f(0x18a)]+']\x20'+_0x16d8ba);}async[a0_0x1b30c1(0x1a3)](_0x2f0392,_0x3267be){const _0x29a3c9=a0_0x1b30c1;let _0x29bf2={'Content-Type':_0x29a3c9(0x16a),'Accept':_0x29a3c9(0x1b0)};if(this[_0x29a3c9(0x164)])_0x29bf2[_0x29a3c9(0x17f)]=_0x29a3c9(0x174)+this['token'];let _0x13c4e5=await(await fetch(this[_0x29a3c9(0x1b4)]+_0x29a3c9(0x195),{'method':'POST','headers':_0x29bf2,'body':JSON[_0x29a3c9(0x168)]({'jsonrpc':'2.0','id':Date['now'](),'method':'tools/call','params':{'name':_0x2f0392,'arguments':_0x3267be}})}))[_0x29a3c9(0x1a1)](),_0x5c957f=_0x13c4e5['match'](/data: (.+)/),_0x4ef2a8=_0x5c957f?JSON[_0x29a3c9(0x184)](_0x5c957f[0x1]):JSON['parse'](_0x13c4e5),_0x44992d=_0x4ef2a8?.[_0x29a3c9(0x18f)]?.[_0x29a3c9(0x1b1)]?.[0x0]?.[_0x29a3c9(0x1a1)];return _0x44992d?JSON['parse'](_0x44992d):_0x4ef2a8;}async[a0_0x1b30c1(0x1ac)](){const _0x1c3faa=a0_0x1b30c1;if(this[_0x1c3faa(0x1a9)])return;this[_0x1c3faa(0x1a9)]=!0x0,await this['status'](_0x1c3faa(0x1a8)),this[_0x1c3faa(0x172)](_0x1c3faa(0x1a0)),this[_0x1c3faa(0x163)]=setInterval(()=>{const _0x227a25=_0x1c3faa;this[_0x227a25(0x1b3)]('idle')['catch'](_0x43631f=>this[_0x227a25(0x172)]('heartbeat\x20failed:\x20'+_0x43631f[_0x227a25(0x16f)]));},this['heartbeatInterval']),this[_0x1c3faa(0x181)]();}async[a0_0x1b30c1(0x16c)](){const _0x4144aa=a0_0x1b30c1;if(this[_0x4144aa(0x1a9)]=!0x1,this[_0x4144aa(0x175)]?.[_0x4144aa(0x194)](),this[_0x4144aa(0x163)])clearInterval(this[_0x4144aa(0x163)]);await this['status'](_0x4144aa(0x17b))[_0x4144aa(0x188)](()=>{}),this[_0x4144aa(0x172)](_0x4144aa(0x178));}async[a0_0x1b30c1(0x177)](_0x5b95c8,_0x4798bb,_0x5f1f4f=a0_0x1b30c1(0x170)){const _0x1d414f=a0_0x1b30c1;return this[_0x1d414f(0x1a3)](_0x1d414f(0x16d),{'alias':_0x5b95c8,'task':_0x4798bb,'priority':_0x5f1f4f,'from_session':this['alias']});}async['message'](_0x3deb9f,_0xcb1a66){const _0x419537=a0_0x1b30c1;return this['call'](_0x419537(0x186),{'alias':_0x3deb9f,'message':_0xcb1a66,'from_session':this['alias']});}async[a0_0x1b30c1(0x1a6)](_0x4f7be7,_0x1ed4a9,_0x41b4ba=a0_0x1b30c1(0x19b)){const _0x5dcbed=a0_0x1b30c1;return this[_0x5dcbed(0x1a3)](_0x5dcbed(0x1aa),{'in_reply_to':_0x4f7be7,'text':_0x1ed4a9,'status':_0x41b4ba});}async[a0_0x1b30c1(0x1b3)](_0x392f75,_0x1d4ec0){const _0x4c0068=a0_0x1b30c1;return this['call'](_0x4c0068(0x1ae),{'resume_id':this[_0x4c0068(0x193)],'alias':this[_0x4c0068(0x18a)],'status':_0x392f75,'server':a0_0x2ebe85(),'hostname':a0_0x2ebe85(),'agent':this[_0x4c0068(0x180)],'project_dir':process[_0x4c0068(0x171)](),..._0x1d4ec0});}async[a0_0x1b30c1(0x1b8)](){const _0x599265=a0_0x1b30c1;return this[_0x599265(0x1a3)](_0x599265(0x166),{});}async[a0_0x1b30c1(0x19f)](_0x595bb7,_0x400361){const _0xa0d664=a0_0x1b30c1;return this[_0xa0d664(0x1a3)](_0xa0d664(0x19f),{'message':_0x595bb7,'filter_server':_0x400361?.['server'],'filter_status':_0x400361?.[_0xa0d664(0x1b3)]});}async[a0_0x1b30c1(0x181)](){const _0x27ceb7=a0_0x1b30c1;let _0x3d3c92=encodeURIComponent(this[_0x27ceb7(0x18a)]),_0x5aba98=this[_0x27ceb7(0x1b4)]+_0x27ceb7(0x1b6)+_0x3d3c92,_0x192594=this[_0x27ceb7(0x173)];while(this[_0x27ceb7(0x1a9)]){try{this['sseAbort']=new AbortController();let _0x4abe4e={'Accept':'text/event-stream'};if(this[_0x27ceb7(0x164)])_0x4abe4e['Authorization']=_0x27ceb7(0x174)+this[_0x27ceb7(0x164)];let _0x5eed62=await fetch(_0x5aba98,{'headers':_0x4abe4e,'signal':this[_0x27ceb7(0x175)][_0x27ceb7(0x191)]});if(!_0x5eed62['ok']||!_0x5eed62['body']){this[_0x27ceb7(0x172)](_0x27ceb7(0x17c)+_0x5eed62[_0x27ceb7(0x1b3)]),await this[_0x27ceb7(0x196)](_0x192594),_0x192594=Math[_0x27ceb7(0x1ad)](_0x192594*1.5,0xea60);continue;}_0x192594=this[_0x27ceb7(0x173)];let _0x4496bf=_0x5eed62[_0x27ceb7(0x183)][_0x27ceb7(0x189)](),_0x592a1e=new TextDecoder(),_0x49b01='';while(this[_0x27ceb7(0x1a9)]){let {done:_0x222a5e,value:_0x1d578b}=await _0x4496bf[_0x27ceb7(0x18e)]();if(_0x222a5e)break;_0x49b01+=_0x592a1e[_0x27ceb7(0x198)](_0x1d578b,{'stream':!0x0});let _0x1f6f60=_0x49b01[_0x27ceb7(0x19d)]('\x0a');_0x49b01=_0x1f6f60['pop']()||'';for(let _0xc1e030 of _0x1f6f60){if(!_0xc1e030[_0x27ceb7(0x179)](_0x27ceb7(0x1b2)))continue;try{let _0x10c80c=JSON['parse'](_0xc1e030[_0x27ceb7(0x192)](0x6));if(_0x10c80c[_0x27ceb7(0x16b)]===_0x27ceb7(0x18b)){this['log'](_0x27ceb7(0x17e)),this[_0x27ceb7(0x1b7)]('connected');continue;}if(_0x10c80c[_0x27ceb7(0x16b)]==='new_task'||_0x10c80c['type']===_0x27ceb7(0x197)||_0x10c80c[_0x27ceb7(0x16b)]===_0x27ceb7(0x19f))await this[_0x27ceb7(0x190)]();}catch{}}}}catch(_0x1a4065){if(_0x1a4065['name']===_0x27ceb7(0x19a))break;this[_0x27ceb7(0x1b7)]('error',_0x1a4065),this[_0x27ceb7(0x172)](_0x27ceb7(0x182)+_0x1a4065[_0x27ceb7(0x16f)]);}if(this[_0x27ceb7(0x1a9)])this['emit'](_0x27ceb7(0x178)),this[_0x27ceb7(0x172)]('SSE\x20reconnecting\x20in\x20'+_0x192594/0x3e8+'s...'),await this[_0x27ceb7(0x196)](_0x192594),_0x192594=Math['min'](_0x192594*1.5,0xea60);}}async[a0_0x1b30c1(0x190)](){const _0x464f9d=a0_0x1b30c1;try{let _0x27cb92=(await this[_0x464f9d(0x1a3)](_0x464f9d(0x18d),{'alias':this[_0x464f9d(0x18a)],'limit':0xa}))?.['messages']||[];for(let _0x3ef2a7 of _0x27cb92)await this[_0x464f9d(0x1a3)]('ack_inbox',{'alias':this[_0x464f9d(0x18a)],'message_id':_0x3ef2a7['id']}),this[_0x464f9d(0x172)]('←\x20'+_0x3ef2a7[_0x464f9d(0x19c)]+':\x20'+_0x3ef2a7[_0x464f9d(0x1b1)][_0x464f9d(0x192)](0x0,0x3c)),this['emit'](_0x464f9d(0x19e),_0x3ef2a7),this[_0x464f9d(0x1b7)]('message',_0x3ef2a7);}catch(_0x19dd9f){this[_0x464f9d(0x172)](_0x464f9d(0x1b5)+_0x19dd9f[_0x464f9d(0x16f)]);}}[a0_0x1b30c1(0x196)](_0x5d9d7a){return new Promise(_0xd0eb37=>setTimeout(_0xd0eb37,_0x5d9d7a));}}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_0x17352e=a0_0x28cd;(function(_0x310d3a,_0x44708a){const _0xfd8f47=a0_0x28cd,_0x331827=_0x310d3a();while(!![]){try{const _0x7c62ac=-parseInt(_0xfd8f47(0xfb))/0x1*(-parseInt(_0xfd8f47(0xe2))/0x2)+-parseInt(_0xfd8f47(0xfc))/0x3*(parseInt(_0xfd8f47(0xb9))/0x4)+parseInt(_0xfd8f47(0x109))/0x5+parseInt(_0xfd8f47(0xc1))/0x6+parseInt(_0xfd8f47(0xd8))/0x7+parseInt(_0xfd8f47(0x11b))/0x8+-parseInt(_0xfd8f47(0x10e))/0x9;if(_0x7c62ac===_0x44708a)break;else _0x331827['push'](_0x331827['shift']());}catch(_0x2f3a56){_0x331827['push'](_0x331827['shift']());}}}(a0_0x996b,0xc8854));import{readFileSync as a0_0x1c77ff,existsSync as a0_0x499dfa}from'fs';import{randomUUID as a0_0x2f8589}from'crypto';import{join as a0_0x560653}from'path';import{hostname as a0_0x56c1bc}from'os';import{execSync as a0_0x5e731b}from'child_process';import{Server as a0_0x167dc5}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x1ee29d}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x4dc97e,CallToolRequestSchema as a0_0x300c67}from'@modelcontextprotocol/sdk/types.js';function a0_0x996b(){const _0x45d6ce=['slice','connected','872910EWGMVa','commhub_send_task','stringify','parse','message','re-register\x20failed:\x20','error','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','now','application/json','inbox_count','session\x20disconnected','0.3.0','statusText','token','failed','read','normal','\x20priority=','application/json,\x20text/event-stream','\x20/\x20hostname=','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a',']\x20[commhub]\x20','6030731VePGRW','replied',':\x20inbox_count=','...\x20TMUX=','replace','2.0','\x20RESUME_ID=','commhub_reply','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','849878fVhUmQ','end','no\x20response','cancelled','idle','alias','trim','status','then','new_message','cwd','object','blocked','ready\x20—\x20waiting\x20for\x20events','Session\x20alias:\x20','connecting\x20to\x20','toTimeString','message_id','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','commhub-channel','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','Progress\x200-100','SIGINT','Priority\x20(default:\x20normal)','/events/','2mxpuiW','3fcmLRK','/mcp','Authorization','SSE\x20connected\x20as\x20\x22','hub','shutting\x20down,\x20reporting\x20offline...','.env','startsWith','completed','SSE\x20connection\x20error:\x20','SSE\x20fatal:\x20','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','connect','2140030PPjwGn','.claude/channels/commhub','parse\x20error:\x20','\x20PROJECT_ENV=','SSE\x20error:\x20','14760360Awmqou','min','\x20ALIAS=','warning:\x20could\x20not\x20register:\x20','in_progress','new_task','length','2025-03-26','get','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','unattributed-','ENV:\x20URL=','4011928NXUwtO','Target\x20session\x20alias','claude-code','write','catch','Current\x20task\x20description','utf-8','commhub','notification','stderr','commhub_report_status','.anet','split','→\x20injected\x20task\x20','report_status','\x20from\x20','type','heartbeat\x20failed:\x20','stdin','working','delete','send_reply','tmux\x20display-message\x20-p\x20\x27#S\x27','getReader','from','content','text','pid','get_inbox','result','commhub_get_all_status','find','POST','none','notifications/claude/channel','params','commhub_send_message','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','SIGTERM','unknown\x20tool','exit','Bearer\x20','task','tools/call','priority','send_message','string','high','join','\x20CWD=','(none)','get_all_status','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','setRequestHandler','1300084unByik','starting\x20SSE\x20listener...','from_session',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','http://127.0.0.1:9200','Message\x20content'];a0_0x996b=function(){return _0x45d6ce;};return a0_0x996b();}function I(_0x9dc50d){const _0x3b4798=a0_0x28cd;if(!a0_0x499dfa(_0x9dc50d))return;for(let _0x93e1e9 of a0_0x1c77ff(_0x9dc50d,_0x3b4798(0x121))[_0x3b4798(0x127)]('\x0a')){let _0xf301bf=_0x93e1e9['trim']();if(!_0xf301bf||_0xf301bf[_0x3b4798(0x103)]('#'))continue;let _0x30b48d=_0xf301bf['indexOf']('=');if(_0x30b48d<0x0)continue;let _0x453db9=_0xf301bf['slice'](0x0,_0x30b48d)[_0x3b4798(0xe8)](),_0x978156=_0xf301bf[_0x3b4798(0xbf)](_0x30b48d+0x1)[_0x3b4798(0xe8)]()[_0x3b4798(0xdc)](/^["']|["']$/g,'');if(!process.env[_0x453db9])process.env[_0x453db9]=_0x978156;}}var L=process.env.HOME||'~',U=a0_0x560653(L,a0_0x17352e(0x10a));I(a0_0x560653(U,a0_0x17352e(0x102)));var v=process[a0_0x17352e(0xec)]()[a0_0x17352e(0xdc)](/\//g,'-');I(a0_0x560653(U,v,'.env'));function d(){const _0xa8a647=a0_0x17352e;try{return a0_0x5e731b(_0xa8a647(0x131),{'encoding':_0xa8a647(0x121),'timeout':0x7d0})[_0xa8a647(0xe8)]();}catch{return'';}}function m(){const _0x31856f=a0_0x17352e;try{let _0x80fef8=a0_0x560653(L,_0x31856f(0x126),'config.json');if(a0_0x499dfa(_0x80fef8))return JSON[_0x31856f(0xc4)](a0_0x1c77ff(_0x80fef8,_0x31856f(0x121)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x17352e(0x100)]||a0_0x17352e(0xbd),f=process.env.COMMHUB_TMUX||d();function r(){const _0x5e2dee=a0_0x17352e;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x5e2dee(0xe8)]())return process.env.COMMHUB_ALIAS[_0x5e2dee(0xe8)]();return process[_0x5e2dee(0x124)][_0x5e2dee(0x11e)](_0x5e2dee(0xb7)+(_0x5e2dee(0x118)+(f||_0x5e2dee(0xb5))+_0x5e2dee(0xd5)+a0_0x56c1bc()+_0x5e2dee(0xd6))),_0x5e2dee(0x119)+process[_0x5e2dee(0x136)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x2f8589(),F=process.env.COMMHUB_TOKEN||u[a0_0x17352e(0xcf)]||'';function W(_0x310d26){const _0x2547b7=a0_0x17352e;let _0x47850c=new Date()[_0x2547b7(0xf2)]()[_0x2547b7(0xbf)](0x0,0x8);process[_0x2547b7(0x124)]['write']('['+_0x47850c+_0x2547b7(0xd7)+_0x310d26+'\x0a');}function N(_0x2b90f1){return new Promise(_0x9ea74e=>setTimeout(_0x9ea74e,_0x2b90f1));}W(a0_0x17352e(0x11a)+j+a0_0x17352e(0x110)+G+a0_0x17352e(0xde)+K['slice'](0x0,0x8)+a0_0x17352e(0xdb)+(f||a0_0x17352e(0x13c))+a0_0x17352e(0xb4)+process['cwd']()+a0_0x17352e(0x10c)+v);var D=new Map(),x=new a0_0x167dc5({'name':a0_0x17352e(0xf5),'version':a0_0x17352e(0xcd)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x17352e(0xf4),a0_0x17352e(0x117),a0_0x17352e(0x140),'You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.',a0_0x17352e(0xf0)+G][a0_0x17352e(0xb3)]('\x0a')});x['setRequestHandler'](a0_0x4dc97e,async()=>({'tools':[{'name':a0_0x17352e(0xdf),'description':a0_0x17352e(0xe0),'inputSchema':{'type':a0_0x17352e(0xed),'properties':{'task_id':{'type':a0_0x17352e(0xb1),'description':a0_0x17352e(0xf6)},'text':{'type':a0_0x17352e(0xb1),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x17352e(0xb1),'enum':['completed',a0_0x17352e(0xd0),a0_0x17352e(0xe5),a0_0x17352e(0xee),a0_0x17352e(0xc7),a0_0x17352e(0x112)],'description':a0_0x17352e(0xe1)}},'required':['text']}},{'name':a0_0x17352e(0x125),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0x17352e(0xed),'properties':{'status':{'type':'string','enum':[a0_0x17352e(0x12e),a0_0x17352e(0xe6),'blocked',a0_0x17352e(0xc7)]},'task':{'type':a0_0x17352e(0xb1),'description':a0_0x17352e(0x120)},'progress':{'type':'number','description':a0_0x17352e(0xf7)}},'required':[a0_0x17352e(0xe9)]}},{'name':a0_0x17352e(0xc2),'description':a0_0x17352e(0xc8),'inputSchema':{'type':a0_0x17352e(0xed),'properties':{'alias':{'type':a0_0x17352e(0xb1),'description':a0_0x17352e(0x11c)},'task':{'type':a0_0x17352e(0xb1),'description':'Task\x20content'},'priority':{'type':'string','enum':[a0_0x17352e(0xb2),a0_0x17352e(0xd2),'low'],'description':a0_0x17352e(0xf9)}},'required':['alias',a0_0x17352e(0x145)]}},{'name':a0_0x17352e(0x13f),'description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0x17352e(0xed),'properties':{'alias':{'type':a0_0x17352e(0xb1),'description':a0_0x17352e(0x11c)},'message':{'type':a0_0x17352e(0xb1),'description':a0_0x17352e(0xbe)}},'required':[a0_0x17352e(0xe7),a0_0x17352e(0xc5)]}},{'name':a0_0x17352e(0x139),'description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':a0_0x17352e(0xed),'properties':{}}}]}));async function Y(_0xf32a2b,_0x35ab56){const _0x3134c4=a0_0x17352e;let _0x4c7b3f=await fetch(j+'/mcp',{'method':_0x3134c4(0x13b),'headers':{'Content-Type':_0x3134c4(0xca),'Accept':_0x3134c4(0xd4),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x3134c4(0xc3)]({'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':_0x3134c4(0x115),'capabilities':{},'clientInfo':{'name':_0x3134c4(0xf5),'version':'0.3.0'}}})});if(!_0x4c7b3f['ok']){let _0x51779b=await _0x4c7b3f[_0x3134c4(0x135)]();return W('CommHub\x20init\x20failed:\x20'+_0x4c7b3f[_0x3134c4(0xe9)]+'\x20'+_0x51779b['slice'](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x4c7b3f[_0x3134c4(0xe9)]};}await _0x4c7b3f[_0x3134c4(0x135)]();let _0x553d44=(await(await fetch(j+_0x3134c4(0xfd),{'method':_0x3134c4(0x13b),'headers':{'Content-Type':_0x3134c4(0xca),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x3134c4(0x144)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x3134c4(0xdd),'id':0x2,'method':_0x3134c4(0x146),'params':{'name':_0xf32a2b,'arguments':_0x35ab56}})}))['text']())['split']('\x0a')[_0x3134c4(0x13a)](_0x3d7dca=>_0x3d7dca[_0x3134c4(0x103)]('data:\x20'));if(_0x553d44){let _0x5b9334=JSON[_0x3134c4(0xc4)](_0x553d44[_0x3134c4(0xbf)](0x6));return _0x5b9334?.['result']?.[_0x3134c4(0x134)]?.[0x0]?.[_0x3134c4(0x135)]?JSON[_0x3134c4(0xc4)](_0x5b9334[_0x3134c4(0x138)][_0x3134c4(0x134)][0x0]['text']):_0x5b9334;}return{'ok':!0x1,'error':_0x3134c4(0xe4)};}function a0_0x28cd(_0xbeb1bf,_0x3e4125){_0xbeb1bf=_0xbeb1bf-0xaf;const _0x996b93=a0_0x996b();let _0x28cd87=_0x996b93[_0xbeb1bf];return _0x28cd87;}x[a0_0x17352e(0xb8)](a0_0x300c67,async _0x551476=>{const _0x20c728=a0_0x17352e;let {name:_0x17faee,arguments:_0xc90664}=_0x551476[_0x20c728(0x13e)];if(_0x17faee===_0x20c728(0xdf)){let {task_id:_0x4e5432,text:_0x297114,status:_0x4a3086}=_0xc90664;if(_0x4a3086===_0x20c728(0x104)||_0x4a3086===_0x20c728(0xd0)||_0x4a3086==='cancelled'){let _0x55bd16=_0x4a3086===_0x20c728(0x104)?_0x20c728(0xd9):_0x4a3086,_0x2a2dc7=_0x4e5432?D[_0x20c728(0x116)](_0x4e5432)||_0x20c728(0x100):_0x20c728(0x100),_0x1cfc88=await Y(_0x20c728(0x130),{'alias':_0x2a2dc7,'text':_0x297114,'in_reply_to':_0x4e5432||void 0x0,'status':_0x55bd16,'from_session':G});if(_0x4e5432)D[_0x20c728(0x12f)](_0x4e5432);return{'content':[{'type':_0x20c728(0x135),'text':JSON['stringify'](_0x1cfc88)}]};}let _0x2c3433=await Y(_0x20c728(0x129),{'resume_id':K,'alias':G,'status':_0x4a3086===_0x20c728(0xee)?_0x20c728(0xee):_0x4a3086===_0x20c728(0xc7)?_0x20c728(0xc7):_0x20c728(0x12e),'task':_0x297114[_0x20c728(0xbf)](0x0,0xc8),'output':_0x297114});return{'content':[{'type':'text','text':JSON['stringify'](_0x2c3433)}]};}if(_0x17faee===_0x20c728(0x125)){let {status:_0x471378,task:_0x2947a6,progress:_0x2a3e3b}=_0xc90664,_0x10653e=await Y(_0x20c728(0x129),{'resume_id':K,'alias':G,'status':_0x471378,'task':_0x2947a6,'progress':_0x2a3e3b});return{'content':[{'type':_0x20c728(0x135),'text':JSON['stringify'](_0x10653e)}]};}if(_0x17faee===_0x20c728(0xc2)){let {alias:_0x3679cc,task:_0x205b49,priority:_0x2592bb}=_0xc90664,_0x163dd5=await Y('send_task',{'alias':_0x3679cc,'task':_0x205b49,'priority':_0x2592bb||_0x20c728(0xd2),'from_session':G});return{'content':[{'type':'text','text':JSON[_0x20c728(0xc3)](_0x163dd5)}]};}if(_0x17faee===_0x20c728(0x13f)){let {alias:_0x526b9f,message:_0x4d88e0}=_0xc90664,_0x3fb959=await Y(_0x20c728(0xb0),{'alias':_0x526b9f,'message':_0x4d88e0,'from_session':G});return{'content':[{'type':_0x20c728(0x135),'text':JSON[_0x20c728(0xc3)](_0x3fb959)}]};}if(_0x17faee===_0x20c728(0x139)){let _0x1f0678=await Y(_0x20c728(0xb6),{});return{'content':[{'type':_0x20c728(0x135),'text':JSON[_0x20c728(0xc3)](_0x1f0678)}]};}return{'content':[{'type':_0x20c728(0x135),'text':JSON[_0x20c728(0xc3)]({'error':_0x20c728(0x142)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x5382ed=a0_0x17352e;try{await Y(_0x5382ed(0x129),{'resume_id':K,'alias':G,'status':_0x5382ed(0xe6),'server':a0_0x56c1bc(),'hostname':a0_0x56c1bc(),'agent':_0x5382ed(0x11d),'project_dir':process[_0x5382ed(0xec)](),'tmux_name':f||void 0x0}),W('re-registered\x20as\x20\x22'+G+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x1392e0){W(_0x5382ed(0xc6)+_0x1392e0);}}async function o(){const _0x31c1f6=a0_0x17352e;let _0x493d63=j+_0x31c1f6(0xfa)+encodeURIComponent(G),_0x3cbdca={};if(F)_0x3cbdca[_0x31c1f6(0xfe)]='Bearer\x20'+F;W(_0x31c1f6(0xf1)+_0x493d63);let _0x717469=O,_0x4ab8d5=!0x0,_0x403b17=null;while(!0x0){try{let _0x3ef9c4=await fetch(_0x493d63,{'headers':_0x3cbdca});if(!_0x3ef9c4['ok']){if(W(_0x31c1f6(0x10d)+_0x3ef9c4['status']+'\x20'+_0x3ef9c4[_0x31c1f6(0xce)]),_0x403b17=_0x403b17??Date['now'](),Date[_0x31c1f6(0xc9)]()-_0x403b17>T){W(_0x31c1f6(0x107)+j+_0x31c1f6(0xbc));return;}await N(_0x717469),_0x717469=Math[_0x31c1f6(0x10f)](_0x717469*0x2,R);continue;}let _0x5764e2=_0x3ef9c4['body'][_0x31c1f6(0x132)](),_0x29dc4b=new TextDecoder(),_0x1bfe00='';_0x717469=O;while(!0x0){let {done:_0x41780b,value:_0xfb1aab}=await _0x5764e2[_0x31c1f6(0xd1)]();if(_0x41780b)break;_0x1bfe00+=_0x29dc4b['decode'](_0xfb1aab,{'stream':!0x0});let _0x3af0bc=_0x1bfe00[_0x31c1f6(0x127)]('\x0a\x0a');_0x1bfe00=_0x3af0bc['pop']()||'';for(let _0x115981 of _0x3af0bc){let _0x5af90e=_0x115981[_0x31c1f6(0x127)]('\x0a')[_0x31c1f6(0x13a)](_0x1ab562=>_0x1ab562[_0x31c1f6(0x103)]('data:\x20'));if(!_0x5af90e)continue;try{let _0x4caa24=JSON[_0x31c1f6(0xc4)](_0x5af90e[_0x31c1f6(0xbf)](0x6));if(await a(_0x4caa24),_0x4caa24[_0x31c1f6(0x12b)]===_0x31c1f6(0xc0)){if(_0x403b17=null,!_0x4ab8d5)await l();_0x4ab8d5=!0x1;}}catch(_0x3c00b7){W(_0x31c1f6(0x10b)+_0x3c00b7);}}}W('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x4534e1){W(_0x31c1f6(0x105)+_0x4534e1);}if(_0x403b17=_0x403b17??Date[_0x31c1f6(0xc9)](),Date[_0x31c1f6(0xc9)]()-_0x403b17>T){W(_0x31c1f6(0x107)+j+')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。');return;}await N(_0x717469),_0x717469=Math['min'](_0x717469*0x2,R);}}async function a(_0x1cc631){const _0x27d149=a0_0x17352e;if(_0x1cc631[_0x27d149(0x12b)]===_0x27d149(0xc0)){W(_0x27d149(0xff)+G+'\x22');return;}if(_0x1cc631[_0x27d149(0x12b)]===_0x27d149(0xeb)){if(W('←\x20message\x20from\x20'+_0x1cc631[_0x27d149(0x133)]+':\x20'+_0x1cc631[_0x27d149(0xc5)][_0x27d149(0xbf)](0x0,0x3c)),await x[_0x27d149(0x123)]({'method':_0x27d149(0x13d),'params':{'content':_0x1cc631[_0x27d149(0xc5)],'meta':{'sender':_0x1cc631[_0x27d149(0x133)]||_0x27d149(0x100),'sender_id':_0x27d149(0x122),'user':_0x1cc631[_0x27d149(0x133)]||_0x27d149(0x100),'priority':_0x27d149(0xd2)}}}),_0x1cc631[_0x27d149(0xf3)])await Y('ack_inbox',{'alias':G,'message_id':_0x1cc631[_0x27d149(0xf3)]});return;}if(_0x1cc631['type']===_0x27d149(0x113)||_0x1cc631[_0x27d149(0x12b)]==='broadcast'){W('←\x20'+_0x1cc631[_0x27d149(0x12b)]+_0x27d149(0xda)+_0x1cc631[_0x27d149(0xcb)]+_0x27d149(0xd3)+(_0x1cc631[_0x27d149(0xaf)]||_0x27d149(0xd2)));let _0x44481e=await Y(_0x27d149(0x137),{'alias':G,'limit':0x5});if(_0x44481e?.['ok']&&_0x44481e['messages']?.[_0x27d149(0x114)]>0x0)for(let _0x6e2e91 of _0x44481e['messages']){let _0x563438={'sender':_0x6e2e91[_0x27d149(0xbb)]||'hub','sender_id':_0x27d149(0x122),'user':_0x6e2e91[_0x27d149(0xbb)]||'hub','task_id':_0x6e2e91['id'],'priority':_0x6e2e91[_0x27d149(0xaf)]||'normal'};D['set'](_0x6e2e91['id'],_0x6e2e91['from_session']||'hub'),await x['notification']({'method':_0x27d149(0x13d),'params':{'content':_0x6e2e91[_0x27d149(0x134)],'meta':_0x563438}}),W(_0x27d149(0x128)+_0x6e2e91['id'][_0x27d149(0xbf)](0x0,0x8)+_0x27d149(0x12a)+_0x6e2e91['from_session']+':\x20'+_0x6e2e91[_0x27d149(0x134)][_0x27d149(0xbf)](0x0,0x3c)),await Y('ack_inbox',{'alias':G,'message_id':_0x6e2e91['id']});}}}async function n(){const _0x2fa415=a0_0x17352e;let _0xc95d36=new a0_0x1ee29d();await x[_0x2fa415(0x108)](_0xc95d36),W('MCP\x20stdio\x20connected'),W(_0x2fa415(0xba)),o()[_0x2fa415(0x11f)](_0x5ddef9=>W(_0x2fa415(0x106)+_0x5ddef9)),Y(_0x2fa415(0x129),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x56c1bc(),'hostname':a0_0x56c1bc(),'agent':'claude-code','project_dir':process[_0x2fa415(0xec)](),'tmux_name':f||void 0x0})[_0x2fa415(0xea)](()=>W('registered\x20as\x20\x22'+G+'\x22\x20('+K[_0x2fa415(0xbf)](0x0,0x8)+')'))['catch'](_0x5b7f3d=>W(_0x2fa415(0x111)+_0x5b7f3d)),setInterval(()=>{const _0x123496=_0x2fa415;Y(_0x123496(0x129),{'resume_id':K,'alias':G,'status':_0x123496(0xe6),'server':a0_0x56c1bc(),'hostname':a0_0x56c1bc(),'agent':'claude-code','project_dir':process[_0x123496(0xec)](),'tmux_name':f||void 0x0})[_0x123496(0x11f)](_0x2b187d=>W(_0x123496(0x12c)+_0x2b187d));},0x2bf20),W(_0x2fa415(0xef));}n()[a0_0x17352e(0x11f)](_0xbc3394=>{const _0x1474a9=a0_0x17352e;W('fatal:\x20'+_0xbc3394),process[_0x1474a9(0x143)](0x1);});async function b(){const _0x4da67e=a0_0x17352e;W(_0x4da67e(0x101)),await Y('report_status',{'resume_id':K,'alias':G,'status':'offline','task':_0x4da67e(0xcc)})[_0x4da67e(0x11f)](()=>{}),process[_0x4da67e(0x143)](0x0);}process[a0_0x17352e(0x12d)]['on'](a0_0x17352e(0xe3),()=>b()),process['on'](a0_0x17352e(0x141),()=>b()),process['on'](a0_0x17352e(0xf8),()=>b());
|
|
2
|
+
const a0_0x3ae604=a0_0x3075;(function(_0x5a8129,_0x5756c1){const _0x2598f5=a0_0x3075,_0x240c54=_0x5a8129();while(!![]){try{const _0x519cc4=parseInt(_0x2598f5(0x13a))/0x1+parseInt(_0x2598f5(0xd7))/0x2+parseInt(_0x2598f5(0x140))/0x3+-parseInt(_0x2598f5(0x148))/0x4+parseInt(_0x2598f5(0x14c))/0x5*(parseInt(_0x2598f5(0x146))/0x6)+parseInt(_0x2598f5(0xbb))/0x7*(-parseInt(_0x2598f5(0x100))/0x8)+parseInt(_0x2598f5(0x135))/0x9*(parseInt(_0x2598f5(0xc6))/0xa);if(_0x519cc4===_0x5756c1)break;else _0x240c54['push'](_0x240c54['shift']());}catch(_0x40c2d5){_0x240c54['push'](_0x240c54['shift']());}}}(a0_0x4895,0x29472));import{readFileSync as a0_0x4a198a,existsSync as a0_0x4155d0}from'fs';import{randomUUID as a0_0x22c662}from'crypto';import{join as a0_0x28d13d}from'path';import{hostname as a0_0x4ef5e6}from'os';import{execSync as a0_0x558da6}from'child_process';import{Server as a0_0x1e3f90}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x401e97}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x3dc9af,CallToolRequestSchema as a0_0x12589d}from'@modelcontextprotocol/sdk/types.js';function I(_0x2ca656){const _0x5c1019=a0_0x3075;if(!a0_0x4155d0(_0x2ca656))return;for(let _0xa6ea66 of a0_0x4a198a(_0x2ca656,_0x5c1019(0x136))[_0x5c1019(0xf0)]('\x0a')){let _0x58142a=_0xa6ea66[_0x5c1019(0x147)]();if(!_0x58142a||_0x58142a[_0x5c1019(0x128)]('#'))continue;let _0x269872=_0x58142a['indexOf']('=');if(_0x269872<0x0)continue;let _0x11bf74=_0x58142a[_0x5c1019(0xc7)](0x0,_0x269872)[_0x5c1019(0x147)](),_0x51f089=_0x58142a[_0x5c1019(0xc7)](_0x269872+0x1)['trim']()[_0x5c1019(0xd4)](/^["']|["']$/g,'');if(!process.env[_0x11bf74])process.env[_0x11bf74]=_0x51f089;}}var L=process.env.HOME||'~',U=a0_0x28d13d(L,'.claude/channels/commhub');function a0_0x3075(_0x1e4114,_0xf3a032){_0x1e4114=_0x1e4114-0xb5;const _0x489584=a0_0x4895();let _0x30759b=_0x489584[_0x1e4114];return _0x30759b;}I(a0_0x28d13d(U,a0_0x3ae604(0x11f)));var v=process[a0_0x3ae604(0xf7)]()[a0_0x3ae604(0xd4)](/\//g,'-');I(a0_0x28d13d(U,v,a0_0x3ae604(0x11f)));function d(){const _0x51e235=a0_0x3ae604;try{return a0_0x558da6(_0x51e235(0x112),{'encoding':_0x51e235(0x136),'timeout':0x7d0})[_0x51e235(0x147)]();}catch{return'';}}function m(){const _0x202493=a0_0x3ae604;try{let _0x5cf832=a0_0x28d13d(L,_0x202493(0xdf),_0x202493(0xfa));if(a0_0x4155d0(_0x5cf832))return JSON[_0x202493(0xf3)](a0_0x4a198a(_0x5cf832,_0x202493(0x136)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x3ae604(0xd3)]||'http://127.0.0.1:9200',f=process.env.COMMHUB_TMUX||d();function r(){const _0x54c004=a0_0x3ae604;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x54c004(0x147)]())return process.env.COMMHUB_ALIAS['trim']();return process[_0x54c004(0xfd)][_0x54c004(0x142)](_0x54c004(0x104)+(_0x54c004(0xcd)+(f||_0x54c004(0xdd))+'\x20/\x20hostname='+a0_0x4ef5e6()+_0x54c004(0x11a))),'unattributed-'+process[_0x54c004(0x119)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x22c662(),F=process.env.COMMHUB_TOKEN||u[a0_0x3ae604(0xc9)]||'';function W(_0x47ba2c){const _0x3591de=a0_0x3ae604;let _0x283157=new Date()['toTimeString']()[_0x3591de(0xc7)](0x0,0x8);process[_0x3591de(0xfd)][_0x3591de(0x142)]('['+_0x283157+_0x3591de(0xbf)+_0x47ba2c+'\x0a');}function N(_0x510b0a){return new Promise(_0x352791=>setTimeout(_0x352791,_0x510b0a));}W(a0_0x3ae604(0xf2)+j+a0_0x3ae604(0x11c)+G+'\x20RESUME_ID='+K[a0_0x3ae604(0xc7)](0x0,0x8)+a0_0x3ae604(0x145)+(f||a0_0x3ae604(0x12f))+'\x20CWD='+process['cwd']()+a0_0x3ae604(0x122)+v);var D=new Map(),x=new a0_0x1e3f90({'name':a0_0x3ae604(0x118),'version':a0_0x3ae604(0xe1)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x3ae604(0x149),a0_0x3ae604(0x129),a0_0x3ae604(0xd1),a0_0x3ae604(0x12e),a0_0x3ae604(0xd6)+G][a0_0x3ae604(0x12d)]('\x0a')});function a0_0x4895(){const _0x9a59b=['idle','normal','SSE\x20connection\x20error:\x20','239424PPJjcl','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','write','connecting\x20to\x20','getReader','...\x20TMUX=','6lMMFBL','trim','664132GacdmM','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','commhub_send_task','send_message','311615IoGixP','text','blocked','\x22\x20after\x20SSE\x20reconnect','initialize','2.0','unknown\x20tool','then','175rQmeuU','object','←\x20message\x20from\x20','\x20priority=',']\x20[commhub]\x20','→\x20injected\x20task\x20','tools/call','decode','in_progress','SIGINT','parse\x20error:\x20','1088620odxjqx','slice','heartbeat\x20failed:\x20','token','MCP\x20stdio\x20connected','find','body','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','exit','task','commhub_report_status','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','report_status','hub','replace','setRequestHandler','Session\x20alias:\x20','2270CGjxsz','result','ready\x20—\x20waiting\x20for\x20events','content','string','commhub_reply','(none)','notifications/claude/channel','.anet','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','0.3.0','high','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','priority','get','low','broadcast','Message\x20content','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','completed','Priority\x20(default:\x20normal)','status','warning:\x20could\x20not\x20register:\x20','set','split','connected','ENV:\x20URL=','parse','\x22\x20(','get_all_status','cancelled','cwd','min','starting\x20SSE\x20listener...','config.json','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','application/json','stderr','offline','from','58664VGglxl','application/json,\x20text/event-stream','Task\x20content','message','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','stringify','replied','message_id','statusText','POST','/events/','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','CommHub\x20init\x20failed:\x20','Bearer\x20','SSE\x20stream\x20ended,\x20reconnecting...','alias','re-register\x20failed:\x20','commhub_send_message','tmux\x20display-message\x20-p\x20\x27#S\x27','commhub_get_all_status','fatal:\x20','length','claude-code','SSE\x20error:\x20','commhub-channel','pid','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','messages','\x20ALIAS=','working','now','.env','error','Reply\x20text\x20/\x20result\x20summary','\x20PROJECT_ENV=','type','catch','data:\x20','no\x20response','pop','startsWith','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','re-registered\x20as\x20\x22','stdin','failed','join','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','none','SSE\x20connected\x20as\x20\x22','session\x20disconnected','ack_inbox','/mcp','Target\x20session\x20alias','18ibjUHC','utf-8',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','notification','commhub','157442VskWCO','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','from_session'];a0_0x4895=function(){return _0x9a59b;};return a0_0x4895();}x['setRequestHandler'](a0_0x3dc9af,async()=>({'tools':[{'name':'commhub_reply','description':a0_0x3ae604(0x141),'inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0x3ae604(0xdb),'description':a0_0x3ae604(0xe3)},'text':{'type':'string','description':a0_0x3ae604(0x121)},'status':{'type':a0_0x3ae604(0xdb),'enum':[a0_0x3ae604(0xeb),a0_0x3ae604(0x12c),a0_0x3ae604(0xf6),a0_0x3ae604(0xb5),a0_0x3ae604(0x120),a0_0x3ae604(0xc3)],'description':a0_0x3ae604(0xfb)}},'required':['text']}},{'name':a0_0x3ae604(0xd0),'description':a0_0x3ae604(0xe0),'inputSchema':{'type':a0_0x3ae604(0xbc),'properties':{'status':{'type':a0_0x3ae604(0xdb),'enum':['working',a0_0x3ae604(0x13d),a0_0x3ae604(0xb5),a0_0x3ae604(0x120)]},'task':{'type':'string','description':'Current\x20task\x20description'},'progress':{'type':'number','description':'Progress\x200-100'}},'required':[a0_0x3ae604(0xed)]}},{'name':a0_0x3ae604(0x14a),'description':a0_0x3ae604(0xea),'inputSchema':{'type':a0_0x3ae604(0xbc),'properties':{'alias':{'type':'string','description':'Target\x20session\x20alias'},'task':{'type':a0_0x3ae604(0xdb),'description':a0_0x3ae604(0x102)},'priority':{'type':a0_0x3ae604(0xdb),'enum':[a0_0x3ae604(0xe2),'normal',a0_0x3ae604(0xe6)],'description':a0_0x3ae604(0xec)}},'required':[a0_0x3ae604(0x10f),a0_0x3ae604(0xcf)]}},{'name':a0_0x3ae604(0x111),'description':a0_0x3ae604(0xe9),'inputSchema':{'type':a0_0x3ae604(0xbc),'properties':{'alias':{'type':a0_0x3ae604(0xdb),'description':a0_0x3ae604(0x134)},'message':{'type':a0_0x3ae604(0xdb),'description':a0_0x3ae604(0xe8)}},'required':[a0_0x3ae604(0x10f),a0_0x3ae604(0x103)]}},{'name':a0_0x3ae604(0x113),'description':a0_0x3ae604(0x13b),'inputSchema':{'type':a0_0x3ae604(0xbc),'properties':{}}}]}));async function Y(_0x19cc54,_0x47ec97){const _0x5972ca=a0_0x3ae604;let _0x7a9de9=await fetch(j+_0x5972ca(0x133),{'method':_0x5972ca(0x109),'headers':{'Content-Type':_0x5972ca(0xfc),'Accept':_0x5972ca(0x101),...F?{'Authorization':_0x5972ca(0x10d)+F}:{}},'body':JSON[_0x5972ca(0x105)]({'jsonrpc':'2.0','id':0x1,'method':_0x5972ca(0xb7),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x5972ca(0x118),'version':_0x5972ca(0xe1)}}})});if(!_0x7a9de9['ok']){let _0x329dc4=await _0x7a9de9[_0x5972ca(0x14d)]();return W(_0x5972ca(0x10c)+_0x7a9de9[_0x5972ca(0xed)]+'\x20'+_0x329dc4['slice'](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x7a9de9['status']};}await _0x7a9de9[_0x5972ca(0x14d)]();let _0x21bd46=(await(await fetch(j+_0x5972ca(0x133),{'method':_0x5972ca(0x109),'headers':{'Content-Type':'application/json','Accept':_0x5972ca(0x101),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x5972ca(0x105)]({'jsonrpc':_0x5972ca(0xb8),'id':0x2,'method':_0x5972ca(0xc1),'params':{'name':_0x19cc54,'arguments':_0x47ec97}})}))[_0x5972ca(0x14d)]())[_0x5972ca(0xf0)]('\x0a')[_0x5972ca(0xcb)](_0x50d7a6=>_0x50d7a6[_0x5972ca(0x128)](_0x5972ca(0x125)));if(_0x21bd46){let _0x2fcb19=JSON[_0x5972ca(0xf3)](_0x21bd46[_0x5972ca(0xc7)](0x6));return _0x2fcb19?.[_0x5972ca(0xd8)]?.[_0x5972ca(0xda)]?.[0x0]?.[_0x5972ca(0x14d)]?JSON[_0x5972ca(0xf3)](_0x2fcb19[_0x5972ca(0xd8)][_0x5972ca(0xda)][0x0][_0x5972ca(0x14d)]):_0x2fcb19;}return{'ok':!0x1,'error':_0x5972ca(0x126)};}x[a0_0x3ae604(0xd5)](a0_0x12589d,async _0x53b6fb=>{const _0x939594=a0_0x3ae604;let {name:_0x3e9f45,arguments:_0x1fb14f}=_0x53b6fb['params'];if(_0x3e9f45===_0x939594(0xdc)){let {task_id:_0x53ed5f,text:_0x55a24a,status:_0x5cb73b}=_0x1fb14f;if(_0x5cb73b==='completed'||_0x5cb73b===_0x939594(0x12c)||_0x5cb73b===_0x939594(0xf6)){let _0x1e95ae=_0x5cb73b===_0x939594(0xeb)?_0x939594(0x106):_0x5cb73b,_0x32f7ac=_0x53ed5f?D[_0x939594(0xe5)](_0x53ed5f)||_0x939594(0xd3):_0x939594(0xd3),_0x32feb0=await Y('send_reply',{'alias':_0x32f7ac,'text':_0x55a24a,'in_reply_to':_0x53ed5f||void 0x0,'status':_0x1e95ae,'from_session':G});if(_0x53ed5f)D['delete'](_0x53ed5f);return{'content':[{'type':'text','text':JSON[_0x939594(0x105)](_0x32feb0)}]};}let _0x542f96=await Y('report_status',{'resume_id':K,'alias':G,'status':_0x5cb73b==='blocked'?'blocked':_0x5cb73b===_0x939594(0x120)?_0x939594(0x120):_0x939594(0x11d),'task':_0x55a24a['slice'](0x0,0xc8),'output':_0x55a24a});return{'content':[{'type':'text','text':JSON[_0x939594(0x105)](_0x542f96)}]};}if(_0x3e9f45==='commhub_report_status'){let {status:_0x3761b0,task:_0x462271,progress:_0x5c5a98}=_0x1fb14f,_0x54cf02=await Y(_0x939594(0xd2),{'resume_id':K,'alias':G,'status':_0x3761b0,'task':_0x462271,'progress':_0x5c5a98});return{'content':[{'type':_0x939594(0x14d),'text':JSON[_0x939594(0x105)](_0x54cf02)}]};}if(_0x3e9f45==='commhub_send_task'){let {alias:_0x14008d,task:_0x102e4f,priority:_0x5627a9}=_0x1fb14f,_0x593ca9=await Y('send_task',{'alias':_0x14008d,'task':_0x102e4f,'priority':_0x5627a9||_0x939594(0x13e),'from_session':G});return{'content':[{'type':_0x939594(0x14d),'text':JSON['stringify'](_0x593ca9)}]};}if(_0x3e9f45===_0x939594(0x111)){let {alias:_0x5d62b0,message:_0x4a9e77}=_0x1fb14f,_0x3592b9=await Y(_0x939594(0x14b),{'alias':_0x5d62b0,'message':_0x4a9e77,'from_session':G});return{'content':[{'type':_0x939594(0x14d),'text':JSON[_0x939594(0x105)](_0x3592b9)}]};}if(_0x3e9f45===_0x939594(0x113)){let _0x4d42c4=await Y(_0x939594(0xf5),{});return{'content':[{'type':_0x939594(0x14d),'text':JSON[_0x939594(0x105)](_0x4d42c4)}]};}return{'content':[{'type':_0x939594(0x14d),'text':JSON[_0x939594(0x105)]({'error':_0x939594(0xb9)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x32e74d=a0_0x3ae604;try{await Y(_0x32e74d(0xd2),{'resume_id':K,'alias':G,'status':_0x32e74d(0x13d),'server':a0_0x4ef5e6(),'hostname':a0_0x4ef5e6(),'agent':_0x32e74d(0x116),'project_dir':process['cwd'](),'tmux_name':f||void 0x0}),W(_0x32e74d(0x12a)+G+_0x32e74d(0xb6));}catch(_0x55383d){W(_0x32e74d(0x110)+_0x55383d);}}async function o(){const _0x2c3d92=a0_0x3ae604;let _0x5cbdf6=j+_0x2c3d92(0x10a)+encodeURIComponent(G),_0x48c08a={};if(F)_0x48c08a['Authorization']=_0x2c3d92(0x10d)+F;W(_0x2c3d92(0x143)+_0x5cbdf6);let _0x373844=O,_0x5396f8=!0x0,_0x470622=null;while(!0x0){try{let _0x313878=await fetch(_0x5cbdf6,{'headers':_0x48c08a});if(!_0x313878['ok']){if(W(_0x2c3d92(0x117)+_0x313878[_0x2c3d92(0xed)]+'\x20'+_0x313878[_0x2c3d92(0x108)]),_0x470622=_0x470622??Date[_0x2c3d92(0x11e)](),Date[_0x2c3d92(0x11e)]()-_0x470622>T){W(_0x2c3d92(0x10b)+j+_0x2c3d92(0x137));return;}await N(_0x373844),_0x373844=Math[_0x2c3d92(0xf8)](_0x373844*0x2,R);continue;}let _0x163d9f=_0x313878[_0x2c3d92(0xcc)][_0x2c3d92(0x144)](),_0x502d43=new TextDecoder(),_0x17eb1c='';_0x373844=O;while(!0x0){let {done:_0x1f8d94,value:_0x424fa5}=await _0x163d9f['read']();if(_0x1f8d94)break;_0x17eb1c+=_0x502d43[_0x2c3d92(0xc2)](_0x424fa5,{'stream':!0x0});let _0x48e14e=_0x17eb1c[_0x2c3d92(0xf0)]('\x0a\x0a');_0x17eb1c=_0x48e14e[_0x2c3d92(0x127)]()||'';for(let _0x25f392 of _0x48e14e){let _0x3c2d87=_0x25f392[_0x2c3d92(0xf0)]('\x0a')['find'](_0x5011ba=>_0x5011ba[_0x2c3d92(0x128)]('data:\x20'));if(!_0x3c2d87)continue;try{let _0x452550=JSON[_0x2c3d92(0xf3)](_0x3c2d87[_0x2c3d92(0xc7)](0x6));if(await a(_0x452550),_0x452550[_0x2c3d92(0x123)]==='connected'){if(_0x470622=null,!_0x5396f8)await l();_0x5396f8=!0x1;}}catch(_0x3c87bc){W(_0x2c3d92(0xc5)+_0x3c87bc);}}}W(_0x2c3d92(0x10e));}catch(_0x480f0d){W(_0x2c3d92(0x13f)+_0x480f0d);}if(_0x470622=_0x470622??Date[_0x2c3d92(0x11e)](),Date['now']()-_0x470622>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x2c3d92(0x137));return;}await N(_0x373844),_0x373844=Math[_0x2c3d92(0xf8)](_0x373844*0x2,R);}}async function a(_0x388cdb){const _0x3b88fc=a0_0x3ae604;if(_0x388cdb['type']===_0x3b88fc(0xf1)){W(_0x3b88fc(0x130)+G+'\x22');return;}if(_0x388cdb['type']==='new_message'){if(W(_0x3b88fc(0xbd)+_0x388cdb[_0x3b88fc(0xff)]+':\x20'+_0x388cdb[_0x3b88fc(0x103)][_0x3b88fc(0xc7)](0x0,0x3c)),await x[_0x3b88fc(0x138)]({'method':_0x3b88fc(0xde),'params':{'content':_0x388cdb[_0x3b88fc(0x103)],'meta':{'sender':_0x388cdb['from']||'hub','sender_id':_0x3b88fc(0x139),'user':_0x388cdb[_0x3b88fc(0xff)]||_0x3b88fc(0xd3),'priority':_0x3b88fc(0x13e)}}}),_0x388cdb[_0x3b88fc(0x107)])await Y(_0x3b88fc(0x132),{'alias':G,'message_id':_0x388cdb['message_id']});return;}if(_0x388cdb[_0x3b88fc(0x123)]==='new_task'||_0x388cdb[_0x3b88fc(0x123)]===_0x3b88fc(0xe7)){W('←\x20'+_0x388cdb[_0x3b88fc(0x123)]+':\x20inbox_count='+_0x388cdb['inbox_count']+_0x3b88fc(0xbe)+(_0x388cdb['priority']||_0x3b88fc(0x13e)));let _0x14add8=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x14add8?.['ok']&&_0x14add8[_0x3b88fc(0x11b)]?.[_0x3b88fc(0x115)]>0x0)for(let _0x1d47b2 of _0x14add8[_0x3b88fc(0x11b)]){let _0x58562a={'sender':_0x1d47b2['from_session']||_0x3b88fc(0xd3),'sender_id':'commhub','user':_0x1d47b2[_0x3b88fc(0x13c)]||'hub','task_id':_0x1d47b2['id'],'priority':_0x1d47b2[_0x3b88fc(0xe4)]||_0x3b88fc(0x13e)};D[_0x3b88fc(0xef)](_0x1d47b2['id'],_0x1d47b2['from_session']||_0x3b88fc(0xd3)),await x[_0x3b88fc(0x138)]({'method':_0x3b88fc(0xde),'params':{'content':_0x1d47b2[_0x3b88fc(0xda)],'meta':_0x58562a}}),W(_0x3b88fc(0xc0)+_0x1d47b2['id'][_0x3b88fc(0xc7)](0x0,0x8)+'\x20from\x20'+_0x1d47b2['from_session']+':\x20'+_0x1d47b2[_0x3b88fc(0xda)][_0x3b88fc(0xc7)](0x0,0x3c)),await Y(_0x3b88fc(0x132),{'alias':G,'message_id':_0x1d47b2['id']});}}}async function n(){const _0x5a7335=a0_0x3ae604;let _0x23b6b5=new a0_0x401e97();await x['connect'](_0x23b6b5),W(_0x5a7335(0xca)),W(_0x5a7335(0xf9)),o()['catch'](_0xedb224=>W('SSE\x20fatal:\x20'+_0xedb224)),Y(_0x5a7335(0xd2),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x4ef5e6(),'hostname':a0_0x4ef5e6(),'agent':'claude-code','project_dir':process[_0x5a7335(0xf7)](),'tmux_name':f||void 0x0})[_0x5a7335(0xba)](()=>W('registered\x20as\x20\x22'+G+_0x5a7335(0xf4)+K['slice'](0x0,0x8)+')'))[_0x5a7335(0x124)](_0x286daf=>W(_0x5a7335(0xee)+_0x286daf)),setInterval(()=>{const _0x353124=_0x5a7335;Y(_0x353124(0xd2),{'resume_id':K,'alias':G,'status':_0x353124(0x13d),'server':a0_0x4ef5e6(),'hostname':a0_0x4ef5e6(),'agent':_0x353124(0x116),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x353124(0x124)](_0x3a0425=>W(_0x353124(0xc8)+_0x3a0425));},0x2bf20),W(_0x5a7335(0xd9));}n()['catch'](_0x2aaa6b=>{const _0x292e00=a0_0x3ae604;W(_0x292e00(0x114)+_0x2aaa6b),process[_0x292e00(0xce)](0x1);});async function b(){const _0xb687b7=a0_0x3ae604;W('shutting\x20down,\x20reporting\x20offline...'),await Y('report_status',{'resume_id':K,'alias':G,'status':_0xb687b7(0xfe),'task':_0xb687b7(0x131)})[_0xb687b7(0x124)](()=>{}),process[_0xb687b7(0xce)](0x0);}process[a0_0x3ae604(0x12b)]['on']('end',()=>b()),process['on']('SIGTERM',()=>b()),process['on'](a0_0x3ae604(0xc4),()=>b());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.14-preview.0",
|
|
4
4
|
"description": "AI Agent Network CLI — Local-first multi-agent orchestration across 4 runtimes (Claude Code CLI / Claude Agent SDK / Codex SDK / Grok Build ACP) and 8+ LLM providers (Anthropic / OpenAI / xAI Grok / MiniMax / DeepSeek / GLM / Kimi / InternLM / Xiaomi MiMo / OpenRouter). Apache 2.0.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/client.js",
|