@sleep2agi/agent-network 2.3.0-preview.102 → 2.3.0-preview.105

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.
@@ -1 +1 @@
1
- const a0_0x3caadc=a0_0x279f;(function(_0x43e06a,_0x481827){const _0x2afafc=a0_0x279f,_0x5ce236=_0x43e06a();while(!![]){try{const _0x49e292=parseInt(_0x2afafc(0x150))/0x1+parseInt(_0x2afafc(0x16b))/0x2*(parseInt(_0x2afafc(0x17a))/0x3)+-parseInt(_0x2afafc(0x1a2))/0x4+-parseInt(_0x2afafc(0x16d))/0x5*(-parseInt(_0x2afafc(0x1a9))/0x6)+parseInt(_0x2afafc(0x151))/0x7+-parseInt(_0x2afafc(0x18b))/0x8+-parseInt(_0x2afafc(0x1c9))/0x9*(parseInt(_0x2afafc(0x156))/0xa);if(_0x49e292===_0x481827)break;else _0x5ce236['push'](_0x5ce236['shift']());}catch(_0x3697dc){_0x5ce236['push'](_0x5ce236['shift']());}}}(a0_0x1e49,0x7feea));import{EventEmitter as a0_0x345dea}from'events';import{hostname as a0_0x1e075f}from'os';var K=/(?:atok|ntok|utok|ghp|github_pat)_[A-Za-z0-9_-]+|Bearer\s+\S+/gi,L=(_0x492509,_0x2e2466)=>(_0x492509??_0x2e2466)[a0_0x3caadc(0x1ae)](/[\r\n\x00-\x1f\x7f]/g,'\x20')[a0_0x3caadc(0x154)](0x0,0xf0);function N(_0x56b598){const _0x8cae11=a0_0x3caadc;return(_0x56b598 instanceof Error?_0x56b598[_0x8cae11(0x1ad)]:String(_0x56b598??_0x8cae11(0x187)))[_0x8cae11(0x1ae)](K,_0x8cae11(0x1ca))[_0x8cae11(0x1ae)](/[\r\n\x00-\x1f\x7f]/g,'\x20')[_0x8cae11(0x154)](0x0,0xf0);}function a0_0x279f(_0xf9f2e2,_0x41aa7d){_0xf9f2e2=_0xf9f2e2-0x14e;const _0x1e4984=a0_0x1e49();let _0x279fe7=_0x1e4984[_0xf9f2e2];return _0x279fe7;}function O(_0x4f6f1b,_0x365c7d=process.env.ANET_TASK_TRACE_FORMAT===a0_0x3caadc(0x180)){const _0x1784fd=a0_0x3caadc;if(_0x365c7d)return JSON[_0x1784fd(0x1c4)](_0x4f6f1b);let _0x31bbd8=L(_0x4f6f1b[_0x1784fd(0x164)],_0x1784fd(0x1a8)),_0xde3bed=L(_0x4f6f1b['task_id'],_0x1784fd(0x17b)),_0x43dcb5=_0x4f6f1b[_0x1784fd(0x194)]?'\x20error='+_0x4f6f1b[_0x1784fd(0x194)]+':'+(_0x4f6f1b[_0x1784fd(0x14e)]??''):'';return _0x1784fd(0x18e)+_0x4f6f1b['status']+_0x1784fd(0x189)+L(_0x4f6f1b[_0x1784fd(0x188)],_0x1784fd(0x183))+_0x1784fd(0x1a7)+L(_0x4f6f1b[_0x1784fd(0x1c7)],_0x1784fd(0x183))+'\x20task_id='+_0xde3bed+_0x1784fd(0x1b2)+_0x31bbd8+_0x1784fd(0x19a)+L(_0x4f6f1b[_0x1784fd(0x1b4)],_0x1784fd(0x183))+_0x1784fd(0x15b)+_0x4f6f1b['transport']+_0x1784fd(0x15a)+_0x4f6f1b[_0x1784fd(0x1b1)]+_0x1784fd(0x16f)+_0x4f6f1b[_0x1784fd(0x1a3)]+_0x43dcb5;}function U(_0x127d8d){const _0x1b3911=a0_0x3caadc;return{'event':{'sending':'task.send.start','delivered':'task.send.delivered','failed':_0x1b3911(0x1a6),'acked':_0x1b3911(0x1c8),'started':_0x1b3911(0x18c),'replied':_0x1b3911(0x191),'expired':_0x1b3911(0x1a0)}[_0x127d8d['status']],..._0x127d8d};}function j(_0x2f39d3){const _0x3b5989=a0_0x3caadc;let _0x2b6da1=_0x2f39d3?.[_0x3b5989(0x1cb)]||_0x2f39d3?.[_0x3b5989(0x15f)]||_0x2f39d3?.['id'];if(_0x2b6da1)return String(_0x2b6da1);let _0x202681=_0x2f39d3?.[_0x3b5989(0x177)]?.[0x0]?.[_0x3b5989(0x1c2)];if(typeof _0x202681!==_0x3b5989(0x155))return null;try{let _0x1ea2ee=JSON['parse'](_0x202681);return _0x1ea2ee?.[_0x3b5989(0x1cb)]||_0x1ea2ee?.[_0x3b5989(0x15f)]||_0x1ea2ee?.['id']||null;}catch{return null;}}async function X(_0x3804b6,_0x1c6f98){const _0x313b0b=a0_0x3caadc;let _0x3eb2f3=_0x1c6f98[_0x313b0b(0x17c)]??Date[_0x313b0b(0x17c)],_0x2c028f=_0x3eb2f3(),_0x5a42fb=(_0x1e33fc,_0xa96f0,_0x114f16,_0x544264)=>{const _0x3c449d=_0x313b0b;_0x1c6f98[_0x3c449d(0x198)](O(U({'from_alias':_0x3804b6[_0x3c449d(0x17e)],'to_alias':_0x3804b6['toAlias'],'task_id':_0xa96f0,'parent_task_id':_0x3804b6[_0x3c449d(0x1c6)],'network_id':_0x3804b6[_0x3c449d(0x18a)],'transport':_0x3804b6[_0x3c449d(0x15d)],'status':_0x1e33fc,'duration_ms':_0x3eb2f3()-_0x2c028f,'lifecycle_tracking':_0x3804b6[_0x3c449d(0x1b7)],..._0x114f16!==void 0x0?{'error_code':_0x544264||_0x3c449d(0x1ac),'error_message':N(_0x114f16)}:{}})));};_0x5a42fb(_0x313b0b(0x168),null);try{let _0x1e0a0b=await _0x1c6f98[_0x313b0b(0x169)](),_0x15d072=j(_0x1e0a0b);if(_0x15d072)_0x5a42fb(_0x313b0b(0x171),_0x15d072);else{if(_0x1e0a0b?.['ok']===!0x1||_0x1e0a0b?.[_0x313b0b(0x1c5)])_0x5a42fb(_0x313b0b(0x1aa),_0x15d072,_0x1e0a0b?.[_0x313b0b(0x1c5)]||_0x313b0b(0x1a5),_0x313b0b(0x175));else _0x5a42fb(_0x313b0b(0x1aa),null,_0x313b0b(0x1c3),_0x313b0b(0x160));}return _0x1e0a0b;}catch(_0x5c001d){throw _0x5a42fb(_0x313b0b(0x1aa),null,_0x5c001d,_0x313b0b(0x1ac)),_0x5c001d;}}async function Y(_0x1fdcd8,_0x2dcd9d){const _0x1d74a9=a0_0x3caadc;return X({'fromAlias':_0x1fdcd8[_0x1d74a9(0x17e)],'toAlias':_0x1fdcd8[_0x1d74a9(0x176)],'parentTaskId':_0x1fdcd8[_0x1d74a9(0x1c6)]||null,'networkId':_0x1fdcd8['networkId']||null,'transport':_0x1d74a9(0x1b5),'lifecycleTracking':'not_tracked'},_0x2dcd9d);}class $ extends a0_0x345dea{['url'];[a0_0x3caadc(0x176)];[a0_0x3caadc(0x1ba)];[a0_0x3caadc(0x166)];['resumeId'];[a0_0x3caadc(0x179)];['reconnectDelay'];[a0_0x3caadc(0x19d)];[a0_0x3caadc(0x163)];[a0_0x3caadc(0x15e)]=!0x1;constructor(_0xb18629){const _0x20c5ae=a0_0x3caadc;super();if(this[_0x20c5ae(0x14f)]=_0xb18629[_0x20c5ae(0x14f)][_0x20c5ae(0x1ae)](/\/$/,''),this[_0x20c5ae(0x176)]=_0xb18629[_0x20c5ae(0x176)],this[_0x20c5ae(0x1ba)]=_0xb18629['token'],this[_0x20c5ae(0x166)]=_0xb18629[_0x20c5ae(0x166)]||_0x20c5ae(0x153),this[_0x20c5ae(0x1a4)]=_0x20c5ae(0x1b3)+_0xb18629[_0x20c5ae(0x176)]+'-'+Date['now']()[_0x20c5ae(0x152)](0x24),this[_0x20c5ae(0x179)]=_0xb18629[_0x20c5ae(0x179)]??0x2bf20,this[_0x20c5ae(0x17d)]=_0xb18629[_0x20c5ae(0x17d)]??0xbb8,_0xb18629['autoConnect']!==!0x1)this[_0x20c5ae(0x178)]();}[a0_0x3caadc(0x198)](_0x320ff9){const _0x46b288=a0_0x3caadc;console[_0x46b288(0x198)]('['+new Date()['toTimeString']()[_0x46b288(0x154)](0x0,0x8)+_0x46b288(0x1b9)+this[_0x46b288(0x176)]+']\x20'+_0x320ff9);}async['call'](_0x3bc3a8,_0x470fb0){const _0x26593c=a0_0x3caadc;let _0x43c42a={'Content-Type':'application/json','Accept':_0x26593c(0x196)};if(this[_0x26593c(0x1ba)])_0x43c42a[_0x26593c(0x18d)]='Bearer\x20'+this[_0x26593c(0x1ba)];let _0x5f020c=await(await fetch(this['url']+'/mcp',{'method':'POST','headers':_0x43c42a,'body':JSON[_0x26593c(0x1c4)]({'jsonrpc':'2.0','id':Date['now'](),'method':'tools/call','params':{'name':_0x3bc3a8,'arguments':_0x470fb0}})}))['text'](),_0x2ac740=_0x5f020c['match'](/data: (.+)/),_0x5cb15b=_0x2ac740?JSON['parse'](_0x2ac740[0x1]):JSON[_0x26593c(0x19f)](_0x5f020c),_0x2cdc1d=_0x5cb15b?.['result']?.[_0x26593c(0x177)]?.[0x0]?.[_0x26593c(0x1c2)];return _0x2cdc1d?JSON[_0x26593c(0x19f)](_0x2cdc1d):_0x5cb15b;}async[a0_0x3caadc(0x178)](){const _0x189c6e=a0_0x3caadc;if(this[_0x189c6e(0x15e)])return;this['running']=!0x0,await this[_0x189c6e(0x195)](_0x189c6e(0x193)),this[_0x189c6e(0x198)](_0x189c6e(0x1bc)),this['heartbeatTimer']=setInterval(()=>{const _0xbcd4de=_0x189c6e;this[_0xbcd4de(0x195)](_0xbcd4de(0x193))[_0xbcd4de(0x186)](_0x1d6631=>this[_0xbcd4de(0x198)]('heartbeat\x20failed:\x20'+_0x1d6631['message']));},this[_0x189c6e(0x179)]),this[_0x189c6e(0x157)]();}async[a0_0x3caadc(0x1b8)](){const _0x217993=a0_0x3caadc;if(this[_0x217993(0x15e)]=!0x1,this[_0x217993(0x163)]?.[_0x217993(0x1cc)](),this[_0x217993(0x19d)])clearInterval(this[_0x217993(0x19d)]);await this['status'](_0x217993(0x199))['catch'](()=>{}),this[_0x217993(0x198)](_0x217993(0x1af));}async[a0_0x3caadc(0x169)](_0x4ef5b8,_0x856bc,_0x53ae19=a0_0x3caadc(0x19c)){const _0x3c97e2=a0_0x3caadc;return Y({'alias':_0x4ef5b8,'fromAlias':this[_0x3c97e2(0x176)]},{'log':_0x34f57b=>console[_0x3c97e2(0x198)](_0x34f57b),'send':()=>this[_0x3c97e2(0x184)]('send_task',{'alias':_0x4ef5b8,'task':_0x856bc,'priority':_0x53ae19,'from_session':this['alias']})});}async[a0_0x3caadc(0x1ad)](_0x5aea61,_0x2d40e0){const _0x3bde78=a0_0x3caadc;return this[_0x3bde78(0x184)]('send_message',{'alias':_0x5aea61,'message':_0x2d40e0,'from_session':this[_0x3bde78(0x176)]});}async[a0_0x3caadc(0x19e)](_0x164bbd,_0x16e1cc,_0x1bcd8d=a0_0x3caadc(0x170)){const _0x44600e=a0_0x3caadc;return this[_0x44600e(0x184)](_0x44600e(0x1c0),{'in_reply_to':_0x164bbd,'text':_0x16e1cc,'status':_0x1bcd8d});}async[a0_0x3caadc(0x195)](_0x19f80a,_0x26cd60){const _0xb5c040=a0_0x3caadc;return this[_0xb5c040(0x184)](_0xb5c040(0x182),{'resume_id':this[_0xb5c040(0x1a4)],'alias':this['alias'],'status':_0x19f80a,'server':a0_0x1e075f(),'hostname':a0_0x1e075f(),'agent':this[_0xb5c040(0x166)],'project_dir':process[_0xb5c040(0x1bd)](),..._0x26cd60});}async[a0_0x3caadc(0x159)](){const _0x221233=a0_0x3caadc;return this[_0x221233(0x184)](_0x221233(0x15c),{});}async[a0_0x3caadc(0x1bf)](_0x1fc507,_0x3ba774){const _0x2e6369=a0_0x3caadc;return this[_0x2e6369(0x184)](_0x2e6369(0x1bf),{'message':_0x1fc507,'filter_server':_0x3ba774?.[_0x2e6369(0x18f)],'filter_status':_0x3ba774?.[_0x2e6369(0x195)]});}async['connectSSE'](){const _0x3e4aeb=a0_0x3caadc;let _0x42b9b7=encodeURIComponent(this[_0x3e4aeb(0x176)]),_0x48b2cd=this['url']+_0x3e4aeb(0x1ab)+_0x42b9b7,_0x20e3da=this[_0x3e4aeb(0x17d)];while(this[_0x3e4aeb(0x15e)]){try{this[_0x3e4aeb(0x163)]=new AbortController();let _0x20207e={'Accept':_0x3e4aeb(0x17f)};if(this[_0x3e4aeb(0x1ba)])_0x20207e[_0x3e4aeb(0x18d)]=_0x3e4aeb(0x181)+this['token'];let _0x500167=await fetch(_0x48b2cd,{'headers':_0x20207e,'signal':this['sseAbort']['signal']});if(!_0x500167['ok']||!_0x500167[_0x3e4aeb(0x16a)]){this[_0x3e4aeb(0x198)](_0x3e4aeb(0x1c1)+_0x500167[_0x3e4aeb(0x195)]),await this[_0x3e4aeb(0x16c)](_0x20e3da),_0x20e3da=Math[_0x3e4aeb(0x173)](_0x20e3da*1.5,0xea60);continue;}_0x20e3da=this[_0x3e4aeb(0x17d)];let _0x226bc4=_0x500167[_0x3e4aeb(0x16a)][_0x3e4aeb(0x1a1)](),_0xf0b77a=new TextDecoder(),_0x3ec7fb='';while(this[_0x3e4aeb(0x15e)]){let {done:_0x45669c,value:_0x217644}=await _0x226bc4[_0x3e4aeb(0x172)]();if(_0x45669c)break;_0x3ec7fb+=_0xf0b77a['decode'](_0x217644,{'stream':!0x0});let _0x264810=_0x3ec7fb[_0x3e4aeb(0x161)]('\x0a');_0x3ec7fb=_0x264810[_0x3e4aeb(0x185)]()||'';for(let _0x94c486 of _0x264810){if(!_0x94c486[_0x3e4aeb(0x197)](_0x3e4aeb(0x190)))continue;try{let _0x322bde=JSON[_0x3e4aeb(0x19f)](_0x94c486['slice'](0x6));if(_0x322bde['type']==='connected'){this[_0x3e4aeb(0x198)](_0x3e4aeb(0x165)),this[_0x3e4aeb(0x167)]('connected');continue;}if(_0x322bde['type']===_0x3e4aeb(0x1be)||_0x322bde[_0x3e4aeb(0x1bb)]==='new_message'||_0x322bde[_0x3e4aeb(0x1bb)]===_0x3e4aeb(0x1bf))await this[_0x3e4aeb(0x1b6)]();}catch{}}}}catch(_0x36cddc){if(_0x36cddc[_0x3e4aeb(0x19b)]==='AbortError')break;this['emit'](_0x3e4aeb(0x1c5),_0x36cddc),this[_0x3e4aeb(0x198)](_0x3e4aeb(0x174)+_0x36cddc[_0x3e4aeb(0x1ad)]);}if(this['running'])this['emit'](_0x3e4aeb(0x1af)),this[_0x3e4aeb(0x198)](_0x3e4aeb(0x192)+_0x20e3da/0x3e8+_0x3e4aeb(0x1b0)),await this[_0x3e4aeb(0x16c)](_0x20e3da),_0x20e3da=Math[_0x3e4aeb(0x173)](_0x20e3da*1.5,0xea60);}}async['processInbox'](){const _0x34ab19=a0_0x3caadc;try{let _0x4e8f4f=(await this['call'](_0x34ab19(0x16e),{'alias':this[_0x34ab19(0x176)],'limit':0xa}))?.['messages']||[];for(let _0x2fbd27 of _0x4e8f4f)await this['call'](_0x34ab19(0x158),{'alias':this['alias'],'message_id':_0x2fbd27['id']}),this[_0x34ab19(0x198)]('←\x20'+_0x2fbd27['from_session']+':\x20'+_0x2fbd27['content']['slice'](0x0,0x3c)),this[_0x34ab19(0x167)](_0x34ab19(0x162),_0x2fbd27),this[_0x34ab19(0x167)](_0x34ab19(0x1ad),_0x2fbd27);}catch(_0x78a348){this[_0x34ab19(0x198)]('inbox\x20error:\x20'+_0x78a348[_0x34ab19(0x1ad)]);}}[a0_0x3caadc(0x16c)](_0x1094d5){return new Promise(_0x2982a6=>setTimeout(_0x2982a6,_0x1094d5));}}function a0_0x1e49(){const _0x5b459a=['167949WRDwPl','<pending>','now','reconnectDelay','fromAlias','text/event-stream','json','Bearer\x20','report_status','<unknown>','call','pop','catch','unknown\x20error','from_alias','\x20from=','networkId','4470776nsxWId','task.started','Authorization','[commhub:task]\x20','server','data:\x20','task.replied','SSE\x20reconnecting\x20in\x20','idle','error_code','status','application/json,\x20text/event-stream','startsWith','log','offline','\x20network_id=','name','normal','heartbeatTimer','reply','parse','task.expired','getReader','1597620QueZMA','lifecycle_tracking','resumeId','CommHub\x20rejected\x20task','task.send.failed','\x20to=','<missing>','6KkTlKK','failed','/events/','send_failed','message','replace','disconnected','s...','duration_ms','\x20parent_task_id=','sdk-','network_id','mcp_http','processInbox','lifecycleTracking','disconnect',']\x20[commhub:','token','type','registered','cwd','new_task','broadcast','send_reply','SSE\x20failed:\x20','text','CommHub\x20response\x20omitted\x20task_id','stringify','error','parentTaskId','to_alias','task.ack','206784wUuewm','[REDACTED]','task_id','abort','error_message','url','414651XonMgI','4510100RDmLvV','toString','sdk','slice','string','20oKEJdO','connectSSE','ack_inbox','getAllStatus','\x20duration_ms=','\x20transport=','get_all_status','transport','running','message_id','missing_task_id','split','task','sseAbort','parent_task_id','SSE\x20connected','agent','emit','sending','send','body','4NqDFeZ','sleep','1786485CYdZxD','get_inbox','\x20lifecycle=','completed','delivered','read','min','SSE\x20error:\x20','send_rejected','alias','content','connect','heartbeatInterval'];a0_0x1e49=function(){return _0x5b459a;};return a0_0x1e49();}var F=$;export{F as default,$ as CommHub};
1
+ const a0_0x55e633=a0_0x3693;(function(_0x3fae93,_0x40a9dc){const _0x13071f=a0_0x3693,_0x10b107=_0x3fae93();while(!![]){try{const _0x49fbab=-parseInt(_0x13071f(0x103))/0x1+parseInt(_0x13071f(0x154))/0x2*(-parseInt(_0x13071f(0x167))/0x3)+parseInt(_0x13071f(0x11e))/0x4+-parseInt(_0x13071f(0x138))/0x5*(parseInt(_0x13071f(0x12a))/0x6)+-parseInt(_0x13071f(0x124))/0x7+parseInt(_0x13071f(0x142))/0x8*(-parseInt(_0x13071f(0x155))/0x9)+parseInt(_0x13071f(0x145))/0xa;if(_0x49fbab===_0x40a9dc)break;else _0x10b107['push'](_0x10b107['shift']());}catch(_0x2925eb){_0x10b107['push'](_0x10b107['shift']());}}}(a0_0x4d95,0xcc8fd));import{EventEmitter as a0_0x613f9f}from'events';import{hostname as a0_0x4de8e5}from'os';function a0_0x3693(_0x7e6f01,_0x980096){_0x7e6f01=_0x7e6f01-0xfb;const _0x4d9567=a0_0x4d95();let _0x369370=_0x4d9567[_0x7e6f01];return _0x369370;}function a0_0x4d95(){const _0x2c9832=['read','task.started','inbox\x20error:\x20','\x20lifecycle=','message','slice','cwd','heartbeatInterval','messages','1205184rtIzHV','result','text','content','json','lifecycleTracking','544824LpbNGl','connected','application/json','now','min','failed','728016akFdCL','status','type','running','lifecycle_tracking','new_message','network_id','<unknown>','mcp_http','text/event-stream','\x20transport=','\x20duration_ms=','report_status','alias','35rXUahm','get_inbox','not_tracked','\x20to=','broadcast','transport','reply','from_session','\x20network_id=','connectSSE','8odQWcI','sending','/mcp','43803160mbXVuX','/events/','normal','getReader','\x20from=','[REDACTED]','Authorization','\x20error=','CommHub\x20response\x20omitted\x20task_id','disconnected','message_id','toString','task.send.failed','connect','<pending>','10OBKFjo','6453585ZHHzhy','resumeId','task.send.start','send_failed','toAlias','[commhub:task]\x20','offline','catch','agent','name','stringify','reconnectDelay','SSE\x20error:\x20','emit','heartbeatTimer','server','from_alias','task.replied','814446eINhJM','2.0','missing_task_id','<missing>','fromAlias','parse','log','SSE\x20connected','completed','\x20parent_task_id=','task_id','idle','getAllStatus','application/json,\x20text/event-stream','sdk-','error_code','url','token','signal','duration_ms','error','parentTaskId','call','send','SSE\x20reconnecting\x20in\x20','send_message','842068YDDjLI','body','networkId','processInbox','pop','task','replace','decode','match','task.send.delivered','disconnect','task.expired','sleep','send_task','task.ack','AbortError','tools/call','new_task'];a0_0x4d95=function(){return _0x2c9832;};return a0_0x4d95();}var K=/(?:atok|ntok|utok|ghp|github_pat)_[A-Za-z0-9_-]+|Bearer\s+\S+/gi,L=(_0x3e60ef,_0x455f3b)=>(_0x3e60ef??_0x455f3b)[a0_0x55e633(0x109)](/[\r\n\x00-\x1f\x7f]/g,'\x20')['slice'](0x0,0xf0);function N(_0x3374c6){const _0x41e62a=a0_0x55e633;return(_0x3374c6 instanceof Error?_0x3374c6[_0x41e62a(0x119)]:String(_0x3374c6??'unknown\x20error'))['replace'](K,_0x41e62a(0x14a))[_0x41e62a(0x109)](/[\r\n\x00-\x1f\x7f]/g,'\x20')[_0x41e62a(0x11a)](0x0,0xf0);}function O(_0x15c3c1,_0x806c93=process.env.ANET_TASK_TRACE_FORMAT===a0_0x55e633(0x122)){const _0x4b463d=a0_0x55e633;if(_0x806c93)return JSON['stringify'](_0x15c3c1);let _0x5f8617=L(_0x15c3c1['parent_task_id'],_0x4b463d(0x16a)),_0x4349be=L(_0x15c3c1[_0x4b463d(0x171)],_0x4b463d(0x153)),_0x12ad76=_0x15c3c1[_0x4b463d(0x176)]?_0x4b463d(0x14c)+_0x15c3c1[_0x4b463d(0x176)]+':'+(_0x15c3c1['error_message']??''):'';return _0x4b463d(0x15a)+_0x15c3c1[_0x4b463d(0x12b)]+_0x4b463d(0x149)+L(_0x15c3c1[_0x4b463d(0x165)],_0x4b463d(0x131))+_0x4b463d(0x13b)+L(_0x15c3c1['to_alias'],_0x4b463d(0x131))+'\x20task_id='+_0x4349be+_0x4b463d(0x170)+_0x5f8617+_0x4b463d(0x140)+L(_0x15c3c1[_0x4b463d(0x130)],_0x4b463d(0x131))+_0x4b463d(0x134)+_0x15c3c1[_0x4b463d(0x13d)]+_0x4b463d(0x135)+_0x15c3c1[_0x4b463d(0xfc)]+_0x4b463d(0x118)+_0x15c3c1[_0x4b463d(0x12e)]+_0x12ad76;}function U(_0x62b3db){const _0x1e2d09=a0_0x55e633;return{'event':{'sending':_0x1e2d09(0x157),'delivered':_0x1e2d09(0x10c),'failed':_0x1e2d09(0x151),'acked':_0x1e2d09(0x111),'started':_0x1e2d09(0x116),'replied':_0x1e2d09(0x166),'expired':_0x1e2d09(0x10e)}[_0x62b3db[_0x1e2d09(0x12b)]],..._0x62b3db};}function j(_0x42e04d){const _0x287406=a0_0x55e633;let _0x24b566=_0x42e04d?.[_0x287406(0x171)]||_0x42e04d?.[_0x287406(0x14f)]||_0x42e04d?.['id'];if(_0x24b566)return String(_0x24b566);let _0x87a7da=_0x42e04d?.['content']?.[0x0]?.['text'];if(typeof _0x87a7da!=='string')return null;try{let _0x4b38f9=JSON[_0x287406(0x16c)](_0x87a7da);return _0x4b38f9?.[_0x287406(0x171)]||_0x4b38f9?.[_0x287406(0x14f)]||_0x4b38f9?.['id']||null;}catch{return null;}}async function X(_0x1b8a69,_0x50dedb){const _0x18b736=a0_0x55e633;let _0x3b7511=_0x50dedb[_0x18b736(0x127)]??Date[_0x18b736(0x127)],_0x39c815=_0x3b7511(),_0x14ae51=(_0x411cec,_0x1a525a,_0x525889,_0x378645)=>{const _0x4f2a70=_0x18b736;_0x50dedb[_0x4f2a70(0x16d)](O(U({'from_alias':_0x1b8a69[_0x4f2a70(0x16b)],'to_alias':_0x1b8a69[_0x4f2a70(0x159)],'task_id':_0x1a525a,'parent_task_id':_0x1b8a69[_0x4f2a70(0xfe)],'network_id':_0x1b8a69[_0x4f2a70(0x105)],'transport':_0x1b8a69['transport'],'status':_0x411cec,'duration_ms':_0x3b7511()-_0x39c815,'lifecycle_tracking':_0x1b8a69[_0x4f2a70(0x123)],..._0x525889!==void 0x0?{'error_code':_0x378645||_0x4f2a70(0x158),'error_message':N(_0x525889)}:{}})));};_0x14ae51(_0x18b736(0x143),null);try{let _0x3ea21a=await _0x50dedb['send'](),_0x10bacc=j(_0x3ea21a);if(_0x10bacc)_0x14ae51('delivered',_0x10bacc);else{if(_0x3ea21a?.['ok']===!0x1||_0x3ea21a?.[_0x18b736(0xfd)])_0x14ae51(_0x18b736(0x129),_0x10bacc,_0x3ea21a?.[_0x18b736(0xfd)]||'CommHub\x20rejected\x20task','send_rejected');else _0x14ae51(_0x18b736(0x129),null,_0x18b736(0x14d),_0x18b736(0x169));}return _0x3ea21a;}catch(_0x43bdc4){throw _0x14ae51(_0x18b736(0x129),null,_0x43bdc4,_0x18b736(0x158)),_0x43bdc4;}}async function Y(_0x21b699,_0x178f98){const _0x5a0199=a0_0x55e633;return X({'fromAlias':_0x21b699[_0x5a0199(0x16b)],'toAlias':_0x21b699['alias'],'parentTaskId':_0x21b699['parentTaskId']||null,'networkId':_0x21b699['networkId']||null,'transport':_0x5a0199(0x132),'lifecycleTracking':_0x5a0199(0x13a)},_0x178f98);}class $ extends a0_0x613f9f{[a0_0x55e633(0x177)];['alias'];[a0_0x55e633(0x178)];[a0_0x55e633(0x15d)];[a0_0x55e633(0x156)];['heartbeatInterval'];[a0_0x55e633(0x160)];[a0_0x55e633(0x163)];['sseAbort'];[a0_0x55e633(0x12d)]=!0x1;constructor(_0x2007cd){const _0x3237ac=a0_0x55e633;super();if(this[_0x3237ac(0x177)]=_0x2007cd[_0x3237ac(0x177)][_0x3237ac(0x109)](/\/$/,''),this[_0x3237ac(0x137)]=_0x2007cd[_0x3237ac(0x137)],this[_0x3237ac(0x178)]=_0x2007cd[_0x3237ac(0x178)],this[_0x3237ac(0x15d)]=_0x2007cd['agent']||'sdk',this[_0x3237ac(0x156)]=_0x3237ac(0x175)+_0x2007cd['alias']+'-'+Date['now']()[_0x3237ac(0x150)](0x24),this[_0x3237ac(0x11c)]=_0x2007cd['heartbeatInterval']??0x2bf20,this[_0x3237ac(0x160)]=_0x2007cd[_0x3237ac(0x160)]??0xbb8,_0x2007cd['autoConnect']!==!0x1)this['connect']();}[a0_0x55e633(0x16d)](_0x517b8e){const _0x380af4=a0_0x55e633;console[_0x380af4(0x16d)]('['+new Date()['toTimeString']()[_0x380af4(0x11a)](0x0,0x8)+']\x20[commhub:'+this[_0x380af4(0x137)]+']\x20'+_0x517b8e);}async[a0_0x55e633(0xff)](_0x47fab2,_0x3bf43f){const _0x28c4c3=a0_0x55e633;let _0xb84bd1={'Content-Type':_0x28c4c3(0x126),'Accept':_0x28c4c3(0x174)};if(this[_0x28c4c3(0x178)])_0xb84bd1[_0x28c4c3(0x14b)]='Bearer\x20'+this[_0x28c4c3(0x178)];let _0x2c9322=await(await fetch(this['url']+_0x28c4c3(0x144),{'method':'POST','headers':_0xb84bd1,'body':JSON[_0x28c4c3(0x15f)]({'jsonrpc':_0x28c4c3(0x168),'id':Date[_0x28c4c3(0x127)](),'method':_0x28c4c3(0x113),'params':{'name':_0x47fab2,'arguments':_0x3bf43f}})}))[_0x28c4c3(0x120)](),_0x1246cc=_0x2c9322[_0x28c4c3(0x10b)](/data: (.+)/),_0x4d4c58=_0x1246cc?JSON[_0x28c4c3(0x16c)](_0x1246cc[0x1]):JSON[_0x28c4c3(0x16c)](_0x2c9322),_0x11b802=_0x4d4c58?.[_0x28c4c3(0x11f)]?.[_0x28c4c3(0x121)]?.[0x0]?.[_0x28c4c3(0x120)];return _0x11b802?JSON[_0x28c4c3(0x16c)](_0x11b802):_0x4d4c58;}async[a0_0x55e633(0x152)](){const _0x5b3bdf=a0_0x55e633;if(this[_0x5b3bdf(0x12d)])return;this[_0x5b3bdf(0x12d)]=!0x0,await this['status'](_0x5b3bdf(0x172)),this[_0x5b3bdf(0x16d)]('registered'),this[_0x5b3bdf(0x163)]=setInterval(()=>{const _0x410903=_0x5b3bdf;this[_0x410903(0x12b)](_0x410903(0x172))[_0x410903(0x15c)](_0x164191=>this[_0x410903(0x16d)]('heartbeat\x20failed:\x20'+_0x164191[_0x410903(0x119)]));},this['heartbeatInterval']),this[_0x5b3bdf(0x141)]();}async[a0_0x55e633(0x10d)](){const _0x3bad82=a0_0x55e633;if(this[_0x3bad82(0x12d)]=!0x1,this['sseAbort']?.['abort'](),this[_0x3bad82(0x163)])clearInterval(this['heartbeatTimer']);await this['status'](_0x3bad82(0x15b))[_0x3bad82(0x15c)](()=>{}),this['log'](_0x3bad82(0x14e));}async[a0_0x55e633(0x100)](_0xbf9245,_0x3fc3f7,_0x205251=a0_0x55e633(0x147)){const _0x148da7=a0_0x55e633;return Y({'alias':_0xbf9245,'fromAlias':this[_0x148da7(0x137)]},{'log':_0x531897=>console[_0x148da7(0x16d)](_0x531897),'send':()=>this['call'](_0x148da7(0x110),{'alias':_0xbf9245,'task':_0x3fc3f7,'priority':_0x205251,'from_session':this['alias']})});}async[a0_0x55e633(0x119)](_0x38cb48,_0x405f74){const _0x39809f=a0_0x55e633;return this[_0x39809f(0xff)](_0x39809f(0x102),{'alias':_0x38cb48,'message':_0x405f74,'from_session':this[_0x39809f(0x137)]});}async[a0_0x55e633(0x13e)](_0x4521b4,_0x10845a,_0x4a75fc=a0_0x55e633(0x16f)){const _0x2eca70=a0_0x55e633;return this[_0x2eca70(0xff)]('send_reply',{'in_reply_to':_0x4521b4,'text':_0x10845a,'status':_0x4a75fc});}async[a0_0x55e633(0x12b)](_0x3a401c,_0x3b0d99){const _0x44024d=a0_0x55e633;return this['call'](_0x44024d(0x136),{'resume_id':this[_0x44024d(0x156)],'alias':this[_0x44024d(0x137)],'status':_0x3a401c,'server':a0_0x4de8e5(),'hostname':a0_0x4de8e5(),'agent':this[_0x44024d(0x15d)],'project_dir':process[_0x44024d(0x11b)](),..._0x3b0d99});}async[a0_0x55e633(0x173)](){const _0x2a87db=a0_0x55e633;return this[_0x2a87db(0xff)]('get_all_status',{});}async[a0_0x55e633(0x13c)](_0x4d2ecb,_0x2641b9){const _0x57d64e=a0_0x55e633;return this[_0x57d64e(0xff)](_0x57d64e(0x13c),{'message':_0x4d2ecb,'filter_server':_0x2641b9?.[_0x57d64e(0x164)],'filter_status':_0x2641b9?.[_0x57d64e(0x12b)]});}async[a0_0x55e633(0x141)](){const _0x3a72c1=a0_0x55e633;let _0x9bf425=encodeURIComponent(this[_0x3a72c1(0x137)]),_0x98bd5f=this[_0x3a72c1(0x177)]+_0x3a72c1(0x146)+_0x9bf425,_0x2679cb=this[_0x3a72c1(0x160)];while(this['running']){try{this['sseAbort']=new AbortController();let _0x25814e={'Accept':_0x3a72c1(0x133)};if(this['token'])_0x25814e['Authorization']='Bearer\x20'+this[_0x3a72c1(0x178)];let _0xa9c475=await fetch(_0x98bd5f,{'headers':_0x25814e,'signal':this['sseAbort'][_0x3a72c1(0xfb)]});if(!_0xa9c475['ok']||!_0xa9c475[_0x3a72c1(0x104)]){this[_0x3a72c1(0x16d)]('SSE\x20failed:\x20'+_0xa9c475[_0x3a72c1(0x12b)]),await this['sleep'](_0x2679cb),_0x2679cb=Math[_0x3a72c1(0x128)](_0x2679cb*1.5,0xea60);continue;}_0x2679cb=this['reconnectDelay'];let _0xc2cc=_0xa9c475['body'][_0x3a72c1(0x148)](),_0x24f0ae=new TextDecoder(),_0x4da92c='';while(this['running']){let {done:_0x3b9680,value:_0x438beb}=await _0xc2cc[_0x3a72c1(0x115)]();if(_0x3b9680)break;_0x4da92c+=_0x24f0ae[_0x3a72c1(0x10a)](_0x438beb,{'stream':!0x0});let _0x314796=_0x4da92c['split']('\x0a');_0x4da92c=_0x314796[_0x3a72c1(0x107)]()||'';for(let _0x3e41c8 of _0x314796){if(!_0x3e41c8['startsWith']('data:\x20'))continue;try{let _0x26eaee=JSON['parse'](_0x3e41c8['slice'](0x6));if(_0x26eaee[_0x3a72c1(0x12c)]===_0x3a72c1(0x125)){this[_0x3a72c1(0x16d)](_0x3a72c1(0x16e)),this[_0x3a72c1(0x162)]('connected');continue;}if(_0x26eaee['type']===_0x3a72c1(0x114)||_0x26eaee[_0x3a72c1(0x12c)]===_0x3a72c1(0x12f)||_0x26eaee[_0x3a72c1(0x12c)]===_0x3a72c1(0x13c))await this[_0x3a72c1(0x106)]();}catch{}}}}catch(_0x28f2c9){if(_0x28f2c9[_0x3a72c1(0x15e)]===_0x3a72c1(0x112))break;this[_0x3a72c1(0x162)](_0x3a72c1(0xfd),_0x28f2c9),this[_0x3a72c1(0x16d)](_0x3a72c1(0x161)+_0x28f2c9[_0x3a72c1(0x119)]);}if(this[_0x3a72c1(0x12d)])this[_0x3a72c1(0x162)](_0x3a72c1(0x14e)),this['log'](_0x3a72c1(0x101)+_0x2679cb/0x3e8+'s...'),await this[_0x3a72c1(0x10f)](_0x2679cb),_0x2679cb=Math[_0x3a72c1(0x128)](_0x2679cb*1.5,0xea60);}}async[a0_0x55e633(0x106)](){const _0xa6e61=a0_0x55e633;try{let _0x104d69=(await this[_0xa6e61(0xff)](_0xa6e61(0x139),{'alias':this['alias'],'limit':0xa}))?.[_0xa6e61(0x11d)]||[];for(let _0x9dab26 of _0x104d69)await this[_0xa6e61(0xff)]('ack_inbox',{'alias':this['alias'],'message_id':_0x9dab26['id']}),this['log']('←\x20'+_0x9dab26[_0xa6e61(0x13f)]+':\x20'+_0x9dab26[_0xa6e61(0x121)]['slice'](0x0,0x3c)),this[_0xa6e61(0x162)](_0xa6e61(0x108),_0x9dab26),this[_0xa6e61(0x162)](_0xa6e61(0x119),_0x9dab26);}catch(_0x174ec3){this['log'](_0xa6e61(0x117)+_0x174ec3[_0xa6e61(0x119)]);}}[a0_0x55e633(0x10f)](_0x181ea6){return new Promise(_0x1dac04=>setTimeout(_0x1dac04,_0x181ea6));}}var F=$;export{F as default,$ as CommHub};
@@ -51,3 +51,41 @@ export interface ForkSides {
51
51
  }
