@camstack/types 1.2.76 → 1.2.77

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_event_category = require("./event-category-D3gG7oil.js");
3
- const require_sleep = require("./sleep-DslGLq5_.js");
3
+ const require_sleep = require("./sleep-CoL-9qhR.js");
4
4
  const require_err_msg = require("./err-msg-COpsHMw2.js");
5
5
  //#region src/generated/cap-input-defaults.ts
6
6
  /**
package/dist/addon.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as EventCategory } from "./event-category-Bxo5yJjt.mjs";
2
- import { A as expandCapMethods, B as ReadinessTimeoutError, I as nodePin, L as readNodePin, T as adminUiCapability, U as scopeKey, _t as BaseAddon, a as asJsonObject, b as viewerUiCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, gt as DisposerChain, ht as DATAPLANE_SECRET_HEADER, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, vt as normalizeAddonInitResult, w as DeviceType, xt as emitReadiness, y as deviceOpsCapability, z as ReadinessRegistry } from "./sleep-BfRjZ3C3.mjs";
2
+ import { A as expandCapMethods, B as ReadinessTimeoutError, I as nodePin, L as readNodePin, T as adminUiCapability, U as scopeKey, _t as BaseAddon, a as asJsonObject, b as viewerUiCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, gt as DisposerChain, ht as DATAPLANE_SECRET_HEADER, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, vt as normalizeAddonInitResult, w as DeviceType, xt as emitReadiness, y as deviceOpsCapability, z as ReadinessRegistry } from "./sleep-DlC2kJYf.mjs";
3
3
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
4
4
  //#region src/generated/cap-input-defaults.ts
5
5
  /**
@@ -17,6 +17,7 @@ export declare const BatteryStatusSchema: z.ZodObject<{
17
17
  }>;
18
18
  sleeping: z.ZodBoolean;
19
19
  lastUpdated: z.ZodNumber;
20
+ lastContactAt: z.ZodOptional<z.ZodNumber>;
20
21
  binary: z.ZodOptional<z.ZodBoolean>;
21
22
  }, z.core.$strip>;
22
23
  export type BatteryStatus = z.infer<typeof BatteryStatusSchema>;
@@ -70,6 +71,7 @@ export declare const batteryCapability: {
70
71
  }>;
71
72
  sleeping: z.ZodBoolean;
72
73
  lastUpdated: z.ZodNumber;
74
+ lastContactAt: z.ZodOptional<z.ZodNumber>;
73
75
  binary: z.ZodOptional<z.ZodBoolean>;
74
76
  }, z.core.$strip>;
75
77
  }, z.core.$strip>;
@@ -85,6 +87,7 @@ export declare const batteryCapability: {
85
87
  }>;
86
88
  sleeping: z.ZodBoolean;
87
89
  lastUpdated: z.ZodNumber;
90
+ lastContactAt: z.ZodOptional<z.ZodNumber>;
88
91
  binary: z.ZodOptional<z.ZodBoolean>;
89
92
  }, z.core.$strip>;
90
93
  readonly kind: "push";
@@ -113,6 +116,7 @@ export declare const batteryCapability: {
113
116
  }>;
114
117
  sleeping: z.ZodBoolean;
115
118
  lastUpdated: z.ZodNumber;
119
+ lastContactAt: z.ZodOptional<z.ZodNumber>;
116
120
  binary: z.ZodOptional<z.ZodBoolean>;
117
121
  }, z.core.$strip>;
118
122
  /**
@@ -185,7 +185,7 @@ export { type ISceneMonitorProvider, SCENE_CONDITIONS, SCENE_CONFIRM_DEFAULT_MAX
185
185
  export { type ZoneRule, type ZoneRuleMode, ZoneRuleModeEnum, ZoneRuleSchema, type ZoneRules, ZoneRulesArraySchema, } from './schemas/zone-rule.js';
186
186
  export { type IScriptRunnerProvider, type ScriptRunnerStatus, ScriptRunnerStatusSchema, scriptRunnerCapability, } from './script-runner.cap.js';
187
187
  export { type ISmokeProvider, type SmokeStatus, SmokeStatusSchema, smokeCapability, } from './smoke.cap.js';
188
- export { type CamStreamDescriptor, CamStreamDescriptorSchema, type IStreamCatalogProvider, streamCatalogCapability, } from './stream-catalog.cap.js';
188
+ export { type CamStreamDescriptor, CamStreamDescriptorSchema, type IStreamCatalogProvider, streamCatalogCapability, type StreamCatalogState, } from './stream-catalog.cap.js';
189
189
  export { type IStreamParamsProvider, type StreamParamsOptions, StreamParamsOptionsSchema, type StreamParamsStatus, StreamParamsStatusSchema, type StreamProfile, StreamProfileConfigSchema, StreamProfileOptionsSchema, type StreamProfilePatch, StreamProfilePatchSchema, StreamProfileSchema, streamParamsCapability, } from './stream-params.cap.js';
190
190
  export { buildStreamParamsConfigSchema, parseStreamParamsFormPatch, STREAM_PROFILE_META, type StreamProfileMeta, } from './stream-params-config-schema.js';
191
191
  export { type ISwitchProvider, type SwitchStatus, SwitchStatusSchema, switchCapability, } from './switch.cap.js';
@@ -116,7 +116,7 @@ declare const OauthIntegrationDescriptorSchema: z.ZodObject<{
116
116
  ids: z.ZodArray<z.ZodNumber>;
117
117
  }, z.core.$strip>, z.ZodObject<{
118
118
  kind: z.ZodLiteral<"types">;
119
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
119
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
120
120
  }, z.core.$strip>, z.ZodObject<{
121
121
  kind: z.ZodLiteral<"locations">;
122
122
  locations: z.ZodArray<z.ZodString>;
@@ -179,7 +179,7 @@ export declare const oauthIntegrationCapability: {
179
179
  ids: z.ZodArray<z.ZodNumber>;
180
180
  }, z.core.$strip>, z.ZodObject<{
181
181
  kind: z.ZodLiteral<"types">;
182
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
182
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
183
183
  }, z.core.$strip>, z.ZodObject<{
184
184
  kind: z.ZodLiteral<"locations">;
185
185
  locations: z.ZodArray<z.ZodString>;
@@ -58,7 +58,7 @@ declare const SsoBridgeClaimsSchema: z.ZodObject<{
58
58
  ids: z.ZodArray<z.ZodNumber>;
59
59
  }, z.core.$strip>, z.ZodObject<{
60
60
  kind: z.ZodLiteral<"types">;
61
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
61
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
62
62
  }, z.core.$strip>, z.ZodObject<{
63
63
  kind: z.ZodLiteral<"locations">;
64
64
  locations: z.ZodArray<z.ZodString>;
@@ -128,7 +128,7 @@ export declare const ssoBridgeCapability: {
128
128
  ids: z.ZodArray<z.ZodNumber>;
129
129
  }, z.core.$strip>, z.ZodObject<{
130
130
  kind: z.ZodLiteral<"types">;
131
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
131
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
132
132
  }, z.core.$strip>, z.ZodObject<{
133
133
  kind: z.ZodLiteral<"locations">;
134
134
  locations: z.ZodArray<z.ZodString>;
@@ -197,7 +197,7 @@ export declare const ssoBridgeCapability: {
197
197
  ids: z.ZodArray<z.ZodNumber>;
198
198
  }, z.core.$strip>, z.ZodObject<{
199
199
  kind: z.ZodLiteral<"types">;
200
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
200
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
201
201
  }, z.core.$strip>, z.ZodObject<{
202
202
  kind: z.ZodLiteral<"locations">;
203
203
  locations: z.ZodArray<z.ZodString>;
@@ -49,6 +49,56 @@ export type CamStreamDescriptor = z.infer<typeof CamStreamDescriptorSchema>;
49
49
  * set of stream descriptors it can offer for the device, synchronously, so the
50
50
  * broker can reconcile its registry against the authoritative provider state.
51
51
  */
