@sleep2agi/agent-network 2.2.10-preview.2 → 2.2.10
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/README.md +5 -5
- 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
|
+
const a0_0x5e3c95=a0_0xd424;(function(_0x342ec5,_0x100fce){const _0x552cb2=a0_0xd424,_0x3dacbb=_0x342ec5();while(!![]){try{const _0x3dde3f=parseInt(_0x552cb2(0x1c5))/0x1+parseInt(_0x552cb2(0x1c1))/0x2*(parseInt(_0x552cb2(0x1ed))/0x3)+-parseInt(_0x552cb2(0x1dd))/0x4+-parseInt(_0x552cb2(0x1f9))/0x5+parseInt(_0x552cb2(0x1ac))/0x6*(parseInt(_0x552cb2(0x1d4))/0x7)+parseInt(_0x552cb2(0x1b8))/0x8*(parseInt(_0x552cb2(0x1e7))/0x9)+parseInt(_0x552cb2(0x1fa))/0xa*(-parseInt(_0x552cb2(0x1cc))/0xb);if(_0x3dde3f===_0x100fce)break;else _0x3dacbb['push'](_0x3dacbb['shift']());}catch(_0x37257f){_0x3dacbb['push'](_0x3dacbb['shift']());}}}(a0_0x1a56,0x614c2));function a0_0xd424(_0xd81171,_0x358114){_0xd81171=_0xd81171-0x1aa;const _0x1a5616=a0_0x1a56();let _0xd42499=_0x1a5616[_0xd81171];return _0xd42499;}import{EventEmitter as a0_0x440068}from'events';import{hostname as a0_0x4991ab}from'os';class T extends a0_0x440068{[a0_0x5e3c95(0x200)];[a0_0x5e3c95(0x1ab)];[a0_0x5e3c95(0x1fc)];['agent'];[a0_0x5e3c95(0x1c6)];[a0_0x5e3c95(0x1d0)];[a0_0x5e3c95(0x1bf)];['heartbeatTimer'];[a0_0x5e3c95(0x1e0)];['running']=!0x1;constructor(_0x2973b7){const _0x17f907=a0_0x5e3c95;super();if(this[_0x17f907(0x200)]=_0x2973b7[_0x17f907(0x200)][_0x17f907(0x1d6)](/\/$/,''),this[_0x17f907(0x1ab)]=_0x2973b7['alias'],this[_0x17f907(0x1fc)]=_0x2973b7[_0x17f907(0x1fc)],this[_0x17f907(0x1cd)]=_0x2973b7[_0x17f907(0x1cd)]||_0x17f907(0x1b6),this[_0x17f907(0x1c6)]='sdk-'+_0x2973b7['alias']+'-'+Date['now']()[_0x17f907(0x1be)](0x24),this[_0x17f907(0x1d0)]=_0x2973b7['heartbeatInterval']??0x2bf20,this['reconnectDelay']=_0x2973b7[_0x17f907(0x1bf)]??0xbb8,_0x2973b7['autoConnect']!==!0x1)this['connect']();}[a0_0x5e3c95(0x1ff)](_0x44246a){const _0x29ca4c=a0_0x5e3c95;console[_0x29ca4c(0x1ff)]('['+new Date()[_0x29ca4c(0x1d8)]()[_0x29ca4c(0x1c9)](0x0,0x8)+_0x29ca4c(0x1b4)+this[_0x29ca4c(0x1ab)]+']\x20'+_0x44246a);}async[a0_0x5e3c95(0x1d5)](_0x5465b2,_0x233ac2){const _0x4e8241=a0_0x5e3c95;let _0x39fa5b={'Content-Type':_0x4e8241(0x201),'Accept':'application/json,\x20text/event-stream'};if(this[_0x4e8241(0x1fc)])_0x39fa5b[_0x4e8241(0x1dc)]=_0x4e8241(0x1b2)+this[_0x4e8241(0x1fc)];let _0xe90ea6=await(await fetch(this['url']+_0x4e8241(0x1f1),{'method':_0x4e8241(0x1b9),'headers':_0x39fa5b,'body':JSON[_0x4e8241(0x1ba)]({'jsonrpc':_0x4e8241(0x1b3),'id':Date[_0x4e8241(0x1aa)](),'method':_0x4e8241(0x1f6),'params':{'name':_0x5465b2,'arguments':_0x233ac2}})}))['text'](),_0xdcddff=_0xe90ea6['match'](/data: (.+)/),_0x13f697=_0xdcddff?JSON[_0x4e8241(0x1b1)](_0xdcddff[0x1]):JSON['parse'](_0xe90ea6),_0x550fc8=_0x13f697?.['result']?.['content']?.[0x0]?.[_0x4e8241(0x1f8)];return _0x550fc8?JSON[_0x4e8241(0x1b1)](_0x550fc8):_0x13f697;}async[a0_0x5e3c95(0x1e5)](){const _0x4cc1c3=a0_0x5e3c95;if(this[_0x4cc1c3(0x1fd)])return;this[_0x4cc1c3(0x1fd)]=!0x0,await this['status'](_0x4cc1c3(0x1c7)),this['log'](_0x4cc1c3(0x1ea)),this['heartbeatTimer']=setInterval(()=>{const _0x149a28=_0x4cc1c3;this[_0x149a28(0x1b5)](_0x149a28(0x1c7))[_0x149a28(0x1ee)](_0x1bf6b2=>this[_0x149a28(0x1ff)](_0x149a28(0x1c3)+_0x1bf6b2[_0x149a28(0x1f3)]));},this[_0x4cc1c3(0x1d0)]),this[_0x4cc1c3(0x1de)]();}async[a0_0x5e3c95(0x1bb)](){const _0x545ccc=a0_0x5e3c95;if(this[_0x545ccc(0x1fd)]=!0x1,this[_0x545ccc(0x1e0)]?.['abort'](),this[_0x545ccc(0x1ae)])clearInterval(this['heartbeatTimer']);await this[_0x545ccc(0x1b5)](_0x545ccc(0x1b7))[_0x545ccc(0x1ee)](()=>{}),this['log'](_0x545ccc(0x1f5));}async[a0_0x5e3c95(0x1da)](_0x5e37a1,_0x4f6653,_0x5d3e4c='normal'){const _0x5bafad=a0_0x5e3c95;return this[_0x5bafad(0x1d5)](_0x5bafad(0x1fe),{'alias':_0x5e37a1,'task':_0x4f6653,'priority':_0x5d3e4c,'from_session':this[_0x5bafad(0x1ab)]});}async[a0_0x5e3c95(0x1f3)](_0x3bd5a2,_0x3b816e){const _0x2b99a2=a0_0x5e3c95;return this['call'](_0x2b99a2(0x1f2),{'alias':_0x3bd5a2,'message':_0x3b816e,'from_session':this[_0x2b99a2(0x1ab)]});}async[a0_0x5e3c95(0x1f7)](_0x32716d,_0x55cf05,_0x2a9f72=a0_0x5e3c95(0x1c2)){const _0x2d8e11=a0_0x5e3c95;return this[_0x2d8e11(0x1d5)](_0x2d8e11(0x1fb),{'in_reply_to':_0x32716d,'text':_0x55cf05,'status':_0x2a9f72});}async['status'](_0x24c395,_0x4a2793){const _0x52974c=a0_0x5e3c95;return this[_0x52974c(0x1d5)](_0x52974c(0x1d9),{'resume_id':this[_0x52974c(0x1c6)],'alias':this['alias'],'status':_0x24c395,'server':a0_0x4991ab(),'hostname':a0_0x4991ab(),'agent':this[_0x52974c(0x1cd)],'project_dir':process[_0x52974c(0x1d7)](),..._0x4a2793});}async[a0_0x5e3c95(0x1e9)](){const _0x315c0e=a0_0x5e3c95;return this[_0x315c0e(0x1d5)](_0x315c0e(0x1f4),{});}async[a0_0x5e3c95(0x1e3)](_0x2a34e3,_0x2a6479){const _0x4d628d=a0_0x5e3c95;return this[_0x4d628d(0x1d5)](_0x4d628d(0x1e3),{'message':_0x2a34e3,'filter_server':_0x2a6479?.[_0x4d628d(0x1d1)],'filter_status':_0x2a6479?.[_0x4d628d(0x1b5)]});}async['connectSSE'](){const _0x53d5b4=a0_0x5e3c95;let _0x346764=encodeURIComponent(this[_0x53d5b4(0x1ab)]),_0x11be5d=this['url']+'/events/'+_0x346764,_0x5d2b55=this[_0x53d5b4(0x1bf)];while(this[_0x53d5b4(0x1fd)]){try{this[_0x53d5b4(0x1e0)]=new AbortController();let _0x4f5fbb={'Accept':_0x53d5b4(0x1c4)};if(this[_0x53d5b4(0x1fc)])_0x4f5fbb[_0x53d5b4(0x1dc)]='Bearer\x20'+this[_0x53d5b4(0x1fc)];let _0x96127e=await fetch(_0x11be5d,{'headers':_0x4f5fbb,'signal':this[_0x53d5b4(0x1e0)][_0x53d5b4(0x1bc)]});if(!_0x96127e['ok']||!_0x96127e[_0x53d5b4(0x1e4)]){this[_0x53d5b4(0x1ff)](_0x53d5b4(0x1ce)+_0x96127e['status']),await this[_0x53d5b4(0x1eb)](_0x5d2b55),_0x5d2b55=Math['min'](_0x5d2b55*1.5,0xea60);continue;}_0x5d2b55=this['reconnectDelay'];let _0x18fad9=_0x96127e[_0x53d5b4(0x1e4)][_0x53d5b4(0x1c0)](),_0x264f80=new TextDecoder(),_0x3b3b90='';while(this[_0x53d5b4(0x1fd)]){let {done:_0x1d2c03,value:_0x3eff3e}=await _0x18fad9[_0x53d5b4(0x1b0)]();if(_0x1d2c03)break;_0x3b3b90+=_0x264f80[_0x53d5b4(0x1f0)](_0x3eff3e,{'stream':!0x0});let _0x2d1776=_0x3b3b90[_0x53d5b4(0x1df)]('\x0a');_0x3b3b90=_0x2d1776[_0x53d5b4(0x1ad)]()||'';for(let _0x13c5c4 of _0x2d1776){if(!_0x13c5c4['startsWith'](_0x53d5b4(0x1af)))continue;try{let _0x48d797=JSON[_0x53d5b4(0x1b1)](_0x13c5c4['slice'](0x6));if(_0x48d797[_0x53d5b4(0x1e6)]===_0x53d5b4(0x1e8)){this[_0x53d5b4(0x1ff)]('SSE\x20connected'),this[_0x53d5b4(0x1db)](_0x53d5b4(0x1e8));continue;}if(_0x48d797[_0x53d5b4(0x1e6)]==='new_task'||_0x48d797[_0x53d5b4(0x1e6)]===_0x53d5b4(0x1e1)||_0x48d797[_0x53d5b4(0x1e6)]==='broadcast')await this[_0x53d5b4(0x1ef)]();}catch{}}}}catch(_0x3b074d){if(_0x3b074d['name']===_0x53d5b4(0x1c8))break;this[_0x53d5b4(0x1db)](_0x53d5b4(0x1ec),_0x3b074d),this['log']('SSE\x20error:\x20'+_0x3b074d[_0x53d5b4(0x1f3)]);}if(this[_0x53d5b4(0x1fd)])this['emit']('disconnected'),this[_0x53d5b4(0x1ff)](_0x53d5b4(0x1e2)+_0x5d2b55/0x3e8+_0x53d5b4(0x1cb)),await this[_0x53d5b4(0x1eb)](_0x5d2b55),_0x5d2b55=Math[_0x53d5b4(0x1ca)](_0x5d2b55*1.5,0xea60);}}async[a0_0x5e3c95(0x1ef)](){const _0x55f00b=a0_0x5e3c95;try{let _0x32ce02=(await this[_0x55f00b(0x1d5)](_0x55f00b(0x1bd),{'alias':this[_0x55f00b(0x1ab)],'limit':0xa}))?.['messages']||[];for(let _0x4dee2e of _0x32ce02)await this['call'](_0x55f00b(0x1d3),{'alias':this[_0x55f00b(0x1ab)],'message_id':_0x4dee2e['id']}),this[_0x55f00b(0x1ff)]('←\x20'+_0x4dee2e['from_session']+':\x20'+_0x4dee2e['content'][_0x55f00b(0x1c9)](0x0,0x3c)),this['emit'](_0x55f00b(0x1d2),_0x4dee2e),this[_0x55f00b(0x1db)](_0x55f00b(0x1f3),_0x4dee2e);}catch(_0xcefdb4){this[_0x55f00b(0x1ff)](_0x55f00b(0x1cf)+_0xcefdb4[_0x55f00b(0x1f3)]);}}[a0_0x5e3c95(0x1eb)](_0x2fd977){return new Promise(_0xff0528=>setTimeout(_0xff0528,_0x2fd977));}}var $=T;function a0_0x1a56(){const _0x47b080=['offline','6238584lkUTvx','POST','stringify','disconnect','signal','get_inbox','toString','reconnectDelay','getReader','184438Tkdbxp','completed','heartbeat\x20failed:\x20','text/event-stream','551153LhcEZr','resumeId','idle','AbortError','slice','min','s...','11076934lbXwVg','agent','SSE\x20failed:\x20','inbox\x20error:\x20','heartbeatInterval','server','task','ack_inbox','112yEfHCX','call','replace','cwd','toTimeString','report_status','send','emit','Authorization','436316MlyZqM','connectSSE','split','sseAbort','new_message','SSE\x20reconnecting\x20in\x20','broadcast','body','connect','type','9fAsyRy','connected','getAllStatus','registered','sleep','error','3vvKkTC','catch','processInbox','decode','/mcp','send_message','message','get_all_status','disconnected','tools/call','reply','text','2032800aUYtiz','10ubWbEn','send_reply','token','running','send_task','log','url','application/json','now','alias','186738EBkUfn','pop','heartbeatTimer','data:\x20','read','parse','Bearer\x20','2.0',']\x20[commhub:','status','sdk'];a0_0x1a56=function(){return _0x47b080;};return a0_0x1a56();}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_0x13a96a=a0_0x2897;(function(_0x4cef5c,_0x4d0baa){const _0x306cfb=a0_0x2897,_0x7e529f=_0x4cef5c();while(!![]){try{const _0x33e242=-parseInt(_0x306cfb(0x1b8))/0x1*(-parseInt(_0x306cfb(0x18b))/0x2)+parseInt(_0x306cfb(0x174))/0x3*(parseInt(_0x306cfb(0x190))/0x4)+-parseInt(_0x306cfb(0x175))/0x5*(parseInt(_0x306cfb(0x1b0))/0x6)+-parseInt(_0x306cfb(0x13a))/0x7+parseInt(_0x306cfb(0x14b))/0x8*(-parseInt(_0x306cfb(0x159))/0x9)+-parseInt(_0x306cfb(0x141))/0xa+parseInt(_0x306cfb(0x1b9))/0xb;if(_0x33e242===_0x4d0baa)break;else _0x7e529f['push'](_0x7e529f['shift']());}catch(_0xf848b8){_0x7e529f['push'](_0x7e529f['shift']());}}}(a0_0x3e13,0xd9725));import{readFileSync as a0_0x5745a9,existsSync as a0_0xfbb5f7}from'fs';import{randomUUID as a0_0x48b119}from'crypto';import{join as a0_0x4b0ee8}from'path';import{hostname as a0_0x68daad}from'os';import{execSync as a0_0x2615ad}from'child_process';import{Server as a0_0x36f59a}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x1303d9}from'@modelcontextprotocol/sdk/server/stdio.js';function a0_0x2897(_0x5175cf,_0x4f7b38){_0x5175cf=_0x5175cf-0x12d;const _0x3e132e=a0_0x3e13();let _0x2897d1=_0x3e132e[_0x5175cf];return _0x2897d1;}import{ListToolsRequestSchema as a0_0x239e1f,CallToolRequestSchema as a0_0x75324c}from'@modelcontextprotocol/sdk/types.js';function I(_0x52f7ef){const _0x3a1720=a0_0x2897;if(!a0_0xfbb5f7(_0x52f7ef))return;for(let _0x343f49 of a0_0x5745a9(_0x52f7ef,_0x3a1720(0x1b7))['split']('\x0a')){let _0x498f0b=_0x343f49[_0x3a1720(0x198)]();if(!_0x498f0b||_0x498f0b[_0x3a1720(0x17e)]('#'))continue;let _0x1dca19=_0x498f0b['indexOf']('=');if(_0x1dca19<0x0)continue;let _0x4c437d=_0x498f0b[_0x3a1720(0x160)](0x0,_0x1dca19)[_0x3a1720(0x198)](),_0x4005b3=_0x498f0b[_0x3a1720(0x160)](_0x1dca19+0x1)[_0x3a1720(0x198)]()[_0x3a1720(0x137)](/^["']|["']$/g,'');if(!process.env[_0x4c437d])process.env[_0x4c437d]=_0x4005b3;}}var L=process.env.HOME||'~',U=a0_0x4b0ee8(L,'.claude/channels/commhub');function a0_0x3e13(){const _0x40f264=['commhub_report_status','ack_inbox','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','now','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','statusText','end','\x20CWD=','Target\x20session\x20alias',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','/events/','alias','text','41778tFojap','failed','get','split','stringify','registered\x20as\x20\x22','starting\x20SSE\x20listener...','utf-8','396177tCjDXG','40187070JxdvYG','length','toTimeString','←\x20message\x20from\x20','/mcp','.env','blocked','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','parse','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','catch','.anet','ENV:\x20URL=','notifications/claude/channel','commhub','Priority\x20(default:\x20normal)','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','2.0',':\x20inbox_count=','Bearer\x20','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','Task\x20content','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','find','config.json','cwd','offline','POST','write','replace','0.3.0','CommHub\x20init\x20failed:\x20','8765736kjxcZc','body','send_reply','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','ready\x20—\x20waiting\x20for\x20events','tmux\x20display-message\x20-p\x20\x27#S\x27','object','15448130lDxqmh','\x20RESUME_ID=','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','\x22\x20after\x20SSE\x20reconnect','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','\x20PROJECT_ENV=','commhub_get_all_status','connected','Message\x20content','working','19816sbKCND','setRequestHandler','...\x20TMUX=','\x20priority=','commhub-channel','2025-03-26','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','notification','fatal:\x20','commhub_send_task','get_all_status','set','commhub_send_message','Session\x20alias:\x20','531qxxHOM','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','SSE\x20fatal:\x20','low','error','messages','init\x20failed:\x20','slice','get_inbox','initialize',']\x20[commhub]\x20','idle','tools/call','report_status','completed','getReader','SIGINT','data:\x20','string','then','Reply\x20text\x20/\x20result\x20summary','new_message','application/json','normal','number','in_progress','inbox_count','15yeIYCs','620oACtbp','message_id','priority','unattributed-','send_message','(none)','content','re-register\x20failed:\x20','send_task','startsWith','result','cancelled','Progress\x200-100','SSE\x20connection\x20error:\x20','commhub_reply','no\x20response','re-registered\x20as\x20\x22','parse\x20error:\x20','\x20ALIAS=','token','warning:\x20could\x20not\x20register:\x20','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','2KwhSFe','from','none','claude-code','Current\x20task\x20description','518184eQQGKn','from_session','type','replied','broadcast','application/json,\x20text/event-stream','hub','stderr','trim','shutting\x20down,\x20reporting\x20offline...','exit','\x20/\x20hostname=','message','→\x20injected\x20task\x20','high','status','http://127.0.0.1:9200','min','SSE\x20connected\x20as\x20\x22'];a0_0x3e13=function(){return _0x40f264;};return a0_0x3e13();}I(a0_0x4b0ee8(U,a0_0x13a96a(0x1be)));var v=process[a0_0x13a96a(0x133)]()[a0_0x13a96a(0x137)](/\//g,'-');I(a0_0x4b0ee8(U,v,'.env'));function d(){const _0x15beec=a0_0x13a96a;try{return a0_0x2615ad(_0x15beec(0x13f),{'encoding':_0x15beec(0x1b7),'timeout':0x7d0})['trim']();}catch{return'';}}function m(){const _0x2f1cae=a0_0x13a96a;try{let _0x3b8ffe=a0_0x4b0ee8(L,_0x2f1cae(0x1c4),_0x2f1cae(0x132));if(a0_0xfbb5f7(_0x3b8ffe))return JSON[_0x2f1cae(0x1c1)](a0_0x5745a9(_0x3b8ffe,'utf-8'));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x13a96a(0x196)]||a0_0x13a96a(0x1a0),f=process.env.COMMHUB_TMUX||d();function r(){const _0x1c8c00=a0_0x13a96a;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x1c8c00(0x198)]())return process.env.COMMHUB_ALIAS[_0x1c8c00(0x198)]();return process[_0x1c8c00(0x197)][_0x1c8c00(0x136)](_0x1c8c00(0x1c0)+(_0x1c8c00(0x145)+(f||_0x1c8c00(0x17a))+_0x1c8c00(0x19b)+a0_0x68daad()+_0x1c8c00(0x12e))),_0x1c8c00(0x178)+process['pid'];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x48b119(),F=process.env.COMMHUB_TOKEN||u[a0_0x13a96a(0x188)]||'';function W(_0x2837d8){const _0x3ecda3=a0_0x13a96a;let _0x4406de=new Date()[_0x3ecda3(0x1bb)]()['slice'](0x0,0x8);process[_0x3ecda3(0x197)][_0x3ecda3(0x136)]('['+_0x4406de+_0x3ecda3(0x163)+_0x2837d8+'\x0a');}function N(_0x2a335f){return new Promise(_0x1a162e=>setTimeout(_0x1a162e,_0x2a335f));}W(a0_0x13a96a(0x1c5)+j+a0_0x13a96a(0x187)+G+a0_0x13a96a(0x142)+K[a0_0x13a96a(0x160)](0x0,0x8)+a0_0x13a96a(0x14d)+(f||a0_0x13a96a(0x18d))+a0_0x13a96a(0x1aa)+process[a0_0x13a96a(0x133)]()+a0_0x13a96a(0x146)+v);var D=new Map(),x=new a0_0x36f59a({'name':a0_0x13a96a(0x14f),'version':a0_0x13a96a(0x138)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x13a96a(0x151),a0_0x13a96a(0x130),a0_0x13a96a(0x18a),a0_0x13a96a(0x1a5),a0_0x13a96a(0x158)+G]['join']('\x0a')});x[a0_0x13a96a(0x14c)](a0_0x239e1f,async()=>({'tools':[{'name':a0_0x13a96a(0x183),'description':a0_0x13a96a(0x12d),'inputSchema':{'type':a0_0x13a96a(0x140),'properties':{'task_id':{'type':a0_0x13a96a(0x16b),'description':a0_0x13a96a(0x1a7)},'text':{'type':a0_0x13a96a(0x16b),'description':a0_0x13a96a(0x16d)},'status':{'type':a0_0x13a96a(0x16b),'enum':[a0_0x13a96a(0x167),'failed',a0_0x13a96a(0x180),a0_0x13a96a(0x1bf),a0_0x13a96a(0x15d),a0_0x13a96a(0x172)],'description':'Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates'}},'required':[a0_0x13a96a(0x1af)]}},{'name':a0_0x13a96a(0x1a3),'description':a0_0x13a96a(0x1c9),'inputSchema':{'type':a0_0x13a96a(0x140),'properties':{'status':{'type':a0_0x13a96a(0x16b),'enum':[a0_0x13a96a(0x14a),'idle',a0_0x13a96a(0x1bf),'error']},'task':{'type':a0_0x13a96a(0x16b),'description':a0_0x13a96a(0x18f)},'progress':{'type':a0_0x13a96a(0x171),'description':a0_0x13a96a(0x181)}},'required':[a0_0x13a96a(0x19f)]}},{'name':a0_0x13a96a(0x154),'description':a0_0x13a96a(0x13d),'inputSchema':{'type':a0_0x13a96a(0x140),'properties':{'alias':{'type':a0_0x13a96a(0x16b),'description':a0_0x13a96a(0x1ab)},'task':{'type':a0_0x13a96a(0x16b),'description':a0_0x13a96a(0x12f)},'priority':{'type':a0_0x13a96a(0x16b),'enum':[a0_0x13a96a(0x19e),'normal',a0_0x13a96a(0x15c)],'description':a0_0x13a96a(0x1c8)}},'required':[a0_0x13a96a(0x1ae),'task']}},{'name':a0_0x13a96a(0x157),'description':a0_0x13a96a(0x143),'inputSchema':{'type':a0_0x13a96a(0x140),'properties':{'alias':{'type':a0_0x13a96a(0x16b),'description':a0_0x13a96a(0x1ab)},'message':{'type':a0_0x13a96a(0x16b),'description':a0_0x13a96a(0x149)}},'required':[a0_0x13a96a(0x1ae),a0_0x13a96a(0x19c)]}},{'name':'commhub_get_all_status','description':a0_0x13a96a(0x1c2),'inputSchema':{'type':a0_0x13a96a(0x140),'properties':{}}}]}));async function Y(_0x179120,_0x3d6a2e){const _0x2791d2=a0_0x13a96a;let _0x3232df=await fetch(j+'/mcp',{'method':_0x2791d2(0x135),'headers':{'Content-Type':_0x2791d2(0x16f),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x2791d2(0x1cc)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x2791d2(0x1ca),'id':0x1,'method':_0x2791d2(0x162),'params':{'protocolVersion':_0x2791d2(0x150),'capabilities':{},'clientInfo':{'name':_0x2791d2(0x14f),'version':'0.3.0'}}})});if(!_0x3232df['ok']){let _0x316025=await _0x3232df['text']();return W(_0x2791d2(0x139)+_0x3232df[_0x2791d2(0x19f)]+'\x20'+_0x316025[_0x2791d2(0x160)](0x0,0x64)),{'ok':!0x1,'error':_0x2791d2(0x15f)+_0x3232df[_0x2791d2(0x19f)]};}await _0x3232df[_0x2791d2(0x1af)]();let _0x45bebd=(await(await fetch(j+_0x2791d2(0x1bd),{'method':_0x2791d2(0x135),'headers':{'Content-Type':_0x2791d2(0x16f),'Accept':_0x2791d2(0x195),...F?{'Authorization':_0x2791d2(0x1cc)+F}:{}},'body':JSON['stringify']({'jsonrpc':_0x2791d2(0x1ca),'id':0x2,'method':_0x2791d2(0x165),'params':{'name':_0x179120,'arguments':_0x3d6a2e}})}))[_0x2791d2(0x1af)]())[_0x2791d2(0x1b3)]('\x0a')[_0x2791d2(0x131)](_0x111d49=>_0x111d49[_0x2791d2(0x17e)](_0x2791d2(0x16a)));if(_0x45bebd){let _0x2c9716=JSON[_0x2791d2(0x1c1)](_0x45bebd['slice'](0x6));return _0x2c9716?.[_0x2791d2(0x17f)]?.[_0x2791d2(0x17b)]?.[0x0]?.['text']?JSON[_0x2791d2(0x1c1)](_0x2c9716[_0x2791d2(0x17f)][_0x2791d2(0x17b)][0x0][_0x2791d2(0x1af)]):_0x2c9716;}return{'ok':!0x1,'error':_0x2791d2(0x184)};}x[a0_0x13a96a(0x14c)](a0_0x75324c,async _0x10e331=>{const _0x24ec08=a0_0x13a96a;let {name:_0x453528,arguments:_0xe30e06}=_0x10e331['params'];if(_0x453528===_0x24ec08(0x183)){let {task_id:_0x2d7164,text:_0x24308a,status:_0x1d4b10}=_0xe30e06;if(_0x1d4b10===_0x24ec08(0x167)||_0x1d4b10===_0x24ec08(0x1b1)||_0x1d4b10===_0x24ec08(0x180)){let _0x15afc9=_0x1d4b10==='completed'?_0x24ec08(0x193):_0x1d4b10,_0x35cb07=_0x2d7164?D[_0x24ec08(0x1b2)](_0x2d7164)||_0x24ec08(0x196):_0x24ec08(0x196),_0x49640e=await Y(_0x24ec08(0x13c),{'alias':_0x35cb07,'text':_0x24308a,'in_reply_to':_0x2d7164||void 0x0,'status':_0x15afc9,'from_session':G});if(_0x2d7164)D['delete'](_0x2d7164);return{'content':[{'type':_0x24ec08(0x1af),'text':JSON[_0x24ec08(0x1b4)](_0x49640e)}]};}let _0x2d4f9c=await Y(_0x24ec08(0x166),{'resume_id':K,'alias':G,'status':_0x1d4b10===_0x24ec08(0x1bf)?_0x24ec08(0x1bf):_0x1d4b10==='error'?_0x24ec08(0x15d):'working','task':_0x24308a[_0x24ec08(0x160)](0x0,0xc8),'output':_0x24308a});return{'content':[{'type':_0x24ec08(0x1af),'text':JSON[_0x24ec08(0x1b4)](_0x2d4f9c)}]};}if(_0x453528==='commhub_report_status'){let {status:_0x2cd471,task:_0x119659,progress:_0x1da37f}=_0xe30e06,_0x5be8b9=await Y(_0x24ec08(0x166),{'resume_id':K,'alias':G,'status':_0x2cd471,'task':_0x119659,'progress':_0x1da37f});return{'content':[{'type':_0x24ec08(0x1af),'text':JSON['stringify'](_0x5be8b9)}]};}if(_0x453528==='commhub_send_task'){let {alias:_0x1e8572,task:_0x16508b,priority:_0x217daa}=_0xe30e06,_0x3bdbab=await Y(_0x24ec08(0x17d),{'alias':_0x1e8572,'task':_0x16508b,'priority':_0x217daa||_0x24ec08(0x170),'from_session':G});return{'content':[{'type':_0x24ec08(0x1af),'text':JSON[_0x24ec08(0x1b4)](_0x3bdbab)}]};}if(_0x453528==='commhub_send_message'){let {alias:_0x5ecedd,message:_0x11f7fd}=_0xe30e06,_0x13b74c=await Y(_0x24ec08(0x179),{'alias':_0x5ecedd,'message':_0x11f7fd,'from_session':G});return{'content':[{'type':_0x24ec08(0x1af),'text':JSON[_0x24ec08(0x1b4)](_0x13b74c)}]};}if(_0x453528===_0x24ec08(0x147)){let _0x1be077=await Y(_0x24ec08(0x155),{});return{'content':[{'type':_0x24ec08(0x1af),'text':JSON['stringify'](_0x1be077)}]};}return{'content':[{'type':_0x24ec08(0x1af),'text':JSON[_0x24ec08(0x1b4)]({'error':'unknown\x20tool'})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x3f5439=a0_0x13a96a;try{await Y('report_status',{'resume_id':K,'alias':G,'status':_0x3f5439(0x164),'server':a0_0x68daad(),'hostname':a0_0x68daad(),'agent':_0x3f5439(0x18e),'project_dir':process[_0x3f5439(0x133)](),'tmux_name':f||void 0x0}),W(_0x3f5439(0x185)+G+_0x3f5439(0x144));}catch(_0x481c35){W(_0x3f5439(0x17c)+_0x481c35);}}async function o(){const _0x3b150b=a0_0x13a96a;let _0x9c7ac8=j+_0x3b150b(0x1ad)+encodeURIComponent(G),_0x3a372c={};if(F)_0x3a372c['Authorization']=_0x3b150b(0x1cc)+F;W('connecting\x20to\x20'+_0x9c7ac8);let _0x5e6772=O,_0x565923=!0x0,_0x2854c5=null;while(!0x0){try{let _0x30557b=await fetch(_0x9c7ac8,{'headers':_0x3a372c});if(!_0x30557b['ok']){if(W('SSE\x20error:\x20'+_0x30557b[_0x3b150b(0x19f)]+'\x20'+_0x30557b[_0x3b150b(0x1a8)]),_0x2854c5=_0x2854c5??Date[_0x3b150b(0x1a6)](),Date[_0x3b150b(0x1a6)]()-_0x2854c5>T){W(_0x3b150b(0x15a)+j+')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。');return;}await N(_0x5e6772),_0x5e6772=Math[_0x3b150b(0x1a1)](_0x5e6772*0x2,R);continue;}let _0x421858=_0x30557b[_0x3b150b(0x13b)][_0x3b150b(0x168)](),_0xbd783=new TextDecoder(),_0x2c1a50='';_0x5e6772=O;while(!0x0){let {done:_0x25f968,value:_0x2d41f0}=await _0x421858['read']();if(_0x25f968)break;_0x2c1a50+=_0xbd783['decode'](_0x2d41f0,{'stream':!0x0});let _0x582e1d=_0x2c1a50[_0x3b150b(0x1b3)]('\x0a\x0a');_0x2c1a50=_0x582e1d['pop']()||'';for(let _0x7a03db of _0x582e1d){let _0x3c13f6=_0x7a03db['split']('\x0a')['find'](_0x205a48=>_0x205a48[_0x3b150b(0x17e)](_0x3b150b(0x16a)));if(!_0x3c13f6)continue;try{let _0x285f5c=JSON[_0x3b150b(0x1c1)](_0x3c13f6[_0x3b150b(0x160)](0x6));if(await a(_0x285f5c),_0x285f5c['type']===_0x3b150b(0x148)){if(_0x2854c5=null,!_0x565923)await l();_0x565923=!0x1;}}catch(_0x4d983d){W(_0x3b150b(0x186)+_0x4d983d);}}}W('SSE\x20stream\x20ended,\x20reconnecting...');}catch(_0x596dc3){W(_0x3b150b(0x182)+_0x596dc3);}if(_0x2854c5=_0x2854c5??Date[_0x3b150b(0x1a6)](),Date[_0x3b150b(0x1a6)]()-_0x2854c5>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x3b150b(0x1ac));return;}await N(_0x5e6772),_0x5e6772=Math[_0x3b150b(0x1a1)](_0x5e6772*0x2,R);}}async function a(_0x102d1c){const _0x2dbf86=a0_0x13a96a;if(_0x102d1c[_0x2dbf86(0x192)]===_0x2dbf86(0x148)){W(_0x2dbf86(0x1a2)+G+'\x22');return;}if(_0x102d1c[_0x2dbf86(0x192)]===_0x2dbf86(0x16e)){if(W(_0x2dbf86(0x1bc)+_0x102d1c[_0x2dbf86(0x18c)]+':\x20'+_0x102d1c[_0x2dbf86(0x19c)][_0x2dbf86(0x160)](0x0,0x3c)),await x[_0x2dbf86(0x152)]({'method':'notifications/claude/channel','params':{'content':_0x102d1c['message'],'meta':{'sender':_0x102d1c[_0x2dbf86(0x18c)]||'hub','sender_id':_0x2dbf86(0x1c7),'user':_0x102d1c['from']||_0x2dbf86(0x196),'priority':_0x2dbf86(0x170)}}}),_0x102d1c[_0x2dbf86(0x176)])await Y(_0x2dbf86(0x1a4),{'alias':G,'message_id':_0x102d1c[_0x2dbf86(0x176)]});return;}if(_0x102d1c[_0x2dbf86(0x192)]==='new_task'||_0x102d1c['type']===_0x2dbf86(0x194)){W('←\x20'+_0x102d1c[_0x2dbf86(0x192)]+_0x2dbf86(0x1cb)+_0x102d1c[_0x2dbf86(0x173)]+_0x2dbf86(0x14e)+(_0x102d1c['priority']||'normal'));let _0x3c6ba4=await Y(_0x2dbf86(0x161),{'alias':G,'limit':0x5});if(_0x3c6ba4?.['ok']&&_0x3c6ba4[_0x2dbf86(0x15e)]?.[_0x2dbf86(0x1ba)]>0x0)for(let _0x15155f of _0x3c6ba4[_0x2dbf86(0x15e)]){let _0x479e8b={'sender':_0x15155f['from_session']||_0x2dbf86(0x196),'sender_id':_0x2dbf86(0x1c7),'user':_0x15155f[_0x2dbf86(0x191)]||'hub','task_id':_0x15155f['id'],'priority':_0x15155f[_0x2dbf86(0x177)]||_0x2dbf86(0x170)};D[_0x2dbf86(0x156)](_0x15155f['id'],_0x15155f[_0x2dbf86(0x191)]||_0x2dbf86(0x196)),await x['notification']({'method':_0x2dbf86(0x1c6),'params':{'content':_0x15155f[_0x2dbf86(0x17b)],'meta':_0x479e8b}}),W(_0x2dbf86(0x19d)+_0x15155f['id'][_0x2dbf86(0x160)](0x0,0x8)+'\x20from\x20'+_0x15155f[_0x2dbf86(0x191)]+':\x20'+_0x15155f[_0x2dbf86(0x17b)][_0x2dbf86(0x160)](0x0,0x3c)),await Y(_0x2dbf86(0x1a4),{'alias':G,'message_id':_0x15155f['id']});}}}async function n(){const _0x1a6021=a0_0x13a96a;let _0x16efc4=new a0_0x1303d9();await x['connect'](_0x16efc4),W('MCP\x20stdio\x20connected'),W(_0x1a6021(0x1b6)),o()[_0x1a6021(0x1c3)](_0x5563d6=>W(_0x1a6021(0x15b)+_0x5563d6)),Y(_0x1a6021(0x166),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x68daad(),'hostname':a0_0x68daad(),'agent':_0x1a6021(0x18e),'project_dir':process['cwd'](),'tmux_name':f||void 0x0})[_0x1a6021(0x16c)](()=>W(_0x1a6021(0x1b5)+G+'\x22\x20('+K[_0x1a6021(0x160)](0x0,0x8)+')'))[_0x1a6021(0x1c3)](_0x3a51a0=>W(_0x1a6021(0x189)+_0x3a51a0)),setInterval(()=>{const _0x3620df=_0x1a6021;Y(_0x3620df(0x166),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x68daad(),'hostname':a0_0x68daad(),'agent':_0x3620df(0x18e),'project_dir':process[_0x3620df(0x133)](),'tmux_name':f||void 0x0})[_0x3620df(0x1c3)](_0x46347f=>W('heartbeat\x20failed:\x20'+_0x46347f));},0x2bf20),W(_0x1a6021(0x13e));}n()[a0_0x13a96a(0x1c3)](_0x183672=>{const _0xf9a38c=a0_0x13a96a;W(_0xf9a38c(0x153)+_0x183672),process[_0xf9a38c(0x19a)](0x1);});async function b(){const _0x2ad925=a0_0x13a96a;W(_0x2ad925(0x199)),await Y(_0x2ad925(0x166),{'resume_id':K,'alias':G,'status':_0x2ad925(0x134),'task':'session\x20disconnected'})['catch'](()=>{}),process[_0x2ad925(0x19a)](0x0);}process['stdin']['on'](a0_0x13a96a(0x1a9),()=>b()),process['on']('SIGTERM',()=>b()),process['on'](a0_0x13a96a(0x169),()=>b());
|
|
2
|
+
const a0_0x5e5c49=a0_0x3117;(function(_0x262e5c,_0xfd783){const _0x44b82b=a0_0x3117,_0x8c7cf7=_0x262e5c();while(!![]){try{const _0x2f22b5=parseInt(_0x44b82b(0x128))/0x1+-parseInt(_0x44b82b(0x15d))/0x2+-parseInt(_0x44b82b(0x193))/0x3+-parseInt(_0x44b82b(0x12d))/0x4*(parseInt(_0x44b82b(0x14a))/0x5)+parseInt(_0x44b82b(0x13e))/0x6*(-parseInt(_0x44b82b(0x166))/0x7)+parseInt(_0x44b82b(0x130))/0x8*(-parseInt(_0x44b82b(0x13f))/0x9)+parseInt(_0x44b82b(0x14f))/0xa;if(_0x2f22b5===_0xfd783)break;else _0x8c7cf7['push'](_0x8c7cf7['shift']());}catch(_0x3111e1){_0x8c7cf7['push'](_0x8c7cf7['shift']());}}}(a0_0x14f3,0x72528));import{readFileSync as a0_0xa8ec25,existsSync as a0_0x536e40}from'fs';function a0_0x14f3(){const _0x459b01=['ack_inbox','new_message','CommHub\x20init\x20failed:\x20','failed','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','commhub_send_message','decode','http://127.0.0.1:9200','\x20/\x20hostname=','send_reply','←\x20message\x20from\x20','setRequestHandler','0.3.0','split','ready\x20—\x20waiting\x20for\x20events','slice','content','end','delete','489660XrmGIf','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','SIGINT','\x20RESUME_ID=','859496KjRLoA','startsWith','application/json,\x20text/event-stream','1786264yiBPKZ','statusText','commhub_report_status','task','claude-code','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','unknown\x20tool','.anet','set','completed','commhub_reply','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','type','4146OApUtJ','36mRXnkx','send_message','notification','get','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','alias','Task\x20content','cwd','report_status','SSE\x20error:\x20','read','20GfFrum','\x20CWD=','in_progress','Target\x20session\x20alias','find','29607100bzuOjd','SSE\x20connected\x20as\x20\x22','hub','text','.claude/channels/commhub','SIGTERM','\x20from\x20','Current\x20task\x20description','MCP\x20stdio\x20connected','messages','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','params','notifications/claude/channel','data:\x20','1342854GVRqCb','shutting\x20down,\x20reporting\x20offline...','message_id','Bearer\x20','commhub_get_all_status','priority','unattributed-','re-registered\x20as\x20\x22','catch','1169GLLAtE','message','connecting\x20to\x20','new_task','idle','stringify','object','application/json','Session\x20alias:\x20','init\x20failed:\x20','from_session','\x20PROJECT_ENV=',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','send_task','status','trim','Priority\x20(default:\x20normal)','2025-03-26','warning:\x20could\x20not\x20register:\x20','Message\x20content','normal','low','now','length','string','parse','/mcp','\x20ALIAS=','\x22\x20after\x20SSE\x20reconnect','tmux\x20display-message\x20-p\x20\x27#S\x27','from','blocked','replied','none','tools/call','SSE\x20fatal:\x20','pop','\x22\x20(','exit','stdin','re-register\x20failed:\x20','working','min','connected','body','1327962FFYcDE',']\x20[commhub]\x20','(none)','get_all_status','config.json','fatal:\x20','write','commhub','commhub_send_task','commhub-channel','/events/','SSE\x20connection\x20error:\x20','replace','cancelled','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','POST','no\x20response','number','error','stderr','result','session\x20disconnected','indexOf','ENV:\x20URL=','Authorization','getReader','2.0','join','SSE\x20stream\x20ended,\x20reconnecting...','utf-8'];a0_0x14f3=function(){return _0x459b01;};return a0_0x14f3();}import{randomUUID as a0_0x51f6e0}from'crypto';import{join as a0_0x206016}from'path';import{hostname as a0_0x17f5ef}from'os';import{execSync as a0_0x521170}from'child_process';import{Server as a0_0x493ad5}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x5ab9e5}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0xba7912,CallToolRequestSchema as a0_0x2b1362}from'@modelcontextprotocol/sdk/types.js';function I(_0x42eab9){const _0x58a57d=a0_0x3117;if(!a0_0x536e40(_0x42eab9))return;for(let _0x26e1d9 of a0_0xa8ec25(_0x42eab9,_0x58a57d(0x1b1))[_0x58a57d(0x1bf)]('\x0a')){let _0x5463d4=_0x26e1d9[_0x58a57d(0x175)]();if(!_0x5463d4||_0x5463d4['startsWith']('#'))continue;let _0x2fdf77=_0x5463d4[_0x58a57d(0x1aa)]('=');if(_0x2fdf77<0x0)continue;let _0xf54621=_0x5463d4[_0x58a57d(0x1c1)](0x0,_0x2fdf77)[_0x58a57d(0x175)](),_0x4c63bc=_0x5463d4[_0x58a57d(0x1c1)](_0x2fdf77+0x1)[_0x58a57d(0x175)]()[_0x58a57d(0x19f)](/^["']|["']$/g,'');if(!process.env[_0xf54621])process.env[_0xf54621]=_0x4c63bc;}}var L=process.env.HOME||'~',U=a0_0x206016(L,a0_0x5e5c49(0x153));I(a0_0x206016(U,'.env'));var v=process[a0_0x5e5c49(0x146)]()[a0_0x5e5c49(0x19f)](/\//g,'-');I(a0_0x206016(U,v,'.env'));function d(){const _0x537938=a0_0x5e5c49;try{return a0_0x521170(_0x537938(0x183),{'encoding':_0x537938(0x1b1),'timeout':0x7d0})[_0x537938(0x175)]();}catch{return'';}}function m(){const _0x4ebb33=a0_0x5e5c49;try{let _0x300e9c=a0_0x206016(L,_0x4ebb33(0x137),_0x4ebb33(0x197));if(a0_0x536e40(_0x300e9c))return JSON[_0x4ebb33(0x17f)](a0_0xa8ec25(_0x300e9c,_0x4ebb33(0x1b1)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u['hub']||a0_0x5e5c49(0x1b9),f=process.env.COMMHUB_TMUX||d();function r(){const _0x53d02f=a0_0x5e5c49;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x53d02f(0x175)]())return process.env.COMMHUB_ALIAS[_0x53d02f(0x175)]();return process[_0x53d02f(0x1a7)][_0x53d02f(0x199)](_0x53d02f(0x13c)+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(f||_0x53d02f(0x195))+_0x53d02f(0x1ba)+a0_0x17f5ef()+_0x53d02f(0x159))),_0x53d02f(0x163)+process['pid'];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x51f6e0(),F=process.env.COMMHUB_TOKEN||u['token']||'';function W(_0x1976ff){const _0xb2330c=a0_0x5e5c49;let _0x57c4aa=new Date()['toTimeString']()[_0xb2330c(0x1c1)](0x0,0x8);process[_0xb2330c(0x1a7)][_0xb2330c(0x199)]('['+_0x57c4aa+_0xb2330c(0x194)+_0x1976ff+'\x0a');}function N(_0x3ea285){return new Promise(_0x513b48=>setTimeout(_0x513b48,_0x3ea285));}function a0_0x3117(_0xe76813,_0x49b766){_0xe76813=_0xe76813-0x125;const _0x14f3c7=a0_0x14f3();let _0x311750=_0x14f3c7[_0xe76813];return _0x311750;}W(a0_0x5e5c49(0x1ab)+j+a0_0x5e5c49(0x181)+G+a0_0x5e5c49(0x12c)+K[a0_0x5e5c49(0x1c1)](0x0,0x8)+'...\x20TMUX='+(f||a0_0x5e5c49(0x187))+a0_0x5e5c49(0x14b)+process[a0_0x5e5c49(0x146)]()+a0_0x5e5c49(0x171)+v);var D=new Map(),x=new a0_0x493ad5({'name':'commhub-channel','version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':['Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.',a0_0x5e5c49(0x1a1),a0_0x5e5c49(0x16e)+G][a0_0x5e5c49(0x1af)]('\x0a')});x[a0_0x5e5c49(0x1bd)](a0_0xba7912,async()=>({'tools':[{'name':'commhub_reply','description':a0_0x5e5c49(0x1a2),'inputSchema':{'type':'object','properties':{'task_id':{'type':'string','description':a0_0x5e5c49(0x13b)},'text':{'type':a0_0x5e5c49(0x17e),'description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':'string','enum':['completed','failed',a0_0x5e5c49(0x1a0),a0_0x5e5c49(0x185),'error',a0_0x5e5c49(0x14c)],'description':a0_0x5e5c49(0x129)}},'required':[a0_0x5e5c49(0x152)]}},{'name':a0_0x5e5c49(0x132),'description':'Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','inputSchema':{'type':a0_0x5e5c49(0x16c),'properties':{'status':{'type':a0_0x5e5c49(0x17e),'enum':[a0_0x5e5c49(0x18f),'idle',a0_0x5e5c49(0x185),a0_0x5e5c49(0x1a6)]},'task':{'type':'string','description':a0_0x5e5c49(0x156)},'progress':{'type':a0_0x5e5c49(0x1a5),'description':'Progress\x200-100'}},'required':[a0_0x5e5c49(0x174)]}},{'name':a0_0x5e5c49(0x19b),'description':a0_0x5e5c49(0x12a),'inputSchema':{'type':a0_0x5e5c49(0x16c),'properties':{'alias':{'type':a0_0x5e5c49(0x17e),'description':'Target\x20session\x20alias'},'task':{'type':a0_0x5e5c49(0x17e),'description':a0_0x5e5c49(0x145)},'priority':{'type':a0_0x5e5c49(0x17e),'enum':['high',a0_0x5e5c49(0x17a),a0_0x5e5c49(0x17b)],'description':a0_0x5e5c49(0x176)}},'required':[a0_0x5e5c49(0x144),a0_0x5e5c49(0x133)]}},{'name':a0_0x5e5c49(0x1b7),'description':a0_0x5e5c49(0x135),'inputSchema':{'type':a0_0x5e5c49(0x16c),'properties':{'alias':{'type':a0_0x5e5c49(0x17e),'description':a0_0x5e5c49(0x14d)},'message':{'type':a0_0x5e5c49(0x17e),'description':a0_0x5e5c49(0x179)}},'required':[a0_0x5e5c49(0x144),a0_0x5e5c49(0x167)]}},{'name':a0_0x5e5c49(0x161),'description':a0_0x5e5c49(0x143),'inputSchema':{'type':a0_0x5e5c49(0x16c),'properties':{}}}]}));async function Y(_0x378822,_0x2fd76c){const _0x3109a8=a0_0x5e5c49;let _0x581d0d=await fetch(j+_0x3109a8(0x180),{'method':_0x3109a8(0x1a3),'headers':{'Content-Type':_0x3109a8(0x16d),'Accept':_0x3109a8(0x12f),...F?{'Authorization':_0x3109a8(0x160)+F}:{}},'body':JSON[_0x3109a8(0x16b)]({'jsonrpc':_0x3109a8(0x1ae),'id':0x1,'method':'initialize','params':{'protocolVersion':_0x3109a8(0x177),'capabilities':{},'clientInfo':{'name':_0x3109a8(0x19c),'version':_0x3109a8(0x1be)}}})});if(!_0x581d0d['ok']){let _0x490bf7=await _0x581d0d['text']();return W(_0x3109a8(0x1b4)+_0x581d0d[_0x3109a8(0x174)]+'\x20'+_0x490bf7['slice'](0x0,0x64)),{'ok':!0x1,'error':_0x3109a8(0x16f)+_0x581d0d[_0x3109a8(0x174)]};}await _0x581d0d[_0x3109a8(0x152)]();let _0x1e056b=(await(await fetch(j+_0x3109a8(0x180),{'method':_0x3109a8(0x1a3),'headers':{'Content-Type':'application/json','Accept':_0x3109a8(0x12f),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x3109a8(0x16b)]({'jsonrpc':_0x3109a8(0x1ae),'id':0x2,'method':_0x3109a8(0x188),'params':{'name':_0x378822,'arguments':_0x2fd76c}})}))[_0x3109a8(0x152)]())[_0x3109a8(0x1bf)]('\x0a')[_0x3109a8(0x14e)](_0x1f47bb=>_0x1f47bb['startsWith'](_0x3109a8(0x15c)));if(_0x1e056b){let _0x8e164f=JSON[_0x3109a8(0x17f)](_0x1e056b['slice'](0x6));return _0x8e164f?.[_0x3109a8(0x1a8)]?.[_0x3109a8(0x125)]?.[0x0]?.[_0x3109a8(0x152)]?JSON[_0x3109a8(0x17f)](_0x8e164f[_0x3109a8(0x1a8)][_0x3109a8(0x125)][0x0][_0x3109a8(0x152)]):_0x8e164f;}return{'ok':!0x1,'error':_0x3109a8(0x1a4)};}x[a0_0x5e5c49(0x1bd)](a0_0x2b1362,async _0x5ec4b8=>{const _0x133e98=a0_0x5e5c49;let {name:_0x3861ca,arguments:_0x541c63}=_0x5ec4b8[_0x133e98(0x15a)];if(_0x3861ca===_0x133e98(0x13a)){let {task_id:_0x3d42b5,text:_0x4f365b,status:_0xbc283b}=_0x541c63;if(_0xbc283b===_0x133e98(0x139)||_0xbc283b===_0x133e98(0x1b5)||_0xbc283b===_0x133e98(0x1a0)){let _0x512885=_0xbc283b==='completed'?_0x133e98(0x186):_0xbc283b,_0x978bb=_0x3d42b5?D[_0x133e98(0x142)](_0x3d42b5)||_0x133e98(0x151):_0x133e98(0x151),_0x40c700=await Y(_0x133e98(0x1bb),{'alias':_0x978bb,'text':_0x4f365b,'in_reply_to':_0x3d42b5||void 0x0,'status':_0x512885,'from_session':G});if(_0x3d42b5)D[_0x133e98(0x127)](_0x3d42b5);return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x40c700)}]};}let _0x4917cb=await Y(_0x133e98(0x147),{'resume_id':K,'alias':G,'status':_0xbc283b===_0x133e98(0x185)?_0x133e98(0x185):_0xbc283b===_0x133e98(0x1a6)?'error':_0x133e98(0x18f),'task':_0x4f365b[_0x133e98(0x1c1)](0x0,0xc8),'output':_0x4f365b});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x4917cb)}]};}if(_0x3861ca===_0x133e98(0x132)){let {status:_0x4739db,task:_0x2c80cd,progress:_0xdb3ad5}=_0x541c63,_0x563646=await Y(_0x133e98(0x147),{'resume_id':K,'alias':G,'status':_0x4739db,'task':_0x2c80cd,'progress':_0xdb3ad5});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x563646)}]};}if(_0x3861ca===_0x133e98(0x19b)){let {alias:_0x3f6da6,task:_0x3d743e,priority:_0x24cdbd}=_0x541c63,_0x11e4e6=await Y(_0x133e98(0x173),{'alias':_0x3f6da6,'task':_0x3d743e,'priority':_0x24cdbd||'normal','from_session':G});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x11e4e6)}]};}if(_0x3861ca===_0x133e98(0x1b7)){let {alias:_0x5a36d5,message:_0x15e0cd}=_0x541c63,_0x497c05=await Y(_0x133e98(0x140),{'alias':_0x5a36d5,'message':_0x15e0cd,'from_session':G});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x497c05)}]};}if(_0x3861ca===_0x133e98(0x161)){let _0x2ccb7c=await Y(_0x133e98(0x196),{});return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)](_0x2ccb7c)}]};}return{'content':[{'type':_0x133e98(0x152),'text':JSON[_0x133e98(0x16b)]({'error':_0x133e98(0x136)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x2ae89b=a0_0x5e5c49;try{await Y(_0x2ae89b(0x147),{'resume_id':K,'alias':G,'status':_0x2ae89b(0x16a),'server':a0_0x17f5ef(),'hostname':a0_0x17f5ef(),'agent':_0x2ae89b(0x134),'project_dir':process[_0x2ae89b(0x146)](),'tmux_name':f||void 0x0}),W(_0x2ae89b(0x164)+G+_0x2ae89b(0x182));}catch(_0x1ee938){W(_0x2ae89b(0x18e)+_0x1ee938);}}async function o(){const _0x5b3107=a0_0x5e5c49;let _0x2cf097=j+_0x5b3107(0x19d)+encodeURIComponent(G),_0x536aa9={};if(F)_0x536aa9[_0x5b3107(0x1ac)]=_0x5b3107(0x160)+F;W(_0x5b3107(0x168)+_0x2cf097);let _0x358115=O,_0x32c93a=!0x0,_0x188848=null;while(!0x0){try{let _0x4ad71c=await fetch(_0x2cf097,{'headers':_0x536aa9});if(!_0x4ad71c['ok']){if(W(_0x5b3107(0x148)+_0x4ad71c[_0x5b3107(0x174)]+'\x20'+_0x4ad71c[_0x5b3107(0x131)]),_0x188848=_0x188848??Date[_0x5b3107(0x17c)](),Date[_0x5b3107(0x17c)]()-_0x188848>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x5b3107(0x172));return;}await N(_0x358115),_0x358115=Math[_0x5b3107(0x190)](_0x358115*0x2,R);continue;}let _0x66fa08=_0x4ad71c[_0x5b3107(0x192)][_0x5b3107(0x1ad)](),_0x50de77=new TextDecoder(),_0x4ae453='';_0x358115=O;while(!0x0){let {done:_0x53386b,value:_0x315ea6}=await _0x66fa08[_0x5b3107(0x149)]();if(_0x53386b)break;_0x4ae453+=_0x50de77[_0x5b3107(0x1b8)](_0x315ea6,{'stream':!0x0});let _0x433502=_0x4ae453[_0x5b3107(0x1bf)]('\x0a\x0a');_0x4ae453=_0x433502[_0x5b3107(0x18a)]()||'';for(let _0x1ee967 of _0x433502){let _0x566f1a=_0x1ee967[_0x5b3107(0x1bf)]('\x0a')[_0x5b3107(0x14e)](_0x58bafc=>_0x58bafc[_0x5b3107(0x12e)](_0x5b3107(0x15c)));if(!_0x566f1a)continue;try{let _0x5497dd=JSON[_0x5b3107(0x17f)](_0x566f1a[_0x5b3107(0x1c1)](0x6));if(await a(_0x5497dd),_0x5497dd[_0x5b3107(0x13d)]===_0x5b3107(0x191)){if(_0x188848=null,!_0x32c93a)await l();_0x32c93a=!0x1;}}catch(_0x143919){W('parse\x20error:\x20'+_0x143919);}}}W(_0x5b3107(0x1b0));}catch(_0x25a814){W(_0x5b3107(0x19e)+_0x25a814);}if(_0x188848=_0x188848??Date[_0x5b3107(0x17c)](),Date[_0x5b3107(0x17c)]()-_0x188848>T){W(_0x5b3107(0x1b6)+j+_0x5b3107(0x172));return;}await N(_0x358115),_0x358115=Math[_0x5b3107(0x190)](_0x358115*0x2,R);}}async function a(_0x31bff2){const _0x38d671=a0_0x5e5c49;if(_0x31bff2[_0x38d671(0x13d)]===_0x38d671(0x191)){W(_0x38d671(0x150)+G+'\x22');return;}if(_0x31bff2['type']===_0x38d671(0x1b3)){if(W(_0x38d671(0x1bc)+_0x31bff2['from']+':\x20'+_0x31bff2[_0x38d671(0x167)]['slice'](0x0,0x3c)),await x[_0x38d671(0x141)]({'method':_0x38d671(0x15b),'params':{'content':_0x31bff2[_0x38d671(0x167)],'meta':{'sender':_0x31bff2[_0x38d671(0x184)]||_0x38d671(0x151),'sender_id':'commhub','user':_0x31bff2[_0x38d671(0x184)]||_0x38d671(0x151),'priority':'normal'}}}),_0x31bff2[_0x38d671(0x15f)])await Y(_0x38d671(0x1b2),{'alias':G,'message_id':_0x31bff2[_0x38d671(0x15f)]});return;}if(_0x31bff2[_0x38d671(0x13d)]===_0x38d671(0x169)||_0x31bff2['type']==='broadcast'){W('←\x20'+_0x31bff2[_0x38d671(0x13d)]+':\x20inbox_count='+_0x31bff2['inbox_count']+'\x20priority='+(_0x31bff2[_0x38d671(0x162)]||'normal'));let _0x81d0a0=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x81d0a0?.['ok']&&_0x81d0a0['messages']?.[_0x38d671(0x17d)]>0x0)for(let _0x512d34 of _0x81d0a0[_0x38d671(0x158)]){let _0x599e2d={'sender':_0x512d34[_0x38d671(0x170)]||_0x38d671(0x151),'sender_id':_0x38d671(0x19a),'user':_0x512d34[_0x38d671(0x170)]||_0x38d671(0x151),'task_id':_0x512d34['id'],'priority':_0x512d34['priority']||'normal'};D[_0x38d671(0x138)](_0x512d34['id'],_0x512d34['from_session']||'hub'),await x['notification']({'method':'notifications/claude/channel','params':{'content':_0x512d34[_0x38d671(0x125)],'meta':_0x599e2d}}),W('→\x20injected\x20task\x20'+_0x512d34['id'][_0x38d671(0x1c1)](0x0,0x8)+_0x38d671(0x155)+_0x512d34[_0x38d671(0x170)]+':\x20'+_0x512d34[_0x38d671(0x125)]['slice'](0x0,0x3c)),await Y(_0x38d671(0x1b2),{'alias':G,'message_id':_0x512d34['id']});}}}async function n(){const _0x4148ca=a0_0x5e5c49;let _0x2fd26c=new a0_0x5ab9e5();await x['connect'](_0x2fd26c),W(_0x4148ca(0x157)),W('starting\x20SSE\x20listener...'),o()[_0x4148ca(0x165)](_0x3ce23d=>W(_0x4148ca(0x189)+_0x3ce23d)),Y(_0x4148ca(0x147),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x17f5ef(),'hostname':a0_0x17f5ef(),'agent':'claude-code','project_dir':process[_0x4148ca(0x146)](),'tmux_name':f||void 0x0})['then'](()=>W('registered\x20as\x20\x22'+G+_0x4148ca(0x18b)+K[_0x4148ca(0x1c1)](0x0,0x8)+')'))[_0x4148ca(0x165)](_0x253d1a=>W(_0x4148ca(0x178)+_0x253d1a)),setInterval(()=>{const _0x1ab862=_0x4148ca;Y('report_status',{'resume_id':K,'alias':G,'status':_0x1ab862(0x16a),'server':a0_0x17f5ef(),'hostname':a0_0x17f5ef(),'agent':_0x1ab862(0x134),'project_dir':process[_0x1ab862(0x146)](),'tmux_name':f||void 0x0})[_0x1ab862(0x165)](_0x48f943=>W('heartbeat\x20failed:\x20'+_0x48f943));},0x2bf20),W(_0x4148ca(0x1c0));}n()[a0_0x5e5c49(0x165)](_0x4d1ad3=>{const _0x3c9687=a0_0x5e5c49;W(_0x3c9687(0x198)+_0x4d1ad3),process[_0x3c9687(0x18c)](0x1);});async function b(){const _0x195080=a0_0x5e5c49;W(_0x195080(0x15e)),await Y('report_status',{'resume_id':K,'alias':G,'status':'offline','task':_0x195080(0x1a9)})['catch'](()=>{}),process['exit'](0x0);}process[a0_0x5e5c49(0x18d)]['on'](a0_0x5e5c49(0x126),()=>b()),process['on'](a0_0x5e5c49(0x154),()=>b()),process['on'](a0_0x5e5c49(0x12b),()=>b());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.2.10
|
|
3
|
+
"version": "2.2.10",
|
|
4
4
|
"description": "AI Agent Network CLI \u2014 Create multi-agent networks with user management, network isolation, and 3 AI runtimes (Claude/Codex/MiniMax). 39 commands.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/client.js",
|