@aalis/core 0.11.0 → 0.12.1

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.
Files changed (52) hide show
  1. package/dist/app.d.ts +11 -2
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +49 -7
  4. package/dist/app.js.map +1 -1
  5. package/dist/config.d.ts +5 -1
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +5 -1
  8. package/dist/config.js.map +1 -1
  9. package/dist/context.d.ts +41 -8
  10. package/dist/context.d.ts.map +1 -1
  11. package/dist/context.js +109 -31
  12. package/dist/context.js.map +1 -1
  13. package/dist/contributions.d.ts +3 -3
  14. package/dist/disposable-chain.d.ts +3 -1
  15. package/dist/disposable-chain.d.ts.map +1 -1
  16. package/dist/disposable-chain.js +7 -3
  17. package/dist/disposable-chain.js.map +1 -1
  18. package/dist/events.d.ts +10 -2
  19. package/dist/events.d.ts.map +1 -1
  20. package/dist/events.js +30 -7
  21. package/dist/events.js.map +1 -1
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/plugin-activation.d.ts +23 -1
  27. package/dist/plugin-activation.d.ts.map +1 -1
  28. package/dist/plugin-activation.js +71 -8
  29. package/dist/plugin-activation.js.map +1 -1
  30. package/dist/plugin-topology.d.ts.map +1 -1
  31. package/dist/plugin-topology.js +16 -17
  32. package/dist/plugin-topology.js.map +1 -1
  33. package/dist/plugin.d.ts +5 -3
  34. package/dist/plugin.d.ts.map +1 -1
  35. package/dist/plugin.js +68 -42
  36. package/dist/plugin.js.map +1 -1
  37. package/dist/services-helpers.d.ts +0 -2
  38. package/dist/services-helpers.d.ts.map +1 -1
  39. package/dist/services-helpers.js +1 -12
  40. package/dist/services-helpers.js.map +1 -1
  41. package/dist/services.d.ts +7 -28
  42. package/dist/services.d.ts.map +1 -1
  43. package/dist/services.js +2 -28
  44. package/dist/services.js.map +1 -1
  45. package/dist/types/app.d.ts +0 -1
  46. package/dist/types/app.d.ts.map +1 -1
  47. package/dist/types/plugin.d.ts +3 -2
  48. package/dist/types/plugin.d.ts.map +1 -1
  49. package/dist/types/plugin.js.map +1 -1
  50. package/dist/types/services.js +2 -2
  51. package/dist/types/services.js.map +1 -1
  52. package/package.json +1 -1
