stacktape 3.6.0-beta.0 → 3.6.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.
@@ -56,17 +56,6 @@ interface StacktapeConfig {
56
56
  * ```
57
57
  */
58
58
  variables?: { [variableName: string]: any };
59
- /**
60
- * #### Set a monthly spending limit and get email alerts when costs approach it.
61
- *
62
- * ---
63
- *
64
- * The budget resets at the start of each calendar month. You can configure alerts
65
- * based on actual spend or AWS-forecasted spend.
66
- *
67
- * > Not available in all regions (e.g., `ap-east-1`, `af-south-1`).
68
- */
69
- budgetControl?: BudgetControl;
70
59
  /**
71
60
  * #### Run scripts automatically before/after deploy, delete, or dev commands.
72
61
  *
@@ -15,7 +15,12 @@ Resource type: `sqs-queue-not-empty`
15
15
  ## TypeScript Definition
16
16
 
17
17
  ```typescript
18
- type AlarmUserIntegration = MsTeamsIntegration | SlackIntegration | EmailIntegration;
18
+ type AlarmUserIntegration =
19
+ | MsTeamsIntegration
20
+ | SlackIntegration
21
+ | EmailIntegration
22
+ | DiscordIntegration
23
+ | WebhookIntegration;
19
24
 
20
25
  interface AlarmDefinitionBase {
21
26
  /**
@@ -31,6 +36,12 @@ interface AlarmDefinitionBase {
31
36
  * #### Where to send notifications when the alarm fires — Slack, MS Teams, or email.
32
37
  */
33
38
  notificationTargets?: AlarmUserIntegration[];
39
+ /**
40
+ * #### Whether alarm state changes should appear in monitoring history.
41
+ *
42
+ * @default true
43
+ */
44
+ includeInHistory?: boolean;
34
45
  /**
35
46
  * #### Custom alarm description used in notification messages and the AWS console.
36
47
  */
@@ -307,8 +318,7 @@ interface RelationalDatabaseWriteLatencyTrigger {
307
318
  }
308
319
 
309
320
  interface RelationalDatabaseWriteLatencyTriggerProps
310
- extends TriggerWithCustomComparison,
311
- TriggerWithCustomStatFunction {
321
+ extends TriggerWithCustomComparison, TriggerWithCustomStatFunction {
312
322
  /**
313
323
  * #### Fires when average write I/O latency exceeds this value (seconds).
314
324
  */
@@ -321,8 +331,7 @@ interface RelationalDatabaseCPUUtilizationTrigger {
321
331
  }
322
332
 
323
333
  interface RelationalDatabaseCPUUtilizationTriggerProps
324
- extends TriggerWithCustomComparison,
325
- TriggerWithCustomStatFunction {
334
+ extends TriggerWithCustomComparison, TriggerWithCustomStatFunction {
326
335
  /**
327
336
  * #### Fires when CPU utilization exceeds this percentage.
328
337
  */
@@ -351,8 +360,7 @@ interface RelationalDatabaseConnectionCountTrigger {
351
360
  }
352
361
 
353
362
  interface RelationalDatabaseConnectionCountTriggerProps
354
- extends TriggerWithCustomComparison,
355
- TriggerWithCustomStatFunction {
363
+ extends TriggerWithCustomComparison, TriggerWithCustomStatFunction {
356
364
  /**
357
365
  * #### Fires when the number of active database connections exceeds this value.
358
366
  */
@@ -387,6 +395,7 @@ type ComparisonOperator =
387
395
  type AlarmNotificationEventRuleInput = {
388
396
  description: string;
389
397
  time: string;
398
+ stateValue: string;
390
399
  alarmAwsResourceName: string;
391
400
  stackName: string;
392
401
  alarmConfig: AlarmDefinition;
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-03-10T12:37:40.188Z",
2
+ "generatedAt": "2026-03-13T12:34:20.646Z",
3
3
  "version": "1.0",
4
4
  "synonymMap": {
5
5
  "function": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stacktape",
3
- "version": "3.6.0-beta.0",
3
+ "version": "3.6.0",
4
4
  "description": "PaaS 2.0 that deploys to your own AWS account.",
5
5
  "author": "Stacktape team <support@stacktape.com>",
6
6
  "license": "MIT",
package/plain.d.ts CHANGED
@@ -47,7 +47,12 @@ export type ApplicationLoadBalancerAlarmTrigger =
47
47
  | ApplicationLoadBalancerCustomTrigger
48
48
  | ApplicationLoadBalancerErrorRateTrigger
49
49
  | ApplicationLoadBalancerUnhealthyTargetsTrigger;
50
- export type AlarmUserIntegration = MsTeamsIntegration | SlackIntegration | EmailIntegration;
50
+ export type AlarmUserIntegration =
51
+ | MsTeamsIntegration
52
+ | SlackIntegration
53
+ | EmailIntegration
54
+ | DiscordIntegration
55
+ | WebhookIntegration;
51
56
  export type HttpApiGatewayAlarmTrigger = HttpApiGatewayErrorRateTrigger | HttpApiGatewayLatencyTrigger;
52
57
  /**
53
58
  * #### How traffic reaches this service from other resources.
@@ -180,7 +185,6 @@ export interface StacktapeConfig {
180
185
  * ```
181
186
  */
182
187
  variables?: any;
183
- budgetControl?: BudgetControl;
184
188
  hooks?: Hooks;
185
189
  /**
186
190
  * #### Custom shell commands or code you can run manually or as lifecycle hooks.
@@ -310,61 +314,6 @@ export interface UpstashProvider {
310
314
  */
311
315
  apiKey: string;
312
316
  }
313
- /**
314
- * #### Set a monthly spending limit and get email alerts when costs approach it.
315
- *
316
- * ---
317
- *
318
- * The budget resets at the start of each calendar month. You can configure alerts
319
- * based on actual spend or AWS-forecasted spend.
320
- *
321
- * > Not available in all regions (e.g., `ap-east-1`, `af-south-1`).
322
- */
323
- export interface BudgetControl {
324
- /**
325
- * #### Monthly spending limit in USD.
326
- *
327
- * ---
328
- *
329
- * Notification thresholds are calculated as a percentage of this amount.
330
- * Resets at the start of each calendar month.
331
- */
332
- limit: number;
333
- /**
334
- * #### Email alerts when spending approaches the limit.
335
- *
336
- * ---
337
- *
338
- * Each notification fires at a percentage threshold of the `limit`, based on
339
- * actual or forecasted spend. Max 5 notifications.
340
- */
341
- notifications?: BudgetNotification[];
342
- }
343
- export interface BudgetNotification {
344
- /**
345
- * #### Whether to alert on actual or forecasted spend.
346
- *
347
- * ---
348
- *
349
- * - `ACTUAL` — fires when you've already spent past the threshold.
350
- * - `FORECASTED` — fires when AWS predicts you'll exceed the threshold by month-end.
351
- *
352
- * Forecasts need ~5 weeks of usage data before they work.
353
- */
354
- budgetType?: "ACTUAL" | "FORECASTED";
355
- /**
356
- * #### Percentage of the budget limit that triggers this alert.
357
- *
358
- * ---
359
- *
360
- * Example: limit = $200, threshold = 80 → alert fires at $160.
361
- */
362
- thresholdPercentage?: number;
363
- /**
364
- * #### Email addresses that receive the alert. Max 10.
365
- */
366
- emails: string[];
367
- }
368
317
  /**
369
318
  * #### Run scripts automatically before/after deploy, delete, or dev commands.
370
319
  *
@@ -4401,6 +4350,10 @@ export interface ApplicationLoadBalancerAlarm {
4401
4350
  * #### Where to send notifications when the alarm fires — Slack, MS Teams, or email.
4402
4351
  */
4403
4352
  notificationTargets?: AlarmUserIntegration[];
4353
+ /**
4354
+ * #### Whether alarm state changes should appear in monitoring history.
4355
+ */
4356
+ includeInHistory?: boolean;
4404
4357
  /**
4405
4358
  * #### Custom alarm description used in notification messages and the AWS console.
4406
4359
  */
@@ -4682,6 +4635,43 @@ export interface EmailIntegrationProps {
4682
4635
  */
4683
4636
  recipient: string;
4684
4637
  }
4638
+ export interface DiscordIntegration {
4639
+ type: "discord";
4640
+ properties?: DiscordIntegrationProps;
4641
+ }
4642
+ export interface DiscordIntegrationProps {
4643
+ /**
4644
+ * #### Discord Webhook URL for the channel. Store as `$Secret()` for security.
4645
+ *
4646
+ * ---
4647
+ *
4648
+ * Create a webhook in your Discord channel settings (Edit Channel → Integrations → Webhooks).
4649
+ */
4650
+ webhookUrl: string;
4651
+ }
4652
+ export interface WebhookIntegration {
4653
+ type: "webhook";
4654
+ properties?: WebhookIntegrationProps;
4655
+ }
4656
+ export interface WebhookIntegrationProps {
4657
+ /**
4658
+ * #### The URL to send webhook POST requests to.
4659
+ */
4660
+ url: string;
4661
+ /**
4662
+ * #### Optional signing secret for HMAC-SHA256 payload verification.
4663
+ *
4664
+ * ---
4665
+ *
4666
+ * If provided, each request includes an `X-Stacktape-Signature` header.
4667
+ */
4668
+ secret?: string;
4669
+ headers?: RecordStringString;
4670
+ }
4671
+ /**
4672
+ * #### Optional custom headers to include in each request.
4673
+ */
4674
+ export interface RecordStringString {}
4685
4675
  export interface HttpApiGatewayAlarm {
4686
4676
  trigger: HttpApiGatewayAlarmTrigger;
4687
4677
  evaluation?: AlarmEvaluation1;
@@ -4689,6 +4679,10 @@ export interface HttpApiGatewayAlarm {
4689
4679
  * #### Where to send notifications when the alarm fires — Slack, MS Teams, or email.
4690
4680
  */
4691
4681
  notificationTargets?: AlarmUserIntegration[];
4682
+ /**
4683
+ * #### Whether alarm state changes should appear in monitoring history.
4684
+ */
4685
+ includeInHistory?: boolean;
4692
4686
  /**
4693
4687
  * #### Custom alarm description used in notification messages and the AWS console.
4694
4688
  */
@@ -5985,6 +5979,10 @@ export interface RelationalDatabaseAlarm {
5985
5979
  * #### Where to send notifications when the alarm fires — Slack, MS Teams, or email.
5986
5980
  */
5987
5981
  notificationTargets?: AlarmUserIntegration[];
5982
+ /**
5983
+ * #### Whether alarm state changes should appear in monitoring history.
5984
+ */
5985
+ includeInHistory?: boolean;
5988
5986
  /**
5989
5987
  * #### Custom alarm description used in notification messages and the AWS console.
5990
5988
  */
@@ -9696,6 +9694,10 @@ export interface SqsQueueAlarm {
9696
9694
  * #### Where to send notifications when the alarm fires — Slack, MS Teams, or email.
9697
9695
  */
9698
9696
  notificationTargets?: AlarmUserIntegration[];
9697
+ /**
9698
+ * #### Whether alarm state changes should appear in monitoring history.
9699
+ */
9700
+ includeInHistory?: boolean;
9699
9701
  /**
9700
9702
  * #### Custom alarm description used in notification messages and the AWS console.
9701
9703
  */
@@ -11516,6 +11518,10 @@ export interface LambdaAlarm {
11516
11518
  * #### Where to send notifications when the alarm fires — Slack, MS Teams, or email.
11517
11519
  */
11518
11520
  notificationTargets?: AlarmUserIntegration[];
11521
+ /**
11522
+ * #### Whether alarm state changes should appear in monitoring history.
11523
+ */
11524
+ includeInHistory?: boolean;
11519
11525
  /**
11520
11526
  * #### Custom alarm description used in notification messages and the AWS console.
11521
11527
  */