@wujie-shell/core 0.1.5 → 1.0.0

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 _0x44db42=_0x113e;function _0x113e(_0xe3652b,_0x21daea){_0xe3652b=_0xe3652b-0xc1;const _0x442a31=_0x442a();let _0x113eb4=_0x442a31[_0xe3652b];return _0x113eb4;}(function(_0x2cdc4f,_0x51c258){const _0x3b13f6=_0x113e,_0x5d1996=_0x2cdc4f();while(!![]){try{const _0x66d712=parseInt(_0x3b13f6(0x145))/0x1+parseInt(_0x3b13f6(0x148))/0x2*(parseInt(_0x3b13f6(0x1e3))/0x3)+-parseInt(_0x3b13f6(0x163))/0x4*(parseInt(_0x3b13f6(0xed))/0x5)+-parseInt(_0x3b13f6(0x116))/0x6+parseInt(_0x3b13f6(0x11b))/0x7*(parseInt(_0x3b13f6(0x14b))/0x8)+-parseInt(_0x3b13f6(0xeb))/0x9*(-parseInt(_0x3b13f6(0xd4))/0xa)+-parseInt(_0x3b13f6(0x21d))/0xb;if(_0x66d712===_0x51c258)break;else _0x5d1996['push'](_0x5d1996['shift']());}catch(_0x1b5c7c){_0x5d1996['push'](_0x5d1996['shift']());}}}(_0x442a,0xe782e));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 _0x27f52f,{portNumbers}from'get-port';import{createLineBuffer}from'@wujie-shell/logger';import{asRecord,getTrimmedString}from'./utils.mjs';function _0x442a(){const _0x37de98=['agents.l','terminal','aborted','sessionI','join','skill\x20in','Settings','exited\x20u','stdout','startedA','token','timeout','er\x20start','pluginId','mimeType','c\x20failed','ents\x20syn','process\x20','text/mar','\x20prepare','done','isArray','ensureGa','sessionK','fileName','skills\x20s','deny','SIGTERM','image','isFile','names','toString','er-secre','by\x20gatew','t\x20discon','getModel','und','agents.u','error','ame','achments','ay\x20state','request','\x20signal=','ting:\x20','parse','agents','chat.abo','restartO','kUserQue','3043113TRGNDp','deleted','igWriteH','end','run','stderr','plugins','system','errorMes','WorkingD','final','n\x20reques','unhealth','ey\x20is\x20re','started','peratedM','lifecycl','running','eam\x20acce','Version','patch','create\x20r','skills.i','andledIn','chat\x20abo','chat.sen','eviceIde','SOUL.md','Fallback','nstall','data','filePath','\x20request','manual\x20r','chat.his','installP','readConf','0.1.0','renamed','message\x20','er\x20stop\x20','modelNam','parentSe','POST','session-','filter','eady','ndled\x20ag','runId','cron.run','keys','reate','unconfig','warn','answer','bundled-','ayRestar','pdated','12498970uOthJA','toISOStr','ove','message','writeHea','ase','chat\x20str','some','chat\x20att','\x20waiting','image/we','lete\x20req','--token','port','backend','answers','slice','mpleted','SIGKILL','closed','[wujie-s','stopped','fig','allow','.json','res','nexpecte','resolveC','clear','delete\x20c','off','nected','agent\x20sk','aded','size','-questio','ssionKey','started,','ills\x20syn','stop','tory','image/pn','ntityPat','client','toUpperC','startsWi','nsured','info','ase\x20retr','status','--allow-','eys\x20upda','245330bRaySM','chat\x20eve','ties','restart\x20','get','agents.c','deleteTr','content','has','jobId','stringif','.delete','d\x20--toke','trim','default','Timer','paths','label','onfigPat','stall\x20co','ded','requestI','ensureIn','549qSLdaV','\x20require','44710psFznl','\x20gateway','version','destroy','entries','healthy','ternally','updated','base64','image/','resolveS','e\x20shared','chat\x20fai','ion/pdf','unknown','skills.d','sessions','arge:\x20','red','invalid\x20','skill\x20up','itialCon','metadata','led','limit','eway]\x20bu','source','now','cron.lis','utf8','tokenPre','projectR','capabili','rename\x20c','image/gi','textLeng','agent-ev','session\x20','agents-u','estart','delete','11078898AbSKnd','desktop','markConf','flush','kill','315lAlHvP','agents\x20l','skills.s','rt\x20reque','y\x20shortl','websocke','requeste','model','pted\x20by\x20','ion/json','tory\x20loa','x-ask-us','close','map','quired','ing,\x20ple','agents\x20e','health','defaultI','provider','floor','discover','url','skills','text','sent','ent','elete','productN','max','set','log','\x20list\x20co','writeCon','\x20failed\x20','ed:\x20','exited\x20c','r-questi','gateway-','unauthor','text/csv','c\x20comple','1246770vTuQkd','controll','pop','2peraVZ','nChange','anscript','281992ZTiejf','equested','dispose','pinnedKe','date\x20req','configur','finally','starting','name','ompleted','delta','ync\x20fail','skill\x20de','ath','\x20for\x20WS','ck\x20disab','string','once','includes','agents\x20s','pid',':session','ion/octe','iled','632RnmCSM','main','.create','ist\x20requ','n\x20[REDAC','nt\x20too\x20l','ist','HEARTBEA','dly','ested','kdown','emit','is\x20requi','\x20allocat','listen','agentId','oot','127.0.0.','killed','sage','chat\x20run','agent:','trimEnd','ng:\x20','setGatew','json','resolveD','/ask-use','openclaw','setModel','push','title','toLowerC','--port','jobId\x20is','tewaySet','T.md','text/pla','gateway','ved','chat\x20his','tatus','pinned-k','eam\x20requ','bundled\x20','applicat','length','method','TED]\x20--p','ted','ask-user','is\x20start','restarti','stall\x20re','file','\x20context','image/jp','then','pdate','hell:gat','catch','changed','tings','ized','state','stall\x20fa','key','t\x20not\x20fo','cron.rem','figChang','workspac','tateDir','led:\x20','unshift','attachme','behavior','uested','gateway\x20'];_0x442a=function(){return _0x37de98;};return _0x442a();}import{ensureOpenClawDoctorFixed,loadRuntimeInfo,spawnClaw}from'./runtime.mjs';import{ClawGatewayWsClient}from'./gateway-ws.mjs';import{ensureBundledAgents}from'./bundled-agents.mjs';import{syncBundledAgentSkillsToConfig,filterSkillsForAgent}from'./bundled-agent-skills.mjs';import{createShellLogger,summarizeError,summarizeFilePaths,summarizePayload,summarizeText,toHomePath}from'./logging.mjs';const LOG_LIMIT=0x3e8,CLIENT_ID='gateway-'+_0x44db42(0xcb),CLIENT_MODE=_0x44db42(0x22b),CLIENT_DEVICE_FAMILY=_0x44db42(0x117),TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,SESSION_METADATA_FILE=_0x44db42(0x20f)+_0x44db42(0x103)+_0x44db42(0x235),SHARED_CONTEXT_FILES=['AGENTS.m'+'d',_0x44db42(0x16a)+_0x44db42(0x187),'IDENTITY'+'.md','MEMORY.m'+'d',_0x44db42(0x1fe),'TOOLS.md','USER.md'];function nowIso(){const _0x458847=_0x44db42;return new Date()[_0x458847(0x21e)+'ing']();}function buildGatewayWsUrl(_0x2c2448){return'ws://127'+'.0.0.1:'+_0x2c2448;}function createInitialStatus(){const _0x2bb78f=_0x44db42;return{'lifecycle':_0x2bb78f(0x232),'health':_0x2bb78f(0xfb),'port':null,'tokenPresent':![],'message':_0x2bb78f(0x1b0)+'stopped','updatedAt':nowIso()};}function extractGatewayMessageText(_0x15f0aa){const _0x43fbef=_0x44db42;if(typeof _0x15f0aa==='string')return _0x15f0aa;if(!Array['isArray'](_0x15f0aa))return'';const _0x272f2f=[];for(const _0x8a847 of _0x15f0aa){if(typeof _0x8a847==='string'){if(_0x8a847)_0x272f2f[_0x43fbef(0x181)](_0x8a847);continue;}const _0x90c11e=asRecord(_0x8a847);_0x90c11e['type']===_0x43fbef(0x133)&&typeof _0x90c11e['text']===_0x43fbef(0x15b)&&_0x90c11e['text']&&_0x272f2f[_0x43fbef(0x181)](_0x90c11e[_0x43fbef(0x133)]);}return _0x272f2f[_0x43fbef(0x1b5)]('\x0a');}function extractGatewayChatText(_0x1aaaa2){const _0x546917=_0x44db42,_0x2561b3=asRecord(_0x1aaaa2);if(typeof _0x2561b3['text']===_0x546917(0x15b))return _0x2561b3[_0x546917(0x133)];return extractGatewayMessageText(_0x2561b3[_0x546917(0xdb)]);}function guessMimeType(_0x1e4d91){const _0x52ca32=_0x44db42,_0x2ea4f5=_0x1e4d91['split']('.')[_0x52ca32(0x147)]()?.[_0x52ca32(0x183)+_0x52ca32(0x222)]()??'',_0x21eda6={'png':_0x52ca32(0xc9)+'g','jpg':_0x52ca32(0x19b)+'eg','jpeg':'image/jp'+'eg','webp':_0x52ca32(0x227)+'bp','gif':_0x52ca32(0x10f)+'f','svg':'image/sv'+'g+xml','pdf':_0x52ca32(0x190)+_0x52ca32(0xfa),'txt':_0x52ca32(0x188)+'in','md':_0x52ca32(0x1c3)+_0x52ca32(0x16d),'json':_0x52ca32(0x190)+'ion/json','csv':_0x52ca32(0x143)};return _0x21eda6[_0x2ea4f5]||_0x52ca32(0x190)+_0x52ca32(0x161)+'t-stream';}async function buildAttachments(_0x2b35e2=[]){const _0xd029c4=_0x44db42,_0x38325d=[];for(const _0xe67009 of _0x2b35e2){const _0x4c8a76=getTrimmedString(_0xe67009);if(!_0x4c8a76)continue;const _0x15b31a=await stat(_0x4c8a76);if(!_0x15b31a[_0xd029c4(0x1ce)]())continue;if(_0x15b31a[_0xd029c4(0xc2)]>ATTACHMENT_MAX_BYTES)throw new Error(_0xd029c4(0x1ad)+_0xd029c4(0x168)+_0xd029c4(0xfe)+basename(_0x4c8a76));const _0x3919b5=guessMimeType(_0x4c8a76);_0x38325d['push']({'type':_0x3919b5[_0xd029c4(0xcd)+'th'](_0xd029c4(0xf6))?_0xd029c4(0x1cd):_0xd029c4(0x199),'mimeType':_0x3919b5,'content':(await readFile(_0x4c8a76))[_0xd029c4(0x1d0)](_0xd029c4(0xf5)),'fileName':basename(_0x4c8a76)});}return _0x38325d;}function buildSessionCreateRequestPayload(_0x37010f={}){const _0x42793f=_0x44db42,_0x26e4b6={},_0x4c922e=Math['random']()[_0x42793f(0x1d0)](0x24)[_0x42793f(0x22d)](0x2,0xf),_0x51f3b5=getTrimmedString(_0x37010f[_0x42793f(0x172)])||_0x42793f(0x164),_0x4fb5a6=getTrimmedString(_0x37010f['key'])||_0x42793f(0x178)+_0x51f3b5+(_0x42793f(0x160)+'-')+Date['now']();_0x26e4b6[_0x42793f(0x1a5)]=_0x4fb5a6+'-'+_0x4c922e,_0x26e4b6[_0x42793f(0x172)]=_0x51f3b5;const _0x1b4c9b=getTrimmedString(_0x37010f['label']);if(_0x1b4c9b)_0x26e4b6['label']=_0x1b4c9b+'-'+_0x4c922e;for(const _0x425dd7 of[_0x42793f(0x122),_0x42793f(0x20d)+_0x42793f(0xc4),'task',_0x42793f(0x220)]){const _0x2a5fb4=getTrimmedString(_0x37010f[_0x425dd7]);if(_0x2a5fb4)_0x26e4b6[_0x425dd7]=_0x2a5fb4;}return _0x26e4b6;}function parseSessionCreateResult(_0x4359fe){const _0x3be61d=_0x44db42,_0x152b42=asRecord(_0x4359fe),_0x234fb5=asRecord(_0x152b42['session']);return{'ok':!![],'key':getTrimmedString(_0x152b42[_0x3be61d(0x1a5)])||getTrimmedString(_0x152b42['sessionK'+'ey'])||getTrimmedString(_0x234fb5['key'])||null,'sessionId':getTrimmedString(_0x152b42[_0x3be61d(0x1b4)+'d'])||getTrimmedString(_0x234fb5['sessionI'+'d'])||null};}function getSessionKeyFromValue(_0xff2013){const _0x50be68=_0x44db42,_0x1e857f=asRecord(_0xff2013);return getTrimmedString(_0x1e857f[_0x50be68(0x1c8)+'ey']??_0x1e857f[_0x50be68(0x1a5)]??_0x1e857f['id']);}function createEmptySessionMetadata(){return{'names':{},'pinnedKeys':[]};}async function readSessionMetadata(_0x226c3d){const _0x3c3da1=_0x44db42;try{const _0x54335c=JSON[_0x3c3da1(0x1de)](await readFile(join(_0x226c3d,SESSION_METADATA_FILE),_0x3c3da1(0x10a))),_0x2a4bef=asRecord(_0x54335c);return{'names':asRecord(_0x2a4bef['names']),'pinnedKeys':Array[_0x3c3da1(0x1c6)](_0x2a4bef['pinnedKe'+'ys'])?_0x2a4bef[_0x3c3da1(0x14e)+'ys'][_0x3c3da1(0x210)](_0x3dbf16=>typeof _0x3dbf16===_0x3c3da1(0x15b)&&_0x3dbf16[_0x3c3da1(0xe1)]()):[]};}catch{return createEmptySessionMetadata();}}async function writeSessionMetadata(_0xd7311e,_0x2a541f){const _0xe97d12=_0x44db42;await mkdir(_0xd7311e,{'recursive':!![]}),await writeFile(join(_0xd7311e,SESSION_METADATA_FILE),JSON[_0xe97d12(0xde)+'y'](_0x2a541f,null,0x2)+'\x0a',_0xe97d12(0x10a));}function applySessionMetadata(_0x580033,_0x363619){const _0xc38a0a=_0x44db42,_0x8e59e0=asRecord(_0x580033),_0x809f13=Array[_0xc38a0a(0x1c6)](_0x8e59e0[_0xc38a0a(0xfd)])?_0x8e59e0[_0xc38a0a(0xfd)]:[];return{..._0x8e59e0,'pinnedKeys':_0x363619[_0xc38a0a(0x14e)+'ys'],'sessions':_0x809f13[_0xc38a0a(0x128)](_0x1ebe1c=>{const _0x41019e=_0xc38a0a,_0x184a25=asRecord(_0x1ebe1c),_0x4b8558=getSessionKeyFromValue(_0x184a25);if(!_0x4b8558)return _0x1ebe1c;const _0x5b4555=getTrimmedString(_0x363619[_0x41019e(0x1cf)][_0x4b8558]),_0x44d3b1=_0x363619[_0x41019e(0x14e)+'ys'][_0x41019e(0x15d)](_0x4b8558);return{..._0x184a25,..._0x5b4555?{'name':_0x5b4555,'displayName':_0x5b4555,'label':_0x5b4555}:{},'pinned':_0x44d3b1};})};}function sanitizeSharedContextPayload(_0x4ba48a){const _0x46a2c0=asRecord(_0x4ba48a),_0x40e270={};for(const _0x4b3490 of SHARED_CONTEXT_FILES){if(typeof _0x46a2c0[_0x4b3490]==='string')_0x40e270[_0x4b3490]=_0x46a2c0[_0x4b3490];}return _0x40e270;}async function readSharedContext(_0x46c69b){const _0x598de5=_0x44db42,_0x4934e5={};for(const _0x6491d2 of SHARED_CONTEXT_FILES){try{_0x4934e5[_0x6491d2]=await readFile(join(_0x46c69b,_0x6491d2),_0x598de5(0x10a));}catch{_0x4934e5[_0x6491d2]='';}}return _0x4934e5;}async function writeSharedContext(_0x4003a6,_0x4d7f11){const _0x40f8e5=_0x44db42,_0x3c5b38=sanitizeSharedContextPayload(_0x4d7f11);await mkdir(_0x4003a6,{'recursive':!![]});for(const [_0x159d8d,_0x45a5d9]of Object[_0x40f8e5(0xf1)](_0x3c5b38)){await writeFile(join(_0x4003a6,_0x159d8d),_0x45a5d9,_0x40f8e5(0x10a));}return{'ok':!![],'files':Object['keys'](_0x3c5b38)};}function createAskUserQuestionServer({configController:_0x7576f2,emit:_0x657fbe}){const _0x3cde2a=new Map();let _0x2ed9f3=null,_0x19f84c='',_0x7fe0b5='';async function _0x5e6c6b(){const _0x2e0c84=_0x113e;if(_0x2ed9f3)return{'callbackUrl':_0x19f84c,'secret':_0x7fe0b5};_0x7fe0b5=randomUUID();const _0x1765ea=await _0x27f52f({'port':portNumbers(0x332c,0x338f)});return _0x19f84c='http://1'+'27.0.0.1'+':'+_0x1765ea+(_0x2e0c84(0x17e)+_0x2e0c84(0x140)+'on'),_0x2ed9f3=createServer(async(_0x4d67c1,_0x4d356e)=>{const _0x39036d=_0x2e0c84;if(_0x4d67c1[_0x39036d(0x192)]!==_0x39036d(0x20e)||_0x4d67c1[_0x39036d(0x131)]!=='/ask-use'+'r-questi'+'on'){_0x4d356e[_0x39036d(0x221)+'d'](0x194),_0x4d356e['end']('not\x20foun'+'d');return;}if(_0x4d67c1['headers'][_0x39036d(0x126)+_0x39036d(0x1d1)+'t']!==_0x7fe0b5){_0x4d356e['writeHea'+'d'](0x191),_0x4d356e[_0x39036d(0x1e6)](_0x39036d(0x142)+_0x39036d(0x1a2));return;}let _0x25bdab='';_0x4d67c1['on'](_0x39036d(0x201),_0x3d9765=>{const _0x5be683=_0x39036d;_0x25bdab+=_0x3d9765['toString']();if(_0x25bdab[_0x5be683(0x191)]>0x400*0x400)_0x4d67c1[_0x5be683(0xf0)]();}),_0x4d67c1['on'](_0x39036d(0x1e6),()=>{const _0x2756b6=_0x39036d;let _0x1393a0={};try{_0x1393a0=JSON[_0x2756b6(0x1de)](_0x25bdab||'{}');}catch{_0x4d356e[_0x2756b6(0x221)+'d'](0x190),_0x4d356e[_0x2756b6(0x1e6)](_0x2756b6(0x100)+_0x2756b6(0x17c));return;}const _0x27516d=randomUUID(),_0x4e7512=setTimeout(()=>{const _0x76ab99=_0x2756b6;if(!_0x3cde2a[_0x76ab99(0xdc)](_0x27516d))return;_0x3cde2a[_0x76ab99(0x115)](_0x27516d),_0x4d356e[_0x76ab99(0x221)+'d'](0xc8,{'content-type':_0x76ab99(0x190)+_0x76ab99(0x124)}),_0x4d356e[_0x76ab99(0x1e6)](JSON[_0x76ab99(0xde)+'y']({'behavior':'deny'}));},0x1d4c0);_0x3cde2a[_0x2756b6(0x139)](_0x27516d,{'res':_0x4d356e,'timeout':_0x4e7512}),_0x657fbe(_0x2756b6(0x195)+'-questio'+'n',{'requestId':_0x27516d,...asRecord(_0x1393a0)});});}),await new Promise((_0x3b2c56,_0x530748)=>{const _0x30488d=_0x2e0c84;_0x2ed9f3[_0x30488d(0x15c)](_0x30488d(0x1d7),_0x530748),_0x2ed9f3[_0x30488d(0x171)](_0x1765ea,_0x30488d(0x174)+'1',()=>{const _0x50915f=_0x30488d;_0x2ed9f3['off'](_0x50915f(0x1d7),_0x530748),_0x3b2c56();});}),await _0x7576f2['ensureAs'+_0x2e0c84(0x1e2)+'stionPlu'+'ginConfi'+'g']({'callbackUrl':_0x19f84c,'secret':_0x7fe0b5}),{'callbackUrl':_0x19f84c,'secret':_0x7fe0b5};}function _0x2cd044(_0x2e2e11={}){const _0x4ce2a0=_0x113e,_0x358d37=getTrimmedString(_0x2e2e11[_0x4ce2a0(0xe9)+'d']);if(!_0x358d37||!_0x3cde2a[_0x4ce2a0(0xdc)](_0x358d37))throw new Error(_0x4ce2a0(0x195)+_0x4ce2a0(0xc3)+_0x4ce2a0(0x1ee)+_0x4ce2a0(0x1a6)+_0x4ce2a0(0x1d5));const _0x4068b8=_0x3cde2a['get'](_0x358d37);return _0x3cde2a[_0x4ce2a0(0x115)](_0x358d37),clearTimeout(_0x4068b8['timeout']),_0x4068b8['res'][_0x4ce2a0(0x221)+'d'](0xc8,{'content-type':_0x4ce2a0(0x190)+_0x4ce2a0(0x124)}),_0x4068b8[_0x4ce2a0(0x236)]['end'](JSON['stringif'+'y']({'behavior':_0x2e2e11[_0x4ce2a0(0x1ae)]==='deny'?'deny':_0x4ce2a0(0x234),'answers':asRecord(_0x2e2e11[_0x4ce2a0(0x22c)])})),{'ok':!![]};}async function _0x4962df(){const _0x24f265=_0x113e;for(const [_0x17b075,_0x5bb315]of _0x3cde2a){_0x3cde2a[_0x24f265(0x115)](_0x17b075),clearTimeout(_0x5bb315[_0x24f265(0x1bc)]),_0x5bb315[_0x24f265(0x236)][_0x24f265(0x221)+'d'](0xc8,{'content-type':'applicat'+'ion/json'}),_0x5bb315['res'][_0x24f265(0x1e6)](JSON['stringif'+'y']({'behavior':_0x24f265(0x1cb)}));}if(!_0x2ed9f3)return;await new Promise(_0x376fa6=>_0x2ed9f3['close'](_0x376fa6)),_0x2ed9f3=null;}return{'start':_0x5e6c6b,'answer':_0x2cd044,'stop':_0x4962df};}export function createGatewayController({shellConfig:_0x4e329f,configController:_0x43e743,appVersion:appVersion=_0x44db42(0x208)}){const _0x4d8366=_0x44db42,_0x512dac=new EventEmitter(),_0x55b070=new ClawGatewayWsClient(),_0x1dda32=[],_0xe9e03a=new Map(),_0x31aa5c=new Map(),_0x407d97=createShellLogger(_0x43e743[_0x4d8366(0xe4)],_0x4d8366(0x189)),_0x3f9c59=createShellLogger(_0x43e743[_0x4d8366(0xe4)],'chat'),_0x1de0f7=createShellLogger(_0x43e743['paths'],_0x4d8366(0xfd)),_0x19e45f=createShellLogger(_0x43e743['paths'],_0x4d8366(0x10d)+_0x4d8366(0xd6)),_0x455473=createAskUserQuestionServer({'configController':_0x43e743,'emit':(_0x5a3b15,_0x3bec26)=>_0x512dac[_0x4d8366(0x16e)](_0x5a3b15,_0x3bec26)});let _0x5ae230=createInitialStatus(),_0x3b2004=null,_0x5e7dcc=null,_0x463959=null,_0x5ec07e=![],_0x55b3b6=![],_0x805750=Promise['resolve'](),_0x4cbc36=null,_0x1d30ec=0x0;function _0x5c1381(_0x55697a,_0x5520b5){const _0x387a1f=_0x4d8366;_0x512dac[_0x387a1f(0x16e)](_0x55697a,_0x5520b5);}function _0xa33f86(_0x2171bf,_0xa0c62c){const _0x19187e=_0x4d8366;return _0x512dac['on'](_0x2171bf,_0xa0c62c),()=>_0x512dac[_0x19187e(0x23b)](_0x2171bf,_0xa0c62c);}function _0x29d5d8(_0x588dd3){const _0x292bc3=_0x4d8366;_0x5ae230={..._0x5ae230,..._0x588dd3,'updatedAt':nowIso()},_0x5c1381(_0x292bc3(0x141)+_0x292bc3(0xd1),_0x5ae230);}function _0x1c671d(_0xb82e8b,_0x436217,_0x10e846={}){const _0x5ab111=_0x4d8366;_0x29d5d8({'lifecycle':_0xb82e8b,'message':_0x436217,..._0x10e846}),_0x5eec34(_0x5ab111(0x1ea),_0xb82e8b[_0x5ab111(0xcc)+_0x5ab111(0x222)]()+'\x20'+_0x436217),_0x407d97?.['info'](_0x5ab111(0x1b0)+'lifecycl'+'e\x20update'+'d',{'lifecycle':_0xb82e8b,'message':_0x436217,'status':{'health':_0x5ae230[_0x5ab111(0x12c)],'port':_0x5ae230[_0x5ab111(0x22a)],'tokenPresent':_0x5ae230[_0x5ab111(0x10b)+_0x5ab111(0x134)]},...summarizePayload(_0x10e846)});}function _0x5eec34(_0x16c9aa,_0x30a907){const _0x5a8f05=_0x4d8366,_0x1547ef=String(_0x30a907??'')[_0x5a8f05(0x179)]();if(!_0x1547ef)return;const _0x47835c={'source':_0x16c9aa,'text':_0x1547ef,'timestamp':nowIso()};_0x1dda32[_0x5a8f05(0x181)](_0x47835c);if(_0x1dda32['length']>LOG_LIMIT)_0x1dda32['splice'](0x0,_0x1dda32[_0x5a8f05(0x191)]-LOG_LIMIT);_0x5c1381(_0x5a8f05(0x141)+_0x5a8f05(0x13a),_0x47835c),_0x407d97?.[_0x5a8f05(0xcf)](_0x5a8f05(0x1b0)+_0x5a8f05(0x13a),{'source':_0x16c9aa,'text':_0x1547ef});}function _0x2e57e3(_0x3cc4d9=0xc8){const _0xa9716=_0x4d8366;return _0x1dda32[_0xa9716(0x22d)](-Math['max'](0x1,Math[_0xa9716(0x12f)](_0x3cc4d9)));}function _0x52dddc(){const _0x50a264=_0x4d8366;if(!_0x3b2004||_0x5ae230[_0x50a264(0x1f3)+'e']!==_0x50a264(0x1f4))throw new Error('gateway\x20'+_0x50a264(0x196)+_0x50a264(0x12a)+_0x50a264(0xd0)+_0x50a264(0x11f)+'y');}function _0x31ac71(){const _0x127046=_0x4d8366;return Boolean(_0x3b2004&&_0x5ae230[_0x127046(0x1f3)+'e']==='running');}function _0x404848(_0x2b8ff9){_0x5c1381('chat-str'+'eam-even'+'t',_0x2b8ff9);}function _0x1c6d83(_0x4d96c4){const _0x323823=_0x4d8366,_0xa2768=_0xe9e03a[_0x323823(0xd8)](_0x4d96c4);if(!_0xa2768)return null;_0xe9e03a[_0x323823(0x115)](_0x4d96c4);if(_0xa2768[_0x323823(0x1b2)+_0x323823(0x1ff)+_0x323823(0xe3)])clearTimeout(_0xa2768[_0x323823(0x1b2)+_0x323823(0x1ff)+_0x323823(0xe3)]);return _0x31aa5c['delete'](_0xa2768['sessionK'+'ey']),_0xa2768;}function _0x539689(_0x2192cd,_0x485510,_0x4f44b2=''){const _0x2cdac3=_0x4d8366,_0x1809c1=_0x1c6d83(_0x2192cd[_0x2cdac3(0x213)]);if(!_0x1809c1)return;_0x3f9c59?.[_0x2cdac3(0xcf)](_0x2cdac3(0x177)+'\x20settled',{'requestId':_0x1809c1[_0x2cdac3(0xe9)+'d'],'runId':_0x1809c1['runId'],'sessionKey':_0x1809c1['sessionK'+'ey'],'outcome':_0x485510,'durationMs':Date[_0x2cdac3(0x108)]()-_0x1809c1[_0x2cdac3(0x1ba)+'t'],'textLength':_0x1809c1[_0x2cdac3(0x110)+'th'],..._0x4f44b2?{'message':_0x4f44b2}:{}}),_0x404848({'requestId':_0x1809c1[_0x2cdac3(0xe9)+'d'],'sessionKey':_0x1809c1[_0x2cdac3(0x1c8)+'ey'],'type':_0x485510,..._0x4f44b2?{'message':_0x4f44b2}:{}});}function _0x242ae9(_0x1c4145){const _0x5eef44=_0x4d8366;let _0x2c4365=null;for(const _0x2def5f of _0xe9e03a['values']()){if(_0x2def5f[_0x5eef44(0x1c8)+'ey']===_0x1c4145)_0x2c4365=_0x2def5f;}return _0x2c4365;}function _0x2e03d1(_0x1eb98f){const _0x244e1c=_0x4d8366;if(!_0x1eb98f)return null;for(const _0x3b8a2b of _0xe9e03a['values']()){if(_0x3b8a2b[_0x244e1c(0xe9)+'d']===_0x1eb98f)return _0x3b8a2b;}return null;}function _0xb53d03(_0x396ef1,_0x2d0a17){const _0x13dcae=_0x4d8366;if(_0x2d0a17[_0x13dcae(0x191)]<=_0x396ef1[_0x13dcae(0x110)+'th'])return;const _0xdc8fa2=_0x2d0a17[_0x13dcae(0x22d)](_0x396ef1[_0x13dcae(0x110)+'th']);_0x396ef1['textLeng'+'th']=_0x2d0a17[_0x13dcae(0x191)],_0xdc8fa2&&_0x404848({'requestId':_0x396ef1['requestI'+'d'],'sessionKey':_0x396ef1[_0x13dcae(0x1c8)+'ey'],'type':_0x13dcae(0x155),'delta':_0xdc8fa2});}function _0x6ba867(_0x448e21,_0x32e791,_0x399f14=''){const _0x3d60f3=_0x4d8366;if(_0x448e21[_0x3d60f3(0x1b2)+_0x3d60f3(0x1ff)+_0x3d60f3(0xe3)])clearTimeout(_0x448e21['terminal'+_0x3d60f3(0x1ff)+'Timer']);_0x448e21[_0x3d60f3(0x1b2)+_0x3d60f3(0x1ff)+_0x3d60f3(0xe3)]=setTimeout(()=>{const _0x32dd03=_0x3d60f3,_0x5e1822=_0xe9e03a[_0x32dd03(0xd8)](_0x448e21['runId']);if(!_0x5e1822)return;_0x539689(_0x5e1822,_0x32e791===_0x32dd03(0x1d7)?_0x32dd03(0x1d7):_0x32dd03(0x1c5),_0x399f14);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x4b13e7(_0x5cd06a){const _0x376c45=_0x4d8366;for(const _0x57dd6b of _0xe9e03a['values']()){_0x3f9c59?.[_0x376c45(0x218)]('chat\x20run'+_0x376c45(0x13d)+_0x376c45(0x1d2)+_0x376c45(0x1da),{'requestId':_0x57dd6b['requestI'+'d'],'runId':_0x57dd6b[_0x376c45(0x213)],'sessionKey':_0x57dd6b['sessionK'+'ey'],'durationMs':Date[_0x376c45(0x108)]()-_0x57dd6b['startedA'+'t'],'reason':_0x5cd06a}),_0x404848({'requestId':_0x57dd6b[_0x376c45(0xe9)+'d'],'sessionKey':_0x57dd6b['sessionK'+'ey'],'type':'error','message':_0x5cd06a});if(_0x57dd6b[_0x376c45(0x1b2)+_0x376c45(0x1ff)+'Timer'])clearTimeout(_0x57dd6b['terminal'+'Fallback'+_0x376c45(0xe3)]);}_0xe9e03a['clear'](),_0x31aa5c[_0x376c45(0x239)]();}function _0x532065(_0x12d683){const _0x16e1dd=_0x4d8366,_0x30671b=getTrimmedString(_0x12d683[_0x16e1dd(0x213)]),_0x39203f=getTrimmedString(_0x12d683[_0x16e1dd(0x1a3)])||_0x16e1dd(0xf4),_0x3da9c4=getTrimmedString(_0x12d683['sessionK'+'ey']),_0x76d7e0=(_0x30671b?_0xe9e03a[_0x16e1dd(0xd8)](_0x30671b):null)??(_0x3da9c4?_0x242ae9(_0x3da9c4):null);if(_0x30671b&&_0x3da9c4)_0x31aa5c[_0x16e1dd(0x139)](_0x3da9c4,_0x30671b);if(_0x3da9c4)_0x5c1381(_0x16e1dd(0x20f)+_0x16e1dd(0xf4),{'sessionKey':_0x3da9c4,'state':_0x39203f});_0x3f9c59?.[_0x16e1dd(0xcf)](_0x16e1dd(0x1b0)+_0x16e1dd(0xd5)+'nt\x20recei'+_0x16e1dd(0x18a),{'runId':_0x30671b,'sessionKey':_0x3da9c4,'state':_0x39203f,'hasActiveRun':Boolean(_0x76d7e0),'messageText':summarizeText(extractGatewayChatText(_0x12d683[_0x16e1dd(0x220)]),0x78),'errorMessage':getTrimmedString(_0x12d683[_0x16e1dd(0x1eb)+_0x16e1dd(0x176)])});_0x76d7e0&&(_0x39203f==='final'||_0x39203f===_0x16e1dd(0x1b3)||_0x39203f===_0x16e1dd(0x1d7))&&_0x6ba867(_0x76d7e0,_0x39203f,typeof _0x12d683[_0x16e1dd(0x1eb)+_0x16e1dd(0x176)]===_0x16e1dd(0x15b)?_0x12d683[_0x16e1dd(0x1eb)+_0x16e1dd(0x176)]:_0x16e1dd(0x1b0)+_0x16e1dd(0xf9)+_0x16e1dd(0x104));if(!_0x76d7e0)return;if(_0x3da9c4&&_0x3da9c4!==_0x76d7e0[_0x16e1dd(0x1c8)+'ey'])return;if(_0x39203f===_0x16e1dd(0x155)){_0xb53d03(_0x76d7e0,extractGatewayChatText(_0x12d683[_0x16e1dd(0x220)]));return;}if(_0x39203f===_0x16e1dd(0x1ed)||_0x39203f==='aborted'){_0xb53d03(_0x76d7e0,extractGatewayChatText(_0x12d683['message'])),_0x539689(_0x76d7e0,_0x16e1dd(0x1c5));return;}_0x39203f===_0x16e1dd(0x1d7)&&_0x539689(_0x76d7e0,'error',typeof _0x12d683[_0x16e1dd(0x1eb)+_0x16e1dd(0x176)]===_0x16e1dd(0x15b)?_0x12d683[_0x16e1dd(0x1eb)+'sage']:_0x16e1dd(0x1b0)+_0x16e1dd(0xf9)+'led');}async function _0x5d9c6f(_0x193a2c,_0x55fa3c){const _0x432620=_0x4d8366;_0x55b070[_0x432620(0x150)+'e']({'url':buildGatewayWsUrl(_0x55fa3c),'token':_0x193a2c,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x4e329f[_0x432620(0x137)+'ame'],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x43e743[_0x432620(0x17d)+_0x432620(0x1fd)+_0x432620(0xca)+'h'](),'onChatEvent':_0x532065,'onAgentEvent':_0x504df1=>_0x5c1381(_0x432620(0x111)+_0x432620(0x135),_0x504df1),'onConnected':async()=>{const _0x5eee8f=_0x432620;if(!_0x3b2004||!_0x463959||!_0x5e7dcc)return;_0x407d97?.[_0x5eee8f(0xcf)](_0x5eee8f(0x1b0)+_0x5eee8f(0x120)+'t\x20connec'+_0x5eee8f(0x194),{'port':_0x463959,'pid':_0x3b2004['pid'],'readyMs':_0x1d30ec?Date[_0x5eee8f(0x108)]()-_0x1d30ec:undefined}),_0x1c671d('running',_0x5eee8f(0x1b0)+'connecte'+'d',{'health':_0x5eee8f(0xf2),'port':_0x463959,'tokenPresent':!![]});try{await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x4e329f['projectR'+'oot']))['runtimeR'+_0x5eee8f(0x173)],_0x5eee8f(0x17f),'agents'),'stateDir':_0x43e743[_0x5eee8f(0xf7)+_0x5eee8f(0x1aa)](),'listAgents':_0x59d933,'createAgent':_0x515cad=>_0x55b070[_0x5eee8f(0x1db)](_0x5eee8f(0xd9)+_0x5eee8f(0x216),_0x515cad),'updateAgent':_0x4cce66=>_0x55b070['request'](_0x5eee8f(0x1d6)+_0x5eee8f(0x19d),_0x4cce66),'syncSkills':async({agentIds:_0x1d9dd8,mainWorkspace:_0x2f42c2})=>{const _0x14b8a9=_0x5eee8f;_0x19e45f?.[_0x14b8a9(0xcf)](_0x14b8a9(0x18f)+_0x14b8a9(0x23d)+_0x14b8a9(0xc6)+'c\x20starte'+'d',{'agentIds':_0x1d9dd8,'mainWorkspace':toHomePath(_0x2f42c2)});const _0x2a97ff=dirname(_0x2f42c2),_0x2d3046=await syncBundledAgentSkillsToConfig({'agentIds':_0x1d9dd8,'resolveSkillsDir':_0x51a38f=>_0x51a38f===_0x14b8a9(0x164)?join(_0x2f42c2,_0x14b8a9(0x132)):join(_0x2a97ff,_0x14b8a9(0x1a9)+'e-'+_0x51a38f,_0x14b8a9(0x132)),'readConfig':()=>_0x43e743[_0x14b8a9(0x207)+'ig'](),'writeConfig':_0x279a62=>_0x43e743[_0x14b8a9(0x13c)+_0x14b8a9(0x233)](_0x279a62),'markConfigWriteHandledInternally':()=>_0x43e743[_0x14b8a9(0x118)+_0x14b8a9(0x1e5)+_0x14b8a9(0x1fa)+_0x14b8a9(0xf3)]()});_0x4cbc36=_0x2d3046[_0x14b8a9(0x130)+'y'],_0x19e45f?.[_0x14b8a9(0xcf)](_0x14b8a9(0x18f)+_0x14b8a9(0x23d)+'ills\x20syn'+_0x14b8a9(0x144)+_0x14b8a9(0x194),{'agentCount':_0x1d9dd8[_0x14b8a9(0x191)],'changed':_0x2d3046[_0x14b8a9(0x1a0)],'discovery':summarizePayload(_0x2d3046['discover'+'y'],{'maxDepth':0x3})});}}),_0x19e45f?.['info'](_0x5eee8f(0x18f)+_0x5eee8f(0x12b)+_0x5eee8f(0xce)),_0x5c1381(_0x5eee8f(0x113)+_0x5eee8f(0x21c),{'reason':_0x5eee8f(0x21a)+'agents-r'+_0x5eee8f(0x211)});}catch(_0x5a98ab){const _0x2abfa5=_0x5a98ab instanceof Error?_0x5a98ab['stack']||_0x5a98ab[_0x5eee8f(0x220)]:String(_0x5a98ab);_0x5eec34('system','bundled\x20'+'agents\x20s'+_0x5eee8f(0x156)+_0x5eee8f(0x13e)+_0x2abfa5),_0x19e45f?.[_0x5eee8f(0x1d7)](_0x5eee8f(0x18f)+_0x5eee8f(0x15e)+'ync\x20fail'+'ed',{'error':summarizeError(_0x5a98ab)}),console[_0x5eee8f(0x1d7)](_0x5eee8f(0x231)+_0x5eee8f(0x19e)+_0x5eee8f(0x106)+_0x5eee8f(0x212)+_0x5eee8f(0x1c1)+_0x5eee8f(0x1c0),_0x5a98ab);}},'onDisconnected':_0x1d05ab=>{const _0x239c07=_0x432620;_0x407d97?.[_0x239c07(0x218)](_0x239c07(0x1b0)+'websocke'+_0x239c07(0x1d3)+_0x239c07(0x23c),{'reason':_0x1d05ab}),_0x4b13e7(_0x1d05ab);if(_0x55b3b6||!_0x3b2004)return;_0x29d5d8({'health':_0x239c07(0xfb),'message':_0x239c07(0x1b0)+'reconnec'+_0x239c07(0x1dd)+_0x1d05ab});}});}async function _0x785948(_0x3bb652,_0x3e9d3c){const _0x488907=_0x4d8366;if(_0x3b2004)return;_0x1d30ec=Date[_0x488907(0x108)](),_0x1c671d(_0x488907(0x152),'gateway\x20'+'starting',{'health':_0x488907(0xfb),'port':_0x3e9d3c,'tokenPresent':!![]});const _0x4f4718=[_0x488907(0x189),_0x488907(0x1e7),_0x488907(0xd2)+'unconfig'+'ured',_0x488907(0x229),_0x3bb652,_0x488907(0x184),String(_0x3e9d3c)];_0x5eec34(_0x488907(0x1ea),_0x488907(0x17f)+_0x488907(0xee)+'\x20run\x20--a'+'llow-unc'+'onfigure'+_0x488907(0xe0)+_0x488907(0x167)+_0x488907(0x193)+'ort\x20'+_0x3e9d3c),_0x407d97?.[_0x488907(0xcf)](_0x488907(0x1b0)+_0x488907(0x1c2)+'spawn\x20re'+'quested',{'args':[_0x488907(0x189),_0x488907(0x1e7),_0x488907(0xd2)+_0x488907(0x217)+'ured',_0x488907(0x229),'[REDACTE'+'D]',_0x488907(0x184),String(_0x3e9d3c)],'env':{'OPENCLAW_STATE_DIR':toHomePath(_0x43e743[_0x488907(0xf7)+'tateDir']()),'OPENCLAW_CONFIG_PATH':toHomePath(_0x43e743[_0x488907(0x238)+_0x488907(0xe6)+'h']())}}),_0x3b2004=await spawnClaw(_0x4e329f['projectR'+_0x488907(0x173)],_0x4f4718,{'env':{'OPENCLAW_STATE_DIR':_0x43e743['resolveS'+'tateDir'](),'OPENCLAW_CONFIG_PATH':_0x43e743[_0x488907(0x238)+_0x488907(0xe6)+'h']()}}),_0x5e7dcc=_0x3bb652,_0x463959=_0x3e9d3c,_0x407d97?.[_0x488907(0xcf)](_0x488907(0x1b0)+_0x488907(0x1c2)+_0x488907(0x1f1),{'pid':_0x3b2004[_0x488907(0x15f)],'port':_0x463959}),_0x29d5d8({'health':_0x488907(0xfb),'port':_0x463959,'tokenPresent':!![],'message':'gateway\x20'+'process\x20'+_0x488907(0xc5)+_0x488907(0x226)+_0x488907(0x159)}),await _0x5d9c6f(_0x3bb652,_0x3e9d3c);const _0x3d4267=createLineBuffer({'trim':!![],'onLine':_0x265872=>_0x5eec34('stdout',_0x265872)}),_0x442fea=createLineBuffer({'trim':!![],'onLine':_0x219cf1=>_0x5eec34('stderr',_0x219cf1)});_0x3b2004[_0x488907(0x1b9)]['on'](_0x488907(0x201),_0x14feea=>{const _0x7c287=_0x488907;_0x3d4267['push'](_0x14feea[_0x7c287(0x1d0)]());}),_0x3b2004[_0x488907(0x1e8)]['on'](_0x488907(0x201),_0x214fc6=>{const _0x4f71e3=_0x488907;_0x442fea[_0x4f71e3(0x181)](_0x214fc6[_0x4f71e3(0x1d0)]());}),_0x3b2004['on'](_0x488907(0x1d7),_0x580103=>{const _0x58f00c=_0x488907;_0x407d97?.[_0x58f00c(0x1d7)](_0x58f00c(0x1b0)+_0x58f00c(0x1c2)+'error',{'error':summarizeError(_0x580103)}),_0x5eec34(_0x58f00c(0x1e8),_0x580103 instanceof Error?_0x580103['stack']||_0x580103[_0x58f00c(0x220)]:String(_0x580103));}),_0x3b2004['on'](_0x488907(0x127),(_0x1f38fd,_0x1c7428)=>{const _0x227a16=_0x488907;_0x3d4267[_0x227a16(0x119)](),_0x442fea[_0x227a16(0x119)](),_0x407d97?.['warn'](_0x227a16(0x1b0)+_0x227a16(0x1c2)+_0x227a16(0x230),{'pid':_0x3b2004?.[_0x227a16(0x15f)]??null,'code':_0x1f38fd,'signal':_0x1c7428,'uptimeMs':_0x1d30ec?Date[_0x227a16(0x108)]()-_0x1d30ec:undefined}),_0x5eec34(_0x227a16(0x1ea),_0x227a16(0x1b0)+_0x227a16(0x13f)+'ode='+(_0x1f38fd??'null')+_0x227a16(0x1dc)+(_0x1c7428??'null')),_0x3b2004=null,_0x5e7dcc=null,_0x463959=null,_0x55b070[_0x227a16(0x150)+'e'](null),_0x4b13e7(_0x227a16(0x1b0)+_0x227a16(0x1c2)+'exited');if(_0x55b3b6){_0x1c671d('stopped','gateway\x20'+'stopped',{'health':_0x227a16(0xfb),'port':null,'tokenPresent':![]});return;}_0x1c671d(_0x227a16(0x1d7),'gateway\x20'+_0x227a16(0x1b8)+_0x227a16(0x237)+_0x227a16(0x16b),{'health':_0x227a16(0x1ef)+'y','port':null,'tokenPresent':![]});});}async function _0x1ab846(){const _0x1d23ad=_0x4d8366;if(_0x3b2004)return;_0x55b3b6=![],_0x407d97?.['info'](_0x1d23ad(0x1b0)+_0x1d23ad(0x146)+_0x1d23ad(0x1bd)+_0x1d23ad(0x203)+'ed'),await _0x455473['start']()['catch'](_0x59d29d=>{const _0x4f0dbe=_0x1d23ad;_0x5eec34('system',_0x4f0dbe(0x195)+_0x4f0dbe(0xc3)+'n\x20callba'+_0x4f0dbe(0x15a)+_0x4f0dbe(0x1ab)+(_0x59d29d instanceof Error?_0x59d29d[_0x4f0dbe(0x220)]:String(_0x59d29d)));}),await _0x43e743[_0x1d23ad(0xea)+_0x1d23ad(0x102)+'fig'](),await ensureOpenClawDoctorFixed(_0x4e329f,{'runtimeLogger':_0x407d97}),_0x43e743['watchCon'+_0x1d23ad(0x1a8)+'es'](),_0x43e743[_0x1d23ad(0x17b)+_0x1d23ad(0x21b)+'tHandler'](_0x3a012a=>{void _0x345ee8(_0x3a012a);});const _0x223d44=await _0x43e743[_0x1d23ad(0x1c7)+_0x1d23ad(0x186)+_0x1d23ad(0x1a1)]();_0x407d97?.['info'](_0x1d23ad(0x1b0)+'settings'+_0x1d23ad(0x170)+'ed',{'port':_0x223d44['port'],'tokenPresent':Boolean(_0x223d44[_0x1d23ad(0x1bb)])}),await _0x785948(_0x223d44[_0x1d23ad(0x1bb)],_0x223d44[_0x1d23ad(0x22a)]);}async function _0x54d905(){const _0x5a943f=_0x4d8366;_0x55b3b6=!![],_0x407d97?.[_0x5a943f(0xcf)]('gateway\x20'+_0x5a943f(0x146)+_0x5a943f(0x20b)+'requeste'+'d',{'pid':_0x3b2004?.[_0x5a943f(0x15f)]??null,'port':_0x463959}),_0x55b070['configur'+'e'](null);if(_0x3b2004){const _0x541308=_0x3b2004;_0x3b2004=null;try{_0x541308[_0x5a943f(0x11a)](_0x5a943f(0x1cc));}catch{}await new Promise(_0x18f04f=>setTimeout(_0x18f04f,0x1f4));if(!_0x541308[_0x5a943f(0x175)])try{_0x541308[_0x5a943f(0x11a)](_0x5a943f(0x22f));}catch{}}_0x5e7dcc=null,_0x463959=null,_0x4b13e7('gateway\x20'+_0x5a943f(0x232)),await _0x455473[_0x5a943f(0xc7)](),_0x43e743[_0x5a943f(0x14d)](),_0x1c671d(_0x5a943f(0x232),_0x5a943f(0x1b0)+_0x5a943f(0x232),{'health':_0x5a943f(0xfb),'port':null,'tokenPresent':![]}),_0x55b3b6=![];}async function _0x345ee8(_0x45bf5d=_0x4d8366(0x204)+_0x4d8366(0x114)){const _0x1d71d6=_0x4d8366;if(_0x5ec07e)return{'ok':!![]};return _0x5ec07e=!![],_0x407d97?.[_0x1d71d6(0xcf)](_0x1d71d6(0x1b0)+_0x1d71d6(0xd7)+_0x1d71d6(0x121)+'d',{'reason':_0x45bf5d}),_0x805750=_0x805750[_0x1d71d6(0x19c)](async()=>{const _0x24024f=_0x1d71d6;_0x1c671d(_0x24024f(0x197)+'ng',_0x24024f(0x1b0)+_0x24024f(0x197)+_0x24024f(0x17a)+_0x45bf5d,{'health':'unknown'}),await _0x54d905(),await _0x1ab846();})[_0x1d71d6(0x151)](()=>{_0x5ec07e=![];}),await _0x805750,{'ok':!![]};}async function _0x35bcb7(){const _0x34afbe=_0x4d8366,_0x78de0e=await loadRuntimeInfo(_0x4e329f[_0x34afbe(0x10c)+_0x34afbe(0x173)]);return{'runtimeRoot':_0x78de0e['runtimeR'+_0x34afbe(0x173)],'openclawVersion':_0x78de0e[_0x34afbe(0x17f)+_0x34afbe(0x1f6)],'openclawWorkingDir':_0x78de0e['openclaw'+_0x34afbe(0x1ec)+'ir'],'openclawBin':_0x78de0e[_0x34afbe(0x17f)+'Bin'],'plugins':_0x78de0e[_0x34afbe(0x1e9)][_0x34afbe(0x128)](_0x2600b4=>({'pluginId':_0x2600b4[_0x34afbe(0x1be)],'source':_0x2600b4[_0x34afbe(0x107)],'version':_0x2600b4[_0x34afbe(0xef)],'installPath':_0x2600b4[_0x34afbe(0x206)+_0x34afbe(0x158)]})),'configPath':_0x43e743['resolveC'+_0x34afbe(0xe6)+'h'](),'stateDir':_0x43e743[_0x34afbe(0xf7)+_0x34afbe(0x1aa)](),'bundledAgentSkillsDiscovery':_0x4cbc36};}async function _0x59d933(){const _0x1c1988=_0x4d8366;_0x19e45f?.['info'](_0x1c1988(0x11c)+_0x1c1988(0x166)+_0x1c1988(0x16c));const _0x454c16=asRecord(await _0x55b070[_0x1c1988(0x1db)](_0x1c1988(0x1b1)+_0x1c1988(0x169),{})),_0x435ae4=getTrimmedString(_0x454c16[_0x1c1988(0x12d)+'d'])||'main',_0x2c9193=Array[_0x1c1988(0x1c6)](_0x454c16['agents'])?[..._0x454c16[_0x1c1988(0x1df)]]:[];return{..._0x454c16,'defaultId':_0x435ae4,'agents':_0x2c9193};}async function _0x2439e(){const _0x47f4e9=_0x4d8366;if(!_0x31ac71())return{'defaultId':_0x47f4e9(0x164),'mainKey':'','scope':'','pending':!![],'agents':[{'id':_0x47f4e9(0x164),'name':_0x4e329f[_0x47f4e9(0x137)+_0x47f4e9(0x1d8)],'workspace':join(_0x43e743['resolveS'+_0x47f4e9(0x1aa)](),_0x47f4e9(0x1a9)+'e')}]};const _0x329724=await _0x59d933(),_0x24973a=getTrimmedString(_0x329724['defaultI'+'d'])||'main',_0x43f180=Array[_0x47f4e9(0x1c6)](_0x329724[_0x47f4e9(0x1df)])?[..._0x329724[_0x47f4e9(0x1df)]]:[];return!_0x43f180[_0x47f4e9(0x224)](_0x24053e=>asRecord(_0x24053e)['id']===_0x47f4e9(0x164))&&_0x43f180[_0x47f4e9(0x1ac)]({'id':'main','name':_0x4e329f[_0x47f4e9(0x137)+'ame'],'workspace':join(_0x43e743['resolveS'+_0x47f4e9(0x1aa)](),_0x47f4e9(0x1a9)+'e')}),{..._0x329724,'defaultId':_0x24973a,'agents':_0x43f180};}async function _0x23ceb6(_0x29fa29={}){const _0x3c14cf=_0x4d8366;_0x52dddc();const _0xf0179f=Date[_0x3c14cf(0x108)]();_0x1de0f7?.[_0x3c14cf(0xcf)]('session\x20'+_0x3c14cf(0x1f8)+_0x3c14cf(0x14c),{'payload':summarizePayload(_0x29fa29)});const _0x386d82=await _0x55b070[_0x3c14cf(0x1db)](_0x3c14cf(0xfd)+_0x3c14cf(0x165),buildSessionCreateRequestPayload(_0x29fa29)),_0x20c918=parseSessionCreateResult(_0x386d82);return _0x1de0f7?.[_0x3c14cf(0xcf)](_0x3c14cf(0x112)+'create\x20c'+_0x3c14cf(0x154),{'key':_0x20c918['key'],'sessionId':_0x20c918[_0x3c14cf(0x1b4)+'d'],'durationMs':Date['now']()-_0xf0179f}),_0x20c918;}async function _0x45fb50(_0x39cf18={}){const _0x2b6f07=_0x4d8366,_0x48ae89=await readSessionMetadata(_0x43e743[_0x2b6f07(0xf7)+_0x2b6f07(0x1aa)]());if(!_0x31ac71())return{'pending':!![],'sessions':[],'pinnedKeys':_0x48ae89[_0x2b6f07(0x14e)+'ys']};const _0x9b1d29=Date['now'](),_0x4942f4=Math[_0x2b6f07(0x138)](0x1,Math[_0x2b6f07(0x12f)](Number(_0x39cf18[_0x2b6f07(0x105)])||0x64)),_0x550d53={'limit':_0x4942f4,'includeGlobal':!![],'includeUnknown':![]},_0x15fd5c=getTrimmedString(_0x39cf18[_0x2b6f07(0x172)]??_0x2b6f07(0x164));if(_0x15fd5c)_0x550d53['agentId']=_0x15fd5c;const _0x5130ab=applySessionMetadata(await _0x55b070['request']('sessions'+'.list',_0x550d53),_0x48ae89);return _0x1de0f7?.[_0x2b6f07(0xcf)]('sessions'+_0x2b6f07(0x13b)+'mpleted',{'payload':_0x550d53,'count':Array[_0x2b6f07(0x1c6)](_0x5130ab[_0x2b6f07(0xfd)])?_0x5130ab[_0x2b6f07(0xfd)][_0x2b6f07(0x191)]:0x0,'durationMs':Date[_0x2b6f07(0x108)]()-_0x9b1d29}),_0x5130ab;}async function _0x596675(_0x36af8f={}){const _0xba59ed=_0x4d8366;_0x52dddc();const _0xffa41f=getTrimmedString(_0x36af8f['sessionK'+'ey']??_0x36af8f['key']);if(!_0xffa41f)throw new Error(_0xba59ed(0x1c8)+_0xba59ed(0x1f0)+_0xba59ed(0x129));const _0x4e1e20=Date[_0xba59ed(0x108)](),_0x5aeb52=await _0x55b070[_0xba59ed(0x1db)]('sessions'+_0xba59ed(0xdf),{'key':_0xffa41f,'deleteTranscript':_0x36af8f[_0xba59ed(0xda)+_0xba59ed(0x14a)]!==![],'emitLifecycleHooks':!![]}),_0x53d67f=await readSessionMetadata(_0x43e743['resolveS'+_0xba59ed(0x1aa)]());return delete _0x53d67f[_0xba59ed(0x1cf)][_0xffa41f],_0x53d67f[_0xba59ed(0x14e)+'ys']=_0x53d67f[_0xba59ed(0x14e)+'ys'][_0xba59ed(0x210)](_0x3f92f0=>_0x3f92f0!==_0xffa41f),await writeSessionMetadata(_0x43e743['resolveS'+_0xba59ed(0x1aa)](),_0x53d67f),_0x5c1381('session-'+_0xba59ed(0xf4),{'type':_0xba59ed(0x1e4),'sessionKey':_0xffa41f}),_0x1de0f7?.[_0xba59ed(0xcf)](_0xba59ed(0x112)+_0xba59ed(0x23a)+_0xba59ed(0x154),{'sessionKey':_0xffa41f,'deleteTranscript':_0x36af8f[_0xba59ed(0xda)+_0xba59ed(0x14a)]!==![],'durationMs':Date[_0xba59ed(0x108)]()-_0x4e1e20}),_0x5aeb52;}async function _0x360757(_0x30087a={}){const _0x5244ae=_0x4d8366,_0x277c3e=getTrimmedString(_0x30087a['sessionK'+'ey']??_0x30087a[_0x5244ae(0x1a5)]);if(!_0x277c3e)throw new Error('sessionK'+'ey\x20is\x20re'+_0x5244ae(0x129));const _0x9b2dd9=getTrimmedString(_0x30087a[_0x5244ae(0x153)]??_0x30087a[_0x5244ae(0xe5)]??_0x30087a[_0x5244ae(0x182)]),_0x34ee14=await readSessionMetadata(_0x43e743[_0x5244ae(0xf7)+'tateDir']());if(_0x9b2dd9)_0x34ee14[_0x5244ae(0x1cf)][_0x277c3e]=_0x9b2dd9;else delete _0x34ee14[_0x5244ae(0x1cf)][_0x277c3e];return await writeSessionMetadata(_0x43e743['resolveS'+'tateDir'](),_0x34ee14),_0x5c1381('session-'+'updated',{'type':_0x5244ae(0x209),'sessionKey':_0x277c3e,'name':_0x9b2dd9}),_0x1de0f7?.[_0x5244ae(0xcf)](_0x5244ae(0x112)+_0x5244ae(0x10e)+_0x5244ae(0x154),{'sessionKey':_0x277c3e,'hasName':Boolean(_0x9b2dd9),'name':_0x9b2dd9?summarizeText(_0x9b2dd9,0x50):undefined}),{'ok':!![]};}async function _0x3cd019(){const _0x1efabc=_0x4d8366,_0x255f8e=await readSessionMetadata(_0x43e743[_0x1efabc(0xf7)+_0x1efabc(0x1aa)]());return _0x255f8e[_0x1efabc(0x14e)+'ys'];}async function _0x49b25a(_0x50683a=[]){const _0x31b752=_0x4d8366,_0x442614=await readSessionMetadata(_0x43e743[_0x31b752(0xf7)+'tateDir']());return _0x442614[_0x31b752(0x14e)+'ys']=Array[_0x31b752(0x1c6)](_0x50683a)?[...new Set(_0x50683a[_0x31b752(0x128)](getTrimmedString)[_0x31b752(0x210)](Boolean))]:[],await writeSessionMetadata(_0x43e743[_0x31b752(0xf7)+_0x31b752(0x1aa)](),_0x442614),_0x5c1381('session-'+_0x31b752(0xf4),{'type':_0x31b752(0x18d)+'eys-upda'+_0x31b752(0x194),'pinnedKeys':_0x442614[_0x31b752(0x14e)+'ys']}),_0x1de0f7?.['info'](_0x31b752(0x112)+'pinned\x20k'+_0x31b752(0xd3)+_0x31b752(0x194),{'count':_0x442614['pinnedKe'+'ys'][_0x31b752(0x191)]}),{'ok':!![],'pinnedKeys':_0x442614[_0x31b752(0x14e)+'ys']};}async function _0x587156(){const _0x21c712=_0x4d8366,_0x4e3c29=join(_0x43e743[_0x21c712(0xf7)+'tateDir'](),_0x21c712(0x1a9)+'e');return{'path':_0x4e3c29,'exists':Boolean(await stat(_0x4e3c29)['catch'](()=>null))};}async function _0x39d553(){const _0x16880b=_0x4d8366;return readSharedContext(join(_0x43e743[_0x16880b(0xf7)+'tateDir'](),'workspac'+'e'));}async function _0x207908(_0x5b4b7e={}){const _0x36e152=_0x4d8366;return _0x19e45f?.[_0x36e152(0xcf)]('workspac'+_0x36e152(0xf8)+_0x36e152(0x19a)+'\x20write\x20r'+_0x36e152(0x14c),{'files':Object[_0x36e152(0x215)](sanitizeSharedContextPayload(_0x5b4b7e))}),writeSharedContext(join(_0x43e743[_0x36e152(0xf7)+_0x36e152(0x1aa)](),_0x36e152(0x1a9)+'e'),_0x5b4b7e);}async function _0x54e0e7(_0xb44d98={}){const _0x11e349=_0x4d8366;return _0x52dddc(),await _0x55b070[_0x11e349(0x1db)](_0x11e349(0x109)+'t',_0xb44d98);}async function _0x4f9b4e(_0x18b5c5={}){const _0x227a4a=_0x4d8366;return _0x52dddc(),await _0x55b070[_0x227a4a(0x1db)]('cron.add',_0x18b5c5);}async function _0x3f6098(_0x40108f={}){const _0x29cf05=_0x4d8366;_0x52dddc();const _0x1bfb42=getTrimmedString(_0x40108f[_0x29cf05(0xdd)]??_0x40108f['id']);if(!_0x1bfb42)throw new Error(_0x29cf05(0x185)+'\x20require'+'d');const _0x5111eb=asRecord(_0x40108f[_0x29cf05(0x1f7)]),_0x326abf=Object[_0x29cf05(0x215)](_0x5111eb)[_0x29cf05(0x191)]>0x0?_0x5111eb:{..._0x40108f};return delete _0x326abf['jobId'],delete _0x326abf['id'],await _0x55b070[_0x29cf05(0x1db)]('cron.upd'+'ate',{'jobId':_0x1bfb42,'patch':_0x326abf});}async function _0x4e91ae(_0x286e63={}){const _0x172eb2=_0x4d8366;_0x52dddc();const _0x4243c5=getTrimmedString(_0x286e63[_0x172eb2(0xdd)]??_0x286e63['id']);if(!_0x4243c5)throw new Error('jobId\x20is'+_0x172eb2(0xec)+'d');return await _0x55b070[_0x172eb2(0x1db)](_0x172eb2(0x1a7)+_0x172eb2(0x21f),{'jobId':_0x4243c5});}async function _0x12270a(_0x32f60d={}){const _0x2a5953=_0x4d8366;_0x52dddc();const _0x47835f=getTrimmedString(_0x32f60d[_0x2a5953(0xdd)]??_0x32f60d['id']);if(!_0x47835f)throw new Error('jobId\x20is'+_0x2a5953(0xec)+'d');return await _0x55b070['request'](_0x2a5953(0x214),{'jobId':_0x47835f});}async function _0x39cc02(_0x4b4928={}){const _0x3165c2=_0x4d8366;return _0x52dddc(),await _0x55b070[_0x3165c2(0x1db)]('cron.run'+'s',_0x4b4928);}async function _0x1b9ba4(_0x46aa95={}){const _0x26c34d=_0x4d8366;_0x52dddc();const _0x34ce70=Date[_0x26c34d(0x108)]();_0x19e45f?.[_0x26c34d(0xcf)](_0x26c34d(0x1b6)+_0x26c34d(0x198)+'quested',{'payload':summarizePayload(_0x46aa95)});try{const _0x128408=await _0x55b070[_0x26c34d(0x1db)](_0x26c34d(0x1f9)+_0x26c34d(0x200),_0x46aa95);return _0x19e45f?.[_0x26c34d(0xcf)](_0x26c34d(0x1b6)+_0x26c34d(0xe7)+_0x26c34d(0x22e),{'durationMs':Date[_0x26c34d(0x108)]()-_0x34ce70,'result':summarizePayload(_0x128408,{'maxDepth':0x2})}),_0x128408;}catch(_0x439a1c){_0x19e45f?.[_0x26c34d(0x1d7)](_0x26c34d(0x1b6)+_0x26c34d(0x1a4)+_0x26c34d(0x162),{'durationMs':Date[_0x26c34d(0x108)]()-_0x34ce70,'error':summarizeError(_0x439a1c)});throw _0x439a1c;}}async function _0x585e94(_0x4b3c4f={}){const _0x3b9a3a=_0x4d8366;return _0x52dddc(),_0x19e45f?.[_0x3b9a3a(0xcf)](_0x3b9a3a(0x101)+_0x3b9a3a(0x14f)+_0x3b9a3a(0x1af),{'payload':summarizePayload(_0x4b3c4f)}),await _0x55b070[_0x3b9a3a(0x1db)]('skills.u'+_0x3b9a3a(0x19d),_0x4b3c4f);}async function _0x2f60ff(_0x18f7de={}){const _0x539608=_0x4d8366;return _0x52dddc(),_0x19e45f?.['info'](_0x539608(0x157)+_0x539608(0x228)+_0x539608(0x1af),{'payload':summarizePayload(_0x18f7de)}),await _0x55b070[_0x539608(0x1db)](_0x539608(0xfc)+_0x539608(0x136),_0x18f7de);}async function _0x11aef5(_0x51ae5e={}){const _0x4ea5a3=_0x4d8366;_0x52dddc();const _0x4034de=getTrimmedString(_0x51ae5e[_0x4ea5a3(0x1c8)+'ey']),_0x29ed26=getTrimmedString(_0x51ae5e['message']),_0x42ee44=getTrimmedString(_0x51ae5e['requestI'+'d'])||randomUUID();if(!_0x4034de)throw new Error(_0x4ea5a3(0x1c8)+_0x4ea5a3(0x1f0)+_0x4ea5a3(0x129));if(!_0x29ed26)throw new Error(_0x4ea5a3(0x20a)+_0x4ea5a3(0x16f)+_0x4ea5a3(0xff));const _0x54bfd5=Date[_0x4ea5a3(0x108)]();_0x3f9c59?.[_0x4ea5a3(0xcf)](_0x4ea5a3(0x223)+_0x4ea5a3(0x18e)+_0x4ea5a3(0x16c),{'requestId':_0x42ee44,'sessionKey':_0x4034de,'message':summarizeText(_0x29ed26),'filePaths':summarizeFilePaths(_0x51ae5e[_0x4ea5a3(0x202)+'s'])}),_0x404848({'requestId':_0x42ee44,'sessionKey':_0x4034de,'type':_0x4ea5a3(0x1f1)}),_0xe9e03a[_0x4ea5a3(0x139)](_0x42ee44,{'runId':_0x42ee44,'requestId':_0x42ee44,'sessionKey':_0x4034de,'textLength':0x0,'startedAt':_0x54bfd5}),_0x31aa5c[_0x4ea5a3(0x139)](_0x4034de,_0x42ee44);try{const _0x1e7ff6=await buildAttachments(Array[_0x4ea5a3(0x1c6)](_0x51ae5e['filePath'+'s'])?_0x51ae5e['filePath'+'s']:[]);_0x3f9c59?.['info'](_0x4ea5a3(0x225)+_0x4ea5a3(0x1d9)+_0x4ea5a3(0x1c4)+'d',{'requestId':_0x42ee44,'sessionKey':_0x4034de,'attachmentCount':_0x1e7ff6[_0x4ea5a3(0x191)],'attachments':_0x1e7ff6[_0x4ea5a3(0x128)](_0xe29e89=>({'type':_0xe29e89['type'],'mimeType':_0xe29e89[_0x4ea5a3(0x1bf)],'fileName':_0xe29e89[_0x4ea5a3(0x1c9)],'contentLength':_0xe29e89[_0x4ea5a3(0xdb)]['length']}))});const _0x43d7ea=asRecord(await _0x55b070[_0x4ea5a3(0x1db)](_0x4ea5a3(0x1fc)+'d',{'sessionKey':_0x4034de,'message':_0x29ed26,'deliver':![],'idempotencyKey':_0x42ee44,..._0x1e7ff6[_0x4ea5a3(0x191)]>0x0?{'attachments':_0x1e7ff6}:{}})),_0x568e3a=getTrimmedString(_0x43d7ea['runId'])||_0x42ee44,_0x1012d7=_0xe9e03a['get'](_0x42ee44);if(!_0x1012d7)return{'ok':!![],'requestId':_0x42ee44,'runId':_0x568e3a};return _0x568e3a!==_0x1012d7[_0x4ea5a3(0x213)]&&(_0xe9e03a[_0x4ea5a3(0x115)](_0x1012d7[_0x4ea5a3(0x213)]),_0x1012d7['runId']=_0x568e3a,_0xe9e03a[_0x4ea5a3(0x139)](_0x568e3a,_0x1012d7)),_0x31aa5c['set'](_0x4034de,_0x568e3a),_0x3f9c59?.[_0x4ea5a3(0xcf)](_0x4ea5a3(0x223)+_0x4ea5a3(0x1f5)+_0x4ea5a3(0x123)+_0x4ea5a3(0x189),{'requestId':_0x42ee44,'runId':_0x568e3a,'sessionKey':_0x4034de,'durationMs':Date[_0x4ea5a3(0x108)]()-_0x54bfd5,'status':_0x43d7ea['status']}),_0x43d7ea[_0x4ea5a3(0xd1)]===_0x4ea5a3(0x1d7)&&_0x539689(_0x1012d7,'error',getTrimmedString(_0x43d7ea['errorMes'+_0x4ea5a3(0x176)])||_0x4ea5a3(0x1b0)+_0x4ea5a3(0xf9)+_0x4ea5a3(0x104)),{'ok':!![],'requestId':_0x42ee44,'runId':_0x568e3a,'response':_0x43d7ea};}catch(_0x41724b){const _0x258bb7=_0x2e03d1(_0x42ee44),_0x69ddb5=_0x41724b instanceof Error?_0x41724b[_0x4ea5a3(0x220)]:String(_0x41724b);_0x3f9c59?.['error'](_0x4ea5a3(0x223)+'eam\x20fail'+'ed',{'requestId':_0x42ee44,'sessionKey':_0x4034de,'durationMs':Date[_0x4ea5a3(0x108)]()-_0x54bfd5,'error':summarizeError(_0x41724b)});if(_0x258bb7)_0x539689(_0x258bb7,'error',_0x69ddb5);else _0x404848({'requestId':_0x42ee44,'sessionKey':_0x4034de,'type':'error','message':_0x69ddb5});throw _0x41724b;}}async function _0x4607da(_0x1757c7={}){const _0x266879=_0x4d8366;_0x52dddc();const _0x4e2572=getTrimmedString(_0x1757c7[_0x266879(0x1c8)+'ey']);if(!_0x4e2572)throw new Error(_0x266879(0x1c8)+'ey\x20is\x20re'+_0x266879(0x129));const _0x2d6b66=Date[_0x266879(0x108)](),_0x3b8d3c=_0x2e03d1(getTrimmedString(_0x1757c7['requestI'+'d']))??_0x242ae9(_0x4e2572),_0x444f35=_0x31aa5c[_0x266879(0xd8)](_0x4e2572),_0x4245f9={'sessionKey':_0x4e2572};if(_0x3b8d3c?.[_0x266879(0x213)])_0x4245f9[_0x266879(0x213)]=_0x3b8d3c[_0x266879(0x213)];else{if(_0x444f35)_0x4245f9[_0x266879(0x213)]=_0x444f35;}const _0x17b1f7=await _0x55b070['request'](_0x266879(0x1e0)+'rt',_0x4245f9);if(_0x3b8d3c)_0x539689(_0x3b8d3c,_0x266879(0x1c5));return _0x3f9c59?.['info'](_0x266879(0x1fb)+_0x266879(0x11e)+'sted',{'sessionKey':_0x4e2572,'requestId':getTrimmedString(_0x1757c7[_0x266879(0xe9)+'d']),'runId':_0x4245f9[_0x266879(0x213)],'durationMs':Date[_0x266879(0x108)]()-_0x2d6b66}),_0x17b1f7;}async function _0x5de723(_0x56200f={}){const _0x160ac5=_0x4d8366;_0x52dddc();const _0x561c61=getTrimmedString(_0x56200f['sessionK'+'ey']);if(!_0x561c61)throw new Error(_0x160ac5(0x1c8)+_0x160ac5(0x1f0)+_0x160ac5(0x129));const _0x1faf42=await _0x55b070['request'](_0x160ac5(0x205)+_0x160ac5(0xc8),{'sessionKey':_0x561c61,'limit':Math[_0x160ac5(0x138)](0x1,Math[_0x160ac5(0x12f)](Number(_0x56200f[_0x160ac5(0x105)])||0xc8))});return _0x3f9c59?.[_0x160ac5(0xcf)](_0x160ac5(0x18b)+_0x160ac5(0x125)+_0x160ac5(0xe8),{'sessionKey':_0x561c61,'limit':Math['max'](0x1,Math[_0x160ac5(0x12f)](Number(_0x56200f['limit'])||0xc8)),'result':summarizePayload(_0x1faf42,{'maxDepth':0x2})}),_0x1faf42;}async function _0x4ae46f(_0x5354ec=''){const _0x120c3d=_0x4d8366;if(!_0x31ac71())return{'pending':!![],'skills':[]};const _0x8c563=getTrimmedString(_0x5354ec),_0x57fc63=await _0x55b070[_0x120c3d(0x1db)](_0x120c3d(0x11d)+_0x120c3d(0x18c),_0x8c563?{'agentId':_0x8c563}:{}),_0x512c48=await _0x43e743[_0x120c3d(0x207)+'ig']()[_0x120c3d(0x19f)](()=>({})),_0x4385c8=filterSkillsForAgent(_0x57fc63,_0x512c48,_0x8c563);return _0x19e45f?.[_0x120c3d(0xcf)](_0x120c3d(0x1ca)+'tatus\x20lo'+_0x120c3d(0xc1),{'agentId':_0x8c563||_0x120c3d(0xe2),'result':summarizePayload(_0x4385c8,{'maxDepth':0x2})}),_0x4385c8;}return{'on':_0xa33f86,'start':_0x1ab846,'stop':_0x54d905,'restart':_0x345ee8,'runtimeInfo':_0x35bcb7,'getStatus':()=>_0x5ae230,'getRecentLogs':_0x2e57e3,'answerAskUserQuestion':_0x426961=>_0x455473[_0x4d8366(0x219)](_0x426961),'agents':{'list':_0x2439e},'skills':{'status':_0x4ae46f,'install':_0x1b9ba4,'update':_0x585e94,'delete':_0x2f60ff},'sessions':{'create':_0x23ceb6,'list':_0x45fb50,'delete':_0x596675,'rename':_0x360757,'pinnedKeys':_0x3cd019,'setPinnedKeys':_0x49b25a},'workspace':{'directoryInfo':_0x587156,'sharedContext':_0x39d553,'writeSharedContext':_0x207908},'cron':{'list':_0x54e0e7,'create':_0x4f9b4e,'update':_0x3f6098,'remove':_0x4e91ae,'runOnce':_0x12270a,'logs':_0x39cc02},'models':{'settings':()=>_0x43e743[_0x4d8366(0x1d4)+_0x4d8366(0x1b7)](),'setSettings':async(_0x9405e={})=>{const _0x14c8f8=_0x4d8366,_0x340af9=_0x9405e?.[_0x14c8f8(0x1e1)+_0x14c8f8(0x149)]!==![];return await _0x43e743[_0x14c8f8(0x180)+_0x14c8f8(0x1b7)](_0x9405e,{'restartOnChange':_0x340af9}),_0x43e743[_0x14c8f8(0x1d4)+_0x14c8f8(0x1b7)]();},'setSelfOperatedModels':_0x2727c7=>_0x43e743['setSelfO'+_0x4d8366(0x1f2)+'odels'](_0x2727c7),'selectedModelId':async()=>{const _0x24b16e=_0x4d8366,_0x4a3405=await _0x43e743[_0x24b16e(0x1d4)+_0x24b16e(0x1b7)]();return _0x4a3405['provider']&&_0x4a3405[_0x24b16e(0x20c)+'e']?_0x4a3405[_0x24b16e(0x12e)]+'/'+_0x4a3405[_0x24b16e(0x20c)+'e']:'';},'customModels':async()=>[]},'config':{'read':()=>_0x43e743[_0x4d8366(0x207)+'ig']()},'chat':{'stream':_0x11aef5,'abort':_0x4607da,'history':_0x5de723}};}
1
+ const _0x51c199=_0x48c4;(function(_0x34fc0b,_0x219855){const _0x18f3df=_0x48c4,_0x361395=_0x34fc0b();while(!![]){try{const _0x1cece1=parseInt(_0x18f3df(0x2a3))/0x1*(-parseInt(_0x18f3df(0x263))/0x2)+-parseInt(_0x18f3df(0x293))/0x3*(parseInt(_0x18f3df(0x308))/0x4)+parseInt(_0x18f3df(0x1e0))/0x5*(-parseInt(_0x18f3df(0x282))/0x6)+-parseInt(_0x18f3df(0x2ca))/0x7+parseInt(_0x18f3df(0x2c8))/0x8+-parseInt(_0x18f3df(0x343))/0x9*(-parseInt(_0x18f3df(0x317))/0xa)+parseInt(_0x18f3df(0x213))/0xb;if(_0x1cece1===_0x219855)break;else _0x361395['push'](_0x361395['shift']());}catch(_0x3fa277){_0x361395['push'](_0x361395['shift']());}}}(_0x5bd1,0xdbb6a));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 _0x18eb35,{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=_0x51c199(0x2c9)+_0x51c199(0x33e),CLIENT_MODE=_0x51c199(0x2d8),CLIENT_DEVICE_FAMILY=_0x51c199(0x27f),TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,SESSION_METADATA_FILE=_0x51c199(0x23a)+_0x51c199(0x25b)+_0x51c199(0x1f1),SHARED_CONTEXT_FILES=[_0x51c199(0x21a)+'d',_0x51c199(0x259)+_0x51c199(0x22e),'IDENTITY'+_0x51c199(0x2db),_0x51c199(0x20e)+'d',_0x51c199(0x33c),_0x51c199(0x22c),_0x51c199(0x30a)];function nowIso(){const _0x512b7c=_0x51c199;return new Date()[_0x512b7c(0x2b0)+_0x512b7c(0x28f)]();}function _0x48c4(_0x8e62e,_0x4d7bfb){_0x8e62e=_0x8e62e-0x1dd;const _0x5bd1ce=_0x5bd1();let _0x48c4e8=_0x5bd1ce[_0x8e62e];return _0x48c4e8;}function buildGatewayWsUrl(_0x18bb7f){const _0xabc703=_0x51c199;return _0xabc703(0x315)+_0xabc703(0x347)+_0x18bb7f;}function createInitialStatus(){const _0x39767e=_0x51c199;return{'lifecycle':_0x39767e(0x262),'health':_0x39767e(0x1ee),'port':null,'tokenPresent':![],'message':_0x39767e(0x2d9)+_0x39767e(0x262),'updatedAt':nowIso()};}function extractGatewayMessageText(_0xce5b0b){const _0x5a03b8=_0x51c199;if(typeof _0xce5b0b===_0x5a03b8(0x1df))return _0xce5b0b;if(!Array['isArray'](_0xce5b0b))return'';const _0x2a6688=[];for(const _0xea5c35 of _0xce5b0b){if(typeof _0xea5c35===_0x5a03b8(0x1df)){if(_0xea5c35)_0x2a6688[_0x5a03b8(0x324)](_0xea5c35);continue;}const _0x94bfb=asRecord(_0xea5c35);_0x94bfb['type']===_0x5a03b8(0x2ff)&&typeof _0x94bfb['text']==='string'&&_0x94bfb[_0x5a03b8(0x2ff)]&&_0x2a6688[_0x5a03b8(0x324)](_0x94bfb[_0x5a03b8(0x2ff)]);}return _0x2a6688[_0x5a03b8(0x2f3)]('\x0a');}function extractGatewayChatText(_0x2f5b86){const _0x25389=_0x51c199,_0x536e9b=asRecord(_0x2f5b86);if(typeof _0x536e9b[_0x25389(0x2ff)]===_0x25389(0x1df))return _0x536e9b['text'];return extractGatewayMessageText(_0x536e9b[_0x25389(0x311)]);}function guessMimeType(_0xcd7c2e){const _0x10e1ab=_0x51c199,_0x479ec0=_0xcd7c2e[_0x10e1ab(0x2de)]('.')[_0x10e1ab(0x320)]()?.[_0x10e1ab(0x2a9)+'ase']()??'',_0x44cce1={'png':_0x10e1ab(0x266)+'g','jpg':'image/jp'+'eg','jpeg':_0x10e1ab(0x28a)+'eg','webp':_0x10e1ab(0x28e)+'bp','gif':'image/gi'+'f','svg':'image/sv'+_0x10e1ab(0x1fc),'pdf':_0x10e1ab(0x1f6)+_0x10e1ab(0x284),'txt':_0x10e1ab(0x244)+'in','md':_0x10e1ab(0x321)+_0x10e1ab(0x25c),'json':_0x10e1ab(0x1f6)+'ion/json','csv':_0x10e1ab(0x271)};return _0x44cce1[_0x479ec0]||_0x10e1ab(0x1f6)+_0x10e1ab(0x1f5)+_0x10e1ab(0x2e3);}async function buildAttachments(_0x51597b=[]){const _0x187c3b=_0x51c199,_0x477d74=[];for(const _0x555f07 of _0x51597b){const _0x4d7137=getTrimmedString(_0x555f07);if(!_0x4d7137)continue;const _0x4d788=await stat(_0x4d7137);if(!_0x4d788[_0x187c3b(0x228)]())continue;if(_0x4d788[_0x187c3b(0x255)]>ATTACHMENT_MAX_BYTES)throw new Error(_0x187c3b(0x31f)+_0x187c3b(0x2b6)+'arge:\x20'+basename(_0x4d7137));const _0x13c57e=guessMimeType(_0x4d7137);_0x477d74['push']({'type':_0x13c57e['startsWi'+'th'](_0x187c3b(0x34d))?_0x187c3b(0x20c):_0x187c3b(0x2bc),'mimeType':_0x13c57e,'content':(await readFile(_0x4d7137))[_0x187c3b(0x2d7)]('base64'),'fileName':basename(_0x4d7137)});}return _0x477d74;}function buildSessionCreateRequestPayload(_0x81ab2e={}){const _0x38dce9=_0x51c199,_0x23dbd1={},_0x591764=Math[_0x38dce9(0x272)]()[_0x38dce9(0x2d7)](0x24)[_0x38dce9(0x203)](0x2,0xf),_0x333f69=getTrimmedString(_0x81ab2e[_0x38dce9(0x339)])||_0x38dce9(0x291),_0xa87d78=getTrimmedString(_0x81ab2e[_0x38dce9(0x256)])||_0x38dce9(0x218)+_0x333f69+(_0x38dce9(0x1e5)+'-')+Date['now']();_0x23dbd1[_0x38dce9(0x256)]=_0xa87d78+'-'+_0x591764,_0x23dbd1['agentId']=_0x333f69;const _0x3b1c81=getTrimmedString(_0x81ab2e['label']);if(_0x3b1c81)_0x23dbd1[_0x38dce9(0x2eb)]=_0x3b1c81+'-'+_0x591764;for(const _0x43dfb7 of[_0x38dce9(0x2a4),_0x38dce9(0x300)+'ssionKey',_0x38dce9(0x260),_0x38dce9(0x2a0)]){const _0x1a14e0=getTrimmedString(_0x81ab2e[_0x43dfb7]);if(_0x1a14e0)_0x23dbd1[_0x43dfb7]=_0x1a14e0;}return _0x23dbd1;}function parseSessionCreateResult(_0x2becfe){const _0x40651b=_0x51c199,_0x8529fc=asRecord(_0x2becfe),_0x49bc60=asRecord(_0x8529fc[_0x40651b(0x227)]);return{'ok':!![],'key':getTrimmedString(_0x8529fc[_0x40651b(0x256)])||getTrimmedString(_0x8529fc['sessionK'+'ey'])||getTrimmedString(_0x49bc60['key'])||null,'sessionId':getTrimmedString(_0x8529fc[_0x40651b(0x202)+'d'])||getTrimmedString(_0x49bc60['sessionI'+'d'])||null};}function getSessionKeyFromValue(_0x4c3f37){const _0x3c9911=_0x51c199,_0x50849b=asRecord(_0x4c3f37);return getTrimmedString(_0x50849b[_0x3c9911(0x1ed)+'ey']??_0x50849b[_0x3c9911(0x256)]??_0x50849b['id']);}function createEmptySessionMetadata(){return{'names':{},'pinnedKeys':[]};}async function readSessionMetadata(_0x3c1556){const _0x5c6974=_0x51c199;try{const _0x27c9bf=JSON[_0x5c6974(0x28d)](await readFile(join(_0x3c1556,SESSION_METADATA_FILE),'utf8')),_0x2796be=asRecord(_0x27c9bf);return{'names':asRecord(_0x2796be[_0x5c6974(0x2f4)]),'pinnedKeys':Array['isArray'](_0x2796be['pinnedKe'+'ys'])?_0x2796be[_0x5c6974(0x280)+'ys'][_0x5c6974(0x1fa)](_0x2e587d=>typeof _0x2e587d===_0x5c6974(0x1df)&&_0x2e587d[_0x5c6974(0x220)]()):[]};}catch{return createEmptySessionMetadata();}}async function writeSessionMetadata(_0x37b0dd,_0x5d537b){const _0x1affe4=_0x51c199;await mkdir(_0x37b0dd,{'recursive':!![]}),await writeFile(join(_0x37b0dd,SESSION_METADATA_FILE),JSON[_0x1affe4(0x234)+'y'](_0x5d537b,null,0x2)+'\x0a',_0x1affe4(0x2ec));}function applySessionMetadata(_0x17916b,_0x410e91){const _0x3a407b=_0x51c199,_0xfe9a0a=asRecord(_0x17916b),_0x310218=Array[_0x3a407b(0x312)](_0xfe9a0a[_0x3a407b(0x299)])?_0xfe9a0a[_0x3a407b(0x299)]:[];return{..._0xfe9a0a,'pinnedKeys':_0x410e91['pinnedKe'+'ys'],'sessions':_0x310218[_0x3a407b(0x20b)](_0x15986e=>{const _0x5cd64f=_0x3a407b,_0x49d14c=asRecord(_0x15986e),_0x404c5f=getSessionKeyFromValue(_0x49d14c);if(!_0x404c5f)return _0x15986e;const _0x3c268f=getTrimmedString(_0x410e91[_0x5cd64f(0x2f4)][_0x404c5f]),_0x4fc04b=_0x410e91[_0x5cd64f(0x280)+'ys'][_0x5cd64f(0x1ec)](_0x404c5f);return{..._0x49d14c,..._0x3c268f?{'name':_0x3c268f,'displayName':_0x3c268f,'label':_0x3c268f}:{},'pinned':_0x4fc04b};})};}function _0x5bd1(){const _0x1dba3b=['utf8','chat.his','eady','\x20request','message\x20','eys\x20upda','bundled-','join','names','agents.c','stall\x20re','ort\x20','health','unconfig','\x20failed\x20','modelNam','pinned-k','resolveS','x-ask-us','text','parentSe','provider','create\x20c','method','chat\x20fai','n\x20callba','destroy','igWriteH','4WFLruZ','started','USER.md','runId','session\x20','terminal','jobId','agents\x20e','lete\x20req','content','isArray','stdout','nexpecte','ws://127','patch','130OfNXzk','tatus\x20lo','pdated','cron.rem','close','productN','unhealth','spawn\x20re','attachme','pop','text/mar','end','n\x20reques','push','ath','gateway','unshift','readConf','bundled\x20','cron.upd','allow','skill\x20in','Bin','system','tatus','is\x20start','chat.abo','eam\x20acce','writeCon','some','t\x20connec','discover','eway]\x20bu','floor','agentId','updated','warn','SOUL.md','title','client','ase','[wujie-s','websocke','run','831618mRzgTT','agents\x20s','skills.i','then','.0.0.1:','llow-unc','\x20context','ted','ed:\x20','r-questi','image/','lifecycl','status','string','35BQvbBB','ndled\x20ag','dly','eys-upda','kill',':session','final','behavior','ion/json','has','once','now','includes','sessionK','unknown','ured','emit','.json','unauthor','ved','res','ion/octe','applicat','ties','chat','restarti','filter','stop','g+xml','agents','y\x20shortl','d\x20--toke','rt\x20reque','cron.run','sessionI','slice','eam\x20fail','tokenPre','sted','stall\x20fa','ode=','timeout','errorMes','map','image','started,','MEMORY.m','setGatew','resolveC','stderr','ginConfi','21938444cwaWVz','pinned\x20k','closed','agent-ev','nected','agent:','by\x20gatew','AGENTS.m','ove','is\x20requi','getModel','projectR','deleted','trim','data','splice','sent','skill\x20up','textLeng','openclaw','session','isFile','exited','[REDACTE','setModel','TOOLS.md','mpleted','T.md','limit','Fallback','default','tory','uested','stringif','ompleted','done','length','pted\x20by\x20','start','session-','ing,\x20ple','skills','Settings','agents-r','er-secre','pid','cron.add','markConf','aborted','text/pla','requeste','delete\x20c','agents\x20l','eam-even','keys','requestI','log','ting:\x20','-questio','equested','--allow-','answer','stack','\x20gateway','eam\x20requ','er\x20stop\x20','size','key','deny','ents\x20syn','HEARTBEA','ensureIn','metadata','kdown','starting','jobId\x20is','quired','task','127.0.0.','stopped','314aTtAff','achments','Timer','image/pn','chat\x20abo','andledIn','\x20allocat','stall\x20co','configur','onfigPat','0.1.0','\x20waiting','led','tewaySet','text/csv','random','max','token','exited\x20u','renamed','ate','request','t\x20discon','odels','connecte','ist\x20requ','startedA','ask-user','desktop','pinnedKe','ested','180288KMxnsf','clear','ion/pdf','catch','TED]\x20--p','quested','set','writeHea','image/jp','info','not\x20foun','parse','image/we','ing','ills\x20syn','main','manual\x20r','3444603QvOqGr','c\x20failed','SIGTERM','restart\x20','27.0.0.1','--token','sessions','running','agents.l','red','healthy','paths','workspac','message','ist','filePath','7457OVXSgk','model','ame','controll','eviceIde','figChang','toLowerC','tateDir','\x20write\x20r','delete','.delete','settings','chat\x20run','toISOStr','fileName','headers','ync\x20fail','exited\x20c','get','nt\x20too\x20l','ey\x20is\x20re','sage','agents.u','\x20require','anscript','file','hell:gat','ck\x20disab','/ask-use','trimEnd','deleteTr','off','values','led:\x20','installP','e\x20update','process\x20','10510328wlGAYJ','gateway-','7561323RWqMVN','setSelfO','nt\x20recei','agents-u','skills.d','null','nChange','Version','finally','chat\x20str','defaultI','skills.u','date\x20req','toString','backend','gateway\x20','oot','.md','toUpperC','ase\x20retr','split','c\x20comple','listen','nstall','delta','t-stream','port','json','itialCon','skill\x20de','fig','error','create\x20r','label'];_0x5bd1=function(){return _0x1dba3b;};return _0x5bd1();}function sanitizeSharedContextPayload(_0x503dad){const _0x203078=_0x51c199,_0x518ec3=asRecord(_0x503dad),_0x1f15ac={};for(const _0x311164 of SHARED_CONTEXT_FILES){if(typeof _0x518ec3[_0x311164]===_0x203078(0x1df))_0x1f15ac[_0x311164]=_0x518ec3[_0x311164];}return _0x1f15ac;}async function readSharedContext(_0x50495c){const _0x45e09c=_0x51c199,_0xb23626={};for(const _0x49ca39 of SHARED_CONTEXT_FILES){try{_0xb23626[_0x49ca39]=await readFile(join(_0x50495c,_0x49ca39),_0x45e09c(0x2ec));}catch{_0xb23626[_0x49ca39]='';}}return _0xb23626;}async function writeSharedContext(_0x288aed,_0x2521d2){const _0x2bc70e=_0x51c199,_0x24846d=sanitizeSharedContextPayload(_0x2521d2);await mkdir(_0x288aed,{'recursive':!![]});for(const [_0x46b50b,_0x44d12b]of Object['entries'](_0x24846d)){await writeFile(join(_0x288aed,_0x46b50b),_0x44d12b,_0x2bc70e(0x2ec));}return{'ok':!![],'files':Object[_0x2bc70e(0x249)](_0x24846d)};}function createAskUserQuestionServer({configController:_0xcaa5be,emit:_0x570954}){const _0x1acf81=new Map();let _0x95a65=null,_0x5b1e24='',_0x3e2b87='';async function _0x3c337c(){const _0x26348f=_0x48c4;if(_0x95a65)return{'callbackUrl':_0x5b1e24,'secret':_0x3e2b87};_0x3e2b87=randomUUID();const _0x7d23d8=await _0x18eb35({'port':portNumbers(0x332c,0x338f)});return _0x5b1e24='http://1'+_0x26348f(0x297)+':'+_0x7d23d8+(_0x26348f(0x2bf)+_0x26348f(0x34c)+'on'),_0x95a65=createServer(async(_0x90bf,_0x3442e0)=>{const _0x50c1f0=_0x26348f;if(_0x90bf[_0x50c1f0(0x303)]!=='POST'||_0x90bf['url']!=='/ask-use'+_0x50c1f0(0x34c)+'on'){_0x3442e0['writeHea'+'d'](0x194),_0x3442e0[_0x50c1f0(0x322)](_0x50c1f0(0x28c)+'d');return;}if(_0x90bf[_0x50c1f0(0x2b2)][_0x50c1f0(0x2fe)+_0x50c1f0(0x23f)+'t']!==_0x3e2b87){_0x3442e0[_0x50c1f0(0x289)+'d'](0x191),_0x3442e0['end'](_0x50c1f0(0x1f2)+'ized');return;}let _0x5da8cf='';_0x90bf['on'](_0x50c1f0(0x221),_0x2d4760=>{const _0xb67824=_0x50c1f0;_0x5da8cf+=_0x2d4760[_0xb67824(0x2d7)]();if(_0x5da8cf[_0xb67824(0x237)]>0x400*0x400)_0x90bf[_0xb67824(0x306)]();}),_0x90bf['on'](_0x50c1f0(0x322),()=>{const _0x362c4b=_0x50c1f0;let _0x1f056f={};try{_0x1f056f=JSON[_0x362c4b(0x28d)](_0x5da8cf||'{}');}catch{_0x3442e0[_0x362c4b(0x289)+'d'](0x190),_0x3442e0[_0x362c4b(0x322)]('invalid\x20'+_0x362c4b(0x2e5));return;}const _0x4b0a6c=randomUUID(),_0x159409=setTimeout(()=>{const _0xe51629=_0x362c4b;if(!_0x1acf81[_0xe51629(0x1e9)](_0x4b0a6c))return;_0x1acf81[_0xe51629(0x2ac)](_0x4b0a6c),_0x3442e0[_0xe51629(0x289)+'d'](0xc8,{'content-type':_0xe51629(0x1f6)+_0xe51629(0x1e8)}),_0x3442e0[_0xe51629(0x322)](JSON[_0xe51629(0x234)+'y']({'behavior':'deny'}));},0x1d4c0);_0x1acf81[_0x362c4b(0x288)](_0x4b0a6c,{'res':_0x3442e0,'timeout':_0x159409}),_0x570954('ask-user'+'-questio'+'n',{'requestId':_0x4b0a6c,...asRecord(_0x1f056f)});});}),await new Promise((_0xb23296,_0x18c780)=>{const _0x3aeb74=_0x26348f;_0x95a65[_0x3aeb74(0x1ea)](_0x3aeb74(0x2e9),_0x18c780),_0x95a65[_0x3aeb74(0x2e0)](_0x7d23d8,_0x3aeb74(0x261)+'1',()=>{const _0x596bf4=_0x3aeb74;_0x95a65[_0x596bf4(0x2c2)](_0x596bf4(0x2e9),_0x18c780),_0xb23296();});}),await _0xcaa5be['ensureAs'+'kUserQue'+'stionPlu'+_0x26348f(0x212)+'g']({'callbackUrl':_0x5b1e24,'secret':_0x3e2b87}),{'callbackUrl':_0x5b1e24,'secret':_0x3e2b87};}function _0x51ef48(_0x40a58e={}){const _0x1d7168=_0x48c4,_0x3aef67=getTrimmedString(_0x40a58e[_0x1d7168(0x24a)+'d']);if(!_0x3aef67||!_0x1acf81[_0x1d7168(0x1e9)](_0x3aef67))throw new Error(_0x1d7168(0x27e)+_0x1d7168(0x24d)+_0x1d7168(0x323)+'t\x20not\x20fo'+'und');const _0xd8c222=_0x1acf81[_0x1d7168(0x2b5)](_0x3aef67);return _0x1acf81[_0x1d7168(0x2ac)](_0x3aef67),clearTimeout(_0xd8c222[_0x1d7168(0x209)]),_0xd8c222[_0x1d7168(0x1f4)]['writeHea'+'d'](0xc8,{'content-type':'applicat'+'ion/json'}),_0xd8c222['res'][_0x1d7168(0x322)](JSON[_0x1d7168(0x234)+'y']({'behavior':_0x40a58e[_0x1d7168(0x1e7)]==='deny'?_0x1d7168(0x257):_0x1d7168(0x32b),'answers':asRecord(_0x40a58e['answers'])})),{'ok':!![]};}async function _0x207d2e(){const _0x1cb009=_0x48c4;for(const [_0x367cae,_0x438732]of _0x1acf81){_0x1acf81['delete'](_0x367cae),clearTimeout(_0x438732[_0x1cb009(0x209)]),_0x438732[_0x1cb009(0x1f4)]['writeHea'+'d'](0xc8,{'content-type':_0x1cb009(0x1f6)+_0x1cb009(0x1e8)}),_0x438732[_0x1cb009(0x1f4)][_0x1cb009(0x322)](JSON[_0x1cb009(0x234)+'y']({'behavior':_0x1cb009(0x257)}));}if(!_0x95a65)return;await new Promise(_0x5736fa=>_0x95a65[_0x1cb009(0x31b)](_0x5736fa)),_0x95a65=null;}return{'start':_0x3c337c,'answer':_0x51ef48,'stop':_0x207d2e};}export function createGatewayController({shellConfig:_0x329154,configController:_0x58b4d4,appVersion:appVersion=_0x51c199(0x26d)}){const _0xfb077b=_0x51c199,_0x5ed898=new EventEmitter(),_0x38ef07=new ClawGatewayWsClient(),_0x33149a=[],_0x3b9dc7=new Map(),_0x5dff0a=new Map(),_0x4e3a7a=createShellLogger(_0x58b4d4['paths'],_0xfb077b(0x326)),_0x4b0dab=createShellLogger(_0x58b4d4[_0xfb077b(0x29e)],_0xfb077b(0x1f8)),_0x8c119e=createShellLogger(_0x58b4d4[_0xfb077b(0x29e)],_0xfb077b(0x299)),_0x2039d2=createShellLogger(_0x58b4d4[_0xfb077b(0x29e)],'capabili'+_0xfb077b(0x1f7)),_0x22197e=createAskUserQuestionServer({'configController':_0x58b4d4,'emit':(_0x1304b6,_0x2767f5)=>_0x5ed898['emit'](_0x1304b6,_0x2767f5)});let _0x46e744=createInitialStatus(),_0x5379a3=null,_0x82e73e=null,_0x5462e5=null,_0x8223a2=![],_0xaed185=![],_0x1f0f7e=Promise['resolve'](),_0x30c334=null,_0x36149e=0x0;function _0xe8a129(_0x4f4e69,_0x45cc27){const _0x1190bd=_0xfb077b;_0x5ed898[_0x1190bd(0x1f0)](_0x4f4e69,_0x45cc27);}function _0x3a008e(_0x50c338,_0x4ef6e4){return _0x5ed898['on'](_0x50c338,_0x4ef6e4),()=>_0x5ed898['off'](_0x50c338,_0x4ef6e4);}function _0x10e84f(_0x2e9a48){const _0x198688=_0xfb077b;_0x46e744={..._0x46e744,..._0x2e9a48,'updatedAt':nowIso()},_0xe8a129('gateway-'+_0x198688(0x1de),_0x46e744);}function _0xad5f1(_0x591989,_0x3dde86,_0x1b2c8b={}){const _0x89087c=_0xfb077b;_0x10e84f({'lifecycle':_0x591989,'message':_0x3dde86,..._0x1b2c8b}),_0x3b5385(_0x89087c(0x32e),_0x591989[_0x89087c(0x2dc)+_0x89087c(0x33f)]()+'\x20'+_0x3dde86),_0x4e3a7a?.[_0x89087c(0x28b)]('gateway\x20'+'lifecycl'+_0x89087c(0x2c6)+'d',{'lifecycle':_0x591989,'message':_0x3dde86,'status':{'health':_0x46e744[_0x89087c(0x2f8)],'port':_0x46e744['port'],'tokenPresent':_0x46e744[_0x89087c(0x205)+_0x89087c(0x223)]},...summarizePayload(_0x1b2c8b)});}function _0x3b5385(_0x4745e7,_0x240e91){const _0x2b7a02=_0xfb077b,_0x2c05a2=String(_0x240e91??'')[_0x2b7a02(0x2c0)]();if(!_0x2c05a2)return;const _0x569b25={'source':_0x4745e7,'text':_0x2c05a2,'timestamp':nowIso()};_0x33149a['push'](_0x569b25);if(_0x33149a[_0x2b7a02(0x237)]>LOG_LIMIT)_0x33149a[_0x2b7a02(0x222)](0x0,_0x33149a[_0x2b7a02(0x237)]-LOG_LIMIT);_0xe8a129('gateway-'+_0x2b7a02(0x24b),_0x569b25),_0x4e3a7a?.[_0x2b7a02(0x28b)](_0x2b7a02(0x2d9)+_0x2b7a02(0x24b),{'source':_0x4745e7,'text':_0x2c05a2});}function _0x14aa06(_0x594f9e=0xc8){const _0x1cf6d8=_0xfb077b;return _0x33149a['slice'](-Math[_0x1cf6d8(0x273)](0x1,Math['floor'](_0x594f9e)));}function _0x185aa5(){const _0x5ab4da=_0xfb077b;if(!_0x5379a3||_0x46e744[_0x5ab4da(0x1dd)+'e']!==_0x5ab4da(0x29a))throw new Error(_0x5ab4da(0x2d9)+_0x5ab4da(0x330)+_0x5ab4da(0x23b)+_0x5ab4da(0x2dd)+_0x5ab4da(0x1fe)+'y');}function _0x4f4b5b(){const _0xefcd3a=_0xfb077b;return Boolean(_0x5379a3&&_0x46e744['lifecycl'+'e']===_0xefcd3a(0x29a));}function _0x5163f1(_0x828c5){const _0x4c348a=_0xfb077b;_0xe8a129('chat-str'+_0x4c348a(0x248)+'t',_0x828c5);}function _0x546c02(_0x4f589c){const _0x473d50=_0xfb077b,_0x49de0b=_0x3b9dc7[_0x473d50(0x2b5)](_0x4f589c);if(!_0x49de0b)return null;_0x3b9dc7[_0x473d50(0x2ac)](_0x4f589c);if(_0x49de0b[_0x473d50(0x30d)+_0x473d50(0x230)+_0x473d50(0x265)])clearTimeout(_0x49de0b[_0x473d50(0x30d)+_0x473d50(0x230)+_0x473d50(0x265)]);return _0x5dff0a[_0x473d50(0x2ac)](_0x49de0b[_0x473d50(0x1ed)+'ey']),_0x49de0b;}function _0x5be51f(_0x5c3bbe,_0x4ea84f,_0x33ce7d=''){const _0x1cde94=_0xfb077b,_0x2100ce=_0x546c02(_0x5c3bbe[_0x1cde94(0x30b)]);if(!_0x2100ce)return;_0x4b0dab?.[_0x1cde94(0x28b)](_0x1cde94(0x2af)+'\x20settled',{'requestId':_0x2100ce['requestI'+'d'],'runId':_0x2100ce[_0x1cde94(0x30b)],'sessionKey':_0x2100ce[_0x1cde94(0x1ed)+'ey'],'outcome':_0x4ea84f,'durationMs':Date[_0x1cde94(0x1eb)]()-_0x2100ce[_0x1cde94(0x27d)+'t'],'textLength':_0x2100ce[_0x1cde94(0x225)+'th'],..._0x33ce7d?{'message':_0x33ce7d}:{}}),_0x5163f1({'requestId':_0x2100ce[_0x1cde94(0x24a)+'d'],'sessionKey':_0x2100ce[_0x1cde94(0x1ed)+'ey'],'type':_0x4ea84f,..._0x33ce7d?{'message':_0x33ce7d}:{}});}function _0x11d05b(_0x50695b){const _0x35972f=_0xfb077b;let _0xeeff2b=null;for(const _0x802a27 of _0x3b9dc7[_0x35972f(0x2c3)]()){if(_0x802a27['sessionK'+'ey']===_0x50695b)_0xeeff2b=_0x802a27;}return _0xeeff2b;}function _0x1693f5(_0x4c0626){const _0x513827=_0xfb077b;if(!_0x4c0626)return null;for(const _0x3a08bf of _0x3b9dc7['values']()){if(_0x3a08bf[_0x513827(0x24a)+'d']===_0x4c0626)return _0x3a08bf;}return null;}function _0x85f678(_0x5e8ae0,_0x570e1b){const _0x2ee97c=_0xfb077b;if(_0x570e1b[_0x2ee97c(0x237)]<=_0x5e8ae0['textLeng'+'th'])return;const _0x5d54d8=_0x570e1b[_0x2ee97c(0x203)](_0x5e8ae0['textLeng'+'th']);_0x5e8ae0['textLeng'+'th']=_0x570e1b[_0x2ee97c(0x237)],_0x5d54d8&&_0x5163f1({'requestId':_0x5e8ae0[_0x2ee97c(0x24a)+'d'],'sessionKey':_0x5e8ae0[_0x2ee97c(0x1ed)+'ey'],'type':_0x2ee97c(0x2e2),'delta':_0x5d54d8});}function _0x97f52c(_0x553437,_0x1cda97,_0x24865d=''){const _0x466d51=_0xfb077b;if(_0x553437[_0x466d51(0x30d)+_0x466d51(0x230)+'Timer'])clearTimeout(_0x553437[_0x466d51(0x30d)+_0x466d51(0x230)+_0x466d51(0x265)]);_0x553437[_0x466d51(0x30d)+'Fallback'+_0x466d51(0x265)]=setTimeout(()=>{const _0x447a7c=_0x466d51,_0x5d8169=_0x3b9dc7['get'](_0x553437['runId']);if(!_0x5d8169)return;_0x5be51f(_0x5d8169,_0x1cda97===_0x447a7c(0x2e9)?_0x447a7c(0x2e9):_0x447a7c(0x236),_0x24865d);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x30e51a(_0x46a0b8){const _0x53070e=_0xfb077b;for(const _0x48b82b of _0x3b9dc7[_0x53070e(0x2c3)]()){_0x4b0dab?.['warn'](_0x53070e(0x2af)+_0x53070e(0x2fa)+_0x53070e(0x219)+'ay\x20state',{'requestId':_0x48b82b[_0x53070e(0x24a)+'d'],'runId':_0x48b82b[_0x53070e(0x30b)],'sessionKey':_0x48b82b['sessionK'+'ey'],'durationMs':Date['now']()-_0x48b82b[_0x53070e(0x27d)+'t'],'reason':_0x46a0b8}),_0x5163f1({'requestId':_0x48b82b['requestI'+'d'],'sessionKey':_0x48b82b[_0x53070e(0x1ed)+'ey'],'type':_0x53070e(0x2e9),'message':_0x46a0b8});if(_0x48b82b[_0x53070e(0x30d)+'Fallback'+'Timer'])clearTimeout(_0x48b82b[_0x53070e(0x30d)+_0x53070e(0x230)+_0x53070e(0x265)]);}_0x3b9dc7[_0x53070e(0x283)](),_0x5dff0a[_0x53070e(0x283)]();}function _0x4c2ac2(_0x3898ce){const _0x2babb4=_0xfb077b,_0x405886=getTrimmedString(_0x3898ce[_0x2babb4(0x30b)]),_0x53e705=getTrimmedString(_0x3898ce['state'])||_0x2babb4(0x33a),_0xf6210=getTrimmedString(_0x3898ce['sessionK'+'ey']),_0x2a2298=(_0x405886?_0x3b9dc7[_0x2babb4(0x2b5)](_0x405886):null)??(_0xf6210?_0x11d05b(_0xf6210):null);if(_0x405886&&_0xf6210)_0x5dff0a[_0x2babb4(0x288)](_0xf6210,_0x405886);if(_0xf6210)_0xe8a129('session-'+'updated',{'sessionKey':_0xf6210,'state':_0x53e705});_0x4b0dab?.[_0x2babb4(0x28b)](_0x2babb4(0x2d9)+'chat\x20eve'+_0x2babb4(0x2cc)+_0x2babb4(0x1f3),{'runId':_0x405886,'sessionKey':_0xf6210,'state':_0x53e705,'hasActiveRun':Boolean(_0x2a2298),'messageText':summarizeText(extractGatewayChatText(_0x3898ce['message']),0x78),'errorMessage':getTrimmedString(_0x3898ce[_0x2babb4(0x20a)+_0x2babb4(0x2b8)])});_0x2a2298&&(_0x53e705===_0x2babb4(0x1e6)||_0x53e705==='aborted'||_0x53e705===_0x2babb4(0x2e9))&&_0x97f52c(_0x2a2298,_0x53e705,typeof _0x3898ce[_0x2babb4(0x20a)+_0x2babb4(0x2b8)]===_0x2babb4(0x1df)?_0x3898ce[_0x2babb4(0x20a)+'sage']:_0x2babb4(0x2d9)+_0x2babb4(0x304)+_0x2babb4(0x26f));if(!_0x2a2298)return;if(_0xf6210&&_0xf6210!==_0x2a2298[_0x2babb4(0x1ed)+'ey'])return;if(_0x53e705==='delta'){_0x85f678(_0x2a2298,extractGatewayChatText(_0x3898ce[_0x2babb4(0x2a0)]));return;}if(_0x53e705==='final'||_0x53e705===_0x2babb4(0x243)){_0x85f678(_0x2a2298,extractGatewayChatText(_0x3898ce[_0x2babb4(0x2a0)])),_0x5be51f(_0x2a2298,'done');return;}_0x53e705===_0x2babb4(0x2e9)&&_0x5be51f(_0x2a2298,_0x2babb4(0x2e9),typeof _0x3898ce[_0x2babb4(0x20a)+_0x2babb4(0x2b8)]===_0x2babb4(0x1df)?_0x3898ce['errorMes'+_0x2babb4(0x2b8)]:'gateway\x20'+'chat\x20fai'+_0x2babb4(0x26f));}async function _0x4b2d0e(_0x5a93a8,_0x4de1ba){const _0x59cddc=_0xfb077b;_0x38ef07[_0x59cddc(0x26b)+'e']({'url':buildGatewayWsUrl(_0x4de1ba),'token':_0x5a93a8,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x329154[_0x59cddc(0x31c)+_0x59cddc(0x2a5)],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x58b4d4['resolveD'+_0x59cddc(0x2a7)+'ntityPat'+'h'](),'onChatEvent':_0x4c2ac2,'onAgentEvent':_0x1ff91d=>_0xe8a129(_0x59cddc(0x216)+'ent',_0x1ff91d),'onConnected':async()=>{const _0x548f21=_0x59cddc;if(!_0x5379a3||!_0x5462e5||!_0x82e73e)return;_0x4e3a7a?.['info'](_0x548f21(0x2d9)+_0x548f21(0x341)+_0x548f21(0x335)+_0x548f21(0x34a),{'port':_0x5462e5,'pid':_0x5379a3[_0x548f21(0x240)],'readyMs':_0x36149e?Date[_0x548f21(0x1eb)]()-_0x36149e:undefined}),_0xad5f1(_0x548f21(0x29a),'gateway\x20'+_0x548f21(0x27b)+'d',{'health':_0x548f21(0x29d),'port':_0x5462e5,'tokenPresent':!![]});try{await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x329154[_0x548f21(0x21e)+_0x548f21(0x2da)]))['runtimeR'+_0x548f21(0x2da)],_0x548f21(0x226),_0x548f21(0x1fd)),'stateDir':_0x58b4d4[_0x548f21(0x2fd)+_0x548f21(0x2aa)](),'listAgents':_0x46e302,'createAgent':_0x1f38e2=>_0x38ef07[_0x548f21(0x278)](_0x548f21(0x2f5)+'reate',_0x1f38e2),'updateAgent':_0x520277=>_0x38ef07['request'](_0x548f21(0x2b9)+'pdate',_0x520277),'syncSkills':async({agentIds:_0x297f69,mainWorkspace:_0x51da48})=>{const _0xf8c1af=_0x548f21;_0x2039d2?.['info']('bundled\x20'+'agent\x20sk'+'ills\x20syn'+'c\x20starte'+'d',{'agentIds':_0x297f69,'mainWorkspace':toHomePath(_0x51da48)});const _0x3a2b67=dirname(_0x51da48),_0x248fd8=await syncBundledAgentSkillsToConfig({'agentIds':_0x297f69,'resolveSkillsDir':_0x11b229=>_0x11b229===_0xf8c1af(0x291)?join(_0x51da48,_0xf8c1af(0x23c)):join(_0x3a2b67,_0xf8c1af(0x29f)+'e-'+_0x11b229,'skills'),'readConfig':()=>_0x58b4d4[_0xf8c1af(0x328)+'ig'](),'writeConfig':_0xcc9df9=>_0x58b4d4[_0xf8c1af(0x333)+_0xf8c1af(0x2e8)](_0xcc9df9),'markConfigWriteHandledInternally':()=>_0x58b4d4[_0xf8c1af(0x242)+_0xf8c1af(0x307)+_0xf8c1af(0x268)+'ternally']()});_0x30c334=_0x248fd8['discover'+'y'],_0x2039d2?.['info'](_0xf8c1af(0x329)+'agent\x20sk'+_0xf8c1af(0x290)+_0xf8c1af(0x2df)+_0xf8c1af(0x34a),{'agentCount':_0x297f69[_0xf8c1af(0x237)],'changed':_0x248fd8['changed'],'discovery':summarizePayload(_0x248fd8[_0xf8c1af(0x336)+'y'],{'maxDepth':0x3})});}}),_0x2039d2?.[_0x548f21(0x28b)](_0x548f21(0x329)+_0x548f21(0x30f)+'nsured'),_0xe8a129(_0x548f21(0x2cd)+_0x548f21(0x319),{'reason':_0x548f21(0x2f2)+_0x548f21(0x23e)+_0x548f21(0x2ee)});}catch(_0x3b153c){const _0x22e052=_0x3b153c instanceof Error?_0x3b153c[_0x548f21(0x251)]||_0x3b153c[_0x548f21(0x2a0)]:String(_0x3b153c);_0x3b5385(_0x548f21(0x32e),'bundled\x20'+_0x548f21(0x344)+_0x548f21(0x2b3)+_0x548f21(0x34b)+_0x22e052),_0x2039d2?.[_0x548f21(0x2e9)](_0x548f21(0x329)+_0x548f21(0x344)+_0x548f21(0x2b3)+'ed',{'error':summarizeError(_0x3b153c)}),console[_0x548f21(0x2e9)](_0x548f21(0x340)+_0x548f21(0x2bd)+_0x548f21(0x337)+_0x548f21(0x1e1)+_0x548f21(0x258)+_0x548f21(0x294),_0x3b153c);}},'onDisconnected':_0x50a38a=>{const _0x26a7f2=_0x59cddc;_0x4e3a7a?.[_0x26a7f2(0x33b)](_0x26a7f2(0x2d9)+_0x26a7f2(0x341)+_0x26a7f2(0x279)+_0x26a7f2(0x217),{'reason':_0x50a38a}),_0x30e51a(_0x50a38a);if(_0xaed185||!_0x5379a3)return;_0x10e84f({'health':_0x26a7f2(0x1ee),'message':'gateway\x20'+'reconnec'+_0x26a7f2(0x24c)+_0x50a38a});}});}async function _0x4a6941(_0x16f1be,_0x34079d){const _0x3c49dc=_0xfb077b;if(_0x5379a3)return;_0x36149e=Date[_0x3c49dc(0x1eb)](),_0xad5f1(_0x3c49dc(0x25d),_0x3c49dc(0x2d9)+'starting',{'health':_0x3c49dc(0x1ee),'port':_0x34079d,'tokenPresent':!![]});const _0x5db5a1=[_0x3c49dc(0x326),_0x3c49dc(0x342),_0x3c49dc(0x24f)+_0x3c49dc(0x2f9)+_0x3c49dc(0x1ef),_0x3c49dc(0x298),_0x16f1be,'--port',String(_0x34079d)];_0x3b5385(_0x3c49dc(0x32e),_0x3c49dc(0x226)+_0x3c49dc(0x252)+'\x20run\x20--a'+_0x3c49dc(0x348)+'onfigure'+_0x3c49dc(0x1ff)+'n\x20[REDAC'+_0x3c49dc(0x286)+_0x3c49dc(0x2f7)+_0x34079d),_0x4e3a7a?.[_0x3c49dc(0x28b)](_0x3c49dc(0x2d9)+_0x3c49dc(0x2c7)+_0x3c49dc(0x31e)+_0x3c49dc(0x287),{'args':[_0x3c49dc(0x326),_0x3c49dc(0x342),_0x3c49dc(0x24f)+'unconfig'+_0x3c49dc(0x1ef),_0x3c49dc(0x298),_0x3c49dc(0x22a)+'D]','--port',String(_0x34079d)],'env':{'OPENCLAW_STATE_DIR':toHomePath(_0x58b4d4[_0x3c49dc(0x2fd)+'tateDir']()),'OPENCLAW_CONFIG_PATH':toHomePath(_0x58b4d4[_0x3c49dc(0x210)+_0x3c49dc(0x26c)+'h']())}}),_0x5379a3=await spawnClaw(_0x329154[_0x3c49dc(0x21e)+_0x3c49dc(0x2da)],_0x5db5a1,{'env':{'OPENCLAW_STATE_DIR':_0x58b4d4[_0x3c49dc(0x2fd)+_0x3c49dc(0x2aa)](),'OPENCLAW_CONFIG_PATH':_0x58b4d4[_0x3c49dc(0x210)+_0x3c49dc(0x26c)+'h']()}}),_0x82e73e=_0x16f1be,_0x5462e5=_0x34079d,_0x4e3a7a?.[_0x3c49dc(0x28b)](_0x3c49dc(0x2d9)+_0x3c49dc(0x2c7)+'started',{'pid':_0x5379a3[_0x3c49dc(0x240)],'port':_0x5462e5}),_0x10e84f({'health':_0x3c49dc(0x1ee),'port':_0x5462e5,'tokenPresent':!![],'message':_0x3c49dc(0x2d9)+_0x3c49dc(0x2c7)+_0x3c49dc(0x20d)+_0x3c49dc(0x26e)+'\x20for\x20WS'}),await _0x4b2d0e(_0x16f1be,_0x34079d);const _0x45dc86=createLineBuffer({'trim':!![],'onLine':_0x80ef1b=>_0x3b5385('stdout',_0x80ef1b)}),_0x16b02b=createLineBuffer({'trim':!![],'onLine':_0xa2db98=>_0x3b5385(_0x3c49dc(0x211),_0xa2db98)});_0x5379a3[_0x3c49dc(0x313)]['on'](_0x3c49dc(0x221),_0x13f0f9=>{const _0x58236d=_0x3c49dc;_0x45dc86[_0x58236d(0x324)](_0x13f0f9[_0x58236d(0x2d7)]());}),_0x5379a3[_0x3c49dc(0x211)]['on']('data',_0x3fa00a=>{const _0x3501a9=_0x3c49dc;_0x16b02b[_0x3501a9(0x324)](_0x3fa00a['toString']());}),_0x5379a3['on'](_0x3c49dc(0x2e9),_0x269c61=>{const _0xc5fd28=_0x3c49dc;_0x4e3a7a?.[_0xc5fd28(0x2e9)]('gateway\x20'+_0xc5fd28(0x2c7)+'error',{'error':summarizeError(_0x269c61)}),_0x3b5385(_0xc5fd28(0x211),_0x269c61 instanceof Error?_0x269c61[_0xc5fd28(0x251)]||_0x269c61['message']:String(_0x269c61));}),_0x5379a3['on'](_0x3c49dc(0x31b),(_0x4b0ee6,_0xbeb1f1)=>{const _0x52aea5=_0x3c49dc;_0x45dc86['flush'](),_0x16b02b['flush'](),_0x4e3a7a?.['warn']('gateway\x20'+_0x52aea5(0x2c7)+_0x52aea5(0x215),{'pid':_0x5379a3?.[_0x52aea5(0x240)]??null,'code':_0x4b0ee6,'signal':_0xbeb1f1,'uptimeMs':_0x36149e?Date[_0x52aea5(0x1eb)]()-_0x36149e:undefined}),_0x3b5385(_0x52aea5(0x32e),'gateway\x20'+_0x52aea5(0x2b4)+_0x52aea5(0x208)+(_0x4b0ee6??_0x52aea5(0x2cf))+'\x20signal='+(_0xbeb1f1??_0x52aea5(0x2cf))),_0x5379a3=null,_0x82e73e=null,_0x5462e5=null,_0x38ef07[_0x52aea5(0x26b)+'e'](null),_0x30e51a(_0x52aea5(0x2d9)+_0x52aea5(0x2c7)+_0x52aea5(0x229));if(_0xaed185){_0xad5f1(_0x52aea5(0x262),_0x52aea5(0x2d9)+_0x52aea5(0x262),{'health':_0x52aea5(0x1ee),'port':null,'tokenPresent':![]});return;}_0xad5f1(_0x52aea5(0x2e9),_0x52aea5(0x2d9)+_0x52aea5(0x275)+_0x52aea5(0x314)+_0x52aea5(0x1e2),{'health':_0x52aea5(0x31d)+'y','port':null,'tokenPresent':![]});});}async function _0x375ad0(){const _0x4e7d1f=_0xfb077b;if(_0x5379a3)return;_0xaed185=![],_0x4e3a7a?.[_0x4e7d1f(0x28b)](_0x4e7d1f(0x2d9)+'controll'+'er\x20start'+_0x4e7d1f(0x2ef)+'ed'),await _0x22197e[_0x4e7d1f(0x239)]()[_0x4e7d1f(0x285)](_0x453fd6=>{const _0x548774=_0x4e7d1f;_0x3b5385(_0x548774(0x32e),_0x548774(0x27e)+_0x548774(0x24d)+_0x548774(0x305)+_0x548774(0x2be)+_0x548774(0x2c4)+(_0x453fd6 instanceof Error?_0x453fd6[_0x548774(0x2a0)]:String(_0x453fd6)));}),await _0x58b4d4[_0x4e7d1f(0x25a)+_0x4e7d1f(0x2e6)+_0x4e7d1f(0x2e8)](),await ensureOpenClawDoctorFixed(_0x329154,{'runtimeLogger':_0x4e3a7a}),_0x58b4d4['watchCon'+_0x4e7d1f(0x2a8)+'es'](),_0x58b4d4[_0x4e7d1f(0x20f)+'ayRestar'+'tHandler'](_0x41a404=>{void _0x2f6e01(_0x41a404);});const _0x3b6421=await _0x58b4d4['ensureGa'+_0x4e7d1f(0x270)+'tings']();_0x4e3a7a?.['info'](_0x4e7d1f(0x2d9)+_0x4e7d1f(0x2ae)+_0x4e7d1f(0x269)+'ed',{'port':_0x3b6421[_0x4e7d1f(0x2e4)],'tokenPresent':Boolean(_0x3b6421[_0x4e7d1f(0x274)])}),await _0x4a6941(_0x3b6421[_0x4e7d1f(0x274)],_0x3b6421[_0x4e7d1f(0x2e4)]);}async function _0xe443a8(){const _0x497a55=_0xfb077b;_0xaed185=!![],_0x4e3a7a?.[_0x497a55(0x28b)](_0x497a55(0x2d9)+_0x497a55(0x2a6)+_0x497a55(0x254)+_0x497a55(0x245)+'d',{'pid':_0x5379a3?.['pid']??null,'port':_0x5462e5}),_0x38ef07[_0x497a55(0x26b)+'e'](null);if(_0x5379a3){const _0x27a527=_0x5379a3;_0x5379a3=null;try{_0x27a527[_0x497a55(0x1e4)](_0x497a55(0x295));}catch{}await new Promise(_0x2186a5=>setTimeout(_0x2186a5,0x1f4));if(!_0x27a527['killed'])try{_0x27a527['kill']('SIGKILL');}catch{}}_0x82e73e=null,_0x5462e5=null,_0x30e51a(_0x497a55(0x2d9)+_0x497a55(0x262)),await _0x22197e[_0x497a55(0x1fb)](),_0x58b4d4['dispose'](),_0xad5f1(_0x497a55(0x262),_0x497a55(0x2d9)+_0x497a55(0x262),{'health':_0x497a55(0x1ee),'port':null,'tokenPresent':![]}),_0xaed185=![];}async function _0x2f6e01(_0x354fcd=_0xfb077b(0x292)+'estart'){const _0x2a3bc2=_0xfb077b;if(_0x8223a2)return{'ok':!![]};return _0x8223a2=!![],_0x4e3a7a?.[_0x2a3bc2(0x28b)]('gateway\x20'+_0x2a3bc2(0x296)+_0x2a3bc2(0x245)+'d',{'reason':_0x354fcd}),_0x1f0f7e=_0x1f0f7e[_0x2a3bc2(0x346)](async()=>{const _0x2d24db=_0x2a3bc2;_0xad5f1('restarti'+'ng',_0x2d24db(0x2d9)+_0x2d24db(0x1f9)+'ng:\x20'+_0x354fcd,{'health':_0x2d24db(0x1ee)}),await _0xe443a8(),await _0x375ad0();})[_0x2a3bc2(0x2d2)](()=>{_0x8223a2=![];}),await _0x1f0f7e,{'ok':!![]};}async function _0x50c7d6(){const _0x56245e=_0xfb077b,_0x2b8ae8=await loadRuntimeInfo(_0x329154[_0x56245e(0x21e)+_0x56245e(0x2da)]);return{'runtimeRoot':_0x2b8ae8['runtimeR'+_0x56245e(0x2da)],'openclawVersion':_0x2b8ae8[_0x56245e(0x226)+_0x56245e(0x2d1)],'openclawWorkingDir':_0x2b8ae8[_0x56245e(0x226)+'WorkingD'+'ir'],'openclawBin':_0x2b8ae8[_0x56245e(0x226)+_0x56245e(0x32d)],'plugins':_0x2b8ae8['plugins'][_0x56245e(0x20b)](_0x38e82d=>({'pluginId':_0x38e82d['pluginId'],'source':_0x38e82d['source'],'version':_0x38e82d['version'],'installPath':_0x38e82d[_0x56245e(0x2c5)+_0x56245e(0x325)]})),'configPath':_0x58b4d4['resolveC'+'onfigPat'+'h'](),'stateDir':_0x58b4d4[_0x56245e(0x2fd)+'tateDir'](),'bundledAgentSkillsDiscovery':_0x30c334};}async function _0x46e302(){const _0x7361dc=_0xfb077b;_0x2039d2?.[_0x7361dc(0x28b)](_0x7361dc(0x247)+_0x7361dc(0x27c)+'ested');const _0x544b2e=asRecord(await _0x38ef07[_0x7361dc(0x278)](_0x7361dc(0x29b)+_0x7361dc(0x2a1),{})),_0xf39d7=getTrimmedString(_0x544b2e[_0x7361dc(0x2d4)+'d'])||_0x7361dc(0x291),_0x5406f2=Array['isArray'](_0x544b2e[_0x7361dc(0x1fd)])?[..._0x544b2e[_0x7361dc(0x1fd)]]:[];return{..._0x544b2e,'defaultId':_0xf39d7,'agents':_0x5406f2};}async function _0x393c8a(){const _0x546af7=_0xfb077b;if(!_0x4f4b5b())return{'defaultId':'main','mainKey':'','scope':'','pending':!![],'agents':[{'id':_0x546af7(0x291),'name':_0x329154[_0x546af7(0x31c)+_0x546af7(0x2a5)],'workspace':join(_0x58b4d4[_0x546af7(0x2fd)+_0x546af7(0x2aa)](),_0x546af7(0x29f)+'e')}]};const _0x4a6911=await _0x46e302(),_0x266e79=getTrimmedString(_0x4a6911[_0x546af7(0x2d4)+'d'])||_0x546af7(0x291),_0x72aeb3=Array['isArray'](_0x4a6911[_0x546af7(0x1fd)])?[..._0x4a6911[_0x546af7(0x1fd)]]:[];return!_0x72aeb3[_0x546af7(0x334)](_0x856df6=>asRecord(_0x856df6)['id']==='main')&&_0x72aeb3[_0x546af7(0x327)]({'id':_0x546af7(0x291),'name':_0x329154[_0x546af7(0x31c)+_0x546af7(0x2a5)],'workspace':join(_0x58b4d4[_0x546af7(0x2fd)+'tateDir'](),'workspac'+'e')}),{..._0x4a6911,'defaultId':_0x266e79,'agents':_0x72aeb3};}async function _0x47bdf2(_0x5f16a8={}){const _0x50c8de=_0xfb077b;_0x185aa5();const _0x277f01=Date[_0x50c8de(0x1eb)]();_0x8c119e?.['info'](_0x50c8de(0x30c)+_0x50c8de(0x2ea)+_0x50c8de(0x24e),{'payload':summarizePayload(_0x5f16a8)});const _0x2b3fe9=await _0x38ef07[_0x50c8de(0x278)](_0x50c8de(0x299)+'.create',buildSessionCreateRequestPayload(_0x5f16a8)),_0x56cd83=parseSessionCreateResult(_0x2b3fe9);return _0x8c119e?.[_0x50c8de(0x28b)](_0x50c8de(0x30c)+_0x50c8de(0x302)+'ompleted',{'key':_0x56cd83['key'],'sessionId':_0x56cd83[_0x50c8de(0x202)+'d'],'durationMs':Date[_0x50c8de(0x1eb)]()-_0x277f01}),_0x56cd83;}async function _0x311a85(_0x2ee4ee={}){const _0x28b18a=_0xfb077b,_0x4b6a30=await readSessionMetadata(_0x58b4d4[_0x28b18a(0x2fd)+_0x28b18a(0x2aa)]());if(!_0x4f4b5b())return{'pending':!![],'sessions':[],'pinnedKeys':_0x4b6a30[_0x28b18a(0x280)+'ys']};const _0x1c66f4=Date['now'](),_0x3ec419=Math[_0x28b18a(0x273)](0x1,Math[_0x28b18a(0x338)](Number(_0x2ee4ee[_0x28b18a(0x22f)])||0x64)),_0x5ee104={'limit':_0x3ec419,'includeGlobal':!![],'includeUnknown':![]},_0x556b00=getTrimmedString(_0x2ee4ee[_0x28b18a(0x339)]??_0x28b18a(0x291));if(_0x556b00)_0x5ee104[_0x28b18a(0x339)]=_0x556b00;const _0xf6b069=applySessionMetadata(await _0x38ef07[_0x28b18a(0x278)]('sessions'+'.list',_0x5ee104),_0x4b6a30);return _0x8c119e?.['info']('sessions'+'\x20list\x20co'+'mpleted',{'payload':_0x5ee104,'count':Array[_0x28b18a(0x312)](_0xf6b069[_0x28b18a(0x299)])?_0xf6b069['sessions'][_0x28b18a(0x237)]:0x0,'durationMs':Date[_0x28b18a(0x1eb)]()-_0x1c66f4}),_0xf6b069;}async function _0x4f444b(_0x4624f6={}){const _0x4f5373=_0xfb077b;_0x185aa5();const _0x2b7577=getTrimmedString(_0x4624f6[_0x4f5373(0x1ed)+'ey']??_0x4624f6[_0x4f5373(0x256)]);if(!_0x2b7577)throw new Error('sessionK'+_0x4f5373(0x2b7)+_0x4f5373(0x25f));const _0x84dfa8=Date['now'](),_0x5875e9=await _0x38ef07[_0x4f5373(0x278)](_0x4f5373(0x299)+_0x4f5373(0x2ad),{'key':_0x2b7577,'deleteTranscript':_0x4624f6[_0x4f5373(0x2c1)+_0x4f5373(0x2bb)]!==![],'emitLifecycleHooks':!![]}),_0x5bb571=await readSessionMetadata(_0x58b4d4[_0x4f5373(0x2fd)+_0x4f5373(0x2aa)]());return delete _0x5bb571[_0x4f5373(0x2f4)][_0x2b7577],_0x5bb571[_0x4f5373(0x280)+'ys']=_0x5bb571['pinnedKe'+'ys'][_0x4f5373(0x1fa)](_0x3947e8=>_0x3947e8!==_0x2b7577),await writeSessionMetadata(_0x58b4d4[_0x4f5373(0x2fd)+_0x4f5373(0x2aa)](),_0x5bb571),_0xe8a129(_0x4f5373(0x23a)+'updated',{'type':_0x4f5373(0x21f),'sessionKey':_0x2b7577}),_0x8c119e?.[_0x4f5373(0x28b)](_0x4f5373(0x30c)+_0x4f5373(0x246)+_0x4f5373(0x235),{'sessionKey':_0x2b7577,'deleteTranscript':_0x4624f6[_0x4f5373(0x2c1)+_0x4f5373(0x2bb)]!==![],'durationMs':Date['now']()-_0x84dfa8}),_0x5875e9;}async function _0x44ce63(_0x4e269c={}){const _0x24607f=_0xfb077b,_0x15f1c1=getTrimmedString(_0x4e269c[_0x24607f(0x1ed)+'ey']??_0x4e269c['key']);if(!_0x15f1c1)throw new Error(_0x24607f(0x1ed)+_0x24607f(0x2b7)+_0x24607f(0x25f));const _0x43d7d5=getTrimmedString(_0x4e269c['name']??_0x4e269c[_0x24607f(0x2eb)]??_0x4e269c[_0x24607f(0x33d)]),_0x99c879=await readSessionMetadata(_0x58b4d4[_0x24607f(0x2fd)+_0x24607f(0x2aa)]());if(_0x43d7d5)_0x99c879[_0x24607f(0x2f4)][_0x15f1c1]=_0x43d7d5;else delete _0x99c879['names'][_0x15f1c1];return await writeSessionMetadata(_0x58b4d4[_0x24607f(0x2fd)+_0x24607f(0x2aa)](),_0x99c879),_0xe8a129(_0x24607f(0x23a)+_0x24607f(0x33a),{'type':_0x24607f(0x276),'sessionKey':_0x15f1c1,'name':_0x43d7d5}),_0x8c119e?.[_0x24607f(0x28b)](_0x24607f(0x30c)+'rename\x20c'+'ompleted',{'sessionKey':_0x15f1c1,'hasName':Boolean(_0x43d7d5),'name':_0x43d7d5?summarizeText(_0x43d7d5,0x50):undefined}),{'ok':!![]};}async function _0xf6b2c2(){const _0x32c613=_0xfb077b,_0x33ceb2=await readSessionMetadata(_0x58b4d4['resolveS'+_0x32c613(0x2aa)]());return _0x33ceb2[_0x32c613(0x280)+'ys'];}async function _0x548f07(_0x29234d=[]){const _0x3197ff=_0xfb077b,_0x2b1136=await readSessionMetadata(_0x58b4d4[_0x3197ff(0x2fd)+_0x3197ff(0x2aa)]());return _0x2b1136[_0x3197ff(0x280)+'ys']=Array['isArray'](_0x29234d)?[...new Set(_0x29234d[_0x3197ff(0x20b)](getTrimmedString)[_0x3197ff(0x1fa)](Boolean))]:[],await writeSessionMetadata(_0x58b4d4[_0x3197ff(0x2fd)+_0x3197ff(0x2aa)](),_0x2b1136),_0xe8a129(_0x3197ff(0x23a)+_0x3197ff(0x33a),{'type':_0x3197ff(0x2fc)+_0x3197ff(0x1e3)+_0x3197ff(0x34a),'pinnedKeys':_0x2b1136[_0x3197ff(0x280)+'ys']}),_0x8c119e?.[_0x3197ff(0x28b)](_0x3197ff(0x30c)+_0x3197ff(0x214)+_0x3197ff(0x2f1)+_0x3197ff(0x34a),{'count':_0x2b1136[_0x3197ff(0x280)+'ys']['length']}),{'ok':!![],'pinnedKeys':_0x2b1136[_0x3197ff(0x280)+'ys']};}async function _0x411e28(){const _0x220266=_0xfb077b,_0x20ae43=join(_0x58b4d4[_0x220266(0x2fd)+'tateDir'](),_0x220266(0x29f)+'e');return{'path':_0x20ae43,'exists':Boolean(await stat(_0x20ae43)[_0x220266(0x285)](()=>null))};}async function _0x452a88(){const _0x266622=_0xfb077b;return readSharedContext(join(_0x58b4d4[_0x266622(0x2fd)+_0x266622(0x2aa)](),'workspac'+'e'));}async function _0x31351d(_0x4eaa1b={}){const _0x496904=_0xfb077b;return _0x2039d2?.['info']('workspac'+'e\x20shared'+_0x496904(0x349)+_0x496904(0x2ab)+'equested',{'files':Object[_0x496904(0x249)](sanitizeSharedContextPayload(_0x4eaa1b))}),writeSharedContext(join(_0x58b4d4[_0x496904(0x2fd)+_0x496904(0x2aa)](),_0x496904(0x29f)+'e'),_0x4eaa1b);}async function _0x2d48d9(_0x238e43={}){const _0x20313f=_0xfb077b;return _0x185aa5(),await _0x38ef07[_0x20313f(0x278)]('cron.lis'+'t',_0x238e43);}async function _0x263eb8(_0x401be4={}){const _0x1c029f=_0xfb077b;return _0x185aa5(),await _0x38ef07['request'](_0x1c029f(0x241),_0x401be4);}async function _0x1d2310(_0x2c60ed={}){const _0x3cb00e=_0xfb077b;_0x185aa5();const _0x12523a=getTrimmedString(_0x2c60ed['jobId']??_0x2c60ed['id']);if(!_0x12523a)throw new Error(_0x3cb00e(0x25e)+_0x3cb00e(0x2ba)+'d');const _0x4ae8f0=asRecord(_0x2c60ed[_0x3cb00e(0x316)]),_0x605d09=Object['keys'](_0x4ae8f0)[_0x3cb00e(0x237)]>0x0?_0x4ae8f0:{..._0x2c60ed};return delete _0x605d09[_0x3cb00e(0x30e)],delete _0x605d09['id'],await _0x38ef07[_0x3cb00e(0x278)](_0x3cb00e(0x32a)+_0x3cb00e(0x277),{'jobId':_0x12523a,'patch':_0x605d09});}async function _0x47c394(_0x59540c={}){const _0x242c00=_0xfb077b;_0x185aa5();const _0x1f09f3=getTrimmedString(_0x59540c[_0x242c00(0x30e)]??_0x59540c['id']);if(!_0x1f09f3)throw new Error(_0x242c00(0x25e)+'\x20require'+'d');return await _0x38ef07['request'](_0x242c00(0x31a)+_0x242c00(0x21b),{'jobId':_0x1f09f3});}async function _0x4bdb2e(_0x2768af={}){const _0x42151e=_0xfb077b;_0x185aa5();const _0x3ead42=getTrimmedString(_0x2768af[_0x42151e(0x30e)]??_0x2768af['id']);if(!_0x3ead42)throw new Error(_0x42151e(0x25e)+_0x42151e(0x2ba)+'d');return await _0x38ef07[_0x42151e(0x278)](_0x42151e(0x201),{'jobId':_0x3ead42});}async function _0x461a15(_0x4768a4={}){const _0x5d931d=_0xfb077b;return _0x185aa5(),await _0x38ef07[_0x5d931d(0x278)]('cron.run'+'s',_0x4768a4);}async function _0x54cfe4(_0x37394c={}){const _0x32e170=_0xfb077b;_0x185aa5();const _0x9b45f3=Date[_0x32e170(0x1eb)]();_0x2039d2?.[_0x32e170(0x28b)]('skill\x20in'+_0x32e170(0x2f6)+'quested',{'payload':summarizePayload(_0x37394c)});try{const _0x4689f0=await _0x38ef07[_0x32e170(0x278)](_0x32e170(0x345)+_0x32e170(0x2e1),_0x37394c);return _0x2039d2?.[_0x32e170(0x28b)](_0x32e170(0x32c)+_0x32e170(0x26a)+_0x32e170(0x22d),{'durationMs':Date[_0x32e170(0x1eb)]()-_0x9b45f3,'result':summarizePayload(_0x4689f0,{'maxDepth':0x2})}),_0x4689f0;}catch(_0x3bedd9){_0x2039d2?.['error']('skill\x20in'+_0x32e170(0x207)+'iled',{'durationMs':Date[_0x32e170(0x1eb)]()-_0x9b45f3,'error':summarizeError(_0x3bedd9)});throw _0x3bedd9;}}async function _0x9f9827(_0x9c7158={}){const _0x1f9343=_0xfb077b;return _0x185aa5(),_0x2039d2?.[_0x1f9343(0x28b)](_0x1f9343(0x224)+_0x1f9343(0x2d6)+'uested',{'payload':summarizePayload(_0x9c7158)}),await _0x38ef07['request'](_0x1f9343(0x2d5)+'pdate',_0x9c7158);}async function _0x330ea5(_0x1dd793={}){const _0x4153d3=_0xfb077b;return _0x185aa5(),_0x2039d2?.[_0x4153d3(0x28b)](_0x4153d3(0x2e7)+_0x4153d3(0x310)+_0x4153d3(0x233),{'payload':summarizePayload(_0x1dd793)}),await _0x38ef07[_0x4153d3(0x278)](_0x4153d3(0x2ce)+'elete',_0x1dd793);}async function _0x203b97(_0xba7599={}){const _0x5b0a19=_0xfb077b;_0x185aa5();const _0xa81840=getTrimmedString(_0xba7599[_0x5b0a19(0x1ed)+'ey']),_0xa9765e=getTrimmedString(_0xba7599['message']),_0x11627b=getTrimmedString(_0xba7599[_0x5b0a19(0x24a)+'d'])||randomUUID();if(!_0xa81840)throw new Error(_0x5b0a19(0x1ed)+_0x5b0a19(0x2b7)+_0x5b0a19(0x25f));if(!_0xa9765e)throw new Error(_0x5b0a19(0x2f0)+_0x5b0a19(0x21c)+_0x5b0a19(0x29c));const _0x2ffb84=Date[_0x5b0a19(0x1eb)]();_0x4b0dab?.[_0x5b0a19(0x28b)](_0x5b0a19(0x2d3)+_0x5b0a19(0x253)+_0x5b0a19(0x281),{'requestId':_0x11627b,'sessionKey':_0xa81840,'message':summarizeText(_0xa9765e),'filePaths':summarizeFilePaths(_0xba7599['filePath'+'s'])}),_0x5163f1({'requestId':_0x11627b,'sessionKey':_0xa81840,'type':_0x5b0a19(0x309)}),_0x3b9dc7[_0x5b0a19(0x288)](_0x11627b,{'runId':_0x11627b,'requestId':_0x11627b,'sessionKey':_0xa81840,'textLength':0x0,'startedAt':_0x2ffb84}),_0x5dff0a[_0x5b0a19(0x288)](_0xa81840,_0x11627b);try{const _0x3fdac=await buildAttachments(Array['isArray'](_0xba7599[_0x5b0a19(0x2a2)+'s'])?_0xba7599[_0x5b0a19(0x2a2)+'s']:[]);_0x4b0dab?.['info']('chat\x20att'+_0x5b0a19(0x264)+'\x20prepare'+'d',{'requestId':_0x11627b,'sessionKey':_0xa81840,'attachmentCount':_0x3fdac[_0x5b0a19(0x237)],'attachments':_0x3fdac['map'](_0x116ad2=>({'type':_0x116ad2['type'],'mimeType':_0x116ad2['mimeType'],'fileName':_0x116ad2[_0x5b0a19(0x2b1)],'contentLength':_0x116ad2[_0x5b0a19(0x311)][_0x5b0a19(0x237)]}))});const _0x8177cf=asRecord(await _0x38ef07[_0x5b0a19(0x278)]('chat.sen'+'d',{'sessionKey':_0xa81840,'message':_0xa9765e,'deliver':![],'idempotencyKey':_0x11627b,..._0x3fdac[_0x5b0a19(0x237)]>0x0?{'attachments':_0x3fdac}:{}})),_0x5cbf13=getTrimmedString(_0x8177cf[_0x5b0a19(0x30b)])||_0x11627b,_0x1e6f6a=_0x3b9dc7['get'](_0x11627b);if(!_0x1e6f6a)return{'ok':!![],'requestId':_0x11627b,'runId':_0x5cbf13};return _0x5cbf13!==_0x1e6f6a[_0x5b0a19(0x30b)]&&(_0x3b9dc7[_0x5b0a19(0x2ac)](_0x1e6f6a[_0x5b0a19(0x30b)]),_0x1e6f6a[_0x5b0a19(0x30b)]=_0x5cbf13,_0x3b9dc7[_0x5b0a19(0x288)](_0x5cbf13,_0x1e6f6a)),_0x5dff0a['set'](_0xa81840,_0x5cbf13),_0x4b0dab?.[_0x5b0a19(0x28b)]('chat\x20str'+_0x5b0a19(0x332)+_0x5b0a19(0x238)+'gateway',{'requestId':_0x11627b,'runId':_0x5cbf13,'sessionKey':_0xa81840,'durationMs':Date[_0x5b0a19(0x1eb)]()-_0x2ffb84,'status':_0x8177cf['status']}),_0x8177cf[_0x5b0a19(0x1de)]===_0x5b0a19(0x2e9)&&_0x5be51f(_0x1e6f6a,_0x5b0a19(0x2e9),getTrimmedString(_0x8177cf[_0x5b0a19(0x20a)+_0x5b0a19(0x2b8)])||'gateway\x20'+_0x5b0a19(0x304)+_0x5b0a19(0x26f)),{'ok':!![],'requestId':_0x11627b,'runId':_0x5cbf13,'response':_0x8177cf};}catch(_0x730062){const _0x50e307=_0x1693f5(_0x11627b),_0x1458f1=_0x730062 instanceof Error?_0x730062[_0x5b0a19(0x2a0)]:String(_0x730062);_0x4b0dab?.[_0x5b0a19(0x2e9)](_0x5b0a19(0x2d3)+_0x5b0a19(0x204)+'ed',{'requestId':_0x11627b,'sessionKey':_0xa81840,'durationMs':Date[_0x5b0a19(0x1eb)]()-_0x2ffb84,'error':summarizeError(_0x730062)});if(_0x50e307)_0x5be51f(_0x50e307,'error',_0x1458f1);else _0x5163f1({'requestId':_0x11627b,'sessionKey':_0xa81840,'type':_0x5b0a19(0x2e9),'message':_0x1458f1});throw _0x730062;}}async function _0x3a6208(_0x5b7223={}){const _0x3e5edb=_0xfb077b;_0x185aa5();const _0x28aedd=getTrimmedString(_0x5b7223[_0x3e5edb(0x1ed)+'ey']);if(!_0x28aedd)throw new Error(_0x3e5edb(0x1ed)+_0x3e5edb(0x2b7)+_0x3e5edb(0x25f));const _0x18a329=Date[_0x3e5edb(0x1eb)](),_0x52bc42=_0x1693f5(getTrimmedString(_0x5b7223[_0x3e5edb(0x24a)+'d']))??_0x11d05b(_0x28aedd),_0x4361ec=_0x5dff0a['get'](_0x28aedd),_0x55b3cc={'sessionKey':_0x28aedd};if(_0x52bc42?.['runId'])_0x55b3cc[_0x3e5edb(0x30b)]=_0x52bc42[_0x3e5edb(0x30b)];else{if(_0x4361ec)_0x55b3cc[_0x3e5edb(0x30b)]=_0x4361ec;}const _0x1c6b0d=await _0x38ef07[_0x3e5edb(0x278)](_0x3e5edb(0x331)+'rt',_0x55b3cc);if(_0x52bc42)_0x5be51f(_0x52bc42,_0x3e5edb(0x236));return _0x4b0dab?.['info'](_0x3e5edb(0x267)+_0x3e5edb(0x200)+_0x3e5edb(0x206),{'sessionKey':_0x28aedd,'requestId':getTrimmedString(_0x5b7223[_0x3e5edb(0x24a)+'d']),'runId':_0x55b3cc[_0x3e5edb(0x30b)],'durationMs':Date[_0x3e5edb(0x1eb)]()-_0x18a329}),_0x1c6b0d;}async function _0x1278a9(_0x161dbc={}){const _0x19b3cd=_0xfb077b;_0x185aa5();const _0x3c1ea1=getTrimmedString(_0x161dbc[_0x19b3cd(0x1ed)+'ey']);if(!_0x3c1ea1)throw new Error(_0x19b3cd(0x1ed)+_0x19b3cd(0x2b7)+_0x19b3cd(0x25f));const _0x4d5229=await _0x38ef07[_0x19b3cd(0x278)](_0x19b3cd(0x2ed)+_0x19b3cd(0x232),{'sessionKey':_0x3c1ea1,'limit':Math['max'](0x1,Math['floor'](Number(_0x161dbc[_0x19b3cd(0x22f)])||0xc8))});return _0x4b0dab?.[_0x19b3cd(0x28b)]('chat\x20his'+'tory\x20loa'+'ded',{'sessionKey':_0x3c1ea1,'limit':Math[_0x19b3cd(0x273)](0x1,Math[_0x19b3cd(0x338)](Number(_0x161dbc[_0x19b3cd(0x22f)])||0xc8)),'result':summarizePayload(_0x4d5229,{'maxDepth':0x2})}),_0x4d5229;}async function _0x5c00ad(_0x3c7a39=''){const _0x29510a=_0xfb077b;if(!_0x4f4b5b())return{'pending':!![],'skills':[]};const _0x59f6ae=getTrimmedString(_0x3c7a39),_0x1b5b7c=await _0x38ef07[_0x29510a(0x278)]('skills.s'+_0x29510a(0x32f),_0x59f6ae?{'agentId':_0x59f6ae}:{}),_0x5b7312=await _0x58b4d4[_0x29510a(0x328)+'ig']()[_0x29510a(0x285)](()=>({})),_0x35cb2a=filterSkillsForAgent(_0x1b5b7c,_0x5b7312,_0x59f6ae);return _0x2039d2?.['info']('skills\x20s'+_0x29510a(0x318)+'aded',{'agentId':_0x59f6ae||_0x29510a(0x231),'result':summarizePayload(_0x35cb2a,{'maxDepth':0x2})}),_0x35cb2a;}return{'on':_0x3a008e,'start':_0x375ad0,'stop':_0xe443a8,'restart':_0x2f6e01,'runtimeInfo':_0x50c7d6,'getStatus':()=>_0x46e744,'getRecentLogs':_0x14aa06,'answerAskUserQuestion':_0xdc76e1=>_0x22197e[_0xfb077b(0x250)](_0xdc76e1),'agents':{'list':_0x393c8a},'skills':{'status':_0x5c00ad,'install':_0x54cfe4,'update':_0x9f9827,'delete':_0x330ea5},'sessions':{'create':_0x47bdf2,'list':_0x311a85,'delete':_0x4f444b,'rename':_0x44ce63,'pinnedKeys':_0xf6b2c2,'setPinnedKeys':_0x548f07},'workspace':{'directoryInfo':_0x411e28,'sharedContext':_0x452a88,'writeSharedContext':_0x31351d},'cron':{'list':_0x2d48d9,'create':_0x263eb8,'update':_0x1d2310,'remove':_0x47c394,'runOnce':_0x4bdb2e,'logs':_0x461a15},'models':{'settings':()=>_0x58b4d4['getModel'+_0xfb077b(0x23d)](),'setSettings':async(_0x2b4d6d={})=>{const _0x1b9c18=_0xfb077b,_0x52164d=_0x2b4d6d?.['restartO'+_0x1b9c18(0x2d0)]!==![];return await _0x58b4d4[_0x1b9c18(0x22b)+_0x1b9c18(0x23d)](_0x2b4d6d,{'restartOnChange':_0x52164d}),_0x58b4d4[_0x1b9c18(0x21d)+_0x1b9c18(0x23d)]();},'setSelfOperatedModels':_0x5d2e5a=>_0x58b4d4[_0xfb077b(0x2cb)+'peratedM'+_0xfb077b(0x27a)](_0x5d2e5a),'selectedModelId':async()=>{const _0x3b9b7f=_0xfb077b,_0x162891=await _0x58b4d4[_0x3b9b7f(0x21d)+_0x3b9b7f(0x23d)]();return _0x162891['provider']&&_0x162891[_0x3b9b7f(0x2fb)+'e']?_0x162891[_0x3b9b7f(0x301)]+'/'+_0x162891[_0x3b9b7f(0x2fb)+'e']:'';},'customModels':async()=>[]},'config':{'read':()=>_0x58b4d4['readConf'+'ig']()},'chat':{'stream':_0x203b97,'abort':_0x3a6208,'history':_0x1278a9}};}
@@ -1 +1 @@
1
- const _0x3f13b4=_0xa634;(function(_0x2e59fc,_0x36bed5){const _0x499516=_0xa634,_0x3ac862=_0x2e59fc();while(!![]){try{const _0x43ca21=-parseInt(_0x499516(0xb1))/0x1+-parseInt(_0x499516(0x146))/0x2*(parseInt(_0x499516(0x13d))/0x3)+-parseInt(_0x499516(0x10c))/0x4+parseInt(_0x499516(0xc4))/0x5*(-parseInt(_0x499516(0x137))/0x6)+-parseInt(_0x499516(0xf4))/0x7+-parseInt(_0x499516(0x12a))/0x8*(parseInt(_0x499516(0x112))/0x9)+parseInt(_0x499516(0x9f))/0xa;if(_0x43ca21===_0x36bed5)break;else _0x3ac862['push'](_0x3ac862['shift']());}catch(_0x11c673){_0x3ac862['push'](_0x3ac862['shift']());}}}(_0x3266,0x779a5));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 _0x2b49cc from'ws';const ED25519_SPKI_PREFIX=Buffer[_0x3f13b4(0x134)](_0x3f13b4(0x9e)+'06032b65'+'70032100',_0x3f13b4(0x10a)),BASE64_PADDING_REGEX=/=+$/g,UPPERCASE_ASCII_REGEX=/[A-Z]/g;function isRecord(_0x1f9b83){const _0x4b7e97=_0x3f13b4;return Boolean(_0x1f9b83)&&typeof _0x1f9b83===_0x4b7e97(0x100)&&!Array['isArray'](_0x1f9b83);}function formatUnknownError(_0x18e01a){const _0x3b38df=_0x3f13b4;if(_0x18e01a instanceof Error)return _0x18e01a[_0x3b38df(0x102)];return String(_0x18e01a??'');}function isLocalGatewayConnRefused(_0x3e7cd7){const _0x1b99b1=_0x3f13b4,_0x168ce2=formatUnknownError(_0x3e7cd7);return/\bECONNREFUSED\b/i[_0x1b99b1(0xba)](_0x168ce2)&&/127\.0\.0\.1:\d+/[_0x1b99b1(0xba)](_0x168ce2);}function base64UrlEncode(_0x42e74d){const _0x580cfd=_0x3f13b4;return _0x42e74d[_0x580cfd(0x124)]('base64')['replaceA'+'ll']('+','-')[_0x580cfd(0xe5)+'ll']('/','_')[_0x580cfd(0x151)](BASE64_PADDING_REGEX,'');}function derivePublicKeyRaw(_0x46ffa9){const _0xee8f5b=_0x3f13b4,_0x4c2ce7=createPublicKey(_0x46ffa9)[_0xee8f5b(0x142)]({'type':_0xee8f5b(0x120),'format':_0xee8f5b(0x14e)}),_0x41db8a=Buffer[_0xee8f5b(0xd8)](_0x4c2ce7)?_0x4c2ce7:Buffer[_0xee8f5b(0x134)](_0x4c2ce7),_0x5ab673=_0x41db8a[_0xee8f5b(0x125)]===ED25519_SPKI_PREFIX[_0xee8f5b(0x125)]+0x20&&_0x41db8a['subarray'](0x0,ED25519_SPKI_PREFIX[_0xee8f5b(0x125)])[_0xee8f5b(0x127)](ED25519_SPKI_PREFIX);return _0x5ab673?_0x41db8a['subarray'](ED25519_SPKI_PREFIX['length']):_0x41db8a;}function fingerprintPublicKey(_0x1481c7){const _0x4dd63d=_0x3f13b4;return createHash(_0x4dd63d(0xa6))[_0x4dd63d(0x10e)](derivePublicKeyRaw(_0x1481c7))['digest']('hex');}function _0xa634(_0x1327be,_0x4b7672){_0x1327be=_0x1327be-0x9b;const _0x32660c=_0x3266();let _0xa6344f=_0x32660c[_0x1327be];return _0xa6344f;}function publicKeyRawBase64UrlFromPem(_0x35a001){return base64UrlEncode(derivePublicKeyRaw(_0x35a001));}function signDevicePayload(_0x9b15d6,_0x5cc826){const _0x106ed5=_0x3f13b4,_0xf9817f=createPrivateKey(_0x9b15d6);return base64UrlEncode(sign(null,Buffer[_0x106ed5(0x134)](_0x5cc826,_0x106ed5(0x11e)),_0xf9817f));}function normalizeDeviceMetadataForAuth(_0x7356c2){const _0x472fdd=_0x3f13b4,_0x2db387=typeof _0x7356c2==='string'?_0x7356c2[_0x472fdd(0xd3)]():'';if(!_0x2db387)return'';return _0x2db387[_0x472fdd(0x151)](UPPERCASE_ASCII_REGEX,_0x589cb4=>String[_0x472fdd(0x13c)+_0x472fdd(0xe1)](_0x589cb4[_0x472fdd(0xf5)+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x45f89b){const _0x1cf4df=_0x3f13b4;return['v3',_0x45f89b[_0x1cf4df(0x145)],_0x45f89b[_0x1cf4df(0x108)],_0x45f89b['clientMo'+'de'],_0x45f89b['role'],_0x45f89b['scopes']['join'](','),String(_0x45f89b[_0x1cf4df(0xb6)+'Ms']),_0x45f89b[_0x1cf4df(0x140)]??'',_0x45f89b['nonce'],normalizeDeviceMetadataForAuth(_0x45f89b[_0x1cf4df(0x11b)]),normalizeDeviceMetadataForAuth(_0x45f89b[_0x1cf4df(0x136)+_0x1cf4df(0xc8)])][_0x1cf4df(0x115)]('|');}function writeIdentityFile(_0x2b588b,_0x58eaa3,_0x2fa43){const _0x4545c5=_0x3f13b4;mkdirSync(dirname(_0x2b588b),{'recursive':!![]}),writeFileSync(_0x2b588b,JSON[_0x4545c5(0x116)+'y']({'version':0x1,..._0x58eaa3,'createdAtMs':_0x2fa43},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0x2b588b,0x180);}catch{}}function _0x3266(){const _0x76f74a=['WS\x20conne','ted','identity','entity','rsion','from','entries','deviceFa','6AvrvdM','ect','viceFami','readySta','ateway\x20r','fromChar','6bvrgft','rejectRe','eout','token','pem','export','pending','method','deviceId','416638BvcYCl','connectS','ction\x20ti','ed25519','req','.read','removeAl','timeout','der','send','ent','replace','WS\x20close','pkcs8','nected','t:\x20','connectN','hake\x20tim','handleDi','302a3005','29353600hGorSR','sconnect','dentity','o\x20load\x20g','DateTime','accepted','onChatEv','sha256','payload','med\x20out','ters','WS\x20clien','reject','ssage','Timer','restart','t\x20connec','e\x20timeou','539128SpuSMT','resolve','stop','type','push','signedAt','shouldRe','lengeTim','Path','test','reconnec','ct\x20faile','get','connect','way\x20设备身份','expectFi','eyPem','config','splayNam','4029505BKCASM','delete','close','rejectPe','mily','hallenge','初始化\x20gate','t\x20restar','nal','nonce','res','yCheck','url','.approva','g\x20nonce','trim','operator','\x20yet','eadyWait','dentity\x20','isBuffer','open','hake\x20mis','adyWaite','parse','set','code=','onConnec','yPem','Code','nnected','onAgentE','nding','replaceA','connect\x20','ateway\x20i','vent','e\x20missin','d\x20(','ble','WS\x20is\x20no','request','unavaila','WS\x20error','clientMo','tTimer','istening','onDiscon','709065teyehA','charCode','wujie-sh','ers','.admin','ed\x20out','.pairing','event','failed\x20t','handleMe','t\x20config','publicKe','object','connecte','message','Options','terminat','timed\x20ou','connectC','challeng','clientId','failed','hex','error','1561384HMFZgT','clientVe','update','readyWai','tBackoff','privateK','157221GoMZex','WS\x20hands','WS\x20disco','join','stringif','gateway\x20','OPEN','sing\x20non','lListene','platform','lReady','skipRead','utf8','queueCon','spki','resolveR','clientDe','clearTim','toString','length','string','equals','now','filter','88VCvdZG','once','o\x20send\x20g','ting','sendConn'];_0x3266=function(){return _0x76f74a;};return _0x3266();}function generateDeviceIdentity(){const _0x53e392=_0x3f13b4,{publicKey:_0x3df004,privateKey:_0x1f0dcb}=generateKeyPairSync(_0x53e392(0x149)),_0x575577=_0x3df004[_0x53e392(0x142)]({'type':_0x53e392(0x120),'format':_0x53e392(0x141)})[_0x53e392(0x124)](),_0x2c9378=_0x1f0dcb[_0x53e392(0x142)]({'type':_0x53e392(0x153),'format':_0x53e392(0x141)})[_0x53e392(0x124)]();return{'deviceId':fingerprintPublicKey(_0x575577),'publicKeyPem':_0x575577,'privateKeyPem':_0x2c9378};}function loadOrCreateDeviceIdentity(_0x3eba66){const _0x3b3ef1=_0x3f13b4;if(existsSync(_0x3eba66))try{const _0x1f00c0=JSON['parse'](readFileSync(_0x3eba66,_0x3b3ef1(0x11e))),_0xfad58c=typeof _0x1f00c0?.[_0x3b3ef1(0xff)+_0x3b3ef1(0xe0)]===_0x3b3ef1(0x126)?_0x1f00c0['publicKe'+_0x3b3ef1(0xe0)]:'',_0xb889e8=typeof _0x1f00c0?.[_0x3b3ef1(0x111)+_0x3b3ef1(0xc1)]==='string'?_0x1f00c0[_0x3b3ef1(0x111)+_0x3b3ef1(0xc1)]:'';if(_0xfad58c&&_0xb889e8){const _0x391254={'deviceId':fingerprintPublicKey(_0xfad58c),'publicKeyPem':_0xfad58c,'privateKeyPem':_0xb889e8};return _0x1f00c0?.[_0x3b3ef1(0x145)]!==_0x391254[_0x3b3ef1(0x145)]&&writeIdentityFile(_0x3eba66,_0x391254,Date[_0x3b3ef1(0x128)]()),_0x391254;}}catch{}const _0x412f31=generateDeviceIdentity();return writeIdentityFile(_0x3eba66,_0x412f31,Date['now']()),_0x412f31;}export class ClawGatewayWsClient{['ws']=null;[_0x3f13b4(0xc2)]=null;['pending']=new Map();[_0x3f13b4(0x10f)+_0x3f13b4(0xa9)]=[];[_0x3f13b4(0xb7)+_0x3f13b4(0xbe)]=![];[_0x3f13b4(0xbb)+'tTimer']=null;[_0x3f13b4(0x106)+_0x3f13b4(0xc9)+_0x3f13b4(0xad)]=null;[_0x3f13b4(0x9b)+_0x3f13b4(0x12b)]=null;[_0x3f13b4(0x147)+_0x3f13b4(0x150)]=![];[_0x3f13b4(0x101)+'d']=![];[_0x3f13b4(0xbb)+_0x3f13b4(0x110)+'Ms']=0x320;[_0x3f13b4(0x145)+'entity']=null;['configur'+'e'](_0x29690d){const _0x193124=_0x3f13b4;if(!_0x29690d){this['stop']();return;}const _0x2db6a3=this[_0x193124(0xc2)];this[_0x193124(0xc2)]=_0x29690d,this[_0x193124(0xb7)+_0x193124(0xbe)]=!![];try{this[_0x193124(0x145)+_0x193124(0x132)]=loadOrCreateDeviceIdentity(_0x29690d['identity'+_0x193124(0xb9)]);}catch(_0x1711cb){const _0x4bd590=_0x1711cb instanceof Error?_0x1711cb[_0x193124(0x102)]:_0x193124(0xca)+_0x193124(0xbf)+'失败';this[_0x193124(0xb3)](),_0x29690d['onDiscon'+_0x193124(0x154)](_0x4bd590);return;}const _0x5d59be=!_0x2db6a3||_0x2db6a3[_0x193124(0xd0)]!==_0x29690d[_0x193124(0xd0)]||_0x2db6a3[_0x193124(0x140)]!==_0x29690d[_0x193124(0x140)]||_0x2db6a3[_0x193124(0x108)]!==_0x29690d[_0x193124(0x108)]||_0x2db6a3[_0x193124(0xf0)+'de']!==_0x29690d[_0x193124(0xf0)+'de']||_0x2db6a3[_0x193124(0x10d)+_0x193124(0x133)]!==_0x29690d['clientVe'+_0x193124(0x133)]||_0x2db6a3[_0x193124(0x131)+_0x193124(0xb9)]!==_0x29690d[_0x193124(0x131)+_0x193124(0xb9)];if(_0x5d59be){this[_0x193124(0xae)]();return;}if(!this['ws'])this[_0x193124(0xbe)]();}[_0x3f13b4(0xb3)](){const _0x36aa61=_0x3f13b4;this[_0x36aa61(0xb7)+_0x36aa61(0xbe)]=![],this['connecte'+'d']=![],this[_0x36aa61(0x9b)+'once']=null,this['connectS'+_0x36aa61(0x150)]=![],this[_0x36aa61(0x123)+_0x36aa61(0xf7)](),this[_0x36aa61(0xc7)+'nding'](new Error(_0x36aa61(0x117)+_0x36aa61(0xaa)+'t\x20stoppe'+'d')),this['rejectRe'+'adyWaite'+'rs'](new Error(_0x36aa61(0x117)+_0x36aa61(0xaa)+'t\x20stoppe'+'d'));if(this['ws']){try{this['ws'][_0x36aa61(0xc6)]();}catch{}this['ws']=null;}this['deviceId'+_0x36aa61(0x132)]=null,this[_0x36aa61(0xc2)]=null;}async[_0x3f13b4(0xed)](_0x57d77e,_0x327034={},_0x39df3f={}){const _0x24241a=_0x3f13b4;if(!_0x39df3f[_0x24241a(0x11d)+_0x24241a(0xcf)])await this['waitUnti'+_0x24241a(0x11c)]();const _0x2f6061=this['ws'];if(!_0x2f6061||_0x2f6061['readySta'+'te']!==_0x2b49cc[_0x24241a(0x118)])throw new Error(_0x24241a(0x117)+_0x24241a(0xec)+_0x24241a(0xaf)+_0x24241a(0x130));const _0x2e43f2=randomUUID(),_0x9be46=_0x39df3f['timeoutM'+'s']??0x7530;return await new Promise((_0x2827aa,_0x10e40c)=>{const _0x410ee9=_0x24241a,_0x516684=setTimeout(()=>{const _0x150dcd=_0xa634;this[_0x150dcd(0x143)][_0x150dcd(0xc5)](_0x2e43f2),_0x10e40c(new Error(_0x150dcd(0x117)+'request\x20'+_0x150dcd(0x105)+_0x150dcd(0x155)+_0x57d77e));},_0x9be46);this[_0x410ee9(0x143)][_0x410ee9(0xdd)](_0x2e43f2,{'method':_0x57d77e,'resolve':_0x524189=>{clearTimeout(_0x516684),_0x2827aa(_0x524189);},'reject':_0x413df6=>{clearTimeout(_0x516684),_0x10e40c(_0x413df6);},'expectFinal':_0x39df3f[_0x410ee9(0xc0)+'nal']===!![],'timeout':_0x516684});try{_0x2f6061[_0x410ee9(0x14f)](JSON[_0x410ee9(0x116)+'y']({'type':_0x410ee9(0x14a),'id':_0x2e43f2,'method':_0x57d77e,'params':_0x327034}));}catch(_0x12f791){this[_0x410ee9(0x143)]['delete'](_0x2e43f2),clearTimeout(_0x516684),_0x10e40c(_0x12f791 instanceof Error?_0x12f791:new Error('failed\x20t'+_0x410ee9(0x12c)+_0x410ee9(0x13b)+'equest'));}});}['restart'](){const _0x483055=_0x3f13b4;this[_0x483055(0x101)+'d']=![],this[_0x483055(0x9b)+_0x483055(0x12b)]=null,this['connectS'+'ent']=![],this['clearTim'+_0x483055(0xf7)](),this[_0x483055(0xc7)+_0x483055(0xe4)](new Error(_0x483055(0x117)+_0x483055(0xaa)+_0x483055(0xcb)+_0x483055(0x12d))),this[_0x483055(0x13e)+_0x483055(0xdb)+'rs'](new Error(_0x483055(0x117)+_0x483055(0xaa)+_0x483055(0xcb)+_0x483055(0x12d)));if(this['ws']){try{this['ws'][_0x483055(0x104)+'e']();}catch{}this['ws']=null;}this[_0x483055(0xbe)]();}[_0x3f13b4(0xbe)](){const _0x42b9f6=_0x3f13b4;if(!this[_0x42b9f6(0xc2)]||this['ws'])return;const _0x43cf6b=new _0x2b49cc(this[_0x42b9f6(0xc2)][_0x42b9f6(0xd0)]);this['ws']=_0x43cf6b,_0x43cf6b['on'](_0x42b9f6(0xd9),()=>this['queueCon'+'nectChal'+_0x42b9f6(0xb8)+_0x42b9f6(0x13f)]()),_0x43cf6b['on'](_0x42b9f6(0x102),_0x3d4519=>this[_0x42b9f6(0xfd)+_0x42b9f6(0xac)](_0x3d4519[_0x42b9f6(0x124)]())),_0x43cf6b['on']('close',(_0x1993fc,_0x315171)=>{const _0x5653cb=_0x42b9f6;if(this[_0x5653cb(0x101)+'d']){const _0x4b06a6=_0x315171[_0x5653cb(0x124)]()||_0x5653cb(0xde)+_0x1993fc;this[_0x5653cb(0x9d)+'sconnect'](_0x5653cb(0x117)+_0x5653cb(0x152)+_0x5653cb(0xea)+_0x4b06a6+')');}else this[_0x5653cb(0x9d)+_0x5653cb(0xa0)]('');}),_0x43cf6b['on'](_0x42b9f6(0x10b),_0x41e4e6=>{const _0x56fddf=_0x42b9f6;if(isLocalGatewayConnRefused(_0x41e4e6)){this[_0x56fddf(0x9d)+'sconnect'](_0x56fddf(0x117)+'is\x20not\x20l'+_0x56fddf(0xf2)+_0x56fddf(0xd5));return;}const _0x22ddff=formatUnknownError(_0x41e4e6);this[_0x56fddf(0x9d)+_0x56fddf(0xa0)](_0x22ddff?'gateway\x20'+_0x56fddf(0xef)+':\x20'+_0x22ddff:'gateway\x20'+_0x56fddf(0xef));});}[_0x3f13b4(0x11f)+'nectChal'+_0x3f13b4(0xb8)+_0x3f13b4(0x13f)](){const _0x48d975=_0x3f13b4;this[_0x48d975(0x9b)+'once']=null,this[_0x48d975(0x147)+_0x48d975(0x150)]=![];if(this[_0x48d975(0x106)+'hallenge'+'Timer'])clearTimeout(this[_0x48d975(0x106)+_0x48d975(0xc9)+'Timer']);this['connectC'+'hallenge'+_0x48d975(0xad)]=setTimeout(()=>{const _0x1a3bfe=_0x48d975;if(this['connectS'+'ent']||!this['ws']||this['ws'][_0x1a3bfe(0x13a)+'te']!==_0x2b49cc[_0x1a3bfe(0x118)])return;this['handleDi'+_0x1a3bfe(0xa0)](_0x1a3bfe(0x117)+_0x1a3bfe(0x113)+_0x1a3bfe(0x9c)+_0x1a3bfe(0xf9)),this['ws']?.['close'](0x3f0,'connect\x20'+_0x1a3bfe(0x107)+_0x1a3bfe(0xb0)+'t');},0x7d0);}async[_0x3f13b4(0x12e)+_0x3f13b4(0x138)](){const _0x1d17ce=_0x3f13b4,_0x2aa8af=this[_0x1d17ce(0xc2)];if(!_0x2aa8af||this[_0x1d17ce(0x147)+'ent'])return;const _0x32a7dd=this[_0x1d17ce(0x9b)+_0x1d17ce(0x12b)]?.[_0x1d17ce(0xd3)]()??'';if(!_0x32a7dd){this['handleDi'+_0x1d17ce(0xa0)](_0x1d17ce(0x117)+_0x1d17ce(0x113)+'hake\x20mis'+_0x1d17ce(0x119)+'ce'),this['ws']?.[_0x1d17ce(0xc6)](0x3f0,'connect\x20'+_0x1d17ce(0x107)+_0x1d17ce(0xe9)+_0x1d17ce(0xd2));return;}this['connectS'+_0x1d17ce(0x150)]=!![];this[_0x1d17ce(0x106)+_0x1d17ce(0xc9)+_0x1d17ce(0xad)]&&(clearTimeout(this[_0x1d17ce(0x106)+_0x1d17ce(0xc9)+_0x1d17ce(0xad)]),this[_0x1d17ce(0x106)+_0x1d17ce(0xc9)+'Timer']=null);if(!this['deviceId'+_0x1d17ce(0x132)])try{this[_0x1d17ce(0x145)+'entity']=loadOrCreateDeviceIdentity(_0x2aa8af[_0x1d17ce(0x131)+_0x1d17ce(0xb9)]);}catch(_0x484a78){this[_0x1d17ce(0x9d)+'sconnect'](_0x484a78 instanceof Error?_0x484a78[_0x1d17ce(0x102)]:_0x1d17ce(0xfc)+_0x1d17ce(0xa2)+_0x1d17ce(0xe7)+_0x1d17ce(0xa1)),this['ws']?.['close'](0x3f0,'device\x20i'+_0x1d17ce(0xd7)+_0x1d17ce(0xee)+_0x1d17ce(0xeb));return;}const _0x572a2b=_0x1d17ce(0xd4),_0x3503d8=[_0x1d17ce(0xd4)+_0x1d17ce(0x14b),_0x1d17ce(0xd4)+'.write','operator'+_0x1d17ce(0xf8),_0x1d17ce(0xd4)+_0x1d17ce(0xd1)+'ls','operator'+_0x1d17ce(0xfa)],_0x3a9d90=_0x2aa8af[_0x1d17ce(0x140)][_0x1d17ce(0xd3)](),_0x2e14f1=Date['now'](),_0x26df8f=buildDeviceAuthPayloadV3({'deviceId':this['deviceId'+_0x1d17ce(0x132)][_0x1d17ce(0x145)],'clientId':_0x2aa8af['clientId'],'clientMode':_0x2aa8af[_0x1d17ce(0xf0)+'de'],'role':_0x572a2b,'scopes':_0x3503d8,'signedAtMs':_0x2e14f1,'token':_0x3a9d90||null,'nonce':_0x32a7dd,'platform':process[_0x1d17ce(0x11b)],'deviceFamily':_0x2aa8af[_0x1d17ce(0x122)+_0x1d17ce(0x139)+'ly']}),_0x49def9={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0x2aa8af['clientId'],'displayName':_0x2aa8af['clientDi'+_0x1d17ce(0xc3)+'e'],'version':_0x2aa8af[_0x1d17ce(0x10d)+_0x1d17ce(0x133)],'platform':process[_0x1d17ce(0x11b)],'deviceFamily':_0x2aa8af['clientDe'+_0x1d17ce(0x139)+'ly'],'mode':_0x2aa8af[_0x1d17ce(0xf0)+'de']},'caps':[],'role':_0x572a2b,'scopes':_0x3503d8,'auth':_0x3a9d90?{'token':_0x3a9d90}:undefined,'device':{'id':this['deviceId'+_0x1d17ce(0x132)]['deviceId'],'publicKey':publicKeyRawBase64UrlFromPem(this[_0x1d17ce(0x145)+'entity']['publicKe'+_0x1d17ce(0xe0)]),'signature':signDevicePayload(this[_0x1d17ce(0x145)+_0x1d17ce(0x132)][_0x1d17ce(0x111)+_0x1d17ce(0xc1)],_0x26df8f),'signedAt':_0x2e14f1,'nonce':_0x32a7dd},'locale':Intl[_0x1d17ce(0xa3)+'Format']()['resolved'+_0x1d17ce(0x103)]()['locale'],'userAgent':_0x1d17ce(0xf6)+'ell/'+_0x2aa8af[_0x1d17ce(0x10d)+_0x1d17ce(0x133)]};try{await this[_0x1d17ce(0xed)](_0x1d17ce(0xbe),_0x49def9,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this['connecte'+'d']=!![],this[_0x1d17ce(0xbb)+_0x1d17ce(0x110)+'Ms']=0x320,this['resolveR'+'eadyWait'+_0x1d17ce(0xf7)](),this[_0x1d17ce(0xc2)]?.[_0x1d17ce(0xdf)+'ted']?.();}catch(_0x4a0f97){this['handleDi'+_0x1d17ce(0xa0)](_0x4a0f97 instanceof Error?_0x4a0f97[_0x1d17ce(0x102)]:_0x1d17ce(0x117)+_0x1d17ce(0x12f)+_0x1d17ce(0xbc)+'d'),this['ws']?.['close'](0x3f0,'connect\x20'+_0x1d17ce(0x109));}}[_0x3f13b4(0xfd)+_0x3f13b4(0xac)](_0x5514ee){const _0x348850=_0x3f13b4;let _0x643c2f;try{_0x643c2f=JSON[_0x348850(0xdc)](_0x5514ee);}catch{return;}if(!isRecord(_0x643c2f)||typeof _0x643c2f['type']!=='string')return;if(_0x643c2f[_0x348850(0xb4)]===_0x348850(0xfb)){const _0x4c2c4b=typeof _0x643c2f[_0x348850(0xfb)]===_0x348850(0x126)?_0x643c2f[_0x348850(0xfb)]:'';if(!_0x4c2c4b)return;const _0x40507f=isRecord(_0x643c2f[_0x348850(0xa7)])?_0x643c2f[_0x348850(0xa7)]:{};if(_0x4c2c4b==='connect.'+_0x348850(0x107)+'e'){const _0x125ec1=typeof _0x40507f[_0x348850(0xcd)]===_0x348850(0x126)?_0x40507f[_0x348850(0xcd)][_0x348850(0xd3)]():'';if(!_0x125ec1){this[_0x348850(0x9d)+_0x348850(0xa0)](_0x348850(0x117)+_0x348850(0x113)+_0x348850(0xda)+'sing\x20non'+'ce'),this['ws']?.[_0x348850(0xc6)](0x3f0,_0x348850(0xe6)+_0x348850(0x107)+_0x348850(0xe9)+'g\x20nonce');return;}this[_0x348850(0x9b)+_0x348850(0x12b)]=_0x125ec1,void this['sendConn'+'ect']();return;}if(_0x4c2c4b==='chat')this[_0x348850(0xc2)]?.[_0x348850(0xa5)+_0x348850(0x150)]?.(_0x40507f);if(_0x4c2c4b==='agent')this[_0x348850(0xc2)]?.[_0x348850(0xe3)+_0x348850(0xe8)]?.(_0x40507f);return;}if(_0x643c2f['type']!==_0x348850(0xce))return;const _0x3211ff=typeof _0x643c2f['id']===_0x348850(0x126)?_0x643c2f['id']:'';if(!_0x3211ff)return;const _0x4b70f9=this[_0x348850(0x143)][_0x348850(0xbd)](_0x3211ff);if(!_0x4b70f9)return;const _0x56f5d8=isRecord(_0x643c2f['payload'])?_0x643c2f[_0x348850(0xa7)]:{},_0x1194df=typeof _0x56f5d8['status']==='string'?_0x56f5d8['status']:'';if(_0x4b70f9[_0x348850(0xc0)+_0x348850(0xcc)]&&_0x1194df===_0x348850(0xa4))return;this[_0x348850(0x143)][_0x348850(0xc5)](_0x3211ff);_0x4b70f9['timeout']&&(clearTimeout(_0x4b70f9[_0x348850(0x14d)]),_0x4b70f9[_0x348850(0x14d)]=null);if(_0x643c2f['ok']===!![]){_0x4b70f9[_0x348850(0xb2)](_0x643c2f['payload']);return;}const _0x318f20=isRecord(_0x643c2f['error'])?_0x643c2f['error']:{},_0x4b7581=typeof _0x318f20[_0x348850(0x102)]===_0x348850(0x126)?_0x318f20['message']:'gateway\x20'+'request\x20'+'failed:\x20'+_0x4b70f9[_0x348850(0x144)];_0x4b70f9['reject'](new Error(_0x4b7581));}['waitUnti'+'lReady'](_0x11a09a=0x2ee0){const _0xec05ca=_0x3f13b4;if(this[_0xec05ca(0x101)+'d'])return Promise[_0xec05ca(0xb2)]();if(!this['config'])return Promise[_0xec05ca(0xab)](new Error('gateway\x20'+'WS\x20is\x20no'+_0xec05ca(0xfe)+'ured'));if(!this['ws'])this[_0xec05ca(0xbe)]();return new Promise((_0x79daa0,_0x10d6bf)=>{const _0x2ac69e=_0xec05ca,_0x35200d=setTimeout(()=>{const _0x1fe0d2=_0xa634;this['readyWai'+'ters']=this[_0x1fe0d2(0x10f)+'ters'][_0x1fe0d2(0x129)](_0x3aefcf=>_0x3aefcf['resolve']!==_0x79daa0),_0x10d6bf(new Error(_0x1fe0d2(0x117)+_0x1fe0d2(0x12f)+_0x1fe0d2(0x148)+_0x1fe0d2(0xa8)));},_0x11a09a);this['readyWai'+_0x2ac69e(0xa9)][_0x2ac69e(0xb5)]({'resolve':_0x79daa0,'reject':_0x10d6bf,'timeout':_0x35200d});});}[_0x3f13b4(0x121)+_0x3f13b4(0xd6)+_0x3f13b4(0xf7)](){const _0x5b621e=_0x3f13b4,_0x342017=[...this['readyWai'+_0x5b621e(0xa9)]];this[_0x5b621e(0x10f)+_0x5b621e(0xa9)]=[];for(const _0x2201fe of _0x342017){clearTimeout(_0x2201fe['timeout']),_0x2201fe['resolve']();}}[_0x3f13b4(0x13e)+'adyWaite'+'rs'](_0x52bc17){const _0x196c7f=_0x3f13b4,_0xa70811=[...this[_0x196c7f(0x10f)+_0x196c7f(0xa9)]];this[_0x196c7f(0x10f)+_0x196c7f(0xa9)]=[];for(const _0x26120e of _0xa70811){clearTimeout(_0x26120e['timeout']),_0x26120e[_0x196c7f(0xab)](_0x52bc17);}}['rejectPe'+'nding'](_0xc7722){const _0x19c4e1=_0x3f13b4;for(const [_0x1084e5,_0x565495]of this[_0x19c4e1(0x143)][_0x19c4e1(0x135)]()){this[_0x19c4e1(0x143)][_0x19c4e1(0xc5)](_0x1084e5),_0x565495[_0x19c4e1(0x14d)]&&(clearTimeout(_0x565495[_0x19c4e1(0x14d)]),_0x565495[_0x19c4e1(0x14d)]=null),_0x565495[_0x19c4e1(0xab)](_0xc7722);}}[_0x3f13b4(0x9d)+_0x3f13b4(0xa0)](_0x45d5b3){const _0x3a5390=_0x3f13b4;this['ws']&&(this['ws'][_0x3a5390(0x14c)+_0x3a5390(0x11a)+'rs'](),this['ws']=null);this[_0x3a5390(0x101)+'d']=![],this[_0x3a5390(0x9b)+_0x3a5390(0x12b)]=null,this[_0x3a5390(0x147)+_0x3a5390(0x150)]=![],this[_0x3a5390(0xc7)+_0x3a5390(0xe4)](new Error(_0x45d5b3||_0x3a5390(0x117)+_0x3a5390(0x114)+_0x3a5390(0xe2))),this['rejectRe'+'adyWaite'+'rs'](new Error(_0x45d5b3||_0x3a5390(0x117)+_0x3a5390(0x114)+'nnected')),this[_0x3a5390(0x123)+'ers']();if(_0x45d5b3)this['config']?.[_0x3a5390(0xf3)+_0x3a5390(0x154)]?.(_0x45d5b3);if(!this[_0x3a5390(0xb7)+_0x3a5390(0xbe)]||!this[_0x3a5390(0xc2)])return;const _0x1675a6=this[_0x3a5390(0xbb)+_0x3a5390(0x110)+'Ms'];this['reconnec'+'tBackoff'+'Ms']=Math['min'](this['reconnec'+_0x3a5390(0x110)+'Ms']*0x2,0x3a98),this['reconnec'+_0x3a5390(0xf1)]=setTimeout(()=>{const _0x38ff6a=_0x3a5390;this[_0x38ff6a(0xbb)+_0x38ff6a(0xf1)]=null,this[_0x38ff6a(0xbe)]();},_0x1675a6);}[_0x3f13b4(0x123)+_0x3f13b4(0xf7)](){const _0x130650=_0x3f13b4;this[_0x130650(0xbb)+_0x130650(0xf1)]&&(clearTimeout(this[_0x130650(0xbb)+_0x130650(0xf1)]),this[_0x130650(0xbb)+_0x130650(0xf1)]=null),this[_0x130650(0x106)+_0x130650(0xc9)+'Timer']&&(clearTimeout(this[_0x130650(0x106)+_0x130650(0xc9)+_0x130650(0xad)]),this[_0x130650(0x106)+'hallenge'+_0x130650(0xad)]=null);}}
1
+ const _0xc1f966=_0x1944;(function(_0x2bb854,_0x5e1c15){const _0x2cd25d=_0x1944,_0x29aae9=_0x2bb854();while(!![]){try{const _0x4d5502=parseInt(_0x2cd25d(0x17b))/0x1+parseInt(_0x2cd25d(0x170))/0x2*(parseInt(_0x2cd25d(0x110))/0x3)+parseInt(_0x2cd25d(0x137))/0x4+-parseInt(_0x2cd25d(0xf5))/0x5+-parseInt(_0x2cd25d(0x17f))/0x6*(parseInt(_0x2cd25d(0xfa))/0x7)+-parseInt(_0x2cd25d(0x188))/0x8+parseInt(_0x2cd25d(0x16a))/0x9;if(_0x4d5502===_0x5e1c15)break;else _0x29aae9['push'](_0x29aae9['shift']());}catch(_0x478bc8){_0x29aae9['push'](_0x29aae9['shift']());}}}(_0x4876,0xe13ef));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 _0x9c6169 from'ws';const ED25519_SPKI_PREFIX=Buffer[_0xc1f966(0x178)]('302a3005'+_0xc1f966(0x17d)+_0xc1f966(0x14f),_0xc1f966(0x132)),BASE64_PADDING_REGEX=/=+$/g,UPPERCASE_ASCII_REGEX=/[A-Z]/g;function isRecord(_0x547ad7){const _0x5b443f=_0xc1f966;return Boolean(_0x547ad7)&&typeof _0x547ad7===_0x5b443f(0x181)&&!Array['isArray'](_0x547ad7);}function formatUnknownError(_0x250f62){const _0x571053=_0xc1f966;if(_0x250f62 instanceof Error)return _0x250f62[_0x571053(0xe5)];return String(_0x250f62??'');}function isLocalGatewayConnRefused(_0x5164f8){const _0x380ae0=_0xc1f966,_0x3e9519=formatUnknownError(_0x5164f8);return/\bECONNREFUSED\b/i['test'](_0x3e9519)&&/127\.0\.0\.1:\d+/[_0x380ae0(0x12a)](_0x3e9519);}function base64UrlEncode(_0xc8182d){const _0x12da53=_0xc1f966;return _0xc8182d['toString']('base64')[_0x12da53(0x13d)+'ll']('+','-')[_0x12da53(0x13d)+'ll']('/','_')[_0x12da53(0x18e)](BASE64_PADDING_REGEX,'');}function derivePublicKeyRaw(_0x15009f){const _0x503f63=_0xc1f966,_0x1aa4ef=createPublicKey(_0x15009f)['export']({'type':_0x503f63(0x193),'format':_0x503f63(0xef)}),_0x404b8e=Buffer['isBuffer'](_0x1aa4ef)?_0x1aa4ef:Buffer[_0x503f63(0x178)](_0x1aa4ef),_0x137037=_0x404b8e[_0x503f63(0x121)]===ED25519_SPKI_PREFIX[_0x503f63(0x121)]+0x20&&_0x404b8e['subarray'](0x0,ED25519_SPKI_PREFIX[_0x503f63(0x121)])['equals'](ED25519_SPKI_PREFIX);return _0x137037?_0x404b8e['subarray'](ED25519_SPKI_PREFIX[_0x503f63(0x121)]):_0x404b8e;}function fingerprintPublicKey(_0x5a5427){const _0x594ca=_0xc1f966;return createHash('sha256')[_0x594ca(0x11a)](derivePublicKeyRaw(_0x5a5427))[_0x594ca(0xfd)]('hex');}function publicKeyRawBase64UrlFromPem(_0x52d615){return base64UrlEncode(derivePublicKeyRaw(_0x52d615));}function _0x1944(_0x500315,_0xbf187e){_0x500315=_0x500315-0xda;const _0x4876d3=_0x4876();let _0x19447b=_0x4876d3[_0x500315];return _0x19447b;}function signDevicePayload(_0x23e1ae,_0x5c9756){const _0x5a7513=_0xc1f966,_0xf9673e=createPrivateKey(_0x23e1ae);return base64UrlEncode(sign(null,Buffer[_0x5a7513(0x178)](_0x5c9756,_0x5a7513(0x103)),_0xf9673e));}function normalizeDeviceMetadataForAuth(_0x1f6c27){const _0x5291a0=_0xc1f966,_0xbe1e7c=typeof _0x1f6c27===_0x5291a0(0x10d)?_0x1f6c27[_0x5291a0(0xf7)]():'';if(!_0xbe1e7c)return'';return _0xbe1e7c['replace'](UPPERCASE_ASCII_REGEX,_0x196f8c=>String[_0x5291a0(0xde)+_0x5291a0(0x16c)](_0x196f8c[_0x5291a0(0x152)+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x412b03){const _0x5df333=_0xc1f966;return['v3',_0x412b03[_0x5df333(0x194)],_0x412b03[_0x5df333(0xe1)],_0x412b03['clientMo'+'de'],_0x412b03[_0x5df333(0x101)],_0x412b03['scopes'][_0x5df333(0xf2)](','),String(_0x412b03[_0x5df333(0x15c)+'Ms']),_0x412b03[_0x5df333(0x195)]??'',_0x412b03[_0x5df333(0xe3)],normalizeDeviceMetadataForAuth(_0x412b03['platform']),normalizeDeviceMetadataForAuth(_0x412b03[_0x5df333(0x171)+'mily'])]['join']('|');}function _0x4876(){const _0x37b96d=['connect.','4095640DeaQbO','ers','reconnec','ction\x20ti','lengeTim','once','replace','privateK','expectFi','failed\x20t','eyPem','spki','deviceId','token','failed','DateTime','tTimer','stringif','eadyWait','fromChar','gateway\x20','handleDi','clientId','t\x20stoppe','nonce','is\x20not\x20l','message','WS\x20hands','config','rsion','agent','nected','connecte','shouldRe','d\x20(','status','der','now','ted','join','resolveR','ting','8078970NbSavr','wujie-sh','trim','viceFami','rejectRe','77SNOTsk','removeAl','WS\x20conne','digest','Timer','ell/','nectChal','role','chat','utf8','publicKe','.approva','dentity','hallenge','request\x20','onDiscon','req','timeout','t\x20connec','string','\x20yet','resolved','2301WPAXNW','hake\x20mis','pending','eout','ct\x20faile','push','res','e\x20timeou','sing\x20non','WS\x20close','update','yPem','clearTim','WS\x20error','resolve','.read','clientDi','length','adyWaite','tBackoff','sconnect','readyWai','ble','timed\x20ou','connect','payload','test','g\x20nonce','operator','queueCon','device\x20i','o\x20send\x20g','sendConn','challeng','hex','rejectPe','request','ed25519','open','6593732QSBdXi','WS\x20disco','connect\x20','restart','nding','pkcs8','replaceA','vent','ssage','istening','lReady','type','parse','ed\x20out','ured','初始化\x20gate','onConnec','ters','hake\x20tim','.admin','.write','error','identity','nnected','70032100','t\x20restar','connectS','charCode','dentity\x20','accepted','event','clientVe','platform','ent','Options','url','t\x20config','signedAt','entries','waitUnti','splayNam','failed:\x20','close','WS\x20is\x20no','.pairing','ect','med\x20out','Format','t:\x20','toString','handleMe','21369024NssGZI','way\x20设备身份','Code','onChatEv','skipRead','Path','106XeoNaN','deviceFa','lListene','clientMo','e\x20missin','delete','locale','method','from','entity','pem','480725CRiHuG','configur','06032b65','nal','814794nvSHus','connectN','object','connectC','reject','export','WS\x20clien','stop'];_0x4876=function(){return _0x37b96d;};return _0x4876();}function writeIdentityFile(_0x331109,_0x4fdd99,_0x58d3b2){const _0x537162=_0xc1f966;mkdirSync(dirname(_0x331109),{'recursive':!![]}),writeFileSync(_0x331109,JSON[_0x537162(0xdc)+'y']({'version':0x1,..._0x4fdd99,'createdAtMs':_0x58d3b2},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0x331109,0x180);}catch{}}function generateDeviceIdentity(){const _0x4b29c3=_0xc1f966,{publicKey:_0x296542,privateKey:_0x13566c}=generateKeyPairSync(_0x4b29c3(0x135)),_0x4d4de5=_0x296542[_0x4b29c3(0x184)]({'type':_0x4b29c3(0x193),'format':'pem'})[_0x4b29c3(0x168)](),_0x16e0b0=_0x13566c[_0x4b29c3(0x184)]({'type':_0x4b29c3(0x13c),'format':_0x4b29c3(0x17a)})[_0x4b29c3(0x168)]();return{'deviceId':fingerprintPublicKey(_0x4d4de5),'publicKeyPem':_0x4d4de5,'privateKeyPem':_0x16e0b0};}function loadOrCreateDeviceIdentity(_0x594ad6){const _0x11a65d=_0xc1f966;if(existsSync(_0x594ad6))try{const _0x1cb133=JSON['parse'](readFileSync(_0x594ad6,_0x11a65d(0x103))),_0xdc176a=typeof _0x1cb133?.[_0x11a65d(0x104)+_0x11a65d(0x11b)]===_0x11a65d(0x10d)?_0x1cb133['publicKe'+_0x11a65d(0x11b)]:'',_0x1e0162=typeof _0x1cb133?.[_0x11a65d(0x18f)+_0x11a65d(0x192)]===_0x11a65d(0x10d)?_0x1cb133['privateK'+'eyPem']:'';if(_0xdc176a&&_0x1e0162){const _0x2efbc7={'deviceId':fingerprintPublicKey(_0xdc176a),'publicKeyPem':_0xdc176a,'privateKeyPem':_0x1e0162};return _0x1cb133?.[_0x11a65d(0x194)]!==_0x2efbc7[_0x11a65d(0x194)]&&writeIdentityFile(_0x594ad6,_0x2efbc7,Date['now']()),_0x2efbc7;}}catch{}const _0x3f8504=generateDeviceIdentity();return writeIdentityFile(_0x594ad6,_0x3f8504,Date['now']()),_0x3f8504;}export class ClawGatewayWsClient{['ws']=null;[_0xc1f966(0xe7)]=null;[_0xc1f966(0x112)]=new Map();[_0xc1f966(0x125)+_0xc1f966(0x148)]=[];[_0xc1f966(0xec)+_0xc1f966(0x128)]=![];[_0xc1f966(0x18a)+'tTimer']=null;[_0xc1f966(0x182)+_0xc1f966(0x107)+'Timer']=null;['connectN'+'once']=null;[_0xc1f966(0x151)+'ent']=![];[_0xc1f966(0xeb)+'d']=![];[_0xc1f966(0x18a)+_0xc1f966(0x123)+'Ms']=0x320;[_0xc1f966(0x194)+_0xc1f966(0x179)]=null;[_0xc1f966(0x17c)+'e'](_0x20a0bb){const _0x21edfc=_0xc1f966;if(!_0x20a0bb){this['stop']();return;}const _0x7a2898=this[_0x21edfc(0xe7)];this[_0x21edfc(0xe7)]=_0x20a0bb,this[_0x21edfc(0xec)+_0x21edfc(0x128)]=!![];try{this[_0x21edfc(0x194)+_0x21edfc(0x179)]=loadOrCreateDeviceIdentity(_0x20a0bb[_0x21edfc(0x14d)+_0x21edfc(0x16f)]);}catch(_0x17cf74){const _0x5af287=_0x17cf74 instanceof Error?_0x17cf74[_0x21edfc(0xe5)]:_0x21edfc(0x146)+_0x21edfc(0x16b)+'失败';this[_0x21edfc(0x186)](),_0x20a0bb[_0x21edfc(0x109)+_0x21edfc(0xea)](_0x5af287);return;}const _0x171870=!_0x7a2898||_0x7a2898[_0x21edfc(0x15a)]!==_0x20a0bb[_0x21edfc(0x15a)]||_0x7a2898[_0x21edfc(0x195)]!==_0x20a0bb[_0x21edfc(0x195)]||_0x7a2898[_0x21edfc(0xe1)]!==_0x20a0bb[_0x21edfc(0xe1)]||_0x7a2898['clientMo'+'de']!==_0x20a0bb[_0x21edfc(0x173)+'de']||_0x7a2898['clientVe'+'rsion']!==_0x20a0bb[_0x21edfc(0x156)+'rsion']||_0x7a2898['identity'+_0x21edfc(0x16f)]!==_0x20a0bb['identity'+_0x21edfc(0x16f)];if(_0x171870){this['restart']();return;}if(!this['ws'])this[_0x21edfc(0x128)]();}[_0xc1f966(0x186)](){const _0x2f1d5c=_0xc1f966;this[_0x2f1d5c(0xec)+_0x2f1d5c(0x128)]=![],this[_0x2f1d5c(0xeb)+'d']=![],this['connectN'+_0x2f1d5c(0x18d)]=null,this['connectS'+_0x2f1d5c(0x158)]=![],this[_0x2f1d5c(0x11c)+'ers'](),this[_0x2f1d5c(0x133)+_0x2f1d5c(0x13b)](new Error(_0x2f1d5c(0xdf)+_0x2f1d5c(0x185)+'t\x20stoppe'+'d')),this[_0x2f1d5c(0xf9)+_0x2f1d5c(0x122)+'rs'](new Error('gateway\x20'+_0x2f1d5c(0x185)+_0x2f1d5c(0xe2)+'d'));if(this['ws']){try{this['ws'][_0x2f1d5c(0x161)]();}catch{}this['ws']=null;}this[_0x2f1d5c(0x194)+_0x2f1d5c(0x179)]=null,this[_0x2f1d5c(0xe7)]=null;}async[_0xc1f966(0x134)](_0x48f5c6,_0x459847={},_0xc4e0a3={}){const _0x649665=_0xc1f966;if(!_0xc4e0a3[_0x649665(0x16e)+'yCheck'])await this[_0x649665(0x15e)+_0x649665(0x141)]();const _0x5d6cf7=this['ws'];if(!_0x5d6cf7||_0x5d6cf7['readySta'+'te']!==_0x9c6169['OPEN'])throw new Error(_0x649665(0xdf)+_0x649665(0x162)+_0x649665(0x10c)+_0x649665(0xf1));const _0x5b4c1d=randomUUID(),_0x5287ce=_0xc4e0a3['timeoutM'+'s']??0x7530;return await new Promise((_0x51433b,_0x5ac7f5)=>{const _0x513afc=_0x649665,_0x38f7a6=setTimeout(()=>{const _0xb0d4d4=_0x1944;this[_0xb0d4d4(0x112)][_0xb0d4d4(0x175)](_0x5b4c1d),_0x5ac7f5(new Error('gateway\x20'+'request\x20'+_0xb0d4d4(0x127)+_0xb0d4d4(0x167)+_0x48f5c6));},_0x5287ce);this[_0x513afc(0x112)]['set'](_0x5b4c1d,{'method':_0x48f5c6,'resolve':_0x4f233a=>{clearTimeout(_0x38f7a6),_0x51433b(_0x4f233a);},'reject':_0x3ec12c=>{clearTimeout(_0x38f7a6),_0x5ac7f5(_0x3ec12c);},'expectFinal':_0xc4e0a3[_0x513afc(0x190)+_0x513afc(0x17e)]===!![],'timeout':_0x38f7a6});try{_0x5d6cf7['send'](JSON[_0x513afc(0xdc)+'y']({'type':_0x513afc(0x10a),'id':_0x5b4c1d,'method':_0x48f5c6,'params':_0x459847}));}catch(_0x38ad24){this[_0x513afc(0x112)]['delete'](_0x5b4c1d),clearTimeout(_0x38f7a6),_0x5ac7f5(_0x38ad24 instanceof Error?_0x38ad24:new Error(_0x513afc(0x191)+_0x513afc(0x12f)+'ateway\x20r'+'equest'));}});}[_0xc1f966(0x13a)](){const _0x37e002=_0xc1f966;this[_0x37e002(0xeb)+'d']=![],this[_0x37e002(0x180)+'once']=null,this[_0x37e002(0x151)+_0x37e002(0x158)]=![],this['clearTim'+_0x37e002(0x189)](),this[_0x37e002(0x133)+_0x37e002(0x13b)](new Error(_0x37e002(0xdf)+_0x37e002(0x185)+_0x37e002(0x150)+_0x37e002(0xf4))),this['rejectRe'+'adyWaite'+'rs'](new Error(_0x37e002(0xdf)+_0x37e002(0x185)+_0x37e002(0x150)+'ting'));if(this['ws']){try{this['ws']['terminat'+'e']();}catch{}this['ws']=null;}this['connect']();}[_0xc1f966(0x128)](){const _0x43277e=_0xc1f966;if(!this['config']||this['ws'])return;const _0x3b2747=new _0x9c6169(this[_0x43277e(0xe7)]['url']);this['ws']=_0x3b2747,_0x3b2747['on'](_0x43277e(0x136),()=>this[_0x43277e(0x12d)+'nectChal'+_0x43277e(0x18c)+_0x43277e(0x113)]()),_0x3b2747['on']('message',_0x29e932=>this[_0x43277e(0x169)+_0x43277e(0x13f)](_0x29e932['toString']())),_0x3b2747['on'](_0x43277e(0x161),(_0x56d589,_0x3c5127)=>{const _0x5e92ab=_0x43277e;if(this['connecte'+'d']){const _0x43c554=_0x3c5127[_0x5e92ab(0x168)]()||'code='+_0x56d589;this['handleDi'+'sconnect'](_0x5e92ab(0xdf)+_0x5e92ab(0x119)+_0x5e92ab(0xed)+_0x43c554+')');}else this['handleDi'+_0x5e92ab(0x124)]('');}),_0x3b2747['on'](_0x43277e(0x14c),_0x40bee4=>{const _0x275d79=_0x43277e;if(isLocalGatewayConnRefused(_0x40bee4)){this[_0x275d79(0xe0)+'sconnect'](_0x275d79(0xdf)+_0x275d79(0xe4)+_0x275d79(0x140)+_0x275d79(0x10e));return;}const _0x18dbef=formatUnknownError(_0x40bee4);this['handleDi'+_0x275d79(0x124)](_0x18dbef?'gateway\x20'+'WS\x20error'+':\x20'+_0x18dbef:'gateway\x20'+_0x275d79(0x11d));});}[_0xc1f966(0x12d)+_0xc1f966(0x100)+_0xc1f966(0x18c)+'eout'](){const _0xf460bf=_0xc1f966;this['connectN'+_0xf460bf(0x18d)]=null,this[_0xf460bf(0x151)+_0xf460bf(0x158)]=![];if(this[_0xf460bf(0x182)+_0xf460bf(0x107)+_0xf460bf(0xfe)])clearTimeout(this['connectC'+_0xf460bf(0x107)+'Timer']);this[_0xf460bf(0x182)+'hallenge'+_0xf460bf(0xfe)]=setTimeout(()=>{const _0x3f732c=_0xf460bf;if(this[_0x3f732c(0x151)+_0x3f732c(0x158)]||!this['ws']||this['ws']['readySta'+'te']!==_0x9c6169['OPEN'])return;this[_0x3f732c(0xe0)+'sconnect'](_0x3f732c(0xdf)+_0x3f732c(0xe6)+_0x3f732c(0x149)+_0x3f732c(0x144)),this['ws']?.['close'](0x3f0,'connect\x20'+_0x3f732c(0x131)+_0x3f732c(0x117)+'t');},0x7d0);}async[_0xc1f966(0x130)+_0xc1f966(0x164)](){const _0x240a90=_0xc1f966,_0xfc1650=this['config'];if(!_0xfc1650||this[_0x240a90(0x151)+_0x240a90(0x158)])return;const _0x3feb1c=this['connectN'+_0x240a90(0x18d)]?.[_0x240a90(0xf7)]()??'';if(!_0x3feb1c){this[_0x240a90(0xe0)+_0x240a90(0x124)]('gateway\x20'+_0x240a90(0xe6)+'hake\x20mis'+_0x240a90(0x118)+'ce'),this['ws']?.[_0x240a90(0x161)](0x3f0,_0x240a90(0x139)+'challeng'+_0x240a90(0x174)+_0x240a90(0x12b));return;}this[_0x240a90(0x151)+_0x240a90(0x158)]=!![];this[_0x240a90(0x182)+'hallenge'+_0x240a90(0xfe)]&&(clearTimeout(this[_0x240a90(0x182)+_0x240a90(0x107)+_0x240a90(0xfe)]),this[_0x240a90(0x182)+_0x240a90(0x107)+'Timer']=null);if(!this[_0x240a90(0x194)+'entity'])try{this[_0x240a90(0x194)+_0x240a90(0x179)]=loadOrCreateDeviceIdentity(_0xfc1650['identity'+'Path']);}catch(_0x1e4608){this['handleDi'+'sconnect'](_0x1e4608 instanceof Error?_0x1e4608['message']:_0x240a90(0x191)+'o\x20load\x20g'+'ateway\x20i'+_0x240a90(0x106)),this['ws']?.['close'](0x3f0,_0x240a90(0x12e)+_0x240a90(0x153)+'unavaila'+_0x240a90(0x126));return;}const _0x1a1890=_0x240a90(0x12c),_0x2ad788=['operator'+_0x240a90(0x11f),_0x240a90(0x12c)+_0x240a90(0x14b),_0x240a90(0x12c)+_0x240a90(0x14a),_0x240a90(0x12c)+_0x240a90(0x105)+'ls',_0x240a90(0x12c)+_0x240a90(0x163)],_0x249314=_0xfc1650[_0x240a90(0x195)]['trim'](),_0x21c9eb=Date[_0x240a90(0xf0)](),_0x5f53da=buildDeviceAuthPayloadV3({'deviceId':this[_0x240a90(0x194)+'entity']['deviceId'],'clientId':_0xfc1650[_0x240a90(0xe1)],'clientMode':_0xfc1650[_0x240a90(0x173)+'de'],'role':_0x1a1890,'scopes':_0x2ad788,'signedAtMs':_0x21c9eb,'token':_0x249314||null,'nonce':_0x3feb1c,'platform':process['platform'],'deviceFamily':_0xfc1650['clientDe'+_0x240a90(0xf8)+'ly']}),_0x1bf2b1={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0xfc1650[_0x240a90(0xe1)],'displayName':_0xfc1650[_0x240a90(0x120)+_0x240a90(0x15f)+'e'],'version':_0xfc1650['clientVe'+'rsion'],'platform':process[_0x240a90(0x157)],'deviceFamily':_0xfc1650['clientDe'+_0x240a90(0xf8)+'ly'],'mode':_0xfc1650[_0x240a90(0x173)+'de']},'caps':[],'role':_0x1a1890,'scopes':_0x2ad788,'auth':_0x249314?{'token':_0x249314}:undefined,'device':{'id':this[_0x240a90(0x194)+_0x240a90(0x179)]['deviceId'],'publicKey':publicKeyRawBase64UrlFromPem(this[_0x240a90(0x194)+_0x240a90(0x179)][_0x240a90(0x104)+_0x240a90(0x11b)]),'signature':signDevicePayload(this[_0x240a90(0x194)+'entity'][_0x240a90(0x18f)+_0x240a90(0x192)],_0x5f53da),'signedAt':_0x21c9eb,'nonce':_0x3feb1c},'locale':Intl[_0x240a90(0xda)+_0x240a90(0x166)]()[_0x240a90(0x10f)+_0x240a90(0x159)]()[_0x240a90(0x176)],'userAgent':_0x240a90(0xf6)+_0x240a90(0xff)+_0xfc1650[_0x240a90(0x156)+_0x240a90(0xe8)]};try{await this[_0x240a90(0x134)](_0x240a90(0x128),_0x1bf2b1,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this[_0x240a90(0xeb)+'d']=!![],this['reconnec'+'tBackoff'+'Ms']=0x320,this[_0x240a90(0xf3)+_0x240a90(0xdd)+_0x240a90(0x189)](),this[_0x240a90(0xe7)]?.[_0x240a90(0x147)+'ted']?.();}catch(_0xeec697){this[_0x240a90(0xe0)+_0x240a90(0x124)](_0xeec697 instanceof Error?_0xeec697['message']:_0x240a90(0xdf)+_0x240a90(0xfc)+_0x240a90(0x114)+'d'),this['ws']?.[_0x240a90(0x161)](0x3f0,'connect\x20'+_0x240a90(0x196));}}[_0xc1f966(0x169)+_0xc1f966(0x13f)](_0x2c88ed){const _0x530697=_0xc1f966;let _0x19f4b9;try{_0x19f4b9=JSON[_0x530697(0x143)](_0x2c88ed);}catch{return;}if(!isRecord(_0x19f4b9)||typeof _0x19f4b9[_0x530697(0x142)]!==_0x530697(0x10d))return;if(_0x19f4b9['type']===_0x530697(0x155)){const _0x1a059f=typeof _0x19f4b9[_0x530697(0x155)]===_0x530697(0x10d)?_0x19f4b9[_0x530697(0x155)]:'';if(!_0x1a059f)return;const _0xd3657=isRecord(_0x19f4b9[_0x530697(0x129)])?_0x19f4b9['payload']:{};if(_0x1a059f===_0x530697(0x187)+_0x530697(0x131)+'e'){const _0xde651f=typeof _0xd3657['nonce']===_0x530697(0x10d)?_0xd3657['nonce'][_0x530697(0xf7)]():'';if(!_0xde651f){this[_0x530697(0xe0)+_0x530697(0x124)](_0x530697(0xdf)+_0x530697(0xe6)+_0x530697(0x111)+'sing\x20non'+'ce'),this['ws']?.['close'](0x3f0,_0x530697(0x139)+_0x530697(0x131)+'e\x20missin'+_0x530697(0x12b));return;}this[_0x530697(0x180)+_0x530697(0x18d)]=_0xde651f,void this['sendConn'+_0x530697(0x164)]();return;}if(_0x1a059f===_0x530697(0x102))this[_0x530697(0xe7)]?.[_0x530697(0x16d)+_0x530697(0x158)]?.(_0xd3657);if(_0x1a059f===_0x530697(0xe9))this[_0x530697(0xe7)]?.['onAgentE'+_0x530697(0x13e)]?.(_0xd3657);return;}if(_0x19f4b9[_0x530697(0x142)]!==_0x530697(0x116))return;const _0x45daeb=typeof _0x19f4b9['id']===_0x530697(0x10d)?_0x19f4b9['id']:'';if(!_0x45daeb)return;const _0x366b39=this[_0x530697(0x112)]['get'](_0x45daeb);if(!_0x366b39)return;const _0x1ab7da=isRecord(_0x19f4b9[_0x530697(0x129)])?_0x19f4b9[_0x530697(0x129)]:{},_0x2f570e=typeof _0x1ab7da[_0x530697(0xee)]===_0x530697(0x10d)?_0x1ab7da[_0x530697(0xee)]:'';if(_0x366b39[_0x530697(0x190)+'nal']&&_0x2f570e===_0x530697(0x154))return;this['pending']['delete'](_0x45daeb);_0x366b39[_0x530697(0x10b)]&&(clearTimeout(_0x366b39[_0x530697(0x10b)]),_0x366b39[_0x530697(0x10b)]=null);if(_0x19f4b9['ok']===!![]){_0x366b39[_0x530697(0x11e)](_0x19f4b9[_0x530697(0x129)]);return;}const _0x5b5a0b=isRecord(_0x19f4b9[_0x530697(0x14c)])?_0x19f4b9[_0x530697(0x14c)]:{},_0x1910e2=typeof _0x5b5a0b[_0x530697(0xe5)]===_0x530697(0x10d)?_0x5b5a0b[_0x530697(0xe5)]:_0x530697(0xdf)+_0x530697(0x108)+_0x530697(0x160)+_0x366b39[_0x530697(0x177)];_0x366b39[_0x530697(0x183)](new Error(_0x1910e2));}[_0xc1f966(0x15e)+'lReady'](_0x5dfc9c=0x2ee0){const _0x386766=_0xc1f966;if(this[_0x386766(0xeb)+'d'])return Promise[_0x386766(0x11e)]();if(!this[_0x386766(0xe7)])return Promise[_0x386766(0x183)](new Error(_0x386766(0xdf)+_0x386766(0x162)+_0x386766(0x15b)+_0x386766(0x145)));if(!this['ws'])this['connect']();return new Promise((_0x393ba,_0x4a4b6c)=>{const _0x5a395f=_0x386766,_0x237050=setTimeout(()=>{const _0x5bf346=_0x1944;this[_0x5bf346(0x125)+'ters']=this['readyWai'+_0x5bf346(0x148)]['filter'](_0x5705fb=>_0x5705fb[_0x5bf346(0x11e)]!==_0x393ba),_0x4a4b6c(new Error(_0x5bf346(0xdf)+_0x5bf346(0xfc)+_0x5bf346(0x18b)+_0x5bf346(0x165)));},_0x5dfc9c);this['readyWai'+_0x5a395f(0x148)][_0x5a395f(0x115)]({'resolve':_0x393ba,'reject':_0x4a4b6c,'timeout':_0x237050});});}[_0xc1f966(0xf3)+_0xc1f966(0xdd)+_0xc1f966(0x189)](){const _0x120965=_0xc1f966,_0x12c45b=[...this[_0x120965(0x125)+_0x120965(0x148)]];this[_0x120965(0x125)+_0x120965(0x148)]=[];for(const _0x4f6cef of _0x12c45b){clearTimeout(_0x4f6cef['timeout']),_0x4f6cef[_0x120965(0x11e)]();}}[_0xc1f966(0xf9)+_0xc1f966(0x122)+'rs'](_0x59514e){const _0x42aeaa=_0xc1f966,_0x3e4e90=[...this['readyWai'+_0x42aeaa(0x148)]];this[_0x42aeaa(0x125)+'ters']=[];for(const _0x16983b of _0x3e4e90){clearTimeout(_0x16983b[_0x42aeaa(0x10b)]),_0x16983b[_0x42aeaa(0x183)](_0x59514e);}}[_0xc1f966(0x133)+_0xc1f966(0x13b)](_0x44d3bc){const _0x329853=_0xc1f966;for(const [_0x4b9012,_0x23435f]of this['pending'][_0x329853(0x15d)]()){this['pending']['delete'](_0x4b9012),_0x23435f[_0x329853(0x10b)]&&(clearTimeout(_0x23435f[_0x329853(0x10b)]),_0x23435f[_0x329853(0x10b)]=null),_0x23435f[_0x329853(0x183)](_0x44d3bc);}}[_0xc1f966(0xe0)+_0xc1f966(0x124)](_0x26e5db){const _0x16099e=_0xc1f966;this['ws']&&(this['ws'][_0x16099e(0xfb)+_0x16099e(0x172)+'rs'](),this['ws']=null);this[_0x16099e(0xeb)+'d']=![],this[_0x16099e(0x180)+_0x16099e(0x18d)]=null,this[_0x16099e(0x151)+_0x16099e(0x158)]=![],this['rejectPe'+_0x16099e(0x13b)](new Error(_0x26e5db||_0x16099e(0xdf)+'WS\x20disco'+_0x16099e(0x14e))),this[_0x16099e(0xf9)+_0x16099e(0x122)+'rs'](new Error(_0x26e5db||_0x16099e(0xdf)+_0x16099e(0x138)+_0x16099e(0x14e))),this[_0x16099e(0x11c)+'ers']();if(_0x26e5db)this[_0x16099e(0xe7)]?.[_0x16099e(0x109)+'nected']?.(_0x26e5db);if(!this[_0x16099e(0xec)+_0x16099e(0x128)]||!this[_0x16099e(0xe7)])return;const _0x5be199=this[_0x16099e(0x18a)+_0x16099e(0x123)+'Ms'];this[_0x16099e(0x18a)+_0x16099e(0x123)+'Ms']=Math['min'](this['reconnec'+_0x16099e(0x123)+'Ms']*0x2,0x3a98),this['reconnec'+_0x16099e(0xdb)]=setTimeout(()=>{const _0x49859a=_0x16099e;this[_0x49859a(0x18a)+_0x49859a(0xdb)]=null,this[_0x49859a(0x128)]();},_0x5be199);}[_0xc1f966(0x11c)+_0xc1f966(0x189)](){const _0xf8e7f5=_0xc1f966;this['reconnec'+_0xf8e7f5(0xdb)]&&(clearTimeout(this[_0xf8e7f5(0x18a)+'tTimer']),this[_0xf8e7f5(0x18a)+_0xf8e7f5(0xdb)]=null),this[_0xf8e7f5(0x182)+_0xf8e7f5(0x107)+'Timer']&&(clearTimeout(this[_0xf8e7f5(0x182)+_0xf8e7f5(0x107)+'Timer']),this[_0xf8e7f5(0x182)+_0xf8e7f5(0x107)+_0xf8e7f5(0xfe)]=null);}}
@@ -1 +1 @@
1
- (function(_0xd17c36,_0x4788a2){var _0x16fbe9=_0x3bc0,_0x2d0951=_0xd17c36();while(!![]){try{var _0x58792e=parseInt(_0x16fbe9(0x1a8))/0x1*(-parseInt(_0x16fbe9(0x19c))/0x2)+parseInt(_0x16fbe9(0x1a3))/0x3*(parseInt(_0x16fbe9(0x19e))/0x4)+-parseInt(_0x16fbe9(0x1a7))/0x5*(parseInt(_0x16fbe9(0x1a4))/0x6)+parseInt(_0x16fbe9(0x1a6))/0x7*(parseInt(_0x16fbe9(0x1a1))/0x8)+-parseInt(_0x16fbe9(0x1a5))/0x9*(-parseInt(_0x16fbe9(0x1a0))/0xa)+-parseInt(_0x16fbe9(0x19d))/0xb*(-parseInt(_0x16fbe9(0x1a2))/0xc)+parseInt(_0x16fbe9(0x19f))/0xd*(-parseInt(_0x16fbe9(0x1a9))/0xe);if(_0x58792e===_0x4788a2)break;else _0x2d0951['push'](_0x2d0951['shift']());}catch(_0xdc396){_0x2d0951['push'](_0x2d0951['shift']());}}}(_0x5c21,0xe33b0));function _0x5c21(){var _0x2d1379=['975183tEWEKc','33568VwlHoi','13RecZGY','10uspndR','74296pIuyHN','84OYsCTL','486OIwOCp','84KYemvc','7314066TEAUIY','889TgBNZP','535465orfhXo','131vnvcAZ','21034538FwqxPt','606QMyhRh'];_0x5c21=function(){return _0x2d1379;};return _0x5c21();}export{ensureOpenClawDoctorFixed,loadRuntimeInfo,prepareRuntime,runClawOnce,spawnClaw}from'./runtime.mjs';function _0x3bc0(_0x2893b2,_0xcbfd7){_0x2893b2=_0x2893b2-0x19c;var _0x5c217f=_0x5c21();var _0x3bc051=_0x5c217f[_0x2893b2];return _0x3bc051;}export{createConfigController}from'./config-controller.mjs';export{createGatewayController}from'./gateway-controller.mjs';
1
+ function _0x5063(_0x50dedd,_0x3eafaa){_0x50dedd=_0x50dedd-0x193;var _0x393e4b=_0x393e();var _0x5063df=_0x393e4b[_0x50dedd];return _0x5063df;}(function(_0x3659b5,_0x2f90fc){var _0x36271c=_0x5063,_0x4836a5=_0x3659b5();while(!![]){try{var _0x130196=-parseInt(_0x36271c(0x194))/0x1+-parseInt(_0x36271c(0x199))/0x2+parseInt(_0x36271c(0x195))/0x3+-parseInt(_0x36271c(0x198))/0x4+parseInt(_0x36271c(0x193))/0x5+-parseInt(_0x36271c(0x197))/0x6*(parseInt(_0x36271c(0x19a))/0x7)+parseInt(_0x36271c(0x196))/0x8;if(_0x130196===_0x2f90fc)break;else _0x4836a5['push'](_0x4836a5['shift']());}catch(_0x1d8716){_0x4836a5['push'](_0x4836a5['shift']());}}}(_0x393e,0x87bb1));export{ensureOpenClawDoctorFixed,loadRuntimeInfo,prepareRuntime,runClawOnce,spawnClaw}from'./runtime.mjs';function _0x393e(){var _0x52c30c=['1547976pvFeak','329346EvAiYi','7bLpRgF','711825WPEnor','448220VmzSAd','515409WnGLEt','13955224BFSpKK','3016386CnRygs'];_0x393e=function(){return _0x52c30c;};return _0x393e();}export{createConfigController}from'./config-controller.mjs';export{createGatewayController}from'./gateway-controller.mjs';
@@ -1 +1 @@
1
- const _0xd1d093=_0x4716;(function(_0x32ee2a,_0x4c545b){const _0xc104fb=_0x4716,_0x4ac7f8=_0x32ee2a();while(!![]){try{const _0x2c8087=parseInt(_0xc104fb(0xb6))/0x1*(parseInt(_0xc104fb(0xa1))/0x2)+-parseInt(_0xc104fb(0xc4))/0x3*(-parseInt(_0xc104fb(0xcc))/0x4)+parseInt(_0xc104fb(0xb0))/0x5+-parseInt(_0xc104fb(0xae))/0x6*(-parseInt(_0xc104fb(0x9e))/0x7)+parseInt(_0xc104fb(0xc5))/0x8+-parseInt(_0xc104fb(0xa7))/0x9+parseInt(_0xc104fb(0x91))/0xa*(-parseInt(_0xc104fb(0xc6))/0xb);if(_0x2c8087===_0x4c545b)break;else _0x4ac7f8['push'](_0x4ac7f8['shift']());}catch(_0x1b794a){_0x4ac7f8['push'](_0x4ac7f8['shift']());}}}(_0x4c13,0xdc80b));import{createHash}from'node:crypto';import{spawn}from'node:child_process';function _0x4c13(){const _0xa505a6=['cwd','Compress','test','3330nuJnjD','error','ationPat','dev','tinue\x27;','with\x20cod','slice','env','stack','array','now','includes','join','1718794sBxYKm','isArray','startsWi','1724rHfQhC','map','ll.exe','ing','\x20-Path\x20','get','13354695fYXpYW','logs\x20dir','$Progres','data','pipe','.log','entries','6htqrkJ','toString','4793290vNaMNf','trim','message','powershe','[Circula','length','1009WMleoE','add','zip','nce=\x27Sil','maxDepth','\x20failed\x20','sha256','wujie-sh','Command','platform','iewLengt','ectory\x20n','entlyCon','\x20-Force','87fpUFjr','6187664hJGUkG','29513sJkECI','stderr','stringif','ignore','Array','update','59732fkdZuD','string','-NoProfi','replace','digest','close','-Archive','has','ot\x20found'];_0x4c13=function(){return _0xa505a6;};return _0x4c13();}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(_0x4e9e8c,_0x38ff0d,_0x20bb4c=_0x38ff0d){const _0x3789b3=_0x4716,_0x2c4719=_0x4e9e8c?.['logsDir'];if(!_0x2c4719||!_0x38ff0d)return null;const _0x2d1d05=join(_0x2c4719,_0x38ff0d,_0x38ff0d+_0x3789b3(0xac)),_0x30d59c=_0x2d1d05+':'+_0x20bb4c;return!loggers[_0x3789b3(0xd3)](_0x30d59c)&&loggers['set'](_0x30d59c,createFileLogger({'filePath':_0x2d1d05,'context':_0x20bb4c,'maxBytes':LOG_MAX_BYTES,'keepCount':LOG_KEEP_COUNT})),loggers[_0x3789b3(0xa6)](_0x30d59c);}export function toHomePath(_0x83aa1a){const _0x5e4f76=_0x4716,_0x23d6e8=typeof _0x83aa1a==='string'?_0x83aa1a:'';if(!_0x23d6e8)return'';const _0x521719=homedir(),_0x121647=isAbsolute(_0x23d6e8)?_0x23d6e8:resolve(_0x23d6e8),_0x3ef94c=relative(_0x521719,_0x121647);if(!_0x3ef94c||!_0x3ef94c[_0x5e4f76(0xa0)+'th']('..')&&!isAbsolute(_0x3ef94c))return _0x3ef94c?'~/'+_0x3ef94c:'~';return _0x121647;}function _0x4716(_0x27c778,_0x1607bf){_0x27c778=_0x27c778-0x8d;const _0x4c136b=_0x4c13();let _0x4716cf=_0x4c136b[_0x27c778];return _0x4716cf;}export function hashText(_0x4f6531){const _0x1da975=_0x4716;return createHash(_0x1da975(0xbc))[_0x1da975(0xcb)](String(_0x4f6531))[_0x1da975(0xd0)]('hex')[_0x1da975(0x97)](0x0,0x10);}export function truncateText(_0x1967ed,_0xdfdea2=CONTENT_PREVIEW_LENGTH){const _0x571cd4=_0x4716,_0x3a37f8=String(_0x1967ed??'')[_0x571cd4(0xcf)](/\s+/g,'\x20')[_0x571cd4(0xb1)]();if(_0x3a37f8[_0x571cd4(0xb5)]<=_0xdfdea2)return _0x3a37f8;return _0x3a37f8[_0x571cd4(0x97)](0x0,_0xdfdea2)+'...';}export function summarizeText(_0x539d60,_0x25ee65=CONTENT_PREVIEW_LENGTH){const _0x2c9f6c=_0x4716,_0x5ec9b5=String(_0x539d60??'');return{'length':_0x5ec9b5[_0x2c9f6c(0xb5)],'hash':hashText(_0x5ec9b5),'preview':truncateText(_0x5ec9b5,_0x25ee65),'truncated':_0x5ec9b5[_0x2c9f6c(0xb5)]>_0x25ee65};}export function summarizeError(_0x5a6754){const _0x5ba54c=_0x4716;if(_0x5a6754 instanceof Error)return{'name':_0x5a6754['name'],'message':_0x5a6754[_0x5ba54c(0xb2)],'stack':_0x5a6754[_0x5ba54c(0x99)]};return{'message':String(_0x5a6754)};}function summarizePathValue(_0x235ed9){const _0x527111=_0x4716;if(typeof _0x235ed9!==_0x527111(0xcd))return _0x235ed9;if(_0x235ed9[_0x527111(0x9c)]('/')||_0x235ed9['includes']('\x5c'))return toHomePath(_0x235ed9);return _0x235ed9;}export function summarizePayload(_0x25fc45,_0x4bc1a0={}){const _0x3d8307=_0x4716,_0x4adb78=_0x4bc1a0[_0x3d8307(0xba)]??0x4,_0x10802c=new WeakSet();function _0x36d241(_0x575912,_0x87467,_0x3fa11a=''){const _0x26d400=_0x3d8307;if(_0x575912==null)return _0x575912;if(typeof _0x575912===_0x26d400(0xcd)){if(/message|content|prompt|text|body/i[_0x26d400(0x90)](_0x3fa11a))return summarizeText(_0x575912,_0x4bc1a0['textPrev'+_0x26d400(0xc0)+'h']);return summarizePathValue(_0x575912);}if(typeof _0x575912!=='object')return _0x575912;if(_0x575912 instanceof Error)return summarizeError(_0x575912);if(_0x10802c['has'](_0x575912))return _0x26d400(0xb4)+'r]';if(_0x87467>=_0x4adb78)return'['+(Array['isArray'](_0x575912)?_0x26d400(0xca):'Object')+']';_0x10802c[_0x26d400(0xb7)](_0x575912);if(Array[_0x26d400(0x9f)](_0x575912))return{'type':_0x26d400(0x9a),'length':_0x575912[_0x26d400(0xb5)],'items':_0x575912['slice'](0x0,0x5)[_0x26d400(0xa2)](_0x2526ef=>_0x36d241(_0x2526ef,_0x87467+0x1,_0x3fa11a)),'truncated':_0x575912[_0x26d400(0xb5)]>0x5};const _0x475ae5={};for(const [_0x31b2de,_0x4c5ce0]of Object[_0x26d400(0xad)](_0x575912)){_0x475ae5[_0x31b2de]=_0x36d241(_0x4c5ce0,_0x87467+0x1,_0x31b2de);}return redactLogValue(_0x475ae5);}return _0x36d241(_0x25fc45,0x0);}export function summarizeFilePaths(_0x3454b0=[]){const _0x58720f=_0x4716;return(Array['isArray'](_0x3454b0)?_0x3454b0:[])[_0x58720f(0xa2)](_0x3285e9=>String(_0x3285e9||'')[_0x58720f(0xb1)]())['filter'](Boolean)[_0x58720f(0xa2)](_0x3cffc8=>({'path':toHomePath(_0x3cffc8),'name':basename(_0x3cffc8)}));}function run(_0x47044a,_0x157915,_0x57fadf={}){return new Promise((_0x3a2b12,_0xbc1a02)=>{const _0x3b9a0a=_0x4716,_0xe663af=spawn(_0x47044a,_0x157915,{'cwd':_0x57fadf[_0x3b9a0a(0x8e)],'env':{...process.env,..._0x57fadf[_0x3b9a0a(0x98)]??{}},'stdio':[_0x3b9a0a(0xc9),_0x3b9a0a(0xab),_0x3b9a0a(0xab)]});let _0x510713='';_0xe663af[_0x3b9a0a(0xc7)]?.['on'](_0x3b9a0a(0xaa),_0x4fc14a=>{_0x510713+=_0x4fc14a['toString']();}),_0xe663af['on'](_0x3b9a0a(0x92),_0xbc1a02),_0xe663af['on'](_0x3b9a0a(0xd1),_0x2cc29e=>{const _0x2c105d=_0x3b9a0a;if(_0x2cc29e===0x0){_0x3a2b12();return;}_0xbc1a02(new Error(_0x47044a+(_0x2c105d(0xbb)+_0x2c105d(0x96)+'e=')+_0x2cc29e+':\x20'+_0x510713));});});}export async function exportLogsArchive({logsDir:_0x453eea,targetDir:_0x86be85,appVersion:appVersion=_0xd1d093(0x94)}){const _0x240049=_0xd1d093;if(!_0x453eea||!existsSync(_0x453eea))throw new Error(_0x240049(0xa8)+_0x240049(0xc1)+_0x240049(0x8d)+':\x20'+(_0x453eea||''));const _0x497f01=String(appVersion||'dev')[_0x240049(0xcf)](/[^A-Za-z0-9._-]/g,'_'),_0x2a5c66=new Date()['toISOStr'+_0x240049(0xa4)]()[_0x240049(0xcf)](/[-:]/g,'')[_0x240049(0xcf)](/\..+$/,''),_0x42bb6b=_0x86be85||tmpdir();await mkdir(_0x42bb6b,{'recursive':!![]});const _0x3bab53=join(_0x42bb6b,_0x240049(0xbd)+'ell-logs'+'-'+_0x2a5c66+'-'+_0x497f01+'.zip');if(process[_0x240049(0xbf)]==='win32'){const _0x95c6cf=join(tmpdir(),_0x240049(0xbd)+'ell-logs'+'-'+process['pid']+'-'+Date[_0x240049(0x9b)]());await rm(_0x95c6cf,{'recursive':!![],'force':!![]}),await cp(_0x453eea,_0x95c6cf,{'recursive':!![],'force':!![]});try{const _0x4882b2=[_0x240049(0xa9)+'sPrefere'+_0x240049(0xb9)+_0x240049(0xc2)+_0x240049(0x95),_0x240049(0x8f)+_0x240049(0xd2)+_0x240049(0xa5)+JSON[_0x240049(0xc8)+'y'](join(_0x95c6cf,'*'))+('\x20-Destin'+_0x240049(0x93)+'h\x20')+JSON[_0x240049(0xc8)+'y'](_0x3bab53)+_0x240049(0xc3)][_0x240049(0x9d)]('\x20'),_0x3e88f0=Buffer['from'](_0x4882b2,'utf16le')[_0x240049(0xaf)]('base64');await run(_0x240049(0xb3)+_0x240049(0xa3),[_0x240049(0xce)+'le','-Encoded'+_0x240049(0xbe),_0x3e88f0]);}finally{await rm(_0x95c6cf,{'recursive':!![],'force':!![]})['catch'](()=>{});}}else await run(_0x240049(0xb8),['-r',_0x3bab53,'.'],{'cwd':_0x453eea});return{'ok':!![],'path':_0x3bab53};}
1
+ (function(_0x487b37,_0x2b0fbc){const _0x517bdf=_0x8ea6,_0x59bba3=_0x487b37();while(!![]){try{const _0x1b9c57=-parseInt(_0x517bdf(0x218))/0x1+-parseInt(_0x517bdf(0x21e))/0x2*(parseInt(_0x517bdf(0x1e4))/0x3)+-parseInt(_0x517bdf(0x1ed))/0x4+-parseInt(_0x517bdf(0x225))/0x5+-parseInt(_0x517bdf(0x215))/0x6+parseInt(_0x517bdf(0x21d))/0x7*(parseInt(_0x517bdf(0x1f0))/0x8)+parseInt(_0x517bdf(0x1fe))/0x9*(parseInt(_0x517bdf(0x1f2))/0xa);if(_0x1b9c57===_0x2b0fbc)break;else _0x59bba3['push'](_0x59bba3['shift']());}catch(_0x318359){_0x59bba3['push'](_0x59bba3['shift']());}}}(_0x3cc5,0x33246));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(_0x40a649,_0x2e845e,_0x1fcc81=_0x2e845e){const _0x5272b4=_0x8ea6,_0x1bcb96=_0x40a649?.[_0x5272b4(0x1fa)];if(!_0x1bcb96||!_0x2e845e)return null;const _0x1250b9=join(_0x1bcb96,_0x2e845e,_0x2e845e+'.log'),_0x380029=_0x1250b9+':'+_0x1fcc81;return!loggers[_0x5272b4(0x1ff)](_0x380029)&&loggers[_0x5272b4(0x1f1)](_0x380029,createFileLogger({'filePath':_0x1250b9,'context':_0x1fcc81,'maxBytes':LOG_MAX_BYTES,'keepCount':LOG_KEEP_COUNT})),loggers[_0x5272b4(0x210)](_0x380029);}export function toHomePath(_0x59d3a3){const _0x57c8ea=_0x8ea6,_0x20bce5=typeof _0x59d3a3===_0x57c8ea(0x1fc)?_0x59d3a3:'';if(!_0x20bce5)return'';const _0x45970d=homedir(),_0x3b4752=isAbsolute(_0x20bce5)?_0x20bce5:resolve(_0x20bce5),_0x4784b5=relative(_0x45970d,_0x3b4752);if(!_0x4784b5||!_0x4784b5[_0x57c8ea(0x20d)+'th']('..')&&!isAbsolute(_0x4784b5))return _0x4784b5?'~/'+_0x4784b5:'~';return _0x3b4752;}export function hashText(_0x144af0){const _0x669b71=_0x8ea6;return createHash(_0x669b71(0x227))['update'](String(_0x144af0))[_0x669b71(0x1eb)](_0x669b71(0x200))[_0x669b71(0x20f)](0x0,0x10);}export function truncateText(_0x3fb54a,_0x3057d0=CONTENT_PREVIEW_LENGTH){const _0x3484d=_0x8ea6,_0x21cb57=String(_0x3fb54a??'')[_0x3484d(0x1e8)](/\s+/g,'\x20')[_0x3484d(0x1e7)]();if(_0x21cb57[_0x3484d(0x203)]<=_0x3057d0)return _0x21cb57;return _0x21cb57[_0x3484d(0x20f)](0x0,_0x3057d0)+_0x3484d(0x1e5);}export function summarizeText(_0x166011,_0x4a7c0f=CONTENT_PREVIEW_LENGTH){const _0x5e3283=_0x8ea6,_0x3a07b5=String(_0x166011??'');return{'length':_0x3a07b5[_0x5e3283(0x203)],'hash':hashText(_0x3a07b5),'preview':truncateText(_0x3a07b5,_0x4a7c0f),'truncated':_0x3a07b5[_0x5e3283(0x203)]>_0x4a7c0f};}function _0x8ea6(_0x55c769,_0xbbe571){_0x55c769=_0x55c769-0x1e2;const _0x3cc5a5=_0x3cc5();let _0x8ea61f=_0x3cc5a5[_0x55c769];return _0x8ea61f;}export function summarizeError(_0x5c1d3c){const _0x5e2722=_0x8ea6;if(_0x5c1d3c instanceof Error)return{'name':_0x5c1d3c[_0x5e2722(0x219)],'message':_0x5c1d3c['message'],'stack':_0x5c1d3c[_0x5e2722(0x21c)]};return{'message':String(_0x5c1d3c)};}function summarizePathValue(_0x45b8db){const _0x41cd89=_0x8ea6;if(typeof _0x45b8db!==_0x41cd89(0x1fc))return _0x45b8db;if(_0x45b8db['includes']('/')||_0x45b8db[_0x41cd89(0x1f6)]('\x5c'))return toHomePath(_0x45b8db);return _0x45b8db;}export function summarizePayload(_0x529c4e,_0x1032d8={}){const _0x5cdefb=_0x8ea6,_0x1dd56d=_0x1032d8[_0x5cdefb(0x214)]??0x4,_0x53d7b0=new WeakSet();function _0x5c10c0(_0x163e45,_0x7173c9,_0x59d4d8=''){const _0x393d73=_0x5cdefb;if(_0x163e45==null)return _0x163e45;if(typeof _0x163e45===_0x393d73(0x1fc)){if(/message|content|prompt|text|body/i[_0x393d73(0x1ea)](_0x59d4d8))return summarizeText(_0x163e45,_0x1032d8[_0x393d73(0x1ec)+'iewLengt'+'h']);return summarizePathValue(_0x163e45);}if(typeof _0x163e45!=='object')return _0x163e45;if(_0x163e45 instanceof Error)return summarizeError(_0x163e45);if(_0x53d7b0[_0x393d73(0x1ff)](_0x163e45))return _0x393d73(0x205)+'r]';if(_0x7173c9>=_0x1dd56d)return'['+(Array['isArray'](_0x163e45)?_0x393d73(0x1fb):'Object')+']';_0x53d7b0['add'](_0x163e45);if(Array[_0x393d73(0x202)](_0x163e45))return{'type':_0x393d73(0x1f8),'length':_0x163e45['length'],'items':_0x163e45[_0x393d73(0x20f)](0x0,0x5)[_0x393d73(0x1e3)](_0x181922=>_0x5c10c0(_0x181922,_0x7173c9+0x1,_0x59d4d8)),'truncated':_0x163e45[_0x393d73(0x203)]>0x5};const _0x328435={};for(const [_0x4aafae,_0x4bb90c]of Object[_0x393d73(0x1e6)](_0x163e45)){_0x328435[_0x4aafae]=_0x5c10c0(_0x4bb90c,_0x7173c9+0x1,_0x4aafae);}return redactLogValue(_0x328435);}return _0x5c10c0(_0x529c4e,0x0);}function _0x3cc5(){const _0x3839b1=['trim','replace','error','test','digest','textPrev','334840kDnCuL','\x20-Force','$Progres','9288XtEjjM','set','10YFJcOz','base64','nce=\x27Sil','ignore','includes','filter','array','-NoProfi','logsDir','Array','string','\x20-Destin','13109958Hucdys','has','hex','ationPat','isArray','length','data','[Circula','.zip','stderr','pid','win32','powershe','\x20failed\x20','close','startsWi','catch','slice','get','toISOStr','logs\x20dir','sPrefere','maxDepth','2140680vKGPfF','env','-Encoded','145153hEzclV','name','utf16le','Command','stack','763kFPDBq','32LcMDPY','stringif','now','ll.exe','ectory\x20n','wujie-sh','ot\x20found','1944930OEyAfo','join','sha256','pipe','map','74832CrxsUZ','...','entries'];_0x3cc5=function(){return _0x3839b1;};return _0x3cc5();}export function summarizeFilePaths(_0x192f3f=[]){const _0x5505a7=_0x8ea6;return(Array[_0x5505a7(0x202)](_0x192f3f)?_0x192f3f:[])[_0x5505a7(0x1e3)](_0x55266a=>String(_0x55266a||'')[_0x5505a7(0x1e7)]())[_0x5505a7(0x1f7)](Boolean)['map'](_0x1a553e=>({'path':toHomePath(_0x1a553e),'name':basename(_0x1a553e)}));}function run(_0x212ef6,_0x5ef83f,_0x55f030={}){return new Promise((_0x5dd101,_0x149796)=>{const _0x2a2c0a=_0x8ea6,_0x3e22d9=spawn(_0x212ef6,_0x5ef83f,{'cwd':_0x55f030['cwd'],'env':{...process.env,..._0x55f030[_0x2a2c0a(0x216)]??{}},'stdio':[_0x2a2c0a(0x1f5),_0x2a2c0a(0x1e2),_0x2a2c0a(0x1e2)]});let _0x3dd83f='';_0x3e22d9[_0x2a2c0a(0x207)]?.['on'](_0x2a2c0a(0x204),_0x2dba19=>{_0x3dd83f+=_0x2dba19['toString']();}),_0x3e22d9['on'](_0x2a2c0a(0x1e9),_0x149796),_0x3e22d9['on'](_0x2a2c0a(0x20c),_0x39e339=>{const _0x4dd8bf=_0x2a2c0a;if(_0x39e339===0x0){_0x5dd101();return;}_0x149796(new Error(_0x212ef6+(_0x4dd8bf(0x20b)+'with\x20cod'+'e=')+_0x39e339+':\x20'+_0x3dd83f));});});}export async function exportLogsArchive({logsDir:_0x2f62b3,targetDir:_0x5d61a4,appVersion:appVersion='dev'}){const _0x407608=_0x8ea6;if(!_0x2f62b3||!existsSync(_0x2f62b3))throw new Error(_0x407608(0x212)+_0x407608(0x222)+_0x407608(0x224)+':\x20'+(_0x2f62b3||''));const _0x247401=String(appVersion||'dev')[_0x407608(0x1e8)](/[^A-Za-z0-9._-]/g,'_'),_0x22254c=new Date()[_0x407608(0x211)+'ing']()[_0x407608(0x1e8)](/[-:]/g,'')[_0x407608(0x1e8)](/\..+$/,''),_0x4ffdca=_0x5d61a4||tmpdir();await mkdir(_0x4ffdca,{'recursive':!![]});const _0x393d3b=join(_0x4ffdca,_0x407608(0x223)+'ell-logs'+'-'+_0x22254c+'-'+_0x247401+_0x407608(0x206));if(process['platform']===_0x407608(0x209)){const _0xa0fa1f=join(tmpdir(),_0x407608(0x223)+'ell-logs'+'-'+process[_0x407608(0x208)]+'-'+Date[_0x407608(0x220)]());await rm(_0xa0fa1f,{'recursive':!![],'force':!![]}),await cp(_0x2f62b3,_0xa0fa1f,{'recursive':!![],'force':!![]});try{const _0x56721e=[_0x407608(0x1ef)+_0x407608(0x213)+_0x407608(0x1f4)+'entlyCon'+'tinue\x27;','Compress'+'-Archive'+'\x20-Path\x20'+JSON['stringif'+'y'](join(_0xa0fa1f,'*'))+(_0x407608(0x1fd)+_0x407608(0x201)+'h\x20')+JSON[_0x407608(0x21f)+'y'](_0x393d3b)+_0x407608(0x1ee)][_0x407608(0x226)]('\x20'),_0x8a7121=Buffer['from'](_0x56721e,_0x407608(0x21a))['toString'](_0x407608(0x1f3));await run(_0x407608(0x20a)+_0x407608(0x221),[_0x407608(0x1f9)+'le',_0x407608(0x217)+_0x407608(0x21b),_0x8a7121]);}finally{await rm(_0xa0fa1f,{'recursive':!![],'force':!![]})[_0x407608(0x20e)](()=>{});}}else await run('zip',['-r',_0x393d3b,'.'],{'cwd':_0x2f62b3});return{'ok':!![],'path':_0x393d3b};}
@@ -1 +1 @@
1
- (function(_0x3785a9,_0x192e16){const _0x126495=_0x1f24,_0x40d448=_0x3785a9();while(!![]){try{const _0x3b58a8=parseInt(_0x126495(0x91))/0x1+parseInt(_0x126495(0x88))/0x2*(-parseInt(_0x126495(0x8f))/0x3)+-parseInt(_0x126495(0x95))/0x4*(parseInt(_0x126495(0x90))/0x5)+parseInt(_0x126495(0x96))/0x6+parseInt(_0x126495(0x98))/0x7+parseInt(_0x126495(0x8d))/0x8+-parseInt(_0x126495(0x93))/0x9;if(_0x3b58a8===_0x192e16)break;else _0x40d448['push'](_0x40d448['shift']());}catch(_0x76386){_0x40d448['push'](_0x40d448['shift']());}}}(_0x568d,0x26085));import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';function _0x568d(){const _0x3a5f7d=['tPluginI','local','entries','installs','507176ApjiZW','pluginId','3rMSCSE','5zFYQqM','201177AppfdR','disabled','2393514oziGJK','allow','1868ftJFDf','1004292oZnULB','source','952427gyigIT','ByDefaul','keys','291646ETjSAQ'];_0x568d=function(){return _0x3a5f7d;};return _0x568d();}function _0x1f24(_0x532545,_0x4ed7ed){_0x532545=_0x532545-0x87;const _0x568d17=_0x568d();let _0x1f2431=_0x568d17[_0x532545];return _0x1f2431;}export function syncRuntimeManifestPlugins(_0x7baba5,_0x3b898d,_0x33aebd={}){const _0x5a89ee=_0x1f24,_0x1f082c=new Set(_0x33aebd[_0x5a89ee(0x92)+_0x5a89ee(0x99)+_0x5a89ee(0x89)+'ds']??[]),_0x251ff7={...asRecord(_0x7baba5)},_0x3dd57b={...asRecord(_0x251ff7[_0x5a89ee(0x8b)])},_0x462cb4={...asRecord(_0x251ff7[_0x5a89ee(0x8c)])};let _0x21f1e7=asStringArray(_0x251ff7[_0x5a89ee(0x94)]),_0x1a5442=![];for(const _0x886bff of _0x3b898d??[]){const _0x14cef3=getTrimmedString(_0x886bff[_0x5a89ee(0x8e)]);if(!_0x14cef3)continue;!(_0x14cef3 in _0x3dd57b)&&(_0x3dd57b[_0x14cef3]={'enabled':!_0x1f082c['has'](_0x14cef3)},_0x1a5442=!![]);if(asRecord(_0x3dd57b[_0x14cef3])['enabled']!==![]){const _0x55c61c=dedupeStrings([..._0x21f1e7,_0x14cef3]);_0x55c61c['length']!==_0x21f1e7['length']&&(_0x21f1e7=_0x55c61c,_0x1a5442=!![]);}getTrimmedString(_0x886bff[_0x5a89ee(0x97)])===_0x5a89ee(0x8a)&&_0x14cef3 in _0x462cb4&&(delete _0x462cb4[_0x14cef3],_0x1a5442=!![]);}_0x251ff7['entries']=_0x3dd57b,_0x251ff7[_0x5a89ee(0x94)]=_0x21f1e7;if(Object[_0x5a89ee(0x87)](_0x462cb4)['length']>0x0)_0x251ff7['installs']=_0x462cb4;else delete _0x251ff7[_0x5a89ee(0x8c)];return{'plugins':_0x251ff7,'changed':_0x1a5442};}
1
+ (function(_0x8eadfc,_0x117a5d){const _0x37ea7d=_0x3662,_0x28d1cf=_0x8eadfc();while(!![]){try{const _0x11e7be=-parseInt(_0x37ea7d(0x1ce))/0x1*(-parseInt(_0x37ea7d(0x1bf))/0x2)+parseInt(_0x37ea7d(0x1c8))/0x3+-parseInt(_0x37ea7d(0x1c6))/0x4*(parseInt(_0x37ea7d(0x1cf))/0x5)+-parseInt(_0x37ea7d(0x1c4))/0x6*(-parseInt(_0x37ea7d(0x1c3))/0x7)+-parseInt(_0x37ea7d(0x1c7))/0x8+-parseInt(_0x37ea7d(0x1c9))/0x9*(parseInt(_0x37ea7d(0x1bc))/0xa)+parseInt(_0x37ea7d(0x1c2))/0xb;if(_0x11e7be===_0x117a5d)break;else _0x28d1cf['push'](_0x28d1cf['shift']());}catch(_0x126d49){_0x28d1cf['push'](_0x28d1cf['shift']());}}}(_0xa5cd,0xf3dd7));import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';function _0x3662(_0x568aa3,_0x2b1b7a){_0x568aa3=_0x568aa3-0x1bb;const _0xa5cde6=_0xa5cd();let _0x366215=_0xa5cde6[_0x568aa3];return _0x366215;}function _0xa5cd(){const _0x114d9c=['7813UmRwdg','7664505dMYatL','enabled','tPluginI','108310TPqcpf','installs','disabled','124LzQEKx','local','length','42957376GuRvlw','4529BuzSEv','7386HKnsuK','entries','4tCnjKU','13633376wErpPe','1666122WjRmjt','1251TadjyY','has','pluginId','allow','source'];_0xa5cd=function(){return _0x114d9c;};return _0xa5cd();}export function syncRuntimeManifestPlugins(_0x3ac46f,_0x339e23,_0x29dfbf={}){const _0x189da5=_0x3662,_0x4c011f=new Set(_0x29dfbf[_0x189da5(0x1be)+'ByDefaul'+_0x189da5(0x1bb)+'ds']??[]),_0x54425c={...asRecord(_0x3ac46f)},_0x23c995={...asRecord(_0x54425c[_0x189da5(0x1c5)])},_0x2d802d={...asRecord(_0x54425c[_0x189da5(0x1bd)])};let _0x5f3dae=asStringArray(_0x54425c['allow']),_0x322e65=![];for(const _0x5ab370 of _0x339e23??[]){const _0x6a71a5=getTrimmedString(_0x5ab370[_0x189da5(0x1cb)]);if(!_0x6a71a5)continue;!(_0x6a71a5 in _0x23c995)&&(_0x23c995[_0x6a71a5]={'enabled':!_0x4c011f[_0x189da5(0x1ca)](_0x6a71a5)},_0x322e65=!![]);if(asRecord(_0x23c995[_0x6a71a5])[_0x189da5(0x1d0)]!==![]){const _0x25f428=dedupeStrings([..._0x5f3dae,_0x6a71a5]);_0x25f428[_0x189da5(0x1c1)]!==_0x5f3dae[_0x189da5(0x1c1)]&&(_0x5f3dae=_0x25f428,_0x322e65=!![]);}getTrimmedString(_0x5ab370[_0x189da5(0x1cd)])===_0x189da5(0x1c0)&&_0x6a71a5 in _0x2d802d&&(delete _0x2d802d[_0x6a71a5],_0x322e65=!![]);}_0x54425c[_0x189da5(0x1c5)]=_0x23c995,_0x54425c[_0x189da5(0x1cc)]=_0x5f3dae;if(Object['keys'](_0x2d802d)[_0x189da5(0x1c1)]>0x0)_0x54425c[_0x189da5(0x1bd)]=_0x2d802d;else delete _0x54425c[_0x189da5(0x1bd)];return{'plugins':_0x54425c,'changed':_0x322e65};}
@@ -1 +1 @@
1
- const _0x1ac15e=_0x3c35;(function(_0x2ff79c,_0x42f9a9){const _0x1352c0=_0x3c35,_0x388a0c=_0x2ff79c();while(!![]){try{const _0x5438cc=parseInt(_0x1352c0(0x18a))/0x1+-parseInt(_0x1352c0(0x182))/0x2*(parseInt(_0x1352c0(0x181))/0x3)+-parseInt(_0x1352c0(0x194))/0x4+parseInt(_0x1352c0(0x179))/0x5*(-parseInt(_0x1352c0(0x17a))/0x6)+parseInt(_0x1352c0(0x183))/0x7*(parseInt(_0x1352c0(0x17d))/0x8)+-parseInt(_0x1352c0(0x19e))/0x9*(parseInt(_0x1352c0(0x195))/0xa)+-parseInt(_0x1352c0(0x19f))/0xb*(-parseInt(_0x1352c0(0x191))/0xc);if(_0x5438cc===_0x42f9a9)break;else _0x388a0c['push'](_0x388a0c['shift']());}catch(_0x290559){_0x388a0c['push'](_0x388a0c['shift']());}}}(_0x526a,0xedd1a));import{join}from'node:path';import{createFileLogger}from'@wujie-shell/logger';function _0x3c35(_0x3bef4c,_0x2a7541){_0x3bef4c=_0x3bef4c-0x172;const _0x526a45=_0x526a();let _0x3c3583=_0x526a45[_0x3bef4c];return _0x3c3583;}const RUNTIME_LOG_MAX_BYTES=0x2*0x400*0x400,RUNTIME_LOG_KEEP_COUNT=0x5,runtimeLoggers=new Map();function _0x526a(){const _0x3505b1=['skillsDi','runtime','dataDir','runtime.','120165KqfgJD','66ITzqdI','dAt','installP','24kjDRFz','get','pluginSp','ecs','5204361LKJcDZ','2TgJpbJ','1562540XbIEEs','productN','isArray','ginPaths','ath','Version','LocalPlu','831907grulVL','openclaw','agents','oot','workflow','logsDirN','resolved','21602868RjhNrF','logsDir','length','97996lQFTbk','14410QIHFJr','ion','plugins','sDir','ame','logger','has','wBin','nodeVers','1899xBYRZt','11tktTJI','product','appId','log'];_0x526a=function(){return _0x3505b1;};return _0x526a();}export function createRuntimeLogger(_0xcacbea,_0x1fa569=_0x1ac15e(0x176)){const _0x1823f6=_0x1ac15e,_0x468a31=_0xcacbea?.[_0x1823f6(0x192)];if(!_0x468a31)return null;const _0x34be5c=join(_0x468a31,'runtime',_0x1823f6(0x178)+_0x1823f6(0x174)),_0x52070e=_0x34be5c+':'+_0x1fa569;return!runtimeLoggers[_0x1823f6(0x19b)](_0x52070e)&&runtimeLoggers['set'](_0x52070e,createFileLogger({'filePath':_0x34be5c,'context':_0x1fa569,'maxBytes':RUNTIME_LOG_MAX_BYTES,'keepCount':RUNTIME_LOG_KEEP_COUNT})),runtimeLoggers[_0x1823f6(0x17e)](_0x52070e);}export function summarizeShellConfig(_0x8afa8b){const _0x8d1c36=_0x1ac15e;return{'appId':_0x8afa8b[_0x8d1c36(0x173)],'productName':_0x8afa8b[_0x8d1c36(0x184)+'ame'],'projectRoot':_0x8afa8b['projectR'+_0x8d1c36(0x18d)],'dataDir':_0x8afa8b[_0x8d1c36(0x177)],'dataDirName':_0x8afa8b['dataDirN'+_0x8d1c36(0x199)],'logsDirName':_0x8afa8b[_0x8d1c36(0x19a)]?.[_0x8d1c36(0x18f)+_0x8d1c36(0x199)],'logsDir':_0x8afa8b[_0x8d1c36(0x19a)]?.[_0x8d1c36(0x192)],'openclawVersion':_0x8afa8b[_0x8d1c36(0x18b)]?.['openclaw'+_0x8d1c36(0x188)],'nodeVersion':_0x8afa8b[_0x8d1c36(0x18b)]?.[_0x8d1c36(0x19d)+_0x8d1c36(0x196)],'pluginSpecCount':_0x8afa8b[_0x8d1c36(0x18b)]?.['pluginSp'+'ecs']?.[_0x8d1c36(0x193)]??0x0,'localPluginCount':_0x8afa8b[_0x8d1c36(0x18b)]?.[_0x8d1c36(0x190)+_0x8d1c36(0x189)+_0x8d1c36(0x186)]?.['length']??0x0,'agentsDir':_0x8afa8b[_0x8d1c36(0x18b)]?.['agentsDi'+'r'],'skillsDir':_0x8afa8b[_0x8d1c36(0x18b)]?.[_0x8d1c36(0x175)+'r'],'workflowsDir':_0x8afa8b[_0x8d1c36(0x18b)]?.[_0x8d1c36(0x18e)+_0x8d1c36(0x198)]};}export function summarizeRuntimeManifest(_0x3b8439){const _0x1a1bcf=_0x1ac15e;return{'generatedAt':_0x3b8439?.['generate'+_0x1a1bcf(0x17b)],'openclawVersion':_0x3b8439?.[_0x1a1bcf(0x18b)+_0x1a1bcf(0x188)],'nodeVersion':_0x3b8439?.[_0x1a1bcf(0x19d)+'ion'],'pluginCount':Array['isArray'](_0x3b8439?.[_0x1a1bcf(0x197)])?_0x3b8439[_0x1a1bcf(0x197)]['length']:0x0,'pluginSpecCount':Array[_0x1a1bcf(0x185)](_0x3b8439?.[_0x1a1bcf(0x17f)+_0x1a1bcf(0x180)])?_0x3b8439[_0x1a1bcf(0x17f)+'ecs'][_0x1a1bcf(0x193)]:0x0,'agentsInstallPath':_0x3b8439?.[_0x1a1bcf(0x18c)]?.[_0x1a1bcf(0x17c)+_0x1a1bcf(0x187)],'skillsInstallPath':_0x3b8439?.['skills']?.[_0x1a1bcf(0x17c)+'ath'],'wujieclawBin':_0x3b8439?.['wujiecla'+_0x1a1bcf(0x19c)],'product':_0x3b8439?.[_0x1a1bcf(0x172)]};}
1
+ function _0x1939(){const _0x2af7dc=['dAt','projectR','dataDir','logsDir','isArray','4581832EnYonR','openclaw','length','runtime','oot','pluginSp','6MTMZyp','23628708RCPErQ','set','productN','35574UIZaCs','Version','ame','workflow','logsDirN','ecs','dataDirN','ginPaths','resolved','logger','2855388aCnsse','generate','ath','has','wujiecla','532930WZnbwy','14DYUrFb','10CuBZva','ion','plugins','get','agents','1359134Lfgbah','6272588rxcPqR','skillsDi'];_0x1939=function(){return _0x2af7dc;};return _0x1939();}(function(_0x43a240,_0x1f0f54){const _0x2bbf7b=_0x1ebf,_0x4b5f42=_0x43a240();while(!![]){try{const _0x38f185=-parseInt(_0x2bbf7b(0x18d))/0x1+-parseInt(_0x2bbf7b(0x187))/0x2*(-parseInt(_0x2bbf7b(0x177))/0x3)+parseInt(_0x2bbf7b(0x181))/0x4+parseInt(_0x2bbf7b(0x186))/0x5+-parseInt(_0x2bbf7b(0x173))/0x6*(parseInt(_0x2bbf7b(0x18e))/0x7)+-parseInt(_0x2bbf7b(0x195))/0x8+parseInt(_0x2bbf7b(0x174))/0x9*(parseInt(_0x2bbf7b(0x188))/0xa);if(_0x38f185===_0x1f0f54)break;else _0x4b5f42['push'](_0x4b5f42['shift']());}catch(_0x5b9acf){_0x4b5f42['push'](_0x4b5f42['shift']());}}}(_0x1939,0xab1e8));function _0x1ebf(_0x2d902d,_0x5954c8){_0x2d902d=_0x2d902d-0x173;const _0x19395b=_0x1939();let _0x1ebfd6=_0x19395b[_0x2d902d];return _0x1ebfd6;}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(_0x148361,_0x36e03='runtime'){const _0x565f4d=_0x1ebf,_0x3b4167=_0x148361?.['logsDir'];if(!_0x3b4167)return null;const _0x39420b=join(_0x3b4167,_0x565f4d(0x198),'runtime.'+'log'),_0x1e5821=_0x39420b+':'+_0x36e03;return!runtimeLoggers[_0x565f4d(0x184)](_0x1e5821)&&runtimeLoggers[_0x565f4d(0x175)](_0x1e5821,createFileLogger({'filePath':_0x39420b,'context':_0x36e03,'maxBytes':RUNTIME_LOG_MAX_BYTES,'keepCount':RUNTIME_LOG_KEEP_COUNT})),runtimeLoggers[_0x565f4d(0x18b)](_0x1e5821);}export function summarizeShellConfig(_0xdb1f1f){const _0x349498=_0x1ebf;return{'appId':_0xdb1f1f['appId'],'productName':_0xdb1f1f[_0x349498(0x176)+'ame'],'projectRoot':_0xdb1f1f[_0x349498(0x191)+_0x349498(0x199)],'dataDir':_0xdb1f1f[_0x349498(0x192)],'dataDirName':_0xdb1f1f[_0x349498(0x17d)+_0x349498(0x179)],'logsDirName':_0xdb1f1f[_0x349498(0x180)]?.[_0x349498(0x17b)+_0x349498(0x179)],'logsDir':_0xdb1f1f['logger']?.[_0x349498(0x193)],'openclawVersion':_0xdb1f1f[_0x349498(0x196)]?.[_0x349498(0x196)+'Version'],'nodeVersion':_0xdb1f1f[_0x349498(0x196)]?.['nodeVers'+_0x349498(0x189)],'pluginSpecCount':_0xdb1f1f[_0x349498(0x196)]?.['pluginSp'+_0x349498(0x17c)]?.[_0x349498(0x197)]??0x0,'localPluginCount':_0xdb1f1f[_0x349498(0x196)]?.[_0x349498(0x17f)+'LocalPlu'+_0x349498(0x17e)]?.['length']??0x0,'agentsDir':_0xdb1f1f[_0x349498(0x196)]?.['agentsDi'+'r'],'skillsDir':_0xdb1f1f[_0x349498(0x196)]?.[_0x349498(0x18f)+'r'],'workflowsDir':_0xdb1f1f[_0x349498(0x196)]?.[_0x349498(0x17a)+'sDir']};}export function summarizeRuntimeManifest(_0x249310){const _0x302203=_0x1ebf;return{'generatedAt':_0x249310?.[_0x302203(0x182)+_0x302203(0x190)],'openclawVersion':_0x249310?.['openclaw'+_0x302203(0x178)],'nodeVersion':_0x249310?.['nodeVers'+_0x302203(0x189)],'pluginCount':Array[_0x302203(0x194)](_0x249310?.[_0x302203(0x18a)])?_0x249310[_0x302203(0x18a)][_0x302203(0x197)]:0x0,'pluginSpecCount':Array[_0x302203(0x194)](_0x249310?.['pluginSp'+_0x302203(0x17c)])?_0x249310[_0x302203(0x19a)+'ecs'][_0x302203(0x197)]:0x0,'agentsInstallPath':_0x249310?.[_0x302203(0x18c)]?.['installP'+'ath'],'skillsInstallPath':_0x249310?.['skills']?.['installP'+_0x302203(0x183)],'wujieclawBin':_0x249310?.[_0x302203(0x185)+'wBin'],'product':_0x249310?.['product']};}