@napuketto/loader 0.0.8 → 0.0.9

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.
Binary file
Binary file
@@ -0,0 +1,146 @@
1
+ 7-Zip
2
+ ~~~~~
3
+ License for use and distribution
4
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5
+
6
+ 7-Zip Copyright (C) 1999-2026 Igor Pavlov.
7
+
8
+ The licenses for files are:
9
+
10
+ - 7z.dll:
11
+ - The "GNU LGPL" as main license for most of the code
12
+ - The "GNU LGPL" with "unRAR license restriction" for some code
13
+ - The "BSD 3-clause License" for some code
14
+ - The "BSD 2-clause License" for some code
15
+ - All other files: the "GNU LGPL".
16
+
17
+ Redistributions in binary form must reproduce related license information from this file.
18
+
19
+ Note:
20
+ You can use 7-Zip on any computer, including a computer in a commercial
21
+ organization. You don't need to register or pay for 7-Zip.
22
+
23
+
24
+ GNU LGPL information
25
+ --------------------
26
+
27
+ This library is free software; you can redistribute it and/or
28
+ modify it under the terms of the GNU Lesser General Public
29
+ License as published by the Free Software Foundation; either
30
+ version 2.1 of the License, or (at your option) any later version.
31
+
32
+ This library is distributed in the hope that it will be useful,
33
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
34
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
35
+ Lesser General Public License for more details.
36
+
37
+ You can receive a copy of the GNU Lesser General Public License from
38
+ http://www.gnu.org/
39
+
40
+
41
+
42
+
43
+ BSD 3-clause License in 7-Zip code
44
+ ----------------------------------
45
+
46
+ The "BSD 3-clause License" is used for the following code in 7z.dll
47
+ 1) LZFSE data decompression.
48
+ That code was derived from the code in the "LZFSE compression library" developed by Apple Inc,
49
+ that also uses the "BSD 3-clause License".
50
+ 2) ZSTD data decompression.
51
+ that code was developed using original zstd decoder code as reference code.
52
+ The original zstd decoder code was developed by Facebook Inc,
53
+ that also uses the "BSD 3-clause License".
54
+
55
+ Copyright (c) 2015-2016, Apple Inc. All rights reserved.
56
+ Copyright (c) Facebook, Inc. All rights reserved.
57
+ Copyright (c) 2023-2026 Igor Pavlov.
58
+
59
+ Text of the "BSD 3-clause License"
60
+ ----------------------------------
61
+
62
+ Redistribution and use in source and binary forms, with or without modification,
63
+ are permitted provided that the following conditions are met:
64
+
65
+ 1. Redistributions of source code must retain the above copyright notice, this
66
+ list of conditions and the following disclaimer.
67
+
68
+ 2. Redistributions in binary form must reproduce the above copyright notice,
69
+ this list of conditions and the following disclaimer in the documentation
70
+ and/or other materials provided with the distribution.
71
+
72
+ 3. Neither the name of the copyright holder nor the names of its contributors may
73
+ be used to endorse or promote products derived from this software without
74
+ specific prior written permission.
75
+
76
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
77
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
78
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
79
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
80
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
81
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
82
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
83
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
84
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
85
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
86
+
87
+ ---
88
+
89
+
90
+
91
+
92
+ BSD 2-clause License in 7-Zip code
93
+ ----------------------------------
94
+
95
+ The "BSD 2-clause License" is used for the XXH64 code in 7-Zip.
96
+
97
+ XXH64 code in 7-Zip was derived from the original XXH64 code developed by Yann Collet.
98
+
99
+ Copyright (c) 2012-2021 Yann Collet.
100
+ Copyright (c) 2023-2026 Igor Pavlov.
101
+
102
+ Text of the "BSD 2-clause License"
103
+ ----------------------------------
104
+
105
+ Redistribution and use in source and binary forms, with or without modification,
106
+ are permitted provided that the following conditions are met:
107
+
108
+ 1. Redistributions of source code must retain the above copyright notice, this
109
+ list of conditions and the following disclaimer.
110
+
111
+ 2. Redistributions in binary form must reproduce the above copyright notice,
112
+ this list of conditions and the following disclaimer in the documentation
113
+ and/or other materials provided with the distribution.
114
+
115
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
116
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
117
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
118
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
119
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
120
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
121
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
122
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
123
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
124
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
125
+
126
+ ---
127
+
128
+
129
+
130
+
131
+ unRAR license restriction
132
+ -------------------------
133
+
134
+ The decompression engine for RAR archives was developed using source
135
+ code of unRAR program.
136
+ All copyrights to original unRAR code are owned by Alexander Roshal.
137
+
138
+ The license for original unRAR code has the following restriction:
139
+
140
+ The unRAR sources cannot be used to re-create the RAR compression algorithm,
141
+ which is proprietary. Distribution of modified unRAR sources in separate form
142
+ or as a part of other software is permitted, provided that it is clearly
143
+ stated in the documentation and source comments that the code may
144
+ not be used to develop a RAR (WinRAR) compatible archiver.
145
+
146
+ --
package/dist/index.d.mts CHANGED
@@ -61,21 +61,56 @@ declare function releaseInstanceLock(dataDir: string): void;
61
61
  declare function registerLockCleanup(dataDir: string): void;
