@camstack/types 1.2.24 → 1.2.26

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/dist/addon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-CI7DYokZ.js");
2
+ const require_sleep = require("./sleep-BvSjpsfC.js");
3
3
  const require_event_category = require("./event-category-BE4PDZ_3.js");
4
4
  const require_err_msg = require("./err-msg-COpsHMw2.js");
5
5
  //#region src/generated/collection-array-methods.ts
@@ -248,7 +248,8 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
248
248
  "postRollSec": 5,
249
249
  "format": "gif",
250
250
  "maxWidth": 480,
251
- "fps": 5
251
+ "fps": 5,
252
+ "speed": 2
252
253
  }
253
254
  },
254
255
  "user-management": {
package/dist/addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as parseJsonUnknown, Ct as DisposerChain, D as asString, F as ReadinessRegistry, I as ReadinessTimeoutError, M as nodePin, N as readNodePin, P as DATAPLANE_SECRET_HEADER, S as DeviceType, T as asJsonObject, a as viewerUiCapability, dt as BaseAddon, ft as normalizeAddonInitResult, ht as emitReadiness, i as deviceOpsCapability, m as expandCapMethods, o as adminUiCapability, s as createDeviceProxy, t as sleep, z as scopeKey } from "./sleep-D60ITzpD.mjs";
1
+ import { A as parseJsonUnknown, Ct as DisposerChain, D as asString, F as ReadinessRegistry, I as ReadinessTimeoutError, M as nodePin, N as readNodePin, P as DATAPLANE_SECRET_HEADER, S as DeviceType, T as asJsonObject, a as viewerUiCapability, dt as BaseAddon, ft as normalizeAddonInitResult, ht as emitReadiness, i as deviceOpsCapability, m as expandCapMethods, o as adminUiCapability, s as createDeviceProxy, t as sleep, z as scopeKey } from "./sleep-vCXN9wNH.mjs";
2
2
  import { t as EventCategory } from "./event-category-41fKf-q9.mjs";
3
3
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
4
4
  //#region src/generated/collection-array-methods.ts
@@ -247,7 +247,8 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
247
247
  "postRollSec": 5,
248
248
  "format": "gif",
249
249
  "maxWidth": 480,
250
- "fps": 5
250
+ "fps": 5,
251
+ "speed": 2
251
252
  }
252
253
  },
