@camstack/types 1.2.180 → 1.2.181

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.
@@ -114,10 +114,12 @@ export declare const dataStoreProviderCapability: {
114
114
  namespace: z.ZodOptional<z.ZodString>;
115
115
  collection: z.ZodString;
116
116
  record: z.ZodObject<{
117
- id: z.ZodString;
117
+ id: z.ZodOptional<z.ZodString>;
118
118
  data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
119
119
  }, z.core.$strip>;
120
- }, z.core.$strip>, z.ZodVoid, "mutation">;
120
+ }, z.core.$strip>, z.ZodObject<{
121
+ id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
122
+ }, z.core.$strip>, "mutation">;
121
123
  /** Insert many records in ONE transaction. All or nothing. */
122
124
  readonly insertMany: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
123
125
  namespace: z.ZodOptional<z.ZodString>;
@@ -82,7 +82,7 @@ export { NetworkAccessStatusSchema, NetworkEndpointSchema, networkAccessCapabili
82
82
  export { type Attachment, type AttachmentMediaType, AttachmentMediaTypeSchema, AttachmentSchema, type DiscoveredTarget, DiscoveredTargetSchema, type INotificationOutputProvider, type NotificationAction, type NotificationActionIcon, NotificationActionIconSchema, 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';
83
83
  export { type INotificationRulesProvider, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_DBFS_FLOOR, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_DEFAULT_SNOOZE_MINUTES, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_SNOOZE_MAX_MINUTES, type NcAlarmConfig, NcAlarmConfigSchema, type NcAlarmModeCoverage, NcAlarmModeCoverageSchema, type NcAlarmSettings, type NcAlarmSettingsPatch, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, type NcAlarmSkippedDevice, NcAlarmSkippedDeviceSchema, type NcAlarmSkipReason, NcAlarmSkipReasonSchema, type NcAudioCondition, NcAudioConditionSchema, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcConfirm, type NcConfirmExpect, NcConfirmExpectSchema, NcConfirmSchema, type NcCrossing, NcCrossingSchema, type NcDelivery, NcDeliverySchema, type NcDeviceStateCondition, NcDeviceStateConditionSchema, 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 NcRuleNotificationButton, NcRuleNotificationButtonSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcSceneCondition, NcSceneConditionSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcSnooze, type NcSnoozeInput, NcSnoozeInputSchema, NcSnoozeSchema, type NcSnoozeScope, NcSnoozeScopeSchema, type NcSnoozeSuppressed, NcSnoozeSuppressedSchema, type NcSystemEventCondition, NcSystemEventConditionSchema, type NcSystemEventKind, NcSystemEventKindSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
84
84
  export { type IOauthIntegrationProvider, type OauthIntegrationDescriptor, OauthIntegrationDescriptorSchema, oauthIntegrationCapability, } from './oauth-integration.cap.js';
85
- export { type AudioEvent, AudioEventSchema, type DetectionSource, DetectionSourceSchema, EVENT_DENSITY_BATCH_MAX, type EventDensityBucket, EventDensityBucketSchema, type EventDensityForDevice, EventDensityForDeviceSchema, type EventKind, type EventKindCategory, EventKindCategorySchema, type EventKindDescriptor, EventKindDescriptorSchema, type EventKindIcon, EventKindIconSchema, EventKindSchema, type EventKindsForDevice, EventKindsForDeviceSchema, type EventMediaKindBreakdown, type EventMediaKindFootprint, type EventPruneCounts, type EventStoreDeviceFootprint, type EventStoreFootprint, type IPipelineAnalyticsProvider, type KeyEvent, KeyEventSchema, type KeyEventsForDevice, type LabelAttribution, LabelAttributionSchema, type LabelTier, LabelTierSchema, MAX_TRACK_DEBUG_NOTE_LEN, type MediaFile, type MediaFileBytes, type MediaFileInfo, MediaFileInfoSchema, type MediaFileKind, MediaFileKindEnum, type MediaFileRef, MediaFileRefSchema, MediaFileSchema, type MotionEvent, MotionEventSchema, type ObjectEvent, ObjectEventSchema, pipelineAnalyticsCapability, type RecentTracksPage, RecentTracksPageSchema, type RecentTracksQuery, RecentTracksQueryInput, type RetrainAnnotation, type RetrainAnnotationDraft, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, type RetrainAssistResult, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, type RetrainFrame, type RetrainFrameCandidate, RetrainFrameCandidateSchema, type RetrainFrameList, RetrainFrameListSchema, RetrainFrameSchema, type RetrainFrameSelection, RetrainFrameSelectionSchema, type RetrainMacroClass, RetrainMacroClassSchema, type RetrainStatus, RetrainStatusSchema, type RetrainTrack, RetrainTrackSchema, type RetrainTransitionResult, RetrainTransitionResultSchema, type ScoredObjectEvent, ScoredObjectEventSchema, type SensorEvent, SensorEventSchema, SUMMARIES_DEFAULT_LIMIT, SUMMARIES_MAX_LIMIT, type SummariesPage, type Summary, type SummaryDetail, SummarySchema, type Track, type TrackCascadeCounts, TrackCascadeCountsSchema, type TrackEnvelope, TrackEnvelopeSchema, TrackedDetectionSchema, type TrackFlags, type TrackFlagsPatch, TrackFlagsPatchSchema, TrackFlagsSchema, type TrackProjection, TrackProjectionSchema, TrackSchema, type TrackSource, TrackSourceSchema, type TrackState, TrackStateSchema, type TrackZoneFilter, TrackZoneFilterSchema, type TrainingExportDeviceTotals, TrainingExportDeviceTotalsSchema, type TrainingExportSummary, TrainingExportSummarySchema, type ZoneCrossing, type ZoneCrossingDirection, ZoneCrossingDirectionSchema, ZoneCrossingSchema, } from './pipeline-analytics.cap.js';
85
+ export { type AudioEvent, type AudioEventDraft, AudioEventSchema, type DetectionSource, DetectionSourceSchema, EVENT_DENSITY_BATCH_MAX, type EventDensityBucket, EventDensityBucketSchema, type EventDensityForDevice, EventDensityForDeviceSchema, type EventKind, type EventKindCategory, EventKindCategorySchema, type EventKindDescriptor, EventKindDescriptorSchema, type EventKindIcon, EventKindIconSchema, EventKindSchema, type EventKindsForDevice, EventKindsForDeviceSchema, type EventMediaKindBreakdown, type EventMediaKindFootprint, type EventPruneCounts, type EventStoreDeviceFootprint, type EventStoreFootprint, type IPipelineAnalyticsProvider, type KeyEvent, KeyEventSchema, type KeyEventsForDevice, type LabelAttribution, LabelAttributionSchema, type LabelTier, LabelTierSchema, MAX_TRACK_DEBUG_NOTE_LEN, type MediaFile, type MediaFileBytes, type MediaFileInfo, MediaFileInfoSchema, type MediaFileKind, MediaFileKindEnum, type MediaFileRef, MediaFileRefSchema, MediaFileSchema, type MotionEvent, type MotionEventDraft, MotionEventSchema, type ObjectEvent, type ObjectEventDraft, ObjectEventSchema, pipelineAnalyticsCapability, type RecentTracksPage, RecentTracksPageSchema, type RecentTracksQuery, RecentTracksQueryInput, type RetrainAnnotation, type RetrainAnnotationDraft, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, type RetrainAssistResult, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, type RetrainFrame, type RetrainFrameCandidate, RetrainFrameCandidateSchema, type RetrainFrameList, RetrainFrameListSchema, RetrainFrameSchema, type RetrainFrameSelection, RetrainFrameSelectionSchema, type RetrainMacroClass, RetrainMacroClassSchema, type RetrainStatus, RetrainStatusSchema, type RetrainTrack, RetrainTrackSchema, type RetrainTransitionResult, RetrainTransitionResultSchema, type ScoredObjectEvent, ScoredObjectEventSchema, type SensorEvent, SensorEventSchema, SUMMARIES_DEFAULT_LIMIT, SUMMARIES_MAX_LIMIT, type SummariesPage, type Summary, type SummaryDetail, SummarySchema, type Track, type TrackCascadeCounts, TrackCascadeCountsSchema, type TrackEnvelope, TrackEnvelopeSchema, TrackedDetectionSchema, type TrackFlags, type TrackFlagsPatch, TrackFlagsPatchSchema, TrackFlagsSchema, type TrackProjection, TrackProjectionSchema, TrackSchema, type TrackSource, TrackSourceSchema, type TrackState, TrackStateSchema, type TrackZoneFilter, TrackZoneFilterSchema, type TrainingExportDeviceTotals, TrainingExportDeviceTotalsSchema, type TrainingExportSummary, TrainingExportSummarySchema, type ZoneCrossing, type ZoneCrossingDirection, ZoneCrossingDirectionSchema, ZoneCrossingSchema, } from './pipeline-analytics.cap.js';
86
86
  export type { NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, } from './pipeline-executor.cap.js';
87
87
  export { ModelSubstitutionSchema, NativeCropRefSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, pipelineExecutorCapability, } from './pipeline-executor.cap.js';
88
88
  export type { CameraAssignmentStatus, CameraAudioStatus, CameraBrokerProfile, CameraBrokerStatus, CameraDecoderShm, CameraDecoderStatus, CameraDetectionPhase, CameraDetectionProvisioning, CameraDetectionProvisioningState, CameraDetectionStatus, CameraMotionStatus, CameraRecordingMode, CameraRecordingStatus, CameraSourceStatus, CameraSourceStream, CameraStatus, CameraStatusDegradation, CameraStatusDegradationReason, CameraStatusStage, DiskReconcileJob, InferenceDeviceExclusionReason, IngestOwner, NodeInferenceDevice, NodeInferenceDevices, } from './pipeline-orchestrator.cap.js';
@@ -166,7 +166,7 @@ export { type ILockControlProvider, type LockControlStatus, LockControlStatusSch
166
166
  export { type MaskGridDims, MaskGridDimsSchema, type MaskGridShape, MaskGridShapeSchema, type MaskLineShape, MaskLineShapeSchema, type MaskPoint, MaskPointSchema, type MaskPolygonShape, MaskPolygonShapeSchema, type MaskPolygonVertices, MaskPolygonVerticesSchema, type MaskRectShape, MaskRectShapeSchema, type MaskShape, type MaskShapeKind, MaskShapeKindSchema, MaskShapeSchema, } from './mask-shape.js';
167
167
  export { type IMediaPlayerProvider, type MediaInfo, type MediaPlayerRepeat, MediaPlayerRepeatSchema, type MediaPlayerState, MediaPlayerStateSchema, type MediaPlayerStatus, MediaPlayerStatusSchema, mediaPlayerCapability, } from './media-player.cap.js';
168
168
  export { type IMeshNetworkProvider, type MeshEndpoint, type MeshPeer, MeshPeerSchema, type MeshStatus, MeshStatusSchema, meshNetworkCapability, } from './mesh-network.cap.js';
169
- export { type IMotionProvider, type MotionOnMotionChangedData, MotionOnMotionChangedDataSchema, type MotionStatus, MotionStatusSchema, motionCapability, } from './motion.cap.js';
169
+ export { type IMotionProvider, MOTION_CLOSE_AFTER_MS, type MotionOnMotionChangedData, MotionOnMotionChangedDataSchema, type MotionStatus, MotionStatusSchema, motionCapability, } from './motion.cap.js';
170
170
  export { type IMotionTriggerProvider, type MotionTriggerRuntimeState, MotionTriggerRuntimeStateSchema, type MotionTriggerStatus, MotionTriggerStatusSchema, motionTriggerCapability, } from './motion-trigger.cap.js';
171
171
  export { type IMotionZonesProvider, type MotionZoneOptions, MotionZoneOptionsSchema, type MotionZonePatch, MotionZonePatchSchema, type MotionZoneRegion, MotionZoneRegionSchema, type MotionZoneStatus, MotionZoneStatusSchema, motionZonesCapability, } from './motion-zones.cap.js';
172
172
  export { type INativeObjectDetectionProvider, type NativeDetection, NativeDetectionSchema, type NativeObjectClass, NativeObjectClassEnum, type NativeObjectDetectionRuntimeState, NativeObjectDetectionRuntimeStateSchema, type NativeObjectDetectionStatus, NativeObjectDetectionStatusSchema, nativeObjectDetectionCapability, } from './native-object-detection.cap.js';
@@ -13,6 +13,19 @@ import { type InferProvider } from './capability-definition.js';
13
13
  * (alert-center, advanced-notifier) can subscribe once and receive
14
14
  * motion from every camera.
15
15
  */
16
+ /**
17
+ * How long after a camera's last rising edge `pipeline-analytics` closes the
18
+ * motion EPISODE row it kept open for it (D475) — "il delay della cap", in
19
+ * the operator's words. One authority for the whole system: every provider
20
+ * that seeds `autoClearAfterMs` on a `Camera` device writes this SAME
21
+ * constant while `detected: true` (never its own number — Hikvision used to
22
+ * seed its internal 3 s inactivity timer here, which is a different clock for
23
+ * a different purpose), and `MotionEpisodeTracker` imports it directly rather
24
+ * than reading the live cap value on the hot path. A `Sensor` device (HA
25
+ * binary sensor, Homematic) gets a genuine push both ways and has no episode
26
+ * to close on a timer, so it writes `null`, never this constant.
27
+ */
28
+ export declare const MOTION_CLOSE_AFTER_MS = 15000;
16
29
  export declare const MotionStatusSchema: z.ZodObject<{
17
30
  detected: z.ZodBoolean;
18
31
  lastDetectedAt: z.ZodNullable<z.ZodNumber>;
@@ -132,7 +145,11 @@ export declare const motionCapability: {
132
145
  autoClearAfterMs: z.ZodNullable<z.ZodNumber>;
133
146
  }, z.core.$strip>;
134
147
  /**
135
- * Runtime-state durability: **session** — self-clearing by construction (`autoClearAfterMs`); a restored `detected: true` is a frozen event, and the next frame re-publishes the real one.
148
+ * Runtime-state durability: **session** — every writer of this slice
149
+ * writes only on an EDGE, so a restored `detected: true` would stay
150
+ * frozen until the next one instead of being corrected. The next edge
151
+ * re-publishes the real state. (On who the writers are, and why there
152
+ * is more than one, see `autoClearAfterMs` above.)
136
153
  *
137
154
  * See `RuntimeStateDurability`. Enforced by
138
155
  * `scripts/check-runtime-state-durability.ts`.
@@ -539,11 +539,15 @@ declare const MotionEventSchema: z.ZodObject<{
539
539
  frameWidth: z.ZodOptional<z.ZodNumber>;
540
540
  frameHeight: z.ZodOptional<z.ZodNumber>;
541
541
  mediaUrl: z.ZodOptional<z.ZodString>;
542
- id: z.ZodString;
542
+ durationMs: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
543
+ edges: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
544
+ id: z.ZodNumber;
543
545
  deviceId: z.ZodNumber;
544
546
  timestamp: z.ZodNumber;
545
547
  }, z.core.$strip>;
546
548
  export type MotionEvent = z.infer<typeof MotionEventSchema>;
549
+ /** An event BEFORE it has an id — see {@link ObjectEventDraft} (D474). */
550
+ export type MotionEventDraft = Omit<MotionEvent, 'id'>;
547
551
  /**
548
552
  * Which detection SOURCE produced an object event. `pipeline` = the ML
549
553
  * detection pipeline (decoded-frame inference); `onboard` = the camera's
@@ -659,13 +663,24 @@ declare const ObjectEventSchema: z.ZodObject<{
659
663
  onboard: "onboard";
660
664
  }>>;
661
665
  frameId: z.ZodOptional<z.ZodString>;
666
+ idempotencyKey: z.ZodOptional<z.ZodString>;
662
667
  trackId: z.ZodOptional<z.ZodString>;
663
668
  className: z.ZodString;
664
- id: z.ZodString;
669
+ id: z.ZodNumber;
665
670
  deviceId: z.ZodNumber;
666
671
  timestamp: z.ZodNumber;
667
672
  }, z.core.$strip>;
668
673
  export type ObjectEvent = z.infer<typeof ObjectEventSchema>;
674
+ /**
675
+ * An event BEFORE it has an id (D474).
676
+ *
677
+ * The id is the ROWID the database assigns, so no producer upstream of the
678
+ * write can name it: a frame processor, a detector or a classifier builds a
679
+ * DRAFT, `insert` returns the id, and only then does an `ObjectEvent` exist.
680
+ * A draft must never be handed to anything that owns media, names an event on
681
+ * the bus, or feeds a notification rule — those all address a row by id.
682
+ */
683
+ export type ObjectEventDraft = Omit<ObjectEvent, 'id'>;
669
684
  declare const AudioEventSchema: z.ZodObject<{
670
685
  kind: z.ZodLiteral<"audio">;
671
686
  rms: z.ZodNumber;
@@ -676,11 +691,13 @@ declare const AudioEventSchema: z.ZodObject<{
676
691
  score: z.ZodNumber;
677
692
  }, z.core.$strip>>;
678
693
  mediaUrl: z.ZodOptional<z.ZodString>;
679
- id: z.ZodString;
694
+ id: z.ZodNumber;
680
695
  deviceId: z.ZodNumber;
681
696
  timestamp: z.ZodNumber;
682
697
  }, z.core.$strip>;
683
698
  export type AudioEvent = z.infer<typeof AudioEventSchema>;
699
+ /** An event BEFORE it has an id — see {@link ObjectEventDraft} (D474). */
700
+ export type AudioEventDraft = Omit<AudioEvent, 'id'>;
684
701
  declare const MediaFileKindEnum: z.ZodEnum<{
685
702
  crop: "crop";
686
703
  snapshot: "snapshot";
@@ -1559,9 +1576,10 @@ export declare const ScoredObjectEventSchema: z.ZodObject<{
1559
1576
  onboard: "onboard";
1560
1577
  }>>;
1561
1578
  frameId: z.ZodOptional<z.ZodString>;
1579
+ idempotencyKey: z.ZodOptional<z.ZodString>;
1562
1580
  trackId: z.ZodOptional<z.ZodString>;
1563
1581
  className: z.ZodString;
1564
- id: z.ZodString;
1582
+ id: z.ZodNumber;
1565
1583
  deviceId: z.ZodNumber;
1566
1584
  timestamp: z.ZodNumber;
1567
1585
  score: z.ZodNumber;
@@ -2267,7 +2285,9 @@ export declare const pipelineAnalyticsCapability: {
2267
2285
  frameWidth: z.ZodOptional<z.ZodNumber>;
2268
2286
  frameHeight: z.ZodOptional<z.ZodNumber>;
2269
2287
  mediaUrl: z.ZodOptional<z.ZodString>;
2270
- id: z.ZodString;
2288
+ durationMs: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2289
+ edges: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
2290
+ id: z.ZodNumber;
2271
2291
  deviceId: z.ZodNumber;
2272
2292
  timestamp: z.ZodNumber;
2273
2293
  }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
@@ -2339,9 +2359,10 @@ export declare const pipelineAnalyticsCapability: {
2339
2359
  onboard: "onboard";
2340
2360
  }>>;
2341
2361
  frameId: z.ZodOptional<z.ZodString>;
2362
+ idempotencyKey: z.ZodOptional<z.ZodString>;
2342
2363
  trackId: z.ZodOptional<z.ZodString>;
2343
2364
  className: z.ZodString;
2344
- id: z.ZodString;
2365
+ id: z.ZodNumber;
2345
2366
  deviceId: z.ZodNumber;
2346
2367
  timestamp: z.ZodNumber;
2347
2368
  }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
@@ -2364,7 +2385,7 @@ export declare const pipelineAnalyticsCapability: {
2364
2385
  score: z.ZodNumber;
2365
2386
  }, z.core.$strip>>;
2366
2387
  mediaUrl: z.ZodOptional<z.ZodString>;
2367
- id: z.ZodString;
2388
+ id: z.ZodNumber;
2368
2389
  deviceId: z.ZodNumber;
2369
2390
  timestamp: z.ZodNumber;
2370
2391
  }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
@@ -4016,9 +4037,10 @@ export declare const pipelineAnalyticsCapability: {
4016
4037
  onboard: "onboard";
4017
4038
  }>>;
4018
4039
  frameId: z.ZodOptional<z.ZodString>;
4040
+ idempotencyKey: z.ZodOptional<z.ZodString>;
4019
4041
  trackId: z.ZodOptional<z.ZodString>;
4020
4042
  className: z.ZodString;
4021
- id: z.ZodString;
4043
+ id: z.ZodNumber;
4022
4044
  deviceId: z.ZodNumber;
4023
4045
  timestamp: z.ZodNumber;
4024
4046
  score: z.ZodNumber;
@@ -200,10 +200,12 @@ export declare const settingsStoreCapability: {
200
200
  namespace: z.ZodOptional<z.ZodString>;
201
201
  collection: z.ZodString;
202
202
  record: z.ZodObject<{
203
- id: z.ZodString;
203
+ id: z.ZodOptional<z.ZodString>;
204
204
  data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
205
205
  }, z.core.$strip>;
206
- }, z.core.$strip>, z.ZodVoid, "mutation">;
206
+ }, z.core.$strip>, z.ZodObject<{
207
+ id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
208
+ }, z.core.$strip>, "mutation">;
207
209
  /**
208
210
  * Insert MANY records in ONE transaction, returning how many landed.
209
211
  *
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export * from './audio/audio-chunk-format.js';
2
+ export type { EventOwnerType, MediaOwnerKey, MediaOwnerKeyInput, MediaOwnerType, } from './media/media-owner-key.js';
3
+ export { EVENT_OWNER_TYPES, MEDIA_OWNER_TYPES, formatMediaOwnerKey, isEventOwnerType, parseMediaOwnerKey, } from './media/media-owner-key.js';
2
4
  export type { CapabilitiesAccess } from './addon/base-addon.js';
3
5
  export { BaseAddon, normalizeAddonInitResult } from './addon/base-addon.js';
4
6
  export type { AddonRouteInvokeRequest, AddonRouteReplyEnvelope, } from './addon/build-addon-route-provider.js';
package/dist/index.js CHANGED
@@ -5,6 +5,124 @@ const require_canonical_hash = require("./canonical-hash-DNV8S5ET.js");
5
5
  const require_enums = require("./enums.js");
6
6
  const require_err_msg = require("./err-msg-COpsHMw2.js");
7
7
  let zod = require("zod");
8
+ //#region src/media/media-owner-key.ts
9
+ /**
10
+ * The one place a media key is built and read.
11
+ *
12
+ * A media key addresses a file by its OWNER, in one grammar:
13
+ *
14
+ * ```
15
+ * <ownerType>:<ownerId>:<fileKind>[:<timestampMs>]
16
+ * ```
17
+ *
18
+ * The owner type is a TABLE. That is already true of every owner on the live
19
+ * hub - `track`, `summary`, `face`, `identity`, `plate` - and the exception was
20
+ * `event`, which covered three tables at once. While event ids were UUIDs the
21
+ * ambiguity cost nothing, because a UUID is unique across tables. D474 made an
22
+ * event id a SQLite rowid alias, so each table numbers from 1 and `event:5`
23
+ * stopped naming one row. Splitting `event` into `motion` / `object` / `audio`
24
+ * restores uniqueness without a fifth segment and without a magic numbering
25
+ * offset, which would have hidden the same invariant somewhere nobody reads.
26
+ *
27
+ * Why this module exists at all, rather than a `split(':')` at each call site:
28
+ * the key is built in the addon, in `ui-library` and in the notification
29
+ * dispatcher, and read positionally in admin-ui (`split(':')[1]` for an owner
30
+ * id). Positional reads are silently wrong the moment a segment moves, and
31
+ * there is no compiler that notices. It lives in `@camstack/types` because both
32
+ * an addon and the UI packages must reach it, and addons may not import each
33
+ * other.
34
+ *
35
+ * `parseMediaOwnerKey` returns `null` for anything it cannot read, and never
36
+ * throws: it sits on the media READ path, where an exception takes out every
37
+ * thumbnail and a guess puts the wrong image on screen. A legacy `event:` key
38
+ * is therefore unreadable BY DESIGN - on this hub the 299 883 resolvable ones
39
+ * are rewritten by the D474 data migration, and the 676 that remain were
40
+ * already orphaned, their event having aged out before it.
41
+ */
42
+ /**
43
+ * Owner types, i.e. the tables that own media.
44
+ *
45
+ * `motion` / `object` / `audio` are the three event tables; `event` is
46
+ * deliberately absent and must not be re-added - it is the ambiguity this
47
+ * module exists to remove.
48
+ *
49
+ * This list must cover `OWNER_KINDS` in
50
+ * `addon-post-analysis/src/pipeline-analytics/store/media-store.ts`, which is
51
+ * the AUTHORITY on what may own media. I first derived it from the prefixes
52
+ * actually present on the live hub and so omitted `vehicle` and `scene`: both
53
+ * are declared owner kinds with no rows today, and the parser would have
54
+ * rejected their keys the day one appeared. A list derived from data is a list
55
+ * that is correct until the data changes.
56
+ */
57
+ var MEDIA_OWNER_TYPES = [
58
+ "track",
59
+ "summary",
60
+ "face",
61
+ "identity",
62
+ "plate",
63
+ "vehicle",
64
+ "scene",
65
+ "motion",
66
+ "object",
67
+ "audio"
68
+ ];
69
+ var OWNER_TYPES = new Set(MEDIA_OWNER_TYPES);
70
+ /** Digits only. `Number('')` is 0 and `Number(' ')` is 0, so neither is used. */
71
+ var DIGITS = /^\d+$/;
72
+ function isOwnerType(value) {
73
+ return OWNER_TYPES.has(value);
74
+ }
75
+ /**
76
+ * Read a media key. `null` when it is not one - an unknown owner type, a legacy
77
+ * `event:` key, a missing segment, or a fourth segment that is not a timestamp.
78
+ *
79
+ * `fileKind` is returned as a plain string rather than validated against
80
+ * `MediaFileKindEnum`: kinds have been RETIRED over time (`crop`,
81
+ * `fullFrameBoxed`) and rows carrying them still exist, so a parser that
82
+ * rejected them would make historical media unreadable while claiming the key
83
+ * was malformed.
84
+ */
85
+ function parseMediaOwnerKey(key) {
86
+ const parts = key.split(":");
87
+ if (parts.length !== 3 && parts.length !== 4) return null;
88
+ const [ownerType, ownerId, fileKind, timestamp] = parts;
89
+ if (ownerType === void 0 || !isOwnerType(ownerType)) return null;
90
+ if (ownerId === void 0 || ownerId.length === 0) return null;
91
+ if (fileKind === void 0 || fileKind.length === 0) return null;
92
+ if (timestamp === void 0) return {
93
+ ownerType,
94
+ ownerId,
95
+ fileKind
96
+ };
97
+ if (!DIGITS.test(timestamp)) return null;
98
+ return {
99
+ ownerType,
100
+ ownerId,
101
+ fileKind,
102
+ timestampMs: Number(timestamp)
103
+ };
104
+ }
105
+ /** Build a media key. The timestamp segment is omitted when there is none. */
106
+ function formatMediaOwnerKey(key) {
107
+ const head = `${key.ownerType}:${key.ownerId}:${key.fileKind}`;
108
+ return key.timestampMs === void 0 ? head : `${head}:${key.timestampMs}`;
109
+ }
110
+ /**
111
+ * The owner types that are event tables, in the order the event-media resolver
112
+ * should consider them. Exported so a consumer asking "is this key an event?"
113
+ * does not re-spell the list and drift from it.
114
+ */
115
+ var EVENT_OWNER_TYPES = [
116
+ "motion",
117
+ "object",
118
+ "audio"
119
+ ];
120
+ var EVENT_OWNER_TYPE_SET = new Set(EVENT_OWNER_TYPES);
121
+ /** True when this key's owner is one of the three event tables. */
122
+ function isEventOwnerType(ownerType) {
123
+ return EVENT_OWNER_TYPE_SET.has(ownerType);
124
+ }
125
+ //#endregion
8
126
  //#region src/addon/build-addon-route-provider.ts
9
127
  /**
10
128
  * Build an `IAddonRouteProvider` from a list of routes. Implements
@@ -9723,8 +9841,17 @@ var settingsStoreCapability = {
9723
9841
  insert: require_sleep.method(zod.z.object({
9724
9842
  namespace: zod.z.string().optional(),
9725
9843
  collection: zod.z.string(),
9726
- record: SettingsRecordSchema
9727
- }), zod.z.void(), { kind: "mutation" }),
9844
+ record: zod.z.object({
9845
+ id: zod.z.string().optional(),
9846
+ data: zod.z.record(zod.z.string(), zod.z.unknown())
9847
+ })
9848
+ }), zod.z.object({
9849
+ /**
9850
+ * The id the row ACTUALLY got (D473): the one supplied, the UUID minted
9851
+ * for an absent one, or the ROWID SQLite assigned on an `INTEGER`
9852
+ * primary key — which is the only place an auto key is knowable.
9853
+ */
9854
+ id: zod.z.union([zod.z.string(), zod.z.number()]) }), { kind: "mutation" }),
9728
9855
  /**
9729
9856
  * Insert MANY records in ONE transaction, returning how many landed.
9730
9857
  *
@@ -9987,8 +10114,17 @@ var dataStoreProviderCapability = {
9987
10114
  insert: require_sleep.method(zod.z.object({
9988
10115
  namespace: zod.z.string().optional(),
9989
10116
  collection: zod.z.string(),
9990
- record: SettingsRecordSchema
9991
- }), zod.z.void(), {
10117
+ record: zod.z.object({
10118
+ id: zod.z.string().optional(),
10119
+ data: zod.z.record(zod.z.string(), zod.z.unknown())
10120
+ })
10121
+ }), zod.z.object({
10122
+ /**
10123
+ * The id the row ACTUALLY got (D473): the one supplied, the UUID minted
10124
+ * for an absent one, or the ROWID SQLite assigned on an `INTEGER`
10125
+ * primary key — which is the only place an auto key is knowable.
10126
+ */
10127
+ id: zod.z.union([zod.z.string(), zod.z.number()]) }), {
9992
10128
  kind: "mutation",
9993
10129
  auth: "admin"
9994
10130
  }),
