@wujie-shell/core 3.0.0 → 3.0.1

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.
Files changed (40) hide show
  1. package/dist/bin/wujie-shell.mjs +1 -1
  2. package/dist/src/agents/bundled-agent-skills.mjs +1 -1
  3. package/dist/src/agents/bundled-agents.mjs +1 -1
  4. package/dist/src/chat/media-archive.mjs +1 -1
  5. package/dist/src/chat/queue.mjs +1 -1
  6. package/dist/src/common/diagnostics.mjs +1 -1
  7. package/dist/src/common/logging.mjs +1 -1
  8. package/dist/src/common/runtime-logger.mjs +1 -1
  9. package/dist/src/common/user-events.mjs +1 -1
  10. package/dist/src/common/utils.mjs +1 -1
  11. package/dist/src/config/controller.mjs +1 -1
  12. package/dist/src/connectors/config-utils.mjs +1 -1
  13. package/dist/src/connectors/constants.mjs +1 -1
  14. package/dist/src/connectors/controller.mjs +1 -1
  15. package/dist/src/connectors/kdocs-cli.mjs +1 -1
  16. package/dist/src/electron/main.mjs +1 -1
  17. package/dist/src/electron/preload.mjs +1 -1
  18. package/dist/src/files/generated-files-store.mjs +1 -1
  19. package/dist/src/files/handlers.mjs +1 -1
  20. package/dist/src/gateway/chat-delta.mjs +1 -1
  21. package/dist/src/gateway/controller.mjs +1 -1
  22. package/dist/src/gateway/ws-client.mjs +1 -1
  23. package/dist/src/index.mjs +1 -1
  24. package/dist/src/log-reporting/handlers.mjs +1 -1
  25. package/dist/src/log-reporting/report-logs.mjs +1 -1
  26. package/dist/src/models/handlers.mjs +1 -1
  27. package/dist/src/preferences/store.mjs +1 -1
  28. package/dist/src/runtime/index.mjs +1 -1
  29. package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
  30. package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
  31. package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -1
  32. package/dist/src/runtime/plugin-sync.mjs +1 -1
  33. package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
  34. package/dist/src/sessions/runtime-bridge.mjs +1 -1
  35. package/dist/src/sessions/session-sqlite-store.mjs +1 -1
  36. package/dist/src/skills/import.mjs +1 -1
  37. package/dist/src/skills/market.mjs +1 -1
  38. package/dist/src/terminal/manager.mjs +1 -1
  39. package/dist/src/updates/controller.mjs +1 -1
  40. package/package.json +3 -3
