@composurecdk/events 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/commonjs/defaults.d.ts.map +1 -0
  2. package/dist/commonjs/defaults.js +14 -0
  3. package/dist/commonjs/defaults.js.map +1 -0
  4. package/dist/commonjs/index.d.ts.map +1 -0
  5. package/dist/commonjs/index.js +22 -0
  6. package/dist/commonjs/index.js.map +1 -0
  7. package/dist/commonjs/package.json +3 -0
  8. package/dist/commonjs/rule-alarm-config.d.ts.map +1 -0
  9. package/dist/commonjs/rule-alarm-config.js +3 -0
  10. package/dist/commonjs/rule-alarm-config.js.map +1 -0
  11. package/dist/commonjs/rule-alarm-defaults.d.ts.map +1 -0
  12. package/dist/commonjs/rule-alarm-defaults.js +41 -0
  13. package/dist/commonjs/rule-alarm-defaults.js.map +1 -0
  14. package/dist/commonjs/rule-alarms.d.ts.map +1 -0
  15. package/dist/commonjs/rule-alarms.js +111 -0
  16. package/dist/commonjs/rule-alarms.js.map +1 -0
  17. package/dist/commonjs/rule-builder.d.ts.map +1 -0
  18. package/dist/commonjs/rule-builder.js +96 -0
  19. package/dist/commonjs/rule-builder.js.map +1 -0
  20. package/dist/commonjs/targets/cloud-watch-log-group-target.d.ts.map +1 -0
  21. package/dist/commonjs/targets/cloud-watch-log-group-target.js +22 -0
  22. package/dist/commonjs/targets/cloud-watch-log-group-target.js.map +1 -0
  23. package/dist/commonjs/targets/event-bus-target.d.ts.map +1 -0
  24. package/dist/commonjs/targets/event-bus-target.js +22 -0
  25. package/dist/commonjs/targets/event-bus-target.js.map +1 -0
  26. package/dist/commonjs/targets/lambda-target.d.ts.map +1 -0
  27. package/dist/commonjs/targets/lambda-target.js +36 -0
  28. package/dist/commonjs/targets/lambda-target.js.map +1 -0
  29. package/dist/commonjs/targets/sfn-state-machine-target.d.ts.map +1 -0
  30. package/dist/commonjs/targets/sfn-state-machine-target.js +22 -0
  31. package/dist/commonjs/targets/sfn-state-machine-target.js.map +1 -0
  32. package/dist/commonjs/targets/sns-target.d.ts.map +1 -0
  33. package/dist/commonjs/targets/sns-target.js +22 -0
  34. package/dist/commonjs/targets/sns-target.js.map +1 -0
  35. package/dist/commonjs/targets/sqs-target.d.ts.map +1 -0
  36. package/dist/commonjs/targets/sqs-target.js +21 -0
  37. package/dist/commonjs/targets/sqs-target.js.map +1 -0
  38. package/dist/esm/defaults.d.ts +12 -0
  39. package/dist/esm/defaults.d.ts.map +1 -0
  40. package/dist/esm/defaults.js.map +1 -0
  41. package/dist/esm/index.d.ts +11 -0
  42. package/dist/esm/index.d.ts.map +1 -0
  43. package/dist/esm/index.js.map +1 -0
  44. package/dist/esm/package.json +3 -0
  45. package/dist/esm/rule-alarm-config.d.ts +58 -0
  46. package/dist/esm/rule-alarm-config.d.ts.map +1 -0
  47. package/dist/esm/rule-alarm-config.js.map +1 -0
  48. package/dist/esm/rule-alarm-defaults.d.ts +16 -0
  49. package/dist/esm/rule-alarm-defaults.d.ts.map +1 -0
  50. package/dist/esm/rule-alarm-defaults.js.map +1 -0
  51. package/dist/esm/rule-alarms.d.ts +28 -0
  52. package/dist/esm/rule-alarms.d.ts.map +1 -0
  53. package/dist/esm/rule-alarms.js.map +1 -0
  54. package/dist/esm/rule-builder.d.ts +143 -0
  55. package/dist/esm/rule-builder.d.ts.map +1 -0
  56. package/dist/esm/rule-builder.js.map +1 -0
  57. package/dist/esm/targets/cloud-watch-log-group-target.d.ts +16 -0
  58. package/dist/esm/targets/cloud-watch-log-group-target.d.ts.map +1 -0
  59. package/dist/esm/targets/cloud-watch-log-group-target.js.map +1 -0
  60. package/dist/esm/targets/event-bus-target.d.ts +16 -0
  61. package/dist/esm/targets/event-bus-target.d.ts.map +1 -0
  62. package/dist/esm/targets/event-bus-target.js.map +1 -0
  63. package/dist/esm/targets/lambda-target.d.ts +31 -0
  64. package/dist/esm/targets/lambda-target.d.ts.map +1 -0
  65. package/dist/esm/targets/lambda-target.js.map +1 -0
  66. package/dist/esm/targets/sfn-state-machine-target.d.ts +16 -0
  67. package/dist/esm/targets/sfn-state-machine-target.d.ts.map +1 -0
  68. package/dist/esm/targets/sfn-state-machine-target.js.map +1 -0
  69. package/dist/esm/targets/sns-target.d.ts +17 -0
  70. package/dist/esm/targets/sns-target.d.ts.map +1 -0
  71. package/dist/esm/targets/sns-target.js.map +1 -0
  72. package/dist/esm/targets/sqs-target.d.ts +16 -0
  73. package/dist/esm/targets/sqs-target.d.ts.map +1 -0
  74. package/dist/esm/targets/sqs-target.js.map +1 -0
  75. package/package.json +34 -16
  76. package/dist/defaults.d.ts.map +0 -1
  77. package/dist/defaults.js.map +0 -1
  78. package/dist/index.d.ts.map +0 -1
  79. package/dist/index.js.map +0 -1
  80. package/dist/rule-alarm-config.d.ts.map +0 -1
  81. package/dist/rule-alarm-config.js.map +0 -1
  82. package/dist/rule-alarm-defaults.d.ts.map +0 -1
  83. package/dist/rule-alarm-defaults.js.map +0 -1
  84. package/dist/rule-alarms.d.ts.map +0 -1
  85. package/dist/rule-alarms.js.map +0 -1
  86. package/dist/rule-builder.d.ts.map +0 -1
  87. package/dist/rule-builder.js.map +0 -1
  88. package/dist/targets/cloud-watch-log-group-target.d.ts.map +0 -1
  89. package/dist/targets/cloud-watch-log-group-target.js.map +0 -1
  90. package/dist/targets/event-bus-target.d.ts.map +0 -1
  91. package/dist/targets/event-bus-target.js.map +0 -1
  92. package/dist/targets/lambda-target.d.ts.map +0 -1
  93. package/dist/targets/lambda-target.js.map +0 -1
  94. package/dist/targets/sfn-state-machine-target.d.ts.map +0 -1
  95. package/dist/targets/sfn-state-machine-target.js.map +0 -1
  96. package/dist/targets/sns-target.d.ts.map +0 -1
  97. package/dist/targets/sns-target.js.map +0 -1
  98. package/dist/targets/sqs-target.d.ts.map +0 -1
  99. package/dist/targets/sqs-target.js.map +0 -1
  100. /package/dist/{defaults.d.ts → commonjs/defaults.d.ts} +0 -0
  101. /package/dist/{index.d.ts → commonjs/index.d.ts} +0 -0
  102. /package/dist/{rule-alarm-config.d.ts → commonjs/rule-alarm-config.d.ts} +0 -0
  103. /package/dist/{rule-alarm-defaults.d.ts → commonjs/rule-alarm-defaults.d.ts} +0 -0
  104. /package/dist/{rule-alarms.d.ts → commonjs/rule-alarms.d.ts} +0 -0
  105. /package/dist/{rule-builder.d.ts → commonjs/rule-builder.d.ts} +0 -0
  106. /package/dist/{targets → commonjs/targets}/cloud-watch-log-group-target.d.ts +0 -0
  107. /package/dist/{targets → commonjs/targets}/event-bus-target.d.ts +0 -0
  108. /package/dist/{targets → commonjs/targets}/lambda-target.d.ts +0 -0
  109. /package/dist/{targets → commonjs/targets}/sfn-state-machine-target.d.ts +0 -0
  110. /package/dist/{targets → commonjs/targets}/sns-target.d.ts +0 -0
  111. /package/dist/{targets → commonjs/targets}/sqs-target.d.ts +0 -0
  112. /package/dist/{defaults.js → esm/defaults.js} +0 -0
  113. /package/dist/{index.js → esm/index.js} +0 -0
  114. /package/dist/{rule-alarm-config.js → esm/rule-alarm-config.js} +0 -0
  115. /package/dist/{rule-alarm-defaults.js → esm/rule-alarm-defaults.js} +0 -0
  116. /package/dist/{rule-alarms.js → esm/rule-alarms.js} +0 -0
  117. /package/dist/{rule-builder.js → esm/rule-builder.js} +0 -0
  118. /package/dist/{targets → esm/targets}/cloud-watch-log-group-target.js +0 -0
  119. /package/dist/{targets → esm/targets}/event-bus-target.js +0 -0
  120. /package/dist/{targets → esm/targets}/lambda-target.js +0 -0
  121. /package/dist/{targets → esm/targets}/sfn-state-machine-target.js +0 -0
  122. /package/dist/{targets → esm/targets}/sns-target.js +0 -0
  123. /package/dist/{targets → esm/targets}/sqs-target.js +0 -0
