@wujie-shell/core 3.0.0 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) 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/dist/src/updates/loader.mjs +1 -0
  41. package/package.json +4 -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
+ const _0x1cf374=_0x3307;(function(_0x4bdfaf,_0x446657){const _0x38a7d1=_0x3307,_0x5623c4=_0x4bdfaf();while(!![]){try{const _0x5e165e=-parseInt(_0x38a7d1(0x1ba))/0x1+parseInt(_0x38a7d1(0x1a6))/0x2*(-parseInt(_0x38a7d1(0x1b6))/0x3)+parseInt(_0x38a7d1(0x189))/0x4+-parseInt(_0x38a7d1(0x1b2))/0x5*(-parseInt(_0x38a7d1(0x18e))/0x6)+parseInt(_0x38a7d1(0x18d))/0x7*(-parseInt(_0x38a7d1(0x18f))/0x8)+-parseInt(_0x38a7d1(0x1a8))/0x9+-parseInt(_0x38a7d1(0x188))/0xa*(-parseInt(_0x38a7d1(0x19c))/0xb);if(_0x5e165e===_0x446657)break;else _0x5623c4['push'](_0x5623c4['shift']());}catch(_0xe50a88){_0x5623c4['push'](_0x5623c4['shift']());}}}(_0x165d,0x695bf));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=_0x1cf374(0x1ad)+_0x1cf374(0x190);function _0x165d(){const _0x948250=['skillKey','entries','size','match','技能商店安装需要','11374AMjGqj','接口返回的\x20co','replace','Key','map','ion','gatewayS','mpare','parse','rsion','35554EGfeLu','resolveS','2985273GcKtYW','trim','logo_url','utf8','descript','aipc-mar','market-s','catch','kills.js','code','235890QDrTcE','has','SKILLS.m','接口返回的\x20ve','15lUUMhR','manifest','接口返回的\x20na','fromEntr','761561hSXFPi',':\x5cs*(.+)','filter','localeCo','isArray','skills','keys','logoUrl','tateDir','11150dbbukz','2783360GbzKoS','skillDir','name','sort','14sJaHxG','6GKUtMy','1128936hJqWun','ket','object','killKey','isDirect','length','^\x5cs*','version'];_0x165d=function(){return _0x948250;};return _0x165d();}function _0x3307(_0x5b81a6,_0x1ddff){_0x5b81a6=_0x5b81a6-0x182;const _0x165d73=_0x165d();let _0x33076a=_0x165d73[_0x5b81a6];return _0x33076a;}async function readMarketSkillRegistry(_0x36a5c7){const _0x358118=_0x1cf374;try{const _0x4afc99=JSON[_0x358118(0x1a4)](await readFile(_0x36a5c7,_0x358118(0x1ab)));if(!_0x4afc99||typeof _0x4afc99!==_0x358118(0x191)||Array[_0x358118(0x183)](_0x4afc99))return{};return _0x4afc99;}catch{return{};}}export async function readSkillMarketRegistry(_0xc8943c){const _0x509728=_0x1cf374;return await readMarketSkillRegistry(join(_0xc8943c,_0x509728(0x1ae)+_0x509728(0x1b0)+'on'));}async function upsertMarketSkillRegistryEntry(_0xa75eeb,_0x59fdc9,_0xf21811,_0x57b80c,_0x114a1e={}){const _0x1aa280=_0x1cf374,_0x4dfa80=getTrimmedString(_0x59fdc9),_0xaaa3d3=getTrimmedString(_0xf21811),_0x50c5ac=getTrimmedString(_0x57b80c);if(!_0x4dfa80||!_0xaaa3d3||!_0x50c5ac)return;const _0x55d2f1=await readMarketSkillRegistry(_0xa75eeb);_0x55d2f1[_0x4dfa80]={'version':_0x50c5ac,'code':_0xaaa3d3,...getTrimmedString(_0x114a1e['name'])?{'name':getTrimmedString(_0x114a1e[_0x1aa280(0x18b)])}:{},...getTrimmedString(_0x114a1e['logoUrl'])?{'logo_url':getTrimmedString(_0x114a1e[_0x1aa280(0x186)])}:{},...getTrimmedString(_0x114a1e[_0x1aa280(0x1ac)+'ion'])?{'description':getTrimmedString(_0x114a1e[_0x1aa280(0x1ac)+_0x1aa280(0x1a1)])}:{}};if(_0x55d2f1[_0xaaa3d3]&&_0xaaa3d3!==_0x4dfa80)delete _0x55d2f1[_0xaaa3d3];for(const [_0x999da0,_0x376b2f]of Object[_0x1aa280(0x198)](_0x55d2f1)){if(_0x999da0!==_0x4dfa80&&asRecord(_0x376b2f)[_0x1aa280(0x1b1)]===_0xaaa3d3)delete _0x55d2f1[_0x999da0];}const _0xafef44=Object[_0x1aa280(0x1b9)+'ies'](Object['entries'](_0x55d2f1)[_0x1aa280(0x18c)](([_0x2b3a27],[_0x14cced])=>_0x2b3a27[_0x1aa280(0x182)+_0x1aa280(0x1a3)](_0x14cced)));await writeJson(_0xa75eeb,_0xafef44);}async function removeMarketSkillRegistryKeys(_0x26d6cf,_0x26ea9c){const _0xb9f8a7=_0x1cf374,_0x42c188=new Set(_0x26ea9c[_0xb9f8a7(0x1a0)](getTrimmedString)[_0xb9f8a7(0x1bc)](Boolean));if(_0x42c188[_0xb9f8a7(0x199)]===0x0)return;const _0x4eb924=await readMarketSkillRegistry(_0x26d6cf);let _0x2ddc4a=![];for(const _0x2acce9 of Object[_0xb9f8a7(0x185)](_0x4eb924)){const _0x5a1a2f=asRecord(_0x4eb924[_0x2acce9]);(_0x42c188[_0xb9f8a7(0x1b3)](_0x2acce9)||_0x42c188[_0xb9f8a7(0x1b3)](getTrimmedString(_0x5a1a2f['code'])))&&(delete _0x4eb924[_0x2acce9],_0x2ddc4a=!![]);}if(_0x2ddc4a){const _0xdbbb12=Object[_0xb9f8a7(0x1b9)+'ies'](Object['entries'](_0x4eb924)['sort'](([_0x5379f3],[_0x1c52f0])=>_0x5379f3[_0xb9f8a7(0x182)+_0xb9f8a7(0x1a3)](_0x1c52f0)));await writeJson(_0x26d6cf,_0xdbbb12);}}async function readSkillManifestText(_0x3a9274){const _0x26aa3f=_0x1cf374,_0x3c8bf2=[join(_0x3a9274,'SKILL.md'),join(_0x3a9274,_0x26aa3f(0x1b4)+'d')];for(const _0x1d1198 of _0x3c8bf2){const _0x3e3f98=await readFile(_0x1d1198,'utf8')[_0x26aa3f(0x1af)](()=>'');if(_0x3e3f98[_0x26aa3f(0x1a9)]())return _0x3e3f98;}return'';}function resolveFrontmatterValue(_0x35c85d,_0x23ab0d){const _0x4cacea=_0x1cf374,_0x395a1e=_0x35c85d[_0x4cacea(0x19a)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x15a85b=_0x395a1e?.[0x1]??'',_0x366c95=_0x15a85b[_0x4cacea(0x19a)](new RegExp(_0x4cacea(0x195)+_0x23ab0d+(_0x4cacea(0x1bb)+'$'),'m'))?.[0x1];return getTrimmedString(_0x366c95)[_0x4cacea(0x19e)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x3c5522){const _0x1edfed=_0x1cf374,_0x2752b7=await readSkillManifestText(_0x3c5522);if(!_0x2752b7[_0x1edfed(0x1a9)]())return null;const _0x26ccc2=_0x2752b7[_0x1edfed(0x19a)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x26ccc2?.[0x1])return getTrimmedString(_0x26ccc2[0x1]);return resolveFrontmatterValue(_0x2752b7,_0x1edfed(0x197))||resolveFrontmatterValue(_0x2752b7,_0x1edfed(0x18b));}async function removeOtherMarketSkillVersions(_0x426e90,_0x1a74f4,_0x5b8079){const _0x262667=_0x1cf374,_0xccd611=getTrimmedString(_0x5b8079);if(!_0xccd611)return;for(const _0xed96b6 of await readdir(_0x426e90,{'withFileTypes':!![]})[_0x262667(0x1af)](()=>[])){if(!_0xed96b6[_0x262667(0x193)+'ory']())continue;const _0x512ff6=join(_0x426e90,_0xed96b6['name']);if(_0x512ff6===_0x1a74f4)continue;const _0x12ee4c=await resolveSkillKeyFromManifest(_0x512ff6);_0x12ee4c&&_0x12ee4c[_0x262667(0x1a9)]()===_0xccd611&&await rm(_0x512ff6,{'recursive':!![],'force':!![]});}}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x5e1b2e,configController:_0x10ea9c}={}){const _0x47d0e3=_0x1cf374,_0x5a989d=asRecord(payload);if(_0x5a989d['source']!=='market')return _0x5e1b2e({'payload':payload});const _0x25f5a4=getTrimmedString(_0x5a989d['code']),_0x2e382c=getTrimmedString(_0x5a989d[_0x47d0e3(0x196)]),_0x4a54a2=getTrimmedString(_0x5a989d[_0x47d0e3(0x18b)]);if(!_0x25f5a4)throw new Error(_0x47d0e3(0x19b)+_0x47d0e3(0x19d)+'de');if(!_0x2e382c)throw new Error(_0x47d0e3(0x19b)+_0x47d0e3(0x1b5)+_0x47d0e3(0x1a5));if(!_0x4a54a2)throw new Error(_0x47d0e3(0x19b)+_0x47d0e3(0x1b8)+'me');const _0x43b52f=await _0x5e1b2e({'payload':{..._0x5a989d,'version':_0x2e382c}});if(!_0x43b52f?.['imported'])return _0x43b52f;const _0x5a192d=getTrimmedString(_0x43b52f[_0x47d0e3(0x197)])||getTrimmedString(_0x43b52f[_0x47d0e3(0x1b7)+_0x47d0e3(0x19f)])||getTrimmedString(_0x43b52f[_0x47d0e3(0x18a)+'Name']);return await removeOtherMarketSkillVersions(join(_0x10ea9c[_0x47d0e3(0x1a7)+_0x47d0e3(0x187)](),_0x47d0e3(0x184)),_0x43b52f['targetPa'+'th'],_0x5a192d),await upsertMarketSkillRegistryEntry(join(_0x10ea9c[_0x47d0e3(0x1a7)+'tateDir'](),_0x47d0e3(0x1ae)+_0x47d0e3(0x1b0)+'on'),_0x5a192d,_0x25f5a4,_0x2e382c,{'name':_0x4a54a2,'logoUrl':getTrimmedString(_0x5a989d[_0x47d0e3(0x186)]),'description':getTrimmedString(_0x5a989d['descript'+_0x47d0e3(0x1a1)])}),_0x43b52f;}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x4bd426,configController:_0x370627}={}){const _0x218da5=_0x1cf374,_0x519379=await _0x4bd426({'payload':payload}),_0x4e0248=asRecord(payload),_0x21af88=getTrimmedString(_0x519379?.['skillKey']??_0x4e0248[_0x218da5(0x197)]??_0x4e0248[_0x218da5(0x18b)]),_0x152031=[_0x21af88,getTrimmedString(_0x4e0248[_0x218da5(0x1a2)+_0x218da5(0x192)]),getTrimmedString(_0x4e0248[_0x218da5(0x18b)])];return await removeMarketSkillRegistryKeys(join(_0x370627[_0x218da5(0x1a7)+_0x218da5(0x187)](),'market-s'+_0x218da5(0x1b0)+'on'),_0x152031),_0x519379;}export function mapMarketRegisteredSkills(_0x5d6c87,_0x563101){const _0x3bbac2=_0x1cf374,_0xed442d=Array[_0x3bbac2(0x183)](asRecord(_0x5d6c87)[_0x3bbac2(0x184)])?asRecord(_0x5d6c87)[_0x3bbac2(0x184)]:[];if(_0xed442d[_0x3bbac2(0x194)]===0x0||Object[_0x3bbac2(0x185)](_0x563101)[_0x3bbac2(0x194)]===0x0)return _0x5d6c87;const _0x44cab9=_0xed442d[_0x3bbac2(0x1a0)](_0x2aad8a=>{const _0x59019e=_0x3bbac2,_0x391442=asRecord(_0x2aad8a),_0x780c9e=getTrimmedString(_0x391442[_0x59019e(0x197)])||getTrimmedString(_0x391442[_0x59019e(0x18b)]);let _0x5ed6ac=_0x780c9e,_0x355a03=asRecord(_0x563101[_0x780c9e]);if(!Object[_0x59019e(0x185)](_0x355a03)[_0x59019e(0x194)])for(const [_0x821d01,_0x1774e9]of Object[_0x59019e(0x198)](_0x563101)){const _0x3362ae=asRecord(_0x1774e9);if(getTrimmedString(_0x3362ae[_0x59019e(0x1b1)])===_0x780c9e){_0x5ed6ac=_0x821d01,_0x355a03=_0x3362ae;break;}}if(!Object[_0x59019e(0x185)](_0x355a03)[_0x59019e(0x194)])return _0x2aad8a;const _0x2fdcd7=getTrimmedString(_0x355a03[_0x59019e(0x1b1)]),_0x12e7f0=getTrimmedString(_0x355a03[_0x59019e(0x18b)]),_0x1b3710=getTrimmedString(_0x355a03[_0x59019e(0x1ac)+'ion']),_0x9e1d42=getTrimmedString(_0x355a03[_0x59019e(0x1aa)]),_0x43c849=getTrimmedString(_0x355a03['version']);return{..._0x391442,'source':SKILL_SOURCE_MARKET,'skillKey':_0x2fdcd7||_0x780c9e,'gatewaySkillKey':_0x2fdcd7?_0x5ed6ac:null,'marketInstalledVersion':_0x43c849||null,..._0x12e7f0?{'name':_0x12e7f0}:{},..._0x1b3710?{'description':_0x1b3710}:{},..._0x9e1d42?{'logoUrl':_0x9e1d42}:{}};});return{...asRecord(_0x5d6c87),'skills':_0x44cab9};}export function createMarketSkillRuntime({configController:_0x54f7bf}){return{'mapSkillsStatus':async _0x5145db=>{const _0x14c271=_0x3307,_0x16bd27=await readSkillMarketRegistry(_0x54f7bf['resolveS'+_0x14c271(0x187)]())[_0x14c271(0x1af)](()=>({}));return mapMarketRegisteredSkills(_0x5145db,_0x16bd27);}};}
@@ -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(_0x4b869a,_0x535deb){const _0x5a793b=_0x4b6d,_0x541e42=_0x4b869a();while(!![]){try{const _0x449f53=-parseInt(_0x5a793b(0xc8))/0x1+-parseInt(_0x5a793b(0xc7))/0x2+-parseInt(_0x5a793b(0xd3))/0x3+-parseInt(_0x5a793b(0xe6))/0x4+parseInt(_0x5a793b(0xd9))/0x5*(-parseInt(_0x5a793b(0xf9))/0x6)+-parseInt(_0x5a793b(0xd2))/0x7*(parseInt(_0x5a793b(0xd0))/0x8)+parseInt(_0x5a793b(0xe8))/0x9*(parseInt(_0x5a793b(0xde))/0xa);if(_0x449f53===_0x535deb)break;else _0x541e42['push'](_0x541e42['shift']());}catch(_0x1722cf){_0x541e42['push'](_0x541e42['shift']());}}}(_0x3071,0x688d5));function _0x4b6d(_0x294579,_0x1b5f7b){_0x294579=_0x294579-0xc0;const _0x307131=_0x3071();let _0x4b6d54=_0x307131[_0x294579];return _0x4b6d54;}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(_0x23e4a1){const _0x956bf5=_0x4b6d,_0x380a2f=Object[_0x956bf5(0xce)](_0x23e4a1)[_0x956bf5(0xfd)](_0x5281a7=>_0x5281a7[_0x956bf5(0xf4)+_0x956bf5(0xe0)]()===_0x956bf5(0xe3))??_0x956bf5(0xc2);return String(_0x23e4a1[_0x380a2f]||'')['split'](delimiter)[_0x956bf5(0xda)](Boolean);}function canExecute(_0xd34ebb){const _0x5b2b4c=_0x4b6d;try{return accessSync(_0xd34ebb,process[_0x5b2b4c(0xc4)]===_0x5b2b4c(0xc6)?constants['F_OK']:constants['X_OK']),!![];}catch{return![];}}function resolveExecutableOnPath(_0x5c9671,_0xcbe296){const _0x3c8904=_0x4b6d,_0x50915f=String(_0x5c9671||'')[_0x3c8904(0xfa)]();if(!_0x50915f)return null;if(_0x50915f[_0x3c8904(0xf7)]('/')||_0x50915f['includes']('\x5c'))return existsSync(_0x50915f)?_0x50915f:null;const _0xf987f6=[_0x50915f];process['platform']===_0x3c8904(0xc6)&&!FILE_EXTENSION_REGEX['test'](_0x50915f)&&_0xf987f6[_0x3c8904(0xd1)](_0x50915f+_0x3c8904(0xf6),_0x50915f+_0x3c8904(0xd6),_0x50915f+_0x3c8904(0xc3));for(const _0x820176 of resolvePathEntries(_0xcbe296)){for(const _0x567f09 of _0xf987f6){const _0x392f5d=join(_0x820176,_0x567f09);if(canExecute(_0x392f5d))return _0x392f5d;}}return null;}function resolveShellLaunchConfig(_0x3deb4a){const _0x24c468=_0x4b6d;if(process[_0x24c468(0xc4)]===_0x24c468(0xc6)){const _0x594f66=resolveExecutableOnPath(_0x24c468(0xd5),_0x3deb4a)??resolveExecutableOnPath('powershe'+'ll',_0x3deb4a);if(_0x594f66)return{'command':_0x594f66,'args':[_0x24c468(0xd7)]};const _0x47a180=resolveExecutableOnPath('cmd',_0x3deb4a);if(_0x47a180)return{'command':_0x47a180,'args':['/Q']};throw new Error(_0x24c468(0xc5)+'rted\x20Win'+'dows\x20she'+_0x24c468(0xca));}if(process['platform']==='darwin'){const _0x5cc02d=['/bin/zsh',_0x24c468(0xf5)+'al/bin/z'+'sh',_0x24c468(0xe1)+_0x24c468(0xc1)+_0x24c468(0xdf)]['find'](canExecute);if(_0x5cc02d)return{'command':_0x5cc02d,'args':['-i']};const _0x520724=['/bin/bas'+'h',_0x24c468(0xf5)+_0x24c468(0xcb)+_0x24c468(0xe7),_0x24c468(0xe1)+_0x24c468(0xc1)+_0x24c468(0xe4)][_0x24c468(0xfd)](canExecute);if(_0x520724)return{'command':_0x520724,'args':['--login','-i']};}const _0x4e9818=resolveExecutableOnPath(process.env.SHELL||'',_0x3deb4a)??resolveExecutableOnPath(_0x24c468(0xfb),_0x3deb4a)??resolveExecutableOnPath('sh',_0x3deb4a);if(!_0x4e9818)throw new Error('No\x20suppo'+'rted\x20she'+_0x24c468(0xca));return{'command':_0x4e9818,'args':['-l','-i']};}export function createTerminalManager({cwd:_0x52b337,emitData:_0x256589,emitExit:_0x14b728}){const _0x2c907e=new Map();function _0x334985(_0x59c4b9){const _0x2eaaba=_0x4b6d,_0x4720db=_0x2c907e[_0x2eaaba(0xc0)](_0x59c4b9);if(!_0x4720db)throw new Error(_0x2eaaba(0xcf)+_0x2eaaba(0xeb)+_0x2eaaba(0xe2)+'nd');return _0x4720db;}async function _0x24ba60(_0x358cd5={}){const _0x2a5410=_0x4b6d,_0x5d2f21={...process.env,'TERM':_0x2a5410(0xfc)+_0x2a5410(0xcc),'COLORTERM':_0x2a5410(0xdd)+'r',..._0x358cd5['env']&&typeof _0x358cd5[_0x2a5410(0xf3)]===_0x2a5410(0xe9)?_0x358cd5['env']:{}},_0x136c86=typeof _0x358cd5[_0x2a5410(0xdc)]==='string'&&_0x358cd5['cwd'][_0x2a5410(0xfa)]()?_0x358cd5['cwd']:'',_0x2ed176=_0x136c86||_0x52b337;await mkdir(_0x2ed176,{'recursive':!![]});const {command:_0xfc9c16,args:_0x42ab30}=resolveShellLaunchConfig(_0x5d2f21),_0x3e0527=randomUUID(),_0x2c57d6=spawn(_0xfc9c16,_0x42ab30,{'cwd':_0x2ed176,'env':_0x5d2f21,'stdio':_0x2a5410(0xd8)});return _0x2c907e['set'](_0x3e0527,{'sessionId':_0x3e0527,'child':_0x2c57d6}),_0x2c57d6[_0x2a5410(0xf1)]['on']('data',_0x21779d=>_0x256589({'sessionId':_0x3e0527,'data':_0x21779d[_0x2a5410(0xcd)]()})),_0x2c57d6[_0x2a5410(0xe5)]['on'](_0x2a5410(0xec),_0x25f749=>_0x256589({'sessionId':_0x3e0527,'data':_0x25f749['toString']()})),_0x2c57d6['on'](_0x2a5410(0xd4),(_0x8f3692,_0x4b4a69)=>{const _0xdd6099=_0x2a5410;_0x2c907e[_0xdd6099(0xdb)](_0x3e0527),_0x14b728({'sessionId':_0x3e0527,'exitCode':_0x8f3692,'signal':_0x4b4a69});}),_0x2c57d6['on'](_0x2a5410(0xf2),_0x5e5db6=>{const _0x2aaab3=_0x2a5410;_0x256589({'sessionId':_0x3e0527,'data':_0x5e5db6[_0x2aaab3(0xee)]+'\x0a'});}),{'sessionId':_0x3e0527,'shell':basename(_0xfc9c16),'cwd':_0x2ed176};}function _0xbe4b5f(_0x46b977={}){const _0x16b449=_0x4b6d,_0x409565=_0x334985(String(_0x46b977[_0x16b449(0xed)+'d']||''));return _0x409565['child'][_0x16b449(0xf0)]['write'](String(_0x46b977[_0x16b449(0xec)]||'')),{'ok':!![]};}function _0x5ca83a(_0x499549={}){const _0x1146d8=_0x4b6d,_0x2550bb=String(_0x499549[_0x1146d8(0xed)+'d']||'');return _0x334985(_0x2550bb),{'ok':!![],'ignored':!![]};}function _0x336cdb(_0x3e0ff4={}){const _0x50a1f1=_0x4b6d,_0x18042d=String(_0x3e0ff4[_0x50a1f1(0xed)+'d']||''),_0x29c95d=_0x2c907e[_0x50a1f1(0xc0)](_0x18042d);if(!_0x29c95d)return{'ok':!![],'closed':![]};return _0x2c907e[_0x50a1f1(0xdb)](_0x18042d),_0x29c95d[_0x50a1f1(0xef)][_0x50a1f1(0xf8)](),{'ok':!![],'closed':!![]};}function _0x2ad495(){const _0x1eb0de=_0x4b6d;for(const _0x2a1454 of _0x2c907e[_0x1eb0de(0xea)]())_0x2a1454['child'][_0x1eb0de(0xf8)]();_0x2c907e[_0x1eb0de(0xc9)]();}return{'create':_0x24ba60,'input':_0xbe4b5f,'resize':_0x5ca83a,'close':_0x336cdb,'dispose':_0x2ad495};}function _0x3071(){const _0x5be7fc=['object','values','\x20session','data','sessionI','message','child','stdin','stdout','error','env','toLowerC','/usr/loc','.exe','includes','kill','24060zHmvIU','trim','bash','xterm-25','find','get','ebrew/bi','PATH','.bat','platform','No\x20suppo','win32','1414802eqPIlM','794623CrbvGU','clear','ll\x20found','al/bin/b','6color','toString','keys','Terminal','16UmRGEk','push','564767zcmFVQ','2148330bnSrzi','close','pwsh','.cmd','-NoLogo','pipe','940vxmuwB','filter','delete','cwd','truecolo','85010YcpPQP','n/zsh','ase','/opt/hom','\x20not\x20fou','path','n/bash','stderr','3367588jtHrLd','ash','4662RRXJQL'];_0x3071=function(){return _0x5be7fc;};return _0x3071();}
@@ -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(_0x357af0,_0x1b886b){const _0x88bab5=_0x184e,_0x2c892c=_0x357af0();while(!![]){try{const _0x13b062=-parseInt(_0x88bab5(0x2a3))/0x1+parseInt(_0x88bab5(0x2b7))/0x2+-parseInt(_0x88bab5(0x260))/0x3*(-parseInt(_0x88bab5(0x203))/0x4)+-parseInt(_0x88bab5(0x25a))/0x5+-parseInt(_0x88bab5(0x210))/0x6+parseInt(_0x88bab5(0x224))/0x7*(parseInt(_0x88bab5(0x239))/0x8)+parseInt(_0x88bab5(0x262))/0x9*(parseInt(_0x88bab5(0x2a7))/0xa);if(_0x13b062===_0x1b886b)break;else _0x2c892c['push'](_0x2c892c['shift']());}catch(_0x512cfc){_0x2c892c['push'](_0x2c892c['shift']());}}}(_0x92e3,0xa91d6));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{basename,join}from'node:path';function _0x92e3(){const _0x20dbb5=['更新包已准备好安','toISOStr','nstall\x20d','104264FVQqdP','getAllWi','启应用','fileName','webConte','error','now','releaseD','Quit','ing','sha512','Library','utf8','requeste','unsuppor','app:upda','e.yml','assign','ending\x20u','nd\x20updat','phase','t\x20pendin','checking','发现新版本\x20v','idle','message','urrent\x20p','total','trim','otes','sion','channel','ndCheckI','516265UZqqzH','安装器未就绪,请','latest','then','新版本','当前没有可下载的','52827WpXAdt','currentV','7220979NHVTlf','l\x20phase\x20','cache\x20hi','sPath','更新包\x20v','backgrou','ot-avail','path','not-avai','发现本地更新包\x20',',请重新校验并准','same-ver','-error','red','ame','packageN','remote-n','自动更新失败','context','pending','Second','win32','number','rigger\x20a','releaseN','o\x20inspec','自动更新功能已就','info','failed\x20t','正在检查更新','exec','length','Percent','string','自动更新已禁用','-updater','nts','已下载更新','动更新','未知的自动更新错','percent','正在安装更新并重','eVersion','warn','e\x20版本支持应用','当前使用\x20Alp','platform','pdate-in','availabl','supporte','更新准备失败','ror','te-state','includes','Update','updaterC','ewer','resource','transfer','packageB','within\x20t','发现可用更新','phase-co','当前已经是最新版','fig\x20中禁用','678724SeBSmm','install-','finally','phase\x20co','10JdmvmS','t\x20instal','lder','AppData','ntext.js','installQ','installi','更新安装未能启动','ing\x20upda','重试下载更新','remoteVe','acheDirN','max','aded\x20pac','ate','pending\x20','2204420ByZRwm','uitTimeo','e\x20check\x20','flatMap','toFixed','edVersio','pp-updat','install\x20','\x20已准备好安装','updates','g\x20downlo','version','isFile','ndCheckS','\x20AppImag','darwin','autoDown','isPackag','url','isFinite','errorCod','parse','load','bytesPer','no\x20match','size','正在验证安装包…','dataDir','download','startup','linux','116KMekSG','test','enabled','当前没有可安装的','app-upda','pathname','Linux\x20下仅','正在下载\x20','utMs','min','taleMs','l\x20packag','rsion','6190572JqNZuK','unknown','imeout','自动更新已在\x20s','r\x20starte','自动更新仅在打包','te.yml','package\x20','lable','id\x20not\x20t','quitAndI','kage','update-n','object','quested','isArray','find','update-d','map','o\x20read\x20a','49xYFrXj','Updates','后的安装包中可用','pp\x20quit\x20','当前构建不支持自','alpha','ytes','schedule','ted','ersion','ownloade','ntervalM','nfo.json','ge\x20for\x20c','update-a',',请重新下载更新','包后再试','check-er'];_0x92e3=function(){return _0x20dbb5;};return _0x92e3();}import _0x372a17 from'electron-updater';import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';const {autoUpdater}=_0x372a17,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(_0x523f92){const _0x30346b=_0x184e;if(typeof _0x523f92!=='string')return null;const _0x2d042d=_0x523f92[_0x30346b(0x255)]();if(!_0x2d042d||_0x2d042d==='.'||_0x2d042d==='..'||_0x2d042d[_0x30346b(0x297)]('/')||_0x2d042d['includes']('\x5c'))return null;return _0x2d042d;}function isMatchingAppUpdatePackageMetadata(_0x58bc4a,_0x3ff145){const _0x563bef=_0x184e;if(!_0x58bc4a||!_0x3ff145||typeof _0x3ff145!==_0x563bef(0x21d))return![];const _0x3ea33c=_0x3ff145,_0x4408f7=normalizeAppUpdatePackageFileName(_0x58bc4a[_0x563bef(0x23c)]),_0x36b763=normalizeAppUpdatePackageFileName(_0x3ea33c[_0x563bef(0x23c)]),_0x5b8617=_0x58bc4a['sha512']['trim'](),_0xd387c2=typeof _0x3ea33c[_0x563bef(0x243)]==='string'?_0x3ea33c[_0x563bef(0x243)][_0x563bef(0x255)]():'';return Boolean(_0x4408f7&&_0x36b763&&_0x4408f7===_0x36b763&&_0x5b8617&&_0xd387c2&&_0x5b8617===_0xd387c2);}function _0x184e(_0x280b55,_0x2eb2ac){_0x280b55=_0x280b55-0x1e6;const _0x92e34d=_0x92e3();let _0x184e57=_0x92e34d[_0x280b55];return _0x184e57;}function normalizeAppVersion(_0x584b21){const _0x1ed569=_0x184e;return clean(String(_0x584b21??'')[_0x1ed569(0x255)]());}function compareAppVersions(_0xd0239,_0x3e0999){const _0x27c5ff=_0x184e,_0x5937c1=normalizeAppVersion(_0xd0239),_0x19dd50=normalizeAppVersion(_0x3e0999);if(!_0x5937c1||!_0x19dd50)return _0x27c5ff(0x211);const _0x4586fc=compare(_0x19dd50,_0x5937c1);if(_0x4586fc===0x0)return _0x27c5ff(0x26d)+_0x27c5ff(0x257);return _0x4586fc>0x0?_0x27c5ff(0x272)+'ewer':'remote-o'+_0x27c5ff(0x2a9);}function normalizeAppUpdateChannel(_0x557983){const _0x4bfd04=_0x184e;return _0x557983===_0x4bfd04(0x229)?_0x4bfd04(0x229):_0x4bfd04(0x25c);}function normalizeString(_0x1a42d7){const _0xc677ca=_0x184e;if(typeof _0x1a42d7!==_0xc677ca(0x283))return null;const _0x86243b=_0x1a42d7['trim']();return _0x86243b||null;}function normalizeReleaseNotes(_0x346d7d){const _0x1e4184=_0x184e;if(typeof _0x346d7d==='string')return normalizeString(_0x346d7d);if(!Array[_0x1e4184(0x21f)](_0x346d7d))return null;const _0xd11e27=_0x346d7d[_0x1e4184(0x1e7)](_0x462b04=>{const _0x2c4e6b=_0x1e4184;if(typeof _0x462b04===_0x2c4e6b(0x283)){const _0x488927=normalizeString(_0x462b04);return _0x488927?[_0x488927]:[];}if(!_0x462b04||typeof _0x462b04!=='object')return[];const _0x33dabb=normalizeString(_0x462b04[_0x2c4e6b(0x1ef)]),_0x244e07=normalizeString(_0x462b04['note']);if(_0x33dabb&&_0x244e07)return['v'+_0x33dabb+'\x0a'+_0x244e07];if(_0x244e07)return[_0x244e07];if(_0x33dabb)return['v'+_0x33dabb];return[];});return _0xd11e27[_0x1e4184(0x281)]>0x0?_0xd11e27['join']('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x562a0f){const _0x259b6c=_0x184e;if(!_0x562a0f||typeof _0x562a0f!=='object')return{};return{'remoteVersion':normalizeString(_0x562a0f[_0x259b6c(0x1ef)]),'availableVersion':normalizeString(_0x562a0f[_0x259b6c(0x1ef)]),'releaseName':normalizeString(_0x562a0f[_0x259b6c(0x27a)+_0x259b6c(0x270)]),'releaseDate':normalizeString(_0x562a0f[_0x259b6c(0x240)+_0x259b6c(0x2b5)]),'releaseNotes':normalizeReleaseNotes(_0x562a0f['releaseN'+_0x259b6c(0x256)])};}function extractPackageFileName(_0x4c54e6){const _0x3657db=_0x184e,_0x31b866=normalizeString(_0x4c54e6);if(!_0x31b866)return null;try{const _0x252f5e=new URL(_0x31b866);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0x252f5e[_0x3657db(0x208)])));}catch{const _0x56f71b=_0x31b866['split'](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x56f71b));}}function getPreferredUpdatePackagePattern(){const _0x4081d3=_0x184e;if(process[_0x4081d3(0x290)]===_0x4081d3(0x1f3))return/\.zip$/iu;if(process[_0x4081d3(0x290)]==='win32')return/\.exe$/iu;if(process['platform']==='linux')return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x1331be,_0x4a7406){const _0x79002f=_0x184e;if(!_0x1331be||typeof _0x1331be!==_0x79002f(0x21d))return null;const _0x24ea6f=normalizeString(_0x1331be[_0x79002f(0x1ef)]);if(!_0x24ea6f)return null;const _0x41edd8=[],_0x5ed52d=Array[_0x79002f(0x21f)](_0x1331be['files'])?_0x1331be['files']:[];for(const _0x33c2a0 of _0x5ed52d){if(!_0x33c2a0||typeof _0x33c2a0!==_0x79002f(0x21d))continue;const _0x42e5e3=extractPackageFileName(_0x33c2a0[_0x79002f(0x1f6)])??extractPackageFileName(_0x33c2a0[_0x79002f(0x269)])??normalizeAppUpdatePackageFileName(_0x33c2a0[_0x79002f(0x23c)]),_0x2a7a49=normalizeString(_0x33c2a0[_0x79002f(0x243)]);_0x42e5e3&&_0x2a7a49&&_0x41edd8['push']({'fileName':_0x42e5e3,'sha512':_0x2a7a49});}const _0x1dafdb=extractPackageFileName(_0x1331be[_0x79002f(0x1f6)])??extractPackageFileName(_0x1331be[_0x79002f(0x269)])??normalizeAppUpdatePackageFileName(_0x1331be[_0x79002f(0x23c)]),_0x35c95d=normalizeString(_0x1331be[_0x79002f(0x243)]);_0x1dafdb&&_0x35c95d&&_0x41edd8['push']({'fileName':_0x1dafdb,'sha512':_0x35c95d});const _0xf5785e=_0x41edd8[_0x79002f(0x220)](_0x2e3f40=>getPreferredUpdatePackagePattern()[_0x79002f(0x204)](_0x2e3f40[_0x79002f(0x23c)]));if(!_0xf5785e)return _0x4a7406?.[_0x79002f(0x28d)]?.(_0x79002f(0x1fc)+_0x79002f(0x2af)+'te\x20packa'+_0x79002f(0x231)+_0x79002f(0x253)+'latform',{'platform':process['platform'],'candidates':_0x41edd8[_0x79002f(0x222)](_0x23757e=>_0x23757e[_0x79002f(0x23c)])}),null;return{'version':_0x24ea6f,..._0xf5785e};}function extractProgressPatch(_0x25073f){const _0x2df017=_0x184e;return{'downloadPercent':typeof _0x25073f[_0x2df017(0x28a)]===_0x2df017(0x278)?_0x25073f[_0x2df017(0x28a)]:null,'bytesPerSecond':typeof _0x25073f[_0x2df017(0x1fb)+_0x2df017(0x276)]===_0x2df017(0x278)?_0x25073f[_0x2df017(0x1fb)+_0x2df017(0x276)]:null,'transferredBytes':typeof _0x25073f[_0x2df017(0x29c)+_0x2df017(0x26f)]==='number'?_0x25073f[_0x2df017(0x29c)+'red']:null,'totalBytes':typeof _0x25073f[_0x2df017(0x254)]===_0x2df017(0x278)?_0x25073f[_0x2df017(0x254)]:null};}function getErrorMessage(_0x4b23d1){const _0x3edd3c=_0x184e;if(_0x4b23d1 instanceof Error&&_0x4b23d1['message']['trim']())return _0x4b23d1[_0x3edd3c(0x252)]['trim']();if(typeof _0x4b23d1===_0x3edd3c(0x283)&&_0x4b23d1[_0x3edd3c(0x255)]())return _0x4b23d1[_0x3edd3c(0x255)]();return _0x3edd3c(0x289)+'误';}export function createUpdateController({shellConfig:_0x12db6d,appName:_0x171f22,appVersion:_0x54928b,broadcast:_0x2d23b0,logger:_0x2af15e}){const _0x1117ff=_0x184e,_0x2250a4=_0x12db6d[_0x1117ff(0x1ed)]??{},_0x1486b2=normalizeAppUpdateChannel(_0x2250a4[_0x1117ff(0x258)]),_0x105f58={'backgroundCheckIntervalMs':_0x2250a4['backgrou'+_0x1117ff(0x259)+_0x1117ff(0x22f)+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x2250a4[_0x1117ff(0x267)+'ndCheckS'+_0x1117ff(0x20d)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x2250a4['installQ'+_0x1117ff(0x2b8)+'utMs']??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'autoDownload':_0x2250a4[_0x1117ff(0x1f4)+_0x1117ff(0x1fa)]===!![]},_0x39c0fa={'supported':![],'channel':_0x1486b2,'phase':_0x1117ff(0x247)+_0x1117ff(0x22c),'currentVersion':_0x54928b(),'remoteVersion':null,'comparisonResult':_0x1117ff(0x211),'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':_0x1117ff(0x284),'error':null,'errorCode':null};let _0xc8acf8=![],_0x3fe933=null,_0x2e5a71=null,_0x28c81a=null,_0x1bfd1e=null,_0x51d337=null,_0xd6cfda=![],_0x3edf0e=null,_0xfd1874=0x0;function _0x3d11ea(){const _0x33894e=_0x1117ff;if(process['platform']===_0x33894e(0x1f3))return join(homedir(),_0x33894e(0x244),'Caches');if(process[_0x33894e(0x290)]===_0x33894e(0x277))return process.env.LOCALAPPDATA??join(homedir(),_0x33894e(0x2aa),'Local');return process.env.XDG_CACHE_HOME??join(homedir(),'.cache');}function _0x348e8c(){const _0x5aaedf=_0x1117ff;if(!app[_0x5aaedf(0x1f5)+'ed']||!process[_0x5aaedf(0x29b)+_0x5aaedf(0x265)])return{};const _0x1a67cd=join(process['resource'+_0x5aaedf(0x265)],_0x5aaedf(0x207)+_0x5aaedf(0x216));if(!existsSync(_0x1a67cd))return{};try{const _0x4512ac=readFileSync(_0x1a67cd,_0x5aaedf(0x245)),_0x16a9ba=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x5aaedf(0x280)](_0x4512ac),_0x31b998=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu['exec'](_0x4512ac);return{'channel':normalizeAppUpdateChannel(_0x16a9ba?.[0x1]),'updaterCacheDirName':normalizeString(_0x31b998?.[0x1])};}catch(_0x2fa51c){return _0x2af15e?.[_0x5aaedf(0x28d)]?.(_0x5aaedf(0x27e)+_0x5aaedf(0x223)+_0x5aaedf(0x1ea)+_0x5aaedf(0x249),{'error':getErrorMessage(_0x2fa51c)}),{};}}const _0x4cb66d=_0x348e8c();_0x4cb66d[_0x1117ff(0x258)]&&(_0x39c0fa[_0x1117ff(0x258)]=_0x4cb66d['channel']);function _0x5403d4(){const _0x1143fb=_0x1117ff,_0x1f8f5e=_0x4cb66d[_0x1143fb(0x299)+_0x1143fb(0x2b2)+_0x1143fb(0x270)]||_0x171f22()+_0x1143fb(0x285);return join(_0x3d11ea(),_0x1f8f5e);}function _0xef05e6(_0x4f82af){const _0x5b6bf3=_0x1117ff;return _0x4f82af===_0x5b6bf3(0x229)?_0x5b6bf3(0x28f)+'ha\x20更新渠道':_0x5b6bf3(0x27c)+'绪';}function _0x6cc34c(){const _0x69274=_0x1117ff;if(_0x2250a4[_0x69274(0x205)]===![])return![];if(!app['isPackag'+'ed'])return![];if(process[_0x69274(0x290)]!==_0x69274(0x202))return!![];return Boolean(process.env.APPIMAGE);}function _0xf414e2(){const _0x38400e=_0x1117ff;if(_0x2250a4[_0x38400e(0x205)]===![])return _0x38400e(0x213)+'hell.con'+_0x38400e(0x2a2);if(!app['isPackag'+'ed'])return _0x38400e(0x215)+_0x38400e(0x226);if(process[_0x38400e(0x290)]===_0x38400e(0x202))return _0x38400e(0x209)+_0x38400e(0x1f2)+_0x38400e(0x28e)+'内自动更新';return _0x38400e(0x228)+_0x38400e(0x288);}function _0x12ebb6(){const _0xd7cc1e=_0x1117ff;return join(_0x12db6d[_0xd7cc1e(0x1ff)],_0xd7cc1e(0x2a4)+_0xd7cc1e(0x2a0)+_0xd7cc1e(0x2ab)+'on');}function _0x38c3bf(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x164a37(){return{..._0x39c0fa};}function _0x4ee918(){const _0x515855=_0x1117ff,_0x5994ad=_0x164a37();for(const _0x3408bd of BrowserWindow[_0x515855(0x23a)+'ndows']()){!_0x3408bd['isDestro'+'yed']()&&_0x3408bd[_0x515855(0x23d)+_0x515855(0x286)]['send']('app:upda'+_0x515855(0x296),_0x5994ad);}_0x2d23b0?.(_0x515855(0x248)+'te-state',_0x5994ad);}function _0x138dc2(_0x303c64){const _0x48f3cb=_0x1117ff,_0x19b4de={..._0x303c64};_0x19b4de[_0x48f3cb(0x23e)]===null&&_0x19b4de['errorCod'+'e']===undefined&&(_0x19b4de[_0x48f3cb(0x1f8)+'e']=null),Object[_0x48f3cb(0x24a)](_0x39c0fa,_0x19b4de,{'currentVersion':_0x54928b()}),_0x4ee918();}function _0x529daf(){const _0x5170c8=_0x1117ff;if(!_0x39c0fa[_0x5170c8(0x293)+'d'])throw new Error(_0xf414e2());}function _0x3a0921(_0x12e3e6,_0x3b9d22={}){const _0x4048c2=_0x1117ff;_0x2af15e?.[_0x4048c2(0x27d)]?.(_0x12e3e6,_0x3b9d22);}function _0x2f5663(_0x1ef271,_0x51788f={}){const _0x4f3dc5=_0x1117ff;_0x2af15e?.[_0x4f3dc5(0x28d)]?.(_0x1ef271,_0x51788f);}function _0x4d76be(_0x43bc62){const _0x1cc03c=_0x1117ff;if(typeof _0x43bc62!==_0x1cc03c(0x278)||!Number[_0x1cc03c(0x1f7)](_0x43bc62))return null;const _0x2e28cd=Math[_0x1cc03c(0x20c)](0x63,Math[_0x1cc03c(0x2b3)](0x0,_0x43bc62));if(_0x39c0fa['phase']!=='download'+_0x1cc03c(0x242)||typeof _0x39c0fa[_0x1cc03c(0x200)+_0x1cc03c(0x282)]!=='number')return _0x2e28cd;return Math['max'](_0x39c0fa[_0x1cc03c(0x200)+_0x1cc03c(0x282)],_0x2e28cd);}function _0x17dcb3(_0x820430,_0x2596d0){const _0x2da184=_0x1117ff,_0x3bf22a=_0x820430?'v'+_0x820430:_0x2da184(0x25e);if(typeof _0x2596d0===_0x2da184(0x278)){if(_0x2596d0>=0x63)return _0x2da184(0x1fe);return'正在下载\x20'+_0x3bf22a+'\x20('+_0x2596d0[_0x2da184(0x1e8)](0x1)+'%)';}return _0x2da184(0x20a)+_0x3bf22a;}function _0x1f99c9(_0x2d4b3c){const _0x388b59=_0x1117ff;try{writeFileSync(_0x12ebb6(),JSON['stringif'+'y'](_0x2d4b3c,null,0x2),_0x388b59(0x245));}catch(_0x8340d2){_0x2f5663(_0x388b59(0x27e)+'o\x20persis'+_0x388b59(0x2a8)+_0x388b59(0x263)+_0x388b59(0x274),{'error':getErrorMessage(_0x8340d2)});}}function _0x38cb0a(){const _0x1020df=_0x1117ff;try{rmSync(_0x12ebb6(),{'force':!![]});}catch(_0x549969){_0x2f5663('failed\x20t'+'o\x20clear\x20'+_0x1020df(0x1eb)+_0x1020df(0x2a6)+'ntext',{'error':getErrorMessage(_0x549969)});}}function _0x2a1249(){const _0x31a0df=_0x1117ff,_0x267a6f=join(_0x5403d4(),_0x31a0df(0x275));if(!existsSync(_0x267a6f))return{'packageName':null,'packageBytes':null};try{const _0x12dff3=readdirSync(_0x267a6f)['find'](_0x1860e2=>/\.(zip|exe|dmg|AppImage)$/iu[_0x31a0df(0x204)](_0x1860e2))??null;if(!_0x12dff3)return{'packageName':null,'packageBytes':null};const _0x54c200=join(_0x267a6f,_0x12dff3);return{'packageName':_0x12dff3,'packageBytes':statSync(_0x54c200)[_0x31a0df(0x1fd)]};}catch(_0x1453ce){return _0x2f5663(_0x31a0df(0x27e)+_0x31a0df(0x27b)+_0x31a0df(0x24e)+'g\x20instal'+_0x31a0df(0x20e)+'e',{'error':getErrorMessage(_0x1453ce)}),{'packageName':null,'packageBytes':null};}}function _0xda3004(){const _0x4f633b=_0x1117ff;if(!_0x28c81a)return null;const _0x276666=join(_0x5403d4(),_0x4f633b(0x275)),_0x37a878=join(_0x276666,'update-i'+_0x4f633b(0x230));if(!existsSync(_0x37a878))return null;let _0xbfc77b=null;try{_0xbfc77b=JSON[_0x4f633b(0x1f9)](readFileSync(_0x37a878,'utf8'));}catch(_0xc7c27d){return _0x2f5663(_0x4f633b(0x27e)+'o\x20read\x20p'+_0x4f633b(0x24b)+_0x4f633b(0x291)+'fo.json',{'error':getErrorMessage(_0xc7c27d)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x28c81a,_0xbfc77b))return null;const _0x4bd5f9=join(_0x276666,_0x28c81a[_0x4f633b(0x23c)]);if(!existsSync(_0x4bd5f9))return null;try{const _0x12ba55=statSync(_0x4bd5f9);if(!_0x12ba55[_0x4f633b(0x1f0)]()||_0x12ba55[_0x4f633b(0x1fd)]===0x0)return null;return{'metadata':_0x28c81a,'packageName':_0x28c81a['fileName'],'packageBytes':_0x12ba55[_0x4f633b(0x1fd)]};}catch(_0xf05a4a){return _0x2f5663('failed\x20t'+'o\x20inspec'+_0x4f633b(0x24e)+_0x4f633b(0x1ee)+_0x4f633b(0x2b4)+_0x4f633b(0x21b),{'error':getErrorMessage(_0xf05a4a)}),null;}}function _0xa8f3fb(_0x1aa0a7){const _0x35f646=_0x1117ff,_0x51c5c6=_0xda3004();if(!_0x51c5c6)return![];const {metadata:_0x488b4f,packageName:_0x1327ec,packageBytes:_0x4eb158}=_0x51c5c6;return _0x3a0921(_0x35f646(0x2b6)+_0x35f646(0x217)+_0x35f646(0x264)+'t',{'reason':_0x1aa0a7,'version':_0x488b4f[_0x35f646(0x1ef)],'packageName':_0x1327ec,'packageBytes':_0x4eb158}),_0x138dc2({'phase':_0x35f646(0x292)+'e','remoteVersion':_0x488b4f[_0x35f646(0x1ef)],'comparisonResult':_0x35f646(0x272)+_0x35f646(0x29a),'hasUpdate':!![],'availableVersion':_0x488b4f['version'],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x4eb158,'totalBytes':_0x4eb158,'hasPendingPackage':!![],'pendingPackageName':_0x1327ec,'pendingPackageBytes':_0x4eb158,'error':null,'message':_0x35f646(0x26b)+'v'+_0x488b4f[_0x35f646(0x1ef)]+(_0x35f646(0x26c)+'备安装')}),!![];}function _0x4ee282(){const _0x47c1b3=_0x1117ff;return _0x39c0fa['supporte'+'d']&&!_0x3fe933&&!_0x2e5a71&&[_0x47c1b3(0x251),_0x47c1b3(0x26a)+_0x47c1b3(0x218),_0x47c1b3(0x23e)]['includes'](_0x39c0fa['phase']);}function _0xf5e560(){if(!_0x51d337)return;clearTimeout(_0x51d337),_0x51d337=null;}function _0x5b58cd(_0x1b45a2){const _0x4f5ff8=_0x1117ff,_0x179ea0=_0x39c0fa[_0x4f5ff8(0x200)+'edVersio'+'n'],_0x136c0f=_0x39c0fa[_0x4f5ff8(0x292)+_0x4f5ff8(0x28c)];_0x1bfd1e=null,_0xd6cfda=![],_0xf5e560(),_0x38cb0a(),_0x138dc2({'phase':_0x4f5ff8(0x23e),'checkedAt':new Date()['toISOStr'+_0x4f5ff8(0x242)](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x136c0f??_0x179ea0,'downloadedVersion':_0x179ea0,'error':getErrorMessage(_0x1b45a2),'errorCode':_0x4f5ff8(0x2a4)+_0x4f5ff8(0x23e),'message':'安装更新失败'});}function _0x18def7(){const _0x1d6afa=_0x1117ff;_0xf5e560(),_0xd6cfda=![],_0x51d337=setTimeout(()=>{const _0x30e81e=_0x184e;if(_0xd6cfda||_0x39c0fa[_0x30e81e(0x24d)]!==_0x30e81e(0x2ad)+'ng')return;_0x2f5663(_0x30e81e(0x21a)+_0x30e81e(0x238)+_0x30e81e(0x219)+_0x30e81e(0x279)+_0x30e81e(0x227)+_0x30e81e(0x29e)+_0x30e81e(0x212),{'downloadedVersion':_0x39c0fa[_0x30e81e(0x200)+_0x30e81e(0x1e9)+'n'],'currentVersion':_0x39c0fa[_0x30e81e(0x261)+_0x30e81e(0x22d)]}),_0x5b58cd(new Error(_0x30e81e(0x2ae)+_0x30e81e(0x233)+_0x30e81e(0x234)));},_0x105f58[_0x1d6afa(0x2ac)+_0x1d6afa(0x2b8)+_0x1d6afa(0x20b)]);}function _0x55d4d2(){const _0x32851d=_0x1117ff;if(_0xc8acf8)return;_0xc8acf8=!![],_0x39c0fa['supporte'+'d']=_0x6cc34c(),_0x39c0fa[_0x32851d(0x24d)]=_0x39c0fa['supporte'+'d']?'idle':'unsuppor'+_0x32851d(0x22c),_0x39c0fa[_0x32851d(0x252)]=_0x39c0fa[_0x32851d(0x293)+'d']?_0xef05e6(_0x39c0fa['channel']):_0xf414e2();if(!_0x39c0fa[_0x32851d(0x293)+'d']){_0x4ee918();return;}autoUpdater[_0x32851d(0x1f4)+_0x32851d(0x1fa)]=_0x105f58[_0x32851d(0x1f4)+_0x32851d(0x1fa)],autoUpdater['autoInst'+'allOnApp'+_0x32851d(0x241)]=![],autoUpdater['channel']=_0x39c0fa[_0x32851d(0x258)],autoUpdater['on']('checking'+'-for-upd'+_0x32851d(0x2b5),()=>{const _0x1a85d2=_0x32851d;_0x28c81a=null,_0x138dc2({'phase':_0x1a85d2(0x24f),'checkedAt':new Date()['toISOStr'+_0x1a85d2(0x242)](),'remoteVersion':null,'comparisonResult':_0x1a85d2(0x211),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x38c3bf(),'error':null,'message':_0x1a85d2(0x27f)});}),autoUpdater['on'](_0x32851d(0x232)+'vailable',_0x871d47=>{const _0x4a265f=_0x32851d,_0xa81e31=extractUpdateInfoPatch(_0x871d47),_0x42ac07=compareAppVersions(_0x54928b(),_0xa81e31[_0x4a265f(0x2b1)+_0x4a265f(0x20f)]);if(_0x42ac07!=='remote-n'+_0x4a265f(0x29a)){_0x28c81a=null,_0x138dc2({..._0xa81e31,'phase':_0x4a265f(0x26a)+_0x4a265f(0x218),'comparisonResult':_0x42ac07,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x38c3bf(),'checkedAt':new Date()[_0x4a265f(0x237)+'ing'](),'error':null,'message':_0x4a265f(0x2a1)+'本'});return;}_0x28c81a=extractRemoteUpdatePackageMetadata(_0x871d47,_0x2af15e),_0x138dc2({..._0xa81e31,'phase':_0x4a265f(0x292)+'e','comparisonResult':_0x42ac07,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x38c3bf(),'checkedAt':new Date()[_0x4a265f(0x237)+_0x4a265f(0x242)](),'error':null,'message':_0xa81e31[_0x4a265f(0x292)+_0x4a265f(0x28c)]?_0x4a265f(0x250)+_0xa81e31[_0x4a265f(0x292)+'eVersion']:_0x4a265f(0x29f)}),_0xa8f3fb('update_a'+'vailable');}),autoUpdater['on'](_0x32851d(0x21c)+_0x32851d(0x268)+'able',_0x2f4f92=>{const _0x5657e2=_0x32851d;_0x28c81a=null;const _0x44288f=extractUpdateInfoPatch(_0x2f4f92);_0x138dc2({..._0x44288f,'phase':_0x5657e2(0x26a)+'lable','comparisonResult':compareAppVersions(_0x54928b(),_0x44288f[_0x5657e2(0x2b1)+_0x5657e2(0x20f)]),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x38c3bf(),'checkedAt':new Date()[_0x5657e2(0x237)+'ing'](),'error':null,'message':_0x5657e2(0x2a1)+'本'});}),autoUpdater['on']('download'+'-progres'+'s',_0x5edd54=>{const _0x5ae807=_0x32851d,_0x219a52=extractProgressPatch(_0x5edd54),_0x508829=_0x4d76be(_0x219a52[_0x5ae807(0x200)+_0x5ae807(0x282)]??null);_0x138dc2({..._0x219a52,'downloadPercent':_0x508829,'phase':_0x5ae807(0x200)+_0x5ae807(0x242),..._0x38c3bf(),'error':null,'message':_0x17dcb3(_0x39c0fa[_0x5ae807(0x292)+_0x5ae807(0x28c)],_0x508829)});}),autoUpdater['on'](_0x32851d(0x221)+_0x32851d(0x22e)+'d',_0x1d7443=>{const _0x3b07c4=_0x32851d,_0xd51745=extractUpdateInfoPatch(_0x1d7443),_0x5cb22b=extractRemoteUpdatePackageMetadata(_0x1d7443,_0x2af15e)??_0x28c81a;_0x5cb22b&&(_0x28c81a=_0x5cb22b);const _0xc69bd=_0xd51745[_0x3b07c4(0x292)+'eVersion']??_0x5cb22b?.[_0x3b07c4(0x1ef)]??_0x39c0fa[_0x3b07c4(0x292)+'eVersion'];_0x138dc2({..._0xd51745,'phase':_0x3b07c4(0x200)+'ed','comparisonResult':compareAppVersions(_0x54928b(),_0xc69bd),'hasUpdate':!![],'downloadedVersion':_0xc69bd,'downloadPercent':0x64,..._0x38c3bf(),'error':null,'message':_0xc69bd?_0x3b07c4(0x266)+_0xc69bd+_0x3b07c4(0x1ec):_0x3b07c4(0x236)+'装'});}),autoUpdater['on'](_0x32851d(0x23e),_0x21ec9a=>{const _0x268146=_0x32851d;if(_0x39c0fa[_0x268146(0x24d)]===_0x268146(0x2ad)+'ng'){_0x5b58cd(_0x21ec9a);return;}_0x138dc2({'phase':_0x268146(0x23e),'checkedAt':new Date()['toISOStr'+'ing'](),..._0x38c3bf(),'error':getErrorMessage(_0x21ec9a),'errorCode':_0x39c0fa[_0x268146(0x24d)]===_0x268146(0x200)+_0x268146(0x242)?_0x268146(0x200)+_0x268146(0x26e):_0x268146(0x235)+_0x268146(0x295),'message':_0x268146(0x273)});}),_0x4ee918();}async function _0x223628(){const _0x4e5ade=_0x1117ff;_0x55d4d2(),_0x529daf();if(_0x3fe933)return _0x3fe933;return _0x3a0921('check\x20re'+_0x4e5ade(0x21e)),_0x3fe933=autoUpdater['checkFor'+_0x4e5ade(0x225)]()[_0x4e5ade(0x25d)](()=>_0x164a37())[_0x4e5ade(0x2a5)](()=>{_0x3fe933=null;}),_0x3fe933;}async function _0x292b03(){const _0x3596f1=_0x1117ff;_0x55d4d2(),_0x529daf();if(_0x39c0fa['phase']===_0x3596f1(0x200)+'ed'||_0x39c0fa['phase']==='installi'+'ng')return _0x164a37();if(!_0x39c0fa['hasUpdat'+'e'])throw new Error(_0x3596f1(0x25f)+'更新');const _0x1bbc67=_0x39c0fa[_0x3596f1(0x24d)]===_0x3596f1(0x23e)&&_0x39c0fa[_0x3596f1(0x1f8)+'e']==='install-'+_0x3596f1(0x23e)&&Boolean(_0x39c0fa[_0x3596f1(0x200)+_0x3596f1(0x1e9)+'n']);if(_0x39c0fa[_0x3596f1(0x24d)]===_0x3596f1(0x23e)){if(_0x1bbc67)_0x138dc2({'phase':'availabl'+'e','hasUpdate':!![],'availableVersion':_0x39c0fa[_0x3596f1(0x292)+_0x3596f1(0x28c)]??_0x39c0fa['download'+_0x3596f1(0x1e9)+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x38c3bf(),'error':null,'message':'正在重新准备更新'+'包'});else{await _0x223628();if(_0x39c0fa[_0x3596f1(0x24d)]!==_0x3596f1(0x292)+'e')throw new Error(_0x3596f1(0x25f)+'更新');}}if(![_0x3596f1(0x292)+'e',_0x3596f1(0x200)+_0x3596f1(0x242)][_0x3596f1(0x297)](_0x39c0fa[_0x3596f1(0x24d)]))throw new Error('当前没有可下载的'+'更新');if(_0x2e5a71)return _0x2e5a71;return _0x2e5a71=autoUpdater['download'+_0x3596f1(0x298)]()[_0x3596f1(0x25d)](()=>{const _0x5a5dd3=_0x3596f1;return _0x39c0fa[_0x5a5dd3(0x24d)]!==_0x5a5dd3(0x200)+'ed'&&_0x138dc2({'phase':_0x5a5dd3(0x23e),'checkedAt':new Date()[_0x5a5dd3(0x237)+'ing'](),..._0x38c3bf(),'error':'更新包校验完成但'+_0x5a5dd3(0x25b)+_0x5a5dd3(0x2b0),'errorCode':'download'+_0x5a5dd3(0x26e),'message':_0x5a5dd3(0x294)}),_0x164a37();})[_0x3596f1(0x2a5)](()=>{_0x2e5a71=null;}),_0x2e5a71;}function _0x54ebc9(){const _0x2ffc01=_0x1117ff;_0x55d4d2(),_0x529daf();if(![_0x2ffc01(0x200)+'ed',_0x2ffc01(0x2ad)+'ng'][_0x2ffc01(0x297)](_0x39c0fa[_0x2ffc01(0x24d)]))throw new Error(_0x2ffc01(0x206)+_0x2ffc01(0x287));const _0x27f238=_0x2a1249();_0x1bfd1e=Date['now'](),_0x1f99c9({'startedAt':new Date(_0x1bfd1e)['toISOStr'+_0x2ffc01(0x242)](),'currentVersion':_0x39c0fa[_0x2ffc01(0x261)+_0x2ffc01(0x22d)],'downloadedVersion':_0x39c0fa[_0x2ffc01(0x200)+_0x2ffc01(0x1e9)+'n'],'pendingPackage':_0x27f238[_0x2ffc01(0x271)+_0x2ffc01(0x270)],'pendingPackageBytes':_0x27f238[_0x2ffc01(0x29d)+_0x2ffc01(0x22a)]}),_0x138dc2({'phase':_0x2ffc01(0x2ad)+'ng',..._0x38c3bf(),'error':null,'message':_0x2ffc01(0x28b)+_0x2ffc01(0x23b)});try{_0x18def7(),autoUpdater[_0x2ffc01(0x21a)+'nstall'](![],!![]);}catch(_0x56109b){_0x5b58cd(_0x56109b);throw _0x56109b;}return{'ok':!![]};}async function _0xfa6a79(_0xf32082){const _0x20cc95=_0x1117ff;if(!_0x4ee282())return;_0xfd1874=Date['now'](),_0x3a0921(_0x20cc95(0x267)+_0x20cc95(0x24c)+'e\x20check\x20'+_0x20cc95(0x246)+'d',{'reason':_0xf32082});try{await _0x223628();}catch(_0x36f197){_0x2f5663(_0x20cc95(0x267)+'nd\x20updat'+'e\x20check\x20'+'failed',{'reason':_0xf32082,'error':getErrorMessage(_0x36f197)});}}function _0x4aae4c(_0xd81555){const _0x2e9fd3=_0x1117ff;if(!_0x39c0fa['supporte'+'d'])return;const _0x297855=Date[_0x2e9fd3(0x23f)]()-_0xfd1874;if(_0x297855<_0x105f58[_0x2e9fd3(0x267)+_0x2e9fd3(0x1f1)+_0x2e9fd3(0x20d)])return;void _0xfa6a79(_0xd81555);}function _0x22ac3a(){const _0x2f3619=_0x1117ff;_0x55d4d2();if(!_0x39c0fa[_0x2f3619(0x293)+'d']||_0x3edf0e)return;_0x3edf0e=setInterval(()=>{void _0xfa6a79('interval');},_0x105f58[_0x2f3619(0x267)+_0x2f3619(0x259)+_0x2f3619(0x22f)+'s']),void _0xfa6a79(_0x2f3619(0x201)),_0x3a0921('backgrou'+_0x2f3619(0x24c)+_0x2f3619(0x1e6)+_0x2f3619(0x22b)+_0x2f3619(0x214)+'d',_0x105f58);}function _0x31cd25(){const _0x10d405=_0x1117ff;if(_0x39c0fa[_0x10d405(0x24d)]!==_0x10d405(0x2ad)+'ng')return;_0xd6cfda=!![],_0xf5e560();}return{'initialize':_0x55d4d2,'getState':_0x164a37,'checkForUpdates':_0x223628,'downloadUpdate':_0x292b03,'quitAndInstall':_0x54ebc9,'requestBackgroundCheck':_0x4aae4c,'startBackgroundChecks':_0x22ac3a,'markQuitObserved':_0x31cd25};}
@@ -0,0 +1 @@
1
+ (function(_0x24b954,_0x202408){const _0x2a8337=_0x3b15,_0x10de90=_0x24b954();while(!![]){try{const _0x23a633=parseInt(_0x2a8337(0xa7))/0x1+-parseInt(_0x2a8337(0xcd))/0x2*(-parseInt(_0x2a8337(0xd6))/0x3)+-parseInt(_0x2a8337(0xb4))/0x4*(parseInt(_0x2a8337(0xbd))/0x5)+parseInt(_0x2a8337(0xcc))/0x6+parseInt(_0x2a8337(0xdf))/0x7*(-parseInt(_0x2a8337(0xb5))/0x8)+-parseInt(_0x2a8337(0xaf))/0x9+parseInt(_0x2a8337(0xb1))/0xa;if(_0x23a633===_0x202408)break;else _0x10de90['push'](_0x10de90['shift']());}catch(_0x2c0976){_0x10de90['push'](_0x10de90['shift']());}}}(_0x1069,0xebbe2));function _0x3b15(_0x52a536,_0x2658e0){_0x52a536=_0x52a536-0xa6;const _0x106929=_0x1069();let _0x3b1579=_0x106929[_0x52a536];return _0x3b1579;}import{BrowserWindow}from'electron';function getErrorMessage(_0x5771fe){const _0x15a6de=_0x3b15;if(_0x5771fe instanceof Error&&_0x5771fe[_0x15a6de(0xd3)]['trim']())return _0x5771fe[_0x15a6de(0xd3)][_0x15a6de(0xaa)]();if(typeof _0x5771fe===_0x15a6de(0xb7)&&_0x5771fe[_0x15a6de(0xaa)]())return _0x5771fe['trim']();return _0x15a6de(0xca)+'误';}function createUnavailableUpdateController({shellConfig:_0x279234,appVersion:_0x1b8d6b,broadcast:_0xf201d2,logger:_0x535294,reason:_0x1b363f}){const _0x43b285=_0x3b15,_0x599592=_0x279234[_0x43b285(0xd1)]??{},_0x20bb78={'supported':![],'channel':_0x599592[_0x43b285(0xb0)]===_0x43b285(0xc8)?_0x43b285(0xc8):_0x43b285(0xdd),'phase':_0x43b285(0xcf)+_0x43b285(0xc1),'currentVersion':_0x1b8d6b(),'remoteVersion':null,'comparisonResult':_0x43b285(0xc9),'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':_0x1b363f,'error':null,'errorCode':'missing-'+'dependen'+'cy'};let _0x2ed7a4=![];function _0xa72627(){return{..._0x20bb78,'currentVersion':_0x1b8d6b()};}function _0x40bf75(){const _0x1c22a2=_0x43b285,_0x397902=_0xa72627();for(const _0x5813cf of BrowserWindow[_0x1c22a2(0xe0)+'ndows']()){!_0x5813cf[_0x1c22a2(0xc4)+'yed']()&&_0x5813cf[_0x1c22a2(0xdc)+_0x1c22a2(0xab)]['send'](_0x1c22a2(0xd2)+_0x1c22a2(0xc0),_0x397902);}_0xf201d2?.(_0x1c22a2(0xd2)+_0x1c22a2(0xc0),_0x397902);}function _0xf6018b(){const _0x1ddc5f=_0x43b285;if(_0x2ed7a4)return;_0x2ed7a4=!![],_0x535294?.[_0x1ddc5f(0xa9)]?.(_0x1ddc5f(0xb6)+_0x1ddc5f(0xde)+'bled\x20bec'+_0x1ddc5f(0xae)+_0x1ddc5f(0xa6)+_0x1ddc5f(0xac)+_0x1ddc5f(0xd7)+'able',{'reason':_0x1b363f}),_0x40bf75();}function _0x52dcc4(){throw new Error(_0x1b363f);}async function _0xa012c8(){_0xf6018b(),_0x52dcc4();}async function _0x121288(){_0xf6018b(),_0x52dcc4();}async function _0x4c87d6(){_0xf6018b(),_0x52dcc4();}function _0x135691(){}function _0x1fa693(){_0xf6018b();}function _0x1e3ca6(){}return{'initialize':_0xf6018b,'getState':_0xa72627,'checkForUpdates':_0xa012c8,'downloadUpdate':_0x121288,'quitAndInstall':_0x4c87d6,'requestBackgroundCheck':_0x135691,'startBackgroundChecks':_0x1fa693,'markQuitObserved':_0x1e3ca6};}function isElectronUpdaterMissingError(_0x273ccd){const _0x4f4bd0=_0x3b15;if(!_0x273ccd)return![];if(_0x273ccd&&typeof _0x273ccd===_0x4f4bd0(0xb8)&&_0x4f4bd0(0xc3)in _0x273ccd&&(_0x273ccd[_0x4f4bd0(0xc3)]==='ERR_MODU'+_0x4f4bd0(0xbf)+'OUND'||_0x273ccd[_0x4f4bd0(0xc3)]===_0x4f4bd0(0xd9)+_0x4f4bd0(0xc2))){const _0x52e105=getErrorMessage(_0x273ccd);return _0x52e105[_0x4f4bd0(0xbb)](_0x4f4bd0(0xdb)+_0x4f4bd0(0xc6)+'r\x27')||_0x52e105[_0x4f4bd0(0xbb)](_0x4f4bd0(0xb9)+_0x4f4bd0(0xc6)+'r\x22');}return![];}export async function loadCreateUpdateController({logger:_0x7c204e,importer:importer=_0x9dda10=>import(_0x9dda10)}={}){const _0x36fbe2=_0x3b15;try{const _0x23bd75=await importer(_0x36fbe2(0xbc)+'ller.mjs');if(typeof _0x23bd75[_0x36fbe2(0xd4)+_0x36fbe2(0xad)+_0x36fbe2(0xa8)]!==_0x36fbe2(0xd8))throw new TypeError(_0x36fbe2(0xda)+_0x36fbe2(0xd5)+'er.mjs\x20d'+_0x36fbe2(0xbe)+_0x36fbe2(0xb3)+'reateUpd'+'ateContr'+_0x36fbe2(0xc5));return _0x23bd75['createUp'+_0x36fbe2(0xad)+'roller'];}catch(_0x4da773){if(!isElectronUpdaterMissingError(_0x4da773))throw _0x4da773;const _0x3a1bce=_0x36fbe2(0xcb)+_0x36fbe2(0xc7)+'updater\x20'+_0x36fbe2(0xb2)+_0x36fbe2(0xba);return _0x7c204e?.[_0x36fbe2(0xa9)]?.(_0x36fbe2(0xe1)+_0x36fbe2(0xce)+_0x36fbe2(0xc7)+_0x36fbe2(0xd0),{'error':getErrorMessage(_0x4da773),'reason':_0x3a1bce}),_0x258286=>createUnavailableUpdateController({..._0x258286,'logger':_0x258286?.['logger']??_0x7c204e,'reason':_0x3a1bce});}}export const __test__={'createUnavailableUpdateController':createUnavailableUpdateController,'isElectronUpdaterMissingError':isElectronUpdaterMissingError};function _0x1069(){const _0x428506=['ate\x20disa','4310614yDbENi','getAllWi','failed\x20t','ctron-up','1326173WaPMot','roller','warn','trim','nts','dater\x20is','dateCont','ause\x20ele','3871233YbzmjH','channel','6640490WaCoUZ','缺失,已降级为禁','export\x20c','33844YnMfwd','8IQKLfY','auto\x20upd','string','object','\x22electro','用状态','includes','./contro','535uzHueY','oes\x20not\x20','LE_NOT_F','te-state','ted','OT_FOUND','code','isDestro','oller','n-update','lectron-','alpha','unknown','未知的自动更新错','自动更新依赖\x20e','2207166gQpLVW','2vHuzzh','o\x20load\x20e','unsuppor','updater','updates','app:upda','message','createUp','controll','1676355VrSgTp','\x20unavail','function','MODULE_N','updates/','\x27electro','webConte','latest'];_0x1069=function(){return _0x428506;};return _0x1069();}
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.2",
4
4
  "type": "module",
5
5
  "main": "dist/src/index.mjs",
6
6
  "exports": {
@@ -30,11 +30,12 @@
30
30
  "README.md"
31
31
  ],
32
32
  "dependencies": {
33
+ "electron-updater": "^6.8.3",
33
34
  "get-port": "^7.2.0",
34
35
  "semver": "^7.8.3",
35
36
  "ws": "^8.20.0",
36
- "@wujie-shell/config": "3.0.0",
37
- "@wujie-shell/logger": "3.0.0"
37
+ "@wujie-shell/config": "3.0.2",
38
+ "@wujie-shell/logger": "3.0.2"
38
39
  },
39
40
  "scripts": {
40
41
  "build": "node ../../scripts/build-packages.mjs --package @wujie-shell/core"