@wujie-shell/core 3.0.2 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/wujie-shell.mjs +1 -1
- package/dist/src/agents/bundled-agent-skills.mjs +1 -1
- package/dist/src/agents/bundled-agents.mjs +1 -1
- package/dist/src/chat/media-archive.mjs +1 -1
- package/dist/src/chat/queue.mjs +1 -1
- package/dist/src/common/diagnostics.mjs +1 -1
- package/dist/src/common/logging.mjs +1 -1
- package/dist/src/common/runtime-logger.mjs +1 -1
- package/dist/src/common/user-events.mjs +1 -1
- package/dist/src/common/utils.mjs +1 -1
- package/dist/src/config/controller.mjs +1 -1
- package/dist/src/connectors/config-utils.mjs +1 -1
- package/dist/src/connectors/constants.mjs +1 -1
- package/dist/src/connectors/controller.mjs +1 -1
- package/dist/src/connectors/kdocs-cli.mjs +1 -1
- package/dist/src/electron/main.mjs +1 -1
- package/dist/src/electron/preload.mjs +1 -1
- package/dist/src/files/generated-files-store.mjs +1 -1
- package/dist/src/files/handlers.mjs +1 -1
- package/dist/src/gateway/chat-delta.mjs +1 -1
- package/dist/src/gateway/controller.mjs +1 -1
- package/dist/src/gateway/ws-client.mjs +1 -1
- package/dist/src/index.mjs +1 -1
- package/dist/src/log-reporting/handlers.mjs +1 -1
- package/dist/src/log-reporting/report-logs.mjs +1 -1
- package/dist/src/models/handlers.mjs +1 -1
- package/dist/src/preferences/store.mjs +1 -1
- package/dist/src/runtime/index.mjs +1 -1
- package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
- package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
- package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -1
- package/dist/src/runtime/plugin-sync.mjs +1 -1
- package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
- package/dist/src/sessions/runtime-bridge.mjs +1 -1
- package/dist/src/sessions/session-sqlite-store.mjs +1 -1
- package/dist/src/skills/import.mjs +1 -1
- package/dist/src/skills/market.mjs +1 -1
- package/dist/src/terminal/manager.mjs +1 -1
- package/dist/src/updates/controller.mjs +1 -1
- package/dist/src/updates/loader.mjs +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x3e5a48=_0x54b0;(function(_0x25b2f6,_0x1e6973){const _0xd88624=_0x54b0,_0x47263a=_0x25b2f6();while(!![]){try{const _0x285c2d=parseInt(_0xd88624(0xba))/0x1*(-parseInt(_0xd88624(0xd3))/0x2)+-parseInt(_0xd88624(0xc0))/0x3+parseInt(_0xd88624(0xdc))/0x4+-parseInt(_0xd88624(0xe2))/0x5*(-parseInt(_0xd88624(0xe0))/0x6)+parseInt(_0xd88624(0xde))/0x7*(-parseInt(_0xd88624(0xce))/0x8)+parseInt(_0xd88624(0xdd))/0x9*(-parseInt(_0xd88624(0xc2))/0xa)+-parseInt(_0xd88624(0xdf))/0xb*(-parseInt(_0xd88624(0xe1))/0xc);if(_0x285c2d===_0x1e6973)break;else _0x47263a['push'](_0x47263a['shift']());}catch(_0x230ed4){_0x47263a['push'](_0x47263a['shift']());}}}(_0x3fe1,0xe4fff));import{readFile,readdir,rm}from'node:fs/promises';function _0x54b0(_0x17c507,_0x1aa783){_0x17c507=_0x17c507-0xa5;const _0x3fe1a3=_0x3fe1();let _0x54b01d=_0x3fe1a3[_0x17c507];return _0x54b01d;}import{join}from'node:path';import{asRecord,getTrimmedString,writeJson}from'../common/utils.mjs';const SKILL_SOURCE_MARKET=_0x3e5a48(0xd0)+_0x3e5a48(0xaa);async function readMarketSkillRegistry(_0x1e40a4){const _0x2fe49c=_0x3e5a48;try{const _0x326ba4=JSON[_0x2fe49c(0xbc)](await readFile(_0x1e40a4,_0x2fe49c(0xae)));if(!_0x326ba4||typeof _0x326ba4!==_0x2fe49c(0xd9)||Array[_0x2fe49c(0xbf)](_0x326ba4))return{};return _0x326ba4;}catch{return{};}}export async function readSkillMarketRegistry(_0x16d6e4){const _0xb6d418=_0x3e5a48;return await readMarketSkillRegistry(join(_0x16d6e4,_0xb6d418(0xc9)+_0xb6d418(0xd4)+'on'));}async function upsertMarketSkillRegistryEntry(_0x27b0df,_0x1a611d,_0x26bd87,_0x8264c3,_0x360093={}){const _0xfb23a9=_0x3e5a48,_0x540820=getTrimmedString(_0x1a611d),_0x3d0be0=getTrimmedString(_0x26bd87),_0x14ed1a=getTrimmedString(_0x8264c3);if(!_0x540820||!_0x3d0be0||!_0x14ed1a)return;const _0x340b76=await readMarketSkillRegistry(_0x27b0df);_0x340b76[_0x540820]={'version':_0x14ed1a,'code':_0x3d0be0,...getTrimmedString(_0x360093[_0xfb23a9(0xdb)])?{'name':getTrimmedString(_0x360093[_0xfb23a9(0xdb)])}:{},...getTrimmedString(_0x360093[_0xfb23a9(0xc3)])?{'logo_url':getTrimmedString(_0x360093[_0xfb23a9(0xc3)])}:{},...getTrimmedString(_0x360093[_0xfb23a9(0xc5)+_0xfb23a9(0xcc)])?{'description':getTrimmedString(_0x360093['descript'+'ion'])}:{}};if(_0x340b76[_0x3d0be0]&&_0x3d0be0!==_0x540820)delete _0x340b76[_0x3d0be0];for(const [_0x222023,_0x5e721e]of Object[_0xfb23a9(0xcf)](_0x340b76)){if(_0x222023!==_0x540820&&asRecord(_0x5e721e)['code']===_0x3d0be0)delete _0x340b76[_0x222023];}const _0x5bfd96=Object[_0xfb23a9(0xb6)+_0xfb23a9(0xb2)](Object['entries'](_0x340b76)[_0xfb23a9(0xc4)](([_0x4eb921],[_0x33d9c8])=>_0x4eb921[_0xfb23a9(0xc6)+_0xfb23a9(0xa9)](_0x33d9c8)));await writeJson(_0x27b0df,_0x5bfd96);}async function removeMarketSkillRegistryKeys(_0xd16595,_0x51ce44){const _0x244505=_0x3e5a48,_0x484ad9=new Set(_0x51ce44['map'](getTrimmedString)[_0x244505(0xa6)](Boolean));if(_0x484ad9[_0x244505(0xb9)]===0x0)return;const _0x21b383=await readMarketSkillRegistry(_0xd16595);let _0x8a263b=![];for(const _0x6b1c43 of Object['keys'](_0x21b383)){const _0x30a894=asRecord(_0x21b383[_0x6b1c43]);(_0x484ad9['has'](_0x6b1c43)||_0x484ad9[_0x244505(0xaf)](getTrimmedString(_0x30a894['code'])))&&(delete _0x21b383[_0x6b1c43],_0x8a263b=!![]);}if(_0x8a263b){const _0x42171d=Object['fromEntr'+_0x244505(0xb2)](Object[_0x244505(0xcf)](_0x21b383)[_0x244505(0xc4)](([_0x546993],[_0x43e792])=>_0x546993['localeCo'+_0x244505(0xa9)](_0x43e792)));await writeJson(_0xd16595,_0x42171d);}}async function readSkillManifestText(_0x7c296a){const _0x4f56a0=_0x3e5a48,_0x112a9c=[join(_0x7c296a,_0x4f56a0(0xa8)),join(_0x7c296a,_0x4f56a0(0xa7)+'d')];for(const _0x4cf9d4 of _0x112a9c){const _0x2379e9=await readFile(_0x4cf9d4,'utf8')['catch'](()=>'');if(_0x2379e9[_0x4f56a0(0xcd)]())return _0x2379e9;}return'';}function resolveFrontmatterValue(_0x202e91,_0x2ed8d7){const _0x4d1615=_0x3e5a48,_0xfdf21a=_0x202e91['match'](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x3ae566=_0xfdf21a?.[0x1]??'',_0x518db6=_0x3ae566['match'](new RegExp(_0x4d1615(0xd8)+_0x2ed8d7+(_0x4d1615(0xc8)+'$'),'m'))?.[0x1];return getTrimmedString(_0x518db6)[_0x4d1615(0xb7)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x57d225){const _0x4ea86c=_0x3e5a48,_0x164ebf=await readSkillManifestText(_0x57d225);if(!_0x164ebf['trim']())return null;const _0x5bd458=_0x164ebf[_0x4ea86c(0xc1)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x5bd458?.[0x1])return getTrimmedString(_0x5bd458[0x1]);return resolveFrontmatterValue(_0x164ebf,_0x4ea86c(0xa5))||resolveFrontmatterValue(_0x164ebf,_0x4ea86c(0xdb));}async function removeOtherMarketSkillVersions(_0x302f54,_0x53f65d,_0xec8080){const _0x9c3944=_0x3e5a48,_0x497e39=getTrimmedString(_0xec8080);if(!_0x497e39)return;for(const _0x2b6011 of await readdir(_0x302f54,{'withFileTypes':!![]})[_0x9c3944(0xd1)](()=>[])){if(!_0x2b6011[_0x9c3944(0xbd)+'ory']())continue;const _0x40ab67=join(_0x302f54,_0x2b6011[_0x9c3944(0xdb)]);if(_0x40ab67===_0x53f65d)continue;const _0x1f8a4b=await resolveSkillKeyFromManifest(_0x40ab67);_0x1f8a4b&&_0x1f8a4b['trim']()===_0x497e39&&await rm(_0x40ab67,{'recursive':!![],'force':!![]});}}function _0x3fe1(){const _0x26e077=['logo_url','targetPa','fromEntr','replace','code','size','464670eJkkxW','map','parse','isDirect','接口返回的\x20ve','isArray','1294119kiYjtM','match','17615710OXdSci','logoUrl','sort','descript','localeCo','skills',':\x5cs*(.+)','market-s','resolveS','rsion','ion','trim','88FUfsYW','entries','aipc-mar','catch','技能商店安装需要','6eMNXxI','kills.js','接口返回的\x20na','keys','length','^\x5cs*','object','Name','name','6738876BWLBFX','9MyKFeJ','266399gylYgX','11nTmWbE','6BRMWAM','36879264zbisPn','927865sfgzQJ','skillKey','filter','SKILLS.m','SKILL.md','mpare','ket','killKey','tateDir','接口返回的\x20co','utf8','has','manifest','Key','ies','market'];_0x3fe1=function(){return _0x26e077;};return _0x3fe1();}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x501691,configController:_0x562772}={}){const _0x510f5a=_0x3e5a48,_0x4674cc=asRecord(payload);if(_0x4674cc['source']!==_0x510f5a(0xb3))return _0x501691({'payload':payload});const _0x182011=getTrimmedString(_0x4674cc[_0x510f5a(0xb8)]),_0x132436=getTrimmedString(_0x4674cc['version']),_0x41013d=getTrimmedString(_0x4674cc[_0x510f5a(0xdb)]);if(!_0x182011)throw new Error(_0x510f5a(0xd2)+_0x510f5a(0xad)+'de');if(!_0x132436)throw new Error(_0x510f5a(0xd2)+_0x510f5a(0xbe)+_0x510f5a(0xcb));if(!_0x41013d)throw new Error(_0x510f5a(0xd2)+_0x510f5a(0xd5)+'me');const _0x4ca89e=await _0x501691({'payload':{..._0x4674cc,'version':_0x132436}});if(!_0x4ca89e?.['imported'])return _0x4ca89e;const _0x2e4a52=getTrimmedString(_0x4ca89e['skillKey'])||getTrimmedString(_0x4ca89e[_0x510f5a(0xb0)+_0x510f5a(0xb1)])||getTrimmedString(_0x4ca89e['skillDir'+_0x510f5a(0xda)]);return await removeOtherMarketSkillVersions(join(_0x562772[_0x510f5a(0xca)+_0x510f5a(0xac)](),_0x510f5a(0xc7)),_0x4ca89e[_0x510f5a(0xb5)+'th'],_0x2e4a52),await upsertMarketSkillRegistryEntry(join(_0x562772[_0x510f5a(0xca)+_0x510f5a(0xac)](),_0x510f5a(0xc9)+_0x510f5a(0xd4)+'on'),_0x2e4a52,_0x182011,_0x132436,{'name':_0x41013d,'logoUrl':getTrimmedString(_0x4674cc['logoUrl']),'description':getTrimmedString(_0x4674cc[_0x510f5a(0xc5)+'ion'])}),_0x4ca89e;}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x42f448,configController:_0x533bc6}={}){const _0x10c82b=_0x3e5a48,_0x27ac3b=await _0x42f448({'payload':payload}),_0x18af15=asRecord(payload),_0x2d2530=getTrimmedString(_0x27ac3b?.['skillKey']??_0x18af15[_0x10c82b(0xa5)]??_0x18af15[_0x10c82b(0xdb)]),_0x353c7b=[_0x2d2530,getTrimmedString(_0x18af15['gatewayS'+_0x10c82b(0xab)]),getTrimmedString(_0x18af15[_0x10c82b(0xdb)])];return await removeMarketSkillRegistryKeys(join(_0x533bc6['resolveS'+_0x10c82b(0xac)](),_0x10c82b(0xc9)+_0x10c82b(0xd4)+'on'),_0x353c7b),_0x27ac3b;}export function mapMarketRegisteredSkills(_0x31d598,_0x304c74){const _0x154e24=_0x3e5a48,_0x4c433c=Array[_0x154e24(0xbf)](asRecord(_0x31d598)[_0x154e24(0xc7)])?asRecord(_0x31d598)[_0x154e24(0xc7)]:[];if(_0x4c433c['length']===0x0||Object[_0x154e24(0xd6)](_0x304c74)[_0x154e24(0xd7)]===0x0)return _0x31d598;const _0x37c64c=_0x4c433c[_0x154e24(0xbb)](_0x53c9ab=>{const _0x20fa6a=_0x154e24,_0x102309=asRecord(_0x53c9ab),_0x44f5eb=getTrimmedString(_0x102309['skillKey'])||getTrimmedString(_0x102309[_0x20fa6a(0xdb)]);let _0x4cb1fd=_0x44f5eb,_0x2cb802=asRecord(_0x304c74[_0x44f5eb]);if(!Object[_0x20fa6a(0xd6)](_0x2cb802)[_0x20fa6a(0xd7)])for(const [_0x3a32d3,_0x21b3d0]of Object[_0x20fa6a(0xcf)](_0x304c74)){const _0xa497f=asRecord(_0x21b3d0);if(getTrimmedString(_0xa497f['code'])===_0x44f5eb){_0x4cb1fd=_0x3a32d3,_0x2cb802=_0xa497f;break;}}if(!Object[_0x20fa6a(0xd6)](_0x2cb802)[_0x20fa6a(0xd7)])return _0x53c9ab;const _0x578c01=getTrimmedString(_0x2cb802['code']),_0x116737=getTrimmedString(_0x2cb802[_0x20fa6a(0xdb)]),_0x20119e=getTrimmedString(_0x2cb802[_0x20fa6a(0xc5)+_0x20fa6a(0xcc)]),_0x18e77a=getTrimmedString(_0x2cb802[_0x20fa6a(0xb4)]),_0x4e79d6=getTrimmedString(_0x2cb802['version']);return{..._0x102309,'source':SKILL_SOURCE_MARKET,'skillKey':_0x578c01||_0x44f5eb,'gatewaySkillKey':_0x578c01?_0x4cb1fd:null,'marketInstalledVersion':_0x4e79d6||null,..._0x116737?{'name':_0x116737}:{},..._0x20119e?{'description':_0x20119e}:{},..._0x18e77a?{'logoUrl':_0x18e77a}:{}};});return{...asRecord(_0x31d598),'skills':_0x37c64c};}export function createMarketSkillRuntime({configController:_0x309c03}){return{'mapSkillsStatus':async _0x4690cb=>{const _0x4f84cb=_0x54b0,_0x1f072d=await readSkillMarketRegistry(_0x309c03[_0x4f84cb(0xca)+_0x4f84cb(0xac)]())[_0x4f84cb(0xd1)](()=>({}));return mapMarketRegisteredSkills(_0x4690cb,_0x1f072d);}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x330a2d,_0x3b791a){const _0x4de884=_0xd6e6,_0x4e344d=_0x330a2d();while(!![]){try{const _0x410538=-parseInt(_0x4de884(0x1cb))/0x1*(-parseInt(_0x4de884(0x1da))/0x2)+parseInt(_0x4de884(0x1ef))/0x3*(parseInt(_0x4de884(0x1de))/0x4)+parseInt(_0x4de884(0x1ea))/0x5*(-parseInt(_0x4de884(0x1f6))/0x6)+parseInt(_0x4de884(0x1cd))/0x7+parseInt(_0x4de884(0x1d3))/0x8+parseInt(_0x4de884(0x1d7))/0x9+parseInt(_0x4de884(0x1d5))/0xa*(-parseInt(_0x4de884(0x1d8))/0xb);if(_0x410538===_0x3b791a)break;else _0x4e344d['push'](_0x4e344d['shift']());}catch(_0x13900a){_0x4e344d['push'](_0x4e344d['shift']());}}}(_0x4ab3,0xa9b4f));function _0x4ab3(){const _0x509091=['string','find','pwsh','n/zsh','error','F_OK','al/bin/z','test','set','path','toString','3126010IYyUaZ','/bin/zsh','pipe','push','clear','3NiPJPZ','values','message','stdin','keys','includes','darwin','12HyzxuO','/usr/loc','/bin/bas','delete','PATH','al/bin/b','data','X_OK','ebrew/bi','dows\x20she','object','sessionI','write','ase','env','get','platform','\x20session','trim','bash','filter','ash','Terminal','142QWsSPF','ll\x20found','9556785VRMgFt','.exe','win32','rted\x20she','child','/opt/hom','10392656kiaRkT','truecolo','187710njCGeK','cwd','4444020ETVATP','1507gblAgE','cmd','2042bxWWHP','.bat','\x20not\x20fou','--login','4856204ZwPQpk'];_0x4ab3=function(){return _0x509091;};return _0x4ab3();}import{spawn}from'node:child_process';import{randomUUID}from'node:crypto';import{accessSync,constants,existsSync}from'node:fs';import{mkdir}from'node:fs/promises';import{basename,delimiter,join}from'node:path';function _0xd6e6(_0x5eec91,_0x1edb3b){_0x5eec91=_0x5eec91-0x1ba;const _0x4ab34b=_0x4ab3();let _0xd6e6b1=_0x4ab34b[_0x5eec91];return _0xd6e6b1;}const FILE_EXTENSION_REGEX=/\.[a-z0-9]+$/i;function resolvePathEntries(_0x2bc2c1){const _0x52a2ed=_0xd6e6,_0xf2abf9=Object[_0x52a2ed(0x1f3)](_0x2bc2c1)[_0x52a2ed(0x1e0)](_0x4dc8c9=>_0x4dc8c9['toLowerC'+_0x52a2ed(0x1c1)]()===_0x52a2ed(0x1e8))??_0x52a2ed(0x1fa);return String(_0x2bc2c1[_0xf2abf9]||'')['split'](delimiter)[_0x52a2ed(0x1c8)](Boolean);}function canExecute(_0x38b5bb){const _0x5ce886=_0xd6e6;try{return accessSync(_0x38b5bb,process[_0x5ce886(0x1c4)]===_0x5ce886(0x1cf)?constants[_0x5ce886(0x1e4)]:constants[_0x5ce886(0x1bb)]),!![];}catch{return![];}}function resolveExecutableOnPath(_0x5305de,_0x16be67){const _0x5dde52=_0xd6e6,_0x2a7146=String(_0x5305de||'')['trim']();if(!_0x2a7146)return null;if(_0x2a7146[_0x5dde52(0x1f4)]('/')||_0x2a7146[_0x5dde52(0x1f4)]('\x5c'))return existsSync(_0x2a7146)?_0x2a7146:null;const _0x5ad030=[_0x2a7146];process[_0x5dde52(0x1c4)]===_0x5dde52(0x1cf)&&!FILE_EXTENSION_REGEX[_0x5dde52(0x1e6)](_0x2a7146)&&_0x5ad030[_0x5dde52(0x1ed)](_0x2a7146+_0x5dde52(0x1ce),_0x2a7146+'.cmd',_0x2a7146+_0x5dde52(0x1db));for(const _0x5e6caa of resolvePathEntries(_0x16be67)){for(const _0x4aad3f of _0x5ad030){const _0x40d7e6=join(_0x5e6caa,_0x4aad3f);if(canExecute(_0x40d7e6))return _0x40d7e6;}}return null;}function resolveShellLaunchConfig(_0x220c6b){const _0x11c3a2=_0xd6e6;if(process['platform']===_0x11c3a2(0x1cf)){const _0x584cc2=resolveExecutableOnPath(_0x11c3a2(0x1e1),_0x220c6b)??resolveExecutableOnPath('powershe'+'ll',_0x220c6b);if(_0x584cc2)return{'command':_0x584cc2,'args':['-NoLogo']};const _0x118339=resolveExecutableOnPath(_0x11c3a2(0x1d9),_0x220c6b);if(_0x118339)return{'command':_0x118339,'args':['/Q']};throw new Error('No\x20suppo'+'rted\x20Win'+_0x11c3a2(0x1bd)+'ll\x20found');}if(process[_0x11c3a2(0x1c4)]===_0x11c3a2(0x1f5)){const _0x40a60a=[_0x11c3a2(0x1eb),'/usr/loc'+_0x11c3a2(0x1e5)+'sh',_0x11c3a2(0x1d2)+'ebrew/bi'+_0x11c3a2(0x1e2)][_0x11c3a2(0x1e0)](canExecute);if(_0x40a60a)return{'command':_0x40a60a,'args':['-i']};const _0x176d7b=[_0x11c3a2(0x1f8)+'h',_0x11c3a2(0x1f7)+_0x11c3a2(0x1fb)+_0x11c3a2(0x1c9),_0x11c3a2(0x1d2)+_0x11c3a2(0x1bc)+'n/bash']['find'](canExecute);if(_0x176d7b)return{'command':_0x176d7b,'args':[_0x11c3a2(0x1dd),'-i']};}const _0x49cbc6=resolveExecutableOnPath(process.env.SHELL||'',_0x220c6b)??resolveExecutableOnPath(_0x11c3a2(0x1c7),_0x220c6b)??resolveExecutableOnPath('sh',_0x220c6b);if(!_0x49cbc6)throw new Error('No\x20suppo'+_0x11c3a2(0x1d0)+_0x11c3a2(0x1cc));return{'command':_0x49cbc6,'args':['-l','-i']};}export function createTerminalManager({cwd:_0x37daa4,emitData:_0x555dc7,emitExit:_0x551090}){const _0x447b4b=new Map();function _0x4115f2(_0x191e52){const _0x57a95e=_0xd6e6,_0x5ad85b=_0x447b4b[_0x57a95e(0x1c3)](_0x191e52);if(!_0x5ad85b)throw new Error(_0x57a95e(0x1ca)+_0x57a95e(0x1c5)+_0x57a95e(0x1dc)+'nd');return _0x5ad85b;}async function _0x10a522(_0x57b2be={}){const _0x36a486=_0xd6e6,_0x3199c3={...process.env,'TERM':'xterm-25'+'6color','COLORTERM':_0x36a486(0x1d4)+'r',..._0x57b2be[_0x36a486(0x1c2)]&&typeof _0x57b2be[_0x36a486(0x1c2)]===_0x36a486(0x1be)?_0x57b2be[_0x36a486(0x1c2)]:{}},_0x428b40=typeof _0x57b2be['cwd']===_0x36a486(0x1df)&&_0x57b2be[_0x36a486(0x1d6)][_0x36a486(0x1c6)]()?_0x57b2be[_0x36a486(0x1d6)]:'',_0x4f0796=_0x428b40||_0x37daa4;await mkdir(_0x4f0796,{'recursive':!![]});const {command:_0x42eb80,args:_0x278016}=resolveShellLaunchConfig(_0x3199c3),_0x5b0176=randomUUID(),_0x54a634=spawn(_0x42eb80,_0x278016,{'cwd':_0x4f0796,'env':_0x3199c3,'stdio':_0x36a486(0x1ec)});return _0x447b4b[_0x36a486(0x1e7)](_0x5b0176,{'sessionId':_0x5b0176,'child':_0x54a634}),_0x54a634['stdout']['on'](_0x36a486(0x1ba),_0x1740d8=>_0x555dc7({'sessionId':_0x5b0176,'data':_0x1740d8['toString']()})),_0x54a634['stderr']['on'](_0x36a486(0x1ba),_0xfc60f1=>_0x555dc7({'sessionId':_0x5b0176,'data':_0xfc60f1[_0x36a486(0x1e9)]()})),_0x54a634['on']('close',(_0x5df67e,_0x18eaf5)=>{const _0x399dce=_0x36a486;_0x447b4b[_0x399dce(0x1f9)](_0x5b0176),_0x551090({'sessionId':_0x5b0176,'exitCode':_0x5df67e,'signal':_0x18eaf5});}),_0x54a634['on'](_0x36a486(0x1e3),_0x5c8a0d=>{const _0x577563=_0x36a486;_0x555dc7({'sessionId':_0x5b0176,'data':_0x5c8a0d[_0x577563(0x1f1)]+'\x0a'});}),{'sessionId':_0x5b0176,'shell':basename(_0x42eb80),'cwd':_0x4f0796};}function _0x4cb03c(_0x2ed384={}){const _0x40aa76=_0xd6e6,_0x2d8bf7=_0x4115f2(String(_0x2ed384[_0x40aa76(0x1bf)+'d']||''));return _0x2d8bf7[_0x40aa76(0x1d1)][_0x40aa76(0x1f2)][_0x40aa76(0x1c0)](String(_0x2ed384[_0x40aa76(0x1ba)]||'')),{'ok':!![]};}function _0x201870(_0x4e076b={}){const _0x4c6ed8=_0xd6e6,_0x118a01=String(_0x4e076b[_0x4c6ed8(0x1bf)+'d']||'');return _0x4115f2(_0x118a01),{'ok':!![],'ignored':!![]};}function _0x27fa56(_0x51463a={}){const _0x164f20=_0xd6e6,_0x398f56=String(_0x51463a[_0x164f20(0x1bf)+'d']||''),_0x7118fa=_0x447b4b[_0x164f20(0x1c3)](_0x398f56);if(!_0x7118fa)return{'ok':!![],'closed':![]};return _0x447b4b['delete'](_0x398f56),_0x7118fa[_0x164f20(0x1d1)]['kill'](),{'ok':!![],'closed':!![]};}function _0x3592f3(){const _0x2f99d9=_0xd6e6;for(const _0x214325 of _0x447b4b[_0x2f99d9(0x1f0)]())_0x214325[_0x2f99d9(0x1d1)]['kill']();_0x447b4b[_0x2f99d9(0x1ee)]();}return{'create':_0x10a522,'input':_0x4cb03c,'resize':_0x201870,'close':_0x27fa56,'dispose':_0x3592f3};}
|
|
@@ -1 +1 @@
|
|
|
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};}
|
|
1
|
+
(function(_0x57579b,_0x2bbaba){const _0x2bf984=_0x52ab,_0x5aec51=_0x57579b();while(!![]){try{const _0x2342d0=parseInt(_0x2bf984(0x17d))/0x1*(-parseInt(_0x2bf984(0x11f))/0x2)+parseInt(_0x2bf984(0x1a1))/0x3+-parseInt(_0x2bf984(0x10d))/0x4+-parseInt(_0x2bf984(0x15b))/0x5*(parseInt(_0x2bf984(0x140))/0x6)+-parseInt(_0x2bf984(0x17b))/0x7*(parseInt(_0x2bf984(0x16c))/0x8)+-parseInt(_0x2bf984(0x108))/0x9*(-parseInt(_0x2bf984(0x17e))/0xa)+parseInt(_0x2bf984(0xe8))/0xb;if(_0x2342d0===_0x2bbaba)break;else _0x5aec51['push'](_0x5aec51['shift']());}catch(_0x450ff9){_0x5aec51['push'](_0x5aec51['shift']());}}}(_0x46ed,0xdd063));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{basename,join}from'node:path';import _0x4978ee from'electron-updater';import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';const {autoUpdater}=_0x4978ee,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(_0xba96b3){const _0x17455a=_0x52ab;if(typeof _0xba96b3!==_0x17455a(0xf7))return null;const _0x1d1d0d=_0xba96b3[_0x17455a(0x177)]();if(!_0x1d1d0d||_0x1d1d0d==='.'||_0x1d1d0d==='..'||_0x1d1d0d[_0x17455a(0x130)]('/')||_0x1d1d0d[_0x17455a(0x130)]('\x5c'))return null;return _0x1d1d0d;}function isMatchingAppUpdatePackageMetadata(_0x40f961,_0xe4a19f){const _0x391b2d=_0x52ab;if(!_0x40f961||!_0xe4a19f||typeof _0xe4a19f!=='object')return![];const _0x34be4f=_0xe4a19f,_0x53d844=normalizeAppUpdatePackageFileName(_0x40f961['fileName']),_0x46dee5=normalizeAppUpdatePackageFileName(_0x34be4f[_0x391b2d(0x12b)]),_0x55bd0b=_0x40f961[_0x391b2d(0x178)][_0x391b2d(0x177)](),_0x48b114=typeof _0x34be4f[_0x391b2d(0x178)]===_0x391b2d(0xf7)?_0x34be4f[_0x391b2d(0x178)][_0x391b2d(0x177)]():'';return Boolean(_0x53d844&&_0x46dee5&&_0x53d844===_0x46dee5&&_0x55bd0b&&_0x48b114&&_0x55bd0b===_0x48b114);}function normalizeAppVersion(_0x580e33){const _0x1a8311=_0x52ab;return clean(String(_0x580e33??'')[_0x1a8311(0x177)]());}function compareAppVersions(_0x19b734,_0x29a2dc){const _0x5cf233=_0x52ab,_0x576dcd=normalizeAppVersion(_0x19b734),_0x3a71e6=normalizeAppVersion(_0x29a2dc);if(!_0x576dcd||!_0x3a71e6)return'unknown';const _0x189592=compare(_0x3a71e6,_0x576dcd);if(_0x189592===0x0)return _0x5cf233(0x1af)+_0x5cf233(0x172);return _0x189592>0x0?'remote-n'+_0x5cf233(0x1ac):'remote-o'+_0x5cf233(0x1ad);}function normalizeAppUpdateChannel(_0x45bcd0){const _0x16a3f2=_0x52ab;return _0x45bcd0===_0x16a3f2(0x19a)?_0x16a3f2(0x19a):'latest';}function _0x52ab(_0x593eb4,_0x4d3a50){_0x593eb4=_0x593eb4-0xe5;const _0x46ed8f=_0x46ed();let _0x52ab29=_0x46ed8f[_0x593eb4];return _0x52ab29;}function normalizeString(_0x3f1be3){const _0x1085aa=_0x52ab;if(typeof _0x3f1be3!==_0x1085aa(0xf7))return null;const _0x298f7b=_0x3f1be3['trim']();return _0x298f7b||null;}function normalizeReleaseNotes(_0x1ed861){const _0x5f1de0=_0x52ab;if(typeof _0x1ed861===_0x5f1de0(0xf7))return normalizeString(_0x1ed861);if(!Array[_0x5f1de0(0x158)](_0x1ed861))return null;const _0x2eba41=_0x1ed861[_0x5f1de0(0x14d)](_0x16fcdc=>{const _0x2b0365=_0x5f1de0;if(typeof _0x16fcdc===_0x2b0365(0xf7)){const _0x490910=normalizeString(_0x16fcdc);return _0x490910?[_0x490910]:[];}if(!_0x16fcdc||typeof _0x16fcdc!=='object')return[];const _0x54e60d=normalizeString(_0x16fcdc[_0x2b0365(0x193)]),_0x5cdb2f=normalizeString(_0x16fcdc['note']);if(_0x54e60d&&_0x5cdb2f)return['v'+_0x54e60d+'\x0a'+_0x5cdb2f];if(_0x5cdb2f)return[_0x5cdb2f];if(_0x54e60d)return['v'+_0x54e60d];return[];});return _0x2eba41[_0x5f1de0(0x154)]>0x0?_0x2eba41[_0x5f1de0(0x16f)]('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x17a045){const _0x15f034=_0x52ab;if(!_0x17a045||typeof _0x17a045!==_0x15f034(0x16e))return{};return{'remoteVersion':normalizeString(_0x17a045[_0x15f034(0x193)]),'availableVersion':normalizeString(_0x17a045[_0x15f034(0x193)]),'releaseName':normalizeString(_0x17a045['releaseN'+'ame']),'releaseDate':normalizeString(_0x17a045[_0x15f034(0xf8)+_0x15f034(0x13b)]),'releaseNotes':normalizeReleaseNotes(_0x17a045[_0x15f034(0x113)+_0x15f034(0x160)])};}function extractPackageFileName(_0x4c1387){const _0x5dab01=_0x52ab,_0x3042f9=normalizeString(_0x4c1387);if(!_0x3042f9)return null;try{const _0xfe5c9d=new URL(_0x3042f9);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0xfe5c9d[_0x5dab01(0x182)])));}catch{const _0x284463=_0x3042f9[_0x5dab01(0x19e)](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x284463));}}function getPreferredUpdatePackagePattern(){const _0x50f7b7=_0x52ab;if(process['platform']===_0x50f7b7(0x16b))return/\.zip$/iu;if(process[_0x50f7b7(0x134)]===_0x50f7b7(0x14a))return/\.exe$/iu;if(process[_0x50f7b7(0x134)]===_0x50f7b7(0xe7))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0xfb2a8b,_0x31dc33){const _0x190538=_0x52ab;if(!_0xfb2a8b||typeof _0xfb2a8b!==_0x190538(0x16e))return null;const _0x514ce1=normalizeString(_0xfb2a8b[_0x190538(0x193)]);if(!_0x514ce1)return null;const _0xf0a39c=[],_0x2acfd4=Array[_0x190538(0x158)](_0xfb2a8b[_0x190538(0x188)])?_0xfb2a8b[_0x190538(0x188)]:[];for(const _0x4ca841 of _0x2acfd4){if(!_0x4ca841||typeof _0x4ca841!==_0x190538(0x16e))continue;const _0x17e5ee=extractPackageFileName(_0x4ca841['url'])??extractPackageFileName(_0x4ca841[_0x190538(0x198)])??normalizeAppUpdatePackageFileName(_0x4ca841[_0x190538(0x12b)]),_0x1ba225=normalizeString(_0x4ca841['sha512']);_0x17e5ee&&_0x1ba225&&_0xf0a39c[_0x190538(0x171)]({'fileName':_0x17e5ee,'sha512':_0x1ba225});}const _0x67ace3=extractPackageFileName(_0xfb2a8b[_0x190538(0x1b0)])??extractPackageFileName(_0xfb2a8b[_0x190538(0x198)])??normalizeAppUpdatePackageFileName(_0xfb2a8b[_0x190538(0x12b)]),_0x11ac27=normalizeString(_0xfb2a8b[_0x190538(0x178)]);_0x67ace3&&_0x11ac27&&_0xf0a39c['push']({'fileName':_0x67ace3,'sha512':_0x11ac27});const _0x58f214=_0xf0a39c[_0x190538(0x19b)](_0x1a0b32=>getPreferredUpdatePackagePattern()[_0x190538(0x1aa)](_0x1a0b32[_0x190538(0x12b)]));if(!_0x58f214)return _0x31dc33?.[_0x190538(0x184)]?.(_0x190538(0x167)+_0x190538(0x143)+'te\x20packa'+_0x190538(0x14b)+'urrent\x20p'+'latform',{'platform':process[_0x190538(0x134)],'candidates':_0xf0a39c[_0x190538(0x18e)](_0x40d8f9=>_0x40d8f9[_0x190538(0x12b)])}),null;return{'version':_0x514ce1,..._0x58f214};}function extractProgressPatch(_0x141796){const _0x7c43d5=_0x52ab;return{'downloadPercent':typeof _0x141796[_0x7c43d5(0x174)]===_0x7c43d5(0x19f)?_0x141796[_0x7c43d5(0x174)]:null,'bytesPerSecond':typeof _0x141796[_0x7c43d5(0x194)+_0x7c43d5(0xfb)]===_0x7c43d5(0x19f)?_0x141796[_0x7c43d5(0x194)+'Second']:null,'transferredBytes':typeof _0x141796[_0x7c43d5(0x107)+_0x7c43d5(0xeb)]==='number'?_0x141796[_0x7c43d5(0x107)+'red']:null,'totalBytes':typeof _0x141796['total']===_0x7c43d5(0x19f)?_0x141796['total']:null};}function _0x46ed(){const _0x20ff19=['2191020qMaSDm','te-state','load','quitAndI','send','resource','releaseN','update_a','allOnApp','sPath','ndCheckI','pp-updat','动更新','update-d','Update','toFixed','isFile','ntervalM','2ibEFRY','正在检查更新','ame','Updates','更新包校验完成但','idle','当前构建不支持自','edVersio','ending\x20u','o\x20read\x20p','install\x20','-updater','fileName','installi','g\x20instal','min','finally','includes','-error','update-i','o\x20clear\x20','platform','stringif','autoDown','e.yml','ror','app-upda','imeout','ate','nd\x20updat',',请重新校验并准','currentV','failed\x20t','5160QWLPLu','utMs','包后再试','ing\x20upda','pp\x20quit\x20','backgrou','ytes','g\x20downlo','正在安装更新并重','安装更新失败','win32','ge\x20for\x20c','exec','flatMap','\x20AppImag','max','message','lable','startup','l\x20packag','length','nstall\x20d','安装器未就绪,请','后的安装包中可用','isArray','备安装','utf8','2245tnDOsD','now','error','autoInst','Caches','otes','availabl','nts','download','enabled','kage','check-er','no\x20match','e\x20check\x20','Linux\x20下仅','update-n','darwin','64744TDqOAP','当前使用\x20Alp','object','join','cache\x20hi','push','sion','ndCheckS','percent','ted','taleMs','trim','sha512','-progres','o\x20read\x20a','686owNLmO','ntext.js','706193fqtMGo','20GNjLKg','t\x20instal','aded\x20pac','interval','pathname','新版本','warn','Percent','rigger\x20a','更新包\x20v','files','yed','toISOStr','重试下载更新','assign','启应用','map','not-avai','ot-avail','remote-n','自动更新功能已就','version','bytesPer','failed','发现本地更新包\x20','自动更新仅在打包','path','schedule','alpha','find','pdate-in','channel','split','number','uitTimeo','4345908nNduky','r\x20starte','rsion','AppData','phase','phase-co','webConte','更新包已准备好安','正在重新准备更新','test','able','ewer','lder',',请重新下载更新','same-ver','url','e\x20版本支持应用','ersion','size','install-','supporte','l\x20phase\x20','-for-upd','pending','o\x20inspec','linux','2800017uxHqsT','getAllWi','installQ','red','nstall','updates','errorCod','自动更新已在\x20s','未知的自动更新错','app:upda','phase\x20co','当前已经是最新版','eVersion','发现可用更新','\x20已准备好安装','string','releaseD','ing','当前没有可下载的','Second','当前没有可安装的','isFinite','unknown','packageB','t\x20pendin','fig\x20中禁用','te.yml','正在下载\x20','remoteVe','已下载更新','pending\x20','transfer','7359003FkYQnG','isPackag','.cache','vailable','dataDir'];_0x46ed=function(){return _0x20ff19;};return _0x46ed();}function getErrorMessage(_0x5e7f37){const _0x50d12c=_0x52ab;if(_0x5e7f37 instanceof Error&&_0x5e7f37['message'][_0x50d12c(0x177)]())return _0x5e7f37[_0x50d12c(0x150)][_0x50d12c(0x177)]();if(typeof _0x5e7f37===_0x50d12c(0xf7)&&_0x5e7f37[_0x50d12c(0x177)]())return _0x5e7f37[_0x50d12c(0x177)]();return _0x50d12c(0xf0)+'误';}export function createUpdateController({shellConfig:_0x551720,appName:_0x30112e,appVersion:_0x27b0c9,broadcast:_0x4b4119,logger:_0x4e7754}){const _0x3e1cda=_0x52ab,_0x483851=_0x551720[_0x3e1cda(0xed)]??{},_0x3bef9a=normalizeAppUpdateChannel(_0x483851[_0x3e1cda(0x19d)]),_0x106259={'backgroundCheckIntervalMs':_0x483851[_0x3e1cda(0x145)+'ndCheckI'+'ntervalM'+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x483851[_0x3e1cda(0x145)+_0x3e1cda(0x173)+_0x3e1cda(0x176)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x483851[_0x3e1cda(0xea)+_0x3e1cda(0x1a0)+_0x3e1cda(0x141)]??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'autoDownload':_0x483851[_0x3e1cda(0x136)+_0x3e1cda(0x10f)]===!![]},_0x1da781={'supported':![],'channel':_0x3bef9a,'phase':'unsuppor'+'ted','currentVersion':_0x27b0c9(),'remoteVersion':null,'comparisonResult':'unknown','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':'自动更新已禁用','error':null,'errorCode':null};let _0x1b78b5=![],_0x3fc0df=null,_0x48edef=null,_0x173107=null,_0x2bb0fa=null,_0x3f9089=null,_0x27a2d9=![],_0x6fb8e7=null,_0x1ed36d=0x0;function _0x1f4fc9(){const _0x32ca65=_0x3e1cda;if(process[_0x32ca65(0x134)]===_0x32ca65(0x16b))return join(homedir(),'Library',_0x32ca65(0x15f));if(process['platform']===_0x32ca65(0x14a))return process.env.LOCALAPPDATA??join(homedir(),_0x32ca65(0x1a4),'Local');return process.env.XDG_CACHE_HOME??join(homedir(),_0x32ca65(0x10a));}function _0x85f48d(){const _0x5e2637=_0x3e1cda;if(!app[_0x5e2637(0x109)+'ed']||!process['resource'+'sPath'])return{};const _0x2542d9=join(process[_0x5e2637(0x112)+_0x5e2637(0x116)],_0x5e2637(0x139)+_0x5e2637(0x102));if(!existsSync(_0x2542d9))return{};try{const _0x3117aa=readFileSync(_0x2542d9,_0x5e2637(0x15a)),_0x2015cc=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x5e2637(0x14c)](_0x3117aa),_0x25e45a=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x5e2637(0x14c)](_0x3117aa);return{'channel':normalizeAppUpdateChannel(_0x2015cc?.[0x1]),'updaterCacheDirName':normalizeString(_0x25e45a?.[0x1])};}catch(_0x52e36d){return _0x4e7754?.['warn']?.(_0x5e2637(0x13f)+_0x5e2637(0x17a)+_0x5e2637(0x118)+_0x5e2637(0x137),{'error':getErrorMessage(_0x52e36d)}),{};}}const _0x212660=_0x85f48d();_0x212660[_0x3e1cda(0x19d)]&&(_0x1da781[_0x3e1cda(0x19d)]=_0x212660[_0x3e1cda(0x19d)]);function _0x231211(){const _0x18779a=_0x3e1cda,_0x3f6578=_0x212660['updaterC'+'acheDirN'+_0x18779a(0x121)]||_0x30112e()+_0x18779a(0x12a);return join(_0x1f4fc9(),_0x3f6578);}function _0x2cff52(_0x4b4bd3){const _0x306759=_0x3e1cda;return _0x4b4bd3===_0x306759(0x19a)?_0x306759(0x16d)+'ha\x20更新渠道':_0x306759(0x192)+'绪';}function _0x3b2a4f(){const _0x3f3453=_0x3e1cda;if(_0x483851[_0x3f3453(0x164)]===![])return![];if(!app['isPackag'+'ed'])return![];if(process[_0x3f3453(0x134)]!=='linux')return!![];return Boolean(process.env.APPIMAGE);}function _0x16057c(){const _0x574613=_0x3e1cda;if(_0x483851[_0x574613(0x164)]===![])return _0x574613(0xef)+'hell.con'+_0x574613(0x101);if(!app[_0x574613(0x109)+'ed'])return _0x574613(0x197)+_0x574613(0x157);if(process[_0x574613(0x134)]===_0x574613(0xe7))return _0x574613(0x169)+_0x574613(0x14e)+_0x574613(0x1b1)+'内自动更新';return _0x574613(0x125)+_0x574613(0x119);}function _0x19deb5(){const _0x23313e=_0x3e1cda;return join(_0x551720[_0x23313e(0x10c)],_0x23313e(0x1b4)+_0x23313e(0x1a6)+_0x23313e(0x17c)+'on');}function _0x4408c0(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x11397f(){return{..._0x1da781};}function _0x50ecd4(){const _0x7d7b90=_0x3e1cda,_0x407dd8=_0x11397f();for(const _0x550671 of BrowserWindow[_0x7d7b90(0xe9)+'ndows']()){!_0x550671['isDestro'+_0x7d7b90(0x189)]()&&_0x550671[_0x7d7b90(0x1a7)+_0x7d7b90(0x162)][_0x7d7b90(0x111)](_0x7d7b90(0xf1)+'te-state',_0x407dd8);}_0x4b4119?.(_0x7d7b90(0xf1)+_0x7d7b90(0x10e),_0x407dd8);}function _0x53423d(_0x200bda){const _0x49822e=_0x3e1cda,_0x380f71={..._0x200bda};_0x380f71['error']===null&&_0x380f71[_0x49822e(0xee)+'e']===undefined&&(_0x380f71['errorCod'+'e']=null),Object[_0x49822e(0x18c)](_0x1da781,_0x380f71,{'currentVersion':_0x27b0c9()}),_0x50ecd4();}function _0x5331df(){const _0x4a3fc7=_0x3e1cda;if(!_0x1da781[_0x4a3fc7(0x1b5)+'d'])throw new Error(_0x16057c());}function _0x133c35(_0x651338,_0x2fa6d0={}){_0x4e7754?.['info']?.(_0x651338,_0x2fa6d0);}function _0x171fe7(_0x28d325,_0x4b2724={}){_0x4e7754?.['warn']?.(_0x28d325,_0x4b2724);}function _0x3816c5(_0x29b3b1){const _0x780e4b=_0x3e1cda;if(typeof _0x29b3b1!==_0x780e4b(0x19f)||!Number[_0x780e4b(0xfd)](_0x29b3b1))return null;const _0x1617d3=Math[_0x780e4b(0x12e)](0x63,Math[_0x780e4b(0x14f)](0x0,_0x29b3b1));if(_0x1da781[_0x780e4b(0x1a5)]!==_0x780e4b(0x163)+_0x780e4b(0xf9)||typeof _0x1da781['download'+_0x780e4b(0x185)]!==_0x780e4b(0x19f))return _0x1617d3;return Math[_0x780e4b(0x14f)](_0x1da781[_0x780e4b(0x163)+'Percent'],_0x1617d3);}function _0x10eb47(_0x1b5158,_0x47d402){const _0x98d1a2=_0x3e1cda,_0x2c6baa=_0x1b5158?'v'+_0x1b5158:_0x98d1a2(0x183);if(typeof _0x47d402==='number'){if(_0x47d402>=0x63)return'正在验证安装包…';return _0x98d1a2(0x103)+_0x2c6baa+'\x20('+_0x47d402[_0x98d1a2(0x11c)](0x1)+'%)';}return _0x98d1a2(0x103)+_0x2c6baa;}function _0x20fb5c(_0x21aea1){const _0x19e0b5=_0x3e1cda;try{writeFileSync(_0x19deb5(),JSON[_0x19e0b5(0x135)+'y'](_0x21aea1,null,0x2),_0x19e0b5(0x15a));}catch(_0x3b3295){_0x171fe7(_0x19e0b5(0x13f)+'o\x20persis'+_0x19e0b5(0x17f)+_0x19e0b5(0x1b6)+'context',{'error':getErrorMessage(_0x3b3295)});}}function _0x27a21b(){const _0x7b02f4=_0x3e1cda;try{rmSync(_0x19deb5(),{'force':!![]});}catch(_0x45fda0){_0x171fe7(_0x7b02f4(0x13f)+_0x7b02f4(0x133)+_0x7b02f4(0x129)+_0x7b02f4(0xf2)+'ntext',{'error':getErrorMessage(_0x45fda0)});}}function _0x3e510c(){const _0x169f6a=_0x3e1cda,_0x2a3ef2=join(_0x231211(),_0x169f6a(0xe5));if(!existsSync(_0x2a3ef2))return{'packageName':null,'packageBytes':null};try{const _0x3fd4be=readdirSync(_0x2a3ef2)[_0x169f6a(0x19b)](_0x2cd83e=>/\.(zip|exe|dmg|AppImage)$/iu['test'](_0x2cd83e))??null;if(!_0x3fd4be)return{'packageName':null,'packageBytes':null};const _0x41421d=join(_0x2a3ef2,_0x3fd4be);return{'packageName':_0x3fd4be,'packageBytes':statSync(_0x41421d)[_0x169f6a(0x1b3)]};}catch(_0x1f5694){return _0x171fe7(_0x169f6a(0x13f)+'o\x20inspec'+_0x169f6a(0x100)+_0x169f6a(0x12d)+_0x169f6a(0x153)+'e',{'error':getErrorMessage(_0x1f5694)}),{'packageName':null,'packageBytes':null};}}function _0x43eab8(){const _0xc042be=_0x3e1cda;if(!_0x173107)return null;const _0x47065c=join(_0x231211(),_0xc042be(0xe5)),_0x2c77cf=join(_0x47065c,_0xc042be(0x132)+'nfo.json');if(!existsSync(_0x2c77cf))return null;let _0x476330=null;try{_0x476330=JSON['parse'](readFileSync(_0x2c77cf,_0xc042be(0x15a)));}catch(_0x328a6e){return _0x171fe7(_0xc042be(0x13f)+_0xc042be(0x128)+_0xc042be(0x127)+_0xc042be(0x19c)+'fo.json',{'error':getErrorMessage(_0x328a6e)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x173107,_0x476330))return null;const _0x3b74a8=join(_0x47065c,_0x173107[_0xc042be(0x12b)]);if(!existsSync(_0x3b74a8))return null;try{const _0x170b86=statSync(_0x3b74a8);if(!_0x170b86[_0xc042be(0x11d)]()||_0x170b86[_0xc042be(0x1b3)]===0x0)return null;return{'metadata':_0x173107,'packageName':_0x173107[_0xc042be(0x12b)],'packageBytes':_0x170b86[_0xc042be(0x1b3)]};}catch(_0x34d9e4){return _0x171fe7(_0xc042be(0x13f)+_0xc042be(0xe6)+_0xc042be(0x100)+_0xc042be(0x147)+_0xc042be(0x180)+_0xc042be(0x165),{'error':getErrorMessage(_0x34d9e4)}),null;}}function _0x4b052a(_0x56d7f3){const _0xe28a4e=_0x3e1cda,_0x2d9333=_0x43eab8();if(!_0x2d9333)return![];const {metadata:_0x209a7e,packageName:_0x208919,packageBytes:_0x91a89b}=_0x2d9333;return _0x133c35(_0xe28a4e(0x106)+'package\x20'+_0xe28a4e(0x170)+'t',{'reason':_0x56d7f3,'version':_0x209a7e['version'],'packageName':_0x208919,'packageBytes':_0x91a89b}),_0x53423d({'phase':_0xe28a4e(0x161)+'e','remoteVersion':_0x209a7e[_0xe28a4e(0x193)],'comparisonResult':_0xe28a4e(0x191)+_0xe28a4e(0x1ac),'hasUpdate':!![],'availableVersion':_0x209a7e[_0xe28a4e(0x193)],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x91a89b,'totalBytes':_0x91a89b,'hasPendingPackage':!![],'pendingPackageName':_0x208919,'pendingPackageBytes':_0x91a89b,'error':null,'message':_0xe28a4e(0x196)+'v'+_0x209a7e[_0xe28a4e(0x193)]+(_0xe28a4e(0x13d)+_0xe28a4e(0x159))}),!![];}function _0x163872(){const _0x5ace14=_0x3e1cda;return _0x1da781[_0x5ace14(0x1b5)+'d']&&!_0x3fc0df&&!_0x48edef&&[_0x5ace14(0x124),'not-avai'+_0x5ace14(0x151),_0x5ace14(0x15d)][_0x5ace14(0x130)](_0x1da781[_0x5ace14(0x1a5)]);}function _0x73beec(){if(!_0x3f9089)return;clearTimeout(_0x3f9089),_0x3f9089=null;}function _0x44715a(_0x423f7e){const _0x4cdb97=_0x3e1cda,_0xf3ce22=_0x1da781[_0x4cdb97(0x163)+'edVersio'+'n'],_0x37018d=_0x1da781[_0x4cdb97(0x161)+_0x4cdb97(0xf4)];_0x2bb0fa=null,_0x27a2d9=![],_0x73beec(),_0x27a21b(),_0x53423d({'phase':'error','checkedAt':new Date()[_0x4cdb97(0x18a)+'ing'](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x37018d??_0xf3ce22,'downloadedVersion':_0xf3ce22,'error':getErrorMessage(_0x423f7e),'errorCode':_0x4cdb97(0x1b4)+_0x4cdb97(0x15d),'message':_0x4cdb97(0x149)});}function _0x40efe6(){const _0x31e45d=_0x3e1cda;_0x73beec(),_0x27a2d9=![],_0x3f9089=setTimeout(()=>{const _0x575ad7=_0x52ab;if(_0x27a2d9||_0x1da781[_0x575ad7(0x1a5)]!==_0x575ad7(0x12c)+'ng')return;_0x171fe7(_0x575ad7(0x110)+_0x575ad7(0x155)+'id\x20not\x20t'+_0x575ad7(0x186)+_0x575ad7(0x144)+'within\x20t'+_0x575ad7(0x13a),{'downloadedVersion':_0x1da781[_0x575ad7(0x163)+'edVersio'+'n'],'currentVersion':_0x1da781[_0x575ad7(0x13e)+'ersion']}),_0x44715a(new Error('更新安装未能启动'+_0x575ad7(0x1ae)+_0x575ad7(0x142)));},_0x106259['installQ'+_0x31e45d(0x1a0)+_0x31e45d(0x141)]);}function _0x17df32(){const _0x28f76e=_0x3e1cda;if(_0x1b78b5)return;_0x1b78b5=!![],_0x1da781[_0x28f76e(0x1b5)+'d']=_0x3b2a4f(),_0x1da781[_0x28f76e(0x1a5)]=_0x1da781['supporte'+'d']?_0x28f76e(0x124):'unsuppor'+_0x28f76e(0x175),_0x1da781[_0x28f76e(0x150)]=_0x1da781[_0x28f76e(0x1b5)+'d']?_0x2cff52(_0x1da781[_0x28f76e(0x19d)]):_0x16057c();if(!_0x1da781[_0x28f76e(0x1b5)+'d']){_0x50ecd4();return;}autoUpdater[_0x28f76e(0x136)+'load']=_0x106259[_0x28f76e(0x136)+'load'],autoUpdater[_0x28f76e(0x15e)+_0x28f76e(0x115)+'Quit']=![],autoUpdater[_0x28f76e(0x19d)]=_0x1da781[_0x28f76e(0x19d)],autoUpdater['on']('checking'+_0x28f76e(0x1b7)+_0x28f76e(0x13b),()=>{const _0xc55016=_0x28f76e;_0x173107=null,_0x53423d({'phase':'checking','checkedAt':new Date()[_0xc55016(0x18a)+_0xc55016(0xf9)](),'remoteVersion':null,'comparisonResult':_0xc55016(0xfe),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x4408c0(),'error':null,'message':_0xc55016(0x120)});}),autoUpdater['on']('update-a'+_0x28f76e(0x10b),_0x1b5e59=>{const _0x4ab724=_0x28f76e,_0x57998c=extractUpdateInfoPatch(_0x1b5e59),_0x298fe7=compareAppVersions(_0x27b0c9(),_0x57998c[_0x4ab724(0x104)+'rsion']);if(_0x298fe7!==_0x4ab724(0x191)+_0x4ab724(0x1ac)){_0x173107=null,_0x53423d({..._0x57998c,'phase':_0x4ab724(0x18f)+_0x4ab724(0x151),'comparisonResult':_0x298fe7,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x4408c0(),'checkedAt':new Date()['toISOStr'+'ing'](),'error':null,'message':_0x4ab724(0xf3)+'本'});return;}_0x173107=extractRemoteUpdatePackageMetadata(_0x1b5e59,_0x4e7754),_0x53423d({..._0x57998c,'phase':_0x4ab724(0x161)+'e','comparisonResult':_0x298fe7,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x4408c0(),'checkedAt':new Date()['toISOStr'+'ing'](),'error':null,'message':_0x57998c[_0x4ab724(0x161)+_0x4ab724(0xf4)]?'发现新版本\x20v'+_0x57998c[_0x4ab724(0x161)+_0x4ab724(0xf4)]:_0x4ab724(0xf5)}),_0x4b052a(_0x4ab724(0x114)+_0x4ab724(0x10b));}),autoUpdater['on'](_0x28f76e(0x16a)+_0x28f76e(0x190)+_0x28f76e(0x1ab),_0x2a816e=>{const _0x328bf4=_0x28f76e;_0x173107=null;const _0x1016f=extractUpdateInfoPatch(_0x2a816e);_0x53423d({..._0x1016f,'phase':_0x328bf4(0x18f)+_0x328bf4(0x151),'comparisonResult':compareAppVersions(_0x27b0c9(),_0x1016f[_0x328bf4(0x104)+_0x328bf4(0x1a3)]),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x4408c0(),'checkedAt':new Date()[_0x328bf4(0x18a)+_0x328bf4(0xf9)](),'error':null,'message':_0x328bf4(0xf3)+'本'});}),autoUpdater['on'](_0x28f76e(0x163)+_0x28f76e(0x179)+'s',_0x30934a=>{const _0x54343a=_0x28f76e,_0x392d06=extractProgressPatch(_0x30934a),_0x23de02=_0x3816c5(_0x392d06[_0x54343a(0x163)+'Percent']??null);_0x53423d({..._0x392d06,'downloadPercent':_0x23de02,'phase':_0x54343a(0x163)+_0x54343a(0xf9),..._0x4408c0(),'error':null,'message':_0x10eb47(_0x1da781[_0x54343a(0x161)+_0x54343a(0xf4)],_0x23de02)});}),autoUpdater['on'](_0x28f76e(0x11a)+'ownloade'+'d',_0x2f4d25=>{const _0x252866=_0x28f76e,_0x245f62=extractUpdateInfoPatch(_0x2f4d25),_0xd73e52=extractRemoteUpdatePackageMetadata(_0x2f4d25,_0x4e7754)??_0x173107;_0xd73e52&&(_0x173107=_0xd73e52);const _0x4dc45b=_0x245f62[_0x252866(0x161)+'eVersion']??_0xd73e52?.[_0x252866(0x193)]??_0x1da781[_0x252866(0x161)+_0x252866(0xf4)];_0x53423d({..._0x245f62,'phase':_0x252866(0x163)+'ed','comparisonResult':compareAppVersions(_0x27b0c9(),_0x4dc45b),'hasUpdate':!![],'downloadedVersion':_0x4dc45b,'downloadPercent':0x64,..._0x4408c0(),'error':null,'message':_0x4dc45b?_0x252866(0x187)+_0x4dc45b+_0x252866(0xf6):_0x252866(0x1a8)+'装'});}),autoUpdater['on'](_0x28f76e(0x15d),_0x261e56=>{const _0x12a01a=_0x28f76e;if(_0x1da781[_0x12a01a(0x1a5)]===_0x12a01a(0x12c)+'ng'){_0x44715a(_0x261e56);return;}_0x53423d({'phase':_0x12a01a(0x15d),'checkedAt':new Date()['toISOStr'+_0x12a01a(0xf9)](),..._0x4408c0(),'error':getErrorMessage(_0x261e56),'errorCode':_0x1da781[_0x12a01a(0x1a5)]===_0x12a01a(0x163)+'ing'?_0x12a01a(0x163)+'-error':_0x12a01a(0x166)+_0x12a01a(0x138),'message':'自动更新失败'});}),_0x50ecd4();}async function _0x4537c2(){const _0x38e359=_0x3e1cda;_0x17df32(),_0x5331df();if(_0x3fc0df)return _0x3fc0df;return _0x133c35('check\x20re'+'quested'),_0x3fc0df=autoUpdater['checkFor'+_0x38e359(0x122)]()['then'](()=>_0x11397f())[_0x38e359(0x12f)](()=>{_0x3fc0df=null;}),_0x3fc0df;}async function _0x1baa9f(){const _0x1e03b3=_0x3e1cda;_0x17df32(),_0x5331df();if(_0x1da781[_0x1e03b3(0x1a5)]===_0x1e03b3(0x163)+'ed'||_0x1da781[_0x1e03b3(0x1a5)]===_0x1e03b3(0x12c)+'ng')return _0x11397f();if(!_0x1da781['hasUpdat'+'e'])throw new Error('当前没有可下载的'+'更新');const _0x3f9a46=_0x1da781[_0x1e03b3(0x1a5)]===_0x1e03b3(0x15d)&&_0x1da781[_0x1e03b3(0xee)+'e']===_0x1e03b3(0x1b4)+_0x1e03b3(0x15d)&&Boolean(_0x1da781[_0x1e03b3(0x163)+'edVersio'+'n']);if(_0x1da781[_0x1e03b3(0x1a5)]==='error'){if(_0x3f9a46)_0x53423d({'phase':_0x1e03b3(0x161)+'e','hasUpdate':!![],'availableVersion':_0x1da781[_0x1e03b3(0x161)+'eVersion']??_0x1da781['download'+_0x1e03b3(0x126)+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x4408c0(),'error':null,'message':_0x1e03b3(0x1a9)+'包'});else{await _0x4537c2();if(_0x1da781[_0x1e03b3(0x1a5)]!==_0x1e03b3(0x161)+'e')throw new Error(_0x1e03b3(0xfa)+'更新');}}if(!['availabl'+'e','download'+'ing'][_0x1e03b3(0x130)](_0x1da781[_0x1e03b3(0x1a5)]))throw new Error('当前没有可下载的'+'更新');if(_0x48edef)return _0x48edef;return _0x48edef=autoUpdater[_0x1e03b3(0x163)+_0x1e03b3(0x11b)]()['then'](()=>{const _0x2fe57c=_0x1e03b3;return _0x1da781[_0x2fe57c(0x1a5)]!==_0x2fe57c(0x163)+'ed'&&_0x53423d({'phase':'error','checkedAt':new Date()[_0x2fe57c(0x18a)+_0x2fe57c(0xf9)](),..._0x4408c0(),'error':_0x2fe57c(0x123)+_0x2fe57c(0x156)+_0x2fe57c(0x18b),'errorCode':_0x2fe57c(0x163)+_0x2fe57c(0x131),'message':'更新准备失败'}),_0x11397f();})['finally'](()=>{_0x48edef=null;}),_0x48edef;}function _0x1161e3(){const _0x395987=_0x3e1cda;_0x17df32(),_0x5331df();if(![_0x395987(0x163)+'ed',_0x395987(0x12c)+'ng']['includes'](_0x1da781['phase']))throw new Error(_0x395987(0xfc)+_0x395987(0x105));const _0x24be31=_0x3e510c();_0x2bb0fa=Date[_0x395987(0x15c)](),_0x20fb5c({'startedAt':new Date(_0x2bb0fa)[_0x395987(0x18a)+'ing'](),'currentVersion':_0x1da781['currentV'+_0x395987(0x1b2)],'downloadedVersion':_0x1da781[_0x395987(0x163)+_0x395987(0x126)+'n'],'pendingPackage':_0x24be31['packageN'+_0x395987(0x121)],'pendingPackageBytes':_0x24be31[_0x395987(0xff)+_0x395987(0x146)]}),_0x53423d({'phase':_0x395987(0x12c)+'ng',..._0x4408c0(),'error':null,'message':_0x395987(0x148)+_0x395987(0x18d)});try{_0x40efe6(),autoUpdater[_0x395987(0x110)+_0x395987(0xec)](![],!![]);}catch(_0x4f185b){_0x44715a(_0x4f185b);throw _0x4f185b;}return{'ok':!![]};}async function _0x5f53f3(_0x546581){const _0x48066b=_0x3e1cda;if(!_0x163872())return;_0x1ed36d=Date[_0x48066b(0x15c)](),_0x133c35('backgrou'+_0x48066b(0x13c)+_0x48066b(0x168)+'requeste'+'d',{'reason':_0x546581});try{await _0x4537c2();}catch(_0xa4386b){_0x171fe7(_0x48066b(0x145)+'nd\x20updat'+_0x48066b(0x168)+_0x48066b(0x195),{'reason':_0x546581,'error':getErrorMessage(_0xa4386b)});}}function _0x264a79(_0x43f07a){const _0xabbae9=_0x3e1cda;if(!_0x1da781[_0xabbae9(0x1b5)+'d'])return;const _0xe3f4e7=Date['now']()-_0x1ed36d;if(_0xe3f4e7<_0x106259[_0xabbae9(0x145)+_0xabbae9(0x173)+_0xabbae9(0x176)])return;void _0x5f53f3(_0x43f07a);}function _0x46c925(){const _0x36055f=_0x3e1cda;_0x17df32();if(!_0x1da781[_0x36055f(0x1b5)+'d']||_0x6fb8e7)return;_0x6fb8e7=setInterval(()=>{const _0x2116ac=_0x36055f;void _0x5f53f3(_0x2116ac(0x181));},_0x106259[_0x36055f(0x145)+_0x36055f(0x117)+_0x36055f(0x11e)+'s']),void _0x5f53f3(_0x36055f(0x152)),_0x133c35('backgrou'+'nd\x20updat'+_0x36055f(0x168)+_0x36055f(0x199)+_0x36055f(0x1a2)+'d',_0x106259);}function _0x11b3dd(){const _0x252ecf=_0x3e1cda;if(_0x1da781[_0x252ecf(0x1a5)]!==_0x252ecf(0x12c)+'ng')return;_0x27a2d9=!![],_0x73beec();}return{'initialize':_0x17df32,'getState':_0x11397f,'checkForUpdates':_0x4537c2,'downloadUpdate':_0x1baa9f,'quitAndInstall':_0x1161e3,'requestBackgroundCheck':_0x264a79,'startBackgroundChecks':_0x46c925,'markQuitObserved':_0x11b3dd};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3e0b8d,_0x58e2d0){const _0x166207=_0x2abe,_0x397458=_0x3e0b8d();while(!![]){try{const _0x1a4d4a=parseInt(_0x166207(0x191))/0x1+-parseInt(_0x166207(0x1ab))/0x2*(parseInt(_0x166207(0x1b1))/0x3)+-parseInt(_0x166207(0x176))/0x4+-parseInt(_0x166207(0x187))/0x5*(-parseInt(_0x166207(0x178))/0x6)+parseInt(_0x166207(0x197))/0x7+-parseInt(_0x166207(0x1a4))/0x8*(-parseInt(_0x166207(0x1b0))/0x9)+parseInt(_0x166207(0x1b3))/0xa;if(_0x1a4d4a===_0x58e2d0)break;else _0x397458['push'](_0x397458['shift']());}catch(_0x383842){_0x397458['push'](_0x397458['shift']());}}}(_0x4c4c,0x4020b));import{BrowserWindow}from'electron';function _0x4c4c(){const _0x5163ba=['自动更新依赖\x20e','updater\x20','object','ateContr','missing-','1464274RHtQON','\x22electro','dependen','send','latest','yed','o\x20load\x20e','logger','ller.mjs','\x20unavail','alpha','code','er.mjs\x20d','8siaUQh','unsuppor','reateUpd','trim','createUp','te-state','getAllWi','561394rQYTVp','message','warn','unknown','function','1901619kxgFTA','3ltGoYg','未知的自动更新错','1903400JzrIhl','auto\x20upd','636664gUTnCJ','ted','6quqeSy','oes\x20not\x20','\x27electro','app:upda','ause\x20ele','able','updater','roller','isDestro','n-update','webConte','ate\x20disa','用状态','includes','ndows','429395zkmRpq','updates','string','ctron-up','OUND','dateCont','controll','failed\x20t','LE_NOT_F','nts','5838zScfKu'];_0x4c4c=function(){return _0x5163ba;};return _0x4c4c();}function getErrorMessage(_0x457b8d){const _0x431c44=_0x2abe;if(_0x457b8d instanceof Error&&_0x457b8d[_0x431c44(0x1ac)]['trim']())return _0x457b8d[_0x431c44(0x1ac)][_0x431c44(0x1a7)]();if(typeof _0x457b8d===_0x431c44(0x189)&&_0x457b8d[_0x431c44(0x1a7)]())return _0x457b8d[_0x431c44(0x1a7)]();return _0x431c44(0x1b2)+'误';}function createUnavailableUpdateController({shellConfig:_0x342d32,appVersion:_0x270066,broadcast:_0x4260a6,logger:_0x14d3e8,reason:_0x3679e1}){const _0x256c10=_0x2abe,_0x426a70=_0x342d32[_0x256c10(0x188)]??{},_0x31b9e9={'supported':![],'channel':_0x426a70['channel']===_0x256c10(0x1a1)?_0x256c10(0x1a1):_0x256c10(0x19b),'phase':_0x256c10(0x1a5)+_0x256c10(0x177),'currentVersion':_0x270066(),'remoteVersion':null,'comparisonResult':_0x256c10(0x1ae),'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':_0x3679e1,'error':null,'errorCode':_0x256c10(0x196)+_0x256c10(0x199)+'cy'};let _0x5b13be=![];function _0xfbf71(){return{..._0x31b9e9,'currentVersion':_0x270066()};}function _0x13cfcf(){const _0x126b1f=_0x256c10,_0x299f1c=_0xfbf71();for(const _0x235fde of BrowserWindow[_0x126b1f(0x1aa)+_0x126b1f(0x186)]()){!_0x235fde[_0x126b1f(0x180)+_0x126b1f(0x19c)]()&&_0x235fde[_0x126b1f(0x182)+_0x126b1f(0x190)][_0x126b1f(0x19a)](_0x126b1f(0x17b)+_0x126b1f(0x1a9),_0x299f1c);}_0x4260a6?.(_0x126b1f(0x17b)+_0x126b1f(0x1a9),_0x299f1c);}function _0x1fd68b(){const _0x41f219=_0x256c10;if(_0x5b13be)return;_0x5b13be=!![],_0x14d3e8?.[_0x41f219(0x1ad)]?.(_0x41f219(0x1b4)+_0x41f219(0x183)+'bled\x20bec'+_0x41f219(0x17c)+_0x41f219(0x18a)+'dater\x20is'+_0x41f219(0x1a0)+_0x41f219(0x17d),{'reason':_0x3679e1}),_0x13cfcf();}function _0x327bd9(){throw new Error(_0x3679e1);}async function _0x3b6583(){_0x1fd68b(),_0x327bd9();}async function _0x39da27(){_0x1fd68b(),_0x327bd9();}async function _0x20f13d(){_0x1fd68b(),_0x327bd9();}function _0x34e9a8(){}function _0x5315a2(){_0x1fd68b();}function _0x4aebaa(){}return{'initialize':_0x1fd68b,'getState':_0xfbf71,'checkForUpdates':_0x3b6583,'downloadUpdate':_0x39da27,'quitAndInstall':_0x20f13d,'requestBackgroundCheck':_0x34e9a8,'startBackgroundChecks':_0x5315a2,'markQuitObserved':_0x4aebaa};}function isElectronUpdaterMissingError(_0x3f25a9){const _0x23d8f0=_0x2abe;if(!_0x3f25a9)return![];if(_0x3f25a9&&typeof _0x3f25a9===_0x23d8f0(0x194)&&_0x23d8f0(0x1a2)in _0x3f25a9&&(_0x3f25a9[_0x23d8f0(0x1a2)]==='ERR_MODU'+_0x23d8f0(0x18f)+_0x23d8f0(0x18b)||_0x3f25a9[_0x23d8f0(0x1a2)]==='MODULE_N'+'OT_FOUND')){const _0x8df7d3=getErrorMessage(_0x3f25a9);return _0x8df7d3[_0x23d8f0(0x185)](_0x23d8f0(0x17a)+_0x23d8f0(0x181)+'r\x27')||_0x8df7d3['includes'](_0x23d8f0(0x198)+_0x23d8f0(0x181)+'r\x22');}return![];}export async function loadCreateUpdateController({logger:_0x18bbf9,importer:importer=_0x3d8e99=>import(_0x3d8e99)}={}){const _0x10c945=_0x2abe;try{const _0x3b34cf=await importer('./contro'+_0x10c945(0x19f));if(typeof _0x3b34cf['createUp'+_0x10c945(0x18c)+'roller']!==_0x10c945(0x1af))throw new TypeError('updates/'+_0x10c945(0x18d)+_0x10c945(0x1a3)+_0x10c945(0x179)+'export\x20c'+_0x10c945(0x1a6)+_0x10c945(0x195)+'oller');return _0x3b34cf[_0x10c945(0x1a8)+_0x10c945(0x18c)+_0x10c945(0x17f)];}catch(_0x44852b){if(!isElectronUpdaterMissingError(_0x44852b))throw _0x44852b;const _0x101a6f=_0x10c945(0x192)+'lectron-'+_0x10c945(0x193)+'缺失,已降级为禁'+_0x10c945(0x184);return _0x18bbf9?.[_0x10c945(0x1ad)]?.(_0x10c945(0x18e)+_0x10c945(0x19d)+'lectron-'+_0x10c945(0x17e),{'error':getErrorMessage(_0x44852b),'reason':_0x101a6f}),_0xe24340=>createUnavailableUpdateController({..._0xe24340,'logger':_0xe24340?.[_0x10c945(0x19e)]??_0x18bbf9,'reason':_0x101a6f});}}function _0x2abe(_0x3ef3d5,_0x1bab6b){_0x3ef3d5=_0x3ef3d5-0x176;const _0x4c4c49=_0x4c4c();let _0x2abe15=_0x4c4c49[_0x3ef3d5];return _0x2abe15;}export const __test__={'createUnavailableUpdateController':createUnavailableUpdateController,'isElectronUpdaterMissingError':isElectronUpdaterMissingError};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wujie-shell/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/src/index.mjs",
|
|
6
6
|
"exports": {
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"get-port": "^7.2.0",
|
|
35
35
|
"semver": "^7.8.3",
|
|
36
36
|
"ws": "^8.20.0",
|
|
37
|
-
"@wujie-shell/config": "
|
|
38
|
-
"@wujie-shell/logger": "
|
|
37
|
+
"@wujie-shell/config": "4.0.0",
|
|
38
|
+
"@wujie-shell/logger": "4.0.0"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "node ../../scripts/build-packages.mjs --package @wujie-shell/core"
|