@@ -1 +1 @@
1
- const _0x3a21d1=_0x2497;(function(_0x4f56c2,_0x231131){const _0x1fd0de=_0x2497,_0xc4f4b8=_0x4f56c2();while(!![]){try{const _0x4867f6=parseInt(_0x1fd0de(0x1cc))/0x1+-parseInt(_0x1fd0de(0x1de))/0x2*(parseInt(_0x1fd0de(0x1da))/0x3)+-parseInt(_0x1fd0de(0x1d9))/0x4*(-parseInt(_0x1fd0de(0x1f0))/0x5)+-parseInt(_0x1fd0de(0x1e4))/0x6*(-parseInt(_0x1fd0de(0x1ce))/0x7)+-parseInt(_0x1fd0de(0x1ee))/0x8+parseInt(_0x1fd0de(0x1c6))/0x9*(parseInt(_0x1fd0de(0x1d0))/0xa)+-parseInt(_0x1fd0de(0x1d4))/0xb;if(_0x4867f6===_0x231131)break;else _0xc4f4b8['push'](_0xc4f4b8['shift']());}catch(_0x527542){_0xc4f4b8['push'](_0xc4f4b8['shift']());}}}(_0x2ca4,0xde1a0));import{readFile,readdir,rm}from'node:fs/promises';import{join}from'node:path';import{asRecord,getTrimmedString,writeJson}from'../common/utils.mjs';const SKILL_SOURCE_MARKET=_0x3a21d1(0x1e9)+_0x3a21d1(0x1cd);function _0x2497(_0x1424bd,_0xfe8056){_0x1424bd=_0x1424bd-0x1bb;const _0x2ca424=_0x2ca4();let _0x2497c6=_0x2ca424[_0x1424bd];return _0x2497c6;}async function readMarketSkillRegistry(_0x56f808){const _0x40045c=_0x3a21d1;try{const _0x1ac562=JSON[_0x40045c(0x1f1)](await readFile(_0x56f808,_0x40045c(0x1eb)));if(!_0x1ac562||typeof _0x1ac562!==_0x40045c(0x1c1)||Array[_0x40045c(0x1ed)](_0x1ac562))return{};return _0x1ac562;}catch{return{};}}export async function readSkillMarketRegistry(_0x36631e){const _0x57b072=_0x3a21d1;return await readMarketSkillRegistry(join(_0x36631e,_0x57b072(0x1e5)+_0x57b072(0x1dc)+'on'));}async function upsertMarketSkillRegistryEntry(_0x2604a8,_0x1bdc48,_0x54c0b8,_0x16fb03,_0x50b93c={}){const _0x5d1556=_0x3a21d1,_0xf7a846=getTrimmedString(_0x1bdc48),_0x2393c7=getTrimmedString(_0x54c0b8),_0xfd9ec5=getTrimmedString(_0x16fb03);if(!_0xf7a846||!_0x2393c7||!_0xfd9ec5)return;const _0x268156=await readMarketSkillRegistry(_0x2604a8);_0x268156[_0xf7a846]={'version':_0xfd9ec5,'code':_0x2393c7,...getTrimmedString(_0x50b93c[_0x5d1556(0x1f3)])?{'name':getTrimmedString(_0x50b93c[_0x5d1556(0x1f3)])}:{},...getTrimmedString(_0x50b93c[_0x5d1556(0x1ec)])?{'logo_url':getTrimmedString(_0x50b93c[_0x5d1556(0x1ec)])}:{},...getTrimmedString(_0x50b93c['descript'+_0x5d1556(0x1c7)])?{'description':getTrimmedString(_0x50b93c[_0x5d1556(0x1d2)+'ion'])}:{}};if(_0x268156[_0x2393c7]&&_0x2393c7!==_0xf7a846)delete _0x268156[_0x2393c7];for(const [_0x43043a,_0x2f8deb]of Object[_0x5d1556(0x1c2)](_0x268156)){if(_0x43043a!==_0xf7a846&&asRecord(_0x2f8deb)[_0x5d1556(0x1d5)]===_0x2393c7)delete _0x268156[_0x43043a];}const _0x500002=Object['fromEntr'+_0x5d1556(0x1e3)](Object['entries'](_0x268156)['sort'](([_0x239a2c],[_0x211b76])=>_0x239a2c[_0x5d1556(0x1d1)+_0x5d1556(0x1bf)](_0x211b76)));await writeJson(_0x2604a8,_0x500002);}async function removeMarketSkillRegistryKeys(_0x21891a,_0x4dc327){const _0x50c8ec=_0x3a21d1,_0x236780=new Set(_0x4dc327[_0x50c8ec(0x1f2)](getTrimmedString)[_0x50c8ec(0x1e6)](Boolean));if(_0x236780['size']===0x0)return;const _0x3062f4=await readMarketSkillRegistry(_0x21891a);let _0x43e55d=![];for(const _0x3fae32 of Object[_0x50c8ec(0x1be)](_0x3062f4)){const _0xe38711=asRecord(_0x3062f4[_0x3fae32]);(_0x236780[_0x50c8ec(0x1ef)](_0x3fae32)||_0x236780[_0x50c8ec(0x1ef)](getTrimmedString(_0xe38711[_0x50c8ec(0x1d5)])))&&(delete _0x3062f4[_0x3fae32],_0x43e55d=!![]);}if(_0x43e55d){const _0x165c05=Object[_0x50c8ec(0x1d3)+_0x50c8ec(0x1e3)](Object[_0x50c8ec(0x1c2)](_0x3062f4)['sort'](([_0x223290],[_0x313ce0])=>_0x223290['localeCo'+_0x50c8ec(0x1bf)](_0x313ce0)));await writeJson(_0x21891a,_0x165c05);}}async function readSkillManifestText(_0x4115c1){const _0x1c24d5=_0x3a21d1,_0x57b0fe=[join(_0x4115c1,'SKILL.md'),join(_0x4115c1,_0x1c24d5(0x1cb)+'d')];for(const _0x4765ed of _0x57b0fe){const _0x2aebea=await readFile(_0x4765ed,'utf8')[_0x1c24d5(0x1d6)](()=>'');if(_0x2aebea[_0x1c24d5(0x1e2)]())return _0x2aebea;}return'';}function resolveFrontmatterValue(_0x120864,_0x59f519){const _0xa7adc=_0x3a21d1,_0x1b09bf=_0x120864['match'](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x2f6485=_0x1b09bf?.[0x1]??'',_0x1a4296=_0x2f6485[_0xa7adc(0x1bb)](new RegExp(_0xa7adc(0x1cf)+_0x59f519+(_0xa7adc(0x1bc)+'$'),'m'))?.[0x1];return getTrimmedString(_0x1a4296)[_0xa7adc(0x1f5)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x43abbb){const _0x78f888=_0x3a21d1,_0x3431c9=await readSkillManifestText(_0x43abbb);if(!_0x3431c9[_0x78f888(0x1e2)]())return null;const _0x57eb54=_0x3431c9[_0x78f888(0x1bb)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x57eb54?.[0x1])return getTrimmedString(_0x57eb54[0x1]);return resolveFrontmatterValue(_0x3431c9,_0x78f888(0x1c9))||resolveFrontmatterValue(_0x3431c9,_0x78f888(0x1f3));}async function removeOtherMarketSkillVersions(_0x336c5b,_0x1947c4,_0x10950b){const _0x3d4afa=_0x3a21d1,_0x3e1fe6=getTrimmedString(_0x10950b);if(!_0x3e1fe6)return;for(const _0x3b0f41 of await readdir(_0x336c5b,{'withFileTypes':!![]})[_0x3d4afa(0x1d6)](()=>[])){if(!_0x3b0f41[_0x3d4afa(0x1f4)+_0x3d4afa(0x1d8)]())continue;const _0x5b9d57=join(_0x336c5b,_0x3b0f41[_0x3d4afa(0x1f3)]);if(_0x5b9d57===_0x1947c4)continue;const _0xe28fd7=await resolveSkillKeyFromManifest(_0x5b9d57);_0xe28fd7&&_0xe28fd7[_0x3d4afa(0x1e2)]()===_0x3e1fe6&&await rm(_0x5b9d57,{'recursive':!![],'force':!![]});}}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x2470a2,configController:_0x4a3bce}={}){const _0x162632=_0x3a21d1,_0x132e57=asRecord(payload);if(_0x132e57[_0x162632(0x1d7)]!==_0x162632(0x1e8))return _0x2470a2({'payload':payload});const _0x2c0d84=getTrimmedString(_0x132e57[_0x162632(0x1d5)]),_0x1d173a=getTrimmedString(_0x132e57[_0x162632(0x1ea)]),_0x1b3073=getTrimmedString(_0x132e57[_0x162632(0x1f3)]);if(!_0x2c0d84)throw new Error(_0x162632(0x1c4)+_0x162632(0x1df)+'de');if(!_0x1d173a)throw new Error(_0x162632(0x1c4)+_0x162632(0x1bd)+'rsion');if(!_0x1b3073)throw new Error(_0x162632(0x1c4)+'接口返回的\x20na'+'me');const _0x3cf450=await _0x2470a2({'payload':{..._0x132e57,'version':_0x1d173a}});if(!_0x3cf450?.[_0x162632(0x1c3)])return _0x3cf450;const _0x4ca5b4=getTrimmedString(_0x3cf450[_0x162632(0x1c9)])||getTrimmedString(_0x3cf450[_0x162632(0x1c5)+_0x162632(0x1e0)])||getTrimmedString(_0x3cf450[_0x162632(0x1c0)+_0x162632(0x1c8)]);return await removeOtherMarketSkillVersions(join(_0x4a3bce['resolveS'+'tateDir'](),_0x162632(0x1e7)),_0x3cf450[_0x162632(0x1ca)+'th'],_0x4ca5b4),await upsertMarketSkillRegistryEntry(join(_0x4a3bce[_0x162632(0x1db)+_0x162632(0x1e1)](),_0x162632(0x1e5)+'kills.js'+'on'),_0x4ca5b4,_0x2c0d84,_0x1d173a,{'name':_0x1b3073,'logoUrl':getTrimmedString(_0x132e57['logoUrl']),'description':getTrimmedString(_0x132e57[_0x162632(0x1d2)+_0x162632(0x1c7)])}),_0x3cf450;}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x3f8128,configController:_0x39206f}={}){const _0x400d12=_0x3a21d1,_0x545921=await _0x3f8128({'payload':payload}),_0x2226bd=asRecord(payload),_0xa8fcf0=getTrimmedString(_0x545921?.[_0x400d12(0x1c9)]??_0x2226bd[_0x400d12(0x1c9)]??_0x2226bd['name']),_0x861a4d=[_0xa8fcf0,getTrimmedString(_0x2226bd['gatewayS'+'killKey']),getTrimmedString(_0x2226bd[_0x400d12(0x1f3)])];return await removeMarketSkillRegistryKeys(join(_0x39206f[_0x400d12(0x1db)+_0x400d12(0x1e1)](),_0x400d12(0x1e5)+'kills.js'+'on'),_0x861a4d),_0x545921;}export function mapMarketRegisteredSkills(_0x4f39cd,_0x58e212){const _0x87477d=_0x3a21d1,_0x1af9b7=Array[_0x87477d(0x1ed)](asRecord(_0x4f39cd)[_0x87477d(0x1e7)])?asRecord(_0x4f39cd)[_0x87477d(0x1e7)]:[];if(_0x1af9b7[_0x87477d(0x1dd)]===0x0||Object[_0x87477d(0x1be)](_0x58e212)[_0x87477d(0x1dd)]===0x0)return _0x4f39cd;const _0x202ae2=_0x1af9b7[_0x87477d(0x1f2)](_0x26b177=>{const _0x2caea2=_0x87477d,_0xbd80b0=asRecord(_0x26b177),_0x3e7604=getTrimmedString(_0xbd80b0[_0x2caea2(0x1c9)])||getTrimmedString(_0xbd80b0[_0x2caea2(0x1f3)]);let _0x34ff8c=_0x3e7604,_0x2f0009=asRecord(_0x58e212[_0x3e7604]);if(!Object[_0x2caea2(0x1be)](_0x2f0009)['length'])for(const [_0x327c05,_0x5186ed]of Object[_0x2caea2(0x1c2)](_0x58e212)){const _0x5158d9=asRecord(_0x5186ed);if(getTrimmedString(_0x5158d9['code'])===_0x3e7604){_0x34ff8c=_0x327c05,_0x2f0009=_0x5158d9;break;}}if(!Object[_0x2caea2(0x1be)](_0x2f0009)[_0x2caea2(0x1dd)])return _0x26b177;const _0x1c20aa=getTrimmedString(_0x2f0009['code']),_0x16a41a=getTrimmedString(_0x2f0009[_0x2caea2(0x1f3)]),_0x200428=getTrimmedString(_0x2f0009[_0x2caea2(0x1d2)+_0x2caea2(0x1c7)]),_0x3f2675=getTrimmedString(_0x2f0009['logo_url']),_0x38b567=getTrimmedString(_0x2f0009[_0x2caea2(0x1ea)]);return{..._0xbd80b0,'source':SKILL_SOURCE_MARKET,'skillKey':_0x1c20aa||_0x3e7604,'gatewaySkillKey':_0x1c20aa?_0x34ff8c:null,'marketInstalledVersion':_0x38b567||null,..._0x16a41a?{'name':_0x16a41a}:{},..._0x200428?{'description':_0x200428}:{},..._0x3f2675?{'logoUrl':_0x3f2675}:{}};});return{...asRecord(_0x4f39cd),'skills':_0x202ae2};}export function createMarketSkillRuntime({configController:_0x1cd909}){return{'mapSkillsStatus':async _0x386e64=>{const _0x25db42=_0x2497,_0x3cf7a6=await readSkillMarketRegistry(_0x1cd909['resolveS'+_0x25db42(0x1e1)]())[_0x25db42(0x1d6)](()=>({}));return mapMarketRegisteredSkills(_0x386e64,_0x3cf7a6);}};}function _0x2ca4(){const _0x4379ef=['4777787BaCdGQ','^\x5cs*','60tfZYsX','localeCo','descript','fromEntr','14045262IKHNer','code','catch','source','ory','1970444qvcIYb','5055186ZalewN','resolveS','kills.js','length','2joqJQx','接口返回的\x20co','Key','tateDir','trim','ies','6PfiYsT','market-s','filter','skills','market','aipc-mar','version','utf8','logoUrl','isArray','1174184SCTTIS','has','5bvXSsD','parse','map','name','isDirect','replace','match',':\x5cs*(.+)','接口返回的\x20ve','keys','mpare','skillDir','object','entries','imported','技能商店安装需要','manifest','2178963ylRyYy','ion','Name','skillKey','targetPa','SKILLS.m','1390611NVWGJq','ket'];_0x2ca4=function(){return _0x4379ef;};return _0x2ca4();}
1
+ function _0x5ed5(_0x40b5c1,_0x22eec5){_0x40b5c1=_0x40b5c1-0x1b2;const _0x373f39=_0x373f();let _0x5ed5db=_0x373f39[_0x40b5c1];return _0x5ed5db;}const _0xf40333=_0x5ed5;(function(_0x1b65ff,_0x3f50a7){const _0x590333=_0x5ed5,_0x197cb6=_0x1b65ff();while(!![]){try{const _0x4f3a32=-parseInt(_0x590333(0x1eb))/0x1+-parseInt(_0x590333(0x1cb))/0x2+-parseInt(_0x590333(0x1dc))/0x3+-parseInt(_0x590333(0x1ce))/0x4*(parseInt(_0x590333(0x1de))/0x5)+parseInt(_0x590333(0x1e2))/0x6+parseInt(_0x590333(0x1c9))/0x7*(-parseInt(_0x590333(0x1b9))/0x8)+parseInt(_0x590333(0x1d8))/0x9;if(_0x4f3a32===_0x3f50a7)break;else _0x197cb6['push'](_0x197cb6['shift']());}catch(_0x127b10){_0x197cb6['push'](_0x197cb6['shift']());}}}(_0x373f,0xb3266));import{readFile,readdir,rm}from'node:fs/promises';import{join}from'node:path';import{asRecord,getTrimmedString,writeJson}from'../common/utils.mjs';const SKILL_SOURCE_MARKET='aipc-mar'+_0xf40333(0x1d5);function _0x373f(){const _0x3e5237=['map','15NyYMeq','descript','size','skills','1046412iDHgHa','version','utf8','name','gatewayS','catch','Key','isArray','^\x5cs*','1004137ekxxiQ','tateDir','targetPa','market','SKILL.md','killKey','match',':\x5cs*(.+)','3032vTPZVC','sort','kills.js','接口返回的\x20co','SKILLS.m','parse','filter','trim','fromEntr','localeCo','imported','mpare','ory','keys','length','resolveS','18613biTCoV','ies','1085284CrSBFO','entries','技能商店安装需要','1676348FnFxmL','market-s','skillKey','skillDir','code','接口返回的\x20na','isDirect','ket','ion','source','50348115bfvpbN','has','logo_url','logoUrl','3669114IpdVDq'];_0x373f=function(){return _0x3e5237;};return _0x373f();}async function readMarketSkillRegistry(_0x228cc7){const _0x3336f4=_0xf40333;try{const _0x1852cf=JSON[_0x3336f4(0x1be)](await readFile(_0x228cc7,_0x3336f4(0x1e4)));if(!_0x1852cf||typeof _0x1852cf!=='object'||Array[_0x3336f4(0x1e9)](_0x1852cf))return{};return _0x1852cf;}catch{return{};}}export async function readSkillMarketRegistry(_0x52d261){const _0x43a5d9=_0xf40333;return await readMarketSkillRegistry(join(_0x52d261,'market-s'+_0x43a5d9(0x1bb)+'on'));}async function upsertMarketSkillRegistryEntry(_0x12a6be,_0x241f28,_0x239ce1,_0x390613,_0x35240e={}){const _0x21f1b7=_0xf40333,_0x38e981=getTrimmedString(_0x241f28),_0x22a76a=getTrimmedString(_0x239ce1),_0x5928fb=getTrimmedString(_0x390613);if(!_0x38e981||!_0x22a76a||!_0x5928fb)return;const _0x561276=await readMarketSkillRegistry(_0x12a6be);_0x561276[_0x38e981]={'version':_0x5928fb,'code':_0x22a76a,...getTrimmedString(_0x35240e[_0x21f1b7(0x1e5)])?{'name':getTrimmedString(_0x35240e[_0x21f1b7(0x1e5)])}:{},...getTrimmedString(_0x35240e[_0x21f1b7(0x1db)])?{'logo_url':getTrimmedString(_0x35240e['logoUrl'])}:{},...getTrimmedString(_0x35240e['descript'+_0x21f1b7(0x1d6)])?{'description':getTrimmedString(_0x35240e['descript'+_0x21f1b7(0x1d6)])}:{}};if(_0x561276[_0x22a76a]&&_0x22a76a!==_0x38e981)delete _0x561276[_0x22a76a];for(const [_0x261f15,_0x1c7caa]of Object[_0x21f1b7(0x1cc)](_0x561276)){if(_0x261f15!==_0x38e981&&asRecord(_0x1c7caa)[_0x21f1b7(0x1d2)]===_0x22a76a)delete _0x561276[_0x261f15];}const _0x5ac953=Object['fromEntr'+_0x21f1b7(0x1ca)](Object[_0x21f1b7(0x1cc)](_0x561276)[_0x21f1b7(0x1ba)](([_0x56cdbb],[_0x2a03b7])=>_0x56cdbb[_0x21f1b7(0x1c2)+_0x21f1b7(0x1c4)](_0x2a03b7)));await writeJson(_0x12a6be,_0x5ac953);}async function removeMarketSkillRegistryKeys(_0x4d6960,_0x287c64){const _0x24c20d=_0xf40333,_0x17c249=new Set(_0x287c64[_0x24c20d(0x1dd)](getTrimmedString)[_0x24c20d(0x1bf)](Boolean));if(_0x17c249[_0x24c20d(0x1e0)]===0x0)return;const _0x115d8c=await readMarketSkillRegistry(_0x4d6960);let _0x1f72d7=![];for(const _0x3d02fc of Object[_0x24c20d(0x1c6)](_0x115d8c)){const _0x224985=asRecord(_0x115d8c[_0x3d02fc]);(_0x17c249[_0x24c20d(0x1d9)](_0x3d02fc)||_0x17c249[_0x24c20d(0x1d9)](getTrimmedString(_0x224985[_0x24c20d(0x1d2)])))&&(delete _0x115d8c[_0x3d02fc],_0x1f72d7=!![]);}if(_0x1f72d7){const _0x228709=Object[_0x24c20d(0x1c1)+_0x24c20d(0x1ca)](Object['entries'](_0x115d8c)['sort'](([_0x2b7d26],[_0xc70296])=>_0x2b7d26['localeCo'+_0x24c20d(0x1c4)](_0xc70296)));await writeJson(_0x4d6960,_0x228709);}}async function readSkillManifestText(_0x1199c2){const _0x3cae6e=_0xf40333,_0x276405=[join(_0x1199c2,_0x3cae6e(0x1b5)),join(_0x1199c2,_0x3cae6e(0x1bd)+'d')];for(const _0x1b2240 of _0x276405){const _0x282223=await readFile(_0x1b2240,_0x3cae6e(0x1e4))[_0x3cae6e(0x1e7)](()=>'');if(_0x282223[_0x3cae6e(0x1c0)]())return _0x282223;}return'';}function resolveFrontmatterValue(_0x41de95,_0x38bf27){const _0x52834d=_0xf40333,_0x3b9b9e=_0x41de95[_0x52834d(0x1b7)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x710dd7=_0x3b9b9e?.[0x1]??'',_0x15d211=_0x710dd7[_0x52834d(0x1b7)](new RegExp(_0x52834d(0x1ea)+_0x38bf27+(_0x52834d(0x1b8)+'$'),'m'))?.[0x1];return getTrimmedString(_0x15d211)['replace'](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x1746fd){const _0x27ef0f=_0xf40333,_0x249b6f=await readSkillManifestText(_0x1746fd);if(!_0x249b6f[_0x27ef0f(0x1c0)]())return null;const _0x64f281=_0x249b6f[_0x27ef0f(0x1b7)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x64f281?.[0x1])return getTrimmedString(_0x64f281[0x1]);return resolveFrontmatterValue(_0x249b6f,'skillKey')||resolveFrontmatterValue(_0x249b6f,'name');}async function removeOtherMarketSkillVersions(_0x27e5cb,_0x4bde58,_0x3d91a3){const _0x482d03=_0xf40333,_0x2a348c=getTrimmedString(_0x3d91a3);if(!_0x2a348c)return;for(const _0x1e37fb of await readdir(_0x27e5cb,{'withFileTypes':!![]})['catch'](()=>[])){if(!_0x1e37fb[_0x482d03(0x1d4)+_0x482d03(0x1c5)]())continue;const _0x4575f9=join(_0x27e5cb,_0x1e37fb[_0x482d03(0x1e5)]);if(_0x4575f9===_0x4bde58)continue;const _0x13d453=await resolveSkillKeyFromManifest(_0x4575f9);_0x13d453&&_0x13d453[_0x482d03(0x1c0)]()===_0x2a348c&&await rm(_0x4575f9,{'recursive':!![],'force':!![]});}}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x52588b,configController:_0x353929}={}){const _0x57056f=_0xf40333,_0x21e1e9=asRecord(payload);if(_0x21e1e9[_0x57056f(0x1d7)]!==_0x57056f(0x1b4))return _0x52588b({'payload':payload});const _0xb636af=getTrimmedString(_0x21e1e9[_0x57056f(0x1d2)]),_0x41324e=getTrimmedString(_0x21e1e9[_0x57056f(0x1e3)]),_0x249ee5=getTrimmedString(_0x21e1e9[_0x57056f(0x1e5)]);if(!_0xb636af)throw new Error(_0x57056f(0x1cd)+_0x57056f(0x1bc)+'de');if(!_0x41324e)throw new Error(_0x57056f(0x1cd)+'接口返回的\x20ve'+'rsion');if(!_0x249ee5)throw new Error('技能商店安装需要'+_0x57056f(0x1d3)+'me');const _0x4c0ec9=await _0x52588b({'payload':{..._0x21e1e9,'version':_0x41324e}});if(!_0x4c0ec9?.[_0x57056f(0x1c3)])return _0x4c0ec9;const _0x1f6bca=getTrimmedString(_0x4c0ec9[_0x57056f(0x1d0)])||getTrimmedString(_0x4c0ec9['manifest'+_0x57056f(0x1e8)])||getTrimmedString(_0x4c0ec9[_0x57056f(0x1d1)+'Name']);return await removeOtherMarketSkillVersions(join(_0x353929[_0x57056f(0x1c8)+_0x57056f(0x1b2)](),_0x57056f(0x1e1)),_0x4c0ec9[_0x57056f(0x1b3)+'th'],_0x1f6bca),await upsertMarketSkillRegistryEntry(join(_0x353929['resolveS'+'tateDir'](),_0x57056f(0x1cf)+_0x57056f(0x1bb)+'on'),_0x1f6bca,_0xb636af,_0x41324e,{'name':_0x249ee5,'logoUrl':getTrimmedString(_0x21e1e9[_0x57056f(0x1db)]),'description':getTrimmedString(_0x21e1e9[_0x57056f(0x1df)+_0x57056f(0x1d6)])}),_0x4c0ec9;}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x312725,configController:_0x4bd06f}={}){const _0x26a643=_0xf40333,_0xf3348f=await _0x312725({'payload':payload}),_0xae6b06=asRecord(payload),_0x299a26=getTrimmedString(_0xf3348f?.['skillKey']??_0xae6b06[_0x26a643(0x1d0)]??_0xae6b06[_0x26a643(0x1e5)]),_0x1ff694=[_0x299a26,getTrimmedString(_0xae6b06[_0x26a643(0x1e6)+_0x26a643(0x1b6)]),getTrimmedString(_0xae6b06['name'])];return await removeMarketSkillRegistryKeys(join(_0x4bd06f[_0x26a643(0x1c8)+_0x26a643(0x1b2)](),_0x26a643(0x1cf)+_0x26a643(0x1bb)+'on'),_0x1ff694),_0xf3348f;}export function mapMarketRegisteredSkills(_0x4d4eb8,_0x25eeb3){const _0x474ca8=_0xf40333,_0x1ab372=Array[_0x474ca8(0x1e9)](asRecord(_0x4d4eb8)['skills'])?asRecord(_0x4d4eb8)[_0x474ca8(0x1e1)]:[];if(_0x1ab372[_0x474ca8(0x1c7)]===0x0||Object[_0x474ca8(0x1c6)](_0x25eeb3)['length']===0x0)return _0x4d4eb8;const _0x9784e6=_0x1ab372[_0x474ca8(0x1dd)](_0xee42fc=>{const _0x208d8c=_0x474ca8,_0x31f60c=asRecord(_0xee42fc),_0x2f56b8=getTrimmedString(_0x31f60c['skillKey'])||getTrimmedString(_0x31f60c[_0x208d8c(0x1e5)]);let _0x2005a5=_0x2f56b8,_0x1135ea=asRecord(_0x25eeb3[_0x2f56b8]);if(!Object[_0x208d8c(0x1c6)](_0x1135ea)[_0x208d8c(0x1c7)])for(const [_0x1bf489,_0x1f5585]of Object['entries'](_0x25eeb3)){const _0x452284=asRecord(_0x1f5585);if(getTrimmedString(_0x452284[_0x208d8c(0x1d2)])===_0x2f56b8){_0x2005a5=_0x1bf489,_0x1135ea=_0x452284;break;}}if(!Object[_0x208d8c(0x1c6)](_0x1135ea)[_0x208d8c(0x1c7)])return _0xee42fc;const _0x121fba=getTrimmedString(_0x1135ea['code']),_0x634d9c=getTrimmedString(_0x1135ea[_0x208d8c(0x1e5)]),_0x412f8d=getTrimmedString(_0x1135ea[_0x208d8c(0x1df)+_0x208d8c(0x1d6)]),_0x53e8f3=getTrimmedString(_0x1135ea[_0x208d8c(0x1da)]),_0x58e3ee=getTrimmedString(_0x1135ea['version']);return{..._0x31f60c,'source':SKILL_SOURCE_MARKET,'skillKey':_0x121fba||_0x2f56b8,'gatewaySkillKey':_0x121fba?_0x2005a5:null,'marketInstalledVersion':_0x58e3ee||null,..._0x634d9c?{'name':_0x634d9c}:{},..._0x412f8d?{'description':_0x412f8d}:{},..._0x53e8f3?{'logoUrl':_0x53e8f3}:{}};});return{...asRecord(_0x4d4eb8),'skills':_0x9784e6};}export function createMarketSkillRuntime({configController:_0x1275a0}){return{'mapSkillsStatus':async _0x598616=>{const _0x87b863=_0x5ed5,_0x5ca7cc=await readSkillMarketRegistry(_0x1275a0['resolveS'+_0x87b863(0x1b2)]())[_0x87b863(0x1e7)](()=>({}));return mapMarketRegisteredSkills(_0x598616,_0x5ca7cc);}};}
@@ -1 +1 @@
1
- function _0x32d1(){const _0x477226=['2600409bSbRXJ','1236448ucfanO','kill','split','truecolo','.cmd','toString','write','toLowerC','2fbSfFS','ll\x20found','find','string','cwd','keys','rted\x20she','120MJMHLc','xterm-25','dows\x20she','platform','filter','3170382SSIQCS','delete','push','n/bash','includes','ebrew/bi','32948PyAqaq','/bin/bas','-NoLogo','6134980gjCKEr','--login','env','3705592MFfdyY','\x20session','message','F_OK','trim','close','.exe','set','darwin','6color','values','al/bin/z','PATH','ase','/opt/hom','cmd','16ZcIZux','stderr','child','sessionI','win32','stdin','Terminal','14wgyMTW','/usr/loc','3358188aDgSVn','n/zsh','pwsh','.bat','675IcrEAB','data','ash'];_0x32d1=function(){return _0x477226;};return _0x32d1();}(function(_0x4bb55d,_0x2f285a){const _0x109faf=_0x16ae,_0x202489=_0x4bb55d();while(!![]){try{const _0x4128a4=-parseInt(_0x109faf(0x126))/0x1+parseInt(_0x109faf(0x12e))/0x2*(parseInt(_0x109faf(0x125))/0x3)+parseInt(_0x109faf(0x140))/0x4*(-parseInt(_0x109faf(0x122))/0x5)+parseInt(_0x109faf(0x13a))/0x6*(-parseInt(_0x109faf(0x11c))/0x7)+-parseInt(_0x109faf(0x115))/0x8*(parseInt(_0x109faf(0x11e))/0x9)+parseInt(_0x109faf(0x143))/0xa+-parseInt(_0x109faf(0x146))/0xb*(-parseInt(_0x109faf(0x135))/0xc);if(_0x4128a4===_0x2f285a)break;else _0x202489['push'](_0x202489['shift']());}catch(_0x46387a){_0x202489['push'](_0x202489['shift']());}}}(_0x32d1,0xaa4b0));import{spawn}from'node:child_process';import{randomUUID}from'node:crypto';import{accessSync,constants,existsSync}from'node:fs';import{mkdir}from'node:fs/promises';import{basename,delimiter,join}from'node:path';const FILE_EXTENSION_REGEX=/\.[a-z0-9]+$/i;function resolvePathEntries(_0x229dd8){const _0xd88903=_0x16ae,_0x3e9960=Object[_0xd88903(0x133)](_0x229dd8)[_0xd88903(0x130)](_0x22e424=>_0x22e424[_0xd88903(0x12d)+_0xd88903(0x112)]()==='path')??_0xd88903(0x111);return String(_0x229dd8[_0x3e9960]||'')[_0xd88903(0x128)](delimiter)[_0xd88903(0x139)](Boolean);}function canExecute(_0x3edbc0){const _0x4c6088=_0x16ae;try{return accessSync(_0x3edbc0,process[_0x4c6088(0x138)]===_0x4c6088(0x119)?constants[_0x4c6088(0x149)]:constants['X_OK']),!![];}catch{return![];}}function _0x16ae(_0x128675,_0x6cdcdd){_0x128675=_0x128675-0x10e;const _0x32d11f=_0x32d1();let _0x16ae4b=_0x32d11f[_0x128675];return _0x16ae4b;}function resolveExecutableOnPath(_0x56dd68,_0x3d4e82){const _0x270297=_0x16ae,_0x4e3b5a=String(_0x56dd68||'')['trim']();if(!_0x4e3b5a)return null;if(_0x4e3b5a[_0x270297(0x13e)]('/')||_0x4e3b5a[_0x270297(0x13e)]('\x5c'))return existsSync(_0x4e3b5a)?_0x4e3b5a:null;const _0xe619f3=[_0x4e3b5a];process[_0x270297(0x138)]===_0x270297(0x119)&&!FILE_EXTENSION_REGEX['test'](_0x4e3b5a)&&_0xe619f3[_0x270297(0x13c)](_0x4e3b5a+_0x270297(0x14c),_0x4e3b5a+_0x270297(0x12a),_0x4e3b5a+_0x270297(0x121));for(const _0x193398 of resolvePathEntries(_0x3d4e82)){for(const _0x2a5a23 of _0xe619f3){const _0x3fbbf8=join(_0x193398,_0x2a5a23);if(canExecute(_0x3fbbf8))return _0x3fbbf8;}}return null;}function resolveShellLaunchConfig(_0x343980){const _0x3355d8=_0x16ae;if(process[_0x3355d8(0x138)]===_0x3355d8(0x119)){const _0x529190=resolveExecutableOnPath(_0x3355d8(0x120),_0x343980)??resolveExecutableOnPath('powershe'+'ll',_0x343980);if(_0x529190)return{'command':_0x529190,'args':[_0x3355d8(0x142)]};const _0x3d6290=resolveExecutableOnPath(_0x3355d8(0x114),_0x343980);if(_0x3d6290)return{'command':_0x3d6290,'args':['/Q']};throw new Error('No\x20suppo'+'rted\x20Win'+_0x3355d8(0x137)+_0x3355d8(0x12f));}if(process[_0x3355d8(0x138)]===_0x3355d8(0x14e)){const _0x234c61=['/bin/zsh',_0x3355d8(0x11d)+_0x3355d8(0x110)+'sh','/opt/hom'+_0x3355d8(0x13f)+_0x3355d8(0x11f)][_0x3355d8(0x130)](canExecute);if(_0x234c61)return{'command':_0x234c61,'args':['-i']};const _0x3db00e=[_0x3355d8(0x141)+'h',_0x3355d8(0x11d)+'al/bin/b'+_0x3355d8(0x124),_0x3355d8(0x113)+'ebrew/bi'+_0x3355d8(0x13d)][_0x3355d8(0x130)](canExecute);if(_0x3db00e)return{'command':_0x3db00e,'args':[_0x3355d8(0x144),'-i']};}const _0x366df0=resolveExecutableOnPath(process.env.SHELL||'',_0x343980)??resolveExecutableOnPath('bash',_0x343980)??resolveExecutableOnPath('sh',_0x343980);if(!_0x366df0)throw new Error('No\x20suppo'+_0x3355d8(0x134)+'ll\x20found');return{'command':_0x366df0,'args':['-l','-i']};}export function createTerminalManager({cwd:_0x38b17b,emitData:_0xe349ea,emitExit:_0x36149f}){const _0x3a81dc=new Map();function _0x2df1c1(_0x3157da){const _0x45fe5d=_0x16ae,_0x360ffe=_0x3a81dc['get'](_0x3157da);if(!_0x360ffe)throw new Error(_0x45fe5d(0x11b)+_0x45fe5d(0x147)+'\x20not\x20fou'+'nd');return _0x360ffe;}async function _0x1d27cc(_0x421540={}){const _0xfe1adc=_0x16ae,_0x44164d={...process.env,'TERM':_0xfe1adc(0x136)+_0xfe1adc(0x10e),'COLORTERM':_0xfe1adc(0x129)+'r',..._0x421540[_0xfe1adc(0x145)]&&typeof _0x421540[_0xfe1adc(0x145)]==='object'?_0x421540[_0xfe1adc(0x145)]:{}},_0xa8b3=typeof _0x421540[_0xfe1adc(0x132)]===_0xfe1adc(0x131)&&_0x421540[_0xfe1adc(0x132)][_0xfe1adc(0x14a)]()?_0x421540[_0xfe1adc(0x132)]:'',_0x5bdfd7=_0xa8b3||_0x38b17b;await mkdir(_0x5bdfd7,{'recursive':!![]});const {command:_0x5c2995,args:_0x4e8383}=resolveShellLaunchConfig(_0x44164d),_0x44d5ae=randomUUID(),_0x483391=spawn(_0x5c2995,_0x4e8383,{'cwd':_0x5bdfd7,'env':_0x44164d,'stdio':'pipe'});return _0x3a81dc[_0xfe1adc(0x14d)](_0x44d5ae,{'sessionId':_0x44d5ae,'child':_0x483391}),_0x483391['stdout']['on'](_0xfe1adc(0x123),_0x5997cf=>_0xe349ea({'sessionId':_0x44d5ae,'data':_0x5997cf[_0xfe1adc(0x12b)]()})),_0x483391[_0xfe1adc(0x116)]['on'](_0xfe1adc(0x123),_0x7abc24=>_0xe349ea({'sessionId':_0x44d5ae,'data':_0x7abc24[_0xfe1adc(0x12b)]()})),_0x483391['on'](_0xfe1adc(0x14b),(_0x55532c,_0x21030a)=>{const _0x3b939b=_0xfe1adc;_0x3a81dc[_0x3b939b(0x13b)](_0x44d5ae),_0x36149f({'sessionId':_0x44d5ae,'exitCode':_0x55532c,'signal':_0x21030a});}),_0x483391['on']('error',_0x69270c=>{const _0x63f447=_0xfe1adc;_0xe349ea({'sessionId':_0x44d5ae,'data':_0x69270c[_0x63f447(0x148)]+'\x0a'});}),{'sessionId':_0x44d5ae,'shell':basename(_0x5c2995),'cwd':_0x5bdfd7};}function _0x5731df(_0x5714d9={}){const _0x20c48a=_0x16ae,_0x22628d=_0x2df1c1(String(_0x5714d9[_0x20c48a(0x118)+'d']||''));return _0x22628d[_0x20c48a(0x117)][_0x20c48a(0x11a)][_0x20c48a(0x12c)](String(_0x5714d9[_0x20c48a(0x123)]||'')),{'ok':!![]};}function _0x144bb4(_0xf2c55d={}){const _0x25c6a6=_0x16ae,_0x2688ff=String(_0xf2c55d[_0x25c6a6(0x118)+'d']||'');return _0x2df1c1(_0x2688ff),{'ok':!![],'ignored':!![]};}function _0x1268b8(_0x893ac9={}){const _0x36914e=_0x16ae,_0x31a6c1=String(_0x893ac9['sessionI'+'d']||''),_0x36b368=_0x3a81dc['get'](_0x31a6c1);if(!_0x36b368)return{'ok':!![],'closed':![]};return _0x3a81dc['delete'](_0x31a6c1),_0x36b368[_0x36914e(0x117)]['kill'](),{'ok':!![],'closed':!![]};}function _0x5b07e5(){const _0x126006=_0x16ae;for(const _0x5ef73f of _0x3a81dc[_0x126006(0x10f)]())_0x5ef73f[_0x126006(0x117)][_0x126006(0x127)]();_0x3a81dc['clear']();}return{'create':_0x1d27cc,'input':_0x5731df,'resize':_0x144bb4,'close':_0x1268b8,'dispose':_0x5b07e5};}
1
+ (function(_0x1bb910,_0xf9ac2d){const _0x79b025=_0x2710,_0x174071=_0x1bb910();while(!![]){try{const _0x44d53f=parseInt(_0x79b025(0xb1))/0x1+-parseInt(_0x79b025(0xcd))/0x2*(parseInt(_0x79b025(0xe2))/0x3)+-parseInt(_0x79b025(0xac))/0x4+-parseInt(_0x79b025(0xd4))/0x5+parseInt(_0x79b025(0xcb))/0x6+parseInt(_0x79b025(0xc3))/0x7+parseInt(_0x79b025(0xb9))/0x8*(parseInt(_0x79b025(0xa7))/0x9);if(_0x44d53f===_0xf9ac2d)break;else _0x174071['push'](_0x174071['shift']());}catch(_0x55e78e){_0x174071['push'](_0x174071['shift']());}}}(_0x1069,0x56b04));import{spawn}from'node:child_process';import{randomUUID}from'node:crypto';import{accessSync,constants,existsSync}from'node:fs';import{mkdir}from'node:fs/promises';import{basename,delimiter,join}from'node:path';function _0x1069(){const _0x19b270=['No\x20suppo','ase','68100yGYmnm','ebrew/bi','/opt/hom','clear','--login','kill','data','child','bash','path','object','split','truecolo','n/zsh','3uxsbSg','pwsh','delete','platform','ll\x20found','.cmd','al/bin/z','get','718623vZcRhV','F_OK','al/bin/b','sessionI','write','1753312YMsYUE','.bat','\x20session','env','cmd','415960XDAzCW','n/bash','toLowerC','error','keys','pipe','toString','stdin','8avjpLK','string','push','includes','trim','darwin','cwd','set','/usr/loc','ash','4217325ETHxaM','values','win32','/bin/zsh','.exe','Terminal','rted\x20she','6color','617844TSdijg','find','788464hFwYQE','powershe','\x20not\x20fou','rted\x20Win','dows\x20she'];_0x1069=function(){return _0x19b270;};return _0x1069();}const FILE_EXTENSION_REGEX=/\.[a-z0-9]+$/i;function _0x2710(_0x31a45f,_0x158de9){_0x31a45f=_0x31a45f-0xa6;const _0x10693a=_0x1069();let _0x2710ac=_0x10693a[_0x31a45f];return _0x2710ac;}function resolvePathEntries(_0xb7a361){const _0x2232fc=_0x2710,_0x50363c=Object[_0x2232fc(0xb5)](_0xb7a361)[_0x2232fc(0xcc)](_0x1075d5=>_0x1075d5[_0x2232fc(0xb3)+_0x2232fc(0xd3)]()===_0x2232fc(0xdd))??'PATH';return String(_0xb7a361[_0x50363c]||'')[_0x2232fc(0xdf)](delimiter)['filter'](Boolean);}function canExecute(_0x5a3ccd){const _0x436bc8=_0x2710;try{return accessSync(_0x5a3ccd,process['platform']==='win32'?constants[_0x436bc8(0xa8)]:constants['X_OK']),!![];}catch{return![];}}function resolveExecutableOnPath(_0x53a07b,_0x1fc45c){const _0x12c276=_0x2710,_0x544f7c=String(_0x53a07b||'')['trim']();if(!_0x544f7c)return null;if(_0x544f7c[_0x12c276(0xbc)]('/')||_0x544f7c[_0x12c276(0xbc)]('\x5c'))return existsSync(_0x544f7c)?_0x544f7c:null;const _0x5495cb=[_0x544f7c];process['platform']===_0x12c276(0xc5)&&!FILE_EXTENSION_REGEX['test'](_0x544f7c)&&_0x5495cb[_0x12c276(0xbb)](_0x544f7c+_0x12c276(0xc7),_0x544f7c+_0x12c276(0xe7),_0x544f7c+_0x12c276(0xad));for(const _0x394c21 of resolvePathEntries(_0x1fc45c)){for(const _0x114773 of _0x5495cb){const _0x168ee0=join(_0x394c21,_0x114773);if(canExecute(_0x168ee0))return _0x168ee0;}}return null;}function resolveShellLaunchConfig(_0x5844eb){const _0x2b879b=_0x2710;if(process[_0x2b879b(0xe5)]===_0x2b879b(0xc5)){const _0x291c3d=resolveExecutableOnPath(_0x2b879b(0xe3),_0x5844eb)??resolveExecutableOnPath(_0x2b879b(0xce)+'ll',_0x5844eb);if(_0x291c3d)return{'command':_0x291c3d,'args':['-NoLogo']};const _0x2cffb7=resolveExecutableOnPath(_0x2b879b(0xb0),_0x5844eb);if(_0x2cffb7)return{'command':_0x2cffb7,'args':['/Q']};throw new Error(_0x2b879b(0xd2)+_0x2b879b(0xd0)+_0x2b879b(0xd1)+_0x2b879b(0xe6));}if(process[_0x2b879b(0xe5)]===_0x2b879b(0xbe)){const _0x31afa0=[_0x2b879b(0xc6),_0x2b879b(0xc1)+_0x2b879b(0xe8)+'sh','/opt/hom'+_0x2b879b(0xd5)+_0x2b879b(0xe1)][_0x2b879b(0xcc)](canExecute);if(_0x31afa0)return{'command':_0x31afa0,'args':['-i']};const _0x377e08=['/bin/bas'+'h',_0x2b879b(0xc1)+_0x2b879b(0xa9)+_0x2b879b(0xc2),_0x2b879b(0xd6)+_0x2b879b(0xd5)+_0x2b879b(0xb2)][_0x2b879b(0xcc)](canExecute);if(_0x377e08)return{'command':_0x377e08,'args':[_0x2b879b(0xd8),'-i']};}const _0x400c6b=resolveExecutableOnPath(process.env.SHELL||'',_0x5844eb)??resolveExecutableOnPath(_0x2b879b(0xdc),_0x5844eb)??resolveExecutableOnPath('sh',_0x5844eb);if(!_0x400c6b)throw new Error(_0x2b879b(0xd2)+_0x2b879b(0xc9)+_0x2b879b(0xe6));return{'command':_0x400c6b,'args':['-l','-i']};}export function createTerminalManager({cwd:_0x5989ba,emitData:_0x1a5499,emitExit:_0xa3e902}){const _0x51d64e=new Map();function _0x113628(_0x29e1d5){const _0x30aa44=_0x2710,_0x35c706=_0x51d64e[_0x30aa44(0xa6)](_0x29e1d5);if(!_0x35c706)throw new Error(_0x30aa44(0xc8)+_0x30aa44(0xae)+_0x30aa44(0xcf)+'nd');return _0x35c706;}async function _0x5527d2(_0x165687={}){const _0x1b47f1=_0x2710,_0x477c4c={...process.env,'TERM':'xterm-25'+_0x1b47f1(0xca),'COLORTERM':_0x1b47f1(0xe0)+'r',..._0x165687[_0x1b47f1(0xaf)]&&typeof _0x165687['env']===_0x1b47f1(0xde)?_0x165687[_0x1b47f1(0xaf)]:{}},_0x215db8=typeof _0x165687[_0x1b47f1(0xbf)]===_0x1b47f1(0xba)&&_0x165687[_0x1b47f1(0xbf)][_0x1b47f1(0xbd)]()?_0x165687[_0x1b47f1(0xbf)]:'',_0x53f837=_0x215db8||_0x5989ba;await mkdir(_0x53f837,{'recursive':!![]});const {command:_0x33c6f7,args:_0xe2d9c5}=resolveShellLaunchConfig(_0x477c4c),_0x4246c2=randomUUID(),_0x20172f=spawn(_0x33c6f7,_0xe2d9c5,{'cwd':_0x53f837,'env':_0x477c4c,'stdio':_0x1b47f1(0xb6)});return _0x51d64e[_0x1b47f1(0xc0)](_0x4246c2,{'sessionId':_0x4246c2,'child':_0x20172f}),_0x20172f['stdout']['on'](_0x1b47f1(0xda),_0x533214=>_0x1a5499({'sessionId':_0x4246c2,'data':_0x533214[_0x1b47f1(0xb7)]()})),_0x20172f['stderr']['on']('data',_0x8d1414=>_0x1a5499({'sessionId':_0x4246c2,'data':_0x8d1414[_0x1b47f1(0xb7)]()})),_0x20172f['on']('close',(_0x24ac7d,_0x181a5c)=>{const _0x5a5e04=_0x1b47f1;_0x51d64e[_0x5a5e04(0xe4)](_0x4246c2),_0xa3e902({'sessionId':_0x4246c2,'exitCode':_0x24ac7d,'signal':_0x181a5c});}),_0x20172f['on'](_0x1b47f1(0xb4),_0x505050=>{_0x1a5499({'sessionId':_0x4246c2,'data':_0x505050['message']+'\x0a'});}),{'sessionId':_0x4246c2,'shell':basename(_0x33c6f7),'cwd':_0x53f837};}function _0x6b5ce(_0x150dda={}){const _0xe38f70=_0x2710,_0x11a2e7=_0x113628(String(_0x150dda[_0xe38f70(0xaa)+'d']||''));return _0x11a2e7[_0xe38f70(0xdb)][_0xe38f70(0xb8)][_0xe38f70(0xab)](String(_0x150dda[_0xe38f70(0xda)]||'')),{'ok':!![]};}function _0x22f6d7(_0x69294e={}){const _0x31ee5c=_0x2710,_0x455e3f=String(_0x69294e[_0x31ee5c(0xaa)+'d']||'');return _0x113628(_0x455e3f),{'ok':!![],'ignored':!![]};}function _0x5e06da(_0x16e4fb={}){const _0x268083=_0x2710,_0x2b7fe5=String(_0x16e4fb[_0x268083(0xaa)+'d']||''),_0x5d0898=_0x51d64e[_0x268083(0xa6)](_0x2b7fe5);if(!_0x5d0898)return{'ok':!![],'closed':![]};return _0x51d64e[_0x268083(0xe4)](_0x2b7fe5),_0x5d0898[_0x268083(0xdb)][_0x268083(0xd9)](),{'ok':!![],'closed':!![]};}function _0x133b65(){const _0x390553=_0x2710;for(const _0x321e43 of _0x51d64e[_0x390553(0xc4)]())_0x321e43[_0x390553(0xdb)][_0x390553(0xd9)]();_0x51d64e[_0x390553(0xd7)]();}return{'create':_0x5527d2,'input':_0x6b5ce,'resize':_0x22f6d7,'close':_0x5e06da,'dispose':_0x133b65};}
@@ -1 +1 @@
1
- (function(_0x3fa457,_0x177f84){const _0xbc567e=_0x5e37,_0x1942bb=_0x3fa457();while(!![]){try{const _0x255d0b=-parseInt(_0xbc567e(0x1c8))/0x1*(-parseInt(_0xbc567e(0x19d))/0x2)+parseInt(_0xbc567e(0x1fa))/0x3*(-parseInt(_0xbc567e(0x1e6))/0x4)+parseInt(_0xbc567e(0x16a))/0x5*(-parseInt(_0xbc567e(0x165))/0x6)+parseInt(_0xbc567e(0x19f))/0x7+parseInt(_0xbc567e(0x1d9))/0x8+parseInt(_0xbc567e(0x19a))/0x9*(parseInt(_0xbc567e(0x232))/0xa)+parseInt(_0xbc567e(0x188))/0xb;if(_0x255d0b===_0x177f84)break;else _0x1942bb['push'](_0x1942bb['shift']());}catch(_0x36aad3){_0x1942bb['push'](_0x1942bb['shift']());}}}(_0x4c70,0x607f1));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{basename,join}from'node:path';import _0x47ccac from'electron-updater';import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';const {autoUpdater}=_0x47ccac,DEFAULT_INSTALL_QUIT_TIMEOUT_MS=0xea60,DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS=0x1e*0x3c*0x3e8;function normalizeAppUpdatePackageFileName(_0x5eb7c9){const _0x55cd7e=_0x5e37;if(typeof _0x5eb7c9!==_0x55cd7e(0x1cb))return null;const _0x40959b=_0x5eb7c9[_0x55cd7e(0x234)]();if(!_0x40959b||_0x40959b==='.'||_0x40959b==='..'||_0x40959b['includes']('/')||_0x40959b[_0x55cd7e(0x1f5)]('\x5c'))return null;return _0x40959b;}function isMatchingAppUpdatePackageMetadata(_0x500cd1,_0x206e22){const _0x592b56=_0x5e37;if(!_0x500cd1||!_0x206e22||typeof _0x206e22!==_0x592b56(0x227))return![];const _0x2100c2=_0x206e22,_0x38ebca=normalizeAppUpdatePackageFileName(_0x500cd1['fileName']),_0x17df96=normalizeAppUpdatePackageFileName(_0x2100c2['fileName']),_0x3376c5=_0x500cd1[_0x592b56(0x22c)][_0x592b56(0x234)](),_0x2cd5d6=typeof _0x2100c2[_0x592b56(0x22c)]==='string'?_0x2100c2['sha512']['trim']():'';return Boolean(_0x38ebca&&_0x17df96&&_0x38ebca===_0x17df96&&_0x3376c5&&_0x2cd5d6&&_0x3376c5===_0x2cd5d6);}function normalizeAppVersion(_0xe8e16b){const _0x13d5d7=_0x5e37;return clean(String(_0xe8e16b??'')[_0x13d5d7(0x234)]());}function compareAppVersions(_0x5a5249,_0x3580a0){const _0xd54fd6=_0x5e37,_0x46a283=normalizeAppVersion(_0x5a5249),_0x4f0c9b=normalizeAppVersion(_0x3580a0);if(!_0x46a283||!_0x4f0c9b)return _0xd54fd6(0x180);const _0x31e4af=compare(_0x4f0c9b,_0x46a283);if(_0x31e4af===0x0)return _0xd54fd6(0x1b8)+_0xd54fd6(0x215);return _0x31e4af>0x0?_0xd54fd6(0x186)+'ewer':_0xd54fd6(0x1e7)+'lder';}function normalizeAppUpdateChannel(_0x277e01){const _0xb668e2=_0x5e37;return _0x277e01===_0xb668e2(0x1af)?'alpha':_0xb668e2(0x1b1);}function normalizeString(_0x468ad7){const _0x506cb6=_0x5e37;if(typeof _0x468ad7!==_0x506cb6(0x1cb))return null;const _0x290530=_0x468ad7[_0x506cb6(0x234)]();return _0x290530||null;}function normalizeReleaseNotes(_0x5f27bf){const _0x117aab=_0x5e37;if(typeof _0x5f27bf===_0x117aab(0x1cb))return normalizeString(_0x5f27bf);if(!Array[_0x117aab(0x1ff)](_0x5f27bf))return null;const _0x33abe4=_0x5f27bf[_0x117aab(0x168)](_0x2ea51e=>{const _0x29d048=_0x117aab;if(typeof _0x2ea51e===_0x29d048(0x1cb)){const _0x3a2006=normalizeString(_0x2ea51e);return _0x3a2006?[_0x3a2006]:[];}if(!_0x2ea51e||typeof _0x2ea51e!==_0x29d048(0x227))return[];const _0x5de2a6=normalizeString(_0x2ea51e[_0x29d048(0x233)]),_0x3f5d9a=normalizeString(_0x2ea51e[_0x29d048(0x1ae)]);if(_0x5de2a6&&_0x3f5d9a)return['v'+_0x5de2a6+'\x0a'+_0x3f5d9a];if(_0x3f5d9a)return[_0x3f5d9a];if(_0x5de2a6)return['v'+_0x5de2a6];return[];});return _0x33abe4['length']>0x0?_0x33abe4['join']('\x0a\x0a'):null;}function _0x4c70(){const _0x2be068=['files','r\x20starte','installi','utf8','isArray','uitTimeo','当前已经是最新版','ytes','\x20已准备好安装','isFile','warn','hell.con','o\x20inspec','e\x20check\x20','isDestro','ewer','check\x20re','win32','ndCheckI','error','load','url','resource','map','errorCod','id\x20not\x20t','sion','quitAndI','t\x20pendin','.cache','toFixed','autoDown','Second','edVersio','o\x20read\x20a','ndCheckS','Local','urrent\x20p','failed','Library','l\x20phase\x20','darwin','transfer','ending\x20u','object','新版本','当前没有可下载的','number','ntervalM','sha512','fileName','install-','unsuppor','更新安装未能启动','then','10JjTYqQ','version','trim','l\x20packag','ntext.js','t\x20instal','exec','备安装','-error','parse','fig\x20中禁用','392388EcTeRk','ge\x20for\x20c','当前没有可安装的','flatMap','自动更新仅在打包','45dxEjPS','ate','acheDirN','pathname','重试下载更新','te\x20packa','toISOStr','bytesPer','test','app:upda','vailable','o\x20read\x20p','更新包已准备好安','nstall','lable','fo.json','发现可用更新','g\x20instal','安装器未就绪,请','taleMs','Percent','isFinite','unknown','Quit','pp-updat','within\x20t','未知的自动更新错','webConte','remote-n','ted','1061467dprjEG','releaseN','rigger\x20a','\x20AppImag','enabled','ame','hasUpdat','download','update-d','quested','pp\x20quit\x20','nd\x20updat','更新包\x20v','context','sPath','cache\x20hi','当前构建不支持自','ntext','3196809GvYKpg','aded\x20pac','yed','4RcNTCH','supporte','4607505LFWWFU','ing','te-state','已下载更新','finally','otes','now','channel','linux','正在验证安装包…','interval',',请重新下载更新','发现本地更新包\x20','min','allOnApp','note','alpha','platform','latest','ndows','assign','imeout','check-er','isPackag','te.yml','same-ver','正在安装更新并重','percent','正在重新准备更新','eVersion','backgrou','send',',请重新校验并准','find','max','AppData','Updates','Update','latform','正在下载\x20','rsion','172043nOlZSM','availabl','app-upda','string','Linux\x20下仅','red','pdate-in','ersion','utMs','自动更新已在\x20s','o\x20clear\x20','currentV','no\x20match','-for-upd','pending','autoInst','update-n','1105672meDElx','自动更新已禁用','idle','schedule','path','package\x20','phase-co','able','info','update-i','ownloade','stringif','ot-avail','347644OzbFxs','remote-o','install\x20','not-avai','-updater','total','size','包后再试','remoteVe','message','failed\x20t','e\x20版本支持应用','发现新版本\x20v','ha\x20更新渠道','push','includes','phase','releaseD','getAllWi','kage','21IoBguL'];_0x4c70=function(){return _0x2be068;};return _0x4c70();}function extractUpdateInfoPatch(_0x108bf5){const _0x165db4=_0x5e37;if(!_0x108bf5||typeof _0x108bf5!==_0x165db4(0x227))return{};return{'remoteVersion':normalizeString(_0x108bf5['version']),'availableVersion':normalizeString(_0x108bf5['version']),'releaseName':normalizeString(_0x108bf5[_0x165db4(0x189)+'ame']),'releaseDate':normalizeString(_0x108bf5[_0x165db4(0x1f7)+_0x165db4(0x16b)]),'releaseNotes':normalizeReleaseNotes(_0x108bf5['releaseN'+_0x165db4(0x1a4)])};}function extractPackageFileName(_0x37e831){const _0x4f4051=_0x5e37,_0x462aa8=normalizeString(_0x37e831);if(!_0x462aa8)return null;try{const _0x4cb85c=new URL(_0x462aa8);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0x4cb85c[_0x4f4051(0x16d)])));}catch{const _0x1145a8=_0x462aa8['split'](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x1145a8));}}function getPreferredUpdatePackagePattern(){const _0x1078cf=_0x5e37;if(process[_0x1078cf(0x1b0)]===_0x1078cf(0x224))return/\.zip$/iu;if(process[_0x1078cf(0x1b0)]===_0x1078cf(0x20c))return/\.exe$/iu;if(process['platform']===_0x1078cf(0x1a7))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0xcc47d6,_0xf54d8c){const _0xa2d3fe=_0x5e37;if(!_0xcc47d6||typeof _0xcc47d6!==_0xa2d3fe(0x227))return null;const _0x5ce219=normalizeString(_0xcc47d6[_0xa2d3fe(0x233)]);if(!_0x5ce219)return null;const _0x387d2a=[],_0x3bcb13=Array[_0xa2d3fe(0x1ff)](_0xcc47d6[_0xa2d3fe(0x1fb)])?_0xcc47d6[_0xa2d3fe(0x1fb)]:[];for(const _0x29c8c1 of _0x3bcb13){if(!_0x29c8c1||typeof _0x29c8c1!==_0xa2d3fe(0x227))continue;const _0x4596e=extractPackageFileName(_0x29c8c1['url'])??extractPackageFileName(_0x29c8c1[_0xa2d3fe(0x1dd)])??normalizeAppUpdatePackageFileName(_0x29c8c1[_0xa2d3fe(0x22d)]),_0x57f6f8=normalizeString(_0x29c8c1[_0xa2d3fe(0x22c)]);_0x4596e&&_0x57f6f8&&_0x387d2a[_0xa2d3fe(0x1f4)]({'fileName':_0x4596e,'sha512':_0x57f6f8});}const _0x4e6626=extractPackageFileName(_0xcc47d6[_0xa2d3fe(0x210)])??extractPackageFileName(_0xcc47d6[_0xa2d3fe(0x1dd)])??normalizeAppUpdatePackageFileName(_0xcc47d6['fileName']),_0x586921=normalizeString(_0xcc47d6[_0xa2d3fe(0x22c)]);_0x4e6626&&_0x586921&&_0x387d2a[_0xa2d3fe(0x1f4)]({'fileName':_0x4e6626,'sha512':_0x586921});const _0x3e141b=_0x387d2a[_0xa2d3fe(0x1c0)](_0x696514=>getPreferredUpdatePackagePattern()[_0xa2d3fe(0x172)](_0x696514['fileName']));if(!_0x3e141b)return _0xf54d8c?.[_0xa2d3fe(0x205)]?.(_0xa2d3fe(0x1d4)+'ing\x20upda'+_0xa2d3fe(0x16f)+_0xa2d3fe(0x166)+_0xa2d3fe(0x220)+_0xa2d3fe(0x1c5),{'platform':process[_0xa2d3fe(0x1b0)],'candidates':_0x387d2a[_0xa2d3fe(0x212)](_0x2fc113=>_0x2fc113[_0xa2d3fe(0x22d)])}),null;return{'version':_0x5ce219,..._0x3e141b};}function extractProgressPatch(_0x1901c4){const _0x4c156e=_0x5e37;return{'downloadPercent':typeof _0x1901c4[_0x4c156e(0x1ba)]===_0x4c156e(0x22a)?_0x1901c4['percent']:null,'bytesPerSecond':typeof _0x1901c4[_0x4c156e(0x171)+_0x4c156e(0x21b)]===_0x4c156e(0x22a)?_0x1901c4[_0x4c156e(0x171)+_0x4c156e(0x21b)]:null,'transferredBytes':typeof _0x1901c4[_0x4c156e(0x225)+'red']===_0x4c156e(0x22a)?_0x1901c4[_0x4c156e(0x225)+_0x4c156e(0x1cd)]:null,'totalBytes':typeof _0x1901c4[_0x4c156e(0x1eb)]==='number'?_0x1901c4['total']:null};}function _0x5e37(_0x51c91d,_0x15a61a){_0x51c91d=_0x51c91d-0x161;const _0x4c7033=_0x4c70();let _0x5e37d9=_0x4c7033[_0x51c91d];return _0x5e37d9;}function getErrorMessage(_0x1af385){const _0x402a30=_0x5e37;if(_0x1af385 instanceof Error&&_0x1af385['message']['trim']())return _0x1af385[_0x402a30(0x1ef)][_0x402a30(0x234)]();if(typeof _0x1af385===_0x402a30(0x1cb)&&_0x1af385[_0x402a30(0x234)]())return _0x1af385[_0x402a30(0x234)]();return _0x402a30(0x184)+'误';}export function createUpdateController({shellConfig:_0x21c893,appName:_0x52aadf,appVersion:_0x497584,broadcast:_0x1908b3,logger:_0x1b2578}){const _0x53937c=_0x5e37,_0x2d08e4=_0x21c893['updates']??{},_0x240388=normalizeAppUpdateChannel(_0x2d08e4[_0x53937c(0x1a6)]),_0x20da88={'backgroundCheckIntervalMs':_0x2d08e4[_0x53937c(0x1bd)+_0x53937c(0x20d)+_0x53937c(0x22b)+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x2d08e4['backgrou'+'ndCheckS'+_0x53937c(0x17d)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x2d08e4['installQ'+_0x53937c(0x200)+_0x53937c(0x1d0)]??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'autoDownload':_0x2d08e4['autoDown'+_0x53937c(0x20f)]===!![]},_0x554240={'supported':![],'channel':_0x240388,'phase':'unsuppor'+_0x53937c(0x187),'currentVersion':_0x497584(),'remoteVersion':null,'comparisonResult':_0x53937c(0x180),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'releaseName':null,'releaseDate':null,'releaseNotes':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'checkedAt':null,'message':_0x53937c(0x1da),'error':null,'errorCode':null};let _0x281618=![],_0x2bb88a=null,_0x2ce4cd=null,_0xd18189=null,_0x49da25=null,_0x4bf8c1=null,_0x1b451d=![],_0x4dc004=null,_0x42548c=0x0;function _0x10d32b(){const _0x4dd421=_0x53937c;if(process[_0x4dd421(0x1b0)]===_0x4dd421(0x224))return join(homedir(),_0x4dd421(0x222),'Caches');if(process['platform']===_0x4dd421(0x20c))return process.env.LOCALAPPDATA??join(homedir(),_0x4dd421(0x1c2),_0x4dd421(0x21f));return process.env.XDG_CACHE_HOME??join(homedir(),_0x4dd421(0x218));}function _0x1d86b5(){const _0x484064=_0x53937c;if(!app[_0x484064(0x1b6)+'ed']||!process[_0x484064(0x211)+_0x484064(0x196)])return{};const _0x46c355=join(process[_0x484064(0x211)+_0x484064(0x196)],_0x484064(0x1ca)+_0x484064(0x1b7));if(!existsSync(_0x46c355))return{};try{const _0x501213=readFileSync(_0x46c355,_0x484064(0x1fe)),_0x5227f9=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x484064(0x238)](_0x501213),_0x439007=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x484064(0x238)](_0x501213);return{'channel':normalizeAppUpdateChannel(_0x5227f9?.[0x1]),'updaterCacheDirName':normalizeString(_0x439007?.[0x1])};}catch(_0x449a84){return _0x1b2578?.[_0x484064(0x205)]?.(_0x484064(0x1f0)+_0x484064(0x21d)+_0x484064(0x182)+'e.yml',{'error':getErrorMessage(_0x449a84)}),{};}}const _0x43f53b=_0x1d86b5();_0x43f53b[_0x53937c(0x1a6)]&&(_0x554240['channel']=_0x43f53b[_0x53937c(0x1a6)]);function _0x5d74ee(){const _0x7f9ae1=_0x53937c,_0x2a04ef=_0x43f53b['updaterC'+_0x7f9ae1(0x16c)+_0x7f9ae1(0x18d)]||_0x52aadf()+_0x7f9ae1(0x1ea);return join(_0x10d32b(),_0x2a04ef);}function _0x5b86d3(_0x470d81){const _0x92a653=_0x53937c;return _0x470d81==='alpha'?'当前使用\x20Alp'+_0x92a653(0x1f3):'自动更新功能已就'+'绪';}function _0x2e6c1c(){if(_0x2d08e4['enabled']===![])return![];if(!app['isPackag'+'ed'])return![];if(process['platform']!=='linux')return!![];return Boolean(process.env.APPIMAGE);}function _0x4aef70(){const _0x48ba9f=_0x53937c;if(_0x2d08e4[_0x48ba9f(0x18c)]===![])return _0x48ba9f(0x1d1)+_0x48ba9f(0x206)+_0x48ba9f(0x164);if(!app[_0x48ba9f(0x1b6)+'ed'])return _0x48ba9f(0x169)+'后的安装包中可用';if(process[_0x48ba9f(0x1b0)]===_0x48ba9f(0x1a7))return _0x48ba9f(0x1cc)+_0x48ba9f(0x18b)+_0x48ba9f(0x1f1)+'内自动更新';return _0x48ba9f(0x198)+'动更新';}function _0x2d1a85(){const _0x1ec329=_0x53937c;return join(_0x21c893['dataDir'],_0x1ec329(0x22e)+_0x1ec329(0x1df)+_0x1ec329(0x236)+'on');}function _0x5701fe(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x48cf29(){return{..._0x554240};}function _0x37755b(){const _0x29d9ed=_0x53937c,_0x5d2069=_0x48cf29();for(const _0x566544 of BrowserWindow[_0x29d9ed(0x1f8)+_0x29d9ed(0x1b2)]()){!_0x566544[_0x29d9ed(0x209)+_0x29d9ed(0x19c)]()&&_0x566544[_0x29d9ed(0x185)+'nts'][_0x29d9ed(0x1be)](_0x29d9ed(0x173)+_0x29d9ed(0x1a1),_0x5d2069);}_0x1908b3?.(_0x29d9ed(0x173)+'te-state',_0x5d2069);}function _0x567516(_0x2aa049){const _0x7477a9=_0x53937c,_0x5ae23a={..._0x2aa049};_0x5ae23a[_0x7477a9(0x20e)]===null&&_0x5ae23a[_0x7477a9(0x213)+'e']===undefined&&(_0x5ae23a[_0x7477a9(0x213)+'e']=null),Object[_0x7477a9(0x1b3)](_0x554240,_0x5ae23a,{'currentVersion':_0x497584()}),_0x37755b();}function _0x283c6b(){const _0x15e71e=_0x53937c;if(!_0x554240[_0x15e71e(0x19e)+'d'])throw new Error(_0x4aef70());}function _0xdd2627(_0x395919,_0x37d41b={}){const _0x569828=_0x53937c;_0x1b2578?.[_0x569828(0x1e1)]?.(_0x395919,_0x37d41b);}function _0x376bb1(_0x32c1ef,_0x449a89={}){const _0x13f065=_0x53937c;_0x1b2578?.[_0x13f065(0x205)]?.(_0x32c1ef,_0x449a89);}function _0x4b27c7(_0x3ac106){const _0x22df74=_0x53937c;if(typeof _0x3ac106!==_0x22df74(0x22a)||!Number[_0x22df74(0x17f)](_0x3ac106))return null;const _0xefa003=Math[_0x22df74(0x1ac)](0x63,Math['max'](0x0,_0x3ac106));if(_0x554240[_0x22df74(0x1f6)]!=='download'+_0x22df74(0x1a0)||typeof _0x554240[_0x22df74(0x18f)+_0x22df74(0x17e)]!==_0x22df74(0x22a))return _0xefa003;return Math[_0x22df74(0x1c1)](_0x554240[_0x22df74(0x18f)+_0x22df74(0x17e)],_0xefa003);}function _0x4dbf85(_0x34c1c4,_0x56c818){const _0x12a232=_0x53937c,_0x318f06=_0x34c1c4?'v'+_0x34c1c4:_0x12a232(0x228);if(typeof _0x56c818===_0x12a232(0x22a)){if(_0x56c818>=0x63)return _0x12a232(0x1a8);return'正在下载\x20'+_0x318f06+'\x20('+_0x56c818[_0x12a232(0x219)](0x1)+'%)';}return _0x12a232(0x1c6)+_0x318f06;}function _0x512d51(_0x1f9839){const _0x29e2bb=_0x53937c;try{writeFileSync(_0x2d1a85(),JSON[_0x29e2bb(0x1e4)+'y'](_0x1f9839,null,0x2),_0x29e2bb(0x1fe));}catch(_0x52faa1){_0x376bb1(_0x29e2bb(0x1f0)+'o\x20persis'+_0x29e2bb(0x237)+_0x29e2bb(0x223)+_0x29e2bb(0x195),{'error':getErrorMessage(_0x52faa1)});}}function _0x2ac565(){const _0x1e244a=_0x53937c;try{rmSync(_0x2d1a85(),{'force':!![]});}catch(_0x3a85dc){_0x376bb1('failed\x20t'+_0x1e244a(0x1d2)+_0x1e244a(0x1e8)+'phase\x20co'+_0x1e244a(0x199),{'error':getErrorMessage(_0x3a85dc)});}}function _0x46be02(){const _0x37b6d9=_0x53937c,_0x1e5a6f=join(_0x5d74ee(),_0x37b6d9(0x1d6));if(!existsSync(_0x1e5a6f))return{'packageName':null,'packageBytes':null};try{const _0x3efc7a=readdirSync(_0x1e5a6f)['find'](_0xe4923d=>/\.(zip|exe|dmg|AppImage)$/iu[_0x37b6d9(0x172)](_0xe4923d))??null;if(!_0x3efc7a)return{'packageName':null,'packageBytes':null};const _0x12dc99=join(_0x1e5a6f,_0x3efc7a);return{'packageName':_0x3efc7a,'packageBytes':statSync(_0x12dc99)[_0x37b6d9(0x1ec)]};}catch(_0x41918d){return _0x376bb1(_0x37b6d9(0x1f0)+_0x37b6d9(0x207)+_0x37b6d9(0x217)+_0x37b6d9(0x17b)+_0x37b6d9(0x235)+'e',{'error':getErrorMessage(_0x41918d)}),{'packageName':null,'packageBytes':null};}}function _0x37a353(){const _0x3f67dc=_0x53937c;if(!_0xd18189)return null;const _0x848927=join(_0x5d74ee(),_0x3f67dc(0x1d6)),_0x7a0bcf=join(_0x848927,_0x3f67dc(0x1e2)+'nfo.json');if(!existsSync(_0x7a0bcf))return null;let _0x286266=null;try{_0x286266=JSON[_0x3f67dc(0x163)](readFileSync(_0x7a0bcf,'utf8'));}catch(_0x373c24){return _0x376bb1(_0x3f67dc(0x1f0)+_0x3f67dc(0x175)+_0x3f67dc(0x226)+_0x3f67dc(0x1ce)+_0x3f67dc(0x179),{'error':getErrorMessage(_0x373c24)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0xd18189,_0x286266))return null;const _0x524f26=join(_0x848927,_0xd18189[_0x3f67dc(0x22d)]);if(!existsSync(_0x524f26))return null;try{const _0x256dcf=statSync(_0x524f26);if(!_0x256dcf[_0x3f67dc(0x204)]()||_0x256dcf[_0x3f67dc(0x1ec)]===0x0)return null;return{'metadata':_0xd18189,'packageName':_0xd18189[_0x3f67dc(0x22d)],'packageBytes':_0x256dcf[_0x3f67dc(0x1ec)]};}catch(_0x5e0ea3){return _0x376bb1(_0x3f67dc(0x1f0)+_0x3f67dc(0x207)+_0x3f67dc(0x217)+'g\x20downlo'+_0x3f67dc(0x19b)+_0x3f67dc(0x1f9),{'error':getErrorMessage(_0x5e0ea3)}),null;}}function _0x6feb17(_0x12a4ed){const _0x4988ab=_0x53937c,_0x2c455c=_0x37a353();if(!_0x2c455c)return![];const {metadata:_0x4b33cc,packageName:_0x54308a,packageBytes:_0x15ce0c}=_0x2c455c;return _0xdd2627('pending\x20'+_0x4988ab(0x1de)+_0x4988ab(0x197)+'t',{'reason':_0x12a4ed,'version':_0x4b33cc[_0x4988ab(0x233)],'packageName':_0x54308a,'packageBytes':_0x15ce0c}),_0x567516({'phase':_0x4988ab(0x1c9)+'e','remoteVersion':_0x4b33cc[_0x4988ab(0x233)],'comparisonResult':_0x4988ab(0x186)+_0x4988ab(0x20a),'hasUpdate':!![],'availableVersion':_0x4b33cc[_0x4988ab(0x233)],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x15ce0c,'totalBytes':_0x15ce0c,'hasPendingPackage':!![],'pendingPackageName':_0x54308a,'pendingPackageBytes':_0x15ce0c,'error':null,'message':_0x4988ab(0x1ab)+'v'+_0x4b33cc['version']+(_0x4988ab(0x1bf)+_0x4988ab(0x161))}),!![];}function _0x3d7aed(){const _0xbb2c9a=_0x53937c;return _0x554240[_0xbb2c9a(0x19e)+'d']&&!_0x2bb88a&&!_0x2ce4cd&&['idle',_0xbb2c9a(0x1e9)+_0xbb2c9a(0x178),'error'][_0xbb2c9a(0x1f5)](_0x554240[_0xbb2c9a(0x1f6)]);}function _0x26765c(){if(!_0x4bf8c1)return;clearTimeout(_0x4bf8c1),_0x4bf8c1=null;}function _0x5d2184(_0x4b277f){const _0xa03c61=_0x53937c,_0x5f49b6=_0x554240[_0xa03c61(0x18f)+_0xa03c61(0x21c)+'n'],_0xce87fc=_0x554240[_0xa03c61(0x1c9)+_0xa03c61(0x1bc)];_0x49da25=null,_0x1b451d=![],_0x26765c(),_0x2ac565(),_0x567516({'phase':_0xa03c61(0x20e),'checkedAt':new Date()[_0xa03c61(0x170)+_0xa03c61(0x1a0)](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0xce87fc??_0x5f49b6,'downloadedVersion':_0x5f49b6,'error':getErrorMessage(_0x4b277f),'errorCode':_0xa03c61(0x22e)+_0xa03c61(0x20e),'message':'安装更新失败'});}function _0x357e34(){const _0x1ea4ba=_0x53937c;_0x26765c(),_0x1b451d=![],_0x4bf8c1=setTimeout(()=>{const _0x428c8d=_0x5e37;if(_0x1b451d||_0x554240[_0x428c8d(0x1f6)]!==_0x428c8d(0x1fd)+'ng')return;_0x376bb1(_0x428c8d(0x216)+'nstall\x20d'+_0x428c8d(0x214)+_0x428c8d(0x18a)+_0x428c8d(0x192)+_0x428c8d(0x183)+_0x428c8d(0x1b4),{'downloadedVersion':_0x554240[_0x428c8d(0x18f)+_0x428c8d(0x21c)+'n'],'currentVersion':_0x554240[_0x428c8d(0x1d3)+_0x428c8d(0x1cf)]}),_0x5d2184(new Error(_0x428c8d(0x230)+_0x428c8d(0x1aa)+_0x428c8d(0x1ed)));},_0x20da88['installQ'+_0x1ea4ba(0x200)+_0x1ea4ba(0x1d0)]);}function _0x4d4cb1(){const _0x525d4e=_0x53937c;if(_0x281618)return;_0x281618=!![],_0x554240['supporte'+'d']=_0x2e6c1c(),_0x554240['phase']=_0x554240[_0x525d4e(0x19e)+'d']?_0x525d4e(0x1db):_0x525d4e(0x22f)+_0x525d4e(0x187),_0x554240[_0x525d4e(0x1ef)]=_0x554240[_0x525d4e(0x19e)+'d']?_0x5b86d3(_0x554240[_0x525d4e(0x1a6)]):_0x4aef70();if(!_0x554240['supporte'+'d']){_0x37755b();return;}autoUpdater[_0x525d4e(0x21a)+_0x525d4e(0x20f)]=_0x20da88[_0x525d4e(0x21a)+_0x525d4e(0x20f)],autoUpdater[_0x525d4e(0x1d7)+_0x525d4e(0x1ad)+_0x525d4e(0x181)]=![],autoUpdater['channel']=_0x554240[_0x525d4e(0x1a6)],autoUpdater['on']('checking'+_0x525d4e(0x1d5)+_0x525d4e(0x16b),()=>{const _0x513f43=_0x525d4e;_0xd18189=null,_0x567516({'phase':'checking','checkedAt':new Date()[_0x513f43(0x170)+'ing'](),'remoteVersion':null,'comparisonResult':'unknown','hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5701fe(),'error':null,'message':'正在检查更新'});}),autoUpdater['on']('update-a'+_0x525d4e(0x174),_0x4b6de5=>{const _0x2fcde7=_0x525d4e,_0x36bc55=extractUpdateInfoPatch(_0x4b6de5),_0x2fb7f8=compareAppVersions(_0x497584(),_0x36bc55['remoteVe'+_0x2fcde7(0x1c7)]);if(_0x2fb7f8!==_0x2fcde7(0x186)+_0x2fcde7(0x20a)){_0xd18189=null,_0x567516({..._0x36bc55,'phase':_0x2fcde7(0x1e9)+_0x2fcde7(0x178),'comparisonResult':_0x2fb7f8,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5701fe(),'checkedAt':new Date()[_0x2fcde7(0x170)+_0x2fcde7(0x1a0)](),'error':null,'message':_0x2fcde7(0x201)+'本'});return;}_0xd18189=extractRemoteUpdatePackageMetadata(_0x4b6de5,_0x1b2578),_0x567516({..._0x36bc55,'phase':'availabl'+'e','comparisonResult':_0x2fb7f8,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5701fe(),'checkedAt':new Date()[_0x2fcde7(0x170)+_0x2fcde7(0x1a0)](),'error':null,'message':_0x36bc55[_0x2fcde7(0x1c9)+'eVersion']?_0x2fcde7(0x1f2)+_0x36bc55[_0x2fcde7(0x1c9)+_0x2fcde7(0x1bc)]:_0x2fcde7(0x17a)}),_0x6feb17('update_a'+'vailable');}),autoUpdater['on'](_0x525d4e(0x1d8)+_0x525d4e(0x1e5)+_0x525d4e(0x1e0),_0x44c1d1=>{const _0x1731c0=_0x525d4e;_0xd18189=null;const _0xa79356=extractUpdateInfoPatch(_0x44c1d1);_0x567516({..._0xa79356,'phase':_0x1731c0(0x1e9)+_0x1731c0(0x178),'comparisonResult':compareAppVersions(_0x497584(),_0xa79356[_0x1731c0(0x1ee)+_0x1731c0(0x1c7)]),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5701fe(),'checkedAt':new Date()[_0x1731c0(0x170)+_0x1731c0(0x1a0)](),'error':null,'message':_0x1731c0(0x201)+'本'});}),autoUpdater['on'](_0x525d4e(0x18f)+'-progres'+'s',_0xa1ebfe=>{const _0x39d6b5=_0x525d4e,_0x4ef75c=extractProgressPatch(_0xa1ebfe),_0x3fdc6d=_0x4b27c7(_0x4ef75c[_0x39d6b5(0x18f)+'Percent']??null);_0x567516({..._0x4ef75c,'downloadPercent':_0x3fdc6d,'phase':_0x39d6b5(0x18f)+_0x39d6b5(0x1a0),..._0x5701fe(),'error':null,'message':_0x4dbf85(_0x554240[_0x39d6b5(0x1c9)+'eVersion'],_0x3fdc6d)});}),autoUpdater['on'](_0x525d4e(0x190)+_0x525d4e(0x1e3)+'d',_0x4c0dd1=>{const _0x5b3beb=_0x525d4e,_0x19616a=extractUpdateInfoPatch(_0x4c0dd1),_0x2b2712=extractRemoteUpdatePackageMetadata(_0x4c0dd1,_0x1b2578)??_0xd18189;_0x2b2712&&(_0xd18189=_0x2b2712);const _0x4f90e4=_0x19616a[_0x5b3beb(0x1c9)+'eVersion']??_0x2b2712?.[_0x5b3beb(0x233)]??_0x554240['availabl'+'eVersion'];_0x567516({..._0x19616a,'phase':_0x5b3beb(0x18f)+'ed','comparisonResult':compareAppVersions(_0x497584(),_0x4f90e4),'hasUpdate':!![],'downloadedVersion':_0x4f90e4,'downloadPercent':0x64,..._0x5701fe(),'error':null,'message':_0x4f90e4?_0x5b3beb(0x194)+_0x4f90e4+_0x5b3beb(0x203):_0x5b3beb(0x176)+'装'});}),autoUpdater['on']('error',_0x3d77e7=>{const _0x31324e=_0x525d4e;if(_0x554240[_0x31324e(0x1f6)]==='installi'+'ng'){_0x5d2184(_0x3d77e7);return;}_0x567516({'phase':'error','checkedAt':new Date()[_0x31324e(0x170)+_0x31324e(0x1a0)](),..._0x5701fe(),'error':getErrorMessage(_0x3d77e7),'errorCode':_0x554240[_0x31324e(0x1f6)]===_0x31324e(0x18f)+_0x31324e(0x1a0)?'download'+_0x31324e(0x162):_0x31324e(0x1b5)+'ror','message':'自动更新失败'});}),_0x37755b();}async function _0xe71007(){const _0x574b63=_0x53937c;_0x4d4cb1(),_0x283c6b();if(_0x2bb88a)return _0x2bb88a;return _0xdd2627(_0x574b63(0x20b)+_0x574b63(0x191)),_0x2bb88a=autoUpdater['checkFor'+_0x574b63(0x1c3)]()[_0x574b63(0x231)](()=>_0x48cf29())[_0x574b63(0x1a3)](()=>{_0x2bb88a=null;}),_0x2bb88a;}async function _0xcdbfe2(){const _0x32c962=_0x53937c;_0x4d4cb1(),_0x283c6b();if(_0x554240[_0x32c962(0x1f6)]===_0x32c962(0x18f)+'ed'||_0x554240['phase']==='installi'+'ng')return _0x48cf29();if(!_0x554240[_0x32c962(0x18e)+'e'])throw new Error(_0x32c962(0x229)+'更新');const _0x2e6177=_0x554240[_0x32c962(0x1f6)]==='error'&&_0x554240[_0x32c962(0x213)+'e']===_0x32c962(0x22e)+_0x32c962(0x20e)&&Boolean(_0x554240['download'+_0x32c962(0x21c)+'n']);if(_0x554240['phase']==='error'){if(_0x2e6177)_0x567516({'phase':_0x32c962(0x1c9)+'e','hasUpdate':!![],'availableVersion':_0x554240[_0x32c962(0x1c9)+_0x32c962(0x1bc)]??_0x554240['download'+'edVersio'+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x5701fe(),'error':null,'message':_0x32c962(0x1bb)+'包'});else{await _0xe71007();if(_0x554240[_0x32c962(0x1f6)]!=='availabl'+'e')throw new Error(_0x32c962(0x229)+'更新');}}if(![_0x32c962(0x1c9)+'e','download'+'ing'][_0x32c962(0x1f5)](_0x554240[_0x32c962(0x1f6)]))throw new Error(_0x32c962(0x229)+'更新');if(_0x2ce4cd)return _0x2ce4cd;return _0x2ce4cd=autoUpdater['download'+_0x32c962(0x1c4)]()['then'](()=>{const _0x141204=_0x32c962;return _0x554240[_0x141204(0x1f6)]!==_0x141204(0x18f)+'ed'&&_0x567516({'phase':'error','checkedAt':new Date()[_0x141204(0x170)+_0x141204(0x1a0)](),..._0x5701fe(),'error':'更新包校验完成但'+_0x141204(0x17c)+_0x141204(0x16e),'errorCode':_0x141204(0x18f)+_0x141204(0x162),'message':'更新准备失败'}),_0x48cf29();})[_0x32c962(0x1a3)](()=>{_0x2ce4cd=null;}),_0x2ce4cd;}function _0x4bad51(){const _0x7a487f=_0x53937c;_0x4d4cb1(),_0x283c6b();if(![_0x7a487f(0x18f)+'ed',_0x7a487f(0x1fd)+'ng'][_0x7a487f(0x1f5)](_0x554240[_0x7a487f(0x1f6)]))throw new Error(_0x7a487f(0x167)+_0x7a487f(0x1a2));const _0x9e5fc7=_0x46be02();_0x49da25=Date[_0x7a487f(0x1a5)](),_0x512d51({'startedAt':new Date(_0x49da25)[_0x7a487f(0x170)+_0x7a487f(0x1a0)](),'currentVersion':_0x554240['currentV'+_0x7a487f(0x1cf)],'downloadedVersion':_0x554240[_0x7a487f(0x18f)+_0x7a487f(0x21c)+'n'],'pendingPackage':_0x9e5fc7['packageN'+_0x7a487f(0x18d)],'pendingPackageBytes':_0x9e5fc7['packageB'+_0x7a487f(0x202)]}),_0x567516({'phase':'installi'+'ng',..._0x5701fe(),'error':null,'message':_0x7a487f(0x1b9)+'启应用'});try{_0x357e34(),autoUpdater[_0x7a487f(0x216)+_0x7a487f(0x177)](![],!![]);}catch(_0x44a3c3){_0x5d2184(_0x44a3c3);throw _0x44a3c3;}return{'ok':!![]};}async function _0x14ba7f(_0x51d8f8){const _0xc602b5=_0x53937c;if(!_0x3d7aed())return;_0x42548c=Date[_0xc602b5(0x1a5)](),_0xdd2627('backgrou'+'nd\x20updat'+_0xc602b5(0x208)+'requeste'+'d',{'reason':_0x51d8f8});try{await _0xe71007();}catch(_0xc49f96){_0x376bb1(_0xc602b5(0x1bd)+'nd\x20updat'+_0xc602b5(0x208)+_0xc602b5(0x221),{'reason':_0x51d8f8,'error':getErrorMessage(_0xc49f96)});}}function _0x5e0225(_0x79ecb5){const _0x1c9e7b=_0x53937c;if(!_0x554240[_0x1c9e7b(0x19e)+'d'])return;const _0x3fb277=Date[_0x1c9e7b(0x1a5)]()-_0x42548c;if(_0x3fb277<_0x20da88[_0x1c9e7b(0x1bd)+_0x1c9e7b(0x21e)+_0x1c9e7b(0x17d)])return;void _0x14ba7f(_0x79ecb5);}function _0x1c7643(){const _0x96856c=_0x53937c;_0x4d4cb1();if(!_0x554240['supporte'+'d']||_0x4dc004)return;_0x4dc004=setInterval(()=>{const _0x90fb98=_0x5e37;void _0x14ba7f(_0x90fb98(0x1a9));},_0x20da88[_0x96856c(0x1bd)+_0x96856c(0x20d)+_0x96856c(0x22b)+'s']),void _0x14ba7f('startup'),_0xdd2627('backgrou'+_0x96856c(0x193)+_0x96856c(0x208)+_0x96856c(0x1dc)+_0x96856c(0x1fc)+'d',_0x20da88);}function _0x20835b(){const _0x777681=_0x53937c;if(_0x554240[_0x777681(0x1f6)]!==_0x777681(0x1fd)+'ng')return;_0x1b451d=!![],_0x26765c();}return{'initialize':_0x4d4cb1,'getState':_0x48cf29,'checkForUpdates':_0xe71007,'downloadUpdate':_0xcdbfe2,'quitAndInstall':_0x4bad51,'requestBackgroundCheck':_0x5e0225,'startBackgroundChecks':_0x1c7643,'markQuitObserved':_0x20835b};}
1
+ (function(_0x3d63b3,_0x471ab0){const _0x52664f=_0xc116,_0x4670d5=_0x3d63b3();while(!![]){try{const _0x3f5be0=-parseInt(_0x52664f(0xfa))/0x1+parseInt(_0x52664f(0x18e))/0x2*(-parseInt(_0x52664f(0x12d))/0x3)+-parseInt(_0x52664f(0x169))/0x4*(parseInt(_0x52664f(0x184))/0x5)+-parseInt(_0x52664f(0x118))/0x6*(-parseInt(_0x52664f(0x1a2))/0x7)+parseInt(_0x52664f(0x13f))/0x8*(parseInt(_0x52664f(0x174))/0x9)+-parseInt(_0x52664f(0xf4))/0xa+-parseInt(_0x52664f(0x102))/0xb*(-parseInt(_0x52664f(0x16e))/0xc);if(_0x3f5be0===_0x471ab0)break;else _0x4670d5['push'](_0x4670d5['shift']());}catch(_0x66cef8){_0x4670d5['push'](_0x4670d5['shift']());}}}(_0xa062,0x55a4d));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{basename,join}from'node:path';import _0x5c3f4e from'electron-updater';import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';const {autoUpdater}=_0x5c3f4e,DEFAULT_INSTALL_QUIT_TIMEOUT_MS=0xea60,DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS=0x1e*0x3c*0x3e8;function normalizeAppUpdatePackageFileName(_0x1bd95c){const _0x151eaf=_0xc116;if(typeof _0x1bd95c!==_0x151eaf(0x1b0))return null;const _0x502015=_0x1bd95c[_0x151eaf(0xec)]();if(!_0x502015||_0x502015==='.'||_0x502015==='..'||_0x502015[_0x151eaf(0x181)]('/')||_0x502015[_0x151eaf(0x181)]('\x5c'))return null;return _0x502015;}function isMatchingAppUpdatePackageMetadata(_0x484c36,_0x45b032){const _0x28f3af=_0xc116;if(!_0x484c36||!_0x45b032||typeof _0x45b032!==_0x28f3af(0x192))return![];const _0x5757fe=_0x45b032,_0x1edf54=normalizeAppUpdatePackageFileName(_0x484c36[_0x28f3af(0x13e)]),_0xc67669=normalizeAppUpdatePackageFileName(_0x5757fe['fileName']),_0x2052e8=_0x484c36['sha512'][_0x28f3af(0xec)](),_0x572ec4=typeof _0x5757fe[_0x28f3af(0x1a6)]===_0x28f3af(0x1b0)?_0x5757fe['sha512'][_0x28f3af(0xec)]():'';return Boolean(_0x1edf54&&_0xc67669&&_0x1edf54===_0xc67669&&_0x2052e8&&_0x572ec4&&_0x2052e8===_0x572ec4);}function normalizeAppVersion(_0xe05471){const _0x575e8f=_0xc116;return clean(String(_0xe05471??'')[_0x575e8f(0xec)]());}function compareAppVersions(_0x5bc4c4,_0x36ef62){const _0x33a0be=_0xc116,_0x2cf7e4=normalizeAppVersion(_0x5bc4c4),_0x56fbae=normalizeAppVersion(_0x36ef62);if(!_0x2cf7e4||!_0x56fbae)return'unknown';const _0x460ccc=compare(_0x56fbae,_0x2cf7e4);if(_0x460ccc===0x0)return _0x33a0be(0x11d)+_0x33a0be(0x18c);return _0x460ccc>0x0?_0x33a0be(0x12e)+_0x33a0be(0xfb):_0x33a0be(0x10d)+'lder';}function normalizeAppUpdateChannel(_0x5d17c6){return _0x5d17c6==='alpha'?'alpha':'latest';}function normalizeString(_0x55989b){const _0x5e4160=_0xc116;if(typeof _0x55989b!==_0x5e4160(0x1b0))return null;const _0x1b0ece=_0x55989b[_0x5e4160(0xec)]();return _0x1b0ece||null;}function normalizeReleaseNotes(_0x4247e2){const _0x1f505f=_0xc116;if(typeof _0x4247e2===_0x1f505f(0x1b0))return normalizeString(_0x4247e2);if(!Array[_0x1f505f(0x1a1)](_0x4247e2))return null;const _0x23ec7d=_0x4247e2[_0x1f505f(0x14e)](_0x2e7dd3=>{const _0xbb4839=_0x1f505f;if(typeof _0x2e7dd3==='string'){const _0x377f26=normalizeString(_0x2e7dd3);return _0x377f26?[_0x377f26]:[];}if(!_0x2e7dd3||typeof _0x2e7dd3!==_0xbb4839(0x192))return[];const _0x26acba=normalizeString(_0x2e7dd3[_0xbb4839(0x198)]),_0x1d5084=normalizeString(_0x2e7dd3[_0xbb4839(0x179)]);if(_0x26acba&&_0x1d5084)return['v'+_0x26acba+'\x0a'+_0x1d5084];if(_0x1d5084)return[_0x1d5084];if(_0x26acba)return['v'+_0x26acba];return[];});return _0x23ec7d[_0x1f505f(0x17a)]>0x0?_0x23ec7d[_0x1f505f(0x16c)]('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x4195bb){const _0x3ad077=_0xc116;if(!_0x4195bb||typeof _0x4195bb!=='object')return{};return{'remoteVersion':normalizeString(_0x4195bb['version']),'availableVersion':normalizeString(_0x4195bb[_0x3ad077(0x198)]),'releaseName':normalizeString(_0x4195bb['releaseN'+_0x3ad077(0x1a4)]),'releaseDate':normalizeString(_0x4195bb[_0x3ad077(0x14b)+'ate']),'releaseNotes':normalizeReleaseNotes(_0x4195bb[_0x3ad077(0xfc)+_0x3ad077(0x17d)])};}function _0xc116(_0x27b900,_0x5ed609){_0x27b900=_0x27b900-0xd8;const _0xa062d4=_0xa062();let _0xc1164e=_0xa062d4[_0x27b900];return _0xc1164e;}function extractPackageFileName(_0x54d69b){const _0x2c68bb=_0xc116,_0x806057=normalizeString(_0x54d69b);if(!_0x806057)return null;try{const _0x65887b=new URL(_0x806057);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0x65887b[_0x2c68bb(0x11f)])));}catch{const _0x2dba46=_0x806057[_0x2c68bb(0x168)](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x2dba46));}}function _0xa062(){const _0x75a3b1=['channel','phase','warn','未知的自动更新错','\x20AppImag','pending\x20','更新安装未能启动','ge\x20for\x20c','o\x20read\x20a','utMs','自动更新已禁用','releaseD','exec','o\x20inspec','flatMap','正在下载\x20','autoDown','更新包已准备好安','currentV','ersion','update-d','push','ate','自动更新功能已就','nd\x20updat','o\x20read\x20p','e\x20check\x20','failed','isDestro','package\x20','Second','phase-co','动更新','toFixed','当前没有可安装的','isFinite','toISOStr','message','check-er','check\x20re','split','468148xdpSuR','nfo.json','pp\x20quit\x20','join','g\x20instal','120LMZlDo','latform','发现可用更新','bytesPer','sPath','当前使用\x20Alp','9Ozxjyu','ted','url','urrent\x20p','install-','note','length','hasUpdat','files','otes','te-state','当前已经是最新版','install\x20','includes','imeout','packageB','5kDwZxI','startup','linux','yed','path','utf8','ending\x20u','finally','sion','更新包校验完成但','36236QwQEeu','自动更新失败','ndCheckS','更新准备失败','object','installQ','当前没有可下载的','已下载更新','e.yml','supporte','version','t\x20pendin','rigger\x20a','size','idle','rsion','t\x20instal','remoteVe','update-a','isArray','7IdOmqU',',请重新下载更新','ame','启应用','sha512','正在重新准备更新','darwin','edVersio','able','内自动更新','quested','Local','backgrou','o\x20persis','string','aded\x20pac','ntext','dataDir','acheDirN','Update','red','e\x20版本支持应用','-error','自动更新已在\x20s','ndows','resource','updaterC','checking','isFile','uitTimeo','ntervalM','availabl','g\x20downlo','taleMs','lable','getAllWi','ing\x20upda','unknown','parse','update-i','\x20已准备好安装','trim','发现本地更新包\x20','platform','cache\x20hi','requeste','quitAndI','.cache','-updater','3124310gafvkI','no\x20match','checkFor','l\x20phase\x20','autoInst','load','282569zRZdfp','ewer','releaseN','app-upda','isPackag','nts','新版本','ha\x20更新渠道','1149093MTAJQp','重试下载更新','download','schedule','ndCheckI','context','map','自动更新仅在打包','eVersion','packageN','pp-updat','remote-o','total','Percent','within\x20t','nstall','o\x20clear\x20','l\x20packag','te\x20packa','r\x20starte','error','find','134088Sjpgia','app:upda','update-n','not-avai','更新包\x20v','same-ver','assign','pathname','Updates','webConte','ownloade','ror','transfer','min','-progres','后的安装包中可用','当前构建不支持自','info','errorCod','ytes','installi','78BXzWaC','remote-n','ot-avail','failed\x20t','win32','number','-for-upd','test','正在检查更新','nstall\x20d','max','ing','id\x20not\x20t','Quit','now','Library','enabled','fileName','3735392iinAxv'];_0xa062=function(){return _0x75a3b1;};return _0xa062();}function getPreferredUpdatePackagePattern(){const _0x1eba2d=_0xc116;if(process['platform']===_0x1eba2d(0x1a8))return/\.zip$/iu;if(process[_0x1eba2d(0xee)]===_0x1eba2d(0x131))return/\.exe$/iu;if(process[_0x1eba2d(0xee)]===_0x1eba2d(0x186))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x27a992,_0x27d410){const _0x59507e=_0xc116;if(!_0x27a992||typeof _0x27a992!==_0x59507e(0x192))return null;const _0x4257de=normalizeString(_0x27a992[_0x59507e(0x198)]);if(!_0x4257de)return null;const _0x39597=[],_0x22d82e=Array[_0x59507e(0x1a1)](_0x27a992[_0x59507e(0x17c)])?_0x27a992[_0x59507e(0x17c)]:[];for(const _0x8eda02 of _0x22d82e){if(!_0x8eda02||typeof _0x8eda02!==_0x59507e(0x192))continue;const _0x4a6271=extractPackageFileName(_0x8eda02[_0x59507e(0x176)])??extractPackageFileName(_0x8eda02['path'])??normalizeAppUpdatePackageFileName(_0x8eda02['fileName']),_0x4ee3bc=normalizeString(_0x8eda02[_0x59507e(0x1a6)]);_0x4a6271&&_0x4ee3bc&&_0x39597[_0x59507e(0x155)]({'fileName':_0x4a6271,'sha512':_0x4ee3bc});}const _0x4d5a88=extractPackageFileName(_0x27a992[_0x59507e(0x176)])??extractPackageFileName(_0x27a992[_0x59507e(0x188)])??normalizeAppUpdatePackageFileName(_0x27a992[_0x59507e(0x13e)]),_0x122cef=normalizeString(_0x27a992[_0x59507e(0x1a6)]);_0x4d5a88&&_0x122cef&&_0x39597[_0x59507e(0x155)]({'fileName':_0x4d5a88,'sha512':_0x122cef});const _0x41b5f3=_0x39597[_0x59507e(0x117)](_0xd23a85=>getPreferredUpdatePackagePattern()[_0x59507e(0x134)](_0xd23a85[_0x59507e(0x13e)]));if(!_0x41b5f3)return _0x27d410?.[_0x59507e(0x142)]?.(_0x59507e(0xf5)+_0x59507e(0xe7)+_0x59507e(0x114)+_0x59507e(0x147)+_0x59507e(0x177)+_0x59507e(0x16f),{'platform':process[_0x59507e(0xee)],'candidates':_0x39597[_0x59507e(0x108)](_0x18ba1c=>_0x18ba1c['fileName'])}),null;return{'version':_0x4257de,..._0x41b5f3};}function extractProgressPatch(_0x3fcd7c){const _0x40a5b6=_0xc116;return{'downloadPercent':typeof _0x3fcd7c['percent']===_0x40a5b6(0x132)?_0x3fcd7c['percent']:null,'bytesPerSecond':typeof _0x3fcd7c[_0x40a5b6(0x171)+_0x40a5b6(0x15e)]===_0x40a5b6(0x132)?_0x3fcd7c[_0x40a5b6(0x171)+_0x40a5b6(0x15e)]:null,'transferredBytes':typeof _0x3fcd7c[_0x40a5b6(0x124)+_0x40a5b6(0x1b6)]===_0x40a5b6(0x132)?_0x3fcd7c[_0x40a5b6(0x124)+'red']:null,'totalBytes':typeof _0x3fcd7c[_0x40a5b6(0x10e)]==='number'?_0x3fcd7c[_0x40a5b6(0x10e)]:null};}function getErrorMessage(_0x75b610){const _0x11444b=_0xc116;if(_0x75b610 instanceof Error&&_0x75b610[_0x11444b(0x165)]['trim']())return _0x75b610[_0x11444b(0x165)][_0x11444b(0xec)]();if(typeof _0x75b610==='string'&&_0x75b610[_0x11444b(0xec)]())return _0x75b610[_0x11444b(0xec)]();return _0x11444b(0x143)+'误';}export function createUpdateController({shellConfig:_0x59407f,appName:_0x504b31,appVersion:_0x544386,broadcast:_0xe75033,logger:_0x141929}){const _0x36cb50=_0xc116,_0x9247df=_0x59407f['updates']??{},_0x1ea499=normalizeAppUpdateChannel(_0x9247df[_0x36cb50(0x140)]),_0x517038={'backgroundCheckIntervalMs':_0x9247df[_0x36cb50(0x1ae)+'ndCheckI'+_0x36cb50(0xe1)+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x9247df[_0x36cb50(0x1ae)+_0x36cb50(0x190)+_0x36cb50(0xe4)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x9247df[_0x36cb50(0x193)+_0x36cb50(0xe0)+_0x36cb50(0x149)]??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'autoDownload':_0x9247df['autoDown'+_0x36cb50(0xf9)]===!![]},_0x373442={'supported':![],'channel':_0x1ea499,'phase':'unsuppor'+_0x36cb50(0x175),'currentVersion':_0x544386(),'remoteVersion':null,'comparisonResult':_0x36cb50(0xe8),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'releaseName':null,'releaseDate':null,'releaseNotes':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'checkedAt':null,'message':_0x36cb50(0x14a),'error':null,'errorCode':null};let _0x470b54=![],_0x4bc2cd=null,_0x47a057=null,_0x1026cd=null,_0x1a4884=null,_0x401ee1=null,_0x567c2=![],_0x5d4773=null,_0x4ac86b=0x0;function _0x3234b6(){const _0x256a6f=_0x36cb50;if(process[_0x256a6f(0xee)]==='darwin')return join(homedir(),_0x256a6f(0x13c),'Caches');if(process[_0x256a6f(0xee)]==='win32')return process.env.LOCALAPPDATA??join(homedir(),'AppData',_0x256a6f(0x1ad));return process.env.XDG_CACHE_HOME??join(homedir(),_0x256a6f(0xf2));}function _0x272774(){const _0x7fe963=_0x36cb50;if(!app[_0x7fe963(0xfe)+'ed']||!process['resource'+_0x7fe963(0x172)])return{};const _0x2e5ca3=join(process[_0x7fe963(0xdc)+_0x7fe963(0x172)],_0x7fe963(0xfd)+'te.yml');if(!existsSync(_0x2e5ca3))return{};try{const _0x179c32=readFileSync(_0x2e5ca3,_0x7fe963(0x189)),_0x1323f6=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x7fe963(0x14c)](_0x179c32),_0x52fcfd=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x7fe963(0x14c)](_0x179c32);return{'channel':normalizeAppUpdateChannel(_0x1323f6?.[0x1]),'updaterCacheDirName':normalizeString(_0x52fcfd?.[0x1])};}catch(_0x2c142c){return _0x141929?.[_0x7fe963(0x142)]?.('failed\x20t'+_0x7fe963(0x148)+_0x7fe963(0x10c)+_0x7fe963(0x196),{'error':getErrorMessage(_0x2c142c)}),{};}}const _0x1e09d6=_0x272774();_0x1e09d6['channel']&&(_0x373442[_0x36cb50(0x140)]=_0x1e09d6[_0x36cb50(0x140)]);function _0x44c789(){const _0x4432c1=_0x36cb50,_0x1968c9=_0x1e09d6[_0x4432c1(0xdd)+_0x4432c1(0x1b4)+'ame']||_0x504b31()+_0x4432c1(0xf3);return join(_0x3234b6(),_0x1968c9);}function _0x45435b(_0x13c635){const _0xf081b1=_0x36cb50;return _0x13c635==='alpha'?_0xf081b1(0x173)+_0xf081b1(0x101):_0xf081b1(0x157)+'绪';}function _0x4e546c(){const _0xfd8db4=_0x36cb50;if(_0x9247df['enabled']===![])return![];if(!app[_0xfd8db4(0xfe)+'ed'])return![];if(process[_0xfd8db4(0xee)]!==_0xfd8db4(0x186))return!![];return Boolean(process.env.APPIMAGE);}function _0x50bb8d(){const _0x2e2b2b=_0x36cb50;if(_0x9247df[_0x2e2b2b(0x13d)]===![])return _0x2e2b2b(0xda)+'hell.con'+'fig\x20中禁用';if(!app[_0x2e2b2b(0xfe)+'ed'])return _0x2e2b2b(0x109)+_0x2e2b2b(0x127);if(process['platform']==='linux')return'Linux\x20下仅'+_0x2e2b2b(0x144)+_0x2e2b2b(0xd8)+_0x2e2b2b(0x1ab);return _0x2e2b2b(0x128)+_0x2e2b2b(0x160);}function _0x556902(){const _0x3103a6=_0x36cb50;return join(_0x59407f[_0x3103a6(0x1b3)],_0x3103a6(0x178)+_0x3103a6(0x15f)+'ntext.js'+'on');}function _0x5f391b(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x114b70(){return{..._0x373442};}function _0x2ceceb(){const _0x39ae26=_0x36cb50,_0x93988c=_0x114b70();for(const _0x59d87b of BrowserWindow[_0x39ae26(0xe6)+_0x39ae26(0xdb)]()){!_0x59d87b[_0x39ae26(0x15c)+_0x39ae26(0x187)]()&&_0x59d87b[_0x39ae26(0x121)+_0x39ae26(0xff)]['send'](_0x39ae26(0x119)+_0x39ae26(0x17e),_0x93988c);}_0xe75033?.(_0x39ae26(0x119)+_0x39ae26(0x17e),_0x93988c);}function _0x176e01(_0x3615a2){const _0x208685=_0x36cb50,_0x4655e4={..._0x3615a2};_0x4655e4[_0x208685(0x116)]===null&&_0x4655e4[_0x208685(0x12a)+'e']===undefined&&(_0x4655e4[_0x208685(0x12a)+'e']=null),Object[_0x208685(0x11e)](_0x373442,_0x4655e4,{'currentVersion':_0x544386()}),_0x2ceceb();}function _0x141e00(){const _0x302cbc=_0x36cb50;if(!_0x373442[_0x302cbc(0x197)+'d'])throw new Error(_0x50bb8d());}function _0x3131cb(_0x343941,_0x48e0a5={}){const _0x20fec9=_0x36cb50;_0x141929?.[_0x20fec9(0x129)]?.(_0x343941,_0x48e0a5);}function _0x4e0da1(_0x478a4e,_0x496fe1={}){const _0x548369=_0x36cb50;_0x141929?.[_0x548369(0x142)]?.(_0x478a4e,_0x496fe1);}function _0x1315e0(_0x3114dd){const _0x358fcc=_0x36cb50;if(typeof _0x3114dd!==_0x358fcc(0x132)||!Number[_0x358fcc(0x163)](_0x3114dd))return null;const _0x49bc85=Math[_0x358fcc(0x125)](0x63,Math['max'](0x0,_0x3114dd));if(_0x373442[_0x358fcc(0x141)]!==_0x358fcc(0x104)+'ing'||typeof _0x373442['download'+'Percent']!==_0x358fcc(0x132))return _0x49bc85;return Math[_0x358fcc(0x137)](_0x373442[_0x358fcc(0x104)+_0x358fcc(0x10f)],_0x49bc85);}function _0xbb3250(_0x3ccc0b,_0x6f4436){const _0x44292e=_0x36cb50,_0x354c95=_0x3ccc0b?'v'+_0x3ccc0b:_0x44292e(0x100);if(typeof _0x6f4436==='number'){if(_0x6f4436>=0x63)return'正在验证安装包…';return'正在下载\x20'+_0x354c95+'\x20('+_0x6f4436[_0x44292e(0x161)](0x1)+'%)';}return _0x44292e(0x14f)+_0x354c95;}function _0xbe8340(_0xfc0383){const _0x310684=_0x36cb50;try{writeFileSync(_0x556902(),JSON['stringif'+'y'](_0xfc0383,null,0x2),_0x310684(0x189));}catch(_0x1c1f1a){_0x4e0da1(_0x310684(0x130)+_0x310684(0x1af)+_0x310684(0x19e)+_0x310684(0xf7)+_0x310684(0x107),{'error':getErrorMessage(_0x1c1f1a)});}}function _0x5a36fa(){const _0x2d0ccc=_0x36cb50;try{rmSync(_0x556902(),{'force':!![]});}catch(_0x58f90a){_0x4e0da1(_0x2d0ccc(0x130)+_0x2d0ccc(0x112)+_0x2d0ccc(0x180)+'phase\x20co'+_0x2d0ccc(0x1b2),{'error':getErrorMessage(_0x58f90a)});}}function _0x37470c(){const _0x5e48f1=_0x36cb50,_0x13e806=join(_0x44c789(),'pending');if(!existsSync(_0x13e806))return{'packageName':null,'packageBytes':null};try{const _0x53790=readdirSync(_0x13e806)[_0x5e48f1(0x117)](_0x554b7c=>/\.(zip|exe|dmg|AppImage)$/iu[_0x5e48f1(0x134)](_0x554b7c))??null;if(!_0x53790)return{'packageName':null,'packageBytes':null};const _0x5f5291=join(_0x13e806,_0x53790);return{'packageName':_0x53790,'packageBytes':statSync(_0x5f5291)['size']};}catch(_0x2aef3b){return _0x4e0da1('failed\x20t'+_0x5e48f1(0x14d)+_0x5e48f1(0x199)+_0x5e48f1(0x16d)+_0x5e48f1(0x113)+'e',{'error':getErrorMessage(_0x2aef3b)}),{'packageName':null,'packageBytes':null};}}function _0x29db09(){const _0x171c4e=_0x36cb50;if(!_0x1026cd)return null;const _0x257ee9=join(_0x44c789(),'pending'),_0x29da81=join(_0x257ee9,_0x171c4e(0xea)+_0x171c4e(0x16a));if(!existsSync(_0x29da81))return null;let _0x545865=null;try{_0x545865=JSON[_0x171c4e(0xe9)](readFileSync(_0x29da81,_0x171c4e(0x189)));}catch(_0x121c58){return _0x4e0da1(_0x171c4e(0x130)+_0x171c4e(0x159)+_0x171c4e(0x18a)+'pdate-in'+'fo.json',{'error':getErrorMessage(_0x121c58)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x1026cd,_0x545865))return null;const _0x4a719d=join(_0x257ee9,_0x1026cd[_0x171c4e(0x13e)]);if(!existsSync(_0x4a719d))return null;try{const _0x15e161=statSync(_0x4a719d);if(!_0x15e161[_0x171c4e(0xdf)]()||_0x15e161[_0x171c4e(0x19b)]===0x0)return null;return{'metadata':_0x1026cd,'packageName':_0x1026cd[_0x171c4e(0x13e)],'packageBytes':_0x15e161[_0x171c4e(0x19b)]};}catch(_0xf19e5d){return _0x4e0da1(_0x171c4e(0x130)+_0x171c4e(0x14d)+'t\x20pendin'+_0x171c4e(0xe3)+_0x171c4e(0x1b1)+'kage',{'error':getErrorMessage(_0xf19e5d)}),null;}}function _0x10f687(_0x27dfbe){const _0x524cc9=_0x36cb50,_0x4374bc=_0x29db09();if(!_0x4374bc)return![];const {metadata:_0x25a01a,packageName:_0x5c96cc,packageBytes:_0x18844d}=_0x4374bc;return _0x3131cb(_0x524cc9(0x145)+_0x524cc9(0x15d)+_0x524cc9(0xef)+'t',{'reason':_0x27dfbe,'version':_0x25a01a[_0x524cc9(0x198)],'packageName':_0x5c96cc,'packageBytes':_0x18844d}),_0x176e01({'phase':_0x524cc9(0xe2)+'e','remoteVersion':_0x25a01a[_0x524cc9(0x198)],'comparisonResult':_0x524cc9(0x12e)+_0x524cc9(0xfb),'hasUpdate':!![],'availableVersion':_0x25a01a['version'],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x18844d,'totalBytes':_0x18844d,'hasPendingPackage':!![],'pendingPackageName':_0x5c96cc,'pendingPackageBytes':_0x18844d,'error':null,'message':_0x524cc9(0xed)+'v'+_0x25a01a[_0x524cc9(0x198)]+(',请重新校验并准'+'备安装')}),!![];}function _0x50cf02(){const _0x3db748=_0x36cb50;return _0x373442['supporte'+'d']&&!_0x4bc2cd&&!_0x47a057&&[_0x3db748(0x19c),_0x3db748(0x11b)+_0x3db748(0xe5),_0x3db748(0x116)][_0x3db748(0x181)](_0x373442['phase']);}function _0x418eae(){if(!_0x401ee1)return;clearTimeout(_0x401ee1),_0x401ee1=null;}function _0x110e40(_0x1340dc){const _0x549af2=_0x36cb50,_0x3142a9=_0x373442[_0x549af2(0x104)+'edVersio'+'n'],_0x472a22=_0x373442[_0x549af2(0xe2)+_0x549af2(0x10a)];_0x1a4884=null,_0x567c2=![],_0x418eae(),_0x5a36fa(),_0x176e01({'phase':_0x549af2(0x116),'checkedAt':new Date()[_0x549af2(0x164)+_0x549af2(0x138)](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x472a22??_0x3142a9,'downloadedVersion':_0x3142a9,'error':getErrorMessage(_0x1340dc),'errorCode':_0x549af2(0x178)+_0x549af2(0x116),'message':'安装更新失败'});}function _0x156626(){const _0x1fc82c=_0x36cb50;_0x418eae(),_0x567c2=![],_0x401ee1=setTimeout(()=>{const _0x37d045=_0xc116;if(_0x567c2||_0x373442[_0x37d045(0x141)]!==_0x37d045(0x12c)+'ng')return;_0x4e0da1('quitAndI'+_0x37d045(0x136)+_0x37d045(0x139)+_0x37d045(0x19a)+_0x37d045(0x16b)+_0x37d045(0x110)+_0x37d045(0x182),{'downloadedVersion':_0x373442[_0x37d045(0x104)+_0x37d045(0x1a9)+'n'],'currentVersion':_0x373442[_0x37d045(0x152)+_0x37d045(0x153)]}),_0x110e40(new Error(_0x37d045(0x146)+_0x37d045(0x1a3)+'包后再试'));},_0x517038[_0x1fc82c(0x193)+'uitTimeo'+_0x1fc82c(0x149)]);}function _0x1e4e30(){const _0x4b98bb=_0x36cb50;if(_0x470b54)return;_0x470b54=!![],_0x373442[_0x4b98bb(0x197)+'d']=_0x4e546c(),_0x373442[_0x4b98bb(0x141)]=_0x373442[_0x4b98bb(0x197)+'d']?_0x4b98bb(0x19c):'unsuppor'+_0x4b98bb(0x175),_0x373442[_0x4b98bb(0x165)]=_0x373442[_0x4b98bb(0x197)+'d']?_0x45435b(_0x373442[_0x4b98bb(0x140)]):_0x50bb8d();if(!_0x373442['supporte'+'d']){_0x2ceceb();return;}autoUpdater[_0x4b98bb(0x150)+_0x4b98bb(0xf9)]=_0x517038[_0x4b98bb(0x150)+_0x4b98bb(0xf9)],autoUpdater[_0x4b98bb(0xf8)+'allOnApp'+_0x4b98bb(0x13a)]=![],autoUpdater[_0x4b98bb(0x140)]=_0x373442['channel'],autoUpdater['on'](_0x4b98bb(0xde)+_0x4b98bb(0x133)+_0x4b98bb(0x156),()=>{const _0x55059a=_0x4b98bb;_0x1026cd=null,_0x176e01({'phase':_0x55059a(0xde),'checkedAt':new Date()[_0x55059a(0x164)+_0x55059a(0x138)](),'remoteVersion':null,'comparisonResult':_0x55059a(0xe8),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f391b(),'error':null,'message':_0x55059a(0x135)});}),autoUpdater['on'](_0x4b98bb(0x1a0)+'vailable',_0x15b236=>{const _0x5c34d2=_0x4b98bb,_0xc18b90=extractUpdateInfoPatch(_0x15b236),_0x1e870f=compareAppVersions(_0x544386(),_0xc18b90[_0x5c34d2(0x19f)+_0x5c34d2(0x19d)]);if(_0x1e870f!=='remote-n'+'ewer'){_0x1026cd=null,_0x176e01({..._0xc18b90,'phase':_0x5c34d2(0x11b)+_0x5c34d2(0xe5),'comparisonResult':_0x1e870f,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f391b(),'checkedAt':new Date()[_0x5c34d2(0x164)+_0x5c34d2(0x138)](),'error':null,'message':_0x5c34d2(0x17f)+'本'});return;}_0x1026cd=extractRemoteUpdatePackageMetadata(_0x15b236,_0x141929),_0x176e01({..._0xc18b90,'phase':_0x5c34d2(0xe2)+'e','comparisonResult':_0x1e870f,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f391b(),'checkedAt':new Date()[_0x5c34d2(0x164)+_0x5c34d2(0x138)](),'error':null,'message':_0xc18b90['availabl'+'eVersion']?'发现新版本\x20v'+_0xc18b90[_0x5c34d2(0xe2)+'eVersion']:_0x5c34d2(0x170)}),_0x10f687('update_a'+'vailable');}),autoUpdater['on'](_0x4b98bb(0x11a)+_0x4b98bb(0x12f)+_0x4b98bb(0x1aa),_0xd16f31=>{const _0x1ed62f=_0x4b98bb;_0x1026cd=null;const _0x12c676=extractUpdateInfoPatch(_0xd16f31);_0x176e01({..._0x12c676,'phase':'not-avai'+_0x1ed62f(0xe5),'comparisonResult':compareAppVersions(_0x544386(),_0x12c676[_0x1ed62f(0x19f)+'rsion']),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f391b(),'checkedAt':new Date()[_0x1ed62f(0x164)+'ing'](),'error':null,'message':'当前已经是最新版'+'本'});}),autoUpdater['on'](_0x4b98bb(0x104)+_0x4b98bb(0x126)+'s',_0x1ef6d7=>{const _0x259a5=_0x4b98bb,_0x24361f=extractProgressPatch(_0x1ef6d7),_0x12ab08=_0x1315e0(_0x24361f[_0x259a5(0x104)+'Percent']??null);_0x176e01({..._0x24361f,'downloadPercent':_0x12ab08,'phase':_0x259a5(0x104)+_0x259a5(0x138),..._0x5f391b(),'error':null,'message':_0xbb3250(_0x373442['availabl'+_0x259a5(0x10a)],_0x12ab08)});}),autoUpdater['on'](_0x4b98bb(0x154)+_0x4b98bb(0x122)+'d',_0x1480e=>{const _0x52cb0e=_0x4b98bb,_0x5a6a3c=extractUpdateInfoPatch(_0x1480e),_0x41d17f=extractRemoteUpdatePackageMetadata(_0x1480e,_0x141929)??_0x1026cd;_0x41d17f&&(_0x1026cd=_0x41d17f);const _0x18957f=_0x5a6a3c[_0x52cb0e(0xe2)+'eVersion']??_0x41d17f?.[_0x52cb0e(0x198)]??_0x373442['availabl'+_0x52cb0e(0x10a)];_0x176e01({..._0x5a6a3c,'phase':'download'+'ed','comparisonResult':compareAppVersions(_0x544386(),_0x18957f),'hasUpdate':!![],'downloadedVersion':_0x18957f,'downloadPercent':0x64,..._0x5f391b(),'error':null,'message':_0x18957f?_0x52cb0e(0x11c)+_0x18957f+_0x52cb0e(0xeb):_0x52cb0e(0x151)+'装'});}),autoUpdater['on'](_0x4b98bb(0x116),_0x3fa335=>{const _0x4eb97c=_0x4b98bb;if(_0x373442['phase']==='installi'+'ng'){_0x110e40(_0x3fa335);return;}_0x176e01({'phase':_0x4eb97c(0x116),'checkedAt':new Date()['toISOStr'+_0x4eb97c(0x138)](),..._0x5f391b(),'error':getErrorMessage(_0x3fa335),'errorCode':_0x373442['phase']===_0x4eb97c(0x104)+'ing'?_0x4eb97c(0x104)+'-error':_0x4eb97c(0x166)+_0x4eb97c(0x123),'message':_0x4eb97c(0x18f)});}),_0x2ceceb();}async function _0x54a968(){const _0x3e2ac4=_0x36cb50;_0x1e4e30(),_0x141e00();if(_0x4bc2cd)return _0x4bc2cd;return _0x3131cb(_0x3e2ac4(0x167)+_0x3e2ac4(0x1ac)),_0x4bc2cd=autoUpdater[_0x3e2ac4(0xf6)+_0x3e2ac4(0x120)]()['then'](()=>_0x114b70())['finally'](()=>{_0x4bc2cd=null;}),_0x4bc2cd;}async function _0x4286f1(){const _0x64d227=_0x36cb50;_0x1e4e30(),_0x141e00();if(_0x373442[_0x64d227(0x141)]===_0x64d227(0x104)+'ed'||_0x373442[_0x64d227(0x141)]===_0x64d227(0x12c)+'ng')return _0x114b70();if(!_0x373442[_0x64d227(0x17b)+'e'])throw new Error(_0x64d227(0x194)+'更新');const _0x1a60a4=_0x373442[_0x64d227(0x141)]===_0x64d227(0x116)&&_0x373442['errorCod'+'e']==='install-'+_0x64d227(0x116)&&Boolean(_0x373442[_0x64d227(0x104)+_0x64d227(0x1a9)+'n']);if(_0x373442[_0x64d227(0x141)]===_0x64d227(0x116)){if(_0x1a60a4)_0x176e01({'phase':_0x64d227(0xe2)+'e','hasUpdate':!![],'availableVersion':_0x373442[_0x64d227(0xe2)+_0x64d227(0x10a)]??_0x373442['download'+'edVersio'+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x5f391b(),'error':null,'message':_0x64d227(0x1a7)+'包'});else{await _0x54a968();if(_0x373442[_0x64d227(0x141)]!==_0x64d227(0xe2)+'e')throw new Error(_0x64d227(0x194)+'更新');}}if(![_0x64d227(0xe2)+'e',_0x64d227(0x104)+'ing'][_0x64d227(0x181)](_0x373442['phase']))throw new Error(_0x64d227(0x194)+'更新');if(_0x47a057)return _0x47a057;return _0x47a057=autoUpdater[_0x64d227(0x104)+_0x64d227(0x1b5)]()['then'](()=>{const _0x2c3c08=_0x64d227;return _0x373442[_0x2c3c08(0x141)]!==_0x2c3c08(0x104)+'ed'&&_0x176e01({'phase':_0x2c3c08(0x116),'checkedAt':new Date()['toISOStr'+_0x2c3c08(0x138)](),..._0x5f391b(),'error':_0x2c3c08(0x18d)+'安装器未就绪,请'+_0x2c3c08(0x103),'errorCode':_0x2c3c08(0x104)+_0x2c3c08(0xd9),'message':_0x2c3c08(0x191)}),_0x114b70();})[_0x64d227(0x18b)](()=>{_0x47a057=null;}),_0x47a057;}function _0x497596(){const _0x1773a7=_0x36cb50;_0x1e4e30(),_0x141e00();if(![_0x1773a7(0x104)+'ed','installi'+'ng'][_0x1773a7(0x181)](_0x373442[_0x1773a7(0x141)]))throw new Error(_0x1773a7(0x162)+_0x1773a7(0x195));const _0x37a550=_0x37470c();_0x1a4884=Date[_0x1773a7(0x13b)](),_0xbe8340({'startedAt':new Date(_0x1a4884)[_0x1773a7(0x164)+'ing'](),'currentVersion':_0x373442[_0x1773a7(0x152)+_0x1773a7(0x153)],'downloadedVersion':_0x373442[_0x1773a7(0x104)+_0x1773a7(0x1a9)+'n'],'pendingPackage':_0x37a550[_0x1773a7(0x10b)+_0x1773a7(0x1a4)],'pendingPackageBytes':_0x37a550[_0x1773a7(0x183)+_0x1773a7(0x12b)]}),_0x176e01({'phase':_0x1773a7(0x12c)+'ng',..._0x5f391b(),'error':null,'message':'正在安装更新并重'+_0x1773a7(0x1a5)});try{_0x156626(),autoUpdater[_0x1773a7(0xf1)+_0x1773a7(0x111)](![],!![]);}catch(_0x3b1681){_0x110e40(_0x3b1681);throw _0x3b1681;}return{'ok':!![]};}async function _0x594653(_0x42b65d){const _0x4fff41=_0x36cb50;if(!_0x50cf02())return;_0x4ac86b=Date[_0x4fff41(0x13b)](),_0x3131cb('backgrou'+_0x4fff41(0x158)+'e\x20check\x20'+_0x4fff41(0xf0)+'d',{'reason':_0x42b65d});try{await _0x54a968();}catch(_0x5d2398){_0x4e0da1('backgrou'+_0x4fff41(0x158)+_0x4fff41(0x15a)+_0x4fff41(0x15b),{'reason':_0x42b65d,'error':getErrorMessage(_0x5d2398)});}}function _0x54aebe(_0x412e56){const _0x476155=_0x36cb50;if(!_0x373442['supporte'+'d'])return;const _0x35ad27=Date['now']()-_0x4ac86b;if(_0x35ad27<_0x517038['backgrou'+_0x476155(0x190)+_0x476155(0xe4)])return;void _0x594653(_0x412e56);}function _0x364b8c(){const _0x96d050=_0x36cb50;_0x1e4e30();if(!_0x373442[_0x96d050(0x197)+'d']||_0x5d4773)return;_0x5d4773=setInterval(()=>{void _0x594653('interval');},_0x517038[_0x96d050(0x1ae)+_0x96d050(0x106)+_0x96d050(0xe1)+'s']),void _0x594653(_0x96d050(0x185)),_0x3131cb(_0x96d050(0x1ae)+_0x96d050(0x158)+'e\x20check\x20'+_0x96d050(0x105)+_0x96d050(0x115)+'d',_0x517038);}function _0x232f3b(){const _0x22ae68=_0x36cb50;if(_0x373442[_0x22ae68(0x141)]!==_0x22ae68(0x12c)+'ng')return;_0x567c2=!![],_0x418eae();}return{'initialize':_0x1e4e30,'getState':_0x114b70,'checkForUpdates':_0x54a968,'downloadUpdate':_0x4286f1,'quitAndInstall':_0x497596,'requestBackgroundCheck':_0x54aebe,'startBackgroundChecks':_0x364b8c,'markQuitObserved':_0x232f3b};}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wujie-shell/core",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "type": "module",
5
5
  "main": "dist/src/index.mjs",
6
6
  "exports": {
@@ -33,8 +33,8 @@
33
33
  "get-port": "^7.2.0",
34
34
  "semver": "^7.8.3",
35
35
  "ws": "^8.20.0",
36
- "@wujie-shell/config": "3.0.0",
37
- "@wujie-shell/logger": "3.0.0"
36
+ "@wujie-shell/logger": "3.0.1",
37
+ "@wujie-shell/config": "3.0.1"
38
38
  },
39
39
  "scripts": {
40
40
  "build": "node ../../scripts/build-packages.mjs --package @wujie-shell/core"