@wujie-shell/core 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- const _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 _0x1e3867=_0x54c5;(function(_0x25b6e8,_0x3e1caa){const _0xaa47de=_0x54c5,_0x15722e=_0x25b6e8();while(!![]){try{const _0x4fbbe6=-parseInt(_0xaa47de(0x1f5))/0x1+parseInt(_0xaa47de(0x2d0))/0x2*(-parseInt(_0xaa47de(0x2d1))/0x3)+-parseInt(_0xaa47de(0x224))/0x4*(-parseInt(_0xaa47de(0x251))/0x5)+-parseInt(_0xaa47de(0x233))/0x6*(parseInt(_0xaa47de(0x2a2))/0x7)+-parseInt(_0xaa47de(0x2e2))/0x8+-parseInt(_0xaa47de(0x2b8))/0x9+-parseInt(_0xaa47de(0x1f0))/0xa*(-parseInt(_0xaa47de(0x1f1))/0xb);if(_0x4fbbe6===_0x3e1caa)break;else _0x15722e['push'](_0x15722e['shift']());}catch(_0xc84f7){_0x15722e['push'](_0x15722e['shift']());}}}(_0x12c3,0xd789c));import{randomUUID}from'node:crypto';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 _0x58c7af,{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=_0x1e3867(0x1de)+'client',CLIENT_MODE=_0x1e3867(0x1e3),CLIENT_DEVICE_FAMILY=_0x1e3867(0x26f),TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,SESSION_METADATA_FILE=_0x1e3867(0x32f)+'metadata'+_0x1e3867(0x308),SHARED_CONTEXT_FILES=[_0x1e3867(0x22d)+'d',_0x1e3867(0x2ea)+_0x1e3867(0x2c6),'IDENTITY'+_0x1e3867(0x2c0),_0x1e3867(0x2d4)+'d',_0x1e3867(0x2e6),_0x1e3867(0x318),'USER.md'];function nowIso(){const _0x3dc1b8=_0x1e3867;return new Date()['toISOStr'+_0x3dc1b8(0x315)]();}function buildGatewayWsUrl(_0x416513){const _0x27eb31=_0x1e3867;return _0x27eb31(0x335)+_0x27eb31(0x2a1)+_0x416513;}function createInitialStatus(){const _0x119235=_0x1e3867;return{'lifecycle':_0x119235(0x320),'health':'unknown','port':null,'tokenPresent':![],'message':_0x119235(0x2fb)+'stopped','updatedAt':nowIso()};}function extractGatewayMessageText(_0x57e783){const _0x395ad2=_0x1e3867;if(typeof _0x57e783==='string')return _0x57e783;if(!Array[_0x395ad2(0x20e)](_0x57e783))return'';const _0x476caa=[];for(const _0x5725ca of _0x57e783){if(typeof _0x5725ca===_0x395ad2(0x265)){if(_0x5725ca)_0x476caa[_0x395ad2(0x2b4)](_0x5725ca);continue;}const _0x42b0ec=asRecord(_0x5725ca);_0x42b0ec[_0x395ad2(0x311)]==='text'&&typeof _0x42b0ec[_0x395ad2(0x2e4)]===_0x395ad2(0x265)&&_0x42b0ec[_0x395ad2(0x2e4)]&&_0x476caa['push'](_0x42b0ec['text']);}return _0x476caa[_0x395ad2(0x208)]('\x0a');}function extractGatewayChatText(_0x327cf7){const _0x23a1c5=_0x1e3867,_0x12b0b7=asRecord(_0x327cf7);if(typeof _0x12b0b7[_0x23a1c5(0x2e4)]==='string')return _0x12b0b7[_0x23a1c5(0x2e4)];return extractGatewayMessageText(_0x12b0b7[_0x23a1c5(0x212)]);}function _0x12c3(){const _0xbf0d92=['paths','changed','n\x20reques','type','terminal','Timer','kUserQue','ing','[wujie-s','setGatew','TOOLS.md','\x20context','label','message','model','map','agent\x20sk','openclaw','stopped','workspac','defaultI','stall\x20fa','er\x20start','message\x20','process\x20','plugins','kdown','ync\x20fail','led','modelNam',':session','\x20settled','mpleted','session-','websocke','res','text/pla','trim','ove','ws://127','quired','ath','lete\x20req','tHandler','filePath','agents.c','quested','productN','.list','log','image/jp','set','has','splice','unhealth','startedA','deny','agents-r','tatus\x20lo','uested','connecte','cron.run','filter','bundled\x20','nt\x20recei','image/gi','toString','get','image/sv','eys-upda','/ask-use','dly','ginConfi','chat\x20his','llow-unc','ed:\x20','now','flush','patch','gateway','x-ask-us','max','agentId','runtimeR','gateway-','Bin','cron.add','null','ded','backend','nexpecte','delete\x20c','mimeType','emit','ask-user','started','projectR','final','stack','bundled-','deleteTr','once','30YflDfv','16761096LOOUIt','skill\x20in','restartO','restart\x20','1561287DBEZmG','tateDir','port','info','27.0.0.1','eady','ng:\x20','ion/pdf','status','aborted','reate','\x20waiting','ted','writeHea','floor','delete','eam\x20fail','cron.upd','version','join','ntityPat','key','http://1','y\x20shortl','finally','isArray','request','requestI','trimEnd','content','SIGTERM','ndled\x20ag','und','fig','stringif','requeste','er\x20stop\x20','startsWi','entries','warn','chat\x20abo','chat','ing,\x20ple','size','t-stream','agent-ev','[REDACTE','24yGOHCz','chat\x20fai','errorMes','pid','ase','pinnedKe','pinned-k','e\x20update','onfigPat','AGENTS.m','task','ested','ved','slice','ompleted','161562inzTnw','stall\x20co','sessionI','updated','state','t\x20connec','unconfig','textLeng','run','killed','session','health','ion/octe','is\x20requi','running','jobId','.create','c\x20failed','markConf','listen','sage','Version','reconnec','some','chat\x20att','nstall','setSelfO','ensureGa','then','includes','1445740MLTjmZ','er-secre','resolveC','ensureIn','is\x20start','ate','skills\x20s','\x20for\x20WS','cron.rem','answers','tings','skills.s','itialCon','sessions','done','skill\x20de','clear','isFile','utf8','ternally','string','agents.l','ured','unauthor','\x20allocat','figChang','andledIn','elete','Fallback','chat\x20run','desktop','nected','split','Settings','watchCon','headers','behavior','skills.u','by\x20gatew','WorkingD','name','jobId\x20is','SIGKILL','url','lifecycl','eys\x20upda','hell:gat','agents\x20e','chat.sen','fileName','allow','image/','\x20request','ills\x20syn','ey\x20is\x20re','renamed','\x20run\x20--a','dispose','ents\x20syn','achments','stall\x20re','0.1.0','chat.his','tory','kill','stop','file','discover','keys','chat\x20str','spawn\x20re','TED]\x20--p','ame','anscript','destroy','readConf','pdate','ent','resolve','led:\x20','.0.0.1:','98TCWcqN','eam-even','configur','started,','ties','catch','method','text/csv','ist\x20requ','onfigure','n\x20callba','create\x20r','.delete','names','text/mar','peratedM','\x20list\x20co','delta','push','timeout','getModel','agents-u','10065816xFpdhc','stderr','t\x20not\x20fo','base64','setModel','create\x20c','r-questi','skill\x20up','.md','unknown','chat\x20eve','image','ode=','capabili','T.md','invalid\x20','\x20write\x20r','c\x20starte','c\x20comple','skills.i','rt\x20reque','ized','cron.lis','skills','2aMAIvt','3156912VLcIXr','system','parse','MEMORY.m','error','ist','chat-str','equested','provider','answer','sent','exited\x20c','arge:\x20','session\x20','agents','-questio','main','10514072ZfqFiM','--allow-','text','ayRestar','SOUL.md','data','end','deleted','HEARTBEA','image/pn','--token','restarti','resolveS','random','oot','length','odels','nChange','runId','stdout','red','source','applicat','d\x20--toke','g+xml','gateway\x20','settings','limit','\x20signal=','ase\x20retr','tokenPre','ion/json','off','starting','eviceIde','resolveD','--port','exited\x20u','.json','values','sted','sessionK','\x20require','e\x20shared'];_0x12c3=function(){return _0xbf0d92;};return _0x12c3();}function guessMimeType(_0xf60524){const _0x50982a=_0x1e3867,_0x3b87a3=_0xf60524[_0x50982a(0x271)]('.')['pop']()?.['toLowerC'+_0x50982a(0x228)]()??'',_0x5b08e7={'png':_0x50982a(0x2eb)+'g','jpg':_0x50982a(0x1bc)+'eg','jpeg':_0x50982a(0x1bc)+'eg','webp':'image/we'+'bp','gif':_0x50982a(0x1cb)+'f','svg':_0x50982a(0x1ce)+_0x50982a(0x2fa),'pdf':_0x50982a(0x2f8)+_0x50982a(0x1fc),'txt':_0x50982a(0x332)+'in','md':_0x50982a(0x2b0)+_0x50982a(0x328),'json':_0x50982a(0x2f8)+_0x50982a(0x301),'csv':_0x50982a(0x2a9)};return _0x5b08e7[_0x3b87a3]||_0x50982a(0x2f8)+_0x50982a(0x23f)+_0x50982a(0x221);}async function buildAttachments(_0x504e71=[]){const _0x5d5778=_0x1e3867,_0x64fd9=[];for(const _0x7e375d of _0x504e71){const _0x5c52be=getTrimmedString(_0x7e375d);if(!_0x5c52be)continue;const _0x25b0e8=await stat(_0x5c52be);if(!_0x25b0e8[_0x5d5778(0x262)]())continue;if(_0x25b0e8[_0x5d5778(0x220)]>ATTACHMENT_MAX_BYTES)throw new Error('attachme'+'nt\x20too\x20l'+_0x5d5778(0x2dd)+basename(_0x5c52be));const _0x252fda=guessMimeType(_0x5c52be);_0x64fd9[_0x5d5778(0x2b4)]({'type':_0x252fda[_0x5d5778(0x21a)+'th'](_0x5d5778(0x284))?_0x5d5778(0x2c3):_0x5d5778(0x293),'mimeType':_0x252fda,'content':(await readFile(_0x5c52be))[_0x5d5778(0x1cc)](_0x5d5778(0x2bb)),'fileName':basename(_0x5c52be)});}return _0x64fd9;}function buildSessionCreateRequestPayload(_0x44a2b6={}){const _0x168043=_0x1e3867,_0x2777ea={},_0x3d8877=Math[_0x168043(0x2ef)]()[_0x168043(0x1cc)](0x24)[_0x168043(0x231)](0x2,0xf),_0x5db175=getTrimmedString(_0x44a2b6[_0x168043(0x1dc)])||_0x168043(0x2e1),_0x7af600=getTrimmedString(_0x44a2b6[_0x168043(0x20a)])||'agent:'+_0x5db175+(_0x168043(0x32c)+'-')+Date[_0x168043(0x1d6)]();_0x2777ea[_0x168043(0x20a)]=_0x7af600+'-'+_0x3d8877,_0x2777ea[_0x168043(0x1dc)]=_0x5db175;const _0x471cc4=getTrimmedString(_0x44a2b6[_0x168043(0x31a)]);if(_0x471cc4)_0x2777ea[_0x168043(0x31a)]=_0x471cc4+'-'+_0x3d8877;for(const _0xd9b91c of[_0x168043(0x31c),'parentSe'+'ssionKey',_0x168043(0x22e),_0x168043(0x31b)]){const _0x1669f1=getTrimmedString(_0x44a2b6[_0xd9b91c]);if(_0x1669f1)_0x2777ea[_0xd9b91c]=_0x1669f1;}return _0x2777ea;}function parseSessionCreateResult(_0x3f0e8d){const _0x5d6b86=_0x1e3867,_0x540093=asRecord(_0x3f0e8d),_0x1f14e9=asRecord(_0x540093[_0x5d6b86(0x23d)]);return{'ok':!![],'key':getTrimmedString(_0x540093[_0x5d6b86(0x20a)])||getTrimmedString(_0x540093[_0x5d6b86(0x30b)+'ey'])||getTrimmedString(_0x1f14e9[_0x5d6b86(0x20a)])||null,'sessionId':getTrimmedString(_0x540093[_0x5d6b86(0x235)+'d'])||getTrimmedString(_0x1f14e9[_0x5d6b86(0x235)+'d'])||null};}function getSessionKeyFromValue(_0x4525bc){const _0x3f0297=_0x1e3867,_0x3191b2=asRecord(_0x4525bc);return getTrimmedString(_0x3191b2[_0x3f0297(0x30b)+'ey']??_0x3191b2[_0x3f0297(0x20a)]??_0x3191b2['id']);}function createEmptySessionMetadata(){return{'names':{},'pinnedKeys':[]};}async function readSessionMetadata(_0x4856b3){const _0x4c803b=_0x1e3867;try{const _0x525a98=JSON[_0x4c803b(0x2d3)](await readFile(join(_0x4856b3,SESSION_METADATA_FILE),_0x4c803b(0x263))),_0xe83ac0=asRecord(_0x525a98);return{'names':asRecord(_0xe83ac0[_0x4c803b(0x2af)]),'pinnedKeys':Array[_0x4c803b(0x20e)](_0xe83ac0[_0x4c803b(0x229)+'ys'])?_0xe83ac0[_0x4c803b(0x229)+'ys']['filter'](_0x5e5462=>typeof _0x5e5462===_0x4c803b(0x265)&&_0x5e5462[_0x4c803b(0x333)]()):[]};}catch{return createEmptySessionMetadata();}}async function writeSessionMetadata(_0x574506,_0x1e5a3b){await mkdir(_0x574506,{'recursive':!![]}),await writeFile(join(_0x574506,SESSION_METADATA_FILE),JSON['stringif'+'y'](_0x1e5a3b,null,0x2)+'\x0a','utf8');}function applySessionMetadata(_0x503258,_0x2ec747){const _0x3449d8=_0x1e3867,_0x41d2c3=asRecord(_0x503258),_0x4df36a=Array[_0x3449d8(0x20e)](_0x41d2c3[_0x3449d8(0x25e)])?_0x41d2c3['sessions']:[];return{..._0x41d2c3,'pinnedKeys':_0x2ec747[_0x3449d8(0x229)+'ys'],'sessions':_0x4df36a['map'](_0x247ccd=>{const _0x2edb1e=_0x3449d8,_0x60f983=asRecord(_0x247ccd),_0x1cf43f=getSessionKeyFromValue(_0x60f983);if(!_0x1cf43f)return _0x247ccd;const _0x4b70a8=getTrimmedString(_0x2ec747[_0x2edb1e(0x2af)][_0x1cf43f]),_0x40b5b8=_0x2ec747[_0x2edb1e(0x229)+'ys'][_0x2edb1e(0x250)](_0x1cf43f);return{..._0x60f983,..._0x4b70a8?{'name':_0x4b70a8,'displayName':_0x4b70a8,'label':_0x4b70a8}:{},'pinned':_0x40b5b8};})};}function _0x54c5(_0x45e33e,_0x5dce80){_0x45e33e=_0x45e33e-0x1b7;const _0x12c3bb=_0x12c3();let _0x54c501=_0x12c3bb[_0x45e33e];return _0x54c501;}function sanitizeSharedContextPayload(_0x4ecd81){const _0x14cb18=_0x1e3867,_0x2d946a=asRecord(_0x4ecd81),_0x240523={};for(const _0x38b8ee of SHARED_CONTEXT_FILES){if(typeof _0x2d946a[_0x38b8ee]===_0x14cb18(0x265))_0x240523[_0x38b8ee]=_0x2d946a[_0x38b8ee];}return _0x240523;}async function readSharedContext(_0x5a93eb){const _0x237623=_0x1e3867,_0x1c746c={};for(const _0x114ff3 of SHARED_CONTEXT_FILES){try{_0x1c746c[_0x114ff3]=await readFile(join(_0x5a93eb,_0x114ff3),_0x237623(0x263));}catch{_0x1c746c[_0x114ff3]='';}}return _0x1c746c;}async function writeSharedContext(_0x116396,_0x564ac4){const _0x5c4d15=_0x1e3867,_0x332b32=sanitizeSharedContextPayload(_0x564ac4);await mkdir(_0x116396,{'recursive':!![]});for(const [_0xf78e8d,_0x35da59]of Object[_0x5c4d15(0x21b)](_0x332b32)){await writeFile(join(_0x116396,_0xf78e8d),_0x35da59,_0x5c4d15(0x263));}return{'ok':!![],'files':Object[_0x5c4d15(0x295)](_0x332b32)};}function createAskUserQuestionServer({configController:_0x385c33,emit:_0x1ae3f9}){const _0x2774ce=new Map();let _0x1706c0=null,_0x6f8698='',_0x4e196e='';async function _0x3110a1(){const _0x3ad92a=_0x54c5;if(_0x1706c0)return{'callbackUrl':_0x6f8698,'secret':_0x4e196e};_0x4e196e=randomUUID();const _0x1f6ae5=await _0x58c7af({'port':portNumbers(0x332c,0x338f)});return _0x6f8698=_0x3ad92a(0x20b)+_0x3ad92a(0x1f9)+':'+_0x1f6ae5+(_0x3ad92a(0x1d0)+'r-questi'+'on'),_0x1706c0=createServer(async(_0x49066a,_0x4291be)=>{const _0x5cfd2d=_0x3ad92a;if(_0x49066a[_0x5cfd2d(0x2a8)]!=='POST'||_0x49066a[_0x5cfd2d(0x27c)]!==_0x5cfd2d(0x1d0)+_0x5cfd2d(0x2be)+'on'){_0x4291be[_0x5cfd2d(0x202)+'d'](0x194),_0x4291be[_0x5cfd2d(0x2e8)]('not\x20foun'+'d');return;}if(_0x49066a[_0x5cfd2d(0x274)][_0x5cfd2d(0x1da)+_0x5cfd2d(0x252)+'t']!==_0x4e196e){_0x4291be[_0x5cfd2d(0x202)+'d'](0x191),_0x4291be['end'](_0x5cfd2d(0x268)+_0x5cfd2d(0x2cd));return;}let _0x2b4c01='';_0x49066a['on'](_0x5cfd2d(0x2e7),_0x13d841=>{const _0x5f48f6=_0x5cfd2d;_0x2b4c01+=_0x13d841[_0x5f48f6(0x1cc)]();if(_0x2b4c01[_0x5f48f6(0x2f1)]>0x400*0x400)_0x49066a[_0x5f48f6(0x29b)]();}),_0x49066a['on'](_0x5cfd2d(0x2e8),()=>{const _0x492d89=_0x5cfd2d;let _0x4f9de2={};try{_0x4f9de2=JSON[_0x492d89(0x2d3)](_0x2b4c01||'{}');}catch{_0x4291be[_0x492d89(0x202)+'d'](0x190),_0x4291be[_0x492d89(0x2e8)](_0x492d89(0x2c7)+'json');return;}const _0x4ef21a=randomUUID(),_0xe340ef=setTimeout(()=>{const _0x1bc000=_0x492d89;if(!_0x2774ce['has'](_0x4ef21a))return;_0x2774ce[_0x1bc000(0x204)](_0x4ef21a),_0x4291be[_0x1bc000(0x202)+'d'](0xc8,{'content-type':_0x1bc000(0x2f8)+_0x1bc000(0x301)}),_0x4291be[_0x1bc000(0x2e8)](JSON['stringif'+'y']({'behavior':_0x1bc000(0x1c2)}));},0x1d4c0);_0x2774ce[_0x492d89(0x1bd)](_0x4ef21a,{'res':_0x4291be,'timeout':_0xe340ef}),_0x1ae3f9(_0x492d89(0x1e8)+'-questio'+'n',{'requestId':_0x4ef21a,...asRecord(_0x4f9de2)});});}),await new Promise((_0x138da6,_0x4f955f)=>{const _0x51c361=_0x3ad92a;_0x1706c0[_0x51c361(0x1ef)](_0x51c361(0x2d5),_0x4f955f),_0x1706c0[_0x51c361(0x246)](_0x1f6ae5,'127.0.0.'+'1',()=>{const _0x14713d=_0x51c361;_0x1706c0[_0x14713d(0x302)](_0x14713d(0x2d5),_0x4f955f),_0x138da6();});}),await _0x385c33['ensureAs'+_0x3ad92a(0x314)+'stionPlu'+_0x3ad92a(0x1d2)+'g']({'callbackUrl':_0x6f8698,'secret':_0x4e196e}),{'callbackUrl':_0x6f8698,'secret':_0x4e196e};}function _0x173dc5(_0x32aa5e={}){const _0x1d13d1=_0x54c5,_0x344a8d=getTrimmedString(_0x32aa5e['requestI'+'d']);if(!_0x344a8d||!_0x2774ce[_0x1d13d1(0x1be)](_0x344a8d))throw new Error(_0x1d13d1(0x1e8)+_0x1d13d1(0x2e0)+_0x1d13d1(0x310)+_0x1d13d1(0x2ba)+_0x1d13d1(0x215));const _0x1fe6c8=_0x2774ce[_0x1d13d1(0x1cd)](_0x344a8d);return _0x2774ce[_0x1d13d1(0x204)](_0x344a8d),clearTimeout(_0x1fe6c8[_0x1d13d1(0x2b5)]),_0x1fe6c8['res'][_0x1d13d1(0x202)+'d'](0xc8,{'content-type':_0x1d13d1(0x2f8)+_0x1d13d1(0x301)}),_0x1fe6c8[_0x1d13d1(0x331)]['end'](JSON[_0x1d13d1(0x217)+'y']({'behavior':_0x32aa5e[_0x1d13d1(0x275)]===_0x1d13d1(0x1c2)?'deny':_0x1d13d1(0x283),'answers':asRecord(_0x32aa5e[_0x1d13d1(0x25a)])})),{'ok':!![]};}async function _0x200329(){const _0x448cdc=_0x54c5;for(const [_0x221d7b,_0x456842]of _0x2774ce){_0x2774ce[_0x448cdc(0x204)](_0x221d7b),clearTimeout(_0x456842[_0x448cdc(0x2b5)]),_0x456842[_0x448cdc(0x331)][_0x448cdc(0x202)+'d'](0xc8,{'content-type':_0x448cdc(0x2f8)+_0x448cdc(0x301)}),_0x456842['res'][_0x448cdc(0x2e8)](JSON[_0x448cdc(0x217)+'y']({'behavior':_0x448cdc(0x1c2)}));}if(!_0x1706c0)return;await new Promise(_0x24bbef=>_0x1706c0['close'](_0x24bbef)),_0x1706c0=null;}return{'start':_0x3110a1,'answer':_0x173dc5,'stop':_0x200329};}export function createGatewayController({shellConfig:_0x786db6,configController:_0x47455c,appVersion:appVersion=_0x1e3867(0x28e)}){const _0x5cfba5=_0x1e3867,_0x44e9e7=new EventEmitter(),_0x4b7810=new ClawGatewayWsClient(),_0x17b0db=[],_0x705aa=new Map(),_0x461f7b=new Map(),_0xe14cb4=createShellLogger(_0x47455c[_0x5cfba5(0x30e)],_0x5cfba5(0x1d9)),_0x31d3e9=createShellLogger(_0x47455c['paths'],_0x5cfba5(0x21e)),_0x25bddc=createShellLogger(_0x47455c[_0x5cfba5(0x30e)],_0x5cfba5(0x25e)),_0x1e05a2=createShellLogger(_0x47455c[_0x5cfba5(0x30e)],_0x5cfba5(0x2c5)+_0x5cfba5(0x2a6)),_0x4aefbf=createAskUserQuestionServer({'configController':_0x47455c,'emit':(_0x36721c,_0x5b37e5)=>_0x44e9e7['emit'](_0x36721c,_0x5b37e5)});let _0x66c15a=createInitialStatus(),_0x524d71=null,_0x379e3e=null,_0x34b72a=null,_0x50ad64=![],_0x1098c7=![],_0x480081=Promise[_0x5cfba5(0x29f)](),_0x306f3e=null,_0x181f36=0x0;function _0x236bf1(_0x220b2a,_0x3739ed){const _0x53e120=_0x5cfba5;_0x44e9e7[_0x53e120(0x1e7)](_0x220b2a,_0x3739ed);}function _0x2188cc(_0x4944d2,_0x24f5e9){return _0x44e9e7['on'](_0x4944d2,_0x24f5e9),()=>_0x44e9e7['off'](_0x4944d2,_0x24f5e9);}function _0x1ced5f(_0x1cc0d9){const _0x5ae6ad=_0x5cfba5;_0x66c15a={..._0x66c15a,..._0x1cc0d9,'updatedAt':nowIso()},_0x236bf1(_0x5ae6ad(0x1de)+_0x5ae6ad(0x1fd),_0x66c15a);}function _0x4755b1(_0x43ef02,_0x3f7b0b,_0xcb3847={}){const _0x1d4b7c=_0x5cfba5;_0x1ced5f({'lifecycle':_0x43ef02,'message':_0x3f7b0b,..._0xcb3847}),_0x3bdf09(_0x1d4b7c(0x2d2),_0x43ef02['toUpperC'+_0x1d4b7c(0x228)]()+'\x20'+_0x3f7b0b),_0xe14cb4?.['info'](_0x1d4b7c(0x2fb)+'lifecycl'+_0x1d4b7c(0x22b)+'d',{'lifecycle':_0x43ef02,'message':_0x3f7b0b,'status':{'health':_0x66c15a[_0x1d4b7c(0x23e)],'port':_0x66c15a[_0x1d4b7c(0x1f7)],'tokenPresent':_0x66c15a[_0x1d4b7c(0x300)+_0x1d4b7c(0x2db)]},...summarizePayload(_0xcb3847)});}function _0x3bdf09(_0x410731,_0xaa8397){const _0x10eeea=_0x5cfba5,_0x1f7575=String(_0xaa8397??'')[_0x10eeea(0x211)]();if(!_0x1f7575)return;const _0x1ba0ee={'source':_0x410731,'text':_0x1f7575,'timestamp':nowIso()};_0x17b0db['push'](_0x1ba0ee);if(_0x17b0db[_0x10eeea(0x2f1)]>LOG_LIMIT)_0x17b0db[_0x10eeea(0x1bf)](0x0,_0x17b0db['length']-LOG_LIMIT);_0x236bf1(_0x10eeea(0x1de)+_0x10eeea(0x1bb),_0x1ba0ee),_0xe14cb4?.['info'](_0x10eeea(0x2fb)+_0x10eeea(0x1bb),{'source':_0x410731,'text':_0x1f7575});}function _0x189e12(_0x250b4a=0xc8){const _0x14c711=_0x5cfba5;return _0x17b0db['slice'](-Math[_0x14c711(0x1db)](0x1,Math[_0x14c711(0x203)](_0x250b4a)));}function _0x5515ce(){const _0x328359=_0x5cfba5;if(!_0x524d71||_0x66c15a['lifecycl'+'e']!=='running')throw new Error(_0x328359(0x2fb)+_0x328359(0x255)+_0x328359(0x21f)+_0x328359(0x2ff)+_0x328359(0x20c)+'y');}function _0xf7b10f(){const _0x5873ec=_0x5cfba5;return Boolean(_0x524d71&&_0x66c15a[_0x5873ec(0x27d)+'e']===_0x5873ec(0x241));}function _0x26045a(_0x13f566){const _0x4150e8=_0x5cfba5;_0x236bf1(_0x4150e8(0x2d7)+_0x4150e8(0x2a3)+'t',_0x13f566);}function _0x3e35fd(_0x3c4c00){const _0x2cac59=_0x5cfba5,_0xf4e103=_0x705aa[_0x2cac59(0x1cd)](_0x3c4c00);if(!_0xf4e103)return null;_0x705aa['delete'](_0x3c4c00);if(_0xf4e103[_0x2cac59(0x312)+_0x2cac59(0x26d)+_0x2cac59(0x313)])clearTimeout(_0xf4e103['terminal'+_0x2cac59(0x26d)+'Timer']);return _0x461f7b[_0x2cac59(0x204)](_0xf4e103[_0x2cac59(0x30b)+'ey']),_0xf4e103;}function _0x4620b3(_0x19b2c0,_0x3b1434,_0x520f65=''){const _0x390b06=_0x5cfba5,_0x2cfa0a=_0x3e35fd(_0x19b2c0[_0x390b06(0x2f4)]);if(!_0x2cfa0a)return;_0x31d3e9?.[_0x390b06(0x1f8)](_0x390b06(0x26e)+_0x390b06(0x32d),{'requestId':_0x2cfa0a[_0x390b06(0x210)+'d'],'runId':_0x2cfa0a[_0x390b06(0x2f4)],'sessionKey':_0x2cfa0a[_0x390b06(0x30b)+'ey'],'outcome':_0x3b1434,'durationMs':Date[_0x390b06(0x1d6)]()-_0x2cfa0a[_0x390b06(0x1c1)+'t'],'textLength':_0x2cfa0a[_0x390b06(0x23a)+'th'],..._0x520f65?{'message':_0x520f65}:{}}),_0x26045a({'requestId':_0x2cfa0a['requestI'+'d'],'sessionKey':_0x2cfa0a['sessionK'+'ey'],'type':_0x3b1434,..._0x520f65?{'message':_0x520f65}:{}});}function _0x19e1d5(_0x50b814){const _0x14038f=_0x5cfba5;let _0x1b011f=null;for(const _0x505744 of _0x705aa['values']()){if(_0x505744[_0x14038f(0x30b)+'ey']===_0x50b814)_0x1b011f=_0x505744;}return _0x1b011f;}function _0x330091(_0x3a1f98){const _0x2b38a9=_0x5cfba5;if(!_0x3a1f98)return null;for(const _0x5d0722 of _0x705aa['values']()){if(_0x5d0722[_0x2b38a9(0x210)+'d']===_0x3a1f98)return _0x5d0722;}return null;}function _0x2905fe(_0x12eb53,_0x39e354){const _0x3ef9aa=_0x5cfba5;if(_0x39e354[_0x3ef9aa(0x2f1)]<=_0x12eb53[_0x3ef9aa(0x23a)+'th'])return;const _0x2836c1=_0x39e354[_0x3ef9aa(0x231)](_0x12eb53[_0x3ef9aa(0x23a)+'th']);_0x12eb53['textLeng'+'th']=_0x39e354['length'],_0x2836c1&&_0x26045a({'requestId':_0x12eb53[_0x3ef9aa(0x210)+'d'],'sessionKey':_0x12eb53[_0x3ef9aa(0x30b)+'ey'],'type':_0x3ef9aa(0x2b3),'delta':_0x2836c1});}function _0x3eda94(_0xa6903a,_0x804bcd,_0x18f114=''){const _0x1f9bae=_0x5cfba5;if(_0xa6903a[_0x1f9bae(0x312)+_0x1f9bae(0x26d)+_0x1f9bae(0x313)])clearTimeout(_0xa6903a[_0x1f9bae(0x312)+_0x1f9bae(0x26d)+'Timer']);_0xa6903a['terminal'+_0x1f9bae(0x26d)+_0x1f9bae(0x313)]=setTimeout(()=>{const _0x18dcf6=_0x1f9bae,_0x3c4911=_0x705aa[_0x18dcf6(0x1cd)](_0xa6903a['runId']);if(!_0x3c4911)return;_0x4620b3(_0x3c4911,_0x804bcd===_0x18dcf6(0x2d5)?'error':'done',_0x18f114);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x49af1e(_0x35a634){const _0x1bfb6f=_0x5cfba5;for(const _0x4c4b39 of _0x705aa[_0x1bfb6f(0x309)]()){_0x31d3e9?.['warn'](_0x1bfb6f(0x26e)+'\x20failed\x20'+_0x1bfb6f(0x277)+'ay\x20state',{'requestId':_0x4c4b39[_0x1bfb6f(0x210)+'d'],'runId':_0x4c4b39[_0x1bfb6f(0x2f4)],'sessionKey':_0x4c4b39['sessionK'+'ey'],'durationMs':Date[_0x1bfb6f(0x1d6)]()-_0x4c4b39[_0x1bfb6f(0x1c1)+'t'],'reason':_0x35a634}),_0x26045a({'requestId':_0x4c4b39[_0x1bfb6f(0x210)+'d'],'sessionKey':_0x4c4b39[_0x1bfb6f(0x30b)+'ey'],'type':'error','message':_0x35a634});if(_0x4c4b39[_0x1bfb6f(0x312)+_0x1bfb6f(0x26d)+'Timer'])clearTimeout(_0x4c4b39['terminal'+'Fallback'+_0x1bfb6f(0x313)]);}_0x705aa[_0x1bfb6f(0x261)](),_0x461f7b[_0x1bfb6f(0x261)]();}function _0x30d540(_0x4db482){const _0x1c9ef6=_0x5cfba5,_0x2d96ce=getTrimmedString(_0x4db482[_0x1c9ef6(0x2f4)]),_0x4083a1=getTrimmedString(_0x4db482[_0x1c9ef6(0x237)])||_0x1c9ef6(0x236),_0x3b9673=getTrimmedString(_0x4db482[_0x1c9ef6(0x30b)+'ey']),_0x2dfbff=(_0x2d96ce?_0x705aa[_0x1c9ef6(0x1cd)](_0x2d96ce):null)??(_0x3b9673?_0x19e1d5(_0x3b9673):null);if(_0x2d96ce&&_0x3b9673)_0x461f7b[_0x1c9ef6(0x1bd)](_0x3b9673,_0x2d96ce);if(_0x3b9673)_0x236bf1(_0x1c9ef6(0x32f)+_0x1c9ef6(0x236),{'sessionKey':_0x3b9673,'state':_0x4083a1});_0x31d3e9?.[_0x1c9ef6(0x1f8)]('gateway\x20'+_0x1c9ef6(0x2c2)+_0x1c9ef6(0x1ca)+_0x1c9ef6(0x230),{'runId':_0x2d96ce,'sessionKey':_0x3b9673,'state':_0x4083a1,'hasActiveRun':Boolean(_0x2dfbff),'messageText':summarizeText(extractGatewayChatText(_0x4db482['message']),0x78),'errorMessage':getTrimmedString(_0x4db482[_0x1c9ef6(0x226)+_0x1c9ef6(0x247)])});_0x2dfbff&&(_0x4083a1===_0x1c9ef6(0x1eb)||_0x4083a1===_0x1c9ef6(0x1fe)||_0x4083a1===_0x1c9ef6(0x2d5))&&_0x3eda94(_0x2dfbff,_0x4083a1,typeof _0x4db482['errorMes'+'sage']===_0x1c9ef6(0x265)?_0x4db482[_0x1c9ef6(0x226)+'sage']:_0x1c9ef6(0x2fb)+_0x1c9ef6(0x225)+_0x1c9ef6(0x32a));if(!_0x2dfbff)return;if(_0x3b9673&&_0x3b9673!==_0x2dfbff[_0x1c9ef6(0x30b)+'ey'])return;if(_0x4083a1==='delta'){_0x2905fe(_0x2dfbff,extractGatewayChatText(_0x4db482[_0x1c9ef6(0x31b)]));return;}if(_0x4083a1===_0x1c9ef6(0x1eb)||_0x4083a1===_0x1c9ef6(0x1fe)){_0x2905fe(_0x2dfbff,extractGatewayChatText(_0x4db482[_0x1c9ef6(0x31b)])),_0x4620b3(_0x2dfbff,_0x1c9ef6(0x25f));return;}_0x4083a1===_0x1c9ef6(0x2d5)&&_0x4620b3(_0x2dfbff,_0x1c9ef6(0x2d5),typeof _0x4db482[_0x1c9ef6(0x226)+_0x1c9ef6(0x247)]===_0x1c9ef6(0x265)?_0x4db482[_0x1c9ef6(0x226)+'sage']:_0x1c9ef6(0x2fb)+_0x1c9ef6(0x225)+_0x1c9ef6(0x32a));}async function _0xde4cfa(_0x29925d,_0x13a6b8){const _0x3be733=_0x5cfba5;_0x4b7810['configur'+'e']({'url':buildGatewayWsUrl(_0x13a6b8),'token':_0x29925d,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x786db6['productN'+'ame'],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x47455c[_0x3be733(0x305)+_0x3be733(0x304)+_0x3be733(0x209)+'h'](),'onChatEvent':_0x30d540,'onAgentEvent':_0x58d7c=>_0x236bf1(_0x3be733(0x222)+_0x3be733(0x29e),_0x58d7c),'onConnected':async()=>{const _0x4ca62b=_0x3be733;if(!_0x524d71||!_0x34b72a||!_0x379e3e)return;_0xe14cb4?.[_0x4ca62b(0x1f8)](_0x4ca62b(0x2fb)+'websocke'+_0x4ca62b(0x238)+_0x4ca62b(0x201),{'port':_0x34b72a,'pid':_0x524d71[_0x4ca62b(0x227)],'readyMs':_0x181f36?Date[_0x4ca62b(0x1d6)]()-_0x181f36:undefined}),_0x4755b1(_0x4ca62b(0x241),_0x4ca62b(0x2fb)+_0x4ca62b(0x1c6)+'d',{'health':'healthy','port':_0x34b72a,'tokenPresent':!![]});try{await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x786db6[_0x4ca62b(0x1ea)+_0x4ca62b(0x2f0)]))[_0x4ca62b(0x1dd)+_0x4ca62b(0x2f0)],'openclaw',_0x4ca62b(0x2df)),'stateDir':_0x47455c[_0x4ca62b(0x2ee)+_0x4ca62b(0x1f6)](),'listAgents':_0x5d5ecb,'createAgent':_0x31c397=>_0x4b7810['request'](_0x4ca62b(0x1b7)+_0x4ca62b(0x1ff),_0x31c397),'updateAgent':_0x514340=>_0x4b7810[_0x4ca62b(0x20f)]('agents.u'+_0x4ca62b(0x29d),_0x514340),'syncSkills':async({agentIds:_0x355845,mainWorkspace:_0x287c86})=>{const _0x48981c=_0x4ca62b;_0x1e05a2?.[_0x48981c(0x1f8)](_0x48981c(0x1c9)+_0x48981c(0x31e)+_0x48981c(0x286)+_0x48981c(0x2c9)+'d',{'agentIds':_0x355845,'mainWorkspace':toHomePath(_0x287c86)});const _0x2ca13b=dirname(_0x287c86),_0x59fced=await syncBundledAgentSkillsToConfig({'agentIds':_0x355845,'resolveSkillsDir':_0x3c9709=>_0x3c9709===_0x48981c(0x2e1)?join(_0x287c86,_0x48981c(0x2cf)):join(_0x2ca13b,_0x48981c(0x321)+'e-'+_0x3c9709,_0x48981c(0x2cf)),'readConfig':()=>_0x47455c[_0x48981c(0x29c)+'ig'](),'writeConfig':_0xfeec9=>_0x47455c['writeCon'+'fig'](_0xfeec9),'markConfigWriteHandledInternally':()=>_0x47455c[_0x48981c(0x245)+'igWriteH'+_0x48981c(0x26b)+_0x48981c(0x264)]()});_0x306f3e=_0x59fced[_0x48981c(0x294)+'y'],_0x1e05a2?.['info']('bundled\x20'+_0x48981c(0x31e)+_0x48981c(0x286)+_0x48981c(0x2ca)+'ted',{'agentCount':_0x355845[_0x48981c(0x2f1)],'changed':_0x59fced[_0x48981c(0x30f)],'discovery':summarizePayload(_0x59fced[_0x48981c(0x294)+'y'],{'maxDepth':0x3})});}}),_0x1e05a2?.[_0x4ca62b(0x1f8)](_0x4ca62b(0x1c9)+_0x4ca62b(0x280)+'nsured'),_0x236bf1(_0x4ca62b(0x2b7)+'pdated',{'reason':_0x4ca62b(0x1ed)+_0x4ca62b(0x1c3)+_0x4ca62b(0x1fa)});}catch(_0x3a184c){const _0x394dfe=_0x3a184c instanceof Error?_0x3a184c[_0x4ca62b(0x1ec)]||_0x3a184c[_0x4ca62b(0x31b)]:String(_0x3a184c);_0x3bdf09(_0x4ca62b(0x2d2),_0x4ca62b(0x1c9)+'agents\x20s'+_0x4ca62b(0x329)+_0x4ca62b(0x1d5)+_0x394dfe),_0x1e05a2?.['error']('bundled\x20'+'agents\x20s'+_0x4ca62b(0x329)+'ed',{'error':summarizeError(_0x3a184c)}),console[_0x4ca62b(0x2d5)](_0x4ca62b(0x316)+_0x4ca62b(0x27f)+'eway]\x20bu'+_0x4ca62b(0x214)+_0x4ca62b(0x28b)+_0x4ca62b(0x244),_0x3a184c);}},'onDisconnected':_0x6e5bf5=>{const _0x275df4=_0x3be733;_0xe14cb4?.[_0x275df4(0x21c)](_0x275df4(0x2fb)+_0x275df4(0x330)+'t\x20discon'+_0x275df4(0x270),{'reason':_0x6e5bf5}),_0x49af1e(_0x6e5bf5);if(_0x1098c7||!_0x524d71)return;_0x1ced5f({'health':'unknown','message':_0x275df4(0x2fb)+_0x275df4(0x249)+'ting:\x20'+_0x6e5bf5});}});}async function _0x486302(_0x201e63,_0x264946){const _0x4bc678=_0x5cfba5;if(_0x524d71)return;_0x181f36=Date[_0x4bc678(0x1d6)](),_0x4755b1(_0x4bc678(0x303),_0x4bc678(0x2fb)+_0x4bc678(0x303),{'health':'unknown','port':_0x264946,'tokenPresent':!![]});const _0xecd848=['gateway',_0x4bc678(0x23b),_0x4bc678(0x2e3)+_0x4bc678(0x239)+'ured',_0x4bc678(0x2ec),_0x201e63,_0x4bc678(0x306),String(_0x264946)];_0x3bdf09(_0x4bc678(0x2d2),'openclaw'+'\x20gateway'+_0x4bc678(0x289)+_0x4bc678(0x1d4)+_0x4bc678(0x2ab)+_0x4bc678(0x2f9)+'n\x20[REDAC'+_0x4bc678(0x298)+'ort\x20'+_0x264946),_0xe14cb4?.[_0x4bc678(0x1f8)](_0x4bc678(0x2fb)+'process\x20'+_0x4bc678(0x297)+_0x4bc678(0x1b8),{'args':[_0x4bc678(0x1d9),_0x4bc678(0x23b),'--allow-'+_0x4bc678(0x239)+_0x4bc678(0x267),'--token',_0x4bc678(0x223)+'D]',_0x4bc678(0x306),String(_0x264946)],'env':{'OPENCLAW_STATE_DIR':toHomePath(_0x47455c[_0x4bc678(0x2ee)+_0x4bc678(0x1f6)]()),'OPENCLAW_CONFIG_PATH':toHomePath(_0x47455c[_0x4bc678(0x253)+'onfigPat'+'h']())}}),_0x524d71=await spawnClaw(_0x786db6[_0x4bc678(0x1ea)+_0x4bc678(0x2f0)],_0xecd848,{'env':{'OPENCLAW_STATE_DIR':_0x47455c['resolveS'+_0x4bc678(0x1f6)](),'OPENCLAW_CONFIG_PATH':_0x47455c[_0x4bc678(0x253)+_0x4bc678(0x22c)+'h']()}}),_0x379e3e=_0x201e63,_0x34b72a=_0x264946,_0xe14cb4?.[_0x4bc678(0x1f8)](_0x4bc678(0x2fb)+_0x4bc678(0x326)+_0x4bc678(0x1e9),{'pid':_0x524d71[_0x4bc678(0x227)],'port':_0x34b72a}),_0x1ced5f({'health':'unknown','port':_0x34b72a,'tokenPresent':!![],'message':_0x4bc678(0x2fb)+_0x4bc678(0x326)+_0x4bc678(0x2a5)+_0x4bc678(0x200)+_0x4bc678(0x258)}),await _0xde4cfa(_0x201e63,_0x264946);const _0x3c6d3c=createLineBuffer({'trim':!![],'onLine':_0x194964=>_0x3bdf09(_0x4bc678(0x2f5),_0x194964)}),_0x5ed5a1=createLineBuffer({'trim':!![],'onLine':_0x863c3d=>_0x3bdf09(_0x4bc678(0x2b9),_0x863c3d)});_0x524d71[_0x4bc678(0x2f5)]['on'](_0x4bc678(0x2e7),_0x1ce9b9=>{const _0x153400=_0x4bc678;_0x3c6d3c[_0x153400(0x2b4)](_0x1ce9b9['toString']());}),_0x524d71[_0x4bc678(0x2b9)]['on'](_0x4bc678(0x2e7),_0x2fef07=>{_0x5ed5a1['push'](_0x2fef07['toString']());}),_0x524d71['on'](_0x4bc678(0x2d5),_0x2090f5=>{const _0x1b8478=_0x4bc678;_0xe14cb4?.[_0x1b8478(0x2d5)]('gateway\x20'+'process\x20'+'error',{'error':summarizeError(_0x2090f5)}),_0x3bdf09(_0x1b8478(0x2b9),_0x2090f5 instanceof Error?_0x2090f5['stack']||_0x2090f5[_0x1b8478(0x31b)]:String(_0x2090f5));}),_0x524d71['on']('close',(_0x2e60b2,_0x458c97)=>{const _0x2e3299=_0x4bc678;_0x3c6d3c[_0x2e3299(0x1d7)](),_0x5ed5a1[_0x2e3299(0x1d7)](),_0xe14cb4?.['warn']('gateway\x20'+_0x2e3299(0x326)+'closed',{'pid':_0x524d71?.[_0x2e3299(0x227)]??null,'code':_0x2e60b2,'signal':_0x458c97,'uptimeMs':_0x181f36?Date[_0x2e3299(0x1d6)]()-_0x181f36:undefined}),_0x3bdf09(_0x2e3299(0x2d2),_0x2e3299(0x2fb)+_0x2e3299(0x2dc)+_0x2e3299(0x2c4)+(_0x2e60b2??_0x2e3299(0x1e1))+_0x2e3299(0x2fe)+(_0x458c97??_0x2e3299(0x1e1))),_0x524d71=null,_0x379e3e=null,_0x34b72a=null,_0x4b7810['configur'+'e'](null),_0x49af1e(_0x2e3299(0x2fb)+_0x2e3299(0x326)+'exited');if(_0x1098c7){_0x4755b1('stopped',_0x2e3299(0x2fb)+_0x2e3299(0x320),{'health':_0x2e3299(0x2c1),'port':null,'tokenPresent':![]});return;}_0x4755b1(_0x2e3299(0x2d5),_0x2e3299(0x2fb)+_0x2e3299(0x307)+_0x2e3299(0x1e4)+_0x2e3299(0x1d1),{'health':_0x2e3299(0x1c0)+'y','port':null,'tokenPresent':![]});});}async function _0x546793(){const _0x21028f=_0x5cfba5;if(_0x524d71)return;_0x1098c7=![],_0xe14cb4?.[_0x21028f(0x1f8)](_0x21028f(0x2fb)+'controll'+_0x21028f(0x324)+_0x21028f(0x285)+'ed'),await _0x4aefbf['start']()[_0x21028f(0x2a7)](_0x527c76=>{const _0x4f3d7e=_0x21028f;_0x3bdf09(_0x4f3d7e(0x2d2),'ask-user'+'-questio'+_0x4f3d7e(0x2ac)+'ck\x20disab'+_0x4f3d7e(0x2a0)+(_0x527c76 instanceof Error?_0x527c76['message']:String(_0x527c76)));}),await _0x47455c[_0x21028f(0x254)+_0x21028f(0x25d)+_0x21028f(0x216)](),await ensureOpenClawDoctorFixed(_0x786db6,{'runtimeLogger':_0xe14cb4}),_0x47455c[_0x21028f(0x273)+_0x21028f(0x26a)+'es'](),_0x47455c[_0x21028f(0x317)+_0x21028f(0x2e5)+_0x21028f(0x339)](_0x24a15c=>{void _0x391d41(_0x24a15c);});const _0xaa43e8=await _0x47455c[_0x21028f(0x24e)+'tewaySet'+_0x21028f(0x25b)]();_0xe14cb4?.['info'](_0x21028f(0x2fb)+_0x21028f(0x2fc)+_0x21028f(0x269)+'ed',{'port':_0xaa43e8['port'],'tokenPresent':Boolean(_0xaa43e8['token'])}),await _0x486302(_0xaa43e8['token'],_0xaa43e8[_0x21028f(0x1f7)]);}async function _0x1d924a(){const _0x36f157=_0x5cfba5;_0x1098c7=!![],_0xe14cb4?.[_0x36f157(0x1f8)](_0x36f157(0x2fb)+'controll'+_0x36f157(0x219)+_0x36f157(0x218)+'d',{'pid':_0x524d71?.['pid']??null,'port':_0x34b72a}),_0x4b7810[_0x36f157(0x2a4)+'e'](null);if(_0x524d71){const _0x17dc8b=_0x524d71;_0x524d71=null;try{_0x17dc8b[_0x36f157(0x291)](_0x36f157(0x213));}catch{}await new Promise(_0x89333b=>setTimeout(_0x89333b,0x1f4));if(!_0x17dc8b[_0x36f157(0x23c)])try{_0x17dc8b[_0x36f157(0x291)](_0x36f157(0x27b));}catch{}}_0x379e3e=null,_0x34b72a=null,_0x49af1e(_0x36f157(0x2fb)+'stopped'),await _0x4aefbf[_0x36f157(0x292)](),_0x47455c[_0x36f157(0x28a)](),_0x4755b1(_0x36f157(0x320),'gateway\x20'+_0x36f157(0x320),{'health':'unknown','port':null,'tokenPresent':![]}),_0x1098c7=![];}async function _0x391d41(_0x91a546='manual\x20r'+'estart'){const _0x132a10=_0x5cfba5;if(_0x50ad64)return{'ok':!![]};return _0x50ad64=!![],_0xe14cb4?.['info'](_0x132a10(0x2fb)+_0x132a10(0x1f4)+_0x132a10(0x218)+'d',{'reason':_0x91a546}),_0x480081=_0x480081[_0x132a10(0x24f)](async()=>{const _0x460ab5=_0x132a10;_0x4755b1(_0x460ab5(0x2ed)+'ng',_0x460ab5(0x2fb)+_0x460ab5(0x2ed)+_0x460ab5(0x1fb)+_0x91a546,{'health':_0x460ab5(0x2c1)}),await _0x1d924a(),await _0x546793();})[_0x132a10(0x20d)](()=>{_0x50ad64=![];}),await _0x480081,{'ok':!![]};}async function _0x94bc77(){const _0x45b3bc=_0x5cfba5,_0x340d2e=await loadRuntimeInfo(_0x786db6[_0x45b3bc(0x1ea)+_0x45b3bc(0x2f0)]);return{'runtimeRoot':_0x340d2e[_0x45b3bc(0x1dd)+_0x45b3bc(0x2f0)],'openclawVersion':_0x340d2e[_0x45b3bc(0x31f)+_0x45b3bc(0x248)],'openclawWorkingDir':_0x340d2e[_0x45b3bc(0x31f)+_0x45b3bc(0x278)+'ir'],'openclawBin':_0x340d2e[_0x45b3bc(0x31f)+_0x45b3bc(0x1df)],'plugins':_0x340d2e[_0x45b3bc(0x327)][_0x45b3bc(0x31d)](_0x411b3f=>({'pluginId':_0x411b3f['pluginId'],'source':_0x411b3f[_0x45b3bc(0x2f7)],'version':_0x411b3f[_0x45b3bc(0x207)],'installPath':_0x411b3f['installP'+_0x45b3bc(0x337)]})),'configPath':_0x47455c['resolveC'+'onfigPat'+'h'](),'stateDir':_0x47455c['resolveS'+'tateDir'](),'bundledAgentSkillsDiscovery':_0x306f3e};}async function _0x5d5ecb(){const _0x581da6=_0x5cfba5;_0x1e05a2?.[_0x581da6(0x1f8)]('agents\x20l'+_0x581da6(0x2aa)+_0x581da6(0x22f));const _0x5b248a=asRecord(await _0x4b7810['request'](_0x581da6(0x266)+_0x581da6(0x2d6),{})),_0xe66d8c=getTrimmedString(_0x5b248a['defaultI'+'d'])||'main',_0x2c5079=Array[_0x581da6(0x20e)](_0x5b248a[_0x581da6(0x2df)])?[..._0x5b248a[_0x581da6(0x2df)]]:[];return{..._0x5b248a,'defaultId':_0xe66d8c,'agents':_0x2c5079};}async function _0x11e317(){const _0x363323=_0x5cfba5;if(!_0xf7b10f())return{'defaultId':_0x363323(0x2e1),'mainKey':'','scope':'','pending':!![],'agents':[{'id':'main','name':_0x786db6[_0x363323(0x1b9)+_0x363323(0x299)],'workspace':join(_0x47455c[_0x363323(0x2ee)+_0x363323(0x1f6)](),_0x363323(0x321)+'e')}]};const _0x4af52d=await _0x5d5ecb(),_0x3e564a=getTrimmedString(_0x4af52d[_0x363323(0x322)+'d'])||_0x363323(0x2e1),_0x7cb3fe=Array['isArray'](_0x4af52d['agents'])?[..._0x4af52d[_0x363323(0x2df)]]:[];return!_0x7cb3fe[_0x363323(0x24a)](_0x19896d=>asRecord(_0x19896d)['id']===_0x363323(0x2e1))&&_0x7cb3fe['unshift']({'id':_0x363323(0x2e1),'name':_0x786db6[_0x363323(0x1b9)+_0x363323(0x299)],'workspace':join(_0x47455c[_0x363323(0x2ee)+_0x363323(0x1f6)](),_0x363323(0x321)+'e')}),{..._0x4af52d,'defaultId':_0x3e564a,'agents':_0x7cb3fe};}async function _0x56eefc(_0x23d1b4={}){const _0x27e76f=_0x5cfba5;_0x5515ce();const _0x37484d=Date[_0x27e76f(0x1d6)]();_0x25bddc?.['info'](_0x27e76f(0x2de)+_0x27e76f(0x2ad)+'equested',{'payload':summarizePayload(_0x23d1b4)});const _0x315750=await _0x4b7810[_0x27e76f(0x20f)](_0x27e76f(0x25e)+_0x27e76f(0x243),buildSessionCreateRequestPayload(_0x23d1b4)),_0x59d599=parseSessionCreateResult(_0x315750);return _0x25bddc?.[_0x27e76f(0x1f8)](_0x27e76f(0x2de)+_0x27e76f(0x2bd)+_0x27e76f(0x232),{'key':_0x59d599[_0x27e76f(0x20a)],'sessionId':_0x59d599[_0x27e76f(0x235)+'d'],'durationMs':Date[_0x27e76f(0x1d6)]()-_0x37484d}),_0x59d599;}async function _0x4ca959(_0x599774={}){const _0x96193c=_0x5cfba5,_0x450184=await readSessionMetadata(_0x47455c[_0x96193c(0x2ee)+'tateDir']());if(!_0xf7b10f())return{'pending':!![],'sessions':[],'pinnedKeys':_0x450184[_0x96193c(0x229)+'ys']};const _0x3f7f4b=Date[_0x96193c(0x1d6)](),_0x2c760c=Math[_0x96193c(0x1db)](0x1,Math[_0x96193c(0x203)](Number(_0x599774[_0x96193c(0x2fd)])||0x64)),_0x3e08c7={'limit':_0x2c760c,'includeGlobal':!![],'includeUnknown':![]},_0x47ea7e=getTrimmedString(_0x599774['agentId']??'main');if(_0x47ea7e)_0x3e08c7[_0x96193c(0x1dc)]=_0x47ea7e;const _0x5aae1b=applySessionMetadata(await _0x4b7810['request'](_0x96193c(0x25e)+_0x96193c(0x1ba),_0x3e08c7),_0x450184);return _0x25bddc?.[_0x96193c(0x1f8)](_0x96193c(0x25e)+_0x96193c(0x2b2)+_0x96193c(0x32e),{'payload':_0x3e08c7,'count':Array['isArray'](_0x5aae1b[_0x96193c(0x25e)])?_0x5aae1b[_0x96193c(0x25e)][_0x96193c(0x2f1)]:0x0,'durationMs':Date[_0x96193c(0x1d6)]()-_0x3f7f4b}),_0x5aae1b;}async function _0x4eade1(_0x5333af={}){const _0x1b82bb=_0x5cfba5;_0x5515ce();const _0x257bd7=getTrimmedString(_0x5333af[_0x1b82bb(0x30b)+'ey']??_0x5333af[_0x1b82bb(0x20a)]);if(!_0x257bd7)throw new Error(_0x1b82bb(0x30b)+_0x1b82bb(0x287)+_0x1b82bb(0x336));const _0x5ed786=Date['now'](),_0x59ffe4=await _0x4b7810[_0x1b82bb(0x20f)](_0x1b82bb(0x25e)+_0x1b82bb(0x2ae),{'key':_0x257bd7,'deleteTranscript':_0x5333af[_0x1b82bb(0x1ee)+'anscript']!==![],'emitLifecycleHooks':!![]}),_0x2aaa4b=await readSessionMetadata(_0x47455c['resolveS'+_0x1b82bb(0x1f6)]());return delete _0x2aaa4b[_0x1b82bb(0x2af)][_0x257bd7],_0x2aaa4b[_0x1b82bb(0x229)+'ys']=_0x2aaa4b[_0x1b82bb(0x229)+'ys'][_0x1b82bb(0x1c8)](_0x4e7254=>_0x4e7254!==_0x257bd7),await writeSessionMetadata(_0x47455c[_0x1b82bb(0x2ee)+'tateDir'](),_0x2aaa4b),_0x236bf1('session-'+_0x1b82bb(0x236),{'type':_0x1b82bb(0x2e9),'sessionKey':_0x257bd7}),_0x25bddc?.[_0x1b82bb(0x1f8)](_0x1b82bb(0x2de)+_0x1b82bb(0x1e5)+'ompleted',{'sessionKey':_0x257bd7,'deleteTranscript':_0x5333af['deleteTr'+_0x1b82bb(0x29a)]!==![],'durationMs':Date[_0x1b82bb(0x1d6)]()-_0x5ed786}),_0x59ffe4;}async function _0x13bb09(_0x45d3a7={}){const _0x4f8138=_0x5cfba5,_0x36a83c=getTrimmedString(_0x45d3a7[_0x4f8138(0x30b)+'ey']??_0x45d3a7[_0x4f8138(0x20a)]);if(!_0x36a83c)throw new Error(_0x4f8138(0x30b)+_0x4f8138(0x287)+_0x4f8138(0x336));const _0x47a85a=getTrimmedString(_0x45d3a7[_0x4f8138(0x279)]??_0x45d3a7[_0x4f8138(0x31a)]??_0x45d3a7['title']),_0x942550=await readSessionMetadata(_0x47455c['resolveS'+_0x4f8138(0x1f6)]());if(_0x47a85a)_0x942550[_0x4f8138(0x2af)][_0x36a83c]=_0x47a85a;else delete _0x942550[_0x4f8138(0x2af)][_0x36a83c];return await writeSessionMetadata(_0x47455c[_0x4f8138(0x2ee)+_0x4f8138(0x1f6)](),_0x942550),_0x236bf1(_0x4f8138(0x32f)+'updated',{'type':_0x4f8138(0x288),'sessionKey':_0x36a83c,'name':_0x47a85a}),_0x25bddc?.['info']('session\x20'+'rename\x20c'+_0x4f8138(0x232),{'sessionKey':_0x36a83c,'hasName':Boolean(_0x47a85a),'name':_0x47a85a?summarizeText(_0x47a85a,0x50):undefined}),{'ok':!![]};}async function _0x340bbd(){const _0x1b87d0=_0x5cfba5,_0x464e99=await readSessionMetadata(_0x47455c[_0x1b87d0(0x2ee)+_0x1b87d0(0x1f6)]());return _0x464e99[_0x1b87d0(0x229)+'ys'];}async function _0x559635(_0x612fef=[]){const _0xf9304f=_0x5cfba5,_0x117a9f=await readSessionMetadata(_0x47455c['resolveS'+_0xf9304f(0x1f6)]());return _0x117a9f[_0xf9304f(0x229)+'ys']=Array[_0xf9304f(0x20e)](_0x612fef)?[...new Set(_0x612fef[_0xf9304f(0x31d)](getTrimmedString)[_0xf9304f(0x1c8)](Boolean))]:[],await writeSessionMetadata(_0x47455c['resolveS'+_0xf9304f(0x1f6)](),_0x117a9f),_0x236bf1(_0xf9304f(0x32f)+'updated',{'type':_0xf9304f(0x22a)+_0xf9304f(0x1cf)+_0xf9304f(0x201),'pinnedKeys':_0x117a9f[_0xf9304f(0x229)+'ys']}),_0x25bddc?.[_0xf9304f(0x1f8)](_0xf9304f(0x2de)+'pinned\x20k'+_0xf9304f(0x27e)+'ted',{'count':_0x117a9f[_0xf9304f(0x229)+'ys'][_0xf9304f(0x2f1)]}),{'ok':!![],'pinnedKeys':_0x117a9f[_0xf9304f(0x229)+'ys']};}async function _0x58450d(){const _0x5df05d=_0x5cfba5,_0x327aba=join(_0x47455c['resolveS'+_0x5df05d(0x1f6)](),_0x5df05d(0x321)+'e');return{'path':_0x327aba,'exists':Boolean(await stat(_0x327aba)[_0x5df05d(0x2a7)](()=>null))};}async function _0x3d5e00(){const _0x5a5284=_0x5cfba5;return readSharedContext(join(_0x47455c[_0x5a5284(0x2ee)+_0x5a5284(0x1f6)](),_0x5a5284(0x321)+'e'));}async function _0x11d298(_0x5786b3={}){const _0x56716b=_0x5cfba5;return _0x1e05a2?.[_0x56716b(0x1f8)](_0x56716b(0x321)+_0x56716b(0x30d)+_0x56716b(0x319)+_0x56716b(0x2c8)+_0x56716b(0x2d8),{'files':Object[_0x56716b(0x295)](sanitizeSharedContextPayload(_0x5786b3))}),writeSharedContext(join(_0x47455c[_0x56716b(0x2ee)+'tateDir'](),'workspac'+'e'),_0x5786b3);}async function _0x239f0a(_0x5bbeab={}){const _0x3dd384=_0x5cfba5;return _0x5515ce(),await _0x4b7810[_0x3dd384(0x20f)](_0x3dd384(0x2ce)+'t',_0x5bbeab);}async function _0x55ae8e(_0x36ee0c={}){const _0xf3b983=_0x5cfba5;return _0x5515ce(),await _0x4b7810[_0xf3b983(0x20f)](_0xf3b983(0x1e0),_0x36ee0c);}async function _0x2513b3(_0x1ce035={}){const _0x4f0dcd=_0x5cfba5;_0x5515ce();const _0x154882=getTrimmedString(_0x1ce035[_0x4f0dcd(0x242)]??_0x1ce035['id']);if(!_0x154882)throw new Error(_0x4f0dcd(0x27a)+_0x4f0dcd(0x30c)+'d');const _0x9c6a50=asRecord(_0x1ce035[_0x4f0dcd(0x1d8)]),_0xaa22e1=Object['keys'](_0x9c6a50)['length']>0x0?_0x9c6a50:{..._0x1ce035};return delete _0xaa22e1[_0x4f0dcd(0x242)],delete _0xaa22e1['id'],await _0x4b7810[_0x4f0dcd(0x20f)](_0x4f0dcd(0x206)+_0x4f0dcd(0x256),{'jobId':_0x154882,'patch':_0xaa22e1});}async function _0x33b6b9(_0x26424b={}){const _0x5c4cb5=_0x5cfba5;_0x5515ce();const _0x243ff7=getTrimmedString(_0x26424b[_0x5c4cb5(0x242)]??_0x26424b['id']);if(!_0x243ff7)throw new Error(_0x5c4cb5(0x27a)+_0x5c4cb5(0x30c)+'d');return await _0x4b7810['request'](_0x5c4cb5(0x259)+_0x5c4cb5(0x334),{'jobId':_0x243ff7});}async function _0x446e9c(_0x3b619a={}){const _0x395b0e=_0x5cfba5;_0x5515ce();const _0x1dc91=getTrimmedString(_0x3b619a['jobId']??_0x3b619a['id']);if(!_0x1dc91)throw new Error(_0x395b0e(0x27a)+_0x395b0e(0x30c)+'d');return await _0x4b7810[_0x395b0e(0x20f)](_0x395b0e(0x1c7),{'jobId':_0x1dc91});}async function _0x4d74e7(_0x2d4bf9={}){const _0xd794c8=_0x5cfba5;return _0x5515ce(),await _0x4b7810[_0xd794c8(0x20f)](_0xd794c8(0x1c7)+'s',_0x2d4bf9);}async function _0x3de4af(_0x37aada={}){const _0x3f5c96=_0x5cfba5;_0x5515ce();const _0x1b2968=Date[_0x3f5c96(0x1d6)]();_0x1e05a2?.['info'](_0x3f5c96(0x1f2)+_0x3f5c96(0x28d)+_0x3f5c96(0x1b8),{'payload':summarizePayload(_0x37aada)});try{const _0x241477=await _0x4b7810[_0x3f5c96(0x20f)](_0x3f5c96(0x2cb)+_0x3f5c96(0x24c),_0x37aada);return _0x1e05a2?.['info'](_0x3f5c96(0x1f2)+_0x3f5c96(0x234)+'mpleted',{'durationMs':Date[_0x3f5c96(0x1d6)]()-_0x1b2968,'result':summarizePayload(_0x241477,{'maxDepth':0x2})}),_0x241477;}catch(_0x201396){_0x1e05a2?.[_0x3f5c96(0x2d5)](_0x3f5c96(0x1f2)+_0x3f5c96(0x323)+'iled',{'durationMs':Date[_0x3f5c96(0x1d6)]()-_0x1b2968,'error':summarizeError(_0x201396)});throw _0x201396;}}async function _0x1d0888(_0x3f0cbc={}){const _0x11a1f0=_0x5cfba5;return _0x5515ce(),_0x1e05a2?.[_0x11a1f0(0x1f8)](_0x11a1f0(0x2bf)+'date\x20req'+'uested',{'payload':summarizePayload(_0x3f0cbc)}),await _0x4b7810['request'](_0x11a1f0(0x276)+_0x11a1f0(0x29d),_0x3f0cbc);}async function _0x5b11e7(_0x24d0a6={}){const _0x581393=_0x5cfba5;return _0x5515ce(),_0x1e05a2?.[_0x581393(0x1f8)](_0x581393(0x260)+_0x581393(0x338)+_0x581393(0x1c5),{'payload':summarizePayload(_0x24d0a6)}),await _0x4b7810['request']('skills.d'+_0x581393(0x26c),_0x24d0a6);}async function _0xf38547(_0x8536cc={}){const _0x1b3cff=_0x5cfba5;_0x5515ce();const _0x151b10=getTrimmedString(_0x8536cc['sessionK'+'ey']),_0x4485ce=getTrimmedString(_0x8536cc[_0x1b3cff(0x31b)]),_0x4447b0=getTrimmedString(_0x8536cc[_0x1b3cff(0x210)+'d'])||randomUUID();if(!_0x151b10)throw new Error(_0x1b3cff(0x30b)+_0x1b3cff(0x287)+'quired');if(!_0x4485ce)throw new Error(_0x1b3cff(0x325)+_0x1b3cff(0x240)+_0x1b3cff(0x2f6));const _0x24336c=Date[_0x1b3cff(0x1d6)]();_0x31d3e9?.[_0x1b3cff(0x1f8)](_0x1b3cff(0x296)+'eam\x20requ'+_0x1b3cff(0x22f),{'requestId':_0x4447b0,'sessionKey':_0x151b10,'message':summarizeText(_0x4485ce),'filePaths':summarizeFilePaths(_0x8536cc[_0x1b3cff(0x33a)+'s'])}),_0x26045a({'requestId':_0x4447b0,'sessionKey':_0x151b10,'type':_0x1b3cff(0x1e9)}),_0x705aa[_0x1b3cff(0x1bd)](_0x4447b0,{'runId':_0x4447b0,'requestId':_0x4447b0,'sessionKey':_0x151b10,'textLength':0x0,'startedAt':_0x24336c}),_0x461f7b[_0x1b3cff(0x1bd)](_0x151b10,_0x4447b0);try{const _0x4b52bd=await buildAttachments(Array[_0x1b3cff(0x20e)](_0x8536cc[_0x1b3cff(0x33a)+'s'])?_0x8536cc[_0x1b3cff(0x33a)+'s']:[]);_0x31d3e9?.[_0x1b3cff(0x1f8)](_0x1b3cff(0x24b)+_0x1b3cff(0x28c)+'\x20prepare'+'d',{'requestId':_0x4447b0,'sessionKey':_0x151b10,'attachmentCount':_0x4b52bd[_0x1b3cff(0x2f1)],'attachments':_0x4b52bd[_0x1b3cff(0x31d)](_0x3879fd=>({'type':_0x3879fd[_0x1b3cff(0x311)],'mimeType':_0x3879fd[_0x1b3cff(0x1e6)],'fileName':_0x3879fd[_0x1b3cff(0x282)],'contentLength':_0x3879fd[_0x1b3cff(0x212)][_0x1b3cff(0x2f1)]}))});const _0x2641bc=asRecord(await _0x4b7810[_0x1b3cff(0x20f)](_0x1b3cff(0x281)+'d',{'sessionKey':_0x151b10,'message':_0x4485ce,'deliver':![],'idempotencyKey':_0x4447b0,..._0x4b52bd[_0x1b3cff(0x2f1)]>0x0?{'attachments':_0x4b52bd}:{}})),_0x29a684=getTrimmedString(_0x2641bc[_0x1b3cff(0x2f4)])||_0x4447b0,_0x383529=_0x705aa['get'](_0x4447b0);if(!_0x383529)return{'ok':!![],'requestId':_0x4447b0,'runId':_0x29a684};return _0x29a684!==_0x383529['runId']&&(_0x705aa[_0x1b3cff(0x204)](_0x383529[_0x1b3cff(0x2f4)]),_0x383529[_0x1b3cff(0x2f4)]=_0x29a684,_0x705aa[_0x1b3cff(0x1bd)](_0x29a684,_0x383529)),_0x461f7b['set'](_0x151b10,_0x29a684),_0x31d3e9?.[_0x1b3cff(0x1f8)](_0x1b3cff(0x296)+'eam\x20acce'+'pted\x20by\x20'+_0x1b3cff(0x1d9),{'requestId':_0x4447b0,'runId':_0x29a684,'sessionKey':_0x151b10,'durationMs':Date['now']()-_0x24336c,'status':_0x2641bc['status']}),_0x2641bc[_0x1b3cff(0x1fd)]===_0x1b3cff(0x2d5)&&_0x4620b3(_0x383529,_0x1b3cff(0x2d5),getTrimmedString(_0x2641bc[_0x1b3cff(0x226)+'sage'])||_0x1b3cff(0x2fb)+_0x1b3cff(0x225)+'led'),{'ok':!![],'requestId':_0x4447b0,'runId':_0x29a684,'response':_0x2641bc};}catch(_0xb43317){const _0x307b05=_0x330091(_0x4447b0),_0x2966bc=_0xb43317 instanceof Error?_0xb43317[_0x1b3cff(0x31b)]:String(_0xb43317);_0x31d3e9?.[_0x1b3cff(0x2d5)]('chat\x20str'+_0x1b3cff(0x205)+'ed',{'requestId':_0x4447b0,'sessionKey':_0x151b10,'durationMs':Date[_0x1b3cff(0x1d6)]()-_0x24336c,'error':summarizeError(_0xb43317)});if(_0x307b05)_0x4620b3(_0x307b05,_0x1b3cff(0x2d5),_0x2966bc);else _0x26045a({'requestId':_0x4447b0,'sessionKey':_0x151b10,'type':_0x1b3cff(0x2d5),'message':_0x2966bc});throw _0xb43317;}}async function _0x440a66(_0x1fd01c={}){const _0x159fa3=_0x5cfba5;_0x5515ce();const _0x5340f3=getTrimmedString(_0x1fd01c[_0x159fa3(0x30b)+'ey']);if(!_0x5340f3)throw new Error('sessionK'+'ey\x20is\x20re'+_0x159fa3(0x336));const _0x500dc4=Date[_0x159fa3(0x1d6)](),_0x258586=_0x330091(getTrimmedString(_0x1fd01c['requestI'+'d']))??_0x19e1d5(_0x5340f3),_0x3f7043=_0x461f7b[_0x159fa3(0x1cd)](_0x5340f3),_0x2aa5da={'sessionKey':_0x5340f3};if(_0x258586?.[_0x159fa3(0x2f4)])_0x2aa5da[_0x159fa3(0x2f4)]=_0x258586['runId'];else{if(_0x3f7043)_0x2aa5da[_0x159fa3(0x2f4)]=_0x3f7043;}const _0x3946cb=await _0x4b7810[_0x159fa3(0x20f)]('chat.abo'+'rt',_0x2aa5da);if(_0x258586)_0x4620b3(_0x258586,_0x159fa3(0x25f));return _0x31d3e9?.['info'](_0x159fa3(0x21d)+_0x159fa3(0x2cc)+_0x159fa3(0x30a),{'sessionKey':_0x5340f3,'requestId':getTrimmedString(_0x1fd01c[_0x159fa3(0x210)+'d']),'runId':_0x2aa5da[_0x159fa3(0x2f4)],'durationMs':Date['now']()-_0x500dc4}),_0x3946cb;}async function _0x58f487(_0x1f7ce5={}){const _0x5027d6=_0x5cfba5;_0x5515ce();const _0x2c95d0=getTrimmedString(_0x1f7ce5[_0x5027d6(0x30b)+'ey']);if(!_0x2c95d0)throw new Error(_0x5027d6(0x30b)+'ey\x20is\x20re'+_0x5027d6(0x336));const _0x31d389=await _0x4b7810[_0x5027d6(0x20f)](_0x5027d6(0x28f)+_0x5027d6(0x290),{'sessionKey':_0x2c95d0,'limit':Math[_0x5027d6(0x1db)](0x1,Math[_0x5027d6(0x203)](Number(_0x1f7ce5['limit'])||0xc8))});return _0x31d3e9?.[_0x5027d6(0x1f8)](_0x5027d6(0x1d3)+'tory\x20loa'+_0x5027d6(0x1e2),{'sessionKey':_0x2c95d0,'limit':Math[_0x5027d6(0x1db)](0x1,Math['floor'](Number(_0x1f7ce5[_0x5027d6(0x2fd)])||0xc8)),'result':summarizePayload(_0x31d389,{'maxDepth':0x2})}),_0x31d389;}async function _0x28f0f9(_0x1f5cce=''){const _0x4bab60=_0x5cfba5;if(!_0xf7b10f())return{'pending':!![],'skills':[]};const _0x29ac01=getTrimmedString(_0x1f5cce),_0x57e724=await _0x4b7810['request'](_0x4bab60(0x25c)+'tatus',_0x29ac01?{'agentId':_0x29ac01}:{}),_0x17c3dc=await _0x47455c[_0x4bab60(0x29c)+'ig']()['catch'](()=>({})),_0x58b368=filterSkillsForAgent(_0x57e724,_0x17c3dc,_0x29ac01);return _0x1e05a2?.[_0x4bab60(0x1f8)](_0x4bab60(0x257)+_0x4bab60(0x1c4)+'aded',{'agentId':_0x29ac01||'default','result':summarizePayload(_0x58b368,{'maxDepth':0x2})}),_0x58b368;}return{'on':_0x2188cc,'start':_0x546793,'stop':_0x1d924a,'restart':_0x391d41,'runtimeInfo':_0x94bc77,'getStatus':()=>_0x66c15a,'getRecentLogs':_0x189e12,'answerAskUserQuestion':_0x358ff3=>_0x4aefbf[_0x5cfba5(0x2da)](_0x358ff3),'agents':{'list':_0x11e317},'skills':{'status':_0x28f0f9,'install':_0x3de4af,'update':_0x1d0888,'delete':_0x5b11e7},'sessions':{'create':_0x56eefc,'list':_0x4ca959,'delete':_0x4eade1,'rename':_0x13bb09,'pinnedKeys':_0x340bbd,'setPinnedKeys':_0x559635},'workspace':{'directoryInfo':_0x58450d,'sharedContext':_0x3d5e00,'writeSharedContext':_0x11d298},'cron':{'list':_0x239f0a,'create':_0x55ae8e,'update':_0x2513b3,'remove':_0x33b6b9,'runOnce':_0x446e9c,'logs':_0x4d74e7},'models':{'settings':()=>_0x47455c[_0x5cfba5(0x2b6)+_0x5cfba5(0x272)](),'setSettings':async(_0x15549c={})=>{const _0x36655e=_0x5cfba5,_0x56d949=_0x15549c?.[_0x36655e(0x1f3)+_0x36655e(0x2f3)]!==![];return await _0x47455c[_0x36655e(0x2bc)+_0x36655e(0x272)](_0x15549c,{'restartOnChange':_0x56d949}),_0x47455c[_0x36655e(0x2b6)+_0x36655e(0x272)]();},'setSelfOperatedModels':_0x33aefc=>_0x47455c[_0x5cfba5(0x24d)+_0x5cfba5(0x2b1)+_0x5cfba5(0x2f2)](_0x33aefc),'selectedModelId':async()=>{const _0x28a332=_0x5cfba5,_0x5d8e48=await _0x47455c[_0x28a332(0x2b6)+_0x28a332(0x272)]();return _0x5d8e48[_0x28a332(0x2d9)]&&_0x5d8e48['modelNam'+'e']?_0x5d8e48['provider']+'/'+_0x5d8e48[_0x28a332(0x32b)+'e']:'';},'customModels':async()=>[]},'config':{'read':()=>_0x47455c['readConf'+'ig']()},'chat':{'stream':_0xf38547,'abort':_0x440a66,'history':_0x58f487}};}
@@ -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 _0x27d58d=_0x2c58;(function(_0x39228e,_0x13a89d){const _0x2f02f3=_0x2c58,_0x4e1de3=_0x39228e();while(!![]){try{const _0x245575=parseInt(_0x2f02f3(0x1d6))/0x1*(-parseInt(_0x2f02f3(0x1f6))/0x2)+-parseInt(_0x2f02f3(0x1c0))/0x3+-parseInt(_0x2f02f3(0x1b2))/0x4+parseInt(_0x2f02f3(0x1b6))/0x5+parseInt(_0x2f02f3(0x19a))/0x6*(parseInt(_0x2f02f3(0x185))/0x7)+parseInt(_0x2f02f3(0x1eb))/0x8+-parseInt(_0x2f02f3(0x1e0))/0x9;if(_0x245575===_0x13a89d)break;else _0x4e1de3['push'](_0x4e1de3['shift']());}catch(_0x3377cd){_0x4e1de3['push'](_0x4e1de3['shift']());}}}(_0x6a36,0xc7804));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 _0x1cc090 from'ws';const ED25519_SPKI_PREFIX=Buffer[_0x27d58d(0x1cc)](_0x27d58d(0x18a)+_0x27d58d(0x169)+_0x27d58d(0x1e9),_0x27d58d(0x1a3)),BASE64_PADDING_REGEX=/=+$/g,UPPERCASE_ASCII_REGEX=/[A-Z]/g;function isRecord(_0x951c40){const _0x152aad=_0x27d58d;return Boolean(_0x951c40)&&typeof _0x951c40===_0x152aad(0x19c)&&!Array[_0x152aad(0x16f)](_0x951c40);}function formatUnknownError(_0x5195fe){if(_0x5195fe instanceof Error)return _0x5195fe['message'];return String(_0x5195fe??'');}function isLocalGatewayConnRefused(_0x15768f){const _0x1542bd=_0x27d58d,_0x5032a0=formatUnknownError(_0x15768f);return/\bECONNREFUSED\b/i[_0x1542bd(0x190)](_0x5032a0)&&/127\.0\.0\.1:\d+/['test'](_0x5032a0);}function base64UrlEncode(_0x44e6a0){const _0xff3d99=_0x27d58d;return _0x44e6a0[_0xff3d99(0x1c4)](_0xff3d99(0x1f1))['replaceA'+'ll']('+','-')[_0xff3d99(0x202)+'ll']('/','_')['replace'](BASE64_PADDING_REGEX,'');}function derivePublicKeyRaw(_0x3b0773){const _0x377020=_0x27d58d,_0xbd6514=createPublicKey(_0x3b0773)[_0x377020(0x1d1)]({'type':'spki','format':_0x377020(0x151)}),_0x3f9f84=Buffer['isBuffer'](_0xbd6514)?_0xbd6514:Buffer[_0x377020(0x1cc)](_0xbd6514),_0x4d0b1f=_0x3f9f84[_0x377020(0x14c)]===ED25519_SPKI_PREFIX['length']+0x20&&_0x3f9f84[_0x377020(0x1c5)](0x0,ED25519_SPKI_PREFIX[_0x377020(0x14c)])['equals'](ED25519_SPKI_PREFIX);return _0x4d0b1f?_0x3f9f84[_0x377020(0x1c5)](ED25519_SPKI_PREFIX[_0x377020(0x14c)]):_0x3f9f84;}function fingerprintPublicKey(_0x584bc2){const _0x1dea05=_0x27d58d;return createHash(_0x1dea05(0x1c2))[_0x1dea05(0x1e5)](derivePublicKeyRaw(_0x584bc2))[_0x1dea05(0x1ab)]('hex');}function publicKeyRawBase64UrlFromPem(_0x1da6f1){return base64UrlEncode(derivePublicKeyRaw(_0x1da6f1));}function signDevicePayload(_0x27da24,_0x2d69d7){const _0x358813=_0x27d58d,_0x4e5f94=createPrivateKey(_0x27da24);return base64UrlEncode(sign(null,Buffer[_0x358813(0x1cc)](_0x2d69d7,'utf8'),_0x4e5f94));}function normalizeDeviceMetadataForAuth(_0x2dd631){const _0x12a6f8=_0x27d58d,_0x18e26c=typeof _0x2dd631==='string'?_0x2dd631[_0x12a6f8(0x17a)]():'';if(!_0x18e26c)return'';return _0x18e26c['replace'](UPPERCASE_ASCII_REGEX,_0x252f11=>String[_0x12a6f8(0x1fc)+'Code'](_0x252f11[_0x12a6f8(0x1e8)+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x68b8db){const _0x451943=_0x27d58d;return['v3',_0x68b8db[_0x451943(0x1dc)],_0x68b8db[_0x451943(0x1f3)],_0x68b8db[_0x451943(0x175)+'de'],_0x68b8db['role'],_0x68b8db[_0x451943(0x154)]['join'](','),String(_0x68b8db[_0x451943(0x168)+'Ms']),_0x68b8db[_0x451943(0x1de)]??'',_0x68b8db[_0x451943(0x152)],normalizeDeviceMetadataForAuth(_0x68b8db[_0x451943(0x1a5)]),normalizeDeviceMetadataForAuth(_0x68b8db[_0x451943(0x159)+_0x451943(0x18c)])][_0x451943(0x1bf)]('|');}function writeIdentityFile(_0x4a8e79,_0x199e89,_0x3f7294){mkdirSync(dirname(_0x4a8e79),{'recursive':!![]}),writeFileSync(_0x4a8e79,JSON['stringif'+'y']({'version':0x1,..._0x199e89,'createdAtMs':_0x3f7294},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0x4a8e79,0x180);}catch{}}function generateDeviceIdentity(){const _0xee9bbe=_0x27d58d,{publicKey:_0xd77365,privateKey:_0x433ce8}=generateKeyPairSync(_0xee9bbe(0x1b1)),_0x68b636=_0xd77365[_0xee9bbe(0x1d1)]({'type':'spki','format':_0xee9bbe(0x160)})[_0xee9bbe(0x1c4)](),_0x14f372=_0x433ce8[_0xee9bbe(0x1d1)]({'type':'pkcs8','format':_0xee9bbe(0x160)})[_0xee9bbe(0x1c4)]();return{'deviceId':fingerprintPublicKey(_0x68b636),'publicKeyPem':_0x68b636,'privateKeyPem':_0x14f372};}function loadOrCreateDeviceIdentity(_0x1aa680){const _0x260fbe=_0x27d58d;if(existsSync(_0x1aa680))try{const _0x67a4a7=JSON[_0x260fbe(0x17f)](readFileSync(_0x1aa680,'utf8')),_0x52c468=typeof _0x67a4a7?.[_0x260fbe(0x16b)+_0x260fbe(0x18e)]==='string'?_0x67a4a7[_0x260fbe(0x16b)+'yPem']:'',_0x7ae7e=typeof _0x67a4a7?.['privateK'+_0x260fbe(0x182)]===_0x260fbe(0x153)?_0x67a4a7['privateK'+_0x260fbe(0x182)]:'';if(_0x52c468&&_0x7ae7e){const _0x46b62d={'deviceId':fingerprintPublicKey(_0x52c468),'publicKeyPem':_0x52c468,'privateKeyPem':_0x7ae7e};return _0x67a4a7?.[_0x260fbe(0x1dc)]!==_0x46b62d[_0x260fbe(0x1dc)]&&writeIdentityFile(_0x1aa680,_0x46b62d,Date['now']()),_0x46b62d;}}catch{}const _0x25f0f8=generateDeviceIdentity();return writeIdentityFile(_0x1aa680,_0x25f0f8,Date['now']()),_0x25f0f8;}function _0x6a36(){const _0x5768aa=['set','export','get','gateway\x20','ect','readyWai','408489ilUfwi','ell/','ters','nectChal','hake\x20tim','chat','deviceId','timed\x20ou','token','rsion','6124995HsqamF','sendConn','waitUnti','t\x20restar','ent','update','lListene','clientDi','charCode','70032100','WS\x20error','9342976NPYBds','tTimer','handleDi','reject','sing\x20non','timeoutM','base64','sconnect','clientId','.write','DateTime','2tFqfIf','WS\x20disco','WS\x20close','nected','初始化\x20gate','clearTim','fromChar','entity','failed:\x20','type','ting','OPEN','replaceA','request','WS\x20hands','ssage','length','send','handleMe','Options','hallenge','der','nonce','string','scopes','way\x20设备身份','t:\x20','connect','connect\x20','deviceFa','WS\x20is\x20no','clientVe','restart','.read','privateK','agent','pem','operator','t\x20config','wujie-sh','onConnec','splayNam','expectFi','pending','signedAt','06032b65','status','publicKe','stringif','delete','close','isArray','payload','Format','ction\x20ti','url','removeAl','clientMo','connectC','med\x20out','event','lReady','trim','failed','d\x20(','ble','skipRead','parse','res','\x20yet','eyPem','eadyWait','challeng','5278rWRLwW','resolve','stop','WS\x20conne','clientDe','302a3005','yCheck','mily','onAgentE','yPem','error','test','viceFami','request\x20','rejectRe','timeout','dentity\x20','reconnec','config','g\x20nonce','adyWaite','2514IvUWAL','.approva','object','ed\x20out','ted','connecte','queueCon','shouldRe','connectN','hex','Timer','platform','e\x20missin','device\x20i','tBackoff','failed\x20t','vent','digest','resolveR','rejectPe','accepted','now','nding','ed25519','93160CtiaQu','method','lengeTim','ured','4791060zfNTmC','ers','configur','WS\x20clien','ateway\x20r','Path','o\x20send\x20g','push','equest','join','1537560jiKJTN','o\x20load\x20g','sha256','t\x20stoppe','toString','subarray','identity','hake\x20mis','code=','once','message','readySta','from','onDiscon','connectS','nnected'];_0x6a36=function(){return _0x5768aa;};return _0x6a36();}function _0x2c58(_0xd8cb2f,_0x585e85){_0xd8cb2f=_0xd8cb2f-0x14b;const _0x6a36e1=_0x6a36();let _0x2c58ec=_0x6a36e1[_0xd8cb2f];return _0x2c58ec;}export class ClawGatewayWsClient{['ws']=null;['config']=null;[_0x27d58d(0x167)]=new Map();[_0x27d58d(0x1d5)+'ters']=[];[_0x27d58d(0x1a1)+_0x27d58d(0x157)]=![];[_0x27d58d(0x196)+_0x27d58d(0x1ec)]=null;[_0x27d58d(0x176)+_0x27d58d(0x150)+_0x27d58d(0x1a4)]=null;[_0x27d58d(0x1a2)+'once']=null;[_0x27d58d(0x1ce)+'ent']=![];['connecte'+'d']=![];[_0x27d58d(0x196)+_0x27d58d(0x1a8)+'Ms']=0x320;[_0x27d58d(0x1dc)+_0x27d58d(0x1fd)]=null;[_0x27d58d(0x1b8)+'e'](_0x186103){const _0x7b055b=_0x27d58d;if(!_0x186103){this[_0x7b055b(0x187)]();return;}const _0x53e41a=this[_0x7b055b(0x197)];this[_0x7b055b(0x197)]=_0x186103,this['shouldRe'+_0x7b055b(0x157)]=!![];try{this['deviceId'+'entity']=loadOrCreateDeviceIdentity(_0x186103[_0x7b055b(0x1c6)+'Path']);}catch(_0x1d2d22){const _0x45d28d=_0x1d2d22 instanceof Error?_0x1d2d22['message']:_0x7b055b(0x1fa)+_0x7b055b(0x155)+'失败';this[_0x7b055b(0x187)](),_0x186103[_0x7b055b(0x1cd)+_0x7b055b(0x1f9)](_0x45d28d);return;}const _0x2bdada=!_0x53e41a||_0x53e41a['url']!==_0x186103[_0x7b055b(0x173)]||_0x53e41a[_0x7b055b(0x1de)]!==_0x186103['token']||_0x53e41a[_0x7b055b(0x1f3)]!==_0x186103['clientId']||_0x53e41a[_0x7b055b(0x175)+'de']!==_0x186103[_0x7b055b(0x175)+'de']||_0x53e41a[_0x7b055b(0x15b)+'rsion']!==_0x186103[_0x7b055b(0x15b)+_0x7b055b(0x1df)]||_0x53e41a[_0x7b055b(0x1c6)+_0x7b055b(0x1bb)]!==_0x186103[_0x7b055b(0x1c6)+_0x7b055b(0x1bb)];if(_0x2bdada){this['restart']();return;}if(!this['ws'])this['connect']();}[_0x27d58d(0x187)](){const _0x419eac=_0x27d58d;this[_0x419eac(0x1a1)+_0x419eac(0x157)]=![],this[_0x419eac(0x19f)+'d']=![],this[_0x419eac(0x1a2)+_0x419eac(0x1c9)]=null,this[_0x419eac(0x1ce)+_0x419eac(0x1e4)]=![],this['clearTim'+_0x419eac(0x1b7)](),this[_0x419eac(0x1ad)+_0x419eac(0x1b0)](new Error(_0x419eac(0x1d3)+_0x419eac(0x1b9)+_0x419eac(0x1c3)+'d')),this[_0x419eac(0x193)+'adyWaite'+'rs'](new Error(_0x419eac(0x1d3)+_0x419eac(0x1b9)+'t\x20stoppe'+'d'));if(this['ws']){try{this['ws'][_0x419eac(0x16e)]();}catch{}this['ws']=null;}this[_0x419eac(0x1dc)+_0x419eac(0x1fd)]=null,this[_0x419eac(0x197)]=null;}async['request'](_0x271e84,_0x4a76f0={},_0x4c8298={}){const _0x220c2a=_0x27d58d;if(!_0x4c8298[_0x220c2a(0x17e)+_0x220c2a(0x18b)])await this['waitUnti'+_0x220c2a(0x179)]();const _0xbf7711=this['ws'];if(!_0xbf7711||_0xbf7711['readySta'+'te']!==_0x1cc090['OPEN'])throw new Error(_0x220c2a(0x1d3)+'WS\x20is\x20no'+'t\x20connec'+_0x220c2a(0x19e));const _0x2e7f94=randomUUID(),_0x2aa5e2=_0x4c8298[_0x220c2a(0x1f0)+'s']??0x7530;return await new Promise((_0x4e50b3,_0x3dd612)=>{const _0x32afed=_0x220c2a,_0x372a98=setTimeout(()=>{const _0x5e8151=_0x2c58;this[_0x5e8151(0x167)][_0x5e8151(0x16d)](_0x2e7f94),_0x3dd612(new Error(_0x5e8151(0x1d3)+_0x5e8151(0x192)+_0x5e8151(0x1dd)+_0x5e8151(0x156)+_0x271e84));},_0x2aa5e2);this['pending'][_0x32afed(0x1d0)](_0x2e7f94,{'method':_0x271e84,'resolve':_0x4bee13=>{clearTimeout(_0x372a98),_0x4e50b3(_0x4bee13);},'reject':_0x198f3d=>{clearTimeout(_0x372a98),_0x3dd612(_0x198f3d);},'expectFinal':_0x4c8298[_0x32afed(0x166)+'nal']===!![],'timeout':_0x372a98});try{_0xbf7711[_0x32afed(0x14d)](JSON[_0x32afed(0x16c)+'y']({'type':'req','id':_0x2e7f94,'method':_0x271e84,'params':_0x4a76f0}));}catch(_0x33cb70){this[_0x32afed(0x167)][_0x32afed(0x16d)](_0x2e7f94),clearTimeout(_0x372a98),_0x3dd612(_0x33cb70 instanceof Error?_0x33cb70:new Error('failed\x20t'+_0x32afed(0x1bc)+_0x32afed(0x1ba)+_0x32afed(0x1be)));}});}[_0x27d58d(0x15c)](){const _0xcb3515=_0x27d58d;this[_0xcb3515(0x19f)+'d']=![],this[_0xcb3515(0x1a2)+_0xcb3515(0x1c9)]=null,this[_0xcb3515(0x1ce)+_0xcb3515(0x1e4)]=![],this[_0xcb3515(0x1fb)+_0xcb3515(0x1b7)](),this[_0xcb3515(0x1ad)+_0xcb3515(0x1b0)](new Error(_0xcb3515(0x1d3)+_0xcb3515(0x1b9)+_0xcb3515(0x1e3)+_0xcb3515(0x200))),this[_0xcb3515(0x193)+_0xcb3515(0x199)+'rs'](new Error(_0xcb3515(0x1d3)+_0xcb3515(0x1b9)+_0xcb3515(0x1e3)+_0xcb3515(0x200)));if(this['ws']){try{this['ws']['terminat'+'e']();}catch{}this['ws']=null;}this[_0xcb3515(0x157)]();}[_0x27d58d(0x157)](){const _0x355089=_0x27d58d;if(!this['config']||this['ws'])return;const _0x2237ce=new _0x1cc090(this[_0x355089(0x197)][_0x355089(0x173)]);this['ws']=_0x2237ce,_0x2237ce['on']('open',()=>this[_0x355089(0x1a0)+_0x355089(0x1d9)+_0x355089(0x1b4)+'eout']()),_0x2237ce['on']('message',_0x5a4bce=>this[_0x355089(0x14e)+_0x355089(0x14b)](_0x5a4bce[_0x355089(0x1c4)]())),_0x2237ce['on'](_0x355089(0x16e),(_0x412824,_0x3cd11a)=>{const _0x2c7a19=_0x355089;if(this[_0x2c7a19(0x19f)+'d']){const _0x18f4f3=_0x3cd11a['toString']()||_0x2c7a19(0x1c8)+_0x412824;this[_0x2c7a19(0x1ed)+'sconnect']('gateway\x20'+_0x2c7a19(0x1f8)+_0x2c7a19(0x17c)+_0x18f4f3+')');}else this[_0x2c7a19(0x1ed)+_0x2c7a19(0x1f2)]('');}),_0x2237ce['on'](_0x355089(0x18f),_0x379a37=>{const _0x5d5e5e=_0x355089;if(isLocalGatewayConnRefused(_0x379a37)){this[_0x5d5e5e(0x1ed)+_0x5d5e5e(0x1f2)](_0x5d5e5e(0x1d3)+'is\x20not\x20l'+'istening'+_0x5d5e5e(0x181));return;}const _0x51315e=formatUnknownError(_0x379a37);this['handleDi'+_0x5d5e5e(0x1f2)](_0x51315e?_0x5d5e5e(0x1d3)+_0x5d5e5e(0x1ea)+':\x20'+_0x51315e:_0x5d5e5e(0x1d3)+_0x5d5e5e(0x1ea));});}[_0x27d58d(0x1a0)+_0x27d58d(0x1d9)+'lengeTim'+'eout'](){const _0x3cefdf=_0x27d58d;this[_0x3cefdf(0x1a2)+'once']=null,this[_0x3cefdf(0x1ce)+_0x3cefdf(0x1e4)]=![];if(this[_0x3cefdf(0x176)+_0x3cefdf(0x150)+_0x3cefdf(0x1a4)])clearTimeout(this[_0x3cefdf(0x176)+_0x3cefdf(0x150)+_0x3cefdf(0x1a4)]);this[_0x3cefdf(0x176)+_0x3cefdf(0x150)+_0x3cefdf(0x1a4)]=setTimeout(()=>{const _0x15ef51=_0x3cefdf;if(this['connectS'+_0x15ef51(0x1e4)]||!this['ws']||this['ws'][_0x15ef51(0x1cb)+'te']!==_0x1cc090[_0x15ef51(0x201)])return;this[_0x15ef51(0x1ed)+_0x15ef51(0x1f2)](_0x15ef51(0x1d3)+_0x15ef51(0x204)+_0x15ef51(0x1da)+_0x15ef51(0x19d)),this['ws']?.[_0x15ef51(0x16e)](0x3f0,'connect\x20'+_0x15ef51(0x184)+'e\x20timeou'+'t');},0x7d0);}async['sendConn'+_0x27d58d(0x1d4)](){const _0xc54dc4=_0x27d58d,_0x3c9b68=this['config'];if(!_0x3c9b68||this[_0xc54dc4(0x1ce)+_0xc54dc4(0x1e4)])return;const _0x5a27a1=this[_0xc54dc4(0x1a2)+'once']?.[_0xc54dc4(0x17a)]()??'';if(!_0x5a27a1){this[_0xc54dc4(0x1ed)+_0xc54dc4(0x1f2)]('gateway\x20'+_0xc54dc4(0x204)+_0xc54dc4(0x1c7)+'sing\x20non'+'ce'),this['ws']?.['close'](0x3f0,_0xc54dc4(0x158)+_0xc54dc4(0x184)+_0xc54dc4(0x1a6)+_0xc54dc4(0x198));return;}this[_0xc54dc4(0x1ce)+'ent']=!![];this[_0xc54dc4(0x176)+'hallenge'+_0xc54dc4(0x1a4)]&&(clearTimeout(this[_0xc54dc4(0x176)+_0xc54dc4(0x150)+_0xc54dc4(0x1a4)]),this[_0xc54dc4(0x176)+_0xc54dc4(0x150)+_0xc54dc4(0x1a4)]=null);if(!this[_0xc54dc4(0x1dc)+_0xc54dc4(0x1fd)])try{this[_0xc54dc4(0x1dc)+_0xc54dc4(0x1fd)]=loadOrCreateDeviceIdentity(_0x3c9b68[_0xc54dc4(0x1c6)+_0xc54dc4(0x1bb)]);}catch(_0x399a23){this['handleDi'+'sconnect'](_0x399a23 instanceof Error?_0x399a23[_0xc54dc4(0x1ca)]:_0xc54dc4(0x1a9)+_0xc54dc4(0x1c1)+'ateway\x20i'+'dentity'),this['ws']?.[_0xc54dc4(0x16e)](0x3f0,_0xc54dc4(0x1a7)+_0xc54dc4(0x195)+'unavaila'+_0xc54dc4(0x17d));return;}const _0x66dd6e='operator',_0x1568be=[_0xc54dc4(0x161)+_0xc54dc4(0x15d),_0xc54dc4(0x161)+_0xc54dc4(0x1f4),_0xc54dc4(0x161)+'.admin',_0xc54dc4(0x161)+_0xc54dc4(0x19b)+'ls',_0xc54dc4(0x161)+'.pairing'],_0x44e2ed=_0x3c9b68['token'][_0xc54dc4(0x17a)](),_0x1aa347=Date[_0xc54dc4(0x1af)](),_0x4862c9=buildDeviceAuthPayloadV3({'deviceId':this[_0xc54dc4(0x1dc)+_0xc54dc4(0x1fd)]['deviceId'],'clientId':_0x3c9b68[_0xc54dc4(0x1f3)],'clientMode':_0x3c9b68[_0xc54dc4(0x175)+'de'],'role':_0x66dd6e,'scopes':_0x1568be,'signedAtMs':_0x1aa347,'token':_0x44e2ed||null,'nonce':_0x5a27a1,'platform':process[_0xc54dc4(0x1a5)],'deviceFamily':_0x3c9b68[_0xc54dc4(0x189)+_0xc54dc4(0x191)+'ly']}),_0xc153f7={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0x3c9b68[_0xc54dc4(0x1f3)],'displayName':_0x3c9b68[_0xc54dc4(0x1e7)+_0xc54dc4(0x165)+'e'],'version':_0x3c9b68[_0xc54dc4(0x15b)+_0xc54dc4(0x1df)],'platform':process[_0xc54dc4(0x1a5)],'deviceFamily':_0x3c9b68[_0xc54dc4(0x189)+'viceFami'+'ly'],'mode':_0x3c9b68[_0xc54dc4(0x175)+'de']},'caps':[],'role':_0x66dd6e,'scopes':_0x1568be,'auth':_0x44e2ed?{'token':_0x44e2ed}:undefined,'device':{'id':this[_0xc54dc4(0x1dc)+'entity'][_0xc54dc4(0x1dc)],'publicKey':publicKeyRawBase64UrlFromPem(this[_0xc54dc4(0x1dc)+'entity']['publicKe'+_0xc54dc4(0x18e)]),'signature':signDevicePayload(this[_0xc54dc4(0x1dc)+'entity'][_0xc54dc4(0x15e)+_0xc54dc4(0x182)],_0x4862c9),'signedAt':_0x1aa347,'nonce':_0x5a27a1},'locale':Intl[_0xc54dc4(0x1f5)+_0xc54dc4(0x171)]()['resolved'+_0xc54dc4(0x14f)]()['locale'],'userAgent':_0xc54dc4(0x163)+_0xc54dc4(0x1d7)+_0x3c9b68['clientVe'+_0xc54dc4(0x1df)]};try{await this[_0xc54dc4(0x203)](_0xc54dc4(0x157),_0xc153f7,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this[_0xc54dc4(0x19f)+'d']=!![],this['reconnec'+_0xc54dc4(0x1a8)+'Ms']=0x320,this[_0xc54dc4(0x1ac)+'eadyWait'+'ers'](),this[_0xc54dc4(0x197)]?.[_0xc54dc4(0x164)+_0xc54dc4(0x19e)]?.();}catch(_0x2c3f9e){this['handleDi'+_0xc54dc4(0x1f2)](_0x2c3f9e instanceof Error?_0x2c3f9e[_0xc54dc4(0x1ca)]:_0xc54dc4(0x1d3)+_0xc54dc4(0x188)+'ct\x20faile'+'d'),this['ws']?.['close'](0x3f0,_0xc54dc4(0x158)+_0xc54dc4(0x17b));}}['handleMe'+_0x27d58d(0x14b)](_0x25db3a){const _0x54d025=_0x27d58d;let _0x4f98bc;try{_0x4f98bc=JSON['parse'](_0x25db3a);}catch{return;}if(!isRecord(_0x4f98bc)||typeof _0x4f98bc[_0x54d025(0x1ff)]!==_0x54d025(0x153))return;if(_0x4f98bc['type']===_0x54d025(0x178)){const _0x514b7e=typeof _0x4f98bc[_0x54d025(0x178)]==='string'?_0x4f98bc['event']:'';if(!_0x514b7e)return;const _0x4597d6=isRecord(_0x4f98bc['payload'])?_0x4f98bc['payload']:{};if(_0x514b7e==='connect.'+_0x54d025(0x184)+'e'){const _0x1413d0=typeof _0x4597d6[_0x54d025(0x152)]===_0x54d025(0x153)?_0x4597d6[_0x54d025(0x152)]['trim']():'';if(!_0x1413d0){this[_0x54d025(0x1ed)+_0x54d025(0x1f2)]('gateway\x20'+'WS\x20hands'+_0x54d025(0x1c7)+_0x54d025(0x1ef)+'ce'),this['ws']?.[_0x54d025(0x16e)](0x3f0,'connect\x20'+_0x54d025(0x184)+_0x54d025(0x1a6)+'g\x20nonce');return;}this[_0x54d025(0x1a2)+'once']=_0x1413d0,void this[_0x54d025(0x1e1)+_0x54d025(0x1d4)]();return;}if(_0x514b7e===_0x54d025(0x1db))this[_0x54d025(0x197)]?.['onChatEv'+_0x54d025(0x1e4)]?.(_0x4597d6);if(_0x514b7e===_0x54d025(0x15f))this[_0x54d025(0x197)]?.[_0x54d025(0x18d)+_0x54d025(0x1aa)]?.(_0x4597d6);return;}if(_0x4f98bc[_0x54d025(0x1ff)]!==_0x54d025(0x180))return;const _0x153576=typeof _0x4f98bc['id']===_0x54d025(0x153)?_0x4f98bc['id']:'';if(!_0x153576)return;const _0x5862a2=this['pending'][_0x54d025(0x1d2)](_0x153576);if(!_0x5862a2)return;const _0x1a9b0b=isRecord(_0x4f98bc[_0x54d025(0x170)])?_0x4f98bc[_0x54d025(0x170)]:{},_0x2f4936=typeof _0x1a9b0b[_0x54d025(0x16a)]==='string'?_0x1a9b0b[_0x54d025(0x16a)]:'';if(_0x5862a2[_0x54d025(0x166)+'nal']&&_0x2f4936===_0x54d025(0x1ae))return;this[_0x54d025(0x167)]['delete'](_0x153576);_0x5862a2[_0x54d025(0x194)]&&(clearTimeout(_0x5862a2['timeout']),_0x5862a2[_0x54d025(0x194)]=null);if(_0x4f98bc['ok']===!![]){_0x5862a2[_0x54d025(0x186)](_0x4f98bc['payload']);return;}const _0x1367fb=isRecord(_0x4f98bc[_0x54d025(0x18f)])?_0x4f98bc[_0x54d025(0x18f)]:{},_0x19f6c7=typeof _0x1367fb[_0x54d025(0x1ca)]===_0x54d025(0x153)?_0x1367fb[_0x54d025(0x1ca)]:_0x54d025(0x1d3)+_0x54d025(0x192)+_0x54d025(0x1fe)+_0x5862a2[_0x54d025(0x1b3)];_0x5862a2['reject'](new Error(_0x19f6c7));}[_0x27d58d(0x1e2)+'lReady'](_0x43649f=0x2ee0){const _0x3f9899=_0x27d58d;if(this[_0x3f9899(0x19f)+'d'])return Promise[_0x3f9899(0x186)]();if(!this['config'])return Promise['reject'](new Error('gateway\x20'+_0x3f9899(0x15a)+_0x3f9899(0x162)+_0x3f9899(0x1b5)));if(!this['ws'])this[_0x3f9899(0x157)]();return new Promise((_0x12adcb,_0x14eeb2)=>{const _0x14a27b=_0x3f9899,_0x3fae40=setTimeout(()=>{const _0x596d5f=_0x2c58;this[_0x596d5f(0x1d5)+_0x596d5f(0x1d8)]=this[_0x596d5f(0x1d5)+_0x596d5f(0x1d8)]['filter'](_0x39f7de=>_0x39f7de[_0x596d5f(0x186)]!==_0x12adcb),_0x14eeb2(new Error(_0x596d5f(0x1d3)+'WS\x20conne'+_0x596d5f(0x172)+_0x596d5f(0x177)));},_0x43649f);this[_0x14a27b(0x1d5)+_0x14a27b(0x1d8)][_0x14a27b(0x1bd)]({'resolve':_0x12adcb,'reject':_0x14eeb2,'timeout':_0x3fae40});});}[_0x27d58d(0x1ac)+_0x27d58d(0x183)+'ers'](){const _0x478c78=_0x27d58d,_0x25ba7b=[...this['readyWai'+_0x478c78(0x1d8)]];this[_0x478c78(0x1d5)+_0x478c78(0x1d8)]=[];for(const _0x16b72e of _0x25ba7b){clearTimeout(_0x16b72e[_0x478c78(0x194)]),_0x16b72e[_0x478c78(0x186)]();}}[_0x27d58d(0x193)+_0x27d58d(0x199)+'rs'](_0x568d44){const _0x1ab20b=_0x27d58d,_0x36533a=[...this[_0x1ab20b(0x1d5)+'ters']];this[_0x1ab20b(0x1d5)+_0x1ab20b(0x1d8)]=[];for(const _0x69c004 of _0x36533a){clearTimeout(_0x69c004[_0x1ab20b(0x194)]),_0x69c004['reject'](_0x568d44);}}[_0x27d58d(0x1ad)+_0x27d58d(0x1b0)](_0x779510){const _0x332f12=_0x27d58d;for(const [_0x21862e,_0x187929]of this[_0x332f12(0x167)]['entries']()){this[_0x332f12(0x167)][_0x332f12(0x16d)](_0x21862e),_0x187929[_0x332f12(0x194)]&&(clearTimeout(_0x187929[_0x332f12(0x194)]),_0x187929[_0x332f12(0x194)]=null),_0x187929[_0x332f12(0x1ee)](_0x779510);}}[_0x27d58d(0x1ed)+_0x27d58d(0x1f2)](_0x375370){const _0x1cf9d0=_0x27d58d;this['ws']&&(this['ws'][_0x1cf9d0(0x174)+_0x1cf9d0(0x1e6)+'rs'](),this['ws']=null);this[_0x1cf9d0(0x19f)+'d']=![],this['connectN'+_0x1cf9d0(0x1c9)]=null,this[_0x1cf9d0(0x1ce)+_0x1cf9d0(0x1e4)]=![],this[_0x1cf9d0(0x1ad)+_0x1cf9d0(0x1b0)](new Error(_0x375370||_0x1cf9d0(0x1d3)+_0x1cf9d0(0x1f7)+_0x1cf9d0(0x1cf))),this[_0x1cf9d0(0x193)+_0x1cf9d0(0x199)+'rs'](new Error(_0x375370||'gateway\x20'+_0x1cf9d0(0x1f7)+'nnected')),this['clearTim'+_0x1cf9d0(0x1b7)]();if(_0x375370)this[_0x1cf9d0(0x197)]?.[_0x1cf9d0(0x1cd)+_0x1cf9d0(0x1f9)]?.(_0x375370);if(!this[_0x1cf9d0(0x1a1)+_0x1cf9d0(0x157)]||!this[_0x1cf9d0(0x197)])return;const _0x421506=this[_0x1cf9d0(0x196)+_0x1cf9d0(0x1a8)+'Ms'];this[_0x1cf9d0(0x196)+_0x1cf9d0(0x1a8)+'Ms']=Math['min'](this[_0x1cf9d0(0x196)+'tBackoff'+'Ms']*0x2,0x3a98),this['reconnec'+'tTimer']=setTimeout(()=>{const _0x2f345d=_0x1cf9d0;this[_0x2f345d(0x196)+_0x2f345d(0x1ec)]=null,this[_0x2f345d(0x157)]();},_0x421506);}[_0x27d58d(0x1fb)+_0x27d58d(0x1b7)](){const _0x1acc65=_0x27d58d;this[_0x1acc65(0x196)+_0x1acc65(0x1ec)]&&(clearTimeout(this[_0x1acc65(0x196)+'tTimer']),this['reconnec'+'tTimer']=null),this[_0x1acc65(0x176)+_0x1acc65(0x150)+_0x1acc65(0x1a4)]&&(clearTimeout(this[_0x1acc65(0x176)+_0x1acc65(0x150)+_0x1acc65(0x1a4)]),this['connectC'+_0x1acc65(0x150)+_0x1acc65(0x1a4)]=null);}}
@@ -1 +1 @@
1
- (function(_0x423e20,_0x2f5eaa){var _0x1156dc=_0x13f6,_0x3c5d52=_0x423e20();while(!![]){try{var _0x299caf=parseInt(_0x1156dc(0x112))/0x1*(-parseInt(_0x1156dc(0x110))/0x2)+-parseInt(_0x1156dc(0x10d))/0x3*(-parseInt(_0x1156dc(0x111))/0x4)+-parseInt(_0x1156dc(0x10a))/0x5+parseInt(_0x1156dc(0x10e))/0x6+parseInt(_0x1156dc(0x10f))/0x7*(parseInt(_0x1156dc(0x10b))/0x8)+parseInt(_0x1156dc(0x10c))/0x9*(parseInt(_0x1156dc(0x108))/0xa)+-parseInt(_0x1156dc(0x109))/0xb;if(_0x299caf===_0x2f5eaa)break;else _0x3c5d52['push'](_0x3c5d52['shift']());}catch(_0x1253c8){_0x3c5d52['push'](_0x3c5d52['shift']());}}}(_0x29ca,0x89db9));function _0x29ca(){var _0x1fb0d2=['769844gBvACT','2824OMgYPp','50DFOzdy','3313167PmElyS','3110075LoFobD','8uwIBsx','1773693fyEhax','6hCCNMk','1482930QIltue','5062841ToYkuO','604jbFUPw'];_0x29ca=function(){return _0x1fb0d2;};return _0x29ca();}export{prepareRuntime,loadRuntimeInfo,spawnClaw,runClawOnce}from'./runtime.mjs';function _0x13f6(_0x1981fb,_0x3c72da){_0x1981fb=_0x1981fb-0x108;var _0x29cad8=_0x29ca();var _0x13f6be=_0x29cad8[_0x1981fb];return _0x13f6be;}export{createConfigController}from'./config-controller.mjs';export{createGatewayController}from'./gateway-controller.mjs';
1
+ (function(_0x3b6d3a,_0x4a8ad3){var _0xcd6321=_0x20a9,_0x307f64=_0x3b6d3a();while(!![]){try{var _0x119f86=parseInt(_0xcd6321(0x1b5))/0x1*(-parseInt(_0xcd6321(0x1b7))/0x2)+-parseInt(_0xcd6321(0x1b1))/0x3+-parseInt(_0xcd6321(0x1b4))/0x4*(parseInt(_0xcd6321(0x1b9))/0x5)+-parseInt(_0xcd6321(0x1b3))/0x6*(-parseInt(_0xcd6321(0x1b2))/0x7)+-parseInt(_0xcd6321(0x1ba))/0x8+parseInt(_0xcd6321(0x1b0))/0x9+-parseInt(_0xcd6321(0x1b6))/0xa*(-parseInt(_0xcd6321(0x1b8))/0xb);if(_0x119f86===_0x4a8ad3)break;else _0x307f64['push'](_0x307f64['shift']());}catch(_0x54c923){_0x307f64['push'](_0x307f64['shift']());}}}(_0x2262,0xb68c6));function _0x20a9(_0x42d69b,_0x2e9cad){_0x42d69b=_0x42d69b-0x1b0;var _0x226279=_0x2262();var _0x20a974=_0x226279[_0x42d69b];return _0x20a974;}function _0x2262(){var _0x3e4e35=['6450rtVJsi','6fkjRzw','13343htyFnj','445HzUecK','8387944IeoUyV','10503126XjtgCt','254148EnFwgt','7VUubRH','4618122nJeUlV','19772mjxQmk','132744pjLnES'];_0x2262=function(){return _0x3e4e35;};return _0x2262();}export{ensureOpenClawDoctorFixed,loadRuntimeInfo,prepareRuntime,runClawOnce,spawnClaw}from'./runtime.mjs';export{createConfigController}from'./config-controller.mjs';export{createGatewayController}from'./gateway-controller.mjs';
@@ -1 +1 @@
1
- const _0x5d64b1=_0x5e32;(function(_0x3cbe50,_0x3297cb){const _0xb612df=_0x5e32,_0x30753b=_0x3cbe50();while(!![]){try{const _0x4bacaf=parseInt(_0xb612df(0x9f))/0x1+-parseInt(_0xb612df(0xbf))/0x2*(parseInt(_0xb612df(0xc8))/0x3)+parseInt(_0xb612df(0x8f))/0x4+-parseInt(_0xb612df(0xb1))/0x5+-parseInt(_0xb612df(0xa6))/0x6*(-parseInt(_0xb612df(0xba))/0x7)+-parseInt(_0xb612df(0xa4))/0x8+-parseInt(_0xb612df(0x95))/0x9*(-parseInt(_0xb612df(0xc6))/0xa);if(_0x4bacaf===_0x3297cb)break;else _0x30753b['push'](_0x30753b['shift']());}catch(_0x3181f5){_0x30753b['push'](_0x30753b['shift']());}}}(_0x2f9a,0xdb1ad));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(_0x24ec52,_0x2a22f9,_0x10ac32=_0x2a22f9){const _0x3e629c=_0x5e32,_0xc45824=_0x24ec52?.[_0x3e629c(0xb0)];if(!_0xc45824||!_0x2a22f9)return null;const _0x3916e7=join(_0xc45824,_0x2a22f9,_0x2a22f9+'.log'),_0x3f86dd=_0x3916e7+':'+_0x10ac32;return!loggers[_0x3e629c(0xcc)](_0x3f86dd)&&loggers[_0x3e629c(0xc7)](_0x3f86dd,createFileLogger({'filePath':_0x3916e7,'context':_0x10ac32,'maxBytes':LOG_MAX_BYTES,'keepCount':LOG_KEEP_COUNT})),loggers[_0x3e629c(0xb7)](_0x3f86dd);}function _0x2f9a(){const _0x2e85bf=['1146963YRUSJQ','catch','textPrev','\x20-Path\x20','ationPat','5675080XQorec','Command','12uJHlfe','object','trim','sPrefere','\x20-Force','-Encoded','base64','powershe','stack','sha256','logsDir','3896090HKTCkC','data','stringif','Object','replace','now','get','add','update','1291178JCIzgo','entlyCon','startsWi','ll.exe','error','631216svnaic','test','$Progres','[Circula','isArray','name','length','6070jclGQF','set','12VitZeS','cwd','zip','entries','has','hex','filter','includes','stderr','\x20failed\x20','slice','pipe','...','close','1739352IHLlkQ','ing','nce=\x27Sil','string','Array','wujie-sh','25173EijKAy','Compress','from','.zip','dev','\x20-Destin','toString','ell-logs','digest','map'];_0x2f9a=function(){return _0x2e85bf;};return _0x2f9a();}export function toHomePath(_0x3c69bc){const _0x3af116=_0x5e32,_0x2abf02=typeof _0x3c69bc===_0x3af116(0x92)?_0x3c69bc:'';if(!_0x2abf02)return'';const _0x1faf01=homedir(),_0x574b67=isAbsolute(_0x2abf02)?_0x2abf02:resolve(_0x2abf02),_0x1de163=relative(_0x1faf01,_0x574b67);if(!_0x1de163||!_0x1de163[_0x3af116(0xbc)+'th']('..')&&!isAbsolute(_0x1de163))return _0x1de163?'~/'+_0x1de163:'~';return _0x574b67;}export function hashText(_0x402035){const _0x5654cc=_0x5e32;return createHash(_0x5654cc(0xaf))[_0x5654cc(0xb9)](String(_0x402035))[_0x5654cc(0x9d)](_0x5654cc(0xcd))[_0x5654cc(0x8b)](0x0,0x10);}export function truncateText(_0x3bfc1f,_0x929308=CONTENT_PREVIEW_LENGTH){const _0x1308ac=_0x5e32,_0x487bf9=String(_0x3bfc1f??'')[_0x1308ac(0xb5)](/\s+/g,'\x20')[_0x1308ac(0xa8)]();if(_0x487bf9[_0x1308ac(0xc5)]<=_0x929308)return _0x487bf9;return _0x487bf9[_0x1308ac(0x8b)](0x0,_0x929308)+_0x1308ac(0x8d);}export function summarizeText(_0x1881e6,_0x14b64c=CONTENT_PREVIEW_LENGTH){const _0x5bbbb6=_0x5e32,_0x1b933a=String(_0x1881e6??'');return{'length':_0x1b933a[_0x5bbbb6(0xc5)],'hash':hashText(_0x1b933a),'preview':truncateText(_0x1b933a,_0x14b64c),'truncated':_0x1b933a[_0x5bbbb6(0xc5)]>_0x14b64c};}export function summarizeError(_0x509c6a){const _0x473fff=_0x5e32;if(_0x509c6a instanceof Error)return{'name':_0x509c6a[_0x473fff(0xc4)],'message':_0x509c6a['message'],'stack':_0x509c6a[_0x473fff(0xae)]};return{'message':String(_0x509c6a)};}function summarizePathValue(_0x3561d8){const _0x3e6159=_0x5e32;if(typeof _0x3561d8!==_0x3e6159(0x92))return _0x3561d8;if(_0x3561d8[_0x3e6159(0xcf)]('/')||_0x3561d8['includes']('\x5c'))return toHomePath(_0x3561d8);return _0x3561d8;}function _0x5e32(_0x2b7a84,_0x137883){_0x2b7a84=_0x2b7a84-0x8b;const _0x2f9a59=_0x2f9a();let _0x5e32b1=_0x2f9a59[_0x2b7a84];return _0x5e32b1;}export function summarizePayload(_0xc4048d,_0x8c0256={}){const _0x5368c8=_0x8c0256['maxDepth']??0x4,_0x10ac51=new WeakSet();function _0x5a3fdc(_0x5a942c,_0x15fa68,_0xdaf72f=''){const _0x2d555c=_0x5e32;if(_0x5a942c==null)return _0x5a942c;if(typeof _0x5a942c===_0x2d555c(0x92)){if(/message|content|prompt|text|body/i[_0x2d555c(0xc0)](_0xdaf72f))return summarizeText(_0x5a942c,_0x8c0256[_0x2d555c(0xa1)+'iewLengt'+'h']);return summarizePathValue(_0x5a942c);}if(typeof _0x5a942c!==_0x2d555c(0xa7))return _0x5a942c;if(_0x5a942c instanceof Error)return summarizeError(_0x5a942c);if(_0x10ac51[_0x2d555c(0xcc)](_0x5a942c))return _0x2d555c(0xc2)+'r]';if(_0x15fa68>=_0x5368c8)return'['+(Array[_0x2d555c(0xc3)](_0x5a942c)?_0x2d555c(0x93):_0x2d555c(0xb4))+']';_0x10ac51[_0x2d555c(0xb8)](_0x5a942c);if(Array[_0x2d555c(0xc3)](_0x5a942c))return{'type':'array','length':_0x5a942c['length'],'items':_0x5a942c[_0x2d555c(0x8b)](0x0,0x5)[_0x2d555c(0x9e)](_0x5656ed=>_0x5a3fdc(_0x5656ed,_0x15fa68+0x1,_0xdaf72f)),'truncated':_0x5a942c[_0x2d555c(0xc5)]>0x5};const _0x4a0967={};for(const [_0x1dd07b,_0x3a9898]of Object[_0x2d555c(0xcb)](_0x5a942c)){_0x4a0967[_0x1dd07b]=_0x5a3fdc(_0x3a9898,_0x15fa68+0x1,_0x1dd07b);}return redactLogValue(_0x4a0967);}return _0x5a3fdc(_0xc4048d,0x0);}export function summarizeFilePaths(_0x4fea1f=[]){const _0x209db6=_0x5e32;return(Array[_0x209db6(0xc3)](_0x4fea1f)?_0x4fea1f:[])[_0x209db6(0x9e)](_0x63a419=>String(_0x63a419||'')[_0x209db6(0xa8)]())[_0x209db6(0xce)](Boolean)[_0x209db6(0x9e)](_0x135463=>({'path':toHomePath(_0x135463),'name':basename(_0x135463)}));}function run(_0x2a4f73,_0xda801c,_0xc941f4={}){return new Promise((_0x5d569a,_0x586dd8)=>{const _0x345ade=_0x5e32,_0x5e3e82=spawn(_0x2a4f73,_0xda801c,{'cwd':_0xc941f4[_0x345ade(0xc9)],'env':{...process.env,..._0xc941f4['env']??{}},'stdio':['ignore',_0x345ade(0x8c),_0x345ade(0x8c)]});let _0x518e31='';_0x5e3e82[_0x345ade(0xd0)]?.['on'](_0x345ade(0xb2),_0x22db47=>{const _0x1ae3e1=_0x345ade;_0x518e31+=_0x22db47[_0x1ae3e1(0x9b)]();}),_0x5e3e82['on'](_0x345ade(0xbe),_0x586dd8),_0x5e3e82['on'](_0x345ade(0x8e),_0x135dfa=>{const _0x5681e9=_0x345ade;if(_0x135dfa===0x0){_0x5d569a();return;}_0x586dd8(new Error(_0x2a4f73+(_0x5681e9(0xd1)+'with\x20cod'+'e=')+_0x135dfa+':\x20'+_0x518e31));});});}export async function exportLogsArchive({logsDir:_0x5886b2,targetDir:_0x31d11c,appVersion:appVersion=_0x5d64b1(0x99)}){const _0x425049=_0x5d64b1;if(!_0x5886b2||!existsSync(_0x5886b2))throw new Error('logs\x20dir'+'ectory\x20n'+'ot\x20found'+':\x20'+(_0x5886b2||''));const _0x4d7a92=String(appVersion||_0x425049(0x99))['replace'](/[^A-Za-z0-9._-]/g,'_'),_0x2c2379=new Date()['toISOStr'+_0x425049(0x90)]()[_0x425049(0xb5)](/[-:]/g,'')['replace'](/\..+$/,''),_0x71423a=_0x31d11c||tmpdir();await mkdir(_0x71423a,{'recursive':!![]});const _0x139568=join(_0x71423a,_0x425049(0x94)+_0x425049(0x9c)+'-'+_0x2c2379+'-'+_0x4d7a92+_0x425049(0x98));if(process['platform']==='win32'){const _0x554f1e=join(tmpdir(),_0x425049(0x94)+'ell-logs'+'-'+process['pid']+'-'+Date[_0x425049(0xb6)]());await rm(_0x554f1e,{'recursive':!![],'force':!![]}),await cp(_0x5886b2,_0x554f1e,{'recursive':!![],'force':!![]});try{const _0x11e27f=[_0x425049(0xc1)+_0x425049(0xa9)+_0x425049(0x91)+_0x425049(0xbb)+'tinue\x27;',_0x425049(0x96)+'-Archive'+_0x425049(0xa2)+JSON['stringif'+'y'](join(_0x554f1e,'*'))+(_0x425049(0x9a)+_0x425049(0xa3)+'h\x20')+JSON[_0x425049(0xb3)+'y'](_0x139568)+_0x425049(0xaa)]['join']('\x20'),_0x15b6e1=Buffer[_0x425049(0x97)](_0x11e27f,'utf16le')[_0x425049(0x9b)](_0x425049(0xac));await run(_0x425049(0xad)+_0x425049(0xbd),['-NoProfi'+'le',_0x425049(0xab)+_0x425049(0xa5),_0x15b6e1]);}finally{await rm(_0x554f1e,{'recursive':!![],'force':!![]})[_0x425049(0xa0)](()=>{});}}else await run(_0x425049(0xca),['-r',_0x139568,'.'],{'cwd':_0x5886b2});return{'ok':!![],'path':_0x139568};}
1
+ function _0x6efc(_0x39870b,_0x20d1b){_0x39870b=_0x39870b-0xe3;const _0x50ba46=_0x50ba();let _0x6efcee=_0x50ba46[_0x39870b];return _0x6efcee;}(function(_0x344cb4,_0x4ddb96){const _0x378c56=_0x6efc,_0x2fac7e=_0x344cb4();while(!![]){try{const _0x41ac3f=parseInt(_0x378c56(0x110))/0x1+-parseInt(_0x378c56(0x10a))/0x2*(-parseInt(_0x378c56(0xfc))/0x3)+-parseInt(_0x378c56(0x12b))/0x4+parseInt(_0x378c56(0x12d))/0x5*(parseInt(_0x378c56(0x10e))/0x6)+parseInt(_0x378c56(0x104))/0x7*(parseInt(_0x378c56(0x12c))/0x8)+parseInt(_0x378c56(0xe9))/0x9*(-parseInt(_0x378c56(0xf6))/0xa)+parseInt(_0x378c56(0x103))/0xb*(parseInt(_0x378c56(0x113))/0xc);if(_0x41ac3f===_0x4ddb96)break;else _0x2fac7e['push'](_0x2fac7e['shift']());}catch(_0x2b368b){_0x2fac7e['push'](_0x2fac7e['shift']());}}}(_0x50ba,0xcbfcd));function _0x50ba(){const _0x48707f=['ll.exe','wujie-sh','sha256','length','$Progres','6631784PuuaLM','5360pJtyPj','462460TEknMX','textPrev','-Archive','has','utf16le','pipe','.zip','9skEgkt','Compress','toISOStr','logs\x20dir','trim','ing','digest','powershe','logsDir','map','message','join','dev','12558500sUEawO','from','env','update','ignore','ot\x20found','189wiOXuA','string','zip','\x20-Destin','.log','sPrefere','error','8123511yFcmLB','10528oZKmbs','startsWi','platform','catch','stack','nce=\x27Sil','29922ezKXKb','data','now','entries','12ZFJvFj','slice','137120qazOWx','isArray','hex','24vJaXEE','ell-logs','...','array','base64','Command','object','pid','name','stringif','get','stderr','toString','ationPat','replace','-Encoded','close','maxDepth','win32'];_0x50ba=function(){return _0x48707f;};return _0x50ba();}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(_0x37228c,_0x262d60,_0x4d9dc2=_0x262d60){const _0x1e9a0a=_0x6efc,_0x23fa8e=_0x37228c?.[_0x1e9a0a(0xf1)];if(!_0x23fa8e||!_0x262d60)return null;const _0xfda889=join(_0x23fa8e,_0x262d60,_0x262d60+_0x1e9a0a(0x100)),_0x6ffa28=_0xfda889+':'+_0x4d9dc2;return!loggers[_0x1e9a0a(0xe5)](_0x6ffa28)&&loggers['set'](_0x6ffa28,createFileLogger({'filePath':_0xfda889,'context':_0x4d9dc2,'maxBytes':LOG_MAX_BYTES,'keepCount':LOG_KEEP_COUNT})),loggers[_0x1e9a0a(0x11d)](_0x6ffa28);}export function toHomePath(_0x2a38a3){const _0x1144af=_0x6efc,_0x52ebe1=typeof _0x2a38a3===_0x1144af(0xfd)?_0x2a38a3:'';if(!_0x52ebe1)return'';const _0xc4d9da=homedir(),_0x44f05e=isAbsolute(_0x52ebe1)?_0x52ebe1:resolve(_0x52ebe1),_0x4ca5b3=relative(_0xc4d9da,_0x44f05e);if(!_0x4ca5b3||!_0x4ca5b3[_0x1144af(0x105)+'th']('..')&&!isAbsolute(_0x4ca5b3))return _0x4ca5b3?'~/'+_0x4ca5b3:'~';return _0x44f05e;}export function hashText(_0x1cc37c){const _0x54ed87=_0x6efc;return createHash(_0x54ed87(0x128))[_0x54ed87(0xf9)](String(_0x1cc37c))[_0x54ed87(0xef)](_0x54ed87(0x112))[_0x54ed87(0x10f)](0x0,0x10);}export function truncateText(_0x22d3c8,_0x25b947=CONTENT_PREVIEW_LENGTH){const _0x280ff0=_0x6efc,_0x284e90=String(_0x22d3c8??'')[_0x280ff0(0x121)](/\s+/g,'\x20')['trim']();if(_0x284e90[_0x280ff0(0x129)]<=_0x25b947)return _0x284e90;return _0x284e90[_0x280ff0(0x10f)](0x0,_0x25b947)+_0x280ff0(0x115);}export function summarizeText(_0x5d89c8,_0x3a2bae=CONTENT_PREVIEW_LENGTH){const _0x2e1bb5=_0x6efc,_0x4fbebf=String(_0x5d89c8??'');return{'length':_0x4fbebf[_0x2e1bb5(0x129)],'hash':hashText(_0x4fbebf),'preview':truncateText(_0x4fbebf,_0x3a2bae),'truncated':_0x4fbebf[_0x2e1bb5(0x129)]>_0x3a2bae};}export function summarizeError(_0x238c27){const _0x89532a=_0x6efc;if(_0x238c27 instanceof Error)return{'name':_0x238c27[_0x89532a(0x11b)],'message':_0x238c27[_0x89532a(0xf3)],'stack':_0x238c27[_0x89532a(0x108)]};return{'message':String(_0x238c27)};}function summarizePathValue(_0x1467f0){if(typeof _0x1467f0!=='string')return _0x1467f0;if(_0x1467f0['includes']('/')||_0x1467f0['includes']('\x5c'))return toHomePath(_0x1467f0);return _0x1467f0;}export function summarizePayload(_0x3d5da4,_0x4ee179={}){const _0x6af0fa=_0x6efc,_0x5a98ea=_0x4ee179[_0x6af0fa(0x124)]??0x4,_0x256da4=new WeakSet();function _0x173cae(_0x1cb908,_0x501f53,_0x14cb5a=''){const _0x51baf1=_0x6af0fa;if(_0x1cb908==null)return _0x1cb908;if(typeof _0x1cb908===_0x51baf1(0xfd)){if(/message|content|prompt|text|body/i['test'](_0x14cb5a))return summarizeText(_0x1cb908,_0x4ee179[_0x51baf1(0xe3)+'iewLengt'+'h']);return summarizePathValue(_0x1cb908);}if(typeof _0x1cb908!==_0x51baf1(0x119))return _0x1cb908;if(_0x1cb908 instanceof Error)return summarizeError(_0x1cb908);if(_0x256da4[_0x51baf1(0xe5)](_0x1cb908))return'[Circula'+'r]';if(_0x501f53>=_0x5a98ea)return'['+(Array[_0x51baf1(0x111)](_0x1cb908)?'Array':'Object')+']';_0x256da4['add'](_0x1cb908);if(Array[_0x51baf1(0x111)](_0x1cb908))return{'type':_0x51baf1(0x116),'length':_0x1cb908['length'],'items':_0x1cb908[_0x51baf1(0x10f)](0x0,0x5)[_0x51baf1(0xf2)](_0x3c1bd5=>_0x173cae(_0x3c1bd5,_0x501f53+0x1,_0x14cb5a)),'truncated':_0x1cb908['length']>0x5};const _0x4c6567={};for(const [_0x586941,_0x196342]of Object[_0x51baf1(0x10d)](_0x1cb908)){_0x4c6567[_0x586941]=_0x173cae(_0x196342,_0x501f53+0x1,_0x586941);}return redactLogValue(_0x4c6567);}return _0x173cae(_0x3d5da4,0x0);}export function summarizeFilePaths(_0x4296b0=[]){const _0x245bee=_0x6efc;return(Array['isArray'](_0x4296b0)?_0x4296b0:[])[_0x245bee(0xf2)](_0x15c4d3=>String(_0x15c4d3||'')[_0x245bee(0xed)]())['filter'](Boolean)[_0x245bee(0xf2)](_0x4e237f=>({'path':toHomePath(_0x4e237f),'name':basename(_0x4e237f)}));}function run(_0xe61eab,_0x130fbb,_0x4f0486={}){return new Promise((_0x5320e7,_0x3f9058)=>{const _0x4d5ac9=_0x6efc,_0x18d128=spawn(_0xe61eab,_0x130fbb,{'cwd':_0x4f0486['cwd'],'env':{...process.env,..._0x4f0486[_0x4d5ac9(0xf8)]??{}},'stdio':[_0x4d5ac9(0xfa),'pipe',_0x4d5ac9(0xe7)]});let _0x5614e7='';_0x18d128[_0x4d5ac9(0x11e)]?.['on'](_0x4d5ac9(0x10b),_0x1d1b0e=>{_0x5614e7+=_0x1d1b0e['toString']();}),_0x18d128['on'](_0x4d5ac9(0x102),_0x3f9058),_0x18d128['on'](_0x4d5ac9(0x123),_0x48152f=>{if(_0x48152f===0x0){_0x5320e7();return;}_0x3f9058(new Error(_0xe61eab+('\x20failed\x20'+'with\x20cod'+'e=')+_0x48152f+':\x20'+_0x5614e7));});});}export async function exportLogsArchive({logsDir:_0x3a4442,targetDir:_0x31d095,appVersion:appVersion='dev'}){const _0x2eeb98=_0x6efc;if(!_0x3a4442||!existsSync(_0x3a4442))throw new Error(_0x2eeb98(0xec)+'ectory\x20n'+_0x2eeb98(0xfb)+':\x20'+(_0x3a4442||''));const _0x14d3b6=String(appVersion||_0x2eeb98(0xf5))[_0x2eeb98(0x121)](/[^A-Za-z0-9._-]/g,'_'),_0x41316d=new Date()[_0x2eeb98(0xeb)+_0x2eeb98(0xee)]()[_0x2eeb98(0x121)](/[-:]/g,'')[_0x2eeb98(0x121)](/\..+$/,''),_0x33cfe6=_0x31d095||tmpdir();await mkdir(_0x33cfe6,{'recursive':!![]});const _0x3bfa19=join(_0x33cfe6,_0x2eeb98(0x127)+_0x2eeb98(0x114)+'-'+_0x41316d+'-'+_0x14d3b6+_0x2eeb98(0xe8));if(process[_0x2eeb98(0x106)]===_0x2eeb98(0x125)){const _0x5eda82=join(tmpdir(),_0x2eeb98(0x127)+_0x2eeb98(0x114)+'-'+process[_0x2eeb98(0x11a)]+'-'+Date[_0x2eeb98(0x10c)]());await rm(_0x5eda82,{'recursive':!![],'force':!![]}),await cp(_0x3a4442,_0x5eda82,{'recursive':!![],'force':!![]});try{const _0x3fc3c4=[_0x2eeb98(0x12a)+_0x2eeb98(0x101)+_0x2eeb98(0x109)+'entlyCon'+'tinue\x27;',_0x2eeb98(0xea)+_0x2eeb98(0xe4)+'\x20-Path\x20'+JSON[_0x2eeb98(0x11c)+'y'](join(_0x5eda82,'*'))+(_0x2eeb98(0xff)+_0x2eeb98(0x120)+'h\x20')+JSON['stringif'+'y'](_0x3bfa19)+'\x20-Force'][_0x2eeb98(0xf4)]('\x20'),_0x3330fb=Buffer[_0x2eeb98(0xf7)](_0x3fc3c4,_0x2eeb98(0xe6))[_0x2eeb98(0x11f)](_0x2eeb98(0x117));await run(_0x2eeb98(0xf0)+_0x2eeb98(0x126),['-NoProfi'+'le',_0x2eeb98(0x122)+_0x2eeb98(0x118),_0x3330fb]);}finally{await rm(_0x5eda82,{'recursive':!![],'force':!![]})[_0x2eeb98(0x107)](()=>{});}}else await run(_0x2eeb98(0xfe),['-r',_0x3bfa19,'.'],{'cwd':_0x3a4442});return{'ok':!![],'path':_0x3bfa19};}
@@ -1 +1 @@
1
- (function(_0xb9a16c,_0xb85148){const _0x509ac1=_0x3188,_0xe338d8=_0xb9a16c();while(!![]){try{const _0x232a80=-parseInt(_0x509ac1(0x12b))/0x1*(-parseInt(_0x509ac1(0x13b))/0x2)+parseInt(_0x509ac1(0x128))/0x3*(parseInt(_0x509ac1(0x12d))/0x4)+parseInt(_0x509ac1(0x139))/0x5+-parseInt(_0x509ac1(0x12c))/0x6*(parseInt(_0x509ac1(0x131))/0x7)+-parseInt(_0x509ac1(0x138))/0x8+parseInt(_0x509ac1(0x134))/0x9*(-parseInt(_0x509ac1(0x133))/0xa)+-parseInt(_0x509ac1(0x132))/0xb;if(_0x232a80===_0xb85148)break;else _0xe338d8['push'](_0xe338d8['shift']());}catch(_0x26eac1){_0xe338d8['push'](_0xe338d8['shift']());}}}(_0x1e76,0x5063d));import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';function _0x3188(_0x3ccdb3,_0xb59a31){_0x3ccdb3=_0x3ccdb3-0x127;const _0x1e7638=_0x1e76();let _0x3188a8=_0x1e7638[_0x3ccdb3];return _0x3188a8;}function _0x1e76(){const _0x26c22d=['4325536sPJSkQ','3111340gkOfOs','pluginId','56SVkmgJ','keys','local','3qfqdNx','enabled','tPluginI','12911xIQCXE','40722NQTgBF','1944788aoxwGF','installs','length','allow','126dvouAj','657184GLhJVS','68540bPWteR','549IsUdgM','has','source','disabled'];_0x1e76=function(){return _0x26c22d;};return _0x1e76();}export function syncRuntimeManifestPlugins(_0x189d71,_0x359e80,_0x412963={}){const _0x1936f1=_0x3188,_0x3a9a6b=new Set(_0x412963[_0x1936f1(0x137)+'ByDefaul'+_0x1936f1(0x12a)+'ds']??[]),_0x5a9087={...asRecord(_0x189d71)},_0x2ff0e9={...asRecord(_0x5a9087['entries'])},_0xe67ea4={...asRecord(_0x5a9087[_0x1936f1(0x12e)])};let _0x3349b8=asStringArray(_0x5a9087[_0x1936f1(0x130)]),_0x167d17=![];for(const _0x533d54 of _0x359e80??[]){const _0x38749a=getTrimmedString(_0x533d54[_0x1936f1(0x13a)]);if(!_0x38749a)continue;!(_0x38749a in _0x2ff0e9)&&(_0x2ff0e9[_0x38749a]={'enabled':!_0x3a9a6b[_0x1936f1(0x135)](_0x38749a)},_0x167d17=!![]);if(asRecord(_0x2ff0e9[_0x38749a])[_0x1936f1(0x129)]!==![]){const _0xc28976=dedupeStrings([..._0x3349b8,_0x38749a]);_0xc28976[_0x1936f1(0x12f)]!==_0x3349b8[_0x1936f1(0x12f)]&&(_0x3349b8=_0xc28976,_0x167d17=!![]);}getTrimmedString(_0x533d54[_0x1936f1(0x136)])===_0x1936f1(0x127)&&_0x38749a in _0xe67ea4&&(delete _0xe67ea4[_0x38749a],_0x167d17=!![]);}_0x5a9087['entries']=_0x2ff0e9,_0x5a9087[_0x1936f1(0x130)]=_0x3349b8;if(Object[_0x1936f1(0x13c)](_0xe67ea4)[_0x1936f1(0x12f)]>0x0)_0x5a9087[_0x1936f1(0x12e)]=_0xe67ea4;else delete _0x5a9087[_0x1936f1(0x12e)];return{'plugins':_0x5a9087,'changed':_0x167d17};}
1
+ (function(_0x2323eb,_0xcb48f8){const _0x194c85=_0x1dcf,_0x40fa07=_0x2323eb();while(!![]){try{const _0x42135a=-parseInt(_0x194c85(0xb4))/0x1*(-parseInt(_0x194c85(0xa5))/0x2)+parseInt(_0x194c85(0xa4))/0x3*(-parseInt(_0x194c85(0xb9))/0x4)+parseInt(_0x194c85(0xb7))/0x5*(parseInt(_0x194c85(0xb0))/0x6)+parseInt(_0x194c85(0xb8))/0x7+-parseInt(_0x194c85(0xa7))/0x8+-parseInt(_0x194c85(0xaf))/0x9*(-parseInt(_0x194c85(0xa6))/0xa)+-parseInt(_0x194c85(0xab))/0xb*(parseInt(_0x194c85(0xb3))/0xc);if(_0x42135a===_0xcb48f8)break;else _0x40fa07['push'](_0x40fa07['shift']());}catch(_0x539fd9){_0x40fa07['push'](_0x40fa07['shift']());}}}(_0x909e,0xf077b));function _0x1dcf(_0x2b78a6,_0x11eae7){_0x2b78a6=_0x2b78a6-0xa4;const _0x909e02=_0x909e();let _0x1dcf5e=_0x909e02[_0x2b78a6];return _0x1dcf5e;}import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';export function syncRuntimeManifestPlugins(_0x40f787,_0x2d6248,_0x3372d5={}){const _0x5d935e=_0x1dcf,_0x2e5c0b=new Set(_0x3372d5[_0x5d935e(0xb1)+_0x5d935e(0xae)+_0x5d935e(0xb5)+'ds']??[]),_0x1c0630={...asRecord(_0x40f787)},_0x1f1056={...asRecord(_0x1c0630[_0x5d935e(0xa8)])},_0x495210={...asRecord(_0x1c0630[_0x5d935e(0xa9)])};let _0x55773f=asStringArray(_0x1c0630[_0x5d935e(0xb2)]),_0x336d1b=![];for(const _0x44d1bf of _0x2d6248??[]){const _0x52e86f=getTrimmedString(_0x44d1bf[_0x5d935e(0xad)]);if(!_0x52e86f)continue;!(_0x52e86f in _0x1f1056)&&(_0x1f1056[_0x52e86f]={'enabled':!_0x2e5c0b[_0x5d935e(0xaa)](_0x52e86f)},_0x336d1b=!![]);if(asRecord(_0x1f1056[_0x52e86f])[_0x5d935e(0xb6)]!==![]){const _0x467f5f=dedupeStrings([..._0x55773f,_0x52e86f]);_0x467f5f[_0x5d935e(0xac)]!==_0x55773f[_0x5d935e(0xac)]&&(_0x55773f=_0x467f5f,_0x336d1b=!![]);}getTrimmedString(_0x44d1bf['source'])==='local'&&_0x52e86f in _0x495210&&(delete _0x495210[_0x52e86f],_0x336d1b=!![]);}_0x1c0630['entries']=_0x1f1056,_0x1c0630[_0x5d935e(0xb2)]=_0x55773f;if(Object['keys'](_0x495210)[_0x5d935e(0xac)]>0x0)_0x1c0630[_0x5d935e(0xa9)]=_0x495210;else delete _0x1c0630[_0x5d935e(0xa9)];return{'plugins':_0x1c0630,'changed':_0x336d1b};}function _0x909e(){const _0x49d258=['enabled','50375yJdXTO','10180072qnqvfx','7584CwBeTG','2517eVMjBv','1293946OqMgdO','30lLqdVQ','8179472aToITd','entries','installs','has','418IgFMgl','length','pluginId','ByDefaul','2677743mGbWTZ','774HpRcCy','disabled','allow','628212RmtEWI','3KcXxmF','tPluginI'];_0x909e=function(){return _0x49d258;};return _0x909e();}
@@ -1 +1 @@
1
- const _0x1da4f5=_0x5b65;(function(_0x4f8fdf,_0x19bbec){const _0x42b88e=_0x5b65,_0x21e94f=_0x4f8fdf();while(!![]){try{const _0x159f8c=-parseInt(_0x42b88e(0x105))/0x1+-parseInt(_0x42b88e(0xf3))/0x2*(-parseInt(_0x42b88e(0xe2))/0x3)+-parseInt(_0x42b88e(0xe7))/0x4+-parseInt(_0x42b88e(0xeb))/0x5+parseInt(_0x42b88e(0x104))/0x6*(-parseInt(_0x42b88e(0xd8))/0x7)+parseInt(_0x42b88e(0xe9))/0x8*(parseInt(_0x42b88e(0xf0))/0x9)+parseInt(_0x42b88e(0xec))/0xa;if(_0x159f8c===_0x19bbec)break;else _0x21e94f['push'](_0x21e94f['shift']());}catch(_0x3127b1){_0x21e94f['push'](_0x21e94f['shift']());}}}(_0x44a9,0x6c979));function _0x44a9(){const _0x353bd6=['logsDir','dataDirN','ecs','sDir','ginPaths','39jyRpZh','log','isArray','nodeVers','Dir','2492496sSoEWB','projectR','79664PsYTGo','appId','2502350PwoeMl','9467120ZoouZG','plugins','ath','skills','351AQZQNb','Version','wBin','76674KvTaUJ','ame','dataDir','length','pRuntime','runtime','agentsDi','resolved','skillsDi','agents','openclaw','ion','logsDirN','logger','has','productN','dAt','96YuLdXy','27388ShUIPI','wujiecla','103985pKrfyG','get','bootstra','oot','pluginSp'];_0x44a9=function(){return _0x353bd6;};return _0x44a9();}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();export function createRuntimeLogger(_0x49d9f2,_0x43789e=_0x1da4f5(0xf8)){const _0x1bd492=_0x1da4f5,_0x4e546b=_0x49d9f2?.[_0x1bd492(0xdd)];if(!_0x4e546b)return null;const _0x2ef5a5=join(_0x4e546b,_0x1bd492(0xf8),'runtime.'+_0x1bd492(0xe3)),_0x38b301=_0x2ef5a5+':'+_0x43789e;return!runtimeLoggers[_0x1bd492(0x101)](_0x38b301)&&runtimeLoggers['set'](_0x38b301,createFileLogger({'filePath':_0x2ef5a5,'context':_0x43789e,'maxBytes':RUNTIME_LOG_MAX_BYTES,'keepCount':RUNTIME_LOG_KEEP_COUNT})),runtimeLoggers[_0x1bd492(0xd9)](_0x38b301);}function _0x5b65(_0x242cb8,_0x335f14){_0x242cb8=_0x242cb8-0xd8;const _0x44a9c3=_0x44a9();let _0x5b6501=_0x44a9c3[_0x242cb8];return _0x5b6501;}export function summarizeShellConfig(_0x4b8dd7){const _0x5b99e4=_0x1da4f5;return{'appId':_0x4b8dd7[_0x5b99e4(0xea)],'productName':_0x4b8dd7[_0x5b99e4(0x102)+'ame'],'projectRoot':_0x4b8dd7[_0x5b99e4(0xe8)+_0x5b99e4(0xdb)],'dataDir':_0x4b8dd7[_0x5b99e4(0xf5)],'dataDirName':_0x4b8dd7[_0x5b99e4(0xde)+_0x5b99e4(0xf4)],'logsDirName':_0x4b8dd7[_0x5b99e4(0x100)]?.[_0x5b99e4(0xff)+_0x5b99e4(0xf4)],'logsDir':_0x4b8dd7[_0x5b99e4(0x100)]?.[_0x5b99e4(0xdd)],'openclawVersion':_0x4b8dd7[_0x5b99e4(0xfd)]?.['openclaw'+_0x5b99e4(0xf1)],'nodeVersion':_0x4b8dd7[_0x5b99e4(0xfd)]?.[_0x5b99e4(0xe5)+_0x5b99e4(0xfe)],'pluginSpecCount':_0x4b8dd7[_0x5b99e4(0xfd)]?.[_0x5b99e4(0xdc)+'ecs']?.[_0x5b99e4(0xf6)]??0x0,'localPluginCount':_0x4b8dd7[_0x5b99e4(0xfd)]?.[_0x5b99e4(0xfa)+'LocalPlu'+_0x5b99e4(0xe1)]?.[_0x5b99e4(0xf6)]??0x0,'agentsDir':_0x4b8dd7['openclaw']?.[_0x5b99e4(0xf9)+'r'],'skillsDir':_0x4b8dd7[_0x5b99e4(0xfd)]?.[_0x5b99e4(0xfb)+'r'],'workflowsDir':_0x4b8dd7['openclaw']?.['workflow'+_0x5b99e4(0xe0)],'bootstrapRuntimeDir':_0x4b8dd7[_0x5b99e4(0xfd)]?.[_0x5b99e4(0xda)+_0x5b99e4(0xf7)+_0x5b99e4(0xe6)]};}export function summarizeRuntimeManifest(_0x28317e){const _0x307ab1=_0x1da4f5;return{'generatedAt':_0x28317e?.['generate'+_0x307ab1(0x103)],'openclawVersion':_0x28317e?.['openclaw'+_0x307ab1(0xf1)],'nodeVersion':_0x28317e?.['nodeVers'+_0x307ab1(0xfe)],'pluginCount':Array[_0x307ab1(0xe4)](_0x28317e?.[_0x307ab1(0xed)])?_0x28317e[_0x307ab1(0xed)][_0x307ab1(0xf6)]:0x0,'pluginSpecCount':Array[_0x307ab1(0xe4)](_0x28317e?.['pluginSp'+_0x307ab1(0xdf)])?_0x28317e['pluginSp'+_0x307ab1(0xdf)][_0x307ab1(0xf6)]:0x0,'agentsInstallPath':_0x28317e?.[_0x307ab1(0xfc)]?.['installP'+_0x307ab1(0xee)],'skillsInstallPath':_0x28317e?.[_0x307ab1(0xef)]?.['installP'+_0x307ab1(0xee)],'wujieclawBin':_0x28317e?.[_0x307ab1(0x106)+_0x307ab1(0xf2)],'product':_0x28317e?.['product']};}
1
+ function _0x1219(_0x101f54,_0x58ecf4){_0x101f54=_0x101f54-0x1c8;const _0x30139e=_0x3013();let _0x121983=_0x30139e[_0x101f54];return _0x121983;}const _0x3a9118=_0x1219;(function(_0x10118a,_0x25d44d){const _0x10343d=_0x1219,_0xaea752=_0x10118a();while(!![]){try{const _0x2a7349=parseInt(_0x10343d(0x1df))/0x1+parseInt(_0x10343d(0x1dd))/0x2+-parseInt(_0x10343d(0x1ec))/0x3+parseInt(_0x10343d(0x1e9))/0x4+-parseInt(_0x10343d(0x1e3))/0x5+parseInt(_0x10343d(0x1d4))/0x6*(-parseInt(_0x10343d(0x1d5))/0x7)+parseInt(_0x10343d(0x1e0))/0x8;if(_0x2a7349===_0x25d44d)break;else _0xaea752['push'](_0xaea752['shift']());}catch(_0x180563){_0xaea752['push'](_0xaea752['shift']());}}}(_0x3013,0x633a9));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();export function createRuntimeLogger(_0x539cf8,_0x5c3f7a=_0x3a9118(0x1e4)){const _0x248a32=_0x3a9118,_0x3832b5=_0x539cf8?.[_0x248a32(0x1cb)];if(!_0x3832b5)return null;const _0xa99bf5=join(_0x3832b5,_0x248a32(0x1e4),'runtime.'+_0x248a32(0x1ea)),_0x211609=_0xa99bf5+':'+_0x5c3f7a;return!runtimeLoggers[_0x248a32(0x1db)](_0x211609)&&runtimeLoggers[_0x248a32(0x1ef)](_0x211609,createFileLogger({'filePath':_0xa99bf5,'context':_0x5c3f7a,'maxBytes':RUNTIME_LOG_MAX_BYTES,'keepCount':RUNTIME_LOG_KEEP_COUNT})),runtimeLoggers[_0x248a32(0x1ca)](_0x211609);}export function summarizeShellConfig(_0x7c227f){const _0x362623=_0x3a9118;return{'appId':_0x7c227f[_0x362623(0x1e7)],'productName':_0x7c227f[_0x362623(0x1d9)+'ame'],'projectRoot':_0x7c227f['projectR'+_0x362623(0x1f1)],'dataDir':_0x7c227f[_0x362623(0x1e1)],'dataDirName':_0x7c227f[_0x362623(0x1ed)+'ame'],'logsDirName':_0x7c227f[_0x362623(0x1eb)]?.['logsDirN'+_0x362623(0x1d7)],'logsDir':_0x7c227f['logger']?.[_0x362623(0x1cb)],'openclawVersion':_0x7c227f[_0x362623(0x1ee)]?.[_0x362623(0x1ee)+_0x362623(0x1cc)],'nodeVersion':_0x7c227f[_0x362623(0x1ee)]?.[_0x362623(0x1d6)+_0x362623(0x1da)],'pluginSpecCount':_0x7c227f[_0x362623(0x1ee)]?.['pluginSp'+'ecs']?.[_0x362623(0x1c8)]??0x0,'localPluginCount':_0x7c227f[_0x362623(0x1ee)]?.[_0x362623(0x1e2)+'LocalPlu'+_0x362623(0x1d1)]?.[_0x362623(0x1c8)]??0x0,'agentsDir':_0x7c227f[_0x362623(0x1ee)]?.['agentsDi'+'r'],'skillsDir':_0x7c227f[_0x362623(0x1ee)]?.[_0x362623(0x1cf)+'r'],'workflowsDir':_0x7c227f[_0x362623(0x1ee)]?.[_0x362623(0x1d2)+_0x362623(0x1d0)],'bootstrapRuntimeDir':_0x7c227f[_0x362623(0x1ee)]?.['bootstra'+_0x362623(0x1e6)+_0x362623(0x1dc)]};}function _0x3013(){const _0x2a9441=['dataDirN','openclaw','set','wujiecla','oot','length','plugins','get','logsDir','Version','installP','isArray','skillsDi','sDir','ginPaths','workflow','wBin','7554OkVLWV','2219XmRdZT','nodeVers','ame','ecs','productN','ion','has','Dir','260486Yoxzjx','ath','720885EHBwTg','1032880AimUek','dataDir','resolved','3480080vfOHal','runtime','pluginSp','pRuntime','appId','product','3225480qyhDHE','log','logger','855144tGxLhA'];_0x3013=function(){return _0x2a9441;};return _0x3013();}export function summarizeRuntimeManifest(_0x512f0e){const _0x3b6666=_0x3a9118;return{'generatedAt':_0x512f0e?.['generate'+'dAt'],'openclawVersion':_0x512f0e?.[_0x3b6666(0x1ee)+_0x3b6666(0x1cc)],'nodeVersion':_0x512f0e?.[_0x3b6666(0x1d6)+_0x3b6666(0x1da)],'pluginCount':Array['isArray'](_0x512f0e?.[_0x3b6666(0x1c9)])?_0x512f0e[_0x3b6666(0x1c9)][_0x3b6666(0x1c8)]:0x0,'pluginSpecCount':Array[_0x3b6666(0x1ce)](_0x512f0e?.[_0x3b6666(0x1e5)+_0x3b6666(0x1d8)])?_0x512f0e[_0x3b6666(0x1e5)+'ecs'][_0x3b6666(0x1c8)]:0x0,'agentsInstallPath':_0x512f0e?.['agents']?.[_0x3b6666(0x1cd)+_0x3b6666(0x1de)],'skillsInstallPath':_0x512f0e?.['skills']?.['installP'+_0x3b6666(0x1de)],'wujieclawBin':_0x512f0e?.[_0x3b6666(0x1f0)+_0x3b6666(0x1d3)],'product':_0x512f0e?.[_0x3b6666(0x1e8)]};}