@zdavison/matador 2.0.8 → 2.0.9

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 (196) hide show
  1. package/package.json +1 -1
  2. package/src/index.ts +1 -0
  3. package/dist/checkpoint/context.d.ts +0 -59
  4. package/dist/checkpoint/context.d.ts.map +0 -1
  5. package/dist/checkpoint/context.js +0 -140
  6. package/dist/checkpoint/context.test.d.ts +0 -2
  7. package/dist/checkpoint/context.test.d.ts.map +0 -1
  8. package/dist/checkpoint/context.test.js +0 -424
  9. package/dist/checkpoint/index.d.ts +0 -7
  10. package/dist/checkpoint/index.d.ts.map +0 -1
  11. package/dist/checkpoint/index.js +0 -6
  12. package/dist/checkpoint/stores/memory.d.ts +0 -29
  13. package/dist/checkpoint/stores/memory.d.ts.map +0 -1
  14. package/dist/checkpoint/stores/memory.js +0 -39
  15. package/dist/checkpoint/stores/noop.d.ts +0 -14
  16. package/dist/checkpoint/stores/noop.d.ts.map +0 -1
  17. package/dist/checkpoint/stores/noop.js +0 -18
  18. package/dist/checkpoint/stores/stores.test.d.ts +0 -2
  19. package/dist/checkpoint/stores/stores.test.d.ts.map +0 -1
  20. package/dist/checkpoint/stores/stores.test.js +0 -146
  21. package/dist/checkpoint/types.d.ts +0 -119
  22. package/dist/checkpoint/types.d.ts.map +0 -1
  23. package/dist/checkpoint/types.js +0 -1
  24. package/dist/codec/codec.d.ts +0 -29
  25. package/dist/codec/codec.d.ts.map +0 -1
  26. package/dist/codec/codec.js +0 -15
  27. package/dist/codec/header-aware-codec.d.ts +0 -36
  28. package/dist/codec/header-aware-codec.d.ts.map +0 -1
  29. package/dist/codec/header-aware-codec.js +0 -1
  30. package/dist/codec/index.d.ts +0 -6
  31. package/dist/codec/index.d.ts.map +0 -1
  32. package/dist/codec/index.js +0 -3
  33. package/dist/codec/json-codec.d.ts +0 -13
  34. package/dist/codec/json-codec.d.ts.map +0 -1
  35. package/dist/codec/json-codec.js +0 -64
  36. package/dist/codec/rabbitmq-codec.d.ts +0 -28
  37. package/dist/codec/rabbitmq-codec.d.ts.map +0 -1
  38. package/dist/codec/rabbitmq-codec.js +0 -242
  39. package/dist/codec/rabbitmq-codec.test.d.ts +0 -2
  40. package/dist/codec/rabbitmq-codec.test.d.ts.map +0 -1
  41. package/dist/codec/rabbitmq-codec.test.js +0 -433
  42. package/dist/core/fanout.d.ts +0 -59
  43. package/dist/core/fanout.d.ts.map +0 -1
  44. package/dist/core/fanout.js +0 -121
  45. package/dist/core/fanout.test.d.ts +0 -2
  46. package/dist/core/fanout.test.d.ts.map +0 -1
  47. package/dist/core/fanout.test.js +0 -1054
  48. package/dist/core/index.d.ts +0 -7
  49. package/dist/core/index.d.ts.map +0 -1
  50. package/dist/core/index.js +0 -3
  51. package/dist/core/matador.d.ts +0 -133
  52. package/dist/core/matador.d.ts.map +0 -1
  53. package/dist/core/matador.js +0 -228
  54. package/dist/core/matador.test.d.ts +0 -2
  55. package/dist/core/matador.test.d.ts.map +0 -1
  56. package/dist/core/matador.test.js +0 -446
  57. package/dist/core/shutdown.d.ts +0 -78
  58. package/dist/core/shutdown.d.ts.map +0 -1
  59. package/dist/core/shutdown.js +0 -111
  60. package/dist/core/shutdown.test.d.ts +0 -2
  61. package/dist/core/shutdown.test.d.ts.map +0 -1
  62. package/dist/core/shutdown.test.js +0 -524
  63. package/dist/errors/checkpoint-errors.d.ts +0 -30
  64. package/dist/errors/checkpoint-errors.d.ts.map +0 -1
  65. package/dist/errors/checkpoint-errors.js +0 -49
  66. package/dist/errors/has-description.d.ts +0 -18
  67. package/dist/errors/has-description.d.ts.map +0 -1
  68. package/dist/errors/has-description.js +0 -9
  69. package/dist/errors/index.d.ts +0 -6
  70. package/dist/errors/index.d.ts.map +0 -1
  71. package/dist/errors/index.js +0 -22
  72. package/dist/errors/matador-errors.d.ts +0 -183
  73. package/dist/errors/matador-errors.d.ts.map +0 -1
  74. package/dist/errors/matador-errors.js +0 -376
  75. package/dist/errors/retry-errors.d.ts +0 -102
  76. package/dist/errors/retry-errors.d.ts.map +0 -1
  77. package/dist/errors/retry-errors.js +0 -155
  78. package/dist/errors/retry-errors.test.d.ts +0 -2
  79. package/dist/errors/retry-errors.test.d.ts.map +0 -1
  80. package/dist/errors/retry-errors.test.js +0 -136
  81. package/dist/hooks/index.d.ts +0 -4
  82. package/dist/hooks/index.d.ts.map +0 -1
  83. package/dist/hooks/index.js +0 -2
  84. package/dist/hooks/safe-hooks.d.ts +0 -32
  85. package/dist/hooks/safe-hooks.d.ts.map +0 -1
  86. package/dist/hooks/safe-hooks.js +0 -120
  87. package/dist/hooks/types.d.ts +0 -172
  88. package/dist/hooks/types.d.ts.map +0 -1
  89. package/dist/hooks/types.js +0 -9
  90. package/dist/index.cjs +0 -3228
  91. package/dist/index.cjs.map +0 -1
  92. package/dist/index.d.cts +0 -23
  93. package/dist/index.d.ts +0 -23
  94. package/dist/index.d.ts.map +0 -1
  95. package/dist/index.js +0 -31
  96. package/dist/index.js.map +0 -1
  97. package/dist/pipeline/index.d.ts +0 -3
  98. package/dist/pipeline/index.d.ts.map +0 -1
  99. package/dist/pipeline/index.js +0 -1
  100. package/dist/pipeline/pipeline.d.ts +0 -63
  101. package/dist/pipeline/pipeline.d.ts.map +0 -1
  102. package/dist/pipeline/pipeline.js +0 -273
  103. package/dist/pipeline/pipeline.test.d.ts +0 -2
  104. package/dist/pipeline/pipeline.test.d.ts.map +0 -1
  105. package/dist/pipeline/pipeline.test.js +0 -1112
  106. package/dist/retry/index.d.ts +0 -4
  107. package/dist/retry/index.d.ts.map +0 -1
  108. package/dist/retry/index.js +0 -1
  109. package/dist/retry/policy.d.ts +0 -43
  110. package/dist/retry/policy.d.ts.map +0 -1
  111. package/dist/retry/policy.js +0 -1
  112. package/dist/retry/standard-policy.d.ts +0 -44
  113. package/dist/retry/standard-policy.d.ts.map +0 -1
  114. package/dist/retry/standard-policy.js +0 -102
  115. package/dist/retry/standard-policy.test.d.ts +0 -2
  116. package/dist/retry/standard-policy.test.d.ts.map +0 -1
  117. package/dist/retry/standard-policy.test.js +0 -196
  118. package/dist/schema/index.d.ts +0 -4
  119. package/dist/schema/index.d.ts.map +0 -1
  120. package/dist/schema/index.js +0 -2
  121. package/dist/schema/registry.d.ts +0 -63
  122. package/dist/schema/registry.d.ts.map +0 -1
  123. package/dist/schema/registry.js +0 -174
  124. package/dist/schema/registry.test.d.ts +0 -2
  125. package/dist/schema/registry.test.d.ts.map +0 -1
  126. package/dist/schema/registry.test.js +0 -278
  127. package/dist/schema/types.d.ts +0 -158
  128. package/dist/schema/types.d.ts.map +0 -1
  129. package/dist/schema/types.js +0 -74
  130. package/dist/schema/types.test.d.ts +0 -2
  131. package/dist/schema/types.test.d.ts.map +0 -1
  132. package/dist/schema/types.test.js +0 -242
  133. package/dist/topology/builder.d.ts +0 -80
  134. package/dist/topology/builder.d.ts.map +0 -1
  135. package/dist/topology/builder.js +0 -165
  136. package/dist/topology/builder.test.d.ts +0 -2
  137. package/dist/topology/builder.test.d.ts.map +0 -1
  138. package/dist/topology/builder.test.js +0 -360
  139. package/dist/topology/index.d.ts +0 -5
  140. package/dist/topology/index.d.ts.map +0 -1
  141. package/dist/topology/index.js +0 -2
  142. package/dist/topology/types.d.ts +0 -128
  143. package/dist/topology/types.d.ts.map +0 -1
  144. package/dist/topology/types.js +0 -28
  145. package/dist/transport/capabilities.d.ts +0 -66
  146. package/dist/transport/capabilities.d.ts.map +0 -1
  147. package/dist/transport/capabilities.js +0 -18
  148. package/dist/transport/connection-manager.d.ts +0 -95
  149. package/dist/transport/connection-manager.d.ts.map +0 -1
  150. package/dist/transport/connection-manager.js +0 -144
  151. package/dist/transport/index.d.ts +0 -11
  152. package/dist/transport/index.d.ts.map +0 -1
  153. package/dist/transport/index.js +0 -5
  154. package/dist/transport/local/local-transport.d.ts +0 -62
  155. package/dist/transport/local/local-transport.d.ts.map +0 -1
  156. package/dist/transport/local/local-transport.js +0 -241
  157. package/dist/transport/local/local-transport.test.d.ts +0 -2
  158. package/dist/transport/local/local-transport.test.d.ts.map +0 -1
  159. package/dist/transport/local/local-transport.test.js +0 -192
  160. package/dist/transport/multi/multi-transport.d.ts +0 -94
  161. package/dist/transport/multi/multi-transport.d.ts.map +0 -1
  162. package/dist/transport/multi/multi-transport.js +0 -184
  163. package/dist/transport/multi/multi-transport.test.d.ts +0 -2
  164. package/dist/transport/multi/multi-transport.test.d.ts.map +0 -1
  165. package/dist/transport/multi/multi-transport.test.js +0 -236
  166. package/dist/transport/rabbitmq/rabbitmq-transport.d.ts +0 -83
  167. package/dist/transport/rabbitmq/rabbitmq-transport.d.ts.map +0 -1
  168. package/dist/transport/rabbitmq/rabbitmq-transport.js +0 -541
  169. package/dist/transport/rabbitmq/rabbitmq-transport.test.d.ts +0 -2
  170. package/dist/transport/rabbitmq/rabbitmq-transport.test.d.ts.map +0 -1
  171. package/dist/transport/rabbitmq/rabbitmq-transport.test.js +0 -100
  172. package/dist/transport/transport.d.ts +0 -152
  173. package/dist/transport/transport.d.ts.map +0 -1
  174. package/dist/transport/transport.js +0 -1
  175. package/dist/types/common.d.ts +0 -41
  176. package/dist/types/common.d.ts.map +0 -1
  177. package/dist/types/common.js +0 -12
  178. package/dist/types/dispatcher.d.ts +0 -14
  179. package/dist/types/dispatcher.d.ts.map +0 -1
  180. package/dist/types/dispatcher.js +0 -1
  181. package/dist/types/envelope.d.ts +0 -131
  182. package/dist/types/envelope.d.ts.map +0 -1
  183. package/dist/types/envelope.js +0 -99
  184. package/dist/types/event.d.ts +0 -92
  185. package/dist/types/event.d.ts.map +0 -1
  186. package/dist/types/event.js +0 -26
  187. package/dist/types/event.test.d.ts +0 -2
  188. package/dist/types/event.test.d.ts.map +0 -1
  189. package/dist/types/event.test.js +0 -130
  190. package/dist/types/index.d.ts +0 -11
  191. package/dist/types/index.d.ts.map +0 -1
  192. package/dist/types/index.js +0 -4
  193. package/dist/types/subscriber.d.ts +0 -227
  194. package/dist/types/subscriber.d.ts.map +0 -1
  195. package/dist/types/subscriber.js +0 -97
  196. package/tsconfig.tsbuildinfo +0 -1
