@camstack/types 1.1.46 → 1.1.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { $ as StreamSourceSchema, A as parseJsonUnknown, B as CamProfileSchema, C as asBoolean, D as asString, E as asNumber, F as readinessKey, G as DecodedFrameSchema, H as CamStreamResolutionSchema, I as scopeKey, J as FrameHandleSchema, K as EncodedPacketSchema, L as BrokerStatsSchema, M as ReadinessRegistry, N as ReadinessTimeoutError, O as parseJsonArray, P as emitDownForOwnedCaps, Q as StreamSourceEntrySchema, R as BrokerStatusSchema, S as DeviceType, T as asJsonObject, U as CameraStreamSchema, V as CamStreamKindSchema, W as DecodedAudioChunkSchema, X as ProfileSlotSchema, Y as ProfileRtspEntrySchema, Z as ProfileSlotStatusSchema, _ as resolveCapMount, _t as collectHydratedFieldValues, a as viewerUiCapability, at as makeSourceBrokerId, b as DeviceFeature, bt as DisposerChain, c as createLazyTrpcSource, ct as BaseAddon, d as DEVICE_SETTINGS_CONTRIBUTION_METHODS, dt as createEvent, et as SubscribeAudioChunksInputSchema, f as DEVICE_STATUS_METHOD, ft as emitReadiness, g as method, gt as collectHydratedFieldEntries, h as isDeviceConfigCap, ht as WELL_KNOWN_TAB_MAP, i as deviceOpsCapability, it as makeProfileBrokerId, j as DATAPLANE_SECRET_HEADER, k as parseJsonObject, l as createMirrorSource, lt as normalizeAddonInitResult, m as expandCapMethods, mt as WELL_KNOWN_TABS, n as sleepCancellable, nt as SubscribeFramesInputSchema, o as adminUiCapability, ot as parseProfileBrokerId, p as event, pt as isEvent, q as FrameHandleFormatSchema, r as RawStateResultSchema, rt as SubscribeFramesResultSchema, s as createDeviceProxy, st as selectAssignedProfileSlots, t as sleep, tt as SubscribeAudioChunksResultSchema, u as createSliceHandle, ut as createDurableState, v as systemMethod, vt as hydrateSchema, w as asJsonArray, x as DeviceRole, y as ChargingStatus, yt as resolveHydratedFieldValue, z as CAM_PROFILE_ORDER } from "./sleep-Br7r_3fq.mjs";
2
- import { t as EventCategory } from "./event-category-CFZs3jI4.mjs";
1
+ import { $ as StreamSourceSchema, A as parseJsonUnknown, B as CamProfileSchema, C as asBoolean, D as asString, E as asNumber, F as readinessKey, G as DecodedFrameSchema, H as CamStreamResolutionSchema, I as scopeKey, J as FrameHandleSchema, K as EncodedPacketSchema, L as BrokerStatsSchema, M as ReadinessRegistry, N as ReadinessTimeoutError, O as parseJsonArray, P as emitDownForOwnedCaps, Q as StreamSourceEntrySchema, R as BrokerStatusSchema, S as DeviceType, T as asJsonObject, U as CameraStreamSchema, V as CamStreamKindSchema, W as DecodedAudioChunkSchema, X as ProfileSlotSchema, Y as ProfileRtspEntrySchema, Z as ProfileSlotStatusSchema, _ as resolveCapMount, _t as collectHydratedFieldValues, a as viewerUiCapability, at as makeSourceBrokerId, b as DeviceFeature, bt as DisposerChain, c as createLazyTrpcSource, ct as BaseAddon, d as DEVICE_SETTINGS_CONTRIBUTION_METHODS, dt as createEvent, et as SubscribeAudioChunksInputSchema, f as DEVICE_STATUS_METHOD, ft as emitReadiness, g as method, gt as collectHydratedFieldEntries, h as isDeviceConfigCap, ht as WELL_KNOWN_TAB_MAP, i as deviceOpsCapability, it as makeProfileBrokerId, j as DATAPLANE_SECRET_HEADER, k as parseJsonObject, l as createMirrorSource, lt as normalizeAddonInitResult, m as expandCapMethods, mt as WELL_KNOWN_TABS, n as sleepCancellable, nt as SubscribeFramesInputSchema, o as adminUiCapability, ot as parseProfileBrokerId, p as event, pt as isEvent, q as FrameHandleFormatSchema, r as RawStateResultSchema, rt as SubscribeFramesResultSchema, s as createDeviceProxy, st as selectAssignedProfileSlots, t as sleep, tt as SubscribeAudioChunksResultSchema, u as createSliceHandle, ut as createDurableState, v as systemMethod, vt as hydrateSchema, w as asJsonArray, x as DeviceRole, y as ChargingStatus, yt as resolveHydratedFieldValue, z as CAM_PROFILE_ORDER } from "./sleep-B3OHhFkL.mjs";
2
+ import { t as EventCategory } from "./event-category-H4AVePnn.mjs";
3
3
  import { EventSourceType } from "./enums.mjs";
4
4
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
5
5
  import { z } from "zod";
@@ -869,6 +869,83 @@ var RecordingRetentionSchema = z.object({
869
869
  maxSizeGb: z.number().min(0).optional()
870
870
  });
