@aalis/runtime 0.12.4 → 0.13.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 ADDED
@@ -0,0 +1,25 @@
1
+ # @aalis/runtime
2
+
3
+ Aalis 独立部署运行时:node_modules 插件加载 + YAML 配置 + 一行启动 startAalis
4
+
5
+ ## 安装
6
+
7
+ ```bash
8
+ pnpm add @aalis/runtime
9
+ ```
10
+
11
+ ## 提供 / 依赖
12
+
13
+ 宿主组装件,不是插件,无 `provides` / `uses`。主要导出:`startAalis`、`createNodeModulesPluginLoader`、`createFsPluginLoader`、`createFsYamlConfigProvider`、`createProcessRespawnStrategy`。peer:`@aalis/core`(`>=0.17.0 <1.0.0`)。
14
+
15
+ ```ts
16
+ import { startAalis } from '@aalis/runtime';
17
+ ```
18
+
19
+ ## 文档
20
+
21
+ 详见 [docs/architecture/runtime.md](../../docs/architecture/runtime.md)。
22
+
23
+ ## 许可
24
+
25
+ 见仓库根目录 LICENSE。
@@ -1,4 +1,5 @@
1
- import { type LogEntry, LogHub } from '@aalis/core';
1
+ import { LogHub } from '@aalis/core';
2
+ import type { LogEntry } from '@aalis/schema-log';
2
3
  /**
3
4
  * 启动期 bootstrap buffer:在任何 sink(file/console)装好之前订阅 LogHub,
4
5
  * 把启动期产生的所有 LogEntry 暂存。等所有 sink 装好后调用 `dispose()`
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-buffer.d.ts","sourceRoot":"","sources":["../src/bootstrap-buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;;;;;;;;;;;GAcG;AACH,UAAU,eAAe;IACvB,+BAA+B;IAC/B,QAAQ,IAAI,QAAQ,EAAE,CAAC;IACvB,wBAAwB;IACxB,OAAO,IAAI,IAAI,CAAC;CACjB;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAuB,GAAG,eAAe,CAuBpF;AAED,0DAA0D;AAC1D,wBAAgB,kBAAkB,IAAI,eAAe,CAGpD;AAED,qCAAqC;AACrC,wBAAgB,8BAA8B,IAAI,IAAI,CAGrD"}
1
+ {"version":3,"file":"bootstrap-buffer.d.ts","sourceRoot":"","sources":["../src/bootstrap-buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;;;;;;;;;;;;GAcG;AACH,UAAU,eAAe;IACvB,+BAA+B;IAC/B,QAAQ,IAAI,QAAQ,EAAE,CAAC;IACvB,wBAAwB;IACxB,OAAO,IAAI,IAAI,CAAC;CACjB;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAuB,GAAG,eAAe,CAuBpF;AAED,0DAA0D;AAC1D,wBAAgB,kBAAkB,IAAI,eAAe,CAGpD;AAED,qCAAqC;AACrC,wBAAgB,8BAA8B,IAAI,IAAI,CAGrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-buffer.js","sourceRoot":"","sources":["../src/bootstrap-buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,aAAa,CAAC;AAwBpD,IAAI,SAAS,GAA2B,IAAI,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc,MAAM,CAAC,OAAO;IACjE,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhC,IAAI,OAAO,GAAe,EAAE,CAAC;IAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAoB;QAC9B,QAAQ;YACN,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QACD,OAAO;YACL,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,EAAE,CAAC;QACR,CAAC;KACF,CAAC;IAEF,SAAS,GAAG,MAAM,CAAC;IACnB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,kBAAkB;IAChC,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,8BAA8B;IAC5C,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,GAAG,IAAI,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"bootstrap-buffer.js","sourceRoot":"","sources":["../src/bootstrap-buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAyBrC,IAAI,SAAS,GAA2B,IAAI,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc,MAAM,CAAC,OAAO;IACjE,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhC,IAAI,OAAO,GAAe,EAAE,CAAC;IAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAoB;QAC9B,QAAQ;YACN,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QACD,OAAO;YACL,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,EAAE,CAAC;QACR,CAAC;KACF,CAAC;IAEF,SAAS,GAAG,MAAM,CAAC;IACnB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,kBAAkB;IAChC,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,8BAA8B;IAC5C,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,GAAG,IAAI,CAAC;AACnB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { App } from '@aalis/core';
1
+ import { type App, type PluginDefinition, type PluginLoader } from '@aalis/core';
2
2
  export interface ConfigSyncOptions {
3
3
  /**
4
4
  * 是否按 configSchema 裁剪未知字段(默认 `true`)。
@@ -12,13 +12,26 @@ export interface ConfigSyncOptions {
12
12
  * 移除多余字段。返回发生变更的插件 instanceId 列表。
13
13
  *
14
14
  * 副作用:对每个变化条目 setPluginConfig;若有变化最终调用 save()。
15
- * 插件的 configSchema 经 `getPlugin(instanceId).module` 读取
15
+ * 插件的 configSchema 经 `getPlugin(instanceId).definition` 读取
16
16
  * (core 的状态摘要不携带配置详情)。
17
17
  */
18
18
  export declare function syncPluginDefaults(app: App, opts?: ConfigSyncOptions): string[];
19
+ /**
20
+ * 宿主加载政策:导入定义后、交给 Core 注册前规范化主实例与已配置的复用实例。
21
+ * 首次加载批次只落盘一次;随后市场 rescan 的 load/reload 也走同一政策。
22
+ * getApp 延迟取值,因为加载器在 App 构造时注入,而 load 在构造完成后才执行。
23
+ */
24
+ export declare function withPluginConfigSync(loader: PluginLoader, getApp: () => App, opts?: ConfigSyncOptions): {
25
+ loader: {
26
+ reload?: ((descriptor: import("@aalis/core").PluginDescriptor) => Promise<PluginDefinition<{}> | null>) | undefined;
27
+ discover: () => Promise<import("@aalis/core").PluginDescriptor[]>;
28
+ load: (descriptor: import("@aalis/core").PluginDescriptor) => Promise<PluginDefinition<{}> | null>;
29
+ };
30
+ finishInitialLoad(): void;
31
+ };
19
32
  /**
20
33
  * 配置外部变更时的处理:先按启动路径同一政策同步,再重新计算各插件配置
21
- * 并热重载差异(updatePluginConfig → bounce)。
34
+ * 并热重载差异(updateConfig → bounce)。
22
35
  */
23
36
  export declare function handleConfigChanged(app: App, opts?: ConfigSyncOptions): Promise<void>;
