@sleep2agi/agent-network 2.2.20 → 2.2.21
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
|
-
function
|
|
1
|
+
const a0_0x189926=a0_0x1d56;function a0_0x31dc(){const _0x3c4d50=['cwd','toString','broadcast','content','log','heartbeatInterval','completed','1312130QwErEn','type','toTimeString','registered','startsWith','url','POST','192630AoXeUB','signal','sleep','5577182ljVZTj','sdk-','agent','read','text','disconnect','2.0','status','Bearer\x20','autoConnect','server','reply','SSE\x20reconnecting\x20in\x20','report_status','getAllStatus','48PpsnpG','ack_inbox','task','messages','slice','41722TVqCKm','now','6CbCxXj','SSE\x20error:\x20','application/json','running','sseAbort','7ZjzGAK','name','heartbeatTimer','42150QMxcME','get_inbox','min','1274152mxgTMQ','body','parse','normal','new_task','token','sdk','disconnected','from_session','resumeId','data:\x20','12ivUixo','emit','message','catch','connectSSE','56oQvQji','81KblxoM','call','/mcp','13979irOMkQ','pop','abort','idle','decode','Authorization','alias','AbortError','new_message','getReader','s...','connect','tools/call','send_reply','reconnectDelay','send','send_task','processInbox'];a0_0x31dc=function(){return _0x3c4d50;};return a0_0x31dc();}(function(_0x4aada5,_0x173b1f){const _0x2b4e33=a0_0x1d56,_0x310a8a=_0x4aada5();while(!![]){try{const _0x16fe90=-parseInt(_0x2b4e33(0xcf))/0x1*(parseInt(_0x2b4e33(0xc8))/0x2)+-parseInt(_0x2b4e33(0xd2))/0x3*(parseInt(_0x2b4e33(0xc3))/0x4)+-parseInt(_0x2b4e33(0xaa))/0x5*(parseInt(_0x2b4e33(0xca))/0x6)+-parseInt(_0x2b4e33(0x91))/0x7*(-parseInt(_0x2b4e33(0x8d))/0x8)+parseInt(_0x2b4e33(0x8e))/0x9*(parseInt(_0x2b4e33(0xb1))/0xa)+parseInt(_0x2b4e33(0xd5))/0xb+parseInt(_0x2b4e33(0x88))/0xc*(parseInt(_0x2b4e33(0xb4))/0xd);if(_0x16fe90===_0x173b1f)break;else _0x310a8a['push'](_0x310a8a['shift']());}catch(_0x1d19aa){_0x310a8a['push'](_0x310a8a['shift']());}}}(a0_0x31dc,0x25e03));import{EventEmitter as a0_0x342fd7}from'events';function a0_0x1d56(_0x2ae1b2,_0x54313e){_0x2ae1b2=_0x2ae1b2-0x83;const _0x31dc3b=a0_0x31dc();let _0x1d565f=_0x31dc3b[_0x2ae1b2];return _0x1d565f;}import{hostname as a0_0x20dba2}from'os';class T extends a0_0x342fd7{[a0_0x189926(0xaf)];[a0_0x189926(0x97)];['token'];[a0_0x189926(0xb6)];[a0_0x189926(0x86)];['heartbeatInterval'];[a0_0x189926(0x9f)];[a0_0x189926(0xd1)];[a0_0x189926(0xce)];[a0_0x189926(0xcd)]=!0x1;constructor(_0x51461a){const _0xff97f3=a0_0x189926;super();if(this['url']=_0x51461a[_0xff97f3(0xaf)]['replace'](/\/$/,''),this[_0xff97f3(0x97)]=_0x51461a['alias'],this[_0xff97f3(0xda)]=_0x51461a[_0xff97f3(0xda)],this['agent']=_0x51461a['agent']||_0xff97f3(0x83),this[_0xff97f3(0x86)]=_0xff97f3(0xb5)+_0x51461a[_0xff97f3(0x97)]+'-'+Date[_0xff97f3(0xc9)]()[_0xff97f3(0xa4)](0x24),this['heartbeatInterval']=_0x51461a['heartbeatInterval']??0x2bf20,this['reconnectDelay']=_0x51461a['reconnectDelay']??0xbb8,_0x51461a[_0xff97f3(0xbd)]!==!0x1)this[_0xff97f3(0x9c)]();}['log'](_0x521869){const _0x3e8f83=a0_0x189926;console[_0x3e8f83(0xa7)]('['+new Date()[_0x3e8f83(0xac)]()[_0x3e8f83(0xc7)](0x0,0x8)+']\x20[commhub:'+this['alias']+']\x20'+_0x521869);}async['call'](_0x19720c,_0x4f4a11){const _0x34a129=a0_0x189926;let _0x3f6119={'Content-Type':_0x34a129(0xcc),'Accept':'application/json,\x20text/event-stream'};if(this[_0x34a129(0xda)])_0x3f6119[_0x34a129(0x96)]=_0x34a129(0xbc)+this[_0x34a129(0xda)];let _0x5612cb=await(await fetch(this[_0x34a129(0xaf)]+_0x34a129(0x90),{'method':_0x34a129(0xb0),'headers':_0x3f6119,'body':JSON['stringify']({'jsonrpc':_0x34a129(0xba),'id':Date[_0x34a129(0xc9)](),'method':_0x34a129(0x9d),'params':{'name':_0x19720c,'arguments':_0x4f4a11}})}))[_0x34a129(0xb8)](),_0x119f6b=_0x5612cb['match'](/data: (.+)/),_0x6b0629=_0x119f6b?JSON[_0x34a129(0xd7)](_0x119f6b[0x1]):JSON['parse'](_0x5612cb),_0x143bd8=_0x6b0629?.['result']?.[_0x34a129(0xa6)]?.[0x0]?.[_0x34a129(0xb8)];return _0x143bd8?JSON['parse'](_0x143bd8):_0x6b0629;}async['connect'](){const _0x50fd4d=a0_0x189926;if(this[_0x50fd4d(0xcd)])return;this['running']=!0x0,await this[_0x50fd4d(0xbb)]('idle'),this[_0x50fd4d(0xa7)](_0x50fd4d(0xad)),this[_0x50fd4d(0xd1)]=setInterval(()=>{const _0x190b99=_0x50fd4d;this[_0x190b99(0xbb)](_0x190b99(0x94))[_0x190b99(0x8b)](_0x20c10f=>this[_0x190b99(0xa7)]('heartbeat\x20failed:\x20'+_0x20c10f[_0x190b99(0x8a)]));},this[_0x50fd4d(0xa8)]),this[_0x50fd4d(0x8c)]();}async[a0_0x189926(0xb9)](){const _0xf6748b=a0_0x189926;if(this[_0xf6748b(0xcd)]=!0x1,this[_0xf6748b(0xce)]?.[_0xf6748b(0x93)](),this['heartbeatTimer'])clearInterval(this['heartbeatTimer']);await this['status']('offline')[_0xf6748b(0x8b)](()=>{}),this['log'](_0xf6748b(0x84));}async[a0_0x189926(0xa0)](_0x2d514f,_0x54234c,_0x133f19=a0_0x189926(0xd8)){const _0x13e986=a0_0x189926;return this['call'](_0x13e986(0xa1),{'alias':_0x2d514f,'task':_0x54234c,'priority':_0x133f19,'from_session':this['alias']});}async[a0_0x189926(0x8a)](_0xddb59f,_0x179151){const _0x2b26e4=a0_0x189926;return this[_0x2b26e4(0x8f)]('send_message',{'alias':_0xddb59f,'message':_0x179151,'from_session':this[_0x2b26e4(0x97)]});}async[a0_0x189926(0xbf)](_0x5ab6e5,_0x436043,_0x45a639=a0_0x189926(0xa9)){const _0x579933=a0_0x189926;return this['call'](_0x579933(0x9e),{'in_reply_to':_0x5ab6e5,'text':_0x436043,'status':_0x45a639});}async[a0_0x189926(0xbb)](_0x3156e9,_0x5a225a){const _0x592759=a0_0x189926;return this['call'](_0x592759(0xc1),{'resume_id':this[_0x592759(0x86)],'alias':this['alias'],'status':_0x3156e9,'server':a0_0x20dba2(),'hostname':a0_0x20dba2(),'agent':this['agent'],'project_dir':process[_0x592759(0xa3)](),..._0x5a225a});}async[a0_0x189926(0xc2)](){const _0x11d772=a0_0x189926;return this[_0x11d772(0x8f)]('get_all_status',{});}async[a0_0x189926(0xa5)](_0xb21fb9,_0x358371){const _0x59f6e9=a0_0x189926;return this[_0x59f6e9(0x8f)]('broadcast',{'message':_0xb21fb9,'filter_server':_0x358371?.[_0x59f6e9(0xbe)],'filter_status':_0x358371?.[_0x59f6e9(0xbb)]});}async[a0_0x189926(0x8c)](){const _0x2e4e27=a0_0x189926;let _0x1228db=encodeURIComponent(this[_0x2e4e27(0x97)]),_0x284210=this[_0x2e4e27(0xaf)]+'/events/'+_0x1228db,_0x2326c6=this[_0x2e4e27(0x9f)];while(this[_0x2e4e27(0xcd)]){try{this[_0x2e4e27(0xce)]=new AbortController();let _0x102fb7={'Accept':'text/event-stream'};if(this['token'])_0x102fb7[_0x2e4e27(0x96)]='Bearer\x20'+this['token'];let _0x1eb203=await fetch(_0x284210,{'headers':_0x102fb7,'signal':this[_0x2e4e27(0xce)][_0x2e4e27(0xb2)]});if(!_0x1eb203['ok']||!_0x1eb203[_0x2e4e27(0xd6)]){this[_0x2e4e27(0xa7)]('SSE\x20failed:\x20'+_0x1eb203['status']),await this['sleep'](_0x2326c6),_0x2326c6=Math[_0x2e4e27(0xd4)](_0x2326c6*1.5,0xea60);continue;}_0x2326c6=this[_0x2e4e27(0x9f)];let _0x243899=_0x1eb203[_0x2e4e27(0xd6)][_0x2e4e27(0x9a)](),_0x5373a6=new TextDecoder(),_0x2c1250='';while(this[_0x2e4e27(0xcd)]){let {done:_0x42957d,value:_0x3d3fef}=await _0x243899[_0x2e4e27(0xb7)]();if(_0x42957d)break;_0x2c1250+=_0x5373a6[_0x2e4e27(0x95)](_0x3d3fef,{'stream':!0x0});let _0x1b3757=_0x2c1250['split']('\x0a');_0x2c1250=_0x1b3757[_0x2e4e27(0x92)]()||'';for(let _0x347344 of _0x1b3757){if(!_0x347344[_0x2e4e27(0xae)](_0x2e4e27(0x87)))continue;try{let _0x52e81e=JSON[_0x2e4e27(0xd7)](_0x347344[_0x2e4e27(0xc7)](0x6));if(_0x52e81e[_0x2e4e27(0xab)]==='connected'){this[_0x2e4e27(0xa7)]('SSE\x20connected'),this[_0x2e4e27(0x89)]('connected');continue;}if(_0x52e81e[_0x2e4e27(0xab)]===_0x2e4e27(0xd9)||_0x52e81e[_0x2e4e27(0xab)]===_0x2e4e27(0x99)||_0x52e81e[_0x2e4e27(0xab)]==='broadcast')await this[_0x2e4e27(0xa2)]();}catch{}}}}catch(_0xde8b79){if(_0xde8b79[_0x2e4e27(0xd0)]===_0x2e4e27(0x98))break;this[_0x2e4e27(0x89)]('error',_0xde8b79),this[_0x2e4e27(0xa7)](_0x2e4e27(0xcb)+_0xde8b79[_0x2e4e27(0x8a)]);}if(this[_0x2e4e27(0xcd)])this['emit'](_0x2e4e27(0x84)),this[_0x2e4e27(0xa7)](_0x2e4e27(0xc0)+_0x2326c6/0x3e8+_0x2e4e27(0x9b)),await this[_0x2e4e27(0xb3)](_0x2326c6),_0x2326c6=Math[_0x2e4e27(0xd4)](_0x2326c6*1.5,0xea60);}}async[a0_0x189926(0xa2)](){const _0x24679b=a0_0x189926;try{let _0x48cb70=(await this[_0x24679b(0x8f)](_0x24679b(0xd3),{'alias':this[_0x24679b(0x97)],'limit':0xa}))?.[_0x24679b(0xc6)]||[];for(let _0x3b18f5 of _0x48cb70)await this['call'](_0x24679b(0xc4),{'alias':this[_0x24679b(0x97)],'message_id':_0x3b18f5['id']}),this['log']('←\x20'+_0x3b18f5[_0x24679b(0x85)]+':\x20'+_0x3b18f5['content'][_0x24679b(0xc7)](0x0,0x3c)),this[_0x24679b(0x89)](_0x24679b(0xc5),_0x3b18f5),this['emit'](_0x24679b(0x8a),_0x3b18f5);}catch(_0x51b58f){this[_0x24679b(0xa7)]('inbox\x20error:\x20'+_0x51b58f[_0x24679b(0x8a)]);}}['sleep'](_0x5aaf25){return new Promise(_0x2d730e=>setTimeout(_0x2d730e,_0x5aaf25));}}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_0xe00d2=a0_0x3619;(function(_0x3de888,_0x3ae8c2){const _0x4c617a=a0_0x3619,_0x44ef7b=_0x3de888();while(!![]){try{const _0xf9cc9e=parseInt(_0x4c617a(0xe6))/0x1*(-parseInt(_0x4c617a(0xdf))/0x2)+parseInt(_0x4c617a(0x89))/0x3+parseInt(_0x4c617a(0xb3))/0x4+-parseInt(_0x4c617a(0x9d))/0x5+parseInt(_0x4c617a(0xc1))/0x6+parseInt(_0x4c617a(0x7f))/0x7+-parseInt(_0x4c617a(0xc5))/0x8;if(_0xf9cc9e===_0x3ae8c2)break;else _0x44ef7b['push'](_0x44ef7b['shift']());}catch(_0x3f46ad){_0x44ef7b['push'](_0x44ef7b['shift']());}}}(a0_0x54df,0x9b1d1));import{readFileSync as a0_0x40291,existsSync as a0_0x5d2218}from'fs';function a0_0x3619(_0x229864,_0x3727f6){_0x229864=_0x229864-0x75;const _0x54df86=a0_0x54df();let _0x3619d4=_0x54df86[_0x229864];return _0x3619d4;}import{randomUUID as a0_0x2cd624}from'crypto';import{join as a0_0x7e2e48}from'path';import{hostname as a0_0x2a2395}from'os';import{execSync as a0_0x4f573d}from'child_process';import{Server as a0_0x55c4fd}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x2be3d9}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x5190a6,CallToolRequestSchema as a0_0x5ded48}from'@modelcontextprotocol/sdk/types.js';function I(_0x20ea8d){const _0x46e977=a0_0x3619;if(!a0_0x5d2218(_0x20ea8d))return;for(let _0x127229 of a0_0x40291(_0x20ea8d,'utf-8')[_0x46e977(0x8b)]('\x0a')){let _0x1a144e=_0x127229['trim']();if(!_0x1a144e||_0x1a144e[_0x46e977(0xf9)]('#'))continue;let _0xd49206=_0x1a144e[_0x46e977(0x7a)]('=');if(_0xd49206<0x0)continue;let _0x838428=_0x1a144e[_0x46e977(0x9b)](0x0,_0xd49206)[_0x46e977(0x99)](),_0x41f22d=_0x1a144e['slice'](_0xd49206+0x1)['trim']()[_0x46e977(0xc6)](/^["']|["']$/g,'');if(!process.env[_0x838428])process.env[_0x838428]=_0x41f22d;}}var L=process.env.HOME||'~',U=a0_0x7e2e48(L,a0_0xe00d2(0xe4));I(a0_0x7e2e48(U,a0_0xe00d2(0xba)));var v=process[a0_0xe00d2(0x7c)]()[a0_0xe00d2(0xc6)](/\//g,'-');I(a0_0x7e2e48(U,v,a0_0xe00d2(0xba)));function d(){const _0x75e849=a0_0xe00d2;try{return a0_0x4f573d('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':_0x75e849(0xe2),'timeout':0x7d0})[_0x75e849(0x99)]();}catch{return'';}}function m(){const _0x1727a1=a0_0xe00d2;try{let _0x2d435d=a0_0x7e2e48(L,'.anet',_0x1727a1(0xc0));if(a0_0x5d2218(_0x2d435d))return JSON[_0x1727a1(0xf3)](a0_0x40291(_0x2d435d,'utf-8'));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0xe00d2(0x10a)]||'http://127.0.0.1:9200',f=process.env.COMMHUB_TMUX||d();function r(){const _0x517da7=a0_0xe00d2;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS['trim']())return process.env.COMMHUB_ALIAS[_0x517da7(0x99)]();return process[_0x517da7(0x8c)]['write'](_0x517da7(0xb9)+(_0x517da7(0xc3)+(f||'(none)')+_0x517da7(0xeb)+a0_0x2a2395()+_0x517da7(0xe9))),_0x517da7(0xd5)+process[_0x517da7(0xbb)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x2cd624(),F=process.env.COMMHUB_TOKEN||u[a0_0xe00d2(0xf5)]||'';function W(_0x580c1a){const _0x2e376c=a0_0xe00d2;let _0x2612db=new Date()[_0x2e376c(0x110)]()['slice'](0x0,0x8);process[_0x2e376c(0x8c)][_0x2e376c(0xc7)]('['+_0x2612db+_0x2e376c(0xf2)+_0x580c1a+'\x0a');}function N(_0x3450ab){return new Promise(_0x4db777=>setTimeout(_0x4db777,_0x3450ab));}W(a0_0xe00d2(0xaf)+j+a0_0xe00d2(0x8e)+G+a0_0xe00d2(0x10b)+K['slice'](0x0,0x8)+a0_0xe00d2(0xe0)+(f||a0_0xe00d2(0x85))+a0_0xe00d2(0x96)+process[a0_0xe00d2(0x7c)]()+a0_0xe00d2(0x114)+v);function a0_0x54df(){const _0x5e49a9=['broadcast','connect','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','\x20CWD=','completed','cancelled','trim','fatal:\x20','slice','priority','2576425NlGZHC','Priority\x20(default:\x20normal)','failed','exit','Session\x20alias:\x20','set','min','body','text','unknown\x20tool','catch','send_reply','/events/','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','0.3.0','/mcp','shutting\x20down,\x20reporting\x20offline...','number','ENV:\x20URL=','pop','\x22\x20(','idle','2710764KxCnSf','no\x20response','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','Bearer\x20','stdin','tools/call','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','.env','pid','application/json,\x20text/event-stream','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','stringify','alias','config.json','5099460jSfCTf','task','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','in_progress','17512512mVuOEO','replace','write','find','join','commhub_reply','claude-code','SSE\x20connection\x20error:\x20','Progress\x200-100','replied','commhub_get_all_status','SIGTERM','params','normal','length','high','unattributed-','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','error','ready\x20—\x20waiting\x20for\x20events','commhub','warning:\x20could\x20not\x20register:\x20','MCP\x20stdio\x20connected','\x22\x20after\x20SSE\x20reconnect','object','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','282DvMPip','...\x20TMUX=','SSE\x20connected\x20as\x20\x22','utf-8','statusText','.claude/channels/commhub','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','1123xTOUfV','from','new_message','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','report_status','\x20/\x20hostname=','working','status','notification','re-registered\x20as\x20\x22','setRequestHandler','delete',']\x20[commhub]\x20','parse','get_all_status','token','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','application/json','startsWith','string','SSE\x20stream\x20ended,\x20reconnecting...','message_id','result','message','Message\x20content','Task\x20content','low','type','ack_inbox','messages','send_task','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','from_session','2025-03-26','now','hub','\x20RESUME_ID=','Reply\x20text\x20/\x20result\x20summary','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','blocked','commhub_report_status','toTimeString','get_inbox','commhub_send_task','content','\x20PROJECT_ENV=','parse\x20error:\x20','commhub_send_message','commhub-channel','connected','←\x20message\x20from\x20','indexOf','notifications/claude/channel','cwd','decode','\x20priority=','8839957UhadZh',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','session\x20disconnected','data:\x20','starting\x20SSE\x20listener...','→\x20injected\x20task\x20','none','heartbeat\x20failed:\x20','init\x20failed:\x20','POST','2122755kWuaXu','Target\x20session\x20alias','split','stderr','send_message','\x20ALIAS=',':\x20inbox_count=','SSE\x20error:\x20','2.0','getReader'];a0_0x54df=function(){return _0x5e49a9;};return a0_0x54df();}var D=new Map(),x=new a0_0x55c4fd({'name':a0_0xe00d2(0x77),'version':a0_0xe00d2(0xab)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0xe00d2(0xb5),a0_0xe00d2(0xaa),a0_0xe00d2(0xd6),a0_0xe00d2(0xf7),a0_0xe00d2(0xa1)+G][a0_0xe00d2(0xc9)]('\x0a')});x[a0_0xe00d2(0xf0)](a0_0x5190a6,async()=>({'tools':[{'name':a0_0xe00d2(0xca),'description':a0_0xe00d2(0x95),'inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0xe00d2(0xfa),'description':a0_0xe00d2(0x106)},'text':{'type':a0_0xe00d2(0xfa),'description':a0_0xe00d2(0x10c)},'status':{'type':'string','enum':['completed',a0_0xe00d2(0x9f),a0_0xe00d2(0x98),a0_0xe00d2(0x10e),a0_0xe00d2(0xd7),a0_0xe00d2(0xc4)],'description':a0_0xe00d2(0xf6)}},'required':['text']}},{'name':a0_0xe00d2(0x10f),'description':a0_0xe00d2(0xbd),'inputSchema':{'type':a0_0xe00d2(0xdd),'properties':{'status':{'type':a0_0xe00d2(0xfa),'enum':[a0_0xe00d2(0xec),a0_0xe00d2(0xb2),'blocked',a0_0xe00d2(0xd7)]},'task':{'type':'string','description':'Current\x20task\x20description'},'progress':{'type':a0_0xe00d2(0xae),'description':a0_0xe00d2(0xcd)}},'required':[a0_0xe00d2(0xed)]}},{'name':'commhub_send_task','description':a0_0xe00d2(0xe5),'inputSchema':{'type':a0_0xe00d2(0xdd),'properties':{'alias':{'type':a0_0xe00d2(0xfa),'description':'Target\x20session\x20alias'},'task':{'type':a0_0xe00d2(0xfa),'description':a0_0xe00d2(0x100)},'priority':{'type':a0_0xe00d2(0xfa),'enum':[a0_0xe00d2(0xd4),'normal',a0_0xe00d2(0x101)],'description':a0_0xe00d2(0x9e)}},'required':[a0_0xe00d2(0xbf),a0_0xe00d2(0xc2)]}},{'name':'commhub_send_message','description':'Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','inputSchema':{'type':a0_0xe00d2(0xdd),'properties':{'alias':{'type':a0_0xe00d2(0xfa),'description':a0_0xe00d2(0x8a)},'message':{'type':a0_0xe00d2(0xfa),'description':a0_0xe00d2(0xff)}},'required':[a0_0xe00d2(0xbf),'message']}},{'name':'commhub_get_all_status','description':a0_0xe00d2(0x10d),'inputSchema':{'type':a0_0xe00d2(0xdd),'properties':{}}}]}));async function Y(_0x12f471,_0x44f004){const _0xbbbeb=a0_0xe00d2;let _0x1b09d7=await fetch(j+_0xbbbeb(0xac),{'method':_0xbbbeb(0x88),'headers':{'Content-Type':_0xbbbeb(0xf8),'Accept':_0xbbbeb(0xbc),...F?{'Authorization':_0xbbbeb(0xb6)+F}:{}},'body':JSON[_0xbbbeb(0xbe)]({'jsonrpc':_0xbbbeb(0x91),'id':0x1,'method':'initialize','params':{'protocolVersion':_0xbbbeb(0x108),'capabilities':{},'clientInfo':{'name':_0xbbbeb(0x77),'version':'0.3.0'}}})});if(!_0x1b09d7['ok']){let _0x2b4ed1=await _0x1b09d7[_0xbbbeb(0xa5)]();return W('CommHub\x20init\x20failed:\x20'+_0x1b09d7[_0xbbbeb(0xed)]+'\x20'+_0x2b4ed1[_0xbbbeb(0x9b)](0x0,0x64)),{'ok':!0x1,'error':_0xbbbeb(0x87)+_0x1b09d7[_0xbbbeb(0xed)]};}await _0x1b09d7['text']();let _0x4cb529=(await(await fetch(j+'/mcp',{'method':_0xbbbeb(0x88),'headers':{'Content-Type':_0xbbbeb(0xf8),'Accept':_0xbbbeb(0xbc),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0xbbbeb(0xbe)]({'jsonrpc':_0xbbbeb(0x91),'id':0x2,'method':_0xbbbeb(0xb8),'params':{'name':_0x12f471,'arguments':_0x44f004}})}))[_0xbbbeb(0xa5)]())['split']('\x0a')['find'](_0xe94bd2=>_0xe94bd2[_0xbbbeb(0xf9)](_0xbbbeb(0x82)));if(_0x4cb529){let _0x298868=JSON[_0xbbbeb(0xf3)](_0x4cb529[_0xbbbeb(0x9b)](0x6));return _0x298868?.[_0xbbbeb(0xfd)]?.[_0xbbbeb(0x113)]?.[0x0]?.['text']?JSON[_0xbbbeb(0xf3)](_0x298868[_0xbbbeb(0xfd)][_0xbbbeb(0x113)][0x0][_0xbbbeb(0xa5)]):_0x298868;}return{'ok':!0x1,'error':_0xbbbeb(0xb4)};}x[a0_0xe00d2(0xf0)](a0_0x5ded48,async _0x1af408=>{const _0x228e7a=a0_0xe00d2;let {name:_0x3efa6a,arguments:_0x21882f}=_0x1af408[_0x228e7a(0xd1)];if(_0x3efa6a===_0x228e7a(0xca)){let {task_id:_0x3a87c5,text:_0x1a7188,status:_0xb58f5a}=_0x21882f;if(_0xb58f5a===_0x228e7a(0x97)||_0xb58f5a===_0x228e7a(0x9f)||_0xb58f5a===_0x228e7a(0x98)){let _0x2f8b5c=_0xb58f5a===_0x228e7a(0x97)?_0x228e7a(0xce):_0xb58f5a,_0x55fe89=_0x3a87c5?D['get'](_0x3a87c5)||'hub':_0x228e7a(0x10a),_0xa3fa84=await Y(_0x228e7a(0xa8),{'alias':_0x55fe89,'text':_0x1a7188,'in_reply_to':_0x3a87c5||void 0x0,'status':_0x2f8b5c,'from_session':G});if(_0x3a87c5)D[_0x228e7a(0xf1)](_0x3a87c5);return{'content':[{'type':_0x228e7a(0xa5),'text':JSON[_0x228e7a(0xbe)](_0xa3fa84)}]};}let _0x4f7348=await Y(_0x228e7a(0xea),{'resume_id':K,'alias':G,'status':_0xb58f5a===_0x228e7a(0x10e)?_0x228e7a(0x10e):_0xb58f5a===_0x228e7a(0xd7)?_0x228e7a(0xd7):'working','task':_0x1a7188[_0x228e7a(0x9b)](0x0,0xc8),'output':_0x1a7188});return{'content':[{'type':_0x228e7a(0xa5),'text':JSON['stringify'](_0x4f7348)}]};}if(_0x3efa6a===_0x228e7a(0x10f)){let {status:_0x96b5eb,task:_0x42b95c,progress:_0x9d316c}=_0x21882f,_0x1241f0=await Y('report_status',{'resume_id':K,'alias':G,'status':_0x96b5eb,'task':_0x42b95c,'progress':_0x9d316c});return{'content':[{'type':_0x228e7a(0xa5),'text':JSON[_0x228e7a(0xbe)](_0x1241f0)}]};}if(_0x3efa6a===_0x228e7a(0x112)){let {alias:_0xcd680b,task:_0x3dbfe1,priority:_0x5437e8}=_0x21882f,_0x467a98=await Y(_0x228e7a(0x105),{'alias':_0xcd680b,'task':_0x3dbfe1,'priority':_0x5437e8||_0x228e7a(0xd2),'from_session':G});return{'content':[{'type':_0x228e7a(0xa5),'text':JSON[_0x228e7a(0xbe)](_0x467a98)}]};}if(_0x3efa6a===_0x228e7a(0x76)){let {alias:_0x1b081b,message:_0x28acbc}=_0x21882f,_0x156930=await Y(_0x228e7a(0x8d),{'alias':_0x1b081b,'message':_0x28acbc,'from_session':G});return{'content':[{'type':'text','text':JSON[_0x228e7a(0xbe)](_0x156930)}]};}if(_0x3efa6a===_0x228e7a(0xcf)){let _0x36d9e0=await Y(_0x228e7a(0xf4),{});return{'content':[{'type':'text','text':JSON[_0x228e7a(0xbe)](_0x36d9e0)}]};}return{'content':[{'type':_0x228e7a(0xa5),'text':JSON[_0x228e7a(0xbe)]({'error':_0x228e7a(0xa6)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x43bedf=a0_0xe00d2;try{await Y(_0x43bedf(0xea),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x2a2395(),'hostname':a0_0x2a2395(),'agent':_0x43bedf(0xcb),'project_dir':process['cwd'](),'tmux_name':f||void 0x0}),W(_0x43bedf(0xef)+G+_0x43bedf(0xdc));}catch(_0x1cc2dd){W('re-register\x20failed:\x20'+_0x1cc2dd);}}async function o(){const _0x17d6b4=a0_0xe00d2;let _0x1d029e=j+_0x17d6b4(0xa9)+encodeURIComponent(G),_0x470847={};if(F)_0x470847['Authorization']=_0x17d6b4(0xb6)+F;W('connecting\x20to\x20'+_0x1d029e);let _0x5e9861=O,_0x5136b5=!0x0,_0x4ca9a5=null;while(!0x0){try{let _0x322952=await fetch(_0x1d029e,{'headers':_0x470847});if(!_0x322952['ok']){if(W(_0x17d6b4(0x90)+_0x322952[_0x17d6b4(0xed)]+'\x20'+_0x322952[_0x17d6b4(0xe3)]),_0x4ca9a5=_0x4ca9a5??Date[_0x17d6b4(0x109)](),Date[_0x17d6b4(0x109)]()-_0x4ca9a5>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x17d6b4(0x80));return;}await N(_0x5e9861),_0x5e9861=Math[_0x17d6b4(0xa3)](_0x5e9861*0x2,R);continue;}let _0x2f897f=_0x322952[_0x17d6b4(0xa4)][_0x17d6b4(0x92)](),_0x8f486c=new TextDecoder(),_0x25ea26='';_0x5e9861=O;while(!0x0){let {done:_0x9f4638,value:_0xc5e289}=await _0x2f897f['read']();if(_0x9f4638)break;_0x25ea26+=_0x8f486c[_0x17d6b4(0x7d)](_0xc5e289,{'stream':!0x0});let _0x11f478=_0x25ea26[_0x17d6b4(0x8b)]('\x0a\x0a');_0x25ea26=_0x11f478[_0x17d6b4(0xb0)]()||'';for(let _0x3d5d68 of _0x11f478){let _0xa6de1c=_0x3d5d68[_0x17d6b4(0x8b)]('\x0a')[_0x17d6b4(0xc8)](_0x3c8496=>_0x3c8496[_0x17d6b4(0xf9)](_0x17d6b4(0x82)));if(!_0xa6de1c)continue;try{let _0x4a5882=JSON['parse'](_0xa6de1c['slice'](0x6));if(await a(_0x4a5882),_0x4a5882['type']==='connected'){if(_0x4ca9a5=null,!_0x5136b5)await l();_0x5136b5=!0x1;}}catch(_0x5b4425){W(_0x17d6b4(0x75)+_0x5b4425);}}}W(_0x17d6b4(0xfb));}catch(_0x4ed0b8){W(_0x17d6b4(0xcc)+_0x4ed0b8);}if(_0x4ca9a5=_0x4ca9a5??Date[_0x17d6b4(0x109)](),Date[_0x17d6b4(0x109)]()-_0x4ca9a5>T){W(_0x17d6b4(0xde)+j+_0x17d6b4(0x80));return;}await N(_0x5e9861),_0x5e9861=Math['min'](_0x5e9861*0x2,R);}}async function a(_0x3d2938){const _0x48dd96=a0_0xe00d2;if(_0x3d2938[_0x48dd96(0x102)]===_0x48dd96(0x78)){W(_0x48dd96(0xe1)+G+'\x22');return;}if(_0x3d2938['type']===_0x48dd96(0xe8)){if(W(_0x48dd96(0x79)+_0x3d2938[_0x48dd96(0xe7)]+':\x20'+_0x3d2938[_0x48dd96(0xfe)][_0x48dd96(0x9b)](0x0,0x3c)),await x[_0x48dd96(0xee)]({'method':_0x48dd96(0x7b),'params':{'content':_0x3d2938['message'],'meta':{'sender':_0x3d2938[_0x48dd96(0xe7)]||_0x48dd96(0x10a),'sender_id':_0x48dd96(0xd9),'user':_0x3d2938[_0x48dd96(0xe7)]||_0x48dd96(0x10a),'priority':_0x48dd96(0xd2)}}}),_0x3d2938[_0x48dd96(0xfc)])await Y('ack_inbox',{'alias':G,'message_id':_0x3d2938[_0x48dd96(0xfc)]});return;}if(_0x3d2938[_0x48dd96(0x102)]==='new_task'||_0x3d2938[_0x48dd96(0x102)]===_0x48dd96(0x93)){W('←\x20'+_0x3d2938[_0x48dd96(0x102)]+_0x48dd96(0x8f)+_0x3d2938['inbox_count']+_0x48dd96(0x7e)+(_0x3d2938['priority']||_0x48dd96(0xd2)));let _0x2185e5=await Y(_0x48dd96(0x111),{'alias':G,'limit':0x5});if(_0x2185e5?.['ok']&&_0x2185e5[_0x48dd96(0x104)]?.[_0x48dd96(0xd3)]>0x0)for(let _0x20b064 of _0x2185e5[_0x48dd96(0x104)]){let _0x208f9f={'sender':_0x20b064[_0x48dd96(0x107)]||_0x48dd96(0x10a),'sender_id':_0x48dd96(0xd9),'user':_0x20b064['from_session']||_0x48dd96(0x10a),'task_id':_0x20b064['id'],'priority':_0x20b064[_0x48dd96(0x9c)]||'normal'};D[_0x48dd96(0xa2)](_0x20b064['id'],_0x20b064[_0x48dd96(0x107)]||_0x48dd96(0x10a)),await x[_0x48dd96(0xee)]({'method':_0x48dd96(0x7b),'params':{'content':_0x20b064[_0x48dd96(0x113)],'meta':_0x208f9f}}),W(_0x48dd96(0x84)+_0x20b064['id'][_0x48dd96(0x9b)](0x0,0x8)+'\x20from\x20'+_0x20b064[_0x48dd96(0x107)]+':\x20'+_0x20b064[_0x48dd96(0x113)]['slice'](0x0,0x3c)),await Y(_0x48dd96(0x103),{'alias':G,'message_id':_0x20b064['id']});}}}async function n(){const _0x4308f3=a0_0xe00d2;let _0x450d99=new a0_0x2be3d9();await x[_0x4308f3(0x94)](_0x450d99),W(_0x4308f3(0xdb)),W(_0x4308f3(0x83)),o()[_0x4308f3(0xa7)](_0x3b6f46=>W('SSE\x20fatal:\x20'+_0x3b6f46)),Y(_0x4308f3(0xea),{'resume_id':K,'alias':G,'status':_0x4308f3(0xb2),'server':a0_0x2a2395(),'hostname':a0_0x2a2395(),'agent':_0x4308f3(0xcb),'project_dir':process[_0x4308f3(0x7c)](),'tmux_name':f||void 0x0})['then'](()=>W('registered\x20as\x20\x22'+G+_0x4308f3(0xb1)+K[_0x4308f3(0x9b)](0x0,0x8)+')'))[_0x4308f3(0xa7)](_0x4ab1f2=>W(_0x4308f3(0xda)+_0x4ab1f2)),setInterval(()=>{const _0x244e01=_0x4308f3;Y('report_status',{'resume_id':K,'alias':G,'status':_0x244e01(0xb2),'server':a0_0x2a2395(),'hostname':a0_0x2a2395(),'agent':_0x244e01(0xcb),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x244e01(0xa7)](_0x1161e2=>W(_0x244e01(0x86)+_0x1161e2));},0x2bf20),W(_0x4308f3(0xd8));}n()['catch'](_0x2aa627=>{const _0x2473c3=a0_0xe00d2;W(_0x2473c3(0x9a)+_0x2aa627),process[_0x2473c3(0xa0)](0x1);});async function b(){const _0x35140f=a0_0xe00d2;W(_0x35140f(0xad)),await Y('report_status',{'resume_id':K,'alias':G,'status':'offline','task':_0x35140f(0x81)})['catch'](()=>{}),process[_0x35140f(0xa0)](0x0);}process[a0_0xe00d2(0xb7)]['on']('end',()=>b()),process['on'](a0_0xe00d2(0xd0),()=>b()),process['on']('SIGINT',()=>b());
|
|
2
|
+
const a0_0x5076e2=a0_0xcb2a;(function(_0x1ff7ba,_0x45c8c6){const _0x2a0d38=a0_0xcb2a,_0x1de4e0=_0x1ff7ba();while(!![]){try{const _0x11b957=parseInt(_0x2a0d38(0x187))/0x1+-parseInt(_0x2a0d38(0x20c))/0x2+parseInt(_0x2a0d38(0x1be))/0x3*(parseInt(_0x2a0d38(0x193))/0x4)+parseInt(_0x2a0d38(0x1bc))/0x5+-parseInt(_0x2a0d38(0x1a8))/0x6+parseInt(_0x2a0d38(0x1bf))/0x7+-parseInt(_0x2a0d38(0x1e9))/0x8*(parseInt(_0x2a0d38(0x19e))/0x9);if(_0x11b957===_0x45c8c6)break;else _0x1de4e0['push'](_0x1de4e0['shift']());}catch(_0x1796b5){_0x1de4e0['push'](_0x1de4e0['shift']());}}}(a0_0x4f30,0xf25fd));import{readFileSync as a0_0x5ecebf,existsSync as a0_0x223d03}from'fs';import{randomUUID as a0_0xc5b628}from'crypto';import{join as a0_0x39926c}from'path';import{hostname as a0_0xd90332}from'os';import{execSync as a0_0x42eb80}from'child_process';import{Server as a0_0x50fcc5}from'@modelcontextprotocol/sdk/server/index.js';function a0_0xcb2a(_0x49e910,_0x1feaba){_0x49e910=_0x49e910-0x17d;const _0x4f3097=a0_0x4f30();let _0xcb2a6d=_0x4f3097[_0x49e910];return _0xcb2a6d;}import{StdioServerTransport as a0_0x1557d3}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x413e24,CallToolRequestSchema as a0_0x1b81a8}from'@modelcontextprotocol/sdk/types.js';function I(_0x52512d){const _0x5d5d1b=a0_0xcb2a;if(!a0_0x223d03(_0x52512d))return;for(let _0x4eabd6 of a0_0x5ecebf(_0x52512d,_0x5d5d1b(0x213))[_0x5d5d1b(0x18a)]('\x0a')){let _0x3bc212=_0x4eabd6[_0x5d5d1b(0x1ae)]();if(!_0x3bc212||_0x3bc212[_0x5d5d1b(0x216)]('#'))continue;let _0x5e302c=_0x3bc212[_0x5d5d1b(0x1e3)]('=');if(_0x5e302c<0x0)continue;let _0x2792f2=_0x3bc212[_0x5d5d1b(0x1a2)](0x0,_0x5e302c)['trim'](),_0x26e716=_0x3bc212[_0x5d5d1b(0x1a2)](_0x5e302c+0x1)[_0x5d5d1b(0x1ae)]()[_0x5d5d1b(0x1c4)](/^["']|["']$/g,'');if(!process.env[_0x2792f2])process.env[_0x2792f2]=_0x26e716;}}var L=process.env.HOME||'~',U=a0_0x39926c(L,'.claude/channels/commhub');I(a0_0x39926c(U,a0_0x5076e2(0x1c5)));var v=process[a0_0x5076e2(0x19a)]()[a0_0x5076e2(0x1c4)](/\//g,'-');I(a0_0x39926c(U,v,'.env'));function d(){const _0x37f15b=a0_0x5076e2;try{return a0_0x42eb80(_0x37f15b(0x17e),{'encoding':_0x37f15b(0x213),'timeout':0x7d0})['trim']();}catch{return'';}}function m(){const _0x239593=a0_0x5076e2;try{let _0x20a067=a0_0x39926c(L,_0x239593(0x212),_0x239593(0x1af));if(a0_0x223d03(_0x20a067))return JSON[_0x239593(0x1d9)](a0_0x5ecebf(_0x20a067,_0x239593(0x213)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u['hub']||a0_0x5076e2(0x1db),f=process.env.COMMHUB_TMUX||d();function r(){const _0x3e2bb4=a0_0x5076e2;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x3e2bb4(0x1ae)]())return process.env.COMMHUB_ALIAS[_0x3e2bb4(0x1ae)]();return process['stderr'][_0x3e2bb4(0x200)](_0x3e2bb4(0x201)+(_0x3e2bb4(0x1ee)+(f||_0x3e2bb4(0x17f))+'\x20/\x20hostname='+a0_0xd90332()+_0x3e2bb4(0x1f4))),_0x3e2bb4(0x180)+process['pid'];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0xc5b628(),F=process.env.COMMHUB_TOKEN||u[a0_0x5076e2(0x188)]||'';function W(_0x2c52b0){const _0x2a738c=a0_0x5076e2;let _0x3eeeaf=new Date()[_0x2a738c(0x215)]()[_0x2a738c(0x1a2)](0x0,0x8);process[_0x2a738c(0x1ca)][_0x2a738c(0x200)]('['+_0x3eeeaf+']\x20[commhub]\x20'+_0x2c52b0+'\x0a');}function N(_0x59a12c){return new Promise(_0x40f87a=>setTimeout(_0x40f87a,_0x59a12c));}W(a0_0x5076e2(0x18b)+j+a0_0x5076e2(0x1dd)+G+a0_0x5076e2(0x1c3)+K[a0_0x5076e2(0x1a2)](0x0,0x8)+a0_0x5076e2(0x1e2)+(f||a0_0x5076e2(0x1c8))+a0_0x5076e2(0x1cd)+process[a0_0x5076e2(0x19a)]()+'\x20PROJECT_ENV='+v);var D=new Map(),x=new a0_0x50fcc5({'name':a0_0x5076e2(0x1d3),'version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x5076e2(0x1da),a0_0x5076e2(0x1b7),'Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.',a0_0x5076e2(0x1b3),'Session\x20alias:\x20'+G][a0_0x5076e2(0x190)]('\x0a')});x['setRequestHandler'](a0_0x413e24,async()=>({'tools':[{'name':a0_0x5076e2(0x20d),'description':a0_0x5076e2(0x1ac),'inputSchema':{'type':a0_0x5076e2(0x219),'properties':{'task_id':{'type':a0_0x5076e2(0x1de),'description':a0_0x5076e2(0x1b9)},'text':{'type':a0_0x5076e2(0x1de),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x5076e2(0x1de),'enum':['completed','failed',a0_0x5076e2(0x1fa),a0_0x5076e2(0x1e8),'error',a0_0x5076e2(0x1b0)],'description':a0_0x5076e2(0x218)}},'required':[a0_0x5076e2(0x1f7)]}},{'name':a0_0x5076e2(0x1b6),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0x5076e2(0x219),'properties':{'status':{'type':a0_0x5076e2(0x1de),'enum':[a0_0x5076e2(0x1d7),'idle','blocked','error']},'task':{'type':a0_0x5076e2(0x1de),'description':a0_0x5076e2(0x1f2)},'progress':{'type':a0_0x5076e2(0x1c0),'description':a0_0x5076e2(0x1fd)}},'required':[a0_0x5076e2(0x182)]}},{'name':a0_0x5076e2(0x1bb),'description':a0_0x5076e2(0x1ce),'inputSchema':{'type':a0_0x5076e2(0x219),'properties':{'alias':{'type':a0_0x5076e2(0x1de),'description':a0_0x5076e2(0x199)},'task':{'type':a0_0x5076e2(0x1de),'description':a0_0x5076e2(0x1b5)},'priority':{'type':a0_0x5076e2(0x1de),'enum':[a0_0x5076e2(0x181),a0_0x5076e2(0x19f),a0_0x5076e2(0x1a7)],'description':a0_0x5076e2(0x1a9)}},'required':['alias',a0_0x5076e2(0x1d2)]}},{'name':a0_0x5076e2(0x20b),'description':a0_0x5076e2(0x1d8),'inputSchema':{'type':a0_0x5076e2(0x219),'properties':{'alias':{'type':a0_0x5076e2(0x1de),'description':a0_0x5076e2(0x199)},'message':{'type':a0_0x5076e2(0x1de),'description':a0_0x5076e2(0x1ef)}},'required':[a0_0x5076e2(0x1bd),a0_0x5076e2(0x1f5)]}},{'name':a0_0x5076e2(0x1d1),'description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':a0_0x5076e2(0x219),'properties':{}}}]}));async function Y(_0x18f641,_0x2bb795){const _0x49a02f=a0_0x5076e2;let _0x293398=await fetch(j+_0x49a02f(0x198),{'method':_0x49a02f(0x1e4),'headers':{'Content-Type':_0x49a02f(0x1e0),'Accept':_0x49a02f(0x18f),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x49a02f(0x1aa)]({'jsonrpc':_0x49a02f(0x206),'id':0x1,'method':_0x49a02f(0x208),'params':{'protocolVersion':_0x49a02f(0x1fc),'capabilities':{},'clientInfo':{'name':_0x49a02f(0x1d3),'version':_0x49a02f(0x19c)}}})});if(!_0x293398['ok']){let _0xaf1e8a=await _0x293398[_0x49a02f(0x1f7)]();return W(_0x49a02f(0x1a4)+_0x293398[_0x49a02f(0x182)]+'\x20'+_0xaf1e8a[_0x49a02f(0x1a2)](0x0,0x64)),{'ok':!0x1,'error':_0x49a02f(0x189)+_0x293398[_0x49a02f(0x182)]};}await _0x293398[_0x49a02f(0x1f7)]();let _0x3d0eac=(await(await fetch(j+'/mcp',{'method':'POST','headers':{'Content-Type':_0x49a02f(0x1e0),'Accept':_0x49a02f(0x18f),...F?{'Authorization':_0x49a02f(0x185)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x49a02f(0x206),'id':0x2,'method':_0x49a02f(0x207),'params':{'name':_0x18f641,'arguments':_0x2bb795}})}))['text']())[_0x49a02f(0x18a)]('\x0a')['find'](_0x5a8366=>_0x5a8366[_0x49a02f(0x216)]('data:\x20'));if(_0x3d0eac){let _0x25ec7f=JSON[_0x49a02f(0x1d9)](_0x3d0eac['slice'](0x6));return _0x25ec7f?.['result']?.['content']?.[0x0]?.[_0x49a02f(0x1f7)]?JSON[_0x49a02f(0x1d9)](_0x25ec7f[_0x49a02f(0x1b4)][_0x49a02f(0x194)][0x0][_0x49a02f(0x1f7)]):_0x25ec7f;}return{'ok':!0x1,'error':'no\x20response'};}x[a0_0x5076e2(0x1ed)](a0_0x1b81a8,async _0x5a4113=>{const _0x35244f=a0_0x5076e2;let {name:_0x217d86,arguments:_0x4fc3a1}=_0x5a4113['params'];if(_0x217d86==='commhub_reply'){let {task_id:_0x51d966,text:_0x2b9be9,status:_0x49c71d}=_0x4fc3a1;if(_0x49c71d===_0x35244f(0x1c6)||_0x49c71d==='failed'||_0x49c71d===_0x35244f(0x1fa)){let _0x45495b=_0x49c71d===_0x35244f(0x1c6)?_0x35244f(0x1d6):_0x49c71d,_0x82167f=_0x51d966?D['get'](_0x51d966)||_0x35244f(0x1e6):_0x35244f(0x1e6),_0xeb2e05=await Y(_0x35244f(0x196),{'alias':_0x82167f,'text':_0x2b9be9,'in_reply_to':_0x51d966||void 0x0,'status':_0x45495b,'from_session':G});if(_0x51d966)D[_0x35244f(0x1e1)](_0x51d966);return{'content':[{'type':_0x35244f(0x1f7),'text':JSON[_0x35244f(0x1aa)](_0xeb2e05)}]};}let _0x4031c2=await Y(_0x35244f(0x1df),{'resume_id':K,'alias':G,'status':_0x49c71d===_0x35244f(0x1e8)?_0x35244f(0x1e8):_0x49c71d==='error'?'error':_0x35244f(0x1d7),'task':_0x2b9be9['slice'](0x0,0xc8),'output':_0x2b9be9});return{'content':[{'type':_0x35244f(0x1f7),'text':JSON[_0x35244f(0x1aa)](_0x4031c2)}]};}if(_0x217d86===_0x35244f(0x1b6)){let {status:_0x59e42d,task:_0x4390fb,progress:_0x24edd2}=_0x4fc3a1,_0x58978b=await Y(_0x35244f(0x1df),{'resume_id':K,'alias':G,'status':_0x59e42d,'task':_0x4390fb,'progress':_0x24edd2});return{'content':[{'type':_0x35244f(0x1f7),'text':JSON[_0x35244f(0x1aa)](_0x58978b)}]};}if(_0x217d86===_0x35244f(0x1bb)){let {alias:_0x2cabad,task:_0x54b3a5,priority:_0x4a6c93}=_0x4fc3a1,_0x3219c6=await Y(_0x35244f(0x1a5),{'alias':_0x2cabad,'task':_0x54b3a5,'priority':_0x4a6c93||_0x35244f(0x19f),'from_session':G});return{'content':[{'type':'text','text':JSON[_0x35244f(0x1aa)](_0x3219c6)}]};}if(_0x217d86===_0x35244f(0x20b)){let {alias:_0x11beda,message:_0x1b537d}=_0x4fc3a1,_0x2e04df=await Y(_0x35244f(0x1a3),{'alias':_0x11beda,'message':_0x1b537d,'from_session':G});return{'content':[{'type':_0x35244f(0x1f7),'text':JSON['stringify'](_0x2e04df)}]};}if(_0x217d86===_0x35244f(0x1d1)){let _0x50201a=await Y('get_all_status',{});return{'content':[{'type':_0x35244f(0x1f7),'text':JSON[_0x35244f(0x1aa)](_0x50201a)}]};}return{'content':[{'type':_0x35244f(0x1f7),'text':JSON[_0x35244f(0x1aa)]({'error':_0x35244f(0x1fb)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x2aa51e=a0_0x5076e2;try{await Y(_0x2aa51e(0x1df),{'resume_id':K,'alias':G,'status':'idle','server':a0_0xd90332(),'hostname':a0_0xd90332(),'agent':_0x2aa51e(0x197),'project_dir':process[_0x2aa51e(0x19a)](),'tmux_name':f||void 0x0}),W('re-registered\x20as\x20\x22'+G+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x1c398c){W('re-register\x20failed:\x20'+_0x1c398c);}}async function o(){const _0x1f926a=a0_0x5076e2;let _0x38935c=j+_0x1f926a(0x1b8)+encodeURIComponent(G),_0x22b7e8={};if(F)_0x22b7e8[_0x1f926a(0x1dc)]=_0x1f926a(0x185)+F;W(_0x1f926a(0x1b2)+_0x38935c);let _0x5e9dc3=O,_0x3032ba=!0x0,_0x216e07=null;while(!0x0){try{let _0x26a6c4=await fetch(_0x38935c,{'headers':_0x22b7e8});if(!_0x26a6c4['ok']){if(W('SSE\x20error:\x20'+_0x26a6c4[_0x1f926a(0x182)]+'\x20'+_0x26a6c4[_0x1f926a(0x1cc)]),_0x216e07=_0x216e07??Date['now'](),Date[_0x1f926a(0x1d0)]()-_0x216e07>T){W(_0x1f926a(0x19b)+j+_0x1f926a(0x1d5));return;}await N(_0x5e9dc3),_0x5e9dc3=Math[_0x1f926a(0x1b1)](_0x5e9dc3*0x2,R);continue;}let _0x175e39=_0x26a6c4[_0x1f926a(0x18c)][_0x1f926a(0x195)](),_0x95196c=new TextDecoder(),_0x2aaa5b='';_0x5e9dc3=O;while(!0x0){let {done:_0x4299fd,value:_0x1d271d}=await _0x175e39[_0x1f926a(0x1ff)]();if(_0x4299fd)break;_0x2aaa5b+=_0x95196c[_0x1f926a(0x1ab)](_0x1d271d,{'stream':!0x0});let _0x3be6c3=_0x2aaa5b[_0x1f926a(0x18a)]('\x0a\x0a');_0x2aaa5b=_0x3be6c3['pop']()||'';for(let _0x9c542b of _0x3be6c3){let _0x514789=_0x9c542b[_0x1f926a(0x18a)]('\x0a')[_0x1f926a(0x1e5)](_0x27d550=>_0x27d550[_0x1f926a(0x216)](_0x1f926a(0x19d)));if(!_0x514789)continue;try{let _0x5321c7=JSON[_0x1f926a(0x1d9)](_0x514789['slice'](0x6));if(await a(_0x5321c7),_0x5321c7[_0x1f926a(0x1cb)]===_0x1f926a(0x1c1)){if(_0x216e07=null,!_0x3032ba)await l();_0x3032ba=!0x1;}}catch(_0x42e762){W('parse\x20error:\x20'+_0x42e762);}}}W(_0x1f926a(0x1fe));}catch(_0x3ecd77){W(_0x1f926a(0x1a0)+_0x3ecd77);}if(_0x216e07=_0x216e07??Date[_0x1f926a(0x1d0)](),Date[_0x1f926a(0x1d0)]()-_0x216e07>T){W(_0x1f926a(0x19b)+j+_0x1f926a(0x1d5));return;}await N(_0x5e9dc3),_0x5e9dc3=Math[_0x1f926a(0x1b1)](_0x5e9dc3*0x2,R);}}async function a(_0x480a41){const _0x44013a=a0_0x5076e2;if(_0x480a41[_0x44013a(0x1cb)]===_0x44013a(0x1c1)){W(_0x44013a(0x17d)+G+'\x22');return;}if(_0x480a41[_0x44013a(0x1cb)]===_0x44013a(0x1f6)){if(W(_0x44013a(0x204)+_0x480a41[_0x44013a(0x183)]+':\x20'+_0x480a41[_0x44013a(0x1f5)][_0x44013a(0x1a2)](0x0,0x3c)),await x[_0x44013a(0x211)]({'method':'notifications/claude/channel','params':{'content':_0x480a41['message'],'meta':{'sender':_0x480a41[_0x44013a(0x183)]||'hub','sender_id':_0x44013a(0x214),'user':_0x480a41[_0x44013a(0x183)]||'hub','priority':'normal'}}}),_0x480a41[_0x44013a(0x186)])await Y('ack_inbox',{'alias':G,'message_id':_0x480a41['message_id']});return;}if(_0x480a41[_0x44013a(0x1cb)]===_0x44013a(0x1a1)||_0x480a41[_0x44013a(0x1cb)]==='broadcast'){W('←\x20'+_0x480a41[_0x44013a(0x1cb)]+_0x44013a(0x1ec)+_0x480a41[_0x44013a(0x1f0)]+_0x44013a(0x1f3)+(_0x480a41[_0x44013a(0x1a6)]||_0x44013a(0x19f)));let _0x47a122=await Y(_0x44013a(0x217),{'alias':G,'limit':0x5});if(_0x47a122?.['ok']&&_0x47a122[_0x44013a(0x191)]?.[_0x44013a(0x18d)]>0x0)for(let _0x572b3a of _0x47a122[_0x44013a(0x191)]){let _0x46e61c={'sender':_0x572b3a[_0x44013a(0x210)]||_0x44013a(0x1e6),'sender_id':'commhub','user':_0x572b3a[_0x44013a(0x210)]||'hub','task_id':_0x572b3a['id'],'priority':_0x572b3a[_0x44013a(0x1a6)]||'normal'};D[_0x44013a(0x1c2)](_0x572b3a['id'],_0x572b3a['from_session']||'hub'),await x[_0x44013a(0x211)]({'method':_0x44013a(0x20f),'params':{'content':_0x572b3a[_0x44013a(0x194)],'meta':_0x46e61c}}),W(_0x44013a(0x1ea)+_0x572b3a['id']['slice'](0x0,0x8)+_0x44013a(0x184)+_0x572b3a['from_session']+':\x20'+_0x572b3a[_0x44013a(0x194)][_0x44013a(0x1a2)](0x0,0x3c)),await Y(_0x44013a(0x1ad),{'alias':G,'message_id':_0x572b3a['id']});}}}async function n(){const _0x16f298=a0_0x5076e2;let _0x1b92ea=new a0_0x1557d3();await x[_0x16f298(0x1e7)](_0x1b92ea),W(_0x16f298(0x1eb)),W(_0x16f298(0x1d4)),o()[_0x16f298(0x1c9)](_0x2b0bf7=>W(_0x16f298(0x205)+_0x2b0bf7)),Y(_0x16f298(0x1df),{'resume_id':K,'alias':G,'status':_0x16f298(0x1ba),'server':a0_0xd90332(),'hostname':a0_0xd90332(),'agent':_0x16f298(0x197),'project_dir':process[_0x16f298(0x19a)](),'tmux_name':f||void 0x0})[_0x16f298(0x203)](()=>W(_0x16f298(0x1cf)+G+'\x22\x20('+K[_0x16f298(0x1a2)](0x0,0x8)+')'))[_0x16f298(0x1c9)](_0x429164=>W('warning:\x20could\x20not\x20register:\x20'+_0x429164)),setInterval(()=>{const _0x32c2e6=_0x16f298;Y(_0x32c2e6(0x1df),{'resume_id':K,'alias':G,'status':_0x32c2e6(0x1ba),'server':a0_0xd90332(),'hostname':a0_0xd90332(),'agent':_0x32c2e6(0x197),'project_dir':process[_0x32c2e6(0x19a)](),'tmux_name':f||void 0x0})[_0x32c2e6(0x1c9)](_0x1b2e41=>W(_0x32c2e6(0x18e)+_0x1b2e41));},0x2bf20),W(_0x16f298(0x202));}function a0_0x4f30(){const _0xfc2e80=['registered\x20as\x20\x22','now','commhub_get_all_status','task','commhub-channel','starting\x20SSE\x20listener...',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','replied','working','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','parse','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','http://127.0.0.1:9200','Authorization','\x20ALIAS=','string','report_status','application/json','delete','...\x20TMUX=','indexOf','POST','find','hub','connect','blocked','836704oXLVpb','→\x20injected\x20task\x20','MCP\x20stdio\x20connected',':\x20inbox_count=','setRequestHandler','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','Message\x20content','inbox_count','shutting\x20down,\x20reporting\x20offline...','Current\x20task\x20description','\x20priority=','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','message','new_message','text','offline','SIGTERM','cancelled','unknown\x20tool','2025-03-26','Progress\x200-100','SSE\x20stream\x20ended,\x20reconnecting...','read','write','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','ready\x20—\x20waiting\x20for\x20events','then','←\x20message\x20from\x20','SSE\x20fatal:\x20','2.0','tools/call','initialize','stdin','fatal:\x20','commhub_send_message','2985078cxWUKQ','commhub_reply','exit','notifications/claude/channel','from_session','notification','.anet','utf-8','commhub','toTimeString','startsWith','get_inbox','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','object','SSE\x20connected\x20as\x20\x22','tmux\x20display-message\x20-p\x20\x27#S\x27','(none)','unattributed-','high','status','from','\x20from\x20','Bearer\x20','message_id','1492761CGcvUf','token','init\x20failed:\x20','split','ENV:\x20URL=','body','length','heartbeat\x20failed:\x20','application/json,\x20text/event-stream','join','messages','SIGINT','155132IFGRnC','content','getReader','send_reply','claude-code','/mcp','Target\x20session\x20alias','cwd','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','0.3.0','data:\x20','45ZsiXqX','normal','SSE\x20connection\x20error:\x20','new_task','slice','send_message','CommHub\x20init\x20failed:\x20','send_task','priority','low','8605344aldfDZ','Priority\x20(default:\x20normal)','stringify','decode','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','ack_inbox','trim','config.json','in_progress','min','connecting\x20to\x20','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','result','Task\x20content','commhub_report_status','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','/events/','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','idle','commhub_send_task','1600665IiZdjD','alias','117khKxEA','7819259dGKgfR','number','connected','set','\x20RESUME_ID=','replace','.env','completed','end','none','catch','stderr','type','statusText','\x20CWD=','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.'];a0_0x4f30=function(){return _0xfc2e80;};return a0_0x4f30();}n()[a0_0x5076e2(0x1c9)](_0x162fd2=>{const _0xe1dee7=a0_0x5076e2;W(_0xe1dee7(0x20a)+_0x162fd2),process[_0xe1dee7(0x20e)](0x1);});async function b(){const _0x25952a=a0_0x5076e2;W(_0x25952a(0x1f1)),await Y(_0x25952a(0x1df),{'resume_id':K,'alias':G,'status':_0x25952a(0x1f8),'task':'session\x20disconnected'})[_0x25952a(0x1c9)](()=>{}),process[_0x25952a(0x20e)](0x0);}process[a0_0x5076e2(0x209)]['on'](a0_0x5076e2(0x1c7),()=>b()),process['on'](a0_0x5076e2(0x1f9),()=>b()),process['on'](a0_0x5076e2(0x192),()=>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.21",
|
|
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",
|