@sleep2agi/agent-network 2.3.0-preview.25 → 2.3.0-preview.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +1 -1
- package/dist/src/client.js +1 -1
- package/dist/src/node-server.js +1 -1
- package/package.json +1 -1
package/dist/src/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x207ba8=a0_0xb317;(function(_0x3b19df,_0x200a85){const _0x20e34a=a0_0xb317,_0x27403e=_0x3b19df();while(!![]){try{const _0x1df244=parseInt(_0x20e34a(0x196))/0x1+parseInt(_0x20e34a(0x1ce))/0x2*(parseInt(_0x20e34a(0x1b1))/0x3)+parseInt(_0x20e34a(0x1d5))/0x4*(-parseInt(_0x20e34a(0x1cf))/0x5)+parseInt(_0x20e34a(0x1b3))/0x6+-parseInt(_0x20e34a(0x19c))/0x7+-parseInt(_0x20e34a(0x1d6))/0x8*(-parseInt(_0x20e34a(0x1b7))/0x9)+-parseInt(_0x20e34a(0x1c7))/0xa*(parseInt(_0x20e34a(0x1c4))/0xb);if(_0x1df244===_0x200a85)break;else _0x27403e['push'](_0x27403e['shift']());}catch(_0x5d1b1d){_0x27403e['push'](_0x27403e['shift']());}}}(a0_0x4a6c,0x8217c));import{EventEmitter as a0_0x3b927b}from'events';import{hostname as a0_0x3e26be}from'os';function a0_0x4a6c(){const _0x362514=['pop','processInbox','disconnected','heartbeat\x20failed:\x20','872063lpsakg','2.0','replace','send','reply','text/event-stream','1096193fnosFi','abort','log','new_message','getReader','registered','message','sseAbort','normal','url','agent','emit','Bearer\x20','get_all_status','getAllStatus','error','/mcp','server','content','ack_inbox','application/json','3JrdMKn','Authorization','147348wPhCDk','POST','toTimeString','new_task','17181mBXUlf','slice','disconnect','result','SSE\x20failed:\x20','completed',']\x20[commhub:','body','broadcast','split','running','connected','resumeId','49434xGnUza','alias','SSE\x20reconnecting\x20in\x20','1170vWvFxv','get_inbox','match','signal','inbox\x20error:\x20','from_session','call','1333118QpukGo','3639070zfThAC','text','/events/','AbortError','send_message','reconnectDelay','4CcaYfn','1592xyrURf','min','s...','sleep','SSE\x20error:\x20','name','parse','connect','send_reply','read','heartbeatInterval','status','connectSSE','sdk','heartbeatTimer','type','send_task','stringify','token'];a0_0x4a6c=function(){return _0x362514;};return a0_0x4a6c();}class T extends a0_0x3b927b{[a0_0x207ba8(0x1a5)];[a0_0x207ba8(0x1c5)];['token'];[a0_0x207ba8(0x1a6)];[a0_0x207ba8(0x1c3)];['heartbeatInterval'];[a0_0x207ba8(0x1d4)];[a0_0x207ba8(0x18d)];['sseAbort'];[a0_0x207ba8(0x1c1)]=!0x1;constructor(_0x5054ab){const _0x1474c2=a0_0x207ba8;super();if(this[_0x1474c2(0x1a5)]=_0x5054ab[_0x1474c2(0x1a5)][_0x1474c2(0x198)](/\/$/,''),this[_0x1474c2(0x1c5)]=_0x5054ab[_0x1474c2(0x1c5)],this[_0x1474c2(0x191)]=_0x5054ab[_0x1474c2(0x191)],this[_0x1474c2(0x1a6)]=_0x5054ab[_0x1474c2(0x1a6)]||_0x1474c2(0x18c),this[_0x1474c2(0x1c3)]='sdk-'+_0x5054ab['alias']+'-'+Date['now']()['toString'](0x24),this['heartbeatInterval']=_0x5054ab[_0x1474c2(0x189)]??0x2bf20,this[_0x1474c2(0x1d4)]=_0x5054ab['reconnectDelay']??0xbb8,_0x5054ab['autoConnect']!==!0x1)this['connect']();}[a0_0x207ba8(0x19e)](_0x4f4a62){const _0x53bcb1=a0_0x207ba8;console[_0x53bcb1(0x19e)]('['+new Date()[_0x53bcb1(0x1b5)]()[_0x53bcb1(0x1b8)](0x0,0x8)+_0x53bcb1(0x1bd)+this[_0x53bcb1(0x1c5)]+']\x20'+_0x4f4a62);}async['call'](_0x296e18,_0x23821c){const _0x31bcb7=a0_0x207ba8;let _0x3f51ee={'Content-Type':_0x31bcb7(0x1b0),'Accept':'application/json,\x20text/event-stream'};if(this[_0x31bcb7(0x191)])_0x3f51ee[_0x31bcb7(0x1b2)]=_0x31bcb7(0x1a8)+this[_0x31bcb7(0x191)];let _0x1b71b3=await(await fetch(this[_0x31bcb7(0x1a5)]+_0x31bcb7(0x1ac),{'method':_0x31bcb7(0x1b4),'headers':_0x3f51ee,'body':JSON[_0x31bcb7(0x190)]({'jsonrpc':_0x31bcb7(0x197),'id':Date['now'](),'method':'tools/call','params':{'name':_0x296e18,'arguments':_0x23821c}})}))[_0x31bcb7(0x1d0)](),_0xe8bbd3=_0x1b71b3[_0x31bcb7(0x1c9)](/data: (.+)/),_0x289e12=_0xe8bbd3?JSON[_0x31bcb7(0x1dc)](_0xe8bbd3[0x1]):JSON[_0x31bcb7(0x1dc)](_0x1b71b3),_0x91f3d=_0x289e12?.[_0x31bcb7(0x1ba)]?.[_0x31bcb7(0x1ae)]?.[0x0]?.[_0x31bcb7(0x1d0)];return _0x91f3d?JSON[_0x31bcb7(0x1dc)](_0x91f3d):_0x289e12;}async[a0_0x207ba8(0x1dd)](){const _0x5929c7=a0_0x207ba8;if(this[_0x5929c7(0x1c1)])return;this[_0x5929c7(0x1c1)]=!0x0,await this['status']('idle'),this['log'](_0x5929c7(0x1a1)),this[_0x5929c7(0x18d)]=setInterval(()=>{const _0x340be8=_0x5929c7;this[_0x340be8(0x18a)]('idle')['catch'](_0x127b1d=>this[_0x340be8(0x19e)](_0x340be8(0x195)+_0x127b1d[_0x340be8(0x1a2)]));},this[_0x5929c7(0x189)]),this['connectSSE']();}async[a0_0x207ba8(0x1b9)](){const _0x14a408=a0_0x207ba8;if(this['running']=!0x1,this[_0x14a408(0x1a3)]?.[_0x14a408(0x19d)](),this[_0x14a408(0x18d)])clearInterval(this[_0x14a408(0x18d)]);await this[_0x14a408(0x18a)]('offline')['catch'](()=>{}),this[_0x14a408(0x19e)](_0x14a408(0x194));}async[a0_0x207ba8(0x199)](_0x3c1de7,_0x2c4077,_0x4a982d=a0_0x207ba8(0x1a4)){const _0x446524=a0_0x207ba8;return this[_0x446524(0x1cd)](_0x446524(0x18f),{'alias':_0x3c1de7,'task':_0x2c4077,'priority':_0x4a982d,'from_session':this['alias']});}async[a0_0x207ba8(0x1a2)](_0x924501,_0x27c3f2){const _0x58a9d9=a0_0x207ba8;return this[_0x58a9d9(0x1cd)](_0x58a9d9(0x1d3),{'alias':_0x924501,'message':_0x27c3f2,'from_session':this[_0x58a9d9(0x1c5)]});}async[a0_0x207ba8(0x19a)](_0x13af1d,_0x333ba2,_0x534fc4=a0_0x207ba8(0x1bc)){const _0x47b3d6=a0_0x207ba8;return this[_0x47b3d6(0x1cd)](_0x47b3d6(0x1de),{'in_reply_to':_0x13af1d,'text':_0x333ba2,'status':_0x534fc4});}async[a0_0x207ba8(0x18a)](_0x4988c9,_0x4b4fc5){const _0x3a3c64=a0_0x207ba8;return this[_0x3a3c64(0x1cd)]('report_status',{'resume_id':this['resumeId'],'alias':this[_0x3a3c64(0x1c5)],'status':_0x4988c9,'server':a0_0x3e26be(),'hostname':a0_0x3e26be(),'agent':this[_0x3a3c64(0x1a6)],'project_dir':process['cwd'](),..._0x4b4fc5});}async[a0_0x207ba8(0x1aa)](){const _0x115b02=a0_0x207ba8;return this[_0x115b02(0x1cd)](_0x115b02(0x1a9),{});}async['broadcast'](_0x5f3666,_0x1c5ed2){const _0x1ad14f=a0_0x207ba8;return this['call']('broadcast',{'message':_0x5f3666,'filter_server':_0x1c5ed2?.[_0x1ad14f(0x1ad)],'filter_status':_0x1c5ed2?.[_0x1ad14f(0x18a)]});}async[a0_0x207ba8(0x18b)](){const _0x27c5d5=a0_0x207ba8;let _0x1bb9ae=encodeURIComponent(this[_0x27c5d5(0x1c5)]),_0x217b7d=this[_0x27c5d5(0x1a5)]+_0x27c5d5(0x1d1)+_0x1bb9ae,_0x5143cd=this[_0x27c5d5(0x1d4)];while(this[_0x27c5d5(0x1c1)]){try{this[_0x27c5d5(0x1a3)]=new AbortController();let _0x39eec6={'Accept':_0x27c5d5(0x19b)};if(this['token'])_0x39eec6[_0x27c5d5(0x1b2)]=_0x27c5d5(0x1a8)+this[_0x27c5d5(0x191)];let _0x4dde27=await fetch(_0x217b7d,{'headers':_0x39eec6,'signal':this[_0x27c5d5(0x1a3)][_0x27c5d5(0x1ca)]});if(!_0x4dde27['ok']||!_0x4dde27[_0x27c5d5(0x1be)]){this[_0x27c5d5(0x19e)](_0x27c5d5(0x1bb)+_0x4dde27[_0x27c5d5(0x18a)]),await this[_0x27c5d5(0x1d9)](_0x5143cd),_0x5143cd=Math[_0x27c5d5(0x1d7)](_0x5143cd*1.5,0xea60);continue;}_0x5143cd=this[_0x27c5d5(0x1d4)];let _0xfa0403=_0x4dde27[_0x27c5d5(0x1be)][_0x27c5d5(0x1a0)](),_0x2b27ea=new TextDecoder(),_0x2043e9='';while(this[_0x27c5d5(0x1c1)]){let {done:_0x82e737,value:_0x508446}=await _0xfa0403[_0x27c5d5(0x1df)]();if(_0x82e737)break;_0x2043e9+=_0x2b27ea['decode'](_0x508446,{'stream':!0x0});let _0x49d281=_0x2043e9[_0x27c5d5(0x1c0)]('\x0a');_0x2043e9=_0x49d281[_0x27c5d5(0x192)]()||'';for(let _0x256ab3 of _0x49d281){if(!_0x256ab3['startsWith']('data:\x20'))continue;try{let _0x26221f=JSON[_0x27c5d5(0x1dc)](_0x256ab3[_0x27c5d5(0x1b8)](0x6));if(_0x26221f[_0x27c5d5(0x18e)]==='connected'){this[_0x27c5d5(0x19e)]('SSE\x20connected'),this[_0x27c5d5(0x1a7)](_0x27c5d5(0x1c2));continue;}if(_0x26221f[_0x27c5d5(0x18e)]===_0x27c5d5(0x1b6)||_0x26221f['type']===_0x27c5d5(0x19f)||_0x26221f['type']===_0x27c5d5(0x1bf))await this[_0x27c5d5(0x193)]();}catch{}}}}catch(_0x227bc3){if(_0x227bc3[_0x27c5d5(0x1db)]===_0x27c5d5(0x1d2))break;this[_0x27c5d5(0x1a7)](_0x27c5d5(0x1ab),_0x227bc3),this[_0x27c5d5(0x19e)](_0x27c5d5(0x1da)+_0x227bc3[_0x27c5d5(0x1a2)]);}if(this['running'])this[_0x27c5d5(0x1a7)](_0x27c5d5(0x194)),this[_0x27c5d5(0x19e)](_0x27c5d5(0x1c6)+_0x5143cd/0x3e8+_0x27c5d5(0x1d8)),await this[_0x27c5d5(0x1d9)](_0x5143cd),_0x5143cd=Math[_0x27c5d5(0x1d7)](_0x5143cd*1.5,0xea60);}}async[a0_0x207ba8(0x193)](){const _0x16d6b1=a0_0x207ba8;try{let _0x1cc421=(await this[_0x16d6b1(0x1cd)](_0x16d6b1(0x1c8),{'alias':this[_0x16d6b1(0x1c5)],'limit':0xa}))?.['messages']||[];for(let _0x529c6d of _0x1cc421)await this['call'](_0x16d6b1(0x1af),{'alias':this[_0x16d6b1(0x1c5)],'message_id':_0x529c6d['id']}),this['log']('←\x20'+_0x529c6d[_0x16d6b1(0x1cc)]+':\x20'+_0x529c6d['content'][_0x16d6b1(0x1b8)](0x0,0x3c)),this[_0x16d6b1(0x1a7)]('task',_0x529c6d),this[_0x16d6b1(0x1a7)]('message',_0x529c6d);}catch(_0x1011f4){this[_0x16d6b1(0x19e)](_0x16d6b1(0x1cb)+_0x1011f4[_0x16d6b1(0x1a2)]);}}[a0_0x207ba8(0x1d9)](_0x2fd696){return new Promise(_0x455c8f=>setTimeout(_0x455c8f,_0x2fd696));}}var $=T;function a0_0xb317(_0x27394e,_0x214bed){_0x27394e=_0x27394e-0x189;const _0x4a6c38=a0_0x4a6c();let _0xb317a0=_0x4a6c38[_0x27394e];return _0xb317a0;}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_0x587abe=a0_0x51e5;(function(_0x3e5928,_0x47b6eb){const _0x4b89ce=a0_0x51e5,_0x3a517f=_0x3e5928();while(!![]){try{const _0x1fbb40=-parseInt(_0x4b89ce(0x1ee))/0x1*(parseInt(_0x4b89ce(0x21d))/0x2)+parseInt(_0x4b89ce(0x236))/0x3*(-parseInt(_0x4b89ce(0x27f))/0x4)+parseInt(_0x4b89ce(0x1f8))/0x5+-parseInt(_0x4b89ce(0x20c))/0x6+parseInt(_0x4b89ce(0x287))/0x7+parseInt(_0x4b89ce(0x264))/0x8+-parseInt(_0x4b89ce(0x265))/0x9*(-parseInt(_0x4b89ce(0x270))/0xa);if(_0x1fbb40===_0x47b6eb)break;else _0x3a517f['push'](_0x3a517f['shift']());}catch(_0x4dd588){_0x3a517f['push'](_0x3a517f['shift']());}}}(a0_0x38d9,0xa3aa9));import{readFileSync as a0_0x4a71cf,existsSync as a0_0x5298bd}from'fs';import{randomUUID as a0_0x102173}from'crypto';function a0_0x51e5(_0x29aee7,_0x39e586){_0x29aee7=_0x29aee7-0x1e3;const _0x38d960=a0_0x38d9();let _0x51e569=_0x38d960[_0x29aee7];return _0x51e569;}import{join as a0_0x5b0fb5}from'path';import{hostname as a0_0x162e43}from'os';import{execSync as a0_0xc90d0}from'child_process';function B(_0x1e96b6){const _0x1327a2=a0_0x51e5;let _0x5f44f5=_0x1e96b6[_0x1327a2(0x257)](/[^a-zA-Z0-9\-_]/g,'-');return _0x5f44f5===''?_0x1327a2(0x209):_0x5f44f5;}import{Server as a0_0x4cdf5a}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x9ca236}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x466cbe,CallToolRequestSchema as a0_0x58e28e}from'@modelcontextprotocol/sdk/types.js';function T(_0x37698c){const _0x35b6d9=a0_0x51e5;if(!a0_0x5298bd(_0x37698c))return;for(let _0x5c0970 of a0_0x4a71cf(_0x37698c,_0x35b6d9(0x1fc))[_0x35b6d9(0x23d)]('\x0a')){let _0x51e593=_0x5c0970['trim']();if(!_0x51e593||_0x51e593[_0x35b6d9(0x250)]('#'))continue;let _0x3af32e=_0x51e593[_0x35b6d9(0x20e)]('=');if(_0x3af32e<0x0)continue;let _0x518ac5=_0x51e593[_0x35b6d9(0x281)](0x0,_0x3af32e)[_0x35b6d9(0x280)](),_0x2f4e5d=_0x51e593[_0x35b6d9(0x281)](_0x3af32e+0x1)[_0x35b6d9(0x280)]()[_0x35b6d9(0x257)](/^["']|["']$/g,'');if(!process.env[_0x518ac5])process.env[_0x518ac5]=_0x2f4e5d;}}var C=process.env.HOME||'~',r=a0_0x5b0fb5(C,a0_0x587abe(0x20f));T(a0_0x5b0fb5(r,a0_0x587abe(0x224)));var H=B(process[a0_0x587abe(0x222)]());T(a0_0x5b0fb5(r,H,'.env'));function a0_0x38d9(){const _0x432e86=['heartbeat\x20failed:\x20','none','SSE\x20fatal:\x20','object','Session\x20alias:\x20','offline','normal','get_inbox','Current\x20task\x20description','commhub_reply','replied','0.3.0','hub','startsWith','idle','SSE\x20connection\x20error:\x20','cancelled','send_reply','connected','blocked','replace','unknown\x20tool','notification','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(','pop','warning:\x20could\x20not\x20register:\x20','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','SIGTERM','parse','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','tmux\x20display-message\x20-p\x20\x27#S\x27','new_task','ready\x20—\x20waiting\x20for\x20events','2285512MbfoQA','14840361MlVvOH','\x20ALIAS=','→\x20injected\x20task\x20','Bearer\x20','re-registered\x20as\x20\x22','data:\x20','ENV:\x20URL=','task','Target\x20session\x20alias','SIGINT','re-register\x20failed:\x20','10nysabP','content','.anet','function','stringify','claude-code','length','new_message','no\x20response','params','fatal:\x20','kill','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','send_message','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','4184fBtlPa','trim','slice','broadcast','would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME=','POST','registered\x20as\x20\x22','exit','5304012LEPUsW','ppid','session\x20disconnected','min','stderr','connect','MCP\x20stdio\x20connected','\x20priority=','inbox_count','working','CommHub\x20init\x20failed:\x20','from_session','\x22\x20after\x20SSE\x20reconnect','...\x20TMUX=','10042VDKiiN','http://127.0.0.1:9200','number','commhub_report_status','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','string','from','error','Task\x20content','1125260QUkZvL','code','application/json,\x20text/event-stream','join','utf-8','decode','notifications/claude/channel','result','SSE\x20connected\x20as\x20\x22','/mcp','parent\x20claude\x20pid=','now','find','commhub-channel','status','SSE\x20error:\x20','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','unknown','set','2025-03-26','5083446HqOxaF','commhub','indexOf','.claude/channels/commhub','toTimeString','\x20from\x20','message','type','connecting\x20to\x20','text','priority','config.json','unattributed-','write','commhub_send_task','setRequestHandler','completed','54sKqixg','starting\x20SSE\x20listener...','in_progress','Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','stdin','cwd','failed','.env','Message\x20content','commhub_send_message','\x20no\x20longer\x20exists\x20(kill-0\x20ESRCH)\x20—\x20self-exit\x20to\x20avoid\x20ghost\x20heart-beat','\x20PROJECT_ENV=','delete','unref','(none)','/events/','then','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','ESRCH','alias','Progress\x200-100','Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','\x20RESUME_ID=','2.0','message_id','3237tXaJZS','SSE\x20stream\x20ended,\x20reconnecting...','messages','token',':\x20inbox_count=','catch','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','split','init\x20failed:\x20',')\x20—\x20self-exit\x20to\x20avoid\x20ghost\x20heart-beat','report_status','initialize','high'];a0_0x38d9=function(){return _0x432e86;};return a0_0x38d9();}function E(){const _0x101918=a0_0x587abe;try{return a0_0xc90d0(_0x101918(0x261),{'encoding':_0x101918(0x1fc),'timeout':0x7d0})[_0x101918(0x280)]();}catch{return'';}}function _(){const _0x1d67a3=a0_0x587abe;try{let _0x1d7740=a0_0x5b0fb5(C,_0x1d67a3(0x272),_0x1d67a3(0x217));if(a0_0x5298bd(_0x1d7740))return JSON[_0x1d67a3(0x25f)](a0_0x4a71cf(_0x1d7740,_0x1d67a3(0x1fc)));}catch{}return{};}var R=_(),Y=process.env.COMMHUB_URL||R[a0_0x587abe(0x24f)]||a0_0x587abe(0x1ef),j=process.env.COMMHUB_TMUX||E();function S(){const _0x549b1b=a0_0x587abe;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x549b1b(0x280)]())return process.env.COMMHUB_ALIAS[_0x549b1b(0x280)]();return process[_0x549b1b(0x1e4)][_0x549b1b(0x219)](_0x549b1b(0x1f2)+(_0x549b1b(0x283)+(j||_0x549b1b(0x22b))+'\x20/\x20hostname='+a0_0x162e43()+'.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a')),_0x549b1b(0x218)+process['pid'];}var p=S(),V=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x102173(),k=process.env.COMMHUB_TOKEN||R[a0_0x587abe(0x239)]||'';function z(_0x137bf3){const _0x17537f=a0_0x587abe;let _0x345728=new Date()[_0x17537f(0x210)]()['slice'](0x0,0x8);process[_0x17537f(0x1e4)]['write']('['+_0x345728+']\x20[commhub]\x20'+_0x137bf3+'\x0a');}function i(_0x4ffe80){return new Promise(_0x2a7093=>setTimeout(_0x2a7093,_0x4ffe80));}z(a0_0x587abe(0x26b)+Y+a0_0x587abe(0x266)+p+a0_0x587abe(0x233)+V[a0_0x587abe(0x281)](0x0,0x8)+a0_0x587abe(0x1ed)+(j||a0_0x587abe(0x244))+'\x20CWD='+process[a0_0x587abe(0x222)]()+a0_0x587abe(0x228)+H);var G=new Map(),K=new a0_0x4cdf5a({'name':a0_0x587abe(0x205),'version':a0_0x587abe(0x24e)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x587abe(0x25d),'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_0x587abe(0x27e),a0_0x587abe(0x247)+p][a0_0x587abe(0x1fb)]('\x0a')});K['setRequestHandler'](a0_0x466cbe,async()=>({'tools':[{'name':a0_0x587abe(0x24c),'description':a0_0x587abe(0x260),'inputSchema':{'type':a0_0x587abe(0x246),'properties':{'task_id':{'type':a0_0x587abe(0x1f4),'description':a0_0x587abe(0x208)},'text':{'type':'string','description':'Reply\x20text\x20/\x20result\x20summary'},'status':{'type':a0_0x587abe(0x1f4),'enum':[a0_0x587abe(0x21c),a0_0x587abe(0x223),'cancelled',a0_0x587abe(0x256),'error',a0_0x587abe(0x21f)],'description':a0_0x587abe(0x22e)}},'required':['text']}},{'name':a0_0x587abe(0x1f1),'description':a0_0x587abe(0x220),'inputSchema':{'type':a0_0x587abe(0x246),'properties':{'status':{'type':a0_0x587abe(0x1f4),'enum':[a0_0x587abe(0x1e9),'idle','blocked',a0_0x587abe(0x1f6)]},'task':{'type':a0_0x587abe(0x1f4),'description':a0_0x587abe(0x24b)},'progress':{'type':a0_0x587abe(0x1f0),'description':a0_0x587abe(0x231)}},'required':[a0_0x587abe(0x206)]}},{'name':a0_0x587abe(0x21a),'description':a0_0x587abe(0x232),'inputSchema':{'type':'object','properties':{'alias':{'type':a0_0x587abe(0x1f4),'description':a0_0x587abe(0x26d)},'task':{'type':a0_0x587abe(0x1f4),'description':a0_0x587abe(0x1f7)},'priority':{'type':a0_0x587abe(0x1f4),'enum':[a0_0x587abe(0x242),'normal','low'],'description':'Priority\x20(default:\x20normal)'}},'required':[a0_0x587abe(0x230),a0_0x587abe(0x26c)]}},{'name':a0_0x587abe(0x226),'description':a0_0x587abe(0x23c),'inputSchema':{'type':a0_0x587abe(0x246),'properties':{'alias':{'type':'string','description':a0_0x587abe(0x26d)},'message':{'type':'string','description':a0_0x587abe(0x225)}},'required':[a0_0x587abe(0x230),'message']}},{'name':'commhub_get_all_status','description':a0_0x587abe(0x27c),'inputSchema':{'type':'object','properties':{}}}]}));async function Q(_0x4f5628,_0x274d1e){const _0x1edacd=a0_0x587abe;let _0x1769e1=await fetch(Y+_0x1edacd(0x201),{'method':_0x1edacd(0x284),'headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream',...k?{'Authorization':_0x1edacd(0x268)+k}:{}},'body':JSON[_0x1edacd(0x274)]({'jsonrpc':_0x1edacd(0x234),'id':0x1,'method':_0x1edacd(0x241),'params':{'protocolVersion':_0x1edacd(0x20b),'capabilities':{},'clientInfo':{'name':_0x1edacd(0x205),'version':'0.3.0'}}})});if(!_0x1769e1['ok']){let _0xc7021=await _0x1769e1[_0x1edacd(0x215)]();return z(_0x1edacd(0x1ea)+_0x1769e1[_0x1edacd(0x206)]+'\x20'+_0xc7021[_0x1edacd(0x281)](0x0,0x64)),{'ok':!0x1,'error':_0x1edacd(0x23e)+_0x1769e1['status']};}await _0x1769e1[_0x1edacd(0x215)]();let _0x48255b=(await(await fetch(Y+_0x1edacd(0x201),{'method':_0x1edacd(0x284),'headers':{'Content-Type':'application/json','Accept':_0x1edacd(0x1fa),...k?{'Authorization':_0x1edacd(0x268)+k}:{}},'body':JSON['stringify']({'jsonrpc':_0x1edacd(0x234),'id':0x2,'method':'tools/call','params':{'name':_0x4f5628,'arguments':_0x274d1e}})}))[_0x1edacd(0x215)]())['split']('\x0a')[_0x1edacd(0x204)](_0x3c4c86=>_0x3c4c86[_0x1edacd(0x250)](_0x1edacd(0x26a)));if(_0x48255b){let _0x5916ff=JSON[_0x1edacd(0x25f)](_0x48255b[_0x1edacd(0x281)](0x6));return _0x5916ff?.[_0x1edacd(0x1ff)]?.[_0x1edacd(0x271)]?.[0x0]?.[_0x1edacd(0x215)]?JSON[_0x1edacd(0x25f)](_0x5916ff['result'][_0x1edacd(0x271)][0x0]['text']):_0x5916ff;}return{'ok':!0x1,'error':_0x1edacd(0x278)};}K[a0_0x587abe(0x21b)](a0_0x58e28e,async _0xb35a59=>{const _0x1c73e7=a0_0x587abe;let {name:_0x3c969e,arguments:_0xfdb947}=_0xb35a59[_0x1c73e7(0x279)];if(_0x3c969e===_0x1c73e7(0x24c)){let {task_id:_0x2dd6bc,text:_0x30a727,status:_0x37cd8f}=_0xfdb947;if(_0x37cd8f===_0x1c73e7(0x21c)||_0x37cd8f===_0x1c73e7(0x223)||_0x37cd8f===_0x1c73e7(0x253)){let _0x1057e0=_0x37cd8f===_0x1c73e7(0x21c)?_0x1c73e7(0x24d):_0x37cd8f,_0x5ec9f6=_0x2dd6bc?G['get'](_0x2dd6bc)||_0x1c73e7(0x24f):_0x1c73e7(0x24f),_0x376daf=await Q(_0x1c73e7(0x254),{'alias':_0x5ec9f6,'text':_0x30a727,'in_reply_to':_0x2dd6bc||void 0x0,'status':_0x1057e0,'from_session':p});if(_0x2dd6bc)G[_0x1c73e7(0x229)](_0x2dd6bc);return{'content':[{'type':'text','text':JSON[_0x1c73e7(0x274)](_0x376daf)}]};}let _0x1ded15=await Q(_0x1c73e7(0x240),{'resume_id':V,'alias':p,'status':_0x37cd8f===_0x1c73e7(0x256)?_0x1c73e7(0x256):_0x37cd8f==='error'?_0x1c73e7(0x1f6):_0x1c73e7(0x1e9),'task':_0x30a727['slice'](0x0,0xc8),'output':_0x30a727});return{'content':[{'type':_0x1c73e7(0x215),'text':JSON['stringify'](_0x1ded15)}]};}if(_0x3c969e===_0x1c73e7(0x1f1)){let {status:_0x3d9925,task:_0x240f77,progress:_0x5b2676}=_0xfdb947,_0x2f3118=await Q(_0x1c73e7(0x240),{'resume_id':V,'alias':p,'status':_0x3d9925,'task':_0x240f77,'progress':_0x5b2676});return{'content':[{'type':'text','text':JSON['stringify'](_0x2f3118)}]};}if(_0x3c969e==='commhub_send_task'){let {alias:_0x2fdb5c,task:_0x2401d8,priority:_0x47e3b7}=_0xfdb947,_0x41f6a4=await Q('send_task',{'alias':_0x2fdb5c,'task':_0x2401d8,'priority':_0x47e3b7||_0x1c73e7(0x249),'from_session':p});return{'content':[{'type':'text','text':JSON[_0x1c73e7(0x274)](_0x41f6a4)}]};}if(_0x3c969e===_0x1c73e7(0x226)){let {alias:_0x3e0f88,message:_0x560723}=_0xfdb947,_0x1929b3=await Q(_0x1c73e7(0x27d),{'alias':_0x3e0f88,'message':_0x560723,'from_session':p});return{'content':[{'type':'text','text':JSON['stringify'](_0x1929b3)}]};}if(_0x3c969e==='commhub_get_all_status'){let _0x3268a2=await Q('get_all_status',{});return{'content':[{'type':_0x1c73e7(0x215),'text':JSON[_0x1c73e7(0x274)](_0x3268a2)}]};}return{'content':[{'type':_0x1c73e7(0x215),'text':JSON[_0x1c73e7(0x274)]({'error':_0x1c73e7(0x258)})}]};});var D=0x3e8,v=0x7530,O=0x36ee80;async function m(){const _0x5f4b84=a0_0x587abe;try{await Q('report_status',{'resume_id':V,'alias':p,'status':_0x5f4b84(0x251),'server':a0_0x162e43(),'hostname':a0_0x162e43(),'agent':_0x5f4b84(0x275),'project_dir':process[_0x5f4b84(0x222)](),'tmux_name':j||void 0x0}),z(_0x5f4b84(0x269)+p+_0x5f4b84(0x1ec));}catch(_0x2a7b52){z(_0x5f4b84(0x26f)+_0x2a7b52);}}async function l(){const _0x27763e=a0_0x587abe;let _0xa6e9b6=Y+_0x27763e(0x22c)+encodeURIComponent(p),_0x4289b2={};if(k)_0x4289b2['Authorization']=_0x27763e(0x268)+k;z(_0x27763e(0x214)+_0xa6e9b6);let _0x420f43=D,_0x2c8291=!0x0,_0xc90ae3=null;while(!0x0){try{let _0x3dec73=await fetch(_0xa6e9b6,{'headers':_0x4289b2});if(!_0x3dec73['ok']){if(z(_0x27763e(0x207)+_0x3dec73[_0x27763e(0x206)]+'\x20'+_0x3dec73['statusText']),_0xc90ae3=_0xc90ae3??Date['now'](),Date[_0x27763e(0x203)]()-_0xc90ae3>O){z('SSE\x20连续\x20>1h\x20连不上\x20hub\x20('+Y+_0x27763e(0x1f3));return;}await i(_0x420f43),_0x420f43=Math[_0x27763e(0x1e3)](_0x420f43*0x2,v);continue;}let _0x5bc241=_0x3dec73['body']['getReader'](),_0xfa016d=new TextDecoder(),_0x2e3d50='';_0x420f43=D;while(!0x0){let {done:_0x4efede,value:_0x33cdb8}=await _0x5bc241['read']();if(_0x4efede)break;_0x2e3d50+=_0xfa016d[_0x27763e(0x1fd)](_0x33cdb8,{'stream':!0x0});let _0x5d9bbd=_0x2e3d50[_0x27763e(0x23d)]('\x0a\x0a');_0x2e3d50=_0x5d9bbd[_0x27763e(0x25b)]()||'';for(let _0x57dc20 of _0x5d9bbd){let _0x56eb3e=_0x57dc20[_0x27763e(0x23d)]('\x0a')['find'](_0x31f1cc=>_0x31f1cc[_0x27763e(0x250)](_0x27763e(0x26a)));if(!_0x56eb3e)continue;try{let _0x4967f7=JSON[_0x27763e(0x25f)](_0x56eb3e['slice'](0x6));if(await A(_0x4967f7),_0x4967f7[_0x27763e(0x213)]===_0x27763e(0x255)){if(_0xc90ae3=null,!_0x2c8291)await m();_0x2c8291=!0x1;}}catch(_0xb132fc){z('parse\x20error:\x20'+_0xb132fc);}}}z(_0x27763e(0x237));}catch(_0x3f5865){z(_0x27763e(0x252)+_0x3f5865);}if(_0xc90ae3=_0xc90ae3??Date[_0x27763e(0x203)](),Date[_0x27763e(0x203)]()-_0xc90ae3>O){z(_0x27763e(0x25a)+Y+_0x27763e(0x1f3));return;}await i(_0x420f43),_0x420f43=Math[_0x27763e(0x1e3)](_0x420f43*0x2,v);}}async function A(_0x348ad5){const _0x139558=a0_0x587abe;if(_0x348ad5[_0x139558(0x213)]===_0x139558(0x255)){z(_0x139558(0x200)+p+'\x22');return;}if(_0x348ad5[_0x139558(0x213)]===_0x139558(0x277)){if(z('←\x20message\x20from\x20'+_0x348ad5[_0x139558(0x1f5)]+':\x20'+_0x348ad5['message'][_0x139558(0x281)](0x0,0x3c)),await K[_0x139558(0x259)]({'method':_0x139558(0x1fe),'params':{'content':_0x348ad5[_0x139558(0x212)],'meta':{'sender':_0x348ad5[_0x139558(0x1f5)]||_0x139558(0x24f),'sender_id':_0x139558(0x20d),'user':_0x348ad5[_0x139558(0x1f5)]||_0x139558(0x24f),'priority':'normal'}}}),_0x348ad5['message_id'])await Q('ack_inbox',{'alias':p,'message_id':_0x348ad5[_0x139558(0x235)]});return;}if(_0x348ad5[_0x139558(0x213)]===_0x139558(0x262)||_0x348ad5[_0x139558(0x213)]===_0x139558(0x282)){z('←\x20'+_0x348ad5['type']+_0x139558(0x23a)+_0x348ad5[_0x139558(0x1e8)]+_0x139558(0x1e7)+(_0x348ad5[_0x139558(0x216)]||_0x139558(0x249)));let _0x415053=await Q(_0x139558(0x24a),{'alias':p,'limit':0x5});if(_0x415053?.['ok']&&_0x415053[_0x139558(0x238)]?.[_0x139558(0x276)]>0x0)for(let _0xeb97d0 of _0x415053['messages']){let _0x44b8f8={'sender':_0xeb97d0[_0x139558(0x1eb)]||_0x139558(0x24f),'sender_id':_0x139558(0x20d),'user':_0xeb97d0[_0x139558(0x1eb)]||_0x139558(0x24f),'task_id':_0xeb97d0['id'],'priority':_0xeb97d0[_0x139558(0x216)]||_0x139558(0x249)};G[_0x139558(0x20a)](_0xeb97d0['id'],_0xeb97d0[_0x139558(0x1eb)]||'hub'),await K[_0x139558(0x259)]({'method':_0x139558(0x1fe),'params':{'content':_0xeb97d0['content'],'meta':_0x44b8f8}}),z(_0x139558(0x267)+_0xeb97d0['id']['slice'](0x0,0x8)+_0x139558(0x211)+_0xeb97d0[_0x139558(0x1eb)]+':\x20'+_0xeb97d0['content'][_0x139558(0x281)](0x0,0x3c)),await Q('ack_inbox',{'alias':p,'message_id':_0xeb97d0['id']});}}}async function t(){const _0x170fe8=a0_0x587abe;let _0x5d052e=new a0_0x9ca236();await K[_0x170fe8(0x1e5)](_0x5d052e),z(_0x170fe8(0x1e6)),z(_0x170fe8(0x21e)),l()[_0x170fe8(0x23b)](_0x3514c0=>z(_0x170fe8(0x245)+_0x3514c0)),Q(_0x170fe8(0x240),{'resume_id':V,'alias':p,'status':'idle','server':a0_0x162e43(),'hostname':a0_0x162e43(),'agent':_0x170fe8(0x275),'project_dir':process[_0x170fe8(0x222)](),'tmux_name':j||void 0x0})[_0x170fe8(0x22d)](()=>z(_0x170fe8(0x285)+p+'\x22\x20('+V[_0x170fe8(0x281)](0x0,0x8)+')'))['catch'](_0x2e2888=>z(_0x170fe8(0x25c)+_0x2e2888)),setInterval(()=>{const _0x11f38b=_0x170fe8;Q(_0x11f38b(0x240),{'resume_id':V,'alias':p,'status':_0x11f38b(0x251),'server':a0_0x162e43(),'hostname':a0_0x162e43(),'agent':_0x11f38b(0x275),'project_dir':process[_0x11f38b(0x222)](),'tmux_name':j||void 0x0})[_0x11f38b(0x23b)](_0xb13bdc=>z(_0x11f38b(0x243)+_0xb13bdc));},0x2bf20),z(_0x170fe8(0x263));}t()[a0_0x587abe(0x23b)](_0x3a3995=>{const _0x5decca=a0_0x587abe;z(_0x5decca(0x27a)+_0x3a3995),process[_0x5decca(0x286)](0x1);});async function b(){const _0xd8e570=a0_0x587abe;z('shutting\x20down,\x20reporting\x20offline...'),await Q(_0xd8e570(0x240),{'resume_id':V,'alias':p,'status':_0xd8e570(0x248),'task':_0xd8e570(0x289)})['catch'](()=>{}),process[_0xd8e570(0x286)](0x0);}process[a0_0x587abe(0x221)]['on']('end',()=>b()),process['on'](a0_0x587abe(0x25e),()=>b()),process['on'](a0_0x587abe(0x26e),()=>b());var d=process['ppid'];if(d&&d>0x1){let h=setInterval(()=>{const _0x3086fd=a0_0x587abe;if(process[_0x3086fd(0x288)]===0x1&&d!==0x1){z('parent\x20claude\x20died\x20(reparented\x20to\x20PID\x201\x20from\x20'+d+_0x3086fd(0x23f)),b();return;}try{process[_0x3086fd(0x27b)](d,0x0);}catch(_0x51ca61){if(_0x51ca61?.[_0x3086fd(0x1f9)]===_0x3086fd(0x22f))z(_0x3086fd(0x202)+d+_0x3086fd(0x227)),b();}},0x7530);if(typeof h[a0_0x587abe(0x22a)]===a0_0x587abe(0x273))h[a0_0x587abe(0x22a)]();}
|
|
2
|
+
const a0_0x495e06=a0_0x4a96;(function(_0x1e013b,_0x1e0976){const _0x5d769d=a0_0x4a96,_0x1752e4=_0x1e013b();while(!![]){try{const _0x45fcd0=-parseInt(_0x5d769d(0xb0))/0x1+-parseInt(_0x5d769d(0x86))/0x2*(parseInt(_0x5d769d(0xac))/0x3)+-parseInt(_0x5d769d(0x99))/0x4+-parseInt(_0x5d769d(0xba))/0x5+-parseInt(_0x5d769d(0x9b))/0x6*(-parseInt(_0x5d769d(0xec))/0x7)+-parseInt(_0x5d769d(0xf4))/0x8+-parseInt(_0x5d769d(0x117))/0x9*(-parseInt(_0x5d769d(0xd8))/0xa);if(_0x45fcd0===_0x1e0976)break;else _0x1752e4['push'](_0x1752e4['shift']());}catch(_0x317ec1){_0x1752e4['push'](_0x1752e4['shift']());}}}(a0_0x4896,0xdedbc));import{readFileSync as a0_0x5ac577,existsSync as a0_0x1e080e}from'fs';import{randomUUID as a0_0x5e37c1}from'crypto';function a0_0x4a96(_0x18dae0,_0x1c2b9e){_0x18dae0=_0x18dae0-0x7e;const _0x489648=a0_0x4896();let _0x4a962a=_0x489648[_0x18dae0];return _0x4a962a;}function a0_0x4896(){const _0x4956e8=['Update\x20this\x20session\x27s\x20status\x20in\x20CommHub\x20(working/idle/blocked/error).\x20Returns\x20inbox_count.','tmux\x20display-message\x20-p\x20\x27#S\x27','length','messages','commhub_report_status','result',')\x20—\x20放弃自动重连。手动\x20anet\x20node\x20start\x20恢复。','indexOf','high','initialize','task','now','replied','2.0','object','172312Rkuirk','Reply\x20text\x20/\x20result\x20summary','type','parent\x20claude\x20pid=','join','startsWith','Bearer\x20','heartbeat\x20failed:\x20','.\x20Restart\x20node\x20via\x20`anet\x20node\x20start\x20<alias>`\x20so\x20the\x20env\x20is\x20set\x20explicitly\x20(#203).\x0a','unknown\x20tool','config.json','claude-code','\x20CWD=','Message\x20content','get_inbox','setRequestHandler','Priority\x20(default:\x20normal)','new_message','idle','6669380XsCTEH','connecting\x20to\x20','6078CULIwX','connect','unref','\x20from\x20','priority','You\x20can\x20also\x20use\x20commhub_report_status\x20to\x20update\x20your\x20session\x20status.','completed',']\x20[commhub]\x20','data:\x20','SIGTERM','.claude/channels/commhub','re-register\x20failed:\x20','set','MCP\x20stdio\x20connected','find','Progress\x200-100','[commhub]\x20WARN:\x20COMMHUB_ALIAS\x20env\x20var\x20is\x20unset\x20—\x20outbound\x20from_session\x20','24DCOwyf','parse','\x20PROJECT_ENV=','body','1705992kVEXUS','message','status','delete','cwd','alias','\x20no\x20longer\x20exists\x20(kill-0\x20ESRCH)\x20—\x20self-exit\x20to\x20avoid\x20ghost\x20heart-beat','failed','getReader','Current\x20task\x20description','4740845aGgDXN','\x22\x20(','replace','.env','ENV:\x20URL=','blocked','notifications/claude/channel','commhub-channel','offline','ready\x20—\x20waiting\x20for\x20events','error','pid','end','Reply\x20using\x20the\x20commhub_reply\x20tool\x20to\x20report\x20status\x20or\x20results\x20back.','exit','SSE\x20stream\x20ended,\x20reconnecting...','stdin','\x20priority=','SIGINT','from','POST','cancelled','write','\x20ALIAS=','number','application/json,\x20text/event-stream','Authorization','←\x20message\x20from\x20','warning:\x20could\x20not\x20register:\x20','read','20FlzVUn','normal','split','Task\x20content','then','content','catch','SSE\x20fatal:\x20','(none)','commhub','from_session','message_id','re-registered\x20as\x20\x22','Reply\x20to\x20a\x20CommHub\x20task\x20—\x20report\x20completion\x20or\x20send\x20a\x20message\x20back\x20to\x20the\x20hub.','SSE\x20connection\x20error:\x20','hub','utf-8','The\x20task_id\x20from\x20the\x20channel\x20message\x20(or\x20\x27hub\x27\x20for\x20general)','no\x20response','commhub_send_message','2569quxnwK','SSE\x20连续\x20>1h\x20连不上\x20hub\x20(',')\x20—\x20self-exit\x20to\x20avoid\x20ghost\x20heart-beat','Task\x20outcome:\x20completed/failed/cancelled\x20for\x20final\x20results,\x20blocked/error/in_progress\x20for\x20status\x20updates','min','session\x20disconnected','commhub_reply','unknown','9301896nCAfOf','trim','stderr','slice','SSE\x20error:\x20','These\x20are\x20tasks\x20dispatched\x20by\x20the\x20hub\x20or\x20other\x20sessions\x20via\x20the\x20CommHub\x20Server.','0.3.0','decode','ESRCH','.anet','\x20RESUME_ID=','/mcp','code','report_status','Target\x20session\x20alias','notification','function','string','working','\x20/\x20hostname=','commhub_get_all_status','Send\x20a\x20message\x20to\x20another\x20session\x20(no\x20task\x20lifecycle,\x20just\x20chat).\x20Use\x20for\x20replies\x20and\x20status\x20updates.','token','Get\x20status\x20of\x20all\x20sessions\x20from\x20CommHub.','text','toTimeString','application/json','registered\x20as\x20\x22','ppid','params','Messages\x20from\x20CommHub\x20arrive\x20as\x20<channel\x20source=\x22commhub\x22\x20task_id=\x22...\x22\x20priority=\x22...\x22\x20from=\x22...\x22>','parse\x20error:\x20','inbox_count','commhub_send_task','stringify','30215466wkMBAg'];a0_0x4896=function(){return _0x4956e8;};return a0_0x4896();}import{join as a0_0x1cc441}from'path';import{hostname as a0_0x503554}from'os';import{execSync as a0_0x4a4f5f}from'child_process';function B(_0x3e81c2){const _0x5ef63f=a0_0x4a96;let _0x537cce=_0x3e81c2[_0x5ef63f(0xbc)](/[^a-zA-Z0-9\-_]/g,'-');return _0x537cce===''?_0x5ef63f(0xf3):_0x537cce;}import{Server as a0_0x2795f7}from'@modelcontextprotocol/sdk/server/index.js';import{StdioServerTransport as a0_0x5490ae}from'@modelcontextprotocol/sdk/server/stdio.js';import{ListToolsRequestSchema as a0_0x383eac,CallToolRequestSchema as a0_0xc0ab6c}from'@modelcontextprotocol/sdk/types.js';function T(_0x3ce578){const _0x5eaf68=a0_0x4a96;if(!a0_0x1e080e(_0x3ce578))return;for(let _0x3e25fc of a0_0x5ac577(_0x3ce578,_0x5eaf68(0xe8))[_0x5eaf68(0xda)]('\x0a')){let _0x306de0=_0x3e25fc['trim']();if(!_0x306de0||_0x306de0[_0x5eaf68(0x8b)]('#'))continue;let _0x58a501=_0x306de0[_0x5eaf68(0x7e)]('=');if(_0x58a501<0x0)continue;let _0x4ed5ea=_0x306de0[_0x5eaf68(0xf7)](0x0,_0x58a501)[_0x5eaf68(0xf5)](),_0x4c4bb5=_0x306de0['slice'](_0x58a501+0x1)[_0x5eaf68(0xf5)]()[_0x5eaf68(0xbc)](/^["']|["']$/g,'');if(!process.env[_0x4ed5ea])process.env[_0x4ed5ea]=_0x4c4bb5;}}var C=process.env.HOME||'~',r=a0_0x1cc441(C,a0_0x495e06(0xa5));T(a0_0x1cc441(r,a0_0x495e06(0xbd)));var H=B(process[a0_0x495e06(0xb4)]());T(a0_0x1cc441(r,H,'.env'));function E(){const _0x35b67f=a0_0x495e06;try{return a0_0x4a4f5f(_0x35b67f(0x119),{'encoding':'utf-8','timeout':0x7d0})['trim']();}catch{return'';}}function _(){const _0x41bc99=a0_0x495e06;try{let _0x465a98=a0_0x1cc441(C,_0x41bc99(0xfd),_0x41bc99(0x90));if(a0_0x1e080e(_0x465a98))return JSON['parse'](a0_0x5ac577(_0x465a98,_0x41bc99(0xe8)));}catch{}return{};}var R=_(),Y=process.env.COMMHUB_URL||R[a0_0x495e06(0xe7)]||'http://127.0.0.1:9200',j=process.env.COMMHUB_TMUX||E();function S(){const _0x33372d=a0_0x495e06;if(process.env.COMMHUB_ALIAS&&process.env.COMMHUB_ALIAS[_0x33372d(0xf5)]())return process.env.COMMHUB_ALIAS['trim']();return process[_0x33372d(0xf6)][_0x33372d(0xd0)](_0x33372d(0xab)+('would\x20mis-attribute.\x20Refusing\x20to\x20guess\x20from\x20TMUX_NAME='+(j||_0x33372d(0xe0))+_0x33372d(0x107)+a0_0x503554()+_0x33372d(0x8e))),'unattributed-'+process[_0x33372d(0xc5)];}var p=S(),V=process.env.COMMHUB_RESUME_ID||process.env.CLAUDE_RESUME_ID||a0_0x5e37c1(),k=process.env.COMMHUB_TOKEN||R[a0_0x495e06(0x10a)]||'';function z(_0x2c5d22){const _0x5ac8d6=a0_0x495e06;let _0x2c5fec=new Date()[_0x5ac8d6(0x10d)]()['slice'](0x0,0x8);process[_0x5ac8d6(0xf6)]['write']('['+_0x2c5fec+_0x5ac8d6(0xa2)+_0x2c5d22+'\x0a');}function i(_0x3f656b){return new Promise(_0x3e6622=>setTimeout(_0x3e6622,_0x3f656b));}z(a0_0x495e06(0xbe)+Y+a0_0x495e06(0xd1)+p+a0_0x495e06(0xfe)+V['slice'](0x0,0x8)+'...\x20TMUX='+(j||'none')+a0_0x495e06(0x92)+process[a0_0x495e06(0xb4)]()+a0_0x495e06(0xae)+H);var G=new Map(),K=new a0_0x2795f7({'name':a0_0x495e06(0xc1),'version':a0_0x495e06(0xfa)},{'capabilities':{'experimental':{'claude/channel':{}},'tools':{}},'instructions':[a0_0x495e06(0x112),a0_0x495e06(0xf9),a0_0x495e06(0xc7),a0_0x495e06(0xa0),'Session\x20alias:\x20'+p][a0_0x495e06(0x8a)]('\x0a')});K[a0_0x495e06(0x95)](a0_0x383eac,async()=>({'tools':[{'name':a0_0x495e06(0xf2),'description':a0_0x495e06(0xe5),'inputSchema':{'type':a0_0x495e06(0x85),'properties':{'task_id':{'type':'string','description':a0_0x495e06(0xe9)},'text':{'type':a0_0x495e06(0x105),'description':a0_0x495e06(0x87)},'status':{'type':a0_0x495e06(0x105),'enum':['completed',a0_0x495e06(0xb7),a0_0x495e06(0xcf),'blocked',a0_0x495e06(0xc4),'in_progress'],'description':a0_0x495e06(0xef)}},'required':[a0_0x495e06(0x10c)]}},{'name':a0_0x495e06(0x11c),'description':a0_0x495e06(0x118),'inputSchema':{'type':a0_0x495e06(0x85),'properties':{'status':{'type':'string','enum':[a0_0x495e06(0x106),a0_0x495e06(0x98),a0_0x495e06(0xbf),a0_0x495e06(0xc4)]},'task':{'type':a0_0x495e06(0x105),'description':a0_0x495e06(0xb9)},'progress':{'type':a0_0x495e06(0xd2),'description':a0_0x495e06(0xaa)}},'required':[a0_0x495e06(0xb2)]}},{'name':a0_0x495e06(0x115),'description':'Send\x20a\x20task\x20to\x20another\x20session\x20via\x20CommHub.','inputSchema':{'type':a0_0x495e06(0x85),'properties':{'alias':{'type':a0_0x495e06(0x105),'description':a0_0x495e06(0x102)},'task':{'type':a0_0x495e06(0x105),'description':a0_0x495e06(0xdb)},'priority':{'type':'string','enum':[a0_0x495e06(0x7f),a0_0x495e06(0xd9),'low'],'description':a0_0x495e06(0x96)}},'required':[a0_0x495e06(0xb5),a0_0x495e06(0x81)]}},{'name':'commhub_send_message','description':a0_0x495e06(0x109),'inputSchema':{'type':a0_0x495e06(0x85),'properties':{'alias':{'type':a0_0x495e06(0x105),'description':a0_0x495e06(0x102)},'message':{'type':'string','description':a0_0x495e06(0x93)}},'required':[a0_0x495e06(0xb5),a0_0x495e06(0xb1)]}},{'name':'commhub_get_all_status','description':a0_0x495e06(0x10b),'inputSchema':{'type':'object','properties':{}}}]}));async function Q(_0x5385d8,_0x11fbf7){const _0x3bae27=a0_0x495e06;let _0x59afde=await fetch(Y+'/mcp',{'method':_0x3bae27(0xce),'headers':{'Content-Type':_0x3bae27(0x10e),'Accept':_0x3bae27(0xd3),...k?{'Authorization':_0x3bae27(0x8c)+k}:{}},'body':JSON[_0x3bae27(0x116)]({'jsonrpc':_0x3bae27(0x84),'id':0x1,'method':_0x3bae27(0x80),'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x3bae27(0xc1),'version':'0.3.0'}}})});if(!_0x59afde['ok']){let _0x48eef1=await _0x59afde['text']();return z('CommHub\x20init\x20failed:\x20'+_0x59afde[_0x3bae27(0xb2)]+'\x20'+_0x48eef1[_0x3bae27(0xf7)](0x0,0x64)),{'ok':!0x1,'error':'init\x20failed:\x20'+_0x59afde[_0x3bae27(0xb2)]};}await _0x59afde['text']();let _0xd9c15b=(await(await fetch(Y+_0x3bae27(0xff),{'method':_0x3bae27(0xce),'headers':{'Content-Type':'application/json','Accept':_0x3bae27(0xd3),...k?{'Authorization':_0x3bae27(0x8c)+k}:{}},'body':JSON[_0x3bae27(0x116)]({'jsonrpc':_0x3bae27(0x84),'id':0x2,'method':'tools/call','params':{'name':_0x5385d8,'arguments':_0x11fbf7}})}))[_0x3bae27(0x10c)]())['split']('\x0a')[_0x3bae27(0xa9)](_0x17eba2=>_0x17eba2[_0x3bae27(0x8b)](_0x3bae27(0xa3)));if(_0xd9c15b){let _0x140d1d=JSON[_0x3bae27(0xad)](_0xd9c15b[_0x3bae27(0xf7)](0x6));return _0x140d1d?.[_0x3bae27(0x11d)]?.[_0x3bae27(0xdd)]?.[0x0]?.[_0x3bae27(0x10c)]?JSON[_0x3bae27(0xad)](_0x140d1d[_0x3bae27(0x11d)][_0x3bae27(0xdd)][0x0][_0x3bae27(0x10c)]):_0x140d1d;}return{'ok':!0x1,'error':_0x3bae27(0xea)};}K['setRequestHandler'](a0_0xc0ab6c,async _0x5994a2=>{const _0x42a335=a0_0x495e06;let {name:_0x371a8b,arguments:_0x1ab95a}=_0x5994a2[_0x42a335(0x111)];if(_0x371a8b===_0x42a335(0xf2)){let {task_id:_0x231f2e,text:_0x29e08b,status:_0x53019d}=_0x1ab95a;if(_0x53019d===_0x42a335(0xa1)||_0x53019d==='failed'||_0x53019d===_0x42a335(0xcf)){let _0x32c35e=_0x53019d==='completed'?_0x42a335(0x83):_0x53019d,_0x5be268=_0x231f2e?G['get'](_0x231f2e)||_0x42a335(0xe7):_0x42a335(0xe7),_0x122cc1=await Q('send_reply',{'alias':_0x5be268,'text':_0x29e08b,'in_reply_to':_0x231f2e||void 0x0,'status':_0x32c35e,'from_session':p});if(_0x231f2e)G[_0x42a335(0xb3)](_0x231f2e);return{'content':[{'type':'text','text':JSON['stringify'](_0x122cc1)}]};}let _0x1b83f9=await Q('report_status',{'resume_id':V,'alias':p,'status':_0x53019d==='blocked'?_0x42a335(0xbf):_0x53019d===_0x42a335(0xc4)?_0x42a335(0xc4):_0x42a335(0x106),'task':_0x29e08b[_0x42a335(0xf7)](0x0,0xc8),'output':_0x29e08b});return{'content':[{'type':'text','text':JSON[_0x42a335(0x116)](_0x1b83f9)}]};}if(_0x371a8b===_0x42a335(0x11c)){let {status:_0x3f5fa0,task:_0x38e9a6,progress:_0x1e3261}=_0x1ab95a,_0xc80cfe=await Q('report_status',{'resume_id':V,'alias':p,'status':_0x3f5fa0,'task':_0x38e9a6,'progress':_0x1e3261});return{'content':[{'type':_0x42a335(0x10c),'text':JSON[_0x42a335(0x116)](_0xc80cfe)}]};}if(_0x371a8b===_0x42a335(0x115)){let {alias:_0x76365c,task:_0xbd8635,priority:_0x525d67}=_0x1ab95a,_0x2b971e=await Q('send_task',{'alias':_0x76365c,'task':_0xbd8635,'priority':_0x525d67||_0x42a335(0xd9),'from_session':p});return{'content':[{'type':'text','text':JSON['stringify'](_0x2b971e)}]};}if(_0x371a8b===_0x42a335(0xeb)){let {alias:_0x26a4dd,message:_0x1b2eef}=_0x1ab95a,_0x577adb=await Q('send_message',{'alias':_0x26a4dd,'message':_0x1b2eef,'from_session':p});return{'content':[{'type':_0x42a335(0x10c),'text':JSON[_0x42a335(0x116)](_0x577adb)}]};}if(_0x371a8b===_0x42a335(0x108)){let _0x1b2456=await Q('get_all_status',{});return{'content':[{'type':'text','text':JSON[_0x42a335(0x116)](_0x1b2456)}]};}return{'content':[{'type':_0x42a335(0x10c),'text':JSON['stringify']({'error':_0x42a335(0x8f)})}]};});var D=0x3e8,v=0x7530,O=0x36ee80;async function m(){const _0xe1bac3=a0_0x495e06;try{await Q('report_status',{'resume_id':V,'alias':p,'status':_0xe1bac3(0x98),'server':a0_0x503554(),'hostname':a0_0x503554(),'agent':_0xe1bac3(0x91),'project_dir':process['cwd'](),'tmux_name':j||void 0x0}),z(_0xe1bac3(0xe4)+p+'\x22\x20after\x20SSE\x20reconnect');}catch(_0x248998){z(_0xe1bac3(0xa6)+_0x248998);}}async function l(){const _0x31ef1b=a0_0x495e06;let _0xd716ca=Y+'/events/'+encodeURIComponent(p),_0x34b3ba={};if(k)_0x34b3ba[_0x31ef1b(0xd4)]=_0x31ef1b(0x8c)+k;z(_0x31ef1b(0x9a)+_0xd716ca);let _0x361ea5=D,_0x2b049a=!0x0,_0x45445d=null;while(!0x0){try{let _0x40cf03=await fetch(_0xd716ca,{'headers':_0x34b3ba});if(!_0x40cf03['ok']){if(z(_0x31ef1b(0xf8)+_0x40cf03[_0x31ef1b(0xb2)]+'\x20'+_0x40cf03['statusText']),_0x45445d=_0x45445d??Date[_0x31ef1b(0x82)](),Date[_0x31ef1b(0x82)]()-_0x45445d>O){z(_0x31ef1b(0xed)+Y+_0x31ef1b(0x11e));return;}await i(_0x361ea5),_0x361ea5=Math[_0x31ef1b(0xf0)](_0x361ea5*0x2,v);continue;}let _0x2cbc27=_0x40cf03[_0x31ef1b(0xaf)][_0x31ef1b(0xb8)](),_0x3414ad=new TextDecoder(),_0x360e2d='';_0x361ea5=D;while(!0x0){let {done:_0x5d87a9,value:_0x4201f2}=await _0x2cbc27[_0x31ef1b(0xd7)]();if(_0x5d87a9)break;_0x360e2d+=_0x3414ad[_0x31ef1b(0xfb)](_0x4201f2,{'stream':!0x0});let _0x555f2e=_0x360e2d['split']('\x0a\x0a');_0x360e2d=_0x555f2e['pop']()||'';for(let _0x2e6e52 of _0x555f2e){let _0xc94afa=_0x2e6e52[_0x31ef1b(0xda)]('\x0a')[_0x31ef1b(0xa9)](_0x1a61fd=>_0x1a61fd[_0x31ef1b(0x8b)]('data:\x20'));if(!_0xc94afa)continue;try{let _0x4e6d3d=JSON[_0x31ef1b(0xad)](_0xc94afa[_0x31ef1b(0xf7)](0x6));if(await A(_0x4e6d3d),_0x4e6d3d[_0x31ef1b(0x88)]==='connected'){if(_0x45445d=null,!_0x2b049a)await m();_0x2b049a=!0x1;}}catch(_0xa3bed0){z(_0x31ef1b(0x113)+_0xa3bed0);}}}z(_0x31ef1b(0xc9));}catch(_0x520192){z(_0x31ef1b(0xe6)+_0x520192);}if(_0x45445d=_0x45445d??Date[_0x31ef1b(0x82)](),Date[_0x31ef1b(0x82)]()-_0x45445d>O){z(_0x31ef1b(0xed)+Y+_0x31ef1b(0x11e));return;}await i(_0x361ea5),_0x361ea5=Math[_0x31ef1b(0xf0)](_0x361ea5*0x2,v);}}async function A(_0x42b582){const _0x45e28a=a0_0x495e06;if(_0x42b582[_0x45e28a(0x88)]==='connected'){z('SSE\x20connected\x20as\x20\x22'+p+'\x22');return;}if(_0x42b582[_0x45e28a(0x88)]===_0x45e28a(0x97)){if(z(_0x45e28a(0xd5)+_0x42b582['from']+':\x20'+_0x42b582[_0x45e28a(0xb1)][_0x45e28a(0xf7)](0x0,0x3c)),await K[_0x45e28a(0x103)]({'method':'notifications/claude/channel','params':{'content':_0x42b582['message'],'meta':{'sender':_0x42b582[_0x45e28a(0xcd)]||_0x45e28a(0xe7),'sender_id':'commhub','user':_0x42b582[_0x45e28a(0xcd)]||_0x45e28a(0xe7),'priority':_0x45e28a(0xd9)}}}),_0x42b582[_0x45e28a(0xe3)])await Q('ack_inbox',{'alias':p,'message_id':_0x42b582[_0x45e28a(0xe3)]});return;}if(_0x42b582['type']==='new_task'||_0x42b582[_0x45e28a(0x88)]==='broadcast'){z('←\x20'+_0x42b582['type']+':\x20inbox_count='+_0x42b582[_0x45e28a(0x114)]+_0x45e28a(0xcb)+(_0x42b582[_0x45e28a(0x9f)]||_0x45e28a(0xd9)));let _0x37b66b=await Q(_0x45e28a(0x94),{'alias':p,'limit':0x5});if(_0x37b66b?.['ok']&&_0x37b66b['messages']?.[_0x45e28a(0x11a)]>0x0)for(let _0x1cd58f of _0x37b66b[_0x45e28a(0x11b)]){let _0x2e0be6={'sender':_0x1cd58f[_0x45e28a(0xe2)]||_0x45e28a(0xe7),'sender_id':_0x45e28a(0xe1),'user':_0x1cd58f[_0x45e28a(0xe2)]||_0x45e28a(0xe7),'task_id':_0x1cd58f['id'],'priority':_0x1cd58f[_0x45e28a(0x9f)]||_0x45e28a(0xd9)};G[_0x45e28a(0xa7)](_0x1cd58f['id'],_0x1cd58f[_0x45e28a(0xe2)]||_0x45e28a(0xe7)),await K[_0x45e28a(0x103)]({'method':_0x45e28a(0xc0),'params':{'content':_0x1cd58f[_0x45e28a(0xdd)],'meta':_0x2e0be6}}),z('→\x20injected\x20task\x20'+_0x1cd58f['id'][_0x45e28a(0xf7)](0x0,0x8)+_0x45e28a(0x9e)+_0x1cd58f[_0x45e28a(0xe2)]+':\x20'+_0x1cd58f[_0x45e28a(0xdd)][_0x45e28a(0xf7)](0x0,0x3c)),await Q('ack_inbox',{'alias':p,'message_id':_0x1cd58f['id']});}}}async function t(){const _0x265203=a0_0x495e06;let _0x5f1c55=new a0_0x5490ae();await K[_0x265203(0x9c)](_0x5f1c55),z(_0x265203(0xa8)),z('starting\x20SSE\x20listener...'),l()['catch'](_0x5aabd8=>z(_0x265203(0xdf)+_0x5aabd8)),Q('report_status',{'resume_id':V,'alias':p,'status':_0x265203(0x98),'server':a0_0x503554(),'hostname':a0_0x503554(),'agent':_0x265203(0x91),'project_dir':process['cwd'](),'tmux_name':j||void 0x0})[_0x265203(0xdc)](()=>z(_0x265203(0x10f)+p+_0x265203(0xbb)+V[_0x265203(0xf7)](0x0,0x8)+')'))[_0x265203(0xde)](_0x4abe0a=>z(_0x265203(0xd6)+_0x4abe0a)),setInterval(()=>{const _0xa6404c=_0x265203;Q(_0xa6404c(0x101),{'resume_id':V,'alias':p,'status':'idle','server':a0_0x503554(),'hostname':a0_0x503554(),'agent':'claude-code','project_dir':process[_0xa6404c(0xb4)](),'tmux_name':j||void 0x0})[_0xa6404c(0xde)](_0x23e569=>z(_0xa6404c(0x8d)+_0x23e569));},0x2bf20),z(_0x265203(0xc3));}t()[a0_0x495e06(0xde)](_0x43922f=>{const _0x2431fb=a0_0x495e06;z('fatal:\x20'+_0x43922f),process[_0x2431fb(0xc8)](0x1);});async function b(){const _0x451cb3=a0_0x495e06;z('shutting\x20down,\x20reporting\x20offline...'),await Q('report_status',{'resume_id':V,'alias':p,'status':_0x451cb3(0xc2),'task':_0x451cb3(0xf1)})[_0x451cb3(0xde)](()=>{}),process['exit'](0x0);}process[a0_0x495e06(0xca)]['on'](a0_0x495e06(0xc6),()=>b()),process['on'](a0_0x495e06(0xa4),()=>b()),process['on'](a0_0x495e06(0xcc),()=>b());var d=process[a0_0x495e06(0x110)];if(d&&d>0x1){let h=setInterval(()=>{const _0x4b229e=a0_0x495e06;if(process[_0x4b229e(0x110)]===0x1&&d!==0x1){z('parent\x20claude\x20died\x20(reparented\x20to\x20PID\x201\x20from\x20'+d+_0x4b229e(0xee)),b();return;}try{process['kill'](d,0x0);}catch(_0x54ee5f){if(_0x54ee5f?.[_0x4b229e(0x100)]===_0x4b229e(0xfc))z(_0x4b229e(0x89)+d+_0x4b229e(0xb6)),b();}},0x7530);if(typeof h[a0_0x495e06(0x9d)]===a0_0x495e06(0x104))h[a0_0x495e06(0x9d)]();}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-network",
|
|
3
|
-
"version": "2.3.0-preview.
|
|
3
|
+
"version": "2.3.0-preview.26",
|
|
4
4
|
"description": "AI Agent Network CLI — Local-first multi-agent orchestration across 4 runtimes (Claude Code CLI / Claude Agent SDK / Codex SDK / Grok Build ACP) and 8+ LLM providers (Anthropic / OpenAI / xAI Grok / MiniMax / DeepSeek / GLM / Kimi / InternLM / Xiaomi MiMo / OpenRouter). Apache 2.0.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/client.js",
|