@@ -19459,7 +19595,20 @@ var TrackSchema = zod.z.object({
19459
19595
  ...TrackRetrainFields
19460
19596
  });
19461
19597
  var BaseEventFields = {
19462
- id: zod.z.string(),
19598
+ /**
19599
+ * A SQLite ROWID, assigned by the database (D474).
19600
+ *
19601
+ * Was a 36-character UUID and cost 263 MB of a 1 117 MB database — paid
19602
+ * TWICE per row, in the row and in the primary-key index, across 2.1 million
19603
+ * motion, audio and object events. An `INTEGER PRIMARY KEY` in SQLite **is**
19604
+ * the rowid: the table itself is that B-tree, so the index stops existing
19605
+ * rather than getting smaller. No shorter string does that.
19606
+ *
19607
+ * Defined once here for all three event kinds, which is why they move
19608
+ * together: a per-table migration would have forked this and
19609
+ * `COMMON_BASE_COLUMNS` and reunited them two stages later.
19610
+ */
19611
+ id: zod.z.number().int(),
19463
19612
  deviceId: zod.z.number(),
19464
19613
  timestamp: zod.z.number()
19465
19614
  };
@@ -19478,7 +19627,34 @@ var MotionEventSchema = zod.z.object({
19478
19627
  /** Omitted in slim projection. */
19479
19628
  frameHeight: zod.z.number().optional(),
19480
19629
  /** Populated by B5 (recording playback URL for this event). */
19481
- mediaUrl: zod.z.string().optional()
19630
+ mediaUrl: zod.z.string().optional(),
19631
+ /**
19632
+ * One row per motion EPISODE, not one per push (D475). `null` while the
19633
+ * episode is still open — a further rising edge extends it in place rather
19634
+ * than inserting a new row. Set once, at close, to `lastOnAt - startedAt`
19635
+ * (the span from the first rising edge to the LAST one, deliberately NOT
19636
+ * `closedAt - startedAt` — the close delay is a quiet CONFIRMATION, not
19637
+ * movement, and folding it in would report `MOTION_CLOSE_AFTER_MS` of
19638
+ * motion for an instantaneous trigger).
19639
+ *
19640
+ * **Absent** (not merely `null`) on a row written before D475 — that means
19641
+ * "closed the old way, before this column existed", never "still open".
19642
+ * Nothing in this codebase may read an absent `durationMs` as an open
19643
+ * episode; only `null` means open.
19644
+ */
19645
+ durationMs: zod.z.number().nullable().optional(),
19646
+ /**
19647
+ * Ms offsets from `timestamp` (the episode's own first rising edge, so the
19648
+ * first entry is always `0`) of every genuine off→on transition the
19649
+ * episode saw — "ogni evento on si deve salvare" (D475). NOT one entry per
19650
+ * push: a firmware source that keepalives at ~1 Hz for the whole burst
19651
+ * (Reolink, Hikvision) produces exactly one edge; a source that reports an
19652
+ * explicit `false` mid-episode and then resumes before the quiet window
19653
+ * elapses produces another. Stored compactly — see `motion-edge-codec.ts`
19654
+ * — and decoded back to this shape on read. Absent/empty on a legacy row,
19655
+ * which must never be read as "no episode happened here".
19656
+ */
19657
+ edges: zod.z.array(zod.z.number()).readonly().optional()
19482
19658
  });
