@nestjs-transactional/outbox 1.0.0-alpha.5 → 1.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 (73) hide show
  1. package/README.md +152 -332
  2. package/dist/api/failed-event-publications.js.map +1 -1
  3. package/dist/api/incomplete-event-publications.js +1 -2
  4. package/dist/api/incomplete-event-publications.js.map +1 -1
  5. package/dist/decorators/outbox-events-handler.decorator.d.ts +1 -1
  6. package/dist/decorators/outbox-events-handler.decorator.js.map +1 -1
  7. package/dist/dispatcher/data-source-outbox-publisher.d.ts +2 -3
  8. package/dist/dispatcher/data-source-outbox-publisher.js +2 -3
  9. package/dist/dispatcher/data-source-outbox-publisher.js.map +1 -1
  10. package/dist/dispatcher/event-publication-processor.d.ts +19 -2
  11. package/dist/dispatcher/event-publication-processor.js +40 -3
  12. package/dist/dispatcher/event-publication-processor.js.map +1 -1
  13. package/dist/dispatcher/outbox-event-publisher.d.ts +1 -1
  14. package/dist/dispatcher/outbox-event-publisher.js +2 -2
  15. package/dist/dispatcher/outbox-event-publisher.js.map +1 -1
  16. package/dist/dispatcher/processor-options.d.ts +13 -1
  17. package/dist/dispatcher/processor-options.js +4 -1
  18. package/dist/dispatcher/processor-options.js.map +1 -1
  19. package/dist/externalization/event-externalizer.d.ts +2 -2
  20. package/dist/externalization/externalization-registry.js.map +1 -1
  21. package/dist/externalization/externalized.decorator.d.ts +3 -4
  22. package/dist/externalization/externalized.decorator.js +2 -3
  23. package/dist/externalization/externalized.decorator.js.map +1 -1
  24. package/dist/externalization/types.d.ts +2 -2
  25. package/dist/index.d.ts +3 -0
  26. package/dist/index.js +5 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/module/outbox-processing.module.d.ts +18 -2
  29. package/dist/module/outbox-processing.module.js +28 -8
  30. package/dist/module/outbox-processing.module.js.map +1 -1
  31. package/dist/module/outbox.module.d.ts +8 -0
  32. package/dist/module/outbox.module.js +61 -7
  33. package/dist/module/outbox.module.js.map +1 -1
  34. package/dist/recovery/outbox-retry-scheduler.d.ts +68 -0
  35. package/dist/recovery/outbox-retry-scheduler.js +163 -0
  36. package/dist/recovery/outbox-retry-scheduler.js.map +1 -0
  37. package/dist/recovery/staleness-monitor.d.ts +10 -2
  38. package/dist/recovery/staleness-monitor.js +28 -3
  39. package/dist/recovery/staleness-monitor.js.map +1 -1
  40. package/dist/registry/event-publication-registry.d.ts +1 -1
  41. package/dist/registry/event-publication-registry.js +1 -1
  42. package/dist/registry/event-publication-registry.js.map +1 -1
  43. package/dist/registry/listener-registry.d.ts +2 -2
  44. package/dist/registry/listener-registry.js +2 -2
  45. package/dist/registry/multi-ds-listener-registrar.d.ts +10 -4
  46. package/dist/registry/multi-ds-listener-registrar.js +1 -1
  47. package/dist/registry/multi-ds-listener-registrar.js.map +1 -1
  48. package/dist/registry/outbox-listener-scanner.d.ts +1 -1
  49. package/dist/registry/outbox-listener-scanner.js +1 -1
  50. package/dist/registry/outbox-listener-scanner.js.map +1 -1
  51. package/dist/repository/event-publication-repository.d.ts +25 -5
  52. package/dist/repository/event-publication-repository.js.map +1 -1
  53. package/dist/serialization/event-type-resolver.d.ts +1 -1
  54. package/dist/serialization/event-type-resolver.js +1 -1
  55. package/dist/serialization/json-event-serializer.js.map +1 -1
  56. package/dist/shutdown/drain.d.ts +32 -0
  57. package/dist/shutdown/drain.js +56 -0
  58. package/dist/shutdown/drain.js.map +1 -0
  59. package/dist/testing/in-memory-repository.js +1 -2
  60. package/dist/testing/in-memory-repository.js.map +1 -1
  61. package/dist/testing/published-events.js +4 -1
  62. package/dist/testing/published-events.js.map +1 -1
  63. package/dist/tokens/token-utils.js.map +1 -1
  64. package/dist/types/resubmission-options.d.ts +0 -4
  65. package/dist/types/resubmission-options.js +0 -9
  66. package/dist/types/resubmission-options.js.map +1 -1
  67. package/dist/types/retry-config.d.ts +51 -0
  68. package/dist/types/retry-config.js +16 -0
  69. package/dist/types/retry-config.js.map +1 -0
  70. package/dist/types/staleness-config.d.ts +8 -0
  71. package/dist/types/staleness-config.js +2 -0
  72. package/dist/types/staleness-config.js.map +1 -1
  73. package/package.json +17 -6
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  var OutboxModule_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.OutboxModule = exports.OUTBOX_PROCESSING_BUNDLE = exports.OUTBOX_STALENESS_CONFIG = exports.OUTBOX_PROCESSOR_OPTIONS = void 0;
10
+ exports.OutboxModule = exports.OUTBOX_PROCESSING_BUNDLE = exports.OUTBOX_RETRY_CONFIG = exports.OUTBOX_STALENESS_CONFIG = exports.OUTBOX_PROCESSOR_OPTIONS = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
12
  const core_1 = require("@nestjs/core");
13
13
  const core_2 = require("@nestjs-transactional/core");
@@ -20,6 +20,7 @@ const outbox_event_publisher_1 = require("../dispatcher/outbox-event-publisher")
20
20
  const processor_options_1 = require("../dispatcher/processor-options");
21
21
  const event_externalizer_1 = require("../externalization/event-externalizer");
22
22
  const externalization_registry_1 = require("../externalization/externalization-registry");
23
+ const outbox_retry_scheduler_1 = require("../recovery/outbox-retry-scheduler");
23
24
  const staleness_monitor_1 = require("../recovery/staleness-monitor");
24
25
  const startup_recovery_1 = require("../recovery/startup-recovery");
25
26
  const event_publication_registry_1 = require("../registry/event-publication-registry");
@@ -32,12 +33,14 @@ const event_type_registry_1 = require("../serialization/event-type-registry");
32
33
  const json_event_serializer_1 = require("../serialization/json-event-serializer");
33
34
  const in_memory_repository_1 = require("../testing/in-memory-repository");
34
35
  const token_utils_1 = require("../tokens/token-utils");
36
+ const retry_config_1 = require("../types/retry-config");
35
37
  const staleness_config_1 = require("../types/staleness-config");
36
38
  const DEFAULT_DATA_SOURCE = 'default';
37
39
  /** DI token carrying the resolved {@link EventPublicationProcessorOptions}. */
38
40
  exports.OUTBOX_PROCESSOR_OPTIONS = Symbol('OUTBOX_PROCESSOR_OPTIONS');
39
41
  /** DI token carrying the resolved {@link StalenessConfig}. */
