@camstack/types 1.2.31 → 1.2.32

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.
@@ -73,9 +73,9 @@ export type { BrokerConnectionDetails, BrokerInfo, BrokerStatus as MqttBrokerLiv
73
73
  export { AddBrokerInputSchema, BrokerConnectionDetailsSchema, BrokerInfoSchema, MqttBrokerStatusSchema, mqttBrokerCapability, StartEmbeddedInputSchema, } from './mqtt-broker.cap.js';
74
74
  export type { NetworkAccessStatus, NetworkEndpoint } from './network-access.cap.js';
75
75
  export { NetworkAccessStatusSchema, NetworkEndpointSchema, networkAccessCapability, } from './network-access.cap.js';
76
- export { type Attachment, type AttachmentMediaType, AttachmentMediaTypeSchema, AttachmentSchema, type DiscoveredTarget, DiscoveredTargetSchema, type INotificationOutputProvider, type NotificationAction, NotificationActionSchema, type NotificationFormat, NotificationFormatSchema, NotificationSchema, notificationOutputCapability, type RenderedAs, RenderedAsSchema, type SendResult, SendResultSchema, type Target, type TargetKind, type TargetKindCaps, TargetKindCapsSchema, type TargetKindLevel, TargetKindLevelSchema, TargetKindSchema, TargetSchema, type TestResult, TestResultSchema, } from './notification-output.cap.js';
76
+ export { type Attachment, type AttachmentMediaType, AttachmentMediaTypeSchema, AttachmentSchema, type DiscoveredTarget, DiscoveredTargetSchema, type INotificationOutputProvider, type NotificationAction, NotificationActionSchema, type NotificationActionIcon, NotificationActionIconSchema, type NotificationFormat, NotificationFormatSchema, NotificationSchema, notificationOutputCapability, type RenderedAs, RenderedAsSchema, type SendResult, SendResultSchema, type Target, type TargetKind, type TargetKindCaps, TargetKindCapsSchema, type TargetKindLevel, TargetKindLevelSchema, TargetKindSchema, TargetSchema, type TestResult, TestResultSchema, } from './notification-output.cap.js';
77
77
  export { type CoreBlock, type CoreBlockCompileResult, CoreBlockCompileResultSchema, type CoreBlockInput, CoreBlockInputSchema, type CoreBlockPlacement, CoreBlockPlacementSchema, CoreBlockSchema, type CoreBlockStatus, CoreBlockStatusSchema, coreBlocksCapability, type ICoreBlocksProvider, } from './core-blocks.cap.js';
78
- export { type INotificationRulesProvider, NC_CONDITION_CATALOG, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_SNOOZE_MAX_MINUTES, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcCrossing, NcCrossingSchema, type NcDeviceStateCondition, NcDeviceStateConditionSchema, type NcDelivery, NcDeliverySchema, type NcHistoryEntry, NcHistoryEntrySchema, type NcHistoryFilter, NcHistoryFilterSchema, type NcHistoryRecordKind, NcHistoryRecordKindSchema, type NcHistoryStatus, NcHistoryStatusSchema, type NcHistorySubject, NcHistorySubjectSchema, type NcMediaFrame, NcMediaFrameSchema, type NcMediaPolicy, NcMediaPolicySchema, type NcOccupancyCondition, NcOccupancyConditionSchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleAction, NcRuleActionSchema, type NcRuleActionSequence, NcRuleActionSequenceSchema, type NcRuleActions, NcRuleActionsSchema, type NcRuleInput, NcRuleInputSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcSnooze, type NcSnoozeInput, NcSnoozeInputSchema, NcSnoozeSchema, type NcSnoozeScope, NcSnoozeScopeSchema, type NcSnoozeSuppressed, NcSnoozeSuppressedSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
78
+ export { type INotificationRulesProvider, NC_CONDITION_CATALOG, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_SNOOZE_MAX_MINUTES, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcCrossing, NcCrossingSchema, type NcDeviceStateCondition, NcDeviceStateConditionSchema, type NcDelivery, NcDeliverySchema, type NcHistoryEntry, NcHistoryEntrySchema, type NcHistoryFilter, NcHistoryFilterSchema, type NcHistoryRecordKind, NcHistoryRecordKindSchema, type NcHistoryStatus, NcHistoryStatusSchema, type NcHistorySubject, NcHistorySubjectSchema, type NcMediaFrame, NcMediaFrameSchema, type NcMediaPolicy, NcMediaPolicySchema, type NcOccupancyCondition, NcOccupancyConditionSchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleAction, NcRuleActionSchema, type NcRuleActionSequence, NcRuleActionSequenceSchema, type NcRuleActions, NcRuleActionsSchema, type NcRuleNotificationButton, NcRuleNotificationButtonSchema, type NcRuleInput, NcRuleInputSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcSnooze, type NcSnoozeInput, NcSnoozeInputSchema, NcSnoozeSchema, type NcSnoozeScope, NcSnoozeScopeSchema, type NcSnoozeSuppressed, NcSnoozeSuppressedSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
79
79
  export { type IOauthIntegrationProvider, type OauthIntegrationDescriptor, OauthIntegrationDescriptorSchema, oauthIntegrationCapability, } from './oauth-integration.cap.js';
80
80
  export { type AudioEvent, AudioEventSchema, type DetectionSource, DetectionSourceSchema, type EventKind, type EventKindCategory, EventKindCategorySchema, type EventKindDescriptor, EventKindDescriptorSchema, type EventKindsForDevice, type MediaFileInfo, MediaFileInfoSchema, EventKindsForDeviceSchema, type EventKindIcon, EventKindIconSchema, EventKindSchema, type EventPruneCounts, type EventStoreDeviceFootprint, type EventStoreFootprint, type IPipelineAnalyticsProvider, type KeyEvent, KeyEventSchema, type MediaFile, type MediaFileKind, MediaFileSchema, type MotionEvent, MotionEventSchema, type ObjectEvent, ObjectEventSchema, pipelineAnalyticsCapability, type RecentTracksPage, RecentTracksPageSchema, type RecentTracksQuery, RecentTracksQueryInput, type ScoredObjectEvent, ScoredObjectEventSchema, type SensorEvent, SensorEventSchema, type Track, type TrackCascadeCounts, TrackCascadeCountsSchema, type TrackEnvelope, TrackEnvelopeSchema, TrackedDetectionSchema, type TrackProjection, TrackProjectionSchema, TrackSchema, type TrackState, TrackStateSchema, type TrackZoneFilter, TrackZoneFilterSchema, type ZoneCrossing, type ZoneCrossingDirection, ZoneCrossingDirectionSchema, ZoneCrossingSchema, } from './pipeline-analytics.cap.js';
81
81
  export type { NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, } from './pipeline-executor.cap.js';
@@ -70,11 +70,56 @@ export declare const NotificationFormatSchema: z.ZodEnum<{
70
70
  html: "html";
71
71
  }>;
72
72
  export type NotificationFormat = z.infer<typeof NotificationFormatSchema>;
73
+ /**
74
+ * The CLOSED icon vocabulary an action button may use.
75
+ *
76
+ * A closed set, not a free string, and that is the whole point: an arbitrary
77
+ * icon name is one that ntfy renders, zentik silently drops, and nobody
78
+ * notices — the same class of gap as a zone vocabulary nothing produced
79
+ * ([D35](../../../docs/decisions/adr-0035.md)). Every adapter maps this set or
80
+ * declares `actionIcons: false` and the degrade engine strips the field.
81
+ *
82
+ * Named by INTENT, never by glyph. "check" would tie the vocabulary to one
83
+ * renderer's icon set; "acknowledge" survives an adapter that draws it
84
+ * differently.
85
+ */
86
+ export declare const NotificationActionIconSchema: z.ZodEnum<{
87
+ light: "light";
88
+ lock: "lock";
89
+ view: "view";
90
+ arm: "arm";
91
+ disarm: "disarm";
92
+ dismiss: "dismiss";
93
+ open: "open";
94
+ close: "close";
95
+ unlock: "unlock";
96
+ play: "play";
97
+ acknowledge: "acknowledge";
98
+ silence: "silence";
99
+ alert: "alert";
100
+ }>;
101
+ export type NotificationActionIcon = z.infer<typeof NotificationActionIconSchema>;
73
102
  /** A single tap-through action button. */
74
103
  export declare const NotificationActionSchema: z.ZodObject<{
75
104
  id: z.ZodString;
76
105
  label: z.ZodString;
77
106
  url: z.ZodOptional<z.ZodString>;
107
+ icon: z.ZodOptional<z.ZodEnum<{
108
+ light: "light";
109
+ lock: "lock";
110
+ view: "view";
111
+ arm: "arm";
112
+ disarm: "disarm";
113
+ dismiss: "dismiss";
114
+ open: "open";
115
+ close: "close";
116
+ unlock: "unlock";
117
+ play: "play";
118
+ acknowledge: "acknowledge";
119
+ silence: "silence";
120
+ alert: "alert";
121
+ }>>;
122
+ destructive: z.ZodOptional<z.ZodBoolean>;
78
123
  }, z.core.$strip>;
79
124
  export type NotificationAction = z.infer<typeof NotificationActionSchema>;
80
125
  /**
@@ -113,6 +158,22 @@ export declare const NotificationSchema: z.ZodObject<{
113
158
  id: z.ZodString;
114
159
  label: z.ZodString;
115
160
  url: z.ZodOptional<z.ZodString>;
161
+ icon: z.ZodOptional<z.ZodEnum<{
162
+ light: "light";
163
+ lock: "lock";
164
+ view: "view";
165
+ arm: "arm";
166
+ disarm: "disarm";
167
+ dismiss: "dismiss";
168
+ open: "open";
169
+ close: "close";
170
+ unlock: "unlock";
171
+ play: "play";
172
+ acknowledge: "acknowledge";
173
+ silence: "silence";
174
+ alert: "alert";
175
+ }>>;
176
+ destructive: z.ZodOptional<z.ZodBoolean>;
116
177
  }, z.core.$strip>>>;
117
178
  sound: z.ZodOptional<z.ZodString>;
118
179
  ttl: z.ZodOptional<z.ZodNumber>;
@@ -171,6 +232,7 @@ export declare const TargetKindCapsSchema: z.ZodObject<{
171
232
  maxBytes: z.ZodOptional<z.ZodNumber>;
172
233
  }, z.core.$strip>;
173
234
  actions: z.ZodNumber;
235
+ actionIcons: z.ZodOptional<z.ZodBoolean>;
174
236
  levels: z.ZodArray<z.ZodObject<{
175
237
  id: z.ZodString;
176
238
  label: z.ZodString;
@@ -221,6 +283,7 @@ export declare const TargetKindSchema: z.ZodObject<{
221
283
  maxBytes: z.ZodOptional<z.ZodNumber>;
222
284
  }, z.core.$strip>;
223
285
  actions: z.ZodNumber;
286
+ actionIcons: z.ZodOptional<z.ZodBoolean>;
224
287
  levels: z.ZodArray<z.ZodObject<{
225
288
  id: z.ZodString;
226
289
  label: z.ZodString;
@@ -350,6 +413,7 @@ export declare const notificationOutputCapability: {
350
413
  maxBytes: z.ZodOptional<z.ZodNumber>;
351
414
  }, z.core.$strip>;
352
415
  actions: z.ZodNumber;
416
+ actionIcons: z.ZodOptional<z.ZodBoolean>;
353
417
  levels: z.ZodArray<z.ZodObject<{
354
418
  id: z.ZodString;
355
419
  label: z.ZodString;
@@ -419,6 +483,22 @@ export declare const notificationOutputCapability: {
419
483
  id: z.ZodString;
420
484
  label: z.ZodString;
421
485
  url: z.ZodOptional<z.ZodString>;
486
+ icon: z.ZodOptional<z.ZodEnum<{
487
+ light: "light";
488
+ lock: "lock";
489
+ view: "view";
490
+ arm: "arm";
491
+ disarm: "disarm";
492
+ dismiss: "dismiss";
493
+ open: "open";
494
+ close: "close";
495
+ unlock: "unlock";
496
+ play: "play";
497
+ acknowledge: "acknowledge";
498
+ silence: "silence";
499
+ alert: "alert";
500
+ }>>;
501
+ destructive: z.ZodOptional<z.ZodBoolean>;
422
502
  }, z.core.$strip>>>;
423
503
  sound: z.ZodOptional<z.ZodString>;
424
504
  ttl: z.ZodOptional<z.ZodNumber>;
@@ -473,6 +553,22 @@ export declare const notificationOutputCapability: {
473
553
  id: z.ZodString;
474
554
  label: z.ZodString;
475
555
  url: z.ZodOptional<z.ZodString>;
556
+ icon: z.ZodOptional<z.ZodEnum<{
557
+ light: "light";
558
+ lock: "lock";
559
+ view: "view";
560
+ arm: "arm";
561
+ disarm: "disarm";
562
+ dismiss: "dismiss";
563
+ open: "open";
564
+ close: "close";
565
+ unlock: "unlock";
566
+ play: "play";
567
+ acknowledge: "acknowledge";
568
+ silence: "silence";
569
+ alert: "alert";
570
+ }>>;
571
+ destructive: z.ZodOptional<z.ZodBoolean>;
476
572
  }, z.core.$strip>>>;
477
573
  sound: z.ZodOptional<z.ZodString>;
478
574
  ttl: z.ZodOptional<z.ZodNumber>;
@@ -205,6 +205,40 @@ export declare const NcRuleActionSequenceSchema: z.ZodObject<{
205
205
  }, z.core.$strip>], "kind">>;
206
206
  }, z.core.$strip>;
207
207
  export type NcRuleActionSequence = z.infer<typeof NcRuleActionSequenceSchema>;
208
+ /**
209
+ * One button carried by the notification, running a named sequence on tap.
210
+ *
211
+ * **Read this before adding a button that does something physical.** The tap
212
+ * arrives over a link that travelled through third-party infrastructure — ntfy,
213
+ * a push relay, whatever forwarded the message — and the callback's ONLY
214
+ * authority is the token in that link: single-use, short-lived, bound to this
215
+ * one action of this one notification. It does not identify who tapped.
216
+ * Whoever holds the notification can run the button, once, inside the window.
217
+ * That is the operator's explicit choice (2026-08-05), and `destructive` is a
218
+ * rendering hint, not a second gate. [D47](decisions/adr-0047.md).
219
+ */
220
+ export declare const NcRuleNotificationButtonSchema: z.ZodObject<{
221
+ id: z.ZodString;
222
+ label: z.ZodString;
223
+ sequence: z.ZodString;
224
+ icon: z.ZodOptional<z.ZodEnum<{
225
+ light: "light";
226
+ lock: "lock";
227
+ view: "view";
228
+ arm: "arm";
229
+ disarm: "disarm";
230
+ dismiss: "dismiss";
231
+ open: "open";
232
+ close: "close";
233
+ unlock: "unlock";
234
+ play: "play";
235
+ acknowledge: "acknowledge";
236
+ silence: "silence";
237
+ alert: "alert";
238
+ }>>;
239
+ destructive: z.ZodOptional<z.ZodBoolean>;
240
+ }, z.core.$strip>;
241
+ export type NcRuleNotificationButton = z.infer<typeof NcRuleNotificationButtonSchema>;
208
242
  /**
209
243
  * Sequences a rule runs, by hook point.
210
244
  *
@@ -229,6 +263,27 @@ export declare const NcRuleActionsSchema: z.ZodObject<{
229
263
  args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
230
264
  }, z.core.$strip>], "kind">>;
231
265
  }, z.core.$strip>>>;
266
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
267
+ id: z.ZodString;
268
+ label: z.ZodString;
269
+ sequence: z.ZodString;
270
+ icon: z.ZodOptional<z.ZodEnum<{
271
+ light: "light";
272
+ lock: "lock";
273
+ view: "view";
274
+ arm: "arm";
275
+ disarm: "disarm";
276
+ dismiss: "dismiss";
277
+ open: "open";
278
+ close: "close";
279
+ unlock: "unlock";
280
+ play: "play";
281
+ acknowledge: "acknowledge";
282
+ silence: "silence";
283
+ alert: "alert";
284
+ }>>;
285
+ destructive: z.ZodOptional<z.ZodBoolean>;
286
+ }, z.core.$strip>>>;
232
287
  }, z.core.$strip>;
233
288
  export type NcRuleActions = z.infer<typeof NcRuleActionsSchema>;
234
289
  /**
@@ -549,6 +604,27 @@ export declare const NcRuleInputSchema: z.ZodObject<{
549
604
  args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
550
605
  }, z.core.$strip>], "kind">>;
551
606
  }, z.core.$strip>>>;
607
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
608
+ id: z.ZodString;
609
+ label: z.ZodString;
610
+ sequence: z.ZodString;
611
+ icon: z.ZodOptional<z.ZodEnum<{
612
+ light: "light";
613
+ lock: "lock";
614
+ view: "view";
615
+ arm: "arm";
616
+ disarm: "disarm";
617
+ dismiss: "dismiss";
618
+ open: "open";
619
+ close: "close";
620
+ unlock: "unlock";
621
+ play: "play";
622
+ acknowledge: "acknowledge";
623
+ silence: "silence";
624
+ alert: "alert";
625
+ }>>;
626
+ destructive: z.ZodOptional<z.ZodBoolean>;
627
+ }, z.core.$strip>>>;
552
628
  }, z.core.$strip>>;
553
629
  }, z.core.$strip>;
554
630
  export type NcRuleInput = z.infer<typeof NcRuleInputSchema>;
@@ -707,6 +783,27 @@ export declare const NcRulePatchSchema: z.ZodObject<{
707
783
  args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
708
784
  }, z.core.$strip>], "kind">>;
709
785
  }, z.core.$strip>>>;
786
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
787
+ id: z.ZodString;
788
+ label: z.ZodString;
789
+ sequence: z.ZodString;
790
+ icon: z.ZodOptional<z.ZodEnum<{
791
+ light: "light";
792
+ lock: "lock";
793
+ view: "view";
794
+ arm: "arm";
795
+ disarm: "disarm";
796
+ dismiss: "dismiss";
797
+ open: "open";
798
+ close: "close";
799
+ unlock: "unlock";
800
+ play: "play";
801
+ acknowledge: "acknowledge";
802
+ silence: "silence";
803
+ alert: "alert";
804
+ }>>;
805
+ destructive: z.ZodOptional<z.ZodBoolean>;
806
+ }, z.core.$strip>>>;
710
807
  }, z.core.$strip>>>;
711
808
  disabledTargetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
712
809
  }, z.core.$strip>;
@@ -858,6 +955,27 @@ export declare const NcRuleSchema: z.ZodObject<{
858
955
  args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
859
956
  }, z.core.$strip>], "kind">>;
860
957
  }, z.core.$strip>>>;
958
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
959
+ id: z.ZodString;
960
+ label: z.ZodString;
961
+ sequence: z.ZodString;
962
+ icon: z.ZodOptional<z.ZodEnum<{
963
+ light: "light";
964
+ lock: "lock";
965
+ view: "view";
966
+ arm: "arm";
967
+ disarm: "disarm";
968
+ dismiss: "dismiss";
969
+ open: "open";
970
+ close: "close";
971
+ unlock: "unlock";
972
+ play: "play";
973
+ acknowledge: "acknowledge";
974
+ silence: "silence";
975
+ alert: "alert";
976
+ }>>;
977
+ destructive: z.ZodOptional<z.ZodBoolean>;
978
+ }, z.core.$strip>>>;
861
979
  }, z.core.$strip>>;
862
980
  id: z.ZodString;
863
981
  createdBy: z.ZodString;
@@ -1261,6 +1379,27 @@ export declare const notificationRulesCapability: {
1261
1379
  args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1262
1380
  }, z.core.$strip>], "kind">>;
1263
1381
  }, z.core.$strip>>>;
1382
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
1383
+ id: z.ZodString;
1384
+ label: z.ZodString;
1385
+ sequence: z.ZodString;
1386
+ icon: z.ZodOptional<z.ZodEnum<{
1387
+ light: "light";
1388
+ lock: "lock";
1389
+ view: "view";
1390
+ arm: "arm";
1391
+ disarm: "disarm";
1392
+ dismiss: "dismiss";
1393
+ open: "open";
1394
+ close: "close";
1395
+ unlock: "unlock";
1396
+ play: "play";
1397
+ acknowledge: "acknowledge";
1398
+ silence: "silence";
1399
+ alert: "alert";
1400
+ }>>;
1401
+ destructive: z.ZodOptional<z.ZodBoolean>;
1402
+ }, z.core.$strip>>>;
1264
1403
  }, z.core.$strip>>;
1265
1404
  id: z.ZodString;
1266
1405
  createdBy: z.ZodString;
@@ -1418,6 +1557,27 @@ export declare const notificationRulesCapability: {
1418
1557
  args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1419
1558
  }, z.core.$strip>], "kind">>;
1420
1559
  }, z.core.$strip>>>;
1560
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
1561
+ id: z.ZodString;
1562
+ label: z.ZodString;
1563
+ sequence: z.ZodString;
1564
+ icon: z.ZodOptional<z.ZodEnum<{
1565
+ light: "light";
1566
+ lock: "lock";
1567
+ view: "view";
1568
+ arm: "arm";
1569
+ disarm: "disarm";
1570
+ dismiss: "dismiss";
1571
+ open: "open";
1572
+ close: "close";
1573
+ unlock: "unlock";
1574
+ play: "play";
1575
+ acknowledge: "acknowledge";
1576
+ silence: "silence";
1577
+ alert: "alert";
1578
+ }>>;
1579
+ destructive: z.ZodOptional<z.ZodBoolean>;
1580
+ }, z.core.$strip>>>;
1421
1581
  }, z.core.$strip>>;
1422
1582
  id: z.ZodString;
1423
1583
  createdBy: z.ZodString;
@@ -1573,6 +1733,27 @@ export declare const notificationRulesCapability: {
1573
1733
  args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1574
1734
  }, z.core.$strip>], "kind">>;
1575
1735
  }, z.core.$strip>>>;
1736
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
1737
+ id: z.ZodString;
1738
+ label: z.ZodString;
1739
+ sequence: z.ZodString;
1740
+ icon: z.ZodOptional<z.ZodEnum<{
1741
+ light: "light";
1742
+ lock: "lock";
1743
+ view: "view";
1744
+ arm: "arm";
1745
+ disarm: "disarm";
1746
+ dismiss: "dismiss";
1747
+ open: "open";
1748
+ close: "close";
1749
+ unlock: "unlock";
1750
+ play: "play";
1751
+ acknowledge: "acknowledge";
1752
+ silence: "silence";
1753
+ alert: "alert";
1754
+ }>>;
1755
+ destructive: z.ZodOptional<z.ZodBoolean>;
1756
+ }, z.core.$strip>>>;
1576
1757
  }, z.core.$strip>>;
1577
1758
  }, z.core.$strip>;
1578
1759
  }, z.core.$strip>, z.ZodObject<{
@@ -1722,6 +1903,27 @@ export declare const notificationRulesCapability: {
1722
1903
  args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1723
1904
  }, z.core.$strip>], "kind">>;
1724
1905
  }, z.core.$strip>>>;
1906
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
1907
+ id: z.ZodString;
1908
+ label: z.ZodString;
1909
+ sequence: z.ZodString;
1910
+ icon: z.ZodOptional<z.ZodEnum<{
1911
+ light: "light";
1912
+ lock: "lock";
1913
+ view: "view";
1914
+ arm: "arm";
1915
+ disarm: "disarm";
1916
+ dismiss: "dismiss";
1917
+ open: "open";
1918
+ close: "close";
1919
+ unlock: "unlock";
1920
+ play: "play";
1921
+ acknowledge: "acknowledge";
1922
+ silence: "silence";
1923
+ alert: "alert";
1924
+ }>>;
1925
+ destructive: z.ZodOptional<z.ZodBoolean>;
1926
+ }, z.core.$strip>>>;
1725
1927
  }, z.core.$strip>>;
1726
1928
  id: z.ZodString;
1727
1929
  createdBy: z.ZodString;
@@ -1880,6 +2082,27 @@ export declare const notificationRulesCapability: {
1880
2082
  args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1881
2083
  }, z.core.$strip>], "kind">>;
1882
2084
  }, z.core.$strip>>>;
2085
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
2086
+ id: z.ZodString;
2087
+ label: z.ZodString;
2088
+ sequence: z.ZodString;
2089
+ icon: z.ZodOptional<z.ZodEnum<{
2090
+ light: "light";
2091
+ lock: "lock";
2092
+ view: "view";
2093
+ arm: "arm";
2094
+ disarm: "disarm";
2095
+ dismiss: "dismiss";
2096
+ open: "open";
2097
+ close: "close";
2098
+ unlock: "unlock";
2099
+ play: "play";
2100
+ acknowledge: "acknowledge";
2101
+ silence: "silence";
2102
+ alert: "alert";
2103
+ }>>;
2104
+ destructive: z.ZodOptional<z.ZodBoolean>;
2105
+ }, z.core.$strip>>>;
1883
2106
  }, z.core.$strip>>>;
1884
2107
  disabledTargetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1885
2108
  }, z.core.$strip>;
@@ -2030,6 +2253,27 @@ export declare const notificationRulesCapability: {
2030
2253
  args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2031
2254
  }, z.core.$strip>], "kind">>;
2032
2255
  }, z.core.$strip>>>;
2256
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
2257
+ id: z.ZodString;
2258
+ label: z.ZodString;
2259
+ sequence: z.ZodString;
2260
+ icon: z.ZodOptional<z.ZodEnum<{
2261
+ light: "light";
2262
+ lock: "lock";
2263
+ view: "view";
2264
+ arm: "arm";
2265
+ disarm: "disarm";
2266
+ dismiss: "dismiss";
2267
+ open: "open";
2268
+ close: "close";
2269
+ unlock: "unlock";
2270
+ play: "play";
2271
+ acknowledge: "acknowledge";
2272
+ silence: "silence";
2273
+ alert: "alert";
2274
+ }>>;
2275
+ destructive: z.ZodOptional<z.ZodBoolean>;
2276
+ }, z.core.$strip>>>;
2033
2277
  }, z.core.$strip>>;
2034
2278
  id: z.ZodString;
2035
2279
  createdBy: z.ZodString;
@@ -2203,6 +2447,27 @@ export declare const notificationRulesCapability: {
2203
2447
  args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2204
2448
  }, z.core.$strip>], "kind">>;
2205
2449
  }, z.core.$strip>>>;
2450
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
2451
+ id: z.ZodString;
2452
+ label: z.ZodString;
2453
+ sequence: z.ZodString;
2454
+ icon: z.ZodOptional<z.ZodEnum<{
2455
+ light: "light";
2456
+ lock: "lock";
2457
+ view: "view";
2458
+ arm: "arm";
2459
+ disarm: "disarm";
2460
+ dismiss: "dismiss";
2461
+ open: "open";
2462
+ close: "close";
2463
+ unlock: "unlock";
2464
+ play: "play";
2465
+ acknowledge: "acknowledge";
2466
+ silence: "silence";
2467
+ alert: "alert";
2468
+ }>>;
2469
+ destructive: z.ZodOptional<z.ZodBoolean>;
2470
+ }, z.core.$strip>>>;
2206
2471
  }, z.core.$strip>>;
2207
2472
  }, z.core.$strip>;
2208
2473
  lookbackMinutes: z.ZodDefault<z.ZodNumber>;