@@ -0,0 +1,58 @@
1
+ import type { AlarmConfig } from "@composurecdk/cloudwatch";
2
+ /**
3
+ * Controls which recommended alarms are created for an EventBridge rule.
4
+ * All applicable alarms are enabled by default with AWS-recommended thresholds.
5
+ * Set individual alarms to `false` to disable them, or provide an
6
+ * {@link AlarmConfig} to tune thresholds.
7
+ *
8
+ * @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Best_Practice_Recommended_Alarms_AWS_Services.html#EventBridge
9
+ * @see https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-monitoring-events-best-practices.html
10
+ */
11
+ export interface RuleAlarmConfig {
12
+ /**
13
+ * Master switch: set to `false` to disable all recommended alarms.
14
+ * Individual alarms can also be disabled via their own entry.
15
+ * @default true
16
+ */
17
+ enabled?: boolean;
18
+ /**
19
+ * Alarm when EventBridge fails to deliver matched events to a target.
20
+ *
21
+ * Metric: `AWS/Events FailedInvocations`, statistic Sum, period 1 minute.
22
+ * Default threshold: > 0 failures.
23
+ *
24
+ * @see https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-monitoring-events-best-practices.html
25
+ */
26
+ failedInvocations?: AlarmConfig | false;
27
+ /**
28
+ * Alarm when invocations are throttled (e.g. by service-side concurrency
29
+ * limits or quota).
30
+ *
31
+ * Metric: `AWS/Events ThrottledRules`, statistic Sum, period 1 minute.
32
+ * Default threshold: > 0 throttles.
33
+ */
34
+ throttledRules?: AlarmConfig | false;
35
+ /**
36
+ * Alarm when events that could not be delivered are sent to a target's
37
+ * dead-letter queue. Only emits data when at least one target has a DLQ
38
+ * attached and EventBridge attempts redrive; {@link TreatMissingData.NOT_BREACHING}
39
+ * keeps it quiet otherwise.
40
+ *
41
+ * Metric: `AWS/Events InvocationsSentToDlq`, statistic Sum, period 1 minute.
42
+ * Default threshold: > 0 redrives.
43
+ *
44
+ * @see https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-dlq.html
45
+ */
46
+ invocationsSentToDlq?: AlarmConfig | false;
47
+ /**
48
+ * Alarm when events could not even be delivered to a dead-letter queue.
49
+ * Indicates a misconfiguration (e.g. missing EventBridge permission on
50
+ * the DLQ) that results in event loss.
51
+ *
52
+ * Metric: `AWS/Events InvocationsFailedToBeSentToDlq`, statistic Sum,
53
+ * period 1 minute.
54
+ * Default threshold: > 0 failed redrives.
55
+ */
56
+ invocationsFailedToBeSentToDlq?: AlarmConfig | false;
57
+ }
58
+ //# sourceMappingURL=rule-alarm-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-alarm-config.d.ts","sourceRoot":"","sources":["../../src/rule-alarm-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAExC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAErC;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAE3C;;;;;;;;OAQG;IACH,8BAA8B,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;CACtD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-alarm-config.js","sourceRoot":"","sources":["../../src/rule-alarm-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import type { AlarmConfigDefaults } from "@composurecdk/cloudwatch";
2
+ interface RuleAlarmDefaults {
3
+ enabled: true;
4
+ failedInvocations: AlarmConfigDefaults;
5
+ throttledRules: AlarmConfigDefaults;
6
+ invocationsSentToDlq: AlarmConfigDefaults;
7
+ invocationsFailedToBeSentToDlq: AlarmConfigDefaults;
8
+ }
9
+ /**
10
+ * AWS-recommended default alarm configuration for EventBridge rules.
11
+ *
12
+ * @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Best_Practice_Recommended_Alarms_AWS_Services.html#EventBridge
13
+ */
14
+ export declare const RULE_ALARM_DEFAULTS: RuleAlarmDefaults;
15
+ export {};
16
+ //# sourceMappingURL=rule-alarm-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-alarm-defaults.d.ts","sourceRoot":"","sources":["../../src/rule-alarm-defaults.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,UAAU,iBAAiB;IACzB,OAAO,EAAE,IAAI,CAAC;IACd,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,cAAc,EAAE,mBAAmB,CAAC;IACpC,oBAAoB,EAAE,mBAAmB,CAAC;IAC1C,8BAA8B,EAAE,mBAAmB,CAAC;CACrD;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,iBAkCjC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-alarm-defaults.js","sourceRoot":"","sources":["../../src/rule-alarm-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAW9D;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,OAAO,EAAE,IAAI;IAEb,kFAAkF;IAClF,iBAAiB,EAAE;QACjB,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa;KACjD;IAED,uFAAuF;IACvF,cAAc,EAAE;QACd,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa;KACjD;IAED,iGAAiG;IACjG,oBAAoB,EAAE;QACpB,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa;KACjD;IAED,qEAAqE;IACrE,8BAA8B,EAAE;QAC9B,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa;KACjD;CACF,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { type Alarm } from "aws-cdk-lib/aws-cloudwatch";
2
+ import type { IRule } from "aws-cdk-lib/aws-events";
3
+ import type { IConstruct } from "constructs";
4
+ import type { AlarmDefinition } from "@composurecdk/cloudwatch";
5
+ import { AlarmDefinitionBuilder } from "@composurecdk/cloudwatch";
6
+ import type { RuleAlarmConfig } from "./rule-alarm-config.js";
7
+ /**
8
+ * Resolves the recommended alarm configuration into fully-resolved
9
+ * {@link AlarmDefinition}s for an EventBridge rule.
10
+ *
11
+ * @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Best_Practice_Recommended_Alarms_AWS_Services.html#EventBridge
12
+ */
13
+ export declare function resolveRuleAlarmDefinitions(rule: IRule, config: RuleAlarmConfig | undefined): AlarmDefinition[];
14
+ /**
15
+ * Creates AWS-recommended CloudWatch alarms for an EventBridge rule,
16
+ * merging recommended definitions with any custom alarm builders.
17
+ *
18
+ * @param scope - CDK construct scope for creating alarm constructs.
19
+ * @param id - Base identifier for alarm construct ids.
20
+ * @param rule - The EventBridge rule to create alarms for.
21
+ * @param config - User-provided alarm configuration, or `false` to disable all.
22
+ * @param customAlarms - Custom alarm builders added via `addAlarm()`.
23
+ * @returns A record mapping alarm keys to their created Alarm constructs.
24
+ *
25
+ * @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Best_Practice_Recommended_Alarms_AWS_Services.html#EventBridge
26
+ */
27
+ export declare function createRuleAlarms(scope: IConstruct, id: string, rule: IRule, config: RuleAlarmConfig | false | undefined, customAlarms?: AlarmDefinitionBuilder<IRule>[]): Record<string, Alarm>;
28
+ //# sourceMappingURL=rule-alarms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-alarms.d.ts","sourceRoot":"","sources":["../../src/rule-alarms.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAA8B,MAAM,4BAA4B,CAAC;AACpF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAoC,MAAM,0BAA0B,CAAC;AACpG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgB9D;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,eAAe,GAAG,SAAS,GAClC,eAAe,EAAE,CA2EnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,eAAe,GAAG,KAAK,GAAG,SAAS,EAC3C,YAAY,GAAE,sBAAsB,CAAC,KAAK,CAAC,EAAO,GACjD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAUvB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-alarms.js","sourceRoot":"","sources":["../../src/rule-alarms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ import { type Alarm } from "aws-cdk-lib/aws-cloudwatch";
2
+ import { type IEventBus, type IRule, type IRuleTarget, Rule, type RuleProps } from "aws-cdk-lib/aws-events";
3
+ import { type IConstruct } from "constructs";
4
+ import { COPY_STATE, type IBuilder, type Lifecycle, type Resolvable } from "@composurecdk/core";
5
+ import { AlarmDefinitionBuilder } from "@composurecdk/cloudwatch";
6
+ import type { RuleAlarmConfig } from "./rule-alarm-config.js";
7
+ /**
8
+ * Configuration properties for the EventBridge rule builder.
9
+ *
10
+ * Extends the CDK {@link RuleProps} but accepts a {@link Resolvable} for
11
+ * `eventBus` so the rule can be wired to a sibling component (or a custom
12
+ * event bus built elsewhere) via {@link ref} inside a {@link compose}d
13
+ * system. `targets` is excluded — use {@link IRuleBuilder.addTarget} so each
14
+ * target can carry its own `Resolvable` and be exposed in the build result.
15
+ */
16
+ export interface RuleBuilderProps extends Omit<RuleProps, "targets" | "eventBus"> {
17
+ /**
18
+ * The event bus the rule listens on. Accepts a concrete {@link IEventBus} or
19
+ * a {@link Ref} to another component's output. When omitted, the rule
20
+ * attaches to the account default bus, matching CDK's `RuleProps.eventBus`
21
+ * default.
22
+ */
23
+ eventBus?: Resolvable<IEventBus>;
24
+ /**
25
+ * Configuration for AWS-recommended CloudWatch alarms.
26
+ *
27
+ * By default, the builder creates recommended alarms with sensible
28
+ * thresholds for every applicable metric. Individual alarms can be
29
+ * customized or disabled. Set to `false` to disable all alarms.
30
+ *
31
+ * No alarm actions are configured by default since notification methods
32
+ * are user-specific. Access alarms from the build result or apply them
33
+ * via the {@link alarmActionsPolicy} from `@composurecdk/cloudwatch`.
34
+ *
35
+ * @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Best_Practice_Recommended_Alarms_AWS_Services.html#EventBridge
36
+ */
37
+ recommendedAlarms?: RuleAlarmConfig | false;
38
+ }
39
+ /**
40
+ * The build output of an {@link IRuleBuilder}. Contains the CDK constructs
41
+ * created during {@link Lifecycle.build}, keyed by role.
42
+ */
43
+ export interface RuleBuilderResult {
44
+ /** The EventBridge rule construct created by the builder. */
45
+ rule: Rule;
46
+ /**
47
+ * CloudWatch alarms created for the rule, keyed by alarm key.
48
+ *
49
+ * Includes both AWS-recommended alarms and any custom alarms added via
50
+ * {@link IRuleBuilder.addAlarm}. No alarm actions are configured —
51
+ * apply them via the result or an {@link alarmActionsPolicy}.
52
+ */
53
+ alarms: Record<string, Alarm>;
54
+ /**
55
+ * Resolved {@link IRuleTarget}s registered via
56
+ * {@link IRuleBuilder.addTarget}, keyed by the key passed to that call.
57
+ *
58
+ * Always present — `{}` when no targets were added.
59
+ */
60
+ targets: Record<string, IRuleTarget>;
61
+ }
62
+ /**
63
+ * A fluent builder for configuring and creating an AWS EventBridge rule.
64
+ *
65
+ * Each configuration property from the CDK {@link RuleProps} is exposed as
66
+ * an overloaded method: call with a value to set it (returns the builder for
67
+ * chaining), or call with no arguments to read the current value.
68
+ *
69
+ * The builder implements {@link Lifecycle}, so it can be used directly as a
70
+ * component in a {@link compose | composed system}. When built, it creates an
71
+ * EventBridge rule with the configured properties and returns a
72
+ * {@link RuleBuilderResult}.
73
+ *
74
+ * Targets are registered via {@link addTarget} and accept a
75
+ * {@link Resolvable}, so cross-component wiring (a sibling Lambda, queue,
76
+ * topic, …) flows through the same {@link Ref} machinery as everything else.
77
+ *
78
+ * @see https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.Rule.html
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * import { Schedule } from "aws-cdk-lib/aws-events";
83
+ * import { Duration } from "aws-cdk-lib";
84
+ *
85
+ * const rule = createRuleBuilder()
86
+ * .schedule(Schedule.rate(Duration.minutes(15)))
87
+ * .description("Idle stopper")
88
+ * .addTarget("stopper", lambdaTarget(idleStopperFn));
89
+ * ```
90
+ */
91
+ export type IRuleBuilder = IBuilder<RuleBuilderProps, RuleBuilder>;
92
+ declare class RuleBuilder implements Lifecycle<RuleBuilderResult> {
93
+ #private;
94
+ props: Partial<RuleBuilderProps>;
95
+ /**
96
+ * Register a custom CloudWatch alarm on the rule. The configure callback
97
+ * receives an {@link AlarmDefinitionBuilder} typed to {@link IRule} so the
98
+ * metric factory has access to the rule's properties.
99
+ */
100
+ addAlarm(key: string, configure: (alarm: AlarmDefinitionBuilder<IRule>) => AlarmDefinitionBuilder<IRule>): this;
101
+ /**
102
+ * Register a target to be attached to the rule at build time.
103
+ *
104
+ * Accepts any concrete {@link IRuleTarget} (the lightweight helpers in
105
+ * `./targets/` produce these) or a {@link Resolvable} so targets that wire
106
+ * cross-component references can be declared at configuration time. The
107
+ * resolved target is exposed on {@link RuleBuilderResult.targets} under
108
+ * `key`.
109
+ */
110
+ addTarget(key: string, target: Resolvable<IRuleTarget>): this;
111
+ build(scope: IConstruct, id: string, context?: Record<string, object>): RuleBuilderResult;
112
+ /** Deep-clones accumulator state so `.copy()` produces an independent builder. */
113
+ [COPY_STATE](next: RuleBuilder): void;
114
+ }
115
+ /**
116
+ * Creates a new {@link IRuleBuilder} for configuring an AWS EventBridge rule.
117
+ *
118
+ * This is the entry point for defining an EventBridge rule component. The
119
+ * returned builder exposes every {@link RuleBuilderProps} property as a
120
+ * fluent setter/getter and implements {@link Lifecycle} for use with
121
+ * {@link compose}.
122
+ *
123
+ * @example
124
+ * ```ts
125
+ * import { compose, ref } from "@composurecdk/core";
126
+ * import { createRuleBuilder, lambdaTarget } from "@composurecdk/events";
127
+ * import { Schedule } from "aws-cdk-lib/aws-events";
128
+ * import { Duration } from "aws-cdk-lib";
129
+ *
130
+ * const system = compose(
131
+ * {
132
+ * stopper: createFunctionBuilder()...,
133
+ * idleStopperSchedule: createRuleBuilder()
134
+ * .schedule(Schedule.rate(Duration.minutes(15)))
135
+ * .addTarget("stopper", lambdaTarget(ref("stopper", (r) => r.function))),
136
+ * },
137
+ * { stopper: [], idleStopperSchedule: ["stopper"] },
138
+ * );
139
+ * ```
140
+ */
141
+ export declare function createRuleBuilder(): IRuleBuilder;
142
+ export {};
143
+ //# sourceMappingURL=rule-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-builder.d.ts","sourceRoot":"","sources":["../../src/rule-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EACL,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,IAAI,EACJ,KAAK,SAAS,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAEL,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,SAAS,EAEd,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/E;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAEjC;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,eAAe,GAAG,KAAK,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,IAAI,EAAE,IAAI,CAAC;IAEX;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;AAOnE,cAAM,WAAY,YAAW,SAAS,CAAC,iBAAiB,CAAC;;IACvD,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAM;IAItC;;;;OAIG;IACH,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,KAAK,sBAAsB,CAAC,KAAK,CAAC,GACjF,IAAI;IAKP;;;;;;;;OAQG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI;IAU7D,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB;IA+BzF,kFAAkF;IAClF,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;CAItC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,CAGhD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-builder.js","sourceRoot":"","sources":["../../src/rule-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { IRuleTarget } from "aws-cdk-lib/aws-events";
2
+ import { type LogGroupProps } from "aws-cdk-lib/aws-events-targets";
3
+ import type { ILogGroup } from "aws-cdk-lib/aws-logs";
4
+ import { type Resolvable } from "@composurecdk/core";
5
+ /**
6
+ * Wraps a CloudWatch log group as an EventBridge {@link IRuleTarget},
7
+ * deferring resolution if the log group is a {@link Ref} to a sibling
8
+ * component's output.
9
+ *
10
+ * Mirrors the {@link CloudWatchLogGroup} target from `aws-events-targets`,
11
+ * useful for audit / debug logging. `props` accepts
12
+ * {@link LogGroupProps.logEvent} (preferred over the deprecated `event`)
13
+ * to control the log payload, plus the inherited DLQ/retry options.
14
+ */
15
+ export declare function cloudWatchLogGroupTarget(logGroup: Resolvable<ILogGroup>, props?: LogGroupProps): Resolvable<IRuleTarget>;
16
+ //# sourceMappingURL=cloud-watch-log-group-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-watch-log-group-target.d.ts","sourceRoot":"","sources":["../../../src/targets/cloud-watch-log-group-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,EAC/B,KAAK,CAAC,EAAE,aAAa,GACpB,UAAU,CAAC,WAAW,CAAC,CAKzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-watch-log-group-target.js","sourceRoot":"","sources":["../../../src/targets/cloud-watch-log-group-target.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAsB,MAAM,gCAAgC,CAAC;AAExF,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA+B,EAC/B,KAAqB;IAErB,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { IEventBus, IRuleTarget } from "aws-cdk-lib/aws-events";
2
+ import { type EventBusProps } from "aws-cdk-lib/aws-events-targets";
3
+ import { type Resolvable } from "@composurecdk/core";
4
+ /**
5
+ * Wraps an EventBridge bus as an {@link IRuleTarget}, deferring resolution
6
+ * if the bus is a {@link Ref} to a sibling component's output.
7
+ *
8
+ * Mirrors the {@link EventBusTarget} target from `aws-events-targets` —
9
+ * useful for cross-bus or cross-account routing. `props` accepts
10
+ * {@link EventBusProps.role} (otherwise CDK creates one) and a per-target
11
+ * `deadLetterQueue`. Note: bus targets do **not** support retry policy
12
+ * configuration, per CDK's {@link EventBusProps} (it intentionally does not
13
+ * extend the retry base).
14
+ */
15
+ export declare function eventBusTarget(bus: Resolvable<IEventBus>, props?: EventBusProps): Resolvable<IRuleTarget>;
16
+ //# sourceMappingURL=event-bus-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus-target.d.ts","sourceRoot":"","sources":["../../../src/targets/event-bus-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAA8B,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,EAC1B,KAAK,CAAC,EAAE,aAAa,GACpB,UAAU,CAAC,WAAW,CAAC,CAGzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus-target.js","sourceRoot":"","sources":["../../../src/targets/event-bus-target.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAsB,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAC5B,GAA0B,EAC1B,KAAqB;IAErB,IAAI,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,OAAO,IAAI,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { IRuleTarget } from "aws-cdk-lib/aws-events";
2
+ import { type LambdaFunctionProps } from "aws-cdk-lib/aws-events-targets";
3
+ import type { IFunction } from "aws-cdk-lib/aws-lambda";
4
+ import { type Resolvable } from "@composurecdk/core";
5
+ /**
6
+ * Wraps a Lambda function as an EventBridge {@link IRuleTarget}, deferring
7
+ * resolution if the function is a {@link Ref} to a sibling component's
8
+ * output.
9
+ *
10
+ * Mirrors the {@link LambdaFunction} target from `aws-events-targets` —
11
+ * `props` accepts the same options ({@link LambdaFunctionProps.event} for
12
+ * input transformation, plus `deadLetterQueue`, `maxEventAge`,
13
+ * `retryAttempts` from {@link LambdaFunctionProps}'s base).
14
+ *
15
+ * Cross-component DLQ wiring (where the queue is built by another component)
16
+ * is supported by composing through `ref().map()` instead of passing the
17
+ * queue here directly:
18
+ *
19
+ * ```ts
20
+ * .addTarget(
21
+ * "stopper",
22
+ * ref<StopperBundle>("stopperBundle", b =>
23
+ * lambdaTarget(b.fn, { deadLetterQueue: b.dlq }),
24
+ * ),
25
+ * )
26
+ * ```
27
+ *
28
+ * @see https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-dlq.html
29
+ */
30
+ export declare function lambdaTarget(fn: Resolvable<IFunction>, props?: LambdaFunctionProps): Resolvable<IRuleTarget>;
31
+ //# sourceMappingURL=lambda-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lambda-target.d.ts","sourceRoot":"","sources":["../../../src/targets/lambda-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,EACzB,KAAK,CAAC,EAAE,mBAAmB,GAC1B,UAAU,CAAC,WAAW,CAAC,CAGzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lambda-target.js","sourceRoot":"","sources":["../../../src/targets/lambda-target.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA4B,MAAM,gCAAgC,CAAC;AAE1F,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,YAAY,CAC1B,EAAyB,EACzB,KAA2B;IAE3B,IAAI,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { IRuleTarget } from "aws-cdk-lib/aws-events";
2
+ import { type SfnStateMachineProps } from "aws-cdk-lib/aws-events-targets";
3
+ import type { IStateMachine } from "aws-cdk-lib/aws-stepfunctions";
4
+ import { type Resolvable } from "@composurecdk/core";
5
+ /**
6
+ * Wraps a Step Functions state machine as an EventBridge
7
+ * {@link IRuleTarget}, deferring resolution if the state machine is a
8
+ * {@link Ref} to a sibling component's output.
9
+ *
10
+ * Mirrors the {@link SfnStateMachine} target from `aws-events-targets` —
11
+ * `props` accepts {@link SfnStateMachineProps.input} for input
12
+ * transformation, an explicit `role` (otherwise CDK creates one), plus the
13
+ * inherited DLQ/retry options.
14
+ */
15
+ export declare function sfnStateMachineTarget(stateMachine: Resolvable<IStateMachine>, props?: SfnStateMachineProps): Resolvable<IRuleTarget>;
16
+ //# sourceMappingURL=sfn-state-machine-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfn-state-machine-target.d.ts","sourceRoot":"","sources":["../../../src/targets/sfn-state-machine-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC,EACvC,KAAK,CAAC,EAAE,oBAAoB,GAC3B,UAAU,CAAC,WAAW,CAAC,CAKzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfn-state-machine-target.js","sourceRoot":"","sources":["../../../src/targets/sfn-state-machine-target.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAA6B,MAAM,gCAAgC,CAAC;AAE5F,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAuC,EACvC,KAA4B;IAE5B,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { IRuleTarget } from "aws-cdk-lib/aws-events";
2
+ import { type SnsTopicProps } from "aws-cdk-lib/aws-events-targets";
3
+ import type { ITopic } from "aws-cdk-lib/aws-sns";
4
+ import { type Resolvable } from "@composurecdk/core";
5
+ /**
6
+ * Wraps an SNS topic as an EventBridge {@link IRuleTarget}, deferring
7
+ * resolution if the topic is a {@link Ref} to a sibling component's output.
8
+ *
9
+ * Mirrors the {@link SnsTopic} target from `aws-events-targets` — `props`
10
+ * accepts {@link SnsTopicProps.message} for input transformation, and the
11
+ * IAM `role` / `authorizeUsingRole` options for cross-account publishing.
12
+ *
13
+ * Note: SNS targets do not accept a per-target DLQ
14
+ * ({@link SnsTopicProps} does not extend the retry/DLQ base type).
15
+ */
16
+ export declare function snsTarget(topic: Resolvable<ITopic>, props?: SnsTopicProps): Resolvable<IRuleTarget>;
17
+ //# sourceMappingURL=sns-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sns-target.d.ts","sourceRoot":"","sources":["../../../src/targets/sns-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EACzB,KAAK,CAAC,EAAE,aAAa,GACpB,UAAU,CAAC,WAAW,CAAC,CAGzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sns-target.js","sourceRoot":"","sources":["../../../src/targets/sns-target.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAsB,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CACvB,KAAyB,EACzB,KAAqB;IAErB,IAAI,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { IRuleTarget } from "aws-cdk-lib/aws-events";
2
+ import { type SqsQueueProps } from "aws-cdk-lib/aws-events-targets";
3
+ import type { IQueue } from "aws-cdk-lib/aws-sqs";
4
+ import { type Resolvable } from "@composurecdk/core";
5
+ /**
6
+ * Wraps an SQS queue as an EventBridge {@link IRuleTarget}, deferring
7
+ * resolution if the queue is a {@link Ref} to a sibling component's output.
8
+ *
9
+ * Mirrors the {@link SqsQueue} target from `aws-events-targets` — `props`
10
+ * accepts {@link SqsQueueProps.message} for input transformation,
11
+ * {@link SqsQueueProps.messageGroupId} (required for FIFO targets), plus the
12
+ * `deadLetterQueue` / `maxEventAge` / `retryAttempts` reliability options
13
+ * from the inherited base.
14
+ */
15
+ export declare function sqsTarget(queue: Resolvable<IQueue>, props?: SqsQueueProps): Resolvable<IRuleTarget>;
16
+ //# sourceMappingURL=sqs-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqs-target.d.ts","sourceRoot":"","sources":["../../../src/targets/sqs-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EACzB,KAAK,CAAC,EAAE,aAAa,GACpB,UAAU,CAAC,WAAW,CAAC,CAGzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqs-target.js","sourceRoot":"","sources":["../../../src/targets/sqs-target.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAsB,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CACvB,KAAyB,EACzB,KAAqB;IAErB,IAAI,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC"}
package/package.json CHANGED
@@ -1,29 +1,22 @@
1
1
  {
2
2
  "name": "@composurecdk/events",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Composable EventBridge rule builder with well-architected defaults",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/laazyj/composureCDK",
8
8
  "directory": "packages/events"
9
9
  },
