@aalis/core 0.8.0 → 0.9.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.
Files changed (202) hide show
  1. package/dist/app.d.ts +12 -13
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +16 -45
  4. package/dist/app.js.map +1 -1
  5. package/dist/config.d.ts +2 -25
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +2 -96
  8. package/dist/config.js.map +1 -1
  9. package/dist/context.d.ts +50 -23
  10. package/dist/context.d.ts.map +1 -1
  11. package/dist/context.js +102 -33
  12. package/dist/context.js.map +1 -1
  13. package/dist/contributions.d.ts +1 -1
  14. package/dist/contributions.js +1 -1
  15. package/dist/disposable-chain.d.ts +47 -6
  16. package/dist/disposable-chain.d.ts.map +1 -1
  17. package/dist/disposable-chain.js +92 -12
  18. package/dist/disposable-chain.js.map +1 -1
  19. package/dist/events.d.ts +1 -9
  20. package/dist/events.d.ts.map +1 -1
  21. package/dist/events.js +1 -23
  22. package/dist/events.js.map +1 -1
  23. package/dist/index.d.ts +4 -4
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +2 -2
  26. package/dist/index.js.map +1 -1
  27. package/dist/plugin-activation.d.ts +2 -0
  28. package/dist/plugin-activation.d.ts.map +1 -1
  29. package/dist/plugin-activation.js +9 -5
  30. package/dist/plugin-activation.js.map +1 -1
  31. package/dist/plugin-topology.d.ts +6 -2
  32. package/dist/plugin-topology.d.ts.map +1 -1
  33. package/dist/plugin-topology.js +6 -4
  34. package/dist/plugin-topology.js.map +1 -1
  35. package/dist/plugin.d.ts +20 -14
  36. package/dist/plugin.d.ts.map +1 -1
  37. package/dist/plugin.js +53 -72
  38. package/dist/plugin.js.map +1 -1
  39. package/dist/{service-helpers.d.ts → services-helpers.d.ts} +2 -2
  40. package/dist/services-helpers.d.ts.map +1 -0
  41. package/dist/{service-helpers.js → services-helpers.js} +2 -2
  42. package/dist/{service-helpers.js.map → services-helpers.js.map} +1 -1
  43. package/dist/{service.d.ts → services.d.ts} +43 -9
  44. package/dist/services.d.ts.map +1 -0
  45. package/dist/{service.js → services.js} +34 -11
  46. package/dist/services.js.map +1 -0
  47. package/dist/types/app.d.ts +8 -8
  48. package/dist/types/app.d.ts.map +1 -1
  49. package/dist/types/events.d.ts +44 -0
  50. package/dist/types/events.d.ts.map +1 -0
  51. package/dist/types/events.js +6 -0
  52. package/dist/types/events.js.map +1 -0
  53. package/dist/types/hooks.d.ts +8 -0
  54. package/dist/types/hooks.d.ts.map +1 -1
  55. package/dist/types/index.d.ts +4 -3
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/index.js +7 -6
  58. package/dist/types/index.js.map +1 -1
  59. package/dist/types/plugin.d.ts +12 -4
  60. package/dist/types/plugin.d.ts.map +1 -1
  61. package/dist/types/plugin.js.map +1 -1
  62. package/dist/types/services.d.ts +4 -0
  63. package/dist/types/services.d.ts.map +1 -1
  64. package/package.json +1 -1
  65. package/dist/constants.d.ts +0 -31
  66. package/dist/constants.d.ts.map +0 -1
  67. package/dist/constants.js +0 -36
  68. package/dist/constants.js.map +0 -1
  69. package/dist/i18n.d.ts +0 -6
  70. package/dist/i18n.d.ts.map +0 -1
  71. package/dist/i18n.js +0 -26
  72. package/dist/i18n.js.map +0 -1
  73. package/dist/identity.d.ts +0 -26
  74. package/dist/identity.d.ts.map +0 -1
  75. package/dist/identity.js +0 -36
  76. package/dist/identity.js.map +0 -1
  77. package/dist/init.d.ts +0 -20
  78. package/dist/init.d.ts.map +0 -1
  79. package/dist/init.js +0 -455
  80. package/dist/init.js.map +0 -1
  81. package/dist/llm-router.d.ts.map +0 -1
  82. package/dist/llm-router.js +0 -123
  83. package/dist/llm-router.js.map +0 -1
  84. package/dist/marketplace-bootstrap.d.ts +0 -54
  85. package/dist/marketplace-bootstrap.d.ts.map +0 -1
  86. package/dist/marketplace-bootstrap.js +0 -132
  87. package/dist/marketplace-bootstrap.js.map +0 -1
  88. package/dist/mixin-registry.d.ts +0 -34
  89. package/dist/mixin-registry.d.ts.map +0 -1
  90. package/dist/mixin-registry.js +0 -60
  91. package/dist/mixin-registry.js.map +0 -1
  92. package/dist/model-ref.d.ts +0 -22
  93. package/dist/model-ref.d.ts.map +0 -1
  94. package/dist/model-ref.js +0 -46
  95. package/dist/model-ref.js.map +0 -1
  96. package/dist/pending-buffer.d.ts +0 -46
  97. package/dist/pending-buffer.d.ts.map +0 -1
  98. package/dist/pending-buffer.js +0 -131
  99. package/dist/pending-buffer.js.map +0 -1
  100. package/dist/platform-registry.d.ts +0 -40
  101. package/dist/platform-registry.d.ts.map +0 -1
  102. package/dist/platform-registry.js +0 -64
  103. package/dist/platform-registry.js.map +0 -1
  104. package/dist/semver-mini.d.ts +0 -20
  105. package/dist/semver-mini.d.ts.map +0 -1
  106. package/dist/semver-mini.js +0 -94
  107. package/dist/semver-mini.js.map +0 -1
  108. package/dist/service-helpers.d.ts.map +0 -1
  109. package/dist/service.d.ts.map +0 -1
  110. package/dist/service.js.map +0 -1
  111. package/dist/types/agent.d.ts +0 -51
  112. package/dist/types/agent.d.ts.map +0 -1
  113. package/dist/types/agent.js +0 -3
  114. package/dist/types/agent.js.map +0 -1
  115. package/dist/types/archive.d.ts +0 -59
  116. package/dist/types/archive.d.ts.map +0 -1
  117. package/dist/types/archive.js +0 -16
  118. package/dist/types/archive.js.map +0 -1
  119. package/dist/types/authority.d.ts +0 -63
  120. package/dist/types/authority.d.ts.map +0 -1
  121. package/dist/types/authority.js +0 -3
  122. package/dist/types/authority.js.map +0 -1
  123. package/dist/types/capabilities.d.ts +0 -53
  124. package/dist/types/capabilities.d.ts.map +0 -1
  125. package/dist/types/capabilities.js +0 -87
  126. package/dist/types/capabilities.js.map +0 -1
  127. package/dist/types/cli.d.ts +0 -14
  128. package/dist/types/cli.d.ts.map +0 -1
  129. package/dist/types/cli.js +0 -3
  130. package/dist/types/cli.js.map +0 -1
  131. package/dist/types/commands.d.ts +0 -98
  132. package/dist/types/commands.d.ts.map +0 -1
  133. package/dist/types/commands.js +0 -3
  134. package/dist/types/commands.js.map +0 -1
  135. package/dist/types/core.d.ts +0 -116
  136. package/dist/types/core.d.ts.map +0 -1
  137. package/dist/types/core.js +0 -6
  138. package/dist/types/core.js.map +0 -1
  139. package/dist/types/embedding.d.ts +0 -7
  140. package/dist/types/embedding.d.ts.map +0 -1
  141. package/dist/types/embedding.js +0 -3
  142. package/dist/types/embedding.js.map +0 -1
  143. package/dist/types/flow-control.d.ts +0 -51
  144. package/dist/types/flow-control.d.ts.map +0 -1
  145. package/dist/types/flow-control.js +0 -12
  146. package/dist/types/flow-control.js.map +0 -1
  147. package/dist/types/gateway.d.ts +0 -24
  148. package/dist/types/gateway.d.ts.map +0 -1
  149. package/dist/types/gateway.js +0 -15
  150. package/dist/types/gateway.js.map +0 -1
  151. package/dist/types/image-recognition.d.ts +0 -123
  152. package/dist/types/image-recognition.d.ts.map +0 -1
  153. package/dist/types/image-recognition.js +0 -31
  154. package/dist/types/image-recognition.js.map +0 -1
  155. package/dist/types/llm.d.ts +0 -146
  156. package/dist/types/llm.d.ts.map +0 -1
  157. package/dist/types/llm.js +0 -27
  158. package/dist/types/llm.js.map +0 -1
  159. package/dist/types/memory.d.ts +0 -62
  160. package/dist/types/memory.d.ts.map +0 -1
  161. package/dist/types/memory.js +0 -22
  162. package/dist/types/memory.js.map +0 -1
  163. package/dist/types/persona.d.ts +0 -45
  164. package/dist/types/persona.d.ts.map +0 -1
  165. package/dist/types/persona.js +0 -3
  166. package/dist/types/persona.js.map +0 -1
  167. package/dist/types/platform.d.ts +0 -126
  168. package/dist/types/platform.d.ts.map +0 -1
  169. package/dist/types/platform.js +0 -5
  170. package/dist/types/platform.js.map +0 -1
  171. package/dist/types/service.d.ts +0 -41
  172. package/dist/types/service.d.ts.map +0 -1
  173. package/dist/types/service.js +0 -35
  174. package/dist/types/service.js.map +0 -1
  175. package/dist/types/session.d.ts +0 -153
  176. package/dist/types/session.d.ts.map +0 -1
  177. package/dist/types/session.js +0 -19
  178. package/dist/types/session.js.map +0 -1
  179. package/dist/types/storage.d.ts +0 -100
  180. package/dist/types/storage.d.ts.map +0 -1
  181. package/dist/types/storage.js +0 -29
  182. package/dist/types/storage.js.map +0 -1
  183. package/dist/types/tools.d.ts +0 -39
  184. package/dist/types/tools.d.ts.map +0 -1
  185. package/dist/types/tools.js +0 -3
  186. package/dist/types/tools.js.map +0 -1
  187. package/dist/types/trigger-policy.d.ts +0 -16
  188. package/dist/types/trigger-policy.d.ts.map +0 -1
  189. package/dist/types/trigger-policy.js +0 -6
  190. package/dist/types/trigger-policy.js.map +0 -1
  191. package/dist/types/vectorstore.d.ts +0 -23
  192. package/dist/types/vectorstore.d.ts.map +0 -1
  193. package/dist/types/vectorstore.js +0 -3
  194. package/dist/types/vectorstore.js.map +0 -1
  195. package/dist/types/web-search.d.ts +0 -88
  196. package/dist/types/web-search.d.ts.map +0 -1
  197. package/dist/types/web-search.js +0 -23
  198. package/dist/types/web-search.js.map +0 -1
  199. package/dist/types/webui.d.ts +0 -137
  200. package/dist/types/webui.d.ts.map +0 -1
  201. package/dist/types/webui.js +0 -3
  202. package/dist/types/webui.js.map +0 -1
