@wujie-shell/core 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -24,6 +24,7 @@ logic or hard-coded product asset lists.
24
24
  import {
25
25
  createConfigController,
26
26
  createGatewayController,
27
+ ensureOpenClawDoctorFixed,
27
28
  loadRuntimeInfo,
28
29
  prepareRuntime,
29
30
  runClawOnce,
@@ -67,6 +68,14 @@ Behavior:
67
68
  `syncOnly: true` does not install a new OpenClaw version; it validates that the
68
69
  prepared runtime already matches the configured OpenClaw version.
69
70
 
71
+ The desktop gateway startup calls `ensureOpenClawDoctorFixed()` before
72
+ launching OpenClaw. That check compares the embedded runtime version with a
73
+ shell-owned marker at `~/<dataDirName>/runtime-state/openclaw-doctor.json`, then
74
+ runs `openclaw doctor --fix` when the user's persisted product state has not yet
75
+ been repaired for the current OpenClaw version. This covers packaged macOS and
76
+ Windows upgrades where the embedded `resources/runtime/runtime-manifest.json`
77
+ already belongs to the newly installed app bundle.
78
+
70
79
  ### `loadRuntimeInfo(projectRoot)`
71
80
 
72
81
  Reads and validates `runtime-manifest.json`, returning absolute paths:
@@ -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 _0x46b990=_0x3eca;function _0x3eca(_0x252663,_0x58e17c){_0x252663=_0x252663-0x114;const _0x9c1f60=_0x9c1f();let _0x3ecaee=_0x9c1f60[_0x252663];return _0x3ecaee;}(function(_0xf83ec4,_0x54197f){const _0x5e3c3d=_0x3eca,_0x2571a2=_0xf83ec4();while(!![]){try{const _0x338905=parseInt(_0x5e3c3d(0x12c))/0x1*(parseInt(_0x5e3c3d(0x11b))/0x2)+parseInt(_0x5e3c3d(0x11d))/0x3+parseInt(_0x5e3c3d(0x137))/0x4+-parseInt(_0x5e3c3d(0x133))/0x5+parseInt(_0x5e3c3d(0x122))/0x6*(parseInt(_0x5e3c3d(0x125))/0x7)+parseInt(_0x5e3c3d(0x13d))/0x8*(parseInt(_0x5e3c3d(0x128))/0x9)+parseInt(_0x5e3c3d(0x121))/0xa*(-parseInt(_0x5e3c3d(0x11c))/0xb);if(_0x338905===_0x54197f)break;else _0x2571a2['push'](_0x2571a2['shift']());}catch(_0x3834ab){_0x2571a2['push'](_0x2571a2['shift']());}}}(_0x9c1f,0xba7fb));import{resolve}from'node:path';import{loadShellConfig}from'@wujie-shell/config';import{prepareRuntime}from'../src/runtime.mjs';function parseArgs(_0x2819d8){const _0x1019a9=_0x3eca,_0x5c1bfb=[..._0x2819d8],_0x595de4=_0x5c1bfb[_0x1019a9(0x120)]()||_0x1019a9(0x12e),_0x59f406={'project':process['cwd']()};for(let _0x16cd2c=0x0;_0x16cd2c<_0x5c1bfb[_0x1019a9(0x134)];_0x16cd2c+=0x1){const _0x419400=_0x5c1bfb[_0x16cd2c];(_0x419400===_0x1019a9(0x119)+'t'||_0x419400==='-p')&&(_0x59f406[_0x1019a9(0x13a)]=_0x5c1bfb[_0x16cd2c+0x1],_0x16cd2c+=0x1);}return{'command':_0x595de4,'options':_0x59f406};}function usage(){const _0xd4d27b=_0x3eca;console[_0xd4d27b(0x12f)](_0xd4d27b(0x135)+'ell\x0a\x0aUsa'+_0xd4d27b(0x116)+_0xd4d27b(0x138)+_0xd4d27b(0x126)+'e\x20--proj'+_0xd4d27b(0x131)+_0xd4d27b(0x12b)+_0xd4d27b(0x117)+'-shell\x20s'+_0xd4d27b(0x129)+'oject\x20<u'+_0xd4d27b(0x13c)+_0xd4d27b(0x13b));}async function main(){const _0x41f6ff=_0x3eca,{command:_0x4168c8,options:_0x49d6bb}=parseArgs(process[_0x41f6ff(0x136)][_0x41f6ff(0x114)](0x2));if(_0x4168c8===_0x41f6ff(0x12e)||_0x4168c8==='--help'||_0x4168c8==='-h'){usage();return;}if(_0x4168c8!==_0x41f6ff(0x12a)&&_0x4168c8!==_0x41f6ff(0x115))throw new Error(_0x41f6ff(0x132)+'command:'+'\x20'+_0x4168c8);const _0x400fd8=resolve(_0x49d6bb[_0x41f6ff(0x13a)]),_0x206dc2=await loadShellConfig(_0x400fd8),_0x284abe=await prepareRuntime(_0x206dc2,{'syncOnly':_0x4168c8==='sync'});console[_0x41f6ff(0x12f)](JSON[_0x41f6ff(0x124)+'y']({'ok':!![],'command':_0x4168c8,'projectRoot':_0x400fd8,'runtimeRoot':_0x400fd8+(_0x41f6ff(0x127)+_0x41f6ff(0x130)),'openclawVersion':_0x284abe['openclaw'+_0x41f6ff(0x123)],'pluginCount':Array['isArray'](_0x284abe[_0x41f6ff(0x12d)])?_0x284abe['plugins'][_0x41f6ff(0x134)]:0x0},null,0x2));}main()[_0x46b990(0x11f)](_0x249fb0=>{const _0x2cc8f6=_0x46b990;console[_0x2cc8f6(0x139)](_0x249fb0 instanceof Error?_0x249fb0[_0x2cc8f6(0x11a)]||_0x249fb0[_0x2cc8f6(0x11e)]:String(_0x249fb0)),process[_0x2cc8f6(0x118)](0x1);});function _0x9c1f(){const _0x1fb4da=['--projec','stack','12wKyJbb','7007836JYfItv','4333497NYEYKk','message','catch','shift','50VVwWFB','18DuVhDw','Version','stringif','2386699nCzrgU','l\x20prepar','/.tmp/ru','305937VyPemq','ync\x20--pr','prepare','project>','32255iMOIqF','plugins','help','log','ntime','ect\x20<ui-','unknown\x20','3268095TJlHJN','length','wujie-sh','argv','3824804wXTlAx','jie-shel','error','project','t>\x0a','i-projec','232eXSwXn','slice','sync','ge:\x0a\x20\x20wu','\x0a\x20\x20wujie','exit'];_0x9c1f=function(){return _0x1fb4da;};return _0x9c1f();}
@@ -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(_0xabf0bf,_0x11b171){const _0x40c681=_0x28ce,_0x957c69=_0xabf0bf();while(!![]){try{const _0x182dae=-parseInt(_0x40c681(0x207))/0x1*(-parseInt(_0x40c681(0x1fd))/0x2)+-parseInt(_0x40c681(0x1ef))/0x3*(parseInt(_0x40c681(0x1e7))/0x4)+-parseInt(_0x40c681(0x1fb))/0x5*(-parseInt(_0x40c681(0x1eb))/0x6)+parseInt(_0x40c681(0x203))/0x7*(-parseInt(_0x40c681(0x1f9))/0x8)+-parseInt(_0x40c681(0x1e6))/0x9+-parseInt(_0x40c681(0x204))/0xa*(-parseInt(_0x40c681(0x205))/0xb)+-parseInt(_0x40c681(0x1e5))/0xc*(-parseInt(_0x40c681(0x1f8))/0xd);if(_0x182dae===_0x11b171)break;else _0x957c69['push'](_0x957c69['shift']());}catch(_0x212524){_0x957c69['push'](_0x957c69['shift']());}}}(_0x5a8a,0xeb8f2));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 _0x5a8a(){const _0x4e766b=['length','122954fvIFem','map','hell:ski','stringif','isArray','agents','push','trim','list','947160lEUrIB','16328061pMkvUu','308PhyxpY','ead\x20skil','skills','load','30yWJfVq','has','filter','warn','25386CyIElY','object','name','extraDir','utf8','SKILL.md','agentAll','find','lls]\x20fai','234pWFFRr','112jYElLx','ls\x20dir\x20a','435365sWpbwR','startsWi','26MNjBZu','owlist','main','gent=','[wujie-s','entries','704627TfwCHU','60oHYbMj','2539900tpeOaH'];_0x5a8a=function(){return _0x4e766b;};return _0x5a8a();}async function listValidSkillKeys(_0x10ab6f,_0x5080d3){const _0x79f811=_0x28ce;if(!existsSync(_0x10ab6f))return[];let _0x8aefad=[];try{_0x8aefad=await readdir(_0x10ab6f,{'withFileTypes':!![],'encoding':_0x79f811(0x1f3)});}catch(_0x368ee5){return console[_0x79f811(0x1ee)](_0x79f811(0x201)+_0x79f811(0x209)+_0x79f811(0x1f7)+'led\x20to\x20r'+_0x79f811(0x1e8)+_0x79f811(0x1fa)+_0x79f811(0x200)+_0x5080d3,_0x368ee5),[];}const _0x1a5c0c=[];for(const _0xee8c7b of _0x8aefad){if(!_0xee8c7b['isDirect'+'ory']())continue;const _0x1ae3e7=_0xee8c7b[_0x79f811(0x1f1)][_0x79f811(0x20e)]();if(!_0x1ae3e7||_0x1ae3e7[_0x79f811(0x1fc)+'th']('_'))continue;if(existsSync(join(_0x10ab6f,_0x1ae3e7,_0x79f811(0x1f4))))_0x1a5c0c[_0x79f811(0x20d)](_0x1ae3e7);}return _0x1a5c0c;}export async function discoverBundledAgentSkills(_0x5c5e92,_0xa3d555){const _0x477732=_0x28ce,_0x337157=[],_0x301055={},_0x45a9ca={};for(const _0x3adc20 of _0x5c5e92){const _0x2b2eaa=_0xa3d555(_0x3adc20),_0x3c749b=await listValidSkillKeys(_0x2b2eaa,_0x3adc20);_0x45a9ca[_0x3adc20]=_0x3c749b,_0x3c749b['length']>0x0&&(_0x337157[_0x477732(0x20d)](_0x2b2eaa),_0x301055[_0x3adc20]=_0x2b2eaa);}return{'extraDirs':_0x337157,'extraDirByAgent':_0x301055,'agentAllowlist':_0x45a9ca};}function _0x28ce(_0x188d23,_0x50ca55){_0x188d23=_0x188d23-0x1e5;const _0x5a8aaa=_0x5a8a();let _0x28ce45=_0x5a8aaa[_0x188d23];return _0x28ce45;}export async function syncBundledAgentSkillsToConfig({agentIds:_0x3d46c7,resolveSkillsDir:_0x1aa202,readConfig:_0x3751f1,writeConfig:_0x17fd03,markConfigWriteHandledInternally:_0x102bac}){const _0x81225d=_0x28ce,_0x505b9e=await discoverBundledAgentSkills(_0x3d46c7,_0x1aa202);if(_0x3d46c7['length']===0x0)return{'discovery':_0x505b9e,'changed':![]};const _0x1d4f18=await _0x3751f1();let _0x493245=![];const _0x1df041=asRecord(_0x1d4f18[_0x81225d(0x1e9)]),_0x24d9c4=asRecord(_0x1df041[_0x81225d(0x1ea)]),_0x43d101=asStringArray(_0x24d9c4['extraDir'+'s']),_0x1f7d8d=dedupeStrings([..._0x43d101,..._0x505b9e[_0x81225d(0x1f2)+'s']]);JSON[_0x81225d(0x20a)+'y'](_0x43d101)!==JSON[_0x81225d(0x20a)+'y'](_0x1f7d8d)&&(_0x24d9c4[_0x81225d(0x1f2)+'s']=_0x1f7d8d,_0x1df041['load']=_0x24d9c4,_0x1d4f18[_0x81225d(0x1e9)]=_0x1df041,_0x493245=!![]);const _0x55fa4d=asRecord(_0x1d4f18['agents']),_0x28faf2=Array[_0x81225d(0x20b)](_0x55fa4d[_0x81225d(0x20f)])?_0x55fa4d[_0x81225d(0x20f)]:[];if(_0x28faf2[_0x81225d(0x206)]>0x0){const _0x381e75=_0x28faf2['map'](_0x1b1daa=>_0x1b1daa&&typeof _0x1b1daa===_0x81225d(0x1f0)?{..._0x1b1daa}:_0x1b1daa);let _0x24fc93=![];for(const [_0x519c5e,_0x416e7c]of Object[_0x81225d(0x202)](_0x505b9e[_0x81225d(0x1f5)+_0x81225d(0x1fe)])){if(_0x519c5e===_0x81225d(0x1ff))continue;const _0x51ce92=_0x381e75[_0x81225d(0x1f6)](_0x55e039=>asRecord(_0x55e039)['id']===_0x519c5e);if(!_0x51ce92)continue;const _0x30aadf=Array[_0x81225d(0x20b)](_0x51ce92['skills'])?_0x51ce92[_0x81225d(0x1e9)]:null;(!_0x30aadf||JSON['stringif'+'y'](_0x30aadf)!==JSON[_0x81225d(0x20a)+'y'](_0x416e7c))&&(_0x51ce92[_0x81225d(0x1e9)]=_0x416e7c,_0x24fc93=!![]);}_0x24fc93&&(_0x55fa4d['list']=_0x381e75,_0x1d4f18[_0x81225d(0x20c)]=_0x55fa4d,_0x493245=!![]);}return _0x493245&&(_0x102bac?.(),await _0x17fd03(_0x1d4f18)),{'discovery':_0x505b9e,'changed':_0x493245};}export function filterSkillsForAgent(_0x16c772,_0x612e8e,_0x3c49a2=''){const _0x283f9a=_0x28ce,_0x3cf417=Array[_0x283f9a(0x20b)](asRecord(_0x16c772)[_0x283f9a(0x1e9)])?asRecord(_0x16c772)[_0x283f9a(0x1e9)]:[],_0xcf4a87=getTrimmedString(_0x3c49a2)||_0x283f9a(0x1ff),_0x5ddf83=Array[_0x283f9a(0x20b)](asRecord(asRecord(_0x612e8e)['agents'])[_0x283f9a(0x20f)])?asRecord(asRecord(_0x612e8e)[_0x283f9a(0x20c)])['list']:[],_0x3de59c=_0x5ddf83[_0x283f9a(0x208)](asRecord)[_0x283f9a(0x1f6)](_0x4a3869=>getTrimmedString(_0x4a3869['id'])===_0xcf4a87),_0x49726d=_0x3de59c&&Array[_0x283f9a(0x20b)](_0x3de59c[_0x283f9a(0x1e9)])?new Set(asStringArray(_0x3de59c[_0x283f9a(0x1e9)])):null;if(!_0x49726d)return _0x16c772;return{...asRecord(_0x16c772),'skills':_0x3cf417[_0x283f9a(0x1ed)](_0xe2b0c6=>_0x49726d[_0x283f9a(0x1ec)](getTrimmedString(asRecord(_0xe2b0c6)['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(_0x5cf1f9,_0x1fde59){const _0x5c0f0b=_0x349b,_0x4aba21=_0x5cf1f9();while(!![]){try{const _0x568b0b=parseInt(_0x5c0f0b(0x1de))/0x1*(parseInt(_0x5c0f0b(0x1e8))/0x2)+-parseInt(_0x5c0f0b(0x1be))/0x3+-parseInt(_0x5c0f0b(0x1db))/0x4+-parseInt(_0x5c0f0b(0x1e9))/0x5*(parseInt(_0x5c0f0b(0x1dd))/0x6)+parseInt(_0x5c0f0b(0x1da))/0x7+parseInt(_0x5c0f0b(0x1e7))/0x8+parseInt(_0x5c0f0b(0x1df))/0x9;if(_0x568b0b===_0x1fde59)break;else _0x4aba21['push'](_0x4aba21['shift']());}catch(_0x3e223a){_0x4aba21['push'](_0x4aba21['shift']());}}}(_0x2f58,0xb5ae8));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 _0x349b(_0xca952c,_0x3436da){_0xca952c=_0xca952c-0x1bc;const _0x2f5885=_0x2f58();let _0x349bfa=_0x2f5885[_0xca952c];return _0x349bfa;}function toOptionalString(_0x4c30dd){const _0x409d3e=getTrimmedString(_0x4c30dd);return _0x409d3e||undefined;}function _0x2f58(){const _0x92bf43=['agentId','cnName','pped\x20uns','length','relPath','startsWi','absPath','utf8','model','toolDoma','parse','avatar','some','[wujie-s','son','afe\x20mana','led\x20to\x20s','icon','ins','4507874VsNUED','998876vlAqVJ','readme.j','5500626MgoxPk','552087TWwxvx','3758913HMxQVu','hell:age','name','all','agents','nts]\x20ski','warn','filter','3290072zisLNY','4wsZskw','5ARTRDA','workspac','gedPath:','1999242jkNdZs','map','emoji','capabili','version','main','trim','isDirect','nts]\x20fai'];_0x2f58=function(){return _0x92bf43;};return _0x2f58();}export async function loadBundledAgents(_0x104fe5){const _0x4ac58d=_0x349b;let _0x24d8cd=[];try{_0x24d8cd=await readdir(_0x104fe5,{'withFileTypes':!![],'encoding':_0x4ac58d(0x1ce)});}catch{return[];}const _0x59ca4b=await Promise[_0x4ac58d(0x1e2)](_0x24d8cd[_0x4ac58d(0x1e6)](_0x28dd6a=>_0x28dd6a[_0x4ac58d(0x1c5)+'ory']())['map'](async _0x3dfc9d=>{const _0x50070f=_0x4ac58d,_0x189ad6=_0x3dfc9d[_0x50070f(0x1e1)][_0x50070f(0x1c4)]();if(!_0x189ad6)return null;const _0x305030=await readJson(join(_0x104fe5,_0x189ad6,_0x50070f(0x1dc)+_0x50070f(0x1d5)),{}),_0x2328c0=asRecord(_0x305030),_0x339197=toOptionalString(_0x2328c0[_0x50070f(0x1e1)])??_0x189ad6;if(!_0x339197)return null;return{'name':_0x339197,'cnName':toOptionalString(_0x2328c0[_0x50070f(0x1c8)]),'avatar':toOptionalString(_0x2328c0[_0x50070f(0x1d2)]),'icon':toOptionalString(_0x2328c0[_0x50070f(0x1d8)]),'emoji':toOptionalString(_0x2328c0[_0x50070f(0x1c0)]),'model':toOptionalString(_0x2328c0[_0x50070f(0x1cf)]),'version':toOptionalString(_0x2328c0[_0x50070f(0x1c2)]),'capabilityDomains':asStringArray(_0x2328c0[_0x50070f(0x1c1)+'tyDomain'+'s']??_0x2328c0[_0x50070f(0x1d0)+_0x50070f(0x1d9)]),'managedPaths':asStringArray(_0x2328c0['managedP'+'aths'])};}));return _0x59ca4b[_0x4ac58d(0x1e6)](Boolean);}async function readJsonVersion(_0x356485){const _0x2aaae5=_0x349b;try{const _0x2b46eb=JSON[_0x2aaae5(0x1d1)](await readFile(_0x356485,_0x2aaae5(0x1ce)));return getTrimmedString(asRecord(_0x2b46eb)[_0x2aaae5(0x1c2)])||null;}catch{return null;}}function assertSafeManagedPath(_0x170572,_0x1d185b){const _0x53377e=_0x349b,_0x1d4d9a=getTrimmedString(_0x1d185b);if(!_0x1d4d9a||_0x1d4d9a['startsWi'+'th']('/')||_0x1d4d9a['includes']('..'))return null;const _0x1a8a2d=resolve(_0x170572),_0x2a4bd9=resolve(join(_0x170572,_0x1d4d9a));if(_0x2a4bd9!==_0x1a8a2d&&!_0x2a4bd9[_0x53377e(0x1cc)+'th'](_0x1a8a2d+sep))return null;return{'relPath':_0x1d4d9a,'absPath':_0x2a4bd9};}async function copyManagedPaths(_0x3b4985,_0x10a14b,_0xea1ef0){const _0x3fe8d6=_0x349b;if(_0xea1ef0[_0x3fe8d6(0x1ca)]===0x0){await cp(_0x3b4985,_0x10a14b,{'recursive':!![]});return;}for(const _0xd52e81 of _0xea1ef0){const _0x3ad516=assertSafeManagedPath(_0x10a14b,_0xd52e81);if(!_0x3ad516){console[_0x3fe8d6(0x1e5)](_0x3fe8d6(0x1d4)+'hell:age'+_0x3fe8d6(0x1e4)+_0x3fe8d6(0x1c9)+_0x3fe8d6(0x1d6)+_0x3fe8d6(0x1bd)+'\x20'+_0xd52e81);continue;}const _0x338fd8=join(_0x3b4985,_0x3ad516[_0x3fe8d6(0x1cb)]);if(!existsSync(_0x338fd8)){await rm(_0x3ad516[_0x3fe8d6(0x1cd)],{'recursive':!![],'force':!![]});continue;}await rm(_0x3ad516[_0x3fe8d6(0x1cd)],{'recursive':!![],'force':!![]}),await mkdir(dirname(_0x3ad516[_0x3fe8d6(0x1cd)]),{'recursive':!![]}),await cp(_0x338fd8,_0x3ad516['absPath'],{'recursive':!![]});}}export async function ensureBundledAgents({runtimeBundledAgentsDir:_0x5b904e,stateDir:_0x44296f,listAgents:_0x3df371,createAgent:_0x6ef7e0,updateAgent:_0x6c9b25,syncSkills:_0x4e9cd1}){const _0x14a676=_0x349b;let _0x2927c0=![];const _0x545bf5=await _0x3df371(),_0x5ec53e=Array['isArray'](_0x545bf5['agents'])?_0x545bf5[_0x14a676(0x1e3)]:[],_0x11da52=_0x5ec53e['find'](_0x144a13=>_0x144a13?.['id']==='main'),_0x5c3fc2=getTrimmedString(_0x11da52?.[_0x14a676(0x1bc)+'e'])||join(_0x44296f,_0x14a676(0x1bc)+'e'),_0x1ab827=await loadBundledAgents(_0x5b904e);for(const _0x5732af of _0x1ab827){const {name:_0x418e6e,cnName:_0x450afb,avatar:_0x5acb94,emoji:_0x39366e,version:_0xd4331e,managedPaths:_0x219ee4}=_0x5732af,_0x5bd1d5=_0x418e6e===_0x14a676(0x1c3),_0x4f5768=_0x5bd1d5?_0x5c3fc2:join(dirname(_0x5c3fc2),_0x14a676(0x1bc)+'e-'+_0x418e6e),_0x2103f6=join(_0x5b904e,_0x418e6e);if(!existsSync(_0x2103f6))continue;try{const _0x4f7cc9=_0x5bd1d5||_0x5ec53e[_0x14a676(0x1d3)](_0x526cfc=>_0x526cfc?.['id']===_0x418e6e);if(_0x4f7cc9){const _0xee13b7=await readJsonVersion(join(_0x4f5768,_0x14a676(0x1dc)+_0x14a676(0x1d5)));if(_0xd4331e&&_0xee13b7&&_0xd4331e===_0xee13b7)continue;await mkdir(_0x4f5768,{'recursive':!![]}),await copyManagedPaths(_0x2103f6,_0x4f5768,_0x219ee4);}else await rm(_0x4f5768,{'recursive':!![],'force':!![]}),await mkdir(_0x4f5768,{'recursive':!![]}),await cp(_0x2103f6,_0x4f5768,{'recursive':!![]});_0x2927c0=!![];if(_0x5bd1d5)continue;if(_0x4f7cc9){const _0x448052={'agentId':_0x418e6e,'workspace':_0x4f5768};if(_0x450afb)_0x448052[_0x14a676(0x1e1)]=_0x450afb;if(_0x5acb94)_0x448052[_0x14a676(0x1d2)]=_0x5acb94;if(_0x39366e)_0x448052[_0x14a676(0x1c0)]=_0x39366e;await _0x6c9b25(_0x448052);}else{const _0x23f57a={'name':_0x418e6e,'workspace':_0x4f5768};if(_0x5acb94)_0x23f57a[_0x14a676(0x1d2)]=_0x5acb94;if(_0x39366e)_0x23f57a[_0x14a676(0x1c0)]=_0x39366e;const _0x1d822e=asRecord(await _0x6ef7e0(_0x23f57a));_0x450afb&&await _0x6c9b25({'agentId':getTrimmedString(_0x1d822e[_0x14a676(0x1c7)])||_0x418e6e,'name':_0x450afb});}}catch(_0x2ad342){console['error'](_0x14a676(0x1d4)+_0x14a676(0x1e0)+_0x14a676(0x1c6)+_0x14a676(0x1d7)+'ync\x20bund'+'led\x20agen'+'t\x20\x22'+_0x418e6e+'\x22',_0x2ad342);}}return await _0x4e9cd1?.({'agentIds':_0x1ab827[_0x14a676(0x1bf)](_0x1dc0e7=>_0x1dc0e7['name']),'mainWorkspace':_0x5c3fc2}),{'didUpdate':_0x2927c0,'bundledAgents':_0x1ab827};}
@@ -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 _0xe7c34b=_0x103d;(function(_0x3faeca,_0x2f0942){const _0x5c21a7=_0x103d,_0x1d73ea=_0x3faeca();while(!![]){try{const _0x9bb23f=-parseInt(_0x5c21a7(0x124))/0x1+parseInt(_0x5c21a7(0xbe))/0x2+parseInt(_0x5c21a7(0x128))/0x3*(-parseInt(_0x5c21a7(0x10c))/0x4)+parseInt(_0x5c21a7(0xb9))/0x5*(-parseInt(_0x5c21a7(0x118))/0x6)+-parseInt(_0x5c21a7(0xbf))/0x7+-parseInt(_0x5c21a7(0xa9))/0x8+parseInt(_0x5c21a7(0xaa))/0x9;if(_0x9bb23f===_0x2f0942)break;else _0x1d73ea['push'](_0x1d73ea['shift']());}catch(_0x3face7){_0x1d73ea['push'](_0x1d73ea['shift']());}}}(_0x1c58,0xcfbe7));import{randomBytes}from'node:crypto';import{existsSync,unwatchFile,watchFile}from'node:fs';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import _0x2ec80b,{portNumbers}from'get-port';import{ensureShellStateDirs,getConfigPaths,readJsonFile,writeJsonFile}from'@wujie-shell/config';import{asRecord,dedupeStrings,getTrimmedString,writeJson}from'./utils.mjs';function _0x103d(_0x851c37,_0x289eb4){_0x851c37=_0x851c37-0xa8;const _0x1c587e=_0x1c58();let _0x103d69=_0x1c587e[_0x851c37];return _0x103d69;}import{loadRuntimeInfo}from'./runtime.mjs';import{createRuntimeLogger,summarizeRuntimeManifest}from'./runtime-logger.mjs';import{syncRuntimeManifestPlugins}from'./plugin-sync.mjs';const MEMORY_CORE_PLUGIN_ID=_0xe7c34b(0x130)+_0xe7c34b(0xa8),ACTIVE_MEMORY_PLUGIN_ID=_0xe7c34b(0xc5)+'emory',ASK_USER_QUESTION_PLUGIN_ID=_0xe7c34b(0x10b)+_0xe7c34b(0x10d)+'n';function createToken(){const _0x179e8c=_0xe7c34b;return randomBytes(0x18)[_0x179e8c(0xae)](_0x179e8c(0x108));}function createProviderModelConfig(_0x27f22f,_0x2ad79a=![]){const _0x4b3df8=_0xe7c34b;return{'id':_0x27f22f,'name':_0x27f22f,'reasoning':!![],'input':_0x2ad79a?[_0x4b3df8(0x115),'image']:['text'],'cost':{'input':0x0,'output':0x0,'cacheRead':0x0,'cacheWrite':0x0},'contextWindow':0x3e800,'maxTokens':0x3e800};}function createProviderConfig(_0x1e3a5c){const _0xc7f7c=_0xe7c34b;return{'apiKey':_0x1e3a5c[_0xc7f7c(0xd8)],'api':_0x1e3a5c[_0xc7f7c(0x100)]===_0xc7f7c(0x127)+'c'?_0xc7f7c(0x127)+_0xc7f7c(0xd6)+'es':_0xc7f7c(0x103)+_0xc7f7c(0xb1)+'ns',..._0x1e3a5c[_0xc7f7c(0xe8)]?{'baseUrl':_0x1e3a5c[_0xc7f7c(0xe8)]}:{},'models':[createProviderModelConfig(_0x1e3a5c[_0xc7f7c(0xf0)+'e'])]};}function _0x1c58(){const _0x1d9da8=['tart','active-m','elPrimar','keys','filter','\x20config\x20','environm','provider','ange','model\x20co','product\x20','entries','self-ope','written','claw\x20con','mtimeMs','dels\x20upd','plugins\x20','c-messag','agents','apiKey','tarted','defaultM','ing','ated','missing;','config','isArray','configPa','config\x20s','auto','runtimeR','fig\x20chan','stateDir','runtime\x20','oot','baseUrl','created','Version','mode','info\x20loa','extraDir','last-goo','per-chan','modelNam','compat','\x20for\x20con','local','nfig\x20syn','ded\x20for\x20','fig','ConfigPa','skills','ready\x20cu','red','gatewayS','indexOf','openclaw','toISOStr','penclaw\x20','protocol','info','ensure\x20i','openai-c','onfig\x20ch','plugin\x20c','slice','imageMod','hex','her\x20obse','now','ask-user','689288ZMtqGp','-questio','allow','config\x20c','nto\x20open','memory','her\x20igno','nfig\x20alr','nitial\x20o','text','models','anged','3953370fqjZVw','merge','odel','load','stringif','aw\x20confi','projectR','rated\x20mo','idle','eUrl','g\x20writte','Key','1646854YkFlhG','error','d\x20opencl','anthropi','3QtULGk','reload\x20s','entityPa','deviceId','ile\x20watc','dmScope','\x20creatin','dataDir','memory-c','modelBas','yName','ailed','nChange','ore','10062760bpEAck','37340370vteTeM','defaults','rrent','ports','toString','config\x20f','manifest','ompletio','initial\x20','eady\x20cur','session','ync','primary','ttings\x20u','changed','5saeESN','persiste','length','plugins','nfig\x20upd','959662yKyaAM','293482yclsJU','ompleted','model','lastGood','ernal\x20ch'];_0x1c58=function(){return _0x1d9da8;};return _0x1c58();}function createRuntimePluginBootstrap(_0x35e1dd){const _0x353957=_0xe7c34b,_0xaf2c79={},_0x42a263=[];for(const _0x324397 of _0x35e1dd??[]){const _0xe13a3=getTrimmedString(_0x324397['pluginId']);if(!_0xe13a3)continue;_0xaf2c79[_0xe13a3]={'enabled':!![]},_0x42a263['push'](_0xe13a3);}return!_0xaf2c79[MEMORY_CORE_PLUGIN_ID]&&(_0xaf2c79[MEMORY_CORE_PLUGIN_ID]={'enabled':!![],'config':{'dreaming':{'enabled':!![]}}}),!_0xaf2c79[ACTIVE_MEMORY_PLUGIN_ID]&&(_0xaf2c79[ACTIVE_MEMORY_PLUGIN_ID]={'enabled':!![]}),{'entries':_0xaf2c79,'allow':dedupeStrings([..._0x42a263,MEMORY_CORE_PLUGIN_ID,ACTIVE_MEMORY_PLUGIN_ID]),'bundledDiscovery':_0x353957(0xf1)};}function createInitialOpenClawConfig(_0x1d4f2d,_0x52a088){const _0x478f6d=_0xe7c34b,_0x55df76=new Date()[_0x478f6d(0xfe)+_0x478f6d(0xdb)](),_0x257b0f=join(_0x1d4f2d[_0x478f6d(0x12f)],'workspac'+'e'),_0xce3ee4=asRecord(_0x1d4f2d[_0x478f6d(0x116)]),_0x5d225b=getTrimmedString(_0xce3ee4[_0x478f6d(0xda)+_0x478f6d(0x11a)]),_0x379a1d={'workspace':_0x257b0f,'memorySearch':{'enabled':!![],'sources':[_0x478f6d(0x111)],'provider':_0x478f6d(0xe2)},'compaction':{'memoryFlush':{'enabled':!![],'forceFlushTranscriptBytes':'256kb','softThresholdTokens':0x30d40}}};return _0x5d225b&&(_0x379a1d['model']={'primary':_0x5d225b}),{'meta':{'lastTouchedVersion':_0x52a088[_0x478f6d(0xfd)+_0x478f6d(0xea)],'lastTouchedAt':_0x55df76},'wizard':{'lastRunAt':_0x55df76,'lastRunVersion':_0x52a088['openclaw'+'Version'],'lastRunCommand':'onboard','lastRunMode':_0x478f6d(0xf3)},'models':{'mode':_0x478f6d(0x119),'providers':asRecord(_0xce3ee4[_0x478f6d(0xcb)+'s'])},'agents':{'defaults':_0x379a1d},'tools':{'profile':'full'},'plugins':createRuntimePluginBootstrap(_0x52a088[_0x478f6d(0xbc)]),'skills':{'load':{'extraDirs':[_0x478f6d(0xf8)]}},'session':{'dmScope':'per-chan'+'nel-peer','reset':{'mode':_0x478f6d(0x120)}}};}function hasMeaningfulProductModels(_0x59ba6e){const _0x2c8bc3=_0xe7c34b,_0xf46259=asRecord(_0x59ba6e[_0x2c8bc3(0x116)]);return Object[_0x2c8bc3(0xc7)](asRecord(_0xf46259[_0x2c8bc3(0xcb)+'s']))[_0x2c8bc3(0xbb)]>0x0||Boolean(getTrimmedString(_0xf46259['defaultM'+_0x2c8bc3(0x11a)]));}function summarizeOpenClawConfig(_0x475187){const _0x115ce9=_0xe7c34b,_0x42b527=asRecord(_0x475187['models']),_0x3d27bc=asRecord(_0x42b527[_0x115ce9(0xcb)+'s']),_0x2750d4=asRecord(_0x475187[_0x115ce9(0xd7)]),_0x587215=asRecord(_0x2750d4[_0x115ce9(0xab)]),_0x5d8047=asRecord(_0x587215['model']),_0x37bd3a=asRecord(_0x475187[_0x115ce9(0xbc)]),_0x47ae26=asRecord(_0x37bd3a['entries']),_0x5b3973=asRecord(_0x475187[_0x115ce9(0xf8)]),_0x2f747a=asRecord(_0x5b3973[_0x115ce9(0x11b)]),_0x1ed08d=asRecord(_0x475187[_0x115ce9(0xb4)]),_0x4d92de=Array[_0x115ce9(0xdf)](_0x2f747a[_0x115ce9(0xed)+'s'])?_0x2f747a[_0x115ce9(0xed)+'s']:[];return{'providerCount':Object[_0x115ce9(0xc7)](_0x3d27bc)['length'],'defaultModel':getTrimmedString(_0x5d8047[_0x115ce9(0xb6)]),'pluginEntryCount':Object[_0x115ce9(0xc7)](_0x47ae26)[_0x115ce9(0xbb)],'pluginAllowCount':Array[_0x115ce9(0xdf)](_0x37bd3a[_0x115ce9(0x10e)])?_0x37bd3a[_0x115ce9(0x10e)][_0x115ce9(0xbb)]:0x0,'skillExtraDirCount':_0x4d92de[_0x115ce9(0xbb)],'sessionDmScope':getTrimmedString(_0x1ed08d[_0x115ce9(0x12d)])};}function syncProductModels(_0x33a71a,_0x28825a){const _0x42fc71=_0xe7c34b;if(!hasMeaningfulProductModels(_0x28825a))return{'config':_0x33a71a,'changed':![]};let _0x20eb74=![];const _0x5022a0=asRecord(_0x28825a['models']),_0x2a4ff8=asRecord(_0x5022a0['provider'+'s']),_0x50b45c=getTrimmedString(_0x5022a0[_0x42fc71(0xda)+_0x42fc71(0x11a)]),_0x44aa94=asRecord(_0x33a71a[_0x42fc71(0x116)]),_0x3358ba=asRecord(_0x44aa94[_0x42fc71(0xcb)+'s']);for(const [_0x1e6800,_0x64610a]of Object[_0x42fc71(0xcf)](_0x2a4ff8)){const _0x1fdbb7=asRecord(_0x3358ba[_0x1e6800]),_0x1221d7=asRecord(_0x64610a);JSON['stringif'+'y'](_0x1fdbb7)!==JSON[_0x42fc71(0x11c)+'y'](_0x1221d7)&&(_0x3358ba[_0x1e6800]=_0x1221d7,_0x20eb74=!![]);}_0x44aa94[_0x42fc71(0xeb)]!==_0x42fc71(0x119)&&(_0x44aa94[_0x42fc71(0xeb)]=_0x42fc71(0x119),_0x20eb74=!![]);_0x44aa94[_0x42fc71(0xcb)+'s']!==_0x3358ba&&(_0x44aa94[_0x42fc71(0xcb)+'s']=_0x3358ba,_0x20eb74=!![]);_0x33a71a[_0x42fc71(0x116)]!==_0x44aa94&&(_0x33a71a[_0x42fc71(0x116)]=_0x44aa94,_0x20eb74=!![]);if(_0x50b45c){const _0x580307=asRecord(_0x33a71a[_0x42fc71(0xd7)]),_0x2be581=asRecord(_0x580307[_0x42fc71(0xab)]),_0x396511=asRecord(_0x2be581[_0x42fc71(0xc1)]);_0x396511[_0x42fc71(0xb6)]!==_0x50b45c&&(_0x2be581[_0x42fc71(0xc1)]={..._0x396511,'primary':_0x50b45c},_0x580307['defaults']=_0x2be581,_0x33a71a[_0x42fc71(0xd7)]=_0x580307,_0x20eb74=!![]);}return{'config':_0x33a71a,'changed':_0x20eb74};}export function createConfigController(_0x28e9e9){const _0x4e77e2=_0xe7c34b,_0x1c03f6=getConfigPaths(_0x28e9e9),_0x345183=createRuntimeLogger(_0x1c03f6,_0x4e77e2(0xde));let _0x34942d=![],_0x5c0ca1=0x0,_0x25d807=null,_0x7fde80=null;function _0x4dc29a(){const _0x386100=_0x4e77e2;return _0x1c03f6[_0x386100(0xe0)+'th'];}function _0x5dc681(){const _0x5e1b72=_0x4e77e2;return _0x1c03f6[_0x5e1b72(0xe5)];}function _0x405ae1(){const _0x6db0fe=_0x4e77e2;return _0x1c03f6[_0x6db0fe(0x12b)+_0x6db0fe(0x12a)+'th'];}async function _0x4bf6ae(){const _0x3a5398=_0x4e77e2;await ensureShellStateDirs(_0x28e9e9),process.env.OPENCLAW_STATE_DIR=_0x1c03f6[_0x3a5398(0xe5)],process.env.OPENCLAW_CONFIG_PATH=_0x1c03f6[_0x3a5398(0xe0)+'th'],_0x345183?.[_0x3a5398(0x101)]('openclaw'+_0x3a5398(0xc9)+_0x3a5398(0xca)+'ent\x20ensu'+_0x3a5398(0xfa),{'stateDir':_0x1c03f6[_0x3a5398(0xe5)],'configPath':_0x1c03f6['configPa'+'th'],'logsDir':_0x1c03f6['logsDir']});}async function _0x80cb40(){const _0x4eba1d=_0x4e77e2,_0x59c612=Date[_0x4eba1d(0x10a)]();_0x345183?.['info'](_0x4eba1d(0x102)+_0x4eba1d(0x114)+_0x4eba1d(0xff)+_0x4eba1d(0xe1)+_0x4eba1d(0xd9),{'configPath':_0x1c03f6[_0x4eba1d(0xe0)+'th'],'stateDir':_0x1c03f6[_0x4eba1d(0xe5)]});try{await _0x4bf6ae();const _0x116afb=await loadRuntimeInfo(_0x28e9e9[_0x4eba1d(0x11e)+_0x4eba1d(0xe7)]);_0x345183?.[_0x4eba1d(0x101)](_0x4eba1d(0xe6)+_0x4eba1d(0xec)+_0x4eba1d(0xf5)+_0x4eba1d(0xe1)+_0x4eba1d(0xb5),{'runtimeRoot':_0x116afb[_0x4eba1d(0xe3)+'oot'],'manifest':summarizeRuntimeManifest(_0x116afb[_0x4eba1d(0xb0)])});if(!existsSync(_0x1c03f6[_0x4eba1d(0xe0)+'th'])){const _0x2015de=createInitialOpenClawConfig(_0x28e9e9,_0x116afb);_0x345183?.['info'](_0x4eba1d(0xb2)+_0x4eba1d(0xfd)+_0x4eba1d(0xc9)+_0x4eba1d(0xdd)+_0x4eba1d(0x12e)+'g',{'configPath':_0x1c03f6[_0x4eba1d(0xe0)+'th'],'config':summarizeOpenClawConfig(_0x2015de)}),_0x359e29(),await _0x119139(_0x2015de,'initial\x20'+_0x4eba1d(0xfd)+'\x20config\x20'+_0x4eba1d(0xe9)),await writeJson(_0x1c03f6[_0x4eba1d(0xc2)+'ConfigPa'+'th'],_0x2015de),_0x345183?.[_0x4eba1d(0x101)]('last-goo'+_0x4eba1d(0x126)+_0x4eba1d(0x11d)+_0x4eba1d(0x122)+'n',{'path':_0x1c03f6[_0x4eba1d(0xc2)+_0x4eba1d(0xf7)+'th'],'reason':'initial\x20'+_0x4eba1d(0xfd)+_0x4eba1d(0xc9)+'created'});}else _0x345183?.['info'](_0x4eba1d(0xb2)+'openclaw'+'\x20config\x20'+'exists',{'configPath':_0x1c03f6[_0x4eba1d(0xe0)+'th']});await _0x3cb49d(),await _0x1afcbd(),_0x345183?.[_0x4eba1d(0x101)](_0x4eba1d(0x102)+_0x4eba1d(0x114)+_0x4eba1d(0xff)+_0x4eba1d(0x10f)+_0x4eba1d(0xc0),{'durationMs':Date[_0x4eba1d(0x10a)]()-_0x59c612});}catch(_0x1bbf59){_0x345183?.[_0x4eba1d(0x125)](_0x4eba1d(0x102)+_0x4eba1d(0x114)+_0x4eba1d(0xff)+_0x4eba1d(0xaf)+_0x4eba1d(0x133),{'durationMs':Date[_0x4eba1d(0x10a)]()-_0x59c612,'error':_0x1bbf59});throw _0x1bbf59;}}async function _0x15d653(){return await _0x80cb40(),readJsonFile(_0x1c03f6['configPa'+'th'],{});}async function _0x5f15b3(){const _0x2bfed7=_0x4e77e2;return readJsonFile(_0x1c03f6[_0x2bfed7(0xe0)+'th'],{});}async function _0x119139(_0x5683ff,_0x13457d=_0x4e77e2(0xfd)+_0x4e77e2(0xc9)+_0x4e77e2(0xd1)){const _0xd6e5b4=_0x4e77e2;await mkdir(dirname(_0x1c03f6[_0xd6e5b4(0xe0)+'th']),{'recursive':!![]}),await writeFile(_0x1c03f6[_0xd6e5b4(0xe0)+'th'],JSON[_0xd6e5b4(0x11c)+'y'](_0x5683ff,null,0x2)+'\x0a','utf8'),_0x345183?.['info'](_0x13457d,{'configPath':_0x1c03f6[_0xd6e5b4(0xe0)+'th'],'config':summarizeOpenClawConfig(_0x5683ff)});}async function _0x1afcbd(){const _0x446ab2=_0x4e77e2,_0x43a51f=await loadRuntimeInfo(_0x28e9e9[_0x446ab2(0x11e)+'oot']),_0x3ad17c=await _0x5f15b3(),_0x2468be=syncRuntimeManifestPlugins(_0x3ad17c[_0x446ab2(0xbc)],_0x43a51f[_0x446ab2(0xbc)]);_0x2468be['changed']||!_0x3ad17c[_0x446ab2(0xbc)]?(_0x3ad17c[_0x446ab2(0xbc)]=_0x2468be[_0x446ab2(0xbc)],_0x359e29(),await _0x119139(_0x3ad17c,'runtime\x20'+_0x446ab2(0xd5)+'synced\x20i'+_0x446ab2(0x110)+_0x446ab2(0xd2)+_0x446ab2(0xf6)),_0x345183?.[_0x446ab2(0x101)](_0x446ab2(0xe6)+_0x446ab2(0x105)+_0x446ab2(0x104)+_0x446ab2(0x117),{'runtimePluginCount':_0x43a51f[_0x446ab2(0xbc)][_0x446ab2(0xbb)],'config':summarizeOpenClawConfig(_0x3ad17c)})):_0x345183?.[_0x446ab2(0x101)](_0x446ab2(0xe6)+_0x446ab2(0x105)+'onfig\x20al'+_0x446ab2(0xf9)+_0x446ab2(0xac),{'runtimePluginCount':_0x43a51f['plugins'][_0x446ab2(0xbb)]});}async function _0x3cb49d(){const _0x108419=_0x4e77e2,_0xa5e177=await _0x5f15b3(),_0x15cbc1=syncProductModels(_0xa5e177,_0x28e9e9);_0x15cbc1[_0x108419(0xb8)]?(await _0x4dd52c(_0x15cbc1[_0x108419(0xde)],_0x108419(0xce)+'model\x20co'+_0x108419(0xbd)+_0x108419(0xdc)),_0x345183?.[_0x108419(0x101)](_0x108419(0xce)+_0x108419(0xcd)+_0x108419(0xf4)+'ced',{'config':summarizeOpenClawConfig(_0x15cbc1['config'])})):_0x345183?.[_0x108419(0x101)](_0x108419(0xce)+'model\x20co'+_0x108419(0x113)+_0x108419(0xb3)+'rent',{'hasProductModels':hasMeaningfulProductModels(_0x28e9e9)});}async function _0x44acab(){const _0x3cd4c3=_0x4e77e2;await _0x80cb40();const _0x19394b=await _0x2ec80b({'port':portNumbers(_0x28e9e9[_0x3cd4c3(0xad)]['gatewayS'+_0x3cd4c3(0xc4)],_0x28e9e9[_0x3cd4c3(0xad)][_0x3cd4c3(0xfb)+_0x3cd4c3(0xc4)]+0x63)});return{'token':createToken(),'port':_0x19394b};}async function _0x2c6883(){const _0x2f08c4=_0x4e77e2,_0x2a2482=await _0x15d653(),_0x175000=asRecord(_0x2a2482['agents']),_0x128bcf=asRecord(_0x175000[_0x2f08c4(0xab)]),_0x4f9e2f=asRecord(_0x128bcf['model']),_0x5e381d=getTrimmedString(_0x4f9e2f[_0x2f08c4(0xb6)]),_0x422526=_0x5e381d[_0x2f08c4(0xfc)]('/'),_0x1819a3=_0x422526>0x0?_0x5e381d[_0x2f08c4(0x106)](0x0,_0x422526):_0x5e381d,_0x407450=_0x422526>0x0?_0x5e381d[_0x2f08c4(0x106)](_0x422526+0x1):'',_0x3cdb1b=asRecord(asRecord(_0x2a2482['models'])['provider'+'s']),_0x35d8a3=asRecord(_0x3cdb1b[_0x1819a3]);return{'provider':_0x1819a3||'','apiKey':getTrimmedString(_0x35d8a3['apiKey']),'modelName':_0x407450,'modelBaseUrl':getTrimmedString(_0x35d8a3[_0x2f08c4(0xe8)])};}async function _0x35bf70(_0x1b0e04,_0x4e758d={}){const _0x43efdd=_0x4e77e2,_0x222df9=await _0x15d653(),_0x2b0695=_0x1b0e04[_0x43efdd(0xcb)]||'default',_0x86f1ab=_0x2b0695+'/'+_0x1b0e04[_0x43efdd(0xf0)+'e'],_0x37dfb9=asRecord(_0x222df9['models']),_0x437824=asRecord(_0x37dfb9[_0x43efdd(0xcb)+'s']);_0x437824[_0x2b0695]={...asRecord(_0x437824[_0x2b0695]),...createProviderConfig({'apiKey':_0x1b0e04[_0x43efdd(0xd8)]||'','protocol':_0x1b0e04[_0x43efdd(0x100)]||'openai','baseUrl':_0x1b0e04[_0x43efdd(0x131)+_0x43efdd(0x121)]||_0x1b0e04['baseUrl']||'','modelName':_0x1b0e04[_0x43efdd(0xf0)+'e']})},_0x37dfb9['provider'+'s']=_0x437824,_0x222df9[_0x43efdd(0x116)]=_0x37dfb9;const _0x355907=asRecord(_0x222df9[_0x43efdd(0xd7)]),_0x2f346e=asRecord(_0x355907[_0x43efdd(0xab)]);return _0x2f346e[_0x43efdd(0xc1)]={...asRecord(_0x2f346e[_0x43efdd(0xc1)]),'primary':_0x86f1ab},_0x2f346e[_0x43efdd(0x116)]={...asRecord(_0x2f346e['models']),[_0x86f1ab]:asRecord(asRecord(_0x2f346e[_0x43efdd(0x116)])[_0x86f1ab])},_0x355907[_0x43efdd(0xab)]=_0x2f346e,_0x222df9[_0x43efdd(0xd7)]=_0x355907,_0x222df9[_0x43efdd(0xb4)]={...asRecord(_0x222df9[_0x43efdd(0xb4)]),'dmScope':_0x43efdd(0xef)+'nel-peer'},await _0x4dd52c(_0x222df9,_0x4e758d['restartO'+_0x43efdd(0x134)]?'model\x20se'+_0x43efdd(0xb7)+'pdated':''),{'ok':!![]};}async function _0x2bdf03(_0x5bcaa0){const _0x5cfa4d=_0x4e77e2,_0x27d9fb=await _0x15d653(),_0x10f64b=_0x5bcaa0[_0x5cfa4d(0xcb)+_0x5cfa4d(0x123)],_0x4800e8=asRecord(_0x27d9fb[_0x5cfa4d(0x116)]),_0x30e72a=asRecord(_0x4800e8[_0x5cfa4d(0xcb)+'s']);_0x30e72a[_0x10f64b]={...asRecord(_0x30e72a[_0x10f64b]),'apiKey':_0x5bcaa0[_0x5cfa4d(0xd8)],'api':_0x5cfa4d(0x103)+_0x5cfa4d(0xb1)+'ns','baseUrl':_0x5bcaa0['baseUrl'],'models':(_0x5bcaa0[_0x5cfa4d(0xf0)+'es']??[])['map'](_0x4ed84a=>createProviderModelConfig(_0x4ed84a,_0x4ed84a===_0x5bcaa0[_0x5cfa4d(0x107)+'elPrimar'+_0x5cfa4d(0x132)]))},_0x4800e8[_0x5cfa4d(0xcb)+'s']=_0x30e72a,_0x27d9fb[_0x5cfa4d(0x116)]=_0x4800e8;if(_0x5bcaa0[_0x5cfa4d(0x107)+_0x5cfa4d(0xc6)+_0x5cfa4d(0x132)]){const _0x457331=asRecord(_0x27d9fb[_0x5cfa4d(0xd7)]),_0x4764e3=asRecord(_0x457331['defaults']);_0x4764e3[_0x5cfa4d(0x107)+'el']={...asRecord(_0x4764e3[_0x5cfa4d(0x107)+'el']),'primary':_0x10f64b+'/'+_0x5bcaa0['imageMod'+_0x5cfa4d(0xc6)+_0x5cfa4d(0x132)]},_0x457331[_0x5cfa4d(0xab)]=_0x4764e3,_0x27d9fb[_0x5cfa4d(0xd7)]=_0x457331;}return await _0x4dd52c(_0x27d9fb,_0x5cfa4d(0xd0)+_0x5cfa4d(0x11f)+_0x5cfa4d(0xd4)+_0x5cfa4d(0xdc)),{'ok':!![]};}async function _0x22ccdd({callbackUrl:_0x50201f,secret:_0x2dc680}){const _0x2e8819=_0x4e77e2,_0x5a5210=await _0x15d653(),_0x291930=asRecord(_0x5a5210[_0x2e8819(0xbc)]),_0x2cd16a=asRecord(_0x291930[_0x2e8819(0xcf)]),_0x1edda4=asRecord(_0x2cd16a[ASK_USER_QUESTION_PLUGIN_ID]);return _0x2cd16a[ASK_USER_QUESTION_PLUGIN_ID]={..._0x1edda4,'enabled':!![],'config':{...asRecord(_0x1edda4[_0x2e8819(0xde)]),'callbackUrl':_0x50201f,'secret':_0x2dc680}},_0x291930[_0x2e8819(0xcf)]=_0x2cd16a,_0x291930[_0x2e8819(0x10e)]=dedupeStrings([...(Array[_0x2e8819(0xdf)](_0x291930['allow'])?_0x291930[_0x2e8819(0x10e)]:[])[_0x2e8819(0xc8)](Boolean),ASK_USER_QUESTION_PLUGIN_ID]),_0x5a5210[_0x2e8819(0xbc)]=_0x291930,await _0x4dd52c(_0x5a5210,''),{'ok':!![]};}async function _0x4dd52c(_0x9f99b2,_0x126004=''){const _0x1ae5b8=_0x4e77e2;_0x359e29(),await _0x119139(_0x9f99b2,_0x126004||_0x1ae5b8(0xfd)+_0x1ae5b8(0xc9)+_0x1ae5b8(0xba)+'d'),await writeJsonFile(_0x1c03f6[_0x1ae5b8(0xc2)+_0x1ae5b8(0xf7)+'th'],_0x9f99b2),_0x345183?.[_0x1ae5b8(0x101)](_0x1ae5b8(0xee)+'d\x20opencl'+_0x1ae5b8(0x11d)+_0x1ae5b8(0x122)+'n',{'path':_0x1c03f6[_0x1ae5b8(0xc2)+_0x1ae5b8(0xf7)+'th'],'reason':_0x126004||_0x1ae5b8(0xfd)+'\x20config\x20'+'persiste'+'d'});if(_0x126004)_0x2fbc22(_0x126004);}function _0x359e29(){if(_0x34942d)_0x5c0ca1+=0x1;}function _0xdbce9f(_0x3c28ea){_0x7fde80=_0x3c28ea;}function _0x2fbc22(_0x4ac04b){const _0x550c8f=_0x4e77e2;if(!_0x7fde80)return;if(_0x25d807)clearTimeout(_0x25d807);_0x345183?.[_0x550c8f(0x101)]('gateway\x20'+_0x550c8f(0x129)+'cheduled'+_0x550c8f(0xf2)+_0x550c8f(0xe4)+'ge',{'reason':_0x4ac04b,'debounceMs':0xfa}),_0x25d807=setTimeout(()=>_0x7fde80(_0x4ac04b),0xfa);}function _0x1a1cac(){const _0x1f1eea=_0x4e77e2;unwatchFile(_0x1c03f6[_0x1f1eea(0xe0)+'th']),_0x34942d=!![],watchFile(_0x1c03f6[_0x1f1eea(0xe0)+'th'],{'interval':0x3e8},(_0x2b7cd0,_0x1ec52b)=>{const _0x2aa322=_0x1f1eea;if(_0x2b7cd0[_0x2aa322(0xd3)]===_0x1ec52b[_0x2aa322(0xd3)])return;if(_0x5c0ca1>0x0){_0x5c0ca1-=0x1,_0x345183?.[_0x2aa322(0x101)](_0x2aa322(0xaf)+'ile\x20watc'+_0x2aa322(0x112)+'red\x20inte'+'rnal\x20wri'+'te',{'configPath':_0x1c03f6[_0x2aa322(0xe0)+'th'],'ignoredConfigWatchReloads':_0x5c0ca1});return;}_0x345183?.[_0x2aa322(0x101)]('config\x20f'+_0x2aa322(0x12c)+_0x2aa322(0x109)+'rved\x20ext'+_0x2aa322(0xc3)+_0x2aa322(0xcc),{'configPath':_0x1c03f6['configPa'+'th']}),_0x2fbc22(_0x2aa322(0x10f)+'hange');});}function _0x26ee04(){const _0x2cd109=_0x4e77e2;if(_0x25d807)clearTimeout(_0x25d807);unwatchFile(_0x1c03f6[_0x2cd109(0xe0)+'th']),_0x34942d=![],_0x5c0ca1=0x0;}return{'paths':_0x1c03f6,'resolveConfigPath':_0x4dc29a,'resolveStateDir':_0x5dc681,'resolveDeviceIdentityPath':_0x405ae1,'ensureConfigPathEnv':_0x4bf6ae,'ensureInitialConfig':_0x80cb40,'ensureGatewaySettings':_0x44acab,'readConfig':_0x15d653,'writeConfig':_0x119139,'syncRuntimePlugins':_0x1afcbd,'getModelSettings':_0x2c6883,'setModelSettings':_0x35bf70,'setSelfOperatedModels':_0x2bdf03,'ensureAskUserQuestionPluginConfig':_0x22ccdd,'markConfigWriteHandledInternally':_0x359e29,'setGatewayRestartHandler':_0xdbce9f,'watchConfigChanges':_0x1a1cac,'dispose':_0x26ee04};}
@@ -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 _0x11c6d2=_0x157e;(function(_0x6b399f,_0x5b7512){const _0x3e7b3b=_0x157e,_0x50c757=_0x6b399f();while(!![]){try{const _0x24c241=-parseInt(_0x3e7b3b(0x17f))/0x1*(parseInt(_0x3e7b3b(0x13c))/0x2)+-parseInt(_0x3e7b3b(0x15f))/0x3+parseInt(_0x3e7b3b(0x141))/0x4*(-parseInt(_0x3e7b3b(0x149))/0x5)+parseInt(_0x3e7b3b(0xc5))/0x6*(parseInt(_0x3e7b3b(0x1bc))/0x7)+parseInt(_0x3e7b3b(0x18a))/0x8*(parseInt(_0x3e7b3b(0x142))/0x9)+parseInt(_0x3e7b3b(0x18c))/0xa*(-parseInt(_0x3e7b3b(0x129))/0xb)+parseInt(_0x3e7b3b(0x1ac))/0xc;if(_0x24c241===_0x5b7512)break;else _0x50c757['push'](_0x50c757['shift']());}catch(_0x10dc71){_0x50c757['push'](_0x50c757['shift']());}}}(_0x5628,0x2614b));import _0x5b0c5b from'electron';import{fileURLToPath}from'node:url';import{dirname,join,resolve}from'node:path';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,'preload.'+_0x11c6d2(0x11c)),{app,BrowserWindow,dialog,globalShortcut,ipcMain,shell}=_0x5b0c5b,DEVTOOLS_ACCELERATOR=_0x11c6d2(0x160)+_0x11c6d2(0xe8)+'+Shift+I';let mainWindow=null,shellConfig=null,configController=null,gatewayController=null,bootError=null,mainLogger=null,ipcLogger=null,filesLogger=null,rendererLogger=null;function getMode(){const _0x1ddf78=_0x11c6d2;return process.env.VITE_DEV_SERVER_URL?'dev':_0x1ddf78(0x18b);}function resolveProjectRoot(){const _0x393f68=_0x11c6d2;return resolve(process.env.WUJIE_SHELL_PROJECT_ROOT||process[_0x393f68(0xbf)]());}function broadcast(_0x46d8f9,_0x2658c9){const _0x7978f6=_0x11c6d2;for(const _0x3a12ee of BrowserWindow['getAllWi'+'ndows']()){!_0x3a12ee[_0x7978f6(0x17b)+'nts'][_0x7978f6(0x1b1)+_0x7978f6(0xfa)]()&&_0x3a12ee[_0x7978f6(0x17b)+_0x7978f6(0xb4)][_0x7978f6(0x139)]('wujie-sh'+_0x7978f6(0xbd)+'t',{'name':_0x46d8f9,'payload':_0x2658c9});}}function openDevToolsForActiveContext(){const _0xd2dffc=_0x11c6d2,_0x48530c=BrowserWindow['getFocus'+'edWindow']()||mainWindow;if(!_0x48530c||_0x48530c[_0xd2dffc(0x1b1)+_0xd2dffc(0xfa)]())return{'ok':![]};return _0x48530c[_0xd2dffc(0x17b)+'nts']['openDevT'+_0xd2dffc(0x1ba)]({'mode':_0xd2dffc(0x119)}),_0x48530c[_0xd2dffc(0x17b)+'nts'][_0xd2dffc(0x139)](_0xd2dffc(0x192)+_0xd2dffc(0xbd)+'t',{'name':_0xd2dffc(0x177)+_0xd2dffc(0x175)+'t','payload':{'accelerator':DEVTOOLS_ACCELERATOR}}),{'ok':!![]};}function registerShellShortcuts(){const _0xbdfed1=_0x11c6d2;globalShortcut['unregist'+'er'](DEVTOOLS_ACCELERATOR);const _0x57a558=globalShortcut[_0xbdfed1(0xee)](DEVTOOLS_ACCELERATOR,openDevToolsForActiveContext);!_0x57a558&&console['warn'](_0xbdfed1(0x12f)+_0xbdfed1(0xf2)+_0xbdfed1(0x1c2)+_0xbdfed1(0xee)+'\x20shortcu'+_0xbdfed1(0x1a6)+DEVTOOLS_ACCELERATOR);}function _0x5628(){const _0x384f69=['isDestro','setName','default','file\x20rea','\x20main\x20bo','logs:ope','openExte',':delete','workspac','ools','info','28tivHVk','files:re','platform','ned-keys','window:m','elected-','iled\x20to\x20','logs',':runtime','title','window-a','sessions','leted','dKeys','uncaught','chat','level','before\x20q','ModelId','select\x20d','ot\x20compl','operated','nts','cron:lis','\x20gone','l\x20reques','pdate','utf8','est\x20star','ipc\x20requ','filePath','ell:even','boot\x20ele','cwd','session-','Dialog','pdated','dels','shared-c','397932GKBbmq','main','catch','create','ctory','-once','settings','ontext','projectR','delete','openDevT','skills','darwin','canceled','models','dRejecti','set','ontents','files:se','then','context','peratedM','fromWebC','ate','logs\x20dir','ot\x20initi',':pinned-','map','e:write-','rocess-g','-logs','ory\x20open','file\x20wri','n-direct','yInfo','rControl','chat:his','getStatu','tatus','stop','minimize','register','ite','skills:s','getVersi','hell]\x20fa','-info','senderFr','keys',':gateway','paths','url','openclaw','yed','showOpen','openFile','main\x20win','pened','ocess-go','from','ent','e\x20comple','d\x20reject','renderer','ile\x20read','config:r','\x20complet','child-pr','status','stopped\x20','chrome','versions','close','ist','size','loadFile','cron','ipc','app:open','ell\x20gate','ask-user','eam-even','meta','preventD','detach','unhandle','trim','mjs','dow\x20load','ll-close','ndows','filters','et-self-','director','uit:\x20sto','dist','ted','gateway\x20','model-id','abort','143AKGSoj','files:wr','uit','cron:run','sender','efault','[wujie-s','ectory\x20o','\x20request','ell\x20boot','-context','ectory','ngs','handle','isArray','#f8fafc','send','restart','length','22UxrwHp','dataDir','string','error','ite-bina','4RulORQ','14031gqPDDH','rename','object','ile\x20comp','getRecen','setPinne','chat-str','501305seInHw','chat:abo','ile\x20writ','log','limit','answerAs','node','app:info','one','quit','open\x20ext','cron:upd','\x20failed:','nstall','logs:wri','orted',':answer-','byteLeng','-questio','finally','message','logs\x20exp','442539Dhpduu','CommandO','binary\x20f','nfo','writeSha','electron','sharedCo','runOnce','agents:l','now',':rename','agents','productN',':create','targetDi','whenRead','d\x20failed','kUserQue','\x20process','update','index.ht','ame','-shortcu','d\x20comple','devtools','logs:exp','ocess\x20go','ections','webConte','content','-status','irectory','12057YTlZmT','ot\x20faile','logsDir','runtimeI','path','alized','unmaximi','models:s','ximize','\x20main\x20wi','ory-info','536wpPyiX','prod','26790CTrjgo','skills:u','oggle-ma','cron:log','zed','ot\x20start','wujie-sh','eted','rnal','oot','pen-devt','will-qui','ndow','ustom-mo','est\x20fail','Exceptio','lect-dir','agent-ev','multiSel','ad-binar','setSetti','list','configPa','skills:i','arch','activate','t:\x20','openPath','gateway-','\x20excepti','isMaximi','e:open-d','2417592OomniL','est\x20comp','pinnedKe','setSelfO','ernal\x20ur'];_0x5628=function(){return _0x384f69;};return _0x5628();}function _0x157e(_0x403492,_0x9bc099){_0x403492=_0x403492-0xad;const _0x56284f=_0x5628();let _0x157ec4=_0x56284f[_0x403492];return _0x157ec4;}async function createWindow(){const _0x50a997=_0x11c6d2,_0x4249d1=process.env.VITE_DEV_SERVER_URL||join(shellConfig[_0x50a997(0xcd)+_0x50a997(0x195)],_0x50a997(0x124),_0x50a997(0x173)+'ml');mainLogger?.['info']('creating'+_0x50a997(0x188)+_0x50a997(0x198),{'rendererUrl':_0x4249d1,'mode':getMode()}),mainWindow=new BrowserWindow({'width':0x49c,'height':0x30c,'minWidth':0x384,'minHeight':0x26c,'title':shellConfig[_0x50a997(0x16b)+_0x50a997(0x174)],'backgroundColor':_0x50a997(0x138),'titleBarStyle':process[_0x50a997(0x1be)]===_0x50a997(0xd1)?'hiddenIn'+_0x50a997(0xd5):_0x50a997(0x1b3),'webPreferences':{'preload':preloadPath,'contextIsolation':!![],'nodeIntegration':![],'sandbox':![]}});const _0x481148=process.env.VITE_DEV_SERVER_URL;_0x481148?(await mainWindow['loadURL'](_0x481148),process.env.WUJIE_SHELL_OPEN_DEVTOOLS==='1'&&mainWindow[_0x50a997(0x17b)+_0x50a997(0xb4)][_0x50a997(0xcf)+_0x50a997(0x1ba)]({'mode':_0x50a997(0x119)})):await mainWindow[_0x50a997(0x110)](join(shellConfig[_0x50a997(0xcd)+_0x50a997(0x195)],'dist','index.ht'+'ml')),mainLogger?.['info'](_0x50a997(0xfd)+_0x50a997(0x11d)+'ed',{'rendererUrl':_0x4249d1,'mode':getMode()});}function installIpcHandlers(){const _0xeea2b7=_0x11c6d2,_0x289766=(_0x2c745e,_0x5b1410)=>{const _0x33d20e=_0x157e;ipcMain[_0x33d20e(0x136)](_0x2c745e,async(_0x1555af,_0x401e0a)=>{const _0x1c45fb=_0x33d20e,_0x3969d3=Date[_0x1c45fb(0x168)](),_0x571c21=_0x1555af[_0x1c45fb(0xf4)+_0x1c45fb(0x174)]?.[_0x1c45fb(0xf8)]||_0x1555af[_0x1c45fb(0x12d)]['getURL']();ipcLogger?.[_0x1c45fb(0x1bb)](_0x1c45fb(0xbb)+_0x1c45fb(0xba)+_0x1c45fb(0x125),{'channel':_0x2c745e,'senderUrl':_0x571c21,'payload':summarizePayload(_0x401e0a)});try{const _0x57c1d4=await _0x5b1410(_0x1555af,_0x401e0a);return ipcLogger?.[_0x1c45fb(0x1bb)](_0x1c45fb(0xbb)+_0x1c45fb(0x1ad)+'leted',{'channel':_0x2c745e,'durationMs':Date[_0x1c45fb(0x168)]()-_0x3969d3,'result':summarizePayload(_0x57c1d4,{'maxDepth':0x2})}),_0x57c1d4;}catch(_0x171def){ipcLogger?.[_0x1c45fb(0x13f)]('ipc\x20requ'+_0x1c45fb(0x19a)+'ed',{'channel':_0x2c745e,'durationMs':Date[_0x1c45fb(0x168)]()-_0x3969d3,'error':summarizeError(_0x171def)});throw _0x171def;}});},_0x241966=()=>{const _0x53bcd1=_0x157e;if(!gatewayController)throw new Error(bootError?_0x53bcd1(0x192)+_0x53bcd1(0x132)+_0x53bcd1(0x155)+'\x20'+bootError:'wujie-sh'+_0x53bcd1(0x114)+'way\x20is\x20n'+_0x53bcd1(0xde)+_0x53bcd1(0x184));return gatewayController;};_0x289766(_0xeea2b7(0x150),async()=>({'name':shellConfig[_0xeea2b7(0x16b)+_0xeea2b7(0x174)],'version':app[_0xeea2b7(0xf1)+'on'](),'appId':shellConfig['appId'],'dataDir':shellConfig[_0xeea2b7(0x13d)]})),_0x289766(_0xeea2b7(0x113)+'-url',async(_0x8e03b0,_0x8da761)=>{const _0x3e7cb9=_0xeea2b7,_0x2a8738=typeof _0x8da761===_0x3e7cb9(0x13e)?_0x8da761:'';if(!_0x2a8738)return{'ok':![]};return filesLogger?.['info'](_0x3e7cb9(0x153)+_0x3e7cb9(0x1b0)+_0x3e7cb9(0xb7)+_0x3e7cb9(0x125),{'url':summarizeText(_0x2a8738,0xa0)}),await shell[_0x3e7cb9(0x1b7)+_0x3e7cb9(0x194)](_0x2a8738),{'ok':!![]};}),_0x289766(_0xeea2b7(0x1c0)+'inimize',_0x52b5e6=>{const _0x275c39=_0xeea2b7;return BrowserWindow[_0x275c39(0xdb)+_0x275c39(0xd6)](_0x52b5e6[_0x275c39(0x12d)])?.[_0x275c39(0xed)](),{'ok':!![]};}),_0x289766('window:t'+_0xeea2b7(0x18e)+_0xeea2b7(0x187),_0x55394e=>{const _0x55bc97=_0xeea2b7,_0x2751b4=BrowserWindow[_0x55bc97(0xdb)+'ontents'](_0x55394e['sender']);if(!_0x2751b4)return{'isMaximized':![]};if(_0x2751b4[_0x55bc97(0x1aa)+_0x55bc97(0x190)]())_0x2751b4[_0x55bc97(0x185)+'ze']();else _0x2751b4['maximize']();return{'isMaximized':_0x2751b4[_0x55bc97(0x1aa)+'zed']()};}),_0x289766('window:c'+'lose',_0x1a9b5a=>{const _0x2b8aeb=_0xeea2b7;return BrowserWindow[_0x2b8aeb(0xdb)+'ontents'](_0x1a9b5a[_0x2b8aeb(0x12d)])?.[_0x2b8aeb(0x10d)](),{'ok':!![]};}),_0x289766('window:o'+_0xeea2b7(0x196)+_0xeea2b7(0x1ba),()=>openDevToolsForActiveContext()),_0x289766(_0xeea2b7(0xf9)+_0xeea2b7(0x1c4)+_0xeea2b7(0xf3),()=>_0x241966()[_0xeea2b7(0x182)+_0xeea2b7(0x162)]()),_0x289766('openclaw'+_0xeea2b7(0xf6)+_0xeea2b7(0x17d),()=>_0x241966()[_0xeea2b7(0xea)+'s']()),_0x289766(_0xeea2b7(0xf9)+_0xeea2b7(0xf6)+'-restart',()=>_0x241966()[_0xeea2b7(0x13a)](_0xeea2b7(0x104)+_0xeea2b7(0x131))),_0x289766(_0xeea2b7(0xf9)+_0xeea2b7(0xf6)+_0xeea2b7(0xe3),(_0x4eb199,_0x39d804={})=>_0x241966()[_0xeea2b7(0x146)+'tLogs'](_0x39d804?.[_0xeea2b7(0x14d)]??0xc8)),_0x289766('openclaw'+_0xeea2b7(0x159)+_0xeea2b7(0x115)+_0xeea2b7(0x15b)+'n',(_0x4e33ea,_0x7a48a8)=>_0x241966()[_0xeea2b7(0x14e)+_0xeea2b7(0x170)+'stion'](_0x7a48a8)),_0x289766(_0xeea2b7(0x167)+_0xeea2b7(0x10e),()=>_0x241966()[_0xeea2b7(0x16a)][_0xeea2b7(0x1a1)]()),_0x289766(_0xeea2b7(0xf0)+_0xeea2b7(0xeb),(_0x4a6ea9,_0xf28179)=>_0x241966()[_0xeea2b7(0xd0)][_0xeea2b7(0x109)](_0xf28179)),_0x289766(_0xeea2b7(0x1c7)+_0xeea2b7(0x16c),(_0x2c30b2,_0x841407)=>_0x241966()[_0xeea2b7(0x1c7)]['create'](_0x841407)),_0x289766(_0xeea2b7(0x1c7)+':list',(_0x232374,_0x24fe31)=>_0x241966()[_0xeea2b7(0x1c7)][_0xeea2b7(0x1a1)](_0x24fe31)),_0x289766(_0xeea2b7(0x1c7)+_0xeea2b7(0x1b8),(_0x5ef2ea,_0x37e87d)=>_0x241966()[_0xeea2b7(0x1c7)][_0xeea2b7(0xce)](_0x37e87d)),_0x289766('chat:str'+'eam',(_0x5a181b,_0x1befb1)=>_0x241966()[_0xeea2b7(0xad)]['stream'](_0x1befb1)),_0x289766(_0xeea2b7(0x14a)+'rt',(_0x55f8c7,_0x57c65f)=>_0x241966()[_0xeea2b7(0xad)][_0xeea2b7(0x128)](_0x57c65f)),_0x289766(_0xeea2b7(0xe9)+'tory',(_0x19fb18,_0x34af9c)=>_0x241966()[_0xeea2b7(0xad)]['history'](_0x34af9c)),_0x289766(_0xeea2b7(0x157)+'te',async(_0x262478,_0x395a19={})=>{const _0x4e586e=_0xeea2b7,_0x40c664=typeof _0x395a19[_0x4e586e(0xae)]===_0x4e586e(0x13e)?_0x395a19[_0x4e586e(0xae)]:_0x4e586e(0x1bb),_0x1261c4=typeof _0x395a19[_0x4e586e(0x15d)]===_0x4e586e(0x13e)?_0x395a19[_0x4e586e(0x15d)]:_0x4e586e(0x104)+'\x20log',_0x1e6dba=typeof _0x395a19[_0x4e586e(0xd9)]===_0x4e586e(0x13e)&&_0x395a19['context']['trim']()?_0x4e586e(0x104)+':'+_0x395a19[_0x4e586e(0xd9)][_0x4e586e(0x11b)]():'renderer',_0x5db850=_0x395a19[_0x4e586e(0x117)]&&typeof _0x395a19[_0x4e586e(0x117)]===_0x4e586e(0x144)?summarizePayload(_0x395a19[_0x4e586e(0x117)]):undefined,_0x1fb61a=rendererLogger;if(_0x1fb61a?.[_0x40c664])await _0x1fb61a[_0x40c664](_0x1261c4,_0x5db850);else await _0x1fb61a?.[_0x4e586e(0x1bb)](_0x1261c4,_0x5db850);return{'ok':!![]};}),_0x289766(_0xeea2b7(0x178)+'ort',async(_0x584a40,_0x32837e={})=>{const _0x478f16=_0xeea2b7,_0x313bef=typeof _0x32837e[_0x478f16(0x16d)+'r']===_0x478f16(0x13e)&&_0x32837e['targetDi'+'r']['trim']()?_0x32837e[_0x478f16(0x16d)+'r']:undefined,_0x309805=await exportLogsArchive({'logsDir':configController[_0x478f16(0xf7)][_0x478f16(0x181)],'targetDir':_0x313bef,'appVersion':app[_0x478f16(0xf1)+'on']()});return mainLogger?.[_0x478f16(0x1bb)](_0x478f16(0x15e)+_0x478f16(0x158),{'path':toHomePath(_0x309805['path'])}),_0x309805;}),_0x289766(_0xeea2b7(0x1b6)+_0xeea2b7(0xe6)+'ory',async()=>{const _0x1e6032=_0xeea2b7;return await shell[_0x1e6032(0x1a7)](configController[_0x1e6032(0xf7)][_0x1e6032(0x181)]),mainLogger?.[_0x1e6032(0x1bb)](_0x1e6032(0xdd)+_0x1e6032(0x130)+_0x1e6032(0xfe),{'logsDir':toHomePath(configController[_0x1e6032(0xf7)][_0x1e6032(0x181)])}),{'ok':!![],'path':configController[_0x1e6032(0xf7)][_0x1e6032(0x181)]};}),_0x289766('files:re'+'ad',async(_0x4cfa3e,_0x57f842)=>{const _0x50e621=_0xeea2b7,_0x4b38cb=Date[_0x50e621(0x168)]();try{const _0x2a8ddb=await readFile(_0x57f842,_0x50e621(0xb9));return filesLogger?.[_0x50e621(0x1bb)](_0x50e621(0x1b4)+_0x50e621(0x176)+_0x50e621(0x125),{'path':toHomePath(_0x57f842),'bytes':Buffer[_0x50e621(0x15a)+'th'](_0x2a8ddb),'durationMs':Date['now']()-_0x4b38cb}),_0x2a8ddb;}catch(_0x38d1c4){filesLogger?.[_0x50e621(0x13f)](_0x50e621(0x1b4)+_0x50e621(0x16f),{'path':toHomePath(_0x57f842),'durationMs':Date[_0x50e621(0x168)]()-_0x4b38cb,'error':summarizeError(_0x38d1c4)});throw _0x38d1c4;}}),_0x289766(_0xeea2b7(0x1bd)+_0xeea2b7(0x19f)+'y',async(_0x3478fd,_0x3914f5)=>{const _0x1c323e=_0xeea2b7,_0xfc3132=Date['now']();try{const _0x4f0518=await readFile(_0x3914f5);return filesLogger?.['info']('binary\x20f'+_0x1c323e(0x105)+_0x1c323e(0x107)+'ed',{'path':toHomePath(_0x3914f5),'bytes':_0x4f0518[_0x1c323e(0x15a)+'th'],'durationMs':Date[_0x1c323e(0x168)]()-_0xfc3132}),new Uint8Array(_0x4f0518);}catch(_0x29275d){filesLogger?.[_0x1c323e(0x13f)](_0x1c323e(0x161)+_0x1c323e(0x105)+'\x20failed',{'path':toHomePath(_0x3914f5),'durationMs':Date[_0x1c323e(0x168)]()-_0xfc3132,'error':summarizeError(_0x29275d)});throw _0x29275d;}}),_0x289766(_0xeea2b7(0x12a)+_0xeea2b7(0xef),async(_0x225937,_0x465dc1={})=>{const _0x381b96=_0xeea2b7,_0x26594f=Date[_0x381b96(0x168)]();return await writeFile(_0x465dc1[_0x381b96(0x183)],_0x465dc1[_0x381b96(0x17c)]??'',_0x381b96(0xb9)),filesLogger?.[_0x381b96(0x1bb)](_0x381b96(0xe5)+'te\x20compl'+_0x381b96(0x193),{'path':toHomePath(_0x465dc1[_0x381b96(0x183)]),'bytes':Buffer[_0x381b96(0x15a)+'th'](String(_0x465dc1[_0x381b96(0x17c)]??'')),'durationMs':Date['now']()-_0x26594f}),{'ok':!![]};}),_0x289766('files:wr'+_0xeea2b7(0x140)+'ry',async(_0x334130,_0x251f0b={})=>{const _0x12304b=_0xeea2b7,_0x482926=Date[_0x12304b(0x168)]();await writeFile(_0x251f0b['path'],Buffer[_0x12304b(0x100)](_0x251f0b[_0x12304b(0x17c)]??[]));const _0x1abe47=await stat(_0x251f0b[_0x12304b(0x183)])[_0x12304b(0xc7)](()=>null);return filesLogger?.[_0x12304b(0x1bb)](_0x12304b(0x161)+_0x12304b(0x14b)+_0x12304b(0x102)+'ted',{'path':toHomePath(_0x251f0b['path']),'bytes':_0x1abe47?.[_0x12304b(0x10f)]??0x0,'durationMs':Date[_0x12304b(0x168)]()-_0x482926}),{'ok':!![]};}),_0x289766(_0xeea2b7(0xd7)+'lect-fil'+'e',async(_0xab2e14,_0x379bcc={})=>{const _0x12c5b5=_0xeea2b7,_0x3e895a=await dialog[_0x12c5b5(0xfb)+_0x12c5b5(0xc1)](BrowserWindow[_0x12c5b5(0xdb)+'ontents'](_0xab2e14[_0x12c5b5(0x12d)])??mainWindow,{'title':typeof _0x379bcc[_0x12c5b5(0x1c5)]===_0x12c5b5(0x13e)?_0x379bcc['title']:undefined,'properties':[_0x12c5b5(0xfc),..._0x379bcc[_0x12c5b5(0x19e)+_0x12c5b5(0x17a)]?[_0x12c5b5(0x19e)+_0x12c5b5(0x17a)]:[]],'filters':Array[_0x12c5b5(0x137)](_0x379bcc[_0x12c5b5(0x120)])?_0x379bcc[_0x12c5b5(0x120)]:undefined});return filesLogger?.[_0x12c5b5(0x1bb)]('select\x20f'+_0x12c5b5(0x145)+_0x12c5b5(0x1c8),{'canceled':_0x3e895a[_0x12c5b5(0xd2)],'count':_0x3e895a[_0x12c5b5(0xbc)+'s'][_0x12c5b5(0x13b)],'paths':_0x3e895a[_0x12c5b5(0xbc)+'s'][_0x12c5b5(0xe0)](toHomePath)}),{'canceled':_0x3e895a[_0x12c5b5(0xd2)],'paths':_0x3e895a[_0x12c5b5(0xbc)+'s']};}),_0x289766(_0xeea2b7(0xd7)+_0xeea2b7(0x19c)+_0xeea2b7(0x134),async(_0x1834f6,_0x1d0c8b={})=>{const _0x27bc78=_0xeea2b7,_0x419c4d=await dialog[_0x27bc78(0xfb)+_0x27bc78(0xc1)](BrowserWindow['fromWebC'+_0x27bc78(0xd6)](_0x1834f6[_0x27bc78(0x12d)])??mainWindow,{'title':typeof _0x1d0c8b['title']===_0x27bc78(0x13e)?_0x1d0c8b[_0x27bc78(0x1c5)]:undefined,'properties':['openDire'+_0x27bc78(0xc9)]});return filesLogger?.['info'](_0x27bc78(0xb1)+_0x27bc78(0x17e)+_0x27bc78(0x107)+'ed',{'canceled':_0x419c4d[_0x27bc78(0xd2)],'count':_0x419c4d['filePath'+'s'][_0x27bc78(0x13b)],'paths':_0x419c4d[_0x27bc78(0xbc)+'s'][_0x27bc78(0xe0)](toHomePath)}),{'canceled':_0x419c4d[_0x27bc78(0xd2)],'paths':_0x419c4d[_0x27bc78(0xbc)+'s']};}),_0x289766(_0xeea2b7(0x1b9)+'e:direct'+_0xeea2b7(0x189),()=>_0x241966()[_0xeea2b7(0x1b9)+'e'][_0xeea2b7(0x122)+_0xeea2b7(0xe7)]()),_0x289766(_0xeea2b7(0x1b9)+_0xeea2b7(0x1ab)+_0xeea2b7(0x17e),async()=>{const _0x1759ce=_0xeea2b7,_0x5e5432=await _0x241966()[_0x1759ce(0x1b9)+'e']['director'+'yInfo']();return await shell[_0x1759ce(0x1a7)](_0x5e5432[_0x1759ce(0x183)]),filesLogger?.['info'](_0x1759ce(0x1b9)+'e\x20direct'+_0x1759ce(0xe4)+'ed',{'path':toHomePath(_0x5e5432[_0x1759ce(0x183)])}),{'ok':!![],'path':_0x5e5432[_0x1759ce(0x183)]};}),_0x289766(_0xeea2b7(0x1b9)+'e:shared'+_0xeea2b7(0x133),()=>_0x241966()['workspac'+'e'][_0xeea2b7(0x165)+'ntext']()),_0x289766(_0xeea2b7(0x1b9)+_0xeea2b7(0xe1)+_0xeea2b7(0xc4)+_0xeea2b7(0xcc),(_0x5833f1,_0xb60b36)=>_0x241966()['workspac'+'e'][_0xeea2b7(0x163)+'redConte'+'xt'](_0xb60b36)),_0x289766(_0xeea2b7(0x1c7)+_0xeea2b7(0x169),(_0x3fba6f,_0xffcfd6)=>_0x241966()[_0xeea2b7(0x1c7)][_0xeea2b7(0x143)](_0xffcfd6)),_0x289766(_0xeea2b7(0x1c7)+_0xeea2b7(0xdf)+_0xeea2b7(0xf5),()=>_0x241966()[_0xeea2b7(0x1c7)][_0xeea2b7(0x1ae)+'ys']()),_0x289766('sessions'+':set-pin'+_0xeea2b7(0x1bf),(_0x29680a,_0x4e5f54)=>_0x241966()[_0xeea2b7(0x1c7)][_0xeea2b7(0x147)+_0xeea2b7(0x1c9)](_0x4e5f54)),_0x289766(_0xeea2b7(0x1a3)+_0xeea2b7(0x156),(_0x575c9e,_0x1860bd)=>_0x241966()[_0xeea2b7(0xd0)]['install'](_0x1860bd)),_0x289766(_0xeea2b7(0x18d)+_0xeea2b7(0xb8),(_0x4851b5,_0x1feb10)=>_0x241966()[_0xeea2b7(0xd0)][_0xeea2b7(0x172)](_0x1feb10)),_0x289766('skills:d'+'elete',(_0x4bbd4c,_0x11d24b)=>_0x241966()[_0xeea2b7(0xd0)][_0xeea2b7(0xce)](_0x11d24b)),_0x289766(_0xeea2b7(0xb5)+'t',(_0x1749a0,_0x44e72a)=>_0x241966()[_0xeea2b7(0x111)][_0xeea2b7(0x1a1)](_0x44e72a)),_0x289766('cron:cre'+_0xeea2b7(0xdc),(_0x146705,_0x5bd50d)=>_0x241966()['cron'][_0xeea2b7(0xc8)](_0x5bd50d)),_0x289766(_0xeea2b7(0x154)+_0xeea2b7(0xdc),(_0xe60de7,_0x268961)=>_0x241966()[_0xeea2b7(0x111)][_0xeea2b7(0x172)](_0x268961)),_0x289766('cron:rem'+'ove',(_0x256ab2,_0x68f696)=>_0x241966()[_0xeea2b7(0x111)]['remove'](_0x68f696)),_0x289766(_0xeea2b7(0x12c)+_0xeea2b7(0xca),(_0x56f932,_0x5f1aec)=>_0x241966()[_0xeea2b7(0x111)][_0xeea2b7(0x166)](_0x5f1aec)),_0x289766(_0xeea2b7(0x18f)+'s',(_0x52a1bc,_0x1e5b60)=>_0x241966()[_0xeea2b7(0x111)][_0xeea2b7(0x1c3)](_0x1e5b60)),_0x289766(_0xeea2b7(0x186)+'ettings',()=>_0x241966()['models'][_0xeea2b7(0xcb)]()),_0x289766(_0xeea2b7(0x186)+'et-setti'+_0xeea2b7(0x135),(_0x11c3e5,_0x3edaeb)=>_0x241966()[_0xeea2b7(0xd3)][_0xeea2b7(0x1a0)+_0xeea2b7(0x135)](_0x3edaeb)),_0x289766(_0xeea2b7(0x186)+_0xeea2b7(0x121)+_0xeea2b7(0xb3),(_0x555e2a,_0x459754)=>_0x241966()[_0xeea2b7(0xd3)][_0xeea2b7(0x1af)+_0xeea2b7(0xda)+'odels'](_0x459754)),_0x289766(_0xeea2b7(0x186)+_0xeea2b7(0x1c1)+_0xeea2b7(0x127),()=>_0x241966()['models']['selected'+_0xeea2b7(0xb0)]()),_0x289766('models:c'+_0xeea2b7(0x199)+_0xeea2b7(0xc3),()=>_0x241966()['models']['customMo'+_0xeea2b7(0xc3)]()),_0x289766(_0xeea2b7(0x106)+'ead',()=>_0x241966()['config']['read']());}async function boot(){const _0x216875=_0x11c6d2;shellConfig=await loadShellConfig(resolveProjectRoot()),app[_0x216875(0x1b2)](shellConfig[_0x216875(0x16b)+_0x216875(0x174)]),configController=createConfigController(shellConfig),mainLogger=createShellLogger(configController[_0x216875(0xf7)],_0x216875(0xc6)),ipcLogger=createShellLogger(configController['paths'],_0x216875(0x112)),filesLogger=createShellLogger(configController['paths'],'files'),rendererLogger=createShellLogger(configController[_0x216875(0xf7)],_0x216875(0x104)),registerProcessLogHooks(),mainLogger?.[_0x216875(0x1bb)](_0x216875(0x164)+_0x216875(0x1b5)+_0x216875(0x191)+'ed',{'appVersion':app['getVersi'+'on'](),'electronVersion':process[_0x216875(0x10c)][_0x216875(0x164)],'nodeVersion':process[_0x216875(0x10c)][_0x216875(0x14f)],'chromeVersion':process[_0x216875(0x10c)][_0x216875(0x10b)],'platform':process[_0x216875(0x1be)],'arch':process[_0x216875(0x1a4)],'mode':getMode(),'projectRoot':shellConfig[_0x216875(0xcd)+'oot'],'configPath':shellConfig[_0x216875(0x1a2)+'th'],'dataDir':shellConfig['dataDir'],'logsDir':configController[_0x216875(0xf7)]['logsDir'],'rendererUrl':process.env.VITE_DEV_SERVER_URL||join(shellConfig[_0x216875(0xcd)+_0x216875(0x195)],_0x216875(0x124),_0x216875(0x173)+'ml')}),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app[_0x216875(0xf1)+'on']()});for(const _0x37919c of[_0x216875(0x1a8)+_0x216875(0x109),'gateway-'+_0x216875(0x14c),_0x216875(0x148)+_0x216875(0x116)+'t',_0x216875(0xc0)+'updated',_0x216875(0x19d)+_0x216875(0x101),'agents-u'+_0x216875(0xc2),_0x216875(0x115)+_0x216875(0x15b)+'n']){gatewayController['on'](_0x37919c,_0x970612=>broadcast(_0x37919c,_0x970612));}installIpcHandlers(),registerShellShortcuts(),await createWindow(),await gatewayController['start'](),mainLogger?.['info'](_0x216875(0x164)+_0x216875(0x1b5)+_0x216875(0xb2)+_0x216875(0x193));}function registerProcessLogHooks(){const _0x149ae9=_0x11c6d2;if(registerProcessLogHooks[_0x149ae9(0xee)+'ed'])return;registerProcessLogHooks[_0x149ae9(0xee)+'ed']=!![],process['on'](_0x149ae9(0x1ca)+_0x149ae9(0x19b)+'n',_0x43183c=>{const _0x47349b=_0x149ae9;mainLogger?.['error'](_0x47349b(0x1ca)+_0x47349b(0x1a9)+'on',summarizeError(_0x43183c));}),process['on'](_0x149ae9(0x11a)+_0x149ae9(0xd4)+'on',_0x2b8899=>{const _0x4a22e5=_0x149ae9;mainLogger?.[_0x4a22e5(0x13f)](_0x4a22e5(0x11a)+_0x4a22e5(0x103)+'ion',summarizeError(_0x2b8899));}),app['on']('render-p'+_0x149ae9(0xe2)+_0x149ae9(0x151),(_0x516930,_0x3ace5e,_0xafc4d6)=>{const _0x27e8c3=_0x149ae9;mainLogger?.[_0x27e8c3(0x13f)]('renderer'+_0x27e8c3(0x171)+_0x27e8c3(0xb6),{'url':_0x3ace5e['getURL'](),'details':_0xafc4d6});}),app['on'](_0x149ae9(0x108)+_0x149ae9(0xff)+'ne',(_0x5ab3aa,_0x40d681)=>{const _0x30d606=_0x149ae9;mainLogger?.[_0x30d606(0x13f)]('child\x20pr'+_0x30d606(0x179)+'ne',{'details':_0x40d681});});}app['on'](_0x11c6d2(0x1c6)+_0x11c6d2(0x11e)+'d',()=>{const _0x48975c=_0x11c6d2;if(process[_0x48975c(0x1be)]!==_0x48975c(0xd1))app[_0x48975c(0x152)]();}),app['on'](_0x11c6d2(0x1a5),async()=>{const _0x432bd4=_0x11c6d2;BrowserWindow['getAllWi'+_0x432bd4(0x11f)]()[_0x432bd4(0x13b)]===0x0&&shellConfig&&await createWindow();}),app['on']('before-q'+'uit',_0x1cf8c3=>{const _0x573541=_0x11c6d2;if(!gatewayController)return;mainLogger?.[_0x573541(0x1bb)](_0x573541(0xaf)+_0x573541(0x123)+'pping\x20ga'+'teway'),_0x1cf8c3[_0x573541(0x118)+_0x573541(0x12e)](),void gatewayController[_0x573541(0xec)]()[_0x573541(0x15c)](()=>{const _0x289a02=_0x573541;gatewayController=null,mainLogger?.['info'](_0x289a02(0x126)+_0x289a02(0x10a)+_0x289a02(0xaf)+_0x289a02(0x12b)),app[_0x289a02(0x152)]();});}),app['on'](_0x11c6d2(0x197)+'t',()=>{globalShortcut['unregist'+'er'](DEVTOOLS_ACCELERATOR);}),app[_0x11c6d2(0x16e)+'y']()[_0x11c6d2(0xd8)](boot)[_0x11c6d2(0xc7)](_0x46122e=>{const _0x13fd42=_0x11c6d2;bootError=_0x46122e instanceof Error?_0x46122e['message']:String(_0x46122e),mainLogger?.['error'](_0x13fd42(0x164)+_0x13fd42(0x1b5)+_0x13fd42(0x180)+'d',summarizeError(_0x46122e)),console[_0x13fd42(0x13f)](_0x13fd42(0x12f)+_0x13fd42(0xf2)+_0x13fd42(0x1c2)+_0x13fd42(0xbe)+'ctron\x20ma'+'in',_0x46122e);});
@@ -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 _0x5938a5=_0x3e14;function _0x1d03(){const _0x5e5d7e=['window:o','ist','ustom-mo','et-setti','skills:s','invoke','files:wr','862970hnUqYY','-once','ory-info','chat-str','wujieShe','2wURudw','models:c',':create','elected-','skills:d',':gateway','app:open','4792502DlLgRM','irectory','status','e:shared','app:info','skills:u','24fnfMQf','ove','dels','-shortcu','ory','pdate','sessions','function','elete','files:se','ools','-questio','-restart','cron:cre','models:s','logs:exp','keys','cron:log','lect-dir','ask-user','window:t','openclaw','cron:run','ent','ite','devtools','oggle-ma','413112ihwGxw','e:direct','workspac','ximize','cron:rem','ate','session-','delete','wujie-sh','ell:even',':delete',':set-pin','-status','40bnAaLt','tatus','eam-even','6901164TLHlFa','skills:i','chat:str','-info','chat:his','cron:lis','lect-fil','30RYHKLZ','310548Lniuug','pen-devt','agents:l','4157541uyAonr','chat:abo','window:c','shared-c','MainWorl','lose','logs:ope','model-id','exposeIn','443668qTGgKG','gateway-','cron:upd','ngs','ned-keys','tory'];_0x1d03=function(){return _0x5e5d7e;};return _0x1d03();}(function(_0x131073,_0x2bf427){const _0xbff2e9=_0x3e14,_0xd327bd=_0x131073();while(!![]){try{const _0x3bb1ad=-parseInt(_0xbff2e9(0xc3))/0x1*(-parseInt(_0xbff2e9(0xd5))/0x2)+-parseInt(_0xbff2e9(0xb7))/0x3+-parseInt(_0xbff2e9(0xaf))/0x4+parseInt(_0xbff2e9(0xd0))/0x5*(parseInt(_0xbff2e9(0xb6))/0x6)+-parseInt(_0xbff2e9(0xfd))/0x7*(-parseInt(_0xbff2e9(0xe2))/0x8)+-parseInt(_0xbff2e9(0xba))/0x9+parseInt(_0xbff2e9(0xac))/0xa*(parseInt(_0xbff2e9(0xdc))/0xb);if(_0x3bb1ad===_0x2bf427)break;else _0xd327bd['push'](_0xd327bd['shift']());}catch(_0x12f1d4){_0xd327bd['push'](_0xd327bd['shift']());}}}(_0x1d03,0xe46ea));import _0x2a612b from'electron';const {contextBridge,ipcRenderer}=_0x2a612b,eventListeners=new Map();function invoke(_0x1af506,_0x59e2e8){const _0x341fbb=_0x3e14;return ipcRenderer[_0x341fbb(0xce)](_0x1af506,_0x59e2e8);}function _0x3e14(_0x303c89,_0x3d22c3){_0x303c89=_0x303c89-0xa5;const _0x1d03de=_0x1d03();let _0x3e14fd=_0x1d03de[_0x303c89];return _0x3e14fd;}function subscribe(_0x25864f,_0x2ff527){const _0x207d76=_0x3e14;if(typeof _0x2ff527!==_0x207d76(0xe9))return()=>{};const _0x405f7e=(_0x2016de,_0x13e0da)=>{if(_0x13e0da?.['name']===_0x25864f)_0x2ff527(_0x13e0da['payload']);};return ipcRenderer['on']('wujie-sh'+_0x207d76(0xa8)+'t',_0x405f7e),eventListeners['set'](_0x2ff527,_0x405f7e),()=>{const _0x387ebb=_0x207d76,_0x25d3d9=eventListeners['get'](_0x2ff527)||_0x405f7e;ipcRenderer['off'](_0x387ebb(0xa7)+_0x387ebb(0xa8)+'t',_0x25d3d9),eventListeners[_0x387ebb(0xa6)](_0x2ff527);};}contextBridge[_0x5938a5(0xc2)+_0x5938a5(0xbe)+'d'](_0x5938a5(0xd4)+'ll',{'app':{'info':()=>invoke(_0x5938a5(0xe0)),'openUrl':_0x23ae13=>invoke(_0x5938a5(0xdb)+'-url',_0x23ae13)},'window':{'minimize':()=>invoke('window:m'+'inimize'),'toggleMaximize':()=>invoke(_0x5938a5(0xf6)+_0x5938a5(0xfc)+_0x5938a5(0x100)),'close':()=>invoke(_0x5938a5(0xbc)+_0x5938a5(0xbf)),'openDevTools':()=>invoke(_0x5938a5(0xc9)+_0x5938a5(0xb8)+_0x5938a5(0xec)),'onDevToolsShortcut':_0x5cc263=>subscribe(_0x5938a5(0xfb)+_0x5938a5(0xe5)+'t',_0x5cc263)},'files':{'read':_0xf08295=>invoke('files:re'+'ad',_0xf08295),'readBinary':_0x29d238=>invoke('files:re'+'ad-binar'+'y',_0x29d238),'write':(_0x373962,_0x42de86)=>invoke(_0x5938a5(0xcf)+_0x5938a5(0xfa),{'path':_0x373962,'content':_0x42de86}),'writeBinary':(_0xa4bafa,_0x5baba1)=>invoke(_0x5938a5(0xcf)+'ite-bina'+'ry',{'path':_0xa4bafa,'content':_0x5baba1}),'selectFile':_0x510272=>invoke(_0x5938a5(0xeb)+_0x5938a5(0xb5)+'e',_0x510272),'selectDirectory':_0x3287be=>invoke(_0x5938a5(0xeb)+_0x5938a5(0xf4)+'ectory',_0x3287be)},'workspace':{'directoryInfo':()=>invoke('workspac'+_0x5938a5(0xfe)+_0x5938a5(0xd2)),'openDirectory':()=>invoke(_0x5938a5(0xff)+'e:open-d'+_0x5938a5(0xdd)),'sharedContext':()=>invoke(_0x5938a5(0xff)+_0x5938a5(0xdf)+'-context'),'writeSharedContext':_0x1a88e0=>invoke(_0x5938a5(0xff)+'e:write-'+_0x5938a5(0xbd)+'ontext',_0x1a88e0)},'openclaw':{'runtimeInfo':()=>invoke(_0x5938a5(0xf7)+':runtime'+_0x5938a5(0xb2)),'gatewayStatus':()=>invoke(_0x5938a5(0xf7)+_0x5938a5(0xda)+_0x5938a5(0xab)),'gatewayRestart':()=>invoke(_0x5938a5(0xf7)+_0x5938a5(0xda)+_0x5938a5(0xee)),'gatewayLogs':_0x5051b7=>invoke('openclaw'+_0x5938a5(0xda)+'-logs',_0x5051b7),'onGatewayStatus':_0x1b1130=>subscribe(_0x5938a5(0xc4)+_0x5938a5(0xde),_0x1b1130),'onGatewayLog':_0x58ed2b=>subscribe('gateway-'+'log',_0x58ed2b),'onAgentEvent':_0xaa67aa=>subscribe('agent-ev'+_0x5938a5(0xf9),_0xaa67aa),'onAgentsUpdated':_0x90b9c=>subscribe('agents-u'+'pdated',_0x90b9c),'onAskUserQuestion':_0xa516bc=>subscribe(_0x5938a5(0xf5)+_0x5938a5(0xed)+'n',_0xa516bc),'answerAskUserQuestion':_0x19dcd4=>invoke(_0x5938a5(0xf7)+':answer-'+_0x5938a5(0xf5)+_0x5938a5(0xed)+'n',_0x19dcd4)},'agents':{'list':()=>invoke(_0x5938a5(0xb9)+_0x5938a5(0xca))},'skills':{'status':_0x41aa4b=>invoke(_0x5938a5(0xcd)+_0x5938a5(0xad),_0x41aa4b),'install':_0x27fec2=>invoke(_0x5938a5(0xb0)+'nstall',_0x27fec2),'update':_0x3a6b8c=>invoke(_0x5938a5(0xe1)+_0x5938a5(0xe7),_0x3a6b8c),'delete':_0x43eafb=>invoke(_0x5938a5(0xd9)+_0x5938a5(0xea),_0x43eafb)},'sessions':{'create':_0x21dd1a=>invoke(_0x5938a5(0xe8)+_0x5938a5(0xd7),_0x21dd1a),'list':_0x237577=>invoke('sessions'+':list',_0x237577),'delete':_0x4d55b5=>invoke(_0x5938a5(0xe8)+_0x5938a5(0xa9),_0x4d55b5),'rename':_0x3a4f48=>invoke(_0x5938a5(0xe8)+':rename',_0x3a4f48),'pinnedKeys':()=>invoke(_0x5938a5(0xe8)+':pinned-'+_0x5938a5(0xf2)),'setPinnedKeys':_0x5a037d=>invoke(_0x5938a5(0xe8)+_0x5938a5(0xaa)+_0x5938a5(0xc7),_0x5a037d),'onUpdated':_0x405a2c=>subscribe(_0x5938a5(0xa5)+'updated',_0x405a2c)},'cron':{'list':_0x3af3cc=>invoke(_0x5938a5(0xb4)+'t',_0x3af3cc),'create':_0x237fd8=>invoke(_0x5938a5(0xef)+_0x5938a5(0x102),_0x237fd8),'update':_0x2807bb=>invoke(_0x5938a5(0xc5)+_0x5938a5(0x102),_0x2807bb),'remove':_0x55bcdb=>invoke(_0x5938a5(0x101)+_0x5938a5(0xe3),_0x55bcdb),'runOnce':_0x2d366a=>invoke(_0x5938a5(0xf8)+_0x5938a5(0xd1),_0x2d366a),'logs':_0x240b41=>invoke(_0x5938a5(0xf3)+'s',_0x240b41)},'models':{'settings':()=>invoke('models:s'+'ettings'),'setSettings':_0x2f44ac=>invoke(_0x5938a5(0xf0)+_0x5938a5(0xcc)+_0x5938a5(0xc6),_0x2f44ac),'setSelfOperatedModels':_0x50383d=>invoke('models:s'+'et-self-'+'operated',_0x50383d),'selectedModelId':()=>invoke('models:s'+_0x5938a5(0xd8)+_0x5938a5(0xc1)),'customModels':()=>invoke(_0x5938a5(0xd6)+_0x5938a5(0xcb)+_0x5938a5(0xe4))},'config':{'read':()=>invoke('config:r'+'ead')},'logs':{'write':_0x15b359=>invoke('logs:wri'+'te',_0x15b359),'export':_0x229d36=>invoke(_0x5938a5(0xf1)+'ort',_0x229d36),'openDirectory':()=>invoke(_0x5938a5(0xc0)+'n-direct'+_0x5938a5(0xe6))},'chat':{'stream':_0x5b83ba=>invoke(_0x5938a5(0xb1)+'eam',_0x5b83ba),'abort':_0x1b5e1f=>invoke(_0x5938a5(0xbb)+'rt',_0x1b5e1f),'history':_0x528bb5=>invoke(_0x5938a5(0xb3)+_0x5938a5(0xc8),_0x528bb5),'onStreamEvent':_0x3b35fb=>subscribe(_0x5938a5(0xd3)+_0x5938a5(0xae)+'t',_0x3b35fb)}});
@@ -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 _0x1e3867=_0x54c5;(function(_0x25b6e8,_0x3e1caa){const _0xaa47de=_0x54c5,_0x15722e=_0x25b6e8();while(!![]){try{const _0x4fbbe6=-parseInt(_0xaa47de(0x1f5))/0x1+parseInt(_0xaa47de(0x2d0))/0x2*(-parseInt(_0xaa47de(0x2d1))/0x3)+-parseInt(_0xaa47de(0x224))/0x4*(-parseInt(_0xaa47de(0x251))/0x5)+-parseInt(_0xaa47de(0x233))/0x6*(parseInt(_0xaa47de(0x2a2))/0x7)+-parseInt(_0xaa47de(0x2e2))/0x8+-parseInt(_0xaa47de(0x2b8))/0x9+-parseInt(_0xaa47de(0x1f0))/0xa*(-parseInt(_0xaa47de(0x1f1))/0xb);if(_0x4fbbe6===_0x3e1caa)break;else _0x15722e['push'](_0x15722e['shift']());}catch(_0xc84f7){_0x15722e['push'](_0x15722e['shift']());}}}(_0x12c3,0xd789c));import{randomUUID}from'node:crypto';import{createServer}from'node:http';import{EventEmitter}from'node:events';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{basename,dirname,join}from'node:path';import _0x58c7af,{portNumbers}from'get-port';import{createLineBuffer}from'@wujie-shell/logger';import{asRecord,getTrimmedString}from'./utils.mjs';import{ensureOpenClawDoctorFixed,loadRuntimeInfo,spawnClaw}from'./runtime.mjs';import{ClawGatewayWsClient}from'./gateway-ws.mjs';import{ensureBundledAgents}from'./bundled-agents.mjs';import{syncBundledAgentSkillsToConfig,filterSkillsForAgent}from'./bundled-agent-skills.mjs';import{createShellLogger,summarizeError,summarizeFilePaths,summarizePayload,summarizeText,toHomePath}from'./logging.mjs';const LOG_LIMIT=0x3e8,CLIENT_ID=_0x1e3867(0x1de)+'client',CLIENT_MODE=_0x1e3867(0x1e3),CLIENT_DEVICE_FAMILY=_0x1e3867(0x26f),TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,SESSION_METADATA_FILE=_0x1e3867(0x32f)+'metadata'+_0x1e3867(0x308),SHARED_CONTEXT_FILES=[_0x1e3867(0x22d)+'d',_0x1e3867(0x2ea)+_0x1e3867(0x2c6),'IDENTITY'+_0x1e3867(0x2c0),_0x1e3867(0x2d4)+'d',_0x1e3867(0x2e6),_0x1e3867(0x318),'USER.md'];function nowIso(){const _0x3dc1b8=_0x1e3867;return new Date()['toISOStr'+_0x3dc1b8(0x315)]();}function buildGatewayWsUrl(_0x416513){const _0x27eb31=_0x1e3867;return _0x27eb31(0x335)+_0x27eb31(0x2a1)+_0x416513;}function createInitialStatus(){const _0x119235=_0x1e3867;return{'lifecycle':_0x119235(0x320),'health':'unknown','port':null,'tokenPresent':![],'message':_0x119235(0x2fb)+'stopped','updatedAt':nowIso()};}function extractGatewayMessageText(_0x57e783){const _0x395ad2=_0x1e3867;if(typeof _0x57e783==='string')return _0x57e783;if(!Array[_0x395ad2(0x20e)](_0x57e783))return'';const _0x476caa=[];for(const _0x5725ca of _0x57e783){if(typeof _0x5725ca===_0x395ad2(0x265)){if(_0x5725ca)_0x476caa[_0x395ad2(0x2b4)](_0x5725ca);continue;}const _0x42b0ec=asRecord(_0x5725ca);_0x42b0ec[_0x395ad2(0x311)]==='text'&&typeof _0x42b0ec[_0x395ad2(0x2e4)]===_0x395ad2(0x265)&&_0x42b0ec[_0x395ad2(0x2e4)]&&_0x476caa['push'](_0x42b0ec['text']);}return _0x476caa[_0x395ad2(0x208)]('\x0a');}function extractGatewayChatText(_0x327cf7){const _0x23a1c5=_0x1e3867,_0x12b0b7=asRecord(_0x327cf7);if(typeof _0x12b0b7[_0x23a1c5(0x2e4)]==='string')return _0x12b0b7[_0x23a1c5(0x2e4)];return extractGatewayMessageText(_0x12b0b7[_0x23a1c5(0x212)]);}function _0x12c3(){const _0xbf0d92=['paths','changed','n\x20reques','type','terminal','Timer','kUserQue','ing','[wujie-s','setGatew','TOOLS.md','\x20context','label','message','model','map','agent\x20sk','openclaw','stopped','workspac','defaultI','stall\x20fa','er\x20start','message\x20','process\x20','plugins','kdown','ync\x20fail','led','modelNam',':session','\x20settled','mpleted','session-','websocke','res','text/pla','trim','ove','ws://127','quired','ath','lete\x20req','tHandler','filePath','agents.c','quested','productN','.list','log','image/jp','set','has','splice','unhealth','startedA','deny','agents-r','tatus\x20lo','uested','connecte','cron.run','filter','bundled\x20','nt\x20recei','image/gi','toString','get','image/sv','eys-upda','/ask-use','dly','ginConfi','chat\x20his','llow-unc','ed:\x20','now','flush','patch','gateway','x-ask-us','max','agentId','runtimeR','gateway-','Bin','cron.add','null','ded','backend','nexpecte','delete\x20c','mimeType','emit','ask-user','started','projectR','final','stack','bundled-','deleteTr','once','30YflDfv','16761096LOOUIt','skill\x20in','restartO','restart\x20','1561287DBEZmG','tateDir','port','info','27.0.0.1','eady','ng:\x20','ion/pdf','status','aborted','reate','\x20waiting','ted','writeHea','floor','delete','eam\x20fail','cron.upd','version','join','ntityPat','key','http://1','y\x20shortl','finally','isArray','request','requestI','trimEnd','content','SIGTERM','ndled\x20ag','und','fig','stringif','requeste','er\x20stop\x20','startsWi','entries','warn','chat\x20abo','chat','ing,\x20ple','size','t-stream','agent-ev','[REDACTE','24yGOHCz','chat\x20fai','errorMes','pid','ase','pinnedKe','pinned-k','e\x20update','onfigPat','AGENTS.m','task','ested','ved','slice','ompleted','161562inzTnw','stall\x20co','sessionI','updated','state','t\x20connec','unconfig','textLeng','run','killed','session','health','ion/octe','is\x20requi','running','jobId','.create','c\x20failed','markConf','listen','sage','Version','reconnec','some','chat\x20att','nstall','setSelfO','ensureGa','then','includes','1445740MLTjmZ','er-secre','resolveC','ensureIn','is\x20start','ate','skills\x20s','\x20for\x20WS','cron.rem','answers','tings','skills.s','itialCon','sessions','done','skill\x20de','clear','isFile','utf8','ternally','string','agents.l','ured','unauthor','\x20allocat','figChang','andledIn','elete','Fallback','chat\x20run','desktop','nected','split','Settings','watchCon','headers','behavior','skills.u','by\x20gatew','WorkingD','name','jobId\x20is','SIGKILL','url','lifecycl','eys\x20upda','hell:gat','agents\x20e','chat.sen','fileName','allow','image/','\x20request','ills\x20syn','ey\x20is\x20re','renamed','\x20run\x20--a','dispose','ents\x20syn','achments','stall\x20re','0.1.0','chat.his','tory','kill','stop','file','discover','keys','chat\x20str','spawn\x20re','TED]\x20--p','ame','anscript','destroy','readConf','pdate','ent','resolve','led:\x20','.0.0.1:','98TCWcqN','eam-even','configur','started,','ties','catch','method','text/csv','ist\x20requ','onfigure','n\x20callba','create\x20r','.delete','names','text/mar','peratedM','\x20list\x20co','delta','push','timeout','getModel','agents-u','10065816xFpdhc','stderr','t\x20not\x20fo','base64','setModel','create\x20c','r-questi','skill\x20up','.md','unknown','chat\x20eve','image','ode=','capabili','T.md','invalid\x20','\x20write\x20r','c\x20starte','c\x20comple','skills.i','rt\x20reque','ized','cron.lis','skills','2aMAIvt','3156912VLcIXr','system','parse','MEMORY.m','error','ist','chat-str','equested','provider','answer','sent','exited\x20c','arge:\x20','session\x20','agents','-questio','main','10514072ZfqFiM','--allow-','text','ayRestar','SOUL.md','data','end','deleted','HEARTBEA','image/pn','--token','restarti','resolveS','random','oot','length','odels','nChange','runId','stdout','red','source','applicat','d\x20--toke','g+xml','gateway\x20','settings','limit','\x20signal=','ase\x20retr','tokenPre','ion/json','off','starting','eviceIde','resolveD','--port','exited\x20u','.json','values','sted','sessionK','\x20require','e\x20shared'];_0x12c3=function(){return _0xbf0d92;};return _0x12c3();}function guessMimeType(_0xf60524){const _0x50982a=_0x1e3867,_0x3b87a3=_0xf60524[_0x50982a(0x271)]('.')['pop']()?.['toLowerC'+_0x50982a(0x228)]()??'',_0x5b08e7={'png':_0x50982a(0x2eb)+'g','jpg':_0x50982a(0x1bc)+'eg','jpeg':_0x50982a(0x1bc)+'eg','webp':'image/we'+'bp','gif':_0x50982a(0x1cb)+'f','svg':_0x50982a(0x1ce)+_0x50982a(0x2fa),'pdf':_0x50982a(0x2f8)+_0x50982a(0x1fc),'txt':_0x50982a(0x332)+'in','md':_0x50982a(0x2b0)+_0x50982a(0x328),'json':_0x50982a(0x2f8)+_0x50982a(0x301),'csv':_0x50982a(0x2a9)};return _0x5b08e7[_0x3b87a3]||_0x50982a(0x2f8)+_0x50982a(0x23f)+_0x50982a(0x221);}async function buildAttachments(_0x504e71=[]){const _0x5d5778=_0x1e3867,_0x64fd9=[];for(const _0x7e375d of _0x504e71){const _0x5c52be=getTrimmedString(_0x7e375d);if(!_0x5c52be)continue;const _0x25b0e8=await stat(_0x5c52be);if(!_0x25b0e8[_0x5d5778(0x262)]())continue;if(_0x25b0e8[_0x5d5778(0x220)]>ATTACHMENT_MAX_BYTES)throw new Error('attachme'+'nt\x20too\x20l'+_0x5d5778(0x2dd)+basename(_0x5c52be));const _0x252fda=guessMimeType(_0x5c52be);_0x64fd9[_0x5d5778(0x2b4)]({'type':_0x252fda[_0x5d5778(0x21a)+'th'](_0x5d5778(0x284))?_0x5d5778(0x2c3):_0x5d5778(0x293),'mimeType':_0x252fda,'content':(await readFile(_0x5c52be))[_0x5d5778(0x1cc)](_0x5d5778(0x2bb)),'fileName':basename(_0x5c52be)});}return _0x64fd9;}function buildSessionCreateRequestPayload(_0x44a2b6={}){const _0x168043=_0x1e3867,_0x2777ea={},_0x3d8877=Math[_0x168043(0x2ef)]()[_0x168043(0x1cc)](0x24)[_0x168043(0x231)](0x2,0xf),_0x5db175=getTrimmedString(_0x44a2b6[_0x168043(0x1dc)])||_0x168043(0x2e1),_0x7af600=getTrimmedString(_0x44a2b6[_0x168043(0x20a)])||'agent:'+_0x5db175+(_0x168043(0x32c)+'-')+Date[_0x168043(0x1d6)]();_0x2777ea[_0x168043(0x20a)]=_0x7af600+'-'+_0x3d8877,_0x2777ea[_0x168043(0x1dc)]=_0x5db175;const _0x471cc4=getTrimmedString(_0x44a2b6[_0x168043(0x31a)]);if(_0x471cc4)_0x2777ea[_0x168043(0x31a)]=_0x471cc4+'-'+_0x3d8877;for(const _0xd9b91c of[_0x168043(0x31c),'parentSe'+'ssionKey',_0x168043(0x22e),_0x168043(0x31b)]){const _0x1669f1=getTrimmedString(_0x44a2b6[_0xd9b91c]);if(_0x1669f1)_0x2777ea[_0xd9b91c]=_0x1669f1;}return _0x2777ea;}function parseSessionCreateResult(_0x3f0e8d){const _0x5d6b86=_0x1e3867,_0x540093=asRecord(_0x3f0e8d),_0x1f14e9=asRecord(_0x540093[_0x5d6b86(0x23d)]);return{'ok':!![],'key':getTrimmedString(_0x540093[_0x5d6b86(0x20a)])||getTrimmedString(_0x540093[_0x5d6b86(0x30b)+'ey'])||getTrimmedString(_0x1f14e9[_0x5d6b86(0x20a)])||null,'sessionId':getTrimmedString(_0x540093[_0x5d6b86(0x235)+'d'])||getTrimmedString(_0x1f14e9[_0x5d6b86(0x235)+'d'])||null};}function getSessionKeyFromValue(_0x4525bc){const _0x3f0297=_0x1e3867,_0x3191b2=asRecord(_0x4525bc);return getTrimmedString(_0x3191b2[_0x3f0297(0x30b)+'ey']??_0x3191b2[_0x3f0297(0x20a)]??_0x3191b2['id']);}function createEmptySessionMetadata(){return{'names':{},'pinnedKeys':[]};}async function readSessionMetadata(_0x4856b3){const _0x4c803b=_0x1e3867;try{const _0x525a98=JSON[_0x4c803b(0x2d3)](await readFile(join(_0x4856b3,SESSION_METADATA_FILE),_0x4c803b(0x263))),_0xe83ac0=asRecord(_0x525a98);return{'names':asRecord(_0xe83ac0[_0x4c803b(0x2af)]),'pinnedKeys':Array[_0x4c803b(0x20e)](_0xe83ac0[_0x4c803b(0x229)+'ys'])?_0xe83ac0[_0x4c803b(0x229)+'ys']['filter'](_0x5e5462=>typeof _0x5e5462===_0x4c803b(0x265)&&_0x5e5462[_0x4c803b(0x333)]()):[]};}catch{return createEmptySessionMetadata();}}async function writeSessionMetadata(_0x574506,_0x1e5a3b){await mkdir(_0x574506,{'recursive':!![]}),await writeFile(join(_0x574506,SESSION_METADATA_FILE),JSON['stringif'+'y'](_0x1e5a3b,null,0x2)+'\x0a','utf8');}function applySessionMetadata(_0x503258,_0x2ec747){const _0x3449d8=_0x1e3867,_0x41d2c3=asRecord(_0x503258),_0x4df36a=Array[_0x3449d8(0x20e)](_0x41d2c3[_0x3449d8(0x25e)])?_0x41d2c3['sessions']:[];return{..._0x41d2c3,'pinnedKeys':_0x2ec747[_0x3449d8(0x229)+'ys'],'sessions':_0x4df36a['map'](_0x247ccd=>{const _0x2edb1e=_0x3449d8,_0x60f983=asRecord(_0x247ccd),_0x1cf43f=getSessionKeyFromValue(_0x60f983);if(!_0x1cf43f)return _0x247ccd;const _0x4b70a8=getTrimmedString(_0x2ec747[_0x2edb1e(0x2af)][_0x1cf43f]),_0x40b5b8=_0x2ec747[_0x2edb1e(0x229)+'ys'][_0x2edb1e(0x250)](_0x1cf43f);return{..._0x60f983,..._0x4b70a8?{'name':_0x4b70a8,'displayName':_0x4b70a8,'label':_0x4b70a8}:{},'pinned':_0x40b5b8};})};}function _0x54c5(_0x45e33e,_0x5dce80){_0x45e33e=_0x45e33e-0x1b7;const _0x12c3bb=_0x12c3();let _0x54c501=_0x12c3bb[_0x45e33e];return _0x54c501;}function sanitizeSharedContextPayload(_0x4ecd81){const _0x14cb18=_0x1e3867,_0x2d946a=asRecord(_0x4ecd81),_0x240523={};for(const _0x38b8ee of SHARED_CONTEXT_FILES){if(typeof _0x2d946a[_0x38b8ee]===_0x14cb18(0x265))_0x240523[_0x38b8ee]=_0x2d946a[_0x38b8ee];}return _0x240523;}async function readSharedContext(_0x5a93eb){const _0x237623=_0x1e3867,_0x1c746c={};for(const _0x114ff3 of SHARED_CONTEXT_FILES){try{_0x1c746c[_0x114ff3]=await readFile(join(_0x5a93eb,_0x114ff3),_0x237623(0x263));}catch{_0x1c746c[_0x114ff3]='';}}return _0x1c746c;}async function writeSharedContext(_0x116396,_0x564ac4){const _0x5c4d15=_0x1e3867,_0x332b32=sanitizeSharedContextPayload(_0x564ac4);await mkdir(_0x116396,{'recursive':!![]});for(const [_0xf78e8d,_0x35da59]of Object[_0x5c4d15(0x21b)](_0x332b32)){await writeFile(join(_0x116396,_0xf78e8d),_0x35da59,_0x5c4d15(0x263));}return{'ok':!![],'files':Object[_0x5c4d15(0x295)](_0x332b32)};}function createAskUserQuestionServer({configController:_0x385c33,emit:_0x1ae3f9}){const _0x2774ce=new Map();let _0x1706c0=null,_0x6f8698='',_0x4e196e='';async function _0x3110a1(){const _0x3ad92a=_0x54c5;if(_0x1706c0)return{'callbackUrl':_0x6f8698,'secret':_0x4e196e};_0x4e196e=randomUUID();const _0x1f6ae5=await _0x58c7af({'port':portNumbers(0x332c,0x338f)});return _0x6f8698=_0x3ad92a(0x20b)+_0x3ad92a(0x1f9)+':'+_0x1f6ae5+(_0x3ad92a(0x1d0)+'r-questi'+'on'),_0x1706c0=createServer(async(_0x49066a,_0x4291be)=>{const _0x5cfd2d=_0x3ad92a;if(_0x49066a[_0x5cfd2d(0x2a8)]!=='POST'||_0x49066a[_0x5cfd2d(0x27c)]!==_0x5cfd2d(0x1d0)+_0x5cfd2d(0x2be)+'on'){_0x4291be[_0x5cfd2d(0x202)+'d'](0x194),_0x4291be[_0x5cfd2d(0x2e8)]('not\x20foun'+'d');return;}if(_0x49066a[_0x5cfd2d(0x274)][_0x5cfd2d(0x1da)+_0x5cfd2d(0x252)+'t']!==_0x4e196e){_0x4291be[_0x5cfd2d(0x202)+'d'](0x191),_0x4291be['end'](_0x5cfd2d(0x268)+_0x5cfd2d(0x2cd));return;}let _0x2b4c01='';_0x49066a['on'](_0x5cfd2d(0x2e7),_0x13d841=>{const _0x5f48f6=_0x5cfd2d;_0x2b4c01+=_0x13d841[_0x5f48f6(0x1cc)]();if(_0x2b4c01[_0x5f48f6(0x2f1)]>0x400*0x400)_0x49066a[_0x5f48f6(0x29b)]();}),_0x49066a['on'](_0x5cfd2d(0x2e8),()=>{const _0x492d89=_0x5cfd2d;let _0x4f9de2={};try{_0x4f9de2=JSON[_0x492d89(0x2d3)](_0x2b4c01||'{}');}catch{_0x4291be[_0x492d89(0x202)+'d'](0x190),_0x4291be[_0x492d89(0x2e8)](_0x492d89(0x2c7)+'json');return;}const _0x4ef21a=randomUUID(),_0xe340ef=setTimeout(()=>{const _0x1bc000=_0x492d89;if(!_0x2774ce['has'](_0x4ef21a))return;_0x2774ce[_0x1bc000(0x204)](_0x4ef21a),_0x4291be[_0x1bc000(0x202)+'d'](0xc8,{'content-type':_0x1bc000(0x2f8)+_0x1bc000(0x301)}),_0x4291be[_0x1bc000(0x2e8)](JSON['stringif'+'y']({'behavior':_0x1bc000(0x1c2)}));},0x1d4c0);_0x2774ce[_0x492d89(0x1bd)](_0x4ef21a,{'res':_0x4291be,'timeout':_0xe340ef}),_0x1ae3f9(_0x492d89(0x1e8)+'-questio'+'n',{'requestId':_0x4ef21a,...asRecord(_0x4f9de2)});});}),await new Promise((_0x138da6,_0x4f955f)=>{const _0x51c361=_0x3ad92a;_0x1706c0[_0x51c361(0x1ef)](_0x51c361(0x2d5),_0x4f955f),_0x1706c0[_0x51c361(0x246)](_0x1f6ae5,'127.0.0.'+'1',()=>{const _0x14713d=_0x51c361;_0x1706c0[_0x14713d(0x302)](_0x14713d(0x2d5),_0x4f955f),_0x138da6();});}),await _0x385c33['ensureAs'+_0x3ad92a(0x314)+'stionPlu'+_0x3ad92a(0x1d2)+'g']({'callbackUrl':_0x6f8698,'secret':_0x4e196e}),{'callbackUrl':_0x6f8698,'secret':_0x4e196e};}function _0x173dc5(_0x32aa5e={}){const _0x1d13d1=_0x54c5,_0x344a8d=getTrimmedString(_0x32aa5e['requestI'+'d']);if(!_0x344a8d||!_0x2774ce[_0x1d13d1(0x1be)](_0x344a8d))throw new Error(_0x1d13d1(0x1e8)+_0x1d13d1(0x2e0)+_0x1d13d1(0x310)+_0x1d13d1(0x2ba)+_0x1d13d1(0x215));const _0x1fe6c8=_0x2774ce[_0x1d13d1(0x1cd)](_0x344a8d);return _0x2774ce[_0x1d13d1(0x204)](_0x344a8d),clearTimeout(_0x1fe6c8[_0x1d13d1(0x2b5)]),_0x1fe6c8['res'][_0x1d13d1(0x202)+'d'](0xc8,{'content-type':_0x1d13d1(0x2f8)+_0x1d13d1(0x301)}),_0x1fe6c8[_0x1d13d1(0x331)]['end'](JSON[_0x1d13d1(0x217)+'y']({'behavior':_0x32aa5e[_0x1d13d1(0x275)]===_0x1d13d1(0x1c2)?'deny':_0x1d13d1(0x283),'answers':asRecord(_0x32aa5e[_0x1d13d1(0x25a)])})),{'ok':!![]};}async function _0x200329(){const _0x448cdc=_0x54c5;for(const [_0x221d7b,_0x456842]of _0x2774ce){_0x2774ce[_0x448cdc(0x204)](_0x221d7b),clearTimeout(_0x456842[_0x448cdc(0x2b5)]),_0x456842[_0x448cdc(0x331)][_0x448cdc(0x202)+'d'](0xc8,{'content-type':_0x448cdc(0x2f8)+_0x448cdc(0x301)}),_0x456842['res'][_0x448cdc(0x2e8)](JSON[_0x448cdc(0x217)+'y']({'behavior':_0x448cdc(0x1c2)}));}if(!_0x1706c0)return;await new Promise(_0x24bbef=>_0x1706c0['close'](_0x24bbef)),_0x1706c0=null;}return{'start':_0x3110a1,'answer':_0x173dc5,'stop':_0x200329};}export function createGatewayController({shellConfig:_0x786db6,configController:_0x47455c,appVersion:appVersion=_0x1e3867(0x28e)}){const _0x5cfba5=_0x1e3867,_0x44e9e7=new EventEmitter(),_0x4b7810=new ClawGatewayWsClient(),_0x17b0db=[],_0x705aa=new Map(),_0x461f7b=new Map(),_0xe14cb4=createShellLogger(_0x47455c[_0x5cfba5(0x30e)],_0x5cfba5(0x1d9)),_0x31d3e9=createShellLogger(_0x47455c['paths'],_0x5cfba5(0x21e)),_0x25bddc=createShellLogger(_0x47455c[_0x5cfba5(0x30e)],_0x5cfba5(0x25e)),_0x1e05a2=createShellLogger(_0x47455c[_0x5cfba5(0x30e)],_0x5cfba5(0x2c5)+_0x5cfba5(0x2a6)),_0x4aefbf=createAskUserQuestionServer({'configController':_0x47455c,'emit':(_0x36721c,_0x5b37e5)=>_0x44e9e7['emit'](_0x36721c,_0x5b37e5)});let _0x66c15a=createInitialStatus(),_0x524d71=null,_0x379e3e=null,_0x34b72a=null,_0x50ad64=![],_0x1098c7=![],_0x480081=Promise[_0x5cfba5(0x29f)](),_0x306f3e=null,_0x181f36=0x0;function _0x236bf1(_0x220b2a,_0x3739ed){const _0x53e120=_0x5cfba5;_0x44e9e7[_0x53e120(0x1e7)](_0x220b2a,_0x3739ed);}function _0x2188cc(_0x4944d2,_0x24f5e9){return _0x44e9e7['on'](_0x4944d2,_0x24f5e9),()=>_0x44e9e7['off'](_0x4944d2,_0x24f5e9);}function _0x1ced5f(_0x1cc0d9){const _0x5ae6ad=_0x5cfba5;_0x66c15a={..._0x66c15a,..._0x1cc0d9,'updatedAt':nowIso()},_0x236bf1(_0x5ae6ad(0x1de)+_0x5ae6ad(0x1fd),_0x66c15a);}function _0x4755b1(_0x43ef02,_0x3f7b0b,_0xcb3847={}){const _0x1d4b7c=_0x5cfba5;_0x1ced5f({'lifecycle':_0x43ef02,'message':_0x3f7b0b,..._0xcb3847}),_0x3bdf09(_0x1d4b7c(0x2d2),_0x43ef02['toUpperC'+_0x1d4b7c(0x228)]()+'\x20'+_0x3f7b0b),_0xe14cb4?.['info'](_0x1d4b7c(0x2fb)+'lifecycl'+_0x1d4b7c(0x22b)+'d',{'lifecycle':_0x43ef02,'message':_0x3f7b0b,'status':{'health':_0x66c15a[_0x1d4b7c(0x23e)],'port':_0x66c15a[_0x1d4b7c(0x1f7)],'tokenPresent':_0x66c15a[_0x1d4b7c(0x300)+_0x1d4b7c(0x2db)]},...summarizePayload(_0xcb3847)});}function _0x3bdf09(_0x410731,_0xaa8397){const _0x10eeea=_0x5cfba5,_0x1f7575=String(_0xaa8397??'')[_0x10eeea(0x211)]();if(!_0x1f7575)return;const _0x1ba0ee={'source':_0x410731,'text':_0x1f7575,'timestamp':nowIso()};_0x17b0db['push'](_0x1ba0ee);if(_0x17b0db[_0x10eeea(0x2f1)]>LOG_LIMIT)_0x17b0db[_0x10eeea(0x1bf)](0x0,_0x17b0db['length']-LOG_LIMIT);_0x236bf1(_0x10eeea(0x1de)+_0x10eeea(0x1bb),_0x1ba0ee),_0xe14cb4?.['info'](_0x10eeea(0x2fb)+_0x10eeea(0x1bb),{'source':_0x410731,'text':_0x1f7575});}function _0x189e12(_0x250b4a=0xc8){const _0x14c711=_0x5cfba5;return _0x17b0db['slice'](-Math[_0x14c711(0x1db)](0x1,Math[_0x14c711(0x203)](_0x250b4a)));}function _0x5515ce(){const _0x328359=_0x5cfba5;if(!_0x524d71||_0x66c15a['lifecycl'+'e']!=='running')throw new Error(_0x328359(0x2fb)+_0x328359(0x255)+_0x328359(0x21f)+_0x328359(0x2ff)+_0x328359(0x20c)+'y');}function _0xf7b10f(){const _0x5873ec=_0x5cfba5;return Boolean(_0x524d71&&_0x66c15a[_0x5873ec(0x27d)+'e']===_0x5873ec(0x241));}function _0x26045a(_0x13f566){const _0x4150e8=_0x5cfba5;_0x236bf1(_0x4150e8(0x2d7)+_0x4150e8(0x2a3)+'t',_0x13f566);}function _0x3e35fd(_0x3c4c00){const _0x2cac59=_0x5cfba5,_0xf4e103=_0x705aa[_0x2cac59(0x1cd)](_0x3c4c00);if(!_0xf4e103)return null;_0x705aa['delete'](_0x3c4c00);if(_0xf4e103[_0x2cac59(0x312)+_0x2cac59(0x26d)+_0x2cac59(0x313)])clearTimeout(_0xf4e103['terminal'+_0x2cac59(0x26d)+'Timer']);return _0x461f7b[_0x2cac59(0x204)](_0xf4e103[_0x2cac59(0x30b)+'ey']),_0xf4e103;}function _0x4620b3(_0x19b2c0,_0x3b1434,_0x520f65=''){const _0x390b06=_0x5cfba5,_0x2cfa0a=_0x3e35fd(_0x19b2c0[_0x390b06(0x2f4)]);if(!_0x2cfa0a)return;_0x31d3e9?.[_0x390b06(0x1f8)](_0x390b06(0x26e)+_0x390b06(0x32d),{'requestId':_0x2cfa0a[_0x390b06(0x210)+'d'],'runId':_0x2cfa0a[_0x390b06(0x2f4)],'sessionKey':_0x2cfa0a[_0x390b06(0x30b)+'ey'],'outcome':_0x3b1434,'durationMs':Date[_0x390b06(0x1d6)]()-_0x2cfa0a[_0x390b06(0x1c1)+'t'],'textLength':_0x2cfa0a[_0x390b06(0x23a)+'th'],..._0x520f65?{'message':_0x520f65}:{}}),_0x26045a({'requestId':_0x2cfa0a['requestI'+'d'],'sessionKey':_0x2cfa0a['sessionK'+'ey'],'type':_0x3b1434,..._0x520f65?{'message':_0x520f65}:{}});}function _0x19e1d5(_0x50b814){const _0x14038f=_0x5cfba5;let _0x1b011f=null;for(const _0x505744 of _0x705aa['values']()){if(_0x505744[_0x14038f(0x30b)+'ey']===_0x50b814)_0x1b011f=_0x505744;}return _0x1b011f;}function _0x330091(_0x3a1f98){const _0x2b38a9=_0x5cfba5;if(!_0x3a1f98)return null;for(const _0x5d0722 of _0x705aa['values']()){if(_0x5d0722[_0x2b38a9(0x210)+'d']===_0x3a1f98)return _0x5d0722;}return null;}function _0x2905fe(_0x12eb53,_0x39e354){const _0x3ef9aa=_0x5cfba5;if(_0x39e354[_0x3ef9aa(0x2f1)]<=_0x12eb53[_0x3ef9aa(0x23a)+'th'])return;const _0x2836c1=_0x39e354[_0x3ef9aa(0x231)](_0x12eb53[_0x3ef9aa(0x23a)+'th']);_0x12eb53['textLeng'+'th']=_0x39e354['length'],_0x2836c1&&_0x26045a({'requestId':_0x12eb53[_0x3ef9aa(0x210)+'d'],'sessionKey':_0x12eb53[_0x3ef9aa(0x30b)+'ey'],'type':_0x3ef9aa(0x2b3),'delta':_0x2836c1});}function _0x3eda94(_0xa6903a,_0x804bcd,_0x18f114=''){const _0x1f9bae=_0x5cfba5;if(_0xa6903a[_0x1f9bae(0x312)+_0x1f9bae(0x26d)+_0x1f9bae(0x313)])clearTimeout(_0xa6903a[_0x1f9bae(0x312)+_0x1f9bae(0x26d)+'Timer']);_0xa6903a['terminal'+_0x1f9bae(0x26d)+_0x1f9bae(0x313)]=setTimeout(()=>{const _0x18dcf6=_0x1f9bae,_0x3c4911=_0x705aa[_0x18dcf6(0x1cd)](_0xa6903a['runId']);if(!_0x3c4911)return;_0x4620b3(_0x3c4911,_0x804bcd===_0x18dcf6(0x2d5)?'error':'done',_0x18f114);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x49af1e(_0x35a634){const _0x1bfb6f=_0x5cfba5;for(const _0x4c4b39 of _0x705aa[_0x1bfb6f(0x309)]()){_0x31d3e9?.['warn'](_0x1bfb6f(0x26e)+'\x20failed\x20'+_0x1bfb6f(0x277)+'ay\x20state',{'requestId':_0x4c4b39[_0x1bfb6f(0x210)+'d'],'runId':_0x4c4b39[_0x1bfb6f(0x2f4)],'sessionKey':_0x4c4b39['sessionK'+'ey'],'durationMs':Date[_0x1bfb6f(0x1d6)]()-_0x4c4b39[_0x1bfb6f(0x1c1)+'t'],'reason':_0x35a634}),_0x26045a({'requestId':_0x4c4b39[_0x1bfb6f(0x210)+'d'],'sessionKey':_0x4c4b39[_0x1bfb6f(0x30b)+'ey'],'type':'error','message':_0x35a634});if(_0x4c4b39[_0x1bfb6f(0x312)+_0x1bfb6f(0x26d)+'Timer'])clearTimeout(_0x4c4b39['terminal'+'Fallback'+_0x1bfb6f(0x313)]);}_0x705aa[_0x1bfb6f(0x261)](),_0x461f7b[_0x1bfb6f(0x261)]();}function _0x30d540(_0x4db482){const _0x1c9ef6=_0x5cfba5,_0x2d96ce=getTrimmedString(_0x4db482[_0x1c9ef6(0x2f4)]),_0x4083a1=getTrimmedString(_0x4db482[_0x1c9ef6(0x237)])||_0x1c9ef6(0x236),_0x3b9673=getTrimmedString(_0x4db482[_0x1c9ef6(0x30b)+'ey']),_0x2dfbff=(_0x2d96ce?_0x705aa[_0x1c9ef6(0x1cd)](_0x2d96ce):null)??(_0x3b9673?_0x19e1d5(_0x3b9673):null);if(_0x2d96ce&&_0x3b9673)_0x461f7b[_0x1c9ef6(0x1bd)](_0x3b9673,_0x2d96ce);if(_0x3b9673)_0x236bf1(_0x1c9ef6(0x32f)+_0x1c9ef6(0x236),{'sessionKey':_0x3b9673,'state':_0x4083a1});_0x31d3e9?.[_0x1c9ef6(0x1f8)]('gateway\x20'+_0x1c9ef6(0x2c2)+_0x1c9ef6(0x1ca)+_0x1c9ef6(0x230),{'runId':_0x2d96ce,'sessionKey':_0x3b9673,'state':_0x4083a1,'hasActiveRun':Boolean(_0x2dfbff),'messageText':summarizeText(extractGatewayChatText(_0x4db482['message']),0x78),'errorMessage':getTrimmedString(_0x4db482[_0x1c9ef6(0x226)+_0x1c9ef6(0x247)])});_0x2dfbff&&(_0x4083a1===_0x1c9ef6(0x1eb)||_0x4083a1===_0x1c9ef6(0x1fe)||_0x4083a1===_0x1c9ef6(0x2d5))&&_0x3eda94(_0x2dfbff,_0x4083a1,typeof _0x4db482['errorMes'+'sage']===_0x1c9ef6(0x265)?_0x4db482[_0x1c9ef6(0x226)+'sage']:_0x1c9ef6(0x2fb)+_0x1c9ef6(0x225)+_0x1c9ef6(0x32a));if(!_0x2dfbff)return;if(_0x3b9673&&_0x3b9673!==_0x2dfbff[_0x1c9ef6(0x30b)+'ey'])return;if(_0x4083a1==='delta'){_0x2905fe(_0x2dfbff,extractGatewayChatText(_0x4db482[_0x1c9ef6(0x31b)]));return;}if(_0x4083a1===_0x1c9ef6(0x1eb)||_0x4083a1===_0x1c9ef6(0x1fe)){_0x2905fe(_0x2dfbff,extractGatewayChatText(_0x4db482[_0x1c9ef6(0x31b)])),_0x4620b3(_0x2dfbff,_0x1c9ef6(0x25f));return;}_0x4083a1===_0x1c9ef6(0x2d5)&&_0x4620b3(_0x2dfbff,_0x1c9ef6(0x2d5),typeof _0x4db482[_0x1c9ef6(0x226)+_0x1c9ef6(0x247)]===_0x1c9ef6(0x265)?_0x4db482[_0x1c9ef6(0x226)+'sage']:_0x1c9ef6(0x2fb)+_0x1c9ef6(0x225)+_0x1c9ef6(0x32a));}async function _0xde4cfa(_0x29925d,_0x13a6b8){const _0x3be733=_0x5cfba5;_0x4b7810['configur'+'e']({'url':buildGatewayWsUrl(_0x13a6b8),'token':_0x29925d,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x786db6['productN'+'ame'],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x47455c[_0x3be733(0x305)+_0x3be733(0x304)+_0x3be733(0x209)+'h'](),'onChatEvent':_0x30d540,'onAgentEvent':_0x58d7c=>_0x236bf1(_0x3be733(0x222)+_0x3be733(0x29e),_0x58d7c),'onConnected':async()=>{const _0x4ca62b=_0x3be733;if(!_0x524d71||!_0x34b72a||!_0x379e3e)return;_0xe14cb4?.[_0x4ca62b(0x1f8)](_0x4ca62b(0x2fb)+'websocke'+_0x4ca62b(0x238)+_0x4ca62b(0x201),{'port':_0x34b72a,'pid':_0x524d71[_0x4ca62b(0x227)],'readyMs':_0x181f36?Date[_0x4ca62b(0x1d6)]()-_0x181f36:undefined}),_0x4755b1(_0x4ca62b(0x241),_0x4ca62b(0x2fb)+_0x4ca62b(0x1c6)+'d',{'health':'healthy','port':_0x34b72a,'tokenPresent':!![]});try{await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x786db6[_0x4ca62b(0x1ea)+_0x4ca62b(0x2f0)]))[_0x4ca62b(0x1dd)+_0x4ca62b(0x2f0)],'openclaw',_0x4ca62b(0x2df)),'stateDir':_0x47455c[_0x4ca62b(0x2ee)+_0x4ca62b(0x1f6)](),'listAgents':_0x5d5ecb,'createAgent':_0x31c397=>_0x4b7810['request'](_0x4ca62b(0x1b7)+_0x4ca62b(0x1ff),_0x31c397),'updateAgent':_0x514340=>_0x4b7810[_0x4ca62b(0x20f)]('agents.u'+_0x4ca62b(0x29d),_0x514340),'syncSkills':async({agentIds:_0x355845,mainWorkspace:_0x287c86})=>{const _0x48981c=_0x4ca62b;_0x1e05a2?.[_0x48981c(0x1f8)](_0x48981c(0x1c9)+_0x48981c(0x31e)+_0x48981c(0x286)+_0x48981c(0x2c9)+'d',{'agentIds':_0x355845,'mainWorkspace':toHomePath(_0x287c86)});const _0x2ca13b=dirname(_0x287c86),_0x59fced=await syncBundledAgentSkillsToConfig({'agentIds':_0x355845,'resolveSkillsDir':_0x3c9709=>_0x3c9709===_0x48981c(0x2e1)?join(_0x287c86,_0x48981c(0x2cf)):join(_0x2ca13b,_0x48981c(0x321)+'e-'+_0x3c9709,_0x48981c(0x2cf)),'readConfig':()=>_0x47455c[_0x48981c(0x29c)+'ig'](),'writeConfig':_0xfeec9=>_0x47455c['writeCon'+'fig'](_0xfeec9),'markConfigWriteHandledInternally':()=>_0x47455c[_0x48981c(0x245)+'igWriteH'+_0x48981c(0x26b)+_0x48981c(0x264)]()});_0x306f3e=_0x59fced[_0x48981c(0x294)+'y'],_0x1e05a2?.['info']('bundled\x20'+_0x48981c(0x31e)+_0x48981c(0x286)+_0x48981c(0x2ca)+'ted',{'agentCount':_0x355845[_0x48981c(0x2f1)],'changed':_0x59fced[_0x48981c(0x30f)],'discovery':summarizePayload(_0x59fced[_0x48981c(0x294)+'y'],{'maxDepth':0x3})});}}),_0x1e05a2?.[_0x4ca62b(0x1f8)](_0x4ca62b(0x1c9)+_0x4ca62b(0x280)+'nsured'),_0x236bf1(_0x4ca62b(0x2b7)+'pdated',{'reason':_0x4ca62b(0x1ed)+_0x4ca62b(0x1c3)+_0x4ca62b(0x1fa)});}catch(_0x3a184c){const _0x394dfe=_0x3a184c instanceof Error?_0x3a184c[_0x4ca62b(0x1ec)]||_0x3a184c[_0x4ca62b(0x31b)]:String(_0x3a184c);_0x3bdf09(_0x4ca62b(0x2d2),_0x4ca62b(0x1c9)+'agents\x20s'+_0x4ca62b(0x329)+_0x4ca62b(0x1d5)+_0x394dfe),_0x1e05a2?.['error']('bundled\x20'+'agents\x20s'+_0x4ca62b(0x329)+'ed',{'error':summarizeError(_0x3a184c)}),console[_0x4ca62b(0x2d5)](_0x4ca62b(0x316)+_0x4ca62b(0x27f)+'eway]\x20bu'+_0x4ca62b(0x214)+_0x4ca62b(0x28b)+_0x4ca62b(0x244),_0x3a184c);}},'onDisconnected':_0x6e5bf5=>{const _0x275df4=_0x3be733;_0xe14cb4?.[_0x275df4(0x21c)](_0x275df4(0x2fb)+_0x275df4(0x330)+'t\x20discon'+_0x275df4(0x270),{'reason':_0x6e5bf5}),_0x49af1e(_0x6e5bf5);if(_0x1098c7||!_0x524d71)return;_0x1ced5f({'health':'unknown','message':_0x275df4(0x2fb)+_0x275df4(0x249)+'ting:\x20'+_0x6e5bf5});}});}async function _0x486302(_0x201e63,_0x264946){const _0x4bc678=_0x5cfba5;if(_0x524d71)return;_0x181f36=Date[_0x4bc678(0x1d6)](),_0x4755b1(_0x4bc678(0x303),_0x4bc678(0x2fb)+_0x4bc678(0x303),{'health':'unknown','port':_0x264946,'tokenPresent':!![]});const _0xecd848=['gateway',_0x4bc678(0x23b),_0x4bc678(0x2e3)+_0x4bc678(0x239)+'ured',_0x4bc678(0x2ec),_0x201e63,_0x4bc678(0x306),String(_0x264946)];_0x3bdf09(_0x4bc678(0x2d2),'openclaw'+'\x20gateway'+_0x4bc678(0x289)+_0x4bc678(0x1d4)+_0x4bc678(0x2ab)+_0x4bc678(0x2f9)+'n\x20[REDAC'+_0x4bc678(0x298)+'ort\x20'+_0x264946),_0xe14cb4?.[_0x4bc678(0x1f8)](_0x4bc678(0x2fb)+'process\x20'+_0x4bc678(0x297)+_0x4bc678(0x1b8),{'args':[_0x4bc678(0x1d9),_0x4bc678(0x23b),'--allow-'+_0x4bc678(0x239)+_0x4bc678(0x267),'--token',_0x4bc678(0x223)+'D]',_0x4bc678(0x306),String(_0x264946)],'env':{'OPENCLAW_STATE_DIR':toHomePath(_0x47455c[_0x4bc678(0x2ee)+_0x4bc678(0x1f6)]()),'OPENCLAW_CONFIG_PATH':toHomePath(_0x47455c[_0x4bc678(0x253)+'onfigPat'+'h']())}}),_0x524d71=await spawnClaw(_0x786db6[_0x4bc678(0x1ea)+_0x4bc678(0x2f0)],_0xecd848,{'env':{'OPENCLAW_STATE_DIR':_0x47455c['resolveS'+_0x4bc678(0x1f6)](),'OPENCLAW_CONFIG_PATH':_0x47455c[_0x4bc678(0x253)+_0x4bc678(0x22c)+'h']()}}),_0x379e3e=_0x201e63,_0x34b72a=_0x264946,_0xe14cb4?.[_0x4bc678(0x1f8)](_0x4bc678(0x2fb)+_0x4bc678(0x326)+_0x4bc678(0x1e9),{'pid':_0x524d71[_0x4bc678(0x227)],'port':_0x34b72a}),_0x1ced5f({'health':'unknown','port':_0x34b72a,'tokenPresent':!![],'message':_0x4bc678(0x2fb)+_0x4bc678(0x326)+_0x4bc678(0x2a5)+_0x4bc678(0x200)+_0x4bc678(0x258)}),await _0xde4cfa(_0x201e63,_0x264946);const _0x3c6d3c=createLineBuffer({'trim':!![],'onLine':_0x194964=>_0x3bdf09(_0x4bc678(0x2f5),_0x194964)}),_0x5ed5a1=createLineBuffer({'trim':!![],'onLine':_0x863c3d=>_0x3bdf09(_0x4bc678(0x2b9),_0x863c3d)});_0x524d71[_0x4bc678(0x2f5)]['on'](_0x4bc678(0x2e7),_0x1ce9b9=>{const _0x153400=_0x4bc678;_0x3c6d3c[_0x153400(0x2b4)](_0x1ce9b9['toString']());}),_0x524d71[_0x4bc678(0x2b9)]['on'](_0x4bc678(0x2e7),_0x2fef07=>{_0x5ed5a1['push'](_0x2fef07['toString']());}),_0x524d71['on'](_0x4bc678(0x2d5),_0x2090f5=>{const _0x1b8478=_0x4bc678;_0xe14cb4?.[_0x1b8478(0x2d5)]('gateway\x20'+'process\x20'+'error',{'error':summarizeError(_0x2090f5)}),_0x3bdf09(_0x1b8478(0x2b9),_0x2090f5 instanceof Error?_0x2090f5['stack']||_0x2090f5[_0x1b8478(0x31b)]:String(_0x2090f5));}),_0x524d71['on']('close',(_0x2e60b2,_0x458c97)=>{const _0x2e3299=_0x4bc678;_0x3c6d3c[_0x2e3299(0x1d7)](),_0x5ed5a1[_0x2e3299(0x1d7)](),_0xe14cb4?.['warn']('gateway\x20'+_0x2e3299(0x326)+'closed',{'pid':_0x524d71?.[_0x2e3299(0x227)]??null,'code':_0x2e60b2,'signal':_0x458c97,'uptimeMs':_0x181f36?Date[_0x2e3299(0x1d6)]()-_0x181f36:undefined}),_0x3bdf09(_0x2e3299(0x2d2),_0x2e3299(0x2fb)+_0x2e3299(0x2dc)+_0x2e3299(0x2c4)+(_0x2e60b2??_0x2e3299(0x1e1))+_0x2e3299(0x2fe)+(_0x458c97??_0x2e3299(0x1e1))),_0x524d71=null,_0x379e3e=null,_0x34b72a=null,_0x4b7810['configur'+'e'](null),_0x49af1e(_0x2e3299(0x2fb)+_0x2e3299(0x326)+'exited');if(_0x1098c7){_0x4755b1('stopped',_0x2e3299(0x2fb)+_0x2e3299(0x320),{'health':_0x2e3299(0x2c1),'port':null,'tokenPresent':![]});return;}_0x4755b1(_0x2e3299(0x2d5),_0x2e3299(0x2fb)+_0x2e3299(0x307)+_0x2e3299(0x1e4)+_0x2e3299(0x1d1),{'health':_0x2e3299(0x1c0)+'y','port':null,'tokenPresent':![]});});}async function _0x546793(){const _0x21028f=_0x5cfba5;if(_0x524d71)return;_0x1098c7=![],_0xe14cb4?.[_0x21028f(0x1f8)](_0x21028f(0x2fb)+'controll'+_0x21028f(0x324)+_0x21028f(0x285)+'ed'),await _0x4aefbf['start']()[_0x21028f(0x2a7)](_0x527c76=>{const _0x4f3d7e=_0x21028f;_0x3bdf09(_0x4f3d7e(0x2d2),'ask-user'+'-questio'+_0x4f3d7e(0x2ac)+'ck\x20disab'+_0x4f3d7e(0x2a0)+(_0x527c76 instanceof Error?_0x527c76['message']:String(_0x527c76)));}),await _0x47455c[_0x21028f(0x254)+_0x21028f(0x25d)+_0x21028f(0x216)](),await ensureOpenClawDoctorFixed(_0x786db6,{'runtimeLogger':_0xe14cb4}),_0x47455c[_0x21028f(0x273)+_0x21028f(0x26a)+'es'](),_0x47455c[_0x21028f(0x317)+_0x21028f(0x2e5)+_0x21028f(0x339)](_0x24a15c=>{void _0x391d41(_0x24a15c);});const _0xaa43e8=await _0x47455c[_0x21028f(0x24e)+'tewaySet'+_0x21028f(0x25b)]();_0xe14cb4?.['info'](_0x21028f(0x2fb)+_0x21028f(0x2fc)+_0x21028f(0x269)+'ed',{'port':_0xaa43e8['port'],'tokenPresent':Boolean(_0xaa43e8['token'])}),await _0x486302(_0xaa43e8['token'],_0xaa43e8[_0x21028f(0x1f7)]);}async function _0x1d924a(){const _0x36f157=_0x5cfba5;_0x1098c7=!![],_0xe14cb4?.[_0x36f157(0x1f8)](_0x36f157(0x2fb)+'controll'+_0x36f157(0x219)+_0x36f157(0x218)+'d',{'pid':_0x524d71?.['pid']??null,'port':_0x34b72a}),_0x4b7810[_0x36f157(0x2a4)+'e'](null);if(_0x524d71){const _0x17dc8b=_0x524d71;_0x524d71=null;try{_0x17dc8b[_0x36f157(0x291)](_0x36f157(0x213));}catch{}await new Promise(_0x89333b=>setTimeout(_0x89333b,0x1f4));if(!_0x17dc8b[_0x36f157(0x23c)])try{_0x17dc8b[_0x36f157(0x291)](_0x36f157(0x27b));}catch{}}_0x379e3e=null,_0x34b72a=null,_0x49af1e(_0x36f157(0x2fb)+'stopped'),await _0x4aefbf[_0x36f157(0x292)](),_0x47455c[_0x36f157(0x28a)](),_0x4755b1(_0x36f157(0x320),'gateway\x20'+_0x36f157(0x320),{'health':'unknown','port':null,'tokenPresent':![]}),_0x1098c7=![];}async function _0x391d41(_0x91a546='manual\x20r'+'estart'){const _0x132a10=_0x5cfba5;if(_0x50ad64)return{'ok':!![]};return _0x50ad64=!![],_0xe14cb4?.['info'](_0x132a10(0x2fb)+_0x132a10(0x1f4)+_0x132a10(0x218)+'d',{'reason':_0x91a546}),_0x480081=_0x480081[_0x132a10(0x24f)](async()=>{const _0x460ab5=_0x132a10;_0x4755b1(_0x460ab5(0x2ed)+'ng',_0x460ab5(0x2fb)+_0x460ab5(0x2ed)+_0x460ab5(0x1fb)+_0x91a546,{'health':_0x460ab5(0x2c1)}),await _0x1d924a(),await _0x546793();})[_0x132a10(0x20d)](()=>{_0x50ad64=![];}),await _0x480081,{'ok':!![]};}async function _0x94bc77(){const _0x45b3bc=_0x5cfba5,_0x340d2e=await loadRuntimeInfo(_0x786db6[_0x45b3bc(0x1ea)+_0x45b3bc(0x2f0)]);return{'runtimeRoot':_0x340d2e[_0x45b3bc(0x1dd)+_0x45b3bc(0x2f0)],'openclawVersion':_0x340d2e[_0x45b3bc(0x31f)+_0x45b3bc(0x248)],'openclawWorkingDir':_0x340d2e[_0x45b3bc(0x31f)+_0x45b3bc(0x278)+'ir'],'openclawBin':_0x340d2e[_0x45b3bc(0x31f)+_0x45b3bc(0x1df)],'plugins':_0x340d2e[_0x45b3bc(0x327)][_0x45b3bc(0x31d)](_0x411b3f=>({'pluginId':_0x411b3f['pluginId'],'source':_0x411b3f[_0x45b3bc(0x2f7)],'version':_0x411b3f[_0x45b3bc(0x207)],'installPath':_0x411b3f['installP'+_0x45b3bc(0x337)]})),'configPath':_0x47455c['resolveC'+'onfigPat'+'h'](),'stateDir':_0x47455c['resolveS'+'tateDir'](),'bundledAgentSkillsDiscovery':_0x306f3e};}async function _0x5d5ecb(){const _0x581da6=_0x5cfba5;_0x1e05a2?.[_0x581da6(0x1f8)]('agents\x20l'+_0x581da6(0x2aa)+_0x581da6(0x22f));const _0x5b248a=asRecord(await _0x4b7810['request'](_0x581da6(0x266)+_0x581da6(0x2d6),{})),_0xe66d8c=getTrimmedString(_0x5b248a['defaultI'+'d'])||'main',_0x2c5079=Array[_0x581da6(0x20e)](_0x5b248a[_0x581da6(0x2df)])?[..._0x5b248a[_0x581da6(0x2df)]]:[];return{..._0x5b248a,'defaultId':_0xe66d8c,'agents':_0x2c5079};}async function _0x11e317(){const _0x363323=_0x5cfba5;if(!_0xf7b10f())return{'defaultId':_0x363323(0x2e1),'mainKey':'','scope':'','pending':!![],'agents':[{'id':'main','name':_0x786db6[_0x363323(0x1b9)+_0x363323(0x299)],'workspace':join(_0x47455c[_0x363323(0x2ee)+_0x363323(0x1f6)](),_0x363323(0x321)+'e')}]};const _0x4af52d=await _0x5d5ecb(),_0x3e564a=getTrimmedString(_0x4af52d[_0x363323(0x322)+'d'])||_0x363323(0x2e1),_0x7cb3fe=Array['isArray'](_0x4af52d['agents'])?[..._0x4af52d[_0x363323(0x2df)]]:[];return!_0x7cb3fe[_0x363323(0x24a)](_0x19896d=>asRecord(_0x19896d)['id']===_0x363323(0x2e1))&&_0x7cb3fe['unshift']({'id':_0x363323(0x2e1),'name':_0x786db6[_0x363323(0x1b9)+_0x363323(0x299)],'workspace':join(_0x47455c[_0x363323(0x2ee)+_0x363323(0x1f6)](),_0x363323(0x321)+'e')}),{..._0x4af52d,'defaultId':_0x3e564a,'agents':_0x7cb3fe};}async function _0x56eefc(_0x23d1b4={}){const _0x27e76f=_0x5cfba5;_0x5515ce();const _0x37484d=Date[_0x27e76f(0x1d6)]();_0x25bddc?.['info'](_0x27e76f(0x2de)+_0x27e76f(0x2ad)+'equested',{'payload':summarizePayload(_0x23d1b4)});const _0x315750=await _0x4b7810[_0x27e76f(0x20f)](_0x27e76f(0x25e)+_0x27e76f(0x243),buildSessionCreateRequestPayload(_0x23d1b4)),_0x59d599=parseSessionCreateResult(_0x315750);return _0x25bddc?.[_0x27e76f(0x1f8)](_0x27e76f(0x2de)+_0x27e76f(0x2bd)+_0x27e76f(0x232),{'key':_0x59d599[_0x27e76f(0x20a)],'sessionId':_0x59d599[_0x27e76f(0x235)+'d'],'durationMs':Date[_0x27e76f(0x1d6)]()-_0x37484d}),_0x59d599;}async function _0x4ca959(_0x599774={}){const _0x96193c=_0x5cfba5,_0x450184=await readSessionMetadata(_0x47455c[_0x96193c(0x2ee)+'tateDir']());if(!_0xf7b10f())return{'pending':!![],'sessions':[],'pinnedKeys':_0x450184[_0x96193c(0x229)+'ys']};const _0x3f7f4b=Date[_0x96193c(0x1d6)](),_0x2c760c=Math[_0x96193c(0x1db)](0x1,Math[_0x96193c(0x203)](Number(_0x599774[_0x96193c(0x2fd)])||0x64)),_0x3e08c7={'limit':_0x2c760c,'includeGlobal':!![],'includeUnknown':![]},_0x47ea7e=getTrimmedString(_0x599774['agentId']??'main');if(_0x47ea7e)_0x3e08c7[_0x96193c(0x1dc)]=_0x47ea7e;const _0x5aae1b=applySessionMetadata(await _0x4b7810['request'](_0x96193c(0x25e)+_0x96193c(0x1ba),_0x3e08c7),_0x450184);return _0x25bddc?.[_0x96193c(0x1f8)](_0x96193c(0x25e)+_0x96193c(0x2b2)+_0x96193c(0x32e),{'payload':_0x3e08c7,'count':Array['isArray'](_0x5aae1b[_0x96193c(0x25e)])?_0x5aae1b[_0x96193c(0x25e)][_0x96193c(0x2f1)]:0x0,'durationMs':Date[_0x96193c(0x1d6)]()-_0x3f7f4b}),_0x5aae1b;}async function _0x4eade1(_0x5333af={}){const _0x1b82bb=_0x5cfba5;_0x5515ce();const _0x257bd7=getTrimmedString(_0x5333af[_0x1b82bb(0x30b)+'ey']??_0x5333af[_0x1b82bb(0x20a)]);if(!_0x257bd7)throw new Error(_0x1b82bb(0x30b)+_0x1b82bb(0x287)+_0x1b82bb(0x336));const _0x5ed786=Date['now'](),_0x59ffe4=await _0x4b7810[_0x1b82bb(0x20f)](_0x1b82bb(0x25e)+_0x1b82bb(0x2ae),{'key':_0x257bd7,'deleteTranscript':_0x5333af[_0x1b82bb(0x1ee)+'anscript']!==![],'emitLifecycleHooks':!![]}),_0x2aaa4b=await readSessionMetadata(_0x47455c['resolveS'+_0x1b82bb(0x1f6)]());return delete _0x2aaa4b[_0x1b82bb(0x2af)][_0x257bd7],_0x2aaa4b[_0x1b82bb(0x229)+'ys']=_0x2aaa4b[_0x1b82bb(0x229)+'ys'][_0x1b82bb(0x1c8)](_0x4e7254=>_0x4e7254!==_0x257bd7),await writeSessionMetadata(_0x47455c[_0x1b82bb(0x2ee)+'tateDir'](),_0x2aaa4b),_0x236bf1('session-'+_0x1b82bb(0x236),{'type':_0x1b82bb(0x2e9),'sessionKey':_0x257bd7}),_0x25bddc?.[_0x1b82bb(0x1f8)](_0x1b82bb(0x2de)+_0x1b82bb(0x1e5)+'ompleted',{'sessionKey':_0x257bd7,'deleteTranscript':_0x5333af['deleteTr'+_0x1b82bb(0x29a)]!==![],'durationMs':Date[_0x1b82bb(0x1d6)]()-_0x5ed786}),_0x59ffe4;}async function _0x13bb09(_0x45d3a7={}){const _0x4f8138=_0x5cfba5,_0x36a83c=getTrimmedString(_0x45d3a7[_0x4f8138(0x30b)+'ey']??_0x45d3a7[_0x4f8138(0x20a)]);if(!_0x36a83c)throw new Error(_0x4f8138(0x30b)+_0x4f8138(0x287)+_0x4f8138(0x336));const _0x47a85a=getTrimmedString(_0x45d3a7[_0x4f8138(0x279)]??_0x45d3a7[_0x4f8138(0x31a)]??_0x45d3a7['title']),_0x942550=await readSessionMetadata(_0x47455c['resolveS'+_0x4f8138(0x1f6)]());if(_0x47a85a)_0x942550[_0x4f8138(0x2af)][_0x36a83c]=_0x47a85a;else delete _0x942550[_0x4f8138(0x2af)][_0x36a83c];return await writeSessionMetadata(_0x47455c[_0x4f8138(0x2ee)+_0x4f8138(0x1f6)](),_0x942550),_0x236bf1(_0x4f8138(0x32f)+'updated',{'type':_0x4f8138(0x288),'sessionKey':_0x36a83c,'name':_0x47a85a}),_0x25bddc?.['info']('session\x20'+'rename\x20c'+_0x4f8138(0x232),{'sessionKey':_0x36a83c,'hasName':Boolean(_0x47a85a),'name':_0x47a85a?summarizeText(_0x47a85a,0x50):undefined}),{'ok':!![]};}async function _0x340bbd(){const _0x1b87d0=_0x5cfba5,_0x464e99=await readSessionMetadata(_0x47455c[_0x1b87d0(0x2ee)+_0x1b87d0(0x1f6)]());return _0x464e99[_0x1b87d0(0x229)+'ys'];}async function _0x559635(_0x612fef=[]){const _0xf9304f=_0x5cfba5,_0x117a9f=await readSessionMetadata(_0x47455c['resolveS'+_0xf9304f(0x1f6)]());return _0x117a9f[_0xf9304f(0x229)+'ys']=Array[_0xf9304f(0x20e)](_0x612fef)?[...new Set(_0x612fef[_0xf9304f(0x31d)](getTrimmedString)[_0xf9304f(0x1c8)](Boolean))]:[],await writeSessionMetadata(_0x47455c['resolveS'+_0xf9304f(0x1f6)](),_0x117a9f),_0x236bf1(_0xf9304f(0x32f)+'updated',{'type':_0xf9304f(0x22a)+_0xf9304f(0x1cf)+_0xf9304f(0x201),'pinnedKeys':_0x117a9f[_0xf9304f(0x229)+'ys']}),_0x25bddc?.[_0xf9304f(0x1f8)](_0xf9304f(0x2de)+'pinned\x20k'+_0xf9304f(0x27e)+'ted',{'count':_0x117a9f[_0xf9304f(0x229)+'ys'][_0xf9304f(0x2f1)]}),{'ok':!![],'pinnedKeys':_0x117a9f[_0xf9304f(0x229)+'ys']};}async function _0x58450d(){const _0x5df05d=_0x5cfba5,_0x327aba=join(_0x47455c['resolveS'+_0x5df05d(0x1f6)](),_0x5df05d(0x321)+'e');return{'path':_0x327aba,'exists':Boolean(await stat(_0x327aba)[_0x5df05d(0x2a7)](()=>null))};}async function _0x3d5e00(){const _0x5a5284=_0x5cfba5;return readSharedContext(join(_0x47455c[_0x5a5284(0x2ee)+_0x5a5284(0x1f6)](),_0x5a5284(0x321)+'e'));}async function _0x11d298(_0x5786b3={}){const _0x56716b=_0x5cfba5;return _0x1e05a2?.[_0x56716b(0x1f8)](_0x56716b(0x321)+_0x56716b(0x30d)+_0x56716b(0x319)+_0x56716b(0x2c8)+_0x56716b(0x2d8),{'files':Object[_0x56716b(0x295)](sanitizeSharedContextPayload(_0x5786b3))}),writeSharedContext(join(_0x47455c[_0x56716b(0x2ee)+'tateDir'](),'workspac'+'e'),_0x5786b3);}async function _0x239f0a(_0x5bbeab={}){const _0x3dd384=_0x5cfba5;return _0x5515ce(),await _0x4b7810[_0x3dd384(0x20f)](_0x3dd384(0x2ce)+'t',_0x5bbeab);}async function _0x55ae8e(_0x36ee0c={}){const _0xf3b983=_0x5cfba5;return _0x5515ce(),await _0x4b7810[_0xf3b983(0x20f)](_0xf3b983(0x1e0),_0x36ee0c);}async function _0x2513b3(_0x1ce035={}){const _0x4f0dcd=_0x5cfba5;_0x5515ce();const _0x154882=getTrimmedString(_0x1ce035[_0x4f0dcd(0x242)]??_0x1ce035['id']);if(!_0x154882)throw new Error(_0x4f0dcd(0x27a)+_0x4f0dcd(0x30c)+'d');const _0x9c6a50=asRecord(_0x1ce035[_0x4f0dcd(0x1d8)]),_0xaa22e1=Object['keys'](_0x9c6a50)['length']>0x0?_0x9c6a50:{..._0x1ce035};return delete _0xaa22e1[_0x4f0dcd(0x242)],delete _0xaa22e1['id'],await _0x4b7810[_0x4f0dcd(0x20f)](_0x4f0dcd(0x206)+_0x4f0dcd(0x256),{'jobId':_0x154882,'patch':_0xaa22e1});}async function _0x33b6b9(_0x26424b={}){const _0x5c4cb5=_0x5cfba5;_0x5515ce();const _0x243ff7=getTrimmedString(_0x26424b[_0x5c4cb5(0x242)]??_0x26424b['id']);if(!_0x243ff7)throw new Error(_0x5c4cb5(0x27a)+_0x5c4cb5(0x30c)+'d');return await _0x4b7810['request'](_0x5c4cb5(0x259)+_0x5c4cb5(0x334),{'jobId':_0x243ff7});}async function _0x446e9c(_0x3b619a={}){const _0x395b0e=_0x5cfba5;_0x5515ce();const _0x1dc91=getTrimmedString(_0x3b619a['jobId']??_0x3b619a['id']);if(!_0x1dc91)throw new Error(_0x395b0e(0x27a)+_0x395b0e(0x30c)+'d');return await _0x4b7810[_0x395b0e(0x20f)](_0x395b0e(0x1c7),{'jobId':_0x1dc91});}async function _0x4d74e7(_0x2d4bf9={}){const _0xd794c8=_0x5cfba5;return _0x5515ce(),await _0x4b7810[_0xd794c8(0x20f)](_0xd794c8(0x1c7)+'s',_0x2d4bf9);}async function _0x3de4af(_0x37aada={}){const _0x3f5c96=_0x5cfba5;_0x5515ce();const _0x1b2968=Date[_0x3f5c96(0x1d6)]();_0x1e05a2?.['info'](_0x3f5c96(0x1f2)+_0x3f5c96(0x28d)+_0x3f5c96(0x1b8),{'payload':summarizePayload(_0x37aada)});try{const _0x241477=await _0x4b7810[_0x3f5c96(0x20f)](_0x3f5c96(0x2cb)+_0x3f5c96(0x24c),_0x37aada);return _0x1e05a2?.['info'](_0x3f5c96(0x1f2)+_0x3f5c96(0x234)+'mpleted',{'durationMs':Date[_0x3f5c96(0x1d6)]()-_0x1b2968,'result':summarizePayload(_0x241477,{'maxDepth':0x2})}),_0x241477;}catch(_0x201396){_0x1e05a2?.[_0x3f5c96(0x2d5)](_0x3f5c96(0x1f2)+_0x3f5c96(0x323)+'iled',{'durationMs':Date[_0x3f5c96(0x1d6)]()-_0x1b2968,'error':summarizeError(_0x201396)});throw _0x201396;}}async function _0x1d0888(_0x3f0cbc={}){const _0x11a1f0=_0x5cfba5;return _0x5515ce(),_0x1e05a2?.[_0x11a1f0(0x1f8)](_0x11a1f0(0x2bf)+'date\x20req'+'uested',{'payload':summarizePayload(_0x3f0cbc)}),await _0x4b7810['request'](_0x11a1f0(0x276)+_0x11a1f0(0x29d),_0x3f0cbc);}async function _0x5b11e7(_0x24d0a6={}){const _0x581393=_0x5cfba5;return _0x5515ce(),_0x1e05a2?.[_0x581393(0x1f8)](_0x581393(0x260)+_0x581393(0x338)+_0x581393(0x1c5),{'payload':summarizePayload(_0x24d0a6)}),await _0x4b7810['request']('skills.d'+_0x581393(0x26c),_0x24d0a6);}async function _0xf38547(_0x8536cc={}){const _0x1b3cff=_0x5cfba5;_0x5515ce();const _0x151b10=getTrimmedString(_0x8536cc['sessionK'+'ey']),_0x4485ce=getTrimmedString(_0x8536cc[_0x1b3cff(0x31b)]),_0x4447b0=getTrimmedString(_0x8536cc[_0x1b3cff(0x210)+'d'])||randomUUID();if(!_0x151b10)throw new Error(_0x1b3cff(0x30b)+_0x1b3cff(0x287)+'quired');if(!_0x4485ce)throw new Error(_0x1b3cff(0x325)+_0x1b3cff(0x240)+_0x1b3cff(0x2f6));const _0x24336c=Date[_0x1b3cff(0x1d6)]();_0x31d3e9?.[_0x1b3cff(0x1f8)](_0x1b3cff(0x296)+'eam\x20requ'+_0x1b3cff(0x22f),{'requestId':_0x4447b0,'sessionKey':_0x151b10,'message':summarizeText(_0x4485ce),'filePaths':summarizeFilePaths(_0x8536cc[_0x1b3cff(0x33a)+'s'])}),_0x26045a({'requestId':_0x4447b0,'sessionKey':_0x151b10,'type':_0x1b3cff(0x1e9)}),_0x705aa[_0x1b3cff(0x1bd)](_0x4447b0,{'runId':_0x4447b0,'requestId':_0x4447b0,'sessionKey':_0x151b10,'textLength':0x0,'startedAt':_0x24336c}),_0x461f7b[_0x1b3cff(0x1bd)](_0x151b10,_0x4447b0);try{const _0x4b52bd=await buildAttachments(Array[_0x1b3cff(0x20e)](_0x8536cc[_0x1b3cff(0x33a)+'s'])?_0x8536cc[_0x1b3cff(0x33a)+'s']:[]);_0x31d3e9?.[_0x1b3cff(0x1f8)](_0x1b3cff(0x24b)+_0x1b3cff(0x28c)+'\x20prepare'+'d',{'requestId':_0x4447b0,'sessionKey':_0x151b10,'attachmentCount':_0x4b52bd[_0x1b3cff(0x2f1)],'attachments':_0x4b52bd[_0x1b3cff(0x31d)](_0x3879fd=>({'type':_0x3879fd[_0x1b3cff(0x311)],'mimeType':_0x3879fd[_0x1b3cff(0x1e6)],'fileName':_0x3879fd[_0x1b3cff(0x282)],'contentLength':_0x3879fd[_0x1b3cff(0x212)][_0x1b3cff(0x2f1)]}))});const _0x2641bc=asRecord(await _0x4b7810[_0x1b3cff(0x20f)](_0x1b3cff(0x281)+'d',{'sessionKey':_0x151b10,'message':_0x4485ce,'deliver':![],'idempotencyKey':_0x4447b0,..._0x4b52bd[_0x1b3cff(0x2f1)]>0x0?{'attachments':_0x4b52bd}:{}})),_0x29a684=getTrimmedString(_0x2641bc[_0x1b3cff(0x2f4)])||_0x4447b0,_0x383529=_0x705aa['get'](_0x4447b0);if(!_0x383529)return{'ok':!![],'requestId':_0x4447b0,'runId':_0x29a684};return _0x29a684!==_0x383529['runId']&&(_0x705aa[_0x1b3cff(0x204)](_0x383529[_0x1b3cff(0x2f4)]),_0x383529[_0x1b3cff(0x2f4)]=_0x29a684,_0x705aa[_0x1b3cff(0x1bd)](_0x29a684,_0x383529)),_0x461f7b['set'](_0x151b10,_0x29a684),_0x31d3e9?.[_0x1b3cff(0x1f8)](_0x1b3cff(0x296)+'eam\x20acce'+'pted\x20by\x20'+_0x1b3cff(0x1d9),{'requestId':_0x4447b0,'runId':_0x29a684,'sessionKey':_0x151b10,'durationMs':Date['now']()-_0x24336c,'status':_0x2641bc['status']}),_0x2641bc[_0x1b3cff(0x1fd)]===_0x1b3cff(0x2d5)&&_0x4620b3(_0x383529,_0x1b3cff(0x2d5),getTrimmedString(_0x2641bc[_0x1b3cff(0x226)+'sage'])||_0x1b3cff(0x2fb)+_0x1b3cff(0x225)+'led'),{'ok':!![],'requestId':_0x4447b0,'runId':_0x29a684,'response':_0x2641bc};}catch(_0xb43317){const _0x307b05=_0x330091(_0x4447b0),_0x2966bc=_0xb43317 instanceof Error?_0xb43317[_0x1b3cff(0x31b)]:String(_0xb43317);_0x31d3e9?.[_0x1b3cff(0x2d5)]('chat\x20str'+_0x1b3cff(0x205)+'ed',{'requestId':_0x4447b0,'sessionKey':_0x151b10,'durationMs':Date[_0x1b3cff(0x1d6)]()-_0x24336c,'error':summarizeError(_0xb43317)});if(_0x307b05)_0x4620b3(_0x307b05,_0x1b3cff(0x2d5),_0x2966bc);else _0x26045a({'requestId':_0x4447b0,'sessionKey':_0x151b10,'type':_0x1b3cff(0x2d5),'message':_0x2966bc});throw _0xb43317;}}async function _0x440a66(_0x1fd01c={}){const _0x159fa3=_0x5cfba5;_0x5515ce();const _0x5340f3=getTrimmedString(_0x1fd01c[_0x159fa3(0x30b)+'ey']);if(!_0x5340f3)throw new Error('sessionK'+'ey\x20is\x20re'+_0x159fa3(0x336));const _0x500dc4=Date[_0x159fa3(0x1d6)](),_0x258586=_0x330091(getTrimmedString(_0x1fd01c['requestI'+'d']))??_0x19e1d5(_0x5340f3),_0x3f7043=_0x461f7b[_0x159fa3(0x1cd)](_0x5340f3),_0x2aa5da={'sessionKey':_0x5340f3};if(_0x258586?.[_0x159fa3(0x2f4)])_0x2aa5da[_0x159fa3(0x2f4)]=_0x258586['runId'];else{if(_0x3f7043)_0x2aa5da[_0x159fa3(0x2f4)]=_0x3f7043;}const _0x3946cb=await _0x4b7810[_0x159fa3(0x20f)]('chat.abo'+'rt',_0x2aa5da);if(_0x258586)_0x4620b3(_0x258586,_0x159fa3(0x25f));return _0x31d3e9?.['info'](_0x159fa3(0x21d)+_0x159fa3(0x2cc)+_0x159fa3(0x30a),{'sessionKey':_0x5340f3,'requestId':getTrimmedString(_0x1fd01c[_0x159fa3(0x210)+'d']),'runId':_0x2aa5da[_0x159fa3(0x2f4)],'durationMs':Date['now']()-_0x500dc4}),_0x3946cb;}async function _0x58f487(_0x1f7ce5={}){const _0x5027d6=_0x5cfba5;_0x5515ce();const _0x2c95d0=getTrimmedString(_0x1f7ce5[_0x5027d6(0x30b)+'ey']);if(!_0x2c95d0)throw new Error(_0x5027d6(0x30b)+'ey\x20is\x20re'+_0x5027d6(0x336));const _0x31d389=await _0x4b7810[_0x5027d6(0x20f)](_0x5027d6(0x28f)+_0x5027d6(0x290),{'sessionKey':_0x2c95d0,'limit':Math[_0x5027d6(0x1db)](0x1,Math[_0x5027d6(0x203)](Number(_0x1f7ce5['limit'])||0xc8))});return _0x31d3e9?.[_0x5027d6(0x1f8)](_0x5027d6(0x1d3)+'tory\x20loa'+_0x5027d6(0x1e2),{'sessionKey':_0x2c95d0,'limit':Math[_0x5027d6(0x1db)](0x1,Math['floor'](Number(_0x1f7ce5[_0x5027d6(0x2fd)])||0xc8)),'result':summarizePayload(_0x31d389,{'maxDepth':0x2})}),_0x31d389;}async function _0x28f0f9(_0x1f5cce=''){const _0x4bab60=_0x5cfba5;if(!_0xf7b10f())return{'pending':!![],'skills':[]};const _0x29ac01=getTrimmedString(_0x1f5cce),_0x57e724=await _0x4b7810['request'](_0x4bab60(0x25c)+'tatus',_0x29ac01?{'agentId':_0x29ac01}:{}),_0x17c3dc=await _0x47455c[_0x4bab60(0x29c)+'ig']()['catch'](()=>({})),_0x58b368=filterSkillsForAgent(_0x57e724,_0x17c3dc,_0x29ac01);return _0x1e05a2?.[_0x4bab60(0x1f8)](_0x4bab60(0x257)+_0x4bab60(0x1c4)+'aded',{'agentId':_0x29ac01||'default','result':summarizePayload(_0x58b368,{'maxDepth':0x2})}),_0x58b368;}return{'on':_0x2188cc,'start':_0x546793,'stop':_0x1d924a,'restart':_0x391d41,'runtimeInfo':_0x94bc77,'getStatus':()=>_0x66c15a,'getRecentLogs':_0x189e12,'answerAskUserQuestion':_0x358ff3=>_0x4aefbf[_0x5cfba5(0x2da)](_0x358ff3),'agents':{'list':_0x11e317},'skills':{'status':_0x28f0f9,'install':_0x3de4af,'update':_0x1d0888,'delete':_0x5b11e7},'sessions':{'create':_0x56eefc,'list':_0x4ca959,'delete':_0x4eade1,'rename':_0x13bb09,'pinnedKeys':_0x340bbd,'setPinnedKeys':_0x559635},'workspace':{'directoryInfo':_0x58450d,'sharedContext':_0x3d5e00,'writeSharedContext':_0x11d298},'cron':{'list':_0x239f0a,'create':_0x55ae8e,'update':_0x2513b3,'remove':_0x33b6b9,'runOnce':_0x446e9c,'logs':_0x4d74e7},'models':{'settings':()=>_0x47455c[_0x5cfba5(0x2b6)+_0x5cfba5(0x272)](),'setSettings':async(_0x15549c={})=>{const _0x36655e=_0x5cfba5,_0x56d949=_0x15549c?.[_0x36655e(0x1f3)+_0x36655e(0x2f3)]!==![];return await _0x47455c[_0x36655e(0x2bc)+_0x36655e(0x272)](_0x15549c,{'restartOnChange':_0x56d949}),_0x47455c[_0x36655e(0x2b6)+_0x36655e(0x272)]();},'setSelfOperatedModels':_0x33aefc=>_0x47455c[_0x5cfba5(0x24d)+_0x5cfba5(0x2b1)+_0x5cfba5(0x2f2)](_0x33aefc),'selectedModelId':async()=>{const _0x28a332=_0x5cfba5,_0x5d8e48=await _0x47455c[_0x28a332(0x2b6)+_0x28a332(0x272)]();return _0x5d8e48[_0x28a332(0x2d9)]&&_0x5d8e48['modelNam'+'e']?_0x5d8e48['provider']+'/'+_0x5d8e48[_0x28a332(0x32b)+'e']:'';},'customModels':async()=>[]},'config':{'read':()=>_0x47455c['readConf'+'ig']()},'chat':{'stream':_0xf38547,'abort':_0x440a66,'history':_0x58f487}};}
@@ -1 +1 @@
1
- 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 _0x27d58d=_0x2c58;(function(_0x39228e,_0x13a89d){const _0x2f02f3=_0x2c58,_0x4e1de3=_0x39228e();while(!![]){try{const _0x245575=parseInt(_0x2f02f3(0x1d6))/0x1*(-parseInt(_0x2f02f3(0x1f6))/0x2)+-parseInt(_0x2f02f3(0x1c0))/0x3+-parseInt(_0x2f02f3(0x1b2))/0x4+parseInt(_0x2f02f3(0x1b6))/0x5+parseInt(_0x2f02f3(0x19a))/0x6*(parseInt(_0x2f02f3(0x185))/0x7)+parseInt(_0x2f02f3(0x1eb))/0x8+-parseInt(_0x2f02f3(0x1e0))/0x9;if(_0x245575===_0x13a89d)break;else _0x4e1de3['push'](_0x4e1de3['shift']());}catch(_0x3377cd){_0x4e1de3['push'](_0x4e1de3['shift']());}}}(_0x6a36,0xc7804));import{Buffer}from'node:buffer';import{createHash,createPrivateKey,createPublicKey,generateKeyPairSync,randomUUID,sign}from'node:crypto';import{chmodSync,existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import _0x1cc090 from'ws';const ED25519_SPKI_PREFIX=Buffer[_0x27d58d(0x1cc)](_0x27d58d(0x18a)+_0x27d58d(0x169)+_0x27d58d(0x1e9),_0x27d58d(0x1a3)),BASE64_PADDING_REGEX=/=+$/g,UPPERCASE_ASCII_REGEX=/[A-Z]/g;function isRecord(_0x951c40){const _0x152aad=_0x27d58d;return Boolean(_0x951c40)&&typeof _0x951c40===_0x152aad(0x19c)&&!Array[_0x152aad(0x16f)](_0x951c40);}function formatUnknownError(_0x5195fe){if(_0x5195fe instanceof Error)return _0x5195fe['message'];return String(_0x5195fe??'');}function isLocalGatewayConnRefused(_0x15768f){const _0x1542bd=_0x27d58d,_0x5032a0=formatUnknownError(_0x15768f);return/\bECONNREFUSED\b/i[_0x1542bd(0x190)](_0x5032a0)&&/127\.0\.0\.1:\d+/['test'](_0x5032a0);}function base64UrlEncode(_0x44e6a0){const _0xff3d99=_0x27d58d;return _0x44e6a0[_0xff3d99(0x1c4)](_0xff3d99(0x1f1))['replaceA'+'ll']('+','-')[_0xff3d99(0x202)+'ll']('/','_')['replace'](BASE64_PADDING_REGEX,'');}function derivePublicKeyRaw(_0x3b0773){const _0x377020=_0x27d58d,_0xbd6514=createPublicKey(_0x3b0773)[_0x377020(0x1d1)]({'type':'spki','format':_0x377020(0x151)}),_0x3f9f84=Buffer['isBuffer'](_0xbd6514)?_0xbd6514:Buffer[_0x377020(0x1cc)](_0xbd6514),_0x4d0b1f=_0x3f9f84[_0x377020(0x14c)]===ED25519_SPKI_PREFIX['length']+0x20&&_0x3f9f84[_0x377020(0x1c5)](0x0,ED25519_SPKI_PREFIX[_0x377020(0x14c)])['equals'](ED25519_SPKI_PREFIX);return _0x4d0b1f?_0x3f9f84[_0x377020(0x1c5)](ED25519_SPKI_PREFIX[_0x377020(0x14c)]):_0x3f9f84;}function fingerprintPublicKey(_0x584bc2){const _0x1dea05=_0x27d58d;return createHash(_0x1dea05(0x1c2))[_0x1dea05(0x1e5)](derivePublicKeyRaw(_0x584bc2))[_0x1dea05(0x1ab)]('hex');}function publicKeyRawBase64UrlFromPem(_0x1da6f1){return base64UrlEncode(derivePublicKeyRaw(_0x1da6f1));}function signDevicePayload(_0x27da24,_0x2d69d7){const _0x358813=_0x27d58d,_0x4e5f94=createPrivateKey(_0x27da24);return base64UrlEncode(sign(null,Buffer[_0x358813(0x1cc)](_0x2d69d7,'utf8'),_0x4e5f94));}function normalizeDeviceMetadataForAuth(_0x2dd631){const _0x12a6f8=_0x27d58d,_0x18e26c=typeof _0x2dd631==='string'?_0x2dd631[_0x12a6f8(0x17a)]():'';if(!_0x18e26c)return'';return _0x18e26c['replace'](UPPERCASE_ASCII_REGEX,_0x252f11=>String[_0x12a6f8(0x1fc)+'Code'](_0x252f11[_0x12a6f8(0x1e8)+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x68b8db){const _0x451943=_0x27d58d;return['v3',_0x68b8db[_0x451943(0x1dc)],_0x68b8db[_0x451943(0x1f3)],_0x68b8db[_0x451943(0x175)+'de'],_0x68b8db['role'],_0x68b8db[_0x451943(0x154)]['join'](','),String(_0x68b8db[_0x451943(0x168)+'Ms']),_0x68b8db[_0x451943(0x1de)]??'',_0x68b8db[_0x451943(0x152)],normalizeDeviceMetadataForAuth(_0x68b8db[_0x451943(0x1a5)]),normalizeDeviceMetadataForAuth(_0x68b8db[_0x451943(0x159)+_0x451943(0x18c)])][_0x451943(0x1bf)]('|');}function writeIdentityFile(_0x4a8e79,_0x199e89,_0x3f7294){mkdirSync(dirname(_0x4a8e79),{'recursive':!![]}),writeFileSync(_0x4a8e79,JSON['stringif'+'y']({'version':0x1,..._0x199e89,'createdAtMs':_0x3f7294},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0x4a8e79,0x180);}catch{}}function generateDeviceIdentity(){const _0xee9bbe=_0x27d58d,{publicKey:_0xd77365,privateKey:_0x433ce8}=generateKeyPairSync(_0xee9bbe(0x1b1)),_0x68b636=_0xd77365[_0xee9bbe(0x1d1)]({'type':'spki','format':_0xee9bbe(0x160)})[_0xee9bbe(0x1c4)](),_0x14f372=_0x433ce8[_0xee9bbe(0x1d1)]({'type':'pkcs8','format':_0xee9bbe(0x160)})[_0xee9bbe(0x1c4)]();return{'deviceId':fingerprintPublicKey(_0x68b636),'publicKeyPem':_0x68b636,'privateKeyPem':_0x14f372};}function loadOrCreateDeviceIdentity(_0x1aa680){const _0x260fbe=_0x27d58d;if(existsSync(_0x1aa680))try{const _0x67a4a7=JSON[_0x260fbe(0x17f)](readFileSync(_0x1aa680,'utf8')),_0x52c468=typeof _0x67a4a7?.[_0x260fbe(0x16b)+_0x260fbe(0x18e)]==='string'?_0x67a4a7[_0x260fbe(0x16b)+'yPem']:'',_0x7ae7e=typeof _0x67a4a7?.['privateK'+_0x260fbe(0x182)]===_0x260fbe(0x153)?_0x67a4a7['privateK'+_0x260fbe(0x182)]:'';if(_0x52c468&&_0x7ae7e){const _0x46b62d={'deviceId':fingerprintPublicKey(_0x52c468),'publicKeyPem':_0x52c468,'privateKeyPem':_0x7ae7e};return _0x67a4a7?.[_0x260fbe(0x1dc)]!==_0x46b62d[_0x260fbe(0x1dc)]&&writeIdentityFile(_0x1aa680,_0x46b62d,Date['now']()),_0x46b62d;}}catch{}const _0x25f0f8=generateDeviceIdentity();return writeIdentityFile(_0x1aa680,_0x25f0f8,Date['now']()),_0x25f0f8;}function _0x6a36(){const _0x5768aa=['set','export','get','gateway\x20','ect','readyWai','408489ilUfwi','ell/','ters','nectChal','hake\x20tim','chat','deviceId','timed\x20ou','token','rsion','6124995HsqamF','sendConn','waitUnti','t\x20restar','ent','update','lListene','clientDi','charCode','70032100','WS\x20error','9342976NPYBds','tTimer','handleDi','reject','sing\x20non','timeoutM','base64','sconnect','clientId','.write','DateTime','2tFqfIf','WS\x20disco','WS\x20close','nected','初始化\x20gate','clearTim','fromChar','entity','failed:\x20','type','ting','OPEN','replaceA','request','WS\x20hands','ssage','length','send','handleMe','Options','hallenge','der','nonce','string','scopes','way\x20设备身份','t:\x20','connect','connect\x20','deviceFa','WS\x20is\x20no','clientVe','restart','.read','privateK','agent','pem','operator','t\x20config','wujie-sh','onConnec','splayNam','expectFi','pending','signedAt','06032b65','status','publicKe','stringif','delete','close','isArray','payload','Format','ction\x20ti','url','removeAl','clientMo','connectC','med\x20out','event','lReady','trim','failed','d\x20(','ble','skipRead','parse','res','\x20yet','eyPem','eadyWait','challeng','5278rWRLwW','resolve','stop','WS\x20conne','clientDe','302a3005','yCheck','mily','onAgentE','yPem','error','test','viceFami','request\x20','rejectRe','timeout','dentity\x20','reconnec','config','g\x20nonce','adyWaite','2514IvUWAL','.approva','object','ed\x20out','ted','connecte','queueCon','shouldRe','connectN','hex','Timer','platform','e\x20missin','device\x20i','tBackoff','failed\x20t','vent','digest','resolveR','rejectPe','accepted','now','nding','ed25519','93160CtiaQu','method','lengeTim','ured','4791060zfNTmC','ers','configur','WS\x20clien','ateway\x20r','Path','o\x20send\x20g','push','equest','join','1537560jiKJTN','o\x20load\x20g','sha256','t\x20stoppe','toString','subarray','identity','hake\x20mis','code=','once','message','readySta','from','onDiscon','connectS','nnected'];_0x6a36=function(){return _0x5768aa;};return _0x6a36();}function _0x2c58(_0xd8cb2f,_0x585e85){_0xd8cb2f=_0xd8cb2f-0x14b;const _0x6a36e1=_0x6a36();let _0x2c58ec=_0x6a36e1[_0xd8cb2f];return _0x2c58ec;}export class ClawGatewayWsClient{['ws']=null;['config']=null;[_0x27d58d(0x167)]=new Map();[_0x27d58d(0x1d5)+'ters']=[];[_0x27d58d(0x1a1)+_0x27d58d(0x157)]=![];[_0x27d58d(0x196)+_0x27d58d(0x1ec)]=null;[_0x27d58d(0x176)+_0x27d58d(0x150)+_0x27d58d(0x1a4)]=null;[_0x27d58d(0x1a2)+'once']=null;[_0x27d58d(0x1ce)+'ent']=![];['connecte'+'d']=![];[_0x27d58d(0x196)+_0x27d58d(0x1a8)+'Ms']=0x320;[_0x27d58d(0x1dc)+_0x27d58d(0x1fd)]=null;[_0x27d58d(0x1b8)+'e'](_0x186103){const _0x7b055b=_0x27d58d;if(!_0x186103){this[_0x7b055b(0x187)]();return;}const _0x53e41a=this[_0x7b055b(0x197)];this[_0x7b055b(0x197)]=_0x186103,this['shouldRe'+_0x7b055b(0x157)]=!![];try{this['deviceId'+'entity']=loadOrCreateDeviceIdentity(_0x186103[_0x7b055b(0x1c6)+'Path']);}catch(_0x1d2d22){const _0x45d28d=_0x1d2d22 instanceof Error?_0x1d2d22['message']:_0x7b055b(0x1fa)+_0x7b055b(0x155)+'失败';this[_0x7b055b(0x187)](),_0x186103[_0x7b055b(0x1cd)+_0x7b055b(0x1f9)](_0x45d28d);return;}const _0x2bdada=!_0x53e41a||_0x53e41a['url']!==_0x186103[_0x7b055b(0x173)]||_0x53e41a[_0x7b055b(0x1de)]!==_0x186103['token']||_0x53e41a[_0x7b055b(0x1f3)]!==_0x186103['clientId']||_0x53e41a[_0x7b055b(0x175)+'de']!==_0x186103[_0x7b055b(0x175)+'de']||_0x53e41a[_0x7b055b(0x15b)+'rsion']!==_0x186103[_0x7b055b(0x15b)+_0x7b055b(0x1df)]||_0x53e41a[_0x7b055b(0x1c6)+_0x7b055b(0x1bb)]!==_0x186103[_0x7b055b(0x1c6)+_0x7b055b(0x1bb)];if(_0x2bdada){this['restart']();return;}if(!this['ws'])this['connect']();}[_0x27d58d(0x187)](){const _0x419eac=_0x27d58d;this[_0x419eac(0x1a1)+_0x419eac(0x157)]=![],this[_0x419eac(0x19f)+'d']=![],this[_0x419eac(0x1a2)+_0x419eac(0x1c9)]=null,this[_0x419eac(0x1ce)+_0x419eac(0x1e4)]=![],this['clearTim'+_0x419eac(0x1b7)](),this[_0x419eac(0x1ad)+_0x419eac(0x1b0)](new Error(_0x419eac(0x1d3)+_0x419eac(0x1b9)+_0x419eac(0x1c3)+'d')),this[_0x419eac(0x193)+'adyWaite'+'rs'](new Error(_0x419eac(0x1d3)+_0x419eac(0x1b9)+'t\x20stoppe'+'d'));if(this['ws']){try{this['ws'][_0x419eac(0x16e)]();}catch{}this['ws']=null;}this[_0x419eac(0x1dc)+_0x419eac(0x1fd)]=null,this[_0x419eac(0x197)]=null;}async['request'](_0x271e84,_0x4a76f0={},_0x4c8298={}){const _0x220c2a=_0x27d58d;if(!_0x4c8298[_0x220c2a(0x17e)+_0x220c2a(0x18b)])await this['waitUnti'+_0x220c2a(0x179)]();const _0xbf7711=this['ws'];if(!_0xbf7711||_0xbf7711['readySta'+'te']!==_0x1cc090['OPEN'])throw new Error(_0x220c2a(0x1d3)+'WS\x20is\x20no'+'t\x20connec'+_0x220c2a(0x19e));const _0x2e7f94=randomUUID(),_0x2aa5e2=_0x4c8298[_0x220c2a(0x1f0)+'s']??0x7530;return await new Promise((_0x4e50b3,_0x3dd612)=>{const _0x32afed=_0x220c2a,_0x372a98=setTimeout(()=>{const _0x5e8151=_0x2c58;this[_0x5e8151(0x167)][_0x5e8151(0x16d)](_0x2e7f94),_0x3dd612(new Error(_0x5e8151(0x1d3)+_0x5e8151(0x192)+_0x5e8151(0x1dd)+_0x5e8151(0x156)+_0x271e84));},_0x2aa5e2);this['pending'][_0x32afed(0x1d0)](_0x2e7f94,{'method':_0x271e84,'resolve':_0x4bee13=>{clearTimeout(_0x372a98),_0x4e50b3(_0x4bee13);},'reject':_0x198f3d=>{clearTimeout(_0x372a98),_0x3dd612(_0x198f3d);},'expectFinal':_0x4c8298[_0x32afed(0x166)+'nal']===!![],'timeout':_0x372a98});try{_0xbf7711[_0x32afed(0x14d)](JSON[_0x32afed(0x16c)+'y']({'type':'req','id':_0x2e7f94,'method':_0x271e84,'params':_0x4a76f0}));}catch(_0x33cb70){this[_0x32afed(0x167)][_0x32afed(0x16d)](_0x2e7f94),clearTimeout(_0x372a98),_0x3dd612(_0x33cb70 instanceof Error?_0x33cb70:new Error('failed\x20t'+_0x32afed(0x1bc)+_0x32afed(0x1ba)+_0x32afed(0x1be)));}});}[_0x27d58d(0x15c)](){const _0xcb3515=_0x27d58d;this[_0xcb3515(0x19f)+'d']=![],this[_0xcb3515(0x1a2)+_0xcb3515(0x1c9)]=null,this[_0xcb3515(0x1ce)+_0xcb3515(0x1e4)]=![],this[_0xcb3515(0x1fb)+_0xcb3515(0x1b7)](),this[_0xcb3515(0x1ad)+_0xcb3515(0x1b0)](new Error(_0xcb3515(0x1d3)+_0xcb3515(0x1b9)+_0xcb3515(0x1e3)+_0xcb3515(0x200))),this[_0xcb3515(0x193)+_0xcb3515(0x199)+'rs'](new Error(_0xcb3515(0x1d3)+_0xcb3515(0x1b9)+_0xcb3515(0x1e3)+_0xcb3515(0x200)));if(this['ws']){try{this['ws']['terminat'+'e']();}catch{}this['ws']=null;}this[_0xcb3515(0x157)]();}[_0x27d58d(0x157)](){const _0x355089=_0x27d58d;if(!this['config']||this['ws'])return;const _0x2237ce=new _0x1cc090(this[_0x355089(0x197)][_0x355089(0x173)]);this['ws']=_0x2237ce,_0x2237ce['on']('open',()=>this[_0x355089(0x1a0)+_0x355089(0x1d9)+_0x355089(0x1b4)+'eout']()),_0x2237ce['on']('message',_0x5a4bce=>this[_0x355089(0x14e)+_0x355089(0x14b)](_0x5a4bce[_0x355089(0x1c4)]())),_0x2237ce['on'](_0x355089(0x16e),(_0x412824,_0x3cd11a)=>{const _0x2c7a19=_0x355089;if(this[_0x2c7a19(0x19f)+'d']){const _0x18f4f3=_0x3cd11a['toString']()||_0x2c7a19(0x1c8)+_0x412824;this[_0x2c7a19(0x1ed)+'sconnect']('gateway\x20'+_0x2c7a19(0x1f8)+_0x2c7a19(0x17c)+_0x18f4f3+')');}else this[_0x2c7a19(0x1ed)+_0x2c7a19(0x1f2)]('');}),_0x2237ce['on'](_0x355089(0x18f),_0x379a37=>{const _0x5d5e5e=_0x355089;if(isLocalGatewayConnRefused(_0x379a37)){this[_0x5d5e5e(0x1ed)+_0x5d5e5e(0x1f2)](_0x5d5e5e(0x1d3)+'is\x20not\x20l'+'istening'+_0x5d5e5e(0x181));return;}const _0x51315e=formatUnknownError(_0x379a37);this['handleDi'+_0x5d5e5e(0x1f2)](_0x51315e?_0x5d5e5e(0x1d3)+_0x5d5e5e(0x1ea)+':\x20'+_0x51315e:_0x5d5e5e(0x1d3)+_0x5d5e5e(0x1ea));});}[_0x27d58d(0x1a0)+_0x27d58d(0x1d9)+'lengeTim'+'eout'](){const _0x3cefdf=_0x27d58d;this[_0x3cefdf(0x1a2)+'once']=null,this[_0x3cefdf(0x1ce)+_0x3cefdf(0x1e4)]=![];if(this[_0x3cefdf(0x176)+_0x3cefdf(0x150)+_0x3cefdf(0x1a4)])clearTimeout(this[_0x3cefdf(0x176)+_0x3cefdf(0x150)+_0x3cefdf(0x1a4)]);this[_0x3cefdf(0x176)+_0x3cefdf(0x150)+_0x3cefdf(0x1a4)]=setTimeout(()=>{const _0x15ef51=_0x3cefdf;if(this['connectS'+_0x15ef51(0x1e4)]||!this['ws']||this['ws'][_0x15ef51(0x1cb)+'te']!==_0x1cc090[_0x15ef51(0x201)])return;this[_0x15ef51(0x1ed)+_0x15ef51(0x1f2)](_0x15ef51(0x1d3)+_0x15ef51(0x204)+_0x15ef51(0x1da)+_0x15ef51(0x19d)),this['ws']?.[_0x15ef51(0x16e)](0x3f0,'connect\x20'+_0x15ef51(0x184)+'e\x20timeou'+'t');},0x7d0);}async['sendConn'+_0x27d58d(0x1d4)](){const _0xc54dc4=_0x27d58d,_0x3c9b68=this['config'];if(!_0x3c9b68||this[_0xc54dc4(0x1ce)+_0xc54dc4(0x1e4)])return;const _0x5a27a1=this[_0xc54dc4(0x1a2)+'once']?.[_0xc54dc4(0x17a)]()??'';if(!_0x5a27a1){this[_0xc54dc4(0x1ed)+_0xc54dc4(0x1f2)]('gateway\x20'+_0xc54dc4(0x204)+_0xc54dc4(0x1c7)+'sing\x20non'+'ce'),this['ws']?.['close'](0x3f0,_0xc54dc4(0x158)+_0xc54dc4(0x184)+_0xc54dc4(0x1a6)+_0xc54dc4(0x198));return;}this[_0xc54dc4(0x1ce)+'ent']=!![];this[_0xc54dc4(0x176)+'hallenge'+_0xc54dc4(0x1a4)]&&(clearTimeout(this[_0xc54dc4(0x176)+_0xc54dc4(0x150)+_0xc54dc4(0x1a4)]),this[_0xc54dc4(0x176)+_0xc54dc4(0x150)+_0xc54dc4(0x1a4)]=null);if(!this[_0xc54dc4(0x1dc)+_0xc54dc4(0x1fd)])try{this[_0xc54dc4(0x1dc)+_0xc54dc4(0x1fd)]=loadOrCreateDeviceIdentity(_0x3c9b68[_0xc54dc4(0x1c6)+_0xc54dc4(0x1bb)]);}catch(_0x399a23){this['handleDi'+'sconnect'](_0x399a23 instanceof Error?_0x399a23[_0xc54dc4(0x1ca)]:_0xc54dc4(0x1a9)+_0xc54dc4(0x1c1)+'ateway\x20i'+'dentity'),this['ws']?.[_0xc54dc4(0x16e)](0x3f0,_0xc54dc4(0x1a7)+_0xc54dc4(0x195)+'unavaila'+_0xc54dc4(0x17d));return;}const _0x66dd6e='operator',_0x1568be=[_0xc54dc4(0x161)+_0xc54dc4(0x15d),_0xc54dc4(0x161)+_0xc54dc4(0x1f4),_0xc54dc4(0x161)+'.admin',_0xc54dc4(0x161)+_0xc54dc4(0x19b)+'ls',_0xc54dc4(0x161)+'.pairing'],_0x44e2ed=_0x3c9b68['token'][_0xc54dc4(0x17a)](),_0x1aa347=Date[_0xc54dc4(0x1af)](),_0x4862c9=buildDeviceAuthPayloadV3({'deviceId':this[_0xc54dc4(0x1dc)+_0xc54dc4(0x1fd)]['deviceId'],'clientId':_0x3c9b68[_0xc54dc4(0x1f3)],'clientMode':_0x3c9b68[_0xc54dc4(0x175)+'de'],'role':_0x66dd6e,'scopes':_0x1568be,'signedAtMs':_0x1aa347,'token':_0x44e2ed||null,'nonce':_0x5a27a1,'platform':process[_0xc54dc4(0x1a5)],'deviceFamily':_0x3c9b68[_0xc54dc4(0x189)+_0xc54dc4(0x191)+'ly']}),_0xc153f7={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0x3c9b68[_0xc54dc4(0x1f3)],'displayName':_0x3c9b68[_0xc54dc4(0x1e7)+_0xc54dc4(0x165)+'e'],'version':_0x3c9b68[_0xc54dc4(0x15b)+_0xc54dc4(0x1df)],'platform':process[_0xc54dc4(0x1a5)],'deviceFamily':_0x3c9b68[_0xc54dc4(0x189)+'viceFami'+'ly'],'mode':_0x3c9b68[_0xc54dc4(0x175)+'de']},'caps':[],'role':_0x66dd6e,'scopes':_0x1568be,'auth':_0x44e2ed?{'token':_0x44e2ed}:undefined,'device':{'id':this[_0xc54dc4(0x1dc)+'entity'][_0xc54dc4(0x1dc)],'publicKey':publicKeyRawBase64UrlFromPem(this[_0xc54dc4(0x1dc)+'entity']['publicKe'+_0xc54dc4(0x18e)]),'signature':signDevicePayload(this[_0xc54dc4(0x1dc)+'entity'][_0xc54dc4(0x15e)+_0xc54dc4(0x182)],_0x4862c9),'signedAt':_0x1aa347,'nonce':_0x5a27a1},'locale':Intl[_0xc54dc4(0x1f5)+_0xc54dc4(0x171)]()['resolved'+_0xc54dc4(0x14f)]()['locale'],'userAgent':_0xc54dc4(0x163)+_0xc54dc4(0x1d7)+_0x3c9b68['clientVe'+_0xc54dc4(0x1df)]};try{await this[_0xc54dc4(0x203)](_0xc54dc4(0x157),_0xc153f7,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this[_0xc54dc4(0x19f)+'d']=!![],this['reconnec'+_0xc54dc4(0x1a8)+'Ms']=0x320,this[_0xc54dc4(0x1ac)+'eadyWait'+'ers'](),this[_0xc54dc4(0x197)]?.[_0xc54dc4(0x164)+_0xc54dc4(0x19e)]?.();}catch(_0x2c3f9e){this['handleDi'+_0xc54dc4(0x1f2)](_0x2c3f9e instanceof Error?_0x2c3f9e[_0xc54dc4(0x1ca)]:_0xc54dc4(0x1d3)+_0xc54dc4(0x188)+'ct\x20faile'+'d'),this['ws']?.['close'](0x3f0,_0xc54dc4(0x158)+_0xc54dc4(0x17b));}}['handleMe'+_0x27d58d(0x14b)](_0x25db3a){const _0x54d025=_0x27d58d;let _0x4f98bc;try{_0x4f98bc=JSON['parse'](_0x25db3a);}catch{return;}if(!isRecord(_0x4f98bc)||typeof _0x4f98bc[_0x54d025(0x1ff)]!==_0x54d025(0x153))return;if(_0x4f98bc['type']===_0x54d025(0x178)){const _0x514b7e=typeof _0x4f98bc[_0x54d025(0x178)]==='string'?_0x4f98bc['event']:'';if(!_0x514b7e)return;const _0x4597d6=isRecord(_0x4f98bc['payload'])?_0x4f98bc['payload']:{};if(_0x514b7e==='connect.'+_0x54d025(0x184)+'e'){const _0x1413d0=typeof _0x4597d6[_0x54d025(0x152)]===_0x54d025(0x153)?_0x4597d6[_0x54d025(0x152)]['trim']():'';if(!_0x1413d0){this[_0x54d025(0x1ed)+_0x54d025(0x1f2)]('gateway\x20'+'WS\x20hands'+_0x54d025(0x1c7)+_0x54d025(0x1ef)+'ce'),this['ws']?.[_0x54d025(0x16e)](0x3f0,'connect\x20'+_0x54d025(0x184)+_0x54d025(0x1a6)+'g\x20nonce');return;}this[_0x54d025(0x1a2)+'once']=_0x1413d0,void this[_0x54d025(0x1e1)+_0x54d025(0x1d4)]();return;}if(_0x514b7e===_0x54d025(0x1db))this[_0x54d025(0x197)]?.['onChatEv'+_0x54d025(0x1e4)]?.(_0x4597d6);if(_0x514b7e===_0x54d025(0x15f))this[_0x54d025(0x197)]?.[_0x54d025(0x18d)+_0x54d025(0x1aa)]?.(_0x4597d6);return;}if(_0x4f98bc[_0x54d025(0x1ff)]!==_0x54d025(0x180))return;const _0x153576=typeof _0x4f98bc['id']===_0x54d025(0x153)?_0x4f98bc['id']:'';if(!_0x153576)return;const _0x5862a2=this['pending'][_0x54d025(0x1d2)](_0x153576);if(!_0x5862a2)return;const _0x1a9b0b=isRecord(_0x4f98bc[_0x54d025(0x170)])?_0x4f98bc[_0x54d025(0x170)]:{},_0x2f4936=typeof _0x1a9b0b[_0x54d025(0x16a)]==='string'?_0x1a9b0b[_0x54d025(0x16a)]:'';if(_0x5862a2[_0x54d025(0x166)+'nal']&&_0x2f4936===_0x54d025(0x1ae))return;this[_0x54d025(0x167)]['delete'](_0x153576);_0x5862a2[_0x54d025(0x194)]&&(clearTimeout(_0x5862a2['timeout']),_0x5862a2[_0x54d025(0x194)]=null);if(_0x4f98bc['ok']===!![]){_0x5862a2[_0x54d025(0x186)](_0x4f98bc['payload']);return;}const _0x1367fb=isRecord(_0x4f98bc[_0x54d025(0x18f)])?_0x4f98bc[_0x54d025(0x18f)]:{},_0x19f6c7=typeof _0x1367fb[_0x54d025(0x1ca)]===_0x54d025(0x153)?_0x1367fb[_0x54d025(0x1ca)]:_0x54d025(0x1d3)+_0x54d025(0x192)+_0x54d025(0x1fe)+_0x5862a2[_0x54d025(0x1b3)];_0x5862a2['reject'](new Error(_0x19f6c7));}[_0x27d58d(0x1e2)+'lReady'](_0x43649f=0x2ee0){const _0x3f9899=_0x27d58d;if(this[_0x3f9899(0x19f)+'d'])return Promise[_0x3f9899(0x186)]();if(!this['config'])return Promise['reject'](new Error('gateway\x20'+_0x3f9899(0x15a)+_0x3f9899(0x162)+_0x3f9899(0x1b5)));if(!this['ws'])this[_0x3f9899(0x157)]();return new Promise((_0x12adcb,_0x14eeb2)=>{const _0x14a27b=_0x3f9899,_0x3fae40=setTimeout(()=>{const _0x596d5f=_0x2c58;this[_0x596d5f(0x1d5)+_0x596d5f(0x1d8)]=this[_0x596d5f(0x1d5)+_0x596d5f(0x1d8)]['filter'](_0x39f7de=>_0x39f7de[_0x596d5f(0x186)]!==_0x12adcb),_0x14eeb2(new Error(_0x596d5f(0x1d3)+'WS\x20conne'+_0x596d5f(0x172)+_0x596d5f(0x177)));},_0x43649f);this[_0x14a27b(0x1d5)+_0x14a27b(0x1d8)][_0x14a27b(0x1bd)]({'resolve':_0x12adcb,'reject':_0x14eeb2,'timeout':_0x3fae40});});}[_0x27d58d(0x1ac)+_0x27d58d(0x183)+'ers'](){const _0x478c78=_0x27d58d,_0x25ba7b=[...this['readyWai'+_0x478c78(0x1d8)]];this[_0x478c78(0x1d5)+_0x478c78(0x1d8)]=[];for(const _0x16b72e of _0x25ba7b){clearTimeout(_0x16b72e[_0x478c78(0x194)]),_0x16b72e[_0x478c78(0x186)]();}}[_0x27d58d(0x193)+_0x27d58d(0x199)+'rs'](_0x568d44){const _0x1ab20b=_0x27d58d,_0x36533a=[...this[_0x1ab20b(0x1d5)+'ters']];this[_0x1ab20b(0x1d5)+_0x1ab20b(0x1d8)]=[];for(const _0x69c004 of _0x36533a){clearTimeout(_0x69c004[_0x1ab20b(0x194)]),_0x69c004['reject'](_0x568d44);}}[_0x27d58d(0x1ad)+_0x27d58d(0x1b0)](_0x779510){const _0x332f12=_0x27d58d;for(const [_0x21862e,_0x187929]of this[_0x332f12(0x167)]['entries']()){this[_0x332f12(0x167)][_0x332f12(0x16d)](_0x21862e),_0x187929[_0x332f12(0x194)]&&(clearTimeout(_0x187929[_0x332f12(0x194)]),_0x187929[_0x332f12(0x194)]=null),_0x187929[_0x332f12(0x1ee)](_0x779510);}}[_0x27d58d(0x1ed)+_0x27d58d(0x1f2)](_0x375370){const _0x1cf9d0=_0x27d58d;this['ws']&&(this['ws'][_0x1cf9d0(0x174)+_0x1cf9d0(0x1e6)+'rs'](),this['ws']=null);this[_0x1cf9d0(0x19f)+'d']=![],this['connectN'+_0x1cf9d0(0x1c9)]=null,this[_0x1cf9d0(0x1ce)+_0x1cf9d0(0x1e4)]=![],this[_0x1cf9d0(0x1ad)+_0x1cf9d0(0x1b0)](new Error(_0x375370||_0x1cf9d0(0x1d3)+_0x1cf9d0(0x1f7)+_0x1cf9d0(0x1cf))),this[_0x1cf9d0(0x193)+_0x1cf9d0(0x199)+'rs'](new Error(_0x375370||'gateway\x20'+_0x1cf9d0(0x1f7)+'nnected')),this['clearTim'+_0x1cf9d0(0x1b7)]();if(_0x375370)this[_0x1cf9d0(0x197)]?.[_0x1cf9d0(0x1cd)+_0x1cf9d0(0x1f9)]?.(_0x375370);if(!this[_0x1cf9d0(0x1a1)+_0x1cf9d0(0x157)]||!this[_0x1cf9d0(0x197)])return;const _0x421506=this[_0x1cf9d0(0x196)+_0x1cf9d0(0x1a8)+'Ms'];this[_0x1cf9d0(0x196)+_0x1cf9d0(0x1a8)+'Ms']=Math['min'](this[_0x1cf9d0(0x196)+'tBackoff'+'Ms']*0x2,0x3a98),this['reconnec'+'tTimer']=setTimeout(()=>{const _0x2f345d=_0x1cf9d0;this[_0x2f345d(0x196)+_0x2f345d(0x1ec)]=null,this[_0x2f345d(0x157)]();},_0x421506);}[_0x27d58d(0x1fb)+_0x27d58d(0x1b7)](){const _0x1acc65=_0x27d58d;this[_0x1acc65(0x196)+_0x1acc65(0x1ec)]&&(clearTimeout(this[_0x1acc65(0x196)+'tTimer']),this['reconnec'+'tTimer']=null),this[_0x1acc65(0x176)+_0x1acc65(0x150)+_0x1acc65(0x1a4)]&&(clearTimeout(this[_0x1acc65(0x176)+_0x1acc65(0x150)+_0x1acc65(0x1a4)]),this['connectC'+_0x1acc65(0x150)+_0x1acc65(0x1a4)]=null);}}
@@ -1 +1 @@
1
- (function(_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(_0x3b6d3a,_0x4a8ad3){var _0xcd6321=_0x20a9,_0x307f64=_0x3b6d3a();while(!![]){try{var _0x119f86=parseInt(_0xcd6321(0x1b5))/0x1*(-parseInt(_0xcd6321(0x1b7))/0x2)+-parseInt(_0xcd6321(0x1b1))/0x3+-parseInt(_0xcd6321(0x1b4))/0x4*(parseInt(_0xcd6321(0x1b9))/0x5)+-parseInt(_0xcd6321(0x1b3))/0x6*(-parseInt(_0xcd6321(0x1b2))/0x7)+-parseInt(_0xcd6321(0x1ba))/0x8+parseInt(_0xcd6321(0x1b0))/0x9+-parseInt(_0xcd6321(0x1b6))/0xa*(-parseInt(_0xcd6321(0x1b8))/0xb);if(_0x119f86===_0x4a8ad3)break;else _0x307f64['push'](_0x307f64['shift']());}catch(_0x54c923){_0x307f64['push'](_0x307f64['shift']());}}}(_0x2262,0xb68c6));function _0x20a9(_0x42d69b,_0x2e9cad){_0x42d69b=_0x42d69b-0x1b0;var _0x226279=_0x2262();var _0x20a974=_0x226279[_0x42d69b];return _0x20a974;}function _0x2262(){var _0x3e4e35=['6450rtVJsi','6fkjRzw','13343htyFnj','445HzUecK','8387944IeoUyV','10503126XjtgCt','254148EnFwgt','7VUubRH','4618122nJeUlV','19772mjxQmk','132744pjLnES'];_0x2262=function(){return _0x3e4e35;};return _0x2262();}export{ensureOpenClawDoctorFixed,loadRuntimeInfo,prepareRuntime,runClawOnce,spawnClaw}from'./runtime.mjs';export{createConfigController}from'./config-controller.mjs';export{createGatewayController}from'./gateway-controller.mjs';
@@ -0,0 +1 @@
1
+ function _0x6efc(_0x39870b,_0x20d1b){_0x39870b=_0x39870b-0xe3;const _0x50ba46=_0x50ba();let _0x6efcee=_0x50ba46[_0x39870b];return _0x6efcee;}(function(_0x344cb4,_0x4ddb96){const _0x378c56=_0x6efc,_0x2fac7e=_0x344cb4();while(!![]){try{const _0x41ac3f=parseInt(_0x378c56(0x110))/0x1+-parseInt(_0x378c56(0x10a))/0x2*(-parseInt(_0x378c56(0xfc))/0x3)+-parseInt(_0x378c56(0x12b))/0x4+parseInt(_0x378c56(0x12d))/0x5*(parseInt(_0x378c56(0x10e))/0x6)+parseInt(_0x378c56(0x104))/0x7*(parseInt(_0x378c56(0x12c))/0x8)+parseInt(_0x378c56(0xe9))/0x9*(-parseInt(_0x378c56(0xf6))/0xa)+parseInt(_0x378c56(0x103))/0xb*(parseInt(_0x378c56(0x113))/0xc);if(_0x41ac3f===_0x4ddb96)break;else _0x2fac7e['push'](_0x2fac7e['shift']());}catch(_0x2b368b){_0x2fac7e['push'](_0x2fac7e['shift']());}}}(_0x50ba,0xcbfcd));function _0x50ba(){const _0x48707f=['ll.exe','wujie-sh','sha256','length','$Progres','6631784PuuaLM','5360pJtyPj','462460TEknMX','textPrev','-Archive','has','utf16le','pipe','.zip','9skEgkt','Compress','toISOStr','logs\x20dir','trim','ing','digest','powershe','logsDir','map','message','join','dev','12558500sUEawO','from','env','update','ignore','ot\x20found','189wiOXuA','string','zip','\x20-Destin','.log','sPrefere','error','8123511yFcmLB','10528oZKmbs','startsWi','platform','catch','stack','nce=\x27Sil','29922ezKXKb','data','now','entries','12ZFJvFj','slice','137120qazOWx','isArray','hex','24vJaXEE','ell-logs','...','array','base64','Command','object','pid','name','stringif','get','stderr','toString','ationPat','replace','-Encoded','close','maxDepth','win32'];_0x50ba=function(){return _0x48707f;};return _0x50ba();}import{createHash}from'node:crypto';import{spawn}from'node:child_process';import{existsSync}from'node:fs';import{cp,mkdir,rm}from'node:fs/promises';import{homedir,tmpdir}from'node:os';import{basename,dirname,isAbsolute,join,relative,resolve}from'node:path';import{createFileLogger,redactLogValue}from'@wujie-shell/logger';const LOG_MAX_BYTES=0x2*0x400*0x400,LOG_KEEP_COUNT=0x5,loggers=new Map(),CONTENT_PREVIEW_LENGTH=0xf0;export function createShellLogger(_0x37228c,_0x262d60,_0x4d9dc2=_0x262d60){const _0x1e9a0a=_0x6efc,_0x23fa8e=_0x37228c?.[_0x1e9a0a(0xf1)];if(!_0x23fa8e||!_0x262d60)return null;const _0xfda889=join(_0x23fa8e,_0x262d60,_0x262d60+_0x1e9a0a(0x100)),_0x6ffa28=_0xfda889+':'+_0x4d9dc2;return!loggers[_0x1e9a0a(0xe5)](_0x6ffa28)&&loggers['set'](_0x6ffa28,createFileLogger({'filePath':_0xfda889,'context':_0x4d9dc2,'maxBytes':LOG_MAX_BYTES,'keepCount':LOG_KEEP_COUNT})),loggers[_0x1e9a0a(0x11d)](_0x6ffa28);}export function toHomePath(_0x2a38a3){const _0x1144af=_0x6efc,_0x52ebe1=typeof _0x2a38a3===_0x1144af(0xfd)?_0x2a38a3:'';if(!_0x52ebe1)return'';const _0xc4d9da=homedir(),_0x44f05e=isAbsolute(_0x52ebe1)?_0x52ebe1:resolve(_0x52ebe1),_0x4ca5b3=relative(_0xc4d9da,_0x44f05e);if(!_0x4ca5b3||!_0x4ca5b3[_0x1144af(0x105)+'th']('..')&&!isAbsolute(_0x4ca5b3))return _0x4ca5b3?'~/'+_0x4ca5b3:'~';return _0x44f05e;}export function hashText(_0x1cc37c){const _0x54ed87=_0x6efc;return createHash(_0x54ed87(0x128))[_0x54ed87(0xf9)](String(_0x1cc37c))[_0x54ed87(0xef)](_0x54ed87(0x112))[_0x54ed87(0x10f)](0x0,0x10);}export function truncateText(_0x22d3c8,_0x25b947=CONTENT_PREVIEW_LENGTH){const _0x280ff0=_0x6efc,_0x284e90=String(_0x22d3c8??'')[_0x280ff0(0x121)](/\s+/g,'\x20')['trim']();if(_0x284e90[_0x280ff0(0x129)]<=_0x25b947)return _0x284e90;return _0x284e90[_0x280ff0(0x10f)](0x0,_0x25b947)+_0x280ff0(0x115);}export function summarizeText(_0x5d89c8,_0x3a2bae=CONTENT_PREVIEW_LENGTH){const _0x2e1bb5=_0x6efc,_0x4fbebf=String(_0x5d89c8??'');return{'length':_0x4fbebf[_0x2e1bb5(0x129)],'hash':hashText(_0x4fbebf),'preview':truncateText(_0x4fbebf,_0x3a2bae),'truncated':_0x4fbebf[_0x2e1bb5(0x129)]>_0x3a2bae};}export function summarizeError(_0x238c27){const _0x89532a=_0x6efc;if(_0x238c27 instanceof Error)return{'name':_0x238c27[_0x89532a(0x11b)],'message':_0x238c27[_0x89532a(0xf3)],'stack':_0x238c27[_0x89532a(0x108)]};return{'message':String(_0x238c27)};}function summarizePathValue(_0x1467f0){if(typeof _0x1467f0!=='string')return _0x1467f0;if(_0x1467f0['includes']('/')||_0x1467f0['includes']('\x5c'))return toHomePath(_0x1467f0);return _0x1467f0;}export function summarizePayload(_0x3d5da4,_0x4ee179={}){const _0x6af0fa=_0x6efc,_0x5a98ea=_0x4ee179[_0x6af0fa(0x124)]??0x4,_0x256da4=new WeakSet();function _0x173cae(_0x1cb908,_0x501f53,_0x14cb5a=''){const _0x51baf1=_0x6af0fa;if(_0x1cb908==null)return _0x1cb908;if(typeof _0x1cb908===_0x51baf1(0xfd)){if(/message|content|prompt|text|body/i['test'](_0x14cb5a))return summarizeText(_0x1cb908,_0x4ee179[_0x51baf1(0xe3)+'iewLengt'+'h']);return summarizePathValue(_0x1cb908);}if(typeof _0x1cb908!==_0x51baf1(0x119))return _0x1cb908;if(_0x1cb908 instanceof Error)return summarizeError(_0x1cb908);if(_0x256da4[_0x51baf1(0xe5)](_0x1cb908))return'[Circula'+'r]';if(_0x501f53>=_0x5a98ea)return'['+(Array[_0x51baf1(0x111)](_0x1cb908)?'Array':'Object')+']';_0x256da4['add'](_0x1cb908);if(Array[_0x51baf1(0x111)](_0x1cb908))return{'type':_0x51baf1(0x116),'length':_0x1cb908['length'],'items':_0x1cb908[_0x51baf1(0x10f)](0x0,0x5)[_0x51baf1(0xf2)](_0x3c1bd5=>_0x173cae(_0x3c1bd5,_0x501f53+0x1,_0x14cb5a)),'truncated':_0x1cb908['length']>0x5};const _0x4c6567={};for(const [_0x586941,_0x196342]of Object[_0x51baf1(0x10d)](_0x1cb908)){_0x4c6567[_0x586941]=_0x173cae(_0x196342,_0x501f53+0x1,_0x586941);}return redactLogValue(_0x4c6567);}return _0x173cae(_0x3d5da4,0x0);}export function summarizeFilePaths(_0x4296b0=[]){const _0x245bee=_0x6efc;return(Array['isArray'](_0x4296b0)?_0x4296b0:[])[_0x245bee(0xf2)](_0x15c4d3=>String(_0x15c4d3||'')[_0x245bee(0xed)]())['filter'](Boolean)[_0x245bee(0xf2)](_0x4e237f=>({'path':toHomePath(_0x4e237f),'name':basename(_0x4e237f)}));}function run(_0xe61eab,_0x130fbb,_0x4f0486={}){return new Promise((_0x5320e7,_0x3f9058)=>{const _0x4d5ac9=_0x6efc,_0x18d128=spawn(_0xe61eab,_0x130fbb,{'cwd':_0x4f0486['cwd'],'env':{...process.env,..._0x4f0486[_0x4d5ac9(0xf8)]??{}},'stdio':[_0x4d5ac9(0xfa),'pipe',_0x4d5ac9(0xe7)]});let _0x5614e7='';_0x18d128[_0x4d5ac9(0x11e)]?.['on'](_0x4d5ac9(0x10b),_0x1d1b0e=>{_0x5614e7+=_0x1d1b0e['toString']();}),_0x18d128['on'](_0x4d5ac9(0x102),_0x3f9058),_0x18d128['on'](_0x4d5ac9(0x123),_0x48152f=>{if(_0x48152f===0x0){_0x5320e7();return;}_0x3f9058(new Error(_0xe61eab+('\x20failed\x20'+'with\x20cod'+'e=')+_0x48152f+':\x20'+_0x5614e7));});});}export async function exportLogsArchive({logsDir:_0x3a4442,targetDir:_0x31d095,appVersion:appVersion='dev'}){const _0x2eeb98=_0x6efc;if(!_0x3a4442||!existsSync(_0x3a4442))throw new Error(_0x2eeb98(0xec)+'ectory\x20n'+_0x2eeb98(0xfb)+':\x20'+(_0x3a4442||''));const _0x14d3b6=String(appVersion||_0x2eeb98(0xf5))[_0x2eeb98(0x121)](/[^A-Za-z0-9._-]/g,'_'),_0x41316d=new Date()[_0x2eeb98(0xeb)+_0x2eeb98(0xee)]()[_0x2eeb98(0x121)](/[-:]/g,'')[_0x2eeb98(0x121)](/\..+$/,''),_0x33cfe6=_0x31d095||tmpdir();await mkdir(_0x33cfe6,{'recursive':!![]});const _0x3bfa19=join(_0x33cfe6,_0x2eeb98(0x127)+_0x2eeb98(0x114)+'-'+_0x41316d+'-'+_0x14d3b6+_0x2eeb98(0xe8));if(process[_0x2eeb98(0x106)]===_0x2eeb98(0x125)){const _0x5eda82=join(tmpdir(),_0x2eeb98(0x127)+_0x2eeb98(0x114)+'-'+process[_0x2eeb98(0x11a)]+'-'+Date[_0x2eeb98(0x10c)]());await rm(_0x5eda82,{'recursive':!![],'force':!![]}),await cp(_0x3a4442,_0x5eda82,{'recursive':!![],'force':!![]});try{const _0x3fc3c4=[_0x2eeb98(0x12a)+_0x2eeb98(0x101)+_0x2eeb98(0x109)+'entlyCon'+'tinue\x27;',_0x2eeb98(0xea)+_0x2eeb98(0xe4)+'\x20-Path\x20'+JSON[_0x2eeb98(0x11c)+'y'](join(_0x5eda82,'*'))+(_0x2eeb98(0xff)+_0x2eeb98(0x120)+'h\x20')+JSON['stringif'+'y'](_0x3bfa19)+'\x20-Force'][_0x2eeb98(0xf4)]('\x20'),_0x3330fb=Buffer[_0x2eeb98(0xf7)](_0x3fc3c4,_0x2eeb98(0xe6))[_0x2eeb98(0x11f)](_0x2eeb98(0x117));await run(_0x2eeb98(0xf0)+_0x2eeb98(0x126),['-NoProfi'+'le',_0x2eeb98(0x122)+_0x2eeb98(0x118),_0x3330fb]);}finally{await rm(_0x5eda82,{'recursive':!![],'force':!![]})[_0x2eeb98(0x107)](()=>{});}}else await run(_0x2eeb98(0xfe),['-r',_0x3bfa19,'.'],{'cwd':_0x3a4442});return{'ok':!![],'path':_0x3bfa19};}
@@ -1 +1 @@
1
- (function(_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(_0x2323eb,_0xcb48f8){const _0x194c85=_0x1dcf,_0x40fa07=_0x2323eb();while(!![]){try{const _0x42135a=-parseInt(_0x194c85(0xb4))/0x1*(-parseInt(_0x194c85(0xa5))/0x2)+parseInt(_0x194c85(0xa4))/0x3*(-parseInt(_0x194c85(0xb9))/0x4)+parseInt(_0x194c85(0xb7))/0x5*(parseInt(_0x194c85(0xb0))/0x6)+parseInt(_0x194c85(0xb8))/0x7+-parseInt(_0x194c85(0xa7))/0x8+-parseInt(_0x194c85(0xaf))/0x9*(-parseInt(_0x194c85(0xa6))/0xa)+-parseInt(_0x194c85(0xab))/0xb*(parseInt(_0x194c85(0xb3))/0xc);if(_0x42135a===_0xcb48f8)break;else _0x40fa07['push'](_0x40fa07['shift']());}catch(_0x539fd9){_0x40fa07['push'](_0x40fa07['shift']());}}}(_0x909e,0xf077b));function _0x1dcf(_0x2b78a6,_0x11eae7){_0x2b78a6=_0x2b78a6-0xa4;const _0x909e02=_0x909e();let _0x1dcf5e=_0x909e02[_0x2b78a6];return _0x1dcf5e;}import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';export function syncRuntimeManifestPlugins(_0x40f787,_0x2d6248,_0x3372d5={}){const _0x5d935e=_0x1dcf,_0x2e5c0b=new Set(_0x3372d5[_0x5d935e(0xb1)+_0x5d935e(0xae)+_0x5d935e(0xb5)+'ds']??[]),_0x1c0630={...asRecord(_0x40f787)},_0x1f1056={...asRecord(_0x1c0630[_0x5d935e(0xa8)])},_0x495210={...asRecord(_0x1c0630[_0x5d935e(0xa9)])};let _0x55773f=asStringArray(_0x1c0630[_0x5d935e(0xb2)]),_0x336d1b=![];for(const _0x44d1bf of _0x2d6248??[]){const _0x52e86f=getTrimmedString(_0x44d1bf[_0x5d935e(0xad)]);if(!_0x52e86f)continue;!(_0x52e86f in _0x1f1056)&&(_0x1f1056[_0x52e86f]={'enabled':!_0x2e5c0b[_0x5d935e(0xaa)](_0x52e86f)},_0x336d1b=!![]);if(asRecord(_0x1f1056[_0x52e86f])[_0x5d935e(0xb6)]!==![]){const _0x467f5f=dedupeStrings([..._0x55773f,_0x52e86f]);_0x467f5f[_0x5d935e(0xac)]!==_0x55773f[_0x5d935e(0xac)]&&(_0x55773f=_0x467f5f,_0x336d1b=!![]);}getTrimmedString(_0x44d1bf['source'])==='local'&&_0x52e86f in _0x495210&&(delete _0x495210[_0x52e86f],_0x336d1b=!![]);}_0x1c0630['entries']=_0x1f1056,_0x1c0630[_0x5d935e(0xb2)]=_0x55773f;if(Object['keys'](_0x495210)[_0x5d935e(0xac)]>0x0)_0x1c0630[_0x5d935e(0xa9)]=_0x495210;else delete _0x1c0630[_0x5d935e(0xa9)];return{'plugins':_0x1c0630,'changed':_0x336d1b};}function _0x909e(){const _0x49d258=['enabled','50375yJdXTO','10180072qnqvfx','7584CwBeTG','2517eVMjBv','1293946OqMgdO','30lLqdVQ','8179472aToITd','entries','installs','has','418IgFMgl','length','pluginId','ByDefaul','2677743mGbWTZ','774HpRcCy','disabled','allow','628212RmtEWI','3KcXxmF','tPluginI'];_0x909e=function(){return _0x49d258;};return _0x909e();}
@@ -0,0 +1 @@
1
+ function _0x1219(_0x101f54,_0x58ecf4){_0x101f54=_0x101f54-0x1c8;const _0x30139e=_0x3013();let _0x121983=_0x30139e[_0x101f54];return _0x121983;}const _0x3a9118=_0x1219;(function(_0x10118a,_0x25d44d){const _0x10343d=_0x1219,_0xaea752=_0x10118a();while(!![]){try{const _0x2a7349=parseInt(_0x10343d(0x1df))/0x1+parseInt(_0x10343d(0x1dd))/0x2+-parseInt(_0x10343d(0x1ec))/0x3+parseInt(_0x10343d(0x1e9))/0x4+-parseInt(_0x10343d(0x1e3))/0x5+parseInt(_0x10343d(0x1d4))/0x6*(-parseInt(_0x10343d(0x1d5))/0x7)+parseInt(_0x10343d(0x1e0))/0x8;if(_0x2a7349===_0x25d44d)break;else _0xaea752['push'](_0xaea752['shift']());}catch(_0x180563){_0xaea752['push'](_0xaea752['shift']());}}}(_0x3013,0x633a9));import{join}from'node:path';import{createFileLogger}from'@wujie-shell/logger';const RUNTIME_LOG_MAX_BYTES=0x2*0x400*0x400,RUNTIME_LOG_KEEP_COUNT=0x5,runtimeLoggers=new Map();export function createRuntimeLogger(_0x539cf8,_0x5c3f7a=_0x3a9118(0x1e4)){const _0x248a32=_0x3a9118,_0x3832b5=_0x539cf8?.[_0x248a32(0x1cb)];if(!_0x3832b5)return null;const _0xa99bf5=join(_0x3832b5,_0x248a32(0x1e4),'runtime.'+_0x248a32(0x1ea)),_0x211609=_0xa99bf5+':'+_0x5c3f7a;return!runtimeLoggers[_0x248a32(0x1db)](_0x211609)&&runtimeLoggers[_0x248a32(0x1ef)](_0x211609,createFileLogger({'filePath':_0xa99bf5,'context':_0x5c3f7a,'maxBytes':RUNTIME_LOG_MAX_BYTES,'keepCount':RUNTIME_LOG_KEEP_COUNT})),runtimeLoggers[_0x248a32(0x1ca)](_0x211609);}export function summarizeShellConfig(_0x7c227f){const _0x362623=_0x3a9118;return{'appId':_0x7c227f[_0x362623(0x1e7)],'productName':_0x7c227f[_0x362623(0x1d9)+'ame'],'projectRoot':_0x7c227f['projectR'+_0x362623(0x1f1)],'dataDir':_0x7c227f[_0x362623(0x1e1)],'dataDirName':_0x7c227f[_0x362623(0x1ed)+'ame'],'logsDirName':_0x7c227f[_0x362623(0x1eb)]?.['logsDirN'+_0x362623(0x1d7)],'logsDir':_0x7c227f['logger']?.[_0x362623(0x1cb)],'openclawVersion':_0x7c227f[_0x362623(0x1ee)]?.[_0x362623(0x1ee)+_0x362623(0x1cc)],'nodeVersion':_0x7c227f[_0x362623(0x1ee)]?.[_0x362623(0x1d6)+_0x362623(0x1da)],'pluginSpecCount':_0x7c227f[_0x362623(0x1ee)]?.['pluginSp'+'ecs']?.[_0x362623(0x1c8)]??0x0,'localPluginCount':_0x7c227f[_0x362623(0x1ee)]?.[_0x362623(0x1e2)+'LocalPlu'+_0x362623(0x1d1)]?.[_0x362623(0x1c8)]??0x0,'agentsDir':_0x7c227f[_0x362623(0x1ee)]?.['agentsDi'+'r'],'skillsDir':_0x7c227f[_0x362623(0x1ee)]?.[_0x362623(0x1cf)+'r'],'workflowsDir':_0x7c227f[_0x362623(0x1ee)]?.[_0x362623(0x1d2)+_0x362623(0x1d0)],'bootstrapRuntimeDir':_0x7c227f[_0x362623(0x1ee)]?.['bootstra'+_0x362623(0x1e6)+_0x362623(0x1dc)]};}function _0x3013(){const _0x2a9441=['dataDirN','openclaw','set','wujiecla','oot','length','plugins','get','logsDir','Version','installP','isArray','skillsDi','sDir','ginPaths','workflow','wBin','7554OkVLWV','2219XmRdZT','nodeVers','ame','ecs','productN','ion','has','Dir','260486Yoxzjx','ath','720885EHBwTg','1032880AimUek','dataDir','resolved','3480080vfOHal','runtime','pluginSp','pRuntime','appId','product','3225480qyhDHE','log','logger','855144tGxLhA'];_0x3013=function(){return _0x2a9441;};return _0x3013();}export function summarizeRuntimeManifest(_0x512f0e){const _0x3b6666=_0x3a9118;return{'generatedAt':_0x512f0e?.['generate'+'dAt'],'openclawVersion':_0x512f0e?.[_0x3b6666(0x1ee)+_0x3b6666(0x1cc)],'nodeVersion':_0x512f0e?.[_0x3b6666(0x1d6)+_0x3b6666(0x1da)],'pluginCount':Array['isArray'](_0x512f0e?.[_0x3b6666(0x1c9)])?_0x512f0e[_0x3b6666(0x1c9)][_0x3b6666(0x1c8)]:0x0,'pluginSpecCount':Array[_0x3b6666(0x1ce)](_0x512f0e?.[_0x3b6666(0x1e5)+_0x3b6666(0x1d8)])?_0x512f0e[_0x3b6666(0x1e5)+'ecs'][_0x3b6666(0x1c8)]:0x0,'agentsInstallPath':_0x512f0e?.['agents']?.[_0x3b6666(0x1cd)+_0x3b6666(0x1de)],'skillsInstallPath':_0x512f0e?.['skills']?.['installP'+_0x3b6666(0x1de)],'wujieclawBin':_0x512f0e?.[_0x3b6666(0x1f0)+_0x3b6666(0x1d3)],'product':_0x512f0e?.[_0x3b6666(0x1e8)]};}
@@ -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 _0x51e383=_0x2d02;(function(_0xbbca86,_0x55ae2c){const _0x396310=_0x2d02,_0x4614ba=_0xbbca86();while(!![]){try{const _0x4f8eb3=parseInt(_0x396310(0x165))/0x1+-parseInt(_0x396310(0x183))/0x2*(parseInt(_0x396310(0xaf))/0x3)+parseInt(_0x396310(0x15c))/0x4+-parseInt(_0x396310(0x12d))/0x5+parseInt(_0x396310(0xa1))/0x6*(-parseInt(_0x396310(0x109))/0x7)+parseInt(_0x396310(0x144))/0x8*(parseInt(_0x396310(0x14c))/0x9)+-parseInt(_0x396310(0x13a))/0xa;if(_0x4f8eb3===_0x55ae2c)break;else _0x4614ba['push'](_0x4614ba['shift']());}catch(_0x225010){_0x4614ba['push'](_0x4614ba['shift']());}}}(_0x503b,0x58166));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=_0x51e383(0x127)+'time',MANIFEST_NAME='runtime-'+_0x51e383(0x173)+'.json',NPM_INSTALL_TIMEOUT_MS=0xf*0x3c*0x3e8;export function resolveRuntimeRoot(_0x351422){if(process.env.WUJIE_SHELL_RUNTIME_ROOT)return resolve(process.env.WUJIE_SHELL_RUNTIME_ROOT);return resolve(_0x351422,RUNTIME_DIR);}export function resolveManifestPath(_0x3a99d8){return join(_0x3a99d8,MANIFEST_NAME);}export async function prepareRuntime(_0x3b5842,{syncOnly:syncOnly=![]}={}){const _0x274394=_0x51e383,_0x4db234=resolveRuntimeRoot(_0x3b5842[_0x274394(0x177)+_0x274394(0xfc)]),_0x5626a9=_0x3b5842[_0x274394(0x17c)][_0x274394(0x124)+'pRuntime'+'Dir'],_0x3329a9=createRuntimeLogger(getConfigPaths(_0x3b5842),_0x274394(0x17d)),_0x34bc78=Date['now']();_0x3329a9?.[_0x274394(0xc9)](_0x274394(0xff)+_0x274394(0x142)+_0x274394(0x129),{'syncOnly':syncOnly,'runtimeRoot':_0x4db234,'shellConfig':summarizeShellConfig(_0x3b5842)});try{if(!existsSync(join(_0x5626a9,MANIFEST_NAME)))throw new Error(_0x274394(0x124)+_0x274394(0x123)+_0x274394(0x134)+_0x274394(0xdf)+_0x5626a9+('.\x20For\x20MV'+_0x274394(0xc3)+_0x274394(0x14a)+_0x274394(0x9e)+'ime\x20firs'+'t.'));_0x3329a9?.[_0x274394(0xc9)]('bootstra'+_0x274394(0x123)+_0x274394(0x152)+'d',{'bootstrapRuntimeDir':_0x5626a9});const _0x205166=!syncOnly||!existsSync(resolveManifestPath(_0x4db234));_0x205166?(_0x3329a9?.['info'](_0x274394(0x142)+'replacem'+_0x274394(0x146)+_0x274394(0x9f),{'from':_0x5626a9,'to':_0x4db234,'reason':syncOnly?_0x274394(0x19c)+_0x274394(0x173):_0x274394(0xff)+'command'}),await replaceRuntimeFromBootstrap(_0x5626a9,_0x4db234),_0x3329a9?.[_0x274394(0xc9)](_0x274394(0x142)+_0x274394(0x106)+_0x274394(0xe4)+_0x274394(0x187),{'runtimeRoot':_0x4db234})):_0x3329a9?.[_0x274394(0xc9)](_0x274394(0x142)+_0x274394(0x106)+_0x274394(0x12c)+_0x274394(0x13e),{'reason':_0x274394(0xa2)+_0x274394(0x17f)+_0x274394(0x185)+'s','manifestPath':resolveManifestPath(_0x4db234)});const _0x2de632=await readRuntimeManifest(_0x4db234);_0x3329a9?.[_0x274394(0xc9)](_0x274394(0x142)+_0x274394(0x173)+'\x20loaded',{'manifestPath':resolveManifestPath(_0x4db234),'manifest':summarizeRuntimeManifest(_0x2de632)}),validateRuntimeNodeVersion(_0x2de632,_0x3b5842),_0x3329a9?.[_0x274394(0xc9)](_0x274394(0x142)+'node\x20ver'+_0x274394(0x162)+'idated',{'nodeVersion':_0x2de632[_0x274394(0x143)+_0x274394(0xf7)]});if(syncOnly)validateRuntimeOpenClawVersion(_0x2de632,_0x3b5842),_0x3329a9?.[_0x274394(0xc9)](_0x274394(0x142)+_0x274394(0x17c)+_0x274394(0xfa)+_0x274394(0x155)+'ed',{'openclawVersion':_0x2de632[_0x274394(0x17c)+_0x274394(0x101)]});else{if(_0x2de632[_0x274394(0x17c)+'Version']!==_0x3b5842[_0x274394(0x17c)][_0x274394(0x17c)+'Version']){const _0x83a918=await loadRuntimeInfo(_0x3b5842[_0x274394(0x177)+_0x274394(0xfc)]);_0x3329a9?.[_0x274394(0xc9)](_0x274394(0x17c)+_0x274394(0x14e)+_0x274394(0x121)+'\x20started',{'fromVersion':_0x2de632[_0x274394(0x17c)+_0x274394(0x101)]||_0x274394(0xbd),'toVersion':_0x3b5842['openclaw'][_0x274394(0x17c)+_0x274394(0x101)]}),await installOpenClawPackage(_0x83a918,_0x3b5842['openclaw']['openclaw'+_0x274394(0x101)]),_0x2de632['openclaw'+_0x274394(0x101)]=_0x3b5842[_0x274394(0x17c)][_0x274394(0x17c)+_0x274394(0x101)],_0x3329a9?.['info'](_0x274394(0x17c)+_0x274394(0x14e)+'\x20install'+'\x20complet'+'ed',{'openclawVersion':_0x2de632[_0x274394(0x17c)+_0x274394(0x101)]});}}_0x2de632['generate'+_0x274394(0x139)]=new Date()[_0x274394(0x167)+_0x274394(0x19b)](),_0x2de632[_0x274394(0x143)+'ion']=_0x3b5842[_0x274394(0x17c)][_0x274394(0x143)+_0x274394(0xf7)],_0x2de632['product']={'appId':_0x3b5842[_0x274394(0xdb)],'productName':_0x3b5842[_0x274394(0x13c)+_0x274394(0x189)],'dataDirName':_0x3b5842['dataDirN'+_0x274394(0x189)]};const _0x287aa2=Array[_0x274394(0x108)](_0x2de632[_0x274394(0x15d)])?_0x2de632[_0x274394(0x15d)]['length']:0x0;return await syncManifestPluginScope(_0x3b5842,_0x4db234,_0x2de632),_0x3329a9?.['info'](_0x274394(0x142)+_0x274394(0x114)+'cope\x20syn'+_0x274394(0x14b),{'beforePluginCount':_0x287aa2,'afterPluginCount':Array['isArray'](_0x2de632['plugins'])?_0x2de632['plugins']['length']:0x0,'pluginSpecCount':Array[_0x274394(0x108)](_0x2de632['pluginSp'+_0x274394(0x9d)])?_0x2de632['pluginSp'+_0x274394(0x9d)]['length']:0x0}),await syncProductPlugins(_0x3b5842,_0x4db234,_0x2de632),_0x3329a9?.[_0x274394(0xc9)](_0x274394(0x16e)+'plugins\x20'+_0x274394(0xdc),{'localPluginCount':_0x3b5842[_0x274394(0x17c)][_0x274394(0xe2)+'LocalPlu'+_0x274394(0x19e)][_0x274394(0x11e)],'pluginCount':Array[_0x274394(0x108)](_0x2de632[_0x274394(0x15d)])?_0x2de632[_0x274394(0x15d)][_0x274394(0x11e)]:0x0}),await syncProductAgents(_0x3b5842,_0x4db234,_0x2de632),_0x3329a9?.['info'](_0x274394(0x16e)+'agents\x20s'+'ynced',{'source':_0x3b5842['openclaw'][_0x274394(0x18f)+'r'],'installPath':_0x2de632[_0x274394(0x158)]?.['installP'+'ath']}),await syncProductSkills(_0x3b5842,_0x4db234,_0x2de632),_0x3329a9?.['info'](_0x274394(0x16e)+_0x274394(0x120)+'ynced',{'source':_0x3b5842['openclaw'][_0x274394(0xa5)+'r'],'installPath':_0x2de632[_0x274394(0x11a)]?.[_0x274394(0x126)+_0x274394(0xf5)]}),await syncRuntimeWrapper(_0x3b5842,_0x4db234,_0x2de632),_0x3329a9?.[_0x274394(0xc9)](_0x274394(0x142)+_0x274394(0x107)+_0x274394(0xdc),{'wujieclawBin':_0x2de632[_0x274394(0x11f)+_0x274394(0xe6)]}),await writeJson(resolveManifestPath(_0x4db234),_0x2de632),_0x3329a9?.[_0x274394(0xc9)](_0x274394(0x142)+'manifest'+_0x274394(0xb3),{'manifestPath':resolveManifestPath(_0x4db234),'manifest':summarizeRuntimeManifest(_0x2de632),'durationMs':Date[_0x274394(0x164)]()-_0x34bc78}),await _0x3329a9?.[_0x274394(0x17b)](),_0x2de632;}catch(_0x30f89a){_0x3329a9?.[_0x274394(0x178)](_0x274394(0xff)+_0x274394(0x142)+_0x274394(0x136),{'syncOnly':syncOnly,'runtimeRoot':_0x4db234,'durationMs':Date['now']()-_0x34bc78,'error':_0x30f89a}),await _0x3329a9?.['flush']();throw _0x30f89a;}}async function syncRuntimeWrapper(_0x37f005,_0x1e1f26,_0x378641){const _0x4ba4b8=_0x51e383,_0x3c5e0a=join(_0x1e1f26,'bin',_0x4ba4b8(0x11f)+'w'),_0x3a387c=join(_0x1e1f26,_0x4ba4b8(0x122),_0x4ba4b8(0x11f)+_0x4ba4b8(0x18d)),_0x222982=normalizeRuntimeRelativePath(relative(dirname(_0x3c5e0a),resolve(_0x1e1f26,_0x378641[_0x4ba4b8(0x157)+_0x4ba4b8(0x166)]))),_0x489f74=normalizeRuntimeRelativePath(relative(dirname(_0x3c5e0a),resolve(_0x1e1f26,_0x378641[_0x4ba4b8(0x17c)+_0x4ba4b8(0xc6)]))),_0x4a6e52=_0x4ba4b8(0x18a)+_0x37f005[_0x4ba4b8(0xd9)+_0x4ba4b8(0x189)],_0xc8eaef=_0x4ba4b8(0xd3)+_0x4ba4b8(0x160)+_0x37f005[_0x4ba4b8(0xd9)+_0x4ba4b8(0x189)];await mkdir(dirname(_0x3c5e0a),{'recursive':!![]}),await writeFile(_0x3c5e0a,[_0x4ba4b8(0x133)+'h',_0x4ba4b8(0x159)+_0x4ba4b8(0xd5)+_0x4ba4b8(0x16a)+'OPENCLAW'+'_HOME:-'+_0x4a6e52+'}\x22',_0x4ba4b8(0x159)+_0x4ba4b8(0xd5)+_0x4ba4b8(0x13d)+_0x4ba4b8(0xa9)+_0x4ba4b8(0xb6)+_0x4ba4b8(0x16b)+'-'+_0x4a6e52+'}\x22',_0x4ba4b8(0x159)+_0x4ba4b8(0xd5)+_0x4ba4b8(0x10b)+_0x4ba4b8(0xf8)+_0x4ba4b8(0xd5)+'CONFIG_P'+_0x4ba4b8(0xbf)+_0x4a6e52+('/opencla'+'w.json}\x22'),_0x4ba4b8(0x154)+'IR=$(CDP'+_0x4ba4b8(0xd4)+_0x4ba4b8(0x131)+_0x4ba4b8(0x15a)+_0x4ba4b8(0x112)+'&&\x20pwd)',_0x4ba4b8(0xc4)+_0x4ba4b8(0x181)+'R/'+_0x222982+('\x22\x20\x22$SCRI'+_0x4ba4b8(0x11b))+_0x489f74+'\x22\x20\x22$@\x22','']['join']('\x0a'),_0x4ba4b8(0xab)),await chmod(_0x3c5e0a,0x1ed),await writeFile(_0x3a387c,['@echo\x20of'+'f',_0x4ba4b8(0xd7)+_0x4ba4b8(0x148)+_0x4ba4b8(0x179)+_0x4ba4b8(0xa6)+'ENCLAW_H'+_0x4ba4b8(0x117)+_0xc8eaef+'\x22',_0x4ba4b8(0xd7)+_0x4ba4b8(0xb6)+'ATE_DIR%'+'\x22==\x22\x22\x20se'+_0x4ba4b8(0xc8)+_0x4ba4b8(0x10d)+_0x4ba4b8(0x103)+_0xc8eaef+'\x22',_0x4ba4b8(0xd7)+'NCLAW_CO'+'NFIG_PAT'+_0x4ba4b8(0x191)+_0x4ba4b8(0x147)+_0x4ba4b8(0x110)+'NFIG_PAT'+'H='+_0xc8eaef+(_0x4ba4b8(0x12f)+'w.json\x22'),_0x4ba4b8(0xbe)+_0x4ba4b8(0xae)+_0x4ba4b8(0x182),_0x4ba4b8(0x161)+_0x4ba4b8(0x197)+toWindowsPath(_0x222982)+(_0x4ba4b8(0x171)+'PT_DIR%')+toWindowsPath(_0x489f74)+_0x4ba4b8(0xc2),''][_0x4ba4b8(0xea)]('\x0d\x0a'),_0x4ba4b8(0xab)),_0x378641[_0x4ba4b8(0x11f)+_0x4ba4b8(0xe6)]=toRuntimeRelative(_0x1e1f26,process['platform']===_0x4ba4b8(0xda)?_0x3a387c:_0x3c5e0a);}function normalizeRuntimeRelativePath(_0x18f02c){return _0x18f02c['replaceA'+'ll']('\x5c','/');}function toWindowsPath(_0x322943){return _0x322943['replaceA'+'ll']('/','\x5c');}function validateRuntimeNodeVersion(_0x5d51fa,_0xc8fbb5){const _0x3e2a7c=_0x51e383;if(_0x5d51fa[_0x3e2a7c(0x143)+_0x3e2a7c(0xf7)]===_0xc8fbb5[_0x3e2a7c(0x17c)][_0x3e2a7c(0x143)+'ion'])return;throw new Error(_0x3e2a7c(0x142)+_0x3e2a7c(0x143)+'ion\x20mism'+_0x3e2a7c(0xcb)+'nifest='+(_0x5d51fa['nodeVers'+_0x3e2a7c(0xf7)]||'unknown')+(_0x3e2a7c(0x150)+_0x3e2a7c(0x135))+_0xc8fbb5[_0x3e2a7c(0x17c)][_0x3e2a7c(0x143)+_0x3e2a7c(0xf7)]+'.\x20'+('Rebuild\x20'+_0x3e2a7c(0x132)+_0x3e2a7c(0xed)+'ntime\x20wi'+_0x3e2a7c(0xa7)+_0x3e2a7c(0xfe)+_0x3e2a7c(0x138)+_0x3e2a7c(0x18e)+_0x3e2a7c(0xb1)+_0x3e2a7c(0xc7)+'wujie-sh'+_0x3e2a7c(0xf6)));}function _0x503b(){const _0x5793fe=['\x22\x20at\x20','filename','w.cmd','ersion\x20b','agentsDi','.cache','H%\x22==\x22\x22\x20','map','Version\x20','tall\x20the','hell:run','pid','_DIR%','er\x20writt','source','npm\x20pack','ing','missing\x20','startsWi','ginPaths','\x22\x20so\x20the','ecs','-ai\x20runt','ted','push','6MvxgKO','sync-onl','with\x20cod','\x20can\x20ins','skillsDi','\x20set\x20\x22OP','th\x20the\x20c','stalling','R=\x22${OPE','fix\x20comp','utf8','rg/','replace','IPT_DIR=','12zfJEbx','parse','efore\x20pr','pluginSp','\x20written','\x20create\x20','Name','NCLAW_ST','ent','sion.','dist','--fix','Run\x20\x22wuj','\x20timed\x20o','unknown','set\x20\x22SCR','ATH:-','npmCli','red\x20Open','\x22\x20%*','P,\x20prepa','exec\x20\x22$S','nd\x20after','Bin','eparing\x20','t\x20\x22OPENC','info','json','atch:\x20ma','WorkingD','cwd','configPa','-xzf','fix\x20alre','ogger','close','%USERPRO','ATH=\x20cd\x20','PENCLAW_','st=','if\x20\x22%OPE','-peer-de','dataDirN','win32','appId','synced','ing\x20\x22','spec','und:\x20','log','\x20resolve','resolved','\x20doctor\x20','ent\x20comp','timeoutM','wBin','ie-shell','kill','SIGTERM','join','has','--omit=d','strap\x20ru','data','.tools','runtimeS','--legacy','[wujie-s','string','--no-aud','ath','ell.','ion','ATH=\x22${O','toString','\x20version','Configur','oot','\x20bin\x20was','onfigure','prepare\x20','ut\x20after','Version','pipe','E_DIR=','claw-run','registry','replacem','wrapper\x20','isArray','766815MrARft',';\x20run\x20wu','CONFIG_P','time]\x20in','LAW_STAT','alid\x20pay','pluginId','NCLAW_CO','package','\x20\x22$0\x22)\x22\x20','load:\x20','plugin\x20s','Spec','mismatch','OME=','pack','stdout','skills','PT_DIR/','extensio','time-too','length','wujiecla','skills\x20s','\x20install','bin','p\x20runtim','bootstra','filter','installP','.tmp/run','product','started','fix\x20star','local','ent\x20skip','3075310TcJPRV','object','\x5copencla','name','--\x20\x22$(di','the\x20boot','#!/bin/s','e\x20not\x20fo','config=','failed','local:','d\x20Node\x20v','dAt','274500nytTmL','version','productN','STATE_DI','ped','slice','law\x20','runtimeR','runtime\x20','nodeVers','728SoCZyf','\x20depende','ent\x20star','set\x20\x22OPE','NCLAW_HO','add','re\x20wujie','ced','5013rQAWVU','.npmjs.o','\x20package','l\x20prepar',',\x20shell.','time]\x20ru','e\x20checke','split','SCRIPT_D','\x20validat','\x20did\x20not','nodeExec','agents','export\x20O','rname\x20--','octor\x20--','1599880LpMGxH','plugins','dataDir','https://','FILE%\x5c','\x22%SCRIPT','sion\x20val','stderr','now','706398pkQypF','utable','toISOStr','d\x20to\x20','\x20returne','HOME=\x22${','ATE_DIR:','extract\x20','LocalPlu','product\x20','--json','JSON:\x20','\x22\x20\x22%SCRI','trim','manifest','fix','tar','w-extrac','projectR','error','ME%\x22==\x22\x22','\x20runtime','flush','openclaw','runtime','ady\x20curr','y\x20manife','null','CRIPT_DI','%~dp0\x22','22096moWWpY','fix\x20mark','st\x20exist','ed\x20OpenC','leted','\x20is\x20miss','ame','$HOME/'];_0x503b=function(){return _0x5793fe;};return _0x503b();}function validateRuntimeOpenClawVersion(_0x9883f1,_0x1cb5c1){const _0x171c24=_0x51e383;if(_0x9883f1[_0x171c24(0x17c)+_0x171c24(0x101)]===_0x1cb5c1[_0x171c24(0x17c)][_0x171c24(0x17c)+'Version'])return;throw new Error(_0x171c24(0x142)+'openclaw'+_0x171c24(0x193)+_0x171c24(0x116)+':\x20manife'+_0x171c24(0xd6)+(_0x9883f1[_0x171c24(0x17c)+_0x171c24(0x101)]||_0x171c24(0xbd))+(_0x171c24(0x150)+_0x171c24(0x135))+_0x1cb5c1[_0x171c24(0x17c)]['openclaw'+'Version']+'.\x20'+(_0x171c24(0xbb)+_0x171c24(0xe7)+'\x20prepare'+_0x171c24(0x19f)+_0x171c24(0x17a)+_0x171c24(0xa4)+_0x171c24(0x194)+'\x20configu'+_0x171c24(0xc1)+'Claw\x20ver'+_0x171c24(0xb8)));}function parseNpmPackJson(_0x14daa2){const _0x25ebb8=_0x51e383,_0xcecbb=_0x14daa2[_0x25ebb8(0x172)](),_0x2bcb12=_0xcecbb['indexOf']('[');if(_0x2bcb12<0x0)throw new Error(_0x25ebb8(0x19a)+_0x25ebb8(0x156)+'\x20return\x20'+_0x25ebb8(0x170)+_0xcecbb[_0x25ebb8(0x13f)](0x0,0x1f4));const _0x59b48b=JSON[_0x25ebb8(0xb0)](_0xcecbb[_0x25ebb8(0x13f)](_0x2bcb12)),_0x48a1e6=Array[_0x25ebb8(0x108)](_0x59b48b)?_0x59b48b[0x0]:_0x59b48b;if(!_0x48a1e6||typeof _0x48a1e6!==_0x25ebb8(0x12e))throw new Error(_0x25ebb8(0x19a)+_0x25ebb8(0x169)+'d\x20an\x20inv'+_0x25ebb8(0x10e)+_0x25ebb8(0x113)+_0xcecbb[_0x25ebb8(0x13f)](0x0,0x1f4));return _0x48a1e6;}async function runProcess(_0x2e6457,_0x229974,_0x684bb8={}){const _0x3ae77b=_0x51e383,_0x17c68f=_0x684bb8['label']||[_0x2e6457,..._0x229974][_0x3ae77b(0xea)]('\x20'),_0x39b058=_0x684bb8[_0x3ae77b(0xe5)+'s']??NPM_INSTALL_TIMEOUT_MS,_0x566db1=spawn(_0x2e6457,_0x229974,{'cwd':_0x684bb8[_0x3ae77b(0xcd)],'env':_0x684bb8['env'],'stdio':['ignore',_0x3ae77b(0x102),_0x3ae77b(0x102)]});return await new Promise((_0x1a28e8,_0x20420b)=>{const _0x1a6db7=_0x3ae77b;let _0x3697bf='',_0x134c52='',_0xed8e2c=![];const _0x656fb2=setTimeout(()=>{const _0x2ae848=_0x2d02;if(_0xed8e2c)return;_0xed8e2c=!![],_0x566db1[_0x2ae848(0xe8)](_0x2ae848(0xe9)),_0x20420b(new Error(_0x17c68f+(_0x2ae848(0xbc)+_0x2ae848(0x100)+'\x20')+_0x39b058+'ms'));},_0x39b058);_0x566db1[_0x1a6db7(0x119)]['on']('data',_0xa41e6d=>{const _0x57f171=_0x1a6db7;_0x3697bf+=_0xa41e6d[_0x57f171(0xf9)]();}),_0x566db1['stderr']['on'](_0x1a6db7(0xee),_0x3b1747=>{_0x134c52+=_0x3b1747['toString']();}),_0x566db1['on'](_0x1a6db7(0x178),_0x5ae0dd=>{if(_0xed8e2c)return;_0xed8e2c=!![],clearTimeout(_0x656fb2),_0x20420b(_0x5ae0dd);}),_0x566db1['on'](_0x1a6db7(0xd2),(_0xe34365,_0x2b1759)=>{const _0x3069c6=_0x1a6db7;if(_0xed8e2c)return;_0xed8e2c=!![],clearTimeout(_0x656fb2);if(_0xe34365===0x0){_0x1a28e8({'stdout':_0x3697bf,'stderr':_0x134c52});return;}_0x20420b(new Error(_0x17c68f+('\x20failed\x20'+_0x3069c6(0xa3)+'e=')+(_0xe34365??_0x3069c6(0x180))+'\x20signal='+(_0x2b1759??'null')+'\x0a'+(''+(_0x134c52||_0x3697bf))['trim']()));});});}async function installOpenClawPackage(_0x48f8de,_0x17ae97){const _0x2b4327=_0x51e383,_0x4a3903=join(_0x48f8de['runtimeR'+'oot'],_0x2b4327(0x190)),_0x323549=join(_0x48f8de[_0x2b4327(0x141)+'oot'],'.opencla'+_0x2b4327(0x176)+'t');await mkdir(_0x4a3903,{'recursive':!![]}),await rm(_0x323549,{'recursive':!![],'force':!![]}),await mkdir(_0x323549,{'recursive':!![]});const _0x50bbf3=await createRuntimeEnv(_0x48f8de),_0x35d9ec=_0x2b4327(0x17c)+'@'+_0x17ae97;console[_0x2b4327(0xe0)](_0x2b4327(0xf2)+_0x2b4327(0x195)+_0x2b4327(0x10c)+_0x2b4327(0xa8)+'\x20'+_0x35d9ec);const _0x3ec5c1=await runProcess(_0x48f8de[_0x2b4327(0x157)+_0x2b4327(0x166)],[_0x48f8de[_0x2b4327(0xc0)],_0x2b4327(0x118),_0x35d9ec,_0x2b4327(0x16f)],{'cwd':_0x4a3903,'env':_0x50bbf3,'label':_0x2b4327(0x19a)+'\x20'+_0x35d9ec}),_0x175e4a=parseNpmPackJson(_0x3ec5c1['stdout']);if(_0x175e4a[_0x2b4327(0x13b)]!==_0x17ae97)throw new Error(_0x2b4327(0xfb)+_0x2b4327(0x186)+_0x2b4327(0x140)+_0x17ae97+(_0x2b4327(0xe1)+_0x2b4327(0x168))+_0x175e4a['version']);const _0x4705cb=resolve(_0x4a3903,_0x175e4a[_0x2b4327(0x18c)]);if(!existsSync(_0x4705cb))throw new Error(_0x2b4327(0x19a)+'\x20did\x20not'+_0x2b4327(0xb4)+'tarball:'+'\x20'+_0x4705cb);await runProcess(_0x2b4327(0x175),[_0x2b4327(0xcf),_0x4705cb,'-C',_0x323549],{'label':_0x2b4327(0x16c)+_0x175e4a[_0x2b4327(0x18c)]}),await rm(_0x48f8de[_0x2b4327(0x17c)+'WorkingD'+'ir'],{'recursive':!![],'force':!![]}),await rename(join(_0x323549,_0x2b4327(0x111)),_0x48f8de[_0x2b4327(0x17c)+_0x2b4327(0xcc)+'ir']),await rm(_0x323549,{'recursive':!![],'force':!![]}),await runProcess(_0x48f8de[_0x2b4327(0x157)+'utable'],[_0x48f8de[_0x2b4327(0xc0)],'install',_0x2b4327(0xec)+'ev','--omit=p'+'eer',_0x2b4327(0xf4)+'it','--no-fun'+'d',_0x2b4327(0xf1)+_0x2b4327(0xd8)+'ps'],{'cwd':_0x48f8de[_0x2b4327(0x17c)+_0x2b4327(0xcc)+'ir'],'env':_0x50bbf3,'label':'npm\x20inst'+'all\x20'+_0x35d9ec+('\x20runtime'+_0x2b4327(0x145)+'ncies')});if(!existsSync(_0x48f8de[_0x2b4327(0x17c)+'Bin']))throw new Error('OpenClaw'+_0x2b4327(0xfd)+'\x20not\x20fou'+_0x2b4327(0xc5)+'\x20install'+':\x20'+_0x48f8de['openclaw'+'Bin']);}export async function ensureOpenClawDoctorFixed(_0x42363d,_0x33d3bd={}){const _0x3b6d1d=_0x51e383,_0x46c2ad=await loadRuntimeInfo(_0x42363d[_0x3b6d1d(0x177)+_0x3b6d1d(0xfc)]),_0x5c2f8a=getConfigPaths(_0x42363d),_0x5e20b3=join(_0x5c2f8a[_0x3b6d1d(0xf0)+'tateDir'],'openclaw'+'-doctor.'+_0x3b6d1d(0xca)),_0xb24d2d=await readJson(_0x5e20b3,{});if(_0xb24d2d[_0x3b6d1d(0x17c)+_0x3b6d1d(0x101)]===_0x46c2ad['openclaw'+_0x3b6d1d(0x101)])return _0x33d3bd['runtimeL'+'ogger']?.[_0x3b6d1d(0xc9)](_0x3b6d1d(0x17c)+_0x3b6d1d(0xe3)+_0x3b6d1d(0xd0)+_0x3b6d1d(0x17e)+_0x3b6d1d(0xb7),{'openclawVersion':_0x46c2ad['openclaw'+_0x3b6d1d(0x101)],'markerPath':_0x5e20b3}),{'ran':![],'openclawVersion':_0x46c2ad[_0x3b6d1d(0x17c)+_0x3b6d1d(0x101)],'markerPath':_0x5e20b3};return await runOpenClawDoctorFix(_0x42363d,_0x46c2ad,{'fromVersion':_0xb24d2d[_0x3b6d1d(0x17c)+'Version']||_0x3b6d1d(0xbd),'toVersion':_0x46c2ad[_0x3b6d1d(0x17c)+_0x3b6d1d(0x101)],'markerPath':_0x5e20b3,'runtimeLogger':_0x33d3bd['runtimeL'+_0x3b6d1d(0xd1)]}),{'ran':!![],'openclawVersion':_0x46c2ad[_0x3b6d1d(0x17c)+_0x3b6d1d(0x101)],'markerPath':_0x5e20b3};}async function runOpenClawDoctorFix(_0x24c542,_0x58020c,{fromVersion:_0x21c9d7,toVersion:_0x58cce7,markerPath:markerPath='',runtimeLogger:_0x17d596}={}){const _0x58b0a9=_0x51e383;_0x17d596?.[_0x58b0a9(0xc9)](_0x58b0a9(0x17c)+_0x58b0a9(0xe3)+_0x58b0a9(0x12a)+_0x58b0a9(0x9f),{'fromVersion':_0x21c9d7,'toVersion':_0x58cce7});const _0x245092=await createRuntimeEnv(_0x58020c,{'OPENCLAW_HOME':_0x24c542[_0x58b0a9(0x15e)],'OPENCLAW_STATE_DIR':_0x24c542[_0x58b0a9(0x15e)],'OPENCLAW_CONFIG_PATH':getConfigPaths(_0x24c542)[_0x58b0a9(0xce)+'th']});console[_0x58b0a9(0xe0)]('[wujie-s'+'hell:run'+_0x58b0a9(0x151)+'nning\x20op'+'enclaw\x20d'+_0x58b0a9(0x15b)+_0x58b0a9(0x174));const _0x334657=await runProcess(_0x58020c[_0x58b0a9(0x157)+'utable'],[_0x58020c[_0x58b0a9(0x17c)+'Bin'],'doctor',_0x58b0a9(0xba)],{'cwd':_0x58020c[_0x58b0a9(0x17c)+_0x58b0a9(0xcc)+'ir'],'env':_0x245092,'label':_0x58b0a9(0x17c)+_0x58b0a9(0xe3)+_0x58b0a9(0xba),'timeoutMs':0x1d4c0});_0x17d596?.[_0x58b0a9(0xc9)](_0x58b0a9(0x17c)+_0x58b0a9(0xe3)+_0x58b0a9(0xaa)+'leted',{'fromVersion':_0x21c9d7,'toVersion':_0x58cce7,'stdout':_0x334657['stdout'][_0x58b0a9(0x172)]()[_0x58b0a9(0x13f)](-0xfa0),'stderr':_0x334657[_0x58b0a9(0x163)]['trim']()[_0x58b0a9(0x13f)](-0xfa0)}),markerPath&&(await writeJson(markerPath,{'openclawVersion':_0x58020c['openclaw'+_0x58b0a9(0x101)],'fixedAt':new Date()[_0x58b0a9(0x167)+_0x58b0a9(0x19b)]()}),_0x17d596?.[_0x58b0a9(0xc9)](_0x58b0a9(0x17c)+_0x58b0a9(0xe3)+_0x58b0a9(0x184)+_0x58b0a9(0x198)+'en',{'markerPath':markerPath,'openclawVersion':_0x58020c[_0x58b0a9(0x17c)+_0x58b0a9(0x101)]}));}async function replaceRuntimeFromBootstrap(_0x58e758,_0x2887e9){const _0x502815=_0x51e383;await mkdir(dirname(_0x2887e9),{'recursive':!![]});const _0x2d49eb=_0x2887e9+'.next-'+process['pid']+'-'+Date[_0x502815(0x164)](),_0x3fb2f7=_0x2887e9+'.old-'+process[_0x502815(0x196)]+'-'+Date[_0x502815(0x164)]();await rm(_0x2d49eb,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await rm(_0x3fb2f7,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await cp(_0x58e758,_0x2d49eb,{'recursive':!![],'force':!![]}),existsSync(_0x2887e9)&&(await rm(_0x3fb2f7,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await rename(_0x2887e9,_0x3fb2f7)),await rename(_0x2d49eb,_0x2887e9),await rm(_0x3fb2f7,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96});}export async function readRuntimeManifest(_0x2289a2){return await readJson(resolveManifestPath(_0x2289a2),{});}export async function loadRuntimeInfo(_0x16b6d3){const _0x4dce2c=_0x51e383,_0x47c1ee=resolveRuntimeRoot(_0x16b6d3),_0xe5f917=await readRuntimeManifest(_0x47c1ee);for(const _0x7b864 of[_0x4dce2c(0x157)+_0x4dce2c(0x166),_0x4dce2c(0xc0),_0x4dce2c(0x17c)+_0x4dce2c(0xcc)+'ir',_0x4dce2c(0x17c)+_0x4dce2c(0xc6)]){if(typeof _0xe5f917[_0x7b864]!==_0x4dce2c(0xf3)||!_0xe5f917[_0x7b864][_0x4dce2c(0x172)]())throw new Error(_0x4dce2c(0x142)+_0x4dce2c(0x173)+_0x4dce2c(0x188)+_0x4dce2c(0xdd)+_0x7b864+_0x4dce2c(0x18b)+resolveManifestPath(_0x47c1ee)+(_0x4dce2c(0x10a)+'jie-shel'+_0x4dce2c(0x14f)+'e'));}const _0xb67e74=resolve(_0x47c1ee,_0xe5f917[_0x4dce2c(0x157)+'utable']),_0x56e7a7=resolve(_0x47c1ee,_0xe5f917[_0x4dce2c(0xc0)]),_0xec8156=resolve(_0x47c1ee,_0xe5f917[_0x4dce2c(0x17c)+_0x4dce2c(0xcc)+'ir']),_0x3bb678=resolve(_0x47c1ee,_0xe5f917['openclaw'+_0x4dce2c(0xc6)]),_0x242e27=Array[_0x4dce2c(0x108)](_0xe5f917[_0x4dce2c(0x15d)])?_0xe5f917[_0x4dce2c(0x15d)][_0x4dce2c(0x192)](_0x55b67e=>({..._0x55b67e,'installPath':resolve(_0x47c1ee,_0x55b67e[_0x4dce2c(0x126)+_0x4dce2c(0xf5)])})):[];for(const _0x411f22 of[_0xb67e74,_0x56e7a7,_0xec8156,_0x3bb678]){if(!existsSync(_0x411f22))throw new Error(_0x4dce2c(0x142)+_0x4dce2c(0x19c)+'path:\x20'+_0x411f22);}return{'runtimeRoot':_0x47c1ee,'manifest':_0xe5f917,'openclawVersion':_0xe5f917[_0x4dce2c(0x17c)+'Version']||_0x4dce2c(0xbd),'nodeExecutable':_0xb67e74,'npmCli':_0x56e7a7,'openclawWorkingDir':_0xec8156,'openclawBin':_0x3bb678,'plugins':_0x242e27};}export async function spawnClaw(_0x3549b6,_0x51a4fa=[],_0x4a2ef1={}){const _0x417fe4=_0x51e383,_0x7bdaa3=await loadRuntimeInfo(_0x3549b6),_0x31c9ec=await createRuntimeEnv(_0x7bdaa3,_0x4a2ef1['env']??{});return spawn(_0x7bdaa3[_0x417fe4(0x157)+'utable'],[_0x7bdaa3['openclaw'+_0x417fe4(0xc6)],..._0x51a4fa],{'cwd':_0x7bdaa3['openclaw'+_0x417fe4(0xcc)+'ir'],'stdio':_0x417fe4(0x102),..._0x4a2ef1,'env':_0x31c9ec});}export async function runClawOnce(_0x3aa679,_0x35e152=[],_0x35f19e=0x15f90){const _0x808a78=await spawnClaw(_0x3aa679,_0x35e152);return await new Promise((_0x5864d8,_0x318674)=>{const _0x481405=_0x2d02;let _0x2ad22e='',_0x29ef92='',_0x542b43=![];const _0x45b5bb=setTimeout(()=>{const _0x1eb6c1=_0x2d02;if(_0x542b43)return;_0x542b43=!![],_0x808a78[_0x1eb6c1(0xe8)](_0x1eb6c1(0xe9)),_0x318674(new Error(_0x1eb6c1(0x17c)+_0x1eb6c1(0xbc)+_0x1eb6c1(0x100)+'\x20'+_0x35f19e+'ms'));},_0x35f19e);_0x808a78[_0x481405(0x119)]['on'](_0x481405(0xee),_0x163e0c=>{const _0x180776=_0x481405;_0x2ad22e+=_0x163e0c[_0x180776(0xf9)]();}),_0x808a78[_0x481405(0x163)]['on'](_0x481405(0xee),_0x128e4c=>{const _0x41ab4e=_0x481405;_0x29ef92+=_0x128e4c[_0x41ab4e(0xf9)]();}),_0x808a78['on'](_0x481405(0x178),_0x3bf5e8=>{if(_0x542b43)return;_0x542b43=!![],clearTimeout(_0x45b5bb),_0x318674(_0x3bf5e8);}),_0x808a78['on'](_0x481405(0xd2),(_0x424e17,_0x2e1288)=>{if(_0x542b43)return;_0x542b43=!![],clearTimeout(_0x45b5bb),_0x5864d8({'code':_0x424e17,'signal':_0x2e1288,'stdout':_0x2ad22e,'stderr':_0x29ef92});});});}function _0x2d02(_0x12f09a,_0x4d29b7){_0x12f09a=_0x12f09a-0x9d;const _0x503b5a=_0x503b();let _0x2d02ad=_0x503b5a[_0x12f09a];return _0x2d02ad;}async function createRuntimeEnv(_0x25cfb0,_0x21d17e={}){const _0x5680d6=_0x51e383,_0x69acbf=process.env.OPENCLAW_STATE_DIR||'',_0xa7e5e1=_0x69acbf?join(_0x69acbf,_0x5680d6(0x104)+_0x5680d6(0x11d)+'ls'):join(_0x25cfb0[_0x5680d6(0x141)+_0x5680d6(0xfc)],_0x5680d6(0xef)),_0x35e54d=join(_0xa7e5e1,'npm-glob'+'al'),_0x3ce0f9=join(_0xa7e5e1,'npm-cach'+'e'),_0x1fb833=join(_0x35e54d,'bin');await mkdir(_0x1fb833,{'recursive':!![]}),await mkdir(_0x3ce0f9,{'recursive':!![]});const _0x26ca0b=[_0x1fb833,dirname(_0x25cfb0['nodeExec'+'utable']),process.env.PATH||''];return{...process.env,..._0x21d17e,'PATH':_0x26ca0b[_0x5680d6(0x125)](Boolean)[_0x5680d6(0xea)](delimiter),'npm_config_prefix':_0x35e54d,'NPM_CONFIG_PREFIX':_0x35e54d,'npm_config_cache':_0x3ce0f9,'NPM_CONFIG_CACHE':_0x3ce0f9,'npm_config_registry':_0x5680d6(0x15f)+_0x5680d6(0x105)+_0x5680d6(0x14d)+'rg/','NPM_CONFIG_REGISTRY':_0x5680d6(0x15f)+_0x5680d6(0x105)+'.npmjs.o'+_0x5680d6(0xac),'npm_execpath':_0x25cfb0[_0x5680d6(0xc0)],'npm_node_execpath':_0x25cfb0[_0x5680d6(0x157)+_0x5680d6(0x166)],'OPENCLAW_RUNTIME_NPM_PREFIX':_0x35e54d,'OPENCLAW_RUNTIME_NPM_BIN':_0x1fb833,'OPENCLAW_RUNTIME_NPM_REGISTRY':_0x5680d6(0x15f)+_0x5680d6(0x105)+_0x5680d6(0x14d)+_0x5680d6(0xac)};}async function syncProductPlugins(_0x467167,_0xb47306,_0x2d97aa){const _0xc9c782=_0x51e383,_0x178d23=join(_0xb47306,'openclaw','dist',_0xc9c782(0x11c)+'ns'),_0x23a54d=[];for(const _0x5c1510 of _0x467167[_0xc9c782(0x17c)][_0xc9c782(0xe2)+_0xc9c782(0x16d)+_0xc9c782(0x19e)]){const _0xeff200=await getPackageMetadata(_0x5c1510),_0x50022e=await readPluginManifest(_0x5c1510),_0x2f269d=join(_0x178d23,_0xeff200['pluginId']);await copyDirFresh(_0x5c1510,_0x2f269d),_0x23a54d[_0xc9c782(0xa0)]({'pluginId':_0xeff200[_0xc9c782(0x10f)],'source':'local','spec':'local:'+_0x5c1510,'installPath':toRuntimeRelative(_0xb47306,_0x2f269d),'version':_0xeff200['version'],'resolvedName':_0xeff200[_0xc9c782(0x130)],'resolvedVersion':_0xeff200['version'],'resolvedSpec':_0xc9c782(0x137)+_0x5c1510,'integrity':'','shasum':'','resolvedAt':new Date()[_0xc9c782(0x167)+'ing'](),'installedAt':new Date()[_0xc9c782(0x167)+'ing'](),'agentScope':_0x50022e['agentSco'+'pe'],'skills':_0x50022e[_0xc9c782(0x11a)]});}const _0x31c806=new Set(_0x23a54d['map'](_0x3c4709=>_0x3c4709[_0xc9c782(0x10f)])),_0x16100d=Array[_0xc9c782(0x108)](_0x2d97aa['plugins'])?_0x2d97aa[_0xc9c782(0x15d)]['filter'](_0x1f856f=>!_0x31c806[_0xc9c782(0xeb)](_0x1f856f['pluginId'])):[];_0x2d97aa['plugins']=[..._0x16100d,..._0x23a54d];}async function syncManifestPluginScope(_0x59591d,_0x6da86b,_0x25d07d){const _0xae7b1=_0x51e383,_0x40fc66=join(_0x6da86b,_0xae7b1(0x17c),_0xae7b1(0xb9),'extensio'+'ns'),_0x48d719=new Set(_0x59591d[_0xae7b1(0x17c)][_0xae7b1(0xb2)+_0xae7b1(0x9d)]??[]),_0x8d32cf=new Set([..._0x48d719][_0xae7b1(0x192)](_0x19fd1f=>_0x19fd1f[_0xae7b1(0xad)](/^npm:/,''))[_0xae7b1(0x192)](_0x51ea9c=>{const _0x3eebb2=_0xae7b1;if(_0x51ea9c['startsWi'+'th']('@')){const _0x51bfcc=_0x51ea9c[_0x3eebb2(0x153)]('@');return _0x51bfcc[_0x3eebb2(0x11e)]>=0x3?'@'+_0x51bfcc[0x1]:_0x51ea9c;}return _0x51ea9c[_0x3eebb2(0x153)]('@')[0x0];})['filter'](Boolean)),_0x2cedfc=new Set();for(const _0x4f105e of _0x59591d[_0xae7b1(0x17c)][_0xae7b1(0xe2)+_0xae7b1(0x16d)+_0xae7b1(0x19e)]){const _0x5d964c=await getPackageMetadata(_0x4f105e);if(_0x5d964c[_0xae7b1(0x10f)])_0x2cedfc[_0xae7b1(0x149)](_0x5d964c[_0xae7b1(0x10f)]);}const _0x246ee2=Array[_0xae7b1(0x108)](_0x25d07d['plugins'])?_0x25d07d['plugins']:[];_0x25d07d['pluginSp'+_0xae7b1(0x9d)]=[..._0x59591d[_0xae7b1(0x17c)][_0xae7b1(0xb2)+_0xae7b1(0x9d)],..._0x59591d['openclaw'][_0xae7b1(0xe2)+_0xae7b1(0x16d)+_0xae7b1(0x19e)][_0xae7b1(0x192)](_0x5e5fd8=>'local:'+_0x5e5fd8)],_0x25d07d['plugins']=_0x246ee2[_0xae7b1(0x125)](_0x5ecf14=>{const _0x40a9a8=_0xae7b1;if(!_0x5ecf14||typeof _0x5ecf14!==_0x40a9a8(0x12e))return![];if(_0x5ecf14['source']===_0x40a9a8(0x12b))return _0x2cedfc[_0x40a9a8(0xeb)](_0x5ecf14['pluginId']);if(_0x5ecf14[_0x40a9a8(0x199)]==='npm')return _0x48d719[_0x40a9a8(0xeb)](_0x5ecf14[_0x40a9a8(0xde)])||_0x48d719[_0x40a9a8(0xeb)](_0x5ecf14[_0x40a9a8(0xe2)+_0x40a9a8(0x115)])||_0x8d32cf[_0x40a9a8(0xeb)](_0x5ecf14[_0x40a9a8(0xe2)+_0x40a9a8(0xb5)]);return![];});const _0x3d7183=new Set(_0x25d07d[_0xae7b1(0x15d)]['map'](_0x5620aa=>_0x5620aa['pluginId']));for(const _0x3464b7 of _0x246ee2){if(!_0x3464b7[_0xae7b1(0x10f)]||_0x3d7183[_0xae7b1(0xeb)](_0x3464b7[_0xae7b1(0x10f)]))continue;const _0x43fe55=typeof _0x3464b7[_0xae7b1(0x126)+'ath']===_0xae7b1(0xf3)&&_0x3464b7[_0xae7b1(0x126)+_0xae7b1(0xf5)]['trim']()?resolve(_0x6da86b,_0x3464b7['installP'+_0xae7b1(0xf5)]):join(_0x40fc66,_0x3464b7[_0xae7b1(0x10f)]),_0x331856=relative(_0x40fc66,_0x43fe55);if(_0x331856[_0xae7b1(0x19d)+'th']('..')||_0x331856==='')continue;await rm(_0x43fe55,{'recursive':!![],'force':!![]});}}async function syncProductAgents(_0x4bbef6,_0x4fc248,_0x1514f7){const _0x524eea=_0x51e383,_0x9bb43b=join(_0x4fc248,_0x524eea(0x17c),_0x524eea(0x158));await copyDirFresh(_0x4bbef6[_0x524eea(0x17c)]['agentsDi'+'r'],_0x9bb43b),_0x1514f7[_0x524eea(0x158)]={'source':_0x524eea(0x128),'installPath':toRuntimeRelative(_0x4fc248,_0x9bb43b)};}async function syncProductSkills(_0x2c6127,_0x3bdbb2,_0xfaff86){const _0xca9f4e=_0x51e383,_0x4e56dd=join(_0x3bdbb2,_0xca9f4e(0x17c),_0xca9f4e(0x11a));await copyDirFresh(_0x2c6127[_0xca9f4e(0x17c)][_0xca9f4e(0xa5)+'r'],_0x4e56dd),_0xfaff86['skills']={'source':_0xca9f4e(0x128),'installPath':toRuntimeRelative(_0x3bdbb2,_0x4e56dd)};}
@@ -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(_0xe45316,_0x16e5ae){const _0x564426=_0x24bd,_0x3fab62=_0xe45316();while(!![]){try{const _0x229377=parseInt(_0x564426(0xf1))/0x1*(-parseInt(_0x564426(0x100))/0x2)+-parseInt(_0x564426(0x105))/0x3*(-parseInt(_0x564426(0x102))/0x4)+parseInt(_0x564426(0x106))/0x5+parseInt(_0x564426(0xff))/0x6+parseInt(_0x564426(0xf9))/0x7+parseInt(_0x564426(0xfe))/0x8+parseInt(_0x564426(0xef))/0x9*(-parseInt(_0x564426(0xee))/0xa);if(_0x229377===_0x16e5ae)break;else _0x3fab62['push'](_0x3fab62['shift']());}catch(_0x4fbb93){_0x3fab62['push'](_0x3fab62['shift']());}}}(_0x4cc0,0xc1362));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(_0x503229){const _0x413eb4=_0x24bd;return _0x503229&&typeof _0x503229===_0x413eb4(0xfd)&&!Array['isArray'](_0x503229)?_0x503229:{};}export function asStringArray(_0xe657bc){const _0x160363=_0x24bd;return Array[_0x160363(0xf0)](_0xe657bc)?_0xe657bc['filter'](_0x564af4=>typeof _0x564af4===_0x160363(0xf6)&&_0x564af4[_0x160363(0x108)]())[_0x160363(0xf4)](_0x25a7bb=>_0x25a7bb[_0x160363(0x108)]()):[];}export function dedupeStrings(_0xdbe864){return[...new Set(_0xdbe864['filter'](Boolean))];}function _0x24bd(_0x4de065,_0x24b5b3){_0x4de065=_0x4de065-0xee;const _0x4cc071=_0x4cc0();let _0x24bd96=_0x4cc071[_0x4de065];return _0x24bd96;}export function getTrimmedString(_0x33eb3a){const _0x6281b6=_0x24bd;return typeof _0x33eb3a==='string'?_0x33eb3a[_0x6281b6(0x108)]():'';}export async function readJson(_0x49665b,_0x41dac9={}){const _0x4cc539=_0x24bd;try{return JSON[_0x4cc539(0x101)](await readFile(_0x49665b,_0x4cc539(0x109)));}catch{return _0x41dac9;}}export async function writeJson(_0x2c2230,_0x2852f8){const _0x47cb78=_0x24bd;await mkdir(dirname(_0x2c2230),{'recursive':!![]}),await writeFile(_0x2c2230,JSON['stringif'+'y'](_0x2852f8,null,0x2)+'\x0a',_0x47cb78(0x109));}export async function copyDirFresh(_0x38c873,_0x3155be){await rm(_0x3155be,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await mkdir(dirname(_0x3155be),{'recursive':!![]}),await cp(_0x38c873,_0x3155be,{'recursive':!![]});}export async function ensureDir(_0x4e930c){await mkdir(_0x4e930c,{'recursive':!![]});}export function pathExists(_0x5e72a8){return existsSync(_0x5e72a8);}export async function listDirs(_0x497129){const _0x159f5e=_0x24bd;try{const _0x2a861c=await readdir(_0x497129,{'withFileTypes':!![],'encoding':_0x159f5e(0x109)});return _0x2a861c[_0x159f5e(0xfa)](_0x46358d=>_0x46358d[_0x159f5e(0x107)+'ory']())[_0x159f5e(0xf4)](_0x4d90e2=>_0x4d90e2['name']);}catch{return[];}}export async function getPackageMetadata(_0x8ee3b8){const _0x3a983e=_0x24bd,_0x1cbeec=await readJson(join(_0x8ee3b8,_0x3a983e(0xf3)+_0x3a983e(0xf2)),{}),_0x43733b=asRecord(_0x1cbeec[_0x3a983e(0x104)]);return{'name':getTrimmedString(_0x1cbeec[_0x3a983e(0xf8)])||basename(_0x8ee3b8),'version':getTrimmedString(_0x1cbeec[_0x3a983e(0xf7)])||_0x3a983e(0xfc),'pluginId':getTrimmedString(_0x43733b['id'])||getTrimmedString(_0x1cbeec[_0x3a983e(0x104)+'Id'])||basename(_0x8ee3b8)};}export async function readPluginManifest(_0x4f732b){const _0x106457=_0x24bd,_0x3c45bb=join(_0x4f732b,_0x106457(0x104)+_0x106457(0x103)+_0x106457(0xf2)),_0x2f5475=await readJson(_0x3c45bb,{});return asRecord(_0x2f5475);}export async function hasFile(_0x2cac33){const _0x3efe24=_0x24bd;try{const _0x49f51b=await stat(_0x2cac33);return _0x49f51b[_0x3efe24(0xfb)]();}catch{return![];}}export function toRuntimeRelative(_0x3b5098,_0x4c08e6){const _0x1d3a33=_0x24bd;return relative(_0x3b5098,_0x4c08e6)[_0x1d3a33(0xf5)+'ll']('\x5c','/');}function _0x4cc0(){const _0x10d41a=['package.','map','replaceA','string','version','name','10217340KvHOXf','filter','isFile','0.0.0','object','8915568bgQYkT','5751984RAewVC','2tpIHqi','parse','1056568nIxZiU','.plugin.','openclaw','9irrwjF','2905950ByWXRH','isDirect','trim','utf8','9051230WpKqTL','27hLKkuw','isArray','1399583ZzBofj','json'];_0x4cc0=function(){return _0x10d41a;};return _0x4cc0();}
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.3",
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.3",
31
+ "@wujie-shell/logger": "0.1.3"
31
32
  },
32
33
  "scripts": {
33
34
  "build": "node ../../scripts/build-packages.mjs --package @wujie-shell/core"