@spine-event-engine/server 2.0.0-snapshot.2 → 2.0.0-snapshot.21

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 (227) hide show
  1. package/README.md +225 -518
  2. package/REFERENCE.md +498 -49
  3. package/dist/browser/browser-server.d.ts +95 -0
  4. package/dist/browser/browser-server.d.ts.map +1 -0
  5. package/dist/{server → browser}/browser-server.js +93 -7
  6. package/dist/browser/browser-server.js.map +1 -0
  7. package/dist/browser/durable-subscription-bindings.d.ts.map +1 -0
  8. package/dist/browser/durable-subscription-bindings.js.map +1 -0
  9. package/dist/browser/index.d.ts +12 -0
  10. package/dist/browser/index.d.ts.map +1 -0
  11. package/dist/browser/index.js +24 -0
  12. package/dist/browser/index.js.map +1 -0
  13. package/dist/browser/options.d.ts +183 -0
  14. package/dist/browser/options.d.ts.map +1 -0
  15. package/dist/browser/options.js +15 -0
  16. package/dist/browser/options.js.map +1 -0
  17. package/dist/bus/command-bus.d.ts +2 -0
  18. package/dist/bus/command-bus.d.ts.map +1 -1
  19. package/dist/bus/command-bus.js +36 -1
  20. package/dist/bus/command-bus.js.map +1 -1
  21. package/dist/bus/event-dispatcher-registry.d.ts +2 -2
  22. package/dist/bus/event-dispatcher-registry.js +3 -3
  23. package/dist/bus/event-dispatcher-registry.js.map +1 -1
  24. package/dist/context/bounded-context.d.ts +238 -83
  25. package/dist/context/bounded-context.d.ts.map +1 -1
  26. package/dist/context/bounded-context.js +1083 -286
  27. package/dist/context/bounded-context.js.map +1 -1
  28. package/dist/context/effective-tenant.d.ts +9 -0
  29. package/dist/context/effective-tenant.d.ts.map +1 -0
  30. package/dist/context/effective-tenant.js +58 -0
  31. package/dist/context/effective-tenant.js.map +1 -0
  32. package/dist/context/entity-inbox.d.ts.map +1 -1
  33. package/dist/context/entity-inbox.js +24 -17
  34. package/dist/context/entity-inbox.js.map +1 -1
  35. package/dist/context/local-inbox-handoff.d.ts +7 -3
  36. package/dist/context/local-inbox-handoff.d.ts.map +1 -1
  37. package/dist/context/local-inbox-handoff.js +32 -26
  38. package/dist/context/local-inbox-handoff.js.map +1 -1
  39. package/dist/context/projection-handoff.d.ts.map +1 -1
  40. package/dist/context/projection-handoff.js +36 -31
  41. package/dist/context/projection-handoff.js.map +1 -1
  42. package/dist/context/tenant-index.d.ts.map +1 -1
  43. package/dist/context/tenant-index.js +72 -2
  44. package/dist/context/tenant-index.js.map +1 -1
  45. package/dist/delivery/delivery-ports.d.ts +14 -4
  46. package/dist/delivery/delivery-ports.d.ts.map +1 -1
  47. package/dist/delivery/delivery.d.ts +19 -21
  48. package/dist/delivery/delivery.d.ts.map +1 -1
  49. package/dist/delivery/delivery.js +541 -158
  50. package/dist/delivery/delivery.js.map +1 -1
  51. package/dist/delivery/inbox-storage.d.ts +12 -3
  52. package/dist/delivery/inbox-storage.d.ts.map +1 -1
  53. package/dist/delivery/inbox-storage.js +160 -67
  54. package/dist/delivery/inbox-storage.js.map +1 -1
  55. package/dist/delivery/inbox.d.ts +9 -0
  56. package/dist/delivery/inbox.d.ts.map +1 -1
  57. package/dist/delivery/inbox.js +11 -0
  58. package/dist/delivery/inbox.js.map +1 -1
  59. package/dist/delivery/sharded-work-registry.d.ts.map +1 -1
  60. package/dist/delivery/sharded-work-registry.js +2 -1
  61. package/dist/delivery/sharded-work-registry.js.map +1 -1
  62. package/dist/entity/entity-metadata.d.ts +14 -5
  63. package/dist/entity/entity-metadata.d.ts.map +1 -1
  64. package/dist/entity/entity-metadata.js +38 -2
  65. package/dist/entity/entity-metadata.js.map +1 -1
  66. package/dist/entity/entity-storage-descriptor.d.ts +25 -5
  67. package/dist/entity/entity-storage-descriptor.d.ts.map +1 -1
  68. package/dist/entity/entity-storage-descriptor.js +69 -23
  69. package/dist/entity/entity-storage-descriptor.js.map +1 -1
  70. package/dist/entity/entity-transaction.d.ts +46 -42
  71. package/dist/entity/entity-transaction.d.ts.map +1 -1
  72. package/dist/entity/entity-transaction.js +130 -35
  73. package/dist/entity/entity-transaction.js.map +1 -1
  74. package/dist/entity/entity.d.ts +243 -98
  75. package/dist/entity/entity.d.ts.map +1 -1
  76. package/dist/entity/entity.js +405 -226
  77. package/dist/entity/entity.js.map +1 -1
  78. package/dist/entity/spec-scanner.d.ts +13 -1
  79. package/dist/entity/spec-scanner.d.ts.map +1 -1
  80. package/dist/entity/spec-scanner.js +20 -3
  81. package/dist/entity/spec-scanner.js.map +1 -1
  82. package/dist/handler/command-registration-readiness.d.ts +6 -6
  83. package/dist/handler/command-registration-readiness.d.ts.map +1 -1
  84. package/dist/handler/command-registration-readiness.js +4 -2
  85. package/dist/handler/command-registration-readiness.js.map +1 -1
  86. package/dist/handler/declared-rejections.d.ts +11 -0
  87. package/dist/handler/declared-rejections.d.ts.map +1 -0
  88. package/dist/handler/declared-rejections.js +34 -0
  89. package/dist/handler/declared-rejections.js.map +1 -0
  90. package/dist/handler/event-registration-readiness.d.ts +13 -56
  91. package/dist/handler/event-registration-readiness.d.ts.map +1 -1
  92. package/dist/handler/event-registration-readiness.js +23 -43
  93. package/dist/handler/event-registration-readiness.js.map +1 -1
  94. package/dist/handler/generated-handler-registry.d.ts +72 -33
  95. package/dist/handler/generated-handler-registry.d.ts.map +1 -1
  96. package/dist/handler/generated-handler-registry.js +421 -43
  97. package/dist/handler/generated-handler-registry.js.map +1 -1
  98. package/dist/handler/generated-registry-discovery.d.ts.map +1 -1
  99. package/dist/handler/generated-registry-discovery.js +2 -4
  100. package/dist/handler/generated-registry-discovery.js.map +1 -1
  101. package/dist/handler/handler-decorators.d.ts +91 -37
  102. package/dist/handler/handler-decorators.d.ts.map +1 -1
  103. package/dist/handler/handler-decorators.js +124 -31
  104. package/dist/handler/handler-decorators.js.map +1 -1
  105. package/dist/handler/handler-metadata.d.ts +105 -60
  106. package/dist/handler/handler-metadata.d.ts.map +1 -1
  107. package/dist/handler/handler-metadata.js +275 -57
  108. package/dist/handler/handler-metadata.js.map +1 -1
  109. package/dist/handler/registration-readiness-metadata.d.ts +4 -0
  110. package/dist/handler/registration-readiness-metadata.d.ts.map +1 -1
  111. package/dist/handler/registration-readiness-metadata.js +84 -2
  112. package/dist/handler/registration-readiness-metadata.js.map +1 -1
  113. package/dist/handler/standalone.d.ts +25 -0
  114. package/dist/handler/standalone.d.ts.map +1 -0
  115. package/dist/handler/standalone.js +38 -0
  116. package/dist/handler/standalone.js.map +1 -0
  117. package/dist/index.d.ts +9 -9
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/index.js +3 -3
  120. package/dist/index.js.map +1 -1
  121. package/dist/repository/command-routing.d.ts +63 -10
  122. package/dist/repository/command-routing.d.ts.map +1 -1
  123. package/dist/repository/command-routing.js +41 -8
  124. package/dist/repository/command-routing.js.map +1 -1
  125. package/dist/repository/event-routing.d.ts +64 -9
  126. package/dist/repository/event-routing.d.ts.map +1 -1
  127. package/dist/repository/event-routing.js +42 -7
  128. package/dist/repository/event-routing.js.map +1 -1
  129. package/dist/repository/primitive-id.d.ts +12 -23
  130. package/dist/repository/primitive-id.d.ts.map +1 -1
  131. package/dist/repository/primitive-id.js +2 -27
  132. package/dist/repository/primitive-id.js.map +1 -1
  133. package/dist/repository/repository.d.ts +317 -87
  134. package/dist/repository/repository.d.ts.map +1 -1
  135. package/dist/repository/repository.js +3746 -856
  136. package/dist/repository/repository.js.map +1 -1
  137. package/dist/repository/state-update-routing.d.ts +67 -8
  138. package/dist/repository/state-update-routing.d.ts.map +1 -1
  139. package/dist/repository/state-update-routing.js +45 -6
  140. package/dist/repository/state-update-routing.js.map +1 -1
  141. package/dist/runtime/runtime.js +1 -1
  142. package/dist/runtime/runtime.js.map +1 -1
  143. package/dist/runtime/signal-metadata.d.ts +22 -47
  144. package/dist/runtime/signal-metadata.d.ts.map +1 -1
  145. package/dist/runtime/signal-metadata.js +34 -69
  146. package/dist/runtime/signal-metadata.js.map +1 -1
  147. package/dist/runtime/signal-publisher.d.ts +144 -0
  148. package/dist/runtime/signal-publisher.d.ts.map +1 -0
  149. package/dist/runtime/signal-publisher.js +248 -0
  150. package/dist/runtime/signal-publisher.js.map +1 -0
  151. package/dist/runtime/standalone-handler-runtime.d.ts +130 -0
  152. package/dist/runtime/standalone-handler-runtime.d.ts.map +1 -0
  153. package/dist/runtime/standalone-handler-runtime.js +382 -0
  154. package/dist/runtime/standalone-handler-runtime.js.map +1 -0
  155. package/dist/server/environment-attachment.d.ts.map +1 -1
  156. package/dist/server/environment-attachment.js +2 -1
  157. package/dist/server/environment-attachment.js.map +1 -1
  158. package/dist/server/environment-delivery-worker.d.ts.map +1 -1
  159. package/dist/server/environment-delivery-worker.js +21 -12
  160. package/dist/server/environment-delivery-worker.js.map +1 -1
  161. package/dist/server/managed-server-application.d.ts +4 -1
  162. package/dist/server/managed-server-application.d.ts.map +1 -1
  163. package/dist/server/managed-server-application.js +2 -2
  164. package/dist/server/managed-server-application.js.map +1 -1
  165. package/dist/server/node-coordinator.js +2 -2
  166. package/dist/server/node-coordinator.js.map +1 -1
  167. package/dist/server/server-log.d.ts.map +1 -1
  168. package/dist/server/server-log.js +4 -0
  169. package/dist/server/server-log.js.map +1 -1
  170. package/dist/server/server.d.ts +9 -177
  171. package/dist/server/server.d.ts.map +1 -1
  172. package/dist/server/server.js +428 -178
  173. package/dist/server/server.js.map +1 -1
  174. package/dist/services/query-reader.d.ts +19 -0
  175. package/dist/services/query-reader.d.ts.map +1 -0
  176. package/dist/services/query-reader.js +43 -0
  177. package/dist/services/query-reader.js.map +1 -0
  178. package/dist/services/registered-targets.d.ts +73 -0
  179. package/dist/services/registered-targets.d.ts.map +1 -0
  180. package/dist/services/registered-targets.js +127 -0
  181. package/dist/services/registered-targets.js.map +1 -0
  182. package/dist/services/spine-services.d.ts +26 -12
  183. package/dist/services/spine-services.d.ts.map +1 -1
  184. package/dist/services/spine-services.js +1047 -969
  185. package/dist/services/spine-services.js.map +1 -1
  186. package/dist/spi/delivery.d.ts +5 -0
  187. package/dist/spi/delivery.d.ts.map +1 -0
  188. package/dist/spi/delivery.js +18 -0
  189. package/dist/spi/delivery.js.map +1 -0
  190. package/dist/spi/handler-registry.d.ts +8 -0
  191. package/dist/spi/handler-registry.d.ts.map +1 -0
  192. package/dist/spi/handler-registry.js +15 -0
  193. package/dist/spi/handler-registry.js.map +1 -0
  194. package/dist/stand/stand.d.ts +73 -1
  195. package/dist/stand/stand.d.ts.map +1 -1
  196. package/dist/stand/stand.js +221 -48
  197. package/dist/stand/stand.js.map +1 -1
  198. package/dist/stand/subscription-observer.d.ts.map +1 -1
  199. package/dist/stand/subscription-observer.js +5 -12
  200. package/dist/stand/subscription-observer.js.map +1 -1
  201. package/dist/stand/subscription-registry.js +1 -1
  202. package/dist/stand/subscription-registry.js.map +1 -1
  203. package/dist/testing/index.d.ts +25 -3
  204. package/dist/testing/index.d.ts.map +1 -1
  205. package/dist/testing/index.js +23 -3
  206. package/dist/testing/index.js.map +1 -1
  207. package/dist/tsconfig.tsbuildinfo +1 -1
  208. package/package.json +33 -23
  209. package/dist/handler/build-time-handler-analyzer.d.ts +0 -150
  210. package/dist/handler/build-time-handler-analyzer.d.ts.map +0 -1
  211. package/dist/handler/build-time-handler-analyzer.js +0 -1101
  212. package/dist/handler/build-time-handler-analyzer.js.map +0 -1
  213. package/dist/handler/generated-registry-writer.d.ts +0 -58
  214. package/dist/handler/generated-registry-writer.d.ts.map +0 -1
  215. package/dist/handler/generated-registry-writer.js +0 -458
  216. package/dist/handler/generated-registry-writer.js.map +0 -1
  217. package/dist/handler/handler-codegen.d.ts +0 -48
  218. package/dist/handler/handler-codegen.d.ts.map +0 -1
  219. package/dist/handler/handler-codegen.js +0 -214
  220. package/dist/handler/handler-codegen.js.map +0 -1
  221. package/dist/server/browser-server.d.ts +0 -49
  222. package/dist/server/browser-server.d.ts.map +0 -1
  223. package/dist/server/browser-server.js.map +0 -1
  224. package/dist/server/durable-subscription-bindings.d.ts.map +0 -1
  225. package/dist/server/durable-subscription-bindings.js.map +0 -1
  226. /package/dist/{server → browser}/durable-subscription-bindings.d.ts +0 -0
  227. /package/dist/{server → browser}/durable-subscription-bindings.js +0 -0
