@cratis/chronicle 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/EventStore.ts +8 -0
  2. package/IEventStore.ts +8 -0
  3. package/compliance/ComplianceContracts.ts +63 -0
  4. package/compliance/ComplianceMetadata.ts +19 -0
  5. package/compliance/ComplianceMetadataResolver.ts +51 -0
  6. package/compliance/ComplianceMetadataType.ts +36 -0
  7. package/compliance/index.ts +7 -0
  8. package/compliance/pii.ts +115 -0
  9. package/connection/ChronicleConnection.ts +19 -1
  10. package/connection/ChronicleServices.ts +6 -0
  11. package/dist/EventStore.d.ts +4 -0
  12. package/dist/EventStore.d.ts.map +1 -1
  13. package/dist/EventStore.js +6 -0
  14. package/dist/EventStore.js.map +1 -1
  15. package/dist/IEventStore.d.ts +6 -0
  16. package/dist/IEventStore.d.ts.map +1 -1
  17. package/dist/compliance/ComplianceContracts.d.ts +56 -0
  18. package/dist/compliance/ComplianceContracts.d.ts.map +1 -0
  19. package/dist/compliance/ComplianceContracts.js +25 -0
  20. package/dist/compliance/ComplianceContracts.js.map +1 -0
  21. package/dist/compliance/ComplianceMetadata.d.ts +15 -0
  22. package/dist/compliance/ComplianceMetadata.d.ts.map +1 -0
  23. package/dist/compliance/ComplianceMetadata.js +4 -0
  24. package/dist/compliance/ComplianceMetadata.js.map +1 -0
  25. package/dist/compliance/ComplianceMetadataResolver.d.ts +27 -0
  26. package/dist/compliance/ComplianceMetadataResolver.d.ts.map +1 -0
  27. package/dist/compliance/ComplianceMetadataResolver.js +45 -0
  28. package/dist/compliance/ComplianceMetadataResolver.js.map +1 -0
  29. package/dist/compliance/ComplianceMetadataType.d.ts +24 -0
  30. package/dist/compliance/ComplianceMetadataType.d.ts.map +1 -0
  31. package/dist/compliance/ComplianceMetadataType.js +32 -0
  32. package/dist/compliance/ComplianceMetadataType.js.map +1 -0
  33. package/dist/compliance/index.d.ts +5 -0
  34. package/dist/compliance/index.d.ts.map +1 -0
  35. package/dist/compliance/index.js +6 -0
  36. package/dist/compliance/index.js.map +1 -0
  37. package/dist/compliance/pii.d.ts +69 -0
  38. package/dist/compliance/pii.d.ts.map +1 -0
  39. package/dist/compliance/pii.js +106 -0
  40. package/dist/compliance/pii.js.map +1 -0
  41. package/dist/connection/ChronicleConnection.d.ts +3 -0
  42. package/dist/connection/ChronicleConnection.d.ts.map +1 -1
  43. package/dist/connection/ChronicleConnection.js +16 -2
  44. package/dist/connection/ChronicleConnection.js.map +1 -1
  45. package/dist/connection/ChronicleServices.d.ts +6 -1
  46. package/dist/connection/ChronicleServices.d.ts.map +1 -1
  47. package/dist/eventSequences/EventSequence.js +3 -3
  48. package/dist/eventSequences/EventSequence.js.map +1 -1
  49. package/dist/eventStoreSubscriptions/EventStoreSubscriptionBuilder.d.ts +20 -0
  50. package/dist/eventStoreSubscriptions/EventStoreSubscriptionBuilder.d.ts.map +1 -0
  51. package/dist/eventStoreSubscriptions/EventStoreSubscriptionBuilder.js +41 -0
  52. package/dist/eventStoreSubscriptions/EventStoreSubscriptionBuilder.js.map +1 -0
  53. package/dist/eventStoreSubscriptions/EventStoreSubscriptionDefinition.d.ts +12 -0
  54. package/dist/eventStoreSubscriptions/EventStoreSubscriptionDefinition.d.ts.map +1 -0
  55. package/dist/eventStoreSubscriptions/EventStoreSubscriptionDefinition.js +16 -0
  56. package/dist/eventStoreSubscriptions/EventStoreSubscriptionDefinition.js.map +1 -0
  57. package/dist/eventStoreSubscriptions/EventStoreSubscriptionId.d.ts +10 -0
  58. package/dist/eventStoreSubscriptions/EventStoreSubscriptionId.d.ts.map +1 -0
  59. package/dist/eventStoreSubscriptions/EventStoreSubscriptionId.js +16 -0
  60. package/dist/eventStoreSubscriptions/EventStoreSubscriptionId.js.map +1 -0
  61. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.d.ts +21 -0
  62. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.d.ts.map +1 -0
  63. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.js +60 -0
  64. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.js.map +1 -0
  65. package/dist/eventStoreSubscriptions/IEventStoreSubscriptionBuilder.d.ts +20 -0
  66. package/dist/eventStoreSubscriptions/IEventStoreSubscriptionBuilder.d.ts.map +1 -0
  67. package/dist/eventStoreSubscriptions/IEventStoreSubscriptionBuilder.js +4 -0
  68. package/dist/eventStoreSubscriptions/IEventStoreSubscriptionBuilder.js.map +1 -0
  69. package/dist/eventStoreSubscriptions/IEventStoreSubscriptions.d.ts +21 -0
  70. package/dist/eventStoreSubscriptions/IEventStoreSubscriptions.d.ts.map +1 -0
  71. package/dist/eventStoreSubscriptions/IEventStoreSubscriptions.js +4 -0
  72. package/dist/eventStoreSubscriptions/IEventStoreSubscriptions.js.map +1 -0
  73. package/dist/eventStoreSubscriptions/contracts.d.ts +71 -0
  74. package/dist/eventStoreSubscriptions/contracts.d.ts.map +1 -0
  75. package/dist/eventStoreSubscriptions/contracts.js +310 -0
  76. package/dist/eventStoreSubscriptions/contracts.js.map +1 -0
  77. package/dist/eventStoreSubscriptions/index.d.ts +7 -0
  78. package/dist/eventStoreSubscriptions/index.d.ts.map +1 -0
  79. package/dist/eventStoreSubscriptions/index.js +7 -0
  80. package/dist/eventStoreSubscriptions/index.js.map +1 -0
  81. package/dist/events/constraints/IUniqueConstraintBuilder.d.ts +3 -2
  82. package/dist/events/constraints/IUniqueConstraintBuilder.d.ts.map +1 -1
  83. package/dist/events/constraints/UniqueConstraintBuilder.d.ts +2 -8
  84. package/dist/events/constraints/UniqueConstraintBuilder.d.ts.map +1 -1
  85. package/dist/events/constraints/UniqueConstraintBuilder.js +4 -15
  86. package/dist/events/constraints/UniqueConstraintBuilder.js.map +1 -1
  87. package/dist/index.d.ts +5 -1
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +5 -1
  90. package/dist/index.js.map +1 -1
  91. package/dist/reactors/Reactors.js +1 -1
  92. package/dist/reactors/Reactors.js.map +1 -1
  93. package/dist/readModels/IMaterializedReadModels.d.ts +23 -0
  94. package/dist/readModels/IMaterializedReadModels.d.ts.map +1 -0
  95. package/dist/readModels/IMaterializedReadModels.js +4 -0
  96. package/dist/readModels/IMaterializedReadModels.js.map +1 -0
  97. package/dist/readModels/IReadModels.d.ts +75 -0
  98. package/dist/readModels/IReadModels.d.ts.map +1 -0
  99. package/dist/readModels/IReadModels.js +4 -0
  100. package/dist/readModels/IReadModels.js.map +1 -0
  101. package/dist/readModels/MaterializedReadModels.d.ts +25 -0
  102. package/dist/readModels/MaterializedReadModels.d.ts.map +1 -0
  103. package/dist/readModels/MaterializedReadModels.js +125 -0
  104. package/dist/readModels/MaterializedReadModels.js.map +1 -0
  105. package/dist/readModels/ReadModelChangeset.d.ts +14 -0
  106. package/dist/readModels/ReadModelChangeset.d.ts.map +1 -0
  107. package/dist/readModels/ReadModelChangeset.js +4 -0
  108. package/dist/readModels/ReadModelChangeset.js.map +1 -0
  109. package/dist/readModels/ReadModelSnapshot.d.ts +15 -0
  110. package/dist/readModels/ReadModelSnapshot.d.ts.map +1 -0
  111. package/dist/readModels/ReadModelSnapshot.js +4 -0
  112. package/dist/readModels/ReadModelSnapshot.js.map +1 -0
  113. package/dist/readModels/ReadModels.d.ts +42 -0
  114. package/dist/readModels/ReadModels.d.ts.map +1 -0
  115. package/dist/readModels/ReadModels.js +270 -0
  116. package/dist/readModels/ReadModels.js.map +1 -0
  117. package/dist/readModels/index.d.ts +6 -0
  118. package/dist/readModels/index.d.ts.map +1 -1
  119. package/dist/readModels/index.js +2 -0
  120. package/dist/readModels/index.js.map +1 -1
  121. package/dist/readModels/readModel.d.ts.map +1 -1
  122. package/dist/readModels/readModel.js +0 -20
  123. package/dist/readModels/readModel.js.map +1 -1
  124. package/dist/reducers/Reducers.d.ts +1 -0
  125. package/dist/reducers/Reducers.d.ts.map +1 -1
  126. package/dist/reducers/Reducers.js +10 -3
  127. package/dist/reducers/Reducers.js.map +1 -1
  128. package/dist/schemas/JsonSchemaGenerator.d.ts +9 -0
  129. package/dist/schemas/JsonSchemaGenerator.d.ts.map +1 -1
  130. package/dist/schemas/JsonSchemaGenerator.js +53 -1
  131. package/dist/schemas/JsonSchemaGenerator.js.map +1 -1
  132. package/dist/tsconfig.tsbuildinfo +1 -1
  133. package/dist/types/TypeIntrospector.d.ts +11 -1
  134. package/dist/types/TypeIntrospector.d.ts.map +1 -1
  135. package/dist/types/TypeIntrospector.js +29 -3
  136. package/dist/types/TypeIntrospector.js.map +1 -1
  137. package/eventSequences/EventSequence.ts +3 -3
  138. package/eventStoreSubscriptions/EventStoreSubscriptionBuilder.ts +52 -0
  139. package/eventStoreSubscriptions/EventStoreSubscriptionDefinition.ts +16 -0
  140. package/eventStoreSubscriptions/EventStoreSubscriptionId.ts +14 -0
  141. package/eventStoreSubscriptions/EventStoreSubscriptions.ts +74 -0
  142. package/eventStoreSubscriptions/IEventStoreSubscriptionBuilder.ts +24 -0
  143. package/eventStoreSubscriptions/IEventStoreSubscriptions.ts +29 -0
  144. package/eventStoreSubscriptions/contracts.ts +372 -0
  145. package/eventStoreSubscriptions/index.ts +9 -0
  146. package/events/constraints/IUniqueConstraintBuilder.ts +3 -2
  147. package/events/constraints/UniqueConstraintBuilder.ts +5 -17
  148. package/index.ts +6 -0
  149. package/package.json +17 -7
  150. package/reactors/Reactors.ts +1 -1
  151. package/readModels/IMaterializedReadModels.ts +27 -0
  152. package/readModels/IReadModels.ts +87 -0
  153. package/readModels/MaterializedReadModels.ts +151 -0
  154. package/readModels/ReadModelChangeset.ts +19 -0
  155. package/readModels/ReadModelSnapshot.ts +21 -0
  156. package/readModels/ReadModels.ts +333 -0
  157. package/readModels/index.ts +6 -0
  158. package/readModels/readModel.ts +0 -22
  159. package/reducers/Reducers.ts +12 -3
  160. package/schemas/JsonSchemaGenerator.ts +61 -1
  161. package/types/TypeIntrospector.ts +32 -3