253
254
  "user-management": {
@@ -74,7 +74,7 @@ export { AddBrokerInputSchema, BrokerConnectionDetailsSchema, BrokerInfoSchema,
74
74
  export type { NetworkAccessStatus, NetworkEndpoint } from './network-access.cap.js';
75
75
  export { NetworkAccessStatusSchema, NetworkEndpointSchema, networkAccessCapability, } from './network-access.cap.js';
76
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';
77
- export { type INotificationRulesProvider, NC_CONDITION_CATALOG, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcCrossing, NcCrossingSchema, 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 NcRuleInput, NcRuleInputSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
77
+ 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 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
78
  export { type IOauthIntegrationProvider, type OauthIntegrationDescriptor, OauthIntegrationDescriptorSchema, oauthIntegrationCapability, } from './oauth-integration.cap.js';
79
79
  export { type AudioEvent, AudioEventSchema, type DetectionSource, DetectionSourceSchema, type EventKind, type EventKindCategory, EventKindCategorySchema, type EventKindDescriptor, EventKindDescriptorSchema, 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';
80
80
  export type { NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, } from './pipeline-executor.cap.js';
@@ -99,7 +99,7 @@ export { type IStorageCapProvider, StorageLocationTypeSchema, storageCapability,
99
99
  export { type EvictableUsage, type EvictResult, type IStorageEvictableProvider, storageEvictableCapability, } from './storage-evictable.cap.js';
100
100
  export { AbortUploadInputSchema as StorageAbortUploadInputSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, type IStorageProviderImpl, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, storageProviderCapability, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, } from './storage-provider.cap.js';
101
101
  export type { AudioCodecTarget, BrokerAudioClient, BrokerClients, BrokerConsumerAttribution, BrokerConsumerKind, BrokerDecodedClient, BrokerEncodedClient, BrokerRtspClient, GetStreamWithCodecInput, PlaceholderReason, RtpSource, VideoCodecTarget, } from './stream-broker.cap.js';
102
- export { BrokerAudioClientSchema, BrokerClientsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, BrokerRtspClientSchema, GetStreamWithCodecInputSchema, PlaceholderReasonSchema, RtpSourceSchema, RtspRestreamEntrySchema, type StreamFormat, StreamFormatSchema, streamBrokerCapability, } from './stream-broker.cap.js';
102
+ export { BrokerAudioClientSchema, BrokerClientsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, BrokerRtspClientSchema, GetStreamWithCodecInputSchema, PlaceholderReasonSchema, RtpSourceSchema, RtspRestreamEntrySchema, type StreamFormat, StreamFormatSchema, streamBrokerCapability, type StreamBrokerClient, } from './stream-broker.cap.js';
103
103
  export type { ITurnProvider } from './turn-provider.cap.js';
104
104
  export { TurnServerSchema, turnProviderCapability } from './turn-provider.cap.js';
105
105
  export type { IUserPasskeysProvider, PasskeySummary } from './user-passkeys.cap.js';
@@ -145,7 +145,26 @@ export type NcZoneCondition = z.infer<typeof NcZoneConditionSchema>;
145
145
  * The P1 condition set — a flat AND of groups; absent group = pass;
146
146
  * membership lists are OR within the list (spec §2.3).
147
147
  */
148
+ /**
149
+ * "This rule applies only while `deviceId` is in one of `states`."
150
+ *
151
+ * The states are the DEVICE's own vocabulary — `AlarmState` for a panel,
152
+ * `on`/`off` for a switch — not a normalised set, because normalising would
153
+ * make the condition lie about devices whose states have no equivalent.
154
+ *
155
+ * An unreadable state does NOT match: see the engine's fail-closed gate. A
156
+ * condition that fired on "I could not read it" would be worse than no gate.
157
+ */
158
+ export declare const NcDeviceStateConditionSchema: z.ZodObject<{
159
+ deviceId: z.ZodNumber;
160
+ states: z.ZodArray<z.ZodString>;
161
+ }, z.core.$strip>;
162
+ export type NcDeviceStateCondition = z.infer<typeof NcDeviceStateConditionSchema>;
148
163
  export declare const NcConditionsSchema: z.ZodObject<{
164
+ deviceState: z.ZodOptional<z.ZodObject<{
165
+ deviceId: z.ZodNumber;
166
+ states: z.ZodArray<z.ZodString>;
167
+ }, z.core.$strip>>;
149
168
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
150
169
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
151
170
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -259,6 +278,7 @@ export declare const NcMediaPolicySchema: z.ZodObject<{
259
278
  clip: z.ZodOptional<z.ZodBoolean>;
260
279
  clipPreRollSec: z.ZodOptional<z.ZodNumber>;
261
280
  clipPostRollSec: z.ZodOptional<z.ZodNumber>;
281
+ clipSpeed: z.ZodOptional<z.ZodNumber>;
262
282
  profile: z.ZodOptional<z.ZodEnum<{
263
283
  high: "high";
264
284
  mid: "mid";
@@ -307,6 +327,10 @@ export declare const NcRuleInputSchema: z.ZodObject<{
307
327
  "package-event": "package-event";
308
328
  }>;
309
329
  conditions: z.ZodDefault<z.ZodObject<{
330
+ deviceState: z.ZodOptional<z.ZodObject<{
331
+ deviceId: z.ZodNumber;
332
+ states: z.ZodArray<z.ZodString>;
333
+ }, z.core.$strip>>;
310
334
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
311
335
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
312
336
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -398,6 +422,7 @@ export declare const NcRuleInputSchema: z.ZodObject<{
398
422
  clip: z.ZodOptional<z.ZodBoolean>;
399
423
  clipPreRollSec: z.ZodOptional<z.ZodNumber>;
400
424
  clipPostRollSec: z.ZodOptional<z.ZodNumber>;
425
+ clipSpeed: z.ZodOptional<z.ZodNumber>;
401
426
  profile: z.ZodOptional<z.ZodEnum<{
402
427
  high: "high";
403
428
  mid: "mid";
@@ -421,6 +446,7 @@ export declare const NcRuleInputSchema: z.ZodObject<{
421
446
  }, z.core.$strip>>;
422
447
  priority: z.ZodDefault<z.ZodNumber>;
423
448
  ownerUserId: z.ZodOptional<z.ZodString>;
449
+ snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
424
450
  }, z.core.$strip>;
425
451
  export type NcRuleInput = z.infer<typeof NcRuleInputSchema>;
426
452
  /**
@@ -442,6 +468,10 @@ export declare const NcRulePatchSchema: z.ZodObject<{
442
468
  "package-event": "package-event";
443
469
  }>>;
444
470
  conditions: z.ZodOptional<z.ZodDefault<z.ZodObject<{
471
+ deviceState: z.ZodOptional<z.ZodObject<{
472
+ deviceId: z.ZodNumber;
473
+ states: z.ZodArray<z.ZodString>;
474
+ }, z.core.$strip>>;
445
475
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
446
476
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
447
477
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -533,6 +563,7 @@ export declare const NcRulePatchSchema: z.ZodObject<{
533
563
  clip: z.ZodOptional<z.ZodBoolean>;
534
564
  clipPreRollSec: z.ZodOptional<z.ZodNumber>;
535
565
  clipPostRollSec: z.ZodOptional<z.ZodNumber>;
566
+ clipSpeed: z.ZodOptional<z.ZodNumber>;
536
567
  profile: z.ZodOptional<z.ZodEnum<{
537
568
  high: "high";
538
569
  mid: "mid";
@@ -556,6 +587,7 @@ export declare const NcRulePatchSchema: z.ZodObject<{
556
587
  }, z.core.$strip>>>;
557
588
  priority: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
558
589
  ownerUserId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
590
+ snoozeAllowGlobal: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
559
591
  disabledTargetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
560
592
  }, z.core.$strip>;
561
593
  export type NcRulePatch = z.infer<typeof NcRulePatchSchema>;
@@ -570,6 +602,10 @@ export declare const NcRuleSchema: z.ZodObject<{
570
602
  "package-event": "package-event";
571
603
  }>;
572
604
  conditions: z.ZodDefault<z.ZodObject<{
605
+ deviceState: z.ZodOptional<z.ZodObject<{
606
+ deviceId: z.ZodNumber;
607
+ states: z.ZodArray<z.ZodString>;
608
+ }, z.core.$strip>>;
573
609
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
574
610
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
575
611
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -661,6 +697,7 @@ export declare const NcRuleSchema: z.ZodObject<{
661
697
  clip: z.ZodOptional<z.ZodBoolean>;
662
698
  clipPreRollSec: z.ZodOptional<z.ZodNumber>;
663
699
  clipPostRollSec: z.ZodOptional<z.ZodNumber>;
700
+ clipSpeed: z.ZodOptional<z.ZodNumber>;
664
701
  profile: z.ZodOptional<z.ZodEnum<{
665
702
  high: "high";
666
703
  mid: "mid";
@@ -684,6 +721,7 @@ export declare const NcRuleSchema: z.ZodObject<{
684
721
  }, z.core.$strip>>;
685
722
  priority: z.ZodDefault<z.ZodNumber>;
686
723
  ownerUserId: z.ZodOptional<z.ZodString>;
724
+ snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
687
725
  id: z.ZodString;
688
726
  createdBy: z.ZodString;
689
727
  createdAt: z.ZodNumber;
@@ -714,8 +752,8 @@ export declare const NcConditionDescriptorSchema: z.ZodObject<{
714
752
  label: "label";
715
753
  scope: "scope";
716
754
  class: "class";
717
- schedule: "schedule";
718
755
  zones: "zones";
756
+ schedule: "schedule";
719
757
  package: "package";
720
758
  occupancy: "occupancy";
721
759
  quality: "quality";
@@ -723,6 +761,7 @@ export declare const NcConditionDescriptorSchema: z.ZodObject<{
723
761
  label: z.ZodString;
724
762
  valueType: z.ZodEnum<{
725
763
  number: "number";
764
+ deviceState: "deviceState";
726
765
  schedule: "schedule";
727
766
  packagePhase: "packagePhase";
728
767
  occupancy: "occupancy";
@@ -753,6 +792,11 @@ export declare const NcConditionDescriptorSchema: z.ZodObject<{
753
792
  }>>;
754
793
  phase: z.ZodString;
755
794
  description: z.ZodOptional<z.ZodString>;
795
+ options: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
796
+ value: z.ZodString;
797
+ label: z.ZodString;
798
+ hint: z.ZodOptional<z.ZodString>;
799
+ }, z.core.$strip>>>>;
756
800
  }, z.core.$strip>;
757
801
  export type NcConditionDescriptor = z.infer<typeof NcConditionDescriptorSchema>;
758
802
  /**
@@ -866,6 +910,68 @@ export declare const NcHistoryFilterSchema: z.ZodObject<{
866
910
  limit: z.ZodDefault<z.ZodNumber>;
867
911
  }, z.core.$strip>;
868
912
  export type NcHistoryFilter = z.infer<typeof NcHistoryFilterSchema>;
913
+ /**
914
+ * What a snooze covers. Broader scopes win when several overlap, so one window
915
+ * leaves ONE digest rather than a rule snooze and a whole-feed snooze both
916
+ * summarising the same silence.
917
+ */
918
+ export declare const NcSnoozeScopeSchema: z.ZodEnum<{
919
+ device: "device";
920
+ all: "all";
921
+ rule: "rule";
922
+ }>;
923
+ export type NcSnoozeScope = z.infer<typeof NcSnoozeScopeSchema>;
924
+ /** Hard ceiling on a window (24h). A snooze that could not expire would be an
925
+ * outage the operator asked for once and forgot. */
926
+ export declare const NC_SNOOZE_MAX_MINUTES = 1440;
927
+ /**
928
+ * Client-authored snooze. The server stamps `userId`, `startedAt` and
929
+ * `expiresAt` — a DURATION is sent rather than an instant so a client with a
930
+ * skewed clock cannot author a window that is already over, or never ends.
931
+ */
932
+ export declare const NcSnoozeInputSchema: z.ZodObject<{
933
+ scope: z.ZodEnum<{
934
+ device: "device";
935
+ all: "all";
936
+ rule: "rule";
937
+ }>;
938
+ ruleId: z.ZodOptional<z.ZodString>;
939
+ deviceId: z.ZodOptional<z.ZodNumber>;
940
+ durationMinutes: z.ZodNumber;
941
+ global: z.ZodOptional<z.ZodBoolean>;
942
+ summary: z.ZodOptional<z.ZodBoolean>;
943
+ }, z.core.$strip>;
944
+ export type NcSnoozeInput = z.infer<typeof NcSnoozeInputSchema>;
945
+ /** A persisted snooze window. */
946
+ export declare const NcSnoozeSchema: z.ZodObject<{
947
+ id: z.ZodString;
948
+ userId: z.ZodString;
949
+ scope: z.ZodEnum<{
950
+ device: "device";
951
+ all: "all";
952
+ rule: "rule";
953
+ }>;
954
+ ruleId: z.ZodOptional<z.ZodString>;
955
+ deviceId: z.ZodOptional<z.ZodNumber>;
956
+ startedAt: z.ZodNumber;
957
+ expiresAt: z.ZodNumber;
958
+ global: z.ZodBoolean;
959
+ summary: z.ZodBoolean;
960
+ digestSentAt: z.ZodOptional<z.ZodNumber>;
961
+ }, z.core.$strip>;
962
+ export type NcSnooze = z.infer<typeof NcSnoozeSchema>;
963
+ /** One line of an end-of-window digest: what one rule hid on one camera. */
964
+ export declare const NcSnoozeSuppressedSchema: z.ZodObject<{
965
+ snoozeId: z.ZodString;
966
+ targetId: z.ZodString;
967
+ ruleId: z.ZodString;
968
+ ruleName: z.ZodString;
969
+ deviceId: z.ZodNumber;
970
+ count: z.ZodNumber;
971
+ firstAt: z.ZodNumber;
972
+ lastAt: z.ZodNumber;
973
+ }, z.core.$strip>;
974
+ export type NcSnoozeSuppressed = z.infer<typeof NcSnoozeSuppressedSchema>;
869
975
  export declare const notificationRulesCapability: {
870
976
  readonly name: "notification-rules";
871
977
  readonly scope: "system";
@@ -882,6 +988,10 @@ export declare const notificationRulesCapability: {
882
988
  "package-event": "package-event";
883
989
  }>;
884
990
  conditions: z.ZodDefault<z.ZodObject<{
991
+ deviceState: z.ZodOptional<z.ZodObject<{
992
+ deviceId: z.ZodNumber;
993
+ states: z.ZodArray<z.ZodString>;
994
+ }, z.core.$strip>>;
885
995
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
886
996
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
887
997
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -973,6 +1083,7 @@ export declare const notificationRulesCapability: {
973
1083
  clip: z.ZodOptional<z.ZodBoolean>;
974
1084
  clipPreRollSec: z.ZodOptional<z.ZodNumber>;
975
1085
  clipPostRollSec: z.ZodOptional<z.ZodNumber>;
1086
+ clipSpeed: z.ZodOptional<z.ZodNumber>;
976
1087
  profile: z.ZodOptional<z.ZodEnum<{
977
1088
  high: "high";
978
1089
  mid: "mid";
@@ -996,6 +1107,7 @@ export declare const notificationRulesCapability: {
996
1107
  }, z.core.$strip>>;
997
1108
  priority: z.ZodDefault<z.ZodNumber>;
998
1109
  ownerUserId: z.ZodOptional<z.ZodString>;
1110
+ snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
999
1111
  id: z.ZodString;
1000
1112
  createdBy: z.ZodString;
1001
1113
  createdAt: z.ZodNumber;
@@ -1016,6 +1128,10 @@ export declare const notificationRulesCapability: {
1016
1128
  "package-event": "package-event";
1017
1129
  }>;
1018
1130
  conditions: z.ZodDefault<z.ZodObject<{
1131
+ deviceState: z.ZodOptional<z.ZodObject<{
1132
+ deviceId: z.ZodNumber;
1133
+ states: z.ZodArray<z.ZodString>;
1134
+ }, z.core.$strip>>;
1019
1135
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1020
1136
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1021
1137
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -1107,6 +1223,7 @@ export declare const notificationRulesCapability: {
1107
1223
  clip: z.ZodOptional<z.ZodBoolean>;
1108
1224
  clipPreRollSec: z.ZodOptional<z.ZodNumber>;
1109
1225
  clipPostRollSec: z.ZodOptional<z.ZodNumber>;
1226
+ clipSpeed: z.ZodOptional<z.ZodNumber>;
1110
1227
  profile: z.ZodOptional<z.ZodEnum<{
1111
1228
  high: "high";
1112
1229
  mid: "mid";
@@ -1130,6 +1247,7 @@ export declare const notificationRulesCapability: {
1130
1247
  }, z.core.$strip>>;
1131
1248
  priority: z.ZodDefault<z.ZodNumber>;
1132
1249
  ownerUserId: z.ZodOptional<z.ZodString>;
1250
+ snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
1133
1251
  id: z.ZodString;
1134
1252
  createdBy: z.ZodString;
1135
1253
  createdAt: z.ZodNumber;
@@ -1148,6 +1266,10 @@ export declare const notificationRulesCapability: {
1148
1266
  "package-event": "package-event";
1149
1267
  }>;
1150
1268
  conditions: z.ZodDefault<z.ZodObject<{
1269
+ deviceState: z.ZodOptional<z.ZodObject<{
1270
+ deviceId: z.ZodNumber;
1271
+ states: z.ZodArray<z.ZodString>;
1272
+ }, z.core.$strip>>;
1151
1273
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1152
1274
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1153
1275
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -1239,6 +1361,7 @@ export declare const notificationRulesCapability: {
1239
1361
  clip: z.ZodOptional<z.ZodBoolean>;
1240
1362
  clipPreRollSec: z.ZodOptional<z.ZodNumber>;
1241
1363
  clipPostRollSec: z.ZodOptional<z.ZodNumber>;
1364
+ clipSpeed: z.ZodOptional<z.ZodNumber>;
1242
1365
  profile: z.ZodOptional<z.ZodEnum<{
1243
1366
  high: "high";
1244
1367
  mid: "mid";
@@ -1262,6 +1385,7 @@ export declare const notificationRulesCapability: {
1262
1385
  }, z.core.$strip>>;
1263
1386
  priority: z.ZodDefault<z.ZodNumber>;
1264
1387
  ownerUserId: z.ZodOptional<z.ZodString>;
1388
+ snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
1265
1389
  }, z.core.$strip>;
1266
1390
  }, z.core.$strip>, z.ZodObject<{
1267
1391
  rule: z.ZodObject<{
@@ -1274,6 +1398,10 @@ export declare const notificationRulesCapability: {
1274
1398
  "package-event": "package-event";
1275
1399
  }>;
1276
1400
  conditions: z.ZodDefault<z.ZodObject<{
1401
+ deviceState: z.ZodOptional<z.ZodObject<{
1402
+ deviceId: z.ZodNumber;
1403
+ states: z.ZodArray<z.ZodString>;
1404
+ }, z.core.$strip>>;
1277
1405
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1278
1406
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1279
1407
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -1365,6 +1493,7 @@ export declare const notificationRulesCapability: {
1365
1493
  clip: z.ZodOptional<z.ZodBoolean>;
1366
1494
  clipPreRollSec: z.ZodOptional<z.ZodNumber>;
1367
1495
  clipPostRollSec: z.ZodOptional<z.ZodNumber>;
1496
+ clipSpeed: z.ZodOptional<z.ZodNumber>;
1368
1497
  profile: z.ZodOptional<z.ZodEnum<{
1369
1498
  high: "high";
1370
1499
  mid: "mid";
@@ -1388,6 +1517,7 @@ export declare const notificationRulesCapability: {
1388
1517
  }, z.core.$strip>>;
1389
1518
  priority: z.ZodDefault<z.ZodNumber>;
1390
1519
  ownerUserId: z.ZodOptional<z.ZodString>;
1520
+ snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
1391
1521
  id: z.ZodString;
1392
1522
  createdBy: z.ZodString;
1393
1523
  createdAt: z.ZodNumber;
@@ -1409,6 +1539,10 @@ export declare const notificationRulesCapability: {
1409
1539
  "package-event": "package-event";
1410
1540
  }>>;
1411
1541
  conditions: z.ZodOptional<z.ZodDefault<z.ZodObject<{
1542
+ deviceState: z.ZodOptional<z.ZodObject<{
1543
+ deviceId: z.ZodNumber;
1544
+ states: z.ZodArray<z.ZodString>;
1545
+ }, z.core.$strip>>;
1412
1546
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1413
1547
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1414
1548
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -1500,6 +1634,7 @@ export declare const notificationRulesCapability: {
1500
1634
  clip: z.ZodOptional<z.ZodBoolean>;
1501
1635
  clipPreRollSec: z.ZodOptional<z.ZodNumber>;
1502
1636
  clipPostRollSec: z.ZodOptional<z.ZodNumber>;
1637
+ clipSpeed: z.ZodOptional<z.ZodNumber>;
1503
1638
  profile: z.ZodOptional<z.ZodEnum<{
1504
1639
  high: "high";
1505
1640
  mid: "mid";
@@ -1523,6 +1658,7 @@ export declare const notificationRulesCapability: {
1523
1658
  }, z.core.$strip>>>;
1524
1659
  priority: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1525
1660
  ownerUserId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1661
+ snoozeAllowGlobal: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1526
1662
  disabledTargetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1527
1663
  }, z.core.$strip>;
1528
1664
  }, z.core.$strip>, z.ZodObject<{
@@ -1536,6 +1672,10 @@ export declare const notificationRulesCapability: {
1536
1672
  "package-event": "package-event";
1537
1673
  }>;
1538
1674
  conditions: z.ZodDefault<z.ZodObject<{
1675
+ deviceState: z.ZodOptional<z.ZodObject<{
1676
+ deviceId: z.ZodNumber;
1677
+ states: z.ZodArray<z.ZodString>;
1678
+ }, z.core.$strip>>;
1539
1679
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1540
1680
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1541
1681
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -1627,6 +1767,7 @@ export declare const notificationRulesCapability: {
1627
1767
  clip: z.ZodOptional<z.ZodBoolean>;
1628
1768
  clipPreRollSec: z.ZodOptional<z.ZodNumber>;
1629
1769
  clipPostRollSec: z.ZodOptional<z.ZodNumber>;
1770
+ clipSpeed: z.ZodOptional<z.ZodNumber>;
1630
1771
  profile: z.ZodOptional<z.ZodEnum<{
1631
1772
  high: "high";
1632
1773
  mid: "mid";
@@ -1650,6 +1791,7 @@ export declare const notificationRulesCapability: {
1650
1791
  }, z.core.$strip>>;
1651
1792
  priority: z.ZodDefault<z.ZodNumber>;
1652
1793
  ownerUserId: z.ZodOptional<z.ZodString>;
1794
+ snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
1653
1795
  id: z.ZodString;
1654
1796
  createdBy: z.ZodString;
1655
1797
  createdAt: z.ZodNumber;
@@ -1686,6 +1828,10 @@ export declare const notificationRulesCapability: {
1686
1828
  "package-event": "package-event";
1687
1829
  }>;
1688
1830
  conditions: z.ZodDefault<z.ZodObject<{
1831
+ deviceState: z.ZodOptional<z.ZodObject<{
1832
+ deviceId: z.ZodNumber;
1833
+ states: z.ZodArray<z.ZodString>;
1834
+ }, z.core.$strip>>;
1689
1835
  devices: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1690
1836
  classes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1691
1837
  classesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -1777,6 +1923,7 @@ export declare const notificationRulesCapability: {
1777
1923
  clip: z.ZodOptional<z.ZodBoolean>;
1778
1924
  clipPreRollSec: z.ZodOptional<z.ZodNumber>;
1779
1925
  clipPostRollSec: z.ZodOptional<z.ZodNumber>;
1926
+ clipSpeed: z.ZodOptional<z.ZodNumber>;
1780
1927
  profile: z.ZodOptional<z.ZodEnum<{
1781
1928
  high: "high";
1782
1929
  mid: "mid";
@@ -1800,6 +1947,7 @@ export declare const notificationRulesCapability: {
1800
1947
  }, z.core.$strip>>;
1801
1948
  priority: z.ZodDefault<z.ZodNumber>;
1802
1949
  ownerUserId: z.ZodOptional<z.ZodString>;
1950
+ snoozeAllowGlobal: z.ZodOptional<z.ZodBoolean>;
1803
1951
  }, z.core.$strip>;
1804
1952
  lookbackMinutes: z.ZodDefault<z.ZodNumber>;
1805
1953
  }, z.core.$strip>, z.ZodObject<{
@@ -1837,8 +1985,8 @@ export declare const notificationRulesCapability: {
1837
1985
  label: "label";
1838
1986
  scope: "scope";
1839
1987
  class: "class";
1840
- schedule: "schedule";
1841
1988
  zones: "zones";
1989
+ schedule: "schedule";
1842
1990
  package: "package";
1843
1991
  occupancy: "occupancy";
1844
1992
  quality: "quality";
@@ -1846,6 +1994,7 @@ export declare const notificationRulesCapability: {
1846
1994
  label: z.ZodString;
1847
1995
  valueType: z.ZodEnum<{
1848
1996
  number: "number";
1997
+ deviceState: "deviceState";
1849
1998
  schedule: "schedule";
1850
1999
  packagePhase: "packagePhase";
1851
2000
  occupancy: "occupancy";
@@ -1876,6 +2025,11 @@ export declare const notificationRulesCapability: {
1876
2025
  }>>;
1877
2026
  phase: z.ZodString;
1878
2027
  description: z.ZodOptional<z.ZodString>;
2028
+ options: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
2029
+ value: z.ZodString;
2030
+ label: z.ZodString;
2031
+ hint: z.ZodOptional<z.ZodString>;
2032
+ }, z.core.$strip>>>>;
1879
2033
  }, z.core.$strip>>;
1880
2034
  taxonomy: z.ZodOptional<z.ZodObject<{
1881
2035
  videoClasses: z.ZodArray<z.ZodObject<{
@@ -1956,6 +2110,86 @@ export declare const notificationRulesCapability: {
1956
2110
  }, z.core.$strip>;
1957
2111
  }, z.core.$strip>>;
1958
2112
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
2113
+ /**
2114
+ * Snooze windows currently in effect, plus any whose digest has not yet
2115
+ * gone out. `caller: 'required'`: a user sees their OWN windows and the
2116
+ * global ones that silence them, never another person's private silence.
2117
+ * An admin sees every window — a household-wide silence is exactly the
2118
+ * thing an operator has to be able to find and cancel.
2119
+ */
2120
+ readonly listSnoozes: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
2121
+ snoozes: z.ZodArray<z.ZodObject<{
2122
+ id: z.ZodString;
2123
+ userId: z.ZodString;
2124
+ scope: z.ZodEnum<{
2125
+ device: "device";
2126
+ all: "all";
2127
+ rule: "rule";
2128
+ }>;
2129
+ ruleId: z.ZodOptional<z.ZodString>;
2130
+ deviceId: z.ZodOptional<z.ZodNumber>;
2131
+ startedAt: z.ZodNumber;
2132
+ expiresAt: z.ZodNumber;
2133
+ global: z.ZodBoolean;
2134
+ summary: z.ZodBoolean;
2135
+ digestSentAt: z.ZodOptional<z.ZodNumber>;
2136
+ }, z.core.$strip>>;
2137
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind> & {
2138
+ readonly caller: "required";
2139
+ };
2140
+ /**
2141
+ * Open a window. `userId` is stamped from the caller; a GLOBAL window is
2142
+ * permission-checked server-side (the rule's `snoozeAllowGlobal` for a
2143
+ * rule-scoped one, admin for a camera or the whole feed) — a client asking
2144
+ * for one it may not have is rejected, never silently downgraded, because
2145
+ * a snooze the operator believes is in effect and is not is the same
2146
+ * failure as one they cannot end.
2147
+ */
2148
+ readonly createSnooze: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2149
+ snooze: z.ZodObject<{
2150
+ scope: z.ZodEnum<{
2151
+ device: "device";
2152
+ all: "all";
2153
+ rule: "rule";
2154
+ }>;
2155
+ ruleId: z.ZodOptional<z.ZodString>;
2156
+ deviceId: z.ZodOptional<z.ZodNumber>;
2157
+ durationMinutes: z.ZodNumber;
2158
+ global: z.ZodOptional<z.ZodBoolean>;
2159
+ summary: z.ZodOptional<z.ZodBoolean>;
2160
+ }, z.core.$strip>;
2161
+ }, z.core.$strip>, z.ZodObject<{
2162
+ snooze: z.ZodObject<{
2163
+ id: z.ZodString;
2164
+ userId: z.ZodString;
2165
+ scope: z.ZodEnum<{
2166
+ device: "device";
2167
+ all: "all";
2168
+ rule: "rule";
2169
+ }>;
2170
+ ruleId: z.ZodOptional<z.ZodString>;
2171
+ deviceId: z.ZodOptional<z.ZodNumber>;
2172
+ startedAt: z.ZodNumber;
2173
+ expiresAt: z.ZodNumber;
2174
+ global: z.ZodBoolean;
2175
+ summary: z.ZodBoolean;
2176
+ digestSentAt: z.ZodOptional<z.ZodNumber>;
2177
+ }, z.core.$strip>;
2178
+ }, z.core.$strip>, "mutation"> & {
2179
+ readonly caller: "required";
2180
+ };
2181
+ /**
2182
+ * End a window NOW. The digest still goes out (what was hidden while it
2183
+ * was open is still what the operator missed); only the silence stops.
2184
+ * A user may cancel their own; an admin may cancel any.
2185
+ */
2186
+ readonly cancelSnooze: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2187
+ snoozeId: z.ZodString;
2188
+ }, z.core.$strip>, z.ZodObject<{
2189
+ success: z.ZodLiteral<true>;
2190
+ }, z.core.$strip>, "mutation"> & {
2191
+ readonly caller: "required";
2192
+ };
1959
2193
  };
1960
2194
  };
1961
2195
  export type INotificationRulesProvider = InferProvider<typeof notificationRulesCapability>;
@@ -67,11 +67,11 @@ export declare const EventKindIconSchema: z.ZodEnum<{
67
67
  vehicle: "vehicle";
68
68
  animal: "animal";
69
69
  motion: "motion";
70
+ smoke: "smoke";
70
71
  package: "package";
71
72
  water: "water";
72
73
  door: "door";
73
74
  pir: "pir";
74
- smoke: "smoke";
75
75
  }>;
76
76
  export type EventKindIcon = z.infer<typeof EventKindIconSchema>;
77
77
  export declare const EventKindCategorySchema: z.ZodEnum<{
@@ -104,11 +104,11 @@ declare const EventKindDescriptorSchema: z.ZodObject<{
104
104
  vehicle: "vehicle";
105
105
  animal: "animal";
106
106
  motion: "motion";
107
+ smoke: "smoke";
107
108
  package: "package";
108
109
  water: "water";
109
110
  door: "door";
110
111
  pir: "pir";
111
- smoke: "smoke";
112
112
  }>;
113
113
  category: z.ZodEnum<{
114
114
  sensor: "sensor";
@@ -1075,11 +1075,11 @@ export declare const pipelineAnalyticsCapability: {
1075
1075
  vehicle: "vehicle";
1076
1076
  animal: "animal";
1077
1077
  motion: "motion";
1078
+ smoke: "smoke";
1078
1079
  package: "package";
1079
1080
  water: "water";
1080
1081
  door: "door";
1081
1082
  pir: "pir";
1082
- smoke: "smoke";
1083
1083
  }>;
1084
1084
  category: z.ZodEnum<{
1085
1085
  sensor: "sensor";
@@ -421,6 +421,7 @@ export declare const streamBrokerCapability: {
421
421
  }>>;
422
422
  maxWidth: z.ZodDefault<z.ZodNumber>;
423
423
  fps: z.ZodDefault<z.ZodNumber>;
424
+ speed: z.ZodDefault<z.ZodNumber>;
424
425
  }, z.core.$strip>, z.ZodObject<{
425
426
  base64: z.ZodString;
426
427
  mime: z.ZodString;
@@ -870,3 +871,16 @@ export declare const streamBrokerCapability: {
870
871
  };
871
872
  export type IStreamBrokerProvider = InferProvider<typeof streamBrokerCapability>;
872
873
  export { RtspRestreamEntrySchema };
874
+ /**
875
+ * The generated stream-broker client, as an addon sees it through `ctx.api`.
876
+ *
877
+ * Exists for the same reason as {@link SettingsStoreClient}: a caller that
878
+ * hand-writes its own narrow interface over this cap keeps compiling after a
879
+ * method is renamed or removed, and finds out at RUNTIME with a 404. That is
880
+ * exactly what happened to the Alexa exporter — it declared
881
+ * `getProfileSlotsForDevice`, the cap replaced it with `listAllProfileSlots`,
882
+ * the build stayed green, and every Alexa stream went black for weeks.
883
+ *
884
+ * Type against this, never against a local shape.
885
+ */
886
+ export type StreamBrokerClient = import('../generated/addon-api.js').AddonApi['streamBroker'];