@camstack/addon-osd-manager 0.1.14 → 0.1.16

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.
Files changed (18) hide show
  1. package/dist/{MotionZonesSettings-DCM0cPHY.mjs → MotionZonesSettings-DDk0KstC.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-YAnUDIxD.mjs → PrivacyMaskSettings-CsXnMGKT.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-B1mssJov.mjs → SceneMonitorEditor-8C9vWyuL.mjs} +3 -3
  4. package/dist/_stub.js +9 -9
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-r9x9uc5A.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-Yo6BXk0X.mjs} +4 -4
  6. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C9zRtW6C.mjs +26 -0
  7. package/dist/{hostInit-9m3fJWve.mjs → hostInit-Df_NHE4W.mjs} +3 -3
  8. package/dist/index.js +250 -21
  9. package/dist/index.mjs +250 -21
  10. package/dist/{player-overlays-CU7W6fE3.mjs → player-overlays-C5TVZDIL.mjs} +1 -1
  11. package/dist/remoteEntry.js +1 -1
  12. package/dist/{responsive-BGccn_P-.mjs → responsive-B6685e2G.mjs} +1 -1
  13. package/dist/{square-DOT3IAcw.mjs → square-ezK9FWt6.mjs} +1 -1
  14. package/dist/{trash-2-BJHZ3GWb.mjs → trash-2-BoPZpFI0.mjs} +1 -1
  15. package/dist/{use-device-snapshot-DkwmPT9O.mjs → use-device-snapshot-BDmozw2y.mjs} +1 -1
  16. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-DjjOoJbP.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CsJNPlNP.mjs} +1 -1
  17. package/package.json +1 -1
  18. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Bg1FVGv2.mjs +0 -26
@@ -1,6 +1,6 @@
1
1
  import { c as e, h as t, m as n, p as r, u as i, y as a } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
2
- import { a as o, n as s, r as c, s as l, t as u } from "./responsive-BGccn_P-.mjs";
3
- import { n as d, t as f } from "./player-overlays-CU7W6fE3.mjs";
2
+ import { a as o, n as s, r as c, s as l, t as u } from "./responsive-B6685e2G.mjs";
3
+ import { n as d, t as f } from "./player-overlays-C5TVZDIL.mjs";
4
4
  import { n as p, r as m, t as ee } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
5
5
  import { MaskShapeCanvas as h } from "./MaskShapeCanvas-BEVxAjNq.mjs";
