@cratis/chronicle 6.40.0 → 6.41.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 (100) hide show
  1. package/compliance/for_PIIManager/against_a_kernel/when_erasing_a_subject.integration.spec.ts +4 -4
  2. package/compliance/resolveEventSubject.ts +19 -0
  3. package/compliance/subject.ts +2 -2
  4. package/dist/compliance/resolveEventSubject.d.ts +3 -0
  5. package/dist/compliance/resolveEventSubject.d.ts.map +1 -0
  6. package/dist/compliance/resolveEventSubject.js +21 -0
  7. package/dist/compliance/resolveEventSubject.js.map +1 -0
  8. package/dist/compliance/subject.d.ts +2 -2
  9. package/dist/compliance/subject.js +2 -2
  10. package/dist/eventSequences/AppendOptions.d.ts +1 -1
  11. package/dist/eventSequences/AppendOptions.d.ts.map +1 -1
  12. package/dist/eventSequences/EventForEventSourceId.d.ts +1 -1
  13. package/dist/eventSequences/EventForEventSourceId.d.ts.map +1 -1
  14. package/dist/eventSequences/EventSequence.js +2 -2
  15. package/dist/eventSequences/EventSequence.js.map +1 -1
  16. package/dist/eventSequences/prepareBatchAppend.d.ts.map +1 -1
  17. package/dist/eventSequences/prepareBatchAppend.js +2 -1
  18. package/dist/eventSequences/prepareBatchAppend.js.map +1 -1
  19. package/dist/eventSequences/prepareSingleAppend.d.ts +1 -0
  20. package/dist/eventSequences/prepareSingleAppend.d.ts.map +1 -1
  21. package/dist/eventSequences/prepareSingleAppend.js +3 -1
  22. package/dist/eventSequences/prepareSingleAppend.js.map +1 -1
  23. package/dist/testing/EventScenario.js +1 -1
  24. package/dist/testing/EventScenario.js.map +1 -1
  25. package/dist/testing/EventScenarioGiven.d.ts +3 -1
  26. package/dist/testing/EventScenarioGiven.d.ts.map +1 -1
  27. package/dist/testing/EventScenarioGiven.js +4 -2
  28. package/dist/testing/EventScenarioGiven.js.map +1 -1
  29. package/dist/testing/EventScenarioGivenBuilder.d.ts +2 -1
  30. package/dist/testing/EventScenarioGivenBuilder.d.ts.map +1 -1
  31. package/dist/testing/EventScenarioGivenBuilder.js +1 -1
  32. package/dist/testing/EventScenarioGivenBuilder.js.map +1 -1
  33. package/dist/testing/EventScenarioSeed.d.ts +3 -2
  34. package/dist/testing/EventScenarioSeed.d.ts.map +1 -1
  35. package/dist/testing/EventScenarioSeed.js +2 -2
  36. package/dist/testing/EventScenarioSeed.js.map +1 -1
  37. package/dist/testing/EventScenarioWhen.d.ts +3 -1
  38. package/dist/testing/EventScenarioWhen.d.ts.map +1 -1
  39. package/dist/testing/EventScenarioWhen.js +5 -3
  40. package/dist/testing/EventScenarioWhen.js.map +1 -1
  41. package/dist/testing/EventScenarioWhenBuilder.d.ts +2 -1
  42. package/dist/testing/EventScenarioWhenBuilder.d.ts.map +1 -1
  43. package/dist/testing/EventScenarioWhenBuilder.js +1 -1
  44. package/dist/testing/EventScenarioWhenBuilder.js.map +1 -1
  45. package/dist/testing/InProcessEventSequence.d.ts +1 -2
  46. package/dist/testing/InProcessEventSequence.d.ts.map +1 -1
  47. package/dist/testing/InProcessEventSequence.js +19 -27
  48. package/dist/testing/InProcessEventSequence.js.map +1 -1
  49. package/dist/testing/ReactorScenario.d.ts +3 -2
  50. package/dist/testing/ReactorScenario.d.ts.map +1 -1
  51. package/dist/testing/ReactorScenario.js +5 -5
  52. package/dist/testing/ReactorScenario.js.map +1 -1
  53. package/dist/testing/ReadModelScenario.d.ts +2 -1
  54. package/dist/testing/ReadModelScenario.d.ts.map +1 -1
  55. package/dist/testing/ReadModelScenario.js +10 -1
  56. package/dist/testing/ReadModelScenario.js.map +1 -1
  57. package/dist/testing/ReadModelScenarioGiven.d.ts +3 -1
  58. package/dist/testing/ReadModelScenarioGiven.d.ts.map +1 -1
  59. package/dist/testing/ReadModelScenarioGiven.js +4 -2
  60. package/dist/testing/ReadModelScenarioGiven.js.map +1 -1
  61. package/dist/testing/ReadModelScenarioGivenBuilder.d.ts +2 -1
  62. package/dist/testing/ReadModelScenarioGivenBuilder.d.ts.map +1 -1
  63. package/dist/testing/ReadModelScenarioGivenBuilder.js +2 -2
  64. package/dist/testing/ReadModelScenarioGivenBuilder.js.map +1 -1
  65. package/dist/testing/singleAppendRoute.d.ts +9 -0
  66. package/dist/testing/singleAppendRoute.d.ts.map +1 -0
  67. package/dist/testing/singleAppendRoute.js +28 -0
  68. package/dist/testing/singleAppendRoute.js.map +1 -0
  69. package/dist/tsconfig.tsbuildinfo +1 -1
  70. package/eventSequences/AppendOptions.ts +1 -1
  71. package/eventSequences/EventForEventSourceId.ts +1 -1
  72. package/eventSequences/EventSequence.ts +2 -2
  73. package/eventSequences/for_EventSequence/when_appending/subject_behaviors.fixture.ts +239 -0
  74. package/eventSequences/for_EventSequence/when_appending/with_subject_annotations.spec.ts +34 -0
  75. package/eventSequences/for_EventSequence/when_appending/with_subject_annotations.standard.spec.ts +38 -0
  76. package/eventSequences/prepareBatchAppend.ts +2 -1
  77. package/eventSequences/prepareSingleAppend.ts +3 -1
  78. package/package.json +2 -2
  79. package/testing/EventScenario.batches.spec.ts +2 -2
  80. package/testing/EventScenario.fixtures.spec.ts +2 -2
  81. package/testing/EventScenario.rejections.spec.ts +2 -2
  82. package/testing/EventScenario.ts +1 -1
  83. package/testing/EventScenarioGiven.ts +3 -2
  84. package/testing/EventScenarioGivenBuilder.ts +2 -1
  85. package/testing/EventScenarioSeed.ts +5 -4
  86. package/testing/EventScenarioWhen.ts +4 -3
  87. package/testing/EventScenarioWhenBuilder.ts +2 -1
  88. package/testing/InProcessEventSequence.ts +20 -28
  89. package/testing/ReactorScenario.ts +7 -7
  90. package/testing/ReadModelScenario.spec.ts +31 -0
  91. package/testing/ReadModelScenario.ts +12 -1
  92. package/testing/ReadModelScenarioGiven.ts +4 -2
  93. package/testing/ReadModelScenarioGivenBuilder.ts +3 -2
  94. package/testing/for_EventScenario/given/routed_scenario.fixture.ts +39 -0
  95. package/testing/for_EventScenario/when_appending_scoped_constraints/with_unproven_operations.spec.ts +1 -1
  96. package/testing/for_EventScenario/when_using_routed_builders/with_routing_options.spec.ts +116 -0
  97. package/testing/for_ReactorScenario/when_using_routed_builders/with_routing_options.spec.ts +88 -0
  98. package/testing/for_ReadModelScenario/when_seeding_with_options/with_route_validation.spec.ts +52 -0
  99. package/testing/singleAppendRoute.spec.ts +19 -0
  100. package/testing/singleAppendRoute.ts +33 -0
