@sleep2agi/agent-network 2.3.0-preview.114 → 2.3.0-preview.116
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 +2 -2
- package/dist/src/client.js +1 -1
- package/dist/src/grok-create-mode.d.ts +19 -0
- package/dist/src/node-files.d.ts +62 -0
- package/dist/src/node-server.js +7 -7
- package/dist/src/opencode-agent-node-pair.d.ts +6 -6
- package/dist/src/rules-file.d.ts +3 -2
- package/package.json +1 -1
package/dist/src/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2a8dbb=a0_0x2345;(function(_0x4c6071,_0xeae706){const _0x86229=a0_0x2345,_0x38e42d=_0x4c6071();while(!![]){try{const _0x5cbff7=parseInt(_0x86229(0x266))/0x1*(parseInt(_0x86229(0x26a))/0x2)+-parseInt(_0x86229(0x258))/0x3+parseInt(_0x86229(0x224))/0x4+-parseInt(_0x86229(0x239))/0x5+parseInt(_0x86229(0x24c))/0x6+parseInt(_0x86229(0x240))/0x7+-parseInt(_0x86229(0x25c))/0x8*(parseInt(_0x86229(0x1f7))/0x9);if(_0x5cbff7===_0xeae706)break;else _0x38e42d['push'](_0x38e42d['shift']());}catch(_0x4a543b){_0x38e42d['push'](_0x38e42d['shift']());}}}(a0_0x30cb,0xd7f1b));import{EventEmitter as a0_0x3074bc}from'events';function a0_0x2345(_0x2fdec9,_0x16b41b){_0x2fdec9=_0x2fdec9-0x1f2;const _0x30cbee=a0_0x30cb();let _0x23451e=_0x30cbee[_0x2fdec9];return _0x23451e;}import{hostname as a0_0x230124}from'os';var K=/(?:atok|ntok|utok|ghp|github_pat)_[A-Za-z0-9_-]+|Bearer\s+\S+/gi,L=(_0x14cdf4,_0x1ce70f)=>(_0x14cdf4??_0x1ce70f)[a0_0x2a8dbb(0x24a)](/[\r\n\x00-\x1f\x7f]/g,'\x20')[a0_0x2a8dbb(0x234)](0x0,0xf0);function N(_0x5cc540){const _0x53ee77=a0_0x2a8dbb;return(_0x5cc540 instanceof Error?_0x5cc540[_0x53ee77(0x1f8)]:String(_0x5cc540??_0x53ee77(0x1fb)))['replace'](K,'[REDACTED]')[_0x53ee77(0x24a)](/[\r\n\x00-\x1f\x7f]/g,'\x20')['slice'](0x0,0xf0);}function O(_0x36f036,_0x5be375=process.env.ANET_TASK_TRACE_FORMAT===a0_0x2a8dbb(0x202)){const _0x39950c=a0_0x2a8dbb;if(_0x5be375)return JSON[_0x39950c(0x252)](_0x36f036);let _0x18dd1c=L(_0x36f036['parent_task_id'],_0x39950c(0x23d)),_0x869a4=L(_0x36f036[_0x39950c(0x256)],_0x39950c(0x249)),_0x477df4=_0x36f036[_0x39950c(0x221)]?'\x20error='+_0x36f036['error_code']+':'+(_0x36f036[_0x39950c(0x24e)]??''):'';return _0x39950c(0x20e)+_0x36f036[_0x39950c(0x212)]+_0x39950c(0x261)+L(_0x36f036[_0x39950c(0x1f9)],_0x39950c(0x245))+_0x39950c(0x243)+L(_0x36f036['to_alias'],_0x39950c(0x245))+_0x39950c(0x22b)+_0x869a4+_0x39950c(0x23c)+_0x18dd1c+_0x39950c(0x210)+L(_0x36f036[_0x39950c(0x226)],_0x39950c(0x245))+'\x20transport='+_0x36f036[_0x39950c(0x213)]+_0x39950c(0x205)+_0x36f036[_0x39950c(0x203)]+_0x39950c(0x238)+_0x36f036[_0x39950c(0x21f)]+_0x477df4;}function U(_0x4c247d){const _0x3609b3=a0_0x2a8dbb;return{'event':{'sending':_0x3609b3(0x20c),'delivered':_0x3609b3(0x25f),'failed':_0x3609b3(0x222),'acked':'task.ack','started':'task.started','replied':_0x3609b3(0x223),'expired':_0x3609b3(0x228)}[_0x4c247d['status']],..._0x4c247d};}function j(_0x5625d1){const _0x2426ae=a0_0x2a8dbb;let _0x9821de=_0x5625d1?.[_0x2426ae(0x256)]||_0x5625d1?.['message_id']||_0x5625d1?.['id'];if(_0x9821de)return String(_0x9821de);let _0x5ceda2=_0x5625d1?.[_0x2426ae(0x21c)]?.[0x0]?.['text'];if(typeof _0x5ceda2!=='string')return null;try{let _0x341283=JSON[_0x2426ae(0x23a)](_0x5ceda2);return _0x341283?.['task_id']||_0x341283?.['message_id']||_0x341283?.['id']||null;}catch{return null;}}async function X(_0x199239,_0x1074c7){const _0x2d7a56=a0_0x2a8dbb;let _0x46e3a4=_0x1074c7[_0x2d7a56(0x254)]??Date[_0x2d7a56(0x254)],_0x19b711=_0x46e3a4(),_0x2c9484=(_0x47c1fb,_0x49958b,_0x4ba0f5,_0x1a647f)=>{const _0x11ab68=_0x2d7a56;_0x1074c7['log'](O(U({'from_alias':_0x199239['fromAlias'],'to_alias':_0x199239[_0x11ab68(0x20a)],'task_id':_0x49958b,'parent_task_id':_0x199239[_0x11ab68(0x244)],'network_id':_0x199239[_0x11ab68(0x1f2)],'transport':_0x199239[_0x11ab68(0x213)],'status':_0x47c1fb,'duration_ms':_0x46e3a4()-_0x19b711,'lifecycle_tracking':_0x199239['lifecycleTracking'],..._0x4ba0f5!==void 0x0?{'error_code':_0x1a647f||'send_failed','error_message':N(_0x4ba0f5)}:{}})));};_0x2c9484(_0x2d7a56(0x22a),null);try{let _0x56e258=await _0x1074c7[_0x2d7a56(0x217)](),_0x239ef6=j(_0x56e258);if(_0x239ef6)_0x2c9484('delivered',_0x239ef6);else{if(_0x56e258?.['ok']===!0x1||_0x56e258?.[_0x2d7a56(0x260)])_0x2c9484(_0x2d7a56(0x227),_0x239ef6,_0x56e258?.[_0x2d7a56(0x260)]||_0x2d7a56(0x22e),_0x2d7a56(0x237));else _0x2c9484('failed',null,_0x2d7a56(0x235),_0x2d7a56(0x25d));}return _0x56e258;}catch(_0x1023ac){throw _0x2c9484(_0x2d7a56(0x227),null,_0x1023ac,'send_failed'),_0x1023ac;}}async function Y(_0x5f3c2a,_0x113db0){const _0x4f14b2=a0_0x2a8dbb;return X({'fromAlias':_0x5f3c2a[_0x4f14b2(0x23e)],'toAlias':_0x5f3c2a['alias'],'parentTaskId':_0x5f3c2a[_0x4f14b2(0x244)]||null,'networkId':_0x5f3c2a['networkId']||null,'transport':_0x4f14b2(0x259),'lifecycleTracking':'not_tracked'},_0x113db0);}class $ extends a0_0x3074bc{[a0_0x2a8dbb(0x22d)];[a0_0x2a8dbb(0x263)];[a0_0x2a8dbb(0x1f3)];[a0_0x2a8dbb(0x248)];[a0_0x2a8dbb(0x207)];[a0_0x2a8dbb(0x206)];[a0_0x2a8dbb(0x25a)];[a0_0x2a8dbb(0x204)];['sseAbort'];[a0_0x2a8dbb(0x1fa)]=!0x1;constructor(_0x1bd318){const _0x564e14=a0_0x2a8dbb;super();if(this[_0x564e14(0x22d)]=_0x1bd318[_0x564e14(0x22d)][_0x564e14(0x24a)](/\/$/,''),this[_0x564e14(0x263)]=_0x1bd318[_0x564e14(0x263)],this[_0x564e14(0x1f3)]=_0x1bd318[_0x564e14(0x1f3)],this[_0x564e14(0x248)]=_0x1bd318[_0x564e14(0x248)]||_0x564e14(0x242),this[_0x564e14(0x207)]='sdk-'+_0x1bd318['alias']+'-'+Date[_0x564e14(0x254)]()[_0x564e14(0x233)](0x24),this[_0x564e14(0x206)]=_0x1bd318['heartbeatInterval']??0x2bf20,this[_0x564e14(0x25a)]=_0x1bd318['reconnectDelay']??0xbb8,_0x1bd318[_0x564e14(0x241)]!==!0x1)this['connect']();}[a0_0x2a8dbb(0x21e)](_0x40b332){const _0x1693e9=a0_0x2a8dbb;console['log']('['+new Date()[_0x1693e9(0x215)]()['slice'](0x0,0x8)+']\x20[commhub:'+this['alias']+']\x20'+_0x40b332);}async[a0_0x2a8dbb(0x253)](_0x317741,_0x2e2d8b){const _0x48b3e2=a0_0x2a8dbb;let _0x533c5c={'Content-Type':_0x48b3e2(0x230),'Accept':_0x48b3e2(0x267)};if(this[_0x48b3e2(0x1f3)])_0x533c5c['Authorization']=_0x48b3e2(0x1f4)+this[_0x48b3e2(0x1f3)];let _0x3b6971=await(await fetch(this['url']+'/mcp',{'method':_0x48b3e2(0x1fd),'headers':_0x533c5c,'body':JSON[_0x48b3e2(0x252)]({'jsonrpc':_0x48b3e2(0x219),'id':Date['now'](),'method':_0x48b3e2(0x255),'params':{'name':_0x317741,'arguments':_0x2e2d8b}})}))[_0x48b3e2(0x247)](),_0x18782c=_0x3b6971[_0x48b3e2(0x236)](/data: (.+)/),_0x50436f=_0x18782c?JSON[_0x48b3e2(0x23a)](_0x18782c[0x1]):JSON[_0x48b3e2(0x23a)](_0x3b6971),_0x396220=_0x50436f?.['result']?.[_0x48b3e2(0x21c)]?.[0x0]?.[_0x48b3e2(0x247)];return _0x396220?JSON['parse'](_0x396220):_0x50436f;}async[a0_0x2a8dbb(0x24d)](){const _0x31cff8=a0_0x2a8dbb;if(this[_0x31cff8(0x1fa)])return;this[_0x31cff8(0x1fa)]=!0x0,await this['status'](_0x31cff8(0x262)),this[_0x31cff8(0x21e)](_0x31cff8(0x231)),this[_0x31cff8(0x204)]=setInterval(()=>{const _0x5b376f=_0x31cff8;this[_0x5b376f(0x212)](_0x5b376f(0x262))[_0x5b376f(0x23b)](_0x3698cc=>this[_0x5b376f(0x21e)]('heartbeat\x20failed:\x20'+_0x3698cc[_0x5b376f(0x1f8)]));},this[_0x31cff8(0x206)]),this[_0x31cff8(0x22f)]();}async[a0_0x2a8dbb(0x209)](){const _0x53a46a=a0_0x2a8dbb;if(this[_0x53a46a(0x1fa)]=!0x1,this[_0x53a46a(0x250)]?.[_0x53a46a(0x1fe)](),this[_0x53a46a(0x204)])clearInterval(this[_0x53a46a(0x204)]);await this[_0x53a46a(0x212)](_0x53a46a(0x24b))[_0x53a46a(0x23b)](()=>{}),this['log'](_0x53a46a(0x246));}async[a0_0x2a8dbb(0x217)](_0x3d5c0f,_0x37994e,_0x480654=a0_0x2a8dbb(0x1f5)){const _0x3d133f=a0_0x2a8dbb;return Y({'alias':_0x3d5c0f,'fromAlias':this[_0x3d133f(0x263)]},{'log':_0x162873=>console[_0x3d133f(0x21e)](_0x162873),'send':()=>this[_0x3d133f(0x253)](_0x3d133f(0x214),{'alias':_0x3d5c0f,'task':_0x37994e,'priority':_0x480654,'from_session':this[_0x3d133f(0x263)]})});}async[a0_0x2a8dbb(0x1f8)](_0x1f0bba,_0x4c5233){const _0x435177=a0_0x2a8dbb;return this[_0x435177(0x253)]('send_message',{'alias':_0x1f0bba,'message':_0x4c5233,'from_session':this[_0x435177(0x263)]});}async[a0_0x2a8dbb(0x220)](_0x37b27b,_0x35dba3,_0x1de1f7=a0_0x2a8dbb(0x201)){return this['call']('send_reply',{'in_reply_to':_0x37b27b,'text':_0x35dba3,'status':_0x1de1f7});}async['status'](_0x184cda,_0x54a498){const _0x4ee707=a0_0x2a8dbb;return this[_0x4ee707(0x253)](_0x4ee707(0x23f),{'resume_id':this[_0x4ee707(0x207)],'alias':this[_0x4ee707(0x263)],'status':_0x184cda,'server':a0_0x230124(),'hostname':a0_0x230124(),'agent':this[_0x4ee707(0x248)],'project_dir':process[_0x4ee707(0x20d)](),..._0x54a498});}async['getAllStatus'](){const _0x4ba9ca=a0_0x2a8dbb;return this[_0x4ba9ca(0x253)]('get_all_status',{});}async[a0_0x2a8dbb(0x1fc)](_0x1c4421,_0x19c0a2){const _0xf0152b=a0_0x2a8dbb;return this['call'](_0xf0152b(0x1fc),{'message':_0x1c4421,'filter_server':_0x19c0a2?.[_0xf0152b(0x21d)],'filter_status':_0x19c0a2?.[_0xf0152b(0x212)]});}async[a0_0x2a8dbb(0x22f)](){const _0x11f9c4=a0_0x2a8dbb;let _0x438a55=encodeURIComponent(this[_0x11f9c4(0x263)]),_0x3db5eb=this['url']+_0x11f9c4(0x232)+_0x438a55,_0x2a017f=this[_0x11f9c4(0x25a)];while(this[_0x11f9c4(0x1fa)]){try{this[_0x11f9c4(0x250)]=new AbortController();let _0x205723={'Accept':_0x11f9c4(0x218)};if(this[_0x11f9c4(0x1f3)])_0x205723['Authorization']=_0x11f9c4(0x1f4)+this['token'];let _0x7611bc=await fetch(_0x3db5eb,{'headers':_0x205723,'signal':this[_0x11f9c4(0x250)][_0x11f9c4(0x24f)]});if(!_0x7611bc['ok']||!_0x7611bc['body']){this['log']('SSE\x20failed:\x20'+_0x7611bc[_0x11f9c4(0x212)]),await this[_0x11f9c4(0x21b)](_0x2a017f),_0x2a017f=Math[_0x11f9c4(0x20f)](_0x2a017f*1.5,0xea60);continue;}_0x2a017f=this[_0x11f9c4(0x25a)];let _0x2e0dc3=_0x7611bc[_0x11f9c4(0x22c)][_0x11f9c4(0x216)](),_0x40c313=new TextDecoder(),_0x1a29a2='';while(this[_0x11f9c4(0x1fa)]){let {done:_0x14fa2a,value:_0x1d6612}=await _0x2e0dc3['read']();if(_0x14fa2a)break;_0x1a29a2+=_0x40c313['decode'](_0x1d6612,{'stream':!0x0});let _0x38f737=_0x1a29a2['split']('\x0a');_0x1a29a2=_0x38f737[_0x11f9c4(0x1ff)]()||'';for(let _0x3c6c7c of _0x38f737){if(!_0x3c6c7c[_0x11f9c4(0x264)]('data:\x20'))continue;try{let _0x2e77e3=JSON[_0x11f9c4(0x23a)](_0x3c6c7c[_0x11f9c4(0x234)](0x6));if(_0x2e77e3[_0x11f9c4(0x25e)]===_0x11f9c4(0x269)){this[_0x11f9c4(0x21e)](_0x11f9c4(0x268)),this[_0x11f9c4(0x1f6)]('connected');continue;}if(_0x2e77e3[_0x11f9c4(0x25e)]===_0x11f9c4(0x21a)||_0x2e77e3[_0x11f9c4(0x25e)]===_0x11f9c4(0x200)||_0x2e77e3[_0x11f9c4(0x25e)]==='broadcast')await this[_0x11f9c4(0x251)]();}catch{}}}}catch(_0x38d787){if(_0x38d787[_0x11f9c4(0x20b)]==='AbortError')break;this[_0x11f9c4(0x1f6)]('error',_0x38d787),this['log'](_0x11f9c4(0x229)+_0x38d787[_0x11f9c4(0x1f8)]);}if(this[_0x11f9c4(0x1fa)])this[_0x11f9c4(0x1f6)](_0x11f9c4(0x246)),this[_0x11f9c4(0x21e)]('SSE\x20reconnecting\x20in\x20'+_0x2a017f/0x3e8+_0x11f9c4(0x211)),await this[_0x11f9c4(0x21b)](_0x2a017f),_0x2a017f=Math[_0x11f9c4(0x20f)](_0x2a017f*1.5,0xea60);}}async[a0_0x2a8dbb(0x251)](){const _0x2e3e91=a0_0x2a8dbb;try{let _0x4442ed=(await this[_0x2e3e91(0x253)]('get_inbox',{'alias':this[_0x2e3e91(0x263)],'limit':0xa}))?.[_0x2e3e91(0x208)]||[];for(let _0x43900e of _0x4442ed)await this[_0x2e3e91(0x253)](_0x2e3e91(0x265),{'alias':this[_0x2e3e91(0x263)],'message_id':_0x43900e['id']}),this[_0x2e3e91(0x21e)]('←\x20'+_0x43900e[_0x2e3e91(0x25b)]+':\x20'+_0x43900e['content'][_0x2e3e91(0x234)](0x0,0x3c)),this[_0x2e3e91(0x1f6)](_0x2e3e91(0x225),_0x43900e),this[_0x2e3e91(0x1f6)]('message',_0x43900e);}catch(_0x5bedf5){this[_0x2e3e91(0x21e)](_0x2e3e91(0x257)+_0x5bedf5[_0x2e3e91(0x1f8)]);}}[a0_0x2a8dbb(0x21b)](_0x1bf746){return new Promise(_0x209b49=>setTimeout(_0x209b49,_0x1bf746));}}var F=$;export{F as default,$ as CommHub};function a0_0x30cb(){const _0x12e07f=['toTimeString','getReader','send','text/event-stream','2.0','new_task','sleep','content','server','log','lifecycle_tracking','reply','error_code','task.send.failed','task.replied','1470028jMyWGW','task','network_id','failed','task.expired','SSE\x20error:\x20','sending','\x20task_id=','body','url','CommHub\x20rejected\x20task','connectSSE','application/json','registered','/events/','toString','slice','CommHub\x20response\x20omitted\x20task_id','match','send_rejected','\x20lifecycle=','1885185xxSCMi','parse','catch','\x20parent_task_id=','<missing>','fromAlias','report_status','12230750UEqWgZ','autoConnect','sdk','\x20to=','parentTaskId','<unknown>','disconnected','text','agent','<pending>','replace','offline','1261992OkGBtf','connect','error_message','signal','sseAbort','processInbox','stringify','call','now','tools/call','task_id','inbox\x20error:\x20','657207MojFPx','mcp_http','reconnectDelay','from_session','120eDfjLU','missing_task_id','type','task.send.delivered','error','\x20from=','idle','alias','startsWith','ack_inbox','1077urmfIr','application/json,\x20text/event-stream','SSE\x20connected','connected','2874etMUXh','networkId','token','Bearer\x20','normal','emit','1435275hDbTlO','message','from_alias','running','unknown\x20error','broadcast','POST','abort','pop','new_message','completed','json','duration_ms','heartbeatTimer','\x20duration_ms=','heartbeatInterval','resumeId','messages','disconnect','toAlias','name','task.send.start','cwd','[commhub:task]\x20','min','\x20network_id=','s...','status','transport','send_task'];a0_0x30cb=function(){return _0x12e07f;};return a0_0x30cb();}
|
|
1
|
+
const a0_0x1a9952=a0_0x3d0a;(function(_0x104d8c,_0x5964a6){const _0x4fd0fd=a0_0x3d0a,_0x52dfc1=_0x104d8c();while(!![]){try{const _0x3bc307=parseInt(_0x4fd0fd(0xe3))/0x1*(-parseInt(_0x4fd0fd(0xd3))/0x2)+parseInt(_0x4fd0fd(0xc6))/0x3*(-parseInt(_0x4fd0fd(0xb0))/0x4)+parseInt(_0x4fd0fd(0xbd))/0x5+-parseInt(_0x4fd0fd(0xf2))/0x6*(-parseInt(_0x4fd0fd(0x9c))/0x7)+-parseInt(_0x4fd0fd(0xae))/0x8+-parseInt(_0x4fd0fd(0xa0))/0x9+-parseInt(_0x4fd0fd(0x9e))/0xa*(-parseInt(_0x4fd0fd(0x90))/0xb);if(_0x3bc307===_0x5964a6)break;else _0x52dfc1['push'](_0x52dfc1['shift']());}catch(_0x63bea4){_0x52dfc1['push'](_0x52dfc1['shift']());}}}(a0_0x6c69,0xaa2ba));import{EventEmitter as a0_0x397dd5}from'events';import{hostname as a0_0x52b88b}from'os';function a0_0x6c69(){const _0x4de913=['json','string','agent','lifecycleTracking','11rTgSUL','heartbeatTimer','reply','\x20error=','decode','getReader','cwd','data:\x20','failed','error_message','connect','match','206794kIdyVi','<pending>','15818590jVJREt','CommHub\x20rejected\x20task','6146766xnLtBg','unknown\x20error','log','\x20network_id=','send','sdk','stringify','fromAlias','broadcast','network_id','message','parentTaskId','sending','type','7951392lPEkkq','sdk-','8120eYRSZU','error','processInbox','call','Bearer\x20','task.started','task.replied','send_task',']\x20[commhub:','content','report_status','get_all_status','status','2983745Awwflj','\x20lifecycle=','\x20duration_ms=','toAlias','alias','AbortError','/events/','from_alias','SSE\x20failed:\x20','39LwPWKq','CommHub\x20response\x20omitted\x20task_id','min','emit','2.0','message_id','body','read','application/json,\x20text/event-stream','\x20task_id=','[REDACTED]','task.ack','resumeId','4GoVprX','connected','missing_task_id','\x20to=','autoConnect','get_inbox','task.send.failed','result','token','toString','parse','new_task','task.send.delivered','mcp_http','task_id','Authorization','140258btfVVk','reconnectDelay','disconnect','connectSSE','task','\x20from=','url','running','/mcp','messages','transport','registered','catch','replace','lifecycle_tracking','102QXNHAs','duration_ms','send_reply','startsWith','slice','s...','send_rejected','abort','task.send.start','idle','toTimeString','[commhub:task]\x20','heartbeat\x20failed:\x20','not_tracked','completed','sseAbort','normal','getAllStatus','task.expired','application/json','heartbeatInterval','to_alias','error_code','new_message','send_failed','now','tools/call','disconnected','SSE\x20error:\x20','networkId','sleep','ack_inbox','<unknown>','SSE\x20reconnecting\x20in\x20','SSE\x20connected','text','inbox\x20error:\x20','server'];a0_0x6c69=function(){return _0x4de913;};return a0_0x6c69();}var K=/(?:atok|ntok|utok|ghp|github_pat)_[A-Za-z0-9_-]+|Bearer\s+\S+/gi,L=(_0x5084b5,_0x579721)=>(_0x5084b5??_0x579721)[a0_0x1a9952(0xf0)](/[\r\n\x00-\x1f\x7f]/g,'\x20')[a0_0x1a9952(0xf6)](0x0,0xf0);function N(_0x3147d5){const _0x5b3c43=a0_0x1a9952;return(_0x3147d5 instanceof Error?_0x3147d5['message']:String(_0x3147d5??_0x5b3c43(0xa1)))['replace'](K,_0x5b3c43(0xd0))[_0x5b3c43(0xf0)](/[\r\n\x00-\x1f\x7f]/g,'\x20')[_0x5b3c43(0xf6)](0x0,0xf0);}function a0_0x3d0a(_0x5af6a1,_0x5090e4){_0x5af6a1=_0x5af6a1-0x8f;const _0x6c692b=a0_0x6c69();let _0x3d0a9f=_0x6c692b[_0x5af6a1];return _0x3d0a9f;}function O(_0x562b75,_0x245d08=process.env.ANET_TASK_TRACE_FORMAT===a0_0x1a9952(0x118)){const _0x49496c=a0_0x1a9952;if(_0x245d08)return JSON[_0x49496c(0xa6)](_0x562b75);let _0x5e32de=L(_0x562b75['parent_task_id'],'<missing>'),_0x444868=L(_0x562b75[_0x49496c(0xe1)],_0x49496c(0x9d)),_0x2f8d4a=_0x562b75[_0x49496c(0x108)]?_0x49496c(0x93)+_0x562b75[_0x49496c(0x108)]+':'+(_0x562b75[_0x49496c(0x99)]??''):'';return _0x49496c(0xfd)+_0x562b75[_0x49496c(0xbc)]+_0x49496c(0xe8)+L(_0x562b75[_0x49496c(0xc4)],_0x49496c(0x112))+_0x49496c(0xd6)+L(_0x562b75[_0x49496c(0x107)],_0x49496c(0x112))+_0x49496c(0xcf)+_0x444868+'\x20parent_task_id='+_0x5e32de+_0x49496c(0xa3)+L(_0x562b75[_0x49496c(0xa9)],'<unknown>')+'\x20transport='+_0x562b75[_0x49496c(0xed)]+_0x49496c(0xbf)+_0x562b75[_0x49496c(0xf3)]+_0x49496c(0xbe)+_0x562b75[_0x49496c(0xf1)]+_0x2f8d4a;}function U(_0x5ba28){const _0x236c70=a0_0x1a9952;return{'event':{'sending':_0x236c70(0xfa),'delivered':_0x236c70(0xdf),'failed':_0x236c70(0xd9),'acked':_0x236c70(0xd1),'started':_0x236c70(0xb5),'replied':_0x236c70(0xb6),'expired':_0x236c70(0x104)}[_0x5ba28[_0x236c70(0xbc)]],..._0x5ba28};}function j(_0xb6e369){const _0x31ee2f=a0_0x1a9952;let _0x55ead5=_0xb6e369?.['task_id']||_0xb6e369?.['message_id']||_0xb6e369?.['id'];if(_0x55ead5)return String(_0x55ead5);let _0x1288b3=_0xb6e369?.['content']?.[0x0]?.['text'];if(typeof _0x1288b3!==_0x31ee2f(0x119))return null;try{let _0x7d4cc4=JSON['parse'](_0x1288b3);return _0x7d4cc4?.['task_id']||_0x7d4cc4?.[_0x31ee2f(0xcb)]||_0x7d4cc4?.['id']||null;}catch{return null;}}async function X(_0x418527,_0x37a7cb){const _0xf4a146=a0_0x1a9952;let _0xb9d5a0=_0x37a7cb[_0xf4a146(0x10b)]??Date['now'],_0x1108fb=_0xb9d5a0(),_0x3986c1=(_0xe8f4c4,_0x1b2be3,_0x415016,_0x360113)=>{const _0x593be9=_0xf4a146;_0x37a7cb[_0x593be9(0xa2)](O(U({'from_alias':_0x418527[_0x593be9(0xa7)],'to_alias':_0x418527[_0x593be9(0xc0)],'task_id':_0x1b2be3,'parent_task_id':_0x418527[_0x593be9(0xab)],'network_id':_0x418527[_0x593be9(0x10f)],'transport':_0x418527['transport'],'status':_0xe8f4c4,'duration_ms':_0xb9d5a0()-_0x1108fb,'lifecycle_tracking':_0x418527[_0x593be9(0x8f)],..._0x415016!==void 0x0?{'error_code':_0x360113||_0x593be9(0x10a),'error_message':N(_0x415016)}:{}})));};_0x3986c1(_0xf4a146(0xac),null);try{let _0x3fe897=await _0x37a7cb[_0xf4a146(0xa4)](),_0x4ede64=j(_0x3fe897);if(_0x4ede64)_0x3986c1('delivered',_0x4ede64);else{if(_0x3fe897?.['ok']===!0x1||_0x3fe897?.[_0xf4a146(0xb1)])_0x3986c1('failed',_0x4ede64,_0x3fe897?.[_0xf4a146(0xb1)]||_0xf4a146(0x9f),_0xf4a146(0xf8));else _0x3986c1(_0xf4a146(0x98),null,_0xf4a146(0xc7),_0xf4a146(0xd5));}return _0x3fe897;}catch(_0x5bb2d8){throw _0x3986c1(_0xf4a146(0x98),null,_0x5bb2d8,_0xf4a146(0x10a)),_0x5bb2d8;}}async function Y(_0x20b5b9,_0x4da505){const _0x20f3a8=a0_0x1a9952;return X({'fromAlias':_0x20b5b9[_0x20f3a8(0xa7)],'toAlias':_0x20b5b9[_0x20f3a8(0xc1)],'parentTaskId':_0x20b5b9[_0x20f3a8(0xab)]||null,'networkId':_0x20b5b9[_0x20f3a8(0x10f)]||null,'transport':_0x20f3a8(0xe0),'lifecycleTracking':_0x20f3a8(0xff)},_0x4da505);}class $ extends a0_0x397dd5{[a0_0x1a9952(0xe9)];['alias'];['token'];[a0_0x1a9952(0x11a)];[a0_0x1a9952(0xd2)];[a0_0x1a9952(0x106)];[a0_0x1a9952(0xe4)];[a0_0x1a9952(0x91)];[a0_0x1a9952(0x101)];[a0_0x1a9952(0xea)]=!0x1;constructor(_0xa023dd){const _0x7ddb5c=a0_0x1a9952;super();if(this[_0x7ddb5c(0xe9)]=_0xa023dd[_0x7ddb5c(0xe9)][_0x7ddb5c(0xf0)](/\/$/,''),this['alias']=_0xa023dd['alias'],this[_0x7ddb5c(0xdb)]=_0xa023dd[_0x7ddb5c(0xdb)],this['agent']=_0xa023dd[_0x7ddb5c(0x11a)]||_0x7ddb5c(0xa5),this['resumeId']=_0x7ddb5c(0xaf)+_0xa023dd[_0x7ddb5c(0xc1)]+'-'+Date[_0x7ddb5c(0x10b)]()[_0x7ddb5c(0xdc)](0x24),this['heartbeatInterval']=_0xa023dd[_0x7ddb5c(0x106)]??0x2bf20,this[_0x7ddb5c(0xe4)]=_0xa023dd['reconnectDelay']??0xbb8,_0xa023dd[_0x7ddb5c(0xd7)]!==!0x1)this[_0x7ddb5c(0x9a)]();}['log'](_0x1c9b36){const _0x3ad7cc=a0_0x1a9952;console[_0x3ad7cc(0xa2)]('['+new Date()[_0x3ad7cc(0xfc)]()[_0x3ad7cc(0xf6)](0x0,0x8)+_0x3ad7cc(0xb8)+this['alias']+']\x20'+_0x1c9b36);}async[a0_0x1a9952(0xb3)](_0x4911a8,_0x5993a3){const _0x1c1f4e=a0_0x1a9952;let _0x2e4485={'Content-Type':_0x1c1f4e(0x105),'Accept':_0x1c1f4e(0xce)};if(this[_0x1c1f4e(0xdb)])_0x2e4485[_0x1c1f4e(0xe2)]=_0x1c1f4e(0xb4)+this[_0x1c1f4e(0xdb)];let _0x365c2a=await(await fetch(this['url']+_0x1c1f4e(0xeb),{'method':'POST','headers':_0x2e4485,'body':JSON['stringify']({'jsonrpc':_0x1c1f4e(0xca),'id':Date[_0x1c1f4e(0x10b)](),'method':_0x1c1f4e(0x10c),'params':{'name':_0x4911a8,'arguments':_0x5993a3}})}))[_0x1c1f4e(0x115)](),_0x39c4b7=_0x365c2a[_0x1c1f4e(0x9b)](/data: (.+)/),_0x447d6d=_0x39c4b7?JSON[_0x1c1f4e(0xdd)](_0x39c4b7[0x1]):JSON[_0x1c1f4e(0xdd)](_0x365c2a),_0x1676d2=_0x447d6d?.[_0x1c1f4e(0xda)]?.[_0x1c1f4e(0xb9)]?.[0x0]?.['text'];return _0x1676d2?JSON[_0x1c1f4e(0xdd)](_0x1676d2):_0x447d6d;}async[a0_0x1a9952(0x9a)](){const _0x316e7d=a0_0x1a9952;if(this[_0x316e7d(0xea)])return;this[_0x316e7d(0xea)]=!0x0,await this['status'](_0x316e7d(0xfb)),this[_0x316e7d(0xa2)](_0x316e7d(0xee)),this[_0x316e7d(0x91)]=setInterval(()=>{const _0x50c1f4=_0x316e7d;this[_0x50c1f4(0xbc)](_0x50c1f4(0xfb))[_0x50c1f4(0xef)](_0x103ec0=>this[_0x50c1f4(0xa2)](_0x50c1f4(0xfe)+_0x103ec0[_0x50c1f4(0xaa)]));},this[_0x316e7d(0x106)]),this[_0x316e7d(0xe6)]();}async[a0_0x1a9952(0xe5)](){const _0x3c9175=a0_0x1a9952;if(this[_0x3c9175(0xea)]=!0x1,this[_0x3c9175(0x101)]?.[_0x3c9175(0xf9)](),this[_0x3c9175(0x91)])clearInterval(this[_0x3c9175(0x91)]);await this[_0x3c9175(0xbc)]('offline')[_0x3c9175(0xef)](()=>{}),this[_0x3c9175(0xa2)]('disconnected');}async[a0_0x1a9952(0xa4)](_0xa1c7ab,_0xd3bfcc,_0x319512=a0_0x1a9952(0x102)){const _0x164eda=a0_0x1a9952;return Y({'alias':_0xa1c7ab,'fromAlias':this[_0x164eda(0xc1)]},{'log':_0x4ccac6=>console[_0x164eda(0xa2)](_0x4ccac6),'send':()=>this[_0x164eda(0xb3)](_0x164eda(0xb7),{'alias':_0xa1c7ab,'task':_0xd3bfcc,'priority':_0x319512,'from_session':this['alias']})});}async['message'](_0x1e17d5,_0xce1252){const _0x36bc1c=a0_0x1a9952;return this[_0x36bc1c(0xb3)]('send_message',{'alias':_0x1e17d5,'message':_0xce1252,'from_session':this['alias']});}async[a0_0x1a9952(0x92)](_0x32fbab,_0x3ac0e6,_0x2d3a93=a0_0x1a9952(0x100)){const _0x7b9217=a0_0x1a9952;return this['call'](_0x7b9217(0xf4),{'in_reply_to':_0x32fbab,'text':_0x3ac0e6,'status':_0x2d3a93});}async[a0_0x1a9952(0xbc)](_0x34d3f3,_0x3bcbae){const _0x41e43f=a0_0x1a9952;return this[_0x41e43f(0xb3)](_0x41e43f(0xba),{'resume_id':this['resumeId'],'alias':this[_0x41e43f(0xc1)],'status':_0x34d3f3,'server':a0_0x52b88b(),'hostname':a0_0x52b88b(),'agent':this[_0x41e43f(0x11a)],'project_dir':process[_0x41e43f(0x96)](),..._0x3bcbae});}async[a0_0x1a9952(0x103)](){const _0x3ae823=a0_0x1a9952;return this[_0x3ae823(0xb3)](_0x3ae823(0xbb),{});}async[a0_0x1a9952(0xa8)](_0x423b6f,_0x121f74){const _0x4980dd=a0_0x1a9952;return this[_0x4980dd(0xb3)]('broadcast',{'message':_0x423b6f,'filter_server':_0x121f74?.[_0x4980dd(0x117)],'filter_status':_0x121f74?.[_0x4980dd(0xbc)]});}async[a0_0x1a9952(0xe6)](){const _0x2c7f5b=a0_0x1a9952;let _0xd21caf=encodeURIComponent(this[_0x2c7f5b(0xc1)]),_0x8ac145=this['url']+_0x2c7f5b(0xc3)+_0xd21caf,_0x4acaa3=this[_0x2c7f5b(0xe4)];while(this[_0x2c7f5b(0xea)]){try{this['sseAbort']=new AbortController();let _0x5c382d={'Accept':'text/event-stream'};if(this['token'])_0x5c382d['Authorization']=_0x2c7f5b(0xb4)+this[_0x2c7f5b(0xdb)];let _0x15d99b=await fetch(_0x8ac145,{'headers':_0x5c382d,'signal':this[_0x2c7f5b(0x101)]['signal']});if(!_0x15d99b['ok']||!_0x15d99b[_0x2c7f5b(0xcc)]){this[_0x2c7f5b(0xa2)](_0x2c7f5b(0xc5)+_0x15d99b[_0x2c7f5b(0xbc)]),await this[_0x2c7f5b(0x110)](_0x4acaa3),_0x4acaa3=Math[_0x2c7f5b(0xc8)](_0x4acaa3*1.5,0xea60);continue;}_0x4acaa3=this['reconnectDelay'];let _0x56fdff=_0x15d99b[_0x2c7f5b(0xcc)][_0x2c7f5b(0x95)](),_0x49b4e3=new TextDecoder(),_0x3df6ce='';while(this[_0x2c7f5b(0xea)]){let {done:_0x3b0a70,value:_0x19ea6c}=await _0x56fdff[_0x2c7f5b(0xcd)]();if(_0x3b0a70)break;_0x3df6ce+=_0x49b4e3[_0x2c7f5b(0x94)](_0x19ea6c,{'stream':!0x0});let _0x1f8fe1=_0x3df6ce['split']('\x0a');_0x3df6ce=_0x1f8fe1['pop']()||'';for(let _0x4574fd of _0x1f8fe1){if(!_0x4574fd[_0x2c7f5b(0xf5)](_0x2c7f5b(0x97)))continue;try{let _0x3078b1=JSON['parse'](_0x4574fd[_0x2c7f5b(0xf6)](0x6));if(_0x3078b1['type']===_0x2c7f5b(0xd4)){this[_0x2c7f5b(0xa2)](_0x2c7f5b(0x114)),this[_0x2c7f5b(0xc9)](_0x2c7f5b(0xd4));continue;}if(_0x3078b1[_0x2c7f5b(0xad)]===_0x2c7f5b(0xde)||_0x3078b1['type']===_0x2c7f5b(0x109)||_0x3078b1[_0x2c7f5b(0xad)]===_0x2c7f5b(0xa8))await this['processInbox']();}catch{}}}}catch(_0x28ebc1){if(_0x28ebc1['name']===_0x2c7f5b(0xc2))break;this['emit'](_0x2c7f5b(0xb1),_0x28ebc1),this[_0x2c7f5b(0xa2)](_0x2c7f5b(0x10e)+_0x28ebc1['message']);}if(this[_0x2c7f5b(0xea)])this[_0x2c7f5b(0xc9)](_0x2c7f5b(0x10d)),this['log'](_0x2c7f5b(0x113)+_0x4acaa3/0x3e8+_0x2c7f5b(0xf7)),await this[_0x2c7f5b(0x110)](_0x4acaa3),_0x4acaa3=Math['min'](_0x4acaa3*1.5,0xea60);}}async[a0_0x1a9952(0xb2)](){const _0x150c45=a0_0x1a9952;try{let _0x6ed78e=(await this[_0x150c45(0xb3)](_0x150c45(0xd8),{'alias':this[_0x150c45(0xc1)],'limit':0xa}))?.[_0x150c45(0xec)]||[];for(let _0x39a1ab of _0x6ed78e)await this['call'](_0x150c45(0x111),{'alias':this[_0x150c45(0xc1)],'message_id':_0x39a1ab['id']}),this[_0x150c45(0xa2)]('←\x20'+_0x39a1ab['from_session']+':\x20'+_0x39a1ab['content'][_0x150c45(0xf6)](0x0,0x3c)),this['emit'](_0x150c45(0xe7),_0x39a1ab),this[_0x150c45(0xc9)]('message',_0x39a1ab);}catch(_0x5476ad){this['log'](_0x150c45(0x116)+_0x5476ad['message']);}}[a0_0x1a9952(0x110)](_0x1d49ea){return new Promise(_0x83e6a6=>setTimeout(_0x83e6a6,_0x1d49ea));}}var F=$;export{F as default,$ as CommHub};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** One-line limitation list shown wherever co-presence is offered (CLI help,
|
|
2
|
+
* picker, create warning). Keep it one line — it is appended to menus. */
|
|
3
|
+
export declare const GROK_COPRESENCE_EXPERIMENTAL_NOTE_ZH = "\u5B9E\u9A8C\u6027\uFF1A\u4EBA\u5728 TUI \u8F93\u5165\u6846\u6253\u5B57\u65F6\u7F51\u7EDC\u4EFB\u52A1\u4F1A\u6392\u961F\u76F4\u5230\u8D85\u65F6\uFF1Bgrok \u987B\u9489\u5728\u5DF2\u9A8C\u8BC1\u7248\u672C\uFF08\u65B0\u7248\u4F1A\u62D2\u7EDD\u542F\u52A8\uFF09\uFF1BmacOS \u9700\u7279\u6B8A\u5904\u7406\uFF1B\u4E0D\u52A0\u8F7D .agents/skills \u6280\u80FD\u3002\u8981\u7A33\u5B9A\u63A5\u6D3B\u7528\u9ED8\u8BA4\u7684 ACP\u3002";
|
|
4
|
+
export declare const GROK_COPRESENCE_EXPERIMENTAL_NOTE_EN = "Experimental: network tasks queue until timeout while a human is typing in the TUI; grok must be pinned to a verified build (newer builds refuse to start); macOS needs special handling; .agents/skills skills are not loaded. For a stable node use the default ACP mode.";
|
|
5
|
+
export type GrokCreateModeResult = {
|
|
6
|
+
ok: true;
|
|
7
|
+
runtime: string | undefined;
|
|
8
|
+
copresenceRequested: boolean;
|
|
9
|
+
} | {
|
|
10
|
+
ok: false;
|
|
11
|
+
error: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Resolve the runtime string a NEW node is created with.
|
|
15
|
+
*
|
|
16
|
+
* Non-Grok runtimes (and an absent runtime) pass through untouched — this
|
|
17
|
+
* helper only decides between the two Grok lanes.
|
|
18
|
+
*/
|
|
19
|
+
export declare function resolveGrokCreateRuntime(rawRuntime: string | undefined, copresence: unknown): GrokCreateModeResult;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export declare const NODE_FILE_READ_MAX_BYTES: number;
|
|
2
|
+
export declare const NODE_FILES_LIST_MAX = 1000;
|
|
3
|
+
export declare const NODE_FILE_PATH_MAX = 1024;
|
|
4
|
+
/** 回给 hub 的 JSON 最长这么多字符(hub 端 ack 上限相同)。 */
|
|
5
|
+
export declare const NODE_FILES_RESULT_MAX_CHARS: number;
|
|
6
|
+
export type NodeFileType = "dir" | "file" | "symlink" | "other";
|
|
7
|
+
export type HiddenReason = "secret" | "skipped";
|
|
8
|
+
export interface NodeFileEntry {
|
|
9
|
+
name: string;
|
|
10
|
+
type: NodeFileType;
|
|
11
|
+
/** 普通文件的字节数;凭据文件不给。 */
|
|
12
|
+
size?: number;
|
|
13
|
+
/** 毫秒时间戳。 */
|
|
14
|
+
mtime?: number;
|
|
15
|
+
hidden_reason?: HiddenReason;
|
|
16
|
+
/** 目录(或指向目录的软链接)不允许进入。 */
|
|
17
|
+
no_descend?: boolean;
|
|
18
|
+
/** 软链接:指向工作目录内的什么;指向外面或断链为 null(不透露目标)。 */
|
|
19
|
+
link_type?: "dir" | "file" | null;
|
|
20
|
+
}
|
|
21
|
+
export interface NodeFilesListResult {
|
|
22
|
+
path: string;
|
|
23
|
+
entries: NodeFileEntry[];
|
|
24
|
+
truncated: boolean;
|
|
25
|
+
total: number;
|
|
26
|
+
}
|
|
27
|
+
export type NodeFileReadKind = "text" | "binary" | "too_large" | "secret";
|
|
28
|
+
export interface NodeFileReadResult {
|
|
29
|
+
path: string;
|
|
30
|
+
name: string;
|
|
31
|
+
kind: NodeFileReadKind;
|
|
32
|
+
size?: number;
|
|
33
|
+
mtime?: number;
|
|
34
|
+
content?: string;
|
|
35
|
+
hidden_reason?: HiddenReason;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 纯函数:一个路径是否属于凭据。
|
|
39
|
+
* relPosix —— 相对工作目录(请求的路径,或 realpath 之后相对工作目录的路径)。
|
|
40
|
+
* rootAbs —— 工作目录自身的绝对路径(posix);只作为「祖先目录」参与判定:工作目录本身
|
|
41
|
+
* 就在 .claude/ .codex/ 之类里面时,里面的一切都算凭据;在 .anet/ 里面时
|
|
42
|
+
* config.json* 算凭据。工作目录自己的名字不参与文件名规则。
|
|
43
|
+
* 任一祖先段(含末段)是凭据目录 → secret;末段按文件名规则判。大小写不敏感(macOS 默认不分大小写)。
|
|
44
|
+
*/
|
|
45
|
+
export declare function secretReasonFor(relPosix: string, rootAbs?: string): "secret" | null;
|
|
46
|
+
/** 纯函数:这个目录能不能进入。凭据目录 → secret;node_modules → skipped;路径上任一段命中同样不行。 */
|
|
47
|
+
export declare function noDescendReasonFor(relPosix: string, rootAbs?: string): HiddenReason | null;
|
|
48
|
+
/** 客户端给的路径 → 规范化相对路径("" = 根)。不合法抛错,错误信息不回显输入。 */
|
|
49
|
+
export declare function normalizeNodeRelPath(raw: unknown): string;
|
|
50
|
+
export interface ResolvedNodePath {
|
|
51
|
+
rootReal: string;
|
|
52
|
+
real: string;
|
|
53
|
+
/** realpath 之后相对根的路径(posix)。 */
|
|
54
|
+
relReal: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 解析并收在工作目录里:realpath(根) + realpath(根/rel),后者必须在前者之内。
|
|
58
|
+
* 不存在抛 `not found`;逃出去抛 `outside the work dir`。
|
|
59
|
+
*/
|
|
60
|
+
export declare function resolveInsideWorkDir(workDir: string, rel: string): Promise<ResolvedNodePath>;
|
|
61
|
+
export declare function listNodeFiles(workDir: string, rawPath: unknown): Promise<NodeFilesListResult>;
|
|
62
|
+
export declare function readNodeFile(workDir: string, rawPath: unknown): Promise<NodeFileReadResult>;
|