@cratis/chronicle 6.51.0 → 6.51.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 (59) hide show
  1. package/ChronicleClient.ts +127 -99
  2. package/ChronicleOptions.ts +23 -0
  3. package/dist/ChronicleClient.d.ts +7 -0
  4. package/dist/ChronicleClient.d.ts.map +1 -1
  5. package/dist/ChronicleClient.js +115 -95
  6. package/dist/ChronicleClient.js.map +1 -1
  7. package/dist/ChronicleOptions.d.ts +14 -0
  8. package/dist/ChronicleOptions.d.ts.map +1 -1
  9. package/dist/ChronicleOptions.js +16 -0
  10. package/dist/ChronicleOptions.js.map +1 -1
  11. package/dist/eventSequences/EventSequence.d.ts +12 -0
  12. package/dist/eventSequences/EventSequence.d.ts.map +1 -1
  13. package/dist/eventSequences/EventSequence.js +202 -175
  14. package/dist/eventSequences/EventSequence.js.map +1 -1
  15. package/dist/eventSequences/PreparedBatchAppend.d.ts +4 -0
  16. package/dist/eventSequences/PreparedBatchAppend.d.ts.map +1 -0
  17. package/dist/eventSequences/PreparedBatchAppend.js +4 -0
  18. package/dist/eventSequences/PreparedBatchAppend.js.map +1 -0
  19. package/dist/eventSequences/PreparedSingleAppend.d.ts +4 -0
  20. package/dist/eventSequences/PreparedSingleAppend.d.ts.map +1 -0
  21. package/dist/eventSequences/PreparedSingleAppend.js +4 -0
  22. package/dist/eventSequences/PreparedSingleAppend.js.map +1 -0
  23. package/dist/eventSequences/WireBatchEvent.d.ts +6 -0
  24. package/dist/eventSequences/WireBatchEvent.d.ts.map +1 -0
  25. package/dist/eventSequences/WireBatchEvent.js +4 -0
  26. package/dist/eventSequences/WireBatchEvent.js.map +1 -0
  27. package/dist/eventSequences/toContractsCausation.d.ts +16 -0
  28. package/dist/eventSequences/toContractsCausation.d.ts.map +1 -0
  29. package/dist/eventSequences/toContractsCausation.js +15 -0
  30. package/dist/eventSequences/toContractsCausation.js.map +1 -0
  31. package/dist/reducers/ReducerObservation.d.ts +18 -0
  32. package/dist/reducers/ReducerObservation.d.ts.map +1 -0
  33. package/dist/reducers/ReducerObservation.js +4 -0
  34. package/dist/reducers/ReducerObservation.js.map +1 -0
  35. package/dist/reducers/ReducerObservationSession.d.ts +11 -0
  36. package/dist/reducers/ReducerObservationSession.d.ts.map +1 -0
  37. package/dist/reducers/ReducerObservationSession.js +4 -0
  38. package/dist/reducers/ReducerObservationSession.js.map +1 -0
  39. package/dist/reducers/Reducers.d.ts +9 -0
  40. package/dist/reducers/Reducers.d.ts.map +1 -1
  41. package/dist/reducers/Reducers.js +149 -154
  42. package/dist/reducers/Reducers.js.map +1 -1
  43. package/dist/reducers/ReductionOutcome.d.ts +25 -0
  44. package/dist/reducers/ReductionOutcome.d.ts.map +1 -0
  45. package/dist/reducers/ReductionOutcome.js +66 -0
  46. package/dist/reducers/ReductionOutcome.js.map +1 -0
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/eventSequences/EventSequence.ts +265 -186
  49. package/eventSequences/PreparedBatchAppend.ts +7 -0
  50. package/eventSequences/PreparedSingleAppend.ts +7 -0
  51. package/eventSequences/WireBatchEvent.ts +7 -0
  52. package/eventSequences/toContractsCausation.ts +17 -0
  53. package/for_ChronicleClient/messageSizes.spec.ts +37 -0
  54. package/for_ChronicleOptions/when_configuring_message_sizes/with_message_sizes.spec.ts +29 -0
  55. package/package.json +1 -1
  56. package/reducers/ReducerObservation.ts +25 -0
  57. package/reducers/ReducerObservationSession.ts +15 -0
  58. package/reducers/Reducers.ts +185 -171
  59. package/reducers/ReductionOutcome.ts +75 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WireBatchEvent.d.ts","sourceRoot":"","sources":["../../eventSequences/WireBatchEvent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,uGAAuG;AACvG,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -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=WireBatchEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WireBatchEvent.js","sourceRoot":"","sources":["../../eventSequences/WireBatchEvent.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,16 @@