62
62
  //#endregion
63
63
  //#region src/locate-qq.d.ts
64
+ /** 数据根下 QQ 文件缓存目录名(<数据根>/qq-files/<版本>/,P1 下载解包产物)。 */
65
+ declare const QQ_FILES_DIR_NAME = "qq-files";
66
+ /** QQ 文件来源。 */
67
+ type QqFileSource = "local" | "cached";
64
68
  /** QQ 安装目录探测结果。 */
65
69
  interface QqInstallInfo {
66
- /** QQ.exe 绝对路径。 */
70
+ /** QQ.exe 绝对路径(cached 来源为语义占位——缓存目录无 QQ.exe,当前无消费方)。 */
67
71
  qqPath: string;
68
- /** 安装根目录。 */
72
+ /** 安装根目录 / 文件根目录。 */
69
73
  installDir: string;
70
74
  /** 当前版本目录名(如 9.9.31-49919)。 */
71
75
  version: string;
72
76
  /** wrapper.node 绝对路径。 */
73
77
  wrapperPath: string;
78
+ /** 来源:local = 本机安装;cached = NAPUTO_QQ_FILES / 数据根缓存。 */
79
+ source: QqFileSource;
80
+ }
81
+ /** resolveQqFiles 选项。 */
82
+ interface ResolveQqFilesOptions {
83
+ /** 显式文件根(L0;缺省读 NAPUTO_QQ_FILES)。 */
84
+ qqFilesDir?: string;
85
+ /** 显式 QQ.exe 路径(L1;缺省读 NAPUTO_QQ_PATH)。 */
86
+ qqPath?: string;
87
+ /** 数据根(L2 缓存扫描;缺省轻量解析 NAPKETTO_DATA ?? 项目根/.napuketto)。 */
88
+ dataRoot?: string;
89
+ /** L0/L1/L2 全部失败时自动进入下载流程(P1;默认 true,测试可关)。 */
90
+ autoDownload?: boolean;
91
+ /** 7z 可执行文件路径(解包用;缺省自动探测)。 */
92
+ sevenZipPath?: string;
74
93
  }
75
94
  /** 找 QQ.exe 路径。 */
76
95
  declare function locateQqPath(): string;
77
- /** 从 QQ.exe 路径推导安装目录,并探测当前版本。 */
96
+ /** 从 QQ.exe 路径推导安装目录,并探测当前版本(L1:本机安装)。 */
78
97
  declare function resolveQqInstall(qqPath?: string): QqInstallInfo;
98
+ /**
99
+ * 多级来源定位 QQ 原生文件:
100
+ * L0 → L1 → L2 依次尝试,全部失败且 autoDownload 时自动进入下载流程(ensureQqFiles)。
101
+ * ⚠️ async:自动下载为异步流程(P1 起);纯定位场景用 resolveQqInstall(同步)。
102
+ */
103
+ declare function resolveQqFiles(options?: ResolveQqFilesOptions): Promise<QqInstallInfo>;
104
+ /**
105
+ * 确保 QQ 原生文件就绪(P1):幂等缓存检查 → 下载官方安装包 → sha256 校验
106
+ * → 7z 解包 → 提取 wrapper.node/QQNT.dll → 缓存。返回缓存版本 QqInstallInfo。
107
+ */
108
+ declare function ensureQqFiles(options?: {
109
+ /** 数据根(缓存 <数据根>/qq-files/)。 */
110
+ dataRoot?: string;
111
+ /** 7z 路径(缺省自动探测)。 */
112
+ sevenZipPath?: string;
113
+ }): Promise<QqInstallInfo>;
79
114
  //#endregion
