@nestjs-transactional/outbox 1.0.0-alpha.5 → 1.1.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 (82) hide show
  1. package/README.md +174 -335
  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/describe-thrown.d.ts +20 -0
  20. package/dist/externalization/describe-thrown.js +49 -0
  21. package/dist/externalization/describe-thrown.js.map +1 -0
  22. package/dist/externalization/event-externalizer.d.ts +2 -2
  23. package/dist/externalization/externalization-registry.js.map +1 -1
  24. package/dist/externalization/externalized.decorator.d.ts +3 -4
  25. package/dist/externalization/externalized.decorator.js +2 -3
  26. package/dist/externalization/externalized.decorator.js.map +1 -1
  27. package/dist/externalization/types.d.ts +2 -2
  28. package/dist/index.d.ts +6 -0
  29. package/dist/index.js +11 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/module/outbox-processing.module.d.ts +18 -2
  32. package/dist/module/outbox-processing.module.js +33 -7
  33. package/dist/module/outbox-processing.module.js.map +1 -1
  34. package/dist/module/outbox.module.d.ts +15 -0
  35. package/dist/module/outbox.module.js +99 -8
  36. package/dist/module/outbox.module.js.map +1 -1
  37. package/dist/recovery/outbox-cleanup-scheduler.d.ts +56 -0
  38. package/dist/recovery/outbox-cleanup-scheduler.js +139 -0
  39. package/dist/recovery/outbox-cleanup-scheduler.js.map +1 -0
  40. package/dist/recovery/outbox-retry-scheduler.d.ts +68 -0
  41. package/dist/recovery/outbox-retry-scheduler.js +163 -0
  42. package/dist/recovery/outbox-retry-scheduler.js.map +1 -0
  43. package/dist/recovery/staleness-monitor.d.ts +10 -2
  44. package/dist/recovery/staleness-monitor.js +28 -3
  45. package/dist/recovery/staleness-monitor.js.map +1 -1
  46. package/dist/registry/event-publication-registry.d.ts +1 -1
  47. package/dist/registry/event-publication-registry.js +1 -1
  48. package/dist/registry/event-publication-registry.js.map +1 -1
  49. package/dist/registry/listener-registry.d.ts +2 -2
  50. package/dist/registry/listener-registry.js +2 -2
  51. package/dist/registry/multi-ds-listener-registrar.d.ts +10 -4
  52. package/dist/registry/multi-ds-listener-registrar.js +1 -1
  53. package/dist/registry/multi-ds-listener-registrar.js.map +1 -1
  54. package/dist/registry/outbox-listener-scanner.d.ts +1 -1
  55. package/dist/registry/outbox-listener-scanner.js +1 -1
  56. package/dist/registry/outbox-listener-scanner.js.map +1 -1
  57. package/dist/repository/event-publication-repository.d.ts +37 -6
  58. package/dist/repository/event-publication-repository.js.map +1 -1
  59. package/dist/serialization/event-type-resolver.d.ts +1 -1
  60. package/dist/serialization/event-type-resolver.js +1 -1
  61. package/dist/serialization/json-event-serializer.js.map +1 -1
  62. package/dist/shutdown/drain.d.ts +32 -0
  63. package/dist/shutdown/drain.js +56 -0
  64. package/dist/shutdown/drain.js.map +1 -0
  65. package/dist/testing/in-memory-repository.js +11 -2
  66. package/dist/testing/in-memory-repository.js.map +1 -1
  67. package/dist/testing/published-events.js +6 -2
  68. package/dist/testing/published-events.js.map +1 -1
  69. package/dist/tokens/token-utils.js.map +1 -1
  70. package/dist/types/cleanup-config.d.ts +59 -0
  71. package/dist/types/cleanup-config.js +17 -0
  72. package/dist/types/cleanup-config.js.map +1 -0
  73. package/dist/types/resubmission-options.d.ts +0 -4
  74. package/dist/types/resubmission-options.js +0 -9
  75. package/dist/types/resubmission-options.js.map +1 -1
  76. package/dist/types/retry-config.d.ts +51 -0
  77. package/dist/types/retry-config.js +16 -0
  78. package/dist/types/retry-config.js.map +1 -0
  79. package/dist/types/staleness-config.d.ts +8 -0
  80. package/dist/types/staleness-config.js +2 -0
  81. package/dist/types/staleness-config.js.map +1 -1
  82. package/package.json +25 -13
