@camstack/types 1.2.76 → 1.2.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.js +1 -1
- package/dist/addon.mjs +1 -1
- package/dist/capabilities/battery.cap.d.ts +4 -0
- package/dist/capabilities/index.d.ts +1 -1
- package/dist/capabilities/oauth-integration.cap.d.ts +2 -2
- package/dist/capabilities/snapshot.cap.d.ts +6 -0
- package/dist/capabilities/sso-bridge.cap.d.ts +3 -3
- package/dist/capabilities/stream-catalog.cap.d.ts +93 -0
- package/dist/capabilities/user-management.cap.d.ts +20 -20
- package/dist/device/battery-presence.d.ts +84 -0
- package/dist/generated/addon-api.d.ts +8 -8
- package/dist/generated/device-local-state.d.ts +3 -0
- package/dist/generated/device-proxy.d.ts +1 -0
- package/dist/generated/runtime-state-durability.d.ts +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +132 -4
- package/dist/index.mjs +130 -5
- package/dist/{sleep-DslGLq5_.js → sleep-CoL-9qhR.js} +1 -0
- package/dist/{sleep-BfRjZ3C3.mjs → sleep-DlC2kJYf.mjs} +1 -0
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_event_category = require("./event-category-D3gG7oil.js");
|
|
3
|
-
const require_sleep = require("./sleep-
|
|
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-
|
|
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("../
|
|
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("../
|
|
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>;
|
|
@@ -139,6 +139,12 @@ export declare const snapshotCapability: {
|
|
|
139
139
|
width: z.ZodNullable<z.ZodNumber>;
|
|
140
140
|
neverCaptured: z.ZodBoolean;
|
|
141
141
|
sleeping: z.ZodBoolean;
|
|
142
|
+
stateReason: z.ZodNullable<z.ZodEnum<{
|
|
143
|
+
sleeping: "sleeping";
|
|
144
|
+
unreachable: "unreachable";
|
|
145
|
+
disabled: "disabled";
|
|
146
|
+
waking: "waking";
|
|
147
|
+
}>>;
|
|
142
148
|
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind> & {
|
|
143
149
|
readonly systemOnly: true;
|
|
144
150
|
};
|
|
@@ -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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("../
|
|
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("
|
|
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("
|
|
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("
|
|
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("
|
|
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("
|
|
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("
|
|
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("
|
|
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("
|
|
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`.
|
|
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-
|
|
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");
|
|
@@ -19097,7 +19097,16 @@ targets: zod.z.array(zod.z.object({
|
|
|
19097
19097
|
/** A sleeping battery camera: the frame is deliberately stale and will
|
|
19098
19098
|
* NOT refresh in the background. A surface should say so rather than
|
|
19099
19099
|
* present it as current. */
|
|
19100
|
-
sleeping: zod.z.boolean()
|
|
19100
|
+
sleeping: zod.z.boolean(),
|
|
19101
|
+
/** Current device state rendered over the cached frame. State images
|
|
19102
|
+
* remain authoritative even when their photographic background is
|
|
19103
|
+
* old; null means the link must carry a current camera frame. */
|
|
19104
|
+
stateReason: zod.z.enum([
|
|
19105
|
+
"disabled",
|
|
19106
|
+
"sleeping",
|
|
19107
|
+
"unreachable",
|
|
19108
|
+
"waking"
|
|
19109
|
+
]).nullable()
|
|
19101
19110
|
})))
|
|
19102
19111
|
},
|
|
19103
19112
|
status: {
|
|
@@ -21363,6 +21372,25 @@ var BatteryStatusSchema = zod.z.object({
|
|
|
21363
21372
|
/** Ms epoch of the last observation. Lets consumers reason about freshness. */
|
|
21364
21373
|
lastUpdated: zod.z.number(),
|
|
21365
21374
|
/**
|
|
21375
|
+
* Ms epoch of the last time the device PROVED it was reachable — a
|
|
21376
|
+
* completed firmware round-trip, an observed wake, or an inbound push
|
|
21377
|
+
* (firmware event, email). `0`/absent = never since this slice was born.
|
|
21378
|
+
*
|
|
21379
|
+
* This is the ONLY input that separates "asleep" from "gone", and it is
|
|
21380
|
+
* fed exclusively by PASSIVE signals: nothing may write it by reaching
|
|
21381
|
+
* for the radio, because a poll that confirms reachability is the same
|
|
21382
|
+
* poll that drains the battery. See {@link deriveBatteryPresence} — the
|
|
21383
|
+
* single derivation every consumer must use; no surface computes its own.
|
|
21384
|
+
*
|
|
21385
|
+
* It is deliberately NOT a clock in the
|
|
21386
|
+
* `scripts/check-runtime-state-durability.ts` sense: it is the
|
|
21387
|
+
* observation itself, and it is the only thing a 30-hour silence is
|
|
21388
|
+
* visible in. Writers quantise it (see `CONTACT_WRITE_QUANTUM_MS` in the
|
|
21389
|
+
* Reolink provider) so a value that means "recently" cannot cost a
|
|
21390
|
+
* SQLite commit per round-trip.
|
|
21391
|
+
*/
|
|
21392
|
+
lastContactAt: zod.z.number().optional(),
|
|
21393
|
+
/**
|
|
21366
21394
|
* True when the source is a BINARY low-battery indicator (HA
|
|
21367
21395
|
* `binary_sensor` device_class=battery / `LOW_BAT`) that has no real
|
|
21368
21396
|
* charge level — `percentage` is then a coarse stand-in (100 = normal,
|
|
@@ -28335,13 +28363,63 @@ var CamStreamDescriptorSchema = zod.z.object({
|
|
|
28335
28363
|
* set of stream descriptors it can offer for the device, synchronously, so the
|
|
28336
28364
|
* broker can reconcile its registry against the authoritative provider state.
|
|
28337
28365
|
*/
|
|
28366
|
+
/**
|
|
28367
|
+
* The catalog as a DURABLE fact rather than a live answer.
|
|
28368
|
+
*
|
|
28369
|
+
* A battery camera's descriptors are profile-stable — they change when the
|
|
28370
|
+
* operator rewrites an encoder profile, not minute to minute — but building
|
|
28371
|
+
* them costs a Baichuan login, which on a sleeping Argus IS a wake. So the
|
|
28372
|
+
* provider is allowed to build them exactly once per profile and must serve
|
|
28373
|
+
* every later pull from a cache.
|
|
28374
|
+
*
|
|
28375
|
+
* Holding that cache only in RAM is what turned a restart into an outage. The
|
|
28376
|
+
* runner comes back with the camera asleep, `buildStreamCatalogUncached`
|
|
28377
|
+
* correctly refuses to wake it, the pull answers `[]`, the broker has no
|
|
28378
|
+
* cam-stream entry to build a broker from, and `webrtcSession.handleOffer`
|
|
28379
|
+
* fails with a flat "No broker for stream" — for as long as the camera sleeps,
|
|
28380
|
+
* which on a battery cam is most of the day. The camera was fine. The stream
|
|
28381
|
+
* was unreachable because the process had forgotten what the camera offers.
|
|
28382
|
+
*
|
|
28383
|
+
* Declaring it here puts it in `device-runtime-state`, the kernel's canonical
|
|
28384
|
+
* declared collection, with the same `restored` durability `battery` uses for
|
|
28385
|
+
* the same reason: the last known value is the only value there is while the
|
|
28386
|
+
* device is asleep. The broker's brokers are therefore always DEFINABLE — it
|
|
28387
|
+
* is the DIAL that wakes a camera, never the catalog (D173).
|
|
28388
|
+
*/
|
|
28389
|
+
var StreamCatalogStateSchema = zod.z.object({
|
|
28390
|
+
/** The descriptors as last built from a real camera response. Never a guess:
|
|
28391
|
+
* a failed or refused build writes NOTHING, so a restored catalog is always
|
|
28392
|
+
* one the camera itself once produced. */
|
|
28393
|
+
descriptors: zod.z.array(CamStreamDescriptorSchema),
|
|
28394
|
+
/** Ms epoch of the build that produced {@link descriptors}. Lets the wake
|
|
28395
|
+
* path decide whether the camera's own awake window is worth spending on a
|
|
28396
|
+
* re-read. */
|
|
28397
|
+
lastFetchedAt: zod.z.number()
|
|
28398
|
+
});
|
|
28338
28399
|
var streamCatalogCapability = {
|
|
28339
28400
|
name: "stream-catalog",
|
|
28340
28401
|
scope: "device",
|
|
28341
28402
|
deviceNative: true,
|
|
28342
28403
|
mode: "singleton",
|
|
28343
28404
|
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()) }
|
|
28405
|
+
methods: { getCatalog: require_sleep.method(zod.z.object({ deviceId: zod.z.number().int().nonnegative() }), zod.z.array(CamStreamDescriptorSchema).readonly()) },
|
|
28406
|
+
runtimeState: StreamCatalogStateSchema,
|
|
28407
|
+
/**
|
|
28408
|
+
* Runtime-state durability: **restored** — see the schema doc. A cold
|
|
28409
|
+
* catalog on a sleeping battery camera is not a slow first frame, it is a
|
|
28410
|
+
* camera that cannot be watched at all until it happens to wake.
|
|
28411
|
+
*
|
|
28412
|
+
* Churn is nil by construction: the slice is written only by a SUCCESSFUL
|
|
28413
|
+
* build, and a build only runs when there is no cached copy (or the copy is
|
|
28414
|
+
* a day old and the camera is awake anyway).
|
|
28415
|
+
*
|
|
28416
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
28417
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
28418
|
+
*/
|
|
28419
|
+
durability: "restored",
|
|
28420
|
+
/** Clock field: written, but excluded from the compare that decides whether
|
|
28421
|
+
* persisting is worth a SQLite commit — the descriptors are the value. */
|
|
28422
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
28345
28423
|
};
|
|
28346
28424
|
//#endregion
|
|
28347
28425
|
//#region src/capabilities/stream-params.cap.ts
|
|
@@ -30572,6 +30650,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
30572
30650
|
sceneMonitor: sceneMonitorCapability,
|
|
30573
30651
|
scriptRunner: scriptRunnerCapability,
|
|
30574
30652
|
smoke: smokeCapability,
|
|
30653
|
+
streamCatalog: streamCatalogCapability,
|
|
30575
30654
|
streamParams: streamParamsCapability,
|
|
30576
30655
|
switch: switchCapability,
|
|
30577
30656
|
tamper: tamperCapability,
|
|
@@ -31795,6 +31874,47 @@ function resolveDeviceProfile(features) {
|
|
|
31795
31874
|
return null;
|
|
31796
31875
|
}
|
|
31797
31876
|
//#endregion
|
|
31877
|
+
//#region src/device/battery-presence.ts
|
|
31878
|
+
/**
|
|
31879
|
+
* Default silence budget before a sleeping battery camera is called gone.
|
|
31880
|
+
*
|
|
31881
|
+
* Sized off the mechanism that produces contact, not off taste: a battery cam
|
|
31882
|
+
* on this deployment surfaces a firmware push (battery level, sleep/wake, or a
|
|
31883
|
+
* motion email) on the order of hours even with no visitors, and the snapshot
|
|
31884
|
+
* wrapper's own battery window is 1 hour. Six hours is therefore several
|
|
31885
|
+
* missed opportunities, not one — so a single quiet night does not raise a
|
|
31886
|
+
* fault, and a genuinely flat camera is named well inside a day.
|
|
31887
|
+
*/
|
|
31888
|
+
var BATTERY_UNREACHABLE_AFTER_MS = 360 * 6e4;
|
|
31889
|
+
/**
|
|
31890
|
+
* THE derivation. One crop rectangle, one presence verdict — see D52 for why
|
|
31891
|
+
* this repo insists a derived value has exactly one implementation.
|
|
31892
|
+
*
|
|
31893
|
+
* `undefined` status ⇒ `sleeping`. A device with no slice has made no claim,
|
|
31894
|
+
* and the caller decides separately whether it is even battery-operated
|
|
31895
|
+
* (`DeviceFeature.BatteryOperated`); this function never answers that
|
|
31896
|
+
* question, only what a battery device is doing.
|
|
31897
|
+
*/
|
|
31898
|
+
function deriveBatteryPresence(input) {
|
|
31899
|
+
const status = input.status;
|
|
31900
|
+
if (!status) return "sleeping";
|
|
31901
|
+
if (status.sleeping !== true) return "awake";
|
|
31902
|
+
const lastContactAt = status.lastContactAt;
|
|
31903
|
+
if (typeof lastContactAt !== "number" || lastContactAt <= 0) return "sleeping";
|
|
31904
|
+
const budget = input.unreachableAfterMs ?? 216e5;
|
|
31905
|
+
return input.nowMs - lastContactAt > budget ? "unreachable" : "sleeping";
|
|
31906
|
+
}
|
|
31907
|
+
/**
|
|
31908
|
+
* Is this presence a FAULT the operator should be told about?
|
|
31909
|
+
*
|
|
31910
|
+
* Exists so no surface has to re-decide it — the whole point of the third
|
|
31911
|
+
* state is that `sleeping` stops being rendered as breakage, and a caller that
|
|
31912
|
+
* writes `presence !== 'awake'` has silently undone that.
|
|
31913
|
+
*/
|
|
31914
|
+
function isBatteryPresenceFault(presence) {
|
|
31915
|
+
return presence === "unreachable";
|
|
31916
|
+
}
|
|
31917
|
+
//#endregion
|
|
31798
31918
|
//#region src/device/path-util.ts
|
|
31799
31919
|
/** Returns true when `x` is a non-null, non-array plain object. */
|
|
31800
31920
|
function isRecord(x) {
|
|
@@ -41562,7 +41682,7 @@ function getCapsByProviderKind(kind) {
|
|
|
41562
41682
|
//#region src/generated/runtime-state-durability.ts
|
|
41563
41683
|
/**
|
|
41564
41684
|
* Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
|
|
41565
|
-
* `runtimeState`.
|
|
41685
|
+
* `runtimeState`. 64 caps: 34 `restored`, 30 `session`.
|
|
41566
41686
|
*
|
|
41567
41687
|
* A cap absent from this map has no runtime-state slice at all. A cap PRESENT
|
|
41568
41688
|
* with `durability: 'session'` has one and has decided not to keep it.
|
|
@@ -41768,6 +41888,10 @@ var RUNTIME_STATE_POLICY = {
|
|
|
41768
41888
|
durability: "restored",
|
|
41769
41889
|
volatileFields: ["lastChangedAt"]
|
|
41770
41890
|
},
|
|
41891
|
+
"stream-catalog": {
|
|
41892
|
+
durability: "restored",
|
|
41893
|
+
volatileFields: ["lastFetchedAt"]
|
|
41894
|
+
},
|
|
41771
41895
|
"stream-params": {
|
|
41772
41896
|
durability: "restored",
|
|
41773
41897
|
volatileFields: ["lastFetchedAt"]
|
|
@@ -41868,6 +41992,7 @@ var RESTORED_CAP_NAMES = [
|
|
|
41868
41992
|
"pressure-sensor",
|
|
41869
41993
|
"privacy-mask",
|
|
41870
41994
|
"smoke",
|
|
41995
|
+
"stream-catalog",
|
|
41871
41996
|
"stream-params",
|
|
41872
41997
|
"switch",
|
|
41873
41998
|
"tamper",
|
|
@@ -45595,6 +45720,7 @@ exports.AvailableIntegrationTypeSchema = AvailableIntegrationTypeSchema;
|
|
|
45595
45720
|
exports.BACKEND_TO_FORMAT = BACKEND_TO_FORMAT;
|
|
45596
45721
|
exports.BASE_LIVE_EGRESS_PROFILE = BASE_LIVE_EGRESS_PROFILE;
|
|
45597
45722
|
exports.BATTERY_DEVICE_PROFILE = BATTERY_DEVICE_PROFILE;
|
|
45723
|
+
exports.BATTERY_UNREACHABLE_AFTER_MS = BATTERY_UNREACHABLE_AFTER_MS;
|
|
45598
45724
|
exports.BOOT_RECOVERY_BACKOFF_MS = require_sleep.BOOT_RECOVERY_BACKOFF_MS;
|
|
45599
45725
|
exports.BacklightModeSchema = BacklightModeSchema;
|
|
45600
45726
|
exports.BackupDestinationInfoSchema = BackupDestinationInfoSchema;
|
|
@@ -46522,6 +46648,7 @@ exports.decodeVectorBase64 = decodeVectorBase64;
|
|
|
46522
46648
|
exports.decoderCapability = decoderCapability;
|
|
46523
46649
|
exports.defaultDeviceFor = defaultDeviceFor;
|
|
46524
46650
|
exports.defineCustomActions = defineCustomActions;
|
|
46651
|
+
exports.deriveBatteryPresence = deriveBatteryPresence;
|
|
46525
46652
|
exports.deriveCameraSwitches = deriveCameraSwitches;
|
|
46526
46653
|
exports.deriveDetailCropRect = deriveDetailCropRect;
|
|
46527
46654
|
exports.deriveRecordingMode = deriveRecordingMode;
|
|
@@ -46591,6 +46718,7 @@ exports.isAgentOnlyPlacement = isAgentOnlyPlacement;
|
|
|
46591
46718
|
exports.isArrayOutputSchema = isArrayOutputSchema;
|
|
46592
46719
|
exports.isAudioLabelSelected = isAudioLabelSelected;
|
|
46593
46720
|
exports.isBaseConditionKey = isBaseConditionKey;
|
|
46721
|
+
exports.isBatteryPresenceFault = isBatteryPresenceFault;
|
|
46594
46722
|
exports.isCollectionArrayMethod = isCollectionArrayMethod;
|
|
46595
46723
|
exports.isDeployableToAgent = isDeployableToAgent;
|
|
46596
46724
|
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-
|
|
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";
|
|
@@ -19096,7 +19096,16 @@ targets: z.array(z.object({
|
|
|
19096
19096
|
/** A sleeping battery camera: the frame is deliberately stale and will
|
|
19097
19097
|
* NOT refresh in the background. A surface should say so rather than
|
|
19098
19098
|
* present it as current. */
|
|
19099
|
-
sleeping: z.boolean()
|
|
19099
|
+
sleeping: z.boolean(),
|
|
19100
|
+
/** Current device state rendered over the cached frame. State images
|
|
19101
|
+
* remain authoritative even when their photographic background is
|
|
19102
|
+
* old; null means the link must carry a current camera frame. */
|
|
19103
|
+
stateReason: z.enum([
|
|
19104
|
+
"disabled",
|
|
19105
|
+
"sleeping",
|
|
19106
|
+
"unreachable",
|
|
19107
|
+
"waking"
|
|
19108
|
+
]).nullable()
|
|
19100
19109
|
})))
|
|
19101
19110
|
},
|
|
19102
19111
|
status: {
|
|
@@ -21362,6 +21371,25 @@ var BatteryStatusSchema = z.object({
|
|
|
21362
21371
|
/** Ms epoch of the last observation. Lets consumers reason about freshness. */
|
|
21363
21372
|
lastUpdated: z.number(),
|
|
21364
21373
|
/**
|
|
21374
|
+
* Ms epoch of the last time the device PROVED it was reachable — a
|
|
21375
|
+
* completed firmware round-trip, an observed wake, or an inbound push
|
|
21376
|
+
* (firmware event, email). `0`/absent = never since this slice was born.
|
|
21377
|
+
*
|
|
21378
|
+
* This is the ONLY input that separates "asleep" from "gone", and it is
|
|
21379
|
+
* fed exclusively by PASSIVE signals: nothing may write it by reaching
|
|
21380
|
+
* for the radio, because a poll that confirms reachability is the same
|
|
21381
|
+
* poll that drains the battery. See {@link deriveBatteryPresence} — the
|
|
21382
|
+
* single derivation every consumer must use; no surface computes its own.
|
|
21383
|
+
*
|
|
21384
|
+
* It is deliberately NOT a clock in the
|
|
21385
|
+
* `scripts/check-runtime-state-durability.ts` sense: it is the
|
|
21386
|
+
* observation itself, and it is the only thing a 30-hour silence is
|
|
21387
|
+
* visible in. Writers quantise it (see `CONTACT_WRITE_QUANTUM_MS` in the
|
|
21388
|
+
* Reolink provider) so a value that means "recently" cannot cost a
|
|
21389
|
+
* SQLite commit per round-trip.
|
|
21390
|
+
*/
|
|
21391
|
+
lastContactAt: z.number().optional(),
|
|
21392
|
+
/**
|
|
21365
21393
|
* True when the source is a BINARY low-battery indicator (HA
|
|
21366
21394
|
* `binary_sensor` device_class=battery / `LOW_BAT`) that has no real
|
|
21367
21395
|
* charge level — `percentage` is then a coarse stand-in (100 = normal,
|
|
@@ -28334,13 +28362,63 @@ var CamStreamDescriptorSchema = z.object({
|
|
|
28334
28362
|
* set of stream descriptors it can offer for the device, synchronously, so the
|
|
28335
28363
|
* broker can reconcile its registry against the authoritative provider state.
|
|
28336
28364
|
*/
|
|
28365
|
+
/**
|
|
28366
|
+
* The catalog as a DURABLE fact rather than a live answer.
|
|
28367
|
+
*
|
|
28368
|
+
* A battery camera's descriptors are profile-stable — they change when the
|
|
28369
|
+
* operator rewrites an encoder profile, not minute to minute — but building
|
|
28370
|
+
* them costs a Baichuan login, which on a sleeping Argus IS a wake. So the
|
|
28371
|
+
* provider is allowed to build them exactly once per profile and must serve
|
|
28372
|
+
* every later pull from a cache.
|
|
28373
|
+
*
|
|
28374
|
+
* Holding that cache only in RAM is what turned a restart into an outage. The
|
|
28375
|
+
* runner comes back with the camera asleep, `buildStreamCatalogUncached`
|
|
28376
|
+
* correctly refuses to wake it, the pull answers `[]`, the broker has no
|
|
28377
|
+
* cam-stream entry to build a broker from, and `webrtcSession.handleOffer`
|
|
28378
|
+
* fails with a flat "No broker for stream" — for as long as the camera sleeps,
|
|
28379
|
+
* which on a battery cam is most of the day. The camera was fine. The stream
|
|
28380
|
+
* was unreachable because the process had forgotten what the camera offers.
|
|
28381
|
+
*
|
|
28382
|
+
* Declaring it here puts it in `device-runtime-state`, the kernel's canonical
|
|
28383
|
+
* declared collection, with the same `restored` durability `battery` uses for
|
|
28384
|
+
* the same reason: the last known value is the only value there is while the
|
|
28385
|
+
* device is asleep. The broker's brokers are therefore always DEFINABLE — it
|
|
28386
|
+
* is the DIAL that wakes a camera, never the catalog (D173).
|
|
28387
|
+
*/
|
|
28388
|
+
var StreamCatalogStateSchema = z.object({
|
|
28389
|
+
/** The descriptors as last built from a real camera response. Never a guess:
|
|
28390
|
+
* a failed or refused build writes NOTHING, so a restored catalog is always
|
|
28391
|
+
* one the camera itself once produced. */
|
|
28392
|
+
descriptors: z.array(CamStreamDescriptorSchema),
|
|
28393
|
+
/** Ms epoch of the build that produced {@link descriptors}. Lets the wake
|
|
28394
|
+
* path decide whether the camera's own awake window is worth spending on a
|
|
28395
|
+
* re-read. */
|
|
28396
|
+
lastFetchedAt: z.number()
|
|
28397
|
+
});
|
|
28337
28398
|
var streamCatalogCapability = {
|
|
28338
28399
|
name: "stream-catalog",
|
|
28339
28400
|
scope: "device",
|
|
28340
28401
|
deviceNative: true,
|
|
28341
28402
|
mode: "singleton",
|
|
28342
28403
|
deviceTypes: [DeviceType.Camera],
|
|
28343
|
-
methods: { getCatalog: method(z.object({ deviceId: z.number().int().nonnegative() }), z.array(CamStreamDescriptorSchema).readonly()) }
|
|
28404
|
+
methods: { getCatalog: method(z.object({ deviceId: z.number().int().nonnegative() }), z.array(CamStreamDescriptorSchema).readonly()) },
|
|
28405
|
+
runtimeState: StreamCatalogStateSchema,
|
|
28406
|
+
/**
|
|
28407
|
+
* Runtime-state durability: **restored** — see the schema doc. A cold
|
|
28408
|
+
* catalog on a sleeping battery camera is not a slow first frame, it is a
|
|
28409
|
+
* camera that cannot be watched at all until it happens to wake.
|
|
28410
|
+
*
|
|
28411
|
+
* Churn is nil by construction: the slice is written only by a SUCCESSFUL
|
|
28412
|
+
* build, and a build only runs when there is no cached copy (or the copy is
|
|
28413
|
+
* a day old and the camera is awake anyway).
|
|
28414
|
+
*
|
|
28415
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
28416
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
28417
|
+
*/
|
|
28418
|
+
durability: "restored",
|
|
28419
|
+
/** Clock field: written, but excluded from the compare that decides whether
|
|
28420
|
+
* persisting is worth a SQLite commit — the descriptors are the value. */
|
|
28421
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
28344
28422
|
};
|
|
28345
28423
|
//#endregion
|
|
28346
28424
|
//#region src/capabilities/stream-params.cap.ts
|
|
@@ -30571,6 +30649,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
30571
30649
|
sceneMonitor: sceneMonitorCapability,
|
|
30572
30650
|
scriptRunner: scriptRunnerCapability,
|
|
30573
30651
|
smoke: smokeCapability,
|
|
30652
|
+
streamCatalog: streamCatalogCapability,
|
|
30574
30653
|
streamParams: streamParamsCapability,
|
|
30575
30654
|
switch: switchCapability,
|
|
30576
30655
|
tamper: tamperCapability,
|
|
@@ -31794,6 +31873,47 @@ function resolveDeviceProfile(features) {
|
|
|
31794
31873
|
return null;
|
|
31795
31874
|
}
|
|
31796
31875
|
//#endregion
|
|
31876
|
+
//#region src/device/battery-presence.ts
|
|
31877
|
+
/**
|
|
31878
|
+
* Default silence budget before a sleeping battery camera is called gone.
|
|
31879
|
+
*
|
|
31880
|
+
* Sized off the mechanism that produces contact, not off taste: a battery cam
|
|
31881
|
+
* on this deployment surfaces a firmware push (battery level, sleep/wake, or a
|
|
31882
|
+
* motion email) on the order of hours even with no visitors, and the snapshot
|
|
31883
|
+
* wrapper's own battery window is 1 hour. Six hours is therefore several
|
|
31884
|
+
* missed opportunities, not one — so a single quiet night does not raise a
|
|
31885
|
+
* fault, and a genuinely flat camera is named well inside a day.
|
|
31886
|
+
*/
|
|
31887
|
+
var BATTERY_UNREACHABLE_AFTER_MS = 360 * 6e4;
|
|
31888
|
+
/**
|
|
31889
|
+
* THE derivation. One crop rectangle, one presence verdict — see D52 for why
|
|
31890
|
+
* this repo insists a derived value has exactly one implementation.
|
|
31891
|
+
*
|
|
31892
|
+
* `undefined` status ⇒ `sleeping`. A device with no slice has made no claim,
|
|
31893
|
+
* and the caller decides separately whether it is even battery-operated
|
|
31894
|
+
* (`DeviceFeature.BatteryOperated`); this function never answers that
|
|
31895
|
+
* question, only what a battery device is doing.
|
|
31896
|
+
*/
|
|
31897
|
+
function deriveBatteryPresence(input) {
|
|
31898
|
+
const status = input.status;
|
|
31899
|
+
if (!status) return "sleeping";
|
|
31900
|
+
if (status.sleeping !== true) return "awake";
|
|
31901
|
+
const lastContactAt = status.lastContactAt;
|
|
31902
|
+
if (typeof lastContactAt !== "number" || lastContactAt <= 0) return "sleeping";
|
|
31903
|
+
const budget = input.unreachableAfterMs ?? 216e5;
|
|
31904
|
+
return input.nowMs - lastContactAt > budget ? "unreachable" : "sleeping";
|
|
31905
|
+
}
|
|
31906
|
+
/**
|
|
31907
|
+
* Is this presence a FAULT the operator should be told about?
|
|
31908
|
+
*
|
|
31909
|
+
* Exists so no surface has to re-decide it — the whole point of the third
|
|
31910
|
+
* state is that `sleeping` stops being rendered as breakage, and a caller that
|
|
31911
|
+
* writes `presence !== 'awake'` has silently undone that.
|
|
31912
|
+
*/
|
|
31913
|
+
function isBatteryPresenceFault(presence) {
|
|
31914
|
+
return presence === "unreachable";
|
|
31915
|
+
}
|
|
31916
|
+
//#endregion
|
|
31797
31917
|
//#region src/device/path-util.ts
|
|
31798
31918
|
/** Returns true when `x` is a non-null, non-array plain object. */
|
|
31799
31919
|
function isRecord(x) {
|
|
@@ -41561,7 +41681,7 @@ function getCapsByProviderKind(kind) {
|
|
|
41561
41681
|
//#region src/generated/runtime-state-durability.ts
|
|
41562
41682
|
/**
|
|
41563
41683
|
* Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
|
|
41564
|
-
* `runtimeState`.
|
|
41684
|
+
* `runtimeState`. 64 caps: 34 `restored`, 30 `session`.
|
|
41565
41685
|
*
|
|
41566
41686
|
* A cap absent from this map has no runtime-state slice at all. A cap PRESENT
|
|
41567
41687
|
* with `durability: 'session'` has one and has decided not to keep it.
|
|
@@ -41767,6 +41887,10 @@ var RUNTIME_STATE_POLICY = {
|
|
|
41767
41887
|
durability: "restored",
|
|
41768
41888
|
volatileFields: ["lastChangedAt"]
|
|
41769
41889
|
},
|
|
41890
|
+
"stream-catalog": {
|
|
41891
|
+
durability: "restored",
|
|
41892
|
+
volatileFields: ["lastFetchedAt"]
|
|
41893
|
+
},
|
|
41770
41894
|
"stream-params": {
|
|
41771
41895
|
durability: "restored",
|
|
41772
41896
|
volatileFields: ["lastFetchedAt"]
|
|
@@ -41867,6 +41991,7 @@ var RESTORED_CAP_NAMES = [
|
|
|
41867
41991
|
"pressure-sensor",
|
|
41868
41992
|
"privacy-mask",
|
|
41869
41993
|
"smoke",
|
|
41994
|
+
"stream-catalog",
|
|
41870
41995
|
"stream-params",
|
|
41871
41996
|
"switch",
|
|
41872
41997
|
"tamper",
|
|
@@ -45521,4 +45646,4 @@ function enumerateInferenceDevices(hw) {
|
|
|
45521
45646
|
return out;
|
|
45522
45647
|
}
|
|
45523
45648
|
//#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 };
|
|
45649
|
+
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"),
|