@aalis/runtime 0.10.1 → 0.11.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.
@@ -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,CAuB/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,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,CAwC/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"}
@@ -8,7 +8,7 @@
8
8
  // (配置快照 get/set、watch 透传、updatePluginConfig)。不接本模块的嵌入式
9
9
  // 宿主将没有自动配置同步与热重载——需要时用公开 API 自行编排。
10
10
  // ============================================================
11
- import { defaultsFrom } from '@aalis/schema-config';
11
+ import { defaultsFrom, validateConfig } from '@aalis/schema-config';
12
12
  /**
13
13
  * 将各插件 schema 派生默认值中缺失的字段合并到配置;同时按 configSchema
14
14
  * 移除多余字段。返回发生变更的插件 instanceId 列表。
@@ -30,7 +30,21 @@ export function syncPluginDefaults(app, opts) {
30
30
  const fileConfig = config.getPluginConfig(status.instanceId);
31
31
  let merged = deepMergeDefaults(defaults, fileConfig);
32
32
  if (trim && schema && Object.keys(schema).length > 0) {
33
- merged = removeExtraFields(merged, schema);
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
+ }
34
48
  }
35
49
  if (JSON.stringify(merged) !== JSON.stringify(fileConfig)) {
36
50
  config.setPluginConfig(status.instanceId, merged);
@@ -110,11 +124,15 @@ function deepMergeDefaults(defaults, current) {
110
124
  * 所以它的键集就是完整的白名单:不在 schema 里的字段,要么是用户手写的错别字,
111
125
  * 要么是已废弃的旧字段,裁掉即归位。无 schema 的插件不裁(见调用方守卫)。
112
126
  */
