@camstack/types 1.2.65 → 1.2.67
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 +2 -2
- package/dist/addon.mjs +2 -2
- package/dist/capabilities/air-quality-sensor.cap.d.ts +10 -0
- package/dist/capabilities/alarm-panel.cap.d.ts +10 -0
- package/dist/capabilities/ambient-light-sensor.cap.d.ts +10 -0
- package/dist/capabilities/audio-metrics.cap.d.ts +7 -0
- package/dist/capabilities/automation-control.cap.d.ts +7 -0
- package/dist/capabilities/battery.cap.d.ts +10 -0
- package/dist/capabilities/binary.cap.d.ts +10 -0
- package/dist/capabilities/brightness.cap.d.ts +7 -0
- package/dist/capabilities/camera-streams.cap.d.ts +7 -0
- package/dist/capabilities/capability-definition.d.ts +58 -0
- package/dist/capabilities/carbon-monoxide.cap.d.ts +10 -0
- package/dist/capabilities/climate-control.cap.d.ts +7 -0
- package/dist/capabilities/color.cap.d.ts +7 -0
- package/dist/capabilities/connectivity.cap.d.ts +10 -0
- package/dist/capabilities/consumables.cap.d.ts +7 -0
- package/dist/capabilities/contact.cap.d.ts +10 -0
- package/dist/capabilities/control.cap.d.ts +7 -0
- package/dist/capabilities/cover.cap.d.ts +10 -0
- package/dist/capabilities/day-night.cap.d.ts +10 -0
- package/dist/capabilities/device-discovery.cap.d.ts +7 -0
- package/dist/capabilities/device-status.cap.d.ts +10 -0
- package/dist/capabilities/doorbell.cap.d.ts +7 -0
- package/dist/capabilities/enum-sensor.cap.d.ts +10 -0
- package/dist/capabilities/event-emitter.cap.d.ts +7 -0
- package/dist/capabilities/fan-control.cap.d.ts +7 -0
- package/dist/capabilities/feature-probe.cap.d.ts +7 -0
- package/dist/capabilities/flood.cap.d.ts +10 -0
- package/dist/capabilities/gas.cap.d.ts +10 -0
- package/dist/capabilities/humidifier.cap.d.ts +7 -0
- package/dist/capabilities/humidity-sensor.cap.d.ts +10 -0
- package/dist/capabilities/image-settings.cap.d.ts +10 -0
- package/dist/capabilities/image.cap.d.ts +7 -0
- package/dist/capabilities/index.d.ts +3 -3
- package/dist/capabilities/lawn-mower-control.cap.d.ts +7 -0
- package/dist/capabilities/lock-control.cap.d.ts +10 -0
- package/dist/capabilities/media-player.cap.d.ts +7 -0
- package/dist/capabilities/motion-trigger.cap.d.ts +7 -0
- package/dist/capabilities/motion-zones.cap.d.ts +10 -0
- package/dist/capabilities/motion.cap.d.ts +7 -0
- package/dist/capabilities/native-object-detection.cap.d.ts +10 -0
- package/dist/capabilities/notification-output.cap.d.ts +62 -0
- package/dist/capabilities/notification-rules.cap.d.ts +134 -6
- package/dist/capabilities/notifier.cap.d.ts +7 -0
- package/dist/capabilities/numeric-sensor.cap.d.ts +10 -0
- package/dist/capabilities/osd-manager.cap.d.ts +14 -0
- package/dist/capabilities/pet-feeder.cap.d.ts +7 -0
- package/dist/capabilities/power-meter.cap.d.ts +10 -0
- package/dist/capabilities/presence.cap.d.ts +10 -0
- package/dist/capabilities/pressure-sensor.cap.d.ts +10 -0
- package/dist/capabilities/privacy-mask.cap.d.ts +10 -0
- package/dist/capabilities/ptz-autotrack.cap.d.ts +7 -0
- package/dist/capabilities/scene-monitor.cap.d.ts +7 -0
- package/dist/capabilities/script-runner.cap.d.ts +7 -0
- package/dist/capabilities/smoke.cap.d.ts +10 -0
- package/dist/capabilities/stream-params.cap.d.ts +10 -0
- package/dist/capabilities/switch.cap.d.ts +10 -0
- package/dist/capabilities/tamper.cap.d.ts +10 -0
- package/dist/capabilities/temperature-sensor.cap.d.ts +10 -0
- package/dist/capabilities/update.cap.d.ts +7 -0
- package/dist/capabilities/vacuum-control.cap.d.ts +7 -0
- package/dist/capabilities/valve.cap.d.ts +7 -0
- package/dist/capabilities/vibration.cap.d.ts +10 -0
- package/dist/capabilities/water-heater.cap.d.ts +7 -0
- package/dist/capabilities/weather.cap.d.ts +7 -0
- package/dist/capabilities/zone-analytics.cap.d.ts +7 -0
- package/dist/capabilities/zone-rules.cap.d.ts +7 -0
- package/dist/capabilities/zones.cap.d.ts +7 -0
- package/dist/catalogs/coco-classmap.d.ts +21 -0
- package/dist/device/system-mirror.d.ts +37 -0
- package/dist/generated/runtime-state-durability.d.ts +31 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +1345 -91
- package/dist/index.mjs +1322 -92
- package/dist/notification/audio-condition.d.ts +118 -0
- package/dist/{sleep-BxjBLp3L.mjs → sleep-CSgK0rNX.mjs} +3 -1
- package/dist/{sleep-BszXLEvP.js → sleep-Dh1EJSqF.js} +8 -0
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as EventCategory } from "./event-category-Cv9dO26A.mjs";
|
|
2
|
-
import { $ as
|
|
2
|
+
import { $ as FrameHandleFormatSchema, A as isDeviceConfigCap, B as emitDownForOwnedCaps, C as DeviceType, Ct as WELL_KNOWN_TAB_MAP, D as DEVICE_STATUS_METHOD, Dt as resolveHydratedFieldValue, E as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Et as hydrateSchema, F as nodePin, G as CAM_PROFILE_ORDER, H as scopeKey, I as readNodePin, J as CamStreamResolutionSchema, K as CamProfileSchema, L as toNodeId, M as resolveCapMount, N as systemMethod, O as event, P as CAP_NODE_PIN_CONTEXT_KEY, Q as EncodedPacketSchema, R as ReadinessRegistry, S as DeviceRole, St as WELL_KNOWN_TABS, T as DEFAULT_RUNTIME_STATE_DURABILITY, Tt as collectHydratedFieldValues, U as BrokerStatsSchema, V as readinessKey, W as BrokerStatusSchema, X as DecodedAudioChunkSchema, Y as CameraStreamSchema, Z as DecodedFrameSchema, _ as RawStateResultSchema, _t as normalizeAddonInitResult, a as asJsonObject, at as StreamSourceSchema, b as ChargingStatus, bt as emitReadiness, c as parseJsonArray, ct as SubscribeFramesInputSchema, d as DEVICE_SCOPED_CAPS, dt as makeSourceBrokerId, et as FrameHandleSchema, f as isDeviceScopedCap, ft as parseProfileBrokerId, g as createSliceHandle, gt as BaseAddon, h as createMirrorSource, ht as DisposerChain, i as asJsonArray, it as StreamSourceEntrySchema, j as method, k as expandCapMethods, l as parseJsonObject, lt as SubscribeFramesResultSchema, m as createLazyTrpcSource, mt as DATAPLANE_SECRET_HEADER, n as sleepCancellable, nt as ProfileSlotSchema, o as asNumber, ot as SubscribeAudioChunksInputSchema, p as createDeviceProxy, pt as selectAssignedProfileSlots, q as CamStreamKindSchema, r as asBoolean, rt as ProfileSlotStatusSchema, s as asString, st as SubscribeAudioChunksResultSchema, t as sleep, tt as ProfileRtspEntrySchema, u as parseJsonUnknown, ut as makeProfileBrokerId, v as deviceOpsCapability, vt as createDurableState, w as adminUiCapability, wt as collectHydratedFieldEntries, x as DeviceFeature, xt as isEvent, y as viewerUiCapability, yt as createEvent, z as ReadinessTimeoutError } from "./sleep-CSgK0rNX.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";
|
|
@@ -6663,7 +6663,14 @@ var cameraStreamsCapability = {
|
|
|
6663
6663
|
low: z.string().optional()
|
|
6664
6664
|
}),
|
|
6665
6665
|
lastChangedAt: z.number()
|
|
6666
|
-
})
|
|
6666
|
+
}),
|
|
6667
|
+
/**
|
|
6668
|
+
* Runtime-state durability: **session** — a restored `slotStatuses: streaming` for a camera that has been dark for two hours is a lie the UI renders as truth.
|
|
6669
|
+
*
|
|
6670
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
6671
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
6672
|
+
*/
|
|
6673
|
+
durability: "session"
|
|
6667
6674
|
};
|
|
6668
6675
|
//#endregion
|
|
6669
6676
|
//#region src/capabilities/cap-router-predicates.ts
|
|
@@ -7830,6 +7837,13 @@ var deviceDiscoveryCapability = {
|
|
|
7830
7837
|
kind: "poll"
|
|
7831
7838
|
},
|
|
7832
7839
|
runtimeState: DeviceDiscoveryStatusSchema.extend({ lastFetchedAt: z.number().int().nonnegative() }),
|
|
7840
|
+
/**
|
|
7841
|
+
* Runtime-state durability: **session** — 5.7 KB of scan output on the largest device, fully re-derivable by re-scanning.
|
|
7842
|
+
*
|
|
7843
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
7844
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
7845
|
+
*/
|
|
7846
|
+
durability: "session",
|
|
7833
7847
|
methods: {
|
|
7834
7848
|
/**
|
|
7835
7849
|
* Snapshot of the current `discovered` list. Returns the
|
|
@@ -10452,11 +10466,33 @@ var NotificationFormatSchema = z.enum([
|
|
|
10452
10466
|
* Named by INTENT, never by glyph. "check" would tie the vocabulary to one
|
|
10453
10467
|
* renderer's icon set; "acknowledge" survives an adapter that draws it
|
|
10454
10468
|
* differently.
|
|
10469
|
+
*
|
|
10470
|
+
* ── A TOKEN IS NOT A WIRE VALUE ─────────────────────────────────────
|
|
10471
|
+
*
|
|
10472
|
+
* These names are for US. **No adapter may forward one verbatim.** Each maps
|
|
10473
|
+
* the whole set onto its own renderer's vocabulary through a
|
|
10474
|
+
* `Record<NotificationActionIcon, string>` — a Record, never a lookup with a
|
|
10475
|
+
* fallback, so adding a member here fails every adapter's build until someone
|
|
10476
|
+
* decides its glyph, which is the only place that decision can be made
|
|
10477
|
+
* honestly.
|
|
10478
|
+
*
|
|
10479
|
+
* This paragraph is the bug. Zentik declared `actionIcons: true` and passed
|
|
10480
|
+
* `disarm` straight through; iOS feeds that string to
|
|
10481
|
+
* `UNNotificationActionIcon(systemImageName:)`, `disarm` is not an SF Symbol,
|
|
10482
|
+
* and every snooze and alarm button arrived BLANK. A pass-through is not a
|
|
10483
|
+
* mapping, and "the field is documented" is not "the value renders".
|
|
10484
|
+
*
|
|
10485
|
+
* Adding a member is TRAIN-BOUND. The enum lives in the published
|
|
10486
|
+
* `@camstack/server` closure and the cap seam validates against the HUB's copy,
|
|
10487
|
+
* so an addon that emits a token the running hub does not know does not lose an
|
|
10488
|
+
* icon — its whole `send` fails Zod validation and the notification never
|
|
10489
|
+
* arrives. Never emit a new token from an addon before the train carrying it.
|
|
10455
10490
|
*/
|
|
10456
10491
|
var NotificationActionIconSchema = z.enum([
|
|
10457
10492
|
"acknowledge",
|
|
10458
10493
|
"dismiss",
|
|
10459
10494
|
"silence",
|
|
10495
|
+
"snooze",
|
|
10460
10496
|
"view",
|
|
10461
10497
|
"play",
|
|
10462
10498
|
"open",
|
|
@@ -10464,9 +10500,13 @@ var NotificationActionIconSchema = z.enum([
|
|
|
10464
10500
|
"lock",
|
|
10465
10501
|
"unlock",
|
|
10466
10502
|
"arm",
|
|
10503
|
+
"arm-home",
|
|
10504
|
+
"arm-away",
|
|
10505
|
+
"arm-night",
|
|
10467
10506
|
"disarm",
|
|
10468
10507
|
"light",
|
|
10469
|
-
"alert"
|
|
10508
|
+
"alert",
|
|
10509
|
+
"camera"
|
|
10470
10510
|
]);
|
|
10471
10511
|
/** A single tap-through action button. */
|
|
10472
10512
|
var NotificationActionSchema = z.object({
|
|
@@ -10482,7 +10522,23 @@ var NotificationActionSchema = z.object({
|
|
|
10482
10522
|
* else — see `notification-center/action-token.ts` for what that does and
|
|
10483
10523
|
* does not buy.
|
|
10484
10524
|
*/
|
|
10485
|
-
destructive: z.boolean().optional()
|
|
10525
|
+
destructive: z.boolean().optional(),
|
|
10526
|
+
/**
|
|
10527
|
+
* How the tap should REACH the url.
|
|
10528
|
+
*
|
|
10529
|
+
* `navigate` (absent, and every button authored before this field) opens it:
|
|
10530
|
+
* the phone leaves the notification and shows whatever the callback returns.
|
|
10531
|
+
* That is right for a button whose answer the operator wants to read.
|
|
10532
|
+
*
|
|
10533
|
+
* `background` fires it as a POST and stays put. It exists for the buttons
|
|
10534
|
+
* whose whole point is not to interrupt — "silence this for 30 minutes" is
|
|
10535
|
+
* an answer to the notification, and being thrown into a browser tab to
|
|
10536
|
+
* confirm it costs more attention than the notification did. A backend that
|
|
10537
|
+
* cannot do a background call renders it as an ordinary link (the adapters
|
|
10538
|
+
* fall back rather than dropping the button), so this is a preference, never
|
|
10539
|
+
* a requirement.
|
|
10540
|
+
*/
|
|
10541
|
+
mode: z.enum(["navigate", "background"]).optional()
|
|
10486
10542
|
});
|
|
10487
10543
|
/**
|
|
10488
10544
|
* The canonical notification. `body` is the only hard field (Apprise model).
|
|
@@ -11008,6 +11064,29 @@ var MACRO_LABELS = [
|
|
|
11008
11064
|
name: "Package"
|
|
11009
11065
|
}
|
|
11010
11066
|
];
|
|
11067
|
+
/**
|
|
11068
|
+
* The class names a per-class COUNT can ever be keyed on — the macro ids, and
|
|
11069
|
+
* only those.
|
|
11070
|
+
*
|
|
11071
|
+
* `preserveOriginal: false` below is the whole reason this set exists: the
|
|
11072
|
+
* executor maps each raw COCO label onto its macro and DROPS everything else,
|
|
11073
|
+
* so a tracked detection's `className` is always one of {@link MACRO_LABELS}.
|
|
11074
|
+
* Any surface that indexes counts by class name — the ZoneAnalytics occupancy
|
|
11075
|
+
* snapshot's `byClass`, and therefore every occupancy rule — can match nothing
|
|
11076
|
+
* else. Derived from the catalog, never hand-listed, so a new macro joins it by
|
|
11077
|
+
* being declared once.
|
|
11078
|
+
*
|
|
11079
|
+
* Cost of not having it, 2026-08-12: the notification rule editor offered the
|
|
11080
|
+
* full taxonomy for an occupancy class (occupancy is the one condition that
|
|
11081
|
+
* does not go through the engine's macro-expanding `expandClassSelector`), two
|
|
11082
|
+
* live rules were authored on `car`, and both counters read 0 forever.
|
|
11083
|
+
*/
|
|
11084
|
+
var DETECTION_MACRO_CLASSES = new Set(MACRO_LABELS.map((l) => l.id));
|
|
11085
|
+
/** True when `className` is a macro the detector can actually emit (and hence a
|
|
11086
|
+
* class a count can be keyed on) — see {@link DETECTION_MACRO_CLASSES}. */
|
|
11087
|
+
function isDetectionMacroClass(className) {
|
|
11088
|
+
return DETECTION_MACRO_CLASSES.has(className.trim().toLowerCase());
|
|
11089
|
+
}
|
|
11011
11090
|
var COCO_TO_MACRO = {
|
|
11012
11091
|
mapping: {
|
|
11013
11092
|
person: "person",
|
|
@@ -11725,7 +11804,17 @@ var alarmPanelCapability = {
|
|
|
11725
11804
|
* full slice; renders an arm button per `availableModes` entry and
|
|
11726
11805
|
* a PIN field iff `requiresCode === true`.
|
|
11727
11806
|
*/
|
|
11728
|
-
runtimeState: AlarmPanelStatusSchema
|
|
11807
|
+
runtimeState: AlarmPanelStatusSchema,
|
|
11808
|
+
/**
|
|
11809
|
+
* Runtime-state durability: **restored** — armed state is the one thing a panel must not lose across a restart.
|
|
11810
|
+
*
|
|
11811
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
11812
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
11813
|
+
*/
|
|
11814
|
+
durability: "restored",
|
|
11815
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
11816
|
+
* whether persisting is worth a SQLite commit. */
|
|
11817
|
+
volatileStateFields: ["lastChangedAt"]
|
|
11729
11818
|
};
|
|
11730
11819
|
//#endregion
|
|
11731
11820
|
//#region src/capabilities/mask-shape.ts
|
|
@@ -11873,6 +11962,8 @@ var NcSystemEventKindSchema = z.enum([
|
|
|
11873
11962
|
"alarm-triggered",
|
|
11874
11963
|
"alarm-armed",
|
|
11875
11964
|
"alarm-disarmed",
|
|
11965
|
+
"alarm-arming",
|
|
11966
|
+
"alarm-arm-refused",
|
|
11876
11967
|
"camera-online",
|
|
11877
11968
|
"camera-offline",
|
|
11878
11969
|
"camera-disabled",
|
|
@@ -11892,16 +11983,22 @@ var NC_LEGACY_SYSTEM_EVENT_KINDS = new Set([
|
|
|
11892
11983
|
*/
|
|
11893
11984
|
var NC_AUTHORABLE_SYSTEM_EVENT_KINDS = NcSystemEventKindSchema.options.filter((kind) => !NC_LEGACY_SYSTEM_EVENT_KINDS.has(kind));
|
|
11894
11985
|
/**
|
|
11895
|
-
* The panel's
|
|
11986
|
+
* The panel's transitions, as ONE list.
|
|
11896
11987
|
*
|
|
11897
11988
|
* Named here rather than spelled out at each of the four sites that need them
|
|
11898
11989
|
* (the emitter, the intake, the editor group, the combined-notification gate),
|
|
11899
|
-
* because a
|
|
11900
|
-
*
|
|
11990
|
+
* because a transition added to the enum and forgotten at one of them is an
|
|
11991
|
+
* alarm state nobody can be notified about. That is exactly what this list
|
|
11992
|
+
* failed to prevent while it held three: `alarm-arming` was the fourth.
|
|
11993
|
+
*
|
|
11994
|
+
* In LIFECYCLE order, which is the order an editor lists them in and the order
|
|
11995
|
+
* a person experiences them — not the order they were added.
|
|
11901
11996
|
*/
|
|
11902
11997
|
var NC_ALARM_SYSTEM_EVENT_KINDS = [
|
|
11903
|
-
"alarm-
|
|
11998
|
+
"alarm-arm-refused",
|
|
11999
|
+
"alarm-arming",
|
|
11904
12000
|
"alarm-armed",
|
|
12001
|
+
"alarm-triggered",
|
|
11905
12002
|
"alarm-disarmed"
|
|
11906
12003
|
];
|
|
11907
12004
|
/**
|
|
@@ -11933,6 +12030,26 @@ var NcSystemEventConditionSchema = z.object({
|
|
|
11933
12030
|
* unique key `(ruleId, trackId, targetId)`. Not a rule field in P1.
|
|
11934
12031
|
*/
|
|
11935
12032
|
var NC_MAX_PER_TRACK_IMMEDIATE = 1;
|
|
12033
|
+
/** Hard ceiling on a window (24h). A snooze that could not expire would be an
|
|
12034
|
+
* outage the operator asked for once and forgot. */
|
|
12035
|
+
var NC_SNOOZE_MAX_MINUTES = 1440;
|
|
12036
|
+
/**
|
|
12037
|
+
* The durations a notification offers when its rule does not say otherwise.
|
|
12038
|
+
*
|
|
12039
|
+
* MINUTES, and short ones: a snooze button is answered on a lock screen, and
|
|
12040
|
+
* the three choices that fit there are "the next few minutes", "the next half
|
|
12041
|
+
* hour" and "the next hour". Anything longer is a decision somebody sits down
|
|
12042
|
+
* to make, which is what the app's own snooze surface is for.
|
|
12043
|
+
*
|
|
12044
|
+
* Resolved in CODE (`snoozeChoices`), never as a Zod default — see
|
|
12045
|
+
* {@link NcRuleInputSchema.shape.snoozeOptions} for why the distinction is
|
|
12046
|
+
* load-bearing.
|
|
12047
|
+
*/
|
|
12048
|
+
var NC_DEFAULT_SNOOZE_MINUTES = [
|
|
12049
|
+
10,
|
|
12050
|
+
30,
|
|
12051
|
+
60
|
|
12052
|
+
];
|
|
11936
12053
|
/** One weekly activation window. `startMinute > endMinute` crosses midnight. */
|
|
11937
12054
|
var NcScheduleWindowSchema = z.object({
|
|
11938
12055
|
/** Days of week the window STARTS on (0 = Sunday … 6 = Saturday). */
|
|
@@ -12334,15 +12451,15 @@ var NcConditionsSchema = z.object({
|
|
|
12334
12451
|
* (an `immediate` rule naming an `audio-*` class, one notification per
|
|
12335
12452
|
* classified sample) stays exactly as it was for rules that already use it.
|
|
12336
12453
|
*
|
|
12337
|
-
*
|
|
12338
|
-
* rather than an
|
|
12339
|
-
* (`camstack/src/data/notification-center.ts`, guarded by
|
|
12340
|
-
* `scripts/check-viewer-condition-mirror.ts`) and its rule editor
|
|
12454
|
+
* In {@link NC_CONDITION_CATALOG} since P2, and the ORDER it got there is the
|
|
12455
|
+
* rule rather than an accident: the viewer mirrors the descriptor enums BY
|
|
12456
|
+
* HAND (`camstack/src/data/notification-center.ts`, guarded by
|
|
12457
|
+
* `scripts/check-viewer-condition-mirror.ts`) and its rule editor strips the
|
|
12341
12458
|
* condition fields it does not know when a rule is saved from the phone.
|
|
12342
12459
|
* Publishing an editor for a condition the app cannot round-trip is how an
|
|
12343
|
-
* operator loses a rule's conditions by opening it — so the
|
|
12344
|
-
*
|
|
12345
|
-
*
|
|
12460
|
+
* operator loses a rule's conditions by opening it — so the viewer mirror
|
|
12461
|
+
* (P3, shipped) went FIRST, and the descriptor an editor renders from
|
|
12462
|
+
* follows here.
|
|
12346
12463
|
*/
|
|
12347
12464
|
audio: NcAudioConditionSchema.optional()
|
|
12348
12465
|
});
|
|
@@ -12579,6 +12696,30 @@ var NcRuleInputSchema = z.object({
|
|
|
12579
12696
|
*/
|
|
12580
12697
|
snoozeAllowGlobal: z.boolean().optional(),
|
|
12581
12698
|
/**
|
|
12699
|
+
* The snooze durations THIS rule's notification offers as buttons, in
|
|
12700
|
+
* minutes.
|
|
12701
|
+
*
|
|
12702
|
+
* Three states, and all three are distinct — which is exactly why this is
|
|
12703
|
+
* `.optional()` and never `.default()`. A Zod default does not run on the
|
|
12704
|
+
* addon cap path (three production failures in one day), so a schema default
|
|
12705
|
+
* would collapse the first two:
|
|
12706
|
+
*
|
|
12707
|
+
* | value | meaning |
|
|
12708
|
+
* | --- | --- |
|
|
12709
|
+
* | absent | the operator never said ⇒ {@link NC_DEFAULT_SNOOZE_MINUTES} |
|
|
12710
|
+
* | `[]` | **no snooze buttons on this rule** — the explicit override |
|
|
12711
|
+
* | a list | these choices, de-duplicated and sorted, at most four |
|
|
12712
|
+
*
|
|
12713
|
+
* `.max(4)` because the notifier's own action budget is small (ntfy allows
|
|
12714
|
+
* three buttons in total) and a rule that spent it all on snooze choices
|
|
12715
|
+
* would push its own tap-through actions off the notification.
|
|
12716
|
+
*
|
|
12717
|
+
* An empty list is NOT an alarm exemption: a rule the alarm is about, or
|
|
12718
|
+
* that arms the panel, is exempt automatically and cannot be silenced by a
|
|
12719
|
+
* window from anywhere (D133).
|
|
12720
|
+
*/
|
|
12721
|
+
snoozeOptions: z.array(z.number().int().min(1).max(NC_SNOOZE_MAX_MINUTES)).max(4).optional(),
|
|
12722
|
+
/**
|
|
12582
12723
|
* Devices this rule ACTUATES — arm the alarm, open a gate, turn on a light.
|
|
12583
12724
|
*
|
|
12584
12725
|
* This is what makes the rule set the alarm's trigger set without the alarm
|
|
@@ -12678,6 +12819,7 @@ var NcConditionDescriptorSchema = z.object({
|
|
|
12678
12819
|
"device",
|
|
12679
12820
|
"package",
|
|
12680
12821
|
"occupancy",
|
|
12822
|
+
"audio",
|
|
12681
12823
|
"system"
|
|
12682
12824
|
]),
|
|
12683
12825
|
label: z.string(),
|
|
@@ -12696,6 +12838,7 @@ var NcConditionDescriptorSchema = z.object({
|
|
|
12696
12838
|
"crossingSelect",
|
|
12697
12839
|
"polygonDraw",
|
|
12698
12840
|
"occupancy",
|
|
12841
|
+
"audio",
|
|
12699
12842
|
"deviceState",
|
|
12700
12843
|
"systemEvent"
|
|
12701
12844
|
]),
|
|
@@ -12786,13 +12929,17 @@ var NC_CONDITION_CATALOG = [
|
|
|
12786
12929
|
label: "Server update available"
|
|
12787
12930
|
},
|
|
12788
12931
|
{
|
|
12789
|
-
value: "alarm-
|
|
12790
|
-
label: "Alarm
|
|
12932
|
+
value: "alarm-arming",
|
|
12933
|
+
label: "Alarm arming (exit delay)"
|
|
12791
12934
|
},
|
|
12792
12935
|
{
|
|
12793
12936
|
value: "alarm-armed",
|
|
12794
12937
|
label: "Alarm armed"
|
|
12795
12938
|
},
|
|
12939
|
+
{
|
|
12940
|
+
value: "alarm-triggered",
|
|
12941
|
+
label: "Alarm triggered"
|
|
12942
|
+
},
|
|
12796
12943
|
{
|
|
12797
12944
|
value: "alarm-disarmed",
|
|
12798
12945
|
label: "Alarm disarmed"
|
|
@@ -13093,6 +13240,16 @@ var NC_CONDITION_CATALOG = [
|
|
|
13093
13240
|
phase: "P1",
|
|
13094
13241
|
description: "ZoneAnalytics occupancy edge (optionally zone/class-scoped): count crosses the threshold and holds for sustainSeconds. Fail-closed on a missing snapshot."
|
|
13095
13242
|
},
|
|
13243
|
+
{
|
|
13244
|
+
id: "audio",
|
|
13245
|
+
group: "audio",
|
|
13246
|
+
label: "Sound",
|
|
13247
|
+
valueType: "audio",
|
|
13248
|
+
operator: "anyOf",
|
|
13249
|
+
appliesTo: ["immediate"],
|
|
13250
|
+
phase: "P2",
|
|
13251
|
+
description: "Fires when at least hitPercent% of the samples in a samplingSeconds window are hits — a hit clears the dBFS floor AND carries one of the chosen sounds. Both filters are optional and independent, but naming NEITHER never matches: every sample would be a hit, so the engine refuses rather than notifying on silence. dBFS is negative-going (0 = full scale, -96 = silence)."
|
|
13252
|
+
},
|
|
13096
13253
|
{
|
|
13097
13254
|
id: "customZones",
|
|
13098
13255
|
group: "zones",
|
|
@@ -13228,9 +13385,6 @@ var NcSnoozeScopeSchema = z.enum([
|
|
|
13228
13385
|
"device",
|
|
13229
13386
|
"all"
|
|
13230
13387
|
]);
|
|
13231
|
-
/** Hard ceiling on a window (24h). A snooze that could not expire would be an
|
|
13232
|
-
* outage the operator asked for once and forgot. */
|
|
13233
|
-
var NC_SNOOZE_MAX_MINUTES = 1440;
|
|
13234
13388
|
/**
|
|
13235
13389
|
* Client-authored snooze. The server stamps `userId`, `startedAt` and
|
|
13236
13390
|
* `expiresAt` — a DURATION is sent rather than an instant so a client with a
|
|
@@ -13243,6 +13397,19 @@ var NcSnoozeInputSchema = z.object({
|
|
|
13243
13397
|
ruleId: z.string().optional(),
|
|
13244
13398
|
/** Required when `scope: 'device'`. */
|
|
13245
13399
|
deviceId: z.number().int().optional(),
|
|
13400
|
+
/**
|
|
13401
|
+
* Narrow the window to these subject classes — "the cat, not the person".
|
|
13402
|
+
*
|
|
13403
|
+
* ORTHOGONAL to `scope`, deliberately, and absent means EVERY class: that is
|
|
13404
|
+
* what every window authored before this field meant, so no persisted row
|
|
13405
|
+
* changes meaning and no client has to learn anything to keep working.
|
|
13406
|
+
*
|
|
13407
|
+
* It is what makes the window's real key `(deviceId, classes[])` and lets it
|
|
13408
|
+
* cross rules (D133): the operator points at a camera and a kind of thing,
|
|
13409
|
+
* not at whichever of their four rules happened to produce the notification
|
|
13410
|
+
* they are dismissing.
|
|
13411
|
+
*/
|
|
13412
|
+
classes: z.array(z.string().min(1)).min(1).optional(),
|
|
13246
13413
|
durationMinutes: z.number().int().min(1).max(NC_SNOOZE_MAX_MINUTES),
|
|
13247
13414
|
/**
|
|
13248
13415
|
* Silence this for EVERY recipient, not just the caller. Permission is
|
|
@@ -13268,6 +13435,10 @@ var NcSnoozeSchema = z.object({
|
|
|
13268
13435
|
scope: NcSnoozeScopeSchema,
|
|
13269
13436
|
ruleId: z.string().optional(),
|
|
13270
13437
|
deviceId: z.number().int().optional(),
|
|
13438
|
+
/** Subject classes this window covers. ABSENT = every class — see
|
|
13439
|
+
* {@link NcSnoozeInputSchema.shape.classes}. Lives in the JSON blob and has
|
|
13440
|
+
* no SQLite column: nothing queries a window by class. */
|
|
13441
|
+
classes: z.array(z.string().min(1)).min(1).optional(),
|
|
13271
13442
|
startedAt: z.number(),
|
|
13272
13443
|
/** Exclusive: at exactly this instant the snooze is over. Expiry is a
|
|
13273
13444
|
* COMPARISON, not a job — no sweeper can leave the operator silenced. */
|
|
@@ -16060,7 +16231,14 @@ var zonesCapability = {
|
|
|
16060
16231
|
* handle. Slice shape is `{ zones: Zone[] }` so future extensions
|
|
16061
16232
|
* (e.g. zone groupings) can sit alongside the polygon list.
|
|
16062
16233
|
*/
|
|
16063
|
-
runtimeState: z.object({ zones: z.array(ZoneSchema).readonly() })
|
|
16234
|
+
runtimeState: z.object({ zones: z.array(ZoneSchema).readonly() }),
|
|
16235
|
+
/**
|
|
16236
|
+
* Runtime-state durability: **restored** — written only on operator mutation, so a camera that never had one has nothing to re-derive from. This is the slice `zone-mirror-hydration.ts` exists to paper over.
|
|
16237
|
+
*
|
|
16238
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
16239
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
16240
|
+
*/
|
|
16241
|
+
durability: "restored"
|
|
16064
16242
|
};
|
|
16065
16243
|
//#endregion
|
|
16066
16244
|
//#region src/capabilities/pipeline-runner.cap.ts
|
|
@@ -16232,6 +16410,22 @@ var detectionFpsField = {
|
|
|
16232
16410
|
default: 10,
|
|
16233
16411
|
step: 1
|
|
16234
16412
|
};
|
|
16413
|
+
/**
|
|
16414
|
+
* The occupancy re-check interval. DEFAULT 300 s (2026-08-13 — was 30 s).
|
|
16415
|
+
*
|
|
16416
|
+
* The recheck is now on by default (a parked car is invisible to occupancy
|
|
16417
|
+
* rules until the stationary registry has been rebuilt by motion, which after a
|
|
16418
|
+
* restart may be never on a quiet camera). Each cycle re-subscribes a detection
|
|
16419
|
+
* session — an RTSP re-dial — so the switch is only affordable at a WIDE
|
|
16420
|
+
* interval: 300 s is ~12 re-dials an hour per camera, against 120 at the old
|
|
16421
|
+
* 30 s. A parked car is therefore counted within 5 minutes of a restart.
|
|
16422
|
+
*
|
|
16423
|
+
* Why not wider: `max` is 300 and raising it is TRAIN-BOUND, not addon-bound —
|
|
16424
|
+
* the host validates `attachCamera` against ITS copy of this schema, so a
|
|
16425
|
+
* runner asked for 600 would be rejected by the hub until a `@camstack/server`
|
|
16426
|
+
* carrying the wider bound is installed everywhere. 300 is the widest value
|
|
16427
|
+
* that ships with an addon deploy.
|
|
16428
|
+
*/
|
|
16235
16429
|
var occupancyRecheckSecField = {
|
|
16236
16430
|
min: 0,
|
|
16237
16431
|
max: 300,
|
|
@@ -16433,15 +16627,21 @@ var RunnerCameraConfigSchema = z.object({
|
|
|
16433
16627
|
*/
|
|
16434
16628
|
onboardMotionDrivesAnalyzer: z.boolean().default(true),
|
|
16435
16629
|
/**
|
|
16436
|
-
* Master toggle for the occupancy re-check. When `false`
|
|
16437
|
-
*
|
|
16438
|
-
* this is off by default because the recheck re-subscribes a detection session
|
|
16439
|
-
* every N seconds while `watching`, a major source of pull-decoder re-dial
|
|
16440
|
-
* churn (each cycle creates+tears a session → RTSP re-dial → latency). The
|
|
16630
|
+
* Master toggle for the occupancy re-check. When `false` the runner never arms
|
|
16631
|
+
* the periodic recheck timer, regardless of `occupancyRecheckSec`; the
|
|
16441
16632
|
* `occupancyRecheckSec` / `occupancyRecheckFrames` sliders only take effect
|
|
16442
16633
|
* (and only render) when this is enabled.
|
|
16443
|
-
|
|
16444
|
-
|
|
16634
|
+
*
|
|
16635
|
+
* DEFAULT `true` since 2026-08-13 (was `false`). It was off because the
|
|
16636
|
+
* recheck re-subscribes a detection session every N seconds while `watching`
|
|
16637
|
+
* — each cycle creates+tears a session ⇒ an RTSP re-dial ⇒ latency, a major
|
|
16638
|
+
* pull-decoder churn source. What that bought was a blind spot: a STATIONARY
|
|
16639
|
+
* object is counted only while the stationary registry holds it, and the
|
|
16640
|
+
* registry rebuilds from motion, so after a restart a parked car was invisible
|
|
16641
|
+
* to every occupancy rule until something moved in front of it. The churn is
|
|
16642
|
+
* now paid on the interval instead — see `occupancyRecheckSecField`.
|
|
16643
|
+
*/
|
|
16644
|
+
occupancyRecheckEnabled: z.boolean().default(true),
|
|
16445
16645
|
occupancyRecheckSec: z.number().min(occupancyRecheckSecField.min).max(occupancyRecheckSecField.max).default(occupancyRecheckSecField.default),
|
|
16446
16646
|
occupancyRecheckFrames: z.number().min(occupancyRecheckFramesField.min).max(occupancyRecheckFramesField.max).default(occupancyRecheckFramesField.default),
|
|
16447
16647
|
/**
|
|
@@ -16574,8 +16774,8 @@ var RunnerCameraDeviceUIFields = [
|
|
|
16574
16774
|
type: "boolean",
|
|
16575
16775
|
style: "checkbox",
|
|
16576
16776
|
label: "Occupancy re-check",
|
|
16577
|
-
description: "Periodically re-sample a few frames during the watching phase
|
|
16578
|
-
default:
|
|
16777
|
+
description: "Periodically re-sample a few frames during the watching phase, so objects that are simply parked are still counted (motion gating alone loses them after a restart). On by default at a wide interval; turn it off on cameras where the extra decoder re-dial is expensive.",
|
|
16778
|
+
default: true
|
|
16579
16779
|
},
|
|
16580
16780
|
{
|
|
16581
16781
|
key: "occupancyRecheckSec",
|
|
@@ -20267,7 +20467,17 @@ var airQualitySensorCapability = {
|
|
|
20267
20467
|
schema: AirQualitySensorStatusSchema,
|
|
20268
20468
|
kind: "push"
|
|
20269
20469
|
},
|
|
20270
|
-
runtimeState: AirQualitySensorStatusSchema
|
|
20470
|
+
runtimeState: AirQualitySensorStatusSchema,
|
|
20471
|
+
/**
|
|
20472
|
+
* Runtime-state durability: **restored** — as `numeric-sensor`.
|
|
20473
|
+
*
|
|
20474
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
20475
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
20476
|
+
*/
|
|
20477
|
+
durability: "restored",
|
|
20478
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
20479
|
+
* whether persisting is worth a SQLite commit. */
|
|
20480
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
20271
20481
|
};
|
|
20272
20482
|
//#endregion
|
|
20273
20483
|
//#region src/capabilities/ambient-light-sensor.cap.ts
|
|
@@ -20301,7 +20511,17 @@ var ambientLightSensorCapability = {
|
|
|
20301
20511
|
schema: AmbientLightSensorStatusSchema,
|
|
20302
20512
|
kind: "push"
|
|
20303
20513
|
},
|
|
20304
|
-
runtimeState: AmbientLightSensorStatusSchema
|
|
20514
|
+
runtimeState: AmbientLightSensorStatusSchema,
|
|
20515
|
+
/**
|
|
20516
|
+
* Runtime-state durability: **restored** — as `numeric-sensor`.
|
|
20517
|
+
*
|
|
20518
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
20519
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
20520
|
+
*/
|
|
20521
|
+
durability: "restored",
|
|
20522
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
20523
|
+
* whether persisting is worth a SQLite commit. */
|
|
20524
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
20305
20525
|
};
|
|
20306
20526
|
//#endregion
|
|
20307
20527
|
//#region src/capabilities/audio-metrics.cap.ts
|
|
@@ -20430,7 +20650,14 @@ var audioMetricsCapability = {
|
|
|
20430
20650
|
}), AudioMetricsHistorySchema)
|
|
20431
20651
|
},
|
|
20432
20652
|
/** Reactive runtime-state mirror — live `device.state.audioMetrics.value`. */
|
|
20433
|
-
runtimeState: AudioMetricsSnapshotSchema
|
|
20653
|
+
runtimeState: AudioMetricsSnapshotSchema,
|
|
20654
|
+
/**
|
|
20655
|
+
* Runtime-state durability: **session** — 1 Hz per camera at the mirror and ~63 % of the fleet's whole runtime-state write rate. `avgDbfs` is a rolling 60 s mean that genuinely moves every second, so no equality fix reclaims it — and a two-hour-old dB reading rendered as current is worse than no reading.
|
|
20656
|
+
*
|
|
20657
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
20658
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
20659
|
+
*/
|
|
20660
|
+
durability: "session"
|
|
20434
20661
|
};
|
|
20435
20662
|
//#endregion
|
|
20436
20663
|
//#region src/capabilities/automation-control.cap.ts
|
|
@@ -20494,7 +20721,14 @@ var automationControlCapability = {
|
|
|
20494
20721
|
* reads `enabled` (toggle) + `isRunning` (spinner) + `lastError`
|
|
20495
20722
|
* (badge) directly.
|
|
20496
20723
|
*/
|
|
20497
|
-
runtimeState: AutomationControlStatusSchema
|
|
20724
|
+
runtimeState: AutomationControlStatusSchema,
|
|
20725
|
+
/**
|
|
20726
|
+
* Runtime-state durability: **session** — the authority for an automation being enabled is the automation store; a restored `isRunning` would be a lie. D62: one authority per switch.
|
|
20727
|
+
*
|
|
20728
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
20729
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
20730
|
+
*/
|
|
20731
|
+
durability: "session"
|
|
20498
20732
|
};
|
|
20499
20733
|
//#endregion
|
|
20500
20734
|
//#region src/capabilities/battery.cap.ts
|
|
@@ -20602,7 +20836,17 @@ onStatusChanged: { data: z.object({
|
|
|
20602
20836
|
* via `device.runtimeState.getCapState('battery')` regardless of
|
|
20603
20837
|
* the underlying driver.
|
|
20604
20838
|
*/
|
|
20605
|
-
runtimeState: BatteryStatusSchema
|
|
20839
|
+
runtimeState: BatteryStatusSchema,
|
|
20840
|
+
/**
|
|
20841
|
+
* Runtime-state durability: **restored** — a sleeping battery camera may not report for hours; the restored percentage is the only thing the UI and the sleep gate have. Zero churn once `lastUpdated` is excluded — 526 writes, 0 value changes, in 25 minutes.
|
|
20842
|
+
*
|
|
20843
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
20844
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
20845
|
+
*/
|
|
20846
|
+
durability: "restored",
|
|
20847
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
20848
|
+
* whether persisting is worth a SQLite commit. */
|
|
20849
|
+
volatileStateFields: ["lastUpdated"]
|
|
20606
20850
|
};
|
|
20607
20851
|
//#endregion
|
|
20608
20852
|
//#region src/capabilities/binary.cap.ts
|
|
@@ -20633,7 +20877,17 @@ var binaryCapability = {
|
|
|
20633
20877
|
schema: BinaryStatusSchema,
|
|
20634
20878
|
kind: "push"
|
|
20635
20879
|
},
|
|
20636
|
-
runtimeState: BinaryStatusSchema
|
|
20880
|
+
runtimeState: BinaryStatusSchema,
|
|
20881
|
+
/**
|
|
20882
|
+
* Runtime-state durability: **restored** — transition-driven sensor state; the restored value gives the boot comparison.
|
|
20883
|
+
*
|
|
20884
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
20885
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
20886
|
+
*/
|
|
20887
|
+
durability: "restored",
|
|
20888
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
20889
|
+
* whether persisting is worth a SQLite commit. */
|
|
20890
|
+
volatileStateFields: ["lastChangedAt"]
|
|
20637
20891
|
};
|
|
20638
20892
|
//#endregion
|
|
20639
20893
|
//#region src/capabilities/brightness.cap.ts
|
|
@@ -20688,7 +20942,14 @@ onBrightnessChanged: { data: z.object({
|
|
|
20688
20942
|
* by the kernel. Read via `device.state.brightness.value` so UI
|
|
20689
20943
|
* sliders surface the current level without polling the provider.
|
|
20690
20944
|
*/
|
|
20691
|
-
runtimeState: BrightnessStatusSchema
|
|
20945
|
+
runtimeState: BrightnessStatusSchema,
|
|
20946
|
+
/**
|
|
20947
|
+
* Runtime-state durability: **session** — live lamp state, re-published by the provider on connect.
|
|
20948
|
+
*
|
|
20949
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
20950
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
20951
|
+
*/
|
|
20952
|
+
durability: "session"
|
|
20692
20953
|
};
|
|
20693
20954
|
//#endregion
|
|
20694
20955
|
//#region src/capabilities/button.cap.ts
|
|
@@ -20823,7 +21084,17 @@ var carbonMonoxideCapability = {
|
|
|
20823
21084
|
schema: CarbonMonoxideStatusSchema,
|
|
20824
21085
|
kind: "push"
|
|
20825
21086
|
},
|
|
20826
|
-
runtimeState: CarbonMonoxideStatusSchema
|
|
21087
|
+
runtimeState: CarbonMonoxideStatusSchema,
|
|
21088
|
+
/**
|
|
21089
|
+
* Runtime-state durability: **restored** — as `smoke`.
|
|
21090
|
+
*
|
|
21091
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
21092
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
21093
|
+
*/
|
|
21094
|
+
durability: "restored",
|
|
21095
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
21096
|
+
* whether persisting is worth a SQLite commit. */
|
|
21097
|
+
volatileStateFields: ["lastChangedAt"]
|
|
20827
21098
|
};
|
|
20828
21099
|
//#endregion
|
|
20829
21100
|
//#region src/capabilities/climate-control.cap.ts
|
|
@@ -20985,7 +21256,14 @@ var climateControlCapability = {
|
|
|
20985
21256
|
* the full slice via `device.state.climate-control.value` and refresh
|
|
20986
21257
|
* on every push without re-querying the provider.
|
|
20987
21258
|
*/
|
|
20988
|
-
runtimeState: ClimateControlStatusSchema
|
|
21259
|
+
runtimeState: ClimateControlStatusSchema,
|
|
21260
|
+
/**
|
|
21261
|
+
* Runtime-state durability: **session** — as `brightness`; `currentTemp` moves continuously and is re-published on connect.
|
|
21262
|
+
*
|
|
21263
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
21264
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
21265
|
+
*/
|
|
21266
|
+
durability: "session"
|
|
20989
21267
|
};
|
|
20990
21268
|
//#endregion
|
|
20991
21269
|
//#region src/capabilities/color.cap.ts
|
|
@@ -21097,7 +21375,14 @@ onColorChanged: { data: z.object({
|
|
|
21097
21375
|
* kernel. Read via `device.state.color.value` so UI pickers surface
|
|
21098
21376
|
* the current chromaticity without polling the provider.
|
|
21099
21377
|
*/
|
|
21100
|
-
runtimeState: ColorStatusSchema
|
|
21378
|
+
runtimeState: ColorStatusSchema,
|
|
21379
|
+
/**
|
|
21380
|
+
* Runtime-state durability: **session** — as `brightness`.
|
|
21381
|
+
*
|
|
21382
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
21383
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
21384
|
+
*/
|
|
21385
|
+
durability: "session"
|
|
21101
21386
|
};
|
|
21102
21387
|
//#endregion
|
|
21103
21388
|
//#region src/capabilities/connection-test.cap.ts
|
|
@@ -21221,7 +21506,17 @@ var connectivityCapability = {
|
|
|
21221
21506
|
schema: ConnectivityStatusSchema,
|
|
21222
21507
|
kind: "push"
|
|
21223
21508
|
},
|
|
21224
|
-
runtimeState: ConnectivityStatusSchema
|
|
21509
|
+
runtimeState: ConnectivityStatusSchema,
|
|
21510
|
+
/**
|
|
21511
|
+
* Runtime-state durability: **restored** — same shape and same argument as `device-status`, for links rather than devices.
|
|
21512
|
+
*
|
|
21513
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
21514
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
21515
|
+
*/
|
|
21516
|
+
durability: "restored",
|
|
21517
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
21518
|
+
* whether persisting is worth a SQLite commit. */
|
|
21519
|
+
volatileStateFields: ["lastChangedAt"]
|
|
21225
21520
|
};
|
|
21226
21521
|
//#endregion
|
|
21227
21522
|
//#region src/capabilities/consumables.cap.ts
|
|
@@ -21305,7 +21600,14 @@ reset: method(z.object({
|
|
|
21305
21600
|
}
|
|
21306
21601
|
}
|
|
21307
21602
|
},
|
|
21308
|
-
runtimeState: ConsumablesStatusSchema.extend({ lastFetchedAt: z.number() })
|
|
21603
|
+
runtimeState: ConsumablesStatusSchema.extend({ lastFetchedAt: z.number() }),
|
|
21604
|
+
/**
|
|
21605
|
+
* Runtime-state durability: **session** — the authority is the appliance; the provider re-reads the whole item array on connect.
|
|
21606
|
+
*
|
|
21607
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
21608
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
21609
|
+
*/
|
|
21610
|
+
durability: "session"
|
|
21309
21611
|
};
|
|
21310
21612
|
//#endregion
|
|
21311
21613
|
//#region src/capabilities/contact.cap.ts
|
|
@@ -21338,7 +21640,17 @@ var contactCapability = {
|
|
|
21338
21640
|
schema: ContactStatusSchema,
|
|
21339
21641
|
kind: "push"
|
|
21340
21642
|
},
|
|
21341
|
-
runtimeState: ContactStatusSchema
|
|
21643
|
+
runtimeState: ContactStatusSchema,
|
|
21644
|
+
/**
|
|
21645
|
+
* Runtime-state durability: **restored** — a door left open across a restart must still read open.
|
|
21646
|
+
*
|
|
21647
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
21648
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
21649
|
+
*/
|
|
21650
|
+
durability: "restored",
|
|
21651
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
21652
|
+
* whether persisting is worth a SQLite commit. */
|
|
21653
|
+
volatileStateFields: ["lastChangedAt"]
|
|
21342
21654
|
};
|
|
21343
21655
|
//#endregion
|
|
21344
21656
|
//#region src/capabilities/control.cap.ts
|
|
@@ -21470,7 +21782,14 @@ var controlCapability = {
|
|
|
21470
21782
|
* dropdown / text field / date picker) read the slice's discriminant
|
|
21471
21783
|
* and value directly without polling the provider.
|
|
21472
21784
|
*/
|
|
21473
|
-
runtimeState: ControlStatusSchema
|
|
21785
|
+
runtimeState: ControlStatusSchema,
|
|
21786
|
+
/**
|
|
21787
|
+
* Runtime-state durability: **session** — a generic control mirrors an external entity that re-publishes on connect; the options array is re-derived with it.
|
|
21788
|
+
*
|
|
21789
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
21790
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
21791
|
+
*/
|
|
21792
|
+
durability: "session"
|
|
21474
21793
|
};
|
|
21475
21794
|
//#endregion
|
|
21476
21795
|
//#region src/capabilities/cover.cap.ts
|
|
@@ -21555,7 +21874,17 @@ var coverCapability = {
|
|
|
21555
21874
|
* Runtime-state slice — mirrored by the kernel. UI controls watch
|
|
21556
21875
|
* the slice for live position changes during a move.
|
|
21557
21876
|
*/
|
|
21558
|
-
runtimeState: CoverStatusSchema
|
|
21877
|
+
runtimeState: CoverStatusSchema,
|
|
21878
|
+
/**
|
|
21879
|
+
* Runtime-state durability: **restored** — position survives a restart on the device; the mirror should agree at boot rather than read blank.
|
|
21880
|
+
*
|
|
21881
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
21882
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
21883
|
+
*/
|
|
21884
|
+
durability: "restored",
|
|
21885
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
21886
|
+
* whether persisting is worth a SQLite commit. */
|
|
21887
|
+
volatileStateFields: ["lastChangedAt"]
|
|
21559
21888
|
};
|
|
21560
21889
|
//#endregion
|
|
21561
21890
|
//#region src/capabilities/day-night.cap.ts
|
|
@@ -21651,7 +21980,17 @@ var dayNightCapability = {
|
|
|
21651
21980
|
schema: DayNightStatusSchema,
|
|
21652
21981
|
kind: "poll"
|
|
21653
21982
|
},
|
|
21654
|
-
runtimeState: DayNightStatusSchema
|
|
21983
|
+
runtimeState: DayNightStatusSchema,
|
|
21984
|
+
/**
|
|
21985
|
+
* Runtime-state durability: **restored** — operator-set IR-cut behaviour; mutation-driven.
|
|
21986
|
+
*
|
|
21987
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
21988
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
21989
|
+
*/
|
|
21990
|
+
durability: "restored",
|
|
21991
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
21992
|
+
* whether persisting is worth a SQLite commit. */
|
|
21993
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
21655
21994
|
};
|
|
21656
21995
|
//#endregion
|
|
21657
21996
|
//#region src/capabilities/device-status.cap.ts
|
|
@@ -21700,7 +22039,17 @@ onStatusChanged: { data: z.object({
|
|
|
21700
22039
|
schema: DeviceStatusSchema,
|
|
21701
22040
|
kind: "push"
|
|
21702
22041
|
},
|
|
21703
|
-
runtimeState: DeviceStatusSchema
|
|
22042
|
+
runtimeState: DeviceStatusSchema,
|
|
22043
|
+
/**
|
|
22044
|
+
* Runtime-state durability: **restored** — the previous observation is what makes the first reading after a restart a COMPARISON instead of a phantom transition (D130). 32 real flips across 16 devices in 25 min — the busiest slice in the cold half.
|
|
22045
|
+
*
|
|
22046
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
22047
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
22048
|
+
*/
|
|
22049
|
+
durability: "restored",
|
|
22050
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
22051
|
+
* whether persisting is worth a SQLite commit. */
|
|
22052
|
+
volatileStateFields: ["lastChangedAt"]
|
|
21704
22053
|
};
|
|
21705
22054
|
//#endregion
|
|
21706
22055
|
//#region src/capabilities/doorbell.cap.ts
|
|
@@ -21764,7 +22113,14 @@ onPressed: { data: DoorbellPressEventSchema } },
|
|
|
21764
22113
|
* `device.state.doorbell.value`. UIs can show "last ring 5m ago"
|
|
21765
22114
|
* without subscribing.
|
|
21766
22115
|
*/
|
|
21767
|
-
runtimeState: DoorbellStatusSchema
|
|
22116
|
+
runtimeState: DoorbellStatusSchema,
|
|
22117
|
+
/**
|
|
22118
|
+
* Runtime-state durability: **restored** — a monotonic accumulator: the slice IS the record. `lastPressedAt` is content here, not a clock, so it is deliberately NOT volatile.
|
|
22119
|
+
*
|
|
22120
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
22121
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
22122
|
+
*/
|
|
22123
|
+
durability: "restored"
|
|
21768
22124
|
};
|
|
21769
22125
|
//#endregion
|
|
21770
22126
|
//#region src/capabilities/enum-sensor.cap.ts
|
|
@@ -21806,7 +22162,17 @@ var enumSensorCapability = {
|
|
|
21806
22162
|
schema: EnumSensorStatusSchema,
|
|
21807
22163
|
kind: "push"
|
|
21808
22164
|
},
|
|
21809
|
-
runtimeState: EnumSensorStatusSchema
|
|
22165
|
+
runtimeState: EnumSensorStatusSchema,
|
|
22166
|
+
/**
|
|
22167
|
+
* Runtime-state durability: **restored** — as `numeric-sensor`; 80 devices.
|
|
22168
|
+
*
|
|
22169
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
22170
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
22171
|
+
*/
|
|
22172
|
+
durability: "restored",
|
|
22173
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
22174
|
+
* whether persisting is worth a SQLite commit. */
|
|
22175
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
21810
22176
|
};
|
|
21811
22177
|
//#endregion
|
|
21812
22178
|
//#region src/capabilities/event-emitter.cap.ts
|
|
@@ -21844,7 +22210,14 @@ var eventEmitterCapability = {
|
|
|
21844
22210
|
schema: EventEmitterStatusSchema,
|
|
21845
22211
|
kind: "push"
|
|
21846
22212
|
},
|
|
21847
|
-
runtimeState: EventEmitterStatusSchema
|
|
22213
|
+
runtimeState: EventEmitterStatusSchema,
|
|
22214
|
+
/**
|
|
22215
|
+
* Runtime-state durability: **session** — `eventCountSinceStart` names its own scope.
|
|
22216
|
+
*
|
|
22217
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
22218
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
22219
|
+
*/
|
|
22220
|
+
durability: "session"
|
|
21848
22221
|
};
|
|
21849
22222
|
//#endregion
|
|
21850
22223
|
//#region src/capabilities/events.cap.ts
|
|
@@ -22167,7 +22540,14 @@ var fanControlCapability = {
|
|
|
22167
22540
|
* Runtime-state slice — mirrored by the kernel. UI fan speed
|
|
22168
22541
|
* sliders read `percentage` for live updates.
|
|
22169
22542
|
*/
|
|
22170
|
-
runtimeState: FanControlStatusSchema
|
|
22543
|
+
runtimeState: FanControlStatusSchema,
|
|
22544
|
+
/**
|
|
22545
|
+
* Runtime-state durability: **session** — as `brightness`.
|
|
22546
|
+
*
|
|
22547
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
22548
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
22549
|
+
*/
|
|
22550
|
+
durability: "session"
|
|
22171
22551
|
};
|
|
22172
22552
|
//#endregion
|
|
22173
22553
|
//#region src/capabilities/feature-probe.cap.ts
|
|
@@ -22245,7 +22625,14 @@ onProbeChanged: { data: z.object({
|
|
|
22245
22625
|
schema: FeatureProbeStatusSchema,
|
|
22246
22626
|
kind: "push"
|
|
22247
22627
|
},
|
|
22248
|
-
runtimeState: FeatureProbeStatusSchema
|
|
22628
|
+
runtimeState: FeatureProbeStatusSchema,
|
|
22629
|
+
/**
|
|
22630
|
+
* Runtime-state durability: **session** — per-session by definition — `lastProbedAt` means "this worker completed a probe THIS session", which is why the mirror seed already blanks it. Persisting it only creates something to blank.
|
|
22631
|
+
*
|
|
22632
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
22633
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
22634
|
+
*/
|
|
22635
|
+
durability: "session"
|
|
22249
22636
|
};
|
|
22250
22637
|
//#endregion
|
|
22251
22638
|
//#region src/capabilities/flood.cap.ts
|
|
@@ -22274,7 +22661,17 @@ var floodCapability = {
|
|
|
22274
22661
|
schema: FloodStatusSchema,
|
|
22275
22662
|
kind: "push"
|
|
22276
22663
|
},
|
|
22277
|
-
runtimeState: FloodStatusSchema
|
|
22664
|
+
runtimeState: FloodStatusSchema,
|
|
22665
|
+
/**
|
|
22666
|
+
* Runtime-state durability: **restored** — as `smoke`.
|
|
22667
|
+
*
|
|
22668
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
22669
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
22670
|
+
*/
|
|
22671
|
+
durability: "restored",
|
|
22672
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
22673
|
+
* whether persisting is worth a SQLite commit. */
|
|
22674
|
+
volatileStateFields: ["lastChangedAt"]
|
|
22278
22675
|
};
|
|
22279
22676
|
//#endregion
|
|
22280
22677
|
//#region src/capabilities/gas.cap.ts
|
|
@@ -22299,7 +22696,17 @@ var gasCapability = {
|
|
|
22299
22696
|
schema: GasStatusSchema,
|
|
22300
22697
|
kind: "push"
|
|
22301
22698
|
},
|
|
22302
|
-
runtimeState: GasStatusSchema
|
|
22699
|
+
runtimeState: GasStatusSchema,
|
|
22700
|
+
/**
|
|
22701
|
+
* Runtime-state durability: **restored** — as `smoke`.
|
|
22702
|
+
*
|
|
22703
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
22704
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
22705
|
+
*/
|
|
22706
|
+
durability: "restored",
|
|
22707
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
22708
|
+
* whether persisting is worth a SQLite commit. */
|
|
22709
|
+
volatileStateFields: ["lastChangedAt"]
|
|
22303
22710
|
};
|
|
22304
22711
|
//#endregion
|
|
22305
22712
|
//#region src/capabilities/humidifier.cap.ts
|
|
@@ -22377,7 +22784,14 @@ var humidifierCapability = {
|
|
|
22377
22784
|
* Runtime-state slice — mirrored by the kernel. UI controls watch the
|
|
22378
22785
|
* slice for live humidity / mode changes.
|
|
22379
22786
|
*/
|
|
22380
|
-
runtimeState: HumidifierStatusSchema
|
|
22787
|
+
runtimeState: HumidifierStatusSchema,
|
|
22788
|
+
/**
|
|
22789
|
+
* Runtime-state durability: **session** — as `climate-control`.
|
|
22790
|
+
*
|
|
22791
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
22792
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
22793
|
+
*/
|
|
22794
|
+
durability: "session"
|
|
22381
22795
|
};
|
|
22382
22796
|
//#endregion
|
|
22383
22797
|
//#region src/capabilities/humidity-sensor.cap.ts
|
|
@@ -22415,7 +22829,17 @@ var humiditySensorCapability = {
|
|
|
22415
22829
|
schema: HumiditySensorStatusSchema,
|
|
22416
22830
|
kind: "push"
|
|
22417
22831
|
},
|
|
22418
|
-
runtimeState: HumiditySensorStatusSchema
|
|
22832
|
+
runtimeState: HumiditySensorStatusSchema,
|
|
22833
|
+
/**
|
|
22834
|
+
* Runtime-state durability: **restored** — as `numeric-sensor` (67 of 75 writes were the clock alone).
|
|
22835
|
+
*
|
|
22836
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
22837
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
22838
|
+
*/
|
|
22839
|
+
durability: "restored",
|
|
22840
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
22841
|
+
* whether persisting is worth a SQLite commit. */
|
|
22842
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
22419
22843
|
};
|
|
22420
22844
|
//#endregion
|
|
22421
22845
|
//#region src/capabilities/image.cap.ts
|
|
@@ -22455,7 +22879,14 @@ var imageCapability = {
|
|
|
22455
22879
|
* Runtime-state slice — mirrored by the kernel. The UI reads `url`
|
|
22456
22880
|
* directly and renders the still image.
|
|
22457
22881
|
*/
|
|
22458
|
-
runtimeState: ImageStatusSchema
|
|
22882
|
+
runtimeState: ImageStatusSchema,
|
|
22883
|
+
/**
|
|
22884
|
+
* Runtime-state durability: **session** — a snapshot URL is a session-scoped handle; a restored one points at nothing.
|
|
22885
|
+
*
|
|
22886
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
22887
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
22888
|
+
*/
|
|
22889
|
+
durability: "session"
|
|
22459
22890
|
};
|
|
22460
22891
|
//#endregion
|
|
22461
22892
|
//#region src/capabilities/image-settings.cap.ts
|
|
@@ -22606,7 +23037,17 @@ var imageSettingsCapability = {
|
|
|
22606
23037
|
schema: ImageSettingsStatusSchema,
|
|
22607
23038
|
kind: "poll"
|
|
22608
23039
|
},
|
|
22609
|
-
runtimeState: ImageSettingsStatusSchema
|
|
23040
|
+
runtimeState: ImageSettingsStatusSchema,
|
|
23041
|
+
/**
|
|
23042
|
+
* Runtime-state durability: **restored** — operator-set camera imaging; mutation-driven.
|
|
23043
|
+
*
|
|
23044
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
23045
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
23046
|
+
*/
|
|
23047
|
+
durability: "restored",
|
|
23048
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
23049
|
+
* whether persisting is worth a SQLite commit. */
|
|
23050
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
22610
23051
|
};
|
|
22611
23052
|
//#endregion
|
|
22612
23053
|
//#region src/capabilities/integrations.cap.ts
|
|
@@ -23021,7 +23462,14 @@ var lawnMowerControlCapability = {
|
|
|
23021
23462
|
* Runtime-state slice — mirrored by the kernel. UI controls watch the
|
|
23022
23463
|
* slice for live activity + battery changes.
|
|
23023
23464
|
*/
|
|
23024
|
-
runtimeState: LawnMowerControlStatusSchema
|
|
23465
|
+
runtimeState: LawnMowerControlStatusSchema,
|
|
23466
|
+
/**
|
|
23467
|
+
* Runtime-state durability: **session** — as `vacuum-control`.
|
|
23468
|
+
*
|
|
23469
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
23470
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
23471
|
+
*/
|
|
23472
|
+
durability: "session"
|
|
23025
23473
|
};
|
|
23026
23474
|
//#endregion
|
|
23027
23475
|
//#region src/capabilities/local-network.cap.ts
|
|
@@ -23328,7 +23776,17 @@ var lockControlCapability = {
|
|
|
23328
23776
|
* read `state` and disable themselves during `locking`/`unlocking`
|
|
23329
23777
|
* transitions.
|
|
23330
23778
|
*/
|
|
23331
|
-
runtimeState: LockControlStatusSchema
|
|
23779
|
+
runtimeState: LockControlStatusSchema,
|
|
23780
|
+
/**
|
|
23781
|
+
* Runtime-state durability: **restored** — a lock left locked must still read locked.
|
|
23782
|
+
*
|
|
23783
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
23784
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
23785
|
+
*/
|
|
23786
|
+
durability: "restored",
|
|
23787
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
23788
|
+
* whether persisting is worth a SQLite commit. */
|
|
23789
|
+
volatileStateFields: ["lastChangedAt"]
|
|
23332
23790
|
};
|
|
23333
23791
|
//#endregion
|
|
23334
23792
|
//#region src/capabilities/media-player.cap.ts
|
|
@@ -23492,7 +23950,14 @@ var mediaPlayerCapability = {
|
|
|
23492
23950
|
* full slice for live now-playing, volume, and progress updates
|
|
23493
23951
|
* without polling.
|
|
23494
23952
|
*/
|
|
23495
|
-
runtimeState: MediaPlayerStatusSchema
|
|
23953
|
+
runtimeState: MediaPlayerStatusSchema,
|
|
23954
|
+
/**
|
|
23955
|
+
* Runtime-state durability: **session** — a restored transport position describes a playback that stopped when the hub did.
|
|
23956
|
+
*
|
|
23957
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
23958
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
23959
|
+
*/
|
|
23960
|
+
durability: "session"
|
|
23496
23961
|
};
|
|
23497
23962
|
//#endregion
|
|
23498
23963
|
//#region src/capabilities/mesh-network.cap.ts
|
|
@@ -23821,7 +24286,14 @@ onMotionChanged: { data: MotionOnMotionChangedDataSchema } },
|
|
|
23821
24286
|
* `device.state.motion.value`. Reads never invoke the provider, so
|
|
23822
24287
|
* UIs and other addons can poll the cached state safely.
|
|
23823
24288
|
*/
|
|
23824
|
-
runtimeState: MotionStatusSchema
|
|
24289
|
+
runtimeState: MotionStatusSchema,
|
|
24290
|
+
/**
|
|
24291
|
+
* Runtime-state durability: **session** — self-clearing by construction (`autoClearAfterMs`); a restored `detected: true` is a frozen event, and the next frame re-publishes the real one.
|
|
24292
|
+
*
|
|
24293
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
24294
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
24295
|
+
*/
|
|
24296
|
+
durability: "session"
|
|
23825
24297
|
};
|
|
23826
24298
|
//#endregion
|
|
23827
24299
|
//#region src/capabilities/motion-trigger.cap.ts
|
|
@@ -23888,7 +24360,14 @@ var motionTriggerCapability = {
|
|
|
23888
24360
|
schema: MotionTriggerStatusSchema,
|
|
23889
24361
|
kind: "command-driven"
|
|
23890
24362
|
},
|
|
23891
|
-
runtimeState: MotionTriggerRuntimeStateSchema
|
|
24363
|
+
runtimeState: MotionTriggerRuntimeStateSchema,
|
|
24364
|
+
/**
|
|
24365
|
+
* Runtime-state durability: **session** — the authority for motion-trigger enablement is the provider's own config; the slice is a mirror of it, re-published on connect.
|
|
24366
|
+
*
|
|
24367
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
24368
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
24369
|
+
*/
|
|
24370
|
+
durability: "session"
|
|
23892
24371
|
};
|
|
23893
24372
|
//#endregion
|
|
23894
24373
|
//#region src/capabilities/motion-zones.cap.ts
|
|
@@ -23957,7 +24436,17 @@ var motionZonesCapability = {
|
|
|
23957
24436
|
schema: MotionZoneStatusSchema,
|
|
23958
24437
|
kind: "poll"
|
|
23959
24438
|
},
|
|
23960
|
-
runtimeState: MotionZoneStatusSchema
|
|
24439
|
+
runtimeState: MotionZoneStatusSchema,
|
|
24440
|
+
/**
|
|
24441
|
+
* Runtime-state durability: **restored** — the 14 KB polygon list is the single largest slice on the fleet and has not changed since the operator drew it. Highest value per byte in the table.
|
|
24442
|
+
*
|
|
24443
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
24444
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
24445
|
+
*/
|
|
24446
|
+
durability: "restored",
|
|
24447
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
24448
|
+
* whether persisting is worth a SQLite commit. */
|
|
24449
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
23961
24450
|
};
|
|
23962
24451
|
//#endregion
|
|
23963
24452
|
//#region src/capabilities/native-object-detection.cap.ts
|
|
@@ -24033,7 +24522,17 @@ var nativeObjectDetectionCapability = {
|
|
|
24033
24522
|
schema: NativeObjectDetectionStatusSchema,
|
|
24034
24523
|
kind: "push"
|
|
24035
24524
|
},
|
|
24036
|
-
runtimeState: NativeObjectDetectionRuntimeStateSchema
|
|
24525
|
+
runtimeState: NativeObjectDetectionRuntimeStateSchema,
|
|
24526
|
+
/**
|
|
24527
|
+
* Runtime-state durability: **restored** — `enabled` is an operator toggle on a camera whose refresh is a no-op and whose staleMs is Infinity. There is no hardware value to re-read — losing it loses the setting.
|
|
24528
|
+
*
|
|
24529
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
24530
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
24531
|
+
*/
|
|
24532
|
+
durability: "restored",
|
|
24533
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
24534
|
+
* whether persisting is worth a SQLite commit. */
|
|
24535
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
24037
24536
|
};
|
|
24038
24537
|
//#endregion
|
|
24039
24538
|
//#region src/capabilities/network-quality.cap.ts
|
|
@@ -24426,7 +24925,14 @@ onSent: { data: z.object({
|
|
|
24426
24925
|
* form reads `supports` to gate optional fields; history pane reads
|
|
24427
24926
|
* `lastSentAt` / `lastError` / `queueDepth`.
|
|
24428
24927
|
*/
|
|
24429
|
-
runtimeState: NotifierStatusSchema
|
|
24928
|
+
runtimeState: NotifierStatusSchema,
|
|
24929
|
+
/**
|
|
24930
|
+
* Runtime-state durability: **session** — live queue depth and last-send state; a restored queue depth describes a queue that no longer exists.
|
|
24931
|
+
*
|
|
24932
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
24933
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
24934
|
+
*/
|
|
24935
|
+
durability: "session"
|
|
24430
24936
|
};
|
|
24431
24937
|
//#endregion
|
|
24432
24938
|
//#region src/capabilities/numeric-sensor.cap.ts
|
|
@@ -24471,7 +24977,17 @@ var numericSensorCapability = {
|
|
|
24471
24977
|
schema: NumericSensorStatusSchema,
|
|
24472
24978
|
kind: "push"
|
|
24473
24979
|
},
|
|
24474
|
-
runtimeState: NumericSensorStatusSchema
|
|
24980
|
+
runtimeState: NumericSensorStatusSchema,
|
|
24981
|
+
/**
|
|
24982
|
+
* Runtime-state durability: **restored** — polled value, low churn once the clock is excluded (251 of 669 writes were the clock alone); restoring it removes the cold window before the first poll.
|
|
24983
|
+
*
|
|
24984
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
24985
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
24986
|
+
*/
|
|
24987
|
+
durability: "restored",
|
|
24988
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
24989
|
+
* whether persisting is worth a SQLite commit. */
|
|
24990
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
24475
24991
|
};
|
|
24476
24992
|
//#endregion
|
|
24477
24993
|
//#region src/capabilities/osd.cap.ts
|
|
@@ -24988,7 +25504,14 @@ var petFeederCapability = {
|
|
|
24988
25504
|
* the full slice via `device.state.petFeeder.value` and refresh on
|
|
24989
25505
|
* every poll without re-querying the provider.
|
|
24990
25506
|
*/
|
|
24991
|
-
runtimeState: PetFeederStatusSchema
|
|
25507
|
+
runtimeState: PetFeederStatusSchema,
|
|
25508
|
+
/**
|
|
25509
|
+
* Runtime-state durability: **session** — live appliance state re-published on connect.
|
|
25510
|
+
*
|
|
25511
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
25512
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
25513
|
+
*/
|
|
25514
|
+
durability: "session"
|
|
24992
25515
|
};
|
|
24993
25516
|
//#endregion
|
|
24994
25517
|
//#region src/capabilities/plate-gallery.cap.ts
|
|
@@ -25351,7 +25874,17 @@ var powerMeterCapability = {
|
|
|
25351
25874
|
schema: PowerMeterStatusSchema,
|
|
25352
25875
|
kind: "push"
|
|
25353
25876
|
},
|
|
25354
|
-
runtimeState: PowerMeterStatusSchema
|
|
25877
|
+
runtimeState: PowerMeterStatusSchema,
|
|
25878
|
+
/**
|
|
25879
|
+
* Runtime-state durability: **restored** — as `numeric-sensor`; `kwhTotal` is an accumulator whose restored value is the baseline.
|
|
25880
|
+
*
|
|
25881
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
25882
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
25883
|
+
*/
|
|
25884
|
+
durability: "restored",
|
|
25885
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
25886
|
+
* whether persisting is worth a SQLite commit. */
|
|
25887
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
25355
25888
|
};
|
|
25356
25889
|
//#endregion
|
|
25357
25890
|
//#region src/capabilities/presence.cap.ts
|
|
@@ -25410,7 +25943,17 @@ var presenceCapability = {
|
|
|
25410
25943
|
* the map pin is rendered (use `DeviceFeature.PresenceGps` for the
|
|
25411
25944
|
* pre-fetch fast-path check).
|
|
25412
25945
|
*/
|
|
25413
|
-
runtimeState: PresenceStatusSchema
|
|
25946
|
+
runtimeState: PresenceStatusSchema,
|
|
25947
|
+
/**
|
|
25948
|
+
* Runtime-state durability: **restored** — occupancy-relevant: the restored state is what an occupancy rule compares the first post-restart observation against.
|
|
25949
|
+
*
|
|
25950
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
25951
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
25952
|
+
*/
|
|
25953
|
+
durability: "restored",
|
|
25954
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
25955
|
+
* whether persisting is worth a SQLite commit. */
|
|
25956
|
+
volatileStateFields: ["lastChangedAt"]
|
|
25414
25957
|
};
|
|
25415
25958
|
//#endregion
|
|
25416
25959
|
//#region src/capabilities/pressure-sensor.cap.ts
|
|
@@ -25448,7 +25991,17 @@ var pressureSensorCapability = {
|
|
|
25448
25991
|
schema: PressureSensorStatusSchema,
|
|
25449
25992
|
kind: "push"
|
|
25450
25993
|
},
|
|
25451
|
-
runtimeState: PressureSensorStatusSchema
|
|
25994
|
+
runtimeState: PressureSensorStatusSchema,
|
|
25995
|
+
/**
|
|
25996
|
+
* Runtime-state durability: **restored** — as `numeric-sensor`.
|
|
25997
|
+
*
|
|
25998
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
25999
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
26000
|
+
*/
|
|
26001
|
+
durability: "restored",
|
|
26002
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
26003
|
+
* whether persisting is worth a SQLite commit. */
|
|
26004
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
25452
26005
|
};
|
|
25453
26006
|
//#endregion
|
|
25454
26007
|
//#region src/capabilities/privacy-mask.cap.ts
|
|
@@ -25580,7 +26133,17 @@ var privacyMaskCapability = {
|
|
|
25580
26133
|
schema: PrivacyMaskStatusSchema,
|
|
25581
26134
|
kind: "poll"
|
|
25582
26135
|
},
|
|
25583
|
-
runtimeState: PrivacyMaskStatusSchema
|
|
26136
|
+
runtimeState: PrivacyMaskStatusSchema,
|
|
26137
|
+
/**
|
|
26138
|
+
* Runtime-state durability: **restored** — operator-drawn regions, zero real churn — 22 writes in 25 minutes, every one of them the clock.
|
|
26139
|
+
*
|
|
26140
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
26141
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
26142
|
+
*/
|
|
26143
|
+
durability: "restored",
|
|
26144
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
26145
|
+
* whether persisting is worth a SQLite commit. */
|
|
26146
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
25584
26147
|
};
|
|
25585
26148
|
/**
|
|
25586
26149
|
* Collapse a camera's PER-PROFILE audio flags into the one answer
|
|
@@ -25847,7 +26410,14 @@ var ptzAutotrackCapability = {
|
|
|
25847
26410
|
* fetch / cache / fallback logic out of the four cap methods —
|
|
25848
26411
|
* they become trampolines over `runtimeState`.
|
|
25849
26412
|
*/
|
|
25850
|
-
runtimeState: PtzAutotrackRuntimeStateSchema
|
|
26413
|
+
runtimeState: PtzAutotrackRuntimeStateSchema,
|
|
26414
|
+
/**
|
|
26415
|
+
* Runtime-state durability: **session** — mirrors the camera's own autotrack config, re-read on connect.
|
|
26416
|
+
*
|
|
26417
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
26418
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
26419
|
+
*/
|
|
26420
|
+
durability: "session"
|
|
25851
26421
|
};
|
|
25852
26422
|
//#endregion
|
|
25853
26423
|
//#region src/capabilities/reboot.cap.ts
|
|
@@ -26692,7 +27262,14 @@ var sceneMonitorCapability = {
|
|
|
26692
27262
|
schema: SceneMonitorStatusSchema,
|
|
26693
27263
|
kind: "push"
|
|
26694
27264
|
},
|
|
26695
|
-
runtimeState: SceneMonitorStatusSchema
|
|
27265
|
+
runtimeState: SceneMonitorStatusSchema,
|
|
27266
|
+
/**
|
|
27267
|
+
* Runtime-state durability: **session** — re-derived from the current scene on the next evaluation.
|
|
27268
|
+
*
|
|
27269
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
27270
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
27271
|
+
*/
|
|
27272
|
+
durability: "session"
|
|
26696
27273
|
};
|
|
26697
27274
|
//#endregion
|
|
26698
27275
|
//#region src/capabilities/schemas/zone-rule.ts
|
|
@@ -26844,7 +27421,14 @@ var scriptRunnerCapability = {
|
|
|
26844
27421
|
* `isRunning` to render a spinner during execution and surfaces
|
|
26845
27422
|
* `lastError` / `lastRunSuccess` in the recent-runs panel.
|
|
26846
27423
|
*/
|
|
26847
|
-
runtimeState: ScriptRunnerStatusSchema
|
|
27424
|
+
runtimeState: ScriptRunnerStatusSchema,
|
|
27425
|
+
/**
|
|
27426
|
+
* Runtime-state durability: **session** — a restored `isRunning: true` describes a process that died with the previous hub.
|
|
27427
|
+
*
|
|
27428
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
27429
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
27430
|
+
*/
|
|
27431
|
+
durability: "session"
|
|
26848
27432
|
};
|
|
26849
27433
|
//#endregion
|
|
26850
27434
|
//#region src/capabilities/smoke.cap.ts
|
|
@@ -26873,7 +27457,17 @@ var smokeCapability = {
|
|
|
26873
27457
|
schema: SmokeStatusSchema,
|
|
26874
27458
|
kind: "push"
|
|
26875
27459
|
},
|
|
26876
|
-
runtimeState: SmokeStatusSchema
|
|
27460
|
+
runtimeState: SmokeStatusSchema,
|
|
27461
|
+
/**
|
|
27462
|
+
* Runtime-state durability: **restored** — a safety sensor must not read "clear" merely because the hub restarted.
|
|
27463
|
+
*
|
|
27464
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
27465
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
27466
|
+
*/
|
|
27467
|
+
durability: "restored",
|
|
27468
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
27469
|
+
* whether persisting is worth a SQLite commit. */
|
|
27470
|
+
volatileStateFields: ["lastChangedAt"]
|
|
26877
27471
|
};
|
|
26878
27472
|
//#endregion
|
|
26879
27473
|
//#region src/capabilities/stream-catalog.cap.ts
|
|
@@ -27063,7 +27657,17 @@ var streamParamsCapability = {
|
|
|
27063
27657
|
schema: StreamParamsStatusSchema,
|
|
27064
27658
|
kind: "poll"
|
|
27065
27659
|
},
|
|
27066
|
-
runtimeState: StreamParamsStatusSchema
|
|
27660
|
+
runtimeState: StreamParamsStatusSchema,
|
|
27661
|
+
/**
|
|
27662
|
+
* Runtime-state durability: **restored** — operator-set encoder profile; mutation-driven.
|
|
27663
|
+
*
|
|
27664
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
27665
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
27666
|
+
*/
|
|
27667
|
+
durability: "restored",
|
|
27668
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
27669
|
+
* whether persisting is worth a SQLite commit. */
|
|
27670
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
27067
27671
|
};
|
|
27068
27672
|
//#endregion
|
|
27069
27673
|
//#region src/capabilities/stream-params-config-schema.ts
|
|
@@ -27370,6 +27974,16 @@ var switchCapability = {
|
|
|
27370
27974
|
* not need to re-query the provider after a setState mutation.
|
|
27371
27975
|
*/
|
|
27372
27976
|
runtimeState: SwitchStatusSchema,
|
|
27977
|
+
/**
|
|
27978
|
+
* Runtime-state durability: **restored** — device state an operator reads as authoritative; 55 devices, transition-driven.
|
|
27979
|
+
*
|
|
27980
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
27981
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
27982
|
+
*/
|
|
27983
|
+
durability: "restored",
|
|
27984
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
27985
|
+
* whether persisting is worth a SQLite commit. */
|
|
27986
|
+
volatileStateFields: ["lastChangedAt"],
|
|
27373
27987
|
settings: { bindings: [{
|
|
27374
27988
|
kind: "scalar",
|
|
27375
27989
|
statusPath: "on",
|
|
@@ -27468,7 +28082,17 @@ var tamperCapability = {
|
|
|
27468
28082
|
schema: TamperStatusSchema,
|
|
27469
28083
|
kind: "push"
|
|
27470
28084
|
},
|
|
27471
|
-
runtimeState: TamperStatusSchema
|
|
28085
|
+
runtimeState: TamperStatusSchema,
|
|
28086
|
+
/**
|
|
28087
|
+
* Runtime-state durability: **restored** — as `smoke`.
|
|
28088
|
+
*
|
|
28089
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
28090
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
28091
|
+
*/
|
|
28092
|
+
durability: "restored",
|
|
28093
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
28094
|
+
* whether persisting is worth a SQLite commit. */
|
|
28095
|
+
volatileStateFields: ["lastChangedAt"]
|
|
27472
28096
|
};
|
|
27473
28097
|
//#endregion
|
|
27474
28098
|
//#region src/capabilities/temperature-sensor.cap.ts
|
|
@@ -27515,7 +28139,17 @@ var temperatureSensorCapability = {
|
|
|
27515
28139
|
schema: TemperatureSensorStatusSchema,
|
|
27516
28140
|
kind: "push"
|
|
27517
28141
|
},
|
|
27518
|
-
runtimeState: TemperatureSensorStatusSchema
|
|
28142
|
+
runtimeState: TemperatureSensorStatusSchema,
|
|
28143
|
+
/**
|
|
28144
|
+
* Runtime-state durability: **restored** — as `numeric-sensor` (69 of 125 writes were the clock alone).
|
|
28145
|
+
*
|
|
28146
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
28147
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
28148
|
+
*/
|
|
28149
|
+
durability: "restored",
|
|
28150
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
28151
|
+
* whether persisting is worth a SQLite commit. */
|
|
28152
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
27519
28153
|
};
|
|
27520
28154
|
//#endregion
|
|
27521
28155
|
//#region src/capabilities/toast.cap.ts
|
|
@@ -27595,7 +28229,14 @@ var updateCapability = {
|
|
|
27595
28229
|
schema: UpdateStatusSchema,
|
|
27596
28230
|
kind: "poll"
|
|
27597
28231
|
},
|
|
27598
|
-
runtimeState: UpdateStatusSchema
|
|
28232
|
+
runtimeState: UpdateStatusSchema,
|
|
28233
|
+
/**
|
|
28234
|
+
* Runtime-state durability: **session** — a restored `inProgress: true` describes an update that is no longer running; versions are re-probed at boot.
|
|
28235
|
+
*
|
|
28236
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
28237
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
28238
|
+
*/
|
|
28239
|
+
durability: "session"
|
|
27599
28240
|
};
|
|
27600
28241
|
//#endregion
|
|
27601
28242
|
//#region src/capabilities/user-management.cap.ts
|
|
@@ -27975,7 +28616,14 @@ var vacuumControlCapability = {
|
|
|
27975
28616
|
* Runtime-state slice — mirrored by the kernel. UI controls watch the
|
|
27976
28617
|
* slice for live state + battery + fan-speed changes.
|
|
27977
28618
|
*/
|
|
27978
|
-
runtimeState: VacuumControlStatusSchema
|
|
28619
|
+
runtimeState: VacuumControlStatusSchema,
|
|
28620
|
+
/**
|
|
28621
|
+
* Runtime-state durability: **session** — as `media-player` — a restored `state: cleaning` is a robot that is not cleaning.
|
|
28622
|
+
*
|
|
28623
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
28624
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
28625
|
+
*/
|
|
28626
|
+
durability: "session"
|
|
27979
28627
|
};
|
|
27980
28628
|
//#endregion
|
|
27981
28629
|
//#region src/capabilities/valve.cap.ts
|
|
@@ -28047,7 +28695,14 @@ var valveCapability = {
|
|
|
28047
28695
|
* Runtime-state slice — mirrored by the kernel. UI controls watch the
|
|
28048
28696
|
* slice for live position changes during a move.
|
|
28049
28697
|
*/
|
|
28050
|
-
runtimeState: ValveStatusSchema
|
|
28698
|
+
runtimeState: ValveStatusSchema,
|
|
28699
|
+
/**
|
|
28700
|
+
* Runtime-state durability: **session** — as `brightness`.
|
|
28701
|
+
*
|
|
28702
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
28703
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
28704
|
+
*/
|
|
28705
|
+
durability: "session"
|
|
28051
28706
|
};
|
|
28052
28707
|
//#endregion
|
|
28053
28708
|
//#region src/capabilities/vibration.cap.ts
|
|
@@ -28071,7 +28726,17 @@ var vibrationCapability = {
|
|
|
28071
28726
|
schema: VibrationStatusSchema,
|
|
28072
28727
|
kind: "push"
|
|
28073
28728
|
},
|
|
28074
|
-
runtimeState: VibrationStatusSchema
|
|
28729
|
+
runtimeState: VibrationStatusSchema,
|
|
28730
|
+
/**
|
|
28731
|
+
* Runtime-state durability: **restored** — as `smoke`.
|
|
28732
|
+
*
|
|
28733
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
28734
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
28735
|
+
*/
|
|
28736
|
+
durability: "restored",
|
|
28737
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
28738
|
+
* whether persisting is worth a SQLite commit. */
|
|
28739
|
+
volatileStateFields: ["lastChangedAt"]
|
|
28075
28740
|
};
|
|
28076
28741
|
//#endregion
|
|
28077
28742
|
//#region src/capabilities/water-heater.cap.ts
|
|
@@ -28147,7 +28812,14 @@ var waterHeaterCapability = {
|
|
|
28147
28812
|
* Runtime-state slice — mirrored by the kernel. UI controls watch the
|
|
28148
28813
|
* slice for live temperature / mode / away changes.
|
|
28149
28814
|
*/
|
|
28150
|
-
runtimeState: WaterHeaterStatusSchema
|
|
28815
|
+
runtimeState: WaterHeaterStatusSchema,
|
|
28816
|
+
/**
|
|
28817
|
+
* Runtime-state durability: **session** — as `climate-control`.
|
|
28818
|
+
*
|
|
28819
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
28820
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
28821
|
+
*/
|
|
28822
|
+
durability: "session"
|
|
28151
28823
|
};
|
|
28152
28824
|
//#endregion
|
|
28153
28825
|
//#region src/capabilities/weather.cap.ts
|
|
@@ -28208,7 +28880,14 @@ var weatherCapability = {
|
|
|
28208
28880
|
* Runtime-state slice — mirrored by the kernel. The UI reads the
|
|
28209
28881
|
* current conditions directly from the slice on each weather push.
|
|
28210
28882
|
*/
|
|
28211
|
-
runtimeState: WeatherStatusSchema
|
|
28883
|
+
runtimeState: WeatherStatusSchema,
|
|
28884
|
+
/**
|
|
28885
|
+
* Runtime-state durability: **session** — a forecast is stale the moment the hub is down; the provider re-fetches on connect.
|
|
28886
|
+
*
|
|
28887
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
28888
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
28889
|
+
*/
|
|
28890
|
+
durability: "session"
|
|
28212
28891
|
};
|
|
28213
28892
|
//#endregion
|
|
28214
28893
|
//#region src/capabilities/zone-analytics.cap.ts
|
|
@@ -28372,7 +29051,14 @@ var zoneAnalyticsCapability = {
|
|
|
28372
29051
|
* automatically; the explicit `getCurrentSnapshot` cap method is
|
|
28373
29052
|
* still useful for one-off polls without a subscription.
|
|
28374
29053
|
*/
|
|
28375
|
-
runtimeState: CameraOccupancySnapshotSchema
|
|
29054
|
+
runtimeState: CameraOccupancySnapshotSchema,
|
|
29055
|
+
/**
|
|
29056
|
+
* Runtime-state durability: **session** — per-frame analytics; with `audio-metrics` it is ~90 % of the offered write rate. Re-derived on the next frame.
|
|
29057
|
+
*
|
|
29058
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
29059
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
29060
|
+
*/
|
|
29061
|
+
durability: "session"
|
|
28376
29062
|
};
|
|
28377
29063
|
//#endregion
|
|
28378
29064
|
//#region src/capabilities/zone-rules.cap.ts
|
|
@@ -28452,7 +29138,14 @@ var zoneRulesCapability = {
|
|
|
28452
29138
|
motion: z.array(ZoneRuleSchema).readonly(),
|
|
28453
29139
|
detection: z.array(ZoneRuleSchema).readonly(),
|
|
28454
29140
|
package: z.array(ZoneRuleSchema).readonly()
|
|
28455
|
-
})
|
|
29141
|
+
}),
|
|
29142
|
+
/**
|
|
29143
|
+
* Runtime-state durability: **restored** — operator intent, mutation-only, same argument as `zones`.
|
|
29144
|
+
*
|
|
29145
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
29146
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
29147
|
+
*/
|
|
29148
|
+
durability: "restored"
|
|
28456
29149
|
};
|
|
28457
29150
|
//#endregion
|
|
28458
29151
|
//#region src/capabilities/index.ts
|
|
@@ -31046,11 +31739,40 @@ var SystemMirror = class {
|
|
|
31046
31739
|
cb(deviceId, lastInfo);
|
|
31047
31740
|
} catch {}
|
|
31048
31741
|
}
|
|
31742
|
+
/**
|
|
31743
|
+
* ONE device's bindings, not the fleet's.
|
|
31744
|
+
*
|
|
31745
|
+
* This runs on every `capability.binding-changed` AND on every
|
|
31746
|
+
* `device.registered`, per mirror. It used to answer that with
|
|
31747
|
+
* `getAllBindings` and `.find()` the one row — measured on the live
|
|
31748
|
+
* hub (524 devices): 903 ms and 373 KB per call, against 21 ms and
|
|
31749
|
+
* 613 bytes for `getBindings({deviceId})`.
|
|
31750
|
+
*
|
|
31751
|
+
* Adopting 20 Home Assistant devices registers 166 devices (parents +
|
|
31752
|
+
* accessories), so an operator with the admin UI open bought 166
|
|
31753
|
+
* full-fleet binding sweeps: ~150 s of hub main-thread time inside a
|
|
31754
|
+
* 219 s adoption, with every other RPC — including the adoption's own —
|
|
31755
|
+
* queued behind them. Same defect, same fix, as `refreshDeviceMetadata`
|
|
31756
|
+
* below (`listAll` → `getDevice`).
|
|
31757
|
+
*
|
|
31758
|
+
* Removal is the destructive direction (every proxy handle a consumer
|
|
31759
|
+
* holds goes inert), and an EMPTY binding list is not a claim that the
|
|
31760
|
+
* device is gone — a device can legitimately bind nothing. So it needs
|
|
31761
|
+
* a second read to agree (D49); `device.unregistered` remains the
|
|
31762
|
+
* primary removal path.
|
|
31763
|
+
*/
|
|
31049
31764
|
async refreshBinding(deviceId) {
|
|
31050
31765
|
try {
|
|
31051
|
-
const fresh =
|
|
31052
|
-
if (fresh
|
|
31053
|
-
|
|
31766
|
+
const fresh = await this.api.deviceManager.getBindings.query({ deviceId });
|
|
31767
|
+
if (fresh.entries.length > 0) {
|
|
31768
|
+
this.bindings.set(deviceId, fresh);
|
|
31769
|
+
return;
|
|
31770
|
+
}
|
|
31771
|
+
if (await this.api.deviceManager.getDevice.query({ deviceId }) === null) {
|
|
31772
|
+
this.applyDeviceRemoval(deviceId);
|
|
31773
|
+
return;
|
|
31774
|
+
}
|
|
31775
|
+
this.bindings.set(deviceId, fresh);
|
|
31054
31776
|
} catch {}
|
|
31055
31777
|
}
|
|
31056
31778
|
async refreshDeviceMetadata(deviceId, kind) {
|
|
@@ -38070,6 +38792,320 @@ function getCapsByProviderKind(kind) {
|
|
|
38070
38792
|
return out;
|
|
38071
38793
|
}
|
|
38072
38794
|
//#endregion
|
|
38795
|
+
//#region src/generated/runtime-state-durability.ts
|
|
38796
|
+
/**
|
|
38797
|
+
* Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
|
|
38798
|
+
* `runtimeState`. 62 caps: 33 `restored`, 29 `session`.
|
|
38799
|
+
*
|
|
38800
|
+
* A cap absent from this map has no runtime-state slice at all. A cap PRESENT
|
|
38801
|
+
* with `durability: 'session'` has one and has decided not to keep it.
|
|
38802
|
+
*/
|
|
38803
|
+
var RUNTIME_STATE_POLICY = {
|
|
38804
|
+
"air-quality-sensor": {
|
|
38805
|
+
durability: "restored",
|
|
38806
|
+
volatileFields: ["lastFetchedAt"]
|
|
38807
|
+
},
|
|
38808
|
+
"alarm-panel": {
|
|
38809
|
+
durability: "restored",
|
|
38810
|
+
volatileFields: ["lastChangedAt"]
|
|
38811
|
+
},
|
|
38812
|
+
"ambient-light-sensor": {
|
|
38813
|
+
durability: "restored",
|
|
38814
|
+
volatileFields: ["lastFetchedAt"]
|
|
38815
|
+
},
|
|
38816
|
+
"audio-metrics": {
|
|
38817
|
+
durability: "session",
|
|
38818
|
+
volatileFields: []
|
|
38819
|
+
},
|
|
38820
|
+
"automation-control": {
|
|
38821
|
+
durability: "session",
|
|
38822
|
+
volatileFields: []
|
|
38823
|
+
},
|
|
38824
|
+
"battery": {
|
|
38825
|
+
durability: "restored",
|
|
38826
|
+
volatileFields: ["lastUpdated"]
|
|
38827
|
+
},
|
|
38828
|
+
"binary": {
|
|
38829
|
+
durability: "restored",
|
|
38830
|
+
volatileFields: ["lastChangedAt"]
|
|
38831
|
+
},
|
|
38832
|
+
"brightness": {
|
|
38833
|
+
durability: "session",
|
|
38834
|
+
volatileFields: []
|
|
38835
|
+
},
|
|
38836
|
+
"camera-streams": {
|
|
38837
|
+
durability: "session",
|
|
38838
|
+
volatileFields: []
|
|
38839
|
+
},
|
|
38840
|
+
"carbon-monoxide": {
|
|
38841
|
+
durability: "restored",
|
|
38842
|
+
volatileFields: ["lastChangedAt"]
|
|
38843
|
+
},
|
|
38844
|
+
"climate-control": {
|
|
38845
|
+
durability: "session",
|
|
38846
|
+
volatileFields: []
|
|
38847
|
+
},
|
|
38848
|
+
"color": {
|
|
38849
|
+
durability: "session",
|
|
38850
|
+
volatileFields: []
|
|
38851
|
+
},
|
|
38852
|
+
"connectivity": {
|
|
38853
|
+
durability: "restored",
|
|
38854
|
+
volatileFields: ["lastChangedAt"]
|
|
38855
|
+
},
|
|
38856
|
+
"consumables": {
|
|
38857
|
+
durability: "session",
|
|
38858
|
+
volatileFields: []
|
|
38859
|
+
},
|
|
38860
|
+
"contact": {
|
|
38861
|
+
durability: "restored",
|
|
38862
|
+
volatileFields: ["lastChangedAt"]
|
|
38863
|
+
},
|
|
38864
|
+
"control": {
|
|
38865
|
+
durability: "session",
|
|
38866
|
+
volatileFields: []
|
|
38867
|
+
},
|
|
38868
|
+
"cover": {
|
|
38869
|
+
durability: "restored",
|
|
38870
|
+
volatileFields: ["lastChangedAt"]
|
|
38871
|
+
},
|
|
38872
|
+
"day-night": {
|
|
38873
|
+
durability: "restored",
|
|
38874
|
+
volatileFields: ["lastFetchedAt"]
|
|
38875
|
+
},
|
|
38876
|
+
"device-discovery": {
|
|
38877
|
+
durability: "session",
|
|
38878
|
+
volatileFields: []
|
|
38879
|
+
},
|
|
38880
|
+
"device-status": {
|
|
38881
|
+
durability: "restored",
|
|
38882
|
+
volatileFields: ["lastChangedAt"]
|
|
38883
|
+
},
|
|
38884
|
+
"doorbell": {
|
|
38885
|
+
durability: "restored",
|
|
38886
|
+
volatileFields: []
|
|
38887
|
+
},
|
|
38888
|
+
"enum-sensor": {
|
|
38889
|
+
durability: "restored",
|
|
38890
|
+
volatileFields: ["lastFetchedAt"]
|
|
38891
|
+
},
|
|
38892
|
+
"event-emitter": {
|
|
38893
|
+
durability: "session",
|
|
38894
|
+
volatileFields: []
|
|
38895
|
+
},
|
|
38896
|
+
"fan-control": {
|
|
38897
|
+
durability: "session",
|
|
38898
|
+
volatileFields: []
|
|
38899
|
+
},
|
|
38900
|
+
"feature-probe": {
|
|
38901
|
+
durability: "session",
|
|
38902
|
+
volatileFields: []
|
|
38903
|
+
},
|
|
38904
|
+
"flood": {
|
|
38905
|
+
durability: "restored",
|
|
38906
|
+
volatileFields: ["lastChangedAt"]
|
|
38907
|
+
},
|
|
38908
|
+
"gas": {
|
|
38909
|
+
durability: "restored",
|
|
38910
|
+
volatileFields: ["lastChangedAt"]
|
|
38911
|
+
},
|
|
38912
|
+
"humidifier": {
|
|
38913
|
+
durability: "session",
|
|
38914
|
+
volatileFields: []
|
|
38915
|
+
},
|
|
38916
|
+
"humidity-sensor": {
|
|
38917
|
+
durability: "restored",
|
|
38918
|
+
volatileFields: ["lastFetchedAt"]
|
|
38919
|
+
},
|
|
38920
|
+
"image": {
|
|
38921
|
+
durability: "session",
|
|
38922
|
+
volatileFields: []
|
|
38923
|
+
},
|
|
38924
|
+
"image-settings": {
|
|
38925
|
+
durability: "restored",
|
|
38926
|
+
volatileFields: ["lastFetchedAt"]
|
|
38927
|
+
},
|
|
38928
|
+
"lawn-mower-control": {
|
|
38929
|
+
durability: "session",
|
|
38930
|
+
volatileFields: []
|
|
38931
|
+
},
|
|
38932
|
+
"lock-control": {
|
|
38933
|
+
durability: "restored",
|
|
38934
|
+
volatileFields: ["lastChangedAt"]
|
|
38935
|
+
},
|
|
38936
|
+
"media-player": {
|
|
38937
|
+
durability: "session",
|
|
38938
|
+
volatileFields: []
|
|
38939
|
+
},
|
|
38940
|
+
"motion": {
|
|
38941
|
+
durability: "session",
|
|
38942
|
+
volatileFields: []
|
|
38943
|
+
},
|
|
38944
|
+
"motion-trigger": {
|
|
38945
|
+
durability: "session",
|
|
38946
|
+
volatileFields: []
|
|
38947
|
+
},
|
|
38948
|
+
"motion-zones": {
|
|
38949
|
+
durability: "restored",
|
|
38950
|
+
volatileFields: ["lastFetchedAt"]
|
|
38951
|
+
},
|
|
38952
|
+
"native-object-detection": {
|
|
38953
|
+
durability: "restored",
|
|
38954
|
+
volatileFields: ["lastFetchedAt"]
|
|
38955
|
+
},
|
|
38956
|
+
"notifier": {
|
|
38957
|
+
durability: "session",
|
|
38958
|
+
volatileFields: []
|
|
38959
|
+
},
|
|
38960
|
+
"numeric-sensor": {
|
|
38961
|
+
durability: "restored",
|
|
38962
|
+
volatileFields: ["lastFetchedAt"]
|
|
38963
|
+
},
|
|
38964
|
+
"pet-feeder": {
|
|
38965
|
+
durability: "session",
|
|
38966
|
+
volatileFields: []
|
|
38967
|
+
},
|
|
38968
|
+
"power-meter": {
|
|
38969
|
+
durability: "restored",
|
|
38970
|
+
volatileFields: ["lastFetchedAt"]
|
|
38971
|
+
},
|
|
38972
|
+
"presence": {
|
|
38973
|
+
durability: "restored",
|
|
38974
|
+
volatileFields: ["lastChangedAt"]
|
|
38975
|
+
},
|
|
38976
|
+
"pressure-sensor": {
|
|
38977
|
+
durability: "restored",
|
|
38978
|
+
volatileFields: ["lastFetchedAt"]
|
|
38979
|
+
},
|
|
38980
|
+
"privacy-mask": {
|
|
38981
|
+
durability: "restored",
|
|
38982
|
+
volatileFields: ["lastFetchedAt"]
|
|
38983
|
+
},
|
|
38984
|
+
"ptz-autotrack": {
|
|
38985
|
+
durability: "session",
|
|
38986
|
+
volatileFields: []
|
|
38987
|
+
},
|
|
38988
|
+
"scene-monitor": {
|
|
38989
|
+
durability: "session",
|
|
38990
|
+
volatileFields: []
|
|
38991
|
+
},
|
|
38992
|
+
"script-runner": {
|
|
38993
|
+
durability: "session",
|
|
38994
|
+
volatileFields: []
|
|
38995
|
+
},
|
|
38996
|
+
"smoke": {
|
|
38997
|
+
durability: "restored",
|
|
38998
|
+
volatileFields: ["lastChangedAt"]
|
|
38999
|
+
},
|
|
39000
|
+
"stream-params": {
|
|
39001
|
+
durability: "restored",
|
|
39002
|
+
volatileFields: ["lastFetchedAt"]
|
|
39003
|
+
},
|
|
39004
|
+
"switch": {
|
|
39005
|
+
durability: "restored",
|
|
39006
|
+
volatileFields: ["lastChangedAt"]
|
|
39007
|
+
},
|
|
39008
|
+
"tamper": {
|
|
39009
|
+
durability: "restored",
|
|
39010
|
+
volatileFields: ["lastChangedAt"]
|
|
39011
|
+
},
|
|
39012
|
+
"temperature-sensor": {
|
|
39013
|
+
durability: "restored",
|
|
39014
|
+
volatileFields: ["lastFetchedAt"]
|
|
39015
|
+
},
|
|
39016
|
+
"update": {
|
|
39017
|
+
durability: "session",
|
|
39018
|
+
volatileFields: []
|
|
39019
|
+
},
|
|
39020
|
+
"vacuum-control": {
|
|
39021
|
+
durability: "session",
|
|
39022
|
+
volatileFields: []
|
|
39023
|
+
},
|
|
39024
|
+
"valve": {
|
|
39025
|
+
durability: "session",
|
|
39026
|
+
volatileFields: []
|
|
39027
|
+
},
|
|
39028
|
+
"vibration": {
|
|
39029
|
+
durability: "restored",
|
|
39030
|
+
volatileFields: ["lastChangedAt"]
|
|
39031
|
+
},
|
|
39032
|
+
"water-heater": {
|
|
39033
|
+
durability: "session",
|
|
39034
|
+
volatileFields: []
|
|
39035
|
+
},
|
|
39036
|
+
"weather": {
|
|
39037
|
+
durability: "session",
|
|
39038
|
+
volatileFields: []
|
|
39039
|
+
},
|
|
39040
|
+
"zone-analytics": {
|
|
39041
|
+
durability: "session",
|
|
39042
|
+
volatileFields: []
|
|
39043
|
+
},
|
|
39044
|
+
"zone-rules": {
|
|
39045
|
+
durability: "restored",
|
|
39046
|
+
volatileFields: []
|
|
39047
|
+
},
|
|
39048
|
+
"zones": {
|
|
39049
|
+
durability: "restored",
|
|
39050
|
+
volatileFields: []
|
|
39051
|
+
}
|
|
39052
|
+
};
|
|
39053
|
+
/**
|
|
39054
|
+
* The policy for `capName`. An UNKNOWN cap resolves to `'session'` — an
|
|
39055
|
+
* addon-private slice the codegen has never seen is not persisted until its
|
|
39056
|
+
* capability says so, which is the safe direction: the cost of a lost session
|
|
39057
|
+
* value is a cold window, the cost of an unasked-for persist is a commit per
|
|
39058
|
+
* second on the fleet's busiest write path.
|
|
39059
|
+
*/
|
|
39060
|
+
function runtimeStatePolicyFor(capName) {
|
|
39061
|
+
return RUNTIME_STATE_POLICY[capName] ?? SESSION_ONLY_POLICY;
|
|
39062
|
+
}
|
|
39063
|
+
/** Shared fallback instance — see {@link runtimeStatePolicyFor}. */
|
|
39064
|
+
var SESSION_ONLY_POLICY = {
|
|
39065
|
+
durability: "session",
|
|
39066
|
+
volatileFields: []
|
|
39067
|
+
};
|
|
39068
|
+
/** True when this cap's slice is written to disk. */
|
|
39069
|
+
function isRestoredCap(capName) {
|
|
39070
|
+
return runtimeStatePolicyFor(capName).durability === "restored";
|
|
39071
|
+
}
|
|
39072
|
+
/** Cap names whose slice survives a restart, sorted. */
|
|
39073
|
+
var RESTORED_CAP_NAMES = [
|
|
39074
|
+
"air-quality-sensor",
|
|
39075
|
+
"alarm-panel",
|
|
39076
|
+
"ambient-light-sensor",
|
|
39077
|
+
"battery",
|
|
39078
|
+
"binary",
|
|
39079
|
+
"carbon-monoxide",
|
|
39080
|
+
"connectivity",
|
|
39081
|
+
"contact",
|
|
39082
|
+
"cover",
|
|
39083
|
+
"day-night",
|
|
39084
|
+
"device-status",
|
|
39085
|
+
"doorbell",
|
|
39086
|
+
"enum-sensor",
|
|
39087
|
+
"flood",
|
|
39088
|
+
"gas",
|
|
39089
|
+
"humidity-sensor",
|
|
39090
|
+
"image-settings",
|
|
39091
|
+
"lock-control",
|
|
39092
|
+
"motion-zones",
|
|
39093
|
+
"native-object-detection",
|
|
39094
|
+
"numeric-sensor",
|
|
39095
|
+
"power-meter",
|
|
39096
|
+
"presence",
|
|
39097
|
+
"pressure-sensor",
|
|
39098
|
+
"privacy-mask",
|
|
39099
|
+
"smoke",
|
|
39100
|
+
"stream-params",
|
|
39101
|
+
"switch",
|
|
39102
|
+
"tamper",
|
|
39103
|
+
"temperature-sensor",
|
|
39104
|
+
"vibration",
|
|
39105
|
+
"zone-rules",
|
|
39106
|
+
"zones"
|
|
39107
|
+
];
|
|
39108
|
+
//#endregion
|
|
38073
39109
|
//#region src/generated/scope-presets.ts
|
|
38074
39110
|
var SCOPE_PRESETS = [
|
|
38075
39111
|
{
|
|
@@ -38732,11 +39768,197 @@ function createSystemProxy(api) {
|
|
|
38732
39768
|
};
|
|
38733
39769
|
}
|
|
38734
39770
|
//#endregion
|
|
39771
|
+
//#region src/notification/audio-condition.ts
|
|
39772
|
+
/**
|
|
39773
|
+
* audio-condition — the authoring logic behind the sustained-sound condition
|
|
39774
|
+
* (`NcConditions.audio`), pure and UI-framework-free.
|
|
39775
|
+
*
|
|
39776
|
+
* WHY IT LIVES HERE
|
|
39777
|
+
* ─────────────────
|
|
39778
|
+
* Same reason as `condition-taxonomy.ts` next door: two editors author this
|
|
39779
|
+
* condition (the admin UI and the viewer), the vocabulary it offers is already
|
|
39780
|
+
* in this package (`AUDIO_MACRO_LABELS`), and a second copy of "what a cleared
|
|
39781
|
+
* threshold writes" is a mirror free to drift. The viewer keeps its own copy
|
|
39782
|
+
* because it is a separate app with its own toolchain; every surface that CAN
|
|
39783
|
+
* import `@camstack/types` uses this one.
|
|
39784
|
+
*
|
|
39785
|
+
* Four behaviours here are not cosmetic:
|
|
39786
|
+
*
|
|
39787
|
+
* 1. **dBFS is negative-going.** `0` is full scale; digital silence reads
|
|
39788
|
+
* {@link NC_AUDIO_DBFS_FLOOR}. A control that let an operator author `60`
|
|
39789
|
+
* meaning "loud" would write a threshold no sample can reach, and the rule
|
|
39790
|
+
* would look broken rather than mis-configured. Every write is clamped.
|
|
39791
|
+
* 2. **Neither filter given = the engine REFUSES.** With no level floor and no
|
|
39792
|
+
* labels every sample is trivially a hit, so the window would fire on
|
|
39793
|
+
* silence. {@link audioIsFailClosed} is how an editor says that BEFORE the
|
|
39794
|
+
* save instead of shipping a rule that never notifies and never says why.
|
|
39795
|
+
* 3. **Both label spellings are the same label.** The hub's taxonomy serves
|
|
39796
|
+
* `audio-dog`; the macro catalog and an operator both say `dog`, and the
|
|
39797
|
+
* matcher normalizes the prefix away on both sides. Selection therefore
|
|
39798
|
+
* compares NORMALIZED ids — a rule authored in the admin UI must not read
|
|
39799
|
+
* as "nothing selected" on the phone.
|
|
39800
|
+
* 4. **A stored label the build does not know stays visible.** It is offered
|
|
39801
|
+
* as an explicitly-unknown, removable choice, never silently dropped:
|
|
39802
|
+
* rewriting the rule the operator is looking at is worse than showing a
|
|
39803
|
+
* stale id.
|
|
39804
|
+
*/
|
|
39805
|
+
/** The `audio-` namespace the NC taxonomy uses for these same macro ids. */
|
|
39806
|
+
var AUDIO_KIND_PREFIX = "audio-";
|
|
39807
|
+
/** Strip the taxonomy's `audio-` namespace: `audio-dog` and `dog` are one label. */
|
|
39808
|
+
function normalizeAudioLabel(value) {
|
|
39809
|
+
return value.startsWith(AUDIO_KIND_PREFIX) ? value.slice(6) : value;
|
|
39810
|
+
}
|
|
39811
|
+
/** Level bounds, in dBFS. Negative-going: the ceiling is full scale. */
|
|
39812
|
+
var NC_AUDIO_DB_MIN = -96;
|
|
39813
|
+
var NC_AUDIO_DB_MAX = 0;
|
|
39814
|
+
/** Step of the level control — 3 dB is one perceptual notch, not one unit. */
|
|
39815
|
+
var NC_AUDIO_DB_STEP = 3;
|
|
39816
|
+
/**
|
|
39817
|
+
* Offered when the operator turns the level filter ON. NOT a schema default:
|
|
39818
|
+
* an absent `dbThreshold` means "any level" and stays absent until asked for,
|
|
39819
|
+
* and a stepper seeded at the -96 floor would need thirty taps to reach a
|
|
39820
|
+
* threshold that can actually fire.
|
|
39821
|
+
*/
|
|
39822
|
+
var NC_AUDIO_DB_OFFERED = -30;
|
|
39823
|
+
var NC_AUDIO_HIT_PERCENT_MIN = 1;
|
|
39824
|
+
var NC_AUDIO_HIT_PERCENT_MAX = 100;
|
|
39825
|
+
var NC_AUDIO_SAMPLING_MIN_SEC = 1;
|
|
39826
|
+
var NC_AUDIO_SAMPLING_MAX_SEC = 300;
|
|
39827
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
39828
|
+
var NC_AUDIO_DEFAULTS = {
|
|
39829
|
+
hitPercent: 60,
|
|
39830
|
+
samplingSeconds: 10
|
|
39831
|
+
};
|
|
39832
|
+
/** What an editor SHOWS for an unset condition — without authoring it. */
|
|
39833
|
+
function audioOrDefaults(value) {
|
|
39834
|
+
return value ?? NC_AUDIO_DEFAULTS;
|
|
39835
|
+
}
|
|
39836
|
+
/**
|
|
39837
|
+
* True when the condition names NEITHER a level floor NOR any label. The engine
|
|
39838
|
+
* refuses such a rule (every sample is a hit, so the window fires on silence) —
|
|
39839
|
+
* an editor warns instead of letting the operator ship a rule that never
|
|
39840
|
+
* notifies and says nothing about why.
|
|
39841
|
+
*
|
|
39842
|
+
* An ABSENT condition is not flagged: a rule with no `audio` key is not an
|
|
39843
|
+
* audio rule at all.
|
|
39844
|
+
*/
|
|
39845
|
+
function audioIsFailClosed(value) {
|
|
39846
|
+
if (value === void 0) return false;
|
|
39847
|
+
return value.dbThreshold === void 0 && (value.labels === void 0 || value.labels.length === 0);
|
|
39848
|
+
}
|
|
39849
|
+
function clampInt(value, min, max) {
|
|
39850
|
+
if (!Number.isFinite(value)) return min;
|
|
39851
|
+
return Math.min(max, Math.max(min, Math.round(value)));
|
|
39852
|
+
}
|
|
39853
|
+
function has(patch, key) {
|
|
39854
|
+
return Object.prototype.hasOwnProperty.call(patch, key);
|
|
39855
|
+
}
|
|
39856
|
+
/**
|
|
39857
|
+
* Apply a sub-field edit, seeding from the defaults when nothing is stored yet.
|
|
39858
|
+
* The result is always in-bounds for `NcAudioConditionSchema`, and a cleared
|
|
39859
|
+
* filter is OMITTED rather than written as an explicit `undefined` (which
|
|
39860
|
+
* survives a merge patch as a deliberate erase and reads as authored).
|
|
39861
|
+
*/
|
|
39862
|
+
function patchAudio(current, patch) {
|
|
39863
|
+
const base = audioOrDefaults(current);
|
|
39864
|
+
const labels = has(patch, "labels") ? patch.labels : base.labels;
|
|
39865
|
+
const dbThreshold = has(patch, "dbThreshold") ? patch.dbThreshold : base.dbThreshold;
|
|
39866
|
+
return {
|
|
39867
|
+
...labels !== void 0 && labels.length > 0 ? { labels: [...labels] } : {},
|
|
39868
|
+
...dbThreshold !== void 0 ? { dbThreshold: clampInt(dbThreshold, NC_AUDIO_DB_MIN, 0) } : {},
|
|
39869
|
+
hitPercent: clampInt(patch.hitPercent ?? base.hitPercent, 1, 100),
|
|
39870
|
+
samplingSeconds: clampInt(patch.samplingSeconds ?? base.samplingSeconds, 1, 300)
|
|
39871
|
+
};
|
|
39872
|
+
}
|
|
39873
|
+
/** The icon glyph for a stored label the catalogue does not know. */
|
|
39874
|
+
var UNKNOWN_LABEL_ICON = "🔈";
|
|
39875
|
+
var ICON_BY_ID = new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
39876
|
+
/**
|
|
39877
|
+
* The label choices: the hub's `audioKinds` when it serves them (its WORDS, the
|
|
39878
|
+
* local EMOJI, keyed by the normalized id), else the local macro catalog — plus
|
|
39879
|
+
* any stored label neither side knows, marked unknown.
|
|
39880
|
+
*
|
|
39881
|
+
* The hub's list wins on membership because it knows which macros this cluster
|
|
39882
|
+
* actually classifies; the icons stay local because the taxonomy carries none.
|
|
39883
|
+
*/
|
|
39884
|
+
function audioLabelChoices(taxonomy, selected) {
|
|
39885
|
+
const fromHub = taxonomy?.audioKinds ?? [];
|
|
39886
|
+
const choices = fromHub.length > 0 ? fromHub.map((entry) => {
|
|
39887
|
+
const id = normalizeAudioLabel(entry.kind);
|
|
39888
|
+
return {
|
|
39889
|
+
value: id,
|
|
39890
|
+
label: entry.label,
|
|
39891
|
+
icon: ICON_BY_ID.get(id) ?? UNKNOWN_LABEL_ICON,
|
|
39892
|
+
unknown: false
|
|
39893
|
+
};
|
|
39894
|
+
}) : AUDIO_MACRO_LABELS.map((macro) => ({
|
|
39895
|
+
value: macro.id,
|
|
39896
|
+
label: macro.name,
|
|
39897
|
+
icon: macro.icon ?? UNKNOWN_LABEL_ICON,
|
|
39898
|
+
unknown: false
|
|
39899
|
+
}));
|
|
39900
|
+
const known = new Set(choices.map((choice) => choice.value));
|
|
39901
|
+
const unknownLabels = [];
|
|
39902
|
+
for (const stored of selected ?? []) {
|
|
39903
|
+
const id = normalizeAudioLabel(stored);
|
|
39904
|
+
if (known.has(id) || unknownLabels.includes(id)) continue;
|
|
39905
|
+
unknownLabels.push(id);
|
|
39906
|
+
choices.push({
|
|
39907
|
+
value: id,
|
|
39908
|
+
label: id,
|
|
39909
|
+
icon: UNKNOWN_LABEL_ICON,
|
|
39910
|
+
unknown: true
|
|
39911
|
+
});
|
|
39912
|
+
}
|
|
39913
|
+
return {
|
|
39914
|
+
choices,
|
|
39915
|
+
unknownLabels
|
|
39916
|
+
};
|
|
39917
|
+
}
|
|
39918
|
+
/**
|
|
39919
|
+
* Is this macro id selected? Compares NORMALIZED ids, so a rule authored with
|
|
39920
|
+
* the taxonomy spelling (`audio-dog`) reads as selected here.
|
|
39921
|
+
*/
|
|
39922
|
+
function isAudioLabelSelected(labels, id) {
|
|
39923
|
+
const wanted = normalizeAudioLabel(id);
|
|
39924
|
+
return (labels ?? []).some((stored) => normalizeAudioLabel(stored) === wanted);
|
|
39925
|
+
}
|
|
39926
|
+
/**
|
|
39927
|
+
* Toggle one macro id. Removing drops EVERY stored spelling of it; adding
|
|
39928
|
+
* appends the bare macro id. Returns `undefined` when the last label goes — the
|
|
39929
|
+
* field is optional and absent means "any sound", never an empty array (which
|
|
39930
|
+
* `NcAudioConditionSchema` rejects outright).
|
|
39931
|
+
*/
|
|
39932
|
+
function toggleAudioLabel(labels, id) {
|
|
39933
|
+
const wanted = normalizeAudioLabel(id);
|
|
39934
|
+
const current = labels ?? [];
|
|
39935
|
+
if (isAudioLabelSelected(current, wanted)) {
|
|
39936
|
+
const next = current.filter((stored) => normalizeAudioLabel(stored) !== wanted);
|
|
39937
|
+
return next.length > 0 ? next : void 0;
|
|
39938
|
+
}
|
|
39939
|
+
return [...current, wanted];
|
|
39940
|
+
}
|
|
39941
|
+
//#endregion
|
|
38735
39942
|
//#region src/notification/condition-taxonomy.ts
|
|
38736
39943
|
/** Condition ids that render the class picker (video macros/subs + audio). */
|
|
38737
39944
|
var CLASS_CONDITION_IDS = new Set(["classes", "classesExclude"]);
|
|
38738
39945
|
/** Condition ids that render the sensor/control label picker. */
|
|
38739
39946
|
var LABEL_CONDITION_IDS = new Set(["sensorKinds"]);
|
|
39947
|
+
/**
|
|
39948
|
+
* Condition ids whose class scope is a COUNT, not a match — they get the
|
|
39949
|
+
* MACRO-ONLY vocabulary.
|
|
39950
|
+
*
|
|
39951
|
+
* Every other class condition goes through the engine's `expandClassSelector`,
|
|
39952
|
+
* which expands a macro to its subs and matches a sub against the detection's
|
|
39953
|
+
* own class. Occupancy does not: it reads `byClass[className]` out of the
|
|
39954
|
+
* ZoneAnalytics snapshot, and that record is keyed on MACROS only (the executor
|
|
39955
|
+
* maps COCO onto the macro and drops the rest). A sub-type therefore names a key
|
|
39956
|
+
* that does not exist — the counter is 0 forever and the rule cannot fire.
|
|
39957
|
+
*
|
|
39958
|
+
* Live cost, 2026-08-12: two rules on device 617 were authored with `car`
|
|
39959
|
+
* because this picker offered the whole taxonomy. They were silent for a day.
|
|
39960
|
+
*/
|
|
39961
|
+
var COUNT_CLASS_CONDITION_IDS = new Set(["occupancy"]);
|
|
38740
39962
|
function toOption(entry) {
|
|
38741
39963
|
return {
|
|
38742
39964
|
value: entry.kind,
|
|
@@ -38814,6 +40036,14 @@ function pickerForCondition(conditionId, taxonomy) {
|
|
|
38814
40036
|
});
|
|
38815
40037
|
return groups.length > 0 ? { groups } : null;
|
|
38816
40038
|
}
|
|
40039
|
+
if (COUNT_CLASS_CONDITION_IDS.has(conditionId)) {
|
|
40040
|
+
const options = taxonomy.videoClasses.filter((e) => e.parentKind === null).map(toOption);
|
|
40041
|
+
return options.length > 0 ? { groups: [{
|
|
40042
|
+
key: "macro",
|
|
40043
|
+
fallbackLabel: "Classes",
|
|
40044
|
+
options
|
|
40045
|
+
}] } : null;
|
|
40046
|
+
}
|
|
38817
40047
|
if (LABEL_CONDITION_IDS.has(conditionId)) {
|
|
38818
40048
|
const groups = groupLabels(taxonomy.labels);
|
|
38819
40049
|
return groups.length > 0 ? { groups } : null;
|
|
@@ -41204,4 +42434,4 @@ function enumerateInferenceDevices(hw) {
|
|
|
41204
42434
|
return out;
|
|
41205
42435
|
}
|
|
41206
42436
|
//#endregion
|
|
41207
|
-
export { ACCESSORY_LABEL, 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, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, 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, COCO_80_LABELS, COCO_TO_MACRO, CONNECTION_TEST_TIMEOUT_MS, 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, 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_DECODER_HWACCEL_CONFIG, DEFAULT_DETAIL_CROP_CONVENTION, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_NATIVE_LEASE_SETTINGS, DEFAULT_RETENTION, DEFAULT_SCRUB_THUMBNAIL_PRESET, DEFAULT_TIMELAPSE_PREVIEW_TEXT, DETAIL_CROP_PADDING_FIELD, DETAIL_CROP_PADDING_KEY, DETAIL_CROP_SECTION_ID, DETAIL_CROP_SQUARE_KEY, DETECTION_PIPELINE_CAP_NAME, DEVICE_BACKEND_TO_FORMAT, DEVICE_CAP_NAMES, DEVICE_PROFILES, 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, DetectionSourceSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceNetworkStatsSchema, DeviceRole, DeviceRuntimeState, DeviceStatusSchema, DeviceType, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENTFUL_CAP_NAMES, 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, 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, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, Fmp4BoxSplitter, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, GasStatusSchema, 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, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ImageContractSchema, ImageContractStateSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, KeyEventSchema, LOG_LEVEL_RANK, LabelAttributionSchema, LabelDefinitionSchema, LabelTierSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LinkedDeviceSchema, LinkedDevicesModeSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmUsageRollupSchema, LlmUsageSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, LoginMethodContributionSchema, LoginStageEnum, MACRO_LABELS, MAX_CONDITION_DEPTH, MAX_CONDITION_LEAVES, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, METHOD_ACCESS_MAP, MODEL_FORMATS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileInfoSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, 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_SECTION_ID, NATIVE_LEASE_TILE_BUDGET_FIELD, NATIVE_LEASE_TILE_BUDGET_KEY, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_DBFS_FLOOR, 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_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_SNOOZE_MAX_MINUTES, NC_TAXONOMY, NativeCropBboxSchema, NativeCropRefSchema, NativeCropResultSchema, NativeDetectionSchema, NativeLeaseAdmissionSchema, NativeLeaseSettingsSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, 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, NcScheduleSchema, NcScheduleWindowSchema, NcSnoozeInputSchema, NcSnoozeSchema, NcSnoozeScopeSchema, NcSnoozeSuppressedSchema, NcSystemEventConditionSchema, NcSystemEventKindSchema, NcTaxonomyEntrySchema, NcTaxonomySchema, NcTestResultSchema, NcThrottleGranularitySchema, NcThrottleSchema, NcZoneConditionSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NotificationActionIconSchema, NotificationActionSchema, NotificationFormatSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, 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, 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, RESERVED_BINDING_NAMES, RUNTIME_DEFAULTS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadGopBytesResultSchema, ReadSegmentBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecentTracksPageSchema, RecentTracksQueryInput, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingRangeSchema, RecordingRebalanceInputSchema, RecordingRebalanceMoveSchema, RecordingRebalancePlanSchema, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, RecordingRetentionSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RedirectLoginMethodSchema, RelocateFootageClassSchema, RelocateFootageInputSchema, RelocateJobSchema, RelocateJobStateSchema, RelocateMediaInputSchema, RenderedAsSchema, ReportMotionInputSchema, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, RetrainFrameCandidateSchema, RetrainFrameListSchema, RetrainFrameSchema, RetrainFrameSelectionSchema, RetrainMacroClassSchema, RetrainStatusSchema, RetrainTrackSchema, RetrainTransitionResultSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCOPE_PRESETS, SCRUB_THUMBNAIL_PRESETS, SCRUB_THUMBNAIL_PRESET_LABELS, SCRUB_THUMBNAIL_PRESET_ORDER, SENSOR_FEATURES, SENSOR_MAP, SOURCE_INFO_METADATA_KEY, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, SceneCheckSchema, SceneConditionSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusSchema, SceneReferenceSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, ScrubThumbnailPresetSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageLocationDeclarationSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, StorageMigrationClassSchema, StorageMigrationDestinationsSchema, StorageMigrationFootageMoveInputSchema, StorageMigrationInputSchema, StorageMigrationJobSchema, StorageMigrationLeaseInputSchema, StorageMigrationMediaMoveInputSchema, StorageMigrationMoveSchema, StorageMigrationParticipantSchema, StorageMigrationPhaseSchema, StorageMigrationPlanSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SubscribeFramesInputSchema, SubscribeFramesResultSchema, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, 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, TurnServerSchema, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, 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, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, asBoolean, asJsonArray, asJsonObject, asNumber, asString, assertTimelapseCadences, audioAnalysisCapability, audioAnalyzerCapability, audioCodecCapability, audioMetricsCapability, audioPlanFromEncodeProfile, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, bareAddonId, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildAudioArgs, buildEventKindDescriptor, buildFfmpegArgs, buildInputArgs, buildModelVariantGroups, buildNcTaxonomy, buildStreamParamsConfigSchema, buildVideoArgs, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, canonicalEgressPlan, carbonMonoxideCapability, cellsToRects, classifyBearerPrincipal, classifyStream, classifyStreams, climateControlCapability, collectHydratedFieldEntries, collectHydratedFieldValues, colorCapability, colorForKind, compileExpression, compileExpressionSafe, composeSwitchedOff, conditionDepth, connectionTestCapability, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, coreBlockAddonId, coreBlockIdFromAddonId, coreBlocksCapability, cosineSimilarity, countConditionLeaves, coverCapability, createDeviceProxy, createDurableState, createEvent, createExpressionScope, createHwAccelCache, createLazyTrpcSource, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dataStoreProviderCapability, dayNightCapability, declarationOwnerNodeId, decodeVectorBase64, decoderCapability, defaultDeviceFor, defineCustomActions, deriveCameraSwitches, deriveDetailCropRect, deriveRecordingMode, describeModelVariant, detectionPipelineCapability, deviceAdoptionCapability, deviceBackendToFormat, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceStateCapability, deviceStatusCapability, doorbellCapability, egressTranscodeSharingKey, egressTransportFromRequest, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, encodeVectorBase64, enumSensorCapability, enumerateInferenceDevices, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateExpressionSource, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, expandCapMethods, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, formatForBackend, formatForRuntime, gasCapability, generateAutomationBlock, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getTaxonomyEntry, hasMotionTrigger, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, integrationsCapability, intercomCapability, invocationFromEncodeProfile, isAgentOnlyPlacement, isArrayOutputSchema, isBaseConditionKey, isCollectionArrayMethod, isDeployableToAgent, isDeviceConfigCap, isDeviceScopedCap, isEvent, isIsolatedBuiltin, isNode, isObjectInput, isSameAddonId, isScheduleActive, isSoftwareDecode, isVoidInput, jobKindSchema, kebabToCamel, knownValues, lawnMowerControlCapability, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, llmCapability, llmRuntimeCapability, localNetworkCapability, locationSimilarity, lockControlCapability, logBannerArgs, 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, networkAccessCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeUnit, notificationOutputCapability, notificationRulesCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, objectInputDeclaresAddonId, osdCapability, osdManagerCapability, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProfileBrokerId, parseStreamParamsFormPatch, petFeederCapability, pickAccessoryControl, pickDetailCropConvention, pickNativeLeaseOverride, pickPreferredRtspEntry, pickVideoEncoder, pickerForCondition, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, principalMayReachAddon, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readDetailCropConvention, readDeviceStateFrom, readNativeLeaseOverride, readNodePin, readTimelapseGeneratedAt, readinessKey, rebootCapability, recordingCapability, recordingExportCapability, rectsToCells, requiresPython, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveCapMount, resolveDetectionRuntime, resolveDeviceControlKind, resolveDeviceProfile, resolveEgressDecodeHwAccel, resolveFormat, resolveHydratedFieldValue, resolveModelFormat, resolveMutate, resolveRunnerId, resolveScrubThumbnailGeometry, resolveVariantModelId, runInferenceStep, runtimeDevices, sceneMonitorCapability, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, serverManagementCapability, setByPath, settingsStoreCapability, sleep, sleepCancellable, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, stateVocabularyFor, storageCapability, storageEvictableCapability, storageMigrationCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, subKindsOf, summarisePrivacyAudio, supportedRuntimes, switchCapability, switchedOffIds, synthesizeSourceInfo, systemCapability, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, terminalSessionCapability, textToHtml, toDeviceSummary, toExpressionValue, toNodeId, toStreamSourceEntry, toastCapability, 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 };
|
|
42437
|
+
export { ACCESSORY_LABEL, 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, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, 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, COCO_80_LABELS, COCO_TO_MACRO, CONNECTION_TEST_TIMEOUT_MS, 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, 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_DECODER_HWACCEL_CONFIG, DEFAULT_DETAIL_CROP_CONVENTION, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_NATIVE_LEASE_SETTINGS, DEFAULT_RETENTION, DEFAULT_RUNTIME_STATE_DURABILITY, DEFAULT_SCRUB_THUMBNAIL_PRESET, DEFAULT_TIMELAPSE_PREVIEW_TEXT, 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_PROFILES, 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, DetectionSourceSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceNetworkStatsSchema, DeviceRole, DeviceRuntimeState, DeviceStatusSchema, DeviceType, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENTFUL_CAP_NAMES, 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, 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, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, Fmp4BoxSplitter, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, GasStatusSchema, 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, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ImageContractSchema, ImageContractStateSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, KeyEventSchema, LOG_LEVEL_RANK, LabelAttributionSchema, LabelDefinitionSchema, LabelTierSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LinkedDeviceSchema, LinkedDevicesModeSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmUsageRollupSchema, LlmUsageSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, LoginMethodContributionSchema, LoginStageEnum, MACRO_LABELS, MAX_CONDITION_DEPTH, MAX_CONDITION_LEAVES, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, METHOD_ACCESS_MAP, MODEL_FORMATS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileInfoSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, 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_SECTION_ID, NATIVE_LEASE_TILE_BUDGET_FIELD, NATIVE_LEASE_TILE_BUDGET_KEY, NC_ALARM_SYSTEM_EVENT_KINDS, 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_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_SNOOZE_MAX_MINUTES, NC_TAXONOMY, NativeCropBboxSchema, NativeCropRefSchema, NativeCropResultSchema, NativeDetectionSchema, NativeLeaseAdmissionSchema, NativeLeaseSettingsSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, 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, NcScheduleSchema, NcScheduleWindowSchema, NcSnoozeInputSchema, NcSnoozeSchema, NcSnoozeScopeSchema, NcSnoozeSuppressedSchema, NcSystemEventConditionSchema, NcSystemEventKindSchema, NcTaxonomyEntrySchema, NcTaxonomySchema, NcTestResultSchema, NcThrottleGranularitySchema, NcThrottleSchema, NcZoneConditionSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NotificationActionIconSchema, NotificationActionSchema, NotificationFormatSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, 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, 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, RESERVED_BINDING_NAMES, RESTORED_CAP_NAMES, RUNTIME_DEFAULTS, RUNTIME_STATE_POLICY, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadGopBytesResultSchema, ReadSegmentBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecentTracksPageSchema, RecentTracksQueryInput, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingRangeSchema, RecordingRebalanceInputSchema, RecordingRebalanceMoveSchema, RecordingRebalancePlanSchema, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, RecordingRetentionSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RedirectLoginMethodSchema, RelocateFootageClassSchema, RelocateFootageInputSchema, RelocateJobSchema, RelocateJobStateSchema, RelocateMediaInputSchema, RenderedAsSchema, ReportMotionInputSchema, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, RetrainFrameCandidateSchema, RetrainFrameListSchema, RetrainFrameSchema, RetrainFrameSelectionSchema, RetrainMacroClassSchema, RetrainStatusSchema, RetrainTrackSchema, RetrainTransitionResultSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCOPE_PRESETS, SCRUB_THUMBNAIL_PRESETS, SCRUB_THUMBNAIL_PRESET_LABELS, SCRUB_THUMBNAIL_PRESET_ORDER, SENSOR_FEATURES, SENSOR_MAP, SOURCE_INFO_METADATA_KEY, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, SceneCheckSchema, SceneConditionSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusSchema, SceneReferenceSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, ScrubThumbnailPresetSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageLocationDeclarationSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, StorageMigrationClassSchema, StorageMigrationDestinationsSchema, StorageMigrationFootageMoveInputSchema, StorageMigrationInputSchema, StorageMigrationJobSchema, StorageMigrationLeaseInputSchema, StorageMigrationMediaMoveInputSchema, StorageMigrationMoveSchema, StorageMigrationParticipantSchema, StorageMigrationPhaseSchema, StorageMigrationPlanSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SubscribeFramesInputSchema, SubscribeFramesResultSchema, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, 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, TurnServerSchema, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, 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, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, asBoolean, asJsonArray, asJsonObject, asNumber, asString, assertTimelapseCadences, audioAnalysisCapability, audioAnalyzerCapability, audioCodecCapability, audioIsFailClosed, audioLabelChoices, audioMetricsCapability, audioOrDefaults, audioPlanFromEncodeProfile, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, bareAddonId, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildAudioArgs, buildEventKindDescriptor, buildFfmpegArgs, buildInputArgs, buildModelVariantGroups, buildNcTaxonomy, buildStreamParamsConfigSchema, buildVideoArgs, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, canonicalEgressPlan, carbonMonoxideCapability, cellsToRects, classifyBearerPrincipal, classifyStream, classifyStreams, climateControlCapability, collectHydratedFieldEntries, collectHydratedFieldValues, colorCapability, colorForKind, compileExpression, compileExpressionSafe, composeSwitchedOff, conditionDepth, connectionTestCapability, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, coreBlockAddonId, coreBlockIdFromAddonId, coreBlocksCapability, cosineSimilarity, countConditionLeaves, coverCapability, createDeviceProxy, createDurableState, createEvent, createExpressionScope, createHwAccelCache, createLazyTrpcSource, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dataStoreProviderCapability, dayNightCapability, declarationOwnerNodeId, decodeVectorBase64, decoderCapability, defaultDeviceFor, defineCustomActions, deriveCameraSwitches, deriveDetailCropRect, deriveRecordingMode, describeModelVariant, detectionPipelineCapability, deviceAdoptionCapability, deviceBackendToFormat, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceStateCapability, deviceStatusCapability, doorbellCapability, egressTranscodeSharingKey, egressTransportFromRequest, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, encodeVectorBase64, enumSensorCapability, enumerateInferenceDevices, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateExpressionSource, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, expandCapMethods, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, formatForBackend, formatForRuntime, gasCapability, generateAutomationBlock, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getTaxonomyEntry, hasMotionTrigger, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, integrationsCapability, intercomCapability, invocationFromEncodeProfile, isAgentOnlyPlacement, isArrayOutputSchema, isAudioLabelSelected, isBaseConditionKey, isCollectionArrayMethod, isDeployableToAgent, isDetectionMacroClass, isDeviceConfigCap, isDeviceScopedCap, isEvent, isIsolatedBuiltin, isNode, isObjectInput, isRestoredCap, isSameAddonId, isScheduleActive, isSoftwareDecode, isVoidInput, jobKindSchema, kebabToCamel, knownValues, lawnMowerControlCapability, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, llmCapability, llmRuntimeCapability, localNetworkCapability, locationSimilarity, lockControlCapability, logBannerArgs, 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, networkAccessCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeAudioLabel, normalizeUnit, notificationOutputCapability, notificationRulesCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, objectInputDeclaresAddonId, osdCapability, osdManagerCapability, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProfileBrokerId, parseStreamParamsFormPatch, patchAudio, petFeederCapability, pickAccessoryControl, pickDetailCropConvention, pickNativeLeaseOverride, pickPreferredRtspEntry, pickVideoEncoder, pickerForCondition, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, principalMayReachAddon, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readDetailCropConvention, readDeviceStateFrom, readNativeLeaseOverride, readNodePin, readTimelapseGeneratedAt, readinessKey, rebootCapability, recordingCapability, recordingExportCapability, rectsToCells, requiresPython, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveCapMount, resolveDetectionRuntime, resolveDeviceControlKind, resolveDeviceProfile, resolveEgressDecodeHwAccel, resolveFormat, resolveHydratedFieldValue, resolveModelFormat, resolveMutate, resolveRunnerId, resolveScrubThumbnailGeometry, resolveVariantModelId, runInferenceStep, runtimeDevices, runtimeStatePolicyFor, sceneMonitorCapability, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, serverManagementCapability, setByPath, settingsStoreCapability, sleep, sleepCancellable, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, stateVocabularyFor, storageCapability, storageEvictableCapability, storageMigrationCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, subKindsOf, summarisePrivacyAudio, supportedRuntimes, switchCapability, switchedOffIds, synthesizeSourceInfo, systemCapability, 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 };
|