19483
19659
  /**
19484
19660
  * Which detection SOURCE produced an object event. `pipeline` = the ML
@@ -19541,6 +19717,23 @@ var ObjectEventSchema = zod.z.object({
19541
19717
  * includes it (it is light). Absent on rows written before this field.
19542
19718
  */
19543
19719
  frameId: zod.z.string().optional(),
19720
+ /**
19721
+ * A PRODUCER-chosen key that makes a synthetic event's emission idempotent
19722
+ * (D474).
19723
+ *
19724
+ * Only the package detector writes it, and it exists because the event id
19725
+ * stopped being choosable: the delivery and pick-up rows used to BE their
19726
+ * dedupe key (`pa-pkg-<entryId>-delivered`), which is how "never emit a
19727
+ * second delivery for this entry" survived a restart. An `INTEGER` rowid is
19728
+ * assigned by SQLite, so that key had to move off the primary key rather
19729
+ * than be dropped — a detector that cannot recognise its own row re-delivers
19730
+ * every parcel on every boot.
19731
+ *
19732
+ * Absent on every other object event, and on every row written before this
19733
+ * field. Never a substitute for `id`: it is unique per (producer, occasion),
19734
+ * not per row, and nothing addresses a row by it.
19735
+ */
19736
+ idempotencyKey: zod.z.string().optional(),
19544
19737
  /** Omitted in slim projection. */
19545
19738
  trackId: zod.z.string().optional(),
19546
19739
  className: zod.z.string(),
@@ -30673,14 +30866,72 @@ authKey: zod.z.string().optional() }), zod.z.object({
30673
30866
  * (alert-center, advanced-notifier) can subscribe once and receive
30674
30867
  * motion from every camera.
30675
30868
  */
30869
+ /**
30870
+ * How long after a camera's last rising edge `pipeline-analytics` closes the
30871
+ * motion EPISODE row it kept open for it (D475) — "il delay della cap", in
30872
+ * the operator's words. One authority for the whole system: every provider
30873
+ * that seeds `autoClearAfterMs` on a `Camera` device writes this SAME
30874
+ * constant while `detected: true` (never its own number — Hikvision used to
30875
+ * seed its internal 3 s inactivity timer here, which is a different clock for
30876
+ * a different purpose), and `MotionEpisodeTracker` imports it directly rather
30877
+ * than reading the live cap value on the hot path. A `Sensor` device (HA
30878
+ * binary sensor, Homematic) gets a genuine push both ways and has no episode
30879
+ * to close on a timer, so it writes `null`, never this constant.
30880
+ */
30881
+ var MOTION_CLOSE_AFTER_MS = 15e3;
30676
30882
  var MotionStatusSchema = zod.z.object({
30677
30883
  detected: zod.z.boolean(),
30678
30884
  /** Ms epoch of the last detected-true observation. Null if never detected. */
30679
30885
  lastDetectedAt: zod.z.number().nullable(),
30680
30886
  /**
30681
- * Ms after which `detected` auto-reverts to false if no fresh push
30682
- * arrives. Null means the provider leaves detected state until a
30683
- * native "clear" event.
30887
+ * `MOTION_CLOSE_AFTER_MS` while `detected: true` on a `Camera` device,
30888
+ * `null` while false and on every `Sensor` device (D475) — see that
30889
+ * constant's doc for the one-authority rule.
30890
+ *
30891
+ * ## Reading this field still arms nothing
30892
+ *
30893
+ * It reads like an instruction to the consumer ("revert after N ms if
30894
+ * no fresh push arrives") and it is not one: nothing in this repo reads
30895
+ * the LIVE cap value to drive a timer. `pipeline-analytics`'s motion-episode
30896
+ * close DOES now use the same number — `MOTION_CLOSE_AFTER_MS` — but as an
30897
+ * imported constant, not as a read of `device.state.motion.value`, so this
30898
+ * field stays what it always was: DESCRIPTIVE output, mirroring an answer
30899
+ * computed elsewhere. Building a self-clear timer out of a READ of this
30900
+ * field would add a second falling-edge authority beside whichever one
30901
+ * already owns the device, and two that can disagree are worse than one.
30902
+ * Consumers that need a falling edge SHAPED differently — held open across
30903
+ * a flapping source — debounce on their own side and say so, as
30904
+ * `addon-export-alexa/src/motion-clear-hold.ts` and
30905
+ * `addon-export-hap`'s `RESET_DEBOUNCE_MS` both do.
30906
+ *
30907
+ * ## Who writes it
30908
+ *
30909
+ * - **Cameras** — the runner's phase machine, `active → watching` on
30910
+ * `cooldown_expired`, which then writes this slice with
30911
+ * `detected: false` (`handlePhaseChanged` in
30912
+ * `pipeline-runner/index.ts`). It produces the FALLING edge, which
30913
+ * matters most for the sources that only ever push a rising one:
30914
+ * Reolink emits `MotionOnMotionChanged { detected: true }` and never
30915
+ * a false.
30916
+ * - **Sensors** (Home Assistant binary sensors, Homematic) — the
30917
+ * provider pushes the false itself, from the upstream system's own
30918
+ * state change. No phase machine is involved.
30919
+ *
30920
+ * ### The phase machine is CANONICAL, not sole — and that is a defect
30921
+ *
30922
+ * An earlier revision of this docblock (mine, 2026-09-12) claimed the
30923
+ * phase machine is the sole writer for a camera. It is not.
30924
+ * `hikvision-camera.ts:3464` and `amcrest-camera.ts:445` both call
30925
+ * `setCapSlice(motionCapability, …)` on their own rising edge, and
30926
+ * Hikvision's comment says why: it read THIS docblock, agreed the
30927
+ * runner is canonical, and wrote anyway to avoid per-tick churn. So
30928
+ * two authorities can disagree about one slice, which this repo
30929
+ * forbids, and the doc said otherwise — which is worse than saying
30930
+ * nothing, because it reads as verification.
30931
+ *
30932
+ * This predates D475 and is not fixed there: the fix touches every
30933
+ * camera provider. Recorded in D475's Consequences. Do not restore the
30934
+ * "sole writer" wording without also removing the other writers.
30684
30935
  */
30685
30936
  autoClearAfterMs: zod.z.number().nullable()
30686
30937
  });
@@ -30750,7 +31001,11 @@ onMotionChanged: { data: MotionOnMotionChangedDataSchema } },
30750
31001
  */
30751
31002
  runtimeState: MotionStatusSchema,
30752
31003
  /**
30753
- * Runtime-state durability: **session** — self-clearing by construction (`autoClearAfterMs`); a restored `detected: true` is a frozen event, and the next frame re-publishes the real one.
31004
+ * Runtime-state durability: **session** — every writer of this slice
31005
+ * writes only on an EDGE, so a restored `detected: true` would stay
31006
+ * frozen until the next one instead of being corrected. The next edge
31007
+ * re-publishes the real state. (On who the writers are, and why there
31008
+ * is more than one, see `autoClearAfterMs` above.)
30754
31009
  *
30755
31010
  * See `RuntimeStateDurability`. Enforced by
30756
31011
  * `scripts/check-runtime-state-durability.ts`.
@@ -56032,6 +56287,7 @@ exports.DoorbellStatusSchema = DoorbellStatusSchema;
56032
56287
  exports.EVENTFUL_CAP_NAMES = EVENTFUL_CAP_NAMES;
56033
56288
  exports.EVENT_DENSITY_BATCH_MAX = EVENT_DENSITY_BATCH_MAX;
56034
56289
  exports.EVENT_KIND_BY_CAP = EVENT_KIND_BY_CAP;
56290
+ exports.EVENT_OWNER_TYPES = EVENT_OWNER_TYPES;
56035
56291
  exports.EVENT_PAD_MS = EVENT_PAD_MS;
56036
56292
  exports.EVENT_TAXONOMY = EVENT_TAXONOMY;
56037
56293
  exports.EXPORT_DENSE_MAX_RANGES = EXPORT_DENSE_MAX_RANGES;
@@ -56222,10 +56478,12 @@ exports.MAX_KEYS = MAX_KEYS;
56222
56478
  exports.MAX_REASONS_PER_KEY = MAX_REASONS_PER_KEY;
56223
56479
  exports.MAX_SENSOR_TRIGGER_DEVICES = MAX_SENSOR_TRIGGER_DEVICES;
56224
56480
  exports.MAX_TRACK_DEBUG_NOTE_LEN = MAX_TRACK_DEBUG_NOTE_LEN;
56481
+ exports.MEDIA_OWNER_TYPES = MEDIA_OWNER_TYPES;
56225
56482
  exports.METHOD_ACCESS_MAP = METHOD_ACCESS_MAP;
56226
56483
  exports.METHOD_DEVICE_SELECTORS = METHOD_DEVICE_SELECTORS;
56227
56484
  exports.MODEL_FORMATS = MODEL_FORMATS;
56228
56485
  exports.MODEL_PROVIDER_IDS = MODEL_PROVIDER_IDS;
56486
+ exports.MOTION_CLOSE_AFTER_MS = MOTION_CLOSE_AFTER_MS;
56229
56487
  exports.MOTION_TRIGGER_FEATURE = MOTION_TRIGGER_FEATURE;
56230
56488
  exports.ManagedModelCatalogEntrySchema = ManagedModelCatalogEntrySchema;
56231
56489
  exports.ManagedModelExtraFileSchema = ManagedModelExtraFileSchema;
@@ -56997,6 +57255,7 @@ exports.floodCapability = floodCapability;
56997
57255
  exports.foldSnapshotByFunction = foldSnapshotByFunction;
56998
57256
  exports.formatForBackend = formatForBackend;
56999
57257
  exports.formatForRuntime = formatForRuntime;
57258
+ exports.formatMediaOwnerKey = formatMediaOwnerKey;
57000
57259
  exports.gasCapability = gasCapability;
57001
57260
  exports.gbToBytes = gbToBytes;
57002
57261
  exports.generateAutomationBlock = generateAutomationBlock;
@@ -57032,6 +57291,7 @@ exports.isDetectionMacroClass = isDetectionMacroClass;
57032
57291
  exports.isDeviceConfigCap = require_sleep.isDeviceConfigCap;
57033
57292
  exports.isDeviceScopedCap = require_sleep.isDeviceScopedCap;
57034
57293
  exports.isEvent = require_sleep.isEvent;
57294
+ exports.isEventOwnerType = isEventOwnerType;
57035
57295
  exports.isFirstLevelMacroClass = isFirstLevelMacroClass;
57036
57296
  exports.isIsolatedBuiltin = isIsolatedBuiltin;
57037
57297
  exports.isLocationEnabled = isLocationEnabled;
@@ -57119,6 +57379,7 @@ exports.parseExpression = parseExpression;
57119
57379
  exports.parseJsonArray = require_sleep.parseJsonArray;
57120
57380
  exports.parseJsonObject = require_sleep.parseJsonObject;
57121
57381
  exports.parseJsonUnknown = require_sleep.parseJsonUnknown;
57382
+ exports.parseMediaOwnerKey = parseMediaOwnerKey;
57122
57383
  exports.parseProcStatus = parseProcStatus;
57123
57384
  exports.parseProfileBrokerId = require_sleep.parseProfileBrokerId;
57124
57385
  exports.parseRuleSection = parseRuleSection;
package/dist/index.mjs CHANGED
@@ -4,6 +4,124 @@ import { a as buildAudioArgs, c as buildVideoArgs, d as logBannerArgs, f as pick
4
4
  import { EventSourceType } from "./enums.mjs";
5
5
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
6
6
  import { z } from "zod";
7
+ //#region src/media/media-owner-key.ts
8
+ /**
9
+ * The one place a media key is built and read.
10
+ *
11
+ * A media key addresses a file by its OWNER, in one grammar:
12
+ *
13
+ * ```
14
+ * <ownerType>:<ownerId>:<fileKind>[:<timestampMs>]
15
+ * ```
16
+ *
17
+ * The owner type is a TABLE. That is already true of every owner on the live
18
+ * hub - `track`, `summary`, `face`, `identity`, `plate` - and the exception was
19
+ * `event`, which covered three tables at once. While event ids were UUIDs the
20
+ * ambiguity cost nothing, because a UUID is unique across tables. D474 made an
21
+ * event id a SQLite rowid alias, so each table numbers from 1 and `event:5`
22
+ * stopped naming one row. Splitting `event` into `motion` / `object` / `audio`
23
+ * restores uniqueness without a fifth segment and without a magic numbering
24
+ * offset, which would have hidden the same invariant somewhere nobody reads.
25
+ *
26
+ * Why this module exists at all, rather than a `split(':')` at each call site:
27
+ * the key is built in the addon, in `ui-library` and in the notification
28
+ * dispatcher, and read positionally in admin-ui (`split(':')[1]` for an owner
29
+ * id). Positional reads are silently wrong the moment a segment moves, and
30
+ * there is no compiler that notices. It lives in `@camstack/types` because both
31
+ * an addon and the UI packages must reach it, and addons may not import each
32
+ * other.
33
+ *
34
+ * `parseMediaOwnerKey` returns `null` for anything it cannot read, and never
35
+ * throws: it sits on the media READ path, where an exception takes out every
36
+ * thumbnail and a guess puts the wrong image on screen. A legacy `event:` key
37
+ * is therefore unreadable BY DESIGN - on this hub the 299 883 resolvable ones
38
+ * are rewritten by the D474 data migration, and the 676 that remain were
39
+ * already orphaned, their event having aged out before it.
40
+ */
41
+ /**
42
+ * Owner types, i.e. the tables that own media.
43
+ *
44
+ * `motion` / `object` / `audio` are the three event tables; `event` is
45
+ * deliberately absent and must not be re-added - it is the ambiguity this
46
+ * module exists to remove.
47
+ *
48
+ * This list must cover `OWNER_KINDS` in
49
+ * `addon-post-analysis/src/pipeline-analytics/store/media-store.ts`, which is
50
+ * the AUTHORITY on what may own media. I first derived it from the prefixes
51
+ * actually present on the live hub and so omitted `vehicle` and `scene`: both
52
+ * are declared owner kinds with no rows today, and the parser would have
53
+ * rejected their keys the day one appeared. A list derived from data is a list
54
+ * that is correct until the data changes.
55
+ */
56
+ var MEDIA_OWNER_TYPES = [
57
+ "track",
58
+ "summary",
59
+ "face",
60
+ "identity",
61
+ "plate",
62
+ "vehicle",
63
+ "scene",
64
+ "motion",
65
+ "object",
66
+ "audio"
67
+ ];
68
+ var OWNER_TYPES = new Set(MEDIA_OWNER_TYPES);
69
+ /** Digits only. `Number('')` is 0 and `Number(' ')` is 0, so neither is used. */
70
+ var DIGITS = /^\d+$/;
71
+ function isOwnerType(value) {
72
+ return OWNER_TYPES.has(value);
73
+ }
74
+ /**
75
+ * Read a media key. `null` when it is not one - an unknown owner type, a legacy
76
+ * `event:` key, a missing segment, or a fourth segment that is not a timestamp.
77
+ *
78
+ * `fileKind` is returned as a plain string rather than validated against
79
+ * `MediaFileKindEnum`: kinds have been RETIRED over time (`crop`,
80
+ * `fullFrameBoxed`) and rows carrying them still exist, so a parser that
81
+ * rejected them would make historical media unreadable while claiming the key
82
+ * was malformed.
83
+ */
84
+ function parseMediaOwnerKey(key) {
85
+ const parts = key.split(":");
86
+ if (parts.length !== 3 && parts.length !== 4) return null;
87
+ const [ownerType, ownerId, fileKind, timestamp] = parts;
88
+ if (ownerType === void 0 || !isOwnerType(ownerType)) return null;
89
+ if (ownerId === void 0 || ownerId.length === 0) return null;
90
+ if (fileKind === void 0 || fileKind.length === 0) return null;
91
+ if (timestamp === void 0) return {
92
+ ownerType,
93
+ ownerId,
94
+ fileKind
95
+ };
96
+ if (!DIGITS.test(timestamp)) return null;
97
+ return {
98
+ ownerType,
99
+ ownerId,
100
+ fileKind,
101
+ timestampMs: Number(timestamp)
102
+ };
103
+ }
104
+ /** Build a media key. The timestamp segment is omitted when there is none. */
105
+ function formatMediaOwnerKey(key) {
106
+ const head = `${key.ownerType}:${key.ownerId}:${key.fileKind}`;
107
+ return key.timestampMs === void 0 ? head : `${head}:${key.timestampMs}`;
108
+ }
109
+ /**
110
+ * The owner types that are event tables, in the order the event-media resolver
111
+ * should consider them. Exported so a consumer asking "is this key an event?"
112
+ * does not re-spell the list and drift from it.
113
+ */
114
+ var EVENT_OWNER_TYPES = [
115
+ "motion",
116
+ "object",
117
+ "audio"
118
+ ];
119
+ var EVENT_OWNER_TYPE_SET = new Set(EVENT_OWNER_TYPES);
120
+ /** True when this key's owner is one of the three event tables. */
121
+ function isEventOwnerType(ownerType) {
122
+ return EVENT_OWNER_TYPE_SET.has(ownerType);
123
+ }
124
+ //#endregion
7
125
  //#region src/addon/build-addon-route-provider.ts
8
126
  /**
9
127
  * Build an `IAddonRouteProvider` from a list of routes. Implements
@@ -9722,8 +9840,17 @@ var settingsStoreCapability = {
9722
9840
  insert: method(z.object({
9723
9841
  namespace: z.string().optional(),
9724
9842
  collection: z.string(),
9725
- record: SettingsRecordSchema
9726
- }), z.void(), { kind: "mutation" }),
9843
+ record: z.object({
9844
+ id: z.string().optional(),
9845
+ data: z.record(z.string(), z.unknown())
9846
+ })
9847
+ }), z.object({
9848
+ /**
9849
+ * The id the row ACTUALLY got (D473): the one supplied, the UUID minted
9850
+ * for an absent one, or the ROWID SQLite assigned on an `INTEGER`
9851
+ * primary key — which is the only place an auto key is knowable.
9852
+ */
9853
+ id: z.union([z.string(), z.number()]) }), { kind: "mutation" }),
9727
9854
  /**
9728
9855
  * Insert MANY records in ONE transaction, returning how many landed.
9729
9856
  *
@@ -9986,8 +10113,17 @@ var dataStoreProviderCapability = {
9986
10113
  insert: method(z.object({
9987
10114
  namespace: z.string().optional(),
9988
10115
  collection: z.string(),
9989
- record: SettingsRecordSchema
9990
- }), z.void(), {
10116
+ record: z.object({
10117
+ id: z.string().optional(),
10118
+ data: z.record(z.string(), z.unknown())
10119
+ })
10120
+ }), z.object({
10121
+ /**
10122
+ * The id the row ACTUALLY got (D473): the one supplied, the UUID minted
10123
+ * for an absent one, or the ROWID SQLite assigned on an `INTEGER`
10124
+ * primary key — which is the only place an auto key is knowable.
10125
+ */
10126
+ id: z.union([z.string(), z.number()]) }), {
9991
10127
  kind: "mutation",
9992
10128
  auth: "admin"
9993
10129
  }),