80
115
  //#region src/launcher.d.ts
81
116
  interface LaunchOptions {
@@ -101,6 +136,8 @@ interface LaunchOptions {
101
136
  ipc?: boolean;
102
137
  /** 自建宿主入口(默认 dist/host/self-host.cjs)。 */
103
138
  selfHostEntry?: string;
139
+ /** Windows 版 node.exe 路径(linux 场景覆盖;缺省 ensureWinNode 下载)。 */
140
+ winNodePath?: string;
104
141
  /**
105
142
  * 子进程工作目录(缺省继承父进程 cwd)。
106
143
  *
@@ -123,15 +160,17 @@ interface LaunchResult {
123
160
  bootJsPath: string;
124
161
  }
125
162
  /**
126
- * 启动自建宿主(路线 A,2026-08-07 产品化):spawn 标准 node 直接跑 self-host.cjs,
127
- * 不拉起 QQ / 不注入。
163
+ * 启动自建宿主(路线 A):spawn 标准 node 直接跑 self-host.cjs,不拉起 QQ / 不注入。
128
164
  *
129
165
  * 关键(HANDOVER-V7 技术数据):wrapper.node 从 QQNT.dll 导入 99 符号
130
166
  * (napi_*×40 + uv_*×56 + qq_magic×1 + v8/node mangled×2)——标准 node 无这些宿主
131
167
  * 符号,必须 PATH 前置 stub QQNT.dll 目录(转发到 node.exe)+ QQ resources\app
132
168
  * (wrapper.node 同目录依赖 DLL)才能 dlopen 成功。
169
+ *
170
+ * P2 平台分支:win32 用本机 node;linux 用 wine + Windows 版 node.exe
171
+ * (ensureWinNode 自动下载,路径过 toWinePath)。async(win-node 可能需下载)。
133
172
  */
134
- declare function launchSelfHost(options: LaunchOptions): LaunchResult;
173
+ declare function launchSelfHost(options: LaunchOptions): Promise<LaunchResult>;
135
174
  /**
136
175
  * 默认 stub QQNT.dll 目录(loader 包内闭源 native/build/stub-test-env,开发机默认)。
137
176
  * src 与 native 同层,构建后 dist 与 native 同层——`../native` 恒正确。
@@ -160,5 +199,167 @@ declare const ENV: {
160
199
  readonly IPC: "NAPUTO_IPC";
161
200
  };
162
201
  //#endregion
163
- export { ENV, INSTANCE_LOCK_FILE, type InstanceLockCheck, type InstanceLockInfo, type LaunchOptions, type LaunchResult, type QqInstallInfo, acquireInstanceLock, checkInstanceLock, defaultStubDir, launchSelfHost, locateQqPath, registerLockCleanup, releaseInstanceLock, resolveQqInstall };
202
+ //#region src/qq-download.d.ts
203
+ /** 下载选项。 */
204
+ interface DownloadOptions {
205
+ /** 目标文件绝对路径。 */
206
+ dest: string;
207
+ /** 期望 sha256(十六进制小写);缺省/空串 = 不校验(首次下载尚无参考值)。 */
208
+ expectedSha256?: string;
209
+ /** 覆盖下载地址(缺省读 NAPUTO_QQ_URL)。 */
210
+ url?: string;
211
+ /** 超时(毫秒,默认 60s 无数据则中断)。 */
212
+ timeoutMs?: number;
213
+ }
214
+ /** 下载结果。 */
215
+ interface DownloadResult {
216
+ /** 实际 sha256(十六进制小写)。 */
217
+ sha256: string;
218
+ /** 是否通过期望值校验(无期望值时恒 true)。 */
219
+ verified: boolean;
220
+ }
221
+ /** 下载中断(超时 / 非 2xx / 网络错误)抛出的错误。 */
222
+ declare class DownloadError extends Error {
223
+ constructor(message: string);
224
+ }
225
+ /**
226
+ * 下载文件并(可选)校验 sha256。失败时清理半成品文件。
227
+ * 返回实际 sha256(无论是否校验),便于调用方回填清单。
228
+ */
229
+ declare function downloadFile(options: DownloadOptions): Promise<DownloadResult>;
230
+ //#endregion
231
+ //#region src/qq-extract.d.ts
232
+ /** 7-Zip 可执行文件来源。 */
233
+ interface SevenZipResult {
234
+ /** 7z 可执行文件绝对路径。 */
235
+ exe: string;
236
+ /** 来源说明(内置资产 / 系统 / 环境变量)。 */
237
+ source: string;
238
+ }
239
+ /** 提取选项。 */
240
+ interface ExtractOptions {
241
+ /** 安装包绝对路径。 */
242
+ installerPath: string;
243
+ /** 目标版本目录(如 9.9.33-51802)。 */
244
+ version: string;
245
+ /** 缓存根目录(<数据根>/qq-files;版本子目录将建在其下)。 */
246
+ cacheRoot: string;
247
+ /** 7z 可执行文件路径(缺省自动探测)。 */
248
+ sevenZipPath?: string;
249
+ }
250
+ /**
251
+ * 探测 7z 可执行文件:
252
+ * NAPUTO_7Z_PATH 环境变量 > 内置资产(assets/7zip/7z.exe,Windows)> 系统 PATH 7z。
253
+ * Linux 上用 p7zip 提供的 7z 命令(系统 PATH)。
254
+ */
255
+ declare function findSevenZip(): SevenZipResult;
256
+ /** 解包安装包到指定目录(spawn 7z x,失败抛错)。 */
257
+ declare function extractInstaller(installerPath: string, destDir: string, sevenZipPath?: string): Promise<void>;
258
+ /**
259
+ * 从解包目录提取运行所需文件到缓存:
260
+ * resources/app 顶层全部 *.node + *.dll(保持同目录结构,PATH 前置即可解析依赖)。
261
+ * 幂等:目标 wrapper.node 已存在则跳过。
262
+ */
263
+ declare function extractWrapperFiles(extractedDir: string, version: string, cacheRoot: string): Promise<QqInstallInfo>;
264
+ /** 清理缓存版本目录(下载/解包失败残留,供调用方兜底)。 */
265
+ declare function clearCacheVersion(cacheRoot: string, version: string): Promise<void>;
266
+ //#endregion
267
+ //#region src/qq-releases.d.ts
268
+ /** 清单中单个版本条目。 */
269
+ interface QqReleaseEntry {
270
+ /** 版本目录名(如 9.9.33-51802)。 */
271
+ version: string;
272
+ /** 官方安装包下载 URL。 */
273
+ url: string;
274
+ /** sha256(十六进制小写);空串 = 尚未校验(首次录入时 CI 计算后填入)。 */
275
+ sha256: string;
276
+ /** appid(预知信息,运行时仍从 major.node 解析)。 */
277
+ appid: number;
278
+ /** 来源标记(official = 官方)。 */
279
+ source: string;
280
+ /** 构建日期(YYYY-MM-DD,可选)。 */
281
+ buildDate?: string;
282
+ }
283
+ /** 清单文件结构。 */
284
+ interface QqReleasesFile {
285
+ schema: number;
286
+ known: QqReleaseEntry[];
287
+ }
288
+ /** 清单解析失败。 */
289
+ declare class QqReleasesError extends Error {
290
+ constructor(message: string);
291
+ }
292
+ /** 读版本清单(同步,启动期调用一次即可)。 */
293
+ declare function loadQqReleases(): QqReleasesFile;
294
+ /** 取最新已知可用版本(known 数组按录入顺序,取最后一项 = 最新)。 */
295
+ declare function latestRelease(releases: QqReleasesFile): QqReleaseEntry;
296
+ /**
297
+ * 解析实际下载 URL:NAPUTO_QQ_URL 环境变量覆盖 > 清单 URL。
298
+ * 供 downloadFile 使用(也支持按版本查询,当前固定取最新)。
299
+ */
300
+ declare function resolveDownloadUrl(release: QqReleaseEntry): string;
301
+ //#endregion
302
+ //#region src/win-node.d.ts
303
+ /** 运行时缓存子目录名(<数据根>/runtime/win-node/)。 */
304
+ declare const WIN_NODE_DIR_NAME = "win-node";
305
+ /** Windows node.exe 定位结果。 */
306
+ interface WinNodeInfo {
307
+ /** node.exe 绝对路径(Windows 视角,供 wine 调用)。 */
308
+ exePath: string;
309
+ /** 已下载的完整版 node zip 版本号(如 v24.16.0)。 */
310
+ version: string;
311
+ }
312
+ /** 解析 nodejs.org zip URL(与 dist 目录命名一致)。 */
313
+ declare function nodeZipUrl(version: string): string;
314
+ /**
315
+ * 确保 Windows 版 node.exe 就绪(下载 + 解压 + 缓存)。
316
+ * 幂等:<数据根>/runtime/win-node/<version>/node.exe 已存在则直接返回。
317
+ */
318
+ declare function ensureWinNode(options?: {
319
+ /** 数据根(缓存 <数据根>/runtime/win-node/)。 */
320
+ dataRoot?: string;
321
+ /** node 版本(缺省读 NAPUTO_WIN_NODE_VERSION,再兜底 latest v24)。 */
322
+ version?: string;
323
+ /** 显式 node.exe 路径(覆盖缓存逻辑,读 NAPUTO_WIN_NODE_PATH)。 */
324
+ exePath?: string;
325
+ }): Promise<WinNodeInfo>;
326
+ //#endregion
327
+ //#region src/wine.d.ts
328
+ /**
329
+ * wine.ts:Linux 上经 wine 运行 Windows 版 node.exe 的路径与 spawn 组装(P2)。
330
+ *
331
+ * 设计文档 §3.2(2026-08-12 拍板确认)。核心认知:
332
+ * - Windows 版 node.exe 在 wine 内把 Linux 根目录挂载在 `Z:\`
333
+ * - process.dlopen / 环境变量路径都是 wine 视角的 Windows 路径
334
+ * - 传给 wine 子进程的**所有路径**(wrapperPath / cfgDir / stubDir / self-host.cjs / PATH)
335
+ * 都要过 toWinePath 转成 `Z:\...`
336
+ *
337
+ * 纯函数设计:不 import node:child_process,方便 Windows 上单测断言(P2 纯逻辑层)。
338
+ */
339
+ /** Linux 绝对路径 → wine `Z:\` 路径(Windows 版 node.exe 视角)。幂等:已是 Windows 路径(含盘符)原样返回。 */
340
+ declare function toWinePath(linuxPath: string): string;
341
+ /** 判断当前是否 Linux(需 wine 的场景)。 */
342
+ declare function isLinux(): boolean;
343
+ /** wine 可执行文件(Linux 上 spawn 用;可被 NAPUTO_WINE 覆盖)。 */
344
+ declare function wineBinary(): string;
345
+ /** spawn 命令与参数(平台分支;纯函数,可单测)。 */
346
+ interface SpawnCommand {
347
+ /** 命令(win32 = node.exe;linux = wine)。 */
348
+ command: string;
349
+ /** 参数(win32 = [selfHostPath];linux = [winNodePath, selfHostPath])。 */
350
+ args: string[];
351
+ }
352
+ /** 组装 spawn 命令(win32 vs linux 分支)。 */
353
+ declare function buildSpawnCommand(options: {
354
+ /** 平台(缺省 process.platform,测试注入)。 */
355
+ platform?: NodeJS.Platform;
356
+ /** Windows 本机 node 路径(win32 用,缺省 process.execPath)。 */
357
+ winNodePath?: string;
358
+ /** wine 命令(linux 用,缺省 wineBinary())。 */
359
+ wine?: string;
360
+ /** 自建宿主入口(self-host.cjs,传给 wine/win node)。 */
361
+ selfHostPath: string;
362
+ }): SpawnCommand;
363
+ //#endregion
364
+ export { DownloadError, type DownloadOptions, type DownloadResult, ENV, type ExtractOptions, INSTANCE_LOCK_FILE, type InstanceLockCheck, type InstanceLockInfo, type LaunchOptions, type LaunchResult, QQ_FILES_DIR_NAME, type QqFileSource, type QqInstallInfo, type QqReleaseEntry, QqReleasesError, type QqReleasesFile, type ResolveQqFilesOptions, type SevenZipResult, type SpawnCommand, WIN_NODE_DIR_NAME, type WinNodeInfo, acquireInstanceLock, buildSpawnCommand, checkInstanceLock, clearCacheVersion, defaultStubDir, downloadFile, ensureQqFiles, ensureWinNode, extractInstaller, extractWrapperFiles, findSevenZip, isLinux, latestRelease, launchSelfHost, loadQqReleases, locateQqPath, nodeZipUrl, registerLockCleanup, releaseInstanceLock, resolveDownloadUrl, resolveQqFiles, resolveQqInstall, toWinePath, wineBinary };
164
365
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/instance-lock.ts","../src/locate-qq.ts","../src/launcher.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;cA2Ba;;UAGI;;EAEb;;EAEA;;EAEA;;;UAIa;;EAEb;;EAEA;;EAEA;;;;;;;iBAQY,kBAAkB,kBAAkB;;;;;iBA+BpC,oBAAoB,iBAAiB;;;;;iBA4BrC,oBAAoB;;iBAapB,oBAAoB;;;;UCvEnB;;EAEb;;EAEA;;EAEA;;EAEA;;;iBAIY;;iBAaA,iBAAiB,kBAAkB;;;UC9DlC;;EAEb,IAAI;;EAEJ;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;;;;;;;EAQA;;;;;;EAMA,QAAQ;;UAGK;;EAEb,OAAO,kBAAkB;;EAEzB;;;;;;;;;;;iBAYY,eAAe,SAAS,gBAAgB;;;;;iBAiDxC;;cAwCH;WACT;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/instance-lock.ts","../src/locate-qq.ts","../src/launcher.ts","../src/qq-download.ts","../src/qq-extract.ts","../src/qq-releases.ts","../src/win-node.ts","../src/wine.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;cA2Ba;;UAGI;;EAEb;;EAEA;;EAEA;;;UAIa;;EAEb;;EAEA;;EAEA;;;;;;;iBAQY,kBAAkB,kBAAkB;;;;;iBA+BpC,oBAAoB,iBAAiB;;;;;iBA4BrC,oBAAoB;;iBAapB,oBAAoB;;;;cC5GvB;;KAiDD;;UAGK;;EAEb;;EAEA;;EAEA;;EAEA;;EAEA,QAAQ;;;UAIK;;EAEb;;EAEA;;EAEA;;EAEA;;EAEA;;;iBAIY;;iBAwCA,iBAAiB,kBAAkB;;;;;;iBAY7B,eAAe,UAAS,wBAA6B,QAAQ;;;;;iBA0D7D,cAClB;;EAEI;;EAEA;IAEL,QAAQ;;;UChMM;;EAEb,IAAI;;EAEJ;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;;;;;;;EAQA;;;;;;EAMA,QAAQ;;UAGK;;EAEb,OAAO,kBAAkB;;EAEzB;;;;;;;;;;;;;iBAckB,eAAe,SAAS,gBAAgB,QAAQ;;;;;iBAoFtD;;cA4CH;WACT;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;;;;UCnNa;;EAEb;;EAEA;;EAEA;;EAEA;;;UAIa;;EAEb;;EAEA;;;cAIS,sBAAsB;EAC/B,YAAY;;;;;;iBA8CM,aAAa,SAAS,kBAAkB,QAAQ;;;;UCrDrD;;EAEb;;EAEA;;;UAIa;;EAEb;;EAEA;;EAEA;;EAEA;;;;;;;iBAQY,gBAAgB;;iBAuBV,iBAClB,uBACA,iBACA,wBACD;;;;;;iBA8BmB,oBAClB,sBACA,iBACA,oBACD,QAAQ;;iBAkDW,kBAAkB,mBAAmB,kBAAkB;;;;UC1J5D;;EAEb;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;;UAIa;EACb;EACA,OAAO;;;cAIE,wBAAwB;EACjC,YAAY;;;iBAYA,kBAAkB;;iBAoBlB,cAAc,UAAU,iBAAiB;;;;;iBAYzC,mBAAmB,SAAS;;;;cC3D/B;;UAGI;;EAEb;;EAEA;;;iBAIY,WAAW;;;;;iBAQL,cAClB;;EAEI;;EAEA;;EAEA;IAEL,QAAQ;;;;;;;;;;;;;;;iBCpCK,WAAW;;iBAiBX;;iBAKA;;UAKC;;EAEb;;EAEA;;;iBAIY,kBAAkB;;EAE9B,WAAW,OAAO;;EAElB;;EAEA;;EAEA;IACA"}