@openora/core 0.4.1-canary.52 → 0.4.1-canary.54

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 (78) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/plugin.d.ts +1 -1
  3. package/dist/analytics/plugin.d.ts +1 -1
  4. package/dist/audit/plugin.d.ts +1 -1
  5. package/dist/casino/gaming/plugin.d.ts +1 -1
  6. package/dist/casino/lobby/plugin.d.ts +1 -1
  7. package/dist/cms/plugin.d.ts +1 -1
  8. package/dist/compliance/plugin.d.ts +1 -1
  9. package/dist/contracts/adapters/chat-system-writer.d.ts +1 -1
  10. package/dist/contracts/adapters/chat-system-writer.d.ts.map +1 -1
  11. package/dist/contracts/adapters/identity-reader.d.ts +1 -1
  12. package/dist/contracts/adapters/identity-reader.d.ts.map +1 -1
  13. package/dist/contracts/adapters/index.d.ts +1 -1
  14. package/dist/contracts/adapters/index.d.ts.map +1 -1
  15. package/dist/contracts/adapters/index.js.map +1 -1
  16. package/dist/contracts/adapters/token.d.ts +8 -5
  17. package/dist/contracts/adapters/token.d.ts.map +1 -1
  18. package/dist/contracts/adapters/token.js +4 -4
  19. package/dist/contracts/adapters/token.js.map +1 -1
  20. package/dist/contracts/adapters/wallet-reader.d.ts +1 -1
  21. package/dist/contracts/adapters/wallet-reader.d.ts.map +1 -1
  22. package/dist/contracts/schemas/__tests__/tag-schemas.test.d.ts +2 -0
  23. package/dist/contracts/schemas/__tests__/tag-schemas.test.d.ts.map +1 -0
  24. package/dist/contracts/schemas/__tests__/tag-schemas.test.js +42 -0
  25. package/dist/contracts/schemas/__tests__/tag-schemas.test.js.map +1 -0
  26. package/dist/contracts/schemas/platform-config.d.ts +1 -1
  27. package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
  28. package/dist/contracts/schemas/tag.d.ts +1 -1
  29. package/dist/contracts/schemas/tag.js +2 -2
  30. package/dist/contracts/schemas/tag.js.map +1 -1
  31. package/dist/engagement/chat/plugin.d.ts +1 -1
  32. package/dist/engagement/chat-commands/plugin.d.ts +1 -1
  33. package/dist/engagement/notifications/plugin.d.ts +1 -1
  34. package/dist/iam/plugin.d.ts +1 -1
  35. package/dist/pam/identity/plugin.d.ts +1 -1
  36. package/dist/pam/player-management/plugin.d.ts +1 -1
  37. package/dist/pam/player-note/plugin.d.ts +1 -1
  38. package/dist/pam/profile/plugin.d.ts +1 -1
  39. package/dist/pam/tag/__tests__/tag.router.int.test.js +63 -0
  40. package/dist/pam/tag/__tests__/tag.router.int.test.js.map +1 -1
  41. package/dist/pam/tag/contract/index.d.ts +1 -1
  42. package/dist/pam/tag/plugin.d.ts +1 -1
  43. package/dist/pam/tag/router/index.d.ts +1 -1
  44. package/dist/pam/tag/router/index.d.ts.map +1 -1
  45. package/dist/pam/tag/router/index.js +5 -2
  46. package/dist/pam/tag/router/index.js.map +1 -1
  47. package/dist/pam/tag/service/tag.service.d.ts +1 -0
  48. package/dist/pam/tag/service/tag.service.d.ts.map +1 -1
  49. package/dist/pam/tag/service/tag.service.js +14 -3
  50. package/dist/pam/tag/service/tag.service.js.map +1 -1
  51. package/dist/server/kernel/container.d.ts +4 -2
  52. package/dist/server/kernel/container.d.ts.map +1 -1
  53. package/dist/server/kernel/container.js.map +1 -1
  54. package/dist/server/plugin-host/__tests__/load-plugins.test.d.ts +2 -0
  55. package/dist/server/plugin-host/__tests__/load-plugins.test.d.ts.map +1 -0
  56. package/dist/server/plugin-host/__tests__/load-plugins.test.js +22 -0
  57. package/dist/server/plugin-host/__tests__/load-plugins.test.js.map +1 -0
  58. package/dist/server/plugin-host/__tests__/typed-plugin.test.d.ts +2 -0
  59. package/dist/server/plugin-host/__tests__/typed-plugin.test.d.ts.map +1 -0
  60. package/dist/server/plugin-host/__tests__/typed-plugin.test.js +43 -0
  61. package/dist/server/plugin-host/__tests__/typed-plugin.test.js.map +1 -0
  62. package/dist/server/plugin-host/define-plugin.d.ts +17 -16
  63. package/dist/server/plugin-host/define-plugin.d.ts.map +1 -1
  64. package/dist/server/plugin-host/define-plugin.js +5 -0
  65. package/dist/server/plugin-host/define-plugin.js.map +1 -1
  66. package/dist/server/plugin-host/index.d.ts +3 -3
  67. package/dist/server/plugin-host/index.d.ts.map +1 -1
  68. package/dist/server/plugin-host/index.js +2 -2
  69. package/dist/server/plugin-host/index.js.map +1 -1
  70. package/dist/server/plugin-host/load-plugins.d.ts +23 -4
  71. package/dist/server/plugin-host/load-plugins.d.ts.map +1 -1
  72. package/dist/server/plugin-host/load-plugins.js +4 -1
  73. package/dist/server/plugin-host/load-plugins.js.map +1 -1
  74. package/dist/server/plugin-host/module-registry.d.ts +3 -3
  75. package/dist/server/plugin-host/module-registry.d.ts.map +1 -1
  76. package/dist/server/plugin-host/module-registry.js.map +1 -1
  77. package/dist/wallet/plugin.d.ts +1 -1
  78. package/package.json +1 -1
