@camstack/types 1.2.157 → 1.2.159
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.js +1 -1
- package/dist/addon.mjs +1 -1
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +8 -1
- package/dist/capabilities/recording.cap.d.ts +9 -3
- package/dist/generated/device-scoped-caps.d.ts +1 -1
- package/dist/index.js +140 -43
- package/dist/index.mjs +140 -44
- package/dist/interfaces/recording-config.d.ts +54 -11
- package/dist/{sleep-IaOr7P-z.mjs → sleep-Cfij6Jj9.mjs} +2 -1
- package/dist/{sleep-BGiOgxye.js → sleep-DDIFZGbc.js} +2 -1
- package/dist/types/detection.d.ts +108 -0
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_event_category = require("./event-category-b8kBSOTT.js");
|
|
3
|
-
const require_sleep = require("./sleep-
|
|
3
|
+
const require_sleep = require("./sleep-DDIFZGbc.js");
|
|
4
4
|
const require_err_msg = require("./err-msg-COpsHMw2.js");
|
|
5
5
|
//#region src/generated/cap-input-defaults.ts
|
|
6
6
|
/**
|
package/dist/addon.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as EventCategory } from "./event-category-zAv7pMUz.mjs";
|
|
2
|
-
import { D as adminUiCapability, E as DeviceType, G as scopeKey, H as ReadinessTimeoutError, M as expandCapMethods, R as nodePin, S as DEVICE_CHILDREN_BATCH_MAX, V as ReadinessRegistry, _t as DATAPLANE_SECRET_HEADER, a as asJsonObject, b as deviceOpsCapability, bt as BaseAddon, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, wt as emitReadiness, x as viewerUiCapability, xt as normalizeAddonInitResult, yt as DisposerChain, z as readNodePin } from "./sleep-
|
|
2
|
+
import { D as adminUiCapability, E as DeviceType, G as scopeKey, H as ReadinessTimeoutError, M as expandCapMethods, R as nodePin, S as DEVICE_CHILDREN_BATCH_MAX, V as ReadinessRegistry, _t as DATAPLANE_SECRET_HEADER, a as asJsonObject, b as deviceOpsCapability, bt as BaseAddon, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, wt as emitReadiness, x as viewerUiCapability, xt as normalizeAddonInitResult, yt as DisposerChain, z as readNodePin } from "./sleep-Cfij6Jj9.mjs";
|
|
3
3
|
import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
|
|
4
4
|
//#region src/generated/cap-input-defaults.ts
|
|
5
5
|
/**
|
|
@@ -320,11 +320,14 @@ declare const CameraAudioStatusSchema: z.ZodObject<{
|
|
|
320
320
|
nodeId: z.ZodString;
|
|
321
321
|
enabled: z.ZodBoolean;
|
|
322
322
|
}, z.core.$strip>;
|
|
323
|
-
/** Recording mode
|
|
323
|
+
/** Recording mode — THE one definition, shared with the `recording` cap. A
|
|
324
|
+
* copy of the list is how `on-device-decision` could have reached the recorder
|
|
325
|
+
* and not this status block. */
|
|
324
326
|
declare const CameraRecordingModeSchema: z.ZodEnum<{
|
|
325
327
|
off: "off";
|
|
326
328
|
events: "events";
|
|
327
329
|
continuous: "continuous";
|
|
330
|
+
"on-device-decision": "on-device-decision";
|
|
328
331
|
}>;
|
|
329
332
|
/** Recording block — null when no recording cap is active for this device. */
|
|
330
333
|
declare const CameraRecordingStatusSchema: z.ZodObject<{
|
|
@@ -332,6 +335,7 @@ declare const CameraRecordingStatusSchema: z.ZodObject<{
|
|
|
332
335
|
off: "off";
|
|
333
336
|
events: "events";
|
|
334
337
|
continuous: "continuous";
|
|
338
|
+
"on-device-decision": "on-device-decision";
|
|
335
339
|
}>;
|
|
336
340
|
active: z.ZodBoolean;
|
|
337
341
|
storageBytes: z.ZodNumber;
|
|
@@ -501,6 +505,7 @@ declare const CameraStatusSchema: z.ZodObject<{
|
|
|
501
505
|
off: "off";
|
|
502
506
|
events: "events";
|
|
503
507
|
continuous: "continuous";
|
|
508
|
+
"on-device-decision": "on-device-decision";
|
|
504
509
|
}>;
|
|
505
510
|
active: z.ZodBoolean;
|
|
506
511
|
storageBytes: z.ZodNumber;
|
|
@@ -1470,6 +1475,7 @@ export declare const pipelineOrchestratorCapability: {
|
|
|
1470
1475
|
off: "off";
|
|
1471
1476
|
events: "events";
|
|
1472
1477
|
continuous: "continuous";
|
|
1478
|
+
"on-device-decision": "on-device-decision";
|
|
1473
1479
|
}>;
|
|
1474
1480
|
active: z.ZodBoolean;
|
|
1475
1481
|
storageBytes: z.ZodNumber;
|
|
@@ -1605,6 +1611,7 @@ export declare const pipelineOrchestratorCapability: {
|
|
|
1605
1611
|
off: "off";
|
|
1606
1612
|
events: "events";
|
|
1607
1613
|
continuous: "continuous";
|
|
1614
|
+
"on-device-decision": "on-device-decision";
|
|
1608
1615
|
}>;
|
|
1609
1616
|
active: z.ZodBoolean;
|
|
1610
1617
|
storageBytes: z.ZodNumber;
|
|
@@ -17,6 +17,7 @@ export declare const RecordingStatusSchema: z.ZodObject<{
|
|
|
17
17
|
off: "off";
|
|
18
18
|
events: "events";
|
|
19
19
|
continuous: "continuous";
|
|
20
|
+
"on-device-decision": "on-device-decision";
|
|
20
21
|
}>;
|
|
21
22
|
nodeId: z.ZodString;
|
|
22
23
|
storageBytes: z.ZodNumber;
|
|
@@ -338,6 +339,7 @@ export declare const recordingCapability: {
|
|
|
338
339
|
off: "off";
|
|
339
340
|
events: "events";
|
|
340
341
|
continuous: "continuous";
|
|
342
|
+
"on-device-decision": "on-device-decision";
|
|
341
343
|
}>;
|
|
342
344
|
nodeId: z.ZodString;
|
|
343
345
|
storageBytes: z.ZodNumber;
|
|
@@ -462,6 +464,7 @@ export declare const recordingCapability: {
|
|
|
462
464
|
off: "off";
|
|
463
465
|
events: "events";
|
|
464
466
|
continuous: "continuous";
|
|
467
|
+
"on-device-decision": "on-device-decision";
|
|
465
468
|
}>>;
|
|
466
469
|
profiles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
467
470
|
high: "high";
|
|
@@ -486,11 +489,11 @@ export declare const recordingCapability: {
|
|
|
486
489
|
animal: "animal";
|
|
487
490
|
}>>>;
|
|
488
491
|
sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
489
|
-
deviceSignal: z.ZodOptional<z.ZodBoolean>;
|
|
490
492
|
}, z.core.$strip>>;
|
|
491
493
|
preBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
492
494
|
postBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
493
495
|
}, z.core.$strip>>>;
|
|
496
|
+
deviceDecision: z.ZodOptional<z.ZodBoolean>;
|
|
494
497
|
retention: z.ZodOptional<z.ZodObject<{
|
|
495
498
|
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
496
499
|
maxSizeGb: z.ZodOptional<z.ZodNumber>;
|
|
@@ -564,6 +567,7 @@ export declare const recordingCapability: {
|
|
|
564
567
|
off: "off";
|
|
565
568
|
events: "events";
|
|
566
569
|
continuous: "continuous";
|
|
570
|
+
"on-device-decision": "on-device-decision";
|
|
567
571
|
}>>;
|
|
568
572
|
profiles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
569
573
|
high: "high";
|
|
@@ -588,11 +592,11 @@ export declare const recordingCapability: {
|
|
|
588
592
|
animal: "animal";
|
|
589
593
|
}>>>;
|
|
590
594
|
sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
591
|
-
deviceSignal: z.ZodOptional<z.ZodBoolean>;
|
|
592
595
|
}, z.core.$strip>>;
|
|
593
596
|
preBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
594
597
|
postBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
595
598
|
}, z.core.$strip>>>;
|
|
599
|
+
deviceDecision: z.ZodOptional<z.ZodBoolean>;
|
|
596
600
|
retention: z.ZodOptional<z.ZodObject<{
|
|
597
601
|
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
598
602
|
maxSizeGb: z.ZodOptional<z.ZodNumber>;
|
|
@@ -604,6 +608,7 @@ export declare const recordingCapability: {
|
|
|
604
608
|
off: "off";
|
|
605
609
|
events: "events";
|
|
606
610
|
continuous: "continuous";
|
|
611
|
+
"on-device-decision": "on-device-decision";
|
|
607
612
|
}>>;
|
|
608
613
|
profiles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
609
614
|
high: "high";
|
|
@@ -628,11 +633,11 @@ export declare const recordingCapability: {
|
|
|
628
633
|
animal: "animal";
|
|
629
634
|
}>>>;
|
|
630
635
|
sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
631
|
-
deviceSignal: z.ZodOptional<z.ZodBoolean>;
|
|
632
636
|
}, z.core.$strip>>;
|
|
633
637
|
preBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
634
638
|
postBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
635
639
|
}, z.core.$strip>>>;
|
|
640
|
+
deviceDecision: z.ZodOptional<z.ZodBoolean>;
|
|
636
641
|
retention: z.ZodOptional<z.ZodObject<{
|
|
637
642
|
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
638
643
|
maxSizeGb: z.ZodOptional<z.ZodNumber>;
|
|
@@ -649,6 +654,7 @@ export declare const recordingCapability: {
|
|
|
649
654
|
off: "off";
|
|
650
655
|
events: "events";
|
|
651
656
|
continuous: "continuous";
|
|
657
|
+
"on-device-decision": "on-device-decision";
|
|
652
658
|
}>;
|
|
653
659
|
nodeId: z.ZodString;
|
|
654
660
|
storageBytes: z.ZodNumber;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* can answer "may a rule actuate this?" without importing the schema barrel
|
|
6
6
|
* (~144MB RSS per runner, D28).
|
|
7
7
|
*
|
|
8
|
-
* Coverage:
|
|
8
|
+
* Coverage: 83 device-scoped capabilities.
|
|
9
9
|
*/
|
|
10
10
|
export declare const DEVICE_SCOPED_CAPS: ReadonlySet<string>;
|
|
11
11
|
/**
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_event_category = require("./event-category-b8kBSOTT.js");
|
|
3
|
-
const require_sleep = require("./sleep-
|
|
3
|
+
const require_sleep = require("./sleep-DDIFZGbc.js");
|
|
4
4
|
const require_canonical_hash = require("./canonical-hash-DNV8S5ET.js");
|
|
5
5
|
const require_enums = require("./enums.js");
|
|
6
6
|
const require_err_msg = require("./err-msg-COpsHMw2.js");
|
|
@@ -1228,21 +1228,21 @@ function schemaDeclaresAnyField(schema) {
|
|
|
1228
1228
|
for (const section of sectionsOf(schema)) if (fieldsOf(section).length > 0) return true;
|
|
1229
1229
|
return false;
|
|
1230
1230
|
}
|
|
1231
|
-
function isRecord$
|
|
1231
|
+
function isRecord$3(value) {
|
|
1232
1232
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1233
1233
|
}
|
|
1234
1234
|
function sectionsOf(schema) {
|
|
1235
|
-
if (!isRecord$
|
|
1235
|
+
if (!isRecord$3(schema)) return [];
|
|
1236
1236
|
const sections = schema["sections"];
|
|
1237
1237
|
return Array.isArray(sections) ? sections : [];
|
|
1238
1238
|
}
|
|
1239
1239
|
function fieldsOf(node) {
|
|
1240
|
-
if (!isRecord$
|
|
1240
|
+
if (!isRecord$3(node)) return [];
|
|
1241
1241
|
const fields = node["fields"];
|
|
1242
1242
|
return Array.isArray(fields) ? fields : [];
|
|
1243
1243
|
}
|
|
1244
1244
|
function walkField(field, out) {
|
|
1245
|
-
if (!isRecord$
|
|
1245
|
+
if (!isRecord$3(field)) return;
|
|
1246
1246
|
const type = field["type"];
|
|
1247
1247
|
const key = field["key"];
|
|
1248
1248
|
if ((type === "password" || field["secret"] === true) && typeof key === "string" && key.length > 0) out.add(key);
|
|
@@ -1327,12 +1327,12 @@ function toStreamSourceEntry(stream) {
|
|
|
1327
1327
|
function isString(v) {
|
|
1328
1328
|
return typeof v === "string";
|
|
1329
1329
|
}
|
|
1330
|
-
function isRecord$
|
|
1330
|
+
function isRecord$2(v) {
|
|
1331
1331
|
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
1332
1332
|
}
|
|
1333
1333
|
function parseStreamEntry(v) {
|
|
1334
1334
|
if (isString(v) && v.trim()) return { url: v };
|
|
1335
|
-
if (isRecord$
|
|
1335
|
+
if (isRecord$2(v) && isString(v["url"]) && v["url"].trim()) return {
|
|
1336
1336
|
url: v["url"],
|
|
1337
1337
|
label: isString(v["label"]) ? v["label"] : void 0
|
|
1338
1338
|
};
|
|
@@ -1972,17 +1972,29 @@ var HHMM = /^([01]\d|2[0-3]):[0-5]\d$/;
|
|
|
1972
1972
|
/**
|
|
1973
1973
|
* DERIVED per-camera storage summary — the single field cheap consumers read
|
|
1974
1974
|
* (the viewer's status dot, the camera list) instead of walking `bands`:
|
|
1975
|
-
* - `off`
|
|
1976
|
-
* - `events`
|
|
1977
|
-
* - `continuous`
|
|
1978
|
-
*
|
|
1979
|
-
*
|
|
1980
|
-
*
|
|
1975
|
+
* - `off` — no band covers the camera (or it is disabled).
|
|
1976
|
+
* - `events` — every band records around triggers only.
|
|
1977
|
+
* - `continuous` — at least one band records continuously.
|
|
1978
|
+
* - `on-device-decision`— the DEVICE decides: recording runs for as long as the
|
|
1979
|
+
* camera raises its own `recording-signal` level (a robot that cleans). There
|
|
1980
|
+
* is no schedule to author, because there is no hour to program — see
|
|
1981
|
+
* {@link RecordingConfigSchema}`.deviceDecision`.
|
|
1982
|
+
*
|
|
1983
|
+
* NEVER authored: the recorder stamps it from the authoritative intent
|
|
1984
|
+
* (`bands` + `deviceDecision`) on every save (`activeModeForConfig`). Writing it
|
|
1985
|
+
* has no effect.
|
|
1986
|
+
*
|
|
1987
|
+
* `on-device-decision` is named for WHO decides, not for how the recording is
|
|
1988
|
+
* requested. `on-demand` was rejected: in this repo's vocabulary a "demand" is
|
|
1989
|
+
* something the operator makes (the live gate is the recorder's own "demand
|
|
1990
|
+
* window"), and a knob whose name suggests the operator starts it while the
|
|
1991
|
+
* device actually does is the D62 shape — a control nobody can predict.
|
|
1981
1992
|
*/
|
|
1982
1993
|
var RecordingStorageModeSchema = zod.z.enum([
|
|
1983
1994
|
"off",
|
|
1984
1995
|
"events",
|
|
1985
|
-
"continuous"
|
|
1996
|
+
"continuous",
|
|
1997
|
+
"on-device-decision"
|
|
1986
1998
|
]);
|
|
1987
1999
|
/**
|
|
1988
2000
|
* Le macro classi che possono aprire una finestra di registrazione — le stesse
|
|
@@ -2041,22 +2053,7 @@ var RecordingTriggersSchema = zod.z.object({
|
|
|
2041
2053
|
* il livello: un contatto trovato già aperto al riavvio del runner non fa
|
|
2042
2054
|
* registrare.
|
|
2043
2055
|
*/
|
|
2044
|
-
sensorDeviceIds: zod.z.array(zod.z.number().int().positive()).min(1).max(16).refine(noDuplicates, { message: "sensorDeviceIds must not repeat a device" }).optional()
|
|
2045
|
-
/**
|
|
2046
|
-
* La camera registra per tutta la durata del SEGNALE che lei stessa
|
|
2047
|
-
* pubblica — la cap `recording-signal` (`active: true` mentre il device è in
|
|
2048
|
-
* funzione: un robot che pulisce). È un LIVELLO, non un fronte: la finestra
|
|
2049
|
-
* resta aperta finché il segnale è alto e si chiude `postBufferSec` dopo la
|
|
2050
|
-
* caduta, così una pulizia di quaranta minuti è UNA clip.
|
|
2051
|
-
*
|
|
2052
|
-
* Non nomina un device: il segnale è della camera stessa, tenuto fresco dal
|
|
2053
|
-
* suo provider (D224); il recorder lo ascolta su `DeviceStateChanged` e lo
|
|
2054
|
-
* riconcilia leggendo la slice via RPC, con un tetto oltre il quale un
|
|
2055
|
-
* segnale mai abbassato (un evento perso) non può tenere aperta una
|
|
2056
|
-
* registrazione (D11). Vedi `recorder/addon/band-decision.ts`
|
|
2057
|
-
* (`holdTrigger` / `releaseTrigger`).
|
|
2058
|
-
*/
|
|
2059
|
-
deviceSignal: zod.z.boolean().optional()
|
|
2056
|
+
sensorDeviceIds: zod.z.array(zod.z.number().int().positive()).min(1).max(16).refine(noDuplicates, { message: "sensorDeviceIds must not repeat a device" }).optional()
|
|
2060
2057
|
});
|
|
2061
2058
|
/**
|
|
2062
2059
|
* Mode of a single recording band — the recorder per-band vocabulary.
|
|
@@ -2187,8 +2184,29 @@ var RecordingConfigSchema = zod.z.object({
|
|
|
2187
2184
|
* "off" is the absence of a covering band, never a band value.
|
|
2188
2185
|
*/
|
|
2189
2186
|
bands: zod.z.array(RecordingBandSchema).default([]),
|
|
2187
|
+
/**
|
|
2188
|
+
* THE device-decided intent: record for as long as the camera itself raises
|
|
2189
|
+
* `recording-signal` (`active: true` while the device is in function — a
|
|
2190
|
+
* robot that cleans). AUTHORED, unlike `mode`, and the only authored
|
|
2191
|
+
* recording intent that is not a band.
|
|
2192
|
+
*
|
|
2193
|
+
* It carries NO schedule on purpose. A band is an HOUR, and this feature has
|
|
2194
|
+
* no hour to program: the device decides. What it costs the operator is one
|
|
2195
|
+
* flag — "this camera can record on its own" — and what it buys is the same
|
|
2196
|
+
* hold/release the recorder already implements (D371, `holdTrigger` /
|
|
2197
|
+
* `releaseTrigger`): the window opens on the rise, stays open for the whole
|
|
2198
|
+
* job however long it is, and closes one pad after the fall.
|
|
2199
|
+
*
|
|
2200
|
+
* EXCLUSIVE with `bands` (below): two authorities deciding when the same
|
|
2201
|
+
* camera records is the D62 failure. `off` remains `enabled: false`, so an
|
|
2202
|
+
* operator switching this camera off is REPORTED off, never as broken.
|
|
2203
|
+
*/
|
|
2204
|
+
deviceDecision: zod.z.boolean().optional(),
|
|
2190
2205
|
retention: RecordingRetentionSchema.optional()
|
|
2191
|
-
}).strict()
|
|
2206
|
+
}).strict().refine((config) => config.deviceDecision !== true || config.bands.length === 0, {
|
|
2207
|
+
message: "deviceDecision is a whole-config mode and carries no schedule: it cannot be combined with bands",
|
|
2208
|
+
path: ["bands"]
|
|
2209
|
+
});
|
|
2192
2210
|
/**
|
|
2193
2211
|
* Derive the {@link RecordingStorageModeSchema} summary from the authoritative
|
|
2194
2212
|
* bands: `continuous` when any band records continuously, `events` when a band
|
|
@@ -2201,7 +2219,9 @@ var RecordingConfigSchema = zod.z.object({
|
|
|
2201
2219
|
* bug this field was added to fix.
|
|
2202
2220
|
*/
|
|
2203
2221
|
function deriveRecordingMode(config) {
|
|
2204
|
-
if (!config.enabled
|
|
2222
|
+
if (!config.enabled) return "off";
|
|
2223
|
+
if (config.deviceDecision === true) return "on-device-decision";
|
|
2224
|
+
if (config.bands.length === 0) return "off";
|
|
2205
2225
|
if (config.bands.some((band) => band.mode === "continuous")) return "continuous";
|
|
2206
2226
|
return "events";
|
|
2207
2227
|
}
|
|
@@ -2229,6 +2249,85 @@ function resolveRecordingProfiles(assigned, override) {
|
|
|
2229
2249
|
const preferred = assigned.filter((profile) => DEFAULT_RECORDING_PROFILES.includes(profile));
|
|
2230
2250
|
return preferred.length > 0 ? preferred : [...assigned];
|
|
2231
2251
|
}
|
|
2252
|
+
/** Trigger keys that survive D380 — a band carrying one of these is a real band. */
|
|
2253
|
+
var SURVIVING_TRIGGER_KEYS = [
|
|
2254
|
+
"motion",
|
|
2255
|
+
"audioThresholdDbfs",
|
|
2256
|
+
"objectClasses",
|
|
2257
|
+
"sensorDeviceIds"
|
|
2258
|
+
];
|
|
2259
|
+
function isRecord$1(value) {
|
|
2260
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
2261
|
+
}
|
|
2262
|
+
function listensToLegacySignal(band) {
|
|
2263
|
+
return isRecord$1(band) && isRecord$1(band.triggers) && band.triggers.deviceSignal === true;
|
|
2264
|
+
}
|
|
2265
|
+
function hasSurvivingTrigger(band) {
|
|
2266
|
+
const triggers = band.triggers;
|
|
2267
|
+
if (!isRecord$1(triggers)) return false;
|
|
2268
|
+
return SURVIVING_TRIGGER_KEYS.some((key) => triggers[key] !== void 0);
|
|
2269
|
+
}
|
|
2270
|
+
function withoutLegacySignal(band) {
|
|
2271
|
+
const triggers = band.triggers;
|
|
2272
|
+
if (!isRecord$1(triggers)) return band;
|
|
2273
|
+
const { deviceSignal: _retired, ...rest } = triggers;
|
|
2274
|
+
return {
|
|
2275
|
+
...band,
|
|
2276
|
+
triggers: rest
|
|
2277
|
+
};
|
|
2278
|
+
}
|
|
2279
|
+
/**
|
|
2280
|
+
* Turn a config stored under D371 (`bands[].triggers.deviceSignal: true`) into
|
|
2281
|
+
* a D380 one (`deviceDecision: true`, no bands). Pure, total and IDEMPOTENT —
|
|
2282
|
+
* a row with no legacy key comes back as the SAME reference, `migrated: false`.
|
|
2283
|
+
*
|
|
2284
|
+
* ## Why the schema cannot be left to do this
|
|
2285
|
+
*
|
|
2286
|
+
* `RecordingTriggersSchema` is a non-strict `z.object`, so the retired key is
|
|
2287
|
+
* SILENTLY STRIPPED on read. The camera whose only trigger it was would parse
|
|
2288
|
+
* cleanly into an `events` band that lists nothing — "enabled, and records
|
|
2289
|
+
* nothing, forever", the exact shape `eventsBandCanEverDemand` exists to shout
|
|
2290
|
+
* about, reached without a single line in the log. On the reference hub that is
|
|
2291
|
+
* camera 4374, the one camera an operator had configured by hand.
|
|
2292
|
+
*
|
|
2293
|
+
* `enabled` is carried through untouched: a camera the operator had switched
|
|
2294
|
+
* OFF comes out of a migration still off (D62).
|
|
2295
|
+
*/
|
|
2296
|
+
function migrateLegacyDeviceSignalConfig(raw) {
|
|
2297
|
+
const unchanged = {
|
|
2298
|
+
value: raw,
|
|
2299
|
+
migrated: false,
|
|
2300
|
+
strippedOnly: false
|
|
2301
|
+
};
|
|
2302
|
+
if (!isRecord$1(raw) || !Array.isArray(raw.bands)) return unchanged;
|
|
2303
|
+
if (!raw.bands.some(listensToLegacySignal)) return unchanged;
|
|
2304
|
+
const kept = [];
|
|
2305
|
+
for (const band of raw.bands) {
|
|
2306
|
+
if (!listensToLegacySignal(band) || !isRecord$1(band)) {
|
|
2307
|
+
kept.push(band);
|
|
2308
|
+
continue;
|
|
2309
|
+
}
|
|
2310
|
+
if (hasSurvivingTrigger(band)) kept.push(withoutLegacySignal(band));
|
|
2311
|
+
}
|
|
2312
|
+
if (kept.length > 0) return {
|
|
2313
|
+
value: {
|
|
2314
|
+
...raw,
|
|
2315
|
+
bands: kept
|
|
2316
|
+
},
|
|
2317
|
+
migrated: false,
|
|
2318
|
+
strippedOnly: true
|
|
2319
|
+
};
|
|
2320
|
+
const { mode: _derived, ...rest } = raw;
|
|
2321
|
+
return {
|
|
2322
|
+
value: {
|
|
2323
|
+
...rest,
|
|
2324
|
+
bands: [],
|
|
2325
|
+
deviceDecision: true
|
|
2326
|
+
},
|
|
2327
|
+
migrated: true,
|
|
2328
|
+
strippedOnly: false
|
|
2329
|
+
};
|
|
2330
|
+
}
|
|
2232
2331
|
//#endregion
|
|
2233
2332
|
//#region src/interfaces/relocate.ts
|
|
2234
2333
|
/**
|
|
@@ -21503,12 +21602,10 @@ var CameraAudioStatusSchema = zod.z.object({
|
|
|
21503
21602
|
nodeId: zod.z.string(),
|
|
21504
21603
|
enabled: zod.z.boolean()
|
|
21505
21604
|
});
|
|
21506
|
-
/** Recording mode
|
|
21507
|
-
|
|
21508
|
-
|
|
21509
|
-
|
|
21510
|
-
"events"
|
|
21511
|
-
]);
|
|
21605
|
+
/** Recording mode — THE one definition, shared with the `recording` cap. A
|
|
21606
|
+
* copy of the list is how `on-device-decision` could have reached the recorder
|
|
21607
|
+
* and not this status block. */
|
|
21608
|
+
var CameraRecordingModeSchema = RecordingStorageModeSchema;
|
|
21512
21609
|
/** Recording block — null when no recording cap is active for this device. */
|
|
21513
21610
|
var CameraRecordingStatusSchema = zod.z.object({
|
|
21514
21611
|
mode: CameraRecordingModeSchema,
|
|
@@ -32115,11 +32212,10 @@ var rebootCapability = {
|
|
|
32115
32212
|
var RecordingStatusSchema = zod.z.object({
|
|
32116
32213
|
deviceId: zod.z.number(),
|
|
32117
32214
|
enabled: zod.z.boolean(),
|
|
32118
|
-
|
|
32119
|
-
|
|
32120
|
-
|
|
32121
|
-
|
|
32122
|
-
]),
|
|
32215
|
+
/** THE derived storage mode, from the one definition
|
|
32216
|
+
* (`deriveRecordingMode`) — never a second enum. A duplicated list is how
|
|
32217
|
+
* `on-device-decision` could have reached the recorder and not the status. */
|
|
32218
|
+
activeMode: RecordingStorageModeSchema,
|
|
32123
32219
|
nodeId: zod.z.string(),
|
|
32124
32220
|
storageBytes: zod.z.number()
|
|
32125
32221
|
});
|
|
@@ -55284,6 +55380,7 @@ exports.meshNetworkCapability = meshNetworkCapability;
|
|
|
55284
55380
|
exports.method = require_sleep.method;
|
|
55285
55381
|
exports.methodAccessForHttpMethod = methodAccessForHttpMethod;
|
|
55286
55382
|
exports.metricsProviderCapability = metricsProviderCapability;
|
|
55383
|
+
exports.migrateLegacyDeviceSignalConfig = migrateLegacyDeviceSignalConfig;
|
|
55287
55384
|
exports.modelConvertCapability = modelConvertCapability;
|
|
55288
55385
|
exports.modelDistributorCapability = modelDistributorCapability;
|
|
55289
55386
|
exports.modelFormatForRuntime = modelFormatForRuntime;
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as EventCategory } from "./event-category-zAv7pMUz.mjs";
|
|
2
|
-
import { $ as DecodedAudioChunkSchema, A as DEVICE_STATUS_METHOD, At as hydrateSchema, B as toNodeId, C as ChargingStatus, Ct as createEvent, D as adminUiCapability, Dt as WELL_KNOWN_TAB_MAP, E as DeviceType, Et as WELL_KNOWN_TABS, F as resolveCapMount, G as scopeKey, H as ReadinessTimeoutError, I as systemMethod, J as CAM_PROFILE_ORDER, K as BrokerStatsSchema, L as CAP_NODE_PIN_CONTEXT_KEY, M as expandCapMethods, N as isDeviceConfigCap, O as DEFAULT_RUNTIME_STATE_DURABILITY, Ot as collectHydratedFieldEntries, P as method, Q as CameraStreamSchema, R as nodePin, S as DEVICE_CHILDREN_BATCH_MAX, St as createDurableState, T as DeviceRole, Tt as isEvent, U as emitDownForOwnedCaps, V as ReadinessRegistry, W as readinessKey, X as CamStreamKindSchema, Y as CamProfileSchema, Z as CamStreamResolutionSchema, _ as createMirrorSource, _t as DATAPLANE_SECRET_HEADER, a as asJsonObject, at as ProfileSlotSchema, b as deviceOpsCapability, bt as BaseAddon, c as parseJsonArray, ct as StreamSourceSchema, d as BOOT_RECOVERY_BACKOFF_MS, dt as SubscribeFramesInputSchema, et as DecodedFrameSchema, f as DEVICE_SCOPED_CAPS, ft as SubscribeFramesResultSchema, g as createLazyTrpcSource, gt as selectAssignedProfileSlots, h as createEventBusSliceSource, ht as parseProfileBrokerId, i as asJsonArray, it as ProfileRtspEntrySchema, j as event, jt as resolveHydratedFieldValue, k as DEVICE_SETTINGS_CONTRIBUTION_METHODS, kt as collectHydratedFieldValues, l as parseJsonObject, lt as SubscribeAudioChunksInputSchema, m as createDeviceProxy, mt as makeSourceBrokerId, n as sleepCancellable, nt as FrameHandleFormatSchema, o as asNumber, ot as ProfileSlotStatusSchema, p as isDeviceScopedCap, pt as makeProfileBrokerId, q as BrokerStatusSchema, r as asBoolean, rt as FrameHandleSchema, s as asString, st as StreamSourceEntrySchema, t as sleep, tt as EncodedPacketSchema, u as parseJsonUnknown, ut as SubscribeAudioChunksResultSchema, v as createSliceHandle, vt as SHARE_VIEW_KINDS, w as DeviceFeature, wt as emitReadiness, x as viewerUiCapability, xt as normalizeAddonInitResult, y as RawStateResultSchema, yt as DisposerChain, z as readNodePin } from "./sleep-
|
|
2
|
+
import { $ as DecodedAudioChunkSchema, A as DEVICE_STATUS_METHOD, At as hydrateSchema, B as toNodeId, C as ChargingStatus, Ct as createEvent, D as adminUiCapability, Dt as WELL_KNOWN_TAB_MAP, E as DeviceType, Et as WELL_KNOWN_TABS, F as resolveCapMount, G as scopeKey, H as ReadinessTimeoutError, I as systemMethod, J as CAM_PROFILE_ORDER, K as BrokerStatsSchema, L as CAP_NODE_PIN_CONTEXT_KEY, M as expandCapMethods, N as isDeviceConfigCap, O as DEFAULT_RUNTIME_STATE_DURABILITY, Ot as collectHydratedFieldEntries, P as method, Q as CameraStreamSchema, R as nodePin, S as DEVICE_CHILDREN_BATCH_MAX, St as createDurableState, T as DeviceRole, Tt as isEvent, U as emitDownForOwnedCaps, V as ReadinessRegistry, W as readinessKey, X as CamStreamKindSchema, Y as CamProfileSchema, Z as CamStreamResolutionSchema, _ as createMirrorSource, _t as DATAPLANE_SECRET_HEADER, a as asJsonObject, at as ProfileSlotSchema, b as deviceOpsCapability, bt as BaseAddon, c as parseJsonArray, ct as StreamSourceSchema, d as BOOT_RECOVERY_BACKOFF_MS, dt as SubscribeFramesInputSchema, et as DecodedFrameSchema, f as DEVICE_SCOPED_CAPS, ft as SubscribeFramesResultSchema, g as createLazyTrpcSource, gt as selectAssignedProfileSlots, h as createEventBusSliceSource, ht as parseProfileBrokerId, i as asJsonArray, it as ProfileRtspEntrySchema, j as event, jt as resolveHydratedFieldValue, k as DEVICE_SETTINGS_CONTRIBUTION_METHODS, kt as collectHydratedFieldValues, l as parseJsonObject, lt as SubscribeAudioChunksInputSchema, m as createDeviceProxy, mt as makeSourceBrokerId, n as sleepCancellable, nt as FrameHandleFormatSchema, o as asNumber, ot as ProfileSlotStatusSchema, p as isDeviceScopedCap, pt as makeProfileBrokerId, q as BrokerStatusSchema, r as asBoolean, rt as FrameHandleSchema, s as asString, st as StreamSourceEntrySchema, t as sleep, tt as EncodedPacketSchema, u as parseJsonUnknown, ut as SubscribeAudioChunksResultSchema, v as createSliceHandle, vt as SHARE_VIEW_KINDS, w as DeviceFeature, wt as emitReadiness, x as viewerUiCapability, xt as normalizeAddonInitResult, y as RawStateResultSchema, yt as DisposerChain, z as readNodePin } from "./sleep-Cfij6Jj9.mjs";
|
|
3
3
|
import { a as buildAudioArgs, c as buildVideoArgs, d as logBannerArgs, f as pickVideoEncoder, i as audioPlanFromEncodeProfile, l as invocationFromEncodeProfile, n as Fmp4BoxSplitter, o as buildFfmpegArgs, r as AUDIO_PRESETS, s as buildInputArgs, t as canonicalHash, u as isSoftwareDecode } from "./canonical-hash-rO1sRmEK.mjs";
|
|
4
4
|
import { EventSourceType } from "./enums.mjs";
|
|
5
5
|
import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
|
|
@@ -1227,21 +1227,21 @@ function schemaDeclaresAnyField(schema) {
|
|
|
1227
1227
|
for (const section of sectionsOf(schema)) if (fieldsOf(section).length > 0) return true;
|
|
1228
1228
|
return false;
|
|
1229
1229
|
}
|
|
1230
|
-
function isRecord$
|
|
1230
|
+
function isRecord$3(value) {
|
|
1231
1231
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1232
1232
|
}
|
|
1233
1233
|
function sectionsOf(schema) {
|
|
1234
|
-
if (!isRecord$
|
|
1234
|
+
if (!isRecord$3(schema)) return [];
|
|
1235
1235
|
const sections = schema["sections"];
|
|
1236
1236
|
return Array.isArray(sections) ? sections : [];
|
|
1237
1237
|
}
|
|
1238
1238
|
function fieldsOf(node) {
|
|
1239
|
-
if (!isRecord$
|
|
1239
|
+
if (!isRecord$3(node)) return [];
|
|
1240
1240
|
const fields = node["fields"];
|
|
1241
1241
|
return Array.isArray(fields) ? fields : [];
|
|
1242
1242
|
}
|
|
1243
1243
|
function walkField(field, out) {
|
|
1244
|
-
if (!isRecord$
|
|
1244
|
+
if (!isRecord$3(field)) return;
|
|
1245
1245
|
const type = field["type"];
|
|
1246
1246
|
const key = field["key"];
|
|
1247
1247
|
if ((type === "password" || field["secret"] === true) && typeof key === "string" && key.length > 0) out.add(key);
|
|
@@ -1326,12 +1326,12 @@ function toStreamSourceEntry(stream) {
|
|
|
1326
1326
|
function isString(v) {
|
|
1327
1327
|
return typeof v === "string";
|
|
1328
1328
|
}
|
|
1329
|
-
function isRecord$
|
|
1329
|
+
function isRecord$2(v) {
|
|
1330
1330
|
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
1331
1331
|
}
|
|
1332
1332
|
function parseStreamEntry(v) {
|
|
1333
1333
|
if (isString(v) && v.trim()) return { url: v };
|
|
1334
|
-
if (isRecord$
|
|
1334
|
+
if (isRecord$2(v) && isString(v["url"]) && v["url"].trim()) return {
|
|
1335
1335
|
url: v["url"],
|
|
1336
1336
|
label: isString(v["label"]) ? v["label"] : void 0
|
|
1337
1337
|
};
|
|
@@ -1971,17 +1971,29 @@ var HHMM = /^([01]\d|2[0-3]):[0-5]\d$/;
|
|
|
1971
1971
|
/**
|
|
1972
1972
|
* DERIVED per-camera storage summary — the single field cheap consumers read
|
|
1973
1973
|
* (the viewer's status dot, the camera list) instead of walking `bands`:
|
|
1974
|
-
* - `off`
|
|
1975
|
-
* - `events`
|
|
1976
|
-
* - `continuous`
|
|
1977
|
-
*
|
|
1978
|
-
*
|
|
1979
|
-
*
|
|
1974
|
+
* - `off` — no band covers the camera (or it is disabled).
|
|
1975
|
+
* - `events` — every band records around triggers only.
|
|
1976
|
+
* - `continuous` — at least one band records continuously.
|
|
1977
|
+
* - `on-device-decision`— the DEVICE decides: recording runs for as long as the
|
|
1978
|
+
* camera raises its own `recording-signal` level (a robot that cleans). There
|
|
1979
|
+
* is no schedule to author, because there is no hour to program — see
|
|
1980
|
+
* {@link RecordingConfigSchema}`.deviceDecision`.
|
|
1981
|
+
*
|
|
1982
|
+
* NEVER authored: the recorder stamps it from the authoritative intent
|
|
1983
|
+
* (`bands` + `deviceDecision`) on every save (`activeModeForConfig`). Writing it
|
|
1984
|
+
* has no effect.
|
|
1985
|
+
*
|
|
1986
|
+
* `on-device-decision` is named for WHO decides, not for how the recording is
|
|
1987
|
+
* requested. `on-demand` was rejected: in this repo's vocabulary a "demand" is
|
|
1988
|
+
* something the operator makes (the live gate is the recorder's own "demand
|
|
1989
|
+
* window"), and a knob whose name suggests the operator starts it while the
|
|
1990
|
+
* device actually does is the D62 shape — a control nobody can predict.
|
|
1980
1991
|
*/
|
|
1981
1992
|
var RecordingStorageModeSchema = z.enum([
|
|
1982
1993
|
"off",
|
|
1983
1994
|
"events",
|
|
1984
|
-
"continuous"
|
|
1995
|
+
"continuous",
|
|
1996
|
+
"on-device-decision"
|
|
1985
1997
|
]);
|
|
1986
1998
|
/**
|
|
1987
1999
|
* Le macro classi che possono aprire una finestra di registrazione — le stesse
|
|
@@ -2040,22 +2052,7 @@ var RecordingTriggersSchema = z.object({
|
|
|
2040
2052
|
* il livello: un contatto trovato già aperto al riavvio del runner non fa
|
|
2041
2053
|
* registrare.
|
|
2042
2054
|
*/
|
|
2043
|
-
sensorDeviceIds: z.array(z.number().int().positive()).min(1).max(16).refine(noDuplicates, { message: "sensorDeviceIds must not repeat a device" }).optional()
|
|
2044
|
-
/**
|
|
2045
|
-
* La camera registra per tutta la durata del SEGNALE che lei stessa
|
|
2046
|
-
* pubblica — la cap `recording-signal` (`active: true` mentre il device è in
|
|
2047
|
-
* funzione: un robot che pulisce). È un LIVELLO, non un fronte: la finestra
|
|
2048
|
-
* resta aperta finché il segnale è alto e si chiude `postBufferSec` dopo la
|
|
2049
|
-
* caduta, così una pulizia di quaranta minuti è UNA clip.
|
|
2050
|
-
*
|
|
2051
|
-
* Non nomina un device: il segnale è della camera stessa, tenuto fresco dal
|
|
2052
|
-
* suo provider (D224); il recorder lo ascolta su `DeviceStateChanged` e lo
|
|
2053
|
-
* riconcilia leggendo la slice via RPC, con un tetto oltre il quale un
|
|
2054
|
-
* segnale mai abbassato (un evento perso) non può tenere aperta una
|
|
2055
|
-
* registrazione (D11). Vedi `recorder/addon/band-decision.ts`
|
|
2056
|
-
* (`holdTrigger` / `releaseTrigger`).
|
|
2057
|
-
*/
|
|
2058
|
-
deviceSignal: z.boolean().optional()
|
|
2055
|
+
sensorDeviceIds: z.array(z.number().int().positive()).min(1).max(16).refine(noDuplicates, { message: "sensorDeviceIds must not repeat a device" }).optional()
|
|
2059
2056
|
});
|
|
2060
2057
|
/**
|
|
2061
2058
|
* Mode of a single recording band — the recorder per-band vocabulary.
|
|
@@ -2186,8 +2183,29 @@ var RecordingConfigSchema = z.object({
|
|
|
2186
2183
|
* "off" is the absence of a covering band, never a band value.
|
|
2187
2184
|
*/
|
|
2188
2185
|
bands: z.array(RecordingBandSchema).default([]),
|
|
2186
|
+
/**
|
|
2187
|
+
* THE device-decided intent: record for as long as the camera itself raises
|
|
2188
|
+
* `recording-signal` (`active: true` while the device is in function — a
|
|
2189
|
+
* robot that cleans). AUTHORED, unlike `mode`, and the only authored
|
|
2190
|
+
* recording intent that is not a band.
|
|
2191
|
+
*
|
|
2192
|
+
* It carries NO schedule on purpose. A band is an HOUR, and this feature has
|
|
2193
|
+
* no hour to program: the device decides. What it costs the operator is one
|
|
2194
|
+
* flag — "this camera can record on its own" — and what it buys is the same
|
|
2195
|
+
* hold/release the recorder already implements (D371, `holdTrigger` /
|
|
2196
|
+
* `releaseTrigger`): the window opens on the rise, stays open for the whole
|
|
2197
|
+
* job however long it is, and closes one pad after the fall.
|
|
2198
|
+
*
|
|
2199
|
+
* EXCLUSIVE with `bands` (below): two authorities deciding when the same
|
|
2200
|
+
* camera records is the D62 failure. `off` remains `enabled: false`, so an
|
|
2201
|
+
* operator switching this camera off is REPORTED off, never as broken.
|
|
2202
|
+
*/
|
|
2203
|
+
deviceDecision: z.boolean().optional(),
|
|
2189
2204
|
retention: RecordingRetentionSchema.optional()
|
|
2190
|
-
}).strict()
|
|
2205
|
+
}).strict().refine((config) => config.deviceDecision !== true || config.bands.length === 0, {
|
|
2206
|
+
message: "deviceDecision is a whole-config mode and carries no schedule: it cannot be combined with bands",
|
|
2207
|
+
path: ["bands"]
|
|
2208
|
+
});
|
|
2191
2209
|
/**
|
|
2192
2210
|
* Derive the {@link RecordingStorageModeSchema} summary from the authoritative
|
|
2193
2211
|
* bands: `continuous` when any band records continuously, `events` when a band
|
|
@@ -2200,7 +2218,9 @@ var RecordingConfigSchema = z.object({
|
|
|
2200
2218
|
* bug this field was added to fix.
|
|
2201
2219
|
*/
|
|
2202
2220
|
function deriveRecordingMode(config) {
|
|
2203
|
-
if (!config.enabled
|
|
2221
|
+
if (!config.enabled) return "off";
|
|
2222
|
+
if (config.deviceDecision === true) return "on-device-decision";
|
|
2223
|
+
if (config.bands.length === 0) return "off";
|
|
2204
2224
|
if (config.bands.some((band) => band.mode === "continuous")) return "continuous";
|
|
2205
2225
|
return "events";
|
|
2206
2226
|
}
|
|
@@ -2228,6 +2248,85 @@ function resolveRecordingProfiles(assigned, override) {
|
|
|
2228
2248
|
const preferred = assigned.filter((profile) => DEFAULT_RECORDING_PROFILES.includes(profile));
|
|
2229
2249
|
return preferred.length > 0 ? preferred : [...assigned];
|
|
2230
2250
|
}
|
|
2251
|
+
/** Trigger keys that survive D380 — a band carrying one of these is a real band. */
|
|
2252
|
+
var SURVIVING_TRIGGER_KEYS = [
|
|
2253
|
+
"motion",
|
|
2254
|
+
"audioThresholdDbfs",
|
|
2255
|
+
"objectClasses",
|
|
2256
|
+
"sensorDeviceIds"
|
|
2257
|
+
];
|
|
2258
|
+
function isRecord$1(value) {
|
|
2259
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
2260
|
+
}
|
|
2261
|
+
function listensToLegacySignal(band) {
|
|
2262
|
+
return isRecord$1(band) && isRecord$1(band.triggers) && band.triggers.deviceSignal === true;
|
|
2263
|
+
}
|
|
2264
|
+
function hasSurvivingTrigger(band) {
|
|
2265
|
+
const triggers = band.triggers;
|
|
2266
|
+
if (!isRecord$1(triggers)) return false;
|
|
2267
|
+
return SURVIVING_TRIGGER_KEYS.some((key) => triggers[key] !== void 0);
|
|
2268
|
+
}
|
|
2269
|
+
function withoutLegacySignal(band) {
|
|
2270
|
+
const triggers = band.triggers;
|
|
2271
|
+
if (!isRecord$1(triggers)) return band;
|
|
2272
|
+
const { deviceSignal: _retired, ...rest } = triggers;
|
|
2273
|
+
return {
|
|
2274
|
+
...band,
|
|
2275
|
+
triggers: rest
|
|
2276
|
+
};
|
|
2277
|
+
}
|
|
2278
|
+
/**
|
|
2279
|
+
* Turn a config stored under D371 (`bands[].triggers.deviceSignal: true`) into
|
|
2280
|
+
* a D380 one (`deviceDecision: true`, no bands). Pure, total and IDEMPOTENT —
|
|
2281
|
+
* a row with no legacy key comes back as the SAME reference, `migrated: false`.
|
|
2282
|
+
*
|
|
2283
|
+
* ## Why the schema cannot be left to do this
|
|
2284
|
+
*
|
|
2285
|
+
* `RecordingTriggersSchema` is a non-strict `z.object`, so the retired key is
|
|
2286
|
+
* SILENTLY STRIPPED on read. The camera whose only trigger it was would parse
|
|
2287
|
+
* cleanly into an `events` band that lists nothing — "enabled, and records
|
|
2288
|
+
* nothing, forever", the exact shape `eventsBandCanEverDemand` exists to shout
|
|
2289
|
+
* about, reached without a single line in the log. On the reference hub that is
|
|
2290
|
+
* camera 4374, the one camera an operator had configured by hand.
|
|
2291
|
+
*
|
|
2292
|
+
* `enabled` is carried through untouched: a camera the operator had switched
|
|
2293
|
+
* OFF comes out of a migration still off (D62).
|
|
2294
|
+
*/
|
|
2295
|
+
function migrateLegacyDeviceSignalConfig(raw) {
|
|
2296
|
+
const unchanged = {
|
|
2297
|
+
value: raw,
|
|
2298
|
+
migrated: false,
|
|
2299
|
+
strippedOnly: false
|
|
2300
|
+
};
|
|
2301
|
+
if (!isRecord$1(raw) || !Array.isArray(raw.bands)) return unchanged;
|
|
2302
|
+
if (!raw.bands.some(listensToLegacySignal)) return unchanged;
|
|
2303
|
+
const kept = [];
|
|
2304
|
+
for (const band of raw.bands) {
|
|
2305
|
+
if (!listensToLegacySignal(band) || !isRecord$1(band)) {
|
|
2306
|
+
kept.push(band);
|
|
2307
|
+
continue;
|
|
2308
|
+
}
|
|
2309
|
+
if (hasSurvivingTrigger(band)) kept.push(withoutLegacySignal(band));
|
|
2310
|
+
}
|
|
2311
|
+
if (kept.length > 0) return {
|
|
2312
|
+
value: {
|
|
2313
|
+
...raw,
|
|
2314
|
+
bands: kept
|
|
2315
|
+
},
|
|
2316
|
+
migrated: false,
|
|
2317
|
+
strippedOnly: true
|
|
2318
|
+
};
|
|
2319
|
+
const { mode: _derived, ...rest } = raw;
|
|
2320
|
+
return {
|
|
2321
|
+
value: {
|
|
2322
|
+
...rest,
|
|
2323
|
+
bands: [],
|
|
2324
|
+
deviceDecision: true
|
|
2325
|
+
},
|
|
2326
|
+
migrated: true,
|
|
2327
|
+
strippedOnly: false
|
|
2328
|
+
};
|
|
2329
|
+
}
|
|
2231
2330
|
//#endregion
|
|
2232
2331
|
//#region src/interfaces/relocate.ts
|
|
2233
2332
|
/**
|
|
@@ -21502,12 +21601,10 @@ var CameraAudioStatusSchema = z.object({
|
|
|
21502
21601
|
nodeId: z.string(),
|
|
21503
21602
|
enabled: z.boolean()
|
|
21504
21603
|
});
|
|
21505
|
-
/** Recording mode
|
|
21506
|
-
|
|
21507
|
-
|
|
21508
|
-
|
|
21509
|
-
"events"
|
|
21510
|
-
]);
|
|
21604
|
+
/** Recording mode — THE one definition, shared with the `recording` cap. A
|
|
21605
|
+
* copy of the list is how `on-device-decision` could have reached the recorder
|
|
21606
|
+
* and not this status block. */
|
|
21607
|
+
var CameraRecordingModeSchema = RecordingStorageModeSchema;
|
|
21511
21608
|
/** Recording block — null when no recording cap is active for this device. */
|
|
21512
21609
|
var CameraRecordingStatusSchema = z.object({
|
|
21513
21610
|
mode: CameraRecordingModeSchema,
|
|
@@ -32114,11 +32211,10 @@ var rebootCapability = {
|
|
|
32114
32211
|
var RecordingStatusSchema = z.object({
|
|
32115
32212
|
deviceId: z.number(),
|
|
32116
32213
|
enabled: z.boolean(),
|
|
32117
|
-
|
|
32118
|
-
|
|
32119
|
-
|
|
32120
|
-
|
|
32121
|
-
]),
|
|
32214
|
+
/** THE derived storage mode, from the one definition
|
|
32215
|
+
* (`deriveRecordingMode`) — never a second enum. A duplicated list is how
|
|
32216
|
+
* `on-device-decision` could have reached the recorder and not the status. */
|
|
32217
|
+
activeMode: RecordingStorageModeSchema,
|
|
32122
32218
|
nodeId: z.string(),
|
|
32123
32219
|
storageBytes: z.number()
|
|
32124
32220
|
});
|
|
@@ -53970,4 +54066,4 @@ function enumerateInferenceDevices(hw) {
|
|
|
53970
54066
|
return out;
|
|
53971
54067
|
}
|
|
53972
54068
|
//#endregion
|
|
53973
|
-
export { ACCESSORY_LABEL, ACCESS_ROLES, ALEXA_EGRESS_PROFILE, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, AUDIO_ANALYSIS_CAP_NAME, AUDIO_BACKEND_CHOICES, AUDIO_MACRO_LABELS, AUDIO_PRESETS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionCandidateResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, AdoptionJobSchema, AdoptionJobStateSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, AdoptionOutcomeSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, ApiKeyRecordSchema, ApiKeySummarySchema, ArchiveEntrySchema, ArchiveManifestSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AuthResultSchema, AutoUpdateSettingsSchema, AutomationActionSchema, AutomationConditionOperatorSchema, AutomationConditionSchema, AutomationControlStatusSchema, AutomationRecipeSchema, AutomationTriggerSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BASE_LIVE_EGRESS_PROFILE, BATTERY_DEVICE_PROFILE, BATTERY_UNREACHABLE_AFTER_MS, BOOT_RECOVERY_BACKOFF_MS, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BackupRunPhaseSchema, BackupRunSchema, BackupRunStateSchema, BackupTriggerResultSchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, BulkRecordSchema, CAMERA_SWITCH_CATALOG, CAMERA_SWITCH_ORDER, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, CLASS_MAP_MACRO_TARGETS, CLUSTER_MODEL_SCOPED_STEPS, CLUSTER_MODEL_SECTION_ID, CLUSTER_STEP_SETTING_FIELDS, COCO_80_LABELS, COCO_TO_MACRO, CONNECTION_TEST_TIMEOUT_MS, CONTAINER_CHILD_PRIORITY, CORE_BLOCKS_ADDON_ID, CORE_BLOCK_ADDON_PREFIX, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraOccupancySnapshotForDeviceSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusDegradationReasonSchema, CameraStatusDegradationSchema, CameraStatusSchema, CameraStatusStageSchema, CameraStreamSchema, CameraSwitchAuthoritySchema, CameraSwitchGroupSchema, CameraSwitchIdSchema, CameraSwitchSchema, CameraSwitchUnavailableReasonSchema, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CarbonMonoxideStatusSchema, ChargingStatus, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipPlaybackSchema, ClipSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectionTestDescriptorSchema, ConnectionTestInputSchema, ConnectionTestOutcomeSchema, ConnectivityStatusSchema, ConsumableItemSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoreBlockCompileResultSchema, CoreBlockInputSchema, CoreBlockPlacementSchema, CoreBlockSchema, CoreBlockStatusSchema, CoverStateSchema, CoverStatusSchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, CreateIntegrationInputSchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, CreateUserInputSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATAPLANE_SECRET_HEADER, DECLARED_DEVICE_SWEEP_LIMIT, DECLARED_INTEGRATION_FIXED_KEY, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_CLUSTER_STEP_MODELS, DEFAULT_CLUSTER_STEP_SETTINGS, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_DETAIL_CROP_CONVENTION, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS, DEFAULT_MIN_LANDMARK_FACE_SIZE_PX, DEFAULT_NATIVE_LEASE_SETTINGS, DEFAULT_POOL_MEMORY_POLICY, DEFAULT_RECORDING_PROFILES, DEFAULT_RETENTION, DEFAULT_RUNTIME_STATE_DURABILITY, DEFAULT_TIMELAPSE_PREVIEW_TEXT, DEFAULT_TOKEN_EXPIRY, DETAIL_CROP_PADDING_FIELD, DETAIL_CROP_PADDING_KEY, DETAIL_CROP_SECTION_ID, DETAIL_CROP_SQUARE_KEY, DETECTION_MACRO_CLASSES, DETECTION_PIPELINE_CAP_NAME, DEVICE_BACKEND_TO_FORMAT, DEVICE_CAP_NAMES, DEVICE_CHILDREN_BATCH_MAX, DEVICE_PROFILES, DEVICE_RESTORE_RETRY_CONCURRENCY, DEVICE_RESTORE_RETRY_DELAYS_MS, DEVICE_SCOPED_CAPS, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATE_READERS, DEVICE_STATUS_METHOD, DEVICE_TYPE_CONTROL_KIND, DEVICE_TYPE_INFO, EngineInfoSchema as DataStoreEngineInfoSchema, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DeclaredDevices, DecodedAudioChunkSchema, DecodedFrameSchema, DecoderSessionConfigSchema, DecoderStatsSchema, DeleteIntegrationResultSchema, DetailCropConventionSchema, DetectionCatalogClassMapSchema, DetectionSourceSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceNetworkStatsSchema, DeviceRestoreRetryScheduler, DeviceRole, DeviceRuntimeState, DeviceSelectorSchema, DeviceStatusSchema, DeviceType, DiagnosticIdSchema, DiagnosticWindowPatchSchema, DiagnosticWindowSchema, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DiskReconcileJobSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENTFUL_CAP_NAMES, EVENT_DENSITY_BATCH_MAX, EVENT_KIND_BY_CAP, EVENT_PAD_MS, EVENT_TAXONOMY, EXPORT_DENSE_MAX_RANGES, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, EgressEncodeSchema, EgressRateControlSchema, EgressTranscodeRequestSchema, EgressTranscodeSchema, ElementConfigStore, EmbeddingInfoSchema, EmbeddingResultSchema, EncodeProfileSchema, EncodedPacketSchema, EnrichedWidgetMetadataSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, EventCategory, EventDensityBucketSchema, EventDensityForDeviceSchema, EventEmitterStatusSchema, EventFireSchema, EventItemSchema, EventKindCategorySchema, EventKindDescriptorSchema, EventKindIconSchema, EventKindSchema, EventKindsForDeviceSchema, EventMediaArtifactSchema, EventMediaCoverageSchema, EventMediaKindSchema, EventMediaProductionSchema, EventSourceType, ExportBytesSchema, ExportDenseRangeSchema, ExportDenseSchema, ExportDownloadSchema, ExportOptionsSchema, ExportRecordSchema, ExportSetupFieldSchema, ExportSetupSchema, ExportSpeedSchema, ExportStateSchema, ExportTimelapseSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionBindingSourceSchema, ExpressionEvalError, ExpressionFieldBindingSchema, ExpressionGlobalBindingSchema, ExpressionLiteralBindingSchema, ExpressionParseError, ExpressionSourceSchema, FIRST_LEVEL_MACRO_CLASSES, FULL_IMAGE_BBOX, FailureContributionSchema, FailureCounters, FailureReasonCountSchema, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, Fmp4BoxSplitter, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, FrameLazyCountersSchema, FrameLazyMetricsSchema, GasStatusSchema, GetLoggingSettingsInputSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, HAP_AUDIO_BASE, HAP_AUDIO_BITRATE_KBPS, HAP_AUDIO_VBV_KBITS, HAP_KEYFRAME_INTERVAL_SEC, HF_BASE_URL, HF_REPO, HWACCEL_OPTIONS, HealthStatusSchema, HfModelResolutionSchema, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, INFERENCE_DEVICE_EXCLUSION_REASONS, ImageContractSchema, ImageContractStateSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, InferenceDeviceExclusionReasonSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, KeyEventSchema, LOAD_CONTRIBUTION_ATTRIBUTIONS, LOAD_CONTRIBUTION_ROLES, LOG_CHANNEL_TICK_MS, LOG_LEVEL_RANK, LabelAttributionSchema, LabelDefinitionSchema, LabelTierSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LedgerWalkDeviceReportSchema, LedgerWalkInputSchema, LedgerWalkRefusalSchema, LedgerWalkReportSchema, LedgerWalkSkipCountsSchema, LedgerWalkSkipReasonSchema, LinkedDeviceSchema, LinkedDevicesModeSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmDownloadProgressSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRetryPolicySchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmTimeoutDefaults, LlmUsageRollupSchema, LlmUsageSchema, LoadContributionSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogChannelApplyResultSchema, LogChannelDescriptorSchema, LogChannelGate, LogChannelLevelSchema, LogChannelRegistry, LogChannelWindowPatchSchema, LogChannelWindowSchema, LogChannelWindowStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, LoggingEffectiveSchema, LoggingExplicitSchema, LoggingLevelLayerSchema, LoggingLevelSourceSchema, LoggingScopeKindSchema, LoggingSettingsPatchSchema, LoggingSettingsStateSchema, LoginMethodContributionSchema, LoginStageEnum, MACRO_LABELS, MAX_CLIP_EVENT_IDS, MAX_CLIP_LABELS, MAX_CONDITION_DEPTH, MAX_CONDITION_LEAVES, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, MAX_KEYS, MAX_REASONS_PER_KEY, MAX_SENSOR_TRIGGER_DEVICES, MAX_TRACK_DEBUG_NOTE_LEN, METHOD_ACCESS_MAP, METHOD_DEVICE_SELECTORS, MODEL_FORMATS, MODEL_PROVIDER_IDS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelExtraFileSchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileInfoSchema, MediaFileKindEnum, MediaFileRefSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MediaRelocateModeSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, MigrateDeviceResultSchema, MigrateSwitchOutcomeSchema, MigrateSwitchReportSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, ModelProviderIdSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, MutationFilterSchema, NATIVE_LEASE_ACTIVITY_FIELD, NATIVE_LEASE_ACTIVITY_KEY, NATIVE_LEASE_ADMISSION_FIELD, NATIVE_LEASE_ADMISSION_KEY, NATIVE_LEASE_BUDGET_FIELD, NATIVE_LEASE_BUDGET_KEY, NATIVE_LEASE_HOLD_FIELD, NATIVE_LEASE_HOLD_KEY, NATIVE_LEASE_SCENE_BUDGET_FIELD, NATIVE_LEASE_SCENE_BUDGET_KEY, NATIVE_LEASE_SECTION_ID, NATIVE_LEASE_TILE_BUDGET_FIELD, NATIVE_LEASE_TILE_BUDGET_KEY, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_CONFIRM_HITS_DEFAULT, NC_AUDIO_CONFIRM_HITS_MAX, NC_AUDIO_CONFIRM_HITS_MIN, NC_AUDIO_CONFIRM_WINDOW_MAX_SEC, NC_AUDIO_CONFIRM_WINDOW_MIN_SEC, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT, NC_AUDIO_DBFS_FLOOR, NC_AUDIO_DB_MAX, NC_AUDIO_DB_MIN, NC_AUDIO_DB_OFFERED, NC_AUDIO_DB_STEP, NC_AUDIO_DEFAULTS, NC_AUDIO_HIT_PERCENT_MAX, NC_AUDIO_HIT_PERCENT_MIN, NC_AUDIO_SAMPLING_MAX_SEC, NC_AUDIO_SAMPLING_MIN_SEC, NC_AUDIO_SEED, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BASE_CONDITION_KEYS, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_DEFAULT_SNOOZE_MINUTES, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_OCCUPANCY_DEFAULTS, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_RULE_SECTIONS, NC_SNOOZE_MAX_MINUTES, NC_SYSTEM_DELIVERY, NC_SYSTEM_EVENT_FILTER_KEYS, NC_TAXONOMY, NETWORK_LINK_TYPES, NETWORK_LINK_UNKNOWN, NativeCropBboxSchema, NativeCropRefSchema, NativeCropResultSchema, NativeDetectionSchema, NativeLeaseAdmissionSchema, NativeLeaseSettingsSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, NavigationActionEntrySchema, NavigationActionIdSchema, NavigationEntryKindSchema, NavigationFeaturesSchema, NavigationLightModeSchema, NavigationModeSchema, NavigationMoveCommandSchema, NavigationPointSchema, NavigationRuntimeStateSchema, NavigationStatusSchema, NcAlarmConfigSchema, NcAlarmModeCoverageSchema, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, NcAlarmSkipReasonSchema, NcAlarmSkippedDeviceSchema, NcAudioConditionSchema, NcConditionDescriptorSchema, NcConditionsSchema, NcConfirmExpectSchema, NcConfirmSchema, NcCrossingSchema, NcDeliverySchema, NcDeviceStateConditionSchema, NcHistoryEntrySchema, NcHistoryFilterSchema, NcHistoryRecordKindSchema, NcHistoryStatusSchema, NcHistorySubjectSchema, NcMediaFrameSchema, NcMediaPolicySchema, NcOccupancyConditionSchema, NcPlateMatcherSchema, NcRuleActionSchema, NcRuleActionSequenceSchema, NcRuleActionsSchema, NcRuleInputSchema, NcRuleNotificationButtonSchema, NcRulePatchSchema, NcRuleSchema, NcRuleTargetSchema, NcSceneConditionSchema, NcScheduleSchema, NcScheduleWindowSchema, NcSnoozeInputSchema, NcSnoozeSchema, NcSnoozeScopeSchema, NcSnoozeSuppressedSchema, NcSystemEventConditionSchema, NcSystemEventKindSchema, NcTaxonomyEntrySchema, NcTaxonomySchema, NcTestResultSchema, NcThrottleGranularitySchema, NcThrottleSchema, NcZoneConditionSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NetworkLinkStatusSchema, NotificationActionIconSchema, NotificationActionSchema, NotificationFormatSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OPERATOR_WRITTEN_STALE_MS, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, OVERFLOW_REASON, OauthIntegrationDescriptorSchema, ObjectEventSchema, OpsLogDomainSchema, OpsLogEntrySchema, OpsLogOpSchema, OpsLogQueryInputSchema, OpsLogReasonSchema, OrchestratorMetricsSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdRenderOutcomeEnum, OsdRenderResultSchema, OsdSlotBindingSchema, OsdSlotViewSchema, OsdSourceOptionSchema, OsdSourceSchema, OsdSourceValueTypeEnum, OsdStatusSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PRIVACY_MASK_CAP_NAME, PROVIDER_KIND_CAP_NAMES, PYTHON_SCRIPT, PackageUpdateSchema, PackageVersionInfoSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PolygonPointSchema, PoolMemoryWatchdog, PowerMeterStatusSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzMoveCommandSchema, PtzOptionsSchema, PtzPositionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, RATE_CONTROL_RELAXED, RATE_CONTROL_TIGHT, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECOGNITION_TYPES, RECORDING_EXPORT_MAX_READ_BYTES, RECORDING_TIMELINE_BATCH_MAX, REDACTED_SECRET, RESERVED_BINDING_NAMES, RESTORED_CAP_NAMES, ROOT_BUCKET_KEY, RUNTIME_DEFAULTS, RUNTIME_STATE_POLICY, RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadGopBytesResultSchema, ReadSegmentBytesResultSchema, ReadWindowBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecentTracksPageSchema, RecentTracksQueryInput, RecordingAvailabilityForDeviceSchema, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysForDeviceSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingObjectTriggerClassSchema, RecordingRangeSchema, RecordingRebalanceInputSchema, RecordingRebalanceMoveSchema, RecordingRebalancePlanSchema, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, RecordingRetentionSchema, RecordingSignalRuntimeStateSchema, RecordingSignalStatusSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RedirectLoginMethodSchema, RelocatableMediaCountInputSchema, RelocatableMediaCountSchema, RelocateFootageClassSchema, RelocateFootageInputSchema, RelocateJobSchema, RelocateJobStateSchema, RelocateMediaInputSchema, RelocateResidueInputSchema, RelocateResidueSchema, RenderedAsSchema, ReportMotionInputSchema, ReportedFailureContributionSchema, ReportedLoadContributionSchema, RequestCensusGroupSchema, RequestCensusProcedureSchema, RequestCensusSnapshotSchema, RequestCensusStatusSchema, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, RetrainFrameCandidateSchema, RetrainFrameListSchema, RetrainFrameSchema, RetrainFrameSelectionSchema, RetrainMacroClassSchema, RetrainStatusSchema, RetrainTrackSchema, RetrainTransitionResultSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCENE_CONDITIONS, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, SCENE_DEFAULT_ANCHOR_THRESHOLD, SCENE_DEFAULT_CHECK_INTERVAL_SEC, SCENE_DEFAULT_OBSERVATION_SPACING_SEC, SCENE_DEFAULT_QUIET_SECONDS, SCENE_DEFAULT_UNCOVERED_POLICY, SCENE_DIVERGED, SCENE_RESET_RECAPTURES, SCOPE_PRESETS, SENSOR_FEATURES, SENSOR_MAP, SHARE_VIEW_KINDS, SOURCE_CAPS, SOURCE_CAP_ACTIVE_FIELD, SOURCE_CAP_CHANGED_AT_FIELD, SOURCE_DEVICE_TYPES, SOURCE_INFO_METADATA_KEY, STORAGE_ACCESS_FALLBACK, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SUMMARIES_DEFAULT_LIMIT, SUMMARIES_MAX_LIMIT, SYSTEM_CAP_NAMES, SYSTEM_SCOPE_DEVICE_METHODS, SceneCheckSchema, SceneConditionSchema, SceneConfirmSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusForDeviceSchema, SceneMonitorStatusSchema, SceneReferenceSchema, SceneUnavailableSchema, SceneUncoveredPolicySchema, SceneVerdictSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SetLoggingSettingsInputSchema, SetSiteLocationInputSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SiteLocationSchema, SiteLocationSourceSchema, SiteLocationStatusSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, StorageAccessSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, StorageCleanupInputSchema, StorageCleanupJobSchema, StorageCleanupPhaseSchema, StorageCleanupStatusInputSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageLocationDeclarationSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, StorageMigrationClassSchema, StorageMigrationDestinationsSchema, StorageMigrationDrainInputSchema, StorageMigrationFindingCodeSchema, StorageMigrationFindingSchema, StorageMigrationFootageMoveInputSchema, StorageMigrationInputSchema, StorageMigrationJobSchema, StorageMigrationLaneSchema, StorageMigrationLeaseInputSchema, StorageMigrationMediaMoveInputSchema, StorageMigrationModeSchema, StorageMigrationMoveProgressSchema, StorageMigrationMoveSchema, StorageMigrationMoverSchema, StorageMigrationParticipantSchema, StorageMigrationPhaseSchema, StorageMigrationPlanSchema, StorageMigrationResidueSchema, StorageMigrationSourcesSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SubscribeFramesInputSchema, SubscribeFramesResultSchema, SummarySchema, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, TAXONOMY_COLORS, TIMELAPSE_DENSE_FLOOR_SEC, TIMEZONES, TRANSCODE_DOWN_MAX_BITRATE_KBPS, TRANSCODE_DOWN_MAX_HEIGHT, TamperStatusSchema, TankStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TerminalInstanceInfoSchema, TerminalLegacyCameraSchema, TerminalOutputBatchSchema, TerminalOutputEventSchema, TerminalProfileInfoSchema, TerminalSessionInfoSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestConnectionStatusEnum, TestResultSchema, TimelapseRuleInputSchema, TimelapseRulePatchSchema, TimelapseRuleSchema, TimelapseTemplateSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackEnvelopeSchema, TrackFlagsPatchSchema, TrackFlagsSchema, TrackProjectionSchema, TrackSchema, TrackSourceSchema, TrackStateSchema, TrackZoneFilterSchema, TrackedDetectionSchema, TrainingExportDeviceTotalsSchema, TrainingExportSummarySchema, TransportPlaneCountsSchema, TransportPlaneSchema, TurnServerSchema, UNATTRIBUTED_BUCKET_KEY, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UnstampedEventMediaCountSchema, UnstampedRowsSchema, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, VISIT_MERGE_GAP_MS, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VectorDeclareIndexInputSchema, VectorDeleteByFilterInputSchema, VectorDeleteInputSchema, VectorDeleteResultSchema, VectorFilterSchema, VectorGetInputSchema, VectorGetResultSchema, VectorItemSchema, VectorMatchSchema, VectorMetadataSchema, VectorMetricSchema, VectorQueryInputSchema, VectorQueryResultSchema, VectorStatsInputSchema, VectorStatsResultSchema, VectorUpsertInputSchema, VectorUpsertResultSchema, VibrationStatusSchema, VideoEncodeSchema, WEBRTC_EGRESS_PROFILE, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, YAMNET_TO_MACRO, ZoneCrossingDirectionSchema, ZoneCrossingSchema, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, __resetLogChannelRegistryForTests, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, asBoolean, asJsonArray, asJsonObject, asNumber, asString, assertTimelapseCadences, audioAnalysisCapability, audioAnalyzerCapability, audioCodecCapability, audioIsFailClosed, audioKindId, audioLabelChoices, audioMetricsCapability, audioModeOf, audioOrDefaults, audioPlanFromEncodeProfile, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, bareAddonId, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildAudioArgs, buildEventKindDescriptor, buildFfmpegArgs, buildInputArgs, buildModelVariantGroups, buildNcTaxonomy, buildRoleScopes, buildStreamParamsConfigSchema, buildVideoArgs, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, canonicalEgressPlan, carbonMonoxideCapability, cellsToRects, classifyBearerPrincipal, classifyStream, classifyStreams, climateControlCapability, clusterModelSettingKey, clusterStepSettingFieldsFor, clusterStepSettingKey, collectHydratedFieldEntries, collectHydratedFieldValues, collectSecretConfigKeys, colorCapability, colorForKind, commitWatchdogRestart, compileExpression, compileExpressionSafe, composeSwitchedOff, conditionDepth, conditionExclusionReason, conditionVisibleForKind, connectionTestCapability, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, coreBlockAddonId, coreBlockIdFromAddonId, coreBlocksCapability, cosineSimilarity, countConditionLeaves, coverCapability, createDeviceProxy, createDurableState, createEvent, createEventBusSliceSource, createExpressionScope, createHwAccelCache, createLazyTrpcSource, createLogChannelsProvider, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dataStoreProviderCapability, dayNightCapability, declarationOwnerNodeId, declareLogChannel, decodeVectorBase64, decoderCapability, defaultDeliveryForSection, defaultDeviceFor, defineCustomActions, deriveBatteryPresence, deriveCameraSwitches, deriveDetailCropRect, deriveRecordingMode, describeModelVariant, detectAccessRole, detectionPipelineCapability, deviceAdoptionCapability, deviceBackendToFormat, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceSelectorMatches, deviceStateCapability, deviceStatusCapability, doorbellCapability, droppedConditionsForKind, egressTranscodeSharingKey, egressTransportFromRequest, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, encodeVectorBase64, enumSensorCapability, enumerateInferenceDevices, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateExpressionSource, evaluatePoolMemory, evaluateSensorEdge, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, expandCapMethods, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, failureContributionCapability, failureRate, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, foldSnapshotByFunction, formatForBackend, formatForRuntime, gasCapability, generateAutomationBlock, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getLogChannelRegistry, getTaxonomyEntry, hasMotionTrigger, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, inferModelProvider, initialPoolMemoryState, integrationsCapability, intercomCapability, invocationFromEncodeProfile, isAgentOnlyPlacement, isArrayOutputSchema, isAudioLabelSelected, isAudioRule, isBaseConditionKey, isBatteryPresenceFault, isClusterScopedStep, isCollectionArrayMethod, isDeployableToAgent, isDetectionMacroClass, isDeviceConfigCap, isDeviceScopedCap, isEvent, isFirstLevelMacroClass, isIsolatedBuiltin, isNode, isObjectInput, isOccupancyRule, isRestoredCap, isSameAddonId, isScheduleActive, isSecretConfigField, isSoftwareDecode, isSourceCap, isSystemDelivery, isVoidInput, jobKindSchema, kebabToCamel, knownValues, lawnMowerControlCapability, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, llmCapability, llmRuntimeCapability, loadContributionCapability, localNetworkCapability, locationSimilarity, lockControlCapability, logBannerArgs, logChannelsCapability, logDestinationCapability, logLevelAtMost, loginMethodCapability, looseSchema, makeProfileBrokerId, makeSourceBrokerId, mapAudioLabelToMacro, markdownToHtmlLite, markdownToText, maskUrlCredentials, mediaPlayerCapability, mergeSourceInfo, meshNetworkCapability, method, methodAccessForHttpMethod, metricsProviderCapability, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, navigationCapability, networkAccessCapability, networkLinkCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeAudioLabel, normalizeTokenScopes, normalizeUnit, notificationOutputCapability, notificationRulesCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, objectInputDeclaresAddonId, osdCapability, osdManagerCapability, overlayClusterStepSettings, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProcStatus, parseProfileBrokerId, parseRuleSection, parseStreamParamsFormPatch, patchAudio, petFeederCapability, pickAccessoryControl, pickClusterStepModels, pickClusterStepSettings, pickDetailCropConvention, pickNativeLeaseOverride, pickPreferredRtspEntry, pickRestartCandidate, pickVideoEncoder, pickerForCondition, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, poolMemoryThreshold, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, principalMayReachAddon, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readClusterStepModels, readClusterStepSettings, readDetailCropConvention, readDeviceStateFrom, readNativeLeaseOverride, readNodePin, readTimelapseGeneratedAt, readinessKey, rebootCapability, recordingCapability, recordingExportCapability, recordingSignalCapability, rectsToCells, reducePoints, requiresPython, resetPoolBaseline, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveBucketMs, resolveCapMount, resolveClusterStepModelId, resolveContainerPrimaryChild, resolveDetectionRuntime, resolveDeviceControlKind, resolveDeviceProfile, resolveEgressDecodeHwAccel, resolveFormat, resolveHydratedFieldValue, resolveMethodAuth, resolveModelFormat, resolveMutate, resolvePoolMemoryPolicy, resolveRecordingProfiles, resolveRunnerId, resolveVariantModelId, resolveViewableDeviceIds, roleSpec, ruleEditorSectionsForKind, ruleKindOf, ruleKindSpec, ruleMatchesSection, ruleSection, ruleSectionOf, ruleSeedForSection, runInferenceStep, runtimeDevices, runtimeStatePolicyFor, sceneMonitorCapability, schemaDeclaresAnyField, scopeInherits, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, serverManagementCapability, setByPath, settingsStoreCapability, signalPercentFromBars, signalPercentFromRssi, sleep, sleepCancellable, sliceActiveValue, sliceChangedAt, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, stateVocabularyFor, storageCapability, storageEvictableCapability, storageMigrationCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, subKindsOf, summarisePrivacyAudio, summarizeEffectiveScope, supportedRuntimes, switchCapability, switchedOffIds, synthesizeSourceInfo, systemCapability, systemEventFilterApplies, systemEventFilterAppliesToAnyKind, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, terminalSessionCapability, textToHtml, toDeviceSummary, toExpressionValue, toNodeId, toStreamSourceEntry, toastCapability, toggleAudioLabel, tokenize, transcodeBody, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, updateCapability, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateExpressionSource, validateRecipeBounds, valveCapability, vectorDimFromBase64, vectorStoreCapability, vibrationCapability, videoclipsCapability, viewerUiCapability, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
|
|
54069
|
+
export { ACCESSORY_LABEL, ACCESS_ROLES, ALEXA_EGRESS_PROFILE, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, AUDIO_ANALYSIS_CAP_NAME, AUDIO_BACKEND_CHOICES, AUDIO_MACRO_LABELS, AUDIO_PRESETS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionCandidateResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, AdoptionJobSchema, AdoptionJobStateSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, AdoptionOutcomeSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, ApiKeyRecordSchema, ApiKeySummarySchema, ArchiveEntrySchema, ArchiveManifestSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AuthResultSchema, AutoUpdateSettingsSchema, AutomationActionSchema, AutomationConditionOperatorSchema, AutomationConditionSchema, AutomationControlStatusSchema, AutomationRecipeSchema, AutomationTriggerSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BASE_LIVE_EGRESS_PROFILE, BATTERY_DEVICE_PROFILE, BATTERY_UNREACHABLE_AFTER_MS, BOOT_RECOVERY_BACKOFF_MS, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BackupRunPhaseSchema, BackupRunSchema, BackupRunStateSchema, BackupTriggerResultSchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, BulkRecordSchema, CAMERA_SWITCH_CATALOG, CAMERA_SWITCH_ORDER, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, CLASS_MAP_MACRO_TARGETS, CLUSTER_MODEL_SCOPED_STEPS, CLUSTER_MODEL_SECTION_ID, CLUSTER_STEP_SETTING_FIELDS, COCO_80_LABELS, COCO_TO_MACRO, CONNECTION_TEST_TIMEOUT_MS, CONTAINER_CHILD_PRIORITY, CORE_BLOCKS_ADDON_ID, CORE_BLOCK_ADDON_PREFIX, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraOccupancySnapshotForDeviceSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusDegradationReasonSchema, CameraStatusDegradationSchema, CameraStatusSchema, CameraStatusStageSchema, CameraStreamSchema, CameraSwitchAuthoritySchema, CameraSwitchGroupSchema, CameraSwitchIdSchema, CameraSwitchSchema, CameraSwitchUnavailableReasonSchema, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CarbonMonoxideStatusSchema, ChargingStatus, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipPlaybackSchema, ClipSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectionTestDescriptorSchema, ConnectionTestInputSchema, ConnectionTestOutcomeSchema, ConnectivityStatusSchema, ConsumableItemSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoreBlockCompileResultSchema, CoreBlockInputSchema, CoreBlockPlacementSchema, CoreBlockSchema, CoreBlockStatusSchema, CoverStateSchema, CoverStatusSchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, CreateIntegrationInputSchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, CreateUserInputSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATAPLANE_SECRET_HEADER, DECLARED_DEVICE_SWEEP_LIMIT, DECLARED_INTEGRATION_FIXED_KEY, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_CLUSTER_STEP_MODELS, DEFAULT_CLUSTER_STEP_SETTINGS, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_DETAIL_CROP_CONVENTION, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS, DEFAULT_MIN_LANDMARK_FACE_SIZE_PX, DEFAULT_NATIVE_LEASE_SETTINGS, DEFAULT_POOL_MEMORY_POLICY, DEFAULT_RECORDING_PROFILES, DEFAULT_RETENTION, DEFAULT_RUNTIME_STATE_DURABILITY, DEFAULT_TIMELAPSE_PREVIEW_TEXT, DEFAULT_TOKEN_EXPIRY, DETAIL_CROP_PADDING_FIELD, DETAIL_CROP_PADDING_KEY, DETAIL_CROP_SECTION_ID, DETAIL_CROP_SQUARE_KEY, DETECTION_MACRO_CLASSES, DETECTION_PIPELINE_CAP_NAME, DEVICE_BACKEND_TO_FORMAT, DEVICE_CAP_NAMES, DEVICE_CHILDREN_BATCH_MAX, DEVICE_PROFILES, DEVICE_RESTORE_RETRY_CONCURRENCY, DEVICE_RESTORE_RETRY_DELAYS_MS, DEVICE_SCOPED_CAPS, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATE_READERS, DEVICE_STATUS_METHOD, DEVICE_TYPE_CONTROL_KIND, DEVICE_TYPE_INFO, EngineInfoSchema as DataStoreEngineInfoSchema, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DeclaredDevices, DecodedAudioChunkSchema, DecodedFrameSchema, DecoderSessionConfigSchema, DecoderStatsSchema, DeleteIntegrationResultSchema, DetailCropConventionSchema, DetectionCatalogClassMapSchema, DetectionSourceSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceNetworkStatsSchema, DeviceRestoreRetryScheduler, DeviceRole, DeviceRuntimeState, DeviceSelectorSchema, DeviceStatusSchema, DeviceType, DiagnosticIdSchema, DiagnosticWindowPatchSchema, DiagnosticWindowSchema, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DiskReconcileJobSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENTFUL_CAP_NAMES, EVENT_DENSITY_BATCH_MAX, EVENT_KIND_BY_CAP, EVENT_PAD_MS, EVENT_TAXONOMY, EXPORT_DENSE_MAX_RANGES, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, EgressEncodeSchema, EgressRateControlSchema, EgressTranscodeRequestSchema, EgressTranscodeSchema, ElementConfigStore, EmbeddingInfoSchema, EmbeddingResultSchema, EncodeProfileSchema, EncodedPacketSchema, EnrichedWidgetMetadataSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, EventCategory, EventDensityBucketSchema, EventDensityForDeviceSchema, EventEmitterStatusSchema, EventFireSchema, EventItemSchema, EventKindCategorySchema, EventKindDescriptorSchema, EventKindIconSchema, EventKindSchema, EventKindsForDeviceSchema, EventMediaArtifactSchema, EventMediaCoverageSchema, EventMediaKindSchema, EventMediaProductionSchema, EventSourceType, ExportBytesSchema, ExportDenseRangeSchema, ExportDenseSchema, ExportDownloadSchema, ExportOptionsSchema, ExportRecordSchema, ExportSetupFieldSchema, ExportSetupSchema, ExportSpeedSchema, ExportStateSchema, ExportTimelapseSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionBindingSourceSchema, ExpressionEvalError, ExpressionFieldBindingSchema, ExpressionGlobalBindingSchema, ExpressionLiteralBindingSchema, ExpressionParseError, ExpressionSourceSchema, FIRST_LEVEL_MACRO_CLASSES, FULL_IMAGE_BBOX, FailureContributionSchema, FailureCounters, FailureReasonCountSchema, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, Fmp4BoxSplitter, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, FrameLazyCountersSchema, FrameLazyMetricsSchema, GasStatusSchema, GetLoggingSettingsInputSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, HAP_AUDIO_BASE, HAP_AUDIO_BITRATE_KBPS, HAP_AUDIO_VBV_KBITS, HAP_KEYFRAME_INTERVAL_SEC, HF_BASE_URL, HF_REPO, HWACCEL_OPTIONS, HealthStatusSchema, HfModelResolutionSchema, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, INFERENCE_DEVICE_EXCLUSION_REASONS, ImageContractSchema, ImageContractStateSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, InferenceDeviceExclusionReasonSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, KeyEventSchema, LOAD_CONTRIBUTION_ATTRIBUTIONS, LOAD_CONTRIBUTION_ROLES, LOG_CHANNEL_TICK_MS, LOG_LEVEL_RANK, LabelAttributionSchema, LabelDefinitionSchema, LabelTierSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LedgerWalkDeviceReportSchema, LedgerWalkInputSchema, LedgerWalkRefusalSchema, LedgerWalkReportSchema, LedgerWalkSkipCountsSchema, LedgerWalkSkipReasonSchema, LinkedDeviceSchema, LinkedDevicesModeSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmDownloadProgressSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRetryPolicySchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmTimeoutDefaults, LlmUsageRollupSchema, LlmUsageSchema, LoadContributionSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogChannelApplyResultSchema, LogChannelDescriptorSchema, LogChannelGate, LogChannelLevelSchema, LogChannelRegistry, LogChannelWindowPatchSchema, LogChannelWindowSchema, LogChannelWindowStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, LoggingEffectiveSchema, LoggingExplicitSchema, LoggingLevelLayerSchema, LoggingLevelSourceSchema, LoggingScopeKindSchema, LoggingSettingsPatchSchema, LoggingSettingsStateSchema, LoginMethodContributionSchema, LoginStageEnum, MACRO_LABELS, MAX_CLIP_EVENT_IDS, MAX_CLIP_LABELS, MAX_CONDITION_DEPTH, MAX_CONDITION_LEAVES, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, MAX_KEYS, MAX_REASONS_PER_KEY, MAX_SENSOR_TRIGGER_DEVICES, MAX_TRACK_DEBUG_NOTE_LEN, METHOD_ACCESS_MAP, METHOD_DEVICE_SELECTORS, MODEL_FORMATS, MODEL_PROVIDER_IDS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelExtraFileSchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileInfoSchema, MediaFileKindEnum, MediaFileRefSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MediaRelocateModeSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, MigrateDeviceResultSchema, MigrateSwitchOutcomeSchema, MigrateSwitchReportSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, ModelProviderIdSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, MutationFilterSchema, NATIVE_LEASE_ACTIVITY_FIELD, NATIVE_LEASE_ACTIVITY_KEY, NATIVE_LEASE_ADMISSION_FIELD, NATIVE_LEASE_ADMISSION_KEY, NATIVE_LEASE_BUDGET_FIELD, NATIVE_LEASE_BUDGET_KEY, NATIVE_LEASE_HOLD_FIELD, NATIVE_LEASE_HOLD_KEY, NATIVE_LEASE_SCENE_BUDGET_FIELD, NATIVE_LEASE_SCENE_BUDGET_KEY, NATIVE_LEASE_SECTION_ID, NATIVE_LEASE_TILE_BUDGET_FIELD, NATIVE_LEASE_TILE_BUDGET_KEY, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_CONFIRM_HITS_DEFAULT, NC_AUDIO_CONFIRM_HITS_MAX, NC_AUDIO_CONFIRM_HITS_MIN, NC_AUDIO_CONFIRM_WINDOW_MAX_SEC, NC_AUDIO_CONFIRM_WINDOW_MIN_SEC, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT, NC_AUDIO_DBFS_FLOOR, NC_AUDIO_DB_MAX, NC_AUDIO_DB_MIN, NC_AUDIO_DB_OFFERED, NC_AUDIO_DB_STEP, NC_AUDIO_DEFAULTS, NC_AUDIO_HIT_PERCENT_MAX, NC_AUDIO_HIT_PERCENT_MIN, NC_AUDIO_SAMPLING_MAX_SEC, NC_AUDIO_SAMPLING_MIN_SEC, NC_AUDIO_SEED, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BASE_CONDITION_KEYS, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_DEFAULT_SNOOZE_MINUTES, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_OCCUPANCY_DEFAULTS, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_RULE_SECTIONS, NC_SNOOZE_MAX_MINUTES, NC_SYSTEM_DELIVERY, NC_SYSTEM_EVENT_FILTER_KEYS, NC_TAXONOMY, NETWORK_LINK_TYPES, NETWORK_LINK_UNKNOWN, NativeCropBboxSchema, NativeCropRefSchema, NativeCropResultSchema, NativeDetectionSchema, NativeLeaseAdmissionSchema, NativeLeaseSettingsSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, NavigationActionEntrySchema, NavigationActionIdSchema, NavigationEntryKindSchema, NavigationFeaturesSchema, NavigationLightModeSchema, NavigationModeSchema, NavigationMoveCommandSchema, NavigationPointSchema, NavigationRuntimeStateSchema, NavigationStatusSchema, NcAlarmConfigSchema, NcAlarmModeCoverageSchema, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, NcAlarmSkipReasonSchema, NcAlarmSkippedDeviceSchema, NcAudioConditionSchema, NcConditionDescriptorSchema, NcConditionsSchema, NcConfirmExpectSchema, NcConfirmSchema, NcCrossingSchema, NcDeliverySchema, NcDeviceStateConditionSchema, NcHistoryEntrySchema, NcHistoryFilterSchema, NcHistoryRecordKindSchema, NcHistoryStatusSchema, NcHistorySubjectSchema, NcMediaFrameSchema, NcMediaPolicySchema, NcOccupancyConditionSchema, NcPlateMatcherSchema, NcRuleActionSchema, NcRuleActionSequenceSchema, NcRuleActionsSchema, NcRuleInputSchema, NcRuleNotificationButtonSchema, NcRulePatchSchema, NcRuleSchema, NcRuleTargetSchema, NcSceneConditionSchema, NcScheduleSchema, NcScheduleWindowSchema, NcSnoozeInputSchema, NcSnoozeSchema, NcSnoozeScopeSchema, NcSnoozeSuppressedSchema, NcSystemEventConditionSchema, NcSystemEventKindSchema, NcTaxonomyEntrySchema, NcTaxonomySchema, NcTestResultSchema, NcThrottleGranularitySchema, NcThrottleSchema, NcZoneConditionSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NetworkLinkStatusSchema, NotificationActionIconSchema, NotificationActionSchema, NotificationFormatSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OPERATOR_WRITTEN_STALE_MS, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, OVERFLOW_REASON, OauthIntegrationDescriptorSchema, ObjectEventSchema, OpsLogDomainSchema, OpsLogEntrySchema, OpsLogOpSchema, OpsLogQueryInputSchema, OpsLogReasonSchema, OrchestratorMetricsSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdRenderOutcomeEnum, OsdRenderResultSchema, OsdSlotBindingSchema, OsdSlotViewSchema, OsdSourceOptionSchema, OsdSourceSchema, OsdSourceValueTypeEnum, OsdStatusSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PRIVACY_MASK_CAP_NAME, PROVIDER_KIND_CAP_NAMES, PYTHON_SCRIPT, PackageUpdateSchema, PackageVersionInfoSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PolygonPointSchema, PoolMemoryWatchdog, PowerMeterStatusSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzMoveCommandSchema, PtzOptionsSchema, PtzPositionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, RATE_CONTROL_RELAXED, RATE_CONTROL_TIGHT, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECOGNITION_TYPES, RECORDING_EXPORT_MAX_READ_BYTES, RECORDING_TIMELINE_BATCH_MAX, REDACTED_SECRET, RESERVED_BINDING_NAMES, RESTORED_CAP_NAMES, ROOT_BUCKET_KEY, RUNTIME_DEFAULTS, RUNTIME_STATE_POLICY, RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadGopBytesResultSchema, ReadSegmentBytesResultSchema, ReadWindowBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecentTracksPageSchema, RecentTracksQueryInput, RecordingAvailabilityForDeviceSchema, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysForDeviceSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingObjectTriggerClassSchema, RecordingRangeSchema, RecordingRebalanceInputSchema, RecordingRebalanceMoveSchema, RecordingRebalancePlanSchema, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, RecordingRetentionSchema, RecordingSignalRuntimeStateSchema, RecordingSignalStatusSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RedirectLoginMethodSchema, RelocatableMediaCountInputSchema, RelocatableMediaCountSchema, RelocateFootageClassSchema, RelocateFootageInputSchema, RelocateJobSchema, RelocateJobStateSchema, RelocateMediaInputSchema, RelocateResidueInputSchema, RelocateResidueSchema, RenderedAsSchema, ReportMotionInputSchema, ReportedFailureContributionSchema, ReportedLoadContributionSchema, RequestCensusGroupSchema, RequestCensusProcedureSchema, RequestCensusSnapshotSchema, RequestCensusStatusSchema, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, RetrainFrameCandidateSchema, RetrainFrameListSchema, RetrainFrameSchema, RetrainFrameSelectionSchema, RetrainMacroClassSchema, RetrainStatusSchema, RetrainTrackSchema, RetrainTransitionResultSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCENE_CONDITIONS, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, SCENE_DEFAULT_ANCHOR_THRESHOLD, SCENE_DEFAULT_CHECK_INTERVAL_SEC, SCENE_DEFAULT_OBSERVATION_SPACING_SEC, SCENE_DEFAULT_QUIET_SECONDS, SCENE_DEFAULT_UNCOVERED_POLICY, SCENE_DIVERGED, SCENE_RESET_RECAPTURES, SCOPE_PRESETS, SENSOR_FEATURES, SENSOR_MAP, SHARE_VIEW_KINDS, SOURCE_CAPS, SOURCE_CAP_ACTIVE_FIELD, SOURCE_CAP_CHANGED_AT_FIELD, SOURCE_DEVICE_TYPES, SOURCE_INFO_METADATA_KEY, STORAGE_ACCESS_FALLBACK, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SUMMARIES_DEFAULT_LIMIT, SUMMARIES_MAX_LIMIT, SYSTEM_CAP_NAMES, SYSTEM_SCOPE_DEVICE_METHODS, SceneCheckSchema, SceneConditionSchema, SceneConfirmSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusForDeviceSchema, SceneMonitorStatusSchema, SceneReferenceSchema, SceneUnavailableSchema, SceneUncoveredPolicySchema, SceneVerdictSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SetLoggingSettingsInputSchema, SetSiteLocationInputSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SiteLocationSchema, SiteLocationSourceSchema, SiteLocationStatusSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, StorageAccessSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, StorageCleanupInputSchema, StorageCleanupJobSchema, StorageCleanupPhaseSchema, StorageCleanupStatusInputSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageLocationDeclarationSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, StorageMigrationClassSchema, StorageMigrationDestinationsSchema, StorageMigrationDrainInputSchema, StorageMigrationFindingCodeSchema, StorageMigrationFindingSchema, StorageMigrationFootageMoveInputSchema, StorageMigrationInputSchema, StorageMigrationJobSchema, StorageMigrationLaneSchema, StorageMigrationLeaseInputSchema, StorageMigrationMediaMoveInputSchema, StorageMigrationModeSchema, StorageMigrationMoveProgressSchema, StorageMigrationMoveSchema, StorageMigrationMoverSchema, StorageMigrationParticipantSchema, StorageMigrationPhaseSchema, StorageMigrationPlanSchema, StorageMigrationResidueSchema, StorageMigrationSourcesSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SubscribeFramesInputSchema, SubscribeFramesResultSchema, SummarySchema, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, TAXONOMY_COLORS, TIMELAPSE_DENSE_FLOOR_SEC, TIMEZONES, TRANSCODE_DOWN_MAX_BITRATE_KBPS, TRANSCODE_DOWN_MAX_HEIGHT, TamperStatusSchema, TankStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TerminalInstanceInfoSchema, TerminalLegacyCameraSchema, TerminalOutputBatchSchema, TerminalOutputEventSchema, TerminalProfileInfoSchema, TerminalSessionInfoSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestConnectionStatusEnum, TestResultSchema, TimelapseRuleInputSchema, TimelapseRulePatchSchema, TimelapseRuleSchema, TimelapseTemplateSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackEnvelopeSchema, TrackFlagsPatchSchema, TrackFlagsSchema, TrackProjectionSchema, TrackSchema, TrackSourceSchema, TrackStateSchema, TrackZoneFilterSchema, TrackedDetectionSchema, TrainingExportDeviceTotalsSchema, TrainingExportSummarySchema, TransportPlaneCountsSchema, TransportPlaneSchema, TurnServerSchema, UNATTRIBUTED_BUCKET_KEY, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UnstampedEventMediaCountSchema, UnstampedRowsSchema, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, VISIT_MERGE_GAP_MS, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VectorDeclareIndexInputSchema, VectorDeleteByFilterInputSchema, VectorDeleteInputSchema, VectorDeleteResultSchema, VectorFilterSchema, VectorGetInputSchema, VectorGetResultSchema, VectorItemSchema, VectorMatchSchema, VectorMetadataSchema, VectorMetricSchema, VectorQueryInputSchema, VectorQueryResultSchema, VectorStatsInputSchema, VectorStatsResultSchema, VectorUpsertInputSchema, VectorUpsertResultSchema, VibrationStatusSchema, VideoEncodeSchema, WEBRTC_EGRESS_PROFILE, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, YAMNET_TO_MACRO, ZoneCrossingDirectionSchema, ZoneCrossingSchema, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, __resetLogChannelRegistryForTests, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, asBoolean, asJsonArray, asJsonObject, asNumber, asString, assertTimelapseCadences, audioAnalysisCapability, audioAnalyzerCapability, audioCodecCapability, audioIsFailClosed, audioKindId, audioLabelChoices, audioMetricsCapability, audioModeOf, audioOrDefaults, audioPlanFromEncodeProfile, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, bareAddonId, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildAudioArgs, buildEventKindDescriptor, buildFfmpegArgs, buildInputArgs, buildModelVariantGroups, buildNcTaxonomy, buildRoleScopes, buildStreamParamsConfigSchema, buildVideoArgs, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, canonicalEgressPlan, carbonMonoxideCapability, cellsToRects, classifyBearerPrincipal, classifyStream, classifyStreams, climateControlCapability, clusterModelSettingKey, clusterStepSettingFieldsFor, clusterStepSettingKey, collectHydratedFieldEntries, collectHydratedFieldValues, collectSecretConfigKeys, colorCapability, colorForKind, commitWatchdogRestart, compileExpression, compileExpressionSafe, composeSwitchedOff, conditionDepth, conditionExclusionReason, conditionVisibleForKind, connectionTestCapability, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, coreBlockAddonId, coreBlockIdFromAddonId, coreBlocksCapability, cosineSimilarity, countConditionLeaves, coverCapability, createDeviceProxy, createDurableState, createEvent, createEventBusSliceSource, createExpressionScope, createHwAccelCache, createLazyTrpcSource, createLogChannelsProvider, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dataStoreProviderCapability, dayNightCapability, declarationOwnerNodeId, declareLogChannel, decodeVectorBase64, decoderCapability, defaultDeliveryForSection, defaultDeviceFor, defineCustomActions, deriveBatteryPresence, deriveCameraSwitches, deriveDetailCropRect, deriveRecordingMode, describeModelVariant, detectAccessRole, detectionPipelineCapability, deviceAdoptionCapability, deviceBackendToFormat, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceSelectorMatches, deviceStateCapability, deviceStatusCapability, doorbellCapability, droppedConditionsForKind, egressTranscodeSharingKey, egressTransportFromRequest, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, encodeVectorBase64, enumSensorCapability, enumerateInferenceDevices, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateExpressionSource, evaluatePoolMemory, evaluateSensorEdge, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, expandCapMethods, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, failureContributionCapability, failureRate, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, foldSnapshotByFunction, formatForBackend, formatForRuntime, gasCapability, generateAutomationBlock, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getLogChannelRegistry, getTaxonomyEntry, hasMotionTrigger, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, inferModelProvider, initialPoolMemoryState, integrationsCapability, intercomCapability, invocationFromEncodeProfile, isAgentOnlyPlacement, isArrayOutputSchema, isAudioLabelSelected, isAudioRule, isBaseConditionKey, isBatteryPresenceFault, isClusterScopedStep, isCollectionArrayMethod, isDeployableToAgent, isDetectionMacroClass, isDeviceConfigCap, isDeviceScopedCap, isEvent, isFirstLevelMacroClass, isIsolatedBuiltin, isNode, isObjectInput, isOccupancyRule, isRestoredCap, isSameAddonId, isScheduleActive, isSecretConfigField, isSoftwareDecode, isSourceCap, isSystemDelivery, isVoidInput, jobKindSchema, kebabToCamel, knownValues, lawnMowerControlCapability, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, llmCapability, llmRuntimeCapability, loadContributionCapability, localNetworkCapability, locationSimilarity, lockControlCapability, logBannerArgs, logChannelsCapability, logDestinationCapability, logLevelAtMost, loginMethodCapability, looseSchema, makeProfileBrokerId, makeSourceBrokerId, mapAudioLabelToMacro, markdownToHtmlLite, markdownToText, maskUrlCredentials, mediaPlayerCapability, mergeSourceInfo, meshNetworkCapability, method, methodAccessForHttpMethod, metricsProviderCapability, migrateLegacyDeviceSignalConfig, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, navigationCapability, networkAccessCapability, networkLinkCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeAudioLabel, normalizeTokenScopes, normalizeUnit, notificationOutputCapability, notificationRulesCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, objectInputDeclaresAddonId, osdCapability, osdManagerCapability, overlayClusterStepSettings, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProcStatus, parseProfileBrokerId, parseRuleSection, parseStreamParamsFormPatch, patchAudio, petFeederCapability, pickAccessoryControl, pickClusterStepModels, pickClusterStepSettings, pickDetailCropConvention, pickNativeLeaseOverride, pickPreferredRtspEntry, pickRestartCandidate, pickVideoEncoder, pickerForCondition, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, poolMemoryThreshold, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, principalMayReachAddon, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readClusterStepModels, readClusterStepSettings, readDetailCropConvention, readDeviceStateFrom, readNativeLeaseOverride, readNodePin, readTimelapseGeneratedAt, readinessKey, rebootCapability, recordingCapability, recordingExportCapability, recordingSignalCapability, rectsToCells, reducePoints, requiresPython, resetPoolBaseline, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveBucketMs, resolveCapMount, resolveClusterStepModelId, resolveContainerPrimaryChild, resolveDetectionRuntime, resolveDeviceControlKind, resolveDeviceProfile, resolveEgressDecodeHwAccel, resolveFormat, resolveHydratedFieldValue, resolveMethodAuth, resolveModelFormat, resolveMutate, resolvePoolMemoryPolicy, resolveRecordingProfiles, resolveRunnerId, resolveVariantModelId, resolveViewableDeviceIds, roleSpec, ruleEditorSectionsForKind, ruleKindOf, ruleKindSpec, ruleMatchesSection, ruleSection, ruleSectionOf, ruleSeedForSection, runInferenceStep, runtimeDevices, runtimeStatePolicyFor, sceneMonitorCapability, schemaDeclaresAnyField, scopeInherits, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, serverManagementCapability, setByPath, settingsStoreCapability, signalPercentFromBars, signalPercentFromRssi, sleep, sleepCancellable, sliceActiveValue, sliceChangedAt, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, stateVocabularyFor, storageCapability, storageEvictableCapability, storageMigrationCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, subKindsOf, summarisePrivacyAudio, summarizeEffectiveScope, supportedRuntimes, switchCapability, switchedOffIds, synthesizeSourceInfo, systemCapability, systemEventFilterApplies, systemEventFilterAppliesToAnyKind, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, terminalSessionCapability, textToHtml, toDeviceSummary, toExpressionValue, toNodeId, toStreamSourceEntry, toastCapability, toggleAudioLabel, tokenize, transcodeBody, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, updateCapability, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateExpressionSource, validateRecipeBounds, valveCapability, vectorDimFromBase64, vectorStoreCapability, vibrationCapability, videoclipsCapability, viewerUiCapability, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
|
|
@@ -29,17 +29,29 @@ export type RecordingWeekday = z.infer<typeof RecordingWeekdaySchema>;
|
|
|
29
29
|
/**
|
|
30
30
|
* DERIVED per-camera storage summary — the single field cheap consumers read
|
|
31
31
|
* (the viewer's status dot, the camera list) instead of walking `bands`:
|
|
32
|
-
* - `off`
|
|
33
|
-
* - `events`
|
|
34
|
-
* - `continuous`
|
|
32
|
+
* - `off` — no band covers the camera (or it is disabled).
|
|
33
|
+
* - `events` — every band records around triggers only.
|
|
34
|
+
* - `continuous` — at least one band records continuously.
|
|
35
|
+
* - `on-device-decision`— the DEVICE decides: recording runs for as long as the
|
|
36
|
+
* camera raises its own `recording-signal` level (a robot that cleans). There
|
|
37
|
+
* is no schedule to author, because there is no hour to program — see
|
|
38
|
+
* {@link RecordingConfigSchema}`.deviceDecision`.
|
|
35
39
|
*
|
|
36
|
-
* NEVER authored: the recorder stamps it from the authoritative
|
|
37
|
-
* every save (`activeModeForConfig`). Writing it
|
|
40
|
+
* NEVER authored: the recorder stamps it from the authoritative intent
|
|
41
|
+
* (`bands` + `deviceDecision`) on every save (`activeModeForConfig`). Writing it
|
|
42
|
+
* has no effect.
|
|
43
|
+
*
|
|
44
|
+
* `on-device-decision` is named for WHO decides, not for how the recording is
|
|
45
|
+
* requested. `on-demand` was rejected: in this repo's vocabulary a "demand" is
|
|
46
|
+
* something the operator makes (the live gate is the recorder's own "demand
|
|
47
|
+
* window"), and a knob whose name suggests the operator starts it while the
|
|
48
|
+
* device actually does is the D62 shape — a control nobody can predict.
|
|
38
49
|
*/
|
|
39
50
|
export declare const RecordingStorageModeSchema: z.ZodEnum<{
|
|
40
51
|
off: "off";
|
|
41
52
|
events: "events";
|
|
42
53
|
continuous: "continuous";
|
|
54
|
+
"on-device-decision": "on-device-decision";
|
|
43
55
|
}>;
|
|
44
56
|
export type RecordingStorageMode = z.infer<typeof RecordingStorageModeSchema>;
|
|
45
57
|
/**
|
|
@@ -72,7 +84,6 @@ export declare const RecordingTriggersSchema: z.ZodObject<{
|
|
|
72
84
|
animal: "animal";
|
|
73
85
|
}>>>;
|
|
74
86
|
sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
75
|
-
deviceSignal: z.ZodOptional<z.ZodBoolean>;
|
|
76
87
|
}, z.core.$strip>;
|
|
77
88
|
export type RecordingTriggers = z.infer<typeof RecordingTriggersSchema>;
|
|
78
89
|
/**
|
|
@@ -101,7 +112,6 @@ export declare const RecordingBandTriggersSchema: z.ZodObject<{
|
|
|
101
112
|
animal: "animal";
|
|
102
113
|
}>>>;
|
|
103
114
|
sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
104
|
-
deviceSignal: z.ZodOptional<z.ZodBoolean>;
|
|
105
115
|
}, z.core.$strip>;
|
|
106
116
|
export type RecordingBandTriggers = z.infer<typeof RecordingBandTriggersSchema>;
|
|
107
117
|
/**
|
|
@@ -129,7 +139,6 @@ export declare const RecordingBandSchema: z.ZodObject<{
|
|
|
129
139
|
animal: "animal";
|
|
130
140
|
}>>>;
|
|
131
141
|
sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
132
|
-
deviceSignal: z.ZodOptional<z.ZodBoolean>;
|
|
133
142
|
}, z.core.$strip>>;
|
|
134
143
|
preBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
135
144
|
postBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
@@ -223,6 +232,7 @@ export declare const RecordingConfigSchema: z.ZodObject<{
|
|
|
223
232
|
off: "off";
|
|
224
233
|
events: "events";
|
|
225
234
|
continuous: "continuous";
|
|
235
|
+
"on-device-decision": "on-device-decision";
|
|
226
236
|
}>>;
|
|
227
237
|
profiles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
228
238
|
high: "high";
|
|
@@ -247,19 +257,19 @@ export declare const RecordingConfigSchema: z.ZodObject<{
|
|
|
247
257
|
animal: "animal";
|
|
248
258
|
}>>>;
|
|
249
259
|
sensorDeviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
250
|
-
deviceSignal: z.ZodOptional<z.ZodBoolean>;
|
|
251
260
|
}, z.core.$strip>>;
|
|
252
261
|
preBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
253
262
|
postBufferSec: z.ZodOptional<z.ZodNumber>;
|
|
254
263
|
}, z.core.$strip>>>;
|
|
264
|
+
deviceDecision: z.ZodOptional<z.ZodBoolean>;
|
|
255
265
|
retention: z.ZodOptional<z.ZodObject<{
|
|
256
266
|
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
257
267
|
maxSizeGb: z.ZodOptional<z.ZodNumber>;
|
|
258
268
|
}, z.core.$strip>>;
|
|
259
269
|
}, z.core.$strict>;
|
|
260
270
|
export type RecordingConfig = z.infer<typeof RecordingConfigSchema>;
|
|
261
|
-
/** The
|
|
262
|
-
export type RecordingModeSource = Pick<RecordingConfig, 'enabled' | 'bands'>;
|
|
271
|
+
/** The authored intent a mode is derived from — all {@link deriveRecordingMode} reads. */
|
|
272
|
+
export type RecordingModeSource = Pick<RecordingConfig, 'enabled' | 'bands' | 'deviceDecision'>;
|
|
263
273
|
/**
|
|
264
274
|
* Derive the {@link RecordingStorageModeSchema} summary from the authoritative
|
|
265
275
|
* bands: `continuous` when any band records continuously, `events` when a band
|
|
@@ -289,3 +299,36 @@ export declare const DEFAULT_RECORDING_PROFILES: readonly CamProfile[];
|
|
|
289
299
|
* still records something). Empty assigned → empty result.
|
|
290
300
|
*/
|
|
291
301
|
export declare function resolveRecordingProfiles(assigned: readonly CamProfile[], override: readonly CamProfile[] | undefined): CamProfile[];
|
|
302
|
+
/** What {@link migrateLegacyDeviceSignalConfig} did to one stored row. */
|
|
303
|
+
export interface LegacyDeviceSignalMigration {
|
|
304
|
+
/** The row to persist/parse. The SAME reference when nothing was legacy. */
|
|
305
|
+
readonly value: unknown;
|
|
306
|
+
/** The config now says `deviceDecision: true` — the mode was recovered. */
|
|
307
|
+
readonly migrated: boolean;
|
|
308
|
+
/**
|
|
309
|
+
* The legacy key was on a band that ALSO listened to something else (motion,
|
|
310
|
+
* a sensor …), so the key was dropped and the band kept. The camera keeps its
|
|
311
|
+
* other triggers and LOSES the device signal until an operator picks the new
|
|
312
|
+
* mode — the honest outcome: folding a mixed band into a mode would silently
|
|
313
|
+
* delete a schedule the operator authored.
|
|
314
|
+
*/
|
|
315
|
+
readonly strippedOnly: boolean;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Turn a config stored under D371 (`bands[].triggers.deviceSignal: true`) into
|
|
319
|
+
* a D380 one (`deviceDecision: true`, no bands). Pure, total and IDEMPOTENT —
|
|
320
|
+
* a row with no legacy key comes back as the SAME reference, `migrated: false`.
|
|
321
|
+
*
|
|
322
|
+
* ## Why the schema cannot be left to do this
|
|
323
|
+
*
|
|
324
|
+
* `RecordingTriggersSchema` is a non-strict `z.object`, so the retired key is
|
|
325
|
+
* SILENTLY STRIPPED on read. The camera whose only trigger it was would parse
|
|
326
|
+
* cleanly into an `events` band that lists nothing — "enabled, and records
|
|
327
|
+
* nothing, forever", the exact shape `eventsBandCanEverDemand` exists to shout
|
|
328
|
+
* about, reached without a single line in the log. On the reference hub that is
|
|
329
|
+
* camera 4374, the one camera an operator had configured by hand.
|
|
330
|
+
*
|
|
331
|
+
* `enabled` is carried through untouched: a camera the operator had switched
|
|
332
|
+
* OFF comes out of a migration still off (D62).
|
|
333
|
+
*/
|
|
334
|
+
export declare function migrateLegacyDeviceSignalConfig(raw: unknown): LegacyDeviceSignalMigration;
|
|
@@ -3859,7 +3859,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3859
3859
|
* can answer "may a rule actuate this?" without importing the schema barrel
|
|
3860
3860
|
* (~144MB RSS per runner, D28).
|
|
3861
3861
|
*
|
|
3862
|
-
* Coverage:
|
|
3862
|
+
* Coverage: 83 device-scoped capabilities.
|
|
3863
3863
|
*/
|
|
3864
3864
|
var DEVICE_SCOPED_CAPS = new Set([
|
|
3865
3865
|
"accessories",
|
|
@@ -3924,6 +3924,7 @@ var DEVICE_SCOPED_CAPS = new Set([
|
|
|
3924
3924
|
"ptz",
|
|
3925
3925
|
"ptz-autotrack",
|
|
3926
3926
|
"reboot",
|
|
3927
|
+
"recording-signal",
|
|
3927
3928
|
"scene-monitor",
|
|
3928
3929
|
"script-runner",
|
|
3929
3930
|
"smoke",
|
|
@@ -3859,7 +3859,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3859
3859
|
* can answer "may a rule actuate this?" without importing the schema barrel
|
|
3860
3860
|
* (~144MB RSS per runner, D28).
|
|
3861
3861
|
*
|
|
3862
|
-
* Coverage:
|
|
3862
|
+
* Coverage: 83 device-scoped capabilities.
|
|
3863
3863
|
*/
|
|
3864
3864
|
var DEVICE_SCOPED_CAPS = new Set([
|
|
3865
3865
|
"accessories",
|
|
@@ -3924,6 +3924,7 @@ var DEVICE_SCOPED_CAPS = new Set([
|
|
|
3924
3924
|
"ptz",
|
|
3925
3925
|
"ptz-autotrack",
|
|
3926
3926
|
"reboot",
|
|
3927
|
+
"recording-signal",
|
|
3927
3928
|
"scene-monitor",
|
|
3928
3929
|
"script-runner",
|
|
3929
3930
|
"smoke",
|
|
@@ -9,6 +9,19 @@ export interface SpatialDetection {
|
|
|
9
9
|
readonly mask?: Uint8Array;
|
|
10
10
|
readonly maskWidth?: number;
|
|
11
11
|
readonly maskHeight?: number;
|
|
12
|
+
/**
|
|
13
|
+
* Mirrored from {@link ObjectDetection.nativeRecovery} when this detection
|
|
14
|
+
* enters the tracker. The tracker's SPAWN gates (per-class score floor,
|
|
15
|
+
* person-over-animal dedup) are tuned for the coarse full-frame pass; a box
|
|
16
|
+
* measured at native resolution is not the thing they exist to kill.
|
|
17
|
+
*/
|
|
18
|
+
readonly nativeRecovery?: NativeRecoveryEvidence;
|
|
19
|
+
/**
|
|
20
|
+
* Mirrored from {@link ObjectDetection.birthEvidence} when this detection
|
|
21
|
+
* enters the tracker, so a birth the tracker mints carries the pixels that
|
|
22
|
+
* produced it all the way to the confirmation gate (D379).
|
|
23
|
+
*/
|
|
24
|
+
readonly birthEvidence?: BirthEvidence;
|
|
12
25
|
}
|
|
13
26
|
export interface CropInput {
|
|
14
27
|
readonly frame: FrameInput;
|
|
@@ -216,6 +229,101 @@ export interface DetectionBase {
|
|
|
216
229
|
readonly labels: readonly ScoredLabel[];
|
|
217
230
|
readonly track?: TrackInfo;
|
|
218
231
|
readonly debug?: DetectionDebug;
|
|
232
|
+
/**
|
|
233
|
+
* Present when this box did NOT come from the full-frame pass but from a
|
|
234
|
+
* SECOND detector pass on a native-resolution crop of a motion region
|
|
235
|
+
* (`small-subject-recovery.ts` in the runner). See
|
|
236
|
+
* {@link NativeRecoveryEvidence}.
|
|
237
|
+
*/
|
|
238
|
+
readonly nativeRecovery?: NativeRecoveryEvidence;
|
|
239
|
+
/**
|
|
240
|
+
* The box's own pixels, cut by the runner at the instant of detection, for a
|
|
241
|
+
* box it had not seen recently. See {@link BirthEvidence} — this is what the
|
|
242
|
+
* confirmation gate looks at instead of asking for pixels afterwards.
|
|
243
|
+
*/
|
|
244
|
+
readonly birthEvidence?: BirthEvidence;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* What a native-resolution second pass ALREADY measured about a box.
|
|
248
|
+
*
|
|
249
|
+
* The first-level detector sees a 4K frame at 320 px: a 100 px dog is 8 px and
|
|
250
|
+
* is not emitted. The runner's recovery pass re-runs THE SAME detector on a
|
|
251
|
+
* 640–800 px native square around the moving region and finds it at 0.82–0.91
|
|
252
|
+
* (`docs/benchmarks/pipeline-frame-model-eval.md`, case `miss-dog-615`). That
|
|
253
|
+
* pass is already a second look at better pixels — so every downstream gate
|
|
254
|
+
* whose job is to ask "did the coarse pass see a real thing?" has its answer,
|
|
255
|
+
* and re-deriving a THIRD, tighter crop of the same subject can only lose
|
|
256
|
+
* information (D377).
|
|
257
|
+
*
|
|
258
|
+
* Carried from the runner to post-analysis on the emitted frame result and
|
|
259
|
+
* mirrored onto the tracker's {@link SpatialDetection}. Plain data: no pixels,
|
|
260
|
+
* no handle — the crop it names is long gone, and its VERDICT is what travels.
|
|
261
|
+
*/
|
|
262
|
+
export interface NativeRecoveryEvidence {
|
|
263
|
+
/** Score the second pass measured, on the native crop, with the same model. */
|
|
264
|
+
readonly score: number;
|
|
265
|
+
/** Side of the native square the crop was cut from, in native pixels. */
|
|
266
|
+
readonly cropSidePx: number;
|
|
267
|
+
/** Side of the compressed view the model actually saw, in pixels. */
|
|
268
|
+
readonly viewPx: number;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* The pixels of a candidate birth, CUT AT THE INSTANT IT WAS DETECTED.
|
|
272
|
+
*
|
|
273
|
+
* ## Why this exists (D379)
|
|
274
|
+
*
|
|
275
|
+
* The confirmation gate asks one question of a new track: re-run the detector
|
|
276
|
+
* on a crop of the box and see whether the subject is really there. Until now
|
|
277
|
+
* it asked for those pixels AFTERWARDS, by `FrameHandle`, across a process
|
|
278
|
+
* boundary — and measured on the live hub over three hours that request fails
|
|
279
|
+
* 7 452 times, 99.9% of them `worker-lease-gone`, at a median handle age of
|
|
280
|
+
* 1 347 ms and misses recorded as early as 254 ms. The frame is not evicted
|
|
281
|
+
* late; it is very often never retained at all (`leaseAdmitted:9` against
|
|
282
|
+
* `leaseMarks:297` on one measured worker, `leaseReleasedEarly:288`). 1 191 of
|
|
283
|
+
* 1 883 gate verdicts in that window (63%) never saw a pixel.
|
|
284
|
+
*
|
|
285
|
+
* So the crop is cut where the pixels are already in hand — in the runner, on
|
|
286
|
+
* the frame the detection was measured on — and RIDES the detection. No store,
|
|
287
|
+
* no handle, no lease, no round trip, and above all no OTHER INSTANT: a subject
|
|
288
|
+
* that has moved is not in a later frame, and its absence there is not evidence
|
|
289
|
+
* it was never here.
|
|
290
|
+
*
|
|
291
|
+
* This is the same discipline Scrypted enforces structurally: its decoded frame
|
|
292
|
+
* is invalidated the moment the `for await` body returns
|
|
293
|
+
* (`plugins/python-codecs/src/libav.py:105-112`), so every second look — face
|
|
294
|
+
* crop, embedding, retained detection image — is taken IN BAND
|
|
295
|
+
* (`plugins/objectdetector/src/main.ts:512-520`).
|
|
296
|
+
*
|
|
297
|
+
* ## What it is NOT
|
|
298
|
+
*
|
|
299
|
+
* Not a detail/CLIP crop, and nothing here calls `deriveDetailCropRect` (D52):
|
|
300
|
+
* this rectangle is the detection box padded for a CLASSIFICATION question and
|
|
301
|
+
* is never fed to an embedder, never stored as media, never indexed. It is also
|
|
302
|
+
* not a frame: it is one small JPEG of one box, cut only for a box the runner
|
|
303
|
+
* has not seen recently, so it never crosses a boundary at frame rate (D9/D18).
|
|
304
|
+
*/
|
|
305
|
+
export interface BirthEvidence {
|
|
306
|
+
/** Base64 JPEG of {@link rect}, cut from the frame this detection was measured on. */
|
|
307
|
+
readonly jpegBase64: string;
|
|
308
|
+
/**
|
|
309
|
+
* The rectangle the JPEG covers, in ABSOLUTE pixels of the analysis frame —
|
|
310
|
+
* the same space as `DetectionBoundingBox`. The gate needs it to put a
|
|
311
|
+
* crop-space re-detection back into the frame (secondary promotion), and it
|
|
312
|
+
* is the padded box, never the bare one.
|
|
313
|
+
*/
|
|
314
|
+
readonly rect: {
|
|
315
|
+
readonly x: number;
|
|
316
|
+
readonly y: number;
|
|
317
|
+
readonly width: number;
|
|
318
|
+
readonly height: number;
|
|
319
|
+
};
|
|
320
|
+
/**
|
|
321
|
+
* Which raster it was cut from. `analysis` is the ≤640 detection frame the
|
|
322
|
+
* runner holds in its own address space — the only raster that is present,
|
|
323
|
+
* for free, at the instant of detection. A future native rung would add a
|
|
324
|
+
* value here rather than change the meaning of this one.
|
|
325
|
+
*/
|
|
326
|
+
readonly tier: 'analysis';
|
|
219
327
|
}
|
|
220
328
|
/** Object detection (first-level person/vehicle/animal OR detail face/plate). */
|
|
221
329
|
export interface ObjectDetection extends DetectionBase {
|