package/dist/app.d.ts CHANGED
@@ -121,12 +121,17 @@ export declare class App {
121
121
  private pluginDefaults?;
122
122
  private readonly restartStrategy?;
123
123
  private readonly disposeTimeoutMs;
124
- /** 已发现插件的描述符索引(按模块名)。用于热重载时拿到 source/metadata。 */
125
- private readonly discoveredCache;
126
124
  constructor(options: AppOptions);
127
125
  /**
128
126
  * 注册插件
129
127
  *
128
+ * **resolve 语义 = 注册落账 + 尽力即时激活**:完全静置时激活在返回前同步收敛;
129
+ * 有在飞 recompute(反应式级联/另一插件正在激活)**或手动 dispose 段在途**
130
+ * (unload/disable/bounce 的挂起窗口)时,本次请求排队并入其收尾,
131
+ * resolve 时激活可能尚未发生(排队不丢失——单飞排队见 recompute)。需要
132
+ * 「激活已落定」的确定时机,调用后 `await app.plugins.idle()`(不得在插件
133
+ * apply/onDispose 内这样做——自等死锁,见 idle)。
134
+ *
130
135
  * @param module 插件模块
131
136
  * @param config 插件配置(覆盖文件配置)
132
137
  * @param instanceId 实例 ID(多实例时为 `name:suffix`,留空则使用 module.name)
@@ -143,6 +148,10 @@ export declare class App {
143
148
  *
144
149
  * 优先调用 `pluginLoader.reload(desc)` 实现热重载(loader 可做缓存失效);
145
150
  * 未实现 reload 时退化到普通 `load(desc)`。
151
+ *
152
+ * resolve 语义同 `plugin()`(注册落账+尽力即时激活)。**刻意不等静置**:本方法
153
+ * 挂在 HTTP 热路径上,等静置会把请求延迟耦合到无关插件的慢 apply;市场的
154
+ * 就位判据本就只看注册表在场(见 package-manager 的 isPluginRegistered)。
146
155
  */
147
156
  rescanPlugins(): Promise<string[]>;
148
157
  /**
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/app.js CHANGED
@@ -39,8 +39,6 @@ export class App {
39
39
  pluginDefaults;
40
40
  restartStrategy;
41
41
  disposeTimeoutMs;
42
- /** 已发现插件的描述符索引(按模块名)。用于热重载时拿到 source/metadata。 */
43
- discoveredCache = new Map();
44
42
  constructor(options) {
45
43
  // 1. 配置:接受快照或已构造的 ConfigManager
46
44
  const config = options.config instanceof ConfigManager
@@ -109,17 +107,27 @@ export class App {
109
107
  /**
110
108
  * 注册插件
111
109
  *
110
+ * **resolve 语义 = 注册落账 + 尽力即时激活**:完全静置时激活在返回前同步收敛;
111
+ * 有在飞 recompute(反应式级联/另一插件正在激活)**或手动 dispose 段在途**
112
+ * (unload/disable/bounce 的挂起窗口)时,本次请求排队并入其收尾,
113
+ * resolve 时激活可能尚未发生(排队不丢失——单飞排队见 recompute)。需要
114
+ * 「激活已落定」的确定时机,调用后 `await app.plugins.idle()`(不得在插件
115
+ * apply/onDispose 内这样做——自等死锁,见 idle)。
116
+ *
112
117
  * @param module 插件模块
113
118
  * @param config 插件配置(覆盖文件配置)
114
119
  * @param instanceId 实例 ID(多实例时为 `name:suffix`,留空则使用 module.name)
115
120
  */
116
121
  async plugin(module, config, instanceId) {
117
122
  const id = instanceId ?? module.name;
118
- // 合并优先级: 宿主派生的默认配置 ← 配置文件 ← 代码传入。
119
- // 这里只做顶层浅合并——嵌套块的深回填属宿主的配置文件政策,不在注册机制内。
123
+ // 合并优先级: 宿主派生的默认配置 ← 配置文件 ← 代码传入,**逐层深合并**:
124
+ // 同一路径上双方都是纯对象则递归,否则后者整体覆盖(数组与非纯对象是原子值)。
125
+ // 与宿主层(runtime/config-sync.ts)落盘回填默认值时的合并语义一致——顶层浅合并会让
126
+ // 配置文件里只写了半块的嵌套组(只写 server.port)把派生默认值整块顶掉,
127
+ // 插件首次 apply 就拿到缺 server.host 的配置。
120
128
  const defaults = this.pluginDefaults?.(module) ?? {};
121
129
  const fileConfig = this.ctx.config.getPluginConfig(id);
122
- const mergedConfig = { ...defaults, ...fileConfig, ...config };
130
+ const mergedConfig = mergeConfigLayers(mergeConfigLayers(defaults, fileConfig), config ?? {});
123
131
  await this.plugins.register(module, mergedConfig, id);
124
132
  }
125
133
  /**
@@ -137,7 +145,6 @@ export class App {
137
145
  const loadedModules = new Map();
138
146
  // 加载所有模块(M2 后无 Context.extend 顶层副作用,单次遍历即可:加载并立即注册激活)
139
147
  for (const desc of discovered) {
140
- this.discoveredCache.set(desc.name, desc);
141
148
  try {
142
149
  const mod = await this.pluginLoader.load(desc);
143
150
  if (!mod || typeof mod.apply !== 'function' || !mod.name) {
@@ -182,6 +189,11 @@ export class App {
182
189
  }
183
190
  }
184
191
  // 配置同步政策(默认值回填 / schema 裁剪)属宿主层,由宿主在本方法之后自行执行。
192
+ // 引导期收敛保证的结构化落点:register 的 recompute 在有在飞 run 时排队早退
193
+ // (见 plugin() JSDoc),此前「本方法返回即全部收敛」靠调用点 await 交错偶然
194
+ // 成立——ready / app:started 的发出时机依赖这条保证,必须等静置而非碰运气。
195
+ // 引导路径不在任何 apply 内,无 idle 自等死锁面。
196
+ await this.plugins.idle();
185
197
  }
186
198
  /**
187
199
  * 重新扫描插件源,加载新发现的插件(已注册的跳过)。
@@ -189,6 +201,10 @@ export class App {
189
201
  *
190
202
  * 优先调用 `pluginLoader.reload(desc)` 实现热重载(loader 可做缓存失效);
191
203
  * 未实现 reload 时退化到普通 `load(desc)`。
204
+ *
205
+ * resolve 语义同 `plugin()`(注册落账+尽力即时激活)。**刻意不等静置**:本方法
206
+ * 挂在 HTTP 热路径上,等静置会把请求延迟耦合到无关插件的慢 apply;市场的
207
+ * 就位判据本就只看注册表在场(见 package-manager 的 isPluginRegistered)。
192
208
  */
193
209
  async rescanPlugins() {
194
210
  if (!this.pluginLoader)
@@ -196,7 +212,6 @@ export class App {
196
212
  const discovered = await this.pluginLoader.discover();
197
213
  const loaded = [];
198
214
  for (const desc of discovered) {
199
- this.discoveredCache.set(desc.name, desc);
200
215
  // 跳过已注册的
201
216
  if (this.plugins.getPlugin(desc.name))
202
217
  continue;
@@ -288,4 +303,31 @@ export class App {
288
303
  this.logger.info('已停止');
289
304
  }
290
305
  }
306
+ /**
307
+ * 配置层的逐层深合并:同一键上 base 与 override 都是纯对象时递归合并,
308
+ * 否则 override 的值整体覆盖。数组与非纯对象(Date / Map / 类实例)当作
309
+ * 原子值,只覆盖不逐元素合并。
310
+ *
311
+ * 全程返回新对象、不改写入参:`defaults` 可能是宿主复用的常量,`fileConfig`
312
+ * 是 ConfigManager 持有的活对象,合并写回去就是隔空篡改配置。
313
+ */
314
+ function mergeConfigLayers(base, override) {
315
+ const result = { ...base };
316
+ for (const [key, value] of Object.entries(override)) {
317
+ // `__proto__` 跳过:逐键赋值会触发原型 setter,把整个配置对象的原型换成外来对象
318
+ // (对象字面量里它是原型语法糖,但 JSON.parse 出来的配置文件带的是自有键,会走到这里)。
319
+ // 配置层不承载原型语义,这个键在配置里没有合法含义。
320
+ if (key === '__proto__')
321
+ continue;
322
+ const prev = result[key];
323
+ result[key] = isPlainObject(prev) && isPlainObject(value) ? mergeConfigLayers(prev, value) : value;
324
+ }
325
+ return result;
326
+ }
327
+ function isPlainObject(value) {
328
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
329
+ return false;
330
+ const proto = Object.getPrototypeOf(value);
331
+ return proto === Object.prototype || proto === null;
332
+ }
291
333
  //# sourceMappingURL=app.js.map
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -45,9 +45,10 @@ export interface ConfigManagerOptions {
45
45
  * 职责:
46
46
  * - 持有当前配置快照(`AalisConfig`)
47
47
  * - 提供 get/set/getPluginConfig 等访问器
48
- * - 处理插件默认配置合并、schema 裁剪、服务偏好
48
+ * - 持有服务偏好表(serviceName → preferred contextId)
49
49
  *
50
50
  * **不**做的事:
51
+ * - 不做插件默认配置合并与 schema 裁剪——归宿主的 config-sync 政策
51
52
  * - 不读写文件,不解析 yaml/json,不 watch 文件系统
52
53
  * ——这些由 `ConfigProvider`(宿主注入)负责
53
54
  *
@@ -81,6 +82,9 @@ export declare class ConfigManager {
81
82
  /**
82
83
  * 持久化当前配置。委托给 provider,无 provider 时静默忽略(内存模式)。
83
84
  * 同步语义:若 provider 异步保存,调用方不会等待完成——这与原 fs sync 行为一致。
85
+ *
86
+ * @internal 机制口。公开入口是 `app.saveConfig()`(AppService 契约),全部插件
87
+ * 消费者都应走它;本方法仅供 App 门面与宿主使用,避免同一件事两条公开路。
84
88
  */
85
89
  save(): void;
86
90
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,gBAAgB;IAChB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AASD,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,gBAAgB,CAA6B;gBAEzC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAMhE,GAAG,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAIxD,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;IAInG;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB,MAAM,IAAI,QAAQ,CAAC,WAAW,CAAC;IAI/B,GAAG,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAIrE,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI1E,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI5C,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI7C,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAY5D,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI/C,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAK3D,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3C;;;OAGG;IACH,IAAI,IAAI,IAAI;IAUZ;;;;;;;;OAQG;IACH,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW;IAK1C;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAUjC,OAAO,IAAI,IAAI;CAKhB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,gBAAgB;IAChB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AASD,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,gBAAgB,CAA6B;gBAEzC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAMhE,GAAG,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAIxD,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;IAInG;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB,MAAM,IAAI,QAAQ,CAAC,WAAW,CAAC;IAI/B,GAAG,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAIrE,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI1E,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI5C,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI7C,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAY5D,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI/C,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAK3D,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3C;;;;;;OAMG;IACH,IAAI,IAAI,IAAI;IAUZ;;;;;;;;OAQG;IACH,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW;IAK1C;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAUjC,OAAO,IAAI,IAAI;CAKhB"}
package/dist/config.js CHANGED
@@ -10,9 +10,10 @@ const DEFAULT_CONFIG = {
10
10
  * 职责:
11
11
  * - 持有当前配置快照(`AalisConfig`)
12
12
  * - 提供 get/set/getPluginConfig 等访问器
13
- * - 处理插件默认配置合并、schema 裁剪、服务偏好
13
+ * - 持有服务偏好表(serviceName → preferred contextId)
14
14
  *
15
15
  * **不**做的事:
16
+ * - 不做插件默认配置合并与 schema 裁剪——归宿主的 config-sync 政策
16
17
  * - 不读写文件,不解析 yaml/json,不 watch 文件系统
17
18
  * ——这些由 `ConfigProvider`(宿主注入)负责
18
19
  *
@@ -87,6 +88,9 @@ export class ConfigManager {
87
88
  /**
88
89
  * 持久化当前配置。委托给 provider,无 provider 时静默忽略(内存模式)。
89
90
  * 同步语义:若 provider 异步保存,调用方不会等待完成——这与原 fs sync 行为一致。
91
+ *
92
+ * @internal 机制口。公开入口是 `app.saveConfig()`(AppService 契约),全部插件
93
+ * 消费者都应走它;本方法仅供 App 门面与宿主使用,避免同一件事两条公开路。
90
94
  */
91
95
  save() {
92
96
  if (!this.provider?.save)
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -25,8 +25,9 @@ export declare class Context {
25
25
  /**
26
26
  * 开发模式开关——由 App 注入,子 Context 通过 fork 继承。
27
27
  *
28
- * - `true`(默认):`provide` 时按声明的能力跑探测器,暴露"声明与实现不符"
29
- * - `false`(生产):跳过探测,节省热路径开销
28
+ * - `true`(默认):`provide` 时跑注册校验(entryId 前缀 / 重复 provide,见
29
+ * validateProvide),激活后做 provides 反向一致性 warn
30
+ * - `false`(生产):跳过上述校验
30
31
  *
31
32
  * core 不读 `process.env`——是否 dev 由宿主决定。
32
33
  */
@@ -47,11 +48,23 @@ export declare class Context {
47
48
  * 条目数有界于**当前存活**的贡献数:退订时由 off 的自移除逻辑摘掉本条。
48
49
  */
49
50
  private readonly _contributionDisposers;
51
+ /** 贡献登记表 mapKey 分隔符:NUL 是唯一保证不出现在 point 名与贡献 id 里的字符(id 只禁 '/',空格等均合法)。 */
52
+ private static readonly CONTRIB_KEY_SEP;
50
53
  /** 活跃沙盒子上下文 id(useModule)——用于同名重复挂载时唯一化 childId。 */
51
54
  private readonly _moduleIds;
52
55
  private _disposables;
53
56
  private _children;
54
57
  private _parent?;
58
+ /**
59
+ * post-dispose 注册政策(两档,各入口守卫引用此处):
60
+ * - 订阅类(on/middleware/contribute/provide/whenService):warn + no-op——调用方常是
61
+ * 插件的异步续段,清理路径上不抛错;也杜绝幽灵注册(provide 曾会向活总线闪发
62
+ * service:registered/unregistered,whenService 曾会真跑回调)。
63
+ * - 构造类(fork/useModule):抛错——在死 ctx 上造生命周期单元是编程错误,不是清理路径。
64
+ * - onDispose 特例:拆卸进行中(链未排空)仍进链、被本次清理正常等待(debug);
65
+ * 链已排空才就地执行且异步返回值不被等待(warn)。两种都不 no-op、不抛错——
66
+ * 它握着待释放的资源,丢弃即泄漏。
67
+ */
55
68
  private _disposed;
56
69
  /**
57
70
  * 在飞的拆卸 promise。`_disposed` 在清理**开始前**置位,仅凭它早退会让后来者
@@ -70,11 +83,13 @@ export declare class Context {
70
83
  * 会关,**但异步返回值不被等待**,于是 `disposeAsync` 的「返回时异步清理
71
84
  * 已完成」承诺落空。
72
85
  *
73
- * 可达面要说清:`PluginManager` 那几条路径当前够不到这个窗口——apply 在飞时
74
- * entry 处于 `'activating'`,而 unload / disablePlugin / bouncePlugin / recompute /
75
- * `evictDownstreamConsumers` 全部只对 `'active'` 动手,`App.stop` 另有 `idle()`
76
- * 挡在前面。本机制守的是 `disposeAsync` 这个公开契约本身(宿主直调)与
77
- * `useModule` 的沙盒子 ctx 级联,不依赖那几道闸。
86
+ * 可达面要说清:`PluginManager` unload / disablePlugin / bouncePlugin 会**主动**
87
+ * 走进这个窗口——三者对在飞 ctx 直接 disposeAsync(先把 entry.state 改离
88
+ * 'activating' 让激活收尾让位,见 plugin-activation.ts 的接管检查),依赖的正是
89
+ * 本机制「先等 apply 落定再排空链」的承诺;`evictDownstreamConsumers` 同以
90
+ * entry.context 为判据走进窗口;recompute 仍只对 `'active'` 动手,
91
+ * `App.stop` 另有 `idle()` 挡在前面。宿主直调
92
+ * `disposeAsync` 与 `useModule` 的沙盒子 ctx 级联同样由本机制兜住。
78
93
  *
79
94
  * 记住 apply 的 promise 后,`disposeAsync` 可以先等它落定再排空链——迟到的
80
95
  * disposer 就走**正常注册路径**进链,被正常 await。插件侧零改动。
@@ -116,6 +131,8 @@ export declare class Context {
116
131
  * 把一个底层退订原语登记到 disposable 链,并返回**自移除**的退订函数:
117
132
  * 调用方手动退订时,闭包不再滞留 _disposables(否则它持有 handler 引用直到
118
133
  * ctx.dispose 才释放——故所有注册 API 的退订都统一走此路径,杜绝该类泄漏)。
134
+ *
135
+ * label 进入链条目:泄漏排查与超时/抛错告警按它点名(`前缀:名字` 约定)。
119
136
  */
120
137
  private trackDisposable;
121
138
  emit<E extends string & keyof AalisEvents>(event: E, ...args: AalisEvents[E]): Promise<void>;
@@ -175,7 +192,7 @@ export declare class Context {
175
192
  * 设置某服务的偏好 provider(按 contextId)
176
193
  *
177
194
  * 语义:「偏好 > 优先级 > 注册顺序」。偏好者总是 `getService(name)` 的第一返回值,
178
- * 即使其 priority 数值低于 router 等其他 entry。
195
+ * 即使其 priority 数值低于其它 entry。
179
196
  *
180
197
  * 注:偏好可以提前于 entry 注册前设置——一旦目标 contextId 注册即刻生效。
181
198
  * @returns 始终返回 true(偏好已记录)
@@ -333,6 +350,22 @@ export declare class Context {
333
350
  onDispose(fn: () => void | Promise<void>, label?: string): () => void;
334
351
  /** @internal 当前 disposable 链长度(诊断 / 测试用:检测 provide/whenService 的闭包是否如期自移除)。 */
335
352
  get disposableCount(): number;
353
+ /**
354
+ * @internal 链序标签名单(诊断 / 测试用):把「卸载后还剩几个」升级为「剩的是谁」。
355
+ * 内核门面注册按 `前缀:名字` 约定自动点名(on:/middleware:/contribute:/provide:/whenService:),
356
+ * onDispose 用作者传的 label;未命名项以 undefined 占位——占位本身是信息
357
+ * (说明有未传 label 的 onDispose,排查时按链序号对照 `[#i]` 告警)。
358
+ */
359
+ listDisposables(): ReadonlyArray<string | undefined>;
360
+ /**
361
+ * @internal 贡献登记表条目名单(诊断 / 测试用)。与 {@link listDisposables} 是
362
+ * 两本独立的账(同 {@link contributionDisposerCount} 的注释)——登记表泄漏
363
+ * 只有这里看得见。key 天然携带贡献点与贡献 id,直接拆给调用方。
364
+ */
365
+ listContributions(): ReadonlyArray<{
366
+ point: string;
367
+ id: string;
368
+ }>;
336
369
  /**
337
370
  * @internal 登记本 ctx 的初始化在飞 promise(见 {@link _activation})。
338
371
  *
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}