@sleep2agi/agent-network 2.2.10-preview.3 → 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 +2 -2
- package/dist/bin/cli.js +1 -1
- package/dist/src/client.js +1 -1
- package/dist/src/node-server.js +1 -1
- package/package.json +1 -1
package/dist/src/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_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_0x585d11=a0_0x420a;(function(_0x2b49bf,_0x11779b){const _0x5c9fe3=a0_0x420a,_0x42464c=_0x2b49bf();while(!![]){try{const _0x871887=-parseInt(_0x5c9fe3(0x1eb))/0x1+-parseInt(_0x5c9fe3(0x1d0))/0x2*(parseInt(_0x5c9fe3(0x1d9))/0x3)+parseInt(_0x5c9fe3(0x17c))/0x4+parseInt(_0x5c9fe3(0x1d6))/0x5*(parseInt(_0x5c9fe3(0x19a))/0x6)+-parseInt(_0x5c9fe3(0x18e))/0x7*(parseInt(_0x5c9fe3(0x1cd))/0x8)+parseInt(_0x5c9fe3(0x187))/0x9*(parseInt(_0x5c9fe3(0x1cc))/0xa)+parseInt(_0x5c9fe3(0x1ff))/0xb*(parseInt(_0x5c9fe3(0x1b7))/0xc);if(_0x871887===_0x11779b)break;else _0x42464c['push'](_0x42464c['shift']());}catch(_0x553931){_0x42464c['push'](_0x42464c['shift']());}}}(a0_0xc8a7,0x867cf));function a0_0x420a(_0x1583b5,_0x8e8b80){_0x1583b5=_0x1583b5-0x176;const _0xc8a736=a0_0xc8a7();let _0x420a32=_0xc8a736[_0x1583b5];return _0x420a32;}import{readFileSync as a0_0x4ea7f5,existsSync as a0_0x1b2031}from'fs';import{randomUUID as a0_0x3e8e6a}from'crypto';import{join as a0_0x2e95dd}from'path';import{hostname as a0_0x2d16f6}from'os';import{execSync as a0_0x49a3d9}from'child_process';import{Server as a0_0x3adf07}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x3cf44f}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x2b2961,CallToolRequestSchema as a0_0x260f14}from'@modelcontextprotocol/sdk/types.js';function I(_0x28e8b4){const _0x32f8a4=a0_0x420a;if(!a0_0x1b2031(_0x28e8b4))return;for(let _0x281f30 of a0_0x4ea7f5(_0x28e8b4,_0x32f8a4(0x19d))['split']('\x0a')){let _0x573e35=_0x281f30[_0x32f8a4(0x1e4)]();if(!_0x573e35||_0x573e35[_0x32f8a4(0x201)]('#'))continue;let _0x3219c8=_0x573e35[_0x32f8a4(0x20d)]('=');if(_0x3219c8<0x0)continue;let _0x64a8df=_0x573e35[_0x32f8a4(0x209)](0x0,_0x3219c8)[_0x32f8a4(0x1e4)](),_0x1c4207=_0x573e35[_0x32f8a4(0x209)](_0x3219c8+0x1)['trim']()['replace'](/^["']|["']$/g,'');if(!process.env[_0x64a8df])process.env[_0x64a8df]=_0x1c4207;}}var L=process.env.HOME||'~',U=a0_0x2e95dd(L,a0_0x585d11(0x1bc));I(a0_0x2e95dd(U,a0_0x585d11(0x1c6)));var v=process[a0_0x585d11(0x1cf)]()[a0_0x585d11(0x179)](/\//g,'-');I(a0_0x2e95dd(U,v,a0_0x585d11(0x1c6)));function d(){const _0x425968=a0_0x585d11;try{return a0_0x49a3d9('tmux\x20display-message\x20-p\x20\x27#S\x27',{'encoding':_0x425968(0x19d),'timeout':0x7d0})[_0x425968(0x1e4)]();}catch{return'';}}function m(){const _0x4ba21f=a0_0x585d11;try{let _0x3ed433=a0_0x2e95dd(L,_0x4ba21f(0x1a3),'config.json');if(a0_0x1b2031(_0x3ed433))return JSON[_0x4ba21f(0x1f8)](a0_0x4ea7f5(_0x3ed433,_0x4ba21f(0x19d)));}catch{}return{};}var u=m(),j=process.env.COMMHUB_URL||u[a0_0x585d11(0x1e8)]||'http://127.0.0.1:9200',f=process.env.COMMHUB_TMUX||d();function r(){const _0x3a2d20=a0_0x585d11;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS['trim']())return process.env.COMMHUB_ALIAS[_0x3a2d20(0x1e4)]();return process[_0x3a2d20(0x1c2)][_0x3a2d20(0x1b0)]('[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20'+(_0x3a2d20(0x1f3)+(f||_0x3a2d20(0x1f5))+_0x3a2d20(0x205)+a0_0x2d16f6()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),'unattributed-'+process['pid'];}var G=r(),K=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x3e8e6a(),F=process.env.COMMHUB_TOKEN||u[a0_0x585d11(0x1c3)]||'';function W(_0x2d7acf){const _0x526fd1=a0_0x585d11;let _0x5cce36=new Date()[_0x526fd1(0x17d)]()['slice'](0x0,0x8);process[_0x526fd1(0x1c2)][_0x526fd1(0x1b0)]('['+_0x5cce36+_0x526fd1(0x1bf)+_0x2d7acf+'\x0a');}function N(_0x4206d9){return new Promise(_0x3523c0=>setTimeout(_0x3523c0,_0x4206d9));}W(a0_0x585d11(0x197)+j+a0_0x585d11(0x1a9)+G+'\x20RESUME_ID='+K[a0_0x585d11(0x209)](0x0,0x8)+a0_0x585d11(0x183)+(f||a0_0x585d11(0x1b4))+a0_0x585d11(0x1ea)+process['cwd']()+a0_0x585d11(0x1df)+v);var D=new Map(),x=new a0_0x3adf07({'name':a0_0x585d11(0x1dd),'version':'0.3.0'},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x585d11(0x1dc),a0_0x585d11(0x1c9),'Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.',a0_0x585d11(0x181),a0_0x585d11(0x1fb)+G]['join']('\x0a')});x[a0_0x585d11(0x199)](a0_0x2b2961,async()=>({'tools':[{'name':a0_0x585d11(0x1b5),'description':a0_0x585d11(0x1b2),'inputSchema':{'type':'object','properties':{'task_id':{'type':'string','description':a0_0x585d11(0x203)},'text':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x17f)},'status':{'type':a0_0x585d11(0x1bd),'enum':['completed',a0_0x585d11(0x200),'cancelled',a0_0x585d11(0x182),a0_0x585d11(0x1ae),a0_0x585d11(0x1ef)],'description':a0_0x585d11(0x1b8)}},'required':[a0_0x585d11(0x194)]}},{'name':a0_0x585d11(0x20c),'description':a0_0x585d11(0x1cb),'inputSchema':{'type':a0_0x585d11(0x1d1),'properties':{'status':{'type':a0_0x585d11(0x1bd),'enum':['working',a0_0x585d11(0x1f4),'blocked','error']},'task':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x1a4)},'progress':{'type':a0_0x585d11(0x191),'description':a0_0x585d11(0x1a6)}},'required':[a0_0x585d11(0x1d2)]}},{'name':a0_0x585d11(0x1e1),'description':a0_0x585d11(0x206),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x1fe)},'task':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x1be)},'priority':{'type':a0_0x585d11(0x1bd),'enum':[a0_0x585d11(0x1a1),a0_0x585d11(0x213),a0_0x585d11(0x1d4)],'description':a0_0x585d11(0x178)}},'required':[a0_0x585d11(0x190),a0_0x585d11(0x18d)]}},{'name':a0_0x585d11(0x19b),'description':a0_0x585d11(0x1f2),'inputSchema':{'type':a0_0x585d11(0x1d1),'properties':{'alias':{'type':'string','description':'Target\x20session\x20alias'},'message':{'type':a0_0x585d11(0x1bd),'description':a0_0x585d11(0x1b6)}},'required':['alias',a0_0x585d11(0x20f)]}},{'name':a0_0x585d11(0x1a2),'description':a0_0x585d11(0x1d3),'inputSchema':{'type':a0_0x585d11(0x1d1),'properties':{}}}]}));async function Y(_0x5f31e8,_0x41e0da){const _0x3a8d21=a0_0x585d11;let _0x217426=await fetch(j+'/mcp',{'method':_0x3a8d21(0x1c5),'headers':{'Content-Type':_0x3a8d21(0x1f6),'Accept':'application/json,\x20text/event-stream',...F?{'Authorization':_0x3a8d21(0x1db)+F}:{}},'body':JSON[_0x3a8d21(0x1e6)]({'jsonrpc':_0x3a8d21(0x207),'id':0x1,'method':_0x3a8d21(0x1b1),'params':{'protocolVersion':_0x3a8d21(0x1da),'capabilities':{},'clientInfo':{'name':'commhub-channel','version':_0x3a8d21(0x1ad)}}})});if(!_0x217426['ok']){let _0x4d1730=await _0x217426['text']();return W(_0x3a8d21(0x19e)+_0x217426[_0x3a8d21(0x1d2)]+'\x20'+_0x4d1730[_0x3a8d21(0x209)](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x217426[_0x3a8d21(0x1d2)]};}await _0x217426[_0x3a8d21(0x194)]();let _0x27f3d8=(await(await fetch(j+_0x3a8d21(0x1b3),{'method':_0x3a8d21(0x1c5),'headers':{'Content-Type':_0x3a8d21(0x1f6),'Accept':_0x3a8d21(0x1fc),...F?{'Authorization':'Bearer\x20'+F}:{}},'body':JSON[_0x3a8d21(0x1e6)]({'jsonrpc':_0x3a8d21(0x207),'id':0x2,'method':_0x3a8d21(0x195),'params':{'name':_0x5f31e8,'arguments':_0x41e0da}})}))[_0x3a8d21(0x194)]())[_0x3a8d21(0x211)]('\x0a')[_0x3a8d21(0x18c)](_0x380a81=>_0x380a81[_0x3a8d21(0x201)](_0x3a8d21(0x188)));if(_0x27f3d8){let _0x36dab7=JSON['parse'](_0x27f3d8[_0x3a8d21(0x209)](0x6));return _0x36dab7?.[_0x3a8d21(0x1e5)]?.[_0x3a8d21(0x17a)]?.[0x0]?.['text']?JSON[_0x3a8d21(0x1f8)](_0x36dab7[_0x3a8d21(0x1e5)][_0x3a8d21(0x17a)][0x0][_0x3a8d21(0x194)]):_0x36dab7;}return{'ok':!0x1,'error':'no\x20response'};}x[a0_0x585d11(0x199)](a0_0x260f14,async _0x4aded6=>{const _0xc3e62b=a0_0x585d11;let {name:_0x35bc92,arguments:_0x1de429}=_0x4aded6['params'];if(_0x35bc92==='commhub_reply'){let {task_id:_0x532670,text:_0x5ec33f,status:_0x49612b}=_0x1de429;if(_0x49612b==='completed'||_0x49612b===_0xc3e62b(0x200)||_0x49612b===_0xc3e62b(0x1ee)){let _0x389fee=_0x49612b===_0xc3e62b(0x1c0)?_0xc3e62b(0x186):_0x49612b,_0x53315b=_0x532670?D[_0xc3e62b(0x208)](_0x532670)||_0xc3e62b(0x1e8):'hub',_0x300863=await Y(_0xc3e62b(0x20b),{'alias':_0x53315b,'text':_0x5ec33f,'in_reply_to':_0x532670||void 0x0,'status':_0x389fee,'from_session':G});if(_0x532670)D[_0xc3e62b(0x1e0)](_0x532670);return{'content':[{'type':_0xc3e62b(0x194),'text':JSON[_0xc3e62b(0x1e6)](_0x300863)}]};}let _0x13a829=await Y(_0xc3e62b(0x1f1),{'resume_id':K,'alias':G,'status':_0x49612b==='blocked'?'blocked':_0x49612b===_0xc3e62b(0x1ae)?_0xc3e62b(0x1ae):_0xc3e62b(0x1ab),'task':_0x5ec33f[_0xc3e62b(0x209)](0x0,0xc8),'output':_0x5ec33f});return{'content':[{'type':'text','text':JSON[_0xc3e62b(0x1e6)](_0x13a829)}]};}if(_0x35bc92===_0xc3e62b(0x20c)){let {status:_0x3f0ff9,task:_0x41fb61,progress:_0x35bc64}=_0x1de429,_0x508ed2=await Y(_0xc3e62b(0x1f1),{'resume_id':K,'alias':G,'status':_0x3f0ff9,'task':_0x41fb61,'progress':_0x35bc64});return{'content':[{'type':'text','text':JSON['stringify'](_0x508ed2)}]};}if(_0x35bc92==='commhub_send_task'){let {alias:_0x5ae1ce,task:_0x32c2f2,priority:_0x274914}=_0x1de429,_0x20d593=await Y('send_task',{'alias':_0x5ae1ce,'task':_0x32c2f2,'priority':_0x274914||_0xc3e62b(0x213),'from_session':G});return{'content':[{'type':_0xc3e62b(0x194),'text':JSON['stringify'](_0x20d593)}]};}if(_0x35bc92===_0xc3e62b(0x19b)){let {alias:_0x34a300,message:_0x138b3c}=_0x1de429,_0x24133f=await Y(_0xc3e62b(0x1c7),{'alias':_0x34a300,'message':_0x138b3c,'from_session':G});return{'content':[{'type':'text','text':JSON[_0xc3e62b(0x1e6)](_0x24133f)}]};}if(_0x35bc92===_0xc3e62b(0x1a2)){let _0x3079dc=await Y('get_all_status',{});return{'content':[{'type':'text','text':JSON[_0xc3e62b(0x1e6)](_0x3079dc)}]};}return{'content':[{'type':_0xc3e62b(0x194),'text':JSON[_0xc3e62b(0x1e6)]({'error':_0xc3e62b(0x1aa)})}]};});var O=0x3e8,R=0x7530,T=0x36ee80;async function l(){const _0x24a295=a0_0x585d11;try{await Y(_0x24a295(0x1f1),{'resume_id':K,'alias':G,'status':'idle','server':a0_0x2d16f6(),'hostname':a0_0x2d16f6(),'agent':_0x24a295(0x1ac),'project_dir':process[_0x24a295(0x1cf)](),'tmux_name':f||void 0x0}),W('re-registered\x20as\x20\x22'+G+_0x24a295(0x1f0));}catch(_0x4449f3){W(_0x24a295(0x196)+_0x4449f3);}}async function o(){const _0x425503=a0_0x585d11;let _0x5d8058=j+'/events/'+encodeURIComponent(G),_0x3fd41f={};if(F)_0x3fd41f['Authorization']=_0x425503(0x1db)+F;W(_0x425503(0x1b9)+_0x5d8058);let _0x42d14d=O,_0x42feda=!0x0,_0xa26eff=null;while(!0x0){try{let _0x337587=await fetch(_0x5d8058,{'headers':_0x3fd41f});if(!_0x337587['ok']){if(W(_0x425503(0x176)+_0x337587['status']+'\x20'+_0x337587[_0x425503(0x1ec)]),_0xa26eff=_0xa26eff??Date[_0x425503(0x212)](),Date['now']()-_0xa26eff>T){W(_0x425503(0x180)+j+_0x425503(0x1a0));return;}await N(_0x42d14d),_0x42d14d=Math[_0x425503(0x1e2)](_0x42d14d*0x2,R);continue;}let _0x5ca194=_0x337587['body']['getReader'](),_0x2b3726=new TextDecoder(),_0x5110e6='';_0x42d14d=O;while(!0x0){let {done:_0x30017a,value:_0x6dcb2c}=await _0x5ca194[_0x425503(0x18b)]();if(_0x30017a)break;_0x5110e6+=_0x2b3726[_0x425503(0x1e7)](_0x6dcb2c,{'stream':!0x0});let _0x5b8217=_0x5110e6['split']('\x0a\x0a');_0x5110e6=_0x5b8217[_0x425503(0x20a)]()||'';for(let _0x289b64 of _0x5b8217){let _0x586c1d=_0x289b64['split']('\x0a')['find'](_0x53d66f=>_0x53d66f['startsWith'](_0x425503(0x188)));if(!_0x586c1d)continue;try{let _0x363eb4=JSON[_0x425503(0x1f8)](_0x586c1d[_0x425503(0x209)](0x6));if(await a(_0x363eb4),_0x363eb4[_0x425503(0x1d7)]===_0x425503(0x1c8)){if(_0xa26eff=null,!_0x42feda)await l();_0x42feda=!0x1;}}catch(_0x559bf9){W(_0x425503(0x210)+_0x559bf9);}}}W(_0x425503(0x1ca));}catch(_0x24133e){W(_0x425503(0x1fd)+_0x24133e);}if(_0xa26eff=_0xa26eff??Date[_0x425503(0x212)](),Date['now']()-_0xa26eff>T){W('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+j+_0x425503(0x1a0));return;}await N(_0x42d14d),_0x42d14d=Math[_0x425503(0x1e2)](_0x42d14d*0x2,R);}}async function a(_0x323528){const _0x269a13=a0_0x585d11;if(_0x323528[_0x269a13(0x1d7)]===_0x269a13(0x1c8)){W('SSE\x20connected\x20as\x20\x22'+G+'\x22');return;}if(_0x323528[_0x269a13(0x1d7)]==='new_message'){if(W(_0x269a13(0x1a5)+_0x323528['from']+':\x20'+_0x323528[_0x269a13(0x20f)][_0x269a13(0x209)](0x0,0x3c)),await x['notification']({'method':'notifications/claude/channel','params':{'content':_0x323528[_0x269a13(0x20f)],'meta':{'sender':_0x323528[_0x269a13(0x1d5)]||_0x269a13(0x1e8),'sender_id':_0x269a13(0x17b),'user':_0x323528[_0x269a13(0x1d5)]||_0x269a13(0x1e8),'priority':_0x269a13(0x213)}}}),_0x323528['message_id'])await Y(_0x269a13(0x19f),{'alias':G,'message_id':_0x323528[_0x269a13(0x1f9)]});return;}if(_0x323528[_0x269a13(0x1d7)]===_0x269a13(0x184)||_0x323528[_0x269a13(0x1d7)]===_0x269a13(0x192)){W('←\x20'+_0x323528[_0x269a13(0x1d7)]+_0x269a13(0x1bb)+_0x323528[_0x269a13(0x1d8)]+_0x269a13(0x202)+(_0x323528[_0x269a13(0x193)]||_0x269a13(0x213)));let _0x4937d6=await Y('get_inbox',{'alias':G,'limit':0x5});if(_0x4937d6?.['ok']&&_0x4937d6[_0x269a13(0x20e)]?.[_0x269a13(0x1c4)]>0x0)for(let _0x4169f1 of _0x4937d6[_0x269a13(0x20e)]){let _0x276bf8={'sender':_0x4169f1[_0x269a13(0x185)]||_0x269a13(0x1e8),'sender_id':_0x269a13(0x17b),'user':_0x4169f1[_0x269a13(0x185)]||_0x269a13(0x1e8),'task_id':_0x4169f1['id'],'priority':_0x4169f1['priority']||_0x269a13(0x213)};D[_0x269a13(0x1af)](_0x4169f1['id'],_0x4169f1[_0x269a13(0x185)]||_0x269a13(0x1e8)),await x['notification']({'method':'notifications/claude/channel','params':{'content':_0x4169f1[_0x269a13(0x17a)],'meta':_0x276bf8}}),W(_0x269a13(0x1c1)+_0x4169f1['id'][_0x269a13(0x209)](0x0,0x8)+_0x269a13(0x1e9)+_0x4169f1[_0x269a13(0x185)]+':\x20'+_0x4169f1[_0x269a13(0x17a)][_0x269a13(0x209)](0x0,0x3c)),await Y('ack_inbox',{'alias':G,'message_id':_0x4169f1['id']});}}}async function n(){const _0x16bd25=a0_0x585d11;let _0xb4b5c4=new a0_0x3cf44f();await x[_0x16bd25(0x1de)](_0xb4b5c4),W(_0x16bd25(0x19c)),W('starting\x20SSE\x20listener...'),o()[_0x16bd25(0x1ed)](_0x5b1753=>W('SSE\x20fatal:\x20'+_0x5b1753)),Y(_0x16bd25(0x1f1),{'resume_id':K,'alias':G,'status':_0x16bd25(0x1f4),'server':a0_0x2d16f6(),'hostname':a0_0x2d16f6(),'agent':_0x16bd25(0x1ac),'project_dir':process[_0x16bd25(0x1cf)](),'tmux_name':f||void 0x0})[_0x16bd25(0x1a7)](()=>W(_0x16bd25(0x17e)+G+_0x16bd25(0x1e3)+K['slice'](0x0,0x8)+')'))[_0x16bd25(0x1ed)](_0x326513=>W(_0x16bd25(0x1f7)+_0x326513)),setInterval(()=>{const _0x556c14=_0x16bd25;Y('report_status',{'resume_id':K,'alias':G,'status':'idle','server':a0_0x2d16f6(),'hostname':a0_0x2d16f6(),'agent':_0x556c14(0x1ac),'project_dir':process[_0x556c14(0x1cf)](),'tmux_name':f||void 0x0})[_0x556c14(0x1ed)](_0x5d780f=>W(_0x556c14(0x1ce)+_0x5d780f));},0x2bf20),W(_0x16bd25(0x177));}n()['catch'](_0x529531=>{const _0x3392f7=a0_0x585d11;W(_0x3392f7(0x1fa)+_0x529531),process[_0x3392f7(0x204)](0x1);});function a0_0xc8a7(){const _0x3db002=['SSE\x20stream\x20ended,\x20reconnecting...','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','10VITlLI','32tCGifl','heartbeat\x20failed:\x20','cwd','4722BwKhKa','object','status','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','low','from','155ZdOGEj','type','inbox_count','771MoQIgw','2025-03-26','Bearer\x20','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','commhub-channel','connect','\x20PROJECT_ENV=','delete','commhub_send_task','min','\x22\x20(','trim','result','stringify','decode','hub','\x20from\x20','\x20CWD=','290474BSXscx','statusText','catch','cancelled','in_progress','\x22\x20after\x20SSE\x20reconnect','report_status','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','idle','(none)','application/json','warning:\x20could\x20not\x20register:\x20','parse','message_id','fatal:\x20','Session\x20alias:\x20','application/json,\x20text/event-stream','SSE\x20connection\x20error:\x20','Target\x20session\x20alias','15213QJsEIR','failed','startsWith','\x20priority=','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','exit','\x20/\x20hostname=','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','2.0','get','slice','pop','send_reply','commhub_report_status','indexOf','messages','message','parse\x20error:\x20','split','now','normal','SSE\x20error:\x20','ready\x20—\x20waiting\x20for\x20events','Priority\x20(default:\x20normal)','replace','content','commhub','935872qbCLRF','toTimeString','registered\x20as\x20\x22','Reply\x20text\x20/\x20result\x20summary','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','blocked','...\x20TMUX=','new_task','from_session','replied','2668518RvpUMf','data:\x20','session\x20disconnected','shutting\x20down,\x20reporting\x20offline...','read','find','task','554071WZUDCM','SIGINT','alias','number','broadcast','priority','text','tools/call','re-register\x20failed:\x20','ENV:\x20URL=','offline','setRequestHandler','124590trgUST','commhub_send_message','MCP\x20stdio\x20connected','utf-8','CommHub\x20init\x20failed:\x20','ack_inbox',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','high','commhub_get_all_status','.anet','Current\x20task\x20description','←\x20message\x20from\x20','Progress\x200-100','then','end','\x20ALIAS=','unknown\x20tool','working','claude-code','0.3.0','error','set','write','initialize','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','/mcp','none','commhub_reply','Message\x20content','5124LLJgqR','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','connecting\x20to\x20','SIGTERM',':\x20inbox_count=','.claude/channels/commhub','string','Task\x20content',']\x20[commhub]\x20','completed','→\x20injected\x20task\x20','stderr','token','length','POST','.env','send_message','connected','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.'];a0_0xc8a7=function(){return _0x3db002;};return a0_0xc8a7();}async function b(){const _0x38575e=a0_0x585d11;W(_0x38575e(0x18a)),await Y(_0x38575e(0x1f1),{'resume_id':K,'alias':G,'status':_0x38575e(0x198),'task':_0x38575e(0x189)})['catch'](()=>{}),process['exit'](0x0);}process['stdin']['on'](a0_0x585d11(0x1a8),()=>b()),process['on'](a0_0x585d11(0x1ba),()=>b()),process['on'](a0_0x585d11(0x18f),()=>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",
|