1
+ import type { causationManager } from '../auditing/index.js';
2
+ /**
3
+ * Converts a causation chain into the Causation shape used by Chronicle contracts.
4
+ * @param causationChain - The causation chain to convert.
5
+ * @returns The contracts causation entries.
6
+ */
7
+ export declare function toContractsCausation(causationChain: ReturnType<typeof causationManager.getCurrentChain>): {
8
+ Occurred: {
9
+ Value: string;
10
+ };
11
+ Type: string;
12
+ Properties: {
13
+ [x: string]: string;
14
+ };
15
+ }[];
16
+ //# sourceMappingURL=toContractsCausation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toContractsCausation.d.ts","sourceRoot":"","sources":["../../eventSequences/toContractsCausation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,eAAe,CAAC;;QAEpF,KAAK;;;;;;IAIxB"}
@@ -0,0 +1,15 @@
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
+ * Converts a causation chain into the Causation shape used by Chronicle contracts.
5
+ * @param causationChain - The causation chain to convert.
6
+ * @returns The contracts causation entries.
7
+ */
8
+ export function toContractsCausation(causationChain) {
9
+ return causationChain.map(c => ({
10
+ Occurred: { Value: c.occurred.toISOString() },
11
+ Type: c.type.name,
12
+ Properties: { ...c.properties }
13
+ }));
14
+ }
15
+ //# sourceMappingURL=toContractsCausation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toContractsCausation.js","sourceRoot":"","sources":["../../eventSequences/toContractsCausation.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAIrG;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,cAAmE;IACpG,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE;QAC7C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE;KAClC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Constructor } from '@cratis/fundamentals';
2
+ import { ReducerEventDispatcher } from './ReducerEventDispatcher.js';
3
+ /**
4
+ * Identifies a single reducer observation: the reducer, where it observes and how its events are dispatched.
5
+ */
6
+ export interface ReducerObservation {
7
+ /** The reducer identifier. */
8
+ readonly id: string;
9
+ /** The reducer type. */
10
+ readonly reducerType: Constructor;
11
+ /** The event sequence the reducer observes. */
12
+ readonly eventSequenceId: string;
13
+ /** The identifier of the read model the reducer produces. */
14
+ readonly readModelName: string;
15
+ /** The dispatcher routing events to the reducer's handlers. */
16
+ readonly dispatcher: ReducerEventDispatcher;
17
+ }
18
+ //# sourceMappingURL=ReducerObservation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReducerObservation.d.ts","sourceRoot":"","sources":["../../reducers/ReducerObservation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,wBAAwB;IACxB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC,+CAA+C;IAC/C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,6DAA6D;IAC7D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;CAC/C"}
@@ -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=ReducerObservation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReducerObservation.js","sourceRoot":"","sources":["../../reducers/ReducerObservation.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,11 @@
1
+ import { ReducerObservation } from './ReducerObservation.js';
2
+ /**
3
+ * A {@link ReducerObservation} that is running against an open observation stream.
4
+ */
5
+ export interface ReducerObservationSession extends ReducerObservation {
6
+ /** Aborted when the observation is stopped. */
7
+ readonly signal: AbortSignal;
8
+ /** The long-lived reducer instance, or undefined when instances are activated per delivery. */
9
+ readonly reducerInstance: Record<string, Function> | undefined;
10
+ }
11
+ //# sourceMappingURL=ReducerObservationSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReducerObservationSession.d.ts","sourceRoot":"","sources":["../../reducers/ReducerObservationSession.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACjE,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B,+FAA+F;IAC/F,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;CAClE"}
@@ -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=ReducerObservationSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReducerObservationSession.js","sourceRoot":"","sources":["../../reducers/ReducerObservationSession.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -65,6 +65,15 @@ export declare class Reducers implements IReducers {
65
65
  private scheduleReobserve;
66
66
  private getReducerReadModelIdentifier;
67
67
  private observeReducer;
68
+ private createRegistrationMessage;
69
+ private beginReduction;
70
+ private notifyReplayTransition;
71
+ private notifyActivatedReplayTransition;
72
+ private requireEventStore;
73
+ private reduceEvents;
74
+ private processEvents;
75
+ private processEvent;
76
+ private invokeHandler;
68
77
  private disconnectAll;
69
78
  }
70
79
  //# sourceMappingURL=Reducers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Reducers.d.ts","sourceRoot":"","sources":["../../reducers/Reducers.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAK1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAQ3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAM3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAGpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAuEzF;;;GAGG;AACH,qBAAa,QAAS,YAAW,SAAS;IA0BlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAjC5C,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAEjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAa;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IACzE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;;;;;;;;OAWG;IACH,YACqB,gBAAgB,EAAE,wBAAwB,EAC1C,WAAW,EAAE,mBAAmB,EAChC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EACnC,SAAS,EAAE,mBAAmB,EACb,kBAAkB,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,WAAW,YAAA,EACzB,kBAAkB,CAAC,EAAE,wBAAwB,YAAA,EAC7C,sBAAsB,CAAC,EAAE,qBAAqB,YAAA,EASlE;IAED,yEAAyE;IACzE,OAAO,IAAI,IAAI,CAKd;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAS9B;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAsB9B;YAEa,kBAAkB;IAiChC,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,gBAAgB;YAoBV,cAAc;IAgB5B;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,6BAA6B;YASvB,cAAc;IAqM5B,OAAO,CAAC,aAAa;CAMxB"}