52
52
  /** fork_isolation:身份 / HOME / thread / rollout 文件 / tmux 名五处都不同,且 rollout 是等长复制、没带 token 文件。 */
53
53
  export declare function checkForkIsolation(s: ForkSides): ReceiptCheck;
54
+ /** gap 1 — `--workdir` used to have to pre-exist. Create it (recursively) when missing; still refuse a path that exists
55
+ * but is not a directory. Returns whether this call created it, so the receipt can say so. */
56
+ export declare function ensureForkWorkdir(path: string): {
57
+ created: boolean;
58
+ };
59
+ /**
60
+ * gap 2 — codex records trust per workspace as `[projects."<abs path>"]` tables in config.toml. A copied config still
61
+ * names the **source** workspace, so the target keeps trusting (and, in the TUI, offering) the wrong directory.
62
+ * Rewrite only the table headers whose quoted path equals `from`, to `to`; every other line is left byte-identical.
63
+ * If a `[projects."<to>"]` table already exists, the source table is dropped instead of duplicated (TOML forbids
64
+ * defining a table twice). Line-aware on purpose: no global substitution of the path string elsewhere in the file.
65
+ */
66
+ export declare function rewriteTrustedProjects(toml: string, from: string, to: string): {
67
+ text: string;
68
+ rewritten: number;
69
+ dropped: number;
70
+ };
71
+ /**
72
+ * gap 3 — the last `turn_context` in a rollout names the model (and provider) the source ran on; codex resumes with
73
+ * that unless the target config says otherwise. Read it from the tail of the file (rollouts reach hundreds of MB;
74
+ * never load the whole thing) so `fork --model` can warn when the override differs.
75
+ */
76
+ export declare function readLastTurnContextModel(rolloutPath: string, tailBytes?: number): {
77
+ model: string | null;
78
+ provider: string | null;
79
+ };
80
+ /** What the fork receipt records for the #1951 gaps, as one informational check (never blocks; `port` is the
81
+ * loopback port pre-assigned for the app-server, first start uses it as its preferred port and re-probes if taken). */
82
+ export interface ForkGapFacts {
83
+ readonly workdir_created: boolean;
84
+ readonly trusted_rewritten: number;
85
+ readonly trusted_dropped: number;
86
+ readonly model_override: string | null;
87
+ readonly source_last_model: string | null;
88
+ readonly port: number | null;
89
+ readonly agents_md_carried: boolean;
90
+ }
91
+ export declare function forkGapsCheck(f: ForkGapFacts): ReceiptCheck;