10
- "main": "./dist/index.js",
11
- "types": "./dist/index.d.ts",
12
- "exports": {
13
- ".": {
14
- "import": "./dist/index.js",
15
- "types": "./dist/index.d.ts"
16
- }
17
- },
18
10
  "files": [
19
11
  "dist",
20
12
  "README.md",
21
13
  "LICENSE"
22
14
  ],
23
15
  "scripts": {
24
- "clean": "rm -rf dist",
25
- "build": "tsc -p tsconfig.build.json",
16
+ "clean": "rm -rf dist .tshy .tshy-build",
17
+ "build": "tshy",
26
18
  "typecheck": "tsc --noEmit",
19
+ "check:exports": "attw --pack . --profile node16 && publint",
27
20
  "test": "vitest run",
28
21
  "test:watch": "vitest"
29
22
  },
@@ -34,17 +27,42 @@
34
27
  "access": "public"
35
28
  },
36
29
  "type": "module",
30
+ "engines": {
31
+ "node": ">=20"
32
+ },
33
+ "tshy": {
34
+ "exports": {
35
+ "./package.json": "./package.json",
36
+ ".": "./src/index.ts"
37
+ }
38
+ },
37
39
  "peerDependencies": {
38
- "@composurecdk/cloudwatch": "^0.6.0",
39
- "@composurecdk/core": "^0.6.0",
40
+ "@composurecdk/cloudwatch": "^0.8.0",
41
+ "@composurecdk/core": "^0.8.0",
40
42
  "aws-cdk-lib": "^2.0.0",
41
43
  "constructs": "^10.0.0"
42
44
  },
