@wujie-shell/core 0.1.1 → 0.1.2

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,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0x24af86=_0x1a86;(function(_0x30912a,_0x136b80){const _0xe0c0c4=_0x1a86,_0x4255c4=_0x30912a();while(!![]){try{const _0x1feabf=-parseInt(_0xe0c0c4(0xc8))/0x1+-parseInt(_0xe0c0c4(0xd4))/0x2*(-parseInt(_0xe0c0c4(0xce))/0x3)+parseInt(_0xe0c0c4(0xd1))/0x4+parseInt(_0xe0c0c4(0xd8))/0x5+-parseInt(_0xe0c0c4(0xc7))/0x6*(parseInt(_0xe0c0c4(0xbf))/0x7)+parseInt(_0xe0c0c4(0xbc))/0x8+parseInt(_0xe0c0c4(0xda))/0x9*(-parseInt(_0xe0c0c4(0xbb))/0xa);if(_0x1feabf===_0x136b80)break;else _0x4255c4['push'](_0x4255c4['shift']());}catch(_0x658f0f){_0x4255c4['push'](_0x4255c4['shift']());}}}(_0x2042,0xc06a0));import{resolve}from'node:path';import{loadShellConfig}from'@wujie-shell/config';function _0x2042(){const _0x257bfa=['help','command:','266SHAXQF','\x0a\x20\x20wujie','argv','project','catch','t>\x0a','stringif','oject\x20<u','26952EWyvhd','1352056SwvfQF','l\x20prepar','stack','isArray','sync','/.tmp/ru','3gnTsYx','unknown\x20','--projec','5134332ZLVqES','message','i-projec','1528348zImQQO','cwd','ect\x20<ui-','slice','7169725JQWGKY','length','162XkGDzN','ell\x0a\x0aUsa','--help','e\x20--proj','error','-shell\x20s','shift','ntime','ge:\x0a\x20\x20wu','log','plugins','1278440cQYxFV','9042960dPxUQh'];_0x2042=function(){return _0x257bfa;};return _0x2042();}import{prepareRuntime}from'../src/runtime.mjs';function parseArgs(_0x47e9d6){const _0x280477=_0x1a86,_0xccd47=[..._0x47e9d6],_0x4eba1a=_0xccd47[_0x280477(0xe0)]()||_0x280477(0xbd),_0x5b16bd={'project':process[_0x280477(0xd5)]()};for(let _0x2198a6=0x0;_0x2198a6<_0xccd47[_0x280477(0xd9)];_0x2198a6+=0x1){const _0x5d8c01=_0xccd47[_0x2198a6];(_0x5d8c01===_0x280477(0xd0)+'t'||_0x5d8c01==='-p')&&(_0x5b16bd[_0x280477(0xc2)]=_0xccd47[_0x2198a6+0x1],_0x2198a6+=0x1);}return{'command':_0x4eba1a,'options':_0x5b16bd};}function usage(){const _0x5ae59a=_0x1a86;console['log']('wujie-sh'+_0x5ae59a(0xdb)+_0x5ae59a(0xe2)+'jie-shel'+_0x5ae59a(0xc9)+_0x5ae59a(0xdd)+_0x5ae59a(0xd6)+'project>'+_0x5ae59a(0xc0)+_0x5ae59a(0xdf)+'ync\x20--pr'+_0x5ae59a(0xc6)+_0x5ae59a(0xd3)+_0x5ae59a(0xc4));}function _0x1a86(_0x19ad79,_0x35adbb){_0x19ad79=_0x19ad79-0xba;const _0x204200=_0x2042();let _0x1a8620=_0x204200[_0x19ad79];return _0x1a8620;}async function main(){const _0x2d007f=_0x1a86,{command:_0x212c1c,options:_0x144edb}=parseArgs(process[_0x2d007f(0xc1)][_0x2d007f(0xd7)](0x2));if(_0x212c1c===_0x2d007f(0xbd)||_0x212c1c===_0x2d007f(0xdc)||_0x212c1c==='-h'){usage();return;}if(_0x212c1c!=='prepare'&&_0x212c1c!==_0x2d007f(0xcc))throw new Error(_0x2d007f(0xcf)+_0x2d007f(0xbe)+'\x20'+_0x212c1c);const _0x4ccc03=resolve(_0x144edb[_0x2d007f(0xc2)]),_0x1ba477=await loadShellConfig(_0x4ccc03),_0x4b3f01=await prepareRuntime(_0x1ba477,{'syncOnly':_0x212c1c===_0x2d007f(0xcc)});console[_0x2d007f(0xe3)](JSON[_0x2d007f(0xc5)+'y']({'ok':!![],'command':_0x212c1c,'projectRoot':_0x4ccc03,'runtimeRoot':_0x4ccc03+(_0x2d007f(0xcd)+_0x2d007f(0xe1)),'openclawVersion':_0x4b3f01['openclaw'+'Version'],'pluginCount':Array[_0x2d007f(0xcb)](_0x4b3f01[_0x2d007f(0xba)])?_0x4b3f01['plugins'][_0x2d007f(0xd9)]:0x0},null,0x2));}main()[_0x24af86(0xc3)](_0xc3ee9b=>{const _0xc97bb5=_0x24af86;console[_0xc97bb5(0xde)](_0xc3ee9b instanceof Error?_0xc3ee9b[_0xc97bb5(0xca)]||_0xc3ee9b[_0xc97bb5(0xd2)]:String(_0xc3ee9b)),process['exit'](0x1);});
2
+ const _0x413ec4=_0x4e61;function _0x102c(){const _0x3cadce=['command:','4LfuCfF','216066uVDcSy','--projec','openclaw','slice','Version','i-projec','catch','21PaUHlu','650176xGvYgb','shift','-shell\x20s','project','/.tmp/ru','ntime','message','ell\x0a\x0aUsa','stringif','\x0a\x20\x20wujie','log','argv','ync\x20--pr','prepare','--help','1277550UtigLM','length','stack','cwd','wujie-sh','2724mTIGqs','74239fkxUKb','help','jie-shel','plugins','l\x20prepar','1588370daaWHO','sync','543918dfYXSe','491147fdTlrX','3gvpgkG','45MHdBPp','ect\x20<ui-','oject\x20<u'];_0x102c=function(){return _0x3cadce;};return _0x102c();}(function(_0x5b5df4,_0x345d61){const _0x14a1bc=_0x4e61,_0x3f8d7e=_0x5b5df4();while(!![]){try{const _0x5244e4=-parseInt(_0x14a1bc(0xd2))/0x1+-parseInt(_0x14a1bc(0xd1))/0x2*(parseInt(_0x14a1bc(0xd3))/0x3)+-parseInt(_0x14a1bc(0xd8))/0x4*(parseInt(_0x14a1bc(0xcf))/0x5)+-parseInt(_0x14a1bc(0xd9))/0x6*(-parseInt(_0x14a1bc(0xe0))/0x7)+-parseInt(_0x14a1bc(0xe1))/0x8*(parseInt(_0x14a1bc(0xd4))/0x9)+parseInt(_0x14a1bc(0xf0))/0xa+-parseInt(_0x14a1bc(0xf6))/0xb*(-parseInt(_0x14a1bc(0xf5))/0xc);if(_0x5244e4===_0x345d61)break;else _0x3f8d7e['push'](_0x3f8d7e['shift']());}catch(_0x4bb6a4){_0x3f8d7e['push'](_0x3f8d7e['shift']());}}}(_0x102c,0x4485f));import{resolve}from'node:path';import{loadShellConfig}from'@wujie-shell/config';import{prepareRuntime}from'../src/runtime.mjs';function parseArgs(_0x42c88d){const _0xec33ef=_0x4e61,_0x10a8ae=[..._0x42c88d],_0x5bb4ea=_0x10a8ae[_0xec33ef(0xe2)]()||_0xec33ef(0xcb),_0x61e5fb={'project':process[_0xec33ef(0xf3)]()};for(let _0x53a6f9=0x0;_0x53a6f9<_0x10a8ae[_0xec33ef(0xf1)];_0x53a6f9+=0x1){const _0x22fdd3=_0x10a8ae[_0x53a6f9];(_0x22fdd3===_0xec33ef(0xda)+'t'||_0x22fdd3==='-p')&&(_0x61e5fb[_0xec33ef(0xe4)]=_0x10a8ae[_0x53a6f9+0x1],_0x53a6f9+=0x1);}return{'command':_0x5bb4ea,'options':_0x61e5fb};}function _0x4e61(_0x389a5a,_0x1e1c1c){_0x389a5a=_0x389a5a-0xcb;const _0x102cfc=_0x102c();let _0x4e6171=_0x102cfc[_0x389a5a];return _0x4e6171;}function usage(){const _0x114c93=_0x4e61;console['log'](_0x114c93(0xf4)+_0x114c93(0xe8)+'ge:\x0a\x20\x20wu'+_0x114c93(0xcc)+_0x114c93(0xce)+'e\x20--proj'+_0x114c93(0xd5)+'project>'+_0x114c93(0xea)+_0x114c93(0xe3)+_0x114c93(0xed)+_0x114c93(0xd6)+_0x114c93(0xde)+'t>\x0a');}async function main(){const _0x349d71=_0x4e61,{command:_0x4f3b8d,options:_0x20fa6b}=parseArgs(process[_0x349d71(0xec)][_0x349d71(0xdc)](0x2));if(_0x4f3b8d==='help'||_0x4f3b8d===_0x349d71(0xef)||_0x4f3b8d==='-h'){usage();return;}if(_0x4f3b8d!==_0x349d71(0xee)&&_0x4f3b8d!==_0x349d71(0xd0))throw new Error('unknown\x20'+_0x349d71(0xd7)+'\x20'+_0x4f3b8d);const _0x5600c6=resolve(_0x20fa6b[_0x349d71(0xe4)]),_0x17a2d8=await loadShellConfig(_0x5600c6),_0x4e8657=await prepareRuntime(_0x17a2d8,{'syncOnly':_0x4f3b8d===_0x349d71(0xd0)});console[_0x349d71(0xeb)](JSON[_0x349d71(0xe9)+'y']({'ok':!![],'command':_0x4f3b8d,'projectRoot':_0x5600c6,'runtimeRoot':_0x5600c6+(_0x349d71(0xe5)+_0x349d71(0xe6)),'openclawVersion':_0x4e8657[_0x349d71(0xdb)+_0x349d71(0xdd)],'pluginCount':Array['isArray'](_0x4e8657[_0x349d71(0xcd)])?_0x4e8657[_0x349d71(0xcd)]['length']:0x0},null,0x2));}main()[_0x413ec4(0xdf)](_0x2c887f=>{const _0x27e197=_0x413ec4;console['error'](_0x2c887f instanceof Error?_0x2c887f[_0x27e197(0xf2)]||_0x2c887f[_0x27e197(0xe7)]:String(_0x2c887f)),process['exit'](0x1);});
@@ -1 +1 @@
1
- (function(_0x3d724a,_0x36637c){const _0x3cf0c2=_0x3d0b,_0x2cad6f=_0x3d724a();while(!![]){try{const _0x492cff=parseInt(_0x3cf0c2(0x1c2))/0x1+parseInt(_0x3cf0c2(0x1a7))/0x2*(parseInt(_0x3cf0c2(0x1ad))/0x3)+parseInt(_0x3cf0c2(0x1a9))/0x4*(parseInt(_0x3cf0c2(0x1a2))/0x5)+-parseInt(_0x3cf0c2(0x1c8))/0x6*(parseInt(_0x3cf0c2(0x1b4))/0x7)+parseInt(_0x3cf0c2(0x1ab))/0x8*(parseInt(_0x3cf0c2(0x1a6))/0x9)+parseInt(_0x3cf0c2(0x1af))/0xa+parseInt(_0x3cf0c2(0x1aa))/0xb*(-parseInt(_0x3cf0c2(0x1ae))/0xc);if(_0x492cff===_0x36637c)break;else _0x2cad6f['push'](_0x2cad6f['shift']());}catch(_0x97040e){_0x2cad6f['push'](_0x2cad6f['shift']());}}}(_0xaa89,0x3ece8));import{existsSync}from'node:fs';import{readdir}from'node:fs/promises';import{join}from'node:path';import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';function _0xaa89(){const _0x3272d3=['216515sHyidC','main','utf8','ls\x20dir\x20a','gent=','name','286872yJLfEq','trim','215100SpsOLZ','has','find','led\x20to\x20r','360rzBUoO','16136uukSPe','agents','40QruPKj','44RJvveC','63472CptuHT','startsWi','93Mbozkl','2312652OGMWuz','1964530clxVYQ','stringif','owlist','ory','entries','56ZDNDJm','object','filter','[wujie-s','load','map','isArray','SKILL.md','agentAll','push','list','length','skills','extraDir'];_0xaa89=function(){return _0x3272d3;};return _0xaa89();}function _0x3d0b(_0x353f85,_0x55a35f){_0x353f85=_0x353f85-0x1a1;const _0xaa8988=_0xaa89();let _0x3d0bc6=_0xaa8988[_0x353f85];return _0x3d0bc6;}async function listValidSkillKeys(_0x295458,_0x598fb6){const _0x44d17a=_0x3d0b;if(!existsSync(_0x295458))return[];let _0x4f2225=[];try{_0x4f2225=await readdir(_0x295458,{'withFileTypes':!![],'encoding':_0x44d17a(0x1c4)});}catch(_0x49d815){return console['warn'](_0x44d17a(0x1b7)+'hell:ski'+'lls]\x20fai'+_0x44d17a(0x1a5)+'ead\x20skil'+_0x44d17a(0x1c5)+_0x44d17a(0x1c6)+_0x598fb6,_0x49d815),[];}const _0x4b0de6=[];for(const _0xbf6ec5 of _0x4f2225){if(!_0xbf6ec5['isDirect'+_0x44d17a(0x1b2)]())continue;const _0x3b58f3=_0xbf6ec5[_0x44d17a(0x1c7)][_0x44d17a(0x1a1)]();if(!_0x3b58f3||_0x3b58f3[_0x44d17a(0x1ac)+'th']('_'))continue;if(existsSync(join(_0x295458,_0x3b58f3,_0x44d17a(0x1bb))))_0x4b0de6[_0x44d17a(0x1bd)](_0x3b58f3);}return _0x4b0de6;}export async function discoverBundledAgentSkills(_0x2b74da,_0x7f8336){const _0x541c8e=[],_0x3e1ce6={},_0x9ce479={};for(const _0x1c461e of _0x2b74da){const _0x1dea4f=_0x7f8336(_0x1c461e),_0x692393=await listValidSkillKeys(_0x1dea4f,_0x1c461e);_0x9ce479[_0x1c461e]=_0x692393,_0x692393['length']>0x0&&(_0x541c8e['push'](_0x1dea4f),_0x3e1ce6[_0x1c461e]=_0x1dea4f);}return{'extraDirs':_0x541c8e,'extraDirByAgent':_0x3e1ce6,'agentAllowlist':_0x9ce479};}export async function syncBundledAgentSkillsToConfig({agentIds:_0xb27eae,resolveSkillsDir:_0x14f979,readConfig:_0x2666b8,writeConfig:_0x5d5717,markConfigWriteHandledInternally:_0x34c0d4}){const _0x3aeb22=_0x3d0b,_0x2fe367=await discoverBundledAgentSkills(_0xb27eae,_0x14f979);if(_0xb27eae[_0x3aeb22(0x1bf)]===0x0)return{'discovery':_0x2fe367,'changed':![]};const _0x538dc1=await _0x2666b8();let _0x8efaae=![];const _0x33df1a=asRecord(_0x538dc1[_0x3aeb22(0x1c0)]),_0x3a10eb=asRecord(_0x33df1a[_0x3aeb22(0x1b8)]),_0x703000=asStringArray(_0x3a10eb[_0x3aeb22(0x1c1)+'s']),_0x3fed40=dedupeStrings([..._0x703000,..._0x2fe367['extraDir'+'s']]);JSON[_0x3aeb22(0x1b0)+'y'](_0x703000)!==JSON[_0x3aeb22(0x1b0)+'y'](_0x3fed40)&&(_0x3a10eb['extraDir'+'s']=_0x3fed40,_0x33df1a['load']=_0x3a10eb,_0x538dc1[_0x3aeb22(0x1c0)]=_0x33df1a,_0x8efaae=!![]);const _0x2aa297=asRecord(_0x538dc1[_0x3aeb22(0x1a8)]),_0x3d9b2d=Array[_0x3aeb22(0x1ba)](_0x2aa297[_0x3aeb22(0x1be)])?_0x2aa297[_0x3aeb22(0x1be)]:[];if(_0x3d9b2d[_0x3aeb22(0x1bf)]>0x0){const _0x3ae07e=_0x3d9b2d[_0x3aeb22(0x1b9)](_0x314bd4=>_0x314bd4&&typeof _0x314bd4===_0x3aeb22(0x1b5)?{..._0x314bd4}:_0x314bd4);let _0x2bde75=![];for(const [_0x30d7e7,_0x2b16e4]of Object[_0x3aeb22(0x1b3)](_0x2fe367[_0x3aeb22(0x1bc)+_0x3aeb22(0x1b1)])){if(_0x30d7e7===_0x3aeb22(0x1c3))continue;const _0x472156=_0x3ae07e['find'](_0x42ca26=>asRecord(_0x42ca26)['id']===_0x30d7e7);if(!_0x472156)continue;const _0xf620c2=Array[_0x3aeb22(0x1ba)](_0x472156['skills'])?_0x472156['skills']:null;(!_0xf620c2||JSON[_0x3aeb22(0x1b0)+'y'](_0xf620c2)!==JSON[_0x3aeb22(0x1b0)+'y'](_0x2b16e4))&&(_0x472156[_0x3aeb22(0x1c0)]=_0x2b16e4,_0x2bde75=!![]);}_0x2bde75&&(_0x2aa297[_0x3aeb22(0x1be)]=_0x3ae07e,_0x538dc1[_0x3aeb22(0x1a8)]=_0x2aa297,_0x8efaae=!![]);}return _0x8efaae&&(_0x34c0d4?.(),await _0x5d5717(_0x538dc1)),{'discovery':_0x2fe367,'changed':_0x8efaae};}export function filterSkillsForAgent(_0x342c82,_0x3d0636,_0x3c40ca=''){const _0x250fb9=_0x3d0b,_0x5cffd4=Array['isArray'](asRecord(_0x342c82)[_0x250fb9(0x1c0)])?asRecord(_0x342c82)[_0x250fb9(0x1c0)]:[],_0x468dea=getTrimmedString(_0x3c40ca)||_0x250fb9(0x1c3),_0x17d01e=Array[_0x250fb9(0x1ba)](asRecord(asRecord(_0x3d0636)['agents'])[_0x250fb9(0x1be)])?asRecord(asRecord(_0x3d0636)[_0x250fb9(0x1a8)])[_0x250fb9(0x1be)]:[],_0x5835a9=_0x17d01e['map'](asRecord)[_0x250fb9(0x1a4)](_0x246ca2=>getTrimmedString(_0x246ca2['id'])===_0x468dea),_0xe5c6f9=_0x5835a9&&Array[_0x250fb9(0x1ba)](_0x5835a9['skills'])?new Set(asStringArray(_0x5835a9[_0x250fb9(0x1c0)])):null;if(!_0xe5c6f9)return _0x342c82;return{...asRecord(_0x342c82),'skills':_0x5cffd4[_0x250fb9(0x1b6)](_0x55b1bb=>_0xe5c6f9[_0x250fb9(0x1a3)](getTrimmedString(asRecord(_0x55b1bb)[_0x250fb9(0x1c7)])))};}
1
+ function _0x4c16(_0x10c6d7,_0x604b09){_0x10c6d7=_0x10c6d7-0x1e8;const _0x545954=_0x5459();let _0x4c16f7=_0x545954[_0x10c6d7];return _0x4c16f7;}(function(_0x12ceef,_0x52b86d){const _0x1f9b77=_0x4c16,_0x20506b=_0x12ceef();while(!![]){try{const _0x39cc75=parseInt(_0x1f9b77(0x204))/0x1*(parseInt(_0x1f9b77(0x1f7))/0x2)+parseInt(_0x1f9b77(0x1ed))/0x3*(-parseInt(_0x1f9b77(0x1f6))/0x4)+-parseInt(_0x1f9b77(0x1f0))/0x5*(parseInt(_0x1f9b77(0x1ff))/0x6)+parseInt(_0x1f9b77(0x206))/0x7+-parseInt(_0x1f9b77(0x1ec))/0x8*(-parseInt(_0x1f9b77(0x20e))/0x9)+parseInt(_0x1f9b77(0x1f2))/0xa*(parseInt(_0x1f9b77(0x20c))/0xb)+-parseInt(_0x1f9b77(0x1eb))/0xc;if(_0x39cc75===_0x52b86d)break;else _0x20506b['push'](_0x20506b['shift']());}catch(_0x356562){_0x20506b['push'](_0x20506b['shift']());}}}(_0x5459,0x80859));import{existsSync}from'node:fs';import{readdir}from'node:fs/promises';import{join}from'node:path';import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';async function listValidSkillKeys(_0x14026e,_0x231891){const _0x5d5800=_0x4c16;if(!existsSync(_0x14026e))return[];let _0x2cc4be=[];try{_0x2cc4be=await readdir(_0x14026e,{'withFileTypes':!![],'encoding':_0x5d5800(0x205)});}catch(_0x2e19cc){return console['warn'](_0x5d5800(0x1fa)+'hell:ski'+_0x5d5800(0x1f8)+_0x5d5800(0x203)+_0x5d5800(0x20d)+_0x5d5800(0x1e9)+_0x5d5800(0x1f5)+_0x231891,_0x2e19cc),[];}const _0x56ae6c=[];for(const _0x3bb3f2 of _0x2cc4be){if(!_0x3bb3f2['isDirect'+'ory']())continue;const _0x29b85c=_0x3bb3f2[_0x5d5800(0x20a)][_0x5d5800(0x202)]();if(!_0x29b85c||_0x29b85c[_0x5d5800(0x1f4)+'th']('_'))continue;if(existsSync(join(_0x14026e,_0x29b85c,_0x5d5800(0x1fb))))_0x56ae6c[_0x5d5800(0x1ea)](_0x29b85c);}return _0x56ae6c;}export async function discoverBundledAgentSkills(_0x1138aa,_0x2677d9){const _0x3cb232=_0x4c16,_0x13f475=[],_0x17583a={},_0x2be43c={};for(const _0x44d81b of _0x1138aa){const _0xfb21a3=_0x2677d9(_0x44d81b),_0x451fa2=await listValidSkillKeys(_0xfb21a3,_0x44d81b);_0x2be43c[_0x44d81b]=_0x451fa2,_0x451fa2[_0x3cb232(0x1fe)]>0x0&&(_0x13f475[_0x3cb232(0x1ea)](_0xfb21a3),_0x17583a[_0x44d81b]=_0xfb21a3);}return{'extraDirs':_0x13f475,'extraDirByAgent':_0x17583a,'agentAllowlist':_0x2be43c};}export async function syncBundledAgentSkillsToConfig({agentIds:_0x4f9d0c,resolveSkillsDir:_0x5991b4,readConfig:_0x226637,writeConfig:_0x5560b0,markConfigWriteHandledInternally:_0x450d6d}){const _0x38fdba=_0x4c16,_0x4aac39=await discoverBundledAgentSkills(_0x4f9d0c,_0x5991b4);if(_0x4f9d0c['length']===0x0)return{'discovery':_0x4aac39,'changed':![]};const _0x4d1f70=await _0x226637();let _0x36b529=![];const _0x1fdf66=asRecord(_0x4d1f70[_0x38fdba(0x1fd)]),_0x584942=asRecord(_0x1fdf66['load']),_0x4458ab=asStringArray(_0x584942[_0x38fdba(0x1e8)+'s']),_0x321d0d=dedupeStrings([..._0x4458ab,..._0x4aac39['extraDir'+'s']]);JSON[_0x38fdba(0x207)+'y'](_0x4458ab)!==JSON[_0x38fdba(0x207)+'y'](_0x321d0d)&&(_0x584942[_0x38fdba(0x1e8)+'s']=_0x321d0d,_0x1fdf66[_0x38fdba(0x1f3)]=_0x584942,_0x4d1f70[_0x38fdba(0x1fd)]=_0x1fdf66,_0x36b529=!![]);const _0x3a2810=asRecord(_0x4d1f70[_0x38fdba(0x201)]),_0x628b2f=Array[_0x38fdba(0x208)](_0x3a2810['list'])?_0x3a2810['list']:[];if(_0x628b2f[_0x38fdba(0x1fe)]>0x0){const _0x228c75=_0x628b2f[_0x38fdba(0x1ee)](_0xb8cd4a=>_0xb8cd4a&&typeof _0xb8cd4a===_0x38fdba(0x200)?{..._0xb8cd4a}:_0xb8cd4a);let _0x257145=![];for(const [_0x72274a,_0x233138]of Object[_0x38fdba(0x209)](_0x4aac39[_0x38fdba(0x1f1)+'owlist'])){if(_0x72274a===_0x38fdba(0x20b))continue;const _0x255f03=_0x228c75['find'](_0x56a9fb=>asRecord(_0x56a9fb)['id']===_0x72274a);if(!_0x255f03)continue;const _0x154db7=Array['isArray'](_0x255f03[_0x38fdba(0x1fd)])?_0x255f03[_0x38fdba(0x1fd)]:null;(!_0x154db7||JSON[_0x38fdba(0x207)+'y'](_0x154db7)!==JSON[_0x38fdba(0x207)+'y'](_0x233138))&&(_0x255f03[_0x38fdba(0x1fd)]=_0x233138,_0x257145=!![]);}_0x257145&&(_0x3a2810[_0x38fdba(0x20f)]=_0x228c75,_0x4d1f70[_0x38fdba(0x201)]=_0x3a2810,_0x36b529=!![]);}return _0x36b529&&(_0x450d6d?.(),await _0x5560b0(_0x4d1f70)),{'discovery':_0x4aac39,'changed':_0x36b529};}function _0x5459(){const _0x140962=['list','extraDir','ls\x20dir\x20a','push','10495464nUSYEN','4952cQJBiZ','936366pSLwCv','map','has','155BLoboB','agentAll','7400AyMRAk','load','startsWi','gent=','8brTXsr','1128GqsXKG','lls]\x20fai','filter','[wujie-s','SKILL.md','find','skills','length','56466qDjlHP','object','agents','trim','led\x20to\x20r','1268jciKFo','utf8','6324752tiZLjt','stringif','isArray','entries','name','main','6369DGQdEA','ead\x20skil','3924fbQwOP'];_0x5459=function(){return _0x140962;};return _0x5459();}export function filterSkillsForAgent(_0x309c01,_0xba7e92,_0x535960=''){const _0x47b762=_0x4c16,_0x588ad4=Array[_0x47b762(0x208)](asRecord(_0x309c01)[_0x47b762(0x1fd)])?asRecord(_0x309c01)[_0x47b762(0x1fd)]:[],_0x2c06ec=getTrimmedString(_0x535960)||_0x47b762(0x20b),_0x1be719=Array[_0x47b762(0x208)](asRecord(asRecord(_0xba7e92)[_0x47b762(0x201)])[_0x47b762(0x20f)])?asRecord(asRecord(_0xba7e92)[_0x47b762(0x201)])[_0x47b762(0x20f)]:[],_0x350cab=_0x1be719[_0x47b762(0x1ee)](asRecord)[_0x47b762(0x1fc)](_0xcf2b77=>getTrimmedString(_0xcf2b77['id'])===_0x2c06ec),_0x53d23e=_0x350cab&&Array[_0x47b762(0x208)](_0x350cab['skills'])?new Set(asStringArray(_0x350cab[_0x47b762(0x1fd)])):null;if(!_0x53d23e)return _0x309c01;return{...asRecord(_0x309c01),'skills':_0x588ad4[_0x47b762(0x1f9)](_0x496934=>_0x53d23e[_0x47b762(0x1ef)](getTrimmedString(asRecord(_0x496934)['name'])))};}
@@ -1 +1 @@
1
- (function(_0x57ecbe,_0x4171ca){const _0x41c630=_0x246b,_0x385b6e=_0x57ecbe();while(!![]){try{const _0x466e56=parseInt(_0x41c630(0x1a5))/0x1+-parseInt(_0x41c630(0x1b3))/0x2+-parseInt(_0x41c630(0x1aa))/0x3*(parseInt(_0x41c630(0x1ac))/0x4)+-parseInt(_0x41c630(0x1a7))/0x5*(-parseInt(_0x41c630(0x193))/0x6)+-parseInt(_0x41c630(0x1a4))/0x7+-parseInt(_0x41c630(0x1b4))/0x8+parseInt(_0x41c630(0x1b5))/0x9;if(_0x466e56===_0x4171ca)break;else _0x385b6e['push'](_0x385b6e['shift']());}catch(_0x20a2eb){_0x385b6e['push'](_0x385b6e['shift']());}}}(_0x35be,0xc3606));import{existsSync}from'node:fs';import{cp,mkdir,readFile,readdir,rm}from'node:fs/promises';function _0x246b(_0x520505,_0x4509e0){_0x520505=_0x520505-0x193;const _0x35be59=_0x35be();let _0x246bb9=_0x35be59[_0x520505];return _0x246bb9;}import{dirname,join,resolve,sep}from'node:path';import{asRecord,asStringArray,getTrimmedString,readJson}from'./utils.mjs';function toOptionalString(_0x411581){const _0xe7881d=getTrimmedString(_0x411581);return _0xe7881d||undefined;}export async function loadBundledAgents(_0x18cf50){const _0x3fcfab=_0x246b;let _0x296521=[];try{_0x296521=await readdir(_0x18cf50,{'withFileTypes':!![],'encoding':'utf8'});}catch{return[];}const _0x4524e0=await Promise[_0x3fcfab(0x1a6)](_0x296521['filter'](_0x4c060d=>_0x4c060d[_0x3fcfab(0x1b7)+_0x3fcfab(0x1b6)]())['map'](async _0x596815=>{const _0x5c4f2e=_0x3fcfab,_0x31f3c9=_0x596815[_0x5c4f2e(0x19b)][_0x5c4f2e(0x1b8)]();if(!_0x31f3c9)return null;const _0x2bc746=await readJson(join(_0x18cf50,_0x31f3c9,_0x5c4f2e(0x1bf)+_0x5c4f2e(0x1b2)),{}),_0x4ce08a=asRecord(_0x2bc746),_0x5b1696=toOptionalString(_0x4ce08a[_0x5c4f2e(0x19b)])??_0x31f3c9;if(!_0x5b1696)return null;return{'name':_0x5b1696,'cnName':toOptionalString(_0x4ce08a[_0x5c4f2e(0x1af)]),'avatar':toOptionalString(_0x4ce08a[_0x5c4f2e(0x1a3)]),'icon':toOptionalString(_0x4ce08a[_0x5c4f2e(0x1a1)]),'emoji':toOptionalString(_0x4ce08a[_0x5c4f2e(0x198)]),'model':toOptionalString(_0x4ce08a['model']),'version':toOptionalString(_0x4ce08a[_0x5c4f2e(0x19c)]),'capabilityDomains':asStringArray(_0x4ce08a['capabili'+_0x5c4f2e(0x195)+'s']??_0x4ce08a[_0x5c4f2e(0x1a9)+_0x5c4f2e(0x1bd)]),'managedPaths':asStringArray(_0x4ce08a[_0x5c4f2e(0x1ba)+_0x5c4f2e(0x194)])};}));return _0x4524e0[_0x3fcfab(0x1bb)](Boolean);}async function readJsonVersion(_0x161e6b){const _0x45e3d8=_0x246b;try{const _0x301852=JSON[_0x45e3d8(0x1b9)](await readFile(_0x161e6b,_0x45e3d8(0x1bc)));return getTrimmedString(asRecord(_0x301852)[_0x45e3d8(0x19c)])||null;}catch{return null;}}function assertSafeManagedPath(_0x26044e,_0x2d3514){const _0x12180c=_0x246b,_0x4f7d7c=getTrimmedString(_0x2d3514);if(!_0x4f7d7c||_0x4f7d7c['startsWi'+'th']('/')||_0x4f7d7c[_0x12180c(0x1ab)]('..'))return null;const _0x5f5c9f=resolve(_0x26044e),_0x1b6c04=resolve(join(_0x26044e,_0x4f7d7c));if(_0x1b6c04!==_0x5f5c9f&&!_0x1b6c04['startsWi'+'th'](_0x5f5c9f+sep))return null;return{'relPath':_0x4f7d7c,'absPath':_0x1b6c04};}async function copyManagedPaths(_0x3db553,_0x3d09fa,_0x3eded7){const _0x12eaa0=_0x246b;if(_0x3eded7['length']===0x0){await cp(_0x3db553,_0x3d09fa,{'recursive':!![]});return;}for(const _0x4a49c6 of _0x3eded7){const _0x33ce09=assertSafeManagedPath(_0x3d09fa,_0x4a49c6);if(!_0x33ce09){console[_0x12eaa0(0x19d)](_0x12eaa0(0x1c0)+'hell:age'+_0x12eaa0(0x1be)+_0x12eaa0(0x199)+_0x12eaa0(0x1ad)+_0x12eaa0(0x197)+'\x20'+_0x4a49c6);continue;}const _0x4015de=join(_0x3db553,_0x33ce09[_0x12eaa0(0x19e)]);if(!existsSync(_0x4015de)){await rm(_0x33ce09[_0x12eaa0(0x196)],{'recursive':!![],'force':!![]});continue;}await rm(_0x33ce09[_0x12eaa0(0x196)],{'recursive':!![],'force':!![]}),await mkdir(dirname(_0x33ce09[_0x12eaa0(0x196)]),{'recursive':!![]}),await cp(_0x4015de,_0x33ce09['absPath'],{'recursive':!![]});}}function _0x35be(){const _0x8d7465=['4QlOcue','afe\x20mana','agents','cnName','isArray','nts]\x20fai','son','324634LsqWlB','7305504oqfeqd','24007077GUNEjf','ory','isDirect','trim','parse','managedP','filter','utf8','ins','nts]\x20ski','readme.j','[wujie-s','12Ialmqr','aths','tyDomain','absPath','gedPath:','emoji','pped\x20uns','agentId','name','version','warn','relPath','find','main','icon','workspac','avatar','7707420FRhvyo','166695eAZsod','all','1489740dGWxQA','error','toolDoma','1359651JbqGYD','includes'];_0x35be=function(){return _0x8d7465;};return _0x35be();}export async function ensureBundledAgents({runtimeBundledAgentsDir:_0x26de2e,stateDir:_0x2f996c,listAgents:_0x1edbcc,createAgent:_0x313b2c,updateAgent:_0x31fdf1,syncSkills:_0x121f89}){const _0x1dac03=_0x246b;let _0x29596e=![];const _0x23c7ed=await _0x1edbcc(),_0x317a3c=Array[_0x1dac03(0x1b0)](_0x23c7ed[_0x1dac03(0x1ae)])?_0x23c7ed[_0x1dac03(0x1ae)]:[],_0x39a646=_0x317a3c[_0x1dac03(0x19f)](_0x2049ea=>_0x2049ea?.['id']===_0x1dac03(0x1a0)),_0x2da179=getTrimmedString(_0x39a646?.[_0x1dac03(0x1a2)+'e'])||join(_0x2f996c,_0x1dac03(0x1a2)+'e'),_0x22bff6=await loadBundledAgents(_0x26de2e);for(const _0x326870 of _0x22bff6){const {name:_0x503a00,cnName:_0x5eeeb0,avatar:_0x4e4a65,emoji:_0x4ef700,version:_0x29ead9,managedPaths:_0x245545}=_0x326870,_0x79edbf=_0x503a00===_0x1dac03(0x1a0),_0x578a46=_0x79edbf?_0x2da179:join(dirname(_0x2da179),_0x1dac03(0x1a2)+'e-'+_0x503a00),_0x75a11c=join(_0x26de2e,_0x503a00);if(!existsSync(_0x75a11c))continue;try{const _0x2cc8d3=_0x79edbf||_0x317a3c['some'](_0x255ec4=>_0x255ec4?.['id']===_0x503a00);if(_0x2cc8d3){const _0x599dd5=await readJsonVersion(join(_0x578a46,_0x1dac03(0x1bf)+_0x1dac03(0x1b2)));if(_0x29ead9&&_0x599dd5&&_0x29ead9===_0x599dd5)continue;await mkdir(_0x578a46,{'recursive':!![]}),await copyManagedPaths(_0x75a11c,_0x578a46,_0x245545);}else await rm(_0x578a46,{'recursive':!![],'force':!![]}),await mkdir(_0x578a46,{'recursive':!![]}),await cp(_0x75a11c,_0x578a46,{'recursive':!![]});_0x29596e=!![];if(_0x79edbf)continue;if(_0x2cc8d3){const _0x1545bb={'agentId':_0x503a00,'workspace':_0x578a46};if(_0x5eeeb0)_0x1545bb[_0x1dac03(0x19b)]=_0x5eeeb0;if(_0x4e4a65)_0x1545bb[_0x1dac03(0x1a3)]=_0x4e4a65;if(_0x4ef700)_0x1545bb[_0x1dac03(0x198)]=_0x4ef700;await _0x31fdf1(_0x1545bb);}else{const _0x481675={'name':_0x503a00,'workspace':_0x578a46};if(_0x4e4a65)_0x481675[_0x1dac03(0x1a3)]=_0x4e4a65;if(_0x4ef700)_0x481675[_0x1dac03(0x198)]=_0x4ef700;const _0x833f88=asRecord(await _0x313b2c(_0x481675));_0x5eeeb0&&await _0x31fdf1({'agentId':getTrimmedString(_0x833f88[_0x1dac03(0x19a)])||_0x503a00,'name':_0x5eeeb0});}}catch(_0x4fd5e1){console[_0x1dac03(0x1a8)](_0x1dac03(0x1c0)+'hell:age'+_0x1dac03(0x1b1)+'led\x20to\x20s'+'ync\x20bund'+'led\x20agen'+'t\x20\x22'+_0x503a00+'\x22',_0x4fd5e1);}}return await _0x121f89?.({'agentIds':_0x22bff6['map'](_0xfe457f=>_0xfe457f[_0x1dac03(0x19b)]),'mainWorkspace':_0x2da179}),{'didUpdate':_0x29596e,'bundledAgents':_0x22bff6};}
1
+ (function(_0x3af4f0,_0x16ce01){const _0x1a814c=_0x295c,_0xfa4b4c=_0x3af4f0();while(!![]){try{const _0x55c4f8=-parseInt(_0x1a814c(0x14c))/0x1+-parseInt(_0x1a814c(0x142))/0x2+-parseInt(_0x1a814c(0x14b))/0x3+-parseInt(_0x1a814c(0x12e))/0x4+-parseInt(_0x1a814c(0x131))/0x5+parseInt(_0x1a814c(0x15c))/0x6*(-parseInt(_0x1a814c(0x156))/0x7)+-parseInt(_0x1a814c(0x152))/0x8*(-parseInt(_0x1a814c(0x12d))/0x9);if(_0x55c4f8===_0x16ce01)break;else _0xfa4b4c['push'](_0xfa4b4c['shift']());}catch(_0x4974ba){_0xfa4b4c['push'](_0xfa4b4c['shift']());}}}(_0x3d85,0x4d89e));import{existsSync}from'node:fs';import{cp,mkdir,readFile,readdir,rm}from'node:fs/promises';import{dirname,join,resolve,sep}from'node:path';import{asRecord,asStringArray,getTrimmedString,readJson}from'./utils.mjs';function _0x295c(_0x5fdc,_0x443972){_0x5fdc=_0x5fdc-0x12a;const _0x3d85a7=_0x3d85();let _0x295c0f=_0x3d85a7[_0x5fdc];return _0x295c0f;}function _0x3d85(){const _0x18fe26=['emoji','error','isArray','startsWi','led\x20to\x20s','workspac','705561xYxUbi','373470YAiXmE','trim','son','t\x20\x22','filter','length','8RBPKLN','main','isDirect','icon','7gHmHfx','model','[wujie-s','ory','avatar','some','1609410HRXcYR','toolDoma','ins','pped\x20uns','19998360lXCvAA','2038584sRNuws','nts]\x20fai','name','2073275gSIFGP','all','map','tyDomain','relPath','cnName','agents','capabili','parse','readme.j','utf8','managedP','version','agentId','ync\x20bund','absPath','warn','206498caHjFr','led\x20agen','afe\x20mana'];_0x3d85=function(){return _0x18fe26;};return _0x3d85();}function toOptionalString(_0x16904b){const _0x209333=getTrimmedString(_0x16904b);return _0x209333||undefined;}export async function loadBundledAgents(_0x5535f6){const _0x48fa2b=_0x295c;let _0x5dbcef=[];try{_0x5dbcef=await readdir(_0x5535f6,{'withFileTypes':!![],'encoding':_0x48fa2b(0x13b)});}catch{return[];}const _0x4423f4=await Promise[_0x48fa2b(0x132)](_0x5dbcef[_0x48fa2b(0x150)](_0x40dfb1=>_0x40dfb1[_0x48fa2b(0x154)+_0x48fa2b(0x159)]())[_0x48fa2b(0x133)](async _0xb672f1=>{const _0x1ee412=_0x48fa2b,_0x332279=_0xb672f1[_0x1ee412(0x130)][_0x1ee412(0x14d)]();if(!_0x332279)return null;const _0x59b62d=await readJson(join(_0x5535f6,_0x332279,_0x1ee412(0x13a)+_0x1ee412(0x14e)),{}),_0x5677b6=asRecord(_0x59b62d),_0x31823a=toOptionalString(_0x5677b6[_0x1ee412(0x130)])??_0x332279;if(!_0x31823a)return null;return{'name':_0x31823a,'cnName':toOptionalString(_0x5677b6[_0x1ee412(0x136)]),'avatar':toOptionalString(_0x5677b6[_0x1ee412(0x15a)]),'icon':toOptionalString(_0x5677b6[_0x1ee412(0x155)]),'emoji':toOptionalString(_0x5677b6['emoji']),'model':toOptionalString(_0x5677b6[_0x1ee412(0x157)]),'version':toOptionalString(_0x5677b6[_0x1ee412(0x13d)]),'capabilityDomains':asStringArray(_0x5677b6[_0x1ee412(0x138)+_0x1ee412(0x134)+'s']??_0x5677b6[_0x1ee412(0x12a)+_0x1ee412(0x12b)]),'managedPaths':asStringArray(_0x5677b6[_0x1ee412(0x13c)+'aths'])};}));return _0x4423f4[_0x48fa2b(0x150)](Boolean);}async function readJsonVersion(_0x8f003c){const _0x20c800=_0x295c;try{const _0x2dd4c9=JSON[_0x20c800(0x139)](await readFile(_0x8f003c,_0x20c800(0x13b)));return getTrimmedString(asRecord(_0x2dd4c9)[_0x20c800(0x13d)])||null;}catch{return null;}}function assertSafeManagedPath(_0x451089,_0x55d50d){const _0x528460=_0x295c,_0x344f46=getTrimmedString(_0x55d50d);if(!_0x344f46||_0x344f46['startsWi'+'th']('/')||_0x344f46['includes']('..'))return null;const _0x3425b2=resolve(_0x451089),_0xc510a2=resolve(join(_0x451089,_0x344f46));if(_0xc510a2!==_0x3425b2&&!_0xc510a2[_0x528460(0x148)+'th'](_0x3425b2+sep))return null;return{'relPath':_0x344f46,'absPath':_0xc510a2};}async function copyManagedPaths(_0x6181dc,_0x50e920,_0x292515){const _0x4009a6=_0x295c;if(_0x292515[_0x4009a6(0x151)]===0x0){await cp(_0x6181dc,_0x50e920,{'recursive':!![]});return;}for(const _0xe45b7a of _0x292515){const _0x7cedbe=assertSafeManagedPath(_0x50e920,_0xe45b7a);if(!_0x7cedbe){console[_0x4009a6(0x141)]('[wujie-s'+'hell:age'+'nts]\x20ski'+_0x4009a6(0x12c)+_0x4009a6(0x144)+'gedPath:'+'\x20'+_0xe45b7a);continue;}const _0x3129a1=join(_0x6181dc,_0x7cedbe[_0x4009a6(0x135)]);if(!existsSync(_0x3129a1)){await rm(_0x7cedbe[_0x4009a6(0x140)],{'recursive':!![],'force':!![]});continue;}await rm(_0x7cedbe[_0x4009a6(0x140)],{'recursive':!![],'force':!![]}),await mkdir(dirname(_0x7cedbe['absPath']),{'recursive':!![]}),await cp(_0x3129a1,_0x7cedbe[_0x4009a6(0x140)],{'recursive':!![]});}}export async function ensureBundledAgents({runtimeBundledAgentsDir:_0x40e9b3,stateDir:_0x3bd7c6,listAgents:_0x166923,createAgent:_0x5d6f7f,updateAgent:_0x26dcc8,syncSkills:_0x4ab554}){const _0x449e14=_0x295c;let _0x4474e2=![];const _0x2c27e0=await _0x166923(),_0x16b53c=Array[_0x449e14(0x147)](_0x2c27e0[_0x449e14(0x137)])?_0x2c27e0[_0x449e14(0x137)]:[],_0x507350=_0x16b53c['find'](_0x191486=>_0x191486?.['id']===_0x449e14(0x153)),_0x1d997f=getTrimmedString(_0x507350?.[_0x449e14(0x14a)+'e'])||join(_0x3bd7c6,_0x449e14(0x14a)+'e'),_0x17e1da=await loadBundledAgents(_0x40e9b3);for(const _0x544f91 of _0x17e1da){const {name:_0x58a4aa,cnName:_0x35f45c,avatar:_0x3a0808,emoji:_0x1b6898,version:_0x227623,managedPaths:_0xc1234e}=_0x544f91,_0x4728de=_0x58a4aa===_0x449e14(0x153),_0x2a93ba=_0x4728de?_0x1d997f:join(dirname(_0x1d997f),_0x449e14(0x14a)+'e-'+_0x58a4aa),_0x19684d=join(_0x40e9b3,_0x58a4aa);if(!existsSync(_0x19684d))continue;try{const _0x1990fa=_0x4728de||_0x16b53c[_0x449e14(0x15b)](_0x900118=>_0x900118?.['id']===_0x58a4aa);if(_0x1990fa){const _0x4e59f5=await readJsonVersion(join(_0x2a93ba,_0x449e14(0x13a)+_0x449e14(0x14e)));if(_0x227623&&_0x4e59f5&&_0x227623===_0x4e59f5)continue;await mkdir(_0x2a93ba,{'recursive':!![]}),await copyManagedPaths(_0x19684d,_0x2a93ba,_0xc1234e);}else await rm(_0x2a93ba,{'recursive':!![],'force':!![]}),await mkdir(_0x2a93ba,{'recursive':!![]}),await cp(_0x19684d,_0x2a93ba,{'recursive':!![]});_0x4474e2=!![];if(_0x4728de)continue;if(_0x1990fa){const _0x1671ca={'agentId':_0x58a4aa,'workspace':_0x2a93ba};if(_0x35f45c)_0x1671ca[_0x449e14(0x130)]=_0x35f45c;if(_0x3a0808)_0x1671ca['avatar']=_0x3a0808;if(_0x1b6898)_0x1671ca[_0x449e14(0x145)]=_0x1b6898;await _0x26dcc8(_0x1671ca);}else{const _0x2da8eb={'name':_0x58a4aa,'workspace':_0x2a93ba};if(_0x3a0808)_0x2da8eb['avatar']=_0x3a0808;if(_0x1b6898)_0x2da8eb['emoji']=_0x1b6898;const _0x39d5c9=asRecord(await _0x5d6f7f(_0x2da8eb));_0x35f45c&&await _0x26dcc8({'agentId':getTrimmedString(_0x39d5c9[_0x449e14(0x13e)])||_0x58a4aa,'name':_0x35f45c});}}catch(_0x338d52){console[_0x449e14(0x146)](_0x449e14(0x158)+'hell:age'+_0x449e14(0x12f)+_0x449e14(0x149)+_0x449e14(0x13f)+_0x449e14(0x143)+_0x449e14(0x14f)+_0x58a4aa+'\x22',_0x338d52);}}return await _0x4ab554?.({'agentIds':_0x17e1da['map'](_0x138a4e=>_0x138a4e[_0x449e14(0x130)]),'mainWorkspace':_0x1d997f}),{'didUpdate':_0x4474e2,'bundledAgents':_0x17e1da};}
@@ -1 +1 @@
1
- const _0x5efce3=_0x2038;(function(_0x489b9b,_0x1c80f1){const _0x5a2006=_0x2038,_0x241b47=_0x489b9b();while(!![]){try{const _0x2351df=-parseInt(_0x5a2006(0x130))/0x1*(-parseInt(_0x5a2006(0x13c))/0x2)+parseInt(_0x5a2006(0x12f))/0x3*(-parseInt(_0x5a2006(0x129))/0x4)+parseInt(_0x5a2006(0x109))/0x5+-parseInt(_0x5a2006(0x125))/0x6+parseInt(_0x5a2006(0x14a))/0x7*(-parseInt(_0x5a2006(0x13d))/0x8)+-parseInt(_0x5a2006(0x124))/0x9*(-parseInt(_0x5a2006(0x103))/0xa)+parseInt(_0x5a2006(0x137))/0xb;if(_0x2351df===_0x1c80f1)break;else _0x241b47['push'](_0x241b47['shift']());}catch(_0x5c5cf2){_0x241b47['push'](_0x241b47['shift']());}}}(_0x58ae,0x9501b));import{randomBytes}from'node:crypto';function _0x58ae(){const _0x43f197=['2852202FveMUU','nChange','dels\x20upd','entityPa','1278164nqTBoC','openai','defaults','agents','isArray','protocol','3AjWXnw','4533nYQgrX','ore','mtimeMs','idle','skills','ompletio','openclaw','4883120djqXvw','rated\x20mo','slice','mode','models','254VGxlsX','6361544LLoywH','filter','apiKey','text','map','active-m','oot','hange','default','changed','yName','nfig\x20upd','session','7GAdvDi','openai-c','eUrl','toString','imageMod','modelNam','anthropi','self-ope','odel','primary','ing','local','dataDir','allow','restartO','tart','push','stringif','indexOf','projectR','per-chan','emory','memory','model','375610FEMXAy','defaultM','workspac','ask-user','256kb','modelBas','269955QaGgye','stateDir','model\x20se','configPa','provider','utf8','memory-c','auto','ports','plugins','hex','c-messag','config','pluginId','baseUrl','onboard','gatewayS','merge','elPrimar','ConfigPa','toISOStr','entries','ated','Key','lastGood','compat','deviceId','270lydIVz'];_0x58ae=function(){return _0x43f197;};return _0x58ae();}import{existsSync,unwatchFile,watchFile}from'node:fs';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import _0x2097ff,{portNumbers}from'get-port';import{ensureShellStateDirs,getConfigPaths,readJsonFile,writeJsonFile}from'@wujie-shell/config';import{asRecord,dedupeStrings,getTrimmedString,writeJson}from'./utils.mjs';import{loadRuntimeInfo}from'./runtime.mjs';import{syncRuntimeManifestPlugins}from'./plugin-sync.mjs';const MEMORY_CORE_PLUGIN_ID=_0x5efce3(0x10f)+_0x5efce3(0x131),ACTIVE_MEMORY_PLUGIN_ID=_0x5efce3(0x142)+_0x5efce3(0x100),ASK_USER_QUESTION_PLUGIN_ID=_0x5efce3(0x106)+'-questio'+'n';function createToken(){const _0x2e8aa4=_0x5efce3;return randomBytes(0x18)[_0x2e8aa4(0x14d)](_0x2e8aa4(0x113));}function createProviderModelConfig(_0x263d1d,_0x4235ca=![]){const _0x5511fb=_0x5efce3;return{'id':_0x263d1d,'name':_0x263d1d,'reasoning':!![],'input':_0x4235ca?[_0x5511fb(0x140),'image']:[_0x5511fb(0x140)],'cost':{'input':0x0,'output':0x0,'cacheRead':0x0,'cacheWrite':0x0},'contextWindow':0x3e800,'maxTokens':0x3e800};}function _0x2038(_0x54ed6e,_0x5d1bc2){_0x54ed6e=_0x54ed6e-0xf4;const _0x58ae76=_0x58ae();let _0x203825=_0x58ae76[_0x54ed6e];return _0x203825;}function createProviderConfig(_0x4e0b7b){const _0x2a4224=_0x5efce3;return{'apiKey':_0x4e0b7b[_0x2a4224(0x13f)],'api':_0x4e0b7b[_0x2a4224(0x12e)]===_0x2a4224(0x150)+'c'?_0x2a4224(0x150)+_0x2a4224(0x114)+'es':_0x2a4224(0x14b)+_0x2a4224(0x135)+'ns',..._0x4e0b7b['baseUrl']?{'baseUrl':_0x4e0b7b['baseUrl']}:{},'models':[createProviderModelConfig(_0x4e0b7b[_0x2a4224(0x14f)+'e'])]};}function createRuntimePluginBootstrap(_0x3d0e8c){const _0x431965=_0x5efce3,_0x3b2b8c={},_0x3dad6b=[];for(const _0xde7850 of _0x3d0e8c??[]){const _0x2a58a3=getTrimmedString(_0xde7850[_0x431965(0x116)]);if(!_0x2a58a3)continue;_0x3b2b8c[_0x2a58a3]={'enabled':!![]},_0x3dad6b[_0x431965(0xfb)](_0x2a58a3);}return!_0x3b2b8c[MEMORY_CORE_PLUGIN_ID]&&(_0x3b2b8c[MEMORY_CORE_PLUGIN_ID]={'enabled':!![],'config':{'dreaming':{'enabled':!![]}}}),!_0x3b2b8c[ACTIVE_MEMORY_PLUGIN_ID]&&(_0x3b2b8c[ACTIVE_MEMORY_PLUGIN_ID]={'enabled':!![]}),{'entries':_0x3b2b8c,'allow':dedupeStrings([..._0x3dad6b,MEMORY_CORE_PLUGIN_ID,ACTIVE_MEMORY_PLUGIN_ID]),'bundledDiscovery':_0x431965(0x122)};}function createInitialOpenClawConfig(_0x59f23c,_0x285faa){const _0x4c5f0d=_0x5efce3,_0x43c2fe=new Date()[_0x4c5f0d(0x11d)+_0x4c5f0d(0xf5)](),_0x4456f0=join(_0x59f23c[_0x4c5f0d(0xf7)],_0x4c5f0d(0x105)+'e'),_0x3c90dc=asRecord(_0x59f23c[_0x4c5f0d(0x13b)]),_0x5f082e=getTrimmedString(_0x3c90dc[_0x4c5f0d(0x104)+_0x4c5f0d(0x152)]),_0x1dafd2={'workspace':_0x4456f0,'memorySearch':{'enabled':!![],'sources':[_0x4c5f0d(0x101)],'provider':_0x4c5f0d(0x110)},'compaction':{'memoryFlush':{'enabled':!![],'forceFlushTranscriptBytes':_0x4c5f0d(0x107),'softThresholdTokens':0x30d40}}};return _0x5f082e&&(_0x1dafd2['model']={'primary':_0x5f082e}),{'meta':{'lastTouchedVersion':_0x285faa[_0x4c5f0d(0x136)+'Version'],'lastTouchedAt':_0x43c2fe},'wizard':{'lastRunAt':_0x43c2fe,'lastRunVersion':_0x285faa[_0x4c5f0d(0x136)+'Version'],'lastRunCommand':_0x4c5f0d(0x118),'lastRunMode':_0x4c5f0d(0xf6)},'models':{'mode':_0x4c5f0d(0x11a),'providers':asRecord(_0x3c90dc[_0x4c5f0d(0x10d)+'s'])},'agents':{'defaults':_0x1dafd2},'tools':{'profile':'full'},'plugins':createRuntimePluginBootstrap(_0x285faa[_0x4c5f0d(0x112)]),'skills':{'load':{'extraDirs':[_0x4c5f0d(0x134)]}},'session':{'dmScope':_0x4c5f0d(0xff)+'nel-peer','reset':{'mode':_0x4c5f0d(0x133)}}};}function hasMeaningfulProductModels(_0x1d07af){const _0x6d8d8f=_0x5efce3,_0x25ef76=asRecord(_0x1d07af[_0x6d8d8f(0x13b)]);return Object['keys'](asRecord(_0x25ef76[_0x6d8d8f(0x10d)+'s']))['length']>0x0||Boolean(getTrimmedString(_0x25ef76['defaultM'+_0x6d8d8f(0x152)]));}function syncProductModels(_0x3f84c4,_0x5dcba3){const _0x5c7de6=_0x5efce3;if(!hasMeaningfulProductModels(_0x5dcba3))return{'config':_0x3f84c4,'changed':![]};let _0x1a49b1=![];const _0x2a51a2=asRecord(_0x5dcba3['models']),_0x334bad=asRecord(_0x2a51a2[_0x5c7de6(0x10d)+'s']),_0x29ea16=getTrimmedString(_0x2a51a2[_0x5c7de6(0x104)+'odel']),_0x5643ff=asRecord(_0x3f84c4[_0x5c7de6(0x13b)]),_0x14c24f=asRecord(_0x5643ff[_0x5c7de6(0x10d)+'s']);for(const [_0x16a710,_0x1c0f3a]of Object[_0x5c7de6(0x11e)](_0x334bad)){const _0x16a97e=asRecord(_0x14c24f[_0x16a710]),_0x1f1ddc=asRecord(_0x1c0f3a);JSON[_0x5c7de6(0xfc)+'y'](_0x16a97e)!==JSON[_0x5c7de6(0xfc)+'y'](_0x1f1ddc)&&(_0x14c24f[_0x16a710]=_0x1f1ddc,_0x1a49b1=!![]);}_0x5643ff[_0x5c7de6(0x13a)]!==_0x5c7de6(0x11a)&&(_0x5643ff[_0x5c7de6(0x13a)]='merge',_0x1a49b1=!![]);_0x5643ff[_0x5c7de6(0x10d)+'s']!==_0x14c24f&&(_0x5643ff[_0x5c7de6(0x10d)+'s']=_0x14c24f,_0x1a49b1=!![]);_0x3f84c4['models']!==_0x5643ff&&(_0x3f84c4[_0x5c7de6(0x13b)]=_0x5643ff,_0x1a49b1=!![]);if(_0x29ea16){const _0x4ff56d=asRecord(_0x3f84c4[_0x5c7de6(0x12c)]),_0x48ea4b=asRecord(_0x4ff56d['defaults']),_0x47f72c=asRecord(_0x48ea4b[_0x5c7de6(0x102)]);_0x47f72c[_0x5c7de6(0xf4)]!==_0x29ea16&&(_0x48ea4b[_0x5c7de6(0x102)]={..._0x47f72c,'primary':_0x29ea16},_0x4ff56d['defaults']=_0x48ea4b,_0x3f84c4[_0x5c7de6(0x12c)]=_0x4ff56d,_0x1a49b1=!![]);}return{'config':_0x3f84c4,'changed':_0x1a49b1};}export function createConfigController(_0x543736){const _0x11b35d=getConfigPaths(_0x543736);let _0x49cc08=![],_0x10a851=0x0,_0x2a2f5c=null,_0xa8cc06=null;function _0x449b53(){const _0x1a02a4=_0x2038;return _0x11b35d[_0x1a02a4(0x10c)+'th'];}function _0x58286a(){const _0x377471=_0x2038;return _0x11b35d[_0x377471(0x10a)];}function _0x3bb7ae(){const _0x5ef322=_0x2038;return _0x11b35d[_0x5ef322(0x123)+_0x5ef322(0x128)+'th'];}async function _0x3de01b(){const _0x3493b3=_0x2038;await ensureShellStateDirs(_0x543736),process.env.OPENCLAW_STATE_DIR=_0x11b35d[_0x3493b3(0x10a)],process.env.OPENCLAW_CONFIG_PATH=_0x11b35d[_0x3493b3(0x10c)+'th'];}async function _0xa25c35(){const _0x22050e=_0x2038;await _0x3de01b();const _0x1266c7=await loadRuntimeInfo(_0x543736[_0x22050e(0xfe)+_0x22050e(0x143)]);if(!existsSync(_0x11b35d[_0x22050e(0x10c)+'th'])){const _0x7ed3f4=createInitialOpenClawConfig(_0x543736,_0x1266c7);_0x4ff442(),await _0x76e034(_0x7ed3f4),await writeJson(_0x11b35d[_0x22050e(0x121)+_0x22050e(0x11c)+'th'],_0x7ed3f4);}await _0x436ec9(),await _0x364e66();}async function _0x50356(){const _0x5ee7b9=_0x2038;return await _0xa25c35(),readJsonFile(_0x11b35d[_0x5ee7b9(0x10c)+'th'],{});}async function _0x4cdb97(){const _0x23cd45=_0x2038;return readJsonFile(_0x11b35d[_0x23cd45(0x10c)+'th'],{});}async function _0x76e034(_0x50a9d9){const _0x5b4bc3=_0x2038;await mkdir(dirname(_0x11b35d['configPa'+'th']),{'recursive':!![]}),await writeFile(_0x11b35d[_0x5b4bc3(0x10c)+'th'],JSON[_0x5b4bc3(0xfc)+'y'](_0x50a9d9,null,0x2)+'\x0a',_0x5b4bc3(0x10e));}async function _0x364e66(){const _0x469f81=_0x2038,_0x1e253c=await loadRuntimeInfo(_0x543736[_0x469f81(0xfe)+'oot']),_0x396a88=await _0x4cdb97(),_0x170963=syncRuntimeManifestPlugins(_0x396a88[_0x469f81(0x112)],_0x1e253c[_0x469f81(0x112)]);(_0x170963[_0x469f81(0x146)]||!_0x396a88[_0x469f81(0x112)])&&(_0x396a88['plugins']=_0x170963[_0x469f81(0x112)],_0x4ff442(),await _0x76e034(_0x396a88));}async function _0x436ec9(){const _0x24dbf3=_0x2038,_0x50d69a=await _0x4cdb97(),_0x466c5c=syncProductModels(_0x50d69a,_0x543736);_0x466c5c[_0x24dbf3(0x146)]&&await _0x59f5e9(_0x466c5c[_0x24dbf3(0x115)],'product\x20'+'model\x20co'+_0x24dbf3(0x148)+'ated');}async function _0x2a92a0(){const _0x806ec5=_0x2038;await _0xa25c35();const _0x3bd47e=await _0x2097ff({'port':portNumbers(_0x543736[_0x806ec5(0x111)]['gatewayS'+_0x806ec5(0xfa)],_0x543736[_0x806ec5(0x111)][_0x806ec5(0x119)+_0x806ec5(0xfa)]+0x63)});return{'token':createToken(),'port':_0x3bd47e};}async function _0x244ef4(){const _0x215f1e=_0x2038,_0x2654c5=await _0x50356(),_0xaf82e6=asRecord(_0x2654c5[_0x215f1e(0x12c)]),_0x30edf6=asRecord(_0xaf82e6[_0x215f1e(0x12b)]),_0x10e6e0=asRecord(_0x30edf6[_0x215f1e(0x102)]),_0x3415eb=getTrimmedString(_0x10e6e0['primary']),_0x46d225=_0x3415eb[_0x215f1e(0xfd)]('/'),_0x3f12a8=_0x46d225>0x0?_0x3415eb[_0x215f1e(0x139)](0x0,_0x46d225):_0x3415eb,_0x440af4=_0x46d225>0x0?_0x3415eb['slice'](_0x46d225+0x1):'',_0x4188aa=asRecord(asRecord(_0x2654c5['models'])[_0x215f1e(0x10d)+'s']),_0x3f297b=asRecord(_0x4188aa[_0x3f12a8]);return{'provider':_0x3f12a8||'','apiKey':getTrimmedString(_0x3f297b[_0x215f1e(0x13f)]),'modelName':_0x440af4,'modelBaseUrl':getTrimmedString(_0x3f297b[_0x215f1e(0x117)])};}async function _0x147072(_0x365849,_0x6efd24={}){const _0x43daf3=_0x2038,_0x4883d9=await _0x50356(),_0x2edbd5=_0x365849[_0x43daf3(0x10d)]||_0x43daf3(0x145),_0x37ad36=_0x2edbd5+'/'+_0x365849['modelNam'+'e'],_0x30654f=asRecord(_0x4883d9['models']),_0x2a676d=asRecord(_0x30654f['provider'+'s']);_0x2a676d[_0x2edbd5]={...asRecord(_0x2a676d[_0x2edbd5]),...createProviderConfig({'apiKey':_0x365849[_0x43daf3(0x13f)]||'','protocol':_0x365849[_0x43daf3(0x12e)]||_0x43daf3(0x12a),'baseUrl':_0x365849[_0x43daf3(0x108)+_0x43daf3(0x14c)]||_0x365849[_0x43daf3(0x117)]||'','modelName':_0x365849[_0x43daf3(0x14f)+'e']})},_0x30654f[_0x43daf3(0x10d)+'s']=_0x2a676d,_0x4883d9['models']=_0x30654f;const _0x4d4399=asRecord(_0x4883d9[_0x43daf3(0x12c)]),_0x5b1ba1=asRecord(_0x4d4399['defaults']);return _0x5b1ba1['model']={...asRecord(_0x5b1ba1[_0x43daf3(0x102)]),'primary':_0x37ad36},_0x5b1ba1[_0x43daf3(0x13b)]={...asRecord(_0x5b1ba1[_0x43daf3(0x13b)]),[_0x37ad36]:asRecord(asRecord(_0x5b1ba1[_0x43daf3(0x13b)])[_0x37ad36])},_0x4d4399[_0x43daf3(0x12b)]=_0x5b1ba1,_0x4883d9['agents']=_0x4d4399,_0x4883d9[_0x43daf3(0x149)]={...asRecord(_0x4883d9[_0x43daf3(0x149)]),'dmScope':_0x43daf3(0xff)+'nel-peer'},await _0x59f5e9(_0x4883d9,_0x6efd24[_0x43daf3(0xf9)+_0x43daf3(0x126)]?_0x43daf3(0x10b)+'ttings\x20u'+'pdated':''),{'ok':!![]};}async function _0xbf6f3(_0x40d0f3){const _0x44a705=_0x2038,_0x18d445=await _0x50356(),_0x1b4ab9=_0x40d0f3[_0x44a705(0x10d)+_0x44a705(0x120)],_0x18cf35=asRecord(_0x18d445[_0x44a705(0x13b)]),_0x5e69fa=asRecord(_0x18cf35[_0x44a705(0x10d)+'s']);_0x5e69fa[_0x1b4ab9]={...asRecord(_0x5e69fa[_0x1b4ab9]),'apiKey':_0x40d0f3['apiKey'],'api':_0x44a705(0x14b)+_0x44a705(0x135)+'ns','baseUrl':_0x40d0f3[_0x44a705(0x117)],'models':(_0x40d0f3['modelNam'+'es']??[])[_0x44a705(0x141)](_0x2893df=>createProviderModelConfig(_0x2893df,_0x2893df===_0x40d0f3[_0x44a705(0x14e)+_0x44a705(0x11b)+_0x44a705(0x147)]))},_0x18cf35[_0x44a705(0x10d)+'s']=_0x5e69fa,_0x18d445[_0x44a705(0x13b)]=_0x18cf35;if(_0x40d0f3[_0x44a705(0x14e)+_0x44a705(0x11b)+_0x44a705(0x147)]){const _0x54e5e6=asRecord(_0x18d445['agents']),_0x35f920=asRecord(_0x54e5e6[_0x44a705(0x12b)]);_0x35f920['imageMod'+'el']={...asRecord(_0x35f920['imageMod'+'el']),'primary':_0x1b4ab9+'/'+_0x40d0f3[_0x44a705(0x14e)+_0x44a705(0x11b)+_0x44a705(0x147)]},_0x54e5e6['defaults']=_0x35f920,_0x18d445[_0x44a705(0x12c)]=_0x54e5e6;}return await _0x59f5e9(_0x18d445,_0x44a705(0x151)+_0x44a705(0x138)+_0x44a705(0x127)+_0x44a705(0x11f)),{'ok':!![]};}async function _0x1086e1({callbackUrl:_0x54f001,secret:_0x589599}){const _0x3a3ea3=_0x2038,_0x1342dd=await _0x50356(),_0x3b0f3c=asRecord(_0x1342dd['plugins']),_0x4cbf55=asRecord(_0x3b0f3c[_0x3a3ea3(0x11e)]),_0x3e9f6f=asRecord(_0x4cbf55[ASK_USER_QUESTION_PLUGIN_ID]);return _0x4cbf55[ASK_USER_QUESTION_PLUGIN_ID]={..._0x3e9f6f,'enabled':!![],'config':{...asRecord(_0x3e9f6f[_0x3a3ea3(0x115)]),'callbackUrl':_0x54f001,'secret':_0x589599}},_0x3b0f3c[_0x3a3ea3(0x11e)]=_0x4cbf55,_0x3b0f3c[_0x3a3ea3(0xf8)]=dedupeStrings([...(Array[_0x3a3ea3(0x12d)](_0x3b0f3c[_0x3a3ea3(0xf8)])?_0x3b0f3c[_0x3a3ea3(0xf8)]:[])[_0x3a3ea3(0x13e)](Boolean),ASK_USER_QUESTION_PLUGIN_ID]),_0x1342dd['plugins']=_0x3b0f3c,await _0x59f5e9(_0x1342dd,''),{'ok':!![]};}async function _0x59f5e9(_0x12b844,_0x5c693f=''){const _0x196ffb=_0x2038;_0x4ff442(),await _0x76e034(_0x12b844),await writeJsonFile(_0x11b35d[_0x196ffb(0x121)+_0x196ffb(0x11c)+'th'],_0x12b844);if(_0x5c693f)_0xc2d712(_0x5c693f);}function _0x4ff442(){if(_0x49cc08)_0x10a851+=0x1;}function _0x2a2206(_0x78d0a5){_0xa8cc06=_0x78d0a5;}function _0xc2d712(_0x5a4e40){if(!_0xa8cc06)return;if(_0x2a2f5c)clearTimeout(_0x2a2f5c);_0x2a2f5c=setTimeout(()=>_0xa8cc06(_0x5a4e40),0xfa);}function _0xa956a1(){const _0x3fcd4f=_0x2038;unwatchFile(_0x11b35d[_0x3fcd4f(0x10c)+'th']),_0x49cc08=!![],watchFile(_0x11b35d['configPa'+'th'],{'interval':0x3e8},(_0x15e265,_0x9c00d6)=>{const _0x12d4f7=_0x3fcd4f;if(_0x15e265[_0x12d4f7(0x132)]===_0x9c00d6[_0x12d4f7(0x132)])return;if(_0x10a851>0x0){_0x10a851-=0x1;return;}_0xc2d712('config\x20c'+_0x12d4f7(0x144));});}function _0xe6d512(){if(_0x2a2f5c)clearTimeout(_0x2a2f5c);unwatchFile(_0x11b35d['configPa'+'th']),_0x49cc08=![],_0x10a851=0x0;}return{'paths':_0x11b35d,'resolveConfigPath':_0x449b53,'resolveStateDir':_0x58286a,'resolveDeviceIdentityPath':_0x3bb7ae,'ensureConfigPathEnv':_0x3de01b,'ensureInitialConfig':_0xa25c35,'ensureGatewaySettings':_0x2a92a0,'readConfig':_0x50356,'writeConfig':_0x76e034,'syncRuntimePlugins':_0x364e66,'getModelSettings':_0x244ef4,'setModelSettings':_0x147072,'setSelfOperatedModels':_0xbf6f3,'ensureAskUserQuestionPluginConfig':_0x1086e1,'markConfigWriteHandledInternally':_0x4ff442,'setGatewayRestartHandler':_0x2a2206,'watchConfigChanges':_0xa956a1,'dispose':_0xe6d512};}
1
+ const _0x35dcde=_0x5409;(function(_0x189c98,_0x5119f5){const _0x5e3a99=_0x5409,_0x5d6f17=_0x189c98();while(!![]){try{const _0xcbef3c=parseInt(_0x5e3a99(0x1a9))/0x1*(parseInt(_0x5e3a99(0x13c))/0x2)+-parseInt(_0x5e3a99(0x16c))/0x3+parseInt(_0x5e3a99(0x14c))/0x4+-parseInt(_0x5e3a99(0x163))/0x5+-parseInt(_0x5e3a99(0x16d))/0x6*(-parseInt(_0x5e3a99(0x1c1))/0x7)+parseInt(_0x5e3a99(0x1a3))/0x8*(parseInt(_0x5e3a99(0x196))/0x9)+-parseInt(_0x5e3a99(0x17b))/0xa;if(_0xcbef3c===_0x5119f5)break;else _0x5d6f17['push'](_0x5d6f17['shift']());}catch(_0x2d25da){_0x5d6f17['push'](_0x5d6f17['shift']());}}}(_0xaa35,0xb4dba));import{randomBytes}from'node:crypto';function _0x5409(_0x3ef482,_0x52bfb3){_0x3ef482=_0x3ef482-0x136;const _0xaa35db=_0xaa35();let _0x54090f=_0xaa35db[_0x3ef482];return _0x54090f;}import{existsSync,unwatchFile,watchFile}from'node:fs';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import _0xb305b3,{portNumbers}from'get-port';import{ensureShellStateDirs,getConfigPaths,readJsonFile,writeJsonFile}from'@wujie-shell/config';import{asRecord,dedupeStrings,getTrimmedString,writeJson}from'./utils.mjs';import{loadRuntimeInfo}from'./runtime.mjs';import{createRuntimeLogger,summarizeRuntimeManifest}from'./runtime-logger.mjs';function _0xaa35(){const _0x2e14ad=['modelNam','odel','mtimeMs','ompletio','anged','ailed','ing','ced','toISOStr','dels\x20upd','session','initial\x20','exists','nel-peer','918762cMyFLo','memory-c','aw\x20confi','openai','ated','push','imageMod','product\x20','onfig\x20al','persiste','model','provider','models','memory','keys','merge','3398196AxRGbr','tarted','ttings\x20u','extraDir','ensure\x20i','changed','skills','length','config\x20c','her\x20obse','now','load','openclaw','fig\x20chan','\x20for\x20con','tart','reload\x20s','deviceId','nto\x20open','missing;','info\x20loa','eUrl','pdated','6744700KuYFAI','compat','defaultM','ent\x20ensu','apiKey','config','logsDir','ready\x20cu','lastGood','21495XXxCDC','6TloCTl','anthropi','ded\x20for\x20','256kb','isArray','yName','auto','stateDir','environm','nfig\x20upd','projectR','toString','d\x20opencl','gateway\x20','14733940BCHyGx','openai-c','elPrimar','full','ile\x20watc','ConfigPa','filter','rnal\x20wri','config\x20f','hange','agents','red','ync','created','configPa','Version','oot','rrent','emory','\x20config\x20','runtimeR','indexOf','baseUrl','utf8','per-chan','red\x20inte','slice','5245137ChPqDy','config\x20s','\x20creatin','ore','restartO','eady\x20cur','workspac','c-messag','dmScope','rent','default','dataDir','entries','16fTbyDs','gatewayS','model\x20co','entityPa','protocol','nChange','1rtlOCb','nfig\x20syn','onfig\x20ch','ernal\x20ch','ange','ask-user','allow','penclaw\x20','primary','pluginId','text','plugins','stringif','last-goo','plugin\x20c','fig','nitial\x20o','hex','info','defaults','-questio','modelBas','ports','cheduled','7670439nbKthp','runtime\x20','ompleted'];_0xaa35=function(){return _0x2e14ad;};return _0xaa35();}import{syncRuntimeManifestPlugins}from'./plugin-sync.mjs';const MEMORY_CORE_PLUGIN_ID=_0x35dcde(0x13d)+_0x35dcde(0x199),ACTIVE_MEMORY_PLUGIN_ID='active-m'+_0x35dcde(0x18d),ASK_USER_QUESTION_PLUGIN_ID=_0x35dcde(0x1ae)+_0x35dcde(0x1bd)+'n';function createToken(){const _0x1fccaf=_0x35dcde;return randomBytes(0x18)[_0x1fccaf(0x178)](_0x1fccaf(0x1ba));}function createProviderModelConfig(_0x3d72b0,_0x132799=![]){const _0x42e720=_0x35dcde;return{'id':_0x3d72b0,'name':_0x3d72b0,'reasoning':!![],'input':_0x132799?['text','image']:[_0x42e720(0x1b3)],'cost':{'input':0x0,'output':0x0,'cacheRead':0x0,'cacheWrite':0x0},'contextWindow':0x3e800,'maxTokens':0x3e800};}function createProviderConfig(_0x532090){const _0x5b9c8a=_0x35dcde;return{'apiKey':_0x532090[_0x5b9c8a(0x167)],'api':_0x532090[_0x5b9c8a(0x1a7)]==='anthropi'+'c'?_0x5b9c8a(0x16e)+_0x5b9c8a(0x19d)+'es':_0x5b9c8a(0x17c)+'ompletio'+'ns',..._0x532090[_0x5b9c8a(0x191)]?{'baseUrl':_0x532090[_0x5b9c8a(0x191)]}:{},'models':[createProviderModelConfig(_0x532090[_0x5b9c8a(0x1c4)+'e'])]};}function createRuntimePluginBootstrap(_0x103ada){const _0x199159=_0x35dcde,_0x3696d6={},_0x4fe724=[];for(const _0x4c1f02 of _0x103ada??[]){const _0x2f93ee=getTrimmedString(_0x4c1f02[_0x199159(0x1b2)]);if(!_0x2f93ee)continue;_0x3696d6[_0x2f93ee]={'enabled':!![]},_0x4fe724[_0x199159(0x141)](_0x2f93ee);}return!_0x3696d6[MEMORY_CORE_PLUGIN_ID]&&(_0x3696d6[MEMORY_CORE_PLUGIN_ID]={'enabled':!![],'config':{'dreaming':{'enabled':!![]}}}),!_0x3696d6[ACTIVE_MEMORY_PLUGIN_ID]&&(_0x3696d6[ACTIVE_MEMORY_PLUGIN_ID]={'enabled':!![]}),{'entries':_0x3696d6,'allow':dedupeStrings([..._0x4fe724,MEMORY_CORE_PLUGIN_ID,ACTIVE_MEMORY_PLUGIN_ID]),'bundledDiscovery':_0x199159(0x164)};}function createInitialOpenClawConfig(_0x4e3caa,_0x5c7389){const _0x21eb74=_0x35dcde,_0x21875b=new Date()[_0x21eb74(0x136)+_0x21eb74(0x1ca)](),_0x26cd8e=join(_0x4e3caa[_0x21eb74(0x1a1)],_0x21eb74(0x19c)+'e'),_0x307fdd=asRecord(_0x4e3caa[_0x21eb74(0x148)]),_0x137617=getTrimmedString(_0x307fdd['defaultM'+_0x21eb74(0x1c5)]),_0x43fa50={'workspace':_0x26cd8e,'memorySearch':{'enabled':!![],'sources':[_0x21eb74(0x149)],'provider':_0x21eb74(0x173)},'compaction':{'memoryFlush':{'enabled':!![],'forceFlushTranscriptBytes':_0x21eb74(0x170),'softThresholdTokens':0x30d40}}};return _0x137617&&(_0x43fa50['model']={'primary':_0x137617}),{'meta':{'lastTouchedVersion':_0x5c7389['openclaw'+_0x21eb74(0x18a)],'lastTouchedAt':_0x21875b},'wizard':{'lastRunAt':_0x21875b,'lastRunVersion':_0x5c7389['openclaw'+'Version'],'lastRunCommand':'onboard','lastRunMode':'local'},'models':{'mode':_0x21eb74(0x14b),'providers':asRecord(_0x307fdd[_0x21eb74(0x147)+'s'])},'agents':{'defaults':_0x43fa50},'tools':{'profile':_0x21eb74(0x17e)},'plugins':createRuntimePluginBootstrap(_0x5c7389['plugins']),'skills':{'load':{'extraDirs':[_0x21eb74(0x152)]}},'session':{'dmScope':_0x21eb74(0x193)+_0x21eb74(0x13b),'reset':{'mode':'idle'}}};}function hasMeaningfulProductModels(_0x26230d){const _0x52659e=_0x35dcde,_0xae7383=asRecord(_0x26230d['models']);return Object[_0x52659e(0x14a)](asRecord(_0xae7383[_0x52659e(0x147)+'s']))['length']>0x0||Boolean(getTrimmedString(_0xae7383[_0x52659e(0x165)+_0x52659e(0x1c5)]));}function summarizeOpenClawConfig(_0x579737){const _0x398cae=_0x35dcde,_0x4b4565=asRecord(_0x579737[_0x398cae(0x148)]),_0x4ed24c=asRecord(_0x4b4565[_0x398cae(0x147)+'s']),_0x54fb42=asRecord(_0x579737[_0x398cae(0x185)]),_0x422d14=asRecord(_0x54fb42[_0x398cae(0x1bc)]),_0x1232fe=asRecord(_0x422d14['model']),_0x38e395=asRecord(_0x579737[_0x398cae(0x1b4)]),_0x3fafca=asRecord(_0x38e395[_0x398cae(0x1a2)]),_0x5ca38d=asRecord(_0x579737[_0x398cae(0x152)]),_0x44ccc9=asRecord(_0x5ca38d[_0x398cae(0x157)]),_0x31c11b=asRecord(_0x579737['session']),_0x3a8cae=Array[_0x398cae(0x171)](_0x44ccc9[_0x398cae(0x14f)+'s'])?_0x44ccc9[_0x398cae(0x14f)+'s']:[];return{'providerCount':Object['keys'](_0x4ed24c)[_0x398cae(0x153)],'defaultModel':getTrimmedString(_0x1232fe['primary']),'pluginEntryCount':Object[_0x398cae(0x14a)](_0x3fafca)[_0x398cae(0x153)],'pluginAllowCount':Array[_0x398cae(0x171)](_0x38e395['allow'])?_0x38e395[_0x398cae(0x1af)][_0x398cae(0x153)]:0x0,'skillExtraDirCount':_0x3a8cae[_0x398cae(0x153)],'sessionDmScope':getTrimmedString(_0x31c11b[_0x398cae(0x19e)])};}function syncProductModels(_0x52bddd,_0x36309f){const _0x521baf=_0x35dcde;if(!hasMeaningfulProductModels(_0x36309f))return{'config':_0x52bddd,'changed':![]};let _0x16af6b=![];const _0x2ee795=asRecord(_0x36309f[_0x521baf(0x148)]),_0x5b5e56=asRecord(_0x2ee795['provider'+'s']),_0x56fde0=getTrimmedString(_0x2ee795[_0x521baf(0x165)+_0x521baf(0x1c5)]),_0x28c40b=asRecord(_0x52bddd['models']),_0x258eab=asRecord(_0x28c40b[_0x521baf(0x147)+'s']);for(const [_0x277b80,_0x183379]of Object[_0x521baf(0x1a2)](_0x5b5e56)){const _0x5754b7=asRecord(_0x258eab[_0x277b80]),_0xfe2586=asRecord(_0x183379);JSON['stringif'+'y'](_0x5754b7)!==JSON[_0x521baf(0x1b5)+'y'](_0xfe2586)&&(_0x258eab[_0x277b80]=_0xfe2586,_0x16af6b=!![]);}_0x28c40b['mode']!==_0x521baf(0x14b)&&(_0x28c40b['mode']=_0x521baf(0x14b),_0x16af6b=!![]);_0x28c40b[_0x521baf(0x147)+'s']!==_0x258eab&&(_0x28c40b[_0x521baf(0x147)+'s']=_0x258eab,_0x16af6b=!![]);_0x52bddd[_0x521baf(0x148)]!==_0x28c40b&&(_0x52bddd['models']=_0x28c40b,_0x16af6b=!![]);if(_0x56fde0){const _0x4e3366=asRecord(_0x52bddd[_0x521baf(0x185)]),_0x774753=asRecord(_0x4e3366['defaults']),_0x3bd299=asRecord(_0x774753[_0x521baf(0x146)]);_0x3bd299[_0x521baf(0x1b1)]!==_0x56fde0&&(_0x774753['model']={..._0x3bd299,'primary':_0x56fde0},_0x4e3366[_0x521baf(0x1bc)]=_0x774753,_0x52bddd['agents']=_0x4e3366,_0x16af6b=!![]);}return{'config':_0x52bddd,'changed':_0x16af6b};}export function createConfigController(_0x35e35a){const _0x272f25=_0x35dcde,_0x49914a=getConfigPaths(_0x35e35a),_0xbc1f29=createRuntimeLogger(_0x49914a,_0x272f25(0x168));let _0x569d3c=![],_0x56b9e0=0x0,_0x10b720=null,_0x4fa935=null;function _0x33721b(){const _0xdd5086=_0x272f25;return _0x49914a[_0xdd5086(0x189)+'th'];}function _0xbcc4d0(){const _0x56f2b9=_0x272f25;return _0x49914a[_0x56f2b9(0x174)];}function _0x3dce05(){const _0x5cb28b=_0x272f25;return _0x49914a[_0x5cb28b(0x15d)+_0x5cb28b(0x1a6)+'th'];}async function _0x53c077(){const _0x464ee5=_0x272f25;await ensureShellStateDirs(_0x35e35a),process.env.OPENCLAW_STATE_DIR=_0x49914a[_0x464ee5(0x174)],process.env.OPENCLAW_CONFIG_PATH=_0x49914a[_0x464ee5(0x189)+'th'],_0xbc1f29?.['info']('openclaw'+'\x20config\x20'+_0x464ee5(0x175)+_0x464ee5(0x166)+_0x464ee5(0x186),{'stateDir':_0x49914a[_0x464ee5(0x174)],'configPath':_0x49914a[_0x464ee5(0x189)+'th'],'logsDir':_0x49914a[_0x464ee5(0x169)]});}async function _0x294036(){const _0x1dbe04=_0x272f25,_0x2623d2=Date[_0x1dbe04(0x156)]();_0xbc1f29?.[_0x1dbe04(0x1bb)]('ensure\x20i'+_0x1dbe04(0x1b9)+'penclaw\x20'+_0x1dbe04(0x197)+_0x1dbe04(0x14d),{'configPath':_0x49914a[_0x1dbe04(0x189)+'th'],'stateDir':_0x49914a[_0x1dbe04(0x174)]});try{await _0x53c077();const _0x2e7823=await loadRuntimeInfo(_0x35e35a[_0x1dbe04(0x177)+_0x1dbe04(0x18b)]);_0xbc1f29?.['info'](_0x1dbe04(0x1c2)+_0x1dbe04(0x160)+_0x1dbe04(0x16f)+_0x1dbe04(0x197)+_0x1dbe04(0x187),{'runtimeRoot':_0x2e7823[_0x1dbe04(0x18f)+'oot'],'manifest':summarizeRuntimeManifest(_0x2e7823['manifest'])});if(!existsSync(_0x49914a[_0x1dbe04(0x189)+'th'])){const _0x354078=createInitialOpenClawConfig(_0x35e35a,_0x2e7823);_0xbc1f29?.['info']('initial\x20'+_0x1dbe04(0x158)+_0x1dbe04(0x18e)+_0x1dbe04(0x15f)+_0x1dbe04(0x198)+'g',{'configPath':_0x49914a[_0x1dbe04(0x189)+'th'],'config':summarizeOpenClawConfig(_0x354078)}),_0x5c939f(),await _0x502002(_0x354078,_0x1dbe04(0x139)+_0x1dbe04(0x158)+'\x20config\x20'+_0x1dbe04(0x188)),await writeJson(_0x49914a[_0x1dbe04(0x16b)+'ConfigPa'+'th'],_0x354078),_0xbc1f29?.['info'](_0x1dbe04(0x1b6)+_0x1dbe04(0x179)+_0x1dbe04(0x13e)+'g\x20writte'+'n',{'path':_0x49914a[_0x1dbe04(0x16b)+_0x1dbe04(0x180)+'th'],'reason':'initial\x20'+_0x1dbe04(0x158)+_0x1dbe04(0x18e)+_0x1dbe04(0x188)});}else _0xbc1f29?.['info'](_0x1dbe04(0x139)+_0x1dbe04(0x158)+_0x1dbe04(0x18e)+_0x1dbe04(0x13a),{'configPath':_0x49914a[_0x1dbe04(0x189)+'th']});await _0x1b509a(),await _0x80672c(),_0xbc1f29?.[_0x1dbe04(0x1bb)](_0x1dbe04(0x150)+_0x1dbe04(0x1b9)+_0x1dbe04(0x1b0)+_0x1dbe04(0x154)+_0x1dbe04(0x1c3),{'durationMs':Date[_0x1dbe04(0x156)]()-_0x2623d2});}catch(_0x3e5871){_0xbc1f29?.['error'](_0x1dbe04(0x150)+_0x1dbe04(0x1b9)+_0x1dbe04(0x1b0)+_0x1dbe04(0x183)+_0x1dbe04(0x1c9),{'durationMs':Date['now']()-_0x2623d2,'error':_0x3e5871});throw _0x3e5871;}}async function _0x2cfab7(){const _0x5d34ee=_0x272f25;return await _0x294036(),readJsonFile(_0x49914a[_0x5d34ee(0x189)+'th'],{});}async function _0x446bbb(){const _0x3b8362=_0x272f25;return readJsonFile(_0x49914a[_0x3b8362(0x189)+'th'],{});}async function _0x502002(_0x245094,_0x22ceb8='openclaw'+'\x20config\x20'+'written'){const _0x286fe5=_0x272f25;await mkdir(dirname(_0x49914a[_0x286fe5(0x189)+'th']),{'recursive':!![]}),await writeFile(_0x49914a[_0x286fe5(0x189)+'th'],JSON['stringif'+'y'](_0x245094,null,0x2)+'\x0a',_0x286fe5(0x192)),_0xbc1f29?.['info'](_0x22ceb8,{'configPath':_0x49914a[_0x286fe5(0x189)+'th'],'config':summarizeOpenClawConfig(_0x245094)});}async function _0x80672c(){const _0xe62d0d=_0x272f25,_0x1df9d6=await loadRuntimeInfo(_0x35e35a[_0xe62d0d(0x177)+_0xe62d0d(0x18b)]),_0x503890=await _0x446bbb(),_0x2c736d=syncRuntimeManifestPlugins(_0x503890['plugins'],_0x1df9d6[_0xe62d0d(0x1b4)]);_0x2c736d[_0xe62d0d(0x151)]||!_0x503890['plugins']?(_0x503890[_0xe62d0d(0x1b4)]=_0x2c736d[_0xe62d0d(0x1b4)],_0x5c939f(),await _0x502002(_0x503890,_0xe62d0d(0x1c2)+'plugins\x20'+'synced\x20i'+_0xe62d0d(0x15e)+'claw\x20con'+_0xe62d0d(0x1b8)),_0xbc1f29?.[_0xe62d0d(0x1bb)](_0xe62d0d(0x1c2)+_0xe62d0d(0x1b7)+_0xe62d0d(0x1ab)+_0xe62d0d(0x1c8),{'runtimePluginCount':_0x1df9d6[_0xe62d0d(0x1b4)][_0xe62d0d(0x153)],'config':summarizeOpenClawConfig(_0x503890)})):_0xbc1f29?.[_0xe62d0d(0x1bb)](_0xe62d0d(0x1c2)+'plugin\x20c'+_0xe62d0d(0x144)+_0xe62d0d(0x16a)+_0xe62d0d(0x18c),{'runtimePluginCount':_0x1df9d6[_0xe62d0d(0x1b4)][_0xe62d0d(0x153)]});}async function _0x1b509a(){const _0x1cd378=_0x272f25,_0x20a001=await _0x446bbb(),_0x4b8ebf=syncProductModels(_0x20a001,_0x35e35a);_0x4b8ebf[_0x1cd378(0x151)]?(await _0x1c1127(_0x4b8ebf[_0x1cd378(0x168)],_0x1cd378(0x143)+_0x1cd378(0x1a5)+_0x1cd378(0x176)+_0x1cd378(0x140)),_0xbc1f29?.[_0x1cd378(0x1bb)](_0x1cd378(0x143)+_0x1cd378(0x1a5)+_0x1cd378(0x1aa)+_0x1cd378(0x1cb),{'config':summarizeOpenClawConfig(_0x4b8ebf[_0x1cd378(0x168)])})):_0xbc1f29?.[_0x1cd378(0x1bb)]('product\x20'+'model\x20co'+'nfig\x20alr'+_0x1cd378(0x19b)+_0x1cd378(0x19f),{'hasProductModels':hasMeaningfulProductModels(_0x35e35a)});}async function _0x1e1212(){const _0x2be4b0=_0x272f25;await _0x294036();const _0x5410fe=await _0xb305b3({'port':portNumbers(_0x35e35a['ports']['gatewayS'+_0x2be4b0(0x15b)],_0x35e35a[_0x2be4b0(0x1bf)][_0x2be4b0(0x1a4)+_0x2be4b0(0x15b)]+0x63)});return{'token':createToken(),'port':_0x5410fe};}async function _0x4aa76f(){const _0x18cd0b=_0x272f25,_0x449b1e=await _0x2cfab7(),_0x58c97a=asRecord(_0x449b1e['agents']),_0x5c7c3d=asRecord(_0x58c97a[_0x18cd0b(0x1bc)]),_0x503d15=asRecord(_0x5c7c3d[_0x18cd0b(0x146)]),_0x2e88ea=getTrimmedString(_0x503d15[_0x18cd0b(0x1b1)]),_0x2de75a=_0x2e88ea[_0x18cd0b(0x190)]('/'),_0x388e8c=_0x2de75a>0x0?_0x2e88ea['slice'](0x0,_0x2de75a):_0x2e88ea,_0x540a9f=_0x2de75a>0x0?_0x2e88ea[_0x18cd0b(0x195)](_0x2de75a+0x1):'',_0x449536=asRecord(asRecord(_0x449b1e['models'])['provider'+'s']),_0x2521c5=asRecord(_0x449536[_0x388e8c]);return{'provider':_0x388e8c||'','apiKey':getTrimmedString(_0x2521c5[_0x18cd0b(0x167)]),'modelName':_0x540a9f,'modelBaseUrl':getTrimmedString(_0x2521c5[_0x18cd0b(0x191)])};}async function _0x2329b4(_0x285e23,_0x3b3792={}){const _0x5ec6f8=_0x272f25,_0x538d0e=await _0x2cfab7(),_0x59a5d2=_0x285e23[_0x5ec6f8(0x147)]||_0x5ec6f8(0x1a0),_0x45c6e2=_0x59a5d2+'/'+_0x285e23[_0x5ec6f8(0x1c4)+'e'],_0xf390ef=asRecord(_0x538d0e['models']),_0x22589a=asRecord(_0xf390ef[_0x5ec6f8(0x147)+'s']);_0x22589a[_0x59a5d2]={...asRecord(_0x22589a[_0x59a5d2]),...createProviderConfig({'apiKey':_0x285e23[_0x5ec6f8(0x167)]||'','protocol':_0x285e23[_0x5ec6f8(0x1a7)]||_0x5ec6f8(0x13f),'baseUrl':_0x285e23[_0x5ec6f8(0x1be)+_0x5ec6f8(0x161)]||_0x285e23[_0x5ec6f8(0x191)]||'','modelName':_0x285e23['modelNam'+'e']})},_0xf390ef[_0x5ec6f8(0x147)+'s']=_0x22589a,_0x538d0e[_0x5ec6f8(0x148)]=_0xf390ef;const _0x5e3cb2=asRecord(_0x538d0e[_0x5ec6f8(0x185)]),_0x13b1ea=asRecord(_0x5e3cb2[_0x5ec6f8(0x1bc)]);return _0x13b1ea[_0x5ec6f8(0x146)]={...asRecord(_0x13b1ea[_0x5ec6f8(0x146)]),'primary':_0x45c6e2},_0x13b1ea['models']={...asRecord(_0x13b1ea['models']),[_0x45c6e2]:asRecord(asRecord(_0x13b1ea[_0x5ec6f8(0x148)])[_0x45c6e2])},_0x5e3cb2[_0x5ec6f8(0x1bc)]=_0x13b1ea,_0x538d0e['agents']=_0x5e3cb2,_0x538d0e[_0x5ec6f8(0x138)]={...asRecord(_0x538d0e[_0x5ec6f8(0x138)]),'dmScope':_0x5ec6f8(0x193)+'nel-peer'},await _0x1c1127(_0x538d0e,_0x3b3792[_0x5ec6f8(0x19a)+_0x5ec6f8(0x1a8)]?'model\x20se'+_0x5ec6f8(0x14e)+_0x5ec6f8(0x162):''),{'ok':!![]};}async function _0x1f0acc(_0x97d53c){const _0x3c6ba3=_0x272f25,_0x244aa2=await _0x2cfab7(),_0x2b197d=_0x97d53c['provider'+'Key'],_0x39c085=asRecord(_0x244aa2[_0x3c6ba3(0x148)]),_0x27f976=asRecord(_0x39c085[_0x3c6ba3(0x147)+'s']);_0x27f976[_0x2b197d]={...asRecord(_0x27f976[_0x2b197d]),'apiKey':_0x97d53c[_0x3c6ba3(0x167)],'api':_0x3c6ba3(0x17c)+_0x3c6ba3(0x1c7)+'ns','baseUrl':_0x97d53c[_0x3c6ba3(0x191)],'models':(_0x97d53c[_0x3c6ba3(0x1c4)+'es']??[])['map'](_0x455cca=>createProviderModelConfig(_0x455cca,_0x455cca===_0x97d53c[_0x3c6ba3(0x142)+_0x3c6ba3(0x17d)+_0x3c6ba3(0x172)]))},_0x39c085['provider'+'s']=_0x27f976,_0x244aa2[_0x3c6ba3(0x148)]=_0x39c085;if(_0x97d53c[_0x3c6ba3(0x142)+'elPrimar'+_0x3c6ba3(0x172)]){const _0x166ef2=asRecord(_0x244aa2['agents']),_0x4c9cea=asRecord(_0x166ef2[_0x3c6ba3(0x1bc)]);_0x4c9cea[_0x3c6ba3(0x142)+'el']={...asRecord(_0x4c9cea[_0x3c6ba3(0x142)+'el']),'primary':_0x2b197d+'/'+_0x97d53c[_0x3c6ba3(0x142)+_0x3c6ba3(0x17d)+_0x3c6ba3(0x172)]},_0x166ef2[_0x3c6ba3(0x1bc)]=_0x4c9cea,_0x244aa2[_0x3c6ba3(0x185)]=_0x166ef2;}return await _0x1c1127(_0x244aa2,'self-ope'+'rated\x20mo'+_0x3c6ba3(0x137)+_0x3c6ba3(0x140)),{'ok':!![]};}async function _0x365d4e({callbackUrl:_0x4f6f0e,secret:_0x531b9a}){const _0x4f69e8=_0x272f25,_0x31a166=await _0x2cfab7(),_0x424d32=asRecord(_0x31a166[_0x4f69e8(0x1b4)]),_0xa73ad2=asRecord(_0x424d32[_0x4f69e8(0x1a2)]),_0x25c72b=asRecord(_0xa73ad2[ASK_USER_QUESTION_PLUGIN_ID]);return _0xa73ad2[ASK_USER_QUESTION_PLUGIN_ID]={..._0x25c72b,'enabled':!![],'config':{...asRecord(_0x25c72b[_0x4f69e8(0x168)]),'callbackUrl':_0x4f6f0e,'secret':_0x531b9a}},_0x424d32['entries']=_0xa73ad2,_0x424d32[_0x4f69e8(0x1af)]=dedupeStrings([...(Array[_0x4f69e8(0x171)](_0x424d32[_0x4f69e8(0x1af)])?_0x424d32[_0x4f69e8(0x1af)]:[])[_0x4f69e8(0x181)](Boolean),ASK_USER_QUESTION_PLUGIN_ID]),_0x31a166[_0x4f69e8(0x1b4)]=_0x424d32,await _0x1c1127(_0x31a166,''),{'ok':!![]};}async function _0x1c1127(_0x165aa6,_0x141441=''){const _0x208fcc=_0x272f25;_0x5c939f(),await _0x502002(_0x165aa6,_0x141441||_0x208fcc(0x158)+_0x208fcc(0x18e)+'persiste'+'d'),await writeJsonFile(_0x49914a['lastGood'+_0x208fcc(0x180)+'th'],_0x165aa6),_0xbc1f29?.[_0x208fcc(0x1bb)]('last-goo'+_0x208fcc(0x179)+_0x208fcc(0x13e)+'g\x20writte'+'n',{'path':_0x49914a[_0x208fcc(0x16b)+'ConfigPa'+'th'],'reason':_0x141441||'openclaw'+_0x208fcc(0x18e)+_0x208fcc(0x145)+'d'});if(_0x141441)_0xf2e71(_0x141441);}function _0x5c939f(){if(_0x569d3c)_0x56b9e0+=0x1;}function _0x364aea(_0x2cb0d5){_0x4fa935=_0x2cb0d5;}function _0xf2e71(_0x51c0e1){const _0x492516=_0x272f25;if(!_0x4fa935)return;if(_0x10b720)clearTimeout(_0x10b720);_0xbc1f29?.[_0x492516(0x1bb)](_0x492516(0x17a)+_0x492516(0x15c)+_0x492516(0x1c0)+_0x492516(0x15a)+_0x492516(0x159)+'ge',{'reason':_0x51c0e1,'debounceMs':0xfa}),_0x10b720=setTimeout(()=>_0x4fa935(_0x51c0e1),0xfa);}function _0x3e9767(){const _0x49a100=_0x272f25;unwatchFile(_0x49914a['configPa'+'th']),_0x569d3c=!![],watchFile(_0x49914a[_0x49a100(0x189)+'th'],{'interval':0x3e8},(_0x439abe,_0x1c2e06)=>{const _0x3c30dd=_0x49a100;if(_0x439abe[_0x3c30dd(0x1c6)]===_0x1c2e06['mtimeMs'])return;if(_0x56b9e0>0x0){_0x56b9e0-=0x1,_0xbc1f29?.[_0x3c30dd(0x1bb)](_0x3c30dd(0x183)+_0x3c30dd(0x17f)+'her\x20igno'+_0x3c30dd(0x194)+_0x3c30dd(0x182)+'te',{'configPath':_0x49914a[_0x3c30dd(0x189)+'th'],'ignoredConfigWatchReloads':_0x56b9e0});return;}_0xbc1f29?.[_0x3c30dd(0x1bb)](_0x3c30dd(0x183)+_0x3c30dd(0x17f)+_0x3c30dd(0x155)+'rved\x20ext'+_0x3c30dd(0x1ac)+_0x3c30dd(0x1ad),{'configPath':_0x49914a[_0x3c30dd(0x189)+'th']}),_0xf2e71(_0x3c30dd(0x154)+_0x3c30dd(0x184));});}function _0x3ac860(){const _0x1b51f0=_0x272f25;if(_0x10b720)clearTimeout(_0x10b720);unwatchFile(_0x49914a[_0x1b51f0(0x189)+'th']),_0x569d3c=![],_0x56b9e0=0x0;}return{'paths':_0x49914a,'resolveConfigPath':_0x33721b,'resolveStateDir':_0xbcc4d0,'resolveDeviceIdentityPath':_0x3dce05,'ensureConfigPathEnv':_0x53c077,'ensureInitialConfig':_0x294036,'ensureGatewaySettings':_0x1e1212,'readConfig':_0x2cfab7,'writeConfig':_0x502002,'syncRuntimePlugins':_0x80672c,'getModelSettings':_0x4aa76f,'setModelSettings':_0x2329b4,'setSelfOperatedModels':_0x1f0acc,'ensureAskUserQuestionPluginConfig':_0x365d4e,'markConfigWriteHandledInternally':_0x5c939f,'setGatewayRestartHandler':_0x364aea,'watchConfigChanges':_0x3e9767,'dispose':_0x3ac860};}
@@ -1 +1 @@
1
- const _0x30be22=_0x3992;(function(_0x5ce907,_0x27afff){const _0x32641c=_0x3992,_0x3fe9fe=_0x5ce907();while(!![]){try{const _0x50fd1b=parseInt(_0x32641c(0x1c6))/0x1*(-parseInt(_0x32641c(0x23a))/0x2)+-parseInt(_0x32641c(0x191))/0x3*(parseInt(_0x32641c(0x22c))/0x4)+-parseInt(_0x32641c(0x180))/0x5+parseInt(_0x32641c(0x1c2))/0x6*(parseInt(_0x32641c(0x1aa))/0x7)+-parseInt(_0x32641c(0x18f))/0x8*(-parseInt(_0x32641c(0x1b1))/0x9)+-parseInt(_0x32641c(0x19b))/0xa*(-parseInt(_0x32641c(0x213))/0xb)+parseInt(_0x32641c(0x20e))/0xc*(-parseInt(_0x32641c(0x22f))/0xd);if(_0x50fd1b===_0x27afff)break;else _0x3fe9fe['push'](_0x3fe9fe['shift']());}catch(_0x416d2d){_0x3fe9fe['push'](_0x3fe9fe['shift']());}}}(_0x4d34,0x57724));import _0x522c0b from'electron';import{fileURLToPath}from'node:url';import{dirname,join,resolve}from'node:path';import{readFile,writeFile}from'node:fs/promises';import{loadShellConfig}from'@wujie-shell/config';import{createConfigController}from'../config-controller.mjs';import{createGatewayController}from'../gateway-controller.mjs';const __dirname=dirname(fileURLToPath(import.meta.url)),preloadPath=join(__dirname,'preload.'+'mjs'),{app,BrowserWindow,dialog,globalShortcut,ipcMain,shell}=_0x522c0b,DEVTOOLS_ACCELERATOR='CommandO'+_0x30be22(0x1d7)+_0x30be22(0x238);let mainWindow=null,shellConfig=null,configController=null,gatewayController=null,bootError=null;function _0x3992(_0x392fb6,_0x2292e2){_0x392fb6=_0x392fb6-0x17b;const _0x4d34c8=_0x4d34();let _0x399250=_0x4d34c8[_0x392fb6];return _0x399250;}function resolveProjectRoot(){const _0x166b86=_0x30be22;return resolve(process.env.WUJIE_SHELL_PROJECT_ROOT||process[_0x166b86(0x1eb)]());}function broadcast(_0xd6dba7,_0x261039){const _0x5c7a5f=_0x30be22;for(const _0x16e5de of BrowserWindow[_0x5c7a5f(0x247)+_0x5c7a5f(0x19e)]()){!_0x16e5de[_0x5c7a5f(0x214)+_0x5c7a5f(0x227)][_0x5c7a5f(0x1ba)+_0x5c7a5f(0x1ee)]()&&_0x16e5de[_0x5c7a5f(0x214)+_0x5c7a5f(0x227)][_0x5c7a5f(0x23e)](_0x5c7a5f(0x1d5)+_0x5c7a5f(0x1c8)+'t',{'name':_0xd6dba7,'payload':_0x261039});}}function openDevToolsForActiveContext(){const _0x43e4de=_0x30be22,_0x1d913e=BrowserWindow['getFocus'+_0x43e4de(0x1fb)]()||mainWindow;if(!_0x1d913e||_0x1d913e[_0x43e4de(0x1ba)+_0x43e4de(0x1ee)]())return{'ok':![]};return _0x1d913e[_0x43e4de(0x214)+_0x43e4de(0x227)][_0x43e4de(0x1a3)+_0x43e4de(0x242)]({'mode':_0x43e4de(0x1ea)}),_0x1d913e[_0x43e4de(0x214)+_0x43e4de(0x227)]['send'](_0x43e4de(0x1d5)+'ell:even'+'t',{'name':_0x43e4de(0x1a9)+_0x43e4de(0x187)+'t','payload':{'accelerator':DEVTOOLS_ACCELERATOR}}),{'ok':!![]};}function registerShellShortcuts(){const _0x4f4af9=_0x30be22;globalShortcut[_0x4f4af9(0x248)+'er'](DEVTOOLS_ACCELERATOR);const _0x3610ce=globalShortcut[_0x4f4af9(0x234)](DEVTOOLS_ACCELERATOR,openDevToolsForActiveContext);!_0x3610ce&&console[_0x4f4af9(0x1b3)](_0x4f4af9(0x1ec)+_0x4f4af9(0x1bf)+_0x4f4af9(0x190)+'register'+_0x4f4af9(0x200)+_0x4f4af9(0x18d)+DEVTOOLS_ACCELERATOR);}async function createWindow(){const _0x4f8da1=_0x30be22;mainWindow=new BrowserWindow({'width':0x49c,'height':0x30c,'minWidth':0x384,'minHeight':0x26c,'title':shellConfig[_0x4f8da1(0x211)+'ame'],'backgroundColor':'#f8fafc','titleBarStyle':process[_0x4f8da1(0x1f4)]===_0x4f8da1(0x1dd)?'hiddenIn'+_0x4f8da1(0x220):_0x4f8da1(0x1e0),'webPreferences':{'preload':preloadPath,'contextIsolation':!![],'nodeIntegration':![],'sandbox':![]}});const _0x5517c0=process.env.VITE_DEV_SERVER_URL;_0x5517c0?(await mainWindow[_0x4f8da1(0x20d)](_0x5517c0),process.env.WUJIE_SHELL_OPEN_DEVTOOLS==='1'&&mainWindow[_0x4f8da1(0x214)+'nts'][_0x4f8da1(0x1a3)+_0x4f8da1(0x242)]({'mode':_0x4f8da1(0x1ea)})):await mainWindow['loadFile'](join(shellConfig['projectR'+'oot'],_0x4f8da1(0x193),'index.ht'+'ml'));}function installIpcHandlers(){const _0x3b64d0=_0x30be22,_0x18c629=(_0x25b8d2,_0x4dfac9)=>{const _0x31c614=_0x3992;ipcMain[_0x31c614(0x249)](_0x25b8d2,async(_0x20d26e,_0x50c956)=>_0x4dfac9(_0x20d26e,_0x50c956));},_0x56364d=()=>{const _0x49d8e4=_0x3992;if(!gatewayController)throw new Error(bootError?_0x49d8e4(0x1d5)+_0x49d8e4(0x1fa)+'\x20failed:'+'\x20'+bootError:_0x49d8e4(0x1d5)+_0x49d8e4(0x1b6)+'way\x20is\x20n'+'ot\x20initi'+_0x49d8e4(0x1ae));return gatewayController;};_0x18c629(_0x3b64d0(0x217),async()=>({'name':shellConfig[_0x3b64d0(0x211)+'ame'],'version':app[_0x3b64d0(0x1ab)+'on'](),'appId':shellConfig[_0x3b64d0(0x223)],'dataDir':shellConfig['dataDir']})),_0x18c629(_0x3b64d0(0x21b)+_0x3b64d0(0x1b9),async(_0x5b110f,_0x4a7400)=>{const _0x4ef77d=_0x3b64d0,_0x3ac688=typeof _0x4a7400===_0x4ef77d(0x1f6)?_0x4a7400:'';if(!_0x3ac688)return{'ok':![]};return await shell[_0x4ef77d(0x1a7)+_0x4ef77d(0x1e8)](_0x3ac688),{'ok':!![]};}),_0x18c629(_0x3b64d0(0x1bb)+'inimize',_0x3b5c12=>{const _0x48019b=_0x3b64d0;return BrowserWindow[_0x48019b(0x1db)+_0x48019b(0x1d8)](_0x3b5c12[_0x48019b(0x1f9)])?.[_0x48019b(0x19a)](),{'ok':!![]};}),_0x18c629(_0x3b64d0(0x1f3)+_0x3b64d0(0x221)+_0x3b64d0(0x17c),_0x23eb02=>{const _0x2f895f=_0x3b64d0,_0x481cfd=BrowserWindow[_0x2f895f(0x1db)+_0x2f895f(0x1d8)](_0x23eb02[_0x2f895f(0x1f9)]);if(!_0x481cfd)return{'isMaximized':![]};if(_0x481cfd[_0x2f895f(0x1b8)+_0x2f895f(0x246)]())_0x481cfd['unmaximi'+'ze']();else _0x481cfd['maximize']();return{'isMaximized':_0x481cfd[_0x2f895f(0x1b8)+'zed']()};}),_0x18c629(_0x3b64d0(0x1a4)+_0x3b64d0(0x245),_0x10ffe7=>{const _0xb9c690=_0x3b64d0;return BrowserWindow['fromWebC'+_0xb9c690(0x1d8)](_0x10ffe7['sender'])?.[_0xb9c690(0x19f)](),{'ok':!![]};}),_0x18c629(_0x3b64d0(0x231)+_0x3b64d0(0x1ce)+_0x3b64d0(0x242),()=>openDevToolsForActiveContext()),_0x18c629(_0x3b64d0(0x1c7)+':runtime'+_0x3b64d0(0x1e6),()=>_0x56364d()[_0x3b64d0(0x20b)+_0x3b64d0(0x1df)]()),_0x18c629(_0x3b64d0(0x1c7)+_0x3b64d0(0x1b0)+_0x3b64d0(0x236),()=>_0x56364d()[_0x3b64d0(0x1be)+'s']()),_0x18c629(_0x3b64d0(0x1c7)+_0x3b64d0(0x1b0)+_0x3b64d0(0x1de),()=>_0x56364d()['restart'](_0x3b64d0(0x1c0)+'\x20request')),_0x18c629('openclaw'+':gateway'+_0x3b64d0(0x1ff),(_0x1127b5,_0x28ce3b={})=>_0x56364d()[_0x3b64d0(0x1e4)+'tLogs'](_0x28ce3b?.[_0x3b64d0(0x201)]??0xc8)),_0x18c629(_0x3b64d0(0x1c7)+_0x3b64d0(0x1ac)+'ask-user'+_0x3b64d0(0x1c5)+'n',(_0x859c9a,_0x3874c5)=>_0x56364d()[_0x3b64d0(0x1c4)+_0x3b64d0(0x21f)+_0x3b64d0(0x18c)](_0x3874c5)),_0x18c629(_0x3b64d0(0x225)+_0x3b64d0(0x1d1),()=>_0x56364d()[_0x3b64d0(0x1f7)][_0x3b64d0(0x1e1)]()),_0x18c629(_0x3b64d0(0x1f8)+_0x3b64d0(0x22a),(_0x18ad9e,_0x4c91ba)=>_0x56364d()[_0x3b64d0(0x194)][_0x3b64d0(0x199)](_0x4c91ba)),_0x18c629(_0x3b64d0(0x195)+_0x3b64d0(0x1d2),(_0x3739e3,_0x34addd)=>_0x56364d()['sessions'][_0x3b64d0(0x196)](_0x34addd)),_0x18c629(_0x3b64d0(0x195)+_0x3b64d0(0x186),(_0x72f903,_0x2eb163)=>_0x56364d()[_0x3b64d0(0x195)][_0x3b64d0(0x1e1)](_0x2eb163)),_0x18c629(_0x3b64d0(0x195)+_0x3b64d0(0x1b7),(_0x333f60,_0x70d1b5)=>_0x56364d()['sessions'][_0x3b64d0(0x1fd)](_0x70d1b5)),_0x18c629(_0x3b64d0(0x1cf)+_0x3b64d0(0x198),(_0x124dfa,_0x4b788c)=>_0x56364d()[_0x3b64d0(0x192)][_0x3b64d0(0x1b5)](_0x4b788c)),_0x18c629(_0x3b64d0(0x1f2)+'rt',(_0x49d7c3,_0x1d5824)=>_0x56364d()[_0x3b64d0(0x192)]['abort'](_0x1d5824)),_0x18c629('chat:his'+_0x3b64d0(0x1a1),(_0x29d3a3,_0x108d39)=>_0x56364d()['chat'][_0x3b64d0(0x189)](_0x108d39)),_0x18c629(_0x3b64d0(0x244)+'ad',(_0x5082c0,_0x6f37d4)=>readFile(_0x6f37d4,_0x3b64d0(0x1a5))),_0x18c629(_0x3b64d0(0x244)+'ad-binar'+'y',async(_0x56a779,_0x5c8e89)=>new Uint8Array(await readFile(_0x5c8e89))),_0x18c629('files:wr'+_0x3b64d0(0x1cc),async(_0x3388e7,_0x20a4d7={})=>{const _0xb618ee=_0x3b64d0;return await writeFile(_0x20a4d7[_0xb618ee(0x219)],_0x20a4d7['content']??'','utf8'),{'ok':!![]};}),_0x18c629('files:wr'+'ite-bina'+'ry',async(_0x420760,_0x58768f={})=>{const _0x5a9ca2=_0x3b64d0;return await writeFile(_0x58768f[_0x5a9ca2(0x219)],Buffer[_0x5a9ca2(0x1b2)](_0x58768f[_0x5a9ca2(0x1fe)]??[])),{'ok':!![]};}),_0x18c629(_0x3b64d0(0x19d)+_0x3b64d0(0x235)+'e',async(_0x5e4e87,_0x316a85={})=>{const _0x45eca3=_0x3b64d0,_0x4d4c06=await dialog[_0x45eca3(0x21a)+_0x45eca3(0x232)](BrowserWindow['fromWebC'+_0x45eca3(0x1d8)](_0x5e4e87['sender'])??mainWindow,{'title':typeof _0x316a85['title']==='string'?_0x316a85[_0x45eca3(0x212)]:undefined,'properties':[_0x45eca3(0x1ef),..._0x316a85[_0x45eca3(0x1da)+_0x45eca3(0x197)]?[_0x45eca3(0x1da)+_0x45eca3(0x197)]:[]],'filters':Array[_0x45eca3(0x203)](_0x316a85[_0x45eca3(0x23c)])?_0x316a85[_0x45eca3(0x23c)]:undefined});return{'canceled':_0x4d4c06[_0x45eca3(0x1af)],'paths':_0x4d4c06[_0x45eca3(0x1b4)+'s']};}),_0x18c629(_0x3b64d0(0x19d)+_0x3b64d0(0x1a0)+_0x3b64d0(0x24e),async(_0x499d27,_0x20cae1={})=>{const _0x59d307=_0x3b64d0,_0x1a522f=await dialog[_0x59d307(0x21a)+_0x59d307(0x232)](BrowserWindow[_0x59d307(0x1db)+'ontents'](_0x499d27[_0x59d307(0x1f9)])??mainWindow,{'title':typeof _0x20cae1['title']===_0x59d307(0x1f6)?_0x20cae1['title']:undefined,'properties':[_0x59d307(0x22e)+_0x59d307(0x23d)]});return{'canceled':_0x1a522f['canceled'],'paths':_0x1a522f['filePath'+'s']};}),_0x18c629(_0x3b64d0(0x185)+_0x3b64d0(0x17d)+_0x3b64d0(0x239),()=>_0x56364d()[_0x3b64d0(0x185)+'e'][_0x3b64d0(0x22d)+_0x3b64d0(0x215)]()),_0x18c629('workspac'+_0x3b64d0(0x22b)+_0x3b64d0(0x1f5),async()=>{const _0x1509bf=_0x3b64d0,_0x41b2c2=await _0x56364d()['workspac'+'e'][_0x1509bf(0x22d)+_0x1509bf(0x215)]();return await shell[_0x1509bf(0x206)](_0x41b2c2[_0x1509bf(0x219)]),{'ok':!![],'path':_0x41b2c2[_0x1509bf(0x219)]};}),_0x18c629('workspac'+_0x3b64d0(0x237)+_0x3b64d0(0x21e),()=>_0x56364d()['workspac'+'e'][_0x3b64d0(0x1a6)+_0x3b64d0(0x210)]()),_0x18c629(_0x3b64d0(0x185)+_0x3b64d0(0x24a)+_0x3b64d0(0x1a2)+_0x3b64d0(0x1e9),(_0x4623e4,_0x2a1d06)=>_0x56364d()[_0x3b64d0(0x185)+'e'][_0x3b64d0(0x21d)+_0x3b64d0(0x1e3)+'xt'](_0x2a1d06)),_0x18c629(_0x3b64d0(0x195)+_0x3b64d0(0x1d9),(_0x3f5f4c,_0xc9ce4c)=>_0x56364d()[_0x3b64d0(0x195)][_0x3b64d0(0x24b)](_0xc9ce4c)),_0x18c629(_0x3b64d0(0x195)+_0x3b64d0(0x240)+_0x3b64d0(0x1d0),()=>_0x56364d()[_0x3b64d0(0x195)][_0x3b64d0(0x17b)+'ys']()),_0x18c629(_0x3b64d0(0x195)+':set-pin'+_0x3b64d0(0x18a),(_0x1e0dc5,_0x331d33)=>_0x56364d()['sessions'][_0x3b64d0(0x20a)+'dKeys'](_0x331d33)),_0x18c629(_0x3b64d0(0x202)+'nstall',(_0x2ab966,_0x2b27f3)=>_0x56364d()[_0x3b64d0(0x194)][_0x3b64d0(0x1c3)](_0x2b27f3)),_0x18c629(_0x3b64d0(0x1d3)+_0x3b64d0(0x1bc),(_0x18db62,_0x13f316)=>_0x56364d()[_0x3b64d0(0x194)][_0x3b64d0(0x188)](_0x13f316)),_0x18c629(_0x3b64d0(0x1d4)+_0x3b64d0(0x20c),(_0x1716f4,_0x146ed5)=>_0x56364d()[_0x3b64d0(0x194)][_0x3b64d0(0x1fd)](_0x146ed5)),_0x18c629(_0x3b64d0(0x1f1)+'t',(_0x246281,_0x4fd1fe)=>_0x56364d()[_0x3b64d0(0x226)]['list'](_0x4fd1fe)),_0x18c629(_0x3b64d0(0x1e7)+'ate',(_0x4bba35,_0x37b967)=>_0x56364d()['cron'][_0x3b64d0(0x196)](_0x37b967)),_0x18c629(_0x3b64d0(0x18b)+_0x3b64d0(0x18e),(_0x17a98f,_0xc5f7f9)=>_0x56364d()[_0x3b64d0(0x226)][_0x3b64d0(0x188)](_0xc5f7f9)),_0x18c629('cron:rem'+_0x3b64d0(0x230),(_0x25a351,_0x11493c)=>_0x56364d()['cron'][_0x3b64d0(0x1d6)](_0x11493c)),_0x18c629(_0x3b64d0(0x1ca)+_0x3b64d0(0x23f),(_0x226733,_0x8d6096)=>_0x56364d()[_0x3b64d0(0x226)][_0x3b64d0(0x216)](_0x8d6096)),_0x18c629('cron:log'+'s',(_0x156f4a,_0x556e73)=>_0x56364d()[_0x3b64d0(0x226)][_0x3b64d0(0x24c)](_0x556e73)),_0x18c629(_0x3b64d0(0x19c)+_0x3b64d0(0x204),()=>_0x56364d()[_0x3b64d0(0x205)]['settings']()),_0x18c629(_0x3b64d0(0x19c)+_0x3b64d0(0x1cd)+_0x3b64d0(0x1dc),()=>_0x56364d()[_0x3b64d0(0x205)][_0x3b64d0(0x243)+_0x3b64d0(0x229)]()),_0x18c629(_0x3b64d0(0x1ad)+_0x3b64d0(0x1fc)+_0x3b64d0(0x182),()=>_0x56364d()['models'][_0x3b64d0(0x1e2)+_0x3b64d0(0x182)]()),_0x18c629('config:r'+_0x3b64d0(0x21c),()=>_0x56364d()['config']['read']());}async function boot(){const _0x11c18e=_0x30be22;shellConfig=await loadShellConfig(resolveProjectRoot()),app[_0x11c18e(0x184)](shellConfig['productN'+'ame']),configController=createConfigController(shellConfig),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app[_0x11c18e(0x1ab)+'on']()});for(const _0xf8795d of['gateway-'+_0x11c18e(0x199),_0x11c18e(0x1a8)+_0x11c18e(0x23b),'chat-str'+_0x11c18e(0x1cb)+'t',_0x11c18e(0x181)+_0x11c18e(0x241),_0x11c18e(0x1c9)+_0x11c18e(0x24d),_0x11c18e(0x183)+'pdated','ask-user'+_0x11c18e(0x1c5)+'n']){gatewayController['on'](_0xf8795d,_0x1ada66=>broadcast(_0xf8795d,_0x1ada66));}installIpcHandlers(),registerShellShortcuts(),await createWindow(),await gatewayController[_0x11c18e(0x207)]();}function _0x4d34(){const _0x15cf5b=['104094jIgaUM','install','answerAs','-questio','29wePMnp','openclaw','ell:even','agent-ev','cron:run','eam-even','ite','elected-','pen-devt','chat:str','keys','ist',':create','skills:u','skills:d','wujie-sh','remove','rControl','ontents',':rename','multiSel','fromWebC','model-id','darwin','-restart','nfo','default','list','customMo','redConte','getRecen','will-qui','-info','cron:cre','rnal','ontext','detach','cwd','[wujie-s','uit','yed','openFile','efault','cron:lis','chat:abo','window:t','platform','irectory','string','agents','skills:s','sender','ell\x20boot','edWindow','ustom-mo','delete','content','-logs','\x20shortcu','limit','skills:i','isArray','ettings','models','openPath','start','ll-close','length','setPinne','runtimeI','elete','loadURL','5075772tPpPzx','stop','ntext','productN','title','11LIgYqP','webConte','yInfo','runOnce','app:info','message','path','showOpen','app:open','ead','writeSha','-context','kUserQue','set','oggle-ma','window-a','appId','preventD','agents:l','cron','nts','catch','ModelId','tatus','e:open-d','8UhcUAJ','director','openDire','13lTTsCe','ove','window:o','Dialog','whenRead','register','lect-fil','-status','e:shared','+Shift+I','ory-info','10952TAHMUA','log','filters','ctory','send','-once',':pinned-','updated','ools','selected','files:re','lose','zed','getAllWi','unregist','handle','e:write-','rename','logs','ent','ectory','pinnedKe','ximize','e:direct','activate','quit','945135zZZjio','session-','dels','agents-u','setName','workspac',':list','-shortcu','update','history','ned-keys','cron:upd','stion','t:\x20','ate','2536qfheTB','iled\x20to\x20','313899cutMbU','chat','dist','skills','sessions','create','ections','eam','status','minimize','6424330xOiaDj','models:s','files:se','ndows','close','lect-dir','tory','shared-c','openDevT','window:c','utf8','sharedCo','openExte','gateway-','devtools','154TYaXGk','getVersi',':answer-','models:c','alized','canceled',':gateway','8919KcbRJH','from','warn','filePath','stream','ell\x20gate',':delete','isMaximi','-url','isDestro','window:m','pdate','before-q','getStatu','hell]\x20fa','renderer','then'];_0x4d34=function(){return _0x15cf5b;};return _0x4d34();}app['on'](_0x30be22(0x222)+_0x30be22(0x208)+'d',()=>{const _0x1e4c9e=_0x30be22;if(process['platform']!==_0x1e4c9e(0x1dd))app[_0x1e4c9e(0x17f)]();}),app['on'](_0x30be22(0x17e),async()=>{const _0x58e1f3=_0x30be22;BrowserWindow[_0x58e1f3(0x247)+_0x58e1f3(0x19e)]()[_0x58e1f3(0x209)]===0x0&&shellConfig&&await createWindow();}),app['on'](_0x30be22(0x1bd)+_0x30be22(0x1ed),_0x47fd0d=>{const _0x1743eb=_0x30be22;if(!gatewayController)return;_0x47fd0d[_0x1743eb(0x224)+_0x1743eb(0x1f0)](),void gatewayController[_0x1743eb(0x20f)]()['finally'](()=>{const _0x5b51c8=_0x1743eb;gatewayController=null,app[_0x5b51c8(0x17f)]();});}),app['on'](_0x30be22(0x1e5)+'t',()=>{const _0x2cd56e=_0x30be22;globalShortcut[_0x2cd56e(0x248)+'er'](DEVTOOLS_ACCELERATOR);}),app[_0x30be22(0x233)+'y']()[_0x30be22(0x1c1)](boot)[_0x30be22(0x228)](_0x5c754d=>{const _0x2b492e=_0x30be22;bootError=_0x5c754d instanceof Error?_0x5c754d[_0x2b492e(0x218)]:String(_0x5c754d),console['error']('[wujie-s'+_0x2b492e(0x1bf)+_0x2b492e(0x190)+'boot\x20ele'+'ctron\x20ma'+'in',_0x5c754d);});
1
+ const _0x108741=_0x961c;(function(_0x4f16bf,_0x3ac052){const _0x2fbe58=_0x961c,_0xced5d6=_0x4f16bf();while(!![]){try{const _0x20ed39=parseInt(_0x2fbe58(0x299))/0x1*(parseInt(_0x2fbe58(0x21b))/0x2)+-parseInt(_0x2fbe58(0x245))/0x3*(parseInt(_0x2fbe58(0x28d))/0x4)+-parseInt(_0x2fbe58(0x274))/0x5+parseInt(_0x2fbe58(0x283))/0x6*(parseInt(_0x2fbe58(0x1c7))/0x7)+-parseInt(_0x2fbe58(0x254))/0x8*(parseInt(_0x2fbe58(0x252))/0x9)+-parseInt(_0x2fbe58(0x1b0))/0xa+parseInt(_0x2fbe58(0x21e))/0xb;if(_0x20ed39===_0x3ac052)break;else _0xced5d6['push'](_0xced5d6['shift']());}catch(_0x52d223){_0xced5d6['push'](_0xced5d6['shift']());}}}(_0x1576,0x95599));import _0x41831d from'electron';function _0x961c(_0x59dec7,_0xc25447){_0x59dec7=_0x59dec7-0x182;const _0x15768d=_0x1576();let _0x961c88=_0x15768d[_0x59dec7];return _0x961c88;}import{fileURLToPath}from'node:url';import{dirname,join,resolve}from'node:path';function _0x1576(){const _0x40d780=['oggle-ma','ernal\x20ur','binary\x20f','n-direct','delete','byteLeng','configPa','cron:cre',':create','minimize','agents:l','content','\x20excepti','isMaximi','pinnedKe','send','ipc\x20requ','filePath','preventD','ll-close','l\x20reques','1921323kJPQEy','dow\x20load','window:m','window:c','filters','cron:run','logs:exp','pping\x20ga','context','teway','\x20failed:','\x20failed','setPinne','299556pNQTov','-restart','192NtrldX','dels','loadFile','runtimeI','cron','chrome','platform','irectory','path','agents-u','files:se','ximize','settings','ectory\x20o','workspac','wujie-sh','-questio','isArray','efault','hiddenIn','tory','pdated','config','trim','shared-c','appId','before\x20q','create','open\x20ext','limit','ndows','dRejecti','969200WdRiHf','dev','ontext','boot\x20ele','quit','-logs','ocess-go','ile\x20read','remove','whenRead',':answer-','length','openclaw','devtools','loadURL','254202qMpaVL','redConte','message','unregist','e:direct','set','openPath','chat:str','ent','odels','4TRhqfK','yInfo',':delete','utf8','est\x20fail','canceled','getVersi','elected-','ion','models:s','ile\x20writ','install','373tfcYXt','answerAs','-status','-info','ot\x20compl','\x20log','ell:even','est\x20comp','cron:log','finally','ned-keys','select\x20f','-once','file\x20rea','senderFr','d\x20comple','getRecen','stop','ocess\x20go','dataDir','electron','sessions','[wujie-s','info','object','rocess-g','map','logs','Exceptio','uit:\x20sto','dist','index.ht','projectR','ontents',':pinned-','config:r','ctron\x20ma','kUserQue','pened','then','et-self-','operated','meta','rename','ort','ove','est\x20star','oot','window:o','peratedM','agents','chat','cron:upd','logs:ope','logs:wri','preload.','restart','11788880AIMLMG','list','ory\x20open','uncaught','nstall','eam','ngs','\x20process','model-id','read','+Shift+I','skills','t:\x20','renderer','logsDir','productN','ools','nfo','ite-bina','zed','sharedCo','getAllWi','openExte','28GLmOMg','files:re','getURL','stion',':rename','darwin','updated','ctory','dKeys','logs\x20dir','session-','default','ettings','e:shared','nts','multiSel','status','render-p','main\x20win','file\x20wri','detach',':set-pin','inimize','ite','lose','ot\x20faile','select\x20d','versions','sender','gateway-','main','ory-info','close','\x20request','hell]\x20fa','ell\x20gate','prod','unhandle','uit','openDire','files','customMo','ory','targetDi','ead','ate','files:wr','level','app:info','title','e\x20direct','cwd','#f8fafc','setSelfO','fromWebC',':gateway','writeSha','eted','logs\x20exp','models','now','runOnce','agent-ev','ustom-mo','-context','ad-binar','string','CommandO','isDestro','Dialog','e:open-d','getFocus','director','paths','ask-user','ile\x20comp','ame','\x20complet','will-qui','iled\x20to\x20','error','ot\x20initi','setName','webConte','1046ZsRndT','ections','register','33650925XIWkaw','elete','maximize','-url','window:t','\x20main\x20wi','d\x20failed','ndow','ted','handle','one',':list','alized','getStatu','chat-str','app:open','creating','arch'];_0x1576=function(){return _0x40d780;};return _0x1576();}import{readFile,stat,writeFile}from'node:fs/promises';import{loadShellConfig}from'@wujie-shell/config';import{createConfigController}from'../config-controller.mjs';import{createGatewayController}from'../gateway-controller.mjs';import{createShellLogger,exportLogsArchive,summarizeError,summarizePayload,summarizeText,toHomePath}from'../logging.mjs';const __dirname=dirname(fileURLToPath(import.meta.url)),preloadPath=join(__dirname,_0x108741(0x1ae)+'mjs'),{app,BrowserWindow,dialog,globalShortcut,ipcMain,shell}=_0x41831d,DEVTOOLS_ACCELERATOR=_0x108741(0x20a)+'rControl'+_0x108741(0x1ba);let mainWindow=null,shellConfig=null,configController=null,gatewayController=null,bootError=null,mainLogger=null,ipcLogger=null,filesLogger=null,rendererLogger=null;function getMode(){const _0x32e366=_0x108741;return process.env.VITE_DEV_SERVER_URL?_0x32e366(0x275):_0x32e366(0x1eb);}function resolveProjectRoot(){const _0x3abb58=_0x108741;return resolve(process.env.WUJIE_SHELL_PROJECT_ROOT||process[_0x3abb58(0x1fa)]());}function broadcast(_0x4e039c,_0x56a066){const _0x2284ff=_0x108741;for(const _0x38f850 of BrowserWindow[_0x2284ff(0x1c5)+_0x2284ff(0x272)]()){!_0x38f850[_0x2284ff(0x21a)+'nts'][_0x2284ff(0x20b)+'yed']()&&_0x38f850[_0x2284ff(0x21a)+_0x2284ff(0x1d5)]['send']('wujie-sh'+_0x2284ff(0x29f)+'t',{'name':_0x4e039c,'payload':_0x56a066});}}function openDevToolsForActiveContext(){const _0x42d2a2=_0x108741,_0x393fde=BrowserWindow[_0x42d2a2(0x20e)+'edWindow']()||mainWindow;if(!_0x393fde||_0x393fde[_0x42d2a2(0x20b)+'yed']())return{'ok':![]};return _0x393fde['webConte'+'nts']['openDevT'+_0x42d2a2(0x1c0)]({'mode':_0x42d2a2(0x1db)}),_0x393fde[_0x42d2a2(0x21a)+_0x42d2a2(0x1d5)][_0x42d2a2(0x23f)](_0x42d2a2(0x263)+_0x42d2a2(0x29f)+'t',{'name':_0x42d2a2(0x281)+'-shortcu'+'t','payload':{'accelerator':DEVTOOLS_ACCELERATOR}}),{'ok':!![]};}function registerShellShortcuts(){const _0x208b92=_0x108741;globalShortcut[_0x208b92(0x286)+'er'](DEVTOOLS_ACCELERATOR);const _0x29ba42=globalShortcut['register'](DEVTOOLS_ACCELERATOR,openDevToolsForActiveContext);!_0x29ba42&&console['warn'](_0x208b92(0x18d)+_0x208b92(0x1e9)+_0x208b92(0x216)+_0x208b92(0x21d)+'\x20shortcu'+_0x208b92(0x1bc)+DEVTOOLS_ACCELERATOR);}async function createWindow(){const _0x55cfd3=_0x108741,_0x1d3071=process.env.VITE_DEV_SERVER_URL||join(shellConfig[_0x55cfd3(0x197)+_0x55cfd3(0x1a6)],_0x55cfd3(0x195),_0x55cfd3(0x196)+'ml');mainLogger?.[_0x55cfd3(0x18e)](_0x55cfd3(0x22e)+_0x55cfd3(0x223)+_0x55cfd3(0x225),{'rendererUrl':_0x1d3071,'mode':getMode()}),mainWindow=new BrowserWindow({'width':0x49c,'height':0x30c,'minWidth':0x384,'minHeight':0x26c,'title':shellConfig[_0x55cfd3(0x1bf)+_0x55cfd3(0x213)],'backgroundColor':_0x55cfd3(0x1fb),'titleBarStyle':process['platform']===_0x55cfd3(0x1cc)?_0x55cfd3(0x267)+_0x55cfd3(0x288):_0x55cfd3(0x1d2),'webPreferences':{'preload':preloadPath,'contextIsolation':!![],'nodeIntegration':![],'sandbox':![]}});const _0x1a3cff=process.env.VITE_DEV_SERVER_URL;_0x1a3cff?(await mainWindow[_0x55cfd3(0x282)](_0x1a3cff),process.env.WUJIE_SHELL_OPEN_DEVTOOLS==='1'&&mainWindow['webConte'+'nts']['openDevT'+_0x55cfd3(0x1c0)]({'mode':_0x55cfd3(0x1db)})):await mainWindow[_0x55cfd3(0x256)](join(shellConfig[_0x55cfd3(0x197)+_0x55cfd3(0x1a6)],_0x55cfd3(0x195),_0x55cfd3(0x196)+'ml')),mainLogger?.[_0x55cfd3(0x18e)](_0x55cfd3(0x1d9)+_0x55cfd3(0x246)+'ed',{'rendererUrl':_0x1d3071,'mode':getMode()});}function installIpcHandlers(){const _0x12a34a=_0x108741,_0x5a9d02=(_0xd0e251,_0x2c77d7)=>{const _0x2fa178=_0x961c;ipcMain[_0x2fa178(0x227)](_0xd0e251,async(_0x1ef6f4,_0x2a9b22)=>{const _0x49a1e8=_0x2fa178,_0x34be4d=Date['now'](),_0x1f3721=_0x1ef6f4[_0x49a1e8(0x185)+_0x49a1e8(0x213)]?.['url']||_0x1ef6f4[_0x49a1e8(0x1e3)][_0x49a1e8(0x1c9)]();ipcLogger?.[_0x49a1e8(0x18e)]('ipc\x20requ'+_0x49a1e8(0x1a5)+'ted',{'channel':_0xd0e251,'senderUrl':_0x1f3721,'payload':summarizePayload(_0x2a9b22)});try{const _0xa3cf4a=await _0x2c77d7(_0x1ef6f4,_0x2a9b22);return ipcLogger?.['info'](_0x49a1e8(0x240)+_0x49a1e8(0x2a0)+'leted',{'channel':_0xd0e251,'durationMs':Date['now']()-_0x34be4d,'result':summarizePayload(_0xa3cf4a,{'maxDepth':0x2})}),_0xa3cf4a;}catch(_0x517f38){ipcLogger?.[_0x49a1e8(0x217)](_0x49a1e8(0x240)+_0x49a1e8(0x291)+'ed',{'channel':_0xd0e251,'durationMs':Date['now']()-_0x34be4d,'error':summarizeError(_0x517f38)});throw _0x517f38;}});},_0x5ab2ec=()=>{const _0x5b6eb4=_0x961c;if(!gatewayController)throw new Error(bootError?_0x5b6eb4(0x263)+'ell\x20boot'+_0x5b6eb4(0x24f)+'\x20'+bootError:'wujie-sh'+_0x5b6eb4(0x1ea)+'way\x20is\x20n'+_0x5b6eb4(0x218)+_0x5b6eb4(0x22a));return gatewayController;};_0x5a9d02(_0x12a34a(0x1f7),async()=>({'name':shellConfig[_0x12a34a(0x1bf)+_0x12a34a(0x213)],'version':app[_0x12a34a(0x293)+'on'](),'appId':shellConfig[_0x12a34a(0x26d)],'dataDir':shellConfig[_0x12a34a(0x18a)]})),_0x5a9d02(_0x12a34a(0x22d)+_0x12a34a(0x221),async(_0x2c5969,_0x3791f5)=>{const _0x44ea64=_0x12a34a,_0x533978=typeof _0x3791f5==='string'?_0x3791f5:'';if(!_0x533978)return{'ok':![]};return filesLogger?.[_0x44ea64(0x18e)](_0x44ea64(0x270)+_0x44ea64(0x231)+_0x44ea64(0x244)+_0x44ea64(0x226),{'url':summarizeText(_0x533978,0xa0)}),await shell[_0x44ea64(0x1c6)+'rnal'](_0x533978),{'ok':!![]};}),_0x5a9d02(_0x12a34a(0x247)+_0x12a34a(0x1dd),_0x4b4bb1=>{const _0x458373=_0x12a34a;return BrowserWindow[_0x458373(0x1fd)+'ontents'](_0x4b4bb1[_0x458373(0x1e3)])?.[_0x458373(0x239)](),{'ok':!![]};}),_0x5a9d02(_0x12a34a(0x222)+_0x12a34a(0x230)+_0x12a34a(0x25f),_0x522f64=>{const _0x2a42c3=_0x12a34a,_0x298b49=BrowserWindow[_0x2a42c3(0x1fd)+_0x2a42c3(0x198)](_0x522f64[_0x2a42c3(0x1e3)]);if(!_0x298b49)return{'isMaximized':![]};if(_0x298b49[_0x2a42c3(0x23d)+_0x2a42c3(0x1c3)]())_0x298b49['unmaximi'+'ze']();else _0x298b49[_0x2a42c3(0x220)]();return{'isMaximized':_0x298b49['isMaximi'+_0x2a42c3(0x1c3)]()};}),_0x5a9d02(_0x12a34a(0x248)+_0x12a34a(0x1df),_0x4e11c6=>{const _0x39bc3a=_0x12a34a;return BrowserWindow[_0x39bc3a(0x1fd)+'ontents'](_0x4e11c6[_0x39bc3a(0x1e3)])?.[_0x39bc3a(0x1e7)](),{'ok':!![]};}),_0x5a9d02(_0x12a34a(0x1a7)+'pen-devt'+'ools',()=>openDevToolsForActiveContext()),_0x5a9d02(_0x12a34a(0x280)+':runtime'+_0x12a34a(0x29c),()=>_0x5ab2ec()[_0x12a34a(0x257)+_0x12a34a(0x1c1)]()),_0x5a9d02(_0x12a34a(0x280)+_0x12a34a(0x1fe)+_0x12a34a(0x29b),()=>_0x5ab2ec()[_0x12a34a(0x22b)+'s']()),_0x5a9d02(_0x12a34a(0x280)+_0x12a34a(0x1fe)+_0x12a34a(0x253),()=>_0x5ab2ec()[_0x12a34a(0x1af)]('renderer'+_0x12a34a(0x1e8))),_0x5a9d02(_0x12a34a(0x280)+':gateway'+_0x12a34a(0x279),(_0x18dd3d,_0x359ae4={})=>_0x5ab2ec()[_0x12a34a(0x187)+'tLogs'](_0x359ae4?.[_0x12a34a(0x271)]??0xc8)),_0x5a9d02(_0x12a34a(0x280)+_0x12a34a(0x27e)+_0x12a34a(0x211)+_0x12a34a(0x264)+'n',(_0x35684e,_0x3f7791)=>_0x5ab2ec()[_0x12a34a(0x29a)+_0x12a34a(0x19c)+_0x12a34a(0x1ca)](_0x3f7791)),_0x5a9d02(_0x12a34a(0x23a)+'ist',()=>_0x5ab2ec()[_0x12a34a(0x1a9)][_0x12a34a(0x1b1)]()),_0x5a9d02('skills:s'+'tatus',(_0x3223c1,_0x330df2)=>_0x5ab2ec()[_0x12a34a(0x1bb)][_0x12a34a(0x1d7)](_0x330df2)),_0x5a9d02(_0x12a34a(0x18c)+_0x12a34a(0x238),(_0x5d7105,_0x1ed9b0)=>_0x5ab2ec()['sessions'][_0x12a34a(0x26f)](_0x1ed9b0)),_0x5a9d02(_0x12a34a(0x18c)+_0x12a34a(0x229),(_0x304492,_0x50227a)=>_0x5ab2ec()[_0x12a34a(0x18c)][_0x12a34a(0x1b1)](_0x50227a)),_0x5a9d02(_0x12a34a(0x18c)+_0x12a34a(0x28f),(_0xebc955,_0x3cf9bb)=>_0x5ab2ec()['sessions']['delete'](_0x3cf9bb)),_0x5a9d02(_0x12a34a(0x28a)+_0x12a34a(0x1b5),(_0x4e0834,_0x39e5c6)=>_0x5ab2ec()['chat']['stream'](_0x39e5c6)),_0x5a9d02('chat:abo'+'rt',(_0x16ab32,_0x473cb1)=>_0x5ab2ec()[_0x12a34a(0x1aa)]['abort'](_0x473cb1)),_0x5a9d02('chat:his'+_0x12a34a(0x268),(_0x482015,_0x5b87dc)=>_0x5ab2ec()[_0x12a34a(0x1aa)]['history'](_0x5b87dc)),_0x5a9d02(_0x12a34a(0x1ad)+'te',async(_0x3935e1,_0x240661={})=>{const _0x87e296=_0x12a34a,_0x45a8b0=typeof _0x240661[_0x87e296(0x1f6)]===_0x87e296(0x209)?_0x240661['level']:_0x87e296(0x18e),_0x4f33da=typeof _0x240661[_0x87e296(0x285)]===_0x87e296(0x209)?_0x240661['message']:_0x87e296(0x1bd)+_0x87e296(0x29e),_0x1e62f8=typeof _0x240661[_0x87e296(0x24d)]===_0x87e296(0x209)&&_0x240661[_0x87e296(0x24d)][_0x87e296(0x26b)]()?_0x87e296(0x1bd)+':'+_0x240661[_0x87e296(0x24d)][_0x87e296(0x26b)]():_0x87e296(0x1bd),_0x1972b1=_0x240661[_0x87e296(0x1a1)]&&typeof _0x240661['meta']===_0x87e296(0x18f)?summarizePayload(_0x240661[_0x87e296(0x1a1)]):undefined,_0x355619=rendererLogger;if(_0x355619?.[_0x45a8b0])await _0x355619[_0x45a8b0](_0x4f33da,_0x1972b1);else await _0x355619?.[_0x87e296(0x18e)](_0x4f33da,_0x1972b1);return{'ok':!![]};}),_0x5a9d02(_0x12a34a(0x24b)+_0x12a34a(0x1a3),async(_0x53068b,_0x2b89fa={})=>{const _0x2314fa=_0x12a34a,_0x51c15a=typeof _0x2b89fa[_0x2314fa(0x1f2)+'r']===_0x2314fa(0x209)&&_0x2b89fa[_0x2314fa(0x1f2)+'r'][_0x2314fa(0x26b)]()?_0x2b89fa[_0x2314fa(0x1f2)+'r']:undefined,_0x529c03=await exportLogsArchive({'logsDir':configController[_0x2314fa(0x210)][_0x2314fa(0x1be)],'targetDir':_0x51c15a,'appVersion':app['getVersi'+'on']()});return mainLogger?.[_0x2314fa(0x18e)](_0x2314fa(0x201)+'orted',{'path':toHomePath(_0x529c03[_0x2314fa(0x25c)])}),_0x529c03;}),_0x5a9d02(_0x12a34a(0x1ac)+_0x12a34a(0x233)+_0x12a34a(0x1f1),async()=>{const _0x3abc81=_0x12a34a;return await shell[_0x3abc81(0x289)](configController[_0x3abc81(0x210)]['logsDir']),mainLogger?.['info'](_0x3abc81(0x1d0)+_0x3abc81(0x261)+_0x3abc81(0x19d),{'logsDir':toHomePath(configController[_0x3abc81(0x210)][_0x3abc81(0x1be)])}),{'ok':!![],'path':configController[_0x3abc81(0x210)][_0x3abc81(0x1be)]};}),_0x5a9d02(_0x12a34a(0x1c8)+'ad',async(_0x2e611a,_0x1a748d)=>{const _0xabf51a=_0x12a34a,_0x3c1e98=Date[_0xabf51a(0x203)]();try{const _0x8a6430=await readFile(_0x1a748d,'utf8');return filesLogger?.[_0xabf51a(0x18e)]('file\x20rea'+_0xabf51a(0x186)+_0xabf51a(0x226),{'path':toHomePath(_0x1a748d),'bytes':Buffer[_0xabf51a(0x235)+'th'](_0x8a6430),'durationMs':Date[_0xabf51a(0x203)]()-_0x3c1e98}),_0x8a6430;}catch(_0xffb926){filesLogger?.[_0xabf51a(0x217)](_0xabf51a(0x184)+_0xabf51a(0x224),{'path':toHomePath(_0x1a748d),'durationMs':Date[_0xabf51a(0x203)]()-_0x3c1e98,'error':summarizeError(_0xffb926)});throw _0xffb926;}}),_0x5a9d02(_0x12a34a(0x1c8)+_0x12a34a(0x208)+'y',async(_0x39d2af,_0xde4a43)=>{const _0x44e4e5=_0x12a34a,_0x59c483=Date['now']();try{const _0x5d3d74=await readFile(_0xde4a43);return filesLogger?.['info'](_0x44e4e5(0x232)+'ile\x20read'+_0x44e4e5(0x214)+'ed',{'path':toHomePath(_0xde4a43),'bytes':_0x5d3d74[_0x44e4e5(0x235)+'th'],'durationMs':Date[_0x44e4e5(0x203)]()-_0x59c483}),new Uint8Array(_0x5d3d74);}catch(_0x12523c){filesLogger?.[_0x44e4e5(0x217)](_0x44e4e5(0x232)+_0x44e4e5(0x27b)+_0x44e4e5(0x250),{'path':toHomePath(_0xde4a43),'durationMs':Date[_0x44e4e5(0x203)]()-_0x59c483,'error':summarizeError(_0x12523c)});throw _0x12523c;}}),_0x5a9d02('files:wr'+_0x12a34a(0x1de),async(_0x4558a1,_0x585bbd={})=>{const _0x186f55=_0x12a34a,_0x1b2f54=Date[_0x186f55(0x203)]();return await writeFile(_0x585bbd[_0x186f55(0x25c)],_0x585bbd[_0x186f55(0x23b)]??'',_0x186f55(0x290)),filesLogger?.['info'](_0x186f55(0x1da)+'te\x20compl'+'eted',{'path':toHomePath(_0x585bbd[_0x186f55(0x25c)]),'bytes':Buffer[_0x186f55(0x235)+'th'](String(_0x585bbd[_0x186f55(0x23b)]??'')),'durationMs':Date['now']()-_0x1b2f54}),{'ok':!![]};}),_0x5a9d02(_0x12a34a(0x1f5)+_0x12a34a(0x1c2)+'ry',async(_0x48c1f7,_0x3a8c4d={})=>{const _0x179bff=_0x12a34a,_0x20ad89=Date[_0x179bff(0x203)]();await writeFile(_0x3a8c4d[_0x179bff(0x25c)],Buffer['from'](_0x3a8c4d[_0x179bff(0x23b)]??[]));const _0x15dbc7=await stat(_0x3a8c4d['path'])['catch'](()=>null);return filesLogger?.['info'](_0x179bff(0x232)+_0x179bff(0x297)+'e\x20comple'+'ted',{'path':toHomePath(_0x3a8c4d[_0x179bff(0x25c)]),'bytes':_0x15dbc7?.['size']??0x0,'durationMs':Date['now']()-_0x20ad89}),{'ok':!![]};}),_0x5a9d02('files:se'+'lect-fil'+'e',async(_0x49f3da,_0x13af42={})=>{const _0x2f5ef3=_0x12a34a,_0xd89af2=await dialog['showOpen'+_0x2f5ef3(0x20c)](BrowserWindow['fromWebC'+_0x2f5ef3(0x198)](_0x49f3da[_0x2f5ef3(0x1e3)])??mainWindow,{'title':typeof _0x13af42[_0x2f5ef3(0x1f8)]===_0x2f5ef3(0x209)?_0x13af42[_0x2f5ef3(0x1f8)]:undefined,'properties':['openFile',..._0x13af42[_0x2f5ef3(0x1d6)+'ections']?['multiSel'+_0x2f5ef3(0x21c)]:[]],'filters':Array[_0x2f5ef3(0x265)](_0x13af42[_0x2f5ef3(0x249)])?_0x13af42['filters']:undefined});return filesLogger?.[_0x2f5ef3(0x18e)](_0x2f5ef3(0x182)+_0x2f5ef3(0x212)+'leted',{'canceled':_0xd89af2[_0x2f5ef3(0x292)],'count':_0xd89af2['filePath'+'s'][_0x2f5ef3(0x27f)],'paths':_0xd89af2[_0x2f5ef3(0x241)+'s']['map'](toHomePath)}),{'canceled':_0xd89af2[_0x2f5ef3(0x292)],'paths':_0xd89af2[_0x2f5ef3(0x241)+'s']};}),_0x5a9d02(_0x12a34a(0x25e)+'lect-dir'+'ectory',async(_0x32586f,_0x17a549={})=>{const _0x36b5ae=_0x12a34a,_0x1d140b=await dialog['showOpen'+_0x36b5ae(0x20c)](BrowserWindow['fromWebC'+_0x36b5ae(0x198)](_0x32586f['sender'])??mainWindow,{'title':typeof _0x17a549[_0x36b5ae(0x1f8)]===_0x36b5ae(0x209)?_0x17a549[_0x36b5ae(0x1f8)]:undefined,'properties':[_0x36b5ae(0x1ee)+_0x36b5ae(0x1ce)]});return filesLogger?.['info'](_0x36b5ae(0x1e1)+_0x36b5ae(0x25b)+_0x36b5ae(0x214)+'ed',{'canceled':_0x1d140b['canceled'],'count':_0x1d140b[_0x36b5ae(0x241)+'s'][_0x36b5ae(0x27f)],'paths':_0x1d140b[_0x36b5ae(0x241)+'s'][_0x36b5ae(0x191)](toHomePath)}),{'canceled':_0x1d140b[_0x36b5ae(0x292)],'paths':_0x1d140b[_0x36b5ae(0x241)+'s']};}),_0x5a9d02(_0x12a34a(0x262)+_0x12a34a(0x287)+_0x12a34a(0x1e6),()=>_0x5ab2ec()[_0x12a34a(0x262)+'e'][_0x12a34a(0x20f)+_0x12a34a(0x28e)]()),_0x5a9d02(_0x12a34a(0x262)+_0x12a34a(0x20d)+_0x12a34a(0x25b),async()=>{const _0x4cea9b=_0x12a34a,_0x532298=await _0x5ab2ec()[_0x4cea9b(0x262)+'e'][_0x4cea9b(0x20f)+_0x4cea9b(0x28e)]();return await shell[_0x4cea9b(0x289)](_0x532298['path']),filesLogger?.['info'](_0x4cea9b(0x262)+_0x4cea9b(0x1f9)+_0x4cea9b(0x1b2)+'ed',{'path':toHomePath(_0x532298[_0x4cea9b(0x25c)])}),{'ok':!![],'path':_0x532298['path']};}),_0x5a9d02(_0x12a34a(0x262)+_0x12a34a(0x1d4)+_0x12a34a(0x207),()=>_0x5ab2ec()[_0x12a34a(0x262)+'e'][_0x12a34a(0x1c4)+'ntext']()),_0x5a9d02(_0x12a34a(0x262)+'e:write-'+_0x12a34a(0x26c)+_0x12a34a(0x276),(_0x59e836,_0x510883)=>_0x5ab2ec()[_0x12a34a(0x262)+'e'][_0x12a34a(0x1ff)+_0x12a34a(0x284)+'xt'](_0x510883)),_0x5a9d02('sessions'+_0x12a34a(0x1cb),(_0x1d7bef,_0x455365)=>_0x5ab2ec()[_0x12a34a(0x18c)][_0x12a34a(0x1a2)](_0x455365)),_0x5a9d02(_0x12a34a(0x18c)+_0x12a34a(0x199)+'keys',()=>_0x5ab2ec()['sessions'][_0x12a34a(0x23e)+'ys']()),_0x5a9d02(_0x12a34a(0x18c)+_0x12a34a(0x1dc)+_0x12a34a(0x2a3),(_0x55d178,_0x5e39bd)=>_0x5ab2ec()['sessions'][_0x12a34a(0x251)+_0x12a34a(0x1cf)](_0x5e39bd)),_0x5a9d02('skills:i'+_0x12a34a(0x1b4),(_0x19f279,_0x50c662)=>_0x5ab2ec()[_0x12a34a(0x1bb)][_0x12a34a(0x298)](_0x50c662)),_0x5a9d02('skills:u'+'pdate',(_0x51444a,_0x3b8948)=>_0x5ab2ec()[_0x12a34a(0x1bb)]['update'](_0x3b8948)),_0x5a9d02('skills:d'+_0x12a34a(0x21f),(_0x155aa2,_0x5f2071)=>_0x5ab2ec()['skills'][_0x12a34a(0x234)](_0x5f2071)),_0x5a9d02('cron:lis'+'t',(_0x42bd3d,_0x43e92d)=>_0x5ab2ec()[_0x12a34a(0x258)]['list'](_0x43e92d)),_0x5a9d02(_0x12a34a(0x237)+_0x12a34a(0x1f4),(_0x4c99e2,_0x350d16)=>_0x5ab2ec()['cron'][_0x12a34a(0x26f)](_0x350d16)),_0x5a9d02(_0x12a34a(0x1ab)+_0x12a34a(0x1f4),(_0x4880a0,_0x1687e2)=>_0x5ab2ec()[_0x12a34a(0x258)]['update'](_0x1687e2)),_0x5a9d02('cron:rem'+_0x12a34a(0x1a4),(_0xbb919f,_0xd47553)=>_0x5ab2ec()['cron'][_0x12a34a(0x27c)](_0xd47553)),_0x5a9d02(_0x12a34a(0x24a)+_0x12a34a(0x183),(_0x56fca4,_0x2f2907)=>_0x5ab2ec()[_0x12a34a(0x258)][_0x12a34a(0x204)](_0x2f2907)),_0x5a9d02(_0x12a34a(0x2a1)+'s',(_0x1c9b25,_0x3e21c3)=>_0x5ab2ec()[_0x12a34a(0x258)][_0x12a34a(0x192)](_0x3e21c3)),_0x5a9d02(_0x12a34a(0x296)+_0x12a34a(0x1d3),()=>_0x5ab2ec()[_0x12a34a(0x202)][_0x12a34a(0x260)]()),_0x5a9d02(_0x12a34a(0x296)+'et-setti'+_0x12a34a(0x1b6),(_0x540917,_0x453d88)=>_0x5ab2ec()[_0x12a34a(0x202)]['setSetti'+_0x12a34a(0x1b6)](_0x453d88)),_0x5a9d02(_0x12a34a(0x296)+_0x12a34a(0x19f)+_0x12a34a(0x1a0),(_0x2abc6f,_0x29db7c)=>_0x5ab2ec()['models'][_0x12a34a(0x1fc)+_0x12a34a(0x1a8)+_0x12a34a(0x28c)](_0x29db7c)),_0x5a9d02(_0x12a34a(0x296)+_0x12a34a(0x294)+_0x12a34a(0x1b8),()=>_0x5ab2ec()[_0x12a34a(0x202)]['selected'+'ModelId']()),_0x5a9d02('models:c'+_0x12a34a(0x206)+_0x12a34a(0x255),()=>_0x5ab2ec()[_0x12a34a(0x202)][_0x12a34a(0x1f0)+_0x12a34a(0x255)]()),_0x5a9d02(_0x12a34a(0x19a)+_0x12a34a(0x1f3),()=>_0x5ab2ec()[_0x12a34a(0x26a)][_0x12a34a(0x1b9)]());}async function boot(){const _0x409ea8=_0x108741;shellConfig=await loadShellConfig(resolveProjectRoot()),app[_0x409ea8(0x219)](shellConfig['productN'+'ame']),configController=createConfigController(shellConfig),mainLogger=createShellLogger(configController['paths'],_0x409ea8(0x1e5)),ipcLogger=createShellLogger(configController[_0x409ea8(0x210)],'ipc'),filesLogger=createShellLogger(configController[_0x409ea8(0x210)],_0x409ea8(0x1ef)),rendererLogger=createShellLogger(configController[_0x409ea8(0x210)],_0x409ea8(0x1bd)),registerProcessLogHooks(),mainLogger?.[_0x409ea8(0x18e)](_0x409ea8(0x18b)+'\x20main\x20bo'+'ot\x20start'+'ed',{'appVersion':app[_0x409ea8(0x293)+'on'](),'electronVersion':process[_0x409ea8(0x1e2)]['electron'],'nodeVersion':process[_0x409ea8(0x1e2)]['node'],'chromeVersion':process[_0x409ea8(0x1e2)][_0x409ea8(0x259)],'platform':process[_0x409ea8(0x25a)],'arch':process[_0x409ea8(0x22f)],'mode':getMode(),'projectRoot':shellConfig[_0x409ea8(0x197)+_0x409ea8(0x1a6)],'configPath':shellConfig[_0x409ea8(0x236)+'th'],'dataDir':shellConfig[_0x409ea8(0x18a)],'logsDir':configController[_0x409ea8(0x210)][_0x409ea8(0x1be)],'rendererUrl':process.env.VITE_DEV_SERVER_URL||join(shellConfig[_0x409ea8(0x197)+_0x409ea8(0x1a6)],'dist','index.ht'+'ml')}),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app[_0x409ea8(0x293)+'on']()});for(const _0x3c12de of[_0x409ea8(0x1e4)+_0x409ea8(0x1d7),'gateway-'+'log',_0x409ea8(0x22c)+'eam-even'+'t',_0x409ea8(0x1d1)+_0x409ea8(0x1cd),_0x409ea8(0x205)+_0x409ea8(0x28b),_0x409ea8(0x25d)+_0x409ea8(0x269),_0x409ea8(0x211)+_0x409ea8(0x264)+'n']){gatewayController['on'](_0x3c12de,_0x3ee209=>broadcast(_0x3c12de,_0x3ee209));}installIpcHandlers(),registerShellShortcuts(),await createWindow(),await gatewayController['start'](),mainLogger?.[_0x409ea8(0x18e)](_0x409ea8(0x18b)+'\x20main\x20bo'+_0x409ea8(0x29d)+_0x409ea8(0x200));}function registerProcessLogHooks(){const _0x451f67=_0x108741;if(registerProcessLogHooks[_0x451f67(0x21d)+'ed'])return;registerProcessLogHooks['register'+'ed']=!![],process['on'](_0x451f67(0x1b3)+_0x451f67(0x193)+'n',_0x2bb909=>{const _0x26d44e=_0x451f67;mainLogger?.['error'](_0x26d44e(0x1b3)+_0x26d44e(0x23c)+'on',summarizeError(_0x2bb909));}),process['on']('unhandle'+_0x451f67(0x273)+'on',_0x31d0cc=>{const _0x48ce78=_0x451f67;mainLogger?.[_0x48ce78(0x217)](_0x48ce78(0x1ec)+'d\x20reject'+_0x48ce78(0x295),summarizeError(_0x31d0cc));}),app['on'](_0x451f67(0x1d8)+_0x451f67(0x190)+_0x451f67(0x228),(_0x1de4dd,_0x427e18,_0x52e342)=>{const _0x160879=_0x451f67;mainLogger?.[_0x160879(0x217)](_0x160879(0x1bd)+_0x160879(0x1b7)+'\x20gone',{'url':_0x427e18[_0x160879(0x1c9)](),'details':_0x52e342});}),app['on']('child-pr'+_0x451f67(0x27a)+'ne',(_0x4606e7,_0x50664b)=>{const _0x380e55=_0x451f67;mainLogger?.['error']('child\x20pr'+_0x380e55(0x189)+'ne',{'details':_0x50664b});});}app['on']('window-a'+_0x108741(0x243)+'d',()=>{const _0x2f7b6b=_0x108741;if(process['platform']!==_0x2f7b6b(0x1cc))app[_0x2f7b6b(0x278)]();}),app['on']('activate',async()=>{const _0x40a3b1=_0x108741;BrowserWindow['getAllWi'+_0x40a3b1(0x272)]()['length']===0x0&&shellConfig&&await createWindow();}),app['on']('before-q'+_0x108741(0x1ed),_0x50e554=>{const _0x2592f3=_0x108741;if(!gatewayController)return;mainLogger?.[_0x2592f3(0x18e)](_0x2592f3(0x26e)+_0x2592f3(0x194)+_0x2592f3(0x24c)+_0x2592f3(0x24e)),_0x50e554[_0x2592f3(0x242)+_0x2592f3(0x266)](),void gatewayController[_0x2592f3(0x188)]()[_0x2592f3(0x2a2)](()=>{const _0x2d160c=_0x2592f3;gatewayController=null,mainLogger?.[_0x2d160c(0x18e)]('gateway\x20'+'stopped\x20'+_0x2d160c(0x26e)+'uit'),app[_0x2d160c(0x278)]();});}),app['on'](_0x108741(0x215)+'t',()=>{globalShortcut['unregist'+'er'](DEVTOOLS_ACCELERATOR);}),app[_0x108741(0x27d)+'y']()[_0x108741(0x19e)](boot)['catch'](_0xc75386=>{const _0x1ef875=_0x108741;bootError=_0xc75386 instanceof Error?_0xc75386[_0x1ef875(0x285)]:String(_0xc75386),mainLogger?.[_0x1ef875(0x217)](_0x1ef875(0x18b)+'\x20main\x20bo'+_0x1ef875(0x1e0)+'d',summarizeError(_0xc75386)),console['error'](_0x1ef875(0x18d)+_0x1ef875(0x1e9)+_0x1ef875(0x216)+_0x1ef875(0x277)+_0x1ef875(0x19b)+'in',_0xc75386);});
@@ -1 +1 @@
1
- const _0x4e26f4=_0x2784;function _0x2784(_0x5544f4,_0x1240ef){_0x5544f4=_0x5544f4-0x6a;const _0x237c49=_0x237c();let _0x2784e7=_0x237c49[_0x5544f4];return _0x2784e7;}(function(_0x450154,_0x42c6a4){const _0x5f3836=_0x2784,_0x3141b7=_0x450154();while(!![]){try{const _0x23a750=parseInt(_0x5f3836(0xc9))/0x1*(parseInt(_0x5f3836(0x7b))/0x2)+parseInt(_0x5f3836(0x98))/0x3*(parseInt(_0x5f3836(0x74))/0x4)+parseInt(_0x5f3836(0x9c))/0x5*(-parseInt(_0x5f3836(0x79))/0x6)+parseInt(_0x5f3836(0x6f))/0x7+parseInt(_0x5f3836(0x92))/0x8+-parseInt(_0x5f3836(0xaf))/0x9*(parseInt(_0x5f3836(0xa8))/0xa)+-parseInt(_0x5f3836(0x7c))/0xb*(parseInt(_0x5f3836(0x78))/0xc);if(_0x23a750===_0x42c6a4)break;else _0x3141b7['push'](_0x3141b7['shift']());}catch(_0x2b4370){_0x3141b7['push'](_0x3141b7['shift']());}}}(_0x237c,0xdfe18));function _0x237c(){const _0x53339e=['ent','window:o','elete',':create','e:open-d','cron:rem','lose','name','session-','40vtylXQ','-info','set','-url','-status','ell:even','e:shared','575361idNcCn','ad-binar',':set-pin','model-id','-questio','files:se','wujieShe','agents-u','skills:i','window:t','app:info','MainWorl','exposeIn','ead','tory','chat:his','ustom-mo','sessions','cron:log','models:s','chat-str','ned-keys','files:re','ask-user','lect-fil','shared-c','1sRDOKw','ove','skills:u','e:direct','keys','off','payload','irectory','-context','ectory','2697205TbRdIA','-shortcu','pen-devt','models:c',':pinned-','57480ZHLebo','e:write-','ools','log','4152PgjSLw','152484oSyEJh','ate','3418718YPzVQj','31042MzLLgB','nstall','agents:l',':rename','ximize','config:r','gateway-','get','ontext','eam-even',':gateway','status','-logs','elected-',':answer-','openclaw','function','devtools','pdated','invoke','pdate','cron:upd','4393520puCWPJ','wujie-sh','app:open','window:c','lect-dir','dels','162oJJgHQ','chat:str','skills:s','chat:abo','250QZyuOV','files:wr','workspac'];_0x237c=function(){return _0x53339e;};return _0x237c();}import _0x2b0240 from'electron';const {contextBridge,ipcRenderer}=_0x2b0240,eventListeners=new Map();function invoke(_0x477340,_0x580dc6){const _0x2ee101=_0x2784;return ipcRenderer[_0x2ee101(0x8f)](_0x477340,_0x580dc6);}function subscribe(_0x4b89c7,_0x165faa){const _0x3ffc72=_0x2784;if(typeof _0x165faa!==_0x3ffc72(0x8c))return()=>{};const _0x5a6a36=(_0x5aee22,_0x61774d)=>{const _0x3744db=_0x3ffc72;if(_0x61774d?.[_0x3744db(0xa6)]===_0x4b89c7)_0x165faa(_0x61774d[_0x3744db(0x6b)]);};return ipcRenderer['on'](_0x3ffc72(0x93)+_0x3ffc72(0xad)+'t',_0x5a6a36),eventListeners[_0x3ffc72(0xaa)](_0x165faa,_0x5a6a36),()=>{const _0x41f7b6=_0x3ffc72,_0x38b813=eventListeners[_0x41f7b6(0x83)](_0x165faa)||_0x5a6a36;ipcRenderer[_0x41f7b6(0x6a)]('wujie-sh'+_0x41f7b6(0xad)+'t',_0x38b813),eventListeners['delete'](_0x165faa);};}contextBridge[_0x4e26f4(0xbb)+_0x4e26f4(0xba)+'d'](_0x4e26f4(0xb5)+'ll',{'app':{'info':()=>invoke(_0x4e26f4(0xb9)),'openUrl':_0x306b62=>invoke(_0x4e26f4(0x94)+_0x4e26f4(0xab),_0x306b62)},'window':{'minimize':()=>invoke('window:m'+'inimize'),'toggleMaximize':()=>invoke(_0x4e26f4(0xb8)+'oggle-ma'+_0x4e26f4(0x80)),'close':()=>invoke(_0x4e26f4(0x95)+_0x4e26f4(0xa5)),'openDevTools':()=>invoke(_0x4e26f4(0xa0)+_0x4e26f4(0x71)+_0x4e26f4(0x76)),'onDevToolsShortcut':_0x4f70c4=>subscribe(_0x4e26f4(0x8d)+_0x4e26f4(0x70)+'t',_0x4f70c4)},'files':{'read':_0x1f7b1b=>invoke(_0x4e26f4(0xc5)+'ad',_0x1f7b1b),'readBinary':_0x5cab20=>invoke('files:re'+_0x4e26f4(0xb0)+'y',_0x5cab20),'write':(_0x1cf265,_0x275d90)=>invoke(_0x4e26f4(0x9d)+'ite',{'path':_0x1cf265,'content':_0x275d90}),'writeBinary':(_0x16efde,_0x37f645)=>invoke('files:wr'+'ite-bina'+'ry',{'path':_0x16efde,'content':_0x37f645}),'selectFile':_0x368330=>invoke(_0x4e26f4(0xb4)+_0x4e26f4(0xc7)+'e',_0x368330),'selectDirectory':_0x26864d=>invoke(_0x4e26f4(0xb4)+_0x4e26f4(0x96)+_0x4e26f4(0x6e),_0x26864d)},'workspace':{'directoryInfo':()=>invoke(_0x4e26f4(0x9e)+_0x4e26f4(0xcc)+'ory-info'),'openDirectory':()=>invoke(_0x4e26f4(0x9e)+_0x4e26f4(0xa3)+_0x4e26f4(0x6c)),'sharedContext':()=>invoke(_0x4e26f4(0x9e)+_0x4e26f4(0xae)+_0x4e26f4(0x6d)),'writeSharedContext':_0x1fcbb4=>invoke(_0x4e26f4(0x9e)+_0x4e26f4(0x75)+_0x4e26f4(0xc8)+_0x4e26f4(0x84),_0x1fcbb4)},'openclaw':{'runtimeInfo':()=>invoke(_0x4e26f4(0x8b)+':runtime'+_0x4e26f4(0xa9)),'gatewayStatus':()=>invoke(_0x4e26f4(0x8b)+':gateway'+_0x4e26f4(0xac)),'gatewayRestart':()=>invoke(_0x4e26f4(0x8b)+_0x4e26f4(0x86)+'-restart'),'gatewayLogs':_0x176b83=>invoke('openclaw'+':gateway'+_0x4e26f4(0x88),_0x176b83),'onGatewayStatus':_0x5dc48f=>subscribe(_0x4e26f4(0x82)+_0x4e26f4(0x87),_0x5dc48f),'onGatewayLog':_0x2b2c76=>subscribe(_0x4e26f4(0x82)+_0x4e26f4(0x77),_0x2b2c76),'onAgentEvent':_0x2bf285=>subscribe('agent-ev'+_0x4e26f4(0x9f),_0x2bf285),'onAgentsUpdated':_0x4392b6=>subscribe(_0x4e26f4(0xb6)+_0x4e26f4(0x8e),_0x4392b6),'onAskUserQuestion':_0x33db6e=>subscribe(_0x4e26f4(0xc6)+_0x4e26f4(0xb3)+'n',_0x33db6e),'answerAskUserQuestion':_0x154606=>invoke('openclaw'+_0x4e26f4(0x8a)+'ask-user'+_0x4e26f4(0xb3)+'n',_0x154606)},'agents':{'list':()=>invoke(_0x4e26f4(0x7e)+'ist')},'skills':{'status':_0x17de2b=>invoke(_0x4e26f4(0x9a)+'tatus',_0x17de2b),'install':_0x566db9=>invoke(_0x4e26f4(0xb7)+_0x4e26f4(0x7d),_0x566db9),'update':_0x5660bc=>invoke(_0x4e26f4(0xcb)+_0x4e26f4(0x90),_0x5660bc),'delete':_0x5d42b7=>invoke('skills:d'+_0x4e26f4(0xa1),_0x5d42b7)},'sessions':{'create':_0x175a2f=>invoke(_0x4e26f4(0xc0)+_0x4e26f4(0xa2),_0x175a2f),'list':_0x18d9bc=>invoke(_0x4e26f4(0xc0)+':list',_0x18d9bc),'delete':_0x1db3eb=>invoke(_0x4e26f4(0xc0)+':delete',_0x1db3eb),'rename':_0x1f804d=>invoke(_0x4e26f4(0xc0)+_0x4e26f4(0x7f),_0x1f804d),'pinnedKeys':()=>invoke(_0x4e26f4(0xc0)+_0x4e26f4(0x73)+_0x4e26f4(0xcd)),'setPinnedKeys':_0x25ced5=>invoke(_0x4e26f4(0xc0)+_0x4e26f4(0xb1)+_0x4e26f4(0xc4),_0x25ced5),'onUpdated':_0x80e0b9=>subscribe(_0x4e26f4(0xa7)+'updated',_0x80e0b9)},'cron':{'list':_0x216f13=>invoke('cron:lis'+'t',_0x216f13),'create':_0x4cbf63=>invoke('cron:cre'+_0x4e26f4(0x7a),_0x4cbf63),'update':_0x4b28ab=>invoke(_0x4e26f4(0x91)+_0x4e26f4(0x7a),_0x4b28ab),'remove':_0x1c5b57=>invoke(_0x4e26f4(0xa4)+_0x4e26f4(0xca),_0x1c5b57),'runOnce':_0x476ef0=>invoke('cron:run'+'-once',_0x476ef0),'logs':_0x45f214=>invoke(_0x4e26f4(0xc1)+'s',_0x45f214)},'models':{'settings':()=>invoke(_0x4e26f4(0xc2)+'ettings'),'selectedModelId':()=>invoke(_0x4e26f4(0xc2)+_0x4e26f4(0x89)+_0x4e26f4(0xb2)),'customModels':()=>invoke(_0x4e26f4(0x72)+_0x4e26f4(0xbf)+_0x4e26f4(0x97))},'config':{'read':()=>invoke(_0x4e26f4(0x81)+_0x4e26f4(0xbc))},'chat':{'stream':_0x10f50c=>invoke(_0x4e26f4(0x99)+'eam',_0x10f50c),'abort':_0x5090dd=>invoke(_0x4e26f4(0x9b)+'rt',_0x5090dd),'history':_0x467389=>invoke(_0x4e26f4(0xbe)+_0x4e26f4(0xbd),_0x467389),'onStreamEvent':_0x1bf2f2=>subscribe(_0x4e26f4(0xc3)+_0x4e26f4(0x85)+'t',_0x1bf2f2)}});
1
+ const _0x44bc44=_0x12b6;(function(_0x16a0ca,_0x4301ed){const _0x921bd0=_0x12b6,_0x538f79=_0x16a0ca();while(!![]){try{const _0x28ebb7=-parseInt(_0x921bd0(0xd9))/0x1+-parseInt(_0x921bd0(0xcd))/0x2*(parseInt(_0x921bd0(0x127))/0x3)+-parseInt(_0x921bd0(0x11e))/0x4+-parseInt(_0x921bd0(0xfb))/0x5+parseInt(_0x921bd0(0xdb))/0x6+parseInt(_0x921bd0(0x11a))/0x7*(parseInt(_0x921bd0(0xe1))/0x8)+parseInt(_0x921bd0(0x103))/0x9;if(_0x28ebb7===_0x4301ed)break;else _0x538f79['push'](_0x538f79['shift']());}catch(_0x2811db){_0x538f79['push'](_0x538f79['shift']());}}}(_0x4090,0x51364));import _0x36431d from'electron';function _0x4090(){const _0x51d486=['status','ustom-mo','openclaw','gateway-','delete','ead','ned-keys','files:se','pen-devt','ent','chat:his','function','lect-dir',':rename','logs:ope','tatus','ist','app:info','inimize',':answer-',':create','cron:rem','1519870lTiqtV','ximize','nstall','logs:exp','ort','-questio','off','cron:lis','1141920yDlVmE','files:re','window:o','skills:d','exposeIn','wujieShe','ory-info','ory','wujie-sh','window:t','models:c','ontext','-restart','e:shared','cron:upd','ad-binar','cron:cre','lect-fil','-logs','tory','window:c','-info','window:m','2989721oAcWgK','operated','-status',':pinned-','590920AaXjsE','get','elete','lose','workspac','eam-even','devtools','dels','-url','3TnVGMT','et-setti','models:s','ask-user','skills:s','n-direct','chat-str','522758scgWcO','files:wr','model-id','session-','pdate',':gateway','ove','shared-c','cron:log','keys','e:direct','payload','167004UfPnDb','updated','3952488VdBIFh','cron:run','log','-context','MainWorl','sessions','8cvCFZF','eam','ell:even','invoke'];_0x4090=function(){return _0x51d486;};return _0x4090();}const {contextBridge,ipcRenderer}=_0x36431d,eventListeners=new Map();function invoke(_0x4357f7,_0x388660){const _0x49f951=_0x12b6;return ipcRenderer[_0x49f951(0xe4)](_0x4357f7,_0x388660);}function _0x12b6(_0x18409c,_0x45ece0){_0x18409c=_0x18409c-0xc7;const _0x40907d=_0x4090();let _0x12b6c7=_0x40907d[_0x18409c];return _0x12b6c7;}function subscribe(_0x32768e,_0x1fdda4){const _0x2c268d=_0x12b6;if(typeof _0x1fdda4!==_0x2c268d(0xf0))return()=>{};const _0x277e43=(_0xfdd7ec,_0x33c0f1)=>{const _0x4b2886=_0x2c268d;if(_0x33c0f1?.['name']===_0x32768e)_0x1fdda4(_0x33c0f1[_0x4b2886(0xd8)]);};return ipcRenderer['on'](_0x2c268d(0x10b)+_0x2c268d(0xe3)+'t',_0x277e43),eventListeners['set'](_0x1fdda4,_0x277e43),()=>{const _0x18a1fb=_0x2c268d,_0x497e4c=eventListeners[_0x18a1fb(0x11f)](_0x1fdda4)||_0x277e43;ipcRenderer[_0x18a1fb(0x101)]('wujie-sh'+_0x18a1fb(0xe3)+'t',_0x497e4c),eventListeners[_0x18a1fb(0xe9)](_0x1fdda4);};}contextBridge[_0x44bc44(0x107)+_0x44bc44(0xdf)+'d'](_0x44bc44(0x108)+'ll',{'app':{'info':()=>invoke(_0x44bc44(0xf6)),'openUrl':_0x597699=>invoke('app:open'+_0x44bc44(0x126),_0x597699)},'window':{'minimize':()=>invoke(_0x44bc44(0x119)+_0x44bc44(0xf7)),'toggleMaximize':()=>invoke(_0x44bc44(0x10c)+'oggle-ma'+_0x44bc44(0xfc)),'close':()=>invoke(_0x44bc44(0x117)+_0x44bc44(0x121)),'openDevTools':()=>invoke(_0x44bc44(0x105)+_0x44bc44(0xed)+'ools'),'onDevToolsShortcut':_0x1feeeb=>subscribe(_0x44bc44(0x124)+'-shortcu'+'t',_0x1feeeb)},'files':{'read':_0x2b9ae8=>invoke(_0x44bc44(0x104)+'ad',_0x2b9ae8),'readBinary':_0x5ddb35=>invoke(_0x44bc44(0x104)+_0x44bc44(0x112)+'y',_0x5ddb35),'write':(_0x4ca20c,_0x101ed2)=>invoke(_0x44bc44(0xce)+'ite',{'path':_0x4ca20c,'content':_0x101ed2}),'writeBinary':(_0x223950,_0x3d4c9e)=>invoke(_0x44bc44(0xce)+'ite-bina'+'ry',{'path':_0x223950,'content':_0x3d4c9e}),'selectFile':_0x4d4f1d=>invoke(_0x44bc44(0xec)+_0x44bc44(0x114)+'e',_0x4d4f1d),'selectDirectory':_0x227152=>invoke('files:se'+_0x44bc44(0xf1)+'ectory',_0x227152)},'workspace':{'directoryInfo':()=>invoke(_0x44bc44(0x122)+_0x44bc44(0xd7)+_0x44bc44(0x109)),'openDirectory':()=>invoke(_0x44bc44(0x122)+'e:open-d'+'irectory'),'sharedContext':()=>invoke(_0x44bc44(0x122)+_0x44bc44(0x110)+_0x44bc44(0xde)),'writeSharedContext':_0x2394d6=>invoke(_0x44bc44(0x122)+'e:write-'+_0x44bc44(0xd4)+_0x44bc44(0x10e),_0x2394d6)},'openclaw':{'runtimeInfo':()=>invoke('openclaw'+':runtime'+_0x44bc44(0x118)),'gatewayStatus':()=>invoke(_0x44bc44(0xe7)+':gateway'+_0x44bc44(0x11c)),'gatewayRestart':()=>invoke('openclaw'+_0x44bc44(0xd2)+_0x44bc44(0x10f)),'gatewayLogs':_0xb732da=>invoke(_0x44bc44(0xe7)+_0x44bc44(0xd2)+_0x44bc44(0x115),_0xb732da),'onGatewayStatus':_0x5dd854=>subscribe(_0x44bc44(0xe8)+_0x44bc44(0xe5),_0x5dd854),'onGatewayLog':_0x134c86=>subscribe('gateway-'+_0x44bc44(0xdd),_0x134c86),'onAgentEvent':_0x378d62=>subscribe('agent-ev'+_0x44bc44(0xee),_0x378d62),'onAgentsUpdated':_0x310825=>subscribe('agents-u'+'pdated',_0x310825),'onAskUserQuestion':_0x45a932=>subscribe(_0x44bc44(0xc9)+_0x44bc44(0x100)+'n',_0x45a932),'answerAskUserQuestion':_0xfe522d=>invoke('openclaw'+_0x44bc44(0xf8)+_0x44bc44(0xc9)+_0x44bc44(0x100)+'n',_0xfe522d)},'agents':{'list':()=>invoke('agents:l'+_0x44bc44(0xf5))},'skills':{'status':_0x52406d=>invoke(_0x44bc44(0xca)+_0x44bc44(0xf4),_0x52406d),'install':_0x2ba367=>invoke('skills:i'+_0x44bc44(0xfd),_0x2ba367),'update':_0x52f609=>invoke('skills:u'+_0x44bc44(0xd1),_0x52f609),'delete':_0x342445=>invoke(_0x44bc44(0x106)+_0x44bc44(0x120),_0x342445)},'sessions':{'create':_0xa44df3=>invoke(_0x44bc44(0xe0)+_0x44bc44(0xf9),_0xa44df3),'list':_0x24c411=>invoke(_0x44bc44(0xe0)+':list',_0x24c411),'delete':_0x14e0b3=>invoke('sessions'+':delete',_0x14e0b3),'rename':_0x2ac2d6=>invoke(_0x44bc44(0xe0)+_0x44bc44(0xf2),_0x2ac2d6),'pinnedKeys':()=>invoke('sessions'+_0x44bc44(0x11d)+_0x44bc44(0xd6)),'setPinnedKeys':_0x4cc028=>invoke(_0x44bc44(0xe0)+':set-pin'+_0x44bc44(0xeb),_0x4cc028),'onUpdated':_0x273c35=>subscribe(_0x44bc44(0xd0)+_0x44bc44(0xda),_0x273c35)},'cron':{'list':_0x457041=>invoke(_0x44bc44(0x102)+'t',_0x457041),'create':_0x34f797=>invoke(_0x44bc44(0x113)+'ate',_0x34f797),'update':_0x5ee8ff=>invoke(_0x44bc44(0x111)+'ate',_0x5ee8ff),'remove':_0x48818c=>invoke(_0x44bc44(0xfa)+_0x44bc44(0xd3),_0x48818c),'runOnce':_0x3fd365=>invoke(_0x44bc44(0xdc)+'-once',_0x3fd365),'logs':_0x504ba8=>invoke(_0x44bc44(0xd5)+'s',_0x504ba8)},'models':{'settings':()=>invoke(_0x44bc44(0xc8)+'ettings'),'setSettings':_0x417a45=>invoke(_0x44bc44(0xc8)+_0x44bc44(0xc7)+'ngs',_0x417a45),'setSelfOperatedModels':_0x37a117=>invoke(_0x44bc44(0xc8)+'et-self-'+_0x44bc44(0x11b),_0x37a117),'selectedModelId':()=>invoke(_0x44bc44(0xc8)+'elected-'+_0x44bc44(0xcf)),'customModels':()=>invoke(_0x44bc44(0x10d)+_0x44bc44(0xe6)+_0x44bc44(0x125))},'config':{'read':()=>invoke('config:r'+_0x44bc44(0xea))},'logs':{'write':_0x1256da=>invoke('logs:wri'+'te',_0x1256da),'export':_0x8b977d=>invoke(_0x44bc44(0xfe)+_0x44bc44(0xff),_0x8b977d),'openDirectory':()=>invoke(_0x44bc44(0xf3)+_0x44bc44(0xcb)+_0x44bc44(0x10a))},'chat':{'stream':_0x154fe5=>invoke('chat:str'+_0x44bc44(0xe2),_0x154fe5),'abort':_0x4b16d5=>invoke('chat:abo'+'rt',_0x4b16d5),'history':_0x45959d=>invoke(_0x44bc44(0xef)+_0x44bc44(0x116),_0x45959d),'onStreamEvent':_0x261c9d=>subscribe(_0x44bc44(0xcc)+_0x44bc44(0x123)+'t',_0x261c9d)}});
@@ -1 +1 @@
1
- const _0x16a11d=_0x2aea;(function(_0x4bb6d3,_0x1df20d){const _0x21b628=_0x2aea,_0x1add7c=_0x4bb6d3();while(!![]){try{const _0xfc2d1f=parseInt(_0x21b628(0x169))/0x1+-parseInt(_0x21b628(0x198))/0x2*(-parseInt(_0x21b628(0x13e))/0x3)+-parseInt(_0x21b628(0xe5))/0x4*(-parseInt(_0x21b628(0xf9))/0x5)+-parseInt(_0x21b628(0x1e5))/0x6*(-parseInt(_0x21b628(0x1e2))/0x7)+-parseInt(_0x21b628(0x1b3))/0x8*(-parseInt(_0x21b628(0x136))/0x9)+-parseInt(_0x21b628(0x19d))/0xa+parseInt(_0x21b628(0x142))/0xb*(-parseInt(_0x21b628(0x1b6))/0xc);if(_0xfc2d1f===_0x1df20d)break;else _0x1add7c['push'](_0x1add7c['shift']());}catch(_0x1a3b6e){_0x1add7c['push'](_0x1add7c['shift']());}}}(_0x42cc,0x432ab));import{randomUUID}from'node:crypto';import{createServer}from'node:http';import{EventEmitter}from'node:events';import{appendFile,mkdir,readFile,stat,writeFile}from'node:fs/promises';import{basename,dirname,join}from'node:path';function _0x42cc(){const _0x71f5d8=['486954YeLxSk','--allow-','pinnedKe','ndled\x20ag','13363647PfuMjL','stdout','defaultI','text/mar','isFile','agent-ev','figChang','deny','agents\x20s','attachme','patch','provider','ntityPat','catch','killed','data','deleted','igWriteH','manual\x20r','renamed','Version','productN','dispose','max','reate','state','clear','message','limit','image/we','json','eady','sage','writeCon','sessions','terminal','started,','[wujie-s','ized','195822jmZqCP','Settings','eviceIde','stderr','USER.md','delta','MEMORY.m','onfigPat','toString','token','stop','some','text','healthy','ed:\x20','content','aborted','logsDir','reconnec','agents.l','modelNam','request','agent:','\x20signal=','slice','configur','backend','r-questi','ginConfi','start','trim','arge:\x20','plugins','resolveD','runId','t-stream','ase','res','done','parse','isArray','unknown','WorkingD','-questio','tatus','jobId','ion/json','2Rspmnn','toISOStr','agents','--port','parentSe','438220roZuMG','log','unauthor','text/csv','keys','is\x20start','markConf','restarti','textLeng','kUserQue','c\x20failed','utf8','oot','ensureIn','get','ensureGa','AGENTS.m','name','chat\x20fai','agents-u','kdown','message\x20','488vYsUsG','ws://127','ync\x20fail','12bCbapD','led','type',']\x20[','eway]\x20bu','final','quired','openclaw','ssionKey','applicat','http://1','x-ask-us','tewaySet','unshift','map','main','floor','session-','cron.add','Fallback','filePath','join','client','stopped','requestI','readConf','ck\x20disab','Timer','has','ing','status','ase\x20retr','\x20for\x20WS','projectR','includes','stionPlu','base64','splice','random','cron.run','nstall','names','ame','y\x20shortl','203IpIVYp','bundled-','ask-user','107094PQXAmu','exited\x20c','fig','image','\x20require','bundled\x20','eys-upda','key','sessionI','itialCon','tateDir','string','stringif','started','nt\x20too\x20l','tHandler','resolveC','ents\x20syn','T.md','delete','split','pdated','ey\x20is\x20re','workspac','agents.c','n\x20reques','running','SIGKILL','ent','error','behavior','4NZHKlI','toUpperC','close','sessionK','0.1.0','set','watchCon','.list','ted','led:\x20','method','invalid\x20','destroy','hell:gat','is\x20requi','push','allow','then','chat.sen','discover','2147735RYHLdn','setGatew','timeout','nexpecte','jobId\x20is','exited','metadata','n\x20callba','g+xml','ng:\x20','end','toLowerC','agentId','label','gateway\x20','27.0.0.1','agents.u','listen','TOOLS.md','answers','und','ion/pdf','updated','resolveS','/ask-use','pdate','model',':session','ode=','connecte','kill','.delete','values','exited\x20u','image/jp','ing,\x20ple','writeHea','ternally','--token','process\x20','resolve','installP','.0.0.1:','pinned-k','ion/octe','off','ensureAs','image/gi','emit','ured','length','headers','stack','lifecycl','errorMes','filter','timestam','elete','session','IDENTITY','port','33714HvhSdA','skills.i','system','Bin','\x20waiting','.create','not\x20foun','.md'];_0x42cc=function(){return _0x71f5d8;};return _0x42cc();}import _0x2e5dd5,{portNumbers}from'get-port';function _0x2aea(_0x5402f6,_0x215b94){_0x5402f6=_0x5402f6-0xcf;const _0x42cc82=_0x42cc();let _0x2aead5=_0x42cc82[_0x5402f6];return _0x2aead5;}import{asRecord,getTrimmedString}from'./utils.mjs';import{loadRuntimeInfo,spawnClaw}from'./runtime.mjs';import{ClawGatewayWsClient}from'./gateway-ws.mjs';import{ensureBundledAgents}from'./bundled-agents.mjs';import{syncBundledAgentSkillsToConfig,filterSkillsForAgent}from'./bundled-agent-skills.mjs';const LOG_LIMIT=0x3e8,CLIENT_ID='gateway-'+_0x16a11d(0x1cc),CLIENT_MODE=_0x16a11d(0x183),CLIENT_DEVICE_FAMILY='desktop',TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,SESSION_METADATA_FILE=_0x16a11d(0x1c7)+_0x16a11d(0xff)+'.json',SHARED_CONTEXT_FILES=[_0x16a11d(0x1ad)+'d','HEARTBEA'+_0x16a11d(0xd8),_0x16a11d(0x134)+_0x16a11d(0x13d),_0x16a11d(0x16f)+'d','SOUL.md',_0x16a11d(0x10b),_0x16a11d(0x16d)];function nowIso(){const _0x298c30=_0x16a11d;return new Date()[_0x298c30(0x199)+_0x298c30(0x1d3)]();}function buildGatewayWsUrl(_0x5683b8){const _0x5aec7b=_0x16a11d;return _0x5aec7b(0x1b4)+_0x5aec7b(0x123)+_0x5683b8;}function createInitialStatus(){const _0x1ac142=_0x16a11d;return{'lifecycle':'stopped','health':_0x1ac142(0x192),'port':null,'tokenPresent':![],'message':_0x1ac142(0x107)+_0x1ac142(0x1cd),'updatedAt':nowIso()};}function extractGatewayMessageText(_0x5b6b09){const _0x3ea335=_0x16a11d;if(typeof _0x5b6b09==='string')return _0x5b6b09;if(!Array[_0x3ea335(0x191)](_0x5b6b09))return'';const _0x4b3e45=[];for(const _0x11eb6f of _0x5b6b09){if(typeof _0x11eb6f===_0x3ea335(0xd1)){if(_0x11eb6f)_0x4b3e45[_0x3ea335(0xf4)](_0x11eb6f);continue;}const _0x431ba2=asRecord(_0x11eb6f);_0x431ba2[_0x3ea335(0x1b8)]===_0x3ea335(0x175)&&typeof _0x431ba2[_0x3ea335(0x175)]===_0x3ea335(0xd1)&&_0x431ba2[_0x3ea335(0x175)]&&_0x4b3e45[_0x3ea335(0xf4)](_0x431ba2[_0x3ea335(0x175)]);}return _0x4b3e45[_0x3ea335(0x1cb)]('\x0a');}function extractGatewayChatText(_0x4eca91){const _0x57f9da=_0x16a11d,_0xdf000d=asRecord(_0x4eca91);if(typeof _0xdf000d[_0x57f9da(0x175)]===_0x57f9da(0xd1))return _0xdf000d[_0x57f9da(0x175)];return extractGatewayMessageText(_0xdf000d[_0x57f9da(0x178)]);}function guessMimeType(_0x34db6c){const _0x5cb82e=_0x16a11d,_0x416bdb=_0x34db6c[_0x5cb82e(0xda)]('.')['pop']()?.[_0x5cb82e(0x104)+_0x5cb82e(0x18d)]()??'',_0x24274c={'png':'image/pn'+'g','jpg':_0x5cb82e(0x11b)+'eg','jpeg':_0x5cb82e(0x11b)+'eg','webp':_0x5cb82e(0x15f)+'bp','gif':_0x5cb82e(0x128)+'f','svg':'image/sv'+_0x5cb82e(0x101),'pdf':_0x5cb82e(0x1bf)+_0x5cb82e(0x10e),'txt':'text/pla'+'in','md':_0x5cb82e(0x145)+_0x5cb82e(0x1b1),'json':'applicat'+'ion/json','csv':_0x5cb82e(0x1a0)};return _0x24274c[_0x416bdb]||_0x5cb82e(0x1bf)+_0x5cb82e(0x125)+_0x5cb82e(0x18c);}async function buildAttachments(_0x2ddb18=[]){const _0x2df621=_0x16a11d,_0x10d43e=[];for(const _0x23e5ad of _0x2ddb18){const _0x2585c2=getTrimmedString(_0x23e5ad);if(!_0x2585c2)continue;const _0x794b27=await stat(_0x2585c2);if(!_0x794b27[_0x2df621(0x146)]())continue;if(_0x794b27['size']>ATTACHMENT_MAX_BYTES)throw new Error(_0x2df621(0x14b)+_0x2df621(0xd4)+_0x2df621(0x188)+basename(_0x2585c2));const _0x5ae2e2=guessMimeType(_0x2585c2);_0x10d43e[_0x2df621(0xf4)]({'type':_0x5ae2e2['startsWi'+'th']('image/')?_0x2df621(0x1e8):'file','mimeType':_0x5ae2e2,'content':(await readFile(_0x2585c2))[_0x2df621(0x171)](_0x2df621(0x1da)),'fileName':basename(_0x2585c2)});}return _0x10d43e;}function buildSessionCreateRequestPayload(_0x3c6c89={}){const _0x23d967=_0x16a11d,_0x51dde1={},_0x106867=Math[_0x23d967(0x1dc)]()[_0x23d967(0x171)](0x24)[_0x23d967(0x181)](0x2,0xf),_0x2aacfb=getTrimmedString(_0x3c6c89['agentId'])||_0x23d967(0x1c5),_0x7fee0d=getTrimmedString(_0x3c6c89[_0x23d967(0x1ec)])||_0x23d967(0x17f)+_0x2aacfb+(_0x23d967(0x114)+'-')+Date['now']();_0x51dde1[_0x23d967(0x1ec)]=_0x7fee0d+'-'+_0x106867,_0x51dde1[_0x23d967(0x105)]=_0x2aacfb;const _0x4e58d3=getTrimmedString(_0x3c6c89[_0x23d967(0x106)]);if(_0x4e58d3)_0x51dde1['label']=_0x4e58d3+'-'+_0x106867;for(const _0x1fb1e2 of[_0x23d967(0x113),_0x23d967(0x19c)+_0x23d967(0x1be),'task',_0x23d967(0x15d)]){const _0x4db5c3=getTrimmedString(_0x3c6c89[_0x1fb1e2]);if(_0x4db5c3)_0x51dde1[_0x1fb1e2]=_0x4db5c3;}return _0x51dde1;}function parseSessionCreateResult(_0x3c652d){const _0x203aef=_0x16a11d,_0x569130=asRecord(_0x3c652d),_0xe33568=asRecord(_0x569130[_0x203aef(0x133)]);return{'ok':!![],'key':getTrimmedString(_0x569130[_0x203aef(0x1ec)])||getTrimmedString(_0x569130[_0x203aef(0xe8)+'ey'])||getTrimmedString(_0xe33568[_0x203aef(0x1ec)])||null,'sessionId':getTrimmedString(_0x569130[_0x203aef(0x1ed)+'d'])||getTrimmedString(_0xe33568['sessionI'+'d'])||null};}function getSessionKeyFromValue(_0x51908d){const _0x1ffd4e=_0x16a11d,_0x2477bc=asRecord(_0x51908d);return getTrimmedString(_0x2477bc['sessionK'+'ey']??_0x2477bc[_0x1ffd4e(0x1ec)]??_0x2477bc['id']);}function createEmptySessionMetadata(){return{'names':{},'pinnedKeys':[]};}async function readSessionMetadata(_0x4cf209){const _0x355111=_0x16a11d;try{const _0xd5f1fd=JSON[_0x355111(0x190)](await readFile(join(_0x4cf209,SESSION_METADATA_FILE),_0x355111(0x1a8))),_0x2aa894=asRecord(_0xd5f1fd);return{'names':asRecord(_0x2aa894[_0x355111(0x1df)]),'pinnedKeys':Array[_0x355111(0x191)](_0x2aa894[_0x355111(0x140)+'ys'])?_0x2aa894[_0x355111(0x140)+'ys']['filter'](_0x159f5a=>typeof _0x159f5a===_0x355111(0xd1)&&_0x159f5a[_0x355111(0x187)]()):[]};}catch{return createEmptySessionMetadata();}}async function writeSessionMetadata(_0x4d4984,_0x19f8f0){const _0x541cb4=_0x16a11d;await mkdir(_0x4d4984,{'recursive':!![]}),await writeFile(join(_0x4d4984,SESSION_METADATA_FILE),JSON[_0x541cb4(0xd2)+'y'](_0x19f8f0,null,0x2)+'\x0a','utf8');}function applySessionMetadata(_0x3927fb,_0x23e837){const _0x3d9729=_0x16a11d,_0x2a564d=asRecord(_0x3927fb),_0x52d21b=Array[_0x3d9729(0x191)](_0x2a564d[_0x3d9729(0x164)])?_0x2a564d[_0x3d9729(0x164)]:[];return{..._0x2a564d,'pinnedKeys':_0x23e837[_0x3d9729(0x140)+'ys'],'sessions':_0x52d21b[_0x3d9729(0x1c4)](_0x2c0ad2=>{const _0x16a3d1=_0x3d9729,_0x558039=asRecord(_0x2c0ad2),_0x1fbf61=getSessionKeyFromValue(_0x558039);if(!_0x1fbf61)return _0x2c0ad2;const _0x4caf20=getTrimmedString(_0x23e837[_0x16a3d1(0x1df)][_0x1fbf61]),_0x35921e=_0x23e837[_0x16a3d1(0x140)+'ys'][_0x16a3d1(0x1d8)](_0x1fbf61);return{..._0x558039,..._0x4caf20?{'name':_0x4caf20,'displayName':_0x4caf20,'label':_0x4caf20}:{},'pinned':_0x35921e};})};}function sanitizeSharedContextPayload(_0x38cd28){const _0x29e149=_0x16a11d,_0x5676c4=asRecord(_0x38cd28),_0x29bef5={};for(const _0x570d0c of SHARED_CONTEXT_FILES){if(typeof _0x5676c4[_0x570d0c]===_0x29e149(0xd1))_0x29bef5[_0x570d0c]=_0x5676c4[_0x570d0c];}return _0x29bef5;}async function readSharedContext(_0x1f17a1){const _0x522502=_0x16a11d,_0x5b6ae9={};for(const _0x45c507 of SHARED_CONTEXT_FILES){try{_0x5b6ae9[_0x45c507]=await readFile(join(_0x1f17a1,_0x45c507),_0x522502(0x1a8));}catch{_0x5b6ae9[_0x45c507]='';}}return _0x5b6ae9;}async function writeSharedContext(_0x53edd3,_0x1aa698){const _0x57be82=_0x16a11d,_0x85fcf6=sanitizeSharedContextPayload(_0x1aa698);await mkdir(_0x53edd3,{'recursive':!![]});for(const [_0x36413c,_0xeff130]of Object['entries'](_0x85fcf6)){await writeFile(join(_0x53edd3,_0x36413c),_0xeff130,'utf8');}return{'ok':!![],'files':Object[_0x57be82(0x1a1)](_0x85fcf6)};}function createAskUserQuestionServer({configController:_0x1ab549,emit:_0x35d04d}){const _0x2c9461=new Map();let _0x5c780e=null,_0x51c895='',_0x50bde2='';async function _0x3edbce(){const _0xbb8d95=_0x2aea;if(_0x5c780e)return{'callbackUrl':_0x51c895,'secret':_0x50bde2};_0x50bde2=randomUUID();const _0x4ac2d1=await _0x2e5dd5({'port':portNumbers(0x332c,0x338f)});return _0x51c895=_0xbb8d95(0x1c0)+_0xbb8d95(0x108)+':'+_0x4ac2d1+(_0xbb8d95(0x111)+_0xbb8d95(0x184)+'on'),_0x5c780e=createServer(async(_0x492d04,_0x59fa87)=>{const _0x28bcbf=_0xbb8d95;if(_0x492d04[_0x28bcbf(0xef)]!=='POST'||_0x492d04['url']!==_0x28bcbf(0x111)+_0x28bcbf(0x184)+'on'){_0x59fa87['writeHea'+'d'](0x194),_0x59fa87['end'](_0x28bcbf(0x13c)+'d');return;}if(_0x492d04[_0x28bcbf(0x12c)][_0x28bcbf(0x1c1)+'er-secre'+'t']!==_0x50bde2){_0x59fa87[_0x28bcbf(0x11d)+'d'](0x191),_0x59fa87[_0x28bcbf(0x103)](_0x28bcbf(0x19f)+_0x28bcbf(0x168));return;}let _0x17e2ed='';_0x492d04['on'](_0x28bcbf(0x151),_0x2649b3=>{const _0x13e482=_0x28bcbf;_0x17e2ed+=_0x2649b3[_0x13e482(0x171)]();if(_0x17e2ed['length']>0x400*0x400)_0x492d04[_0x13e482(0xf1)]();}),_0x492d04['on']('end',()=>{const _0x4387e9=_0x28bcbf;let _0x46d2b9={};try{_0x46d2b9=JSON[_0x4387e9(0x190)](_0x17e2ed||'{}');}catch{_0x59fa87[_0x4387e9(0x11d)+'d'](0x190),_0x59fa87[_0x4387e9(0x103)](_0x4387e9(0xf0)+_0x4387e9(0x160));return;}const _0x58bee6=randomUUID(),_0x20cedc=setTimeout(()=>{const _0xc417fe=_0x4387e9;if(!_0x2c9461['has'](_0x58bee6))return;_0x2c9461[_0xc417fe(0xd9)](_0x58bee6),_0x59fa87[_0xc417fe(0x11d)+'d'](0xc8,{'content-type':_0xc417fe(0x1bf)+'ion/json'}),_0x59fa87[_0xc417fe(0x103)](JSON['stringif'+'y']({'behavior':_0xc417fe(0x149)}));},0x1d4c0);_0x2c9461[_0x4387e9(0xea)](_0x58bee6,{'res':_0x59fa87,'timeout':_0x20cedc}),_0x35d04d(_0x4387e9(0x1e4)+_0x4387e9(0x194)+'n',{'requestId':_0x58bee6,...asRecord(_0x46d2b9)});});}),await new Promise((_0x3f588a,_0x643204)=>{const _0x5aa4b5=_0xbb8d95;_0x5c780e['once'](_0x5aa4b5(0xe3),_0x643204),_0x5c780e[_0x5aa4b5(0x10a)](_0x4ac2d1,'127.0.0.'+'1',()=>{const _0x2842e2=_0x5aa4b5;_0x5c780e[_0x2842e2(0x126)](_0x2842e2(0xe3),_0x643204),_0x3f588a();});}),await _0x1ab549[_0xbb8d95(0x127)+_0xbb8d95(0x1a6)+_0xbb8d95(0x1d9)+_0xbb8d95(0x185)+'g']({'callbackUrl':_0x51c895,'secret':_0x50bde2}),{'callbackUrl':_0x51c895,'secret':_0x50bde2};}function _0x459827(_0x11e0be={}){const _0x1654b6=_0x2aea,_0x3403c9=getTrimmedString(_0x11e0be[_0x1654b6(0x1ce)+'d']);if(!_0x3403c9||!_0x2c9461[_0x1654b6(0x1d2)](_0x3403c9))throw new Error(_0x1654b6(0x1e4)+_0x1654b6(0x194)+_0x1654b6(0xdf)+'t\x20not\x20fo'+_0x1654b6(0x10d));const _0x5cdde4=_0x2c9461['get'](_0x3403c9);return _0x2c9461[_0x1654b6(0xd9)](_0x3403c9),clearTimeout(_0x5cdde4[_0x1654b6(0xfb)]),_0x5cdde4['res'][_0x1654b6(0x11d)+'d'](0xc8,{'content-type':_0x1654b6(0x1bf)+_0x1654b6(0x197)}),_0x5cdde4[_0x1654b6(0x18e)][_0x1654b6(0x103)](JSON[_0x1654b6(0xd2)+'y']({'behavior':_0x11e0be[_0x1654b6(0xe4)]===_0x1654b6(0x149)?_0x1654b6(0x149):_0x1654b6(0xf5),'answers':asRecord(_0x11e0be[_0x1654b6(0x10c)])})),{'ok':!![]};}async function _0x2203cf(){const _0x15e6dc=_0x2aea;for(const [_0x5cc942,_0x1cbc65]of _0x2c9461){_0x2c9461['delete'](_0x5cc942),clearTimeout(_0x1cbc65[_0x15e6dc(0xfb)]),_0x1cbc65[_0x15e6dc(0x18e)][_0x15e6dc(0x11d)+'d'](0xc8,{'content-type':_0x15e6dc(0x1bf)+_0x15e6dc(0x197)}),_0x1cbc65['res'][_0x15e6dc(0x103)](JSON[_0x15e6dc(0xd2)+'y']({'behavior':_0x15e6dc(0x149)}));}if(!_0x5c780e)return;await new Promise(_0xc794b2=>_0x5c780e[_0x15e6dc(0xe7)](_0xc794b2)),_0x5c780e=null;}return{'start':_0x3edbce,'answer':_0x459827,'stop':_0x2203cf};}export function createGatewayController({shellConfig:_0x5788cb,configController:_0x56f7c2,appVersion:appVersion=_0x16a11d(0xe9)}){const _0x6a156a=_0x16a11d,_0x5e66ca=new EventEmitter(),_0x2b5ce8=new ClawGatewayWsClient(),_0x23e1e6=[],_0x35ee82=new Map(),_0x439dfe=new Map(),_0x48d910=createAskUserQuestionServer({'configController':_0x56f7c2,'emit':(_0x34852e,_0x5b59f7)=>_0x5e66ca[_0x6a156a(0x129)](_0x34852e,_0x5b59f7)});let _0x2c1e56=createInitialStatus(),_0x36b84c=null,_0x5668fa=null,_0xd07739=null,_0x48da09=![],_0x31300d=![],_0x22a72e=Promise[_0x6a156a(0x121)](),_0x39e6fd=null;const _0xcfe8cd=join(_0x56f7c2['paths'][_0x6a156a(0x17a)],'gateway.'+_0x6a156a(0x19e));function _0x280246(_0x14e5e0,_0x2f111e){const _0x33073b=_0x6a156a;_0x5e66ca[_0x33073b(0x129)](_0x14e5e0,_0x2f111e);}function _0x5e8677(_0x2dc2cb,_0x5ba556){const _0x3338ed=_0x6a156a;return _0x5e66ca['on'](_0x2dc2cb,_0x5ba556),()=>_0x5e66ca[_0x3338ed(0x126)](_0x2dc2cb,_0x5ba556);}function _0x30d2ec(_0x273a38){_0x2c1e56={..._0x2c1e56,..._0x273a38,'updatedAt':nowIso()},_0x280246('gateway-'+'status',_0x2c1e56);}function _0x35fb4d(_0x664b81,_0x46de9b,_0x2185ba={}){const _0x28e14c=_0x6a156a;_0x30d2ec({'lifecycle':_0x664b81,'message':_0x46de9b,..._0x2185ba}),_0x497092('system',_0x664b81[_0x28e14c(0xe6)+_0x28e14c(0x18d)]()+'\x20'+_0x46de9b);}function _0x497092(_0xb1350b,_0x272759){const _0xeef6a8=_0x6a156a,_0x126dfd={'source':_0xb1350b,'text':_0x272759,'timestamp':nowIso()};_0x23e1e6[_0xeef6a8(0xf4)](_0x126dfd);if(_0x23e1e6[_0xeef6a8(0x12b)]>LOG_LIMIT)_0x23e1e6[_0xeef6a8(0x1db)](0x0,_0x23e1e6[_0xeef6a8(0x12b)]-LOG_LIMIT);_0x280246('gateway-'+_0xeef6a8(0x19e),_0x126dfd),void mkdir(dirname(_0xcfe8cd),{'recursive':!![]})['then'](()=>appendFile(_0xcfe8cd,'['+_0x126dfd[_0xeef6a8(0x131)+'p']+_0xeef6a8(0x1b9)+_0xb1350b+']\x20'+_0x272759,_0xeef6a8(0x1a8)))[_0xeef6a8(0x14f)](()=>{});}function _0x4e9dba(_0x1100ea=0xc8){const _0x257399=_0x6a156a;return _0x23e1e6['slice'](-Math[_0x257399(0x159)](0x1,Math[_0x257399(0x1c6)](_0x1100ea)));}function _0x467e54(){const _0x2ea48c=_0x6a156a;if(!_0x36b84c||_0x2c1e56[_0x2ea48c(0x12e)+'e']!==_0x2ea48c(0xe0))throw new Error(_0x2ea48c(0x107)+_0x2ea48c(0x1a2)+_0x2ea48c(0x11c)+_0x2ea48c(0x1d5)+_0x2ea48c(0x1e1)+'y');}function _0x329de1(){const _0x32a752=_0x6a156a;return Boolean(_0x36b84c&&_0x2c1e56[_0x32a752(0x12e)+'e']===_0x32a752(0xe0));}function _0x4208ee(_0x2b9656){_0x280246('chat-str'+'eam-even'+'t',_0x2b9656);}function _0x38651a(_0x250460){const _0x3941b5=_0x6a156a,_0x25511a=_0x35ee82[_0x3941b5(0x1ab)](_0x250460);if(!_0x25511a)return null;_0x35ee82[_0x3941b5(0xd9)](_0x250460);if(_0x25511a[_0x3941b5(0x165)+_0x3941b5(0x1c9)+_0x3941b5(0x1d1)])clearTimeout(_0x25511a['terminal'+_0x3941b5(0x1c9)+_0x3941b5(0x1d1)]);return _0x439dfe[_0x3941b5(0xd9)](_0x25511a[_0x3941b5(0xe8)+'ey']),_0x25511a;}function _0x8e8482(_0x297b02,_0x3c7a6f,_0x259ffa=''){const _0x5c1874=_0x6a156a,_0x256d85=_0x38651a(_0x297b02[_0x5c1874(0x18b)]);if(!_0x256d85)return;_0x4208ee({'requestId':_0x256d85[_0x5c1874(0x1ce)+'d'],'sessionKey':_0x256d85[_0x5c1874(0xe8)+'ey'],'type':_0x3c7a6f,..._0x259ffa?{'message':_0x259ffa}:{}});}function _0x5f0827(_0x17e535){const _0x2152d4=_0x6a156a;let _0x387228=null;for(const _0x52658a of _0x35ee82['values']()){if(_0x52658a[_0x2152d4(0xe8)+'ey']===_0x17e535)_0x387228=_0x52658a;}return _0x387228;}function _0x109d18(_0xaacfbc){const _0x41b9d7=_0x6a156a;if(!_0xaacfbc)return null;for(const _0x1bac28 of _0x35ee82[_0x41b9d7(0x119)]()){if(_0x1bac28[_0x41b9d7(0x1ce)+'d']===_0xaacfbc)return _0x1bac28;}return null;}function _0x57c8d3(_0x241ca1,_0xff9d66){const _0x198ea8=_0x6a156a;if(_0xff9d66['length']<=_0x241ca1['textLeng'+'th'])return;const _0x351e34=_0xff9d66['slice'](_0x241ca1[_0x198ea8(0x1a5)+'th']);_0x241ca1[_0x198ea8(0x1a5)+'th']=_0xff9d66['length'],_0x351e34&&_0x4208ee({'requestId':_0x241ca1[_0x198ea8(0x1ce)+'d'],'sessionKey':_0x241ca1[_0x198ea8(0xe8)+'ey'],'type':_0x198ea8(0x16e),'delta':_0x351e34});}function _0x2956d9(_0x3219e9,_0x59046e,_0x57e97b=''){const _0x4240d2=_0x6a156a;if(_0x3219e9['terminal'+_0x4240d2(0x1c9)+_0x4240d2(0x1d1)])clearTimeout(_0x3219e9[_0x4240d2(0x165)+_0x4240d2(0x1c9)+_0x4240d2(0x1d1)]);_0x3219e9[_0x4240d2(0x165)+_0x4240d2(0x1c9)+'Timer']=setTimeout(()=>{const _0x2ee111=_0x4240d2,_0x4bd893=_0x35ee82['get'](_0x3219e9['runId']);if(!_0x4bd893)return;_0x8e8482(_0x4bd893,_0x59046e==='error'?_0x2ee111(0xe3):'done',_0x57e97b);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x5105d5(_0x368be4){const _0x1b74a0=_0x6a156a;for(const _0x48ffd7 of _0x35ee82[_0x1b74a0(0x119)]()){_0x4208ee({'requestId':_0x48ffd7['requestI'+'d'],'sessionKey':_0x48ffd7[_0x1b74a0(0xe8)+'ey'],'type':_0x1b74a0(0xe3),'message':_0x368be4});if(_0x48ffd7[_0x1b74a0(0x165)+_0x1b74a0(0x1c9)+_0x1b74a0(0x1d1)])clearTimeout(_0x48ffd7[_0x1b74a0(0x165)+_0x1b74a0(0x1c9)+_0x1b74a0(0x1d1)]);}_0x35ee82[_0x1b74a0(0x15c)](),_0x439dfe[_0x1b74a0(0x15c)]();}function _0x2615d1(_0x1a5755){const _0xd6326f=_0x6a156a,_0x160176=getTrimmedString(_0x1a5755[_0xd6326f(0x18b)]),_0x2ce88b=getTrimmedString(_0x1a5755[_0xd6326f(0x15b)])||'updated',_0x3cac26=getTrimmedString(_0x1a5755[_0xd6326f(0xe8)+'ey']),_0x5ad3b3=(_0x160176?_0x35ee82[_0xd6326f(0x1ab)](_0x160176):null)??(_0x3cac26?_0x5f0827(_0x3cac26):null);if(_0x160176&&_0x3cac26)_0x439dfe[_0xd6326f(0xea)](_0x3cac26,_0x160176);if(_0x3cac26)_0x280246(_0xd6326f(0x1c7)+'updated',{'sessionKey':_0x3cac26,'state':_0x2ce88b});_0x5ad3b3&&(_0x2ce88b===_0xd6326f(0x1bb)||_0x2ce88b===_0xd6326f(0x179)||_0x2ce88b==='error')&&_0x2956d9(_0x5ad3b3,_0x2ce88b,typeof _0x1a5755['errorMes'+'sage']===_0xd6326f(0xd1)?_0x1a5755[_0xd6326f(0x12f)+_0xd6326f(0x162)]:_0xd6326f(0x107)+'chat\x20fai'+'led');if(!_0x5ad3b3)return;if(_0x3cac26&&_0x3cac26!==_0x5ad3b3[_0xd6326f(0xe8)+'ey'])return;if(_0x2ce88b===_0xd6326f(0x16e)){_0x57c8d3(_0x5ad3b3,extractGatewayChatText(_0x1a5755[_0xd6326f(0x15d)]));return;}if(_0x2ce88b==='final'||_0x2ce88b===_0xd6326f(0x179)){_0x57c8d3(_0x5ad3b3,extractGatewayChatText(_0x1a5755[_0xd6326f(0x15d)])),_0x8e8482(_0x5ad3b3,_0xd6326f(0x18f));return;}_0x2ce88b===_0xd6326f(0xe3)&&_0x8e8482(_0x5ad3b3,_0xd6326f(0xe3),typeof _0x1a5755[_0xd6326f(0x12f)+_0xd6326f(0x162)]===_0xd6326f(0xd1)?_0x1a5755[_0xd6326f(0x12f)+_0xd6326f(0x162)]:_0xd6326f(0x107)+'chat\x20fai'+_0xd6326f(0x1b7));}async function _0x949bb8(_0x32a27c,_0x3e4109){const _0x2a7f86=_0x6a156a;_0x2b5ce8[_0x2a7f86(0x182)+'e']({'url':buildGatewayWsUrl(_0x3e4109),'token':_0x32a27c,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x5788cb[_0x2a7f86(0x157)+_0x2a7f86(0x1e0)],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x56f7c2[_0x2a7f86(0x18a)+_0x2a7f86(0x16b)+_0x2a7f86(0x14e)+'h'](),'onChatEvent':_0x2615d1,'onAgentEvent':_0x2e45c7=>_0x280246(_0x2a7f86(0x147)+_0x2a7f86(0xe2),_0x2e45c7),'onConnected':async()=>{const _0x1e171d=_0x2a7f86;if(!_0x36b84c||!_0xd07739||!_0x5668fa)return;_0x35fb4d(_0x1e171d(0xe0),'gateway\x20'+_0x1e171d(0x116)+'d',{'health':_0x1e171d(0x176),'port':_0xd07739,'tokenPresent':!![]});try{await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x5788cb[_0x1e171d(0x1d7)+'oot']))['runtimeR'+_0x1e171d(0x1a9)],_0x1e171d(0x1bd),_0x1e171d(0x19a)),'stateDir':_0x56f7c2[_0x1e171d(0x110)+_0x1e171d(0xd0)](),'listAgents':_0x12e557,'createAgent':_0x461dbb=>_0x2b5ce8[_0x1e171d(0x17e)](_0x1e171d(0xde)+_0x1e171d(0x15a),_0x461dbb),'updateAgent':_0x4269be=>_0x2b5ce8[_0x1e171d(0x17e)](_0x1e171d(0x109)+_0x1e171d(0x112),_0x4269be),'syncSkills':async({agentIds:_0x2833e8,mainWorkspace:_0x579568})=>{const _0x1cabe5=_0x1e171d,_0x5ac938=dirname(_0x579568),_0x3a0920=await syncBundledAgentSkillsToConfig({'agentIds':_0x2833e8,'resolveSkillsDir':_0x329c1d=>_0x329c1d===_0x1cabe5(0x1c5)?join(_0x579568,'skills'):join(_0x5ac938,_0x1cabe5(0xdd)+'e-'+_0x329c1d,'skills'),'readConfig':()=>_0x56f7c2[_0x1cabe5(0x1cf)+'ig'](),'writeConfig':_0x2dd1ab=>_0x56f7c2[_0x1cabe5(0x163)+'fig'](_0x2dd1ab),'markConfigWriteHandledInternally':()=>_0x56f7c2[_0x1cabe5(0x1a3)+_0x1cabe5(0x153)+'andledIn'+_0x1cabe5(0x11e)]()});_0x39e6fd=_0x3a0920[_0x1cabe5(0xf8)+'y'];}}),_0x280246(_0x1e171d(0x1b0)+_0x1e171d(0xdb),{'reason':_0x1e171d(0x1e3)+'agents-r'+_0x1e171d(0x161)});}catch(_0x59620f){const _0x40f40e=_0x59620f instanceof Error?_0x59620f[_0x1e171d(0x12d)]||_0x59620f['message']:String(_0x59620f);_0x497092('system',_0x1e171d(0x1ea)+_0x1e171d(0x14a)+_0x1e171d(0x1b5)+_0x1e171d(0x177)+_0x40f40e),console[_0x1e171d(0xe3)](_0x1e171d(0x167)+_0x1e171d(0xf2)+_0x1e171d(0x1ba)+_0x1e171d(0x141)+_0x1e171d(0xd7)+_0x1e171d(0x1a7),_0x59620f);}},'onDisconnected':_0x45ec52=>{const _0xd1caa1=_0x2a7f86;_0x5105d5(_0x45ec52);if(_0x31300d||!_0x36b84c)return;_0x30d2ec({'health':_0xd1caa1(0x192),'message':'gateway\x20'+_0xd1caa1(0x17b)+'ting:\x20'+_0x45ec52});}});}async function _0x136b6d(_0x2c86cd,_0x5dbd78){const _0x4ce8bb=_0x6a156a;if(_0x36b84c)return;_0x35fb4d('starting','gateway\x20'+'starting',{'health':_0x4ce8bb(0x192),'port':_0x5dbd78,'tokenPresent':!![]});const _0x258e0a=['gateway','run',_0x4ce8bb(0x13f)+'unconfig'+_0x4ce8bb(0x12a),_0x4ce8bb(0x11f),_0x2c86cd,_0x4ce8bb(0x19b),String(_0x5dbd78)];_0x497092(_0x4ce8bb(0x138),'openclaw'+'\x20'+_0x258e0a[_0x4ce8bb(0x1cb)]('\x20')),_0x36b84c=await spawnClaw(_0x5788cb['projectR'+_0x4ce8bb(0x1a9)],_0x258e0a,{'env':{'OPENCLAW_STATE_DIR':_0x56f7c2[_0x4ce8bb(0x110)+_0x4ce8bb(0xd0)](),'OPENCLAW_CONFIG_PATH':_0x56f7c2[_0x4ce8bb(0xd6)+'onfigPat'+'h']()}}),_0x5668fa=_0x2c86cd,_0xd07739=_0x5dbd78,_0x30d2ec({'health':_0x4ce8bb(0x192),'port':_0xd07739,'tokenPresent':!![],'message':_0x4ce8bb(0x107)+_0x4ce8bb(0x120)+_0x4ce8bb(0x166)+_0x4ce8bb(0x13a)+_0x4ce8bb(0x1d6)}),await _0x949bb8(_0x2c86cd,_0x5dbd78),_0x36b84c[_0x4ce8bb(0x143)]['on'](_0x4ce8bb(0x151),_0x54281a=>{const _0x4ac1e9=_0x4ce8bb,_0x41700f=_0x54281a[_0x4ac1e9(0x171)]();_0x497092(_0x4ac1e9(0x143),_0x41700f);}),_0x36b84c[_0x4ce8bb(0x16c)]['on'](_0x4ce8bb(0x151),_0x5bb30a=>{const _0x44fc63=_0x5bb30a['toString']();_0x497092('stderr',_0x44fc63);}),_0x36b84c['on'](_0x4ce8bb(0xe3),_0x20dba7=>{const _0x301429=_0x4ce8bb;_0x497092(_0x301429(0x16c),_0x20dba7 instanceof Error?_0x20dba7[_0x301429(0x12d)]||_0x20dba7[_0x301429(0x15d)]:String(_0x20dba7));}),_0x36b84c['on'](_0x4ce8bb(0xe7),(_0x4af7ea,_0x11efb0)=>{const _0x5e71e9=_0x4ce8bb;_0x497092('system',_0x5e71e9(0x107)+_0x5e71e9(0x1e6)+_0x5e71e9(0x115)+(_0x4af7ea??'null')+_0x5e71e9(0x180)+(_0x11efb0??'null')),_0x36b84c=null,_0x5668fa=null,_0xd07739=null,_0x2b5ce8[_0x5e71e9(0x182)+'e'](null),_0x5105d5(_0x5e71e9(0x107)+_0x5e71e9(0x120)+_0x5e71e9(0xfe));if(_0x31300d){_0x35fb4d(_0x5e71e9(0x1cd),'gateway\x20'+_0x5e71e9(0x1cd),{'health':'unknown','port':null,'tokenPresent':![]});return;}_0x35fb4d(_0x5e71e9(0xe3),_0x5e71e9(0x107)+_0x5e71e9(0x11a)+_0x5e71e9(0xfc)+'dly',{'health':'unhealth'+'y','port':null,'tokenPresent':![]});});}async function _0xb87236(){const _0x4a8de3=_0x6a156a;if(_0x36b84c)return;_0x31300d=![],await _0x48d910[_0x4a8de3(0x186)]()[_0x4a8de3(0x14f)](_0x55e1d3=>{const _0x182aa5=_0x4a8de3;_0x497092(_0x182aa5(0x138),_0x182aa5(0x1e4)+_0x182aa5(0x194)+_0x182aa5(0x100)+_0x182aa5(0x1d0)+_0x182aa5(0xee)+(_0x55e1d3 instanceof Error?_0x55e1d3[_0x182aa5(0x15d)]:String(_0x55e1d3)));}),await _0x56f7c2[_0x4a8de3(0x1aa)+_0x4a8de3(0xcf)+_0x4a8de3(0x1e7)](),_0x56f7c2[_0x4a8de3(0xeb)+_0x4a8de3(0x148)+'es'](),_0x56f7c2[_0x4a8de3(0xfa)+'ayRestar'+_0x4a8de3(0xd5)](_0x5da688=>{void _0x5f425b(_0x5da688);});const _0x1929a4=await _0x56f7c2[_0x4a8de3(0x1ac)+_0x4a8de3(0x1c2)+'tings']();await _0x136b6d(_0x1929a4[_0x4a8de3(0x172)],_0x1929a4[_0x4a8de3(0x135)]);}async function _0x25ebb1(){const _0x96de02=_0x6a156a;_0x31300d=!![],_0x2b5ce8[_0x96de02(0x182)+'e'](null);if(_0x36b84c){const _0x4e41a3=_0x36b84c;_0x36b84c=null;try{_0x4e41a3[_0x96de02(0x117)]('SIGTERM');}catch{}await new Promise(_0x1c12a7=>setTimeout(_0x1c12a7,0x1f4));if(!_0x4e41a3[_0x96de02(0x150)])try{_0x4e41a3[_0x96de02(0x117)](_0x96de02(0xe1));}catch{}}_0x5668fa=null,_0xd07739=null,_0x5105d5(_0x96de02(0x107)+_0x96de02(0x1cd)),await _0x48d910[_0x96de02(0x173)](),_0x56f7c2[_0x96de02(0x158)](),_0x35fb4d(_0x96de02(0x1cd),_0x96de02(0x107)+_0x96de02(0x1cd),{'health':_0x96de02(0x192),'port':null,'tokenPresent':![]}),_0x31300d=![];}async function _0x5f425b(_0x1bdb21=_0x6a156a(0x154)+'estart'){const _0x4968e0=_0x6a156a;if(_0x48da09)return{'ok':!![]};return _0x48da09=!![],_0x22a72e=_0x22a72e[_0x4968e0(0xf6)](async()=>{const _0x482fce=_0x4968e0;_0x35fb4d(_0x482fce(0x1a4)+'ng',_0x482fce(0x107)+_0x482fce(0x1a4)+_0x482fce(0x102)+_0x1bdb21,{'health':'unknown'}),await _0x25ebb1(),await _0xb87236();})['finally'](()=>{_0x48da09=![];}),await _0x22a72e,{'ok':!![]};}async function _0x1a1eaa(){const _0x487bf5=_0x6a156a,_0x26ed2b=await loadRuntimeInfo(_0x5788cb[_0x487bf5(0x1d7)+_0x487bf5(0x1a9)]);return{'runtimeRoot':_0x26ed2b['runtimeR'+_0x487bf5(0x1a9)],'openclawVersion':_0x26ed2b[_0x487bf5(0x1bd)+_0x487bf5(0x156)],'openclawWorkingDir':_0x26ed2b[_0x487bf5(0x1bd)+_0x487bf5(0x193)+'ir'],'openclawBin':_0x26ed2b['openclaw'+_0x487bf5(0x139)],'plugins':_0x26ed2b[_0x487bf5(0x189)][_0x487bf5(0x1c4)](_0x4351ee=>({'pluginId':_0x4351ee['pluginId'],'source':_0x4351ee['source'],'version':_0x4351ee['version'],'installPath':_0x4351ee[_0x487bf5(0x122)+'ath']})),'configPath':_0x56f7c2[_0x487bf5(0xd6)+_0x487bf5(0x170)+'h'](),'stateDir':_0x56f7c2[_0x487bf5(0x110)+_0x487bf5(0xd0)](),'bundledAgentSkillsDiscovery':_0x39e6fd};}async function _0x12e557(){const _0x49f482=_0x6a156a,_0x3d8fe7=asRecord(await _0x2b5ce8[_0x49f482(0x17e)](_0x49f482(0x17c)+'ist',{})),_0x4dfc43=getTrimmedString(_0x3d8fe7[_0x49f482(0x144)+'d'])||_0x49f482(0x1c5),_0x1eff1d=Array[_0x49f482(0x191)](_0x3d8fe7[_0x49f482(0x19a)])?[..._0x3d8fe7['agents']]:[];return{..._0x3d8fe7,'defaultId':_0x4dfc43,'agents':_0x1eff1d};}async function _0x48e54f(){const _0x575ee7=_0x6a156a;if(!_0x329de1())return{'defaultId':'main','mainKey':'','scope':'','pending':!![],'agents':[{'id':_0x575ee7(0x1c5),'name':_0x5788cb[_0x575ee7(0x157)+'ame'],'workspace':join(_0x56f7c2[_0x575ee7(0x110)+'tateDir'](),'workspac'+'e')}]};const _0x54a7be=await _0x12e557(),_0x13266f=getTrimmedString(_0x54a7be[_0x575ee7(0x144)+'d'])||_0x575ee7(0x1c5),_0x181673=Array[_0x575ee7(0x191)](_0x54a7be[_0x575ee7(0x19a)])?[..._0x54a7be[_0x575ee7(0x19a)]]:[];return!_0x181673[_0x575ee7(0x174)](_0x5e0fc9=>asRecord(_0x5e0fc9)['id']===_0x575ee7(0x1c5))&&_0x181673[_0x575ee7(0x1c3)]({'id':_0x575ee7(0x1c5),'name':_0x5788cb[_0x575ee7(0x157)+'ame'],'workspace':join(_0x56f7c2[_0x575ee7(0x110)+_0x575ee7(0xd0)](),_0x575ee7(0xdd)+'e')}),{..._0x54a7be,'defaultId':_0x13266f,'agents':_0x181673};}async function _0x74b8ea(_0x574973={}){const _0x240011=_0x6a156a;_0x467e54();const _0x288c95=await _0x2b5ce8[_0x240011(0x17e)](_0x240011(0x164)+_0x240011(0x13b),buildSessionCreateRequestPayload(_0x574973));return parseSessionCreateResult(_0x288c95);}async function _0x4fa0f4(_0x4e66af={}){const _0x97b7ac=_0x6a156a,_0x454414=await readSessionMetadata(_0x56f7c2[_0x97b7ac(0x110)+_0x97b7ac(0xd0)]());if(!_0x329de1())return{'pending':!![],'sessions':[],'pinnedKeys':_0x454414['pinnedKe'+'ys']};const _0x323aa1=Math['max'](0x1,Math[_0x97b7ac(0x1c6)](Number(_0x4e66af[_0x97b7ac(0x15e)])||0x64)),_0x2acbbd={'limit':_0x323aa1,'includeGlobal':!![],'includeUnknown':![]},_0x15ccd6=getTrimmedString(_0x4e66af[_0x97b7ac(0x105)]??_0x97b7ac(0x1c5));if(_0x15ccd6)_0x2acbbd[_0x97b7ac(0x105)]=_0x15ccd6;return applySessionMetadata(await _0x2b5ce8[_0x97b7ac(0x17e)](_0x97b7ac(0x164)+_0x97b7ac(0xec),_0x2acbbd),_0x454414);}async function _0x25ddec(_0x14b268={}){const _0x4783c8=_0x6a156a;_0x467e54();const _0x175434=getTrimmedString(_0x14b268[_0x4783c8(0xe8)+'ey']??_0x14b268[_0x4783c8(0x1ec)]);if(!_0x175434)throw new Error(_0x4783c8(0xe8)+_0x4783c8(0xdc)+_0x4783c8(0x1bc));const _0x337291=await _0x2b5ce8[_0x4783c8(0x17e)](_0x4783c8(0x164)+_0x4783c8(0x118),{'key':_0x175434,'deleteTranscript':_0x14b268['deleteTr'+'anscript']!==![],'emitLifecycleHooks':!![]}),_0x46af0e=await readSessionMetadata(_0x56f7c2[_0x4783c8(0x110)+'tateDir']());return delete _0x46af0e['names'][_0x175434],_0x46af0e[_0x4783c8(0x140)+'ys']=_0x46af0e[_0x4783c8(0x140)+'ys'][_0x4783c8(0x130)](_0x3e5cc1=>_0x3e5cc1!==_0x175434),await writeSessionMetadata(_0x56f7c2['resolveS'+'tateDir'](),_0x46af0e),_0x280246(_0x4783c8(0x1c7)+'updated',{'type':_0x4783c8(0x152),'sessionKey':_0x175434}),_0x337291;}async function _0x318116(_0xd300b4={}){const _0x465b7b=_0x6a156a,_0x8edc94=getTrimmedString(_0xd300b4['sessionK'+'ey']??_0xd300b4[_0x465b7b(0x1ec)]);if(!_0x8edc94)throw new Error(_0x465b7b(0xe8)+'ey\x20is\x20re'+_0x465b7b(0x1bc));const _0x4801a2=getTrimmedString(_0xd300b4[_0x465b7b(0x1ae)]??_0xd300b4[_0x465b7b(0x106)]??_0xd300b4['title']),_0x3b2e03=await readSessionMetadata(_0x56f7c2[_0x465b7b(0x110)+_0x465b7b(0xd0)]());if(_0x4801a2)_0x3b2e03['names'][_0x8edc94]=_0x4801a2;else delete _0x3b2e03[_0x465b7b(0x1df)][_0x8edc94];return await writeSessionMetadata(_0x56f7c2[_0x465b7b(0x110)+'tateDir'](),_0x3b2e03),_0x280246(_0x465b7b(0x1c7)+'updated',{'type':_0x465b7b(0x155),'sessionKey':_0x8edc94,'name':_0x4801a2}),{'ok':!![]};}async function _0x1d6de3(){const _0x4e9647=_0x6a156a,_0x381689=await readSessionMetadata(_0x56f7c2[_0x4e9647(0x110)+_0x4e9647(0xd0)]());return _0x381689[_0x4e9647(0x140)+'ys'];}async function _0x3137a5(_0x10011e=[]){const _0x4f649d=_0x6a156a,_0x467ac7=await readSessionMetadata(_0x56f7c2[_0x4f649d(0x110)+_0x4f649d(0xd0)]());return _0x467ac7[_0x4f649d(0x140)+'ys']=Array['isArray'](_0x10011e)?[...new Set(_0x10011e['map'](getTrimmedString)[_0x4f649d(0x130)](Boolean))]:[],await writeSessionMetadata(_0x56f7c2[_0x4f649d(0x110)+_0x4f649d(0xd0)](),_0x467ac7),_0x280246(_0x4f649d(0x1c7)+_0x4f649d(0x10f),{'type':_0x4f649d(0x124)+_0x4f649d(0x1eb)+_0x4f649d(0xed),'pinnedKeys':_0x467ac7['pinnedKe'+'ys']}),{'ok':!![],'pinnedKeys':_0x467ac7[_0x4f649d(0x140)+'ys']};}async function _0x4eaa78(){const _0x4ecf01=_0x6a156a,_0xbedb5d=join(_0x56f7c2[_0x4ecf01(0x110)+_0x4ecf01(0xd0)](),'workspac'+'e');return{'path':_0xbedb5d,'exists':Boolean(await stat(_0xbedb5d)[_0x4ecf01(0x14f)](()=>null))};}async function _0x51e622(){const _0x2c4581=_0x6a156a;return readSharedContext(join(_0x56f7c2[_0x2c4581(0x110)+_0x2c4581(0xd0)](),_0x2c4581(0xdd)+'e'));}async function _0x24e534(_0x4c6c92={}){const _0x39f2fd=_0x6a156a;return writeSharedContext(join(_0x56f7c2[_0x39f2fd(0x110)+_0x39f2fd(0xd0)](),_0x39f2fd(0xdd)+'e'),_0x4c6c92);}async function _0x5c992d(_0x40b9c6={}){const _0x459a53=_0x6a156a;return _0x467e54(),await _0x2b5ce8[_0x459a53(0x17e)]('cron.lis'+'t',_0x40b9c6);}async function _0x50c296(_0x352f1d={}){const _0x37bed8=_0x6a156a;return _0x467e54(),await _0x2b5ce8[_0x37bed8(0x17e)](_0x37bed8(0x1c8),_0x352f1d);}async function _0x4ca297(_0x2fdf8c={}){const _0x27bc9b=_0x6a156a;_0x467e54();const _0x44572e=getTrimmedString(_0x2fdf8c['jobId']??_0x2fdf8c['id']);if(!_0x44572e)throw new Error(_0x27bc9b(0xfd)+_0x27bc9b(0x1e9)+'d');const _0x465476=asRecord(_0x2fdf8c[_0x27bc9b(0x14c)]),_0x3d6338=Object['keys'](_0x465476)[_0x27bc9b(0x12b)]>0x0?_0x465476:{..._0x2fdf8c};return delete _0x3d6338[_0x27bc9b(0x196)],delete _0x3d6338['id'],await _0x2b5ce8[_0x27bc9b(0x17e)]('cron.upd'+'ate',{'jobId':_0x44572e,'patch':_0x3d6338});}async function _0x264dd8(_0x17bfb9={}){const _0x1d032b=_0x6a156a;_0x467e54();const _0x4d4a37=getTrimmedString(_0x17bfb9[_0x1d032b(0x196)]??_0x17bfb9['id']);if(!_0x4d4a37)throw new Error(_0x1d032b(0xfd)+_0x1d032b(0x1e9)+'d');return await _0x2b5ce8[_0x1d032b(0x17e)]('cron.rem'+'ove',{'jobId':_0x4d4a37});}async function _0x900deb(_0x5507b5={}){const _0x74224a=_0x6a156a;_0x467e54();const _0x2d8c09=getTrimmedString(_0x5507b5['jobId']??_0x5507b5['id']);if(!_0x2d8c09)throw new Error('jobId\x20is'+'\x20require'+'d');return await _0x2b5ce8[_0x74224a(0x17e)](_0x74224a(0x1dd),{'jobId':_0x2d8c09});}async function _0x42dcaa(_0x288f54={}){const _0xa8b5e2=_0x6a156a;return _0x467e54(),await _0x2b5ce8[_0xa8b5e2(0x17e)](_0xa8b5e2(0x1dd)+'s',_0x288f54);}async function _0x3adaba(_0x353754={}){const _0x5e0a3d=_0x6a156a;return _0x467e54(),await _0x2b5ce8['request'](_0x5e0a3d(0x137)+_0x5e0a3d(0x1de),_0x353754);}async function _0x44b6db(_0x17c800={}){const _0x4d88b2=_0x6a156a;return _0x467e54(),await _0x2b5ce8['request']('skills.u'+_0x4d88b2(0x112),_0x17c800);}async function _0x4221ba(_0x25ea53={}){const _0x32391b=_0x6a156a;return _0x467e54(),await _0x2b5ce8[_0x32391b(0x17e)]('skills.d'+_0x32391b(0x132),_0x25ea53);}async function _0x6cdc02(_0x34a4f0={}){const _0x5dd985=_0x6a156a;_0x467e54();const _0x2a45cc=getTrimmedString(_0x34a4f0[_0x5dd985(0xe8)+'ey']),_0x2eec36=getTrimmedString(_0x34a4f0[_0x5dd985(0x15d)]),_0x299952=getTrimmedString(_0x34a4f0[_0x5dd985(0x1ce)+'d'])||randomUUID();if(!_0x2a45cc)throw new Error(_0x5dd985(0xe8)+_0x5dd985(0xdc)+_0x5dd985(0x1bc));if(!_0x2eec36)throw new Error(_0x5dd985(0x1b2)+_0x5dd985(0xf3)+'red');_0x4208ee({'requestId':_0x299952,'sessionKey':_0x2a45cc,'type':_0x5dd985(0xd3)}),_0x35ee82['set'](_0x299952,{'runId':_0x299952,'requestId':_0x299952,'sessionKey':_0x2a45cc,'textLength':0x0}),_0x439dfe['set'](_0x2a45cc,_0x299952);try{const _0x405f19=await buildAttachments(Array['isArray'](_0x34a4f0['filePath'+'s'])?_0x34a4f0[_0x5dd985(0x1ca)+'s']:[]),_0x237831=asRecord(await _0x2b5ce8[_0x5dd985(0x17e)](_0x5dd985(0xf7)+'d',{'sessionKey':_0x2a45cc,'message':_0x2eec36,'deliver':![],'idempotencyKey':_0x299952,..._0x405f19[_0x5dd985(0x12b)]>0x0?{'attachments':_0x405f19}:{}})),_0x12391a=getTrimmedString(_0x237831['runId'])||_0x299952,_0x1e019b=_0x35ee82[_0x5dd985(0x1ab)](_0x299952);if(!_0x1e019b)return{'ok':!![],'requestId':_0x299952,'runId':_0x12391a};return _0x12391a!==_0x1e019b['runId']&&(_0x35ee82[_0x5dd985(0xd9)](_0x1e019b[_0x5dd985(0x18b)]),_0x1e019b[_0x5dd985(0x18b)]=_0x12391a,_0x35ee82[_0x5dd985(0xea)](_0x12391a,_0x1e019b)),_0x439dfe[_0x5dd985(0xea)](_0x2a45cc,_0x12391a),_0x237831[_0x5dd985(0x1d4)]===_0x5dd985(0xe3)&&_0x8e8482(_0x1e019b,_0x5dd985(0xe3),getTrimmedString(_0x237831['errorMes'+_0x5dd985(0x162)])||_0x5dd985(0x107)+_0x5dd985(0x1af)+'led'),{'ok':!![],'requestId':_0x299952,'runId':_0x12391a,'response':_0x237831};}catch(_0x34127c){const _0x4deba4=_0x109d18(_0x299952),_0x18654f=_0x34127c instanceof Error?_0x34127c[_0x5dd985(0x15d)]:String(_0x34127c);if(_0x4deba4)_0x8e8482(_0x4deba4,'error',_0x18654f);else _0x4208ee({'requestId':_0x299952,'sessionKey':_0x2a45cc,'type':_0x5dd985(0xe3),'message':_0x18654f});throw _0x34127c;}}async function _0x59fd78(_0x3a7b4f={}){const _0x5cbb9d=_0x6a156a;_0x467e54();const _0x27f3d5=getTrimmedString(_0x3a7b4f['sessionK'+'ey']);if(!_0x27f3d5)throw new Error(_0x5cbb9d(0xe8)+'ey\x20is\x20re'+_0x5cbb9d(0x1bc));const _0x18829c=_0x109d18(getTrimmedString(_0x3a7b4f[_0x5cbb9d(0x1ce)+'d']))??_0x5f0827(_0x27f3d5),_0x5d081c=_0x439dfe['get'](_0x27f3d5),_0x1a889d={'sessionKey':_0x27f3d5};if(_0x18829c?.[_0x5cbb9d(0x18b)])_0x1a889d[_0x5cbb9d(0x18b)]=_0x18829c[_0x5cbb9d(0x18b)];else{if(_0x5d081c)_0x1a889d[_0x5cbb9d(0x18b)]=_0x5d081c;}const _0x762325=await _0x2b5ce8['request']('chat.abo'+'rt',_0x1a889d);if(_0x18829c)_0x8e8482(_0x18829c,_0x5cbb9d(0x18f));return _0x762325;}async function _0x3ea6d7(_0x1218bb={}){const _0xa65842=_0x6a156a;_0x467e54();const _0x2e98aa=getTrimmedString(_0x1218bb[_0xa65842(0xe8)+'ey']);if(!_0x2e98aa)throw new Error('sessionK'+_0xa65842(0xdc)+_0xa65842(0x1bc));return await _0x2b5ce8[_0xa65842(0x17e)]('chat.his'+'tory',{'sessionKey':_0x2e98aa,'limit':Math[_0xa65842(0x159)](0x1,Math[_0xa65842(0x1c6)](Number(_0x1218bb['limit'])||0xc8))});}async function _0x4270d8(_0x11a7ed=''){const _0x3ae0e5=_0x6a156a;if(!_0x329de1())return{'pending':!![],'skills':[]};const _0x36804c=getTrimmedString(_0x11a7ed),_0xa1143f=await _0x2b5ce8[_0x3ae0e5(0x17e)]('skills.s'+_0x3ae0e5(0x195),_0x36804c?{'agentId':_0x36804c}:{}),_0x1b0187=await _0x56f7c2[_0x3ae0e5(0x1cf)+'ig']()[_0x3ae0e5(0x14f)](()=>({}));return filterSkillsForAgent(_0xa1143f,_0x1b0187,_0x36804c);}return{'on':_0x5e8677,'start':_0xb87236,'stop':_0x25ebb1,'restart':_0x5f425b,'runtimeInfo':_0x1a1eaa,'getStatus':()=>_0x2c1e56,'getRecentLogs':_0x4e9dba,'answerAskUserQuestion':_0x1031f4=>_0x48d910['answer'](_0x1031f4),'agents':{'list':_0x48e54f},'skills':{'status':_0x4270d8,'install':_0x3adaba,'update':_0x44b6db,'delete':_0x4221ba},'sessions':{'create':_0x74b8ea,'list':_0x4fa0f4,'delete':_0x25ddec,'rename':_0x318116,'pinnedKeys':_0x1d6de3,'setPinnedKeys':_0x3137a5},'workspace':{'directoryInfo':_0x4eaa78,'sharedContext':_0x51e622,'writeSharedContext':_0x24e534},'cron':{'list':_0x5c992d,'create':_0x50c296,'update':_0x4ca297,'remove':_0x264dd8,'runOnce':_0x900deb,'logs':_0x42dcaa},'models':{'settings':()=>_0x56f7c2['getModel'+_0x6a156a(0x16a)](),'selectedModelId':async()=>{const _0xab3848=_0x6a156a,_0x57f7a5=await _0x56f7c2['getModel'+_0xab3848(0x16a)]();return _0x57f7a5[_0xab3848(0x14d)]&&_0x57f7a5['modelNam'+'e']?_0x57f7a5[_0xab3848(0x14d)]+'/'+_0x57f7a5[_0xab3848(0x17d)+'e']:'';},'customModels':async()=>[]},'config':{'read':()=>_0x56f7c2[_0x6a156a(0x1cf)+'ig']()},'chat':{'stream':_0x6cdc02,'abort':_0x59fd78,'history':_0x3ea6d7}};}
1
+ const _0x2f329a=_0x54fe;(function(_0x2bdb4a,_0x1e1f96){const _0x56e76a=_0x54fe,_0x1f2071=_0x2bdb4a();while(!![]){try{const _0x3189c6=-parseInt(_0x56e76a(0x262))/0x1+-parseInt(_0x56e76a(0x268))/0x2+parseInt(_0x56e76a(0x191))/0x3*(-parseInt(_0x56e76a(0x160))/0x4)+parseInt(_0x56e76a(0x205))/0x5*(parseInt(_0x56e76a(0x217))/0x6)+parseInt(_0x56e76a(0x1ba))/0x7+parseInt(_0x56e76a(0x174))/0x8*(-parseInt(_0x56e76a(0x225))/0x9)+parseInt(_0x56e76a(0x28a))/0xa*(parseInt(_0x56e76a(0x1ec))/0xb);if(_0x3189c6===_0x1e1f96)break;else _0x1f2071['push'](_0x1f2071['shift']());}catch(_0x3085f7){_0x1f2071['push'](_0x1f2071['shift']());}}}(_0x2c73,0xa675a));import{randomUUID}from'node:crypto';import{createServer}from'node:http';import{EventEmitter}from'node:events';function _0x2c73(){const _0x498313=['backend','pted\x20by\x20','off','get','filePath','ded','delete','status','ate','t-stream','sessionI','HEARTBEA','y\x20shortl','request','sent','ync\x20fail','resolveC','ort\x20','.delete','workspac','eam\x20acce','n\x20callba','final','ion/octe','led:\x20','name','message\x20','json','t\x20connec','listen','Version','eys-upda','tings','und','IDENTITY','quested','join','reconnec','t\x20discon','sted','session-','main','toISOStr','704154ZJCvot','anscript','projectR','startedA','chat\x20att','behavior','answer','ing,\x20ple','.json','pinned\x20k','nexpecte','token','Fallback','[REDACTE','paths','mpleted','MEMORY.m','invalid\x20','sessions','isFile','ey\x20is\x20re','eady','skills.s','skill\x20up','setModel','65YUnxbR','ompleted','andledIn','session\x20','run','\x20write\x20r','unknown','includes','tory\x20loa','exited','modelNam','WorkingD','now','max','agents-u','AGENTS.m','.create','stdout','561660jElCVi','values','title','d\x20--toke','cron.add','controll','\x20list\x20co','agents.l','pid','headers','.list','watchCon','deny','lete\x20req','370647mmpkhc','\x20settled','random','Timer','ayRestar','eam-even','catch','destroy','configur','e\x20update','skills.d','nChange','ath','url','terminal','rt\x20reque','delta','equested','stop','filter','agents.c','pdate','string','image/gi','close','text','ssionKey','textLeng','achments','port','skill\x20in','attachme','then','cron.lis','c\x20starte','agents-r','process\x20','stringif','ted','ntityPat','session','system','tHandler','ase','image/jp','productN','push','\x20require','USER.md','quired','ed:\x20','plugins','r-questi','chat-str','lifecycl','info','e\x20shared',':session','desktop','names','er\x20start','216649gRjEmh','agents\x20s','aded','set','eam\x20fail','killed','344900nLweKt','pinned-k','resolveD','tatus','bundled\x20','aborted','ensureGa','started','-questio','resolveS','llow-unc','--allow-','ing','kdown','allow','started,','requeste','ndled\x20ag','keys','sessionK','\x20gateway','ents\x20syn','answers','nected','version','cron.run','hell:gat','file','iled','state','is\x20start','trim','pinnedKe','unshift','80gEHEsW','toString','stopped','readConf','jobId\x20is','null','timeout','connecte','chat.sen','ask-user','start','message','agent:','limit','getModel','splice','ills\x20syn','deleted','\x20request','key','onfigure','ame','once','clear','text/mar','create\x20r','installP','sage','patch','ured','parentSe','writeHea','utf8','uested','image/pn','estart','onfigPat','map','bundled-','renamed','isArray','agents','restarti','skill\x20de','eway]\x20bu','igWriteH','reate','size','ties','ay\x20state','kUserQue','chat\x20fai','stderr','--port','runId','stack','floor','deleteTr','closed','has','stionPlu','agentId','res','t\x20not\x20fo','chat.abo','slice','eys\x20upda','chat','ion/pdf','\x20failed\x20','toUpperC','skills','defaultI','3973680TQHPrV','running','ternally','restart\x20','is\x20requi','27.0.0.1','ginConfi','tokenPre','ized','gateway\x20','flush','er\x20stop\x20','--token','type','ested','starting','create\x20c','ist','writeCon','by\x20gatew','24WzIyCA','fig','healthy','POST','oot','applicat','agent\x20sk','ase\x20retr','discover','content','ved','peratedM','requestI','markConf','setSelfO','\x20run\x20--a','startsWi','Bin','ode=','n\x20[REDAC','updated','dly','g+xml','Settings','label','text/csv','ting:\x20','done','agent-ev','3shtJwA','runtimeR','[wujie-s','ck\x20disab','unhealth','/ask-use','image/we','provider','error','source','log','pop','gateway','errorMes','tateDir','mimeType','websocke','emit','spawn\x20re','arge:\x20','jobId','entries','restartO','led','changed','cron.rem','chat\x20run','chat\x20his','figChang','TOOLS.md','fileName','stall\x20co','\x20prepare','delete\x20c','length','kill','parse','agents.u','chat\x20str','ion/json','warn','3211908tDfqqY','itialCon','end','gateway-','openclaw','split','chat\x20eve'];_0x2c73=function(){return _0x498313;};return _0x2c73();}import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{basename,dirname,join}from'node:path';import _0x539348,{portNumbers}from'get-port';import{createLineBuffer}from'@wujie-shell/logger';import{asRecord,getTrimmedString}from'./utils.mjs';import{loadRuntimeInfo,spawnClaw}from'./runtime.mjs';import{ClawGatewayWsClient}from'./gateway-ws.mjs';import{ensureBundledAgents}from'./bundled-agents.mjs';import{syncBundledAgentSkillsToConfig,filterSkillsForAgent}from'./bundled-agent-skills.mjs';import{createShellLogger,summarizeError,summarizeFilePaths,summarizePayload,summarizeText,toHomePath}from'./logging.mjs';const LOG_LIMIT=0x3e8,CLIENT_ID=_0x2f329a(0x1bd)+'client',CLIENT_MODE=_0x2f329a(0x1c1),CLIENT_DEVICE_FAMILY=_0x2f329a(0x25f),TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,SESSION_METADATA_FILE=_0x2f329a(0x1e9)+'metadata'+_0x2f329a(0x1f4),SHARED_CONTEXT_FILES=[_0x2f329a(0x214)+'d',_0x2f329a(0x1cc)+'T.md',_0x2f329a(0x1e3)+'.md',_0x2f329a(0x1fc)+'d','SOUL.md',_0x2f329a(0x1ae),_0x2f329a(0x255)];function nowIso(){const _0x222521=_0x2f329a;return new Date()[_0x222521(0x1eb)+_0x222521(0x274)]();}function buildGatewayWsUrl(_0x5e34f5){return'ws://127'+'.0.0.1:'+_0x5e34f5;}function _0x54fe(_0x33cf23,_0x3925d6){_0x33cf23=_0x33cf23-0x151;const _0x2c7338=_0x2c73();let _0x54fe8b=_0x2c7338[_0x33cf23];return _0x54fe8b;}function createInitialStatus(){const _0x7c6a83=_0x2f329a;return{'lifecycle':_0x7c6a83(0x28c),'health':_0x7c6a83(0x20b),'port':null,'tokenPresent':![],'message':'gateway\x20'+_0x7c6a83(0x28c),'updatedAt':nowIso()};}function extractGatewayMessageText(_0x4b8162){const _0x33de1a=_0x2f329a;if(typeof _0x4b8162===_0x33de1a(0x23b))return _0x4b8162;if(!Array[_0x33de1a(0x2b2)](_0x4b8162))return'';const _0x1fe6f8=[];for(const _0xa05f4f of _0x4b8162){if(typeof _0xa05f4f===_0x33de1a(0x23b)){if(_0xa05f4f)_0x1fe6f8[_0x33de1a(0x253)](_0xa05f4f);continue;}const _0x4c3569=asRecord(_0xa05f4f);_0x4c3569['type']===_0x33de1a(0x23e)&&typeof _0x4c3569[_0x33de1a(0x23e)]==='string'&&_0x4c3569[_0x33de1a(0x23e)]&&_0x1fe6f8[_0x33de1a(0x253)](_0x4c3569['text']);}return _0x1fe6f8[_0x33de1a(0x1e5)]('\x0a');}function extractGatewayChatText(_0x1b02ce){const _0x5e360d=_0x2f329a,_0x1fad8c=asRecord(_0x1b02ce);if(typeof _0x1fad8c['text']===_0x5e360d(0x23b))return _0x1fad8c[_0x5e360d(0x23e)];return extractGatewayMessageText(_0x1fad8c[_0x5e360d(0x17d)]);}function guessMimeType(_0x311414){const _0x513e9c=_0x2f329a,_0x21fa61=_0x311414[_0x513e9c(0x1bf)]('.')[_0x513e9c(0x19c)]()?.['toLowerC'+'ase']()??'',_0x25b64a={'png':_0x513e9c(0x2ac)+'g','jpg':_0x513e9c(0x251)+'eg','jpeg':_0x513e9c(0x251)+'eg','webp':_0x513e9c(0x197)+'bp','gif':_0x513e9c(0x23c)+'f','svg':'image/sv'+_0x513e9c(0x18a),'pdf':_0x513e9c(0x179)+_0x513e9c(0x15b),'txt':'text/pla'+'in','md':_0x513e9c(0x2a2)+_0x513e9c(0x275),'json':'applicat'+'ion/json','csv':_0x513e9c(0x18d)};return _0x25b64a[_0x21fa61]||_0x513e9c(0x179)+_0x513e9c(0x1d8)+_0x513e9c(0x1ca);}async function buildAttachments(_0x459ba9=[]){const _0x17191c=_0x2f329a,_0x15016d=[];for(const _0x540121 of _0x459ba9){const _0x206bf3=getTrimmedString(_0x540121);if(!_0x206bf3)continue;const _0x36aef3=await stat(_0x206bf3);if(!_0x36aef3[_0x17191c(0x1ff)]())continue;if(_0x36aef3[_0x17191c(0x2b9)]>ATTACHMENT_MAX_BYTES)throw new Error(_0x17191c(0x244)+'nt\x20too\x20l'+_0x17191c(0x1a4)+basename(_0x206bf3));const _0x1adbb9=guessMimeType(_0x206bf3);_0x15016d['push']({'type':_0x1adbb9[_0x17191c(0x184)+'th']('image/')?'image':_0x17191c(0x283),'mimeType':_0x1adbb9,'content':(await readFile(_0x206bf3))[_0x17191c(0x28b)]('base64'),'fileName':basename(_0x206bf3)});}return _0x15016d;}function buildSessionCreateRequestPayload(_0x149402={}){const _0x22298c=_0x2f329a,_0x48a884={},_0x203078=Math[_0x22298c(0x227)]()[_0x22298c(0x28b)](0x24)[_0x22298c(0x158)](0x2,0xf),_0x81ca93=getTrimmedString(_0x149402[_0x22298c(0x154)])||_0x22298c(0x1ea),_0x10943e=getTrimmedString(_0x149402[_0x22298c(0x29d)])||_0x22298c(0x296)+_0x81ca93+(_0x22298c(0x25e)+'-')+Date[_0x22298c(0x211)]();_0x48a884[_0x22298c(0x29d)]=_0x10943e+'-'+_0x203078,_0x48a884['agentId']=_0x81ca93;const _0x6bbbef=getTrimmedString(_0x149402[_0x22298c(0x18c)]);if(_0x6bbbef)_0x48a884[_0x22298c(0x18c)]=_0x6bbbef+'-'+_0x203078;for(const _0x7b03ae of['model',_0x22298c(0x2a8)+_0x22298c(0x23f),'task',_0x22298c(0x295)]){const _0x1eafa7=getTrimmedString(_0x149402[_0x7b03ae]);if(_0x1eafa7)_0x48a884[_0x7b03ae]=_0x1eafa7;}return _0x48a884;}function parseSessionCreateResult(_0x3b5d16){const _0x26fceb=_0x2f329a,_0x1a8d48=asRecord(_0x3b5d16),_0x5caa2e=asRecord(_0x1a8d48[_0x26fceb(0x24d)]);return{'ok':!![],'key':getTrimmedString(_0x1a8d48['key'])||getTrimmedString(_0x1a8d48[_0x26fceb(0x27b)+'ey'])||getTrimmedString(_0x5caa2e[_0x26fceb(0x29d)])||null,'sessionId':getTrimmedString(_0x1a8d48['sessionI'+'d'])||getTrimmedString(_0x5caa2e[_0x26fceb(0x1cb)+'d'])||null};}function getSessionKeyFromValue(_0x43882c){const _0x5ae51d=_0x2f329a,_0x436890=asRecord(_0x43882c);return getTrimmedString(_0x436890[_0x5ae51d(0x27b)+'ey']??_0x436890[_0x5ae51d(0x29d)]??_0x436890['id']);}function createEmptySessionMetadata(){return{'names':{},'pinnedKeys':[]};}async function readSessionMetadata(_0x5ae96b){const _0x2449a4=_0x2f329a;try{const _0x444344=JSON['parse'](await readFile(join(_0x5ae96b,SESSION_METADATA_FILE),_0x2449a4(0x2aa))),_0x53453a=asRecord(_0x444344);return{'names':asRecord(_0x53453a[_0x2449a4(0x260)]),'pinnedKeys':Array[_0x2449a4(0x2b2)](_0x53453a[_0x2449a4(0x288)+'ys'])?_0x53453a['pinnedKe'+'ys'][_0x2449a4(0x238)](_0x49c42e=>typeof _0x49c42e===_0x2449a4(0x23b)&&_0x49c42e[_0x2449a4(0x287)]()):[]};}catch{return createEmptySessionMetadata();}}async function writeSessionMetadata(_0x373676,_0x2199b3){const _0x324f2b=_0x2f329a;await mkdir(_0x373676,{'recursive':!![]}),await writeFile(join(_0x373676,SESSION_METADATA_FILE),JSON[_0x324f2b(0x24a)+'y'](_0x2199b3,null,0x2)+'\x0a',_0x324f2b(0x2aa));}function applySessionMetadata(_0x44f14e,_0x3550ea){const _0x30da48=_0x2f329a,_0x100bf7=asRecord(_0x44f14e),_0x1ee5f9=Array[_0x30da48(0x2b2)](_0x100bf7['sessions'])?_0x100bf7[_0x30da48(0x1fe)]:[];return{..._0x100bf7,'pinnedKeys':_0x3550ea[_0x30da48(0x288)+'ys'],'sessions':_0x1ee5f9[_0x30da48(0x2af)](_0x3079ab=>{const _0x2fd4d3=_0x30da48,_0x36a975=asRecord(_0x3079ab),_0x2055c4=getSessionKeyFromValue(_0x36a975);if(!_0x2055c4)return _0x3079ab;const _0x36287a=getTrimmedString(_0x3550ea['names'][_0x2055c4]),_0x42ac7=_0x3550ea[_0x2fd4d3(0x288)+'ys'][_0x2fd4d3(0x20c)](_0x2055c4);return{..._0x36a975,..._0x36287a?{'name':_0x36287a,'displayName':_0x36287a,'label':_0x36287a}:{},'pinned':_0x42ac7};})};}function sanitizeSharedContextPayload(_0x560afa){const _0x59e493=_0x2f329a,_0x587a6a=asRecord(_0x560afa),_0x2069f5={};for(const _0x377aca of SHARED_CONTEXT_FILES){if(typeof _0x587a6a[_0x377aca]===_0x59e493(0x23b))_0x2069f5[_0x377aca]=_0x587a6a[_0x377aca];}return _0x2069f5;}async function readSharedContext(_0x16f877){const _0xca4fb6=_0x2f329a,_0x53b159={};for(const _0x435001 of SHARED_CONTEXT_FILES){try{_0x53b159[_0x435001]=await readFile(join(_0x16f877,_0x435001),_0xca4fb6(0x2aa));}catch{_0x53b159[_0x435001]='';}}return _0x53b159;}async function writeSharedContext(_0x2d0723,_0x3afc83){const _0x5e3396=_0x2f329a,_0x132e4a=sanitizeSharedContextPayload(_0x3afc83);await mkdir(_0x2d0723,{'recursive':!![]});for(const [_0x2f5121,_0x404663]of Object[_0x5e3396(0x1a6)](_0x132e4a)){await writeFile(join(_0x2d0723,_0x2f5121),_0x404663,_0x5e3396(0x2aa));}return{'ok':!![],'files':Object[_0x5e3396(0x27a)](_0x132e4a)};}function createAskUserQuestionServer({configController:_0x9bbbda,emit:_0x33729d}){const _0x57a35b=new Map();let _0x13228c=null,_0x3502e9='',_0x5a7358='';async function _0x4e62f6(){const _0x13bc5e=_0x54fe;if(_0x13228c)return{'callbackUrl':_0x3502e9,'secret':_0x5a7358};_0x5a7358=randomUUID();const _0x4baca3=await _0x539348({'port':portNumbers(0x332c,0x338f)});return _0x3502e9='http://1'+_0x13bc5e(0x165)+':'+_0x4baca3+(_0x13bc5e(0x196)+_0x13bc5e(0x259)+'on'),_0x13228c=createServer(async(_0xe056cb,_0x5841f6)=>{const _0x1a61c0=_0x13bc5e;if(_0xe056cb['method']!==_0x1a61c0(0x177)||_0xe056cb[_0x1a61c0(0x232)]!==_0x1a61c0(0x196)+_0x1a61c0(0x259)+'on'){_0x5841f6['writeHea'+'d'](0x194),_0x5841f6[_0x1a61c0(0x1bc)]('not\x20foun'+'d');return;}if(_0xe056cb[_0x1a61c0(0x220)]['x-ask-us'+'er-secre'+'t']!==_0x5a7358){_0x5841f6[_0x1a61c0(0x2a9)+'d'](0x191),_0x5841f6[_0x1a61c0(0x1bc)]('unauthor'+_0x1a61c0(0x168));return;}let _0x59ee36='';_0xe056cb['on']('data',_0x415ab3=>{const _0xfbe166=_0x1a61c0;_0x59ee36+=_0x415ab3['toString']();if(_0x59ee36[_0xfbe166(0x1b3)]>0x400*0x400)_0xe056cb[_0xfbe166(0x22c)]();}),_0xe056cb['on'](_0x1a61c0(0x1bc),()=>{const _0x5ac9df=_0x1a61c0;let _0x2d4fa3={};try{_0x2d4fa3=JSON[_0x5ac9df(0x1b5)](_0x59ee36||'{}');}catch{_0x5841f6[_0x5ac9df(0x2a9)+'d'](0x190),_0x5841f6[_0x5ac9df(0x1bc)](_0x5ac9df(0x1fd)+_0x5ac9df(0x1dc));return;}const _0x5ccc31=randomUUID(),_0x3e515e=setTimeout(()=>{const _0x5bac24=_0x5ac9df;if(!_0x57a35b[_0x5bac24(0x152)](_0x5ccc31))return;_0x57a35b[_0x5bac24(0x1c7)](_0x5ccc31),_0x5841f6[_0x5bac24(0x2a9)+'d'](0xc8,{'content-type':_0x5bac24(0x179)+_0x5bac24(0x1b8)}),_0x5841f6[_0x5bac24(0x1bc)](JSON[_0x5bac24(0x24a)+'y']({'behavior':'deny'}));},0x1d4c0);_0x57a35b[_0x5ac9df(0x265)](_0x5ccc31,{'res':_0x5841f6,'timeout':_0x3e515e}),_0x33729d(_0x5ac9df(0x293)+_0x5ac9df(0x270)+'n',{'requestId':_0x5ccc31,...asRecord(_0x2d4fa3)});});}),await new Promise((_0x1fe367,_0x111881)=>{const _0x538214=_0x13bc5e;_0x13228c[_0x538214(0x2a0)](_0x538214(0x199),_0x111881),_0x13228c[_0x538214(0x1de)](_0x4baca3,'127.0.0.'+'1',()=>{const _0x14ab98=_0x538214;_0x13228c[_0x14ab98(0x1c3)]('error',_0x111881),_0x1fe367();});}),await _0x9bbbda['ensureAs'+_0x13bc5e(0x2bc)+_0x13bc5e(0x153)+_0x13bc5e(0x166)+'g']({'callbackUrl':_0x3502e9,'secret':_0x5a7358}),{'callbackUrl':_0x3502e9,'secret':_0x5a7358};}function _0x443277(_0x413cb6={}){const _0x4cca89=_0x54fe,_0x171798=getTrimmedString(_0x413cb6[_0x4cca89(0x180)+'d']);if(!_0x171798||!_0x57a35b[_0x4cca89(0x152)](_0x171798))throw new Error(_0x4cca89(0x293)+_0x4cca89(0x270)+'n\x20reques'+_0x4cca89(0x156)+_0x4cca89(0x1e2));const _0x24039c=_0x57a35b[_0x4cca89(0x1c4)](_0x171798);return _0x57a35b[_0x4cca89(0x1c7)](_0x171798),clearTimeout(_0x24039c[_0x4cca89(0x290)]),_0x24039c[_0x4cca89(0x155)][_0x4cca89(0x2a9)+'d'](0xc8,{'content-type':_0x4cca89(0x179)+_0x4cca89(0x1b8)}),_0x24039c[_0x4cca89(0x155)]['end'](JSON[_0x4cca89(0x24a)+'y']({'behavior':_0x413cb6[_0x4cca89(0x1f1)]==='deny'?'deny':_0x4cca89(0x276),'answers':asRecord(_0x413cb6[_0x4cca89(0x27e)])})),{'ok':!![]};}async function _0x1999eb(){const _0x9553e9=_0x54fe;for(const [_0x39c867,_0x560dcb]of _0x57a35b){_0x57a35b[_0x9553e9(0x1c7)](_0x39c867),clearTimeout(_0x560dcb[_0x9553e9(0x290)]),_0x560dcb[_0x9553e9(0x155)]['writeHea'+'d'](0xc8,{'content-type':_0x9553e9(0x179)+_0x9553e9(0x1b8)}),_0x560dcb[_0x9553e9(0x155)][_0x9553e9(0x1bc)](JSON[_0x9553e9(0x24a)+'y']({'behavior':_0x9553e9(0x223)}));}if(!_0x13228c)return;await new Promise(_0x63b346=>_0x13228c[_0x9553e9(0x23d)](_0x63b346)),_0x13228c=null;}return{'start':_0x4e62f6,'answer':_0x443277,'stop':_0x1999eb};}export function createGatewayController({shellConfig:_0x110f3e,configController:_0x1a1aa0,appVersion:appVersion='0.1.0'}){const _0xdad4e7=_0x2f329a,_0x116c51=new EventEmitter(),_0x521a55=new ClawGatewayWsClient(),_0x3a66e5=[],_0x2f037e=new Map(),_0x543cae=new Map(),_0x3bc1a4=createShellLogger(_0x1a1aa0[_0xdad4e7(0x1fa)],_0xdad4e7(0x19d)),_0x3baf49=createShellLogger(_0x1a1aa0[_0xdad4e7(0x1fa)],_0xdad4e7(0x15a)),_0xd864b5=createShellLogger(_0x1a1aa0[_0xdad4e7(0x1fa)],_0xdad4e7(0x1fe)),_0x46c0f8=createShellLogger(_0x1a1aa0[_0xdad4e7(0x1fa)],'capabili'+_0xdad4e7(0x2ba)),_0x2f9231=createAskUserQuestionServer({'configController':_0x1a1aa0,'emit':(_0x24ef33,_0x4d196e)=>_0x116c51['emit'](_0x24ef33,_0x4d196e)});let _0x44d941=createInitialStatus(),_0x497c24=null,_0x20f854=null,_0x18026d=null,_0x4669ac=![],_0x76c379=![],_0x18aac5=Promise['resolve'](),_0x1bc7e4=null,_0x2b5634=0x0;function _0x2400e7(_0x10d22e,_0x5f5526){const _0x28485e=_0xdad4e7;_0x116c51[_0x28485e(0x1a2)](_0x10d22e,_0x5f5526);}function _0x2b463e(_0x51764d,_0x5327ad){const _0x53470c=_0xdad4e7;return _0x116c51['on'](_0x51764d,_0x5327ad),()=>_0x116c51[_0x53470c(0x1c3)](_0x51764d,_0x5327ad);}function _0xd5d014(_0x120796){const _0x1588d0=_0xdad4e7;_0x44d941={..._0x44d941,..._0x120796,'updatedAt':nowIso()},_0x2400e7(_0x1588d0(0x1bd)+'status',_0x44d941);}function _0x584ae1(_0x1bd3d3,_0x2b9d63,_0x43628b={}){const _0x43022c=_0xdad4e7;_0xd5d014({'lifecycle':_0x1bd3d3,'message':_0x2b9d63,..._0x43628b}),_0x123cd2('system',_0x1bd3d3[_0x43022c(0x15d)+_0x43022c(0x250)]()+'\x20'+_0x2b9d63),_0x3bc1a4?.[_0x43022c(0x25c)](_0x43022c(0x169)+_0x43022c(0x25b)+_0x43022c(0x22e)+'d',{'lifecycle':_0x1bd3d3,'message':_0x2b9d63,'status':{'health':_0x44d941['health'],'port':_0x44d941[_0x43022c(0x242)],'tokenPresent':_0x44d941[_0x43022c(0x167)+_0x43022c(0x1cf)]},...summarizePayload(_0x43628b)});}function _0x123cd2(_0x37fec8,_0x50fbdc){const _0x5cf0d7=_0xdad4e7,_0x513850=String(_0x50fbdc??'')['trimEnd']();if(!_0x513850)return;const _0x7a0d66={'source':_0x37fec8,'text':_0x513850,'timestamp':nowIso()};_0x3a66e5[_0x5cf0d7(0x253)](_0x7a0d66);if(_0x3a66e5[_0x5cf0d7(0x1b3)]>LOG_LIMIT)_0x3a66e5[_0x5cf0d7(0x299)](0x0,_0x3a66e5[_0x5cf0d7(0x1b3)]-LOG_LIMIT);_0x2400e7(_0x5cf0d7(0x1bd)+'log',_0x7a0d66),_0x3bc1a4?.[_0x5cf0d7(0x25c)](_0x5cf0d7(0x169)+_0x5cf0d7(0x19b),{'source':_0x37fec8,'text':_0x513850});}function _0x284578(_0x156de6=0xc8){const _0x3a6d8f=_0xdad4e7;return _0x3a66e5[_0x3a6d8f(0x158)](-Math['max'](0x1,Math[_0x3a6d8f(0x2c2)](_0x156de6)));}function _0x406732(){const _0x414ab6=_0xdad4e7;if(!_0x497c24||_0x44d941[_0x414ab6(0x25b)+'e']!==_0x414ab6(0x161))throw new Error(_0x414ab6(0x169)+_0x414ab6(0x286)+_0x414ab6(0x1f3)+_0x414ab6(0x17b)+_0x414ab6(0x1cd)+'y');}function _0x249b12(){const _0x41669b=_0xdad4e7;return Boolean(_0x497c24&&_0x44d941[_0x41669b(0x25b)+'e']===_0x41669b(0x161));}function _0x10f8c1(_0x4e547d){const _0x47955c=_0xdad4e7;_0x2400e7(_0x47955c(0x25a)+_0x47955c(0x22a)+'t',_0x4e547d);}function _0x57a576(_0x207b50){const _0x3c181a=_0xdad4e7,_0x3ef14f=_0x2f037e[_0x3c181a(0x1c4)](_0x207b50);if(!_0x3ef14f)return null;_0x2f037e[_0x3c181a(0x1c7)](_0x207b50);if(_0x3ef14f[_0x3c181a(0x233)+'Fallback'+_0x3c181a(0x228)])clearTimeout(_0x3ef14f['terminal'+'Fallback'+_0x3c181a(0x228)]);return _0x543cae[_0x3c181a(0x1c7)](_0x3ef14f[_0x3c181a(0x27b)+'ey']),_0x3ef14f;}function _0x26c8c5(_0x33e64c,_0xf2f5a5,_0x414f03=''){const _0x45f980=_0xdad4e7,_0x13d6f0=_0x57a576(_0x33e64c[_0x45f980(0x2c0)]);if(!_0x13d6f0)return;_0x3baf49?.[_0x45f980(0x25c)](_0x45f980(0x1ab)+_0x45f980(0x226),{'requestId':_0x13d6f0[_0x45f980(0x180)+'d'],'runId':_0x13d6f0[_0x45f980(0x2c0)],'sessionKey':_0x13d6f0['sessionK'+'ey'],'outcome':_0xf2f5a5,'durationMs':Date[_0x45f980(0x211)]()-_0x13d6f0['startedA'+'t'],'textLength':_0x13d6f0['textLeng'+'th'],..._0x414f03?{'message':_0x414f03}:{}}),_0x10f8c1({'requestId':_0x13d6f0['requestI'+'d'],'sessionKey':_0x13d6f0[_0x45f980(0x27b)+'ey'],'type':_0xf2f5a5,..._0x414f03?{'message':_0x414f03}:{}});}function _0x6524bb(_0x2ac2dc){const _0x15964b=_0xdad4e7;let _0x2490ec=null;for(const _0x192c40 of _0x2f037e[_0x15964b(0x218)]()){if(_0x192c40[_0x15964b(0x27b)+'ey']===_0x2ac2dc)_0x2490ec=_0x192c40;}return _0x2490ec;}function _0xa3912f(_0x53f941){const _0x32b7ca=_0xdad4e7;if(!_0x53f941)return null;for(const _0x1e80d8 of _0x2f037e['values']()){if(_0x1e80d8[_0x32b7ca(0x180)+'d']===_0x53f941)return _0x1e80d8;}return null;}function _0x55ddfd(_0x124336,_0x553869){const _0x1022d7=_0xdad4e7;if(_0x553869[_0x1022d7(0x1b3)]<=_0x124336[_0x1022d7(0x240)+'th'])return;const _0x70053c=_0x553869[_0x1022d7(0x158)](_0x124336[_0x1022d7(0x240)+'th']);_0x124336[_0x1022d7(0x240)+'th']=_0x553869[_0x1022d7(0x1b3)],_0x70053c&&_0x10f8c1({'requestId':_0x124336[_0x1022d7(0x180)+'d'],'sessionKey':_0x124336[_0x1022d7(0x27b)+'ey'],'type':'delta','delta':_0x70053c});}function _0x3bacce(_0x4831ed,_0x2f765f,_0xe3c383=''){const _0x1e1388=_0xdad4e7;if(_0x4831ed[_0x1e1388(0x233)+_0x1e1388(0x1f8)+_0x1e1388(0x228)])clearTimeout(_0x4831ed[_0x1e1388(0x233)+_0x1e1388(0x1f8)+_0x1e1388(0x228)]);_0x4831ed[_0x1e1388(0x233)+_0x1e1388(0x1f8)+_0x1e1388(0x228)]=setTimeout(()=>{const _0x694cac=_0x1e1388,_0x4553a8=_0x2f037e[_0x694cac(0x1c4)](_0x4831ed[_0x694cac(0x2c0)]);if(!_0x4553a8)return;_0x26c8c5(_0x4553a8,_0x2f765f===_0x694cac(0x199)?'error':_0x694cac(0x18f),_0xe3c383);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x3510d3(_0x564e23){const _0x444612=_0xdad4e7;for(const _0x5642ce of _0x2f037e[_0x444612(0x218)]()){_0x3baf49?.['warn']('chat\x20run'+_0x444612(0x15c)+_0x444612(0x173)+_0x444612(0x2bb),{'requestId':_0x5642ce[_0x444612(0x180)+'d'],'runId':_0x5642ce['runId'],'sessionKey':_0x5642ce[_0x444612(0x27b)+'ey'],'durationMs':Date[_0x444612(0x211)]()-_0x5642ce[_0x444612(0x1ef)+'t'],'reason':_0x564e23}),_0x10f8c1({'requestId':_0x5642ce[_0x444612(0x180)+'d'],'sessionKey':_0x5642ce['sessionK'+'ey'],'type':_0x444612(0x199),'message':_0x564e23});if(_0x5642ce[_0x444612(0x233)+'Fallback'+_0x444612(0x228)])clearTimeout(_0x5642ce[_0x444612(0x233)+_0x444612(0x1f8)+_0x444612(0x228)]);}_0x2f037e[_0x444612(0x2a1)](),_0x543cae[_0x444612(0x2a1)]();}function _0x2608dd(_0x7bdcd4){const _0x4e5545=_0xdad4e7,_0x27e9e8=getTrimmedString(_0x7bdcd4[_0x4e5545(0x2c0)]),_0x5f0beb=getTrimmedString(_0x7bdcd4[_0x4e5545(0x285)])||_0x4e5545(0x188),_0xa55cb0=getTrimmedString(_0x7bdcd4['sessionK'+'ey']),_0x4d5e07=(_0x27e9e8?_0x2f037e['get'](_0x27e9e8):null)??(_0xa55cb0?_0x6524bb(_0xa55cb0):null);if(_0x27e9e8&&_0xa55cb0)_0x543cae['set'](_0xa55cb0,_0x27e9e8);if(_0xa55cb0)_0x2400e7('session-'+_0x4e5545(0x188),{'sessionKey':_0xa55cb0,'state':_0x5f0beb});_0x3baf49?.['info'](_0x4e5545(0x169)+_0x4e5545(0x1c0)+'nt\x20recei'+_0x4e5545(0x17e),{'runId':_0x27e9e8,'sessionKey':_0xa55cb0,'state':_0x5f0beb,'hasActiveRun':Boolean(_0x4d5e07),'messageText':summarizeText(extractGatewayChatText(_0x7bdcd4['message']),0x78),'errorMessage':getTrimmedString(_0x7bdcd4[_0x4e5545(0x19e)+_0x4e5545(0x2a5)])});_0x4d5e07&&(_0x5f0beb==='final'||_0x5f0beb===_0x4e5545(0x26d)||_0x5f0beb===_0x4e5545(0x199))&&_0x3bacce(_0x4d5e07,_0x5f0beb,typeof _0x7bdcd4[_0x4e5545(0x19e)+_0x4e5545(0x2a5)]==='string'?_0x7bdcd4[_0x4e5545(0x19e)+_0x4e5545(0x2a5)]:_0x4e5545(0x169)+'chat\x20fai'+_0x4e5545(0x1a8));if(!_0x4d5e07)return;if(_0xa55cb0&&_0xa55cb0!==_0x4d5e07[_0x4e5545(0x27b)+'ey'])return;if(_0x5f0beb===_0x4e5545(0x235)){_0x55ddfd(_0x4d5e07,extractGatewayChatText(_0x7bdcd4[_0x4e5545(0x295)]));return;}if(_0x5f0beb===_0x4e5545(0x1d7)||_0x5f0beb==='aborted'){_0x55ddfd(_0x4d5e07,extractGatewayChatText(_0x7bdcd4[_0x4e5545(0x295)])),_0x26c8c5(_0x4d5e07,_0x4e5545(0x18f));return;}_0x5f0beb==='error'&&_0x26c8c5(_0x4d5e07,_0x4e5545(0x199),typeof _0x7bdcd4[_0x4e5545(0x19e)+'sage']===_0x4e5545(0x23b)?_0x7bdcd4[_0x4e5545(0x19e)+_0x4e5545(0x2a5)]:_0x4e5545(0x169)+_0x4e5545(0x2bd)+_0x4e5545(0x1a8));}async function _0x1ad4b0(_0x371769,_0x14e5fe){const _0x3e6b08=_0xdad4e7;_0x521a55['configur'+'e']({'url':buildGatewayWsUrl(_0x14e5fe),'token':_0x371769,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x110f3e[_0x3e6b08(0x252)+_0x3e6b08(0x29f)],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x1a1aa0[_0x3e6b08(0x26a)+'eviceIde'+_0x3e6b08(0x24c)+'h'](),'onChatEvent':_0x2608dd,'onAgentEvent':_0x5108e9=>_0x2400e7(_0x3e6b08(0x190)+'ent',_0x5108e9),'onConnected':async()=>{const _0x43d5a3=_0x3e6b08;if(!_0x497c24||!_0x18026d||!_0x20f854)return;_0x3bc1a4?.[_0x43d5a3(0x25c)](_0x43d5a3(0x169)+_0x43d5a3(0x1a1)+_0x43d5a3(0x1dd)+_0x43d5a3(0x24b),{'port':_0x18026d,'pid':_0x497c24[_0x43d5a3(0x21f)],'readyMs':_0x2b5634?Date[_0x43d5a3(0x211)]()-_0x2b5634:undefined}),_0x584ae1(_0x43d5a3(0x161),_0x43d5a3(0x169)+_0x43d5a3(0x291)+'d',{'health':_0x43d5a3(0x176),'port':_0x18026d,'tokenPresent':!![]});try{await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x110f3e[_0x43d5a3(0x1ee)+_0x43d5a3(0x178)]))[_0x43d5a3(0x192)+'oot'],_0x43d5a3(0x1be),_0x43d5a3(0x2b3)),'stateDir':_0x1a1aa0[_0x43d5a3(0x271)+_0x43d5a3(0x19f)](),'listAgents':_0xe13808,'createAgent':_0x5296b1=>_0x521a55[_0x43d5a3(0x1ce)](_0x43d5a3(0x239)+_0x43d5a3(0x2b8),_0x5296b1),'updateAgent':_0x56fae2=>_0x521a55[_0x43d5a3(0x1ce)](_0x43d5a3(0x1b6)+_0x43d5a3(0x23a),_0x56fae2),'syncSkills':async({agentIds:_0x2cc051,mainWorkspace:_0x488f64})=>{const _0x343d06=_0x43d5a3;_0x46c0f8?.[_0x343d06(0x25c)]('bundled\x20'+_0x343d06(0x17a)+_0x343d06(0x29a)+_0x343d06(0x247)+'d',{'agentIds':_0x2cc051,'mainWorkspace':toHomePath(_0x488f64)});const _0x3b29bd=dirname(_0x488f64),_0x2ac411=await syncBundledAgentSkillsToConfig({'agentIds':_0x2cc051,'resolveSkillsDir':_0x40524f=>_0x40524f===_0x343d06(0x1ea)?join(_0x488f64,_0x343d06(0x15e)):join(_0x3b29bd,_0x343d06(0x1d4)+'e-'+_0x40524f,_0x343d06(0x15e)),'readConfig':()=>_0x1a1aa0[_0x343d06(0x28d)+'ig'](),'writeConfig':_0x58a294=>_0x1a1aa0[_0x343d06(0x172)+_0x343d06(0x175)](_0x58a294),'markConfigWriteHandledInternally':()=>_0x1a1aa0[_0x343d06(0x181)+_0x343d06(0x2b7)+_0x343d06(0x207)+_0x343d06(0x162)]()});_0x1bc7e4=_0x2ac411[_0x343d06(0x17c)+'y'],_0x46c0f8?.[_0x343d06(0x25c)](_0x343d06(0x26c)+_0x343d06(0x17a)+_0x343d06(0x29a)+'c\x20comple'+_0x343d06(0x24b),{'agentCount':_0x2cc051[_0x343d06(0x1b3)],'changed':_0x2ac411[_0x343d06(0x1a9)],'discovery':summarizePayload(_0x2ac411[_0x343d06(0x17c)+'y'],{'maxDepth':0x3})});}}),_0x46c0f8?.[_0x43d5a3(0x25c)](_0x43d5a3(0x26c)+'agents\x20e'+'nsured'),_0x2400e7(_0x43d5a3(0x213)+'pdated',{'reason':_0x43d5a3(0x2b0)+_0x43d5a3(0x248)+_0x43d5a3(0x201)});}catch(_0x5dfc2d){const _0x1b560e=_0x5dfc2d instanceof Error?_0x5dfc2d[_0x43d5a3(0x2c1)]||_0x5dfc2d[_0x43d5a3(0x295)]:String(_0x5dfc2d);_0x123cd2(_0x43d5a3(0x24e),_0x43d5a3(0x26c)+_0x43d5a3(0x263)+_0x43d5a3(0x1d0)+_0x43d5a3(0x257)+_0x1b560e),_0x46c0f8?.[_0x43d5a3(0x199)](_0x43d5a3(0x26c)+'agents\x20s'+'ync\x20fail'+'ed',{'error':summarizeError(_0x5dfc2d)}),console[_0x43d5a3(0x199)](_0x43d5a3(0x193)+_0x43d5a3(0x282)+_0x43d5a3(0x2b6)+_0x43d5a3(0x279)+_0x43d5a3(0x27d)+'c\x20failed',_0x5dfc2d);}},'onDisconnected':_0x15d153=>{const _0x2d476f=_0x3e6b08;_0x3bc1a4?.[_0x2d476f(0x1b9)](_0x2d476f(0x169)+'websocke'+_0x2d476f(0x1e7)+_0x2d476f(0x27f),{'reason':_0x15d153}),_0x3510d3(_0x15d153);if(_0x76c379||!_0x497c24)return;_0xd5d014({'health':_0x2d476f(0x20b),'message':_0x2d476f(0x169)+_0x2d476f(0x1e6)+_0x2d476f(0x18e)+_0x15d153});}});}async function _0x15ba71(_0x36926a,_0x9d47b){const _0x2d8fc1=_0xdad4e7;if(_0x497c24)return;_0x2b5634=Date['now'](),_0x584ae1(_0x2d8fc1(0x16f),_0x2d8fc1(0x169)+_0x2d8fc1(0x16f),{'health':_0x2d8fc1(0x20b),'port':_0x9d47b,'tokenPresent':!![]});const _0x49d01f=[_0x2d8fc1(0x19d),_0x2d8fc1(0x209),_0x2d8fc1(0x273)+'unconfig'+_0x2d8fc1(0x2a7),_0x2d8fc1(0x16c),_0x36926a,_0x2d8fc1(0x2bf),String(_0x9d47b)];_0x123cd2(_0x2d8fc1(0x24e),_0x2d8fc1(0x1be)+_0x2d8fc1(0x27c)+_0x2d8fc1(0x183)+_0x2d8fc1(0x272)+_0x2d8fc1(0x29e)+_0x2d8fc1(0x21a)+_0x2d8fc1(0x187)+'TED]\x20--p'+_0x2d8fc1(0x1d2)+_0x9d47b),_0x3bc1a4?.['info'](_0x2d8fc1(0x169)+_0x2d8fc1(0x249)+_0x2d8fc1(0x1a3)+'quested',{'args':['gateway',_0x2d8fc1(0x209),_0x2d8fc1(0x273)+'unconfig'+'ured',_0x2d8fc1(0x16c),_0x2d8fc1(0x1f9)+'D]',_0x2d8fc1(0x2bf),String(_0x9d47b)],'env':{'OPENCLAW_STATE_DIR':toHomePath(_0x1a1aa0[_0x2d8fc1(0x271)+_0x2d8fc1(0x19f)]()),'OPENCLAW_CONFIG_PATH':toHomePath(_0x1a1aa0['resolveC'+_0x2d8fc1(0x2ae)+'h']())}}),_0x497c24=await spawnClaw(_0x110f3e[_0x2d8fc1(0x1ee)+_0x2d8fc1(0x178)],_0x49d01f,{'env':{'OPENCLAW_STATE_DIR':_0x1a1aa0[_0x2d8fc1(0x271)+_0x2d8fc1(0x19f)](),'OPENCLAW_CONFIG_PATH':_0x1a1aa0['resolveC'+_0x2d8fc1(0x2ae)+'h']()}}),_0x20f854=_0x36926a,_0x18026d=_0x9d47b,_0x3bc1a4?.[_0x2d8fc1(0x25c)](_0x2d8fc1(0x169)+_0x2d8fc1(0x249)+_0x2d8fc1(0x26f),{'pid':_0x497c24[_0x2d8fc1(0x21f)],'port':_0x18026d}),_0xd5d014({'health':_0x2d8fc1(0x20b),'port':_0x18026d,'tokenPresent':!![],'message':_0x2d8fc1(0x169)+'process\x20'+_0x2d8fc1(0x277)+'\x20waiting'+'\x20for\x20WS'}),await _0x1ad4b0(_0x36926a,_0x9d47b);const _0x5bf8f7=createLineBuffer({'trim':!![],'onLine':_0x18a86a=>_0x123cd2(_0x2d8fc1(0x216),_0x18a86a)}),_0x206477=createLineBuffer({'trim':!![],'onLine':_0x7698b3=>_0x123cd2(_0x2d8fc1(0x2be),_0x7698b3)});_0x497c24['stdout']['on']('data',_0x7d562a=>{const _0x1c8f1e=_0x2d8fc1;_0x5bf8f7['push'](_0x7d562a[_0x1c8f1e(0x28b)]());}),_0x497c24[_0x2d8fc1(0x2be)]['on']('data',_0x47168a=>{const _0xd870d0=_0x2d8fc1;_0x206477[_0xd870d0(0x253)](_0x47168a[_0xd870d0(0x28b)]());}),_0x497c24['on'](_0x2d8fc1(0x199),_0x59a8d2=>{const _0x32f5b7=_0x2d8fc1;_0x3bc1a4?.[_0x32f5b7(0x199)]('gateway\x20'+_0x32f5b7(0x249)+_0x32f5b7(0x199),{'error':summarizeError(_0x59a8d2)}),_0x123cd2(_0x32f5b7(0x2be),_0x59a8d2 instanceof Error?_0x59a8d2[_0x32f5b7(0x2c1)]||_0x59a8d2['message']:String(_0x59a8d2));}),_0x497c24['on']('close',(_0x5e7b3e,_0x20f3d7)=>{const _0x28373d=_0x2d8fc1;_0x5bf8f7[_0x28373d(0x16a)](),_0x206477[_0x28373d(0x16a)](),_0x3bc1a4?.[_0x28373d(0x1b9)](_0x28373d(0x169)+'process\x20'+_0x28373d(0x151),{'pid':_0x497c24?.['pid']??null,'code':_0x5e7b3e,'signal':_0x20f3d7,'uptimeMs':_0x2b5634?Date['now']()-_0x2b5634:undefined}),_0x123cd2(_0x28373d(0x24e),_0x28373d(0x169)+'exited\x20c'+_0x28373d(0x186)+(_0x5e7b3e??'null')+'\x20signal='+(_0x20f3d7??_0x28373d(0x28f))),_0x497c24=null,_0x20f854=null,_0x18026d=null,_0x521a55[_0x28373d(0x22d)+'e'](null),_0x3510d3(_0x28373d(0x169)+_0x28373d(0x249)+_0x28373d(0x20e));if(_0x76c379){_0x584ae1('stopped',_0x28373d(0x169)+'stopped',{'health':'unknown','port':null,'tokenPresent':![]});return;}_0x584ae1(_0x28373d(0x199),_0x28373d(0x169)+'exited\x20u'+_0x28373d(0x1f6)+_0x28373d(0x189),{'health':_0x28373d(0x195)+'y','port':null,'tokenPresent':![]});});}async function _0x31198d(){const _0x8660=_0xdad4e7;if(_0x497c24)return;_0x76c379=![],_0x3bc1a4?.[_0x8660(0x25c)]('gateway\x20'+'controll'+_0x8660(0x261)+_0x8660(0x29c)+'ed'),await _0x2f9231[_0x8660(0x294)]()[_0x8660(0x22b)](_0x4074e4=>{const _0x8f32f=_0x8660;_0x123cd2(_0x8f32f(0x24e),_0x8f32f(0x293)+'-questio'+_0x8f32f(0x1d6)+_0x8f32f(0x194)+_0x8f32f(0x1d9)+(_0x4074e4 instanceof Error?_0x4074e4[_0x8f32f(0x295)]:String(_0x4074e4)));}),await _0x1a1aa0['ensureIn'+_0x8660(0x1bb)+_0x8660(0x175)](),_0x1a1aa0[_0x8660(0x222)+_0x8660(0x1ad)+'es'](),_0x1a1aa0['setGatew'+_0x8660(0x229)+_0x8660(0x24f)](_0x5a5187=>{void _0x34c089(_0x5a5187);});const _0x1cf41a=await _0x1a1aa0[_0x8660(0x26e)+'tewaySet'+_0x8660(0x1e1)]();_0x3bc1a4?.[_0x8660(0x25c)](_0x8660(0x169)+'settings'+'\x20allocat'+'ed',{'port':_0x1cf41a[_0x8660(0x242)],'tokenPresent':Boolean(_0x1cf41a[_0x8660(0x1f7)])}),await _0x15ba71(_0x1cf41a[_0x8660(0x1f7)],_0x1cf41a[_0x8660(0x242)]);}async function _0x9c8905(){const _0x5c73aa=_0xdad4e7;_0x76c379=!![],_0x3bc1a4?.[_0x5c73aa(0x25c)]('gateway\x20'+_0x5c73aa(0x21c)+_0x5c73aa(0x16b)+_0x5c73aa(0x278)+'d',{'pid':_0x497c24?.['pid']??null,'port':_0x18026d}),_0x521a55[_0x5c73aa(0x22d)+'e'](null);if(_0x497c24){const _0x43a421=_0x497c24;_0x497c24=null;try{_0x43a421[_0x5c73aa(0x1b4)]('SIGTERM');}catch{}await new Promise(_0x3d0a0c=>setTimeout(_0x3d0a0c,0x1f4));if(!_0x43a421[_0x5c73aa(0x267)])try{_0x43a421[_0x5c73aa(0x1b4)]('SIGKILL');}catch{}}_0x20f854=null,_0x18026d=null,_0x3510d3(_0x5c73aa(0x169)+'stopped'),await _0x2f9231[_0x5c73aa(0x237)](),_0x1a1aa0['dispose'](),_0x584ae1('stopped','gateway\x20'+_0x5c73aa(0x28c),{'health':_0x5c73aa(0x20b),'port':null,'tokenPresent':![]}),_0x76c379=![];}async function _0x34c089(_0x85e2c4='manual\x20r'+_0xdad4e7(0x2ad)){const _0x53afca=_0xdad4e7;if(_0x4669ac)return{'ok':!![]};return _0x4669ac=!![],_0x3bc1a4?.[_0x53afca(0x25c)]('gateway\x20'+_0x53afca(0x163)+_0x53afca(0x278)+'d',{'reason':_0x85e2c4}),_0x18aac5=_0x18aac5[_0x53afca(0x245)](async()=>{const _0x1616af=_0x53afca;_0x584ae1(_0x1616af(0x2b4)+'ng','gateway\x20'+_0x1616af(0x2b4)+'ng:\x20'+_0x85e2c4,{'health':_0x1616af(0x20b)}),await _0x9c8905(),await _0x31198d();})['finally'](()=>{_0x4669ac=![];}),await _0x18aac5,{'ok':!![]};}async function _0x2e376a(){const _0x351cc3=_0xdad4e7,_0x481070=await loadRuntimeInfo(_0x110f3e[_0x351cc3(0x1ee)+'oot']);return{'runtimeRoot':_0x481070['runtimeR'+_0x351cc3(0x178)],'openclawVersion':_0x481070[_0x351cc3(0x1be)+_0x351cc3(0x1df)],'openclawWorkingDir':_0x481070[_0x351cc3(0x1be)+_0x351cc3(0x210)+'ir'],'openclawBin':_0x481070[_0x351cc3(0x1be)+_0x351cc3(0x185)],'plugins':_0x481070[_0x351cc3(0x258)]['map'](_0x26a2a1=>({'pluginId':_0x26a2a1['pluginId'],'source':_0x26a2a1[_0x351cc3(0x19a)],'version':_0x26a2a1[_0x351cc3(0x280)],'installPath':_0x26a2a1[_0x351cc3(0x2a4)+_0x351cc3(0x231)]})),'configPath':_0x1a1aa0[_0x351cc3(0x1d1)+'onfigPat'+'h'](),'stateDir':_0x1a1aa0[_0x351cc3(0x271)+_0x351cc3(0x19f)](),'bundledAgentSkillsDiscovery':_0x1bc7e4};}async function _0xe13808(){const _0x5b2e00=_0xdad4e7;_0x46c0f8?.[_0x5b2e00(0x25c)]('agents\x20l'+'ist\x20requ'+_0x5b2e00(0x16e));const _0x361b88=asRecord(await _0x521a55['request'](_0x5b2e00(0x21e)+_0x5b2e00(0x171),{})),_0xfc2045=getTrimmedString(_0x361b88['defaultI'+'d'])||'main',_0x5b97b9=Array['isArray'](_0x361b88[_0x5b2e00(0x2b3)])?[..._0x361b88[_0x5b2e00(0x2b3)]]:[];return{..._0x361b88,'defaultId':_0xfc2045,'agents':_0x5b97b9};}async function _0x541d9b(){const _0x2e55d7=_0xdad4e7;if(!_0x249b12())return{'defaultId':_0x2e55d7(0x1ea),'mainKey':'','scope':'','pending':!![],'agents':[{'id':_0x2e55d7(0x1ea),'name':_0x110f3e['productN'+_0x2e55d7(0x29f)],'workspace':join(_0x1a1aa0[_0x2e55d7(0x271)+_0x2e55d7(0x19f)](),_0x2e55d7(0x1d4)+'e')}]};const _0x4896b0=await _0xe13808(),_0x503040=getTrimmedString(_0x4896b0[_0x2e55d7(0x15f)+'d'])||_0x2e55d7(0x1ea),_0x3a253a=Array[_0x2e55d7(0x2b2)](_0x4896b0['agents'])?[..._0x4896b0[_0x2e55d7(0x2b3)]]:[];return!_0x3a253a['some'](_0x462e7e=>asRecord(_0x462e7e)['id']==='main')&&_0x3a253a[_0x2e55d7(0x289)]({'id':_0x2e55d7(0x1ea),'name':_0x110f3e[_0x2e55d7(0x252)+_0x2e55d7(0x29f)],'workspace':join(_0x1a1aa0[_0x2e55d7(0x271)+_0x2e55d7(0x19f)](),_0x2e55d7(0x1d4)+'e')}),{..._0x4896b0,'defaultId':_0x503040,'agents':_0x3a253a};}async function _0x3c6970(_0x3fcfb2={}){const _0x593270=_0xdad4e7;_0x406732();const _0x3d8222=Date['now']();_0xd864b5?.['info'](_0x593270(0x208)+_0x593270(0x2a3)+_0x593270(0x236),{'payload':summarizePayload(_0x3fcfb2)});const _0x343f7d=await _0x521a55['request'](_0x593270(0x1fe)+_0x593270(0x215),buildSessionCreateRequestPayload(_0x3fcfb2)),_0x458502=parseSessionCreateResult(_0x343f7d);return _0xd864b5?.[_0x593270(0x25c)]('session\x20'+_0x593270(0x170)+'ompleted',{'key':_0x458502['key'],'sessionId':_0x458502[_0x593270(0x1cb)+'d'],'durationMs':Date[_0x593270(0x211)]()-_0x3d8222}),_0x458502;}async function _0xd085a4(_0x3406a7={}){const _0x523c09=_0xdad4e7,_0x3994b6=await readSessionMetadata(_0x1a1aa0[_0x523c09(0x271)+_0x523c09(0x19f)]());if(!_0x249b12())return{'pending':!![],'sessions':[],'pinnedKeys':_0x3994b6['pinnedKe'+'ys']};const _0x1437e6=Date['now'](),_0x3564e1=Math[_0x523c09(0x212)](0x1,Math['floor'](Number(_0x3406a7[_0x523c09(0x297)])||0x64)),_0x4ca2e7={'limit':_0x3564e1,'includeGlobal':!![],'includeUnknown':![]},_0x5db722=getTrimmedString(_0x3406a7['agentId']??_0x523c09(0x1ea));if(_0x5db722)_0x4ca2e7[_0x523c09(0x154)]=_0x5db722;const _0x2cd4ef=applySessionMetadata(await _0x521a55[_0x523c09(0x1ce)](_0x523c09(0x1fe)+_0x523c09(0x221),_0x4ca2e7),_0x3994b6);return _0xd864b5?.[_0x523c09(0x25c)](_0x523c09(0x1fe)+_0x523c09(0x21d)+_0x523c09(0x1fb),{'payload':_0x4ca2e7,'count':Array['isArray'](_0x2cd4ef[_0x523c09(0x1fe)])?_0x2cd4ef[_0x523c09(0x1fe)][_0x523c09(0x1b3)]:0x0,'durationMs':Date[_0x523c09(0x211)]()-_0x1437e6}),_0x2cd4ef;}async function _0x43b0af(_0x4a5ae9={}){const _0x5bb219=_0xdad4e7;_0x406732();const _0xfc64c0=getTrimmedString(_0x4a5ae9[_0x5bb219(0x27b)+'ey']??_0x4a5ae9[_0x5bb219(0x29d)]);if(!_0xfc64c0)throw new Error(_0x5bb219(0x27b)+_0x5bb219(0x200)+'quired');const _0x5f184d=Date[_0x5bb219(0x211)](),_0x2ea8c1=await _0x521a55[_0x5bb219(0x1ce)](_0x5bb219(0x1fe)+_0x5bb219(0x1d3),{'key':_0xfc64c0,'deleteTranscript':_0x4a5ae9[_0x5bb219(0x2c3)+_0x5bb219(0x1ed)]!==![],'emitLifecycleHooks':!![]}),_0x3df0c0=await readSessionMetadata(_0x1a1aa0[_0x5bb219(0x271)+_0x5bb219(0x19f)]());return delete _0x3df0c0['names'][_0xfc64c0],_0x3df0c0[_0x5bb219(0x288)+'ys']=_0x3df0c0[_0x5bb219(0x288)+'ys']['filter'](_0x4d9fa7=>_0x4d9fa7!==_0xfc64c0),await writeSessionMetadata(_0x1a1aa0[_0x5bb219(0x271)+'tateDir'](),_0x3df0c0),_0x2400e7(_0x5bb219(0x1e9)+_0x5bb219(0x188),{'type':_0x5bb219(0x29b),'sessionKey':_0xfc64c0}),_0xd864b5?.[_0x5bb219(0x25c)](_0x5bb219(0x208)+_0x5bb219(0x1b2)+_0x5bb219(0x206),{'sessionKey':_0xfc64c0,'deleteTranscript':_0x4a5ae9['deleteTr'+_0x5bb219(0x1ed)]!==![],'durationMs':Date[_0x5bb219(0x211)]()-_0x5f184d}),_0x2ea8c1;}async function _0x3fc3df(_0x4a3af7={}){const _0xb214d9=_0xdad4e7,_0x499afe=getTrimmedString(_0x4a3af7['sessionK'+'ey']??_0x4a3af7[_0xb214d9(0x29d)]);if(!_0x499afe)throw new Error(_0xb214d9(0x27b)+'ey\x20is\x20re'+_0xb214d9(0x256));const _0x3effb5=getTrimmedString(_0x4a3af7[_0xb214d9(0x1da)]??_0x4a3af7[_0xb214d9(0x18c)]??_0x4a3af7[_0xb214d9(0x219)]),_0x16307c=await readSessionMetadata(_0x1a1aa0[_0xb214d9(0x271)+_0xb214d9(0x19f)]());if(_0x3effb5)_0x16307c[_0xb214d9(0x260)][_0x499afe]=_0x3effb5;else delete _0x16307c['names'][_0x499afe];return await writeSessionMetadata(_0x1a1aa0['resolveS'+_0xb214d9(0x19f)](),_0x16307c),_0x2400e7(_0xb214d9(0x1e9)+_0xb214d9(0x188),{'type':_0xb214d9(0x2b1),'sessionKey':_0x499afe,'name':_0x3effb5}),_0xd864b5?.[_0xb214d9(0x25c)](_0xb214d9(0x208)+'rename\x20c'+_0xb214d9(0x206),{'sessionKey':_0x499afe,'hasName':Boolean(_0x3effb5),'name':_0x3effb5?summarizeText(_0x3effb5,0x50):undefined}),{'ok':!![]};}async function _0x5550f0(){const _0x3bda69=_0xdad4e7,_0x4e43f8=await readSessionMetadata(_0x1a1aa0[_0x3bda69(0x271)+'tateDir']());return _0x4e43f8[_0x3bda69(0x288)+'ys'];}async function _0x23b0ac(_0x25f653=[]){const _0xee2d31=_0xdad4e7,_0xdcfd25=await readSessionMetadata(_0x1a1aa0[_0xee2d31(0x271)+_0xee2d31(0x19f)]());return _0xdcfd25['pinnedKe'+'ys']=Array['isArray'](_0x25f653)?[...new Set(_0x25f653['map'](getTrimmedString)[_0xee2d31(0x238)](Boolean))]:[],await writeSessionMetadata(_0x1a1aa0['resolveS'+_0xee2d31(0x19f)](),_0xdcfd25),_0x2400e7('session-'+'updated',{'type':_0xee2d31(0x269)+_0xee2d31(0x1e0)+_0xee2d31(0x24b),'pinnedKeys':_0xdcfd25['pinnedKe'+'ys']}),_0xd864b5?.[_0xee2d31(0x25c)](_0xee2d31(0x208)+_0xee2d31(0x1f5)+_0xee2d31(0x159)+_0xee2d31(0x24b),{'count':_0xdcfd25[_0xee2d31(0x288)+'ys'][_0xee2d31(0x1b3)]}),{'ok':!![],'pinnedKeys':_0xdcfd25['pinnedKe'+'ys']};}async function _0x4e69c0(){const _0x1b7651=_0xdad4e7,_0x3f9d6f=join(_0x1a1aa0[_0x1b7651(0x271)+'tateDir'](),_0x1b7651(0x1d4)+'e');return{'path':_0x3f9d6f,'exists':Boolean(await stat(_0x3f9d6f)[_0x1b7651(0x22b)](()=>null))};}async function _0x42118a(){const _0x36bc65=_0xdad4e7;return readSharedContext(join(_0x1a1aa0['resolveS'+_0x36bc65(0x19f)](),'workspac'+'e'));}async function _0x51bba3(_0x1f0a03={}){const _0xd5e67d=_0xdad4e7;return _0x46c0f8?.['info']('workspac'+_0xd5e67d(0x25d)+'\x20context'+_0xd5e67d(0x20a)+_0xd5e67d(0x236),{'files':Object[_0xd5e67d(0x27a)](sanitizeSharedContextPayload(_0x1f0a03))}),writeSharedContext(join(_0x1a1aa0['resolveS'+_0xd5e67d(0x19f)](),'workspac'+'e'),_0x1f0a03);}async function _0x38ceb9(_0x336e20={}){const _0x16f0cc=_0xdad4e7;return _0x406732(),await _0x521a55[_0x16f0cc(0x1ce)](_0x16f0cc(0x246)+'t',_0x336e20);}async function _0x597e40(_0xfbf4e8={}){const _0x672d46=_0xdad4e7;return _0x406732(),await _0x521a55[_0x672d46(0x1ce)](_0x672d46(0x21b),_0xfbf4e8);}async function _0x42ee9d(_0x417958={}){const _0x40ead9=_0xdad4e7;_0x406732();const _0xd2c522=getTrimmedString(_0x417958['jobId']??_0x417958['id']);if(!_0xd2c522)throw new Error(_0x40ead9(0x28e)+_0x40ead9(0x254)+'d');const _0xf67437=asRecord(_0x417958[_0x40ead9(0x2a6)]),_0x43643c=Object[_0x40ead9(0x27a)](_0xf67437)[_0x40ead9(0x1b3)]>0x0?_0xf67437:{..._0x417958};return delete _0x43643c['jobId'],delete _0x43643c['id'],await _0x521a55[_0x40ead9(0x1ce)]('cron.upd'+_0x40ead9(0x1c9),{'jobId':_0xd2c522,'patch':_0x43643c});}async function _0x13f9f2(_0x5cabc4={}){const _0x159e95=_0xdad4e7;_0x406732();const _0x1b56e9=getTrimmedString(_0x5cabc4[_0x159e95(0x1a5)]??_0x5cabc4['id']);if(!_0x1b56e9)throw new Error(_0x159e95(0x28e)+'\x20require'+'d');return await _0x521a55[_0x159e95(0x1ce)](_0x159e95(0x1aa)+'ove',{'jobId':_0x1b56e9});}async function _0x31e92d(_0x45e3cf={}){const _0x476ccc=_0xdad4e7;_0x406732();const _0x8b0f7e=getTrimmedString(_0x45e3cf[_0x476ccc(0x1a5)]??_0x45e3cf['id']);if(!_0x8b0f7e)throw new Error(_0x476ccc(0x28e)+'\x20require'+'d');return await _0x521a55[_0x476ccc(0x1ce)](_0x476ccc(0x281),{'jobId':_0x8b0f7e});}async function _0x37eab5(_0x2bbc2b={}){const _0x435b07=_0xdad4e7;return _0x406732(),await _0x521a55['request'](_0x435b07(0x281)+'s',_0x2bbc2b);}async function _0x3144cf(_0x30898c={}){const _0x1b90f6=_0xdad4e7;_0x406732();const _0x473f44=Date[_0x1b90f6(0x211)]();_0x46c0f8?.[_0x1b90f6(0x25c)](_0x1b90f6(0x243)+'stall\x20re'+_0x1b90f6(0x1e4),{'payload':summarizePayload(_0x30898c)});try{const _0x270130=await _0x521a55['request']('skills.i'+'nstall',_0x30898c);return _0x46c0f8?.['info']('skill\x20in'+_0x1b90f6(0x1b0)+_0x1b90f6(0x1fb),{'durationMs':Date[_0x1b90f6(0x211)]()-_0x473f44,'result':summarizePayload(_0x270130,{'maxDepth':0x2})}),_0x270130;}catch(_0x377054){_0x46c0f8?.['error'](_0x1b90f6(0x243)+'stall\x20fa'+_0x1b90f6(0x284),{'durationMs':Date[_0x1b90f6(0x211)]()-_0x473f44,'error':summarizeError(_0x377054)});throw _0x377054;}}async function _0xaef522(_0x55b9ea={}){const _0x1e0e3c=_0xdad4e7;return _0x406732(),_0x46c0f8?.['info'](_0x1e0e3c(0x203)+'date\x20req'+_0x1e0e3c(0x2ab),{'payload':summarizePayload(_0x55b9ea)}),await _0x521a55['request']('skills.u'+_0x1e0e3c(0x23a),_0x55b9ea);}async function _0x4fb695(_0x553ee6={}){const _0x5843a7=_0xdad4e7;return _0x406732(),_0x46c0f8?.['info'](_0x5843a7(0x2b5)+_0x5843a7(0x224)+_0x5843a7(0x2ab),{'payload':summarizePayload(_0x553ee6)}),await _0x521a55['request'](_0x5843a7(0x22f)+'elete',_0x553ee6);}async function _0x533bf0(_0x5ecad0={}){const _0x19a01f=_0xdad4e7;_0x406732();const _0x12ebfa=getTrimmedString(_0x5ecad0[_0x19a01f(0x27b)+'ey']),_0x553fe4=getTrimmedString(_0x5ecad0['message']),_0x30a6f6=getTrimmedString(_0x5ecad0[_0x19a01f(0x180)+'d'])||randomUUID();if(!_0x12ebfa)throw new Error(_0x19a01f(0x27b)+_0x19a01f(0x200)+_0x19a01f(0x256));if(!_0x553fe4)throw new Error(_0x19a01f(0x1db)+_0x19a01f(0x164)+'red');const _0x27889e=Date['now']();_0x3baf49?.[_0x19a01f(0x25c)](_0x19a01f(0x1b7)+'eam\x20requ'+_0x19a01f(0x16e),{'requestId':_0x30a6f6,'sessionKey':_0x12ebfa,'message':summarizeText(_0x553fe4),'filePaths':summarizeFilePaths(_0x5ecad0[_0x19a01f(0x1c5)+'s'])}),_0x10f8c1({'requestId':_0x30a6f6,'sessionKey':_0x12ebfa,'type':_0x19a01f(0x26f)}),_0x2f037e[_0x19a01f(0x265)](_0x30a6f6,{'runId':_0x30a6f6,'requestId':_0x30a6f6,'sessionKey':_0x12ebfa,'textLength':0x0,'startedAt':_0x27889e}),_0x543cae['set'](_0x12ebfa,_0x30a6f6);try{const _0x360106=await buildAttachments(Array[_0x19a01f(0x2b2)](_0x5ecad0['filePath'+'s'])?_0x5ecad0[_0x19a01f(0x1c5)+'s']:[]);_0x3baf49?.[_0x19a01f(0x25c)](_0x19a01f(0x1f0)+_0x19a01f(0x241)+_0x19a01f(0x1b1)+'d',{'requestId':_0x30a6f6,'sessionKey':_0x12ebfa,'attachmentCount':_0x360106[_0x19a01f(0x1b3)],'attachments':_0x360106[_0x19a01f(0x2af)](_0x2b8714=>({'type':_0x2b8714[_0x19a01f(0x16d)],'mimeType':_0x2b8714[_0x19a01f(0x1a0)],'fileName':_0x2b8714[_0x19a01f(0x1af)],'contentLength':_0x2b8714['content'][_0x19a01f(0x1b3)]}))});const _0x290bd8=asRecord(await _0x521a55[_0x19a01f(0x1ce)](_0x19a01f(0x292)+'d',{'sessionKey':_0x12ebfa,'message':_0x553fe4,'deliver':![],'idempotencyKey':_0x30a6f6,..._0x360106['length']>0x0?{'attachments':_0x360106}:{}})),_0xf0c592=getTrimmedString(_0x290bd8[_0x19a01f(0x2c0)])||_0x30a6f6,_0x382307=_0x2f037e[_0x19a01f(0x1c4)](_0x30a6f6);if(!_0x382307)return{'ok':!![],'requestId':_0x30a6f6,'runId':_0xf0c592};return _0xf0c592!==_0x382307['runId']&&(_0x2f037e['delete'](_0x382307[_0x19a01f(0x2c0)]),_0x382307[_0x19a01f(0x2c0)]=_0xf0c592,_0x2f037e[_0x19a01f(0x265)](_0xf0c592,_0x382307)),_0x543cae[_0x19a01f(0x265)](_0x12ebfa,_0xf0c592),_0x3baf49?.['info'](_0x19a01f(0x1b7)+_0x19a01f(0x1d5)+_0x19a01f(0x1c2)+_0x19a01f(0x19d),{'requestId':_0x30a6f6,'runId':_0xf0c592,'sessionKey':_0x12ebfa,'durationMs':Date[_0x19a01f(0x211)]()-_0x27889e,'status':_0x290bd8[_0x19a01f(0x1c8)]}),_0x290bd8[_0x19a01f(0x1c8)]===_0x19a01f(0x199)&&_0x26c8c5(_0x382307,'error',getTrimmedString(_0x290bd8[_0x19a01f(0x19e)+_0x19a01f(0x2a5)])||_0x19a01f(0x169)+_0x19a01f(0x2bd)+_0x19a01f(0x1a8)),{'ok':!![],'requestId':_0x30a6f6,'runId':_0xf0c592,'response':_0x290bd8};}catch(_0x87522a){const _0x18def9=_0xa3912f(_0x30a6f6),_0x459dee=_0x87522a instanceof Error?_0x87522a[_0x19a01f(0x295)]:String(_0x87522a);_0x3baf49?.['error'](_0x19a01f(0x1b7)+_0x19a01f(0x266)+'ed',{'requestId':_0x30a6f6,'sessionKey':_0x12ebfa,'durationMs':Date[_0x19a01f(0x211)]()-_0x27889e,'error':summarizeError(_0x87522a)});if(_0x18def9)_0x26c8c5(_0x18def9,_0x19a01f(0x199),_0x459dee);else _0x10f8c1({'requestId':_0x30a6f6,'sessionKey':_0x12ebfa,'type':_0x19a01f(0x199),'message':_0x459dee});throw _0x87522a;}}async function _0x4db5e0(_0x3ec11a={}){const _0x41dfb0=_0xdad4e7;_0x406732();const _0x5440c6=getTrimmedString(_0x3ec11a[_0x41dfb0(0x27b)+'ey']);if(!_0x5440c6)throw new Error('sessionK'+_0x41dfb0(0x200)+_0x41dfb0(0x256));const _0x5850a5=Date[_0x41dfb0(0x211)](),_0x39c807=_0xa3912f(getTrimmedString(_0x3ec11a[_0x41dfb0(0x180)+'d']))??_0x6524bb(_0x5440c6),_0x205bca=_0x543cae[_0x41dfb0(0x1c4)](_0x5440c6),_0x127e25={'sessionKey':_0x5440c6};if(_0x39c807?.[_0x41dfb0(0x2c0)])_0x127e25[_0x41dfb0(0x2c0)]=_0x39c807['runId'];else{if(_0x205bca)_0x127e25['runId']=_0x205bca;}const _0x50bbbf=await _0x521a55[_0x41dfb0(0x1ce)](_0x41dfb0(0x157)+'rt',_0x127e25);if(_0x39c807)_0x26c8c5(_0x39c807,_0x41dfb0(0x18f));return _0x3baf49?.['info']('chat\x20abo'+_0x41dfb0(0x234)+_0x41dfb0(0x1e8),{'sessionKey':_0x5440c6,'requestId':getTrimmedString(_0x3ec11a[_0x41dfb0(0x180)+'d']),'runId':_0x127e25[_0x41dfb0(0x2c0)],'durationMs':Date[_0x41dfb0(0x211)]()-_0x5850a5}),_0x50bbbf;}async function _0x4e04c0(_0x67e209={}){const _0x2982e0=_0xdad4e7;_0x406732();const _0x45cb2a=getTrimmedString(_0x67e209[_0x2982e0(0x27b)+'ey']);if(!_0x45cb2a)throw new Error('sessionK'+'ey\x20is\x20re'+_0x2982e0(0x256));const _0x4b7645=await _0x521a55[_0x2982e0(0x1ce)]('chat.his'+'tory',{'sessionKey':_0x45cb2a,'limit':Math[_0x2982e0(0x212)](0x1,Math[_0x2982e0(0x2c2)](Number(_0x67e209[_0x2982e0(0x297)])||0xc8))});return _0x3baf49?.[_0x2982e0(0x25c)](_0x2982e0(0x1ac)+_0x2982e0(0x20d)+_0x2982e0(0x1c6),{'sessionKey':_0x45cb2a,'limit':Math[_0x2982e0(0x212)](0x1,Math[_0x2982e0(0x2c2)](Number(_0x67e209[_0x2982e0(0x297)])||0xc8)),'result':summarizePayload(_0x4b7645,{'maxDepth':0x2})}),_0x4b7645;}async function _0x2096cb(_0x3e2e75=''){const _0x19da23=_0xdad4e7;if(!_0x249b12())return{'pending':!![],'skills':[]};const _0x1998c0=getTrimmedString(_0x3e2e75),_0x363ada=await _0x521a55[_0x19da23(0x1ce)](_0x19da23(0x202)+_0x19da23(0x26b),_0x1998c0?{'agentId':_0x1998c0}:{}),_0xdb7cfa=await _0x1a1aa0[_0x19da23(0x28d)+'ig']()[_0x19da23(0x22b)](()=>({})),_0x278c23=filterSkillsForAgent(_0x363ada,_0xdb7cfa,_0x1998c0);return _0x46c0f8?.['info']('skills\x20s'+'tatus\x20lo'+_0x19da23(0x264),{'agentId':_0x1998c0||'default','result':summarizePayload(_0x278c23,{'maxDepth':0x2})}),_0x278c23;}return{'on':_0x2b463e,'start':_0x31198d,'stop':_0x9c8905,'restart':_0x34c089,'runtimeInfo':_0x2e376a,'getStatus':()=>_0x44d941,'getRecentLogs':_0x284578,'answerAskUserQuestion':_0x49dce5=>_0x2f9231[_0xdad4e7(0x1f2)](_0x49dce5),'agents':{'list':_0x541d9b},'skills':{'status':_0x2096cb,'install':_0x3144cf,'update':_0xaef522,'delete':_0x4fb695},'sessions':{'create':_0x3c6970,'list':_0xd085a4,'delete':_0x43b0af,'rename':_0x3fc3df,'pinnedKeys':_0x5550f0,'setPinnedKeys':_0x23b0ac},'workspace':{'directoryInfo':_0x4e69c0,'sharedContext':_0x42118a,'writeSharedContext':_0x51bba3},'cron':{'list':_0x38ceb9,'create':_0x597e40,'update':_0x42ee9d,'remove':_0x13f9f2,'runOnce':_0x31e92d,'logs':_0x37eab5},'models':{'settings':()=>_0x1a1aa0[_0xdad4e7(0x298)+_0xdad4e7(0x18b)](),'setSettings':async(_0x79ac70={})=>{const _0x339cba=_0xdad4e7,_0x53e5e6=_0x79ac70?.[_0x339cba(0x1a7)+_0x339cba(0x230)]!==![];return await _0x1a1aa0[_0x339cba(0x204)+_0x339cba(0x18b)](_0x79ac70,{'restartOnChange':_0x53e5e6}),_0x1a1aa0[_0x339cba(0x298)+_0x339cba(0x18b)]();},'setSelfOperatedModels':_0x2f4944=>_0x1a1aa0[_0xdad4e7(0x182)+_0xdad4e7(0x17f)+'odels'](_0x2f4944),'selectedModelId':async()=>{const _0x24c7b5=_0xdad4e7,_0x4bd8ff=await _0x1a1aa0['getModel'+_0x24c7b5(0x18b)]();return _0x4bd8ff[_0x24c7b5(0x198)]&&_0x4bd8ff[_0x24c7b5(0x20f)+'e']?_0x4bd8ff[_0x24c7b5(0x198)]+'/'+_0x4bd8ff[_0x24c7b5(0x20f)+'e']:'';},'customModels':async()=>[]},'config':{'read':()=>_0x1a1aa0[_0xdad4e7(0x28d)+'ig']()},'chat':{'stream':_0x533bf0,'abort':_0x4db5e0,'history':_0x4e04c0}};}
@@ -1 +1 @@
1
- function _0x1ccb(_0x15a60a,_0x10267b){_0x15a60a=_0x15a60a-0xcf;const _0x4777b7=_0x4777();let _0x1ccbee=_0x4777b7[_0x15a60a];return _0x1ccbee;}const _0x3768ca=_0x1ccb;(function(_0x55db65,_0xb7ad82){const _0x3de69a=_0x1ccb,_0x496caf=_0x55db65();while(!![]){try{const _0x40017a=-parseInt(_0x3de69a(0xcf))/0x1+parseInt(_0x3de69a(0x135))/0x2*(parseInt(_0x3de69a(0x143))/0x3)+-parseInt(_0x3de69a(0xfb))/0x4*(parseInt(_0x3de69a(0x173))/0x5)+-parseInt(_0x3de69a(0x175))/0x6+-parseInt(_0x3de69a(0x103))/0x7+parseInt(_0x3de69a(0xea))/0x8*(parseInt(_0x3de69a(0x12f))/0x9)+parseInt(_0x3de69a(0x181))/0xa;if(_0x40017a===_0xb7ad82)break;else _0x496caf['push'](_0x496caf['shift']());}catch(_0x191c2f){_0x496caf['push'](_0x496caf['shift']());}}}(_0x4777,0x39111));import{Buffer}from'node:buffer';import{createHash,createPrivateKey,createPublicKey,generateKeyPairSync,randomUUID,sign}from'node:crypto';function _0x4777(){const _0x1be89f=['e\x20timeou','failed\x20t','\x20yet','ers','length','.pairing','export','isArray','dentity','e\x20missin','onConnec','nal','way\x20设备身份','accepted','Options','hake\x20mis','join','sha256','resolved','entity','expectFi','onAgentE','toString','ted','eout','config','med\x20out','650015wZIhmE','clientDe','284778ZYPmEF','rejectPe','istening','handleMe','Code','reject','privateK','parse','WS\x20is\x20no','clientMo','queueCon','ateway\x20r','6509960gnuhOV','onDiscon','fromChar','status','send','yPem','token','hallenge','digest','connectS','WS\x20close','vent','connecte','replaceA','payload','replace','gateway\x20','137577ZPpezx','d\x20(','WS\x20conne','OPEN','rejectRe','splayNam','初始化\x20gate','set','chat','ssage','once','eadyWait','spki','publicKe','skipRead','nding','Timer','adyWaite','t\x20connec','shouldRe','nnected','test','viceFami','open','ell/','min','tTimer','1154632BwdBAo','trim','Path','connectC','DateTime','now','code=','role','agent','type','resolveR','rsion','pem','deviceId','readyWai','error','WS\x20clien','4CIYlEo','get','connectN','base64','timeout','scopes','readySta','locale','2200590RBWWsA','WS\x20disco','t:\x20','request\x20','filter','platform','connect.','ed\x20out','hake\x20tim','connect','lengeTim','object','req','failed','challeng','request','wujie-sh','nectChal','close','hex','unavaila','sing\x20non','ters','tBackoff','clientDi','mily','stop','clientVe','resolve','waitUnti','clientId','onChatEv','connect\x20','reconnec','subarray','utf8','302a3005','g\x20nonce','ent','delete','identity','ting','from','Format','9tChEXI','nonce','sconnect','pending','event','handleDi','18QhbTCL','ateway\x20i','url','signedAt','timeoutM','WS\x20hands','restart','equals','res','operator','stringif','equest','nected','entries','22611qVVDXk','WS\x20error','ction\x20ti','der','t\x20config','failed:\x20','clearTim','ured','device\x20i','lReady','o\x20load\x20g','t\x20restar','is\x20not\x20l','ct\x20faile','message','eyPem','string','70032100','t\x20stoppe','sendConn','.write'];_0x4777=function(){return _0x1be89f;};return _0x4777();}import{chmodSync,existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import _0x24ad86 from'ws';const ED25519_SPKI_PREFIX=Buffer[_0x3768ca(0x12d)](_0x3768ca(0x127)+'06032b65'+_0x3768ca(0x154),_0x3768ca(0x116)),BASE64_PADDING_REGEX=/=+$/g,UPPERCASE_ASCII_REGEX=/[A-Z]/g;function isRecord(_0xc59aa6){const _0x10f936=_0x3768ca;return Boolean(_0xc59aa6)&&typeof _0xc59aa6===_0x10f936(0x10e)&&!Array[_0x10f936(0x15f)](_0xc59aa6);}function formatUnknownError(_0x141a1f){const _0x44c080=_0x3768ca;if(_0x141a1f instanceof Error)return _0x141a1f[_0x44c080(0x151)];return String(_0x141a1f??'');}function isLocalGatewayConnRefused(_0x2babca){const _0x1ee143=_0x3768ca,_0x1cbe21=formatUnknownError(_0x2babca);return/\bECONNREFUSED\b/i[_0x1ee143(0xe4)](_0x1cbe21)&&/127\.0\.0\.1:\d+/['test'](_0x1cbe21);}function base64UrlEncode(_0x4f9fcf){const _0x6383c8=_0x3768ca;return _0x4f9fcf['toString'](_0x6383c8(0xfe))[_0x6383c8(0x18e)+'ll']('+','-')['replaceA'+'ll']('/','_')[_0x6383c8(0x190)](BASE64_PADDING_REGEX,'');}function derivePublicKeyRaw(_0x3e5c4d){const _0x22f14a=_0x3768ca,_0x56e532=createPublicKey(_0x3e5c4d)[_0x22f14a(0x15e)]({'type':'spki','format':_0x22f14a(0x146)}),_0x57002b=Buffer['isBuffer'](_0x56e532)?_0x56e532:Buffer[_0x22f14a(0x12d)](_0x56e532),_0x1695d9=_0x57002b[_0x22f14a(0x15c)]===ED25519_SPKI_PREFIX['length']+0x20&&_0x57002b['subarray'](0x0,ED25519_SPKI_PREFIX['length'])[_0x22f14a(0x13c)](ED25519_SPKI_PREFIX);return _0x1695d9?_0x57002b[_0x22f14a(0x125)](ED25519_SPKI_PREFIX[_0x22f14a(0x15c)]):_0x57002b;}function fingerprintPublicKey(_0x53dd91){const _0x41a7a9=_0x3768ca;return createHash(_0x41a7a9(0x169))['update'](derivePublicKeyRaw(_0x53dd91))[_0x41a7a9(0x189)](_0x41a7a9(0x116));}function publicKeyRawBase64UrlFromPem(_0x4e551d){return base64UrlEncode(derivePublicKeyRaw(_0x4e551d));}function signDevicePayload(_0x5d27fa,_0x52adc9){const _0x378025=_0x3768ca,_0x2cd806=createPrivateKey(_0x5d27fa);return base64UrlEncode(sign(null,Buffer[_0x378025(0x12d)](_0x52adc9,_0x378025(0x126)),_0x2cd806));}function normalizeDeviceMetadataForAuth(_0x299464){const _0x510a89=_0x3768ca,_0x47348c=typeof _0x299464==='string'?_0x299464[_0x510a89(0xeb)]():'';if(!_0x47348c)return'';return _0x47348c[_0x510a89(0x190)](UPPERCASE_ASCII_REGEX,_0x13476f=>String[_0x510a89(0x183)+_0x510a89(0x179)](_0x13476f['charCode'+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x27cde2){const _0x441113=_0x3768ca;return['v3',_0x27cde2['deviceId'],_0x27cde2[_0x441113(0x121)],_0x27cde2[_0x441113(0x17e)+'de'],_0x27cde2[_0x441113(0xf1)],_0x27cde2[_0x441113(0x100)]['join'](','),String(_0x27cde2[_0x441113(0x138)+'Ms']),_0x27cde2[_0x441113(0x187)]??'',_0x27cde2[_0x441113(0x130)],normalizeDeviceMetadataForAuth(_0x27cde2[_0x441113(0x108)]),normalizeDeviceMetadataForAuth(_0x27cde2['deviceFa'+_0x441113(0x11c)])][_0x441113(0x168)]('|');}function writeIdentityFile(_0xb32231,_0x1fa137,_0x16e5eb){const _0x415c25=_0x3768ca;mkdirSync(dirname(_0xb32231),{'recursive':!![]}),writeFileSync(_0xb32231,JSON[_0x415c25(0x13f)+'y']({'version':0x1,..._0x1fa137,'createdAtMs':_0x16e5eb},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0xb32231,0x180);}catch{}}function generateDeviceIdentity(){const _0x1f15f1=_0x3768ca,{publicKey:_0x1c3f28,privateKey:_0x2cef4d}=generateKeyPairSync('ed25519'),_0xa7a2a0=_0x1c3f28[_0x1f15f1(0x15e)]({'type':_0x1f15f1(0xdb),'format':_0x1f15f1(0xf6)})[_0x1f15f1(0x16e)](),_0x3cb8bb=_0x2cef4d[_0x1f15f1(0x15e)]({'type':'pkcs8','format':'pem'})[_0x1f15f1(0x16e)]();return{'deviceId':fingerprintPublicKey(_0xa7a2a0),'publicKeyPem':_0xa7a2a0,'privateKeyPem':_0x3cb8bb};}function loadOrCreateDeviceIdentity(_0x347ae7){const _0x3885cf=_0x3768ca;if(existsSync(_0x347ae7))try{const _0x34b068=JSON['parse'](readFileSync(_0x347ae7,_0x3885cf(0x126))),_0x2173f3=typeof _0x34b068?.[_0x3885cf(0xdc)+'yPem']==='string'?_0x34b068[_0x3885cf(0xdc)+_0x3885cf(0x186)]:'',_0x5b5a17=typeof _0x34b068?.[_0x3885cf(0x17b)+_0x3885cf(0x152)]===_0x3885cf(0x153)?_0x34b068['privateK'+_0x3885cf(0x152)]:'';if(_0x2173f3&&_0x5b5a17){const _0x18076a={'deviceId':fingerprintPublicKey(_0x2173f3),'publicKeyPem':_0x2173f3,'privateKeyPem':_0x5b5a17};return _0x34b068?.[_0x3885cf(0xf7)]!==_0x18076a[_0x3885cf(0xf7)]&&writeIdentityFile(_0x347ae7,_0x18076a,Date[_0x3885cf(0xef)]()),_0x18076a;}}catch{}const _0x456bc5=generateDeviceIdentity();return writeIdentityFile(_0x347ae7,_0x456bc5,Date[_0x3885cf(0xef)]()),_0x456bc5;}export class ClawGatewayWsClient{['ws']=null;['config']=null;[_0x3768ca(0x132)]=new Map();['readyWai'+_0x3768ca(0x119)]=[];[_0x3768ca(0xe2)+_0x3768ca(0x10c)]=![];[_0x3768ca(0x124)+_0x3768ca(0xe9)]=null;[_0x3768ca(0xed)+_0x3768ca(0x188)+_0x3768ca(0xdf)]=null;[_0x3768ca(0xfd)+_0x3768ca(0xd9)]=null;[_0x3768ca(0x18a)+_0x3768ca(0x129)]=![];[_0x3768ca(0x18d)+'d']=![];[_0x3768ca(0x124)+_0x3768ca(0x11a)+'Ms']=0x320;['deviceId'+_0x3768ca(0x16b)]=null;['configur'+'e'](_0x2f7cc3){const _0x4844de=_0x3768ca;if(!_0x2f7cc3){this['stop']();return;}const _0x421814=this[_0x4844de(0x171)];this[_0x4844de(0x171)]=_0x2f7cc3,this[_0x4844de(0xe2)+_0x4844de(0x10c)]=!![];try{this['deviceId'+_0x4844de(0x16b)]=loadOrCreateDeviceIdentity(_0x2f7cc3[_0x4844de(0x12b)+'Path']);}catch(_0x47d2e5){const _0x218fc2=_0x47d2e5 instanceof Error?_0x47d2e5[_0x4844de(0x151)]:_0x4844de(0xd5)+_0x4844de(0x164)+'失败';this[_0x4844de(0x11d)](),_0x2f7cc3[_0x4844de(0x182)+_0x4844de(0x141)](_0x218fc2);return;}const _0x1f4d24=!_0x421814||_0x421814[_0x4844de(0x137)]!==_0x2f7cc3[_0x4844de(0x137)]||_0x421814[_0x4844de(0x187)]!==_0x2f7cc3[_0x4844de(0x187)]||_0x421814[_0x4844de(0x121)]!==_0x2f7cc3[_0x4844de(0x121)]||_0x421814[_0x4844de(0x17e)+'de']!==_0x2f7cc3[_0x4844de(0x17e)+'de']||_0x421814[_0x4844de(0x11e)+_0x4844de(0xf5)]!==_0x2f7cc3[_0x4844de(0x11e)+_0x4844de(0xf5)]||_0x421814['identity'+'Path']!==_0x2f7cc3['identity'+_0x4844de(0xec)];if(_0x1f4d24){this[_0x4844de(0x13b)]();return;}if(!this['ws'])this['connect']();}[_0x3768ca(0x11d)](){const _0x1de1f5=_0x3768ca;this['shouldRe'+_0x1de1f5(0x10c)]=![],this[_0x1de1f5(0x18d)+'d']=![],this[_0x1de1f5(0xfd)+_0x1de1f5(0xd9)]=null,this[_0x1de1f5(0x18a)+_0x1de1f5(0x129)]=![],this['clearTim'+_0x1de1f5(0x15b)](),this[_0x1de1f5(0x176)+_0x1de1f5(0xde)](new Error(_0x1de1f5(0x191)+'WS\x20clien'+_0x1de1f5(0x155)+'d')),this[_0x1de1f5(0xd3)+_0x1de1f5(0xe0)+'rs'](new Error(_0x1de1f5(0x191)+_0x1de1f5(0xfa)+_0x1de1f5(0x155)+'d'));if(this['ws']){try{this['ws'][_0x1de1f5(0x115)]();}catch{}this['ws']=null;}this[_0x1de1f5(0xf7)+_0x1de1f5(0x16b)]=null,this[_0x1de1f5(0x171)]=null;}async[_0x3768ca(0x112)](_0x525667,_0xdf6149={},_0x2394d0={}){const _0x385679=_0x3768ca;if(!_0x2394d0[_0x385679(0xdd)+'yCheck'])await this[_0x385679(0x120)+_0x385679(0x14c)]();const _0x20b803=this['ws'];if(!_0x20b803||_0x20b803[_0x385679(0x101)+'te']!==_0x24ad86['OPEN'])throw new Error('gateway\x20'+_0x385679(0x17d)+_0x385679(0xe1)+'ted');const _0x2a1b75=randomUUID(),_0x3838af=_0x2394d0[_0x385679(0x139)+'s']??0x7530;return await new Promise((_0x216861,_0x50d4af)=>{const _0x446a35=_0x385679,_0x51ad16=setTimeout(()=>{const _0x5cc5f4=_0x1ccb;this['pending'][_0x5cc5f4(0x12a)](_0x2a1b75),_0x50d4af(new Error(_0x5cc5f4(0x191)+_0x5cc5f4(0x106)+'timed\x20ou'+_0x5cc5f4(0x105)+_0x525667));},_0x3838af);this[_0x446a35(0x132)][_0x446a35(0xd6)](_0x2a1b75,{'method':_0x525667,'resolve':_0x3f139d=>{clearTimeout(_0x51ad16),_0x216861(_0x3f139d);},'reject':_0x138d80=>{clearTimeout(_0x51ad16),_0x50d4af(_0x138d80);},'expectFinal':_0x2394d0[_0x446a35(0x16c)+_0x446a35(0x163)]===!![],'timeout':_0x51ad16});try{_0x20b803[_0x446a35(0x185)](JSON[_0x446a35(0x13f)+'y']({'type':_0x446a35(0x10f),'id':_0x2a1b75,'method':_0x525667,'params':_0xdf6149}));}catch(_0x3d4658){this[_0x446a35(0x132)][_0x446a35(0x12a)](_0x2a1b75),clearTimeout(_0x51ad16),_0x50d4af(_0x3d4658 instanceof Error?_0x3d4658:new Error(_0x446a35(0x159)+'o\x20send\x20g'+_0x446a35(0x180)+_0x446a35(0x140)));}});}['restart'](){const _0x16e8ca=_0x3768ca;this['connecte'+'d']=![],this[_0x16e8ca(0xfd)+_0x16e8ca(0xd9)]=null,this[_0x16e8ca(0x18a)+_0x16e8ca(0x129)]=![],this[_0x16e8ca(0x149)+'ers'](),this[_0x16e8ca(0x176)+'nding'](new Error(_0x16e8ca(0x191)+'WS\x20clien'+_0x16e8ca(0x14e)+_0x16e8ca(0x12c))),this[_0x16e8ca(0xd3)+'adyWaite'+'rs'](new Error(_0x16e8ca(0x191)+_0x16e8ca(0xfa)+_0x16e8ca(0x14e)+_0x16e8ca(0x12c)));if(this['ws']){try{this['ws']['terminat'+'e']();}catch{}this['ws']=null;}this[_0x16e8ca(0x10c)]();}[_0x3768ca(0x10c)](){const _0x39f253=_0x3768ca;if(!this[_0x39f253(0x171)]||this['ws'])return;const _0x961f1b=new _0x24ad86(this[_0x39f253(0x171)][_0x39f253(0x137)]);this['ws']=_0x961f1b,_0x961f1b['on'](_0x39f253(0xe6),()=>this['queueCon'+_0x39f253(0x114)+_0x39f253(0x10d)+_0x39f253(0x170)]()),_0x961f1b['on']('message',_0x1b529f=>this['handleMe'+_0x39f253(0xd8)](_0x1b529f[_0x39f253(0x16e)]())),_0x961f1b['on'](_0x39f253(0x115),(_0x47ce78,_0x29c7e2)=>{const _0x2e727c=_0x39f253;if(this[_0x2e727c(0x18d)+'d']){const _0x3b5379=_0x29c7e2[_0x2e727c(0x16e)]()||_0x2e727c(0xf0)+_0x47ce78;this['handleDi'+_0x2e727c(0x131)]('gateway\x20'+_0x2e727c(0x18b)+_0x2e727c(0xd0)+_0x3b5379+')');}else this['handleDi'+_0x2e727c(0x131)]('');}),_0x961f1b['on'](_0x39f253(0xf9),_0x4ec688=>{const _0x1eee02=_0x39f253;if(isLocalGatewayConnRefused(_0x4ec688)){this[_0x1eee02(0x134)+'sconnect'](_0x1eee02(0x191)+_0x1eee02(0x14f)+_0x1eee02(0x177)+_0x1eee02(0x15a));return;}const _0x45d252=formatUnknownError(_0x4ec688);this['handleDi'+_0x1eee02(0x131)](_0x45d252?_0x1eee02(0x191)+'WS\x20error'+':\x20'+_0x45d252:_0x1eee02(0x191)+_0x1eee02(0x144));});}[_0x3768ca(0x17f)+'nectChal'+_0x3768ca(0x10d)+'eout'](){const _0x30b322=_0x3768ca;this[_0x30b322(0xfd)+_0x30b322(0xd9)]=null,this[_0x30b322(0x18a)+_0x30b322(0x129)]=![];if(this[_0x30b322(0xed)+_0x30b322(0x188)+_0x30b322(0xdf)])clearTimeout(this['connectC'+_0x30b322(0x188)+_0x30b322(0xdf)]);this[_0x30b322(0xed)+_0x30b322(0x188)+_0x30b322(0xdf)]=setTimeout(()=>{const _0xe85a32=_0x30b322;if(this[_0xe85a32(0x18a)+'ent']||!this['ws']||this['ws']['readySta'+'te']!==_0x24ad86[_0xe85a32(0xd2)])return;this[_0xe85a32(0x134)+'sconnect'](_0xe85a32(0x191)+_0xe85a32(0x13a)+_0xe85a32(0x10b)+_0xe85a32(0x10a)),this['ws']?.['close'](0x3f0,'connect\x20'+_0xe85a32(0x111)+_0xe85a32(0x158)+'t');},0x7d0);}async[_0x3768ca(0x156)+'ect'](){const _0xe15dc=_0x3768ca,_0x10b52f=this[_0xe15dc(0x171)];if(!_0x10b52f||this[_0xe15dc(0x18a)+'ent'])return;const _0x3d87c0=this['connectN'+'once']?.['trim']()??'';if(!_0x3d87c0){this[_0xe15dc(0x134)+_0xe15dc(0x131)]('gateway\x20'+_0xe15dc(0x13a)+_0xe15dc(0x167)+_0xe15dc(0x118)+'ce'),this['ws']?.[_0xe15dc(0x115)](0x3f0,_0xe15dc(0x123)+_0xe15dc(0x111)+_0xe15dc(0x161)+_0xe15dc(0x128));return;}this['connectS'+_0xe15dc(0x129)]=!![];this['connectC'+'hallenge'+_0xe15dc(0xdf)]&&(clearTimeout(this[_0xe15dc(0xed)+'hallenge'+'Timer']),this[_0xe15dc(0xed)+'hallenge'+'Timer']=null);if(!this[_0xe15dc(0xf7)+_0xe15dc(0x16b)])try{this['deviceId'+_0xe15dc(0x16b)]=loadOrCreateDeviceIdentity(_0x10b52f['identity'+'Path']);}catch(_0xd53a1c){this['handleDi'+_0xe15dc(0x131)](_0xd53a1c instanceof Error?_0xd53a1c[_0xe15dc(0x151)]:'failed\x20t'+_0xe15dc(0x14d)+_0xe15dc(0x136)+_0xe15dc(0x160)),this['ws']?.[_0xe15dc(0x115)](0x3f0,_0xe15dc(0x14b)+'dentity\x20'+_0xe15dc(0x117)+'ble');return;}const _0x4c3ca4='operator',_0x4afe15=[_0xe15dc(0x13e)+'.read',_0xe15dc(0x13e)+_0xe15dc(0x157),_0xe15dc(0x13e)+'.admin',_0xe15dc(0x13e)+'.approva'+'ls',_0xe15dc(0x13e)+_0xe15dc(0x15d)],_0x52e642=_0x10b52f['token'][_0xe15dc(0xeb)](),_0x3a0ed7=Date['now'](),_0x393769=buildDeviceAuthPayloadV3({'deviceId':this[_0xe15dc(0xf7)+_0xe15dc(0x16b)]['deviceId'],'clientId':_0x10b52f[_0xe15dc(0x121)],'clientMode':_0x10b52f['clientMo'+'de'],'role':_0x4c3ca4,'scopes':_0x4afe15,'signedAtMs':_0x3a0ed7,'token':_0x52e642||null,'nonce':_0x3d87c0,'platform':process['platform'],'deviceFamily':_0x10b52f['clientDe'+_0xe15dc(0xe5)+'ly']}),_0x37a149={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0x10b52f['clientId'],'displayName':_0x10b52f[_0xe15dc(0x11b)+_0xe15dc(0xd4)+'e'],'version':_0x10b52f['clientVe'+_0xe15dc(0xf5)],'platform':process[_0xe15dc(0x108)],'deviceFamily':_0x10b52f[_0xe15dc(0x174)+_0xe15dc(0xe5)+'ly'],'mode':_0x10b52f[_0xe15dc(0x17e)+'de']},'caps':[],'role':_0x4c3ca4,'scopes':_0x4afe15,'auth':_0x52e642?{'token':_0x52e642}:undefined,'device':{'id':this[_0xe15dc(0xf7)+_0xe15dc(0x16b)][_0xe15dc(0xf7)],'publicKey':publicKeyRawBase64UrlFromPem(this[_0xe15dc(0xf7)+'entity'][_0xe15dc(0xdc)+_0xe15dc(0x186)]),'signature':signDevicePayload(this[_0xe15dc(0xf7)+_0xe15dc(0x16b)]['privateK'+_0xe15dc(0x152)],_0x393769),'signedAt':_0x3a0ed7,'nonce':_0x3d87c0},'locale':Intl[_0xe15dc(0xee)+_0xe15dc(0x12e)]()[_0xe15dc(0x16a)+_0xe15dc(0x166)]()[_0xe15dc(0x102)],'userAgent':_0xe15dc(0x113)+_0xe15dc(0xe7)+_0x10b52f[_0xe15dc(0x11e)+_0xe15dc(0xf5)]};try{await this[_0xe15dc(0x112)](_0xe15dc(0x10c),_0x37a149,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this[_0xe15dc(0x18d)+'d']=!![],this[_0xe15dc(0x124)+_0xe15dc(0x11a)+'Ms']=0x320,this[_0xe15dc(0xf4)+'eadyWait'+'ers'](),this['config']?.[_0xe15dc(0x162)+_0xe15dc(0x16f)]?.();}catch(_0x4d0f5e){this[_0xe15dc(0x134)+'sconnect'](_0x4d0f5e instanceof Error?_0x4d0f5e[_0xe15dc(0x151)]:_0xe15dc(0x191)+'WS\x20conne'+_0xe15dc(0x150)+'d'),this['ws']?.['close'](0x3f0,_0xe15dc(0x123)+_0xe15dc(0x110));}}[_0x3768ca(0x178)+_0x3768ca(0xd8)](_0x29435b){const _0x88c1fe=_0x3768ca;let _0x43ef4d;try{_0x43ef4d=JSON[_0x88c1fe(0x17c)](_0x29435b);}catch{return;}if(!isRecord(_0x43ef4d)||typeof _0x43ef4d[_0x88c1fe(0xf3)]!==_0x88c1fe(0x153))return;if(_0x43ef4d[_0x88c1fe(0xf3)]===_0x88c1fe(0x133)){const _0x90d9dc=typeof _0x43ef4d[_0x88c1fe(0x133)]===_0x88c1fe(0x153)?_0x43ef4d[_0x88c1fe(0x133)]:'';if(!_0x90d9dc)return;const _0x25e492=isRecord(_0x43ef4d[_0x88c1fe(0x18f)])?_0x43ef4d[_0x88c1fe(0x18f)]:{};if(_0x90d9dc===_0x88c1fe(0x109)+_0x88c1fe(0x111)+'e'){const _0x3b8453=typeof _0x25e492[_0x88c1fe(0x130)]==='string'?_0x25e492[_0x88c1fe(0x130)][_0x88c1fe(0xeb)]():'';if(!_0x3b8453){this[_0x88c1fe(0x134)+_0x88c1fe(0x131)](_0x88c1fe(0x191)+_0x88c1fe(0x13a)+_0x88c1fe(0x167)+_0x88c1fe(0x118)+'ce'),this['ws']?.[_0x88c1fe(0x115)](0x3f0,_0x88c1fe(0x123)+_0x88c1fe(0x111)+_0x88c1fe(0x161)+'g\x20nonce');return;}this[_0x88c1fe(0xfd)+_0x88c1fe(0xd9)]=_0x3b8453,void this[_0x88c1fe(0x156)+'ect']();return;}if(_0x90d9dc===_0x88c1fe(0xd7))this[_0x88c1fe(0x171)]?.[_0x88c1fe(0x122)+_0x88c1fe(0x129)]?.(_0x25e492);if(_0x90d9dc===_0x88c1fe(0xf2))this['config']?.[_0x88c1fe(0x16d)+_0x88c1fe(0x18c)]?.(_0x25e492);return;}if(_0x43ef4d[_0x88c1fe(0xf3)]!==_0x88c1fe(0x13d))return;const _0x5c2637=typeof _0x43ef4d['id']===_0x88c1fe(0x153)?_0x43ef4d['id']:'';if(!_0x5c2637)return;const _0x4cfd0a=this[_0x88c1fe(0x132)][_0x88c1fe(0xfc)](_0x5c2637);if(!_0x4cfd0a)return;const _0x12e3d5=isRecord(_0x43ef4d[_0x88c1fe(0x18f)])?_0x43ef4d[_0x88c1fe(0x18f)]:{},_0x47a115=typeof _0x12e3d5[_0x88c1fe(0x184)]===_0x88c1fe(0x153)?_0x12e3d5[_0x88c1fe(0x184)]:'';if(_0x4cfd0a['expectFi'+_0x88c1fe(0x163)]&&_0x47a115===_0x88c1fe(0x165))return;this[_0x88c1fe(0x132)][_0x88c1fe(0x12a)](_0x5c2637);_0x4cfd0a[_0x88c1fe(0xff)]&&(clearTimeout(_0x4cfd0a[_0x88c1fe(0xff)]),_0x4cfd0a[_0x88c1fe(0xff)]=null);if(_0x43ef4d['ok']===!![]){_0x4cfd0a[_0x88c1fe(0x11f)](_0x43ef4d[_0x88c1fe(0x18f)]);return;}const _0x113d73=isRecord(_0x43ef4d['error'])?_0x43ef4d['error']:{},_0x29642a=typeof _0x113d73[_0x88c1fe(0x151)]==='string'?_0x113d73[_0x88c1fe(0x151)]:_0x88c1fe(0x191)+'request\x20'+_0x88c1fe(0x148)+_0x4cfd0a['method'];_0x4cfd0a[_0x88c1fe(0x17a)](new Error(_0x29642a));}[_0x3768ca(0x120)+_0x3768ca(0x14c)](_0x45d6ae=0x2ee0){const _0x39ef7e=_0x3768ca;if(this[_0x39ef7e(0x18d)+'d'])return Promise[_0x39ef7e(0x11f)]();if(!this[_0x39ef7e(0x171)])return Promise[_0x39ef7e(0x17a)](new Error(_0x39ef7e(0x191)+_0x39ef7e(0x17d)+_0x39ef7e(0x147)+_0x39ef7e(0x14a)));if(!this['ws'])this[_0x39ef7e(0x10c)]();return new Promise((_0x20ac42,_0x4c4860)=>{const _0x3b73b4=_0x39ef7e,_0x43b278=setTimeout(()=>{const _0x359388=_0x1ccb;this[_0x359388(0xf8)+'ters']=this[_0x359388(0xf8)+_0x359388(0x119)][_0x359388(0x107)](_0x345992=>_0x345992[_0x359388(0x11f)]!==_0x20ac42),_0x4c4860(new Error(_0x359388(0x191)+_0x359388(0xd1)+_0x359388(0x145)+_0x359388(0x172)));},_0x45d6ae);this['readyWai'+_0x3b73b4(0x119)]['push']({'resolve':_0x20ac42,'reject':_0x4c4860,'timeout':_0x43b278});});}[_0x3768ca(0xf4)+_0x3768ca(0xda)+_0x3768ca(0x15b)](){const _0x3b72be=_0x3768ca,_0xe14735=[...this[_0x3b72be(0xf8)+_0x3b72be(0x119)]];this['readyWai'+_0x3b72be(0x119)]=[];for(const _0x2ff607 of _0xe14735){clearTimeout(_0x2ff607[_0x3b72be(0xff)]),_0x2ff607[_0x3b72be(0x11f)]();}}[_0x3768ca(0xd3)+_0x3768ca(0xe0)+'rs'](_0x59d2e2){const _0x6b5120=_0x3768ca,_0x1e7347=[...this[_0x6b5120(0xf8)+_0x6b5120(0x119)]];this[_0x6b5120(0xf8)+_0x6b5120(0x119)]=[];for(const _0xfc845f of _0x1e7347){clearTimeout(_0xfc845f['timeout']),_0xfc845f[_0x6b5120(0x17a)](_0x59d2e2);}}['rejectPe'+_0x3768ca(0xde)](_0x4225c9){const _0x515684=_0x3768ca;for(const [_0x32e18d,_0x2be439]of this['pending'][_0x515684(0x142)]()){this['pending']['delete'](_0x32e18d),_0x2be439['timeout']&&(clearTimeout(_0x2be439[_0x515684(0xff)]),_0x2be439[_0x515684(0xff)]=null),_0x2be439[_0x515684(0x17a)](_0x4225c9);}}[_0x3768ca(0x134)+'sconnect'](_0x467f50){const _0x4c245c=_0x3768ca;this['ws']&&(this['ws']['removeAl'+'lListene'+'rs'](),this['ws']=null);this[_0x4c245c(0x18d)+'d']=![],this[_0x4c245c(0xfd)+_0x4c245c(0xd9)]=null,this[_0x4c245c(0x18a)+_0x4c245c(0x129)]=![],this[_0x4c245c(0x176)+_0x4c245c(0xde)](new Error(_0x467f50||_0x4c245c(0x191)+'WS\x20disco'+_0x4c245c(0xe3))),this['rejectRe'+_0x4c245c(0xe0)+'rs'](new Error(_0x467f50||_0x4c245c(0x191)+_0x4c245c(0x104)+_0x4c245c(0xe3))),this[_0x4c245c(0x149)+'ers']();if(_0x467f50)this[_0x4c245c(0x171)]?.[_0x4c245c(0x182)+_0x4c245c(0x141)]?.(_0x467f50);if(!this[_0x4c245c(0xe2)+_0x4c245c(0x10c)]||!this[_0x4c245c(0x171)])return;const _0x510827=this[_0x4c245c(0x124)+'tBackoff'+'Ms'];this[_0x4c245c(0x124)+_0x4c245c(0x11a)+'Ms']=Math[_0x4c245c(0xe8)](this[_0x4c245c(0x124)+_0x4c245c(0x11a)+'Ms']*0x2,0x3a98),this[_0x4c245c(0x124)+_0x4c245c(0xe9)]=setTimeout(()=>{const _0x4a4d57=_0x4c245c;this['reconnec'+_0x4a4d57(0xe9)]=null,this[_0x4a4d57(0x10c)]();},_0x510827);}['clearTim'+'ers'](){const _0x302cb9=_0x3768ca;this[_0x302cb9(0x124)+_0x302cb9(0xe9)]&&(clearTimeout(this[_0x302cb9(0x124)+'tTimer']),this['reconnec'+_0x302cb9(0xe9)]=null),this[_0x302cb9(0xed)+_0x302cb9(0x188)+'Timer']&&(clearTimeout(this[_0x302cb9(0xed)+_0x302cb9(0x188)+_0x302cb9(0xdf)]),this[_0x302cb9(0xed)+_0x302cb9(0x188)+_0x302cb9(0xdf)]=null);}}
1
+ const _0x50ec13=_0x4985;(function(_0x2f5e2b,_0x101447){const _0xb2141e=_0x4985,_0xc87359=_0x2f5e2b();while(!![]){try{const _0xe58d01=-parseInt(_0xb2141e(0x1ad))/0x1+parseInt(_0xb2141e(0x17b))/0x2+parseInt(_0xb2141e(0x190))/0x3*(-parseInt(_0xb2141e(0x192))/0x4)+-parseInt(_0xb2141e(0x146))/0x5+parseInt(_0xb2141e(0x178))/0x6*(-parseInt(_0xb2141e(0x1b5))/0x7)+-parseInt(_0xb2141e(0x1b1))/0x8+parseInt(_0xb2141e(0x171))/0x9*(parseInt(_0xb2141e(0x1c4))/0xa);if(_0xe58d01===_0x101447)break;else _0xc87359['push'](_0xc87359['shift']());}catch(_0x158863){_0xc87359['push'](_0xc87359['shift']());}}}(_0x13d5,0x641e3));import{Buffer}from'node:buffer';import{createHash,createPrivateKey,createPublicKey,generateKeyPairSync,randomUUID,sign}from'node:crypto';import{chmodSync,existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import _0x43d579 from'ws';const ED25519_SPKI_PREFIX=Buffer[_0x50ec13(0x126)](_0x50ec13(0x15a)+_0x50ec13(0x18f)+'70032100',_0x50ec13(0x135)),BASE64_PADDING_REGEX=/=+$/g,UPPERCASE_ASCII_REGEX=/[A-Z]/g;function isRecord(_0x188989){const _0x552269=_0x50ec13;return Boolean(_0x188989)&&typeof _0x188989===_0x552269(0x169)&&!Array['isArray'](_0x188989);}function _0x4985(_0xae1515,_0x5b075d){_0xae1515=_0xae1515-0x11c;const _0x13d5c3=_0x13d5();let _0x498552=_0x13d5c3[_0xae1515];return _0x498552;}function formatUnknownError(_0x58ddcb){const _0xafcfe5=_0x50ec13;if(_0x58ddcb instanceof Error)return _0x58ddcb[_0xafcfe5(0x162)];return String(_0x58ddcb??'');}function isLocalGatewayConnRefused(_0x2967dc){const _0x577c9a=_0x50ec13,_0x5cc13a=formatUnknownError(_0x2967dc);return/\bECONNREFUSED\b/i[_0x577c9a(0x172)](_0x5cc13a)&&/127\.0\.0\.1:\d+/[_0x577c9a(0x172)](_0x5cc13a);}function base64UrlEncode(_0x19bc43){const _0x4f89c7=_0x50ec13;return _0x19bc43[_0x4f89c7(0x134)](_0x4f89c7(0x16d))[_0x4f89c7(0x16c)+'ll']('+','-')[_0x4f89c7(0x16c)+'ll']('/','_')[_0x4f89c7(0x191)](BASE64_PADDING_REGEX,'');}function _0x13d5(){const _0x3101c8=['restart','stop','nected','Options','entity','removeAl','ell/','challeng','spki','rejectRe','subarray','o\x20send\x20g','clientId','302a3005','lengeTim','reject','fromChar','clientMo','get','identity','handleDi','message','onChatEv','pending','token','url','nectChal','hallenge','object','privateK','request','replaceA','base64','failed\x20t','set','hake\x20mis','18347922VffBlb','test','queueCon','ssage','agent','config','isBuffer','115146oKvrJb','t\x20connec','nonce','1223970dwRaiD','ters','pkcs8','min','error','join','push','connectN','sendConn','DateTime','string','yCheck','now','delete','digest','request\x20','nding','gateway\x20','failed','tBackoff','06032b65','129852UuSDoR','replace','24hDFEMx','is\x20not\x20l','payload','WS\x20error','send','once','trim','connecte','resolved','WS\x20disco','ent','WS\x20hands','deviceId','der','code=','clientDi','connect','event','lReady','adyWaite','ct\x20faile','deviceFa','operator','timeout','resolveR','WS\x20clien','onConnec','610596vkzRYj','filter','eadyWait','shouldRe','375432vcatay','WS\x20conne','connect.','sconnect','280cpKiOt','初始化\x20gate','length','connect\x20','platform','stringif','connectS','scopes','viceFami','wujie-sh','ateway\x20r','eyPem','timeoutM','nal','clientDe','10hjNHnt','clientVe','export','method','update','timed\x20ou','utf8','WS\x20is\x20no','tTimer','rsion','chat','failed:\x20','handleMe','o\x20load\x20g','nnected','charCode','rejectPe','ers','Code','ting','configur','yPem','onDiscon','med\x20out','status','type','vent','Timer','ction\x20ti','from','device\x20i','.approva','g\x20nonce','sha256','res','e\x20timeou','close','readyWai','pem','connectC','Path','clearTim','.write','toString','hex','OPEN','e\x20missin','parse','sing\x20non','mily','t:\x20','resolve','terminat','eout','WS\x20close','open','reconnec','equals','ect','waitUnti','t\x20stoppe','2778455BAoPqF','role','readySta','publicKe','ted','expectFi','t\x20restar'];_0x13d5=function(){return _0x3101c8;};return _0x13d5();}function derivePublicKeyRaw(_0x5c6921){const _0x471cf0=_0x50ec13,_0x332ec4=createPublicKey(_0x5c6921)['export']({'type':_0x471cf0(0x155),'format':_0x471cf0(0x19f)}),_0xc09ca3=Buffer[_0x471cf0(0x177)](_0x332ec4)?_0x332ec4:Buffer['from'](_0x332ec4),_0x2a2a55=_0xc09ca3['length']===ED25519_SPKI_PREFIX[_0x471cf0(0x1b7)]+0x20&&_0xc09ca3[_0x471cf0(0x157)](0x0,ED25519_SPKI_PREFIX[_0x471cf0(0x1b7)])[_0x471cf0(0x142)](ED25519_SPKI_PREFIX);return _0x2a2a55?_0xc09ca3[_0x471cf0(0x157)](ED25519_SPKI_PREFIX['length']):_0xc09ca3;}function fingerprintPublicKey(_0x41380a){const _0x44b17c=_0x50ec13;return createHash(_0x44b17c(0x12a))[_0x44b17c(0x1c8)](derivePublicKeyRaw(_0x41380a))[_0x44b17c(0x189)](_0x44b17c(0x135));}function publicKeyRawBase64UrlFromPem(_0x730f18){return base64UrlEncode(derivePublicKeyRaw(_0x730f18));}function signDevicePayload(_0x23167c,_0x38b4c0){const _0x284c5d=_0x50ec13,_0x237b1b=createPrivateKey(_0x23167c);return base64UrlEncode(sign(null,Buffer[_0x284c5d(0x126)](_0x38b4c0,'utf8'),_0x237b1b));}function normalizeDeviceMetadataForAuth(_0x5c2103){const _0x37f897=_0x50ec13,_0x1d9b10=typeof _0x5c2103===_0x37f897(0x185)?_0x5c2103['trim']():'';if(!_0x1d9b10)return'';return _0x1d9b10[_0x37f897(0x191)](UPPERCASE_ASCII_REGEX,_0x194a03=>String[_0x37f897(0x15d)+_0x37f897(0x1d6)](_0x194a03[_0x37f897(0x1d3)+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x1fb0f3){const _0x1502af=_0x50ec13;return['v3',_0x1fb0f3['deviceId'],_0x1fb0f3[_0x1502af(0x159)],_0x1fb0f3[_0x1502af(0x15e)+'de'],_0x1fb0f3[_0x1502af(0x147)],_0x1fb0f3[_0x1502af(0x1bc)]['join'](','),String(_0x1fb0f3['signedAt'+'Ms']),_0x1fb0f3[_0x1502af(0x165)]??'',_0x1fb0f3[_0x1502af(0x17a)],normalizeDeviceMetadataForAuth(_0x1fb0f3[_0x1502af(0x1b9)]),normalizeDeviceMetadataForAuth(_0x1fb0f3[_0x1502af(0x1a7)+_0x1502af(0x13a)])][_0x1502af(0x180)]('|');}function writeIdentityFile(_0x1baebf,_0x5025f8,_0x1c384f){const _0x541889=_0x50ec13;mkdirSync(dirname(_0x1baebf),{'recursive':!![]}),writeFileSync(_0x1baebf,JSON[_0x541889(0x1ba)+'y']({'version':0x1,..._0x5025f8,'createdAtMs':_0x1c384f},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0x1baebf,0x180);}catch{}}function generateDeviceIdentity(){const _0x3bf4df=_0x50ec13,{publicKey:_0x4cae4e,privateKey:_0x3b8568}=generateKeyPairSync('ed25519'),_0x38b435=_0x4cae4e[_0x3bf4df(0x1c6)]({'type':_0x3bf4df(0x155),'format':_0x3bf4df(0x12f)})['toString'](),_0x3870ea=_0x3b8568[_0x3bf4df(0x1c6)]({'type':_0x3bf4df(0x17d),'format':'pem'})[_0x3bf4df(0x134)]();return{'deviceId':fingerprintPublicKey(_0x38b435),'publicKeyPem':_0x38b435,'privateKeyPem':_0x3870ea};}function loadOrCreateDeviceIdentity(_0x22fc33){const _0x16d885=_0x50ec13;if(existsSync(_0x22fc33))try{const _0x491f74=JSON[_0x16d885(0x138)](readFileSync(_0x22fc33,_0x16d885(0x1ca))),_0x428279=typeof _0x491f74?.[_0x16d885(0x149)+_0x16d885(0x11e)]===_0x16d885(0x185)?_0x491f74[_0x16d885(0x149)+_0x16d885(0x11e)]:'',_0x51f17e=typeof _0x491f74?.['privateK'+_0x16d885(0x1c0)]===_0x16d885(0x185)?_0x491f74[_0x16d885(0x16a)+'eyPem']:'';if(_0x428279&&_0x51f17e){const _0x50482e={'deviceId':fingerprintPublicKey(_0x428279),'publicKeyPem':_0x428279,'privateKeyPem':_0x51f17e};return _0x491f74?.[_0x16d885(0x19e)]!==_0x50482e['deviceId']&&writeIdentityFile(_0x22fc33,_0x50482e,Date[_0x16d885(0x187)]()),_0x50482e;}}catch{}const _0x2f3be5=generateDeviceIdentity();return writeIdentityFile(_0x22fc33,_0x2f3be5,Date['now']()),_0x2f3be5;}export class ClawGatewayWsClient{['ws']=null;['config']=null;[_0x50ec13(0x164)]=new Map();[_0x50ec13(0x12e)+'ters']=[];[_0x50ec13(0x1b0)+_0x50ec13(0x1a2)]=![];['reconnec'+'tTimer']=null;[_0x50ec13(0x130)+_0x50ec13(0x168)+_0x50ec13(0x124)]=null;[_0x50ec13(0x182)+_0x50ec13(0x197)]=null;['connectS'+_0x50ec13(0x19c)]=![];[_0x50ec13(0x199)+'d']=![];[_0x50ec13(0x141)+_0x50ec13(0x18e)+'Ms']=0x320;[_0x50ec13(0x19e)+'entity']=null;[_0x50ec13(0x11d)+'e'](_0x39c34c){const _0x4464b4=_0x50ec13;if(!_0x39c34c){this['stop']();return;}const _0x32d0c5=this['config'];this[_0x4464b4(0x176)]=_0x39c34c,this['shouldRe'+_0x4464b4(0x1a2)]=!![];try{this[_0x4464b4(0x19e)+_0x4464b4(0x151)]=loadOrCreateDeviceIdentity(_0x39c34c[_0x4464b4(0x160)+'Path']);}catch(_0x18f7ca){const _0x2d1a31=_0x18f7ca instanceof Error?_0x18f7ca[_0x4464b4(0x162)]:_0x4464b4(0x1b6)+'way\x20设备身份'+'失败';this[_0x4464b4(0x14e)](),_0x39c34c[_0x4464b4(0x11f)+_0x4464b4(0x14f)](_0x2d1a31);return;}const _0x2d7aa1=!_0x32d0c5||_0x32d0c5[_0x4464b4(0x166)]!==_0x39c34c[_0x4464b4(0x166)]||_0x32d0c5['token']!==_0x39c34c[_0x4464b4(0x165)]||_0x32d0c5['clientId']!==_0x39c34c['clientId']||_0x32d0c5['clientMo'+'de']!==_0x39c34c['clientMo'+'de']||_0x32d0c5[_0x4464b4(0x1c5)+'rsion']!==_0x39c34c[_0x4464b4(0x1c5)+_0x4464b4(0x1cd)]||_0x32d0c5[_0x4464b4(0x160)+_0x4464b4(0x131)]!==_0x39c34c[_0x4464b4(0x160)+_0x4464b4(0x131)];if(_0x2d7aa1){this[_0x4464b4(0x14d)]();return;}if(!this['ws'])this[_0x4464b4(0x1a2)]();}['stop'](){const _0x14ae12=_0x50ec13;this[_0x14ae12(0x1b0)+_0x14ae12(0x1a2)]=![],this['connecte'+'d']=![],this[_0x14ae12(0x182)+'once']=null,this['connectS'+_0x14ae12(0x19c)]=![],this[_0x14ae12(0x132)+_0x14ae12(0x1d5)](),this['rejectPe'+_0x14ae12(0x18b)](new Error('gateway\x20'+_0x14ae12(0x1ab)+_0x14ae12(0x145)+'d')),this['rejectRe'+_0x14ae12(0x1a5)+'rs'](new Error('gateway\x20'+'WS\x20clien'+_0x14ae12(0x145)+'d'));if(this['ws']){try{this['ws'][_0x14ae12(0x12d)]();}catch{}this['ws']=null;}this[_0x14ae12(0x19e)+_0x14ae12(0x151)]=null,this[_0x14ae12(0x176)]=null;}async[_0x50ec13(0x16b)](_0x2ef361,_0x3aaeee={},_0x53200e={}){const _0x88cc=_0x50ec13;if(!_0x53200e['skipRead'+_0x88cc(0x186)])await this['waitUnti'+_0x88cc(0x1a4)]();const _0x3640bc=this['ws'];if(!_0x3640bc||_0x3640bc['readySta'+'te']!==_0x43d579[_0x88cc(0x136)])throw new Error(_0x88cc(0x18c)+'WS\x20is\x20no'+_0x88cc(0x179)+_0x88cc(0x14a));const _0x183790=randomUUID(),_0x1c8f0c=_0x53200e[_0x88cc(0x1c1)+'s']??0x7530;return await new Promise((_0x1a99ce,_0xe66cf2)=>{const _0x535c8e=_0x88cc,_0x40560f=setTimeout(()=>{const _0x193761=_0x4985;this[_0x193761(0x164)][_0x193761(0x188)](_0x183790),_0xe66cf2(new Error(_0x193761(0x18c)+_0x193761(0x18a)+_0x193761(0x1c9)+_0x193761(0x13b)+_0x2ef361));},_0x1c8f0c);this[_0x535c8e(0x164)][_0x535c8e(0x16f)](_0x183790,{'method':_0x2ef361,'resolve':_0x28c8d1=>{clearTimeout(_0x40560f),_0x1a99ce(_0x28c8d1);},'reject':_0x5398b1=>{clearTimeout(_0x40560f),_0xe66cf2(_0x5398b1);},'expectFinal':_0x53200e[_0x535c8e(0x14b)+'nal']===!![],'timeout':_0x40560f});try{_0x3640bc[_0x535c8e(0x196)](JSON[_0x535c8e(0x1ba)+'y']({'type':'req','id':_0x183790,'method':_0x2ef361,'params':_0x3aaeee}));}catch(_0x437c99){this[_0x535c8e(0x164)][_0x535c8e(0x188)](_0x183790),clearTimeout(_0x40560f),_0xe66cf2(_0x437c99 instanceof Error?_0x437c99:new Error(_0x535c8e(0x16e)+_0x535c8e(0x158)+_0x535c8e(0x1bf)+'equest'));}});}['restart'](){const _0x11675a=_0x50ec13;this[_0x11675a(0x199)+'d']=![],this[_0x11675a(0x182)+_0x11675a(0x197)]=null,this[_0x11675a(0x1bb)+'ent']=![],this[_0x11675a(0x132)+_0x11675a(0x1d5)](),this['rejectPe'+_0x11675a(0x18b)](new Error(_0x11675a(0x18c)+_0x11675a(0x1ab)+_0x11675a(0x14c)+_0x11675a(0x11c))),this['rejectRe'+_0x11675a(0x1a5)+'rs'](new Error(_0x11675a(0x18c)+_0x11675a(0x1ab)+_0x11675a(0x14c)+'ting'));if(this['ws']){try{this['ws'][_0x11675a(0x13d)+'e']();}catch{}this['ws']=null;}this['connect']();}[_0x50ec13(0x1a2)](){const _0x258dbb=_0x50ec13;if(!this['config']||this['ws'])return;const _0x547989=new _0x43d579(this[_0x258dbb(0x176)][_0x258dbb(0x166)]);this['ws']=_0x547989,_0x547989['on'](_0x258dbb(0x140),()=>this[_0x258dbb(0x173)+_0x258dbb(0x167)+_0x258dbb(0x15b)+'eout']()),_0x547989['on'](_0x258dbb(0x162),_0x3060ed=>this['handleMe'+_0x258dbb(0x174)](_0x3060ed['toString']())),_0x547989['on']('close',(_0x2fc675,_0x1c7fab)=>{const _0x42c08a=_0x258dbb;if(this[_0x42c08a(0x199)+'d']){const _0x5e3d47=_0x1c7fab[_0x42c08a(0x134)]()||_0x42c08a(0x1a0)+_0x2fc675;this[_0x42c08a(0x161)+_0x42c08a(0x1b4)](_0x42c08a(0x18c)+_0x42c08a(0x13f)+'d\x20('+_0x5e3d47+')');}else this[_0x42c08a(0x161)+'sconnect']('');}),_0x547989['on'](_0x258dbb(0x17f),_0x35b4d2=>{const _0x5641e4=_0x258dbb;if(isLocalGatewayConnRefused(_0x35b4d2)){this[_0x5641e4(0x161)+_0x5641e4(0x1b4)]('gateway\x20'+_0x5641e4(0x193)+'istening'+'\x20yet');return;}const _0x4d0da2=formatUnknownError(_0x35b4d2);this[_0x5641e4(0x161)+_0x5641e4(0x1b4)](_0x4d0da2?_0x5641e4(0x18c)+_0x5641e4(0x195)+':\x20'+_0x4d0da2:'gateway\x20'+_0x5641e4(0x195));});}[_0x50ec13(0x173)+_0x50ec13(0x167)+_0x50ec13(0x15b)+_0x50ec13(0x13e)](){const _0x56d8dc=_0x50ec13;this['connectN'+_0x56d8dc(0x197)]=null,this[_0x56d8dc(0x1bb)+_0x56d8dc(0x19c)]=![];if(this['connectC'+_0x56d8dc(0x168)+_0x56d8dc(0x124)])clearTimeout(this[_0x56d8dc(0x130)+_0x56d8dc(0x168)+_0x56d8dc(0x124)]);this[_0x56d8dc(0x130)+'hallenge'+_0x56d8dc(0x124)]=setTimeout(()=>{const _0x1294d6=_0x56d8dc;if(this[_0x1294d6(0x1bb)+'ent']||!this['ws']||this['ws'][_0x1294d6(0x148)+'te']!==_0x43d579['OPEN'])return;this[_0x1294d6(0x161)+_0x1294d6(0x1b4)]('gateway\x20'+_0x1294d6(0x19d)+'hake\x20tim'+'ed\x20out'),this['ws']?.['close'](0x3f0,_0x1294d6(0x1b8)+_0x1294d6(0x154)+_0x1294d6(0x12c)+'t');},0x7d0);}async[_0x50ec13(0x183)+'ect'](){const _0x7eecfa=_0x50ec13,_0x36d37b=this[_0x7eecfa(0x176)];if(!_0x36d37b||this[_0x7eecfa(0x1bb)+_0x7eecfa(0x19c)])return;const _0xf539c9=this[_0x7eecfa(0x182)+_0x7eecfa(0x197)]?.[_0x7eecfa(0x198)]()??'';if(!_0xf539c9){this[_0x7eecfa(0x161)+_0x7eecfa(0x1b4)](_0x7eecfa(0x18c)+_0x7eecfa(0x19d)+'hake\x20mis'+_0x7eecfa(0x139)+'ce'),this['ws']?.[_0x7eecfa(0x12d)](0x3f0,_0x7eecfa(0x1b8)+_0x7eecfa(0x154)+_0x7eecfa(0x137)+_0x7eecfa(0x129));return;}this[_0x7eecfa(0x1bb)+_0x7eecfa(0x19c)]=!![];this[_0x7eecfa(0x130)+_0x7eecfa(0x168)+_0x7eecfa(0x124)]&&(clearTimeout(this[_0x7eecfa(0x130)+'hallenge'+'Timer']),this['connectC'+'hallenge'+_0x7eecfa(0x124)]=null);if(!this[_0x7eecfa(0x19e)+_0x7eecfa(0x151)])try{this[_0x7eecfa(0x19e)+'entity']=loadOrCreateDeviceIdentity(_0x36d37b[_0x7eecfa(0x160)+_0x7eecfa(0x131)]);}catch(_0x153662){this['handleDi'+_0x7eecfa(0x1b4)](_0x153662 instanceof Error?_0x153662[_0x7eecfa(0x162)]:'failed\x20t'+_0x7eecfa(0x1d1)+'ateway\x20i'+'dentity'),this['ws']?.[_0x7eecfa(0x12d)](0x3f0,_0x7eecfa(0x127)+'dentity\x20'+'unavaila'+'ble');return;}const _0x79f236='operator',_0x5acd7f=[_0x7eecfa(0x1a8)+'.read',_0x7eecfa(0x1a8)+_0x7eecfa(0x133),'operator'+'.admin','operator'+_0x7eecfa(0x128)+'ls','operator'+'.pairing'],_0x55521f=_0x36d37b[_0x7eecfa(0x165)]['trim'](),_0x32e643=Date[_0x7eecfa(0x187)](),_0x5b2339=buildDeviceAuthPayloadV3({'deviceId':this[_0x7eecfa(0x19e)+_0x7eecfa(0x151)]['deviceId'],'clientId':_0x36d37b[_0x7eecfa(0x159)],'clientMode':_0x36d37b['clientMo'+'de'],'role':_0x79f236,'scopes':_0x5acd7f,'signedAtMs':_0x32e643,'token':_0x55521f||null,'nonce':_0xf539c9,'platform':process[_0x7eecfa(0x1b9)],'deviceFamily':_0x36d37b[_0x7eecfa(0x1c3)+_0x7eecfa(0x1bd)+'ly']}),_0x292125={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0x36d37b[_0x7eecfa(0x159)],'displayName':_0x36d37b[_0x7eecfa(0x1a1)+'splayNam'+'e'],'version':_0x36d37b[_0x7eecfa(0x1c5)+_0x7eecfa(0x1cd)],'platform':process[_0x7eecfa(0x1b9)],'deviceFamily':_0x36d37b[_0x7eecfa(0x1c3)+_0x7eecfa(0x1bd)+'ly'],'mode':_0x36d37b[_0x7eecfa(0x15e)+'de']},'caps':[],'role':_0x79f236,'scopes':_0x5acd7f,'auth':_0x55521f?{'token':_0x55521f}:undefined,'device':{'id':this['deviceId'+'entity'][_0x7eecfa(0x19e)],'publicKey':publicKeyRawBase64UrlFromPem(this[_0x7eecfa(0x19e)+_0x7eecfa(0x151)][_0x7eecfa(0x149)+_0x7eecfa(0x11e)]),'signature':signDevicePayload(this[_0x7eecfa(0x19e)+_0x7eecfa(0x151)]['privateK'+_0x7eecfa(0x1c0)],_0x5b2339),'signedAt':_0x32e643,'nonce':_0xf539c9},'locale':Intl[_0x7eecfa(0x184)+'Format']()[_0x7eecfa(0x19a)+_0x7eecfa(0x150)]()['locale'],'userAgent':_0x7eecfa(0x1be)+_0x7eecfa(0x153)+_0x36d37b[_0x7eecfa(0x1c5)+_0x7eecfa(0x1cd)]};try{await this['request'](_0x7eecfa(0x1a2),_0x292125,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this[_0x7eecfa(0x199)+'d']=!![],this[_0x7eecfa(0x141)+'tBackoff'+'Ms']=0x320,this[_0x7eecfa(0x1aa)+'eadyWait'+'ers'](),this['config']?.[_0x7eecfa(0x1ac)+'ted']?.();}catch(_0x27eb15){this[_0x7eecfa(0x161)+_0x7eecfa(0x1b4)](_0x27eb15 instanceof Error?_0x27eb15['message']:_0x7eecfa(0x18c)+_0x7eecfa(0x1b2)+_0x7eecfa(0x1a6)+'d'),this['ws']?.[_0x7eecfa(0x12d)](0x3f0,_0x7eecfa(0x1b8)+_0x7eecfa(0x18d));}}[_0x50ec13(0x1d0)+_0x50ec13(0x174)](_0x514d23){const _0x5b855a=_0x50ec13;let _0x915a05;try{_0x915a05=JSON[_0x5b855a(0x138)](_0x514d23);}catch{return;}if(!isRecord(_0x915a05)||typeof _0x915a05['type']!=='string')return;if(_0x915a05['type']==='event'){const _0x586c17=typeof _0x915a05['event']==='string'?_0x915a05[_0x5b855a(0x1a3)]:'';if(!_0x586c17)return;const _0x2b06bf=isRecord(_0x915a05[_0x5b855a(0x194)])?_0x915a05[_0x5b855a(0x194)]:{};if(_0x586c17===_0x5b855a(0x1b3)+'challeng'+'e'){const _0x4d96e6=typeof _0x2b06bf[_0x5b855a(0x17a)]===_0x5b855a(0x185)?_0x2b06bf[_0x5b855a(0x17a)][_0x5b855a(0x198)]():'';if(!_0x4d96e6){this[_0x5b855a(0x161)+_0x5b855a(0x1b4)]('gateway\x20'+_0x5b855a(0x19d)+_0x5b855a(0x170)+_0x5b855a(0x139)+'ce'),this['ws']?.[_0x5b855a(0x12d)](0x3f0,_0x5b855a(0x1b8)+_0x5b855a(0x154)+_0x5b855a(0x137)+'g\x20nonce');return;}this['connectN'+_0x5b855a(0x197)]=_0x4d96e6,void this['sendConn'+_0x5b855a(0x143)]();return;}if(_0x586c17===_0x5b855a(0x1ce))this[_0x5b855a(0x176)]?.[_0x5b855a(0x163)+_0x5b855a(0x19c)]?.(_0x2b06bf);if(_0x586c17===_0x5b855a(0x175))this[_0x5b855a(0x176)]?.['onAgentE'+_0x5b855a(0x123)]?.(_0x2b06bf);return;}if(_0x915a05[_0x5b855a(0x122)]!==_0x5b855a(0x12b))return;const _0x33ebd9=typeof _0x915a05['id']===_0x5b855a(0x185)?_0x915a05['id']:'';if(!_0x33ebd9)return;const _0x26d4d2=this[_0x5b855a(0x164)][_0x5b855a(0x15f)](_0x33ebd9);if(!_0x26d4d2)return;const _0x3d8448=isRecord(_0x915a05[_0x5b855a(0x194)])?_0x915a05[_0x5b855a(0x194)]:{},_0x4fc12e=typeof _0x3d8448[_0x5b855a(0x121)]===_0x5b855a(0x185)?_0x3d8448['status']:'';if(_0x26d4d2[_0x5b855a(0x14b)+_0x5b855a(0x1c2)]&&_0x4fc12e==='accepted')return;this[_0x5b855a(0x164)]['delete'](_0x33ebd9);_0x26d4d2[_0x5b855a(0x1a9)]&&(clearTimeout(_0x26d4d2[_0x5b855a(0x1a9)]),_0x26d4d2['timeout']=null);if(_0x915a05['ok']===!![]){_0x26d4d2[_0x5b855a(0x13c)](_0x915a05[_0x5b855a(0x194)]);return;}const _0xa0f5c5=isRecord(_0x915a05[_0x5b855a(0x17f)])?_0x915a05[_0x5b855a(0x17f)]:{},_0x380011=typeof _0xa0f5c5[_0x5b855a(0x162)]===_0x5b855a(0x185)?_0xa0f5c5[_0x5b855a(0x162)]:_0x5b855a(0x18c)+'request\x20'+_0x5b855a(0x1cf)+_0x26d4d2[_0x5b855a(0x1c7)];_0x26d4d2['reject'](new Error(_0x380011));}[_0x50ec13(0x144)+'lReady'](_0x451f64=0x2ee0){const _0x33534a=_0x50ec13;if(this[_0x33534a(0x199)+'d'])return Promise[_0x33534a(0x13c)]();if(!this['config'])return Promise[_0x33534a(0x15c)](new Error(_0x33534a(0x18c)+_0x33534a(0x1cb)+'t\x20config'+'ured'));if(!this['ws'])this[_0x33534a(0x1a2)]();return new Promise((_0x58c31f,_0x491f54)=>{const _0x167b75=_0x33534a,_0x2b5f25=setTimeout(()=>{const _0x1cc72a=_0x4985;this[_0x1cc72a(0x12e)+_0x1cc72a(0x17c)]=this['readyWai'+_0x1cc72a(0x17c)][_0x1cc72a(0x1ae)](_0x58b1cb=>_0x58b1cb[_0x1cc72a(0x13c)]!==_0x58c31f),_0x491f54(new Error(_0x1cc72a(0x18c)+_0x1cc72a(0x1b2)+_0x1cc72a(0x125)+_0x1cc72a(0x120)));},_0x451f64);this[_0x167b75(0x12e)+_0x167b75(0x17c)][_0x167b75(0x181)]({'resolve':_0x58c31f,'reject':_0x491f54,'timeout':_0x2b5f25});});}[_0x50ec13(0x1aa)+_0x50ec13(0x1af)+'ers'](){const _0x3c9cf2=_0x50ec13,_0xb78422=[...this[_0x3c9cf2(0x12e)+_0x3c9cf2(0x17c)]];this[_0x3c9cf2(0x12e)+_0x3c9cf2(0x17c)]=[];for(const _0x4b3d9e of _0xb78422){clearTimeout(_0x4b3d9e[_0x3c9cf2(0x1a9)]),_0x4b3d9e[_0x3c9cf2(0x13c)]();}}[_0x50ec13(0x156)+_0x50ec13(0x1a5)+'rs'](_0x2c3977){const _0x1e7fa2=_0x50ec13,_0x393a0e=[...this['readyWai'+_0x1e7fa2(0x17c)]];this[_0x1e7fa2(0x12e)+_0x1e7fa2(0x17c)]=[];for(const _0x171252 of _0x393a0e){clearTimeout(_0x171252[_0x1e7fa2(0x1a9)]),_0x171252[_0x1e7fa2(0x15c)](_0x2c3977);}}['rejectPe'+_0x50ec13(0x18b)](_0x5cbb5c){const _0x495bf9=_0x50ec13;for(const [_0x3bedd9,_0x58f22c]of this[_0x495bf9(0x164)]['entries']()){this[_0x495bf9(0x164)][_0x495bf9(0x188)](_0x3bedd9),_0x58f22c[_0x495bf9(0x1a9)]&&(clearTimeout(_0x58f22c[_0x495bf9(0x1a9)]),_0x58f22c['timeout']=null),_0x58f22c[_0x495bf9(0x15c)](_0x5cbb5c);}}[_0x50ec13(0x161)+'sconnect'](_0x2b0f94){const _0x1b6091=_0x50ec13;this['ws']&&(this['ws'][_0x1b6091(0x152)+'lListene'+'rs'](),this['ws']=null);this[_0x1b6091(0x199)+'d']=![],this[_0x1b6091(0x182)+'once']=null,this[_0x1b6091(0x1bb)+_0x1b6091(0x19c)]=![],this[_0x1b6091(0x1d4)+_0x1b6091(0x18b)](new Error(_0x2b0f94||_0x1b6091(0x18c)+_0x1b6091(0x19b)+_0x1b6091(0x1d2))),this['rejectRe'+_0x1b6091(0x1a5)+'rs'](new Error(_0x2b0f94||_0x1b6091(0x18c)+_0x1b6091(0x19b)+_0x1b6091(0x1d2))),this['clearTim'+_0x1b6091(0x1d5)]();if(_0x2b0f94)this[_0x1b6091(0x176)]?.[_0x1b6091(0x11f)+_0x1b6091(0x14f)]?.(_0x2b0f94);if(!this[_0x1b6091(0x1b0)+_0x1b6091(0x1a2)]||!this[_0x1b6091(0x176)])return;const _0x5e3a49=this[_0x1b6091(0x141)+_0x1b6091(0x18e)+'Ms'];this[_0x1b6091(0x141)+_0x1b6091(0x18e)+'Ms']=Math[_0x1b6091(0x17e)](this[_0x1b6091(0x141)+'tBackoff'+'Ms']*0x2,0x3a98),this['reconnec'+'tTimer']=setTimeout(()=>{const _0x2a7daf=_0x1b6091;this[_0x2a7daf(0x141)+_0x2a7daf(0x1cc)]=null,this['connect']();},_0x5e3a49);}[_0x50ec13(0x132)+_0x50ec13(0x1d5)](){const _0xe566d=_0x50ec13;this['reconnec'+_0xe566d(0x1cc)]&&(clearTimeout(this[_0xe566d(0x141)+_0xe566d(0x1cc)]),this[_0xe566d(0x141)+_0xe566d(0x1cc)]=null),this[_0xe566d(0x130)+_0xe566d(0x168)+_0xe566d(0x124)]&&(clearTimeout(this[_0xe566d(0x130)+_0xe566d(0x168)+_0xe566d(0x124)]),this['connectC'+'hallenge'+_0xe566d(0x124)]=null);}}
@@ -1 +1 @@
1
- (function(_0x211bc0,_0x21f4ec){var _0x4ca427=_0x6791,_0x283eb6=_0x211bc0();while(!![]){try{var _0x1119c2=parseInt(_0x4ca427(0x116))/0x1*(-parseInt(_0x4ca427(0x114))/0x2)+-parseInt(_0x4ca427(0x11a))/0x3+-parseInt(_0x4ca427(0x113))/0x4+parseInt(_0x4ca427(0x117))/0x5*(-parseInt(_0x4ca427(0x11b))/0x6)+parseInt(_0x4ca427(0x115))/0x7*(parseInt(_0x4ca427(0x11c))/0x8)+-parseInt(_0x4ca427(0x119))/0x9+parseInt(_0x4ca427(0x118))/0xa*(parseInt(_0x4ca427(0x112))/0xb);if(_0x1119c2===_0x21f4ec)break;else _0x283eb6['push'](_0x283eb6['shift']());}catch(_0x527279){_0x283eb6['push'](_0x283eb6['shift']());}}}(_0x4ec0,0xa87b7));function _0x4ec0(){var _0x32996a=['1154TdJfkd','45rnCkiP','4463120kEgCHA','2047509DoWlVR','3365760MSoDPQ','844188RuqJwo','8sKFEOO','77AYEbgb','1423268DPkJnL','956jAUWll','7623357hYNDWA'];_0x4ec0=function(){return _0x32996a;};return _0x4ec0();}export{prepareRuntime,loadRuntimeInfo,spawnClaw,runClawOnce}from'./runtime.mjs';export{createConfigController}from'./config-controller.mjs';function _0x6791(_0x56859a,_0x5881d6){_0x56859a=_0x56859a-0x112;var _0x4ec008=_0x4ec0();var _0x6791f9=_0x4ec008[_0x56859a];return _0x6791f9;}export{createGatewayController}from'./gateway-controller.mjs';
1
+ (function(_0x423e20,_0x2f5eaa){var _0x1156dc=_0x13f6,_0x3c5d52=_0x423e20();while(!![]){try{var _0x299caf=parseInt(_0x1156dc(0x112))/0x1*(-parseInt(_0x1156dc(0x110))/0x2)+-parseInt(_0x1156dc(0x10d))/0x3*(-parseInt(_0x1156dc(0x111))/0x4)+-parseInt(_0x1156dc(0x10a))/0x5+parseInt(_0x1156dc(0x10e))/0x6+parseInt(_0x1156dc(0x10f))/0x7*(parseInt(_0x1156dc(0x10b))/0x8)+parseInt(_0x1156dc(0x10c))/0x9*(parseInt(_0x1156dc(0x108))/0xa)+-parseInt(_0x1156dc(0x109))/0xb;if(_0x299caf===_0x2f5eaa)break;else _0x3c5d52['push'](_0x3c5d52['shift']());}catch(_0x1253c8){_0x3c5d52['push'](_0x3c5d52['shift']());}}}(_0x29ca,0x89db9));function _0x29ca(){var _0x1fb0d2=['769844gBvACT','2824OMgYPp','50DFOzdy','3313167PmElyS','3110075LoFobD','8uwIBsx','1773693fyEhax','6hCCNMk','1482930QIltue','5062841ToYkuO','604jbFUPw'];_0x29ca=function(){return _0x1fb0d2;};return _0x29ca();}export{prepareRuntime,loadRuntimeInfo,spawnClaw,runClawOnce}from'./runtime.mjs';function _0x13f6(_0x1981fb,_0x3c72da){_0x1981fb=_0x1981fb-0x108;var _0x29cad8=_0x29ca();var _0x13f6be=_0x29cad8[_0x1981fb];return _0x13f6be;}export{createConfigController}from'./config-controller.mjs';export{createGatewayController}from'./gateway-controller.mjs';
@@ -0,0 +1 @@
1
+ const _0x5d64b1=_0x5e32;(function(_0x3cbe50,_0x3297cb){const _0xb612df=_0x5e32,_0x30753b=_0x3cbe50();while(!![]){try{const _0x4bacaf=parseInt(_0xb612df(0x9f))/0x1+-parseInt(_0xb612df(0xbf))/0x2*(parseInt(_0xb612df(0xc8))/0x3)+parseInt(_0xb612df(0x8f))/0x4+-parseInt(_0xb612df(0xb1))/0x5+-parseInt(_0xb612df(0xa6))/0x6*(-parseInt(_0xb612df(0xba))/0x7)+-parseInt(_0xb612df(0xa4))/0x8+-parseInt(_0xb612df(0x95))/0x9*(-parseInt(_0xb612df(0xc6))/0xa);if(_0x4bacaf===_0x3297cb)break;else _0x30753b['push'](_0x30753b['shift']());}catch(_0x3181f5){_0x30753b['push'](_0x30753b['shift']());}}}(_0x2f9a,0xdb1ad));import{createHash}from'node:crypto';import{spawn}from'node:child_process';import{existsSync}from'node:fs';import{cp,mkdir,rm}from'node:fs/promises';import{homedir,tmpdir}from'node:os';import{basename,dirname,isAbsolute,join,relative,resolve}from'node:path';import{createFileLogger,redactLogValue}from'@wujie-shell/logger';const LOG_MAX_BYTES=0x2*0x400*0x400,LOG_KEEP_COUNT=0x5,loggers=new Map(),CONTENT_PREVIEW_LENGTH=0xf0;export function createShellLogger(_0x24ec52,_0x2a22f9,_0x10ac32=_0x2a22f9){const _0x3e629c=_0x5e32,_0xc45824=_0x24ec52?.[_0x3e629c(0xb0)];if(!_0xc45824||!_0x2a22f9)return null;const _0x3916e7=join(_0xc45824,_0x2a22f9,_0x2a22f9+'.log'),_0x3f86dd=_0x3916e7+':'+_0x10ac32;return!loggers[_0x3e629c(0xcc)](_0x3f86dd)&&loggers[_0x3e629c(0xc7)](_0x3f86dd,createFileLogger({'filePath':_0x3916e7,'context':_0x10ac32,'maxBytes':LOG_MAX_BYTES,'keepCount':LOG_KEEP_COUNT})),loggers[_0x3e629c(0xb7)](_0x3f86dd);}function _0x2f9a(){const _0x2e85bf=['1146963YRUSJQ','catch','textPrev','\x20-Path\x20','ationPat','5675080XQorec','Command','12uJHlfe','object','trim','sPrefere','\x20-Force','-Encoded','base64','powershe','stack','sha256','logsDir','3896090HKTCkC','data','stringif','Object','replace','now','get','add','update','1291178JCIzgo','entlyCon','startsWi','ll.exe','error','631216svnaic','test','$Progres','[Circula','isArray','name','length','6070jclGQF','set','12VitZeS','cwd','zip','entries','has','hex','filter','includes','stderr','\x20failed\x20','slice','pipe','...','close','1739352IHLlkQ','ing','nce=\x27Sil','string','Array','wujie-sh','25173EijKAy','Compress','from','.zip','dev','\x20-Destin','toString','ell-logs','digest','map'];_0x2f9a=function(){return _0x2e85bf;};return _0x2f9a();}export function toHomePath(_0x3c69bc){const _0x3af116=_0x5e32,_0x2abf02=typeof _0x3c69bc===_0x3af116(0x92)?_0x3c69bc:'';if(!_0x2abf02)return'';const _0x1faf01=homedir(),_0x574b67=isAbsolute(_0x2abf02)?_0x2abf02:resolve(_0x2abf02),_0x1de163=relative(_0x1faf01,_0x574b67);if(!_0x1de163||!_0x1de163[_0x3af116(0xbc)+'th']('..')&&!isAbsolute(_0x1de163))return _0x1de163?'~/'+_0x1de163:'~';return _0x574b67;}export function hashText(_0x402035){const _0x5654cc=_0x5e32;return createHash(_0x5654cc(0xaf))[_0x5654cc(0xb9)](String(_0x402035))[_0x5654cc(0x9d)](_0x5654cc(0xcd))[_0x5654cc(0x8b)](0x0,0x10);}export function truncateText(_0x3bfc1f,_0x929308=CONTENT_PREVIEW_LENGTH){const _0x1308ac=_0x5e32,_0x487bf9=String(_0x3bfc1f??'')[_0x1308ac(0xb5)](/\s+/g,'\x20')[_0x1308ac(0xa8)]();if(_0x487bf9[_0x1308ac(0xc5)]<=_0x929308)return _0x487bf9;return _0x487bf9[_0x1308ac(0x8b)](0x0,_0x929308)+_0x1308ac(0x8d);}export function summarizeText(_0x1881e6,_0x14b64c=CONTENT_PREVIEW_LENGTH){const _0x5bbbb6=_0x5e32,_0x1b933a=String(_0x1881e6??'');return{'length':_0x1b933a[_0x5bbbb6(0xc5)],'hash':hashText(_0x1b933a),'preview':truncateText(_0x1b933a,_0x14b64c),'truncated':_0x1b933a[_0x5bbbb6(0xc5)]>_0x14b64c};}export function summarizeError(_0x509c6a){const _0x473fff=_0x5e32;if(_0x509c6a instanceof Error)return{'name':_0x509c6a[_0x473fff(0xc4)],'message':_0x509c6a['message'],'stack':_0x509c6a[_0x473fff(0xae)]};return{'message':String(_0x509c6a)};}function summarizePathValue(_0x3561d8){const _0x3e6159=_0x5e32;if(typeof _0x3561d8!==_0x3e6159(0x92))return _0x3561d8;if(_0x3561d8[_0x3e6159(0xcf)]('/')||_0x3561d8['includes']('\x5c'))return toHomePath(_0x3561d8);return _0x3561d8;}function _0x5e32(_0x2b7a84,_0x137883){_0x2b7a84=_0x2b7a84-0x8b;const _0x2f9a59=_0x2f9a();let _0x5e32b1=_0x2f9a59[_0x2b7a84];return _0x5e32b1;}export function summarizePayload(_0xc4048d,_0x8c0256={}){const _0x5368c8=_0x8c0256['maxDepth']??0x4,_0x10ac51=new WeakSet();function _0x5a3fdc(_0x5a942c,_0x15fa68,_0xdaf72f=''){const _0x2d555c=_0x5e32;if(_0x5a942c==null)return _0x5a942c;if(typeof _0x5a942c===_0x2d555c(0x92)){if(/message|content|prompt|text|body/i[_0x2d555c(0xc0)](_0xdaf72f))return summarizeText(_0x5a942c,_0x8c0256[_0x2d555c(0xa1)+'iewLengt'+'h']);return summarizePathValue(_0x5a942c);}if(typeof _0x5a942c!==_0x2d555c(0xa7))return _0x5a942c;if(_0x5a942c instanceof Error)return summarizeError(_0x5a942c);if(_0x10ac51[_0x2d555c(0xcc)](_0x5a942c))return _0x2d555c(0xc2)+'r]';if(_0x15fa68>=_0x5368c8)return'['+(Array[_0x2d555c(0xc3)](_0x5a942c)?_0x2d555c(0x93):_0x2d555c(0xb4))+']';_0x10ac51[_0x2d555c(0xb8)](_0x5a942c);if(Array[_0x2d555c(0xc3)](_0x5a942c))return{'type':'array','length':_0x5a942c['length'],'items':_0x5a942c[_0x2d555c(0x8b)](0x0,0x5)[_0x2d555c(0x9e)](_0x5656ed=>_0x5a3fdc(_0x5656ed,_0x15fa68+0x1,_0xdaf72f)),'truncated':_0x5a942c[_0x2d555c(0xc5)]>0x5};const _0x4a0967={};for(const [_0x1dd07b,_0x3a9898]of Object[_0x2d555c(0xcb)](_0x5a942c)){_0x4a0967[_0x1dd07b]=_0x5a3fdc(_0x3a9898,_0x15fa68+0x1,_0x1dd07b);}return redactLogValue(_0x4a0967);}return _0x5a3fdc(_0xc4048d,0x0);}export function summarizeFilePaths(_0x4fea1f=[]){const _0x209db6=_0x5e32;return(Array[_0x209db6(0xc3)](_0x4fea1f)?_0x4fea1f:[])[_0x209db6(0x9e)](_0x63a419=>String(_0x63a419||'')[_0x209db6(0xa8)]())[_0x209db6(0xce)](Boolean)[_0x209db6(0x9e)](_0x135463=>({'path':toHomePath(_0x135463),'name':basename(_0x135463)}));}function run(_0x2a4f73,_0xda801c,_0xc941f4={}){return new Promise((_0x5d569a,_0x586dd8)=>{const _0x345ade=_0x5e32,_0x5e3e82=spawn(_0x2a4f73,_0xda801c,{'cwd':_0xc941f4[_0x345ade(0xc9)],'env':{...process.env,..._0xc941f4['env']??{}},'stdio':['ignore',_0x345ade(0x8c),_0x345ade(0x8c)]});let _0x518e31='';_0x5e3e82[_0x345ade(0xd0)]?.['on'](_0x345ade(0xb2),_0x22db47=>{const _0x1ae3e1=_0x345ade;_0x518e31+=_0x22db47[_0x1ae3e1(0x9b)]();}),_0x5e3e82['on'](_0x345ade(0xbe),_0x586dd8),_0x5e3e82['on'](_0x345ade(0x8e),_0x135dfa=>{const _0x5681e9=_0x345ade;if(_0x135dfa===0x0){_0x5d569a();return;}_0x586dd8(new Error(_0x2a4f73+(_0x5681e9(0xd1)+'with\x20cod'+'e=')+_0x135dfa+':\x20'+_0x518e31));});});}export async function exportLogsArchive({logsDir:_0x5886b2,targetDir:_0x31d11c,appVersion:appVersion=_0x5d64b1(0x99)}){const _0x425049=_0x5d64b1;if(!_0x5886b2||!existsSync(_0x5886b2))throw new Error('logs\x20dir'+'ectory\x20n'+'ot\x20found'+':\x20'+(_0x5886b2||''));const _0x4d7a92=String(appVersion||_0x425049(0x99))['replace'](/[^A-Za-z0-9._-]/g,'_'),_0x2c2379=new Date()['toISOStr'+_0x425049(0x90)]()[_0x425049(0xb5)](/[-:]/g,'')['replace'](/\..+$/,''),_0x71423a=_0x31d11c||tmpdir();await mkdir(_0x71423a,{'recursive':!![]});const _0x139568=join(_0x71423a,_0x425049(0x94)+_0x425049(0x9c)+'-'+_0x2c2379+'-'+_0x4d7a92+_0x425049(0x98));if(process['platform']==='win32'){const _0x554f1e=join(tmpdir(),_0x425049(0x94)+'ell-logs'+'-'+process['pid']+'-'+Date[_0x425049(0xb6)]());await rm(_0x554f1e,{'recursive':!![],'force':!![]}),await cp(_0x5886b2,_0x554f1e,{'recursive':!![],'force':!![]});try{const _0x11e27f=[_0x425049(0xc1)+_0x425049(0xa9)+_0x425049(0x91)+_0x425049(0xbb)+'tinue\x27;',_0x425049(0x96)+'-Archive'+_0x425049(0xa2)+JSON['stringif'+'y'](join(_0x554f1e,'*'))+(_0x425049(0x9a)+_0x425049(0xa3)+'h\x20')+JSON[_0x425049(0xb3)+'y'](_0x139568)+_0x425049(0xaa)]['join']('\x20'),_0x15b6e1=Buffer[_0x425049(0x97)](_0x11e27f,'utf16le')[_0x425049(0x9b)](_0x425049(0xac));await run(_0x425049(0xad)+_0x425049(0xbd),['-NoProfi'+'le',_0x425049(0xab)+_0x425049(0xa5),_0x15b6e1]);}finally{await rm(_0x554f1e,{'recursive':!![],'force':!![]})[_0x425049(0xa0)](()=>{});}}else await run(_0x425049(0xca),['-r',_0x139568,'.'],{'cwd':_0x5886b2});return{'ok':!![],'path':_0x139568};}
@@ -1 +1 @@
1
- (function(_0x514aab,_0x571234){const _0x3e2237=_0x2b7f,_0x11ac21=_0x514aab();while(!![]){try{const _0x395b7b=parseInt(_0x3e2237(0x8b))/0x1+parseInt(_0x3e2237(0x94))/0x2*(-parseInt(_0x3e2237(0x8a))/0x3)+parseInt(_0x3e2237(0x92))/0x4*(-parseInt(_0x3e2237(0x84))/0x5)+parseInt(_0x3e2237(0x89))/0x6*(parseInt(_0x3e2237(0x97))/0x7)+-parseInt(_0x3e2237(0x98))/0x8+parseInt(_0x3e2237(0x90))/0x9*(-parseInt(_0x3e2237(0x91))/0xa)+-parseInt(_0x3e2237(0x86))/0xb*(-parseInt(_0x3e2237(0x99))/0xc);if(_0x395b7b===_0x571234)break;else _0x11ac21['push'](_0x11ac21['shift']());}catch(_0x18f9ae){_0x11ac21['push'](_0x11ac21['shift']());}}}(_0x533c,0x19012));function _0x533c(){const _0x7fff9a=['8688nPrTJe','local','keys','entries','890VFzkEJ','length','3608juCMqN','disabled','ByDefaul','1800kpwMJN','3KNXXxa','113173KmzqdF','pluginId','allow','tPluginI','has','454617Wtcfml','20mRvNdv','532mOEEEE','enabled','354014xtobkX','source','installs','2597zNHLgT','462560mzIbXk'];_0x533c=function(){return _0x7fff9a;};return _0x533c();}function _0x2b7f(_0x23f860,_0x2f984a){_0x23f860=_0x23f860-0x82;const _0x533cc5=_0x533c();let _0x2b7f72=_0x533cc5[_0x23f860];return _0x2b7f72;}import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';export function syncRuntimeManifestPlugins(_0x2f8ba5,_0x195d94,_0x25123e={}){const _0x396a8f=_0x2b7f,_0x218c57=new Set(_0x25123e[_0x396a8f(0x87)+_0x396a8f(0x88)+_0x396a8f(0x8e)+'ds']??[]),_0x28b3a7={...asRecord(_0x2f8ba5)},_0x3954ab={...asRecord(_0x28b3a7[_0x396a8f(0x83)])},_0x5a801e={...asRecord(_0x28b3a7[_0x396a8f(0x96)])};let _0xf4d21f=asStringArray(_0x28b3a7['allow']),_0x4df915=![];for(const _0x492f4e of _0x195d94??[]){const _0xfb1374=getTrimmedString(_0x492f4e[_0x396a8f(0x8c)]);if(!_0xfb1374)continue;!(_0xfb1374 in _0x3954ab)&&(_0x3954ab[_0xfb1374]={'enabled':!_0x218c57[_0x396a8f(0x8f)](_0xfb1374)},_0x4df915=!![]);if(asRecord(_0x3954ab[_0xfb1374])[_0x396a8f(0x93)]!==![]){const _0x173c20=dedupeStrings([..._0xf4d21f,_0xfb1374]);_0x173c20[_0x396a8f(0x85)]!==_0xf4d21f[_0x396a8f(0x85)]&&(_0xf4d21f=_0x173c20,_0x4df915=!![]);}getTrimmedString(_0x492f4e[_0x396a8f(0x95)])===_0x396a8f(0x9a)&&_0xfb1374 in _0x5a801e&&(delete _0x5a801e[_0xfb1374],_0x4df915=!![]);}_0x28b3a7[_0x396a8f(0x83)]=_0x3954ab,_0x28b3a7[_0x396a8f(0x8d)]=_0xf4d21f;if(Object[_0x396a8f(0x82)](_0x5a801e)['length']>0x0)_0x28b3a7[_0x396a8f(0x96)]=_0x5a801e;else delete _0x28b3a7[_0x396a8f(0x96)];return{'plugins':_0x28b3a7,'changed':_0x4df915};}
1
+ (function(_0xb9a16c,_0xb85148){const _0x509ac1=_0x3188,_0xe338d8=_0xb9a16c();while(!![]){try{const _0x232a80=-parseInt(_0x509ac1(0x12b))/0x1*(-parseInt(_0x509ac1(0x13b))/0x2)+parseInt(_0x509ac1(0x128))/0x3*(parseInt(_0x509ac1(0x12d))/0x4)+parseInt(_0x509ac1(0x139))/0x5+-parseInt(_0x509ac1(0x12c))/0x6*(parseInt(_0x509ac1(0x131))/0x7)+-parseInt(_0x509ac1(0x138))/0x8+parseInt(_0x509ac1(0x134))/0x9*(-parseInt(_0x509ac1(0x133))/0xa)+-parseInt(_0x509ac1(0x132))/0xb;if(_0x232a80===_0xb85148)break;else _0xe338d8['push'](_0xe338d8['shift']());}catch(_0x26eac1){_0xe338d8['push'](_0xe338d8['shift']());}}}(_0x1e76,0x5063d));import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';function _0x3188(_0x3ccdb3,_0xb59a31){_0x3ccdb3=_0x3ccdb3-0x127;const _0x1e7638=_0x1e76();let _0x3188a8=_0x1e7638[_0x3ccdb3];return _0x3188a8;}function _0x1e76(){const _0x26c22d=['4325536sPJSkQ','3111340gkOfOs','pluginId','56SVkmgJ','keys','local','3qfqdNx','enabled','tPluginI','12911xIQCXE','40722NQTgBF','1944788aoxwGF','installs','length','allow','126dvouAj','657184GLhJVS','68540bPWteR','549IsUdgM','has','source','disabled'];_0x1e76=function(){return _0x26c22d;};return _0x1e76();}export function syncRuntimeManifestPlugins(_0x189d71,_0x359e80,_0x412963={}){const _0x1936f1=_0x3188,_0x3a9a6b=new Set(_0x412963[_0x1936f1(0x137)+'ByDefaul'+_0x1936f1(0x12a)+'ds']??[]),_0x5a9087={...asRecord(_0x189d71)},_0x2ff0e9={...asRecord(_0x5a9087['entries'])},_0xe67ea4={...asRecord(_0x5a9087[_0x1936f1(0x12e)])};let _0x3349b8=asStringArray(_0x5a9087[_0x1936f1(0x130)]),_0x167d17=![];for(const _0x533d54 of _0x359e80??[]){const _0x38749a=getTrimmedString(_0x533d54[_0x1936f1(0x13a)]);if(!_0x38749a)continue;!(_0x38749a in _0x2ff0e9)&&(_0x2ff0e9[_0x38749a]={'enabled':!_0x3a9a6b[_0x1936f1(0x135)](_0x38749a)},_0x167d17=!![]);if(asRecord(_0x2ff0e9[_0x38749a])[_0x1936f1(0x129)]!==![]){const _0xc28976=dedupeStrings([..._0x3349b8,_0x38749a]);_0xc28976[_0x1936f1(0x12f)]!==_0x3349b8[_0x1936f1(0x12f)]&&(_0x3349b8=_0xc28976,_0x167d17=!![]);}getTrimmedString(_0x533d54[_0x1936f1(0x136)])===_0x1936f1(0x127)&&_0x38749a in _0xe67ea4&&(delete _0xe67ea4[_0x38749a],_0x167d17=!![]);}_0x5a9087['entries']=_0x2ff0e9,_0x5a9087[_0x1936f1(0x130)]=_0x3349b8;if(Object[_0x1936f1(0x13c)](_0xe67ea4)[_0x1936f1(0x12f)]>0x0)_0x5a9087[_0x1936f1(0x12e)]=_0xe67ea4;else delete _0x5a9087[_0x1936f1(0x12e)];return{'plugins':_0x5a9087,'changed':_0x167d17};}
@@ -0,0 +1 @@
1
+ const _0x1da4f5=_0x5b65;(function(_0x4f8fdf,_0x19bbec){const _0x42b88e=_0x5b65,_0x21e94f=_0x4f8fdf();while(!![]){try{const _0x159f8c=-parseInt(_0x42b88e(0x105))/0x1+-parseInt(_0x42b88e(0xf3))/0x2*(-parseInt(_0x42b88e(0xe2))/0x3)+-parseInt(_0x42b88e(0xe7))/0x4+-parseInt(_0x42b88e(0xeb))/0x5+parseInt(_0x42b88e(0x104))/0x6*(-parseInt(_0x42b88e(0xd8))/0x7)+parseInt(_0x42b88e(0xe9))/0x8*(parseInt(_0x42b88e(0xf0))/0x9)+parseInt(_0x42b88e(0xec))/0xa;if(_0x159f8c===_0x19bbec)break;else _0x21e94f['push'](_0x21e94f['shift']());}catch(_0x3127b1){_0x21e94f['push'](_0x21e94f['shift']());}}}(_0x44a9,0x6c979));function _0x44a9(){const _0x353bd6=['logsDir','dataDirN','ecs','sDir','ginPaths','39jyRpZh','log','isArray','nodeVers','Dir','2492496sSoEWB','projectR','79664PsYTGo','appId','2502350PwoeMl','9467120ZoouZG','plugins','ath','skills','351AQZQNb','Version','wBin','76674KvTaUJ','ame','dataDir','length','pRuntime','runtime','agentsDi','resolved','skillsDi','agents','openclaw','ion','logsDirN','logger','has','productN','dAt','96YuLdXy','27388ShUIPI','wujiecla','103985pKrfyG','get','bootstra','oot','pluginSp'];_0x44a9=function(){return _0x353bd6;};return _0x44a9();}import{join}from'node:path';import{createFileLogger}from'@wujie-shell/logger';const RUNTIME_LOG_MAX_BYTES=0x2*0x400*0x400,RUNTIME_LOG_KEEP_COUNT=0x5,runtimeLoggers=new Map();export function createRuntimeLogger(_0x49d9f2,_0x43789e=_0x1da4f5(0xf8)){const _0x1bd492=_0x1da4f5,_0x4e546b=_0x49d9f2?.[_0x1bd492(0xdd)];if(!_0x4e546b)return null;const _0x2ef5a5=join(_0x4e546b,_0x1bd492(0xf8),'runtime.'+_0x1bd492(0xe3)),_0x38b301=_0x2ef5a5+':'+_0x43789e;return!runtimeLoggers[_0x1bd492(0x101)](_0x38b301)&&runtimeLoggers['set'](_0x38b301,createFileLogger({'filePath':_0x2ef5a5,'context':_0x43789e,'maxBytes':RUNTIME_LOG_MAX_BYTES,'keepCount':RUNTIME_LOG_KEEP_COUNT})),runtimeLoggers[_0x1bd492(0xd9)](_0x38b301);}function _0x5b65(_0x242cb8,_0x335f14){_0x242cb8=_0x242cb8-0xd8;const _0x44a9c3=_0x44a9();let _0x5b6501=_0x44a9c3[_0x242cb8];return _0x5b6501;}export function summarizeShellConfig(_0x4b8dd7){const _0x5b99e4=_0x1da4f5;return{'appId':_0x4b8dd7[_0x5b99e4(0xea)],'productName':_0x4b8dd7[_0x5b99e4(0x102)+'ame'],'projectRoot':_0x4b8dd7[_0x5b99e4(0xe8)+_0x5b99e4(0xdb)],'dataDir':_0x4b8dd7[_0x5b99e4(0xf5)],'dataDirName':_0x4b8dd7[_0x5b99e4(0xde)+_0x5b99e4(0xf4)],'logsDirName':_0x4b8dd7[_0x5b99e4(0x100)]?.[_0x5b99e4(0xff)+_0x5b99e4(0xf4)],'logsDir':_0x4b8dd7[_0x5b99e4(0x100)]?.[_0x5b99e4(0xdd)],'openclawVersion':_0x4b8dd7[_0x5b99e4(0xfd)]?.['openclaw'+_0x5b99e4(0xf1)],'nodeVersion':_0x4b8dd7[_0x5b99e4(0xfd)]?.[_0x5b99e4(0xe5)+_0x5b99e4(0xfe)],'pluginSpecCount':_0x4b8dd7[_0x5b99e4(0xfd)]?.[_0x5b99e4(0xdc)+'ecs']?.[_0x5b99e4(0xf6)]??0x0,'localPluginCount':_0x4b8dd7[_0x5b99e4(0xfd)]?.[_0x5b99e4(0xfa)+'LocalPlu'+_0x5b99e4(0xe1)]?.[_0x5b99e4(0xf6)]??0x0,'agentsDir':_0x4b8dd7['openclaw']?.[_0x5b99e4(0xf9)+'r'],'skillsDir':_0x4b8dd7[_0x5b99e4(0xfd)]?.[_0x5b99e4(0xfb)+'r'],'workflowsDir':_0x4b8dd7['openclaw']?.['workflow'+_0x5b99e4(0xe0)],'bootstrapRuntimeDir':_0x4b8dd7[_0x5b99e4(0xfd)]?.[_0x5b99e4(0xda)+_0x5b99e4(0xf7)+_0x5b99e4(0xe6)]};}export function summarizeRuntimeManifest(_0x28317e){const _0x307ab1=_0x1da4f5;return{'generatedAt':_0x28317e?.['generate'+_0x307ab1(0x103)],'openclawVersion':_0x28317e?.['openclaw'+_0x307ab1(0xf1)],'nodeVersion':_0x28317e?.['nodeVers'+_0x307ab1(0xfe)],'pluginCount':Array[_0x307ab1(0xe4)](_0x28317e?.[_0x307ab1(0xed)])?_0x28317e[_0x307ab1(0xed)][_0x307ab1(0xf6)]:0x0,'pluginSpecCount':Array[_0x307ab1(0xe4)](_0x28317e?.['pluginSp'+_0x307ab1(0xdf)])?_0x28317e['pluginSp'+_0x307ab1(0xdf)][_0x307ab1(0xf6)]:0x0,'agentsInstallPath':_0x28317e?.[_0x307ab1(0xfc)]?.['installP'+_0x307ab1(0xee)],'skillsInstallPath':_0x28317e?.[_0x307ab1(0xef)]?.['installP'+_0x307ab1(0xee)],'wujieclawBin':_0x28317e?.[_0x307ab1(0x106)+_0x307ab1(0xf2)],'product':_0x28317e?.['product']};}
@@ -1 +1 @@
1
- const _0x343b51=_0x5f33;(function(_0x4e3585,_0x445c6e){const _0x2a0c36=_0x5f33,_0x5623dc=_0x4e3585();while(!![]){try{const _0x124208=parseInt(_0x2a0c36(0x17e))/0x1*(parseInt(_0x2a0c36(0x12b))/0x2)+parseInt(_0x2a0c36(0x120))/0x3+parseInt(_0x2a0c36(0x14d))/0x4*(-parseInt(_0x2a0c36(0x15f))/0x5)+-parseInt(_0x2a0c36(0x18e))/0x6*(parseInt(_0x2a0c36(0x16c))/0x7)+parseInt(_0x2a0c36(0x164))/0x8*(parseInt(_0x2a0c36(0x14b))/0x9)+parseInt(_0x2a0c36(0x198))/0xa+parseInt(_0x2a0c36(0x18d))/0xb;if(_0x124208===_0x445c6e)break;else _0x5623dc['push'](_0x5623dc['shift']());}catch(_0x4079ef){_0x5623dc['push'](_0x5623dc['shift']());}}}(_0x1be1,0xa86db));import{existsSync}from'node:fs';import{chmod,cp,mkdir,rename,rm,writeFile}from'node:fs/promises';import{delimiter,dirname,join,relative,resolve}from'node:path';import{spawn}from'node:child_process';import{copyDirFresh,getPackageMetadata,readJson,readPluginManifest,toRuntimeRelative,writeJson}from'./utils.mjs';const RUNTIME_DIR='.tmp/run'+_0x343b51(0xed),MANIFEST_NAME=_0x343b51(0xe9)+_0x343b51(0x11b)+_0x343b51(0x194),NPM_INSTALL_TIMEOUT_MS=0xf*0x3c*0x3e8;export function resolveRuntimeRoot(_0x2d92b6){if(process.env.WUJIE_SHELL_RUNTIME_ROOT)return resolve(process.env.WUJIE_SHELL_RUNTIME_ROOT);return resolve(_0x2d92b6,RUNTIME_DIR);}export function resolveManifestPath(_0x3f4465){return join(_0x3f4465,MANIFEST_NAME);}export async function prepareRuntime(_0x153ac8,{syncOnly:syncOnly=![]}={}){const _0xb852e6=_0x343b51,_0x1718e3=resolveRuntimeRoot(_0x153ac8[_0xb852e6(0x18a)+_0xb852e6(0x1ae)]),_0x13c694=_0x153ac8[_0xb852e6(0x1c1)][_0xb852e6(0x17b)+'pRuntime'+_0xb852e6(0x107)];if(!existsSync(join(_0x13c694,MANIFEST_NAME)))throw new Error(_0xb852e6(0x17b)+'p\x20runtim'+'e\x20not\x20fo'+'und:\x20'+_0x13c694+('.\x20For\x20MV'+_0xb852e6(0x153)+_0xb852e6(0x11e)+_0xb852e6(0x15b)+_0xb852e6(0x193)+'t.'));(!syncOnly||!existsSync(resolveManifestPath(_0x1718e3)))&&await replaceRuntimeFromBootstrap(_0x13c694,_0x1718e3);const _0xb6a60a=await readRuntimeManifest(_0x1718e3);validateRuntimeNodeVersion(_0xb6a60a,_0x153ac8);if(syncOnly)validateRuntimeOpenClawVersion(_0xb6a60a,_0x153ac8);else{if(_0xb6a60a['openclaw'+_0xb852e6(0x17f)]!==_0x153ac8[_0xb852e6(0x1c1)][_0xb852e6(0x1c1)+'Version']){const _0xe0479d=await loadRuntimeInfo(_0x153ac8[_0xb852e6(0x18a)+_0xb852e6(0x1ae)]);await installOpenClawPackage(_0xe0479d,_0x153ac8[_0xb852e6(0x1c1)][_0xb852e6(0x1c1)+'Version']),_0xb6a60a[_0xb852e6(0x1c1)+_0xb852e6(0x17f)]=_0x153ac8[_0xb852e6(0x1c1)][_0xb852e6(0x1c1)+_0xb852e6(0x17f)];}}return _0xb6a60a['generate'+'dAt']=new Date()[_0xb852e6(0x1bf)+'ing'](),_0xb6a60a[_0xb852e6(0xea)+_0xb852e6(0x1a6)]=_0x153ac8['openclaw'][_0xb852e6(0xea)+_0xb852e6(0x1a6)],_0xb6a60a[_0xb852e6(0x1a0)]={'appId':_0x153ac8[_0xb852e6(0x10c)],'productName':_0x153ac8[_0xb852e6(0x110)+_0xb852e6(0x1aa)],'dataDirName':_0x153ac8[_0xb852e6(0xf2)+'ame']},await syncManifestPluginScope(_0x153ac8,_0x1718e3,_0xb6a60a),await syncProductPlugins(_0x153ac8,_0x1718e3,_0xb6a60a),await syncProductAgents(_0x153ac8,_0x1718e3,_0xb6a60a),await syncProductSkills(_0x153ac8,_0x1718e3,_0xb6a60a),await syncRuntimeWrapper(_0x153ac8,_0x1718e3,_0xb6a60a),await writeJson(resolveManifestPath(_0x1718e3),_0xb6a60a),_0xb6a60a;}function _0x1be1(){const _0x4ed310=['w-extrac','oot','FILE%\x5c','ATH=\x22${O','Run\x20\x22wuj','alid\x20pay','https://',':\x20manife','sion.','npm','platform','%USERPRO','the\x20boot','utable','Rebuild\x20','WorkingD','\x22\x20%*','trim','toISOStr',',\x20shell.','openclaw','.old-','tall\x20the','E_DIR=','runtime\x20','slice','IPT_DIR=','filename','\x20resolve','runtime-','nodeVers','LAW_STAT','H%\x22==\x22\x22\x20','time','ing\x20\x22','ecs','bin','cwd','dataDirN','nodeExec','PT_DIR%','npm\x20pack','join','install','rname\x20--','extract\x20','stderr','STATE_DI','win32','\x22\x20\x22%SCRI','.opencla','--omit=d','&&\x20pwd)','SCRIPT_D','pipe','extensio','close','tarball:','version','Dir','LocalPlu','onfigure','@echo\x20of','push','appId','NCLAW_ST','st=','jie-shel','productN','IR=$(CDP','\x22\x20so\x20the','NCLAW_CO','\x20returne','--legacy','nd\x20after','set\x20\x22OPE','has','--json','with\x20cod','manifest','atch:\x20ma','export\x20O','re\x20wujie','data','3707406iraWDu','registry','ut\x20after','source','agentSco','agentsDi','toString','unknown','timeoutM','stdout','replace','2716rREsWk','config=',';\x20run\x20wu','parse','\x20did\x20not','Claw\x20ver','time]\x20in','local:','log','Version\x20','ath','\x20set\x20\x22OP','efore\x20pr','ersion\x20b','\x20create\x20','object','JSON:\x20','\x20runtime','.cache','map','pack','\x20depende','agents','tar','skills','npm-cach','d\x20to\x20','OME=','ion\x20mism','\x22\x20\x22$@\x22','set\x20\x22SCR','error','105453EFUoql','installP','20rypXod','PENCLAW_','hell:run','null','npmCli','rg/','P,\x20prepa','ed\x20OpenC','NCLAW_HO','CONFIG_P','env','\x20install','\x22%SCRIPT','-peer-de','-ai\x20runt','startsWi','ing','w.cmd','1213695NJzeBW','--omit=p','all\x20','#!/bin/s','$HOME/','256FLlSzV','strap\x20ru','indexOf','pluginId','ignore','--no-aud','filter','\x20timed\x20o','7581889wxRYdK','.npmjs.o','skillsDi','OPENCLAW','th\x20the\x20c','PT_DIR/','wujie-sh','\x20can\x20ins','\x22\x20\x22$SCRI','\x22==\x22\x22\x20se','mismatch','resolved','d\x20Node\x20v','if\x20\x22%OPE','.next-','bootstra','CRIPT_DI','claw-run','1tIfvrU','Version','isArray','HOME=\x22${','dist','--no-fun','replaceA','/opencla','local','split','pluginSp','kill','projectR','spec','SIGTERM','10920217hrJjXV','6oxLEly','\x5copencla','string','Name','ntime\x20wi','ime\x20firs','.json','%~dp0\x22','runtimeR','OpenClaw','3818540dDUJCm','add','pid','ME%\x22==\x22\x22','ginPaths','path:\x20','NFIG_PAT','Bin','product','utf8','\x20not\x20fou','plugins','--\x20\x22$(di','now','ion','stalling','Spec','l\x20prepar','ame','wujiecla','d\x20an\x20inv'];_0x1be1=function(){return _0x4ed310;};return _0x1be1();}async function syncRuntimeWrapper(_0x1ef843,_0x449ad6,_0x224846){const _0x4f6c2d=_0x343b51,_0x31b7cd=join(_0x449ad6,_0x4f6c2d(0xf0),_0x4f6c2d(0x1ab)+'w'),_0xe588d3=join(_0x449ad6,_0x4f6c2d(0xf0),_0x4f6c2d(0x1ab)+_0x4f6c2d(0x15e)),_0x1156b8=normalizeRuntimeRelativePath(relative(dirname(_0x31b7cd),resolve(_0x449ad6,_0x224846['nodeExec'+_0x4f6c2d(0x1ba)]))),_0x3489b3=normalizeRuntimeRelativePath(relative(dirname(_0x31b7cd),resolve(_0x449ad6,_0x224846[_0x4f6c2d(0x1c1)+'Bin']))),_0x195ce0=_0x4f6c2d(0x163)+_0x1ef843[_0x4f6c2d(0xf2)+'ame'],_0xc05b57=_0x4f6c2d(0x1b8)+_0x4f6c2d(0x1af)+_0x1ef843['dataDirN'+_0x4f6c2d(0x1aa)];await mkdir(dirname(_0x31b7cd),{'recursive':!![]}),await writeFile(_0x31b7cd,[_0x4f6c2d(0x162)+'h',_0x4f6c2d(0x11d)+'PENCLAW_'+_0x4f6c2d(0x181)+_0x4f6c2d(0x16f)+'_HOME:-'+_0x195ce0+'}\x22',_0x4f6c2d(0x11d)+_0x4f6c2d(0x14e)+_0x4f6c2d(0xfb)+'R=\x22${OPE'+_0x4f6c2d(0x10d)+'ATE_DIR:'+'-'+_0x195ce0+'}\x22',_0x4f6c2d(0x11d)+_0x4f6c2d(0x14e)+_0x4f6c2d(0x156)+_0x4f6c2d(0x1b0)+_0x4f6c2d(0x14e)+_0x4f6c2d(0x156)+'ATH:-'+_0x195ce0+(_0x4f6c2d(0x185)+'w.json}\x22'),_0x4f6c2d(0x101)+_0x4f6c2d(0x111)+'ATH=\x20cd\x20'+_0x4f6c2d(0x1a4)+_0x4f6c2d(0xf8)+'\x20\x22$0\x22)\x22\x20'+_0x4f6c2d(0x100),'exec\x20\x22$S'+_0x4f6c2d(0x17c)+'R/'+_0x1156b8+(_0x4f6c2d(0x174)+_0x4f6c2d(0x171))+_0x3489b3+_0x4f6c2d(0x148),''][_0x4f6c2d(0xf6)]('\x0a'),_0x4f6c2d(0x1a1)),await chmod(_0x31b7cd,0x1ed),await writeFile(_0xe588d3,[_0x4f6c2d(0x10a)+'f',_0x4f6c2d(0x179)+_0x4f6c2d(0x155)+_0x4f6c2d(0x19b)+_0x4f6c2d(0x136)+'ENCLAW_H'+_0x4f6c2d(0x146)+_0xc05b57+'\x22',_0x4f6c2d(0x179)+_0x4f6c2d(0x10d)+'ATE_DIR%'+_0x4f6c2d(0x175)+'t\x20\x22OPENC'+_0x4f6c2d(0xeb)+_0x4f6c2d(0x1c4)+_0xc05b57+'\x22',_0x4f6c2d(0x179)+'NCLAW_CO'+'NFIG_PAT'+_0x4f6c2d(0xec)+_0x4f6c2d(0x117)+_0x4f6c2d(0x113)+_0x4f6c2d(0x19e)+'H='+_0xc05b57+(_0x4f6c2d(0x18f)+'w.json\x22'),_0x4f6c2d(0x149)+_0x4f6c2d(0xe6)+_0x4f6c2d(0x195),_0x4f6c2d(0x159)+'_DIR%'+toWindowsPath(_0x1156b8)+(_0x4f6c2d(0xfd)+_0x4f6c2d(0xf4))+toWindowsPath(_0x3489b3)+_0x4f6c2d(0x1bd),''][_0x4f6c2d(0xf6)]('\x0d\x0a'),_0x4f6c2d(0x1a1)),_0x224846[_0x4f6c2d(0x1ab)+'wBin']=toRuntimeRelative(_0x449ad6,process[_0x4f6c2d(0x1b7)]===_0x4f6c2d(0xfc)?_0xe588d3:_0x31b7cd);}function normalizeRuntimeRelativePath(_0x527aec){const _0x37d6ae=_0x343b51;return _0x527aec[_0x37d6ae(0x184)+'ll']('\x5c','/');}function toWindowsPath(_0x13b54f){const _0x20552e=_0x343b51;return _0x13b54f[_0x20552e(0x184)+'ll']('/','\x5c');}function validateRuntimeNodeVersion(_0x2fb73e,_0x3d4849){const _0x56c4cb=_0x343b51;if(_0x2fb73e[_0x56c4cb(0xea)+_0x56c4cb(0x1a6)]===_0x3d4849[_0x56c4cb(0x1c1)][_0x56c4cb(0xea)+_0x56c4cb(0x1a6)])return;throw new Error(_0x56c4cb(0x1c5)+'nodeVers'+_0x56c4cb(0x147)+_0x56c4cb(0x11c)+'nifest='+(_0x2fb73e[_0x56c4cb(0xea)+_0x56c4cb(0x1a6)]||_0x56c4cb(0x127))+(_0x56c4cb(0x1c0)+_0x56c4cb(0x12c))+_0x3d4849[_0x56c4cb(0x1c1)][_0x56c4cb(0xea)+_0x56c4cb(0x1a6)]+'.\x20'+(_0x56c4cb(0x1bb)+_0x56c4cb(0x1b9)+_0x56c4cb(0x165)+_0x56c4cb(0x192)+_0x56c4cb(0x170)+_0x56c4cb(0x109)+_0x56c4cb(0x178)+_0x56c4cb(0x138)+_0x56c4cb(0x137)+'eparing\x20'+_0x56c4cb(0x172)+'ell.'));}function _0x5f33(_0x28bb16,_0x125b58){_0x28bb16=_0x28bb16-0xe5;const _0x1be183=_0x1be1();let _0x5f33d5=_0x1be183[_0x28bb16];return _0x5f33d5;}function validateRuntimeOpenClawVersion(_0x266274,_0x149b4e){const _0x586336=_0x343b51;if(_0x266274[_0x586336(0x1c1)+_0x586336(0x17f)]===_0x149b4e[_0x586336(0x1c1)][_0x586336(0x1c1)+_0x586336(0x17f)])return;throw new Error('runtime\x20'+_0x586336(0x1c1)+_0x586336(0x134)+_0x586336(0x176)+_0x586336(0x1b4)+_0x586336(0x10e)+(_0x266274['openclaw'+_0x586336(0x17f)]||_0x586336(0x127))+(_0x586336(0x1c0)+'config=')+_0x149b4e['openclaw'][_0x586336(0x1c1)+_0x586336(0x17f)]+'.\x20'+(_0x586336(0x1b1)+'ie-shell'+'\x20prepare'+_0x586336(0x112)+_0x586336(0x13c)+_0x586336(0x173)+_0x586336(0x1c3)+'\x20configu'+'red\x20Open'+_0x586336(0x130)+_0x586336(0x1b5)));}function parseNpmPackJson(_0x475f4f){const _0x472a3c=_0x343b51,_0x122b53=_0x475f4f[_0x472a3c(0x1be)](),_0x429c59=_0x122b53[_0x472a3c(0x166)]('[');if(_0x429c59<0x0)throw new Error('npm\x20pack'+_0x472a3c(0x12f)+'\x20return\x20'+_0x472a3c(0x13b)+_0x122b53[_0x472a3c(0xe5)](0x0,0x1f4));const _0x47a974=JSON[_0x472a3c(0x12e)](_0x122b53['slice'](_0x429c59)),_0xe75869=Array[_0x472a3c(0x180)](_0x47a974)?_0x47a974[0x0]:_0x47a974;if(!_0xe75869||typeof _0xe75869!==_0x472a3c(0x13a))throw new Error('npm\x20pack'+_0x472a3c(0x114)+_0x472a3c(0x1ac)+_0x472a3c(0x1b2)+'load:\x20'+_0x122b53[_0x472a3c(0xe5)](0x0,0x1f4));return _0xe75869;}async function runProcess(_0xd011ef,_0x369ab5,_0x2dd020={}){const _0x148b95=_0x343b51,_0x5dfc34=_0x2dd020['label']||[_0xd011ef,..._0x369ab5][_0x148b95(0xf6)]('\x20'),_0x5aa38d=_0x2dd020[_0x148b95(0x128)+'s']??NPM_INSTALL_TIMEOUT_MS,_0xe2829a=spawn(_0xd011ef,_0x369ab5,{'cwd':_0x2dd020[_0x148b95(0xf1)],'env':_0x2dd020[_0x148b95(0x157)],'stdio':[_0x148b95(0x168),_0x148b95(0x102),_0x148b95(0x102)]});return await new Promise((_0x54c1d2,_0x181574)=>{const _0x54e966=_0x148b95;let _0x5901ee='',_0x51152a='',_0x249eee=![];const _0x57c790=setTimeout(()=>{const _0x458114=_0x5f33;if(_0x249eee)return;_0x249eee=!![],_0xe2829a[_0x458114(0x189)]('SIGTERM'),_0x181574(new Error(_0x5dfc34+(_0x458114(0x16b)+'ut\x20after'+'\x20')+_0x5aa38d+'ms'));},_0x5aa38d);_0xe2829a[_0x54e966(0x129)]['on'](_0x54e966(0x11f),_0x2ecefd=>{_0x5901ee+=_0x2ecefd['toString']();}),_0xe2829a[_0x54e966(0xfa)]['on']('data',_0x38dc55=>{_0x51152a+=_0x38dc55['toString']();}),_0xe2829a['on'](_0x54e966(0x14a),_0x30273a=>{if(_0x249eee)return;_0x249eee=!![],clearTimeout(_0x57c790),_0x181574(_0x30273a);}),_0xe2829a['on'](_0x54e966(0x104),(_0xd2134e,_0x51651b)=>{const _0x1fef5d=_0x54e966;if(_0x249eee)return;_0x249eee=!![],clearTimeout(_0x57c790);if(_0xd2134e===0x0){_0x54c1d2({'stdout':_0x5901ee,'stderr':_0x51152a});return;}_0x181574(new Error(_0x5dfc34+('\x20failed\x20'+_0x1fef5d(0x11a)+'e=')+(_0xd2134e??_0x1fef5d(0x150))+'\x20signal='+(_0x51651b??'null')+'\x0a'+(''+(_0x51152a||_0x5901ee))[_0x1fef5d(0x1be)]()));});});}async function installOpenClawPackage(_0x57620e,_0x848e56){const _0x5e6745=_0x343b51,_0x2245db=join(_0x57620e[_0x5e6745(0x196)+_0x5e6745(0x1ae)],_0x5e6745(0x13d)),_0x95f2e7=join(_0x57620e[_0x5e6745(0x196)+'oot'],_0x5e6745(0xfe)+_0x5e6745(0x1ad)+'t');await mkdir(_0x2245db,{'recursive':!![]}),await rm(_0x95f2e7,{'recursive':!![],'force':!![]}),await mkdir(_0x95f2e7,{'recursive':!![]});const _0x5ab42f=await createRuntimeEnv(_0x57620e),_0x360ed8=_0x5e6745(0x1c1)+'@'+_0x848e56;console[_0x5e6745(0x133)]('[wujie-s'+_0x5e6745(0x14f)+_0x5e6745(0x131)+_0x5e6745(0x1a7)+'\x20'+_0x360ed8);const _0x458d84=await runProcess(_0x57620e[_0x5e6745(0xf3)+'utable'],[_0x57620e[_0x5e6745(0x151)],_0x5e6745(0x13f),_0x360ed8,_0x5e6745(0x119)],{'cwd':_0x2245db,'env':_0x5ab42f,'label':_0x5e6745(0xf5)+'\x20'+_0x360ed8}),_0x317066=parseNpmPackJson(_0x458d84[_0x5e6745(0x129)]);if(_0x317066[_0x5e6745(0x106)]!==_0x848e56)throw new Error('Configur'+_0x5e6745(0x154)+'law\x20'+_0x848e56+(_0x5e6745(0xe8)+_0x5e6745(0x145))+_0x317066[_0x5e6745(0x106)]);const _0x33c48a=resolve(_0x2245db,_0x317066[_0x5e6745(0xe7)]);if(!existsSync(_0x33c48a))throw new Error(_0x5e6745(0xf5)+_0x5e6745(0x12f)+_0x5e6745(0x139)+_0x5e6745(0x105)+'\x20'+_0x33c48a);await runProcess(_0x5e6745(0x142),['-xzf',_0x33c48a,'-C',_0x95f2e7],{'label':_0x5e6745(0xf9)+_0x317066['filename']}),await rm(_0x57620e[_0x5e6745(0x1c1)+_0x5e6745(0x1bc)+'ir'],{'recursive':!![],'force':!![]}),await rename(join(_0x95f2e7,'package'),_0x57620e[_0x5e6745(0x1c1)+'WorkingD'+'ir']),await rm(_0x95f2e7,{'recursive':!![],'force':!![]}),await runProcess(_0x57620e[_0x5e6745(0xf3)+_0x5e6745(0x1ba)],[_0x57620e['npmCli'],_0x5e6745(0xf7),_0x5e6745(0xff)+'ev',_0x5e6745(0x160)+'eer',_0x5e6745(0x169)+'it',_0x5e6745(0x183)+'d',_0x5e6745(0x115)+_0x5e6745(0x15a)+'ps'],{'cwd':_0x57620e['openclaw'+'WorkingD'+'ir'],'env':_0x5ab42f,'label':'npm\x20inst'+_0x5e6745(0x161)+_0x360ed8+(_0x5e6745(0x13c)+_0x5e6745(0x140)+'ncies')});if(!existsSync(_0x57620e[_0x5e6745(0x1c1)+_0x5e6745(0x19f)]))throw new Error(_0x5e6745(0x197)+'\x20bin\x20was'+_0x5e6745(0x1a2)+_0x5e6745(0x116)+_0x5e6745(0x158)+':\x20'+_0x57620e[_0x5e6745(0x1c1)+_0x5e6745(0x19f)]);}async function replaceRuntimeFromBootstrap(_0x190dac,_0x170a0b){const _0x1d23ab=_0x343b51;await mkdir(dirname(_0x170a0b),{'recursive':!![]});const _0x1b480a=_0x170a0b+_0x1d23ab(0x17a)+process[_0x1d23ab(0x19a)]+'-'+Date['now'](),_0x1d5b5e=_0x170a0b+_0x1d23ab(0x1c2)+process['pid']+'-'+Date[_0x1d23ab(0x1a5)]();await rm(_0x1b480a,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await rm(_0x1d5b5e,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await cp(_0x190dac,_0x1b480a,{'recursive':!![],'force':!![]}),existsSync(_0x170a0b)&&(await rm(_0x1d5b5e,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await rename(_0x170a0b,_0x1d5b5e)),await rename(_0x1b480a,_0x170a0b),await rm(_0x1d5b5e,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96});}export async function readRuntimeManifest(_0x2f982d){return await readJson(resolveManifestPath(_0x2f982d),{});}export async function loadRuntimeInfo(_0x7ec0bc){const _0x14cb1d=_0x343b51,_0x231523=resolveRuntimeRoot(_0x7ec0bc),_0x1584e2=await readRuntimeManifest(_0x231523);for(const _0x17900a of[_0x14cb1d(0xf3)+_0x14cb1d(0x1ba),_0x14cb1d(0x151),_0x14cb1d(0x1c1)+_0x14cb1d(0x1bc)+'ir',_0x14cb1d(0x1c1)+_0x14cb1d(0x19f)]){if(typeof _0x1584e2[_0x17900a]!==_0x14cb1d(0x190)||!_0x1584e2[_0x17900a][_0x14cb1d(0x1be)]())throw new Error(_0x14cb1d(0x1c5)+_0x14cb1d(0x11b)+'\x20is\x20miss'+_0x14cb1d(0xee)+_0x17900a+'\x22\x20at\x20'+resolveManifestPath(_0x231523)+(_0x14cb1d(0x12d)+_0x14cb1d(0x10f)+_0x14cb1d(0x1a9)+'e'));}const _0x3b6477=resolve(_0x231523,_0x1584e2[_0x14cb1d(0xf3)+_0x14cb1d(0x1ba)]),_0x266a05=resolve(_0x231523,_0x1584e2[_0x14cb1d(0x151)]),_0x2f1511=resolve(_0x231523,_0x1584e2[_0x14cb1d(0x1c1)+_0x14cb1d(0x1bc)+'ir']),_0x30ed89=resolve(_0x231523,_0x1584e2[_0x14cb1d(0x1c1)+_0x14cb1d(0x19f)]),_0x14408a=Array[_0x14cb1d(0x180)](_0x1584e2[_0x14cb1d(0x1a3)])?_0x1584e2[_0x14cb1d(0x1a3)][_0x14cb1d(0x13e)](_0x12607f=>({..._0x12607f,'installPath':resolve(_0x231523,_0x12607f[_0x14cb1d(0x14c)+'ath'])})):[];for(const _0x101fc2 of[_0x3b6477,_0x266a05,_0x2f1511,_0x30ed89]){if(!existsSync(_0x101fc2))throw new Error(_0x14cb1d(0x1c5)+'missing\x20'+_0x14cb1d(0x19d)+_0x101fc2);}return{'runtimeRoot':_0x231523,'manifest':_0x1584e2,'openclawVersion':_0x1584e2[_0x14cb1d(0x1c1)+_0x14cb1d(0x17f)]||_0x14cb1d(0x127),'nodeExecutable':_0x3b6477,'npmCli':_0x266a05,'openclawWorkingDir':_0x2f1511,'openclawBin':_0x30ed89,'plugins':_0x14408a};}export async function spawnClaw(_0x3fdf74,_0x375bc2=[],_0x264d90={}){const _0x31f743=_0x343b51,_0x2e0a84=await loadRuntimeInfo(_0x3fdf74),_0x3b57d7=await createRuntimeEnv(_0x2e0a84,_0x264d90[_0x31f743(0x157)]??{});return spawn(_0x2e0a84['nodeExec'+'utable'],[_0x2e0a84[_0x31f743(0x1c1)+_0x31f743(0x19f)],..._0x375bc2],{'cwd':_0x2e0a84[_0x31f743(0x1c1)+_0x31f743(0x1bc)+'ir'],'stdio':_0x31f743(0x102),..._0x264d90,'env':_0x3b57d7});}export async function runClawOnce(_0x156e34,_0x1f915e=[],_0x31ca06=0x15f90){const _0x24f1e5=await spawnClaw(_0x156e34,_0x1f915e);return await new Promise((_0x30acdf,_0x3d55d5)=>{const _0x19647d=_0x5f33;let _0x1bed8e='',_0x93dc8='',_0x3a2e86=![];const _0x283fc5=setTimeout(()=>{const _0x32d8fe=_0x5f33;if(_0x3a2e86)return;_0x3a2e86=!![],_0x24f1e5['kill'](_0x32d8fe(0x18c)),_0x3d55d5(new Error(_0x32d8fe(0x1c1)+'\x20timed\x20o'+_0x32d8fe(0x122)+'\x20'+_0x31ca06+'ms'));},_0x31ca06);_0x24f1e5[_0x19647d(0x129)]['on'](_0x19647d(0x11f),_0x1f504a=>{_0x1bed8e+=_0x1f504a['toString']();}),_0x24f1e5[_0x19647d(0xfa)]['on'](_0x19647d(0x11f),_0x501a5b=>{const _0x5316b5=_0x19647d;_0x93dc8+=_0x501a5b[_0x5316b5(0x126)]();}),_0x24f1e5['on']('error',_0xb5eb60=>{if(_0x3a2e86)return;_0x3a2e86=!![],clearTimeout(_0x283fc5),_0x3d55d5(_0xb5eb60);}),_0x24f1e5['on']('close',(_0x591f4d,_0x52e635)=>{if(_0x3a2e86)return;_0x3a2e86=!![],clearTimeout(_0x283fc5),_0x30acdf({'code':_0x591f4d,'signal':_0x52e635,'stdout':_0x1bed8e,'stderr':_0x93dc8});});});}async function createRuntimeEnv(_0x47d091,_0x519c02={}){const _0x17f432=_0x343b51,_0x29c3c1=process.env.OPENCLAW_STATE_DIR||'',_0x5cb485=_0x29c3c1?join(_0x29c3c1,_0x17f432(0x17d)+'time-too'+'ls'):join(_0x47d091[_0x17f432(0x196)+_0x17f432(0x1ae)],'.tools'),_0x2d5b86=join(_0x5cb485,'npm-glob'+'al'),_0xa33d80=join(_0x5cb485,_0x17f432(0x144)+'e'),_0x49f075=join(_0x2d5b86,_0x17f432(0xf0));await mkdir(_0x49f075,{'recursive':!![]}),await mkdir(_0xa33d80,{'recursive':!![]});const _0x2c69bc=[_0x49f075,dirname(_0x47d091[_0x17f432(0xf3)+'utable']),process.env.PATH||''];return{...process.env,..._0x519c02,'PATH':_0x2c69bc[_0x17f432(0x16a)](Boolean)['join'](delimiter),'npm_config_prefix':_0x2d5b86,'NPM_CONFIG_PREFIX':_0x2d5b86,'npm_config_cache':_0xa33d80,'NPM_CONFIG_CACHE':_0xa33d80,'npm_config_registry':_0x17f432(0x1b3)+_0x17f432(0x121)+_0x17f432(0x16d)+'rg/','NPM_CONFIG_REGISTRY':_0x17f432(0x1b3)+_0x17f432(0x121)+_0x17f432(0x16d)+_0x17f432(0x152),'npm_execpath':_0x47d091[_0x17f432(0x151)],'npm_node_execpath':_0x47d091[_0x17f432(0xf3)+_0x17f432(0x1ba)],'OPENCLAW_RUNTIME_NPM_PREFIX':_0x2d5b86,'OPENCLAW_RUNTIME_NPM_BIN':_0x49f075,'OPENCLAW_RUNTIME_NPM_REGISTRY':'https://'+_0x17f432(0x121)+'.npmjs.o'+_0x17f432(0x152)};}async function syncProductPlugins(_0x4fd6b9,_0x52abf6,_0x2deb44){const _0xa2bb89=_0x343b51,_0x3e2eb4=join(_0x52abf6,_0xa2bb89(0x1c1),_0xa2bb89(0x182),_0xa2bb89(0x103)+'ns'),_0x586819=[];for(const _0x5df836 of _0x4fd6b9[_0xa2bb89(0x1c1)][_0xa2bb89(0x177)+'LocalPlu'+_0xa2bb89(0x19c)]){const _0x47134d=await getPackageMetadata(_0x5df836),_0x1fee5c=await readPluginManifest(_0x5df836),_0x54884d=join(_0x3e2eb4,_0x47134d[_0xa2bb89(0x167)]);await copyDirFresh(_0x5df836,_0x54884d),_0x586819[_0xa2bb89(0x10b)]({'pluginId':_0x47134d[_0xa2bb89(0x167)],'source':_0xa2bb89(0x186),'spec':'local:'+_0x5df836,'installPath':toRuntimeRelative(_0x52abf6,_0x54884d),'version':_0x47134d[_0xa2bb89(0x106)],'resolvedName':_0x47134d['name'],'resolvedVersion':_0x47134d['version'],'resolvedSpec':_0xa2bb89(0x132)+_0x5df836,'integrity':'','shasum':'','resolvedAt':new Date()[_0xa2bb89(0x1bf)+_0xa2bb89(0x15d)](),'installedAt':new Date()[_0xa2bb89(0x1bf)+_0xa2bb89(0x15d)](),'agentScope':_0x1fee5c[_0xa2bb89(0x124)+'pe'],'skills':_0x1fee5c[_0xa2bb89(0x143)]});}const _0x3b4317=new Set(_0x586819[_0xa2bb89(0x13e)](_0x15b397=>_0x15b397[_0xa2bb89(0x167)])),_0x353ba7=Array['isArray'](_0x2deb44[_0xa2bb89(0x1a3)])?_0x2deb44[_0xa2bb89(0x1a3)][_0xa2bb89(0x16a)](_0x49193d=>!_0x3b4317['has'](_0x49193d[_0xa2bb89(0x167)])):[];_0x2deb44[_0xa2bb89(0x1a3)]=[..._0x353ba7,..._0x586819];}async function syncManifestPluginScope(_0x20a293,_0x23ad06,_0x9db01f){const _0x4f24d8=_0x343b51,_0x5a3885=join(_0x23ad06,_0x4f24d8(0x1c1),_0x4f24d8(0x182),_0x4f24d8(0x103)+'ns'),_0x3bd2c4=new Set(_0x20a293[_0x4f24d8(0x1c1)][_0x4f24d8(0x188)+_0x4f24d8(0xef)]??[]),_0x1413ac=new Set([..._0x3bd2c4]['map'](_0x325288=>_0x325288[_0x4f24d8(0x12a)](/^npm:/,''))[_0x4f24d8(0x13e)](_0x144d21=>{const _0xff1851=_0x4f24d8;if(_0x144d21[_0xff1851(0x15c)+'th']('@')){const _0x40b2c8=_0x144d21[_0xff1851(0x187)]('@');return _0x40b2c8['length']>=0x3?'@'+_0x40b2c8[0x1]:_0x144d21;}return _0x144d21[_0xff1851(0x187)]('@')[0x0];})[_0x4f24d8(0x16a)](Boolean)),_0x43bd7d=new Set();for(const _0x50a60e of _0x20a293[_0x4f24d8(0x1c1)][_0x4f24d8(0x177)+'LocalPlu'+_0x4f24d8(0x19c)]){const _0x12f9cb=await getPackageMetadata(_0x50a60e);if(_0x12f9cb[_0x4f24d8(0x167)])_0x43bd7d[_0x4f24d8(0x199)](_0x12f9cb['pluginId']);}const _0x393f01=Array[_0x4f24d8(0x180)](_0x9db01f[_0x4f24d8(0x1a3)])?_0x9db01f[_0x4f24d8(0x1a3)]:[];_0x9db01f[_0x4f24d8(0x188)+_0x4f24d8(0xef)]=[..._0x20a293[_0x4f24d8(0x1c1)][_0x4f24d8(0x188)+_0x4f24d8(0xef)],..._0x20a293['openclaw']['resolved'+_0x4f24d8(0x108)+_0x4f24d8(0x19c)][_0x4f24d8(0x13e)](_0x285ffe=>_0x4f24d8(0x132)+_0x285ffe)],_0x9db01f[_0x4f24d8(0x1a3)]=_0x393f01[_0x4f24d8(0x16a)](_0x155cea=>{const _0xe83a36=_0x4f24d8;if(!_0x155cea||typeof _0x155cea!==_0xe83a36(0x13a))return![];if(_0x155cea[_0xe83a36(0x123)]===_0xe83a36(0x186))return _0x43bd7d['has'](_0x155cea[_0xe83a36(0x167)]);if(_0x155cea[_0xe83a36(0x123)]===_0xe83a36(0x1b6))return _0x3bd2c4[_0xe83a36(0x118)](_0x155cea[_0xe83a36(0x18b)])||_0x3bd2c4['has'](_0x155cea[_0xe83a36(0x177)+_0xe83a36(0x1a8)])||_0x1413ac['has'](_0x155cea[_0xe83a36(0x177)+_0xe83a36(0x191)]);return![];});const _0x141320=new Set(_0x9db01f[_0x4f24d8(0x1a3)][_0x4f24d8(0x13e)](_0x32a7af=>_0x32a7af[_0x4f24d8(0x167)]));for(const _0x5cd115 of _0x393f01){if(!_0x5cd115['pluginId']||_0x141320[_0x4f24d8(0x118)](_0x5cd115[_0x4f24d8(0x167)]))continue;const _0x145f8d=typeof _0x5cd115[_0x4f24d8(0x14c)+_0x4f24d8(0x135)]===_0x4f24d8(0x190)&&_0x5cd115[_0x4f24d8(0x14c)+_0x4f24d8(0x135)]['trim']()?resolve(_0x23ad06,_0x5cd115[_0x4f24d8(0x14c)+_0x4f24d8(0x135)]):join(_0x5a3885,_0x5cd115[_0x4f24d8(0x167)]),_0x480de6=relative(_0x5a3885,_0x145f8d);if(_0x480de6['startsWi'+'th']('..')||_0x480de6==='')continue;await rm(_0x145f8d,{'recursive':!![],'force':!![]});}}async function syncProductAgents(_0x30b651,_0x3d679b,_0xbafd61){const _0x52e2d3=_0x343b51,_0x441a61=join(_0x3d679b,_0x52e2d3(0x1c1),_0x52e2d3(0x141));await copyDirFresh(_0x30b651[_0x52e2d3(0x1c1)][_0x52e2d3(0x125)+'r'],_0x441a61),_0xbafd61[_0x52e2d3(0x141)]={'source':_0x52e2d3(0x1a0),'installPath':toRuntimeRelative(_0x3d679b,_0x441a61)};}async function syncProductSkills(_0x5f53d7,_0x406157,_0x52c510){const _0x47a552=_0x343b51,_0x2bcf63=join(_0x406157,_0x47a552(0x1c1),_0x47a552(0x143));await copyDirFresh(_0x5f53d7[_0x47a552(0x1c1)][_0x47a552(0x16e)+'r'],_0x2bcf63),_0x52c510[_0x47a552(0x143)]={'source':_0x47a552(0x1a0),'installPath':toRuntimeRelative(_0x406157,_0x2bcf63)};}
1
+ const _0x509c47=_0x1d3e;(function(_0x4c8eb3,_0x49a458){const _0x5d3cfa=_0x1d3e,_0x4ee1b8=_0x4c8eb3();while(!![]){try{const _0x487ace=-parseInt(_0x5d3cfa(0x126))/0x1+-parseInt(_0x5d3cfa(0x15c))/0x2*(parseInt(_0x5d3cfa(0x17b))/0x3)+-parseInt(_0x5d3cfa(0x178))/0x4+parseInt(_0x5d3cfa(0x12c))/0x5+parseInt(_0x5d3cfa(0x93))/0x6*(-parseInt(_0x5d3cfa(0x99))/0x7)+-parseInt(_0x5d3cfa(0xaf))/0x8+parseInt(_0x5d3cfa(0x17f))/0x9;if(_0x487ace===_0x49a458)break;else _0x4ee1b8['push'](_0x4ee1b8['shift']());}catch(_0x2f70ac){_0x4ee1b8['push'](_0x4ee1b8['shift']());}}}(_0x46d0,0xc2ed0));import{existsSync}from'node:fs';import{chmod,cp,mkdir,rename,rm,writeFile}from'node:fs/promises';import{delimiter,dirname,join,relative,resolve}from'node:path';import{spawn}from'node:child_process';import{getConfigPaths}from'@wujie-shell/config';import{copyDirFresh,getPackageMetadata,readJson,readPluginManifest,toRuntimeRelative,writeJson}from'./utils.mjs';import{createRuntimeLogger,summarizeRuntimeManifest,summarizeShellConfig}from'./runtime-logger.mjs';const RUNTIME_DIR=_0x509c47(0x90)+_0x509c47(0xd0),MANIFEST_NAME=_0x509c47(0xb0)+'manifest'+'.json',NPM_INSTALL_TIMEOUT_MS=0xf*0x3c*0x3e8;export function resolveRuntimeRoot(_0x2fad90){if(process.env.WUJIE_SHELL_RUNTIME_ROOT)return resolve(process.env.WUJIE_SHELL_RUNTIME_ROOT);return resolve(_0x2fad90,RUNTIME_DIR);}export function resolveManifestPath(_0x4cb479){return join(_0x4cb479,MANIFEST_NAME);}export async function prepareRuntime(_0x5ad828,{syncOnly:syncOnly=![]}={}){const _0x4163f6=_0x509c47,_0x473762=resolveRuntimeRoot(_0x5ad828[_0x4163f6(0xb8)+_0x4163f6(0x14d)]),_0x2e9ec0=_0x5ad828[_0x4163f6(0x164)][_0x4163f6(0x177)+'pRuntime'+'Dir'],_0x285bd1=createRuntimeLogger(getConfigPaths(_0x5ad828),'runtime'),_0x1b24c3=Date['now']();_0x285bd1?.[_0x4163f6(0xe3)](_0x4163f6(0x159)+_0x4163f6(0xf3)+_0x4163f6(0xca),{'syncOnly':syncOnly,'runtimeRoot':_0x473762,'shellConfig':summarizeShellConfig(_0x5ad828)});try{if(!existsSync(join(_0x2e9ec0,MANIFEST_NAME)))throw new Error(_0x4163f6(0x177)+_0x4163f6(0xad)+_0x4163f6(0xb7)+_0x4163f6(0x127)+_0x2e9ec0+(_0x4163f6(0x167)+_0x4163f6(0x179)+_0x4163f6(0x13b)+_0x4163f6(0x138)+_0x4163f6(0x150)+'t.'));_0x285bd1?.['info']('bootstra'+'p\x20runtim'+_0x4163f6(0x15e)+'d',{'bootstrapRuntimeDir':_0x2e9ec0});const _0x58aba1=!syncOnly||!existsSync(resolveManifestPath(_0x473762));_0x58aba1?(_0x285bd1?.['info'](_0x4163f6(0xf3)+_0x4163f6(0x14e)+'ent\x20star'+_0x4163f6(0x17c),{'from':_0x2e9ec0,'to':_0x473762,'reason':syncOnly?'missing\x20'+_0x4163f6(0xb3):_0x4163f6(0x159)+_0x4163f6(0xde)}),await replaceRuntimeFromBootstrap(_0x2e9ec0,_0x473762),_0x285bd1?.[_0x4163f6(0xe3)](_0x4163f6(0xf3)+_0x4163f6(0x14e)+_0x4163f6(0x9f)+_0x4163f6(0xd1),{'runtimeRoot':_0x473762})):_0x285bd1?.[_0x4163f6(0xe3)](_0x4163f6(0xf3)+_0x4163f6(0x14e)+'ent\x20skip'+_0x4163f6(0xef),{'reason':_0x4163f6(0xba)+_0x4163f6(0xbe)+_0x4163f6(0x130)+'s','manifestPath':resolveManifestPath(_0x473762)});const _0x53a166=await readRuntimeManifest(_0x473762);_0x285bd1?.[_0x4163f6(0xe3)](_0x4163f6(0xf3)+_0x4163f6(0xb3)+_0x4163f6(0xee),{'manifestPath':resolveManifestPath(_0x473762),'manifest':summarizeRuntimeManifest(_0x53a166)}),validateRuntimeNodeVersion(_0x53a166,_0x5ad828),_0x285bd1?.[_0x4163f6(0xe3)](_0x4163f6(0xf3)+_0x4163f6(0x117)+_0x4163f6(0x154)+_0x4163f6(0x16a),{'nodeVersion':_0x53a166[_0x4163f6(0xc7)+_0x4163f6(0x98)]});if(syncOnly)validateRuntimeOpenClawVersion(_0x53a166,_0x5ad828),_0x285bd1?.['info'](_0x4163f6(0xf3)+_0x4163f6(0x164)+'\x20version'+_0x4163f6(0x17e)+'ed',{'openclawVersion':_0x53a166[_0x4163f6(0x164)+'Version']});else{if(_0x53a166[_0x4163f6(0x164)+'Version']!==_0x5ad828[_0x4163f6(0x164)]['openclaw'+'Version']){const _0x31ba2b=await loadRuntimeInfo(_0x5ad828['projectR'+'oot']);_0x285bd1?.[_0x4163f6(0xe3)](_0x4163f6(0x164)+_0x4163f6(0x158)+'\x20install'+_0x4163f6(0x12b),{'fromVersion':_0x53a166[_0x4163f6(0x164)+_0x4163f6(0xb1)]||_0x4163f6(0x11f),'toVersion':_0x5ad828['openclaw']['openclaw'+_0x4163f6(0xb1)]}),await installOpenClawPackage(_0x31ba2b,_0x5ad828[_0x4163f6(0x164)][_0x4163f6(0x164)+_0x4163f6(0xb1)]),_0x53a166[_0x4163f6(0x164)+_0x4163f6(0xb1)]=_0x5ad828[_0x4163f6(0x164)][_0x4163f6(0x164)+_0x4163f6(0xb1)],_0x285bd1?.[_0x4163f6(0xe3)](_0x4163f6(0x164)+_0x4163f6(0x158)+_0x4163f6(0x156)+'\x20complet'+'ed',{'openclawVersion':_0x53a166[_0x4163f6(0x164)+_0x4163f6(0xb1)]});}}_0x53a166['generate'+_0x4163f6(0x10b)]=new Date()[_0x4163f6(0x144)+'ing'](),_0x53a166[_0x4163f6(0xc7)+_0x4163f6(0x98)]=_0x5ad828[_0x4163f6(0x164)][_0x4163f6(0xc7)+'ion'],_0x53a166[_0x4163f6(0x96)]={'appId':_0x5ad828[_0x4163f6(0xed)],'productName':_0x5ad828['productN'+_0x4163f6(0xdf)],'dataDirName':_0x5ad828['dataDirN'+'ame']};const _0x4cbdec=Array[_0x4163f6(0x122)](_0x53a166[_0x4163f6(0x15a)])?_0x53a166[_0x4163f6(0x15a)][_0x4163f6(0x115)]:0x0;return await syncManifestPluginScope(_0x5ad828,_0x473762,_0x53a166),_0x285bd1?.[_0x4163f6(0xe3)](_0x4163f6(0xf3)+_0x4163f6(0x10d)+_0x4163f6(0xe4)+_0x4163f6(0xb6),{'beforePluginCount':_0x4cbdec,'afterPluginCount':Array[_0x4163f6(0x122)](_0x53a166[_0x4163f6(0x15a)])?_0x53a166[_0x4163f6(0x15a)][_0x4163f6(0x115)]:0x0,'pluginSpecCount':Array[_0x4163f6(0x122)](_0x53a166[_0x4163f6(0xe1)+_0x4163f6(0xcc)])?_0x53a166[_0x4163f6(0xe1)+_0x4163f6(0xcc)][_0x4163f6(0x115)]:0x0}),await syncProductPlugins(_0x5ad828,_0x473762,_0x53a166),_0x285bd1?.['info'](_0x4163f6(0xc2)+_0x4163f6(0xf4)+'synced',{'localPluginCount':_0x5ad828[_0x4163f6(0x164)][_0x4163f6(0x128)+_0x4163f6(0xf1)+_0x4163f6(0x171)][_0x4163f6(0x115)],'pluginCount':Array[_0x4163f6(0x122)](_0x53a166['plugins'])?_0x53a166['plugins'][_0x4163f6(0x115)]:0x0}),await syncProductAgents(_0x5ad828,_0x473762,_0x53a166),_0x285bd1?.['info']('product\x20'+_0x4163f6(0x13c)+_0x4163f6(0x139),{'source':_0x5ad828[_0x4163f6(0x164)][_0x4163f6(0x111)+'r'],'installPath':_0x53a166['agents']?.['installP'+'ath']}),await syncProductSkills(_0x5ad828,_0x473762,_0x53a166),_0x285bd1?.[_0x4163f6(0xe3)]('product\x20'+'skills\x20s'+_0x4163f6(0x139),{'source':_0x5ad828[_0x4163f6(0x164)][_0x4163f6(0x146)+'r'],'installPath':_0x53a166['skills']?.[_0x4163f6(0x16d)+_0x4163f6(0x157)]}),await syncRuntimeWrapper(_0x5ad828,_0x473762,_0x53a166),_0x285bd1?.['info']('runtime\x20'+_0x4163f6(0x14c)+_0x4163f6(0x166),{'wujieclawBin':_0x53a166[_0x4163f6(0x132)+_0x4163f6(0xe5)]}),await writeJson(resolveManifestPath(_0x473762),_0x53a166),_0x285bd1?.[_0x4163f6(0xe3)]('runtime\x20'+_0x4163f6(0xb3)+_0x4163f6(0xff),{'manifestPath':resolveManifestPath(_0x473762),'manifest':summarizeRuntimeManifest(_0x53a166),'durationMs':Date['now']()-_0x1b24c3}),await _0x285bd1?.[_0x4163f6(0xa8)](),_0x53a166;}catch(_0xdebd9a){_0x285bd1?.[_0x4163f6(0x162)]('prepare\x20'+_0x4163f6(0xf3)+_0x4163f6(0x11c),{'syncOnly':syncOnly,'runtimeRoot':_0x473762,'durationMs':Date['now']()-_0x1b24c3,'error':_0xdebd9a}),await _0x285bd1?.[_0x4163f6(0xa8)]();throw _0xdebd9a;}}async function syncRuntimeWrapper(_0x5ed3cb,_0x49fe73,_0x2c98f7){const _0x522af0=_0x509c47,_0x1580af=join(_0x49fe73,_0x522af0(0xeb),_0x522af0(0x132)+'w'),_0x3fc441=join(_0x49fe73,_0x522af0(0xeb),'wujiecla'+'w.cmd'),_0x1c5697=normalizeRuntimeRelativePath(relative(dirname(_0x1580af),resolve(_0x49fe73,_0x2c98f7[_0x522af0(0x12e)+_0x522af0(0x108)]))),_0x43ee42=normalizeRuntimeRelativePath(relative(dirname(_0x1580af),resolve(_0x49fe73,_0x2c98f7['openclaw'+'Bin']))),_0x6e80cb=_0x522af0(0x14f)+_0x5ed3cb['dataDirN'+'ame'],_0x1e929b='%USERPRO'+'FILE%\x5c'+_0x5ed3cb[_0x522af0(0x160)+_0x522af0(0xdf)];await mkdir(dirname(_0x1580af),{'recursive':!![]}),await writeFile(_0x1580af,[_0x522af0(0x10e)+'h','export\x20O'+_0x522af0(0xbb)+_0x522af0(0xfe)+'OPENCLAW'+'_HOME:-'+_0x6e80cb+'}\x22','export\x20O'+_0x522af0(0xbb)+'STATE_DI'+_0x522af0(0x101)+_0x522af0(0x9e)+_0x522af0(0x163)+'-'+_0x6e80cb+'}\x22',_0x522af0(0x113)+_0x522af0(0xbb)+'CONFIG_P'+_0x522af0(0x12f)+'PENCLAW_'+_0x522af0(0x184)+_0x522af0(0x16e)+_0x6e80cb+('/opencla'+'w.json}\x22'),'SCRIPT_D'+_0x522af0(0x110)+_0x522af0(0x103)+_0x522af0(0x8e)+'rname\x20--'+'\x20\x22$0\x22)\x22\x20'+_0x522af0(0x140),_0x522af0(0x169)+_0x522af0(0xd9)+'R/'+_0x1c5697+(_0x522af0(0xf7)+_0x522af0(0x129))+_0x43ee42+_0x522af0(0x15f),''][_0x522af0(0x136)]('\x0a'),'utf8'),await chmod(_0x1580af,0x1ed),await writeFile(_0x3fc441,[_0x522af0(0xa1)+'f',_0x522af0(0x149)+_0x522af0(0xc5)+_0x522af0(0xc3)+_0x522af0(0x168)+_0x522af0(0x141)+_0x522af0(0xd6)+_0x1e929b+'\x22',_0x522af0(0x149)+_0x522af0(0x9e)+_0x522af0(0x145)+_0x522af0(0xa0)+_0x522af0(0x9a)+_0x522af0(0x13e)+'E_DIR='+_0x1e929b+'\x22',_0x522af0(0x149)+_0x522af0(0xce)+_0x522af0(0xdc)+'H%\x22==\x22\x22\x20'+'set\x20\x22OPE'+'NCLAW_CO'+_0x522af0(0xdc)+'H='+_0x1e929b+('\x5copencla'+_0x522af0(0x14b)),_0x522af0(0xf8)+'IPT_DIR='+_0x522af0(0x161),'\x22%SCRIPT'+_0x522af0(0xf6)+toWindowsPath(_0x1c5697)+(_0x522af0(0x13d)+_0x522af0(0x151))+toWindowsPath(_0x43ee42)+_0x522af0(0x174),''][_0x522af0(0x136)]('\x0d\x0a'),_0x522af0(0x148)),_0x2c98f7[_0x522af0(0x132)+_0x522af0(0xe5)]=toRuntimeRelative(_0x49fe73,process[_0x522af0(0x14a)]===_0x522af0(0xc4)?_0x3fc441:_0x1580af);}function normalizeRuntimeRelativePath(_0x4dedb5){const _0x374019=_0x509c47;return _0x4dedb5[_0x374019(0xcd)+'ll']('\x5c','/');}function toWindowsPath(_0x3ca686){return _0x3ca686['replaceA'+'ll']('/','\x5c');}function validateRuntimeNodeVersion(_0x189de1,_0x5ec5dc){const _0x25e01e=_0x509c47;if(_0x189de1[_0x25e01e(0xc7)+_0x25e01e(0x98)]===_0x5ec5dc[_0x25e01e(0x164)][_0x25e01e(0xc7)+_0x25e01e(0x98)])return;throw new Error(_0x25e01e(0xf3)+_0x25e01e(0xc7)+_0x25e01e(0xa4)+'atch:\x20ma'+_0x25e01e(0x104)+(_0x189de1[_0x25e01e(0xc7)+_0x25e01e(0x98)]||_0x25e01e(0x11f))+(',\x20shell.'+'config=')+_0x5ec5dc['openclaw'][_0x25e01e(0xc7)+_0x25e01e(0x98)]+'.\x20'+(_0x25e01e(0x134)+'the\x20boot'+'strap\x20ru'+_0x25e01e(0x16b)+'th\x20the\x20c'+'onfigure'+_0x25e01e(0x124)+'ersion\x20b'+_0x25e01e(0xa2)+_0x25e01e(0x12d)+_0x25e01e(0x142)+_0x25e01e(0xdb)));}function validateRuntimeOpenClawVersion(_0x58de58,_0x253768){const _0x4ded6c=_0x509c47;if(_0x58de58[_0x4ded6c(0x164)+_0x4ded6c(0xb1)]===_0x253768[_0x4ded6c(0x164)][_0x4ded6c(0x164)+_0x4ded6c(0xb1)])return;throw new Error(_0x4ded6c(0xf3)+_0x4ded6c(0x164)+_0x4ded6c(0x16f)+_0x4ded6c(0x106)+':\x20manife'+'st='+(_0x58de58[_0x4ded6c(0x164)+_0x4ded6c(0xb1)]||'unknown')+(_0x4ded6c(0x112)+_0x4ded6c(0x180))+_0x253768[_0x4ded6c(0x164)][_0x4ded6c(0x164)+_0x4ded6c(0xb1)]+'.\x20'+(_0x4ded6c(0x10c)+_0x4ded6c(0x143)+'\x20prepare'+'\x22\x20so\x20the'+_0x4ded6c(0xaa)+_0x4ded6c(0x121)+'tall\x20the'+'\x20configu'+_0x4ded6c(0xea)+_0x4ded6c(0x118)+_0x4ded6c(0x11b)));}function parseNpmPackJson(_0x17062b){const _0x298370=_0x509c47,_0x3a7ba2=_0x17062b[_0x298370(0x102)](),_0x518f31=_0x3a7ba2[_0x298370(0x107)]('[');if(_0x518f31<0x0)throw new Error('npm\x20pack'+_0x298370(0x183)+_0x298370(0xc8)+_0x298370(0xbd)+_0x3a7ba2[_0x298370(0x10a)](0x0,0x1f4));const _0x1d063b=JSON['parse'](_0x3a7ba2[_0x298370(0x10a)](_0x518f31)),_0x3ed286=Array[_0x298370(0x122)](_0x1d063b)?_0x1d063b[0x0]:_0x1d063b;if(!_0x3ed286||typeof _0x3ed286!==_0x298370(0x131))throw new Error(_0x298370(0x172)+_0x298370(0xec)+'d\x20an\x20inv'+'alid\x20pay'+_0x298370(0xbc)+_0x3a7ba2[_0x298370(0x10a)](0x0,0x1f4));return _0x3ed286;}async function runProcess(_0x1e6097,_0x16a87f,_0x544cd4={}){const _0x26df4b=_0x509c47,_0x4382b4=_0x544cd4[_0x26df4b(0x100)]||[_0x1e6097,..._0x16a87f]['join']('\x20'),_0x116ab6=_0x544cd4['timeoutM'+'s']??NPM_INSTALL_TIMEOUT_MS,_0x673e8=spawn(_0x1e6097,_0x16a87f,{'cwd':_0x544cd4[_0x26df4b(0xa3)],'env':_0x544cd4['env'],'stdio':['ignore',_0x26df4b(0xcf),'pipe']});return await new Promise((_0x1f97db,_0x366489)=>{const _0x5ccb21=_0x26df4b;let _0x473e7e='',_0x25fa51='',_0x305926=![];const _0x1f04c3=setTimeout(()=>{const _0x3e8998=_0x1d3e;if(_0x305926)return;_0x305926=!![],_0x673e8['kill']('SIGTERM'),_0x366489(new Error(_0x4382b4+('\x20timed\x20o'+_0x3e8998(0xd5)+'\x20')+_0x116ab6+'ms'));},_0x116ab6);_0x673e8['stdout']['on'](_0x5ccb21(0x165),_0x3cbf76=>{const _0x40dac7=_0x5ccb21;_0x473e7e+=_0x3cbf76[_0x40dac7(0x116)]();}),_0x673e8[_0x5ccb21(0x97)]['on']('data',_0x2d1ce6=>{_0x25fa51+=_0x2d1ce6['toString']();}),_0x673e8['on'](_0x5ccb21(0x162),_0x4449e4=>{if(_0x305926)return;_0x305926=!![],clearTimeout(_0x1f04c3),_0x366489(_0x4449e4);}),_0x673e8['on']('close',(_0x4613f6,_0x4a2e5b)=>{const _0x554a60=_0x5ccb21;if(_0x305926)return;_0x305926=!![],clearTimeout(_0x1f04c3);if(_0x4613f6===0x0){_0x1f97db({'stdout':_0x473e7e,'stderr':_0x25fa51});return;}_0x366489(new Error(_0x4382b4+(_0x554a60(0x11d)+_0x554a60(0xc0)+'e=')+(_0x4613f6??'null')+_0x554a60(0x11a)+(_0x4a2e5b??'null')+'\x0a'+(''+(_0x25fa51||_0x473e7e))[_0x554a60(0x102)]()));});});}async function installOpenClawPackage(_0x46ab9d,_0xc45c96){const _0x41ef2b=_0x509c47,_0x1d8a67=join(_0x46ab9d[_0x41ef2b(0xac)+_0x41ef2b(0x14d)],_0x41ef2b(0xe0)),_0x3aa0c9=join(_0x46ab9d[_0x41ef2b(0xac)+_0x41ef2b(0x14d)],_0x41ef2b(0x105)+'w-extrac'+'t');await mkdir(_0x1d8a67,{'recursive':!![]}),await rm(_0x3aa0c9,{'recursive':!![],'force':!![]}),await mkdir(_0x3aa0c9,{'recursive':!![]});const _0x178e2d=await createRuntimeEnv(_0x46ab9d),_0x38365c=_0x41ef2b(0x164)+'@'+_0xc45c96;console[_0x41ef2b(0x176)](_0x41ef2b(0x152)+_0x41ef2b(0xbf)+_0x41ef2b(0x91)+_0x41ef2b(0x114)+'\x20'+_0x38365c);const _0x6a7711=await runProcess(_0x46ab9d['nodeExec'+_0x41ef2b(0x108)],[_0x46ab9d[_0x41ef2b(0x119)],'pack',_0x38365c,_0x41ef2b(0xfb)],{'cwd':_0x1d8a67,'env':_0x178e2d,'label':_0x41ef2b(0x172)+'\x20'+_0x38365c}),_0x235fa5=parseNpmPackJson(_0x6a7711['stdout']);if(_0x235fa5[_0x41ef2b(0x120)]!==_0xc45c96)throw new Error('Configur'+'ed\x20OpenC'+_0x41ef2b(0x182)+_0xc45c96+(_0x41ef2b(0xf5)+_0x41ef2b(0xc1))+_0x235fa5[_0x41ef2b(0x120)]);const _0x57da59=resolve(_0x1d8a67,_0x235fa5['filename']);if(!existsSync(_0x57da59))throw new Error(_0x41ef2b(0x172)+_0x41ef2b(0x183)+_0x41ef2b(0x17a)+_0x41ef2b(0xd4)+'\x20'+_0x57da59);await runProcess('tar',['-xzf',_0x57da59,'-C',_0x3aa0c9],{'label':_0x41ef2b(0xd2)+_0x235fa5['filename']}),await rm(_0x46ab9d[_0x41ef2b(0x164)+'WorkingD'+'ir'],{'recursive':!![],'force':!![]}),await rename(join(_0x3aa0c9,_0x41ef2b(0xd3)),_0x46ab9d['openclaw'+'WorkingD'+'ir']),await rm(_0x3aa0c9,{'recursive':!![],'force':!![]}),await runProcess(_0x46ab9d[_0x41ef2b(0x12e)+'utable'],[_0x46ab9d['npmCli'],_0x41ef2b(0x155),_0x41ef2b(0xe2)+'ev',_0x41ef2b(0x147)+'eer',_0x41ef2b(0xe7)+'it',_0x41ef2b(0x15d)+'d',_0x41ef2b(0x12a)+_0x41ef2b(0xfc)+'ps'],{'cwd':_0x46ab9d['openclaw'+'WorkingD'+'ir'],'env':_0x178e2d,'label':'npm\x20inst'+'all\x20'+_0x38365c+(_0x41ef2b(0xaa)+_0x41ef2b(0xcb)+_0x41ef2b(0x9b))});if(!existsSync(_0x46ab9d['openclaw'+_0x41ef2b(0xa5)]))throw new Error(_0x41ef2b(0xc6)+_0x41ef2b(0x16c)+_0x41ef2b(0x170)+_0x41ef2b(0x133)+_0x41ef2b(0x156)+':\x20'+_0x46ab9d[_0x41ef2b(0x164)+_0x41ef2b(0xa5)]);}function _0x46d0(){const _0x4f08dd=['t\x20\x22OPENC','ncies','.old-','replace','NCLAW_ST','ent\x20comp','\x22==\x22\x22\x20se','@echo\x20of','efore\x20pr','cwd','ion\x20mism','Bin','\x20is\x20miss','ing\x20\x22','flush','agents','\x20runtime',';\x20run\x20wu','runtimeR','p\x20runtim','string','8064848jSIZMY','runtime-','Version','missing\x20','manifest','path:\x20','npm-cach','ced','e\x20not\x20fo','projectR','jie-shel','sync-onl','PENCLAW_','load:\x20','JSON:\x20','y\x20manife','hell:run','with\x20cod','d\x20to\x20','product\x20','ME%\x22==\x22\x22','win32','NCLAW_HO','OpenClaw','nodeVers','\x20return\x20','npm-glob','started','\x20depende','ecs','replaceA','NCLAW_CO','pipe','time','leted','extract\x20','package','tarball:','ut\x20after','OME=','WorkingD','env','CRIPT_DI','rg/','ell.','NFIG_PAT','source','command','ame','.cache','pluginSp','--omit=d','info','cope\x20syn','wBin','startsWi','--no-aud','has','close','red\x20Open','bin','\x20returne','appId','\x20loaded','ped','split','LocalPlu','filter','runtime\x20','plugins\x20','\x20resolve','_DIR%','\x22\x20\x22$SCRI','set\x20\x22SCR','pid','Spec','--json','-peer-de','npm','HOME=\x22${','\x20written','label','R=\x22${OPE','trim','ATH=\x20cd\x20','nifest=','.opencla','mismatch','indexOf','utable','registry','slice','dAt','Run\x20\x22wuj','plugin\x20s','#!/bin/s','SIGTERM','IR=$(CDP','agentsDi',',\x20shell.','export\x20O','stalling','length','toString','node\x20ver','Claw\x20ver','npmCli','\x20signal=','sion.','failed','\x20failed\x20','.npmjs.o','unknown','version','\x20can\x20ins','isArray','dist','d\x20Node\x20v','now','1072575CQJBaT','und:\x20','resolved','PT_DIR/','--legacy','\x20started','4709100pUdfSt','eparing\x20','nodeExec','ATH=\x22${O','st\x20exist','object','wujiecla','nd\x20after','Rebuild\x20','ing','join','Name','-ai\x20runt','ynced','local','re\x20wujie','agents\x20s','\x22\x20\x22%SCRI','LAW_STAT','skills','&&\x20pwd)','ENCLAW_H','wujie-sh','ie-shell','toISOStr','ATE_DIR%','skillsDi','--omit=p','utf8','if\x20\x22%OPE','platform','w.json\x22','wrapper\x20','oot','replacem','$HOME/','ime\x20firs','PT_DIR%','[wujie-s','agentSco','sion\x20val','install','\x20install','ath','\x20package','prepare\x20','plugins','local:','18FNLBRg','--no-fun','e\x20checke','\x22\x20\x22$@\x22','dataDirN','%~dp0\x22','error','ATE_DIR:','openclaw','data','synced','.\x20For\x20MV','\x20set\x20\x22OP','exec\x20\x22$S','idated','ntime\x20wi','\x20bin\x20was','installP','ATH:-','Version\x20','\x20not\x20fou','ginPaths','npm\x20pack','\x20timed\x20o','\x22\x20%*','push','log','bootstra','1690020tRBJjS','P,\x20prepa','\x20create\x20','413787svFyDZ','ted','extensio','\x20validat','39176982LQClPW','config=','time-too','law\x20','\x20did\x20not','CONFIG_P','--\x20\x22$(di','map','.tmp/run','time]\x20in','https://','902226ZPrAYS','pluginId','\x22\x20at\x20','product','stderr','ion','35DuVKJt'];_0x46d0=function(){return _0x4f08dd;};return _0x46d0();}async function replaceRuntimeFromBootstrap(_0x1c1123,_0x403fd0){const _0x1a6ee7=_0x509c47;await mkdir(dirname(_0x403fd0),{'recursive':!![]});const _0x2a4a9e=_0x403fd0+'.next-'+process[_0x1a6ee7(0xf9)]+'-'+Date[_0x1a6ee7(0x125)](),_0x3cc0d7=_0x403fd0+_0x1a6ee7(0x9c)+process[_0x1a6ee7(0xf9)]+'-'+Date[_0x1a6ee7(0x125)]();await rm(_0x2a4a9e,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await rm(_0x3cc0d7,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await cp(_0x1c1123,_0x2a4a9e,{'recursive':!![],'force':!![]}),existsSync(_0x403fd0)&&(await rm(_0x3cc0d7,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await rename(_0x403fd0,_0x3cc0d7)),await rename(_0x2a4a9e,_0x403fd0),await rm(_0x3cc0d7,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96});}export async function readRuntimeManifest(_0x4f7597){return await readJson(resolveManifestPath(_0x4f7597),{});}export async function loadRuntimeInfo(_0x22c239){const _0xbd8620=_0x509c47,_0x4f68de=resolveRuntimeRoot(_0x22c239),_0x2af98e=await readRuntimeManifest(_0x4f68de);for(const _0x485700 of['nodeExec'+_0xbd8620(0x108),'npmCli',_0xbd8620(0x164)+_0xbd8620(0xd7)+'ir',_0xbd8620(0x164)+'Bin']){if(typeof _0x2af98e[_0x485700]!==_0xbd8620(0xae)||!_0x2af98e[_0x485700][_0xbd8620(0x102)]())throw new Error(_0xbd8620(0xf3)+'manifest'+_0xbd8620(0xa6)+_0xbd8620(0xa7)+_0x485700+_0xbd8620(0x95)+resolveManifestPath(_0x4f68de)+(_0xbd8620(0xab)+_0xbd8620(0xb9)+'l\x20prepar'+'e'));}const _0x58d934=resolve(_0x4f68de,_0x2af98e[_0xbd8620(0x12e)+'utable']),_0x3e6042=resolve(_0x4f68de,_0x2af98e[_0xbd8620(0x119)]),_0x5a0cbe=resolve(_0x4f68de,_0x2af98e[_0xbd8620(0x164)+'WorkingD'+'ir']),_0xb65b89=resolve(_0x4f68de,_0x2af98e[_0xbd8620(0x164)+'Bin']),_0x7f605c=Array[_0xbd8620(0x122)](_0x2af98e[_0xbd8620(0x15a)])?_0x2af98e[_0xbd8620(0x15a)]['map'](_0x48df3f=>({..._0x48df3f,'installPath':resolve(_0x4f68de,_0x48df3f[_0xbd8620(0x16d)+_0xbd8620(0x157)])})):[];for(const _0x28bfc3 of[_0x58d934,_0x3e6042,_0x5a0cbe,_0xb65b89]){if(!existsSync(_0x28bfc3))throw new Error('runtime\x20'+_0xbd8620(0xb2)+_0xbd8620(0xb4)+_0x28bfc3);}return{'runtimeRoot':_0x4f68de,'manifest':_0x2af98e,'openclawVersion':_0x2af98e[_0xbd8620(0x164)+_0xbd8620(0xb1)]||'unknown','nodeExecutable':_0x58d934,'npmCli':_0x3e6042,'openclawWorkingDir':_0x5a0cbe,'openclawBin':_0xb65b89,'plugins':_0x7f605c};}export async function spawnClaw(_0x47d56a,_0x260a1c=[],_0x4dbc03={}){const _0x381c61=_0x509c47,_0x5a4028=await loadRuntimeInfo(_0x47d56a),_0x5e6fad=await createRuntimeEnv(_0x5a4028,_0x4dbc03[_0x381c61(0xd8)]??{});return spawn(_0x5a4028[_0x381c61(0x12e)+_0x381c61(0x108)],[_0x5a4028[_0x381c61(0x164)+_0x381c61(0xa5)],..._0x260a1c],{'cwd':_0x5a4028[_0x381c61(0x164)+'WorkingD'+'ir'],'stdio':'pipe',..._0x4dbc03,'env':_0x5e6fad});}export async function runClawOnce(_0xad2fec,_0x3b4555=[],_0x471ab5=0x15f90){const _0x17aba7=await spawnClaw(_0xad2fec,_0x3b4555);return await new Promise((_0x2ecfc0,_0x5f3a6d)=>{const _0x47c9ae=_0x1d3e;let _0x203d22='',_0x52ffb5='',_0x1f6a4f=![];const _0x182589=setTimeout(()=>{const _0x4ef6eb=_0x1d3e;if(_0x1f6a4f)return;_0x1f6a4f=!![],_0x17aba7['kill'](_0x4ef6eb(0x10f)),_0x5f3a6d(new Error('openclaw'+_0x4ef6eb(0x173)+_0x4ef6eb(0xd5)+'\x20'+_0x471ab5+'ms'));},_0x471ab5);_0x17aba7['stdout']['on'](_0x47c9ae(0x165),_0x34a096=>{const _0x4554bd=_0x47c9ae;_0x203d22+=_0x34a096[_0x4554bd(0x116)]();}),_0x17aba7[_0x47c9ae(0x97)]['on'](_0x47c9ae(0x165),_0x301761=>{_0x52ffb5+=_0x301761['toString']();}),_0x17aba7['on'](_0x47c9ae(0x162),_0x2dec8f=>{if(_0x1f6a4f)return;_0x1f6a4f=!![],clearTimeout(_0x182589),_0x5f3a6d(_0x2dec8f);}),_0x17aba7['on'](_0x47c9ae(0xe9),(_0x2518bf,_0x20395d)=>{if(_0x1f6a4f)return;_0x1f6a4f=!![],clearTimeout(_0x182589),_0x2ecfc0({'code':_0x2518bf,'signal':_0x20395d,'stdout':_0x203d22,'stderr':_0x52ffb5});});});}function _0x1d3e(_0x4b3ab0,_0x1184ea){_0x4b3ab0=_0x4b3ab0-0x8e;const _0x46d02a=_0x46d0();let _0x1d3ee5=_0x46d02a[_0x4b3ab0];return _0x1d3ee5;}async function createRuntimeEnv(_0x33fd32,_0x17f6cb={}){const _0x4c6158=_0x509c47,_0x35c2db=process.env.OPENCLAW_STATE_DIR||'',_0x4f7818=_0x35c2db?join(_0x35c2db,'claw-run'+_0x4c6158(0x181)+'ls'):join(_0x33fd32[_0x4c6158(0xac)+_0x4c6158(0x14d)],'.tools'),_0x5ce801=join(_0x4f7818,_0x4c6158(0xc9)+'al'),_0x2ca727=join(_0x4f7818,_0x4c6158(0xb5)+'e'),_0x4631cc=join(_0x5ce801,'bin');await mkdir(_0x4631cc,{'recursive':!![]}),await mkdir(_0x2ca727,{'recursive':!![]});const _0x5d495a=[_0x4631cc,dirname(_0x33fd32[_0x4c6158(0x12e)+_0x4c6158(0x108)]),process.env.PATH||''];return{...process.env,..._0x17f6cb,'PATH':_0x5d495a[_0x4c6158(0xf2)](Boolean)[_0x4c6158(0x136)](delimiter),'npm_config_prefix':_0x5ce801,'NPM_CONFIG_PREFIX':_0x5ce801,'npm_config_cache':_0x2ca727,'NPM_CONFIG_CACHE':_0x2ca727,'npm_config_registry':_0x4c6158(0x92)+'registry'+_0x4c6158(0x11e)+_0x4c6158(0xda),'NPM_CONFIG_REGISTRY':_0x4c6158(0x92)+_0x4c6158(0x109)+'.npmjs.o'+_0x4c6158(0xda),'npm_execpath':_0x33fd32[_0x4c6158(0x119)],'npm_node_execpath':_0x33fd32[_0x4c6158(0x12e)+_0x4c6158(0x108)],'OPENCLAW_RUNTIME_NPM_PREFIX':_0x5ce801,'OPENCLAW_RUNTIME_NPM_BIN':_0x4631cc,'OPENCLAW_RUNTIME_NPM_REGISTRY':_0x4c6158(0x92)+_0x4c6158(0x109)+_0x4c6158(0x11e)+_0x4c6158(0xda)};}async function syncProductPlugins(_0x3201ef,_0x3d1819,_0x2db475){const _0x2e4b90=_0x509c47,_0x30482d=join(_0x3d1819,'openclaw',_0x2e4b90(0x123),_0x2e4b90(0x17d)+'ns'),_0x71de69=[];for(const _0x1a3e33 of _0x3201ef[_0x2e4b90(0x164)]['resolved'+'LocalPlu'+_0x2e4b90(0x171)]){const _0x4f3a6d=await getPackageMetadata(_0x1a3e33),_0x71cd75=await readPluginManifest(_0x1a3e33),_0x190955=join(_0x30482d,_0x4f3a6d[_0x2e4b90(0x94)]);await copyDirFresh(_0x1a3e33,_0x190955),_0x71de69[_0x2e4b90(0x175)]({'pluginId':_0x4f3a6d['pluginId'],'source':'local','spec':_0x2e4b90(0x15b)+_0x1a3e33,'installPath':toRuntimeRelative(_0x3d1819,_0x190955),'version':_0x4f3a6d[_0x2e4b90(0x120)],'resolvedName':_0x4f3a6d['name'],'resolvedVersion':_0x4f3a6d[_0x2e4b90(0x120)],'resolvedSpec':'local:'+_0x1a3e33,'integrity':'','shasum':'','resolvedAt':new Date()[_0x2e4b90(0x144)+'ing'](),'installedAt':new Date()[_0x2e4b90(0x144)+_0x2e4b90(0x135)](),'agentScope':_0x71cd75[_0x2e4b90(0x153)+'pe'],'skills':_0x71cd75[_0x2e4b90(0x13f)]});}const _0x499092=new Set(_0x71de69[_0x2e4b90(0x8f)](_0x1c2f3d=>_0x1c2f3d['pluginId'])),_0x4639ac=Array[_0x2e4b90(0x122)](_0x2db475[_0x2e4b90(0x15a)])?_0x2db475[_0x2e4b90(0x15a)][_0x2e4b90(0xf2)](_0x15c7d5=>!_0x499092[_0x2e4b90(0xe8)](_0x15c7d5[_0x2e4b90(0x94)])):[];_0x2db475[_0x2e4b90(0x15a)]=[..._0x4639ac,..._0x71de69];}async function syncManifestPluginScope(_0x15fca9,_0x267487,_0x13a04d){const _0x4bcab9=_0x509c47,_0x707f0f=join(_0x267487,_0x4bcab9(0x164),'dist',_0x4bcab9(0x17d)+'ns'),_0x545bff=new Set(_0x15fca9[_0x4bcab9(0x164)]['pluginSp'+'ecs']??[]),_0x1fc694=new Set([..._0x545bff][_0x4bcab9(0x8f)](_0x383616=>_0x383616[_0x4bcab9(0x9d)](/^npm:/,''))[_0x4bcab9(0x8f)](_0x37c4c9=>{const _0xd76a4b=_0x4bcab9;if(_0x37c4c9[_0xd76a4b(0xe6)+'th']('@')){const _0x5a252a=_0x37c4c9['split']('@');return _0x5a252a['length']>=0x3?'@'+_0x5a252a[0x1]:_0x37c4c9;}return _0x37c4c9[_0xd76a4b(0xf0)]('@')[0x0];})[_0x4bcab9(0xf2)](Boolean)),_0x2adc78=new Set();for(const _0x573986 of _0x15fca9[_0x4bcab9(0x164)][_0x4bcab9(0x128)+_0x4bcab9(0xf1)+'ginPaths']){const _0xa5b51a=await getPackageMetadata(_0x573986);if(_0xa5b51a[_0x4bcab9(0x94)])_0x2adc78['add'](_0xa5b51a[_0x4bcab9(0x94)]);}const _0x279b47=Array[_0x4bcab9(0x122)](_0x13a04d[_0x4bcab9(0x15a)])?_0x13a04d['plugins']:[];_0x13a04d['pluginSp'+_0x4bcab9(0xcc)]=[..._0x15fca9[_0x4bcab9(0x164)]['pluginSp'+_0x4bcab9(0xcc)],..._0x15fca9[_0x4bcab9(0x164)]['resolved'+_0x4bcab9(0xf1)+_0x4bcab9(0x171)][_0x4bcab9(0x8f)](_0x557ca3=>_0x4bcab9(0x15b)+_0x557ca3)],_0x13a04d['plugins']=_0x279b47[_0x4bcab9(0xf2)](_0x3d77b8=>{const _0x5b60c=_0x4bcab9;if(!_0x3d77b8||typeof _0x3d77b8!==_0x5b60c(0x131))return![];if(_0x3d77b8[_0x5b60c(0xdd)]===_0x5b60c(0x13a))return _0x2adc78['has'](_0x3d77b8[_0x5b60c(0x94)]);if(_0x3d77b8[_0x5b60c(0xdd)]===_0x5b60c(0xfd))return _0x545bff['has'](_0x3d77b8['spec'])||_0x545bff[_0x5b60c(0xe8)](_0x3d77b8[_0x5b60c(0x128)+_0x5b60c(0xfa)])||_0x1fc694[_0x5b60c(0xe8)](_0x3d77b8[_0x5b60c(0x128)+_0x5b60c(0x137)]);return![];});const _0x1dc638=new Set(_0x13a04d[_0x4bcab9(0x15a)]['map'](_0x5250c7=>_0x5250c7[_0x4bcab9(0x94)]));for(const _0x19061f of _0x279b47){if(!_0x19061f[_0x4bcab9(0x94)]||_0x1dc638[_0x4bcab9(0xe8)](_0x19061f['pluginId']))continue;const _0x4fc105=typeof _0x19061f[_0x4bcab9(0x16d)+_0x4bcab9(0x157)]===_0x4bcab9(0xae)&&_0x19061f[_0x4bcab9(0x16d)+_0x4bcab9(0x157)][_0x4bcab9(0x102)]()?resolve(_0x267487,_0x19061f[_0x4bcab9(0x16d)+_0x4bcab9(0x157)]):join(_0x707f0f,_0x19061f[_0x4bcab9(0x94)]),_0x27da3d=relative(_0x707f0f,_0x4fc105);if(_0x27da3d[_0x4bcab9(0xe6)+'th']('..')||_0x27da3d==='')continue;await rm(_0x4fc105,{'recursive':!![],'force':!![]});}}async function syncProductAgents(_0x1cbf4f,_0x1fba5e,_0x1029ab){const _0x243ec5=_0x509c47,_0x367a76=join(_0x1fba5e,_0x243ec5(0x164),_0x243ec5(0xa9));await copyDirFresh(_0x1cbf4f[_0x243ec5(0x164)][_0x243ec5(0x111)+'r'],_0x367a76),_0x1029ab[_0x243ec5(0xa9)]={'source':'product','installPath':toRuntimeRelative(_0x1fba5e,_0x367a76)};}async function syncProductSkills(_0x4d9b4c,_0xbd71ee,_0x3db897){const _0xc2a855=_0x509c47,_0x4147e3=join(_0xbd71ee,_0xc2a855(0x164),'skills');await copyDirFresh(_0x4d9b4c[_0xc2a855(0x164)][_0xc2a855(0x146)+'r'],_0x4147e3),_0x3db897['skills']={'source':_0xc2a855(0x96),'installPath':toRuntimeRelative(_0xbd71ee,_0x4147e3)};}
@@ -1 +1 @@
1
- (function(_0xe9d063,_0x51ad51){const _0x914fb5=_0x4bf2,_0xa8a96f=_0xe9d063();while(!![]){try{const _0x53da3a=parseInt(_0x914fb5(0x17b))/0x1*(-parseInt(_0x914fb5(0x173))/0x2)+parseInt(_0x914fb5(0x17e))/0x3*(-parseInt(_0x914fb5(0x177))/0x4)+parseInt(_0x914fb5(0x170))/0x5+-parseInt(_0x914fb5(0x178))/0x6*(parseInt(_0x914fb5(0x174))/0x7)+-parseInt(_0x914fb5(0x17f))/0x8+-parseInt(_0x914fb5(0x182))/0x9*(-parseInt(_0x914fb5(0x16e))/0xa)+parseInt(_0x914fb5(0x187))/0xb;if(_0x53da3a===_0x51ad51)break;else _0xa8a96f['push'](_0xa8a96f['shift']());}catch(_0x53c32b){_0xa8a96f['push'](_0xa8a96f['shift']());}}}(_0x5770,0x22f53));import{existsSync}from'node:fs';import{cp,mkdir,readFile,readdir,rm,stat,writeFile}from'node:fs/promises';import{basename,dirname,join,relative}from'node:path';export function asRecord(_0x5e6bdd){const _0x3d2dfd=_0x4bf2;return _0x5e6bdd&&typeof _0x5e6bdd===_0x3d2dfd(0x180)&&!Array['isArray'](_0x5e6bdd)?_0x5e6bdd:{};}export function asStringArray(_0x24bd2c){const _0x3bcb2a=_0x4bf2;return Array[_0x3bcb2a(0x17a)](_0x24bd2c)?_0x24bd2c[_0x3bcb2a(0x184)](_0x5303e6=>typeof _0x5303e6===_0x3bcb2a(0x16c)&&_0x5303e6['trim']())[_0x3bcb2a(0x172)](_0x4f7a1b=>_0x4f7a1b[_0x3bcb2a(0x179)]()):[];}export function dedupeStrings(_0x4f869e){const _0x7e0014=_0x4bf2;return[...new Set(_0x4f869e[_0x7e0014(0x184)](Boolean))];}export function getTrimmedString(_0x579aff){const _0x1bb679=_0x4bf2;return typeof _0x579aff===_0x1bb679(0x16c)?_0x579aff['trim']():'';}function _0x5770(){const _0x4c09f0=['isFile','openclaw','6299227rCwGUU','utf8','string','replaceA','1778470SUnOjA','name','306625gKpCNH','.plugin.','map','159598VQfRDa','119pHSfsp','parse','json','20qyFaJX','30354wArJrM','trim','isArray','3XfOEJV','0.0.0','version','43653sOhVLY','2163896fxAoTJ','object','isDirect','9PInVPe','package.','filter'];_0x5770=function(){return _0x4c09f0;};return _0x5770();}export async function readJson(_0x2208e5,_0x499169={}){const _0x454318=_0x4bf2;try{return JSON[_0x454318(0x175)](await readFile(_0x2208e5,_0x454318(0x16b)));}catch{return _0x499169;}}export async function writeJson(_0x2fa840,_0x3dbad5){const _0x5cdf4e=_0x4bf2;await mkdir(dirname(_0x2fa840),{'recursive':!![]}),await writeFile(_0x2fa840,JSON['stringif'+'y'](_0x3dbad5,null,0x2)+'\x0a',_0x5cdf4e(0x16b));}export async function copyDirFresh(_0x1a3c9e,_0x13a15f){await rm(_0x13a15f,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await mkdir(dirname(_0x13a15f),{'recursive':!![]}),await cp(_0x1a3c9e,_0x13a15f,{'recursive':!![]});}export async function ensureDir(_0x1d18e3){await mkdir(_0x1d18e3,{'recursive':!![]});}export function pathExists(_0x481e15){return existsSync(_0x481e15);}function _0x4bf2(_0x38cb66,_0xd8de6a){_0x38cb66=_0x38cb66-0x16b;const _0x577051=_0x5770();let _0x4bf2ba=_0x577051[_0x38cb66];return _0x4bf2ba;}export async function listDirs(_0x52c209){const _0x1bd2f1=_0x4bf2;try{const _0x357899=await readdir(_0x52c209,{'withFileTypes':!![],'encoding':_0x1bd2f1(0x16b)});return _0x357899['filter'](_0x15782f=>_0x15782f[_0x1bd2f1(0x181)+'ory']())[_0x1bd2f1(0x172)](_0x5cd060=>_0x5cd060['name']);}catch{return[];}}export async function getPackageMetadata(_0x1eb986){const _0x35a86f=_0x4bf2,_0x4a4519=await readJson(join(_0x1eb986,_0x35a86f(0x183)+_0x35a86f(0x176)),{}),_0x377eb2=asRecord(_0x4a4519[_0x35a86f(0x186)]);return{'name':getTrimmedString(_0x4a4519[_0x35a86f(0x16f)])||basename(_0x1eb986),'version':getTrimmedString(_0x4a4519[_0x35a86f(0x17d)])||_0x35a86f(0x17c),'pluginId':getTrimmedString(_0x377eb2['id'])||getTrimmedString(_0x4a4519[_0x35a86f(0x186)+'Id'])||basename(_0x1eb986)};}export async function readPluginManifest(_0x544525){const _0x12a1fe=_0x4bf2,_0x18a57d=join(_0x544525,_0x12a1fe(0x186)+_0x12a1fe(0x171)+'json'),_0x49e0c7=await readJson(_0x18a57d,{});return asRecord(_0x49e0c7);}export async function hasFile(_0x54a464){const _0x54d097=_0x4bf2;try{const _0x2f8613=await stat(_0x54a464);return _0x2f8613[_0x54d097(0x185)]();}catch{return![];}}export function toRuntimeRelative(_0x33ca12,_0x538cf5){const _0x41c904=_0x4bf2;return relative(_0x33ca12,_0x538cf5)[_0x41c904(0x16d)+'ll']('\x5c','/');}
1
+ (function(_0x484b7d,_0x55b0a9){const _0x205009=_0x40be,_0x4642f0=_0x484b7d();while(!![]){try{const _0x3cecea=-parseInt(_0x205009(0x86))/0x1*(-parseInt(_0x205009(0x7a))/0x2)+parseInt(_0x205009(0x78))/0x3+-parseInt(_0x205009(0x7b))/0x4+-parseInt(_0x205009(0x83))/0x5+parseInt(_0x205009(0x85))/0x6+parseInt(_0x205009(0x7c))/0x7*(-parseInt(_0x205009(0x87))/0x8)+parseInt(_0x205009(0x71))/0x9*(parseInt(_0x205009(0x88))/0xa);if(_0x3cecea===_0x55b0a9)break;else _0x4642f0['push'](_0x4642f0['shift']());}catch(_0x34d8a4){_0x4642f0['push'](_0x4642f0['shift']());}}}(_0x2ffe,0xa7f7f));function _0x40be(_0x4efc45,_0x2e4c6a){_0x4efc45=_0x4efc45-0x70;const _0x2ffe07=_0x2ffe();let _0x40beee=_0x2ffe07[_0x4efc45];return _0x40beee;}import{existsSync}from'node:fs';import{cp,mkdir,readFile,readdir,rm,stat,writeFile}from'node:fs/promises';import{basename,dirname,join,relative}from'node:path';export function asRecord(_0x1b2687){const _0xce861=_0x40be;return _0x1b2687&&typeof _0x1b2687===_0xce861(0x84)&&!Array[_0xce861(0x7d)](_0x1b2687)?_0x1b2687:{};}export function asStringArray(_0x539217){const _0x941db2=_0x40be;return Array[_0x941db2(0x7d)](_0x539217)?_0x539217[_0x941db2(0x79)](_0x2b108c=>typeof _0x2b108c===_0x941db2(0x81)&&_0x2b108c[_0x941db2(0x7e)]())[_0x941db2(0x82)](_0x29cc48=>_0x29cc48[_0x941db2(0x7e)]()):[];}export function dedupeStrings(_0x2eec47){const _0x4563bb=_0x40be;return[...new Set(_0x2eec47[_0x4563bb(0x79)](Boolean))];}export function getTrimmedString(_0x1d244c){const _0x51121a=_0x40be;return typeof _0x1d244c===_0x51121a(0x81)?_0x1d244c[_0x51121a(0x7e)]():'';}export async function readJson(_0x576d95,_0x43e029={}){const _0x148782=_0x40be;try{return JSON[_0x148782(0x76)](await readFile(_0x576d95,_0x148782(0x89)));}catch{return _0x43e029;}}export async function writeJson(_0x59a807,_0x172d66){const _0x20bd3c=_0x40be;await mkdir(dirname(_0x59a807),{'recursive':!![]}),await writeFile(_0x59a807,JSON['stringif'+'y'](_0x172d66,null,0x2)+'\x0a',_0x20bd3c(0x89));}export async function copyDirFresh(_0x17a4e3,_0x58d5bb){await rm(_0x58d5bb,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await mkdir(dirname(_0x58d5bb),{'recursive':!![]}),await cp(_0x17a4e3,_0x58d5bb,{'recursive':!![]});}export async function ensureDir(_0x1086a1){await mkdir(_0x1086a1,{'recursive':!![]});}export function pathExists(_0x30a2a1){return existsSync(_0x30a2a1);}export async function listDirs(_0x12e5f9){const _0x1b9c1f=_0x40be;try{const _0x47cbef=await readdir(_0x12e5f9,{'withFileTypes':!![],'encoding':'utf8'});return _0x47cbef[_0x1b9c1f(0x79)](_0x402cb1=>_0x402cb1[_0x1b9c1f(0x73)+'ory']())[_0x1b9c1f(0x82)](_0x791180=>_0x791180['name']);}catch{return[];}}export async function getPackageMetadata(_0x1214f0){const _0x5fc9d5=_0x40be,_0x4eedb9=await readJson(join(_0x1214f0,_0x5fc9d5(0x70)+_0x5fc9d5(0x72)),{}),_0x5d90f4=asRecord(_0x4eedb9[_0x5fc9d5(0x7f)]);return{'name':getTrimmedString(_0x4eedb9[_0x5fc9d5(0x80)])||basename(_0x1214f0),'version':getTrimmedString(_0x4eedb9[_0x5fc9d5(0x8a)])||'0.0.0','pluginId':getTrimmedString(_0x5d90f4['id'])||getTrimmedString(_0x4eedb9[_0x5fc9d5(0x7f)+'Id'])||basename(_0x1214f0)};}function _0x2ffe(){const _0x474a8a=['openclaw','name','string','map','4282495PjHfaH','object','2428302nGpqnu','82163CsDtfl','4304752ehLVLB','50sOAUiq','utf8','version','package.','4472073Iktsov','json','isDirect','replaceA','isFile','parse','.plugin.','60108mUhKHd','filter','2ogltFa','3635236uuaTer','7dYHEPG','isArray','trim'];_0x2ffe=function(){return _0x474a8a;};return _0x2ffe();}export async function readPluginManifest(_0x2955d6){const _0x314330=_0x40be,_0x78a197=join(_0x2955d6,_0x314330(0x7f)+_0x314330(0x77)+'json'),_0x3e6e88=await readJson(_0x78a197,{});return asRecord(_0x3e6e88);}export async function hasFile(_0x5a490c){const _0x108454=_0x40be;try{const _0x1c4373=await stat(_0x5a490c);return _0x1c4373[_0x108454(0x75)]();}catch{return![];}}export function toRuntimeRelative(_0x4f66ce,_0x36694e){const _0x2e6fae=_0x40be;return relative(_0x4f66ce,_0x36694e)[_0x2e6fae(0x74)+'ll']('\x5c','/');}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wujie-shell/core",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "main": "dist/src/index.mjs",
6
6
  "exports": {
@@ -27,7 +27,8 @@
27
27
  "dependencies": {
28
28
  "get-port": "^7.2.0",
29
29
  "ws": "^8.20.0",
30
- "@wujie-shell/config": "0.1.1"
30
+ "@wujie-shell/config": "0.1.2",
31
+ "@wujie-shell/logger": "0.1.2"
31
32
  },
32
33
  "scripts": {
33
34
  "build": "node ../../scripts/build-packages.mjs --package @wujie-shell/core"