52
+ /**
53
+ * The catalog as a DURABLE fact rather than a live answer.
54
+ *
55
+ * A battery camera's descriptors are profile-stable — they change when the
56
+ * operator rewrites an encoder profile, not minute to minute — but building
57
+ * them costs a Baichuan login, which on a sleeping Argus IS a wake. So the
58
+ * provider is allowed to build them exactly once per profile and must serve
59
+ * every later pull from a cache.
60
+ *
61
+ * Holding that cache only in RAM is what turned a restart into an outage. The
62
+ * runner comes back with the camera asleep, `buildStreamCatalogUncached`
63
+ * correctly refuses to wake it, the pull answers `[]`, the broker has no
64
+ * cam-stream entry to build a broker from, and `webrtcSession.handleOffer`
65
+ * fails with a flat "No broker for stream" — for as long as the camera sleeps,
66
+ * which on a battery cam is most of the day. The camera was fine. The stream
67
+ * was unreachable because the process had forgotten what the camera offers.
68
+ *
69
+ * Declaring it here puts it in `device-runtime-state`, the kernel's canonical
70
+ * declared collection, with the same `restored` durability `battery` uses for
71
+ * the same reason: the last known value is the only value there is while the
72
+ * device is asleep. The broker's brokers are therefore always DEFINABLE — it
73
+ * is the DIAL that wakes a camera, never the catalog (D173).
74
+ */
75
+ declare const StreamCatalogStateSchema: z.ZodObject<{
76
+ descriptors: z.ZodArray<z.ZodObject<{
77
+ camStreamId: z.ZodString;
78
+ kind: z.ZodEnum<{
79
+ "pull-rtsp": "pull-rtsp";
80
+ "pull-rtmp": "pull-rtmp";
81
+ "pull-http": "pull-http";
82
+ "pull-flv": "pull-flv";
83
+ "pull-rfc4571": "pull-rfc4571";
84
+ "push-annexb": "push-annexb";
85
+ derived: "derived";
86
+ }>;
87
+ url: z.ZodOptional<z.ZodString>;
88
+ codec: z.ZodOptional<z.ZodString>;
89
+ resolution: z.ZodOptional<z.ZodObject<{
90
+ width: z.ZodNumber;
91
+ height: z.ZodNumber;
92
+ }, z.core.$strip>>;
93
+ fps: z.ZodOptional<z.ZodNumber>;
94
+ label: z.ZodOptional<z.ZodString>;
95
+ deviceFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
96
+ autoEligible: z.ZodOptional<z.ZodBoolean>;
97
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
98
+ }, z.core.$strip>>;
99
+ lastFetchedAt: z.ZodNumber;
100
+ }, z.core.$strip>;
101
+ export type StreamCatalogState = z.infer<typeof StreamCatalogStateSchema>;
52
102
  export declare const streamCatalogCapability: {
53
103
  readonly name: "stream-catalog";
54
104
  readonly scope: "device";
@@ -82,5 +132,48 @@ export declare const streamCatalogCapability: {
82
132
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
83
133
  }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
84
134
  };
135
+ readonly runtimeState: z.ZodObject<{
136
+ descriptors: z.ZodArray<z.ZodObject<{
137
+ camStreamId: z.ZodString;
138
+ kind: z.ZodEnum<{
139
+ "pull-rtsp": "pull-rtsp";
140
+ "pull-rtmp": "pull-rtmp";
141
+ "pull-http": "pull-http";
142
+ "pull-flv": "pull-flv";
143
+ "pull-rfc4571": "pull-rfc4571";
144
+ "push-annexb": "push-annexb";
145
+ derived: "derived";
146
+ }>;
147
+ url: z.ZodOptional<z.ZodString>;
148
+ codec: z.ZodOptional<z.ZodString>;
149
+ resolution: z.ZodOptional<z.ZodObject<{
150
+ width: z.ZodNumber;
151
+ height: z.ZodNumber;
152
+ }, z.core.$strip>>;
153
+ fps: z.ZodOptional<z.ZodNumber>;
154
+ label: z.ZodOptional<z.ZodString>;
155
+ deviceFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
156
+ autoEligible: z.ZodOptional<z.ZodBoolean>;
157
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
158
+ }, z.core.$strip>>;
159
+ lastFetchedAt: z.ZodNumber;
160
+ }, z.core.$strip>;
161
+ /**
162
+ * Runtime-state durability: **restored** — see the schema doc. A cold
163
+ * catalog on a sleeping battery camera is not a slow first frame, it is a
164
+ * camera that cannot be watched at all until it happens to wake.
165
+ *
166
+ * Churn is nil by construction: the slice is written only by a SUCCESSFUL
167
+ * build, and a build only runs when there is no cached copy (or the copy is
168
+ * a day old and the camera is awake anyway).
169
+ *
170
+ * See `RuntimeStateDurability`. Enforced by
171
+ * `scripts/check-runtime-state-durability.ts`.
172
+ */
173
+ readonly durability: "restored";
174
+ /** Clock field: written, but excluded from the compare that decides whether
175
+ * persisting is worth a SQLite commit — the descriptors are the value. */
176
+ readonly volatileStateFields: readonly ["lastFetchedAt"];
85
177
  };
86
178
  export type IStreamCatalogProvider = InferNativeProvider<typeof streamCatalogCapability>;