@@ -1,6 +1,7 @@
1
1
  import type { MessageShape } from "@bufbuild/protobuf";
2
2
  import { type MessageInterface, type MessageSchema } from "@spine-event-engine/core";
3
3
  import type { EventContext } from "@spine-event-engine/proto";
4
+ import type { RepositoryEntityType, RepositoryReadQueries, RepositoryEntityId } from "./repository.js";
4
5
  import { type InterfaceRouteSchemas, type InterfaceRouteMessage, type RoutingDeclarationSnapshot, type RoutingDeclarationState } from "./routing-declarations.js";
5
6
  /**
6
7
  * Calculates target Entity IDs for one accepted Entity state update.
@@ -10,48 +11,83 @@ import { type InterfaceRouteSchemas, type InterfaceRouteMessage, type RoutingDec
10
11
  *
11
12
  * @typeParam Id Entity ID type used by the receiving Projection repository.
12
13
  * @typeParam Schema Generated Entity state message schema.
14
+ * @typeParam EntityType Registered Projection class for repository reads.
13
15
  * @param state Unpacked new Entity state.
14
16
  * @param context Normalized System Event context.
15
- * @returns Up to 1,000 target Projection IDs. The framework validates,
17
+ * @param repository Invocation-scoped read-only access to the receiving repository.
18
+ * @returns All target Projection IDs. The framework validates,
16
19
  * copies, stable-deduplicates, and freezes accepted IDs. An empty array means
17
20
  * that this update is not delivered to this repository.
18
21
  */