6
6
  var g = l("grid-2x2", [
@@ -1,8 +1,8 @@
1
1
  import { c as e, h as t, m as n, p as r, u as i, y as a } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
2
- import { a as ee, n as te, r as ne, s as o, t as s } from "./responsive-BGccn_P-.mjs";
3
- import { n as re, t as c } from "./player-overlays-CU7W6fE3.mjs";
4
- import { n as l, r as ie, t as ae } from "./square-DOT3IAcw.mjs";
5
- import { t as oe } from "./trash-2-BJHZ3GWb.mjs";
2
+ import { a as ee, n as te, r as ne, s as o, t as s } from "./responsive-B6685e2G.mjs";
3
+ import { n as re, t as c } from "./player-overlays-C5TVZDIL.mjs";
4
+ import { n as l, r as ie, t as ae } from "./square-ezK9FWt6.mjs";
5
+ import { t as oe } from "./trash-2-BoPZpFI0.mjs";
6
6
  import { n as u, r as d, t as se } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
7
7
  import { MaskShapeCanvas as ce } from "./MaskShapeCanvas-BEVxAjNq.mjs";
8
8
  var le = o("hexagon", [["path", {
@@ -1,7 +1,7 @@
1
1
  import { c as e, h as t, m as n, p as r, u as i, y as a } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
2
- import { a as o, i as s, n as c, r as l, s as u, t as d } from "./responsive-BGccn_P-.mjs";
3
- import { a as f, c as p, i as ee, l as m, n as h, o as g, r as _, s as v, t as y, u as b } from "./use-device-snapshot-DkwmPT9O.mjs";
4
- import { t as x } from "./trash-2-BJHZ3GWb.mjs";
2
+ import { a as o, i as s, n as c, r as l, s as u, t as d } from "./responsive-B6685e2G.mjs";
3
+ import { a as f, c as p, i as ee, l as m, n as h, o as g, r as _, s as v, t as y, u as b } from "./use-device-snapshot-BDmozw2y.mjs";
4
+ import { t as x } from "./trash-2-BoPZpFI0.mjs";
5
5
  import { n as S, r as C, t as w } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
6
6
  import { MaskShapeCanvas as te } from "./MaskShapeCanvas-BEVxAjNq.mjs";
7
7
  var ne = u("settings-2", [
package/dist/_stub.js CHANGED
@@ -1,18 +1,18 @@
1
1
  import "./virtualExposes-BgZ5Cn7S.mjs";
2
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-DjjOoJbP.mjs";
2
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CsJNPlNP.mjs";
3
3
  import { _ as e, c as t, d as n, h as r, i, l as a, m as o, n as s, p as c, r as l, t as u, u as d, y as f } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
4
- import { i as p, o as m, r as h, s as g } from "./responsive-BGccn_P-.mjs";
5
- import { c as _, l as v, u as y } from "./use-device-snapshot-DkwmPT9O.mjs";
6
- import { r as b } from "./player-overlays-CU7W6fE3.mjs";
7
- import { r as ee, t as x } from "./square-DOT3IAcw.mjs";
8
- import { t as te } from "./trash-2-BJHZ3GWb.mjs";
4
+ import { i as p, o as m, r as h, s as g } from "./responsive-B6685e2G.mjs";
5
+ import { c as _, l as v, u as y } from "./use-device-snapshot-BDmozw2y.mjs";
6
+ import { r as b } from "./player-overlays-C5TVZDIL.mjs";
7
+ import { r as ee, t as x } from "./square-ezK9FWt6.mjs";
8
+ import { t as te } from "./trash-2-BoPZpFI0.mjs";
9
9
  import { t as S } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.js-BpP33rwB.mjs";
10
10
  import { n as C, r as w, t as T } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
11
11
  import "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-DmzTg7Gl.mjs";
12
12
  import "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_2_dom__loadShare__.js-C0K4h_0e.mjs";
13
13
  import "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-Dhy3m6Ij.mjs";
14
14
  import "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_trpc_mf_1_client__loadShare__.js-C7omKvJr.mjs";
15
- import { a as E, c as D, d as ne, f as re, h as ie, i as O, l as ae, m as oe, n as k, o as A, p as se, r as ce, s as le, t as j } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Bg1FVGv2.mjs";
15
+ import { a as E, c as D, d as ne, f as re, h as ie, i as O, l as ae, m as oe, n as k, o as A, p as se, r as ce, s as le, t as j } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C9zRtW6C.mjs";
16
16
  import "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_sdk__loadShare__.js-plrwWXXt.mjs";
17
17
  var M = g("activity", [["path", {
18
18
  d: "M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",
@@ -3473,7 +3473,7 @@ function Ur({ message: e, title: t, onRetry: n, action: r, variant: i = "danger"
3473
3473
  }
3474
3474
  //#endregion
3475
3475
  //#region ../../node_modules/qrcode.react/lib/esm/index.js
3476
- f(), f(), f(), f(), f(), i(() => import("./MotionZonesSettings-DCM0cPHY.mjs").then((e) => ({ default: e.MotionZonesSettings }))), i(() => import("./PrivacyMaskSettings-YAnUDIxD.mjs").then((e) => ({ default: e.PrivacyMaskSettings }))), f(), f();
3476
+ f(), f(), f(), f(), f(), i(() => import("./MotionZonesSettings-DDk0KstC.mjs").then((e) => ({ default: e.MotionZonesSettings }))), i(() => import("./PrivacyMaskSettings-CsXnMGKT.mjs").then((e) => ({ default: e.PrivacyMaskSettings }))), f(), f();
3477
3477
  var Wr = Object.defineProperty, Gr = Object.getOwnPropertySymbols, Kr = Object.prototype.hasOwnProperty, qr = Object.prototype.propertyIsEnumerable, Jr = (e, t, n) => t in e ? Wr(e, t, {
3478
3478
  enumerable: !0,
3479
3479
  configurable: !0,
@@ -15701,7 +15701,7 @@ var F_ = class {
15701
15701
  } catch {}
15702
15702
  }
15703
15703
  };
15704
- f(), new F_(), f(), f(), f(), f(), f(), i(() => import("./MaskShapeCanvas-BEVxAjNq.mjs").then((e) => ({ default: e.MaskShapeCanvas }))), i(() => import("./MotionZonesSettings-DCM0cPHY.mjs").then((e) => ({ default: e.MotionZonesSettings }))), i(() => import("./SceneMonitorEditor-B1mssJov.mjs").then((e) => ({ default: e.SceneMonitorEditor }))), i(() => import("./PrivacyMaskSettings-YAnUDIxD.mjs").then((e) => ({ default: e.PrivacyMaskSettings })));
15704
+ f(), new F_(), f(), f(), f(), f(), f(), i(() => import("./MaskShapeCanvas-BEVxAjNq.mjs").then((e) => ({ default: e.MaskShapeCanvas }))), i(() => import("./MotionZonesSettings-DDk0KstC.mjs").then((e) => ({ default: e.MotionZonesSettings }))), i(() => import("./SceneMonitorEditor-8C9vWyuL.mjs").then((e) => ({ default: e.SceneMonitorEditor }))), i(() => import("./PrivacyMaskSettings-CsXnMGKT.mjs").then((e) => ({ default: e.PrivacyMaskSettings })));
15705
15705
  //#endregion
15706
15706
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
15707
15707
  var I_ = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), L_ = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), R_ = (e) => {
@@ -1,9 +1,9 @@
1
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-DjjOoJbP.mjs";
1
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CsJNPlNP.mjs";
2
2
  //#region \0virtual:mf-localSharedImportMap:__mfe_internal__addon_osd_manager_page
3
3
  var e = {
4
4
  "@camstack/sdk": {
5
5
  name: "@camstack/sdk",
6
- version: "1.2.24",
6
+ version: "1.2.25",
7
7
  scope: ["default"],
8
8
  loaded: !1,
9
9
  from: "addon_osd_manager_page",
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.88",
21
+ version: "1.2.90",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_osd_manager_page",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.60",
36
+ version: "1.2.62",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_osd_manager_page",
@@ -0,0 +1,26 @@
1
+ //#region \0virtual:mf:__mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js
2
+ var e = "__mf_init__virtual:mf:__mfe_internal__addon_osd_manager_page__mf_v__runtimeInit__mf_v__.js__", t = globalThis[e];
3
+ if (!t) {
4
+ let n, r, i = new Promise((e, t) => {
5
+ n = e, r = t;
6
+ });
7
+ t = globalThis[e] = {
8
+ initPromise: i,
9
+ initResolve: n,
10
+ initReject: r
11
+ };
12
+ }
13
+ var n = t.initPromise, r = "__mf_module_cache__";
14
+ globalThis[r] ||= {
15
+ share: {},
16
+ remote: {}
17
+ }, globalThis[r].share ||= {}, globalThis[r].remote ||= {};
18
+ var i = globalThis[r], a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x = (e) => {
19
+ e.ACCESSORY_LABEL, e.ACCESS_ROLES, e.ALEXA_EGRESS_PROFILE, a = e.ALL_CAPABILITY_DEFINITIONS, e.APPLE_SA_TO_MACRO, e.AUDIO_ANALYSIS_CAP_NAME, e.AUDIO_BACKEND_CHOICES, e.AUDIO_MACRO_LABELS, e.AUDIO_PRESETS, e.AccessoriesStatusSchema, e.AccessoryKind, e.AddBrokerInputSchema, e.AddonAutoUpdateSchema, e.AddonListItemSchema, e.AddonPageDeclarationSchema, e.AddonPageInfoSchema, e.AdoptionAdoptInputSchema, e.AdoptionAdoptResultSchema, e.AdoptionCandidateResultSchema, e.AdoptionFilterSchema, e.AdoptionGetCandidateInputSchema, e.AdoptionJobSchema, e.AdoptionJobStateSchema, e.AdoptionListCandidatesInputSchema, e.AdoptionListCandidatesOutputSchema, e.AdoptionOutcomeSchema, e.AdoptionReleaseInputSchema, e.AdoptionStatusSchema, e.AgentLoadSummarySchema, e.AirQualitySensorStatusSchema, e.AlarmArmModeSchema, e.AlarmPanelStatusSchema, o = e.AlarmStateSchema, e.AlertSchema, e.AlertSeveritySchema, e.AlertSourceSchema, e.AlertStatusSchema, e.AmbientLightSensorStatusSchema, e.ApiKeyRecordSchema, e.ApiKeySummarySchema, e.ArchiveEntrySchema, e.ArchiveManifestSchema, e.AttachmentMediaTypeSchema, e.AttachmentSchema, e.AudioAnalysisResultSchema, e.AudioAnalysisSettingsSchema, e.AudioChunkInputSchema, e.AudioClassSummarySchema, e.AudioClassificationLabelSchema, e.AudioClassificationResultSchema, e.AudioCodecInfoSchema, e.AudioDecodeSessionConfigSchema, e.AudioEncodeSchema, e.AudioEncodeSessionConfigSchema, e.AudioEncodedChunkSchema, e.AudioEventSchema, e.AudioLevelSchema, e.AudioMetricsHistoryPointSchema, e.AudioMetricsHistorySchema, e.AudioMetricsSnapshotSchema, e.AudioPcmChunkSchema, e.AuthResultSchema, e.AutoUpdateSettingsSchema, e.AutomationActionSchema, e.AutomationConditionOperatorSchema, e.AutomationConditionSchema, e.AutomationControlStatusSchema, e.AutomationRecipeSchema, e.AutomationTriggerSchema, e.AvailableIntegrationTypeSchema, e.BACKEND_TO_FORMAT, e.BASE_LIVE_EGRESS_PROFILE, e.BATTERY_DEVICE_PROFILE, e.BATTERY_UNREACHABLE_AFTER_MS, e.BOOT_RECOVERY_BACKOFF_MS, e.BacklightModeSchema, e.BackupDestinationInfoSchema, e.BackupEntrySchema, e.BaseAddon, e.BaseDevice, e.BaseDeviceProvider, e.BatteryStatusSchema, e.BinaryStatusSchema, e.BoundingBoxSchema, e.BrightnessStatusSchema, e.BrokerAddInputSchema, e.BrokerAudioClientSchema, e.BrokerClientsSchema, e.BrokerConnectionDetailsSchema, e.BrokerConsumerAttributionSchema, e.BrokerConsumerKindSchema, e.BrokerDecodedClientSchema, e.BrokerEncodedClientSchema, e.BrokerGetStateInputSchema, e.BrokerInfoSchema, e.BrokerProviderInfoSchema, e.BrokerPublishInputSchema, e.BrokerRegistryStatusSchema, e.BrokerRtspClientSchema, e.BrokerStatsSchema, e.BrokerStatusEnum, e.BrokerStatusSchema, e.BrokerSubscribeInputSchema, e.BrokerSubscribeResultSchema, e.BrokerTestConnectionResultSchema, e.BrokerUnsubscribeInputSchema, e.CAMERA_SWITCH_CATALOG, e.CAMERA_SWITCH_ORDER, e.CAM_PROFILE_ORDER, e.CAPABILITY_NAMES, e.CAPABILITY_ROUTER_KEYS, e.CAP_NAMES_WITH_STATUS, e.CAP_NODE_PIN_CONTEXT_KEY, e.CAP_PROVIDER_KIND_MAP, e.COCO_80_LABELS, e.COCO_TO_MACRO, e.CONNECTION_TEST_TIMEOUT_MS, e.CORE_BLOCKS_ADDON_ID, e.CORE_BLOCK_ADDON_PREFIX, e.CamProfileSchema, e.CamStreamDescriptorSchema, e.CamStreamKindSchema, e.CamStreamResolutionSchema, e.CameraAssignmentStatusSchema, e.CameraAudioStatusSchema, e.CameraBrokerProfileSchema, e.CameraBrokerStatusSchema, e.CameraCredentialsSchema, e.CameraCredentialsStatusSchema, e.CameraDecoderShmSchema, e.CameraDecoderStatusSchema, e.CameraDetectionPhaseSchema, e.CameraDetectionProvisioningSchema, e.CameraDetectionProvisioningStateSchema, e.CameraDetectionStatusSchema, e.CameraMetricsSchema, e.CameraMetricsWithDeviceIdSchema, e.CameraMotionStatusSchema, e.CameraRecordingModeSchema, e.CameraRecordingStatusSchema, e.CameraSourceStatusSchema, e.CameraSourceStreamSchema, e.CameraStatusDegradationReasonSchema, e.CameraStatusDegradationSchema, e.CameraStatusSchema, e.CameraStatusStageSchema, e.CameraStreamSchema, e.CameraSwitchAuthoritySchema, e.CameraSwitchGroupSchema, e.CameraSwitchIdSchema, e.CameraSwitchSchema, e.CameraSwitchUnavailableReasonSchema, e.CandidateQueryFilterSchema, e.CapScopeSchema, e.CapabilityBindingsSchema, e.CarbonMonoxideStatusSchema, e.ChargingStatus, e.ClientNetworkStatsSchema, e.ClimateControlStatusSchema, e.ClipPlaybackSchema, e.ClipSchema, e.ClusterAddonNodeDeploymentSchema, e.ClusterAddonStatusEntrySchema, e.CollectionColumnSchema, e.CollectionIndexSchema, e.ColorStatusSchema, e.ConfigEntrySchema, e.ConfigSectionWithValuesSchema, e.ConfigTabDeclarationSchema, e.ConnectionTestDescriptorSchema, e.ConnectionTestInputSchema, e.ConnectionTestOutcomeSchema, e.ConnectivityStatusSchema, e.ConsumableItemSchema, e.ConsumablesStatusSchema, e.ContactStatusSchema, e.ControlKindSchema, e.ControlStatusSchema, e.ConvertArtifactSchema, e.ConvertResultSchema, e.ConvertTargetSchema, e.CoreBlockCompileResultSchema, e.CoreBlockInputSchema, e.CoreBlockPlacementSchema, e.CoreBlockSchema, e.CoreBlockStatusSchema, e.CoverStateSchema, e.CoverStatusSchema, e.CreateApiKeyInputSchema, e.CreateApiKeyResultSchema, e.CreateIntegrationInputSchema, e.CreateScopedTokenInputSchema, e.CreateScopedTokenResultSchema, e.CreateUserInputSchema, e.CustomActionInputSchema, e.CustomModelDescriptorSchema, e.DATAPLANE_SECRET_HEADER, e.DECLARED_DEVICE_SWEEP_LIMIT, e.DECLARED_INTEGRATION_FIXED_KEY, e.DEFAULT_ADDON_PLACEMENT, e.DEFAULT_AUDIO_ANALYZER_CONFIG, e.DEFAULT_DECODER_HWACCEL_CONFIG, e.DEFAULT_DETAIL_CROP_CONVENTION, e.DEFAULT_EVENTS_BAND_BUFFER_SEC, e.DEFAULT_EVENT_COLOR, e.DEFAULT_FEATURES, e.DEFAULT_NATIVE_LEASE_SETTINGS, e.DEFAULT_POOL_MEMORY_POLICY, e.DEFAULT_RECORDING_PROFILES, e.DEFAULT_RETENTION, e.DEFAULT_RUNTIME_STATE_DURABILITY, e.DEFAULT_SCRUB_THUMBNAIL_PRESET, e.DEFAULT_TIMELAPSE_PREVIEW_TEXT, e.DETAIL_CROP_PADDING_FIELD, e.DETAIL_CROP_PADDING_KEY, e.DETAIL_CROP_SECTION_ID, e.DETAIL_CROP_SQUARE_KEY, e.DETECTION_MACRO_CLASSES, e.DETECTION_PIPELINE_CAP_NAME, e.DEVICE_BACKEND_TO_FORMAT, e.DEVICE_CAP_NAMES, e.DEVICE_PROFILES, e.DEVICE_SCOPED_CAPS, e.DEVICE_SETTINGS_CONTRIBUTION_METHODS, e.DEVICE_STATE_READERS, e.DEVICE_STATUS_METHOD, s = e.DEVICE_TYPE_CONTROL_KIND, e.DEVICE_TYPE_INFO, e.DataStoreEngineInfoSchema, e.DayNightModeSchema, e.DayNightOptionsSchema, e.DayNightSettingsPatchSchema, e.DayNightStatusSchema, e.DeclaredDevices, e.DecodedAudioChunkSchema, e.DecodedFrameSchema, e.DecoderSessionConfigSchema, e.DecoderStatsSchema, e.DeleteIntegrationResultSchema, e.DetailCropConventionSchema, e.DetectionSourceSchema, e.DeviceCodeSeveritySchema, e.DeviceConfig, e.DeviceDiscoveryStatusSchema, e.DeviceExportExposeInputSchema, e.DeviceExportStatusSchema, e.DeviceExportUnexposeInputSchema, c = e.DeviceFeature, e.DeviceInfoSchema, e.DeviceNetworkStatsSchema, l = e.DeviceRole, e.DeviceRuntimeState, e.DeviceSelectorSchema, e.DeviceStatusSchema, u = e.DeviceType, e.DiscoveredChildDeviceSchema, e.DiscoveredChildStatusSchema, e.DiscoveredDeviceSchema, e.DiscoveredTargetSchema, e.DiskReconcileJobSchema, e.DisposerChain, e.DoorbellPressEventSchema, e.DoorbellStatusSchema, e.EVENTFUL_CAP_NAMES, e.EVENT_KIND_BY_CAP, e.EVENT_PAD_MS, d = e.EVENT_TAXONOMY, e.EXPORT_DENSE_MAX_RANGES, e.EXPRESSION_BUILTINS, e.EXPRESSION_BUILTIN_NAMES, e.EXPRESSION_COMPILE_CACHE_CAPACITY, e.EXPRESSION_IDENTIFIER_RE, e.EXPRESSION_INJECTED_NOW, e.EgressEncodeSchema, e.EgressRateControlSchema, e.EgressTranscodeRequestSchema, e.EgressTranscodeSchema, e.ElementConfigStore, e.EmbeddingInfoSchema, e.EmbeddingResultSchema, e.EncodeProfileSchema, e.EncodedPacketSchema, e.EnrichedWidgetMetadataSchema, e.EnumSensorDateTimeFormatSchema, e.EnumSensorStatusSchema, f = e.EventCategory, e.EventEmitterStatusSchema, e.EventFireSchema, e.EventItemSchema, e.EventKindCategorySchema, e.EventKindDescriptorSchema, e.EventKindIconSchema, e.EventKindSchema, e.EventKindsForDeviceSchema, e.EventMediaArtifactSchema, e.EventMediaCoverageSchema, e.EventMediaKindSchema, e.EventMediaProductionSchema, e.EventSourceType, e.ExportBytesSchema, e.ExportDenseRangeSchema, e.ExportDenseSchema, e.ExportDownloadSchema, e.ExportOptionsSchema, e.ExportRecordSchema, e.ExportSetupFieldSchema, e.ExportSetupSchema, e.ExportSpeedSchema, e.ExportStateSchema, e.ExportTimelapseSchema, p = e.ExposedDeviceSchema, e.ExposureModeSchema, e.ExpressionBindingSourceSchema, e.ExpressionEvalError, e.ExpressionFieldBindingSchema, e.ExpressionGlobalBindingSchema, e.ExpressionLiteralBindingSchema, e.ExpressionParseError, e.ExpressionSourceSchema, e.FanControlStatusSchema, e.FanDirectionSchema, e.FeatureManifestSchema, e.FeatureProbeStatusSchema, e.FloodStatusSchema, e.Fmp4BoxSplitter, e.FrameHandleFormatSchema, e.FrameHandleSchema, e.FrameInputSchema, e.GasStatusSchema, e.GetStreamWithCodecInputSchema, e.GlobalMetricsSchema, e.HAP_AUDIO_BASE, e.HAP_AUDIO_BITRATE_KBPS, e.HAP_AUDIO_VBV_KBITS, e.HAP_KEYFRAME_INTERVAL_SEC, e.HF_BASE_URL, e.HF_REPO, e.HWACCEL_OPTIONS, e.HealthStatusSchema, e.HfModelResolutionSchema, e.HistoryPointSchema, e.HistoryResolutionEnum, e.HumidifierStatusSchema, e.HumiditySensorStatusSchema, e.HvacModeSchema, e.ImageContractSchema, e.ImageContractStateSchema, e.ImageRotateSchema, e.ImageSettingsOptionsSchema, e.ImageSettingsPatchSchema, e.ImageSettingsStatusSchema, e.ImageStatusSchema, e.IngestOwnerSchema, e.InstalledPackageSchema, e.IntegrationLiteSchema, e.IntegrationWithStateSchema, e.IntercomAbilitySchema, e.IntercomStatusSchema, e.KNOWN_CAP_NAMES, e.KeyEventSchema, e.LOG_LEVEL_RANK, e.LabelAttributionSchema, e.LabelDefinitionSchema, e.LabelTierSchema, e.LawnMowerActivitySchema, e.LawnMowerControlStatusSchema, e.LinkedDeviceSchema, e.LinkedDevicesModeSchema, e.LlmDefaultSchema, e.LlmDefaultSelectorSchema, e.LlmDownloadProgressSchema, e.LlmErrorCodeSchema, e.LlmGenerateBaseInputSchema, e.LlmGenerateErrSchema, e.LlmGenerateOkSchema, e.LlmGenerateResultSchema, e.LlmImageSchema, e.LlmNodeModelSchema, e.LlmProfileKindDescriptorSchema, e.LlmProfileKindSchema, e.LlmProfileSchema, e.LlmRetryPolicySchema, e.LlmRuntimeCompleteInputSchema, e.LlmRuntimeDiskUsageSchema, e.LlmRuntimeNodeSchema, e.LlmRuntimeStatusSchema, e.LlmTimeoutDefaults, e.LlmUsageRollupSchema, e.LlmUsageSchema, e.LocateSegmentResultSchema, e.LocationStatSchema, e.LockControlStatusSchema, e.LockStateSchema, e.LogEntrySchema, e.LogLevelSchema, e.LogStreamEntrySchema, e.LoginMethodContributionSchema, e.LoginStageEnum, e.MACRO_LABELS, e.MAX_CLIP_EVENT_IDS, e.MAX_CLIP_LABELS, e.MAX_CONDITION_DEPTH, e.MAX_CONDITION_LEAVES, e.MAX_EXPRESSION_AST_NODES, e.MAX_EXPRESSION_BINDINGS, e.MAX_EXPRESSION_CALL_ARGS, e.MAX_EXPRESSION_EVAL_STEPS, e.MAX_EXPRESSION_SOURCE_LENGTH, e.METHOD_ACCESS_MAP, e.METHOD_DEVICE_SELECTORS, e.MODEL_FORMATS, e.MOTION_TRIGGER_FEATURE, e.ManagedModelCatalogEntrySchema, e.ManagedModelExtraFileSchema, e.ManagedModelRefSchema, e.ManagedRuntimeConfigSchema, e.MaskGridDimsSchema, e.MaskGridShapeSchema, e.MaskLineShapeSchema, e.MaskPointSchema, e.MaskPolygonShapeSchema, e.MaskPolygonVerticesSchema, e.MaskRectShapeSchema, e.MaskShapeKindSchema, e.MaskShapeSchema, e.MediaFileInfoSchema, e.MediaFileSchema, e.MediaPlayerRepeatSchema, e.MediaPlayerStateSchema, e.MediaPlayerStatusSchema, e.MeshPeerSchema, e.MeshStatusSchema, e.MethodAccessSchema, e.ModelCatalogEntrySchema, e.ModelConvertInputSchema, e.ModelConvertMetadataSchema, e.ModelDistributeInputSchema, e.ModelDistributeResultSchema, e.ModelExtraFileSchema, e.ModelFormatEntrySchema, e.ModelFormatsSchema, e.ModelSubstitutionSchema, e.ModelVariantGroupSchema, e.MotionAnalysisResultSchema, e.MotionEventSchema, e.MotionOnMotionChangedDataSchema, e.MotionRegionSchema, e.MotionSourceEnum, e.MotionSourcesSchema, e.MotionStatusSchema, e.MotionTriggerRuntimeStateSchema, e.MotionTriggerStatusSchema, e.MotionZoneOptionsSchema, e.MotionZonePatchSchema, e.MotionZoneRegionSchema, e.MotionZoneStatusSchema, e.MqttBrokerStatusSchema, e.MutationFilterSchema, e.NATIVE_LEASE_ACTIVITY_FIELD, e.NATIVE_LEASE_ACTIVITY_KEY, e.NATIVE_LEASE_ADMISSION_FIELD, e.NATIVE_LEASE_ADMISSION_KEY, e.NATIVE_LEASE_BUDGET_FIELD, e.NATIVE_LEASE_BUDGET_KEY, e.NATIVE_LEASE_HOLD_FIELD, e.NATIVE_LEASE_HOLD_KEY, e.NATIVE_LEASE_SECTION_ID, e.NATIVE_LEASE_TILE_BUDGET_FIELD, e.NATIVE_LEASE_TILE_BUDGET_KEY, e.NC_ALARM_SYSTEM_EVENT_KINDS, e.NC_AUDIO_DBFS_FLOOR, e.NC_AUDIO_DB_MAX, e.NC_AUDIO_DB_MIN, e.NC_AUDIO_DB_OFFERED, e.NC_AUDIO_DB_STEP, e.NC_AUDIO_DEFAULTS, e.NC_AUDIO_HIT_PERCENT_MAX, e.NC_AUDIO_HIT_PERCENT_MIN, e.NC_AUDIO_SAMPLING_MAX_SEC, e.NC_AUDIO_SAMPLING_MIN_SEC, e.NC_AUDIO_SEED, e.NC_AUTHORABLE_SYSTEM_EVENT_KINDS, e.NC_BASE_CONDITION_KEYS, e.NC_CONDITION_CATALOG, e.NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, e.NC_CONFIRM_DEFAULT_TIMEOUT_MS, e.NC_CONFIRM_MAX_TIMEOUT_MS, e.NC_CONFIRM_MIN_TIMEOUT_MS, e.NC_DEFAULT_SNOOZE_MINUTES, e.NC_HISTORY_LIMIT_DEFAULT, e.NC_HISTORY_LIMIT_MAX, e.NC_MAX_PER_TRACK_IMMEDIATE, e.NC_OCCUPANCY_DEFAULTS, e.NC_RULE_EDITOR_SECTION_ORDER, e.NC_RULE_KIND_SPECS, e.NC_RULE_SECTIONS, e.NC_SNOOZE_MAX_MINUTES, e.NC_SYSTEM_DELIVERY, e.NC_SYSTEM_EVENT_FILTER_KEYS, e.NC_TAXONOMY, e.NativeCropBboxSchema, e.NativeCropRefSchema, e.NativeCropResultSchema, e.NativeDetectionSchema, e.NativeLeaseAdmissionSchema, e.NativeLeaseSettingsSchema, e.NativeObjectClassEnum, e.NativeObjectDetectionRuntimeStateSchema, e.NativeObjectDetectionStatusSchema, e.NcAlarmConfigSchema, e.NcAlarmModeCoverageSchema, e.NcAlarmSettingsPatchSchema, e.NcAlarmSettingsSchema, e.NcAlarmSkipReasonSchema, e.NcAlarmSkippedDeviceSchema, e.NcAudioConditionSchema, e.NcConditionDescriptorSchema, e.NcConditionsSchema, e.NcConfirmExpectSchema, e.NcConfirmSchema, e.NcCrossingSchema, e.NcDeliverySchema, e.NcDeviceStateConditionSchema, e.NcHistoryEntrySchema, e.NcHistoryFilterSchema, e.NcHistoryRecordKindSchema, e.NcHistoryStatusSchema, e.NcHistorySubjectSchema, e.NcMediaFrameSchema, e.NcMediaPolicySchema, e.NcOccupancyConditionSchema, e.NcPlateMatcherSchema, e.NcRuleActionSchema, e.NcRuleActionSequenceSchema, e.NcRuleActionsSchema, e.NcRuleInputSchema, e.NcRuleNotificationButtonSchema, e.NcRulePatchSchema, e.NcRuleSchema, e.NcRuleTargetSchema, e.NcSceneConditionSchema, e.NcScheduleSchema, e.NcScheduleWindowSchema, e.NcSnoozeInputSchema, e.NcSnoozeSchema, e.NcSnoozeScopeSchema, e.NcSnoozeSuppressedSchema, e.NcSystemEventConditionSchema, e.NcSystemEventKindSchema, e.NcTaxonomyEntrySchema, e.NcTaxonomySchema, e.NcTestResultSchema, e.NcThrottleGranularitySchema, e.NcThrottleSchema, e.NcZoneConditionSchema, e.NetworkAccessStatusSchema, e.NetworkAddressSchema, e.NetworkEndpointSchema, e.NotificationActionIconSchema, e.NotificationActionSchema, e.NotificationFormatSchema, e.NotificationSchema, e.NotifierStatusSchema, e.NumericSensorStatusSchema, e.OPS_LOG_DEFAULT_LIMIT, e.OPS_LOG_RING_DEFAULT_MAX, e.OauthIntegrationDescriptorSchema, e.ObjectEventSchema, e.OpsLogDomainSchema, e.OpsLogEntrySchema, e.OpsLogOpSchema, e.OpsLogQueryInputSchema, e.OpsLogReasonSchema, e.OrchestratorMetricsSchema, e.OsdOverlayKindEnum, e.OsdOverlayPatchSchema, e.OsdOverlaySchema, e.OsdPositionEnum, e.OsdRenderOutcomeEnum, e.OsdRenderResultSchema, e.OsdSlotBindingSchema, e.OsdSlotViewSchema, e.OsdSourceOptionSchema, e.OsdSourceSchema, e.OsdSourceValueTypeEnum, e.OsdStatusSchema, m = e.PET_FEEDER_MANUAL_FEED_MAX, h = e.PET_FEEDER_MANUAL_FEED_MIN, e.PIPELINE_FLOW_CAPABILITY_NAMES, e.PIPELINE_OWNER_CAPABILITY_NAMES, e.PRIVACY_MASK_CAP_NAME, e.PROVIDER_KIND_CAP_NAMES, e.PYTHON_SCRIPT, e.PackageUpdateSchema, e.PackageVersionInfoSchema, e.PasskeyLoginMethodSchema, e.PasskeySummarySchema, e.PcmSampleFormatSchema, e.PerScopeBreakdownSchema, e.PetFeederStatusSchema, e.PickStreamPreferencesSchema, e.PickStreamRequirementsSchema, e.PickedCamStreamSchema, e.PipelineAssignmentSchema, e.PipelineDefaultStepSchema, e.PipelineEngineChoiceSchema, e.PipelineRunResultBridge, e.PipelineStepInputSchema, e.PipelineValidationIssueSchema, e.PipelineValidationResultSchema, e.PlaceholderReasonSchema, e.PolygonPointSchema, e.PoolMemoryWatchdog, e.PowerMeterStatusSchema, e.PresenceStatusSchema, e.PressureSensorStatusSchema, e.PrivacyMaskOptionsSchema, e.PrivacyMaskPatchSchema, e.PrivacyMaskRegionSchema, e.PrivacyMaskShapeSchema, e.PrivacyMaskStatusSchema, e.ProfileRtspEntrySchema, e.ProfileSlotSchema, e.ProfileSlotStatusSchema, e.ProviderStatusSchema, e.PtzAutotrackRuntimeStateSchema, e.PtzAutotrackSettingsSchema, e.PtzAutotrackStatusSchema, e.PtzAutotrackTargetOptionSchema, e.PtzMoveCommandSchema, e.PtzOptionsSchema, e.PtzPositionSchema, e.PtzPresetSchema, e.PtzStatusSchema, e.QueryFilterSchema, e.RATE_CONTROL_RELAXED, e.RATE_CONTROL_TIGHT, e.REACHABILITY_FAILURES_TO_OFFLINE, e.REACHABILITY_POLL_INTERVAL_MS, e.REACHABILITY_PROBE_TIMEOUT_MS, e.RECOGNITION_TYPES, e.RECORDING_EXPORT_MAX_READ_BYTES, e.RESERVED_BINDING_NAMES, e.RESTORED_CAP_NAMES, e.RUNTIME_DEFAULTS, e.RUNTIME_STATE_POLICY, e.RUNTIME_TO_FORMAT, e.RawStateResultSchema, e.ReadGopBytesResultSchema, e.ReadSegmentBytesResultSchema, e.ReadinessRegistry, e.ReadinessTimeoutError, e.RecentTracksPageSchema, e.RecentTracksQueryInput, e.RecordingAvailabilitySchema, e.RecordingBandModeSchema, e.RecordingBandSchema, e.RecordingBandTriggersSchema, e.RecordingConfigSchema, e.RecordingDaysSchema, e.RecordingDeviceUsageSchema, e.RecordingLocationUsageSchema, e.RecordingManifestSchema, e.RecordingRangeSchema, e.RecordingRebalanceInputSchema, e.RecordingRebalanceMoveSchema, e.RecordingRebalancePlanSchema, e.RecordingRebalanceSkipReasonSchema, e.RecordingRebalanceSkipSchema, e.RecordingRetentionSchema, e.RecordingStatusSchema, e.RecordingStorageModeSchema, e.RecordingStorageUsageSchema, e.RecordingTriggersSchema, e.RecordingWeekdaySchema, e.RedirectLoginMethodSchema, e.RelocateFootageClassSchema, e.RelocateFootageInputSchema, e.RelocateJobSchema, e.RelocateJobStateSchema, e.RelocateMediaInputSchema, e.RenderedAsSchema, e.ReportMotionInputSchema, e.RetrainAnnotationDraftSchema, e.RetrainAnnotationKindSchema, e.RetrainAnnotationSchema, e.RetrainAnnotationSourceSchema, e.RetrainAssistResultSchema, e.RetrainAssistSubjectSchema, e.RetrainCopyRefusalSchema, e.RetrainFrameCandidateSchema, e.RetrainFrameListSchema, e.RetrainFrameSchema, e.RetrainFrameSelectionSchema, e.RetrainMacroClassSchema, e.RetrainStatusSchema, e.RetrainTrackSchema, e.RetrainTransitionResultSchema, e.RingBuffer, e.RtpSourceSchema, e.RtspRestreamEntrySchema, e.RunnerCameraConfigSchema, e.RunnerCameraDeviceUIFields, e.RunnerFrameSourceSchema, e.RunnerInferenceDeviceSchema, e.RunnerLocalLoadSchema, e.RunnerLocalMetricsSchema, e.SCENE_CONDITIONS, e.SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, e.SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, e.SCENE_DEFAULT_ANCHOR_THRESHOLD, e.SCENE_DEFAULT_CHECK_INTERVAL_SEC, e.SCENE_DEFAULT_OBSERVATION_SPACING_SEC, e.SCENE_DEFAULT_QUIET_SECONDS, e.SCENE_DEFAULT_UNCOVERED_POLICY, e.SCENE_DIVERGED, e.SCENE_RESET_RECAPTURES, e.SCOPE_PRESETS, e.SCRUB_THUMBNAIL_PRESETS, e.SCRUB_THUMBNAIL_PRESET_LABELS, e.SCRUB_THUMBNAIL_PRESET_ORDER, e.SENSOR_FEATURES, e.SENSOR_MAP, e.SOURCE_INFO_METADATA_KEY, e.STREAM_PROFILE_META, e.STREAM_QUALITY_LABELS, e.SUB_DETECTION_TYPES, e.SYSTEM_CAP_NAMES, e.SYSTEM_SCOPE_DEVICE_METHODS, e.SceneCheckSchema, e.SceneConditionSchema, e.SceneConfirmSchema, e.SceneMonitorSchema, e.SceneMonitorStateSchema, e.SceneMonitorStatusSchema, e.SceneReferenceSchema, e.SceneUnavailableSchema, e.SceneUncoveredPolicySchema, e.SceneVerdictSchema, e.ScopedTokenSchema, e.ScopedTokenSummarySchema, e.ScoredObjectEventSchema, e.ScriptRunnerStatusSchema, e.ScrubThumbnailPresetSchema, e.SearchResultSchema, e.SendEmailInputSchema, e.SendEmailResultSchema, e.SendResultSchema, e.SensorEventSchema, e.ServerBootModeSchema, e.ServerPackageStatusSchema, e.ServerRollbackInfoSchema, e.ServerUpdateActionResultSchema, e.ServerUpdateCheckResultSchema, e.ServerUpdateStateSchema, e.SetSiteLocationInputSchema, e.SettingsPatchSchema, e.SettingsRecordSchema, e.SettingsSchemaWithValuesSchema, e.SettingsUpdateResultSchema, e.ShmRingStatsSchema, e.SiteLocationSchema, e.SiteLocationSourceSchema, e.SiteLocationStatusSchema, e.SmokeStatusSchema, e.SmtpStatusSchema, e.SnapshotImageSchema, g = e.SourceInfoSchema, e.SpatialDetectionSchema, e.SsoBridgeClaimsSchema, e.StartEmbeddedInputSchema, e.StationaryObjectSchema, e.StorageAbortUploadInputSchema, e.StorageBeginDownloadInputSchema, e.StorageBeginDownloadResultSchema, e.StorageBeginUploadInputSchema, e.StorageBeginUploadResultSchema, e.StorageEndDownloadInputSchema, e.StorageFinalizeUploadInputSchema, e.StorageLocationDeclarationSchema, e.StorageLocationRefSchema, e.StorageLocationSchema, e.StorageLocationTypeSchema, e.StorageMigrationClassSchema, e.StorageMigrationDestinationsSchema, e.StorageMigrationFootageMoveInputSchema, e.StorageMigrationInputSchema, e.StorageMigrationJobSchema, e.StorageMigrationLeaseInputSchema, e.StorageMigrationMediaMoveInputSchema, e.StorageMigrationMoveSchema, e.StorageMigrationParticipantSchema, e.StorageMigrationPhaseSchema, e.StorageMigrationPlanSchema, e.StorageProviderInfoSchema, e.StorageReadChunkInputSchema, e.StorageTestLocationResultSchema, e.StorageWriteChunkInputSchema, e.StreamCodecSchema, e.StreamFormatSchema, e.StreamNetworkStatsSchema, e.StreamParamsOptionsSchema, e.StreamParamsStatusSchema, e.StreamProfileConfigSchema, e.StreamProfileOptionsSchema, e.StreamProfilePatchSchema, e.StreamProfileSchema, e.StreamSourceEntrySchema, e.StreamSourceSchema, e.SubscribeAudioChunksInputSchema, e.SubscribeAudioChunksResultSchema, e.SubscribeFramesInputSchema, e.SubscribeFramesResultSchema, e.SwitchStatusSchema, e.SystemMetricsSchema, e.SystemMirror, e.TAXONOMY_COLORS, e.TIMELAPSE_DENSE_FLOOR_SEC, e.TIMEZONES, e.TRANSCODE_DOWN_MAX_BITRATE_KBPS, e.TRANSCODE_DOWN_MAX_HEIGHT, e.TamperStatusSchema, e.TankStatusSchema, e.TargetKindCapsSchema, e.TargetKindLevelSchema, e.TargetKindSchema, e.TargetSchema, e.TemperatureSensorStatusSchema, e.TerminalInstanceInfoSchema, e.TerminalLegacyCameraSchema, e.TerminalOutputBatchSchema, e.TerminalOutputEventSchema, e.TerminalProfileInfoSchema, e.TerminalSessionInfoSchema, e.TestConnectionResultSchema, e.TestConnectionStatusEnum, e.TestResultSchema, e.TimelapseRuleInputSchema, e.TimelapseRulePatchSchema, e.TimelapseRuleSchema, e.TimelapseTemplateSchema, e.ToastSchema, e.TokenScopeSchema, e.TopologyNodeSchema, e.TopologyProcessSchema, e.TopologyServiceSchema, e.TrackCascadeCountsSchema, e.TrackEnvelopeSchema, e.TrackFlagsPatchSchema, e.TrackFlagsSchema, e.TrackProjectionSchema, e.TrackSchema, e.TrackSourceSchema, e.TrackStateSchema, e.TrackZoneFilterSchema, e.TrackedDetectionSchema, e.TrainingExportDeviceTotalsSchema, e.TrainingExportSummarySchema, e.TurnServerSchema, e.UNIT_TABLE, e.UnifiedBrokerInfoSchema, e.UnitConversionError, e.UpdateIntegrationInputSchema, e.UpdateStatusSchema, e.UpdateUserInputSchema, e.UserRecordSchema, e.UserSummarySchema, e.VISIT_MERGE_GAP_MS, e.VacuumControlStatusSchema, e.VacuumStateSchema, e.ValveStateSchema, e.ValveStatusSchema, e.VectorDeclareIndexInputSchema, e.VectorDeleteByFilterInputSchema, e.VectorDeleteInputSchema, e.VectorDeleteResultSchema, e.VectorFilterSchema, e.VectorGetInputSchema, e.VectorGetResultSchema, e.VectorItemSchema, e.VectorMatchSchema, e.VectorMetadataSchema, e.VectorMetricSchema, e.VectorQueryInputSchema, e.VectorQueryResultSchema, e.VectorStatsInputSchema, e.VectorStatsResultSchema, e.VectorUpsertInputSchema, e.VectorUpsertResultSchema, e.VibrationStatusSchema, e.VideoEncodeSchema, e.WEBRTC_EGRESS_PROFILE, e.WELL_KNOWN_TABS, e.WELL_KNOWN_TAB_MAP, e.WaterHeaterStatusSchema, e.WeatherStatusSchema, e.WebrtcStreamChoiceSchema, e.WebrtcStreamTargetSchema, e.WhiteBalanceModeSchema, e.WidgetHostEnum, e.WidgetLoginMethodSchema, e.WidgetMetadataSchema, e.WidgetRemoteSchema, e.WidgetSizeEnum, e.YAMNET_TO_MACRO, e.ZoneCrossingDirectionSchema, e.ZoneCrossingSchema, e.ZoneKindEnum, e.ZoneRuleModeEnum, e.ZoneRuleSchema, e.ZoneRuleStageEnum, e.ZoneRulesArraySchema, e.ZoneSchema, e.ZoneScopeBreakdownSchema, e.accessoriesCapability, e.accessoryStableId, e.addonPagesCapability, e.addonPagesSourceCapability, e.addonRoutesCapability, e.addonSettingsCapability, e.addonWidgetsCapability, e.addonWidgetsSourceCapability, e.addonsCapability, e.adminUiCapability, e.airQualitySensorCapability, e.alarmPanelCapability, e.alertsCapability, e.ambientLightSensorCapability, e.asBoolean, e.asJsonArray, e.asJsonObject, e.asNumber, e.asString, e.assertTimelapseCadences, e.audioAnalysisCapability, e.audioAnalyzerCapability, e.audioCodecCapability, e.audioIsFailClosed, e.audioLabelChoices, e.audioMetricsCapability, e.audioModeOf, e.audioOrDefaults, e.audioPlanFromEncodeProfile, e.authProviderCapability, e.autoAssignProfiles, e.automationControlCapability, e.backupCapability, e.bareAddonId, e.batteryCapability, e.bestLocationMatch, e.binaryCapability, e.bindAddonActions, e.brightnessCapability, e.brokerCapability, e.buildAddonRouteProvider, e.buildAudioArgs, e.buildEventKindDescriptor, e.buildFfmpegArgs, e.buildInputArgs, e.buildModelVariantGroups, e.buildNcTaxonomy, e.buildRoleScopes, e.buildStreamParamsConfigSchema, e.buildVideoArgs, e.buttonCapability, e.cameraCredentialsCapability, e.cameraPipelineConfigCapability, e.cameraStreamsCapability, _ = e.canConvertUnit, e.canonicalEgressPlan, e.carbonMonoxideCapability, e.cellsToRects, e.classifyBearerPrincipal, e.classifyStream, e.classifyStreams, e.climateControlCapability, e.collectHydratedFieldEntries, e.collectHydratedFieldValues, e.colorCapability, e.colorForKind, e.commitWatchdogRestart, e.compileExpression, e.compileExpressionSafe, e.composeSwitchedOff, e.conditionDepth, e.conditionExclusionReason, e.conditionVisibleForKind, e.connectionTestCapability, e.connectivityCapability, e.consumablesCapability, e.contactCapability, e.controlCapability, e.convertUnit, e.coreBlockAddonId, e.coreBlockIdFromAddonId, e.coreBlocksCapability, e.cosineSimilarity, e.countConditionLeaves, e.coverCapability, v = e.createDeviceProxy, e.createDurableState, e.createEvent, e.createExpressionScope, e.createHwAccelCache, e.createLazyTrpcSource, e.createMirrorSource, e.createRuntimeStateBridge, e.createSliceHandle, e.createSystemProxy, e.customAction, e.customModelRegistryCapability, e.dataStoreProviderCapability, e.dayNightCapability, e.declarationOwnerNodeId, e.decodeVectorBase64, e.decoderCapability, e.defaultDeliveryForSection, e.defaultDeviceFor, e.defineCustomActions, e.deriveBatteryPresence, e.deriveCameraSwitches, e.deriveDetailCropRect, e.deriveRecordingMode, e.describeModelVariant, e.detectAccessRole, e.detectionPipelineCapability, e.deviceAdoptionCapability, e.deviceBackendToFormat, e.deviceCustomAction, e.deviceDiscoveryCapability, e.deviceExportCapability, e.deviceManagerCapability, e.deviceMatchesProfile, e.deviceOpsCapability, e.deviceProviderCapability, e.deviceSelectorMatches, e.deviceStateCapability, e.deviceStatusCapability, e.doorbellCapability, e.droppedConditionsForKind, e.egressTranscodeSharingKey, e.egressTransportFromRequest, e.embeddingEncoderCapability, e.emitDownForOwnedCaps, e.emitReadiness, e.encodeProfileFromStreamShape, e.encodeVectorBase64, e.enumSensorCapability, e.enumerateInferenceDevices, e.enumerateItemArrayFields, e.enumerateSchemaFields, e.errMsg, e.evaluateAst, e.evaluateExpressionSource, e.evaluatePoolMemory, e.evaluateZoneRules, e.event, e.eventEmitterCapability, e.eventsCapability, e.expandCapMethods, e.extractNestedAddonId, e.extractSourceInfoFromMetadata, e.faceGalleryCapability, e.fanControlCapability, e.featureProbeCapability, e.filesystemBrowseCapability, e.findTimezone, e.floodCapability, e.formatForBackend, e.formatForRuntime, e.gasCapability, e.generateAutomationBlock, e.getAudioMacroClassIds, e.getByPath, e.getCapsByProviderKind, e.getTaxonomyEntry, e.hasMotionTrigger, e.hfModelUrl, e.htmlToText, e.humidifierCapability, e.humiditySensorCapability, e.hydrateSchema, e.imageCapability, e.imageSettingsCapability, e.initialPoolMemoryState, e.integrationsCapability, e.intercomCapability, e.invocationFromEncodeProfile, e.isAgentOnlyPlacement, e.isArrayOutputSchema, e.isAudioLabelSelected, e.isAudioRule, e.isBaseConditionKey, e.isBatteryPresenceFault, e.isCollectionArrayMethod, e.isDeployableToAgent, e.isDetectionMacroClass, e.isDeviceConfigCap, e.isDeviceScopedCap, e.isEvent, e.isIsolatedBuiltin, e.isNode, e.isObjectInput, e.isOccupancyRule, e.isRestoredCap, e.isSameAddonId, e.isScheduleActive, e.isSoftwareDecode, e.isSystemDelivery, e.isVoidInput, e.jobKindSchema, e.kebabToCamel, e.knownValues, e.lawnMowerControlCapability, e.lifecycleJobSchema, e.lifecycleJobScopeSchema, e.lifecycleJobStateSchema, e.lifecycleTaskSchema, e.llmCapability, e.llmRuntimeCapability, e.localNetworkCapability, e.locationSimilarity, e.lockControlCapability, e.logBannerArgs, e.logDestinationCapability, e.logLevelAtMost, e.loginMethodCapability, e.looseSchema, e.makeProfileBrokerId, e.makeSourceBrokerId, e.mapAudioLabelToMacro, e.markdownToHtmlLite, e.markdownToText, e.maskUrlCredentials, e.mediaPlayerCapability, e.mergeSourceInfo, e.meshNetworkCapability, e.method, e.methodAccessForHttpMethod, e.metricsProviderCapability, e.modelConvertCapability, e.modelDistributorCapability, e.modelFormatForRuntime, e.motionCapability, e.motionDetectionCapability, e.motionTriggerCapability, e.motionZonesCapability, e.mqttBrokerCapability, e.nativeObjectDetectionCapability, e.networkAccessCapability, e.networkQualityCapability, e.nodePin, e.nodesCapability, e.normalizeAddonInitResult, e.normalizeAudioLabel, e.normalizeTokenScopes, e.normalizeUnit, e.notificationOutputCapability, e.notificationRulesCapability, e.notifierCapability, e.numericSensorCapability, e.oauthIntegrationCapability, e.objectInputDeclaresAddonId, e.osdCapability, e.osdManagerCapability, e.parseCameraStreamConfig, e.parseExpression, e.parseJsonArray, e.parseJsonObject, e.parseJsonUnknown, e.parseProcStatus, e.parseProfileBrokerId, e.parseRuleSection, e.parseStreamParamsFormPatch, e.patchAudio, e.petFeederCapability, e.pickAccessoryControl, e.pickDetailCropConvention, e.pickNativeLeaseOverride, e.pickPreferredRtspEntry, e.pickRestartCandidate, e.pickVideoEncoder, e.pickerForCondition, e.pipelineAnalyticsCapability, e.pipelineExecutorCapability, e.pipelineOrchestratorCapability, e.pipelineRunnerCapability, e.plateGalleryCapability, e.platformProbeCapability, e.poolMemoryThreshold, e.powerMeterCapability, e.prepareNotification, e.presenceCapability, e.pressureSensorCapability, e.principalMayReachAddon, e.privacyMaskCapability, e.procedureAuthKey, e.ptzAutotrackCapability, e.ptzCapability, e.pythonScriptForBackend, e.readDetailCropConvention, e.readDeviceStateFrom, e.readNativeLeaseOverride, e.readNodePin, e.readTimelapseGeneratedAt, e.readinessKey, e.rebootCapability, e.recordingCapability, e.recordingExportCapability, e.rectsToCells, e.requiresPython, e.resetPoolBaseline, e.resolveAddonExecution, e.resolveAddonGroup, e.resolveAddonPlacement, e.resolveAddonRuntime, e.resolveCapMount, e.resolveDetectionRuntime, e.resolveDeviceControlKind, e.resolveDeviceProfile, e.resolveEgressDecodeHwAccel, e.resolveFormat, e.resolveHydratedFieldValue, e.resolveModelFormat, e.resolveMutate, e.resolvePoolMemoryPolicy, e.resolveRecordingProfiles, e.resolveRunnerId, e.resolveScrubThumbnailGeometry, e.resolveVariantModelId, e.resolveViewableDeviceIds, e.roleSpec, e.ruleEditorSectionsForKind, e.ruleKindOf, e.ruleKindSpec, e.ruleMatchesSection, e.ruleSection, e.ruleSectionOf, e.ruleSeedForSection, e.runInferenceStep, e.runtimeDevices, e.runtimeStatePolicyFor, e.sceneMonitorCapability, e.scopeInherits, e.scopeKey, e.scopesAllowAddon, e.scopesAllowDeviceCap, e.scoreRuntimes, e.scriptRunnerCapability, e.selectAssignedProfileSlots, e.serverManagementCapability, e.setByPath, e.settingsStoreCapability, e.sleep, e.sleepCancellable, e.smokeCapability, e.smtpProviderCapability, e.snapshotCapability, e.ssoBridgeCapability, e.startReachabilityPoll, y = e.stateVocabularyFor, e.storageCapability, e.storageEvictableCapability, e.storageMigrationCapability, e.storageProviderCapability, e.streamBrokerCapability, e.streamCatalogCapability, e.streamParamsCapability, e.streamPixels, e.streamQualityLabel, e.subKindsOf, e.summarisePrivacyAudio, e.summarizeEffectiveScope, e.supportedRuntimes, e.switchCapability, e.switchedOffIds, e.synthesizeSourceInfo, e.systemCapability, e.systemEventFilterApplies, e.systemEventFilterAppliesToAnyKind, e.tamperCapability, e.taskLogEntrySchema, e.taskPhaseSchema, e.taskTargetSchema, e.temperatureSensorCapability, e.terminalSessionCapability, e.textToHtml, e.toDeviceSummary, e.toExpressionValue, e.toNodeId, e.toStreamSourceEntry, e.toastCapability, e.toggleAudioLabel, e.tokenize, e.transcodeBody, b = e.tryConvertUnit, e.turnProviderCapability, e.unitDimension, e.unitsForDimension, e.updateCapability, e.userManagementCapability, e.userPasskeysCapability, e.vacuumControlCapability, e.validateExpressionSource, e.validateRecipeBounds, e.valveCapability, e.vectorDimFromBase64, e.vectorStoreCapability, e.vibrationCapability, e.videoclipsCapability, e.viewerUiCapability, e.waterHeaterCapability, e.weatherCapability, e.webrtcClientHintsSchema, e.webrtcSessionCapability, e.wiringAddonHealthSchema, e.wiringHealthSnapshotSchema, e.wiringNodeHealthSchema, e.wiringProbeKindSchema, e.wiringProbeResultSchema, e.zodEntriesToConfigUI, e.zoneAnalyticsCapability, e.zoneRulesCapability, e.zonesCapability, e.default;
20
+ }, S = i.share["default:@camstack/types"];
21
+ S === void 0 ? n.then(() => {
22
+ if (S = i.share["default:@camstack/types"], S === void 0) throw Error("[Module Federation] Shared module @camstack/types was imported before federation bootstrap finished.");
23
+ x(S);
24
+ }) : x(S);
25
+ //#endregion
26
+ export { l as a, f as c, o as d, m as f, v as g, _ as h, c as i, a as l, g as m, b as n, u as o, h as p, s as r, d as s, y as t, p as u };
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.88",
39
+ version: "1.2.90",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -45,7 +45,7 @@ async function r() {
45
45
  }
46
46
  },
47
47
  "@camstack/sdk": {
48
- version: "1.2.24",
48
+ version: "1.2.25",
49
49
  scope: "default",
50
50
  shareConfig: {
51
51
  singleton: !0,
@@ -81,7 +81,7 @@ async function r() {
81
81
  }
82
82
  },
83
83
  "@camstack/ui-library": {
84
- version: "1.2.60",
84
+ version: "1.2.62",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
package/dist/index.js CHANGED
@@ -30561,9 +30561,21 @@ var RecordingLocationUsageSchema = object({
30561
30561
  * previously rendered as two identical "disks" with a nonsensical used
30562
30562
  * split — hydrate attribution across aliases is arbitrary by nature. */
30563
30563
  locationIds: array(string()).optional(),
30564
- /** Bytes of recordings stored on this PHYSICAL volume (all aliases). */
30564
+ /**
30565
+ * Filesystem root of the physical volume this row accounts — the only
30566
+ * operator-legible identity when a location has no `displayName` yet, and
30567
+ * what a "which disk is full" alert has to name. OPTIONAL for the same
30568
+ * train-skew reason as `oldestMs`: a recorder that predates the field omits
30569
+ * it, and this schema must keep validating that older provider's payload.
30570
+ */
30571
+ root: string().optional(),
30572
+ /** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
30573
+ * the footage's SHARE of the volume, not how full the volume is — the disk
30574
+ * also holds everything that is not recordings. Volume fill is
30575
+ * `(totalBytes - availableBytes) / totalBytes`. */
30565
30576
  usedBytes: number(),
30566
- /** Free bytes on the location's volume; null when capacity is unknown (remote). */
30577
+ /** Free bytes on the location's volume; null when capacity is unknown
30578
+ * (remote/unstattable — the recorder logs the statfs failure with the root). */
30567
30579
  availableBytes: number().nullable(),
30568
30580
  /** Total bytes of the location's volume; null when unknown. */
30569
30581
  totalBytes: number().nullable()
@@ -30575,7 +30587,15 @@ var RecordingStorageUsageSchema = object({
30575
30587
  nodeId: string(),
30576
30588
  totalUsedBytes: number(),
30577
30589
  devices: array(RecordingDeviceUsageSchema),
30578
- locations: array(RecordingLocationUsageSchema)
30590
+ /**
30591
+ * Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
30592
+ * of the payload without it: the hub serves this method through a BAKED
30593
+ * router, so a hub whose framework train predates a change to this array
30594
+ * strips it out of an answer a newer recorder happily produced. A UI that
30595
+ * dereferences it unconditionally crashes the whole Storage page over a
30596
+ * missing disk bar.
30597
+ */
30598
+ locations: array(RecordingLocationUsageSchema).optional()
30579
30599
  });
30580
30600
  /**
30581
30601
  * The OPERATOR-ARMED half of multi-location recordings (D116).
@@ -40755,8 +40775,14 @@ Object.freeze({
40755
40775
  "network-access": "ingress",
40756
40776
  "smtp-provider": "email"
40757
40777
  });
40778
+ /** Schema defaults — an untouched sub-field must author exactly these. */
40779
+ var NC_AUDIO_DEFAULTS = {
40780
+ hitPercent: 60,
40781
+ samplingSeconds: 10
40782
+ };
40758
40783
  new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
40759
40784
  new Set(["devices", "classes"]);
40785
+ NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
40760
40786
  var WEEKDAY_TO_DAY = {
40761
40787
  Sun: 0,
40762
40788
  Mon: 1,
@@ -41229,6 +41255,37 @@ var OsdBindingsStore = class {
41229
41255
  }
41230
41256
  };
41231
41257
  //#endregion
41258
+ //#region src/bound-index.ts
41259
+ /**
41260
+ * The durable index of cameras that have at least one OSD binding.
41261
+ *
41262
+ * WHY IT EXISTS. The render loop's work list used to be DERIVED at boot: list
41263
+ * every device in the directory, read each one's binding block, keep the ones
41264
+ * that answered non-empty. Every one of those reads is a UDS round-trip to the
41265
+ * settings store, and they ran one at a time. Measured on the boot of
41266
+ * 2026-08-19: 976 devices × 559 ms under boot load = 546 s in which
41267
+ * `OsdManager.start()` had not returned — and `start()` was awaited inside
41268
+ * `onInitialize()`, so for nine minutes the `osd-manager` and
41269
+ * `addon-pages-source` capabilities did not exist ANYWHERE in the cluster
41270
+ * (docs/architecture/addon-lifecycle.md). The answer it took nine minutes to
41271
+ * compute was `boundDevices = 0`.
41272
+ *
41273
+ * Filtering to cameras and fanning the reads out makes that scan cheap, but it
41274
+ * is still a scan. The index is the actual fix: the work list is WRITTEN where
41275
+ * bindings are written, so boot reads one key and is done in milliseconds. The
41276
+ * scan stays, in the background, as the reconcile — because an index nothing
41277
+ * checks is an index that eventually lies.
41278
+ *
41279
+ * The value is the SET of bound camera ids, serialised as a sorted array.
41280
+ * `null` is not "no cameras are bound", it is "this hub has never written the
41281
+ * index" — the two must stay distinguishable, because the first is authoritative
41282
+ * and the second means seed it from a scan. An empty ARRAY is the authoritative
41283
+ * "nothing is bound".
41284
+ */
41285
+ /** Store key inside the addon's own (global) store. */
41286
+ var OSD_BOUND_INDEX_KEY = "boundDeviceIds";
41287
+ var OsdBoundIndexSchema = array(number().int().positive()).nullable();
41288
+ //#endregion
41232
41289
  //#region src/gate.ts
41233
41290
  /**
41234
41291
  * The display gate — "should this slot show its value right now?".
@@ -41305,6 +41362,27 @@ function evaluateGate(input) {
41305
41362
  return OPEN;
41306
41363
  }
41307
41364
  //#endregion
41365
+ //#region src/lane-pool.ts
41366
+ /**
41367
+ * Apply `mapper` to every item with at most `limit` in flight at once.
41368
+ *
41369
+ * A rejecting mapper rejects the whole call (same contract as `Promise.all`);
41370
+ * a caller that must not fail the sweep for one bad unit catches INSIDE the
41371
+ * mapper — which is what every caller in this package does, because a unit that
41372
+ * threw must never be the reason the next camera is not reconciled.
41373
+ */
41374
+ async function mapWithConcurrency(items, limit, mapper) {
41375
+ const results = new Array(items.length);
41376
+ if (items.length === 0) return results;
41377
+ const lanes = Math.max(1, Math.min(Math.trunc(limit), items.length));
41378
+ const entries = items.entries();
41379
+ const lane = async () => {
41380
+ for (const [index, item] of entries) results[index] = await mapper(item, index);
41381
+ };
41382
+ await Promise.all(Array.from({ length: lanes }, () => lane()));
41383
+ return results;
41384
+ }
41385
+ //#endregion
41308
41386
  //#region src/format.ts
41309
41387
  /** Tokens `formatClock` understands. Anything else in the pattern is literal. */
41310
41388
  var CLOCK_TOKENS = [
@@ -41637,31 +41715,61 @@ var OsdManager = class {
41637
41715
  recognitionGeneration = /* @__PURE__ */ new Map();
41638
41716
  recognitionInvalidatedAt = /* @__PURE__ */ new Map();
41639
41717
  timer = null;
41718
+ /** The background reconcile, while one is running. Held so a second arming
41719
+ * cannot overlap the first — two concurrent passes would race on the index
41720
+ * write and could persist the older of the two answers. */
41721
+ reconcile = null;
41640
41722
  constructor(deps) {
41641
41723
  this.deps = deps;
41642
41724
  this.logger = deps.logger;
41643
41725
  this.now = deps.now ?? (() => Date.now());
41644
41726
  }
41645
41727
  /**
41646
- * Learn which cameras have bindings, then start ticking. A camera with no
41647
- * binding costs nothing — it is never in `boundDevices`, so the loop
41648
- * never reads its state and never touches its firmware.
41728
+ * Read the durable work list, start ticking, and arm the reconcile BEHIND
41729
+ * both.
41730
+ *
41731
+ * This used to derive the work list first: list every device, read every
41732
+ * device's binding block, one at a time. On 2026-08-19 that was 976 devices ×
41733
+ * 559 ms = 546 s, awaited inside `onInitialize`, so every capability this
41734
+ * addon declares was absent cluster-wide for nine minutes — and the answer was
41735
+ * `boundDevices = 0`. A camera with no binding still costs nothing at runtime;
41736
+ * what it used to cost was the boot.
41737
+ *
41738
+ * The scan did not go away, it moved: it is the reconcile, it runs in the
41739
+ * background, and it is the only thing that keeps the index from silently
41740
+ * lying.
41649
41741
  */
41650
41742
  async start(tickMs) {
41651
- await this.reloadBoundDevices();
41743
+ const stored = await this.readBoundIndex();
41744
+ if (stored !== null) {
41745
+ this.boundDevices.clear();
41746
+ for (const deviceId of stored) this.boundDevices.add(deviceId);
41747
+ }
41652
41748
  this.timer = setInterval(() => {
41653
41749
  this.renderAllBound();
41654
41750
  }, tickMs);
41655
41751
  this.logger.info("osd-manager: render loop started", { meta: {
41656
41752
  tickMs,
41657
- boundDevices: this.boundDevices.size
41753
+ boundDevices: this.boundDevices.size,
41754
+ source: stored === null ? "seed" : "durable-index"
41658
41755
  } });
41756
+ this.armReconcile(stored === null ? "seed" : "reconcile");
41659
41757
  }
41660
41758
  stop() {
41661
41759
  if (this.timer !== null) clearInterval(this.timer);
41662
41760
  this.timer = null;
41663
41761
  this.lastWritten.clear();
41664
41762
  }
41763
+ /** Resolves when the armed reconcile has settled. Tests await it; production
41764
+ * never does — that is the entire point of arming it. */
41765
+ async settleReconcile() {
41766
+ await this.reconcile;
41767
+ }
41768
+ /** Every camera currently on the work list, sorted — the value persisted as
41769
+ * the durable index. */
41770
+ get boundDeviceIds() {
41771
+ return [...this.boundDevices].sort((a, b) => a - b);
41772
+ }
41665
41773
  /**
41666
41774
  * Keep recognition overlays event-fresh. The persisted-track hydration below
41667
41775
  * remains the restart/cold-start authority; lifecycle events only advance it.
@@ -41693,19 +41801,124 @@ var OsdManager = class {
41693
41801
  });
41694
41802
  }
41695
41803
  /**
41696
- * Reconcile the work list against the store rather than trusting an event
41697
- * to have arrived (D8). Cheap: one settings read per camera, on the tick
41698
- * cadence, not per frame.
41804
+ * Reconcile the durable index against the store rather than trusting it to be
41805
+ * right (D8 an index nothing checks is an index that eventually lies).
41806
+ *
41807
+ * Background work, and BOUNDED: cameras only, four reads in flight. Two rules
41808
+ * keep it from destroying work:
41809
+ *
41810
+ * - a binding read that FAILED decides nothing — the camera keeps whatever the
41811
+ * index already said (D49);
41812
+ * - a camera absent from the listing is left alone. The device restore pass
41813
+ * runs for minutes after boot (D167), so "not published yet" and "deleted"
41814
+ * look identical from here, and only one of them may unbind a camera. A
41815
+ * real removal comes from `clearSlotBinding`, which is authoritative.
41816
+ *
41817
+ * Every correction is logged with its `deviceId`, because a silent repair is
41818
+ * indistinguishable from an index that was right all along.
41819
+ */
41820
+ async reconcileBoundDevices(mode = "reconcile") {
41821
+ const cameras = await this.deps.listCameras();
41822
+ const probes = await mapWithConcurrency(cameras, this.deps.reconcileConcurrency ?? 4, async (camera) => ({
41823
+ deviceId: camera.id,
41824
+ bindings: await this.probeBindings(camera.id)
41825
+ }));
41826
+ const listed = new Set(cameras.map((camera) => camera.id));
41827
+ let unreadable = 0;
41828
+ const added = [];
41829
+ const removed = [];
41830
+ for (const probe of probes) {
41831
+ if (probe.bindings === null) {
41832
+ unreadable += 1;
41833
+ continue;
41834
+ }
41835
+ const bound = Object.keys(probe.bindings).length > 0;
41836
+ if (bound && !this.boundDevices.has(probe.deviceId)) {
41837
+ this.boundDevices.add(probe.deviceId);
41838
+ added.push(probe.deviceId);
41839
+ } else if (!bound && this.boundDevices.has(probe.deviceId)) {
41840
+ this.boundDevices.delete(probe.deviceId);
41841
+ removed.push(probe.deviceId);
41842
+ }
41843
+ }
41844
+ if (mode === "reconcile") {
41845
+ for (const deviceId of added) this.logger.warn("osd-manager: bound-device index was missing a camera that HAS bindings — corrected", {
41846
+ tags: { deviceId },
41847
+ meta: { correction: "added" }
41848
+ });
41849
+ for (const deviceId of removed) this.logger.warn("osd-manager: bound-device index claimed a camera with NO bindings — corrected", {
41850
+ tags: { deviceId },
41851
+ meta: { correction: "removed" }
41852
+ });
41853
+ }
41854
+ const notListed = [...this.boundDevices].filter((deviceId) => !listed.has(deviceId)).length;
41855
+ this.logger.info("osd-manager: bound-device reconcile complete", { meta: {
41856
+ mode,
41857
+ cameras: cameras.length,
41858
+ bound: this.boundDevices.size,
41859
+ added: added.length,
41860
+ removed: removed.length,
41861
+ unreadable,
41862
+ notListed
41863
+ } });
41864
+ if (mode === "seed" || added.length > 0 || removed.length > 0) await this.persistBoundIndex(null);
41865
+ }
41866
+ /**
41867
+ * Run the reconcile in the BACKGROUND, once at a time.
41868
+ *
41869
+ * Nothing on the boot path may await it — that await is what took the
41870
+ * capability graph down for nine minutes. A second arming while one is in
41871
+ * flight is dropped rather than queued: both passes would compute over the
41872
+ * same store and race on the index write.
41873
+ */
41874
+ armReconcile(mode) {
41875
+ if (this.reconcile !== null) return;
41876
+ this.reconcile = this.reconcileBoundDevices(mode).catch((err) => {
41877
+ this.logger.warn("osd-manager: bound-device reconcile failed — the index keeps its current contents", { meta: {
41878
+ mode,
41879
+ error: String(err)
41880
+ } });
41881
+ }).finally(() => {
41882
+ this.reconcile = null;
41883
+ });
41884
+ }
41885
+ /** The persisted index, or `null` when it has never been written (or could
41886
+ * not be read — both mean "derive it from a scan", which is safe). */
41887
+ async readBoundIndex() {
41888
+ try {
41889
+ return await this.deps.boundIndex.get();
41890
+ } catch (err) {
41891
+ this.logger.warn("osd-manager: bound-device index unreadable — seeding from a camera scan", { meta: { error: String(err) } });
41892
+ return null;
41893
+ }
41894
+ }
41895
+ /**
41896
+ * Persist the work list. Called from every place a binding is written, so the
41897
+ * index cannot drift from the bindings without the write that caused the drift
41898
+ * also failing — and that failure is logged, and repaired by the reconcile.
41699
41899
  */
41700
- async reloadBoundDevices() {
41701
- const devices = await this.safeListDevices();
41702
- const next = /* @__PURE__ */ new Set();
41703
- for (const device of devices) {
41704
- const bindings = await this.readBindings(device.id);
41705
- if (Object.keys(bindings).length > 0) next.add(device.id);
41900
+ async persistBoundIndex(deviceId) {
41901
+ try {
41902
+ await this.deps.boundIndex.set([...this.boundDeviceIds]);
41903
+ } catch (err) {
41904
+ this.logger.warn("osd-manager: bound-device index write failed — the next reconcile repairs it", {
41905
+ ...deviceId === null ? {} : { tags: { deviceId } },
41906
+ meta: { error: String(err) }
41907
+ });
41908
+ }
41909
+ }
41910
+ /** One camera's bindings, or `null` when the read FAILED. Distinct from an
41911
+ * empty map on purpose: only the second may unbind a camera (D49). */
41912
+ async probeBindings(deviceId) {
41913
+ try {
41914
+ return await this.deps.bindings(deviceId).get();
41915
+ } catch (err) {
41916
+ this.logger.warn("osd-manager: binding read failed during reconcile — this camera keeps its index entry", {
41917
+ tags: { deviceId },
41918
+ meta: { error: String(err) }
41919
+ });
41920
+ return null;
41706
41921
  }
41707
- this.boundDevices.clear();
41708
- for (const id of next) this.boundDevices.add(id);
41709
41922
  }
41710
41923
  getDeviceOsd = async ({ deviceId }) => {
41711
41924
  const status = await this.deps.readOsdStatus(deviceId);
@@ -41756,6 +41969,7 @@ var OsdManager = class {
41756
41969
  await this.assertSlotExists(deviceId, slotId);
41757
41970
  await this.deps.bindings(deviceId).update((prev) => withBinding(prev, slotId, binding));
41758
41971
  this.boundDevices.add(deviceId);
41972
+ await this.persistBoundIndex(deviceId);
41759
41973
  this.logger.info("osd-manager: slot binding saved", {
41760
41974
  tags: { deviceId },
41761
41975
  meta: {
@@ -41780,6 +41994,7 @@ var OsdManager = class {
41780
41994
  this.lastWritten.delete(cacheKey(deviceId, slotId));
41781
41995
  const remaining = await this.readBindings(deviceId);
41782
41996
  if (Object.keys(remaining).length === 0) this.boundDevices.delete(deviceId);
41997
+ await this.persistBoundIndex(deviceId);
41783
41998
  this.logger.info("osd-manager: slot binding cleared — slot keeps its last text", {
41784
41999
  tags: { deviceId },
41785
42000
  meta: { slotId }
@@ -41820,6 +42035,7 @@ var OsdManager = class {
41820
42035
  for (const key of [...this.lastWritten.keys()]) if (key.startsWith(`${targetDeviceId}:`)) this.lastWritten.delete(key);
41821
42036
  if (Object.keys(copiedBindings).length > 0) this.boundDevices.add(targetDeviceId);
41822
42037
  else this.boundDevices.delete(targetDeviceId);
42038
+ await this.persistBoundIndex(targetDeviceId);
41823
42039
  await this.renderDeviceInternal(targetDeviceId, null);
41824
42040
  this.logger.info("osd-manager: camera configuration copied", {
41825
42041
  tags: { deviceId: targetDeviceId },
@@ -42048,6 +42264,7 @@ var OsdManagerAddon = class extends BaseAddon {
42048
42264
  async onInitialize() {
42049
42265
  const ctx = this.ctx;
42050
42266
  const store = new OsdBindingsStore((deviceId, key, schema, fallback) => this.deviceState(deviceId, key, schema, fallback));
42267
+ const boundIndex = this.state(OSD_BOUND_INDEX_KEY, OsdBoundIndexSchema, null);
42051
42268
  const manager = new OsdManager({
42052
42269
  logger: ctx.logger,
42053
42270
  readOsdStatus: async (deviceId) => {
@@ -42084,6 +42301,15 @@ var OsdManagerAddon = class extends BaseAddon {
42084
42301
  name: d.name
42085
42302
  }));
42086
42303
  },
42304
+ listCameras: async () => {
42305
+ return (await ctx.api.deviceManager.listAll.query({
42306
+ isCamera: true,
42307
+ projection: "slim"
42308
+ })).map((d) => ({
42309
+ id: d.id,
42310
+ name: d.name
42311
+ }));
42312
+ },
42087
42313
  listDeviceCaps: async (deviceId) => {
42088
42314
  const bindings = await ctx.api.deviceManager.getBindings.query({ deviceId });
42089
42315
  return [...new Set(bindings.entries.map((e) => e.capName))];
@@ -42111,7 +42337,8 @@ var OsdManagerAddon = class extends BaseAddon {
42111
42337
  } } : {}
42112
42338
  };
42113
42339
  },
42114
- bindings: (deviceId) => store.forDevice(deviceId)
42340
+ bindings: (deviceId) => store.forDevice(deviceId),
42341
+ boundIndex
42115
42342
  });
42116
42343
  this.manager = manager;
42117
42344
  this.subscribe({ category: EventCategory.PipelineAnalyticsTrackLifecycle }, (event) => {
@@ -42123,7 +42350,9 @@ var OsdManagerAddon = class extends BaseAddon {
42123
42350
  this.subscribe({ category: EventCategory.PipelineAnalyticsPlateGalleryChanged }, (event) => {
42124
42351
  manager.onRecognitionGalleryChanged(event.data.deviceId);
42125
42352
  });
42126
- await manager.start(Math.max(1, this.config.tickSeconds) * 1e3);
42353
+ manager.start(Math.max(1, this.config.tickSeconds) * 1e3).catch((err) => {
42354
+ ctx.logger.error("osd-manager: render loop failed to start — no camera will be re-rendered", { meta: { error: err instanceof Error ? err.message : String(err) } });
42355
+ });
42127
42356
  const pagesProvider = {
42128
42357
  id: this.id,
42129
42358
  listPages: () => this.pages
package/dist/index.mjs CHANGED
@@ -30557,9 +30557,21 @@ var RecordingLocationUsageSchema = object({
30557
30557
  * previously rendered as two identical "disks" with a nonsensical used
30558
30558
  * split — hydrate attribution across aliases is arbitrary by nature. */
30559
30559
  locationIds: array(string()).optional(),
30560
- /** Bytes of recordings stored on this PHYSICAL volume (all aliases). */
30560
+ /**
30561
+ * Filesystem root of the physical volume this row accounts — the only
30562
+ * operator-legible identity when a location has no `displayName` yet, and
30563
+ * what a "which disk is full" alert has to name. OPTIONAL for the same
30564
+ * train-skew reason as `oldestMs`: a recorder that predates the field omits
30565
+ * it, and this schema must keep validating that older provider's payload.
30566
+ */
30567
+ root: string().optional(),
30568
+ /** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
30569
+ * the footage's SHARE of the volume, not how full the volume is — the disk
30570
+ * also holds everything that is not recordings. Volume fill is
30571
+ * `(totalBytes - availableBytes) / totalBytes`. */
30561
30572
  usedBytes: number(),
30562
- /** Free bytes on the location's volume; null when capacity is unknown (remote). */
30573
+ /** Free bytes on the location's volume; null when capacity is unknown
30574
+ * (remote/unstattable — the recorder logs the statfs failure with the root). */
30563
30575
  availableBytes: number().nullable(),
30564
30576
  /** Total bytes of the location's volume; null when unknown. */
30565
30577
  totalBytes: number().nullable()
@@ -30571,7 +30583,15 @@ var RecordingStorageUsageSchema = object({
30571
30583
  nodeId: string(),
30572
30584
  totalUsedBytes: number(),
30573
30585
  devices: array(RecordingDeviceUsageSchema),
30574
- locations: array(RecordingLocationUsageSchema)
30586
+ /**
30587
+ * Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
30588
+ * of the payload without it: the hub serves this method through a BAKED
30589
+ * router, so a hub whose framework train predates a change to this array
30590
+ * strips it out of an answer a newer recorder happily produced. A UI that
30591
+ * dereferences it unconditionally crashes the whole Storage page over a
30592
+ * missing disk bar.
30593
+ */
30594
+ locations: array(RecordingLocationUsageSchema).optional()
30575
30595
  });
30576
30596
  /**
30577
30597
  * The OPERATOR-ARMED half of multi-location recordings (D116).
@@ -40751,8 +40771,14 @@ Object.freeze({
40751
40771
  "network-access": "ingress",
40752
40772
  "smtp-provider": "email"
40753
40773
  });
40774
+ /** Schema defaults — an untouched sub-field must author exactly these. */
40775
+ var NC_AUDIO_DEFAULTS = {
40776
+ hitPercent: 60,
40777
+ samplingSeconds: 10
40778
+ };
40754
40779
  new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
40755
40780
  new Set(["devices", "classes"]);
40781
+ NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
40756
40782
  var WEEKDAY_TO_DAY = {
40757
40783
  Sun: 0,
40758
40784
  Mon: 1,
@@ -41225,6 +41251,37 @@ var OsdBindingsStore = class {
41225
41251
  }
41226
41252
  };
41227
41253
  //#endregion
41254
+ //#region src/bound-index.ts
41255
+ /**
41256
+ * The durable index of cameras that have at least one OSD binding.
41257
+ *
41258
+ * WHY IT EXISTS. The render loop's work list used to be DERIVED at boot: list
41259
+ * every device in the directory, read each one's binding block, keep the ones
41260
+ * that answered non-empty. Every one of those reads is a UDS round-trip to the
41261
+ * settings store, and they ran one at a time. Measured on the boot of
41262
+ * 2026-08-19: 976 devices × 559 ms under boot load = 546 s in which
41263
+ * `OsdManager.start()` had not returned — and `start()` was awaited inside
41264
+ * `onInitialize()`, so for nine minutes the `osd-manager` and
41265
+ * `addon-pages-source` capabilities did not exist ANYWHERE in the cluster
41266
+ * (docs/architecture/addon-lifecycle.md). The answer it took nine minutes to
41267
+ * compute was `boundDevices = 0`.
41268
+ *
41269
+ * Filtering to cameras and fanning the reads out makes that scan cheap, but it
41270
+ * is still a scan. The index is the actual fix: the work list is WRITTEN where
41271
+ * bindings are written, so boot reads one key and is done in milliseconds. The
41272
+ * scan stays, in the background, as the reconcile — because an index nothing
41273
+ * checks is an index that eventually lies.
41274
+ *
41275
+ * The value is the SET of bound camera ids, serialised as a sorted array.
41276
+ * `null` is not "no cameras are bound", it is "this hub has never written the
41277
+ * index" — the two must stay distinguishable, because the first is authoritative
41278
+ * and the second means seed it from a scan. An empty ARRAY is the authoritative
41279
+ * "nothing is bound".
41280
+ */
41281
+ /** Store key inside the addon's own (global) store. */
41282
+ var OSD_BOUND_INDEX_KEY = "boundDeviceIds";
41283
+ var OsdBoundIndexSchema = array(number().int().positive()).nullable();
41284
+ //#endregion
41228
41285
  //#region src/gate.ts
41229
41286
  /**
41230
41287
  * The display gate — "should this slot show its value right now?".
@@ -41301,6 +41358,27 @@ function evaluateGate(input) {
41301
41358
  return OPEN;
41302
41359
  }
41303
41360
  //#endregion
41361
+ //#region src/lane-pool.ts
41362
+ /**
41363
+ * Apply `mapper` to every item with at most `limit` in flight at once.
41364
+ *
41365
+ * A rejecting mapper rejects the whole call (same contract as `Promise.all`);
41366
+ * a caller that must not fail the sweep for one bad unit catches INSIDE the
41367
+ * mapper — which is what every caller in this package does, because a unit that
41368
+ * threw must never be the reason the next camera is not reconciled.
41369
+ */
41370
+ async function mapWithConcurrency(items, limit, mapper) {
41371
+ const results = new Array(items.length);
41372
+ if (items.length === 0) return results;
41373
+ const lanes = Math.max(1, Math.min(Math.trunc(limit), items.length));
41374
+ const entries = items.entries();
41375
+ const lane = async () => {
41376
+ for (const [index, item] of entries) results[index] = await mapper(item, index);
41377
+ };
41378
+ await Promise.all(Array.from({ length: lanes }, () => lane()));
41379
+ return results;
41380
+ }
41381
+ //#endregion
41304
41382
  //#region src/format.ts
41305
41383
  /** Tokens `formatClock` understands. Anything else in the pattern is literal. */
41306
41384
  var CLOCK_TOKENS = [
@@ -41633,31 +41711,61 @@ var OsdManager = class {
41633
41711
  recognitionGeneration = /* @__PURE__ */ new Map();
41634
41712
  recognitionInvalidatedAt = /* @__PURE__ */ new Map();
41635
41713
  timer = null;
41714
+ /** The background reconcile, while one is running. Held so a second arming
41715
+ * cannot overlap the first — two concurrent passes would race on the index
41716
+ * write and could persist the older of the two answers. */
41717
+ reconcile = null;
41636
41718
  constructor(deps) {
41637
41719
  this.deps = deps;
41638
41720
  this.logger = deps.logger;
41639
41721
  this.now = deps.now ?? (() => Date.now());
41640
41722
  }
41641
41723
  /**
41642
- * Learn which cameras have bindings, then start ticking. A camera with no
41643
- * binding costs nothing — it is never in `boundDevices`, so the loop
41644
- * never reads its state and never touches its firmware.
41724
+ * Read the durable work list, start ticking, and arm the reconcile BEHIND
41725
+ * both.
41726
+ *
41727
+ * This used to derive the work list first: list every device, read every
41728
+ * device's binding block, one at a time. On 2026-08-19 that was 976 devices ×
41729
+ * 559 ms = 546 s, awaited inside `onInitialize`, so every capability this
41730
+ * addon declares was absent cluster-wide for nine minutes — and the answer was
41731
+ * `boundDevices = 0`. A camera with no binding still costs nothing at runtime;
41732
+ * what it used to cost was the boot.
41733
+ *
41734
+ * The scan did not go away, it moved: it is the reconcile, it runs in the
41735
+ * background, and it is the only thing that keeps the index from silently
41736
+ * lying.
41645
41737
  */
41646
41738
  async start(tickMs) {
41647
- await this.reloadBoundDevices();
41739
+ const stored = await this.readBoundIndex();
41740
+ if (stored !== null) {
41741
+ this.boundDevices.clear();
41742
+ for (const deviceId of stored) this.boundDevices.add(deviceId);
41743
+ }
41648
41744
  this.timer = setInterval(() => {
41649
41745
  this.renderAllBound();
41650
41746
  }, tickMs);
41651
41747
  this.logger.info("osd-manager: render loop started", { meta: {
41652
41748
  tickMs,
41653
- boundDevices: this.boundDevices.size
41749
+ boundDevices: this.boundDevices.size,
41750
+ source: stored === null ? "seed" : "durable-index"
41654
41751
  } });
41752
+ this.armReconcile(stored === null ? "seed" : "reconcile");
41655
41753
  }
41656
41754
  stop() {
41657
41755
  if (this.timer !== null) clearInterval(this.timer);
41658
41756
  this.timer = null;
41659
41757
  this.lastWritten.clear();
41660
41758
  }
41759
+ /** Resolves when the armed reconcile has settled. Tests await it; production
41760
+ * never does — that is the entire point of arming it. */
41761
+ async settleReconcile() {
41762
+ await this.reconcile;
41763
+ }
41764
+ /** Every camera currently on the work list, sorted — the value persisted as
41765
+ * the durable index. */
41766
+ get boundDeviceIds() {
41767
+ return [...this.boundDevices].sort((a, b) => a - b);
41768
+ }
41661
41769
  /**
41662
41770
  * Keep recognition overlays event-fresh. The persisted-track hydration below
41663
41771
  * remains the restart/cold-start authority; lifecycle events only advance it.
@@ -41689,19 +41797,124 @@ var OsdManager = class {
41689
41797
  });
41690
41798
  }
41691
41799
  /**
41692
- * Reconcile the work list against the store rather than trusting an event
41693
- * to have arrived (D8). Cheap: one settings read per camera, on the tick
41694
- * cadence, not per frame.
41800
+ * Reconcile the durable index against the store rather than trusting it to be
41801
+ * right (D8 an index nothing checks is an index that eventually lies).
41802
+ *
41803
+ * Background work, and BOUNDED: cameras only, four reads in flight. Two rules
41804
+ * keep it from destroying work:
41805
+ *
41806
+ * - a binding read that FAILED decides nothing — the camera keeps whatever the
41807
+ * index already said (D49);
41808
+ * - a camera absent from the listing is left alone. The device restore pass
41809
+ * runs for minutes after boot (D167), so "not published yet" and "deleted"
41810
+ * look identical from here, and only one of them may unbind a camera. A
41811
+ * real removal comes from `clearSlotBinding`, which is authoritative.
41812
+ *
41813
+ * Every correction is logged with its `deviceId`, because a silent repair is
41814
+ * indistinguishable from an index that was right all along.
41815
+ */
41816
+ async reconcileBoundDevices(mode = "reconcile") {
41817
+ const cameras = await this.deps.listCameras();
41818
+ const probes = await mapWithConcurrency(cameras, this.deps.reconcileConcurrency ?? 4, async (camera) => ({
41819
+ deviceId: camera.id,
41820
+ bindings: await this.probeBindings(camera.id)
41821
+ }));
41822
+ const listed = new Set(cameras.map((camera) => camera.id));
41823
+ let unreadable = 0;
41824
+ const added = [];
41825
+ const removed = [];
41826
+ for (const probe of probes) {
41827
+ if (probe.bindings === null) {
41828
+ unreadable += 1;
41829
+ continue;
41830
+ }
41831
+ const bound = Object.keys(probe.bindings).length > 0;
41832
+ if (bound && !this.boundDevices.has(probe.deviceId)) {
41833
+ this.boundDevices.add(probe.deviceId);
41834
+ added.push(probe.deviceId);
41835
+ } else if (!bound && this.boundDevices.has(probe.deviceId)) {
41836
+ this.boundDevices.delete(probe.deviceId);
41837
+ removed.push(probe.deviceId);
41838
+ }
41839
+ }
41840
+ if (mode === "reconcile") {
41841
+ for (const deviceId of added) this.logger.warn("osd-manager: bound-device index was missing a camera that HAS bindings — corrected", {
41842
+ tags: { deviceId },
41843
+ meta: { correction: "added" }
41844
+ });
41845
+ for (const deviceId of removed) this.logger.warn("osd-manager: bound-device index claimed a camera with NO bindings — corrected", {
41846
+ tags: { deviceId },
41847
+ meta: { correction: "removed" }
41848
+ });
41849
+ }
41850
+ const notListed = [...this.boundDevices].filter((deviceId) => !listed.has(deviceId)).length;
41851
+ this.logger.info("osd-manager: bound-device reconcile complete", { meta: {
41852
+ mode,
41853
+ cameras: cameras.length,
41854
+ bound: this.boundDevices.size,
41855
+ added: added.length,
41856
+ removed: removed.length,
41857
+ unreadable,
41858
+ notListed
41859
+ } });
41860
+ if (mode === "seed" || added.length > 0 || removed.length > 0) await this.persistBoundIndex(null);
41861
+ }
41862
+ /**
41863
+ * Run the reconcile in the BACKGROUND, once at a time.
41864
+ *
41865
+ * Nothing on the boot path may await it — that await is what took the
41866
+ * capability graph down for nine minutes. A second arming while one is in
41867
+ * flight is dropped rather than queued: both passes would compute over the
41868
+ * same store and race on the index write.
41869
+ */
41870
+ armReconcile(mode) {
41871
+ if (this.reconcile !== null) return;
41872
+ this.reconcile = this.reconcileBoundDevices(mode).catch((err) => {
41873
+ this.logger.warn("osd-manager: bound-device reconcile failed — the index keeps its current contents", { meta: {
41874
+ mode,
41875
+ error: String(err)
41876
+ } });
41877
+ }).finally(() => {
41878
+ this.reconcile = null;
41879
+ });
41880
+ }
41881
+ /** The persisted index, or `null` when it has never been written (or could
41882
+ * not be read — both mean "derive it from a scan", which is safe). */
41883
+ async readBoundIndex() {
41884
+ try {
41885
+ return await this.deps.boundIndex.get();
41886
+ } catch (err) {
41887
+ this.logger.warn("osd-manager: bound-device index unreadable — seeding from a camera scan", { meta: { error: String(err) } });
41888
+ return null;
41889
+ }
41890
+ }
41891
+ /**
41892
+ * Persist the work list. Called from every place a binding is written, so the
41893
+ * index cannot drift from the bindings without the write that caused the drift
41894
+ * also failing — and that failure is logged, and repaired by the reconcile.
41695
41895
  */
41696
- async reloadBoundDevices() {
41697
- const devices = await this.safeListDevices();
41698
- const next = /* @__PURE__ */ new Set();
41699
- for (const device of devices) {
41700
- const bindings = await this.readBindings(device.id);
41701
- if (Object.keys(bindings).length > 0) next.add(device.id);
41896
+ async persistBoundIndex(deviceId) {
41897
+ try {
41898
+ await this.deps.boundIndex.set([...this.boundDeviceIds]);
41899
+ } catch (err) {
41900
+ this.logger.warn("osd-manager: bound-device index write failed — the next reconcile repairs it", {
41901
+ ...deviceId === null ? {} : { tags: { deviceId } },
41902
+ meta: { error: String(err) }
41903
+ });
41904
+ }
41905
+ }
41906
+ /** One camera's bindings, or `null` when the read FAILED. Distinct from an
41907
+ * empty map on purpose: only the second may unbind a camera (D49). */
41908
+ async probeBindings(deviceId) {
41909
+ try {
41910
+ return await this.deps.bindings(deviceId).get();
41911
+ } catch (err) {
41912
+ this.logger.warn("osd-manager: binding read failed during reconcile — this camera keeps its index entry", {
41913
+ tags: { deviceId },
41914
+ meta: { error: String(err) }
41915
+ });
41916
+ return null;
41702
41917
  }
41703
- this.boundDevices.clear();
41704
- for (const id of next) this.boundDevices.add(id);
41705
41918
  }
41706
41919
  getDeviceOsd = async ({ deviceId }) => {
41707
41920
  const status = await this.deps.readOsdStatus(deviceId);
@@ -41752,6 +41965,7 @@ var OsdManager = class {
41752
41965
  await this.assertSlotExists(deviceId, slotId);
41753
41966
  await this.deps.bindings(deviceId).update((prev) => withBinding(prev, slotId, binding));
41754
41967
  this.boundDevices.add(deviceId);
41968
+ await this.persistBoundIndex(deviceId);
41755
41969
  this.logger.info("osd-manager: slot binding saved", {
41756
41970
  tags: { deviceId },
41757
41971
  meta: {
@@ -41776,6 +41990,7 @@ var OsdManager = class {
41776
41990
  this.lastWritten.delete(cacheKey(deviceId, slotId));
41777
41991
  const remaining = await this.readBindings(deviceId);
41778
41992
  if (Object.keys(remaining).length === 0) this.boundDevices.delete(deviceId);
41993
+ await this.persistBoundIndex(deviceId);
41779
41994
  this.logger.info("osd-manager: slot binding cleared — slot keeps its last text", {
41780
41995
  tags: { deviceId },
41781
41996
  meta: { slotId }
@@ -41816,6 +42031,7 @@ var OsdManager = class {
41816
42031
  for (const key of [...this.lastWritten.keys()]) if (key.startsWith(`${targetDeviceId}:`)) this.lastWritten.delete(key);
41817
42032
  if (Object.keys(copiedBindings).length > 0) this.boundDevices.add(targetDeviceId);
41818
42033
  else this.boundDevices.delete(targetDeviceId);
42034
+ await this.persistBoundIndex(targetDeviceId);
41819
42035
  await this.renderDeviceInternal(targetDeviceId, null);
41820
42036
  this.logger.info("osd-manager: camera configuration copied", {
41821
42037
  tags: { deviceId: targetDeviceId },
@@ -42044,6 +42260,7 @@ var OsdManagerAddon = class extends BaseAddon {
42044
42260
  async onInitialize() {
42045
42261
  const ctx = this.ctx;
42046
42262
  const store = new OsdBindingsStore((deviceId, key, schema, fallback) => this.deviceState(deviceId, key, schema, fallback));
42263
+ const boundIndex = this.state(OSD_BOUND_INDEX_KEY, OsdBoundIndexSchema, null);
42047
42264
  const manager = new OsdManager({
42048
42265
  logger: ctx.logger,
42049
42266
  readOsdStatus: async (deviceId) => {
@@ -42080,6 +42297,15 @@ var OsdManagerAddon = class extends BaseAddon {
42080
42297
  name: d.name
42081
42298
  }));
42082
42299
  },
42300
+ listCameras: async () => {
42301
+ return (await ctx.api.deviceManager.listAll.query({
42302
+ isCamera: true,
42303
+ projection: "slim"
42304
+ })).map((d) => ({
42305
+ id: d.id,
42306
+ name: d.name
42307
+ }));
42308
+ },
42083
42309
  listDeviceCaps: async (deviceId) => {
42084
42310
  const bindings = await ctx.api.deviceManager.getBindings.query({ deviceId });
42085
42311
  return [...new Set(bindings.entries.map((e) => e.capName))];
@@ -42107,7 +42333,8 @@ var OsdManagerAddon = class extends BaseAddon {
42107
42333
  } } : {}
42108
42334
  };
42109
42335
  },
42110
- bindings: (deviceId) => store.forDevice(deviceId)
42336
+ bindings: (deviceId) => store.forDevice(deviceId),
42337
+ boundIndex
42111
42338
  });
42112
42339
  this.manager = manager;
42113
42340
  this.subscribe({ category: EventCategory.PipelineAnalyticsTrackLifecycle }, (event) => {
@@ -42119,7 +42346,9 @@ var OsdManagerAddon = class extends BaseAddon {
42119
42346
  this.subscribe({ category: EventCategory.PipelineAnalyticsPlateGalleryChanged }, (event) => {
42120
42347
  manager.onRecognitionGalleryChanged(event.data.deviceId);
42121
42348
  });
42122
- await manager.start(Math.max(1, this.config.tickSeconds) * 1e3);
42349
+ manager.start(Math.max(1, this.config.tickSeconds) * 1e3).catch((err) => {
42350
+ ctx.logger.error("osd-manager: render loop failed to start — no camera will be re-rendered", { meta: { error: err instanceof Error ? err.message : String(err) } });
42351
+ });
42123
42352
  const pagesProvider = {
42124
42353
  id: this.id,
42125
42354
  listPages: () => this.pages
@@ -1,5 +1,5 @@
1
1
  import { h as e, l as t, u as n, y as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
2
- import { o as i, s as a } from "./responsive-BGccn_P-.mjs";
2
+ import { o as i, s as a } from "./responsive-B6685e2G.mjs";
3
3
  import { n as o, r as s, t as c } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
4
4
  var l = a("chevron-down", [["path", {
5
5
  d: "m6 9 6 6 6-6",
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-DjjOoJbP.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CsJNPlNP.mjs";
2
2
  export { t as get, e as init };
@@ -1,6 +1,6 @@
1
1
  import { c as e, g as t, h as n, l as r, n as i, p as a, r as o, t as s, u as c, y as l } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
2
2
  import "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
3
- import { g as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Bg1FVGv2.mjs";
3
+ import { g as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C9zRtW6C.mjs";
4
4
  //#region ../ui-library/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
5
5
  l();
6
6
  var d = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), f = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), p = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), m = (e) => {
@@ -1,4 +1,4 @@
1
- import { s as e } from "./responsive-BGccn_P-.mjs";
1
+ import { s as e } from "./responsive-B6685e2G.mjs";
2
2
  var t = e("eye-off", [
3
3
  ["path", {
4
4
  d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
@@ -1,4 +1,4 @@
1
- import { s as e } from "./responsive-BGccn_P-.mjs";
1
+ import { s as e } from "./responsive-B6685e2G.mjs";
2
2
  var t = e("trash-2", [
3
3
  ["path", {
4
4
  d: "M10 11v6",
@@ -1,5 +1,5 @@
1
1
  import { c as e, h as t, p as n, y as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
2
- import { s as i } from "./responsive-BGccn_P-.mjs";
2
+ import { s as i } from "./responsive-B6685e2G.mjs";
3
3
  var a = i("camera", [["path", {
4
4
  d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
5
5
  key: "18u6gg"
@@ -2753,7 +2753,7 @@ async function rr(e) {
2753
2753
  }
2754
2754
  }
2755
2755
  async function ir() {
2756
- return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-r9x9uc5A.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-Yo6BXk0X.mjs")).catch((e) => {
2757
2757
  throw tr = void 0, e;
2758
2758
  }), tr;
2759
2759
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-osd-manager",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "description": "Binds camera on-screen-display slots to live state and recognitions",
5
5
  "keywords": [
6
6
  "camstack",
@@ -1,26 +0,0 @@
1
- //#region \0virtual:mf:__mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js
2
- var e = "__mf_init__virtual:mf:__mfe_internal__addon_osd_manager_page__mf_v__runtimeInit__mf_v__.js__", t = globalThis[e];
3
- if (!t) {
4
- let n, r, i = new Promise((e, t) => {
5
- n = e, r = t;
6
- });
7
- t = globalThis[e] = {
8
- initPromise: i,
9
- initResolve: n,
10
- initReject: r
11
- };
12
- }
13
- var n = t.initPromise, r = "__mf_module_cache__";
14
- globalThis[r] ||= {
15
- share: {},
16
- remote: {}
17
- }, globalThis[r].share ||= {}, globalThis[r].remote ||= {};
18
- var i = globalThis[r], a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x = (e) => {
19
- e.ACCESSORY_LABEL, e.ACCESS_ROLES, e.ALEXA_EGRESS_PROFILE, a = e.ALL_CAPABILITY_DEFINITIONS, e.APPLE_SA_TO_MACRO, e.AUDIO_ANALYSIS_CAP_NAME, e.AUDIO_BACKEND_CHOICES, e.AUDIO_MACRO_LABELS, e.AUDIO_PRESETS, e.AccessoriesStatusSchema, e.AccessoryKind, e.AddBrokerInputSchema, e.AddonAutoUpdateSchema, e.AddonListItemSchema, e.AddonPageDeclarationSchema, e.AddonPageInfoSchema, e.AdoptionAdoptInputSchema, e.AdoptionAdoptResultSchema, e.AdoptionCandidateResultSchema, e.AdoptionFilterSchema, e.AdoptionGetCandidateInputSchema, e.AdoptionJobSchema, e.AdoptionJobStateSchema, e.AdoptionListCandidatesInputSchema, e.AdoptionListCandidatesOutputSchema, e.AdoptionOutcomeSchema, e.AdoptionReleaseInputSchema, e.AdoptionStatusSchema, e.AgentLoadSummarySchema, e.AirQualitySensorStatusSchema, e.AlarmArmModeSchema, e.AlarmPanelStatusSchema, o = e.AlarmStateSchema, e.AlertSchema, e.AlertSeveritySchema, e.AlertSourceSchema, e.AlertStatusSchema, e.AmbientLightSensorStatusSchema, e.ApiKeyRecordSchema, e.ApiKeySummarySchema, e.ArchiveEntrySchema, e.ArchiveManifestSchema, e.AttachmentMediaTypeSchema, e.AttachmentSchema, e.AudioAnalysisResultSchema, e.AudioAnalysisSettingsSchema, e.AudioChunkInputSchema, e.AudioClassSummarySchema, e.AudioClassificationLabelSchema, e.AudioClassificationResultSchema, e.AudioCodecInfoSchema, e.AudioDecodeSessionConfigSchema, e.AudioEncodeSchema, e.AudioEncodeSessionConfigSchema, e.AudioEncodedChunkSchema, e.AudioEventSchema, e.AudioLevelSchema, e.AudioMetricsHistoryPointSchema, e.AudioMetricsHistorySchema, e.AudioMetricsSnapshotSchema, e.AudioPcmChunkSchema, e.AuthResultSchema, e.AutoUpdateSettingsSchema, e.AutomationActionSchema, e.AutomationConditionOperatorSchema, e.AutomationConditionSchema, e.AutomationControlStatusSchema, e.AutomationRecipeSchema, e.AutomationTriggerSchema, e.AvailableIntegrationTypeSchema, e.BACKEND_TO_FORMAT, e.BASE_LIVE_EGRESS_PROFILE, e.BATTERY_DEVICE_PROFILE, e.BATTERY_UNREACHABLE_AFTER_MS, e.BOOT_RECOVERY_BACKOFF_MS, e.BacklightModeSchema, e.BackupDestinationInfoSchema, e.BackupEntrySchema, e.BaseAddon, e.BaseDevice, e.BaseDeviceProvider, e.BatteryStatusSchema, e.BinaryStatusSchema, e.BoundingBoxSchema, e.BrightnessStatusSchema, e.BrokerAddInputSchema, e.BrokerAudioClientSchema, e.BrokerClientsSchema, e.BrokerConnectionDetailsSchema, e.BrokerConsumerAttributionSchema, e.BrokerConsumerKindSchema, e.BrokerDecodedClientSchema, e.BrokerEncodedClientSchema, e.BrokerGetStateInputSchema, e.BrokerInfoSchema, e.BrokerProviderInfoSchema, e.BrokerPublishInputSchema, e.BrokerRegistryStatusSchema, e.BrokerRtspClientSchema, e.BrokerStatsSchema, e.BrokerStatusEnum, e.BrokerStatusSchema, e.BrokerSubscribeInputSchema, e.BrokerSubscribeResultSchema, e.BrokerTestConnectionResultSchema, e.BrokerUnsubscribeInputSchema, e.CAMERA_SWITCH_CATALOG, e.CAMERA_SWITCH_ORDER, e.CAM_PROFILE_ORDER, e.CAPABILITY_NAMES, e.CAPABILITY_ROUTER_KEYS, e.CAP_NAMES_WITH_STATUS, e.CAP_NODE_PIN_CONTEXT_KEY, e.CAP_PROVIDER_KIND_MAP, e.COCO_80_LABELS, e.COCO_TO_MACRO, e.CONNECTION_TEST_TIMEOUT_MS, e.CORE_BLOCKS_ADDON_ID, e.CORE_BLOCK_ADDON_PREFIX, e.CamProfileSchema, e.CamStreamDescriptorSchema, e.CamStreamKindSchema, e.CamStreamResolutionSchema, e.CameraAssignmentStatusSchema, e.CameraAudioStatusSchema, e.CameraBrokerProfileSchema, e.CameraBrokerStatusSchema, e.CameraCredentialsSchema, e.CameraCredentialsStatusSchema, e.CameraDecoderShmSchema, e.CameraDecoderStatusSchema, e.CameraDetectionPhaseSchema, e.CameraDetectionProvisioningSchema, e.CameraDetectionProvisioningStateSchema, e.CameraDetectionStatusSchema, e.CameraMetricsSchema, e.CameraMetricsWithDeviceIdSchema, e.CameraMotionStatusSchema, e.CameraRecordingModeSchema, e.CameraRecordingStatusSchema, e.CameraSourceStatusSchema, e.CameraSourceStreamSchema, e.CameraStatusDegradationReasonSchema, e.CameraStatusDegradationSchema, e.CameraStatusSchema, e.CameraStatusStageSchema, e.CameraStreamSchema, e.CameraSwitchAuthoritySchema, e.CameraSwitchGroupSchema, e.CameraSwitchIdSchema, e.CameraSwitchSchema, e.CameraSwitchUnavailableReasonSchema, e.CandidateQueryFilterSchema, e.CapScopeSchema, e.CapabilityBindingsSchema, e.CarbonMonoxideStatusSchema, e.ChargingStatus, e.ClientNetworkStatsSchema, e.ClimateControlStatusSchema, e.ClipPlaybackSchema, e.ClipSchema, e.ClusterAddonNodeDeploymentSchema, e.ClusterAddonStatusEntrySchema, e.CollectionColumnSchema, e.CollectionIndexSchema, e.ColorStatusSchema, e.ConfigEntrySchema, e.ConfigSectionWithValuesSchema, e.ConfigTabDeclarationSchema, e.ConnectionTestDescriptorSchema, e.ConnectionTestInputSchema, e.ConnectionTestOutcomeSchema, e.ConnectivityStatusSchema, e.ConsumableItemSchema, e.ConsumablesStatusSchema, e.ContactStatusSchema, e.ControlKindSchema, e.ControlStatusSchema, e.ConvertArtifactSchema, e.ConvertResultSchema, e.ConvertTargetSchema, e.CoreBlockCompileResultSchema, e.CoreBlockInputSchema, e.CoreBlockPlacementSchema, e.CoreBlockSchema, e.CoreBlockStatusSchema, e.CoverStateSchema, e.CoverStatusSchema, e.CreateApiKeyInputSchema, e.CreateApiKeyResultSchema, e.CreateIntegrationInputSchema, e.CreateScopedTokenInputSchema, e.CreateScopedTokenResultSchema, e.CreateUserInputSchema, e.CustomActionInputSchema, e.CustomModelDescriptorSchema, e.DATAPLANE_SECRET_HEADER, e.DECLARED_DEVICE_SWEEP_LIMIT, e.DECLARED_INTEGRATION_FIXED_KEY, e.DEFAULT_ADDON_PLACEMENT, e.DEFAULT_AUDIO_ANALYZER_CONFIG, e.DEFAULT_DECODER_HWACCEL_CONFIG, e.DEFAULT_DETAIL_CROP_CONVENTION, e.DEFAULT_EVENTS_BAND_BUFFER_SEC, e.DEFAULT_EVENT_COLOR, e.DEFAULT_FEATURES, e.DEFAULT_NATIVE_LEASE_SETTINGS, e.DEFAULT_POOL_MEMORY_POLICY, e.DEFAULT_RECORDING_PROFILES, e.DEFAULT_RETENTION, e.DEFAULT_RUNTIME_STATE_DURABILITY, e.DEFAULT_SCRUB_THUMBNAIL_PRESET, e.DEFAULT_TIMELAPSE_PREVIEW_TEXT, e.DETAIL_CROP_PADDING_FIELD, e.DETAIL_CROP_PADDING_KEY, e.DETAIL_CROP_SECTION_ID, e.DETAIL_CROP_SQUARE_KEY, e.DETECTION_MACRO_CLASSES, e.DETECTION_PIPELINE_CAP_NAME, e.DEVICE_BACKEND_TO_FORMAT, e.DEVICE_CAP_NAMES, e.DEVICE_PROFILES, e.DEVICE_SCOPED_CAPS, e.DEVICE_SETTINGS_CONTRIBUTION_METHODS, e.DEVICE_STATE_READERS, e.DEVICE_STATUS_METHOD, s = e.DEVICE_TYPE_CONTROL_KIND, e.DEVICE_TYPE_INFO, e.DataStoreEngineInfoSchema, e.DayNightModeSchema, e.DayNightOptionsSchema, e.DayNightSettingsPatchSchema, e.DayNightStatusSchema, e.DeclaredDevices, e.DecodedAudioChunkSchema, e.DecodedFrameSchema, e.DecoderSessionConfigSchema, e.DecoderStatsSchema, e.DeleteIntegrationResultSchema, e.DetailCropConventionSchema, e.DetectionSourceSchema, e.DeviceCodeSeveritySchema, e.DeviceConfig, e.DeviceDiscoveryStatusSchema, e.DeviceExportExposeInputSchema, e.DeviceExportStatusSchema, e.DeviceExportUnexposeInputSchema, c = e.DeviceFeature, e.DeviceInfoSchema, e.DeviceNetworkStatsSchema, l = e.DeviceRole, e.DeviceRuntimeState, e.DeviceSelectorSchema, e.DeviceStatusSchema, u = e.DeviceType, e.DiscoveredChildDeviceSchema, e.DiscoveredChildStatusSchema, e.DiscoveredDeviceSchema, e.DiscoveredTargetSchema, e.DiskReconcileJobSchema, e.DisposerChain, e.DoorbellPressEventSchema, e.DoorbellStatusSchema, e.EVENTFUL_CAP_NAMES, e.EVENT_KIND_BY_CAP, e.EVENT_PAD_MS, d = e.EVENT_TAXONOMY, e.EXPORT_DENSE_MAX_RANGES, e.EXPRESSION_BUILTINS, e.EXPRESSION_BUILTIN_NAMES, e.EXPRESSION_COMPILE_CACHE_CAPACITY, e.EXPRESSION_IDENTIFIER_RE, e.EXPRESSION_INJECTED_NOW, e.EgressEncodeSchema, e.EgressRateControlSchema, e.EgressTranscodeRequestSchema, e.EgressTranscodeSchema, e.ElementConfigStore, e.EmbeddingInfoSchema, e.EmbeddingResultSchema, e.EncodeProfileSchema, e.EncodedPacketSchema, e.EnrichedWidgetMetadataSchema, e.EnumSensorDateTimeFormatSchema, e.EnumSensorStatusSchema, f = e.EventCategory, e.EventEmitterStatusSchema, e.EventFireSchema, e.EventItemSchema, e.EventKindCategorySchema, e.EventKindDescriptorSchema, e.EventKindIconSchema, e.EventKindSchema, e.EventKindsForDeviceSchema, e.EventMediaArtifactSchema, e.EventMediaCoverageSchema, e.EventMediaKindSchema, e.EventMediaProductionSchema, e.EventSourceType, e.ExportBytesSchema, e.ExportDenseRangeSchema, e.ExportDenseSchema, e.ExportDownloadSchema, e.ExportOptionsSchema, e.ExportRecordSchema, e.ExportSetupFieldSchema, e.ExportSetupSchema, e.ExportSpeedSchema, e.ExportStateSchema, e.ExportTimelapseSchema, p = e.ExposedDeviceSchema, e.ExposureModeSchema, e.ExpressionBindingSourceSchema, e.ExpressionEvalError, e.ExpressionFieldBindingSchema, e.ExpressionGlobalBindingSchema, e.ExpressionLiteralBindingSchema, e.ExpressionParseError, e.ExpressionSourceSchema, e.FanControlStatusSchema, e.FanDirectionSchema, e.FeatureManifestSchema, e.FeatureProbeStatusSchema, e.FloodStatusSchema, e.Fmp4BoxSplitter, e.FrameHandleFormatSchema, e.FrameHandleSchema, e.FrameInputSchema, e.GasStatusSchema, e.GetStreamWithCodecInputSchema, e.GlobalMetricsSchema, e.HAP_AUDIO_BASE, e.HAP_AUDIO_BITRATE_KBPS, e.HAP_AUDIO_VBV_KBITS, e.HAP_KEYFRAME_INTERVAL_SEC, e.HF_BASE_URL, e.HF_REPO, e.HWACCEL_OPTIONS, e.HealthStatusSchema, e.HfModelResolutionSchema, e.HistoryPointSchema, e.HistoryResolutionEnum, e.HumidifierStatusSchema, e.HumiditySensorStatusSchema, e.HvacModeSchema, e.ImageContractSchema, e.ImageContractStateSchema, e.ImageRotateSchema, e.ImageSettingsOptionsSchema, e.ImageSettingsPatchSchema, e.ImageSettingsStatusSchema, e.ImageStatusSchema, e.IngestOwnerSchema, e.InstalledPackageSchema, e.IntegrationLiteSchema, e.IntegrationWithStateSchema, e.IntercomAbilitySchema, e.IntercomStatusSchema, e.KNOWN_CAP_NAMES, e.KeyEventSchema, e.LOG_LEVEL_RANK, e.LabelAttributionSchema, e.LabelDefinitionSchema, e.LabelTierSchema, e.LawnMowerActivitySchema, e.LawnMowerControlStatusSchema, e.LinkedDeviceSchema, e.LinkedDevicesModeSchema, e.LlmDefaultSchema, e.LlmDefaultSelectorSchema, e.LlmDownloadProgressSchema, e.LlmErrorCodeSchema, e.LlmGenerateBaseInputSchema, e.LlmGenerateErrSchema, e.LlmGenerateOkSchema, e.LlmGenerateResultSchema, e.LlmImageSchema, e.LlmNodeModelSchema, e.LlmProfileKindDescriptorSchema, e.LlmProfileKindSchema, e.LlmProfileSchema, e.LlmRetryPolicySchema, e.LlmRuntimeCompleteInputSchema, e.LlmRuntimeDiskUsageSchema, e.LlmRuntimeNodeSchema, e.LlmRuntimeStatusSchema, e.LlmTimeoutDefaults, e.LlmUsageRollupSchema, e.LlmUsageSchema, e.LocateSegmentResultSchema, e.LocationStatSchema, e.LockControlStatusSchema, e.LockStateSchema, e.LogEntrySchema, e.LogLevelSchema, e.LogStreamEntrySchema, e.LoginMethodContributionSchema, e.LoginStageEnum, e.MACRO_LABELS, e.MAX_CLIP_EVENT_IDS, e.MAX_CLIP_LABELS, e.MAX_CONDITION_DEPTH, e.MAX_CONDITION_LEAVES, e.MAX_EXPRESSION_AST_NODES, e.MAX_EXPRESSION_BINDINGS, e.MAX_EXPRESSION_CALL_ARGS, e.MAX_EXPRESSION_EVAL_STEPS, e.MAX_EXPRESSION_SOURCE_LENGTH, e.METHOD_ACCESS_MAP, e.METHOD_DEVICE_SELECTORS, e.MODEL_FORMATS, e.MOTION_TRIGGER_FEATURE, e.ManagedModelCatalogEntrySchema, e.ManagedModelExtraFileSchema, e.ManagedModelRefSchema, e.ManagedRuntimeConfigSchema, e.MaskGridDimsSchema, e.MaskGridShapeSchema, e.MaskLineShapeSchema, e.MaskPointSchema, e.MaskPolygonShapeSchema, e.MaskPolygonVerticesSchema, e.MaskRectShapeSchema, e.MaskShapeKindSchema, e.MaskShapeSchema, e.MediaFileInfoSchema, e.MediaFileSchema, e.MediaPlayerRepeatSchema, e.MediaPlayerStateSchema, e.MediaPlayerStatusSchema, e.MeshPeerSchema, e.MeshStatusSchema, e.MethodAccessSchema, e.ModelCatalogEntrySchema, e.ModelConvertInputSchema, e.ModelConvertMetadataSchema, e.ModelDistributeInputSchema, e.ModelDistributeResultSchema, e.ModelExtraFileSchema, e.ModelFormatEntrySchema, e.ModelFormatsSchema, e.ModelSubstitutionSchema, e.ModelVariantGroupSchema, e.MotionAnalysisResultSchema, e.MotionEventSchema, e.MotionOnMotionChangedDataSchema, e.MotionRegionSchema, e.MotionSourceEnum, e.MotionSourcesSchema, e.MotionStatusSchema, e.MotionTriggerRuntimeStateSchema, e.MotionTriggerStatusSchema, e.MotionZoneOptionsSchema, e.MotionZonePatchSchema, e.MotionZoneRegionSchema, e.MotionZoneStatusSchema, e.MqttBrokerStatusSchema, e.MutationFilterSchema, e.NATIVE_LEASE_ACTIVITY_FIELD, e.NATIVE_LEASE_ACTIVITY_KEY, e.NATIVE_LEASE_ADMISSION_FIELD, e.NATIVE_LEASE_ADMISSION_KEY, e.NATIVE_LEASE_BUDGET_FIELD, e.NATIVE_LEASE_BUDGET_KEY, e.NATIVE_LEASE_HOLD_FIELD, e.NATIVE_LEASE_HOLD_KEY, e.NATIVE_LEASE_SECTION_ID, e.NATIVE_LEASE_TILE_BUDGET_FIELD, e.NATIVE_LEASE_TILE_BUDGET_KEY, e.NC_ALARM_SYSTEM_EVENT_KINDS, e.NC_AUDIO_DBFS_FLOOR, e.NC_AUDIO_DB_MAX, e.NC_AUDIO_DB_MIN, e.NC_AUDIO_DB_OFFERED, e.NC_AUDIO_DB_STEP, e.NC_AUDIO_DEFAULTS, e.NC_AUDIO_HIT_PERCENT_MAX, e.NC_AUDIO_HIT_PERCENT_MIN, e.NC_AUDIO_SAMPLING_MAX_SEC, e.NC_AUDIO_SAMPLING_MIN_SEC, e.NC_AUTHORABLE_SYSTEM_EVENT_KINDS, e.NC_BASE_CONDITION_KEYS, e.NC_CONDITION_CATALOG, e.NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, e.NC_CONFIRM_DEFAULT_TIMEOUT_MS, e.NC_CONFIRM_MAX_TIMEOUT_MS, e.NC_CONFIRM_MIN_TIMEOUT_MS, e.NC_DEFAULT_SNOOZE_MINUTES, e.NC_HISTORY_LIMIT_DEFAULT, e.NC_HISTORY_LIMIT_MAX, e.NC_MAX_PER_TRACK_IMMEDIATE, e.NC_SNOOZE_MAX_MINUTES, e.NC_SYSTEM_EVENT_FILTER_KEYS, e.NC_TAXONOMY, e.NativeCropBboxSchema, e.NativeCropRefSchema, e.NativeCropResultSchema, e.NativeDetectionSchema, e.NativeLeaseAdmissionSchema, e.NativeLeaseSettingsSchema, e.NativeObjectClassEnum, e.NativeObjectDetectionRuntimeStateSchema, e.NativeObjectDetectionStatusSchema, e.NcAlarmConfigSchema, e.NcAlarmModeCoverageSchema, e.NcAlarmSettingsPatchSchema, e.NcAlarmSettingsSchema, e.NcAlarmSkipReasonSchema, e.NcAlarmSkippedDeviceSchema, e.NcAudioConditionSchema, e.NcConditionDescriptorSchema, e.NcConditionsSchema, e.NcConfirmExpectSchema, e.NcConfirmSchema, e.NcCrossingSchema, e.NcDeliverySchema, e.NcDeviceStateConditionSchema, e.NcHistoryEntrySchema, e.NcHistoryFilterSchema, e.NcHistoryRecordKindSchema, e.NcHistoryStatusSchema, e.NcHistorySubjectSchema, e.NcMediaFrameSchema, e.NcMediaPolicySchema, e.NcOccupancyConditionSchema, e.NcPlateMatcherSchema, e.NcRuleActionSchema, e.NcRuleActionSequenceSchema, e.NcRuleActionsSchema, e.NcRuleInputSchema, e.NcRuleNotificationButtonSchema, e.NcRulePatchSchema, e.NcRuleSchema, e.NcRuleTargetSchema, e.NcSceneConditionSchema, e.NcScheduleSchema, e.NcScheduleWindowSchema, e.NcSnoozeInputSchema, e.NcSnoozeSchema, e.NcSnoozeScopeSchema, e.NcSnoozeSuppressedSchema, e.NcSystemEventConditionSchema, e.NcSystemEventKindSchema, e.NcTaxonomyEntrySchema, e.NcTaxonomySchema, e.NcTestResultSchema, e.NcThrottleGranularitySchema, e.NcThrottleSchema, e.NcZoneConditionSchema, e.NetworkAccessStatusSchema, e.NetworkAddressSchema, e.NetworkEndpointSchema, e.NotificationActionIconSchema, e.NotificationActionSchema, e.NotificationFormatSchema, e.NotificationSchema, e.NotifierStatusSchema, e.NumericSensorStatusSchema, e.OPS_LOG_DEFAULT_LIMIT, e.OPS_LOG_RING_DEFAULT_MAX, e.OauthIntegrationDescriptorSchema, e.ObjectEventSchema, e.OpsLogDomainSchema, e.OpsLogEntrySchema, e.OpsLogOpSchema, e.OpsLogQueryInputSchema, e.OpsLogReasonSchema, e.OrchestratorMetricsSchema, e.OsdOverlayKindEnum, e.OsdOverlayPatchSchema, e.OsdOverlaySchema, e.OsdPositionEnum, e.OsdRenderOutcomeEnum, e.OsdRenderResultSchema, e.OsdSlotBindingSchema, e.OsdSlotViewSchema, e.OsdSourceOptionSchema, e.OsdSourceSchema, e.OsdSourceValueTypeEnum, e.OsdStatusSchema, m = e.PET_FEEDER_MANUAL_FEED_MAX, h = e.PET_FEEDER_MANUAL_FEED_MIN, e.PIPELINE_FLOW_CAPABILITY_NAMES, e.PIPELINE_OWNER_CAPABILITY_NAMES, e.PRIVACY_MASK_CAP_NAME, e.PROVIDER_KIND_CAP_NAMES, e.PYTHON_SCRIPT, e.PackageUpdateSchema, e.PackageVersionInfoSchema, e.PasskeyLoginMethodSchema, e.PasskeySummarySchema, e.PcmSampleFormatSchema, e.PerScopeBreakdownSchema, e.PetFeederStatusSchema, e.PickStreamPreferencesSchema, e.PickStreamRequirementsSchema, e.PickedCamStreamSchema, e.PipelineAssignmentSchema, e.PipelineDefaultStepSchema, e.PipelineEngineChoiceSchema, e.PipelineRunResultBridge, e.PipelineStepInputSchema, e.PipelineValidationIssueSchema, e.PipelineValidationResultSchema, e.PlaceholderReasonSchema, e.PolygonPointSchema, e.PoolMemoryWatchdog, e.PowerMeterStatusSchema, e.PresenceStatusSchema, e.PressureSensorStatusSchema, e.PrivacyMaskOptionsSchema, e.PrivacyMaskPatchSchema, e.PrivacyMaskRegionSchema, e.PrivacyMaskShapeSchema, e.PrivacyMaskStatusSchema, e.ProfileRtspEntrySchema, e.ProfileSlotSchema, e.ProfileSlotStatusSchema, e.ProviderStatusSchema, e.PtzAutotrackRuntimeStateSchema, e.PtzAutotrackSettingsSchema, e.PtzAutotrackStatusSchema, e.PtzAutotrackTargetOptionSchema, e.PtzMoveCommandSchema, e.PtzOptionsSchema, e.PtzPositionSchema, e.PtzPresetSchema, e.PtzStatusSchema, e.QueryFilterSchema, e.RATE_CONTROL_RELAXED, e.RATE_CONTROL_TIGHT, e.REACHABILITY_FAILURES_TO_OFFLINE, e.REACHABILITY_POLL_INTERVAL_MS, e.REACHABILITY_PROBE_TIMEOUT_MS, e.RECOGNITION_TYPES, e.RECORDING_EXPORT_MAX_READ_BYTES, e.RESERVED_BINDING_NAMES, e.RESTORED_CAP_NAMES, e.RUNTIME_DEFAULTS, e.RUNTIME_STATE_POLICY, e.RUNTIME_TO_FORMAT, e.RawStateResultSchema, e.ReadGopBytesResultSchema, e.ReadSegmentBytesResultSchema, e.ReadinessRegistry, e.ReadinessTimeoutError, e.RecentTracksPageSchema, e.RecentTracksQueryInput, e.RecordingAvailabilitySchema, e.RecordingBandModeSchema, e.RecordingBandSchema, e.RecordingBandTriggersSchema, e.RecordingConfigSchema, e.RecordingDaysSchema, e.RecordingDeviceUsageSchema, e.RecordingLocationUsageSchema, e.RecordingManifestSchema, e.RecordingRangeSchema, e.RecordingRebalanceInputSchema, e.RecordingRebalanceMoveSchema, e.RecordingRebalancePlanSchema, e.RecordingRebalanceSkipReasonSchema, e.RecordingRebalanceSkipSchema, e.RecordingRetentionSchema, e.RecordingStatusSchema, e.RecordingStorageModeSchema, e.RecordingStorageUsageSchema, e.RecordingTriggersSchema, e.RecordingWeekdaySchema, e.RedirectLoginMethodSchema, e.RelocateFootageClassSchema, e.RelocateFootageInputSchema, e.RelocateJobSchema, e.RelocateJobStateSchema, e.RelocateMediaInputSchema, e.RenderedAsSchema, e.ReportMotionInputSchema, e.RetrainAnnotationDraftSchema, e.RetrainAnnotationKindSchema, e.RetrainAnnotationSchema, e.RetrainAnnotationSourceSchema, e.RetrainAssistResultSchema, e.RetrainAssistSubjectSchema, e.RetrainCopyRefusalSchema, e.RetrainFrameCandidateSchema, e.RetrainFrameListSchema, e.RetrainFrameSchema, e.RetrainFrameSelectionSchema, e.RetrainMacroClassSchema, e.RetrainStatusSchema, e.RetrainTrackSchema, e.RetrainTransitionResultSchema, e.RingBuffer, e.RtpSourceSchema, e.RtspRestreamEntrySchema, e.RunnerCameraConfigSchema, e.RunnerCameraDeviceUIFields, e.RunnerFrameSourceSchema, e.RunnerInferenceDeviceSchema, e.RunnerLocalLoadSchema, e.RunnerLocalMetricsSchema, e.SCENE_CONDITIONS, e.SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, e.SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, e.SCENE_DEFAULT_ANCHOR_THRESHOLD, e.SCENE_DEFAULT_CHECK_INTERVAL_SEC, e.SCENE_DEFAULT_OBSERVATION_SPACING_SEC, e.SCENE_DEFAULT_QUIET_SECONDS, e.SCENE_DEFAULT_UNCOVERED_POLICY, e.SCENE_DIVERGED, e.SCENE_RESET_RECAPTURES, e.SCOPE_PRESETS, e.SCRUB_THUMBNAIL_PRESETS, e.SCRUB_THUMBNAIL_PRESET_LABELS, e.SCRUB_THUMBNAIL_PRESET_ORDER, e.SENSOR_FEATURES, e.SENSOR_MAP, e.SOURCE_INFO_METADATA_KEY, e.STREAM_PROFILE_META, e.STREAM_QUALITY_LABELS, e.SUB_DETECTION_TYPES, e.SYSTEM_CAP_NAMES, e.SYSTEM_SCOPE_DEVICE_METHODS, e.SceneCheckSchema, e.SceneConditionSchema, e.SceneConfirmSchema, e.SceneMonitorSchema, e.SceneMonitorStateSchema, e.SceneMonitorStatusSchema, e.SceneReferenceSchema, e.SceneUnavailableSchema, e.SceneUncoveredPolicySchema, e.SceneVerdictSchema, e.ScopedTokenSchema, e.ScopedTokenSummarySchema, e.ScoredObjectEventSchema, e.ScriptRunnerStatusSchema, e.ScrubThumbnailPresetSchema, e.SearchResultSchema, e.SendEmailInputSchema, e.SendEmailResultSchema, e.SendResultSchema, e.SensorEventSchema, e.ServerBootModeSchema, e.ServerPackageStatusSchema, e.ServerRollbackInfoSchema, e.ServerUpdateActionResultSchema, e.ServerUpdateCheckResultSchema, e.ServerUpdateStateSchema, e.SetSiteLocationInputSchema, e.SettingsPatchSchema, e.SettingsRecordSchema, e.SettingsSchemaWithValuesSchema, e.SettingsUpdateResultSchema, e.ShmRingStatsSchema, e.SiteLocationSchema, e.SiteLocationSourceSchema, e.SiteLocationStatusSchema, e.SmokeStatusSchema, e.SmtpStatusSchema, e.SnapshotImageSchema, g = e.SourceInfoSchema, e.SpatialDetectionSchema, e.SsoBridgeClaimsSchema, e.StartEmbeddedInputSchema, e.StationaryObjectSchema, e.StorageAbortUploadInputSchema, e.StorageBeginDownloadInputSchema, e.StorageBeginDownloadResultSchema, e.StorageBeginUploadInputSchema, e.StorageBeginUploadResultSchema, e.StorageEndDownloadInputSchema, e.StorageFinalizeUploadInputSchema, e.StorageLocationDeclarationSchema, e.StorageLocationRefSchema, e.StorageLocationSchema, e.StorageLocationTypeSchema, e.StorageMigrationClassSchema, e.StorageMigrationDestinationsSchema, e.StorageMigrationFootageMoveInputSchema, e.StorageMigrationInputSchema, e.StorageMigrationJobSchema, e.StorageMigrationLeaseInputSchema, e.StorageMigrationMediaMoveInputSchema, e.StorageMigrationMoveSchema, e.StorageMigrationParticipantSchema, e.StorageMigrationPhaseSchema, e.StorageMigrationPlanSchema, e.StorageProviderInfoSchema, e.StorageReadChunkInputSchema, e.StorageTestLocationResultSchema, e.StorageWriteChunkInputSchema, e.StreamCodecSchema, e.StreamFormatSchema, e.StreamNetworkStatsSchema, e.StreamParamsOptionsSchema, e.StreamParamsStatusSchema, e.StreamProfileConfigSchema, e.StreamProfileOptionsSchema, e.StreamProfilePatchSchema, e.StreamProfileSchema, e.StreamSourceEntrySchema, e.StreamSourceSchema, e.SubscribeAudioChunksInputSchema, e.SubscribeAudioChunksResultSchema, e.SubscribeFramesInputSchema, e.SubscribeFramesResultSchema, e.SwitchStatusSchema, e.SystemMetricsSchema, e.SystemMirror, e.TAXONOMY_COLORS, e.TIMELAPSE_DENSE_FLOOR_SEC, e.TIMEZONES, e.TRANSCODE_DOWN_MAX_BITRATE_KBPS, e.TRANSCODE_DOWN_MAX_HEIGHT, e.TamperStatusSchema, e.TankStatusSchema, e.TargetKindCapsSchema, e.TargetKindLevelSchema, e.TargetKindSchema, e.TargetSchema, e.TemperatureSensorStatusSchema, e.TerminalInstanceInfoSchema, e.TerminalLegacyCameraSchema, e.TerminalOutputBatchSchema, e.TerminalOutputEventSchema, e.TerminalProfileInfoSchema, e.TerminalSessionInfoSchema, e.TestConnectionResultSchema, e.TestConnectionStatusEnum, e.TestResultSchema, e.TimelapseRuleInputSchema, e.TimelapseRulePatchSchema, e.TimelapseRuleSchema, e.TimelapseTemplateSchema, e.ToastSchema, e.TokenScopeSchema, e.TopologyNodeSchema, e.TopologyProcessSchema, e.TopologyServiceSchema, e.TrackCascadeCountsSchema, e.TrackEnvelopeSchema, e.TrackFlagsPatchSchema, e.TrackFlagsSchema, e.TrackProjectionSchema, e.TrackSchema, e.TrackSourceSchema, e.TrackStateSchema, e.TrackZoneFilterSchema, e.TrackedDetectionSchema, e.TrainingExportDeviceTotalsSchema, e.TrainingExportSummarySchema, e.TurnServerSchema, e.UNIT_TABLE, e.UnifiedBrokerInfoSchema, e.UnitConversionError, e.UpdateIntegrationInputSchema, e.UpdateStatusSchema, e.UpdateUserInputSchema, e.UserRecordSchema, e.UserSummarySchema, e.VISIT_MERGE_GAP_MS, e.VacuumControlStatusSchema, e.VacuumStateSchema, e.ValveStateSchema, e.ValveStatusSchema, e.VectorDeclareIndexInputSchema, e.VectorDeleteByFilterInputSchema, e.VectorDeleteInputSchema, e.VectorDeleteResultSchema, e.VectorFilterSchema, e.VectorGetInputSchema, e.VectorGetResultSchema, e.VectorItemSchema, e.VectorMatchSchema, e.VectorMetadataSchema, e.VectorMetricSchema, e.VectorQueryInputSchema, e.VectorQueryResultSchema, e.VectorStatsInputSchema, e.VectorStatsResultSchema, e.VectorUpsertInputSchema, e.VectorUpsertResultSchema, e.VibrationStatusSchema, e.VideoEncodeSchema, e.WEBRTC_EGRESS_PROFILE, e.WELL_KNOWN_TABS, e.WELL_KNOWN_TAB_MAP, e.WaterHeaterStatusSchema, e.WeatherStatusSchema, e.WebrtcStreamChoiceSchema, e.WebrtcStreamTargetSchema, e.WhiteBalanceModeSchema, e.WidgetHostEnum, e.WidgetLoginMethodSchema, e.WidgetMetadataSchema, e.WidgetRemoteSchema, e.WidgetSizeEnum, e.YAMNET_TO_MACRO, e.ZoneCrossingDirectionSchema, e.ZoneCrossingSchema, e.ZoneKindEnum, e.ZoneRuleModeEnum, e.ZoneRuleSchema, e.ZoneRuleStageEnum, e.ZoneRulesArraySchema, e.ZoneSchema, e.ZoneScopeBreakdownSchema, e.accessoriesCapability, e.accessoryStableId, e.addonPagesCapability, e.addonPagesSourceCapability, e.addonRoutesCapability, e.addonSettingsCapability, e.addonWidgetsCapability, e.addonWidgetsSourceCapability, e.addonsCapability, e.adminUiCapability, e.airQualitySensorCapability, e.alarmPanelCapability, e.alertsCapability, e.ambientLightSensorCapability, e.asBoolean, e.asJsonArray, e.asJsonObject, e.asNumber, e.asString, e.assertTimelapseCadences, e.audioAnalysisCapability, e.audioAnalyzerCapability, e.audioCodecCapability, e.audioIsFailClosed, e.audioLabelChoices, e.audioMetricsCapability, e.audioModeOf, e.audioOrDefaults, e.audioPlanFromEncodeProfile, e.authProviderCapability, e.autoAssignProfiles, e.automationControlCapability, e.backupCapability, e.bareAddonId, e.batteryCapability, e.bestLocationMatch, e.binaryCapability, e.bindAddonActions, e.brightnessCapability, e.brokerCapability, e.buildAddonRouteProvider, e.buildAudioArgs, e.buildEventKindDescriptor, e.buildFfmpegArgs, e.buildInputArgs, e.buildModelVariantGroups, e.buildNcTaxonomy, e.buildRoleScopes, e.buildStreamParamsConfigSchema, e.buildVideoArgs, e.buttonCapability, e.cameraCredentialsCapability, e.cameraPipelineConfigCapability, e.cameraStreamsCapability, _ = e.canConvertUnit, e.canonicalEgressPlan, e.carbonMonoxideCapability, e.cellsToRects, e.classifyBearerPrincipal, e.classifyStream, e.classifyStreams, e.climateControlCapability, e.collectHydratedFieldEntries, e.collectHydratedFieldValues, e.colorCapability, e.colorForKind, e.commitWatchdogRestart, e.compileExpression, e.compileExpressionSafe, e.composeSwitchedOff, e.conditionDepth, e.connectionTestCapability, e.connectivityCapability, e.consumablesCapability, e.contactCapability, e.controlCapability, e.convertUnit, e.coreBlockAddonId, e.coreBlockIdFromAddonId, e.coreBlocksCapability, e.cosineSimilarity, e.countConditionLeaves, e.coverCapability, v = e.createDeviceProxy, e.createDurableState, e.createEvent, e.createExpressionScope, e.createHwAccelCache, e.createLazyTrpcSource, e.createMirrorSource, e.createRuntimeStateBridge, e.createSliceHandle, e.createSystemProxy, e.customAction, e.customModelRegistryCapability, e.dataStoreProviderCapability, e.dayNightCapability, e.declarationOwnerNodeId, e.decodeVectorBase64, e.decoderCapability, e.defaultDeviceFor, e.defineCustomActions, e.deriveBatteryPresence, e.deriveCameraSwitches, e.deriveDetailCropRect, e.deriveRecordingMode, e.describeModelVariant, e.detectAccessRole, e.detectionPipelineCapability, e.deviceAdoptionCapability, e.deviceBackendToFormat, e.deviceCustomAction, e.deviceDiscoveryCapability, e.deviceExportCapability, e.deviceManagerCapability, e.deviceMatchesProfile, e.deviceOpsCapability, e.deviceProviderCapability, e.deviceSelectorMatches, e.deviceStateCapability, e.deviceStatusCapability, e.doorbellCapability, e.egressTranscodeSharingKey, e.egressTransportFromRequest, e.embeddingEncoderCapability, e.emitDownForOwnedCaps, e.emitReadiness, e.encodeProfileFromStreamShape, e.encodeVectorBase64, e.enumSensorCapability, e.enumerateInferenceDevices, e.enumerateItemArrayFields, e.enumerateSchemaFields, e.errMsg, e.evaluateAst, e.evaluateExpressionSource, e.evaluatePoolMemory, e.evaluateZoneRules, e.event, e.eventEmitterCapability, e.eventsCapability, e.expandCapMethods, e.extractNestedAddonId, e.extractSourceInfoFromMetadata, e.faceGalleryCapability, e.fanControlCapability, e.featureProbeCapability, e.filesystemBrowseCapability, e.findTimezone, e.floodCapability, e.formatForBackend, e.formatForRuntime, e.gasCapability, e.generateAutomationBlock, e.getAudioMacroClassIds, e.getByPath, e.getCapsByProviderKind, e.getTaxonomyEntry, e.hasMotionTrigger, e.hfModelUrl, e.htmlToText, e.humidifierCapability, e.humiditySensorCapability, e.hydrateSchema, e.imageCapability, e.imageSettingsCapability, e.initialPoolMemoryState, e.integrationsCapability, e.intercomCapability, e.invocationFromEncodeProfile, e.isAgentOnlyPlacement, e.isArrayOutputSchema, e.isAudioLabelSelected, e.isBaseConditionKey, e.isBatteryPresenceFault, e.isCollectionArrayMethod, e.isDeployableToAgent, e.isDetectionMacroClass, e.isDeviceConfigCap, e.isDeviceScopedCap, e.isEvent, e.isIsolatedBuiltin, e.isNode, e.isObjectInput, e.isRestoredCap, e.isSameAddonId, e.isScheduleActive, e.isSoftwareDecode, e.isVoidInput, e.jobKindSchema, e.kebabToCamel, e.knownValues, e.lawnMowerControlCapability, e.lifecycleJobSchema, e.lifecycleJobScopeSchema, e.lifecycleJobStateSchema, e.lifecycleTaskSchema, e.llmCapability, e.llmRuntimeCapability, e.localNetworkCapability, e.locationSimilarity, e.lockControlCapability, e.logBannerArgs, e.logDestinationCapability, e.logLevelAtMost, e.loginMethodCapability, e.looseSchema, e.makeProfileBrokerId, e.makeSourceBrokerId, e.mapAudioLabelToMacro, e.markdownToHtmlLite, e.markdownToText, e.maskUrlCredentials, e.mediaPlayerCapability, e.mergeSourceInfo, e.meshNetworkCapability, e.method, e.methodAccessForHttpMethod, e.metricsProviderCapability, e.modelConvertCapability, e.modelDistributorCapability, e.modelFormatForRuntime, e.motionCapability, e.motionDetectionCapability, e.motionTriggerCapability, e.motionZonesCapability, e.mqttBrokerCapability, e.nativeObjectDetectionCapability, e.networkAccessCapability, e.networkQualityCapability, e.nodePin, e.nodesCapability, e.normalizeAddonInitResult, e.normalizeAudioLabel, e.normalizeTokenScopes, e.normalizeUnit, e.notificationOutputCapability, e.notificationRulesCapability, e.notifierCapability, e.numericSensorCapability, e.oauthIntegrationCapability, e.objectInputDeclaresAddonId, e.osdCapability, e.osdManagerCapability, e.parseCameraStreamConfig, e.parseExpression, e.parseJsonArray, e.parseJsonObject, e.parseJsonUnknown, e.parseProcStatus, e.parseProfileBrokerId, e.parseStreamParamsFormPatch, e.patchAudio, e.petFeederCapability, e.pickAccessoryControl, e.pickDetailCropConvention, e.pickNativeLeaseOverride, e.pickPreferredRtspEntry, e.pickRestartCandidate, e.pickVideoEncoder, e.pickerForCondition, e.pipelineAnalyticsCapability, e.pipelineExecutorCapability, e.pipelineOrchestratorCapability, e.pipelineRunnerCapability, e.plateGalleryCapability, e.platformProbeCapability, e.poolMemoryThreshold, e.powerMeterCapability, e.prepareNotification, e.presenceCapability, e.pressureSensorCapability, e.principalMayReachAddon, e.privacyMaskCapability, e.procedureAuthKey, e.ptzAutotrackCapability, e.ptzCapability, e.pythonScriptForBackend, e.readDetailCropConvention, e.readDeviceStateFrom, e.readNativeLeaseOverride, e.readNodePin, e.readTimelapseGeneratedAt, e.readinessKey, e.rebootCapability, e.recordingCapability, e.recordingExportCapability, e.rectsToCells, e.requiresPython, e.resetPoolBaseline, e.resolveAddonExecution, e.resolveAddonGroup, e.resolveAddonPlacement, e.resolveAddonRuntime, e.resolveCapMount, e.resolveDetectionRuntime, e.resolveDeviceControlKind, e.resolveDeviceProfile, e.resolveEgressDecodeHwAccel, e.resolveFormat, e.resolveHydratedFieldValue, e.resolveModelFormat, e.resolveMutate, e.resolvePoolMemoryPolicy, e.resolveRecordingProfiles, e.resolveRunnerId, e.resolveScrubThumbnailGeometry, e.resolveVariantModelId, e.resolveViewableDeviceIds, e.roleSpec, e.runInferenceStep, e.runtimeDevices, e.runtimeStatePolicyFor, e.sceneMonitorCapability, e.scopeInherits, e.scopeKey, e.scopesAllowAddon, e.scopesAllowDeviceCap, e.scoreRuntimes, e.scriptRunnerCapability, e.selectAssignedProfileSlots, e.serverManagementCapability, e.setByPath, e.settingsStoreCapability, e.sleep, e.sleepCancellable, e.smokeCapability, e.smtpProviderCapability, e.snapshotCapability, e.ssoBridgeCapability, e.startReachabilityPoll, y = e.stateVocabularyFor, e.storageCapability, e.storageEvictableCapability, e.storageMigrationCapability, e.storageProviderCapability, e.streamBrokerCapability, e.streamCatalogCapability, e.streamParamsCapability, e.streamPixels, e.streamQualityLabel, e.subKindsOf, e.summarisePrivacyAudio, e.summarizeEffectiveScope, e.supportedRuntimes, e.switchCapability, e.switchedOffIds, e.synthesizeSourceInfo, e.systemCapability, e.systemEventFilterApplies, e.systemEventFilterAppliesToAnyKind, e.tamperCapability, e.taskLogEntrySchema, e.taskPhaseSchema, e.taskTargetSchema, e.temperatureSensorCapability, e.terminalSessionCapability, e.textToHtml, e.toDeviceSummary, e.toExpressionValue, e.toNodeId, e.toStreamSourceEntry, e.toastCapability, e.toggleAudioLabel, e.tokenize, e.transcodeBody, b = e.tryConvertUnit, e.turnProviderCapability, e.unitDimension, e.unitsForDimension, e.updateCapability, e.userManagementCapability, e.userPasskeysCapability, e.vacuumControlCapability, e.validateExpressionSource, e.validateRecipeBounds, e.valveCapability, e.vectorDimFromBase64, e.vectorStoreCapability, e.vibrationCapability, e.videoclipsCapability, e.viewerUiCapability, e.waterHeaterCapability, e.weatherCapability, e.webrtcClientHintsSchema, e.webrtcSessionCapability, e.wiringAddonHealthSchema, e.wiringHealthSnapshotSchema, e.wiringNodeHealthSchema, e.wiringProbeKindSchema, e.wiringProbeResultSchema, e.zodEntriesToConfigUI, e.zoneAnalyticsCapability, e.zoneRulesCapability, e.zonesCapability, e.default;
20
- }, S = i.share["default:@camstack/types"];
21
- S === void 0 ? n.then(() => {
22
- if (S = i.share["default:@camstack/types"], S === void 0) throw Error("[Module Federation] Shared module @camstack/types was imported before federation bootstrap finished.");
23
- x(S);
24
- }) : x(S);
25
- //#endregion
26
- export { l as a, f as c, o as d, m as f, v as g, _ as h, c as i, a as l, g as m, b as n, u as o, h as p, s as r, d as s, y as t, p as u };