@@ -19458,7 +19594,20 @@ var TrackSchema = z.object({
19458
19594
  ...TrackRetrainFields
19459
19595
  });
19460
19596
  var BaseEventFields = {
19461
- id: z.string(),
19597
+ /**
19598
+ * A SQLite ROWID, assigned by the database (D474).
19599
+ *
19600
+ * Was a 36-character UUID and cost 263 MB of a 1 117 MB database — paid
19601
+ * TWICE per row, in the row and in the primary-key index, across 2.1 million
19602
+ * motion, audio and object events. An `INTEGER PRIMARY KEY` in SQLite **is**
19603
+ * the rowid: the table itself is that B-tree, so the index stops existing
19604
+ * rather than getting smaller. No shorter string does that.
19605
+ *
19606
+ * Defined once here for all three event kinds, which is why they move
19607
+ * together: a per-table migration would have forked this and
19608
+ * `COMMON_BASE_COLUMNS` and reunited them two stages later.
19609
+ */
19610
+ id: z.number().int(),
19462
19611
  deviceId: z.number(),
19463
19612
  timestamp: z.number()
19464
19613
  };
@@ -19477,7 +19626,34 @@ var MotionEventSchema = z.object({
19477
19626
  /** Omitted in slim projection. */
19478
19627
  frameHeight: z.number().optional(),
19479
19628
  /** Populated by B5 (recording playback URL for this event). */
19480
- mediaUrl: z.string().optional()
19629
+ mediaUrl: z.string().optional(),
19630
+ /**
19631
+ * One row per motion EPISODE, not one per push (D475). `null` while the
19632
+ * episode is still open — a further rising edge extends it in place rather
19633
+ * than inserting a new row. Set once, at close, to `lastOnAt - startedAt`
19634
+ * (the span from the first rising edge to the LAST one, deliberately NOT
19635
+ * `closedAt - startedAt` — the close delay is a quiet CONFIRMATION, not
19636
+ * movement, and folding it in would report `MOTION_CLOSE_AFTER_MS` of
19637
+ * motion for an instantaneous trigger).
19638
+ *
19639
+ * **Absent** (not merely `null`) on a row written before D475 — that means
19640
+ * "closed the old way, before this column existed", never "still open".
19641
+ * Nothing in this codebase may read an absent `durationMs` as an open
19642
+ * episode; only `null` means open.
19643
+ */
19644
+ durationMs: z.number().nullable().optional(),
19645
+ /**
19646
+ * Ms offsets from `timestamp` (the episode's own first rising edge, so the
19647
+ * first entry is always `0`) of every genuine off→on transition the
19648
+ * episode saw — "ogni evento on si deve salvare" (D475). NOT one entry per
19649
+ * push: a firmware source that keepalives at ~1 Hz for the whole burst
19650
+ * (Reolink, Hikvision) produces exactly one edge; a source that reports an
19651
+ * explicit `false` mid-episode and then resumes before the quiet window
19652
+ * elapses produces another. Stored compactly — see `motion-edge-codec.ts`
19653
+ * — and decoded back to this shape on read. Absent/empty on a legacy row,
19654
+ * which must never be read as "no episode happened here".
19655
+ */
19656
+ edges: z.array(z.number()).readonly().optional()
19481
19657
  });
19482
19658
  /**
19483
19659
  * Which detection SOURCE produced an object event. `pipeline` = the ML
@@ -19540,6 +19716,23 @@ var ObjectEventSchema = z.object({
19540
19716
  * includes it (it is light). Absent on rows written before this field.
19541
19717
  */
19542
19718
  frameId: z.string().optional(),
19719
+ /**
19720
+ * A PRODUCER-chosen key that makes a synthetic event's emission idempotent
19721
+ * (D474).
19722
+ *
19723
+ * Only the package detector writes it, and it exists because the event id
19724
+ * stopped being choosable: the delivery and pick-up rows used to BE their
19725
+ * dedupe key (`pa-pkg-<entryId>-delivered`), which is how "never emit a
19726
+ * second delivery for this entry" survived a restart. An `INTEGER` rowid is
19727
+ * assigned by SQLite, so that key had to move off the primary key rather
19728
+ * than be dropped — a detector that cannot recognise its own row re-delivers
19729
+ * every parcel on every boot.
19730
+ *
19731
+ * Absent on every other object event, and on every row written before this
19732
+ * field. Never a substitute for `id`: it is unique per (producer, occasion),
19733
+ * not per row, and nothing addresses a row by it.
19734
+ */
19735
+ idempotencyKey: z.string().optional(),
19543
19736
  /** Omitted in slim projection. */
19544
19737
  trackId: z.string().optional(),
19545
19738
  className: z.string(),