24
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config-sync.d.ts","sourceRoot":"","sources":["../src/config-sync.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAyC/E;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B3F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAE/E"}
1
+ {"version":3,"file":"config-sync.d.ts","sourceRoot":"","sources":["../src/config-sync.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAmB,MAAM,aAAa,CAAC;AAGlG,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAS/E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE,IAAI,CAAC,EAAE,iBAAiB;;;;;;;EAoCrG;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB3F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAE/E"}
@@ -5,60 +5,83 @@
5
5
  // - handleConfigChanged / installConfigHotReload:配置外部变更的 diff + bounce 编排
6
6
  //
7
7
  // 这些是**政策**(要不要裁剪、怎么合并、何时 bounce),core 只持有机制
8
- // (配置快照 get/set、watch 透传、updatePluginConfig)。不接本模块的嵌入式
8
+ // (配置快照 get/set、watch 透传、updateConfig)。不接本模块的嵌入式
9
9
  // 宿主将没有自动配置同步与热重载——需要时用公开 API 自行编排。
10
10
  // ============================================================
11
- import { defaultsFrom, validateConfig } from '@aalis/schema-config';
11
+ import { parseInstanceId } from '@aalis/core';
12
+ import { defaultsFrom, removeExtraFields, validateConfig } from '@aalis/schema-config';
12
13
  /**
13
14
  * 将各插件 schema 派生默认值中缺失的字段合并到配置;同时按 configSchema
14
15
  * 移除多余字段。返回发生变更的插件 instanceId 列表。
15
16
  *
16
17
  * 副作用:对每个变化条目 setPluginConfig;若有变化最终调用 save()。
17
- * 插件的 configSchema 经 `getPlugin(instanceId).module` 读取
18
+ * 插件的 configSchema 经 `getPlugin(instanceId).definition` 读取
18
19
  * (core 的状态摘要不携带配置详情)。
19
20
  */
20
21
  export function syncPluginDefaults(app, opts) {
21
- const trim = opts?.trimUnknownFields ?? true;
22
- const config = app.ctx.config;
23
22
  const changed = [];
24
23
  for (const status of app.plugins.getStatus()) {
25
24
  const entry = app.plugins.getPlugin(status.instanceId);
26
25
  if (!entry)
27
26
  continue;
28
- const schema = entry.module.configSchema;
29
- const defaults = defaultsFrom(schema);
30
- const fileConfig = config.getPluginConfig(status.instanceId);
31
- let merged = deepMergeDefaults(defaults, fileConfig);
32
- if (trim && schema && Object.keys(schema).length > 0) {
33
- const removed = [];
34
- merged = removeExtraFields(merged, schema, removed);
35
- if (removed.length > 0) {
36
- app.logger.warn(`配置同步:${status.instanceId} 裁掉 schema 外字段 [${removed.join(', ')}]`);
37
- }
38
- }
39
- // 结构校验只告警不拒载:存量脏值不该打死在跑的实例,但必须出声——
40
- // 静默的坏配置曾让压缩机制无声死亡一天半(summaryLLM 旧格式 ref)。
41
- // 禁用插件跳过:其配置是休眠数据,"必填缺失"等问题在启用后自然浮现。
42
- if (status.state !== 'disabled') {
43
- const problems = validateConfig(schema, merged);
44
- if (problems.length > 0) {
45
- app.logger.warn(`配置校验:${status.instanceId} 有 ${problems.length} 处问题(仅告警,不影响加载):` +
46
- problems.map(p => `${p.path}: ${p.message}`).join(';'));
47
- }
48
- }
49
- if (JSON.stringify(merged) !== JSON.stringify(fileConfig)) {
50
- config.setPluginConfig(status.instanceId, merged);
27
+ if (syncPluginConfig(app, entry.definition, status.instanceId, opts))
51
28
  changed.push(status.instanceId);
52
- }
53
29
  }
54
- // 尽力而为:同步失败不该拦住启动/热重载;同步 provider 的抛错仍同步冒出,这里只接异步拒绝。
55
30
  if (changed.length > 0)
56
- config.save().catch(err => app.logger.warn('配置同步落盘失败:', err));
31
+ saveSyncedConfig(app);
57
32
  return changed;
58
33
  }
34
+ /**
35
+ * 宿主加载政策:导入定义后、交给 Core 注册前规范化主实例与已配置的复用实例。
36
+ * 首次加载批次只落盘一次;随后市场 rescan 的 load/reload 也走同一政策。
37
+ * getApp 延迟取值,因为加载器在 App 构造时注入,而 load 在构造完成后才执行。
38
+ */
39
+ export function withPluginConfigSync(loader, getApp, opts) {
40
+ let initialLoad = true;
41
+ let initialChanged = false;
42
+ const prepare = async (loaded) => {
43
+ const definition = await loaded;
44
+ if (!definition)
45
+ return null;
46
+ const app = getApp();
47
+ const ids = [definition.name];
48
+ if (definition.reusable) {
49
+ for (const id of Object.keys(app.config.get('plugins'))) {
50
+ const { moduleName, suffix } = parseInstanceId(id);
51
+ if (suffix && moduleName === definition.name)
52
+ ids.push(id);
53
+ }
54
+ }
55
+ let changed = false;
56
+ for (const id of ids) {
57
+ if (!syncPluginConfig(app, definition, id, opts))
58
+ continue;
59
+ app.logger.debug(`同步插件配置: ${id}`);
60
+ changed = true;
61
+ }
62
+ if (initialLoad)
63
+ initialChanged ||= changed;
64
+ else if (changed)
65
+ saveSyncedConfig(app);
66
+ return definition;
67
+ };
68
+ return {
69
+ loader: {
70
+ discover: () => loader.discover(),
71
+ load: descriptor => prepare(loader.load(descriptor)),
72
+ ...(loader.reload ? { reload: descriptor => prepare(loader.reload(descriptor)) } : {}),
73
+ },
74
+ finishInitialLoad() {
75
+ initialLoad = false;
76
+ if (initialChanged)
77
+ saveSyncedConfig(getApp());
78
+ initialChanged = false;
79
+ },
80
+ };
81
+ }
59
82
  /**
60
83
  * 配置外部变更时的处理:先按启动路径同一政策同步,再重新计算各插件配置
61
- * 并热重载差异(updatePluginConfig → bounce)。
84
+ * 并热重载差异(updateConfig → bounce)。
62
85
  */
63
86
  export async function handleConfigChanged(app, opts) {
64
87
  app.logger.info('检测到配置变更,正在热重载...');
@@ -68,23 +91,17 @@ export async function handleConfigChanged(app, opts) {
68
91
  const synced = syncPluginDefaults(app, opts);
69
92
  for (const id of synced)
70
93
  app.logger.debug(`热重载配置同步: ${id}`);
71
- let changed = false;
94
+ // 每次 updateConfig 收尾的重算都会发 plugins:changed,这里不必再补发
72
95
  for (const status of app.plugins.getStatus()) {
73
96
  const entry = app.plugins.getPlugin(status.instanceId);
74
97
  if (!entry)
75
98
  continue;
76
- const defaults = defaultsFrom(entry.module.configSchema);
77
- const fileConfig = app.ctx.config.getPluginConfig(status.instanceId);
78
- const newConfig = { ...defaults, ...fileConfig };
99
+ const newConfig = app.config.getPluginConfig(status.instanceId);
79
100
  if (JSON.stringify(newConfig) !== JSON.stringify(entry.config)) {
80
101
  app.logger.info(`插件 ${status.instanceId} 配置已变更,正在重新加载...`);
81
- await app.plugins.updatePluginConfig(status.instanceId, newConfig);
82
- changed = true;
102
+ await app.plugins.updateConfig(status.instanceId, newConfig);
83
103
  }
84
104
  }
85
- if (changed) {
86
- await app.ctx.emit('plugins:changed');
87
- }
88
105
  app.logger.info('配置热重载完成');
89
106
  }
90
107
  catch (e) {
@@ -96,9 +113,35 @@ export async function handleConfigChanged(app, opts) {
96
113
  * startAalis 默认调用;嵌入式宿主可自行选择是否接。
97
114
  */
98
115
  export function installConfigHotReload(app, opts) {
99
- app.ctx.config.watch(() => void handleConfigChanged(app, opts));
116
+ app.config.watch(() => void handleConfigChanged(app, opts));
100
117
  }
101
118
  // ---- helpers ----
119
+ function syncPluginConfig(app, definition, id, opts) {
120
+ const schema = definition.configSchema;
121
+ const fileConfig = app.config.getPluginConfig(id);
122
+ let merged = deepMergeDefaults(defaultsFrom(schema), fileConfig);
123
+ if ((opts?.trimUnknownFields ?? true) && schema && Object.keys(schema).length > 0) {
124
+ const removed = [];
125
+ merged = removeExtraFields(merged, schema, removed);
126
+ if (removed.length > 0)
127
+ app.logger.warn(`配置同步:${id} 裁掉 schema 外字段 [${removed.join(', ')}]`);
128
+ }
129
+ // 脏值只告警不拒载;禁用实例的休眠配置不产生必填缺失噪音。
130
+ if (!app.config.isPluginDisabled(id)) {
131
+ const problems = validateConfig(schema, merged);
132
+ if (problems.length > 0) {
133
+ app.logger.warn(`配置校验:${id} 有 ${problems.length} 处问题(仅告警,不影响加载):` +
134
+ problems.map(p => `${p.path}: ${p.message}`).join(';'));
135
+ }
136
+ }
137
+ if (JSON.stringify(merged) === JSON.stringify(fileConfig))
138
+ return false;
139
+ app.config.setPluginConfig(id, merged);
140
+ return true;
141
+ }
142
+ function saveSyncedConfig(app) {
143
+ app.config.save().catch(err => app.logger.warn('配置同步落盘失败:', err));
144
+ }
102
145
  /**
103
146
  * 深度合并默认值:只填充缺失的键,不覆盖已有值。
104
147
  * 嵌套对象会递归合并;数组与基础类型按"已存在则保留"处理。
@@ -120,35 +163,4 @@ function deepMergeDefaults(defaults, current) {
120
163
  }
121
164
  return result;
122
165
  }
123
- /**
124
- * 移除多余字段。configSchema 是插件配置的**唯一声明来源**(默认值也从它派生),
125
- * 所以它的键集就是完整的白名单:不在 schema 里的字段,要么是用户手写的错别字,
126
- * 要么是已废弃的旧字段,裁掉即归位。无 schema 的插件不裁(见调用方守卫)。
127
- */
128
- function removeExtraFields(config, schema, removed, prefix = '') {
129
- const result = {};
130
- for (const [key, value] of Object.entries(config)) {
131
- if (!(key in schema)) {
132
- // 被裁的键必须留痕——静默裁剪会让「字段被吃掉」与「用户没配」不可分辨,
133
- // tool-browser 的 allowedHosts 正是这样潜伏多年(用户照注释配了、启动即被抹、无人知晓)。
134
- removed?.push(prefix + key);
135
- continue;
136
- }
137
- const schemaDef = schema[key];
138
- if (schemaDef.type === 'array') {
139
- result[key] = value;
140
- }
141
- else if (schemaDef.fields &&
142
- typeof schemaDef.fields === 'object' &&
143
- value !== null &&
144
- typeof value === 'object' &&
145
- !Array.isArray(value)) {
146
- result[key] = removeExtraFields(value, schemaDef.fields, removed, `${prefix + key}.`);
147
- }
148
- else {
149
- result[key] = value;
150
- }
151
- }
152
- return result;
153
- }
154
166
  //# sourceMappingURL=config-sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-sync.js","sourceRoot":"","sources":["../src/config-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-sync.js","sourceRoot":"","sources":["../src/config-sync.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { Context } from '@aalis/core';
1
+ import type { Events } from '@aalis/core';
2
+ import type { LogLevel } from '@aalis/schema-log';
2
3
  /**
3
4
  * 运行时层注入的事件——`@aalis/core` 不感知"终端归属"这件事,
4
5
  * 仅靠 EventBus 的字符串事件名传递。
@@ -19,9 +20,9 @@ export interface ConsoleSinkHandle {
19
20
  * 当任何 UI 接管终端时自动停止写 stdout。
20
21
  *
21
22
  * 必须显式调用——`installConsoleSink()` 在 App 之前运行(需要捕获最早期日志),
22
- * 此时没有 ctx 可订阅。
23
+ * 此时还没有事件总线可订阅。传宿主根绑定的 events(`app.bind({ events }).events`)。
23
24
  */
24
- bindEvents(ctx: Context): void;
25
+ bindEvents(events: Events): void;
25
26
  /** 当前是否染色输出(供调试 / 状态视图使用) */
26
27
  readonly colorized: boolean;
27
28
  }
@@ -30,8 +31,12 @@ export interface ConsoleSinkHandle {
30
31
  *
31
32
  * 与 CLI/TUI 等"独占终端 UI"的协调通过事件 `terminal:claimed/released` 完成,
32
33
  * sink 自己根据事件决定是否写 stdout——UI 不直接干预 sink。
34
+ *
35
+ * `minLevel` 缺省 debug(全量)。`consoleSink: false` 的宿主传 `warn`,让加载器拒载
36
+ * 「另一份 @aalis/core」的插件与「装了没反应」仍打到 stderr,info/debug 保持安静。
33
37
  */
34
38
  export declare function installConsoleSink(opts?: {
35
39
  target?: 'stdout' | 'stderr';
40
+ minLevel?: LogLevel;
36
41
  }): ConsoleSinkHandle;
37
42
  //# sourceMappingURL=console-sink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"console-sink.d.ts","sourceRoot":"","sources":["../src/console-sink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAK3C;;;;;;GAMG;AACH,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,WAAW;QACnB,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACtC;CACF;AAwDD,MAAM,WAAW,iBAAiB;IAChC,OAAO,IAAI,IAAI,CAAC;IAChB;;;;;;OAMG;IACH,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAO,GAAG,iBAAiB,CA6CjG"}
1
+ {"version":3,"file":"console-sink.d.ts","sourceRoot":"","sources":["../src/console-sink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI5D;;;;;;GAMG;AACH,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,WAAW;QACnB,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACtC;CACF;AA+DD,MAAM,WAAW,iBAAiB;IAChC,OAAO,IAAI,IAAI,CAAC;IAChB;;;;;;OAMG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAO,GAC/D,iBAAiB,CA+CnB"}
@@ -44,6 +44,12 @@ const LEVEL_COLORS = COLORIZE
44
44
  };
45
45
  const dim = COLORIZE ? chalk.gray : IDENTITY;
46
46
  const accent = COLORIZE ? chalk.magenta : IDENTITY;
47
+ const LEVEL_PRIORITY = {
48
+ debug: 0,
49
+ info: 1,
50
+ warn: 2,
51
+ error: 3,
52
+ };
47
53
  function formatEntry(entry) {
48
54
  const colorFn = LEVEL_COLORS[entry.level];
49
55
  // LogEntry.timestamp 是完整 ISO(YYYY-MM-DDTHH:mm:ss.sssZ);stdout 只看当前运行,
@@ -57,13 +63,19 @@ function formatEntry(entry) {
57
63
  *
58
64
  * 与 CLI/TUI 等"独占终端 UI"的协调通过事件 `terminal:claimed/released` 完成,
59
65
  * sink 自己根据事件决定是否写 stdout——UI 不直接干预 sink。
66
+ *
67
+ * `minLevel` 缺省 debug(全量)。`consoleSink: false` 的宿主传 `warn`,让加载器拒载
68
+ * 「另一份 @aalis/core」的插件与「装了没反应」仍打到 stderr,info/debug 保持安静。
60
69
  */
61
70
  export function installConsoleSink(opts = {}) {
62
71
  const hub = LogHub.default;
63
72
  // 缺省走 console.log(stdout);子命令模式走 console.error(stderr),把 stdout 留给命令结果,
64
73
  // 脚本才能消费 `aalis <cmd>` 的输出
65
74
  const log = opts.target === 'stderr' ? console.error : console.log;
75
+ const minPriority = LEVEL_PRIORITY[opts.minLevel ?? 'debug'];
66
76
  const write = (entry) => {
77
+ if (LEVEL_PRIORITY[entry.level] < minPriority)
78
+ return;
67
79
  log(formatEntry(entry));
68
80
  };
69
81
  // 冲洗启动期 bootstrap buffer
@@ -81,7 +93,7 @@ export function installConsoleSink(opts = {}) {
81
93
  off();
82
94
  unbind?.();
83
95
  },
84
- bindEvents(ctx) {
96
+ bindEvents(events) {
85
97
  // 多终端 owner(理论上不会同时)用计数器避免一个 release 提前解锁
86
98
  let owners = 0;
87
99
  const onClaim = () => {
@@ -94,8 +106,8 @@ export function installConsoleSink(opts = {}) {
94
106
  if (owners === 0)
95
107
  paused = false;
96
108
  };
97
- const offClaim = ctx.on('terminal:claimed', onClaim);
98
- const offRelease = ctx.on('terminal:released', onRelease);
109
+ const offClaim = events.on('terminal:claimed', onClaim);
110
+ const offRelease = events.on('terminal:released', onRelease);
99
111
  unbind = () => {
100
112
  offClaim();
101
113
  offRelease();
@@ -1 +1 @@
1
- {"version":3,"file":"console-sink.js","sourceRoot":"","sources":["../src/console-sink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"console-sink.js","sourceRoot":"","sources":["../src/console-sink.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-logger.d.ts","sourceRoot":"","sources":["../src/file-logger.ts"],"names":[],"mappings":"AAKA,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAIlD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAOD,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,SAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3G;AAED,wBAAsB,eAAe,CAAC,OAAO,SAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwB3F"}
1
+ {"version":3,"file":"file-logger.d.ts","sourceRoot":"","sources":["../src/file-logger.ts"],"names":[],"mappings":"AAMA,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAIlD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAOD,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,SAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3G;AAED,wBAAsB,eAAe,CAAC,OAAO,SAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwB3F"}
@@ -1,6 +1,7 @@
1
1
  import { appendFile, mkdir, writeFile } from 'node:fs/promises';
2
2
  import { dirname } from 'node:path';
3
- import { formatLogLine, LogHub } from '@aalis/core';
3
+ import { LogHub } from '@aalis/core';
4
+ import { formatLogLine } from '@aalis/schema-log';
4
5
  import { getBootstrapBuffer } from './bootstrap-buffer.js';
5
6
  /** 默认日志文件路径。webui-server 等下游目前各自硬编码同一相对路径。 */
6
7
  export const DEFAULT_LOG_FILE = 'data/latest.log';
@@ -1 +1 @@
1
- {"version":3,"file":"file-logger.js","sourceRoot":"","sources":["../src/file-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,8CAA8C;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAElD,MAAM,aAAa,GAAG,eAAe,CAAC;AAWtC,SAAS,kBAAkB,CAAC,GAAY;IACtC,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC;IAC1D,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAa,EAAE,GAAY,EAAE,OAAO,GAAG,gBAAgB;IAC1F,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,UAAU,CACd,OAAO,EACP,aAAa,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,GAAG,KAAK,KAAK,kBAAkB,CAAC,GAAG,CAAC,EAAE;KAChD,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAO,GAAG,gBAAgB;IAC9D,IAAI,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAE7C,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,gDAAgD;IAChD,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAElC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC9B,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE;QACtC,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,OAAO;QACL,KAAK;QACL,KAAK,CAAC,OAAO;YACX,MAAM,KAAK,EAAE,CAAC;YACd,GAAG,EAAE,CAAC;QACR,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"file-logger.js","sourceRoot":"","sources":["../src/file-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,8CAA8C;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAElD,MAAM,aAAa,GAAG,eAAe,CAAC;AAWtC,SAAS,kBAAkB,CAAC,GAAY;IACtC,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC;IAC1D,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAa,EAAE,GAAY,EAAE,OAAO,GAAG,gBAAgB;IAC1F,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,UAAU,CACd,OAAO,EACP,aAAa,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,GAAG,KAAK,KAAK,kBAAkB,CAAC,GAAG,CAAC,EAAE;KAChD,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAO,GAAG,gBAAgB;IAC9D,IAAI,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAE7C,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,gDAAgD;IAChD,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAElC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC9B,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE;QACtC,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,OAAO;QACL,KAAK;QACL,KAAK,CAAC,OAAO;YACX,MAAM,KAAK,EAAE,CAAC;YACd,GAAG,EAAE,CAAC;QACR,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,16 +1,31 @@
1
- import type { Logger, PluginLoader, PluginModule } from '@aalis/core';
1
+ import type { Logger, PluginDefinition, PluginLoader } from '@aalis/core';
2
2
  /**
3
3
  * 判定一个已装依赖是否为可加载的 Aalis 插件。纯函数,便于单测。
4
4
  * 唯一标准:keywords 含 'aalis-plugin'(真插件均带;契约/前端/核心/工具库带各自类型词,自然排除)。
5
5
  */
6
6
  export declare function isLoadablePlugin(meta: Record<string, unknown>): boolean;
7
7
  /**
8
- * ESM 命名空间可能把插件挂在 default 上(`export default {...}`)——此前该形态
9
- * 会被加载判据静默拒收(作者最自然的写法=永不加载的死门)。解包后统一交判据。
8
+ * 从已导入模块取出定义,并按加载器政策出声:形状不对必须 warn;定义 name 与包名不一致也必须点名。
9
+ * 判定本身在 `@aalis/core` 的 `pluginDefinitionOf`;两加载器共用本包装,告警文案只有这一份。
10
10
  */
11
- export declare function unwrapPluginModule(ns: unknown): PluginModule;
12
- /** 加载后形状告警:违例此前完全静默(仅 core 一行 debug),是「装了没反应」死门族。两加载器共用。 */
13
- export declare function warnShape(logger: Logger, pkgName: string, mod: PluginModule): void;
11
+ export declare function loadPluginDefinition(ns: unknown, pkgName: string, logger: Logger): PluginDefinition | null;
12
+ /**
13
+ * 宿主那份 @aalis/core:runtime 用它创建 App,从本文件所在目录按同一规则算一次。
14
+ * 算不到(如被打包内联、import.meta.url 不是文件 URL)为 undefined,检测随之跳过,不误报。
15
+ */
16
+ export declare const HOST_CORE_DIR: string | undefined;
17
+ /**
18
+ * 插件解析到的 @aalis/core 不是宿主那份时拒绝加载该插件(抛错),须在 import 插件之前调用。
19
+ *
20
+ * 依赖树允许同名包存在多份,两份 core 同处一个进程会让进程级身份分裂(默认日志中枢、
21
+ * instanceof 等)且不报任何错。最常见的来路是本地插件目录被装成符号链接:插件目录自带的
22
+ * devDependencies 里那份 core 成了它运行时解析到的那份。错误由 App 逐插件接住记 error,
23
+ * 其余插件照常加载。两加载器共用。
24
+ *
25
+ * @param hostCoreDir 宿主那份 core 的包目录(realpath);undefined 时跳过
26
+ * @param pluginDir 插件包目录,即两加载器 discover 写进描述符的 `metadata.dir`;缺失时跳过
27
+ */
28
+ export declare function assertSameCore(hostCoreDir: string | undefined, pluginDir: unknown, pluginName: string): void;
14
29
  /**
15
30
  * 疑似插件缺关键词是「装了没反应」死门族之首:peer 依赖 core 却不带任何
16
31
  * aalis-* 类型词(契约/前端/工具库各有其词,带了即非误漏)。两加载器共用。
@@ -20,11 +35,14 @@ export declare function warnLikelyPluginMissingKeyword(logger: Logger, name: str
20
35
  * 创建一个从项目 node_modules 解析插件的 PluginLoader。
21
36
  *
22
37
  * @param projectDir 项目根目录(含 package.json 与 node_modules),默认 process.cwd()
38
+ * @param opts.hostCoreDir 宿主那份 @aalis/core 的包目录,默认 {@link HOST_CORE_DIR};插件解析到的 core 与它不同即拒绝加载
23
39
  *
24
40
  * - `discover()`:读 projectDir/package.json 的 dependencies + optionalDependencies,
25
41
  * 用 require.resolve 定位每个依赖的 package.json,按标记过滤出可加载插件。
26
- * - `load()`:用 `pathToFileURL(entry).href` 动态 import(entry = require.resolve(包名))。
42
+ * - `load()`:先经 {@link assertSameCore} 核对 core 是宿主那份,再用 `pathToFileURL(entry).href` 动态 import(entry = require.resolve(包名))。
27
43
  * - `reload()`:用入口文件 mtime 作 import URL query 强制 ESM 缓存失效。
28
44
  */
29
- export declare function createNodeModulesPluginLoader(projectDir?: string): PluginLoader;
45
+ export declare function createNodeModulesPluginLoader(projectDir?: string, opts?: {
46
+ hostCoreDir?: string;
47
+ }): PluginLoader;
30
48
  //# sourceMappingURL=node-modules-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-modules-loader.d.ts","sourceRoot":"","sources":["../src/node-modules-loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAoB,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA0BxF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGvE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,OAAO,GAAG,YAAY,CAa5D;AAED,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAWlF;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAMhH;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,GAAE,MAAsB,GAAG,YAAY,CAoE9F"}
1
+ {"version":3,"file":"node-modules-loader.d.ts","sourceRoot":"","sources":["../src/node-modules-loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAoB,YAAY,EAAE,MAAM,aAAa,CAAC;AA0B5F;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGvE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAY1G;AAcD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG,SAMjC,CAAC;AAEL;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAW5G;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAMhH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,GAAE,MAAsB,EAClC,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,YAAY,CAmEd"}
@@ -1,9 +1,9 @@
1
- import { readFileSync } from 'node:fs';
1
+ import { existsSync, readFileSync, realpathSync } from 'node:fs';
2
2
  import { stat } from 'node:fs/promises';
3
3
  import { createRequire } from 'node:module';
4
- import { dirname, resolve } from 'node:path';
5
- import { pathToFileURL } from 'node:url';
6
- import { DefaultLogger } from '@aalis/core';
4
+ import { dirname, join, resolve } from 'node:path';
5
+ import { fileURLToPath, pathToFileURL } from 'node:url';
6
+ import { DefaultLogger, pluginDefinitionOf } from '@aalis/core';
7
7
  // ============================================================
8
8
  // NodeModulesPluginLoader —— 从 node_modules 解析并加载插件
9
9
  // ============================================================
@@ -35,32 +35,67 @@ export function isLoadablePlugin(meta) {
35
35
  return keywords.includes('aalis-plugin');
36
36
  }
37
37
  /**
38
- * ESM 命名空间可能把插件挂在 default 上(`export default {...}`)——此前该形态
39
- * 会被加载判据静默拒收(作者最自然的写法=永不加载的死门)。解包后统一交判据。
38
+ * 从已导入模块取出定义,并按加载器政策出声:形状不对必须 warn;定义 name 与包名不一致也必须点名。
39
+ * 判定本身在 `@aalis/core` 的 `pluginDefinitionOf`;两加载器共用本包装,告警文案只有这一份。
40
40
  */
41
- export function unwrapPluginModule(ns) {
42
- const mod = ns;
43
- // default 必须是**对象**才解包:函数/类天然继承 Function.prototype.apply,
44
- // 只查 .apply 会把 `export default function/class` 误当插件解包——core 随后
45
- // 调用的是 Function.prototype.apply,插件体以 ctx=undefined 空跑并被标记
46
- // 已激活(比修前的静默不装更坏)。对象判据下这两种形态落回命名空间,
47
- // 由 warnShape 发正确的「缺少具名导出」告警。
48
- return typeof mod?.apply !== 'function' &&
49
- typeof mod?.default === 'object' &&
50
- mod.default !== null &&
51
- typeof mod.default.apply === 'function'
52
- ? mod.default
53
- : mod;
41
+ export function loadPluginDefinition(ns, pkgName, logger) {
42
+ const def = pluginDefinitionOf(ns);
43
+ if (!def) {
44
+ logger.warn(`插件 "${pkgName}" 的入口没有默认导出插件定义,将被跳过——入口须 \`export default definePlugin({ … })\``);
45
+ return null;
46
+ }
47
+ if (def.name !== pkgName) {
48
+ logger.warn(`插件包 "${pkgName}" 的定义 name 为 "${def.name}"——配置键/热扫描/卸载均以定义的 name 为准,二者应一致`);
49
+ }
50
+ return def;
54
51
  }
55
- /** 加载后形状告警:违例此前完全静默(仅 core 一行 debug),是「装了没反应」死门族。两加载器共用。 */
56
- export function warnShape(logger, pkgName, mod) {
57
- if (!mod?.name || typeof mod?.apply !== 'function') {
58
- logger.warn(`插件 "${pkgName}" 缺少具名导出 name/apply,将被跳过——入口须具名导出这两者,` +
59
- `或 default 导出一个 { name, apply } 对象(default 为函数/类不属插件契约,不会被解包)`);
52
+ /**
53
+ * 按 Node 的 node_modules 逐级上溯规则,找出从 `start` 目录解析到的 `@aalis/core` 包目录(realpath)。
54
+ * 只看目录布局、不走 exports,结果不受入口条件影响;找不到返回 undefined。
55
+ */
56
+ function coreDirFrom(start) {
57
+ for (let dir = realpathSync(start);; dir = dirname(dir)) {
58
+ const candidate = join(dir, 'node_modules', '@aalis', 'core');
59
+ if (existsSync(join(candidate, 'package.json')))
60
+ return realpathSync(candidate);
61
+ if (dirname(dir) === dir)
62
+ return undefined;
60
63
  }
61
- else if (mod.name !== pkgName) {
62
- logger.warn(`插件包 "${pkgName}" 的 module.name 为 "${mod.name}"——配置键/热扫描/卸载均以 module.name 为准,二者应一致`);
64
+ }
65
+ /**
66
+ * 宿主那份 @aalis/core:runtime 用它创建 App,从本文件所在目录按同一规则算一次。
67
+ * 算不到(如被打包内联、import.meta.url 不是文件 URL)为 undefined,检测随之跳过,不误报。
68
+ */
69
+ export const HOST_CORE_DIR = (() => {
70
+ try {
71
+ return coreDirFrom(dirname(fileURLToPath(import.meta.url)));
72
+ }
73
+ catch {
74
+ return undefined;
63
75
  }
76
+ })();
77
+ /**
78
+ * 插件解析到的 @aalis/core 不是宿主那份时拒绝加载该插件(抛错),须在 import 插件之前调用。
79
+ *
80
+ * 依赖树允许同名包存在多份,两份 core 同处一个进程会让进程级身份分裂(默认日志中枢、
81
+ * instanceof 等)且不报任何错。最常见的来路是本地插件目录被装成符号链接:插件目录自带的
82
+ * devDependencies 里那份 core 成了它运行时解析到的那份。错误由 App 逐插件接住记 error,
83
+ * 其余插件照常加载。两加载器共用。
84
+ *
85
+ * @param hostCoreDir 宿主那份 core 的包目录(realpath);undefined 时跳过
86
+ * @param pluginDir 插件包目录,即两加载器 discover 写进描述符的 `metadata.dir`;缺失时跳过
87
+ */
88
+ export function assertSameCore(hostCoreDir, pluginDir, pluginName) {
89
+ if (!hostCoreDir || typeof pluginDir !== 'string')
90
+ return;
91
+ const theirs = coreDirFrom(pluginDir);
92
+ if (!theirs || theirs === hostCoreDir)
93
+ return;
94
+ const version = (dir) => String(readJson(join(dir, 'package.json'))?.version ?? '版本未知');
95
+ throw new Error(`插件 "${pluginName}" 解析到另一份 @aalis/core(${version(theirs)}:${theirs}),` +
96
+ `宿主用的是 ${version(hostCoreDir)}:${hostCoreDir}。@aalis/core 只能装一份:` +
97
+ '插件应把 @aalis/core 写进 peerDependencies 而非 dependencies;本地目录安装改用 npm install --install-links 或 pnpm add file:;' +
98
+ '排查用 npm query "#@aalis/core" / pnpm why @aalis/core');
64
99
  }
65
100
  /**
66
101
  * 疑似插件缺关键词是「装了没反应」死门族之首:peer 依赖 core 却不带任何
@@ -77,14 +112,16 @@ export function warnLikelyPluginMissingKeyword(logger, name, meta) {
77
112
  * 创建一个从项目 node_modules 解析插件的 PluginLoader。
78
113
  *
79
114
  * @param projectDir 项目根目录(含 package.json 与 node_modules),默认 process.cwd()
115
+ * @param opts.hostCoreDir 宿主那份 @aalis/core 的包目录,默认 {@link HOST_CORE_DIR};插件解析到的 core 与它不同即拒绝加载
80
116
  *
81
117
  * - `discover()`:读 projectDir/package.json 的 dependencies + optionalDependencies,
82
118
  * 用 require.resolve 定位每个依赖的 package.json,按标记过滤出可加载插件。
83
- * - `load()`:用 `pathToFileURL(entry).href` 动态 import(entry = require.resolve(包名))。
119
+ * - `load()`:先经 {@link assertSameCore} 核对 core 是宿主那份,再用 `pathToFileURL(entry).href` 动态 import(entry = require.resolve(包名))。
84
120
  * - `reload()`:用入口文件 mtime 作 import URL query 强制 ESM 缓存失效。
85
121
  */
86
- export function createNodeModulesPluginLoader(projectDir = process.cwd()) {
122
+ export function createNodeModulesPluginLoader(projectDir = process.cwd(), opts = {}) {
87
123
  const root = resolve(projectDir);
124
+ const hostCoreDir = opts.hostCoreDir === undefined ? HOST_CORE_DIR : realpathSync(opts.hostCoreDir);
88
125
  // 以项目 package.json 为基准创建 require,确保从项目 node_modules 解析
89
126
  const req = createRequire(pathToFileURL(resolve(root, 'package.json')));
90
127
  const logger = new DefaultLogger('aalis:loader');
@@ -135,11 +172,11 @@ export function createNodeModulesPluginLoader(projectDir = process.cwd()) {
135
172
  return discovered;
136
173
  },
137
174
  async load(desc) {
138
- const mod = unwrapPluginModule(await import(pathToFileURL(desc.source).href));
139
- warnShape(logger, desc.name, mod);
140
- return mod;
175
+ assertSameCore(hostCoreDir, desc.metadata?.dir, desc.name);
176
+ return loadPluginDefinition(await import(pathToFileURL(desc.source).href), desc.name, logger);
141
177
  },
142
178
  async reload(desc) {
179
+ assertSameCore(hostCoreDir, desc.metadata?.dir, desc.name);
143
180
  let cacheKey = '';
144
181
  try {
145
182
  cacheKey = `?t=${(await stat(desc.source)).mtimeMs}`;
@@ -147,9 +184,7 @@ export function createNodeModulesPluginLoader(projectDir = process.cwd()) {
147
184
  catch {
148
185
  /* stat 失败时用空 key,让 import 自己报错 */
149
186
  }
150
- const mod = unwrapPluginModule(await import(pathToFileURL(desc.source).href + cacheKey));
151
- warnShape(logger, desc.name, mod);
152
- return mod;
187
+ return loadPluginDefinition(await import(pathToFileURL(desc.source).href + cacheKey), desc.name, logger);
153
188
  },
154
189
  };
155
190
  }
@@ -1 +1 @@
1
- {"version":3,"file":"node-modules-loader.js","sourceRoot":"","sources":["../src/node-modules-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-modules-loader.js","sourceRoot":"","sources":["../src/node-modules-loader.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,6 @@ interface FsYamlConfigProviderResult {
4
4
  config: AalisConfig;
5
5
  /** Provider 实例(用于 `new App({ configProvider })`) */
6
6
  provider: ConfigProvider;
7
- /** 配置文件所在目录(用于 `new App({ dataDir })`) */
8
- dataDir: string;
9
7
  }
10
8
  /**
11
9
  * 创建一个基于 YAML 文件的 ConfigProvider。
@@ -15,14 +13,14 @@ interface FsYamlConfigProviderResult {
15
13
  * - `watch()` 监听**配置文件所在目录**(按文件名过滤)+ 300ms debounce,
16
14
  * 并通过与 `rawYaml` 的内容比对去重,避免自激
17
15
  *
18
- * 调用时一次性返回 config 快照、provider 和 dataDir 三件套,方便 src/index.ts 组装。
16
+ * 返回 config 快照与 provider,供宿主组装 App。
19
17
  */
20
18
  export declare function createFsYamlConfigProvider(configPath?: string): FsYamlConfigProviderResult;
21
19
  /**
22
20
  * 创建一个基于 packages 目录扫描的 PluginLoader。
23
21
  *
24
22
  * - `discover()`:读 dir 下每个子目录的 package.json,按 aalis-plugin 关键词收录可加载插件
25
- * - `load()`:用 `pathToFileURL(entry).href` 动态 import
23
+ * - `load()`:先经 assertSameCore 核对 core 是宿主那份,再用 `pathToFileURL(entry).href` 动态 import
26
24
  * - `reload()`:用入口文件 mtime 作为 import URL 的 query 强制 ESM 缓存失效
27
25
  */
28
26
  export declare function createFsPluginLoader(packagesDir?: string): PluginLoader;
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EAEd,YAAY,EAEZ,eAAe,EAChB,MAAM,aAAa,CAAC;AAoDrB,UAAU,0BAA0B;IAClC,qCAAqC;IACrC,MAAM,EAAE,WAAW,CAAC;IACpB,oDAAoD;IACpD,QAAQ,EAAE,cAAc,CAAC;IACzB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAiJ1F;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CA0DvE;AAMD,0CAA0C;AAC1C,eAAO,MAAM,aAAa,gBAAgB,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC3E;;;OAGG;IACH,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5D;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAGlE;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,kDAAkD;AAClD,wBAAgB,mBAAmB,CACjC,IAAI,GAAE,SAAS,MAAM,EAAiB,EACtC,QAAQ,GAAE,SAAS,MAAM,EAAqB,EAC9C,GAAG,GAAE,MAAsB,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAYlC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,GAAE,cAAmB,GAAG,eAAe,CAiHvF"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EAGd,YAAY,EACZ,eAAe,EAChB,MAAM,aAAa,CAAC;AAqDrB,UAAU,0BAA0B;IAClC,qCAAqC;IACrC,MAAM,EAAE,WAAW,CAAC;IACpB,oDAAoD;IACpD,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAiJ1F;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAyDvE;AAMD,0CAA0C;AAC1C,eAAO,MAAM,aAAa,gBAAgB,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC3E;;;OAGG;IACH,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5D;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAGlE;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,kDAAkD;AAClD,wBAAgB,mBAAmB,CACjC,IAAI,GAAE,SAAS,MAAM,EAAiB,EACtC,QAAQ,GAAE,SAAS,MAAM,EAAqB,EAC9C,GAAG,GAAE,MAAsB,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAYlC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,GAAE,cAAmB,GAAG,eAAe,CAiHvF"}
package/dist/providers.js CHANGED
@@ -6,7 +6,7 @@ import { basename, dirname, resolve } from 'node:path';
6
6
  import { pathToFileURL } from 'node:url';
7
7
  import { DefaultLogger } from '@aalis/core';
8
8
  import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
9
- import { isLoadablePlugin, unwrapPluginModule, warnLikelyPluginMissingKeyword, warnShape, } from './node-modules-loader.js';
9
+ import { assertSameCore, HOST_CORE_DIR, isLoadablePlugin, loadPluginDefinition, warnLikelyPluginMissingKeyword, } from './node-modules-loader.js';
10
10
  import { disarmTerminalStateRestorer } from './terminal.js';
11
11
  // ============================================================
12
12
  // FsYamlConfigProvider —— 从 YAML 文件加载+持久化配置
@@ -55,7 +55,7 @@ function buildSaveYaml(config) {
55
55
  * - `watch()` 监听**配置文件所在目录**(按文件名过滤)+ 300ms debounce,
56
56
  * 并通过与 `rawYaml` 的内容比对去重,避免自激
57
57
  *
58
- * 调用时一次性返回 config 快照、provider 和 dataDir 三件套,方便 src/index.ts 组装。
58
+ * 返回 config 快照与 provider,供宿主组装 App。
59
59
  */
60
60
  export function createFsYamlConfigProvider(configPath) {
61
61
  const absPath = configPath ? resolve(configPath) : resolve(process.cwd(), DEFAULT_CONFIG_FILE);
@@ -206,7 +206,7 @@ export function createFsYamlConfigProvider(configPath) {
206
206
  };
207
207
  },
208
208
  };
209
- return { config: initialConfig, provider, dataDir };
209
+ return { config: initialConfig, provider };
210
210
  }
211
211
  // ============================================================
212
212
  // FsPluginLoader —— 扫描目录 + dynamic import
@@ -215,7 +215,7 @@ export function createFsYamlConfigProvider(configPath) {
215
215
  * 创建一个基于 packages 目录扫描的 PluginLoader。
216
216
  *
217
217
  * - `discover()`:读 dir 下每个子目录的 package.json,按 aalis-plugin 关键词收录可加载插件
218
- * - `load()`:用 `pathToFileURL(entry).href` 动态 import
218
+ * - `load()`:先经 assertSameCore 核对 core 是宿主那份,再用 `pathToFileURL(entry).href` 动态 import
219
219
  * - `reload()`:用入口文件 mtime 作为 import URL 的 query 强制 ESM 缓存失效
220
220
  */
221
221
  export function createFsPluginLoader(packagesDir) {
@@ -259,11 +259,11 @@ export function createFsPluginLoader(packagesDir) {
259
259
  return discovered;
260
260
  },
261
261
  async load(desc) {
262
- const mod = unwrapPluginModule(await import(pathToFileURL(desc.source).href));
263
- warnShape(loaderLogger, desc.name, mod);
264
- return mod;
262
+ assertSameCore(HOST_CORE_DIR, desc.metadata?.dir, desc.name);
263
+ return loadPluginDefinition(await import(pathToFileURL(desc.source).href), desc.name, loaderLogger);
265
264
  },
266
265
  async reload(desc) {
266
+ assertSameCore(HOST_CORE_DIR, desc.metadata?.dir, desc.name);
267
267
  let cacheKey = '';
268
268
  try {
269
269
  cacheKey = `?t=${(await stat(desc.source)).mtimeMs}`;
@@ -271,8 +271,7 @@ export function createFsPluginLoader(packagesDir) {
271
271
  catch {
272
272
  /* stat 失败时用空 key,让 import 自己报错 */
273
273
  }
274
- const mod = unwrapPluginModule(await import(pathToFileURL(desc.source).href + cacheKey));
275
- return mod;
274
+ return loadPluginDefinition(await import(pathToFileURL(desc.source).href + cacheKey), desc.name, loaderLogger);
276
275
  },
277
276
  };
278
277
  }
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,SAAS,EACT,UAAU,EAEV,KAAK,IAAI,OAAO,EAChB,YAAY,EACZ,UAAU,EACV,MAAM,EACN,QAAQ,EACR,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AASzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AACtE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,8BAA8B,EAC9B,SAAS,GACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,+DAA+D;AAC/D,4CAA4C;AAC5C,+DAA+D;AAE/D,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEhD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAEtH;;;GAGG;AACH,SAAS,aAAa,CAAC,MAAmB;IACxC,MAAM,GAAG,GAA4B;QACnC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;IAEF,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAE7B,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC3C,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AAWD;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAmB;IAC5D,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC/F,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjC,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,OAAO,GAAqB,IAAI,CAAC;IACrC,IAAI,aAAa,GAAyC,IAAI,CAAC;IAC/D,2DAA2D;IAC3D,wCAAwC;IACxC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,MAAM,mBAAmB,GAAG,CAAC,GAAY,EAAU,EAAE,CACnD,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpE,qDAAqD;IACrD,MAAM,kBAAkB,GAAG,CAAC,CAAU,EAAiB,EAAE;QACvD,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,OAAO,CAAC;QACrC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,SAAS,YAAY;QACnB,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,sCAAsC;gBACtC,MAAM,IAAI,KAAK,CAAC,YAAY,mBAAmB,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;YACtE,CAAC;YACD,sCAAsC;YACtC,+CAA+C;YAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,MAAqB,CAAC;QAC/B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,cAAc,CAAC,CAAC;QAC9C,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,aAAa,GAAG,YAAY,EAAE,CAAC;IAErC,MAAM,QAAQ,GAAmB;QAC/B,IAAI,CAAC,MAAM;YACT,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACnC,0CAA0C;YAC1C,+DAA+D;YAC/D,0DAA0D;YAC1D,8DAA8D;YAC9D,sDAAsD;YACtD,mDAAmD;YACnD,MAAM,GAAG,GAAG,GAAG,OAAO,QAAQ,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9E,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAClC,mDAAmD;YACnD,0CAA0C;YAC1C,IAAI,CAAC;gBACH,IAAI,UAAU,CAAC,OAAO,CAAC;oBAAE,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;YAC1E,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;YACD,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACzB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,QAAQ;YACZ,IAAI,OAAO;gBAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;YAC7B,mCAAmC;YACnC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC;gBACH,mDAAmD;gBACnD,oDAAoD;gBACpD,6CAA6C;gBAC7C,oDAAoD;gBACpD,gCAAgC;gBAChC,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;oBAC9C,wCAAwC;oBACxC,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,QAAQ;wBAAE,OAAO;oBACnE,IAAI,aAAa;wBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC/C,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC9B,aAAa,GAAG,IAAI,CAAC;wBACrB,qCAAqC;wBACrC,wCAAwC;wBACxC,kCAAkC;wBAClC,IAAI,OAAe,CAAC;wBACpB,IAAI,CAAC;4BACH,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBAC3C,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO;wBACT,CAAC;wBACD,8CAA8C;wBAC9C,8BAA8B;wBAC9B,IAAI,OAAO,KAAK,OAAO;4BAAE,OAAO;wBAChC,IAAI,MAAe,CAAC;wBACpB,IAAI,CAAC;4BACH,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,oCAAoC;4BACpC,0BAA0B;4BAC1B,MAAM,CAAC,IAAI,CAAC,8BAA8B,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACtE,OAAO;wBACT,CAAC;wBACD,sCAAsC;wBACtC,yCAAyC;wBACzC,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;wBACxC,IAAI,IAAI,EAAE,CAAC;4BACT,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,WAAW,CAAC,CAAC;4BAChD,OAAO;wBACT,CAAC;wBACD,OAAO,GAAG,OAAO,CAAC;wBAClB,IAAI,CAAC;4BACH,QAAQ,CAAC,MAAqB,CAAC,CAAC;wBAClC,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,sCAAsC;4BACtC,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC/E,CAAC;oBACH,CAAC,EAAE,GAAG,CAAC,CAAC;gBACV,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;YAED,OAAO,GAAG,EAAE;gBACV,IAAI,aAAa,EAAE,CAAC;oBAClB,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC5B,aAAa,GAAG,IAAI,CAAC;gBACvB,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,CAAC;gBACjB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACtD,CAAC;AAED,+DAA+D;AAC/D,0CAA0C;AAC1C,+DAA+D;AAE/D;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAoB;IACvD,MAAM,OAAO,GAAG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IAClE,6CAA6C;IAC7C,qBAAqB;IACrB,MAAM,YAAY,GAAG,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;IAEvD,OAAO;QACL,KAAK,CAAC,QAAQ;YACZ,IAAI,OAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxF,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,UAAU,GAAuB,EAAE,CAAC;YAC1C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;gBAC5D,IAAI,OAAgC,CAAC;gBACrC,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,4DAA4D;gBAC5D,0DAA0D;gBAC1D,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/B,8BAA8B,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;oBAC7D,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAI,OAAO,CAAC,IAAe,IAAI,eAAe,CAAC;gBACzD,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,OAAO,CAAC,IAAc;oBAC5B,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;oBACrC,QAAQ,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;iBAC3C,CAAC,CAAC;YACL,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI;YACb,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9E,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACxC,OAAO,GAAG,CAAC;QACb,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,IAAI;YACf,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,kCAAkC;YACpC,CAAC;YACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;YACzF,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,kDAAkD;AAClD,+DAA+D;AAE/D,0CAA0C;AAC1C,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;AA2B3C,qDAAqD;AACrD,MAAM,UAAU,iBAAiB,CAAC,CAAU;IAC1C,MAAM,CAAC,GAAG,CAA2B,CAAC;IACtC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC;AAYD,kDAAkD;AAClD,MAAM,UAAU,mBAAmB,CACjC,OAA0B,OAAO,CAAC,IAAI,EACtC,WAA8B,OAAO,CAAC,QAAQ,EAC9C,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,wCAAwC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,CAAC;IACD,sEAAsE;IACtE,6DAA6D;IAC7D,aAAa;IACb,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAuB,EAAE;IACpE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC;IACrD,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,SAAS,UAAU,CAAC,OAAgB;QAClC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,mBAAmB,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE;YACvB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YACrE,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,UAAU,GAAG,IAAI,CAAC;YAElB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,IAAI,EAAE,CAAC;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,4BAA4B;gBAC5B,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,CAA+B,cAAc,CAAC,EAAE;gBAC/E,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;gBAC1E,MAAM,IAAI,GAAG,CAAC,CAA+B,EAAE,EAAE;oBAC/C,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,cAAc,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC,CAAC;gBACF,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAY,EAAE,EAAE;oBACnC,IAAK,GAAiC,EAAE,IAAI,KAAK,aAAa;wBAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvB,kDAAkD;gBAClD,4DAA4D;gBAC5D,2BAA2B,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,CAAC;gBAAC,MAAM,CAAC;oBACP,eAAe;gBACjB,CAAC;gBACD,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,kBAAkB;YAClB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,wBAAwB,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;YAC3D,uDAAuD;YACvD,4CAA4C;YAC5C,uBAAuB;YACvB,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,8DAA8D;oBAC9D,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;wBAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;wBACpE,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC9E,IAAI,CAAC,CAAC,CAAC,aAAa;wBAAE,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,MAAM,0BAA0B,CAAC,CAAC;gBACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC;gBAChD,oDAAoD;gBACpD,iDAAiD;gBACjD,6DAA6D;gBAC7D,kDAAkD;gBAClD,6DAA6D;gBAC7D,gDAAgD;gBAChD,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAgB,CAAC,CAAC,EAAE;oBAChD,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBACtD,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;wBAClB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;wBACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACR,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CACX,wBAAwB,GAAG,QAAQ,IAAI,MAAM;wBAC3C,oEAAoE;wBACpE,oBAAoB,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK;wBAC7D,sCAAsC,CACzC,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
package/dist/start.d.ts CHANGED
@@ -7,7 +7,11 @@ export interface StartAalisOptions {
7
7
  projectDir?: string;
8
8
  /** 插件加载器,默认 createNodeModulesPluginLoader(projectDir);monorepo 传 createFsPluginLoader() 扫 packages/ */
9
9
  pluginLoader?: PluginLoader;
10
- /** 彩色 stdout 日志,默认 true(独立部署即有日志);webui-only/嵌入式可传 false */
10
+ /**
11
+ * 彩色控制台日志,默认 true(独立部署即有全量级别)。webui-only/嵌入式/测试夹具可传 false:
12
+ * 此时仍把 warn/error 打到 stderr(「装了没反应」与插件解析到「另一份 @aalis/core」被拒载必须出声),
13
+ * 不写 info/debug、不占 stdout。
14
+ */
11
15
  consoleSink?: boolean;
12
16
  /**
13
17
  * 文件日志:true→data/latest.log,string→自定义路径,false→关。默认 true(webui/cli 尾读此文件)。
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,KAAK,iBAAiB,EAA8C,MAAM,kBAAkB,CAAC;AA4BtG,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uGAAuG;IACvG,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAsBD,wBAAsB,UAAU,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,CAoI3E"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAU,KAAK,YAAY,EAAY,MAAM,aAAa,CAAC;AAGvE,OAAO,EAAE,KAAK,iBAAiB,EAAgD,MAAM,kBAAkB,CAAC;AA4BxG,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uGAAuG;IACvG,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAsBD,wBAAsB,UAAU,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,CA4I3E"}
package/dist/start.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { createRequire } from 'node:module';
2
- import { App } from '@aalis/core';
2
+ import { App, events, services } from '@aalis/core';
3
3
  import { defaultsFrom } from '@aalis/schema-config';
4
4
  import { installBootstrapBuffer } from './bootstrap-buffer.js';
5
- import { installConfigHotReload, syncPluginDefaults } from './config-sync.js';
5
+ import { installConfigHotReload, withPluginConfigSync } from './config-sync.js';
6
6
  import { installConsoleSink } from './console-sink.js';
7
7
  import { appendCrashLog, DEFAULT_LOG_FILE, setupFileLogger } from './file-logger.js';
8
8
  import { createNodeModulesPluginLoader } from './node-modules-loader.js';
@@ -40,9 +40,10 @@ export async function startAalis(opts = {}) {
40
40
  const subcommandMode = subcommands.length > 0;
41
41
  // console sink 在 App 之前装:此时无 ctx,sink 处于「无条件写」状态以打印早期启动日志,
42
42
  // 待 App 起来再 bindEvents 接管 terminal:claimed/released。子命令模式日志走 stderr,stdout 只留命令结果。
43
+ // consoleSink: false 仍装 stderr + minLevel warn:加载器拒载「另一份 @aalis/core」的插件记 error,不能只剩下游「commands 服务不可用」。
43
44
  const consoleHandle = consoleSink
44
45
  ? installConsoleSink(subcommandMode ? { target: 'stderr' } : {})
45
- : undefined;
46
+ : installConsoleSink({ target: 'stderr', minLevel: 'warn' });
46
47
  // 子命令进程不写文件日志:setupFileLogger 会截断 latest.log,而守护进程可能正在写它(webui 历史日志
47
48
  // 以该文件为单一数据源)。
48
49
  const fileLogTarget = fileLog === false || subcommandMode ? undefined : typeof fileLog === 'string' ? fileLog : DEFAULT_LOG_FILE;
@@ -72,12 +73,12 @@ export async function startAalis(opts = {}) {
72
73
  // sink 全部装好;bootstrap buffer 完成使命,解除订阅并释放内存。
73
74
  bootstrap.dispose();
74
75
  // ── 组装 App:从 YAML 加载配置、按 loader 加载插件、用 spawn 重启 ──
75
- const { config, provider, dataDir } = createFsYamlConfigProvider(opts.configPath);
76
+ const { config, provider } = createFsYamlConfigProvider(opts.configPath);
77
+ const configLoader = withPluginConfigSync(opts.pluginLoader ?? createNodeModulesPluginLoader(opts.projectDir), () => app, opts.configSync);
76
78
  const app = new App({
77
79
  config,
78
80
  configProvider: provider,
79
- dataDir,
80
- pluginLoader: opts.pluginLoader ?? createNodeModulesPluginLoader(opts.projectDir),
81
+ pluginLoader: configLoader.loader,
81
82
  // 默认值从 configSchema 派生(唯一声明来源);core 不认识配置词汇,只调这个函数。
82
83
  pluginDefaults: m => defaultsFrom(m.configSchema),
83
84
  // 子命令进程没有重启能力,不注入策略:`app.restart()` 按 core 语义抛「不可用」,指令层折成失败文案。
@@ -91,21 +92,24 @@ export async function startAalis(opts = {}) {
91
92
  // 宿主读取 @aalis/core 的实际版本注入启动 banner——core 环境无关、不自读 package.json。
92
93
  version: readCoreVersion(),
93
94
  });
94
- // 不变量①:App 构造完成后再让 sink 监听终端归属事件——此前没有 ctx 可订阅。
95
- consoleHandle?.bindEvents(app.ctx);
96
- await app.autoLoadPlugins();
97
- // 配置同步政策:defaultConfig 回填 + 按 schema 裁剪未知字段,有变化则落盘。
98
- const synced = syncPluginDefaults(app, opts.configSync);
99
- for (const id of synced)
100
- app.logger.debug(`同步插件配置: ${id}`);
101
- if (synced.length > 0)
102
- app.logger.info('已将插件配置同步到配置文件');
95
+ // 宿主的根绑定:事件订阅与服务查询都经它,随 App 停止撤回
96
+ const host = app.bind({ events, services });
97
+ // 不变量①:App 构造完成后再让 sink 监听终端归属事件——此前没有事件总线可订阅。
98
+ consoleHandle.bindEvents(host.events);
99
+ try {
100
+ // 每个定义交给 Core 前已经规范化;首次 apply 与配置快照用同一份字段。
101
+ await app.autoLoadPlugins();
102
+ }
103
+ finally {
104
+ // 即使后续加载失败,也保存本批已完成的规范化;不启动第二轮 bounce。
105
+ configLoader.finishInitialLoad();
106
+ }
103
107
  // ── 不变量②:子命令短路在 app.start 之前 ──
104
108
  // `aalis <name> [args...]` 等价于聊天里 `/<name> args...`:命中则执行返回串,未命中则报错,
105
109
  // 两种情况都干净退出、**绝不进守护进程**——打错的命令名若照常起守护,就是与运行中实例并存的
106
110
  // 第二个实例(同时连 onebot、每条消息回两遍)。与具体命令解耦——各插件自行注册命令。
107
111
  if (subcommandMode) {
108
- const exitCode = await tryDispatchSubcommand(app, subcommands);
112
+ const exitCode = await tryDispatchSubcommand(host.services, subcommands);
109
113
  await app.stop();
110
114
  await new Promise(r => setImmediate(r));
111
115
  process.exit(exitCode);
@@ -119,7 +123,7 @@ export async function startAalis(opts = {}) {
119
123
  for (const p of app.plugins.getStatus()) {
120
124
  if (p.state !== 'pending')
121
125
  continue;
122
- const unmet = (p.requiredServices ?? []).filter(svc => app.ctx.getService(svc) === undefined);
126
+ const unmet = (p.requiredServices ?? []).filter(svc => host.services.inspect(svc).length === 0);
123
127
  if (unmet.length > 0) {
124
128
  app.logger.warn(`插件 "${p.instanceId}" 依赖未满足,未激活(缺少服务: ${unmet.join('、')})`);
125
129
  }
package/dist/start.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { App } from '@aalis/core';
1
+ import type { Services } from '@aalis/core';
2
2
  /**
3
3
  * 把 argv 当作命令调用:`aalis <name> [args...]` ↔ chat 中的 `/<name> args`。
4
4
  *
@@ -10,5 +10,5 @@ import type { App } from '@aalis/core';
10
10
  *
11
11
  * 抽离到独立模块以便单测(src/index.ts 有顶层副作用,直接 import 会触发)。
12
12
  */
13
- export declare function tryDispatchSubcommand(app: App, argv: string[], out?: (msg: string) => void, err?: (msg: string) => void): Promise<number>;
13
+ export declare function tryDispatchSubcommand(services: Services, argv: string[], out?: (msg: string) => void, err?: (msg: string) => void): Promise<number>;
14
14
  //# sourceMappingURL=subcommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subcommand.d.ts","sourceRoot":"","sources":["../src/subcommand.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAA8B,EACpD,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAgC,GACrD,OAAO,CAAC,MAAM,CAAC,CAuBjB"}
1
+ {"version":3,"file":"subcommand.d.ts","sourceRoot":"","sources":["../src/subcommand.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAA8B,EACpD,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAgC,GACrD,OAAO,CAAC,MAAM,CAAC,CAuBjB"}
@@ -9,9 +9,9 @@
9
9
  *
10
10
  * 抽离到独立模块以便单测(src/index.ts 有顶层副作用,直接 import 会触发)。
11
11
  */
12
- export async function tryDispatchSubcommand(app, argv, out = msg => console.log(msg), err = msg => console.error(msg)) {
12
+ export async function tryDispatchSubcommand(services, argv, out = msg => console.log(msg), err = msg => console.error(msg)) {
13
13
  const [cmdName = '', ...rest] = argv;
14
- const commands = app.ctx.getService('commands');
14
+ const commands = services.get('commands');
15
15
  if (!commands) {
16
16
  err(`无法执行子命令「${cmdName}」:commands 服务不可用(未安装 @aalis/plugin-commands?)`);
17
17
  return 2;
@@ -1 +1 @@
1
- {"version":3,"file":"subcommand.js","sourceRoot":"","sources":["../src/subcommand.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAQ,EACR,IAAc,EACd,MAA6B,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EACpD,MAA6B,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;IAEtD,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiB,UAAU,CAAC,CAAC;IAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,GAAG,CAAC,WAAW,OAAO,+CAA+C,CAAC,CAAC;QACvE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,SAAS,OAAO,iBAAiB,OAAO,gBAAgB,CAAC,CAAC;QAC9D,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;QAC7C,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,KAAK;QACf,uEAAuE;QACvE,4DAA4D;QAC5D,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5D,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,IAAI,MAAM;QAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"subcommand.js","sourceRoot":"","sources":["../src/subcommand.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAkB,EAClB,IAAc,EACd,MAA6B,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EACpD,MAA6B,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;IAEtD,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAA+B,CAAC;IACxE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,GAAG,CAAC,WAAW,OAAO,+CAA+C,CAAC,CAAC;QACvE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,SAAS,OAAO,iBAAiB,OAAO,gBAAgB,CAAC,CAAC;QAC9D,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;QAC7C,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,KAAK;QACf,uEAAuE;QACvE,4DAA4D;QAC5D,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5D,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,IAAI,MAAM;QAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,CAAC,CAAC;AACX,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/runtime",
3
- "version": "0.12.4",
3
+ "version": "0.13.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,16 +26,17 @@
26
26
  "dependencies": {
27
27
  "chalk": "^5.4.0",
28
28
  "yaml": "^2.7.0",
29
- "@aalis/schema-config": ">=0.11.0 <1.0.0"
29
+ "@aalis/schema-config": ">=0.12.0 <1.0.0",
30
+ "@aalis/schema-log": ">=0.1.0 <1.0.0"
30
31
  },
31
32
  "peerDependencies": {
32
- "@aalis/core": ">=0.13.0 <1.0.0"
33
+ "@aalis/core": ">=0.17.0 <1.0.0"
33
34
  },
34
35
  "devDependencies": {
35
36
  "typescript": "^5.7.0",
36
37
  "@types/node": "^22.0.0",
37
- "@aalis/core": "0.13.0",
38
- "@aalis/api-commands": "0.5.1"
38
+ "@aalis/core": "0.17.0",
39
+ "@aalis/api-commands": "0.6.0"
39
40
  },
40
41
  "aalis": {
41
42
  "tooling": true