179
+ export {};
@@ -42,7 +42,7 @@ declare const UserSummarySchema: z.ZodObject<{
42
42
  ids: z.ZodArray<z.ZodNumber>;
43
43
  }, z.core.$strip>, z.ZodObject<{
44
44
  kind: z.ZodLiteral<"types">;
45
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
45
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
46
46
  }, z.core.$strip>, z.ZodObject<{
47
47
  kind: z.ZodLiteral<"locations">;
48
48
  locations: z.ZodArray<z.ZodString>;
@@ -100,7 +100,7 @@ declare const CreateUserInputSchema: z.ZodObject<{
100
100
  ids: z.ZodArray<z.ZodNumber>;
101
101
  }, z.core.$strip>, z.ZodObject<{
102
102
  kind: z.ZodLiteral<"types">;
103
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
103
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
104
104
  }, z.core.$strip>, z.ZodObject<{
105
105
  kind: z.ZodLiteral<"locations">;
106
106
  locations: z.ZodArray<z.ZodString>;
@@ -154,7 +154,7 @@ declare const UpdateUserInputSchema: z.ZodObject<{
154
154
  ids: z.ZodArray<z.ZodNumber>;
155
155
  }, z.core.$strip>, z.ZodObject<{
156
156
  kind: z.ZodLiteral<"types">;
157
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
157
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
158
158
  }, z.core.$strip>, z.ZodObject<{
159
159
  kind: z.ZodLiteral<"locations">;
160
160
  locations: z.ZodArray<z.ZodString>;
@@ -237,7 +237,7 @@ declare const ScopedTokenSummarySchema: z.ZodObject<{
237
237
  ids: z.ZodArray<z.ZodNumber>;
238
238
  }, z.core.$strip>, z.ZodObject<{
239
239
  kind: z.ZodLiteral<"types">;
240
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
240
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
241
241
  }, z.core.$strip>, z.ZodObject<{
242
242
  kind: z.ZodLiteral<"locations">;
243
243
  locations: z.ZodArray<z.ZodString>;
@@ -292,7 +292,7 @@ declare const CreateScopedTokenInputSchema: z.ZodObject<{
292
292
  ids: z.ZodArray<z.ZodNumber>;
293
293
  }, z.core.$strip>, z.ZodObject<{
294
294
  kind: z.ZodLiteral<"types">;
295
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
295
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
296
296
  }, z.core.$strip>, z.ZodObject<{
297
297
  kind: z.ZodLiteral<"locations">;
298
298
  locations: z.ZodArray<z.ZodString>;
@@ -349,7 +349,7 @@ declare const CreateScopedTokenResultSchema: z.ZodObject<{
349
349
  ids: z.ZodArray<z.ZodNumber>;
350
350
  }, z.core.$strip>, z.ZodObject<{
351
351
  kind: z.ZodLiteral<"types">;
352
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
352
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
353
353
  }, z.core.$strip>, z.ZodObject<{
354
354
  kind: z.ZodLiteral<"locations">;
355
355
  locations: z.ZodArray<z.ZodString>;
@@ -407,7 +407,7 @@ declare const OauthSessionSummarySchema: z.ZodObject<{
407
407
  ids: z.ZodArray<z.ZodNumber>;
408
408
  }, z.core.$strip>, z.ZodObject<{
409
409
  kind: z.ZodLiteral<"types">;
410
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
410
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
411
411
  }, z.core.$strip>, z.ZodObject<{
412
412
  kind: z.ZodLiteral<"locations">;
413
413
  locations: z.ZodArray<z.ZodString>;
@@ -480,7 +480,7 @@ export declare const userManagementCapability: {
480
480
  ids: z.ZodArray<z.ZodNumber>;
481
481
  }, z.core.$strip>, z.ZodObject<{
482
482
  kind: z.ZodLiteral<"types">;
483
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
483
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
484
484
  }, z.core.$strip>, z.ZodObject<{
485
485
  kind: z.ZodLiteral<"locations">;
486
486
  locations: z.ZodArray<z.ZodString>;
@@ -538,7 +538,7 @@ export declare const userManagementCapability: {
538
538
  ids: z.ZodArray<z.ZodNumber>;
539
539
  }, z.core.$strip>, z.ZodObject<{
540
540
  kind: z.ZodLiteral<"types">;
541
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
541
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
542
542
  }, z.core.$strip>, z.ZodObject<{
543
543
  kind: z.ZodLiteral<"locations">;
544
544
  locations: z.ZodArray<z.ZodString>;
@@ -592,7 +592,7 @@ export declare const userManagementCapability: {
592
592
  ids: z.ZodArray<z.ZodNumber>;
593
593
  }, z.core.$strip>, z.ZodObject<{
594
594
  kind: z.ZodLiteral<"types">;
595
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
595
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
596
596
  }, z.core.$strip>, z.ZodObject<{
597
597
  kind: z.ZodLiteral<"locations">;
598
598
  locations: z.ZodArray<z.ZodString>;
@@ -649,7 +649,7 @@ export declare const userManagementCapability: {
649
649
  ids: z.ZodArray<z.ZodNumber>;
650
650
  }, z.core.$strip>, z.ZodObject<{
651
651
  kind: z.ZodLiteral<"types">;
652
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
652
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
653
653
  }, z.core.$strip>, z.ZodObject<{
654
654
  kind: z.ZodLiteral<"locations">;
655
655
  locations: z.ZodArray<z.ZodString>;
@@ -713,7 +713,7 @@ export declare const userManagementCapability: {
713
713
  ids: z.ZodArray<z.ZodNumber>;
714
714
  }, z.core.$strip>, z.ZodObject<{
715
715
  kind: z.ZodLiteral<"types">;
716
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
716
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
717
717
  }, z.core.$strip>, z.ZodObject<{
718
718
  kind: z.ZodLiteral<"locations">;
719
719
  locations: z.ZodArray<z.ZodString>;
@@ -773,7 +773,7 @@ export declare const userManagementCapability: {
773
773
  ids: z.ZodArray<z.ZodNumber>;
774
774
  }, z.core.$strip>, z.ZodObject<{
775
775
  kind: z.ZodLiteral<"types">;
776
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
776
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
777
777
  }, z.core.$strip>, z.ZodObject<{
778
778
  kind: z.ZodLiteral<"locations">;
779
779
  locations: z.ZodArray<z.ZodString>;
@@ -874,7 +874,7 @@ export declare const userManagementCapability: {
874
874
  ids: z.ZodArray<z.ZodNumber>;
875
875
  }, z.core.$strip>, z.ZodObject<{
876
876
  kind: z.ZodLiteral<"types">;
877
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
877
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
878
878
  }, z.core.$strip>, z.ZodObject<{
879
879
  kind: z.ZodLiteral<"locations">;
880
880
  locations: z.ZodArray<z.ZodString>;
@@ -930,7 +930,7 @@ export declare const userManagementCapability: {
930
930
  ids: z.ZodArray<z.ZodNumber>;
931
931
  }, z.core.$strip>, z.ZodObject<{
932
932
  kind: z.ZodLiteral<"types">;
933
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
933
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
934
934
  }, z.core.$strip>, z.ZodObject<{
935
935
  kind: z.ZodLiteral<"locations">;
936
936
  locations: z.ZodArray<z.ZodString>;
@@ -995,7 +995,7 @@ export declare const userManagementCapability: {
995
995
  ids: z.ZodArray<z.ZodNumber>;
996
996
  }, z.core.$strip>, z.ZodObject<{
997
997
  kind: z.ZodLiteral<"types">;
998
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
998
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
999
999
  }, z.core.$strip>, z.ZodObject<{
1000
1000
  kind: z.ZodLiteral<"locations">;
1001
1001
  locations: z.ZodArray<z.ZodString>;
@@ -1054,7 +1054,7 @@ export declare const userManagementCapability: {
1054
1054
  ids: z.ZodArray<z.ZodNumber>;
1055
1055
  }, z.core.$strip>, z.ZodObject<{
1056
1056
  kind: z.ZodLiteral<"types">;
1057
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
1057
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
1058
1058
  }, z.core.$strip>, z.ZodObject<{
1059
1059
  kind: z.ZodLiteral<"locations">;
1060
1060
  locations: z.ZodArray<z.ZodString>;
@@ -1139,7 +1139,7 @@ export declare const userManagementCapability: {
1139
1139
  ids: z.ZodArray<z.ZodNumber>;
1140
1140
  }, z.core.$strip>, z.ZodObject<{
1141
1141
  kind: z.ZodLiteral<"types">;
1142
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
1142
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
1143
1143
  }, z.core.$strip>, z.ZodObject<{
1144
1144
  kind: z.ZodLiteral<"locations">;
1145
1145
  locations: z.ZodArray<z.ZodString>;
@@ -1215,7 +1215,7 @@ export declare const userManagementCapability: {
1215
1215
  ids: z.ZodArray<z.ZodNumber>;
1216
1216
  }, z.core.$strip>, z.ZodObject<{
1217
1217
  kind: z.ZodLiteral<"types">;
1218
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
1218
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
1219
1219
  }, z.core.$strip>, z.ZodObject<{
1220
1220
  kind: z.ZodLiteral<"locations">;
1221
1221
  locations: z.ZodArray<z.ZodString>;
@@ -1269,7 +1269,7 @@ export declare const userManagementCapability: {
1269
1269
  ids: z.ZodArray<z.ZodNumber>;
1270
1270
  }, z.core.$strip>, z.ZodObject<{
1271
1271
  kind: z.ZodLiteral<"types">;
1272
- types: z.ZodArray<z.ZodEnum<typeof import("../addon.js").DeviceType>>;
1272
+ types: z.ZodArray<z.ZodEnum<typeof import("../index.js").DeviceType>>;
1273
1273
  }, z.core.$strip>, z.ZodObject<{
1274
1274
  kind: z.ZodLiteral<"locations">;
1275
1275
  locations: z.ZodArray<z.ZodString>;
@@ -0,0 +1,84 @@
1
+ /**
2
+ * "Asleep" and "gone" are two different facts, and a battery camera reports
3
+ * neither by itself.
4
+ *
5
+ * A mains camera answers "are you there?" because something may ask it. A
6
+ * battery camera may not be asked: the question IS the damage — a Baichuan
7
+ * login on a sleeping Argus is itself a wake event, so a reachability poll
8
+ * that proves a camera is alive is the same poll that flattens it (D173).
9
+ *
10
+ * That leaves exactly one honest way to tell a healthy sleeper from a dead
11
+ * battery: **wait, and notice**. Every signal that reaches us WITHOUT us
12
+ * reaching for the camera — a firmware push, an inbound motion email, an
13
+ * observed wake, a round-trip somebody else's demand already paid for — stamps
14
+ * `BatteryStatus.lastContactAt`. Silence past a threshold is then a positive
15
+ * observation rather than an absence of one.
16
+ *
17
+ * ## Why this is a function and not a stored field
18
+ *
19
+ * The stored fact is the CONTACT. The verdict is a reading of it against a
20
+ * clock and a threshold, so storing the verdict would create a second
21
+ * authority that goes stale the moment nobody rewrites it — the exact shape
22
+ * D62 forbids for per-camera switches, for the same reason: two knobs that can
23
+ * disagree are worse than one. Every surface (badge, camera status, snapshot
24
+ * courtesy frame, stream error) calls this, so they cannot disagree.
25
+ *
26
+ * ## The failure direction
27
+ *
28
+ * Toward `sleeping`. `unreachable` is a FAULT — it lights a badge and it is
29
+ * meant to be believed — so it is only ever returned when we have positively
30
+ * seen silence for longer than the threshold. A slice we have never written
31
+ * (`lastContactAt` absent or 0) answers `sleeping`, never `unreachable`: a
32
+ * freshly-adopted camera, or one whose slice was lost, has told us nothing,
33
+ * and "we know nothing" must never be painted as "it is broken". That is D62's
34
+ * rule — disabled must never look like broken — applied to the third state.
35
+ */
36
+ import type { BatteryStatus } from '../capabilities/battery.cap.js';
37
+ /**
38
+ * What a battery-operated device is doing, as far as PASSIVE evidence can say.
39
+ *
40
+ * - `awake` — the firmware is up right now. Reads are cheap, streams dial.
41
+ * - `sleeping` — low-power, and that is NORMAL. Not a fault, never a fault
42
+ * badge; a stream can still be had by asking for a wake.
43
+ * - `unreachable` — nothing passive has arrived for longer than the
44
+ * threshold. Flat battery, off the LAN, unpaired. This IS a fault and the
45
+ * surface must say so.
46
+ */
47
+ export type BatteryPresence = 'awake' | 'sleeping' | 'unreachable';
48
+ /**
49
+ * Default silence budget before a sleeping battery camera is called gone.
50
+ *
51
+ * Sized off the mechanism that produces contact, not off taste: a battery cam
52
+ * on this deployment surfaces a firmware push (battery level, sleep/wake, or a
53
+ * motion email) on the order of hours even with no visitors, and the snapshot
54
+ * wrapper's own battery window is 1 hour. Six hours is therefore several
55
+ * missed opportunities, not one — so a single quiet night does not raise a
56
+ * fault, and a genuinely flat camera is named well inside a day.
57
+ */
58
+ export declare const BATTERY_UNREACHABLE_AFTER_MS: number;
59
+ export interface BatteryPresenceInput {
60
+ /** The device's `battery` runtime-state slice, or `undefined` when it has none. */
61
+ readonly status: Pick<BatteryStatus, 'sleeping' | 'lastContactAt'> | undefined | null;
62
+ /** Clock. Pass explicitly from callers that already hold one. */
63
+ readonly nowMs: number;
64
+ /** Silence budget. Defaults to {@link BATTERY_UNREACHABLE_AFTER_MS}. */
65
+ readonly unreachableAfterMs?: number;
66
+ }
67
+ /**
68
+ * THE derivation. One crop rectangle, one presence verdict — see D52 for why
69
+ * this repo insists a derived value has exactly one implementation.
70
+ *
71
+ * `undefined` status ⇒ `sleeping`. A device with no slice has made no claim,
72
+ * and the caller decides separately whether it is even battery-operated
73
+ * (`DeviceFeature.BatteryOperated`); this function never answers that
74
+ * question, only what a battery device is doing.
75
+ */
76
+ export declare function deriveBatteryPresence(input: BatteryPresenceInput): BatteryPresence;
77
+ /**
78
+ * Is this presence a FAULT the operator should be told about?
79
+ *
80
+ * Exists so no surface has to re-decide it — the whole point of the third
81
+ * state is that `sleeping` stops being rendered as breakage, and a caller that
82
+ * writes `presence !== 'awake'` has silently undone that.
83
+ */
84
+ export declare function isBatteryPresenceFault(presence: BatteryPresence): boolean;
@@ -8808,14 +8808,14 @@ export type AppRouter = TrpcCoreRouter<{
8808
8808
  }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
8809
8809
  listCapabilities: import("@trpc/server").TRPCQueryProcedure<{
8810
8810
  input: void;
8811
- output: import("packages/types/dist").CapabilityInfo[];
8811
+ output: import("@camstack/types").CapabilityInfo[];
8812
8812
  meta: object;
8813
8813
  }>;
8814
8814
  getCapability: import("@trpc/server").TRPCQueryProcedure<{
8815
8815
  input: {
8816
8816
  name: string;
8817
8817
  };
8818
- output: import("packages/types/dist").CapabilityInfo | null;
8818
+ output: import("@camstack/types").CapabilityInfo | null;
8819
8819
  meta: object;
8820
8820
  }>;
8821
8821
  setActiveSingleton: import("@trpc/server").TRPCMutationProcedure<{
@@ -8887,14 +8887,14 @@ export type AppRouter = TrpcCoreRouter<{
8887
8887
  }>> & import("@trpc/server").TRPCDecorateCreateRouterOptions<{
8888
8888
  listCapabilities: import("@trpc/server").TRPCQueryProcedure<{
8889
8889
  input: void;
8890
- output: import("packages/types/dist").CapabilityInfo[];
8890
+ output: import("@camstack/types").CapabilityInfo[];
8891
8891
  meta: object;
8892
8892
  }>;
8893
8893
  getCapability: import("@trpc/server").TRPCQueryProcedure<{
8894
8894
  input: {
8895
8895
  name: string;
8896
8896
  };
8897
- output: import("packages/types/dist").CapabilityInfo | null;
8897
+ output: import("@camstack/types").CapabilityInfo | null;
8898
8898
  meta: object;
8899
8899
  }>;
8900
8900
  setActiveSingleton: import("@trpc/server").TRPCMutationProcedure<{
@@ -9131,14 +9131,14 @@ export type AppRouter = TrpcCoreRouter<{
9131
9131
  category?: string | undefined;
9132
9132
  limit?: number | undefined;
9133
9133
  } | undefined;
9134
- output: readonly import("packages/types/dist").SystemEvent[];
9134
+ output: readonly import("@camstack/types").SystemEvent[];
9135
9135
  meta: object;
9136
9136
  }>;
9137
9137
  onEvent: import("@trpc/server").TRPCSubscriptionProcedure<{
9138
9138
  input: {
9139
9139
  category?: string | undefined;
9140
9140
  };
9141
- output: AsyncIterable<import("packages/types/dist").SystemEvent, any, any>;
9141
+ output: AsyncIterable<import("@camstack/types").SystemEvent, any, any>;
9142
9142
  meta: object;
9143
9143
  }>;
9144
9144
  onDeviceEvent: import("@trpc/server").TRPCSubscriptionProcedure<{
@@ -9154,14 +9154,14 @@ export type AppRouter = TrpcCoreRouter<{
9154
9154
  category?: string | undefined;
9155
9155
  limit?: number | undefined;
9156
9156
  } | undefined;
9157
- output: readonly import("packages/types/dist").SystemEvent[];
9157
+ output: readonly import("@camstack/types").SystemEvent[];
9158
9158
  meta: object;
9159
9159
  }>;
9160
9160
  onEvent: import("@trpc/server").TRPCSubscriptionProcedure<{
9161
9161
  input: {
9162
9162
  category?: string | undefined;
9163
9163
  };
9164
- output: AsyncIterable<import("packages/types/dist").SystemEvent, any, any>;
9164
+ output: AsyncIterable<import("@camstack/types").SystemEvent, any, any>;
9165
9165
  meta: object;
9166
9166
  }>;
9167
9167
  onDeviceEvent: import("@trpc/server").TRPCSubscriptionProcedure<{
@@ -49,6 +49,7 @@ import { ptzAutotrackCapability } from '../capabilities/ptz-autotrack.cap.js';
49
49
  import { sceneMonitorCapability } from '../capabilities/scene-monitor.cap.js';
50
50
  import { scriptRunnerCapability } from '../capabilities/script-runner.cap.js';
51
51
  import { smokeCapability } from '../capabilities/smoke.cap.js';
52
+ import { streamCatalogCapability } from '../capabilities/stream-catalog.cap.js';
52
53
  import { streamParamsCapability } from '../capabilities/stream-params.cap.js';
53
54
  import { switchCapability } from '../capabilities/switch.cap.js';
54
55
  import { tamperCapability } from '../capabilities/tamper.cap.js';
@@ -124,6 +125,7 @@ export interface DeviceLocalState {
124
125
  sceneMonitor: InferRuntimeState<typeof sceneMonitorCapability>;
125
126
  scriptRunner: InferRuntimeState<typeof scriptRunnerCapability>;
126
127
  smoke: InferRuntimeState<typeof smokeCapability>;
128
+ streamCatalog: InferRuntimeState<typeof streamCatalogCapability>;
127
129
  streamParams: InferRuntimeState<typeof streamParamsCapability>;
128
130
  switch: InferRuntimeState<typeof switchCapability>;
129
131
  tamper: InferRuntimeState<typeof tamperCapability>;
@@ -209,6 +211,7 @@ export interface CapNameToRuntimeStateMap {
209
211
  'scene-monitor': InferRuntimeState<typeof sceneMonitorCapability>;
210
212
  'script-runner': InferRuntimeState<typeof scriptRunnerCapability>;
211
213
  'smoke': InferRuntimeState<typeof smokeCapability>;
214
+ 'stream-catalog': InferRuntimeState<typeof streamCatalogCapability>;
212
215
  'stream-params': InferRuntimeState<typeof streamParamsCapability>;
213
216
  'switch': InferRuntimeState<typeof switchCapability>;
214
217
  'tamper': InferRuntimeState<typeof tamperCapability>;
@@ -154,6 +154,7 @@ export interface DeviceProxyState {
154
154
  readonly sceneMonitor: SliceHandle<InferRuntimeState<typeof sceneMonitorCapability>>;
155
155
  readonly scriptRunner: SliceHandle<InferRuntimeState<typeof scriptRunnerCapability>>;
156
156
  readonly smoke: SliceHandle<InferRuntimeState<typeof smokeCapability>>;
157
+ readonly streamCatalog: SliceHandle<InferRuntimeState<typeof streamCatalogCapability>>;
157
158
  readonly streamParams: SliceHandle<InferRuntimeState<typeof streamParamsCapability>>;
158
159
  readonly switch: SliceHandle<InferRuntimeState<typeof switchCapability>>;
159
160
  readonly tamper: SliceHandle<InferRuntimeState<typeof tamperCapability>>;
@@ -11,7 +11,7 @@ export interface RuntimeStatePolicy {
11
11
  }
12
12
  /**
13
13
  * Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
14
- * `runtimeState`. 63 caps: 33 `restored`, 30 `session`.
14
+ * `runtimeState`. 64 caps: 34 `restored`, 30 `session`.
15
15
  *
16
16
  * A cap absent from this map has no runtime-state slice at all. A cap PRESENT
17
17
  * with `durability: 'session'` has one and has decided not to keep it.
package/dist/index.d.ts CHANGED
@@ -147,6 +147,8 @@ export { DeviceRuntimeState } from './device/device-runtime-state.js';
147
147
  export type { SliceHandle, SliceHandleApi, SliceHandleSource, } from './device/device-state-handle.js';
148
148
  export { createLazyTrpcSource, createMirrorSource, createSliceHandle, } from './device/device-state-handle.js';
149
149
  export { ChargingStatus, DeviceFeature, DeviceRole, DeviceType } from './device/device-type.js';
150
+ export type { BatteryPresence, BatteryPresenceInput } from './device/battery-presence.js';
151
+ export { BATTERY_UNREACHABLE_AFTER_MS, deriveBatteryPresence, isBatteryPresenceFault, } from './device/battery-presence.js';
150
152
  export type { IBatteryOperated, IDoorbellButton, INativeSnapshot, IPanTiltZoom, IRebootable, ITwoWayAudio, } from './device/features.js';
151
153
  export { getByPath, setByPath } from './device/path-util.js';
152
154
  export type { ReachabilityPollHandle, ReachabilityPollLogger, ReachabilityPollOptions, } from './device/reachability-poll.js';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_event_category = require("./event-category-D3gG7oil.js");
3
- const require_sleep = require("./sleep-DslGLq5_.js");
3
+ const require_sleep = require("./sleep-CoL-9qhR.js");
4
4
  const require_canonical_hash = require("./canonical-hash-DNV8S5ET.js");
5
5
  const require_enums = require("./enums.js");
6
6
  const require_err_msg = require("./err-msg-COpsHMw2.js");
@@ -21363,6 +21363,25 @@ var BatteryStatusSchema = zod.z.object({
21363
21363
  /** Ms epoch of the last observation. Lets consumers reason about freshness. */
21364
21364
  lastUpdated: zod.z.number(),
21365
21365
  /**
21366
+ * Ms epoch of the last time the device PROVED it was reachable — a
21367
+ * completed firmware round-trip, an observed wake, or an inbound push
21368
+ * (firmware event, email). `0`/absent = never since this slice was born.
21369
+ *
21370
+ * This is the ONLY input that separates "asleep" from "gone", and it is
21371
+ * fed exclusively by PASSIVE signals: nothing may write it by reaching
21372
+ * for the radio, because a poll that confirms reachability is the same
21373
+ * poll that drains the battery. See {@link deriveBatteryPresence} — the
21374
+ * single derivation every consumer must use; no surface computes its own.
21375
+ *
21376
+ * It is deliberately NOT a clock in the
21377
+ * `scripts/check-runtime-state-durability.ts` sense: it is the
21378
+ * observation itself, and it is the only thing a 30-hour silence is
21379
+ * visible in. Writers quantise it (see `CONTACT_WRITE_QUANTUM_MS` in the
21380
+ * Reolink provider) so a value that means "recently" cannot cost a
21381
+ * SQLite commit per round-trip.
21382
+ */
21383
+ lastContactAt: zod.z.number().optional(),
21384
+ /**
21366
21385
  * True when the source is a BINARY low-battery indicator (HA
21367
21386
  * `binary_sensor` device_class=battery / `LOW_BAT`) that has no real
21368
21387
  * charge level — `percentage` is then a coarse stand-in (100 = normal,
@@ -28335,13 +28354,63 @@ var CamStreamDescriptorSchema = zod.z.object({
28335
28354
  * set of stream descriptors it can offer for the device, synchronously, so the
28336
28355
  * broker can reconcile its registry against the authoritative provider state.
28337
28356
  */
28357
+ /**
28358
+ * The catalog as a DURABLE fact rather than a live answer.
28359
+ *
28360
+ * A battery camera's descriptors are profile-stable — they change when the
28361
+ * operator rewrites an encoder profile, not minute to minute — but building
28362
+ * them costs a Baichuan login, which on a sleeping Argus IS a wake. So the
28363
+ * provider is allowed to build them exactly once per profile and must serve
28364
+ * every later pull from a cache.
28365
+ *
28366
+ * Holding that cache only in RAM is what turned a restart into an outage. The
28367
+ * runner comes back with the camera asleep, `buildStreamCatalogUncached`
28368
+ * correctly refuses to wake it, the pull answers `[]`, the broker has no
28369
+ * cam-stream entry to build a broker from, and `webrtcSession.handleOffer`
28370
+ * fails with a flat "No broker for stream" — for as long as the camera sleeps,
28371
+ * which on a battery cam is most of the day. The camera was fine. The stream
28372
+ * was unreachable because the process had forgotten what the camera offers.
28373
+ *
28374
+ * Declaring it here puts it in `device-runtime-state`, the kernel's canonical
28375
+ * declared collection, with the same `restored` durability `battery` uses for
28376
+ * the same reason: the last known value is the only value there is while the
28377
+ * device is asleep. The broker's brokers are therefore always DEFINABLE — it
28378
+ * is the DIAL that wakes a camera, never the catalog (D173).
28379
+ */
28380
+ var StreamCatalogStateSchema = zod.z.object({
28381
+ /** The descriptors as last built from a real camera response. Never a guess:
28382
+ * a failed or refused build writes NOTHING, so a restored catalog is always
28383
+ * one the camera itself once produced. */
28384
+ descriptors: zod.z.array(CamStreamDescriptorSchema),
28385
+ /** Ms epoch of the build that produced {@link descriptors}. Lets the wake
28386
+ * path decide whether the camera's own awake window is worth spending on a
28387
+ * re-read. */
28388
+ lastFetchedAt: zod.z.number()
28389
+ });
28338
28390
  var streamCatalogCapability = {
28339
28391
  name: "stream-catalog",
28340
28392
  scope: "device",
28341
28393
  deviceNative: true,
28342
28394
  mode: "singleton",
28343
28395
  deviceTypes: [require_sleep.DeviceType.Camera],
28344
- methods: { getCatalog: require_sleep.method(zod.z.object({ deviceId: zod.z.number().int().nonnegative() }), zod.z.array(CamStreamDescriptorSchema).readonly()) }
28396
+ methods: { getCatalog: require_sleep.method(zod.z.object({ deviceId: zod.z.number().int().nonnegative() }), zod.z.array(CamStreamDescriptorSchema).readonly()) },
28397
+ runtimeState: StreamCatalogStateSchema,
28398
+ /**
28399
+ * Runtime-state durability: **restored** — see the schema doc. A cold
28400
+ * catalog on a sleeping battery camera is not a slow first frame, it is a
28401
+ * camera that cannot be watched at all until it happens to wake.
28402
+ *
28403
+ * Churn is nil by construction: the slice is written only by a SUCCESSFUL
28404
+ * build, and a build only runs when there is no cached copy (or the copy is
28405
+ * a day old and the camera is awake anyway).
28406
+ *
28407
+ * See `RuntimeStateDurability`. Enforced by
28408
+ * `scripts/check-runtime-state-durability.ts`.
28409
+ */
28410
+ durability: "restored",
28411
+ /** Clock field: written, but excluded from the compare that decides whether
28412
+ * persisting is worth a SQLite commit — the descriptors are the value. */
28413
+ volatileStateFields: ["lastFetchedAt"]
28345
28414
  };
28346
28415
  //#endregion
28347
28416
  //#region src/capabilities/stream-params.cap.ts
@@ -30572,6 +30641,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
30572
30641
  sceneMonitor: sceneMonitorCapability,
30573
30642
  scriptRunner: scriptRunnerCapability,
30574
30643
  smoke: smokeCapability,
30644
+ streamCatalog: streamCatalogCapability,
30575
30645
  streamParams: streamParamsCapability,
30576
30646
  switch: switchCapability,
30577
30647
  tamper: tamperCapability,
@@ -31795,6 +31865,47 @@ function resolveDeviceProfile(features) {
31795
31865
  return null;
31796
31866
  }
31797
31867
  //#endregion
31868
+ //#region src/device/battery-presence.ts
31869
+ /**
31870
+ * Default silence budget before a sleeping battery camera is called gone.
31871
+ *
31872
+ * Sized off the mechanism that produces contact, not off taste: a battery cam
31873
+ * on this deployment surfaces a firmware push (battery level, sleep/wake, or a
31874
+ * motion email) on the order of hours even with no visitors, and the snapshot
31875
+ * wrapper's own battery window is 1 hour. Six hours is therefore several
31876
+ * missed opportunities, not one — so a single quiet night does not raise a
31877
+ * fault, and a genuinely flat camera is named well inside a day.
31878
+ */
31879
+ var BATTERY_UNREACHABLE_AFTER_MS = 360 * 6e4;
31880
+ /**
31881
+ * THE derivation. One crop rectangle, one presence verdict — see D52 for why
31882
+ * this repo insists a derived value has exactly one implementation.
31883
+ *
31884
+ * `undefined` status ⇒ `sleeping`. A device with no slice has made no claim,
31885
+ * and the caller decides separately whether it is even battery-operated
31886
+ * (`DeviceFeature.BatteryOperated`); this function never answers that
31887
+ * question, only what a battery device is doing.
31888
+ */
31889
+ function deriveBatteryPresence(input) {
31890
+ const status = input.status;
31891
+ if (!status) return "sleeping";
31892
+ if (status.sleeping !== true) return "awake";
31893
+ const lastContactAt = status.lastContactAt;
31894
+ if (typeof lastContactAt !== "number" || lastContactAt <= 0) return "sleeping";
31895
+ const budget = input.unreachableAfterMs ?? 216e5;
31896
+ return input.nowMs - lastContactAt > budget ? "unreachable" : "sleeping";
31897
+ }
31898
+ /**
31899
+ * Is this presence a FAULT the operator should be told about?
31900
+ *
31901
+ * Exists so no surface has to re-decide it — the whole point of the third
31902
+ * state is that `sleeping` stops being rendered as breakage, and a caller that
31903
+ * writes `presence !== 'awake'` has silently undone that.
31904
+ */
31905
+ function isBatteryPresenceFault(presence) {
31906
+ return presence === "unreachable";
31907
+ }
31908
+ //#endregion
31798
31909
  //#region src/device/path-util.ts
31799
31910
  /** Returns true when `x` is a non-null, non-array plain object. */
31800
31911
  function isRecord(x) {
@@ -41562,7 +41673,7 @@ function getCapsByProviderKind(kind) {
41562
41673
  //#region src/generated/runtime-state-durability.ts
41563
41674
  /**
41564
41675
  * Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
41565
- * `runtimeState`. 63 caps: 33 `restored`, 30 `session`.
41676
+ * `runtimeState`. 64 caps: 34 `restored`, 30 `session`.
41566
41677
  *
41567
41678
  * A cap absent from this map has no runtime-state slice at all. A cap PRESENT
41568
41679
  * with `durability: 'session'` has one and has decided not to keep it.
@@ -41768,6 +41879,10 @@ var RUNTIME_STATE_POLICY = {
41768
41879
  durability: "restored",
41769
41880
  volatileFields: ["lastChangedAt"]
41770
41881
  },
41882
+ "stream-catalog": {
41883
+ durability: "restored",
41884
+ volatileFields: ["lastFetchedAt"]
41885
+ },
41771
41886
  "stream-params": {
41772
41887
  durability: "restored",
41773
41888
  volatileFields: ["lastFetchedAt"]
@@ -41868,6 +41983,7 @@ var RESTORED_CAP_NAMES = [
41868
41983
  "pressure-sensor",
41869
41984
  "privacy-mask",
41870
41985
  "smoke",
41986
+ "stream-catalog",
41871
41987
  "stream-params",
41872
41988
  "switch",
41873
41989
  "tamper",
@@ -45595,6 +45711,7 @@ exports.AvailableIntegrationTypeSchema = AvailableIntegrationTypeSchema;
45595
45711
  exports.BACKEND_TO_FORMAT = BACKEND_TO_FORMAT;
45596
45712
  exports.BASE_LIVE_EGRESS_PROFILE = BASE_LIVE_EGRESS_PROFILE;
45597
45713
  exports.BATTERY_DEVICE_PROFILE = BATTERY_DEVICE_PROFILE;
45714
+ exports.BATTERY_UNREACHABLE_AFTER_MS = BATTERY_UNREACHABLE_AFTER_MS;
45598
45715
  exports.BOOT_RECOVERY_BACKOFF_MS = require_sleep.BOOT_RECOVERY_BACKOFF_MS;
45599
45716
  exports.BacklightModeSchema = BacklightModeSchema;
45600
45717
  exports.BackupDestinationInfoSchema = BackupDestinationInfoSchema;
@@ -46522,6 +46639,7 @@ exports.decodeVectorBase64 = decodeVectorBase64;
46522
46639
  exports.decoderCapability = decoderCapability;
46523
46640
  exports.defaultDeviceFor = defaultDeviceFor;
46524
46641
  exports.defineCustomActions = defineCustomActions;
46642
+ exports.deriveBatteryPresence = deriveBatteryPresence;
46525
46643
  exports.deriveCameraSwitches = deriveCameraSwitches;
46526
46644
  exports.deriveDetailCropRect = deriveDetailCropRect;
46527
46645
  exports.deriveRecordingMode = deriveRecordingMode;
@@ -46591,6 +46709,7 @@ exports.isAgentOnlyPlacement = isAgentOnlyPlacement;
46591
46709
  exports.isArrayOutputSchema = isArrayOutputSchema;
46592
46710
  exports.isAudioLabelSelected = isAudioLabelSelected;
46593
46711
  exports.isBaseConditionKey = isBaseConditionKey;
46712
+ exports.isBatteryPresenceFault = isBatteryPresenceFault;
46594
46713
  exports.isCollectionArrayMethod = isCollectionArrayMethod;
46595
46714
  exports.isDeployableToAgent = isDeployableToAgent;
46596
46715
  exports.isDetectionMacroClass = isDetectionMacroClass;
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as EventCategory } from "./event-category-Bxo5yJjt.mjs";
2
- import { $ as EncodedPacketSchema, A as expandCapMethods, B as ReadinessTimeoutError, C as DeviceRole, Ct as WELL_KNOWN_TABS, D as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Dt as hydrateSchema, E as DEFAULT_RUNTIME_STATE_DURABILITY, Et as collectHydratedFieldValues, F as CAP_NODE_PIN_CONTEXT_KEY, G as BrokerStatusSchema, H as readinessKey, I as nodePin, J as CamStreamKindSchema, K as CAM_PROFILE_ORDER, L as readNodePin, M as method, N as resolveCapMount, O as DEVICE_STATUS_METHOD, Ot as resolveHydratedFieldValue, P as systemMethod, Q as DecodedFrameSchema, R as toNodeId, S as DeviceFeature, St as isEvent, T as adminUiCapability, Tt as collectHydratedFieldEntries, U as scopeKey, V as emitDownForOwnedCaps, W as BrokerStatsSchema, X as CameraStreamSchema, Y as CamStreamResolutionSchema, Z as DecodedAudioChunkSchema, _ as createSliceHandle, _t as BaseAddon, a as asJsonObject, at as StreamSourceEntrySchema, b as viewerUiCapability, bt as createEvent, c as parseJsonArray, ct as SubscribeAudioChunksResultSchema, d as BOOT_RECOVERY_BACKOFF_MS, dt as makeProfileBrokerId, et as FrameHandleFormatSchema, f as DEVICE_SCOPED_CAPS, ft as makeSourceBrokerId, g as createMirrorSource, gt as DisposerChain, h as createLazyTrpcSource, ht as DATAPLANE_SECRET_HEADER, i as asJsonArray, it as ProfileSlotStatusSchema, j as isDeviceConfigCap, k as event, l as parseJsonObject, lt as SubscribeFramesInputSchema, m as createDeviceProxy, mt as selectAssignedProfileSlots, n as sleepCancellable, nt as ProfileRtspEntrySchema, o as asNumber, ot as StreamSourceSchema, p as isDeviceScopedCap, pt as parseProfileBrokerId, q as CamProfileSchema, r as asBoolean, rt as ProfileSlotSchema, s as asString, st as SubscribeAudioChunksInputSchema, t as sleep, tt as FrameHandleSchema, u as parseJsonUnknown, ut as SubscribeFramesResultSchema, v as RawStateResultSchema, vt as normalizeAddonInitResult, w as DeviceType, wt as WELL_KNOWN_TAB_MAP, x as ChargingStatus, xt as emitReadiness, y as deviceOpsCapability, yt as createDurableState, z as ReadinessRegistry } from "./sleep-BfRjZ3C3.mjs";
2
+ import { $ as EncodedPacketSchema, A as expandCapMethods, B as ReadinessTimeoutError, C as DeviceRole, Ct as WELL_KNOWN_TABS, D as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Dt as hydrateSchema, E as DEFAULT_RUNTIME_STATE_DURABILITY, Et as collectHydratedFieldValues, F as CAP_NODE_PIN_CONTEXT_KEY, G as BrokerStatusSchema, H as readinessKey, I as nodePin, J as CamStreamKindSchema, K as CAM_PROFILE_ORDER, L as readNodePin, M as method, N as resolveCapMount, O as DEVICE_STATUS_METHOD, Ot as resolveHydratedFieldValue, P as systemMethod, Q as DecodedFrameSchema, R as toNodeId, S as DeviceFeature, St as isEvent, T as adminUiCapability, Tt as collectHydratedFieldEntries, U as scopeKey, V as emitDownForOwnedCaps, W as BrokerStatsSchema, X as CameraStreamSchema, Y as CamStreamResolutionSchema, Z as DecodedAudioChunkSchema, _ as createSliceHandle, _t as BaseAddon, a as asJsonObject, at as StreamSourceEntrySchema, b as viewerUiCapability, bt as createEvent, c as parseJsonArray, ct as SubscribeAudioChunksResultSchema, d as BOOT_RECOVERY_BACKOFF_MS, dt as makeProfileBrokerId, et as FrameHandleFormatSchema, f as DEVICE_SCOPED_CAPS, ft as makeSourceBrokerId, g as createMirrorSource, gt as DisposerChain, h as createLazyTrpcSource, ht as DATAPLANE_SECRET_HEADER, i as asJsonArray, it as ProfileSlotStatusSchema, j as isDeviceConfigCap, k as event, l as parseJsonObject, lt as SubscribeFramesInputSchema, m as createDeviceProxy, mt as selectAssignedProfileSlots, n as sleepCancellable, nt as ProfileRtspEntrySchema, o as asNumber, ot as StreamSourceSchema, p as isDeviceScopedCap, pt as parseProfileBrokerId, q as CamProfileSchema, r as asBoolean, rt as ProfileSlotSchema, s as asString, st as SubscribeAudioChunksInputSchema, t as sleep, tt as FrameHandleSchema, u as parseJsonUnknown, ut as SubscribeFramesResultSchema, v as RawStateResultSchema, vt as normalizeAddonInitResult, w as DeviceType, wt as WELL_KNOWN_TAB_MAP, x as ChargingStatus, xt as emitReadiness, y as deviceOpsCapability, yt as createDurableState, z as ReadinessRegistry } from "./sleep-DlC2kJYf.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";
@@ -21362,6 +21362,25 @@ var BatteryStatusSchema = z.object({
21362
21362
  /** Ms epoch of the last observation. Lets consumers reason about freshness. */
21363
21363
  lastUpdated: z.number(),
21364
21364
  /**
21365
+ * Ms epoch of the last time the device PROVED it was reachable — a
21366
+ * completed firmware round-trip, an observed wake, or an inbound push
21367
+ * (firmware event, email). `0`/absent = never since this slice was born.
21368
+ *
21369
+ * This is the ONLY input that separates "asleep" from "gone", and it is
21370
+ * fed exclusively by PASSIVE signals: nothing may write it by reaching
21371
+ * for the radio, because a poll that confirms reachability is the same
21372
+ * poll that drains the battery. See {@link deriveBatteryPresence} — the
21373
+ * single derivation every consumer must use; no surface computes its own.
21374
+ *
21375
+ * It is deliberately NOT a clock in the
21376
+ * `scripts/check-runtime-state-durability.ts` sense: it is the
21377
+ * observation itself, and it is the only thing a 30-hour silence is
21378
+ * visible in. Writers quantise it (see `CONTACT_WRITE_QUANTUM_MS` in the
21379
+ * Reolink provider) so a value that means "recently" cannot cost a
21380
+ * SQLite commit per round-trip.
21381
+ */
21382
+ lastContactAt: z.number().optional(),
21383
+ /**
21365
21384
  * True when the source is a BINARY low-battery indicator (HA
21366
21385
  * `binary_sensor` device_class=battery / `LOW_BAT`) that has no real
21367
21386
  * charge level — `percentage` is then a coarse stand-in (100 = normal,
@@ -28334,13 +28353,63 @@ var CamStreamDescriptorSchema = z.object({
28334
28353
  * set of stream descriptors it can offer for the device, synchronously, so the
28335
28354
  * broker can reconcile its registry against the authoritative provider state.
28336
28355
  */
28356
+ /**
28357
+ * The catalog as a DURABLE fact rather than a live answer.
28358
+ *
28359
+ * A battery camera's descriptors are profile-stable — they change when the
28360
+ * operator rewrites an encoder profile, not minute to minute — but building
28361
+ * them costs a Baichuan login, which on a sleeping Argus IS a wake. So the
28362
+ * provider is allowed to build them exactly once per profile and must serve
28363
+ * every later pull from a cache.
28364
+ *
28365
+ * Holding that cache only in RAM is what turned a restart into an outage. The
28366
+ * runner comes back with the camera asleep, `buildStreamCatalogUncached`
28367
+ * correctly refuses to wake it, the pull answers `[]`, the broker has no
28368
+ * cam-stream entry to build a broker from, and `webrtcSession.handleOffer`
28369
+ * fails with a flat "No broker for stream" — for as long as the camera sleeps,
28370
+ * which on a battery cam is most of the day. The camera was fine. The stream
28371
+ * was unreachable because the process had forgotten what the camera offers.
28372
+ *
28373
+ * Declaring it here puts it in `device-runtime-state`, the kernel's canonical
28374
+ * declared collection, with the same `restored` durability `battery` uses for
28375
+ * the same reason: the last known value is the only value there is while the
28376
+ * device is asleep. The broker's brokers are therefore always DEFINABLE — it
28377
+ * is the DIAL that wakes a camera, never the catalog (D173).
28378
+ */
28379
+ var StreamCatalogStateSchema = z.object({
28380
+ /** The descriptors as last built from a real camera response. Never a guess:
28381
+ * a failed or refused build writes NOTHING, so a restored catalog is always
28382
+ * one the camera itself once produced. */
28383
+ descriptors: z.array(CamStreamDescriptorSchema),
28384
+ /** Ms epoch of the build that produced {@link descriptors}. Lets the wake
28385
+ * path decide whether the camera's own awake window is worth spending on a
28386
+ * re-read. */
28387
+ lastFetchedAt: z.number()
28388
+ });
28337
28389
  var streamCatalogCapability = {
28338
28390
  name: "stream-catalog",
28339
28391
  scope: "device",
28340
28392
  deviceNative: true,
28341
28393
  mode: "singleton",
28342
28394
  deviceTypes: [DeviceType.Camera],
28343
- methods: { getCatalog: method(z.object({ deviceId: z.number().int().nonnegative() }), z.array(CamStreamDescriptorSchema).readonly()) }
28395
+ methods: { getCatalog: method(z.object({ deviceId: z.number().int().nonnegative() }), z.array(CamStreamDescriptorSchema).readonly()) },
28396
+ runtimeState: StreamCatalogStateSchema,
28397
+ /**
28398
+ * Runtime-state durability: **restored** — see the schema doc. A cold
28399
+ * catalog on a sleeping battery camera is not a slow first frame, it is a
28400
+ * camera that cannot be watched at all until it happens to wake.
28401
+ *
28402
+ * Churn is nil by construction: the slice is written only by a SUCCESSFUL
28403
+ * build, and a build only runs when there is no cached copy (or the copy is
28404
+ * a day old and the camera is awake anyway).
28405
+ *
28406
+ * See `RuntimeStateDurability`. Enforced by
28407
+ * `scripts/check-runtime-state-durability.ts`.
28408
+ */
28409
+ durability: "restored",
28410
+ /** Clock field: written, but excluded from the compare that decides whether
28411
+ * persisting is worth a SQLite commit — the descriptors are the value. */
28412
+ volatileStateFields: ["lastFetchedAt"]
28344
28413
  };
28345
28414
  //#endregion
28346
28415
  //#region src/capabilities/stream-params.cap.ts
@@ -30571,6 +30640,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
30571
30640
  sceneMonitor: sceneMonitorCapability,
30572
30641
  scriptRunner: scriptRunnerCapability,
30573
30642
  smoke: smokeCapability,
30643
+ streamCatalog: streamCatalogCapability,
30574
30644
  streamParams: streamParamsCapability,
30575
30645
  switch: switchCapability,
30576
30646
  tamper: tamperCapability,
@@ -31794,6 +31864,47 @@ function resolveDeviceProfile(features) {
31794
31864
  return null;
31795
31865
  }
31796
31866
  //#endregion
31867
+ //#region src/device/battery-presence.ts
31868
+ /**
31869
+ * Default silence budget before a sleeping battery camera is called gone.
31870
+ *
31871
+ * Sized off the mechanism that produces contact, not off taste: a battery cam
31872
+ * on this deployment surfaces a firmware push (battery level, sleep/wake, or a
31873
+ * motion email) on the order of hours even with no visitors, and the snapshot
31874
+ * wrapper's own battery window is 1 hour. Six hours is therefore several
31875
+ * missed opportunities, not one — so a single quiet night does not raise a
31876
+ * fault, and a genuinely flat camera is named well inside a day.
31877
+ */
31878
+ var BATTERY_UNREACHABLE_AFTER_MS = 360 * 6e4;
31879
+ /**
31880
+ * THE derivation. One crop rectangle, one presence verdict — see D52 for why
31881
+ * this repo insists a derived value has exactly one implementation.
31882
+ *
31883
+ * `undefined` status ⇒ `sleeping`. A device with no slice has made no claim,
31884
+ * and the caller decides separately whether it is even battery-operated
31885
+ * (`DeviceFeature.BatteryOperated`); this function never answers that
31886
+ * question, only what a battery device is doing.
31887
+ */
31888
+ function deriveBatteryPresence(input) {
31889
+ const status = input.status;
31890
+ if (!status) return "sleeping";
31891
+ if (status.sleeping !== true) return "awake";
31892
+ const lastContactAt = status.lastContactAt;
31893
+ if (typeof lastContactAt !== "number" || lastContactAt <= 0) return "sleeping";
31894
+ const budget = input.unreachableAfterMs ?? 216e5;
31895
+ return input.nowMs - lastContactAt > budget ? "unreachable" : "sleeping";
31896
+ }
31897
+ /**
31898
+ * Is this presence a FAULT the operator should be told about?
31899
+ *
31900
+ * Exists so no surface has to re-decide it — the whole point of the third
31901
+ * state is that `sleeping` stops being rendered as breakage, and a caller that
31902
+ * writes `presence !== 'awake'` has silently undone that.
31903
+ */
31904
+ function isBatteryPresenceFault(presence) {
31905
+ return presence === "unreachable";
31906
+ }
31907
+ //#endregion
31797
31908
  //#region src/device/path-util.ts
31798
31909
  /** Returns true when `x` is a non-null, non-array plain object. */
31799
31910
  function isRecord(x) {
@@ -41561,7 +41672,7 @@ function getCapsByProviderKind(kind) {
41561
41672
  //#region src/generated/runtime-state-durability.ts
41562
41673
  /**
41563
41674
  * Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
41564
- * `runtimeState`. 63 caps: 33 `restored`, 30 `session`.
41675
+ * `runtimeState`. 64 caps: 34 `restored`, 30 `session`.
41565
41676
  *
41566
41677
  * A cap absent from this map has no runtime-state slice at all. A cap PRESENT
41567
41678
  * with `durability: 'session'` has one and has decided not to keep it.
@@ -41767,6 +41878,10 @@ var RUNTIME_STATE_POLICY = {
41767
41878
  durability: "restored",
41768
41879
  volatileFields: ["lastChangedAt"]
41769
41880
  },
41881
+ "stream-catalog": {
41882
+ durability: "restored",
41883
+ volatileFields: ["lastFetchedAt"]
41884
+ },
41770
41885
  "stream-params": {
41771
41886
  durability: "restored",
41772
41887
  volatileFields: ["lastFetchedAt"]
@@ -41867,6 +41982,7 @@ var RESTORED_CAP_NAMES = [
41867
41982
  "pressure-sensor",
41868
41983
  "privacy-mask",
41869
41984
  "smoke",
41985
+ "stream-catalog",
41870
41986
  "stream-params",
41871
41987
  "switch",
41872
41988
  "tamper",
@@ -45521,4 +45637,4 @@ function enumerateInferenceDevices(hw) {
45521
45637
  return out;
45522
45638
  }
45523
45639
  //#endregion
45524
- export { ACCESSORY_LABEL, ACCESS_ROLES, ALEXA_EGRESS_PROFILE, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, AUDIO_ANALYSIS_CAP_NAME, AUDIO_BACKEND_CHOICES, AUDIO_MACRO_LABELS, AUDIO_PRESETS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionCandidateResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, AdoptionJobSchema, AdoptionJobStateSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, AdoptionOutcomeSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, ApiKeyRecordSchema, ApiKeySummarySchema, ArchiveEntrySchema, ArchiveManifestSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AuthResultSchema, AutoUpdateSettingsSchema, AutomationActionSchema, AutomationConditionOperatorSchema, AutomationConditionSchema, AutomationControlStatusSchema, AutomationRecipeSchema, AutomationTriggerSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BASE_LIVE_EGRESS_PROFILE, BATTERY_DEVICE_PROFILE, BOOT_RECOVERY_BACKOFF_MS, 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, DeviceSelectorSchema, 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, HfModelResolutionSchema, 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, LlmDownloadProgressSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRetryPolicySchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmTimeoutDefaults, 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, METHOD_DEVICE_SELECTORS, MODEL_FORMATS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelExtraFileSchema, 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, NcSceneConditionSchema, 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, SCENE_CONDITIONS, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, SCENE_DEFAULT_ANCHOR_THRESHOLD, SCENE_DEFAULT_CHECK_INTERVAL_SEC, SCENE_DEFAULT_OBSERVATION_SPACING_SEC, SCENE_DEFAULT_QUIET_SECONDS, SCENE_DEFAULT_UNCOVERED_POLICY, SCENE_DIVERGED, SCENE_RESET_RECAPTURES, SCOPE_PRESETS, 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, SYSTEM_SCOPE_DEVICE_METHODS, SceneCheckSchema, SceneConditionSchema, SceneConfirmSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusSchema, SceneReferenceSchema, SceneUnavailableSchema, SceneUncoveredPolicySchema, SceneVerdictSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, ScrubThumbnailPresetSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SetSiteLocationInputSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SiteLocationSchema, SiteLocationSourceSchema, SiteLocationStatusSchema, 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, audioModeOf, audioOrDefaults, audioPlanFromEncodeProfile, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, bareAddonId, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildAudioArgs, buildEventKindDescriptor, buildFfmpegArgs, buildInputArgs, buildModelVariantGroups, buildNcTaxonomy, buildRoleScopes, buildStreamParamsConfigSchema, buildVideoArgs, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, canonicalEgressPlan, carbonMonoxideCapability, cellsToRects, classifyBearerPrincipal, classifyStream, classifyStreams, climateControlCapability, 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, detectAccessRole, detectionPipelineCapability, deviceAdoptionCapability, deviceBackendToFormat, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceSelectorMatches, 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, normalizeTokenScopes, 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, resolveViewableDeviceIds, roleSpec, runInferenceStep, runtimeDevices, runtimeStatePolicyFor, sceneMonitorCapability, scopeInherits, 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, summarizeEffectiveScope, 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 };
45640
+ export { ACCESSORY_LABEL, ACCESS_ROLES, ALEXA_EGRESS_PROFILE, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, AUDIO_ANALYSIS_CAP_NAME, AUDIO_BACKEND_CHOICES, AUDIO_MACRO_LABELS, AUDIO_PRESETS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionCandidateResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, AdoptionJobSchema, AdoptionJobStateSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, AdoptionOutcomeSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, ApiKeyRecordSchema, ApiKeySummarySchema, ArchiveEntrySchema, ArchiveManifestSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AuthResultSchema, AutoUpdateSettingsSchema, AutomationActionSchema, AutomationConditionOperatorSchema, AutomationConditionSchema, AutomationControlStatusSchema, AutomationRecipeSchema, AutomationTriggerSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BASE_LIVE_EGRESS_PROFILE, BATTERY_DEVICE_PROFILE, BATTERY_UNREACHABLE_AFTER_MS, BOOT_RECOVERY_BACKOFF_MS, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, 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, DeviceSelectorSchema, 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, HfModelResolutionSchema, 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, LlmDownloadProgressSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRetryPolicySchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmTimeoutDefaults, 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, METHOD_DEVICE_SELECTORS, MODEL_FORMATS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelExtraFileSchema, 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, NcSceneConditionSchema, 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, SCENE_CONDITIONS, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, SCENE_DEFAULT_ANCHOR_THRESHOLD, SCENE_DEFAULT_CHECK_INTERVAL_SEC, SCENE_DEFAULT_OBSERVATION_SPACING_SEC, SCENE_DEFAULT_QUIET_SECONDS, SCENE_DEFAULT_UNCOVERED_POLICY, SCENE_DIVERGED, SCENE_RESET_RECAPTURES, SCOPE_PRESETS, 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, SYSTEM_SCOPE_DEVICE_METHODS, SceneCheckSchema, SceneConditionSchema, SceneConfirmSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusSchema, SceneReferenceSchema, SceneUnavailableSchema, SceneUncoveredPolicySchema, SceneVerdictSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, ScrubThumbnailPresetSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SetSiteLocationInputSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SiteLocationSchema, SiteLocationSourceSchema, SiteLocationStatusSchema, 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, audioModeOf, audioOrDefaults, audioPlanFromEncodeProfile, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, bareAddonId, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildAudioArgs, buildEventKindDescriptor, buildFfmpegArgs, buildInputArgs, buildModelVariantGroups, buildNcTaxonomy, buildRoleScopes, buildStreamParamsConfigSchema, buildVideoArgs, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, canonicalEgressPlan, carbonMonoxideCapability, cellsToRects, classifyBearerPrincipal, classifyStream, classifyStreams, climateControlCapability, 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, deriveBatteryPresence, deriveCameraSwitches, deriveDetailCropRect, deriveRecordingMode, describeModelVariant, detectAccessRole, detectionPipelineCapability, deviceAdoptionCapability, deviceBackendToFormat, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceSelectorMatches, 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, isBatteryPresenceFault, 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, normalizeTokenScopes, 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, resolveViewableDeviceIds, roleSpec, runInferenceStep, runtimeDevices, runtimeStatePolicyFor, sceneMonitorCapability, scopeInherits, 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, summarizeEffectiveScope, 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 };
@@ -2920,6 +2920,7 @@ function createDeviceProxy(api, binding, opts) {
2920
2920
  sceneMonitor: createSliceHandle(stateSource, binding.deviceId, "scene-monitor"),
2921
2921
  scriptRunner: createSliceHandle(stateSource, binding.deviceId, "script-runner"),
2922
2922
  smoke: createSliceHandle(stateSource, binding.deviceId, "smoke"),
2923
+ streamCatalog: createSliceHandle(stateSource, binding.deviceId, "stream-catalog"),
2923
2924
  streamParams: createSliceHandle(stateSource, binding.deviceId, "stream-params"),
2924
2925
  switch: createSliceHandle(stateSource, binding.deviceId, "switch"),
2925
2926
  tamper: createSliceHandle(stateSource, binding.deviceId, "tamper"),
@@ -2920,6 +2920,7 @@ function createDeviceProxy(api, binding, opts) {
2920
2920
  sceneMonitor: createSliceHandle(stateSource, binding.deviceId, "scene-monitor"),
2921
2921
  scriptRunner: createSliceHandle(stateSource, binding.deviceId, "script-runner"),
2922
2922
  smoke: createSliceHandle(stateSource, binding.deviceId, "smoke"),
2923
+ streamCatalog: createSliceHandle(stateSource, binding.deviceId, "stream-catalog"),
2923
2924
  streamParams: createSliceHandle(stateSource, binding.deviceId, "stream-params"),
2924
2925
  switch: createSliceHandle(stateSource, binding.deviceId, "switch"),
2925
2926
  tamper: createSliceHandle(stateSource, binding.deviceId, "tamper"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.76",
3
+ "version": "1.2.77",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",