@wujie-shell/core 4.0.0 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 _0x421f9b=_0x2193;(function(_0x46ab44,_0x384dbf){const _0x33df0c=_0x2193,_0x3fc7f6=_0x46ab44();while(!![]){try{const _0x520748=-parseInt(_0x33df0c(0x16e))/0x1*(-parseInt(_0x33df0c(0x17e))/0x2)+-parseInt(_0x33df0c(0x189))/0x3+parseInt(_0x33df0c(0x172))/0x4*(-parseInt(_0x33df0c(0x16c))/0x5)+parseInt(_0x33df0c(0x186))/0x6+parseInt(_0x33df0c(0x181))/0x7+-parseInt(_0x33df0c(0x173))/0x8*(parseInt(_0x33df0c(0x178))/0x9)+parseInt(_0x33df0c(0x17d))/0xa;if(_0x520748===_0x384dbf)break;else _0x3fc7f6['push'](_0x3fc7f6['shift']());}catch(_0x41cb58){_0x3fc7f6['push'](_0x3fc7f6['shift']());}}}(_0x215a,0xf412b));import{readFile,readdir,rm}from'node:fs/promises';import{join}from'node:path';import{asRecord,getTrimmedString,writeJson}from'../common/utils.mjs';const SKILL_SOURCE_MARKET=_0x421f9b(0x17b)+_0x421f9b(0x19d);function _0x2193(_0xa4eb81,_0x1c7bbd){_0xa4eb81=_0xa4eb81-0x16a;const _0x215a94=_0x215a();let _0x219399=_0x215a94[_0xa4eb81];return _0x219399;}function _0x215a(){const _0x51e593=['killKey',':\x5cs*(.+)','4194701xxcAXd','match','rsion','skillKey','entries','11273172vosOBG','sort','kills.js','5434269WoSMOg','name','utf8','isArray','接口返回的\x20ve','code','map','skills','version','size','market','object','SKILL.md','localeCo','接口返回的\x20co','tateDir','接口返回的\x20na','fromEntr','resolveS','gatewayS','ket','imported','ies','keys','^\x5cs*','length','catch','parse','market-s','mpare','targetPa','15PmgXXm','logoUrl','43gNSJxq','Key','source','has','1702940alMWpd','198232zFFOsy','ory','技能商店安装需要','replace','descript','18PthVyN','trim','SKILLS.m','aipc-mar','ion','6171830OBzRwQ','48494umntIi'];_0x215a=function(){return _0x51e593;};return _0x215a();}async function readMarketSkillRegistry(_0x223d6b){const _0x398328=_0x421f9b;try{const _0x295afc=JSON[_0x398328(0x1a4)](await readFile(_0x223d6b,_0x398328(0x18b)));if(!_0x295afc||typeof _0x295afc!==_0x398328(0x194)||Array[_0x398328(0x18c)](_0x295afc))return{};return _0x295afc;}catch{return{};}}export async function readSkillMarketRegistry(_0x25e772){const _0x4fec59=_0x421f9b;return await readMarketSkillRegistry(join(_0x25e772,_0x4fec59(0x1a5)+'kills.js'+'on'));}async function upsertMarketSkillRegistryEntry(_0x1e141f,_0x5dd3c0,_0x19386c,_0x96f0b0,_0x543b9c={}){const _0x5eacf3=_0x421f9b,_0x4865b7=getTrimmedString(_0x5dd3c0),_0x25f464=getTrimmedString(_0x19386c),_0x546c53=getTrimmedString(_0x96f0b0);if(!_0x4865b7||!_0x25f464||!_0x546c53)return;const _0x44c310=await readMarketSkillRegistry(_0x1e141f);_0x44c310[_0x4865b7]={'version':_0x546c53,'code':_0x25f464,...getTrimmedString(_0x543b9c[_0x5eacf3(0x18a)])?{'name':getTrimmedString(_0x543b9c[_0x5eacf3(0x18a)])}:{},...getTrimmedString(_0x543b9c[_0x5eacf3(0x16d)])?{'logo_url':getTrimmedString(_0x543b9c[_0x5eacf3(0x16d)])}:{},...getTrimmedString(_0x543b9c['descript'+_0x5eacf3(0x17c)])?{'description':getTrimmedString(_0x543b9c[_0x5eacf3(0x177)+_0x5eacf3(0x17c)])}:{}};if(_0x44c310[_0x25f464]&&_0x25f464!==_0x4865b7)delete _0x44c310[_0x25f464];for(const [_0x26fdb3,_0x267d18]of Object[_0x5eacf3(0x185)](_0x44c310)){if(_0x26fdb3!==_0x4865b7&&asRecord(_0x267d18)[_0x5eacf3(0x18e)]===_0x25f464)delete _0x44c310[_0x26fdb3];}const _0x53a1a9=Object[_0x5eacf3(0x19a)+_0x5eacf3(0x19f)](Object['entries'](_0x44c310)[_0x5eacf3(0x187)](([_0x30a321],[_0x5e4a7f])=>_0x30a321['localeCo'+_0x5eacf3(0x16a)](_0x5e4a7f)));await writeJson(_0x1e141f,_0x53a1a9);}async function removeMarketSkillRegistryKeys(_0x3f47b0,_0x5b9ee6){const _0x24f699=_0x421f9b,_0x389a62=new Set(_0x5b9ee6[_0x24f699(0x18f)](getTrimmedString)['filter'](Boolean));if(_0x389a62[_0x24f699(0x192)]===0x0)return;const _0x2ea798=await readMarketSkillRegistry(_0x3f47b0);let _0x4367d1=![];for(const _0x21c9e7 of Object[_0x24f699(0x1a0)](_0x2ea798)){const _0x50a77b=asRecord(_0x2ea798[_0x21c9e7]);(_0x389a62[_0x24f699(0x171)](_0x21c9e7)||_0x389a62['has'](getTrimmedString(_0x50a77b['code'])))&&(delete _0x2ea798[_0x21c9e7],_0x4367d1=!![]);}if(_0x4367d1){const _0x3cade3=Object[_0x24f699(0x19a)+_0x24f699(0x19f)](Object[_0x24f699(0x185)](_0x2ea798)[_0x24f699(0x187)](([_0x39f727],[_0x130f4c])=>_0x39f727[_0x24f699(0x196)+_0x24f699(0x16a)](_0x130f4c)));await writeJson(_0x3f47b0,_0x3cade3);}}async function readSkillManifestText(_0x32beca){const _0x43b353=_0x421f9b,_0x2a152e=[join(_0x32beca,_0x43b353(0x195)),join(_0x32beca,_0x43b353(0x17a)+'d')];for(const _0x56f6dc of _0x2a152e){const _0x542f99=await readFile(_0x56f6dc,'utf8')[_0x43b353(0x1a3)](()=>'');if(_0x542f99['trim']())return _0x542f99;}return'';}function resolveFrontmatterValue(_0x6de176,_0x292e25){const _0x5d311c=_0x421f9b,_0x14d4d5=_0x6de176[_0x5d311c(0x182)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x265df6=_0x14d4d5?.[0x1]??'',_0x8ecd82=_0x265df6['match'](new RegExp(_0x5d311c(0x1a1)+_0x292e25+(_0x5d311c(0x180)+'$'),'m'))?.[0x1];return getTrimmedString(_0x8ecd82)[_0x5d311c(0x176)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x44d874){const _0x82f968=_0x421f9b,_0x505ed6=await readSkillManifestText(_0x44d874);if(!_0x505ed6['trim']())return null;const _0x5db5c2=_0x505ed6[_0x82f968(0x182)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x5db5c2?.[0x1])return getTrimmedString(_0x5db5c2[0x1]);return resolveFrontmatterValue(_0x505ed6,'skillKey')||resolveFrontmatterValue(_0x505ed6,_0x82f968(0x18a));}async function removeOtherMarketSkillVersions(_0x5784bd,_0x5c81c9,_0x58f41c){const _0x1eabf8=_0x421f9b,_0x1ef6f4=getTrimmedString(_0x58f41c);if(!_0x1ef6f4)return;for(const _0x1db095 of await readdir(_0x5784bd,{'withFileTypes':!![]})[_0x1eabf8(0x1a3)](()=>[])){if(!_0x1db095['isDirect'+_0x1eabf8(0x174)]())continue;const _0x186a60=join(_0x5784bd,_0x1db095[_0x1eabf8(0x18a)]);if(_0x186a60===_0x5c81c9)continue;const _0x44be9f=await resolveSkillKeyFromManifest(_0x186a60);_0x44be9f&&_0x44be9f[_0x1eabf8(0x179)]()===_0x1ef6f4&&await rm(_0x186a60,{'recursive':!![],'force':!![]});}}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x30089f,configController:_0x2a8494}={}){const _0x5af117=_0x421f9b,_0x2e17ab=asRecord(payload);if(_0x2e17ab[_0x5af117(0x170)]!==_0x5af117(0x193))return _0x30089f({'payload':payload});const _0x45eb08=getTrimmedString(_0x2e17ab['code']),_0x4ad08c=getTrimmedString(_0x2e17ab[_0x5af117(0x191)]),_0x3fa40d=getTrimmedString(_0x2e17ab[_0x5af117(0x18a)]);if(!_0x45eb08)throw new Error(_0x5af117(0x175)+_0x5af117(0x197)+'de');if(!_0x4ad08c)throw new Error('技能商店安装需要'+_0x5af117(0x18d)+_0x5af117(0x183));if(!_0x3fa40d)throw new Error(_0x5af117(0x175)+_0x5af117(0x199)+'me');const _0x710800=await _0x30089f({'payload':{..._0x2e17ab,'version':_0x4ad08c}});if(!_0x710800?.[_0x5af117(0x19e)])return _0x710800;const _0x2abc24=getTrimmedString(_0x710800[_0x5af117(0x184)])||getTrimmedString(_0x710800['manifest'+_0x5af117(0x16f)])||getTrimmedString(_0x710800['skillDir'+'Name']);return await removeOtherMarketSkillVersions(join(_0x2a8494[_0x5af117(0x19b)+'tateDir'](),_0x5af117(0x190)),_0x710800[_0x5af117(0x16b)+'th'],_0x2abc24),await upsertMarketSkillRegistryEntry(join(_0x2a8494[_0x5af117(0x19b)+'tateDir'](),_0x5af117(0x1a5)+'kills.js'+'on'),_0x2abc24,_0x45eb08,_0x4ad08c,{'name':_0x3fa40d,'logoUrl':getTrimmedString(_0x2e17ab['logoUrl']),'description':getTrimmedString(_0x2e17ab[_0x5af117(0x177)+_0x5af117(0x17c)])}),_0x710800;}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x509aec,configController:_0x37cc29}={}){const _0x456eaf=_0x421f9b,_0x3d68c1=await _0x509aec({'payload':payload}),_0x47799e=asRecord(payload),_0xae8542=getTrimmedString(_0x3d68c1?.[_0x456eaf(0x184)]??_0x47799e[_0x456eaf(0x184)]??_0x47799e[_0x456eaf(0x18a)]),_0x205082=[_0xae8542,getTrimmedString(_0x47799e[_0x456eaf(0x19c)+_0x456eaf(0x17f)]),getTrimmedString(_0x47799e[_0x456eaf(0x18a)])];return await removeMarketSkillRegistryKeys(join(_0x37cc29[_0x456eaf(0x19b)+_0x456eaf(0x198)](),'market-s'+_0x456eaf(0x188)+'on'),_0x205082),_0x3d68c1;}export function mapMarketRegisteredSkills(_0x1d6fd1,_0x3a9f1d){const _0xe33be5=_0x421f9b,_0x55e840=Array[_0xe33be5(0x18c)](asRecord(_0x1d6fd1)['skills'])?asRecord(_0x1d6fd1)[_0xe33be5(0x190)]:[];if(_0x55e840['length']===0x0||Object['keys'](_0x3a9f1d)[_0xe33be5(0x1a2)]===0x0)return _0x1d6fd1;const _0x2a954f=_0x55e840[_0xe33be5(0x18f)](_0x3c2da0=>{const _0x438602=_0xe33be5,_0x8f1d5c=asRecord(_0x3c2da0),_0x3b8bf1=getTrimmedString(_0x8f1d5c['skillKey'])||getTrimmedString(_0x8f1d5c['name']);let _0x82a3c6=_0x3b8bf1,_0x152336=asRecord(_0x3a9f1d[_0x3b8bf1]);if(!Object[_0x438602(0x1a0)](_0x152336)[_0x438602(0x1a2)])for(const [_0x91eefb,_0x4e5042]of Object['entries'](_0x3a9f1d)){const _0x366959=asRecord(_0x4e5042);if(getTrimmedString(_0x366959[_0x438602(0x18e)])===_0x3b8bf1){_0x82a3c6=_0x91eefb,_0x152336=_0x366959;break;}}if(!Object[_0x438602(0x1a0)](_0x152336)[_0x438602(0x1a2)])return _0x3c2da0;const _0x8e892d=getTrimmedString(_0x152336[_0x438602(0x18e)]),_0x2bba08=getTrimmedString(_0x152336[_0x438602(0x18a)]),_0x31a22c=getTrimmedString(_0x152336[_0x438602(0x177)+_0x438602(0x17c)]),_0x1973d7=getTrimmedString(_0x152336['logo_url']),_0x20cc5a=getTrimmedString(_0x152336['version']);return{..._0x8f1d5c,'source':SKILL_SOURCE_MARKET,'skillKey':_0x8e892d||_0x3b8bf1,'gatewaySkillKey':_0x8e892d?_0x82a3c6:null,'marketInstalledVersion':_0x20cc5a||null,..._0x2bba08?{'name':_0x2bba08}:{},..._0x31a22c?{'description':_0x31a22c}:{},..._0x1973d7?{'logoUrl':_0x1973d7}:{}};});return{...asRecord(_0x1d6fd1),'skills':_0x2a954f};}export function createMarketSkillRuntime({configController:_0x5044f6}){return{'mapSkillsStatus':async _0x16f4c8=>{const _0x3e07cc=_0x2193,_0x3e4088=await readSkillMarketRegistry(_0x5044f6['resolveS'+'tateDir']())[_0x3e07cc(0x1a3)](()=>({}));return mapMarketRegisteredSkills(_0x16f4c8,_0x3e4088);}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x19e409,_0x9c6560){const _0xfdd536=_0x193f,_0x20af56=_0x19e409();while(!![]){try{const _0x3ce9ab=parseInt(_0xfdd536(0x122))/0x1*(parseInt(_0xfdd536(0x13b))/0x2)+-parseInt(_0xfdd536(0x121))/0x3+parseInt(_0xfdd536(0x134))/0x4*(parseInt(_0xfdd536(0x13d))/0x5)+-parseInt(_0xfdd536(0x144))/0x6+-parseInt(_0xfdd536(0x130))/0x7+-parseInt(_0xfdd536(0x145))/0x8+parseInt(_0xfdd536(0x125))/0x9*(parseInt(_0xfdd536(0x137))/0xa);if(_0x3ce9ab===_0x9c6560)break;else _0x20af56['push'](_0x20af56['shift']());}catch(_0x1b421b){_0x20af56['push'](_0x20af56['shift']());}}}(_0x5081,0xd1378));import{spawn}from'node:child_process';function _0x193f(_0x55943e,_0x54b11c){_0x55943e=_0x55943e-0x116;const _0x50819d=_0x5081();let _0x193fa6=_0x50819d[_0x55943e];return _0x193fa6;}import{randomUUID}from'node:crypto';import{accessSync,constants,existsSync}from'node:fs';import{mkdir}from'node:fs/promises';import{basename,delimiter,join}from'node:path';const FILE_EXTENSION_REGEX=/\.[a-z0-9]+$/i;function resolvePathEntries(_0x13a862){const _0xdcfe97=_0x193f,_0x16a9a2=Object['keys'](_0x13a862)[_0xdcfe97(0x14d)](_0x3347fc=>_0x3347fc['toLowerC'+_0xdcfe97(0x139)]()===_0xdcfe97(0x13a))??_0xdcfe97(0x150);return String(_0x13a862[_0x16a9a2]||'')[_0xdcfe97(0x12e)](delimiter)['filter'](Boolean);}function canExecute(_0x4cd919){const _0x324105=_0x193f;try{return accessSync(_0x4cd919,process[_0x324105(0x11c)]===_0x324105(0x140)?constants['F_OK']:constants['X_OK']),!![];}catch{return![];}}function resolveExecutableOnPath(_0x39401e,_0x1fad35){const _0xcdc181=_0x193f,_0xf916dd=String(_0x39401e||'')[_0xcdc181(0x116)]();if(!_0xf916dd)return null;if(_0xf916dd[_0xcdc181(0x117)]('/')||_0xf916dd[_0xcdc181(0x117)]('\x5c'))return existsSync(_0xf916dd)?_0xf916dd:null;const _0x86bbdd=[_0xf916dd];process['platform']==='win32'&&!FILE_EXTENSION_REGEX[_0xcdc181(0x123)](_0xf916dd)&&_0x86bbdd[_0xcdc181(0x149)](_0xf916dd+'.exe',_0xf916dd+_0xcdc181(0x142),_0xf916dd+'.bat');for(const _0x2257e2 of resolvePathEntries(_0x1fad35)){for(const _0x3ecd22 of _0x86bbdd){const _0x29894a=join(_0x2257e2,_0x3ecd22);if(canExecute(_0x29894a))return _0x29894a;}}return null;}function resolveShellLaunchConfig(_0x1c0bcf){const _0x39782f=_0x193f;if(process[_0x39782f(0x11c)]==='win32'){const _0x3f4d5c=resolveExecutableOnPath('pwsh',_0x1c0bcf)??resolveExecutableOnPath(_0x39782f(0x131)+'ll',_0x1c0bcf);if(_0x3f4d5c)return{'command':_0x3f4d5c,'args':['-NoLogo']};const _0x1448b1=resolveExecutableOnPath(_0x39782f(0x14c),_0x1c0bcf);if(_0x1448b1)return{'command':_0x1448b1,'args':['/Q']};throw new Error('No\x20suppo'+_0x39782f(0x148)+_0x39782f(0x127)+_0x39782f(0x11f));}if(process[_0x39782f(0x11c)]==='darwin'){const _0x23237e=[_0x39782f(0x13e),'/usr/loc'+_0x39782f(0x138)+'sh',_0x39782f(0x12d)+_0x39782f(0x133)+_0x39782f(0x11e)][_0x39782f(0x14d)](canExecute);if(_0x23237e)return{'command':_0x23237e,'args':['-i']};const _0x4c431b=['/bin/bas'+'h',_0x39782f(0x14e)+_0x39782f(0x141)+_0x39782f(0x135),'/opt/hom'+_0x39782f(0x133)+_0x39782f(0x13f)][_0x39782f(0x14d)](canExecute);if(_0x4c431b)return{'command':_0x4c431b,'args':['--login','-i']};}const _0x1923fc=resolveExecutableOnPath(process.env.SHELL||'',_0x1c0bcf)??resolveExecutableOnPath(_0x39782f(0x124),_0x1c0bcf)??resolveExecutableOnPath('sh',_0x1c0bcf);if(!_0x1923fc)throw new Error(_0x39782f(0x14b)+'rted\x20she'+'ll\x20found');return{'command':_0x1923fc,'args':['-l','-i']};}export function createTerminalManager({cwd:_0x4c8814,emitData:_0x4898c5,emitExit:_0x40b224}){const _0x3af75b=new Map();function _0x2b0ae4(_0x18adfa){const _0x16ceb8=_0x193f,_0x3094eb=_0x3af75b['get'](_0x18adfa);if(!_0x3094eb)throw new Error(_0x16ceb8(0x146)+_0x16ceb8(0x11b)+'\x20not\x20fou'+'nd');return _0x3094eb;}async function _0x301206(_0x560f4e={}){const _0x2088fb=_0x193f,_0x26bc14={...process.env,'TERM':_0x2088fb(0x132)+'6color','COLORTERM':'truecolo'+'r',..._0x560f4e[_0x2088fb(0x14a)]&&typeof _0x560f4e[_0x2088fb(0x14a)]==='object'?_0x560f4e['env']:{}},_0xcd4136=typeof _0x560f4e['cwd']==='string'&&_0x560f4e[_0x2088fb(0x136)][_0x2088fb(0x116)]()?_0x560f4e[_0x2088fb(0x136)]:'',_0x39196b=_0xcd4136||_0x4c8814;await mkdir(_0x39196b,{'recursive':!![]});const {command:_0x1008be,args:_0x239868}=resolveShellLaunchConfig(_0x26bc14),_0x11478c=randomUUID(),_0x1b47c4=spawn(_0x1008be,_0x239868,{'cwd':_0x39196b,'env':_0x26bc14,'stdio':_0x2088fb(0x14f)});return _0x3af75b[_0x2088fb(0x151)](_0x11478c,{'sessionId':_0x11478c,'child':_0x1b47c4}),_0x1b47c4[_0x2088fb(0x12f)]['on'](_0x2088fb(0x11a),_0x167502=>_0x4898c5({'sessionId':_0x11478c,'data':_0x167502[_0x2088fb(0x143)]()})),_0x1b47c4[_0x2088fb(0x12b)]['on'](_0x2088fb(0x11a),_0x2104fa=>_0x4898c5({'sessionId':_0x11478c,'data':_0x2104fa[_0x2088fb(0x143)]()})),_0x1b47c4['on'](_0x2088fb(0x126),(_0x3c879b,_0x16e10a)=>{const _0x17d135=_0x2088fb;_0x3af75b[_0x17d135(0x118)](_0x11478c),_0x40b224({'sessionId':_0x11478c,'exitCode':_0x3c879b,'signal':_0x16e10a});}),_0x1b47c4['on'](_0x2088fb(0x120),_0x41865a=>{const _0x4b0ad6=_0x2088fb;_0x4898c5({'sessionId':_0x11478c,'data':_0x41865a[_0x4b0ad6(0x147)]+'\x0a'});}),{'sessionId':_0x11478c,'shell':basename(_0x1008be),'cwd':_0x39196b};}function _0xe102e1(_0x3e6efa={}){const _0x117bd4=_0x193f,_0x49d327=_0x2b0ae4(String(_0x3e6efa['sessionI'+'d']||''));return _0x49d327[_0x117bd4(0x11d)][_0x117bd4(0x128)][_0x117bd4(0x129)](String(_0x3e6efa[_0x117bd4(0x11a)]||'')),{'ok':!![]};}function _0xfc6f5e(_0x5f3e7c={}){const _0xe2e3d6=_0x193f,_0xfadb1d=String(_0x5f3e7c[_0xe2e3d6(0x119)+'d']||'');return _0x2b0ae4(_0xfadb1d),{'ok':!![],'ignored':!![]};}function _0x3d5cae(_0x2a4ff1={}){const _0x35c58c=_0x193f,_0x3ff98f=String(_0x2a4ff1[_0x35c58c(0x119)+'d']||''),_0x554944=_0x3af75b['get'](_0x3ff98f);if(!_0x554944)return{'ok':!![],'closed':![]};return _0x3af75b[_0x35c58c(0x118)](_0x3ff98f),_0x554944[_0x35c58c(0x11d)][_0x35c58c(0x13c)](),{'ok':!![],'closed':!![]};}function _0x2d82bf(){const _0x3c69f4=_0x193f;for(const _0xd6cbe0 of _0x3af75b[_0x3c69f4(0x12a)]())_0xd6cbe0[_0x3c69f4(0x11d)]['kill']();_0x3af75b[_0x3c69f4(0x12c)]();}return{'create':_0x301206,'input':_0xe102e1,'resize':_0xfc6f5e,'close':_0x3d5cae,'dispose':_0x2d82bf};}function _0x5081(){const _0x3affbf=['/usr/loc','pipe','PATH','set','trim','includes','delete','sessionI','data','\x20session','platform','child','n/zsh','ll\x20found','error','4140363UvGHYc','1RYgwnu','test','bash','32161761asmzQj','close','dows\x20she','stdin','write','values','stderr','clear','/opt/hom','split','stdout','9576084fKzrts','powershe','xterm-25','ebrew/bi','138888oHHiaI','ash','cwd','10ITeMtl','al/bin/z','ase','path','2915950KMhdku','kill','115OXpkHw','/bin/zsh','n/bash','win32','al/bin/b','.cmd','toString','5982552ZIfGCj','9823464UhEOcP','Terminal','message','rted\x20Win','push','env','No\x20suppo','cmd','find'];_0x5081=function(){return _0x3affbf;};return _0x5081();}
|
|
@@ -1 +1 @@
|
|
|
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
|
+
(function(_0x115d96,_0x402f8d){const _0x55ed93=_0x2c31,_0x5cd331=_0x115d96();while(!![]){try{const _0x383eb2=parseInt(_0x55ed93(0x116))/0x1*(parseInt(_0x55ed93(0xdb))/0x2)+parseInt(_0x55ed93(0x141))/0x3+-parseInt(_0x55ed93(0x134))/0x4+parseInt(_0x55ed93(0xb1))/0x5+-parseInt(_0x55ed93(0xe6))/0x6+-parseInt(_0x55ed93(0x101))/0x7*(parseInt(_0x55ed93(0xab))/0x8)+parseInt(_0x55ed93(0x146))/0x9;if(_0x383eb2===_0x402f8d)break;else _0x5cd331['push'](_0x5cd331['shift']());}catch(_0x2bbb85){_0x5cd331['push'](_0x5cd331['shift']());}}}(_0x3510,0x72368));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{basename,join}from'node:path';import _0x5dcbca from'electron-updater';import{app,BrowserWindow}from'electron';function _0x2c31(_0x5e3d26,_0x3dfa91){_0x5e3d26=_0x5e3d26-0x7a;const _0x351014=_0x3510();let _0x2c3176=_0x351014[_0x5e3d26];return _0x2c3176;}import{clean,compare}from'semver';const {autoUpdater}=_0x5dcbca,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(_0x4055c6){const _0x17889a=_0x2c31;if(typeof _0x4055c6!=='string')return null;const _0x14c32a=_0x4055c6[_0x17889a(0xd2)]();if(!_0x14c32a||_0x14c32a==='.'||_0x14c32a==='..'||_0x14c32a[_0x17889a(0x112)]('/')||_0x14c32a[_0x17889a(0x112)]('\x5c'))return null;return _0x14c32a;}function isMatchingAppUpdatePackageMetadata(_0xf6ba54,_0x2fd4b){const _0x188277=_0x2c31;if(!_0xf6ba54||!_0x2fd4b||typeof _0x2fd4b!=='object')return![];const _0x5192f3=_0x2fd4b,_0x5ebe5f=normalizeAppUpdatePackageFileName(_0xf6ba54[_0x188277(0xbf)]),_0x133877=normalizeAppUpdatePackageFileName(_0x5192f3[_0x188277(0xbf)]),_0x248def=_0xf6ba54[_0x188277(0xdc)][_0x188277(0xd2)](),_0x14e845=typeof _0x5192f3[_0x188277(0xdc)]===_0x188277(0x10e)?_0x5192f3[_0x188277(0xdc)]['trim']():'';return Boolean(_0x5ebe5f&&_0x133877&&_0x5ebe5f===_0x133877&&_0x248def&&_0x14e845&&_0x248def===_0x14e845);}function normalizeAppVersion(_0x84010e){const _0x13e300=_0x2c31;return clean(String(_0x84010e??'')[_0x13e300(0xd2)]());}function _0x3510(){const _0x5a6251=['1620125UPHGAH','finally','-progres','phase\x20co','hell.con','getAllWi','更新准备失败','正在下载\x20','platform','ha\x20更新渠道','errorCod','app-upda','size','ending\x20u','fileName','transfer','resource','dataDir','toISOStr','number','更新安装未能启动','lable','no\x20match','自动更新功能已就','remoteVe','able','max','Caches','更新包已准备好安','failed\x20t','isFinite','stringif','正在安装更新并重','trim','yed','utf8','requeste','update_a','g\x20downlo','当前构建不支持自','update-a','app:upda','717830mkaQwe','sha512','e\x20版本支持应用','l\x20packag','channel','正在重新准备更新','o\x20persis','win32','.cache','total','自动更新已禁用','4728402OpRnBh','edVersio','autoDown','ror','red','taleMs','phase','latest','ndows','te\x20packa','更新包校验完成但','ot-avail','isPackag','acheDirN','pending\x20','checking','ntervalM','ndCheckS',',请重新校验并准','nstall\x20d','fo.json','ndCheckI','pathname','warn','发现可用更新','ing','url','161BMbKXb','更新包\x20v','uitTimeo','find','重试下载更新','nfo.json','o\x20read\x20p','allOnApp','rigger\x20a','新版本','linux','hasUpdat','same-ver','string','unknown','darwin','te-state','includes','Updates','内自动更新','Percent','1eaQQux','vailable','toFixed','updaterC','send','Second','unsuppor','ing\x20upda','files','backgrou','path','schedule','releaseD','rsion','bytesPer','remote-n','interval','enabled','AppData','当前已经是最新版','当前没有可安装的','update-n','ntext','ntext.js','g\x20instal','Local','已下载更新','启应用','error','check\x20re','3687592bujBNy','update-i','flatMap','nd\x20updat','updates','download','quested','-for-upd','e\x20check\x20','ersion',',请重新下载更新','percent','utMs','2026539tqDAcl','正在验证安装包…','test','包后再试','sPath','11158740TEMQoZ','failed','当前使用\x20Alp','packageN','e.yml','eVersion','package\x20','installQ','pp\x20quit\x20','then','Update','installi','idle','fig\x20中禁用','te.yml','isDestro','message','availabl','备安装','ewer','length','Library','sion','安装器未就绪,请','o\x20clear\x20','pending','load','currentV','split','push','ted','lder','now','o\x20read\x20a','object','remote-o','l\x20phase\x20','ge\x20for\x20c','version','info','-error','install-','后的安装包中可用','install\x20','\x20AppImag','Linux\x20下仅','supporte','ytes','ate','ownloade','exec','autoInst','nts','id\x20not\x20t','146272qmsMnV','ame','parse','alpha','\x20已准备好安装','not-avai'];_0x3510=function(){return _0x5a6251;};return _0x3510();}function compareAppVersions(_0x341868,_0x3a0691){const _0x353d78=_0x2c31,_0x424750=normalizeAppVersion(_0x341868),_0x46cebd=normalizeAppVersion(_0x3a0691);if(!_0x424750||!_0x46cebd)return'unknown';const _0x540a2c=compare(_0x46cebd,_0x424750);if(_0x540a2c===0x0)return _0x353d78(0x10d)+_0x353d78(0x8b);return _0x540a2c>0x0?_0x353d78(0x125)+_0x353d78(0x88):_0x353d78(0x98)+_0x353d78(0x94);}function normalizeAppUpdateChannel(_0x35da7d){const _0x1361d2=_0x2c31;return _0x35da7d===_0x1361d2(0xae)?'alpha':_0x1361d2(0xed);}function normalizeString(_0x244a34){const _0x5659f3=_0x2c31;if(typeof _0x244a34!==_0x5659f3(0x10e))return null;const _0x405017=_0x244a34[_0x5659f3(0xd2)]();return _0x405017||null;}function normalizeReleaseNotes(_0x2ebb83){const _0x221481=_0x2c31;if(typeof _0x2ebb83===_0x221481(0x10e))return normalizeString(_0x2ebb83);if(!Array['isArray'](_0x2ebb83))return null;const _0x5a68b8=_0x2ebb83[_0x221481(0x136)](_0x158ee4=>{if(typeof _0x158ee4==='string'){const _0x432c5f=normalizeString(_0x158ee4);return _0x432c5f?[_0x432c5f]:[];}if(!_0x158ee4||typeof _0x158ee4!=='object')return[];const _0x136bc5=normalizeString(_0x158ee4['version']),_0x350971=normalizeString(_0x158ee4['note']);if(_0x136bc5&&_0x350971)return['v'+_0x136bc5+'\x0a'+_0x350971];if(_0x350971)return[_0x350971];if(_0x136bc5)return['v'+_0x136bc5];return[];});return _0x5a68b8[_0x221481(0x89)]>0x0?_0x5a68b8['join']('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x4d000d){const _0x445858=_0x2c31;if(!_0x4d000d||typeof _0x4d000d!==_0x445858(0x97))return{};return{'remoteVersion':normalizeString(_0x4d000d[_0x445858(0x9b)]),'availableVersion':normalizeString(_0x4d000d[_0x445858(0x9b)]),'releaseName':normalizeString(_0x4d000d['releaseN'+'ame']),'releaseDate':normalizeString(_0x4d000d[_0x445858(0x122)+_0x445858(0xa5)]),'releaseNotes':normalizeReleaseNotes(_0x4d000d['releaseN'+'otes'])};}function extractPackageFileName(_0x20ddcf){const _0x48b3f2=_0x2c31,_0x4aa0f0=normalizeString(_0x20ddcf);if(!_0x4aa0f0)return null;try{const _0x2e74b7=new URL(_0x4aa0f0);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0x2e74b7[_0x48b3f2(0xfc)])));}catch{const _0x50ac03=_0x4aa0f0[_0x48b3f2(0x91)](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x50ac03));}}function getPreferredUpdatePackagePattern(){const _0xf63489=_0x2c31;if(process[_0xf63489(0xb9)]===_0xf63489(0x110))return/\.zip$/iu;if(process[_0xf63489(0xb9)]===_0xf63489(0xe2))return/\.exe$/iu;if(process[_0xf63489(0xb9)]===_0xf63489(0x10b))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x92b134,_0x5463ef){const _0x483dbe=_0x2c31;if(!_0x92b134||typeof _0x92b134!==_0x483dbe(0x97))return null;const _0x5d6381=normalizeString(_0x92b134[_0x483dbe(0x9b)]);if(!_0x5d6381)return null;const _0x16633c=[],_0x8f979c=Array['isArray'](_0x92b134['files'])?_0x92b134[_0x483dbe(0x11e)]:[];for(const _0x5d8143 of _0x8f979c){if(!_0x5d8143||typeof _0x5d8143!==_0x483dbe(0x97))continue;const _0x1f40bd=extractPackageFileName(_0x5d8143[_0x483dbe(0x100)])??extractPackageFileName(_0x5d8143[_0x483dbe(0x120)])??normalizeAppUpdatePackageFileName(_0x5d8143[_0x483dbe(0xbf)]),_0x1594d9=normalizeString(_0x5d8143[_0x483dbe(0xdc)]);_0x1f40bd&&_0x1594d9&&_0x16633c['push']({'fileName':_0x1f40bd,'sha512':_0x1594d9});}const _0xdae2de=extractPackageFileName(_0x92b134['url'])??extractPackageFileName(_0x92b134['path'])??normalizeAppUpdatePackageFileName(_0x92b134[_0x483dbe(0xbf)]),_0x58b5dd=normalizeString(_0x92b134[_0x483dbe(0xdc)]);_0xdae2de&&_0x58b5dd&&_0x16633c[_0x483dbe(0x92)]({'fileName':_0xdae2de,'sha512':_0x58b5dd});const _0x2f88ab=_0x16633c[_0x483dbe(0x104)](_0x3784f4=>getPreferredUpdatePackagePattern()['test'](_0x3784f4[_0x483dbe(0xbf)]));if(!_0x2f88ab)return _0x5463ef?.['warn']?.(_0x483dbe(0xc7)+_0x483dbe(0x11d)+_0x483dbe(0xef)+_0x483dbe(0x9a)+'urrent\x20p'+'latform',{'platform':process['platform'],'candidates':_0x16633c['map'](_0x51cd57=>_0x51cd57[_0x483dbe(0xbf)])}),null;return{'version':_0x5d6381,..._0x2f88ab};}function extractProgressPatch(_0x1eefc3){const _0x1aba87=_0x2c31;return{'downloadPercent':typeof _0x1eefc3[_0x1aba87(0x13f)]===_0x1aba87(0xc4)?_0x1eefc3[_0x1aba87(0x13f)]:null,'bytesPerSecond':typeof _0x1eefc3['bytesPer'+'Second']===_0x1aba87(0xc4)?_0x1eefc3[_0x1aba87(0x124)+_0x1aba87(0x11b)]:null,'transferredBytes':typeof _0x1eefc3['transfer'+_0x1aba87(0xea)]==='number'?_0x1eefc3[_0x1aba87(0xc0)+_0x1aba87(0xea)]:null,'totalBytes':typeof _0x1eefc3[_0x1aba87(0xe4)]===_0x1aba87(0xc4)?_0x1eefc3['total']:null};}function getErrorMessage(_0x2f6506){const _0x3cf3b9=_0x2c31;if(_0x2f6506 instanceof Error&&_0x2f6506['message'][_0x3cf3b9(0xd2)]())return _0x2f6506[_0x3cf3b9(0x85)]['trim']();if(typeof _0x2f6506===_0x3cf3b9(0x10e)&&_0x2f6506[_0x3cf3b9(0xd2)]())return _0x2f6506['trim']();return'未知的自动更新错'+'误';}export function createUpdateController({shellConfig:_0x2f97e6,appName:_0x12327b,appVersion:_0x302cc3,broadcast:_0x3d65c1,logger:_0x283928}){const _0x2f4040=_0x2c31,_0x12bb66=_0x2f97e6[_0x2f4040(0x138)]??{},_0x41a791=normalizeAppUpdateChannel(_0x12bb66[_0x2f4040(0xdf)]),_0x4af157={'backgroundCheckIntervalMs':_0x12bb66['backgrou'+_0x2f4040(0xfb)+_0x2f4040(0xf6)+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x12bb66[_0x2f4040(0x11f)+'ndCheckS'+_0x2f4040(0xeb)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x12bb66[_0x2f4040(0x7c)+'uitTimeo'+_0x2f4040(0x140)]??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'autoDownload':_0x12bb66[_0x2f4040(0xe8)+'load']===!![]},_0x4b0d60={'supported':![],'channel':_0x41a791,'phase':_0x2f4040(0x11c)+_0x2f4040(0x93),'currentVersion':_0x302cc3(),'remoteVersion':null,'comparisonResult':_0x2f4040(0x10f),'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':_0x2f4040(0xe5),'error':null,'errorCode':null};let _0x94ccd4=![],_0x228397=null,_0x8daad0=null,_0x3b991f=null,_0x39bca3=null,_0x59e6bb=null,_0x475573=![],_0x59e8c6=null,_0xe01153=0x0;function _0x145aa5(){const _0x4ef832=_0x2f4040;if(process[_0x4ef832(0xb9)]===_0x4ef832(0x110))return join(homedir(),_0x4ef832(0x8a),_0x4ef832(0xcc));if(process[_0x4ef832(0xb9)]===_0x4ef832(0xe2))return process.env.LOCALAPPDATA??join(homedir(),_0x4ef832(0x128),_0x4ef832(0x12f));return process.env.XDG_CACHE_HOME??join(homedir(),_0x4ef832(0xe3));}function _0x3c518f(){const _0x23d8b2=_0x2f4040;if(!app['isPackag'+'ed']||!process[_0x23d8b2(0xc1)+_0x23d8b2(0x145)])return{};const _0xaad95d=join(process['resource'+_0x23d8b2(0x145)],_0x23d8b2(0xbc)+_0x23d8b2(0x83));if(!existsSync(_0xaad95d))return{};try{const _0x1fc24d=readFileSync(_0xaad95d,_0x23d8b2(0xd4)),_0x305646=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x23d8b2(0xa7)](_0x1fc24d),_0x204f3a=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x23d8b2(0xa7)](_0x1fc24d);return{'channel':normalizeAppUpdateChannel(_0x305646?.[0x1]),'updaterCacheDirName':normalizeString(_0x204f3a?.[0x1])};}catch(_0x48aa69){return _0x283928?.[_0x23d8b2(0xfd)]?.(_0x23d8b2(0xce)+_0x23d8b2(0x96)+'pp-updat'+_0x23d8b2(0x14a),{'error':getErrorMessage(_0x48aa69)}),{};}}const _0x19151e=_0x3c518f();_0x19151e[_0x2f4040(0xdf)]&&(_0x4b0d60[_0x2f4040(0xdf)]=_0x19151e[_0x2f4040(0xdf)]);function _0xcdaa20(){const _0x451008=_0x2f4040,_0x1ed72e=_0x19151e[_0x451008(0x119)+_0x451008(0xf3)+_0x451008(0xac)]||_0x12327b()+'-updater';return join(_0x145aa5(),_0x1ed72e);}function _0x494a8b(_0xc9a134){const _0x16cc59=_0x2f4040;return _0xc9a134==='alpha'?_0x16cc59(0x148)+_0x16cc59(0xba):_0x16cc59(0xc8)+'绪';}function _0x2839fe(){const _0xc0c695=_0x2f4040;if(_0x12bb66[_0xc0c695(0x127)]===![])return![];if(!app[_0xc0c695(0xf2)+'ed'])return![];if(process[_0xc0c695(0xb9)]!=='linux')return!![];return Boolean(process.env.APPIMAGE);}function _0x11ecb2(){const _0x1b9184=_0x2f4040;if(_0x12bb66[_0x1b9184(0x127)]===![])return'自动更新已在\x20s'+_0x1b9184(0xb5)+_0x1b9184(0x82);if(!app[_0x1b9184(0xf2)+'ed'])return'自动更新仅在打包'+_0x1b9184(0x9f);if(process[_0x1b9184(0xb9)]===_0x1b9184(0x10b))return _0x1b9184(0xa2)+_0x1b9184(0xa1)+_0x1b9184(0xdd)+_0x1b9184(0x114);return _0x1b9184(0xd8)+'动更新';}function _0x46a2e8(){const _0x1fcdd9=_0x2f4040;return join(_0x2f97e6[_0x1fcdd9(0xc2)],_0x1fcdd9(0x9e)+'phase-co'+_0x1fcdd9(0x12d)+'on');}function _0x393830(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x50ac58(){return{..._0x4b0d60};}function _0x4506cb(){const _0x5ba74f=_0x2f4040,_0x4e5d9c=_0x50ac58();for(const _0x381684 of BrowserWindow[_0x5ba74f(0xb6)+_0x5ba74f(0xee)]()){!_0x381684[_0x5ba74f(0x84)+_0x5ba74f(0xd3)]()&&_0x381684['webConte'+_0x5ba74f(0xa9)][_0x5ba74f(0x11a)](_0x5ba74f(0xda)+_0x5ba74f(0x111),_0x4e5d9c);}_0x3d65c1?.(_0x5ba74f(0xda)+_0x5ba74f(0x111),_0x4e5d9c);}function _0xb59671(_0x3363e0){const _0x356b4a=_0x2f4040,_0x63a9a5={..._0x3363e0};_0x63a9a5[_0x356b4a(0x132)]===null&&_0x63a9a5[_0x356b4a(0xbb)+'e']===undefined&&(_0x63a9a5[_0x356b4a(0xbb)+'e']=null),Object['assign'](_0x4b0d60,_0x63a9a5,{'currentVersion':_0x302cc3()}),_0x4506cb();}function _0x3b7bac(){const _0xed6ca=_0x2f4040;if(!_0x4b0d60[_0xed6ca(0xa3)+'d'])throw new Error(_0x11ecb2());}function _0x37f2f7(_0x118ba9,_0x504b4d={}){const _0x2d17ba=_0x2f4040;_0x283928?.[_0x2d17ba(0x9c)]?.(_0x118ba9,_0x504b4d);}function _0x471d58(_0x5e8b99,_0x4f40d0={}){_0x283928?.['warn']?.(_0x5e8b99,_0x4f40d0);}function _0x2faee5(_0x1ebcc2){const _0x26ecba=_0x2f4040;if(typeof _0x1ebcc2!==_0x26ecba(0xc4)||!Number[_0x26ecba(0xcf)](_0x1ebcc2))return null;const _0x4d1623=Math['min'](0x63,Math['max'](0x0,_0x1ebcc2));if(_0x4b0d60['phase']!==_0x26ecba(0x139)+_0x26ecba(0xff)||typeof _0x4b0d60[_0x26ecba(0x139)+_0x26ecba(0x115)]!==_0x26ecba(0xc4))return _0x4d1623;return Math[_0x26ecba(0xcb)](_0x4b0d60[_0x26ecba(0x139)+_0x26ecba(0x115)],_0x4d1623);}function _0x5f46fc(_0x1667e3,_0x2817dd){const _0x383d10=_0x2f4040,_0x23db27=_0x1667e3?'v'+_0x1667e3:_0x383d10(0x10a);if(typeof _0x2817dd===_0x383d10(0xc4)){if(_0x2817dd>=0x63)return _0x383d10(0x142);return _0x383d10(0xb8)+_0x23db27+'\x20('+_0x2817dd[_0x383d10(0x118)](0x1)+'%)';}return _0x383d10(0xb8)+_0x23db27;}function _0xab6853(_0x58b3f2){const _0x488ddc=_0x2f4040;try{writeFileSync(_0x46a2e8(),JSON[_0x488ddc(0xd0)+'y'](_0x58b3f2,null,0x2),_0x488ddc(0xd4));}catch(_0x389365){_0x471d58(_0x488ddc(0xce)+_0x488ddc(0xe1)+'t\x20instal'+_0x488ddc(0x99)+'context',{'error':getErrorMessage(_0x389365)});}}function _0x1f2e91(){const _0x37be3d=_0x2f4040;try{rmSync(_0x46a2e8(),{'force':!![]});}catch(_0x41486d){_0x471d58(_0x37be3d(0xce)+_0x37be3d(0x8d)+_0x37be3d(0xa0)+_0x37be3d(0xb4)+_0x37be3d(0x12c),{'error':getErrorMessage(_0x41486d)});}}function _0x2c211c(){const _0x160142=_0x2f4040,_0x558de9=join(_0xcdaa20(),_0x160142(0x8e));if(!existsSync(_0x558de9))return{'packageName':null,'packageBytes':null};try{const _0x1caecc=readdirSync(_0x558de9)['find'](_0x57ecea=>/\.(zip|exe|dmg|AppImage)$/iu[_0x160142(0x143)](_0x57ecea))??null;if(!_0x1caecc)return{'packageName':null,'packageBytes':null};const _0x743284=join(_0x558de9,_0x1caecc);return{'packageName':_0x1caecc,'packageBytes':statSync(_0x743284)[_0x160142(0xbd)]};}catch(_0x4f0341){return _0x471d58(_0x160142(0xce)+'o\x20inspec'+'t\x20pendin'+_0x160142(0x12e)+_0x160142(0xde)+'e',{'error':getErrorMessage(_0x4f0341)}),{'packageName':null,'packageBytes':null};}}function _0x506dbf(){const _0x2cd611=_0x2f4040;if(!_0x3b991f)return null;const _0x32a7ff=join(_0xcdaa20(),_0x2cd611(0x8e)),_0x5ad86b=join(_0x32a7ff,_0x2cd611(0x135)+_0x2cd611(0x106));if(!existsSync(_0x5ad86b))return null;let _0x754aa=null;try{_0x754aa=JSON[_0x2cd611(0xad)](readFileSync(_0x5ad86b,_0x2cd611(0xd4)));}catch(_0x1f69a6){return _0x471d58(_0x2cd611(0xce)+_0x2cd611(0x107)+_0x2cd611(0xbe)+'pdate-in'+_0x2cd611(0xfa),{'error':getErrorMessage(_0x1f69a6)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x3b991f,_0x754aa))return null;const _0x32babd=join(_0x32a7ff,_0x3b991f[_0x2cd611(0xbf)]);if(!existsSync(_0x32babd))return null;try{const _0x140936=statSync(_0x32babd);if(!_0x140936['isFile']()||_0x140936[_0x2cd611(0xbd)]===0x0)return null;return{'metadata':_0x3b991f,'packageName':_0x3b991f['fileName'],'packageBytes':_0x140936[_0x2cd611(0xbd)]};}catch(_0x2e8d6a){return _0x471d58(_0x2cd611(0xce)+'o\x20inspec'+'t\x20pendin'+_0x2cd611(0xd7)+'aded\x20pac'+'kage',{'error':getErrorMessage(_0x2e8d6a)}),null;}}function _0x1bd73f(_0x54d207){const _0x2c44f5=_0x2f4040,_0x39dd75=_0x506dbf();if(!_0x39dd75)return![];const {metadata:_0x463be5,packageName:_0x3fe80d,packageBytes:_0x284f08}=_0x39dd75;return _0x37f2f7(_0x2c44f5(0xf4)+_0x2c44f5(0x7b)+'cache\x20hi'+'t',{'reason':_0x54d207,'version':_0x463be5['version'],'packageName':_0x3fe80d,'packageBytes':_0x284f08}),_0xb59671({'phase':_0x2c44f5(0x86)+'e','remoteVersion':_0x463be5[_0x2c44f5(0x9b)],'comparisonResult':_0x2c44f5(0x125)+_0x2c44f5(0x88),'hasUpdate':!![],'availableVersion':_0x463be5['version'],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x284f08,'totalBytes':_0x284f08,'hasPendingPackage':!![],'pendingPackageName':_0x3fe80d,'pendingPackageBytes':_0x284f08,'error':null,'message':'发现本地更新包\x20'+'v'+_0x463be5[_0x2c44f5(0x9b)]+(_0x2c44f5(0xf8)+_0x2c44f5(0x87))}),!![];}function _0x2d890b(){const _0x455161=_0x2f4040;return _0x4b0d60[_0x455161(0xa3)+'d']&&!_0x228397&&!_0x8daad0&&[_0x455161(0x81),_0x455161(0xb0)+_0x455161(0xc6),_0x455161(0x132)]['includes'](_0x4b0d60[_0x455161(0xec)]);}function _0x5cc842(){if(!_0x59e6bb)return;clearTimeout(_0x59e6bb),_0x59e6bb=null;}function _0x414c45(_0x4691aa){const _0x8ebd79=_0x2f4040,_0x2257f2=_0x4b0d60[_0x8ebd79(0x139)+'edVersio'+'n'],_0x1d5b6f=_0x4b0d60[_0x8ebd79(0x86)+_0x8ebd79(0x7a)];_0x39bca3=null,_0x475573=![],_0x5cc842(),_0x1f2e91(),_0xb59671({'phase':'error','checkedAt':new Date()[_0x8ebd79(0xc3)+_0x8ebd79(0xff)](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x1d5b6f??_0x2257f2,'downloadedVersion':_0x2257f2,'error':getErrorMessage(_0x4691aa),'errorCode':_0x8ebd79(0x9e)+_0x8ebd79(0x132),'message':'安装更新失败'});}function _0x334c1b(){const _0x4a7f62=_0x2f4040;_0x5cc842(),_0x475573=![],_0x59e6bb=setTimeout(()=>{const _0x3c0f8d=_0x2c31;if(_0x475573||_0x4b0d60[_0x3c0f8d(0xec)]!==_0x3c0f8d(0x80)+'ng')return;_0x471d58('quitAndI'+_0x3c0f8d(0xf9)+_0x3c0f8d(0xaa)+_0x3c0f8d(0x109)+_0x3c0f8d(0x7d)+'within\x20t'+'imeout',{'downloadedVersion':_0x4b0d60[_0x3c0f8d(0x139)+_0x3c0f8d(0xe7)+'n'],'currentVersion':_0x4b0d60[_0x3c0f8d(0x90)+_0x3c0f8d(0x13d)]}),_0x414c45(new Error(_0x3c0f8d(0xc5)+_0x3c0f8d(0x13e)+_0x3c0f8d(0x144)));},_0x4af157[_0x4a7f62(0x7c)+_0x4a7f62(0x103)+_0x4a7f62(0x140)]);}function _0x3429bc(){const _0x36d9cd=_0x2f4040;if(_0x94ccd4)return;_0x94ccd4=!![],_0x4b0d60[_0x36d9cd(0xa3)+'d']=_0x2839fe(),_0x4b0d60[_0x36d9cd(0xec)]=_0x4b0d60['supporte'+'d']?_0x36d9cd(0x81):_0x36d9cd(0x11c)+_0x36d9cd(0x93),_0x4b0d60[_0x36d9cd(0x85)]=_0x4b0d60[_0x36d9cd(0xa3)+'d']?_0x494a8b(_0x4b0d60[_0x36d9cd(0xdf)]):_0x11ecb2();if(!_0x4b0d60[_0x36d9cd(0xa3)+'d']){_0x4506cb();return;}autoUpdater[_0x36d9cd(0xe8)+'load']=_0x4af157[_0x36d9cd(0xe8)+_0x36d9cd(0x8f)],autoUpdater[_0x36d9cd(0xa8)+_0x36d9cd(0x108)+'Quit']=![],autoUpdater[_0x36d9cd(0xdf)]=_0x4b0d60[_0x36d9cd(0xdf)],autoUpdater['on'](_0x36d9cd(0xf5)+_0x36d9cd(0x13b)+_0x36d9cd(0xa5),()=>{const _0xf4cbae=_0x36d9cd;_0x3b991f=null,_0xb59671({'phase':_0xf4cbae(0xf5),'checkedAt':new Date()['toISOStr'+_0xf4cbae(0xff)](),'remoteVersion':null,'comparisonResult':_0xf4cbae(0x10f),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x393830(),'error':null,'message':'正在检查更新'});}),autoUpdater['on'](_0x36d9cd(0xd9)+'vailable',_0x132b33=>{const _0x4aab75=_0x36d9cd,_0x4beb1c=extractUpdateInfoPatch(_0x132b33),_0xd27659=compareAppVersions(_0x302cc3(),_0x4beb1c[_0x4aab75(0xc9)+_0x4aab75(0x123)]);if(_0xd27659!==_0x4aab75(0x125)+_0x4aab75(0x88)){_0x3b991f=null,_0xb59671({..._0x4beb1c,'phase':_0x4aab75(0xb0)+_0x4aab75(0xc6),'comparisonResult':_0xd27659,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x393830(),'checkedAt':new Date()[_0x4aab75(0xc3)+_0x4aab75(0xff)](),'error':null,'message':_0x4aab75(0x129)+'本'});return;}_0x3b991f=extractRemoteUpdatePackageMetadata(_0x132b33,_0x283928),_0xb59671({..._0x4beb1c,'phase':_0x4aab75(0x86)+'e','comparisonResult':_0xd27659,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x393830(),'checkedAt':new Date()['toISOStr'+_0x4aab75(0xff)](),'error':null,'message':_0x4beb1c[_0x4aab75(0x86)+_0x4aab75(0x7a)]?'发现新版本\x20v'+_0x4beb1c['availabl'+_0x4aab75(0x7a)]:_0x4aab75(0xfe)}),_0x1bd73f(_0x4aab75(0xd6)+_0x4aab75(0x117));}),autoUpdater['on'](_0x36d9cd(0x12b)+_0x36d9cd(0xf1)+_0x36d9cd(0xca),_0x513325=>{const _0x549991=_0x36d9cd;_0x3b991f=null;const _0x55f11f=extractUpdateInfoPatch(_0x513325);_0xb59671({..._0x55f11f,'phase':_0x549991(0xb0)+'lable','comparisonResult':compareAppVersions(_0x302cc3(),_0x55f11f['remoteVe'+_0x549991(0x123)]),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x393830(),'checkedAt':new Date()[_0x549991(0xc3)+'ing'](),'error':null,'message':_0x549991(0x129)+'本'});}),autoUpdater['on'](_0x36d9cd(0x139)+_0x36d9cd(0xb3)+'s',_0x43dae6=>{const _0x20bf80=_0x36d9cd,_0x3b2743=extractProgressPatch(_0x43dae6),_0x11dbc9=_0x2faee5(_0x3b2743[_0x20bf80(0x139)+_0x20bf80(0x115)]??null);_0xb59671({..._0x3b2743,'downloadPercent':_0x11dbc9,'phase':_0x20bf80(0x139)+'ing',..._0x393830(),'error':null,'message':_0x5f46fc(_0x4b0d60[_0x20bf80(0x86)+_0x20bf80(0x7a)],_0x11dbc9)});}),autoUpdater['on']('update-d'+_0x36d9cd(0xa6)+'d',_0x156d35=>{const _0x2ffd1=_0x36d9cd,_0x1f7c70=extractUpdateInfoPatch(_0x156d35),_0x2e109d=extractRemoteUpdatePackageMetadata(_0x156d35,_0x283928)??_0x3b991f;_0x2e109d&&(_0x3b991f=_0x2e109d);const _0x8353b9=_0x1f7c70['availabl'+_0x2ffd1(0x7a)]??_0x2e109d?.['version']??_0x4b0d60[_0x2ffd1(0x86)+_0x2ffd1(0x7a)];_0xb59671({..._0x1f7c70,'phase':'download'+'ed','comparisonResult':compareAppVersions(_0x302cc3(),_0x8353b9),'hasUpdate':!![],'downloadedVersion':_0x8353b9,'downloadPercent':0x64,..._0x393830(),'error':null,'message':_0x8353b9?_0x2ffd1(0x102)+_0x8353b9+_0x2ffd1(0xaf):_0x2ffd1(0xcd)+'装'});}),autoUpdater['on'](_0x36d9cd(0x132),_0x37c658=>{const _0x30ed32=_0x36d9cd;if(_0x4b0d60[_0x30ed32(0xec)]===_0x30ed32(0x80)+'ng'){_0x414c45(_0x37c658);return;}_0xb59671({'phase':_0x30ed32(0x132),'checkedAt':new Date()['toISOStr'+_0x30ed32(0xff)](),..._0x393830(),'error':getErrorMessage(_0x37c658),'errorCode':_0x4b0d60['phase']===_0x30ed32(0x139)+_0x30ed32(0xff)?'download'+_0x30ed32(0x9d):'check-er'+_0x30ed32(0xe9),'message':'自动更新失败'});}),_0x4506cb();}async function _0x465e1b(){const _0x2f60cf=_0x2f4040;_0x3429bc(),_0x3b7bac();if(_0x228397)return _0x228397;return _0x37f2f7(_0x2f60cf(0x133)+_0x2f60cf(0x13a)),_0x228397=autoUpdater['checkFor'+_0x2f60cf(0x113)]()[_0x2f60cf(0x7e)](()=>_0x50ac58())[_0x2f60cf(0xb2)](()=>{_0x228397=null;}),_0x228397;}async function _0x116dd5(){const _0x5769d8=_0x2f4040;_0x3429bc(),_0x3b7bac();if(_0x4b0d60[_0x5769d8(0xec)]===_0x5769d8(0x139)+'ed'||_0x4b0d60[_0x5769d8(0xec)]===_0x5769d8(0x80)+'ng')return _0x50ac58();if(!_0x4b0d60[_0x5769d8(0x10c)+'e'])throw new Error('当前没有可下载的'+'更新');const _0x36a53c=_0x4b0d60[_0x5769d8(0xec)]===_0x5769d8(0x132)&&_0x4b0d60[_0x5769d8(0xbb)+'e']===_0x5769d8(0x9e)+_0x5769d8(0x132)&&Boolean(_0x4b0d60[_0x5769d8(0x139)+_0x5769d8(0xe7)+'n']);if(_0x4b0d60[_0x5769d8(0xec)]==='error'){if(_0x36a53c)_0xb59671({'phase':_0x5769d8(0x86)+'e','hasUpdate':!![],'availableVersion':_0x4b0d60['availabl'+_0x5769d8(0x7a)]??_0x4b0d60[_0x5769d8(0x139)+_0x5769d8(0xe7)+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x393830(),'error':null,'message':_0x5769d8(0xe0)+'包'});else{await _0x465e1b();if(_0x4b0d60['phase']!==_0x5769d8(0x86)+'e')throw new Error('当前没有可下载的'+'更新');}}if(![_0x5769d8(0x86)+'e','download'+_0x5769d8(0xff)][_0x5769d8(0x112)](_0x4b0d60[_0x5769d8(0xec)]))throw new Error('当前没有可下载的'+'更新');if(_0x8daad0)return _0x8daad0;return _0x8daad0=autoUpdater[_0x5769d8(0x139)+_0x5769d8(0x7f)]()[_0x5769d8(0x7e)](()=>{const _0xe0ad7c=_0x5769d8;return _0x4b0d60[_0xe0ad7c(0xec)]!==_0xe0ad7c(0x139)+'ed'&&_0xb59671({'phase':_0xe0ad7c(0x132),'checkedAt':new Date()[_0xe0ad7c(0xc3)+_0xe0ad7c(0xff)](),..._0x393830(),'error':_0xe0ad7c(0xf0)+_0xe0ad7c(0x8c)+_0xe0ad7c(0x105),'errorCode':_0xe0ad7c(0x139)+'-error','message':_0xe0ad7c(0xb7)}),_0x50ac58();})[_0x5769d8(0xb2)](()=>{_0x8daad0=null;}),_0x8daad0;}function _0x3bb0e4(){const _0x1bba13=_0x2f4040;_0x3429bc(),_0x3b7bac();if(![_0x1bba13(0x139)+'ed',_0x1bba13(0x80)+'ng'][_0x1bba13(0x112)](_0x4b0d60[_0x1bba13(0xec)]))throw new Error(_0x1bba13(0x12a)+_0x1bba13(0x130));const _0x2497b0=_0x2c211c();_0x39bca3=Date[_0x1bba13(0x95)](),_0xab6853({'startedAt':new Date(_0x39bca3)['toISOStr'+'ing'](),'currentVersion':_0x4b0d60['currentV'+_0x1bba13(0x13d)],'downloadedVersion':_0x4b0d60[_0x1bba13(0x139)+'edVersio'+'n'],'pendingPackage':_0x2497b0[_0x1bba13(0x149)+_0x1bba13(0xac)],'pendingPackageBytes':_0x2497b0['packageB'+_0x1bba13(0xa4)]}),_0xb59671({'phase':_0x1bba13(0x80)+'ng',..._0x393830(),'error':null,'message':_0x1bba13(0xd1)+_0x1bba13(0x131)});try{_0x334c1b(),autoUpdater['quitAndI'+'nstall'](![],!![]);}catch(_0x42c86a){_0x414c45(_0x42c86a);throw _0x42c86a;}return{'ok':!![]};}async function _0x4460e9(_0x1c1b1e){const _0x5c4d18=_0x2f4040;if(!_0x2d890b())return;_0xe01153=Date[_0x5c4d18(0x95)](),_0x37f2f7(_0x5c4d18(0x11f)+'nd\x20updat'+'e\x20check\x20'+_0x5c4d18(0xd5)+'d',{'reason':_0x1c1b1e});try{await _0x465e1b();}catch(_0x3a3598){_0x471d58('backgrou'+_0x5c4d18(0x137)+_0x5c4d18(0x13c)+_0x5c4d18(0x147),{'reason':_0x1c1b1e,'error':getErrorMessage(_0x3a3598)});}}function _0x1a168d(_0x2f8e0b){const _0x34ed2a=_0x2f4040;if(!_0x4b0d60[_0x34ed2a(0xa3)+'d'])return;const _0x2aeafd=Date[_0x34ed2a(0x95)]()-_0xe01153;if(_0x2aeafd<_0x4af157[_0x34ed2a(0x11f)+_0x34ed2a(0xf7)+_0x34ed2a(0xeb)])return;void _0x4460e9(_0x2f8e0b);}function _0x5c5ee5(){const _0x3ab223=_0x2f4040;_0x3429bc();if(!_0x4b0d60[_0x3ab223(0xa3)+'d']||_0x59e8c6)return;_0x59e8c6=setInterval(()=>{const _0x4331b5=_0x3ab223;void _0x4460e9(_0x4331b5(0x126));},_0x4af157[_0x3ab223(0x11f)+_0x3ab223(0xfb)+_0x3ab223(0xf6)+'s']),void _0x4460e9('startup'),_0x37f2f7('backgrou'+_0x3ab223(0x137)+_0x3ab223(0x13c)+_0x3ab223(0x121)+'r\x20starte'+'d',_0x4af157);}function _0x52c813(){const _0x4cbe21=_0x2f4040;if(_0x4b0d60[_0x4cbe21(0xec)]!=='installi'+'ng')return;_0x475573=!![],_0x5cc842();}return{'initialize':_0x3429bc,'getState':_0x50ac58,'checkForUpdates':_0x465e1b,'downloadUpdate':_0x116dd5,'quitAndInstall':_0x3bb0e4,'requestBackgroundCheck':_0x1a168d,'startBackgroundChecks':_0x5c5ee5,'markQuitObserved':_0x52c813};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x25e7c3,_0x2e489a){const _0xae35d7=_0x54f2,_0x58b831=_0x25e7c3();while(!![]){try{const _0x3eeba2=-parseInt(_0xae35d7(0x14c))/0x1*(parseInt(_0xae35d7(0x127))/0x2)+parseInt(_0xae35d7(0x124))/0x3+parseInt(_0xae35d7(0x135))/0x4*(-parseInt(_0xae35d7(0x152))/0x5)+-parseInt(_0xae35d7(0x12a))/0x6+parseInt(_0xae35d7(0x122))/0x7*(-parseInt(_0xae35d7(0x136))/0x8)+-parseInt(_0xae35d7(0x133))/0x9*(parseInt(_0xae35d7(0x15d))/0xa)+parseInt(_0xae35d7(0x15e))/0xb*(parseInt(_0xae35d7(0x14b))/0xc);if(_0x3eeba2===_0x2e489a)break;else _0x58b831['push'](_0x58b831['shift']());}catch(_0x4bf65c){_0x58b831['push'](_0x58b831['shift']());}}}(_0x1068,0x37ad3));function _0x1068(){const _0x24309e=['latest','LE_NOT_F','logger','object','unsuppor','able','OUND','includes','reateUpd','warn','updater','未知的自动更新错','code','ause\x20ele','export\x20c','611148DEaWMt','4882NVnhrv','ller.mjs','dateCont','missing-','createUp','./contro','1037875TKFDIy','ateContr','unknown','trim','\x22electro','oes\x20not\x20','ndows','app:upda','dependen','MODULE_N','message','1545650NUHhup','198NHpbob','alpha','isDestro','oller','updates','203RaFhBt','roller','717219PobgAU','自动更新依赖\x20e','ERR_MODU','44wNoPCl','send','ate\x20disa','1652334rBCvEk','getAllWi','lectron-','n-update','dater\x20is','yed','auto\x20upd','OT_FOUND','function','18GTujed','channel','4XiBHLo','7792tZASIg','failed\x20t','用状态','ctron-up','controll','updates/'];_0x1068=function(){return _0x24309e;};return _0x1068();}import _0x10067a from'electron';const {BrowserWindow}=_0x10067a;function _0x54f2(_0x5a5544,_0x329b93){_0x5a5544=_0x5a5544-0x120;const _0x1068a6=_0x1068();let _0x54f23d=_0x1068a6[_0x5a5544];return _0x54f23d;}function getErrorMessage(_0x3fa915){const _0x1a6653=_0x54f2;if(_0x3fa915 instanceof Error&&_0x3fa915[_0x1a6653(0x15c)]['trim']())return _0x3fa915[_0x1a6653(0x15c)]['trim']();if(typeof _0x3fa915==='string'&&_0x3fa915['trim']())return _0x3fa915[_0x1a6653(0x155)]();return _0x1a6653(0x147)+'误';}function createUnavailableUpdateController({shellConfig:_0x4a25eb,appVersion:_0xb330e8,broadcast:_0x24fa8e,logger:_0x3a7127,reason:_0x21be5e}){const _0x3fea95=_0x54f2,_0x479c75=_0x4a25eb[_0x3fea95(0x121)]??{},_0x5919c8={'supported':![],'channel':_0x479c75[_0x3fea95(0x134)]===_0x3fea95(0x15f)?_0x3fea95(0x15f):_0x3fea95(0x13c),'phase':_0x3fea95(0x140)+'ted','currentVersion':_0xb330e8(),'remoteVersion':null,'comparisonResult':_0x3fea95(0x154),'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':_0x21be5e,'error':null,'errorCode':_0x3fea95(0x14f)+_0x3fea95(0x15a)+'cy'};let _0x203c43=![];function _0x1d7281(){return{..._0x5919c8,'currentVersion':_0xb330e8()};}function _0x1f3f9b(){const _0x3ff95c=_0x3fea95,_0x1e1a3c=_0x1d7281();for(const _0x3d3e01 of BrowserWindow?.[_0x3ff95c(0x12b)+_0x3ff95c(0x158)]?.()??[]){!_0x3d3e01[_0x3ff95c(0x160)+_0x3ff95c(0x12f)]()&&_0x3d3e01['webConte'+'nts'][_0x3ff95c(0x128)](_0x3ff95c(0x159)+'te-state',_0x1e1a3c);}_0x24fa8e?.(_0x3ff95c(0x159)+'te-state',_0x1e1a3c);}function _0x28896f(){const _0x133131=_0x3fea95;if(_0x203c43)return;_0x203c43=!![],_0x3a7127?.[_0x133131(0x145)]?.(_0x133131(0x130)+_0x133131(0x129)+'bled\x20bec'+_0x133131(0x149)+_0x133131(0x139)+_0x133131(0x12e)+'\x20unavail'+_0x133131(0x141),{'reason':_0x21be5e}),_0x1f3f9b();}function _0x94092e(){throw new Error(_0x21be5e);}async function _0x469c7f(){_0x28896f(),_0x94092e();}async function _0x2e7a87(){_0x28896f(),_0x94092e();}async function _0x391199(){_0x28896f(),_0x94092e();}function _0x49c71f(){}function _0x2c58eb(){_0x28896f();}function _0x8c6be9(){}return{'initialize':_0x28896f,'getState':_0x1d7281,'checkForUpdates':_0x469c7f,'downloadUpdate':_0x2e7a87,'quitAndInstall':_0x391199,'requestBackgroundCheck':_0x49c71f,'startBackgroundChecks':_0x2c58eb,'markQuitObserved':_0x8c6be9};}function isElectronUpdaterMissingError(_0x1f22d0){const _0xef2b21=_0x54f2;if(!_0x1f22d0)return![];if(_0x1f22d0&&typeof _0x1f22d0===_0xef2b21(0x13f)&&_0xef2b21(0x148)in _0x1f22d0&&(_0x1f22d0[_0xef2b21(0x148)]===_0xef2b21(0x126)+_0xef2b21(0x13d)+_0xef2b21(0x142)||_0x1f22d0[_0xef2b21(0x148)]===_0xef2b21(0x15b)+_0xef2b21(0x131))){const _0xcf563a=getErrorMessage(_0x1f22d0);return _0xcf563a[_0xef2b21(0x143)]('\x27electro'+'n-update'+'r\x27')||_0xcf563a['includes'](_0xef2b21(0x156)+_0xef2b21(0x12d)+'r\x22');}return![];}export async function loadCreateUpdateController({logger:_0x5357b1,importer:importer=_0x57bc65=>import(_0x57bc65)}={}){const _0x383f24=_0x54f2;try{const _0x3111b1=await importer(_0x383f24(0x151)+_0x383f24(0x14d));if(typeof _0x3111b1[_0x383f24(0x150)+_0x383f24(0x14e)+_0x383f24(0x123)]!==_0x383f24(0x132))throw new TypeError(_0x383f24(0x13b)+_0x383f24(0x13a)+'er.mjs\x20d'+_0x383f24(0x157)+_0x383f24(0x14a)+_0x383f24(0x144)+_0x383f24(0x153)+_0x383f24(0x120));return _0x3111b1['createUp'+'dateCont'+'roller'];}catch(_0x552121){if(!isElectronUpdaterMissingError(_0x552121))throw _0x552121;const _0x850080=_0x383f24(0x125)+_0x383f24(0x12c)+'updater\x20'+'缺失,已降级为禁'+_0x383f24(0x138);return _0x5357b1?.[_0x383f24(0x145)]?.(_0x383f24(0x137)+'o\x20load\x20e'+_0x383f24(0x12c)+_0x383f24(0x146),{'error':getErrorMessage(_0x552121),'reason':_0x850080}),_0x405156=>createUnavailableUpdateController({..._0x405156,'logger':_0x405156?.[_0x383f24(0x13e)]??_0x5357b1,'reason':_0x850080});}}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": "4.0.
|
|
3
|
+
"version": "4.0.2",
|
|
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": "4.0.
|
|
38
|
-
"@wujie-shell/logger": "4.0.
|
|
37
|
+
"@wujie-shell/config": "4.0.2",
|
|
38
|
+
"@wujie-shell/logger": "4.0.2"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "node ../../scripts/build-packages.mjs --package @wujie-shell/core"
|