@@ -25,6 +25,15 @@ export const TagKeyConflictError = makeConflictError('TagKeyConflictError', 'Tag
25
25
  // A tag can't be deleted while a playerTag/tagRule row still references it
26
26
  // (onDelete: 'restrict' in the schema).
27
27
  export const TagInUseError = makeConflictError('TagInUseError', 'Tag is still referenced by a player tag or tag rule and cannot be deleted');
28
+ export const TagRemovalReasonRequiredError = makeConflictError('TagRemovalReasonRequiredError', 'A removal reason is required for sticky tags');
29
+ const DEFAULT_MANUAL_REMOVAL_REASON = 'manual tag removal';
30
+ function resolveRemovalReason(reason, isSticky) {
31
+ const normalized = reason?.trim();
32
+ if (isSticky && !normalized) {
33
+ throw new TagRemovalReasonRequiredError();
34
+ }
35
+ return normalized ?? DEFAULT_MANUAL_REMOVAL_REASON;
36
+ }
28
37
  // "First evidence wins per breach dimension, but a dimension that was never recorded gets
29
38
  // filled in the moment it's observed." Never overwrites an already-populated dimension with
30
39
  // fresher numbers - once a dimension has ever been recorded, the resweep treats it as sticky.
@@ -270,6 +279,7 @@ export class TagService {
270
279
  }
271
280
  async _removePlayerTagOnTx(trx, args) {
272
281
  const foundTag = await this._findTagByKeyOrThrow(args.tagKey, trx);
282
+ const removalReason = resolveRemovalReason(args.removalReason, foundTag.isSticky);
273
283
  const active = findOneOrThrow(await trx
274
284
  .select()
275
285
  .from(playerTag)
@@ -279,7 +289,7 @@ export class TagService {
279
289
  .update(playerTag)
280
290
  .set({
281
291
  removedAt: new Date(),
282
- removalReason: args.removalReason,
292
+ removalReason,
283
293
  removalActor: args.removalActor,
284
294
  removalActorUserId: args.removalActorUserId,
285
295
  })
@@ -292,6 +302,7 @@ export class TagService {
292
302
  const db = this.drizzle.db;
293
303
  const result = await db.transaction(async (trx) => {
294
304
  const foundTag = await this._findTagByKeyOrThrow(args.tagKey, trx);
305
+ const removalReason = resolveRemovalReason(args.removalReason, foundTag.isSticky);
295
306
  const active = findOneOrThrow(await trx
296
307
  .select()
297
308
  .from(playerTag)
@@ -301,7 +312,7 @@ export class TagService {
301
312
  .update(playerTag)
302
313
  .set({
303
314
  removedAt: new Date(),
304
- removalReason: args.removalReason,
315
+ removalReason,
305
316
  removalActor: args.removalActor,
306
317
  removalActorUserId: args.removalActorUserId,
307
318
  })
@@ -312,7 +323,7 @@ export class TagService {
312
323
  void this.event.emit('tag.player.removed', {
313
324
  playerId: args.playerId,
314
325
  tagKey: args.tagKey,
315
- reason: args.removalReason,
326
+ reason: result.removalReason ?? DEFAULT_MANUAL_REMOVAL_REASON,
316
327
  actorId: args.removalActorUserId ?? SYSTEM_ACTOR_ID,
317
328
  ip: meta?.ip ?? null,
318
329
  userAgent: meta?.userAgent ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"tag.service.js","sourceRoot":"","sources":["../../../../src/pam/tag/service/tag.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tag.service.js","sourceRoot":"","sources":["../../../../src/pam/tag/service/tag.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AnyToken } from '@openora/core/contracts';
1
+ import type { AnyToken, TokenCatalog, TokenValue } from '@openora/core/contracts';
2
2
  export type Factory<T> = (c: Container) => T;
3
3
  /**
4
4
  * Functional DI container - no decorators, no reflection. `get()` resolves
@@ -10,13 +10,15 @@ export type Factory<T> = (c: Container) => T;
10
10
  * `dispose()` runs every `onDispose` callback in REVERSE registration order -
11
11
  * register dependencies before their dependents so teardown happens safely.
12
12
  */
13
- export declare class Container {
13
+ export declare class Container<C extends TokenCatalog = never> {
14
14
  private readonly factories;
15
15
  private readonly instances;
16
16
  private readonly resolving;
17
17
  private readonly disposers;
18
18
  register<T>(token: AnyToken<T>, factory: Factory<T>): void;
19
+ has<K extends keyof C>(token: C[K]): boolean;
19
20
  has(token: AnyToken<unknown>): boolean;
21
+ get<K extends keyof C>(token: C[K]): TokenValue<C[K]>;
20
22
  get<T>(token: AnyToken<T>): T;
21
23
  onDispose(fn: () => void | Promise<void>): void;
22
24
  dispose(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/server/kernel/container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAUxD,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,KAAK,CAAC,CAAC;AAE7C;;;;;;;;;GASG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IAEnE,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAK1D,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO;IAItC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;IAsB7B,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIzC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAK/B"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/server/kernel/container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAUlF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,KAAK,CAAC,CAAC;AAE7C;;;;;;;;;GASG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,YAAY,GAAG,KAAK;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IAEnE,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAK1D,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;IAC5C,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO;IAKtC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;IAuB7B,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIzC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAK/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/server/kernel/container.ts"],"names":[],"mappings":"AAYA;;;;;;;;;GASG;AACH,MAAM,OAAO,SAAS;IACH,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;IAChD,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;IACvC,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,SAAS,GAAsC,EAAE,CAAC;IAEnE,QAAQ,CAAI,KAAkB,EAAE,OAAmB;QACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAA2B,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,KAAwB;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAI,KAAkB;QACvB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAM,CAAC;QACxC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,wCAAwC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAC9E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAM,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,EAA8B;QACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,MAAM,EAAE,EAAE,CAAC;QACb,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/server/kernel/container.ts"],"names":[],"mappings":"AAYA;;;;;;;;;GASG;AACH,MAAM,OAAO,SAAS;IACH,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;IAChD,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;IACvC,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,SAAS,GAAsC,EAAE,CAAC;IAEnE,QAAQ,CAAI,KAAkB,EAAE,OAAmB;QACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAA2B,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAID,GAAG,CAAC,KAAwB;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAID,GAAG,CAAI,KAAkB;QACvB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAM,CAAC;QACxC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,wCAAwC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAC9E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAM,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,EAA8B;QACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,MAAM,EAAE,EAAE,CAAC;QACb,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=load-plugins.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-plugins.test.d.ts","sourceRoot":"","sources":["../../../../src/server/plugin-host/__tests__/load-plugins.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { topoSort } from '../load-plugins.js';
3
+ function plugin(id, dependsOn = []) {
4
+ return {
5
+ id,
6
+ dependsOn,
7
+ register() { },
8
+ };
9
+ }
10
+ describe('topoSort', () => {
11
+ it('places dependencies before dependents', () => {
12
+ const sorted = topoSort([plugin('feature', ['foundation']), plugin('foundation')]);
13
+ expect(sorted.map(({ id }) => id)).toEqual(['foundation', 'feature']);
14
+ });
15
+ it('rejects an unregistered dependency', () => {
16
+ expect(() => topoSort([plugin('feature', ['missing'])])).toThrow('Plugin "feature" depends on "missing" which is not registered');
17
+ });
18
+ it('rejects a dependency cycle', () => {
19
+ expect(() => topoSort([plugin('a', ['b']), plugin('b', ['c']), plugin('c', ['a'])])).toThrow('Circular plugin dependency: a -> b -> c -> a');
20
+ });
21
+ });
22
+ //# sourceMappingURL=load-plugins.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-plugins.test.js","sourceRoot":"","sources":["../../../../src/server/plugin-host/__tests__/load-plugins.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,SAAS,MAAM,CAAC,EAAU,EAAE,YAAsB,EAAE;IAClD,OAAO;QACL,EAAE;QACF,SAAS;QACT,QAAQ,KAAI,CAAC;KACd,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAEnF,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAC9D,+DAA+D,CAChE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAC1F,8CAA8C,CAC/C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=typed-plugin.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-plugin.test.d.ts","sourceRoot":"","sources":["../../../../src/server/plugin-host/__tests__/typed-plugin.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { createToken } from '@openora/core/contracts';
3
+ import { Container } from '../../kernel/index.js';
4
+ import { defineExtensions, definePluginWithCatalog, ModuleRegistryImpl } from '../index.js';
5
+ const COUNT = createToken('COUNT');
6
+ const SEED = createToken('SEED');
7
+ const OTHER = createToken('OTHER');
8
+ const catalog = { COUNT, SEED };
9
+ const typedPlugin = definePluginWithCatalog()({
10
+ id: 'typed-plugin',
11
+ dependsOn: ['foundation'],
12
+ register(ctx) {
13
+ ctx.provide(COUNT, (container) => container.get(SEED) + 1);
14
+ // @ts-expect-error A token outside the catalog is not a valid provider.
15
+ ctx.provide(OTHER, () => 'not-registered');
16
+ },
17
+ });
18
+ const typedPluginId = typedPlugin.id;
19
+ const typedDependency = typedPlugin.dependsOn ?? ['foundation'];
20
+ const validGraph = defineExtensions([
21
+ { id: 'foundation', path: './foundation.js' },
22
+ { id: 'feature', path: './feature.js', dependsOn: ['foundation'] },
23
+ ]);
24
+ // @ts-expect-error The registry must reject an unknown dependency.
25
+ defineExtensions([{ id: 'feature', path: './feature.js', dependsOn: ['missing'] }]);
26
+ // @ts-expect-error The registry must reject a dependency cycle.
27
+ defineExtensions([
28
+ { id: 'a', path: './a.js', dependsOn: ['b'] },
29
+ { id: 'b', path: './b.js', dependsOn: ['a'] },
30
+ ]);
31
+ describe('typed plugin surface', () => {
32
+ it('keeps literal plugin metadata and resolves catalog services', () => {
33
+ const container = new Container();
34
+ const registry = new ModuleRegistryImpl(container);
35
+ container.register(SEED, () => 41);
36
+ void typedPlugin.register(registry);
37
+ expect(typedPluginId).toBe('typed-plugin');
38
+ expect(typedDependency).toEqual(['foundation']);
39
+ expect(validGraph[1]?.dependsOn).toEqual(['foundation']);
40
+ expect(container.get(COUNT)).toBe(42);
41
+ });
42
+ });
43
+ //# sourceMappingURL=typed-plugin.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-plugin.test.js","sourceRoot":"","sources":["../../../../src/server/plugin-host/__tests__/typed-plugin.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAqB,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE5F,MAAM,KAAK,GAAG,WAAW,CAAS,OAAO,CAAC,CAAC;AAC3C,MAAM,IAAI,GAAG,WAAW,CAAS,MAAM,CAAC,CAAC;AACzC,MAAM,KAAK,GAAG,WAAW,CAAS,OAAO,CAAC,CAAC;AAE3C,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,EAAyB,CAAC;AAEvD,MAAM,WAAW,GAAG,uBAAuB,EAAkB,CAAC;IAC5D,EAAE,EAAE,cAAc;IAClB,SAAS,EAAE,CAAC,YAAY,CAAC;IACzB,QAAQ,CAAC,GAAG;QACV,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE3D,wEAAwE;QACxE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,aAAa,GAAmB,WAAW,CAAC,EAAE,CAAC;AACrD,MAAM,eAAe,GAA4B,WAAW,CAAC,SAAS,IAAI,CAAC,YAAY,CAAC,CAAC;AAEzF,MAAM,UAAU,GAAG,gBAAgB,CAAC;IAClC,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE;IAC7C,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE;CACnE,CAAC,CAAC;AAEH,mEAAmE;AACnE,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;AAEpF,gEAAgE;AAChE,gBAAgB,CAAC;IACf,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE;IAC7C,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE;CAC9C,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,SAAS,GAAG,IAAI,SAAS,EAAkB,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAiB,SAAS,CAAC,CAAC;QAEnE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,KAAK,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEpC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3C,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { Container, Factory } from '../kernel/index.js';
2
- import type { EventEnvelope, SealedToken, Token, WorkerRegistration } from '@openora/core/contracts';
1
+ import type { Container } from '../kernel/index.js';
2
+ import type { EventEnvelope, SealedToken, Token, TokenCatalog, TokenValue, WorkerRegistration } from '@openora/core/contracts';
3
3
  export type McpToolDefinition = {
4
4
  name: string;
5
5
  description: string;
@@ -7,10 +7,15 @@ export type McpToolDefinition = {
7
7
  handler: (input: unknown) => unknown | Promise<unknown>;
8
8
  };
9
9
  export type RouterFactory = (c: Container) => unknown;
10
+ export type TypedContainer<C extends TokenCatalog> = {
11
+ get<K extends keyof C>(token: C[K]): TokenValue<C[K]>;
12
+ has<K extends keyof C>(token: C[K]): boolean;
13
+ onDispose(fn: () => void | Promise<void>): void;
14
+ };
10
15
  export type EventHandler = (payload: unknown, envelope?: EventEnvelope) => void | Promise<void>;
11
- export type ModuleRegistry = {
12
- provide<T>(token: Token<T>, factory: Factory<T>): void;
13
- provideSealed<T>(token: SealedToken<T>, factory: Factory<T>): void;
16
+ export type ModuleRegistry<C extends TokenCatalog = never> = {
17
+ provide<T>(token: [C] extends [never] ? Token<T> : C[keyof C] & Token<T>, factory: (container: [C] extends [never] ? Container : TypedContainer<C>) => T): void;
18
+ provideSealed<T>(token: [C] extends [never] ? SealedToken<T> : C[keyof C] & SealedToken<T>, factory: (container: [C] extends [never] ? Container : TypedContainer<C>) => T): void;
14
19
  routers: {
15
20
  add(namespace: string, factory: RouterFactory): void;
16
21
  getAll(): Map<string, RouterFactory>;
@@ -32,17 +37,13 @@ export type ModuleRegistry = {
32
37
  getAll(): McpToolDefinition[];
33
38
  };
34
39
  };
35
- export type Plugin = {
36
- id: string;
37
- dependsOn?: string[];
38
- requiresPorts?: Token<unknown>[];
39
- register: (ctx: ModuleRegistry) => void | Promise<void>;
40
- };
41
- export type PluginDefinition = {
42
- id: string;
43
- dependsOn?: string[];
40
+ export type PluginDefinition<C extends TokenCatalog = never, Id extends string = string, Dependencies extends readonly string[] = string[]> = {
41
+ id: Id;
42
+ dependsOn?: Dependencies;
44
43
  requiresPorts?: Token<unknown>[];
45
- register: (ctx: ModuleRegistry) => void | Promise<void>;
44
+ register: (ctx: ModuleRegistry<C>) => void | Promise<void>;
46
45
  };
47
- export declare function definePlugin(definition: PluginDefinition): Plugin;
46
+ export type Plugin<C extends TokenCatalog = never, Id extends string = string, Dependencies extends readonly string[] = string[]> = PluginDefinition<C, Id, Dependencies>;
47
+ export declare function definePlugin<C extends TokenCatalog = never, const Id extends string = string, const Dependencies extends readonly string[] = []>(definition: PluginDefinition<C, Id, Dependencies>): Plugin<C, Id, Dependencies>;
48
+ export declare function definePluginWithCatalog<C extends TokenCatalog>(): <const Id extends string, const Dependencies extends readonly string[] = []>(definition: PluginDefinition<C, Id, Dependencies>) => Plugin<C, Id, Dependencies>;
48
49
  //# sourceMappingURL=define-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"define-plugin.d.ts","sourceRoot":"","sources":["../../../src/server/plugin-host/define-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,KAAK,EACL,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhG,MAAM,MAAM,cAAc,GAAG;IAE3B,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAIvD,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACnE,OAAO,EAAE;QACP,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;QACrD,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;KACtC,CAAC;IACF,KAAK,EAAE;QACL,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;QACjD,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAAC;IACF,MAAM,EAAE;QACN,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;QAC/C,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;KACvC,CAAC;IAEF,IAAI,EAAE;QACJ,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACrD,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;KACzC,CAAC;IACF,GAAG,EAAE;QACH,IAAI,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAC;QAC1C,MAAM,IAAI,iBAAiB,EAAE,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,aAAa,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACjC,QAAQ,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACjC,QAAQ,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD,CAAC;AAEF,wBAAgB,YAAY,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAEjE"}
1
+ {"version":3,"file":"define-plugin.d.ts","sourceRoot":"","sources":["../../../src/server/plugin-host/define-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  export function definePlugin(definition) {
2
2
  return definition;
3
3
  }
4
+ export function definePluginWithCatalog() {
5
+ return function defineCataloguedPlugin(definition) {
6
+ return definition;
7
+ };
8
+ }
4
9
  //# sourceMappingURL=define-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"define-plugin.js","sourceRoot":"","sources":["../../../src/server/plugin-host/define-plugin.ts"],"names":[],"mappings":"AAiEA,MAAM,UAAU,YAAY,CAAC,UAA4B;IACvD,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"define-plugin.js","sourceRoot":"","sources":["../../../src/server/plugin-host/define-plugin.ts"],"names":[],"mappings":"AAkFA,MAAM,UAAU,YAAY,CAI1B,UAAiD;IACjD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,SAAS,sBAAsB,CAGpC,UAAiD;QACjD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
- export { definePlugin } from './define-plugin.js';
2
- export type { Plugin, PluginDefinition, ModuleRegistry, McpToolDefinition, RouterFactory, EventHandler, } from './define-plugin.js';
1
+ export { definePlugin, definePluginWithCatalog } from './define-plugin.js';
2
+ export type { Plugin, PluginDefinition, ModuleRegistry, McpToolDefinition, RouterFactory, EventHandler, TypedContainer, } from './define-plugin.js';
3
3
  export { ModuleRegistryImpl } from './module-registry.js';
4
- export { loadPlugins } from './load-plugins.js';
4
+ export { defineExtensions, loadPlugins, topoSort } from './load-plugins.js';
5
5
  export type { PluginEntry } from './load-plugins.js';
6
6
  export { applyServiceManifest, parseServiceManifest } from './service-manifest.js';
7
7
  export { loadExtensions } from './load-extensions.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/plugin-host/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/plugin-host/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,YAAY,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5E,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,6 +1,6 @@
1
- export { definePlugin } from './define-plugin.js';
1
+ export { definePlugin, definePluginWithCatalog } from './define-plugin.js';
2
2
  export { ModuleRegistryImpl } from './module-registry.js';
3
- export { loadPlugins } from './load-plugins.js';
3
+ export { defineExtensions, loadPlugins, topoSort } from './load-plugins.js';
4
4
  export { applyServiceManifest, parseServiceManifest } from './service-manifest.js';
5
5
  export { loadExtensions } from './load-extensions.js';
6
6
  export { corePlugins } from './core-plugins.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/plugin-host/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/plugin-host/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAU3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,12 +1,30 @@
1
1
  import type { Container } from '../kernel/index.js';
2
+ import type { TokenCatalog } from '@openora/core/contracts';
2
3
  import type { Plugin } from './define-plugin.js';
3
4
  import { ModuleRegistryImpl } from './module-registry.js';
4
- export type PluginEntry = {
5
- id: string;
5
+ export type PluginEntry<Id extends string = string, Dependencies extends readonly string[] = readonly string[]> = {
6
+ id: Id;
6
7
  path: string;
8
+ dependsOn?: Dependencies;
7
9
  kind?: 'module' | 'infra';
8
10
  };
9
- export declare function loadPlugins(entries: PluginEntry[], container: Container): Promise<ModuleRegistryImpl>;
11
+ type EntryIds<Entries extends readonly PluginEntry[]> = Entries[number]['id'];
12
+ type EntryDependencies<Entry extends PluginEntry> = Entry['dependsOn'] extends readonly string[] ? Entry['dependsOn'][number] : never;
13
+ type MissingDependencies<Entries extends readonly PluginEntry[]> = Entries[number] extends infer Entry ? Entry extends PluginEntry ? Exclude<EntryDependencies<Entry>, EntryIds<Entries>> : never : never;
14
+ type EntryById<Entries extends readonly PluginEntry[], Id extends string> = Entries[number] extends infer Entry ? (Entry extends PluginEntry<Id> ? Entry : never) : never;
15
+ type HasDependencyCycle<Entries extends readonly PluginEntry[], Id extends string, Trail extends readonly string[] = []> = Id extends Trail[number] ? true : EntryById<Entries, Id> extends infer Entry ? Entry extends PluginEntry ? HasDependencyCycleFor<Entries, EntryDependencies<Entry>, [...Trail, Id]> : false : false;
16
+ type HasDependencyCycleFor<Entries extends readonly PluginEntry[], Ids extends string, Trail extends readonly string[]> = true extends (Ids extends string ? HasDependencyCycle<Entries, Ids, Trail> : never) ? true : false;
17
+ type GraphHasCycle<Entries extends readonly PluginEntry[], Ids extends string = EntryIds<Entries>> = true extends (Ids extends string ? HasDependencyCycle<Entries, Ids> : never) ? true : false;
18
+ type PluginGraphError<Entries extends readonly PluginEntry[]> = [
19
+ MissingDependencies<Entries>
20
+ ] extends [never] ? GraphHasCycle<Entries> extends true ? {
21
+ readonly __pluginGraphError: 'circular dependency';
22
+ } : unknown : {
23
+ readonly __pluginGraphError: 'unknown dependency';
24
+ };
25
+ export declare function defineExtensions<const Entries extends readonly PluginEntry[]>(entries: Entries & PluginGraphError<Entries>): Entries;
26
+ export declare function topoSort<C extends TokenCatalog>(plugins: Plugin<C>[]): Plugin<C>[];
27
+ export declare function loadPlugins<C extends TokenCatalog = never>(entries: PluginEntry[], container: Container<C>): Promise<ModuleRegistryImpl<C>>;
10
28
  /**
11
29
  * Boot-time fail-fast for cross-domain ports (ADR-0024). A domain depends ONLY on
12
30
  * the foundation and reaches another domain through a port token the other domain
@@ -17,5 +35,6 @@ export declare function loadPlugins(entries: PluginEntry[], container: Container
17
35
  * registration and throw one actionable error naming the plugin, the port, and the
18
36
  * likely-missing package.
19
37
  */
20
- export declare function assertRequiredPorts(plugins: Plugin[], container: Container): void;
38
+ export declare function assertRequiredPorts<C extends TokenCatalog = never>(plugins: Plugin<C>[], container: Container): void;
39
+ export {};
21
40
  //# sourceMappingURL=load-plugins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-plugins.d.ts","sourceRoot":"","sources":["../../../src/server/plugin-host/load-plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IAKb,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC3B,CAAC;AA8DF,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAuB7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAgBjF"}
1
+ {"version":3,"file":"load-plugins.d.ts","sourceRoot":"","sources":["../../../src/server/plugin-host/load-plugins.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import { ModuleRegistryImpl } from './module-registry.js';
2
+ export function defineExtensions(entries) {
3
+ return entries;
4
+ }
2
5
  function validateEntries(entries) {
3
6
  if (!Array.isArray(entries)) {
4
7
  throw new Error(`extensions.config.ts must export \`extensions\` as an array of { id, path }. Got ${typeof entries}.`);
@@ -22,7 +25,7 @@ function validateEntries(entries) {
22
25
  seen.add(id);
23
26
  });
24
27
  }
25
- function topoSort(plugins) {
28
+ export function topoSort(plugins) {
26
29
  const byId = new Map(plugins.map((p) => [p.id, p]));
27
30
  const visited = new Set();
28
31
  const sorted = [];
@@ -1 +1 @@
1
- {"version":3,"file":"load-plugins.js","sourceRoot":"","sources":["../../../src/server/plugin-host/load-plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-plugins.js","sourceRoot":"","sources":["../../../src/server/plugin-host/load-plugins.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Container, Factory } from '../kernel/index.js';
2
- import type { SealedToken, Token, WorkerRegistration } from '@openora/core/contracts';
2
+ import type { SealedToken, Token, TokenCatalog, WorkerRegistration } from '@openora/core/contracts';
3
3
  import type { ModuleRegistry, McpToolDefinition, RouterFactory, EventHandler } from './define-plugin.js';
4
- export declare class ModuleRegistryImpl implements ModuleRegistry {
4
+ export declare class ModuleRegistryImpl<C extends TokenCatalog = never> implements ModuleRegistry<C> {
5
5
  private readonly container;
6
6
  private _routers;
7
7
  private _slots;
@@ -9,7 +9,7 @@ export declare class ModuleRegistryImpl implements ModuleRegistry {
9
9
  private _jobs;
10
10
  private _mcpTools;
11
11
  private _sealedBound;
12
- constructor(container: Container);
12
+ constructor(container: Container<C>);
13
13
  provide: <T>(token: Token<T>, factory: Factory<T>) => void;
14
14
  provideSealed: <T>(token: SealedToken<T>, factory: Factory<T>) => void;
15
15
  routers: {
@@ -1 +1 @@
1
- {"version":3,"file":"module-registry.d.ts","sourceRoot":"","sources":["../../../src/server/plugin-host/module-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,kBAAmB,YAAW,cAAc;IAQ3C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAPtC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,YAAY,CAAqB;gBAEZ,SAAS,EAAE,SAAS;IAMjD,OAAO,GAAI,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,IAAI,CAYvD;IAMF,aAAa,GAAI,CAAC,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,IAAI,CASnE;IAEF,OAAO;yBACY,MAAM,WAAW,aAAa;;MAO/C;IAEF,KAAK;yBACc,MAAM,aAAa,OAAO;;MAI3C;IAEF,MAAM;oBACQ,MAAM,WAAW,YAAY;;MAMzC;IAEF,IAAI;iBACO,CAAC,gBAAgB,kBAAkB,CAAC,CAAC,CAAC;;MAI/C;IAEF,GAAG;2BACkB,iBAAiB;;MAIpC;CACH"}
1
+ {"version":3,"file":"module-registry.d.ts","sourceRoot":"","sources":["../../../src/server/plugin-host/module-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACpG,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,KAAK,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;IAQ9E,OAAO,CAAC,QAAQ,CAAC,SAAS;IAPtC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,YAAY,CAAqB;gBAEZ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAMpD,OAAO,GAAI,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,IAAI,CAYvD;IAMF,aAAa,GAAI,CAAC,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,IAAI,CASnE;IAEF,OAAO;yBACY,MAAM,WAAW,aAAa;;MAO/C;IAEF,KAAK;yBACc,MAAM,aAAa,OAAO;;MAI3C;IAEF,MAAM;oBACQ,MAAM,WAAW,YAAY;;MAMzC;IAEF,IAAI;iBACO,CAAC,gBAAgB,kBAAkB,CAAC,CAAC,CAAC;;MAI/C;IAEF,GAAG;2BACkB,iBAAiB;;MAIpC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"module-registry.js","sourceRoot":"","sources":["../../../src/server/plugin-host/module-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-registry.js","sourceRoot":"","sources":["../../../src/server/plugin-host/module-registry.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- declare const _default: import("@openora/core/server").Plugin;
1
+ declare const _default: import("@openora/core/server").Plugin<never, "wallet", readonly ["identity", "audit"]>;
2
2
  export default _default;
3
3
  //# sourceMappingURL=plugin.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openora/core",
3
- "version": "0.4.1-canary.52",
3
+ "version": "0.4.1-canary.54",
4
4
  "description": "Open-source, headless, plugin-based, AI-native iGaming framework - domain modules, plugin engine, Zod-first contracts, typed React SDK",
5
5
  "keywords": [
6
6
  "ai-native",