@sleep2agi/agent-network 2.3.0-preview.103 → 2.3.0-preview.106

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_0x78f856=a0_0x4c67;(function(_0x15b692,_0x3456c4){const _0x209c6b=a0_0x4c67,_0x3efb04=_0x15b692();while(!![]){try{const _0x8d47c2=-parseInt(_0x209c6b(0x260))/0x1*(-parseInt(_0x209c6b(0x253))/0x2)+-parseInt(_0x209c6b(0x267))/0x3+-parseInt(_0x209c6b(0x20f))/0x4*(parseInt(_0x209c6b(0x22d))/0x5)+-parseInt(_0x209c6b(0x224))/0x6*(parseInt(_0x209c6b(0x24a))/0x7)+-parseInt(_0x209c6b(0x20a))/0x8*(-parseInt(_0x209c6b(0x214))/0x9)+parseInt(_0x209c6b(0x23d))/0xa*(parseInt(_0x209c6b(0x24f))/0xb)+-parseInt(_0x209c6b(0x226))/0xc*(-parseInt(_0x209c6b(0x1f6))/0xd);if(_0x8d47c2===_0x3456c4)break;else _0x3efb04['push'](_0x3efb04['shift']());}catch(_0x54073c){_0x3efb04['push'](_0x3efb04['shift']());}}}(a0_0x5c99,0x420b8));import{EventEmitter as a0_0x33dc6a}from'events';function a0_0x5c99(){const _0x460a75=['700TvyqFl','failed','toAlias','application/json','name','Bearer\x20',']\x20[commhub:','new_task','call','<unknown>','running','alias','error_message','/events/','catch','error_code','631010yyjfMO','\x20to=','body','split','\x20lifecycle=','resumeId','url','connected','Authorization','data:\x20','autoConnect','sdk-','text/event-stream','21679NUkNCD','lifecycle_tracking','text','AbortError','SSE\x20reconnecting\x20in\x20','11zEEdYb','tools/call','duration_ms','task.started','17264qslVub','sdk','read','lifecycleTracking','type','transport','CommHub\x20rejected\x20task','\x20network_id=','content','send_reply','delivered','log','completed','24UCPqKX','task.send.delivered','missing_task_id','task','getReader','task.send.start','get_all_status','421566mpMbAa','result','to_alias','[REDACTED]','fromAlias','min','registered','SSE\x20error:\x20','reconnectDelay','POST','mcp_http','token','task.send.failed','now','\x20from=','string','send','<pending>','task_id','[commhub:task]\x20','networkId','getAllStatus','broadcast','13KTmDyV','<missing>','decode','sending','agent','parse','2.0','disconnect','messages','processInbox','\x20transport=','idle','abort','\x20duration_ms=','send_failed','\x20parent_task_id=','task.replied','startsWith','replace','from_session','24tqShIF','send_message','\x20error=','new_message','heartbeatInterval','3028azISMc','server','ack_inbox','emit','sleep','78129xeRKkB','CommHub\x20response\x20omitted\x20task_id','heartbeatTimer','inbox\x20error:\x20','status','normal','SSE\x20failed:\x20','disconnected','pop','stringify','match','task.expired','signal','heartbeat\x20failed:\x20','reply','task.ack','894tUxpZz','sseAbort','8185956tqZFPl','message','message_id','not_tracked','connectSSE','slice','error'];a0_0x5c99=function(){return _0x460a75;};return a0_0x5c99();}import{hostname as a0_0x3cb95e}from'os';var K=/(?:atok|ntok|utok|ghp|github_pat)_[A-Za-z0-9_-]+|Bearer\s+\S+/gi,L=(_0x55332b,_0x293f6f)=>(_0x55332b??_0x293f6f)['replace'](/[\r\n\x00-\x1f\x7f]/g,'\x20')[a0_0x78f856(0x22b)](0x0,0xf0);function N(_0x10a0ae){const _0x32b73e=a0_0x78f856;return(_0x10a0ae instanceof Error?_0x10a0ae['message']:String(_0x10a0ae??'unknown\x20error'))[_0x32b73e(0x208)](K,_0x32b73e(0x26a))[_0x32b73e(0x208)](/[\r\n\x00-\x1f\x7f]/g,'\x20')[_0x32b73e(0x22b)](0x0,0xf0);}function O(_0x159a22,_0x1e8c9c=process.env.ANET_TASK_TRACE_FORMAT==='json'){const _0x3c8ea0=a0_0x78f856;if(_0x1e8c9c)return JSON['stringify'](_0x159a22);let _0x8521db=L(_0x159a22['parent_task_id'],_0x3c8ea0(0x1f7)),_0x1b276e=L(_0x159a22[_0x3c8ea0(0x1f1)],_0x3c8ea0(0x1f0)),_0x52375d=_0x159a22[_0x3c8ea0(0x23c)]?_0x3c8ea0(0x20c)+_0x159a22[_0x3c8ea0(0x23c)]+':'+(_0x159a22[_0x3c8ea0(0x239)]??''):'';return _0x3c8ea0(0x1f2)+_0x159a22[_0x3c8ea0(0x218)]+_0x3c8ea0(0x275)+L(_0x159a22['from_alias'],_0x3c8ea0(0x236))+_0x3c8ea0(0x23e)+L(_0x159a22[_0x3c8ea0(0x269)],_0x3c8ea0(0x236))+'\x20task_id='+_0x1b276e+_0x3c8ea0(0x205)+_0x8521db+_0x3c8ea0(0x25a)+L(_0x159a22['network_id'],'<unknown>')+_0x3c8ea0(0x200)+_0x159a22[_0x3c8ea0(0x258)]+_0x3c8ea0(0x203)+_0x159a22[_0x3c8ea0(0x251)]+_0x3c8ea0(0x241)+_0x159a22[_0x3c8ea0(0x24b)]+_0x52375d;}function U(_0x332d41){const _0x4872ee=a0_0x78f856;return{'event':{'sending':_0x4872ee(0x265),'delivered':_0x4872ee(0x261),'failed':_0x4872ee(0x273),'acked':_0x4872ee(0x223),'started':_0x4872ee(0x252),'replied':_0x4872ee(0x206),'expired':_0x4872ee(0x21f)}[_0x332d41[_0x4872ee(0x218)]],..._0x332d41};}function j(_0x58a26){const _0x596c62=a0_0x78f856;let _0x4dd93d=_0x58a26?.['task_id']||_0x58a26?.[_0x596c62(0x228)]||_0x58a26?.['id'];if(_0x4dd93d)return String(_0x4dd93d);let _0x4e6c74=_0x58a26?.[_0x596c62(0x25b)]?.[0x0]?.[_0x596c62(0x24c)];if(typeof _0x4e6c74!==_0x596c62(0x276))return null;try{let _0x9dbec6=JSON[_0x596c62(0x1fb)](_0x4e6c74);return _0x9dbec6?.[_0x596c62(0x1f1)]||_0x9dbec6?.[_0x596c62(0x228)]||_0x9dbec6?.['id']||null;}catch{return null;}}async function X(_0x39570d,_0x329e62){const _0x1b4d98=a0_0x78f856;let _0x2d74ed=_0x329e62[_0x1b4d98(0x274)]??Date[_0x1b4d98(0x274)],_0x3d1c97=_0x2d74ed(),_0x1abf7d=(_0x3ec254,_0x6866cb,_0x5a6958,_0x569d85)=>{const _0x5ed6d2=_0x1b4d98;_0x329e62['log'](O(U({'from_alias':_0x39570d['fromAlias'],'to_alias':_0x39570d[_0x5ed6d2(0x22f)],'task_id':_0x6866cb,'parent_task_id':_0x39570d['parentTaskId'],'network_id':_0x39570d[_0x5ed6d2(0x1f3)],'transport':_0x39570d[_0x5ed6d2(0x258)],'status':_0x3ec254,'duration_ms':_0x2d74ed()-_0x3d1c97,'lifecycle_tracking':_0x39570d[_0x5ed6d2(0x256)],..._0x5a6958!==void 0x0?{'error_code':_0x569d85||'send_failed','error_message':N(_0x5a6958)}:{}})));};_0x1abf7d(_0x1b4d98(0x1f9),null);try{let _0x206b5a=await _0x329e62['send'](),_0x4ee670=j(_0x206b5a);if(_0x4ee670)_0x1abf7d(_0x1b4d98(0x25d),_0x4ee670);else{if(_0x206b5a?.['ok']===!0x1||_0x206b5a?.[_0x1b4d98(0x22c)])_0x1abf7d(_0x1b4d98(0x22e),_0x4ee670,_0x206b5a?.['error']||_0x1b4d98(0x259),'send_rejected');else _0x1abf7d(_0x1b4d98(0x22e),null,_0x1b4d98(0x215),_0x1b4d98(0x262));}return _0x206b5a;}catch(_0x39ecea){throw _0x1abf7d('failed',null,_0x39ecea,_0x1b4d98(0x204)),_0x39ecea;}}async function Y(_0x408ea4,_0x177629){const _0x37078c=a0_0x78f856;return X({'fromAlias':_0x408ea4[_0x37078c(0x26b)],'toAlias':_0x408ea4[_0x37078c(0x238)],'parentTaskId':_0x408ea4['parentTaskId']||null,'networkId':_0x408ea4[_0x37078c(0x1f3)]||null,'transport':_0x37078c(0x271),'lifecycleTracking':_0x37078c(0x229)},_0x177629);}function a0_0x4c67(_0x1a388d,_0x8693c5){_0x1a388d=_0x1a388d-0x1ef;const _0x5c99f7=a0_0x5c99();let _0x4c6703=_0x5c99f7[_0x1a388d];return _0x4c6703;}class $ extends a0_0x33dc6a{[a0_0x78f856(0x243)];[a0_0x78f856(0x238)];[a0_0x78f856(0x272)];[a0_0x78f856(0x1fa)];[a0_0x78f856(0x242)];[a0_0x78f856(0x20e)];[a0_0x78f856(0x26f)];[a0_0x78f856(0x216)];[a0_0x78f856(0x225)];['running']=!0x1;constructor(_0x94c3d5){const _0x12e923=a0_0x78f856;super();if(this[_0x12e923(0x243)]=_0x94c3d5[_0x12e923(0x243)][_0x12e923(0x208)](/\/$/,''),this[_0x12e923(0x238)]=_0x94c3d5[_0x12e923(0x238)],this[_0x12e923(0x272)]=_0x94c3d5[_0x12e923(0x272)],this['agent']=_0x94c3d5[_0x12e923(0x1fa)]||_0x12e923(0x254),this[_0x12e923(0x242)]=_0x12e923(0x248)+_0x94c3d5[_0x12e923(0x238)]+'-'+Date['now']()['toString'](0x24),this[_0x12e923(0x20e)]=_0x94c3d5[_0x12e923(0x20e)]??0x2bf20,this['reconnectDelay']=_0x94c3d5[_0x12e923(0x26f)]??0xbb8,_0x94c3d5[_0x12e923(0x247)]!==!0x1)this['connect']();}[a0_0x78f856(0x25e)](_0x4a709c){const _0xd0d02b=a0_0x78f856;console[_0xd0d02b(0x25e)]('['+new Date()['toTimeString']()['slice'](0x0,0x8)+_0xd0d02b(0x233)+this[_0xd0d02b(0x238)]+']\x20'+_0x4a709c);}async[a0_0x78f856(0x235)](_0x1b33c2,_0x2f4365){const _0x2e30c5=a0_0x78f856;let _0x165e68={'Content-Type':_0x2e30c5(0x230),'Accept':'application/json,\x20text/event-stream'};if(this['token'])_0x165e68[_0x2e30c5(0x245)]=_0x2e30c5(0x232)+this[_0x2e30c5(0x272)];let _0x38ded9=await(await fetch(this[_0x2e30c5(0x243)]+'/mcp',{'method':_0x2e30c5(0x270),'headers':_0x165e68,'body':JSON[_0x2e30c5(0x21d)]({'jsonrpc':_0x2e30c5(0x1fc),'id':Date[_0x2e30c5(0x274)](),'method':_0x2e30c5(0x250),'params':{'name':_0x1b33c2,'arguments':_0x2f4365}})}))[_0x2e30c5(0x24c)](),_0x57f42d=_0x38ded9[_0x2e30c5(0x21e)](/data: (.+)/),_0x280e57=_0x57f42d?JSON['parse'](_0x57f42d[0x1]):JSON[_0x2e30c5(0x1fb)](_0x38ded9),_0xa3a4d=_0x280e57?.[_0x2e30c5(0x268)]?.['content']?.[0x0]?.[_0x2e30c5(0x24c)];return _0xa3a4d?JSON[_0x2e30c5(0x1fb)](_0xa3a4d):_0x280e57;}async['connect'](){const _0x522cfd=a0_0x78f856;if(this['running'])return;this['running']=!0x0,await this[_0x522cfd(0x218)](_0x522cfd(0x201)),this[_0x522cfd(0x25e)](_0x522cfd(0x26d)),this['heartbeatTimer']=setInterval(()=>{const _0x531f17=_0x522cfd;this[_0x531f17(0x218)](_0x531f17(0x201))[_0x531f17(0x23b)](_0x3f81c2=>this['log'](_0x531f17(0x221)+_0x3f81c2['message']));},this[_0x522cfd(0x20e)]),this['connectSSE']();}async[a0_0x78f856(0x1fd)](){const _0x2743ab=a0_0x78f856;if(this[_0x2743ab(0x237)]=!0x1,this['sseAbort']?.[_0x2743ab(0x202)](),this[_0x2743ab(0x216)])clearInterval(this[_0x2743ab(0x216)]);await this[_0x2743ab(0x218)]('offline')[_0x2743ab(0x23b)](()=>{}),this[_0x2743ab(0x25e)](_0x2743ab(0x21b));}async[a0_0x78f856(0x1ef)](_0x43f6d4,_0x577f98,_0xd3b6e6=a0_0x78f856(0x219)){const _0x4b1f94=a0_0x78f856;return Y({'alias':_0x43f6d4,'fromAlias':this[_0x4b1f94(0x238)]},{'log':_0x931e94=>console[_0x4b1f94(0x25e)](_0x931e94),'send':()=>this[_0x4b1f94(0x235)]('send_task',{'alias':_0x43f6d4,'task':_0x577f98,'priority':_0xd3b6e6,'from_session':this['alias']})});}async[a0_0x78f856(0x227)](_0x3f3e76,_0x263232){const _0x3d33a1=a0_0x78f856;return this[_0x3d33a1(0x235)](_0x3d33a1(0x20b),{'alias':_0x3f3e76,'message':_0x263232,'from_session':this[_0x3d33a1(0x238)]});}async[a0_0x78f856(0x222)](_0x5ef90f,_0x5da895,_0x2f59d9=a0_0x78f856(0x25f)){const _0x42319f=a0_0x78f856;return this[_0x42319f(0x235)](_0x42319f(0x25c),{'in_reply_to':_0x5ef90f,'text':_0x5da895,'status':_0x2f59d9});}async[a0_0x78f856(0x218)](_0x2fe3a9,_0xd10c43){const _0x1c168a=a0_0x78f856;return this['call']('report_status',{'resume_id':this['resumeId'],'alias':this[_0x1c168a(0x238)],'status':_0x2fe3a9,'server':a0_0x3cb95e(),'hostname':a0_0x3cb95e(),'agent':this[_0x1c168a(0x1fa)],'project_dir':process['cwd'](),..._0xd10c43});}async[a0_0x78f856(0x1f4)](){const _0x50aaef=a0_0x78f856;return this[_0x50aaef(0x235)](_0x50aaef(0x266),{});}async['broadcast'](_0x31654a,_0x84b58b){const _0x2a5a42=a0_0x78f856;return this[_0x2a5a42(0x235)](_0x2a5a42(0x1f5),{'message':_0x31654a,'filter_server':_0x84b58b?.[_0x2a5a42(0x210)],'filter_status':_0x84b58b?.[_0x2a5a42(0x218)]});}async[a0_0x78f856(0x22a)](){const _0x5abd52=a0_0x78f856;let _0x364599=encodeURIComponent(this['alias']),_0x1209f8=this[_0x5abd52(0x243)]+_0x5abd52(0x23a)+_0x364599,_0x44e665=this[_0x5abd52(0x26f)];while(this[_0x5abd52(0x237)]){try{this[_0x5abd52(0x225)]=new AbortController();let _0x2d8f21={'Accept':_0x5abd52(0x249)};if(this[_0x5abd52(0x272)])_0x2d8f21['Authorization']=_0x5abd52(0x232)+this['token'];let _0x763963=await fetch(_0x1209f8,{'headers':_0x2d8f21,'signal':this[_0x5abd52(0x225)][_0x5abd52(0x220)]});if(!_0x763963['ok']||!_0x763963[_0x5abd52(0x23f)]){this[_0x5abd52(0x25e)](_0x5abd52(0x21a)+_0x763963[_0x5abd52(0x218)]),await this[_0x5abd52(0x213)](_0x44e665),_0x44e665=Math[_0x5abd52(0x26c)](_0x44e665*1.5,0xea60);continue;}_0x44e665=this[_0x5abd52(0x26f)];let _0x28a39b=_0x763963[_0x5abd52(0x23f)][_0x5abd52(0x264)](),_0x4ece51=new TextDecoder(),_0x4621e3='';while(this['running']){let {done:_0x1db90f,value:_0x1be220}=await _0x28a39b[_0x5abd52(0x255)]();if(_0x1db90f)break;_0x4621e3+=_0x4ece51[_0x5abd52(0x1f8)](_0x1be220,{'stream':!0x0});let _0x494c12=_0x4621e3[_0x5abd52(0x240)]('\x0a');_0x4621e3=_0x494c12[_0x5abd52(0x21c)]()||'';for(let _0x570f4c of _0x494c12){if(!_0x570f4c[_0x5abd52(0x207)](_0x5abd52(0x246)))continue;try{let _0x4e3791=JSON[_0x5abd52(0x1fb)](_0x570f4c['slice'](0x6));if(_0x4e3791[_0x5abd52(0x257)]===_0x5abd52(0x244)){this[_0x5abd52(0x25e)]('SSE\x20connected'),this['emit'](_0x5abd52(0x244));continue;}if(_0x4e3791['type']===_0x5abd52(0x234)||_0x4e3791[_0x5abd52(0x257)]===_0x5abd52(0x20d)||_0x4e3791['type']==='broadcast')await this[_0x5abd52(0x1ff)]();}catch{}}}}catch(_0x343a7f){if(_0x343a7f[_0x5abd52(0x231)]===_0x5abd52(0x24d))break;this[_0x5abd52(0x212)](_0x5abd52(0x22c),_0x343a7f),this[_0x5abd52(0x25e)](_0x5abd52(0x26e)+_0x343a7f[_0x5abd52(0x227)]);}if(this[_0x5abd52(0x237)])this['emit']('disconnected'),this[_0x5abd52(0x25e)](_0x5abd52(0x24e)+_0x44e665/0x3e8+'s...'),await this[_0x5abd52(0x213)](_0x44e665),_0x44e665=Math[_0x5abd52(0x26c)](_0x44e665*1.5,0xea60);}}async['processInbox'](){const _0xfcfce=a0_0x78f856;try{let _0x34d4f1=(await this[_0xfcfce(0x235)]('get_inbox',{'alias':this[_0xfcfce(0x238)],'limit':0xa}))?.[_0xfcfce(0x1fe)]||[];for(let _0x42f299 of _0x34d4f1)await this[_0xfcfce(0x235)](_0xfcfce(0x211),{'alias':this[_0xfcfce(0x238)],'message_id':_0x42f299['id']}),this['log']('←\x20'+_0x42f299[_0xfcfce(0x209)]+':\x20'+_0x42f299[_0xfcfce(0x25b)]['slice'](0x0,0x3c)),this[_0xfcfce(0x212)](_0xfcfce(0x263),_0x42f299),this['emit']('message',_0x42f299);}catch(_0x2c5641){this[_0xfcfce(0x25e)](_0xfcfce(0x217)+_0x2c5641[_0xfcfce(0x227)]);}}['sleep'](_0x5cbb24){return new Promise(_0x510de8=>setTimeout(_0x510de8,_0x5cbb24));}}var F=$;export{F as default,$ as CommHub};
1
+ const a0_0x221b4d=a0_0x4096;(function(_0x5ecddb,_0x2eae9f){const _0x29391b=a0_0x4096,_0x1ea510=_0x5ecddb();while(!![]){try{const _0x30b3db=parseInt(_0x29391b(0x1b0))/0x1+parseInt(_0x29391b(0x1a9))/0x2+-parseInt(_0x29391b(0x1ac))/0x3*(-parseInt(_0x29391b(0x14a))/0x4)+-parseInt(_0x29391b(0x191))/0x5*(parseInt(_0x29391b(0x144))/0x6)+-parseInt(_0x29391b(0x13b))/0x7*(parseInt(_0x29391b(0x15d))/0x8)+-parseInt(_0x29391b(0x137))/0x9+parseInt(_0x29391b(0x151))/0xa;if(_0x30b3db===_0x2eae9f)break;else _0x1ea510['push'](_0x1ea510['shift']());}catch(_0x18768c){_0x1ea510['push'](_0x1ea510['shift']());}}}(a0_0x3879,0x385a9));import{EventEmitter as a0_0x1b3755}from'events';import{hostname as a0_0x1e753e}from'os';var K=/(?:atok|ntok|utok|ghp|github_pat)_[A-Za-z0-9_-]+|Bearer\s+\S+/gi,L=(_0xc2f4bd,_0x2eb1fd)=>(_0xc2f4bd??_0x2eb1fd)[a0_0x221b4d(0x1b2)](/[\r\n\x00-\x1f\x7f]/g,'\x20')[a0_0x221b4d(0x189)](0x0,0xf0);function N(_0x5ac4a6){const _0x439d4a=a0_0x221b4d;return(_0x5ac4a6 instanceof Error?_0x5ac4a6[_0x439d4a(0x188)]:String(_0x5ac4a6??'unknown\x20error'))['replace'](K,_0x439d4a(0x1a5))[_0x439d4a(0x1b2)](/[\r\n\x00-\x1f\x7f]/g,'\x20')[_0x439d4a(0x189)](0x0,0xf0);}function O(_0x2234ab,_0x1f0dd0=process.env.ANET_TASK_TRACE_FORMAT===a0_0x221b4d(0x155)){const _0x1a1548=a0_0x221b4d;if(_0x1f0dd0)return JSON[_0x1a1548(0x165)](_0x2234ab);let _0x38d7a9=L(_0x2234ab[_0x1a1548(0x15e)],_0x1a1548(0x15b)),_0x23c596=L(_0x2234ab[_0x1a1548(0x1aa)],_0x1a1548(0x1a7)),_0x3954b4=_0x2234ab[_0x1a1548(0x12f)]?_0x1a1548(0x172)+_0x2234ab[_0x1a1548(0x12f)]+':'+(_0x2234ab[_0x1a1548(0x16e)]??''):'';return _0x1a1548(0x1b1)+_0x2234ab[_0x1a1548(0x180)]+_0x1a1548(0x19a)+L(_0x2234ab[_0x1a1548(0x17f)],_0x1a1548(0x142))+_0x1a1548(0x135)+L(_0x2234ab['to_alias'],_0x1a1548(0x142))+_0x1a1548(0x19d)+_0x23c596+_0x1a1548(0x14f)+_0x38d7a9+_0x1a1548(0x16d)+L(_0x2234ab[_0x1a1548(0x19c)],'<unknown>')+_0x1a1548(0x18e)+_0x2234ab[_0x1a1548(0x176)]+_0x1a1548(0x192)+_0x2234ab[_0x1a1548(0x153)]+_0x1a1548(0x145)+_0x2234ab[_0x1a1548(0x140)]+_0x3954b4;}function a0_0x3879(){const _0x2a8bb4=['connectSSE','send_rejected','server','task.send.failed','POST','getReader','[REDACTED]','pop','<pending>','parse','431260xCfzyf','task_id','get_all_status','487887fJzHne','connect','s...','signal','22483UVIqDp','[commhub:task]\x20','replace','text/event-stream','error_code','cwd','toString','processInbox','sending','body','\x20to=','sdk-','16056ApKLOM','task.replied','lifecycleTracking','error','121177hhAisO','SSE\x20reconnecting\x20in\x20','send_reply','new_task','application/json,\x20text/event-stream','lifecycle_tracking','disconnected','<unknown>','SSE\x20error:\x20','8358fiXBBn','\x20lifecycle=','idle','task.started','CommHub\x20response\x20omitted\x20task_id','offline','4iIeQGL','connected','networkId','inbox\x20error:\x20','toAlias','\x20parent_task_id=','running','4833430LXadVq','failed','duration_ms','send','json','/events/','missing_task_id','resumeId','task.ack','ack_inbox','<missing>','mcp_http','200IFsQRn','parent_task_id','catch','content','emit','report_status','sdk','token','stringify','Bearer\x20','broadcast','url','sseAbort','heartbeatInterval','fromAlias','/mcp','\x20network_id=','error_message','get_inbox','now','disconnect','\x20error=','delivered','string','text','transport','CommHub\x20rejected\x20task','result','application/json','log','new_message','send_task','task.expired','tools/call','from_alias','status','alias','reconnectDelay','match','completed','min','message_id','agent','message','slice','reply','send_failed','heartbeatTimer','getAllStatus','\x20transport=','call','task.send.start','785CyyJAT','\x20duration_ms=','2.0','name','heartbeat\x20failed:\x20','messages','from_session','type','sleep','\x20from=','SSE\x20failed:\x20','network_id','\x20task_id=','task'];a0_0x3879=function(){return _0x2a8bb4;};return a0_0x3879();}function U(_0x428d74){const _0x1caada=a0_0x221b4d;return{'event':{'sending':_0x1caada(0x190),'delivered':'task.send.delivered','failed':_0x1caada(0x1a2),'acked':_0x1caada(0x159),'started':_0x1caada(0x147),'replied':_0x1caada(0x138),'expired':_0x1caada(0x17d)}[_0x428d74[_0x1caada(0x180)]],..._0x428d74};}function j(_0xdc9434){const _0x46f890=a0_0x221b4d;let _0x1a803a=_0xdc9434?.[_0x46f890(0x1aa)]||_0xdc9434?.['message_id']||_0xdc9434?.['id'];if(_0x1a803a)return String(_0x1a803a);let _0x2e25c9=_0xdc9434?.[_0x46f890(0x160)]?.[0x0]?.[_0x46f890(0x175)];if(typeof _0x2e25c9!==_0x46f890(0x174))return null;try{let _0x1e9a24=JSON[_0x46f890(0x1a8)](_0x2e25c9);return _0x1e9a24?.[_0x46f890(0x1aa)]||_0x1e9a24?.[_0x46f890(0x186)]||_0x1e9a24?.['id']||null;}catch{return null;}}async function X(_0x92475d,_0x53ace6){const _0x24f2c1=a0_0x221b4d;let _0x2296d1=_0x53ace6[_0x24f2c1(0x170)]??Date['now'],_0x2691d7=_0x2296d1(),_0x10bc98=(_0xfc1022,_0x47a3f6,_0x2f1dc3,_0x5db7b9)=>{const _0x5a6a85=_0x24f2c1;_0x53ace6['log'](O(U({'from_alias':_0x92475d[_0x5a6a85(0x16b)],'to_alias':_0x92475d[_0x5a6a85(0x14e)],'task_id':_0x47a3f6,'parent_task_id':_0x92475d['parentTaskId'],'network_id':_0x92475d[_0x5a6a85(0x14c)],'transport':_0x92475d[_0x5a6a85(0x176)],'status':_0xfc1022,'duration_ms':_0x2296d1()-_0x2691d7,'lifecycle_tracking':_0x92475d[_0x5a6a85(0x139)],..._0x2f1dc3!==void 0x0?{'error_code':_0x5db7b9||'send_failed','error_message':N(_0x2f1dc3)}:{}})));};_0x10bc98(_0x24f2c1(0x133),null);try{let _0x21be8f=await _0x53ace6[_0x24f2c1(0x154)](),_0x271196=j(_0x21be8f);if(_0x271196)_0x10bc98(_0x24f2c1(0x173),_0x271196);else{if(_0x21be8f?.['ok']===!0x1||_0x21be8f?.[_0x24f2c1(0x13a)])_0x10bc98(_0x24f2c1(0x152),_0x271196,_0x21be8f?.[_0x24f2c1(0x13a)]||_0x24f2c1(0x177),_0x24f2c1(0x1a0));else _0x10bc98(_0x24f2c1(0x152),null,_0x24f2c1(0x148),_0x24f2c1(0x157));}return _0x21be8f;}catch(_0x1e80c7){throw _0x10bc98(_0x24f2c1(0x152),null,_0x1e80c7,_0x24f2c1(0x18b)),_0x1e80c7;}}function a0_0x4096(_0x17b090,_0x1ff1bc){_0x17b090=_0x17b090-0x12f;const _0x38794a=a0_0x3879();let _0x409653=_0x38794a[_0x17b090];return _0x409653;}async function Y(_0xe7ff4c,_0x5cb7dc){const _0x226f20=a0_0x221b4d;return X({'fromAlias':_0xe7ff4c['fromAlias'],'toAlias':_0xe7ff4c[_0x226f20(0x181)],'parentTaskId':_0xe7ff4c['parentTaskId']||null,'networkId':_0xe7ff4c[_0x226f20(0x14c)]||null,'transport':_0x226f20(0x15c),'lifecycleTracking':'not_tracked'},_0x5cb7dc);}class $ extends a0_0x1b3755{[a0_0x221b4d(0x168)];[a0_0x221b4d(0x181)];['token'];['agent'];[a0_0x221b4d(0x158)];[a0_0x221b4d(0x16a)];[a0_0x221b4d(0x182)];['heartbeatTimer'];['sseAbort'];['running']=!0x1;constructor(_0x127eae){const _0x59b368=a0_0x221b4d;super();if(this['url']=_0x127eae['url'][_0x59b368(0x1b2)](/\/$/,''),this[_0x59b368(0x181)]=_0x127eae[_0x59b368(0x181)],this[_0x59b368(0x164)]=_0x127eae[_0x59b368(0x164)],this[_0x59b368(0x187)]=_0x127eae[_0x59b368(0x187)]||_0x59b368(0x163),this[_0x59b368(0x158)]=_0x59b368(0x136)+_0x127eae[_0x59b368(0x181)]+'-'+Date['now']()[_0x59b368(0x131)](0x24),this[_0x59b368(0x16a)]=_0x127eae[_0x59b368(0x16a)]??0x2bf20,this['reconnectDelay']=_0x127eae[_0x59b368(0x182)]??0xbb8,_0x127eae['autoConnect']!==!0x1)this[_0x59b368(0x1ad)]();}[a0_0x221b4d(0x17a)](_0x59304a){const _0x45f1ce=a0_0x221b4d;console['log']('['+new Date()['toTimeString']()['slice'](0x0,0x8)+']\x20[commhub:'+this[_0x45f1ce(0x181)]+']\x20'+_0x59304a);}async[a0_0x221b4d(0x18f)](_0x374b9e,_0x51a034){const _0x5e6f3a=a0_0x221b4d;let _0x466321={'Content-Type':_0x5e6f3a(0x179),'Accept':_0x5e6f3a(0x13f)};if(this[_0x5e6f3a(0x164)])_0x466321['Authorization']=_0x5e6f3a(0x166)+this[_0x5e6f3a(0x164)];let _0x5141ce=await(await fetch(this['url']+_0x5e6f3a(0x16c),{'method':_0x5e6f3a(0x1a3),'headers':_0x466321,'body':JSON['stringify']({'jsonrpc':_0x5e6f3a(0x193),'id':Date[_0x5e6f3a(0x170)](),'method':_0x5e6f3a(0x17e),'params':{'name':_0x374b9e,'arguments':_0x51a034}})}))['text'](),_0x548480=_0x5141ce[_0x5e6f3a(0x183)](/data: (.+)/),_0x417db9=_0x548480?JSON[_0x5e6f3a(0x1a8)](_0x548480[0x1]):JSON['parse'](_0x5141ce),_0x1ad6bd=_0x417db9?.[_0x5e6f3a(0x178)]?.[_0x5e6f3a(0x160)]?.[0x0]?.['text'];return _0x1ad6bd?JSON[_0x5e6f3a(0x1a8)](_0x1ad6bd):_0x417db9;}async[a0_0x221b4d(0x1ad)](){const _0x93644b=a0_0x221b4d;if(this[_0x93644b(0x150)])return;this[_0x93644b(0x150)]=!0x0,await this[_0x93644b(0x180)]('idle'),this[_0x93644b(0x17a)]('registered'),this[_0x93644b(0x18c)]=setInterval(()=>{const _0xcb2610=_0x93644b;this[_0xcb2610(0x180)](_0xcb2610(0x146))[_0xcb2610(0x15f)](_0x1acd3d=>this[_0xcb2610(0x17a)](_0xcb2610(0x195)+_0x1acd3d[_0xcb2610(0x188)]));},this[_0x93644b(0x16a)]),this['connectSSE']();}async[a0_0x221b4d(0x171)](){const _0x717be9=a0_0x221b4d;if(this[_0x717be9(0x150)]=!0x1,this[_0x717be9(0x169)]?.['abort'](),this[_0x717be9(0x18c)])clearInterval(this[_0x717be9(0x18c)]);await this[_0x717be9(0x180)](_0x717be9(0x149))[_0x717be9(0x15f)](()=>{}),this[_0x717be9(0x17a)]('disconnected');}async[a0_0x221b4d(0x154)](_0x572df1,_0xe95f10,_0x781984='normal'){const _0xaf8012=a0_0x221b4d;return Y({'alias':_0x572df1,'fromAlias':this[_0xaf8012(0x181)]},{'log':_0x4b7145=>console[_0xaf8012(0x17a)](_0x4b7145),'send':()=>this['call'](_0xaf8012(0x17c),{'alias':_0x572df1,'task':_0xe95f10,'priority':_0x781984,'from_session':this[_0xaf8012(0x181)]})});}async[a0_0x221b4d(0x188)](_0xac2008,_0x2a1326){const _0x2a2038=a0_0x221b4d;return this[_0x2a2038(0x18f)]('send_message',{'alias':_0xac2008,'message':_0x2a1326,'from_session':this[_0x2a2038(0x181)]});}async[a0_0x221b4d(0x18a)](_0x40b77d,_0x188223,_0x1935ad=a0_0x221b4d(0x184)){const _0x156041=a0_0x221b4d;return this[_0x156041(0x18f)](_0x156041(0x13d),{'in_reply_to':_0x40b77d,'text':_0x188223,'status':_0x1935ad});}async[a0_0x221b4d(0x180)](_0x5b1ec0,_0x498612){const _0x2bdcaf=a0_0x221b4d;return this['call'](_0x2bdcaf(0x162),{'resume_id':this[_0x2bdcaf(0x158)],'alias':this[_0x2bdcaf(0x181)],'status':_0x5b1ec0,'server':a0_0x1e753e(),'hostname':a0_0x1e753e(),'agent':this[_0x2bdcaf(0x187)],'project_dir':process[_0x2bdcaf(0x130)](),..._0x498612});}async[a0_0x221b4d(0x18d)](){const _0x51e5b7=a0_0x221b4d;return this['call'](_0x51e5b7(0x1ab),{});}async[a0_0x221b4d(0x167)](_0x6d8a5e,_0x563043){const _0x346376=a0_0x221b4d;return this[_0x346376(0x18f)](_0x346376(0x167),{'message':_0x6d8a5e,'filter_server':_0x563043?.[_0x346376(0x1a1)],'filter_status':_0x563043?.['status']});}async[a0_0x221b4d(0x19f)](){const _0x51a4d7=a0_0x221b4d;let _0x5305a1=encodeURIComponent(this[_0x51a4d7(0x181)]),_0x6dfcc8=this['url']+_0x51a4d7(0x156)+_0x5305a1,_0x289fa9=this['reconnectDelay'];while(this[_0x51a4d7(0x150)]){try{this[_0x51a4d7(0x169)]=new AbortController();let _0x633ce5={'Accept':_0x51a4d7(0x1b3)};if(this[_0x51a4d7(0x164)])_0x633ce5['Authorization']=_0x51a4d7(0x166)+this['token'];let _0x599c31=await fetch(_0x6dfcc8,{'headers':_0x633ce5,'signal':this[_0x51a4d7(0x169)][_0x51a4d7(0x1af)]});if(!_0x599c31['ok']||!_0x599c31[_0x51a4d7(0x134)]){this[_0x51a4d7(0x17a)](_0x51a4d7(0x19b)+_0x599c31[_0x51a4d7(0x180)]),await this['sleep'](_0x289fa9),_0x289fa9=Math[_0x51a4d7(0x185)](_0x289fa9*1.5,0xea60);continue;}_0x289fa9=this['reconnectDelay'];let _0x5024b3=_0x599c31[_0x51a4d7(0x134)][_0x51a4d7(0x1a4)](),_0x5853bf=new TextDecoder(),_0x37bfa9='';while(this[_0x51a4d7(0x150)]){let {done:_0x815473,value:_0x458657}=await _0x5024b3['read']();if(_0x815473)break;_0x37bfa9+=_0x5853bf['decode'](_0x458657,{'stream':!0x0});let _0x2ac57a=_0x37bfa9['split']('\x0a');_0x37bfa9=_0x2ac57a[_0x51a4d7(0x1a6)]()||'';for(let _0x30dc0f of _0x2ac57a){if(!_0x30dc0f['startsWith']('data:\x20'))continue;try{let _0x46eee7=JSON[_0x51a4d7(0x1a8)](_0x30dc0f[_0x51a4d7(0x189)](0x6));if(_0x46eee7[_0x51a4d7(0x198)]===_0x51a4d7(0x14b)){this[_0x51a4d7(0x17a)]('SSE\x20connected'),this['emit'](_0x51a4d7(0x14b));continue;}if(_0x46eee7['type']===_0x51a4d7(0x13e)||_0x46eee7[_0x51a4d7(0x198)]===_0x51a4d7(0x17b)||_0x46eee7[_0x51a4d7(0x198)]===_0x51a4d7(0x167))await this[_0x51a4d7(0x132)]();}catch{}}}}catch(_0x398696){if(_0x398696[_0x51a4d7(0x194)]==='AbortError')break;this[_0x51a4d7(0x161)]('error',_0x398696),this['log'](_0x51a4d7(0x143)+_0x398696['message']);}if(this[_0x51a4d7(0x150)])this['emit'](_0x51a4d7(0x141)),this[_0x51a4d7(0x17a)](_0x51a4d7(0x13c)+_0x289fa9/0x3e8+_0x51a4d7(0x1ae)),await this['sleep'](_0x289fa9),_0x289fa9=Math['min'](_0x289fa9*1.5,0xea60);}}async[a0_0x221b4d(0x132)](){const _0x572a94=a0_0x221b4d;try{let _0x28521a=(await this['call'](_0x572a94(0x16f),{'alias':this[_0x572a94(0x181)],'limit':0xa}))?.[_0x572a94(0x196)]||[];for(let _0x57aca7 of _0x28521a)await this[_0x572a94(0x18f)](_0x572a94(0x15a),{'alias':this[_0x572a94(0x181)],'message_id':_0x57aca7['id']}),this[_0x572a94(0x17a)]('←\x20'+_0x57aca7[_0x572a94(0x197)]+':\x20'+_0x57aca7['content'][_0x572a94(0x189)](0x0,0x3c)),this[_0x572a94(0x161)](_0x572a94(0x19e),_0x57aca7),this[_0x572a94(0x161)](_0x572a94(0x188),_0x57aca7);}catch(_0x11e7cd){this['log'](_0x572a94(0x14d)+_0x11e7cd[_0x572a94(0x188)]);}}[a0_0x221b4d(0x199)](_0x4929e6){return new Promise(_0x40e963=>setTimeout(_0x40e963,_0x4929e6));}}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;