@@ -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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"}
package/dist/context.js CHANGED
@@ -1,5 +1,5 @@
1
- import { DisposableChain } from './disposable-chain.js';
2
- import { emitServiceRegistered, validateProvide } from './service-helpers.js';
1
+ import { awaitWithTimeout, DisposableChain } from './disposable-chain.js';
2
+ import { emitServiceRegistered, validateProvide } from './services-helpers.js';
3
3
  /**
4
4
  * 上下文 (Context)
5
5
  *
@@ -38,7 +38,7 @@ export class Context {
38
38
  * 用于同键重注册时先摘旧登记:注册表本身是替换语义,但门面每次 contribute
39
39
  * 都会往 _disposables 压一个闭包——不摘旧的,反复刷新贡献(文档明示的合法
40
40
  * 用法)会让 dispose 链无界增长且旧 build 闭包无法 GC。
41
- * 条目数有界于本 ctx 用过的 (point, id) 组合数。
41
+ * 条目数有界于**当前存活**的贡献数:退订时由 off 的自移除逻辑摘掉本条。
42
42
  */
43
43
  _contributionDisposers = new Map();
44
44
  /** 活跃沙盒子上下文 id(useModule)——用于同名重复挂载时唯一化 childId。 */
@@ -47,6 +47,13 @@ export class Context {
47
47
  _children = new Set();
48
48
  _parent;
49
49
  _disposed = false;
50
+ /**
51
+ * 在飞的拆卸 promise。`_disposed` 在清理**开始前**置位,仅凭它早退会让后来者
52
+ * 拿到"已完成"的假象(并发 disposeAsync、父级联撞上半拆的子 ctx、unload 撞
53
+ * bounce、并发 app.stop 都会 0ms 返回而清理其实没落)。记住它之后,后来者
54
+ * join 而非早退。
55
+ */
56
+ _inflightTeardown;
50
57
  constructor(options) {
51
58
  this.id = options.id;
52
59
  this._events = options.events;
@@ -67,8 +74,8 @@ export class Context {
67
74
  * 完整性)使用。
68
75
  *
69
76
  * **插件请勿直接使用**:
70
- * - 枚举某服务的所有 entry(含 contextId / capabilities / priority):
71
- * → 用公开 API `ctx.getServiceEntries(name)`
77
+ * - 枚举某服务的所有 entry(含 contextId / priority / label):
78
+ * → 用公开 API `ctx.getAllServices(name)`
72
79
  * - 获取服务实例:用 `ctx.getService()` / `ctx.getAllServices()`
73
80
  * - 注册服务:用 `ctx.provide()`(会自动登记到 _disposables 链)
74
81
  */
@@ -98,10 +105,6 @@ export class Context {
98
105
  const off = this._events.on(event, handler);
99
106
  return this.trackDisposable(off);
100
107
  }
101
- once(event, handler) {
102
- const off = this._events.once(event, handler);
103
- return this.trackDisposable(off);
104
- }
105
108
  /**
106
109
  * 把一个底层退订原语登记到 disposable 链,并返回**自移除**的退订函数:
107
110
  * 调用方手动退订时,闭包不再滞留 _disposables(否则它持有 handler 引用直到
@@ -162,12 +165,6 @@ export class Context {
162
165
  getService(name) {
163
166
  return this._services.get(name);
164
167
  }
165
- /**
166
- * 检查服务是否可用
167
- */
168
- hasService(name) {
169
- return this._services.has(name);
170
- }
171
168
  /**
172
169
  * 列出所有已注册的服务名
173
170
  */
@@ -215,15 +212,6 @@ export class Context {
215
212
  getPreferredService(name) {
216
213
  return this._services.getPreferred(name);
217
214
  }
218
- /**
219
- * 获取某服务的全部 entry(含 priority),按「偏好 > 优先级 > 注册顺序」排序。
220
- *
221
- * 主要给管控类消费者(如 WebUI / CLI status 视图)枚举展示用。
222
- * 业务消费者应优先使用 `getService` / `getAllServices`。
223
- */
224
- getServiceEntries(name) {
225
- return this._services.getEntries(name);
226
- }
227
215
  // biome-ignore lint/suspicious/noConfusingVoidType: cb 可隐式返回 void 或显式返回 cleanup
228
216
  whenService(name, cb) {
229
217
  let cleanup;
@@ -359,11 +347,27 @@ export class Context {
359
347
  contribute(point, spec) {
360
348
  // 窄化取 id:core 内 ContributionPointMap 是空接口,`ContributionPointMap[K]`
361
349
  // 索引不出成员,但交叉的 ContributionSpec 保证 id 存在。
350
+ // 已 dispose 的 ctx 不得再注册:注册表是键控替换语义,死 ctx 写进去会顶掉
351
+ // 同 id 活实例(如 bounce 后的新实例)的条目,随即又被立即执行的 disposer
352
+ // 连带删除——活实例的贡献静默消失。与 useModule 同为拒绝,但取 warn+no-op
353
+ // 而非抛错:调用方常是插件的异步续段,不该在清理路径上再抛。
354
+ if (this._disposed) {
355
+ this.logger.warn(`Context "${this.id}" 已 dispose,忽略 contribute("${point}")`);
356
+ return () => { };
357
+ }
362
358
  const mapKey = `${point}\u0000${spec.id}`;
363
359
  // 同键重注册 = 替换:先撤旧登记(自移除出 dispose 链 + 撤注册表旧条目),
364
360
  // 再写新的——先删后写,避免旧闭包滞留(见 _contributionDisposers)。
365
361
  this._contributionDisposers.get(mapKey)?.();
366
- const off = this.trackDisposable(this._contributions.register(point, spec, this.id));
362
+ const rawOff = this.trackDisposable(this._contributions.register(point, spec, this.id));
363
+ // 包一层做自移除:不删登记表条目的话,`Map → dispose 闭包 → off 闭包 →
364
+ // entry → spec(及其 build 捕获的数据)` 这条持有链会让退订过的贡献一直
365
+ // 活到 ctx.dispose(动态 id 场景下无界增长)。恒等卫防误删同键新注册。
366
+ const off = () => {
367
+ if (this._contributionDisposers.get(mapKey) === off)
368
+ this._contributionDisposers.delete(mapKey);
369
+ rawOff();
370
+ };
367
371
  this._contributionDisposers.set(mapKey, off);
368
372
  return off;
369
373
  }
@@ -464,7 +468,10 @@ export class Context {
464
468
  try {
465
469
  const ret = fn();
466
470
  if (ret && typeof ret.then === 'function') {
467
- ret.catch(err => {
471
+ // promise 交还给链:异步拆卸路径(disposeAsync)会等待它完成——
472
+ // 这是 onDispose 异步契约真正兑现的通道。错误就地消化,单个清理
473
+ // 失败不拖垮链上其他清理;同步 dispose() 忽略返回值(不等待)。
474
+ return ret.catch(err => {
468
475
  this.logger.debug('onDispose 异步清理抛错(已忽略):', err);
469
476
  });
470
477
  }
@@ -481,31 +488,93 @@ export class Context {
481
488
  return this._disposables.size;
482
489
  }
483
490
  /**
484
- * 销毁此上下文,清理所有副作用
491
+ * @internal 当前贡献登记表条目数(诊断 / 测试用)。
492
+ *
493
+ * 它与 {@link disposableCount} 是**两条独立的账**:贡献的退订闭包由
494
+ * trackDisposable 自摘出 dispose 链,而登记表条目由 contribute 返回的包装
495
+ * 另行摘除。只看 dispose 链长度看不见登记表泄漏,故单开这个口子。
496
+ */
497
+ get contributionDisposerCount() {
498
+ return this._contributionDisposers.size;
499
+ }
500
+ /**
501
+ * 销毁此上下文,清理所有副作用(同步;异步清理不等待)。
502
+ *
503
+ * 需要等待落盘类异步清理完成时用 {@link disposeAsync}——编排层
504
+ * (PluginManager 的 unload / bounce / 停机路径与 App.stop)走的是它。
485
505
  */
486
506
  dispose() {
507
+ // wait=false 分支不命中任何 await——async 函数体在首个 await 前同步执行,
508
+ // 本方法的可观察时序与纯同步实现一致(有测试以同步副作用守着)。
509
+ // 差异仅在抛错路径:异常成为 rejection 而非同步抛出(体内各步骤均自带
510
+ // 隔离,实际不可达),catch 兜底防 unhandledRejection。
511
+ const p = this._teardown(false);
512
+ this._inflightTeardown ??= p;
513
+ p.catch(err => {
514
+ this.logger.error('dispose 收尾异常:', err);
515
+ });
516
+ }
517
+ /**
518
+ * 可等待的销毁:语义与 {@link dispose} 相同,但逆序**串行等待**每个异步
519
+ * 清理(`onDispose` 返回的 promise)完成后才返回——bounce / unload / 停机
520
+ * 路径上落盘类清理从此真正落地,而非只是"开始执行"。
521
+ *
522
+ * 幂等且**可 join**:已有拆卸在飞时等待它完成再返回,而不是看到 `_disposed`
523
+ * 就早退(`_disposed` 在清理开始前置位,早退会让调用方拿到"已完成"的假象——
524
+ * 父级联撞上半拆的子 ctx、并发 stop、unload 撞 bounce 都会走到这条路)。
525
+ *
526
+ * ⚠. **`onDispose` 回调里不得 await 任何最终落到本 ctx 或其祖先 ctx 拆卸上的
527
+ * 调用**——在飞的拆卸正等着那个回调返回,await 它即自等自。除直接调用本方法
528
+ * 外,还包括 `plugins.unload/disablePlugin/bouncePlugin`(它们内部 await
529
+ * `entry.context.disposeAsync`)、`app.stop()`、`plugins.idle()`。清理回调
530
+ * 只做自己的收尾,拆卸由编排层驱动。(与 `PluginManagerService.idle()` 同类约束。)
531
+ *
532
+ * @param timeoutMs 单个异步清理项的等待上限;超时放弃该项、继续后续清理
533
+ * 并 warn 点名(防网络类关闭卡死整个停机)。**join 已有在飞拆卸时同样
534
+ * 以本值为上限**——在飞方可能是用更松(甚至不设限)的 timeout 启动的,
535
+ * 无护栏地 join 会让调用方(如 `App.stop`)的停机上限失效。缺省不设限。
536
+ */
537
+ async disposeAsync(timeoutMs) {
538
+ const inflight = this._inflightTeardown;
539
+ if (inflight) {
540
+ await awaitWithTimeout(inflight, timeoutMs, () => this.logger.warn(`Context "${this.id}": 等待在飞拆卸超过 ${timeoutMs}ms,放弃等待`));
541
+ return;
542
+ }
543
+ this._inflightTeardown = this._teardown(true, timeoutMs);
544
+ await this._inflightTeardown;
545
+ }
546
+ async _teardown(wait, timeoutMs) {
487
547
  if (this._disposed)
488
548
  return;
489
549
  this._disposed = true;
490
550
  // 先销毁子上下文(复制避免迭代中修改 Set)
491
551
  const children = [...this._children];
492
552
  for (const child of children) {
493
- child.dispose();
553
+ if (wait)
554
+ await child.disposeAsync(timeoutMs);
555
+ else
556
+ child.dispose();
494
557
  }
495
558
  this._children.clear();
496
- // 记录此上下文注册的服务名,以便 dispose 后发射事件
559
+ // 记录此上下文注册的服务名,以便清理后发射事件
497
560
  const removedServices = this._services.unregisterByContext(this.id);
561
+ // 钩子与贡献在清理链**之前**注销:异步等待清理的整个窗口内,本插件的
562
+ // 中间件不得再响应消息、贡献不得再被组装器收集——半拆状态不外露。
563
+ // 同步路径同一 tick 内完成,先后不可观察;清理链里两类注册的 disposer
564
+ // 靠各自的存在性检查/恒等卫自然 no-op,不会双删。
565
+ this._hooks.unregisterByContext(this.id);
566
+ this._contributions.unregisterByContext(this.id);
498
567
  // 逆序执行清理(unregisterByContext 已整体移除服务,provide 的 dispose 会安全跳过)
499
- this._disposables.dispose();
568
+ if (wait)
569
+ await this._disposables.disposeAsync(timeoutMs);
570
+ else
571
+ this._disposables.dispose();
500
572
  // 发射服务注销事件,让 App 的自动恢复监听器能响应
501
573
  for (const svc of removedServices) {
502
574
  this._events.emit('service:unregistered', svc).catch(err => {
503
575
  this.logger.warn(`emit service:unregistered 失败 (${svc}): ${err}`);
504
576
  });
505
577
  }
506
- // 清理该上下文注册的钩子与贡献
507
- this._hooks.unregisterByContext(this.id);
508
- this._contributions.unregisterByContext(this.id);
509
578
  // 释放本 ctx 持有的登记表:闭包会捎带 spec(及其 build 捕获的数据),
510
579
  // dispose 后不清则外部若仍持有本 ctx 引用,这些对象就跟着活着。
511
580
  this._contributionDisposers.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export interface ContributionHandle<S extends ContributionSpec = ContributionSpe
29
29
  readonly spec: S;
30
30
  }
31
31
  /**
32
- * 贡献点注册表 —— 第四内核原语(与 services 成对偶的数据原语)。
32
+ * 贡献点注册表 —— services 成对偶的数据原语。
33
33
  *
34
34
  * 四原语按「执行/数据」二分:events(执行·无返回·隔离)、hooks(执行·可变·
35
35
  * 短路)、services(数据·解析单胜者)、contributions(数据·确定性枚举全量)。
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 贡献点注册表 —— 第四内核原语(与 services 成对偶的数据原语)。
2
+ * 贡献点注册表 —— services 成对偶的数据原语。
3
3
  *
4
4
  * 四原语按「执行/数据」二分:events(执行·无返回·隔离)、hooks(执行·可变·
5
5
  * 短路)、services(数据·解析单胜者)、contributions(数据·确定性枚举全量)。
@@ -5,7 +5,8 @@ import type { Logger } from './logger.js';
5
5
  * 用途:Context 及其他需要累积「注册 → 卸载」副作用的场景,提供:
6
6
  * - `push(fn)` 追加清理函数
7
7
  * - `remove(fn)` 精确移除单个清理函数(不执行)
8
- * - `dispose()` 逆序调用所有清理函数并清空;期间任一抛错不影响其他
8
+ * - `dispose()` 同步逆序调用所有清理函数并清空;期间任一抛错不影响其他
9
+ * - `disposeAsync(timeoutMs?)` 逆序**串行等待**每个清理函数(含异步返回值)
9
10
  *
10
11
  * 相比散落的 `this._disposables: (() => void)[]`,集中管理能避免
11
12
  * 「忘记 push / 忘记清空 / 错误处理不一致」等低级 bug。
@@ -15,17 +16,57 @@ export declare class DisposableChain {
15
16
  private _items;
16
17
  private _disposed;
17
18
  constructor(logger?: Logger | undefined);
18
- /** 追加一个清理函数。dispose 后追加会立刻执行。 */
19
- push(fn: () => void): void;
19
+ /** 追加一个清理函数。dispose 后追加会立刻执行(异步返回值不等待)。 */
20
+ push(fn: () => unknown): void;
20
21
  /** 精确移除单个 disposable(不执行)。用于缓冲项"取消"场景。 */
21
- remove(fn: () => void): boolean;
22
+ remove(fn: () => unknown): boolean;
22
23
  get disposed(): boolean;
23
24
  /** 当前登记的清理函数数量(诊断 / 测试用:可检测闭包是否如期自移除)。 */
24
25
  get size(): number;
25
26
  /**
26
- * 逆序执行所有清理函数并清空。重复调用无效果。
27
- * 单个函数抛错被 swallow(可选择通过 logger 记录 debug)。
27
+ * 置位 disposed、快照并清空 items——两个 dispose 入口共用,避免逻辑漂移。
28
+ *
29
+ * 先清空再迭代快照:dispose 期间 disposer 常回调 remove(自身)(provide /
30
+ * whenService / subscribe 的自移除语义)。若在迭代中 splice 活动数组,索引
31
+ * 会错位、长度缩短,导致取到 undefined 而抛 "is not a function"。清空在前
32
+ * 则这些 remove 作用于空数组、安全 no-op(返回 false,符合各自移除点注释
33
+ * 的预期),快照索引也始终稳定。
34
+ */
35
+ private take;
36
+ /**
37
+ * 同步逆序执行所有清理函数并清空。重复调用无效果。
38
+ * 单个函数抛错被 swallow(可选择通过 logger 记录 debug);
39
+ * 异步返回值**不等待**——需要等待落盘类清理时用 {@link disposeAsync}。
28
40
  */
29
41
  dispose(): void;
42
+ /**
43
+ * 逆序**串行**等待所有清理函数完成。
44
+ *
45
+ * 串行而非并发是刻意的:逆序是本类对外承诺的语义(消费侧清理先于提供侧),
46
+ * 落盘类清理常有顺序依赖。单项抛错/拒绝被隔离,不中断后续清理。
47
+ *
48
+ * @param timeoutMs 单个异步清理项的等待上限;超时后放弃等待该项、
49
+ * **继续执行后续清理项**(定时器/监听器仍能摘干净),并 warn 点名。
50
+ * 缺省或 <=0 不设限。
51
+ */
52
+ disposeAsync(timeoutMs?: number): Promise<void>;
53
+ /**
54
+ * 等待单个清理 promise,可选超时护栏。
55
+ *
56
+ * 环境无关性记账:这是 core 首个计时器使用点。`setTimeout`/`clearTimeout`
57
+ * 是所有 JS 运行时(浏览器/Node/Deno/Worker)的共有全局,非 `node:` 专属,
58
+ * 不引入环境假设。
59
+ */
60
+ private awaitWithTimeout;
30
61
  }
62
+ /**
63
+ * 等待一个 promise,可选超时护栏;超时则放弃等待并调 `onTimeout` 上报。
64
+ *
65
+ * 环境无关性记账:`setTimeout`/`clearTimeout` 是所有 JS 运行时(浏览器/Node/
66
+ * Deno/Worker)的共有全局,非 `node:` 专属,不引入环境假设。
67
+ *
68
+ * @internal 仅供 core 内部(DisposableChain 逐项等待、Context join 在飞拆卸)复用,
69
+ * 不从包根导出。
70
+ */
71
+ export declare function awaitWithTimeout(p: Promise<unknown>, timeoutMs: number | undefined, onTimeout: () => void): Promise<void>;
31
72
  //# sourceMappingURL=disposable-chain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"disposable-chain.d.ts","sourceRoot":"","sources":["../src/disposable-chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,qBAAa,eAAe;IAId,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAHpC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAAS;gBAEG,MAAM,CAAC,EAAE,MAAM,YAAA;IAE5C,iCAAiC;IACjC,IAAI,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAY1B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO;IAO/B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,0CAA0C;IAC1C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;OAGG;IACH,OAAO,IAAI,IAAI;CAkBhB"}
1
+ {"version":3,"file":"disposable-chain.d.ts","sourceRoot":"","sources":["../src/disposable-chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;;;GAWG;AACH,qBAAa,eAAe;IAId,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAHpC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,SAAS,CAAS;gBAEG,MAAM,CAAC,EAAE,MAAM,YAAA;IAE5C,2CAA2C;IAC3C,IAAI,CAAC,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI;IAY7B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,EAAE,MAAM,OAAO,GAAG,OAAO;IAOlC,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,0CAA0C;IAC1C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI;IAOZ;;;;OAIG;IACH,OAAO,IAAI,IAAI;IAYf;;;;;;;;;OASG;IACG,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAerD;;;;;;OAMG;YACW,gBAAgB;CAK/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,iBAsB/G"}
@@ -4,7 +4,8 @@
4
4
  * 用途:Context 及其他需要累积「注册 → 卸载」副作用的场景,提供:
5
5
  * - `push(fn)` 追加清理函数
6
6
  * - `remove(fn)` 精确移除单个清理函数(不执行)
7
- * - `dispose()` 逆序调用所有清理函数并清空;期间任一抛错不影响其他
7
+ * - `dispose()` 同步逆序调用所有清理函数并清空;期间任一抛错不影响其他
8
+ * - `disposeAsync(timeoutMs?)` 逆序**串行等待**每个清理函数(含异步返回值)
8
9
  *
9
10
  * 相比散落的 `this._disposables: (() => void)[]`,集中管理能避免
10
11
  * 「忘记 push / 忘记清空 / 错误处理不一致」等低级 bug。
@@ -16,7 +17,7 @@ export class DisposableChain {
16
17
  constructor(logger) {
17
18
  this.logger = logger;
18
19
  }
19
- /** 追加一个清理函数。dispose 后追加会立刻执行。 */
20
+ /** 追加一个清理函数。dispose 后追加会立刻执行(异步返回值不等待)。 */
20
21
  push(fn) {
21
22
  if (this._disposed) {
22
23
  try {
@@ -45,20 +46,29 @@ export class DisposableChain {
45
46
  return this._items.length;
46
47
  }
47
48
  /**
48
- * 逆序执行所有清理函数并清空。重复调用无效果。
49
- * 单个函数抛错被 swallow(可选择通过 logger 记录 debug)。
49
+ * 置位 disposed、快照并清空 items——两个 dispose 入口共用,避免逻辑漂移。
50
+ *
51
+ * 先清空再迭代快照:dispose 期间 disposer 常回调 remove(自身)(provide /
52
+ * whenService / subscribe 的自移除语义)。若在迭代中 splice 活动数组,索引
53
+ * 会错位、长度缩短,导致取到 undefined 而抛 "is not a function"。清空在前
54
+ * 则这些 remove 作用于空数组、安全 no-op(返回 false,符合各自移除点注释
55
+ * 的预期),快照索引也始终稳定。
50
56
  */
51
- dispose() {
52
- if (this._disposed)
53
- return;
57
+ take() {
54
58
  this._disposed = true;
55
- // 先快照并清空,再迭代快照:dispose 期间 disposer 常回调 remove(自身)
56
- // (provide / whenService / subscribe 的自移除语义)。若在迭代中 splice 活动
57
- // 数组,索引会错位、长度缩短,导致 `this._items[i]` 取到 undefined 而抛
58
- // "is not a function"。清空在前则这些 remove 作用于空数组、安全 no-op
59
- // (返回 false,符合各自移除点注释的预期),快照索引也始终稳定。
60
59
  const items = this._items;
61
60
  this._items = [];
61
+ return items;
62
+ }
63
+ /**
64
+ * 同步逆序执行所有清理函数并清空。重复调用无效果。
65
+ * 单个函数抛错被 swallow(可选择通过 logger 记录 debug);
66
+ * 异步返回值**不等待**——需要等待落盘类清理时用 {@link disposeAsync}。
67
+ */
68
+ dispose() {
69
+ if (this._disposed)
70
+ return;
71
+ const items = this.take();
62
72
  for (let i = items.length - 1; i >= 0; i--) {
63
73
  try {
64
74
  items[i]();
@@ -68,5 +78,75 @@ export class DisposableChain {
68
78
  }
69
79
  }
70
80
  }
81
+ /**
82
+ * 逆序**串行**等待所有清理函数完成。
83
+ *
84
+ * 串行而非并发是刻意的:逆序是本类对外承诺的语义(消费侧清理先于提供侧),
85
+ * 落盘类清理常有顺序依赖。单项抛错/拒绝被隔离,不中断后续清理。
86
+ *
87
+ * @param timeoutMs 单个异步清理项的等待上限;超时后放弃等待该项、
88
+ * **继续执行后续清理项**(定时器/监听器仍能摘干净),并 warn 点名。
89
+ * 缺省或 <=0 不设限。
90
+ */
91
+ async disposeAsync(timeoutMs) {
92
+ if (this._disposed)
93
+ return;
94
+ const items = this.take();
95
+ for (let i = items.length - 1; i >= 0; i--) {
96
+ try {
97
+ const ret = items[i]();
98
+ if (ret && typeof ret.then === 'function') {
99
+ await this.awaitWithTimeout(Promise.resolve(ret), timeoutMs);
100
+ }
101
+ }
102
+ catch (err) {
103
+ this.logger?.debug('DisposableChain: dispose 抛出,已忽略:', err);
104
+ }
105
+ }
106
+ }
107
+ /**
108
+ * 等待单个清理 promise,可选超时护栏。
109
+ *
110
+ * 环境无关性记账:这是 core 首个计时器使用点。`setTimeout`/`clearTimeout`
111
+ * 是所有 JS 运行时(浏览器/Node/Deno/Worker)的共有全局,非 `node:` 专属,
112
+ * 不引入环境假设。
113
+ */
114
+ async awaitWithTimeout(p, timeoutMs) {
115
+ await awaitWithTimeout(p, timeoutMs, () => this.logger?.warn(`DisposableChain: 异步清理超过 ${timeoutMs}ms,放弃等待,继续后续清理`));
116
+ }
117
+ }
118
+ /**
119
+ * 等待一个 promise,可选超时护栏;超时则放弃等待并调 `onTimeout` 上报。
120
+ *
121
+ * 环境无关性记账:`setTimeout`/`clearTimeout` 是所有 JS 运行时(浏览器/Node/
122
+ * Deno/Worker)的共有全局,非 `node:` 专属,不引入环境假设。
123
+ *
124
+ * @internal 仅供 core 内部(DisposableChain 逐项等待、Context join 在飞拆卸)复用,
125
+ * 不从包根导出。
126
+ */
127
+ export async function awaitWithTimeout(p, timeoutMs, onTimeout) {
128
+ if (!timeoutMs || timeoutMs <= 0) {
129
+ await p;
130
+ return;
131
+ }
132
+ let timer;
133
+ try {
134
+ const winner = await Promise.race([
135
+ p.then(() => 'done'),
136
+ new Promise(resolve => {
137
+ timer = setTimeout(() => resolve('timeout'), timeoutMs);
138
+ }),
139
+ ]);
140
+ if (winner === 'timeout') {
141
+ // 放弃等待,但给原 promise 挂空 catch——迟到的 rejection 不得逃逸成 unhandledRejection
142
+ p.catch(() => { });
143
+ onTimeout();
144
+ }
145
+ }
146
+ finally {
147
+ // clearTimeout 必须在 finally:悬空定时器会拖住事件循环,延迟进程退出
148
+ if (timer !== undefined)
149
+ clearTimeout(timer);
150
+ }
71
151
  }
72
152
  //# sourceMappingURL=disposable-chain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"disposable-chain.js","sourceRoot":"","sources":["../src/disposable-chain.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,eAAe;IAIG;IAHrB,MAAM,GAAmB,EAAE,CAAC;IAC5B,SAAS,GAAG,KAAK,CAAC;IAE1B,YAA6B,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;IAEhD,iCAAiC;IACjC,IAAI,CAAC,EAAc;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,EAAE,EAAE,CAAC;YACP,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,uCAAuC,GAAG,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,0CAA0C;IAC1C,MAAM,CAAC,EAAc;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,0CAA0C;IAC1C,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,kDAAkD;QAClD,6DAA6D;QAC7D,oDAAoD;QACpD,qDAAqD;QACrD,qCAAqC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"disposable-chain.js","sourceRoot":"","sources":["../src/disposable-chain.ts"],"names":[],"mappings":"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"}
package/dist/events.d.ts CHANGED
@@ -20,7 +20,7 @@ export declare class EventBus {
20
20
  onHandlerError?: (event: string, error: unknown) => void;
21
21
  private reportHandlerError;
22
22
  /**
23
- * 一次性事件(sticky):emit 后保留最近一次参数;后续 on/once 监听该事件时
23
+ * 一次性事件(sticky):emit 后保留最近一次参数;后续 on 监听该事件时
24
24
  * 立即用缓存参数同步触发回调。用于"应用生命周期里只发一次的里程碑事件",
25
25
  * 让被热重载的插件在 reactivate 后仍能拿到启动通知。
26
26
  * 当前标记为 sticky 的事件:'ready'、'app:started'。
@@ -41,10 +41,6 @@ export declare class EventBus {
41
41
  * 再触发,避免 handler 内部的 await 影响调用方流程)。
42
42
  */
43
43
  on<E extends string & keyof AalisEvents>(event: E, handler: EventHandler<AalisEvents[E]>): () => void;
44
- /**
45
- * 监听事件一次
46
- */
47
- once<E extends string & keyof AalisEvents>(event: E, handler: EventHandler<AalisEvents[E]>): () => void;
48
44
  /**
49
45
  * 触发事件,按注册顺序依次调用,支持异步 handler。
50
46
  *
@@ -55,10 +51,6 @@ export declare class EventBus {
55
51
  * 插件打成 error 终态)。
56
52
  */
57
53
  emit<E extends string & keyof AalisEvents>(event: E, ...args: AalisEvents[E]): Promise<void>;
58
- /**
59
- * 移除指定事件的所有监听器
60
- */
61
- removeAll(event?: string): void;
62
54
  }
63
55
  export {};
64
56
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,KAAK,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpF;;;;;;GAMG;AACH,qBAAa,QAAQ;IAEnB,OAAO,CAAC,QAAQ,CAA6C;IAE7D;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzD,OAAO,CAAC,kBAAkB;IAa1B;;;;;;;;;OASG;IAEH,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAAqB;IAEzC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/B,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;;;OAMG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAgCrG;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IASvG;;;;;;;;OAQG;IACG,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlG;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;CAOhC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,KAAK,YAAY,CAAC,IAAI,SAAS,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpF;;;;;;GAMG;AACH,qBAAa,QAAQ;IAEnB,OAAO,CAAC,QAAQ,CAA6C;IAE7D;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzD,OAAO,CAAC,kBAAkB;IAa1B;;;;;;;;;OASG;IAEH,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAAqB;IAEzC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/B,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;;;OAMG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAgCrG;;;;;;;;OAQG;IACG,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAenG"}
package/dist/events.js CHANGED
@@ -31,7 +31,7 @@ export class EventBus {
31
31
  }
32
32
  }
33
33
  /**
34
- * 一次性事件(sticky):emit 后保留最近一次参数;后续 on/once 监听该事件时
34
+ * 一次性事件(sticky):emit 后保留最近一次参数;后续 on 监听该事件时
35
35
  * 立即用缓存参数同步触发回调。用于"应用生命周期里只发一次的里程碑事件",
36
36
  * 让被热重载的插件在 reactivate 后仍能拿到启动通知。
37
37
  * 当前标记为 sticky 的事件:'ready'、'app:started'。
@@ -93,17 +93,6 @@ export class EventBus {
93
93
  this.handlers.delete(event);
94
94
  };
95
95
  }
96
- /**
97
- * 监听事件一次
98
- */
99
- once(event, handler) {
100
- const wrapper = (...args) => {
101
- dispose();
102
- return handler(...args);
103
- };
104
- const dispose = this.on(event, wrapper);
105
- return dispose;
106
- }
107
96
  /**
108
97
  * 触发事件,按注册顺序依次调用,支持异步 handler。
109
98
  *
@@ -130,16 +119,5 @@ export class EventBus {
130
119
  }
131
120
  }
132
121
  }
133
- /**
134
- * 移除指定事件的所有监听器
135
- */
136
- removeAll(event) {
137
- if (event) {
138
- this.handlers.delete(event);
139
- }
140
- else {
141
- this.handlers.clear();
142
- }
143
- }
144
122
  }
145
123
  //# sourceMappingURL=events.js.map