@sleep2agi/agent-network 2.2.20-preview.0 → 2.2.20
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
|
-
|
|
1
|
+
function a0_0x2116(){const _0x35f4cf=['startsWith','read','10mLYYqB','456JQRaCt','data:\x20','log','disconnect','AbortError','min','sseAbort','match','/events/','body','49847JociHV','text','application/json','s...','slice','message','decode','abort','new_task','SSE\x20failed:\x20','alias','split','name','2684016FySLuQ','status','get_all_status','call','88887BTFQrH','reconnectDelay','url','agent','toString','POST','catch','running','cwd','getReader','/mcp','stringify','autoConnect','sleep','emit','error','2FdxpQb','connectSSE','heartbeat\x20failed:\x20','SSE\x20error:\x20','messages','parse','655611ICthPs','replace','server','content','processInbox','4577238lFFnKY','connect','inbox\x20error:\x20','Bearer\x20','connected','4004242UwAGpA','report_status','normal','SSE\x20reconnecting\x20in\x20','idle','316xjwvGm','broadcast','29545JGgQIA','token','Authorization','send_message','application/json,\x20text/event-stream','result','heartbeatInterval','type','text/event-stream','ack_inbox','get_inbox','sdk','from_session','resumeId','heartbeatTimer','send_task','2.0'];a0_0x2116=function(){return _0x35f4cf;};return a0_0x2116();}const a0_0x13fafb=a0_0x526b;function a0_0x526b(_0x2cf111,_0x230030){_0x2cf111=_0x2cf111-0x80;const _0x21164f=a0_0x2116();let _0x526b42=_0x21164f[_0x2cf111];return _0x526b42;}(function(_0xa98f5d,_0x2fe115){const _0x18dccd=a0_0x526b,_0x4ceb21=_0xa98f5d();while(!![]){try{const _0x5c0ca3=-parseInt(_0x18dccd(0xbc))/0x1+-parseInt(_0x18dccd(0xb6))/0x2*(-parseInt(_0x18dccd(0xa6))/0x3)+-parseInt(_0x18dccd(0xcb))/0x4*(-parseInt(_0x18dccd(0xcd))/0x5)+-parseInt(_0x18dccd(0x8b))/0x6*(parseInt(_0x18dccd(0x95))/0x7)+parseInt(_0x18dccd(0xa2))/0x8+parseInt(_0x18dccd(0xc1))/0x9+parseInt(_0x18dccd(0x8a))/0xa*(parseInt(_0x18dccd(0xc6))/0xb);if(_0x5c0ca3===_0x2fe115)break;else _0x4ceb21['push'](_0x4ceb21['shift']());}catch(_0x58c0f4){_0x4ceb21['push'](_0x4ceb21['shift']());}}}(a0_0x2116,0x7bf5b));import{EventEmitter as a0_0x4b69c8}from'events';import{hostname as a0_0x82708d}from'os';class T extends a0_0x4b69c8{[a0_0x13fafb(0xa8)];[a0_0x13fafb(0x9f)];[a0_0x13fafb(0xce)];[a0_0x13fafb(0xa9)];[a0_0x13fafb(0x84)];[a0_0x13fafb(0xd3)];[a0_0x13fafb(0xa7)];[a0_0x13fafb(0x85)];[a0_0x13fafb(0x91)];[a0_0x13fafb(0xad)]=!0x1;constructor(_0x3210db){const _0x6ce418=a0_0x13fafb;super();if(this[_0x6ce418(0xa8)]=_0x3210db['url'][_0x6ce418(0xbd)](/\/$/,''),this[_0x6ce418(0x9f)]=_0x3210db[_0x6ce418(0x9f)],this[_0x6ce418(0xce)]=_0x3210db[_0x6ce418(0xce)],this[_0x6ce418(0xa9)]=_0x3210db[_0x6ce418(0xa9)]||_0x6ce418(0x82),this[_0x6ce418(0x84)]='sdk-'+_0x3210db[_0x6ce418(0x9f)]+'-'+Date['now']()[_0x6ce418(0xaa)](0x24),this[_0x6ce418(0xd3)]=_0x3210db[_0x6ce418(0xd3)]??0x2bf20,this[_0x6ce418(0xa7)]=_0x3210db[_0x6ce418(0xa7)]??0xbb8,_0x3210db[_0x6ce418(0xb2)]!==!0x1)this[_0x6ce418(0xc2)]();}[a0_0x13fafb(0x8d)](_0x113f78){const _0xf75381=a0_0x13fafb;console[_0xf75381(0x8d)]('['+new Date()['toTimeString']()['slice'](0x0,0x8)+']\x20[commhub:'+this[_0xf75381(0x9f)]+']\x20'+_0x113f78);}async[a0_0x13fafb(0xa5)](_0x266251,_0x2b1345){const _0xa462a6=a0_0x13fafb;let _0x331b09={'Content-Type':_0xa462a6(0x97),'Accept':_0xa462a6(0xd1)};if(this[_0xa462a6(0xce)])_0x331b09[_0xa462a6(0xcf)]='Bearer\x20'+this['token'];let _0x7deabc=await(await fetch(this[_0xa462a6(0xa8)]+_0xa462a6(0xb0),{'method':_0xa462a6(0xab),'headers':_0x331b09,'body':JSON[_0xa462a6(0xb1)]({'jsonrpc':_0xa462a6(0x87),'id':Date['now'](),'method':'tools/call','params':{'name':_0x266251,'arguments':_0x2b1345}})}))['text'](),_0x58b605=_0x7deabc[_0xa462a6(0x92)](/data: (.+)/),_0x3cc2f5=_0x58b605?JSON[_0xa462a6(0xbb)](_0x58b605[0x1]):JSON[_0xa462a6(0xbb)](_0x7deabc),_0x2c267d=_0x3cc2f5?.[_0xa462a6(0xd2)]?.[_0xa462a6(0xbf)]?.[0x0]?.[_0xa462a6(0x96)];return _0x2c267d?JSON['parse'](_0x2c267d):_0x3cc2f5;}async[a0_0x13fafb(0xc2)](){const _0x49f932=a0_0x13fafb;if(this[_0x49f932(0xad)])return;this[_0x49f932(0xad)]=!0x0,await this[_0x49f932(0xa3)]('idle'),this[_0x49f932(0x8d)]('registered'),this[_0x49f932(0x85)]=setInterval(()=>{const _0x4cae00=_0x49f932;this['status'](_0x4cae00(0xca))[_0x4cae00(0xac)](_0x127661=>this['log'](_0x4cae00(0xb8)+_0x127661[_0x4cae00(0x9a)]));},this[_0x49f932(0xd3)]),this[_0x49f932(0xb7)]();}async[a0_0x13fafb(0x8e)](){const _0x1db1e=a0_0x13fafb;if(this[_0x1db1e(0xad)]=!0x1,this['sseAbort']?.[_0x1db1e(0x9c)](),this[_0x1db1e(0x85)])clearInterval(this[_0x1db1e(0x85)]);await this[_0x1db1e(0xa3)]('offline')[_0x1db1e(0xac)](()=>{}),this['log']('disconnected');}async['send'](_0x22df93,_0x45f8b1,_0x530870=a0_0x13fafb(0xc8)){const _0x51a990=a0_0x13fafb;return this[_0x51a990(0xa5)](_0x51a990(0x86),{'alias':_0x22df93,'task':_0x45f8b1,'priority':_0x530870,'from_session':this[_0x51a990(0x9f)]});}async['message'](_0x19fa36,_0x41003d){const _0xbdef7e=a0_0x13fafb;return this['call'](_0xbdef7e(0xd0),{'alias':_0x19fa36,'message':_0x41003d,'from_session':this['alias']});}async['reply'](_0x6a2b73,_0x3b2ead,_0x4a2229='completed'){const _0x56e1e3=a0_0x13fafb;return this[_0x56e1e3(0xa5)]('send_reply',{'in_reply_to':_0x6a2b73,'text':_0x3b2ead,'status':_0x4a2229});}async[a0_0x13fafb(0xa3)](_0x2527f6,_0x357085){const _0x29e231=a0_0x13fafb;return this[_0x29e231(0xa5)](_0x29e231(0xc7),{'resume_id':this[_0x29e231(0x84)],'alias':this[_0x29e231(0x9f)],'status':_0x2527f6,'server':a0_0x82708d(),'hostname':a0_0x82708d(),'agent':this[_0x29e231(0xa9)],'project_dir':process[_0x29e231(0xae)](),..._0x357085});}async['getAllStatus'](){const _0x494d7c=a0_0x13fafb;return this[_0x494d7c(0xa5)](_0x494d7c(0xa4),{});}async[a0_0x13fafb(0xcc)](_0xeb3c19,_0x131ef4){const _0x1da569=a0_0x13fafb;return this[_0x1da569(0xa5)](_0x1da569(0xcc),{'message':_0xeb3c19,'filter_server':_0x131ef4?.[_0x1da569(0xbe)],'filter_status':_0x131ef4?.['status']});}async[a0_0x13fafb(0xb7)](){const _0x627fd5=a0_0x13fafb;let _0x27ec23=encodeURIComponent(this[_0x627fd5(0x9f)]),_0x367507=this[_0x627fd5(0xa8)]+_0x627fd5(0x93)+_0x27ec23,_0xcd969f=this['reconnectDelay'];while(this[_0x627fd5(0xad)]){try{this[_0x627fd5(0x91)]=new AbortController();let _0x458a12={'Accept':_0x627fd5(0xd5)};if(this[_0x627fd5(0xce)])_0x458a12[_0x627fd5(0xcf)]=_0x627fd5(0xc4)+this['token'];let _0x400e60=await fetch(_0x367507,{'headers':_0x458a12,'signal':this['sseAbort']['signal']});if(!_0x400e60['ok']||!_0x400e60[_0x627fd5(0x94)]){this['log'](_0x627fd5(0x9e)+_0x400e60['status']),await this[_0x627fd5(0xb3)](_0xcd969f),_0xcd969f=Math[_0x627fd5(0x90)](_0xcd969f*1.5,0xea60);continue;}_0xcd969f=this['reconnectDelay'];let _0x3c1e21=_0x400e60[_0x627fd5(0x94)][_0x627fd5(0xaf)](),_0x5a3865=new TextDecoder(),_0x2f7129='';while(this[_0x627fd5(0xad)]){let {done:_0x46fddc,value:_0x223941}=await _0x3c1e21[_0x627fd5(0x89)]();if(_0x46fddc)break;_0x2f7129+=_0x5a3865[_0x627fd5(0x9b)](_0x223941,{'stream':!0x0});let _0x147b23=_0x2f7129[_0x627fd5(0xa0)]('\x0a');_0x2f7129=_0x147b23['pop']()||'';for(let _0x2d5b8f of _0x147b23){if(!_0x2d5b8f[_0x627fd5(0x88)](_0x627fd5(0x8c)))continue;try{let _0xec7b18=JSON['parse'](_0x2d5b8f[_0x627fd5(0x99)](0x6));if(_0xec7b18[_0x627fd5(0xd4)]===_0x627fd5(0xc5)){this['log']('SSE\x20connected'),this[_0x627fd5(0xb4)](_0x627fd5(0xc5));continue;}if(_0xec7b18[_0x627fd5(0xd4)]===_0x627fd5(0x9d)||_0xec7b18[_0x627fd5(0xd4)]==='new_message'||_0xec7b18[_0x627fd5(0xd4)]===_0x627fd5(0xcc))await this['processInbox']();}catch{}}}}catch(_0x490e41){if(_0x490e41[_0x627fd5(0xa1)]===_0x627fd5(0x8f))break;this[_0x627fd5(0xb4)](_0x627fd5(0xb5),_0x490e41),this[_0x627fd5(0x8d)](_0x627fd5(0xb9)+_0x490e41['message']);}if(this[_0x627fd5(0xad)])this['emit']('disconnected'),this[_0x627fd5(0x8d)](_0x627fd5(0xc9)+_0xcd969f/0x3e8+_0x627fd5(0x98)),await this[_0x627fd5(0xb3)](_0xcd969f),_0xcd969f=Math[_0x627fd5(0x90)](_0xcd969f*1.5,0xea60);}}async[a0_0x13fafb(0xc0)](){const _0xc7ccad=a0_0x13fafb;try{let _0x47f7b7=(await this[_0xc7ccad(0xa5)](_0xc7ccad(0x81),{'alias':this[_0xc7ccad(0x9f)],'limit':0xa}))?.[_0xc7ccad(0xba)]||[];for(let _0x1ea194 of _0x47f7b7)await this['call'](_0xc7ccad(0x80),{'alias':this[_0xc7ccad(0x9f)],'message_id':_0x1ea194['id']}),this[_0xc7ccad(0x8d)]('←\x20'+_0x1ea194[_0xc7ccad(0x83)]+':\x20'+_0x1ea194[_0xc7ccad(0xbf)][_0xc7ccad(0x99)](0x0,0x3c)),this[_0xc7ccad(0xb4)]('task',_0x1ea194),this[_0xc7ccad(0xb4)](_0xc7ccad(0x9a),_0x1ea194);}catch(_0x136e73){this[_0xc7ccad(0x8d)](_0xc7ccad(0xc3)+_0x136e73['message']);}}['sleep'](_0x12f070){return new Promise(_0x486ec7=>setTimeout(_0x486ec7,_0x12f070));}}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_0x667184=a0_0x4e88;(function(_0x4f67d6,_0x502335){const _0x59f071=a0_0x4e88,_0x5462c7=_0x4f67d6();while(!![]){try{const _0x4ba46c=parseInt(_0x59f071(0x1b2))/0x1*(-parseInt(_0x59f071(0x1b4))/0x2)+-parseInt(_0x59f071(0x1f4))/0x3+-parseInt(_0x59f071(0x230))/0x4+-parseInt(_0x59f071(0x1bc))/0x5+-parseInt(_0x59f071(0x1b9))/0x6*(-parseInt(_0x59f071(0x1f7))/0x7)+parseInt(_0x59f071(0x21a))/0x8*(parseInt(_0x59f071(0x1cc))/0x9)+-parseInt(_0x59f071(0x1fd))/0xa*(-parseInt(_0x59f071(0x1f2))/0xb);if(_0x4ba46c===_0x502335)break;else _0x5462c7['push'](_0x5462c7['shift']());}catch(_0x37a080){_0x5462c7['push'](_0x5462c7['shift']());}}}(a0_0x37a1,0x4681e));import{readFileSync as a0_0xbbd49c,existsSync as a0_0x56ce5c}from'fs';import{randomUUID as a0_0x2160af}from'crypto';import{join as a0_0x27a004}from'path';import{hostname as a0_0x3b2b26}from'os';import{execSync as a0_0x2c8502}from'child_process';import{Server as a0_0x4fab82}from'@modelcontextprotocol/sdk/server/index.js';function a0_0x4e88(_0x4beb7b,_0x526cb6){_0x4beb7b=_0x4beb7b-0x1ae;const _0x37a13e=a0_0x37a1();let _0x4e8827=_0x37a13e[_0x4beb7b];return _0x4e8827;}import{StdioServerTransport as a0_0x158967}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x338881,CallToolRequestSchema as a0_0x35ba20}from'@modelcontextprotocol/sdk/types.js';function I(_0x5c464e){const _0x5573a4=a0_0x4e88;if(!a0_0x56ce5c(_0x5c464e))return;for(let _0x1d2674 of a0_0xbbd49c(_0x5c464e,'utf-8')['split']('\x0a')){let _0x270383=_0x1d2674['trim']();if(!_0x270383||_0x270383[_0x5573a4(0x1db)]('#'))continue;let _0x41549f=_0x270383[_0x5573a4(0x233)]('=');if(_0x41549f<0x0)continue;let _0x8036d6=_0x270383['slice'](0x0,_0x41549f)[_0x5573a4(0x1dd)](),_0x229bb4=_0x270383[_0x5573a4(0x1e4)](_0x41549f+0x1)[_0x5573a4(0x1dd)]()['replace'](/^["']|["']$/g,'');if(!process.env[_0x8036d6])process.env[_0x8036d6]=_0x229bb4;}}var L=process.env.HOME||'~',U=a0_0x27a004(L,a0_0x667184(0x1de));I(a0_0x27a004(U,a0_0x667184(0x202)));var v=process['cwd']()[a0_0x667184(0x1f1)](/\//g,'-');I(a0_0x27a004(U,v,'.env'));function d(){const _0x3a1fff=a0_0x667184;try{return a0_0x2c8502('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':'utf-8','timeout':0x7d0})[_0x3a1fff(0x1dd)]();}catch{return'';}}function m(){const _0x3213d2=a0_0x667184;try{let _0x453740=a0_0x27a004(L,_0x3213d2(0x23d),'config.json');if(a0_0x56ce5c(_0x453740))return JSON['parse'](a0_0xbbd49c(_0x453740,_0x3213d2(0x249)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x667184(0x1fe)]||a0_0x667184(0x22b),f=process.env.COMMHUB_TMUX||d();function r(){const _0x5f1a48=a0_0x667184;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x5f1a48(0x1dd)]())return process.env.COMMHUB_ALIAS['trim']();return process[_0x5f1a48(0x1e5)][_0x5f1a48(0x20f)]('[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20'+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(f||_0x5f1a48(0x1e8))+_0x5f1a48(0x234)+a0_0x3b2b26()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),_0x5f1a48(0x23b)+process[_0x5f1a48(0x237)];}function a0_0x37a1(){const _0x2962d0=['pop','\x20CWD=','report_status','message','commhub_reply','1422akbgEz','0.3.0','catch','messages','cwd','getReader','task','then','Priority\x20(default:\x20normal)','exit','object','re-registered\x20as\x20\x22','data:\x20','send_reply','type','startsWith','connect','trim','.claude/channels/commhub','shutting\x20down,\x20reporting\x20offline...','new_task','length','set','content','slice','stderr','/mcp','normal','(none)','error','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','starting\x20SSE\x20listener...','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','SSE\x20connection\x20error:\x20','Session\x20alias:\x20','setRequestHandler',']\x20[commhub]\x20','replace','11RxQzEq','stdin','105417vNpwbg','Target\x20session\x20alias','SIGINT','7Lpqkme','→\x20injected\x20task\x20','blocked','commhub_send_task','send_message','application/json,\x20text/event-stream','7049920ywxWyK','hub','join','stringify','\x20priority=','.env','tools/call','ack_inbox','CommHub\x20init\x20failed:\x20','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','SSE\x20connected\x20as\x20\x22','cancelled','new_message','unknown\x20tool','commhub','re-register\x20failed:\x20','notification','message_id','write','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','in_progress','claude-code','alias','session\x20disconnected','Bearer\x20','now','notifications/claude/channel','broadcast','end','2416oqZmJw','split','2025-03-26','ready\x20—\x20waiting\x20for\x20events','working','commhub_report_status','\x20RESUME_ID=','commhub_get_all_status','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','/events/','text','find','offline','body','...\x20TMUX=','\x20PROJECT_ENV=','get_inbox','http://127.0.0.1:9200','init\x20failed:\x20','delete','inbox_count','registered\x20as\x20\x22','1580704IRuUeq','number','min','indexOf','\x20/\x20hostname=','from','replied','pid','Current\x20task\x20description','parse','status','unattributed-',':\x20inbox_count=','.anet','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','commhub-channel','string','SSE\x20error:\x20','priority','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','get_all_status','SSE\x20stream\x20ended,\x20reconnecting...','commhub_send_message','none','utf-8','toTimeString','initialize','idle','Message\x20content','read','SIGTERM','7394ODCaCg','Task\x20content','34fgRsTX','2.0','POST','\x20from\x20','token','2996490QjiTxP',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','connected','2036560gHeWWg','application/json','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','MCP\x20stdio\x20connected','from_session','parse\x20error:\x20','result','heartbeat\x20failed:\x20','Authorization','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','high'];a0_0x37a1=function(){return _0x2962d0;};return a0_0x37a1();}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x2160af(),F=process.env.COMMHUB_TOKEN||u[a0_0x667184(0x1b8)]||'';function W(_0x17784a){const _0x157899=a0_0x667184;let _0x1ccce4=new Date()[_0x157899(0x24a)]()['slice'](0x0,0x8);process[_0x157899(0x1e5)]['write']('['+_0x1ccce4+_0x157899(0x1f0)+_0x17784a+'\x0a');}function N(_0x35edb7){return new Promise(_0x1e2389=>setTimeout(_0x1e2389,_0x35edb7));}W('ENV:\x20URL='+j+'\x20ALIAS='+G+a0_0x667184(0x220)+K['slice'](0x0,0x8)+a0_0x667184(0x228)+(f||a0_0x667184(0x248))+a0_0x667184(0x1c8)+process[a0_0x667184(0x1d0)]()+a0_0x667184(0x229)+v);var D=new Map(),x=new a0_0x4fab82({'name':a0_0x667184(0x23f),'version':a0_0x667184(0x1cd)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x667184(0x206),a0_0x667184(0x210),a0_0x667184(0x1c5),a0_0x667184(0x243),a0_0x667184(0x1ee)+G][a0_0x667184(0x1ff)]('\x0a')});x[a0_0x667184(0x1ef)](a0_0x338881,async()=>({'tools':[{'name':a0_0x667184(0x1cb),'description':'Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','inputSchema':{'type':'object','properties':{'task_id':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x244)},'text':{'type':a0_0x667184(0x240),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x667184(0x240),'enum':['completed','failed',a0_0x667184(0x208),a0_0x667184(0x1f9),a0_0x667184(0x1e9),a0_0x667184(0x211)],'description':a0_0x667184(0x1ea)}},'required':[a0_0x667184(0x224)]}},{'name':a0_0x667184(0x21f),'description':a0_0x667184(0x23e),'inputSchema':{'type':a0_0x667184(0x1d6),'properties':{'status':{'type':a0_0x667184(0x240),'enum':[a0_0x667184(0x21e),a0_0x667184(0x1ae),a0_0x667184(0x1f9),a0_0x667184(0x1e9)]},'task':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x238)},'progress':{'type':a0_0x667184(0x231),'description':'Progress\x200-100'}},'required':[a0_0x667184(0x23a)]}},{'name':a0_0x667184(0x1fa),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x667184(0x1d6),'properties':{'alias':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x1f5)},'task':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x1b3)},'priority':{'type':a0_0x667184(0x240),'enum':[a0_0x667184(0x1c6),'normal','low'],'description':a0_0x667184(0x1d4)}},'required':[a0_0x667184(0x213),a0_0x667184(0x1d2)]}},{'name':a0_0x667184(0x247),'description':a0_0x667184(0x1be),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x1f5)},'message':{'type':a0_0x667184(0x240),'description':a0_0x667184(0x1af)}},'required':[a0_0x667184(0x213),'message']}},{'name':a0_0x667184(0x221),'description':a0_0x667184(0x1ec),'inputSchema':{'type':'object','properties':{}}}]}));async function Y(_0x2c8151,_0x4d62cd){const _0x5607c6=a0_0x667184;let _0x414662=await fetch(j+_0x5607c6(0x1e6),{'method':_0x5607c6(0x1b6),'headers':{'Content-Type':_0x5607c6(0x1bd),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x5607c6(0x215)+F}:{}},'body':JSON[_0x5607c6(0x200)]({'jsonrpc':_0x5607c6(0x1b5),'id':0x1,'method':_0x5607c6(0x24b),'params':{'protocolVersion':_0x5607c6(0x21c),'capabilities':{},'clientInfo':{'name':'commhub-channel','version':_0x5607c6(0x1cd)}}})});if(!_0x414662['ok']){let _0x32141b=await _0x414662[_0x5607c6(0x224)]();return W(_0x5607c6(0x205)+_0x414662[_0x5607c6(0x23a)]+'\x20'+_0x32141b[_0x5607c6(0x1e4)](0x0,0x64)),{'ok':!0x1,'error':_0x5607c6(0x22c)+_0x414662[_0x5607c6(0x23a)]};}await _0x414662[_0x5607c6(0x224)]();let _0x10216d=(await(await fetch(j+_0x5607c6(0x1e6),{'method':'POST','headers':{'Content-Type':_0x5607c6(0x1bd),'Accept':_0x5607c6(0x1fc),...F?{'Authorization':_0x5607c6(0x215)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x5607c6(0x1b5),'id':0x2,'method':_0x5607c6(0x203),'params':{'name':_0x2c8151,'arguments':_0x4d62cd}})}))[_0x5607c6(0x224)]())[_0x5607c6(0x21b)]('\x0a')[_0x5607c6(0x225)](_0x1c0a76=>_0x1c0a76[_0x5607c6(0x1db)](_0x5607c6(0x1d8)));if(_0x10216d){let _0x24571b=JSON['parse'](_0x10216d[_0x5607c6(0x1e4)](0x6));return _0x24571b?.[_0x5607c6(0x1c2)]?.['content']?.[0x0]?.['text']?JSON[_0x5607c6(0x239)](_0x24571b['result'][_0x5607c6(0x1e3)][0x0][_0x5607c6(0x224)]):_0x24571b;}return{'ok':!0x1,'error':'no\x20response'};}x['setRequestHandler'](a0_0x35ba20,async _0x3a64aa=>{const _0x5c2e6d=a0_0x667184;let {name:_0x2c0439,arguments:_0x4906c6}=_0x3a64aa['params'];if(_0x2c0439===_0x5c2e6d(0x1cb)){let {task_id:_0x2a5ecd,text:_0x48d791,status:_0x1d74fe}=_0x4906c6;if(_0x1d74fe==='completed'||_0x1d74fe==='failed'||_0x1d74fe===_0x5c2e6d(0x208)){let _0x35abb7=_0x1d74fe==='completed'?_0x5c2e6d(0x236):_0x1d74fe,_0x3e14e2=_0x2a5ecd?D['get'](_0x2a5ecd)||_0x5c2e6d(0x1fe):'hub',_0xfe506f=await Y(_0x5c2e6d(0x1d9),{'alias':_0x3e14e2,'text':_0x48d791,'in_reply_to':_0x2a5ecd||void 0x0,'status':_0x35abb7,'from_session':G});if(_0x2a5ecd)D[_0x5c2e6d(0x22d)](_0x2a5ecd);return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)](_0xfe506f)}]};}let _0x3dfcc7=await Y(_0x5c2e6d(0x1c9),{'resume_id':K,'alias':G,'status':_0x1d74fe===_0x5c2e6d(0x1f9)?'blocked':_0x1d74fe==='error'?_0x5c2e6d(0x1e9):_0x5c2e6d(0x21e),'task':_0x48d791[_0x5c2e6d(0x1e4)](0x0,0xc8),'output':_0x48d791});return{'content':[{'type':'text','text':JSON['stringify'](_0x3dfcc7)}]};}if(_0x2c0439===_0x5c2e6d(0x21f)){let {status:_0x5486c0,task:_0x56cb53,progress:_0x23dc85}=_0x4906c6,_0x5d2394=await Y(_0x5c2e6d(0x1c9),{'resume_id':K,'alias':G,'status':_0x5486c0,'task':_0x56cb53,'progress':_0x23dc85});return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)](_0x5d2394)}]};}if(_0x2c0439==='commhub_send_task'){let {alias:_0x23e395,task:_0x47a866,priority:_0x1aa615}=_0x4906c6,_0x386ec3=await Y('send_task',{'alias':_0x23e395,'task':_0x47a866,'priority':_0x1aa615||_0x5c2e6d(0x1e7),'from_session':G});return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)](_0x386ec3)}]};}if(_0x2c0439===_0x5c2e6d(0x247)){let {alias:_0xa5635a,message:_0x363274}=_0x4906c6,_0x4795a4=await Y(_0x5c2e6d(0x1fb),{'alias':_0xa5635a,'message':_0x363274,'from_session':G});return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)](_0x4795a4)}]};}if(_0x2c0439===_0x5c2e6d(0x221)){let _0x12d2ee=await Y(_0x5c2e6d(0x245),{});return{'content':[{'type':'text','text':JSON[_0x5c2e6d(0x200)](_0x12d2ee)}]};}return{'content':[{'type':_0x5c2e6d(0x224),'text':JSON[_0x5c2e6d(0x200)]({'error':_0x5c2e6d(0x20a)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x542f85=a0_0x667184;try{await Y(_0x542f85(0x1c9),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x3b2b26(),'hostname':a0_0x3b2b26(),'agent':_0x542f85(0x212),'project_dir':process[_0x542f85(0x1d0)](),'tmux_name':f||void 0x0}),W(_0x542f85(0x1d7)+G+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x1d19a4){W(_0x542f85(0x20c)+_0x1d19a4);}}async function o(){const _0x811658=a0_0x667184;let _0x334f39=j+_0x811658(0x223)+encodeURIComponent(G),_0x671ca7={};if(F)_0x671ca7[_0x811658(0x1c4)]=_0x811658(0x215)+F;W('connecting\x20to\x20'+_0x334f39);let _0x1d7e65=O,_0x1fcf00=!0x0,_0x29feb1=null;while(!0x0){try{let _0x4ffa20=await fetch(_0x334f39,{'headers':_0x671ca7});if(!_0x4ffa20['ok']){if(W(_0x811658(0x241)+_0x4ffa20[_0x811658(0x23a)]+'\x20'+_0x4ffa20['statusText']),_0x29feb1=_0x29feb1??Date[_0x811658(0x216)](),Date[_0x811658(0x216)]()-_0x29feb1>T){W(_0x811658(0x222)+j+_0x811658(0x1ba));return;}await N(_0x1d7e65),_0x1d7e65=Math[_0x811658(0x232)](_0x1d7e65*0x2,R);continue;}let _0xf4997f=_0x4ffa20[_0x811658(0x227)][_0x811658(0x1d1)](),_0x4af4f0=new TextDecoder(),_0xf12c08='';_0x1d7e65=O;while(!0x0){let {done:_0x40d888,value:_0xeff582}=await _0xf4997f[_0x811658(0x1b0)]();if(_0x40d888)break;_0xf12c08+=_0x4af4f0['decode'](_0xeff582,{'stream':!0x0});let _0x16a5c7=_0xf12c08[_0x811658(0x21b)]('\x0a\x0a');_0xf12c08=_0x16a5c7[_0x811658(0x1c7)]()||'';for(let _0x22871d of _0x16a5c7){let _0x4bdfdf=_0x22871d['split']('\x0a')[_0x811658(0x225)](_0x51821a=>_0x51821a['startsWith'](_0x811658(0x1d8)));if(!_0x4bdfdf)continue;try{let _0x178c60=JSON[_0x811658(0x239)](_0x4bdfdf[_0x811658(0x1e4)](0x6));if(await a(_0x178c60),_0x178c60[_0x811658(0x1da)]===_0x811658(0x1bb)){if(_0x29feb1=null,!_0x1fcf00)await l();_0x1fcf00=!0x1;}}catch(_0x2588b4){W(_0x811658(0x1c1)+_0x2588b4);}}}W(_0x811658(0x246));}catch(_0x3c2c0b){W(_0x811658(0x1ed)+_0x3c2c0b);}if(_0x29feb1=_0x29feb1??Date[_0x811658(0x216)](),Date[_0x811658(0x216)]()-_0x29feb1>T){W(_0x811658(0x222)+j+_0x811658(0x1ba));return;}await N(_0x1d7e65),_0x1d7e65=Math[_0x811658(0x232)](_0x1d7e65*0x2,R);}}async function a(_0x43eee2){const _0x49f3d2=a0_0x667184;if(_0x43eee2[_0x49f3d2(0x1da)]===_0x49f3d2(0x1bb)){W(_0x49f3d2(0x207)+G+'\x22');return;}if(_0x43eee2[_0x49f3d2(0x1da)]===_0x49f3d2(0x209)){if(W('←\x20message\x20from\x20'+_0x43eee2[_0x49f3d2(0x235)]+':\x20'+_0x43eee2['message']['slice'](0x0,0x3c)),await x[_0x49f3d2(0x20d)]({'method':_0x49f3d2(0x217),'params':{'content':_0x43eee2[_0x49f3d2(0x1ca)],'meta':{'sender':_0x43eee2['from']||_0x49f3d2(0x1fe),'sender_id':_0x49f3d2(0x20b),'user':_0x43eee2[_0x49f3d2(0x235)]||_0x49f3d2(0x1fe),'priority':_0x49f3d2(0x1e7)}}}),_0x43eee2[_0x49f3d2(0x20e)])await Y('ack_inbox',{'alias':G,'message_id':_0x43eee2[_0x49f3d2(0x20e)]});return;}if(_0x43eee2[_0x49f3d2(0x1da)]===_0x49f3d2(0x1e0)||_0x43eee2[_0x49f3d2(0x1da)]===_0x49f3d2(0x218)){W('←\x20'+_0x43eee2[_0x49f3d2(0x1da)]+_0x49f3d2(0x23c)+_0x43eee2[_0x49f3d2(0x22e)]+_0x49f3d2(0x201)+(_0x43eee2[_0x49f3d2(0x242)]||_0x49f3d2(0x1e7)));let _0x2a3e8a=await Y(_0x49f3d2(0x22a),{'alias':G,'limit':0x5});if(_0x2a3e8a?.['ok']&&_0x2a3e8a[_0x49f3d2(0x1cf)]?.[_0x49f3d2(0x1e1)]>0x0)for(let _0x2a4c8e of _0x2a3e8a[_0x49f3d2(0x1cf)]){let _0x17cff8={'sender':_0x2a4c8e[_0x49f3d2(0x1c0)]||_0x49f3d2(0x1fe),'sender_id':_0x49f3d2(0x20b),'user':_0x2a4c8e[_0x49f3d2(0x1c0)]||_0x49f3d2(0x1fe),'task_id':_0x2a4c8e['id'],'priority':_0x2a4c8e['priority']||_0x49f3d2(0x1e7)};D[_0x49f3d2(0x1e2)](_0x2a4c8e['id'],_0x2a4c8e[_0x49f3d2(0x1c0)]||_0x49f3d2(0x1fe)),await x[_0x49f3d2(0x20d)]({'method':_0x49f3d2(0x217),'params':{'content':_0x2a4c8e[_0x49f3d2(0x1e3)],'meta':_0x17cff8}}),W(_0x49f3d2(0x1f8)+_0x2a4c8e['id'][_0x49f3d2(0x1e4)](0x0,0x8)+_0x49f3d2(0x1b7)+_0x2a4c8e[_0x49f3d2(0x1c0)]+':\x20'+_0x2a4c8e['content'][_0x49f3d2(0x1e4)](0x0,0x3c)),await Y(_0x49f3d2(0x204),{'alias':G,'message_id':_0x2a4c8e['id']});}}}async function n(){const _0x4e83e5=a0_0x667184;let _0x47c625=new a0_0x158967();await x[_0x4e83e5(0x1dc)](_0x47c625),W(_0x4e83e5(0x1bf)),W(_0x4e83e5(0x1eb)),o()[_0x4e83e5(0x1ce)](_0x57345e=>W('SSE\x20fatal:\x20'+_0x57345e)),Y('report_status',{'resume_id':K,'alias':G,'status':_0x4e83e5(0x1ae),'server':a0_0x3b2b26(),'hostname':a0_0x3b2b26(),'agent':_0x4e83e5(0x212),'project_dir':process[_0x4e83e5(0x1d0)](),'tmux_name':f||void 0x0})[_0x4e83e5(0x1d3)](()=>W(_0x4e83e5(0x22f)+G+'\x22\x20('+K[_0x4e83e5(0x1e4)](0x0,0x8)+')'))[_0x4e83e5(0x1ce)](_0x3e84ac=>W('warning:\x20could\x20not\x20register:\x20'+_0x3e84ac)),setInterval(()=>{const _0x5ade14=_0x4e83e5;Y(_0x5ade14(0x1c9),{'resume_id':K,'alias':G,'status':_0x5ade14(0x1ae),'server':a0_0x3b2b26(),'hostname':a0_0x3b2b26(),'agent':_0x5ade14(0x212),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x5ade14(0x1ce)](_0x291225=>W(_0x5ade14(0x1c3)+_0x291225));},0x2bf20),W(_0x4e83e5(0x21d));}n()['catch'](_0x2590bd=>{W('fatal:\x20'+_0x2590bd),process['exit'](0x1);});async function b(){const _0xd177b9=a0_0x667184;W(_0xd177b9(0x1df)),await Y(_0xd177b9(0x1c9),{'resume_id':K,'alias':G,'status':_0xd177b9(0x226),'task':_0xd177b9(0x214)})[_0xd177b9(0x1ce)](()=>{}),process[_0xd177b9(0x1d5)](0x0);}process[a0_0x667184(0x1f3)]['on'](a0_0x667184(0x219),()=>b()),process['on'](a0_0x667184(0x1b1),()=>b()),process['on'](a0_0x667184(0x1f6),()=>b());
|
|
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());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.2.20
|
|
3
|
+
"version": "2.2.20",
|
|
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",
|