113
- function removeExtraFields(config, schema) {
127
+ function removeExtraFields(config, schema, removed, prefix = '') {
114
128
  const result = {};
115
129
  for (const [key, value] of Object.entries(config)) {
116
- if (!(key in schema))
130
+ if (!(key in schema)) {
131
+ // 被裁的键必须留痕——静默裁剪会让「字段被吃掉」与「用户没配」不可分辨,
132
+ // tool-browser 的 allowedHosts 正是这样潜伏多年(用户照注释配了、启动即被抹、无人知晓)。
133
+ removed?.push(prefix + key);
117
134
  continue;
135
+ }
118
136
  const schemaDef = schema[key];
119
137
  if (schemaDef.type === 'array') {
120
138
  result[key] = value;
@@ -124,7 +142,7 @@ function removeExtraFields(config, schema) {
124
142
  value !== null &&
125
143
  typeof value === 'object' &&
126
144
  !Array.isArray(value)) {
127
- result[key] = removeExtraFields(value, schemaDef.fields);
145
+ result[key] = removeExtraFields(value, schemaDef.fields, removed, `${prefix + key}.`);
128
146
  }
129
147
  else {
130
148
  result[key] = value;
@@ -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,9 +1,21 @@
1
- import type { PluginLoader } from '@aalis/core';
1
+ import type { Logger, PluginLoader, PluginModule } 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
+ /**
8
+ * ESM 命名空间可能把插件挂在 default 上(`export default {...}`)——此前该形态
9
+ * 会被加载判据静默拒收(作者最自然的写法=永不加载的死门)。解包后统一交判据。
10
+ */
11
+ export declare function unwrapPluginModule(ns: unknown): PluginModule;
12
+ /** 加载后形状告警:违例此前完全静默(仅 core 一行 debug),是「装了没反应」死门族。两加载器共用。 */
13
+ export declare function warnShape(logger: Logger, pkgName: string, mod: PluginModule): void;
14
+ /**
15
+ * 疑似插件缺关键词是「装了没反应」死门族之首:peer 依赖 core 却不带任何
16
+ * aalis-* 类型词(契约/前端/工具库各有其词,带了即非误漏)。两加载器共用。
17
+ */
18
+ export declare function warnLikelyPluginMissingKeyword(logger: Logger, name: string, meta: Record<string, unknown>): void;
7
19
  /**
8
20
  * 创建一个从项目 node_modules 解析插件的 PluginLoader。
9
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"node-modules-loader.d.ts","sourceRoot":"","sources":["../src/node-modules-loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAoB,YAAY,EAAgB,MAAM,aAAa,CAAC;AAyBhF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGvE;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,GAAE,MAAsB,GAAG,YAAY,CAqD9F"}
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"}
@@ -3,6 +3,7 @@ import { stat } from 'node:fs/promises';
3
3
  import { createRequire } from 'node:module';
4
4
  import { dirname, resolve } from 'node:path';
5
5
  import { pathToFileURL } from 'node:url';
6
+ import { DefaultLogger } from '@aalis/core';
6
7
  // ============================================================
7
8
  // NodeModulesPluginLoader —— 从 node_modules 解析并加载插件
8
9
  // ============================================================
@@ -33,6 +34,45 @@ export function isLoadablePlugin(meta) {
33
34
  const keywords = Array.isArray(meta.keywords) ? meta.keywords : [];
34
35
  return keywords.includes('aalis-plugin');
35
36
  }
37
+ /**
38
+ * ESM 命名空间可能把插件挂在 default 上(`export default {...}`)——此前该形态
39
+ * 会被加载判据静默拒收(作者最自然的写法=永不加载的死门)。解包后统一交判据。
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;
54
+ }
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 为函数/类不属插件契约,不会被解包)`);
60
+ }
61
+ else if (mod.name !== pkgName) {
62
+ logger.warn(`插件包 "${pkgName}" 的 module.name 为 "${mod.name}"——配置键/热扫描/卸载均以 module.name 为准,二者应一致`);
63
+ }
64
+ }
65
+ /**
66
+ * 疑似插件缺关键词是「装了没反应」死门族之首:peer 依赖 core 却不带任何
67
+ * aalis-* 类型词(契约/前端/工具库各有其词,带了即非误漏)。两加载器共用。
68
+ */
69
+ export function warnLikelyPluginMissingKeyword(logger, name, meta) {
70
+ const peers = { ...meta.peerDependencies, ...meta.dependencies };
71
+ const keywords = Array.isArray(meta.keywords) ? meta.keywords : [];
72
+ if ('@aalis/core' in peers && !keywords.some(k => k.startsWith('aalis-'))) {
73
+ logger.warn(`依赖 "${name}" 疑似 Aalis 插件但 keywords 缺 "aalis-plugin",不会被加载——若确为插件请补关键词`);
74
+ }
75
+ }
36
76
  /**
37
77
  * 创建一个从项目 node_modules 解析插件的 PluginLoader。
38
78
  *
@@ -47,6 +87,7 @@ export function createNodeModulesPluginLoader(projectDir = process.cwd()) {
47
87
  const root = resolve(projectDir);
48
88
  // 以项目 package.json 为基准创建 require,确保从项目 node_modules 解析
49
89
  const req = createRequire(pathToFileURL(resolve(root, 'package.json')));
90
+ const logger = new DefaultLogger('aalis:loader');
50
91
  return {
51
92
  async discover() {
52
93
  const rootPkg = readJson(resolve(root, 'package.json'));
@@ -62,18 +103,28 @@ export function createNodeModulesPluginLoader(projectDir = process.cwd()) {
62
103
  try {
63
104
  metaPath = req.resolve(`${dep}/package.json`);
64
105
  }
65
- catch {
66
- continue; // 未安装或无法解析,跳过
106
+ catch (err) {
107
+ // 未安装保持安静;但 exports 映射屏蔽 package.json 的包(装了却读不到
108
+ // 元数据)是链上最早的静默死点——无法判定是否插件,必须出声。
109
+ if (err.code === 'ERR_PACKAGE_PATH_NOT_EXPORTED') {
110
+ logger.warn(`依赖 "${dep}" 的 exports 映射未导出 "./package.json",无法读取元数据判定是否插件,跳过`);
111
+ }
112
+ continue;
67
113
  }
68
114
  const meta = readJson(metaPath);
69
- if (!meta || !isLoadablePlugin(meta))
115
+ if (!meta)
116
+ continue;
117
+ if (!isLoadablePlugin(meta)) {
118
+ warnLikelyPluginMissingKeyword(logger, dep, meta);
70
119
  continue;
120
+ }
71
121
  let entry;
72
122
  try {
73
123
  entry = req.resolve(dep);
74
124
  }
75
125
  catch {
76
- continue; // 解析不到入口(如缺 main/exports),跳过
126
+ logger.warn(`插件 "${dep}" 入口无法解析(缺 main/exports 或产物未打进 files),跳过`);
127
+ continue;
77
128
  }
78
129
  discovered.push({
79
130
  name: meta.name ?? dep,
@@ -84,7 +135,9 @@ export function createNodeModulesPluginLoader(projectDir = process.cwd()) {
84
135
  return discovered;
85
136
  },
86
137
  async load(desc) {
87
- return (await import(pathToFileURL(desc.source).href));
138
+ const mod = unwrapPluginModule(await import(pathToFileURL(desc.source).href));
139
+ warnShape(logger, desc.name, mod);
140
+ return mod;
88
141
  },
89
142
  async reload(desc) {
90
143
  let cacheKey = '';
@@ -94,7 +147,9 @@ export function createNodeModulesPluginLoader(projectDir = process.cwd()) {
94
147
  catch {
95
148
  /* stat 失败时用空 key,让 import 自己报错 */
96
149
  }
97
- return (await import(pathToFileURL(desc.source).href + cacheKey));
150
+ const mod = unwrapPluginModule(await import(pathToFileURL(desc.source).href + cacheKey));
151
+ warnShape(logger, desc.name, mod);
152
+ return mod;
98
153
  },
99
154
  };
100
155
  }
@@ -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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,+DAA+D;AAC/D,oDAAoD;AACpD,+DAA+D;AAC/D,EAAE;AACF,kDAAkD;AAClD,kEAAkE;AAClE,qEAAqE;AACrE,mCAAmC;AACnC,EAAE;AACF,iBAAiB;AACjB,qDAAqD;AACrD,uFAAuF;AACvF,8FAA8F;AAC9F,sGAAsG;AAEtG,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA4B,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA6B;IAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,QAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,OAAO,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAW;IAC5C,MAAM,GAAG,GAAG,EAA+C,CAAC;IAC5D,0DAA0D;IAC1D,+DAA+D;IAC/D,0DAA0D;IAC1D,oCAAoC;IACpC,8BAA8B;IAC9B,OAAO,OAAO,GAAG,EAAE,KAAK,KAAK,UAAU;QACrC,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ;QAChC,GAAG,CAAC,OAAO,KAAK,IAAI;QACpB,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,UAAU;QACvC,CAAC,CAAC,GAAG,CAAC,OAAO;QACb,CAAC,CAAC,GAAG,CAAC;AACV,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,OAAe,EAAE,GAAiB;IAC1E,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,OAAO,GAAG,EAAE,KAAK,KAAK,UAAU,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CACT,OAAO,OAAO,uCAAuC;YACnD,8DAA8D,CACjE,CAAC;IACJ,CAAC;SAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CACT,QAAQ,OAAO,sBAAsB,GAAG,CAAC,IAAI,sCAAsC,CACpF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAc,EAAE,IAAY,EAAE,IAA6B;IACxG,MAAM,KAAK,GAAG,EAAE,GAAI,IAAI,CAAC,gBAA2B,EAAE,GAAI,IAAI,CAAC,YAAuB,EAAE,CAAC;IACzF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,QAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,IAAI,aAAa,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,4DAA4D,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B,CAAC,aAAqB,OAAO,CAAC,GAAG,EAAE;IAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,uDAAuD;IACvD,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;IAEjD,OAAO;QACL,KAAK,CAAC,QAAQ;YACZ,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG;gBACX,GAAG,CAAE,OAAO,CAAC,YAAuC,IAAI,EAAE,CAAC;gBAC3D,GAAG,CAAE,OAAO,CAAC,oBAA+C,IAAI,EAAE,CAAC;aACpE,CAAC;YAEF,MAAM,UAAU,GAAuB,EAAE,CAAC;YAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,IAAI,QAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC;gBAChD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,gDAAgD;oBAChD,iCAAiC;oBACjC,IAAK,GAA6B,CAAC,IAAI,KAAK,+BAA+B,EAAE,CAAC;wBAC5E,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,qDAAqD,CAAC,CAAC;oBAC/E,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,8BAA8B,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAClD,SAAS;gBACX,CAAC;gBACD,IAAI,KAAa,CAAC;gBAClB,IAAI,CAAC;oBACH,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,0CAA0C,CAAC,CAAC;oBAClE,SAAS;gBACX,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAG,IAAI,CAAC,IAAe,IAAI,GAAG;oBAClC,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;iBACrC,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,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClC,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,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -12,7 +12,8 @@ interface FsYamlConfigProviderResult {
12
12
  *
13
13
  * - 同步读取 + 解析(值原样加载,不做任何替换——`${VAR}` 插值已随 `.env` 机制删除)
14
14
  * - `save()` 同步写回
15
- * - `watch()` `fs.watch` + 300ms debounce,并通过 lastWrittenYaml 去重避免自激
15
+ * - `watch()` 监听**配置文件所在目录**(按文件名过滤)+ 300ms debounce
16
+ * 并通过与 `rawYaml` 的内容比对去重,避免自激
16
17
  *
17
18
  * 调用时一次性返回 config 快照、provider 和 dataDir 三件套,方便 src/index.ts 组装。
18
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EAEd,YAAY,EAEZ,eAAe,EAChB,MAAM,aAAa,CAAC;AA8CrB,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;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAgE1F;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAmDvE;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":"AAKA,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,CAkI1F;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"}
package/dist/providers.js CHANGED
@@ -1,10 +1,11 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { existsSync, watch as fsWatch, readFileSync, rmSync, writeFileSync } from 'node:fs';
3
3
  import { readdir, stat } from 'node:fs/promises';
4
- import { dirname, resolve } from 'node:path';
4
+ import { basename, dirname, resolve } from 'node:path';
5
5
  import { pathToFileURL } from 'node:url';
6
+ import { DefaultLogger } from '@aalis/core';
6
7
  import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
7
- import { isLoadablePlugin } from './node-modules-loader.js';
8
+ import { isLoadablePlugin, unwrapPluginModule, warnLikelyPluginMissingKeyword, warnShape, } from './node-modules-loader.js';
8
9
  import { disarmTerminalStateRestorer } from './terminal.js';
9
10
  // ============================================================
10
11
  // FsYamlConfigProvider —— 从 YAML 文件加载+持久化配置
@@ -50,7 +51,8 @@ function buildSaveYaml(config) {
50
51
  *
51
52
  * - 同步读取 + 解析(值原样加载,不做任何替换——`${VAR}` 插值已随 `.env` 机制删除)
52
53
  * - `save()` 同步写回
53
- * - `watch()` `fs.watch` + 300ms debounce,并通过 lastWrittenYaml 去重避免自激
54
+ * - `watch()` 监听**配置文件所在目录**(按文件名过滤)+ 300ms debounce
55
+ * 并通过与 `rawYaml` 的内容比对去重,避免自激
54
56
  *
55
57
  * 调用时一次性返回 config 快照、provider 和 dataDir 三件套,方便 src/index.ts 组装。
56
58
  */
@@ -58,14 +60,48 @@ export function createFsYamlConfigProvider(configPath) {
58
60
  const absPath = configPath ? resolve(configPath) : resolve(process.cwd(), DEFAULT_CONFIG_FILE);
59
61
  const dataDir = dirname(absPath);
60
62
  let rawYaml = null;
61
- let lastWrittenYaml = null;
62
63
  let watcher = null;
63
64
  let debounceTimer = null;
65
+ // 走 LogHub 而非 console:file logger 只订阅 LogHub,脱终端部署下 stderr
66
+ // 进不了 data/latest.log,console 版的告警等于没加。
67
+ const logger = new DefaultLogger('aalis:config');
68
+ /**
69
+ * 解析错误只取首行:yaml 的完整消息会内嵌出错位置附近的源码摘录,而配置
70
+ * 文件里有真实密钥——摘录随日志进 data/latest.log 即泄漏(WebUI 日志面板、
71
+ * 崩溃落盘、外贴排查都是暴露面)。诊断种类与行列号都在首行;
72
+ * **位置进日志,内容不进**(与配置校验消息不带值同一条纪律)。
73
+ */
74
+ const parseErrorFirstLine = (err) => (err instanceof Error ? err.message : String(err)).split('\n')[0];
75
+ /** 值必须是纯映射才算配置:裸标量/数组会被下游按 Object.entries 摊开写回垃圾。 */
76
+ const describeNonMapping = (v) => {
77
+ if (v === null)
78
+ return 'empty';
79
+ if (Array.isArray(v))
80
+ return 'array';
81
+ if (typeof v !== 'object')
82
+ return typeof v;
83
+ return null;
84
+ };
64
85
  function loadFromDisk() {
65
86
  if (existsSync(absPath)) {
66
87
  rawYaml = readFileSync(absPath, 'utf-8');
67
- return (parseYaml(rawYaml) ?? {});
88
+ let parsed;
89
+ try {
90
+ parsed = parseYaml(rawYaml) ?? {};
91
+ }
92
+ catch (err) {
93
+ // 启动语法错误照样响亮拒启,但剥离源码摘录再上抛——崩溃日志同为暴露面。
94
+ throw new Error(`配置文件解析失败:${parseErrorFirstLine(err)}(${absPath})`);
95
+ }
96
+ // 启动坏就该响亮:语法错误本就上抛,「解析成功但不是配置对象」同样上抛,
97
+ // 不能放进 core 摊成 "0": f 再写回磁盘。空文件视同缺省(?? {} 已兜)。
98
+ const kind = describeNonMapping(parsed);
99
+ if (kind) {
100
+ throw new Error(`配置文件不是一个配置对象(得到 ${kind}):${absPath}`);
101
+ }
102
+ return parsed;
68
103
  }
104
+ logger.warn(`配置文件不存在(${absPath}),使用内存默认配置启动`);
69
105
  rawYaml = null;
70
106
  return { name: 'Aalis', logLevel: 'info', plugins: {} };
71
107
  }
@@ -73,32 +109,68 @@ export function createFsYamlConfigProvider(configPath) {
73
109
  const provider = {
74
110
  save(config) {
75
111
  const yaml = buildSaveYaml(config);
76
- lastWrittenYaml = yaml;
77
112
  writeFileSync(absPath, yaml, 'utf-8');
78
113
  rawYaml = yaml;
79
114
  },
80
115
  watch(onChange) {
81
116
  if (watcher)
82
117
  return () => { };
83
- if (!existsSync(absPath))
118
+ // 守目录而非文件:文件可能尚未落盘(首启前),建出来时也要能接上。
119
+ if (!existsSync(dataDir))
84
120
  return () => { };
121
+ const fileName = basename(absPath);
85
122
  try {
86
- watcher = fsWatch(absPath, () => {
123
+ // **必须监听目录,不能监听文件本身。** fs.watch 绑的是那一刻的 inode,而编辑器
124
+ // 保存普遍是「写临时文件 → rename 覆盖」——rename 之后同名文件已是新 inode,
125
+ // 绑在旧 inode 上的 watcher 从此永不触发,且无异常、无日志、无返回值。
126
+ // 而 save() 用的是原地 writeFileSync(inode 不变),所以这条死路**只有人改配置
127
+ // 会踩到**——恰恰是 watch 唯一存在的理由,于是自测与自动化里它永远看起来是好的。
128
+ watcher = fsWatch(dataDir, (_event, filename) => {
129
+ // filename 平台不保证非空;为空时不敢过滤,交给下面的内容比对兜底。
130
+ if (filename && basename(filename.toString()) !== fileName)
131
+ return;
87
132
  if (debounceTimer)
88
133
  clearTimeout(debounceTimer);
89
134
  debounceTimer = setTimeout(() => {
90
135
  debounceTimer = null;
136
+ // 读盘失败与解析失败必须拆开:编辑器先删后建式保存的瞬时 ENOENT
137
+ // 若与语法错误共用一个 catch,会被误报成「你的 YAML 写错了」——
138
+ // 比不报还糟。读不到安静返回(下一个事件会来),解析失败才出声。
139
+ let current;
91
140
  try {
92
- const current = readFileSync(absPath, 'utf-8');
93
- if (lastWrittenYaml !== null && current === lastWrittenYaml)
94
- return;
95
- lastWrittenYaml = null;
96
- rawYaml = current;
97
- const parsed = (parseYaml(current) ?? {});
98
- onChange(parsed);
141
+ current = readFileSync(absPath, 'utf-8');
99
142
  }
100
143
  catch {
101
- /* 文件可能被部分写入,忽略 */
144
+ return;
145
+ }
146
+ // rawYaml 在装载 / save / 本回调三处维护,比对它一并挡掉自写回、目录里
147
+ // 无关文件的杂音、touch,以及改完又改回来的空变更。
148
+ if (current === rawYaml)
149
+ return;
150
+ let parsed;
151
+ try {
152
+ parsed = parseYaml(current);
153
+ }
154
+ catch (err) {
155
+ // rawYaml 只在解析成功后推进(不变量=当前生效的那份内容):
156
+ // 同一份坏内容每次保存都重新告警,直到改对为止。
157
+ logger.warn(`配置文件解析失败,本次变更已忽略,仍在使用上一份配置:${parseErrorFirstLine(err)}`);
158
+ return;
159
+ }
160
+ // 空文件 / 裸标量 / 数组:都是「解析不出一个配置对象」的同一问题,
161
+ // 一道闸拒收——放行会让全部插件按默认值 bounce 或往配置文件写回垃圾。
162
+ const kind = describeNonMapping(parsed);
163
+ if (kind) {
164
+ logger.warn(`配置文件不是一个配置对象(得到 ${kind}),本次变更已忽略`);
165
+ return;
166
+ }
167
+ rawYaml = current;
168
+ try {
169
+ onChange(parsed);
170
+ }
171
+ catch (err) {
172
+ // 变更处理器抛错此前被整段 catch 静默吞掉——保留兜底但必须出声。
173
+ logger.warn(`配置变更处理器抛错:${err instanceof Error ? err.message : String(err)}`);
102
174
  }
103
175
  }, 300);
104
176
  });
@@ -130,6 +202,9 @@ export function createFsYamlConfigProvider(configPath) {
130
202
  */
131
203
  export function createFsPluginLoader(packagesDir) {
132
204
  const rootDir = packagesDir ?? resolve(process.cwd(), 'packages');
205
+ // 死门信号与 node_modules 加载器同一套(本仓自托管入口走的正是本加载器,
206
+ // 只在一边出声等于对自己的部署失聪)。
207
+ const loaderLogger = new DefaultLogger('aalis:loader');
133
208
  return {
134
209
  async discover() {
135
210
  let entries;
@@ -152,8 +227,10 @@ export function createFsPluginLoader(packagesDir) {
152
227
  }
153
228
  // 与 node_modules 加载器同一标准:纯 aalis-plugin 关键词正向门(单一真相,防两处漂移)。
154
229
  // 非插件(核心/契约/前端/工具链/工具库)各带自己的类型关键词、不带 aalis-plugin,自然不被收录。
155
- if (!isLoadablePlugin(pkgJson))
230
+ if (!isLoadablePlugin(pkgJson)) {
231
+ warnLikelyPluginMissingKeyword(loaderLogger, entry, pkgJson);
156
232
  continue;
233
+ }
157
234
  const main = pkgJson.main || 'dist/index.js';
158
235
  discovered.push({
159
236
  name: pkgJson.name,
@@ -164,7 +241,8 @@ export function createFsPluginLoader(packagesDir) {
164
241
  return discovered;
165
242
  },
166
243
  async load(desc) {
167
- const mod = (await import(pathToFileURL(desc.source).href));
244
+ const mod = unwrapPluginModule(await import(pathToFileURL(desc.source).href));
245
+ warnShape(loaderLogger, desc.name, mod);
168
246
  return mod;
169
247
  },
170
248
  async reload(desc) {
@@ -175,7 +253,7 @@ export function createFsPluginLoader(packagesDir) {
175
253
  catch {
176
254
  /* stat 失败时用空 key,让 import 自己报错 */
177
255
  }
178
- const mod = (await import(pathToFileURL(desc.source).href + cacheKey));
256
+ const mod = unwrapPluginModule(await import(pathToFileURL(desc.source).href + cacheKey));
179
257
  return mod;
180
258
  },
181
259
  };
@@ -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,UAAU,EAAkB,KAAK,IAAI,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5G,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AASzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,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;;;;;;;;GAQG;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,eAAe,GAAkB,IAAI,CAAC;IAC1C,IAAI,OAAO,GAAqB,IAAI,CAAC;IACrC,IAAI,aAAa,GAAyC,IAAI,CAAC;IAE/D,SAAS,YAAY;QACnB,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAgB,CAAC;QACnD,CAAC;QACD,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,eAAe,GAAG,IAAI,CAAC;YACvB,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,QAAQ;YACZ,IAAI,OAAO;gBAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE;oBAC9B,IAAI,aAAa;wBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC/C,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC9B,aAAa,GAAG,IAAI,CAAC;wBACrB,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;4BAC/C,IAAI,eAAe,KAAK,IAAI,IAAI,OAAO,KAAK,eAAe;gCAAE,OAAO;4BACpE,eAAe,GAAG,IAAI,CAAC;4BACvB,OAAO,GAAG,OAAO,CAAC;4BAClB,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAA4B,CAAC;4BACrE,QAAQ,CAAC,MAAqB,CAAC,CAAC;wBAClC,CAAC;wBAAC,MAAM,CAAC;4BACP,kBAAkB;wBACpB,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;IAElE,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;oBAAE,SAAS;gBACzC,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,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAiB,CAAC;YAC5E,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,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAiB,CAAC;YACvF,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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/runtime",
3
- "version": "0.10.1",
3
+ "version": "0.11.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,7 +26,7 @@
26
26
  "dependencies": {
27
27
  "chalk": "^5.4.0",
28
28
  "yaml": "^2.7.0",
29
- "@aalis/schema-config": ">=0.10.0 <1.0.0"
29
+ "@aalis/schema-config": ">=0.11.0 <1.0.0"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@aalis/core": ">=0.9.0 <1.0.0"
@@ -34,7 +34,7 @@
34
34
  "devDependencies": {
35
35
  "typescript": "^5.7.0",
36
36
  "@types/node": "^22.0.0",
37
- "@aalis/core": "0.11.0",
37
+ "@aalis/core": "0.12.0",
38
38
  "@aalis/api-commands": "0.5.0"
39
39
  },
40
40
  "aalis": {