19
- export type StateUpdateRoute<Id, Schema extends MessageSchema = MessageSchema> = (state: MessageShape<Schema>, context: EventContext) => readonly Id[];
22
+ export type StateUpdateRoute<Id, Schema extends MessageSchema = MessageSchema, EntityType extends RepositoryEntityType = RepositoryEntityType> = (state: MessageShape<Schema>, context: EventContext, repository: RepositoryReadQueries<EntityType>) => readonly Id[] | Promise<readonly Id[]>;
23
+ /**
24
+ * Stores mutable state-update declarations before repository construction.
25
+ *
26
+ * @typeParam Id Target Projection ID type.
27
+ */
20
28
  type State<Id> = RoutingDeclarationState<StateUpdateRoute<Id>>;
21
29
  /**
22
30
  * Mutable Entity-state route declarations snapshotted by repository construction.
31
+ *
32
+ * @typeParam Id Projection ID type.
33
+ * @typeParam EntityType Registered Projection class for repository reads.
23
34
  */
24
- export declare class StateUpdateRouting<Id> {
35
+ export declare class StateUpdateRouting<Id, EntityType extends RepositoryEntityType = RepositoryEntityType> {
36
+ /**
37
+ * Records the selected Entity class in emitted declarations so a different
38
+ * repository class fails type checking. This adds no runtime field.
39
+ *
40
+ * @param entity Entity class type checked at assignment.
41
+ * @returns The same Entity class type for the assignment check.
42
+ */
43
+ protected readonly entityClassType: (entity: EntityType) => EntityType;
44
+ /**
45
+ * Creates empty mutable state-update declarations.
46
+ *
47
+ * @param entityType Application Projection constructor, when class-aware.
48
+ */
25
49
  private constructor();
26
50
  /**
27
51
  * Creates empty Entity-state route declarations.
28
52
  *
53
+ * @typeParam EntityType Registered Projection class inferred from the supplied constructor.
54
+ * @param entityType Application Projection constructor for typed repository reads.
29
55
  * @returns Mutable declarations for one repository.
30
56
  */
57
+ static create<EntityType extends RepositoryEntityType>(entityType: EntityType): StateUpdateRouting<RepositoryEntityId<EntityType>, EntityType>;
58
+ /**
59
+ * Creates ID-only state-update declarations.
60
+ *
61
+ * @typeParam Id Target Projection ID type.
62
+ * @returns Mutable route declarations.
63
+ */
31
64
  static create<Id>(): StateUpdateRouting<Id>;
32
65
  /**
33
66
  * Registers a route for one exact generated Entity-state schema.
34
67
  *
68
+ * @typeParam Schema Generated Entity-state schema.
35
69
  * @param schemaOrToken Generated Entity-state schema.
36
70
  * @param via Route that calculates target Projection IDs.
37
71
  * @returns These mutable declarations.
38
72
  */
39
- route<Schema extends MessageSchema>(schemaOrToken: Schema, via: StateUpdateRoute<Id, Schema>): this;
73
+ route<Schema extends MessageSchema>(schemaOrToken: Schema, via: StateUpdateRoute<Id, Schema, EntityType>): this;
40
74
  /**
41
75
  * Registers a route for a nominal Entity-state message-interface token.
42
76
  *
77
+ * @typeParam TInterface Declared state interface.
78
+ * @typeParam Schemas Schemas implementing the interface.
43
79
  * @param schemaOrToken Generated Entity-state message-interface token.
44
80
  * @param via Route that calculates target Projection IDs.
45
81
  * @returns These mutable declarations.
46
82
  */
47
- route<TInterface extends object, Schemas extends InterfaceRouteSchemas>(schemaOrToken: MessageInterface<TInterface, Schemas>, via: (message: InterfaceRouteMessage<TInterface, Schemas>, context: EventContext) => readonly Id[]): this;
83
+ route<TInterface extends object, Schemas extends InterfaceRouteSchemas>(schemaOrToken: MessageInterface<TInterface, Schemas>, via: (message: InterfaceRouteMessage<TInterface, Schemas>, context: EventContext, repository: RepositoryReadQueries<EntityType>) => readonly Id[] | Promise<readonly Id[]>): this;
48
84
  /**
49
85
  * Replaces the first-compatible-field default state route.
50
86
  *
51
87
  * @param via Replacement route function.
52
88
  * @returns These mutable declarations.
53
89
  */
54
- replaceDefault(via: StateUpdateRoute<Id>): this;
90
+ replaceDefault(via: StateUpdateRoute<Id, MessageSchema, EntityType>): this;
55
91
  }
56
92
  /**
57
93
  * Internal access to state-routing declaration state.
@@ -59,8 +95,31 @@ export declare class StateUpdateRouting<Id> {
59
95
  * @internal Repository construction support.
60
96
  */
61
97
  export declare const StateUpdateRoutingInternals: Readonly<{
62
- state<Id>(routing: StateUpdateRouting<Id>): State<Id>;
63
- snapshot<Id>(routing: StateUpdateRouting<Id> | undefined): RoutingDeclarationSnapshot<StateUpdateRoute<Id>>;
98
+ /**
99
+ * Returns the Entity constructor selected for class-aware declarations, if any.
100
+ *
101
+ * @param routing Route declarations, when configured.
102
+ * @returns Selected Entity constructor, if any.
103
+ */
104
+ entityType(routing: object | undefined): RepositoryEntityType | undefined;
105
+ /**
106
+ * Finds mutable state-update declaration state.
107
+ *
108
+ * @typeParam Id Target Projection ID type.
109
+ * @typeParam EntityType Selected application Projection class.
110
+ * @param routing Route declarations.
111
+ * @returns Mutable declaration state.
112
+ */
113
+ state<Id, EntityType extends RepositoryEntityType>(routing: StateUpdateRouting<Id, EntityType>): State<Id>;
114
+ /**
115
+ * Copies declarations for repository construction.
116
+ *
117
+ * @typeParam Id Target Projection ID type.
118
+ * @typeParam EntityType Selected application Projection class.
119
+ * @param routing Route declarations, when configured.
120
+ * @returns Immutable declaration snapshot.
121
+ */
122
+ snapshot<Id, EntityType extends RepositoryEntityType>(routing: StateUpdateRouting<Id, EntityType> | StateUpdateRouting<Id> | undefined): RoutingDeclarationSnapshot<StateUpdateRoute<Id>>;
64
123
  }>;
65
124
  export {};
66
125
  //# sourceMappingURL=state-update-routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state-update-routing.d.ts","sourceRoot":"","sources":["../../src/repository/state-update-routing.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,CAAC,EAAE,EAAE,MAAM,SAAS,aAAa,GAAG,aAAa,IAAI,CAC/E,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,EAC3B,OAAO,EAAE,YAAY,KAClB,SAAS,EAAE,EAAE,CAAC;AAEnB,KAAK,KAAK,CAAC,EAAE,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;AAG/D;;GAEG;AACH,qBAAa,kBAAkB,CAAC,EAAE;IAChC,OAAO;IAIP;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,kBAAkB,CAAC,EAAE,CAAC;IAI3C;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,SAAS,aAAa,EAChC,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,GAChC,IAAI;IAEP;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,SAAS,MAAM,EAAE,OAAO,SAAS,qBAAqB,EACpE,aAAa,EAAE,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,EACpD,GAAG,EAAE,CACH,OAAO,EAAE,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,EACnD,OAAO,EAAE,YAAY,KAClB,SAAS,EAAE,EAAE,GACjB,IAAI;IAwCP;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;CAMhD;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC;IACjD,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IACtD,QAAQ,CAAC,EAAE,EACT,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,GAAG,SAAS,GAC1C,0BAA0B,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;CACrD,CAYC,CAAC"}
1
+ {"version":3,"file":"state-update-routing.d.ts","sourceRoot":"","sources":["../../src/repository/state-update-routing.ts"],"names":[],"mappings":"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"}
@@ -14,20 +14,34 @@
14
14
  import {} from "@spine-event-engine/core";
15
15
  import { RoutingDeclarations, } from "./routing-declarations.js";
16
16
  const states = new WeakMap();
17
+ const routingEntityTypes = new WeakMap();
17
18
  /**
18
19
  * Mutable Entity-state route declarations snapshotted by repository construction.
20
+ *
21
+ * @typeParam Id Projection ID type.
22
+ * @typeParam EntityType Registered Projection class for repository reads.
19
23
  */
20
24
  export class StateUpdateRouting {
21
- constructor() {
25
+ /**
26
+ * Creates empty mutable state-update declarations.
27
+ *
28
+ * @param entityType Application Projection constructor, when class-aware.
29
+ */
30
+ constructor(entityType) {
22
31
  states.set(this, RoutingDeclarations.create());
32
+ if (entityType !== undefined)
33
+ routingEntityTypes.set(this, entityType);
23
34
  }
24
35
  /**
25
- * Creates empty Entity-state route declarations.
36
+ * Creates mutable state-update declarations for either factory overload.
26
37
  *
27
- * @returns Mutable declarations for one repository.
38
+ * @typeParam Id Target Projection ID type.
39
+ * @typeParam EntityType Selected application Projection class.
40
+ * @param entityType Application Projection constructor, when class-aware.
41
+ * @returns Mutable route declarations.
28
42
  */
29
- static create() {
30
- return new StateUpdateRouting();
43
+ static create(entityType) {
44
+ return new StateUpdateRouting(entityType);
31
45
  }
32
46
  /**
33
47
  * Registers an exact generated Entity-state schema route or a nominal message-interface route.
@@ -78,14 +92,39 @@ export class StateUpdateRouting {
78
92
  * @internal Repository construction support.
79
93
  */
80
94
  export const StateUpdateRoutingInternals = Object.freeze({
95
+ /**
96
+ * Returns the Entity constructor selected for class-aware declarations, if any.
97
+ *
98
+ * @param routing Route declarations, when configured.
99
+ * @returns Selected Entity constructor, if any.
100
+ */
101
+ entityType(routing) {
102
+ return routing === undefined ? undefined : routingEntityTypes.get(routing);
103
+ },
104
+ /**
105
+ * Finds mutable state-update declaration state.
106
+ *
107
+ * @typeParam Id Target Projection ID type.
108
+ * @typeParam EntityType Selected application Projection class.
109
+ * @param routing Route declarations.
110
+ * @returns Mutable declaration state.
111
+ */
81
112
  state(routing) {
82
113
  return states.get(routing);
83
114
  },
115
+ /**
116
+ * Copies declarations for repository construction.
117
+ *
118
+ * @typeParam Id Target Projection ID type.
119
+ * @typeParam EntityType Selected application Projection class.
120
+ * @param routing Route declarations, when configured.
121
+ * @returns Immutable declaration snapshot.
122
+ */
84
123
  snapshot(routing) {
85
124
  if (routing === undefined) {
86
125
  return RoutingDeclarations.snapshot(RoutingDeclarations.create());
87
126
  }
88
- return RoutingDeclarations.snapshot(StateUpdateRoutingInternals.state(routing));
127
+ return RoutingDeclarations.snapshot(states.get(routing));
89
128
  },
90
129
  });
91
130
  //# sourceMappingURL=state-update-routing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state-update-routing.js","sourceRoot":"","sources":["../../src/repository/state-update-routing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAA6C,MAAM,0BAA0B,CAAC;AAErF,OAAO,EACL,mBAAmB,GAKpB,MAAM,2BAA2B,CAAC;AAsBnC,MAAM,MAAM,GAAG,IAAI,OAAO,EAA0B,CAAC;AAErD;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAC7B;QACE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,MAAM,EAAwB,CAAC,CAAC;IACvE,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,kBAAkB,EAAM,CAAC;IACtC,CAAC;IA6BD;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CACH,aAA8E,EAC9E,GAAyB;QAEzB,IAAI,OAAO,GAAG,KAAK,UAAU;YAC3B,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,mBAAmB,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE,CAAC;YACjE,mBAAmB,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,mBAAmB,CAAC,KAAK,CACvB,KAAK,EACL,aAAa,EACb,GAAG,EACH,gEAAgE,CACjE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,GAAyB;QACtC,IAAI,OAAO,GAAG,KAAK,UAAU;YAC3B,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACzE,mBAAmB,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAKnC,MAAM,CAAC,MAAM,CAAC;IACjB,KAAK,CAAK,OAA+B;QACvC,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;IAC1C,CAAC;IACD,QAAQ,CACN,OAA2C;QAE3C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,mBAAmB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAwB,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"state-update-routing.js","sourceRoot":"","sources":["../../src/repository/state-update-routing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAA6C,MAAM,0BAA0B,CAAC;AAOrF,OAAO,EACL,mBAAmB,GAKpB,MAAM,2BAA2B,CAAC;AAkCnC,MAAM,MAAM,GAAG,IAAI,OAAO,EAA0B,CAAC;AACrD,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAgC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAa7B;;;;OAIG;IACH,YAAoB,UAAuB;QACzC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,MAAM,EAAwB,CAAC,CAAC;QACrE,IAAI,UAAU,KAAK,SAAS;YAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC;IAqBD;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,CACX,UAAuB;QAEvB,OAAO,IAAI,kBAAkB,CAAiB,UAAU,CAAC,CAAC;IAC5D,CAAC;IAiCD;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CACH,aAA8E,EAC9E,GAAyB;QAEzB,IAAI,OAAO,GAAG,KAAK,UAAU;YAC3B,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,mBAAmB,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE,CAAC;YACjE,mBAAmB,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,mBAAmB,CAAC,KAAK,CACvB,KAAK,EACL,aAAa,EACb,GAAG,EACH,gEAAgE,CACjE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,GAAoD;QACjE,IAAI,OAAO,GAAG,KAAK,UAAU;YAC3B,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACzE,mBAAmB,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAgCnC,MAAM,CAAC,MAAM,CAAC;IACjB;;;;;OAKG;IACH,UAAU,CAAC,OAA2B;QACpC,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CACH,OAA2C;QAE3C,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;IAC1C,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CACN,OAAgF;QAEhF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,mBAAmB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAwB,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC,CAAC;IACxE,CAAC;CACF,CAAC,CAAC"}
@@ -111,7 +111,7 @@ export class SingleProcessServerRuntime {
111
111
  }
112
112
  #enqueue(work, allowRunningWork) {
113
113
  const runningWork = RuntimeValues.isRunningWork(this);
114
- const acceptsDrainFollowUp = allowRunningWork && runningWork && this.#state === "closing";
114
+ const acceptsDrainFollowUp = allowRunningWork && this.#state === "closing";
115
115
  if (this.#state !== "running" && !acceptsDrainFollowUp) {
116
116
  throw new ServerRuntimeStateError("enqueue", this.#state);
117
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
@@ -41,43 +41,13 @@ export declare class FixedClock implements Clock {
41
41
  now(): Date;
42
42
  }
43
43
  /**
44
- * Creates validated command and event identifiers.
45
- */
46
- export declare class SignalIds {
47
- #private;
48
- /**
49
- * Creates an identifier source.
50
- *
51
- * @param next Function that supplies a new identifier when one is omitted.
52
- */
53
- constructor(next?: () => string);
54
- /**
55
- * Creates a validated command identifier.
56
- *
57
- * @param uuid Command UUID, generated when omitted.
58
- * @returns Command identifier.
59
- */
60
- command(uuid?: string): CommandId;
61
- /**
62
- * Creates a validated event identifier.
63
- *
64
- * @param value Event identifier value, generated when omitted.
65
- * @returns Event identifier.
66
- */
67
- event(value?: string): EventId;
68
- }
69
- /**
70
- * Configures the sources used to create signal metadata.
44
+ * Configures the clock used to create signal metadata.
71
45
  */
72
46
  export interface SignalMetadataOptions {
73
47
  /**
74
48
  * Supplies timestamps; defaults to {@link SystemClock}.
75
49
  */
76
50
  readonly clock?: Clock;
77
- /**
78
- * Supplies command and event identifiers; defaults to {@link SignalIds}.
79
- */
80
- readonly ids?: SignalIds;
81
51
  }
82
52
  /**
83
53
  * Supplies optional actor and tenant data for a signal context.
@@ -130,23 +100,21 @@ export declare class SignalMetadata {
130
100
  /**
131
101
  * Creates a metadata factory.
132
102
  *
133
- * @param options Optional clock and identifier sources.
103
+ * @param options Optional clock.
134
104
  */
135
105
  constructor(options?: SignalMetadataOptions);
136
106
  /**
137
107
  * Creates a command identifier.
138
108
  *
139
- * @param uuid Optional command UUID.
140
- * @returns Validated command identifier.
109
+ * @returns Fresh command identifier.
141
110
  */
142
- commandId(uuid?: string): CommandId;
111
+ commandId(): CommandId;
143
112
  /**
144
113
  * Creates an event identifier.
145
114
  *
146
- * @param value Optional event identifier value.
147
- * @returns Validated event identifier.
115
+ * @returns Fresh event identifier.
148
116
  */
149
- eventId(value?: string): EventId;
117
+ eventId(): EventId;
150
118
  /**
151
119
  * Creates a Protobuf timestamp from a finite date.
152
120
  *
@@ -207,10 +175,19 @@ export declare class SignalMetadata {
207
175
  * Creates command metadata from an event.
208
176
  *
209
177
  * @param event Source event.
210
- * @param sequence Causal sequence number.
211
- * @returns Derived command identifier and context.
178
+ * @returns Fresh command identifier and derived context.
179
+ */
180
+ commandFromEvent(event: Event): {
181
+ readonly id: CommandId;
182
+ readonly context: CommandContext;
183
+ };
184
+ /**
185
+ * Creates command metadata from a command substitution.
186
+ *
187
+ * @param command Source command.
188
+ * @returns Fresh command identifier and derived context.
212
189
  */
213
- commandFromEvent(event: Event, sequence: number): {
190
+ commandFromCommand(command: Command): {
214
191
  readonly id: CommandId;
215
192
  readonly context: CommandContext;
216
193
  };
@@ -218,11 +195,10 @@ export declare class SignalMetadata {
218
195
  * Creates event metadata from a command.
219
196
  *
220
197
  * @param command Source command.
221
- * @param sequence Causal sequence number.
222
198
  * @param input Additional event context input.
223
- * @returns Derived event identifier and context.
199
+ * @returns Fresh event identifier and derived context.
224
200
  */
225
- eventFromCommand(command: Command, sequence: number, input: EventContextInput): {
201
+ eventFromCommand(command: Command, input: EventContextInput): {
226
202
  readonly id: EventId;
227
203
  readonly context: EventContext;
228
204
  };
@@ -230,11 +206,10 @@ export declare class SignalMetadata {
230
206
  * Creates event metadata from an event.
231
207
  *
232
208
  * @param event Source event.
233
- * @param sequence Causal sequence number.
234
209
  * @param input Additional event context input.
235
- * @returns Derived event identifier and context.
210
+ * @returns Fresh event identifier and derived context.
236
211
  */
237
- eventFromEvent(event: Event, sequence: number, input: EventContextInput): {
212
+ eventFromEvent(event: Event, input: EventContextInput): {
238
213
  readonly id: EventId;
239
214
  readonly context: EventContext;
240
215
  };
@@ -1 +1 @@
1
- {"version":3,"file":"signal-metadata.d.ts","sourceRoot":"","sources":["../../src/runtime/signal-metadata.ts"],"names":[],"mappings":"AAiBA,OAAO,EAKL,KAAK,GAAG,EAER,KAAK,SAAS,EACf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,OAAO,EACZ,KAAK,cAAc,EAEnB,KAAK,SAAS,EACd,KAAK,KAAK,EAEV,KAAK,YAAY,EAEjB,KAAK,OAAO,EAEZ,KAAK,MAAM,EAIX,KAAK,OAAO,EAEb,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,KAAK;IAGpB;;;;OAIG;IACH,GAAG,IAAI,IAAI,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,KAAK;IAGvC;;;;OAIG;IACH,GAAG,IAAI,IAAI;CAGZ;AAED;;GAEG;AACH,qBAAa,UAAW,YAAW,KAAK;;IAGtC;;;;OAIG;gBACS,KAAK,EAAE,IAAI;IAIvB;;;;OAIG;IACH,GAAG,IAAI,IAAI;CAGZ;AAED;;GAEG;AACH,qBAAa,SAAS;;IAGpB;;;;OAIG;gBACS,IAAI,GAAE,MAAM,MAAmB;IAI3C;;;;;OAKG;IACH,OAAO,CAAC,IAAI,GAAE,MAAqB,GAAG,SAAS;IAI/C;;;;;OAKG;IACH,KAAK,CAAC,KAAK,GAAE,MAAqB,GAAG,OAAO;CAG7C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAGpC;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAGhC;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAG5D;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAGhC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAEzD;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,cAAc;;IAIzB;;;;OAIG;gBACS,OAAO,GAAE,qBAA0B;IAK/C;;;;;OAKG;IACH,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS;IAInC;;;;;OAKG;IACH,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAIhC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,GAAE,IAAwB,GAAG,SAAS;IAYrD;;;;;OAKG;IACH,YAAY,CAAC,KAAK,GAAE,iBAAsB,GAAG,YAAY;IAOzD;;;;;OAKG;IACH,cAAc,CAAC,KAAK,GAAE,mBAAwB,GAAG,cAAc;IAW/D;;;;;OAKG;IACH,YAAY,CAAC,KAAK,GAAE,iBAAsB,GAAG,YAAY;IAkBzD;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAe3C;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAcrC;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,GAAG,GAAG,SAAS;IAiBlF;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAQhC;;;;;;OAMG;IACH,gBAAgB,CACd,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,GACf;QAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;KAAE;IAY/D;;;;;;;OAOG;IACH,gBAAgB,CACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,iBAAiB,GACvB;QAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;KAAE;IAa3D;;;;;;;OAOG;IACH,cAAc,CACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,iBAAiB,GACvB;QAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;KAAE;CA2D5D"}
1
+ {"version":3,"file":"signal-metadata.d.ts","sourceRoot":"","sources":["../../src/runtime/signal-metadata.ts"],"names":[],"mappings":"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"}
@@ -52,70 +52,34 @@ export class FixedClock {
52
52
  return new Date(this.#value);
53
53
  }
54
54
  }
55
- /**
56
- * Creates validated command and event identifiers.
57
- */
58
- export class SignalIds {
59
- #next;
60
- /**
61
- * Creates an identifier source.
62
- *
63
- * @param next Function that supplies a new identifier when one is omitted.
64
- */
65
- constructor(next = randomUUID) {
66
- this.#next = next;
67
- }
68
- /**
69
- * Creates a validated command identifier.
70
- *
71
- * @param uuid Command UUID, generated when omitted.
72
- * @returns Command identifier.
73
- */
74
- command(uuid = this.#next()) {
75
- return create(CommandIdSchema, { uuid: SignalValues.command(uuid) });
76
- }
77
- /**
78
- * Creates a validated event identifier.
79
- *
80
- * @param value Event identifier value, generated when omitted.
81
- * @returns Event identifier.
82
- */
83
- event(value = this.#next()) {
84
- return create(EventIdSchema, { value: SignalValues.event(value) });
85
- }
86
- }
87
55
  /**
88
56
  * Creates immutable metadata for commands and events.
89
57
  */
90
58
  export class SignalMetadata {
91
59
  #clock;
92
- #ids;
93
60
  /**
94
61
  * Creates a metadata factory.
95
62
  *
96
- * @param options Optional clock and identifier sources.
63
+ * @param options Optional clock.
97
64
  */
98
65
  constructor(options = {}) {
99
66
  this.#clock = options.clock ?? new SystemClock();
100
- this.#ids = options.ids ?? new SignalIds();
101
67
  }
102
68
  /**
103
69
  * Creates a command identifier.
104
70
  *
105
- * @param uuid Optional command UUID.
106
- * @returns Validated command identifier.
71
+ * @returns Fresh command identifier.
107
72
  */
108
- commandId(uuid) {
109
- return this.#ids.command(uuid);
73
+ commandId() {
74
+ return create(CommandIdSchema, { uuid: randomUUID() });
110
75
  }
111
76
  /**
112
77
  * Creates an event identifier.
113
78
  *
114
- * @param value Optional event identifier value.
115
- * @returns Validated event identifier.
79
+ * @returns Fresh event identifier.
116
80
  */
117
- eventId(value) {
118
- return this.#ids.event(value);
81
+ eventId() {
82
+ return create(EventIdSchema, { value: randomUUID() });
119
83
  }
120
84
  /**
121
85
  * Creates a Protobuf timestamp from a finite date.
@@ -252,35 +216,50 @@ export class SignalMetadata {
252
216
  * Creates command metadata from an event.
253
217
  *
254
218
  * @param event Source event.
255
- * @param sequence Causal sequence number.
256
- * @returns Derived command identifier and context.
219
+ * @returns Fresh command identifier and derived context.
257
220
  */
258
- commandFromEvent(event, sequence) {
221
+ commandFromEvent(event) {
259
222
  const actorContext = this.#eventActor(event);
260
223
  return {
261
- id: this.commandId(this.#causalId(this.#eventId(event).value, sequence)),
224
+ id: this.commandId(),
262
225
  context: this.commandContext({
263
226
  ...(actorContext === undefined ? {} : { actorContext }),
264
227
  origin: this.originFromEvent(event),
265
228
  }),
266
229
  };
267
230
  }
231
+ /**
232
+ * Creates command metadata from a command substitution.
233
+ *
234
+ * @param command Source command.
235
+ * @returns Fresh command identifier and derived context.
236
+ */
237
+ commandFromCommand(command) {
238
+ return {
239
+ id: this.commandId(),
240
+ context: this.commandContext({
241
+ ...(command.context?.actorContext === undefined
242
+ ? {}
243
+ : { actorContext: command.context.actorContext }),
244
+ origin: this.originFromCommand(command),
245
+ }),
246
+ };
247
+ }
268
248
  /**
269
249
  * Creates event metadata from a command.
270
250
  *
271
251
  * @param command Source command.
272
- * @param sequence Causal sequence number.
273
252
  * @param input Additional event context input.
274
- * @returns Derived event identifier and context.
253
+ * @returns Fresh event identifier and derived context.
275
254
  */
276
- eventFromCommand(command, sequence, input) {
255
+ eventFromCommand(command, input) {
277
256
  const context = {
278
257
  ...(input.producerId === undefined ? {} : { producerId: input.producerId }),
279
258
  ...(input.version === undefined ? {} : { version: input.version }),
280
259
  origin: this.originFromCommand(command),
281
260
  };
282
261
  return {
283
- id: this.eventId(this.#causalId(this.#commandId(command).uuid, sequence)),
262
+ id: this.eventId(),
284
263
  context: this.eventContext(context),
285
264
  };
286
265
  }
@@ -288,18 +267,17 @@ export class SignalMetadata {
288
267
  * Creates event metadata from an event.
289
268
  *
290
269
  * @param event Source event.
291
- * @param sequence Causal sequence number.
292
270
  * @param input Additional event context input.
293
- * @returns Derived event identifier and context.
271
+ * @returns Fresh event identifier and derived context.
294
272
  */
295
- eventFromEvent(event, sequence, input) {
273
+ eventFromEvent(event, input) {
296
274
  const context = {
297
275
  ...(input.producerId === undefined ? {} : { producerId: input.producerId }),
298
276
  ...(input.version === undefined ? {} : { version: input.version }),
299
277
  origin: this.originFromEvent(event),
300
278
  };
301
279
  return {
302
- id: this.eventId(this.#causalId(this.#eventId(event).value, sequence)),
280
+ id: this.eventId(),
303
281
  context: this.eventContext(context),
304
282
  };
305
283
  }
@@ -341,12 +319,9 @@ export class SignalMetadata {
341
319
  throw new Error("Signal metadata requires a non-empty source event ID.");
342
320
  return event.id;
343
321
  }
344
- #causalId(source, sequence) {
345
- return `${source}-${sequence.toString()}`;
346
- }
347
322
  }
348
323
  /**
349
- * Validates values shared by the clock and identifier sources.
324
+ * Validates values shared by clock metadata.
350
325
  */
351
326
  const SignalValues = Object.freeze({
352
327
  time(value) {
@@ -354,15 +329,5 @@ const SignalValues = Object.freeze({
354
329
  throw new TypeError("Signal metadata timestamps require a finite Date instance.");
355
330
  return value;
356
331
  },
357
- command(value) {
358
- if (value.trim().length === 0)
359
- throw new Error("Signal metadata command IDs require a non-empty command ID.");
360
- return value;
361
- },
362
- event(value) {
363
- if (value.trim().length === 0)
364
- throw new Error("Signal metadata event IDs require a non-empty event ID.");
365
- return value;
366
- },
367
332
  });
368
333
  //# sourceMappingURL=signal-metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signal-metadata.js","sourceRoot":"","sources":["../../src/runtime/signal-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signal-metadata.js","sourceRoot":"","sources":["../../src/runtime/signal-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EAEjB,eAAe,GAEhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EACL,kBAAkB,EAElB,oBAAoB,EAGpB,eAAe,EAGf,kBAAkB,EAElB,aAAa,EAEb,eAAe,EAEf,YAAY,EACZ,cAAc,EACd,YAAY,EAEZ,aAAa,GACd,MAAM,2BAA2B,CAAC;AAgBnC;;GAEG;AACH,MAAM,OAAO,WAAW;IACtB,kBAAkB;IAElB;;;;OAIG;IACH,GAAG;QACD,OAAO,IAAI,IAAI,EAAE,CAAC;IACpB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,UAAU;IACZ,MAAM,CAAS;IAExB;;;;OAIG;IACH,YAAY,KAAW;QACrB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,GAAG;QACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF;AAsED;;GAEG;AACH,MAAM,OAAO,cAAc;IAChB,MAAM,CAAQ;IAEvB;;;;OAIG;IACH,YAAY,UAAiC,EAAE;QAC7C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,WAAW,EAAE,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,MAAM,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,MAAM,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,QAAc,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;QACvC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,CAAC,YAAY,GAAG,OAAO,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC;QAE3D,OAAO,MAAM,CAAC,eAAe,EAAE;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;YACxB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,QAA2B,EAAE;QACxC,OAAO,MAAM,CAAC,kBAAkB,EAAE;YAChC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjF,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC7F,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,QAA6B,EAAE;QAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAErE,OAAO,MAAM,CAAC,oBAAoB,EAAE;YAClC,GAAG,CAAC,YAAY,KAAK,SAAS;gBAC5B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,YAAY,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;SACrF,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,QAA2B,EAAE;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAErD,OAAO,MAAM,CAAC,kBAAkB,EAAE;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;YACnD,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;gBAC5B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,MAAM,EAAE;wBACN,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;qBACzC;iBACF,CAAC;SACP,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,OAAgB;QAChC,OAAO,MAAM,CAAC,YAAY,EAAE;YAC1B,OAAO,EAAE,IAAI,CAAC,UAAU,CACtB,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAC3D,OAAO,CAAC,OAAO,EAAE,OAAO,CACzB;YACD,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS;gBACvC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;SAClE,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,KAAY;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE7C,OAAO,MAAM,CAAC,YAAY,EAAE;YAC1B,OAAO,EAAE,IAAI,CAAC,UAAU,CACtB,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EACrD,KAAK,CAAC,OAAO,EAAE,OAAO,CACvB;YACD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACvD,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,KAAqD;QAC9D,QAAQ,OAAO,KAAK,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACnF,KAAK,SAAS;gBACZ,OAAO,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/E,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC3B,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC3E,CAAC,CAAC,SAAS,CAAC;YAChB,KAAK,QAAQ;gBACX,OAAO,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACjF;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,MAAc;QACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,aAAa,IAAI,MAAM,GAAG,aAAa,EAAE,CAAC;YACnF,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,MAAM,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,KAAY;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE7C,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE;YACpB,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC;gBAC3B,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;gBACvD,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;aACpC,CAAC;SACH,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,OAAgB;QAIjC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE;YACpB,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC;gBAC3B,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,KAAK,SAAS;oBAC7C,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBACnD,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;aACxC,CAAC;SACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CACd,OAAgB,EAChB,KAAwB;QAExB,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3E,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAClE,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;SACZ,CAAC;QAE9B,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE;YAClB,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;SACpC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CACZ,KAAY,EACZ,KAAwB;QAExB,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3E,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAClE,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;SACR,CAAC;QAE9B,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE;YAClB,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;SACpC,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,EAAO,EAAE,OAA2B;QAC7C,OAAO,MAAM,CAAC,eAAe,EAAE;YAC7B,EAAE;YACF,OAAO,EAAE,OAAO,IAAI,EAAE;SACvB,CAAC,CAAC;IACL,CAAC;IACD,aAAa,CAAC,KAAwB;QACpC,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC9D,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,KAAY;QACtB,QAAQ,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YACnC,KAAK,eAAe;gBAClB,OAAO,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/D,KAAK,aAAa;gBAChB,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;oBAC1D,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACzE;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED,YAAY,CAAC,KAAY;QACvB,OAAO,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,aAAa;YACjD,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACjD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,OAAgB;QACzB,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,OAAO,OAAO,CAAC,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,KAAY;QACnB,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,OAAO,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC,KAAW;QACd,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,SAAS,CAAC,4DAA4D,CAAC,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC,CAAC"}