@sleep2agi/agent-network 2.3.0-preview.16 → 2.3.0-preview.17
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/src/node-server.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
const a0_0x33e67d=a0_0x43a0;(function(_0x597c6f,_0x28a852){const _0x3d907f=a0_0x43a0,_0xab79d1=_0x597c6f();while(!![]){try{const _0x28bf0d=-parseInt(_0x3d907f(0x194))/0x1*(-parseInt(_0x3d907f(0x20b))/0x2)+-parseInt(_0x3d907f(0x1e6))/0x3*(parseInt(_0x3d907f(0x214))/0x4)+parseInt(_0x3d907f(0x1c8))/0x5*(parseInt(_0x3d907f(0x225))/0x6)+-parseInt(_0x3d907f(0x1fb))/0x7+parseInt(_0x3d907f(0x1de))/0x8+parseInt(_0x3d907f(0x192))/0x9*(-parseInt(_0x3d907f(0x1f6))/0xa)+parseInt(_0x3d907f(0x1e1))/0xb*(parseInt(_0x3d907f(0x1d2))/0xc);if(_0x28bf0d===_0x28a852)break;else _0xab79d1['push'](_0xab79d1['shift']());}catch(_0x3c3b24){_0xab79d1['push'](_0xab79d1['shift']());}}}(a0_0x10cd,0x48563));function a0_0x10cd(){const _0x125c75=['trim','string','\x20priority=','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','broadcast','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','688eSxaGe','ack_inbox','slice','hub','result','\x20CWD=','Progress\x200-100','(none)','get','re-register\x20failed:\x20','from','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','Bearer\x20','.env','cancelled','ENV:\x20URL=','pid','6EweufI','2025-03-26','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','decode','object','/events/','normal',':\x20inbox_count=','Priority\x20(default:\x20normal)','report_status','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','message_id','params','19305LLlKnh','get_inbox','10zumqLB','commhub_get_all_status','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','SIGINT','SSE\x20stream\x20ended,\x20reconnecting...','re-registered\x20as\x20\x22','write','Session\x20alias:\x20','application/json','registered\x20as\x20\x22','min',']\x20[commhub]\x20','SSE\x20fatal:\x20','tmux\x20display-message\x20-p\x20\x27#S\x27','commhub_send_message','fatal:\x20','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','notifications/claude/channel','completed','http://127.0.0.1:9200',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','←\x20message\x20from\x20','commhub','Reply\x20text\x20/\x20result\x20summary','low','0.3.0','commhub_send_task','type','\x20from\x20','find','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','task','in_progress','stderr','working','application/json,\x20text/event-stream','failed','replied','split','delete','starting\x20SSE\x20listener...','token','connected','from_session','initialize','alias','high','idle','statusText','SIGTERM','Target\x20session\x20alias','2051045PTcLyR','data:\x20','parse','MCP\x20stdio\x20connected','/mcp','toTimeString','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','catch','get_all_status','2.0','1538364XPJcnB','no\x20response','utf-8','cwd','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','stringify','unknown\x20tool','send_message','new_message','Current\x20task\x20description','notification','priority','3429672ZlFDBC','body','setRequestHandler','11fRQYTV','text','\x22\x20after\x20SSE\x20reconnect','connect','number','5883UAVsOQ','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','new_task','message','claude-code','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','offline','SSE\x20connection\x20error:\x20','replace','indexOf','ready\x20—\x20waiting\x20for\x20events','warning:\x20could\x20not\x20register:\x20','blocked','...\x20TMUX=','unattributed-','init\x20failed:\x20','2580RLPyEd','now','Task\x20content','messages','\x20RESUME_ID=','1479184TwTJuB','\x20/\x20hostname=','POST','status','SSE\x20error:\x20','.anet','error','Message\x20content','startsWith','send_task','exit','read','content','CommHub\x20init\x20failed:\x20','\x20PROJECT_ENV=','SSE\x20connected\x20as\x20\x22','86238NfkApv','inbox_count','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'];a0_0x10cd=function(){return _0x125c75;};return a0_0x10cd();}import{readFileSync as a0_0xe2471f,existsSync as a0_0x5e0fa8}from'fs';import{randomUUID as a0_0x4f7a61}from'crypto';import{join as a0_0xe05de6}from'path';import{hostname as a0_0x463c9b}from'os';import{execSync as a0_0x31e1c7}from'child_process';import{Server as a0_0x6462c4}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x334c66}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x54552c,CallToolRequestSchema as a0_0x4c376e}from'@modelcontextprotocol/sdk/types.js';function I(_0xefe8d0){const _0x50368a=a0_0x43a0;if(!a0_0x5e0fa8(_0xefe8d0))return;for(let _0x3a432a of a0_0xe2471f(_0xefe8d0,_0x50368a(0x1d4))[_0x50368a(0x1bb)]('\x0a')){let _0x132b6d=_0x3a432a[_0x50368a(0x20e)]();if(!_0x132b6d||_0x132b6d['startsWith']('#'))continue;let _0x416e77=_0x132b6d[_0x50368a(0x1ef)]('=');if(_0x416e77<0x0)continue;let _0x4125e4=_0x132b6d[_0x50368a(0x216)](0x0,_0x416e77)[_0x50368a(0x20e)](),_0x1e0e0f=_0x132b6d[_0x50368a(0x216)](_0x416e77+0x1)[_0x50368a(0x20e)]()[_0x50368a(0x1ee)](/^["']|["']$/g,'');if(!process.env[_0x4125e4])process.env[_0x4125e4]=_0x1e0e0f;}}var L=process.env.HOME||'~',U=a0_0xe05de6(L,'.claude/channels/commhub');I(a0_0xe05de6(U,a0_0x33e67d(0x221)));var v=process[a0_0x33e67d(0x1d5)]()[a0_0x33e67d(0x1ee)](/\//g,'-');I(a0_0xe05de6(U,v,'.env'));function d(){const _0x518f61=a0_0x33e67d;try{return a0_0x31e1c7(_0x518f61(0x1a1),{'encoding':_0x518f61(0x1d4),'timeout':0x7d0})[_0x518f61(0x20e)]();}catch{return'';}}function m(){const _0x3cdb2e=a0_0x33e67d;try{let _0x28ded7=a0_0xe05de6(L,_0x3cdb2e(0x200),'config.json');if(a0_0x5e0fa8(_0x28ded7))return JSON[_0x3cdb2e(0x1ca)](a0_0xe2471f(_0x28ded7,'utf-8'));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x33e67d(0x217)]||a0_0x33e67d(0x1a8),f=process.env.COMMHUB_TMUX||d();function r(){const _0x20d7c1=a0_0x33e67d;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x20d7c1(0x20e)]())return process.env.COMMHUB_ALIAS['trim']();return process['stderr'][_0x20d7c1(0x19a)](_0x20d7c1(0x1a4)+(_0x20d7c1(0x211)+(f||_0x20d7c1(0x21b))+_0x20d7c1(0x1fc)+a0_0x463c9b()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),_0x20d7c1(0x1f4)+process[_0x20d7c1(0x224)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x4f7a61(),F=process.env.COMMHUB_TOKEN||u[a0_0x33e67d(0x1be)]||'';function W(_0x6f361b){const _0x3fa7f0=a0_0x33e67d;let _0x15cc86=new Date()[_0x3fa7f0(0x1cd)]()[_0x3fa7f0(0x216)](0x0,0x8);process[_0x3fa7f0(0x1b6)][_0x3fa7f0(0x19a)]('['+_0x15cc86+_0x3fa7f0(0x19f)+_0x6f361b+'\x0a');}function N(_0x26643b){return new Promise(_0x688da2=>setTimeout(_0x688da2,_0x26643b));}W(a0_0x33e67d(0x223)+j+'\x20ALIAS='+G+a0_0x33e67d(0x1fa)+K[a0_0x33e67d(0x216)](0x0,0x8)+a0_0x33e67d(0x1f3)+(f||'none')+a0_0x33e67d(0x219)+process[a0_0x33e67d(0x1d5)]()+a0_0x33e67d(0x209)+v);var D=new Map(),x=new a0_0x6462c4({'name':'commhub-channel','version':a0_0x33e67d(0x1ae)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x33e67d(0x1eb),a0_0x33e67d(0x1b3),a0_0x33e67d(0x1e7),a0_0x33e67d(0x1d6),a0_0x33e67d(0x19b)+G]['join']('\x0a')});x['setRequestHandler'](a0_0x54552c,async()=>({'tools':[{'name':'commhub_reply','description':a0_0x33e67d(0x1a5),'inputSchema':{'type':a0_0x33e67d(0x229),'properties':{'task_id':{'type':'string','description':a0_0x33e67d(0x227)},'text':{'type':a0_0x33e67d(0x20f),'description':a0_0x33e67d(0x1ac)},'status':{'type':a0_0x33e67d(0x20f),'enum':[a0_0x33e67d(0x1a7),a0_0x33e67d(0x1b9),a0_0x33e67d(0x222),a0_0x33e67d(0x1f2),'error',a0_0x33e67d(0x1b5)],'description':a0_0x33e67d(0x20d)}},'required':[a0_0x33e67d(0x1e2)]}},{'name':'commhub_report_status','description':a0_0x33e67d(0x21f),'inputSchema':{'type':a0_0x33e67d(0x229),'properties':{'status':{'type':a0_0x33e67d(0x20f),'enum':['working',a0_0x33e67d(0x1c4),a0_0x33e67d(0x1f2),a0_0x33e67d(0x201)]},'task':{'type':a0_0x33e67d(0x20f),'description':a0_0x33e67d(0x1db)},'progress':{'type':a0_0x33e67d(0x1e5),'description':a0_0x33e67d(0x21a)}},'required':[a0_0x33e67d(0x1fe)]}},{'name':a0_0x33e67d(0x1af),'description':a0_0x33e67d(0x22f),'inputSchema':{'type':a0_0x33e67d(0x229),'properties':{'alias':{'type':a0_0x33e67d(0x20f),'description':'Target\x20session\x20alias'},'task':{'type':a0_0x33e67d(0x20f),'description':a0_0x33e67d(0x1f8)},'priority':{'type':a0_0x33e67d(0x20f),'enum':[a0_0x33e67d(0x1c3),a0_0x33e67d(0x22b),a0_0x33e67d(0x1ad)],'description':a0_0x33e67d(0x22d)}},'required':[a0_0x33e67d(0x1c2),a0_0x33e67d(0x1b4)]}},{'name':a0_0x33e67d(0x1a2),'description':a0_0x33e67d(0x213),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x33e67d(0x20f),'description':a0_0x33e67d(0x1c7)},'message':{'type':a0_0x33e67d(0x20f),'description':a0_0x33e67d(0x202)}},'required':[a0_0x33e67d(0x1c2),a0_0x33e67d(0x1e9)]}},{'name':a0_0x33e67d(0x195),'description':a0_0x33e67d(0x196),'inputSchema':{'type':a0_0x33e67d(0x229),'properties':{}}}]}));async function Y(_0x4c8273,_0x1da9aa){const _0x3add54=a0_0x33e67d;let _0x2b9535=await fetch(j+'/mcp',{'method':_0x3add54(0x1fd),'headers':{'Content-Type':_0x3add54(0x19c),'Accept':_0x3add54(0x1b8),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x3add54(0x1d7)]({'jsonrpc':_0x3add54(0x1d1),'id':0x1,'method':_0x3add54(0x1c1),'params':{'protocolVersion':_0x3add54(0x226),'capabilities':{},'clientInfo':{'name':'commhub-channel','version':_0x3add54(0x1ae)}}})});if(!_0x2b9535['ok']){let _0x5e8124=await _0x2b9535[_0x3add54(0x1e2)]();return W(_0x3add54(0x208)+_0x2b9535['status']+'\x20'+_0x5e8124[_0x3add54(0x216)](0x0,0x64)),{'ok':!0x1,'error':_0x3add54(0x1f5)+_0x2b9535[_0x3add54(0x1fe)]};}await _0x2b9535['text']();let _0x4a2557=(await(await fetch(j+_0x3add54(0x1cc),{'method':_0x3add54(0x1fd),'headers':{'Content-Type':_0x3add54(0x19c),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x3add54(0x220)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x3add54(0x1d1),'id':0x2,'method':'tools/call','params':{'name':_0x4c8273,'arguments':_0x1da9aa}})}))['text']())[_0x3add54(0x1bb)]('\x0a')[_0x3add54(0x1b2)](_0x345362=>_0x345362[_0x3add54(0x203)](_0x3add54(0x1c9)));if(_0x4a2557){let _0x37801c=JSON[_0x3add54(0x1ca)](_0x4a2557[_0x3add54(0x216)](0x6));return _0x37801c?.[_0x3add54(0x218)]?.[_0x3add54(0x207)]?.[0x0]?.[_0x3add54(0x1e2)]?JSON['parse'](_0x37801c[_0x3add54(0x218)][_0x3add54(0x207)][0x0][_0x3add54(0x1e2)]):_0x37801c;}return{'ok':!0x1,'error':_0x3add54(0x1d3)};}x[a0_0x33e67d(0x1e0)](a0_0x4c376e,async _0x49875d=>{const _0x15df2c=a0_0x33e67d;let {name:_0x1935e7,arguments:_0x363324}=_0x49875d[_0x15df2c(0x231)];if(_0x1935e7==='commhub_reply'){let {task_id:_0x1c75c8,text:_0x2a813c,status:_0xb0d80b}=_0x363324;if(_0xb0d80b==='completed'||_0xb0d80b==='failed'||_0xb0d80b===_0x15df2c(0x222)){let _0x157720=_0xb0d80b===_0x15df2c(0x1a7)?_0x15df2c(0x1ba):_0xb0d80b,_0x15e7da=_0x1c75c8?D[_0x15df2c(0x21c)](_0x1c75c8)||_0x15df2c(0x217):_0x15df2c(0x217),_0x3d30c2=await Y('send_reply',{'alias':_0x15e7da,'text':_0x2a813c,'in_reply_to':_0x1c75c8||void 0x0,'status':_0x157720,'from_session':G});if(_0x1c75c8)D[_0x15df2c(0x1bc)](_0x1c75c8);return{'content':[{'type':_0x15df2c(0x1e2),'text':JSON['stringify'](_0x3d30c2)}]};}let _0x48fafe=await Y('report_status',{'resume_id':K,'alias':G,'status':_0xb0d80b===_0x15df2c(0x1f2)?_0x15df2c(0x1f2):_0xb0d80b===_0x15df2c(0x201)?_0x15df2c(0x201):_0x15df2c(0x1b7),'task':_0x2a813c['slice'](0x0,0xc8),'output':_0x2a813c});return{'content':[{'type':_0x15df2c(0x1e2),'text':JSON[_0x15df2c(0x1d7)](_0x48fafe)}]};}if(_0x1935e7==='commhub_report_status'){let {status:_0x4ababa,task:_0xcc04e0,progress:_0x57d1b7}=_0x363324,_0x3c4830=await Y(_0x15df2c(0x22e),{'resume_id':K,'alias':G,'status':_0x4ababa,'task':_0xcc04e0,'progress':_0x57d1b7});return{'content':[{'type':_0x15df2c(0x1e2),'text':JSON['stringify'](_0x3c4830)}]};}if(_0x1935e7===_0x15df2c(0x1af)){let {alias:_0x134419,task:_0x2fdd06,priority:_0x4d6574}=_0x363324,_0x16f29d=await Y(_0x15df2c(0x204),{'alias':_0x134419,'task':_0x2fdd06,'priority':_0x4d6574||'normal','from_session':G});return{'content':[{'type':'text','text':JSON[_0x15df2c(0x1d7)](_0x16f29d)}]};}if(_0x1935e7===_0x15df2c(0x1a2)){let {alias:_0x1df3fd,message:_0x1a20a7}=_0x363324,_0x2590c7=await Y(_0x15df2c(0x1d9),{'alias':_0x1df3fd,'message':_0x1a20a7,'from_session':G});return{'content':[{'type':_0x15df2c(0x1e2),'text':JSON[_0x15df2c(0x1d7)](_0x2590c7)}]};}if(_0x1935e7===_0x15df2c(0x195)){let _0x4ec393=await Y(_0x15df2c(0x1d0),{});return{'content':[{'type':_0x15df2c(0x1e2),'text':JSON[_0x15df2c(0x1d7)](_0x4ec393)}]};}return{'content':[{'type':_0x15df2c(0x1e2),'text':JSON[_0x15df2c(0x1d7)]({'error':_0x15df2c(0x1d8)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x871b2f=a0_0x33e67d;try{await Y('report_status',{'resume_id':K,'alias':G,'status':_0x871b2f(0x1c4),'server':a0_0x463c9b(),'hostname':a0_0x463c9b(),'agent':'claude-code','project_dir':process['cwd'](),'tmux_name':f||void 0x0}),W(_0x871b2f(0x199)+G+_0x871b2f(0x1e3));}catch(_0x1c95f7){W(_0x871b2f(0x21d)+_0x1c95f7);}}function a0_0x43a0(_0x1169fc,_0x2dafed){_0x1169fc=_0x1169fc-0x192;const _0x10cdce=a0_0x10cd();let _0x43a050=_0x10cdce[_0x1169fc];return _0x43a050;}async function o(){const _0x40b34a=a0_0x33e67d;let _0x40bb3a=j+_0x40b34a(0x22a)+encodeURIComponent(G),_0x3b2000={};if(F)_0x3b2000['Authorization']=_0x40b34a(0x220)+F;W('connecting\x20to\x20'+_0x40bb3a);let _0x306c4c=O,_0x341986=!0x0,_0x20ca50=null;while(!0x0){try{let _0x5afa03=await fetch(_0x40bb3a,{'headers':_0x3b2000});if(!_0x5afa03['ok']){if(W(_0x40b34a(0x1ff)+_0x5afa03[_0x40b34a(0x1fe)]+'\x20'+_0x5afa03[_0x40b34a(0x1c5)]),_0x20ca50=_0x20ca50??Date[_0x40b34a(0x1f7)](),Date['now']()-_0x20ca50>T){W(_0x40b34a(0x1ce)+j+')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。');return;}await N(_0x306c4c),_0x306c4c=Math[_0x40b34a(0x19e)](_0x306c4c*0x2,R);continue;}let _0x4355e9=_0x5afa03[_0x40b34a(0x1df)]['getReader'](),_0x46e4a6=new TextDecoder(),_0x32f9f2='';_0x306c4c=O;while(!0x0){let {done:_0x8e4284,value:_0x4d0e74}=await _0x4355e9[_0x40b34a(0x206)]();if(_0x8e4284)break;_0x32f9f2+=_0x46e4a6[_0x40b34a(0x228)](_0x4d0e74,{'stream':!0x0});let _0x2f158d=_0x32f9f2['split']('\x0a\x0a');_0x32f9f2=_0x2f158d['pop']()||'';for(let _0x15dd33 of _0x2f158d){let _0x55c668=_0x15dd33[_0x40b34a(0x1bb)]('\x0a')[_0x40b34a(0x1b2)](_0x1eb34e=>_0x1eb34e[_0x40b34a(0x203)]('data:\x20'));if(!_0x55c668)continue;try{let _0x1eeae1=JSON[_0x40b34a(0x1ca)](_0x55c668[_0x40b34a(0x216)](0x6));if(await a(_0x1eeae1),_0x1eeae1['type']===_0x40b34a(0x1bf)){if(_0x20ca50=null,!_0x341986)await l();_0x341986=!0x1;}}catch(_0x31a02a){W('parse\x20error:\x20'+_0x31a02a);}}}W(_0x40b34a(0x198));}catch(_0x2f4144){W(_0x40b34a(0x1ed)+_0x2f4144);}if(_0x20ca50=_0x20ca50??Date[_0x40b34a(0x1f7)](),Date[_0x40b34a(0x1f7)]()-_0x20ca50>T){W(_0x40b34a(0x1ce)+j+_0x40b34a(0x1a9));return;}await N(_0x306c4c),_0x306c4c=Math['min'](_0x306c4c*0x2,R);}}async function a(_0x4086af){const _0x93a0af=a0_0x33e67d;if(_0x4086af[_0x93a0af(0x1b0)]===_0x93a0af(0x1bf)){W(_0x93a0af(0x20a)+G+'\x22');return;}if(_0x4086af['type']===_0x93a0af(0x1da)){if(W(_0x93a0af(0x1aa)+_0x4086af[_0x93a0af(0x21e)]+':\x20'+_0x4086af[_0x93a0af(0x1e9)][_0x93a0af(0x216)](0x0,0x3c)),await x[_0x93a0af(0x1dc)]({'method':_0x93a0af(0x1a6),'params':{'content':_0x4086af[_0x93a0af(0x1e9)],'meta':{'sender':_0x4086af[_0x93a0af(0x21e)]||_0x93a0af(0x217),'sender_id':_0x93a0af(0x1ab),'user':_0x4086af[_0x93a0af(0x21e)]||_0x93a0af(0x217),'priority':_0x93a0af(0x22b)}}}),_0x4086af[_0x93a0af(0x230)])await Y(_0x93a0af(0x215),{'alias':G,'message_id':_0x4086af[_0x93a0af(0x230)]});return;}if(_0x4086af[_0x93a0af(0x1b0)]===_0x93a0af(0x1e8)||_0x4086af[_0x93a0af(0x1b0)]===_0x93a0af(0x212)){W('←\x20'+_0x4086af[_0x93a0af(0x1b0)]+_0x93a0af(0x22c)+_0x4086af[_0x93a0af(0x20c)]+_0x93a0af(0x210)+(_0x4086af[_0x93a0af(0x1dd)]||'normal'));let _0x1d4566=await Y(_0x93a0af(0x193),{'alias':G,'limit':0x5});if(_0x1d4566?.['ok']&&_0x1d4566[_0x93a0af(0x1f9)]?.['length']>0x0)for(let _0x1b147a of _0x1d4566[_0x93a0af(0x1f9)]){let _0x211758={'sender':_0x1b147a[_0x93a0af(0x1c0)]||'hub','sender_id':'commhub','user':_0x1b147a['from_session']||_0x93a0af(0x217),'task_id':_0x1b147a['id'],'priority':_0x1b147a['priority']||_0x93a0af(0x22b)};D['set'](_0x1b147a['id'],_0x1b147a['from_session']||_0x93a0af(0x217)),await x[_0x93a0af(0x1dc)]({'method':_0x93a0af(0x1a6),'params':{'content':_0x1b147a[_0x93a0af(0x207)],'meta':_0x211758}}),W('→\x20injected\x20task\x20'+_0x1b147a['id'][_0x93a0af(0x216)](0x0,0x8)+_0x93a0af(0x1b1)+_0x1b147a['from_session']+':\x20'+_0x1b147a[_0x93a0af(0x207)][_0x93a0af(0x216)](0x0,0x3c)),await Y('ack_inbox',{'alias':G,'message_id':_0x1b147a['id']});}}}async function n(){const _0xa42110=a0_0x33e67d;let _0x357808=new a0_0x334c66();await x[_0xa42110(0x1e4)](_0x357808),W(_0xa42110(0x1cb)),W(_0xa42110(0x1bd)),o()[_0xa42110(0x1cf)](_0x36627d=>W(_0xa42110(0x1a0)+_0x36627d)),Y(_0xa42110(0x22e),{'resume_id':K,'alias':G,'status':_0xa42110(0x1c4),'server':a0_0x463c9b(),'hostname':a0_0x463c9b(),'agent':_0xa42110(0x1ea),'project_dir':process[_0xa42110(0x1d5)](),'tmux_name':f||void 0x0})['then'](()=>W(_0xa42110(0x19d)+G+'\x22\x20('+K[_0xa42110(0x216)](0x0,0x8)+')'))['catch'](_0xf75d12=>W(_0xa42110(0x1f1)+_0xf75d12)),setInterval(()=>{const _0x5cb476=_0xa42110;Y(_0x5cb476(0x22e),{'resume_id':K,'alias':G,'status':_0x5cb476(0x1c4),'server':a0_0x463c9b(),'hostname':a0_0x463c9b(),'agent':'claude-code','project_dir':process[_0x5cb476(0x1d5)](),'tmux_name':f||void 0x0})[_0x5cb476(0x1cf)](_0x5db0ff=>W('heartbeat\x20failed:\x20'+_0x5db0ff));},0x2bf20),W(_0xa42110(0x1f0));}n()[a0_0x33e67d(0x1cf)](_0x2d59f8=>{const _0x27aca8=a0_0x33e67d;W(_0x27aca8(0x1a3)+_0x2d59f8),process[_0x27aca8(0x205)](0x1);});async function b(){const _0x3c3c25=a0_0x33e67d;W('shutting\x20down,\x20reporting\x20offline...'),await Y(_0x3c3c25(0x22e),{'resume_id':K,'alias':G,'status':_0x3c3c25(0x1ec),'task':'session\x20disconnected'})[_0x3c3c25(0x1cf)](()=>{}),process[_0x3c3c25(0x205)](0x0);}process['stdin']['on']('end',()=>b()),process['on'](a0_0x33e67d(0x1c6),()=>b()),process['on'](a0_0x33e67d(0x197),()=>b());
|
|
2
|
+
const a0_0x207c84=a0_0x34e2;(function(_0x1eaeb3,_0x121379){const _0x3fdf4a=a0_0x34e2,_0x45a2be=_0x1eaeb3();while(!![]){try{const _0x5e8586=parseInt(_0x3fdf4a(0xf8))/0x1*(parseInt(_0x3fdf4a(0xf6))/0x2)+-parseInt(_0x3fdf4a(0x113))/0x3+parseInt(_0x3fdf4a(0xcc))/0x4+-parseInt(_0x3fdf4a(0xc7))/0x5+-parseInt(_0x3fdf4a(0x14a))/0x6*(-parseInt(_0x3fdf4a(0x12f))/0x7)+-parseInt(_0x3fdf4a(0x11e))/0x8+-parseInt(_0x3fdf4a(0x143))/0x9*(parseInt(_0x3fdf4a(0xe5))/0xa);if(_0x5e8586===_0x121379)break;else _0x45a2be['push'](_0x45a2be['shift']());}catch(_0x836805){_0x45a2be['push'](_0x45a2be['shift']());}}}(a0_0x5a90,0x84dd7));import{readFileSync as a0_0x50d4f9,existsSync as a0_0x4387f7}from'fs';import{randomUUID as a0_0x41f2b3}from'crypto';import{join as a0_0x4f7719}from'path';import{hostname as a0_0x301448}from'os';import{execSync as a0_0x25c7b0}from'child_process';import{Server as a0_0x536752}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x5e5224}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x42b977,CallToolRequestSchema as a0_0x49ff91}from'@modelcontextprotocol/sdk/types.js';function I(_0x147f88){const _0x1e5a06=a0_0x34e2;if(!a0_0x4387f7(_0x147f88))return;for(let _0x2d7cfa of a0_0x50d4f9(_0x147f88,'utf-8')[_0x1e5a06(0xda)]('\x0a')){let _0x73ffad=_0x2d7cfa[_0x1e5a06(0x14b)]();if(!_0x73ffad||_0x73ffad['startsWith']('#'))continue;let _0x29b1b8=_0x73ffad['indexOf']('=');if(_0x29b1b8<0x0)continue;let _0x95a6b3=_0x73ffad['slice'](0x0,_0x29b1b8)[_0x1e5a06(0x14b)](),_0x4a69aa=_0x73ffad[_0x1e5a06(0xec)](_0x29b1b8+0x1)['trim']()[_0x1e5a06(0xfe)](/^["']|["']$/g,'');if(!process.env[_0x95a6b3])process.env[_0x95a6b3]=_0x4a69aa;}}var L=process.env.HOME||'~',U=a0_0x4f7719(L,a0_0x207c84(0xe6));I(a0_0x4f7719(U,a0_0x207c84(0xbf)));var v=process['cwd']()['replace'](/\//g,'-');I(a0_0x4f7719(U,v,a0_0x207c84(0xbf)));function d(){const _0x39c9ac=a0_0x207c84;try{return a0_0x25c7b0(_0x39c9ac(0x132),{'encoding':_0x39c9ac(0x144),'timeout':0x7d0})['trim']();}catch{return'';}}function m(){const _0x2e45de=a0_0x207c84;try{let _0xe81e5a=a0_0x4f7719(L,_0x2e45de(0x138),_0x2e45de(0xd1));if(a0_0x4387f7(_0xe81e5a))return JSON[_0x2e45de(0xfc)](a0_0x50d4f9(_0xe81e5a,_0x2e45de(0x144)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u['hub']||a0_0x207c84(0x10b),f=process.env.COMMHUB_TMUX||d();function r(){const _0x2ee023=a0_0x207c84;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x2ee023(0x14b)]())return process.env.COMMHUB_ALIAS['trim']();return process[_0x2ee023(0xf3)][_0x2ee023(0xff)](_0x2ee023(0x13c)+(_0x2ee023(0xef)+(f||'(none)')+_0x2ee023(0x147)+a0_0x301448()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),_0x2ee023(0x103)+process[_0x2ee023(0xe2)];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x41f2b3(),F=process.env.COMMHUB_TOKEN||u['token']||'';function W(_0x17abcc){const _0x296dff=a0_0x207c84;let _0x303155=new Date()[_0x296dff(0xc6)]()[_0x296dff(0xec)](0x0,0x8);process['stderr'][_0x296dff(0xff)]('['+_0x303155+_0x296dff(0xe9)+_0x17abcc+'\x0a');}function N(_0x35a33f){return new Promise(_0x463c45=>setTimeout(_0x463c45,_0x35a33f));}function a0_0x5a90(){const _0x38dcc3=['pid','offline','session\x20disconnected','10ciiekR','.claude/channels/commhub','low','Target\x20session\x20alias',']\x20[commhub]\x20','alias','getReader','slice','failed','MCP\x20stdio\x20connected','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','min','get','then','stderr','exit','2025-03-26','2KcrWEE','ack_inbox','719059PVhfQN','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','task','commhub_send_task','parse','end','replace','write','shutting\x20down,\x20reporting\x20offline...','working','broadcast','unattributed-','\x20CWD=','send_reply','connected','data:\x20','initialize','content','commhub_report_status','http://127.0.0.1:9200','commhub_send_message','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','Message\x20content','no\x20response','Task\x20content','Current\x20task\x20description','cancelled','268962PGFOvc','read','object','/events/','CommHub\x20init\x20failed:\x20','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','Bearer\x20','pop','unknown\x20tool','\x22\x20after\x20SSE\x20reconnect','1534976zrrtLT','stdin','startsWith','normal','notification','hub','string','priority','params','ENV:\x20URL=','SSE\x20error:\x20','in_progress','stringify','cwd','Authorization','Progress\x200-100','message','3892fwgYqt','blocked','SSE\x20stream\x20ended,\x20reconnecting...','tmux\x20display-message\x20-p\x20\x27#S\x27','0.3.0','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','body',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','ready\x20—\x20waiting\x20for\x20events','.anet','application/json,\x20text/event-stream','report_status','commhub_reply','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','send_message','←\x20message\x20from\x20','init\x20failed:\x20','completed','send_task','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','14640228kJtdtA','utf-8','claude-code','from','\x20/\x20hostname=','join','messages','10254uwNDfp','trim','SIGINT','\x20ALIAS=','find','\x20from\x20','setRequestHandler','now','get_all_status','re-register\x20failed:\x20','parse\x20error:\x20','warning:\x20could\x20not\x20register:\x20','commhub_get_all_status','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','POST','/mcp','length','from_session','.env','application/json','none','new_message','→\x20injected\x20task\x20','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','\x20RESUME_ID=','toTimeString','296340yPoQAJ','type','commhub-channel','SSE\x20fatal:\x20','registered\x20as\x20\x22','3369752TmDeks','connecting\x20to\x20','Priority\x20(default:\x20normal)','number','connect','config.json','SSE\x20connected\x20as\x20\x22','text','\x20PROJECT_ENV=','replied','catch','error','message_id','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','split','heartbeat\x20failed:\x20','tools/call','idle','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','SIGTERM','status','2.0'];a0_0x5a90=function(){return _0x38dcc3;};return a0_0x5a90();}W(a0_0x207c84(0x127)+j+a0_0x207c84(0x14d)+G+a0_0x207c84(0xc5)+K['slice'](0x0,0x8)+'...\x20TMUX='+(f||a0_0x207c84(0xc1))+a0_0x207c84(0x104)+process[a0_0x207c84(0x12b)]()+a0_0x207c84(0xd4)+v);var D=new Map(),x=new a0_0x536752({'name':a0_0x207c84(0xc9),'version':a0_0x207c84(0x133)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x207c84(0x142),a0_0x207c84(0xd9),a0_0x207c84(0xc4),a0_0x207c84(0xde),'Session\x20alias:\x20'+G][a0_0x207c84(0x148)]('\x0a')});x[a0_0x207c84(0xb3)](a0_0x42b977,async()=>({'tools':[{'name':a0_0x207c84(0x13b),'description':a0_0x207c84(0x134),'inputSchema':{'type':a0_0x207c84(0x115),'properties':{'task_id':{'type':a0_0x207c84(0x124),'description':a0_0x207c84(0xba)},'text':{'type':'string','description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x207c84(0x124),'enum':[a0_0x207c84(0x140),'failed',a0_0x207c84(0x112),a0_0x207c84(0x130),a0_0x207c84(0xd7),a0_0x207c84(0x129)],'description':a0_0x207c84(0xf9)}},'required':['text']}},{'name':a0_0x207c84(0x10a),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0x207c84(0x115),'properties':{'status':{'type':a0_0x207c84(0x124),'enum':[a0_0x207c84(0x101),a0_0x207c84(0xdd),a0_0x207c84(0x130),'error']},'task':{'type':'string','description':a0_0x207c84(0x111)},'progress':{'type':a0_0x207c84(0xcf),'description':a0_0x207c84(0x12d)}},'required':[a0_0x207c84(0xe0)]}},{'name':a0_0x207c84(0xfb),'description':a0_0x207c84(0x10d),'inputSchema':{'type':a0_0x207c84(0x115),'properties':{'alias':{'type':a0_0x207c84(0x124),'description':'Target\x20session\x20alias'},'task':{'type':'string','description':a0_0x207c84(0x110)},'priority':{'type':a0_0x207c84(0x124),'enum':['high','normal',a0_0x207c84(0xe7)],'description':a0_0x207c84(0xce)}},'required':[a0_0x207c84(0xea),a0_0x207c84(0xfa)]}},{'name':a0_0x207c84(0x10c),'description':a0_0x207c84(0x119),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x207c84(0x124),'description':a0_0x207c84(0xe8)},'message':{'type':a0_0x207c84(0x124),'description':a0_0x207c84(0x10e)}},'required':[a0_0x207c84(0xea),a0_0x207c84(0x12e)]}},{'name':a0_0x207c84(0xb9),'description':'Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','inputSchema':{'type':a0_0x207c84(0x115),'properties':{}}}]}));async function Y(_0x2f39ea,_0x4505f2){const _0x524f40=a0_0x207c84;let _0x5ee99e=await fetch(j+_0x524f40(0xbc),{'method':_0x524f40(0xbb),'headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x524f40(0x11a)+F}:{}},'body':JSON[_0x524f40(0x12a)]({'jsonrpc':_0x524f40(0xe1),'id':0x1,'method':_0x524f40(0x108),'params':{'protocolVersion':_0x524f40(0xf5),'capabilities':{},'clientInfo':{'name':_0x524f40(0xc9),'version':_0x524f40(0x133)}}})});if(!_0x5ee99e['ok']){let _0x59dea7=await _0x5ee99e['text']();return W(_0x524f40(0x117)+_0x5ee99e['status']+'\x20'+_0x59dea7['slice'](0x0,0x64)),{'ok':!0x1,'error':_0x524f40(0x13f)+_0x5ee99e[_0x524f40(0xe0)]};}await _0x5ee99e[_0x524f40(0xd3)]();let _0xee90e4=(await(await fetch(j+_0x524f40(0xbc),{'method':_0x524f40(0xbb),'headers':{'Content-Type':_0x524f40(0xc0),'Accept':_0x524f40(0x139),...F?{'Authorization':_0x524f40(0x11a)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x524f40(0xe1),'id':0x2,'method':_0x524f40(0xdc),'params':{'name':_0x2f39ea,'arguments':_0x4505f2}})}))[_0x524f40(0xd3)]())['split']('\x0a')['find'](_0x9a49b7=>_0x9a49b7['startsWith'](_0x524f40(0x107)));if(_0xee90e4){let _0x405604=JSON[_0x524f40(0xfc)](_0xee90e4[_0x524f40(0xec)](0x6));return _0x405604?.['result']?.['content']?.[0x0]?.[_0x524f40(0xd3)]?JSON[_0x524f40(0xfc)](_0x405604['result'][_0x524f40(0x109)][0x0]['text']):_0x405604;}return{'ok':!0x1,'error':_0x524f40(0x10f)};}x[a0_0x207c84(0xb3)](a0_0x49ff91,async _0x36a00e=>{const _0x767b65=a0_0x207c84;let {name:_0x33b73f,arguments:_0x592afc}=_0x36a00e[_0x767b65(0x126)];if(_0x33b73f===_0x767b65(0x13b)){let {task_id:_0x65197e,text:_0xa4abd8,status:_0x33f88a}=_0x592afc;if(_0x33f88a===_0x767b65(0x140)||_0x33f88a===_0x767b65(0xed)||_0x33f88a===_0x767b65(0x112)){let _0x3e0830=_0x33f88a===_0x767b65(0x140)?_0x767b65(0xd5):_0x33f88a,_0x2e8170=_0x65197e?D[_0x767b65(0xf1)](_0x65197e)||_0x767b65(0x123):_0x767b65(0x123),_0xf66f99=await Y(_0x767b65(0x105),{'alias':_0x2e8170,'text':_0xa4abd8,'in_reply_to':_0x65197e||void 0x0,'status':_0x3e0830,'from_session':G});if(_0x65197e)D['delete'](_0x65197e);return{'content':[{'type':_0x767b65(0xd3),'text':JSON[_0x767b65(0x12a)](_0xf66f99)}]};}let _0x1132f4=await Y('report_status',{'resume_id':K,'alias':G,'status':_0x33f88a==='blocked'?'blocked':_0x33f88a===_0x767b65(0xd7)?'error':_0x767b65(0x101),'task':_0xa4abd8[_0x767b65(0xec)](0x0,0xc8),'output':_0xa4abd8});return{'content':[{'type':_0x767b65(0xd3),'text':JSON[_0x767b65(0x12a)](_0x1132f4)}]};}if(_0x33b73f===_0x767b65(0x10a)){let {status:_0x4ee255,task:_0x3b1149,progress:_0x53d870}=_0x592afc,_0x164ff8=await Y(_0x767b65(0x13a),{'resume_id':K,'alias':G,'status':_0x4ee255,'task':_0x3b1149,'progress':_0x53d870});return{'content':[{'type':_0x767b65(0xd3),'text':JSON[_0x767b65(0x12a)](_0x164ff8)}]};}if(_0x33b73f===_0x767b65(0xfb)){let {alias:_0xb9df3d,task:_0x4b9988,priority:_0x37584f}=_0x592afc,_0x24f111=await Y(_0x767b65(0x141),{'alias':_0xb9df3d,'task':_0x4b9988,'priority':_0x37584f||_0x767b65(0x121),'from_session':G});return{'content':[{'type':'text','text':JSON[_0x767b65(0x12a)](_0x24f111)}]};}if(_0x33b73f===_0x767b65(0x10c)){let {alias:_0x2f14b9,message:_0x35ebb7}=_0x592afc,_0x28a828=await Y(_0x767b65(0x13d),{'alias':_0x2f14b9,'message':_0x35ebb7,'from_session':G});return{'content':[{'type':_0x767b65(0xd3),'text':JSON['stringify'](_0x28a828)}]};}if(_0x33b73f===_0x767b65(0xb9)){let _0x33d709=await Y(_0x767b65(0xb5),{});return{'content':[{'type':_0x767b65(0xd3),'text':JSON[_0x767b65(0x12a)](_0x33d709)}]};}return{'content':[{'type':_0x767b65(0xd3),'text':JSON[_0x767b65(0x12a)]({'error':_0x767b65(0x11c)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x33054b=a0_0x207c84;try{await Y(_0x33054b(0x13a),{'resume_id':K,'alias':G,'status':_0x33054b(0xdd),'server':a0_0x301448(),'hostname':a0_0x301448(),'agent':_0x33054b(0x145),'project_dir':process[_0x33054b(0x12b)](),'tmux_name':f||void 0x0}),W('re-registered\x20as\x20\x22'+G+_0x33054b(0x11d));}catch(_0x4fbf7c){W(_0x33054b(0xb6)+_0x4fbf7c);}}async function o(){const _0x2dbdc5=a0_0x207c84;let _0x3a8980=j+_0x2dbdc5(0x116)+encodeURIComponent(G),_0x3d5b57={};if(F)_0x3d5b57[_0x2dbdc5(0x12c)]='Bearer\x20'+F;W(_0x2dbdc5(0xcd)+_0x3a8980);let _0x30c71b=O,_0x5921d5=!0x0,_0x470ab2=null;while(!0x0){try{let _0x501fdf=await fetch(_0x3a8980,{'headers':_0x3d5b57});if(!_0x501fdf['ok']){if(W(_0x2dbdc5(0x128)+_0x501fdf['status']+'\x20'+_0x501fdf['statusText']),_0x470ab2=_0x470ab2??Date['now'](),Date[_0x2dbdc5(0xb4)]()-_0x470ab2>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x2dbdc5(0x136));return;}await N(_0x30c71b),_0x30c71b=Math[_0x2dbdc5(0xf0)](_0x30c71b*0x2,R);continue;}let _0x532b03=_0x501fdf[_0x2dbdc5(0x135)][_0x2dbdc5(0xeb)](),_0x13e7ae=new TextDecoder(),_0x1e9093='';_0x30c71b=O;while(!0x0){let {done:_0x371a51,value:_0x19dba9}=await _0x532b03[_0x2dbdc5(0x114)]();if(_0x371a51)break;_0x1e9093+=_0x13e7ae['decode'](_0x19dba9,{'stream':!0x0});let _0x533305=_0x1e9093[_0x2dbdc5(0xda)]('\x0a\x0a');_0x1e9093=_0x533305[_0x2dbdc5(0x11b)]()||'';for(let _0x49a336 of _0x533305){let _0x42c6cb=_0x49a336[_0x2dbdc5(0xda)]('\x0a')[_0x2dbdc5(0x14e)](_0x478061=>_0x478061[_0x2dbdc5(0x120)](_0x2dbdc5(0x107)));if(!_0x42c6cb)continue;try{let _0x5d2097=JSON[_0x2dbdc5(0xfc)](_0x42c6cb[_0x2dbdc5(0xec)](0x6));if(await a(_0x5d2097),_0x5d2097[_0x2dbdc5(0xc8)]===_0x2dbdc5(0x106)){if(_0x470ab2=null,!_0x5921d5)await l();_0x5921d5=!0x1;}}catch(_0x36b764){W(_0x2dbdc5(0xb7)+_0x36b764);}}}W(_0x2dbdc5(0x131));}catch(_0x519dcd){W('SSE\x20connection\x20error:\x20'+_0x519dcd);}if(_0x470ab2=_0x470ab2??Date[_0x2dbdc5(0xb4)](),Date[_0x2dbdc5(0xb4)]()-_0x470ab2>T){W(_0x2dbdc5(0x118)+j+_0x2dbdc5(0x136));return;}await N(_0x30c71b),_0x30c71b=Math[_0x2dbdc5(0xf0)](_0x30c71b*0x2,R);}}async function a(_0xe52f5f){const _0x1d545f=a0_0x207c84;if(_0xe52f5f['type']===_0x1d545f(0x106)){W(_0x1d545f(0xd2)+G+'\x22');return;}if(_0xe52f5f[_0x1d545f(0xc8)]===_0x1d545f(0xc2)){if(W(_0x1d545f(0x13e)+_0xe52f5f[_0x1d545f(0x146)]+':\x20'+_0xe52f5f[_0x1d545f(0x12e)][_0x1d545f(0xec)](0x0,0x3c)),await x[_0x1d545f(0x122)]({'method':'notifications/claude/channel','params':{'content':_0xe52f5f[_0x1d545f(0x12e)],'meta':{'sender':_0xe52f5f[_0x1d545f(0x146)]||_0x1d545f(0x123),'sender_id':'commhub','user':_0xe52f5f[_0x1d545f(0x146)]||_0x1d545f(0x123),'priority':_0x1d545f(0x121)}}}),_0xe52f5f[_0x1d545f(0xd8)])await Y('ack_inbox',{'alias':G,'message_id':_0xe52f5f['message_id']});return;}if(_0xe52f5f[_0x1d545f(0xc8)]==='new_task'||_0xe52f5f[_0x1d545f(0xc8)]===_0x1d545f(0x102)){W('←\x20'+_0xe52f5f[_0x1d545f(0xc8)]+':\x20inbox_count='+_0xe52f5f['inbox_count']+'\x20priority='+(_0xe52f5f[_0x1d545f(0x125)]||'normal'));let _0x55528b=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x55528b?.['ok']&&_0x55528b[_0x1d545f(0x149)]?.[_0x1d545f(0xbd)]>0x0)for(let _0x224e35 of _0x55528b['messages']){let _0x3b70a2={'sender':_0x224e35[_0x1d545f(0xbe)]||_0x1d545f(0x123),'sender_id':'commhub','user':_0x224e35[_0x1d545f(0xbe)]||'hub','task_id':_0x224e35['id'],'priority':_0x224e35[_0x1d545f(0x125)]||_0x1d545f(0x121)};D['set'](_0x224e35['id'],_0x224e35[_0x1d545f(0xbe)]||_0x1d545f(0x123)),await x['notification']({'method':'notifications/claude/channel','params':{'content':_0x224e35['content'],'meta':_0x3b70a2}}),W(_0x1d545f(0xc3)+_0x224e35['id'][_0x1d545f(0xec)](0x0,0x8)+_0x1d545f(0xb2)+_0x224e35[_0x1d545f(0xbe)]+':\x20'+_0x224e35[_0x1d545f(0x109)]['slice'](0x0,0x3c)),await Y(_0x1d545f(0xf7),{'alias':G,'message_id':_0x224e35['id']});}}}async function n(){const _0x4a7542=a0_0x207c84;let _0x57fe6b=new a0_0x5e5224();await x[_0x4a7542(0xd0)](_0x57fe6b),W(_0x4a7542(0xee)),W('starting\x20SSE\x20listener...'),o()[_0x4a7542(0xd6)](_0x471c8f=>W(_0x4a7542(0xca)+_0x471c8f)),Y('report_status',{'resume_id':K,'alias':G,'status':'idle','server':a0_0x301448(),'hostname':a0_0x301448(),'agent':_0x4a7542(0x145),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x4a7542(0xf2)](()=>W(_0x4a7542(0xcb)+G+'\x22\x20('+K[_0x4a7542(0xec)](0x0,0x8)+')'))[_0x4a7542(0xd6)](_0x43bc32=>W(_0x4a7542(0xb8)+_0x43bc32)),setInterval(()=>{const _0x27112b=_0x4a7542;Y(_0x27112b(0x13a),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x301448(),'hostname':a0_0x301448(),'agent':_0x27112b(0x145),'project_dir':process[_0x27112b(0x12b)](),'tmux_name':f||void 0x0})[_0x27112b(0xd6)](_0x45390b=>W(_0x27112b(0xdb)+_0x45390b));},0x2bf20),W(_0x4a7542(0x137));}n()['catch'](_0xe4a1a6=>{const _0x877923=a0_0x207c84;W('fatal:\x20'+_0xe4a1a6),process[_0x877923(0xf4)](0x1);});async function b(){const _0x310a97=a0_0x207c84;W(_0x310a97(0x100)),await Y(_0x310a97(0x13a),{'resume_id':K,'alias':G,'status':_0x310a97(0xe3),'task':_0x310a97(0xe4)})[_0x310a97(0xd6)](()=>{}),process[_0x310a97(0xf4)](0x0);}function a0_0x34e2(_0x2ce9d1,_0x3b8cb4){_0x2ce9d1=_0x2ce9d1-0xb2;const _0x5a9042=a0_0x5a90();let _0x34e2e3=_0x5a9042[_0x2ce9d1];return _0x34e2e3;}process[a0_0x207c84(0x11f)]['on'](a0_0x207c84(0xfd),()=>b()),process['on'](a0_0x207c84(0xdf),()=>b()),process['on'](a0_0x207c84(0x14c),()=>b());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.3.0-preview.
|
|
3
|
+
"version": "2.3.0-preview.17",
|
|
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",
|