@wujie-shell/core 0.1.2 → 0.1.4
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/README.md +17 -4
- package/dist/bin/wujie-shell.mjs +1 -1
- package/dist/src/bundled-agent-skills.mjs +1 -1
- package/dist/src/bundled-agents.mjs +1 -1
- package/dist/src/config-controller.mjs +1 -1
- package/dist/src/electron/main.mjs +1 -1
- package/dist/src/electron/preload.mjs +1 -1
- package/dist/src/gateway-controller.mjs +1 -1
- package/dist/src/gateway-ws.mjs +1 -1
- package/dist/src/index.mjs +1 -1
- package/dist/src/logging.mjs +1 -1
- package/dist/src/plugin-sync.mjs +1 -1
- package/dist/src/runtime-logger.mjs +1 -1
- package/dist/src/runtime.mjs +1 -1
- package/dist/src/utils.mjs +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x2f329a=_0x54fe;(function(_0x2bdb4a,_0x1e1f96){const _0x56e76a=_0x54fe,_0x1f2071=_0x2bdb4a();while(!![]){try{const _0x3189c6=-parseInt(_0x56e76a(0x262))/0x1+-parseInt(_0x56e76a(0x268))/0x2+parseInt(_0x56e76a(0x191))/0x3*(-parseInt(_0x56e76a(0x160))/0x4)+parseInt(_0x56e76a(0x205))/0x5*(parseInt(_0x56e76a(0x217))/0x6)+parseInt(_0x56e76a(0x1ba))/0x7+parseInt(_0x56e76a(0x174))/0x8*(-parseInt(_0x56e76a(0x225))/0x9)+parseInt(_0x56e76a(0x28a))/0xa*(parseInt(_0x56e76a(0x1ec))/0xb);if(_0x3189c6===_0x1e1f96)break;else _0x1f2071['push'](_0x1f2071['shift']());}catch(_0x3085f7){_0x1f2071['push'](_0x1f2071['shift']());}}}(_0x2c73,0xa675a));import{randomUUID}from'node:crypto';import{createServer}from'node:http';import{EventEmitter}from'node:events';function _0x2c73(){const _0x498313=['backend','pted\x20by\x20','off','get','filePath','ded','delete','status','ate','t-stream','sessionI','HEARTBEA','y\x20shortl','request','sent','ync\x20fail','resolveC','ort\x20','.delete','workspac','eam\x20acce','n\x20callba','final','ion/octe','led:\x20','name','message\x20','json','t\x20connec','listen','Version','eys-upda','tings','und','IDENTITY','quested','join','reconnec','t\x20discon','sted','session-','main','toISOStr','704154ZJCvot','anscript','projectR','startedA','chat\x20att','behavior','answer','ing,\x20ple','.json','pinned\x20k','nexpecte','token','Fallback','[REDACTE','paths','mpleted','MEMORY.m','invalid\x20','sessions','isFile','ey\x20is\x20re','eady','skills.s','skill\x20up','setModel','65YUnxbR','ompleted','andledIn','session\x20','run','\x20write\x20r','unknown','includes','tory\x20loa','exited','modelNam','WorkingD','now','max','agents-u','AGENTS.m','.create','stdout','561660jElCVi','values','title','d\x20--toke','cron.add','controll','\x20list\x20co','agents.l','pid','headers','.list','watchCon','deny','lete\x20req','370647mmpkhc','\x20settled','random','Timer','ayRestar','eam-even','catch','destroy','configur','e\x20update','skills.d','nChange','ath','url','terminal','rt\x20reque','delta','equested','stop','filter','agents.c','pdate','string','image/gi','close','text','ssionKey','textLeng','achments','port','skill\x20in','attachme','then','cron.lis','c\x20starte','agents-r','process\x20','stringif','ted','ntityPat','session','system','tHandler','ase','image/jp','productN','push','\x20require','USER.md','quired','ed:\x20','plugins','r-questi','chat-str','lifecycl','info','e\x20shared',':session','desktop','names','er\x20start','216649gRjEmh','agents\x20s','aded','set','eam\x20fail','killed','344900nLweKt','pinned-k','resolveD','tatus','bundled\x20','aborted','ensureGa','started','-questio','resolveS','llow-unc','--allow-','ing','kdown','allow','started,','requeste','ndled\x20ag','keys','sessionK','\x20gateway','ents\x20syn','answers','nected','version','cron.run','hell:gat','file','iled','state','is\x20start','trim','pinnedKe','unshift','80gEHEsW','toString','stopped','readConf','jobId\x20is','null','timeout','connecte','chat.sen','ask-user','start','message','agent:','limit','getModel','splice','ills\x20syn','deleted','\x20request','key','onfigure','ame','once','clear','text/mar','create\x20r','installP','sage','patch','ured','parentSe','writeHea','utf8','uested','image/pn','estart','onfigPat','map','bundled-','renamed','isArray','agents','restarti','skill\x20de','eway]\x20bu','igWriteH','reate','size','ties','ay\x20state','kUserQue','chat\x20fai','stderr','--port','runId','stack','floor','deleteTr','closed','has','stionPlu','agentId','res','t\x20not\x20fo','chat.abo','slice','eys\x20upda','chat','ion/pdf','\x20failed\x20','toUpperC','skills','defaultI','3973680TQHPrV','running','ternally','restart\x20','is\x20requi','27.0.0.1','ginConfi','tokenPre','ized','gateway\x20','flush','er\x20stop\x20','--token','type','ested','starting','create\x20c','ist','writeCon','by\x20gatew','24WzIyCA','fig','healthy','POST','oot','applicat','agent\x20sk','ase\x20retr','discover','content','ved','peratedM','requestI','markConf','setSelfO','\x20run\x20--a','startsWi','Bin','ode=','n\x20[REDAC','updated','dly','g+xml','Settings','label','text/csv','ting:\x20','done','agent-ev','3shtJwA','runtimeR','[wujie-s','ck\x20disab','unhealth','/ask-use','image/we','provider','error','source','log','pop','gateway','errorMes','tateDir','mimeType','websocke','emit','spawn\x20re','arge:\x20','jobId','entries','restartO','led','changed','cron.rem','chat\x20run','chat\x20his','figChang','TOOLS.md','fileName','stall\x20co','\x20prepare','delete\x20c','length','kill','parse','agents.u','chat\x20str','ion/json','warn','3211908tDfqqY','itialCon','end','gateway-','openclaw','split','chat\x20eve'];_0x2c73=function(){return _0x498313;};return _0x2c73();}import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{basename,dirname,join}from'node:path';import _0x539348,{portNumbers}from'get-port';import{createLineBuffer}from'@wujie-shell/logger';import{asRecord,getTrimmedString}from'./utils.mjs';import{loadRuntimeInfo,spawnClaw}from'./runtime.mjs';import{ClawGatewayWsClient}from'./gateway-ws.mjs';import{ensureBundledAgents}from'./bundled-agents.mjs';import{syncBundledAgentSkillsToConfig,filterSkillsForAgent}from'./bundled-agent-skills.mjs';import{createShellLogger,summarizeError,summarizeFilePaths,summarizePayload,summarizeText,toHomePath}from'./logging.mjs';const LOG_LIMIT=0x3e8,CLIENT_ID=_0x2f329a(0x1bd)+'client',CLIENT_MODE=_0x2f329a(0x1c1),CLIENT_DEVICE_FAMILY=_0x2f329a(0x25f),TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,SESSION_METADATA_FILE=_0x2f329a(0x1e9)+'metadata'+_0x2f329a(0x1f4),SHARED_CONTEXT_FILES=[_0x2f329a(0x214)+'d',_0x2f329a(0x1cc)+'T.md',_0x2f329a(0x1e3)+'.md',_0x2f329a(0x1fc)+'d','SOUL.md',_0x2f329a(0x1ae),_0x2f329a(0x255)];function nowIso(){const _0x222521=_0x2f329a;return new Date()[_0x222521(0x1eb)+_0x222521(0x274)]();}function buildGatewayWsUrl(_0x5e34f5){return'ws://127'+'.0.0.1:'+_0x5e34f5;}function _0x54fe(_0x33cf23,_0x3925d6){_0x33cf23=_0x33cf23-0x151;const _0x2c7338=_0x2c73();let _0x54fe8b=_0x2c7338[_0x33cf23];return _0x54fe8b;}function createInitialStatus(){const _0x7c6a83=_0x2f329a;return{'lifecycle':_0x7c6a83(0x28c),'health':_0x7c6a83(0x20b),'port':null,'tokenPresent':![],'message':'gateway\x20'+_0x7c6a83(0x28c),'updatedAt':nowIso()};}function extractGatewayMessageText(_0x4b8162){const _0x33de1a=_0x2f329a;if(typeof _0x4b8162===_0x33de1a(0x23b))return _0x4b8162;if(!Array[_0x33de1a(0x2b2)](_0x4b8162))return'';const _0x1fe6f8=[];for(const _0xa05f4f of _0x4b8162){if(typeof _0xa05f4f===_0x33de1a(0x23b)){if(_0xa05f4f)_0x1fe6f8[_0x33de1a(0x253)](_0xa05f4f);continue;}const _0x4c3569=asRecord(_0xa05f4f);_0x4c3569['type']===_0x33de1a(0x23e)&&typeof _0x4c3569[_0x33de1a(0x23e)]==='string'&&_0x4c3569[_0x33de1a(0x23e)]&&_0x1fe6f8[_0x33de1a(0x253)](_0x4c3569['text']);}return _0x1fe6f8[_0x33de1a(0x1e5)]('\x0a');}function extractGatewayChatText(_0x1b02ce){const _0x5e360d=_0x2f329a,_0x1fad8c=asRecord(_0x1b02ce);if(typeof _0x1fad8c['text']===_0x5e360d(0x23b))return _0x1fad8c[_0x5e360d(0x23e)];return extractGatewayMessageText(_0x1fad8c[_0x5e360d(0x17d)]);}function guessMimeType(_0x311414){const _0x513e9c=_0x2f329a,_0x21fa61=_0x311414[_0x513e9c(0x1bf)]('.')[_0x513e9c(0x19c)]()?.['toLowerC'+'ase']()??'',_0x25b64a={'png':_0x513e9c(0x2ac)+'g','jpg':_0x513e9c(0x251)+'eg','jpeg':_0x513e9c(0x251)+'eg','webp':_0x513e9c(0x197)+'bp','gif':_0x513e9c(0x23c)+'f','svg':'image/sv'+_0x513e9c(0x18a),'pdf':_0x513e9c(0x179)+_0x513e9c(0x15b),'txt':'text/pla'+'in','md':_0x513e9c(0x2a2)+_0x513e9c(0x275),'json':'applicat'+'ion/json','csv':_0x513e9c(0x18d)};return _0x25b64a[_0x21fa61]||_0x513e9c(0x179)+_0x513e9c(0x1d8)+_0x513e9c(0x1ca);}async function buildAttachments(_0x459ba9=[]){const _0x17191c=_0x2f329a,_0x15016d=[];for(const _0x540121 of _0x459ba9){const _0x206bf3=getTrimmedString(_0x540121);if(!_0x206bf3)continue;const _0x36aef3=await stat(_0x206bf3);if(!_0x36aef3[_0x17191c(0x1ff)]())continue;if(_0x36aef3[_0x17191c(0x2b9)]>ATTACHMENT_MAX_BYTES)throw new Error(_0x17191c(0x244)+'nt\x20too\x20l'+_0x17191c(0x1a4)+basename(_0x206bf3));const _0x1adbb9=guessMimeType(_0x206bf3);_0x15016d['push']({'type':_0x1adbb9[_0x17191c(0x184)+'th']('image/')?'image':_0x17191c(0x283),'mimeType':_0x1adbb9,'content':(await readFile(_0x206bf3))[_0x17191c(0x28b)]('base64'),'fileName':basename(_0x206bf3)});}return _0x15016d;}function buildSessionCreateRequestPayload(_0x149402={}){const _0x22298c=_0x2f329a,_0x48a884={},_0x203078=Math[_0x22298c(0x227)]()[_0x22298c(0x28b)](0x24)[_0x22298c(0x158)](0x2,0xf),_0x81ca93=getTrimmedString(_0x149402[_0x22298c(0x154)])||_0x22298c(0x1ea),_0x10943e=getTrimmedString(_0x149402[_0x22298c(0x29d)])||_0x22298c(0x296)+_0x81ca93+(_0x22298c(0x25e)+'-')+Date[_0x22298c(0x211)]();_0x48a884[_0x22298c(0x29d)]=_0x10943e+'-'+_0x203078,_0x48a884['agentId']=_0x81ca93;const _0x6bbbef=getTrimmedString(_0x149402[_0x22298c(0x18c)]);if(_0x6bbbef)_0x48a884[_0x22298c(0x18c)]=_0x6bbbef+'-'+_0x203078;for(const _0x7b03ae of['model',_0x22298c(0x2a8)+_0x22298c(0x23f),'task',_0x22298c(0x295)]){const _0x1eafa7=getTrimmedString(_0x149402[_0x7b03ae]);if(_0x1eafa7)_0x48a884[_0x7b03ae]=_0x1eafa7;}return _0x48a884;}function parseSessionCreateResult(_0x3b5d16){const _0x26fceb=_0x2f329a,_0x1a8d48=asRecord(_0x3b5d16),_0x5caa2e=asRecord(_0x1a8d48[_0x26fceb(0x24d)]);return{'ok':!![],'key':getTrimmedString(_0x1a8d48['key'])||getTrimmedString(_0x1a8d48[_0x26fceb(0x27b)+'ey'])||getTrimmedString(_0x5caa2e[_0x26fceb(0x29d)])||null,'sessionId':getTrimmedString(_0x1a8d48['sessionI'+'d'])||getTrimmedString(_0x5caa2e[_0x26fceb(0x1cb)+'d'])||null};}function getSessionKeyFromValue(_0x43882c){const _0x5ae51d=_0x2f329a,_0x436890=asRecord(_0x43882c);return getTrimmedString(_0x436890[_0x5ae51d(0x27b)+'ey']??_0x436890[_0x5ae51d(0x29d)]??_0x436890['id']);}function createEmptySessionMetadata(){return{'names':{},'pinnedKeys':[]};}async function readSessionMetadata(_0x5ae96b){const _0x2449a4=_0x2f329a;try{const _0x444344=JSON['parse'](await readFile(join(_0x5ae96b,SESSION_METADATA_FILE),_0x2449a4(0x2aa))),_0x53453a=asRecord(_0x444344);return{'names':asRecord(_0x53453a[_0x2449a4(0x260)]),'pinnedKeys':Array[_0x2449a4(0x2b2)](_0x53453a[_0x2449a4(0x288)+'ys'])?_0x53453a['pinnedKe'+'ys'][_0x2449a4(0x238)](_0x49c42e=>typeof _0x49c42e===_0x2449a4(0x23b)&&_0x49c42e[_0x2449a4(0x287)]()):[]};}catch{return createEmptySessionMetadata();}}async function writeSessionMetadata(_0x373676,_0x2199b3){const _0x324f2b=_0x2f329a;await mkdir(_0x373676,{'recursive':!![]}),await writeFile(join(_0x373676,SESSION_METADATA_FILE),JSON[_0x324f2b(0x24a)+'y'](_0x2199b3,null,0x2)+'\x0a',_0x324f2b(0x2aa));}function applySessionMetadata(_0x44f14e,_0x3550ea){const _0x30da48=_0x2f329a,_0x100bf7=asRecord(_0x44f14e),_0x1ee5f9=Array[_0x30da48(0x2b2)](_0x100bf7['sessions'])?_0x100bf7[_0x30da48(0x1fe)]:[];return{..._0x100bf7,'pinnedKeys':_0x3550ea[_0x30da48(0x288)+'ys'],'sessions':_0x1ee5f9[_0x30da48(0x2af)](_0x3079ab=>{const _0x2fd4d3=_0x30da48,_0x36a975=asRecord(_0x3079ab),_0x2055c4=getSessionKeyFromValue(_0x36a975);if(!_0x2055c4)return _0x3079ab;const _0x36287a=getTrimmedString(_0x3550ea['names'][_0x2055c4]),_0x42ac7=_0x3550ea[_0x2fd4d3(0x288)+'ys'][_0x2fd4d3(0x20c)](_0x2055c4);return{..._0x36a975,..._0x36287a?{'name':_0x36287a,'displayName':_0x36287a,'label':_0x36287a}:{},'pinned':_0x42ac7};})};}function sanitizeSharedContextPayload(_0x560afa){const _0x59e493=_0x2f329a,_0x587a6a=asRecord(_0x560afa),_0x2069f5={};for(const _0x377aca of SHARED_CONTEXT_FILES){if(typeof _0x587a6a[_0x377aca]===_0x59e493(0x23b))_0x2069f5[_0x377aca]=_0x587a6a[_0x377aca];}return _0x2069f5;}async function readSharedContext(_0x16f877){const _0xca4fb6=_0x2f329a,_0x53b159={};for(const _0x435001 of SHARED_CONTEXT_FILES){try{_0x53b159[_0x435001]=await readFile(join(_0x16f877,_0x435001),_0xca4fb6(0x2aa));}catch{_0x53b159[_0x435001]='';}}return _0x53b159;}async function writeSharedContext(_0x2d0723,_0x3afc83){const _0x5e3396=_0x2f329a,_0x132e4a=sanitizeSharedContextPayload(_0x3afc83);await mkdir(_0x2d0723,{'recursive':!![]});for(const [_0x2f5121,_0x404663]of Object[_0x5e3396(0x1a6)](_0x132e4a)){await writeFile(join(_0x2d0723,_0x2f5121),_0x404663,_0x5e3396(0x2aa));}return{'ok':!![],'files':Object[_0x5e3396(0x27a)](_0x132e4a)};}function createAskUserQuestionServer({configController:_0x9bbbda,emit:_0x33729d}){const _0x57a35b=new Map();let _0x13228c=null,_0x3502e9='',_0x5a7358='';async function _0x4e62f6(){const _0x13bc5e=_0x54fe;if(_0x13228c)return{'callbackUrl':_0x3502e9,'secret':_0x5a7358};_0x5a7358=randomUUID();const _0x4baca3=await _0x539348({'port':portNumbers(0x332c,0x338f)});return _0x3502e9='http://1'+_0x13bc5e(0x165)+':'+_0x4baca3+(_0x13bc5e(0x196)+_0x13bc5e(0x259)+'on'),_0x13228c=createServer(async(_0xe056cb,_0x5841f6)=>{const _0x1a61c0=_0x13bc5e;if(_0xe056cb['method']!==_0x1a61c0(0x177)||_0xe056cb[_0x1a61c0(0x232)]!==_0x1a61c0(0x196)+_0x1a61c0(0x259)+'on'){_0x5841f6['writeHea'+'d'](0x194),_0x5841f6[_0x1a61c0(0x1bc)]('not\x20foun'+'d');return;}if(_0xe056cb[_0x1a61c0(0x220)]['x-ask-us'+'er-secre'+'t']!==_0x5a7358){_0x5841f6[_0x1a61c0(0x2a9)+'d'](0x191),_0x5841f6[_0x1a61c0(0x1bc)]('unauthor'+_0x1a61c0(0x168));return;}let _0x59ee36='';_0xe056cb['on']('data',_0x415ab3=>{const _0xfbe166=_0x1a61c0;_0x59ee36+=_0x415ab3['toString']();if(_0x59ee36[_0xfbe166(0x1b3)]>0x400*0x400)_0xe056cb[_0xfbe166(0x22c)]();}),_0xe056cb['on'](_0x1a61c0(0x1bc),()=>{const _0x5ac9df=_0x1a61c0;let _0x2d4fa3={};try{_0x2d4fa3=JSON[_0x5ac9df(0x1b5)](_0x59ee36||'{}');}catch{_0x5841f6[_0x5ac9df(0x2a9)+'d'](0x190),_0x5841f6[_0x5ac9df(0x1bc)](_0x5ac9df(0x1fd)+_0x5ac9df(0x1dc));return;}const _0x5ccc31=randomUUID(),_0x3e515e=setTimeout(()=>{const _0x5bac24=_0x5ac9df;if(!_0x57a35b[_0x5bac24(0x152)](_0x5ccc31))return;_0x57a35b[_0x5bac24(0x1c7)](_0x5ccc31),_0x5841f6[_0x5bac24(0x2a9)+'d'](0xc8,{'content-type':_0x5bac24(0x179)+_0x5bac24(0x1b8)}),_0x5841f6[_0x5bac24(0x1bc)](JSON[_0x5bac24(0x24a)+'y']({'behavior':'deny'}));},0x1d4c0);_0x57a35b[_0x5ac9df(0x265)](_0x5ccc31,{'res':_0x5841f6,'timeout':_0x3e515e}),_0x33729d(_0x5ac9df(0x293)+_0x5ac9df(0x270)+'n',{'requestId':_0x5ccc31,...asRecord(_0x2d4fa3)});});}),await new Promise((_0x1fe367,_0x111881)=>{const _0x538214=_0x13bc5e;_0x13228c[_0x538214(0x2a0)](_0x538214(0x199),_0x111881),_0x13228c[_0x538214(0x1de)](_0x4baca3,'127.0.0.'+'1',()=>{const _0x14ab98=_0x538214;_0x13228c[_0x14ab98(0x1c3)]('error',_0x111881),_0x1fe367();});}),await _0x9bbbda['ensureAs'+_0x13bc5e(0x2bc)+_0x13bc5e(0x153)+_0x13bc5e(0x166)+'g']({'callbackUrl':_0x3502e9,'secret':_0x5a7358}),{'callbackUrl':_0x3502e9,'secret':_0x5a7358};}function _0x443277(_0x413cb6={}){const _0x4cca89=_0x54fe,_0x171798=getTrimmedString(_0x413cb6[_0x4cca89(0x180)+'d']);if(!_0x171798||!_0x57a35b[_0x4cca89(0x152)](_0x171798))throw new Error(_0x4cca89(0x293)+_0x4cca89(0x270)+'n\x20reques'+_0x4cca89(0x156)+_0x4cca89(0x1e2));const _0x24039c=_0x57a35b[_0x4cca89(0x1c4)](_0x171798);return _0x57a35b[_0x4cca89(0x1c7)](_0x171798),clearTimeout(_0x24039c[_0x4cca89(0x290)]),_0x24039c[_0x4cca89(0x155)][_0x4cca89(0x2a9)+'d'](0xc8,{'content-type':_0x4cca89(0x179)+_0x4cca89(0x1b8)}),_0x24039c[_0x4cca89(0x155)]['end'](JSON[_0x4cca89(0x24a)+'y']({'behavior':_0x413cb6[_0x4cca89(0x1f1)]==='deny'?'deny':_0x4cca89(0x276),'answers':asRecord(_0x413cb6[_0x4cca89(0x27e)])})),{'ok':!![]};}async function _0x1999eb(){const _0x9553e9=_0x54fe;for(const [_0x39c867,_0x560dcb]of _0x57a35b){_0x57a35b[_0x9553e9(0x1c7)](_0x39c867),clearTimeout(_0x560dcb[_0x9553e9(0x290)]),_0x560dcb[_0x9553e9(0x155)]['writeHea'+'d'](0xc8,{'content-type':_0x9553e9(0x179)+_0x9553e9(0x1b8)}),_0x560dcb[_0x9553e9(0x155)][_0x9553e9(0x1bc)](JSON[_0x9553e9(0x24a)+'y']({'behavior':_0x9553e9(0x223)}));}if(!_0x13228c)return;await new Promise(_0x63b346=>_0x13228c[_0x9553e9(0x23d)](_0x63b346)),_0x13228c=null;}return{'start':_0x4e62f6,'answer':_0x443277,'stop':_0x1999eb};}export function createGatewayController({shellConfig:_0x110f3e,configController:_0x1a1aa0,appVersion:appVersion='0.1.0'}){const _0xdad4e7=_0x2f329a,_0x116c51=new EventEmitter(),_0x521a55=new ClawGatewayWsClient(),_0x3a66e5=[],_0x2f037e=new Map(),_0x543cae=new Map(),_0x3bc1a4=createShellLogger(_0x1a1aa0[_0xdad4e7(0x1fa)],_0xdad4e7(0x19d)),_0x3baf49=createShellLogger(_0x1a1aa0[_0xdad4e7(0x1fa)],_0xdad4e7(0x15a)),_0xd864b5=createShellLogger(_0x1a1aa0[_0xdad4e7(0x1fa)],_0xdad4e7(0x1fe)),_0x46c0f8=createShellLogger(_0x1a1aa0[_0xdad4e7(0x1fa)],'capabili'+_0xdad4e7(0x2ba)),_0x2f9231=createAskUserQuestionServer({'configController':_0x1a1aa0,'emit':(_0x24ef33,_0x4d196e)=>_0x116c51['emit'](_0x24ef33,_0x4d196e)});let _0x44d941=createInitialStatus(),_0x497c24=null,_0x20f854=null,_0x18026d=null,_0x4669ac=![],_0x76c379=![],_0x18aac5=Promise['resolve'](),_0x1bc7e4=null,_0x2b5634=0x0;function _0x2400e7(_0x10d22e,_0x5f5526){const _0x28485e=_0xdad4e7;_0x116c51[_0x28485e(0x1a2)](_0x10d22e,_0x5f5526);}function _0x2b463e(_0x51764d,_0x5327ad){const _0x53470c=_0xdad4e7;return _0x116c51['on'](_0x51764d,_0x5327ad),()=>_0x116c51[_0x53470c(0x1c3)](_0x51764d,_0x5327ad);}function _0xd5d014(_0x120796){const _0x1588d0=_0xdad4e7;_0x44d941={..._0x44d941,..._0x120796,'updatedAt':nowIso()},_0x2400e7(_0x1588d0(0x1bd)+'status',_0x44d941);}function _0x584ae1(_0x1bd3d3,_0x2b9d63,_0x43628b={}){const _0x43022c=_0xdad4e7;_0xd5d014({'lifecycle':_0x1bd3d3,'message':_0x2b9d63,..._0x43628b}),_0x123cd2('system',_0x1bd3d3[_0x43022c(0x15d)+_0x43022c(0x250)]()+'\x20'+_0x2b9d63),_0x3bc1a4?.[_0x43022c(0x25c)](_0x43022c(0x169)+_0x43022c(0x25b)+_0x43022c(0x22e)+'d',{'lifecycle':_0x1bd3d3,'message':_0x2b9d63,'status':{'health':_0x44d941['health'],'port':_0x44d941[_0x43022c(0x242)],'tokenPresent':_0x44d941[_0x43022c(0x167)+_0x43022c(0x1cf)]},...summarizePayload(_0x43628b)});}function _0x123cd2(_0x37fec8,_0x50fbdc){const _0x5cf0d7=_0xdad4e7,_0x513850=String(_0x50fbdc??'')['trimEnd']();if(!_0x513850)return;const _0x7a0d66={'source':_0x37fec8,'text':_0x513850,'timestamp':nowIso()};_0x3a66e5[_0x5cf0d7(0x253)](_0x7a0d66);if(_0x3a66e5[_0x5cf0d7(0x1b3)]>LOG_LIMIT)_0x3a66e5[_0x5cf0d7(0x299)](0x0,_0x3a66e5[_0x5cf0d7(0x1b3)]-LOG_LIMIT);_0x2400e7(_0x5cf0d7(0x1bd)+'log',_0x7a0d66),_0x3bc1a4?.[_0x5cf0d7(0x25c)](_0x5cf0d7(0x169)+_0x5cf0d7(0x19b),{'source':_0x37fec8,'text':_0x513850});}function _0x284578(_0x156de6=0xc8){const _0x3a6d8f=_0xdad4e7;return _0x3a66e5[_0x3a6d8f(0x158)](-Math['max'](0x1,Math[_0x3a6d8f(0x2c2)](_0x156de6)));}function _0x406732(){const _0x414ab6=_0xdad4e7;if(!_0x497c24||_0x44d941[_0x414ab6(0x25b)+'e']!==_0x414ab6(0x161))throw new Error(_0x414ab6(0x169)+_0x414ab6(0x286)+_0x414ab6(0x1f3)+_0x414ab6(0x17b)+_0x414ab6(0x1cd)+'y');}function _0x249b12(){const _0x41669b=_0xdad4e7;return Boolean(_0x497c24&&_0x44d941[_0x41669b(0x25b)+'e']===_0x41669b(0x161));}function _0x10f8c1(_0x4e547d){const _0x47955c=_0xdad4e7;_0x2400e7(_0x47955c(0x25a)+_0x47955c(0x22a)+'t',_0x4e547d);}function _0x57a576(_0x207b50){const _0x3c181a=_0xdad4e7,_0x3ef14f=_0x2f037e[_0x3c181a(0x1c4)](_0x207b50);if(!_0x3ef14f)return null;_0x2f037e[_0x3c181a(0x1c7)](_0x207b50);if(_0x3ef14f[_0x3c181a(0x233)+'Fallback'+_0x3c181a(0x228)])clearTimeout(_0x3ef14f['terminal'+'Fallback'+_0x3c181a(0x228)]);return _0x543cae[_0x3c181a(0x1c7)](_0x3ef14f[_0x3c181a(0x27b)+'ey']),_0x3ef14f;}function _0x26c8c5(_0x33e64c,_0xf2f5a5,_0x414f03=''){const _0x45f980=_0xdad4e7,_0x13d6f0=_0x57a576(_0x33e64c[_0x45f980(0x2c0)]);if(!_0x13d6f0)return;_0x3baf49?.[_0x45f980(0x25c)](_0x45f980(0x1ab)+_0x45f980(0x226),{'requestId':_0x13d6f0[_0x45f980(0x180)+'d'],'runId':_0x13d6f0[_0x45f980(0x2c0)],'sessionKey':_0x13d6f0['sessionK'+'ey'],'outcome':_0xf2f5a5,'durationMs':Date[_0x45f980(0x211)]()-_0x13d6f0['startedA'+'t'],'textLength':_0x13d6f0['textLeng'+'th'],..._0x414f03?{'message':_0x414f03}:{}}),_0x10f8c1({'requestId':_0x13d6f0['requestI'+'d'],'sessionKey':_0x13d6f0[_0x45f980(0x27b)+'ey'],'type':_0xf2f5a5,..._0x414f03?{'message':_0x414f03}:{}});}function _0x6524bb(_0x2ac2dc){const _0x15964b=_0xdad4e7;let _0x2490ec=null;for(const _0x192c40 of _0x2f037e[_0x15964b(0x218)]()){if(_0x192c40[_0x15964b(0x27b)+'ey']===_0x2ac2dc)_0x2490ec=_0x192c40;}return _0x2490ec;}function _0xa3912f(_0x53f941){const _0x32b7ca=_0xdad4e7;if(!_0x53f941)return null;for(const _0x1e80d8 of _0x2f037e['values']()){if(_0x1e80d8[_0x32b7ca(0x180)+'d']===_0x53f941)return _0x1e80d8;}return null;}function _0x55ddfd(_0x124336,_0x553869){const _0x1022d7=_0xdad4e7;if(_0x553869[_0x1022d7(0x1b3)]<=_0x124336[_0x1022d7(0x240)+'th'])return;const _0x70053c=_0x553869[_0x1022d7(0x158)](_0x124336[_0x1022d7(0x240)+'th']);_0x124336[_0x1022d7(0x240)+'th']=_0x553869[_0x1022d7(0x1b3)],_0x70053c&&_0x10f8c1({'requestId':_0x124336[_0x1022d7(0x180)+'d'],'sessionKey':_0x124336[_0x1022d7(0x27b)+'ey'],'type':'delta','delta':_0x70053c});}function _0x3bacce(_0x4831ed,_0x2f765f,_0xe3c383=''){const _0x1e1388=_0xdad4e7;if(_0x4831ed[_0x1e1388(0x233)+_0x1e1388(0x1f8)+_0x1e1388(0x228)])clearTimeout(_0x4831ed[_0x1e1388(0x233)+_0x1e1388(0x1f8)+_0x1e1388(0x228)]);_0x4831ed[_0x1e1388(0x233)+_0x1e1388(0x1f8)+_0x1e1388(0x228)]=setTimeout(()=>{const _0x694cac=_0x1e1388,_0x4553a8=_0x2f037e[_0x694cac(0x1c4)](_0x4831ed[_0x694cac(0x2c0)]);if(!_0x4553a8)return;_0x26c8c5(_0x4553a8,_0x2f765f===_0x694cac(0x199)?'error':_0x694cac(0x18f),_0xe3c383);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x3510d3(_0x564e23){const _0x444612=_0xdad4e7;for(const _0x5642ce of _0x2f037e[_0x444612(0x218)]()){_0x3baf49?.['warn']('chat\x20run'+_0x444612(0x15c)+_0x444612(0x173)+_0x444612(0x2bb),{'requestId':_0x5642ce[_0x444612(0x180)+'d'],'runId':_0x5642ce['runId'],'sessionKey':_0x5642ce[_0x444612(0x27b)+'ey'],'durationMs':Date[_0x444612(0x211)]()-_0x5642ce[_0x444612(0x1ef)+'t'],'reason':_0x564e23}),_0x10f8c1({'requestId':_0x5642ce[_0x444612(0x180)+'d'],'sessionKey':_0x5642ce['sessionK'+'ey'],'type':_0x444612(0x199),'message':_0x564e23});if(_0x5642ce[_0x444612(0x233)+'Fallback'+_0x444612(0x228)])clearTimeout(_0x5642ce[_0x444612(0x233)+_0x444612(0x1f8)+_0x444612(0x228)]);}_0x2f037e[_0x444612(0x2a1)](),_0x543cae[_0x444612(0x2a1)]();}function _0x2608dd(_0x7bdcd4){const _0x4e5545=_0xdad4e7,_0x27e9e8=getTrimmedString(_0x7bdcd4[_0x4e5545(0x2c0)]),_0x5f0beb=getTrimmedString(_0x7bdcd4[_0x4e5545(0x285)])||_0x4e5545(0x188),_0xa55cb0=getTrimmedString(_0x7bdcd4['sessionK'+'ey']),_0x4d5e07=(_0x27e9e8?_0x2f037e['get'](_0x27e9e8):null)??(_0xa55cb0?_0x6524bb(_0xa55cb0):null);if(_0x27e9e8&&_0xa55cb0)_0x543cae['set'](_0xa55cb0,_0x27e9e8);if(_0xa55cb0)_0x2400e7('session-'+_0x4e5545(0x188),{'sessionKey':_0xa55cb0,'state':_0x5f0beb});_0x3baf49?.['info'](_0x4e5545(0x169)+_0x4e5545(0x1c0)+'nt\x20recei'+_0x4e5545(0x17e),{'runId':_0x27e9e8,'sessionKey':_0xa55cb0,'state':_0x5f0beb,'hasActiveRun':Boolean(_0x4d5e07),'messageText':summarizeText(extractGatewayChatText(_0x7bdcd4['message']),0x78),'errorMessage':getTrimmedString(_0x7bdcd4[_0x4e5545(0x19e)+_0x4e5545(0x2a5)])});_0x4d5e07&&(_0x5f0beb==='final'||_0x5f0beb===_0x4e5545(0x26d)||_0x5f0beb===_0x4e5545(0x199))&&_0x3bacce(_0x4d5e07,_0x5f0beb,typeof _0x7bdcd4[_0x4e5545(0x19e)+_0x4e5545(0x2a5)]==='string'?_0x7bdcd4[_0x4e5545(0x19e)+_0x4e5545(0x2a5)]:_0x4e5545(0x169)+'chat\x20fai'+_0x4e5545(0x1a8));if(!_0x4d5e07)return;if(_0xa55cb0&&_0xa55cb0!==_0x4d5e07[_0x4e5545(0x27b)+'ey'])return;if(_0x5f0beb===_0x4e5545(0x235)){_0x55ddfd(_0x4d5e07,extractGatewayChatText(_0x7bdcd4[_0x4e5545(0x295)]));return;}if(_0x5f0beb===_0x4e5545(0x1d7)||_0x5f0beb==='aborted'){_0x55ddfd(_0x4d5e07,extractGatewayChatText(_0x7bdcd4[_0x4e5545(0x295)])),_0x26c8c5(_0x4d5e07,_0x4e5545(0x18f));return;}_0x5f0beb==='error'&&_0x26c8c5(_0x4d5e07,_0x4e5545(0x199),typeof _0x7bdcd4[_0x4e5545(0x19e)+'sage']===_0x4e5545(0x23b)?_0x7bdcd4[_0x4e5545(0x19e)+_0x4e5545(0x2a5)]:_0x4e5545(0x169)+_0x4e5545(0x2bd)+_0x4e5545(0x1a8));}async function _0x1ad4b0(_0x371769,_0x14e5fe){const _0x3e6b08=_0xdad4e7;_0x521a55['configur'+'e']({'url':buildGatewayWsUrl(_0x14e5fe),'token':_0x371769,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x110f3e[_0x3e6b08(0x252)+_0x3e6b08(0x29f)],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x1a1aa0[_0x3e6b08(0x26a)+'eviceIde'+_0x3e6b08(0x24c)+'h'](),'onChatEvent':_0x2608dd,'onAgentEvent':_0x5108e9=>_0x2400e7(_0x3e6b08(0x190)+'ent',_0x5108e9),'onConnected':async()=>{const _0x43d5a3=_0x3e6b08;if(!_0x497c24||!_0x18026d||!_0x20f854)return;_0x3bc1a4?.[_0x43d5a3(0x25c)](_0x43d5a3(0x169)+_0x43d5a3(0x1a1)+_0x43d5a3(0x1dd)+_0x43d5a3(0x24b),{'port':_0x18026d,'pid':_0x497c24[_0x43d5a3(0x21f)],'readyMs':_0x2b5634?Date[_0x43d5a3(0x211)]()-_0x2b5634:undefined}),_0x584ae1(_0x43d5a3(0x161),_0x43d5a3(0x169)+_0x43d5a3(0x291)+'d',{'health':_0x43d5a3(0x176),'port':_0x18026d,'tokenPresent':!![]});try{await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x110f3e[_0x43d5a3(0x1ee)+_0x43d5a3(0x178)]))[_0x43d5a3(0x192)+'oot'],_0x43d5a3(0x1be),_0x43d5a3(0x2b3)),'stateDir':_0x1a1aa0[_0x43d5a3(0x271)+_0x43d5a3(0x19f)](),'listAgents':_0xe13808,'createAgent':_0x5296b1=>_0x521a55[_0x43d5a3(0x1ce)](_0x43d5a3(0x239)+_0x43d5a3(0x2b8),_0x5296b1),'updateAgent':_0x56fae2=>_0x521a55[_0x43d5a3(0x1ce)](_0x43d5a3(0x1b6)+_0x43d5a3(0x23a),_0x56fae2),'syncSkills':async({agentIds:_0x2cc051,mainWorkspace:_0x488f64})=>{const _0x343d06=_0x43d5a3;_0x46c0f8?.[_0x343d06(0x25c)]('bundled\x20'+_0x343d06(0x17a)+_0x343d06(0x29a)+_0x343d06(0x247)+'d',{'agentIds':_0x2cc051,'mainWorkspace':toHomePath(_0x488f64)});const _0x3b29bd=dirname(_0x488f64),_0x2ac411=await syncBundledAgentSkillsToConfig({'agentIds':_0x2cc051,'resolveSkillsDir':_0x40524f=>_0x40524f===_0x343d06(0x1ea)?join(_0x488f64,_0x343d06(0x15e)):join(_0x3b29bd,_0x343d06(0x1d4)+'e-'+_0x40524f,_0x343d06(0x15e)),'readConfig':()=>_0x1a1aa0[_0x343d06(0x28d)+'ig'](),'writeConfig':_0x58a294=>_0x1a1aa0[_0x343d06(0x172)+_0x343d06(0x175)](_0x58a294),'markConfigWriteHandledInternally':()=>_0x1a1aa0[_0x343d06(0x181)+_0x343d06(0x2b7)+_0x343d06(0x207)+_0x343d06(0x162)]()});_0x1bc7e4=_0x2ac411[_0x343d06(0x17c)+'y'],_0x46c0f8?.[_0x343d06(0x25c)](_0x343d06(0x26c)+_0x343d06(0x17a)+_0x343d06(0x29a)+'c\x20comple'+_0x343d06(0x24b),{'agentCount':_0x2cc051[_0x343d06(0x1b3)],'changed':_0x2ac411[_0x343d06(0x1a9)],'discovery':summarizePayload(_0x2ac411[_0x343d06(0x17c)+'y'],{'maxDepth':0x3})});}}),_0x46c0f8?.[_0x43d5a3(0x25c)](_0x43d5a3(0x26c)+'agents\x20e'+'nsured'),_0x2400e7(_0x43d5a3(0x213)+'pdated',{'reason':_0x43d5a3(0x2b0)+_0x43d5a3(0x248)+_0x43d5a3(0x201)});}catch(_0x5dfc2d){const _0x1b560e=_0x5dfc2d instanceof Error?_0x5dfc2d[_0x43d5a3(0x2c1)]||_0x5dfc2d[_0x43d5a3(0x295)]:String(_0x5dfc2d);_0x123cd2(_0x43d5a3(0x24e),_0x43d5a3(0x26c)+_0x43d5a3(0x263)+_0x43d5a3(0x1d0)+_0x43d5a3(0x257)+_0x1b560e),_0x46c0f8?.[_0x43d5a3(0x199)](_0x43d5a3(0x26c)+'agents\x20s'+'ync\x20fail'+'ed',{'error':summarizeError(_0x5dfc2d)}),console[_0x43d5a3(0x199)](_0x43d5a3(0x193)+_0x43d5a3(0x282)+_0x43d5a3(0x2b6)+_0x43d5a3(0x279)+_0x43d5a3(0x27d)+'c\x20failed',_0x5dfc2d);}},'onDisconnected':_0x15d153=>{const _0x2d476f=_0x3e6b08;_0x3bc1a4?.[_0x2d476f(0x1b9)](_0x2d476f(0x169)+'websocke'+_0x2d476f(0x1e7)+_0x2d476f(0x27f),{'reason':_0x15d153}),_0x3510d3(_0x15d153);if(_0x76c379||!_0x497c24)return;_0xd5d014({'health':_0x2d476f(0x20b),'message':_0x2d476f(0x169)+_0x2d476f(0x1e6)+_0x2d476f(0x18e)+_0x15d153});}});}async function _0x15ba71(_0x36926a,_0x9d47b){const _0x2d8fc1=_0xdad4e7;if(_0x497c24)return;_0x2b5634=Date['now'](),_0x584ae1(_0x2d8fc1(0x16f),_0x2d8fc1(0x169)+_0x2d8fc1(0x16f),{'health':_0x2d8fc1(0x20b),'port':_0x9d47b,'tokenPresent':!![]});const _0x49d01f=[_0x2d8fc1(0x19d),_0x2d8fc1(0x209),_0x2d8fc1(0x273)+'unconfig'+_0x2d8fc1(0x2a7),_0x2d8fc1(0x16c),_0x36926a,_0x2d8fc1(0x2bf),String(_0x9d47b)];_0x123cd2(_0x2d8fc1(0x24e),_0x2d8fc1(0x1be)+_0x2d8fc1(0x27c)+_0x2d8fc1(0x183)+_0x2d8fc1(0x272)+_0x2d8fc1(0x29e)+_0x2d8fc1(0x21a)+_0x2d8fc1(0x187)+'TED]\x20--p'+_0x2d8fc1(0x1d2)+_0x9d47b),_0x3bc1a4?.['info'](_0x2d8fc1(0x169)+_0x2d8fc1(0x249)+_0x2d8fc1(0x1a3)+'quested',{'args':['gateway',_0x2d8fc1(0x209),_0x2d8fc1(0x273)+'unconfig'+'ured',_0x2d8fc1(0x16c),_0x2d8fc1(0x1f9)+'D]',_0x2d8fc1(0x2bf),String(_0x9d47b)],'env':{'OPENCLAW_STATE_DIR':toHomePath(_0x1a1aa0[_0x2d8fc1(0x271)+_0x2d8fc1(0x19f)]()),'OPENCLAW_CONFIG_PATH':toHomePath(_0x1a1aa0['resolveC'+_0x2d8fc1(0x2ae)+'h']())}}),_0x497c24=await spawnClaw(_0x110f3e[_0x2d8fc1(0x1ee)+_0x2d8fc1(0x178)],_0x49d01f,{'env':{'OPENCLAW_STATE_DIR':_0x1a1aa0[_0x2d8fc1(0x271)+_0x2d8fc1(0x19f)](),'OPENCLAW_CONFIG_PATH':_0x1a1aa0['resolveC'+_0x2d8fc1(0x2ae)+'h']()}}),_0x20f854=_0x36926a,_0x18026d=_0x9d47b,_0x3bc1a4?.[_0x2d8fc1(0x25c)](_0x2d8fc1(0x169)+_0x2d8fc1(0x249)+_0x2d8fc1(0x26f),{'pid':_0x497c24[_0x2d8fc1(0x21f)],'port':_0x18026d}),_0xd5d014({'health':_0x2d8fc1(0x20b),'port':_0x18026d,'tokenPresent':!![],'message':_0x2d8fc1(0x169)+'process\x20'+_0x2d8fc1(0x277)+'\x20waiting'+'\x20for\x20WS'}),await _0x1ad4b0(_0x36926a,_0x9d47b);const _0x5bf8f7=createLineBuffer({'trim':!![],'onLine':_0x18a86a=>_0x123cd2(_0x2d8fc1(0x216),_0x18a86a)}),_0x206477=createLineBuffer({'trim':!![],'onLine':_0x7698b3=>_0x123cd2(_0x2d8fc1(0x2be),_0x7698b3)});_0x497c24['stdout']['on']('data',_0x7d562a=>{const _0x1c8f1e=_0x2d8fc1;_0x5bf8f7['push'](_0x7d562a[_0x1c8f1e(0x28b)]());}),_0x497c24[_0x2d8fc1(0x2be)]['on']('data',_0x47168a=>{const _0xd870d0=_0x2d8fc1;_0x206477[_0xd870d0(0x253)](_0x47168a[_0xd870d0(0x28b)]());}),_0x497c24['on'](_0x2d8fc1(0x199),_0x59a8d2=>{const _0x32f5b7=_0x2d8fc1;_0x3bc1a4?.[_0x32f5b7(0x199)]('gateway\x20'+_0x32f5b7(0x249)+_0x32f5b7(0x199),{'error':summarizeError(_0x59a8d2)}),_0x123cd2(_0x32f5b7(0x2be),_0x59a8d2 instanceof Error?_0x59a8d2[_0x32f5b7(0x2c1)]||_0x59a8d2['message']:String(_0x59a8d2));}),_0x497c24['on']('close',(_0x5e7b3e,_0x20f3d7)=>{const _0x28373d=_0x2d8fc1;_0x5bf8f7[_0x28373d(0x16a)](),_0x206477[_0x28373d(0x16a)](),_0x3bc1a4?.[_0x28373d(0x1b9)](_0x28373d(0x169)+'process\x20'+_0x28373d(0x151),{'pid':_0x497c24?.['pid']??null,'code':_0x5e7b3e,'signal':_0x20f3d7,'uptimeMs':_0x2b5634?Date['now']()-_0x2b5634:undefined}),_0x123cd2(_0x28373d(0x24e),_0x28373d(0x169)+'exited\x20c'+_0x28373d(0x186)+(_0x5e7b3e??'null')+'\x20signal='+(_0x20f3d7??_0x28373d(0x28f))),_0x497c24=null,_0x20f854=null,_0x18026d=null,_0x521a55[_0x28373d(0x22d)+'e'](null),_0x3510d3(_0x28373d(0x169)+_0x28373d(0x249)+_0x28373d(0x20e));if(_0x76c379){_0x584ae1('stopped',_0x28373d(0x169)+'stopped',{'health':'unknown','port':null,'tokenPresent':![]});return;}_0x584ae1(_0x28373d(0x199),_0x28373d(0x169)+'exited\x20u'+_0x28373d(0x1f6)+_0x28373d(0x189),{'health':_0x28373d(0x195)+'y','port':null,'tokenPresent':![]});});}async function _0x31198d(){const _0x8660=_0xdad4e7;if(_0x497c24)return;_0x76c379=![],_0x3bc1a4?.[_0x8660(0x25c)]('gateway\x20'+'controll'+_0x8660(0x261)+_0x8660(0x29c)+'ed'),await _0x2f9231[_0x8660(0x294)]()[_0x8660(0x22b)](_0x4074e4=>{const _0x8f32f=_0x8660;_0x123cd2(_0x8f32f(0x24e),_0x8f32f(0x293)+'-questio'+_0x8f32f(0x1d6)+_0x8f32f(0x194)+_0x8f32f(0x1d9)+(_0x4074e4 instanceof Error?_0x4074e4[_0x8f32f(0x295)]:String(_0x4074e4)));}),await _0x1a1aa0['ensureIn'+_0x8660(0x1bb)+_0x8660(0x175)](),_0x1a1aa0[_0x8660(0x222)+_0x8660(0x1ad)+'es'](),_0x1a1aa0['setGatew'+_0x8660(0x229)+_0x8660(0x24f)](_0x5a5187=>{void _0x34c089(_0x5a5187);});const _0x1cf41a=await _0x1a1aa0[_0x8660(0x26e)+'tewaySet'+_0x8660(0x1e1)]();_0x3bc1a4?.[_0x8660(0x25c)](_0x8660(0x169)+'settings'+'\x20allocat'+'ed',{'port':_0x1cf41a[_0x8660(0x242)],'tokenPresent':Boolean(_0x1cf41a[_0x8660(0x1f7)])}),await _0x15ba71(_0x1cf41a[_0x8660(0x1f7)],_0x1cf41a[_0x8660(0x242)]);}async function _0x9c8905(){const _0x5c73aa=_0xdad4e7;_0x76c379=!![],_0x3bc1a4?.[_0x5c73aa(0x25c)]('gateway\x20'+_0x5c73aa(0x21c)+_0x5c73aa(0x16b)+_0x5c73aa(0x278)+'d',{'pid':_0x497c24?.['pid']??null,'port':_0x18026d}),_0x521a55[_0x5c73aa(0x22d)+'e'](null);if(_0x497c24){const _0x43a421=_0x497c24;_0x497c24=null;try{_0x43a421[_0x5c73aa(0x1b4)]('SIGTERM');}catch{}await new Promise(_0x3d0a0c=>setTimeout(_0x3d0a0c,0x1f4));if(!_0x43a421[_0x5c73aa(0x267)])try{_0x43a421[_0x5c73aa(0x1b4)]('SIGKILL');}catch{}}_0x20f854=null,_0x18026d=null,_0x3510d3(_0x5c73aa(0x169)+'stopped'),await _0x2f9231[_0x5c73aa(0x237)](),_0x1a1aa0['dispose'](),_0x584ae1('stopped','gateway\x20'+_0x5c73aa(0x28c),{'health':_0x5c73aa(0x20b),'port':null,'tokenPresent':![]}),_0x76c379=![];}async function _0x34c089(_0x85e2c4='manual\x20r'+_0xdad4e7(0x2ad)){const _0x53afca=_0xdad4e7;if(_0x4669ac)return{'ok':!![]};return _0x4669ac=!![],_0x3bc1a4?.[_0x53afca(0x25c)]('gateway\x20'+_0x53afca(0x163)+_0x53afca(0x278)+'d',{'reason':_0x85e2c4}),_0x18aac5=_0x18aac5[_0x53afca(0x245)](async()=>{const _0x1616af=_0x53afca;_0x584ae1(_0x1616af(0x2b4)+'ng','gateway\x20'+_0x1616af(0x2b4)+'ng:\x20'+_0x85e2c4,{'health':_0x1616af(0x20b)}),await _0x9c8905(),await _0x31198d();})['finally'](()=>{_0x4669ac=![];}),await _0x18aac5,{'ok':!![]};}async function _0x2e376a(){const _0x351cc3=_0xdad4e7,_0x481070=await loadRuntimeInfo(_0x110f3e[_0x351cc3(0x1ee)+'oot']);return{'runtimeRoot':_0x481070['runtimeR'+_0x351cc3(0x178)],'openclawVersion':_0x481070[_0x351cc3(0x1be)+_0x351cc3(0x1df)],'openclawWorkingDir':_0x481070[_0x351cc3(0x1be)+_0x351cc3(0x210)+'ir'],'openclawBin':_0x481070[_0x351cc3(0x1be)+_0x351cc3(0x185)],'plugins':_0x481070[_0x351cc3(0x258)]['map'](_0x26a2a1=>({'pluginId':_0x26a2a1['pluginId'],'source':_0x26a2a1[_0x351cc3(0x19a)],'version':_0x26a2a1[_0x351cc3(0x280)],'installPath':_0x26a2a1[_0x351cc3(0x2a4)+_0x351cc3(0x231)]})),'configPath':_0x1a1aa0[_0x351cc3(0x1d1)+'onfigPat'+'h'](),'stateDir':_0x1a1aa0[_0x351cc3(0x271)+_0x351cc3(0x19f)](),'bundledAgentSkillsDiscovery':_0x1bc7e4};}async function _0xe13808(){const _0x5b2e00=_0xdad4e7;_0x46c0f8?.[_0x5b2e00(0x25c)]('agents\x20l'+'ist\x20requ'+_0x5b2e00(0x16e));const _0x361b88=asRecord(await _0x521a55['request'](_0x5b2e00(0x21e)+_0x5b2e00(0x171),{})),_0xfc2045=getTrimmedString(_0x361b88['defaultI'+'d'])||'main',_0x5b97b9=Array['isArray'](_0x361b88[_0x5b2e00(0x2b3)])?[..._0x361b88[_0x5b2e00(0x2b3)]]:[];return{..._0x361b88,'defaultId':_0xfc2045,'agents':_0x5b97b9};}async function _0x541d9b(){const _0x2e55d7=_0xdad4e7;if(!_0x249b12())return{'defaultId':_0x2e55d7(0x1ea),'mainKey':'','scope':'','pending':!![],'agents':[{'id':_0x2e55d7(0x1ea),'name':_0x110f3e['productN'+_0x2e55d7(0x29f)],'workspace':join(_0x1a1aa0[_0x2e55d7(0x271)+_0x2e55d7(0x19f)](),_0x2e55d7(0x1d4)+'e')}]};const _0x4896b0=await _0xe13808(),_0x503040=getTrimmedString(_0x4896b0[_0x2e55d7(0x15f)+'d'])||_0x2e55d7(0x1ea),_0x3a253a=Array[_0x2e55d7(0x2b2)](_0x4896b0['agents'])?[..._0x4896b0[_0x2e55d7(0x2b3)]]:[];return!_0x3a253a['some'](_0x462e7e=>asRecord(_0x462e7e)['id']==='main')&&_0x3a253a[_0x2e55d7(0x289)]({'id':_0x2e55d7(0x1ea),'name':_0x110f3e[_0x2e55d7(0x252)+_0x2e55d7(0x29f)],'workspace':join(_0x1a1aa0[_0x2e55d7(0x271)+_0x2e55d7(0x19f)](),_0x2e55d7(0x1d4)+'e')}),{..._0x4896b0,'defaultId':_0x503040,'agents':_0x3a253a};}async function _0x3c6970(_0x3fcfb2={}){const _0x593270=_0xdad4e7;_0x406732();const _0x3d8222=Date['now']();_0xd864b5?.['info'](_0x593270(0x208)+_0x593270(0x2a3)+_0x593270(0x236),{'payload':summarizePayload(_0x3fcfb2)});const _0x343f7d=await _0x521a55['request'](_0x593270(0x1fe)+_0x593270(0x215),buildSessionCreateRequestPayload(_0x3fcfb2)),_0x458502=parseSessionCreateResult(_0x343f7d);return _0xd864b5?.[_0x593270(0x25c)]('session\x20'+_0x593270(0x170)+'ompleted',{'key':_0x458502['key'],'sessionId':_0x458502[_0x593270(0x1cb)+'d'],'durationMs':Date[_0x593270(0x211)]()-_0x3d8222}),_0x458502;}async function _0xd085a4(_0x3406a7={}){const _0x523c09=_0xdad4e7,_0x3994b6=await readSessionMetadata(_0x1a1aa0[_0x523c09(0x271)+_0x523c09(0x19f)]());if(!_0x249b12())return{'pending':!![],'sessions':[],'pinnedKeys':_0x3994b6['pinnedKe'+'ys']};const _0x1437e6=Date['now'](),_0x3564e1=Math[_0x523c09(0x212)](0x1,Math['floor'](Number(_0x3406a7[_0x523c09(0x297)])||0x64)),_0x4ca2e7={'limit':_0x3564e1,'includeGlobal':!![],'includeUnknown':![]},_0x5db722=getTrimmedString(_0x3406a7['agentId']??_0x523c09(0x1ea));if(_0x5db722)_0x4ca2e7[_0x523c09(0x154)]=_0x5db722;const _0x2cd4ef=applySessionMetadata(await _0x521a55[_0x523c09(0x1ce)](_0x523c09(0x1fe)+_0x523c09(0x221),_0x4ca2e7),_0x3994b6);return _0xd864b5?.[_0x523c09(0x25c)](_0x523c09(0x1fe)+_0x523c09(0x21d)+_0x523c09(0x1fb),{'payload':_0x4ca2e7,'count':Array['isArray'](_0x2cd4ef[_0x523c09(0x1fe)])?_0x2cd4ef[_0x523c09(0x1fe)][_0x523c09(0x1b3)]:0x0,'durationMs':Date[_0x523c09(0x211)]()-_0x1437e6}),_0x2cd4ef;}async function _0x43b0af(_0x4a5ae9={}){const _0x5bb219=_0xdad4e7;_0x406732();const _0xfc64c0=getTrimmedString(_0x4a5ae9[_0x5bb219(0x27b)+'ey']??_0x4a5ae9[_0x5bb219(0x29d)]);if(!_0xfc64c0)throw new Error(_0x5bb219(0x27b)+_0x5bb219(0x200)+'quired');const _0x5f184d=Date[_0x5bb219(0x211)](),_0x2ea8c1=await _0x521a55[_0x5bb219(0x1ce)](_0x5bb219(0x1fe)+_0x5bb219(0x1d3),{'key':_0xfc64c0,'deleteTranscript':_0x4a5ae9[_0x5bb219(0x2c3)+_0x5bb219(0x1ed)]!==![],'emitLifecycleHooks':!![]}),_0x3df0c0=await readSessionMetadata(_0x1a1aa0[_0x5bb219(0x271)+_0x5bb219(0x19f)]());return delete _0x3df0c0['names'][_0xfc64c0],_0x3df0c0[_0x5bb219(0x288)+'ys']=_0x3df0c0[_0x5bb219(0x288)+'ys']['filter'](_0x4d9fa7=>_0x4d9fa7!==_0xfc64c0),await writeSessionMetadata(_0x1a1aa0[_0x5bb219(0x271)+'tateDir'](),_0x3df0c0),_0x2400e7(_0x5bb219(0x1e9)+_0x5bb219(0x188),{'type':_0x5bb219(0x29b),'sessionKey':_0xfc64c0}),_0xd864b5?.[_0x5bb219(0x25c)](_0x5bb219(0x208)+_0x5bb219(0x1b2)+_0x5bb219(0x206),{'sessionKey':_0xfc64c0,'deleteTranscript':_0x4a5ae9['deleteTr'+_0x5bb219(0x1ed)]!==![],'durationMs':Date[_0x5bb219(0x211)]()-_0x5f184d}),_0x2ea8c1;}async function _0x3fc3df(_0x4a3af7={}){const _0xb214d9=_0xdad4e7,_0x499afe=getTrimmedString(_0x4a3af7['sessionK'+'ey']??_0x4a3af7[_0xb214d9(0x29d)]);if(!_0x499afe)throw new Error(_0xb214d9(0x27b)+'ey\x20is\x20re'+_0xb214d9(0x256));const _0x3effb5=getTrimmedString(_0x4a3af7[_0xb214d9(0x1da)]??_0x4a3af7[_0xb214d9(0x18c)]??_0x4a3af7[_0xb214d9(0x219)]),_0x16307c=await readSessionMetadata(_0x1a1aa0[_0xb214d9(0x271)+_0xb214d9(0x19f)]());if(_0x3effb5)_0x16307c[_0xb214d9(0x260)][_0x499afe]=_0x3effb5;else delete _0x16307c['names'][_0x499afe];return await writeSessionMetadata(_0x1a1aa0['resolveS'+_0xb214d9(0x19f)](),_0x16307c),_0x2400e7(_0xb214d9(0x1e9)+_0xb214d9(0x188),{'type':_0xb214d9(0x2b1),'sessionKey':_0x499afe,'name':_0x3effb5}),_0xd864b5?.[_0xb214d9(0x25c)](_0xb214d9(0x208)+'rename\x20c'+_0xb214d9(0x206),{'sessionKey':_0x499afe,'hasName':Boolean(_0x3effb5),'name':_0x3effb5?summarizeText(_0x3effb5,0x50):undefined}),{'ok':!![]};}async function _0x5550f0(){const _0x3bda69=_0xdad4e7,_0x4e43f8=await readSessionMetadata(_0x1a1aa0[_0x3bda69(0x271)+'tateDir']());return _0x4e43f8[_0x3bda69(0x288)+'ys'];}async function _0x23b0ac(_0x25f653=[]){const _0xee2d31=_0xdad4e7,_0xdcfd25=await readSessionMetadata(_0x1a1aa0[_0xee2d31(0x271)+_0xee2d31(0x19f)]());return _0xdcfd25['pinnedKe'+'ys']=Array['isArray'](_0x25f653)?[...new Set(_0x25f653['map'](getTrimmedString)[_0xee2d31(0x238)](Boolean))]:[],await writeSessionMetadata(_0x1a1aa0['resolveS'+_0xee2d31(0x19f)](),_0xdcfd25),_0x2400e7('session-'+'updated',{'type':_0xee2d31(0x269)+_0xee2d31(0x1e0)+_0xee2d31(0x24b),'pinnedKeys':_0xdcfd25['pinnedKe'+'ys']}),_0xd864b5?.[_0xee2d31(0x25c)](_0xee2d31(0x208)+_0xee2d31(0x1f5)+_0xee2d31(0x159)+_0xee2d31(0x24b),{'count':_0xdcfd25[_0xee2d31(0x288)+'ys'][_0xee2d31(0x1b3)]}),{'ok':!![],'pinnedKeys':_0xdcfd25['pinnedKe'+'ys']};}async function _0x4e69c0(){const _0x1b7651=_0xdad4e7,_0x3f9d6f=join(_0x1a1aa0[_0x1b7651(0x271)+'tateDir'](),_0x1b7651(0x1d4)+'e');return{'path':_0x3f9d6f,'exists':Boolean(await stat(_0x3f9d6f)[_0x1b7651(0x22b)](()=>null))};}async function _0x42118a(){const _0x36bc65=_0xdad4e7;return readSharedContext(join(_0x1a1aa0['resolveS'+_0x36bc65(0x19f)](),'workspac'+'e'));}async function _0x51bba3(_0x1f0a03={}){const _0xd5e67d=_0xdad4e7;return _0x46c0f8?.['info']('workspac'+_0xd5e67d(0x25d)+'\x20context'+_0xd5e67d(0x20a)+_0xd5e67d(0x236),{'files':Object[_0xd5e67d(0x27a)](sanitizeSharedContextPayload(_0x1f0a03))}),writeSharedContext(join(_0x1a1aa0['resolveS'+_0xd5e67d(0x19f)](),'workspac'+'e'),_0x1f0a03);}async function _0x38ceb9(_0x336e20={}){const _0x16f0cc=_0xdad4e7;return _0x406732(),await _0x521a55[_0x16f0cc(0x1ce)](_0x16f0cc(0x246)+'t',_0x336e20);}async function _0x597e40(_0xfbf4e8={}){const _0x672d46=_0xdad4e7;return _0x406732(),await _0x521a55[_0x672d46(0x1ce)](_0x672d46(0x21b),_0xfbf4e8);}async function _0x42ee9d(_0x417958={}){const _0x40ead9=_0xdad4e7;_0x406732();const _0xd2c522=getTrimmedString(_0x417958['jobId']??_0x417958['id']);if(!_0xd2c522)throw new Error(_0x40ead9(0x28e)+_0x40ead9(0x254)+'d');const _0xf67437=asRecord(_0x417958[_0x40ead9(0x2a6)]),_0x43643c=Object[_0x40ead9(0x27a)](_0xf67437)[_0x40ead9(0x1b3)]>0x0?_0xf67437:{..._0x417958};return delete _0x43643c['jobId'],delete _0x43643c['id'],await _0x521a55[_0x40ead9(0x1ce)]('cron.upd'+_0x40ead9(0x1c9),{'jobId':_0xd2c522,'patch':_0x43643c});}async function _0x13f9f2(_0x5cabc4={}){const _0x159e95=_0xdad4e7;_0x406732();const _0x1b56e9=getTrimmedString(_0x5cabc4[_0x159e95(0x1a5)]??_0x5cabc4['id']);if(!_0x1b56e9)throw new Error(_0x159e95(0x28e)+'\x20require'+'d');return await _0x521a55[_0x159e95(0x1ce)](_0x159e95(0x1aa)+'ove',{'jobId':_0x1b56e9});}async function _0x31e92d(_0x45e3cf={}){const _0x476ccc=_0xdad4e7;_0x406732();const _0x8b0f7e=getTrimmedString(_0x45e3cf[_0x476ccc(0x1a5)]??_0x45e3cf['id']);if(!_0x8b0f7e)throw new Error(_0x476ccc(0x28e)+'\x20require'+'d');return await _0x521a55[_0x476ccc(0x1ce)](_0x476ccc(0x281),{'jobId':_0x8b0f7e});}async function _0x37eab5(_0x2bbc2b={}){const _0x435b07=_0xdad4e7;return _0x406732(),await _0x521a55['request'](_0x435b07(0x281)+'s',_0x2bbc2b);}async function _0x3144cf(_0x30898c={}){const _0x1b90f6=_0xdad4e7;_0x406732();const _0x473f44=Date[_0x1b90f6(0x211)]();_0x46c0f8?.[_0x1b90f6(0x25c)](_0x1b90f6(0x243)+'stall\x20re'+_0x1b90f6(0x1e4),{'payload':summarizePayload(_0x30898c)});try{const _0x270130=await _0x521a55['request']('skills.i'+'nstall',_0x30898c);return _0x46c0f8?.['info']('skill\x20in'+_0x1b90f6(0x1b0)+_0x1b90f6(0x1fb),{'durationMs':Date[_0x1b90f6(0x211)]()-_0x473f44,'result':summarizePayload(_0x270130,{'maxDepth':0x2})}),_0x270130;}catch(_0x377054){_0x46c0f8?.['error'](_0x1b90f6(0x243)+'stall\x20fa'+_0x1b90f6(0x284),{'durationMs':Date[_0x1b90f6(0x211)]()-_0x473f44,'error':summarizeError(_0x377054)});throw _0x377054;}}async function _0xaef522(_0x55b9ea={}){const _0x1e0e3c=_0xdad4e7;return _0x406732(),_0x46c0f8?.['info'](_0x1e0e3c(0x203)+'date\x20req'+_0x1e0e3c(0x2ab),{'payload':summarizePayload(_0x55b9ea)}),await _0x521a55['request']('skills.u'+_0x1e0e3c(0x23a),_0x55b9ea);}async function _0x4fb695(_0x553ee6={}){const _0x5843a7=_0xdad4e7;return _0x406732(),_0x46c0f8?.['info'](_0x5843a7(0x2b5)+_0x5843a7(0x224)+_0x5843a7(0x2ab),{'payload':summarizePayload(_0x553ee6)}),await _0x521a55['request'](_0x5843a7(0x22f)+'elete',_0x553ee6);}async function _0x533bf0(_0x5ecad0={}){const _0x19a01f=_0xdad4e7;_0x406732();const _0x12ebfa=getTrimmedString(_0x5ecad0[_0x19a01f(0x27b)+'ey']),_0x553fe4=getTrimmedString(_0x5ecad0['message']),_0x30a6f6=getTrimmedString(_0x5ecad0[_0x19a01f(0x180)+'d'])||randomUUID();if(!_0x12ebfa)throw new Error(_0x19a01f(0x27b)+_0x19a01f(0x200)+_0x19a01f(0x256));if(!_0x553fe4)throw new Error(_0x19a01f(0x1db)+_0x19a01f(0x164)+'red');const _0x27889e=Date['now']();_0x3baf49?.[_0x19a01f(0x25c)](_0x19a01f(0x1b7)+'eam\x20requ'+_0x19a01f(0x16e),{'requestId':_0x30a6f6,'sessionKey':_0x12ebfa,'message':summarizeText(_0x553fe4),'filePaths':summarizeFilePaths(_0x5ecad0[_0x19a01f(0x1c5)+'s'])}),_0x10f8c1({'requestId':_0x30a6f6,'sessionKey':_0x12ebfa,'type':_0x19a01f(0x26f)}),_0x2f037e[_0x19a01f(0x265)](_0x30a6f6,{'runId':_0x30a6f6,'requestId':_0x30a6f6,'sessionKey':_0x12ebfa,'textLength':0x0,'startedAt':_0x27889e}),_0x543cae['set'](_0x12ebfa,_0x30a6f6);try{const _0x360106=await buildAttachments(Array[_0x19a01f(0x2b2)](_0x5ecad0['filePath'+'s'])?_0x5ecad0[_0x19a01f(0x1c5)+'s']:[]);_0x3baf49?.[_0x19a01f(0x25c)](_0x19a01f(0x1f0)+_0x19a01f(0x241)+_0x19a01f(0x1b1)+'d',{'requestId':_0x30a6f6,'sessionKey':_0x12ebfa,'attachmentCount':_0x360106[_0x19a01f(0x1b3)],'attachments':_0x360106[_0x19a01f(0x2af)](_0x2b8714=>({'type':_0x2b8714[_0x19a01f(0x16d)],'mimeType':_0x2b8714[_0x19a01f(0x1a0)],'fileName':_0x2b8714[_0x19a01f(0x1af)],'contentLength':_0x2b8714['content'][_0x19a01f(0x1b3)]}))});const _0x290bd8=asRecord(await _0x521a55[_0x19a01f(0x1ce)](_0x19a01f(0x292)+'d',{'sessionKey':_0x12ebfa,'message':_0x553fe4,'deliver':![],'idempotencyKey':_0x30a6f6,..._0x360106['length']>0x0?{'attachments':_0x360106}:{}})),_0xf0c592=getTrimmedString(_0x290bd8[_0x19a01f(0x2c0)])||_0x30a6f6,_0x382307=_0x2f037e[_0x19a01f(0x1c4)](_0x30a6f6);if(!_0x382307)return{'ok':!![],'requestId':_0x30a6f6,'runId':_0xf0c592};return _0xf0c592!==_0x382307['runId']&&(_0x2f037e['delete'](_0x382307[_0x19a01f(0x2c0)]),_0x382307[_0x19a01f(0x2c0)]=_0xf0c592,_0x2f037e[_0x19a01f(0x265)](_0xf0c592,_0x382307)),_0x543cae[_0x19a01f(0x265)](_0x12ebfa,_0xf0c592),_0x3baf49?.['info'](_0x19a01f(0x1b7)+_0x19a01f(0x1d5)+_0x19a01f(0x1c2)+_0x19a01f(0x19d),{'requestId':_0x30a6f6,'runId':_0xf0c592,'sessionKey':_0x12ebfa,'durationMs':Date[_0x19a01f(0x211)]()-_0x27889e,'status':_0x290bd8[_0x19a01f(0x1c8)]}),_0x290bd8[_0x19a01f(0x1c8)]===_0x19a01f(0x199)&&_0x26c8c5(_0x382307,'error',getTrimmedString(_0x290bd8[_0x19a01f(0x19e)+_0x19a01f(0x2a5)])||_0x19a01f(0x169)+_0x19a01f(0x2bd)+_0x19a01f(0x1a8)),{'ok':!![],'requestId':_0x30a6f6,'runId':_0xf0c592,'response':_0x290bd8};}catch(_0x87522a){const _0x18def9=_0xa3912f(_0x30a6f6),_0x459dee=_0x87522a instanceof Error?_0x87522a[_0x19a01f(0x295)]:String(_0x87522a);_0x3baf49?.['error'](_0x19a01f(0x1b7)+_0x19a01f(0x266)+'ed',{'requestId':_0x30a6f6,'sessionKey':_0x12ebfa,'durationMs':Date[_0x19a01f(0x211)]()-_0x27889e,'error':summarizeError(_0x87522a)});if(_0x18def9)_0x26c8c5(_0x18def9,_0x19a01f(0x199),_0x459dee);else _0x10f8c1({'requestId':_0x30a6f6,'sessionKey':_0x12ebfa,'type':_0x19a01f(0x199),'message':_0x459dee});throw _0x87522a;}}async function _0x4db5e0(_0x3ec11a={}){const _0x41dfb0=_0xdad4e7;_0x406732();const _0x5440c6=getTrimmedString(_0x3ec11a[_0x41dfb0(0x27b)+'ey']);if(!_0x5440c6)throw new Error('sessionK'+_0x41dfb0(0x200)+_0x41dfb0(0x256));const _0x5850a5=Date[_0x41dfb0(0x211)](),_0x39c807=_0xa3912f(getTrimmedString(_0x3ec11a[_0x41dfb0(0x180)+'d']))??_0x6524bb(_0x5440c6),_0x205bca=_0x543cae[_0x41dfb0(0x1c4)](_0x5440c6),_0x127e25={'sessionKey':_0x5440c6};if(_0x39c807?.[_0x41dfb0(0x2c0)])_0x127e25[_0x41dfb0(0x2c0)]=_0x39c807['runId'];else{if(_0x205bca)_0x127e25['runId']=_0x205bca;}const _0x50bbbf=await _0x521a55[_0x41dfb0(0x1ce)](_0x41dfb0(0x157)+'rt',_0x127e25);if(_0x39c807)_0x26c8c5(_0x39c807,_0x41dfb0(0x18f));return _0x3baf49?.['info']('chat\x20abo'+_0x41dfb0(0x234)+_0x41dfb0(0x1e8),{'sessionKey':_0x5440c6,'requestId':getTrimmedString(_0x3ec11a[_0x41dfb0(0x180)+'d']),'runId':_0x127e25[_0x41dfb0(0x2c0)],'durationMs':Date[_0x41dfb0(0x211)]()-_0x5850a5}),_0x50bbbf;}async function _0x4e04c0(_0x67e209={}){const _0x2982e0=_0xdad4e7;_0x406732();const _0x45cb2a=getTrimmedString(_0x67e209[_0x2982e0(0x27b)+'ey']);if(!_0x45cb2a)throw new Error('sessionK'+'ey\x20is\x20re'+_0x2982e0(0x256));const _0x4b7645=await _0x521a55[_0x2982e0(0x1ce)]('chat.his'+'tory',{'sessionKey':_0x45cb2a,'limit':Math[_0x2982e0(0x212)](0x1,Math[_0x2982e0(0x2c2)](Number(_0x67e209[_0x2982e0(0x297)])||0xc8))});return _0x3baf49?.[_0x2982e0(0x25c)](_0x2982e0(0x1ac)+_0x2982e0(0x20d)+_0x2982e0(0x1c6),{'sessionKey':_0x45cb2a,'limit':Math[_0x2982e0(0x212)](0x1,Math[_0x2982e0(0x2c2)](Number(_0x67e209[_0x2982e0(0x297)])||0xc8)),'result':summarizePayload(_0x4b7645,{'maxDepth':0x2})}),_0x4b7645;}async function _0x2096cb(_0x3e2e75=''){const _0x19da23=_0xdad4e7;if(!_0x249b12())return{'pending':!![],'skills':[]};const _0x1998c0=getTrimmedString(_0x3e2e75),_0x363ada=await _0x521a55[_0x19da23(0x1ce)](_0x19da23(0x202)+_0x19da23(0x26b),_0x1998c0?{'agentId':_0x1998c0}:{}),_0xdb7cfa=await _0x1a1aa0[_0x19da23(0x28d)+'ig']()[_0x19da23(0x22b)](()=>({})),_0x278c23=filterSkillsForAgent(_0x363ada,_0xdb7cfa,_0x1998c0);return _0x46c0f8?.['info']('skills\x20s'+'tatus\x20lo'+_0x19da23(0x264),{'agentId':_0x1998c0||'default','result':summarizePayload(_0x278c23,{'maxDepth':0x2})}),_0x278c23;}return{'on':_0x2b463e,'start':_0x31198d,'stop':_0x9c8905,'restart':_0x34c089,'runtimeInfo':_0x2e376a,'getStatus':()=>_0x44d941,'getRecentLogs':_0x284578,'answerAskUserQuestion':_0x49dce5=>_0x2f9231[_0xdad4e7(0x1f2)](_0x49dce5),'agents':{'list':_0x541d9b},'skills':{'status':_0x2096cb,'install':_0x3144cf,'update':_0xaef522,'delete':_0x4fb695},'sessions':{'create':_0x3c6970,'list':_0xd085a4,'delete':_0x43b0af,'rename':_0x3fc3df,'pinnedKeys':_0x5550f0,'setPinnedKeys':_0x23b0ac},'workspace':{'directoryInfo':_0x4e69c0,'sharedContext':_0x42118a,'writeSharedContext':_0x51bba3},'cron':{'list':_0x38ceb9,'create':_0x597e40,'update':_0x42ee9d,'remove':_0x13f9f2,'runOnce':_0x31e92d,'logs':_0x37eab5},'models':{'settings':()=>_0x1a1aa0[_0xdad4e7(0x298)+_0xdad4e7(0x18b)](),'setSettings':async(_0x79ac70={})=>{const _0x339cba=_0xdad4e7,_0x53e5e6=_0x79ac70?.[_0x339cba(0x1a7)+_0x339cba(0x230)]!==![];return await _0x1a1aa0[_0x339cba(0x204)+_0x339cba(0x18b)](_0x79ac70,{'restartOnChange':_0x53e5e6}),_0x1a1aa0[_0x339cba(0x298)+_0x339cba(0x18b)]();},'setSelfOperatedModels':_0x2f4944=>_0x1a1aa0[_0xdad4e7(0x182)+_0xdad4e7(0x17f)+'odels'](_0x2f4944),'selectedModelId':async()=>{const _0x24c7b5=_0xdad4e7,_0x4bd8ff=await _0x1a1aa0['getModel'+_0x24c7b5(0x18b)]();return _0x4bd8ff[_0x24c7b5(0x198)]&&_0x4bd8ff[_0x24c7b5(0x20f)+'e']?_0x4bd8ff[_0x24c7b5(0x198)]+'/'+_0x4bd8ff[_0x24c7b5(0x20f)+'e']:'';},'customModels':async()=>[]},'config':{'read':()=>_0x1a1aa0[_0xdad4e7(0x28d)+'ig']()},'chat':{'stream':_0x533bf0,'abort':_0x4db5e0,'history':_0x4e04c0}};}
|
|
1
|
+
const _0x1d3596=_0x16c8;(function(_0x30a45a,_0x468ac4){const _0x1ef0b1=_0x16c8,_0x2c8ed2=_0x30a45a();while(!![]){try{const _0x4672df=-parseInt(_0x1ef0b1(0x2d5))/0x1+parseInt(_0x1ef0b1(0x2a5))/0x2+parseInt(_0x1ef0b1(0x2c4))/0x3+parseInt(_0x1ef0b1(0x26e))/0x4+-parseInt(_0x1ef0b1(0x2d6))/0x5*(parseInt(_0x1ef0b1(0x2bf))/0x6)+parseInt(_0x1ef0b1(0x2eb))/0x7+parseInt(_0x1ef0b1(0x224))/0x8*(parseInt(_0x1ef0b1(0x1e7))/0x9);if(_0x4672df===_0x468ac4)break;else _0x2c8ed2['push'](_0x2c8ed2['shift']());}catch(_0x3b96ed){_0x2c8ed2['push'](_0x2c8ed2['shift']());}}}(_0x264c,0x31749));import{randomUUID}from'node:crypto';function _0x16c8(_0x6e758b,_0x1de765){_0x6e758b=_0x6e758b-0x19b;const _0x264c3d=_0x264c();let _0x16c861=_0x264c3d[_0x6e758b];return _0x16c861;}import{createServer}from'node:http';import{EventEmitter}from'node:events';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{basename,dirname,join}from'node:path';import _0x2e5d8c,{portNumbers}from'get-port';import{createLineBuffer}from'@wujie-shell/logger';import{asRecord,getTrimmedString}from'./utils.mjs';import{ensureOpenClawDoctorFixed,loadRuntimeInfo,spawnClaw}from'./runtime.mjs';import{ClawGatewayWsClient}from'./gateway-ws.mjs';import{ensureBundledAgents}from'./bundled-agents.mjs';import{syncBundledAgentSkillsToConfig,filterSkillsForAgent}from'./bundled-agent-skills.mjs';import{createShellLogger,summarizeError,summarizeFilePaths,summarizePayload,summarizeText,toHomePath}from'./logging.mjs';const LOG_LIMIT=0x3e8,CLIENT_ID='gateway-'+_0x1d3596(0x31c),CLIENT_MODE=_0x1d3596(0x2ae),CLIENT_DEVICE_FAMILY=_0x1d3596(0x231),TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,SESSION_METADATA_FILE=_0x1d3596(0x1cb)+'metadata'+_0x1d3596(0x1d7),SHARED_CONTEXT_FILES=['AGENTS.m'+'d',_0x1d3596(0x256)+_0x1d3596(0x30a),_0x1d3596(0x1b5)+'.md',_0x1d3596(0x273)+'d',_0x1d3596(0x318),_0x1d3596(0x19f),_0x1d3596(0x1ad)];function nowIso(){const _0x4fcbb5=_0x1d3596;return new Date()[_0x4fcbb5(0x25c)+_0x4fcbb5(0x216)]();}function buildGatewayWsUrl(_0x3ee863){const _0x28eef0=_0x1d3596;return _0x28eef0(0x29a)+_0x28eef0(0x22d)+_0x3ee863;}function createInitialStatus(){const _0x3c9bc1=_0x1d3596;return{'lifecycle':_0x3c9bc1(0x1ff),'health':'unknown','port':null,'tokenPresent':![],'message':_0x3c9bc1(0x2c2)+_0x3c9bc1(0x1ff),'updatedAt':nowIso()};}function extractGatewayMessageText(_0x42cc23){const _0x35adab=_0x1d3596;if(typeof _0x42cc23===_0x35adab(0x2a1))return _0x42cc23;if(!Array[_0x35adab(0x2f8)](_0x42cc23))return'';const _0x2d5cee=[];for(const _0x241c52 of _0x42cc23){if(typeof _0x241c52===_0x35adab(0x2a1)){if(_0x241c52)_0x2d5cee['push'](_0x241c52);continue;}const _0x774489=asRecord(_0x241c52);_0x774489[_0x35adab(0x2e5)]===_0x35adab(0x277)&&typeof _0x774489[_0x35adab(0x277)]==='string'&&_0x774489[_0x35adab(0x277)]&&_0x2d5cee['push'](_0x774489['text']);}return _0x2d5cee[_0x35adab(0x215)]('\x0a');}function extractGatewayChatText(_0x2edc03){const _0x5e6cad=_0x1d3596,_0x41ccda=asRecord(_0x2edc03);if(typeof _0x41ccda[_0x5e6cad(0x277)]===_0x5e6cad(0x2a1))return _0x41ccda['text'];return extractGatewayMessageText(_0x41ccda['content']);}function guessMimeType(_0x1c3860){const _0x45e89e=_0x1d3596,_0x10cf31=_0x1c3860[_0x45e89e(0x26d)]('.')['pop']()?.['toLowerC'+_0x45e89e(0x29f)]()??'',_0x4d9394={'png':_0x45e89e(0x253)+'g','jpg':'image/jp'+'eg','jpeg':_0x45e89e(0x244)+'eg','webp':_0x45e89e(0x304)+'bp','gif':_0x45e89e(0x1a2)+'f','svg':'image/sv'+_0x45e89e(0x24b),'pdf':_0x45e89e(0x211)+_0x45e89e(0x22f),'txt':_0x45e89e(0x2ca)+'in','md':_0x45e89e(0x1b2)+'kdown','json':'applicat'+_0x45e89e(0x319),'csv':_0x45e89e(0x2d3)};return _0x4d9394[_0x10cf31]||'applicat'+_0x45e89e(0x286)+_0x45e89e(0x226);}async function buildAttachments(_0x5c1561=[]){const _0x36b58f=_0x1d3596,_0x3ded5f=[];for(const _0x2b093a of _0x5c1561){const _0x2e05dd=getTrimmedString(_0x2b093a);if(!_0x2e05dd)continue;const _0x17f379=await stat(_0x2e05dd);if(!_0x17f379[_0x36b58f(0x1f7)]())continue;if(_0x17f379[_0x36b58f(0x2fe)]>ATTACHMENT_MAX_BYTES)throw new Error(_0x36b58f(0x1e2)+_0x36b58f(0x1d3)+_0x36b58f(0x206)+basename(_0x2e05dd));const _0x2573c=guessMimeType(_0x2e05dd);_0x3ded5f[_0x36b58f(0x27c)]({'type':_0x2573c[_0x36b58f(0x2c8)+'th'](_0x36b58f(0x1bd))?_0x36b58f(0x1f8):_0x36b58f(0x279),'mimeType':_0x2573c,'content':(await readFile(_0x2e05dd))[_0x36b58f(0x251)](_0x36b58f(0x2de)),'fileName':basename(_0x2e05dd)});}return _0x3ded5f;}function buildSessionCreateRequestPayload(_0x5375cb={}){const _0x4282e4=_0x1d3596,_0x237f85={},_0x5a15df=Math[_0x4282e4(0x252)]()[_0x4282e4(0x251)](0x24)[_0x4282e4(0x1bb)](0x2,0xf),_0x59341d=getTrimmedString(_0x5375cb[_0x4282e4(0x29c)])||'main',_0x35e9a9=getTrimmedString(_0x5375cb['key'])||_0x4282e4(0x242)+_0x59341d+(_0x4282e4(0x21a)+'-')+Date[_0x4282e4(0x2bc)]();_0x237f85[_0x4282e4(0x1f9)]=_0x35e9a9+'-'+_0x5a15df,_0x237f85[_0x4282e4(0x29c)]=_0x59341d;const _0x4b8426=getTrimmedString(_0x5375cb['label']);if(_0x4b8426)_0x237f85['label']=_0x4b8426+'-'+_0x5a15df;for(const _0xf36a32 of[_0x4282e4(0x2e0),'parentSe'+_0x4282e4(0x203),_0x4282e4(0x21b),'message']){const _0x2af13c=getTrimmedString(_0x5375cb[_0xf36a32]);if(_0x2af13c)_0x237f85[_0xf36a32]=_0x2af13c;}return _0x237f85;}function parseSessionCreateResult(_0x35001d){const _0xf0a447=_0x1d3596,_0x553ad5=asRecord(_0x35001d),_0x1201f6=asRecord(_0x553ad5['session']);return{'ok':!![],'key':getTrimmedString(_0x553ad5[_0xf0a447(0x1f9)])||getTrimmedString(_0x553ad5[_0xf0a447(0x219)+'ey'])||getTrimmedString(_0x1201f6[_0xf0a447(0x1f9)])||null,'sessionId':getTrimmedString(_0x553ad5['sessionI'+'d'])||getTrimmedString(_0x1201f6[_0xf0a447(0x278)+'d'])||null};}function getSessionKeyFromValue(_0x3eb707){const _0x9cf4f3=_0x1d3596,_0x40c861=asRecord(_0x3eb707);return getTrimmedString(_0x40c861[_0x9cf4f3(0x219)+'ey']??_0x40c861['key']??_0x40c861['id']);}function createEmptySessionMetadata(){return{'names':{},'pinnedKeys':[]};}async function readSessionMetadata(_0x333ee0){const _0x46dfe2=_0x1d3596;try{const _0xe37d02=JSON[_0x46dfe2(0x31a)](await readFile(join(_0x333ee0,SESSION_METADATA_FILE),'utf8')),_0x3e2f1b=asRecord(_0xe37d02);return{'names':asRecord(_0x3e2f1b[_0x46dfe2(0x30e)]),'pinnedKeys':Array[_0x46dfe2(0x2f8)](_0x3e2f1b[_0x46dfe2(0x1b4)+'ys'])?_0x3e2f1b[_0x46dfe2(0x1b4)+'ys']['filter'](_0x5e6a37=>typeof _0x5e6a37===_0x46dfe2(0x2a1)&&_0x5e6a37[_0x46dfe2(0x26a)]()):[]};}catch{return createEmptySessionMetadata();}}async function writeSessionMetadata(_0x21c0e9,_0x4f5d1d){const _0x46a674=_0x1d3596;await mkdir(_0x21c0e9,{'recursive':!![]}),await writeFile(join(_0x21c0e9,SESSION_METADATA_FILE),JSON['stringif'+'y'](_0x4f5d1d,null,0x2)+'\x0a',_0x46a674(0x21f));}function applySessionMetadata(_0x3a459d,_0x4a25ea){const _0x1beed4=_0x1d3596,_0xf34f1c=asRecord(_0x3a459d),_0x30c678=Array['isArray'](_0xf34f1c[_0x1beed4(0x1c0)])?_0xf34f1c['sessions']:[];return{..._0xf34f1c,'pinnedKeys':_0x4a25ea['pinnedKe'+'ys'],'sessions':_0x30c678[_0x1beed4(0x266)](_0x3cfd09=>{const _0x2f9f35=_0x1beed4,_0x29f246=asRecord(_0x3cfd09),_0xfb7709=getSessionKeyFromValue(_0x29f246);if(!_0xfb7709)return _0x3cfd09;const _0x3a257b=getTrimmedString(_0x4a25ea[_0x2f9f35(0x30e)][_0xfb7709]),_0x57a189=_0x4a25ea['pinnedKe'+'ys']['includes'](_0xfb7709);return{..._0x29f246,..._0x3a257b?{'name':_0x3a257b,'displayName':_0x3a257b,'label':_0x3a257b}:{},'pinned':_0x57a189};})};}function _0x264c(){const _0x466a44=['openclaw','\x20write\x20r','applicat','cron.run','ey\x20is\x20re','stringif','join','ing','ed:\x20','resolveC','sessionK',':session','task','tings','warn','destroy','utf8','lete\x20req','figChang','fileName','configur','56ROaBbz','trimEnd','t-stream','onfigPat','bundled\x20','\x20for\x20WS','nChange','eam\x20fail','entries','.0.0.1:','ndled\x20ag','ion/pdf','aborted','desktop','spawn\x20re','terminal','projectR','tatus','requestI','cron.lis','workspac','tatus\x20lo','ayRestar','websocke','nsured','chat\x20str','productN','manual\x20r','listen','connecte','agent:','c\x20comple','image/jp','runId','system','chat\x20eve','invalid\x20','ized','/ask-use','g+xml','chat\x20fai','skill\x20up','changed','max','resolveS','toString','random','image/pn','session\x20','ask-user','HEARTBEA','watchCon','-questio','deny','chat.sen','final','toISOStr','chat\x20att','sage','values','\x20waiting','unknown','then','.delete','res','n\x20[REDAC','map','allow','delete\x20c','anscript','trim','eviceIde','name','split','546932VoebLM','ode=','rt\x20reque','message\x20','title','MEMORY.m','ase\x20retr','ting:\x20','json','text','sessionI','file','method','chat','push','x-ask-us','ent','end','capabili','by\x20gatew','agents','ved','date\x20req','set','ion/octe','ync\x20fail','pinned\x20k','kill','pid','stdout','Version','.create','--allow-','behavior','deleteTr','reate','uested','d\x20--toke','cron.upd','restarti','stderr','finally','chat\x20abo','ist\x20requ','ws://127','url','agentId','c\x20starte','run','ase','data','string','SIGTERM','version','\x20gateway','622094HJKPEL','writeCon','delete','POST','t\x20discon','some','chat-str','started,','running','backend','chat.his','updated','request','controll','pted\x20by\x20','bundled-','\x20failed\x20','eys\x20upda','\x20signal=','info','ested','quested','ills\x20syn','now','.list','writeHea','2022ADoLEx','mpleted','off','gateway\x20','ist','553908McLOJK','delta','modelNam','n\x20callba','startsWi','lifecycl','text/pla','agents\x20l','headers','errorMes','eam\x20requ','healthy','ame','readConf','limit','text/csv','done','152087dOwfav','5290QVielj','unauthor','stall\x20co','has','ompleted','close','tory','ort\x20','base64','n\x20reques','model','estart','--port','paths','agents\x20s','type','filter','getModel','ded','setModel','chat.abo','266371RzsKVV','elete','clear','\x20run\x20--a','quired','get','led','floor','hell:gat','skills','restart\x20','er-secre','content','isArray','agent\x20sk','oot','cron.rem','installP','exited\x20u','size','mimeType','resolve','source','null','itialCon','image/we','not\x20foun','skill\x20de','tateDir','renamed','gateway','T.md','skills.s','Fallback','peratedM','names','timeout','startedA','dispose','defaultI','agents-r','message','starting','27.0.0.1','unhealth','SOUL.md','ion/json','parse','skills.u','client','--token','flush','keys','nstall','e\x20update','ternally','TOOLS.md','onfigure','agents\x20e','image/gi','process\x20','tory\x20loa','chat\x20his','runtimeR','skills.i','jobId\x20is','once','[REDACTE','r-questi','agents-u','USER.md','Settings','ath','sted','ntityPat','text/mar','skills.d','pinnedKe','IDENTITY','tewaySet','eys-upda','kUserQue','eam-even','ted','slice','token','image/','gateway-','jobId','sessions','settings','iled','ured','exited','is\x20requi','t\x20connec','stop','start','started','main','session-','patch','textLeng','length','provider','default','achments','exited\x20c','nt\x20too\x20l','nected','error','unshift','.json','requeste','port','create\x20c','plugins','t\x20not\x20fo','filePath','ay\x20state','splice','aded','skill\x20in','attachme','ove','log','sent','status','52371NsoLoD','ensureIn','stack','pdated','127.0.0.','answers','agents.u','ck\x20disab','andledIn','emit','red','\x20context','ginConfi','igWriteH','tHandler','chat\x20run','isFile','image','key','ate','create\x20r','ties','eway]\x20bu','cron.add','stopped','agents.c','\x20prepare','nexpecte','ssionKey','toUpperC','discover','arge:\x20','stall\x20fa','pdate','setGatew','odels','catch','\x20require','unconfig','Timer'];_0x264c=function(){return _0x466a44;};return _0x264c();}function sanitizeSharedContextPayload(_0x5e73c9){const _0x3894de=_0x1d3596,_0x321384=asRecord(_0x5e73c9),_0x501ea9={};for(const _0x22c12a of SHARED_CONTEXT_FILES){if(typeof _0x321384[_0x22c12a]===_0x3894de(0x2a1))_0x501ea9[_0x22c12a]=_0x321384[_0x22c12a];}return _0x501ea9;}async function readSharedContext(_0x2b54ab){const _0x39f28c=_0x1d3596,_0x8c5f50={};for(const _0x524bc0 of SHARED_CONTEXT_FILES){try{_0x8c5f50[_0x524bc0]=await readFile(join(_0x2b54ab,_0x524bc0),_0x39f28c(0x21f));}catch{_0x8c5f50[_0x524bc0]='';}}return _0x8c5f50;}async function writeSharedContext(_0x5c204d,_0x178c0e){const _0x364a2e=_0x1d3596,_0x4e75c5=sanitizeSharedContextPayload(_0x178c0e);await mkdir(_0x5c204d,{'recursive':!![]});for(const [_0x5ab8fc,_0x2b9655]of Object[_0x364a2e(0x22c)](_0x4e75c5)){await writeFile(join(_0x5c204d,_0x5ab8fc),_0x2b9655,_0x364a2e(0x21f));}return{'ok':!![],'files':Object[_0x364a2e(0x19b)](_0x4e75c5)};}function createAskUserQuestionServer({configController:_0x32c6d8,emit:_0xc90d68}){const _0x37abbd=new Map();let _0x8299f5=null,_0x325309='',_0x30848b='';async function _0x50f771(){const _0x298e12=_0x16c8;if(_0x8299f5)return{'callbackUrl':_0x325309,'secret':_0x30848b};_0x30848b=randomUUID();const _0x46dbbd=await _0x2e5d8c({'port':portNumbers(0x332c,0x338f)});return _0x325309='http://1'+_0x298e12(0x316)+':'+_0x46dbbd+('/ask-use'+_0x298e12(0x1ab)+'on'),_0x8299f5=createServer(async(_0x36b53d,_0x513ff8)=>{const _0x3e8a21=_0x298e12;if(_0x36b53d[_0x3e8a21(0x27a)]!==_0x3e8a21(0x2a8)||_0x36b53d[_0x3e8a21(0x29b)]!==_0x3e8a21(0x24a)+_0x3e8a21(0x1ab)+'on'){_0x513ff8[_0x3e8a21(0x2be)+'d'](0x194),_0x513ff8[_0x3e8a21(0x27f)](_0x3e8a21(0x305)+'d');return;}if(_0x36b53d[_0x3e8a21(0x2cc)][_0x3e8a21(0x27d)+_0x3e8a21(0x2f6)+'t']!==_0x30848b){_0x513ff8['writeHea'+'d'](0x191),_0x513ff8[_0x3e8a21(0x27f)](_0x3e8a21(0x2d7)+_0x3e8a21(0x249));return;}let _0x11dcf2='';_0x36b53d['on'](_0x3e8a21(0x2a0),_0xa0c507=>{const _0x1cf4bf=_0x3e8a21;_0x11dcf2+=_0xa0c507[_0x1cf4bf(0x251)]();if(_0x11dcf2['length']>0x400*0x400)_0x36b53d[_0x1cf4bf(0x21e)]();}),_0x36b53d['on'](_0x3e8a21(0x27f),()=>{const _0x339c34=_0x3e8a21;let _0x192d65={};try{_0x192d65=JSON[_0x339c34(0x31a)](_0x11dcf2||'{}');}catch{_0x513ff8['writeHea'+'d'](0x190),_0x513ff8[_0x339c34(0x27f)](_0x339c34(0x248)+_0x339c34(0x276));return;}const _0x20ff7d=randomUUID(),_0x45a076=setTimeout(()=>{const _0x363063=_0x339c34;if(!_0x37abbd[_0x363063(0x2d9)](_0x20ff7d))return;_0x37abbd[_0x363063(0x2a7)](_0x20ff7d),_0x513ff8[_0x363063(0x2be)+'d'](0xc8,{'content-type':_0x363063(0x211)+_0x363063(0x319)}),_0x513ff8[_0x363063(0x27f)](JSON['stringif'+'y']({'behavior':_0x363063(0x259)}));},0x1d4c0);_0x37abbd['set'](_0x20ff7d,{'res':_0x513ff8,'timeout':_0x45a076}),_0xc90d68(_0x339c34(0x255)+_0x339c34(0x258)+'n',{'requestId':_0x20ff7d,...asRecord(_0x192d65)});});}),await new Promise((_0x562507,_0x386961)=>{const _0x67f0b9=_0x298e12;_0x8299f5[_0x67f0b9(0x1a9)](_0x67f0b9(0x1d5),_0x386961),_0x8299f5[_0x67f0b9(0x240)](_0x46dbbd,_0x67f0b9(0x1eb)+'1',()=>{const _0x26c2d7=_0x67f0b9;_0x8299f5[_0x26c2d7(0x2c1)](_0x26c2d7(0x1d5),_0x386961),_0x562507();});}),await _0x32c6d8['ensureAs'+_0x298e12(0x1b8)+'stionPlu'+_0x298e12(0x1f3)+'g']({'callbackUrl':_0x325309,'secret':_0x30848b}),{'callbackUrl':_0x325309,'secret':_0x30848b};}function _0x46098b(_0x2a50e1={}){const _0x4e5372=_0x16c8,_0x24c6e4=getTrimmedString(_0x2a50e1[_0x4e5372(0x236)+'d']);if(!_0x24c6e4||!_0x37abbd[_0x4e5372(0x2d9)](_0x24c6e4))throw new Error(_0x4e5372(0x255)+_0x4e5372(0x258)+_0x4e5372(0x2df)+_0x4e5372(0x1dc)+'und');const _0x1942c3=_0x37abbd[_0x4e5372(0x2f0)](_0x24c6e4);return _0x37abbd['delete'](_0x24c6e4),clearTimeout(_0x1942c3[_0x4e5372(0x30f)]),_0x1942c3['res'][_0x4e5372(0x2be)+'d'](0xc8,{'content-type':'applicat'+_0x4e5372(0x319)}),_0x1942c3['res']['end'](JSON[_0x4e5372(0x214)+'y']({'behavior':_0x2a50e1[_0x4e5372(0x28f)]===_0x4e5372(0x259)?_0x4e5372(0x259):_0x4e5372(0x267),'answers':asRecord(_0x2a50e1[_0x4e5372(0x1ec)])})),{'ok':!![]};}async function _0x4085e8(){const _0x303807=_0x16c8;for(const [_0x18ca17,_0x516ec5]of _0x37abbd){_0x37abbd[_0x303807(0x2a7)](_0x18ca17),clearTimeout(_0x516ec5[_0x303807(0x30f)]),_0x516ec5['res']['writeHea'+'d'](0xc8,{'content-type':_0x303807(0x211)+'ion/json'}),_0x516ec5[_0x303807(0x264)]['end'](JSON[_0x303807(0x214)+'y']({'behavior':_0x303807(0x259)}));}if(!_0x8299f5)return;await new Promise(_0x42ca86=>_0x8299f5[_0x303807(0x2db)](_0x42ca86)),_0x8299f5=null;}return{'start':_0x50f771,'answer':_0x46098b,'stop':_0x4085e8};}export function createGatewayController({shellConfig:_0x4032cc,configController:_0x494ede,appVersion:appVersion='0.1.0'}){const _0x433b67=_0x1d3596,_0xbb395d=new EventEmitter(),_0xd74f3=new ClawGatewayWsClient(),_0x250b17=[],_0x46cf46=new Map(),_0x29cbde=new Map(),_0x405074=createShellLogger(_0x494ede['paths'],_0x433b67(0x309)),_0x574ce4=createShellLogger(_0x494ede[_0x433b67(0x2e3)],_0x433b67(0x27b)),_0x39acfb=createShellLogger(_0x494ede[_0x433b67(0x2e3)],'sessions'),_0x341b92=createShellLogger(_0x494ede[_0x433b67(0x2e3)],_0x433b67(0x280)+_0x433b67(0x1fc)),_0x485f5c=createAskUserQuestionServer({'configController':_0x494ede,'emit':(_0x5e8590,_0x4929ff)=>_0xbb395d['emit'](_0x5e8590,_0x4929ff)});let _0x3dec43=createInitialStatus(),_0x27158d=null,_0x3b8985=null,_0x44908f=null,_0x2d9bbd=![],_0x1272d3=![],_0x347c1d=Promise[_0x433b67(0x300)](),_0x1e590=null,_0x5d0cb2=0x0;function _0x596521(_0xbd871,_0x270a34){const _0x4814bb=_0x433b67;_0xbb395d[_0x4814bb(0x1f0)](_0xbd871,_0x270a34);}function _0x215313(_0x17bf3b,_0xb754db){return _0xbb395d['on'](_0x17bf3b,_0xb754db),()=>_0xbb395d['off'](_0x17bf3b,_0xb754db);}function _0x2fb248(_0x644329){const _0x5eb8da=_0x433b67;_0x3dec43={..._0x3dec43,..._0x644329,'updatedAt':nowIso()},_0x596521(_0x5eb8da(0x1be)+'status',_0x3dec43);}function _0x429804(_0x29e1b3,_0x1bb0aa,_0xb51e2d={}){const _0x28106c=_0x433b67;_0x2fb248({'lifecycle':_0x29e1b3,'message':_0x1bb0aa,..._0xb51e2d}),_0x21f2f0(_0x28106c(0x246),_0x29e1b3[_0x28106c(0x204)+'ase']()+'\x20'+_0x1bb0aa),_0x405074?.['info'](_0x28106c(0x2c2)+_0x28106c(0x2c9)+_0x28106c(0x19d)+'d',{'lifecycle':_0x29e1b3,'message':_0x1bb0aa,'status':{'health':_0x3dec43['health'],'port':_0x3dec43[_0x28106c(0x1d9)],'tokenPresent':_0x3dec43['tokenPre'+_0x28106c(0x1e5)]},...summarizePayload(_0xb51e2d)});}function _0x21f2f0(_0x24ba69,_0x5b1dda){const _0x3cac00=_0x433b67,_0x4ef4f3=String(_0x5b1dda??'')[_0x3cac00(0x225)]();if(!_0x4ef4f3)return;const _0x419636={'source':_0x24ba69,'text':_0x4ef4f3,'timestamp':nowIso()};_0x250b17['push'](_0x419636);if(_0x250b17['length']>LOG_LIMIT)_0x250b17[_0x3cac00(0x1df)](0x0,_0x250b17['length']-LOG_LIMIT);_0x596521(_0x3cac00(0x1be)+_0x3cac00(0x1e4),_0x419636),_0x405074?.['info'](_0x3cac00(0x2c2)+'log',{'source':_0x24ba69,'text':_0x4ef4f3});}function _0xdd6667(_0x1a7d3e=0xc8){const _0x2ae19c=_0x433b67;return _0x250b17['slice'](-Math['max'](0x1,Math[_0x2ae19c(0x2f2)](_0x1a7d3e)));}function _0x3ec389(){const _0x152696=_0x433b67;if(!_0x27158d||_0x3dec43['lifecycl'+'e']!==_0x152696(0x2ad))throw new Error(_0x152696(0x2c2)+'is\x20start'+'ing,\x20ple'+_0x152696(0x274)+'y\x20shortl'+'y');}function _0x41febb(){const _0x206371=_0x433b67;return Boolean(_0x27158d&&_0x3dec43[_0x206371(0x2c9)+'e']===_0x206371(0x2ad));}function _0xadb211(_0x41d862){const _0x34ea4f=_0x433b67;_0x596521(_0x34ea4f(0x2ab)+_0x34ea4f(0x1b9)+'t',_0x41d862);}function _0x2121d5(_0x430ff9){const _0x1d4a46=_0x433b67,_0xcb108e=_0x46cf46['get'](_0x430ff9);if(!_0xcb108e)return null;_0x46cf46[_0x1d4a46(0x2a7)](_0x430ff9);if(_0xcb108e[_0x1d4a46(0x233)+_0x1d4a46(0x30c)+_0x1d4a46(0x20e)])clearTimeout(_0xcb108e[_0x1d4a46(0x233)+_0x1d4a46(0x30c)+_0x1d4a46(0x20e)]);return _0x29cbde[_0x1d4a46(0x2a7)](_0xcb108e['sessionK'+'ey']),_0xcb108e;}function _0x3d2c3d(_0x3429ff,_0x28695a,_0x114c5e=''){const _0x599ae9=_0x433b67,_0xc34516=_0x2121d5(_0x3429ff['runId']);if(!_0xc34516)return;_0x574ce4?.[_0x599ae9(0x2b8)]('chat\x20run'+'\x20settled',{'requestId':_0xc34516[_0x599ae9(0x236)+'d'],'runId':_0xc34516[_0x599ae9(0x245)],'sessionKey':_0xc34516[_0x599ae9(0x219)+'ey'],'outcome':_0x28695a,'durationMs':Date[_0x599ae9(0x2bc)]()-_0xc34516[_0x599ae9(0x310)+'t'],'textLength':_0xc34516[_0x599ae9(0x1cd)+'th'],..._0x114c5e?{'message':_0x114c5e}:{}}),_0xadb211({'requestId':_0xc34516['requestI'+'d'],'sessionKey':_0xc34516['sessionK'+'ey'],'type':_0x28695a,..._0x114c5e?{'message':_0x114c5e}:{}});}function _0x4b447e(_0x36a095){const _0x4230d6=_0x433b67;let _0x54c83e=null;for(const _0x37a6c5 of _0x46cf46[_0x4230d6(0x25f)]()){if(_0x37a6c5['sessionK'+'ey']===_0x36a095)_0x54c83e=_0x37a6c5;}return _0x54c83e;}function _0x1082e6(_0x59bc76){const _0x44faf3=_0x433b67;if(!_0x59bc76)return null;for(const _0x3eb923 of _0x46cf46['values']()){if(_0x3eb923[_0x44faf3(0x236)+'d']===_0x59bc76)return _0x3eb923;}return null;}function _0x5a189b(_0x4fe298,_0x18c4c1){const _0x3e2019=_0x433b67;if(_0x18c4c1[_0x3e2019(0x1ce)]<=_0x4fe298['textLeng'+'th'])return;const _0x4c4837=_0x18c4c1['slice'](_0x4fe298[_0x3e2019(0x1cd)+'th']);_0x4fe298[_0x3e2019(0x1cd)+'th']=_0x18c4c1[_0x3e2019(0x1ce)],_0x4c4837&&_0xadb211({'requestId':_0x4fe298[_0x3e2019(0x236)+'d'],'sessionKey':_0x4fe298[_0x3e2019(0x219)+'ey'],'type':_0x3e2019(0x2c5),'delta':_0x4c4837});}function _0x596220(_0x24a7bb,_0x18d68d,_0x13b894=''){const _0x786d2f=_0x433b67;if(_0x24a7bb[_0x786d2f(0x233)+_0x786d2f(0x30c)+'Timer'])clearTimeout(_0x24a7bb[_0x786d2f(0x233)+'Fallback'+_0x786d2f(0x20e)]);_0x24a7bb[_0x786d2f(0x233)+_0x786d2f(0x30c)+_0x786d2f(0x20e)]=setTimeout(()=>{const _0x208bc9=_0x786d2f,_0x13a81d=_0x46cf46[_0x208bc9(0x2f0)](_0x24a7bb[_0x208bc9(0x245)]);if(!_0x13a81d)return;_0x3d2c3d(_0x13a81d,_0x18d68d==='error'?_0x208bc9(0x1d5):_0x208bc9(0x2d4),_0x13b894);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x3a6ef6(_0x32670f){const _0x5f0f35=_0x433b67;for(const _0x450034 of _0x46cf46[_0x5f0f35(0x25f)]()){_0x574ce4?.[_0x5f0f35(0x21d)](_0x5f0f35(0x1f6)+_0x5f0f35(0x2b5)+_0x5f0f35(0x281)+_0x5f0f35(0x1de),{'requestId':_0x450034['requestI'+'d'],'runId':_0x450034[_0x5f0f35(0x245)],'sessionKey':_0x450034[_0x5f0f35(0x219)+'ey'],'durationMs':Date[_0x5f0f35(0x2bc)]()-_0x450034[_0x5f0f35(0x310)+'t'],'reason':_0x32670f}),_0xadb211({'requestId':_0x450034[_0x5f0f35(0x236)+'d'],'sessionKey':_0x450034['sessionK'+'ey'],'type':_0x5f0f35(0x1d5),'message':_0x32670f});if(_0x450034[_0x5f0f35(0x233)+_0x5f0f35(0x30c)+'Timer'])clearTimeout(_0x450034['terminal'+_0x5f0f35(0x30c)+_0x5f0f35(0x20e)]);}_0x46cf46[_0x5f0f35(0x2ed)](),_0x29cbde[_0x5f0f35(0x2ed)]();}function _0x2d66f9(_0x5d19c9){const _0x2ad8c3=_0x433b67,_0x30f0c8=getTrimmedString(_0x5d19c9[_0x2ad8c3(0x245)]),_0x1634b4=getTrimmedString(_0x5d19c9['state'])||_0x2ad8c3(0x2b0),_0x50b9f6=getTrimmedString(_0x5d19c9[_0x2ad8c3(0x219)+'ey']),_0x336050=(_0x30f0c8?_0x46cf46[_0x2ad8c3(0x2f0)](_0x30f0c8):null)??(_0x50b9f6?_0x4b447e(_0x50b9f6):null);if(_0x30f0c8&&_0x50b9f6)_0x29cbde[_0x2ad8c3(0x285)](_0x50b9f6,_0x30f0c8);if(_0x50b9f6)_0x596521(_0x2ad8c3(0x1cb)+_0x2ad8c3(0x2b0),{'sessionKey':_0x50b9f6,'state':_0x1634b4});_0x574ce4?.['info'](_0x2ad8c3(0x2c2)+_0x2ad8c3(0x247)+'nt\x20recei'+_0x2ad8c3(0x283),{'runId':_0x30f0c8,'sessionKey':_0x50b9f6,'state':_0x1634b4,'hasActiveRun':Boolean(_0x336050),'messageText':summarizeText(extractGatewayChatText(_0x5d19c9['message']),0x78),'errorMessage':getTrimmedString(_0x5d19c9[_0x2ad8c3(0x2cd)+_0x2ad8c3(0x25e)])});_0x336050&&(_0x1634b4===_0x2ad8c3(0x25b)||_0x1634b4===_0x2ad8c3(0x230)||_0x1634b4===_0x2ad8c3(0x1d5))&&_0x596220(_0x336050,_0x1634b4,typeof _0x5d19c9[_0x2ad8c3(0x2cd)+'sage']===_0x2ad8c3(0x2a1)?_0x5d19c9['errorMes'+_0x2ad8c3(0x25e)]:'gateway\x20'+_0x2ad8c3(0x24c)+_0x2ad8c3(0x2f1));if(!_0x336050)return;if(_0x50b9f6&&_0x50b9f6!==_0x336050[_0x2ad8c3(0x219)+'ey'])return;if(_0x1634b4===_0x2ad8c3(0x2c5)){_0x5a189b(_0x336050,extractGatewayChatText(_0x5d19c9[_0x2ad8c3(0x314)]));return;}if(_0x1634b4==='final'||_0x1634b4===_0x2ad8c3(0x230)){_0x5a189b(_0x336050,extractGatewayChatText(_0x5d19c9[_0x2ad8c3(0x314)])),_0x3d2c3d(_0x336050,_0x2ad8c3(0x2d4));return;}_0x1634b4===_0x2ad8c3(0x1d5)&&_0x3d2c3d(_0x336050,_0x2ad8c3(0x1d5),typeof _0x5d19c9['errorMes'+'sage']===_0x2ad8c3(0x2a1)?_0x5d19c9[_0x2ad8c3(0x2cd)+_0x2ad8c3(0x25e)]:_0x2ad8c3(0x2c2)+'chat\x20fai'+_0x2ad8c3(0x2f1));}async function _0x331b36(_0x2aeacf,_0x21266e){const _0x5253c3=_0x433b67;_0xd74f3[_0x5253c3(0x223)+'e']({'url':buildGatewayWsUrl(_0x21266e),'token':_0x2aeacf,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x4032cc['productN'+'ame'],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x494ede['resolveD'+_0x5253c3(0x26b)+_0x5253c3(0x1b1)+'h'](),'onChatEvent':_0x2d66f9,'onAgentEvent':_0x2db436=>_0x596521('agent-ev'+_0x5253c3(0x27e),_0x2db436),'onConnected':async()=>{const _0x3c53a9=_0x5253c3;if(!_0x27158d||!_0x44908f||!_0x3b8985)return;_0x405074?.[_0x3c53a9(0x2b8)](_0x3c53a9(0x2c2)+_0x3c53a9(0x23b)+_0x3c53a9(0x1c6)+'ted',{'port':_0x44908f,'pid':_0x27158d[_0x3c53a9(0x28a)],'readyMs':_0x5d0cb2?Date[_0x3c53a9(0x2bc)]()-_0x5d0cb2:undefined}),_0x429804(_0x3c53a9(0x2ad),_0x3c53a9(0x2c2)+_0x3c53a9(0x241)+'d',{'health':_0x3c53a9(0x2cf),'port':_0x44908f,'tokenPresent':!![]});try{await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x4032cc[_0x3c53a9(0x234)+'oot']))[_0x3c53a9(0x1a6)+'oot'],_0x3c53a9(0x20f),_0x3c53a9(0x282)),'stateDir':_0x494ede[_0x3c53a9(0x250)+_0x3c53a9(0x307)](),'listAgents':_0x31a124,'createAgent':_0x2e3f4b=>_0xd74f3[_0x3c53a9(0x2b1)](_0x3c53a9(0x200)+_0x3c53a9(0x291),_0x2e3f4b),'updateAgent':_0x33398c=>_0xd74f3[_0x3c53a9(0x2b1)](_0x3c53a9(0x1ed)+_0x3c53a9(0x208),_0x33398c),'syncSkills':async({agentIds:_0x559dbf,mainWorkspace:_0x48238d})=>{const _0x35bb0e=_0x3c53a9;_0x341b92?.[_0x35bb0e(0x2b8)]('bundled\x20'+_0x35bb0e(0x2f9)+_0x35bb0e(0x2bb)+_0x35bb0e(0x29d)+'d',{'agentIds':_0x559dbf,'mainWorkspace':toHomePath(_0x48238d)});const _0x35d6b3=dirname(_0x48238d),_0x330414=await syncBundledAgentSkillsToConfig({'agentIds':_0x559dbf,'resolveSkillsDir':_0xc0b9fd=>_0xc0b9fd===_0x35bb0e(0x1ca)?join(_0x48238d,_0x35bb0e(0x2f4)):join(_0x35d6b3,_0x35bb0e(0x238)+'e-'+_0xc0b9fd,_0x35bb0e(0x2f4)),'readConfig':()=>_0x494ede['readConf'+'ig'](),'writeConfig':_0x136fbd=>_0x494ede[_0x35bb0e(0x2a6)+'fig'](_0x136fbd),'markConfigWriteHandledInternally':()=>_0x494ede['markConf'+_0x35bb0e(0x1f4)+_0x35bb0e(0x1ef)+_0x35bb0e(0x19e)]()});_0x1e590=_0x330414[_0x35bb0e(0x205)+'y'],_0x341b92?.[_0x35bb0e(0x2b8)]('bundled\x20'+_0x35bb0e(0x2f9)+_0x35bb0e(0x2bb)+_0x35bb0e(0x243)+_0x35bb0e(0x1ba),{'agentCount':_0x559dbf['length'],'changed':_0x330414[_0x35bb0e(0x24e)],'discovery':summarizePayload(_0x330414[_0x35bb0e(0x205)+'y'],{'maxDepth':0x3})});}}),_0x341b92?.[_0x3c53a9(0x2b8)](_0x3c53a9(0x228)+_0x3c53a9(0x1a1)+_0x3c53a9(0x23c)),_0x596521(_0x3c53a9(0x1ac)+_0x3c53a9(0x1ea),{'reason':_0x3c53a9(0x2b4)+_0x3c53a9(0x313)+'eady'});}catch(_0x341a88){const _0x1dcc4a=_0x341a88 instanceof Error?_0x341a88['stack']||_0x341a88[_0x3c53a9(0x314)]:String(_0x341a88);_0x21f2f0(_0x3c53a9(0x246),_0x3c53a9(0x228)+'agents\x20s'+_0x3c53a9(0x287)+_0x3c53a9(0x217)+_0x1dcc4a),_0x341b92?.['error']('bundled\x20'+_0x3c53a9(0x2e4)+_0x3c53a9(0x287)+'ed',{'error':summarizeError(_0x341a88)}),console[_0x3c53a9(0x1d5)]('[wujie-s'+_0x3c53a9(0x2f3)+_0x3c53a9(0x1fd)+_0x3c53a9(0x22e)+'ents\x20syn'+'c\x20failed',_0x341a88);}},'onDisconnected':_0x334c04=>{const _0x42342c=_0x5253c3;_0x405074?.[_0x42342c(0x21d)](_0x42342c(0x2c2)+_0x42342c(0x23b)+_0x42342c(0x2a9)+_0x42342c(0x1d4),{'reason':_0x334c04}),_0x3a6ef6(_0x334c04);if(_0x1272d3||!_0x27158d)return;_0x2fb248({'health':_0x42342c(0x261),'message':'gateway\x20'+'reconnec'+_0x42342c(0x275)+_0x334c04});}});}async function _0x2393e9(_0xadebb2,_0xdcc41f){const _0x22e0c6=_0x433b67;if(_0x27158d)return;_0x5d0cb2=Date['now'](),_0x429804(_0x22e0c6(0x315),'gateway\x20'+'starting',{'health':_0x22e0c6(0x261),'port':_0xdcc41f,'tokenPresent':!![]});const _0x5ead71=['gateway',_0x22e0c6(0x29e),_0x22e0c6(0x28e)+_0x22e0c6(0x20d)+'ured',_0x22e0c6(0x31d),_0xadebb2,_0x22e0c6(0x2e2),String(_0xdcc41f)];_0x21f2f0('system',_0x22e0c6(0x20f)+_0x22e0c6(0x2a4)+_0x22e0c6(0x2ee)+'llow-unc'+_0x22e0c6(0x1a0)+_0x22e0c6(0x293)+_0x22e0c6(0x265)+'TED]\x20--p'+_0x22e0c6(0x2dd)+_0xdcc41f),_0x405074?.[_0x22e0c6(0x2b8)](_0x22e0c6(0x2c2)+'process\x20'+_0x22e0c6(0x232)+_0x22e0c6(0x2ba),{'args':[_0x22e0c6(0x309),_0x22e0c6(0x29e),_0x22e0c6(0x28e)+_0x22e0c6(0x20d)+_0x22e0c6(0x1c3),'--token',_0x22e0c6(0x1aa)+'D]',_0x22e0c6(0x2e2),String(_0xdcc41f)],'env':{'OPENCLAW_STATE_DIR':toHomePath(_0x494ede[_0x22e0c6(0x250)+'tateDir']()),'OPENCLAW_CONFIG_PATH':toHomePath(_0x494ede[_0x22e0c6(0x218)+'onfigPat'+'h']())}}),_0x27158d=await spawnClaw(_0x4032cc['projectR'+_0x22e0c6(0x2fa)],_0x5ead71,{'env':{'OPENCLAW_STATE_DIR':_0x494ede[_0x22e0c6(0x250)+_0x22e0c6(0x307)](),'OPENCLAW_CONFIG_PATH':_0x494ede[_0x22e0c6(0x218)+_0x22e0c6(0x227)+'h']()}}),_0x3b8985=_0xadebb2,_0x44908f=_0xdcc41f,_0x405074?.[_0x22e0c6(0x2b8)](_0x22e0c6(0x2c2)+_0x22e0c6(0x1a3)+'started',{'pid':_0x27158d[_0x22e0c6(0x28a)],'port':_0x44908f}),_0x2fb248({'health':'unknown','port':_0x44908f,'tokenPresent':!![],'message':_0x22e0c6(0x2c2)+_0x22e0c6(0x1a3)+_0x22e0c6(0x2ac)+_0x22e0c6(0x260)+_0x22e0c6(0x229)}),await _0x331b36(_0xadebb2,_0xdcc41f);const _0x5ada82=createLineBuffer({'trim':!![],'onLine':_0x4ed9b7=>_0x21f2f0(_0x22e0c6(0x28b),_0x4ed9b7)}),_0x36584d=createLineBuffer({'trim':!![],'onLine':_0x28ca45=>_0x21f2f0(_0x22e0c6(0x296),_0x28ca45)});_0x27158d[_0x22e0c6(0x28b)]['on'](_0x22e0c6(0x2a0),_0x55d0ba=>{_0x5ada82['push'](_0x55d0ba['toString']());}),_0x27158d[_0x22e0c6(0x296)]['on'](_0x22e0c6(0x2a0),_0x20c3a8=>{const _0x25682f=_0x22e0c6;_0x36584d['push'](_0x20c3a8[_0x25682f(0x251)]());}),_0x27158d['on']('error',_0x962cd6=>{const _0x253d07=_0x22e0c6;_0x405074?.[_0x253d07(0x1d5)]('gateway\x20'+_0x253d07(0x1a3)+_0x253d07(0x1d5),{'error':summarizeError(_0x962cd6)}),_0x21f2f0('stderr',_0x962cd6 instanceof Error?_0x962cd6[_0x253d07(0x1e9)]||_0x962cd6[_0x253d07(0x314)]:String(_0x962cd6));}),_0x27158d['on']('close',(_0x1ca44c,_0x53f096)=>{const _0x34ebb8=_0x22e0c6;_0x5ada82['flush'](),_0x36584d[_0x34ebb8(0x31e)](),_0x405074?.[_0x34ebb8(0x21d)](_0x34ebb8(0x2c2)+'process\x20'+'closed',{'pid':_0x27158d?.[_0x34ebb8(0x28a)]??null,'code':_0x1ca44c,'signal':_0x53f096,'uptimeMs':_0x5d0cb2?Date['now']()-_0x5d0cb2:undefined}),_0x21f2f0(_0x34ebb8(0x246),_0x34ebb8(0x2c2)+_0x34ebb8(0x1d2)+_0x34ebb8(0x26f)+(_0x1ca44c??'null')+_0x34ebb8(0x2b7)+(_0x53f096??_0x34ebb8(0x302))),_0x27158d=null,_0x3b8985=null,_0x44908f=null,_0xd74f3[_0x34ebb8(0x223)+'e'](null),_0x3a6ef6('gateway\x20'+_0x34ebb8(0x1a3)+_0x34ebb8(0x1c4));if(_0x1272d3){_0x429804('stopped',_0x34ebb8(0x2c2)+'stopped',{'health':_0x34ebb8(0x261),'port':null,'tokenPresent':![]});return;}_0x429804('error',_0x34ebb8(0x2c2)+_0x34ebb8(0x2fd)+_0x34ebb8(0x202)+'dly',{'health':_0x34ebb8(0x317)+'y','port':null,'tokenPresent':![]});});}async function _0x1dddb4(){const _0x212427=_0x433b67;if(_0x27158d)return;_0x1272d3=![],_0x405074?.[_0x212427(0x2b8)]('gateway\x20'+_0x212427(0x2b2)+'er\x20start'+'\x20request'+'ed'),await _0x485f5c[_0x212427(0x1c8)]()[_0x212427(0x20b)](_0xdb2f9=>{const _0x408f2b=_0x212427;_0x21f2f0(_0x408f2b(0x246),_0x408f2b(0x255)+_0x408f2b(0x258)+_0x408f2b(0x2c7)+_0x408f2b(0x1ee)+'led:\x20'+(_0xdb2f9 instanceof Error?_0xdb2f9[_0x408f2b(0x314)]:String(_0xdb2f9)));}),await _0x494ede[_0x212427(0x1e8)+_0x212427(0x303)+'fig'](),await ensureOpenClawDoctorFixed(_0x4032cc,{'runtimeLogger':_0x405074}),_0x494ede[_0x212427(0x257)+_0x212427(0x221)+'es'](),_0x494ede[_0x212427(0x209)+_0x212427(0x23a)+_0x212427(0x1f5)](_0x324afd=>{void _0x1583d7(_0x324afd);});const _0x29ad36=await _0x494ede['ensureGa'+_0x212427(0x1b6)+_0x212427(0x21c)]();_0x405074?.[_0x212427(0x2b8)](_0x212427(0x2c2)+_0x212427(0x1c1)+'\x20allocat'+'ed',{'port':_0x29ad36[_0x212427(0x1d9)],'tokenPresent':Boolean(_0x29ad36[_0x212427(0x1bc)])}),await _0x2393e9(_0x29ad36[_0x212427(0x1bc)],_0x29ad36[_0x212427(0x1d9)]);}async function _0x110207(){const _0x570574=_0x433b67;_0x1272d3=!![],_0x405074?.[_0x570574(0x2b8)](_0x570574(0x2c2)+_0x570574(0x2b2)+'er\x20stop\x20'+_0x570574(0x1d8)+'d',{'pid':_0x27158d?.[_0x570574(0x28a)]??null,'port':_0x44908f}),_0xd74f3[_0x570574(0x223)+'e'](null);if(_0x27158d){const _0x4ad94c=_0x27158d;_0x27158d=null;try{_0x4ad94c[_0x570574(0x289)](_0x570574(0x2a2));}catch{}await new Promise(_0x5736c0=>setTimeout(_0x5736c0,0x1f4));if(!_0x4ad94c['killed'])try{_0x4ad94c[_0x570574(0x289)]('SIGKILL');}catch{}}_0x3b8985=null,_0x44908f=null,_0x3a6ef6('gateway\x20'+_0x570574(0x1ff)),await _0x485f5c[_0x570574(0x1c7)](),_0x494ede[_0x570574(0x311)](),_0x429804(_0x570574(0x1ff),_0x570574(0x2c2)+_0x570574(0x1ff),{'health':_0x570574(0x261),'port':null,'tokenPresent':![]}),_0x1272d3=![];}async function _0x1583d7(_0x132934=_0x433b67(0x23f)+_0x433b67(0x2e1)){const _0x741e4c=_0x433b67;if(_0x2d9bbd)return{'ok':!![]};return _0x2d9bbd=!![],_0x405074?.['info'](_0x741e4c(0x2c2)+_0x741e4c(0x2f5)+'requeste'+'d',{'reason':_0x132934}),_0x347c1d=_0x347c1d[_0x741e4c(0x262)](async()=>{const _0x99b5ec=_0x741e4c;_0x429804('restarti'+'ng','gateway\x20'+_0x99b5ec(0x295)+'ng:\x20'+_0x132934,{'health':'unknown'}),await _0x110207(),await _0x1dddb4();})[_0x741e4c(0x297)](()=>{_0x2d9bbd=![];}),await _0x347c1d,{'ok':!![]};}async function _0x53b88e(){const _0x12760d=_0x433b67,_0x9b7ee=await loadRuntimeInfo(_0x4032cc[_0x12760d(0x234)+_0x12760d(0x2fa)]);return{'runtimeRoot':_0x9b7ee[_0x12760d(0x1a6)+_0x12760d(0x2fa)],'openclawVersion':_0x9b7ee[_0x12760d(0x20f)+_0x12760d(0x28c)],'openclawWorkingDir':_0x9b7ee['openclaw'+'WorkingD'+'ir'],'openclawBin':_0x9b7ee[_0x12760d(0x20f)+'Bin'],'plugins':_0x9b7ee[_0x12760d(0x1db)][_0x12760d(0x266)](_0x3e6dd1=>({'pluginId':_0x3e6dd1['pluginId'],'source':_0x3e6dd1[_0x12760d(0x301)],'version':_0x3e6dd1[_0x12760d(0x2a3)],'installPath':_0x3e6dd1[_0x12760d(0x2fc)+_0x12760d(0x1af)]})),'configPath':_0x494ede['resolveC'+_0x12760d(0x227)+'h'](),'stateDir':_0x494ede[_0x12760d(0x250)+_0x12760d(0x307)](),'bundledAgentSkillsDiscovery':_0x1e590};}async function _0x31a124(){const _0x19ec6e=_0x433b67;_0x341b92?.[_0x19ec6e(0x2b8)](_0x19ec6e(0x2cb)+_0x19ec6e(0x299)+_0x19ec6e(0x2b9));const _0x40dbcf=asRecord(await _0xd74f3[_0x19ec6e(0x2b1)]('agents.l'+_0x19ec6e(0x2c3),{})),_0x1b6d80=getTrimmedString(_0x40dbcf[_0x19ec6e(0x312)+'d'])||_0x19ec6e(0x1ca),_0x14aa34=Array[_0x19ec6e(0x2f8)](_0x40dbcf[_0x19ec6e(0x282)])?[..._0x40dbcf[_0x19ec6e(0x282)]]:[];return{..._0x40dbcf,'defaultId':_0x1b6d80,'agents':_0x14aa34};}async function _0x3c863c(){const _0x309b9a=_0x433b67;if(!_0x41febb())return{'defaultId':_0x309b9a(0x1ca),'mainKey':'','scope':'','pending':!![],'agents':[{'id':_0x309b9a(0x1ca),'name':_0x4032cc[_0x309b9a(0x23e)+_0x309b9a(0x2d0)],'workspace':join(_0x494ede[_0x309b9a(0x250)+'tateDir'](),_0x309b9a(0x238)+'e')}]};const _0x2674bc=await _0x31a124(),_0x30eb29=getTrimmedString(_0x2674bc[_0x309b9a(0x312)+'d'])||_0x309b9a(0x1ca),_0x361285=Array['isArray'](_0x2674bc[_0x309b9a(0x282)])?[..._0x2674bc[_0x309b9a(0x282)]]:[];return!_0x361285[_0x309b9a(0x2aa)](_0x28d207=>asRecord(_0x28d207)['id']==='main')&&_0x361285[_0x309b9a(0x1d6)]({'id':_0x309b9a(0x1ca),'name':_0x4032cc[_0x309b9a(0x23e)+_0x309b9a(0x2d0)],'workspace':join(_0x494ede[_0x309b9a(0x250)+'tateDir'](),_0x309b9a(0x238)+'e')}),{..._0x2674bc,'defaultId':_0x30eb29,'agents':_0x361285};}async function _0x4c49d0(_0x5525a6={}){const _0x151c88=_0x433b67;_0x3ec389();const _0x202384=Date['now']();_0x39acfb?.['info'](_0x151c88(0x254)+_0x151c88(0x1fb)+'equested',{'payload':summarizePayload(_0x5525a6)});const _0x10e5cd=await _0xd74f3[_0x151c88(0x2b1)](_0x151c88(0x1c0)+_0x151c88(0x28d),buildSessionCreateRequestPayload(_0x5525a6)),_0x389649=parseSessionCreateResult(_0x10e5cd);return _0x39acfb?.[_0x151c88(0x2b8)](_0x151c88(0x254)+_0x151c88(0x1da)+_0x151c88(0x2da),{'key':_0x389649[_0x151c88(0x1f9)],'sessionId':_0x389649[_0x151c88(0x278)+'d'],'durationMs':Date[_0x151c88(0x2bc)]()-_0x202384}),_0x389649;}async function _0x55e8e4(_0x1987a5={}){const _0x56e82e=_0x433b67,_0x124270=await readSessionMetadata(_0x494ede['resolveS'+_0x56e82e(0x307)]());if(!_0x41febb())return{'pending':!![],'sessions':[],'pinnedKeys':_0x124270[_0x56e82e(0x1b4)+'ys']};const _0x5b7fd8=Date[_0x56e82e(0x2bc)](),_0xbfd2b=Math[_0x56e82e(0x24f)](0x1,Math['floor'](Number(_0x1987a5[_0x56e82e(0x2d2)])||0x64)),_0x2477da={'limit':_0xbfd2b,'includeGlobal':!![],'includeUnknown':![]},_0x25c996=getTrimmedString(_0x1987a5[_0x56e82e(0x29c)]??'main');if(_0x25c996)_0x2477da[_0x56e82e(0x29c)]=_0x25c996;const _0x3f81fe=applySessionMetadata(await _0xd74f3[_0x56e82e(0x2b1)](_0x56e82e(0x1c0)+_0x56e82e(0x2bd),_0x2477da),_0x124270);return _0x39acfb?.[_0x56e82e(0x2b8)](_0x56e82e(0x1c0)+'\x20list\x20co'+_0x56e82e(0x2c0),{'payload':_0x2477da,'count':Array[_0x56e82e(0x2f8)](_0x3f81fe[_0x56e82e(0x1c0)])?_0x3f81fe['sessions'][_0x56e82e(0x1ce)]:0x0,'durationMs':Date['now']()-_0x5b7fd8}),_0x3f81fe;}async function _0x236b32(_0x17739c={}){const _0x48a9ed=_0x433b67;_0x3ec389();const _0x22070f=getTrimmedString(_0x17739c[_0x48a9ed(0x219)+'ey']??_0x17739c[_0x48a9ed(0x1f9)]);if(!_0x22070f)throw new Error(_0x48a9ed(0x219)+'ey\x20is\x20re'+_0x48a9ed(0x2ef));const _0x2779d4=Date[_0x48a9ed(0x2bc)](),_0x319954=await _0xd74f3[_0x48a9ed(0x2b1)](_0x48a9ed(0x1c0)+_0x48a9ed(0x263),{'key':_0x22070f,'deleteTranscript':_0x17739c[_0x48a9ed(0x290)+_0x48a9ed(0x269)]!==![],'emitLifecycleHooks':!![]}),_0x52e075=await readSessionMetadata(_0x494ede[_0x48a9ed(0x250)+_0x48a9ed(0x307)]());return delete _0x52e075[_0x48a9ed(0x30e)][_0x22070f],_0x52e075[_0x48a9ed(0x1b4)+'ys']=_0x52e075[_0x48a9ed(0x1b4)+'ys']['filter'](_0x14d54b=>_0x14d54b!==_0x22070f),await writeSessionMetadata(_0x494ede[_0x48a9ed(0x250)+_0x48a9ed(0x307)](),_0x52e075),_0x596521(_0x48a9ed(0x1cb)+'updated',{'type':'deleted','sessionKey':_0x22070f}),_0x39acfb?.[_0x48a9ed(0x2b8)](_0x48a9ed(0x254)+_0x48a9ed(0x268)+_0x48a9ed(0x2da),{'sessionKey':_0x22070f,'deleteTranscript':_0x17739c[_0x48a9ed(0x290)+_0x48a9ed(0x269)]!==![],'durationMs':Date[_0x48a9ed(0x2bc)]()-_0x2779d4}),_0x319954;}async function _0x51599d(_0x58c0d9={}){const _0x5e9771=_0x433b67,_0x5c87bd=getTrimmedString(_0x58c0d9['sessionK'+'ey']??_0x58c0d9[_0x5e9771(0x1f9)]);if(!_0x5c87bd)throw new Error(_0x5e9771(0x219)+_0x5e9771(0x213)+_0x5e9771(0x2ef));const _0x3e25c2=getTrimmedString(_0x58c0d9[_0x5e9771(0x26c)]??_0x58c0d9['label']??_0x58c0d9[_0x5e9771(0x272)]),_0x3c75a9=await readSessionMetadata(_0x494ede['resolveS'+_0x5e9771(0x307)]());if(_0x3e25c2)_0x3c75a9['names'][_0x5c87bd]=_0x3e25c2;else delete _0x3c75a9[_0x5e9771(0x30e)][_0x5c87bd];return await writeSessionMetadata(_0x494ede[_0x5e9771(0x250)+_0x5e9771(0x307)](),_0x3c75a9),_0x596521(_0x5e9771(0x1cb)+_0x5e9771(0x2b0),{'type':_0x5e9771(0x308),'sessionKey':_0x5c87bd,'name':_0x3e25c2}),_0x39acfb?.[_0x5e9771(0x2b8)](_0x5e9771(0x254)+'rename\x20c'+_0x5e9771(0x2da),{'sessionKey':_0x5c87bd,'hasName':Boolean(_0x3e25c2),'name':_0x3e25c2?summarizeText(_0x3e25c2,0x50):undefined}),{'ok':!![]};}async function _0x5a67b2(){const _0x7f4f3=await readSessionMetadata(_0x494ede['resolveS'+'tateDir']());return _0x7f4f3['pinnedKe'+'ys'];}async function _0x21cd90(_0x81a76b=[]){const _0x5db5d0=_0x433b67,_0xda8cf1=await readSessionMetadata(_0x494ede[_0x5db5d0(0x250)+_0x5db5d0(0x307)]());return _0xda8cf1[_0x5db5d0(0x1b4)+'ys']=Array['isArray'](_0x81a76b)?[...new Set(_0x81a76b[_0x5db5d0(0x266)](getTrimmedString)[_0x5db5d0(0x2e6)](Boolean))]:[],await writeSessionMetadata(_0x494ede[_0x5db5d0(0x250)+_0x5db5d0(0x307)](),_0xda8cf1),_0x596521(_0x5db5d0(0x1cb)+'updated',{'type':'pinned-k'+_0x5db5d0(0x1b7)+_0x5db5d0(0x1ba),'pinnedKeys':_0xda8cf1['pinnedKe'+'ys']}),_0x39acfb?.[_0x5db5d0(0x2b8)]('session\x20'+_0x5db5d0(0x288)+_0x5db5d0(0x2b6)+_0x5db5d0(0x1ba),{'count':_0xda8cf1[_0x5db5d0(0x1b4)+'ys'][_0x5db5d0(0x1ce)]}),{'ok':!![],'pinnedKeys':_0xda8cf1['pinnedKe'+'ys']};}async function _0x18006f(){const _0x1b3559=_0x433b67,_0x221f46=join(_0x494ede[_0x1b3559(0x250)+_0x1b3559(0x307)](),'workspac'+'e');return{'path':_0x221f46,'exists':Boolean(await stat(_0x221f46)[_0x1b3559(0x20b)](()=>null))};}async function _0x2d9168(){const _0x552792=_0x433b67;return readSharedContext(join(_0x494ede[_0x552792(0x250)+_0x552792(0x307)](),_0x552792(0x238)+'e'));}async function _0x46cbc6(_0x4f622a={}){const _0x2475e9=_0x433b67;return _0x341b92?.['info'](_0x2475e9(0x238)+'e\x20shared'+_0x2475e9(0x1f2)+_0x2475e9(0x210)+'equested',{'files':Object['keys'](sanitizeSharedContextPayload(_0x4f622a))}),writeSharedContext(join(_0x494ede[_0x2475e9(0x250)+_0x2475e9(0x307)](),_0x2475e9(0x238)+'e'),_0x4f622a);}async function _0xc80d9c(_0x149b82={}){const _0x4adf81=_0x433b67;return _0x3ec389(),await _0xd74f3[_0x4adf81(0x2b1)](_0x4adf81(0x237)+'t',_0x149b82);}async function _0x88c473(_0xc712a1={}){const _0x32beab=_0x433b67;return _0x3ec389(),await _0xd74f3[_0x32beab(0x2b1)](_0x32beab(0x1fe),_0xc712a1);}async function _0x1026d7(_0x49bf4e={}){const _0x1d32e3=_0x433b67;_0x3ec389();const _0x3a3d1b=getTrimmedString(_0x49bf4e[_0x1d32e3(0x1bf)]??_0x49bf4e['id']);if(!_0x3a3d1b)throw new Error(_0x1d32e3(0x1a8)+'\x20require'+'d');const _0x5672c7=asRecord(_0x49bf4e[_0x1d32e3(0x1cc)]),_0x35bfdf=Object['keys'](_0x5672c7)[_0x1d32e3(0x1ce)]>0x0?_0x5672c7:{..._0x49bf4e};return delete _0x35bfdf[_0x1d32e3(0x1bf)],delete _0x35bfdf['id'],await _0xd74f3[_0x1d32e3(0x2b1)](_0x1d32e3(0x294)+_0x1d32e3(0x1fa),{'jobId':_0x3a3d1b,'patch':_0x35bfdf});}async function _0x1e5f56(_0x413f3f={}){const _0x12c757=_0x433b67;_0x3ec389();const _0x5826a8=getTrimmedString(_0x413f3f[_0x12c757(0x1bf)]??_0x413f3f['id']);if(!_0x5826a8)throw new Error(_0x12c757(0x1a8)+_0x12c757(0x20c)+'d');return await _0xd74f3[_0x12c757(0x2b1)](_0x12c757(0x2fb)+_0x12c757(0x1e3),{'jobId':_0x5826a8});}async function _0x4531ad(_0x3c4130={}){const _0x4e1a46=_0x433b67;_0x3ec389();const _0x3ff848=getTrimmedString(_0x3c4130[_0x4e1a46(0x1bf)]??_0x3c4130['id']);if(!_0x3ff848)throw new Error(_0x4e1a46(0x1a8)+_0x4e1a46(0x20c)+'d');return await _0xd74f3[_0x4e1a46(0x2b1)]('cron.run',{'jobId':_0x3ff848});}async function _0x57c377(_0x34cb06={}){const _0x13dfa6=_0x433b67;return _0x3ec389(),await _0xd74f3[_0x13dfa6(0x2b1)](_0x13dfa6(0x212)+'s',_0x34cb06);}async function _0x5c4a7b(_0x805152={}){const _0x283731=_0x433b67;_0x3ec389();const _0x356e1c=Date[_0x283731(0x2bc)]();_0x341b92?.[_0x283731(0x2b8)](_0x283731(0x1e1)+'stall\x20re'+_0x283731(0x2ba),{'payload':summarizePayload(_0x805152)});try{const _0x489cab=await _0xd74f3['request'](_0x283731(0x1a7)+_0x283731(0x19c),_0x805152);return _0x341b92?.['info'](_0x283731(0x1e1)+_0x283731(0x2d8)+_0x283731(0x2c0),{'durationMs':Date['now']()-_0x356e1c,'result':summarizePayload(_0x489cab,{'maxDepth':0x2})}),_0x489cab;}catch(_0x102c68){_0x341b92?.[_0x283731(0x1d5)](_0x283731(0x1e1)+_0x283731(0x207)+_0x283731(0x1c2),{'durationMs':Date[_0x283731(0x2bc)]()-_0x356e1c,'error':summarizeError(_0x102c68)});throw _0x102c68;}}async function _0xc6d5e3(_0x4230a7={}){const _0x3e783f=_0x433b67;return _0x3ec389(),_0x341b92?.['info'](_0x3e783f(0x24d)+_0x3e783f(0x284)+_0x3e783f(0x292),{'payload':summarizePayload(_0x4230a7)}),await _0xd74f3[_0x3e783f(0x2b1)](_0x3e783f(0x31b)+_0x3e783f(0x208),_0x4230a7);}async function _0x207c36(_0x54344c={}){const _0x3a52f1=_0x433b67;return _0x3ec389(),_0x341b92?.[_0x3a52f1(0x2b8)](_0x3a52f1(0x306)+_0x3a52f1(0x220)+_0x3a52f1(0x292),{'payload':summarizePayload(_0x54344c)}),await _0xd74f3[_0x3a52f1(0x2b1)](_0x3a52f1(0x1b3)+_0x3a52f1(0x2ec),_0x54344c);}async function _0x352969(_0x7e871d={}){const _0x299148=_0x433b67;_0x3ec389();const _0x258ee5=getTrimmedString(_0x7e871d[_0x299148(0x219)+'ey']),_0x38a799=getTrimmedString(_0x7e871d[_0x299148(0x314)]),_0x127a86=getTrimmedString(_0x7e871d[_0x299148(0x236)+'d'])||randomUUID();if(!_0x258ee5)throw new Error(_0x299148(0x219)+_0x299148(0x213)+_0x299148(0x2ef));if(!_0x38a799)throw new Error(_0x299148(0x271)+_0x299148(0x1c5)+_0x299148(0x1f1));const _0x5adca4=Date[_0x299148(0x2bc)]();_0x574ce4?.[_0x299148(0x2b8)](_0x299148(0x23d)+_0x299148(0x2ce)+_0x299148(0x2b9),{'requestId':_0x127a86,'sessionKey':_0x258ee5,'message':summarizeText(_0x38a799),'filePaths':summarizeFilePaths(_0x7e871d[_0x299148(0x1dd)+'s'])}),_0xadb211({'requestId':_0x127a86,'sessionKey':_0x258ee5,'type':_0x299148(0x1c9)}),_0x46cf46[_0x299148(0x285)](_0x127a86,{'runId':_0x127a86,'requestId':_0x127a86,'sessionKey':_0x258ee5,'textLength':0x0,'startedAt':_0x5adca4}),_0x29cbde[_0x299148(0x285)](_0x258ee5,_0x127a86);try{const _0x5083ab=await buildAttachments(Array[_0x299148(0x2f8)](_0x7e871d[_0x299148(0x1dd)+'s'])?_0x7e871d['filePath'+'s']:[]);_0x574ce4?.[_0x299148(0x2b8)](_0x299148(0x25d)+_0x299148(0x1d1)+_0x299148(0x201)+'d',{'requestId':_0x127a86,'sessionKey':_0x258ee5,'attachmentCount':_0x5083ab[_0x299148(0x1ce)],'attachments':_0x5083ab[_0x299148(0x266)](_0x5822b9=>({'type':_0x5822b9['type'],'mimeType':_0x5822b9[_0x299148(0x2ff)],'fileName':_0x5822b9[_0x299148(0x222)],'contentLength':_0x5822b9[_0x299148(0x2f7)][_0x299148(0x1ce)]}))});const _0xf3ff69=asRecord(await _0xd74f3['request'](_0x299148(0x25a)+'d',{'sessionKey':_0x258ee5,'message':_0x38a799,'deliver':![],'idempotencyKey':_0x127a86,..._0x5083ab[_0x299148(0x1ce)]>0x0?{'attachments':_0x5083ab}:{}})),_0xfe7ed8=getTrimmedString(_0xf3ff69[_0x299148(0x245)])||_0x127a86,_0x1330c1=_0x46cf46[_0x299148(0x2f0)](_0x127a86);if(!_0x1330c1)return{'ok':!![],'requestId':_0x127a86,'runId':_0xfe7ed8};return _0xfe7ed8!==_0x1330c1[_0x299148(0x245)]&&(_0x46cf46[_0x299148(0x2a7)](_0x1330c1[_0x299148(0x245)]),_0x1330c1[_0x299148(0x245)]=_0xfe7ed8,_0x46cf46['set'](_0xfe7ed8,_0x1330c1)),_0x29cbde[_0x299148(0x285)](_0x258ee5,_0xfe7ed8),_0x574ce4?.[_0x299148(0x2b8)](_0x299148(0x23d)+'eam\x20acce'+_0x299148(0x2b3)+'gateway',{'requestId':_0x127a86,'runId':_0xfe7ed8,'sessionKey':_0x258ee5,'durationMs':Date[_0x299148(0x2bc)]()-_0x5adca4,'status':_0xf3ff69[_0x299148(0x1e6)]}),_0xf3ff69['status']===_0x299148(0x1d5)&&_0x3d2c3d(_0x1330c1,'error',getTrimmedString(_0xf3ff69[_0x299148(0x2cd)+_0x299148(0x25e)])||_0x299148(0x2c2)+_0x299148(0x24c)+_0x299148(0x2f1)),{'ok':!![],'requestId':_0x127a86,'runId':_0xfe7ed8,'response':_0xf3ff69};}catch(_0x363198){const _0x1cedae=_0x1082e6(_0x127a86),_0x3d1fc5=_0x363198 instanceof Error?_0x363198[_0x299148(0x314)]:String(_0x363198);_0x574ce4?.[_0x299148(0x1d5)]('chat\x20str'+_0x299148(0x22b)+'ed',{'requestId':_0x127a86,'sessionKey':_0x258ee5,'durationMs':Date['now']()-_0x5adca4,'error':summarizeError(_0x363198)});if(_0x1cedae)_0x3d2c3d(_0x1cedae,_0x299148(0x1d5),_0x3d1fc5);else _0xadb211({'requestId':_0x127a86,'sessionKey':_0x258ee5,'type':_0x299148(0x1d5),'message':_0x3d1fc5});throw _0x363198;}}async function _0x380190(_0x35beab={}){const _0x1fe2b8=_0x433b67;_0x3ec389();const _0x29ddd2=getTrimmedString(_0x35beab[_0x1fe2b8(0x219)+'ey']);if(!_0x29ddd2)throw new Error(_0x1fe2b8(0x219)+_0x1fe2b8(0x213)+_0x1fe2b8(0x2ef));const _0x4bd351=Date[_0x1fe2b8(0x2bc)](),_0x17cb4c=_0x1082e6(getTrimmedString(_0x35beab[_0x1fe2b8(0x236)+'d']))??_0x4b447e(_0x29ddd2),_0x121e87=_0x29cbde[_0x1fe2b8(0x2f0)](_0x29ddd2),_0xb04312={'sessionKey':_0x29ddd2};if(_0x17cb4c?.[_0x1fe2b8(0x245)])_0xb04312[_0x1fe2b8(0x245)]=_0x17cb4c['runId'];else{if(_0x121e87)_0xb04312[_0x1fe2b8(0x245)]=_0x121e87;}const _0x15a409=await _0xd74f3[_0x1fe2b8(0x2b1)](_0x1fe2b8(0x2ea)+'rt',_0xb04312);if(_0x17cb4c)_0x3d2c3d(_0x17cb4c,'done');return _0x574ce4?.[_0x1fe2b8(0x2b8)](_0x1fe2b8(0x298)+_0x1fe2b8(0x270)+_0x1fe2b8(0x1b0),{'sessionKey':_0x29ddd2,'requestId':getTrimmedString(_0x35beab[_0x1fe2b8(0x236)+'d']),'runId':_0xb04312[_0x1fe2b8(0x245)],'durationMs':Date[_0x1fe2b8(0x2bc)]()-_0x4bd351}),_0x15a409;}async function _0x5b8021(_0x5f023={}){const _0x1edd89=_0x433b67;_0x3ec389();const _0x1fddd9=getTrimmedString(_0x5f023[_0x1edd89(0x219)+'ey']);if(!_0x1fddd9)throw new Error(_0x1edd89(0x219)+_0x1edd89(0x213)+'quired');const _0xcc5d4e=await _0xd74f3[_0x1edd89(0x2b1)](_0x1edd89(0x2af)+_0x1edd89(0x2dc),{'sessionKey':_0x1fddd9,'limit':Math['max'](0x1,Math[_0x1edd89(0x2f2)](Number(_0x5f023[_0x1edd89(0x2d2)])||0xc8))});return _0x574ce4?.[_0x1edd89(0x2b8)](_0x1edd89(0x1a5)+_0x1edd89(0x1a4)+_0x1edd89(0x2e8),{'sessionKey':_0x1fddd9,'limit':Math[_0x1edd89(0x24f)](0x1,Math[_0x1edd89(0x2f2)](Number(_0x5f023[_0x1edd89(0x2d2)])||0xc8)),'result':summarizePayload(_0xcc5d4e,{'maxDepth':0x2})}),_0xcc5d4e;}async function _0xfa5477(_0x435e7f=''){const _0x218cb0=_0x433b67;if(!_0x41febb())return{'pending':!![],'skills':[]};const _0x38fb64=getTrimmedString(_0x435e7f),_0x5e84b0=await _0xd74f3[_0x218cb0(0x2b1)](_0x218cb0(0x30b)+_0x218cb0(0x235),_0x38fb64?{'agentId':_0x38fb64}:{}),_0x2ccf50=await _0x494ede[_0x218cb0(0x2d1)+'ig']()[_0x218cb0(0x20b)](()=>({})),_0x24d8db=filterSkillsForAgent(_0x5e84b0,_0x2ccf50,_0x38fb64);return _0x341b92?.[_0x218cb0(0x2b8)]('skills\x20s'+_0x218cb0(0x239)+_0x218cb0(0x1e0),{'agentId':_0x38fb64||_0x218cb0(0x1d0),'result':summarizePayload(_0x24d8db,{'maxDepth':0x2})}),_0x24d8db;}return{'on':_0x215313,'start':_0x1dddb4,'stop':_0x110207,'restart':_0x1583d7,'runtimeInfo':_0x53b88e,'getStatus':()=>_0x3dec43,'getRecentLogs':_0xdd6667,'answerAskUserQuestion':_0x39a0f8=>_0x485f5c['answer'](_0x39a0f8),'agents':{'list':_0x3c863c},'skills':{'status':_0xfa5477,'install':_0x5c4a7b,'update':_0xc6d5e3,'delete':_0x207c36},'sessions':{'create':_0x4c49d0,'list':_0x55e8e4,'delete':_0x236b32,'rename':_0x51599d,'pinnedKeys':_0x5a67b2,'setPinnedKeys':_0x21cd90},'workspace':{'directoryInfo':_0x18006f,'sharedContext':_0x2d9168,'writeSharedContext':_0x46cbc6},'cron':{'list':_0xc80d9c,'create':_0x88c473,'update':_0x1026d7,'remove':_0x1e5f56,'runOnce':_0x4531ad,'logs':_0x57c377},'models':{'settings':()=>_0x494ede[_0x433b67(0x2e7)+_0x433b67(0x1ae)](),'setSettings':async(_0x12a1d9={})=>{const _0x545d1c=_0x433b67,_0x56a7e2=_0x12a1d9?.['restartO'+_0x545d1c(0x22a)]!==![];return await _0x494ede[_0x545d1c(0x2e9)+_0x545d1c(0x1ae)](_0x12a1d9,{'restartOnChange':_0x56a7e2}),_0x494ede[_0x545d1c(0x2e7)+_0x545d1c(0x1ae)]();},'setSelfOperatedModels':_0x5b52c9=>_0x494ede['setSelfO'+_0x433b67(0x30d)+_0x433b67(0x20a)](_0x5b52c9),'selectedModelId':async()=>{const _0x11d013=_0x433b67,_0x1300c9=await _0x494ede[_0x11d013(0x2e7)+'Settings']();return _0x1300c9[_0x11d013(0x1cf)]&&_0x1300c9['modelNam'+'e']?_0x1300c9[_0x11d013(0x1cf)]+'/'+_0x1300c9[_0x11d013(0x2c6)+'e']:'';},'customModels':async()=>[]},'config':{'read':()=>_0x494ede[_0x433b67(0x2d1)+'ig']()},'chat':{'stream':_0x352969,'abort':_0x380190,'history':_0x5b8021}};}
|
package/dist/src/gateway-ws.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x50ec13=_0x4985;(function(_0x2f5e2b,_0x101447){const _0xb2141e=_0x4985,_0xc87359=_0x2f5e2b();while(!![]){try{const _0xe58d01=-parseInt(_0xb2141e(0x1ad))/0x1+parseInt(_0xb2141e(0x17b))/0x2+parseInt(_0xb2141e(0x190))/0x3*(-parseInt(_0xb2141e(0x192))/0x4)+-parseInt(_0xb2141e(0x146))/0x5+parseInt(_0xb2141e(0x178))/0x6*(-parseInt(_0xb2141e(0x1b5))/0x7)+-parseInt(_0xb2141e(0x1b1))/0x8+parseInt(_0xb2141e(0x171))/0x9*(parseInt(_0xb2141e(0x1c4))/0xa);if(_0xe58d01===_0x101447)break;else _0xc87359['push'](_0xc87359['shift']());}catch(_0x158863){_0xc87359['push'](_0xc87359['shift']());}}}(_0x13d5,0x641e3));import{Buffer}from'node:buffer';import{createHash,createPrivateKey,createPublicKey,generateKeyPairSync,randomUUID,sign}from'node:crypto';import{chmodSync,existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import _0x43d579 from'ws';const ED25519_SPKI_PREFIX=Buffer[_0x50ec13(0x126)](_0x50ec13(0x15a)+_0x50ec13(0x18f)+'70032100',_0x50ec13(0x135)),BASE64_PADDING_REGEX=/=+$/g,UPPERCASE_ASCII_REGEX=/[A-Z]/g;function isRecord(_0x188989){const _0x552269=_0x50ec13;return Boolean(_0x188989)&&typeof _0x188989===_0x552269(0x169)&&!Array['isArray'](_0x188989);}function _0x4985(_0xae1515,_0x5b075d){_0xae1515=_0xae1515-0x11c;const _0x13d5c3=_0x13d5();let _0x498552=_0x13d5c3[_0xae1515];return _0x498552;}function formatUnknownError(_0x58ddcb){const _0xafcfe5=_0x50ec13;if(_0x58ddcb instanceof Error)return _0x58ddcb[_0xafcfe5(0x162)];return String(_0x58ddcb??'');}function isLocalGatewayConnRefused(_0x2967dc){const _0x577c9a=_0x50ec13,_0x5cc13a=formatUnknownError(_0x2967dc);return/\bECONNREFUSED\b/i[_0x577c9a(0x172)](_0x5cc13a)&&/127\.0\.0\.1:\d+/[_0x577c9a(0x172)](_0x5cc13a);}function base64UrlEncode(_0x19bc43){const _0x4f89c7=_0x50ec13;return _0x19bc43[_0x4f89c7(0x134)](_0x4f89c7(0x16d))[_0x4f89c7(0x16c)+'ll']('+','-')[_0x4f89c7(0x16c)+'ll']('/','_')[_0x4f89c7(0x191)](BASE64_PADDING_REGEX,'');}function _0x13d5(){const _0x3101c8=['restart','stop','nected','Options','entity','removeAl','ell/','challeng','spki','rejectRe','subarray','o\x20send\x20g','clientId','302a3005','lengeTim','reject','fromChar','clientMo','get','identity','handleDi','message','onChatEv','pending','token','url','nectChal','hallenge','object','privateK','request','replaceA','base64','failed\x20t','set','hake\x20mis','18347922VffBlb','test','queueCon','ssage','agent','config','isBuffer','115146oKvrJb','t\x20connec','nonce','1223970dwRaiD','ters','pkcs8','min','error','join','push','connectN','sendConn','DateTime','string','yCheck','now','delete','digest','request\x20','nding','gateway\x20','failed','tBackoff','06032b65','129852UuSDoR','replace','24hDFEMx','is\x20not\x20l','payload','WS\x20error','send','once','trim','connecte','resolved','WS\x20disco','ent','WS\x20hands','deviceId','der','code=','clientDi','connect','event','lReady','adyWaite','ct\x20faile','deviceFa','operator','timeout','resolveR','WS\x20clien','onConnec','610596vkzRYj','filter','eadyWait','shouldRe','375432vcatay','WS\x20conne','connect.','sconnect','280cpKiOt','初始化\x20gate','length','connect\x20','platform','stringif','connectS','scopes','viceFami','wujie-sh','ateway\x20r','eyPem','timeoutM','nal','clientDe','10hjNHnt','clientVe','export','method','update','timed\x20ou','utf8','WS\x20is\x20no','tTimer','rsion','chat','failed:\x20','handleMe','o\x20load\x20g','nnected','charCode','rejectPe','ers','Code','ting','configur','yPem','onDiscon','med\x20out','status','type','vent','Timer','ction\x20ti','from','device\x20i','.approva','g\x20nonce','sha256','res','e\x20timeou','close','readyWai','pem','connectC','Path','clearTim','.write','toString','hex','OPEN','e\x20missin','parse','sing\x20non','mily','t:\x20','resolve','terminat','eout','WS\x20close','open','reconnec','equals','ect','waitUnti','t\x20stoppe','2778455BAoPqF','role','readySta','publicKe','ted','expectFi','t\x20restar'];_0x13d5=function(){return _0x3101c8;};return _0x13d5();}function derivePublicKeyRaw(_0x5c6921){const _0x471cf0=_0x50ec13,_0x332ec4=createPublicKey(_0x5c6921)['export']({'type':_0x471cf0(0x155),'format':_0x471cf0(0x19f)}),_0xc09ca3=Buffer[_0x471cf0(0x177)](_0x332ec4)?_0x332ec4:Buffer['from'](_0x332ec4),_0x2a2a55=_0xc09ca3['length']===ED25519_SPKI_PREFIX[_0x471cf0(0x1b7)]+0x20&&_0xc09ca3[_0x471cf0(0x157)](0x0,ED25519_SPKI_PREFIX[_0x471cf0(0x1b7)])[_0x471cf0(0x142)](ED25519_SPKI_PREFIX);return _0x2a2a55?_0xc09ca3[_0x471cf0(0x157)](ED25519_SPKI_PREFIX['length']):_0xc09ca3;}function fingerprintPublicKey(_0x41380a){const _0x44b17c=_0x50ec13;return createHash(_0x44b17c(0x12a))[_0x44b17c(0x1c8)](derivePublicKeyRaw(_0x41380a))[_0x44b17c(0x189)](_0x44b17c(0x135));}function publicKeyRawBase64UrlFromPem(_0x730f18){return base64UrlEncode(derivePublicKeyRaw(_0x730f18));}function signDevicePayload(_0x23167c,_0x38b4c0){const _0x284c5d=_0x50ec13,_0x237b1b=createPrivateKey(_0x23167c);return base64UrlEncode(sign(null,Buffer[_0x284c5d(0x126)](_0x38b4c0,'utf8'),_0x237b1b));}function normalizeDeviceMetadataForAuth(_0x5c2103){const _0x37f897=_0x50ec13,_0x1d9b10=typeof _0x5c2103===_0x37f897(0x185)?_0x5c2103['trim']():'';if(!_0x1d9b10)return'';return _0x1d9b10[_0x37f897(0x191)](UPPERCASE_ASCII_REGEX,_0x194a03=>String[_0x37f897(0x15d)+_0x37f897(0x1d6)](_0x194a03[_0x37f897(0x1d3)+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x1fb0f3){const _0x1502af=_0x50ec13;return['v3',_0x1fb0f3['deviceId'],_0x1fb0f3[_0x1502af(0x159)],_0x1fb0f3[_0x1502af(0x15e)+'de'],_0x1fb0f3[_0x1502af(0x147)],_0x1fb0f3[_0x1502af(0x1bc)]['join'](','),String(_0x1fb0f3['signedAt'+'Ms']),_0x1fb0f3[_0x1502af(0x165)]??'',_0x1fb0f3[_0x1502af(0x17a)],normalizeDeviceMetadataForAuth(_0x1fb0f3[_0x1502af(0x1b9)]),normalizeDeviceMetadataForAuth(_0x1fb0f3[_0x1502af(0x1a7)+_0x1502af(0x13a)])][_0x1502af(0x180)]('|');}function writeIdentityFile(_0x1baebf,_0x5025f8,_0x1c384f){const _0x541889=_0x50ec13;mkdirSync(dirname(_0x1baebf),{'recursive':!![]}),writeFileSync(_0x1baebf,JSON[_0x541889(0x1ba)+'y']({'version':0x1,..._0x5025f8,'createdAtMs':_0x1c384f},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0x1baebf,0x180);}catch{}}function generateDeviceIdentity(){const _0x3bf4df=_0x50ec13,{publicKey:_0x4cae4e,privateKey:_0x3b8568}=generateKeyPairSync('ed25519'),_0x38b435=_0x4cae4e[_0x3bf4df(0x1c6)]({'type':_0x3bf4df(0x155),'format':_0x3bf4df(0x12f)})['toString'](),_0x3870ea=_0x3b8568[_0x3bf4df(0x1c6)]({'type':_0x3bf4df(0x17d),'format':'pem'})[_0x3bf4df(0x134)]();return{'deviceId':fingerprintPublicKey(_0x38b435),'publicKeyPem':_0x38b435,'privateKeyPem':_0x3870ea};}function loadOrCreateDeviceIdentity(_0x22fc33){const _0x16d885=_0x50ec13;if(existsSync(_0x22fc33))try{const _0x491f74=JSON[_0x16d885(0x138)](readFileSync(_0x22fc33,_0x16d885(0x1ca))),_0x428279=typeof _0x491f74?.[_0x16d885(0x149)+_0x16d885(0x11e)]===_0x16d885(0x185)?_0x491f74[_0x16d885(0x149)+_0x16d885(0x11e)]:'',_0x51f17e=typeof _0x491f74?.['privateK'+_0x16d885(0x1c0)]===_0x16d885(0x185)?_0x491f74[_0x16d885(0x16a)+'eyPem']:'';if(_0x428279&&_0x51f17e){const _0x50482e={'deviceId':fingerprintPublicKey(_0x428279),'publicKeyPem':_0x428279,'privateKeyPem':_0x51f17e};return _0x491f74?.[_0x16d885(0x19e)]!==_0x50482e['deviceId']&&writeIdentityFile(_0x22fc33,_0x50482e,Date[_0x16d885(0x187)]()),_0x50482e;}}catch{}const _0x2f3be5=generateDeviceIdentity();return writeIdentityFile(_0x22fc33,_0x2f3be5,Date['now']()),_0x2f3be5;}export class ClawGatewayWsClient{['ws']=null;['config']=null;[_0x50ec13(0x164)]=new Map();[_0x50ec13(0x12e)+'ters']=[];[_0x50ec13(0x1b0)+_0x50ec13(0x1a2)]=![];['reconnec'+'tTimer']=null;[_0x50ec13(0x130)+_0x50ec13(0x168)+_0x50ec13(0x124)]=null;[_0x50ec13(0x182)+_0x50ec13(0x197)]=null;['connectS'+_0x50ec13(0x19c)]=![];[_0x50ec13(0x199)+'d']=![];[_0x50ec13(0x141)+_0x50ec13(0x18e)+'Ms']=0x320;[_0x50ec13(0x19e)+'entity']=null;[_0x50ec13(0x11d)+'e'](_0x39c34c){const _0x4464b4=_0x50ec13;if(!_0x39c34c){this['stop']();return;}const _0x32d0c5=this['config'];this[_0x4464b4(0x176)]=_0x39c34c,this['shouldRe'+_0x4464b4(0x1a2)]=!![];try{this[_0x4464b4(0x19e)+_0x4464b4(0x151)]=loadOrCreateDeviceIdentity(_0x39c34c[_0x4464b4(0x160)+'Path']);}catch(_0x18f7ca){const _0x2d1a31=_0x18f7ca instanceof Error?_0x18f7ca[_0x4464b4(0x162)]:_0x4464b4(0x1b6)+'way\x20设备身份'+'失败';this[_0x4464b4(0x14e)](),_0x39c34c[_0x4464b4(0x11f)+_0x4464b4(0x14f)](_0x2d1a31);return;}const _0x2d7aa1=!_0x32d0c5||_0x32d0c5[_0x4464b4(0x166)]!==_0x39c34c[_0x4464b4(0x166)]||_0x32d0c5['token']!==_0x39c34c[_0x4464b4(0x165)]||_0x32d0c5['clientId']!==_0x39c34c['clientId']||_0x32d0c5['clientMo'+'de']!==_0x39c34c['clientMo'+'de']||_0x32d0c5[_0x4464b4(0x1c5)+'rsion']!==_0x39c34c[_0x4464b4(0x1c5)+_0x4464b4(0x1cd)]||_0x32d0c5[_0x4464b4(0x160)+_0x4464b4(0x131)]!==_0x39c34c[_0x4464b4(0x160)+_0x4464b4(0x131)];if(_0x2d7aa1){this[_0x4464b4(0x14d)]();return;}if(!this['ws'])this[_0x4464b4(0x1a2)]();}['stop'](){const _0x14ae12=_0x50ec13;this[_0x14ae12(0x1b0)+_0x14ae12(0x1a2)]=![],this['connecte'+'d']=![],this[_0x14ae12(0x182)+'once']=null,this['connectS'+_0x14ae12(0x19c)]=![],this[_0x14ae12(0x132)+_0x14ae12(0x1d5)](),this['rejectPe'+_0x14ae12(0x18b)](new Error('gateway\x20'+_0x14ae12(0x1ab)+_0x14ae12(0x145)+'d')),this['rejectRe'+_0x14ae12(0x1a5)+'rs'](new Error('gateway\x20'+'WS\x20clien'+_0x14ae12(0x145)+'d'));if(this['ws']){try{this['ws'][_0x14ae12(0x12d)]();}catch{}this['ws']=null;}this[_0x14ae12(0x19e)+_0x14ae12(0x151)]=null,this[_0x14ae12(0x176)]=null;}async[_0x50ec13(0x16b)](_0x2ef361,_0x3aaeee={},_0x53200e={}){const _0x88cc=_0x50ec13;if(!_0x53200e['skipRead'+_0x88cc(0x186)])await this['waitUnti'+_0x88cc(0x1a4)]();const _0x3640bc=this['ws'];if(!_0x3640bc||_0x3640bc['readySta'+'te']!==_0x43d579[_0x88cc(0x136)])throw new Error(_0x88cc(0x18c)+'WS\x20is\x20no'+_0x88cc(0x179)+_0x88cc(0x14a));const _0x183790=randomUUID(),_0x1c8f0c=_0x53200e[_0x88cc(0x1c1)+'s']??0x7530;return await new Promise((_0x1a99ce,_0xe66cf2)=>{const _0x535c8e=_0x88cc,_0x40560f=setTimeout(()=>{const _0x193761=_0x4985;this[_0x193761(0x164)][_0x193761(0x188)](_0x183790),_0xe66cf2(new Error(_0x193761(0x18c)+_0x193761(0x18a)+_0x193761(0x1c9)+_0x193761(0x13b)+_0x2ef361));},_0x1c8f0c);this[_0x535c8e(0x164)][_0x535c8e(0x16f)](_0x183790,{'method':_0x2ef361,'resolve':_0x28c8d1=>{clearTimeout(_0x40560f),_0x1a99ce(_0x28c8d1);},'reject':_0x5398b1=>{clearTimeout(_0x40560f),_0xe66cf2(_0x5398b1);},'expectFinal':_0x53200e[_0x535c8e(0x14b)+'nal']===!![],'timeout':_0x40560f});try{_0x3640bc[_0x535c8e(0x196)](JSON[_0x535c8e(0x1ba)+'y']({'type':'req','id':_0x183790,'method':_0x2ef361,'params':_0x3aaeee}));}catch(_0x437c99){this[_0x535c8e(0x164)][_0x535c8e(0x188)](_0x183790),clearTimeout(_0x40560f),_0xe66cf2(_0x437c99 instanceof Error?_0x437c99:new Error(_0x535c8e(0x16e)+_0x535c8e(0x158)+_0x535c8e(0x1bf)+'equest'));}});}['restart'](){const _0x11675a=_0x50ec13;this[_0x11675a(0x199)+'d']=![],this[_0x11675a(0x182)+_0x11675a(0x197)]=null,this[_0x11675a(0x1bb)+'ent']=![],this[_0x11675a(0x132)+_0x11675a(0x1d5)](),this['rejectPe'+_0x11675a(0x18b)](new Error(_0x11675a(0x18c)+_0x11675a(0x1ab)+_0x11675a(0x14c)+_0x11675a(0x11c))),this['rejectRe'+_0x11675a(0x1a5)+'rs'](new Error(_0x11675a(0x18c)+_0x11675a(0x1ab)+_0x11675a(0x14c)+'ting'));if(this['ws']){try{this['ws'][_0x11675a(0x13d)+'e']();}catch{}this['ws']=null;}this['connect']();}[_0x50ec13(0x1a2)](){const _0x258dbb=_0x50ec13;if(!this['config']||this['ws'])return;const _0x547989=new _0x43d579(this[_0x258dbb(0x176)][_0x258dbb(0x166)]);this['ws']=_0x547989,_0x547989['on'](_0x258dbb(0x140),()=>this[_0x258dbb(0x173)+_0x258dbb(0x167)+_0x258dbb(0x15b)+'eout']()),_0x547989['on'](_0x258dbb(0x162),_0x3060ed=>this['handleMe'+_0x258dbb(0x174)](_0x3060ed['toString']())),_0x547989['on']('close',(_0x2fc675,_0x1c7fab)=>{const _0x42c08a=_0x258dbb;if(this[_0x42c08a(0x199)+'d']){const _0x5e3d47=_0x1c7fab[_0x42c08a(0x134)]()||_0x42c08a(0x1a0)+_0x2fc675;this[_0x42c08a(0x161)+_0x42c08a(0x1b4)](_0x42c08a(0x18c)+_0x42c08a(0x13f)+'d\x20('+_0x5e3d47+')');}else this[_0x42c08a(0x161)+'sconnect']('');}),_0x547989['on'](_0x258dbb(0x17f),_0x35b4d2=>{const _0x5641e4=_0x258dbb;if(isLocalGatewayConnRefused(_0x35b4d2)){this[_0x5641e4(0x161)+_0x5641e4(0x1b4)]('gateway\x20'+_0x5641e4(0x193)+'istening'+'\x20yet');return;}const _0x4d0da2=formatUnknownError(_0x35b4d2);this[_0x5641e4(0x161)+_0x5641e4(0x1b4)](_0x4d0da2?_0x5641e4(0x18c)+_0x5641e4(0x195)+':\x20'+_0x4d0da2:'gateway\x20'+_0x5641e4(0x195));});}[_0x50ec13(0x173)+_0x50ec13(0x167)+_0x50ec13(0x15b)+_0x50ec13(0x13e)](){const _0x56d8dc=_0x50ec13;this['connectN'+_0x56d8dc(0x197)]=null,this[_0x56d8dc(0x1bb)+_0x56d8dc(0x19c)]=![];if(this['connectC'+_0x56d8dc(0x168)+_0x56d8dc(0x124)])clearTimeout(this[_0x56d8dc(0x130)+_0x56d8dc(0x168)+_0x56d8dc(0x124)]);this[_0x56d8dc(0x130)+'hallenge'+_0x56d8dc(0x124)]=setTimeout(()=>{const _0x1294d6=_0x56d8dc;if(this[_0x1294d6(0x1bb)+'ent']||!this['ws']||this['ws'][_0x1294d6(0x148)+'te']!==_0x43d579['OPEN'])return;this[_0x1294d6(0x161)+_0x1294d6(0x1b4)]('gateway\x20'+_0x1294d6(0x19d)+'hake\x20tim'+'ed\x20out'),this['ws']?.['close'](0x3f0,_0x1294d6(0x1b8)+_0x1294d6(0x154)+_0x1294d6(0x12c)+'t');},0x7d0);}async[_0x50ec13(0x183)+'ect'](){const _0x7eecfa=_0x50ec13,_0x36d37b=this[_0x7eecfa(0x176)];if(!_0x36d37b||this[_0x7eecfa(0x1bb)+_0x7eecfa(0x19c)])return;const _0xf539c9=this[_0x7eecfa(0x182)+_0x7eecfa(0x197)]?.[_0x7eecfa(0x198)]()??'';if(!_0xf539c9){this[_0x7eecfa(0x161)+_0x7eecfa(0x1b4)](_0x7eecfa(0x18c)+_0x7eecfa(0x19d)+'hake\x20mis'+_0x7eecfa(0x139)+'ce'),this['ws']?.[_0x7eecfa(0x12d)](0x3f0,_0x7eecfa(0x1b8)+_0x7eecfa(0x154)+_0x7eecfa(0x137)+_0x7eecfa(0x129));return;}this[_0x7eecfa(0x1bb)+_0x7eecfa(0x19c)]=!![];this[_0x7eecfa(0x130)+_0x7eecfa(0x168)+_0x7eecfa(0x124)]&&(clearTimeout(this[_0x7eecfa(0x130)+'hallenge'+'Timer']),this['connectC'+'hallenge'+_0x7eecfa(0x124)]=null);if(!this[_0x7eecfa(0x19e)+_0x7eecfa(0x151)])try{this[_0x7eecfa(0x19e)+'entity']=loadOrCreateDeviceIdentity(_0x36d37b[_0x7eecfa(0x160)+_0x7eecfa(0x131)]);}catch(_0x153662){this['handleDi'+_0x7eecfa(0x1b4)](_0x153662 instanceof Error?_0x153662[_0x7eecfa(0x162)]:'failed\x20t'+_0x7eecfa(0x1d1)+'ateway\x20i'+'dentity'),this['ws']?.[_0x7eecfa(0x12d)](0x3f0,_0x7eecfa(0x127)+'dentity\x20'+'unavaila'+'ble');return;}const _0x79f236='operator',_0x5acd7f=[_0x7eecfa(0x1a8)+'.read',_0x7eecfa(0x1a8)+_0x7eecfa(0x133),'operator'+'.admin','operator'+_0x7eecfa(0x128)+'ls','operator'+'.pairing'],_0x55521f=_0x36d37b[_0x7eecfa(0x165)]['trim'](),_0x32e643=Date[_0x7eecfa(0x187)](),_0x5b2339=buildDeviceAuthPayloadV3({'deviceId':this[_0x7eecfa(0x19e)+_0x7eecfa(0x151)]['deviceId'],'clientId':_0x36d37b[_0x7eecfa(0x159)],'clientMode':_0x36d37b['clientMo'+'de'],'role':_0x79f236,'scopes':_0x5acd7f,'signedAtMs':_0x32e643,'token':_0x55521f||null,'nonce':_0xf539c9,'platform':process[_0x7eecfa(0x1b9)],'deviceFamily':_0x36d37b[_0x7eecfa(0x1c3)+_0x7eecfa(0x1bd)+'ly']}),_0x292125={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0x36d37b[_0x7eecfa(0x159)],'displayName':_0x36d37b[_0x7eecfa(0x1a1)+'splayNam'+'e'],'version':_0x36d37b[_0x7eecfa(0x1c5)+_0x7eecfa(0x1cd)],'platform':process[_0x7eecfa(0x1b9)],'deviceFamily':_0x36d37b[_0x7eecfa(0x1c3)+_0x7eecfa(0x1bd)+'ly'],'mode':_0x36d37b[_0x7eecfa(0x15e)+'de']},'caps':[],'role':_0x79f236,'scopes':_0x5acd7f,'auth':_0x55521f?{'token':_0x55521f}:undefined,'device':{'id':this['deviceId'+'entity'][_0x7eecfa(0x19e)],'publicKey':publicKeyRawBase64UrlFromPem(this[_0x7eecfa(0x19e)+_0x7eecfa(0x151)][_0x7eecfa(0x149)+_0x7eecfa(0x11e)]),'signature':signDevicePayload(this[_0x7eecfa(0x19e)+_0x7eecfa(0x151)]['privateK'+_0x7eecfa(0x1c0)],_0x5b2339),'signedAt':_0x32e643,'nonce':_0xf539c9},'locale':Intl[_0x7eecfa(0x184)+'Format']()[_0x7eecfa(0x19a)+_0x7eecfa(0x150)]()['locale'],'userAgent':_0x7eecfa(0x1be)+_0x7eecfa(0x153)+_0x36d37b[_0x7eecfa(0x1c5)+_0x7eecfa(0x1cd)]};try{await this['request'](_0x7eecfa(0x1a2),_0x292125,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this[_0x7eecfa(0x199)+'d']=!![],this[_0x7eecfa(0x141)+'tBackoff'+'Ms']=0x320,this[_0x7eecfa(0x1aa)+'eadyWait'+'ers'](),this['config']?.[_0x7eecfa(0x1ac)+'ted']?.();}catch(_0x27eb15){this[_0x7eecfa(0x161)+_0x7eecfa(0x1b4)](_0x27eb15 instanceof Error?_0x27eb15['message']:_0x7eecfa(0x18c)+_0x7eecfa(0x1b2)+_0x7eecfa(0x1a6)+'d'),this['ws']?.[_0x7eecfa(0x12d)](0x3f0,_0x7eecfa(0x1b8)+_0x7eecfa(0x18d));}}[_0x50ec13(0x1d0)+_0x50ec13(0x174)](_0x514d23){const _0x5b855a=_0x50ec13;let _0x915a05;try{_0x915a05=JSON[_0x5b855a(0x138)](_0x514d23);}catch{return;}if(!isRecord(_0x915a05)||typeof _0x915a05['type']!=='string')return;if(_0x915a05['type']==='event'){const _0x586c17=typeof _0x915a05['event']==='string'?_0x915a05[_0x5b855a(0x1a3)]:'';if(!_0x586c17)return;const _0x2b06bf=isRecord(_0x915a05[_0x5b855a(0x194)])?_0x915a05[_0x5b855a(0x194)]:{};if(_0x586c17===_0x5b855a(0x1b3)+'challeng'+'e'){const _0x4d96e6=typeof _0x2b06bf[_0x5b855a(0x17a)]===_0x5b855a(0x185)?_0x2b06bf[_0x5b855a(0x17a)][_0x5b855a(0x198)]():'';if(!_0x4d96e6){this[_0x5b855a(0x161)+_0x5b855a(0x1b4)]('gateway\x20'+_0x5b855a(0x19d)+_0x5b855a(0x170)+_0x5b855a(0x139)+'ce'),this['ws']?.[_0x5b855a(0x12d)](0x3f0,_0x5b855a(0x1b8)+_0x5b855a(0x154)+_0x5b855a(0x137)+'g\x20nonce');return;}this['connectN'+_0x5b855a(0x197)]=_0x4d96e6,void this['sendConn'+_0x5b855a(0x143)]();return;}if(_0x586c17===_0x5b855a(0x1ce))this[_0x5b855a(0x176)]?.[_0x5b855a(0x163)+_0x5b855a(0x19c)]?.(_0x2b06bf);if(_0x586c17===_0x5b855a(0x175))this[_0x5b855a(0x176)]?.['onAgentE'+_0x5b855a(0x123)]?.(_0x2b06bf);return;}if(_0x915a05[_0x5b855a(0x122)]!==_0x5b855a(0x12b))return;const _0x33ebd9=typeof _0x915a05['id']===_0x5b855a(0x185)?_0x915a05['id']:'';if(!_0x33ebd9)return;const _0x26d4d2=this[_0x5b855a(0x164)][_0x5b855a(0x15f)](_0x33ebd9);if(!_0x26d4d2)return;const _0x3d8448=isRecord(_0x915a05[_0x5b855a(0x194)])?_0x915a05[_0x5b855a(0x194)]:{},_0x4fc12e=typeof _0x3d8448[_0x5b855a(0x121)]===_0x5b855a(0x185)?_0x3d8448['status']:'';if(_0x26d4d2[_0x5b855a(0x14b)+_0x5b855a(0x1c2)]&&_0x4fc12e==='accepted')return;this[_0x5b855a(0x164)]['delete'](_0x33ebd9);_0x26d4d2[_0x5b855a(0x1a9)]&&(clearTimeout(_0x26d4d2[_0x5b855a(0x1a9)]),_0x26d4d2['timeout']=null);if(_0x915a05['ok']===!![]){_0x26d4d2[_0x5b855a(0x13c)](_0x915a05[_0x5b855a(0x194)]);return;}const _0xa0f5c5=isRecord(_0x915a05[_0x5b855a(0x17f)])?_0x915a05[_0x5b855a(0x17f)]:{},_0x380011=typeof _0xa0f5c5[_0x5b855a(0x162)]===_0x5b855a(0x185)?_0xa0f5c5[_0x5b855a(0x162)]:_0x5b855a(0x18c)+'request\x20'+_0x5b855a(0x1cf)+_0x26d4d2[_0x5b855a(0x1c7)];_0x26d4d2['reject'](new Error(_0x380011));}[_0x50ec13(0x144)+'lReady'](_0x451f64=0x2ee0){const _0x33534a=_0x50ec13;if(this[_0x33534a(0x199)+'d'])return Promise[_0x33534a(0x13c)]();if(!this['config'])return Promise[_0x33534a(0x15c)](new Error(_0x33534a(0x18c)+_0x33534a(0x1cb)+'t\x20config'+'ured'));if(!this['ws'])this[_0x33534a(0x1a2)]();return new Promise((_0x58c31f,_0x491f54)=>{const _0x167b75=_0x33534a,_0x2b5f25=setTimeout(()=>{const _0x1cc72a=_0x4985;this[_0x1cc72a(0x12e)+_0x1cc72a(0x17c)]=this['readyWai'+_0x1cc72a(0x17c)][_0x1cc72a(0x1ae)](_0x58b1cb=>_0x58b1cb[_0x1cc72a(0x13c)]!==_0x58c31f),_0x491f54(new Error(_0x1cc72a(0x18c)+_0x1cc72a(0x1b2)+_0x1cc72a(0x125)+_0x1cc72a(0x120)));},_0x451f64);this[_0x167b75(0x12e)+_0x167b75(0x17c)][_0x167b75(0x181)]({'resolve':_0x58c31f,'reject':_0x491f54,'timeout':_0x2b5f25});});}[_0x50ec13(0x1aa)+_0x50ec13(0x1af)+'ers'](){const _0x3c9cf2=_0x50ec13,_0xb78422=[...this[_0x3c9cf2(0x12e)+_0x3c9cf2(0x17c)]];this[_0x3c9cf2(0x12e)+_0x3c9cf2(0x17c)]=[];for(const _0x4b3d9e of _0xb78422){clearTimeout(_0x4b3d9e[_0x3c9cf2(0x1a9)]),_0x4b3d9e[_0x3c9cf2(0x13c)]();}}[_0x50ec13(0x156)+_0x50ec13(0x1a5)+'rs'](_0x2c3977){const _0x1e7fa2=_0x50ec13,_0x393a0e=[...this['readyWai'+_0x1e7fa2(0x17c)]];this[_0x1e7fa2(0x12e)+_0x1e7fa2(0x17c)]=[];for(const _0x171252 of _0x393a0e){clearTimeout(_0x171252[_0x1e7fa2(0x1a9)]),_0x171252[_0x1e7fa2(0x15c)](_0x2c3977);}}['rejectPe'+_0x50ec13(0x18b)](_0x5cbb5c){const _0x495bf9=_0x50ec13;for(const [_0x3bedd9,_0x58f22c]of this[_0x495bf9(0x164)]['entries']()){this[_0x495bf9(0x164)][_0x495bf9(0x188)](_0x3bedd9),_0x58f22c[_0x495bf9(0x1a9)]&&(clearTimeout(_0x58f22c[_0x495bf9(0x1a9)]),_0x58f22c['timeout']=null),_0x58f22c[_0x495bf9(0x15c)](_0x5cbb5c);}}[_0x50ec13(0x161)+'sconnect'](_0x2b0f94){const _0x1b6091=_0x50ec13;this['ws']&&(this['ws'][_0x1b6091(0x152)+'lListene'+'rs'](),this['ws']=null);this[_0x1b6091(0x199)+'d']=![],this[_0x1b6091(0x182)+'once']=null,this[_0x1b6091(0x1bb)+_0x1b6091(0x19c)]=![],this[_0x1b6091(0x1d4)+_0x1b6091(0x18b)](new Error(_0x2b0f94||_0x1b6091(0x18c)+_0x1b6091(0x19b)+_0x1b6091(0x1d2))),this['rejectRe'+_0x1b6091(0x1a5)+'rs'](new Error(_0x2b0f94||_0x1b6091(0x18c)+_0x1b6091(0x19b)+_0x1b6091(0x1d2))),this['clearTim'+_0x1b6091(0x1d5)]();if(_0x2b0f94)this[_0x1b6091(0x176)]?.[_0x1b6091(0x11f)+_0x1b6091(0x14f)]?.(_0x2b0f94);if(!this[_0x1b6091(0x1b0)+_0x1b6091(0x1a2)]||!this[_0x1b6091(0x176)])return;const _0x5e3a49=this[_0x1b6091(0x141)+_0x1b6091(0x18e)+'Ms'];this[_0x1b6091(0x141)+_0x1b6091(0x18e)+'Ms']=Math[_0x1b6091(0x17e)](this[_0x1b6091(0x141)+'tBackoff'+'Ms']*0x2,0x3a98),this['reconnec'+'tTimer']=setTimeout(()=>{const _0x2a7daf=_0x1b6091;this[_0x2a7daf(0x141)+_0x2a7daf(0x1cc)]=null,this['connect']();},_0x5e3a49);}[_0x50ec13(0x132)+_0x50ec13(0x1d5)](){const _0xe566d=_0x50ec13;this['reconnec'+_0xe566d(0x1cc)]&&(clearTimeout(this[_0xe566d(0x141)+_0xe566d(0x1cc)]),this[_0xe566d(0x141)+_0xe566d(0x1cc)]=null),this[_0xe566d(0x130)+_0xe566d(0x168)+_0xe566d(0x124)]&&(clearTimeout(this[_0xe566d(0x130)+_0xe566d(0x168)+_0xe566d(0x124)]),this['connectC'+'hallenge'+_0xe566d(0x124)]=null);}}
|
|
1
|
+
const _0x5bf23f=_0x22e2;(function(_0x44b7b0,_0x3f9ea9){const _0x443659=_0x22e2,_0x3b8f31=_0x44b7b0();while(!![]){try{const _0x1ec948=-parseInt(_0x443659(0x13f))/0x1*(-parseInt(_0x443659(0x196))/0x2)+parseInt(_0x443659(0x1bd))/0x3*(-parseInt(_0x443659(0x1c0))/0x4)+-parseInt(_0x443659(0x1dd))/0x5*(parseInt(_0x443659(0x15c))/0x6)+parseInt(_0x443659(0x19f))/0x7+-parseInt(_0x443659(0x18c))/0x8*(-parseInt(_0x443659(0x1c7))/0x9)+-parseInt(_0x443659(0x192))/0xa*(-parseInt(_0x443659(0x161))/0xb)+-parseInt(_0x443659(0x19c))/0xc*(-parseInt(_0x443659(0x16a))/0xd);if(_0x1ec948===_0x3f9ea9)break;else _0x3b8f31['push'](_0x3b8f31['shift']());}catch(_0x545651){_0x3b8f31['push'](_0x3b8f31['shift']());}}}(_0x2ed8,0x81279));import{Buffer}from'node:buffer';import{createHash,createPrivateKey,createPublicKey,generateKeyPairSync,randomUUID,sign}from'node:crypto';import{chmodSync,existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import _0x1fb79a from'ws';const ED25519_SPKI_PREFIX=Buffer['from'](_0x5bf23f(0x1aa)+_0x5bf23f(0x1db)+_0x5bf23f(0x18f),'hex'),BASE64_PADDING_REGEX=/=+$/g,UPPERCASE_ASCII_REGEX=/[A-Z]/g;function isRecord(_0x1fe7ec){const _0x33a861=_0x5bf23f;return Boolean(_0x1fe7ec)&&typeof _0x1fe7ec===_0x33a861(0x17d)&&!Array[_0x33a861(0x151)](_0x1fe7ec);}function formatUnknownError(_0x2b1090){if(_0x2b1090 instanceof Error)return _0x2b1090['message'];return String(_0x2b1090??'');}function isLocalGatewayConnRefused(_0x48a4b0){const _0x28c07b=_0x5bf23f,_0x45d76d=formatUnknownError(_0x48a4b0);return/\bECONNREFUSED\b/i['test'](_0x45d76d)&&/127\.0\.0\.1:\d+/[_0x28c07b(0x159)](_0x45d76d);}function base64UrlEncode(_0x3c96c6){const _0xc20a7f=_0x5bf23f;return _0x3c96c6[_0xc20a7f(0x1ca)](_0xc20a7f(0x13c))[_0xc20a7f(0x149)+'ll']('+','-')[_0xc20a7f(0x149)+'ll']('/','_')[_0xc20a7f(0x1b4)](BASE64_PADDING_REGEX,'');}function derivePublicKeyRaw(_0x35eedb){const _0x1b3bc6=_0x5bf23f,_0x127759=createPublicKey(_0x35eedb)[_0x1b3bc6(0x1ac)]({'type':_0x1b3bc6(0x1a4),'format':_0x1b3bc6(0x195)}),_0x33ad0b=Buffer[_0x1b3bc6(0x1ab)](_0x127759)?_0x127759:Buffer[_0x1b3bc6(0x1dc)](_0x127759),_0x582afa=_0x33ad0b[_0x1b3bc6(0x199)]===ED25519_SPKI_PREFIX[_0x1b3bc6(0x199)]+0x20&&_0x33ad0b['subarray'](0x0,ED25519_SPKI_PREFIX[_0x1b3bc6(0x199)])[_0x1b3bc6(0x15d)](ED25519_SPKI_PREFIX);return _0x582afa?_0x33ad0b[_0x1b3bc6(0x177)](ED25519_SPKI_PREFIX[_0x1b3bc6(0x199)]):_0x33ad0b;}function fingerprintPublicKey(_0x218409){const _0x534f2=_0x5bf23f;return createHash(_0x534f2(0x171))[_0x534f2(0x1a3)](derivePublicKeyRaw(_0x218409))[_0x534f2(0x1f0)](_0x534f2(0x1da));}function publicKeyRawBase64UrlFromPem(_0x2e74ee){return base64UrlEncode(derivePublicKeyRaw(_0x2e74ee));}function _0x22e2(_0x5d3b8f,_0x11e862){_0x5d3b8f=_0x5d3b8f-0x131;const _0x2ed815=_0x2ed8();let _0x22e298=_0x2ed815[_0x5d3b8f];return _0x22e298;}function signDevicePayload(_0x17a41e,_0x55dc99){const _0x120013=_0x5bf23f,_0x17bf43=createPrivateKey(_0x17a41e);return base64UrlEncode(sign(null,Buffer[_0x120013(0x1dc)](_0x55dc99,_0x120013(0x156)),_0x17bf43));}function normalizeDeviceMetadataForAuth(_0x1cc05a){const _0x4bc3d5=_0x5bf23f,_0x77c333=typeof _0x1cc05a===_0x4bc3d5(0x17e)?_0x1cc05a['trim']():'';if(!_0x77c333)return'';return _0x77c333[_0x4bc3d5(0x1b4)](UPPERCASE_ASCII_REGEX,_0x275c52=>String[_0x4bc3d5(0x1cf)+_0x4bc3d5(0x153)](_0x275c52['charCode'+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x510e84){const _0x510c29=_0x5bf23f;return['v3',_0x510e84[_0x510c29(0x141)],_0x510e84[_0x510c29(0x1ba)],_0x510e84[_0x510c29(0x1df)+'de'],_0x510e84[_0x510c29(0x186)],_0x510e84[_0x510c29(0x1eb)][_0x510c29(0x1c8)](','),String(_0x510e84[_0x510c29(0x174)+'Ms']),_0x510e84[_0x510c29(0x1a2)]??'',_0x510e84[_0x510c29(0x14c)],normalizeDeviceMetadataForAuth(_0x510e84[_0x510c29(0x1b3)]),normalizeDeviceMetadataForAuth(_0x510e84['deviceFa'+_0x510c29(0x1e1)])]['join']('|');}function writeIdentityFile(_0x5924ad,_0x4d95bf,_0x73ce4a){mkdirSync(dirname(_0x5924ad),{'recursive':!![]}),writeFileSync(_0x5924ad,JSON['stringif'+'y']({'version':0x1,..._0x4d95bf,'createdAtMs':_0x73ce4a},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0x5924ad,0x180);}catch{}}function generateDeviceIdentity(){const _0x267e31=_0x5bf23f,{publicKey:_0x422e40,privateKey:_0x5ab3b3}=generateKeyPairSync('ed25519'),_0x4be4cd=_0x422e40['export']({'type':'spki','format':'pem'})['toString'](),_0x4a6af2=_0x5ab3b3['export']({'type':_0x267e31(0x13d),'format':_0x267e31(0x163)})[_0x267e31(0x1ca)]();return{'deviceId':fingerprintPublicKey(_0x4be4cd),'publicKeyPem':_0x4be4cd,'privateKeyPem':_0x4a6af2};}function loadOrCreateDeviceIdentity(_0x4fc109){const _0x2230e5=_0x5bf23f;if(existsSync(_0x4fc109))try{const _0x255ea8=JSON[_0x2230e5(0x1cc)](readFileSync(_0x4fc109,_0x2230e5(0x156))),_0x5f50e6=typeof _0x255ea8?.[_0x2230e5(0x16d)+_0x2230e5(0x1d3)]===_0x2230e5(0x17e)?_0x255ea8[_0x2230e5(0x16d)+_0x2230e5(0x1d3)]:'',_0x21be11=typeof _0x255ea8?.[_0x2230e5(0x140)+_0x2230e5(0x1b9)]==='string'?_0x255ea8[_0x2230e5(0x140)+_0x2230e5(0x1b9)]:'';if(_0x5f50e6&&_0x21be11){const _0x436f64={'deviceId':fingerprintPublicKey(_0x5f50e6),'publicKeyPem':_0x5f50e6,'privateKeyPem':_0x21be11};return _0x255ea8?.[_0x2230e5(0x141)]!==_0x436f64['deviceId']&&writeIdentityFile(_0x4fc109,_0x436f64,Date[_0x2230e5(0x136)]()),_0x436f64;}}catch{}const _0x2197ef=generateDeviceIdentity();return writeIdentityFile(_0x4fc109,_0x2197ef,Date[_0x2230e5(0x136)]()),_0x2197ef;}function _0x2ed8(){const _0x48e353=['3309467jPvayr','connectC','WS\x20is\x20no','token','update','spki','lReady','connect','yCheck','ell/','sendConn','302a3005','isBuffer','export','WS\x20disco','lListene','connecte','nectChal','Options','way\x20设备身份','platform','replace','timeoutM','splayNam','connectS','resolve','eyPem','clientId','code=','g\x20nonce','3RccNlK','WS\x20hands','adyWaite','3500188MRAFsM','ct\x20faile','clientDe','rejectPe','WS\x20clien','onAgentE','nnected','81783tMftHH','join','\x20yet','toString','failed\x20t','parse','is\x20not\x20l','pending','fromChar','WS\x20conne','min','handleMe','yPem','ers','t\x20restar','wujie-sh','Timer','once','queueCon','hex','06032b65','from','676600NOVfSL','vent','clientMo','trim','mily','delete','tBackoff','status','ent','unavaila','accepted','t\x20connec','ect','method','scopes','d\x20(','hallenge','o\x20load\x20g','rejectRe','digest','viceFami','failed:\x20','clientVe','handleDi','Path','restart','stringif','identity','agent','now','request\x20','.approva','url','tTimer','t\x20stoppe','base64','pkcs8','lengeTim','2670rlloyZ','privateK','deviceId','readyWai','ateway\x20i','config','operator','t:\x20','connectN','hake\x20mis','replaceA','entity','get','nonce','timeout','connect.','ured','device\x20i','isArray','error','Code','.admin','shouldRe','utf8','event','payload','test','equest','.pairing','24KEHjzs','equals','ters','e\x20timeou','DateTime','77dfQuhE','clearTim','pem','resolveR','expectFi','skipRead','onChatEv','waitUnti','request','2322814iMKalR','nected','challeng','publicKe','res','send','istening','sha256','ction\x20ti','.read','signedAt','e\x20missin','ting','subarray','hake\x20tim','message','removeAl','timed\x20ou','sconnect','object','string','ed\x20out','eout','connect\x20','WS\x20error','rsion','readySta','reconnec','role','close','gateway\x20','type','ateway\x20r','nal','608BuPWVd','dentity','sing\x20non','70032100','push','onDiscon','346890EmOnWJ','chat','stop','der','270sLZQly','Format','nding','length','filter','failed','12sMuIRu','OPEN','ted'];_0x2ed8=function(){return _0x48e353;};return _0x2ed8();}export class ClawGatewayWsClient{['ws']=null;[_0x5bf23f(0x144)]=null;[_0x5bf23f(0x1ce)]=new Map();[_0x5bf23f(0x142)+_0x5bf23f(0x15e)]=[];['shouldRe'+_0x5bf23f(0x1a6)]=![];[_0x5bf23f(0x185)+_0x5bf23f(0x13a)]=null;[_0x5bf23f(0x1a0)+_0x5bf23f(0x1ed)+_0x5bf23f(0x1d7)]=null;[_0x5bf23f(0x147)+'once']=null;[_0x5bf23f(0x1b7)+_0x5bf23f(0x1e5)]=![];['connecte'+'d']=![];[_0x5bf23f(0x185)+_0x5bf23f(0x1e3)+'Ms']=0x320;['deviceId'+'entity']=null;['configur'+'e'](_0x40744d){const _0x3234c9=_0x5bf23f;if(!_0x40744d){this[_0x3234c9(0x194)]();return;}const _0xe1eed7=this[_0x3234c9(0x144)];this['config']=_0x40744d,this['shouldRe'+_0x3234c9(0x1a6)]=!![];try{this[_0x3234c9(0x141)+_0x3234c9(0x14a)]=loadOrCreateDeviceIdentity(_0x40744d[_0x3234c9(0x134)+_0x3234c9(0x131)]);}catch(_0x3469bd){const _0x21adaf=_0x3469bd instanceof Error?_0x3469bd[_0x3234c9(0x179)]:'初始化\x20gate'+_0x3234c9(0x1b2)+'失败';this[_0x3234c9(0x194)](),_0x40744d[_0x3234c9(0x191)+'nected'](_0x21adaf);return;}const _0x11940f=!_0xe1eed7||_0xe1eed7[_0x3234c9(0x139)]!==_0x40744d[_0x3234c9(0x139)]||_0xe1eed7[_0x3234c9(0x1a2)]!==_0x40744d['token']||_0xe1eed7['clientId']!==_0x40744d[_0x3234c9(0x1ba)]||_0xe1eed7[_0x3234c9(0x1df)+'de']!==_0x40744d[_0x3234c9(0x1df)+'de']||_0xe1eed7[_0x3234c9(0x1f3)+_0x3234c9(0x183)]!==_0x40744d[_0x3234c9(0x1f3)+'rsion']||_0xe1eed7[_0x3234c9(0x134)+_0x3234c9(0x131)]!==_0x40744d[_0x3234c9(0x134)+_0x3234c9(0x131)];if(_0x11940f){this[_0x3234c9(0x132)]();return;}if(!this['ws'])this[_0x3234c9(0x1a6)]();}[_0x5bf23f(0x194)](){const _0x56a214=_0x5bf23f;this[_0x56a214(0x155)+'connect']=![],this['connecte'+'d']=![],this[_0x56a214(0x147)+'once']=null,this['connectS'+_0x56a214(0x1e5)]=![],this[_0x56a214(0x162)+_0x56a214(0x1d4)](),this['rejectPe'+_0x56a214(0x198)](new Error(_0x56a214(0x188)+_0x56a214(0x1c4)+_0x56a214(0x13b)+'d')),this[_0x56a214(0x1ef)+_0x56a214(0x1bf)+'rs'](new Error(_0x56a214(0x188)+'WS\x20clien'+_0x56a214(0x13b)+'d'));if(this['ws']){try{this['ws']['close']();}catch{}this['ws']=null;}this[_0x56a214(0x141)+_0x56a214(0x14a)]=null,this[_0x56a214(0x144)]=null;}async['request'](_0x11dfcd,_0x24ede0={},_0x195d45={}){const _0x1b8bfa=_0x5bf23f;if(!_0x195d45[_0x1b8bfa(0x166)+_0x1b8bfa(0x1a7)])await this[_0x1b8bfa(0x168)+_0x1b8bfa(0x1a5)]();const _0x450b8e=this['ws'];if(!_0x450b8e||_0x450b8e[_0x1b8bfa(0x184)+'te']!==_0x1fb79a[_0x1b8bfa(0x19d)])throw new Error(_0x1b8bfa(0x188)+_0x1b8bfa(0x1a1)+_0x1b8bfa(0x1e8)+_0x1b8bfa(0x19e));const _0x19d598=randomUUID(),_0x1f60f2=_0x195d45[_0x1b8bfa(0x1b5)+'s']??0x7530;return await new Promise((_0x479729,_0x49dba4)=>{const _0x51e7ec=_0x1b8bfa,_0x1f380f=setTimeout(()=>{const _0x4f3798=_0x22e2;this[_0x4f3798(0x1ce)][_0x4f3798(0x1e2)](_0x19d598),_0x49dba4(new Error(_0x4f3798(0x188)+_0x4f3798(0x137)+_0x4f3798(0x17b)+_0x4f3798(0x146)+_0x11dfcd));},_0x1f60f2);this[_0x51e7ec(0x1ce)]['set'](_0x19d598,{'method':_0x11dfcd,'resolve':_0x371844=>{clearTimeout(_0x1f380f),_0x479729(_0x371844);},'reject':_0x44b2a4=>{clearTimeout(_0x1f380f),_0x49dba4(_0x44b2a4);},'expectFinal':_0x195d45[_0x51e7ec(0x165)+_0x51e7ec(0x18b)]===!![],'timeout':_0x1f380f});try{_0x450b8e[_0x51e7ec(0x16f)](JSON[_0x51e7ec(0x133)+'y']({'type':'req','id':_0x19d598,'method':_0x11dfcd,'params':_0x24ede0}));}catch(_0x17fb21){this[_0x51e7ec(0x1ce)][_0x51e7ec(0x1e2)](_0x19d598),clearTimeout(_0x1f380f),_0x49dba4(_0x17fb21 instanceof Error?_0x17fb21:new Error(_0x51e7ec(0x1cb)+'o\x20send\x20g'+_0x51e7ec(0x18a)+_0x51e7ec(0x15a)));}});}[_0x5bf23f(0x132)](){const _0x508a6c=_0x5bf23f;this[_0x508a6c(0x1af)+'d']=![],this[_0x508a6c(0x147)+'once']=null,this['connectS'+_0x508a6c(0x1e5)]=![],this['clearTim'+'ers'](),this[_0x508a6c(0x1c3)+_0x508a6c(0x198)](new Error('gateway\x20'+_0x508a6c(0x1c4)+_0x508a6c(0x1d5)+_0x508a6c(0x176))),this['rejectRe'+_0x508a6c(0x1bf)+'rs'](new Error(_0x508a6c(0x188)+_0x508a6c(0x1c4)+'t\x20restar'+_0x508a6c(0x176)));if(this['ws']){try{this['ws']['terminat'+'e']();}catch{}this['ws']=null;}this[_0x508a6c(0x1a6)]();}[_0x5bf23f(0x1a6)](){const _0x33bd7d=_0x5bf23f;if(!this['config']||this['ws'])return;const _0x487927=new _0x1fb79a(this[_0x33bd7d(0x144)][_0x33bd7d(0x139)]);this['ws']=_0x487927,_0x487927['on']('open',()=>this[_0x33bd7d(0x1d9)+_0x33bd7d(0x1b0)+_0x33bd7d(0x13e)+_0x33bd7d(0x180)]()),_0x487927['on']('message',_0x28c4d1=>this[_0x33bd7d(0x1d2)+'ssage'](_0x28c4d1[_0x33bd7d(0x1ca)]())),_0x487927['on'](_0x33bd7d(0x187),(_0x1c9d2a,_0x3ffc9b)=>{const _0x369a9a=_0x33bd7d;if(this[_0x369a9a(0x1af)+'d']){const _0x21848c=_0x3ffc9b[_0x369a9a(0x1ca)]()||_0x369a9a(0x1bb)+_0x1c9d2a;this['handleDi'+_0x369a9a(0x17c)](_0x369a9a(0x188)+'WS\x20close'+_0x369a9a(0x1ec)+_0x21848c+')');}else this['handleDi'+_0x369a9a(0x17c)]('');}),_0x487927['on'](_0x33bd7d(0x152),_0x151f17=>{const _0x4e9567=_0x33bd7d;if(isLocalGatewayConnRefused(_0x151f17)){this[_0x4e9567(0x1f4)+'sconnect']('gateway\x20'+_0x4e9567(0x1cd)+_0x4e9567(0x170)+_0x4e9567(0x1c9));return;}const _0xe2454b=formatUnknownError(_0x151f17);this['handleDi'+_0x4e9567(0x17c)](_0xe2454b?_0x4e9567(0x188)+_0x4e9567(0x182)+':\x20'+_0xe2454b:'gateway\x20'+_0x4e9567(0x182));});}['queueCon'+_0x5bf23f(0x1b0)+_0x5bf23f(0x13e)+'eout'](){const _0x5e9d66=_0x5bf23f;this[_0x5e9d66(0x147)+_0x5e9d66(0x1d8)]=null,this['connectS'+_0x5e9d66(0x1e5)]=![];if(this[_0x5e9d66(0x1a0)+'hallenge'+_0x5e9d66(0x1d7)])clearTimeout(this[_0x5e9d66(0x1a0)+_0x5e9d66(0x1ed)+_0x5e9d66(0x1d7)]);this['connectC'+_0x5e9d66(0x1ed)+_0x5e9d66(0x1d7)]=setTimeout(()=>{const _0x45ef04=_0x5e9d66;if(this[_0x45ef04(0x1b7)+_0x45ef04(0x1e5)]||!this['ws']||this['ws'][_0x45ef04(0x184)+'te']!==_0x1fb79a[_0x45ef04(0x19d)])return;this[_0x45ef04(0x1f4)+_0x45ef04(0x17c)](_0x45ef04(0x188)+'WS\x20hands'+_0x45ef04(0x178)+_0x45ef04(0x17f)),this['ws']?.[_0x45ef04(0x187)](0x3f0,_0x45ef04(0x181)+_0x45ef04(0x16c)+_0x45ef04(0x15f)+'t');},0x7d0);}async[_0x5bf23f(0x1a9)+_0x5bf23f(0x1e9)](){const _0x1274e6=_0x5bf23f,_0x101bf9=this[_0x1274e6(0x144)];if(!_0x101bf9||this['connectS'+_0x1274e6(0x1e5)])return;const _0x4b09b6=this[_0x1274e6(0x147)+'once']?.[_0x1274e6(0x1e0)]()??'';if(!_0x4b09b6){this[_0x1274e6(0x1f4)+_0x1274e6(0x17c)](_0x1274e6(0x188)+_0x1274e6(0x1be)+_0x1274e6(0x148)+_0x1274e6(0x18e)+'ce'),this['ws']?.[_0x1274e6(0x187)](0x3f0,'connect\x20'+_0x1274e6(0x16c)+_0x1274e6(0x175)+_0x1274e6(0x1bc));return;}this['connectS'+_0x1274e6(0x1e5)]=!![];this[_0x1274e6(0x1a0)+_0x1274e6(0x1ed)+'Timer']&&(clearTimeout(this[_0x1274e6(0x1a0)+_0x1274e6(0x1ed)+_0x1274e6(0x1d7)]),this[_0x1274e6(0x1a0)+_0x1274e6(0x1ed)+_0x1274e6(0x1d7)]=null);if(!this[_0x1274e6(0x141)+_0x1274e6(0x14a)])try{this[_0x1274e6(0x141)+_0x1274e6(0x14a)]=loadOrCreateDeviceIdentity(_0x101bf9[_0x1274e6(0x134)+_0x1274e6(0x131)]);}catch(_0x164e0e){this[_0x1274e6(0x1f4)+_0x1274e6(0x17c)](_0x164e0e instanceof Error?_0x164e0e[_0x1274e6(0x179)]:_0x1274e6(0x1cb)+_0x1274e6(0x1ee)+_0x1274e6(0x143)+_0x1274e6(0x18d)),this['ws']?.[_0x1274e6(0x187)](0x3f0,_0x1274e6(0x150)+'dentity\x20'+_0x1274e6(0x1e6)+'ble');return;}const _0x865a94=_0x1274e6(0x145),_0x136b85=['operator'+_0x1274e6(0x173),_0x1274e6(0x145)+'.write',_0x1274e6(0x145)+_0x1274e6(0x154),_0x1274e6(0x145)+_0x1274e6(0x138)+'ls',_0x1274e6(0x145)+_0x1274e6(0x15b)],_0x1b75a3=_0x101bf9[_0x1274e6(0x1a2)][_0x1274e6(0x1e0)](),_0x578992=Date[_0x1274e6(0x136)](),_0xe58444=buildDeviceAuthPayloadV3({'deviceId':this['deviceId'+_0x1274e6(0x14a)][_0x1274e6(0x141)],'clientId':_0x101bf9[_0x1274e6(0x1ba)],'clientMode':_0x101bf9[_0x1274e6(0x1df)+'de'],'role':_0x865a94,'scopes':_0x136b85,'signedAtMs':_0x578992,'token':_0x1b75a3||null,'nonce':_0x4b09b6,'platform':process['platform'],'deviceFamily':_0x101bf9[_0x1274e6(0x1c2)+_0x1274e6(0x1f1)+'ly']}),_0x2f0df4={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0x101bf9['clientId'],'displayName':_0x101bf9['clientDi'+_0x1274e6(0x1b6)+'e'],'version':_0x101bf9[_0x1274e6(0x1f3)+'rsion'],'platform':process[_0x1274e6(0x1b3)],'deviceFamily':_0x101bf9[_0x1274e6(0x1c2)+_0x1274e6(0x1f1)+'ly'],'mode':_0x101bf9['clientMo'+'de']},'caps':[],'role':_0x865a94,'scopes':_0x136b85,'auth':_0x1b75a3?{'token':_0x1b75a3}:undefined,'device':{'id':this[_0x1274e6(0x141)+_0x1274e6(0x14a)]['deviceId'],'publicKey':publicKeyRawBase64UrlFromPem(this['deviceId'+_0x1274e6(0x14a)]['publicKe'+'yPem']),'signature':signDevicePayload(this[_0x1274e6(0x141)+_0x1274e6(0x14a)]['privateK'+_0x1274e6(0x1b9)],_0xe58444),'signedAt':_0x578992,'nonce':_0x4b09b6},'locale':Intl[_0x1274e6(0x160)+_0x1274e6(0x197)]()['resolved'+_0x1274e6(0x1b1)]()['locale'],'userAgent':_0x1274e6(0x1d6)+_0x1274e6(0x1a8)+_0x101bf9[_0x1274e6(0x1f3)+_0x1274e6(0x183)]};try{await this[_0x1274e6(0x169)](_0x1274e6(0x1a6),_0x2f0df4,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this[_0x1274e6(0x1af)+'d']=!![],this[_0x1274e6(0x185)+_0x1274e6(0x1e3)+'Ms']=0x320,this[_0x1274e6(0x164)+'eadyWait'+_0x1274e6(0x1d4)](),this['config']?.['onConnec'+_0x1274e6(0x19e)]?.();}catch(_0x10e282){this[_0x1274e6(0x1f4)+_0x1274e6(0x17c)](_0x10e282 instanceof Error?_0x10e282['message']:_0x1274e6(0x188)+_0x1274e6(0x1d0)+_0x1274e6(0x1c1)+'d'),this['ws']?.[_0x1274e6(0x187)](0x3f0,_0x1274e6(0x181)+_0x1274e6(0x19b));}}[_0x5bf23f(0x1d2)+'ssage'](_0x3be32f){const _0x1ba5c5=_0x5bf23f;let _0x5b8ac8;try{_0x5b8ac8=JSON[_0x1ba5c5(0x1cc)](_0x3be32f);}catch{return;}if(!isRecord(_0x5b8ac8)||typeof _0x5b8ac8[_0x1ba5c5(0x189)]!==_0x1ba5c5(0x17e))return;if(_0x5b8ac8[_0x1ba5c5(0x189)]===_0x1ba5c5(0x157)){const _0x2facc6=typeof _0x5b8ac8['event']===_0x1ba5c5(0x17e)?_0x5b8ac8['event']:'';if(!_0x2facc6)return;const _0x379439=isRecord(_0x5b8ac8[_0x1ba5c5(0x158)])?_0x5b8ac8[_0x1ba5c5(0x158)]:{};if(_0x2facc6===_0x1ba5c5(0x14e)+_0x1ba5c5(0x16c)+'e'){const _0x1acb9a=typeof _0x379439[_0x1ba5c5(0x14c)]===_0x1ba5c5(0x17e)?_0x379439[_0x1ba5c5(0x14c)][_0x1ba5c5(0x1e0)]():'';if(!_0x1acb9a){this['handleDi'+_0x1ba5c5(0x17c)](_0x1ba5c5(0x188)+_0x1ba5c5(0x1be)+_0x1ba5c5(0x148)+'sing\x20non'+'ce'),this['ws']?.['close'](0x3f0,_0x1ba5c5(0x181)+'challeng'+_0x1ba5c5(0x175)+'g\x20nonce');return;}this[_0x1ba5c5(0x147)+_0x1ba5c5(0x1d8)]=_0x1acb9a,void this['sendConn'+_0x1ba5c5(0x1e9)]();return;}if(_0x2facc6===_0x1ba5c5(0x193))this[_0x1ba5c5(0x144)]?.[_0x1ba5c5(0x167)+_0x1ba5c5(0x1e5)]?.(_0x379439);if(_0x2facc6===_0x1ba5c5(0x135))this[_0x1ba5c5(0x144)]?.[_0x1ba5c5(0x1c5)+_0x1ba5c5(0x1de)]?.(_0x379439);return;}if(_0x5b8ac8['type']!==_0x1ba5c5(0x16e))return;const _0x660931=typeof _0x5b8ac8['id']===_0x1ba5c5(0x17e)?_0x5b8ac8['id']:'';if(!_0x660931)return;const _0xcb7364=this[_0x1ba5c5(0x1ce)][_0x1ba5c5(0x14b)](_0x660931);if(!_0xcb7364)return;const _0x203df7=isRecord(_0x5b8ac8[_0x1ba5c5(0x158)])?_0x5b8ac8['payload']:{},_0x4719f8=typeof _0x203df7[_0x1ba5c5(0x1e4)]===_0x1ba5c5(0x17e)?_0x203df7[_0x1ba5c5(0x1e4)]:'';if(_0xcb7364[_0x1ba5c5(0x165)+_0x1ba5c5(0x18b)]&&_0x4719f8===_0x1ba5c5(0x1e7))return;this['pending'][_0x1ba5c5(0x1e2)](_0x660931);_0xcb7364[_0x1ba5c5(0x14d)]&&(clearTimeout(_0xcb7364[_0x1ba5c5(0x14d)]),_0xcb7364[_0x1ba5c5(0x14d)]=null);if(_0x5b8ac8['ok']===!![]){_0xcb7364[_0x1ba5c5(0x1b8)](_0x5b8ac8['payload']);return;}const _0x30803b=isRecord(_0x5b8ac8[_0x1ba5c5(0x152)])?_0x5b8ac8[_0x1ba5c5(0x152)]:{},_0x5e0b08=typeof _0x30803b['message']===_0x1ba5c5(0x17e)?_0x30803b[_0x1ba5c5(0x179)]:_0x1ba5c5(0x188)+_0x1ba5c5(0x137)+_0x1ba5c5(0x1f2)+_0xcb7364[_0x1ba5c5(0x1ea)];_0xcb7364['reject'](new Error(_0x5e0b08));}[_0x5bf23f(0x168)+_0x5bf23f(0x1a5)](_0x4238a8=0x2ee0){const _0x5dd5fc=_0x5bf23f;if(this[_0x5dd5fc(0x1af)+'d'])return Promise[_0x5dd5fc(0x1b8)]();if(!this[_0x5dd5fc(0x144)])return Promise['reject'](new Error(_0x5dd5fc(0x188)+_0x5dd5fc(0x1a1)+'t\x20config'+_0x5dd5fc(0x14f)));if(!this['ws'])this[_0x5dd5fc(0x1a6)]();return new Promise((_0x3acdd1,_0x5b6d84)=>{const _0x139589=_0x5dd5fc,_0x27500e=setTimeout(()=>{const _0x35216e=_0x22e2;this['readyWai'+_0x35216e(0x15e)]=this['readyWai'+_0x35216e(0x15e)][_0x35216e(0x19a)](_0x488b32=>_0x488b32[_0x35216e(0x1b8)]!==_0x3acdd1),_0x5b6d84(new Error(_0x35216e(0x188)+_0x35216e(0x1d0)+_0x35216e(0x172)+'med\x20out'));},_0x4238a8);this[_0x139589(0x142)+_0x139589(0x15e)][_0x139589(0x190)]({'resolve':_0x3acdd1,'reject':_0x5b6d84,'timeout':_0x27500e});});}[_0x5bf23f(0x164)+'eadyWait'+_0x5bf23f(0x1d4)](){const _0xa2521=_0x5bf23f,_0x5da11e=[...this['readyWai'+'ters']];this[_0xa2521(0x142)+_0xa2521(0x15e)]=[];for(const _0x421458 of _0x5da11e){clearTimeout(_0x421458[_0xa2521(0x14d)]),_0x421458[_0xa2521(0x1b8)]();}}[_0x5bf23f(0x1ef)+_0x5bf23f(0x1bf)+'rs'](_0x432d6a){const _0x47522e=_0x5bf23f,_0x28d1ff=[...this['readyWai'+_0x47522e(0x15e)]];this[_0x47522e(0x142)+_0x47522e(0x15e)]=[];for(const _0x258f63 of _0x28d1ff){clearTimeout(_0x258f63[_0x47522e(0x14d)]),_0x258f63['reject'](_0x432d6a);}}[_0x5bf23f(0x1c3)+_0x5bf23f(0x198)](_0x392cbb){const _0x325579=_0x5bf23f;for(const [_0x36d79f,_0xe233a9]of this[_0x325579(0x1ce)]['entries']()){this[_0x325579(0x1ce)][_0x325579(0x1e2)](_0x36d79f),_0xe233a9[_0x325579(0x14d)]&&(clearTimeout(_0xe233a9[_0x325579(0x14d)]),_0xe233a9[_0x325579(0x14d)]=null),_0xe233a9['reject'](_0x392cbb);}}[_0x5bf23f(0x1f4)+_0x5bf23f(0x17c)](_0x2a17da){const _0x3fc5d4=_0x5bf23f;this['ws']&&(this['ws'][_0x3fc5d4(0x17a)+_0x3fc5d4(0x1ae)+'rs'](),this['ws']=null);this[_0x3fc5d4(0x1af)+'d']=![],this['connectN'+_0x3fc5d4(0x1d8)]=null,this[_0x3fc5d4(0x1b7)+_0x3fc5d4(0x1e5)]=![],this[_0x3fc5d4(0x1c3)+_0x3fc5d4(0x198)](new Error(_0x2a17da||_0x3fc5d4(0x188)+_0x3fc5d4(0x1ad)+'nnected')),this['rejectRe'+'adyWaite'+'rs'](new Error(_0x2a17da||_0x3fc5d4(0x188)+_0x3fc5d4(0x1ad)+_0x3fc5d4(0x1c6))),this[_0x3fc5d4(0x162)+_0x3fc5d4(0x1d4)]();if(_0x2a17da)this['config']?.[_0x3fc5d4(0x191)+_0x3fc5d4(0x16b)]?.(_0x2a17da);if(!this[_0x3fc5d4(0x155)+_0x3fc5d4(0x1a6)]||!this[_0x3fc5d4(0x144)])return;const _0xc27d13=this[_0x3fc5d4(0x185)+'tBackoff'+'Ms'];this[_0x3fc5d4(0x185)+_0x3fc5d4(0x1e3)+'Ms']=Math[_0x3fc5d4(0x1d1)](this['reconnec'+'tBackoff'+'Ms']*0x2,0x3a98),this[_0x3fc5d4(0x185)+'tTimer']=setTimeout(()=>{const _0x4fccad=_0x3fc5d4;this['reconnec'+_0x4fccad(0x13a)]=null,this['connect']();},_0xc27d13);}[_0x5bf23f(0x162)+_0x5bf23f(0x1d4)](){const _0x27fd67=_0x5bf23f;this['reconnec'+_0x27fd67(0x13a)]&&(clearTimeout(this[_0x27fd67(0x185)+_0x27fd67(0x13a)]),this[_0x27fd67(0x185)+_0x27fd67(0x13a)]=null),this['connectC'+_0x27fd67(0x1ed)+'Timer']&&(clearTimeout(this[_0x27fd67(0x1a0)+_0x27fd67(0x1ed)+_0x27fd67(0x1d7)]),this[_0x27fd67(0x1a0)+_0x27fd67(0x1ed)+'Timer']=null);}}
|
package/dist/src/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x40b15d,_0x4249b6){var _0x3366e2=_0x587e,_0x322c36=_0x40b15d();while(!![]){try{var _0x4e876e=-parseInt(_0x3366e2(0x10d))/0x1*(-parseInt(_0x3366e2(0x107))/0x2)+-parseInt(_0x3366e2(0x10c))/0x3*(parseInt(_0x3366e2(0x10f))/0x4)+parseInt(_0x3366e2(0x109))/0x5*(-parseInt(_0x3366e2(0x110))/0x6)+parseInt(_0x3366e2(0x10e))/0x7*(parseInt(_0x3366e2(0x10a))/0x8)+-parseInt(_0x3366e2(0x10b))/0x9+-parseInt(_0x3366e2(0x108))/0xa+parseInt(_0x3366e2(0x106))/0xb;if(_0x4e876e===_0x4249b6)break;else _0x322c36['push'](_0x322c36['shift']());}catch(_0x52c58d){_0x322c36['push'](_0x322c36['shift']());}}}(_0x23d5,0x99fb6));export{ensureOpenClawDoctorFixed,loadRuntimeInfo,prepareRuntime,runClawOnce,spawnClaw}from'./runtime.mjs';function _0x587e(_0x1da05a,_0x2a77e2){_0x1da05a=_0x1da05a-0x106;var _0x23d5c8=_0x23d5();var _0x587ea7=_0x23d5c8[_0x1da05a];return _0x587ea7;}function _0x23d5(){var _0x3ca475=['9870520HWoRBQ','30OvgUQe','160itQXru','9072423vZWRjn','589497Lmyreg','82955ZIhxIb','323827ONBxCY','12hDHAjh','1109466eELhgu','25532507eclDTL','26BfBHTk'];_0x23d5=function(){return _0x3ca475;};return _0x23d5();}export{createConfigController}from'./config-controller.mjs';export{createGatewayController}from'./gateway-controller.mjs';
|
package/dist/src/logging.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x39de26=_0x1491;(function(_0x588c57,_0x324036){const _0x16279f=_0x1491,_0x85bb23=_0x588c57();while(!![]){try{const _0x1e69ad=parseInt(_0x16279f(0x15d))/0x1*(-parseInt(_0x16279f(0x160))/0x2)+parseInt(_0x16279f(0x15b))/0x3+-parseInt(_0x16279f(0x164))/0x4+-parseInt(_0x16279f(0x182))/0x5+parseInt(_0x16279f(0x17e))/0x6+-parseInt(_0x16279f(0x15c))/0x7+parseInt(_0x16279f(0x153))/0x8;if(_0x1e69ad===_0x324036)break;else _0x85bb23['push'](_0x85bb23['shift']());}catch(_0x1bf3fb){_0x85bb23['push'](_0x85bb23['shift']());}}}(_0x2bc7,0x5159c));import{createHash}from'node:crypto';import{spawn}from'node:child_process';import{existsSync}from'node:fs';import{cp,mkdir,rm}from'node:fs/promises';import{homedir,tmpdir}from'node:os';import{basename,dirname,isAbsolute,join,relative,resolve}from'node:path';import{createFileLogger,redactLogValue}from'@wujie-shell/logger';const LOG_MAX_BYTES=0x2*0x400*0x400,LOG_KEEP_COUNT=0x5,loggers=new Map(),CONTENT_PREVIEW_LENGTH=0xf0;export function createShellLogger(_0x1eb52b,_0x48319c,_0xc5f90c=_0x48319c){const _0x2afc65=_0x1491,_0x2955ff=_0x1eb52b?.['logsDir'];if(!_0x2955ff||!_0x48319c)return null;const _0x5b70f4=join(_0x2955ff,_0x48319c,_0x48319c+'.log'),_0x886f0c=_0x5b70f4+':'+_0xc5f90c;return!loggers[_0x2afc65(0x185)](_0x886f0c)&&loggers['set'](_0x886f0c,createFileLogger({'filePath':_0x5b70f4,'context':_0xc5f90c,'maxBytes':LOG_MAX_BYTES,'keepCount':LOG_KEEP_COUNT})),loggers['get'](_0x886f0c);}function _0x2bc7(){const _0xefc3c7=['ot\x20found','textPrev','...','Object','name','env','zip','add','object','[Circula','pipe','stack','error','message','wujie-sh','\x20-Destin','pid','join','digest','9132256fZHtCo','dev','win32','entlyCon','nce=\x27Sil','length','ignore','toString','911526BKrehn','1765876HOOLWJ','44322VMFUQE','sPrefere','ectory\x20n','16CuLWWo','maxDepth','powershe','platform','198516fxXfQS','-Archive','includes','ing','with\x20cod','tinue\x27;','\x20failed\x20','map','isArray','.zip','base64','startsWi','Compress','cwd','data','close','-NoProfi','slice','array','ell-logs','string','Command','\x20-Path\x20','replace','from','catch','129618RkkjnE','filter','stringif','logs\x20dir','2386460AVYBRk','Array','trim','has'];_0x2bc7=function(){return _0xefc3c7;};return _0x2bc7();}function _0x1491(_0x31c962,_0x500b2b){_0x31c962=_0x31c962-0x143;const _0x2bc71f=_0x2bc7();let _0x1491fe=_0x2bc71f[_0x31c962];return _0x1491fe;}export function toHomePath(_0x445766){const _0x4ec5c5=_0x1491,_0x6e7fa=typeof _0x445766===_0x4ec5c5(0x178)?_0x445766:'';if(!_0x6e7fa)return'';const _0x1e3bbc=homedir(),_0x58639a=isAbsolute(_0x6e7fa)?_0x6e7fa:resolve(_0x6e7fa),_0x4ab815=relative(_0x1e3bbc,_0x58639a);if(!_0x4ab815||!_0x4ab815[_0x4ec5c5(0x16f)+'th']('..')&&!isAbsolute(_0x4ab815))return _0x4ab815?'~/'+_0x4ab815:'~';return _0x58639a;}export function hashText(_0x56ad6b){const _0x26835a=_0x1491;return createHash('sha256')['update'](String(_0x56ad6b))[_0x26835a(0x152)]('hex')[_0x26835a(0x175)](0x0,0x10);}export function truncateText(_0x2497b1,_0x39dfc7=CONTENT_PREVIEW_LENGTH){const _0x4f0e49=_0x1491,_0x1fbb50=String(_0x2497b1??'')[_0x4f0e49(0x17b)](/\s+/g,'\x20')[_0x4f0e49(0x184)]();if(_0x1fbb50[_0x4f0e49(0x158)]<=_0x39dfc7)return _0x1fbb50;return _0x1fbb50['slice'](0x0,_0x39dfc7)+_0x4f0e49(0x188);}export function summarizeText(_0x33fc77,_0x4e2794=CONTENT_PREVIEW_LENGTH){const _0x6cb0f5=_0x1491,_0x354307=String(_0x33fc77??'');return{'length':_0x354307[_0x6cb0f5(0x158)],'hash':hashText(_0x354307),'preview':truncateText(_0x354307,_0x4e2794),'truncated':_0x354307['length']>_0x4e2794};}export function summarizeError(_0xde5470){const _0x5840a9=_0x1491;if(_0xde5470 instanceof Error)return{'name':_0xde5470[_0x5840a9(0x144)],'message':_0xde5470[_0x5840a9(0x14d)],'stack':_0xde5470[_0x5840a9(0x14b)]};return{'message':String(_0xde5470)};}function summarizePathValue(_0xa01860){const _0x46717d=_0x1491;if(typeof _0xa01860!==_0x46717d(0x178))return _0xa01860;if(_0xa01860[_0x46717d(0x166)]('/')||_0xa01860['includes']('\x5c'))return toHomePath(_0xa01860);return _0xa01860;}export function summarizePayload(_0x1b76a9,_0x4c3b3f={}){const _0x11c50d=_0x1491,_0x48baae=_0x4c3b3f[_0x11c50d(0x161)]??0x4,_0x21b695=new WeakSet();function _0x277c9d(_0x1bd853,_0x220f24,_0x485ac1=''){const _0x1cca67=_0x11c50d;if(_0x1bd853==null)return _0x1bd853;if(typeof _0x1bd853==='string'){if(/message|content|prompt|text|body/i['test'](_0x485ac1))return summarizeText(_0x1bd853,_0x4c3b3f[_0x1cca67(0x187)+'iewLengt'+'h']);return summarizePathValue(_0x1bd853);}if(typeof _0x1bd853!==_0x1cca67(0x148))return _0x1bd853;if(_0x1bd853 instanceof Error)return summarizeError(_0x1bd853);if(_0x21b695[_0x1cca67(0x185)](_0x1bd853))return _0x1cca67(0x149)+'r]';if(_0x220f24>=_0x48baae)return'['+(Array[_0x1cca67(0x16c)](_0x1bd853)?_0x1cca67(0x183):_0x1cca67(0x143))+']';_0x21b695[_0x1cca67(0x147)](_0x1bd853);if(Array['isArray'](_0x1bd853))return{'type':_0x1cca67(0x176),'length':_0x1bd853[_0x1cca67(0x158)],'items':_0x1bd853['slice'](0x0,0x5)[_0x1cca67(0x16b)](_0x1191f3=>_0x277c9d(_0x1191f3,_0x220f24+0x1,_0x485ac1)),'truncated':_0x1bd853[_0x1cca67(0x158)]>0x5};const _0x5a8e16={};for(const [_0x416781,_0x43f47e]of Object['entries'](_0x1bd853)){_0x5a8e16[_0x416781]=_0x277c9d(_0x43f47e,_0x220f24+0x1,_0x416781);}return redactLogValue(_0x5a8e16);}return _0x277c9d(_0x1b76a9,0x0);}export function summarizeFilePaths(_0x387867=[]){const _0x1bef66=_0x1491;return(Array[_0x1bef66(0x16c)](_0x387867)?_0x387867:[])[_0x1bef66(0x16b)](_0x1e6224=>String(_0x1e6224||'')[_0x1bef66(0x184)]())[_0x1bef66(0x17f)](Boolean)[_0x1bef66(0x16b)](_0x579b38=>({'path':toHomePath(_0x579b38),'name':basename(_0x579b38)}));}function run(_0x508292,_0x1b25dc,_0x93c194={}){return new Promise((_0x573e91,_0x4a93f6)=>{const _0x56c36f=_0x1491,_0x1963dc=spawn(_0x508292,_0x1b25dc,{'cwd':_0x93c194[_0x56c36f(0x171)],'env':{...process.env,..._0x93c194[_0x56c36f(0x145)]??{}},'stdio':[_0x56c36f(0x159),_0x56c36f(0x14a),_0x56c36f(0x14a)]});let _0x13d622='';_0x1963dc['stderr']?.['on'](_0x56c36f(0x172),_0x5d5069=>{const _0x42edfa=_0x56c36f;_0x13d622+=_0x5d5069[_0x42edfa(0x15a)]();}),_0x1963dc['on'](_0x56c36f(0x14c),_0x4a93f6),_0x1963dc['on'](_0x56c36f(0x173),_0xedf2ea=>{const _0x84c974=_0x56c36f;if(_0xedf2ea===0x0){_0x573e91();return;}_0x4a93f6(new Error(_0x508292+(_0x84c974(0x16a)+_0x84c974(0x168)+'e=')+_0xedf2ea+':\x20'+_0x13d622));});});}export async function exportLogsArchive({logsDir:_0x529f63,targetDir:_0x124bd8,appVersion:appVersion=_0x39de26(0x154)}){const _0x3d3c67=_0x39de26;if(!_0x529f63||!existsSync(_0x529f63))throw new Error(_0x3d3c67(0x181)+_0x3d3c67(0x15f)+_0x3d3c67(0x186)+':\x20'+(_0x529f63||''));const _0x5da693=String(appVersion||_0x3d3c67(0x154))['replace'](/[^A-Za-z0-9._-]/g,'_'),_0x529109=new Date()['toISOStr'+_0x3d3c67(0x167)]()[_0x3d3c67(0x17b)](/[-:]/g,'')[_0x3d3c67(0x17b)](/\..+$/,''),_0x4a5710=_0x124bd8||tmpdir();await mkdir(_0x4a5710,{'recursive':!![]});const _0x3e0b00=join(_0x4a5710,_0x3d3c67(0x14e)+_0x3d3c67(0x177)+'-'+_0x529109+'-'+_0x5da693+_0x3d3c67(0x16d));if(process[_0x3d3c67(0x163)]===_0x3d3c67(0x155)){const _0x13f7f8=join(tmpdir(),_0x3d3c67(0x14e)+'ell-logs'+'-'+process[_0x3d3c67(0x150)]+'-'+Date['now']());await rm(_0x13f7f8,{'recursive':!![],'force':!![]}),await cp(_0x529f63,_0x13f7f8,{'recursive':!![],'force':!![]});try{const _0x31cfae=['$Progres'+_0x3d3c67(0x15e)+_0x3d3c67(0x157)+_0x3d3c67(0x156)+_0x3d3c67(0x169),_0x3d3c67(0x170)+_0x3d3c67(0x165)+_0x3d3c67(0x17a)+JSON[_0x3d3c67(0x180)+'y'](join(_0x13f7f8,'*'))+(_0x3d3c67(0x14f)+'ationPat'+'h\x20')+JSON[_0x3d3c67(0x180)+'y'](_0x3e0b00)+'\x20-Force'][_0x3d3c67(0x151)]('\x20'),_0x5a9443=Buffer[_0x3d3c67(0x17c)](_0x31cfae,'utf16le')[_0x3d3c67(0x15a)](_0x3d3c67(0x16e));await run(_0x3d3c67(0x162)+'ll.exe',[_0x3d3c67(0x174)+'le','-Encoded'+_0x3d3c67(0x179),_0x5a9443]);}finally{await rm(_0x13f7f8,{'recursive':!![],'force':!![]})[_0x3d3c67(0x17d)](()=>{});}}else await run(_0x3d3c67(0x146),['-r',_0x3e0b00,'.'],{'cwd':_0x529f63});return{'ok':!![],'path':_0x3e0b00};}
|
package/dist/src/plugin-sync.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x14ef7c,_0x250906){const _0x2c95ea=_0xb00c,_0x37aa79=_0x14ef7c();while(!![]){try{const _0x5416e4=parseInt(_0x2c95ea(0x1f6))/0x1+parseInt(_0x2c95ea(0x203))/0x2*(-parseInt(_0x2c95ea(0x20a))/0x3)+parseInt(_0x2c95ea(0x206))/0x4*(parseInt(_0x2c95ea(0x1ff))/0x5)+parseInt(_0x2c95ea(0x1f5))/0x6*(-parseInt(_0x2c95ea(0x208))/0x7)+parseInt(_0x2c95ea(0x1f8))/0x8*(-parseInt(_0x2c95ea(0x1fb))/0x9)+-parseInt(_0x2c95ea(0x1fe))/0xa*(parseInt(_0x2c95ea(0x209))/0xb)+parseInt(_0x2c95ea(0x207))/0xc;if(_0x5416e4===_0x250906)break;else _0x37aa79['push'](_0x37aa79['shift']());}catch(_0x2cd728){_0x37aa79['push'](_0x37aa79['shift']());}}}(_0xa99a,0x45753));function _0xb00c(_0x564c83,_0x461582){_0x564c83=_0x564c83-0x1f4;const _0xa99a62=_0xa99a();let _0xb00c4=_0xa99a62[_0x564c83];return _0xb00c4;}function _0xa99a(){const _0x382b7c=['1803212EtRWSw','1443108spFqAS','1141HCVsMy','465289hTEeBb','670938jGiLno','keys','pluginId','2874fTndmq','227414sOyonj','length','172232sxlvLV','has','local','18TDBngZ','disabled','enabled','40VmBLxa','5cIkZnD','entries','allow','installs','2ZpGCox','source','ByDefaul'];_0xa99a=function(){return _0x382b7c;};return _0xa99a();}import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';export function syncRuntimeManifestPlugins(_0x2fcfeb,_0x37dc10,_0xcb4a8={}){const _0x26469a=_0xb00c,_0x55a762=new Set(_0xcb4a8[_0x26469a(0x1fc)+_0x26469a(0x205)+'tPluginI'+'ds']??[]),_0x33c63d={...asRecord(_0x2fcfeb)},_0x2b1135={...asRecord(_0x33c63d[_0x26469a(0x200)])},_0x26172c={...asRecord(_0x33c63d[_0x26469a(0x202)])};let _0x1f32bf=asStringArray(_0x33c63d['allow']),_0x3ae8b9=![];for(const _0x28ae72 of _0x37dc10??[]){const _0x380564=getTrimmedString(_0x28ae72[_0x26469a(0x1f4)]);if(!_0x380564)continue;!(_0x380564 in _0x2b1135)&&(_0x2b1135[_0x380564]={'enabled':!_0x55a762[_0x26469a(0x1f9)](_0x380564)},_0x3ae8b9=!![]);if(asRecord(_0x2b1135[_0x380564])[_0x26469a(0x1fd)]!==![]){const _0x1f8591=dedupeStrings([..._0x1f32bf,_0x380564]);_0x1f8591[_0x26469a(0x1f7)]!==_0x1f32bf[_0x26469a(0x1f7)]&&(_0x1f32bf=_0x1f8591,_0x3ae8b9=!![]);}getTrimmedString(_0x28ae72[_0x26469a(0x204)])===_0x26469a(0x1fa)&&_0x380564 in _0x26172c&&(delete _0x26172c[_0x380564],_0x3ae8b9=!![]);}_0x33c63d[_0x26469a(0x200)]=_0x2b1135,_0x33c63d[_0x26469a(0x201)]=_0x1f32bf;if(Object[_0x26469a(0x20b)](_0x26172c)['length']>0x0)_0x33c63d['installs']=_0x26172c;else delete _0x33c63d[_0x26469a(0x202)];return{'plugins':_0x33c63d,'changed':_0x3ae8b9};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x45e34d=_0xf206;(function(_0x4b884e,_0x5968ff){const _0x32c236=_0xf206,_0x28ec2e=_0x4b884e();while(!![]){try{const _0x1c4c8f=-parseInt(_0x32c236(0x1d6))/0x1+-parseInt(_0x32c236(0x1cc))/0x2+-parseInt(_0x32c236(0x1c4))/0x3*(parseInt(_0x32c236(0x1c5))/0x4)+-parseInt(_0x32c236(0x1d0))/0x5*(-parseInt(_0x32c236(0x1d5))/0x6)+-parseInt(_0x32c236(0x1c7))/0x7*(-parseInt(_0x32c236(0x1bf))/0x8)+parseInt(_0x32c236(0x1cf))/0x9*(-parseInt(_0x32c236(0x1d2))/0xa)+parseInt(_0x32c236(0x1c2))/0xb;if(_0x1c4c8f===_0x5968ff)break;else _0x28ec2e['push'](_0x28ec2e['shift']());}catch(_0x5217a8){_0x28ec2e['push'](_0x28ec2e['shift']());}}}(_0xadcd,0xb85c9));import{join}from'node:path';import{createFileLogger}from'@wujie-shell/logger';const RUNTIME_LOG_MAX_BYTES=0x2*0x400*0x400,RUNTIME_LOG_KEEP_COUNT=0x5,runtimeLoggers=new Map();function _0xadcd(){const _0x598319=['projectR','ion','1036226HCJkyf','ecs','logsDir','198bacqYW','10xufOxi','length','571370NiPhCt','appId','runtime.','79938fnIfjN','1286822hdvHxZ','wujiecla','ath','isArray','installP','skillsDi','workflow','logger','set','resolved','get','skills','sDir','ame','plugins','dataDirN','pluginSp','nodeVers','openclaw','productN','log','2209400zXjZPh','product','wBin','52364521HhpZuB','dAt','6tnxBtw','2492276QHYkNW','has','7qgCtAc','Version','runtime'];_0xadcd=function(){return _0x598319;};return _0xadcd();}export function createRuntimeLogger(_0x358fdf,_0x4eac90=_0x45e34d(0x1c9)){const _0x1cba63=_0x45e34d,_0x41a881=_0x358fdf?.[_0x1cba63(0x1ce)];if(!_0x41a881)return null;const _0xc2bb4d=join(_0x41a881,_0x1cba63(0x1c9),_0x1cba63(0x1d4)+_0x1cba63(0x1be)),_0x2348b5=_0xc2bb4d+':'+_0x4eac90;return!runtimeLoggers[_0x1cba63(0x1c6)](_0x2348b5)&&runtimeLoggers[_0x1cba63(0x1de)](_0x2348b5,createFileLogger({'filePath':_0xc2bb4d,'context':_0x4eac90,'maxBytes':RUNTIME_LOG_MAX_BYTES,'keepCount':RUNTIME_LOG_KEEP_COUNT})),runtimeLoggers[_0x1cba63(0x1e0)](_0x2348b5);}function _0xf206(_0x2548d8,_0x412a70){_0x2548d8=_0x2548d8-0x1b9;const _0xadcdb9=_0xadcd();let _0xf206a4=_0xadcdb9[_0x2548d8];return _0xf206a4;}export function summarizeShellConfig(_0x56fa35){const _0x3cbdf0=_0x45e34d;return{'appId':_0x56fa35[_0x3cbdf0(0x1d3)],'productName':_0x56fa35[_0x3cbdf0(0x1bd)+_0x3cbdf0(0x1e3)],'projectRoot':_0x56fa35[_0x3cbdf0(0x1ca)+'oot'],'dataDir':_0x56fa35['dataDir'],'dataDirName':_0x56fa35[_0x3cbdf0(0x1b9)+_0x3cbdf0(0x1e3)],'logsDirName':_0x56fa35[_0x3cbdf0(0x1dd)]?.['logsDirN'+_0x3cbdf0(0x1e3)],'logsDir':_0x56fa35['logger']?.[_0x3cbdf0(0x1ce)],'openclawVersion':_0x56fa35[_0x3cbdf0(0x1bc)]?.[_0x3cbdf0(0x1bc)+_0x3cbdf0(0x1c8)],'nodeVersion':_0x56fa35['openclaw']?.['nodeVers'+_0x3cbdf0(0x1cb)],'pluginSpecCount':_0x56fa35[_0x3cbdf0(0x1bc)]?.[_0x3cbdf0(0x1ba)+'ecs']?.[_0x3cbdf0(0x1d1)]??0x0,'localPluginCount':_0x56fa35[_0x3cbdf0(0x1bc)]?.[_0x3cbdf0(0x1df)+'LocalPlu'+'ginPaths']?.[_0x3cbdf0(0x1d1)]??0x0,'agentsDir':_0x56fa35[_0x3cbdf0(0x1bc)]?.['agentsDi'+'r'],'skillsDir':_0x56fa35[_0x3cbdf0(0x1bc)]?.[_0x3cbdf0(0x1db)+'r'],'workflowsDir':_0x56fa35[_0x3cbdf0(0x1bc)]?.[_0x3cbdf0(0x1dc)+_0x3cbdf0(0x1e2)]};}export function summarizeRuntimeManifest(_0x3ef995){const _0x170238=_0x45e34d;return{'generatedAt':_0x3ef995?.['generate'+_0x170238(0x1c3)],'openclawVersion':_0x3ef995?.[_0x170238(0x1bc)+_0x170238(0x1c8)],'nodeVersion':_0x3ef995?.[_0x170238(0x1bb)+_0x170238(0x1cb)],'pluginCount':Array[_0x170238(0x1d9)](_0x3ef995?.[_0x170238(0x1e4)])?_0x3ef995['plugins'][_0x170238(0x1d1)]:0x0,'pluginSpecCount':Array[_0x170238(0x1d9)](_0x3ef995?.[_0x170238(0x1ba)+_0x170238(0x1cd)])?_0x3ef995[_0x170238(0x1ba)+'ecs'][_0x170238(0x1d1)]:0x0,'agentsInstallPath':_0x3ef995?.['agents']?.[_0x170238(0x1da)+_0x170238(0x1d8)],'skillsInstallPath':_0x3ef995?.[_0x170238(0x1e1)]?.[_0x170238(0x1da)+_0x170238(0x1d8)],'wujieclawBin':_0x3ef995?.[_0x170238(0x1d7)+_0x170238(0x1c1)],'product':_0x3ef995?.[_0x170238(0x1c0)]};}
|