@@ -1 +1 @@
1
- {"version":3,"file":"ChronicleServices.d.ts","sourceRoot":"","sources":["../../connection/ChronicleServices.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,cAAc,EACjB,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,eAAe,EAAE,qBAAqB,CAAC;IACvC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,cAAc,EAAE,oBAAoB,CAAC;IACrC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,SAAS,EAAE,eAAe,CAAC;IAC3B,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,EAAE,kBAAkB,CAAC;IACjC,MAAM,EAAE,YAAY,CAAC;CACxB"}
1
+ {"version":3,"file":"ChronicleServices.d.ts","sourceRoot":"","sources":["../../connection/ChronicleServices.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,cAAc,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,eAAe,EAAE,qBAAqB,CAAC;IACvC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,cAAc,EAAE,oBAAoB,CAAC;IACrC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,SAAS,EAAE,eAAe,CAAC;IAC3B,uBAAuB,EAAE,6BAA6B,CAAC;IACvD,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,sBAAsB,EAAE,4BAA4B,CAAC;IACrD,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,EAAE,kBAAkB,CAAC;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,gBAAgB,CAAC;CAChC"}
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Cratis. All rights reserved.
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import { SpanStatusCode } from '@opentelemetry/api';
4
- import { Guid } from '@cratis/fundamentals';
4
+ import { Guid, JsonSerializer } from '@cratis/fundamentals';
5
5
  import { getEventTypeFor } from '../events/eventTypeDecorator';
6
6
  import { EventSequenceNumber } from './EventSequenceNumber';
7
7
  import { TransactionalEventSequence } from './TransactionalEventSequence';
@@ -36,7 +36,7 @@ export class EventSequence {
36
36
  const correlationId = options?.correlationId === undefined
37
37
  ? Guid.as(correlationIdManager.current.value)
38
38
  : Guid.as(options.correlationId);
39
- const content = JSON.stringify(event);
39
+ const content = JsonSerializer.serialize(event);
40
40
  causationManager.add(CausationType.appendEvent, { eventType: eventType.id.value });
41
41
  const causationChain = causationManager.getCurrentChain();
42
42
  const identity = identityProvider.getCurrent();
@@ -161,7 +161,7 @@ export class EventSequence {
161
161
  Generation: eventType.generation.value,
162
162
  Tombstone: eventType.tombstone
163
163
  },
164
- Content: JSON.stringify(event),
164
+ Content: JsonSerializer.serialize(event),
165
165
  Causation: batchCausationChain.map(c => ({
166
166
  Occurred: { Value: c.occurred.toISOString() },
167
167
  Type: c.type.name,
@@ -1 +1 @@
1
- {"version":3,"file":"EventSequence.js","sourceRoot":"","sources":["../../eventSequences/EventSequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventSequence.js","sourceRoot":"","sources":["../../eventSequences/EventSequence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { Constructor } from '@cratis/fundamentals';
2
+ import { EventTypeId, IEventTypes } from '../events';
3
+ import { EventStoreSubscriptionDefinition } from './EventStoreSubscriptionDefinition';
4
+ import { EventStoreSubscriptionId } from './EventStoreSubscriptionId';
5
+ import { IEventStoreSubscriptionBuilder } from './IEventStoreSubscriptionBuilder';
6
+ /**
7
+ * Represents an implementation of {@link IEventStoreSubscriptionBuilder}.
8
+ */
9
+ export declare class EventStoreSubscriptionBuilder implements IEventStoreSubscriptionBuilder {
10
+ private readonly _eventTypesManager;
11
+ private readonly _subscriptionId;
12
+ private readonly _sourceEventStore;
13
+ private readonly _eventTypes;
14
+ constructor(_eventTypesManager: IEventTypes, _subscriptionId: EventStoreSubscriptionId, _sourceEventStore: string);
15
+ /** @inheritdoc */
16
+ withEventType(eventType: EventTypeId | Constructor): IEventStoreSubscriptionBuilder;
17
+ /** @inheritdoc */
18
+ build(): EventStoreSubscriptionDefinition;
19
+ }
20
+ //# sourceMappingURL=EventStoreSubscriptionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventStoreSubscriptionBuilder.d.ts","sourceRoot":"","sources":["../../eventStoreSubscriptions/EventStoreSubscriptionBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAkC,WAAW,EAAE,WAAW,EAAmB,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF;;GAEG;AACH,qBAAa,6BAA8B,YAAW,8BAA8B;IAI5E,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IALtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;gBAGvC,kBAAkB,EAAE,WAAW,EAC/B,eAAe,EAAE,wBAAwB,EACzC,iBAAiB,EAAE,MAAM;IAG9C,kBAAkB;IAClB,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,WAAW,GAAG,8BAA8B;IAenF,kBAAkB;IAClB,KAAK,IAAI,gCAAgC;CAa5C"}
@@ -0,0 +1,41 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ import { EventType, EventTypeGeneration, EventTypeId, getEventTypeFor } from '../events';
4
+ import { EventStoreSubscriptionDefinition } from './EventStoreSubscriptionDefinition';
5
+ /**
6
+ * Represents an implementation of {@link IEventStoreSubscriptionBuilder}.
7
+ */
8
+ export class EventStoreSubscriptionBuilder {
9
+ _eventTypesManager;
10
+ _subscriptionId;
11
+ _sourceEventStore;
12
+ _eventTypes = new Map();
13
+ constructor(_eventTypesManager, _subscriptionId, _sourceEventStore) {
14
+ this._eventTypesManager = _eventTypesManager;
15
+ this._subscriptionId = _subscriptionId;
16
+ this._sourceEventStore = _sourceEventStore;
17
+ }
18
+ /** @inheritdoc */
19
+ withEventType(eventType) {
20
+ const resolvedEventType = eventType instanceof EventTypeId
21
+ ? this._eventTypesManager.hasFor(eventType)
22
+ ? getEventTypeFor(this._eventTypesManager.getTypeFor(eventType))
23
+ : new EventType(eventType, EventTypeGeneration.first, false)
24
+ : getEventTypeFor(eventType);
25
+ if (resolvedEventType.id.value === EventTypeId.unknown.value) {
26
+ throw new Error('Event type must be decorated with the @eventType() decorator from @cratis/chronicle or provided as a valid EventTypeId.');
27
+ }
28
+ this._eventTypes.set(resolvedEventType.id.value, resolvedEventType);
29
+ return this;
30
+ }
31
+ /** @inheritdoc */
32
+ build() {
33
+ const eventTypes = this._eventTypes.size > 0
34
+ ? [...this._eventTypes.values()]
35
+ : this._eventTypesManager.all
36
+ .map(type => getEventTypeFor(type))
37
+ .filter(type => type.id.value !== EventTypeId.unknown.value);
38
+ return new EventStoreSubscriptionDefinition(this._subscriptionId, this._sourceEventStore, eventTypes);
39
+ }
40
+ }
41
+ //# sourceMappingURL=EventStoreSubscriptionBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventStoreSubscriptionBuilder.js","sourceRoot":"","sources":["../../eventStoreSubscriptions/EventStoreSubscriptionBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAGrG,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAe,eAAe,EAAE,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAItF;;GAEG;AACH,MAAM,OAAO,6BAA6B;IAIjB;IACA;IACA;IALJ,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE5D,YACqB,kBAA+B,EAC/B,eAAyC,EACzC,iBAAyB;QAFzB,uBAAkB,GAAlB,kBAAkB,CAAa;QAC/B,oBAAe,GAAf,eAAe,CAA0B;QACzC,sBAAiB,GAAjB,iBAAiB,CAAQ;IAC3C,CAAC;IAEJ,kBAAkB;IAClB,aAAa,CAAC,SAAoC;QAC9C,MAAM,iBAAiB,GAAG,SAAS,YAAY,WAAW;YACtD,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC;gBACvC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAChE,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;YAChE,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAEjC,IAAI,iBAAiB,CAAC,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,yHAAyH,CAAC,CAAC;QAC/I,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,KAAK;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC;YACxC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG;iBACxB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;iBAClC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAErE,OAAO,IAAI,gCAAgC,CACvC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,iBAAiB,EACtB,UAAU,CACb,CAAC;IACN,CAAC;CACJ"}
@@ -0,0 +1,12 @@
1
+ import { EventType } from '../events';
2
+ import { EventStoreSubscriptionId } from './EventStoreSubscriptionId';
3
+ /**
4
+ * Represents a definition of an event store subscription.
5
+ */
6
+ export declare class EventStoreSubscriptionDefinition {
7
+ readonly id: EventStoreSubscriptionId;
8
+ readonly sourceEventStore: string;
9
+ readonly eventTypes: EventType[];
10
+ constructor(id: EventStoreSubscriptionId, sourceEventStore: string, eventTypes: EventType[]);
11
+ }
12
+ //# sourceMappingURL=EventStoreSubscriptionDefinition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventStoreSubscriptionDefinition.d.ts","sourceRoot":"","sources":["../../eventStoreSubscriptions/EventStoreSubscriptionDefinition.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE;;GAEG;AACH,qBAAa,gCAAgC;IAErC,QAAQ,CAAC,EAAE,EAAE,wBAAwB;IACrC,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE;gBAFvB,EAAE,EAAE,wBAAwB,EAC5B,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,SAAS,EAAE;CAEvC"}
@@ -0,0 +1,16 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ /**
4
+ * Represents a definition of an event store subscription.
5
+ */
6
+ export class EventStoreSubscriptionDefinition {
7
+ id;
8
+ sourceEventStore;
9
+ eventTypes;
10
+ constructor(id, sourceEventStore, eventTypes) {
11
+ this.id = id;
12
+ this.sourceEventStore = sourceEventStore;
13
+ this.eventTypes = eventTypes;
14
+ }
15
+ }
16
+ //# sourceMappingURL=EventStoreSubscriptionDefinition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventStoreSubscriptionDefinition.js","sourceRoot":"","sources":["../../eventStoreSubscriptions/EventStoreSubscriptionDefinition.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAKrG;;GAEG;AACH,MAAM,OAAO,gCAAgC;IAE5B;IACA;IACA;IAHb,YACa,EAA4B,EAC5B,gBAAwB,EACxB,UAAuB;QAFvB,OAAE,GAAF,EAAE,CAA0B;QAC5B,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,eAAU,GAAV,UAAU,CAAa;IACjC,CAAC;CACP"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Represents the unique identifier of an event store subscription.
3
+ */
4
+ export declare class EventStoreSubscriptionId {
5
+ readonly value: string;
6
+ constructor(value: string);
7
+ /** @inheritdoc */
8
+ toString(): string;
9
+ }
10
+ //# sourceMappingURL=EventStoreSubscriptionId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventStoreSubscriptionId.d.ts","sourceRoot":"","sources":["../../eventStoreSubscriptions/EventStoreSubscriptionId.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,wBAAwB;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;IAElC,kBAAkB;IAClB,QAAQ,IAAI,MAAM;CAGrB"}
@@ -0,0 +1,16 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ /**
4
+ * Represents the unique identifier of an event store subscription.
5
+ */
6
+ export class EventStoreSubscriptionId {
7
+ value;
8
+ constructor(value) {
9
+ this.value = value;
10
+ }
11
+ /** @inheritdoc */
12
+ toString() {
13
+ return this.value;
14
+ }
15
+ }
16
+ //# sourceMappingURL=EventStoreSubscriptionId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventStoreSubscriptionId.js","sourceRoot":"","sources":["../../eventStoreSubscriptions/EventStoreSubscriptionId.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG;;GAEG;AACH,MAAM,OAAO,wBAAwB;IACZ;IAArB,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAEtC,kBAAkB;IAClB,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;CACJ"}
@@ -0,0 +1,21 @@
1
+ import { ChronicleConnection } from '../connection';
2
+ import { EventStoreName } from '../EventStoreName';
3
+ import { IEventTypes } from '../events';
4
+ import { EventStoreSubscriptionId } from './EventStoreSubscriptionId';
5
+ import { IEventStoreSubscriptionBuilder } from './IEventStoreSubscriptionBuilder';
6
+ import { IEventStoreSubscriptions } from './IEventStoreSubscriptions';
7
+ /**
8
+ * Represents an implementation of {@link IEventStoreSubscriptions}.
9
+ */
10
+ export declare class EventStoreSubscriptions implements IEventStoreSubscriptions {
11
+ private readonly _eventTypes;
12
+ private readonly _targetEventStore;
13
+ private readonly _connection;
14
+ private readonly _logger;
15
+ constructor(_eventTypes: IEventTypes, _targetEventStore: string, _connection: ChronicleConnection);
16
+ /** @inheritdoc */
17
+ subscribe(subscriptionId: EventStoreSubscriptionId | string, sourceEventStore: EventStoreName | string, configure?: (builder: IEventStoreSubscriptionBuilder) => void): Promise<void>;
18
+ /** @inheritdoc */
19
+ unsubscribe(subscriptionId: EventStoreSubscriptionId | string): Promise<void>;
20
+ }
21
+ //# sourceMappingURL=EventStoreSubscriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventStoreSubscriptions.d.ts","sourceRoot":"","sources":["../../eventStoreSubscriptions/EventStoreSubscriptions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE;;GAEG;AACH,qBAAa,uBAAwB,YAAW,wBAAwB;IAMhE,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAPhC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAErB;gBAGkB,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,mBAAmB;IAGrD,kBAAkB;IACZ,SAAS,CACX,cAAc,EAAE,wBAAwB,GAAG,MAAM,EACjD,gBAAgB,EAAE,cAAc,GAAG,MAAM,EACzC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,IAAI,GAC9D,OAAO,CAAC,IAAI,CAAC;IA4BhB,kBAAkB;IACZ,WAAW,CAAC,cAAc,EAAE,wBAAwB,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAatF"}
@@ -0,0 +1,60 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ import { diag } from '@opentelemetry/api';
4
+ import { EventStoreSubscriptionBuilder } from './EventStoreSubscriptionBuilder';
5
+ import { EventStoreSubscriptionId } from './EventStoreSubscriptionId';
6
+ /**
7
+ * Represents an implementation of {@link IEventStoreSubscriptions}.
8
+ */
9
+ export class EventStoreSubscriptions {
10
+ _eventTypes;
11
+ _targetEventStore;
12
+ _connection;
13
+ _logger = diag.createComponentLogger({
14
+ namespace: '@cratis/chronicle/EventStoreSubscriptions'
15
+ });
16
+ constructor(_eventTypes, _targetEventStore, _connection) {
17
+ this._eventTypes = _eventTypes;
18
+ this._targetEventStore = _targetEventStore;
19
+ this._connection = _connection;
20
+ }
21
+ /** @inheritdoc */
22
+ async subscribe(subscriptionId, sourceEventStore, configure) {
23
+ const id = typeof subscriptionId === 'string' ? new EventStoreSubscriptionId(subscriptionId) : subscriptionId;
24
+ const source = typeof sourceEventStore === 'string' ? sourceEventStore : sourceEventStore.value;
25
+ const builder = new EventStoreSubscriptionBuilder(this._eventTypes, id, source);
26
+ configure?.(builder);
27
+ const definition = builder.build();
28
+ this._logger.info('Registering event store subscription', {
29
+ targetEventStore: this._targetEventStore,
30
+ subscriptionId: id.value,
31
+ sourceEventStore: source,
32
+ eventTypeCount: definition.eventTypes.length
33
+ });
34
+ await this._connection.eventStoreSubscriptions.add({
35
+ TargetEventStore: this._targetEventStore,
36
+ Subscriptions: [{
37
+ Identifier: definition.id.value,
38
+ SourceEventStore: definition.sourceEventStore,
39
+ EventTypes: definition.eventTypes.map(_ => ({
40
+ Id: _.id.value,
41
+ Generation: _.generation.value,
42
+ Tombstone: _.tombstone
43
+ }))
44
+ }]
45
+ });
46
+ }
47
+ /** @inheritdoc */
48
+ async unsubscribe(subscriptionId) {
49
+ const id = typeof subscriptionId === 'string' ? subscriptionId : subscriptionId.value;
50
+ this._logger.info('Removing event store subscription', {
51
+ targetEventStore: this._targetEventStore,
52
+ subscriptionId: id
53
+ });
54
+ await this._connection.eventStoreSubscriptions.remove({
55
+ TargetEventStore: this._targetEventStore,
56
+ SubscriptionIds: [id]
57
+ });
58
+ }
59
+ }
60
+ //# sourceMappingURL=EventStoreSubscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventStoreSubscriptions.js","sourceRoot":"","sources":["../../eventStoreSubscriptions/EventStoreSubscriptions.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAI1C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAItE;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAMX;IACA;IACA;IAPJ,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAClD,SAAS,EAAE,2CAA2C;KACzD,CAAC,CAAC;IAEH,YACqB,WAAwB,EACxB,iBAAyB,EACzB,WAAgC;QAFhC,gBAAW,GAAX,WAAW,CAAa;QACxB,sBAAiB,GAAjB,iBAAiB,CAAQ;QACzB,gBAAW,GAAX,WAAW,CAAqB;IAClD,CAAC;IAEJ,kBAAkB;IAClB,KAAK,CAAC,SAAS,CACX,cAAiD,EACjD,gBAAyC,EACzC,SAA6D;QAE7D,MAAM,EAAE,GAAG,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,wBAAwB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QAC9G,MAAM,MAAM,GAAG,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAChG,MAAM,OAAO,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAChF,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAEnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE;YACtD,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;YACxC,cAAc,EAAE,EAAE,CAAC,KAAK;YACxB,gBAAgB,EAAE,MAAM;YACxB,cAAc,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM;SAC/C,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,GAAG,CAAC;YAC/C,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;YACxC,aAAa,EAAE,CAAC;oBACZ,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,KAAK;oBAC/B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;oBAC7C,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACxC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK;wBACd,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK;wBAC9B,SAAS,EAAE,CAAC,CAAC,SAAS;qBACzB,CAAC,CAAC;iBACN,CAAC;SACL,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,WAAW,CAAC,cAAiD;QAC/D,MAAM,EAAE,GAAG,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;QAEtF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE;YACnD,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;YACxC,cAAc,EAAE,EAAE;SACrB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC;YAClD,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;YACxC,eAAe,EAAE,CAAC,EAAE,CAAC;SACxB,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -0,0 +1,20 @@
1
+ import { Constructor } from '@cratis/fundamentals';
2
+ import { EventTypeId } from '../events';
3
+ import { EventStoreSubscriptionDefinition } from './EventStoreSubscriptionDefinition';
4
+ /**
5
+ * Defines a builder for configuring an event store subscription.
6
+ */
7
+ export interface IEventStoreSubscriptionBuilder {
8
+ /**
9
+ * Specify the event types to subscribe to. If not specified, all discovered event types are subscribed.
10
+ * @param eventType - The event type identifier or decorated event constructor to include.
11
+ * @returns The builder for continuation.
12
+ */
13
+ withEventType(eventType: EventTypeId | Constructor): IEventStoreSubscriptionBuilder;
14
+ /**
15
+ * Build the subscription definition.
16
+ * @returns The event store subscription definition.
17
+ */
18
+ build(): EventStoreSubscriptionDefinition;
19
+ }
20
+ //# sourceMappingURL=IEventStoreSubscriptionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEventStoreSubscriptionBuilder.d.ts","sourceRoot":"","sources":["../../eventStoreSubscriptions/IEventStoreSubscriptionBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C;;;;OAIG;IACH,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,WAAW,GAAG,8BAA8B,CAAC;IAEpF;;;OAGG;IACH,KAAK,IAAI,gCAAgC,CAAC;CAC7C"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ export {};
4
+ //# sourceMappingURL=IEventStoreSubscriptionBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEventStoreSubscriptionBuilder.js","sourceRoot":"","sources":["../../eventStoreSubscriptions/IEventStoreSubscriptionBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,21 @@
1
+ import { EventStoreName } from '../EventStoreName';
2
+ import { EventStoreSubscriptionId } from './EventStoreSubscriptionId';
3
+ import { IEventStoreSubscriptionBuilder } from './IEventStoreSubscriptionBuilder';
4
+ /**
5
+ * Defines the API for managing event store subscriptions.
6
+ */
7
+ export interface IEventStoreSubscriptions {
8
+ /**
9
+ * Subscribe to events from a source event store.
10
+ * @param subscriptionId - The unique identifier for the subscription.
11
+ * @param sourceEventStore - The source event store to subscribe to.
12
+ * @param configure - Optional callback to configure the subscription.
13
+ */
14
+ subscribe(subscriptionId: EventStoreSubscriptionId | string, sourceEventStore: EventStoreName | string, configure?: (builder: IEventStoreSubscriptionBuilder) => void): Promise<void>;
15
+ /**
16
+ * Removes a subscription by its identifier.
17
+ * @param subscriptionId - The subscription identifier to remove.
18
+ */
19
+ unsubscribe(subscriptionId: EventStoreSubscriptionId | string): Promise<void>;
20
+ }
21
+ //# sourceMappingURL=IEventStoreSubscriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEventStoreSubscriptions.d.ts","sourceRoot":"","sources":["../../eventStoreSubscriptions/IEventStoreSubscriptions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC;;;;;OAKG;IACH,SAAS,CACL,cAAc,EAAE,wBAAwB,GAAG,MAAM,EACjD,gBAAgB,EAAE,cAAc,GAAG,MAAM,EACzC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,IAAI,GAC9D,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;OAGG;IACH,WAAW,CAAC,cAAc,EAAE,wBAAwB,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjF"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ export {};
4
+ //# sourceMappingURL=IEventStoreSubscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEventStoreSubscriptions.js","sourceRoot":"","sources":["../../eventStoreSubscriptions/IEventStoreSubscriptions.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,71 @@
1
+ import { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire';
2
+ import type { CallContext, CallOptions } from 'nice-grpc-common';
3
+ export interface Empty {
4
+ }
5
+ export interface AddEventStoreSubscriptions {
6
+ TargetEventStore: string;
7
+ Subscriptions: EventStoreSubscriptionDefinitionContract[];
8
+ }
9
+ export interface EventStoreSubscriptionDefinitionContract {
10
+ Identifier: string;
11
+ SourceEventStore: string;
12
+ EventTypes: EventTypeContract[];
13
+ }
14
+ export interface EventTypeContract {
15
+ Id: string;
16
+ Generation: number;
17
+ Tombstone: boolean;
18
+ }
19
+ export interface RemoveEventStoreSubscriptions {
20
+ TargetEventStore: string;
21
+ SubscriptionIds: string[];
22
+ }
23
+ export declare const EmptyMessage: MessageFns<Empty>;
24
+ export declare const AddEventStoreSubscriptionsMessage: MessageFns<AddEventStoreSubscriptions>;
25
+ export declare const EventStoreSubscriptionDefinitionMessage: MessageFns<EventStoreSubscriptionDefinitionContract>;
26
+ export declare const EventTypeMessage: MessageFns<EventTypeContract>;
27
+ export declare const RemoveEventStoreSubscriptionsMessage: MessageFns<RemoveEventStoreSubscriptions>;
28
+ export declare const EventStoreSubscriptionsDefinition: {
29
+ readonly name: "EventStoreSubscriptions";
30
+ readonly fullName: "Cratis.Chronicle.Contracts.Observation.EventStoreSubscriptions.EventStoreSubscriptions";
31
+ readonly methods: {
32
+ readonly add: {
33
+ readonly name: "Add";
34
+ readonly requestType: MessageFns<AddEventStoreSubscriptions>;
35
+ readonly requestStream: false;
36
+ readonly responseType: MessageFns<Empty>;
37
+ readonly responseStream: false;
38
+ readonly options: {};
39
+ };
40
+ readonly remove: {
41
+ readonly name: "Remove";
42
+ readonly requestType: MessageFns<RemoveEventStoreSubscriptions>;
43
+ readonly requestStream: false;
44
+ readonly responseType: MessageFns<Empty>;
45
+ readonly responseStream: false;
46
+ readonly options: {};
47
+ };
48
+ };
49
+ };
50
+ export interface EventStoreSubscriptionsClient<CallOptionsExt = {}> {
51
+ add(request: DeepPartial<AddEventStoreSubscriptions>, options?: CallOptions & CallOptionsExt): Promise<Empty>;
52
+ remove(request: DeepPartial<RemoveEventStoreSubscriptions>, options?: CallOptions & CallOptionsExt): Promise<Empty>;
53
+ }
54
+ export interface EventStoreSubscriptionsServiceImplementation<CallContextExt = {}> {
55
+ add(request: AddEventStoreSubscriptions, context: CallContext & CallContextExt): Promise<DeepPartial<Empty>>;
56
+ remove(request: RemoveEventStoreSubscriptions, context: CallContext & CallContextExt): Promise<DeepPartial<Empty>>;
57
+ }
58
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;
59
+ type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
60
+ [K in keyof T]?: DeepPartial<T[K]>;
61
+ } : Partial<T>;
62
+ interface MessageFns<T> {
63
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
64
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
65
+ fromJSON(object: unknown): T;
66
+ toJSON(message: T): unknown;
67
+ create(base?: DeepPartial<T>): T;
68
+ fromPartial(object: DeepPartial<T>): T;
69
+ }
70
+ export {};
71
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../eventStoreSubscriptions/contracts.ts"],"names":[],"mappings":"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"}