40
42
  exports.OUTBOX_STALENESS_CONFIG = Symbol('OUTBOX_STALENESS_CONFIG');
43
+ exports.OUTBOX_RETRY_CONFIG = Symbol('OUTBOX_RETRY_CONFIG');
41
44
  /**
42
45
  * Bundle of per-dataSource processors and monitors that
43
46
  * {@link OutboxProcessingModule} reads on bootstrap to start every
@@ -56,6 +59,9 @@ function resolveProcessorOptions(processor, completionMode) {
56
59
  function resolveStalenessConfig(staleness) {
57
60
  return { ...staleness_config_1.DEFAULT_STALENESS_CONFIG, ...staleness };
58
61
  }
62
+ function resolveRetryConfig(retry) {
63
+ return { ...retry_config_1.DEFAULT_RETRY_CONFIG, ...retry };
64
+ }
59
65
  function resolveRecoveryOptions(republishOnStartup, startupBatchSize) {
60
66
  return {
61
67
  republishOnStartup: republishOnStartup ?? false,
@@ -137,14 +143,16 @@ let OutboxModule = class OutboxModule {
137
143
  const processorOpts = resolveProcessorOptions(options.processor, options.completionMode);
138
144
  const stalenessCfg = resolveStalenessConfig(options.staleness);
139
145
  const recoveryOpts = resolveRecoveryOptions(options.republishOnStartup, options.startupBatchSize);
146
+ const retryCfg = resolveRetryConfig(options.retry);
140
147
  this.registrations.set(ds, {
141
148
  dataSource: ds,
142
149
  processorOptions: processorOpts,
143
150
  stalenessConfig: stalenessCfg,
144
151
  recoveryOptions: recoveryOpts,
152
+ retryConfig: retryCfg,
145
153
  });
146
154
  const providers = [
147
- ...buildPerDataSourceProviders(ds, options.repository, options.serializer, processorOpts, stalenessCfg, recoveryOpts),
155
+ ...buildPerDataSourceProviders(ds, options.repository, options.serializer, processorOpts, stalenessCfg, recoveryOpts, retryCfg),
148
156
  ];
149
157
  const exportTokens = [...perDataSourceExports(ds)];
150
158
  if (ds === DEFAULT_DATA_SOURCE) {
@@ -198,6 +206,7 @@ let OutboxModule = class OutboxModule {
198
206
  processorOptions: resolveProcessorOptions(undefined, undefined),
199
207
  stalenessConfig: resolveStalenessConfig(undefined),
200
208
  recoveryOptions: resolveRecoveryOptions(undefined, undefined),
209
+ retryConfig: resolveRetryConfig(undefined),
201
210
  });
202
211
  const asyncToken = ASYNC_OPTIONS_TOKEN(ds);
203
212
  const asyncOptionsProvider = {
@@ -218,9 +227,14 @@ let OutboxModule = class OutboxModule {
218
227
  const processorOptionsToken = perDsProcessorOptionsToken(ds);
219
228
  const stalenessConfigToken = perDsStalenessConfigToken(ds);
220
229
  const recoveryOptionsToken = perDsRecoveryOptionsToken(ds);
230
+ const retryToken = perDsRetrySchedulerToken(ds);
231
+ const retryConfigToken = perDsRetryConfigToken(ds);
221
232
  const providers = [
222
233
  asyncOptionsProvider,
223
- { provide: eventTypeRegistryToken, useFactory: () => new event_type_registry_1.EventTypeRegistry() },
234
+ {
235
+ provide: eventTypeRegistryToken,
236
+ useFactory: () => new event_type_registry_1.EventTypeRegistry(),
237
+ },
224
238
  options.repository
225
239
  ? reBindProvider(options.repository, repositoryToken)
226
240
  : { provide: repositoryToken, useClass: in_memory_repository_1.InMemoryEventPublicationRepository },
@@ -271,6 +285,19 @@ let OutboxModule = class OutboxModule {
271
285
  useFactory: (repo, cfg) => new staleness_monitor_1.StalenessMonitor(repo, cfg),
272
286
  inject: [repositoryToken, stalenessConfigToken],
273
287
  },
288
+ {
289
+ provide: retryConfigToken,
290
+ useFactory: (opts) => resolveRetryConfig(opts.retry),
291
+ inject: [asyncToken],
292
+ },
293
+ {
294
+ provide: retryToken,
295
+ useFactory: (repo, cfg) =>
296
+ // Built on a per-DS `FailedEventPublications` rather than the
297
+ // class-token one, which is bound to the default dataSource.
298
+ new outbox_retry_scheduler_1.OutboxRetryScheduler(new failed_event_publications_1.FailedEventPublications(repo), cfg),
299
+ inject: [repositoryToken, retryConfigToken],
300
+ },
274
301
  {
275
302
  provide: recoveryOptionsToken,
276
303
  useFactory: (opts) => resolveRecoveryOptions(opts.republishOnStartup, opts.startupBatchSize),
@@ -380,7 +407,13 @@ function perDsStalenessConfigToken(ds) {
380
407
  function perDsRecoveryOptionsToken(ds) {
381
408
  return `${ds}RecoveryOptions`;
382
409
  }
383
- function buildPerDataSourceProviders(ds, repository, serializer, processorOpts, stalenessCfg, recoveryOpts) {
410
+ function perDsRetrySchedulerToken(ds) {
411
+ return `${ds}OutboxRetryScheduler`;
412
+ }
413
+ function perDsRetryConfigToken(ds) {
414
+ return `${ds}OutboxRetryConfig`;
415
+ }
416
+ function buildPerDataSourceProviders(ds, repository, serializer, processorOpts, stalenessCfg, recoveryOpts, retryCfg) {
384
417
  const eventTypeRegistryToken = (0, token_utils_1.getEventTypeRegistryToken)(ds);
385
418
  const repositoryToken = (0, token_utils_1.getEventPublicationRepositoryToken)(ds);
386
419
  const serializerToken = (0, token_utils_1.getOutboxEventSerializerToken)(ds);
@@ -394,8 +427,13 @@ function buildPerDataSourceProviders(ds, repository, serializer, processorOpts,
394
427
  const processorOptionsToken = perDsProcessorOptionsToken(ds);
395
428
  const stalenessConfigToken = perDsStalenessConfigToken(ds);
396
429
  const recoveryOptionsToken = perDsRecoveryOptionsToken(ds);
430
+ const retryToken = perDsRetrySchedulerToken(ds);
431
+ const retryConfigToken = perDsRetryConfigToken(ds);
397
432
  return [
398
- { provide: eventTypeRegistryToken, useFactory: () => new event_type_registry_1.EventTypeRegistry() },
433
+ {
434
+ provide: eventTypeRegistryToken,
435
+ useFactory: () => new event_type_registry_1.EventTypeRegistry(),
436
+ },
399
437
  repository
400
438
  ? reBindProvider(repository, repositoryToken)
401
439
  : { provide: repositoryToken, useClass: in_memory_repository_1.InMemoryEventPublicationRepository },
@@ -438,6 +476,15 @@ function buildPerDataSourceProviders(ds, repository, serializer, processorOpts,
438
476
  useFactory: (repo, cfg) => new staleness_monitor_1.StalenessMonitor(repo, cfg),
439
477
  inject: [repositoryToken, stalenessConfigToken],
440
478
  },
479
+ { provide: retryConfigToken, useValue: retryCfg },
480
+ {
481
+ provide: retryToken,
482
+ useFactory: (repo, cfg) =>
483
+ // Built on a per-DS `FailedEventPublications` rather than the
484
+ // class-token one, which is bound to the default dataSource.
485
+ new outbox_retry_scheduler_1.OutboxRetryScheduler(new failed_event_publications_1.FailedEventPublications(repo), cfg),
486
+ inject: [repositoryToken, retryConfigToken],
487
+ },
441
488
  { provide: recoveryOptionsToken, useValue: recoveryOpts },
442
489
  // StartupRecoveryService for non-default dataSources alias to the
443
490
  // class-token instance registered by the default-DS forRoot. The
@@ -487,8 +534,10 @@ function buildDefaultDataSourceAliases() {
487
534
  { provide: externalization_registry_1.ExternalizationRegistry, useExisting: (0, token_utils_1.getExternalizationRegistryToken)(ds) },
488
535
  { provide: event_publication_processor_1.EventPublicationProcessor, useExisting: (0, token_utils_1.getEventPublicationProcessorToken)(ds) },
489
536
  { provide: staleness_monitor_1.StalenessMonitor, useExisting: perDsStalenessMonitorToken(ds) },
537
+ { provide: outbox_retry_scheduler_1.OutboxRetryScheduler, useExisting: perDsRetrySchedulerToken(ds) },
490
538
  { provide: exports.OUTBOX_PROCESSOR_OPTIONS, useExisting: perDsProcessorOptionsToken(ds) },
491
539
  { provide: exports.OUTBOX_STALENESS_CONFIG, useExisting: perDsStalenessConfigToken(ds) },
540
+ { provide: exports.OUTBOX_RETRY_CONFIG, useExisting: perDsRetryConfigToken(ds) },
492
541
  { provide: startup_recovery_1.OUTBOX_RECOVERY_OPTIONS, useExisting: perDsRecoveryOptionsToken(ds) },
493
542
  ];
494
543
  }
@@ -503,8 +552,10 @@ function defaultDataSourceAliasTokens() {
503
552
  externalization_registry_1.ExternalizationRegistry,
504
553
  event_publication_processor_1.EventPublicationProcessor,
505
554
  staleness_monitor_1.StalenessMonitor,
555
+ outbox_retry_scheduler_1.OutboxRetryScheduler,
506
556
  exports.OUTBOX_PROCESSOR_OPTIONS,
507
557
  exports.OUTBOX_STALENESS_CONFIG,
558
+ exports.OUTBOX_RETRY_CONFIG,
508
559
  startup_recovery_1.OUTBOX_RECOVERY_OPTIONS,
509
560
  ];
510
561
  }
@@ -528,7 +579,7 @@ function buildFacadePublisherProvider(moduleClass) {
528
579
  }
529
580
  /**
530
581
  * Build the providers wiring the {@link MultiDsOutboxListenerRegistrar}
531
- * (Phase 14.3.1). Registered in the first-registration block so the
582
+ *. Registered in the first-registration block so the
532
583
  * cqrs package's `IntegrationEventsHandlerScanner` picks the smart
533
584
  * registrar up via its `@Optional() @Inject(OUTBOX_LISTENER_REGISTRAR)`
534
585
  * — without any consumer-side wiring. The structural-port token
@@ -574,6 +625,9 @@ function buildProcessingBundleProvider(moduleClass) {
574
625
  get monitors() {
575
626
  return dsNames.map((ds) => get(perDsStalenessMonitorToken(ds)));
576
627
  },
628
+ get retrySchedulers() {
629
+ return dsNames.map((ds) => get(perDsRetrySchedulerToken(ds)));
630
+ },
577
631
  get recoveryServices() {
578
632
  return dsNames.map((ds) => get(perDsStartupRecoveryToken(ds)));
579
633
  },
@@ -596,7 +650,7 @@ function privateRegistrations(moduleClass) {
596
650
  .registrations;
597
651
  }
598
652
  // `TransactionManager` referenced for documentation completeness;
599
- // no longer used directly in this file after Phase 14.3 (the per-DS
653
+ // no longer used directly in this file (the per-DS
600
654
  // publisher pushes hooks directly onto the active-transaction object,
601
655
  // bypassing manager.registerBeforeCommit's single-tx assumption).
602
656
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.module.js","sourceRoot":"","sources":["../../src/module/outbox.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAQwB;AACxB,uCAA0D;AAC1D,qDAAgE;AAEhE,sFAAiF;AACjF,gFAA2E;AAC3E,wFAAmF;AACnF,6FAAuF;AACvF,2FAAsF;AACtF,iFAG8C;AAC9C,uEAGyC;AACzC,8EAG+C;AAC/C,0FAAsF;AACtF,qEAAiE;AACjE,mEAIsC;AACtC,uFAAkF;AAClF,qEAAuE;AACvE,yFAGiD;AACjD,iFAA4E;AAC5E,6FAGoD;AACpD,wEAA2F;AAC3F,8EAA8F;AAC9F,kFAA6E;AAC7E,0EAAqF;AACrF,uDAS+B;AAE/B,gEAA2F;AAE3F,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAsFtC,+EAA+E;AAClE,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAC3E,8DAA8D;AACjD,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAEzE;;;;;GAKG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAyB3E,MAAM,mBAAmB,GAAG,CAAC,EAAU,EAAU,EAAE,CACjD,MAAM,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;AAExC,SAAS,uBAAuB,CAC9B,SAAgE,EAChE,cAA0C;IAE1C,OAAO;QACL,GAAG,6CAAyB;QAC5B,GAAG,SAAS;QACZ,cAAc,EACZ,cAAc,IAAI,SAAS,EAAE,cAAc,IAAI,6CAAyB,CAAC,cAAc;KAC1F,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,SAA+C;IAC7E,OAAO,EAAE,GAAG,2CAAwB,EAAE,GAAG,SAAS,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,sBAAsB,CAC7B,kBAAuC,EACvC,gBAAoC;IAEpC,OAAO;QACL,kBAAkB,EAAE,kBAAkB,IAAI,KAAK;QAC/C,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,QAAkB,EAAE,KAAqB;IAC/D,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAY;;IACvB;;;;;;;;;;;OAWG;IACK,MAAM,CAAU,aAAa,GAAG,IAAI,GAAG,EAAoC,CAAC;IAEpF;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,eAAe;QACpB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,UAA+B,EAAE;QAC9C,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,IAAI,mBAAmB,CAAC;QACrD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,yBAAyB,EAAE,qDAAqD;gBAC9E,uEAAuE,CAC1E,CAAC;QACJ,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,CAAC;QAE1D,MAAM,aAAa,GAAG,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACzF,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,sBAAsB,CACzC,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,gBAAgB,CACzB,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE;YACzB,UAAU,EAAE,EAAE;YACd,gBAAgB,EAAE,aAAa;YAC/B,eAAe,EAAE,YAAY;YAC7B,eAAe,EAAE,YAAY;SAC9B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAe;YAC5B,GAAG,2BAA2B,CAC5B,EAAE,EACF,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,UAAU,EAClB,aAAa,EACb,YAAY,EACZ,YAAY,CACb;SACF,CAAC;QACF,MAAM,YAAY,GAAqB,CAAC,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;QAErE,IAAI,EAAE,KAAK,mBAAmB,EAAE,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,GAAG,6BAA6B,EAAE,CAAC,CAAC;YACnD,SAAS,CAAC,IAAI,CACZ,mDAAuB,EACvB,2DAA2B,EAC3B,yDAA0B,EAC1B,yCAAsB,CACvB,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,GAAG,4BAA4B,EAAE,CAAC,CAAC;YACrD,YAAY,CAAC,IAAI,CACf,mDAAuB,EACvB,2DAA2B,EAC3B,yDAA0B,EAC1B,yCAAsB,CACvB,CAAC;QACJ,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,2DAA2D;YAC3D,8DAA8D;YAC9D,+DAA+D;YAC/D,gEAAgE;YAChE,SAAS,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,cAAY,CAAC,CAAC,CAAC;YAC9D,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,cAAY,CAAC,CAAC,CAAC;YAC5D,SAAS,CAAC,IAAI,CAAC,+CAAqB,CAAC,CAAC;YACtC,SAAS,CAAC,IAAI,CAAC,GAAG,8BAA8B,EAAE,CAAC,CAAC;YACpD,YAAY,CAAC,IAAI,CAAC,6CAAoB,CAAC,CAAC;YACxC,YAAY,CAAC,IAAI,CAAC,gCAAwB,CAAC,CAAC;YAC5C,YAAY,CAAC,IAAI,CAAC,4DAA8B,CAAC,CAAC;YAClD,YAAY,CAAC,IAAI,CAAC,6DAA+B,CAAC,CAAC;QACrD,CAAC;QAED,OAAO;YACL,MAAM,EAAE,cAAY;YACpB,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;YAChC,OAAO,EAAE,CAAC,sBAAe,CAAC;YAC1B,SAAS;YACT,OAAO,EAAE,YAAY;SACtB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,OAAiC;QACnD,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,IAAI,mBAAmB,CAAC;QACrD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,8BAA8B,EAAE,qDAAqD;gBACnF,uEAAuE,CAC1E,CAAC;QACJ,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,CAAC;QAE1D,oEAAoE;QACpE,+DAA+D;QAC/D,kEAAkE;QAClE,yDAAyD;QACzD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE;YACzB,UAAU,EAAE,EAAE;YACd,gBAAgB,EAAE,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC;YAC/D,eAAe,EAAE,sBAAsB,CAAC,SAAS,CAAC;YAClD,eAAe,EAAE,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC;SAC9D,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,oBAAoB,GAAoB;YAC5C,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;SACzD,CAAC;QAEF,MAAM,sBAAsB,GAAG,IAAA,uCAAyB,EAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,eAAe,GAAG,IAAA,gDAAkC,EAAC,EAAE,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,IAAA,2CAA6B,EAAC,EAAE,CAAC,CAAC;QAC1D,MAAM,qBAAqB,GAAG,IAAA,4CAA8B,EAAC,EAAE,CAAC,CAAC;QACjE,MAAM,wBAAwB,GAAG,IAAA,8CAAgC,EAAC,EAAE,CAAC,CAAC;QACtE,MAAM,4BAA4B,GAAG,IAAA,6CAA+B,EAAC,EAAE,CAAC,CAAC;QACzE,MAAM,cAAc,GAAG,IAAA,+CAAiC,EAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,IAAA,qCAAuB,EAAC,EAAE,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAE3D,MAAM,SAAS,GAAe;YAC5B,oBAAoB;YAEpB,EAAE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,GAAsB,EAAE,CAAC,IAAI,uCAAiB,EAAE,EAAE;YAEjG,OAAO,CAAC,UAAU;gBAChB,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC;gBACrD,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,yDAAkC,EAAE;YAE9E,OAAO,CAAC,UAAU;gBAChB,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC;gBACrD,CAAC,CAAC;oBACE,OAAO,EAAE,eAAe;oBACxB,UAAU,EAAE,CAAC,QAA2B,EAAmB,EAAE,CAC3D,IAAI,2CAAmB,CAAC,QAAQ,CAAC;oBACnC,MAAM,EAAE,CAAC,sBAAsB,CAAC;iBACjC;YAEL;gBACE,OAAO,EAAE,qBAAqB;gBAC9B,UAAU,EAAE,GAA2B,EAAE,CAAC,IAAI,0CAAsB,EAAE;aACvE;YAED;gBACE,OAAO,EAAE,wBAAwB;gBACjC,UAAU,EAAE,CACV,IAAgC,EAChC,UAA2B,EACD,EAAE,CAAC,IAAI,qDAAwB,CAAC,IAAI,EAAE,UAAU,CAAC;gBAC7E,MAAM,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;aAC3C;YAED;gBACE,OAAO,EAAE,4BAA4B;gBACrC,UAAU,EAAE,CAAC,GAAsB,EAA2B,EAAE,CAC9D,IAAI,kDAAuB,CAAC,GAAG,CAAC;gBAClC,MAAM,EAAE,CAAC,sBAAsB,CAAC;aACjC;YAED;gBACE,OAAO,EAAE,qBAAqB;gBAC9B,UAAU,EAAE,CAAC,IAAoC,EAAoC,EAAE,CACrF,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;gBAC9D,MAAM,EAAE,CAAC,UAAU,CAAC;aACrB;YACD;gBACE,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,CACV,QAAkC,EAClC,SAAiC,EACjC,IAAsC,EACtC,YAA2C,EAC3C,uBAAgD,EACrB,EAAE,CAC7B,IAAI,uDAAyB,CAC3B,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,uBAAuB,CACxB;gBACH,MAAM,EAAE;oBACN,wBAAwB;oBACxB,qBAAqB;oBACrB,qBAAqB;oBACrB,EAAE,KAAK,EAAE,uCAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC7C,4BAA4B;iBAC7B;aACF;YAED;gBACE,OAAO,EAAE,oBAAoB;gBAC7B,UAAU,EAAE,CAAC,IAAoC,EAAmB,EAAE,CACpE,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACxC,MAAM,EAAE,CAAC,UAAU,CAAC;aACrB;YACD;gBACE,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,CAAC,IAAgC,EAAE,GAAoB,EAAoB,EAAE,CACvF,IAAI,oCAAgB,CAAC,IAAI,EAAE,GAAG,CAAC;gBACjC,MAAM,EAAE,CAAC,eAAe,EAAE,oBAAoB,CAAC;aAChD;YAED;gBACE,OAAO,EAAE,oBAAoB;gBAC7B,UAAU,EAAE,CAAC,IAAoC,EAAyB,EAAE,CAC1E,sBAAsB,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC;gBACxE,MAAM,EAAE,CAAC,UAAU,CAAC;aACrB;YAED;gBACE,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,CACV,mBAA6C,EAC7C,gBAAwC,EACb,EAAE,CAC7B,IAAI,wDAAyB,CAAC,EAAE,EAAE,mBAAmB,EAAE,gBAAgB,CAAC;gBAC1E,MAAM,EAAE,CAAC,wBAAwB,EAAE,qBAAqB,CAAC;aAC1D;SACF,CAAC;QAEF,MAAM,YAAY,GAAqB,CAAC,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;QAErE,IAAI,EAAE,KAAK,mBAAmB,EAAE,CAAC;YAC/B,SAAS,CAAC,IAAI,CACZ,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,yCAAsB,EAAE,EAC/D,GAAG,6BAA6B,EAAE,EAClC,mDAAuB,EACvB,2DAA2B,EAC3B,yDAA0B,EAC1B,yCAAsB,CACvB,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,GAAG,4BAA4B,EAAE,CAAC,CAAC;YACrD,YAAY,CAAC,IAAI,CACf,mDAAuB,EACvB,2DAA2B,EAC3B,yDAA0B,EAC1B,yCAAsB,CACvB,CAAC;QACJ,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,cAAY,CAAC,CAAC,CAAC;YAC9D,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,cAAY,CAAC,CAAC,CAAC;YAC5D,SAAS,CAAC,IAAI,CAAC,+CAAqB,CAAC,CAAC;YACtC,SAAS,CAAC,IAAI,CAAC,GAAG,8BAA8B,EAAE,CAAC,CAAC;YACpD,YAAY,CAAC,IAAI,CAAC,6CAAoB,CAAC,CAAC;YACxC,YAAY,CAAC,IAAI,CAAC,gCAAwB,CAAC,CAAC;YAC5C,YAAY,CAAC,IAAI,CAAC,4DAA8B,CAAC,CAAC;YAClD,YAAY,CAAC,IAAI,CAAC,6DAA+B,CAAC,CAAC;QACrD,CAAC;QAED,OAAO;YACL,MAAM,EAAE,cAAY;YACpB,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;YAChC,OAAO,EAAE,CAAC,sBAAe,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACtD,SAAS;YACT,OAAO,EAAE,YAAY;SACtB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,UAAU,CACf,UAA0B,EAC1B,UAA4C,EAAE;QAE9C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,mBAAmB,CAAC;QAC7D,iEAAiE;QACjE,6DAA6D;QAC7D,gEAAgE;QAChE,iEAAiE;QACjE,oCAAoC;QACpC,MAAM,YAAY,GAAG,MAAM,CAAC,+BAA+B,UAAU,GAAG,CAAC,CAAC;QAE1E,OAAO;YACL,MAAM,EAAE,cAAY;YACpB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,YAAY;oBACrB,UAAU,EAAE,CAAC,QAA2B,EAAQ,EAAE;wBAChD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;4BACnC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;wBAC/B,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,MAAM,EAAE,CAAC,IAAA,uCAAyB,EAAC,UAAU,CAAC,CAAC;iBAChD;aACF;SACF,CAAC;IACJ,CAAC;;AAlWU,oCAAY;uBAAZ,YAAY;IADxB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,YAAY,CAmWxB;AAED,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,SAAS,0BAA0B,CAAC,EAAU;IAC5C,OAAO,GAAG,EAAE,kBAAkB,CAAC;AACjC,CAAC;AACD,SAAS,yBAAyB,CAAC,EAAU;IAC3C,OAAO,GAAG,EAAE,wBAAwB,CAAC;AACvC,CAAC;AACD,SAAS,0BAA0B,CAAC,EAAU;IAC5C,OAAO,GAAG,EAAE,kBAAkB,CAAC;AACjC,CAAC;AACD,SAAS,yBAAyB,CAAC,EAAU;IAC3C,OAAO,GAAG,EAAE,iBAAiB,CAAC;AAChC,CAAC;AACD,SAAS,yBAAyB,CAAC,EAAU;IAC3C,OAAO,GAAG,EAAE,iBAAiB,CAAC;AAChC,CAAC;AAED,SAAS,2BAA2B,CAClC,EAAU,EACV,UAAgC,EAChC,UAAgC,EAChC,aAA+C,EAC/C,YAA6B,EAC7B,YAAmC;IAEnC,MAAM,sBAAsB,GAAG,IAAA,uCAAyB,EAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,IAAA,gDAAkC,EAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,IAAA,2CAA6B,EAAC,EAAE,CAAC,CAAC;IAC1D,MAAM,qBAAqB,GAAG,IAAA,4CAA8B,EAAC,EAAE,CAAC,CAAC;IACjE,MAAM,wBAAwB,GAAG,IAAA,8CAAgC,EAAC,EAAE,CAAC,CAAC;IACtE,MAAM,4BAA4B,GAAG,IAAA,6CAA+B,EAAC,EAAE,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,IAAA,+CAAiC,EAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,IAAA,qCAAuB,EAAC,EAAE,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;IACpD,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAE3D,OAAO;QACL,EAAE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,GAAsB,EAAE,CAAC,IAAI,uCAAiB,EAAE,EAAE;QAEjG,UAAU;YACR,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,eAAe,CAAC;YAC7C,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,yDAAkC,EAAE;QAE9E,UAAU;YACR,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,eAAe,CAAC;YAC7C,CAAC,CAAC;gBACE,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,CAAC,QAA2B,EAAmB,EAAE,CAC3D,IAAI,2CAAmB,CAAC,QAAQ,CAAC;gBACnC,MAAM,EAAE,CAAC,sBAAsB,CAAC;aACjC;QAEL;YACE,OAAO,EAAE,qBAAqB;YAC9B,UAAU,EAAE,GAA2B,EAAE,CAAC,IAAI,0CAAsB,EAAE;SACvE;QAED;YACE,OAAO,EAAE,wBAAwB;YACjC,UAAU,EAAE,CACV,IAAgC,EAChC,CAAkB,EACQ,EAAE,CAAC,IAAI,qDAAwB,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,MAAM,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;SAC3C;QAED;YACE,OAAO,EAAE,4BAA4B;YACrC,UAAU,EAAE,CAAC,GAAsB,EAA2B,EAAE,CAC9D,IAAI,kDAAuB,CAAC,GAAG,CAAC;YAClC,MAAM,EAAE,CAAC,sBAAsB,CAAC;SACjC;QAED,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAE;QAC3D;YACE,OAAO,EAAE,cAAc;YACvB,UAAU,EAAE,CACV,QAAkC,EAClC,SAAiC,EACjC,IAAsC,EACtC,YAA2C,EAC3C,uBAAgD,EACrB,EAAE,CAC7B,IAAI,uDAAyB,CAC3B,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,uBAAuB,CACxB;YACH,MAAM,EAAE;gBACN,wBAAwB;gBACxB,qBAAqB;gBACrB,qBAAqB;gBACrB,EAAE,KAAK,EAAE,uCAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC7C,4BAA4B;aAC7B;SACF;QAED,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE;QACzD;YACE,OAAO,EAAE,cAAc;YACvB,UAAU,EAAE,CAAC,IAAgC,EAAE,GAAoB,EAAoB,EAAE,CACvF,IAAI,oCAAgB,CAAC,IAAI,EAAE,GAAG,CAAC;YACjC,MAAM,EAAE,CAAC,eAAe,EAAE,oBAAoB,CAAC;SAChD;QAED,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE;QACzD,kEAAkE;QAClE,iEAAiE;QACjE,2DAA2D;QAC3D,yDAAyD;QACzD,gEAAgE;QAChE,kEAAkE;QAClE,gEAAgE;QAChE,wCAAwC;QACxC,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,yCAAsB,EAAE;QAE/D;YACE,OAAO,EAAE,cAAc;YACvB,UAAU,EAAE,CACV,mBAA6C,EAC7C,gBAAwC,EACb,EAAE,CAC7B,IAAI,wDAAyB,CAAC,EAAE,EAAE,mBAAmB,EAAE,gBAAgB,CAAC;YAC1E,MAAM,EAAE,CAAC,wBAAwB,EAAE,qBAAqB,CAAC;SAC1D;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAU;IACtC,OAAO;QACL,IAAA,uCAAyB,EAAC,EAAE,CAAC;QAC7B,IAAA,gDAAkC,EAAC,EAAE,CAAC;QACtC,IAAA,2CAA6B,EAAC,EAAE,CAAC;QACjC,IAAA,4CAA8B,EAAC,EAAE,CAAC;QAClC,IAAA,8CAAgC,EAAC,EAAE,CAAC;QACpC,IAAA,6CAA+B,EAAC,EAAE,CAAC;QACnC,IAAA,+CAAiC,EAAC,EAAE,CAAC;QACrC,IAAA,qCAAuB,EAAC,EAAE,CAAC;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,6BAA6B;IACpC,MAAM,EAAE,GAAG,mBAAmB,CAAC;IAC/B,OAAO;QACL,EAAE,OAAO,EAAE,yCAAmB,EAAE,WAAW,EAAE,IAAA,uCAAyB,EAAC,EAAE,CAAC,EAAE;QAC5E,EAAE,OAAO,EAAE,uCAAiB,EAAE,WAAW,EAAE,IAAA,uCAAyB,EAAC,EAAE,CAAC,EAAE;QAC1E,EAAE,OAAO,EAAE,mCAAgB,EAAE,WAAW,EAAE,IAAA,2CAA6B,EAAC,EAAE,CAAC,EAAE;QAC7E,EAAE,OAAO,EAAE,2DAA4B,EAAE,WAAW,EAAE,IAAA,gDAAkC,EAAC,EAAE,CAAC,EAAE;QAC9F,EAAE,OAAO,EAAE,0CAAsB,EAAE,WAAW,EAAE,IAAA,4CAA8B,EAAC,EAAE,CAAC,EAAE;QACpF,EAAE,OAAO,EAAE,qDAAwB,EAAE,WAAW,EAAE,IAAA,8CAAgC,EAAC,EAAE,CAAC,EAAE;QACxF,EAAE,OAAO,EAAE,kDAAuB,EAAE,WAAW,EAAE,IAAA,6CAA+B,EAAC,EAAE,CAAC,EAAE;QACtF,EAAE,OAAO,EAAE,uDAAyB,EAAE,WAAW,EAAE,IAAA,+CAAiC,EAAC,EAAE,CAAC,EAAE;QAC1F,EAAE,OAAO,EAAE,oCAAgB,EAAE,WAAW,EAAE,0BAA0B,CAAC,EAAE,CAAC,EAAE;QAC1E,EAAE,OAAO,EAAE,gCAAwB,EAAE,WAAW,EAAE,0BAA0B,CAAC,EAAE,CAAC,EAAE;QAClF,EAAE,OAAO,EAAE,+BAAuB,EAAE,WAAW,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE;QAChF,EAAE,OAAO,EAAE,0CAAuB,EAAE,WAAW,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE;KACjF,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B;IACnC,OAAO;QACL,yCAAmB;QACnB,uCAAiB;QACjB,mCAAgB;QAChB,2DAA4B;QAC5B,0CAAsB;QACtB,qDAAwB;QACxB,kDAAuB;QACvB,uDAAyB;QACzB,oCAAgB;QAChB,gCAAwB;QACxB,+BAAuB;QACvB,0CAAuB;KACxB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,4BAA4B,CAAC,WAAgC;IACpE,OAAO;QACL,6CAAoB;QACpB;YACE,OAAO,EAAE,iDAAwB;YACjC,QAAQ,EAAE,oBAAoB,CAAC,WAAW,CAAC;SAC5C;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,8BAA8B;IACrC,OAAO;QACL,4DAA8B;QAC9B;YACE,OAAO,EAAE,6DAA+B;YACxC,WAAW,EAAE,4DAA8B;SAC5C;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,6BAA6B,CAAC,WAAgC;IACrE,OAAO;QACL,OAAO,EAAE,gCAAwB;QACjC,UAAU,EAAE,CAAC,SAAoB,EAA0B,EAAE;YAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,kEAAkE;YAClE,mEAAmE;YACnE,+DAA+D;YAC/D,sDAAsD;YACtD,MAAM,GAAG,GAAG,CAAI,KAAa,EAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAI,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAChF,OAAO;gBACL,IAAI,UAAU;oBACZ,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACxB,GAAG,CAA4B,IAAA,+CAAiC,EAAC,EAAE,CAAC,CAAC,CACtE,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ;oBACV,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAmB,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,gBAAgB;oBAClB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACxB,GAAG,CAAyB,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAC3D,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,CAAC,gBAAS,CAAC;KACpB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAC3B,WAAgC;IAEhC,OAAQ,WAAmF;SACxF,aAAa,CAAC;AACnB,CAAC;AAED,kEAAkE;AAClE,oEAAoE;AACpE,sEAAsE;AACtE,kEAAkE;AAClE,6DAA6D;AAC7D,MAAM,aAAa,GAAG,yBAAkB,CAAC"}
1
+ {"version":3,"file":"outbox.module.js","sourceRoot":"","sources":["../../src/module/outbox.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { FailedEventPublications } from '../api/failed-event-publications';
2
+ import type { OutboxRetryConfig } from '../types/retry-config';
3
+ /**
4
+ * Periodically resubmits `FAILED` publications whose backoff window has
5
+ * elapsed, up to a per-publication attempt cap (DD-026).
6
+ *
7
+ * Deliberately a thin scheduler over
8
+ * {@link FailedEventPublications.resubmit} rather than a second
9
+ * resubmission path: automatic retry is the same operation an operator
10
+ * performs by hand, on a timer, with a backoff predicate as the filter.
11
+ * Spring Modulith stops at the manual API — this is where we go one step
12
+ * past parity, and keeping it layered is what makes that step cheap to
13
+ * reason about.
14
+ *
15
+ * Disabled unless `config.maxAttempts > 0`, in which case {@link start}
16
+ * never schedules the loop. A publication that exhausts its attempts is
17
+ * simply no longer selected; it stays `FAILED` and remains available to
18
+ * the operator APIs.
19
+ */
20
+ export declare class OutboxRetryScheduler {
21
+ private readonly failed;
22
+ private readonly config;
23
+ private readonly logger;
24
+ private running;
25
+ private retryLoop;
26
+ /** The pass currently running, or `null` when idle. See {@link stop}. */
27
+ private inFlightPass;
28
+ constructor(failed: FailedEventPublications, config: OutboxRetryConfig);
29
+ /** Start the retry loop. Idempotent; a no-op when retry is disabled. */
30
+ start(): void;
31
+ /**
32
+ * Stop the loop and drain the pass already in flight, bounded by
33
+ * `config.shutdownTimeout`. Idempotent; never rejects.
34
+ */
35
+ stop(): Promise<void>;
36
+ /**
37
+ * Run a single retry pass and return how many publications were
38
+ * resubmitted. Invoked by the scheduled loop, and directly by tests
39
+ * and one-shot tooling.
40
+ *
41
+ * Never rejects: a failing pass is logged and reported as `0`, so a
42
+ * database blip cannot kill the loop.
43
+ */
44
+ runOnce(): Promise<number>;
45
+ /**
46
+ * Whether `publication` has waited out its backoff window.
47
+ *
48
+ * The window is measured from the last attempt we can see. There is no
49
+ * failure timestamp in the schema, so a publication that has never
50
+ * been resubmitted is measured from `publicationDate` — which makes
51
+ * its *first* retry eager if it lived a long time before failing.
52
+ * Every later window is exact, because resubmission stamps
53
+ * `lastResubmissionDate`. See DD-026 for why that beats a migration.
54
+ */
55
+ private isDue;
56
+ /**
57
+ * `baseDelay * factor^(attempts - 1)`, clamped to `maxDelay` and then
58
+ * spread by `jitter`.
59
+ *
60
+ * Jitter scales the window by a factor in `[1 - jitter, 1 + jitter]`,
61
+ * so retries after a mass failure do not all become due at the same
62
+ * instant. It can shorten a window but never to zero, so a
63
+ * just-failed publication still waits.
64
+ */
65
+ private delayFor;
66
+ private scheduleNext;
67
+ }
68
+ //# sourceMappingURL=outbox-retry-scheduler.d.ts.map
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var OutboxRetryScheduler_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.OutboxRetryScheduler = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const failed_event_publications_1 = require("../api/failed-event-publications");
16
+ const drain_1 = require("../shutdown/drain");
17
+ const resubmission_options_1 = require("../types/resubmission-options");
18
+ /**
19
+ * Periodically resubmits `FAILED` publications whose backoff window has
20
+ * elapsed, up to a per-publication attempt cap (DD-026).
21
+ *
22
+ * Deliberately a thin scheduler over
23
+ * {@link FailedEventPublications.resubmit} rather than a second
24
+ * resubmission path: automatic retry is the same operation an operator
25
+ * performs by hand, on a timer, with a backoff predicate as the filter.
26
+ * Spring Modulith stops at the manual API — this is where we go one step
27
+ * past parity, and keeping it layered is what makes that step cheap to
28
+ * reason about.
29
+ *
30
+ * Disabled unless `config.maxAttempts > 0`, in which case {@link start}
31
+ * never schedules the loop. A publication that exhausts its attempts is
32
+ * simply no longer selected; it stays `FAILED` and remains available to
33
+ * the operator APIs.
34
+ */
35
+ let OutboxRetryScheduler = OutboxRetryScheduler_1 = class OutboxRetryScheduler {
36
+ failed;
37
+ config;
38
+ logger = new common_1.Logger(OutboxRetryScheduler_1.name);
39
+ running = false;
40
+ retryLoop = null;
41
+ /** The pass currently running, or `null` when idle. See {@link stop}. */
42
+ inFlightPass = null;
43
+ constructor(failed, config) {
44
+ this.failed = failed;
45
+ this.config = config;
46
+ }
47
+ /** Start the retry loop. Idempotent; a no-op when retry is disabled. */
48
+ start() {
49
+ if (this.running) {
50
+ return;
51
+ }
52
+ if (this.config.maxAttempts <= 0) {
53
+ this.logger.log('OutboxRetryScheduler disabled (maxAttempts = 0)');
54
+ return;
55
+ }
56
+ this.running = true;
57
+ this.scheduleNext();
58
+ this.logger.log(`OutboxRetryScheduler started (interval: ${this.config.interval}ms, ` +
59
+ `maxAttempts: ${this.config.maxAttempts})`);
60
+ }
61
+ /**
62
+ * Stop the loop and drain the pass already in flight, bounded by
63
+ * `config.shutdownTimeout`. Idempotent; never rejects.
64
+ */
65
+ async stop() {
66
+ this.running = false;
67
+ if (this.retryLoop !== null) {
68
+ clearTimeout(this.retryLoop);
69
+ this.retryLoop = null;
70
+ }
71
+ const inFlight = this.inFlightPass;
72
+ if (inFlight !== null) {
73
+ const drained = await (0, drain_1.drainWithTimeout)(inFlight, this.config.shutdownTimeout);
74
+ if (!drained) {
75
+ this.logger.warn(`OutboxRetryScheduler drain timed out after ${this.config.shutdownTimeout}ms — ` +
76
+ 'the in-flight pass was abandoned.');
77
+ }
78
+ }
79
+ }
80
+ /**
81
+ * Run a single retry pass and return how many publications were
82
+ * resubmitted. Invoked by the scheduled loop, and directly by tests
83
+ * and one-shot tooling.
84
+ *
85
+ * Never rejects: a failing pass is logged and reported as `0`, so a
86
+ * database blip cannot kill the loop.
87
+ */
88
+ async runOnce() {
89
+ try {
90
+ const resubmitted = await this.failed.resubmit(resubmission_options_1.ResubmissionOptions.defaults()
91
+ .withBatchSize(this.config.batchSize)
92
+ // The repository narrows by attempt count; `maxAttempts` counts
93
+ // the first delivery, so a publication is eligible only while
94
+ // it has attempts left.
95
+ .withMaxAttempts(this.config.maxAttempts - 1)
96
+ .withFilter((publication) => this.isDue(publication)));
97
+ if (resubmitted > 0) {
98
+ this.logger.log(`Resubmitted ${resubmitted} failed publication(s) for retry`);
99
+ }
100
+ return resubmitted;
101
+ }
102
+ catch (err) {
103
+ this.logger.error('Retry pass failed', err instanceof Error ? err.stack : String(err));
104
+ return 0;
105
+ }
106
+ }
107
+ /**
108
+ * Whether `publication` has waited out its backoff window.
109
+ *
110
+ * The window is measured from the last attempt we can see. There is no
111
+ * failure timestamp in the schema, so a publication that has never
112
+ * been resubmitted is measured from `publicationDate` — which makes
113
+ * its *first* retry eager if it lived a long time before failing.
114
+ * Every later window is exact, because resubmission stamps
115
+ * `lastResubmissionDate`. See DD-026 for why that beats a migration.
116
+ */
117
+ isDue(publication) {
118
+ const lastAttemptAt = publication.lastResubmissionDate ?? publication.publicationDate;
119
+ const waited = Date.now() - lastAttemptAt.getTime();
120
+ return waited >= this.delayFor(publication.completionAttempts);
121
+ }
122
+ /**
123
+ * `baseDelay * factor^(attempts - 1)`, clamped to `maxDelay` and then
124
+ * spread by `jitter`.
125
+ *
126
+ * Jitter scales the window by a factor in `[1 - jitter, 1 + jitter]`,
127
+ * so retries after a mass failure do not all become due at the same
128
+ * instant. It can shorten a window but never to zero, so a
129
+ * just-failed publication still waits.
130
+ */
131
+ delayFor(attempts) {
132
+ const exponent = Math.max(0, attempts - 1);
133
+ const raw = this.config.baseDelay * Math.pow(this.config.factor, exponent);
134
+ const clamped = Math.min(raw, this.config.maxDelay);
135
+ if (this.config.jitter <= 0) {
136
+ return clamped;
137
+ }
138
+ const spread = clamped * this.config.jitter;
139
+ return clamped - spread + Math.random() * spread * 2;
140
+ }
141
+ scheduleNext() {
142
+ if (!this.running) {
143
+ return;
144
+ }
145
+ this.retryLoop = setTimeout(() => {
146
+ this.retryLoop = null;
147
+ const pass = this.runOnce();
148
+ this.inFlightPass = pass;
149
+ void pass.finally(() => {
150
+ if (this.inFlightPass === pass) {
151
+ this.inFlightPass = null;
152
+ }
153
+ this.scheduleNext();
154
+ });
155
+ }, this.config.interval);
156
+ }
157
+ };
158
+ exports.OutboxRetryScheduler = OutboxRetryScheduler;
159
+ exports.OutboxRetryScheduler = OutboxRetryScheduler = OutboxRetryScheduler_1 = __decorate([
160
+ (0, common_1.Injectable)(),
161
+ __metadata("design:paramtypes", [failed_event_publications_1.FailedEventPublications, Object])
162
+ ], OutboxRetryScheduler);
163
+ //# sourceMappingURL=outbox-retry-scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox-retry-scheduler.js","sourceRoot":"","sources":["../../src/recovery/outbox-retry-scheduler.ts"],"names":[],"mappings":"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"}
@@ -22,11 +22,19 @@ export declare class StalenessMonitor {
22
22
  private readonly logger;
23
23
  private running;
24
24
  private monitorLoop;
25
+ /** The sweep currently running, or `null` when idle. See {@link stop}. */
26
+ private inFlightSweep;
25
27
  constructor(repository: EventPublicationRepository, config: StalenessConfig);
26
28
  /** Start the watchdog. Idempotent. */
27
29
  start(): void;
28
- /** Stop the watchdog and cancel any pending scheduled tick. */
29
- stop(): void;
30
+ /**
31
+ * Stop the watchdog and drain the sweep already in flight.
32
+ *
33
+ * Resolves once no sweep is running, or once
34
+ * `config.shutdownTimeout` elapses — whichever comes first. Idempotent
35
+ * and never rejects.
36
+ */
37
+ stop(): Promise<void>;
30
38
  /**
31
39
  * Run a single staleness sweep — invoked both by the scheduled loop
32
40
  * and directly by tests / one-shot tooling. Never rejects; infra
@@ -16,6 +16,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.StalenessMonitor = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
18
  const event_publication_repository_1 = require("../repository/event-publication-repository");
19
+ const drain_1 = require("../shutdown/drain");
19
20
  const publication_status_1 = require("../types/publication-status");
20
21
  /**
21
22
  * Periodic watchdog that flips publications stuck in non-terminal
@@ -39,6 +40,8 @@ let StalenessMonitor = StalenessMonitor_1 = class StalenessMonitor {
39
40
  logger = new common_1.Logger(StalenessMonitor_1.name);
40
41
  running = false;
41
42
  monitorLoop = null;
43
+ /** The sweep currently running, or `null` when idle. See {@link stop}. */
44
+ inFlightSweep = null;
42
45
  constructor(repository, config) {
43
46
  this.repository = repository;
44
47
  this.config = config;
@@ -58,13 +61,27 @@ let StalenessMonitor = StalenessMonitor_1 = class StalenessMonitor {
58
61
  this.scheduleNext();
59
62
  this.logger.log(`StalenessMonitor started (interval: ${this.config.monitorInterval}ms)`);
60
63
  }
61
- /** Stop the watchdog and cancel any pending scheduled tick. */
62
- stop() {
64
+ /**
65
+ * Stop the watchdog and drain the sweep already in flight.
66
+ *
67
+ * Resolves once no sweep is running, or once
68
+ * `config.shutdownTimeout` elapses — whichever comes first. Idempotent
69
+ * and never rejects.
70
+ */
71
+ async stop() {
63
72
  this.running = false;
64
73
  if (this.monitorLoop !== null) {
65
74
  clearTimeout(this.monitorLoop);
66
75
  this.monitorLoop = null;
67
76
  }
77
+ const inFlight = this.inFlightSweep;
78
+ if (inFlight !== null) {
79
+ const drained = await (0, drain_1.drainWithTimeout)(inFlight, this.config.shutdownTimeout);
80
+ if (!drained) {
81
+ this.logger.warn(`StalenessMonitor drain timed out after ${this.config.shutdownTimeout}ms — ` +
82
+ 'the in-flight sweep was abandoned.');
83
+ }
84
+ }
68
85
  }
69
86
  /**
70
87
  * Run a single staleness sweep — invoked both by the scheduled loop
@@ -93,7 +110,15 @@ let StalenessMonitor = StalenessMonitor_1 = class StalenessMonitor {
93
110
  return;
94
111
  }
95
112
  this.monitorLoop = setTimeout(() => {
96
- void this.checkStaleness().finally(() => this.scheduleNext());
113
+ this.monitorLoop = null;
114
+ const sweep = this.checkStaleness();
115
+ this.inFlightSweep = sweep;
116
+ void sweep.finally(() => {
117
+ if (this.inFlightSweep === sweep) {
118
+ this.inFlightSweep = null;
119
+ }
120
+ this.scheduleNext();
121
+ });
97
122
  }, this.config.monitorInterval);
98
123
  }
99
124
  async markStale(beforeDate, statuses, reason) {
@@ -1 +1 @@
1
- {"version":3,"file":"staleness-monitor.js","sourceRoot":"","sources":["../../src/recovery/staleness-monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"staleness-monitor.js","sourceRoot":"","sources":["../../src/recovery/staleness-monitor.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ import type { EventPublication } from '../types/event-publication';
12
12
  * `COMPLETED` / `FAILED` → `RESUBMITTED`);
13
13
  * - hand out deserialized event payloads ready for listener invocation.
14
14
  *
15
- * Does NOT invoke listeners — that is the dispatcher's job (Phase 5.6).
15
+ * Does NOT invoke listeners — that is the dispatcher's job.
16
16
  * Inspired by the internals of Spring Modulith's Event Publication
17
17
  * Registry.
18
18
  */
@@ -28,7 +28,7 @@ const publication_status_1 = require("../types/publication-status");
28
28
  * `COMPLETED` / `FAILED` → `RESUBMITTED`);
29
29
  * - hand out deserialized event payloads ready for listener invocation.
30
30
  *
31
- * Does NOT invoke listeners — that is the dispatcher's job (Phase 5.6).
31
+ * Does NOT invoke listeners — that is the dispatcher's job.
32
32
  * Inspired by the internals of Spring Modulith's Event Publication
33
33
  * Registry.
34
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"event-publication-registry.js","sourceRoot":"","sources":["../../src/registry/event-publication-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-publication-registry.js","sourceRoot":"","sources":["../../src/registry/event-publication-registry.ts"],"names":[],"mappings":"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"}