@@ -1,9 +1,13 @@
1
1
  import { type DynamicModule, type InjectionToken, type ModuleMetadata, type Provider, type Type } from '@nestjs/common';
2
2
  import { EventPublicationProcessor } from '../dispatcher/event-publication-processor';
3
3
  import { type EventPublicationProcessorOptions } from '../dispatcher/processor-options';
4
+ import { OutboxCleanupScheduler } from '../recovery/outbox-cleanup-scheduler';
5
+ import { OutboxRetryScheduler } from '../recovery/outbox-retry-scheduler';
4
6
  import { StalenessMonitor } from '../recovery/staleness-monitor';
5
7
  import { StartupRecoveryService } from '../recovery/startup-recovery';
8
+ import { type OutboxCleanupConfig } from '../types/cleanup-config';
6
9
  import { CompletionMode } from '../types/completion-mode';
10
+ import { type OutboxRetryConfig } from '../types/retry-config';
7
11
  import { type StalenessConfig } from '../types/staleness-config';
8
12
  /**
9
13
  * Synchronous options for {@link OutboxModule.forRoot}.
@@ -39,6 +43,10 @@ export interface OutboxModuleOptions {
39
43
  readonly isGlobal?: boolean;
40
44
  readonly processor?: Partial<EventPublicationProcessorOptions>;
41
45
  readonly staleness?: Partial<StalenessConfig>;
46
+ /** Automatic retry policy for FAILED publications (DD-026). Off unless `maxAttempts > 0`. */
47
+ readonly retry?: Partial<OutboxRetryConfig>;
48
+ /** Retention policy for COMPLETED publications (C4). Off unless `interval > 0`. */
49
+ readonly cleanup?: Partial<OutboxCleanupConfig>;
42
50
  readonly republishOnStartup?: boolean;
43
51
  readonly startupBatchSize?: number;
44
52
  readonly completionMode?: CompletionMode;
