@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.
- package/dist/{MotionZonesSettings-DCM0cPHY.mjs → MotionZonesSettings-DDk0KstC.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-YAnUDIxD.mjs → PrivacyMaskSettings-CsXnMGKT.mjs} +4 -4
- package/dist/{SceneMonitorEditor-B1mssJov.mjs → SceneMonitorEditor-8C9vWyuL.mjs} +3 -3
- package/dist/_stub.js +9 -9
- 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
- package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C9zRtW6C.mjs +26 -0
- package/dist/{hostInit-9m3fJWve.mjs → hostInit-Df_NHE4W.mjs} +3 -3
- package/dist/index.js +250 -21
- package/dist/index.mjs +250 -21
- package/dist/{player-overlays-CU7W6fE3.mjs → player-overlays-C5TVZDIL.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-BGccn_P-.mjs → responsive-B6685e2G.mjs} +1 -1
- package/dist/{square-DOT3IAcw.mjs → square-ezK9FWt6.mjs} +1 -1
- package/dist/{trash-2-BJHZ3GWb.mjs → trash-2-BoPZpFI0.mjs} +1 -1
- package/dist/{use-device-snapshot-DkwmPT9O.mjs → use-device-snapshot-BDmozw2y.mjs} +1 -1
- 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
- package/package.json +1 -1
- 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-
|
|
3
|
-
import { n as d, t as f } from "./player-overlays-
|
|
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-
|
|
3
|
-
import { n as re, t as c } from "./player-overlays-
|
|
4
|
-
import { n as l, r as ie, t as ae } from "./square-
|
|
5
|
-
import { t as oe } from "./trash-2-
|
|
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-
|
|
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-
|
|
4
|
-
import { t as x } from "./trash-2-
|
|
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-
|
|
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-
|
|
5
|
-
import { c as _, l as v, u as y } from "./use-device-snapshot-
|
|
6
|
-
import { r as b } from "./player-overlays-
|
|
7
|
-
import { r as ee, t as x } from "./square-
|
|
8
|
-
import { t as te } from "./trash-2-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
/**
|
|
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
|
|
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
|
-
|
|
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
|
-
*
|
|
41647
|
-
*
|
|
41648
|
-
*
|
|
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.
|
|
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
|
|
41697
|
-
*
|
|
41698
|
-
*
|
|
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
|
|
41701
|
-
|
|
41702
|
-
|
|
41703
|
-
|
|
41704
|
-
|
|
41705
|
-
|
|
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
|
-
|
|
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
|
-
/**
|
|
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
|
|
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
|
-
|
|
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
|
-
*
|
|
41643
|
-
*
|
|
41644
|
-
*
|
|
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.
|
|
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
|
|
41693
|
-
*
|
|
41694
|
-
*
|
|
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
|
|
41697
|
-
|
|
41698
|
-
|
|
41699
|
-
|
|
41700
|
-
|
|
41701
|
-
|
|
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
|
-
|
|
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-
|
|
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",
|
package/dist/remoteEntry.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-
|
|
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-
|
|
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,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-
|
|
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-
|
|
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,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 };
|