@composurecdk/sqs 0.11.2 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -83,6 +83,8 @@ DLQ-specific behaviour:
83
83
  - **`deadLetterQueue` is excluded** from the type (and rejected at build): a DLQ is the terminal destination for failed messages. A queue with its own redrive policy is a primary queue.
84
84
  - Consider restricting which queues may redrive into the DLQ via `.redriveAllowPolicy(...)`.
85
85
 
86
+ A primary queue whose redrive `maxReceiveCount` is below 5 gets a suppressible synth-time warning — AWS recommends at least 5 so the consumer can retry before messages reach the DLQ. Silence it with `Annotations.of(scope).acknowledgeWarning("@composurecdk/sqs:redrive-low-max-receive-count")`.
87
+
86
88
  ### DLQ alarms
87
89
 
88
90
  The recommended-alarm set inverts relative to a primary queue — the defaults are exported as `DLQ_ALARM_DEFAULTS`:
@@ -35,7 +35,7 @@ export interface QueueBuilderResult {
35
35
  * this type exists so one `QueueBuilder` implementation can back every
36
36
  * role.
37
37
  */
38
- interface InternalQueueBuilderProps extends Omit<QueueProps, "encryptionMasterKey">, QueueBuilderExtensionProps {
38
+ interface InternalQueueBuilderProps extends Omit<QueueProps, keyof QueueBuilderExtensionProps>, QueueBuilderExtensionProps {
39
39
  /**
40
40
  * The queue's role, set by `createQueueBuilder(role)`. Stored as a
41
41
  * prop (not a private field) so it is data: `.copy()` preserves it
@@ -1 +1 @@
1
- {"version":3,"file":"queue-builder.d.ts","sourceRoot":"","sources":["../../src/queue-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,EAAmB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAW,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAiB,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOxE;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,KAAK,EAAE,KAAK,CAAC;IAEb;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,UAAU,yBACR,SAAQ,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,EAAE,0BAA0B;IAC3E;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,UAAU,IAAI,cAAc,CAC1E,uBAAuB,CAAC,CAAC,CAAC,EAC1B,YAAY,CACb,CAAC;AAEF,cAAM,YAAa,YAAW,SAAS,CAAC,kBAAkB,CAAC;;IACzD,KAAK,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAM;IAG/C,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,KAAK,sBAAsB,CAAC,MAAM,CAAC,GACnF,IAAI;IAKP,gCAAgC;IAChC,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIxC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,kBAAkB;CAgC3F;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAAC;AACpD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"queue-builder.d.ts","sourceRoot":"","sources":["../../src/queue-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,EAAmB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAW,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAiB,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOxE;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,KAAK,EAAE,KAAK,CAAC;IAEb;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,UAAU,yBACR,SAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,0BAA0B,CAAC,EAAE,0BAA0B;IACtF;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,UAAU,IAAI,cAAc,CAC1E,uBAAuB,CAAC,CAAC,CAAC,EAC1B,YAAY,CACb,CAAC;AAEF,cAAM,YAAa,YAAW,SAAS,CAAC,kBAAkB,CAAC;;IACzD,KAAK,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAM;IAG/C,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,KAAK,sBAAsB,CAAC,MAAM,CAAC,GACnF,IAAI;IAKP,gCAAgC;IAChC,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIxC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,kBAAkB;CAyC3F;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAAC;AACpD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC"}
@@ -23,7 +23,7 @@ class QueueBuilder {
23
23
  target.#customAlarms.push(...this.#customAlarms);
24
24
  }
25
25
  build(scope, id, context) {
26
- const { queueRole: role = "standard", encryptionMasterKey, ...configured } = this.props;
26
+ const { queueRole: role = "standard", encryptionMasterKey, deadLetterQueue, ...configured } = this.props;
27
27
  const fifo = (0, queue_role_js_1.isFifoRole)(role);
28
28
  const dlq = (0, queue_role_js_1.isDlqRole)(role);
29
29
  const mergedProps = {
@@ -31,6 +31,10 @@ class QueueBuilder {
31
31
  ...(dlq ? dlq_defaults_js_1.DLQ_QUEUE_DEFAULTS : {}),
32
32
  ...configured,
33
33
  ...encryptionMasterKeyProps(encryptionMasterKey, configured.encryption, context),
34
+ // Resolved before validation so the redrive checks see the real queue.
35
+ ...(deadLetterQueue === undefined
36
+ ? {}
37
+ : { deadLetterQueue: (0, core_1.resolve)(deadLetterQueue, context) }),
34
38
  ...(fifo ? { fifo: true } : {}),
35
39
  };
36
40
  (0, queue_validation_js_1.validateQueueProps)(scope, id, role, mergedProps);
@@ -1 +1 @@
1
- {"version":3,"file":"queue-builder.js","sourceRoot":"","sources":["../../src/queue-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue-builder.js","sourceRoot":"","sources":["../../src/queue-builder.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,16 @@ export interface QueueBuilderExtensionProps {
46
46
  * (ADR-0018) — see the table in `@composurecdk/kms`'s README.
47
47
  */
48
48
  encryptionMasterKey?: Resolvable<NonNullable<QueueProps["encryptionMasterKey"]>>;
49
+ /**
50
+ * The dead-letter queue that messages are redriven to after
51
+ * `maxReceiveCount` failed receives.
52
+ *
53
+ * Accepts a concrete `DeadLetterQueue` or a {@link Resolvable} — typically
54
+ * a {@link Ref} to a composed dead-letter queue builder, so the DLQ is a
55
+ * component of the system. The inner type is read from CDK's own prop
56
+ * (ADR-0018).
57
+ */
58
+ deadLetterQueue?: Resolvable<NonNullable<QueueProps["deadLetterQueue"]>>;
49
59
  /**
50
60
  * Configuration for AWS-recommended CloudWatch alarms.
51
61
  *
@@ -69,7 +79,7 @@ export interface QueueBuilderExtensionProps {
69
79
  * queue with FIFO behaviour is an explicit role choice
70
80
  * (`createQueueBuilder("fifo")`), not a prop.
71
81
  */
72
- export interface QueueBuilderProps extends Omit<QueueProps, FifoOnlyPropKey | "encryptionMasterKey">, QueueBuilderExtensionProps {
82
+ export interface QueueBuilderProps extends Omit<QueueProps, FifoOnlyPropKey | keyof QueueBuilderExtensionProps>, QueueBuilderExtensionProps {
73
83
  }
74
84
  /**
75
85
  * Prop surface of `createQueueBuilder("fifo")`. `fifo` itself is not
@@ -77,7 +87,7 @@ export interface QueueBuilderProps extends Omit<QueueProps, FifoOnlyPropKey | "e
77
87
  * {@link FifoQueueName}, so a name missing the AWS-required `.fifo`
78
88
  * suffix is a compile error rather than a synth failure.
79
89
  */
80
- export interface FifoQueueBuilderProps extends Omit<QueueProps, "fifo" | "queueName" | "encryptionMasterKey">, QueueBuilderExtensionProps {
90
+ export interface FifoQueueBuilderProps extends Omit<QueueProps, "fifo" | "queueName" | keyof QueueBuilderExtensionProps>, QueueBuilderExtensionProps {
81
91
  /**
82
92
  * Physical name of the FIFO queue. Must end in `.fifo` (AWS
83
93
  * requirement, enforced by the type and validated at build for
@@ -1 +1 @@
1
- {"version":3,"file":"queue-props.d.ts","sourceRoot":"","sources":["../../src/queue-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,OAAO,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,6FAKkB,CAAC;AAEnD,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;;;;;;;OAeG;IACH,mBAAmB,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAEjF;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC;CAC9C;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,qBAAqB,CAAC,EAAE,0BAA0B;CAAG;AAElG;;;;;GAKG;AACH,MAAM,WAAW,qBACf,SACE,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,qBAAqB,CAAC,EAC9D,0BAA0B;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;AAEtF;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,GAAG,EAAE,oBAAoB,CAAC;IAC1B,UAAU,EAAE,wBAAwB,CAAC;CACtC"}
1
+ {"version":3,"file":"queue-props.d.ts","sourceRoot":"","sources":["../../src/queue-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,OAAO,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,6FAKkB,CAAC;AAEnD,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;;;;;;;OAeG;IACH,mBAAmB,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAEjF;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAEzE;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC;CAC9C;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBACf,SACE,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,0BAA0B,CAAC,EACpE,0BAA0B;CAAG;AAEjC;;;;;GAKG;AACH,MAAM,WAAW,qBACf,SACE,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,0BAA0B,CAAC,EACzE,0BAA0B;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;AAEtF;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,GAAG,EAAE,oBAAoB,CAAC;IAC1B,UAAU,EAAE,wBAAwB,CAAC;CACtC"}
@@ -35,7 +35,7 @@ export interface QueueBuilderResult {
35
35
  * this type exists so one `QueueBuilder` implementation can back every
36
36
  * role.
37
37
  */
38
- interface InternalQueueBuilderProps extends Omit<QueueProps, "encryptionMasterKey">, QueueBuilderExtensionProps {
38
+ interface InternalQueueBuilderProps extends Omit<QueueProps, keyof QueueBuilderExtensionProps>, QueueBuilderExtensionProps {
39
39
  /**
40
40
  * The queue's role, set by `createQueueBuilder(role)`. Stored as a
41
41
  * prop (not a private field) so it is data: `.copy()` preserves it
@@ -1 +1 @@
1
- {"version":3,"file":"queue-builder.d.ts","sourceRoot":"","sources":["../../src/queue-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,EAAmB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAW,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAiB,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOxE;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,KAAK,EAAE,KAAK,CAAC;IAEb;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,UAAU,yBACR,SAAQ,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,EAAE,0BAA0B;IAC3E;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,UAAU,IAAI,cAAc,CAC1E,uBAAuB,CAAC,CAAC,CAAC,EAC1B,YAAY,CACb,CAAC;AAEF,cAAM,YAAa,YAAW,SAAS,CAAC,kBAAkB,CAAC;;IACzD,KAAK,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAM;IAG/C,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,KAAK,sBAAsB,CAAC,MAAM,CAAC,GACnF,IAAI;IAKP,gCAAgC;IAChC,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIxC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,kBAAkB;CAgC3F;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAAC;AACpD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"queue-builder.d.ts","sourceRoot":"","sources":["../../src/queue-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,EAAmB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAW,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAiB,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOxE;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,KAAK,EAAE,KAAK,CAAC;IAEb;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,UAAU,yBACR,SAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,0BAA0B,CAAC,EAAE,0BAA0B;IACtF;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,UAAU,IAAI,cAAc,CAC1E,uBAAuB,CAAC,CAAC,CAAC,EAC1B,YAAY,CACb,CAAC;AAEF,cAAM,YAAa,YAAW,SAAS,CAAC,kBAAkB,CAAC;;IACzD,KAAK,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAM;IAG/C,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,KAAK,sBAAsB,CAAC,MAAM,CAAC,GACnF,IAAI;IAKP,gCAAgC;IAChC,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIxC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,kBAAkB;CAyC3F;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAAC;AACpD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC"}
@@ -20,7 +20,7 @@ class QueueBuilder {
20
20
  target.#customAlarms.push(...this.#customAlarms);
21
21
  }
22
22
  build(scope, id, context) {
23
- const { queueRole: role = "standard", encryptionMasterKey, ...configured } = this.props;
23
+ const { queueRole: role = "standard", encryptionMasterKey, deadLetterQueue, ...configured } = this.props;
24
24
  const fifo = isFifoRole(role);
25
25
  const dlq = isDlqRole(role);
26
26
  const mergedProps = {
@@ -28,6 +28,10 @@ class QueueBuilder {
28
28
  ...(dlq ? DLQ_QUEUE_DEFAULTS : {}),
29
29
  ...configured,
30
30
  ...encryptionMasterKeyProps(encryptionMasterKey, configured.encryption, context),
31
+ // Resolved before validation so the redrive checks see the real queue.
32
+ ...(deadLetterQueue === undefined
33
+ ? {}
34
+ : { deadLetterQueue: resolve(deadLetterQueue, context) }),
31
35
  ...(fifo ? { fifo: true } : {}),
32
36
  };
33
37
  validateQueueProps(scope, id, role, mergedProps);
@@ -1 +1 @@
1
- {"version":3,"file":"queue-builder.js","sourceRoot":"","sources":["../../src/queue-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue-builder.js","sourceRoot":"","sources":["../../src/queue-builder.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,16 @@ export interface QueueBuilderExtensionProps {
46
46
  * (ADR-0018) — see the table in `@composurecdk/kms`'s README.
47
47
  */
48
48
  encryptionMasterKey?: Resolvable<NonNullable<QueueProps["encryptionMasterKey"]>>;
49
+ /**
50
+ * The dead-letter queue that messages are redriven to after
51
+ * `maxReceiveCount` failed receives.
52
+ *
53
+ * Accepts a concrete `DeadLetterQueue` or a {@link Resolvable} — typically
54
+ * a {@link Ref} to a composed dead-letter queue builder, so the DLQ is a
55
+ * component of the system. The inner type is read from CDK's own prop
56
+ * (ADR-0018).
57
+ */
58
+ deadLetterQueue?: Resolvable<NonNullable<QueueProps["deadLetterQueue"]>>;
49
59
  /**
50
60
  * Configuration for AWS-recommended CloudWatch alarms.
51
61
  *
@@ -69,7 +79,7 @@ export interface QueueBuilderExtensionProps {
69
79
  * queue with FIFO behaviour is an explicit role choice
70
80
  * (`createQueueBuilder("fifo")`), not a prop.
71
81
  */
72
- export interface QueueBuilderProps extends Omit<QueueProps, FifoOnlyPropKey | "encryptionMasterKey">, QueueBuilderExtensionProps {
82
+ export interface QueueBuilderProps extends Omit<QueueProps, FifoOnlyPropKey | keyof QueueBuilderExtensionProps>, QueueBuilderExtensionProps {
73
83
  }
74
84
  /**
75
85
  * Prop surface of `createQueueBuilder("fifo")`. `fifo` itself is not
@@ -77,7 +87,7 @@ export interface QueueBuilderProps extends Omit<QueueProps, FifoOnlyPropKey | "e
77
87
  * {@link FifoQueueName}, so a name missing the AWS-required `.fifo`
78
88
  * suffix is a compile error rather than a synth failure.
79
89
  */
80
- export interface FifoQueueBuilderProps extends Omit<QueueProps, "fifo" | "queueName" | "encryptionMasterKey">, QueueBuilderExtensionProps {
90
+ export interface FifoQueueBuilderProps extends Omit<QueueProps, "fifo" | "queueName" | keyof QueueBuilderExtensionProps>, QueueBuilderExtensionProps {
81
91
  /**
82
92
  * Physical name of the FIFO queue. Must end in `.fifo` (AWS
83
93
  * requirement, enforced by the type and validated at build for
@@ -1 +1 @@
1
- {"version":3,"file":"queue-props.d.ts","sourceRoot":"","sources":["../../src/queue-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,OAAO,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,6FAKkB,CAAC;AAEnD,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;;;;;;;OAeG;IACH,mBAAmB,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAEjF;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC;CAC9C;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,qBAAqB,CAAC,EAAE,0BAA0B;CAAG;AAElG;;;;;GAKG;AACH,MAAM,WAAW,qBACf,SACE,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,qBAAqB,CAAC,EAC9D,0BAA0B;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;AAEtF;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,GAAG,EAAE,oBAAoB,CAAC;IAC1B,UAAU,EAAE,wBAAwB,CAAC;CACtC"}
1
+ {"version":3,"file":"queue-props.d.ts","sourceRoot":"","sources":["../../src/queue-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,OAAO,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,6FAKkB,CAAC;AAEnD,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;;;;;;;OAeG;IACH,mBAAmB,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAEjF;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAEzE;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC;CAC9C;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBACf,SACE,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,0BAA0B,CAAC,EACpE,0BAA0B;CAAG;AAEjC;;;;;GAKG;AACH,MAAM,WAAW,qBACf,SACE,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,0BAA0B,CAAC,EACzE,0BAA0B;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;AAEtF;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,GAAG,EAAE,oBAAoB,CAAC;IAC1B,UAAU,EAAE,wBAAwB,CAAC;CACtC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@composurecdk/sqs",
3
- "version": "0.11.2",
3
+ "version": "0.12.1",
4
4
  "description": "Composable SQS queue builder with well-architected defaults",
5
5
  "repository": {
6
6
  "type": "git",
@@ -40,16 +40,16 @@
40
40
  }
41
41
  },
42
42
  "peerDependencies": {
43
- "@composurecdk/cloudformation": "^0.11.0",
44
- "@composurecdk/cloudwatch": "^0.11.0",
45
- "@composurecdk/core": "^0.11.0",
43
+ "@composurecdk/cloudformation": "^0.12.0",
44
+ "@composurecdk/cloudwatch": "^0.12.0",
45
+ "@composurecdk/core": "^0.12.0",
46
46
  "aws-cdk-lib": "^2.93.0",
47
47
  "constructs": "^10.0.0"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@composurecdk/cdk-testing": "*",
51
- "@types/node": "^26.6.5",
52
- "aws-cdk-lib": "^2.271.0",
51
+ "@types/node": "^26.6.6",
52
+ "aws-cdk-lib": "^2.275.0",
53
53
  "constructs": "^10.8.1",
54
54
  "typescript": "^6.0.3",
55
55
  "vitest": "^5.0.0"