@wujie-shell/core 3.0.1 → 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 -0
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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(_0x3d63b3,_0x471ab0){const _0x52664f=_0xc116,_0x4670d5=_0x3d63b3();while(!![]){try{const _0x3f5be0=-parseInt(_0x52664f(0xfa))/0x1+parseInt(_0x52664f(0x18e))/0x2*(-parseInt(_0x52664f(0x12d))/0x3)+-parseInt(_0x52664f(0x169))/0x4*(parseInt(_0x52664f(0x184))/0x5)+-parseInt(_0x52664f(0x118))/0x6*(-parseInt(_0x52664f(0x1a2))/0x7)+parseInt(_0x52664f(0x13f))/0x8*(parseInt(_0x52664f(0x174))/0x9)+-parseInt(_0x52664f(0xf4))/0xa+-parseInt(_0x52664f(0x102))/0xb*(-parseInt(_0x52664f(0x16e))/0xc);if(_0x3f5be0===_0x471ab0)break;else _0x4670d5['push'](_0x4670d5['shift']());}catch(_0x66cef8){_0x4670d5['push'](_0x4670d5['shift']());}}}(_0xa062,0x55a4d));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{basename,join}from'node:path';import _0x5c3f4e from'electron-updater';import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';const {autoUpdater}=_0x5c3f4e,DEFAULT_INSTALL_QUIT_TIMEOUT_MS=0xea60,DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS=0x1e*0x3c*0x3e8;function normalizeAppUpdatePackageFileName(_0x1bd95c){const _0x151eaf=_0xc116;if(typeof _0x1bd95c!==_0x151eaf(0x1b0))return null;const _0x502015=_0x1bd95c[_0x151eaf(0xec)]();if(!_0x502015||_0x502015==='.'||_0x502015==='..'||_0x502015[_0x151eaf(0x181)]('/')||_0x502015[_0x151eaf(0x181)]('\x5c'))return null;return _0x502015;}function isMatchingAppUpdatePackageMetadata(_0x484c36,_0x45b032){const _0x28f3af=_0xc116;if(!_0x484c36||!_0x45b032||typeof _0x45b032!==_0x28f3af(0x192))return![];const _0x5757fe=_0x45b032,_0x1edf54=normalizeAppUpdatePackageFileName(_0x484c36[_0x28f3af(0x13e)]),_0xc67669=normalizeAppUpdatePackageFileName(_0x5757fe['fileName']),_0x2052e8=_0x484c36['sha512'][_0x28f3af(0xec)](),_0x572ec4=typeof _0x5757fe[_0x28f3af(0x1a6)]===_0x28f3af(0x1b0)?_0x5757fe['sha512'][_0x28f3af(0xec)]():'';return Boolean(_0x1edf54&&_0xc67669&&_0x1edf54===_0xc67669&&_0x2052e8&&_0x572ec4&&_0x2052e8===_0x572ec4);}function normalizeAppVersion(_0xe05471){const _0x575e8f=_0xc116;return clean(String(_0xe05471??'')[_0x575e8f(0xec)]());}function compareAppVersions(_0x5bc4c4,_0x36ef62){const _0x33a0be=_0xc116,_0x2cf7e4=normalizeAppVersion(_0x5bc4c4),_0x56fbae=normalizeAppVersion(_0x36ef62);if(!_0x2cf7e4||!_0x56fbae)return'unknown';const _0x460ccc=compare(_0x56fbae,_0x2cf7e4);if(_0x460ccc===0x0)return _0x33a0be(0x11d)+_0x33a0be(0x18c);return _0x460ccc>0x0?_0x33a0be(0x12e)+_0x33a0be(0xfb):_0x33a0be(0x10d)+'lder';}function normalizeAppUpdateChannel(_0x5d17c6){return _0x5d17c6==='alpha'?'alpha':'latest';}function normalizeString(_0x55989b){const _0x5e4160=_0xc116;if(typeof _0x55989b!==_0x5e4160(0x1b0))return null;const _0x1b0ece=_0x55989b[_0x5e4160(0xec)]();return _0x1b0ece||null;}function normalizeReleaseNotes(_0x4247e2){const _0x1f505f=_0xc116;if(typeof _0x4247e2===_0x1f505f(0x1b0))return normalizeString(_0x4247e2);if(!Array[_0x1f505f(0x1a1)](_0x4247e2))return null;const _0x23ec7d=_0x4247e2[_0x1f505f(0x14e)](_0x2e7dd3=>{const _0xbb4839=_0x1f505f;if(typeof _0x2e7dd3==='string'){const _0x377f26=normalizeString(_0x2e7dd3);return _0x377f26?[_0x377f26]:[];}if(!_0x2e7dd3||typeof _0x2e7dd3!==_0xbb4839(0x192))return[];const _0x26acba=normalizeString(_0x2e7dd3[_0xbb4839(0x198)]),_0x1d5084=normalizeString(_0x2e7dd3[_0xbb4839(0x179)]);if(_0x26acba&&_0x1d5084)return['v'+_0x26acba+'\x0a'+_0x1d5084];if(_0x1d5084)return[_0x1d5084];if(_0x26acba)return['v'+_0x26acba];return[];});return _0x23ec7d[_0x1f505f(0x17a)]>0x0?_0x23ec7d[_0x1f505f(0x16c)]('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x4195bb){const _0x3ad077=_0xc116;if(!_0x4195bb||typeof _0x4195bb!=='object')return{};return{'remoteVersion':normalizeString(_0x4195bb['version']),'availableVersion':normalizeString(_0x4195bb[_0x3ad077(0x198)]),'releaseName':normalizeString(_0x4195bb['releaseN'+_0x3ad077(0x1a4)]),'releaseDate':normalizeString(_0x4195bb[_0x3ad077(0x14b)+'ate']),'releaseNotes':normalizeReleaseNotes(_0x4195bb[_0x3ad077(0xfc)+_0x3ad077(0x17d)])};}function _0xc116(_0x27b900,_0x5ed609){_0x27b900=_0x27b900-0xd8;const _0xa062d4=_0xa062();let _0xc1164e=_0xa062d4[_0x27b900];return _0xc1164e;}function extractPackageFileName(_0x54d69b){const _0x2c68bb=_0xc116,_0x806057=normalizeString(_0x54d69b);if(!_0x806057)return null;try{const _0x65887b=new URL(_0x806057);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0x65887b[_0x2c68bb(0x11f)])));}catch{const _0x2dba46=_0x806057[_0x2c68bb(0x168)](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x2dba46));}}function _0xa062(){const _0x75a3b1=['channel','phase','warn','未知的自动更新错','\x20AppImag','pending\x20','更新安装未能启动','ge\x20for\x20c','o\x20read\x20a','utMs','自动更新已禁用','releaseD','exec','o\x20inspec','flatMap','正在下载\x20','autoDown','更新包已准备好安','currentV','ersion','update-d','push','ate','自动更新功能已就','nd\x20updat','o\x20read\x20p','e\x20check\x20','failed','isDestro','package\x20','Second','phase-co','动更新','toFixed','当前没有可安装的','isFinite','toISOStr','message','check-er','check\x20re','split','468148xdpSuR','nfo.json','pp\x20quit\x20','join','g\x20instal','120LMZlDo','latform','发现可用更新','bytesPer','sPath','当前使用\x20Alp','9Ozxjyu','ted','url','urrent\x20p','install-','note','length','hasUpdat','files','otes','te-state','当前已经是最新版','install\x20','includes','imeout','packageB','5kDwZxI','startup','linux','yed','path','utf8','ending\x20u','finally','sion','更新包校验完成但','36236QwQEeu','自动更新失败','ndCheckS','更新准备失败','object','installQ','当前没有可下载的','已下载更新','e.yml','supporte','version','t\x20pendin','rigger\x20a','size','idle','rsion','t\x20instal','remoteVe','update-a','isArray','7IdOmqU',',请重新下载更新','ame','启应用','sha512','正在重新准备更新','darwin','edVersio','able','内自动更新','quested','Local','backgrou','o\x20persis','string','aded\x20pac','ntext','dataDir','acheDirN','Update','red','e\x20版本支持应用','-error','自动更新已在\x20s','ndows','resource','updaterC','checking','isFile','uitTimeo','ntervalM','availabl','g\x20downlo','taleMs','lable','getAllWi','ing\x20upda','unknown','parse','update-i','\x20已准备好安装','trim','发现本地更新包\x20','platform','cache\x20hi','requeste','quitAndI','.cache','-updater','3124310gafvkI','no\x20match','checkFor','l\x20phase\x20','autoInst','load','282569zRZdfp','ewer','releaseN','app-upda','isPackag','nts','新版本','ha\x20更新渠道','1149093MTAJQp','重试下载更新','download','schedule','ndCheckI','context','map','自动更新仅在打包','eVersion','packageN','pp-updat','remote-o','total','Percent','within\x20t','nstall','o\x20clear\x20','l\x20packag','te\x20packa','r\x20starte','error','find','134088Sjpgia','app:upda','update-n','not-avai','更新包\x20v','same-ver','assign','pathname','Updates','webConte','ownloade','ror','transfer','min','-progres','后的安装包中可用','当前构建不支持自','info','errorCod','ytes','installi','78BXzWaC','remote-n','ot-avail','failed\x20t','win32','number','-for-upd','test','正在检查更新','nstall\x20d','max','ing','id\x20not\x20t','Quit','now','Library','enabled','fileName','3735392iinAxv'];_0xa062=function(){return _0x75a3b1;};return _0xa062();}function getPreferredUpdatePackagePattern(){const _0x1eba2d=_0xc116;if(process['platform']===_0x1eba2d(0x1a8))return/\.zip$/iu;if(process[_0x1eba2d(0xee)]===_0x1eba2d(0x131))return/\.exe$/iu;if(process[_0x1eba2d(0xee)]===_0x1eba2d(0x186))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x27a992,_0x27d410){const _0x59507e=_0xc116;if(!_0x27a992||typeof _0x27a992!==_0x59507e(0x192))return null;const _0x4257de=normalizeString(_0x27a992[_0x59507e(0x198)]);if(!_0x4257de)return null;const _0x39597=[],_0x22d82e=Array[_0x59507e(0x1a1)](_0x27a992[_0x59507e(0x17c)])?_0x27a992[_0x59507e(0x17c)]:[];for(const _0x8eda02 of _0x22d82e){if(!_0x8eda02||typeof _0x8eda02!==_0x59507e(0x192))continue;const _0x4a6271=extractPackageFileName(_0x8eda02[_0x59507e(0x176)])??extractPackageFileName(_0x8eda02['path'])??normalizeAppUpdatePackageFileName(_0x8eda02['fileName']),_0x4ee3bc=normalizeString(_0x8eda02[_0x59507e(0x1a6)]);_0x4a6271&&_0x4ee3bc&&_0x39597[_0x59507e(0x155)]({'fileName':_0x4a6271,'sha512':_0x4ee3bc});}const _0x4d5a88=extractPackageFileName(_0x27a992[_0x59507e(0x176)])??extractPackageFileName(_0x27a992[_0x59507e(0x188)])??normalizeAppUpdatePackageFileName(_0x27a992[_0x59507e(0x13e)]),_0x122cef=normalizeString(_0x27a992[_0x59507e(0x1a6)]);_0x4d5a88&&_0x122cef&&_0x39597[_0x59507e(0x155)]({'fileName':_0x4d5a88,'sha512':_0x122cef});const _0x41b5f3=_0x39597[_0x59507e(0x117)](_0xd23a85=>getPreferredUpdatePackagePattern()[_0x59507e(0x134)](_0xd23a85[_0x59507e(0x13e)]));if(!_0x41b5f3)return _0x27d410?.[_0x59507e(0x142)]?.(_0x59507e(0xf5)+_0x59507e(0xe7)+_0x59507e(0x114)+_0x59507e(0x147)+_0x59507e(0x177)+_0x59507e(0x16f),{'platform':process[_0x59507e(0xee)],'candidates':_0x39597[_0x59507e(0x108)](_0x18ba1c=>_0x18ba1c['fileName'])}),null;return{'version':_0x4257de,..._0x41b5f3};}function extractProgressPatch(_0x3fcd7c){const _0x40a5b6=_0xc116;return{'downloadPercent':typeof _0x3fcd7c['percent']===_0x40a5b6(0x132)?_0x3fcd7c['percent']:null,'bytesPerSecond':typeof _0x3fcd7c[_0x40a5b6(0x171)+_0x40a5b6(0x15e)]===_0x40a5b6(0x132)?_0x3fcd7c[_0x40a5b6(0x171)+_0x40a5b6(0x15e)]:null,'transferredBytes':typeof _0x3fcd7c[_0x40a5b6(0x124)+_0x40a5b6(0x1b6)]===_0x40a5b6(0x132)?_0x3fcd7c[_0x40a5b6(0x124)+'red']:null,'totalBytes':typeof _0x3fcd7c[_0x40a5b6(0x10e)]==='number'?_0x3fcd7c[_0x40a5b6(0x10e)]:null};}function getErrorMessage(_0x75b610){const _0x11444b=_0xc116;if(_0x75b610 instanceof Error&&_0x75b610[_0x11444b(0x165)]['trim']())return _0x75b610[_0x11444b(0x165)][_0x11444b(0xec)]();if(typeof _0x75b610==='string'&&_0x75b610[_0x11444b(0xec)]())return _0x75b610[_0x11444b(0xec)]();return _0x11444b(0x143)+'误';}export function createUpdateController({shellConfig:_0x59407f,appName:_0x504b31,appVersion:_0x544386,broadcast:_0xe75033,logger:_0x141929}){const _0x36cb50=_0xc116,_0x9247df=_0x59407f['updates']??{},_0x1ea499=normalizeAppUpdateChannel(_0x9247df[_0x36cb50(0x140)]),_0x517038={'backgroundCheckIntervalMs':_0x9247df[_0x36cb50(0x1ae)+'ndCheckI'+_0x36cb50(0xe1)+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x9247df[_0x36cb50(0x1ae)+_0x36cb50(0x190)+_0x36cb50(0xe4)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x9247df[_0x36cb50(0x193)+_0x36cb50(0xe0)+_0x36cb50(0x149)]??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'autoDownload':_0x9247df['autoDown'+_0x36cb50(0xf9)]===!![]},_0x373442={'supported':![],'channel':_0x1ea499,'phase':'unsuppor'+_0x36cb50(0x175),'currentVersion':_0x544386(),'remoteVersion':null,'comparisonResult':_0x36cb50(0xe8),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'releaseName':null,'releaseDate':null,'releaseNotes':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'checkedAt':null,'message':_0x36cb50(0x14a),'error':null,'errorCode':null};let _0x470b54=![],_0x4bc2cd=null,_0x47a057=null,_0x1026cd=null,_0x1a4884=null,_0x401ee1=null,_0x567c2=![],_0x5d4773=null,_0x4ac86b=0x0;function _0x3234b6(){const _0x256a6f=_0x36cb50;if(process[_0x256a6f(0xee)]==='darwin')return join(homedir(),_0x256a6f(0x13c),'Caches');if(process[_0x256a6f(0xee)]==='win32')return process.env.LOCALAPPDATA??join(homedir(),'AppData',_0x256a6f(0x1ad));return process.env.XDG_CACHE_HOME??join(homedir(),_0x256a6f(0xf2));}function _0x272774(){const _0x7fe963=_0x36cb50;if(!app[_0x7fe963(0xfe)+'ed']||!process['resource'+_0x7fe963(0x172)])return{};const _0x2e5ca3=join(process[_0x7fe963(0xdc)+_0x7fe963(0x172)],_0x7fe963(0xfd)+'te.yml');if(!existsSync(_0x2e5ca3))return{};try{const _0x179c32=readFileSync(_0x2e5ca3,_0x7fe963(0x189)),_0x1323f6=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x7fe963(0x14c)](_0x179c32),_0x52fcfd=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x7fe963(0x14c)](_0x179c32);return{'channel':normalizeAppUpdateChannel(_0x1323f6?.[0x1]),'updaterCacheDirName':normalizeString(_0x52fcfd?.[0x1])};}catch(_0x2c142c){return _0x141929?.[_0x7fe963(0x142)]?.('failed\x20t'+_0x7fe963(0x148)+_0x7fe963(0x10c)+_0x7fe963(0x196),{'error':getErrorMessage(_0x2c142c)}),{};}}const _0x1e09d6=_0x272774();_0x1e09d6['channel']&&(_0x373442[_0x36cb50(0x140)]=_0x1e09d6[_0x36cb50(0x140)]);function _0x44c789(){const _0x4432c1=_0x36cb50,_0x1968c9=_0x1e09d6[_0x4432c1(0xdd)+_0x4432c1(0x1b4)+'ame']||_0x504b31()+_0x4432c1(0xf3);return join(_0x3234b6(),_0x1968c9);}function _0x45435b(_0x13c635){const _0xf081b1=_0x36cb50;return _0x13c635==='alpha'?_0xf081b1(0x173)+_0xf081b1(0x101):_0xf081b1(0x157)+'绪';}function _0x4e546c(){const _0xfd8db4=_0x36cb50;if(_0x9247df['enabled']===![])return![];if(!app[_0xfd8db4(0xfe)+'ed'])return![];if(process[_0xfd8db4(0xee)]!==_0xfd8db4(0x186))return!![];return Boolean(process.env.APPIMAGE);}function _0x50bb8d(){const _0x2e2b2b=_0x36cb50;if(_0x9247df[_0x2e2b2b(0x13d)]===![])return _0x2e2b2b(0xda)+'hell.con'+'fig\x20中禁用';if(!app[_0x2e2b2b(0xfe)+'ed'])return _0x2e2b2b(0x109)+_0x2e2b2b(0x127);if(process['platform']==='linux')return'Linux\x20下仅'+_0x2e2b2b(0x144)+_0x2e2b2b(0xd8)+_0x2e2b2b(0x1ab);return _0x2e2b2b(0x128)+_0x2e2b2b(0x160);}function _0x556902(){const _0x3103a6=_0x36cb50;return join(_0x59407f[_0x3103a6(0x1b3)],_0x3103a6(0x178)+_0x3103a6(0x15f)+'ntext.js'+'on');}function _0x5f391b(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x114b70(){return{..._0x373442};}function _0x2ceceb(){const _0x39ae26=_0x36cb50,_0x93988c=_0x114b70();for(const _0x59d87b of BrowserWindow[_0x39ae26(0xe6)+_0x39ae26(0xdb)]()){!_0x59d87b[_0x39ae26(0x15c)+_0x39ae26(0x187)]()&&_0x59d87b[_0x39ae26(0x121)+_0x39ae26(0xff)]['send'](_0x39ae26(0x119)+_0x39ae26(0x17e),_0x93988c);}_0xe75033?.(_0x39ae26(0x119)+_0x39ae26(0x17e),_0x93988c);}function _0x176e01(_0x3615a2){const _0x208685=_0x36cb50,_0x4655e4={..._0x3615a2};_0x4655e4[_0x208685(0x116)]===null&&_0x4655e4[_0x208685(0x12a)+'e']===undefined&&(_0x4655e4[_0x208685(0x12a)+'e']=null),Object[_0x208685(0x11e)](_0x373442,_0x4655e4,{'currentVersion':_0x544386()}),_0x2ceceb();}function _0x141e00(){const _0x302cbc=_0x36cb50;if(!_0x373442[_0x302cbc(0x197)+'d'])throw new Error(_0x50bb8d());}function _0x3131cb(_0x343941,_0x48e0a5={}){const _0x20fec9=_0x36cb50;_0x141929?.[_0x20fec9(0x129)]?.(_0x343941,_0x48e0a5);}function _0x4e0da1(_0x478a4e,_0x496fe1={}){const _0x548369=_0x36cb50;_0x141929?.[_0x548369(0x142)]?.(_0x478a4e,_0x496fe1);}function _0x1315e0(_0x3114dd){const _0x358fcc=_0x36cb50;if(typeof _0x3114dd!==_0x358fcc(0x132)||!Number[_0x358fcc(0x163)](_0x3114dd))return null;const _0x49bc85=Math[_0x358fcc(0x125)](0x63,Math['max'](0x0,_0x3114dd));if(_0x373442[_0x358fcc(0x141)]!==_0x358fcc(0x104)+'ing'||typeof _0x373442['download'+'Percent']!==_0x358fcc(0x132))return _0x49bc85;return Math[_0x358fcc(0x137)](_0x373442[_0x358fcc(0x104)+_0x358fcc(0x10f)],_0x49bc85);}function _0xbb3250(_0x3ccc0b,_0x6f4436){const _0x44292e=_0x36cb50,_0x354c95=_0x3ccc0b?'v'+_0x3ccc0b:_0x44292e(0x100);if(typeof _0x6f4436==='number'){if(_0x6f4436>=0x63)return'正在验证安装包…';return'正在下载\x20'+_0x354c95+'\x20('+_0x6f4436[_0x44292e(0x161)](0x1)+'%)';}return _0x44292e(0x14f)+_0x354c95;}function _0xbe8340(_0xfc0383){const _0x310684=_0x36cb50;try{writeFileSync(_0x556902(),JSON['stringif'+'y'](_0xfc0383,null,0x2),_0x310684(0x189));}catch(_0x1c1f1a){_0x4e0da1(_0x310684(0x130)+_0x310684(0x1af)+_0x310684(0x19e)+_0x310684(0xf7)+_0x310684(0x107),{'error':getErrorMessage(_0x1c1f1a)});}}function _0x5a36fa(){const _0x2d0ccc=_0x36cb50;try{rmSync(_0x556902(),{'force':!![]});}catch(_0x58f90a){_0x4e0da1(_0x2d0ccc(0x130)+_0x2d0ccc(0x112)+_0x2d0ccc(0x180)+'phase\x20co'+_0x2d0ccc(0x1b2),{'error':getErrorMessage(_0x58f90a)});}}function _0x37470c(){const _0x5e48f1=_0x36cb50,_0x13e806=join(_0x44c789(),'pending');if(!existsSync(_0x13e806))return{'packageName':null,'packageBytes':null};try{const _0x53790=readdirSync(_0x13e806)[_0x5e48f1(0x117)](_0x554b7c=>/\.(zip|exe|dmg|AppImage)$/iu[_0x5e48f1(0x134)](_0x554b7c))??null;if(!_0x53790)return{'packageName':null,'packageBytes':null};const _0x5f5291=join(_0x13e806,_0x53790);return{'packageName':_0x53790,'packageBytes':statSync(_0x5f5291)['size']};}catch(_0x2aef3b){return _0x4e0da1('failed\x20t'+_0x5e48f1(0x14d)+_0x5e48f1(0x199)+_0x5e48f1(0x16d)+_0x5e48f1(0x113)+'e',{'error':getErrorMessage(_0x2aef3b)}),{'packageName':null,'packageBytes':null};}}function _0x29db09(){const _0x171c4e=_0x36cb50;if(!_0x1026cd)return null;const _0x257ee9=join(_0x44c789(),'pending'),_0x29da81=join(_0x257ee9,_0x171c4e(0xea)+_0x171c4e(0x16a));if(!existsSync(_0x29da81))return null;let _0x545865=null;try{_0x545865=JSON[_0x171c4e(0xe9)](readFileSync(_0x29da81,_0x171c4e(0x189)));}catch(_0x121c58){return _0x4e0da1(_0x171c4e(0x130)+_0x171c4e(0x159)+_0x171c4e(0x18a)+'pdate-in'+'fo.json',{'error':getErrorMessage(_0x121c58)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x1026cd,_0x545865))return null;const _0x4a719d=join(_0x257ee9,_0x1026cd[_0x171c4e(0x13e)]);if(!existsSync(_0x4a719d))return null;try{const _0x15e161=statSync(_0x4a719d);if(!_0x15e161[_0x171c4e(0xdf)]()||_0x15e161[_0x171c4e(0x19b)]===0x0)return null;return{'metadata':_0x1026cd,'packageName':_0x1026cd[_0x171c4e(0x13e)],'packageBytes':_0x15e161[_0x171c4e(0x19b)]};}catch(_0xf19e5d){return _0x4e0da1(_0x171c4e(0x130)+_0x171c4e(0x14d)+'t\x20pendin'+_0x171c4e(0xe3)+_0x171c4e(0x1b1)+'kage',{'error':getErrorMessage(_0xf19e5d)}),null;}}function _0x10f687(_0x27dfbe){const _0x524cc9=_0x36cb50,_0x4374bc=_0x29db09();if(!_0x4374bc)return![];const {metadata:_0x25a01a,packageName:_0x5c96cc,packageBytes:_0x18844d}=_0x4374bc;return _0x3131cb(_0x524cc9(0x145)+_0x524cc9(0x15d)+_0x524cc9(0xef)+'t',{'reason':_0x27dfbe,'version':_0x25a01a[_0x524cc9(0x198)],'packageName':_0x5c96cc,'packageBytes':_0x18844d}),_0x176e01({'phase':_0x524cc9(0xe2)+'e','remoteVersion':_0x25a01a[_0x524cc9(0x198)],'comparisonResult':_0x524cc9(0x12e)+_0x524cc9(0xfb),'hasUpdate':!![],'availableVersion':_0x25a01a['version'],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x18844d,'totalBytes':_0x18844d,'hasPendingPackage':!![],'pendingPackageName':_0x5c96cc,'pendingPackageBytes':_0x18844d,'error':null,'message':_0x524cc9(0xed)+'v'+_0x25a01a[_0x524cc9(0x198)]+(',请重新校验并准'+'备安装')}),!![];}function _0x50cf02(){const _0x3db748=_0x36cb50;return _0x373442['supporte'+'d']&&!_0x4bc2cd&&!_0x47a057&&[_0x3db748(0x19c),_0x3db748(0x11b)+_0x3db748(0xe5),_0x3db748(0x116)][_0x3db748(0x181)](_0x373442['phase']);}function _0x418eae(){if(!_0x401ee1)return;clearTimeout(_0x401ee1),_0x401ee1=null;}function _0x110e40(_0x1340dc){const _0x549af2=_0x36cb50,_0x3142a9=_0x373442[_0x549af2(0x104)+'edVersio'+'n'],_0x472a22=_0x373442[_0x549af2(0xe2)+_0x549af2(0x10a)];_0x1a4884=null,_0x567c2=![],_0x418eae(),_0x5a36fa(),_0x176e01({'phase':_0x549af2(0x116),'checkedAt':new Date()[_0x549af2(0x164)+_0x549af2(0x138)](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x472a22??_0x3142a9,'downloadedVersion':_0x3142a9,'error':getErrorMessage(_0x1340dc),'errorCode':_0x549af2(0x178)+_0x549af2(0x116),'message':'安装更新失败'});}function _0x156626(){const _0x1fc82c=_0x36cb50;_0x418eae(),_0x567c2=![],_0x401ee1=setTimeout(()=>{const _0x37d045=_0xc116;if(_0x567c2||_0x373442[_0x37d045(0x141)]!==_0x37d045(0x12c)+'ng')return;_0x4e0da1('quitAndI'+_0x37d045(0x136)+_0x37d045(0x139)+_0x37d045(0x19a)+_0x37d045(0x16b)+_0x37d045(0x110)+_0x37d045(0x182),{'downloadedVersion':_0x373442[_0x37d045(0x104)+_0x37d045(0x1a9)+'n'],'currentVersion':_0x373442[_0x37d045(0x152)+_0x37d045(0x153)]}),_0x110e40(new Error(_0x37d045(0x146)+_0x37d045(0x1a3)+'包后再试'));},_0x517038[_0x1fc82c(0x193)+'uitTimeo'+_0x1fc82c(0x149)]);}function _0x1e4e30(){const _0x4b98bb=_0x36cb50;if(_0x470b54)return;_0x470b54=!![],_0x373442[_0x4b98bb(0x197)+'d']=_0x4e546c(),_0x373442[_0x4b98bb(0x141)]=_0x373442[_0x4b98bb(0x197)+'d']?_0x4b98bb(0x19c):'unsuppor'+_0x4b98bb(0x175),_0x373442[_0x4b98bb(0x165)]=_0x373442[_0x4b98bb(0x197)+'d']?_0x45435b(_0x373442[_0x4b98bb(0x140)]):_0x50bb8d();if(!_0x373442['supporte'+'d']){_0x2ceceb();return;}autoUpdater[_0x4b98bb(0x150)+_0x4b98bb(0xf9)]=_0x517038[_0x4b98bb(0x150)+_0x4b98bb(0xf9)],autoUpdater[_0x4b98bb(0xf8)+'allOnApp'+_0x4b98bb(0x13a)]=![],autoUpdater[_0x4b98bb(0x140)]=_0x373442['channel'],autoUpdater['on'](_0x4b98bb(0xde)+_0x4b98bb(0x133)+_0x4b98bb(0x156),()=>{const _0x55059a=_0x4b98bb;_0x1026cd=null,_0x176e01({'phase':_0x55059a(0xde),'checkedAt':new Date()[_0x55059a(0x164)+_0x55059a(0x138)](),'remoteVersion':null,'comparisonResult':_0x55059a(0xe8),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f391b(),'error':null,'message':_0x55059a(0x135)});}),autoUpdater['on'](_0x4b98bb(0x1a0)+'vailable',_0x15b236=>{const _0x5c34d2=_0x4b98bb,_0xc18b90=extractUpdateInfoPatch(_0x15b236),_0x1e870f=compareAppVersions(_0x544386(),_0xc18b90[_0x5c34d2(0x19f)+_0x5c34d2(0x19d)]);if(_0x1e870f!=='remote-n'+'ewer'){_0x1026cd=null,_0x176e01({..._0xc18b90,'phase':_0x5c34d2(0x11b)+_0x5c34d2(0xe5),'comparisonResult':_0x1e870f,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f391b(),'checkedAt':new Date()[_0x5c34d2(0x164)+_0x5c34d2(0x138)](),'error':null,'message':_0x5c34d2(0x17f)+'本'});return;}_0x1026cd=extractRemoteUpdatePackageMetadata(_0x15b236,_0x141929),_0x176e01({..._0xc18b90,'phase':_0x5c34d2(0xe2)+'e','comparisonResult':_0x1e870f,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f391b(),'checkedAt':new Date()[_0x5c34d2(0x164)+_0x5c34d2(0x138)](),'error':null,'message':_0xc18b90['availabl'+'eVersion']?'发现新版本\x20v'+_0xc18b90[_0x5c34d2(0xe2)+'eVersion']:_0x5c34d2(0x170)}),_0x10f687('update_a'+'vailable');}),autoUpdater['on'](_0x4b98bb(0x11a)+_0x4b98bb(0x12f)+_0x4b98bb(0x1aa),_0xd16f31=>{const _0x1ed62f=_0x4b98bb;_0x1026cd=null;const _0x12c676=extractUpdateInfoPatch(_0xd16f31);_0x176e01({..._0x12c676,'phase':'not-avai'+_0x1ed62f(0xe5),'comparisonResult':compareAppVersions(_0x544386(),_0x12c676[_0x1ed62f(0x19f)+'rsion']),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f391b(),'checkedAt':new Date()[_0x1ed62f(0x164)+'ing'](),'error':null,'message':'当前已经是最新版'+'本'});}),autoUpdater['on'](_0x4b98bb(0x104)+_0x4b98bb(0x126)+'s',_0x1ef6d7=>{const _0x259a5=_0x4b98bb,_0x24361f=extractProgressPatch(_0x1ef6d7),_0x12ab08=_0x1315e0(_0x24361f[_0x259a5(0x104)+'Percent']??null);_0x176e01({..._0x24361f,'downloadPercent':_0x12ab08,'phase':_0x259a5(0x104)+_0x259a5(0x138),..._0x5f391b(),'error':null,'message':_0xbb3250(_0x373442['availabl'+_0x259a5(0x10a)],_0x12ab08)});}),autoUpdater['on'](_0x4b98bb(0x154)+_0x4b98bb(0x122)+'d',_0x1480e=>{const _0x52cb0e=_0x4b98bb,_0x5a6a3c=extractUpdateInfoPatch(_0x1480e),_0x41d17f=extractRemoteUpdatePackageMetadata(_0x1480e,_0x141929)??_0x1026cd;_0x41d17f&&(_0x1026cd=_0x41d17f);const _0x18957f=_0x5a6a3c[_0x52cb0e(0xe2)+'eVersion']??_0x41d17f?.[_0x52cb0e(0x198)]??_0x373442['availabl'+_0x52cb0e(0x10a)];_0x176e01({..._0x5a6a3c,'phase':'download'+'ed','comparisonResult':compareAppVersions(_0x544386(),_0x18957f),'hasUpdate':!![],'downloadedVersion':_0x18957f,'downloadPercent':0x64,..._0x5f391b(),'error':null,'message':_0x18957f?_0x52cb0e(0x11c)+_0x18957f+_0x52cb0e(0xeb):_0x52cb0e(0x151)+'装'});}),autoUpdater['on'](_0x4b98bb(0x116),_0x3fa335=>{const _0x4eb97c=_0x4b98bb;if(_0x373442['phase']==='installi'+'ng'){_0x110e40(_0x3fa335);return;}_0x176e01({'phase':_0x4eb97c(0x116),'checkedAt':new Date()['toISOStr'+_0x4eb97c(0x138)](),..._0x5f391b(),'error':getErrorMessage(_0x3fa335),'errorCode':_0x373442['phase']===_0x4eb97c(0x104)+'ing'?_0x4eb97c(0x104)+'-error':_0x4eb97c(0x166)+_0x4eb97c(0x123),'message':_0x4eb97c(0x18f)});}),_0x2ceceb();}async function _0x54a968(){const _0x3e2ac4=_0x36cb50;_0x1e4e30(),_0x141e00();if(_0x4bc2cd)return _0x4bc2cd;return _0x3131cb(_0x3e2ac4(0x167)+_0x3e2ac4(0x1ac)),_0x4bc2cd=autoUpdater[_0x3e2ac4(0xf6)+_0x3e2ac4(0x120)]()['then'](()=>_0x114b70())['finally'](()=>{_0x4bc2cd=null;}),_0x4bc2cd;}async function _0x4286f1(){const _0x64d227=_0x36cb50;_0x1e4e30(),_0x141e00();if(_0x373442[_0x64d227(0x141)]===_0x64d227(0x104)+'ed'||_0x373442[_0x64d227(0x141)]===_0x64d227(0x12c)+'ng')return _0x114b70();if(!_0x373442[_0x64d227(0x17b)+'e'])throw new Error(_0x64d227(0x194)+'更新');const _0x1a60a4=_0x373442[_0x64d227(0x141)]===_0x64d227(0x116)&&_0x373442['errorCod'+'e']==='install-'+_0x64d227(0x116)&&Boolean(_0x373442[_0x64d227(0x104)+_0x64d227(0x1a9)+'n']);if(_0x373442[_0x64d227(0x141)]===_0x64d227(0x116)){if(_0x1a60a4)_0x176e01({'phase':_0x64d227(0xe2)+'e','hasUpdate':!![],'availableVersion':_0x373442[_0x64d227(0xe2)+_0x64d227(0x10a)]??_0x373442['download'+'edVersio'+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x5f391b(),'error':null,'message':_0x64d227(0x1a7)+'包'});else{await _0x54a968();if(_0x373442[_0x64d227(0x141)]!==_0x64d227(0xe2)+'e')throw new Error(_0x64d227(0x194)+'更新');}}if(![_0x64d227(0xe2)+'e',_0x64d227(0x104)+'ing'][_0x64d227(0x181)](_0x373442['phase']))throw new Error(_0x64d227(0x194)+'更新');if(_0x47a057)return _0x47a057;return _0x47a057=autoUpdater[_0x64d227(0x104)+_0x64d227(0x1b5)]()['then'](()=>{const _0x2c3c08=_0x64d227;return _0x373442[_0x2c3c08(0x141)]!==_0x2c3c08(0x104)+'ed'&&_0x176e01({'phase':_0x2c3c08(0x116),'checkedAt':new Date()['toISOStr'+_0x2c3c08(0x138)](),..._0x5f391b(),'error':_0x2c3c08(0x18d)+'安装器未就绪,请'+_0x2c3c08(0x103),'errorCode':_0x2c3c08(0x104)+_0x2c3c08(0xd9),'message':_0x2c3c08(0x191)}),_0x114b70();})[_0x64d227(0x18b)](()=>{_0x47a057=null;}),_0x47a057;}function _0x497596(){const _0x1773a7=_0x36cb50;_0x1e4e30(),_0x141e00();if(![_0x1773a7(0x104)+'ed','installi'+'ng'][_0x1773a7(0x181)](_0x373442[_0x1773a7(0x141)]))throw new Error(_0x1773a7(0x162)+_0x1773a7(0x195));const _0x37a550=_0x37470c();_0x1a4884=Date[_0x1773a7(0x13b)](),_0xbe8340({'startedAt':new Date(_0x1a4884)[_0x1773a7(0x164)+'ing'](),'currentVersion':_0x373442[_0x1773a7(0x152)+_0x1773a7(0x153)],'downloadedVersion':_0x373442[_0x1773a7(0x104)+_0x1773a7(0x1a9)+'n'],'pendingPackage':_0x37a550[_0x1773a7(0x10b)+_0x1773a7(0x1a4)],'pendingPackageBytes':_0x37a550[_0x1773a7(0x183)+_0x1773a7(0x12b)]}),_0x176e01({'phase':_0x1773a7(0x12c)+'ng',..._0x5f391b(),'error':null,'message':'正在安装更新并重'+_0x1773a7(0x1a5)});try{_0x156626(),autoUpdater[_0x1773a7(0xf1)+_0x1773a7(0x111)](![],!![]);}catch(_0x3b1681){_0x110e40(_0x3b1681);throw _0x3b1681;}return{'ok':!![]};}async function _0x594653(_0x42b65d){const _0x4fff41=_0x36cb50;if(!_0x50cf02())return;_0x4ac86b=Date[_0x4fff41(0x13b)](),_0x3131cb('backgrou'+_0x4fff41(0x158)+'e\x20check\x20'+_0x4fff41(0xf0)+'d',{'reason':_0x42b65d});try{await _0x54a968();}catch(_0x5d2398){_0x4e0da1('backgrou'+_0x4fff41(0x158)+_0x4fff41(0x15a)+_0x4fff41(0x15b),{'reason':_0x42b65d,'error':getErrorMessage(_0x5d2398)});}}function _0x54aebe(_0x412e56){const _0x476155=_0x36cb50;if(!_0x373442['supporte'+'d'])return;const _0x35ad27=Date['now']()-_0x4ac86b;if(_0x35ad27<_0x517038['backgrou'+_0x476155(0x190)+_0x476155(0xe4)])return;void _0x594653(_0x412e56);}function _0x364b8c(){const _0x96d050=_0x36cb50;_0x1e4e30();if(!_0x373442[_0x96d050(0x197)+'d']||_0x5d4773)return;_0x5d4773=setInterval(()=>{void _0x594653('interval');},_0x517038[_0x96d050(0x1ae)+_0x96d050(0x106)+_0x96d050(0xe1)+'s']),void _0x594653(_0x96d050(0x185)),_0x3131cb(_0x96d050(0x1ae)+_0x96d050(0x158)+'e\x20check\x20'+_0x96d050(0x105)+_0x96d050(0x115)+'d',_0x517038);}function _0x232f3b(){const _0x22ae68=_0x36cb50;if(_0x373442[_0x22ae68(0x141)]!==_0x22ae68(0x12c)+'ng')return;_0x567c2=!![],_0x418eae();}return{'initialize':_0x1e4e30,'getState':_0x114b70,'checkForUpdates':_0x54a968,'downloadUpdate':_0x4286f1,'quitAndInstall':_0x497596,'requestBackgroundCheck':_0x54aebe,'startBackgroundChecks':_0x364b8c,'markQuitObserved':_0x232f3b};}
|
|
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};}
|
|
@@ -0,0 +1 @@
|
|
|
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": {
|
|
@@ -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/
|
|
37
|
-
"@wujie-shell/
|
|
37
|
+
"@wujie-shell/config": "4.0.0",
|
|
38
|
+
"@wujie-shell/logger": "4.0.0"
|
|
38
39
|
},
|
|
39
40
|
"scripts": {
|
|
40
41
|
"build": "node ../../scripts/build-packages.mjs --package @wujie-shell/core"
|