@@ -30672,14 +30865,72 @@ authKey: z.string().optional() }), z.object({
30672
30865
  * (alert-center, advanced-notifier) can subscribe once and receive
30673
30866
  * motion from every camera.
30674
30867
  */
30868
+ /**
30869
+ * How long after a camera's last rising edge `pipeline-analytics` closes the
30870
+ * motion EPISODE row it kept open for it (D475) — "il delay della cap", in
30871
+ * the operator's words. One authority for the whole system: every provider
30872
+ * that seeds `autoClearAfterMs` on a `Camera` device writes this SAME
30873
+ * constant while `detected: true` (never its own number — Hikvision used to
30874
+ * seed its internal 3 s inactivity timer here, which is a different clock for
30875
+ * a different purpose), and `MotionEpisodeTracker` imports it directly rather
30876
+ * than reading the live cap value on the hot path. A `Sensor` device (HA
30877
+ * binary sensor, Homematic) gets a genuine push both ways and has no episode
30878
+ * to close on a timer, so it writes `null`, never this constant.
30879
+ */
30880
+ var MOTION_CLOSE_AFTER_MS = 15e3;
30675
30881
  var MotionStatusSchema = z.object({
30676
30882
  detected: z.boolean(),
30677
30883
  /** Ms epoch of the last detected-true observation. Null if never detected. */
30678
30884
  lastDetectedAt: z.number().nullable(),
30679
30885
  /**
30680
- * Ms after which `detected` auto-reverts to false if no fresh push
30681
- * arrives. Null means the provider leaves detected state until a
30682
- * native "clear" event.
30886
+ * `MOTION_CLOSE_AFTER_MS` while `detected: true` on a `Camera` device,
30887
+ * `null` while false and on every `Sensor` device (D475) — see that
30888
+ * constant's doc for the one-authority rule.
30889
+ *
30890
+ * ## Reading this field still arms nothing
30891
+ *
30892
+ * It reads like an instruction to the consumer ("revert after N ms if
30893
+ * no fresh push arrives") and it is not one: nothing in this repo reads
30894
+ * the LIVE cap value to drive a timer. `pipeline-analytics`'s motion-episode
30895
+ * close DOES now use the same number — `MOTION_CLOSE_AFTER_MS` — but as an
30896
+ * imported constant, not as a read of `device.state.motion.value`, so this
30897
+ * field stays what it always was: DESCRIPTIVE output, mirroring an answer
30898
+ * computed elsewhere. Building a self-clear timer out of a READ of this
30899
+ * field would add a second falling-edge authority beside whichever one
30900
+ * already owns the device, and two that can disagree are worse than one.
30901
+ * Consumers that need a falling edge SHAPED differently — held open across
30902
+ * a flapping source — debounce on their own side and say so, as
30903
+ * `addon-export-alexa/src/motion-clear-hold.ts` and
30904
+ * `addon-export-hap`'s `RESET_DEBOUNCE_MS` both do.
30905
+ *
30906
+ * ## Who writes it
30907
+ *
30908
+ * - **Cameras** — the runner's phase machine, `active → watching` on
30909
+ * `cooldown_expired`, which then writes this slice with
30910
+ * `detected: false` (`handlePhaseChanged` in
30911
+ * `pipeline-runner/index.ts`). It produces the FALLING edge, which
30912
+ * matters most for the sources that only ever push a rising one:
30913
+ * Reolink emits `MotionOnMotionChanged { detected: true }` and never
30914
+ * a false.
30915
+ * - **Sensors** (Home Assistant binary sensors, Homematic) — the
30916
+ * provider pushes the false itself, from the upstream system's own
30917
+ * state change. No phase machine is involved.
30918
+ *
30919
+ * ### The phase machine is CANONICAL, not sole — and that is a defect
30920
+ *
30921
+ * An earlier revision of this docblock (mine, 2026-09-12) claimed the
30922
+ * phase machine is the sole writer for a camera. It is not.
30923
+ * `hikvision-camera.ts:3464` and `amcrest-camera.ts:445` both call
30924
+ * `setCapSlice(motionCapability, …)` on their own rising edge, and
30925
+ * Hikvision's comment says why: it read THIS docblock, agreed the
30926
+ * runner is canonical, and wrote anyway to avoid per-tick churn. So
30927
+ * two authorities can disagree about one slice, which this repo
30928
+ * forbids, and the doc said otherwise — which is worse than saying
30929
+ * nothing, because it reads as verification.
30930
+ *
30931
+ * This predates D475 and is not fixed there: the fix touches every
30932
+ * camera provider. Recorded in D475's Consequences. Do not restore the
30933
+ * "sole writer" wording without also removing the other writers.
30683
30934
  */
30684
30935
  autoClearAfterMs: z.number().nullable()
30685
30936
  });
@@ -30749,7 +31000,11 @@ onMotionChanged: { data: MotionOnMotionChangedDataSchema } },
30749
31000
  */
30750
31001
  runtimeState: MotionStatusSchema,
30751
31002
  /**
30752
- * Runtime-state durability: **session** — self-clearing by construction (`autoClearAfterMs`); a restored `detected: true` is a frozen event, and the next frame re-publishes the real one.
31003
+ * Runtime-state durability: **session** — every writer of this slice
31004
+ * writes only on an EDGE, so a restored `detected: true` would stay
31005
+ * frozen until the next one instead of being corrected. The next edge
31006
+ * re-publishes the real state. (On who the writers are, and why there
31007
+ * is more than one, see `autoClearAfterMs` above.)
30753
31008
  *
30754
31009
  * See `RuntimeStateDurability`. Enforced by
30755
31010
  * `scripts/check-runtime-state-durability.ts`.
@@ -55721,4 +55976,4 @@ function enumerateInferenceDevices(hw) {
55721
55976
  return out;
55722
55977
  }
55723
55978
  //#endregion
55724
- export { ACCESSORY_LABEL, ACCESS_ROLES, ALEXA_EGRESS_PROFILE, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT, AUDIO_ANALYSIS_CAP_NAME, AUDIO_BACKEND_CHOICES, AUDIO_CHUNK_FORMATS, AUDIO_MACRO_LABELS, AUDIO_PRESETS, AUDIO_SCALE_EPOCH_ISO, AUDIO_SCALE_EPOCH_MS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionCandidateResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, AdoptionJobSchema, AdoptionJobStateSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, AdoptionOutcomeSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, ApiKeyRecordSchema, ApiKeySummarySchema, ArchiveEntrySchema, ArchiveManifestSchema, ArchivedDebugNoteQueryInputSchema, ArchivedDebugNoteSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioAttachDeviceInputSchema, AudioAttachDeviceResultSchema, AudioChunkFormatSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioDetachDeviceResultSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AuthResultSchema, AutoUpdateSettingsSchema, AutomationActionSchema, AutomationConditionOperatorSchema, AutomationConditionSchema, AutomationControlStatusSchema, AutomationRecipeSchema, AutomationTriggerSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BASE_LIVE_EGRESS_PROFILE, BATTERY_DEVICE_PROFILE, BATTERY_UNREACHABLE_AFTER_MS, BIRTH_DECISION_DEFAULT_LIMIT, BOOT_RECOVERY_BACKOFF_MS, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BackupRunPhaseSchema, BackupRunSchema, BackupRunStateSchema, BackupTriggerResultSchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, BirthDecisionQueryInputSchema, BirthDecisionRecordSchema, BirthDecisionVerdictSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, BulkRecordSchema, CAMERA_SWITCH_CATALOG, CAMERA_SWITCH_ORDER, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, CLASS_MAP_MACRO_TARGETS, CLUSTER_MODEL_SCOPED_STEPS, CLUSTER_MODEL_SECTION_ID, CLUSTER_STEP_SETTING_FIELDS, COCO_80_LABELS, COCO_TO_MACRO, CONNECTION_TEST_TIMEOUT_MS, CONTAINER_CHILD_PRIORITY, CORE_BLOCKS_ADDON_ID, CORE_BLOCK_ADDON_PREFIX, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraOccupancySnapshotForDeviceSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusDegradationReasonSchema, CameraStatusDegradationSchema, CameraStatusSchema, CameraStatusStageSchema, CameraStreamSchema, CameraSwitchAuthoritySchema, CameraSwitchGroupSchema, CameraSwitchIdSchema, CameraSwitchSchema, CameraSwitchUnavailableReasonSchema, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CarbonMonoxideStatusSchema, ChargingStatus, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipPlaybackSchema, ClipSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectionTestDescriptorSchema, ConnectionTestInputSchema, ConnectionTestOutcomeSchema, ConnectivityStatusSchema, ConsumableItemSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoreBlockCompileResultSchema, CoreBlockInputSchema, CoreBlockPlacementSchema, CoreBlockSchema, CoreBlockStatusSchema, CoverStateSchema, CoverStatusSchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, CreateIntegrationInputSchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, CreateUserInputSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATAPLANE_SECRET_HEADER, DECLARED_DEVICE_SWEEP_LIMIT, DECLARED_INTEGRATION_FIXED_KEY, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_CLUSTER_STEP_MODELS, DEFAULT_CLUSTER_STEP_SETTINGS, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_DETAIL_CROP_CONVENTION, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS, DEFAULT_MIN_LANDMARK_FACE_SIZE_PX, DEFAULT_NATIVE_LEASE_SETTINGS, DEFAULT_POOL_MEMORY_POLICY, DEFAULT_RECORDING_PROFILES, DEFAULT_RETENTION, DEFAULT_RUNTIME_STATE_DURABILITY, DEFAULT_TIMELAPSE_PREVIEW_TEXT, DEFAULT_TOKEN_EXPIRY, DETAIL_CROP_PADDING_FIELD, DETAIL_CROP_PADDING_KEY, DETAIL_CROP_SECTION_ID, DETAIL_CROP_SQUARE_KEY, DETECTION_MACRO_CLASSES, DETECTION_PIPELINE_CAP_NAME, DEVICE_BACKEND_TO_FORMAT, DEVICE_CAP_NAMES, DEVICE_CHILDREN_BATCH_MAX, DEVICE_PROFILES, DEVICE_RESTORE_RETRY_CONCURRENCY, DEVICE_RESTORE_RETRY_DELAYS_MS, DEVICE_SCOPED_CAPS, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATE_READERS, DEVICE_STATUS_METHOD, DEVICE_TYPE_CONTROL_KIND, DEVICE_TYPE_INFO, EngineInfoSchema as DataStoreEngineInfoSchema, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DeclaredDevices, DecodedAudioChunkSchema, DecodedFrameSchema, DecoderSessionConfigSchema, DecoderStatsSchema, DeleteIntegrationResultSchema, DetailCropConventionSchema, DetectionCatalogClassMapSchema, DetectionSourceSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceNetworkStatsSchema, DeviceRestoreRetryScheduler, DeviceRole, DeviceRuntimeState, DeviceSelectorSchema, DeviceStatusSchema, DeviceType, DiagnosticIdSchema, DiagnosticWindowPatchSchema, DiagnosticWindowSchema, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DiskReconcileJobSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENTFUL_CAP_NAMES, EVENT_DENSITY_BATCH_MAX, EVENT_KIND_BY_CAP, EVENT_PAD_MS, EVENT_TAXONOMY, EXPORT_DENSE_MAX_RANGES, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, EgressEncodeSchema, EgressRateControlSchema, EgressTranscodeRequestSchema, EgressTranscodeSchema, ElementConfigStore, EmbeddingInfoSchema, EmbeddingResultSchema, EncodeProfileSchema, EncodedPacketSchema, EnrichedWidgetMetadataSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, EventCategory, EventDensityBucketSchema, EventDensityForDeviceSchema, EventEmitterStatusSchema, EventFireSchema, EventItemSchema, EventKindCategorySchema, EventKindDescriptorSchema, EventKindIconSchema, EventKindSchema, EventKindsForDeviceSchema, EventMediaArtifactSchema, EventMediaCoverageSchema, EventMediaKindSchema, EventMediaProductionSchema, EventSourceType, ExportBytesSchema, ExportDenseRangeSchema, ExportDenseSchema, ExportDownloadSchema, ExportOptionsSchema, ExportRecordSchema, ExportSetupFieldSchema, ExportSetupSchema, ExportSpeedSchema, ExportStateSchema, ExportTimelapseSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionBindingSourceSchema, ExpressionEvalError, ExpressionFieldBindingSchema, ExpressionGlobalBindingSchema, ExpressionLiteralBindingSchema, ExpressionParseError, ExpressionSourceSchema, FIRST_LEVEL_MACRO_CLASSES, FULL_IMAGE_BBOX, FailureContributionSchema, FailureCounters, FailureReasonCountSchema, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, Fmp4BoxSplitter, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, FrameLazyCountersSchema, FrameLazyMetricsSchema, G711_SCALE_CORRECTION_DB, GasStatusSchema, GetLoggingSettingsInputSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, HAP_AUDIO_BASE, HAP_AUDIO_BITRATE_KBPS, HAP_AUDIO_VBV_KBITS, HAP_KEYFRAME_INTERVAL_SEC, HF_BASE_URL, HF_REPO, HWACCEL_OPTIONS, HealthStatusSchema, HfModelResolutionSchema, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, INFERENCE_DEVICE_EXCLUSION_REASONS, ImageContractSchema, ImageContractStateSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, InferenceDeviceExclusionReasonSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, KeyEventSchema, LEGACY_READ_ONLY_CONFIG_KEY, LOAD_CONTRIBUTION_ATTRIBUTIONS, LOAD_CONTRIBUTION_ROLES, LOG_CHANNEL_TICK_MS, LOG_LEVEL_RANK, LabelAttributionSchema, LabelDefinitionSchema, LabelTierSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LedgerWalkDeviceReportSchema, LedgerWalkInputSchema, LedgerWalkRefusalSchema, LedgerWalkReportSchema, LedgerWalkSkipCountsSchema, LedgerWalkSkipReasonSchema, LegacyStorageLocationDefaultSchema, LinkedDeviceSchema, LinkedDevicesModeSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmDownloadProgressSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRetryPolicySchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmTimeoutDefaults, LlmUsageRollupSchema, LlmUsageSchema, LoadContributionSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogChannelApplyResultSchema, LogChannelDescriptorSchema, LogChannelGate, LogChannelLevelSchema, LogChannelRegistry, LogChannelWindowPatchSchema, LogChannelWindowSchema, LogChannelWindowStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, LoggingEffectiveSchema, LoggingExplicitSchema, LoggingLevelLayerSchema, LoggingLevelSourceSchema, LoggingScopeKindSchema, LoggingSettingsPatchSchema, LoggingSettingsStateSchema, LoginMethodContributionSchema, LoginStageEnum, MACRO_LABELS, MAX_ARCHIVED_DEBUG_NOTES, MAX_BIRTH_DECISION_RECORDS, MAX_BIRTH_LATENCY_PROXY_MS, MAX_CLIP_EVENT_IDS, MAX_CLIP_LABELS, MAX_CONDITION_DEPTH, MAX_CONDITION_LEAVES, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, MAX_KEYS, MAX_REASONS_PER_KEY, MAX_SENSOR_TRIGGER_DEVICES, MAX_TRACK_DEBUG_NOTE_LEN, METHOD_ACCESS_MAP, METHOD_DEVICE_SELECTORS, MODEL_FORMATS, MODEL_PROVIDER_IDS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelExtraFileSchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileInfoSchema, MediaFileKindEnum, MediaFileRefSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MediaRelocateModeSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, MigrateDeviceResultSchema, MigrateSwitchOutcomeSchema, MigrateSwitchReportSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, ModelProviderIdSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, MutationFilterSchema, NATIVE_LEASE_ACTIVITY_FIELD, NATIVE_LEASE_ACTIVITY_KEY, NATIVE_LEASE_ADMISSION_FIELD, NATIVE_LEASE_ADMISSION_KEY, NATIVE_LEASE_BUDGET_FIELD, NATIVE_LEASE_BUDGET_KEY, NATIVE_LEASE_HOLD_FIELD, NATIVE_LEASE_HOLD_KEY, NATIVE_LEASE_SCENE_BUDGET_FIELD, NATIVE_LEASE_SCENE_BUDGET_KEY, NATIVE_LEASE_SECTION_ID, NATIVE_LEASE_TILE_BUDGET_FIELD, NATIVE_LEASE_TILE_BUDGET_KEY, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_CONFIRM_HITS_DEFAULT, NC_AUDIO_CONFIRM_HITS_MAX, NC_AUDIO_CONFIRM_HITS_MIN, NC_AUDIO_CONFIRM_WINDOW_MAX_SEC, NC_AUDIO_CONFIRM_WINDOW_MIN_SEC, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT, NC_AUDIO_DBFS_FLOOR, NC_AUDIO_DB_MAX, NC_AUDIO_DB_MIN, NC_AUDIO_DB_OFFERED, NC_AUDIO_DB_STEP, NC_AUDIO_DEFAULTS, NC_AUDIO_HIT_PERCENT_MAX, NC_AUDIO_HIT_PERCENT_MIN, NC_AUDIO_SAMPLING_MAX_SEC, NC_AUDIO_SAMPLING_MIN_SEC, NC_AUDIO_SEED, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BASE_CONDITION_KEYS, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_DEFAULT_SNOOZE_MINUTES, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_OCCUPANCY_DEFAULTS, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_RULE_SECTIONS, NC_SNOOZE_MAX_MINUTES, NC_SYSTEM_DELIVERY, NC_SYSTEM_EVENT_FILTER_KEYS, NC_TAXONOMY, NETWORK_LINK_TYPES, NETWORK_LINK_UNKNOWN, NativeCropBboxSchema, NativeCropRefSchema, NativeCropResultSchema, NativeDetectionSchema, NativeLeaseAdmissionSchema, NativeLeaseSettingsSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, NavigationActionEntrySchema, NavigationActionIdSchema, NavigationEntryKindSchema, NavigationFeaturesSchema, NavigationLightModeSchema, NavigationModeSchema, NavigationMoveCommandSchema, NavigationPointSchema, NavigationRuntimeStateSchema, NavigationStatusSchema, NcAlarmConfigSchema, NcAlarmModeCoverageSchema, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, NcAlarmSkipReasonSchema, NcAlarmSkippedDeviceSchema, NcAudioConditionSchema, NcConditionDescriptorSchema, NcConditionsSchema, NcConfirmExpectSchema, NcConfirmSchema, NcCrossingSchema, NcDeliverySchema, NcDeviceStateConditionSchema, NcHistoryEntrySchema, NcHistoryFilterSchema, NcHistoryRecordKindSchema, NcHistoryStatusSchema, NcHistorySubjectSchema, NcMediaFrameSchema, NcMediaPolicySchema, NcOccupancyConditionSchema, NcPlateMatcherSchema, NcRuleActionSchema, NcRuleActionSequenceSchema, NcRuleActionsSchema, NcRuleInputSchema, NcRuleNotificationButtonSchema, NcRulePatchSchema, NcRuleSchema, NcRuleTargetSchema, NcSceneConditionSchema, NcScheduleSchema, NcScheduleWindowSchema, NcSnoozeInputSchema, NcSnoozeSchema, NcSnoozeScopeSchema, NcSnoozeSuppressedSchema, NcSystemEventConditionSchema, NcSystemEventKindSchema, NcTaxonomyEntrySchema, NcTaxonomySchema, NcTestResultSchema, NcThrottleGranularitySchema, NcThrottleSchema, NcZoneConditionSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NetworkLinkStatusSchema, NotificationActionIconSchema, NotificationActionSchema, NotificationFormatSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OPERATOR_WRITTEN_STALE_MS, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, OVERFLOW_REASON, OauthIntegrationDescriptorSchema, ObjectEventSchema, OpsLogDomainSchema, OpsLogEntrySchema, OpsLogOpSchema, OpsLogQueryInputSchema, OpsLogReasonSchema, OrchestratorMetricsSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdRenderOutcomeEnum, OsdRenderResultSchema, OsdSlotBindingSchema, OsdSlotViewSchema, OsdSourceOptionSchema, OsdSourceSchema, OsdSourceValueTypeEnum, OsdStatusSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PRIVACY_MASK_CAP_NAME, PROVIDER_KIND_CAP_NAMES, PYTHON_SCRIPT, PackageUpdateSchema, PackageVersionInfoSchema, ParkRefusalSchema, ParkTrackFrameResultSchema, ParkedFrameKindSchema, ParkedTrackFrameSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PolygonPointSchema, PoolMemoryWatchdog, PowerMeterStatusSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzMoveCommandSchema, PtzOptionsSchema, PtzPositionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, RATE_CONTROL_RELAXED, RATE_CONTROL_TIGHT, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECOGNITION_TYPES, RECORDING_AUDIO_TRIGGER_OFFERED_DBFS, RECORDING_EXPORT_MAX_READ_BYTES, RECORDING_TIMELINE_BATCH_MAX, REDACTED_SECRET, RESERVED_BINDING_NAMES, RESTORED_CAP_NAMES, ROOT_BUCKET_KEY, RUNTIME_DEFAULTS, RUNTIME_STATE_POLICY, RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadGopBytesResultSchema, ReadSegmentBytesResultSchema, ReadWindowBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecentTracksPageSchema, RecentTracksQueryInput, RecordingAvailabilityForDeviceSchema, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysForDeviceSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingObjectTriggerClassSchema, RecordingRangeSchema, RecordingRebalanceInputSchema, RecordingRebalanceMoveSchema, RecordingRebalancePlanSchema, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, RecordingRetentionSchema, RecordingSignalRuntimeStateSchema, RecordingSignalStatusSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RedirectLoginMethodSchema, RelocatableMediaCountInputSchema, RelocatableMediaCountSchema, RelocateFootageClassSchema, RelocateFootageInputSchema, RelocateJobSchema, RelocateJobStateSchema, RelocateMediaInputSchema, RelocateResidueInputSchema, RelocateResidueSchema, RenderedAsSchema, ReportMotionInputSchema, ReportedFailureContributionSchema, ReportedLoadContributionSchema, RequestCensusGroupSchema, RequestCensusProcedureSchema, RequestCensusSnapshotSchema, RequestCensusStatusSchema, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, RetrainFrameCandidateSchema, RetrainFrameListSchema, RetrainFrameSchema, RetrainFrameSelectionSchema, RetrainMacroClassSchema, RetrainStatusSchema, RetrainTrackSchema, RetrainTransitionResultSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCENE_CONDITIONS, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, SCENE_DEFAULT_ANCHOR_THRESHOLD, SCENE_DEFAULT_CHECK_INTERVAL_SEC, SCENE_DEFAULT_OBSERVATION_SPACING_SEC, SCENE_DEFAULT_QUIET_SECONDS, SCENE_DEFAULT_UNCOVERED_POLICY, SCENE_DIVERGED, SCENE_RESET_RECAPTURES, SCOPE_PRESETS, SENSOR_FEATURES, SENSOR_MAP, SHARE_VIEW_KINDS, SOURCE_CAPS, SOURCE_CAP_ACTIVE_FIELD, SOURCE_CAP_CHANGED_AT_FIELD, SOURCE_DEVICE_TYPES, SOURCE_INFO_METADATA_KEY, STORAGE_ACCESS_FALLBACK, STORAGE_BYTES_PER_GB, STORAGE_LOCATION_MODES, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SUMMARIES_DEFAULT_LIMIT, SUMMARIES_MAX_LIMIT, SYSTEM_CAP_NAMES, SYSTEM_SCOPE_DEVICE_METHODS, SceneCheckSchema, SceneConditionSchema, SceneConfirmSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusForDeviceSchema, SceneMonitorStatusSchema, SceneReferenceSchema, SceneUnavailableSchema, SceneUncoveredPolicySchema, SceneVerdictSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SetLoggingSettingsInputSchema, SetSiteLocationInputSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SiteLocationSchema, SiteLocationSourceSchema, SiteLocationStatusSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, StorageAccessSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, StorageCleanupInputSchema, StorageCleanupJobSchema, StorageCleanupPhaseSchema, StorageCleanupStatusInputSchema, StorageDrainProgressSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, StorageEvictionPolicySchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageLocationDeclarationSchema, StorageLocationModeSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, StorageMigrationClassSchema, StorageMigrationDestinationsSchema, StorageMigrationDrainInputSchema, StorageMigrationFindingCodeSchema, StorageMigrationFindingSchema, StorageMigrationFootageMoveInputSchema, StorageMigrationInputSchema, StorageMigrationJobSchema, StorageMigrationLaneSchema, StorageMigrationLeaseInputSchema, StorageMigrationMediaMoveInputSchema, StorageMigrationModeSchema, StorageMigrationMoveProgressSchema, StorageMigrationMoveSchema, StorageMigrationMoverSchema, StorageMigrationParticipantSchema, StorageMigrationPhaseSchema, StorageMigrationPlanSchema, StorageMigrationResidueSchema, StorageMigrationSourcesSchema, StorageOccupancyReportSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SubscribeFramesInputSchema, SubscribeFramesResultSchema, SummarySchema, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, TAXONOMY_COLORS, TIMELAPSE_DENSE_FLOOR_SEC, TIMEZONES, TRANSCODE_DOWN_MAX_BITRATE_KBPS, TRANSCODE_DOWN_MAX_HEIGHT, TamperStatusSchema, TankStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TerminalInstanceInfoSchema, TerminalLegacyCameraSchema, TerminalOutputBatchSchema, TerminalOutputEventSchema, TerminalProfileInfoSchema, TerminalSessionInfoSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestConnectionStatusEnum, TestResultSchema, TimelapseRuleInputSchema, TimelapseRulePatchSchema, TimelapseRuleSchema, TimelapseTemplateSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackEnvelopeSchema, TrackFlagsPatchSchema, TrackFlagsSchema, TrackProjectionSchema, TrackSchema, TrackSourceSchema, TrackStateSchema, TrackZoneFilterSchema, TrackedDetectionSchema, TrainingExportDeviceTotalsSchema, TrainingExportSummarySchema, TransportPlaneCountsSchema, TransportPlaneSchema, TurnServerSchema, UNATTRIBUTED_BUCKET_KEY, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UnstampedEventMediaCountSchema, UnstampedRowsSchema, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, VISIT_MERGE_GAP_MS, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VectorDeclareIndexInputSchema, VectorDeleteByFilterInputSchema, VectorDeleteInputSchema, VectorDeleteResultSchema, VectorFilterSchema, VectorGetInputSchema, VectorGetResultSchema, VectorItemSchema, VectorMatchSchema, VectorMetadataSchema, VectorMetricSchema, VectorQueryInputSchema, VectorQueryResultSchema, VectorStatsInputSchema, VectorStatsResultSchema, VectorUpsertInputSchema, VectorUpsertResultSchema, VibrationStatusSchema, VideoEncodeSchema, WEBRTC_EGRESS_PROFILE, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, WrapperEvidenceSchema, WrapperIdentitySchema, WrapperKindSchema, YAMNET_TO_MACRO, ZoneCrossingDirectionSchema, ZoneCrossingSchema, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, __resetLogChannelRegistryForTests, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, asBoolean, asJsonArray, asJsonObject, asNumber, asString, assertTimelapseCadences, audioAnalysisCapability, audioAnalyzerCapability, audioChunkBytesPerSample, audioCodecCapability, audioIsFailClosed, audioKindId, audioLabelChoices, audioMetricsCapability, audioModeOf, audioOrDefaults, audioPlanFromEncodeProfile, audioScaleEraOf, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, bareAddonId, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildAudioArgs, buildEventKindDescriptor, buildFfmpegArgs, buildInputArgs, buildModelVariantGroups, buildNcTaxonomy, buildRoleScopes, buildStreamParamsConfigSchema, buildVideoArgs, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, canonicalEgressPlan, carbonMonoxideCapability, cellsToRects, classifyBearerPrincipal, classifyStream, classifyStreams, climateControlCapability, clusterModelSettingKey, clusterStepSettingFieldsFor, clusterStepSettingKey, collectHydratedFieldEntries, collectHydratedFieldValues, collectSecretConfigKeys, colorCapability, colorForKind, commitWatchdogRestart, compileExpression, compileExpressionSafe, composeSwitchedOff, conditionDepth, conditionExclusionReason, conditionVisibleForKind, connectionTestCapability, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, coreBlockAddonId, coreBlockIdFromAddonId, coreBlocksCapability, cosineSimilarity, countConditionLeaves, coverCapability, createDeviceProxy, createDurableState, createEvent, createEventBusSliceSource, createExpressionScope, createHwAccelCache, createLazyTrpcSource, createLogChannelsProvider, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dataStoreProviderCapability, dayNightCapability, declarationOwnerNodeId, declareLogChannel, decodeVectorBase64, decoderCapability, defaultDeliveryForSection, defaultDeviceFor, defineCustomActions, deriveBatteryPresence, deriveCameraSwitches, deriveDetailCropRect, deriveRecordingMode, describeCustomActions, describeModelVariant, detectAccessRole, detectionPipelineCapability, deviceAdoptionCapability, deviceBackendToFormat, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceSelectorMatches, deviceStateCapability, deviceStatusCapability, doorbellCapability, droppedConditionsForKind, egressTranscodeSharingKey, egressTransportFromRequest, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, encodeVectorBase64, enumSensorCapability, enumerateInferenceDevices, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateExpressionSource, evaluatePoolMemory, evaluateSensorEdge, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, evictionPolicyForMode, evictionPolicyOfLocation, expandAudioChunkToF32le, expandCapMethods, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, failureContributionCapability, failureRate, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, foldSnapshotByFunction, formatForBackend, formatForRuntime, gasCapability, gbToBytes, generateAutomationBlock, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getLogChannelRegistry, getTaxonomyEntry, hasMotionTrigger, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, inferModelProvider, initialPoolMemoryState, integrationsCapability, intercomCapability, invocationFromEncodeProfile, isAgentOnlyPlacement, isArrayOutputSchema, isAudioChunkFormat, isAudioLabelSelected, isAudioRule, isBaseConditionKey, isBatteryPresenceFault, isClusterScopedStep, isCollectionArrayMethod, isDeployableToAgent, isDetectionMacroClass, isDeviceConfigCap, isDeviceScopedCap, isEvent, isFirstLevelMacroClass, isIsolatedBuiltin, isLocationEnabled, isNode, isObjectInput, isOccupancyRule, isRestoredCap, isSameAddonId, isScheduleActive, isSecretConfigField, isSoftwareDecode, isSourceCap, isStorageLocationMode, isSystemDelivery, isVoidInput, ituDbfsFromPreEpoch, jobKindSchema, kebabToCamel, knownValues, lawnMowerControlCapability, legacyModeOf, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, llmCapability, llmRuntimeCapability, loadContributionCapability, localNetworkCapability, locationSimilarity, lockControlCapability, logBannerArgs, logChannelsCapability, logDestinationCapability, logLevelAtMost, loginMethodCapability, looseSchema, makeProfileBrokerId, makeSourceBrokerId, mapAudioLabelToMacro, markdownToHtmlLite, markdownToText, maskUrlCredentials, mayReadLocation, mayWriteToLocation, mediaPlayerCapability, mergeSourceInfo, meshNetworkCapability, method, methodAccessForHttpMethod, metricsProviderCapability, migrateLegacyDeviceSignalConfig, modeMayRead, modeMayWrite, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, navigationCapability, networkAccessCapability, networkLinkCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeAudioLabel, normalizeTokenScopes, normalizeUnit, notificationOutputCapability, notificationRulesCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, objectInputDeclaresAddonId, osdCapability, osdManagerCapability, overlayClusterStepSettings, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProcStatus, parseProfileBrokerId, parseRuleSection, parseStreamParamsFormPatch, patchAudio, petFeederCapability, pickAccessoryControl, pickClusterStepModels, pickClusterStepSettings, pickDetailCropConvention, pickNativeLeaseOverride, pickPreferredRtspEntry, pickRestartCandidate, pickVideoEncoder, pickerForCondition, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, poolMemoryThreshold, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, principalMayReachAddon, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readClusterStepModels, readClusterStepSettings, readDetailCropConvention, readDeviceStateFrom, readNativeLeaseOverride, readNodePin, readTimelapseGeneratedAt, readinessKey, rebootCapability, recordingCapability, recordingExportCapability, recordingSignalCapability, rectsToCells, reducePoints, requiresPython, resetPoolBaseline, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveBucketMs, resolveCapMount, resolveClusterStepModelId, resolveContainerPrimaryChild, resolveDetectionRuntime, resolveDeviceControlKind, resolveDeviceProfile, resolveEgressDecodeHwAccel, resolveFormat, resolveHydratedFieldValue, resolveLocationMode, resolveMethodAuth, resolveModelFormat, resolveMutate, resolvePoolMemoryPolicy, resolveRecordingProfiles, resolveRunnerId, resolveVariantModelId, resolveViewableDeviceIds, roleSpec, ruleEditorSectionsForKind, ruleKindOf, ruleKindSpec, ruleMatchesSection, ruleSection, ruleSectionOf, ruleSeedForSection, runInferenceStep, runtimeDevices, runtimeStatePolicyFor, sceneMonitorCapability, schemaDeclaresAnyField, scopeInherits, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, serverManagementCapability, setByPath, settingsStoreCapability, signalPercentFromBars, signalPercentFromRssi, sleep, sleepCancellable, sliceActiveValue, sliceChangedAt, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, stateVocabularyFor, storageCapability, storageEvictableCapability, storageMigrationCapability, storageOccupancyCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, stripRetiredBandPreBufferSec, strippedOfLegacyReadOnly, subKindsOf, summarisePrivacyAudio, summarizeEffectiveScope, supportedRuntimes, switchCapability, switchedOffIds, synthesizeSourceInfo, systemCapability, systemEventFilterApplies, systemEventFilterAppliesToAnyKind, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, terminalSessionCapability, textToHtml, toDeviceSummary, toExpressionValue, toNodeId, toStreamSourceEntry, toastCapability, toggleAudioLabel, tokenize, transcodeBody, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, updateCapability, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateExpressionSource, validateRecipeBounds, valveCapability, vectorDimFromBase64, vectorStoreCapability, vibrationCapability, videoclipsCapability, viewerUiCapability, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, withLocationMode, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
55979
+ export { ACCESSORY_LABEL, ACCESS_ROLES, ALEXA_EGRESS_PROFILE, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT, AUDIO_ANALYSIS_CAP_NAME, AUDIO_BACKEND_CHOICES, AUDIO_CHUNK_FORMATS, AUDIO_MACRO_LABELS, AUDIO_PRESETS, AUDIO_SCALE_EPOCH_ISO, AUDIO_SCALE_EPOCH_MS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionCandidateResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, AdoptionJobSchema, AdoptionJobStateSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, AdoptionOutcomeSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, ApiKeyRecordSchema, ApiKeySummarySchema, ArchiveEntrySchema, ArchiveManifestSchema, ArchivedDebugNoteQueryInputSchema, ArchivedDebugNoteSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioAttachDeviceInputSchema, AudioAttachDeviceResultSchema, AudioChunkFormatSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioDetachDeviceResultSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AuthResultSchema, AutoUpdateSettingsSchema, AutomationActionSchema, AutomationConditionOperatorSchema, AutomationConditionSchema, AutomationControlStatusSchema, AutomationRecipeSchema, AutomationTriggerSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BASE_LIVE_EGRESS_PROFILE, BATTERY_DEVICE_PROFILE, BATTERY_UNREACHABLE_AFTER_MS, BIRTH_DECISION_DEFAULT_LIMIT, BOOT_RECOVERY_BACKOFF_MS, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BackupRunPhaseSchema, BackupRunSchema, BackupRunStateSchema, BackupTriggerResultSchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, BirthDecisionQueryInputSchema, BirthDecisionRecordSchema, BirthDecisionVerdictSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, BulkRecordSchema, CAMERA_SWITCH_CATALOG, CAMERA_SWITCH_ORDER, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, CLASS_MAP_MACRO_TARGETS, CLUSTER_MODEL_SCOPED_STEPS, CLUSTER_MODEL_SECTION_ID, CLUSTER_STEP_SETTING_FIELDS, COCO_80_LABELS, COCO_TO_MACRO, CONNECTION_TEST_TIMEOUT_MS, CONTAINER_CHILD_PRIORITY, CORE_BLOCKS_ADDON_ID, CORE_BLOCK_ADDON_PREFIX, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraOccupancySnapshotForDeviceSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusDegradationReasonSchema, CameraStatusDegradationSchema, CameraStatusSchema, CameraStatusStageSchema, CameraStreamSchema, CameraSwitchAuthoritySchema, CameraSwitchGroupSchema, CameraSwitchIdSchema, CameraSwitchSchema, CameraSwitchUnavailableReasonSchema, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CarbonMonoxideStatusSchema, ChargingStatus, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipPlaybackSchema, ClipSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectionTestDescriptorSchema, ConnectionTestInputSchema, ConnectionTestOutcomeSchema, ConnectivityStatusSchema, ConsumableItemSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoreBlockCompileResultSchema, CoreBlockInputSchema, CoreBlockPlacementSchema, CoreBlockSchema, CoreBlockStatusSchema, CoverStateSchema, CoverStatusSchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, CreateIntegrationInputSchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, CreateUserInputSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATAPLANE_SECRET_HEADER, DECLARED_DEVICE_SWEEP_LIMIT, DECLARED_INTEGRATION_FIXED_KEY, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_CLUSTER_STEP_MODELS, DEFAULT_CLUSTER_STEP_SETTINGS, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_DETAIL_CROP_CONVENTION, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS, DEFAULT_MIN_LANDMARK_FACE_SIZE_PX, DEFAULT_NATIVE_LEASE_SETTINGS, DEFAULT_POOL_MEMORY_POLICY, DEFAULT_RECORDING_PROFILES, DEFAULT_RETENTION, DEFAULT_RUNTIME_STATE_DURABILITY, DEFAULT_TIMELAPSE_PREVIEW_TEXT, DEFAULT_TOKEN_EXPIRY, DETAIL_CROP_PADDING_FIELD, DETAIL_CROP_PADDING_KEY, DETAIL_CROP_SECTION_ID, DETAIL_CROP_SQUARE_KEY, DETECTION_MACRO_CLASSES, DETECTION_PIPELINE_CAP_NAME, DEVICE_BACKEND_TO_FORMAT, DEVICE_CAP_NAMES, DEVICE_CHILDREN_BATCH_MAX, DEVICE_PROFILES, DEVICE_RESTORE_RETRY_CONCURRENCY, DEVICE_RESTORE_RETRY_DELAYS_MS, DEVICE_SCOPED_CAPS, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATE_READERS, DEVICE_STATUS_METHOD, DEVICE_TYPE_CONTROL_KIND, DEVICE_TYPE_INFO, EngineInfoSchema as DataStoreEngineInfoSchema, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DeclaredDevices, DecodedAudioChunkSchema, DecodedFrameSchema, DecoderSessionConfigSchema, DecoderStatsSchema, DeleteIntegrationResultSchema, DetailCropConventionSchema, DetectionCatalogClassMapSchema, DetectionSourceSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceNetworkStatsSchema, DeviceRestoreRetryScheduler, DeviceRole, DeviceRuntimeState, DeviceSelectorSchema, DeviceStatusSchema, DeviceType, DiagnosticIdSchema, DiagnosticWindowPatchSchema, DiagnosticWindowSchema, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DiskReconcileJobSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENTFUL_CAP_NAMES, EVENT_DENSITY_BATCH_MAX, EVENT_KIND_BY_CAP, EVENT_OWNER_TYPES, EVENT_PAD_MS, EVENT_TAXONOMY, EXPORT_DENSE_MAX_RANGES, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, EgressEncodeSchema, EgressRateControlSchema, EgressTranscodeRequestSchema, EgressTranscodeSchema, ElementConfigStore, EmbeddingInfoSchema, EmbeddingResultSchema, EncodeProfileSchema, EncodedPacketSchema, EnrichedWidgetMetadataSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, EventCategory, EventDensityBucketSchema, EventDensityForDeviceSchema, EventEmitterStatusSchema, EventFireSchema, EventItemSchema, EventKindCategorySchema, EventKindDescriptorSchema, EventKindIconSchema, EventKindSchema, EventKindsForDeviceSchema, EventMediaArtifactSchema, EventMediaCoverageSchema, EventMediaKindSchema, EventMediaProductionSchema, EventSourceType, ExportBytesSchema, ExportDenseRangeSchema, ExportDenseSchema, ExportDownloadSchema, ExportOptionsSchema, ExportRecordSchema, ExportSetupFieldSchema, ExportSetupSchema, ExportSpeedSchema, ExportStateSchema, ExportTimelapseSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionBindingSourceSchema, ExpressionEvalError, ExpressionFieldBindingSchema, ExpressionGlobalBindingSchema, ExpressionLiteralBindingSchema, ExpressionParseError, ExpressionSourceSchema, FIRST_LEVEL_MACRO_CLASSES, FULL_IMAGE_BBOX, FailureContributionSchema, FailureCounters, FailureReasonCountSchema, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, Fmp4BoxSplitter, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, FrameLazyCountersSchema, FrameLazyMetricsSchema, G711_SCALE_CORRECTION_DB, GasStatusSchema, GetLoggingSettingsInputSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, HAP_AUDIO_BASE, HAP_AUDIO_BITRATE_KBPS, HAP_AUDIO_VBV_KBITS, HAP_KEYFRAME_INTERVAL_SEC, HF_BASE_URL, HF_REPO, HWACCEL_OPTIONS, HealthStatusSchema, HfModelResolutionSchema, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, INFERENCE_DEVICE_EXCLUSION_REASONS, ImageContractSchema, ImageContractStateSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, InferenceDeviceExclusionReasonSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, KeyEventSchema, LEGACY_READ_ONLY_CONFIG_KEY, LOAD_CONTRIBUTION_ATTRIBUTIONS, LOAD_CONTRIBUTION_ROLES, LOG_CHANNEL_TICK_MS, LOG_LEVEL_RANK, LabelAttributionSchema, LabelDefinitionSchema, LabelTierSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LedgerWalkDeviceReportSchema, LedgerWalkInputSchema, LedgerWalkRefusalSchema, LedgerWalkReportSchema, LedgerWalkSkipCountsSchema, LedgerWalkSkipReasonSchema, LegacyStorageLocationDefaultSchema, LinkedDeviceSchema, LinkedDevicesModeSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmDownloadProgressSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRetryPolicySchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmTimeoutDefaults, LlmUsageRollupSchema, LlmUsageSchema, LoadContributionSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogChannelApplyResultSchema, LogChannelDescriptorSchema, LogChannelGate, LogChannelLevelSchema, LogChannelRegistry, LogChannelWindowPatchSchema, LogChannelWindowSchema, LogChannelWindowStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, LoggingEffectiveSchema, LoggingExplicitSchema, LoggingLevelLayerSchema, LoggingLevelSourceSchema, LoggingScopeKindSchema, LoggingSettingsPatchSchema, LoggingSettingsStateSchema, LoginMethodContributionSchema, LoginStageEnum, MACRO_LABELS, MAX_ARCHIVED_DEBUG_NOTES, MAX_BIRTH_DECISION_RECORDS, MAX_BIRTH_LATENCY_PROXY_MS, MAX_CLIP_EVENT_IDS, MAX_CLIP_LABELS, MAX_CONDITION_DEPTH, MAX_CONDITION_LEAVES, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, MAX_KEYS, MAX_REASONS_PER_KEY, MAX_SENSOR_TRIGGER_DEVICES, MAX_TRACK_DEBUG_NOTE_LEN, MEDIA_OWNER_TYPES, METHOD_ACCESS_MAP, METHOD_DEVICE_SELECTORS, MODEL_FORMATS, MODEL_PROVIDER_IDS, MOTION_CLOSE_AFTER_MS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelExtraFileSchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileInfoSchema, MediaFileKindEnum, MediaFileRefSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MediaRelocateModeSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, MigrateDeviceResultSchema, MigrateSwitchOutcomeSchema, MigrateSwitchReportSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, ModelProviderIdSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, MutationFilterSchema, NATIVE_LEASE_ACTIVITY_FIELD, NATIVE_LEASE_ACTIVITY_KEY, NATIVE_LEASE_ADMISSION_FIELD, NATIVE_LEASE_ADMISSION_KEY, NATIVE_LEASE_BUDGET_FIELD, NATIVE_LEASE_BUDGET_KEY, NATIVE_LEASE_HOLD_FIELD, NATIVE_LEASE_HOLD_KEY, NATIVE_LEASE_SCENE_BUDGET_FIELD, NATIVE_LEASE_SCENE_BUDGET_KEY, NATIVE_LEASE_SECTION_ID, NATIVE_LEASE_TILE_BUDGET_FIELD, NATIVE_LEASE_TILE_BUDGET_KEY, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_CONFIRM_HITS_DEFAULT, NC_AUDIO_CONFIRM_HITS_MAX, NC_AUDIO_CONFIRM_HITS_MIN, NC_AUDIO_CONFIRM_WINDOW_MAX_SEC, NC_AUDIO_CONFIRM_WINDOW_MIN_SEC, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT, NC_AUDIO_DBFS_FLOOR, NC_AUDIO_DB_MAX, NC_AUDIO_DB_MIN, NC_AUDIO_DB_OFFERED, NC_AUDIO_DB_STEP, NC_AUDIO_DEFAULTS, NC_AUDIO_HIT_PERCENT_MAX, NC_AUDIO_HIT_PERCENT_MIN, NC_AUDIO_SAMPLING_MAX_SEC, NC_AUDIO_SAMPLING_MIN_SEC, NC_AUDIO_SEED, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BASE_CONDITION_KEYS, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_DEFAULT_SNOOZE_MINUTES, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_OCCUPANCY_DEFAULTS, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_RULE_SECTIONS, NC_SNOOZE_MAX_MINUTES, NC_SYSTEM_DELIVERY, NC_SYSTEM_EVENT_FILTER_KEYS, NC_TAXONOMY, NETWORK_LINK_TYPES, NETWORK_LINK_UNKNOWN, NativeCropBboxSchema, NativeCropRefSchema, NativeCropResultSchema, NativeDetectionSchema, NativeLeaseAdmissionSchema, NativeLeaseSettingsSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, NavigationActionEntrySchema, NavigationActionIdSchema, NavigationEntryKindSchema, NavigationFeaturesSchema, NavigationLightModeSchema, NavigationModeSchema, NavigationMoveCommandSchema, NavigationPointSchema, NavigationRuntimeStateSchema, NavigationStatusSchema, NcAlarmConfigSchema, NcAlarmModeCoverageSchema, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, NcAlarmSkipReasonSchema, NcAlarmSkippedDeviceSchema, NcAudioConditionSchema, NcConditionDescriptorSchema, NcConditionsSchema, NcConfirmExpectSchema, NcConfirmSchema, NcCrossingSchema, NcDeliverySchema, NcDeviceStateConditionSchema, NcHistoryEntrySchema, NcHistoryFilterSchema, NcHistoryRecordKindSchema, NcHistoryStatusSchema, NcHistorySubjectSchema, NcMediaFrameSchema, NcMediaPolicySchema, NcOccupancyConditionSchema, NcPlateMatcherSchema, NcRuleActionSchema, NcRuleActionSequenceSchema, NcRuleActionsSchema, NcRuleInputSchema, NcRuleNotificationButtonSchema, NcRulePatchSchema, NcRuleSchema, NcRuleTargetSchema, NcSceneConditionSchema, NcScheduleSchema, NcScheduleWindowSchema, NcSnoozeInputSchema, NcSnoozeSchema, NcSnoozeScopeSchema, NcSnoozeSuppressedSchema, NcSystemEventConditionSchema, NcSystemEventKindSchema, NcTaxonomyEntrySchema, NcTaxonomySchema, NcTestResultSchema, NcThrottleGranularitySchema, NcThrottleSchema, NcZoneConditionSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NetworkLinkStatusSchema, NotificationActionIconSchema, NotificationActionSchema, NotificationFormatSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OPERATOR_WRITTEN_STALE_MS, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, OVERFLOW_REASON, OauthIntegrationDescriptorSchema, ObjectEventSchema, OpsLogDomainSchema, OpsLogEntrySchema, OpsLogOpSchema, OpsLogQueryInputSchema, OpsLogReasonSchema, OrchestratorMetricsSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdRenderOutcomeEnum, OsdRenderResultSchema, OsdSlotBindingSchema, OsdSlotViewSchema, OsdSourceOptionSchema, OsdSourceSchema, OsdSourceValueTypeEnum, OsdStatusSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PRIVACY_MASK_CAP_NAME, PROVIDER_KIND_CAP_NAMES, PYTHON_SCRIPT, PackageUpdateSchema, PackageVersionInfoSchema, ParkRefusalSchema, ParkTrackFrameResultSchema, ParkedFrameKindSchema, ParkedTrackFrameSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PolygonPointSchema, PoolMemoryWatchdog, PowerMeterStatusSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzMoveCommandSchema, PtzOptionsSchema, PtzPositionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, RATE_CONTROL_RELAXED, RATE_CONTROL_TIGHT, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECOGNITION_TYPES, RECORDING_AUDIO_TRIGGER_OFFERED_DBFS, RECORDING_EXPORT_MAX_READ_BYTES, RECORDING_TIMELINE_BATCH_MAX, REDACTED_SECRET, RESERVED_BINDING_NAMES, RESTORED_CAP_NAMES, ROOT_BUCKET_KEY, RUNTIME_DEFAULTS, RUNTIME_STATE_POLICY, RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadGopBytesResultSchema, ReadSegmentBytesResultSchema, ReadWindowBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecentTracksPageSchema, RecentTracksQueryInput, RecordingAvailabilityForDeviceSchema, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysForDeviceSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingObjectTriggerClassSchema, RecordingRangeSchema, RecordingRebalanceInputSchema, RecordingRebalanceMoveSchema, RecordingRebalancePlanSchema, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, RecordingRetentionSchema, RecordingSignalRuntimeStateSchema, RecordingSignalStatusSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RedirectLoginMethodSchema, RelocatableMediaCountInputSchema, RelocatableMediaCountSchema, RelocateFootageClassSchema, RelocateFootageInputSchema, RelocateJobSchema, RelocateJobStateSchema, RelocateMediaInputSchema, RelocateResidueInputSchema, RelocateResidueSchema, RenderedAsSchema, ReportMotionInputSchema, ReportedFailureContributionSchema, ReportedLoadContributionSchema, RequestCensusGroupSchema, RequestCensusProcedureSchema, RequestCensusSnapshotSchema, RequestCensusStatusSchema, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, RetrainFrameCandidateSchema, RetrainFrameListSchema, RetrainFrameSchema, RetrainFrameSelectionSchema, RetrainMacroClassSchema, RetrainStatusSchema, RetrainTrackSchema, RetrainTransitionResultSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCENE_CONDITIONS, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, SCENE_DEFAULT_ANCHOR_THRESHOLD, SCENE_DEFAULT_CHECK_INTERVAL_SEC, SCENE_DEFAULT_OBSERVATION_SPACING_SEC, SCENE_DEFAULT_QUIET_SECONDS, SCENE_DEFAULT_UNCOVERED_POLICY, SCENE_DIVERGED, SCENE_RESET_RECAPTURES, SCOPE_PRESETS, SENSOR_FEATURES, SENSOR_MAP, SHARE_VIEW_KINDS, SOURCE_CAPS, SOURCE_CAP_ACTIVE_FIELD, SOURCE_CAP_CHANGED_AT_FIELD, SOURCE_DEVICE_TYPES, SOURCE_INFO_METADATA_KEY, STORAGE_ACCESS_FALLBACK, STORAGE_BYTES_PER_GB, STORAGE_LOCATION_MODES, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SUMMARIES_DEFAULT_LIMIT, SUMMARIES_MAX_LIMIT, SYSTEM_CAP_NAMES, SYSTEM_SCOPE_DEVICE_METHODS, SceneCheckSchema, SceneConditionSchema, SceneConfirmSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusForDeviceSchema, SceneMonitorStatusSchema, SceneReferenceSchema, SceneUnavailableSchema, SceneUncoveredPolicySchema, SceneVerdictSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SetLoggingSettingsInputSchema, SetSiteLocationInputSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SiteLocationSchema, SiteLocationSourceSchema, SiteLocationStatusSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, StorageAccessSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, StorageCleanupInputSchema, StorageCleanupJobSchema, StorageCleanupPhaseSchema, StorageCleanupStatusInputSchema, StorageDrainProgressSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, StorageEvictionPolicySchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageLocationDeclarationSchema, StorageLocationModeSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, StorageMigrationClassSchema, StorageMigrationDestinationsSchema, StorageMigrationDrainInputSchema, StorageMigrationFindingCodeSchema, StorageMigrationFindingSchema, StorageMigrationFootageMoveInputSchema, StorageMigrationInputSchema, StorageMigrationJobSchema, StorageMigrationLaneSchema, StorageMigrationLeaseInputSchema, StorageMigrationMediaMoveInputSchema, StorageMigrationModeSchema, StorageMigrationMoveProgressSchema, StorageMigrationMoveSchema, StorageMigrationMoverSchema, StorageMigrationParticipantSchema, StorageMigrationPhaseSchema, StorageMigrationPlanSchema, StorageMigrationResidueSchema, StorageMigrationSourcesSchema, StorageOccupancyReportSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SubscribeFramesInputSchema, SubscribeFramesResultSchema, SummarySchema, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, TAXONOMY_COLORS, TIMELAPSE_DENSE_FLOOR_SEC, TIMEZONES, TRANSCODE_DOWN_MAX_BITRATE_KBPS, TRANSCODE_DOWN_MAX_HEIGHT, TamperStatusSchema, TankStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TerminalInstanceInfoSchema, TerminalLegacyCameraSchema, TerminalOutputBatchSchema, TerminalOutputEventSchema, TerminalProfileInfoSchema, TerminalSessionInfoSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestConnectionStatusEnum, TestResultSchema, TimelapseRuleInputSchema, TimelapseRulePatchSchema, TimelapseRuleSchema, TimelapseTemplateSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackEnvelopeSchema, TrackFlagsPatchSchema, TrackFlagsSchema, TrackProjectionSchema, TrackSchema, TrackSourceSchema, TrackStateSchema, TrackZoneFilterSchema, TrackedDetectionSchema, TrainingExportDeviceTotalsSchema, TrainingExportSummarySchema, TransportPlaneCountsSchema, TransportPlaneSchema, TurnServerSchema, UNATTRIBUTED_BUCKET_KEY, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UnstampedEventMediaCountSchema, UnstampedRowsSchema, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, VISIT_MERGE_GAP_MS, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VectorDeclareIndexInputSchema, VectorDeleteByFilterInputSchema, VectorDeleteInputSchema, VectorDeleteResultSchema, VectorFilterSchema, VectorGetInputSchema, VectorGetResultSchema, VectorItemSchema, VectorMatchSchema, VectorMetadataSchema, VectorMetricSchema, VectorQueryInputSchema, VectorQueryResultSchema, VectorStatsInputSchema, VectorStatsResultSchema, VectorUpsertInputSchema, VectorUpsertResultSchema, VibrationStatusSchema, VideoEncodeSchema, WEBRTC_EGRESS_PROFILE, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, WrapperEvidenceSchema, WrapperIdentitySchema, WrapperKindSchema, YAMNET_TO_MACRO, ZoneCrossingDirectionSchema, ZoneCrossingSchema, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, __resetLogChannelRegistryForTests, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, asBoolean, asJsonArray, asJsonObject, asNumber, asString, assertTimelapseCadences, audioAnalysisCapability, audioAnalyzerCapability, audioChunkBytesPerSample, audioCodecCapability, audioIsFailClosed, audioKindId, audioLabelChoices, audioMetricsCapability, audioModeOf, audioOrDefaults, audioPlanFromEncodeProfile, audioScaleEraOf, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, bareAddonId, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildAudioArgs, buildEventKindDescriptor, buildFfmpegArgs, buildInputArgs, buildModelVariantGroups, buildNcTaxonomy, buildRoleScopes, buildStreamParamsConfigSchema, buildVideoArgs, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, canonicalEgressPlan, carbonMonoxideCapability, cellsToRects, classifyBearerPrincipal, classifyStream, classifyStreams, climateControlCapability, clusterModelSettingKey, clusterStepSettingFieldsFor, clusterStepSettingKey, collectHydratedFieldEntries, collectHydratedFieldValues, collectSecretConfigKeys, colorCapability, colorForKind, commitWatchdogRestart, compileExpression, compileExpressionSafe, composeSwitchedOff, conditionDepth, conditionExclusionReason, conditionVisibleForKind, connectionTestCapability, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, coreBlockAddonId, coreBlockIdFromAddonId, coreBlocksCapability, cosineSimilarity, countConditionLeaves, coverCapability, createDeviceProxy, createDurableState, createEvent, createEventBusSliceSource, createExpressionScope, createHwAccelCache, createLazyTrpcSource, createLogChannelsProvider, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dataStoreProviderCapability, dayNightCapability, declarationOwnerNodeId, declareLogChannel, decodeVectorBase64, decoderCapability, defaultDeliveryForSection, defaultDeviceFor, defineCustomActions, deriveBatteryPresence, deriveCameraSwitches, deriveDetailCropRect, deriveRecordingMode, describeCustomActions, describeModelVariant, detectAccessRole, detectionPipelineCapability, deviceAdoptionCapability, deviceBackendToFormat, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceSelectorMatches, deviceStateCapability, deviceStatusCapability, doorbellCapability, droppedConditionsForKind, egressTranscodeSharingKey, egressTransportFromRequest, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, encodeVectorBase64, enumSensorCapability, enumerateInferenceDevices, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateExpressionSource, evaluatePoolMemory, evaluateSensorEdge, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, evictionPolicyForMode, evictionPolicyOfLocation, expandAudioChunkToF32le, expandCapMethods, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, failureContributionCapability, failureRate, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, foldSnapshotByFunction, formatForBackend, formatForRuntime, formatMediaOwnerKey, gasCapability, gbToBytes, generateAutomationBlock, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getLogChannelRegistry, getTaxonomyEntry, hasMotionTrigger, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, inferModelProvider, initialPoolMemoryState, integrationsCapability, intercomCapability, invocationFromEncodeProfile, isAgentOnlyPlacement, isArrayOutputSchema, isAudioChunkFormat, isAudioLabelSelected, isAudioRule, isBaseConditionKey, isBatteryPresenceFault, isClusterScopedStep, isCollectionArrayMethod, isDeployableToAgent, isDetectionMacroClass, isDeviceConfigCap, isDeviceScopedCap, isEvent, isEventOwnerType, isFirstLevelMacroClass, isIsolatedBuiltin, isLocationEnabled, isNode, isObjectInput, isOccupancyRule, isRestoredCap, isSameAddonId, isScheduleActive, isSecretConfigField, isSoftwareDecode, isSourceCap, isStorageLocationMode, isSystemDelivery, isVoidInput, ituDbfsFromPreEpoch, jobKindSchema, kebabToCamel, knownValues, lawnMowerControlCapability, legacyModeOf, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, llmCapability, llmRuntimeCapability, loadContributionCapability, localNetworkCapability, locationSimilarity, lockControlCapability, logBannerArgs, logChannelsCapability, logDestinationCapability, logLevelAtMost, loginMethodCapability, looseSchema, makeProfileBrokerId, makeSourceBrokerId, mapAudioLabelToMacro, markdownToHtmlLite, markdownToText, maskUrlCredentials, mayReadLocation, mayWriteToLocation, mediaPlayerCapability, mergeSourceInfo, meshNetworkCapability, method, methodAccessForHttpMethod, metricsProviderCapability, migrateLegacyDeviceSignalConfig, modeMayRead, modeMayWrite, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, navigationCapability, networkAccessCapability, networkLinkCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeAudioLabel, normalizeTokenScopes, normalizeUnit, notificationOutputCapability, notificationRulesCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, objectInputDeclaresAddonId, osdCapability, osdManagerCapability, overlayClusterStepSettings, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseMediaOwnerKey, parseProcStatus, parseProfileBrokerId, parseRuleSection, parseStreamParamsFormPatch, patchAudio, petFeederCapability, pickAccessoryControl, pickClusterStepModels, pickClusterStepSettings, pickDetailCropConvention, pickNativeLeaseOverride, pickPreferredRtspEntry, pickRestartCandidate, pickVideoEncoder, pickerForCondition, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, poolMemoryThreshold, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, principalMayReachAddon, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readClusterStepModels, readClusterStepSettings, readDetailCropConvention, readDeviceStateFrom, readNativeLeaseOverride, readNodePin, readTimelapseGeneratedAt, readinessKey, rebootCapability, recordingCapability, recordingExportCapability, recordingSignalCapability, rectsToCells, reducePoints, requiresPython, resetPoolBaseline, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveBucketMs, resolveCapMount, resolveClusterStepModelId, resolveContainerPrimaryChild, resolveDetectionRuntime, resolveDeviceControlKind, resolveDeviceProfile, resolveEgressDecodeHwAccel, resolveFormat, resolveHydratedFieldValue, resolveLocationMode, resolveMethodAuth, resolveModelFormat, resolveMutate, resolvePoolMemoryPolicy, resolveRecordingProfiles, resolveRunnerId, resolveVariantModelId, resolveViewableDeviceIds, roleSpec, ruleEditorSectionsForKind, ruleKindOf, ruleKindSpec, ruleMatchesSection, ruleSection, ruleSectionOf, ruleSeedForSection, runInferenceStep, runtimeDevices, runtimeStatePolicyFor, sceneMonitorCapability, schemaDeclaresAnyField, scopeInherits, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, serverManagementCapability, setByPath, settingsStoreCapability, signalPercentFromBars, signalPercentFromRssi, sleep, sleepCancellable, sliceActiveValue, sliceChangedAt, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, stateVocabularyFor, storageCapability, storageEvictableCapability, storageMigrationCapability, storageOccupancyCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, stripRetiredBandPreBufferSec, strippedOfLegacyReadOnly, subKindsOf, summarisePrivacyAudio, summarizeEffectiveScope, supportedRuntimes, switchCapability, switchedOffIds, synthesizeSourceInfo, systemCapability, systemEventFilterApplies, systemEventFilterAppliesToAnyKind, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, terminalSessionCapability, textToHtml, toDeviceSummary, toExpressionValue, toNodeId, toStreamSourceEntry, toastCapability, toggleAudioLabel, tokenize, transcodeBody, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, updateCapability, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateExpressionSource, validateRecipeBounds, valveCapability, vectorDimFromBase64, vectorStoreCapability, vibrationCapability, videoclipsCapability, viewerUiCapability, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, withLocationMode, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
@@ -89,10 +89,25 @@ export interface SettingsQueryInput {
89
89
  */
90
90
  readonly columns?: readonly string[];
91
91
  }
