@sleep2agi/agent-network 2.3.0-preview.44 → 2.3.0-preview.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/src/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x52c6ac=a0_0x42ee;(function(_0x2eb2fa,_0x3f6e21){const _0x53fdcb=a0_0x42ee,_0x1f8dd7=_0x2eb2fa();while(!![]){try{const _0x54054f=parseInt(_0x53fdcb(0x103))/0x1*(-parseInt(_0x53fdcb(0xe4))/0x2)+-parseInt(_0x53fdcb(0x118))/0x3*(parseInt(_0x53fdcb(0x106))/0x4)+parseInt(_0x53fdcb(0xbe))/0x5*(-parseInt(_0x53fdcb(0x10c))/0x6)+-parseInt(_0x53fdcb(0xf4))/0x7*(parseInt(_0x53fdcb(0x139))/0x8)+parseInt(_0x53fdcb(0xe0))/0x9*(parseInt(_0x53fdcb(0x137))/0xa)+-parseInt(_0x53fdcb(0xc3))/0xb+parseInt(_0x53fdcb(0x119))/0xc;if(_0x54054f===_0x3f6e21)break;else _0x1f8dd7['push'](_0x1f8dd7['shift']());}catch(_0x1770a5){_0x1f8dd7['push'](_0x1f8dd7['shift']());}}}(a0_0x1cb8,0x8367d));import{EventEmitter as a0_0x2039bc}from'events';import{hostname as a0_0x20c731}from'os';function a0_0x1cb8(){const _0x45f2a5=['\x20to=','Bearer\x20','min','task.send.delivered','sdk-','get_inbox','CommHub\x20response\x20omitted\x20task_id','28kGbrDg','SSE\x20reconnecting\x20in\x20','task.started','result','normal','POST','text/event-stream','lifecycleTracking','parent_task_id','error','<unknown>','\x20duration_ms=','\x20transport=','parentTaskId','stringify','202579Dfqzyq','send_rejected','log','8SjsyWv','split','new_message','\x20error=','task','match','6qtPbjz','reconnectDelay','network_id','call','running','data:\x20','unknown\x20error','[commhub:task]\x20','body','toString','heartbeatInterval','connect','822714lrmWYi','35972820qvEzvh','type','heartbeat\x20failed:\x20','transport','fromAlias','autoConnect','connectSSE','signal','send_reply','\x20lifecycle=','parse','processInbox','connected','application/json','CommHub\x20rejected\x20task','slice','status','SSE\x20connected','read','tools/call','SSE\x20failed:\x20','url','sseAbort','decode','send','replace','messages','offline','toTimeString','agent','530KOQUGU','/mcp','2014160FFyOVz','task.expired','get_all_status','networkId','broadcast','duration_ms','2.0','getAllStatus','<missing>','SSE\x20error:\x20','failed','task_id','idle','application/json,\x20text/event-stream','content','1143665mJvYBM','completed','error_code','report_status','startsWith','2506790NuyBKx','\x20parent_task_id=','now','heartbeatTimer','sdk','s...','task.send.failed','disconnect','lifecycle_tracking','alias','cwd','message','mcp_http','message_id','task.send.start','resumeId','to_alias','new_task','token','/events/','pop','Authorization','sleep','task.replied','text','send_task','registered','\x20from=','emit','61641julgap','name','send_failed','from_session','8NKtpGd','[REDACTED]','abort','error_message','delivered','catch','ack_inbox','send_message','disconnected'];a0_0x1cb8=function(){return _0x45f2a5;};return a0_0x1cb8();}var K=/(?:atok|ntok|utok|ghp|github_pat)_[A-Za-z0-9_-]+|Bearer\s+\S+/gi,L=(_0x5bb462,_0x26407e)=>(_0x5bb462??_0x26407e)[a0_0x52c6ac(0x132)](/[\r\n\x00-\x1f\x7f]/g,'\x20')[a0_0x52c6ac(0x128)](0x0,0xf0);function N(_0x1c328b){const _0xaaf795=a0_0x52c6ac;return(_0x1c328b instanceof Error?_0x1c328b[_0xaaf795(0xce)]:String(_0x1c328b??_0xaaf795(0x112)))[_0xaaf795(0x132)](K,_0xaaf795(0xe5))[_0xaaf795(0x132)](/[\r\n\x00-\x1f\x7f]/g,'\x20')[_0xaaf795(0x128)](0x0,0xf0);}function O(_0x4d442d,_0x3b0785=process.env.ANET_TASK_TRACE_FORMAT==='json'){const _0x85d7a0=a0_0x52c6ac;if(_0x3b0785)return JSON[_0x85d7a0(0x102)](_0x4d442d);let _0x3f0966=L(_0x4d442d[_0x85d7a0(0xfc)],_0x85d7a0(0xb7)),_0x5e8b7c=L(_0x4d442d['task_id'],'<pending>'),_0x13c0aa=_0x4d442d[_0x85d7a0(0xc0)]?_0x85d7a0(0x109)+_0x4d442d[_0x85d7a0(0xc0)]+':'+(_0x4d442d[_0x85d7a0(0xe7)]??''):'';return _0x85d7a0(0x113)+_0x4d442d[_0x85d7a0(0x129)]+_0x85d7a0(0xde)+L(_0x4d442d['from_alias'],'<unknown>')+_0x85d7a0(0xed)+L(_0x4d442d[_0x85d7a0(0xd3)],_0x85d7a0(0xfe))+'\x20task_id='+_0x5e8b7c+_0x85d7a0(0xc4)+_0x3f0966+'\x20network_id='+L(_0x4d442d[_0x85d7a0(0x10e)],'<unknown>')+_0x85d7a0(0x100)+_0x4d442d['transport']+_0x85d7a0(0xff)+_0x4d442d[_0x85d7a0(0xb4)]+_0x85d7a0(0x122)+_0x4d442d[_0x85d7a0(0xcb)]+_0x13c0aa;}function U(_0x1e34c6){const _0xb30a5e=a0_0x52c6ac;return{'event':{'sending':_0xb30a5e(0xd1),'delivered':_0xb30a5e(0xf0),'failed':_0xb30a5e(0xc9),'acked':'task.ack','started':_0xb30a5e(0xf6),'replied':_0xb30a5e(0xda),'expired':_0xb30a5e(0xb0)}[_0x1e34c6[_0xb30a5e(0x129)]],..._0x1e34c6};}function j(_0x471627){const _0x3043f5=a0_0x52c6ac;let _0x264ca9=_0x471627?.[_0x3043f5(0xba)]||_0x471627?.[_0x3043f5(0xd0)]||_0x471627?.['id'];if(_0x264ca9)return String(_0x264ca9);let _0x2fdf20=_0x471627?.[_0x3043f5(0xbd)]?.[0x0]?.[_0x3043f5(0xdb)];if(typeof _0x2fdf20!=='string')return null;try{let _0x55608e=JSON[_0x3043f5(0x123)](_0x2fdf20);return _0x55608e?.['task_id']||_0x55608e?.[_0x3043f5(0xd0)]||_0x55608e?.['id']||null;}catch{return null;}}async function X(_0x33e92f,_0x4d34c8){const _0x5c43ec=a0_0x52c6ac;let _0x4ab609=_0x4d34c8['now']??Date[_0x5c43ec(0xc5)],_0x32be01=_0x4ab609(),_0x103589=(_0x591c0b,_0x210c5b,_0x3e1b80,_0x138f9f)=>{const _0x3fd190=_0x5c43ec;_0x4d34c8[_0x3fd190(0x105)](O(U({'from_alias':_0x33e92f[_0x3fd190(0x11d)],'to_alias':_0x33e92f['toAlias'],'task_id':_0x210c5b,'parent_task_id':_0x33e92f['parentTaskId'],'network_id':_0x33e92f[_0x3fd190(0xb2)],'transport':_0x33e92f[_0x3fd190(0x11c)],'status':_0x591c0b,'duration_ms':_0x4ab609()-_0x32be01,'lifecycle_tracking':_0x33e92f[_0x3fd190(0xfb)],..._0x3e1b80!==void 0x0?{'error_code':_0x138f9f||_0x3fd190(0xe2),'error_message':N(_0x3e1b80)}:{}})));};_0x103589('sending',null);try{let _0x30e6d0=await _0x4d34c8[_0x5c43ec(0x131)](),_0x447e79=j(_0x30e6d0);if(_0x447e79)_0x103589(_0x5c43ec(0xe8),_0x447e79);else{if(_0x30e6d0?.['ok']===!0x1||_0x30e6d0?.['error'])_0x103589(_0x5c43ec(0xb9),_0x447e79,_0x30e6d0?.['error']||_0x5c43ec(0x127),_0x5c43ec(0x104));else _0x103589(_0x5c43ec(0xb9),null,_0x5c43ec(0xf3),'missing_task_id');}return _0x30e6d0;}catch(_0x2af323){throw _0x103589(_0x5c43ec(0xb9),null,_0x2af323,_0x5c43ec(0xe2)),_0x2af323;}}async function Y(_0x356ac5,_0x3ecf16){const _0x4b21e9=a0_0x52c6ac;return X({'fromAlias':_0x356ac5[_0x4b21e9(0x11d)],'toAlias':_0x356ac5[_0x4b21e9(0xcc)],'parentTaskId':_0x356ac5[_0x4b21e9(0x101)]||null,'networkId':_0x356ac5[_0x4b21e9(0xb2)]||null,'transport':_0x4b21e9(0xcf),'lifecycleTracking':'not_tracked'},_0x3ecf16);}class $ extends a0_0x2039bc{[a0_0x52c6ac(0x12e)];[a0_0x52c6ac(0xcc)];[a0_0x52c6ac(0xd5)];[a0_0x52c6ac(0x136)];[a0_0x52c6ac(0xd2)];[a0_0x52c6ac(0x116)];['reconnectDelay'];['heartbeatTimer'];[a0_0x52c6ac(0x12f)];[a0_0x52c6ac(0x110)]=!0x1;constructor(_0xc7c6b7){const _0x3c34a4=a0_0x52c6ac;super();if(this[_0x3c34a4(0x12e)]=_0xc7c6b7[_0x3c34a4(0x12e)][_0x3c34a4(0x132)](/\/$/,''),this['alias']=_0xc7c6b7[_0x3c34a4(0xcc)],this[_0x3c34a4(0xd5)]=_0xc7c6b7[_0x3c34a4(0xd5)],this[_0x3c34a4(0x136)]=_0xc7c6b7['agent']||_0x3c34a4(0xc7),this[_0x3c34a4(0xd2)]=_0x3c34a4(0xf1)+_0xc7c6b7[_0x3c34a4(0xcc)]+'-'+Date[_0x3c34a4(0xc5)]()[_0x3c34a4(0x115)](0x24),this[_0x3c34a4(0x116)]=_0xc7c6b7[_0x3c34a4(0x116)]??0x2bf20,this[_0x3c34a4(0x10d)]=_0xc7c6b7['reconnectDelay']??0xbb8,_0xc7c6b7[_0x3c34a4(0x11e)]!==!0x1)this[_0x3c34a4(0x117)]();}[a0_0x52c6ac(0x105)](_0x17b171){const _0x4d3a65=a0_0x52c6ac;console['log']('['+new Date()[_0x4d3a65(0x135)]()[_0x4d3a65(0x128)](0x0,0x8)+']\x20[commhub:'+this['alias']+']\x20'+_0x17b171);}async[a0_0x52c6ac(0x10f)](_0xdb0ab6,_0xb21f58){const _0x3c49da=a0_0x52c6ac;let _0x2c03a7={'Content-Type':_0x3c49da(0x126),'Accept':_0x3c49da(0xbc)};if(this['token'])_0x2c03a7[_0x3c49da(0xd8)]='Bearer\x20'+this[_0x3c49da(0xd5)];let _0x30bf34=await(await fetch(this[_0x3c49da(0x12e)]+_0x3c49da(0x138),{'method':_0x3c49da(0xf9),'headers':_0x2c03a7,'body':JSON[_0x3c49da(0x102)]({'jsonrpc':_0x3c49da(0xb5),'id':Date[_0x3c49da(0xc5)](),'method':_0x3c49da(0x12c),'params':{'name':_0xdb0ab6,'arguments':_0xb21f58}})}))[_0x3c49da(0xdb)](),_0x5ed8e9=_0x30bf34[_0x3c49da(0x10b)](/data: (.+)/),_0x519e32=_0x5ed8e9?JSON['parse'](_0x5ed8e9[0x1]):JSON[_0x3c49da(0x123)](_0x30bf34),_0x6ab246=_0x519e32?.[_0x3c49da(0xf7)]?.[_0x3c49da(0xbd)]?.[0x0]?.[_0x3c49da(0xdb)];return _0x6ab246?JSON[_0x3c49da(0x123)](_0x6ab246):_0x519e32;}async[a0_0x52c6ac(0x117)](){const _0x974324=a0_0x52c6ac;if(this[_0x974324(0x110)])return;this[_0x974324(0x110)]=!0x0,await this[_0x974324(0x129)]('idle'),this['log'](_0x974324(0xdd)),this[_0x974324(0xc6)]=setInterval(()=>{const _0x397bb5=_0x974324;this[_0x397bb5(0x129)](_0x397bb5(0xbb))['catch'](_0x2992e2=>this[_0x397bb5(0x105)](_0x397bb5(0x11b)+_0x2992e2[_0x397bb5(0xce)]));},this[_0x974324(0x116)]),this[_0x974324(0x11f)]();}async[a0_0x52c6ac(0xca)](){const _0x426607=a0_0x52c6ac;if(this[_0x426607(0x110)]=!0x1,this[_0x426607(0x12f)]?.[_0x426607(0xe6)](),this['heartbeatTimer'])clearInterval(this[_0x426607(0xc6)]);await this[_0x426607(0x129)](_0x426607(0x134))[_0x426607(0xe9)](()=>{}),this[_0x426607(0x105)](_0x426607(0xec));}async[a0_0x52c6ac(0x131)](_0x541ab3,_0x314d3e,_0x418a34=a0_0x52c6ac(0xf8)){const _0x526041=a0_0x52c6ac;return Y({'alias':_0x541ab3,'fromAlias':this[_0x526041(0xcc)]},{'log':_0xd416ec=>console['log'](_0xd416ec),'send':()=>this['call'](_0x526041(0xdc),{'alias':_0x541ab3,'task':_0x314d3e,'priority':_0x418a34,'from_session':this[_0x526041(0xcc)]})});}async[a0_0x52c6ac(0xce)](_0x588e08,_0x2b8c9f){const _0x5171e0=a0_0x52c6ac;return this[_0x5171e0(0x10f)](_0x5171e0(0xeb),{'alias':_0x588e08,'message':_0x2b8c9f,'from_session':this[_0x5171e0(0xcc)]});}async['reply'](_0x10e363,_0x576485,_0x5627ad=a0_0x52c6ac(0xbf)){const _0x30efce=a0_0x52c6ac;return this['call'](_0x30efce(0x121),{'in_reply_to':_0x10e363,'text':_0x576485,'status':_0x5627ad});}async[a0_0x52c6ac(0x129)](_0x5a15f9,_0x1f63be){const _0x5bf1aa=a0_0x52c6ac;return this[_0x5bf1aa(0x10f)](_0x5bf1aa(0xc1),{'resume_id':this[_0x5bf1aa(0xd2)],'alias':this[_0x5bf1aa(0xcc)],'status':_0x5a15f9,'server':a0_0x20c731(),'hostname':a0_0x20c731(),'agent':this[_0x5bf1aa(0x136)],'project_dir':process[_0x5bf1aa(0xcd)](),..._0x1f63be});}async[a0_0x52c6ac(0xb6)](){const _0x3479f2=a0_0x52c6ac;return this[_0x3479f2(0x10f)](_0x3479f2(0xb1),{});}async[a0_0x52c6ac(0xb3)](_0x1e9d8b,_0x2f949e){const _0x2b406b=a0_0x52c6ac;return this[_0x2b406b(0x10f)]('broadcast',{'message':_0x1e9d8b,'filter_server':_0x2f949e?.['server'],'filter_status':_0x2f949e?.['status']});}async[a0_0x52c6ac(0x11f)](){const _0x5652d0=a0_0x52c6ac;let _0x1f5ae7=encodeURIComponent(this[_0x5652d0(0xcc)]),_0x538e83=this[_0x5652d0(0x12e)]+_0x5652d0(0xd6)+_0x1f5ae7,_0x3be210=this['reconnectDelay'];while(this[_0x5652d0(0x110)]){try{this[_0x5652d0(0x12f)]=new AbortController();let _0x2c48fe={'Accept':_0x5652d0(0xfa)};if(this['token'])_0x2c48fe[_0x5652d0(0xd8)]=_0x5652d0(0xee)+this[_0x5652d0(0xd5)];let _0x943bbd=await fetch(_0x538e83,{'headers':_0x2c48fe,'signal':this['sseAbort'][_0x5652d0(0x120)]});if(!_0x943bbd['ok']||!_0x943bbd[_0x5652d0(0x114)]){this[_0x5652d0(0x105)](_0x5652d0(0x12d)+_0x943bbd[_0x5652d0(0x129)]),await this[_0x5652d0(0xd9)](_0x3be210),_0x3be210=Math[_0x5652d0(0xef)](_0x3be210*1.5,0xea60);continue;}_0x3be210=this[_0x5652d0(0x10d)];let _0x16ffe0=_0x943bbd['body']['getReader'](),_0x17852a=new TextDecoder(),_0x4de574='';while(this['running']){let {done:_0x19cd1c,value:_0x1ba7f0}=await _0x16ffe0[_0x5652d0(0x12b)]();if(_0x19cd1c)break;_0x4de574+=_0x17852a[_0x5652d0(0x130)](_0x1ba7f0,{'stream':!0x0});let _0x3f1524=_0x4de574[_0x5652d0(0x107)]('\x0a');_0x4de574=_0x3f1524[_0x5652d0(0xd7)]()||'';for(let _0x63dcb2 of _0x3f1524){if(!_0x63dcb2[_0x5652d0(0xc2)](_0x5652d0(0x111)))continue;try{let _0x157b9a=JSON[_0x5652d0(0x123)](_0x63dcb2[_0x5652d0(0x128)](0x6));if(_0x157b9a[_0x5652d0(0x11a)]===_0x5652d0(0x125)){this[_0x5652d0(0x105)](_0x5652d0(0x12a)),this[_0x5652d0(0xdf)](_0x5652d0(0x125));continue;}if(_0x157b9a['type']===_0x5652d0(0xd4)||_0x157b9a[_0x5652d0(0x11a)]===_0x5652d0(0x108)||_0x157b9a[_0x5652d0(0x11a)]===_0x5652d0(0xb3))await this[_0x5652d0(0x124)]();}catch{}}}}catch(_0x471105){if(_0x471105[_0x5652d0(0xe1)]==='AbortError')break;this[_0x5652d0(0xdf)](_0x5652d0(0xfd),_0x471105),this[_0x5652d0(0x105)](_0x5652d0(0xb8)+_0x471105[_0x5652d0(0xce)]);}if(this[_0x5652d0(0x110)])this[_0x5652d0(0xdf)](_0x5652d0(0xec)),this[_0x5652d0(0x105)](_0x5652d0(0xf5)+_0x3be210/0x3e8+_0x5652d0(0xc8)),await this['sleep'](_0x3be210),_0x3be210=Math['min'](_0x3be210*1.5,0xea60);}}async['processInbox'](){const _0x40cb28=a0_0x52c6ac;try{let _0x104f3a=(await this[_0x40cb28(0x10f)](_0x40cb28(0xf2),{'alias':this[_0x40cb28(0xcc)],'limit':0xa}))?.[_0x40cb28(0x133)]||[];for(let _0x8b9bb3 of _0x104f3a)await this['call'](_0x40cb28(0xea),{'alias':this[_0x40cb28(0xcc)],'message_id':_0x8b9bb3['id']}),this['log']('←\x20'+_0x8b9bb3[_0x40cb28(0xe3)]+':\x20'+_0x8b9bb3['content'][_0x40cb28(0x128)](0x0,0x3c)),this[_0x40cb28(0xdf)](_0x40cb28(0x10a),_0x8b9bb3),this[_0x40cb28(0xdf)](_0x40cb28(0xce),_0x8b9bb3);}catch(_0x286105){this[_0x40cb28(0x105)]('inbox\x20error:\x20'+_0x286105[_0x40cb28(0xce)]);}}[a0_0x52c6ac(0xd9)](_0x16d7e7){return new Promise(_0x1c87ac=>setTimeout(_0x1c87ac,_0x16d7e7));}}function a0_0x42ee(_0x29f277,_0x1ce2e1){_0x29f277=_0x29f277-0xb0;const _0x1cb82e=a0_0x1cb8();let _0x42eee8=_0x1cb82e[_0x29f277];return _0x42eee8;}var F=$;export{F as default,$ as CommHub};
|
|
1
|
+
const a0_0x457c52=a0_0x538a;function a0_0x538a(_0xc62142,_0x22af78){_0xc62142=_0xc62142-0x184;const _0x1b2050=a0_0x1b20();let _0x538a85=_0x1b2050[_0xc62142];return _0x538a85;}(function(_0x1b4f79,_0x4952c0){const _0x2bcf26=a0_0x538a,_0x463903=_0x1b4f79();while(!![]){try{const _0x49bdb5=parseInt(_0x2bcf26(0x1af))/0x1+-parseInt(_0x2bcf26(0x19a))/0x2+-parseInt(_0x2bcf26(0x1ad))/0x3+parseInt(_0x2bcf26(0x19d))/0x4+-parseInt(_0x2bcf26(0x1da))/0x5+parseInt(_0x2bcf26(0x18f))/0x6*(-parseInt(_0x2bcf26(0x1ec))/0x7)+parseInt(_0x2bcf26(0x1ea))/0x8;if(_0x49bdb5===_0x4952c0)break;else _0x463903['push'](_0x463903['shift']());}catch(_0xe7a56a){_0x463903['push'](_0x463903['shift']());}}}(a0_0x1b20,0xdad3e));import{EventEmitter as a0_0x1d8d91}from'events';import{hostname as a0_0x4fc7ca}from'os';var K=/(?:atok|ntok|utok|ghp|github_pat)_[A-Za-z0-9_-]+|Bearer\s+\S+/gi,L=(_0x3ae98f,_0x47ba03)=>(_0x3ae98f??_0x47ba03)[a0_0x457c52(0x1c4)](/[\r\n\x00-\x1f\x7f]/g,'\x20')['slice'](0x0,0xf0);function N(_0x243450){const _0x16ec74=a0_0x457c52;return(_0x243450 instanceof Error?_0x243450[_0x16ec74(0x1a2)]:String(_0x243450??_0x16ec74(0x1c8)))[_0x16ec74(0x1c4)](K,'[REDACTED]')[_0x16ec74(0x1c4)](/[\r\n\x00-\x1f\x7f]/g,'\x20')['slice'](0x0,0xf0);}function O(_0x37a47a,_0x16afdf=process.env.ANET_TASK_TRACE_FORMAT===a0_0x457c52(0x1eb)){const _0x2be35b=a0_0x457c52;if(_0x16afdf)return JSON[_0x2be35b(0x197)](_0x37a47a);let _0x6d764a=L(_0x37a47a[_0x2be35b(0x1d6)],_0x2be35b(0x205)),_0x401e97=L(_0x37a47a[_0x2be35b(0x1d8)],_0x2be35b(0x18c)),_0x35606b=_0x37a47a[_0x2be35b(0x1cb)]?_0x2be35b(0x1d9)+_0x37a47a[_0x2be35b(0x1cb)]+':'+(_0x37a47a[_0x2be35b(0x1ff)]??''):'';return _0x2be35b(0x1ca)+_0x37a47a[_0x2be35b(0x1dc)]+'\x20from='+L(_0x37a47a[_0x2be35b(0x1fe)],'<unknown>')+_0x2be35b(0x193)+L(_0x37a47a[_0x2be35b(0x196)],_0x2be35b(0x19b))+_0x2be35b(0x203)+_0x401e97+_0x2be35b(0x1fc)+_0x6d764a+_0x2be35b(0x1cf)+L(_0x37a47a[_0x2be35b(0x201)],_0x2be35b(0x19b))+_0x2be35b(0x1f8)+_0x37a47a['transport']+'\x20duration_ms='+_0x37a47a['duration_ms']+_0x2be35b(0x1ee)+_0x37a47a[_0x2be35b(0x1fa)]+_0x35606b;}function U(_0x3d580f){const _0x22b5ef=a0_0x457c52;return{'event':{'sending':_0x22b5ef(0x1f0),'delivered':_0x22b5ef(0x1cc),'failed':_0x22b5ef(0x1e9),'acked':_0x22b5ef(0x1de),'started':_0x22b5ef(0x1e3),'replied':_0x22b5ef(0x1a0),'expired':'task.expired'}[_0x3d580f['status']],..._0x3d580f};}function j(_0x393337){const _0x2af100=a0_0x457c52;let _0x1d0144=_0x393337?.['task_id']||_0x393337?.[_0x2af100(0x1c9)]||_0x393337?.['id'];if(_0x1d0144)return String(_0x1d0144);let _0x1df658=_0x393337?.['content']?.[0x0]?.[_0x2af100(0x1db)];if(typeof _0x1df658!=='string')return null;try{let _0x3001e2=JSON[_0x2af100(0x1f3)](_0x1df658);return _0x3001e2?.['task_id']||_0x3001e2?.[_0x2af100(0x1c9)]||_0x3001e2?.['id']||null;}catch{return null;}}async function X(_0x39113d,_0x410e7d){const _0x11d72a=a0_0x457c52;let _0x2973df=_0x410e7d['now']??Date[_0x11d72a(0x1e2)],_0x36fc11=_0x2973df(),_0x3cd884=(_0x122701,_0xf6c767,_0x4352c2,_0x3b2c4b)=>{const _0x466039=_0x11d72a;_0x410e7d['log'](O(U({'from_alias':_0x39113d['fromAlias'],'to_alias':_0x39113d[_0x466039(0x1f2)],'task_id':_0xf6c767,'parent_task_id':_0x39113d[_0x466039(0x1c3)],'network_id':_0x39113d[_0x466039(0x1e0)],'transport':_0x39113d[_0x466039(0x1f9)],'status':_0x122701,'duration_ms':_0x2973df()-_0x36fc11,'lifecycle_tracking':_0x39113d[_0x466039(0x1c1)],..._0x4352c2!==void 0x0?{'error_code':_0x3b2c4b||'send_failed','error_message':N(_0x4352c2)}:{}})));};_0x3cd884(_0x11d72a(0x188),null);try{let _0x2cc26f=await _0x410e7d[_0x11d72a(0x1c6)](),_0x19fb63=j(_0x2cc26f);if(_0x19fb63)_0x3cd884(_0x11d72a(0x1bc),_0x19fb63);else{if(_0x2cc26f?.['ok']===!0x1||_0x2cc26f?.['error'])_0x3cd884(_0x11d72a(0x1f7),_0x19fb63,_0x2cc26f?.[_0x11d72a(0x1e8)]||_0x11d72a(0x199),_0x11d72a(0x1bd));else _0x3cd884(_0x11d72a(0x1f7),null,'CommHub\x20response\x20omitted\x20task_id',_0x11d72a(0x1ce));}return _0x2cc26f;}catch(_0x290c21){throw _0x3cd884(_0x11d72a(0x1f7),null,_0x290c21,_0x11d72a(0x1bb)),_0x290c21;}}function a0_0x1b20(){const _0x56440b=['sdk','toAlias','parse','new_task','min','emit','failed','\x20transport=','transport','lifecycle_tracking','SSE\x20reconnecting\x20in\x20','\x20parent_task_id=','reply','from_alias','error_message','disconnect','network_id','slice','\x20task_id=','body','<missing>','running','get_inbox','name','send_task','content','cwd','registered','sleep','tools/call','alias','split','sending','log','read','task','<pending>','from_session','get_all_status','6aMuBmr','messages','pop','call','\x20to=','s...','/mcp','to_alias','stringify','mcp_http','CommHub\x20rejected\x20task','860580EPbFAm','<unknown>','agent','2638640NwIqsl','application/json','text/event-stream','task.replied','getReader','message','result','inbox\x20error:\x20','Bearer\x20','new_message','idle','heartbeatInterval','connect','POST','fromAlias','sdk-','3326874UleHBZ','heartbeatTimer','1390390QJNwgY','connected','processInbox','normal','2.0','signal','toString','connectSSE','sseAbort','ack_inbox','application/json,\x20text/event-stream','AbortError','send_failed','delivered','send_rejected','report_status','/events/','send_message','lifecycleTracking','abort','parentTaskId','replace','url','send','reconnectDelay','unknown\x20error','message_id','[commhub:task]\x20','error_code','task.send.delivered','heartbeat\x20failed:\x20','missing_task_id','\x20network_id=','offline','send_reply','autoConnect','decode','data:\x20','SSE\x20error:\x20','parent_task_id','token','task_id','\x20error=','6521610Dmqvzi','text','status','not_tracked','task.ack','startsWith','networkId','getAllStatus','now','task.started','disconnected','broadcast','catch','resumeId','error','task.send.failed','15628912YxtPWE','json','1846432uVqaiU','type','\x20lifecycle=','toTimeString','task.send.start'];a0_0x1b20=function(){return _0x56440b;};return a0_0x1b20();}async function Y(_0x3b3a0c,_0x462a60){const _0x3a518b=a0_0x457c52;return X({'fromAlias':_0x3b3a0c[_0x3a518b(0x1ab)],'toAlias':_0x3b3a0c['alias'],'parentTaskId':_0x3b3a0c[_0x3a518b(0x1c3)]||null,'networkId':_0x3b3a0c['networkId']||null,'transport':_0x3a518b(0x198),'lifecycleTracking':_0x3a518b(0x1dd)},_0x462a60);}class $ extends a0_0x1d8d91{[a0_0x457c52(0x1c5)];[a0_0x457c52(0x186)];[a0_0x457c52(0x1d7)];[a0_0x457c52(0x19c)];[a0_0x457c52(0x1e7)];[a0_0x457c52(0x1a8)];[a0_0x457c52(0x1c7)];[a0_0x457c52(0x1ae)];[a0_0x457c52(0x1b7)];[a0_0x457c52(0x206)]=!0x1;constructor(_0x42893a){const _0x3edb1b=a0_0x457c52;super();if(this['url']=_0x42893a[_0x3edb1b(0x1c5)][_0x3edb1b(0x1c4)](/\/$/,''),this['alias']=_0x42893a['alias'],this['token']=_0x42893a[_0x3edb1b(0x1d7)],this[_0x3edb1b(0x19c)]=_0x42893a[_0x3edb1b(0x19c)]||_0x3edb1b(0x1f1),this[_0x3edb1b(0x1e7)]=_0x3edb1b(0x1ac)+_0x42893a['alias']+'-'+Date[_0x3edb1b(0x1e2)]()[_0x3edb1b(0x1b5)](0x24),this[_0x3edb1b(0x1a8)]=_0x42893a[_0x3edb1b(0x1a8)]??0x2bf20,this[_0x3edb1b(0x1c7)]=_0x42893a[_0x3edb1b(0x1c7)]??0xbb8,_0x42893a[_0x3edb1b(0x1d2)]!==!0x1)this[_0x3edb1b(0x1a9)]();}[a0_0x457c52(0x189)](_0x563faa){const _0xf6369f=a0_0x457c52;console[_0xf6369f(0x189)]('['+new Date()[_0xf6369f(0x1ef)]()[_0xf6369f(0x202)](0x0,0x8)+']\x20[commhub:'+this[_0xf6369f(0x186)]+']\x20'+_0x563faa);}async[a0_0x457c52(0x192)](_0x22b29c,_0x47aaf0){const _0x1f252b=a0_0x457c52;let _0x442df3={'Content-Type':_0x1f252b(0x19e),'Accept':_0x1f252b(0x1b9)};if(this[_0x1f252b(0x1d7)])_0x442df3['Authorization']=_0x1f252b(0x1a5)+this[_0x1f252b(0x1d7)];let _0x5951b8=await(await fetch(this[_0x1f252b(0x1c5)]+_0x1f252b(0x195),{'method':_0x1f252b(0x1aa),'headers':_0x442df3,'body':JSON[_0x1f252b(0x197)]({'jsonrpc':_0x1f252b(0x1b3),'id':Date['now'](),'method':_0x1f252b(0x185),'params':{'name':_0x22b29c,'arguments':_0x47aaf0}})}))['text'](),_0x1e093e=_0x5951b8['match'](/data: (.+)/),_0x5383b6=_0x1e093e?JSON[_0x1f252b(0x1f3)](_0x1e093e[0x1]):JSON[_0x1f252b(0x1f3)](_0x5951b8),_0x252d8b=_0x5383b6?.[_0x1f252b(0x1a3)]?.[_0x1f252b(0x20a)]?.[0x0]?.['text'];return _0x252d8b?JSON[_0x1f252b(0x1f3)](_0x252d8b):_0x5383b6;}async[a0_0x457c52(0x1a9)](){const _0x101020=a0_0x457c52;if(this[_0x101020(0x206)])return;this['running']=!0x0,await this[_0x101020(0x1dc)](_0x101020(0x1a7)),this['log'](_0x101020(0x20c)),this[_0x101020(0x1ae)]=setInterval(()=>{const _0x7ce214=_0x101020;this[_0x7ce214(0x1dc)](_0x7ce214(0x1a7))[_0x7ce214(0x1e6)](_0x4038a5=>this['log'](_0x7ce214(0x1cd)+_0x4038a5[_0x7ce214(0x1a2)]));},this['heartbeatInterval']),this[_0x101020(0x1b6)]();}async[a0_0x457c52(0x200)](){const _0x3f15e4=a0_0x457c52;if(this['running']=!0x1,this[_0x3f15e4(0x1b7)]?.[_0x3f15e4(0x1c2)](),this[_0x3f15e4(0x1ae)])clearInterval(this[_0x3f15e4(0x1ae)]);await this[_0x3f15e4(0x1dc)](_0x3f15e4(0x1d0))[_0x3f15e4(0x1e6)](()=>{}),this[_0x3f15e4(0x189)](_0x3f15e4(0x1e4));}async[a0_0x457c52(0x1c6)](_0x4b4b37,_0x20c265,_0x22720a=a0_0x457c52(0x1b2)){const _0x2568ee=a0_0x457c52;return Y({'alias':_0x4b4b37,'fromAlias':this[_0x2568ee(0x186)]},{'log':_0x65ca50=>console[_0x2568ee(0x189)](_0x65ca50),'send':()=>this['call'](_0x2568ee(0x209),{'alias':_0x4b4b37,'task':_0x20c265,'priority':_0x22720a,'from_session':this[_0x2568ee(0x186)]})});}async[a0_0x457c52(0x1a2)](_0xd04ec4,_0x38ca2d){const _0x58e75e=a0_0x457c52;return this[_0x58e75e(0x192)](_0x58e75e(0x1c0),{'alias':_0xd04ec4,'message':_0x38ca2d,'from_session':this['alias']});}async[a0_0x457c52(0x1fd)](_0x250b0a,_0x3f93d8,_0x2009a1='completed'){const _0x19db09=a0_0x457c52;return this[_0x19db09(0x192)](_0x19db09(0x1d1),{'in_reply_to':_0x250b0a,'text':_0x3f93d8,'status':_0x2009a1});}async[a0_0x457c52(0x1dc)](_0x5ae54d,_0x59b4d4){const _0xa3a624=a0_0x457c52;return this[_0xa3a624(0x192)](_0xa3a624(0x1be),{'resume_id':this['resumeId'],'alias':this[_0xa3a624(0x186)],'status':_0x5ae54d,'server':a0_0x4fc7ca(),'hostname':a0_0x4fc7ca(),'agent':this['agent'],'project_dir':process[_0xa3a624(0x20b)](),..._0x59b4d4});}async[a0_0x457c52(0x1e1)](){const _0x4d3768=a0_0x457c52;return this[_0x4d3768(0x192)](_0x4d3768(0x18e),{});}async[a0_0x457c52(0x1e5)](_0xde63af,_0x5da94b){const _0x5efd02=a0_0x457c52;return this['call'](_0x5efd02(0x1e5),{'message':_0xde63af,'filter_server':_0x5da94b?.['server'],'filter_status':_0x5da94b?.['status']});}async[a0_0x457c52(0x1b6)](){const _0x5482fa=a0_0x457c52;let _0x5205e7=encodeURIComponent(this[_0x5482fa(0x186)]),_0xf999f1=this[_0x5482fa(0x1c5)]+_0x5482fa(0x1bf)+_0x5205e7,_0x944d32=this['reconnectDelay'];while(this[_0x5482fa(0x206)]){try{this[_0x5482fa(0x1b7)]=new AbortController();let _0x436e88={'Accept':_0x5482fa(0x19f)};if(this[_0x5482fa(0x1d7)])_0x436e88['Authorization']=_0x5482fa(0x1a5)+this[_0x5482fa(0x1d7)];let _0x381db2=await fetch(_0xf999f1,{'headers':_0x436e88,'signal':this[_0x5482fa(0x1b7)][_0x5482fa(0x1b4)]});if(!_0x381db2['ok']||!_0x381db2[_0x5482fa(0x204)]){this[_0x5482fa(0x189)]('SSE\x20failed:\x20'+_0x381db2[_0x5482fa(0x1dc)]),await this['sleep'](_0x944d32),_0x944d32=Math['min'](_0x944d32*1.5,0xea60);continue;}_0x944d32=this[_0x5482fa(0x1c7)];let _0x1d6331=_0x381db2['body'][_0x5482fa(0x1a1)](),_0x464c42=new TextDecoder(),_0x36590c='';while(this[_0x5482fa(0x206)]){let {done:_0x52e501,value:_0x5319b2}=await _0x1d6331[_0x5482fa(0x18a)]();if(_0x52e501)break;_0x36590c+=_0x464c42[_0x5482fa(0x1d3)](_0x5319b2,{'stream':!0x0});let _0x113b18=_0x36590c[_0x5482fa(0x187)]('\x0a');_0x36590c=_0x113b18[_0x5482fa(0x191)]()||'';for(let _0x4649f5 of _0x113b18){if(!_0x4649f5[_0x5482fa(0x1df)](_0x5482fa(0x1d4)))continue;try{let _0x419f9d=JSON[_0x5482fa(0x1f3)](_0x4649f5[_0x5482fa(0x202)](0x6));if(_0x419f9d[_0x5482fa(0x1ed)]===_0x5482fa(0x1b0)){this[_0x5482fa(0x189)]('SSE\x20connected'),this['emit'](_0x5482fa(0x1b0));continue;}if(_0x419f9d[_0x5482fa(0x1ed)]===_0x5482fa(0x1f4)||_0x419f9d[_0x5482fa(0x1ed)]===_0x5482fa(0x1a6)||_0x419f9d['type']==='broadcast')await this[_0x5482fa(0x1b1)]();}catch{}}}}catch(_0x182b04){if(_0x182b04[_0x5482fa(0x208)]===_0x5482fa(0x1ba))break;this[_0x5482fa(0x1f6)](_0x5482fa(0x1e8),_0x182b04),this[_0x5482fa(0x189)](_0x5482fa(0x1d5)+_0x182b04[_0x5482fa(0x1a2)]);}if(this[_0x5482fa(0x206)])this[_0x5482fa(0x1f6)](_0x5482fa(0x1e4)),this[_0x5482fa(0x189)](_0x5482fa(0x1fb)+_0x944d32/0x3e8+_0x5482fa(0x194)),await this['sleep'](_0x944d32),_0x944d32=Math[_0x5482fa(0x1f5)](_0x944d32*1.5,0xea60);}}async['processInbox'](){const _0xac3a73=a0_0x457c52;try{let _0x140a7e=(await this['call'](_0xac3a73(0x207),{'alias':this[_0xac3a73(0x186)],'limit':0xa}))?.[_0xac3a73(0x190)]||[];for(let _0x1379a3 of _0x140a7e)await this[_0xac3a73(0x192)](_0xac3a73(0x1b8),{'alias':this[_0xac3a73(0x186)],'message_id':_0x1379a3['id']}),this[_0xac3a73(0x189)]('←\x20'+_0x1379a3[_0xac3a73(0x18d)]+':\x20'+_0x1379a3['content'][_0xac3a73(0x202)](0x0,0x3c)),this[_0xac3a73(0x1f6)](_0xac3a73(0x18b),_0x1379a3),this[_0xac3a73(0x1f6)]('message',_0x1379a3);}catch(_0x1e8469){this[_0xac3a73(0x189)](_0xac3a73(0x1a4)+_0x1e8469['message']);}}[a0_0x457c52(0x184)](_0x5caa2a){return new Promise(_0x1213fd=>setTimeout(_0x1213fd,_0x5caa2a));}}var F=$;export{F as default,$ as CommHub};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface CodexRecoveryVerification {
|
|
2
|
+
method: "thread/start" | "thread/resume";
|
|
3
|
+
threadId: string;
|
|
4
|
+
verifiedAt: string;
|
|
5
|
+
historyTurnCount: number;
|
|
6
|
+
historyFingerprint: string;
|
|
7
|
+
}
|
|
8
|
+
export interface CodexRecoveryBackup {
|
|
9
|
+
backupDir: string;
|
|
10
|
+
createdAt: string;
|
|
11
|
+
stateFiles: string[];
|
|
12
|
+
}
|
|
13
|
+
/** Transaction boundary shared by Windows and POSIX cutovers: the snapshot
|
|
14
|
+
* cannot begin until every authoritative state writer has quiesced. */
|
|
15
|
+
export declare function quiesceThenSnapshot<T>(quiesce: () => Promise<void>, snapshot: () => T): Promise<T>;
|
|
16
|
+
/** A stored thread is never considered resumed until app-server reads the
|
|
17
|
+
* exact thread back with persisted history. This is deliberately stricter
|
|
18
|
+
* than accepting a successful thread/resume RPC response. */
|
|
19
|
+
export declare function verifyCodexThreadHistory(method: "thread/start" | "thread/resume", expectedThreadId: string, readResult: unknown, now?: Date): CodexRecoveryVerification;
|
|
20
|
+
export declare function resumeAndVerifyCodexThread(threadId: string, request: (method: string, params: Record<string, unknown>) => Promise<unknown>): Promise<CodexRecoveryVerification>;
|
|
21
|
+
/** Private, node-local recovery point. config-recovery.json is deliberately
|
|
22
|
+
* redacted non-credential audit/recovery metadata, not an identity backup.
|
|
23
|
+
* Identity recovery relies on leaving the original node config and CODEX_HOME
|
|
24
|
+
* in place. Credentials are never copied into this snapshot. */
|
|
25
|
+
export declare function backupCodexRecoveryState(opts: {
|
|
26
|
+
nodeDir: string;
|
|
27
|
+
codexHome: string;
|
|
28
|
+
now?: Date;
|
|
29
|
+
}): CodexRecoveryBackup;
|
|
30
|
+
export declare function codexTopologyAudit(profile: Record<string, any>, nodeDir: string, cwd: string): {
|
|
31
|
+
launchMode: string;
|
|
32
|
+
cwd: string;
|
|
33
|
+
codexHome: string;
|
|
34
|
+
remote: any;
|
|
35
|
+
threadId: any;
|
|
36
|
+
model: any;
|
|
37
|
+
flags: any;
|
|
38
|
+
lastRecoveryVerification: any;
|
|
39
|
+
lastRecoveryBackup: {
|
|
40
|
+
createdAt: any;
|
|
41
|
+
stateFiles: any;
|
|
42
|
+
} | null;
|
|
43
|
+
};
|