43
45
  "devDependencies": {
44
- "@types/node": "^25.6.0",
45
- "aws-cdk-lib": "^2.250.0",
46
+ "@types/node": "^25.6.2",
47
+ "aws-cdk-lib": "^2.253.1",
46
48
  "constructs": "^10.6.0",
47
49
  "typescript": "^6.0.3",
48
50
  "vitest": "^4.1.4"
49
- }
51
+ },
52
+ "exports": {
53
+ "./package.json": "./package.json",
54
+ ".": {
55
+ "import": {
56
+ "types": "./dist/esm/index.d.ts",
57
+ "default": "./dist/esm/index.js"
58
+ },
59
+ "require": {
60
+ "types": "./dist/commonjs/index.d.ts",
61
+ "default": "./dist/commonjs/index.js"
62
+ }
63
+ }
64
+ },
65
+ "main": "./dist/commonjs/index.js",
66
+ "types": "./dist/commonjs/index.d.ts",
67
+ "module": "./dist/esm/index.js"
50
68
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,SAAS,CAAM,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAuB,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAIlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule-alarm-config.d.ts","sourceRoot":"","sources":["../src/rule-alarm-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAExC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAErC;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAE3C;;;;;;;;OAQG;IACH,8BAA8B,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;CACtD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule-alarm-config.js","sourceRoot":"","sources":["../src/rule-alarm-config.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule-alarm-defaults.d.ts","sourceRoot":"","sources":["../src/rule-alarm-defaults.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,UAAU,iBAAiB;IACzB,OAAO,EAAE,IAAI,CAAC;IACd,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,cAAc,EAAE,mBAAmB,CAAC;IACpC,oBAAoB,EAAE,mBAAmB,CAAC;IAC1C,8BAA8B,EAAE,mBAAmB,CAAC;CACrD;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,iBAkCjC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule-alarm-defaults.js","sourceRoot":"","sources":["../src/rule-alarm-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAW9D;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,OAAO,EAAE,IAAI;IAEb,kFAAkF;IAClF,iBAAiB,EAAE;QACjB,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa;KACjD;IAED,uFAAuF;IACvF,cAAc,EAAE;QACd,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa;KACjD;IAED,iGAAiG;IACjG,oBAAoB,EAAE;QACpB,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa;KACjD;IAED,qEAAqE;IACrE,8BAA8B,EAAE;QAC9B,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa;KACjD;CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule-alarms.d.ts","sourceRoot":"","sources":["../src/rule-alarms.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAA8B,MAAM,4BAA4B,CAAC;AACpF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAoC,MAAM,0BAA0B,CAAC;AACpG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgB9D;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,eAAe,GAAG,SAAS,GAClC,eAAe,EAAE,CA2EnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,eAAe,GAAG,KAAK,GAAG,SAAS,EAC3C,YAAY,GAAE,sBAAsB,CAAC,KAAK,CAAC,EAAO,GACjD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAUvB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule-alarms.js","sourceRoot":"","sources":["../src/rule-alarms.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule-builder.d.ts","sourceRoot":"","sources":["../src/rule-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EACL,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,IAAI,EACJ,KAAK,SAAS,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAEL,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,SAAS,EAEd,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/E;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAEjC;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,eAAe,GAAG,KAAK,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,IAAI,EAAE,IAAI,CAAC;IAEX;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;AAOnE,cAAM,WAAY,YAAW,SAAS,CAAC,iBAAiB,CAAC;;IACvD,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAM;IAItC;;;;OAIG;IACH,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,KAAK,sBAAsB,CAAC,KAAK,CAAC,GACjF,IAAI;IAKP;;;;;;;;OAQG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI;IAU7D,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB;IA+BzF,kFAAkF;IAClF,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;CAItC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,CAGhD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule-builder.js","sourceRoot":"","sources":["../src/rule-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloud-watch-log-group-target.d.ts","sourceRoot":"","sources":["../../src/targets/cloud-watch-log-group-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,EAC/B,KAAK,CAAC,EAAE,aAAa,GACpB,UAAU,CAAC,WAAW,CAAC,CAKzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloud-watch-log-group-target.js","sourceRoot":"","sources":["../../src/targets/cloud-watch-log-group-target.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAsB,MAAM,gCAAgC,CAAC;AAExF,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA+B,EAC/B,KAAqB;IAErB,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC"}