92
+ /**
93
+ * A record as it is WRITTEN. `id` is optional here and required on
94
+ * {@link SettingsRecord}, which describes a record as it is READ — a stored row
95
+ * always has one, a row being written may not.
96
+ *
97
+ * The difference is not cosmetic: a collection whose primary key is `INTEGER`
98
+ * is a SQLite ROWID ALIAS, and SQLite assigns it only when the column is
99
+ * OMITTED from the insert. The backend has handled that since `autoPrimaryKey`
100
+ * existed, but this type demanded an id anyway, so the path was unreachable
101
+ * from TypeScript — wired at one end and closed at the other.
102
+ */
103
+ export interface SettingsInsertRecord<T extends object = Record<string, unknown>> {
104
+ readonly id?: string;
105
+ readonly data: T;
106
+ }
92
107
  export interface SettingsInsertInput<T extends object = Record<string, unknown>> {
93
108
  readonly namespace?: string;
94
109
  readonly collection: SettingsCollection;
95
- readonly record: SettingsRecord<T>;
110
+ readonly record: SettingsInsertRecord<T>;
96
111
  }
97
112
  export interface SettingsUpdateInput {
98
113
  readonly namespace?: string;
@@ -164,7 +179,9 @@ export interface ISettingsBackend {
164
179
  /** Get all entries matching an optional filter */
165
180
  query<T extends object = Record<string, unknown>>(input: SettingsQueryInput): Promise<readonly SettingsRecord<T>[]>;
166
181
  /** Insert a new record */
167
- insert<T extends object = Record<string, unknown>>(input: SettingsInsertInput<T>): Promise<void>;
182
+ insert<T extends object = Record<string, unknown>>(input: SettingsInsertInput<T>): Promise<{
183
+ readonly id: string | number;
184
+ }>;
168
185
  /** Update an existing record by ID */
169
186
  update(input: SettingsUpdateInput): Promise<void>;
170
187
  /** Delete a record by key/ID */
@@ -0,0 +1,90 @@
1
+ /**
2
+ * The one place a media key is built and read.
3
+ *
4
+ * A media key addresses a file by its OWNER, in one grammar:
5
+ *
6
+ * ```
7
+ * <ownerType>:<ownerId>:<fileKind>[:<timestampMs>]
8
+ * ```
9
+ *
10
+ * The owner type is a TABLE. That is already true of every owner on the live
11
+ * hub - `track`, `summary`, `face`, `identity`, `plate` - and the exception was
12
+ * `event`, which covered three tables at once. While event ids were UUIDs the
13
+ * ambiguity cost nothing, because a UUID is unique across tables. D474 made an
14
+ * event id a SQLite rowid alias, so each table numbers from 1 and `event:5`
15
+ * stopped naming one row. Splitting `event` into `motion` / `object` / `audio`
16
+ * restores uniqueness without a fifth segment and without a magic numbering
17
+ * offset, which would have hidden the same invariant somewhere nobody reads.
18
+ *
19
+ * Why this module exists at all, rather than a `split(':')` at each call site:
20
+ * the key is built in the addon, in `ui-library` and in the notification
21
+ * dispatcher, and read positionally in admin-ui (`split(':')[1]` for an owner
22
+ * id). Positional reads are silently wrong the moment a segment moves, and
23
+ * there is no compiler that notices. It lives in `@camstack/types` because both
24
+ * an addon and the UI packages must reach it, and addons may not import each
25
+ * other.
26
+ *
27
+ * `parseMediaOwnerKey` returns `null` for anything it cannot read, and never
28
+ * throws: it sits on the media READ path, where an exception takes out every
29
+ * thumbnail and a guess puts the wrong image on screen. A legacy `event:` key
30
+ * is therefore unreadable BY DESIGN - on this hub the 299 883 resolvable ones
31
+ * are rewritten by the D474 data migration, and the 676 that remain were
32
+ * already orphaned, their event having aged out before it.
33
+ */
34
+ /**
35
+ * Owner types, i.e. the tables that own media.
36
+ *
37
+ * `motion` / `object` / `audio` are the three event tables; `event` is
38
+ * deliberately absent and must not be re-added - it is the ambiguity this
39
+ * module exists to remove.
40
+ *
41
+ * This list must cover `OWNER_KINDS` in
42
+ * `addon-post-analysis/src/pipeline-analytics/store/media-store.ts`, which is
43
+ * the AUTHORITY on what may own media. I first derived it from the prefixes
44
+ * actually present on the live hub and so omitted `vehicle` and `scene`: both
45
+ * are declared owner kinds with no rows today, and the parser would have
46
+ * rejected their keys the day one appeared. A list derived from data is a list
47
+ * that is correct until the data changes.
48
+ */
49
+ export declare const MEDIA_OWNER_TYPES: readonly ["track", "summary", "face", "identity", "plate", "vehicle", "scene", "motion", "object", "audio"];
50
+ export type MediaOwnerType = (typeof MEDIA_OWNER_TYPES)[number];
51
+ /** A parsed media key. `timestampMs` is absent for the three-segment form. */
52
+ export interface MediaOwnerKey {
53
+ readonly ownerType: MediaOwnerType;
54
+ readonly ownerId: string;
55
+ readonly fileKind: string;
56
+ readonly timestampMs?: number;
57
+ }
58
+ /**
59
+ * What a caller may hand `formatMediaOwnerKey`. `ownerId` widens to `number`
60
+ * because an event id IS a number now (D474) and stringifying at every call
61
+ * site is how the old `String(id)` sprawl started.
62
+ */
63
+ export interface MediaOwnerKeyInput {
64
+ readonly ownerType: MediaOwnerType;
65
+ readonly ownerId: string | number;
66
+ readonly fileKind: string;
67
+ readonly timestampMs?: number;
68
+ }
69
+ /**
70
+ * Read a media key. `null` when it is not one - an unknown owner type, a legacy
71
+ * `event:` key, a missing segment, or a fourth segment that is not a timestamp.
72
+ *
73
+ * `fileKind` is returned as a plain string rather than validated against
74
+ * `MediaFileKindEnum`: kinds have been RETIRED over time (`crop`,
75
+ * `fullFrameBoxed`) and rows carrying them still exist, so a parser that
76
+ * rejected them would make historical media unreadable while claiming the key
77
+ * was malformed.
78
+ */
79
+ export declare function parseMediaOwnerKey(key: string): MediaOwnerKey | null;
80
+ /** Build a media key. The timestamp segment is omitted when there is none. */
81
+ export declare function formatMediaOwnerKey(key: MediaOwnerKeyInput): string;
82
+ /**
83
+ * The owner types that are event tables, in the order the event-media resolver
84
+ * should consider them. Exported so a consumer asking "is this key an event?"
85
+ * does not re-spell the list and drift from it.
86
+ */
87
+ export declare const EVENT_OWNER_TYPES: readonly ["motion", "object", "audio"];
88
+ export type EventOwnerType = (typeof EVENT_OWNER_TYPES)[number];
89
+ /** True when this key's owner is one of the three event tables. */
90
+ export declare function isEventOwnerType(ownerType: MediaOwnerType): ownerType is EventOwnerType;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.180",
3
+ "version": "1.2.181",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",