@kronos-ts/messaging 0.3.1 → 0.4.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.
- package/dist/dead-letter-listener.d.ts +36 -0
- package/dist/dead-letter-listener.d.ts.map +1 -0
- package/dist/dead-letter-listener.js +69 -0
- package/dist/dead-letter-listener.js.map +1 -0
- package/dist/dead-letter-queue.d.ts +5 -7
- package/dist/dead-letter-queue.d.ts.map +1 -1
- package/dist/dead-letter-queue.js +3 -13
- package/dist/dead-letter-queue.js.map +1 -1
- package/dist/dead-letter-reprocessor.d.ts +44 -0
- package/dist/dead-letter-reprocessor.d.ts.map +1 -0
- package/dist/dead-letter-reprocessor.js +48 -0
- package/dist/dead-letter-reprocessor.js.map +1 -0
- package/dist/dead-lettering-handler.d.ts +7 -4
- package/dist/dead-lettering-handler.d.ts.map +1 -1
- package/dist/dead-lettering-handler.js +36 -15
- package/dist/dead-lettering-handler.js.map +1 -1
- package/dist/enqueue-policy.d.ts +79 -0
- package/dist/enqueue-policy.d.ts.map +1 -0
- package/dist/enqueue-policy.js +95 -0
- package/dist/enqueue-policy.js.map +1 -0
- package/dist/event-processor-builder.d.ts +42 -3
- package/dist/event-processor-builder.d.ts.map +1 -1
- package/dist/event-processor-builder.js +49 -2
- package/dist/event-processor-builder.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/processor-configuration.d.ts +1 -1
- package/dist/processor-configuration.d.ts.map +1 -1
- package/dist/sequencing-policy.d.ts +41 -0
- package/dist/sequencing-policy.d.ts.map +1 -0
- package/dist/sequencing-policy.js +39 -0
- package/dist/sequencing-policy.js.map +1 -0
- package/dist/streaming-event-processor.d.ts +24 -0
- package/dist/streaming-event-processor.d.ts.map +1 -1
- package/dist/streaming-event-processor.js +76 -1
- package/dist/streaming-event-processor.js.map +1 -1
- package/dist/subscribing-event-processor.d.ts +6 -0
- package/dist/subscribing-event-processor.d.ts.map +1 -1
- package/dist/subscribing-event-processor.js.map +1 -1
- package/dist/tracking-event-processor.d.ts +27 -0
- package/dist/tracking-event-processor.d.ts.map +1 -1
- package/dist/tracking-event-processor.js +79 -1
- package/dist/tracking-event-processor.js.map +1 -1
- package/package.json +3 -3
- package/src/dead-letter-listener.ts +97 -0
- package/src/dead-letter-queue.ts +8 -17
- package/src/dead-letter-reprocessor.ts +95 -0
- package/src/dead-lettering-handler.ts +50 -26
- package/src/enqueue-policy.ts +118 -0
- package/src/event-processor-builder.ts +67 -3
- package/src/index.ts +33 -1
- package/src/processor-configuration.ts +1 -1
- package/src/sequencing-policy.ts +55 -0
- package/src/streaming-event-processor.ts +112 -1
- package/src/subscribing-event-processor.ts +6 -0
- package/src/tracking-event-processor.ts +118 -1
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diagnostics key under which retry policies track how many times a letter has
|
|
3
|
+
* been processed (initial failure counts as attempt 1).
|
|
4
|
+
*/
|
|
5
|
+
export const ATTEMPTS_DIAGNOSTIC = "attempts";
|
|
6
|
+
/**
|
|
7
|
+
* Factory for the standard {@link EnqueueDecision}s, mirroring Axon's
|
|
8
|
+
* `Decisions`. The two lifecycle moments share one decision type:
|
|
9
|
+
*
|
|
10
|
+
* - On an **initial** handler failure, `shouldEnqueue === true` means "park the
|
|
11
|
+
* event" and `false` means "drop it" (the error is swallowed, the token
|
|
12
|
+
* advances anyway).
|
|
13
|
+
* - During **reprocessing**, `shouldEnqueue === true` means "requeue (keep it,
|
|
14
|
+
* still failing)" and `false` means "evict (done — succeeded or gave up)".
|
|
15
|
+
*
|
|
16
|
+
* Hence the deliberate aliases: `evict` ≡ `doNotEnqueue`, `requeue` ≡ `enqueue`.
|
|
17
|
+
* They exist purely to read correctly at each call site.
|
|
18
|
+
*/
|
|
19
|
+
export const Decisions = {
|
|
20
|
+
/** Park / keep the letter, recording the given cause and diagnostics. */
|
|
21
|
+
enqueue(cause, diagnostics) {
|
|
22
|
+
return { shouldEnqueue: true, cause, diagnostics };
|
|
23
|
+
},
|
|
24
|
+
/** Alias of {@link enqueue}, read at reprocessing time ("still failing, keep it"). */
|
|
25
|
+
requeue(cause, diagnostics) {
|
|
26
|
+
return { shouldEnqueue: true, cause, diagnostics };
|
|
27
|
+
},
|
|
28
|
+
/** Drop the letter without parking it (initial failure path). */
|
|
29
|
+
doNotEnqueue() {
|
|
30
|
+
return { shouldEnqueue: false };
|
|
31
|
+
},
|
|
32
|
+
/** Alias of {@link doNotEnqueue}, read at reprocessing time ("done — remove it"). */
|
|
33
|
+
evict() {
|
|
34
|
+
return { shouldEnqueue: false };
|
|
35
|
+
},
|
|
36
|
+
/**
|
|
37
|
+
* Keep the letter in place without recording a new cause — used when a
|
|
38
|
+
* reprocess attempt should neither evict nor overwrite the existing failure.
|
|
39
|
+
*/
|
|
40
|
+
ignore() {
|
|
41
|
+
return { shouldEnqueue: true };
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Default policy: always park a failed event, preserving the original cause.
|
|
46
|
+
* Matches Axon's default `(letter, cause) -> Decisions.enqueue(cause)`.
|
|
47
|
+
*
|
|
48
|
+
* With no retry cap, letters stay until reprocessed successfully or evicted by
|
|
49
|
+
* an operator — appropriate when every failure deserves manual inspection.
|
|
50
|
+
*/
|
|
51
|
+
export function alwaysEnqueuePolicy() {
|
|
52
|
+
return {
|
|
53
|
+
decide(_letter, cause) {
|
|
54
|
+
return Decisions.enqueue(cause);
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function attemptsOf(letter) {
|
|
59
|
+
const raw = letter.diagnostics[ATTEMPTS_DIAGNOSTIC];
|
|
60
|
+
return typeof raw === "number" ? raw : 0;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Caps automatic retries by counting attempts in the letter's diagnostics,
|
|
64
|
+
* then evicting once the budget is exhausted. This is the Axon idiom: the
|
|
65
|
+
* framework holds no retry counter — the policy authors it in diagnostics.
|
|
66
|
+
*
|
|
67
|
+
* - Initial failure → park with `attempts: 1` (unless `maxAttempts <= 1`, which
|
|
68
|
+
* evicts/drops immediately).
|
|
69
|
+
* - Each reprocess failure → increment `attempts`; once `attempts >= maxAttempts`
|
|
70
|
+
* the letter is evicted (given up on).
|
|
71
|
+
* - A `nonTransient` cause is parked once, never retried, and flagged for an
|
|
72
|
+
* operator.
|
|
73
|
+
*
|
|
74
|
+
* ```typescript
|
|
75
|
+
* trackingProcessor("balances")
|
|
76
|
+
* .deadLetterQueue(dlq)
|
|
77
|
+
* .enqueuePolicy(retryThenEvictPolicy({ maxAttempts: 5 }))
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export function retryThenEvictPolicy(options) {
|
|
81
|
+
const { maxAttempts, nonTransient } = options;
|
|
82
|
+
return {
|
|
83
|
+
decide(letter, cause) {
|
|
84
|
+
if (nonTransient?.(cause)) {
|
|
85
|
+
return Decisions.enqueue(cause, { retryable: false });
|
|
86
|
+
}
|
|
87
|
+
const attempts = attemptsOf(letter) + 1;
|
|
88
|
+
if (attempts >= maxAttempts) {
|
|
89
|
+
return Decisions.evict();
|
|
90
|
+
}
|
|
91
|
+
return Decisions.enqueue(cause, { [ATTEMPTS_DIAGNOSTIC]: attempts });
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=enqueue-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enqueue-policy.js","sourceRoot":"","sources":["../src/enqueue-policy.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAA;AAE7C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,yEAAyE;IACzE,OAAO,CAAC,KAAa,EAAE,WAAqC;QAC1D,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;IACpD,CAAC;IACD,sFAAsF;IACtF,OAAO,CAAC,KAAa,EAAE,WAAqC;QAC1D,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;IACpD,CAAC;IACD,iEAAiE;IACjE,YAAY;QACV,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAA;IACjC,CAAC;IACD,qFAAqF;IACrF,KAAK;QACH,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAA;IACjC,CAAC;IACD;;;OAGG;IACH,MAAM;QACJ,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;IAChC,CAAC;CACO,CAAA;AAEV;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,MAAM,CAAC,OAAO,EAAE,KAAK;YACnB,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACjC,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAkB;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;IACnD,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAC1C,CAAC;AAoBD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;IAC7C,OAAO;QACL,MAAM,CAAC,MAAM,EAAE,KAAK;YAClB,IAAI,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;YACvD,CAAC;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACvC,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;gBAC5B,OAAO,SAAS,CAAC,KAAK,EAAE,CAAA;YAC1B,CAAC;YACD,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;QACtE,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -2,7 +2,9 @@ import type { EventHandlerDefinition } from "./event-handler.js";
|
|
|
2
2
|
import type { TokenStore } from "./token-store.js";
|
|
3
3
|
import type { UoWRunner } from "./unit-of-work.js";
|
|
4
4
|
import type { EventProcessingErrorHandler } from "./tracking-event-processor.js";
|
|
5
|
-
import type { SequencedDeadLetterQueue } from "./dead-letter-queue.js";
|
|
5
|
+
import type { SequencedDeadLetterQueue, EnqueuePolicy } from "./dead-letter-queue.js";
|
|
6
|
+
import type { SequencingPolicy } from "./sequencing-policy.js";
|
|
7
|
+
import type { DeadLetterListener } from "./dead-letter-listener.js";
|
|
6
8
|
/**
|
|
7
9
|
* Base configuration shared by all event processor types.
|
|
8
10
|
*
|
|
@@ -25,6 +27,16 @@ export interface TrackingProcessorModule extends EventProcessorBase {
|
|
|
25
27
|
readonly unitOfWorkRunner?: UoWRunner;
|
|
26
28
|
readonly errorHandler?: EventProcessingErrorHandler;
|
|
27
29
|
readonly deadLetterQueue?: SequencedDeadLetterQueue;
|
|
30
|
+
/** Decides whether a failed event is enqueued in the DLQ. Default: always enqueue. */
|
|
31
|
+
readonly enqueuePolicy?: EnqueuePolicy;
|
|
32
|
+
/** Decides each event's ordered sequence for the DLQ. Default: first tag value. */
|
|
33
|
+
readonly sequencingPolicy?: SequencingPolicy;
|
|
34
|
+
/** Observability hook for dead-letter lifecycle events. Default: no-op. */
|
|
35
|
+
readonly deadLetterListener?: DeadLetterListener;
|
|
36
|
+
/** When true, resetTokens() also clears this processor's DLQ. Default: false. */
|
|
37
|
+
readonly resetClearsDeadLetters?: boolean;
|
|
38
|
+
/** When set, automatically drains the DLQ on this interval (ms). Off by default. */
|
|
39
|
+
readonly dlqRetryIntervalMs?: number;
|
|
28
40
|
/** Number of segments created on first startup. Default 16 (Axon Framework parity). Always set by builder.build(). */
|
|
29
41
|
readonly initialSegmentCount: number;
|
|
30
42
|
readonly claimExtensionThresholdMs?: number;
|
|
@@ -77,6 +89,11 @@ export declare class TrackingProcessorBuilder {
|
|
|
77
89
|
private _unitOfWorkRunner?;
|
|
78
90
|
private _errorHandler?;
|
|
79
91
|
private _deadLetterQueue?;
|
|
92
|
+
private _enqueuePolicy?;
|
|
93
|
+
private _sequencingPolicy?;
|
|
94
|
+
private _deadLetterListener?;
|
|
95
|
+
private _resetClearsDeadLetters?;
|
|
96
|
+
private _dlqRetryIntervalMs?;
|
|
80
97
|
private _initialSegmentCount?;
|
|
81
98
|
private _claimExtensionThresholdMs?;
|
|
82
99
|
private _tokenClaimIntervalMs?;
|
|
@@ -85,7 +102,15 @@ export declare class TrackingProcessorBuilder {
|
|
|
85
102
|
eventHandlers(...handlers: EventHandlerDefinition[]): this;
|
|
86
103
|
/** Register a callback fired when the processor is reset (clears view state for replay). */
|
|
87
104
|
onReset(fn: () => Promise<void> | void): this;
|
|
88
|
-
/**
|
|
105
|
+
/**
|
|
106
|
+
* Events per batch/transaction (one UnitOfWork). Default: 1 (Axon parity).
|
|
107
|
+
*
|
|
108
|
+
* A batch shares one UnitOfWork, so all events in it share the per-UoW
|
|
109
|
+
* `load()` cache, DCB read-set, and a single atomic commit. Keep the default
|
|
110
|
+
* of 1 for processors that make per-entity decisions via `load()`
|
|
111
|
+
* (automations) so each decision stays isolated. Raise it for read-model
|
|
112
|
+
* projections that only apply idempotent view updates and want throughput.
|
|
113
|
+
*/
|
|
89
114
|
batchSize(size: number): this;
|
|
90
115
|
/** Polling interval in ms. Default: 500. */
|
|
91
116
|
pollingIntervalMs(ms: number): this;
|
|
@@ -99,8 +124,22 @@ export declare class TrackingProcessorBuilder {
|
|
|
99
124
|
unitOfWorkRunner(runner: UoWRunner): this;
|
|
100
125
|
/** Override the error handler for this processor. */
|
|
101
126
|
errorHandler(handler: EventProcessingErrorHandler): this;
|
|
102
|
-
/**
|
|
127
|
+
/**
|
|
128
|
+
* Set a dead letter queue for this processor. When set, handler failures are
|
|
129
|
+
* parked in the queue and the processor advances past them (Option A) rather
|
|
130
|
+
* than redelivering the failed batch indefinitely.
|
|
131
|
+
*/
|
|
103
132
|
deadLetterQueue(queue: SequencedDeadLetterQueue): this;
|
|
133
|
+
/** Policy deciding whether a failed event is enqueued in the DLQ. Default: always. */
|
|
134
|
+
enqueuePolicy(policy: EnqueuePolicy): this;
|
|
135
|
+
/** Policy deciding each event's ordered sequence for the DLQ. Default: first tag value. */
|
|
136
|
+
sequencingPolicy(policy: SequencingPolicy): this;
|
|
137
|
+
/** Observability hook for dead-letter lifecycle events. */
|
|
138
|
+
deadLetterListener(listener: DeadLetterListener): this;
|
|
139
|
+
/** When true, resetTokens() also clears this processor's DLQ (Axon allowReset). */
|
|
140
|
+
resetClearsDeadLetters(enabled?: boolean): this;
|
|
141
|
+
/** Automatically drain the DLQ on this interval (ms). Omit to disable scheduled retries. */
|
|
142
|
+
dlqRetryInterval(ms: number): this;
|
|
104
143
|
/** Number of segments to create on first startup. Default: 16 (Axon Framework parity). */
|
|
105
144
|
initialSegmentCount(count: number): this;
|
|
106
145
|
/** @internal Build the processor configuration. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-processor-builder.d.ts","sourceRoot":"","sources":["../src/event-processor-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAChF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"event-processor-builder.d.ts","sourceRoot":"","sources":["../src/event-processor-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,11 @@ export class TrackingProcessorBuilder {
|
|
|
36
36
|
_unitOfWorkRunner;
|
|
37
37
|
_errorHandler;
|
|
38
38
|
_deadLetterQueue;
|
|
39
|
+
_enqueuePolicy;
|
|
40
|
+
_sequencingPolicy;
|
|
41
|
+
_deadLetterListener;
|
|
42
|
+
_resetClearsDeadLetters;
|
|
43
|
+
_dlqRetryIntervalMs;
|
|
39
44
|
_initialSegmentCount;
|
|
40
45
|
_claimExtensionThresholdMs;
|
|
41
46
|
_tokenClaimIntervalMs;
|
|
@@ -52,7 +57,15 @@ export class TrackingProcessorBuilder {
|
|
|
52
57
|
this._onReset = fn;
|
|
53
58
|
return this;
|
|
54
59
|
}
|
|
55
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* Events per batch/transaction (one UnitOfWork). Default: 1 (Axon parity).
|
|
62
|
+
*
|
|
63
|
+
* A batch shares one UnitOfWork, so all events in it share the per-UoW
|
|
64
|
+
* `load()` cache, DCB read-set, and a single atomic commit. Keep the default
|
|
65
|
+
* of 1 for processors that make per-entity decisions via `load()`
|
|
66
|
+
* (automations) so each decision stays isolated. Raise it for read-model
|
|
67
|
+
* projections that only apply idempotent view updates and want throughput.
|
|
68
|
+
*/
|
|
56
69
|
batchSize(size) {
|
|
57
70
|
this._batchSize = size;
|
|
58
71
|
return this;
|
|
@@ -81,11 +94,40 @@ export class TrackingProcessorBuilder {
|
|
|
81
94
|
this._errorHandler = handler;
|
|
82
95
|
return this;
|
|
83
96
|
}
|
|
84
|
-
/**
|
|
97
|
+
/**
|
|
98
|
+
* Set a dead letter queue for this processor. When set, handler failures are
|
|
99
|
+
* parked in the queue and the processor advances past them (Option A) rather
|
|
100
|
+
* than redelivering the failed batch indefinitely.
|
|
101
|
+
*/
|
|
85
102
|
deadLetterQueue(queue) {
|
|
86
103
|
this._deadLetterQueue = queue;
|
|
87
104
|
return this;
|
|
88
105
|
}
|
|
106
|
+
/** Policy deciding whether a failed event is enqueued in the DLQ. Default: always. */
|
|
107
|
+
enqueuePolicy(policy) {
|
|
108
|
+
this._enqueuePolicy = policy;
|
|
109
|
+
return this;
|
|
110
|
+
}
|
|
111
|
+
/** Policy deciding each event's ordered sequence for the DLQ. Default: first tag value. */
|
|
112
|
+
sequencingPolicy(policy) {
|
|
113
|
+
this._sequencingPolicy = policy;
|
|
114
|
+
return this;
|
|
115
|
+
}
|
|
116
|
+
/** Observability hook for dead-letter lifecycle events. */
|
|
117
|
+
deadLetterListener(listener) {
|
|
118
|
+
this._deadLetterListener = listener;
|
|
119
|
+
return this;
|
|
120
|
+
}
|
|
121
|
+
/** When true, resetTokens() also clears this processor's DLQ (Axon allowReset). */
|
|
122
|
+
resetClearsDeadLetters(enabled = true) {
|
|
123
|
+
this._resetClearsDeadLetters = enabled;
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
/** Automatically drain the DLQ on this interval (ms). Omit to disable scheduled retries. */
|
|
127
|
+
dlqRetryInterval(ms) {
|
|
128
|
+
this._dlqRetryIntervalMs = ms;
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
89
131
|
/** Number of segments to create on first startup. Default: 16 (Axon Framework parity). */
|
|
90
132
|
initialSegmentCount(count) {
|
|
91
133
|
this._initialSegmentCount = count;
|
|
@@ -103,6 +145,11 @@ export class TrackingProcessorBuilder {
|
|
|
103
145
|
unitOfWorkRunner: this._unitOfWorkRunner,
|
|
104
146
|
errorHandler: this._errorHandler,
|
|
105
147
|
deadLetterQueue: this._deadLetterQueue,
|
|
148
|
+
enqueuePolicy: this._enqueuePolicy,
|
|
149
|
+
sequencingPolicy: this._sequencingPolicy,
|
|
150
|
+
deadLetterListener: this._deadLetterListener,
|
|
151
|
+
resetClearsDeadLetters: this._resetClearsDeadLetters,
|
|
152
|
+
dlqRetryIntervalMs: this._dlqRetryIntervalMs,
|
|
106
153
|
initialSegmentCount: this._initialSegmentCount ?? 16,
|
|
107
154
|
claimExtensionThresholdMs: this._claimExtensionThresholdMs,
|
|
108
155
|
tokenClaimIntervalMs: this._tokenClaimIntervalMs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-processor-builder.js","sourceRoot":"","sources":["../src/event-processor-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event-processor-builder.js","sourceRoot":"","sources":["../src/event-processor-builder.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -42,8 +42,12 @@ export { registerCommandHandlersNatively, createCommandInvocation, type MinimalC
|
|
|
42
42
|
export { registerQueryHandlersNatively } from "./query-handling-module.js";
|
|
43
43
|
export { type SubscribingEventProcessor, type SubscribingEventProcessorOptions, createSubscribingEventProcessor, } from "./subscribing-event-processor.js";
|
|
44
44
|
export { type StreamingEventProcessor, type StreamingEventProcessorOptions, type EventProcessorStatus, createStreamingEventProcessor, } from "./streaming-event-processor.js";
|
|
45
|
-
export { type DeadLetter, type EnqueueDecision, type EnqueuePolicy, type SequencedDeadLetterQueue,
|
|
45
|
+
export { type DeadLetter, type EnqueueDecision, type EnqueuePolicy, type SequencedDeadLetterQueue, createDeadLetter, createInMemoryDeadLetterQueue, DeadLetterQueueOverflowError, } from "./dead-letter-queue.js";
|
|
46
|
+
export { Decisions, alwaysEnqueuePolicy, retryThenEvictPolicy, type RetryThenEvictOptions, ATTEMPTS_DIAGNOSTIC, } from "./enqueue-policy.js";
|
|
46
47
|
export { type DeadLetteringOptions, createDeadLetteringDelivery, } from "./dead-lettering-handler.js";
|
|
48
|
+
export { type DeadLetterReprocessor, type DeadLetterReprocessorOptions, type DeadLetterReplay, createDeadLetterReprocessor, } from "./dead-letter-reprocessor.js";
|
|
49
|
+
export { type DeadLetterListener, noOpDeadLetterListener, loggingDeadLetterListener, multiDeadLetterListener, } from "./dead-letter-listener.js";
|
|
50
|
+
export { type SequencingPolicy, sequentialPerTag, defaultSequencingPolicy, fullConcurrencyPolicy, } from "./sequencing-policy.js";
|
|
47
51
|
export { type IntermediateEventRepresentation, type EventUpcaster, singleEventUpcaster, upcasterChain, upcastingSerializer, } from "./upcaster.js";
|
|
48
52
|
export { type SchemaRegistry, jsonSerializer, zodValidatingSerializer, createEventSchemaRegistry, createCommandSchemaRegistry, createQuerySchemaRegistry, } from "./serializer.js";
|
|
49
53
|
export { type MessageMonitor, type MonitorCallback, noOpMessageMonitor, multiMessageMonitor, } from "./message-monitor.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,GAClB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,OAAO,EACP,KAAK,EACL,KAAK,GACN,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAC9B,aAAa,EACb,IAAI,EACJ,MAAM,EACN,MAAM,GACP,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,KAAK,EACL,KAAK,UAAU,EAEf,EAAE,IAAI,OAAO,EACb,eAAe,EACf,QAAQ,EACR,aAAa,EACb,OAAO,EACP,YAAY,EACZ,kBAAkB,EAClB,aAAa,GACd,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,KAAK,SAAS,EACd,QAAQ,EACR,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAM1B,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,EAAE,EACF,OAAO,GACR,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,KAAK,wBAAwB,EAC7B,cAAc,GACf,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EACL,KAAK,sBAAsB,EAC3B,YAAY,GACb,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,KAAK,sBAAsB,EAC3B,YAAY,GACb,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,KAAK,eAAe,EACpB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,8BAA8B,GAC/B,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,iCAAiC,EACjC,kCAAkC,GACnC,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAG9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAG5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAGxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAGlE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,KAAK,kBAAkB,EACvB,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,QAAQ,EACb,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAGxE,OAAO,EACL,KAAK,YAAY,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG1D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,mBAAmB,EACnB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EACL,KAAK,OAAO,EACZ,YAAY,EACZ,OAAO,EACP,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,MAAM,EACN,cAAc,GACf,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,KAAK,UAAU,EACf,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,uBAAuB,GACxB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,QAAQ,EACR,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACL,KAAK,kBAAkB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,EAC9B,kCAAkC,EAClC,eAAe,GAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,KAAK,WAAW,EAChB,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAG5D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,4BAA4B,GAC7B,MAAM,gCAAgC,CAAA;AAGvC,OAAO,EACL,+BAA+B,EAC/B,uBAAuB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAA;AAG1E,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,+BAA+B,GAChC,MAAM,kCAAkC,CAAA;AAGzC,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,oBAAoB,EACzB,6BAA6B,GAC9B,MAAM,gCAAgC,CAAA;AAGvC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,GAClB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,OAAO,EACP,KAAK,EACL,KAAK,GACN,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAC9B,aAAa,EACb,IAAI,EACJ,MAAM,EACN,MAAM,GACP,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,KAAK,EACL,KAAK,UAAU,EAEf,EAAE,IAAI,OAAO,EACb,eAAe,EACf,QAAQ,EACR,aAAa,EACb,OAAO,EACP,YAAY,EACZ,kBAAkB,EAClB,aAAa,GACd,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,KAAK,SAAS,EACd,QAAQ,EACR,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAM1B,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,EAAE,EACF,OAAO,GACR,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,KAAK,wBAAwB,EAC7B,cAAc,GACf,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EACL,KAAK,sBAAsB,EAC3B,YAAY,GACb,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,KAAK,sBAAsB,EAC3B,YAAY,GACb,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,KAAK,eAAe,EACpB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,8BAA8B,GAC/B,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,iCAAiC,EACjC,kCAAkC,GACnC,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAG9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAG5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAGxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAGlE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,KAAK,kBAAkB,EACvB,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,QAAQ,EACb,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAGxE,OAAO,EACL,KAAK,YAAY,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG1D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,mBAAmB,EACnB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EACL,KAAK,OAAO,EACZ,YAAY,EACZ,OAAO,EACP,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,MAAM,EACN,cAAc,GACf,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,KAAK,UAAU,EACf,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,uBAAuB,GACxB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,QAAQ,EACR,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACL,KAAK,kBAAkB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,EAC9B,kCAAkC,EAClC,eAAe,GAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,KAAK,WAAW,EAChB,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAG5D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,4BAA4B,GAC7B,MAAM,gCAAgC,CAAA;AAGvC,OAAO,EACL,+BAA+B,EAC/B,uBAAuB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAA;AAG1E,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,+BAA+B,GAChC,MAAM,kCAAkC,CAAA;AAGzC,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,oBAAoB,EACzB,6BAA6B,GAC9B,MAAM,gCAAgC,CAAA;AAGvC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,gBAAgB,EAChB,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,KAAK,oBAAoB,EACzB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAA;AAGpC,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,gBAAgB,EACrB,2BAA2B,GAC5B,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EACL,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EACL,KAAK,gBAAgB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EACL,KAAK,+BAA+B,EACpC,KAAK,aAAa,EAClB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,GACpB,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,KAAK,cAAc,EACnB,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,KAAK,sBAAsB,EAC3B,4BAA4B,GAC7B,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EACL,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,gCAAgC,GACjC,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAG1E,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,wBAAwB,EACxB,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -85,9 +85,17 @@ export { createSubscribingEventProcessor, } from "./subscribing-event-processor.
|
|
|
85
85
|
// Streaming event processor
|
|
86
86
|
export { createStreamingEventProcessor, } from "./streaming-event-processor.js";
|
|
87
87
|
// Dead letter queue
|
|
88
|
-
export {
|
|
88
|
+
export { createDeadLetter, createInMemoryDeadLetterQueue, DeadLetterQueueOverflowError, } from "./dead-letter-queue.js";
|
|
89
|
+
// Enqueue policies + decisions
|
|
90
|
+
export { Decisions, alwaysEnqueuePolicy, retryThenEvictPolicy, ATTEMPTS_DIAGNOSTIC, } from "./enqueue-policy.js";
|
|
89
91
|
// Dead-lettering event delivery
|
|
90
92
|
export { createDeadLetteringDelivery, } from "./dead-lettering-handler.js";
|
|
93
|
+
// Dead-letter reprocessing
|
|
94
|
+
export { createDeadLetterReprocessor, } from "./dead-letter-reprocessor.js";
|
|
95
|
+
// Dead-letter observability
|
|
96
|
+
export { noOpDeadLetterListener, loggingDeadLetterListener, multiDeadLetterListener, } from "./dead-letter-listener.js";
|
|
97
|
+
// Sequencing policy
|
|
98
|
+
export { sequentialPerTag, defaultSequencingPolicy, fullConcurrencyPolicy, } from "./sequencing-policy.js";
|
|
91
99
|
// Upcasting
|
|
92
100
|
export { singleEventUpcaster, upcasterChain, upcastingSerializer, } from "./upcaster.js";
|
|
93
101
|
// Serialization
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAON,MAAM,cAAc,CAAA;AAErB,cAAc;AACd,OAAO,EAKL,OAAO,EACP,KAAK,EACL,KAAK,GACN,MAAM,iBAAiB,CAAA;AAExB,iBAAiB;AACjB,OAAO,EAML,aAAa,EACb,IAAI,EACJ,MAAM,EACN,MAAM,GACP,MAAM,qBAAqB,CAAA;AAE5B,sEAAsE;AACtE,OAAO,EACL,KAAK;AAEL,mDAAmD;AACnD,EAAE,IAAI,OAAO,EACb,eAAe,EACf,QAAQ,EACR,aAAa,EACb,OAAO,EACP,YAAY,EACZ,kBAAkB,EAClB,aAAa,GACd,MAAM,uBAAuB,CAAA;AAE9B,sEAAsE;AACtE,OAAO,EAEL,QAAQ,EACR,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAE1B,uBAAuB;AACvB,mEAAmE;AACnE,iCAAiC;AACjC,8GAA8G;AAC9G,OAAO,EAIL,EAAE,EACF,OAAO,GACR,MAAM,cAAc,CAAA;AAErB,mBAAmB;AACnB,OAAO,EAEL,cAAc,GACf,MAAM,sBAAsB,CAAA;AAE7B,iBAAiB;AACjB,OAAO,EAEL,YAAY,GACb,MAAM,oBAAoB,CAAA;AAE3B,iBAAiB;AACjB,OAAO,EAEL,YAAY,GACb,MAAM,oBAAoB,CAAA;AAE3B,eAAe;AACf,OAAO,EAGN,MAAM,kBAAkB,CAAA;AAEzB,qBAAqB;AACrB,OAAO,EAEL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAA;AAE9B,oBAAoB;AACpB,OAAO,EAGL,8BAA8B,GAC/B,MAAM,uBAAuB,CAAA;AAE9B,mBAAmB;AACnB,OAAO,EAEL,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,iCAAiC,EACjC,kCAAkC,GACnC,MAAM,uBAAuB,CAAA;AAE9B,iBAAiB;AACjB,OAAO,EAAmB,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAiB,MAAM,gBAAgB,CAAA;AAE9C,sBAAsB;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5D,8BAA8B;AAC9B,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAExE,yBAAyB;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAElE,WAAW;AACX,OAAO,EAGL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAErB,uBAAuB;AACvB,OAAO,EAGL,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAEL,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,0BAA0B,CAAA;AAEjC,4BAA4B;AAC5B,OAAO,EAAkB,MAAM,iBAAiB,CAAA;AAEhD,kCAAkC;AAClC,OAAO,EAGL,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AAEvB,mCAAmC;AACnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAExE,gBAAgB;AAChB,OAAO,EAEL,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAE3B,mCAAmC;AACnC,OAAO,EAAuB,MAAM,sBAAsB,CAAA;AAE1D,gCAAgC;AAChC,OAAO,EAKL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAE1B,kBAAkB;AAClB,OAAO,EAIL,mBAAmB,EACnB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,+BAA+B,CAAA;AAEtC,WAAW;AACX,OAAO,EAEL,YAAY,EACZ,OAAO,EACP,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,MAAM,EACN,cAAc,GACf,MAAM,cAAc,CAAA;AAErB,cAAc;AACd,OAAO,EAEL,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,kBAAkB,CAAA;AAEzB,kBAAkB;AAClB,OAAO,EAIL,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,uBAAuB,GACxB,MAAM,qBAAqB,CAAA;AAE5B,8CAA8C;AAC9C,OAAO,EACL,QAAQ,EACR,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAE1B,yBAAyB;AACzB,OAAO,EAEL,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,EAC9B,kCAAkC,EAClC,eAAe,GAChB,MAAM,kBAAkB,CAAA;AAEzB,uBAAuB;AACvB,OAAO,EAEL,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,2BAA2B,CAAA;AAElC,4DAA4D;AAC5D,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAE5D,mBAAmB;AACnB,OAAO,EAIN,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAGL,4BAA4B,GAC7B,MAAM,gCAAgC,CAAA;AAEvC,sFAAsF;AACtF,OAAO,EACL,+BAA+B,EAC/B,uBAAuB,GAExB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAA;AAE1E,8BAA8B;AAC9B,OAAO,EAGL,+BAA+B,GAChC,MAAM,kCAAkC,CAAA;AAEzC,4BAA4B;AAC5B,OAAO,EAIL,6BAA6B,GAC9B,MAAM,gCAAgC,CAAA;AAEvC,oBAAoB;AACpB,OAAO,EAKL,gBAAgB,EAChB,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAA;AAE/B,+BAA+B;AAC/B,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EAEpB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAE5B,gCAAgC;AAChC,OAAO,EAEL,2BAA2B,GAC5B,MAAM,6BAA6B,CAAA;AAEpC,2BAA2B;AAC3B,OAAO,EAIL,2BAA2B,GAC5B,MAAM,8BAA8B,CAAA;AAErC,4BAA4B;AAC5B,OAAO,EAEL,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,2BAA2B,CAAA;AAElC,oBAAoB;AACpB,OAAO,EAEL,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,wBAAwB,CAAA;AAE/B,YAAY;AACZ,OAAO,EAGL,mBAAmB,EACnB,aAAa,EACb,mBAAmB,GACpB,MAAM,eAAe,CAAA;AAEtB,gBAAgB;AAChB,OAAO,EAEL,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,iBAAiB,CAAA;AAExB,mBAAmB;AACnB,OAAO,EAGL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAEL,4BAA4B,GAC7B,MAAM,+BAA+B,CAAA;AAEtC,8BAA8B;AAC9B,OAAO,EAIL,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,gCAAgC,GACjC,MAAM,+BAA+B,CAAA;AAEtC,mCAAmC;AACnC,OAAO,EAA+B,MAAM,8BAA8B,CAAA;AAE1E,2BAA2B;AAC3B,OAAO,EAIL,wBAAwB,EACxB,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,8BAA8B,CAAA;AAErC,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -29,7 +29,7 @@ import type { SequencedDeadLetterQueue } from "./dead-letter-queue.js";
|
|
|
29
29
|
* with `registerEventProcessor()` instead.
|
|
30
30
|
*/
|
|
31
31
|
export interface ProcessorConfiguration {
|
|
32
|
-
/** Events per transaction. Default:
|
|
32
|
+
/** Events per transaction (one UnitOfWork). Default: 1 (Axon parity). */
|
|
33
33
|
batchSize?: number;
|
|
34
34
|
/** Number of segments to create on first startup. Default: 1 */
|
|
35
35
|
initialSegmentCount?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor-configuration.d.ts","sourceRoot":"","sources":["../src/processor-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAChF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAEtE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,
|
|
1
|
+
{"version":3,"file":"processor-configuration.d.ts","sourceRoot":"","sources":["../src/processor-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAChF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAEtE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B,mDAAmD;IACnD,UAAU,CAAC,EAAE,UAAU,CAAA;IAEvB,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAE5B,qDAAqD;IACrD,YAAY,CAAC,EAAE,2BAA2B,CAAA;IAE1C,4CAA4C;IAC5C,eAAe,CAAC,EAAE,wBAAwB,CAAA;IAE1C,sDAAsD;IACtD,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAElC,sEAAsE;IACtE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { EventMessage } from "./message.js";
|
|
2
|
+
/**
|
|
3
|
+
* Decides which ordered sequence an event belongs to.
|
|
4
|
+
*
|
|
5
|
+
* Events sharing a sequence identifier are processed in order; if one is
|
|
6
|
+
* dead-lettered, subsequent events in the same sequence are parked behind it
|
|
7
|
+
* (see {@link createDeadLetteringDelivery}). This is the minimal analog of
|
|
8
|
+
* Axon's `SequencingPolicy` — a plain function rather than a class hierarchy,
|
|
9
|
+
* because Kronos does not (yet) do segmented parallel processing where the
|
|
10
|
+
* policy would also drive segment assignment. When/if it does, this same type
|
|
11
|
+
* is the seam to extend.
|
|
12
|
+
*/
|
|
13
|
+
export type SequencingPolicy = (event: EventMessage) => string;
|
|
14
|
+
/**
|
|
15
|
+
* Sequences events by the value of a named tag, falling back to the event name
|
|
16
|
+
* when the tag is absent. The DCB/tag-world analog of Axon's
|
|
17
|
+
* `SequentialPerAggregatePolicy` (aggregate id → sequence).
|
|
18
|
+
*
|
|
19
|
+
* Prefer this — naming the tag explicitly — over relying on tag *order*.
|
|
20
|
+
*
|
|
21
|
+
* ```typescript
|
|
22
|
+
* trackingProcessor("balances")
|
|
23
|
+
* .deadLetterQueue(dlq)
|
|
24
|
+
* .sequencingPolicy(sequentialPerTag("accountId"))
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function sequentialPerTag(tagKey: string): SequencingPolicy;
|
|
28
|
+
/**
|
|
29
|
+
* Default policy: sequence by the first tag value, else the event name.
|
|
30
|
+
*
|
|
31
|
+
* Order-dependent on the tag list, so it is a reasonable default but a poor
|
|
32
|
+
* deliberate choice — prefer {@link sequentialPerTag} with an explicit key.
|
|
33
|
+
*/
|
|
34
|
+
export declare const defaultSequencingPolicy: SequencingPolicy;
|
|
35
|
+
/**
|
|
36
|
+
* Full concurrency: every event is its own singleton sequence (keyed by the
|
|
37
|
+
* unique message identifier), so no two events ever block each other. Use when
|
|
38
|
+
* handlers carry no cross-event ordering requirement.
|
|
39
|
+
*/
|
|
40
|
+
export declare const fullConcurrencyPolicy: SequencingPolicy;
|
|
41
|
+
//# sourceMappingURL=sequencing-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequencing-policy.d.ts","sourceRoot":"","sources":["../src/sequencing-policy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAA;AAE9D;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAKjE;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAKrC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,gBAA8C,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { qualifiedNameToString } from "@kronos-ts/common";
|
|
2
|
+
/**
|
|
3
|
+
* Sequences events by the value of a named tag, falling back to the event name
|
|
4
|
+
* when the tag is absent. The DCB/tag-world analog of Axon's
|
|
5
|
+
* `SequentialPerAggregatePolicy` (aggregate id → sequence).
|
|
6
|
+
*
|
|
7
|
+
* Prefer this — naming the tag explicitly — over relying on tag *order*.
|
|
8
|
+
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* trackingProcessor("balances")
|
|
11
|
+
* .deadLetterQueue(dlq)
|
|
12
|
+
* .sequencingPolicy(sequentialPerTag("accountId"))
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export function sequentialPerTag(tagKey) {
|
|
16
|
+
return (event) => {
|
|
17
|
+
const match = event.tags.find((t) => t.key === tagKey);
|
|
18
|
+
return match ? match.value : qualifiedNameToString(event.name);
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Default policy: sequence by the first tag value, else the event name.
|
|
23
|
+
*
|
|
24
|
+
* Order-dependent on the tag list, so it is a reasonable default but a poor
|
|
25
|
+
* deliberate choice — prefer {@link sequentialPerTag} with an explicit key.
|
|
26
|
+
*/
|
|
27
|
+
export const defaultSequencingPolicy = (event) => {
|
|
28
|
+
if (event.tags.length > 0) {
|
|
29
|
+
return event.tags[0].value;
|
|
30
|
+
}
|
|
31
|
+
return qualifiedNameToString(event.name);
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Full concurrency: every event is its own singleton sequence (keyed by the
|
|
35
|
+
* unique message identifier), so no two events ever block each other. Use when
|
|
36
|
+
* handlers carry no cross-event ordering requirement.
|
|
37
|
+
*/
|
|
38
|
+
export const fullConcurrencyPolicy = (event) => event.identifier;
|
|
39
|
+
//# sourceMappingURL=sequencing-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequencing-policy.js","sourceRoot":"","sources":["../src/sequencing-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAgBzD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAA;QACtD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChE,CAAC,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAqB,CAAC,KAAK,EAAE,EAAE;IACjE,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,CAAA;IAC7B,CAAC;IACD,OAAO,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAqB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAA"}
|
|
@@ -2,6 +2,9 @@ import type { EventHandlerDefinition } from "./event-handler.js";
|
|
|
2
2
|
import type { StreamableEventSource } from "./event-source.js";
|
|
3
3
|
import type { UoWRunner } from "./unit-of-work.js";
|
|
4
4
|
import type { TokenStore } from "./token-store.js";
|
|
5
|
+
import type { SequencedDeadLetterQueue, EnqueuePolicy } from "./dead-letter-queue.js";
|
|
6
|
+
import type { SequencingPolicy } from "./sequencing-policy.js";
|
|
7
|
+
import { type DeadLetterListener } from "./dead-letter-listener.js";
|
|
5
8
|
import type { EventProcessingErrorHandler } from "./tracking-event-processor.js";
|
|
6
9
|
import type { HandlerEnhancerDefinition } from "./handler-enhancer.js";
|
|
7
10
|
import type { CommandBus } from "./command-bus.js";
|
|
@@ -36,6 +39,9 @@ export interface StreamingEventProcessor {
|
|
|
36
39
|
start(): Promise<void>;
|
|
37
40
|
stop(): void;
|
|
38
41
|
resetTokens(startPosition?: bigint, resetContext?: unknown): Promise<void>;
|
|
42
|
+
/** Replay parked dead letters back through the handlers (oldest matching
|
|
43
|
+
* sequence). No-op returning false when no DLQ is configured. */
|
|
44
|
+
reprocessDeadLetters(filter?: (sequenceId: string) => boolean): Promise<boolean>;
|
|
39
45
|
splitSegment(segmentId: number): Promise<boolean>;
|
|
40
46
|
mergeSegment(segmentId: number): Promise<boolean>;
|
|
41
47
|
releaseSegment(segmentId: number): Promise<void>;
|
|
@@ -54,6 +60,24 @@ export interface StreamingEventProcessorOptions {
|
|
|
54
60
|
onEventDelivery?: () => void;
|
|
55
61
|
unitOfWorkRunner?: UoWRunner;
|
|
56
62
|
tokenStore?: TokenStore;
|
|
63
|
+
/**
|
|
64
|
+
* Dead letter queue for poison-pill handling. When set, a handler failure
|
|
65
|
+
* parks the event in the DLQ (per {@link enqueuePolicy}) and the batch
|
|
66
|
+
* commits so the token advances past it — instead of redelivering the batch
|
|
67
|
+
* forever. The enqueue runs inside the batch UnitOfWork, so it commits in the
|
|
68
|
+
* same transaction as the token update.
|
|
69
|
+
*/
|
|
70
|
+
deadLetterQueue?: SequencedDeadLetterQueue;
|
|
71
|
+
/** Decides whether a failed event is enqueued. Default: always enqueue. */
|
|
72
|
+
enqueuePolicy?: EnqueuePolicy;
|
|
73
|
+
/** Decides each event's ordered sequence for the DLQ. Default: first tag value. */
|
|
74
|
+
sequencingPolicy?: SequencingPolicy;
|
|
75
|
+
/** Observability hook for dead-letter lifecycle events. Default: no-op. */
|
|
76
|
+
deadLetterListener?: DeadLetterListener;
|
|
77
|
+
/** When true, resetTokens() also clears this processor's DLQ (Axon allowReset). Default: false. */
|
|
78
|
+
resetClearsDeadLetters?: boolean;
|
|
79
|
+
/** When set, automatically drains the DLQ on this interval (ms). Off by default. */
|
|
80
|
+
dlqRetryIntervalMs?: number;
|
|
57
81
|
batchSize?: number;
|
|
58
82
|
/** Delay before retrying after a batch failure, in ms. Backs off to avoid hot-looping a deterministic failure. */
|
|
59
83
|
errorBackoffMs?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming-event-processor.d.ts","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAiC,MAAM,mBAAmB,CAAA;AAC7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAEhF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AAWtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAK9C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,0BAA0B;IAC1B,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IACrD,0EAA0E;IAC1E,aAAa,IAAI,OAAO,CAAA;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,IAAI,CAAA;IACZ,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1E,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,qBAAqB,CAAA;IAClC,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAA;IACpD,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kHAAkH;IAClH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,2BAA2B,CAAA;IAC1C,6EAA6E;IAC7E,eAAe,CAAC,EAAE,yBAAyB,CAAA;IAC3C,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACrC;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,8BAA8B,GACtC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"streaming-event-processor.d.ts","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"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"}
|