@@ -1,9 +1,10 @@
1
+ import type { AppendOptions } from '../eventSequences/AppendOptions.js';
1
2
  import type { EventScenario } from './EventScenario.js';
2
3
  import { EventScenarioWhen } from './EventScenarioWhen.js';
3
4
  /** Selects the source for an act-phase append. */
4
5
  export declare class EventScenarioWhenBuilder {
5
6
  private readonly _scenario;
6
7
  constructor(_scenario: EventScenario);
7
- forEventSource(id: string): EventScenarioWhen;
8
+ forEventSource(id: string, options?: AppendOptions): EventScenarioWhen;
8
9
  }
9
10
  //# sourceMappingURL=EventScenarioWhenBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventScenarioWhenBuilder.d.ts","sourceRoot":"","sources":["../../testing/EventScenarioWhenBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,kDAAkD;AAClD,qBAAa,wBAAwB;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAtC,YAA6B,SAAS,EAAE,aAAa,EAAI;IACzD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,CAAsD;CACtG"}
1
+ {"version":3,"file":"EventScenarioWhenBuilder.d.ts","sourceRoot":"","sources":["../../testing/EventScenarioWhenBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,kDAAkD;AAClD,qBAAa,wBAAwB;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAtC,YAA6B,SAAS,EAAE,aAAa,EAAI;IACzD,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,iBAAiB,CAA+D;CACxI"}
@@ -7,6 +7,6 @@ export class EventScenarioWhenBuilder {
7
7
  constructor(_scenario) {
8
8
  this._scenario = _scenario;
9
9
  }
10
- forEventSource(id) { return new EventScenarioWhen(this._scenario, id); }
10
+ forEventSource(id, options) { return new EventScenarioWhen(this._scenario, id, options); }
11
11
  }
12
12
  //# sourceMappingURL=EventScenarioWhenBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventScenarioWhenBuilder.js","sourceRoot":"","sources":["../../testing/EventScenarioWhenBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAGrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,kDAAkD;AAClD,MAAM,OAAO,wBAAwB;IACJ,SAAS;IAAtC,YAA6B,SAAwB;yBAAxB,SAAS;IAAkB,CAAC;IACzD,cAAc,CAAC,EAAU,IAAuB,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;CACtG"}
1
+ {"version":3,"file":"EventScenarioWhenBuilder.js","sourceRoot":"","sources":["../../testing/EventScenarioWhenBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAIrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,kDAAkD;AAClD,MAAM,OAAO,wBAAwB;IACJ,SAAS;IAAtC,YAA6B,SAAwB;yBAAxB,SAAS;IAAkB,CAAC;IACzD,cAAc,CAAC,EAAU,EAAE,OAAuB,IAAuB,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACxI"}
@@ -41,7 +41,7 @@ export declare class InProcessEventSequence implements IEventSequence {
41
41
  get results(): readonly AppendResult[];
42
42
  get appendedEvents(): readonly AppendedEvent[];
43
43
  /** Validate and stage all setup appends, then commit and notify in single-append order. */
44
- seed(source: string, events: object[]): Promise<void>;
44
+ seed(source: string, events: object[], options?: AppendOptions): Promise<void>;
45
45
  get transactional(): ITransactionalEventSequence;
46
46
  append(eventSourceId: string, event: object, options?: AppendOptions): Promise<AppendResult>;
47
47
  appendMany(eventSourceId: string, events: object[], options?: AppendOptions): Promise<AppendResult[]>;
@@ -57,7 +57,6 @@ export declare class InProcessEventSequence implements IEventSequence {
57
57
  completeStream(): Promise<CompleteStreamResult>;
58
58
  private filterIds;
59
59
  private validateRouteFilters;
60
- private singleAppendRoute;
61
60
  private validateBatchOptions;
62
61
  private validateGuid;
63
62
  private checkedDate;
@@ -1 +1 @@
1
- {"version":3,"file":"InProcessEventSequence.d.ts","sourceRoot":"","sources":["../../testing/InProcessEventSequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InProcessEventSequence.d.ts","sourceRoot":"","sources":["../../testing/InProcessEventSequence.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import { EventType } from '../events/EventType.js';
14
14
  import { EventTypeId } from '../events/EventTypeId.js';
15
15
  import { EventTypeGeneration } from '../events/EventTypeGeneration.js';
16
16
  import { Identity } from '../identity/Identity.js';
17
+ import { singleAppendRoute } from './singleAppendRoute.js';
17
18
  import { EventSequenceId } from '../eventSequences/EventSequenceId.js';
18
19
  import { EventSequenceNumber } from '../eventSequences/EventSequenceNumber.js';
19
20
  import { prepareSingleAppend } from '../eventSequences/prepareSingleAppend.js';
@@ -23,6 +24,10 @@ import { matchesEventField, supportsEventField } from './EventFieldSchema.js';
23
24
  import { UnsupportedEventSequenceOperation } from './UnsupportedEventSequenceOperation.js';
24
25
  // JS trim() omits U+0085, which the kernel trims. Reject unproven non-ASCII whitespace and controls.
25
26
  const unprovenFilterCharacters = /[\u007f-\u009f]|(?=[^\x00-\x7f])\p{White_Space}/u;
27
+ function resolveStoredSubject(subject, eventSourceId) {
28
+ // Match the kernel's string.IsNullOrWhiteSpace, including U+0085 but not U+FEFF.
29
+ return subject && !/^\p{White_Space}*$/u.test(subject) ? subject : eventSourceId;
30
+ }
26
31
  function matchesConstrainedValue(value, content) {
27
32
  // Use production serialization for concepts, not their wrapper object's runtime type.
28
33
  // Keep rejecting other unproven conversions, such as a Date assigned to a string field.
@@ -114,7 +119,7 @@ export class InProcessEventSequence {
114
119
  get results() { return Object.freeze([...this._results]); }
115
120
  get appendedEvents() { return Object.freeze(this._history.map(event => this.snapshot(event))); }
116
121
  /** Validate and stage all setup appends, then commit and notify in single-append order. */
117
- async seed(source, events) {
122
+ async seed(source, events, options) {
118
123
  if (this._setup || this._busy)
119
124
  throw this.unsupported('given.events', this.id.value, 'Overlapping setup calls are not fixture-backed.');
120
125
  this._setup = true;
@@ -125,7 +130,7 @@ export class InProcessEventSequence {
125
130
  this._allowSeedAppend = true;
126
131
  let pending;
127
132
  try {
128
- pending = this.append(source, event);
133
+ pending = this.append(source, event, options);
129
134
  }
130
135
  finally {
131
136
  this._allowSeedAppend = false;
@@ -158,14 +163,14 @@ export class InProcessEventSequence {
158
163
  throw this.unsupported('append.event', this.id.value, 'Only registered event instances are supported.');
159
164
  if (!/^[A-Za-z0-9_-]+$/.test(eventSourceId))
160
165
  throw this.unsupported('append.source', eventSourceId, 'Only simple source identifiers are fixture-backed.');
161
- const route = this.singleAppendRoute(options, event.constructor.name);
166
+ const route = singleAppendRoute(options, event.constructor.name, (operation, artifact, reason) => this.unsupported(operation, artifact, reason), true);
162
167
  const metadata = this._catalog.get(event.constructor);
163
168
  if (!metadata)
164
169
  throw this.unsupported('append.event', event.constructor.name, 'Event is not in the selected, validated catalog.');
165
170
  let prepared;
166
171
  let content;
167
172
  try {
168
- prepared = prepareSingleAppend(event, this._correlationId ? { correlationId: this._correlationId() } : undefined);
173
+ prepared = prepareSingleAppend(event, { subject: options?.subject, correlationId: this._correlationId?.() });
169
174
  content = this.checkedContent(event, prepared.content, 'append.content', 'Content differs from the event schema; null, missing and extra values are not proven.');
170
175
  }
171
176
  catch (error) {
@@ -201,7 +206,7 @@ export class InProcessEventSequence {
201
206
  eventStore: this._store, namespace: this._namespace,
202
207
  sequenceNumber: sequenceNumber.value, eventSourceId,
203
208
  eventSourceType: route.sourceType, eventStreamType: route.streamType, eventStreamId: route.streamId,
204
- subject: eventSourceId, hash, causedBy: prepared.identity, observationState: EventObservationState.Initial,
209
+ subject: resolveStoredSubject(prepared.subject, eventSourceId), hash, causedBy: prepared.identity, observationState: EventObservationState.Initial,
205
210
  eventType: prepared.eventType, occurred, correlationId: prepared.correlationId.toString(),
206
211
  causation: prepared.causationChain.map(item => ({ type: item.type.name, occurred: item.occurred, properties: { ...item.properties } })),
207
212
  tags: prepared.tags.map(tag => new Tag(tag))
@@ -255,6 +260,9 @@ export class InProcessEventSequence {
255
260
  const individual = entry;
256
261
  if (individual.occurred !== undefined)
257
262
  this.checkedDate(individual.occurred, 'appendMany.occurred');
263
+ if (individual.subject !== undefined && individual.subject !== null && typeof individual.subject !== 'string') {
264
+ throw this.unsupported('appendMany.subject', this.id.value, 'Subject must be a string.');
265
+ }
258
266
  const tags = individual.tags;
259
267
  if (tags && (!Array.isArray(tags) || tags.some(tag => typeof tag !== 'string'))) {
260
268
  throw this.unsupported('appendMany.tags', this.id.value, 'Only plain string tags are fixture-backed.');
@@ -292,8 +300,8 @@ export class InProcessEventSequence {
292
300
  this.validateSource(eventSourceId, 'appendMany.source');
293
301
  const wire = eventsToAppend[index];
294
302
  for (const [name, value] of Object.entries({ sourceType: wire.EventSourceType, streamType: wire.EventStreamType,
295
- streamId: wire.EventStreamId, subject: wire.Subject })) {
296
- const identifiers = name === 'subject' ? /^[A-Za-z0-9_-]+$/ : /^[A-Za-z0-9_-]*$/;
303
+ streamId: wire.EventStreamId })) {
304
+ const identifiers = /^[A-Za-z0-9_-]*$/;
297
305
  if (value !== undefined && (typeof value !== 'string' || !identifiers.test(value))) {
298
306
  throw this.unsupported(`appendMany.${name}`, String(value), 'Only simple metadata identifiers are fixture-backed.');
299
307
  }
@@ -311,7 +319,7 @@ export class InProcessEventSequence {
311
319
  const stored = { eventType, content, context: {
312
320
  eventStore: this._store, namespace: this._namespace, sequenceNumber: sequenceNumber.value, eventSourceId,
313
321
  eventSourceType: wire.EventSourceType || 'Default', eventStreamType: wire.EventStreamType || 'All',
314
- eventStreamId: wire.EventStreamId || 'Default', subject: wire.Subject, hash, causedBy: identity,
322
+ eventStreamId: wire.EventStreamId || 'Default', subject: resolveStoredSubject(wire.Subject, eventSourceId), hash, causedBy: identity,
315
323
  observationState: EventObservationState.Initial, eventType, occurred, correlationId: correlationId.toString(),
316
324
  causation: batchCausationChain.map(item => ({ type: item.type.name, occurred: item.occurred, properties: { ...item.properties } })),
317
325
  tags: wire.Tags.map(tag => new Tag(tag))
@@ -396,25 +404,6 @@ export class InProcessEventSequence {
396
404
  }
397
405
  }
398
406
  }
399
- singleAppendRoute(options, artifact) {
400
- if (options !== undefined && (!options || typeof options !== 'object' || Array.isArray(options))) {
401
- throw this.unsupported('append.options', artifact, 'Append options must be an object.');
402
- }
403
- if (options && (Reflect.ownKeys(options).some(key => !['sourceType', 'streamType', 'streamId'].includes(String(key))) ||
404
- options.correlationId !== undefined || options.subject !== undefined || options.occurred !== undefined ||
405
- options.eventSourceId !== undefined || options.concurrencyScope !== undefined || options.tags !== undefined ||
406
- options.concurrencyScopes !== undefined)) {
407
- throw this.unsupported('append.options', artifact, 'Only sourceType, streamType and streamId routing options are fixture-backed for single append.');
408
- }
409
- const route = { sourceType: options?.sourceType, streamType: options?.streamType, streamId: options?.streamId };
410
- for (const [name, value] of Object.entries(route)) {
411
- if (value !== undefined && (typeof value !== 'string' || !/^[A-Za-z0-9_-]*$/.test(value))) {
412
- throw this.unsupported(`append.${name}`, String(value), 'Only simple routing identifiers or empty defaults are fixture-backed.');
413
- }
414
- }
415
- // ts-proto omits empty strings; the append pipeline resolves omissions to these exact values.
416
- return { sourceType: route.sourceType || 'Default', streamType: route.streamType || 'All', streamId: route.streamId || 'Default' };
417
- }
418
407
  validateBatchOptions(options) {
419
408
  if (options === undefined)
420
409
  return;
@@ -426,6 +415,9 @@ export class InProcessEventSequence {
426
415
  options.concurrencyScope !== undefined || options.concurrencyScopes !== undefined || options.eventSourceId !== undefined) {
427
416
  throw this.unsupported('appendMany.options', this.id.value, 'Concurrency and unrecognized metadata are not fixture-backed.');
428
417
  }
418
+ if (options.subject !== undefined && options.subject !== null && typeof options.subject !== 'string') {
419
+ throw this.unsupported('appendMany.subject', this.id.value, 'Subject must be a string.');
420
+ }
429
421
  if (options.tags && (!Array.isArray(options.tags) || options.tags.some(tag => typeof tag !== 'string'))) {
430
422
  throw this.unsupported('appendMany.tags', this.id.value, 'Only plain string tags are fixture-backed.');
431
423
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InProcessEventSequence.js","sourceRoot":"","sources":["../../testing/InProcessEventSequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InProcessEventSequence.js","sourceRoot":"","sources":["../../testing/InProcessEventSequence.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Constructor } from '@cratis/fundamentals';
2
2
  import type { AppendedEvent } from '../events/AppendedEvent.js';
3
+ import type { AppendOptions } from '../eventSequences/AppendOptions.js';
3
4
  import type { ReactorDeliveryResult } from './ReactorDeliveryResult.js';
4
5
  import type { ReactorScenarioOptions } from './ReactorScenarioOptions.js';
5
6
  import type { RecordedReactorSideEffect } from './RecordedReactorSideEffect.js';
@@ -8,12 +9,12 @@ export declare class ReactorScenario {
8
9
  private readonly _reactor;
9
10
  private readonly _options;
10
11
  readonly given: {
11
- forEventSource(id: string): {
12
+ forEventSource(id: string, options?: AppendOptions): {
12
13
  events(...events: object[]): Promise<void>;
13
14
  };
14
15
  };
15
16
  readonly when: {
16
- forEventSource(id: string): {
17
+ forEventSource(id: string, options?: AppendOptions): {
17
18
  events(...events: object[]): Promise<void>;
18
19
  };
19
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ReactorScenario.d.ts","sourceRoot":"","sources":["../../testing/ReactorScenario.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAiBhE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAKhF,6FAA6F;AAC7F,qBAAa,eAAe;IAmBZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAe,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAlB7E,QAAQ,CAAC,KAAK,EAAE;QAAE,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG;YAAE,MAAM,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAC/F,QAAQ,CAAC,IAAI,EAAE;QAAE,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG;YAAE,MAAM,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IAC9F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,SAAS,CAAC,CAAwB;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkD;IACnF,OAAO,CAAC,cAAc,CAAK;IAE3B,YAA6B,QAAQ,EAAE,WAAW,EAAmB,QAAQ,GAAE,sBAA2B,EAkCzG;IAED,OAAO,CAAC,aAAa;IAqDrB,IAAI,QAAQ,IAAI,SAAS,OAAO,EAAE,CAAqE;IACvG,IAAI,WAAW,IAAI,SAAS,yBAAyB,EAAE,CAA8C;IACrG,IAAI,OAAO,IAAI,SAAS,qBAAqB,EAAE,CAA8C;IAC7F,4GAA4G;IAC5G,IAAI,cAAc,IAAI,SAAS,aAAa,EAAE,CAAwC;IACtF,uEAAuE;IACvE,IAAI,IAAI,IAAI;QAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,yBAAyB,EAAE,CAAC;QAC5G,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAA;KAAE,CAEvD;IACD,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,SAAS,GAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAoB,GAAG,IAAI,CAI5G;IACD,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAI1C;IAED,0FAA0F;IACpF,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAE7B;IACK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,CAEhC;YAEa,OAAO;IAyBrB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,eAAe;YAIT,OAAO;YA0DP,MAAM;CAgBvB"}
1
+ {"version":3,"file":"ReactorScenario.d.ts","sourceRoot":"","sources":["../../testing/ReactorScenario.ts"],"names":[],"mappings":"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"}
@@ -74,8 +74,8 @@ export class ReactorScenario {
74
74
  if (this._instance)
75
75
  this._validateInstance(this._instance);
76
76
  this._store = _options.servicesEventStore ?? this.scenarioStore();
77
- this.given = { forEventSource: id => ({ events: (...events) => this.deliver(id, events, true) }) };
78
- this.when = { forEventSource: id => ({ events: (...events) => this.deliver(id, events, false) }) };
77
+ this.given = { forEventSource: (id, options) => ({ events: (...events) => this.deliver(id, events, true, options) }) };
78
+ this.when = { forEventSource: (id, options) => ({ events: (...events) => this.deliver(id, events, false, options) }) };
79
79
  }
80
80
  scenarioStore() {
81
81
  const unsupported = (operation) => {
@@ -164,7 +164,7 @@ export class ReactorScenario {
164
164
  async redeliver() {
165
165
  throw new UnsupportedReactorOperation('redeliver', this._reactor.name, 'Retry and checkpoint semantics are not supported.');
166
166
  }
167
- async deliver(sourceId, input, setup) {
167
+ async deliver(sourceId, input, setup, options) {
168
168
  if (this._failed)
169
169
  throw new UnsupportedReactorOperation('delivery.afterFailure', this._reactor.name, 'A previous delivery failed; failed-partition retries are not supported.');
170
170
  if (this._busy)
@@ -176,10 +176,10 @@ export class ReactorScenario {
176
176
  }
177
177
  const before = this._events.appendedEvents.length;
178
178
  if (setup) {
179
- await this._events.given.forEventSource(sourceId).events(...input);
179
+ await this._events.given.forEventSource(sourceId, options).events(...input);
180
180
  }
181
181
  else {
182
- const results = await this._events.when.forEventSource(sourceId).events(...input);
182
+ const results = await this._events.when.forEventSource(sourceId, options).events(...input);
183
183
  const failures = results.filter(result => !result.isSuccess);
184
184
  if (failures.length)
185
185
  throw new Error(`ReactorScenario action append failed: ${JSON.stringify(failures, (_, value) => typeof value === 'bigint' ? value.toString() : value)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"ReactorScenario.js","sourceRoot":"","sources":["../../testing/ReactorScenario.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactorScenario.js","sourceRoot":"","sources":["../../testing/ReactorScenario.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { Constructor } from '@cratis/fundamentals';
3
3
  import type { IClientArtifactsProvider } from '../artifacts/IClientArtifactsProvider.js';
4
4
  import { ReadModelScenarioGivenBuilder } from './ReadModelScenarioGivenBuilder.js';
5
5
  import type { EventScenario } from './EventScenario.js';
6
+ import type { AppendOptions } from '../eventSequences/AppendOptions.js';
6
7
  import type { ReactorScenario } from './ReactorScenario.js';
7
8
  type ScenarioArtifacts = Pick<IClientArtifactsProvider, 'reducers' | 'eventTypes' | 'projections'> & Partial<Pick<IClientArtifactsProvider, 'readModels' | 'globalForHandlers'>>;
8
9
  /**
@@ -32,7 +33,7 @@ export declare class ReadModelScenario<TReadModel extends object> {
32
33
  */
33
34
  observe(source: EventScenario | ReactorScenario): this;
34
35
  /** Collects events for a source; subsequent reads replay the complete seeded history. */
35
- collectEventsFor(id: string, events: readonly object[]): void;
36
+ collectEventsFor(id: string, events: readonly object[], options?: AppendOptions): void;
36
37
  private process;
37
38
  private replay;
38
39
  private observedEvents;
@@ -1 +1 @@
1
- {"version":3,"file":"ReadModelScenario.d.ts","sourceRoot":"","sources":["../../testing/ReadModelScenario.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAazF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAKnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D,KAAK,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,EAAE,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC,GAC9F,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC;AAEhF;;;;GAIG;AACH,qBAAa,iBAAiB,CAAC,UAAU,SAAS,MAAM;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAA+D;IAC/E,OAAO,CAAC,SAAS,CAA8C;IAE/D,qFAAqF;IACrF,YAAY,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,EAAE,iBAAiB,EAwChF;IAED,4CAA4C;IAC5C,IAAI,KAAK,IAAI,6BAA6B,CAAC,UAAU,CAAC,CAErD;IAED,yEAAyE;IACzE,IAAI,QAAQ,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAQzC;IAED,4FAA4F;IACtF,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAErE;IAED,yEAAyE;IACnE,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE7D;IAED;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,GAAG,IAAI,CAKrD;IAED,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CA2B5D;IAED,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,YAAY;CAIvB"}
1
+ {"version":3,"file":"ReadModelScenario.d.ts","sourceRoot":"","sources":["../../testing/ReadModelScenario.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAczF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAKnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D,KAAK,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,EAAE,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC,GAC9F,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC;AAEhF;;;;GAIG;AACH,qBAAa,iBAAiB,CAAC,UAAU,SAAS,MAAM;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAA+D;IAC/E,OAAO,CAAC,SAAS,CAA8C;IAE/D,qFAAqF;IACrF,YAAY,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,EAAE,iBAAiB,EAwChF;IAED,4CAA4C;IAC5C,IAAI,KAAK,IAAI,6BAA6B,CAAC,UAAU,CAAC,CAErD;IAED,yEAAyE;IACzE,IAAI,QAAQ,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAQzC;IAED,4FAA4F;IACtF,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAErE;IAED,yEAAyE;IACnE,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE7D;IAED;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,GAAG,IAAI,CAKrD;IAED,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAmCrF;IAED,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,YAAY;CAIvB"}
@@ -4,6 +4,7 @@ import 'reflect-metadata';
4
4
  import { JsonSerializer } from '@cratis/fundamentals';
5
5
  import { DefaultClientArtifactsProvider } from '../artifacts/DefaultClientArtifactsProvider.js';
6
6
  import { getEventTypeMetadata } from '../events/eventTypeDecorator.js';
7
+ import { resolveEventSubject } from '../compliance/resolveEventSubject.js';
7
8
  import { getFromEventMetadata } from '../projections/modelBound/fromEvent.js';
8
9
  import { getRemovedWithClassMetadata } from '../projections/modelBound/removedWith.js';
9
10
  import { getRemovedWithJoinClassMetadata } from '../projections/modelBound/removedWithJoin.js';
@@ -17,6 +18,7 @@ import { getReducerMetadata } from '../reducers/reducer.js';
17
18
  import { hasModelBoundProperties, TypeDiscoverer } from '../types/TypeDiscoverer.js';
18
19
  import { ReadModelScenarioGivenBuilder } from './ReadModelScenarioGivenBuilder.js';
19
20
  import { ReducerReadModelProcessor } from './ReducerReadModelProcessor.js';
21
+ import { singleAppendRoute } from './singleAppendRoute.js';
20
22
  import { ProjectionReadModelProcessor } from './projections/ProjectionReadModelProcessor.js';
21
23
  import { UnsupportedProjectionOperation } from './projections/UnsupportedProjectionOperation.js';
22
24
  /**
@@ -106,20 +108,27 @@ export class ReadModelScenario {
106
108
  return this;
107
109
  }
108
110
  /** Collects events for a source; subsequent reads replay the complete seeded history. */
109
- collectEventsFor(id, events) {
111
+ collectEventsFor(id, events, options) {
110
112
  if (this._observed)
111
113
  throw this.mixedHistory();
114
+ const route = singleAppendRoute(options, events[0]?.constructor.name ?? this._modelName);
115
+ if (route.sourceType !== 'Default' || route.streamType !== 'All' || route.streamId !== 'Default') {
116
+ throw new UnsupportedProjectionOperation(this._modelName, 'given.events', `${route.sourceType}/${route.streamType}/${route.streamId}`, 'seeded events must use the default event source type and stream; routed events require a kernel-backed test');
117
+ }
112
118
  for (const event of events) {
113
119
  const metadata = getEventTypeMetadata(event.constructor);
114
120
  if (!metadata)
115
121
  throw new Error(`Event '${event.constructor.name}' has no @eventType metadata.`);
116
122
  // The kernel delivers JSON objects, not instances of decorated event classes.
117
123
  const content = JSON.parse(JsonSerializer.serialize(event));
124
+ const subject = resolveEventSubject(event);
118
125
  this._events.push({
119
126
  sourceId: id,
120
127
  content,
121
128
  context: {
122
129
  eventSourceId: id,
130
+ // Match the kernel's string.IsNullOrWhiteSpace, including U+0085 but not U+FEFF.
131
+ subject: subject && !/^\p{White_Space}*$/u.test(subject) ? subject : id,
123
132
  eventSourceType: 'Default',
124
133
  eventStreamType: 'All',
125
134
  eventStreamId: 'Default',
@@ -1 +1 @@
1
- {"version":3,"file":"ReadModelScenario.js","sourceRoot":"","sources":["../../testing/ReadModelScenario.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReadModelScenario.js","sourceRoot":"","sources":["../../testing/ReadModelScenario.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
+ import type { AppendOptions } from '../eventSequences/AppendOptions.js';
1
2
  import type { ReadModelScenario } from './ReadModelScenario.js';
2
3
  /** Seeds events belonging to one event source, in the order provided. */
3
4
  export declare class ReadModelScenarioGiven<TReadModel extends object> {
4
5
  private readonly _scenario;
5
6
  private readonly _eventSourceId;
7
+ private readonly _options?;
6
8
  /** Creates a builder for the selected event source. */
7
- constructor(_scenario: ReadModelScenario<TReadModel>, _eventSourceId: string);
9
+ constructor(_scenario: ReadModelScenario<TReadModel>, _eventSourceId: string, _options?: AppendOptions | undefined);
8
10
  /** Adds events to the scenario without connecting to a Chronicle kernel. */
9
11
  events(...events: object[]): ReadModelScenario<TReadModel>;
10
12
  }