@cratis/chronicle 4.0.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/ChronicleClient.ts +3 -3
  2. package/EventStore.ts +3 -3
  3. package/connection/ChronicleConnection.ts +6 -0
  4. package/connection/ChronicleServices.ts +2 -0
  5. package/connection/callResults.ts +23 -0
  6. package/dist/ChronicleClient.js +3 -3
  7. package/dist/ChronicleClient.js.map +1 -1
  8. package/dist/EventStore.js +3 -3
  9. package/dist/EventStore.js.map +1 -1
  10. package/dist/connection/ChronicleConnection.d.ts +1 -0
  11. package/dist/connection/ChronicleConnection.d.ts.map +1 -1
  12. package/dist/connection/ChronicleConnection.js +5 -1
  13. package/dist/connection/ChronicleConnection.js.map +1 -1
  14. package/dist/connection/ChronicleServices.d.ts +2 -1
  15. package/dist/connection/ChronicleServices.d.ts.map +1 -1
  16. package/dist/connection/callResults.d.ts +13 -0
  17. package/dist/connection/callResults.d.ts.map +1 -1
  18. package/dist/connection/callResults.js +14 -0
  19. package/dist/connection/callResults.js.map +1 -1
  20. package/dist/eventSequences/EventSequence.d.ts +2 -2
  21. package/dist/eventSequences/EventSequence.d.ts.map +1 -1
  22. package/dist/eventSequences/EventSequence.js +39 -57
  23. package/dist/eventSequences/EventSequence.js.map +1 -1
  24. package/dist/events/EventTypes.d.ts.map +1 -1
  25. package/dist/events/EventTypes.js +3 -2
  26. package/dist/events/EventTypes.js.map +1 -1
  27. package/dist/jobs/Jobs.js +3 -3
  28. package/dist/jobs/Jobs.js.map +1 -1
  29. package/dist/observation/toObserverRunningState.js +1 -1
  30. package/dist/observation/toObserverRunningState.js.map +1 -1
  31. package/dist/readModels/ReadModels.d.ts.map +1 -1
  32. package/dist/readModels/ReadModels.js +8 -6
  33. package/dist/readModels/ReadModels.js.map +1 -1
  34. package/dist/seeding/EventSeeding.d.ts.map +1 -1
  35. package/dist/seeding/EventSeeding.js +2 -1
  36. package/dist/seeding/EventSeeding.js.map +1 -1
  37. package/dist/webhooks/Webhooks.d.ts.map +1 -1
  38. package/dist/webhooks/Webhooks.js +22 -10
  39. package/dist/webhooks/Webhooks.js.map +1 -1
  40. package/eventSequences/EventSequence.spec.ts +83 -74
  41. package/eventSequences/EventSequence.ts +44 -63
  42. package/events/EventTypes.ts +3 -2
  43. package/jobs/Jobs.ts +3 -3
  44. package/observation/toObserverRunningState.ts +1 -1
  45. package/package.json +6 -6
  46. package/readModels/ReadModels.ts +8 -6
  47. package/seeding/EventSeeding.ts +2 -1
  48. package/webhooks/Webhooks.ts +24 -10
@@ -1,6 +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 { diag } from '@opentelemetry/api';
4
+ import { ensureCommandSuccess } from '../connection/callResults';
4
5
  import { EventStoreNamespaceName } from '../EventStoreNamespaceName';
5
6
  import { getEventTypeFor } from '../events/eventTypeDecorator';
6
7
  import { getTagsFor } from '../events/tagDecorator';
@@ -72,7 +73,7 @@ export class EventSeeding {
72
73
  ByEventSource: this.toEventSourceSeedEntries(entries)
73
74
  }))
74
75
  };
75
- await this._connection.eventSeeding.seed(request);
76
+ ensureCommandSuccess('seed events', await this._connection.eventSeeding.seedEvents(request));
76
77
  this._entries.length = 0;
77
78
  }