871
871
  /**
872
+ * Scrub-thumbnail fidelity preset — the single per-camera selector bundling the
873
+ * sprite tile RESOLUTION + JPEG QUALITY the recorder packs timeline-scrub
874
+ * previews at. Five graduated steps; absent on a config = `standard` (the
875
+ * shipped default, matching `sheet-geometry`/`sheet-composer`).
876
+ *
877
+ * Existing sheets are IMMUTABLE — a changed preset applies to NEW windows only.
878
+ * Each window's index sidecar carries its own tile dims, so a camera whose
879
+ * preset changed over time renders every historical window at the dims it was
880
+ * written with.
881
+ */
882
+ var ScrubThumbnailPresetSchema = z.enum([
883
+ "minimal",
884
+ "low",
885
+ "standard",
886
+ "high",
887
+ "max"
888
+ ]);
889
+ /** The default preset when a config omits `scrubThumbnails`. */
890
+ var DEFAULT_SCRUB_THUMBNAIL_PRESET = "standard";
891
+ /**
892
+ * Preset → tile geometry + JPEG quality. Every step is 16:9; the graduated
893
+ * ladder trades sheet size (and remote fetch cost) for scrub crispness.
894
+ * `standard` matches the shipped `sheet-geometry`/`sheet-composer` defaults
895
+ * (480×270 q72), so an unset config is byte-identical to today. The map is
896
+ * strictly monotone in resolution AND quality across the ordered steps.
897
+ */
898
+ var SCRUB_THUMBNAIL_PRESETS = {
899
+ minimal: {
900
+ tileWidth: 240,
901
+ tileHeight: 135,
902
+ quality: 55
903
+ },
904
+ low: {
905
+ tileWidth: 320,
906
+ tileHeight: 180,
907
+ quality: 60
908
+ },
909
+ standard: {
910
+ tileWidth: 480,
911
+ tileHeight: 270,
912
+ quality: 72
913
+ },
914
+ high: {
915
+ tileWidth: 640,
916
+ tileHeight: 360,
917
+ quality: 80
918
+ },
919
+ max: {
920
+ tileWidth: 960,
921
+ tileHeight: 540,
922
+ quality: 85
923
+ }
924
+ };
925
+ /** Human labels for each preset (resolution-tagged), for settings UIs. */
926
+ var SCRUB_THUMBNAIL_PRESET_LABELS = {
927
+ minimal: "Minimal (240p)",
928
+ low: "Low (320p)",
929
+ standard: "Standard (480p)",
930
+ high: "High (640p)",
931
+ max: "Max (960p)"
932
+ };
933
+ /** Ordered low→high so a UI can render the ladder in graduated order. */
934
+ var SCRUB_THUMBNAIL_PRESET_ORDER = [
935
+ "minimal",
936
+ "low",
937
+ "standard",
938
+ "high",
939
+ "max"
940
+ ];
941
+ /**
942
+ * Resolve the geometry for a recording config's scrub-thumbnail preset,
943
+ * defaulting to `standard` when unset. Pure — no I/O.
944
+ */
945
+ function resolveScrubThumbnailGeometry(preset) {
946
+ return SCRUB_THUMBNAIL_PRESETS[preset ?? "standard"];
947
+ }
948
+ /**
872
949
  * The full per-camera recording intent — the wire shape of a RecordingTarget.
873
950
  *
874
951
  * `mode` is the authoritative storage choice; `schedule`/`triggers`/`pre`/`post`
@@ -905,7 +982,14 @@ var RecordingConfigSchema = z.object({
905
982
  * derived into bands once via `migrateConfigToBands`.
906
983
  */
907
984
  bands: z.array(RecordingBandSchema).optional(),
908
- retention: RecordingRetentionSchema.optional()
985
+ retention: RecordingRetentionSchema.optional(),
986
+ /**
987
+ * Per-camera scrub-thumbnail fidelity preset (resolution + JPEG quality for
988
+ * timeline-scrub sprite previews). Absent = `standard`. Applies to NEW
989
+ * windows only — existing sheets are immutable, and each window's index
990
+ * carries its own tile dims so mixed-preset history renders correctly.
991
+ */
992
+ scrubThumbnails: ScrubThumbnailPresetSchema.optional()
909
993
  });
910
994
  //#endregion
911
995
  //#region src/interfaces/recording-config-migrate.ts
