@aalis/plugin-package-manager 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -5
- package/dist/index.d.ts +36 -60
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +170 -44
- package/dist/index.js.map +1 -1
- package/package.json +11 -7
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @aalis/plugin-package-manager
|
|
2
2
|
|
|
3
|
-
插件包管理:从 npm
|
|
3
|
+
插件包管理:从 npm 安装/卸载/更新到项目根 dependencies
|
|
4
4
|
|
|
5
5
|
## 安装
|
|
6
6
|
|
|
@@ -12,14 +12,16 @@ pnpm add @aalis/plugin-package-manager
|
|
|
12
12
|
|
|
13
13
|
`definePlugin` 默认导出:
|
|
14
14
|
|
|
15
|
-
- provides:`packageManager`(服务名 `package-manager
|
|
16
|
-
- uses:`proc`(`process`)、`logger`、`config`、`provide`、`services`;可选 `app`、`plugins`、`hostConfig
|
|
15
|
+
- provides:`packageManager`(服务名 `package-manager`;描述符来自 `@aalis/api-package-manager`)
|
|
16
|
+
- uses:`proc`(`process`)、`logger`、`config`、`provide`、`services`;可选 `app`、`plugins`、`hostConfig`(`host-config`)、`source`(`plugin-source`)
|
|
17
17
|
|
|
18
|
-
装卸落在项目根 `dependencies
|
|
18
|
+
装卸落在项目根 `dependencies`,随后经宿主的 `plugin-source` 服务 `rescan()` 让加载器发现;宿主不提供插件来源时视同本次没有新插件。卸载后经 `host-config` 清理配置块与禁用标记,宿主未提供配置文档时不清理。
|
|
19
|
+
|
|
20
|
+
装卸只接受插件(`aalis-plugin`)与前端界面(`aalis-interface`)包;卸载会让其它插件失去所需服务的唯一提供者时拒绝。插件写入存储根的数据不随卸载删除。
|
|
19
21
|
|
|
20
22
|
## 文档
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
服务契约见 [docs/api/api-package-manager.md](../../docs/api/api-package-manager.md),扩展总览见 [docs/extensions/index.md](../../docs/extensions/index.md)。
|
|
23
25
|
|
|
24
26
|
## 许可
|
|
25
27
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,54 +1,6 @@
|
|
|
1
|
+
import { type PackageManagerService, type UpdateTarget } from '@aalis/api-package-manager';
|
|
1
2
|
import { type ProcessService } from '@aalis/api-process';
|
|
2
|
-
import { type AppService } from '@aalis/core';
|
|
3
|
-
/**
|
|
4
|
-
* 包管理服务:在项目根 `dependencies` 里装卸插件。
|
|
5
|
-
*
|
|
6
|
-
* 消费方在 uses 里声明本包导出的 {@link packageManager} 描述符。
|
|
7
|
-
*
|
|
8
|
-
* 根 `dependencies` 是加载器**唯一**的发现来源,所以装卸都落在那里——不再有「解包到
|
|
9
|
-
* packages/ 目录」那条路径(它按 `pnpm-workspace.yaml` 猜部署形态,而那个文件与真正
|
|
10
|
-
* 生效的加载器无因果关系,猜错时会把包装进加载器永不查看的地方并静默失败)。
|
|
11
|
-
*
|
|
12
|
-
* 这些操作涉及子进程(npm),不属于 core 内核职责,因此从 App 抽出到独立插件;
|
|
13
|
-
* 底层子进程统一走 api-process。
|
|
14
|
-
*/
|
|
15
|
-
export interface PackageManagerService {
|
|
16
|
-
/** 装进根 `dependencies` + node_modules,随后 rescan 让加载器发现它 */
|
|
17
|
-
install(npmPkg: string): Promise<{
|
|
18
|
-
ok: boolean;
|
|
19
|
-
message: string;
|
|
20
|
-
}>;
|
|
21
|
-
/** 从根 `dependencies` 摘掉并 npm uninstall;只接受插件与前端界面包(见 uninstallOne 的两道闸) */
|
|
22
|
-
uninstall(pluginName: string): Promise<{
|
|
23
|
-
ok: boolean;
|
|
24
|
-
message: string;
|
|
25
|
-
}>;
|
|
26
|
-
/**
|
|
27
|
-
* 批量更新到指定版本,随后重启进程接管。
|
|
28
|
-
*
|
|
29
|
-
* **必须整批提交**,不能每个包各调一次:
|
|
30
|
-
* - peer 冲突只有对整张版本映射一次预检才能发现(A@new 要 core>=0.10、B@new 要
|
|
31
|
-
* core<0.10,逐个预检各自都过,一起装才冲突);
|
|
32
|
-
* - 更新是文件系统操作而进程只在启动那一刻读文件系统,所以重启次数恒为 1,
|
|
33
|
-
* 与改了多少个包无关。逐个更新 = 重启 N 次,且中间态是半新半旧。
|
|
34
|
-
*
|
|
35
|
-
* 返回 `ok: true` 表示已提交安装并即将重启——此时 HTTP 响应要抢在进程退出前发出。
|
|
36
|
-
*/
|
|
37
|
-
update(targets: UpdateTarget[]): Promise<UpdateResult>;
|
|
38
|
-
}
|
|
39
|
-
/** 一个待更新目标:包名 + 目标版本(不带范围符,由调用方从市场卡片取 npm latest)。 */
|
|
40
|
-
export interface UpdateTarget {
|
|
41
|
-
name: string;
|
|
42
|
-
version: string;
|
|
43
|
-
}
|
|
44
|
-
export interface UpdateResult {
|
|
45
|
-
ok: boolean;
|
|
46
|
-
message: string;
|
|
47
|
-
/** 预检失败时的逐条冲突说明(npm dry-run 的报告摘要),供前端直接展示。 */
|
|
48
|
-
conflicts?: string[];
|
|
49
|
-
/** 本次是否会重启进程。ok 且 restarting 时前端应进入「等待重连」状态。 */
|
|
50
|
-
restarting?: boolean;
|
|
51
|
-
}
|
|
3
|
+
import { type AppService, type PluginStatusEntry } from '@aalis/core';
|
|
52
4
|
/**
|
|
53
5
|
* 根依赖里是否含 `workspace:` 协议。
|
|
54
6
|
*
|
|
@@ -66,6 +18,19 @@ export declare function hasWorkspaceProtocol(pkgJson: Record<string, unknown> |
|
|
|
66
18
|
* 纯函数,便于单测。
|
|
67
19
|
*/
|
|
68
20
|
export declare function declaresPlugin(pkgJson: Record<string, unknown> | undefined): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* 包类型是否归市场装卸:插件(判据同 {@link declaresPlugin})与前端界面(`aalis-interface`)
|
|
23
|
+
* 归市场管,返回 `undefined`;其余返回拒绝时展示的类别名。装与卸共用这一份判据——同一件事
|
|
24
|
+
* 维护两份同义判据,正是本仓已出事四次的形态(依赖来源判据、定级数学、包名正则、关键词分类)。
|
|
25
|
+
* 纯函数,便于单测。
|
|
26
|
+
*/
|
|
27
|
+
export declare function nonMarketKind(keywords: unknown): string | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* 找出「卸载 target 会断其服务依赖」的插件:target 提供的某服务 S 没有别的插件正在提供(只认 active 与
|
|
30
|
+
* activating;disabled / error / pending 的同类提供者不在提供),且有别的插件 requiredServices 含 S → 这些插件
|
|
31
|
+
* 会被打断。已禁用(disabled / disposed)的依赖者不算。纯函数,便于单测。
|
|
32
|
+
*/
|
|
33
|
+
export declare function findServiceDependents(targetName: string, status: ReadonlyArray<Pick<PluginStatusEntry, 'name' | 'state' | 'provides' | 'requiredServices'>>): string[];
|
|
69
34
|
/**
|
|
70
35
|
* 校验单个包 spec,合法返回 `undefined`、非法返回可读理由。
|
|
71
36
|
*
|
|
@@ -77,7 +42,6 @@ export declare function declaresPlugin(pkgJson: Record<string, unknown> | undefi
|
|
|
77
42
|
* 纯函数,便于单测。
|
|
78
43
|
*/
|
|
79
44
|
export declare function validatePackageSpec(spec: unknown): string | undefined;
|
|
80
|
-
export declare const packageManager: import("@aalis/core").ServiceDescriptor<PackageManagerService, import("@aalis/core").ServiceRef<PackageManagerService>>;
|
|
81
45
|
/** install/uninstall 的显式依赖(从能力/网关解耦,便于集成测试) */
|
|
82
46
|
export interface PackageManagerDeps {
|
|
83
47
|
proc: ProcessService;
|
|
@@ -86,7 +50,7 @@ export interface PackageManagerDeps {
|
|
|
86
50
|
error(msg: string): void;
|
|
87
51
|
warn?(msg: string): void;
|
|
88
52
|
};
|
|
89
|
-
/** 项目根绝对路径(= `<cwd
|
|
53
|
+
/** 项目根绝对路径(= `<cwd>`):根 package.json 读取、npm 的 cwd。 */
|
|
90
54
|
projectRoot(): string;
|
|
91
55
|
/** 读文本文件;不存在或读失败返回 undefined。注入以便单测。 */
|
|
92
56
|
readText(absPath: string): Promise<string | undefined>;
|
|
@@ -95,7 +59,7 @@ export interface PackageManagerDeps {
|
|
|
95
59
|
* 目标插件此刻是否已在运行时注册表里。
|
|
96
60
|
*
|
|
97
61
|
* 这是判定「本次安装是否就位」的**唯一正确判据**。不能用 `rescanPlugins()` 的返回值:
|
|
98
|
-
*
|
|
62
|
+
* 它是全局副作用的产物——宿主的 rescan 对已注册插件直接跳过,返回的是「本次扫描新
|
|
99
63
|
* 加载的**全部**插件」,与本次目标无对应关系。用它会在两个场景下给出错误结论:
|
|
100
64
|
* 重装已注册插件时恒返回空(误报失败);两个安装并发时先跑完的那个会把对方的战果
|
|
101
65
|
* 一并算作自己的(谎报),后跑的则拿到空数组(误报失败)。
|
|
@@ -104,6 +68,16 @@ export interface PackageManagerDeps {
|
|
|
104
68
|
* 不是 npm 包名——二者可以不同。
|
|
105
69
|
*/
|
|
106
70
|
isPluginRegistered(name: string): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* 运行时插件状态,供服务依赖者判定({@link findServiceDependents})与装后回执(按主实例状态说明)。
|
|
73
|
+
* 缺省视为没有活跃插件。
|
|
74
|
+
*/
|
|
75
|
+
pluginStatus?(): ReadonlyArray<Pick<PluginStatusEntry, 'name' | 'instanceId' | 'state' | 'error' | 'provides' | 'requiredServices'>>;
|
|
76
|
+
/**
|
|
77
|
+
* 等插件状态机静置(plugins 服务的 `idle()`),装后回执读状态之前调用:rescan 登记新插件时若已有重算在飞,
|
|
78
|
+
* 登记只排队、立即返回,主实例还是 pending。不等转入后台的慢激活。缺省不等。
|
|
79
|
+
*/
|
|
80
|
+
idle?(): Promise<void>;
|
|
107
81
|
/** 彻底卸载插件(dispose + 从注册表移除)。plugins 服务缺席则 no-op。 */
|
|
108
82
|
unloadPlugin(name: string): Promise<void>;
|
|
109
83
|
/**
|
|
@@ -114,7 +88,7 @@ export interface PackageManagerDeps {
|
|
|
114
88
|
/** 卸载后清理残留配置(删配置块 + 解除禁用标记 + 持久化)。可选:缺省则不清理。 */
|
|
115
89
|
cleanupConfig?(name: string): void;
|
|
116
90
|
/**
|
|
117
|
-
* 解析已装 npm 包的插件定义 name(与 `@aalis/
|
|
91
|
+
* 解析已装 npm 包的插件定义 name(与 `@aalis/api-plugin-source` 的 `pluginDefinitionOf` 同一口径:入口 default.name)。
|
|
118
92
|
* 解析不到则返回 undefined,调用方回退到包名。name≠包名时由 createPackageManager warn。
|
|
119
93
|
*/
|
|
120
94
|
resolveDefinitionName?(pkgName: string): Promise<string | undefined>;
|
|
@@ -152,7 +126,8 @@ export declare function buildUpdateSpecs(targets: readonly UpdateTarget[]): {
|
|
|
152
126
|
error?: string;
|
|
153
127
|
};
|
|
154
128
|
/**
|
|
155
|
-
* 从 npm
|
|
129
|
+
* 从 npm 的失败输出里摘出冲突要点,供前端直接展示。保留根项目的声明行(`… from the root project`),看得出冲突由
|
|
130
|
+
* 哪条根依赖引起;完整报告的路径行(`…-eresolve-report.txt`)随不分大小写的 ERESOLVE 一并保留。纯函数,便于单测。
|
|
156
131
|
*/
|
|
157
132
|
export declare function extractPeerConflicts(output: string): string[];
|
|
158
133
|
/**
|
|
@@ -170,8 +145,8 @@ export declare function extractPeerConflicts(output: string): string[];
|
|
|
170
145
|
export declare function findUnmetPeers(output: string, targetNames: readonly string[]): string[];
|
|
171
146
|
/**
|
|
172
147
|
* 包管理核心:install/uninstall 的纯依赖实现(不碰能力/网关,可单测)。
|
|
173
|
-
* 所有文件操作走 process 网关(子进程:npm/
|
|
174
|
-
*
|
|
148
|
+
* 所有文件操作走 process 网关(子进程:npm/cp/test),目标是项目根 package.json 与
|
|
149
|
+
* node_modules——不经 storage 沙盒。
|
|
175
150
|
* 能力组装层见 createService。
|
|
176
151
|
*/
|
|
177
152
|
export declare function createPackageManager(deps: PackageManagerDeps): PackageManagerService;
|
|
@@ -181,9 +156,10 @@ declare const _default: import("@aalis/core").PluginDefinition<{
|
|
|
181
156
|
config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
|
|
182
157
|
provide: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Provide, import("@aalis/core").Provide>;
|
|
183
158
|
services: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Services, import("@aalis/core").Services>;
|
|
184
|
-
app: import("@aalis/core
|
|
185
|
-
plugins: import("@aalis/core
|
|
186
|
-
hostConfig: import("@aalis/core
|
|
159
|
+
app: import("@aalis/core").OptionalUse<AppService, import("@aalis/core").ServiceRef<AppService>>;
|
|
160
|
+
plugins: import("@aalis/core").OptionalUse<import("@aalis/core").PluginManagerService, import("@aalis/core").ServiceRef<import("@aalis/core").PluginManagerService>>;
|
|
161
|
+
hostConfig: import("@aalis/core").OptionalUse<import("@aalis/api-host-config").HostConfig, import("@aalis/core").ServiceRef<import("@aalis/api-host-config").HostConfig>>;
|
|
162
|
+
source: import("@aalis/core").OptionalUse<import("@aalis/api-plugin-source").PluginSourceService, import("@aalis/core").ServiceRef<import("@aalis/api-plugin-source").PluginSourceService>>;
|
|
187
163
|
}>;
|
|
188
164
|
export default _default;
|
|
189
165
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
|
+
import { hostConfig } from '@aalis/api-host-config';
|
|
3
|
+
import { packageManager, } from '@aalis/api-package-manager';
|
|
4
|
+
import { pluginDefinitionOf, pluginSource } from '@aalis/api-plugin-source';
|
|
2
5
|
import { createProcessGateway, processService } from '@aalis/api-process';
|
|
3
|
-
import { appService, config, definePlugin,
|
|
6
|
+
import { appService, config, definePlugin, logger, optional, pluginsService, provide, services, } from '@aalis/core';
|
|
4
7
|
import { classifyDepSpec, isRegistryDep, isUpgrade } from '@aalis/util-dep-spec';
|
|
5
8
|
// ===== 实现 =====
|
|
6
|
-
/** 短命令(
|
|
9
|
+
/** 短命令(cp、npm view 等)的超时。 */
|
|
7
10
|
const QUICK_TIMEOUT_MS = 120_000;
|
|
8
11
|
/**
|
|
9
12
|
* 安装类命令的超时。`npm install` 要装全依赖树 + 原生编译(better-sqlite3、puppeteer
|
|
@@ -11,6 +14,12 @@ const QUICK_TIMEOUT_MS = 120_000;
|
|
|
11
14
|
* 否则会在半装状态下被杀。
|
|
12
15
|
*/
|
|
13
16
|
const INSTALL_TIMEOUT_MS = 600_000;
|
|
17
|
+
/**
|
|
18
|
+
* 压掉 `legacy-peer-deps` 的环境变量。用户或项目 `.npmrc` 里的 `legacy-peer-deps=true`(React
|
|
19
|
+
* 生态常见的 workaround)会让 npm 对 peer 不满足**完全不报**,安装与更新预检的 peer 护栏就此
|
|
20
|
+
* 静默失效。环境变量优先于项目根的 `.npmrc`(install-chain 里有真 npm 用例)。
|
|
21
|
+
*/
|
|
22
|
+
const STRICT_PEERS_ENV = { npm_config_legacy_peer_deps: 'false' };
|
|
14
23
|
async function execProc(proc, cmd, args, cwd, timeout = QUICK_TIMEOUT_MS) {
|
|
15
24
|
return (await execProcBoth(proc, cmd, args, cwd, timeout)).stdout;
|
|
16
25
|
}
|
|
@@ -63,6 +72,54 @@ export function declaresPlugin(pkgJson) {
|
|
|
63
72
|
const kw = pkgJson?.keywords;
|
|
64
73
|
return Array.isArray(kw) && kw.includes('aalis-plugin');
|
|
65
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* 包类型是否归市场装卸:插件(判据同 {@link declaresPlugin})与前端界面(`aalis-interface`)
|
|
77
|
+
* 归市场管,返回 `undefined`;其余返回拒绝时展示的类别名。装与卸共用这一份判据——同一件事
|
|
78
|
+
* 维护两份同义判据,正是本仓已出事四次的形态(依赖来源判据、定级数学、包名正则、关键词分类)。
|
|
79
|
+
* 纯函数,便于单测。
|
|
80
|
+
*/
|
|
81
|
+
export function nonMarketKind(keywords) {
|
|
82
|
+
const kw = Array.isArray(keywords) ? keywords : [];
|
|
83
|
+
if (declaresPlugin({ keywords: kw }) || kw.includes('aalis-interface'))
|
|
84
|
+
return undefined;
|
|
85
|
+
if (kw.includes('aalis-core'))
|
|
86
|
+
return '内核';
|
|
87
|
+
if (kw.includes('aalis-runtime'))
|
|
88
|
+
return '宿主';
|
|
89
|
+
if (kw.includes('aalis-api'))
|
|
90
|
+
return '服务契约';
|
|
91
|
+
if (kw.includes('aalis-schema'))
|
|
92
|
+
return '数据规范';
|
|
93
|
+
if (kw.includes('aalis-util'))
|
|
94
|
+
return '工具库';
|
|
95
|
+
return '非插件包';
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* 找出「卸载 target 会断其服务依赖」的插件:target 提供的某服务 S 没有别的插件正在提供(只认 active 与
|
|
99
|
+
* activating;disabled / error / pending 的同类提供者不在提供),且有别的插件 requiredServices 含 S → 这些插件
|
|
100
|
+
* 会被打断。已禁用(disabled / disposed)的依赖者不算。纯函数,便于单测。
|
|
101
|
+
*/
|
|
102
|
+
export function findServiceDependents(targetName, status) {
|
|
103
|
+
const target = status.find(p => p.name === targetName);
|
|
104
|
+
const provided = target?.provides ?? [];
|
|
105
|
+
if (provided.length === 0)
|
|
106
|
+
return [];
|
|
107
|
+
const dependents = new Set();
|
|
108
|
+
for (const svc of provided) {
|
|
109
|
+
const otherProvider = status.some(p => p.name !== targetName && (p.state === 'active' || p.state === 'activating') && (p.provides ?? []).includes(svc));
|
|
110
|
+
if (otherProvider)
|
|
111
|
+
continue; // 还有别的提供者在提供,删了不致命
|
|
112
|
+
for (const p of status) {
|
|
113
|
+
if (p.name !== targetName &&
|
|
114
|
+
p.state !== 'disabled' &&
|
|
115
|
+
p.state !== 'disposed' &&
|
|
116
|
+
(p.requiredServices ?? []).includes(svc)) {
|
|
117
|
+
dependents.add(p.name);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return [...dependents];
|
|
122
|
+
}
|
|
66
123
|
/** 从项目 node_modules 解析已装包入口并取出定义 name;解析失败返回 undefined。 */
|
|
67
124
|
async function resolveInstalledDefinitionName(root, pkgName) {
|
|
68
125
|
try {
|
|
@@ -102,8 +159,6 @@ export function validatePackageSpec(spec) {
|
|
|
102
159
|
return `非法包名: ${JSON.stringify(spec)}`;
|
|
103
160
|
return undefined;
|
|
104
161
|
}
|
|
105
|
-
// ----- 服务描述符(按激活绑定;调用型:绑定接口是 ServiceRef)-----
|
|
106
|
-
export const packageManager = defineService('package-manager');
|
|
107
162
|
// ===== 插件入口 =====
|
|
108
163
|
const uses = {
|
|
109
164
|
proc: processService,
|
|
@@ -114,6 +169,7 @@ const uses = {
|
|
|
114
169
|
app: optional(appService),
|
|
115
170
|
plugins: optional(pluginsService),
|
|
116
171
|
hostConfig: optional(hostConfig),
|
|
172
|
+
source: optional(pluginSource),
|
|
117
173
|
};
|
|
118
174
|
function createService(caps) {
|
|
119
175
|
const log = caps.logger;
|
|
@@ -154,11 +210,16 @@ function createService(caps) {
|
|
|
154
210
|
return undefined;
|
|
155
211
|
}
|
|
156
212
|
},
|
|
157
|
-
|
|
213
|
+
// 宿主不提供插件来源(打包宿主)时视同本次没有新插件;随后仍按注册表判定,声明为插件的包会报「未被加载」
|
|
214
|
+
rescanPlugins: async () => (await caps.source.current?.rescan()) ?? [],
|
|
158
215
|
// 判据取运行时注册表而非 rescan 返回值(理由见 PackageManagerDeps.isPluginRegistered)。
|
|
159
216
|
// plugins 服务缺席时保守返回 false——宁可让「声明为插件却没加载」的诊断多报一次,
|
|
160
217
|
// 也不要在真没装上时谎报成功。
|
|
161
218
|
isPluginRegistered: name => caps.plugins.current?.getStatus().some(p => p.name === name) ?? false,
|
|
219
|
+
pluginStatus: () => caps.plugins.current?.getStatus() ?? [],
|
|
220
|
+
idle: async () => {
|
|
221
|
+
await caps.plugins.current?.idle();
|
|
222
|
+
},
|
|
162
223
|
resolveDefinitionName: pkgName => resolveInstalledDefinitionName(projectRoot(), pkgName),
|
|
163
224
|
listPluginInstanceIds: definitionName => (caps.plugins.current?.getStatus() ?? []).filter(p => p.name === definitionName).map(p => p.instanceId),
|
|
164
225
|
// 重启并交付回滚凭据。core 只透传 rollback(不解释形状),由 runtime 的重启策略
|
|
@@ -189,13 +250,15 @@ function createService(caps) {
|
|
|
189
250
|
await caps.plugins.current?.unload(name);
|
|
190
251
|
},
|
|
191
252
|
// 卸载后清残留配置:删 plugins.<name> 配置块 + 从 disabledPlugins 移除
|
|
192
|
-
// (否则重装会被"上次禁用"
|
|
253
|
+
// (否则重装会被"上次禁用"标记带成已禁用状态),并持久化。宿主没提供配置文档时无可清理。
|
|
193
254
|
cleanupConfig: name => {
|
|
194
|
-
const
|
|
195
|
-
|
|
196
|
-
|
|
255
|
+
const doc = caps.hostConfig.current;
|
|
256
|
+
if (!doc)
|
|
257
|
+
return;
|
|
258
|
+
doc.removePluginConfig(name);
|
|
259
|
+
doc.setPluginEnabled(name, true);
|
|
197
260
|
// cleanupConfig 契约返 void;落盘失败只 warn,内存态已清、下次保存会带上
|
|
198
|
-
|
|
261
|
+
doc.save().catch(err => log.warn(`${name}: 卸载后配置清理落盘失败:`, err));
|
|
199
262
|
},
|
|
200
263
|
});
|
|
201
264
|
}
|
|
@@ -301,11 +364,12 @@ export function buildUpdateSpecs(targets) {
|
|
|
301
364
|
return { specs };
|
|
302
365
|
}
|
|
303
366
|
/**
|
|
304
|
-
* 从 npm
|
|
367
|
+
* 从 npm 的失败输出里摘出冲突要点,供前端直接展示。保留根项目的声明行(`… from the root project`),看得出冲突由
|
|
368
|
+
* 哪条根依赖引起;完整报告的路径行(`…-eresolve-report.txt`)随不分大小写的 ERESOLVE 一并保留。纯函数,便于单测。
|
|
305
369
|
*/
|
|
306
370
|
export function extractPeerConflicts(output) {
|
|
307
371
|
const lines = output.split('\n');
|
|
308
|
-
const picked = lines.filter(l => /ERESOLVE|peer |Conflicting peer|Found:|Could not resolve/i.test(l));
|
|
372
|
+
const picked = lines.filter(l => /ERESOLVE|peer |Conflicting peer|Found:|Could not resolve|from the root project/i.test(l));
|
|
309
373
|
return picked.map(l => l.replace(/^npm (ERR!|error|warn)\s*/i, '').trim()).filter(l => l.length > 0);
|
|
310
374
|
}
|
|
311
375
|
/**
|
|
@@ -337,8 +401,8 @@ export function findUnmetPeers(output, targetNames) {
|
|
|
337
401
|
}
|
|
338
402
|
/**
|
|
339
403
|
* 包管理核心:install/uninstall 的纯依赖实现(不碰能力/网关,可单测)。
|
|
340
|
-
* 所有文件操作走 process 网关(子进程:npm/
|
|
341
|
-
*
|
|
404
|
+
* 所有文件操作走 process 网关(子进程:npm/cp/test),目标是项目根 package.json 与
|
|
405
|
+
* node_modules——不经 storage 沙盒。
|
|
342
406
|
* 能力组装层见 createService。
|
|
343
407
|
*/
|
|
344
408
|
export function createPackageManager(deps) {
|
|
@@ -382,6 +446,24 @@ export function createPackageManager(deps) {
|
|
|
382
446
|
inflight = null;
|
|
383
447
|
}
|
|
384
448
|
}
|
|
449
|
+
/** 安装源查询的缓存:只留成功的结果,失败时清掉,下次调用重查 */
|
|
450
|
+
let registryUrl;
|
|
451
|
+
function registry() {
|
|
452
|
+
if (!registryUrl) {
|
|
453
|
+
// 与 install / update 同一 cwd:项目根的 .npmrc 一并生效
|
|
454
|
+
registryUrl = execProc(proc, 'npm', ['config', 'get', 'registry'], deps.projectRoot()).then(out => {
|
|
455
|
+
const url = out.trim().replace(/\/+$/, '');
|
|
456
|
+
if (!/^https?:\/\/\S+$/i.test(url)) {
|
|
457
|
+
throw new Error(`npm config get registry 的输出不是 http(s) 地址: ${JSON.stringify(out.trim())}`);
|
|
458
|
+
}
|
|
459
|
+
return url;
|
|
460
|
+
});
|
|
461
|
+
registryUrl.catch(() => {
|
|
462
|
+
registryUrl = undefined;
|
|
463
|
+
});
|
|
464
|
+
}
|
|
465
|
+
return registryUrl;
|
|
466
|
+
}
|
|
385
467
|
/** 路径存在性:`test -d|-f <abs>`(不存在 → exit 1 → 抛 → false)。绝对路径,cwd 无关。 */
|
|
386
468
|
async function pathExists(absPath, kind) {
|
|
387
469
|
try {
|
|
@@ -404,7 +486,7 @@ export function createPackageManager(deps) {
|
|
|
404
486
|
return undefined;
|
|
405
487
|
}
|
|
406
488
|
}
|
|
407
|
-
/** 加载器口径的定义 name;解析不到则回退包名。name≠包名时 warn(与
|
|
489
|
+
/** 加载器口径的定义 name;解析不到则回退包名。name≠包名时 warn(与 runtime 加载包装同文案)。 */
|
|
408
490
|
async function definitionNameFor(pkgName) {
|
|
409
491
|
const resolved = await deps.resolveDefinitionName?.(pkgName);
|
|
410
492
|
const defName = typeof resolved === 'string' && resolved.length > 0 ? resolved : pkgName;
|
|
@@ -419,18 +501,48 @@ export function createPackageManager(deps) {
|
|
|
419
501
|
const ids = [...new Set(listed.filter(id => id.length > 0))];
|
|
420
502
|
return ids.length > 0 ? ids : [defName];
|
|
421
503
|
}
|
|
504
|
+
/**
|
|
505
|
+
* 装前类型闸:经 `npm view <spec> keywords --json` 读 registry 上的类型关键词(在项目根跑,
|
|
506
|
+
* 沿用项目与本机的 npm 源配置),判据与卸载同一份({@link nonMarketKind})。闸放服务层而非
|
|
507
|
+
* HTTP 路由——本服务对外公开,任何插件都能绕过路由直接调。返回拒绝理由,`undefined` = 放行。
|
|
508
|
+
*/
|
|
509
|
+
async function installKindRefusal(npmPkg, root) {
|
|
510
|
+
const out = (await execProc(proc, 'npm', ['view', npmPkg, 'keywords', '--json'], root)).trim();
|
|
511
|
+
// 包没有 keywords 字段时 npm 什么都不输出;spec 是版本范围时按版本逐个给出、返回二维数组
|
|
512
|
+
const parsed = out ? JSON.parse(out) : [];
|
|
513
|
+
const perVersion = Array.isArray(parsed) && parsed.length > 0 && parsed.every(Array.isArray) ? parsed : [parsed];
|
|
514
|
+
const kind = perVersion.map(kw => nonMarketKind(kw)).find(k => k !== undefined);
|
|
515
|
+
if (!kind)
|
|
516
|
+
return undefined;
|
|
517
|
+
return (`${npmPkg} 是${kind},不是可装卸的插件,市场不负责它的安装。` +
|
|
518
|
+
(kind === '非插件包'
|
|
519
|
+
? '市场只安装带 aalis-plugin / aalis-interface 关键词的包。'
|
|
520
|
+
: '它随脚手架或依赖它的插件自动就位;要升级已装的版本,请在市场勾选它后用「更新所选」提交。'));
|
|
521
|
+
}
|
|
422
522
|
/**
|
|
423
523
|
* 装完的统一判定:rescan 出新插件即成功;没出新插件时按目标是否**声明自己是插件**分流。
|
|
424
524
|
* 「声明了插件却没被发现」正是那条静默假成功——必须报失败,否则用户看到 ok 却什么也没装上。
|
|
425
|
-
* 就位查的是加载器解析出的定义 name,不是 npm
|
|
525
|
+
* 就位查的是加载器解析出的定义 name,不是 npm 包名。就位但主实例没有激活时仍回 ok:包确实装上、已进插件列表;
|
|
526
|
+
* message 按重算落定后的状态说明——激活失败(如缺配置,改好配置即可重试)、慢激活转入后台仍在进行、等待 required 依赖。
|
|
426
527
|
*/
|
|
427
528
|
async function settleInstall(npmPkg, installedPkgJsonPath, where) {
|
|
428
529
|
const target = stripVersion(npmPkg);
|
|
429
530
|
// rescan 只当副作用用(让加载器发现新包),**不看返回值**——判据是目标自身是否就位。
|
|
430
531
|
await deps.rescanPlugins();
|
|
431
532
|
const defName = await definitionNameFor(target);
|
|
432
|
-
if (deps.isPluginRegistered(defName))
|
|
533
|
+
if (deps.isPluginRegistered(defName)) {
|
|
534
|
+
await deps.idle?.();
|
|
535
|
+
const main = deps.pluginStatus?.().find(p => p.instanceId === defName);
|
|
536
|
+
switch (main?.state) {
|
|
537
|
+
case 'error':
|
|
538
|
+
return { ok: true, message: `已安装 ${target},但激活失败,已转为 error 态(${main.error ?? '详见日志'})` };
|
|
539
|
+
case 'activating':
|
|
540
|
+
return { ok: true, message: `已安装 ${target},仍在激活(超过慢激活阈值,已转入后台),结果以插件列表为准` };
|
|
541
|
+
case 'pending':
|
|
542
|
+
return { ok: true, message: `已安装 ${target},尚未激活,正在等待 required 依赖满足` };
|
|
543
|
+
}
|
|
433
544
|
return { ok: true, message: `已安装并加载: ${target}` };
|
|
545
|
+
}
|
|
434
546
|
const meta = await readJson(installedPkgJsonPath);
|
|
435
547
|
if (declaresPlugin(meta)) {
|
|
436
548
|
return { ok: false, message: `已装到 ${where},但它声明为插件却未被加载——请检查其 keywords 与入口导出` };
|
|
@@ -457,6 +569,9 @@ export function createPackageManager(deps) {
|
|
|
457
569
|
message: '根依赖含 workspace: 协议,拒绝在此运行 npm install(会写出 package-lock.json 并搅坏 pnpm 工作区)',
|
|
458
570
|
};
|
|
459
571
|
}
|
|
572
|
+
const refused = await installKindRefusal(npmPkg, root);
|
|
573
|
+
if (refused)
|
|
574
|
+
return { ok: false, message: refused };
|
|
460
575
|
log.info(`正在安装: ${npmPkg} → 根依赖 + node_modules`);
|
|
461
576
|
// **刻意不加 `--ignore-scripts`**:依赖树的 preinstall/install/postinstall 会照常执行。
|
|
462
577
|
// 三条理由:脚手架自身就是裸 `npm install`(其生成的 README 也教用户裸装),加了会让
|
|
@@ -464,7 +579,18 @@ export function createPackageManager(deps) {
|
|
|
464
579
|
// (better-sqlite3,脚手架默认勾选)与 plugin-tool-browser(puppeteer);而真正的增量
|
|
465
580
|
// 风险只有传递依赖的 install 脚本这一片——入口是 owner 级、包名由用户自己点选、包本体
|
|
466
581
|
// 反正会被动态 import 执行(插件与内核同进程同权限,见 docs/concepts/security-model.md §1)。
|
|
467
|
-
|
|
582
|
+
//
|
|
583
|
+
// peer 护栏与更新预检相同(STRICT_PEERS_ENV)。代价:本就靠 legacy-peer-deps 容忍既有
|
|
584
|
+
// peer 冲突的项目,市场安装会整体失败,故失败文案要点明原因。
|
|
585
|
+
try {
|
|
586
|
+
await execProcBoth(proc, 'npm', ['install', npmPkg, '--no-audit', '--no-fund'], root, INSTALL_TIMEOUT_MS, STRICT_PEERS_ENV);
|
|
587
|
+
}
|
|
588
|
+
catch (err) {
|
|
589
|
+
const raw = err instanceof Error ? err.message : String(err);
|
|
590
|
+
if (!raw.includes('ERESOLVE'))
|
|
591
|
+
throw err;
|
|
592
|
+
throw new Error(`peer 依赖冲突,未安装(市场安装不沿用 .npmrc 里的 legacy-peer-deps):${extractPeerConflicts(raw).join(';')}`);
|
|
593
|
+
}
|
|
468
594
|
const bare = stripVersion(npmPkg);
|
|
469
595
|
return settleInstall(npmPkg, `${root}/node_modules/${bare}/package.json`, 'node_modules');
|
|
470
596
|
}
|
|
@@ -482,11 +608,10 @@ export function createPackageManager(deps) {
|
|
|
482
608
|
* 配置;再用 `npm_config_legacy_peer_deps=false` 压掉用户级与全局配置(已实测:
|
|
483
609
|
* 即便副本里放了 `legacy-peer-deps=true` 的 `.npmrc`,该环境变量也能翻回来)。
|
|
484
610
|
*
|
|
485
|
-
*
|
|
486
|
-
*
|
|
487
|
-
*
|
|
488
|
-
*
|
|
489
|
-
* 要做的话先解释清楚这个矛盾,别直接 cp。
|
|
611
|
+
* 项目 `.npmrc` 目前不拷进副本。代价:私有源用户的预检会跑去公共源解析(包只在私有源上
|
|
612
|
+
* 就 404/401 → 更新被挡住且报错文不对题)。早先 `test/integration/install-chain.test.ts` 的
|
|
613
|
+
* 真实 npm 用例显示「带上 `.npmrc` 后第 2 条护栏失效」,成因是当时测试夹具的进程桩没有转发
|
|
614
|
+
* `opts.env`,并非环境变量压不过项目级 `.npmrc`(见 STRICT_PEERS_ENV)。是否拷入另议。
|
|
490
615
|
*
|
|
491
616
|
* 判据只能是解析告警文本:`--dry-run --json` 实测只给 `{added, removed, changed,
|
|
492
617
|
* audited, funding}`,无任何冲突信息;退出码在本场景恒为 0(npm 把命令行显式 spec
|
|
@@ -503,7 +628,7 @@ export function createPackageManager(deps) {
|
|
|
503
628
|
if (await pathExists(lock, 'f')) {
|
|
504
629
|
await execProc(proc, 'cp', [lock, `${tmp.path}/package-lock.json`], tmp.path);
|
|
505
630
|
}
|
|
506
|
-
const { stdout, stderr } = await execProcBoth(proc, 'npm', ['install', ...specs, '--dry-run', '--no-audit', '--no-fund'], tmp.path, INSTALL_TIMEOUT_MS,
|
|
631
|
+
const { stdout, stderr } = await execProcBoth(proc, 'npm', ['install', ...specs, '--dry-run', '--no-audit', '--no-fund'], tmp.path, INSTALL_TIMEOUT_MS, STRICT_PEERS_ENV);
|
|
507
632
|
const unmet = findUnmetPeers(`${stderr}\n${stdout}`, specs.map(stripVersion));
|
|
508
633
|
return unmet.length > 0 ? unmet : undefined;
|
|
509
634
|
}
|
|
@@ -683,9 +808,11 @@ export function createPackageManager(deps) {
|
|
|
683
808
|
}
|
|
684
809
|
}),
|
|
685
810
|
uninstall: pluginName => exclusive(`卸载 ${pluginName}`, () => uninstallOne(pluginName)),
|
|
811
|
+
serviceDependents: name => findServiceDependents(name, deps.pluginStatus?.() ?? []),
|
|
812
|
+
registry,
|
|
686
813
|
};
|
|
687
814
|
/**
|
|
688
|
-
*
|
|
815
|
+
* 卸载:服务层各道闸 + npm uninstall。
|
|
689
816
|
*
|
|
690
817
|
* 闸放服务层而非 HTTP 路由——本服务对外公开,任何插件都能绕过路由直接调
|
|
691
818
|
* (与 `buildUpdateSpecs`、`isRegistryDep` 同一理由)。前端早就有正确策略
|
|
@@ -706,27 +833,13 @@ export function createPackageManager(deps) {
|
|
|
706
833
|
// 「**这个操作会把你用来撤销它的那条通道一起销毁**」:卸掉插件,实例照常跑、市场里点
|
|
707
834
|
// 一下就能装回来(带内可恢复);卸掉内核或宿主,实例起不来、市场随之消失,只能开
|
|
708
835
|
// shell 修(带外)。更新不在此列——它保留实例且失败会自动回滚。
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
const isPlugin = declaresPlugin(meta);
|
|
713
|
-
const isInterface = kw.includes('aalis-interface');
|
|
714
|
-
if (!isPlugin && !isInterface) {
|
|
715
|
-
const kind = kw.includes('aalis-core')
|
|
716
|
-
? '内核'
|
|
717
|
-
: kw.includes('aalis-runtime')
|
|
718
|
-
? '宿主'
|
|
719
|
-
: kw.includes('aalis-api')
|
|
720
|
-
? '服务契约'
|
|
721
|
-
: kw.includes('aalis-schema')
|
|
722
|
-
? '数据规范'
|
|
723
|
-
: kw.includes('aalis-util')
|
|
724
|
-
? '工具库'
|
|
725
|
-
: '非插件包';
|
|
836
|
+
// 判据与安装同一份(nonMarketKind)。
|
|
837
|
+
const kind = nonMarketKind(meta.keywords);
|
|
838
|
+
if (kind) {
|
|
726
839
|
return {
|
|
727
840
|
ok: false,
|
|
728
841
|
message: `${pluginName} 是${kind},不是可装卸的插件,市场不负责它的卸载。` +
|
|
729
|
-
(
|
|
842
|
+
(kind === '内核' || kind === '宿主'
|
|
730
843
|
? '删掉它实例将无法启动、市场也随之消失,只能在终端里恢复;确需如此请手动执行 npm uninstall。'
|
|
731
844
|
: '它随依赖它的插件被 npm 自动剪枝;确需单独删除请手动执行 npm uninstall。'),
|
|
732
845
|
};
|
|
@@ -770,6 +883,16 @@ export function createPackageManager(deps) {
|
|
|
770
883
|
// 先解析定义 name 并枚举实例:npm uninstall 会拆掉 node_modules,之后就读不到入口了。
|
|
771
884
|
const defName = await definitionNameFor(pluginName);
|
|
772
885
|
const instanceIds = instanceIdsFor(defName);
|
|
886
|
+
// ── 闸三:服务依赖者 ──
|
|
887
|
+
// 某服务没有别的插件正在提供时,卸掉它的提供者会打断 required 该服务的插件(已禁用的不算)。
|
|
888
|
+
// 与市场卸载前的预警同一份判定(serviceDependents),按加载器解析出的定义 name 查。
|
|
889
|
+
const dependents = findServiceDependents(defName, deps.pluginStatus?.() ?? []);
|
|
890
|
+
if (dependents.length > 0) {
|
|
891
|
+
return {
|
|
892
|
+
ok: false,
|
|
893
|
+
message: `卸载会破坏依赖:${dependents.join('、')} 依赖此插件提供的服务,且没有别的插件正在提供。请先停用它们,或启用 / 安装替代提供者。`,
|
|
894
|
+
};
|
|
895
|
+
}
|
|
773
896
|
try {
|
|
774
897
|
await execProc(proc, 'npm', ['uninstall', pluginName, '--no-audit', '--no-fund'], root, INSTALL_TIMEOUT_MS);
|
|
775
898
|
for (const id of instanceIds) {
|
|
@@ -777,7 +900,10 @@ export function createPackageManager(deps) {
|
|
|
777
900
|
deps.cleanupConfig?.(id); // 清残留配置(含禁用标记)
|
|
778
901
|
}
|
|
779
902
|
log.info(`${pluginName}: 已从根依赖与 node_modules 移除`);
|
|
780
|
-
return {
|
|
903
|
+
return {
|
|
904
|
+
ok: true,
|
|
905
|
+
message: `插件 ${pluginName} 已卸载(已从根依赖与 node_modules 移除)。它写入 data/ 等存储根的数据不会删除,需要时请手动清理。`,
|
|
906
|
+
};
|
|
781
907
|
}
|
|
782
908
|
catch (err) {
|
|
783
909
|
return { ok: false, message: err instanceof Error ? err.message : String(err) };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAwC,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAEL,UAAU,EAEV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,UAAU,EACV,MAAM,EACN,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,QAAQ,GACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAkDjF,iBAAiB;AAEjB,0CAA0C;AAC1C,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACjC;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAEnC,KAAK,UAAU,QAAQ,CACrB,IAAoB,EACpB,GAAW,EACX,IAAc,EACd,GAAW,EACX,UAAkB,gBAAgB;IAElC,OAAO,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACpE,CAAC;AAED,qEAAqE;AACrE,KAAK,UAAU,YAAY,CACzB,IAAoB,EACpB,GAAW,EACX,IAAc,EACd,GAAW,EACX,UAAkB,gBAAgB,EAClC,QAAiC;IAEjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAe,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE;YACxD,GAAG;YACH,OAAO;YACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;IAChE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,GAAsC,CAAC;QAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA4C;IAC/E,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,CAAC,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,CAAC,EAAE,CAAC;QAChF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAgC,CAAC,EAAE,CAAC;YAChE,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,OAAO,IAAI,CAAC;QACvE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,OAA4C;IACzE,MAAM,EAAE,GAAG,OAAO,EAAE,QAAQ,CAAC;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC1D,CAAC;AAED,2DAA2D;AAC3D,KAAK,UAAU,8BAA8B,CAAC,IAAY,EAAE,OAAe;IACzE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,EAAE,GAAY,MAAM,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,kBAAkB,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG,4EAA4E,CAAC;AAEjG;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAa;IAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IACvE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IACpE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+CAA+C;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAwB,iBAAiB,CAAC,CAAC;AAEtF,mBAAmB;AAEnB,MAAM,IAAI,GAAG;IACX,IAAI,EAAE,cAAc;IACpB,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC;IACzB,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC;IACjC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;CACjC,CAAC;AAGF,SAAS,aAAa,CAAC,IAAU;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACxB,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7C,SAAS,MAAM;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,0CAA0C;IAC1C,SAAS,iBAAiB,CAAC,GAAkB,EAAE,QAAgB;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;QACrG,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,WAAW;QAClB,OAAO,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,oBAAoB,CAAC;QAC1B,IAAI;QACJ,GAAG;QACH,2EAA2E;QAC3E,+CAA+C;QAC/C,4BAA4B;QAC5B,wDAAwD;QACxD,WAAW;QACX,mEAAmE;QACnE,6EAA6E;QAC7E,2DAA2D;QAC3D,QAAQ,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;YACxB,IAAI,CAAC;gBACH,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;YACxE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE;QAC7C,qEAAqE;QACrE,kDAAkD;QAClD,iBAAiB;QACjB,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK;QACjG,qBAAqB,EAAE,OAAO,CAAC,EAAE,CAAC,8BAA8B,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC;QACxF,qBAAqB,EAAE,cAAc,CAAC,EAAE,CACtC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QACzG,qDAAqD;QACrD,6CAA6C;QAC7C,EAAE;QACF,qEAAqE;QACrE,0CAA0C;QAC1C,6DAA6D;QAC7D,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtD,gDAAgD;QAChD,gCAAgC;QAChC,8CAA8C;QAC9C,2DAA2D;QAC3D,8CAA8C;QAC9C,qCAAqC;QACrC,sEAAsE;QACtE,2EAA2E;QAC3E,oDAAoD;QACpD,0DAA0D;QAC1D,sBAAsB;QACtB,wBAAwB,EAAE,GAAG,EAAE,CAAC;YAC9B,GAAG,IAAI,GAAG,CACR,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACtE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;gBACxD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,CAAC,CAAC,CACH;SACF;QAED,YAAY,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACzB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,uDAAuD;QACvD,gCAAgC;QAChC,aAAa,EAAE,IAAI,CAAC,EAAE;YACpB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC1C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,kDAAkD;YAClD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;QACtF,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAoDD,0DAA0D;AAC1D,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,qDAAqD,CAAC;AAC/E,mCAAmC;AACnC,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAE9C;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,iBAAiB,CAC9B,IAA0C,EAC1C,IAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,kCAAkC,CAAC,CAAC;IAC5E,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyD,CAAC;QACxF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;gBAAE,SAAS;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAAE,SAAS,CAAC,eAAe;YAC9D,IAAI,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ;gBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACjF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACpF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,UAAU,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAC7F,wCAAwC;QACxC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,cAAc,IAAI,EAAE,EAAE,CAAC;QAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;QAClC,yDAAyD;QACzD,mEAAmE;QACnE,+BAA+B;QAC/B,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAuB;QAC7D,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;YAC7B,OAAO,EAAE,KAAK,EAAE,iBAAiB,gBAAgB,WAAW,EAAE,CAAC;QACjE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,2DAA2D,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvG,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,WAA8B;IAC3E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACnC,wCAAwC;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,MAAM,CAAC,GAAG,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAwB;IAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE3B;;;;;;;;;;;OAWG;IACH,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC;;;;;OAKG;IACH,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB;;;;;OAKG;IACH,KAAK,UAAU,SAAS,CACtB,IAAY,EACZ,GAAqB;QAErB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,QAAQ,SAAS,EAAO,CAAC;QACvE,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC;YACH,OAAO,MAAM,GAAG,EAAE,CAAC;QACrB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ;gBAAE,QAAQ,GAAG,IAAI,CAAC;QACjC,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,IAAe;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5F,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,KAAK,UAAU,QAAQ,CAAC,OAAe;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACzC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,kFAAkF;IAClF,KAAK,UAAU,iBAAiB,CAAC,OAAe;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;QACzF,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CACb,QAAQ,OAAO,iBAAiB,OAAO,kCAAkC,CAC1E,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iDAAiD;IACjD,SAAS,cAAc,CAAC,OAAe;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,KAAK,UAAU,aAAa,CAC1B,MAAc,EACd,oBAA4B,EAC5B,KAAa;QAEb,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,kDAAkD;QAClD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,MAAM,EAAE,EAAE,CAAC;QACxF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAClD,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,oCAAoC,EAAE,CAAC;QAClF,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,MAAM,gBAAgB,EAAE,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,UAAU,SAAS,CAAC,MAAc;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;QACvD,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,2EAA2E;aACrF,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,uBAAuB,CAAC,CAAC;QACjD,yEAAyE;QACzE,uDAAuD;QACvD,iDAAiD;QACjD,kEAAkE;QAClE,qDAAqD;QACrD,sEAAsE;QACtE,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACtG,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,aAAa,CAAC,MAAM,EAAE,GAAG,IAAI,iBAAiB,IAAI,eAAe,EAAE,cAAc,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,UAAU,kBAAkB,CAAC,KAAe,EAAE,IAAY;QAC7D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,+CAA+C;YAC/C,6BAA6B;YAC7B,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,eAAe,EAAE,GAAG,GAAG,CAAC,IAAI,eAAe,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3F,MAAM,IAAI,GAAG,GAAG,IAAI,oBAAoB,CAAC;YACzC,IAAI,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,oBAAoB,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAChF,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAC3C,IAAI,EACJ,KAAK,EACL,CAAC,SAAS,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,EAC7D,GAAG,CAAC,IAAI,EACR,kBAAkB,EAClB,EAAE,2BAA2B,EAAE,OAAO,EAAE,CACzC,CAAC;YACF,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,MAAM,KAAK,MAAM,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;YAC9E,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,yCAAyC;YACzC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC5C,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACjE,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,UAAU,SAAS,CAAC,OAAuB;QAC9C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAE1E,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,2CAA2C;QAC3C,6DAA6D;QAC7D,8CAA8C;QAC9C,MAAM,WAAW,GAAG,GAAG,IAAI,eAAe,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,WAAW,EAAE,EAAE,CAAC;QAClG,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;QACzE,CAAC;QACD,gDAAgD;QAChD,6CAA6C;QAC7C,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAA2B,CAAC;QACjF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EACL,kDAAkD;oBAClD,gBAAgB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;aAC5D,CAAC;QACJ,CAAC;QAED,sBAAsB;QACtB,sDAAsD;QACtD,qCAAqC;QACrC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC;YAChF,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS;YACjC,IAAI,CAAC;gBACH,MAAM,CAAC,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAA2B,CAAC,OAAO,CAAC;gBAC9D,IAAI,OAAO,CAAC,KAAK,QAAQ;oBAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;QACH,CAAC;QAED,aAAa;QACb,2CAA2C;QAC3C,6DAA6D;QAC7D,+DAA+D;QAC/D,mCAAmC;QACnC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7F,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EACL,yCAAyC;oBACzC,UAAU;yBACP,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC;yBACpF,IAAI,CAAC,GAAG,CAAC;aACf,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,8DAA8D;QAC9D,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,CAAC,SAAmB,EAAgB,EAAE,CAAC,CAAC;YACrD,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,6CAA6C;YACtD,SAAS;SACV,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,OAAO;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;QAEpC,oBAAoB;QACpB,sDAAsD;QACtD,MAAM,OAAO,GAAsE;YACjF,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;SAC5C,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,IAAI,oBAAoB,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,kDAAkD;YAClD,6DAA6D;YAC7D,8BAA8B;YAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,gDAAgD;QAChD,qDAAqD;QACrD,yDAAyD;QACzD,mDAAmD;QACnD,EAAE;QACF,wDAAwD;QACxD,wEAAwE;QACxE,6DAA6D;QAC7D,iDAAiD;QACjD,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEvD,WAAW;QACX,iDAAiD;QACjD,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAC1G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,GAAG,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;YAChC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,OAAO,EAAE,EAAE,CAAC;QAC/D,CAAC;QAED,aAAa;QACb,8CAA8C;QAC9C,4CAA4C;QAC5C,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,kDAAkD;QAClD,QAAQ,GAAG,IAAI,CAAC;QAChB,2CAA2C;QAC3C,gEAAgE;QAChE,wDAAwD;QACxD,2CAA2C;QAC3C,iEAAiE;QACjE,qDAAqD;QACrD,mBAAmB;QACnB,MAAM,MAAM,GAAG,OAAO;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE;YACP,MAAM,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QACxD,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAC/C,kDAAkD;QAClD,uDAAuD;QACvD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,UAAU,CAAC;YACd,MAAM,EAAE,sBAAsB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC/C,OAAO;YACP,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE;SAC7G,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACjF,CAAC;IAED,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEhF,OAAO,EAAE,MAAM,CAAC,EAAE,CAChB,SAAS,CAAC,MAAM,MAAM,EAAE,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,GAAG;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,GAAG,CAAC,KAAK,CAAC,OAAO,MAAM,SAAS,OAAO,EAAE,CAAC,CAAC;gBAC3C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;QAEJ,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;KACvF,CAAC;IAEF;;;;;;OAMG;IACH,KAAK,UAAU,YAAY,CAAC,UAAkB;QAC5C,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,GAAG;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAE5C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,IAAI,iBAAiB,UAAU,eAAe,CAAC,CAAC;QAC/E,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,UAAU,gCAAgC,EAAE,CAAC;QACnF,CAAC;QAED,cAAc;QACd,kEAAkE;QAClE,sDAAsD;QACtD,8CAA8C;QAC9C,0CAA0C;QAC1C,qCAAqC;QACrC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,QAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,mEAAmE;QACnE,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACpC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;oBAC5B,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;wBACxB,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;4BAC3B,CAAC,CAAC,MAAM;4BACR,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;gCACzB,CAAC,CAAC,KAAK;gCACP,CAAC,CAAC,MAAM,CAAC;YACnB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EACL,GAAG,UAAU,KAAK,IAAI,sBAAsB;oBAC5C,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;wBACxD,CAAC,CAAC,sDAAsD;wBACxD,CAAC,CAAC,+CAA+C,CAAC;aACvD,CAAC;QACJ,CAAC;QAED,iCAAiC;QACjC,EAAE;QACF,2CAA2C;QAC3C,0DAA0D;QAC1D,4DAA4D;QAC5D,EAAE;QACF,4CAA4C;QAC5C,iDAAiD;QACjD,kDAAkD;QAClD,EAAE;QACF,4CAA4C;QAC5C,oBAAoB;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,CAAC;QACzD,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EACL,GAAG,UAAU,+BAA+B;oBAC5C,6CAA6C;aAChD,CAAC;QACJ,CAAC;QAED,cAAc;QACd,uDAAuD;QACvD,4DAA4D;QAC5D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;QACvD,MAAM,OAAO,GAAI,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAA4B,CAAC,UAAU,CAAC,CAAC;QACtF,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,GAAG,GAA2B;gBAClC,SAAS,EAAE,uBAAuB;gBAClC,IAAI,EAAE,qCAAqC;gBAC3C,GAAG,EAAE,oCAAoC;gBACzC,KAAK,EAAE,2BAA2B;gBAClC,UAAU,EAAE,qCAAqC;aAClD,CAAC;YACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,aAAa,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;QACpF,CAAC;QAED,6DAA6D;QAC7D,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAC5G,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,mCAAmC;gBAChE,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;YAC3C,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,0BAA0B,CAAC,CAAC;YAClD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,8BAA8B,EAAE,CAAC;QAC/E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAClF,CAAC;IACH,CAAC;AACH,CAAC;AAED,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE,+BAA+B;IACrC,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,CAAC,cAAc,CAAC;IAC1B,IAAI;IACJ,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAClF,CAAC;CACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-package-manager",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"url": "https://github.com/AalisLabs/Aalis/issues"
|
|
13
13
|
},
|
|
14
14
|
"homepage": "https://github.com/AalisLabs/Aalis#readme",
|
|
15
|
-
"description": "插件包管理:从 npm
|
|
15
|
+
"description": "插件包管理:从 npm 安装/卸载/更新到项目根 dependencies",
|
|
16
16
|
"type": "module",
|
|
17
17
|
"keywords": [
|
|
18
18
|
"aalis",
|
|
@@ -24,16 +24,19 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aalis/api-process": ">=0.
|
|
28
|
-
"@aalis/util-dep-spec": ">=0.1.
|
|
27
|
+
"@aalis/api-process": ">=0.8.0 <1.0.0",
|
|
28
|
+
"@aalis/util-dep-spec": ">=0.1.1 <1.0.0",
|
|
29
|
+
"@aalis/api-plugin-source": ">=0.1.0 <1.0.0",
|
|
30
|
+
"@aalis/api-host-config": ">=0.1.0 <1.0.0",
|
|
31
|
+
"@aalis/api-package-manager": ">=0.1.0 <1.0.0"
|
|
29
32
|
},
|
|
30
33
|
"devDependencies": {
|
|
31
34
|
"@types/node": "^22.0.0",
|
|
32
35
|
"typescript": "^5.7.0",
|
|
33
|
-
"@aalis/core": "0.
|
|
36
|
+
"@aalis/core": "0.19.0"
|
|
34
37
|
},
|
|
35
38
|
"peerDependencies": {
|
|
36
|
-
"@aalis/core": ">=0.
|
|
39
|
+
"@aalis/core": ">=0.18.0 <1.0.0"
|
|
37
40
|
},
|
|
38
41
|
"aalis": {
|
|
39
42
|
"service": {
|
|
@@ -47,7 +50,8 @@
|
|
|
47
50
|
"optional": [
|
|
48
51
|
"app",
|
|
49
52
|
"plugins",
|
|
50
|
-
"host-config"
|
|
53
|
+
"host-config",
|
|
54
|
+
"plugin-source"
|
|
51
55
|
],
|
|
52
56
|
"provides": [
|
|
53
57
|
"package-manager"
|