78
79
  addScoped(eventSourceId, events, targetNamespace) {
@@ -1 +1 @@
1
- {"version":3,"file":"EventSeeding.js","sourceRoot":"","sources":["../../seeding/EventSeeding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventSeeding.js","sourceRoot":"","sources":["../../seeding/EventSeeding.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Webhooks.d.ts","sourceRoot":"","sources":["../../webhooks/Webhooks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD;;GAEG;AACH,qBAAa,QAAS,YAAW,SAAS;IAWlC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAbrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IAEpE;;;;;;OAMG;gBAEkB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,mBAAmB,EAChC,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,wBAAwB;IAG/D,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAa/B,kBAAkB;IACZ,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBzC,kBAAkB;IACZ,QAAQ,CACV,SAAS,EAAE,SAAS,GAAG,MAAM,EAC7B,SAAS,EAAE,gBAAgB,GAAG,MAAM,EACpC,SAAS,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,GACxD,OAAO,CAAC,IAAI,CAAC;IAehB,kBAAkB;IACZ,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAKjD,kBAAkB;IACZ,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,OAAO,CAAC,eAAe;CAqB1B"}
1
+ {"version":3,"file":"Webhooks.d.ts","sourceRoot":"","sources":["../../webhooks/Webhooks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD;;GAEG;AACH,qBAAa,QAAS,YAAW,SAAS;IAWlC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAbrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IAEpE;;;;;;OAMG;gBAEkB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,mBAAmB,EAChC,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,wBAAwB;IAG/D,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAa/B,kBAAkB;IACZ,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAezC,kBAAkB;IACZ,QAAQ,CACV,SAAS,EAAE,SAAS,GAAG,MAAM,EAC7B,SAAS,EAAE,gBAAgB,GAAG,MAAM,EACpC,SAAS,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,GACxD,OAAO,CAAC,IAAI,CAAC;IAchB,kBAAkB;IACZ,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAoBjD,kBAAkB;IACZ,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,OAAO,CAAC,eAAe;CAqB1B"}
@@ -1,6 +1,6 @@
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
- import { ObserverOwner } from '@cratis/chronicle.contracts';
3
+ import { ensureCommandSuccess, ensureQuerySuccess } from '../connection/callResults';
4
4
  import { EventSequenceId } from '../eventSequences/EventSequenceId';
5
5
  import { WebhookDefinitionBuilder } from './WebhookDefinitionBuilder';
6
6
  import { WebhookId } from './WebhookId';
@@ -48,33 +48,45 @@ export class Webhooks {
48
48
  if (this._discovered.size === 0) {
49
49
  return;
50
50
  }
51
- await this._connection.webhooks.add({
51
+ ensureCommandSuccess('register discovered webhooks', await this._connection.webhooks.addWebhooks({
52
52
  EventStore: this._eventStore,
53
- Owner: ObserverOwner.Client,
54
53
  Webhooks: [...this._discovered.values()]
55
- });
54
+ }));
56
55
  }
57
56
  /** @inheritdoc */
58
57
  async register(webhookId, targetUrl, configure) {
59
58
  const definition = this.buildDefinition(undefined, typeof webhookId === 'string' ? new WebhookId(webhookId) : webhookId, typeof targetUrl === 'string' ? new WebhookTargetUrl(targetUrl) : targetUrl, configure);
60
- await this._connection.webhooks.add({
59
+ ensureCommandSuccess('register webhook', await this._connection.webhooks.addWebhooks({
61
60
  EventStore: this._eventStore,
62
- Owner: ObserverOwner.Client,
63
61
  Webhooks: [definition]
64
- });
62
+ }));
65
63
  }
66
64
  /** @inheritdoc */
67
65
  async getWebhooks() {
68
66
  const response = await this._connection.webhooks.getWebhooks({ EventStore: this._eventStore });
69
- return response.items ?? [];
67
+ const details = ensureQuerySuccess('get webhooks', response) ?? [];
68
+ // The kernel does not return authorization details on read-back, so the reconstructed target
69
+ // always carries no authorization, mirroring the C# client's WebhookTarget mapping.
70
+ return details.map(webhook => ({
71
+ EventSequenceId: webhook.EventSequenceId,
72
+ Identifier: webhook.Identifier,
73
+ EventTypes: webhook.EventTypes,
74
+ Target: {
75
+ Url: webhook.Url,
76
+ Authorization: undefined,
77
+ Headers: webhook.Headers
78
+ },
79
+ IsReplayable: webhook.IsReplayable,
80
+ IsActive: webhook.IsActive
81
+ }));
70
82
  }
71
83
  /** @inheritdoc */
72
84
  async remove(webhookId) {
73
85
  const id = typeof webhookId === 'string' ? webhookId : webhookId.value;
74
- await this._connection.webhooks.remove({
86
+ ensureCommandSuccess('remove webhook', await this._connection.webhooks.removeWebhooks({
75
87
  EventStore: this._eventStore,
76
88
  Webhooks: [id]
77
- });
89
+ }));
78
90
  }
79
91
  buildDefinition(type, id, targetUrl, configure, eventSequenceId) {
80
92
  const builder = new WebhookDefinitionBuilder(this._eventTypes);
@@ -1 +1 @@
1
- {"version":3,"file":"Webhooks.js","sourceRoot":"","sources":["../../webhooks/Webhooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Webhooks.js","sourceRoot":"","sources":["../../webhooks/Webhooks.ts"],"names":[],"mappings":"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"}
@@ -27,12 +27,12 @@ function createEventSequence(
27
27
  const eventSequences = {
28
28
  redact: vi.fn().mockResolvedValue({}),
29
29
  redactForEventSource: vi.fn().mockResolvedValue({}),
30
- getForEventSourceIdAndEventTypes: vi.fn().mockResolvedValue({ Events: [] }),
31
- getEventsFromEventSequenceNumber: vi.fn().mockResolvedValue({ Events: [] }),
32
- getTailSequenceNumber: vi.fn().mockResolvedValue({ SequenceNumber: EventSequenceNumber.unset.value }),
33
- completeStream: vi.fn().mockResolvedValue({ IsSuccess: true, SequenceNumber: 3n, Error: 0 }),
34
- appendMany: vi.fn().mockResolvedValue({ SequenceNumbers: [], ConstraintViolations: [], Errors: [] }),
35
- append: vi.fn().mockResolvedValue({ SequenceNumber: 0n, ConstraintViolations: [], Errors: [] }),
30
+ forEventSourceIdAndEventTypes: vi.fn().mockResolvedValue({ Data: [] }),
31
+ fromSequenceNumber: vi.fn().mockResolvedValue({ Data: [] }),
32
+ tailSequenceNumber: vi.fn().mockResolvedValue({ Data: { SequenceNumber: EventSequenceNumber.unset.value } }),
33
+ completeStream: vi.fn().mockResolvedValue({ Response: { IsSuccess: true, SequenceNumber: 3n, Error: 0 } }),
34
+ appendManyForEventSources: vi.fn().mockResolvedValue({ Response: { SequenceNumbers: [], ConstraintViolations: [], Errors: [] } }),
35
+ append: vi.fn().mockResolvedValue({ Response: { SequenceNumber: 0n, ConstraintViolations: [], Errors: [] } }),
36
36
  ...overrides
37
37
  };
38
38
  const observers = {
@@ -53,11 +53,11 @@ function createEventSequence(
53
53
  eventSequence,
54
54
  redact: eventSequences.redact,
55
55
  redactForEventSource: eventSequences.redactForEventSource,
56
- getForEventSourceIdAndEventTypes: eventSequences.getForEventSourceIdAndEventTypes,
57
- getEventsFromEventSequenceNumber: eventSequences.getEventsFromEventSequenceNumber,
58
- getTailSequenceNumber: eventSequences.getTailSequenceNumber,
56
+ forEventSourceIdAndEventTypes: eventSequences.forEventSourceIdAndEventTypes,
57
+ fromSequenceNumber: eventSequences.fromSequenceNumber,
58
+ tailSequenceNumber: eventSequences.tailSequenceNumber,
59
59
  completeStream: eventSequences.completeStream,
60
- appendMany: eventSequences.appendMany,
60
+ appendManyForEventSources: eventSequences.appendManyForEventSources,
61
61
  append: eventSequences.append,
62
62
  waitForCompletion: observers.waitForCompletion
63
63
  };
@@ -144,24 +144,24 @@ describe('EventSequence', () => {
144
144
  expect(redactForEventSource).toHaveBeenCalledTimes(1);
145
145
  const request = redactForEventSource.mock.calls[0][0];
146
146
  expect(request.EventTypes).toEqual([
147
- { Id: 'a3f6a2f0-6f2f-4a3c-9d3f-6f2f4a3c9d3f', Generation: 1, Tombstone: false },
148
- { Id: 'b3f6a2f0-6f2f-4a3c-9d3f-6f2f4a3c9d3g', Generation: 1, Tombstone: false }
147
+ 'a3f6a2f0-6f2f-4a3c-9d3f-6f2f4a3c9d3f',
148
+ 'b3f6a2f0-6f2f-4a3c-9d3f-6f2f4a3c9d3g'
149
149
  ]);
150
150
  });
151
151
  });
152
152
 
153
153
  describe('when getting events for an event source and event types', () => {
154
- const { eventSequence, getForEventSourceIdAndEventTypes } = createEventSequence({
155
- getForEventSourceIdAndEventTypes: vi.fn().mockResolvedValue({ Events: [wireAppendedEvent()] })
154
+ const { eventSequence, forEventSourceIdAndEventTypes } = createEventSequence({
155
+ forEventSourceIdAndEventTypes: vi.fn().mockResolvedValue({ Data: [wireAppendedEvent()] })
156
156
  });
157
157
 
158
158
  it('should call the RPC with the resolved event type filter and map the response', async () => {
159
159
  const result = await eventSequence.getForEventSourceIdAndEventTypes('some-event-source', [SomethingHappened]);
160
160
 
161
- expect(getForEventSourceIdAndEventTypes).toHaveBeenCalledTimes(1);
162
- const request = getForEventSourceIdAndEventTypes.mock.calls[0][0];
161
+ expect(forEventSourceIdAndEventTypes).toHaveBeenCalledTimes(1);
162
+ const request = forEventSourceIdAndEventTypes.mock.calls[0][0];
163
163
  expect(request.EventSourceId).toEqual('some-event-source');
164
- expect(request.EventTypes).toEqual([{ Id: 'a3f6a2f0-6f2f-4a3c-9d3f-6f2f4a3c9d3f', Generation: 1, Tombstone: false }]);
164
+ expect(request.EventTypeIds).toEqual('a3f6a2f0-6f2f-4a3c-9d3f-6f2f4a3c9d3f');
165
165
 
166
166
  expect(result).toHaveLength(1);
167
167
  expect(result[0].context.sequenceNumber).toEqual(7n);
@@ -173,18 +173,18 @@ describe('EventSequence', () => {
173
173
  });
174
174
 
175
175
  describe('when getting events from a sequence number', () => {
176
- const { eventSequence, getEventsFromEventSequenceNumber } = createEventSequence({
177
- getEventsFromEventSequenceNumber: vi.fn().mockResolvedValue({ Events: [wireAppendedEvent()] })
176
+ const { eventSequence, fromSequenceNumber } = createEventSequence({
177
+ fromSequenceNumber: vi.fn().mockResolvedValue({ Data: [wireAppendedEvent()] })
178
178
  });
179
179
 
180
180
  it('should call the RPC starting from the given sequence number and map the response', async () => {
181
181
  const result = await eventSequence.getFromSequenceNumber(new EventSequenceNumber(7n), 'some-event-source', [SomethingHappened]);
182
182
 
183
- expect(getEventsFromEventSequenceNumber).toHaveBeenCalledTimes(1);
184
- const request = getEventsFromEventSequenceNumber.mock.calls[0][0];
183
+ expect(fromSequenceNumber).toHaveBeenCalledTimes(1);
184
+ const request = fromSequenceNumber.mock.calls[0][0];
185
185
  expect(request.FromEventSequenceNumber).toEqual(7n);
186
186
  expect(request.EventSourceId).toEqual('some-event-source');
187
- expect(request.EventTypes).toEqual([{ Id: 'a3f6a2f0-6f2f-4a3c-9d3f-6f2f4a3c9d3f', Generation: 1, Tombstone: false }]);
187
+ expect(request.EventTypeIds).toEqual('a3f6a2f0-6f2f-4a3c-9d3f-6f2f4a3c9d3f');
188
188
 
189
189
  expect(result).toHaveLength(1);
190
190
  expect(result[0].content).toEqual({ value: 'hello' });
@@ -192,21 +192,21 @@ describe('EventSequence', () => {
192
192
  });
193
193
 
194
194
  describe('when getting the next sequence number and the sequence is empty', () => {
195
- const { eventSequence, getTailSequenceNumber } = createEventSequence({
196
- getTailSequenceNumber: vi.fn().mockResolvedValue({ SequenceNumber: EventSequenceNumber.unset.value })
195
+ const { eventSequence, tailSequenceNumber } = createEventSequence({
196
+ tailSequenceNumber: vi.fn().mockResolvedValue({ Data: { SequenceNumber: EventSequenceNumber.unset.value } })
197
197
  });
198
198
 
199
199
  it('should return the first sequence number', async () => {
200
200
  const result = await eventSequence.getNextSequenceNumber();
201
201
 
202
- expect(getTailSequenceNumber).toHaveBeenCalledTimes(1);
202
+ expect(tailSequenceNumber).toHaveBeenCalledTimes(1);
203
203
  expect(result.value).toEqual(EventSequenceNumber.first.value);
204
204
  });
205
205
  });
206
206
 
207
207
  describe('when getting the next sequence number and events already exist', () => {
208
208
  const { eventSequence } = createEventSequence({
209
- getTailSequenceNumber: vi.fn().mockResolvedValue({ SequenceNumber: 41n })
209
+ tailSequenceNumber: vi.fn().mockResolvedValue({ Data: { SequenceNumber: 41n } })
210
210
  });
211
211
 
212
212
  it('should return one past the tail sequence number', async () => {
@@ -221,23 +221,23 @@ describe('EventSequence', () => {
221
221
  async somethingHappened(): Promise<void> {}
222
222
  }
223
223
 
224
- const { eventSequence, getTailSequenceNumber } = createEventSequence({
225
- getTailSequenceNumber: vi.fn().mockResolvedValue({ SequenceNumber: 5n })
224
+ const { eventSequence, tailSequenceNumber } = createEventSequence({
225
+ tailSequenceNumber: vi.fn().mockResolvedValue({ Data: { SequenceNumber: 5n } })
226
226
  });
227
227
 
228
228
  it('should filter the tail sequence number lookup to the event types the observer handles', async () => {
229
229
  await eventSequence.getTailSequenceNumberForObserver(SomeReactor);
230
230
 
231
- expect(getTailSequenceNumber).toHaveBeenCalledTimes(1);
232
- const request = getTailSequenceNumber.mock.calls[0][0];
233
- expect(request.EventTypes).toContainEqual({ Id: 'a3f6a2f0-6f2f-4a3c-9d3f-6f2f4a3c9d3f', Generation: 1, Tombstone: false });
234
- expect(request.EventTypes).not.toContainEqual({ Id: 'b3f6a2f0-6f2f-4a3c-9d3f-6f2f4a3c9d3g', Generation: 1, Tombstone: false });
231
+ expect(tailSequenceNumber).toHaveBeenCalledTimes(1);
232
+ const request = tailSequenceNumber.mock.calls[0][0];
233
+ expect(request.EventTypeIds).toContain('a3f6a2f0-6f2f-4a3c-9d3f-6f2f4a3c9d3f');
234
+ expect(request.EventTypeIds).not.toContain('b3f6a2f0-6f2f-4a3c-9d3f-6f2f4a3c9d3g');
235
235
  });
236
236
  });
237
237
 
238
238
  describe('when completing a non-default stream successfully', () => {
239
239
  const { eventSequence, completeStream } = createEventSequence({
240
- completeStream: vi.fn().mockResolvedValue({ IsSuccess: true, SequenceNumber: 9n, Error: 0 })
240
+ completeStream: vi.fn().mockResolvedValue({ Response: { IsSuccess: true, SequenceNumber: 9n, Error: 0 } })
241
241
  });
242
242
 
243
243
  it('should call the RPC and return the tail sequence number', async () => {
@@ -257,7 +257,7 @@ describe('EventSequence', () => {
257
257
 
258
258
  describe('when completing the default stream', () => {
259
259
  const { eventSequence } = createEventSequence({
260
- completeStream: vi.fn().mockResolvedValue({ IsSuccess: false, SequenceNumber: 0n, Error: 1 })
260
+ completeStream: vi.fn().mockResolvedValue({ Response: { IsSuccess: false, SequenceNumber: 0n, Error: 1 } })
261
261
  });
262
262
 
263
263
  it('should return the DefaultStreamCannotBeCompleted error', async () => {
@@ -272,7 +272,7 @@ describe('EventSequence', () => {
272
272
 
273
273
  describe('when completing an already-completed stream', () => {
274
274
  const { eventSequence } = createEventSequence({
275
- completeStream: vi.fn().mockResolvedValue({ IsSuccess: false, SequenceNumber: 0n, Error: 0 })
275
+ completeStream: vi.fn().mockResolvedValue({ Response: { IsSuccess: false, SequenceNumber: 0n, Error: 0 } })
276
276
  });
277
277
 
278
278
  it('should return the AlreadyCompleted error', async () => {
@@ -286,7 +286,7 @@ describe('EventSequence', () => {
286
286
  });
287
287
 
288
288
  describe('when appending many events for distinct event sources with a shared concurrency scope option', () => {
289
- const { eventSequence, appendMany } = createEventSequence();
289
+ const { eventSequence, appendManyForEventSources } = createEventSequence();
290
290
 
291
291
  it('should apply the same concurrency scope to every distinct event source id', async () => {
292
292
  await eventSequence.appendMany(
@@ -296,15 +296,16 @@ describe('EventSequence', () => {
296
296
  ],
297
297
  { concurrencyScope: { sequenceNumber: 5n } });
298
298
 
299
- expect(appendMany).toHaveBeenCalledTimes(1);
300
- const request = appendMany.mock.calls[0][0];
301
- expect(request.ConcurrencyScopes['source-1'].SequenceNumber).toEqual(5n);
302
- expect(request.ConcurrencyScopes['source-2'].SequenceNumber).toEqual(5n);
299
+ expect(appendManyForEventSources).toHaveBeenCalledTimes(1);
300
+ const request = appendManyForEventSources.mock.calls[0][0];
301
+ const scopeFor = (eventSourceId: string) => request.ConcurrencyScopes.find((s: { EventSourceId: string }) => s.EventSourceId === eventSourceId).Scope;
302
+ expect(scopeFor('source-1').SequenceNumber).toEqual(5n);
303
+ expect(scopeFor('source-2').SequenceNumber).toEqual(5n);
303
304
  });
304
305
  });
305
306
 
306
307
  describe('when appending many events for distinct event sources with a per-event-source-id concurrency scope map', () => {
307
- const { eventSequence, appendMany } = createEventSequence();
308
+ const { eventSequence, appendManyForEventSources } = createEventSequence();
308
309
 
309
310
  it('should apply the distinct concurrency scope for each event source id', async () => {
310
311
  await eventSequence.appendMany(
@@ -319,15 +320,16 @@ describe('EventSequence', () => {
319
320
  }
320
321
  });
321
322
 
322
- expect(appendMany).toHaveBeenCalledTimes(1);
323
- const request = appendMany.mock.calls[0][0];
324
- expect(request.ConcurrencyScopes['source-1'].SequenceNumber).toEqual(5n);
325
- expect(request.ConcurrencyScopes['source-2'].SequenceNumber).toEqual(9n);
323
+ expect(appendManyForEventSources).toHaveBeenCalledTimes(1);
324
+ const request = appendManyForEventSources.mock.calls[0][0];
325
+ const scopeFor = (eventSourceId: string) => request.ConcurrencyScopes.find((s: { EventSourceId: string }) => s.EventSourceId === eventSourceId).Scope;
326
+ expect(scopeFor('source-1').SequenceNumber).toEqual(5n);
327
+ expect(scopeFor('source-2').SequenceNumber).toEqual(9n);
326
328
  });
327
329
  });
328
330
 
329
331
  describe('when appending many events with a per-event-source-id map that only covers some sources', () => {
330
- const { eventSequence, appendMany } = createEventSequence();
332
+ const { eventSequence, appendManyForEventSources } = createEventSequence();
331
333
 
332
334
  it('should fall back to the shared concurrency scope for sources without a map entry', async () => {
333
335
  await eventSequence.appendMany(
@@ -342,15 +344,16 @@ describe('EventSequence', () => {
342
344
  }
343
345
  });
344
346
 
345
- expect(appendMany).toHaveBeenCalledTimes(1);
346
- const request = appendMany.mock.calls[0][0];
347
- expect(request.ConcurrencyScopes['source-1'].SequenceNumber).toEqual(5n);
348
- expect(request.ConcurrencyScopes['source-2'].SequenceNumber).toEqual(1n);
347
+ expect(appendManyForEventSources).toHaveBeenCalledTimes(1);
348
+ const request = appendManyForEventSources.mock.calls[0][0];
349
+ const scopeFor = (eventSourceId: string) => request.ConcurrencyScopes.find((s: { EventSourceId: string }) => s.EventSourceId === eventSourceId).Scope;
350
+ expect(scopeFor('source-1').SequenceNumber).toEqual(5n);
351
+ expect(scopeFor('source-2').SequenceNumber).toEqual(1n);
349
352
  });
350
353
  });
351
354
 
352
355
  describe('when an EventForEventSourceId specifies its own stream targeting', () => {
353
- const { eventSequence, appendMany } = createEventSequence();
356
+ const { eventSequence, appendManyForEventSources } = createEventSequence();
354
357
 
355
358
  it('should use the wrapper\'s own event stream type, id, source type, and subject', async () => {
356
359
  await eventSequence.appendMany([
@@ -364,8 +367,8 @@ describe('EventSequence', () => {
364
367
  }
365
368
  ]);
366
369
 
367
- expect(appendMany).toHaveBeenCalledTimes(1);
368
- const request = appendMany.mock.calls[0][0];
370
+ expect(appendManyForEventSources).toHaveBeenCalledTimes(1);
371
+ const request = appendManyForEventSources.mock.calls[0][0];
369
372
  const [event] = request.Events;
370
373
  expect(event.EventStreamType).toEqual('custom-stream-type');
371
374
  expect(event.EventStreamId).toEqual('custom-stream-id');
@@ -375,15 +378,15 @@ describe('EventSequence', () => {
375
378
  });
376
379
 
377
380
  describe('when an EventForEventSourceId does not specify stream targeting', () => {
378
- const { eventSequence, appendMany } = createEventSequence();
381
+ const { eventSequence, appendManyForEventSources } = createEventSequence();
379
382
 
380
383
  it('should default to the default stream type, the event source id as stream id, and the event source id as subject', async () => {
381
384
  await eventSequence.appendMany([
382
385
  { eventSourceId: 'source-1', event: new SomethingHappened('a') }
383
386
  ]);
384
387
 
385
- expect(appendMany).toHaveBeenCalledTimes(1);
386
- const request = appendMany.mock.calls[0][0];
388
+ expect(appendManyForEventSources).toHaveBeenCalledTimes(1);
389
+ const request = appendManyForEventSources.mock.calls[0][0];
387
390
  const [event] = request.Events;
388
391
  expect(event.EventStreamType).toEqual('Default');
389
392
  expect(event.EventStreamId).toEqual('source-1');
@@ -394,7 +397,7 @@ describe('EventSequence', () => {
394
397
 
395
398
  describe('when subscribing to appendOperations and appending a single event', () => {
396
399
  const { eventSequence } = createEventSequence({
397
- append: vi.fn().mockResolvedValue({ SequenceNumber: 42n, ConstraintViolations: [], Errors: [] })
400
+ append: vi.fn().mockResolvedValue({ Response: { SequenceNumber: 42n, ConstraintViolations: [], Errors: [] } })
398
401
  });
399
402
 
400
403
  it('should publish the appended event and its result to the subscriber', async () => {
@@ -416,7 +419,7 @@ describe('EventSequence', () => {
416
419
 
417
420
  describe('when subscribing to appendOperations and appending many events', () => {
418
421
  const { eventSequence } = createEventSequence({
419
- appendMany: vi.fn().mockResolvedValue({ SequenceNumbers: [10n, 11n], ConstraintViolations: [], Errors: [] })
422
+ appendManyForEventSources: vi.fn().mockResolvedValue({ Response: { SequenceNumbers: [10n, 11n], ConstraintViolations: [], Errors: [] } })
420
423
  });
421
424
 
422
425
  it('should publish the full batch to the subscriber', async () => {
@@ -439,7 +442,7 @@ describe('EventSequence', () => {
439
442
 
440
443
  describe('when two subscribers are iterating appendOperations at the same time', () => {
441
444
  const { eventSequence } = createEventSequence({
442
- append: vi.fn().mockResolvedValue({ SequenceNumber: 1n, ConstraintViolations: [], Errors: [] })
445
+ append: vi.fn().mockResolvedValue({ Response: { SequenceNumber: 1n, ConstraintViolations: [], Errors: [] } })
443
446
  });
444
447
 
445
448
  it('should multicast the same append to every subscriber', async () => {
@@ -457,7 +460,7 @@ describe('EventSequence', () => {
457
460
 
458
461
  describe('when nobody is subscribed to appendOperations', () => {
459
462
  const { eventSequence } = createEventSequence({
460
- append: vi.fn().mockResolvedValue({ SequenceNumber: 1n, ConstraintViolations: [], Errors: [] })
463
+ append: vi.fn().mockResolvedValue({ Response: { SequenceNumber: 1n, ConstraintViolations: [], Errors: [] } })
461
464
  });
462
465
 
463
466
  it('should still complete the append normally', async () => {
@@ -470,7 +473,7 @@ describe('EventSequence', () => {
470
473
 
471
474
  describe('when waiting for completion after a successful append', () => {
472
475
  const { eventSequence, waitForCompletion } = createEventSequence(
473
- { append: vi.fn().mockResolvedValue({ SequenceNumber: 42n, ConstraintViolations: [], Errors: [] }) },
476
+ { append: vi.fn().mockResolvedValue({ Response: { SequenceNumber: 42n, ConstraintViolations: [], Errors: [] } }) },
474
477
  { waitForCompletion: vi.fn().mockResolvedValue({ IsSuccess: true, FailedPartitions: [] }) });
475
478
 
476
479
  it('should call the WaitForCompletion RPC with the appended tail sequence number', async () => {
@@ -498,7 +501,7 @@ describe('EventSequence', () => {
498
501
 
499
502
  describe('when waiting for completion and observers report a failed partition', () => {
500
503
  const { eventSequence } = createEventSequence(
501
- { append: vi.fn().mockResolvedValue({ SequenceNumber: 42n, ConstraintViolations: [], Errors: [] }) },
504
+ { append: vi.fn().mockResolvedValue({ Response: { SequenceNumber: 42n, ConstraintViolations: [], Errors: [] } }) },
502
505
  {
503
506
  waitForCompletion: vi.fn().mockResolvedValue({
504
507
  IsSuccess: false,
@@ -525,9 +528,11 @@ describe('EventSequence', () => {
525
528
  describe('when waiting for completion after an append that itself failed', () => {
526
529
  const { eventSequence, waitForCompletion } = createEventSequence({
527
530
  append: vi.fn().mockResolvedValue({
528
- SequenceNumber: 0n,
529
- ConstraintViolations: [{ ConstraintId: 'unique', Message: 'Value must be unique', Details: {} }],
530
- Errors: []
531
+ Response: {
532
+ SequenceNumber: 0n,
533
+ ConstraintViolations: [{ ConstraintId: 'unique', Message: 'Value must be unique', Details: {} }],
534
+ Errors: []
535
+ }
531
536
  })
532
537
  });
533
538
 
@@ -544,10 +549,12 @@ describe('EventSequence', () => {
544
549
  describe('when a single append fails with a concurrency violation', () => {
545
550
  const { eventSequence } = createEventSequence({
546
551
  append: vi.fn().mockResolvedValue({
547
- SequenceNumber: 18446744073709551615n,
548
- ConstraintViolations: [],
549
- Errors: [],
550
- ConcurrencyViolation: { EventSourceId: 'some-event-source', ExpectedSequenceNumber: 1n, ActualSequenceNumber: 2n }
552
+ Response: {
553
+ SequenceNumber: 18446744073709551615n,
554
+ ConstraintViolations: [],
555
+ Errors: [],
556
+ ConcurrencyViolation: { EventSourceId: 'some-event-source', ExpectedSequenceNumber: 1n, ActualSequenceNumber: 2n }
557
+ }
551
558
  })
552
559
  });
553
560
 
@@ -565,11 +572,13 @@ describe('EventSequence', () => {
565
572
 
566
573
  describe('when appendMany fails with a concurrency violation', () => {
567
574
  const { eventSequence } = createEventSequence({
568
- appendMany: vi.fn().mockResolvedValue({
569
- SequenceNumbers: [18446744073709551615n],
570
- ConstraintViolations: [],
571
- Errors: [],
572
- ConcurrencyViolations: [{ EventSourceId: 'some-event-source', ExpectedSequenceNumber: 1n, ActualSequenceNumber: 2n }]
575
+ appendManyForEventSources: vi.fn().mockResolvedValue({
576
+ Response: {
577
+ SequenceNumbers: [18446744073709551615n],
578
+ ConstraintViolations: [],
579
+ Errors: [],
580
+ ConcurrencyViolations: [{ EventSourceId: 'some-event-source', ExpectedSequenceNumber: 1n, ActualSequenceNumber: 2n }]
581
+ }
573
582
  })
574
583
  });
575
584