@aalis/core 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/app.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { type AalisConfig, ConfigManager } from './config.js';
2
2
  import { Context } from './context.js';
3
+ import { ContributionRegistry } from './contributions.js';
3
4
  import { EventBus } from './events.js';
4
5
  import { HookRegistry } from './hooks.js';
5
6
  import { type Logger, LogHub } from './logger.js';
@@ -41,6 +42,8 @@ export interface AppOptions {
41
42
  services?: ServiceContainer;
42
43
  /** 注入自定义钩子注册表 */
43
44
  hooks?: HookRegistry;
45
+ /** 注入自定义贡献点注册表 */
46
+ contributions?: ContributionRegistry;
44
47
  /**
45
48
  * 注入自定义 LogHub。多 App 沙盒 / 集成测试 / 嵌入多实例场景下
46
49
  * 可以传入 `new LogHub()`使每个 App 拥有独立的日志通道,不互相串台。
@@ -106,6 +109,7 @@ export declare class App {
106
109
  readonly events: EventBus;
107
110
  readonly services: ServiceContainer;
108
111
  readonly hooks: HookRegistry;
112
+ readonly contributions: ContributionRegistry;
109
113
  private readonly pluginLoader?;
110
114
  private readonly restartStrategy?;
111
115
  /** 已发现插件的描述符索引(按模块名)。用于热重载时拿到 source/metadata。 */
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
@@ -1,5 +1,6 @@
1
1
  import { ConfigManager } from './config.js';
2
2
  import { Context } from './context.js';
3
+ import { ContributionRegistry } from './contributions.js';
3
4
  import { EventBus } from './events.js';
4
5
  import { HookRegistry } from './hooks.js';
5
6
  import { DefaultLogger, LogHub } from './logger.js';
@@ -33,6 +34,7 @@ export class App {
33
34
  events;
34
35
  services;
35
36
  hooks;
37
+ contributions;
36
38
  pluginLoader;
37
39
  restartStrategy;
38
40
  /** 已发现插件的描述符索引(按模块名)。用于热重载时拿到 source/metadata。 */
@@ -56,6 +58,7 @@ export class App {
56
58
  this.events.markSticky('app:started');
57
59
  this.services = options.services ?? new ServiceContainer();
58
60
  this.hooks = options.hooks ?? new HookRegistry();
61
+ this.contributions = options.contributions ?? new ContributionRegistry();
59
62
  this.logger =
60
63
  options.logger ??
61
64
  new DefaultLogger('aalis', config.get('logLevel'), options.logHub ?? LogHub.default, options.now);
@@ -74,6 +77,7 @@ export class App {
74
77
  events: this.events,
75
78
  services: this.services,
76
79
  hooks: this.hooks,
80
+ contributions: this.contributions,
77
81
  logger: this.logger,
78
82
  config,
79
83
  devMode: options.devMode ?? true,
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":"AAAA,OAAO,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAe,MAAM,EAAiB,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,aAAa,EAAqB,eAAe,EAAE,MAAM,aAAa,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA+EhD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CAAC,OAAmB;IAC3C,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,GAAG;IACL,GAAG,CAAU;IACb,OAAO,CAAgB;IACvB,MAAM,CAAS;IAEf,MAAM,CAAW;IACjB,QAAQ,CAAmB;IAC3B,KAAK,CAAe;IACpB,aAAa,CAAuB;IAE5B,YAAY,CAAgB;IAC5B,eAAe,CAAmB;IACnD,kDAAkD;IACjC,eAAe,GAAkC,IAAI,GAAG,EAAE,CAAC;IAE5E,YAAY,OAAmB;QAC7B,gCAAgC;QAChC,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,YAAY,aAAa;YACrC,CAAC,CAAC,OAAO,CAAC,MAAM;YAChB,CAAC,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE;gBAChC,QAAQ,EAAE,OAAO,CAAC,cAAc;gBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,iBAAiB,EAAE,OAAO,CAAC,UAAU,EAAE,iBAAiB;aACzD,CAAC,CAAC;QAET,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC/C,0DAA0D;QAC1D,uCAAuC;QACvC,2DAA2D;QAC3D,4CAA4C;QAC5C,qDAAqD;QACrD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,gBAAgB,EAAE,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,YAAY,EAAE,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,oBAAoB,EAAE,CAAC;QACzE,IAAI,CAAC,MAAM;YACT,OAAO,CAAC,MAAM;gBACd,IAAI,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAa,EAAE,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAChH,8CAA8C;QAC9C,8BAA8B;QAC9B,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,gBAAgB,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,+CAA+C;QAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,gBAAgB,SAAS,mBAAmB,OAAO,gBAAgB,CAAC,CAAC;QAClG,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAE/C,UAAU;QACV,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC;YACrB,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;SACjC,CAAC,CAAC;QAEH,WAAW;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAExD,YAAY;QACZ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE1C,mBAAmB;QACnB,MAAM,YAAY,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACpD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,cAAc;QACd,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,EAAE;YAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,OAAO,gBAAgB,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,4CAA4C;QAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,UAAU,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,MAAoB,EAAE,MAAgC,EAAE,UAAmB;QACtF,MAAM,EAAE,GAAG,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC;QACrC,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC;QAC/D,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,MAAM,CAAC,CAAC;QAEhD,kBAAkB;QAClB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;QAEtD,sDAAsD;QACtD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,mBAAmB,CAAC,CAAC;oBAC5D,SAAS;gBACX,CAAC;gBACD,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,SAAS,OAAO,EAAE,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,SAAS,OAAO,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3D,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACnD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,SAAS,YAAY,UAAU,UAAU,CAAC,CAAC;gBACtE,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,yBAAyB,SAAS,GAAG,CAAC,CAAC;gBACzE,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,SAAS,SAAS,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7E,KAAK,MAAM,EAAE,IAAI,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtD,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,SAAS;YACT,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YAEhD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM;oBAClC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;oBACtC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC3C,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,SAAS,OAAO,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,0CAA0C;YAC1C,+CAA+C;YAC/C,8BAA8B;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YAC5E,KAAK,MAAM,EAAE,IAAI,MAAM;gBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAE7D,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;gBACzC,MAAM,QAAQ,GAAG,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC;gBACvC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBACjE,MAAM,SAAS,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;gBACjD,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,kBAAkB,CAAC,CAAC;oBACvD,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBAC/D,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEpC,oCAAoC;QACpC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7B,wCAAwC;QACxC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,0DAA0D;QAC1D,0CAA0C;QAC1C,uCAAuC;QACvC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG;aACL,IAAI,CAAC,YAAY,CAAC;aAClB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACzD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,iDAAiD;QACjD,2DAA2D;QAC3D,iDAAiD;QACjD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,uDAAuD;QACvD,eAAe;QACf,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACF"}
package/dist/context.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import type { ConfigManager } from './config.js';
2
+ import type { ContributionHandle, ContributionRegistry, ContributionSpec } from './contributions.js';
2
3
  import type { EventBus } from './events.js';
3
- import type { HookRegistry, HookRunner } from './hooks.js';
4
+ import type { HookRegistry } from './hooks.js';
4
5
  import type { Logger } from './logger.js';
5
6
  import type { ServiceContainer } from './service.js';
6
- import type { AalisEvents, HookContextMap, MiddlewareFn, ServiceTypeMap } from './types/index.js';
7
+ import type { AalisEvents, ContributionPointMap, HookContextMap, MiddlewareFn, ServiceTypeMap } from './types/index.js';
7
8
  type EventHandler<Args extends unknown[]> = (...args: Args) => void | Promise<void>;
8
9
  /**
9
10
  * 上下文 (Context)
@@ -21,15 +22,6 @@ export declare class Context {
21
22
  readonly id: string;
22
23
  readonly logger: Logger;
23
24
  readonly config: ConfigManager;
24
- /**
25
- * 钩子执行面(窄接口 {@link HookRunner})。
26
- *
27
- * 插件可 `ctx.hooks.run(hook, data, defaultAction)` 驱动自己定义的钩子链;
28
- * 注册 handler 请用 `ctx.middleware(hook, fn)` —— 它绑定当前 ctx.id 并纳入
29
- * dispose 链,插件卸载时自动清扫。完整 HookRegistry(register / onStall)
30
- * 不对插件暴露,与 `_events` / `_services` 同一门面纪律。
31
- */
32
- readonly hooks: HookRunner;
33
25
  /**
34
26
  * 开发模式开关——由 App 注入,子 Context 通过 fork 继承。
35
27
  *
@@ -41,8 +33,22 @@ export declare class Context {
41
33
  readonly devMode: boolean;
42
34
  private _events;
43
35
  private _services;
44
- /** 完整钩子注册表——仅 Context 内部(middleware / dispose / fork)使用。 */
36
+ /** 完整钩子注册表——仅 Context 内部(middleware / runHook / dispose / fork)使用。 */
45
37
  private readonly _hooks;
38
+ /** 完整贡献点注册表——仅 Context 内部(contribute / collect / dispose / fork)使用。 */
39
+ private readonly _contributions;
40
+ /**
41
+ * 本 ctx 已登记的贡献退订函数(键 = point + '\u0000' + 局部 id,与
42
+ * contribute 内 mapKey 的构造保持一致;NUL 不会出现在合法键名中)。
43
+ *
44
+ * 用于同键重注册时先摘旧登记:注册表本身是替换语义,但门面每次 contribute
45
+ * 都会往 _disposables 压一个闭包——不摘旧的,反复刷新贡献(文档明示的合法
46
+ * 用法)会让 dispose 链无界增长且旧 build 闭包无法 GC。
47
+ * 条目数有界于本 ctx 用过的 (point, id) 组合数。
48
+ */
49
+ private readonly _contributionDisposers;
50
+ /** 活跃沙盒子上下文 id(useModule)——用于同名重复挂载时唯一化 childId。 */
51
+ private readonly _moduleIds;
46
52
  private _disposables;
47
53
  private _children;
48
54
  private _parent?;
@@ -52,6 +58,7 @@ export declare class Context {
52
58
  events: EventBus;
53
59
  services: ServiceContainer;
54
60
  hooks: HookRegistry;
61
+ contributions: ContributionRegistry;
55
62
  logger: Logger;
56
63
  config: ConfigManager;
57
64
  parent?: Context;
@@ -214,6 +221,43 @@ export declare class Context {
214
221
  * });
215
222
  */
216
223
  middleware<K extends string & keyof HookContextMap>(hook: K, fn: MiddlewareFn<HookContextMap[K]>): () => void;
224
+ /**
225
+ * 执行钩子链(语义见 {@link HookRegistry.run})。
226
+ *
227
+ * 任何插件都可驱动自己定义的钩子链——对称钩子系统的立身之本,地位等价于
228
+ * `ctx.emit`。注册 handler 请用 `ctx.middleware(hook, fn)`。完整 HookRegistry
229
+ * (register / unregisterByContext / onStall)不对插件暴露,与 `_events` /
230
+ * `_services` 同一门面纪律。
231
+ *
232
+ * @returns `true` = 链路完整走完(执行了 defaultAction,或本就没有 handler);
233
+ * `false` = 被某个 handler swallow(不调 next 中断)
234
+ */
235
+ runHook<K extends string & keyof HookContextMap>(hook: K, data: HookContextMap[K], defaultAction?: () => Promise<void>, opts?: {
236
+ warnOnStall?: boolean;
237
+ }): Promise<boolean>;
238
+ /**
239
+ * 向贡献点交付一份 spec,返回 dispose 函数(并挂 dispose 链,卸载自动清扫)。
240
+ *
241
+ * spec.id 是**局部名**,注册时自动冠 `${ctx.id}/` 前缀成全局键——同一 ctx 内
242
+ * 同 id 重复注册为替换(幂等);spec.id 侧无法顶替他人贡献(信任边界的
243
+ * 如实声明见 {@link ContributionSpec})。贡献者不掌握任何控制流:无排序
244
+ * 影响力(顺序是全局键的纯函数)、无短路、不可见其他贡献——排布与执行
245
+ * 策略全归贡献点 owner({@link collect} 的调用方)。
246
+ *
247
+ * 贡献点的键与 spec 类型由各 -api 包 declaration merging 扩展
248
+ * ContributionPointMap 定义。
249
+ */
250
+ contribute<K extends string & keyof ContributionPointMap>(point: K, spec: ContributionPointMap[K] & ContributionSpec): () => void;
251
+ /**
252
+ * 枚举某贡献点的全部条目(语义见 {@link ContributionRegistry.collect})。
253
+ *
254
+ * 驱动公开——任何插件都可拥有并收集自己定义的贡献点,地位等价于
255
+ * `ctx.emit` / `ctx.runHook`。返回数组快照,每项是 `{ key, spec }`:
256
+ * `key` 是全局键(含贡献方 ctx.id 前缀)供归属标注与统计,`spec` 是注册
257
+ * 方交付的本体(引用,`spec.id` 仍是其局部名)。如何执行 spec(并行 /
258
+ * 隔离 / 超时)是收集方的策略,内核不执行任何插件代码。
259
+ */
260
+ collect<K extends string & keyof ContributionPointMap>(point: K): ReadonlyArray<ContributionHandle<ContributionPointMap[K] & ContributionSpec>>;
217
261
  get disposed(): boolean;
218
262
  /**
219
263
  * 在当前 Context 内动态加载一个插件 module 作为"沙盒插件"。
@@ -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
@@ -16,15 +16,6 @@ export class Context {
16
16
  id;
17
17
  logger;
18
18
  config;
19
- /**
20
- * 钩子执行面(窄接口 {@link HookRunner})。
21
- *
22
- * 插件可 `ctx.hooks.run(hook, data, defaultAction)` 驱动自己定义的钩子链;
23
- * 注册 handler 请用 `ctx.middleware(hook, fn)` —— 它绑定当前 ctx.id 并纳入
24
- * dispose 链,插件卸载时自动清扫。完整 HookRegistry(register / onStall)
25
- * 不对插件暴露,与 `_events` / `_services` 同一门面纪律。
26
- */
27
- hooks;
28
19
  /**
29
20
  * 开发模式开关——由 App 注入,子 Context 通过 fork 继承。
30
21
  *
@@ -36,8 +27,22 @@ export class Context {
36
27
  devMode;
37
28
  _events;
38
29
  _services;
39
- /** 完整钩子注册表——仅 Context 内部(middleware / dispose / fork)使用。 */
30
+ /** 完整钩子注册表——仅 Context 内部(middleware / runHook / dispose / fork)使用。 */
40
31
  _hooks;
32
+ /** 完整贡献点注册表——仅 Context 内部(contribute / collect / dispose / fork)使用。 */
33
+ _contributions;
34
+ /**
35
+ * 本 ctx 已登记的贡献退订函数(键 = point + '\u0000' + 局部 id,与
36
+ * contribute 内 mapKey 的构造保持一致;NUL 不会出现在合法键名中)。
37
+ *
38
+ * 用于同键重注册时先摘旧登记:注册表本身是替换语义,但门面每次 contribute
39
+ * 都会往 _disposables 压一个闭包——不摘旧的,反复刷新贡献(文档明示的合法
40
+ * 用法)会让 dispose 链无界增长且旧 build 闭包无法 GC。
41
+ * 条目数有界于本 ctx 用过的 (point, id) 组合数。
42
+ */
43
+ _contributionDisposers = new Map();
44
+ /** 活跃沙盒子上下文 id(useModule)——用于同名重复挂载时唯一化 childId。 */
45
+ _moduleIds = new Set();
41
46
  _disposables;
42
47
  _children = new Set();
43
48
  _parent;
@@ -47,7 +52,7 @@ export class Context {
47
52
  this._events = options.events;
48
53
  this._services = options.services;
49
54
  this._hooks = options.hooks;
50
- this.hooks = options.hooks;
55
+ this._contributions = options.contributions;
51
56
  this.logger = options.logger;
52
57
  this.config = options.config;
53
58
  this._parent = options.parent;
@@ -79,6 +84,7 @@ export class Context {
79
84
  events: this._events,
80
85
  services: this._services,
81
86
  hooks: this._hooks,
87
+ contributions: this._contributions,
82
88
  logger: this.logger.child(id),
83
89
  config: this.config,
84
90
  parent: this,
@@ -323,6 +329,56 @@ export class Context {
323
329
  middleware(hook, fn) {
324
330
  return this.trackDisposable(this._hooks.register(hook, fn, this.id));
325
331
  }
332
+ /**
333
+ * 执行钩子链(语义见 {@link HookRegistry.run})。
334
+ *
335
+ * 任何插件都可驱动自己定义的钩子链——对称钩子系统的立身之本,地位等价于
336
+ * `ctx.emit`。注册 handler 请用 `ctx.middleware(hook, fn)`。完整 HookRegistry
337
+ * (register / unregisterByContext / onStall)不对插件暴露,与 `_events` /
338
+ * `_services` 同一门面纪律。
339
+ *
340
+ * @returns `true` = 链路完整走完(执行了 defaultAction,或本就没有 handler);
341
+ * `false` = 被某个 handler swallow(不调 next 中断)
342
+ */
343
+ runHook(hook, data, defaultAction, opts) {
344
+ return this._hooks.run(hook, data, defaultAction, opts);
345
+ }
346
+ // ---- 贡献点 ----
347
+ /**
348
+ * 向贡献点交付一份 spec,返回 dispose 函数(并挂 dispose 链,卸载自动清扫)。
349
+ *
350
+ * spec.id 是**局部名**,注册时自动冠 `${ctx.id}/` 前缀成全局键——同一 ctx 内
351
+ * 同 id 重复注册为替换(幂等);spec.id 侧无法顶替他人贡献(信任边界的
352
+ * 如实声明见 {@link ContributionSpec})。贡献者不掌握任何控制流:无排序
353
+ * 影响力(顺序是全局键的纯函数)、无短路、不可见其他贡献——排布与执行
354
+ * 策略全归贡献点 owner({@link collect} 的调用方)。
355
+ *
356
+ * 贡献点的键与 spec 类型由各 -api 包 declaration merging 扩展
357
+ * ContributionPointMap 定义。
358
+ */
359
+ contribute(point, spec) {
360
+ // 窄化取 id:core 内 ContributionPointMap 是空接口,`ContributionPointMap[K]`
361
+ // 索引不出成员,但交叉的 ContributionSpec 保证 id 存在。
362
+ const mapKey = `${point}\u0000${spec.id}`;
363
+ // 同键重注册 = 替换:先撤旧登记(自移除出 dispose 链 + 撤注册表旧条目),
364
+ // 再写新的——先删后写,避免旧闭包滞留(见 _contributionDisposers)。
365
+ this._contributionDisposers.get(mapKey)?.();
366
+ const off = this.trackDisposable(this._contributions.register(point, spec, this.id));
367
+ this._contributionDisposers.set(mapKey, off);
368
+ return off;
369
+ }
370
+ /**
371
+ * 枚举某贡献点的全部条目(语义见 {@link ContributionRegistry.collect})。
372
+ *
373
+ * 驱动公开——任何插件都可拥有并收集自己定义的贡献点,地位等价于
374
+ * `ctx.emit` / `ctx.runHook`。返回数组快照,每项是 `{ key, spec }`:
375
+ * `key` 是全局键(含贡献方 ctx.id 前缀)供归属标注与统计,`spec` 是注册
376
+ * 方交付的本体(引用,`spec.id` 仍是其局部名)。如何执行 spec(并行 /
377
+ * 隔离 / 超时)是收集方的策略,内核不执行任何插件代码。
378
+ */
379
+ collect(point) {
380
+ return this._contributions.collect(point);
381
+ }
326
382
  // ---- 生命周期 ----
327
383
  get disposed() {
328
384
  return this._disposed;
@@ -361,16 +417,28 @@ export class Context {
361
417
  if (this._disposed) {
362
418
  throw new Error(`Context "${this.id}" 已 dispose,无法 useModule`);
363
419
  }
364
- const childId = `${this.id}#${module.name}`;
420
+ // 同一父 ctx 重复挂载同名 module(文档背书的"每会话一实例"用法)必须拿到
421
+ // 互不相同的 ctx.id:id 是 contributions 全局键与 unregisterByContext 的
422
+ // 归属锚,重复 id 会让后挂载者静默顶替先挂载者的贡献、且任一方 dispose
423
+ // 连带清掉对方的。活跃集合随 dispose 收缩,长期反复挂载不会无界增长。
424
+ const baseId = `${this.id}#${module.name}`;
425
+ let childId = baseId;
426
+ for (let n = 2; this._moduleIds.has(childId); n++)
427
+ childId = `${baseId}~${n}`;
428
+ this._moduleIds.add(childId);
365
429
  const child = this.fork(childId);
366
430
  try {
367
431
  await module.apply(child, config);
368
432
  }
369
433
  catch (err) {
434
+ this._moduleIds.delete(childId);
370
435
  child.dispose();
371
436
  throw err;
372
437
  }
373
- return () => child.dispose();
438
+ return () => {
439
+ this._moduleIds.delete(childId);
440
+ child.dispose();
441
+ };
374
442
  }
375
443
  /**
376
444
  * 注册一个在本 Context dispose 时执行的清理回调。
@@ -435,8 +503,13 @@ export class Context {
435
503
  this.logger.warn(`emit service:unregistered 失败 (${svc}): ${err}`);
436
504
  });
437
505
  }
438
- // 清理该上下文注册的钩子
506
+ // 清理该上下文注册的钩子与贡献
439
507
  this._hooks.unregisterByContext(this.id);
508
+ this._contributions.unregisterByContext(this.id);
509
+ // 释放本 ctx 持有的登记表:闭包会捎带 spec(及其 build 捕获的数据),
510
+ // dispose 后不清则外部若仍持有本 ctx 引用,这些对象就跟着活着。
511
+ this._contributionDisposers.clear();
512
+ this._moduleIds.clear();
440
513
  // 服务自清理协议:任何服务实例若实现 `unregisterByPlugin(contextId)`,
441
514
  // dispose 时统一通知它清理本上下文相关的注册项(如 plugin-tools 的
442
515
  // ToolService、plugin-commands 的 CommandService)。
@@ -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":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAK9E;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,OAAO;IACT,EAAE,CAAS;IACX,MAAM,CAAS;IACf,MAAM,CAAgB;IAC/B;;;;;;;OAOG;IACM,OAAO,CAAU;IAElB,OAAO,CAAW;IAClB,SAAS,CAAmB;IACpC,sEAAsE;IACrD,MAAM,CAAe;IACtC,uEAAuE;IACtD,cAAc,CAAuB;IACtD;;;;;;;;OAQG;IACc,sBAAsB,GAAG,IAAI,GAAG,EAAsB,CAAC;IACxE,oDAAoD;IACnC,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,YAAY,CAAkB;IAC9B,SAAS,GAAiB,IAAI,GAAG,EAAE,CAAC;IACpC,OAAO,CAAW;IAClB,SAAS,GAAG,KAAK,CAAC;IAE1B,YAAY,OAUX;QACC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;QAClE,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,+BAA+B;IAE/B;;;;;;;;;;;OAWG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,EAAU;QACb,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC;YACxB,EAAE;YACF,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,eAAe;IAEf,EAAE,CAAuC,KAAQ,EAAE,OAAqC;QACtF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAuC,KAAQ,EAAE,OAAqC;QACxF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACK,eAAe,CAAC,GAAe;QACrC,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,GAAG,EAAE,CAAC;QACR,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,CAAuC,KAAQ,EAAE,GAAG,IAAoB;QAC1E,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,qBAAqB;IAErB;;;;;;;;OAQG;IACH,OAAO,CACL,IAAY,EACZ,QAAiB,EACjB,OAAiE;QAEjE,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC;QAE5C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,eAAe,CAAC;gBACd,KAAK,EAAE,IAAI,CAAC,EAAE;gBACd,IAAI;gBACJ,OAAO;gBACP,eAAe,EAAE,OAAO,EAAE,OAAO,KAAK,SAAS;gBAC/C,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAEvG,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,gDAAgD;YAChD,yCAAyC;YACzC,mEAAmE;YACnE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5D,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;gBACrE,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAEpC,OAAO,OAAO,CAAC;IACjB,CAAC;IAgBD,UAAU,CAAI,IAAY;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAI,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;IAC1C,CAAC;IAYD,cAAc,CAAI,IAAY;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAI,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,IAAY,EAAE,SAAiB;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClD,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,OAAO,SAAS,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAAY;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,IAAY;QAM5B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAmCD,gFAAgF;IAChF,WAAW,CAAI,IAAY,EAAE,EAAmC;QAC9D,IAAI,OAAiC,CAAC;QACtC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,iCAAiC;QACjC,IAAI,QAAuB,CAAC;QAE5B,MAAM,UAAU,GAAG,GAAS,EAAE;YAC5B,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,qBAAqB,EAAE,GAAG,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC,CAAC;QAEF;;;;;;WAMG;QACH,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,IAAI,QAAQ;gBAAE,OAAO;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAI,IAAI,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,QAAQ;gBAAE,OAAO;YAChC,UAAU,EAAE,CAAC;YACb,QAAQ,GAAG,MAAM,CAAC;YAClB,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO;YACjC,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;YACvB,kDAAkD;YAClD,mDAAmD;YACnD,+CAA+C;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;oBAC9B,IAAI,CAAC;wBACH,GAAG,EAAE,CAAC;oBACR,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,gCAAgC,EAAE,GAAG,CAAC,CAAC;oBAC9E,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,OAAO,GAAG,KAAK,UAAU;gBAAE,OAAO,GAAG,GAAG,CAAC;QAC/C,CAAC,CAAC;QAEF,+DAA+D;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,OAAe,EAAE,EAAE;YAC/D,IAAI,OAAO,KAAK,IAAI;gBAAE,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,OAAe,EAAE,EAAE;YACnE,IAAI,OAAO,KAAK,IAAI;gBAAE,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,4BAA4B,EAAE,CAAC,OAAe,EAAE,EAAE;YACxE,IAAI,OAAO,KAAK,IAAI;gBAAE,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,EAAE,CAAC;QAEP,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;YAC3D,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC;YACb,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,mBAAmB;IAEnB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,UAAU,CAA0C,IAAO,EAAE,EAAmC;QAC9F,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CACL,IAAO,EACP,IAAuB,EACvB,aAAmC,EACnC,IAAgC;QAEhC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,gBAAgB;IAEhB;;;;;;;;;;;OAWG;IACH,UAAU,CACR,KAAQ,EACR,IAAgD;QAEhD,oEAAoE;QACpE,yCAAyC;QACzC,MAAM,MAAM,GAAG,GAAG,KAAK,SAAU,IAAyB,CAAC,EAAE,EAAE,CAAC;QAChE,8CAA8C;QAC9C,gDAAgD;QAChD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CACL,KAAQ;QAER,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAEvC,CAAC;IACJ,CAAC;IAED,iBAAiB;IAEjB,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,KAAK,CAAC,SAAS,CACb,MAGC,EACD,SAAkC,EAAE;QAEpC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,EAAE,0BAA0B,CAAC,CAAC;QACjE,CAAC;QACD,6CAA6C;QAC7C,6DAA6D;QAC7D,2CAA2C;QAC3C,yCAAyC;QACzC,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,OAAO,GAAG,MAAM,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAAE,OAAO,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChC,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,EAA8B;QACtC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,EAAE,EAAE,CAAC;gBACjB,IAAI,GAAG,IAAI,OAAQ,GAAqB,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC5D,GAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;wBACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,+EAA+E;IAC/E,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,yBAAyB;QACzB,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAEvB,gCAAgC;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEpE,8DAA8D;QAC9D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAE5B,6BAA6B;QAC7B,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,6CAA6C;QAC7C,wCAAwC;QACxC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAExB,qDAAqD;QACrD,8CAA8C;QAC9C,iDAAiD;QACjD,qBAAqB;QACrB,0CAA0C;QAC1C,4CAA4C;QAC5C,mCAAmC;QACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAW,CAAC;YAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBACvC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACzB,MAAM,GAAG,GAAG,KAAK,CAAC,QAAyD,CAAC;gBAC5E,IAAI,CAAC;oBACH,GAAG,EAAE,kBAAkB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,4BAA4B,EAAE,GAAG,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QAED,WAAW;QACX,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * 贡献 spec 的内核契约:只要求一个 id。
3
+ *
4
+ * id 是**局部名**(如 'context'、'group-hint'),注册时由门面自动冠以
5
+ * `${ctx.id}/` 前缀成为全局键(见 {@link ContributionHandle.key})——
6
+ * **spec.id 侧**的抢注/顶替由此杜绝,无需归属权校验(与 provide 的
7
+ * entryId 前缀约定同源,但由构造保证而非 warn)。
8
+ *
9
+ * 边界如实声明:该保证以 ctx.id 为信任锚。`ctx.fork(id)` 与
10
+ * `ctx.useModule(module)`(childId = `${父id}#${模块名}`)都不保证 ctx.id
11
+ * 唯一,重复 ctx.id 会使两方共用同一命名空间、后注册者替换先注册者。
12
+ * 这是 Context 模型的信任边界(provide / middleware 的 contextId 归属同理
13
+ * 暴露),如需硬化应在 fork 层统一处理,而非各原语自设门禁。
14
+ */
15
+ export interface ContributionSpec {
16
+ /**
17
+ * 局部幂等键:同一 ctx 内同 id 重复注册 = 替换。
18
+ *
19
+ * 必须**非空且不含 `/`**(`/` 是全局键的分隔符,含它可构造出跨 ctx 的
20
+ * 键碰撞),违者注册期抛 `TypeError`。
21
+ */
22
+ id: string;
23
+ }
24
+ /** collect 的枚举条目:全局键 + 注册时原样传入的 spec(不拷贝、不改写)。 */
25
+ export interface ContributionHandle<S extends ContributionSpec = ContributionSpec> {
26
+ /** 全局键 `${contextId}/${spec.id}`——归属标识与幂等键。 */
27
+ readonly key: string;
28
+ /** 注册方交付的 spec 本体(引用,非副本)。 */
29
+ readonly spec: S;
30
+ }
31
+ /**
32
+ * 贡献点注册表 —— 第四内核原语(与 services 成对偶的数据原语)。
33
+ *
34
+ * 四原语按「执行/数据」二分:events(执行·无返回·隔离)、hooks(执行·可变·
35
+ * 短路)、services(数据·解析单胜者)、contributions(数据·确定性枚举全量)。
36
+ *
37
+ * 本注册表**永不执行插件代码**:register/collect 是同步的数据插入与快照枚举。
38
+ * 如何调用 spec(并行/隔离/超时)是收集方(贡献点 owner)的策略,不在内核。
39
+ *
40
+ * 确定性:collect 按全局键(`${contextId}/${id}`)码元序排序——同一注册集合
41
+ * 在任意注册顺序、任意机器上枚举结果逐字节相同;顺序是键的纯函数,
42
+ * 重复注册也无法影响排位。
43
+ *
44
+ * 插件面与 events / services / hooks 同一门面纪律(方法窄面,对象不外露):
45
+ * 注册经 `ctx.contribute(point, spec)`(冠 ctx.id 前缀 + 挂 dispose 链),
46
+ * 枚举经 `ctx.collect(point)`(驱动公开——任何插件都可拥有自己的贡献点)。
47
+ * 完整注册表仅 App(组合根)与 Context 内部持有。
48
+ *
49
+ * 注册表本身只认 {@link ContributionSpec}(不透明数据面);按贡献点键精化
50
+ * spec 类型是 Context 门面的职责(经 types/contributions.ts 的
51
+ * ContributionPointMap declaration merging)。
52
+ */
53
+ export declare class ContributionRegistry {
54
+ /** point → 全局键 → 注册项 */
55
+ private points;
56
+ /**
57
+ * 注册一份贡献,返回 dispose 函数。
58
+ *
59
+ * 全局键 = `${contextId}/${spec.id}`;同键重复注册为替换(幂等),
60
+ * 旧注册的 dispose 函数在替换后失效(不会误删新注册)。
61
+ */
62
+ register(point: string, spec: ContributionSpec, contextId: string): () => void;
63
+ /**
64
+ * 枚举某贡献点的全部条目,按全局键码元序(`Array.prototype.sort` 默认
65
+ * 比较,无 locale 依赖)。返回数组快照;spec 按**引用**给出——不拷贝、
66
+ * 不改写字段,故 class 实例 spec 的原型方法、getter 语义均完好保留
67
+ * (注册表"永不执行插件代码"因此在枚举侧也成立)。
68
+ */
69
+ collect(point: string): ReadonlyArray<ContributionHandle>;
70
+ /**
71
+ * 按 contextId 移除该上下文的全部贡献(插件卸载清扫)。
72
+ */
73
+ unregisterByContext(contextId: string): void;
74
+ }
75
+ //# sourceMappingURL=contributions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contributions.d.ts","sourceRoot":"","sources":["../src/contributions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,kDAAkD;AAClD,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IAC/E,+CAA+C;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;CAClB;AAOD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,oBAAoB;IAC/B,wBAAwB;IACxB,OAAO,CAAC,MAAM,CAAgD;IAE9D;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,IAAI;IA0B9E;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,kBAAkB,CAAC;IAMzD;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAQ7C"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * 贡献点注册表 —— 第四内核原语(与 services 成对偶的数据原语)。
3
+ *
4
+ * 四原语按「执行/数据」二分:events(执行·无返回·隔离)、hooks(执行·可变·
5
+ * 短路)、services(数据·解析单胜者)、contributions(数据·确定性枚举全量)。
6
+ *
7
+ * 本注册表**永不执行插件代码**:register/collect 是同步的数据插入与快照枚举。
8
+ * 如何调用 spec(并行/隔离/超时)是收集方(贡献点 owner)的策略,不在内核。
9
+ *
10
+ * 确定性:collect 按全局键(`${contextId}/${id}`)码元序排序——同一注册集合
11
+ * 在任意注册顺序、任意机器上枚举结果逐字节相同;顺序是键的纯函数,
12
+ * 重复注册也无法影响排位。
13
+ *
14
+ * 插件面与 events / services / hooks 同一门面纪律(方法窄面,对象不外露):
15
+ * 注册经 `ctx.contribute(point, spec)`(冠 ctx.id 前缀 + 挂 dispose 链),
16
+ * 枚举经 `ctx.collect(point)`(驱动公开——任何插件都可拥有自己的贡献点)。
17
+ * 完整注册表仅 App(组合根)与 Context 内部持有。
18
+ *
19
+ * 注册表本身只认 {@link ContributionSpec}(不透明数据面);按贡献点键精化
20
+ * spec 类型是 Context 门面的职责(经 types/contributions.ts 的
21
+ * ContributionPointMap declaration merging)。
22
+ */
23
+ export class ContributionRegistry {
24
+ /** point → 全局键 → 注册项 */
25
+ points = new Map();
26
+ /**
27
+ * 注册一份贡献,返回 dispose 函数。
28
+ *
29
+ * 全局键 = `${contextId}/${spec.id}`;同键重复注册为替换(幂等),
30
+ * 旧注册的 dispose 函数在替换后失效(不会误删新注册)。
31
+ */
32
+ register(point, spec, contextId) {
33
+ // 空 id 会静默同键碰撞;含 '/' 的局部 id 可构造出与他人 `${contextId}/${id}`
34
+ // 相同的全局键(如 ctx 'a' + id 'b/c' 撞 ctx 'a/b' + id 'c'),打破
35
+ // 「spec.id 侧无法顶替他人贡献」的保证——两者都必须在注册期拒绝。
36
+ if (!spec.id || spec.id.includes('/')) {
37
+ throw new TypeError(`贡献点 "${point}" 的 spec.id 必须非空且不含 '/'(得到 "${spec.id}")`);
38
+ }
39
+ let byKey = this.points.get(point);
40
+ if (!byKey) {
41
+ byKey = new Map();
42
+ this.points.set(point, byKey);
43
+ }
44
+ const key = `${contextId}/${spec.id}`;
45
+ const entry = { spec, contextId };
46
+ byKey.set(key, entry);
47
+ return () => {
48
+ // 仅当当前占位仍是本次注册时才删除——同键已被替换时旧 dispose 是 no-op
49
+ const current = this.points.get(point);
50
+ if (current?.get(key) === entry) {
51
+ current.delete(key);
52
+ if (current.size === 0)
53
+ this.points.delete(point);
54
+ }
55
+ };
56
+ }
57
+ /**
58
+ * 枚举某贡献点的全部条目,按全局键码元序(`Array.prototype.sort` 默认
59
+ * 比较,无 locale 依赖)。返回数组快照;spec 按**引用**给出——不拷贝、
60
+ * 不改写字段,故 class 实例 spec 的原型方法、getter 语义均完好保留
61
+ * (注册表"永不执行插件代码"因此在枚举侧也成立)。
62
+ */
63
+ collect(point) {
64
+ const byKey = this.points.get(point);
65
+ if (!byKey)
66
+ return [];
67
+ return [...byKey.keys()].sort().map(key => ({ key, spec: byKey.get(key).spec }));
68
+ }
69
+ /**
70
+ * 按 contextId 移除该上下文的全部贡献(插件卸载清扫)。
71
+ */
72
+ unregisterByContext(contextId) {
73
+ for (const [point, byKey] of this.points) {
74
+ for (const [key, entry] of byKey) {
75
+ if (entry.contextId === contextId)
76
+ byKey.delete(key);
77
+ }
78
+ if (byKey.size === 0)
79
+ this.points.delete(point);
80
+ }
81
+ }
82
+ }
83
+ //# sourceMappingURL=contributions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contributions.js","sourceRoot":"","sources":["../src/contributions.ts"],"names":[],"mappings":"AAqCA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,oBAAoB;IAC/B,wBAAwB;IAChB,MAAM,GAAG,IAAI,GAAG,EAAqC,CAAC;IAE9D;;;;;OAKG;IACH,QAAQ,CAAC,KAAa,EAAE,IAAsB,EAAE,SAAiB;QAC/D,yDAAyD;QACzD,uDAAuD;QACvD,uCAAuC;QACvC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,SAAS,CAAC,QAAQ,KAAK,+BAA+B,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,KAAK,GAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAChD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEtB,OAAO,GAAG,EAAE;YACV,6CAA6C;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;oBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,KAAa;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,SAAiB;QACnC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;oBAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;CACF"}
package/dist/hooks.d.ts CHANGED
@@ -1,23 +1,4 @@
1
1
  import type { HookContextMap, MiddlewareFn } from './types/index.js';
2
- /**
3
- * 钩子执行面 —— `ctx.hooks` 暴露给插件的窄接口。
4
- *
5
- * 与 events / services 相同的门面纪律(驱动公开、挂载走 id 绑定门面):
6
- * - **驱动公开**:任何插件都可 `ctx.hooks.run(...)` 驱动自己定义的钩子链
7
- * (对称钩子系统的立身之本,地位等价于 `ctx.emit`);
8
- * - **挂载走门面**:注册 handler 只经 `ctx.middleware(hook, fn)` —— 它闭包当前
9
- * ctx.id 作 contextId 并登记 dispose 链,插件卸载时才能被 `unregisterByContext`
10
- * 清扫。裸 `register` 默认落到 'root',会静默泄漏进全局管道,故不在本接口上。
11
- *
12
- * 完整的 {@link HookRegistry}(register / unregisterByContext / onStall)仅
13
- * App(组合根,接 onStall 到 logger)与 Context 内部持有。
14
- */
15
- export interface HookRunner {
16
- /** 执行钩子链;语义见 {@link HookRegistry.run}。 */
17
- run<K extends string & keyof HookContextMap>(hook: K, data: HookContextMap[K], defaultAction?: () => Promise<void>, opts?: {
18
- warnOnStall?: boolean;
19
- }): Promise<boolean>;
20
- }
21
2
  /**
22
3
  * 钩子注册表 —— 命名生命周期事件的 handler 总线
23
4
  *
@@ -28,8 +9,12 @@ export interface HookRunner {
28
9
  * 不再使用数字 priority:相位之间的次序由调度方(plugin-gateway 等)
29
10
  * 显式表达;相位内部的 handler 应顺序无关,或由相位拥有方约定。
30
11
  *
31
- * 插件通过 `ctx.middleware(hook, fn)` 注册 handler。
32
- * 服务在关键流程点执行 `hooks.run(hook, data, defaultAction)`。
12
+ * 插件面与 events / services 同一门面纪律(方法窄面,对象不外露):
13
+ * 注册 handler 只经 `ctx.middleware(hook, fn)`(闭包 ctx.id 作 contextId 并登记
14
+ * dispose 链,插件卸载时被 `unregisterByContext` 清扫;裸 `register` 默认落
15
+ * 'root',会静默泄漏进全局管道);驱动钩子链经 `ctx.runHook(hook, data,
16
+ * defaultAction)`。完整注册表仅 App(组合根,接 onStall 到 logger)与
17
+ * Context 内部持有。
33
18
  *
34
19
  * Handler 可以:
35
20
  * - 修改 data 对象(引用传递)
@@ -38,7 +23,7 @@ export interface HookRunner {
38
23
  *
39
24
  * 第三方插件可通过 TS declaration merging 扩展 HookContextMap。
40
25
  */
41
- export declare class HookRegistry implements HookRunner {
26
+ export declare class HookRegistry {
42
27
  private hooks;
43
28
  /**
44
29
  * 广播型相位的"卡链"上报回调(由 App 接到 logger)。
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAkB,MAAM,kBAAkB,CAAC;AAOrF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,cAAc,EACzC,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACnC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/B,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,YAAa,YAAW,UAAU;IAE7C,OAAO,CAAC,KAAK,CAAuC;IAEpD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAE1E;;;OAGG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,cAAc,EAC9C,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EACnC,SAAS,GAAE,MAAe,GACzB,MAAM,IAAI;IAsBb;;;;;;;;;;;;;OAaG;IACG,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,cAAc,EAC/C,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACnC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/B,OAAO,CAAC,OAAO,CAAC;IA8BnB;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAU7C"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAkB,MAAM,kBAAkB,CAAC;AAOrF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,YAAY;IAEvB,OAAO,CAAC,KAAK,CAAuC;IAEpD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAE1E;;;OAGG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,cAAc,EAC9C,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EACnC,SAAS,GAAE,MAAe,GACzB,MAAM,IAAI;IAsBb;;;;;;;;;;;;;OAaG;IACG,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,cAAc,EAC/C,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACnC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/B,OAAO,CAAC,OAAO,CAAC;IA8BnB;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAU7C"}
package/dist/hooks.js CHANGED
@@ -8,8 +8,12 @@
8
8
  * 不再使用数字 priority:相位之间的次序由调度方(plugin-gateway 等)
9
9
  * 显式表达;相位内部的 handler 应顺序无关,或由相位拥有方约定。
10
10
  *
11
- * 插件通过 `ctx.middleware(hook, fn)` 注册 handler。
12
- * 服务在关键流程点执行 `hooks.run(hook, data, defaultAction)`。
11
+ * 插件面与 events / services 同一门面纪律(方法窄面,对象不外露):
12
+ * 注册 handler 只经 `ctx.middleware(hook, fn)`(闭包 ctx.id 作 contextId 并登记
13
+ * dispose 链,插件卸载时被 `unregisterByContext` 清扫;裸 `register` 默认落
14
+ * 'root',会静默泄漏进全局管道);驱动钩子链经 `ctx.runHook(hook, data,
15
+ * defaultAction)`。完整注册表仅 App(组合根,接 onStall 到 logger)与
16
+ * Context 内部持有。
13
17
  *
14
18
  * Handler 可以:
15
19
  * - 修改 data 对象(引用传递)
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,8 +3,9 @@ export { App, createApp } from './app.js';
3
3
  export type { AalisConfig, ConfigManagerOptions } from './config.js';
4
4
  export { CORE_CONFIG_SCHEMA, ConfigManager } from './config.js';
5
5
  export { Context } from './context.js';
6
+ export { type ContributionHandle, ContributionRegistry, type ContributionSpec } from './contributions.js';
6
7
  export { EventBus } from './events.js';
7
- export { HookRegistry, type HookRunner } from './hooks.js';
8
+ export { HookRegistry } from './hooks.js';
8
9
  export type { LogEntry, LogLevel } from './logger.js';
9
10
  export { DefaultLogger, formatLogLine, type Logger, LogHub, parseLogLine } from './logger.js';
10
11
  export type { PluginEntry, PluginModule, PluginState } from './plugin.js';
@@ -12,5 +13,5 @@ export { PluginManager, parseInstanceId } from './plugin.js';
12
13
  export type { ConfigProvider, PluginDescriptor, PluginLoader, RestartStrategy } from './providers.js';
13
14
  export type { NormalizedDependency, ServiceEntry, ServicePriorityValue } from './service.js';
14
15
  export { ServiceContainer, ServicePriority } from './service.js';
15
- export type { AalisEvents, AppService, ConfigSchema, DependencyDeclaration, DisposableService, HookContextMap, InjectDeclaration, MiddlewareFn, MiddlewareNext, PluginManagerService, PluginStatusEntry, SchemaArray, SchemaField, SchemaFieldType, SchemaFieldTypes, SchemaGroup, ServiceDependency, ServiceOf, ServiceTypeMap, } from './types/index.js';
16
+ export type { AalisEvents, AppService, ConfigSchema, ContributionPointMap, DependencyDeclaration, DisposableService, HookContextMap, InjectDeclaration, MiddlewareFn, MiddlewareNext, PluginManagerService, PluginStatusEntry, SchemaArray, SchemaField, SchemaFieldType, SchemaFieldTypes, SchemaGroup, ServiceDependency, ServiceOf, ServiceTypeMap, } from './types/index.js';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE3D,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9F,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtG,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjE,YAAY,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,cAAc,GACf,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,KAAK,kBAAkB,EAAE,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9F,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtG,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjE,YAAY,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,cAAc,GACf,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -4,10 +4,10 @@
4
4
  // core 仅提供:
5
5
  // - 运行时基础设施(App / Context / EventBus / ServiceContainer / HookRegistry / ConfigManager / Logger / PluginManager 等)
6
6
  // - 通用 IoC 数据契约(Schema / AalisEvents / Middleware / Dependency 声明 等)
7
- // - 扩展点(AalisEvents / HookContextMap / ServiceTypeMap)+ PluginModule augmentation
7
+ // - 扩展点(AalisEvents / HookContextMap / ServiceTypeMap / ContributionPointMap)+ PluginModule augmentation
8
8
  //
9
9
  // 所有业务/领域类型均由各 @aalis/plugin-*-api 包导出:
10
- // - Message / ContentSegment → @aalis/plugin-agent-api
10
+ // - Message / ContentSegment → @aalis/plugin-message-api
11
11
  // - ToolCall / ToolDefinition / ToolFunction → @aalis/plugin-tools-api
12
12
  // - LLM / Memory / Storage / Embedding / VectorStore / Tools / Commands / Gateway /
13
13
  // WebUI / Authority / Agent / Platform 等服务接口及关联业务类型同样在各自的 plugin-*-api。
@@ -18,6 +18,7 @@ export { CORE_CONFIG_SCHEMA, ConfigManager } from './config.js';
18
18
  export { Context } from './context.js';
19
19
  // 注:DisposableChain 是 Context 的内部清理链实现,不再从包根导出(零外部消费,
20
20
  // 避免 semver 负担)。嵌入方如确需独立使用,从 './disposable-chain.js' 直接 import。
21
+ export { ContributionRegistry } from './contributions.js';
21
22
  export { EventBus } from './events.js';
22
23
  export { HookRegistry } from './hooks.js';
23
24
  export { DefaultLogger, formatLogLine, LogHub, parseLogLine } from './logger.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,0BAA0B;AAC1B,EAAE;AACF,YAAY;AACZ,qHAAqH;AACrH,uEAAuE;AACvE,oFAAoF;AACpF,EAAE;AACF,wCAAwC;AACxC,mEAAmE;AACnE,yEAAyE;AACzE,sFAAsF;AACtF,4EAA4E;AAC5E,+DAA+D;AAG/D,sBAAsB;AACtB,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,sDAAsD;AACtD,gEAAgE;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAmB,MAAM,YAAY,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAe,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG9F,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,0BAA0B;AAC1B,EAAE;AACF,YAAY;AACZ,qHAAqH;AACrH,uEAAuE;AACvE,2GAA2G;AAC3G,EAAE;AACF,wCAAwC;AACxC,qEAAqE;AACrE,yEAAyE;AACzE,sFAAsF;AACtF,4EAA4E;AAC5E,+DAA+D;AAG/D,sBAAsB;AACtB,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,sDAAsD;AACtD,gEAAgE;AAChE,OAAO,EAA2B,oBAAoB,EAAyB,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAe,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG9F,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export interface ContributionPointMap {
2
+ }
3
+ //# sourceMappingURL=contributions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contributions.d.ts","sourceRoot":"","sources":["../../src/types/contributions.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;CAAG"}
@@ -0,0 +1,10 @@
1
+ // ============================================================
2
+ // 贡献点扩展点(空接口;由各 plugin-*-api 通过 declaration merging 注入
3
+ // 「贡献点名 → spec 类型」,与 HookContextMap 同构)。
4
+ //
5
+ // 键名按域命名空间化(如 'agent:prompt');spec 类型须含 `id: string`
6
+ // (内核契约 ContributionSpec),其余字段(槽位/构建函数等)语义全在域层。
7
+ // core 里不出现任何领域词汇——出现即越界。
8
+ // ============================================================
9
+ export {};
10
+ //# sourceMappingURL=contributions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contributions.js","sourceRoot":"","sources":["../../src/types/contributions.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uDAAuD;AACvD,yCAAyC;AACzC,EAAE;AACF,qDAAqD;AACrD,gDAAgD;AAChD,0BAA0B;AAC1B,+DAA+D"}
@@ -1,4 +1,5 @@
1
1
  export type { AppService, PluginManagerService, PluginStatusEntry } from './app.js';
2
+ export type { ContributionPointMap } from './contributions.js';
2
3
  export type { AalisEvents, ConfigSchema, DependencyDeclaration, InjectDeclaration, MiddlewareFn, MiddlewareNext, SchemaArray, SchemaField, SchemaFieldType, SchemaFieldTypes, SchemaGroup, ServiceDependency, } from './core.js';
3
4
  export type { DisposableService } from './disposable-service.js';
4
5
  export type { HookContextMap } from './hooks.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAiBA,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEpF,YAAY,EACV,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAkBA,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEpF,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,YAAY,EACV,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
@@ -4,11 +4,12 @@
4
4
  // 仅包含 core 自身定义的:
5
5
  // - 通用 IoC 数据契约(types/core.ts:Schema / Middleware / Dependency / AalisEvents 等)
6
6
  // - 钩子扩展点(types/hooks.ts,仅空 HookContextMap)
7
- // - 服务能力声明框架(types/capabilities.ts)
7
+ // - 贡献点扩展点(types/contributions.ts,仅空 ContributionPointMap
8
+ // - 服务类型注册表(types/services.ts,仅空 ServiceTypeMap)
8
9
  // - App 服务接口(types/app.ts)
9
10
  //
10
11
  // 业务/领域类型一律由 plugin-*-api 包导出:
11
- // - Message / ContentSegment → @aalis/plugin-agent-api
12
+ // - Message / ContentSegment → @aalis/plugin-message-api
12
13
  // - ToolCall / ToolDefinition / ToolFunction → @aalis/plugin-tools-api
13
14
  // - LLM / Memory / Storage / Embedding / VectorStore / Tools / Commands / Gateway /
14
15
  // WebUI / Authority / Agent / Platform 等服务接口同样在各自的 plugin-*-api。
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,8BAA8B;AAC9B,EAAE;AACF,kBAAkB;AAClB,kFAAkF;AAClF,8CAA8C;AAC9C,sCAAsC;AACtC,6BAA6B;AAC7B,EAAE;AACF,+BAA+B;AAC/B,mEAAmE;AACnE,yEAAyE;AACzE,sFAAsF;AACtF,qEAAqE;AACrE,+DAA+D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,8BAA8B;AAC9B,EAAE;AACF,kBAAkB;AAClB,kFAAkF;AAClF,8CAA8C;AAC9C,6DAA6D;AAC7D,mDAAmD;AACnD,6BAA6B;AAC7B,EAAE;AACF,+BAA+B;AAC/B,qEAAqE;AACrE,yEAAyE;AACzE,sFAAsF;AACtF,qEAAqE;AACrE,+DAA+D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/core",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",