1
+ {"version":3,"file":"Reducers.d.ts","sourceRoot":"","sources":["../../reducers/Reducers.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAK1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAQ3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAS3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAGpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAmEzF;;;GAGG;AACH,qBAAa,QAAS,YAAW,SAAS;IA0BlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAjC5C,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAEjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAa;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IACzE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;;;;;;;;OAWG;IACH,YACqB,gBAAgB,EAAE,wBAAwB,EAC1C,WAAW,EAAE,mBAAmB,EAChC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EACnC,SAAS,EAAE,mBAAmB,EACb,kBAAkB,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,WAAW,YAAA,EACzB,kBAAkB,CAAC,EAAE,wBAAwB,YAAA,EAC7C,sBAAsB,CAAC,EAAE,qBAAqB,YAAA,EASlE;IAED,yEAAyE;IACzE,OAAO,IAAI,IAAI,CAKd;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAS9B;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAsB9B;YAEa,kBAAkB;IAiChC,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,gBAAgB;YAoBV,cAAc;IAU5B;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,6BAA6B;YASvB,cAAc;IA2C5B,OAAO,CAAC,yBAAyB;IA8BjC,OAAO,CAAC,cAAc;YAWR,sBAAsB;YAiBtB,+BAA+B;IAmB7C,OAAO,CAAC,iBAAiB;YAKX,YAAY;YAgCZ,aAAa;IAmB3B,OAAO,CAAC,YAAY;YAqCN,aAAa;IAK3B,OAAO,CAAC,aAAa;CAMxB"}
@@ -3,7 +3,7 @@
3
3
  import 'reflect-metadata';
4
4
  import { createLogger } from '../logging/createLogger.js';
5
5
  import { runInBackgroundContext } from '../telemetry/runInBackgroundContext.js';
6
- import { ObservationState, ReadModelObserverType, ReplayState } from '@cratis/chronicle.contracts';
6
+ import { ReadModelObserverType, ReplayState } from '@cratis/chronicle.contracts';
7
7
  import { toClientEventContext } from '../events/toClientEventContext.js';
8
8
  import { getTagsFor } from '../events/tagDecorator.js';
9
9
  import { getFilterTagsFor } from '../events/filterEventsByTagDecorator.js';
@@ -13,6 +13,7 @@ import { EventSequenceId } from '../eventSequences/EventSequenceId.js';
13
13
  import { notifyReplayLifecycle } from '../observation/notifyReplayLifecycle.js';
14
14
  import { getReducerMetadata } from './reducer.js';
15
15
  import { ReducerEventDispatcher } from './ReducerEventDispatcher.js';
16
+ import { ReductionOutcome } from './ReductionOutcome.js';
16
17
  import { getReadModelMetadata } from '../readModels/index.js';
17
18
  import { getReadModelId } from '../readModels/readModel.js';
18
19
  import { buildReadModelDefinition } from '../readModels/buildReadModelDefinition.js';
@@ -21,11 +22,8 @@ import { JsonSchemaGenerator } from '../schemas/index.js';
21
22
  import { ArtifactKind } from '../artifacts/ArtifactKind.js';
22
23
  import { ArtifactDelivery } from '../artifacts/ArtifactDelivery.js';
23
24
  import { withActivatedArtifact, runActivated } from '../artifacts/withActivatedArtifact.js';
24
- import { ArtifactCompletionFailed } from '../artifacts/ArtifactCompletionFailed.js';
25
25
  /** Expression used to partition reducer observations by event source ID. */
26
26
  const EVENT_SOURCE_ID_KEY = '$eventSourceId';
27
- /** Sentinel sequence number sent back when no event was successfully processed. */
28
- const SEQUENCE_NUMBER_UNAVAILABLE = 4294967295n;
29
27
  /**
30
28
  * A push-based async queue that implements {@link AsyncIterable} for use with nice-grpc
31
29
  * bidirectional streaming. Values pushed via {@link send} are yielded in order to
@@ -235,17 +233,17 @@ export class Reducers {
235
233
  handlerCount: dispatcher.handlers.length,
236
234
  handlers: dispatcher.handlers.map(e => e.methodName)
237
235
  });
238
- void this.runObservation(id, reducerType, eventSequenceId, readModelName, dispatcher);
236
+ void this.runObservation({ id, reducerType, eventSequenceId, readModelName, dispatcher });
239
237
  });
240
238
  }
241
- async runObservation(id, reducerType, eventSequenceId, readModelName, dispatcher) {
239
+ async runObservation(observation) {
242
240
  try {
243
- await this.observeReducer(id, reducerType, eventSequenceId, readModelName, dispatcher);
241
+ await this.observeReducer(observation);
244
242
  }
245
243
  catch (error) {
246
- this._logger.error('Reducer observation loop exited with error', { reducerId: id, error });
244
+ this._logger.error('Reducer observation loop exited with error', { reducerId: observation.id, error });
247
245
  }
248
- this.scheduleReobserve(id, reducerType, dispatcher);
246
+ this.scheduleReobserve(observation.id, observation.reducerType, observation.dispatcher);
249
247
  }
250
248
  /**
251
249
  * Re-establishes an observation whose stream ended.
@@ -279,13 +277,51 @@ export class Reducers {
279
277
  }
280
278
  return reducerType.name;
281
279
  }
282
- async observeReducer(id, reducerType, eventSequenceId, readModelName, dispatcher) {
280
+ async observeReducer(observation) {
281
+ const { id, reducerType } = observation;
283
282
  const queue = new AsyncQueue();
284
283
  const controller = new AbortController();
285
284
  this._queues.set(id, queue);
286
285
  this._observations.set(id, controller);
287
- const isActive = getReducerMetadata(reducerType)?.isActive ?? true;
288
- queue.send({
286
+ queue.send(this.createRegistrationMessage(observation));
287
+ try {
288
+ const reducerInstance = this._artifactActivator ? undefined : new reducerType();
289
+ if (reducerInstance)
290
+ observation.dispatcher.validateInstance(reducerInstance);
291
+ const session = { ...observation, signal: controller.signal, reducerInstance };
292
+ for await (const operation of this._connection.reducers.observe(queue, { signal: controller.signal })) {
293
+ // Delivery steps are awaited here, not inside a wrapper async function, so that
294
+ // async-context updates made by handlers reach this loop as they did originally.
295
+ const outcome = this.beginReduction(session, operation);
296
+ await this.notifyReplayTransition(session, operation, outcome);
297
+ outcome.currentState = operation.InitialState
298
+ ? JSON.parse(operation.InitialState)
299
+ : undefined;
300
+ await this.reduceEvents(session, operation, outcome);
301
+ queue.send(outcome.toMessage(operation.Partition));
302
+ }
303
+ }
304
+ catch (err) {
305
+ if (!this._queues.has(id)) {
306
+ this._logger.debug('Reducer observation stream closed cleanly', { reducerId: id });
307
+ }
308
+ else {
309
+ this._logger.error('Reducer observation stream ended unexpectedly', { reducerId: id, error: err });
310
+ }
311
+ }
312
+ finally {
313
+ // Only retire our own queue: a reconnect can already have replaced it,
314
+ // and deleting the new one would leave that observation untracked and
315
+ // leak a duplicate stream on every reconnect.
316
+ if (this._queues.get(id) === queue) {
317
+ this._queues.delete(id);
318
+ this._observations.delete(id);
319
+ }
320
+ queue.complete();
321
+ }
322
+ }
323
+ createRegistrationMessage({ id, reducerType, eventSequenceId, readModelName, dispatcher }) {
324
+ return {
289
325
  Content: {
290
326
  Value0: {
291
327
  ConnectionId: this._lifecycle.connectionId,
@@ -300,7 +336,7 @@ export class Reducers {
300
336
  })),
301
337
  ReadModel: readModelName,
302
338
  Hash: '',
303
- IsActive: isActive,
339
+ IsActive: getReducerMetadata(reducerType)?.isActive ?? true,
304
340
  Tags: getTagsFor(reducerType).map(t => t.value),
305
341
  Filters: {
306
342
  FilterTags: getFilterTagsFor(reducerType).map(t => t.value),
@@ -311,156 +347,115 @@ export class Reducers {
311
347
  },
312
348
  Value1: undefined
313
349
  }
350
+ };
351
+ }
352
+ beginReduction(session, operation) {
353
+ this._logger.debug('Received reduce operation', {
354
+ reducerId: session.id,
355
+ count: operation.Events.length,
356
+ hasInitialState: operation.InitialState !== '',
357
+ replayState: operation.ReplayState
314
358
  });
359
+ return new ReductionOutcome();
360
+ }
361
+ async notifyReplayTransition(session, operation, outcome) {
315
362
  try {
316
- const reducerInstance = this._artifactActivator ? undefined : new reducerType();
317
- if (reducerInstance)
318
- dispatcher.validateInstance(reducerInstance);
319
- for await (const operation of this._connection.reducers.observe(queue, { signal: controller.signal })) {
320
- let lastSuccessfullyObservedEvent = SEQUENCE_NUMBER_UNAVAILABLE;
321
- let state = ObservationState.Success;
322
- const exceptionMessages = [];
323
- let exceptionStackTrace = '';
324
- let readModelState;
325
- this._logger.debug('Received reduce operation', {
326
- reducerId: id,
327
- count: operation.Events.length,
328
- hasInitialState: operation.InitialState !== '',
329
- replayState: operation.ReplayState
330
- });
331
- try {
332
- if (this._artifactActivator && operation.ReplayState !== ReplayState.REPLAY_STATE_None) {
333
- if (!this._eventStore)
334
- throw new Error('Reducer activation requires the owning event store.');
335
- await withActivatedArtifact(reducerType, {
336
- kind: ArtifactKind.Reducer, artifactId: id, eventStore: this._eventStore,
337
- readModels: this._eventStore.readModels, eventSequenceId, partition: operation.Partition,
338
- signal: controller.signal, delivery: ArtifactDelivery.ReplayNotification,
339
- replayState: operation.ReplayState
340
- }, this._artifactActivator, artifact => {
341
- dispatcher.validateInstance(artifact.instance);
342
- return runActivated(artifact, () => notifyReplayLifecycle(artifact.instance, operation.ReplayState, operation.Partition), { delivery: ArtifactDelivery.ReplayNotification, replayState: operation.ReplayState });
343
- }, this._connection.logger);
344
- }
345
- else if (reducerInstance) {
346
- await notifyReplayLifecycle(reducerInstance, operation.ReplayState, operation.Partition);
347
- }
348
- }
349
- catch (err) {
350
- this._logger.error('Error notifying reducer of replay lifecycle transition', { reducerId: id, error: err });
351
- if (err instanceof ArtifactCompletionFailed && err.processingError !== undefined) {
352
- exceptionMessages.push(String(err.processingError));
353
- }
354
- exceptionMessages.push(String(err));
355
- exceptionStackTrace = err instanceof Error ? (err.stack ?? '') : '';
356
- state = ObservationState.Failed;
357
- }
358
- let currentState = operation.InitialState
359
- ? JSON.parse(operation.InitialState)
360
- : undefined;
361
- const processEvents = async (artifact) => {
362
- for (const event of state === ObservationState.Failed ? [] : operation.Events) {
363
- try {
364
- const eventTypeId = event.Context?.EventType?.Id;
365
- if (!eventTypeId) {
366
- this._logger.warn('Event missing event type context', { reducerId: id });
367
- continue;
368
- }
369
- const entry = dispatcher.handlerFor(eventTypeId);
370
- if (!entry) {
371
- this._logger.debug('No handler registered for event type — skipping', { reducerId: id, eventTypeId });
372
- lastSuccessfullyObservedEvent = event.Context.SequenceNumber;
373
- continue;
374
- }
375
- const content = JSON.parse(event.Content);
376
- const context = toClientEventContext(event.Context);
377
- this._logger.info('Invoking reducer handler', {
378
- reducerId: id,
379
- method: entry.methodName,
380
- sequenceNumber: event.Context.SequenceNumber.toString(),
381
- eventTypeId,
382
- hasState: currentState !== undefined
383
- });
384
- currentState = await runActivated(artifact, () => dispatcher.invoke(artifact.instance, entry, content, currentState, context), { delivery: ArtifactDelivery.Events, eventContext: context, methodName: entry.methodName });
385
- lastSuccessfullyObservedEvent = event.Context.SequenceNumber;
386
- }
387
- catch (err) {
388
- this._logger.error('Error handling event in reducer', { reducerId: id, error: err });
389
- exceptionMessages.push(String(err));
390
- exceptionStackTrace = err instanceof Error ? (err.stack ?? '') : '';
391
- state = ObservationState.Failed;
392
- break;
393
- }
394
- }
395
- };
396
- const firstInvocableEvent = this._artifactActivator && state === ObservationState.Success
397
- ? operation.Events.find(event => !!event.Context?.EventType?.Id && !!dispatcher.handlerFor(event.Context.EventType.Id))
398
- : undefined;
399
- if (firstInvocableEvent && this._artifactActivator) {
400
- try {
401
- if (!this._eventStore)
402
- throw new Error('Reducer activation requires the owning event store.');
403
- await withActivatedArtifact(reducerType, {
404
- kind: ArtifactKind.Reducer, artifactId: id, eventStore: this._eventStore,
405
- readModels: this._eventStore.readModels, eventSequenceId, partition: operation.Partition,
406
- signal: controller.signal, delivery: ArtifactDelivery.Events,
407
- eventContext: toClientEventContext(firstInvocableEvent.Context)
408
- }, this._artifactActivator, artifact => {
409
- dispatcher.validateInstance(artifact.instance);
410
- return processEvents(artifact);
411
- }, this._connection.logger);
412
- }
413
- catch (err) {
414
- this._logger.error('Error activating reducer', { reducerId: id, error: err });
415
- exceptionMessages.push(String(err));
416
- const completionStack = err instanceof Error ? (err.stack ?? '') : '';
417
- exceptionStackTrace = err instanceof ArtifactCompletionFailed && exceptionStackTrace
418
- ? `${exceptionStackTrace}\n${completionStack}` : completionStack;
419
- state = ObservationState.Failed;
420
- if (err instanceof ArtifactCompletionFailed) {
421
- lastSuccessfullyObservedEvent = SEQUENCE_NUMBER_UNAVAILABLE;
422
- }
423
- }
424
- }
425
- else {
426
- await processEvents({ instance: reducerInstance ?? {} });
427
- }
428
- if (state === ObservationState.Success && currentState !== undefined) {
429
- readModelState = JSON.stringify(currentState);
430
- }
431
- queue.send({
432
- Content: {
433
- Value0: undefined,
434
- Value1: {
435
- Partition: operation.Partition,
436
- State: state,
437
- LastSuccessfulObservation: lastSuccessfullyObservedEvent,
438
- ExceptionMessages: exceptionMessages,
439
- ExceptionStackTrace: exceptionStackTrace,
440
- ReadModelState: readModelState ?? ''
441
- }
442
- }
443
- });
363
+ if (this._artifactActivator && operation.ReplayState !== ReplayState.REPLAY_STATE_None) {
364
+ await this.notifyActivatedReplayTransition(session, operation, this._artifactActivator);
365
+ }
366
+ else if (session.reducerInstance) {
367
+ await notifyReplayLifecycle(session.reducerInstance, operation.ReplayState, operation.Partition);
444
368
  }
445
369
  }
446
370
  catch (err) {
447
- if (!this._queues.has(id)) {
448
- this._logger.debug('Reducer observation stream closed cleanly', { reducerId: id });
371
+ this._logger.error('Error notifying reducer of replay lifecycle transition', { reducerId: session.id, error: err });
372
+ outcome.recordReplayNotificationFailure(err);
373
+ }
374
+ }
375
+ async notifyActivatedReplayTransition({ id, reducerType, eventSequenceId, dispatcher, signal }, operation, activator) {
376
+ const eventStore = this.requireEventStore();
377
+ await withActivatedArtifact(reducerType, {
378
+ kind: ArtifactKind.Reducer, artifactId: id, eventStore,
379
+ readModels: eventStore.readModels, eventSequenceId, partition: operation.Partition,
380
+ signal, delivery: ArtifactDelivery.ReplayNotification,
381
+ replayState: operation.ReplayState
382
+ }, activator, artifact => {
383
+ dispatcher.validateInstance(artifact.instance);
384
+ return runActivated(artifact, () => notifyReplayLifecycle(artifact.instance, operation.ReplayState, operation.Partition), { delivery: ArtifactDelivery.ReplayNotification, replayState: operation.ReplayState });
385
+ }, this._connection.logger);
386
+ }
387
+ requireEventStore() {
388
+ if (!this._eventStore)
389
+ throw new Error('Reducer activation requires the owning event store.');
390
+ return this._eventStore;
391
+ }
392
+ async reduceEvents(session, operation, outcome) {
393
+ const { id, reducerType, eventSequenceId, dispatcher, signal, reducerInstance } = session;
394
+ const firstInvocableEvent = this._artifactActivator && !outcome.failed
395
+ ? operation.Events.find(event => !!event.Context?.EventType?.Id && !!dispatcher.handlerFor(event.Context.EventType.Id))
396
+ : undefined;
397
+ if (!firstInvocableEvent || !this._artifactActivator) {
398
+ await this.processEvents(session, operation, outcome, { instance: reducerInstance ?? {} });
399
+ return;
400
+ }
401
+ try {
402
+ const eventStore = this.requireEventStore();
403
+ await withActivatedArtifact(reducerType, {
404
+ kind: ArtifactKind.Reducer, artifactId: id, eventStore,
405
+ readModels: eventStore.readModels, eventSequenceId, partition: operation.Partition,
406
+ signal, delivery: ArtifactDelivery.Events,
407
+ eventContext: toClientEventContext(firstInvocableEvent.Context)
408
+ }, this._artifactActivator, artifact => {
409
+ dispatcher.validateInstance(artifact.instance);
410
+ return this.processEvents(session, operation, outcome, artifact);
411
+ }, this._connection.logger);
412
+ }
413
+ catch (err) {
414
+ this._logger.error('Error activating reducer', { reducerId: id, error: err });
415
+ outcome.recordActivationFailure(err);
416
+ }
417
+ }
418
+ async processEvents(session, operation, outcome, artifact) {
419
+ for (const event of outcome.failed ? [] : operation.Events) {
420
+ try {
421
+ // Skipped events stay synchronous; only an actual handler invocation is awaited.
422
+ const pending = this.processEvent(session, event, outcome, artifact);
423
+ if (pending)
424
+ await pending;
449
425
  }
450
- else {
451
- this._logger.error('Reducer observation stream ended unexpectedly', { reducerId: id, error: err });
426
+ catch (err) {
427
+ this._logger.error('Error handling event in reducer', { reducerId: session.id, error: err });
428
+ outcome.recordFailure(err);
429
+ break;
452
430
  }
453
431
  }
454
- finally {
455
- // Only retire our own queue: a reconnect can already have replaced it,
456
- // and deleting the new one would leave that observation untracked and
457
- // leak a duplicate stream on every reconnect.
458
- if (this._queues.get(id) === queue) {
459
- this._queues.delete(id);
460
- this._observations.delete(id);
461
- }
462
- queue.complete();
432
+ }
433
+ processEvent({ id, dispatcher }, event, outcome, artifact) {
434
+ const eventTypeId = event.Context?.EventType?.Id;
435
+ if (!eventTypeId) {
436
+ this._logger.warn('Event missing event type context', { reducerId: id });
437
+ return;
438
+ }
439
+ const entry = dispatcher.handlerFor(eventTypeId);
440
+ if (!entry) {
441
+ this._logger.debug('No handler registered for event type — skipping', { reducerId: id, eventTypeId });
442
+ outcome.lastSuccessfullyObservedEvent = event.Context.SequenceNumber;
443
+ return;
463
444
  }
445
+ const content = JSON.parse(event.Content);
446
+ const context = toClientEventContext(event.Context);
447
+ this._logger.info('Invoking reducer handler', {
448
+ reducerId: id,
449
+ method: entry.methodName,
450
+ sequenceNumber: event.Context.SequenceNumber.toString(),
451
+ eventTypeId,
452
+ hasState: outcome.currentState !== undefined
453
+ });
454
+ return this.invokeHandler(() => runActivated(artifact, () => dispatcher.invoke(artifact.instance, entry, content, outcome.currentState, context), { delivery: ArtifactDelivery.Events, eventContext: context, methodName: entry.methodName }), outcome, event.Context.SequenceNumber);
455
+ }
456
+ async invokeHandler(invoke, outcome, sequenceNumber) {
457
+ outcome.currentState = await invoke();
458
+ outcome.lastSuccessfullyObservedEvent = sequenceNumber;
464
459
  }
465
460
  disconnectAll() {
466
461
  for (const controller of this._observations.values())
@@ -1 +1 @@
1
- {"version":3,"file":"Reducers.js","sourceRoot":"","sources":["../../reducers/Reducers.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAkB,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAInH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAErF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,4EAA4E;AAC5E,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAE7C,mFAAmF;AACnF,MAAM,2BAA2B,GAAG,WAAW,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU;IACK,MAAM,GAAQ,EAAE,CAAC;IAC1B,QAAQ,GAAiE,SAAS,CAAC;IACnF,KAAK,GAAG,KAAK,CAAC;IAEtB,4EAA4E;IAC5E,IAAI,CAAC,KAAQ;QACT,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,yFAAyF;IACzF,QAAQ;QACJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QAClB,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO;YACH,IAAI;gBACA,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;oBACzB,IAAI,CAAC,QAAQ,GAAG,OAAyD,CAAC;gBAC9E,CAAC,CAAC,CAAC;YACP,CAAC;YACD,MAAM;gBACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC9B,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;SACJ,CAAC;IACN,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,QAAQ;IA0BI,gBAAgB;IAChB,WAAW;IACX,eAAe;IACf,UAAU;IAEV,kBAAkB;IAClB,WAAW;IACX,kBAAkB;IAClB,sBAAsB;IAjC3C,iFAAiF;IACzE,MAAM,CAAU,iBAAiB,GAAG,IAAI,CAAC;IAEhC,OAAO,CAAkC;IACzC,UAAU,CAAsB;IAChC,wBAAwB,CAAa;IACrC,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC3C,OAAO,GAAG,IAAI,GAAG,EAAsC,CAAC;IACxD,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC5D,WAAW,GAAG,KAAK,CAAC;IACpB,SAAS,GAAG,KAAK,CAAC;IAE1B;;;;;;;;;;;OAWG;IACH,YACqB,gBAA0C,EAC1C,WAAgC,EAChC,eAAuB,EACvB,UAAkB,EACnC,SAA8B,EACb,kBAA0B,EAC1B,WAAyB,EACzB,kBAA6C,EAC7C,sBAA8C;gCAR9C,gBAAgB;2BAChB,WAAW;+BACX,eAAe;0BACf,UAAU;kCAEV,kBAAkB;2BAClB,WAAW;kCACX,kBAAkB;sCAClB,sBAAsB;QAEvC,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,4BAA4B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9E,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;YAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACtE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,yEAAyE;IACzE,OAAO;QACH,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,QAAQ;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAG,IAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9G,CAAC;QACL,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,QAAQ;QACV,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;SAC3F,CAAC,CAAC,CAAC;QACJ,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhC,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,aAAa,EAAE,CAAC;YACnD,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE;YAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;YACtE,OAAO,wBAAwB,CAAC;gBAC5B,UAAU,EAAE,aAAa;gBACzB,IAAI,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,SAAS;gBAChD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC;gBACzD,UAAU,EAAE,IAAI,CAAC,kBAAkB;gBACnC,YAAY,EAAE,qBAAqB,CAAC,OAAO;gBAC3C,kBAAkB,EAAE,EAAE;gBACtB,YAAY,EAAE,IAAI,CAAC,sBAAsB;aAC5C,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,UAAU,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9C,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,0BAA0B,CAAC,CAAC;YACzG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACxF,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC;YAC3C,UAAU,EAAE,IAAI,CAAC,eAAe;YAChC,KAAK,EAAE,CAAC;YACR,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,CAAC;SACZ,CAAC,CAAC;IACP,CAAC;IAEO,gBAAgB,CAAC,WAAwB,EAAE,aAAqB;QACpE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,SAAS,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC/D,IAAI,aAAa,EAAE,MAAM,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;YACD,6DAA6D;YAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,+DAA+D;QAC/D,MAAM,aAAa,GAAG;YAClB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,aAAa,CAAC;YACvD,oBAAoB,EAAE,IAAI;SAC7B,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAEO,gBAAgB,CAAC,EAAU,EAAE,WAAwB,EACzD,UAAkC;QAClC,sBAAsB,CAAC,GAAG,EAAE;YACxB,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO;YAC3B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAE,CAAC;YAClD,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;YACnF,MAAM,aAAa,GAAG,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;YAEtE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBAC9C,SAAS,EAAE,EAAE;gBACb,eAAe;gBACf,SAAS,EAAE,aAAa;gBACxB,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;gBACxC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;aACvD,CAAC,CAAC;YAEH,KAAK,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,cAAc,CACxB,EAAU,EACV,WAAwB,EACxB,eAAuB,EACvB,aAAqB,EACrB,UAAkC;QAElC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;OASG;IACK,iBAAiB,CAAC,EAAU,EAAE,WAAwB,EAAE,UAAkC;QAC9F,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE;YACxD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,OAAO;YACX,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5E,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QACvD,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAEhC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACrB,CAAC;IAEO,6BAA6B,CAAC,WAAwB;QAC1D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,SAAS,EAAE,CAAC;YACtB,OAAO,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QAED,OAAQ,WAAwB,CAAC,IAAI,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,cAAc,CACxB,EAAU,EACV,WAAwB,EACxB,eAAuB,EACvB,aAAqB,EACrB,UAAkC;QAElC,MAAM,KAAK,GAAG,IAAI,UAAU,EAAkB,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;QAEnE,KAAK,CAAC,IAAI,CAAC;YACP,OAAO,EAAE;gBACL,MAAM,EAAE;oBACJ,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;oBAC1C,UAAU,EAAE,IAAI,CAAC,eAAe;oBAChC,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,OAAO,EAAE;wBACL,SAAS,EAAE,EAAE;wBACb,eAAe,EAAE,eAAe;wBAChC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACvC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE;4BACrE,GAAG,EAAE,mBAAmB;yBAC3B,CAAC,CAAC;wBACH,SAAS,EAAE,aAAa;wBACxB,IAAI,EAAE,EAAE;wBACR,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;wBAC/C,OAAO,EAAE;4BACL,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;4BAC3D,eAAe,EAAE,qBAAqB,CAAC,WAAW,CAAC;4BACnD,eAAe,EAAE,qBAAqB,CAAC,WAAW,CAAC;yBACtD;qBACJ;iBACJ;gBACD,MAAM,EAAE,SAAS;aACpB;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAK,WAAkD,EAAE,CAAC;YACxH,IAAI,eAAe;gBAAE,UAAU,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YAElE,IAAI,KAAK,EAAE,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;gBACpG,IAAI,6BAA6B,GAAG,2BAA2B,CAAC;gBAChE,IAAI,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC;gBACrC,MAAM,iBAAiB,GAAa,EAAE,CAAC;gBACvC,IAAI,mBAAmB,GAAG,EAAE,CAAC;gBAC7B,IAAI,cAAkC,CAAC;gBAEvC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE;oBAC5C,SAAS,EAAE,EAAE;oBACb,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM;oBAC9B,eAAe,EAAE,SAAS,CAAC,YAAY,KAAK,EAAE;oBAC9C,WAAW,EAAE,SAAS,CAAC,WAAW;iBACrC,CAAC,CAAC;gBAEH,IAAI,CAAC;oBACD,IAAI,IAAI,CAAC,kBAAkB,IAAI,SAAS,CAAC,WAAW,KAAK,WAAW,CAAC,iBAAiB,EAAE,CAAC;wBACrF,IAAI,CAAC,IAAI,CAAC,WAAW;4BAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;wBAC9F,MAAM,qBAAqB,CAAC,WAAW,EAAE;4BACrC,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW;4BACxE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS;4BACxF,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,kBAAkB;4BACxE,WAAW,EAAE,SAAS,CAAC,WAAW;yBACrC,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,EAAE;4BACnC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;4BAC/C,OAAO,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,CAC/B,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC,EACpF,EAAE,QAAQ,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;wBAC/F,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAChC,CAAC;yBAAM,IAAI,eAAe,EAAE,CAAC;wBACzB,MAAM,qBAAqB,CAAC,eAAe,EAAE,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC7F,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,wDAAwD,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5G,IAAI,GAAG,YAAY,wBAAwB,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;wBAC/E,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;oBACxD,CAAC;oBACD,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBACpC,mBAAmB,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBACpC,CAAC;gBAED,IAAI,YAAY,GAAY,SAAS,CAAC,YAAY;oBAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAY;oBAC/C,CAAC,CAAC,SAAS,CAAC;gBAEhB,MAAM,aAAa,GAAG,KAAK,EAAE,QAAqD,EAAE,EAAE;oBAClF,KAAK,MAAM,KAAK,IAAI,KAAK,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;wBAC5E,IAAI,CAAC;4BACD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;4BACjD,IAAI,CAAC,WAAW,EAAE,CAAC;gCACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;gCACzE,SAAS;4BACb,CAAC;4BAED,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;4BACjD,IAAI,CAAC,KAAK,EAAE,CAAC;gCACT,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;gCACtG,6BAA6B,GAAG,KAAK,CAAC,OAAQ,CAAC,cAAc,CAAC;gCAC9D,SAAS;4BACb,CAAC;4BAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;4BACrE,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAQ,CAAC,CAAC;4BAErD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE;gCAC1C,SAAS,EAAE,EAAE;gCACb,MAAM,EAAE,KAAK,CAAC,UAAU;gCACxB,cAAc,EAAE,KAAK,CAAC,OAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE;gCACxD,WAAW;gCACX,QAAQ,EAAE,YAAY,KAAK,SAAS;6BACvC,CAAC,CAAC;4BAEH,YAAY,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EACzH,EAAE,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;4BAChG,6BAA6B,GAAG,KAAK,CAAC,OAAQ,CAAC,cAAc,CAAC;wBAClE,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;4BACrF,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;4BACpC,mBAAmB,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACpE,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC;4BAChC,MAAM;wBACV,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC;gBAEF,MAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,IAAI,KAAK,KAAK,gBAAgB,CAAC,OAAO;oBACrF,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAC5B,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBAC1F,CAAC,CAAC,SAAS,CAAC;gBAChB,IAAI,mBAAmB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACjD,IAAI,CAAC;wBACD,IAAI,CAAC,IAAI,CAAC,WAAW;4BAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;wBAC9F,MAAM,qBAAqB,CAAC,WAAiD,EAAE;4BAC3E,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW;4BACxE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS;4BACxF,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,MAAM;4BAC5D,YAAY,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,OAAQ,CAAC;yBACnE,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,EAAE;4BACnC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;4BAC/C,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACnC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAChC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC9E,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpC,MAAM,eAAe,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtE,mBAAmB,GAAG,GAAG,YAAY,wBAAwB,IAAI,mBAAmB;4BAChF,CAAC,CAAC,GAAG,mBAAmB,KAAK,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;wBACrE,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC;wBAChC,IAAI,GAAG,YAAY,wBAAwB,EAAE,CAAC;4BAC1C,6BAA6B,GAAG,2BAA2B,CAAC;wBAChE,CAAC;oBACL,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,MAAM,aAAa,CAAC,EAAE,QAAQ,EAAE,eAAe,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBAED,IAAI,KAAK,KAAK,gBAAgB,CAAC,OAAO,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBACnE,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAClD,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC;oBACP,OAAO,EAAE;wBACL,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE;4BACJ,SAAS,EAAE,SAAS,CAAC,SAAS;4BAC9B,KAAK,EAAE,KAAK;4BACZ,yBAAyB,EAAE,6BAA6B;4BACxD,iBAAiB,EAAE,iBAAiB;4BACpC,mBAAmB,EAAE,mBAAmB;4BACxC,cAAc,EAAE,cAAc,IAAI,EAAE;yBACvC;qBACJ;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACvG,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,uEAAuE;YACvE,sEAAsE;YACtE,8CAA8C;YAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC;YACD,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC;IACL,CAAC;IAEO,aAAa;QACjB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAAE,UAAU,CAAC,KAAK,EAAE,CAAC;QACzE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACJ"}
1
+ {"version":3,"file":"Reducers.js","sourceRoot":"","sources":["../../reducers/Reducers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { ObservationState, ReducerMessage } from '@cratis/chronicle.contracts';
2
+ /** Sentinel sequence number sent back when no event was successfully processed. */
3
+ export declare const SEQUENCE_NUMBER_UNAVAILABLE = 4294967295n;
4
+ /**
5
+ * Accumulates the result of reducing one reduce operation: the state, the failure details and the
6
+ * last event that was successfully reduced.
7
+ */
8
+ export declare class ReductionOutcome {
9
+ state: ObservationState;
10
+ lastSuccessfullyObservedEvent: bigint;
11
+ readonly exceptionMessages: string[];
12
+ exceptionStackTrace: string;
13
+ currentState: unknown;
14
+ /** Gets whether the reduction has failed. */
15
+ get failed(): boolean;
16
+ /** Records a failure of the reduction. */
17
+ recordFailure(error: unknown): void;
18
+ /** Records a failure to notify of a replay lifecycle transition. */
19
+ recordReplayNotificationFailure(error: unknown): void;
20
+ /** Records a failure to activate the reducer or to complete its activation. */
21
+ recordActivationFailure(error: unknown): void;
22
+ /** Creates the result message reported back to the kernel. */
23
+ toMessage(partition: string): ReducerMessage;
24
+ }
25
+ //# sourceMappingURL=ReductionOutcome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReductionOutcome.d.ts","sourceRoot":"","sources":["../../reducers/ReductionOutcome.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG/E,mFAAmF;AACnF,eAAO,MAAM,2BAA2B,cAAc,CAAC;AAIvD;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,KAAK,mBAA4B;IACjC,6BAA6B,SAA+B;IAC5D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAC1C,mBAAmB,SAAM;IACzB,YAAY,EAAE,OAAO,CAAC;IAEtB,6CAA6C;IAC7C,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,0CAA0C;IAC1C,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAIlC;IAED,oEAAoE;IACpE,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAKpD;IAED,+EAA+E;IAC/E,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAS5C;IAED,8DAA8D;IAC9D,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAkB3C;CACJ"}