@@ -1,152 +0,0 @@
1
- import type { Topology } from '../topology/types.js';
2
- import type { Envelope } from '../types/index.js';
3
- import type { TransportCapabilities } from './capabilities.js';
4
- /**
5
- * Transport-specific send options.
6
- * Each transport can define its own options under its transport name key.
7
- */
8
- export interface TransportSendOptions {
9
- /** RabbitMQ-specific send options */
10
- readonly rabbitmq?: RabbitMQSendOptions | undefined;
11
- }
12
- /**
13
- * RabbitMQ-specific options for sending messages.
14
- */
15
- export interface RabbitMQSendOptions {
16
- /** Message expiration in milliseconds */
17
- readonly expiration?: number | undefined;
18
- /** Message persistence mode */
19
- readonly persistent?: boolean | undefined;
20
- /** Routing key override */
21
- readonly routingKey?: string | undefined;
22
- }
23
- /**
24
- * Options for sending a message.
25
- */
26
- export interface SendOptions {
27
- /** Delay delivery by this many milliseconds */
28
- readonly delay?: number | undefined;
29
- /** Priority level (0-255, higher = more important) */
30
- readonly priority?: number | undefined;
31
- /** Transport-specific options */
32
- readonly transport?: TransportSendOptions | undefined;
33
- }
34
- /**
35
- * Transport-specific subscribe options.
36
- * Each transport can define its own options under its transport name key.
37
- */
38
- export interface TransportSubscribeOptions {
39
- /** RabbitMQ-specific subscribe options */
40
- readonly rabbitmq?: RabbitMQSubscribeOptions | undefined;
41
- }
42
- /**
43
- * RabbitMQ-specific options for subscribing.
44
- */
45
- export interface RabbitMQSubscribeOptions {
46
- /** Consumer tag */
47
- readonly consumerTag?: string | undefined;
48
- /** Prefetch count (overrides concurrency option) */
49
- readonly prefetch?: number | undefined;
50
- /** Exclusive consumer */
51
- readonly exclusive?: boolean | undefined;
52
- }
53
- /**
54
- * Options for subscribing to a queue.
55
- */
56
- export interface SubscribeOptions {
57
- /** Concurrency hint (number of concurrent handlers) */
58
- readonly concurrency?: number | undefined;
59
- /** Override default delivery semantics */
60
- readonly deliveryMode?: 'at-least-once' | 'at-most-once' | undefined;
61
- /** Transport-specific options */
62
- readonly transport?: TransportSubscribeOptions | undefined;
63
- }
64
- /**
65
- * Receipt for a received message, used for acknowledgment.
66
- */
67
- export interface MessageReceipt {
68
- /** Opaque handle for the transport to identify the message */
69
- readonly handle: unknown;
70
- /** True if this is a redelivery (transport-reported if capable) */
71
- readonly redelivered: boolean;
72
- /** 1-based attempt number (transport-reported if capable, else from envelope) */
73
- readonly attemptNumber: number;
74
- /**
75
- * Native delivery count from the transport.
76
- * Tracks how many times this specific message was delivered without acknowledgment.
77
- * Used for poison message detection to prevent crash loops.
78
- * For transports that don't track this, defaults to attemptNumber.
79
- */
80
- readonly deliveryCount: number;
81
- /** Original queue/topic the message came from */
82
- readonly sourceQueue: string;
83
- /**
84
- * The name of the transport that received this message (e.g., 'local', 'rabbitmq').
85
- * For MultiTransport, this is the actual underlying transport, not the wrapper name.
86
- */
87
- readonly sourceTransport: string;
88
- }
89
- /**
90
- * Handler function for processing received messages.
91
- */
92
- export type MessageHandler = (envelope: Envelope, receipt: MessageReceipt) => Promise<void>;
93
- /**
94
- * Subscription handle for managing active subscriptions.
95
- */
96
- export interface Subscription {
97
- /** Cancels the subscription */
98
- unsubscribe(): Promise<void>;
99
- /** Whether the subscription is currently active */
100
- readonly isActive: boolean;
101
- }
102
- /**
103
- * Transport interface - the minimal abstraction for message delivery.
104
- * Transports handle only I/O; all business logic lives in Matador core.
105
- */
106
- export interface Transport {
107
- /** Transport identifier */
108
- readonly name: string;
109
- /** Capabilities supported by this transport */
110
- readonly capabilities: TransportCapabilities;
111
- /**
112
- * Establishes connection to the message broker.
113
- * Should handle initial connection with retries.
114
- */
115
- connect(): Promise<void>;
116
- /**
117
- * Gracefully disconnects from the message broker.
118
- * Should close all consumers before connection.
119
- */
120
- disconnect(): Promise<void>;
121
- /**
122
- * Returns whether the transport is currently connected.
123
- */
124
- isConnected(): boolean;
125
- /**
126
- * Translates and applies the generic topology to the transport.
127
- * Creates necessary queues, exchanges, topics, etc.
128
- */
129
- applyTopology(topology: Topology): Promise<void>;
130
- /**
131
- * Sends a message to the specified queue.
132
- * @returns The name of the transport that was used (useful for MultiTransport)
133
- */
134
- send(queue: string, envelope: Envelope, options?: SendOptions): Promise<Transport['name']>;
135
- /**
136
- * Subscribes to messages on the specified queue.
137
- * The handler receives decoded envelopes and receipts.
138
- */
139
- subscribe(queue: string, handler: MessageHandler, options?: SubscribeOptions): Promise<Subscription>;
140
- /**
141
- * Acknowledges/completes a message.
142
- * Called after processing is done (success, retry scheduled, or dead-lettered).
143
- */
144
- complete(receipt: MessageReceipt): Promise<void>;
145
- /**
146
- * Sends a message to the dead-letter queue.
147
- * For transports with native DL routing, may use native mechanism.
148
- * For others, sends to DLQ then completes original.
149
- */
150
- sendToDeadLetter?(receipt: MessageReceipt, dlqName: string, envelope: Envelope, reason: string): Promise<void>;
151
- }
152
- //# sourceMappingURL=transport.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport/transport.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,41 +0,0 @@
1
- /**
2
- * Delivery semantics for message processing.
3
- * - 'at-least-once': Acknowledge after processing (may redeliver on failure)
4
- * - 'at-most-once': Acknowledge before processing (no redelivery, may lose messages)
5
- */
6
- export type DeliveryMode = 'at-least-once' | 'at-most-once';
7
- /**
8
- * Importance level for subscribers, used for monitoring and alerting prioritization.
9
- */
10
- export type Importance = 'can-ignore' | 'should-investigate' | 'must-investigate';
11
- /**
12
- * Idempotency declaration for subscribers.
13
- * - 'yes': Safe to retry on failure (subscriber handles duplicates)
14
- * - 'no': Not safe to retry, may cause duplicate side effects
15
- * - 'unknown': Idempotency not determined (default)
16
- * - 'resumable': Uses checkpoint-based idempotency via io() calls
17
- */
18
- export type Idempotency = 'yes' | 'no' | 'unknown' | 'resumable';
19
- /**
20
- * Result of a validation operation.
21
- */
22
- export interface ValidationResult {
23
- readonly valid: boolean;
24
- readonly errors: readonly ValidationError[];
25
- }
26
- /**
27
- * Individual validation error.
28
- */
29
- export interface ValidationError {
30
- readonly path: string;
31
- readonly message: string;
32
- }
33
- /**
34
- * Creates a successful validation result.
35
- */
36
- export declare function validResult(): ValidationResult;
37
- /**
38
- * Creates a failed validation result.
39
- */
40
- export declare function invalidResult(errors: ValidationError[]): ValidationResult;
41
- //# sourceMappingURL=common.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,cAAc,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,YAAY,GACZ,oBAAoB,GACpB,kBAAkB,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,gBAAgB,CAE9C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAEzE"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Creates a successful validation result.
3
- */
4
- export function validResult() {
5
- return { valid: true, errors: [] };
6
- }
7
- /**
8
- * Creates a failed validation result.
9
- */
10
- export function invalidResult(errors) {
11
- return { valid: false, errors };
12
- }
@@ -1,14 +0,0 @@
1
- import type { SendResult } from '../core/fanout.js';
2
- import type { Event, EventClass, EventOptions } from './event.js';
3
- /**
4
- * Interface for dispatching events.
5
- * Implemented by Matador to allow subscribers to send events.
6
- */
7
- export interface Dispatcher {
8
- /**
9
- * Sends an event to all registered subscribers.
10
- */
11
- send<T>(eventClass: EventClass<T>, data: T, options?: EventOptions): Promise<SendResult>;
12
- send<T>(event: Event<T>, options?: EventOptions): Promise<SendResult>;
13
- }
14
- //# sourceMappingURL=dispatcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/types/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,IAAI,CAAC,CAAC,EACJ,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACvE"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,131 +0,0 @@
1
- import type { Importance } from './common.js';
2
- import type { Event } from './event.js';
3
- /**
4
- * Message envelope containing the event data and routing/observability metadata.
5
- * This is the transport-agnostic message format used throughout Matador.
6
- */
7
- export interface Envelope<T = unknown> {
8
- /** Unique message ID (UUID v4) */
9
- readonly id: string;
10
- /** The event data */
11
- readonly data: T;
12
- /** Routing, processing state, and observability metadata */
13
- readonly docket: Docket;
14
- }
15
- /**
16
- * Metadata associated with an envelope for routing, processing state, and observability.
17
- */
18
- export interface Docket {
19
- /** Event key for routing */
20
- readonly eventKey: string;
21
- /** Human-readable description of the event (for observability/logging) */
22
- readonly eventDescription?: string | undefined;
23
- /** Target subscriber name for 1:1 routing */
24
- readonly targetSubscriber: string;
25
- /** Original queue before any dead-letter routing */
26
- originalQueue?: string | undefined;
27
- /** Scheduled processing time for delayed messages (ISO 8601 string) */
28
- scheduledFor?: string | undefined;
29
- /**
30
- * Attempt counter managed by Matador (1-based).
31
- * Incremented on each retry. Used when transport doesn't track attempts.
32
- */
33
- attempts: number;
34
- /** When the envelope was first created (ISO 8601 string) */
35
- readonly createdAt: string;
36
- /** Error message from first failure (for debugging) */
37
- firstError?: string | undefined;
38
- /** Error message from most recent failure */
39
- lastError?: string | undefined;
40
- /** Importance level for monitoring */
41
- readonly importance: Importance;
42
- /** Correlation ID for request tracing */
43
- readonly correlationId?: string | undefined;
44
- /**
45
- * Custom metadata provided by the application.
46
- * This is the merged result of universal metadata (from loadUniversalMetadata hook)
47
- * and event-specific metadata (from dispatch options). Event-specific metadata
48
- * overrides universal metadata when keys conflict.
49
- */
50
- readonly metadata?: Record<string, unknown> | undefined;
51
- }
52
- /**
53
- * Fields from Docket that can be specified when creating an envelope.
54
- */
55
- type DocketCreateFields = Pick<Docket, 'eventKey' | 'eventDescription' | 'targetSubscriber' | 'importance' | 'correlationId'>;
56
- /**
57
- * Options for creating an envelope.
58
- */
59
- export interface CreateEnvelopeOptions<T> extends DocketCreateFields {
60
- /** Optional custom ID (defaults to UUID v4) */
61
- readonly id?: string | undefined;
62
- /** The event data */
63
- readonly data: T;
64
- /**
65
- * Event-specific metadata to include in the docket.
66
- * Will be merged with universal metadata, with these values taking precedence.
67
- */
68
- readonly metadata?: Record<string, unknown> | undefined;
69
- /**
70
- * Universal metadata loaded from the loadUniversalMetadata hook.
71
- * This is provided by the fanout engine, not by the caller.
72
- * @internal
73
- */
74
- readonly universalMetadata?: Record<string, unknown> | undefined;
75
- /** Delay processing by this many milliseconds */
76
- readonly delayMs?: number | undefined;
77
- }
78
- /**
79
- * Creates a new envelope with the provided options.
80
- */
81
- export declare function createEnvelope<T>(options: CreateEnvelopeOptions<T>): Envelope<T>;
82
- /**
83
- * Options for creating a dummy envelope.
84
- * All fields are optional and will use sensible defaults if not provided.
85
- */
86
- export interface CreateDummyEnvelopeOptions {
87
- readonly id?: string | undefined;
88
- readonly eventKey?: string | undefined;
89
- readonly eventDescription?: string | undefined;
90
- readonly targetSubscriber?: string | undefined;
91
- readonly importance?: Importance | undefined;
92
- readonly correlationId?: string | undefined;
93
- readonly metadata?: Record<string, unknown> | undefined;
94
- readonly delayMs?: number | undefined;
95
- }
96
- /**
97
- * Type helper to extract the data type from an Event, or return T as-is.
98
- */
99
- type ExtractData<T> = T extends Event<infer D> ? D : T;
100
- /**
101
- * Helper to create a test envelope for a given event instance or raw data.
102
- * Useful for unit testing subscriber callbacks directly.
103
- *
104
- * When passing an Event instance, the eventKey and eventDescription will be
105
- * automatically extracted from the event class (unless overridden in options).
106
- *
107
- * @example With raw data
108
- * ```typescript
109
- * const envelope = createDummyEnvelope({ userId: '123', email: 'test@example.com' });
110
- * ```
111
- *
112
- * @example With an Event instance
113
- * ```typescript
114
- * const event = new UserCreatedEvent({ userId: '123', email: 'test@example.com' });
115
- * const envelope = createDummyEnvelope(event);
116
- * // eventKey is automatically set to UserCreatedEvent.key
117
- * await mySubscriber.callback(envelope, event.data);
118
- * ```
119
- *
120
- * @example With options
121
- * ```typescript
122
- * const event = new UserCreatedEvent({ userId: '123', email: 'test@example.com' });
123
- * const envelope = createDummyEnvelope(event, {
124
- * metadata: { traceId: 'abc-123' },
125
- * correlationId: 'request-456',
126
- * });
127
- * ```
128
- */
129
- export declare function createDummyEnvelope<T>(dataOrEvent: T, options?: CreateDummyEnvelopeOptions): Envelope<ExtractData<T>>;
130
- export {};
131
- //# sourceMappingURL=envelope.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/types/envelope.ts"],"names":[],"mappings":"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"}
@@ -1,99 +0,0 @@
1
- /**
2
- * Creates a new envelope with the provided options.
3
- */
4
- export function createEnvelope(options) {
5
- const now = new Date().toISOString();
6
- // Merge universal metadata with event-specific metadata
7
- // Event-specific metadata takes precedence
8
- const mergedMetadata = options.universalMetadata || options.metadata
9
- ? { ...options.universalMetadata, ...options.metadata }
10
- : undefined;
11
- return {
12
- id: options.id ?? crypto.randomUUID(),
13
- data: options.data,
14
- docket: {
15
- // Routing
16
- eventKey: options.eventKey,
17
- ...(options.eventDescription !== undefined && {
18
- eventDescription: options.eventDescription,
19
- }),
20
- targetSubscriber: options.targetSubscriber,
21
- ...(options.delayMs !== undefined &&
22
- options.delayMs > 0 && {
23
- scheduledFor: new Date(Date.now() + options.delayMs).toISOString(),
24
- }),
25
- // Processing state
26
- attempts: 1,
27
- createdAt: now,
28
- // Observability
29
- importance: options.importance,
30
- ...(options.correlationId !== undefined && {
31
- correlationId: options.correlationId,
32
- }),
33
- ...(mergedMetadata !== undefined && { metadata: mergedMetadata }),
34
- },
35
- };
36
- }
37
- /**
38
- * Checks if a value is a Matador Event (has data property and constructor with key).
39
- */
40
- function isEvent(value) {
41
- return (typeof value === 'object' &&
42
- value !== null &&
43
- 'data' in value &&
44
- typeof value.constructor.key === 'string');
45
- }
46
- /**
47
- * Helper to create a test envelope for a given event instance or raw data.
48
- * Useful for unit testing subscriber callbacks directly.
49
- *
50
- * When passing an Event instance, the eventKey and eventDescription will be
51
- * automatically extracted from the event class (unless overridden in options).
52
- *
53
- * @example With raw data
54
- * ```typescript
55
- * const envelope = createDummyEnvelope({ userId: '123', email: 'test@example.com' });
56
- * ```
57
- *
58
- * @example With an Event instance
59
- * ```typescript
60
- * const event = new UserCreatedEvent({ userId: '123', email: 'test@example.com' });
61
- * const envelope = createDummyEnvelope(event);
62
- * // eventKey is automatically set to UserCreatedEvent.key
63
- * await mySubscriber.callback(envelope, event.data);
64
- * ```
65
- *
66
- * @example With options
67
- * ```typescript
68
- * const event = new UserCreatedEvent({ userId: '123', email: 'test@example.com' });
69
- * const envelope = createDummyEnvelope(event, {
70
- * metadata: { traceId: 'abc-123' },
71
- * correlationId: 'request-456',
72
- * });
73
- * ```
74
- */
75
- export function createDummyEnvelope(dataOrEvent, options) {
76
- let data;
77
- let eventKey = options?.eventKey ?? 'dummy.event.key';
78
- let eventDescription = options?.eventDescription;
79
- if (isEvent(dataOrEvent)) {
80
- data = dataOrEvent.data;
81
- const eventStatic = dataOrEvent.constructor;
82
- eventKey = options?.eventKey ?? eventStatic.key;
83
- eventDescription = options?.eventDescription ?? eventStatic.description;
84
- }
85
- else {
86
- data = dataOrEvent;
87
- }
88
- return createEnvelope({
89
- data,
90
- eventKey,
91
- eventDescription,
92
- targetSubscriber: options?.targetSubscriber ?? 'dummy-subscriber',
93
- importance: options?.importance ?? 'can-ignore',
94
- id: options?.id,
95
- correlationId: options?.correlationId,
96
- metadata: options?.metadata,
97
- delayMs: options?.delayMs,
98
- });
99
- }
@@ -1,92 +0,0 @@
1
- import type { Jsonifiable } from 'type-fest';
2
- /**
3
- * Unique event routing key type alias.
4
- */
5
- export type EventKey = string;
6
- /**
7
- * JSON-serializable record type for metadata.
8
- * Uses type-fest's Jsonifiable which accepts:
9
- * - Primitives (string, number, boolean, null)
10
- * - Arrays of Jsonifiable values
11
- * - Objects with Jsonifiable values
12
- * - Objects with a toJSON() method
13
- */
14
- export type JsonRecord = Record<string, Jsonifiable>;
15
- /**
16
- * Static properties required on Event classes for schema registration.
17
- */
18
- export interface EventStatic<T = unknown> {
19
- /** Unique routing key for the event */
20
- readonly key: string;
21
- /** Human-readable description of the event */
22
- readonly description?: string;
23
- /** Alternative names/keys for backwards compatibility */
24
- readonly aliases?: readonly string[];
25
- /** Create an instance from data (for deserialization) */
26
- new (data: T): Event<T>;
27
- }
28
- /**
29
- * Base interface for all events.
30
- * Events represent something that happened in the system.
31
- */
32
- export interface Event<T = unknown> {
33
- /** The event data/payload */
34
- readonly data: T;
35
- /** Event-specific metadata (merged with EventOptions metadata on dispatch) */
36
- readonly metadata?: JsonRecord | undefined;
37
- }
38
- /**
39
- * Options for dispatching an event.
40
- */
41
- export interface EventOptions {
42
- /** Delay processing by this many milliseconds */
43
- readonly delayMs?: number | undefined;
44
- /** Correlation ID for request tracing */
45
- readonly correlationId?: string | undefined;
46
- /**
47
- * Event-specific metadata to include in the docket.
48
- * This metadata will be merged with:
49
- * 1. Event instance metadata (if defined on the event)
50
- * 2. Universal metadata from the loadUniversalMetadata hook
51
- * With EventOptions metadata taking precedence over event metadata,
52
- * and both taking precedence over universal metadata.
53
- */
54
- readonly metadata?: JsonRecord | undefined;
55
- }
56
- /**
57
- * Abstract base class for creating Matador events.
58
- * Extend this class to define custom events.
59
- *
60
- * @example
61
- * ```typescript
62
- * class UserCreatedEvent extends MatadorEvent {
63
- * static readonly key = 'user.created'
64
- * static readonly description = 'Fired when a new user is created'
65
- *
66
- * constructor(
67
- * public data: { userId: string; email: string },
68
- * public metadata?: JsonRecord,
69
- * ) {
70
- * super()
71
- * }
72
- * }
73
- * ```
74
- */
75
- export declare abstract class MatadorEvent<T = unknown> implements Event<T> {
76
- static readonly key: string;
77
- static readonly description?: string;
78
- static readonly aliases?: readonly string[];
79
- /** The event data/payload - must be defined by subclass */
80
- abstract readonly data: T;
81
- /** Event-specific metadata */
82
- readonly metadata?: JsonRecord | undefined;
83
- }
84
- /**
85
- * Type helper to extract the data type from an event class.
86
- */
87
- export type EventData<E extends Event<unknown>> = E extends Event<infer T> ? T : never;
88
- /**
89
- * Type helper to get the event class type.
90
- */
91
- export type EventClass<T = unknown> = EventStatic<T> & (new (data: T) => Event<T>);
92
- //# sourceMappingURL=event.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,uCAAuC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC,yDAAyD;IACzD,KAAK,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,OAAO;IAChC,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC,yCAAyC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5C;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAAsB,YAAY,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE5C,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1B,8BAA8B;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtE,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,GAClD,CAAC,KACC,IAAI,EAAE,CAAC,KACJ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,26 +0,0 @@
1
- /**
2
- * Abstract base class for creating Matador events.
3
- * Extend this class to define custom events.
4
- *
5
- * @example
6
- * ```typescript
7
- * class UserCreatedEvent extends MatadorEvent {
8
- * static readonly key = 'user.created'
9
- * static readonly description = 'Fired when a new user is created'
10
- *
11
- * constructor(
12
- * public data: { userId: string; email: string },
13
- * public metadata?: JsonRecord,
14
- * ) {
15
- * super()
16
- * }
17
- * }
18
- * ```
19
- */
20
- export class MatadorEvent {
21
- static key;
22
- static description;
23
- static aliases;
24
- /** Event-specific metadata */
25
- metadata;
26
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=event.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event.test.d.ts","sourceRoot":"","sources":["../../src/types/event.test.ts"],"names":[],"mappings":""}