@@ -65,6 +73,10 @@ export interface OutboxModuleOptions {
65
73
  export interface OutboxModuleAsyncFactoryResult {
66
74
  readonly processor?: Partial<EventPublicationProcessorOptions>;
67
75
  readonly staleness?: Partial<StalenessConfig>;
76
+ /** Automatic retry policy for FAILED publications (DD-026). Off unless `maxAttempts > 0`. */
77
+ readonly retry?: Partial<OutboxRetryConfig>;
78
+ /** Retention policy for COMPLETED publications (C4). Off unless `interval > 0`. */
79
+ readonly cleanup?: Partial<OutboxCleanupConfig>;
68
80
  readonly republishOnStartup?: boolean;
69
81
  readonly startupBatchSize?: number;
70
82
  readonly completionMode?: CompletionMode;
@@ -87,6 +99,7 @@ export interface OutboxModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'
87
99
  export declare const OUTBOX_PROCESSOR_OPTIONS: unique symbol;
88
100
  /** DI token carrying the resolved {@link StalenessConfig}. */
89
101
  export declare const OUTBOX_STALENESS_CONFIG: unique symbol;
102
+ export declare const OUTBOX_RETRY_CONFIG: unique symbol;
90
103
  /**
91
104
  * Bundle of per-dataSource processors and monitors that
92
105
  * {@link OutboxProcessingModule} reads on bootstrap to start every
@@ -102,6 +115,8 @@ export declare const OUTBOX_PROCESSING_BUNDLE: unique symbol;
102
115
  export interface OutboxProcessingBundle {
103
116
  readonly processors: readonly EventPublicationProcessor[];
104
117
  readonly monitors: readonly StalenessMonitor[];
118
+ readonly retrySchedulers: readonly OutboxRetryScheduler[];
119
+ readonly cleanupSchedulers: readonly OutboxCleanupScheduler[];
105
120
  readonly recoveryServices: readonly StartupRecoveryService[];
106
121
  }
107
122
  /**
@@ -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,8 @@ 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_cleanup_scheduler_1 = require("../recovery/outbox-cleanup-scheduler");
24
+ const outbox_retry_scheduler_1 = require("../recovery/outbox-retry-scheduler");
23
25
  const staleness_monitor_1 = require("../recovery/staleness-monitor");
24
26
  const startup_recovery_1 = require("../recovery/startup-recovery");
25
27
  const event_publication_registry_1 = require("../registry/event-publication-registry");
@@ -32,12 +34,15 @@ const event_type_registry_1 = require("../serialization/event-type-registry");
32
34
  const json_event_serializer_1 = require("../serialization/json-event-serializer");
33
35
  const in_memory_repository_1 = require("../testing/in-memory-repository");
34
36
  const token_utils_1 = require("../tokens/token-utils");
37
+ const cleanup_config_1 = require("../types/cleanup-config");
38
+ const retry_config_1 = require("../types/retry-config");
35
39
  const staleness_config_1 = require("../types/staleness-config");
36
40
  const DEFAULT_DATA_SOURCE = 'default';
37
41
  /** DI token carrying the resolved {@link EventPublicationProcessorOptions}. */
38
42
  exports.OUTBOX_PROCESSOR_OPTIONS = Symbol('OUTBOX_PROCESSOR_OPTIONS');
39
43
  /** DI token carrying the resolved {@link StalenessConfig}. */
40
44
  exports.OUTBOX_STALENESS_CONFIG = Symbol('OUTBOX_STALENESS_CONFIG');
45
+ exports.OUTBOX_RETRY_CONFIG = Symbol('OUTBOX_RETRY_CONFIG');
41
46
  /**
42
47
  * Bundle of per-dataSource processors and monitors that
43
48
  * {@link OutboxProcessingModule} reads on bootstrap to start every
@@ -56,6 +61,12 @@ function resolveProcessorOptions(processor, completionMode) {
56
61
  function resolveStalenessConfig(staleness) {
57
62
  return { ...staleness_config_1.DEFAULT_STALENESS_CONFIG, ...staleness };
58
63
  }
64
+ function resolveRetryConfig(retry) {
65
+ return { ...retry_config_1.DEFAULT_RETRY_CONFIG, ...retry };
66
+ }
67
+ function resolveCleanupConfig(cleanup) {
68
+ return { ...cleanup_config_1.DEFAULT_CLEANUP_CONFIG, ...cleanup };
69
+ }
59
70
  function resolveRecoveryOptions(republishOnStartup, startupBatchSize) {
60
71
  return {
61
72
  republishOnStartup: republishOnStartup ?? false,
@@ -137,14 +148,18 @@ let OutboxModule = class OutboxModule {
137
148
  const processorOpts = resolveProcessorOptions(options.processor, options.completionMode);
138
149
  const stalenessCfg = resolveStalenessConfig(options.staleness);
139
150
  const recoveryOpts = resolveRecoveryOptions(options.republishOnStartup, options.startupBatchSize);
151
+ const retryCfg = resolveRetryConfig(options.retry);
152
+ const cleanupCfg = resolveCleanupConfig(options.cleanup);
140
153
  this.registrations.set(ds, {
141
154
  dataSource: ds,
142
155
  processorOptions: processorOpts,
143
156
  stalenessConfig: stalenessCfg,
144
157
  recoveryOptions: recoveryOpts,
158
+ retryConfig: retryCfg,
159
+ cleanupConfig: cleanupCfg,
145
160
  });
146
161
  const providers = [
147
- ...buildPerDataSourceProviders(ds, options.repository, options.serializer, processorOpts, stalenessCfg, recoveryOpts),
162
+ ...buildPerDataSourceProviders(ds, options.repository, options.serializer, processorOpts, stalenessCfg, recoveryOpts, retryCfg, cleanupCfg),
148
163
  ];
149
164
  const exportTokens = [...perDataSourceExports(ds)];
150
165
  if (ds === DEFAULT_DATA_SOURCE) {
@@ -198,6 +213,8 @@ let OutboxModule = class OutboxModule {
198
213
  processorOptions: resolveProcessorOptions(undefined, undefined),
199
214
  stalenessConfig: resolveStalenessConfig(undefined),
200
215
  recoveryOptions: resolveRecoveryOptions(undefined, undefined),
216
+ retryConfig: resolveRetryConfig(undefined),
217
+ cleanupConfig: resolveCleanupConfig(undefined),
201
218
  });
202
219
  const asyncToken = ASYNC_OPTIONS_TOKEN(ds);
203
220
  const asyncOptionsProvider = {
@@ -218,9 +235,16 @@ let OutboxModule = class OutboxModule {
218
235
  const processorOptionsToken = perDsProcessorOptionsToken(ds);
219
236
  const stalenessConfigToken = perDsStalenessConfigToken(ds);
220
237
  const recoveryOptionsToken = perDsRecoveryOptionsToken(ds);
238
+ const retryToken = perDsRetrySchedulerToken(ds);
239
+ const retryConfigToken = perDsRetryConfigToken(ds);
240
+ const cleanupToken = perDsCleanupSchedulerToken(ds);
241
+ const cleanupConfigToken = perDsCleanupConfigToken(ds);
221
242
  const providers = [
222
243
  asyncOptionsProvider,
223
- { provide: eventTypeRegistryToken, useFactory: () => new event_type_registry_1.EventTypeRegistry() },
244
+ {
245
+ provide: eventTypeRegistryToken,
246
+ useFactory: () => new event_type_registry_1.EventTypeRegistry(),
247
+ },
224
248
  options.repository
225
249
  ? reBindProvider(options.repository, repositoryToken)
226
250
  : { provide: repositoryToken, useClass: in_memory_repository_1.InMemoryEventPublicationRepository },
@@ -271,6 +295,29 @@ let OutboxModule = class OutboxModule {
271
295
  useFactory: (repo, cfg) => new staleness_monitor_1.StalenessMonitor(repo, cfg),
272
296
  inject: [repositoryToken, stalenessConfigToken],
273
297
  },
298
+ {
299
+ provide: retryConfigToken,
300
+ useFactory: (opts) => resolveRetryConfig(opts.retry),
301
+ inject: [asyncToken],
302
+ },
303
+ {
304
+ provide: retryToken,
305
+ useFactory: (repo, cfg) =>
306
+ // Built on a per-DS `FailedEventPublications` rather than the
307
+ // class-token one, which is bound to the default dataSource.
308
+ new outbox_retry_scheduler_1.OutboxRetryScheduler(new failed_event_publications_1.FailedEventPublications(repo), cfg),
309
+ inject: [repositoryToken, retryConfigToken],
310
+ },
311
+ {
312
+ provide: cleanupConfigToken,
313
+ useFactory: (opts) => resolveCleanupConfig(opts.cleanup),
314
+ inject: [asyncToken],
315
+ },
316
+ {
317
+ provide: cleanupToken,
318
+ useFactory: (repo, cfg) => new outbox_cleanup_scheduler_1.OutboxCleanupScheduler(repo, cfg),
319
+ inject: [repositoryToken, cleanupConfigToken],
320
+ },
274
321
  {
275
322
  provide: recoveryOptionsToken,
276
323
  useFactory: (opts) => resolveRecoveryOptions(opts.republishOnStartup, opts.startupBatchSize),
@@ -380,7 +427,19 @@ function perDsStalenessConfigToken(ds) {
380
427
  function perDsRecoveryOptionsToken(ds) {
381
428
  return `${ds}RecoveryOptions`;
382
429
  }
383
- function buildPerDataSourceProviders(ds, repository, serializer, processorOpts, stalenessCfg, recoveryOpts) {
430
+ function perDsRetrySchedulerToken(ds) {
431
+ return `${ds}OutboxRetryScheduler`;
432
+ }
433
+ function perDsRetryConfigToken(ds) {
434
+ return `${ds}OutboxRetryConfig`;
435
+ }
436
+ function perDsCleanupSchedulerToken(ds) {
437
+ return `${ds}OutboxCleanupScheduler`;
438
+ }
439
+ function perDsCleanupConfigToken(ds) {
440
+ return `${ds}OutboxCleanupConfig`;
441
+ }
442
+ function buildPerDataSourceProviders(ds, repository, serializer, processorOpts, stalenessCfg, recoveryOpts, retryCfg, cleanupCfg) {
384
443
  const eventTypeRegistryToken = (0, token_utils_1.getEventTypeRegistryToken)(ds);
385
444
  const repositoryToken = (0, token_utils_1.getEventPublicationRepositoryToken)(ds);
386
445
  const serializerToken = (0, token_utils_1.getOutboxEventSerializerToken)(ds);
@@ -394,8 +453,15 @@ function buildPerDataSourceProviders(ds, repository, serializer, processorOpts,
394
453
  const processorOptionsToken = perDsProcessorOptionsToken(ds);
395
454
  const stalenessConfigToken = perDsStalenessConfigToken(ds);
396
455
  const recoveryOptionsToken = perDsRecoveryOptionsToken(ds);
456
+ const retryToken = perDsRetrySchedulerToken(ds);
457
+ const retryConfigToken = perDsRetryConfigToken(ds);
458
+ const cleanupToken = perDsCleanupSchedulerToken(ds);
459
+ const cleanupConfigToken = perDsCleanupConfigToken(ds);
397
460
  return [
398
- { provide: eventTypeRegistryToken, useFactory: () => new event_type_registry_1.EventTypeRegistry() },
461
+ {
462
+ provide: eventTypeRegistryToken,
463
+ useFactory: () => new event_type_registry_1.EventTypeRegistry(),
464
+ },
399
465
  repository
400
466
  ? reBindProvider(repository, repositoryToken)
401
467
  : { provide: repositoryToken, useClass: in_memory_repository_1.InMemoryEventPublicationRepository },
@@ -438,6 +504,21 @@ function buildPerDataSourceProviders(ds, repository, serializer, processorOpts,
438
504
  useFactory: (repo, cfg) => new staleness_monitor_1.StalenessMonitor(repo, cfg),
439
505
  inject: [repositoryToken, stalenessConfigToken],
440
506
  },
507
+ { provide: retryConfigToken, useValue: retryCfg },
508
+ {
509
+ provide: retryToken,
510
+ useFactory: (repo, cfg) =>
511
+ // Built on a per-DS `FailedEventPublications` rather than the
512
+ // class-token one, which is bound to the default dataSource.
513
+ new outbox_retry_scheduler_1.OutboxRetryScheduler(new failed_event_publications_1.FailedEventPublications(repo), cfg),
514
+ inject: [repositoryToken, retryConfigToken],
515
+ },
516
+ { provide: cleanupConfigToken, useValue: cleanupCfg },
517
+ {
518
+ provide: cleanupToken,
519
+ useFactory: (repo, cfg) => new outbox_cleanup_scheduler_1.OutboxCleanupScheduler(repo, cfg),
520
+ inject: [repositoryToken, cleanupConfigToken],
521
+ },
441
522
  { provide: recoveryOptionsToken, useValue: recoveryOpts },
442
523
  // StartupRecoveryService for non-default dataSources alias to the
443
524
  // class-token instance registered by the default-DS forRoot. The
@@ -487,8 +568,11 @@ function buildDefaultDataSourceAliases() {
487
568
  { provide: externalization_registry_1.ExternalizationRegistry, useExisting: (0, token_utils_1.getExternalizationRegistryToken)(ds) },
488
569
  { provide: event_publication_processor_1.EventPublicationProcessor, useExisting: (0, token_utils_1.getEventPublicationProcessorToken)(ds) },
489
570
  { provide: staleness_monitor_1.StalenessMonitor, useExisting: perDsStalenessMonitorToken(ds) },
571
+ { provide: outbox_retry_scheduler_1.OutboxRetryScheduler, useExisting: perDsRetrySchedulerToken(ds) },
572
+ { provide: outbox_cleanup_scheduler_1.OutboxCleanupScheduler, useExisting: perDsCleanupSchedulerToken(ds) },
490
573
  { provide: exports.OUTBOX_PROCESSOR_OPTIONS, useExisting: perDsProcessorOptionsToken(ds) },
491
574
  { provide: exports.OUTBOX_STALENESS_CONFIG, useExisting: perDsStalenessConfigToken(ds) },
575
+ { provide: exports.OUTBOX_RETRY_CONFIG, useExisting: perDsRetryConfigToken(ds) },
492
576
  { provide: startup_recovery_1.OUTBOX_RECOVERY_OPTIONS, useExisting: perDsRecoveryOptionsToken(ds) },
493
577
  ];
494
578
  }
@@ -503,8 +587,10 @@ function defaultDataSourceAliasTokens() {
503
587
  externalization_registry_1.ExternalizationRegistry,
504
588
  event_publication_processor_1.EventPublicationProcessor,
505
589
  staleness_monitor_1.StalenessMonitor,
590
+ outbox_retry_scheduler_1.OutboxRetryScheduler,
506
591
  exports.OUTBOX_PROCESSOR_OPTIONS,
507
592
  exports.OUTBOX_STALENESS_CONFIG,
593
+ exports.OUTBOX_RETRY_CONFIG,
508
594
  startup_recovery_1.OUTBOX_RECOVERY_OPTIONS,
509
595
  ];
510
596
  }
@@ -528,7 +614,7 @@ function buildFacadePublisherProvider(moduleClass) {
528
614
  }
529
615
  /**
530
616
  * Build the providers wiring the {@link MultiDsOutboxListenerRegistrar}
531
- * (Phase 14.3.1). Registered in the first-registration block so the
617
+ *. Registered in the first-registration block so the
532
618
  * cqrs package's `IntegrationEventsHandlerScanner` picks the smart
533
619
  * registrar up via its `@Optional() @Inject(OUTBOX_LISTENER_REGISTRAR)`
534
620
  * — without any consumer-side wiring. The structural-port token
@@ -574,6 +660,12 @@ function buildProcessingBundleProvider(moduleClass) {
574
660
  get monitors() {
575
661
  return dsNames.map((ds) => get(perDsStalenessMonitorToken(ds)));
576
662
  },
663
+ get retrySchedulers() {
664
+ return dsNames.map((ds) => get(perDsRetrySchedulerToken(ds)));
665
+ },
666
+ get cleanupSchedulers() {
667
+ return dsNames.map((ds) => get(perDsCleanupSchedulerToken(ds)));
668
+ },
577
669
  get recoveryServices() {
578
670
  return dsNames.map((ds) => get(perDsStartupRecoveryToken(ds)));
579
671
  },
@@ -596,9 +688,8 @@ function privateRegistrations(moduleClass) {
596
688
  .registrations;
597
689
  }
598
690
  // `TransactionManager` referenced for documentation completeness;
599
- // no longer used directly in this file after Phase 14.3 (the per-DS
691
+ // no longer used directly in this file (the per-DS
600
692
  // publisher pushes hooks directly onto the active-transaction object,
601
693
  // bypassing manager.registerBeforeCommit's single-tx assumption).
602
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
603
694
  const _txManagerRef = core_2.TransactionManager;
604
695
  //# sourceMappingURL=outbox.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.module.js","sourceRoot":"","sources":["../../src/module/outbox.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outbox.module.js","sourceRoot":"","sources":["../../src/module/outbox.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import type { EventPublicationRepository } from '../repository/event-publication-repository';
2
+ import type { OutboxCleanupConfig } from '../types/cleanup-config';
3
+ /**
4
+ * Periodically removes publications that have been `COMPLETED` longer
5
+ * than the configured retention window (C4).
6
+ *
7
+ * Under the default `UPDATE` completion mode a delivered publication
8
+ * stays as an audit row forever. The primitives to purge it have always
9
+ * existed on the operator API; what was missing was anything to run
10
+ * them on a schedule.
11
+ *
12
+ * Disabled unless `config.interval > 0`, in which case {@link start}
13
+ * never schedules the loop and says so once in the log.
14
+ *
15
+ * Deliberately bounded rather than issuing one `DELETE` over the whole
16
+ * retention window: it selects up to `batchSize` eligible publications
17
+ * with `findCompleted` and deletes them one at a time. That costs more
18
+ * round-trips, and buys two things worth more. A pass cannot turn into a
19
+ * single long transaction holding locks that writers need, which is the
20
+ * realistic hazard on the first pass after enabling cleanup on an
21
+ * existing deployment. And it uses only methods
22
+ * {@link EventPublicationRepository} already had, so it needs no SPI
23
+ * change and behaves identically for a third-party implementation.
24
+ *
25
+ * `CompletedEventPublications.purge(...)` stays what it was: the
26
+ * operator-facing one-shot for a deliberate bulk purge, where a single
27
+ * statement is what you want.
28
+ */
29
+ export declare class OutboxCleanupScheduler {
30
+ private readonly repository;
31
+ private readonly config;
32
+ private readonly logger;
33
+ private running;
34
+ private cleanupLoop;
35
+ /** The pass currently running, or `null` when idle. See {@link stop}. */
36
+ private inFlightPass;
37
+ constructor(repository: EventPublicationRepository, config: OutboxCleanupConfig);
38
+ /** Start the cleanup loop. Idempotent; a no-op when cleanup is disabled. */
39
+ start(): void;
40
+ /**
41
+ * Stop the loop and drain the pass already in flight, bounded by
42
+ * `config.shutdownTimeout`. Idempotent; never rejects.
43
+ */
44
+ stop(): Promise<void>;
45
+ /**
46
+ * Run a single cleanup pass and return how many publications were
47
+ * removed. Invoked by the scheduled loop, and directly by tests and
48
+ * one-shot tooling.
49
+ *
50
+ * Never rejects: a failing pass is logged and reported as `0`, so a
51
+ * database blip cannot kill the loop.
52
+ */
53
+ runOnce(): Promise<number>;
54
+ private scheduleNext;
55
+ }
56
+ //# sourceMappingURL=outbox-cleanup-scheduler.d.ts.map
@@ -0,0 +1,139 @@
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 OutboxCleanupScheduler_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.OutboxCleanupScheduler = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const drain_1 = require("../shutdown/drain");
16
+ /**
17
+ * Periodically removes publications that have been `COMPLETED` longer
18
+ * than the configured retention window (C4).
19
+ *
20
+ * Under the default `UPDATE` completion mode a delivered publication
21
+ * stays as an audit row forever. The primitives to purge it have always
22
+ * existed on the operator API; what was missing was anything to run
23
+ * them on a schedule.
24
+ *
25
+ * Disabled unless `config.interval > 0`, in which case {@link start}
26
+ * never schedules the loop and says so once in the log.
27
+ *
28
+ * Deliberately bounded rather than issuing one `DELETE` over the whole
29
+ * retention window: it selects up to `batchSize` eligible publications
30
+ * with `findCompleted` and deletes them one at a time. That costs more
31
+ * round-trips, and buys two things worth more. A pass cannot turn into a
32
+ * single long transaction holding locks that writers need, which is the
33
+ * realistic hazard on the first pass after enabling cleanup on an
34
+ * existing deployment. And it uses only methods
35
+ * {@link EventPublicationRepository} already had, so it needs no SPI
36
+ * change and behaves identically for a third-party implementation.
37
+ *
38
+ * `CompletedEventPublications.purge(...)` stays what it was: the
39
+ * operator-facing one-shot for a deliberate bulk purge, where a single
40
+ * statement is what you want.
41
+ */
42
+ let OutboxCleanupScheduler = OutboxCleanupScheduler_1 = class OutboxCleanupScheduler {
43
+ repository;
44
+ config;
45
+ logger = new common_1.Logger(OutboxCleanupScheduler_1.name);
46
+ running = false;
47
+ cleanupLoop = null;
48
+ /** The pass currently running, or `null` when idle. See {@link stop}. */
49
+ inFlightPass = null;
50
+ constructor(repository, config) {
51
+ this.repository = repository;
52
+ this.config = config;
53
+ }
54
+ /** Start the cleanup loop. Idempotent; a no-op when cleanup is disabled. */
55
+ start() {
56
+ if (this.running) {
57
+ return;
58
+ }
59
+ if (this.config.interval <= 0) {
60
+ this.logger.log('OutboxCleanupScheduler disabled (interval = 0)');
61
+ return;
62
+ }
63
+ this.running = true;
64
+ this.scheduleNext();
65
+ this.logger.log(`OutboxCleanupScheduler started (interval: ${this.config.interval}ms, ` +
66
+ `retention: ${this.config.retention}ms, batchSize: ${this.config.batchSize})`);
67
+ }
68
+ /**
69
+ * Stop the loop and drain the pass already in flight, bounded by
70
+ * `config.shutdownTimeout`. Idempotent; never rejects.
71
+ */
72
+ async stop() {
73
+ this.running = false;
74
+ if (this.cleanupLoop !== null) {
75
+ clearTimeout(this.cleanupLoop);
76
+ this.cleanupLoop = null;
77
+ }
78
+ const inFlight = this.inFlightPass;
79
+ if (inFlight !== null) {
80
+ const drained = await (0, drain_1.drainWithTimeout)(inFlight, this.config.shutdownTimeout);
81
+ if (!drained) {
82
+ this.logger.warn(`OutboxCleanupScheduler drain timed out after ${this.config.shutdownTimeout}ms — ` +
83
+ 'the in-flight pass was abandoned.');
84
+ }
85
+ }
86
+ }
87
+ /**
88
+ * Run a single cleanup pass and return how many publications were
89
+ * removed. Invoked by the scheduled loop, and directly by tests and
90
+ * one-shot tooling.
91
+ *
92
+ * Never rejects: a failing pass is logged and reported as `0`, so a
93
+ * database blip cannot kill the loop.
94
+ */
95
+ async runOnce() {
96
+ try {
97
+ const cutoff = new Date(Date.now() - this.config.retention);
98
+ const eligible = await this.repository.findCompleted({
99
+ olderThan: cutoff,
100
+ limit: this.config.batchSize,
101
+ });
102
+ let removed = 0;
103
+ for (const publication of eligible) {
104
+ await this.repository.delete(publication.id);
105
+ removed++;
106
+ }
107
+ if (removed > 0) {
108
+ this.logger.log(`Removed ${removed} completed publication(s) older than ${cutoff.toISOString()}`);
109
+ }
110
+ return removed;
111
+ }
112
+ catch (err) {
113
+ this.logger.error('Cleanup pass failed', err instanceof Error ? err.stack : String(err));
114
+ return 0;
115
+ }
116
+ }
117
+ scheduleNext() {
118
+ if (!this.running) {
119
+ return;
120
+ }
121
+ this.cleanupLoop = setTimeout(() => {
122
+ this.cleanupLoop = null;
123
+ const pass = this.runOnce();
124
+ this.inFlightPass = pass;
125
+ void pass.finally(() => {
126
+ if (this.inFlightPass === pass) {
127
+ this.inFlightPass = null;
128
+ }
129
+ this.scheduleNext();
130
+ });
131
+ }, this.config.interval);
132
+ }
133
+ };
134
+ exports.OutboxCleanupScheduler = OutboxCleanupScheduler;
135
+ exports.OutboxCleanupScheduler = OutboxCleanupScheduler = OutboxCleanupScheduler_1 = __decorate([
136
+ (0, common_1.Injectable)(),
137
+ __metadata("design:paramtypes", [Object, Object])
138
+ ], OutboxCleanupScheduler);
139
+ //# sourceMappingURL=outbox-cleanup-scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox-cleanup-scheduler.js","sourceRoot":"","sources":["../../src/recovery/outbox-cleanup-scheduler.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