@@ -6486,10 +6570,23 @@ var deviceDiscoveryCapability = {
6486
6570
  //#endregion
6487
6571
  //#region src/capabilities/doorbell.cap.ts
6488
6572
  /**
6489
- * Doorbell button cap. Installed on a `DeviceType.Button` accessory
6490
- * with `role: DeviceRole.Doorbell`. Emits an `onPressed` event every
6491
- * time the firmware pushes a ring; status tracks the last press and
6492
- * a pressCount since start (diagnostic).
6573
+ * Doorbell button cap. Two kinds of providers coexist behind this cap
6574
+ * name (same pattern as `snapshot`):
6575
+ *
6576
+ * - **Native** providers: registered per-device by device-driver
6577
+ * addons via `ctx.registerNativeCap` — either on a
6578
+ * `DeviceType.Button` accessory with `role: DeviceRole.Doorbell`,
6579
+ * or directly on the camera (Reolink registers at camera level).
6580
+ * Emits an `onPressed` event every time the firmware pushes a
6581
+ * ring; status tracks the last press and a pressCount since start
6582
+ * (diagnostic).
6583
+ *
6584
+ * - **Wrapper** provider: the `virtual-doorbell` system builtin
6585
+ * (`@camstack/system/builtins/doorbell`). Turns ANY binary-ish
6586
+ * device (contact / switch / event-emitter …) into a doorbell for
6587
+ * a camera. `defaultActive: false` — the operator explicitly binds
6588
+ * it per camera in the device-bindings UI, then picks the source
6589
+ * device + trigger in the per-device settings.
6493
6590
  *
6494
6591
  * The DeviceEventPropagator re-emits `onPressed` on the camera parent
6495
6592
  * — subscribers listening at the camera level receive ring events
@@ -6510,7 +6607,10 @@ var doorbellCapability = {
6510
6607
  scope: "device",
6511
6608
  deviceNative: true,
6512
6609
  mode: "singleton",
6513
- deviceTypes: [DeviceType.Button],
6610
+ kind: "wrapper",
6611
+ defaultActive: false,
6612
+ deviceTypes: [DeviceType.Button, DeviceType.Camera],
6613
+ exposesDeviceSettings: true,
6514
6614
  methods: {},
6515
6615
  events: {
6516
6616
  /**
@@ -16057,6 +16157,14 @@ var ConfigEntrySchema = z.object({
16057
16157
  value: z.unknown(),
16058
16158
  description: z.string().optional()
16059
16159
  });
16160
+ var DeviceLinkModeSchema = z.enum(["auto", "manual"]);
16161
+ /** One resolved linked device — the compact projection consumers need. */
16162
+ var LinkedDeviceSchema = z.object({
16163
+ deviceId: z.number(),
16164
+ name: z.string(),
16165
+ location: z.string().nullable(),
16166
+ features: z.array(z.string())
16167
+ });
16060
16168
  var SavedDeviceRowSchema = z.object({
16061
16169
  /** Numeric id reserved at allocateDeviceId time. */
16062
16170
  id: z.number(),
@@ -16164,6 +16272,7 @@ var deviceManagerCapability = {
16164
16272
  name: "device-manager",
16165
16273
  scope: "system",
16166
16274
  mode: "singleton",
16275
+ exposesDeviceSettings: true,
16167
16276
  methods: {
16168
16277
  /** Reserve (or re-resolve) a progressive numeric id for `(addonId, stableId)`.
16169
16278
  * Idempotent: returns the existing id if one is already persisted for the
@@ -16414,6 +16523,19 @@ var deviceManagerCapability = {
16414
16523
  getDevice: method(z.object({ deviceId: z.number() }), DeviceInfoSchema.nullable()),
16415
16524
  /** List children of a parent device (by parent numeric id). */
16416
16525
  getChildren: method(z.object({ parentDeviceId: z.number() }), z.array(DeviceInfoSchema)),
16526
+ /**
16527
+ * Resolve the devices LINKED to a camera — the single policy authority
16528
+ * both consumers call (viewer devices panel + pipeline-analytics event
16529
+ * kinds/ingest). Device-tree children are ALWAYS included; mode 'auto'
16530
+ * (default) adds every device sharing the camera's non-null `location`,
16531
+ * mode 'manual' adds the persisted manual list instead. Excludes the
16532
+ * camera itself; deduped. Configuration is standard per-device settings
16533
+ * (see the module docblock) — there are no bespoke link mutations.
16534
+ */
16535
+ getLinkedDevices: method(z.object({ deviceId: z.number() }), z.object({
16536
+ mode: DeviceLinkModeSchema,
16537
+ devices: z.array(LinkedDeviceSchema)
16538
+ })),
16417
16539
  /** Get stream sources for a camera device. */
16418
16540
  getStreamSources: method(z.object({ deviceId: z.number() }), z.array(StreamSourceEntrySchema)),
16419
16541
  /** Get config entries (key + value + description) for a device. */
@@ -18178,6 +18300,61 @@ var EventKindSchema = z.enum([
18178
18300
  "object",
18179
18301
  "audio"
18180
18302
  ]);
18303
+ /**
18304
+ * Spatial filter for `listTracks` — the rect + polygon variants of the shared
18305
+ * MaskShape vocabulary (see `mask-shape.ts`). Coordinates are NORMALIZED 0..1
18306
+ * of the camera frame (top-left origin), matching the drawing-plane editor.
18307
+ */
18308
+ var TrackZoneFilterSchema = z.discriminatedUnion("kind", [MaskRectShapeSchema, MaskPolygonShapeSchema]);
18309
+ /** Closed icon vocabulary so clients render a known glyph per kind. */
18310
+ var EventKindIconSchema = z.enum([
18311
+ "motion",
18312
+ "audio",
18313
+ "person",
18314
+ "vehicle",
18315
+ "animal",
18316
+ "door",
18317
+ "pir",
18318
+ "smoke",
18319
+ "water",
18320
+ "button",
18321
+ "generic"
18322
+ ]);
18323
+ var EventKindCategorySchema = z.enum([
18324
+ "motion",
18325
+ "audio",
18326
+ "detection",
18327
+ "sensor",
18328
+ "custom"
18329
+ ]);
18330
+ var EventKindDescriptorSchema = z.object({
18331
+ /** Stable kind id (e.g. 'motion', 'person', 'contact'). */
18332
+ kind: z.string(),
18333
+ label: z.string(),
18334
+ /** Hex color for timeline/legend rendering. */
18335
+ color: z.string(),
18336
+ icon: EventKindIconSchema,
18337
+ category: EventKindCategorySchema,
18338
+ /** Which cap + device contributes this kind. For built-ins the camera
18339
+ * itself; for sensor kinds the LINKED source device. */
18340
+ source: z.object({
18341
+ capName: z.string(),
18342
+ deviceId: z.number()
18343
+ })
18344
+ });
18345
+ var SensorEventSchema = z.object({
18346
+ id: z.string(),
18347
+ /** The CAMERA the event is attributed to (a sensor linked to N cameras
18348
+ * yields N rows, one per camera). */
18349
+ deviceId: z.number(),
18350
+ /** The linked sensor device whose state changed. */
18351
+ sourceDeviceId: z.number(),
18352
+ /** Event kind id — matches an `EventKindDescriptor.kind`. */
18353
+ kind: z.string(),
18354
+ /** Snapshot of the sensor cap's runtime-state slice at the change. */
18355
+ value: z.record(z.string(), z.unknown()).nullable(),
18356
+ timestamp: z.number()
18357
+ });
18181
18358
  var TrackPositionSchema = z.object({
18182
18359
  x: z.number(),
18183
18360
  y: z.number(),
@@ -18191,6 +18368,30 @@ var TrackSnapshotSchema = z.object({
18191
18368
  mediaKey: z.string()
18192
18369
  });
18193
18370
  /**
18371
+ * Normalized 0..1 trajectory envelope (min/max over every position bbox,
18372
+ * divided by the track's detection-frame dims), computed at persist time.
18373
+ * Absent when the frame dims were unknown when the track was persisted
18374
+ * (legacy rows / dims-less sources) and on active (in-RAM) tracks.
18375
+ */
18376
+ var TrackEnvelopeSchema = z.object({
18377
+ minX: z.number(),
18378
+ minY: z.number(),
18379
+ maxX: z.number(),
18380
+ maxY: z.number()
18381
+ });
18382
+ /**
18383
+ * Row projection for track list queries. `full` (default) returns the
18384
+ * complete Track including the frame-rate `positions[]` history and the
18385
+ * `snapshots[]` references — megabytes across a page of tracks. `slim`
18386
+ * keeps every scalar the list surfaces actually render (ids, class(es),
18387
+ * label / audioLabels / importance enrichment, firstSeen/lastSeen, state,
18388
+ * zonesVisited, bestEventId, envelope) and returns `positions` /
18389
+ * `snapshots` as EMPTY arrays — detail views re-fetch the full row via
18390
+ * `getTrack`. Mirrors the event-store `projection` convention
18391
+ * (`getObjectEvents` et al.).
18392
+ */
18393
+ var TrackProjectionSchema = z.enum(["full", "slim"]);
18394
+ /**
18194
18395
  * One audio-classification label heard on the track's camera while the
18195
18396
  * track was alive, aggregated per label. An "episode" is one persisted
18196
18397
  * audio event (the confident-classification path: score ≥ the device's
@@ -18241,7 +18442,11 @@ var TrackSchema = z.object({
18241
18442
  /** Audio-classification labels heard on the camera during the track's
18242
18443
  * life (score ≥ device `classificationMinScore`), aggregated per label.
18243
18444
  * Absent on legacy rows / tracks with no confident audio. */
18244
- audioLabels: z.array(TrackAudioLabelSchema).readonly().optional()
18445
+ audioLabels: z.array(TrackAudioLabelSchema).readonly().optional(),
18446
+ /** Normalized 0..1 trajectory envelope (see {@link TrackEnvelopeSchema}).
18447
+ * Populated from the persisted envelope columns on historical reads;
18448
+ * absent on legacy rows, dims-less tracks and active (in-RAM) tracks. */
18449
+ envelope: TrackEnvelopeSchema.optional()
18245
18450
  });
18246
18451
  var BaseEventFields = {
18247
18452
  id: z.string(),
@@ -18351,11 +18556,13 @@ var MediaFileSchema = z.object({
18351
18556
  sizeBytes: z.number(),
18352
18557
  timestamp: z.number()
18353
18558
  });
18559
+ var DEFAULT_EVENT_QUERY_LIMIT = 1e3;
18560
+ var MAX_EVENT_QUERY_LIMIT = 5e3;
18354
18561
  var DeviceEventQueryInput = z.object({
18355
18562
  deviceId: z.number(),
18356
18563
  since: z.number().optional(),
18357
18564
  until: z.number().optional(),
18358
- limit: z.number().int().min(1).max(5e3).default(1e3),
18565
+ limit: z.number().int().min(1).max(MAX_EVENT_QUERY_LIMIT).default(DEFAULT_EVENT_QUERY_LIMIT),
18359
18566
  /** `slim` drops heavy JSON fields (regions/bbox/zones) and carries an
18360
18567
  * optional `mediaUrl` (populated by B5). `full` (default) keeps today's
18361
18568
  * exact behaviour. Callers may omit this field — the store defaults to
@@ -18363,6 +18570,27 @@ var DeviceEventQueryInput = z.object({
18363
18570
  projection: z.enum(["full", "slim"]).optional()
18364
18571
  });
18365
18572
  var ObjectEventQueryInput = DeviceEventQueryInput.extend({ classFilter: z.string().optional() });
18573
+ var RecentTracksQueryInput = z.object({
18574
+ /** Devices to merge. An empty array yields `{ tracks: [], nextCursor: null }`. */
18575
+ deviceIds: z.array(z.number()),
18576
+ /** Window lower bound on `lastSeen` (inclusive). */
18577
+ since: z.number().optional(),
18578
+ /** Window upper bound on `lastSeen` (inclusive). */
18579
+ until: z.number().optional(),
18580
+ /** Page size. Default 200, max 1000. */
18581
+ limit: z.number().int().min(1).max(1e3).default(200),
18582
+ /** Opaque continuation cursor from a previous page's `nextCursor`.
18583
+ * Encodes the (lastSeen, trackId) sort position — treat as opaque. */
18584
+ cursor: z.string().optional(),
18585
+ /** See {@link TrackProjectionSchema}. Default `full`. */
18586
+ projection: TrackProjectionSchema.optional()
18587
+ });
18588
+ var RecentTracksPageSchema = z.object({
18589
+ /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
18590
+ tracks: z.array(TrackSchema).readonly(),
18591
+ /** Cursor for the next page, or null when this page is the last. */
18592
+ nextCursor: z.string().nullable()
18593
+ });
18366
18594
  var KeyEventQueryInput = z.object({
18367
18595
  deviceId: z.number(),
18368
18596
  /** Window lower bound (track firstSeen ≥ since). */
@@ -18459,8 +18687,27 @@ var pipelineAnalyticsCapability = {
18459
18687
  deviceId: z.number(),
18460
18688
  since: z.number().optional(),
18461
18689
  until: z.number().optional(),
18462
- limit: z.number().optional()
18690
+ limit: z.number().optional(),
18691
+ /** Spatial filter — only tracks whose trajectory intersects the zone
18692
+ * (normalized 0..1 rect or polygon). SQL-prefiltered on the persisted
18693
+ * envelope columns, then precisely tested per position. Tracks with
18694
+ * an unknown envelope (no frame dims at persist time) always match. */
18695
+ zone: TrackZoneFilterSchema.optional(),
18696
+ /** See {@link TrackProjectionSchema}. Default `full` (backward
18697
+ * compatible — omitting the field keeps today's exact behaviour). */
18698
+ projection: TrackProjectionSchema.optional()
18463
18699
  }), z.array(TrackSchema).readonly()),
18700
+ /**
18701
+ * Batched cluster-wide track listing — ONE call for the events page /
18702
+ * reel first paint instead of a per-camera `listTracks` fan-out. Merges
18703
+ * the persisted completed tracks of every requested device, sorted by
18704
+ * `lastSeen` DESC with a stable (lastSeen, trackId) cursor. Per-device
18705
+ * indexed pages (`idx_tracks_device_lastSeen`) are k-way merged
18706
+ * provider-side; `projection: 'slim'` drops the heavy `positions[]` /
18707
+ * `snapshots[]` JSON (returned as empty arrays). Active in-RAM tracks
18708
+ * are not included (same contract as `listTracks`).
18709
+ */
18710
+ listRecentTracks: method(RecentTracksQueryInput, RecentTracksPageSchema),
18464
18711
  clearTracks: method(z.object({ deviceId: z.number() }), z.void(), {
18465
18712
  kind: "mutation",
18466
18713
  auth: "admin"
@@ -18469,6 +18716,26 @@ var pipelineAnalyticsCapability = {
18469
18716
  getObjectEvents: method(ObjectEventQueryInput, z.array(ObjectEventSchema).readonly()),
18470
18717
  getAudioEvents: method(DeviceEventQueryInput, z.array(AudioEventSchema).readonly()),
18471
18718
  /**
18719
+ * Every event kind the device can produce: built-ins (motion + audio),
18720
+ * detection classes actually observed for the device (from the track
18721
+ * history), and sensor kinds contributed by LINKED devices (resolved via
18722
+ * `device-manager.getLinkedDevices`, mapped through `EVENT_KIND_BY_CAP`).
18723
+ */
18724
+ listEventKinds: method(z.object({ deviceId: z.number() }), z.array(EventKindDescriptorSchema).readonly()),
18725
+ /**
18726
+ * Sensor-event history for a camera: state changes of LINKED sensor
18727
+ * devices, attributed to the camera at ingest time (one row per linked
18728
+ * camera). Mirrors `getAudioEvents` query semantics; `kinds` narrows to
18729
+ * a kind subset.
18730
+ */
18731
+ getSensorEvents: method(z.object({
18732
+ deviceId: z.number(),
18733
+ since: z.number().optional(),
18734
+ until: z.number().optional(),
18735
+ kinds: z.array(z.string()).optional(),
18736
+ limit: z.number().int().min(1).max(MAX_EVENT_QUERY_LIMIT).default(DEFAULT_EVENT_QUERY_LIMIT)
18737
+ }), z.array(SensorEventSchema).readonly()),
18738
+ /**
18472
18739
  * Importance-ranked highlights for a device+window. Queries completed
18473
18740
  * tracks by (deviceId, firstSeen ∈ [since,until]), scores each (or reuses
18474
18741
  * the persisted score), filters by minImportance/classFilter, orders by
@@ -18614,6 +18881,56 @@ var pipelineAnalyticsCapability = {
18614
18881
  }
18615
18882
  };
18616
18883
  //#endregion
18884
+ //#region src/capabilities/sensor-event-kinds.ts
18885
+ /**
18886
+ * Sensor cap name → static event-kind descriptor. A linked device
18887
+ * contributes one entry per bound cap present in this map.
18888
+ */
18889
+ var EVENT_KIND_BY_CAP = {
18890
+ contact: {
18891
+ kind: "contact",
18892
+ label: "Contact",
18893
+ color: "#f59e0b",
18894
+ icon: "door",
18895
+ category: "sensor"
18896
+ },
18897
+ flood: {
18898
+ kind: "flood",
18899
+ label: "Water leak",
18900
+ color: "#3b82f6",
18901
+ icon: "water",
18902
+ category: "sensor"
18903
+ },
18904
+ gas: {
18905
+ kind: "gas",
18906
+ label: "Gas",
18907
+ color: "#ef4444",
18908
+ icon: "smoke",
18909
+ category: "sensor"
18910
+ },
18911
+ "carbon-monoxide": {
18912
+ kind: "carbon-monoxide",
18913
+ label: "Carbon monoxide",
18914
+ color: "#dc2626",
18915
+ icon: "smoke",
18916
+ category: "sensor"
18917
+ },
18918
+ "enum-sensor": {
18919
+ kind: "enum-sensor",
18920
+ label: "Sensor state",
18921
+ color: "#8b5cf6",
18922
+ icon: "generic",
18923
+ category: "sensor"
18924
+ },
18925
+ "event-emitter": {
18926
+ kind: "device-event",
18927
+ label: "Device event",
18928
+ color: "#10b981",
18929
+ icon: "button",
18930
+ category: "sensor"
18931
+ }
18932
+ };
18933
+ //#endregion
18617
18934
  //#region src/capabilities/pipeline-orchestrator.cap.ts
18618
18935
  var CameraPipelineConfigSchema = z.object({
18619
18936
  engine: PipelineEngineChoiceSchema.optional(),
@@ -23147,7 +23464,12 @@ var RecordingStorageUsageSchema = z.object({
23147
23464
  /**
23148
23465
  * Result of locating footage at a wall-clock instant for one device/profile.
23149
23466
  * `segment` carries the covering segment's window; `gap` reports the forward
23150
- * nearest covered edge (`null` past the end of footage / when none exists).
23467
+ * nearest covered edge (`null` past the end of footage / when none exists)
23468
+ * and the backward covered edge `prevEndMs` (exclusive end of the nearest
23469
+ * footage behind the epoch; `null` when none — optional so older providers
23470
+ * that omit it stay valid). `prevEndMs` lets a backward frame-step hop the
23471
+ * small inter-segment cracks (durMs under-covers the span to the next
23472
+ * startMs by ~11-17 ms) instead of no-opping at a segment head.
23151
23473
  */
23152
23474
  var LocateSegmentResultSchema = z.discriminatedUnion("kind", [z.object({
23153
23475
  kind: z.literal("segment"),
@@ -23156,7 +23478,8 @@ var LocateSegmentResultSchema = z.discriminatedUnion("kind", [z.object({
23156
23478
  bytes: z.number()
23157
23479
  }), z.object({
23158
23480
  kind: z.literal("gap"),
23159
- nearestEdgeMs: z.number().nullable()
23481
+ nearestEdgeMs: z.number().nullable(),
23482
+ prevEndMs: z.number().nullable().optional()
23160
23483
  })]);
23161
23484
  /** Raw bytes of one finalized footage segment (read off disk on the recording node). */
23162
23485
  var ReadSegmentBytesResultSchema = z.object({ data: z.instanceof(Uint8Array) });
@@ -26072,6 +26395,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
26072
26395
  addonId: null,
26073
26396
  access: "view"
26074
26397
  },
26398
+ "deviceManager.getLinkedDevices": {
26399
+ capName: "device-manager",
26400
+ capScope: "system",
26401
+ addonId: null,
26402
+ access: "view"
26403
+ },
26075
26404
  "deviceManager.getRoleDisplayDefaults": {
26076
26405
  capName: "device-manager",
26077
26406
  capScope: "system",
@@ -27626,6 +27955,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
27626
27955
  addonId: null,
27627
27956
  access: "view"
27628
27957
  },
27958
+ "pipelineAnalytics.getSensorEvents": {
27959
+ capName: "pipeline-analytics",
27960
+ capScope: "device",
27961
+ addonId: null,
27962
+ access: "view"
27963
+ },
27629
27964
  "pipelineAnalytics.getTrack": {
27630
27965
  capName: "pipeline-analytics",
27631
27966
  capScope: "device",
@@ -27638,6 +27973,18 @@ var METHOD_ACCESS_MAP = Object.freeze({
27638
27973
  addonId: null,
27639
27974
  access: "view"
27640
27975
  },
27976
+ "pipelineAnalytics.listEventKinds": {
27977
+ capName: "pipeline-analytics",
27978
+ capScope: "device",
27979
+ addonId: null,
27980
+ access: "view"
27981
+ },
27982
+ "pipelineAnalytics.listRecentTracks": {
27983
+ capName: "pipeline-analytics",
27984
+ capScope: "device",
27985
+ addonId: null,
27986
+ access: "view"
27987
+ },
27641
27988
  "pipelineAnalytics.listTracks": {
27642
27989
  capName: "pipeline-analytics",
27643
27990
  capScope: "device",
@@ -30396,4 +30743,4 @@ function scoreRuntimes(hw) {
30396
30743
  };
30397
30744
  }
30398
30745
  //#endregion
30399
- export { ACCESSORY_LABEL, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, AUDIO_BACKEND_CHOICES, AUDIO_MACRO_LABELS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, ApiKeyRecordSchema, ApiKeySummarySchema, ArchiveEntrySchema, ArchiveManifestSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AuthResultSchema, AutoUpdateSettingsSchema, AutomationControlStatusSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BATTERY_DEVICE_PROFILE, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, 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, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, COCO_80_LABELS, COCO_TO_MACRO, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusSchema, CameraStreamSchema, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CarbonMonoxideStatusSchema, ChargingStatus, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipPlaybackSchema, ClipSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectivityStatusSchema, ConsumableItemSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoverStateSchema, CoverStatusSchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, CreateIntegrationInputSchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, CreateUserInputSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATAPLANE_SECRET_HEADER, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_FEATURES, DEFAULT_RETENTION, DEVICE_CAP_NAMES, DEVICE_PROFILES, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DEVICE_TYPE_INFO, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DecodedAudioChunkSchema, DecodedFrameSchema, DecoderSessionConfigSchema, DecoderStatsSchema, DeleteIntegrationResultSchema, DetectionSourceSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceNetworkStatsSchema, DeviceRole, DeviceRuntimeState, DeviceStatusSchema, DeviceType, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENT_PAD_MS, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, ElementConfigStore, EmbeddingInfoSchema, EmbeddingResultSchema, EncodeProfileSchema, EncodedPacketSchema, EnrichedWidgetMetadataSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, EventCategory, EventEmitterStatusSchema, EventFireSchema, EventItemSchema, EventKindSchema, EventSourceType, ExportSetupFieldSchema, ExportSetupSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionEvalError, ExpressionParseError, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, GasStatusSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, HF_BASE_URL, HF_REPO, HWACCEL_OPTIONS, HealthStatusSchema, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, KeyEventSchema, LabelDefinitionSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmUsageRollupSchema, LlmUsageSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, LoginMethodContributionSchema, LoginStageEnum, MACRO_LABELS, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, METHOD_ACCESS_MAP, MODEL_FORMATS, ManagedModelCatalogEntrySchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, NativeDetectionSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NotificationActionSchema, NotificationFormatSchema, NotificationHistoryEntrySchema, NotificationRuleSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OauthIntegrationDescriptorSchema, ObjectEventSchema, OrchestratorMetricsSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdStatusSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PROVIDER_KIND_CAP_NAMES, PYTHON_SCRIPT, PackageUpdateSchema, PackageVersionInfoSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PolygonPointSchema, PowerMeterStatusSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzMoveCommandSchema, PtzPositionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECOGNITION_TYPES, RESERVED_BINDING_NAMES, RUNTIME_DEFAULTS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadSegmentBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingModeSchema, RecordingRangeSchema, RecordingRetentionSchema, RecordingRuleSchema, RecordingScheduleSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RedirectLoginMethodSchema, RenderedAsSchema, ReportMotionInputSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCOPE_PRESETS, SOURCE_INFO_METADATA_KEY, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, SceneCheckSchema, SceneConditionSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusSchema, SceneReferenceSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageLocationDeclarationSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, 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, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, TIMEZONES, TamperStatusSchema, TankStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestResultSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackSchema, TrackStateSchema, TrackedDetectionSchema, TurnServerSchema, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VibrationStatusSchema, VideoEncodeSchema, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, YAMNET_TO_MACRO, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, advancedNotifierCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, applyTransform, asBoolean, asJsonArray, asJsonObject, asNumber, asString, audioAnalysisCapability, audioAnalyzerCapability, audioCodecCapability, audioMetricsCapability, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildModelVariantGroups, buildStreamParamsConfigSchema, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, carbonMonoxideCapability, cellsToRects, classifyStream, classifyStreams, climateControlCapability, collectHydratedFieldEntries, collectHydratedFieldValues, colorCapability, compileExpression, compileExpressionSafe, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, cosineSimilarity, coverCapability, createDeviceProxy, createDurableState, createEvent, createExpressionScope, createLazyTrpcSource, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dayNightCapability, decoderCapability, defaultDeviceFor, defineCustomActions, describeModelVariant, detectionPipelineCapability, deviceAdoptionCapability, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceStateCapability, deviceStatusCapability, doorbellCapability, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, enumSensorCapability, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateLinkExpression, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, expandCapMethods, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, formatForBackend, formatForRuntime, frameworkSwapConfirmSchema, frameworkSwapPackageSchema, gasCapability, getAudioMacroClassIds, getByPath, getCapsByProviderKind, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, integrationsCapability, intercomCapability, isAgentOnlyPlacement, isArrayOutputSchema, isCollectionArrayMethod, isDeployableToAgent, isDeviceConfigCap, isEvent, isObjectInput, isVoidInput, jobKindSchema, kebabToCamel, lawnMowerControlCapability, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, llmCapability, llmRuntimeCapability, localNetworkCapability, locationSimilarity, lockControlCapability, logDestinationCapability, loginMethodCapability, looseSchema, makeProfileBrokerId, makeSourceBrokerId, mapAudioLabelToMacro, markdownToHtmlLite, markdownToText, maskUrlCredentials, mediaPlayerCapability, mergeSourceInfo, meshNetworkCapability, method, metricsProviderCapability, migrateConfigToBands, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, networkAccessCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeUnit, notificationOutputCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, objectInputDeclaresAddonId, osdCapability, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProfileBrokerId, parseStreamParamsFormPatch, pendingFrameworkSwapSchema, petFeederCapability, pickPreferredRtspEntry, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readNodePin, readinessKey, rebootCapability, recordingCapability, rectsToCells, requiresPython, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveCapMount, resolveDetectionRuntime, resolveDeviceProfile, resolveFormat, resolveHydratedFieldValue, resolveModelFormat, resolveRunnerId, resolveVariantModelId, runInferenceStep, runtimeDevices, sceneMonitorCapability, scopeKey, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, serverManagementCapability, setByPath, settingsStoreCapability, sleep, sleepCancellable, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, storageCapability, storageEvictableCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, supportedRuntimes, switchCapability, synthesizeSourceInfo, systemCapability, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, textToHtml, toDeviceSummary, toExpressionValue, toStreamSourceEntry, toastCapability, tokenize, transcodeBody, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, updateCapability, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateExpressionSource, valveCapability, vibrationCapability, videoclipsCapability, viewerUiCapability, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
30746
+ export { ACCESSORY_LABEL, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, AUDIO_BACKEND_CHOICES, AUDIO_MACRO_LABELS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, ApiKeyRecordSchema, ApiKeySummarySchema, ArchiveEntrySchema, ArchiveManifestSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AuthResultSchema, AutoUpdateSettingsSchema, AutomationControlStatusSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BATTERY_DEVICE_PROFILE, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, 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, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, COCO_80_LABELS, COCO_TO_MACRO, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusSchema, CameraStreamSchema, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CarbonMonoxideStatusSchema, ChargingStatus, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipPlaybackSchema, ClipSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectivityStatusSchema, ConsumableItemSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoverStateSchema, CoverStatusSchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, CreateIntegrationInputSchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, CreateUserInputSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATAPLANE_SECRET_HEADER, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_FEATURES, DEFAULT_RETENTION, DEFAULT_SCRUB_THUMBNAIL_PRESET, DEVICE_CAP_NAMES, DEVICE_PROFILES, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DEVICE_TYPE_INFO, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DecodedAudioChunkSchema, DecodedFrameSchema, DecoderSessionConfigSchema, DecoderStatsSchema, DeleteIntegrationResultSchema, DetectionSourceSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceLinkModeSchema, DeviceNetworkStatsSchema, DeviceRole, DeviceRuntimeState, DeviceStatusSchema, DeviceType, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENT_KIND_BY_CAP, EVENT_PAD_MS, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, ElementConfigStore, EmbeddingInfoSchema, EmbeddingResultSchema, EncodeProfileSchema, EncodedPacketSchema, EnrichedWidgetMetadataSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, EventCategory, EventEmitterStatusSchema, EventFireSchema, EventItemSchema, EventKindCategorySchema, EventKindDescriptorSchema, EventKindIconSchema, EventKindSchema, EventSourceType, ExportSetupFieldSchema, ExportSetupSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionEvalError, ExpressionParseError, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, GasStatusSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, HF_BASE_URL, HF_REPO, HWACCEL_OPTIONS, HealthStatusSchema, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, KeyEventSchema, LabelDefinitionSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LinkedDeviceSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmUsageRollupSchema, LlmUsageSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, LoginMethodContributionSchema, LoginStageEnum, MACRO_LABELS, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, METHOD_ACCESS_MAP, MODEL_FORMATS, ManagedModelCatalogEntrySchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, NativeDetectionSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NotificationActionSchema, NotificationFormatSchema, NotificationHistoryEntrySchema, NotificationRuleSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OauthIntegrationDescriptorSchema, ObjectEventSchema, OrchestratorMetricsSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdStatusSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PROVIDER_KIND_CAP_NAMES, PYTHON_SCRIPT, PackageUpdateSchema, PackageVersionInfoSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PolygonPointSchema, PowerMeterStatusSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzMoveCommandSchema, PtzPositionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECOGNITION_TYPES, RESERVED_BINDING_NAMES, RUNTIME_DEFAULTS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadSegmentBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecentTracksPageSchema, RecentTracksQueryInput, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingModeSchema, RecordingRangeSchema, RecordingRetentionSchema, RecordingRuleSchema, RecordingScheduleSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RedirectLoginMethodSchema, RenderedAsSchema, ReportMotionInputSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCOPE_PRESETS, SCRUB_THUMBNAIL_PRESETS, SCRUB_THUMBNAIL_PRESET_LABELS, SCRUB_THUMBNAIL_PRESET_ORDER, SOURCE_INFO_METADATA_KEY, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, SceneCheckSchema, SceneConditionSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusSchema, SceneReferenceSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, ScrubThumbnailPresetSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageLocationDeclarationSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, 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, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, TIMEZONES, TamperStatusSchema, TankStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestResultSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackEnvelopeSchema, TrackProjectionSchema, TrackSchema, TrackStateSchema, TrackZoneFilterSchema, TrackedDetectionSchema, TurnServerSchema, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VibrationStatusSchema, VideoEncodeSchema, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, YAMNET_TO_MACRO, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, advancedNotifierCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, applyTransform, asBoolean, asJsonArray, asJsonObject, asNumber, asString, audioAnalysisCapability, audioAnalyzerCapability, audioCodecCapability, audioMetricsCapability, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildModelVariantGroups, buildStreamParamsConfigSchema, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, carbonMonoxideCapability, cellsToRects, classifyStream, classifyStreams, climateControlCapability, collectHydratedFieldEntries, collectHydratedFieldValues, colorCapability, compileExpression, compileExpressionSafe, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, cosineSimilarity, coverCapability, createDeviceProxy, createDurableState, createEvent, createExpressionScope, createLazyTrpcSource, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dayNightCapability, decoderCapability, defaultDeviceFor, defineCustomActions, describeModelVariant, detectionPipelineCapability, deviceAdoptionCapability, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceStateCapability, deviceStatusCapability, doorbellCapability, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, enumSensorCapability, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateLinkExpression, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, expandCapMethods, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, formatForBackend, formatForRuntime, frameworkSwapConfirmSchema, frameworkSwapPackageSchema, gasCapability, getAudioMacroClassIds, getByPath, getCapsByProviderKind, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, integrationsCapability, intercomCapability, isAgentOnlyPlacement, isArrayOutputSchema, isCollectionArrayMethod, isDeployableToAgent, isDeviceConfigCap, isEvent, isObjectInput, isVoidInput, jobKindSchema, kebabToCamel, lawnMowerControlCapability, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, llmCapability, llmRuntimeCapability, localNetworkCapability, locationSimilarity, lockControlCapability, logDestinationCapability, loginMethodCapability, looseSchema, makeProfileBrokerId, makeSourceBrokerId, mapAudioLabelToMacro, markdownToHtmlLite, markdownToText, maskUrlCredentials, mediaPlayerCapability, mergeSourceInfo, meshNetworkCapability, method, metricsProviderCapability, migrateConfigToBands, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, networkAccessCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeUnit, notificationOutputCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, objectInputDeclaresAddonId, osdCapability, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProfileBrokerId, parseStreamParamsFormPatch, pendingFrameworkSwapSchema, petFeederCapability, pickPreferredRtspEntry, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readNodePin, readinessKey, rebootCapability, recordingCapability, rectsToCells, requiresPython, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveCapMount, resolveDetectionRuntime, resolveDeviceProfile, resolveFormat, resolveHydratedFieldValue, resolveModelFormat, resolveRunnerId, resolveScrubThumbnailGeometry, resolveVariantModelId, runInferenceStep, runtimeDevices, sceneMonitorCapability, scopeKey, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, serverManagementCapability, setByPath, settingsStoreCapability, sleep, sleepCancellable, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, storageCapability, storageEvictableCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, supportedRuntimes, switchCapability, synthesizeSourceInfo, systemCapability, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, textToHtml, toDeviceSummary, toExpressionValue, toStreamSourceEntry, toastCapability, tokenize, transcodeBody, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, updateCapability, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateExpressionSource, valveCapability, vibrationCapability, videoclipsCapability, viewerUiCapability, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
@@ -694,6 +694,22 @@ export interface EventCatalog {
694
694
  deletedCount?: number;
695
695
  freedMB?: number;
696
696
  };
697
+ /**
698
+ * A runner-sampled scrub thumbnail off the already-decoded detection frame
699
+ * (~1 JPEG / 5 s / camera; zero extra decode). The recorder (single
700
+ * designated node) subscribes, accumulates a 5-minute window into ONE sprite
701
+ * sheet + index, and serves it write-once. Cross-node this rides the event
702
+ * bus (Moleculer broadcast) exactly like other telemetry — a lost thumb is a
703
+ * scrub gap the keyframe backfill fills, so RPC delivery is not required (D8).
704
+ * `jpeg` is a ~320px-wide JPEG (Uint8Array survives msgpack over UDS + Moleculer).
705
+ */
706
+ 'recording.thumb-sampled': {
707
+ readonly deviceId: number;
708
+ readonly capturedAt: number;
709
+ readonly width: number;
710
+ readonly height: number;
711
+ readonly jpeg: Uint8Array;
712
+ };
697
713
  'detection.event': {
698
714
  deviceId: number;
699
715
  detections?: unknown[];
@@ -60,11 +60,14 @@ export interface IReadinessRegistry<TCapName extends string = string> {
60
60
  onReadyState(capName: TCapName, scope: ReadinessScope, handler: IReadinessHandler): () => void;
61
61
  /**
62
62
  * Hydrate the snapshot from an authoritative source (typically the
63
- * hub's `$readiness.getSnapshot` action). Entries already present
64
- * locally are skipped live deltas always take precedence over the
65
- * snapshot. For each newly added entry a one-shot transition is
66
- * dispatched to matching subscriptions so pending `awaitReady`
67
- * callers unblock without waiting for a fresh delta.
63
+ * hub's `$readiness.getSnapshot` action) a RECONCILE, not an
64
+ * add-only merge. Unseen keys are added; already-seen keys are
65
+ * ADVANCED when the authoritative record carries a new generation or
66
+ * a forward same-generation state move (starting → ready → down).
67
+ * Same-generation regressions and records this process is itself
68
+ * authoritative for are skipped. For each applied entry a one-shot
69
+ * transition is dispatched to matching subscriptions so pending
70
+ * `awaitReady` callers unblock without waiting for a fresh delta.
68
71
  */
69
72
  hydrate(records: readonly IReadinessRegistryRecord[]): void;
70
73
  /**