@camstack/types 1.1.32 → 1.1.34
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/addons.cap.d.ts +1 -1
- package/dist/capabilities/alerts.cap.d.ts +5 -5
- package/dist/capabilities/camera-streams.cap.d.ts +5 -5
- package/dist/capabilities/cap-router-predicates.d.ts +32 -0
- package/dist/capabilities/capability-definition.d.ts +18 -13
- package/dist/capabilities/consumables.cap.d.ts +1 -1
- package/dist/capabilities/custom-model-registry.cap.d.ts +38 -0
- package/dist/capabilities/index.d.ts +8 -15
- package/dist/capabilities/integrations.cap.d.ts +1 -1
- package/dist/capabilities/model-convert.cap.d.ts +22 -3
- package/dist/capabilities/model-distributor.cap.d.ts +38 -0
- package/dist/capabilities/network-quality.cap.d.ts +1 -1
- package/dist/capabilities/nodes.cap.d.ts +1 -1
- package/dist/capabilities/pipeline-executor.cap.d.ts +161 -8
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +87 -44
- package/dist/capabilities/pipeline-runner.cap.d.ts +10 -69
- package/dist/capabilities/snapshot.cap.d.ts +3 -3
- package/dist/capabilities/stream-broker.cap.d.ts +9 -1
- package/dist/capabilities/system.cap.d.ts +1 -1
- package/dist/capabilities/toast.cap.d.ts +1 -1
- package/dist/capabilities/webrtc-session.cap.d.ts +15 -1
- package/dist/device/index.d.ts +2 -0
- package/dist/device/reachability-poll.d.ts +90 -0
- package/dist/encode-profile.d.ts +2 -2
- package/dist/enums/event-category.d.ts +12 -0
- package/dist/generated/addon-api.d.ts +771 -643
- package/dist/generated/capability-router-map.d.ts +4 -16
- package/dist/generated/device-proxy.d.ts +0 -2
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +2 -2
- package/dist/index.d.ts +3 -3
- package/dist/index.js +568 -350
- package/dist/index.mjs +551 -344
- package/dist/interfaces/capability.d.ts +0 -7
- package/dist/interfaces/event-bus.d.ts +9 -0
- package/dist/interfaces/pipeline-executor-capability.d.ts +14 -1
- package/dist/interfaces/pipeline-runner-capability.d.ts +11 -11
- package/dist/interfaces/recording-config.d.ts +2 -2
- package/dist/{sleep-CZDdRBua.mjs → sleep-Cc14_yxc.mjs} +12 -4
- package/dist/{sleep-Dirr8nGw.js → sleep-DmP-uxoe.js} +12 -4
- package/dist/types/agent-pipeline-settings.d.ts +18 -6
- package/dist/types/camera-pipeline.d.ts +17 -3
- package/dist/types/model-variant-groups.d.ts +100 -0
- package/dist/types/models.d.ts +63 -3
- package/package.json +1 -1
- package/dist/capabilities/restreamer.cap.d.ts +0 -54
- package/dist/capabilities/snapshot-provider.cap.d.ts +0 -43
- package/dist/capabilities/streaming-engine.cap.d.ts +0 -61
- package/dist/capabilities/webrtc.cap.d.ts +0 -75
- package/dist/interfaces/restreamer.d.ts +0 -23
- package/dist/interfaces/streaming.d.ts +0 -28
- package/dist/interfaces/webrtc-provider.d.ts +0 -34
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as SubscribeAudioChunksResultSchema, A as ReadinessRegistry, B as CamStreamResolutionSchema, C as asJsonObject, D as parseJsonObject, E as parseJsonArray, F as BrokerStatsSchema, G as FrameHandleFormatSchema, H as DecodedAudioChunkSchema, I as BrokerStatusSchema, J as ProfileSlotSchema, K as FrameHandleSchema, L as CAM_PROFILE_ORDER, M as emitDownForOwnedCaps, N as readinessKey, O as parseJsonUnknown, P as scopeKey, Q as SubscribeAudioChunksInputSchema, R as CamProfileSchema, S as asJsonArray, T as asString, U as DecodedFrameSchema, V as CameraStreamSchema, W as EncodedPacketSchema, X as StreamSourceEntrySchema, Y as ProfileSlotStatusSchema, Z as StreamSourceSchema, _ as ChargingStatus, a as adminUiCapability, at as selectAssignedProfileSlots, b as DeviceType, c as createMirrorSource, ct as createDurableState, d as DEVICE_STATUS_METHOD, dt as isEvent, et as SubscribeFramesInputSchema, f as event, ft as WELL_KNOWN_TABS, g as resolveCapMount, gt as DisposerChain, h as method, ht as EventCategory, i as deviceOpsCapability, it as parseProfileBrokerId, j as ReadinessTimeoutError, k as DATAPLANE_SECRET_HEADER, l as createSliceHandle, lt as createEvent, m as isDeviceConfigCap, mt as hydrateSchema, n as sleepCancellable, nt as makeProfileBrokerId, o as createDeviceProxy, ot as BaseAddon, p as expandCapMethods, pt as WELL_KNOWN_TAB_MAP, q as ProfileRtspEntrySchema, r as RawStateResultSchema, rt as makeSourceBrokerId, s as createLazyTrpcSource, st as normalizeAddonInitResult, t as sleep, tt as SubscribeFramesResultSchema, u as DEVICE_SETTINGS_CONTRIBUTION_METHODS, ut as emitReadiness, v as DeviceFeature, w as asNumber, x as asBoolean, y as DeviceRole, z as CamStreamKindSchema } from "./sleep-
|
|
1
|
+
import { $ as SubscribeAudioChunksResultSchema, A as ReadinessRegistry, B as CamStreamResolutionSchema, C as asJsonObject, D as parseJsonObject, E as parseJsonArray, F as BrokerStatsSchema, G as FrameHandleFormatSchema, H as DecodedAudioChunkSchema, I as BrokerStatusSchema, J as ProfileSlotSchema, K as FrameHandleSchema, L as CAM_PROFILE_ORDER, M as emitDownForOwnedCaps, N as readinessKey, O as parseJsonUnknown, P as scopeKey, Q as SubscribeAudioChunksInputSchema, R as CamProfileSchema, S as asJsonArray, T as asString, U as DecodedFrameSchema, V as CameraStreamSchema, W as EncodedPacketSchema, X as StreamSourceEntrySchema, Y as ProfileSlotStatusSchema, Z as StreamSourceSchema, _ as ChargingStatus, a as adminUiCapability, at as selectAssignedProfileSlots, b as DeviceType, c as createMirrorSource, ct as createDurableState, d as DEVICE_STATUS_METHOD, dt as isEvent, et as SubscribeFramesInputSchema, f as event, ft as WELL_KNOWN_TABS, g as resolveCapMount, gt as DisposerChain, h as method, ht as EventCategory, i as deviceOpsCapability, it as parseProfileBrokerId, j as ReadinessTimeoutError, k as DATAPLANE_SECRET_HEADER, l as createSliceHandle, lt as createEvent, m as isDeviceConfigCap, mt as hydrateSchema, n as sleepCancellable, nt as makeProfileBrokerId, o as createDeviceProxy, ot as BaseAddon, p as expandCapMethods, pt as WELL_KNOWN_TAB_MAP, q as ProfileRtspEntrySchema, r as RawStateResultSchema, rt as makeSourceBrokerId, s as createLazyTrpcSource, st as normalizeAddonInitResult, t as sleep, tt as SubscribeFramesResultSchema, u as DEVICE_SETTINGS_CONTRIBUTION_METHODS, ut as emitReadiness, v as DeviceFeature, w as asNumber, x as asBoolean, y as DeviceRole, z as CamStreamKindSchema } from "./sleep-Cc14_yxc.mjs";
|
|
2
2
|
import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/health/wiring-health.ts
|
|
@@ -114,6 +114,36 @@ var ModelFormatsSchema = z.object({
|
|
|
114
114
|
tflite: ModelFormatEntrySchema.optional(),
|
|
115
115
|
pt: ModelFormatEntrySchema.optional()
|
|
116
116
|
});
|
|
117
|
+
/**
|
|
118
|
+
* Variant-selector grouping axes. Shared by the full `ModelCatalogEntry` and by
|
|
119
|
+
* the reduced `PipelineModelOption` returned in `pipeline.getSchema()` so the
|
|
120
|
+
* grouped Family→Tier→Variant picker renders identically in the config UI and
|
|
121
|
+
* in the pipeline/device steppers. The flat `id` stays the source of truth for
|
|
122
|
+
* resolution/download/persistence; this is a presentation overlay resolved back
|
|
123
|
+
* to an `id`.
|
|
124
|
+
*/
|
|
125
|
+
var ModelVariantGroupSchema = z.object({
|
|
126
|
+
/** Top-level family, e.g. `yolo26` (later `d-fine`, `rf-detr`). */
|
|
127
|
+
family: z.string(),
|
|
128
|
+
/** Size within the family, e.g. `n` | `s` | `m` | `l`. */
|
|
129
|
+
tier: z.string(),
|
|
130
|
+
/** Quantization axis. Omit ⇒ the fp32 base build. */
|
|
131
|
+
precision: z.enum(["fp32", "int8"]).optional(),
|
|
132
|
+
/**
|
|
133
|
+
* Speed-optimization axis. Omit ⇒ the standard build. `fast` marks a
|
|
134
|
+
* latency-optimized export (e.g. ReLU-activation variant) — the slot the
|
|
135
|
+
* future performance variants plug into.
|
|
136
|
+
*/
|
|
137
|
+
optimization: z.enum(["standard", "fast"]).optional(),
|
|
138
|
+
/**
|
|
139
|
+
* Input-resolution axis (square input side, px). Omit ⇒ the family's native
|
|
140
|
+
* resolution (640 for yolo26). Reduced-input builds (320 / 256) are a big,
|
|
141
|
+
* cheap latency lever — especially on Apple ANE and the Intel N100 — at a
|
|
142
|
+
* small-object accuracy cost. Mirrors the model's `inputSize` but lifted onto
|
|
143
|
+
* the group so the selector can offer it as a variant axis.
|
|
144
|
+
*/
|
|
145
|
+
resolution: z.number().int().positive().optional()
|
|
146
|
+
});
|
|
117
147
|
var ModelCatalogEntrySchema = z.object({
|
|
118
148
|
id: z.string(),
|
|
119
149
|
name: z.string(),
|
|
@@ -143,7 +173,43 @@ var ModelCatalogEntrySchema = z.object({
|
|
|
143
173
|
* Auxiliary files required at runtime (labels JSON, charset dict, etc.).
|
|
144
174
|
* Downloaded into the same modelsDir alongside the model file.
|
|
145
175
|
*/
|
|
146
|
-
extraFiles: z.array(ModelExtraFileSchema).readonly().optional()
|
|
176
|
+
extraFiles: z.array(ModelExtraFileSchema).readonly().optional(),
|
|
177
|
+
/**
|
|
178
|
+
* LEGACY entry — retained in the catalog so a persisted operator selection
|
|
179
|
+
* still RESOLVES (and can be re-activated), but hidden from the selectable
|
|
180
|
+
* model list and excluded from the auto format-default pick. Set on the
|
|
181
|
+
* superseded / consolidated models (older lineages, redundant fp16 IRs) so
|
|
182
|
+
* the active lineup stays the coherent curated ladder without deleting a
|
|
183
|
+
* model anyone may still be pinned to. `resolveModelForFormat` keeps honoring
|
|
184
|
+
* an explicit legacy id that has a build for the node's format.
|
|
185
|
+
*/
|
|
186
|
+
legacy: z.boolean().optional(),
|
|
187
|
+
/**
|
|
188
|
+
* Measured quality/latency metadata — populated from the benchmark addon on
|
|
189
|
+
* the real node classes. Absent = not yet measured (most entries today; the
|
|
190
|
+
* catalog historically carried only `sizeMB`, a poor cross-architecture
|
|
191
|
+
* speed proxy). `p95LatencyMs` is keyed by node class (e.g. `n100`, `mac`).
|
|
192
|
+
*/
|
|
193
|
+
metrics: z.object({
|
|
194
|
+
map50: z.number().optional(),
|
|
195
|
+
p95LatencyMs: z.record(z.string(), z.number()).optional()
|
|
196
|
+
}).optional(),
|
|
197
|
+
/**
|
|
198
|
+
* SPDX-ish license id of the model weights (e.g. `AGPL-3.0` for Ultralytics
|
|
199
|
+
* YOLO26, `GPL-3.0` for YOLOv9, `Apache-2.0` for D-FINE/RF-DETR). Matters for
|
|
200
|
+
* the retraining addon and any future commercial distribution.
|
|
201
|
+
*/
|
|
202
|
+
license: z.string().optional(),
|
|
203
|
+
/**
|
|
204
|
+
* Variant-selector grouping. The UI groups models by `family` + `tier` and
|
|
205
|
+
* offers `precision` / `optimization` as variant axes WITHIN a tier — so all
|
|
206
|
+
* of a family's sizes and quantizations collapse into one grouped picker
|
|
207
|
+
* instead of a flat list of `yolo26s`, `yolo26s-int8`, … Absent ⇒ ungrouped
|
|
208
|
+
* (legacy / custom models) — never shown in the grouped selector. The flat
|
|
209
|
+
* `id` stays the source of truth for resolution/download/persistence; grouping
|
|
210
|
+
* is a presentation overlay resolved back to an `id`.
|
|
211
|
+
*/
|
|
212
|
+
group: ModelVariantGroupSchema.optional()
|
|
147
213
|
});
|
|
148
214
|
var ConvertTargetSchema = z.discriminatedUnion("format", [z.object({
|
|
149
215
|
format: z.literal("openvino"),
|
|
@@ -186,6 +252,139 @@ var ConvertResultSchema = z.object({
|
|
|
186
252
|
artifacts: z.array(ConvertArtifactSchema).readonly()
|
|
187
253
|
});
|
|
188
254
|
//#endregion
|
|
255
|
+
//#region src/types/model-variant-groups.ts
|
|
256
|
+
var FORMAT_KEYS = [
|
|
257
|
+
"onnx",
|
|
258
|
+
"coreml",
|
|
259
|
+
"openvino",
|
|
260
|
+
"tflite",
|
|
261
|
+
"pt"
|
|
262
|
+
];
|
|
263
|
+
function familyLabel(family) {
|
|
264
|
+
return family.toUpperCase();
|
|
265
|
+
}
|
|
266
|
+
/** Strip a leading family label from a base model name → clean tier label. */
|
|
267
|
+
function tierLabel(family, baseName) {
|
|
268
|
+
const fl = familyLabel(family);
|
|
269
|
+
const stripped = baseName.replace(new RegExp(`^${fl}\\s+`, "i"), "").trim();
|
|
270
|
+
return stripped.length > 0 ? stripped : baseName;
|
|
271
|
+
}
|
|
272
|
+
function variantLabel(precision, optimization) {
|
|
273
|
+
const parts = [];
|
|
274
|
+
if (optimization === "fast") parts.push("Fast");
|
|
275
|
+
parts.push(precision === "int8" ? "Int8" : "Standard");
|
|
276
|
+
return parts.join(" · ");
|
|
277
|
+
}
|
|
278
|
+
function entryFormats(entry) {
|
|
279
|
+
return FORMAT_KEYS.filter((f) => entry.formats[f] !== void 0);
|
|
280
|
+
}
|
|
281
|
+
function smallestSizeMB(entry) {
|
|
282
|
+
const sizes = FORMAT_KEYS.map((f) => entry.formats[f]?.sizeMB).filter((n) => typeof n === "number");
|
|
283
|
+
return sizes.length > 0 ? Math.min(...sizes) : 0;
|
|
284
|
+
}
|
|
285
|
+
var TIER_ORDER = [
|
|
286
|
+
"n",
|
|
287
|
+
"s",
|
|
288
|
+
"m",
|
|
289
|
+
"l",
|
|
290
|
+
"x"
|
|
291
|
+
];
|
|
292
|
+
var PRECISION_ORDER = ["fp32", "int8"];
|
|
293
|
+
/**
|
|
294
|
+
* Fold a flat catalog into the `family → tier → variant` tree. Deterministic
|
|
295
|
+
* ordering: tiers by the canonical size ladder (unknown tiers appended
|
|
296
|
+
* alphabetically), variants standard-before-int8 and fast last.
|
|
297
|
+
*/
|
|
298
|
+
function buildModelVariantGroups(models) {
|
|
299
|
+
const byFamily = /* @__PURE__ */ new Map();
|
|
300
|
+
for (const m of models) {
|
|
301
|
+
if (m.legacy === true || m.group === void 0) continue;
|
|
302
|
+
const { family, tier } = m.group;
|
|
303
|
+
const tiers = byFamily.get(family) ?? /* @__PURE__ */ new Map();
|
|
304
|
+
const entries = tiers.get(tier) ?? [];
|
|
305
|
+
entries.push(m);
|
|
306
|
+
tiers.set(tier, entries);
|
|
307
|
+
byFamily.set(family, tiers);
|
|
308
|
+
}
|
|
309
|
+
const families = [];
|
|
310
|
+
for (const [family, tiers] of byFamily) {
|
|
311
|
+
const tierList = [];
|
|
312
|
+
for (const [tier, entries] of tiers) {
|
|
313
|
+
const options = entries.map((e) => {
|
|
314
|
+
const precision = e.group?.precision ?? "fp32";
|
|
315
|
+
const optimization = e.group?.optimization ?? "standard";
|
|
316
|
+
return {
|
|
317
|
+
modelId: e.id,
|
|
318
|
+
precision,
|
|
319
|
+
optimization,
|
|
320
|
+
resolution: e.group?.resolution,
|
|
321
|
+
label: variantLabel(precision, optimization),
|
|
322
|
+
formats: entryFormats(e),
|
|
323
|
+
sizeMB: smallestSizeMB(e)
|
|
324
|
+
};
|
|
325
|
+
}).toSorted((a, b) => {
|
|
326
|
+
if (a.resolution !== b.resolution) return (b.resolution ?? Infinity) - (a.resolution ?? Infinity);
|
|
327
|
+
if (a.optimization !== b.optimization) return a.optimization === "fast" ? 1 : -1;
|
|
328
|
+
return PRECISION_ORDER.indexOf(a.precision) - PRECISION_ORDER.indexOf(b.precision);
|
|
329
|
+
});
|
|
330
|
+
const base = options.find((o) => o.precision === "fp32" && o.optimization === "standard" && o.resolution === void 0) ?? options[0];
|
|
331
|
+
if (base === void 0) continue;
|
|
332
|
+
const baseEntry = entries.find((e) => e.id === base.modelId);
|
|
333
|
+
tierList.push({
|
|
334
|
+
tier,
|
|
335
|
+
label: baseEntry ? tierLabel(family, baseEntry.name) : tier.toUpperCase(),
|
|
336
|
+
baseModelId: base.modelId,
|
|
337
|
+
options
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
tierList.sort((a, b) => {
|
|
341
|
+
const ia = TIER_ORDER.indexOf(a.tier);
|
|
342
|
+
const ib = TIER_ORDER.indexOf(b.tier);
|
|
343
|
+
if (ia !== -1 && ib !== -1) return ia - ib;
|
|
344
|
+
if (ia !== -1) return -1;
|
|
345
|
+
if (ib !== -1) return 1;
|
|
346
|
+
return a.tier.localeCompare(b.tier);
|
|
347
|
+
});
|
|
348
|
+
families.push({
|
|
349
|
+
family,
|
|
350
|
+
label: familyLabel(family),
|
|
351
|
+
tiers: tierList
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
families.sort((a, b) => a.family.localeCompare(b.family));
|
|
355
|
+
return families;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Map a grouped selection back to a flat catalog model id. Returns `null` when
|
|
359
|
+
* no entry matches (the UI then falls back to the tier base / format default).
|
|
360
|
+
* `precision`/`optimization` default to `fp32`/`standard` (the base build).
|
|
361
|
+
*/
|
|
362
|
+
function resolveVariantModelId(models, selection) {
|
|
363
|
+
const precision = selection.precision ?? "fp32";
|
|
364
|
+
const optimization = selection.optimization ?? "standard";
|
|
365
|
+
for (const m of models) {
|
|
366
|
+
if (m.group === void 0) continue;
|
|
367
|
+
if (m.group.family !== selection.family || m.group.tier !== selection.tier) continue;
|
|
368
|
+
if ((m.group.precision ?? "fp32") !== precision) continue;
|
|
369
|
+
if ((m.group.optimization ?? "standard") !== optimization) continue;
|
|
370
|
+
if (m.group.resolution !== selection.resolution) continue;
|
|
371
|
+
return m.id;
|
|
372
|
+
}
|
|
373
|
+
return null;
|
|
374
|
+
}
|
|
375
|
+
/** Inverse: describe a flat model id as a grouped selection, or `null`. */
|
|
376
|
+
function describeModelVariant(models, modelId) {
|
|
377
|
+
const entry = models.find((m) => m.id === modelId);
|
|
378
|
+
if (entry?.group === void 0) return null;
|
|
379
|
+
return {
|
|
380
|
+
family: entry.group.family,
|
|
381
|
+
tier: entry.group.tier,
|
|
382
|
+
precision: entry.group.precision ?? "fp32",
|
|
383
|
+
optimization: entry.group.optimization ?? "standard",
|
|
384
|
+
resolution: entry.group.resolution
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
//#endregion
|
|
189
388
|
//#region src/interfaces/addon.ts
|
|
190
389
|
var DEFAULT_ADDON_PLACEMENT = "hub-only";
|
|
191
390
|
/**
|
|
@@ -571,8 +770,8 @@ var RecordingModeSchema = z.enum([
|
|
|
571
770
|
"onAudioThreshold"
|
|
572
771
|
]);
|
|
573
772
|
/**
|
|
574
|
-
* First-class, authoritative per-camera storage mode — the
|
|
575
|
-
* reads directly (never inferred from `rules`):
|
|
773
|
+
* First-class, authoritative per-camera storage mode — the explicit choice the
|
|
774
|
+
* UI reads directly (never inferred from `rules`):
|
|
576
775
|
* - `off` — not recording.
|
|
577
776
|
* - `events` — record only around triggers (motion / audio threshold),
|
|
578
777
|
* with pre/post-buffer.
|
|
@@ -1608,7 +1807,7 @@ async function runInferenceStep(fn, timeoutMs) {
|
|
|
1608
1807
|
const t0 = performance.now();
|
|
1609
1808
|
try {
|
|
1610
1809
|
return {
|
|
1611
|
-
output: timeoutMs !== void 0 ? await withTimeout(fn(), timeoutMs) : await fn(),
|
|
1810
|
+
output: timeoutMs !== void 0 ? await withTimeout$1(fn(), timeoutMs) : await fn(),
|
|
1612
1811
|
durationMs: roundMs(performance.now() - t0),
|
|
1613
1812
|
ok: true
|
|
1614
1813
|
};
|
|
@@ -1626,7 +1825,7 @@ function roundMs(ms) {
|
|
|
1626
1825
|
return Math.round(ms * 100) / 100;
|
|
1627
1826
|
}
|
|
1628
1827
|
/** Reject a promise if it exceeds the given timeout */
|
|
1629
|
-
function withTimeout(promise, ms) {
|
|
1828
|
+
function withTimeout$1(promise, ms) {
|
|
1630
1829
|
return new Promise((resolve, reject) => {
|
|
1631
1830
|
const timer = setTimeout(() => reject(/* @__PURE__ */ new Error(`Inference timeout after ${ms}ms`)), ms);
|
|
1632
1831
|
promise.then((v) => {
|
|
@@ -3588,6 +3787,111 @@ function createRuntimeStateBridge(params) {
|
|
|
3588
3787
|
};
|
|
3589
3788
|
}
|
|
3590
3789
|
//#endregion
|
|
3790
|
+
//#region src/device/reachability-poll.ts
|
|
3791
|
+
/**
|
|
3792
|
+
* Shared control-plane reachability poller for camera devices.
|
|
3793
|
+
*
|
|
3794
|
+
* `device.online` must reflect CONTROL-PLANE REACHABILITY — "can we talk to
|
|
3795
|
+
* the camera's management API right now" — NOT whether video happens to be
|
|
3796
|
+
* flowing through the stream broker. A camera that dials on-demand (no
|
|
3797
|
+
* consumer attached) is fully reachable yet has no active stream; driving
|
|
3798
|
+
* `online` from stream health falsely marks it OFFLINE.
|
|
3799
|
+
*
|
|
3800
|
+
* Every camera provider owns a cheap control-plane round-trip (Hikvision
|
|
3801
|
+
* ISAPI `getDeviceInfo`, Amcrest Dahua CGI `getDeviceInfo`, ONVIF
|
|
3802
|
+
* `getDeviceInformation`, RTSP `OPTIONS`/TCP-connect). Each provider passes
|
|
3803
|
+
* that round-trip as a `probe: () => Promise<boolean>` and this helper runs
|
|
3804
|
+
* the loop, applies hysteresis, and drives the device's `online` setter.
|
|
3805
|
+
*
|
|
3806
|
+
* Hysteresis rules (avoid flapping on a single dropped packet):
|
|
3807
|
+
* - mark ONLINE immediately on the first successful probe;
|
|
3808
|
+
* - mark OFFLINE only after {@link REACHABILITY_FAILURES_TO_OFFLINE}
|
|
3809
|
+
* CONSECUTIVE failures.
|
|
3810
|
+
*
|
|
3811
|
+
* Robustness rules:
|
|
3812
|
+
* - each probe is bounded by {@link REACHABILITY_PROBE_TIMEOUT_MS} so a hung
|
|
3813
|
+
* control channel can't wedge the loop;
|
|
3814
|
+
* - a single in-flight probe at a time — a slow probe never stacks up;
|
|
3815
|
+
* - the loop never throws (a rejected/thrown probe counts as a failure);
|
|
3816
|
+
* - `isEnabled()` gates each tick so a soft-disabled device isn't polled.
|
|
3817
|
+
*/
|
|
3818
|
+
/** Poll cadence — probe every camera's control plane on this interval. */
|
|
3819
|
+
var REACHABILITY_POLL_INTERVAL_MS = 3e4;
|
|
3820
|
+
/**
|
|
3821
|
+
* Consecutive failures required before flipping `online` to `false`.
|
|
3822
|
+
* ONLINE is asserted on the first success; OFFLINE waits for N misses so a
|
|
3823
|
+
* single transient timeout doesn't flap the flag.
|
|
3824
|
+
*/
|
|
3825
|
+
var REACHABILITY_FAILURES_TO_OFFLINE = 3;
|
|
3826
|
+
/** Per-probe timeout — an unreachable/hung control channel resolves as a miss. */
|
|
3827
|
+
var REACHABILITY_PROBE_TIMEOUT_MS = 1e4;
|
|
3828
|
+
/** Reject after `ms`; always clears its own timer. */
|
|
3829
|
+
async function withTimeout(promise, ms, label) {
|
|
3830
|
+
let timer;
|
|
3831
|
+
const timeout = new Promise((_resolve, reject) => {
|
|
3832
|
+
timer = setTimeout(() => reject(/* @__PURE__ */ new Error(`${label} timed out after ${String(ms)}ms`)), ms);
|
|
3833
|
+
});
|
|
3834
|
+
try {
|
|
3835
|
+
return await Promise.race([promise, timeout]);
|
|
3836
|
+
} finally {
|
|
3837
|
+
if (timer !== void 0) clearTimeout(timer);
|
|
3838
|
+
}
|
|
3839
|
+
}
|
|
3840
|
+
/**
|
|
3841
|
+
* Start the reachability poll loop. Returns a handle whose `stop()` clears the
|
|
3842
|
+
* timer and prevents any further ticks. Start on device activation, stop on
|
|
3843
|
+
* device teardown (`removeDevice`) so no timer leaks.
|
|
3844
|
+
*/
|
|
3845
|
+
function startReachabilityPoll(options) {
|
|
3846
|
+
const intervalMs = options.intervalMs ?? 3e4;
|
|
3847
|
+
const failuresToOffline = options.failuresToOffline ?? 3;
|
|
3848
|
+
const probeTimeoutMs = options.probeTimeoutMs ?? 1e4;
|
|
3849
|
+
const runImmediately = options.runImmediately ?? true;
|
|
3850
|
+
let stopped = false;
|
|
3851
|
+
let running = false;
|
|
3852
|
+
let consecutiveFailures = 0;
|
|
3853
|
+
let timer;
|
|
3854
|
+
const tick = async () => {
|
|
3855
|
+
if (stopped) return;
|
|
3856
|
+
if (running) return;
|
|
3857
|
+
if (options.isEnabled && !options.isEnabled()) return;
|
|
3858
|
+
running = true;
|
|
3859
|
+
try {
|
|
3860
|
+
const reachable = await withTimeout(Promise.resolve().then(options.probe), probeTimeoutMs, "reachability probe");
|
|
3861
|
+
if (stopped) return;
|
|
3862
|
+
if (reachable) {
|
|
3863
|
+
consecutiveFailures = 0;
|
|
3864
|
+
options.setOnline(true);
|
|
3865
|
+
} else registerFailure("probe resolved unreachable");
|
|
3866
|
+
} catch (error) {
|
|
3867
|
+
if (stopped) return;
|
|
3868
|
+
registerFailure(error instanceof Error ? error.message : "probe threw");
|
|
3869
|
+
} finally {
|
|
3870
|
+
running = false;
|
|
3871
|
+
}
|
|
3872
|
+
};
|
|
3873
|
+
const registerFailure = (reason) => {
|
|
3874
|
+
consecutiveFailures += 1;
|
|
3875
|
+
options.logger?.debug("reachability probe failed", {
|
|
3876
|
+
reason,
|
|
3877
|
+
consecutiveFailures,
|
|
3878
|
+
failuresToOffline
|
|
3879
|
+
});
|
|
3880
|
+
if (consecutiveFailures >= failuresToOffline) options.setOnline(false);
|
|
3881
|
+
};
|
|
3882
|
+
timer = setInterval(() => {
|
|
3883
|
+
tick();
|
|
3884
|
+
}, intervalMs);
|
|
3885
|
+
if (typeof timer === "object" && timer !== null && "unref" in timer) timer.unref();
|
|
3886
|
+
if (runImmediately) tick();
|
|
3887
|
+
return { stop: () => {
|
|
3888
|
+
if (stopped) return;
|
|
3889
|
+
stopped = true;
|
|
3890
|
+
if (timer !== void 0) clearInterval(timer);
|
|
3891
|
+
timer = void 0;
|
|
3892
|
+
} };
|
|
3893
|
+
}
|
|
3894
|
+
//#endregion
|
|
3591
3895
|
//#region src/notification/format-transcode.ts
|
|
3592
3896
|
/** Strip a small, safe subset of Markdown down to plain text. */
|
|
3593
3897
|
function markdownToText(md) {
|
|
@@ -4477,42 +4781,14 @@ onBrightnessChanged: { data: z.object({
|
|
|
4477
4781
|
runtimeState: BrightnessStatusSchema
|
|
4478
4782
|
};
|
|
4479
4783
|
//#endregion
|
|
4480
|
-
//#region src/capabilities/
|
|
4784
|
+
//#region src/capabilities/stream-broker.cap.ts
|
|
4785
|
+
/** Stream delivery format. (Relocated from the retired `streaming-engine` cap.) */
|
|
4481
4786
|
var StreamFormatSchema = z.enum([
|
|
4482
4787
|
"webrtc",
|
|
4483
4788
|
"hls",
|
|
4484
4789
|
"mjpeg",
|
|
4485
4790
|
"rtsp"
|
|
4486
4791
|
]);
|
|
4487
|
-
var StreamInfoSchema = z.object({
|
|
4488
|
-
streamId: z.string(),
|
|
4489
|
-
format: StreamFormatSchema,
|
|
4490
|
-
url: z.string().nullable(),
|
|
4491
|
-
active: z.boolean()
|
|
4492
|
-
});
|
|
4493
|
-
var streamingEngineCapability = {
|
|
4494
|
-
name: "streaming-engine",
|
|
4495
|
-
scope: "system",
|
|
4496
|
-
mode: "singleton",
|
|
4497
|
-
internal: true,
|
|
4498
|
-
methods: {
|
|
4499
|
-
registerStream: method(z.object({
|
|
4500
|
-
streamId: z.string(),
|
|
4501
|
-
sourceUrl: z.string(),
|
|
4502
|
-
codec: z.string().optional()
|
|
4503
|
-
}), z.void(), { kind: "mutation" }),
|
|
4504
|
-
unregisterStream: method(z.object({ streamId: z.string() }), z.void(), { kind: "mutation" }),
|
|
4505
|
-
getStreamUrl: method(z.object({
|
|
4506
|
-
streamId: z.string(),
|
|
4507
|
-
format: StreamFormatSchema
|
|
4508
|
-
}), z.string().nullable()),
|
|
4509
|
-
listStreams: method(z.void(), z.array(StreamInfoSchema))
|
|
4510
|
-
},
|
|
4511
|
-
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
4512
|
-
mount: { kind: "skip" }
|
|
4513
|
-
};
|
|
4514
|
-
//#endregion
|
|
4515
|
-
//#region src/capabilities/stream-broker.cap.ts
|
|
4516
4792
|
var RtspRestreamEntrySchema = z.object({
|
|
4517
4793
|
brokerId: z.string(),
|
|
4518
4794
|
url: z.string(),
|
|
@@ -5506,37 +5782,7 @@ var consumablesCapability = {
|
|
|
5506
5782
|
scope: "device",
|
|
5507
5783
|
deviceNative: true,
|
|
5508
5784
|
mode: "singleton",
|
|
5509
|
-
deviceTypes:
|
|
5510
|
-
DeviceType.Camera,
|
|
5511
|
-
DeviceType.Hub,
|
|
5512
|
-
DeviceType.Light,
|
|
5513
|
-
DeviceType.Siren,
|
|
5514
|
-
DeviceType.Switch,
|
|
5515
|
-
DeviceType.Sensor,
|
|
5516
|
-
DeviceType.Thermostat,
|
|
5517
|
-
DeviceType.Button,
|
|
5518
|
-
DeviceType.EventEmitter,
|
|
5519
|
-
DeviceType.Update,
|
|
5520
|
-
DeviceType.Generic,
|
|
5521
|
-
DeviceType.Notifier,
|
|
5522
|
-
DeviceType.Script,
|
|
5523
|
-
DeviceType.Automation,
|
|
5524
|
-
DeviceType.Lock,
|
|
5525
|
-
DeviceType.Cover,
|
|
5526
|
-
DeviceType.Valve,
|
|
5527
|
-
DeviceType.Humidifier,
|
|
5528
|
-
DeviceType.WaterHeater,
|
|
5529
|
-
DeviceType.Fan,
|
|
5530
|
-
DeviceType.MediaPlayer,
|
|
5531
|
-
DeviceType.AlarmPanel,
|
|
5532
|
-
DeviceType.Control,
|
|
5533
|
-
DeviceType.Presence,
|
|
5534
|
-
DeviceType.Weather,
|
|
5535
|
-
DeviceType.Vacuum,
|
|
5536
|
-
DeviceType.LawnMower,
|
|
5537
|
-
DeviceType.Container,
|
|
5538
|
-
DeviceType.Image
|
|
5539
|
-
],
|
|
5785
|
+
deviceTypes: Object.values(DeviceType),
|
|
5540
5786
|
deviceConfig: { ui: {
|
|
5541
5787
|
kind: "widget",
|
|
5542
5788
|
widgetId: "host/consumables-panel",
|
|
@@ -7302,7 +7548,6 @@ var PipelineDefaultStepSchema = z.lazy(() => z.object({
|
|
|
7302
7548
|
enabled: z.boolean(),
|
|
7303
7549
|
modelId: z.string(),
|
|
7304
7550
|
children: z.array(PipelineDefaultStepSchema).readonly(),
|
|
7305
|
-
engine: PipelineEngineChoiceSchema.optional(),
|
|
7306
7551
|
group: z.string().optional(),
|
|
7307
7552
|
settings: z.record(z.string(), z.unknown()).optional()
|
|
7308
7553
|
}));
|
|
@@ -7327,7 +7572,9 @@ var PipelineModelOptionSchema = z.object({
|
|
|
7327
7572
|
formats: z.record(z.string(), z.object({
|
|
7328
7573
|
downloaded: z.boolean(),
|
|
7329
7574
|
sizeMB: z.number()
|
|
7330
|
-
}))
|
|
7575
|
+
})),
|
|
7576
|
+
group: ModelVariantGroupSchema.optional(),
|
|
7577
|
+
legacy: z.boolean().optional()
|
|
7331
7578
|
});
|
|
7332
7579
|
var ConfigFieldBridge = z.custom();
|
|
7333
7580
|
var PipelineAddonSchemaSchema = z.object({
|
|
@@ -7378,15 +7625,42 @@ var EngineProvisioningSchema = z.object({
|
|
|
7378
7625
|
]),
|
|
7379
7626
|
progress: z.number().optional(),
|
|
7380
7627
|
error: z.string().optional(),
|
|
7381
|
-
nextRetryAt: z.number().optional()
|
|
7628
|
+
nextRetryAt: z.number().optional(),
|
|
7629
|
+
/**
|
|
7630
|
+
* Gate A (config-correctness gate at engine change): human-readable
|
|
7631
|
+
* config issues surfaced EAGERLY when the node's engine changes — model
|
|
7632
|
+
* substitutions ("chose X, running Y") and zero-build steps ("no model
|
|
7633
|
+
* has a <format> build"). Additive/optional: informational only, never
|
|
7634
|
+
* enforced here — `assertEngineReady` (readiness) still gates inference.
|
|
7635
|
+
* Absent/empty when the node-default tree resolves cleanly.
|
|
7636
|
+
*/
|
|
7637
|
+
configIssues: z.array(z.string()).optional()
|
|
7382
7638
|
});
|
|
7383
7639
|
var PipelineStepInputSchema = z.lazy(() => z.object({
|
|
7384
7640
|
addonId: z.string(),
|
|
7385
|
-
modelId: z.string(),
|
|
7641
|
+
modelId: z.string().optional(),
|
|
7386
7642
|
enabled: z.boolean().default(true),
|
|
7387
7643
|
children: z.array(PipelineStepInputSchema).optional(),
|
|
7388
7644
|
settings: z.record(z.string(), z.unknown()).optional()
|
|
7389
7645
|
}));
|
|
7646
|
+
var ModelSubstitutionSchema = z.object({
|
|
7647
|
+
addonId: z.string(),
|
|
7648
|
+
chosen: z.string(),
|
|
7649
|
+
running: z.string(),
|
|
7650
|
+
format: z.string()
|
|
7651
|
+
});
|
|
7652
|
+
var PipelineValidationIssueSchema = z.object({
|
|
7653
|
+
addonId: z.string(),
|
|
7654
|
+
kind: z.enum(["unknown-addon", "no-format-build"]),
|
|
7655
|
+
detail: z.string()
|
|
7656
|
+
});
|
|
7657
|
+
var PipelineValidationResultSchema = z.object({
|
|
7658
|
+
ok: z.boolean(),
|
|
7659
|
+
issues: z.array(PipelineValidationIssueSchema).readonly(),
|
|
7660
|
+
substitutions: z.array(ModelSubstitutionSchema).readonly(),
|
|
7661
|
+
/** The node's `currentEngine.format` this validation ran against. */
|
|
7662
|
+
format: z.string()
|
|
7663
|
+
});
|
|
7390
7664
|
var ReferenceImageEntrySchema = z.object({
|
|
7391
7665
|
filename: z.string(),
|
|
7392
7666
|
stepIds: z.array(z.string()).readonly().optional()
|
|
@@ -7499,10 +7773,45 @@ var pipelineExecutorCapability = {
|
|
|
7499
7773
|
kind: "mutation",
|
|
7500
7774
|
auth: "admin"
|
|
7501
7775
|
}),
|
|
7776
|
+
/**
|
|
7777
|
+
* Reset ONE node's detection-pipeline to its factory defaults, forcing
|
|
7778
|
+
* regeneration of the (now hardware-aware) default object-detection
|
|
7779
|
+
* model. `nodeId` is the ROUTING key — the generated cap-router strips
|
|
7780
|
+
* it (default `nodeIdMode: 'routing'`, same as `getSelectedEngine` /
|
|
7781
|
+
* `getDefaultSteps`) and dispatches to that node, so the provider method
|
|
7782
|
+
* runs ON the target node and receives no `nodeId`.
|
|
7783
|
+
*
|
|
7784
|
+
* Clears the node's persisted global pipeline seed (`pipelineSteps`) +
|
|
7785
|
+
* legacy engine blob (`pipelineEngine`) and every device's per-camera
|
|
7786
|
+
* step overrides, then re-seeds the hardware-aware default tree. Returns
|
|
7787
|
+
* the regenerated object-detection model id (null when the default tree
|
|
7788
|
+
* has no detector for this node's engine format) so the caller can
|
|
7789
|
+
* verify the reset without a second round-trip.
|
|
7790
|
+
*/
|
|
7791
|
+
resetToDefault: method(z.object({ nodeId: z.string() }), z.object({
|
|
7792
|
+
success: z.literal(true),
|
|
7793
|
+
regeneratedModelId: z.string().nullable()
|
|
7794
|
+
}), {
|
|
7795
|
+
kind: "mutation",
|
|
7796
|
+
auth: "admin"
|
|
7797
|
+
}),
|
|
7502
7798
|
getSchema: method(z.void(), PipelineSchemaSchema),
|
|
7503
7799
|
getGlobalSteps: method(z.void(), z.array(PipelineDefaultStepSchema).readonly().nullable()),
|
|
7504
7800
|
getGlobalPipelineConfig: method(z.void(), PipelineConfigBridge),
|
|
7505
7801
|
getOrchestratorConfigSchema: method(z.void(), ConfigUISchemaBridge),
|
|
7802
|
+
/**
|
|
7803
|
+
* Gate B (pre-init config-correctness gate). PURE COMPUTE against this
|
|
7804
|
+
* node's `currentEngine.format` — resolves `steps` the same way the
|
|
7805
|
+
* runtime dispatch path would, and reports what WOULD happen without
|
|
7806
|
+
* touching any node-global state. Called by the orchestrator at attach
|
|
7807
|
+
* time (`attachOn`), node-pinned to the TARGET node, so config problems
|
|
7808
|
+
* surface BEFORE `pipelineRunner.attachCamera` rather than at the first
|
|
7809
|
+
* per-frame resolve. `ok` is false iff `issues` is non-empty (both
|
|
7810
|
+
* `unknown-addon` and `no-format-build` are HARD issues); `substitutions`
|
|
7811
|
+
* is informational (a degraded-but-loadable model swap) and never
|
|
7812
|
+
* affects `ok`. Never throws.
|
|
7813
|
+
*/
|
|
7814
|
+
validatePipeline: method(z.object({ steps: z.array(PipelineStepInputSchema) }), PipelineValidationResultSchema),
|
|
7506
7815
|
listTemplates: method(z.void(), z.array(PipelineTemplateSchema$1).readonly()),
|
|
7507
7816
|
saveTemplate: method(z.object({
|
|
7508
7817
|
name: z.string(),
|
|
@@ -7889,6 +8198,13 @@ var RunnerFrameSourceSchema = z.discriminatedUnion("kind", [z.object({ kind: z.l
|
|
|
7889
8198
|
kind: z.literal("remote-restream"),
|
|
7890
8199
|
/** The camera's source-owner node (slice 1: always the hub). */
|
|
7891
8200
|
ownerNodeId: z.string(),
|
|
8201
|
+
/**
|
|
8202
|
+
* The owner's LAN-reachable host, resolved by the orchestrator from the
|
|
8203
|
+
* per-node `reachableHost` override (Cluster UI). When present the runner
|
|
8204
|
+
* dials THIS host for the owner's restream, in preference to the
|
|
8205
|
+
* `CAMSTACK_HUB_URL`-derived default. Absent → auto-detect fallback.
|
|
8206
|
+
*/
|
|
8207
|
+
ownerReachableHost: z.string().optional(),
|
|
7892
8208
|
/** Operator override for the owner host the runner dials. */
|
|
7893
8209
|
hubHostnameOverride: z.string().optional()
|
|
7894
8210
|
})]).describe("Per-camera frame-source mode for the runner (P2c)");
|
|
@@ -7897,13 +8213,11 @@ var RunnerFrameSourceSchema = z.discriminatedUnion("kind", [z.object({ kind: z.l
|
|
|
7897
8213
|
* specific runner instance via `attachCamera`. Carries everything the
|
|
7898
8214
|
* runner needs to subscribe to the local broker and execute inference.
|
|
7899
8215
|
*
|
|
7900
|
-
* Stateless-pipeline model: the
|
|
7901
|
-
*
|
|
7902
|
-
*
|
|
7903
|
-
*
|
|
7904
|
-
*
|
|
7905
|
-
* `engine`/`steps`/`audio` are optional during the additive migration
|
|
7906
|
-
* window; once orchestrator + UI are migrated they become required.
|
|
8216
|
+
* Stateless-pipeline model: the pipeline content (`steps`, optional
|
|
8217
|
+
* `audio`) travels with the attach payload. The runner keeps it in RAM
|
|
8218
|
+
* for the lifetime of the attach — on rebalance, edit, or restart the
|
|
8219
|
+
* orchestrator re-sends the latest snapshot. Engine is NOT carried: it is
|
|
8220
|
+
* node-local, resolved by the executing runner at dispatch time.
|
|
7907
8221
|
*/
|
|
7908
8222
|
var RunnerCameraConfigSchema = z.object({
|
|
7909
8223
|
deviceId: z.number(),
|
|
@@ -7954,14 +8268,11 @@ var RunnerCameraConfigSchema = z.object({
|
|
|
7954
8268
|
*/
|
|
7955
8269
|
motionSources: MotionSourcesSchema.default(["analyzer"]),
|
|
7956
8270
|
pipelineEnabled: z.boolean().default(true),
|
|
7957
|
-
/** Engine choice for video steps (runtime+backend+format). */
|
|
7958
|
-
engine: PipelineEngineChoiceSchema.optional(),
|
|
7959
8271
|
/** Ordered tree of video steps. Absent → runner skips video detection. */
|
|
7960
8272
|
steps: z.array(PipelineStepInputSchema).readonly().optional(),
|
|
7961
8273
|
/** Audio classification branch. `enabled:false` disables, null skips. */
|
|
7962
8274
|
audio: z.object({
|
|
7963
|
-
|
|
7964
|
-
modelId: z.string(),
|
|
8275
|
+
modelId: z.string().optional(),
|
|
7965
8276
|
enabled: z.boolean()
|
|
7966
8277
|
}).nullable().optional(),
|
|
7967
8278
|
/**
|
|
@@ -12253,10 +12564,12 @@ function createSystemProxy(api) {
|
|
|
12253
12564
|
getEngineProvisioning: (input) => dispatch("pipelineExecutor", "getEngineProvisioning", "query", input),
|
|
12254
12565
|
getVideoPipelineSteps: (input) => dispatch("pipelineExecutor", "getVideoPipelineSteps", "query", input),
|
|
12255
12566
|
setVideoPipelineSteps: (input) => dispatch("pipelineExecutor", "setVideoPipelineSteps", "mutation", input),
|
|
12567
|
+
resetToDefault: (input) => dispatch("pipelineExecutor", "resetToDefault", "mutation", input),
|
|
12256
12568
|
getSchema: (input) => dispatch("pipelineExecutor", "getSchema", "query", input),
|
|
12257
12569
|
getGlobalSteps: (input) => dispatch("pipelineExecutor", "getGlobalSteps", "query", input),
|
|
12258
12570
|
getGlobalPipelineConfig: (input) => dispatch("pipelineExecutor", "getGlobalPipelineConfig", "query", input),
|
|
12259
12571
|
getOrchestratorConfigSchema: (input) => dispatch("pipelineExecutor", "getOrchestratorConfigSchema", "query", input),
|
|
12572
|
+
validatePipeline: (input) => dispatch("pipelineExecutor", "validatePipeline", "query", input),
|
|
12260
12573
|
listTemplates: (input) => dispatch("pipelineExecutor", "listTemplates", "query", input),
|
|
12261
12574
|
saveTemplate: (input) => dispatch("pipelineExecutor", "saveTemplate", "mutation", input),
|
|
12262
12575
|
updateTemplate: (input) => dispatch("pipelineExecutor", "updateTemplate", "mutation", input),
|
|
@@ -12288,6 +12601,7 @@ function createSystemProxy(api) {
|
|
|
12288
12601
|
getGlobalMetrics: (input) => dispatch("pipelineOrchestrator", "getGlobalMetrics", "query", input),
|
|
12289
12602
|
getCapabilityBindings: (input) => dispatch("pipelineOrchestrator", "getCapabilityBindings", "query", input),
|
|
12290
12603
|
setCapabilityBinding: (input) => dispatch("pipelineOrchestrator", "setCapabilityBinding", "mutation", input),
|
|
12604
|
+
getIngestOwner: (input) => dispatch("pipelineOrchestrator", "getIngestOwner", "query", input),
|
|
12291
12605
|
getDecoderAssignments: (input) => dispatch("pipelineOrchestrator", "getDecoderAssignments", "query", input),
|
|
12292
12606
|
getAudioNodeLoad: (input) => dispatch("pipelineOrchestrator", "getAudioNodeLoad", "query", input),
|
|
12293
12607
|
getAgentSettings: (input) => dispatch("pipelineOrchestrator", "getAgentSettings", "query", input),
|
|
@@ -12297,6 +12611,7 @@ function createSystemProxy(api) {
|
|
|
12297
12611
|
setAgentMaxCameras: (input) => dispatch("pipelineOrchestrator", "setAgentMaxCameras", "mutation", input),
|
|
12298
12612
|
setAgentDetectWeight: (input) => dispatch("pipelineOrchestrator", "setAgentDetectWeight", "mutation", input),
|
|
12299
12613
|
setAgentCapabilities: (input) => dispatch("pipelineOrchestrator", "setAgentCapabilities", "mutation", input),
|
|
12614
|
+
setAgentReachableHost: (input) => dispatch("pipelineOrchestrator", "setAgentReachableHost", "mutation", input),
|
|
12300
12615
|
getCameraStatuses: (input) => dispatch("pipelineOrchestrator", "getCameraStatuses", "query", input),
|
|
12301
12616
|
listTemplates: (input) => dispatch("pipelineOrchestrator", "listTemplates", "query", input),
|
|
12302
12617
|
saveTemplate: (input) => dispatch("pipelineOrchestrator", "saveTemplate", "mutation", input),
|
|
@@ -14409,6 +14724,65 @@ var cameraPipelineConfigCapability = {
|
|
|
14409
14724
|
methods: {}
|
|
14410
14725
|
};
|
|
14411
14726
|
//#endregion
|
|
14727
|
+
//#region src/capabilities/cap-router-predicates.ts
|
|
14728
|
+
/**
|
|
14729
|
+
* Shared cap-router predicates — the SINGLE source for the structural Zod-shape
|
|
14730
|
+
* checks + naming used by BOTH the runtime cap-router builder
|
|
14731
|
+
* (`@camstack/system` `cap-router-builder.ts` + the server's
|
|
14732
|
+
* `cap-router-runtime.ts`) AND the codegen scripts (`scripts/generate-cap-*.ts`).
|
|
14733
|
+
*
|
|
14734
|
+
* These used to be independently reimplemented on each side, held in sync only
|
|
14735
|
+
* by "must stay byte-identical" comments — a live drift risk. Consolidating them
|
|
14736
|
+
* here (next to `resolveCapMount` / `expandCapMethods`, the other shared model)
|
|
14737
|
+
* makes the two paths provably agree. Each predicate accepts both Zod 4
|
|
14738
|
+
* (`_def.type`) and legacy Zod 3 (`_def.typeName` / `constructor.name`) shapes.
|
|
14739
|
+
*/
|
|
14740
|
+
/** `z.void()` — input carries no data. */
|
|
14741
|
+
function isVoidInput(schema) {
|
|
14742
|
+
const def = schema._def;
|
|
14743
|
+
return schema.constructor?.name === "ZodVoid" || def?.type === "void" || def?.typeName === "ZodVoid";
|
|
14744
|
+
}
|
|
14745
|
+
/** `z.object()` — supports `.loose()` for out-of-band `nodeId`/`addonId` keys. */
|
|
14746
|
+
function isObjectInput(schema) {
|
|
14747
|
+
const def = schema._def;
|
|
14748
|
+
return schema.constructor?.name === "ZodObject" || def?.type === "object" || def?.typeName === "ZodObject";
|
|
14749
|
+
}
|
|
14750
|
+
/**
|
|
14751
|
+
* Structural "is this Zod schema an array output" check — bottoms out at
|
|
14752
|
+
* `ZodArray` through the canonical Zod 4 wrappers (readonly/optional/nullable/
|
|
14753
|
+
* default). Bounded unwrap guards against a malformed/cyclic schema.
|
|
14754
|
+
*/
|
|
14755
|
+
function isArrayOutputSchema(schema) {
|
|
14756
|
+
let cur = schema;
|
|
14757
|
+
for (let depth = 0; depth < 8 && cur != null; depth += 1) {
|
|
14758
|
+
const def = cur._def;
|
|
14759
|
+
const ctor = cur.constructor?.name;
|
|
14760
|
+
if (ctor === "ZodArray" || def?.type === "array") return true;
|
|
14761
|
+
if (!(ctor === "ZodReadonly" || def?.type === "readonly" || ctor === "ZodOptional" || def?.type === "optional" || ctor === "ZodNullable" || def?.type === "nullable" || ctor === "ZodDefault" || def?.type === "default") || def?.innerType == null) return false;
|
|
14762
|
+
cur = def.innerType;
|
|
14763
|
+
}
|
|
14764
|
+
return false;
|
|
14765
|
+
}
|
|
14766
|
+
/**
|
|
14767
|
+
* Apply `.loose()` to an object input schema when available (Zod 4) so the
|
|
14768
|
+
* router accepts the out-of-band `nodeId`/`addonId` selector keys without
|
|
14769
|
+
* stripping them. Falls back to the schema unchanged when `.loose()` is absent.
|
|
14770
|
+
*/
|
|
14771
|
+
function looseSchema(schema) {
|
|
14772
|
+
const loose = schema.loose;
|
|
14773
|
+
return typeof loose === "function" ? loose.call(schema) : schema;
|
|
14774
|
+
}
|
|
14775
|
+
/** Auth level → base-procedure key. `superAdmin` collapses to `admin`. */
|
|
14776
|
+
function procedureAuthKey(auth) {
|
|
14777
|
+
if (auth === "public") return "public";
|
|
14778
|
+
if (auth === "admin" || auth === "superAdmin") return "admin";
|
|
14779
|
+
return "protected";
|
|
14780
|
+
}
|
|
14781
|
+
/** kebab-case cap name → camelCase router-map key. */
|
|
14782
|
+
function kebabToCamel(s) {
|
|
14783
|
+
return s.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
|
|
14784
|
+
}
|
|
14785
|
+
//#endregion
|
|
14412
14786
|
//#region src/capabilities/custom-actions.ts
|
|
14413
14787
|
/**
|
|
14414
14788
|
* Identity — preserves literal types for downstream inference.
|
|
@@ -17197,11 +17571,11 @@ var pipelineAnalyticsCapability = {
|
|
|
17197
17571
|
//#endregion
|
|
17198
17572
|
//#region src/capabilities/pipeline-orchestrator.cap.ts
|
|
17199
17573
|
var CameraPipelineConfigSchema = z.object({
|
|
17200
|
-
engine: PipelineEngineChoiceSchema,
|
|
17574
|
+
engine: PipelineEngineChoiceSchema.optional(),
|
|
17201
17575
|
steps: z.array(PipelineStepInputSchema).readonly(),
|
|
17202
17576
|
audio: z.object({
|
|
17203
|
-
engine: PipelineEngineChoiceSchema,
|
|
17204
|
-
modelId: z.string(),
|
|
17577
|
+
engine: PipelineEngineChoiceSchema.optional(),
|
|
17578
|
+
modelId: z.string().optional(),
|
|
17205
17579
|
enabled: z.boolean(),
|
|
17206
17580
|
settings: z.record(z.string(), z.unknown()).readonly().optional()
|
|
17207
17581
|
}).nullable().optional()
|
|
@@ -17216,7 +17590,7 @@ var PipelineTemplateSchema = z.object({
|
|
|
17216
17590
|
});
|
|
17217
17591
|
var AgentAddonConfigSchema = z.object({
|
|
17218
17592
|
enabled: z.boolean(),
|
|
17219
|
-
modelId: z.string(),
|
|
17593
|
+
modelId: z.string().optional(),
|
|
17220
17594
|
settings: z.record(z.string(), z.unknown()).readonly()
|
|
17221
17595
|
});
|
|
17222
17596
|
var AgentPipelineSettingsSchema = z.object({
|
|
@@ -17231,7 +17605,15 @@ var AgentPipelineSettingsSchema = z.object({
|
|
|
17231
17605
|
/** Node is eligible to run audio-analyzer sessions. */
|
|
17232
17606
|
audio: z.boolean().optional(),
|
|
17233
17607
|
/** Node is eligible to be the ingest / source-owner (serve the restream). */
|
|
17234
|
-
ingest: z.boolean().optional()
|
|
17608
|
+
ingest: z.boolean().optional(),
|
|
17609
|
+
/**
|
|
17610
|
+
* Operator override for the LAN host a cross-node decoder dials to reach
|
|
17611
|
+
* THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
|
|
17612
|
+
* falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
|
|
17613
|
+
* it already uses to reach the hub). Set this only when the auto-detected
|
|
17614
|
+
* address is wrong (multi-homed host, NAT, custom interface).
|
|
17615
|
+
*/
|
|
17616
|
+
reachableHost: z.string().optional()
|
|
17235
17617
|
});
|
|
17236
17618
|
var CameraPipelineForAgentSchema = z.object({
|
|
17237
17619
|
steps: z.array(PipelineStepInputSchema).readonly(),
|
|
@@ -17337,6 +17719,15 @@ var GlobalMetricsSchema = z.object({
|
|
|
17337
17719
|
* capability providers.
|
|
17338
17720
|
*/
|
|
17339
17721
|
var CapabilityBindingsSchema = z.record(z.string(), z.string());
|
|
17722
|
+
/**
|
|
17723
|
+
* The cluster's single camera-source owner (`clusterRoles.ingestNode`) plus
|
|
17724
|
+
* its LAN-reachable host, if one is registered. See `getIngestOwner`.
|
|
17725
|
+
*/
|
|
17726
|
+
var IngestOwnerSchema = z.object({
|
|
17727
|
+
ownerNodeId: z.string(),
|
|
17728
|
+
reachableHost: z.string().optional(),
|
|
17729
|
+
configIssue: z.string().optional()
|
|
17730
|
+
});
|
|
17340
17731
|
/** Stream entry surfaced from the stream-catalog for one device. */
|
|
17341
17732
|
var CameraSourceStreamSchema = z.object({
|
|
17342
17733
|
camStreamId: z.string(),
|
|
@@ -17353,6 +17744,14 @@ var CameraAssignmentStatusSchema = z.object({
|
|
|
17353
17744
|
detectionNodeId: z.string().nullable(),
|
|
17354
17745
|
decoderNodeId: z.string().nullable(),
|
|
17355
17746
|
audioNodeId: z.string().nullable(),
|
|
17747
|
+
/**
|
|
17748
|
+
* The node that OWNS this camera's physical source pull (dials the RTSP and
|
|
17749
|
+
* hosts the broker/restream) — the cluster ingest owner today
|
|
17750
|
+
* (`clusterRoles.ingestNode`), per-camera once source assignment lands. Lets
|
|
17751
|
+
* the UI show WHERE a camera is sourced without SSH/logs, and is the node the
|
|
17752
|
+
* broker block below was read from (pinned). Nullable only pre-wiring.
|
|
17753
|
+
*/
|
|
17754
|
+
sourceNodeId: z.string().nullable(),
|
|
17356
17755
|
pinned: z.object({
|
|
17357
17756
|
detection: z.boolean(),
|
|
17358
17757
|
decoder: z.boolean(),
|
|
@@ -17559,6 +17958,14 @@ var pipelineOrchestratorCapability = {
|
|
|
17559
17958
|
kind: "mutation",
|
|
17560
17959
|
auth: "admin"
|
|
17561
17960
|
}),
|
|
17961
|
+
/**
|
|
17962
|
+
* The cluster's single camera-source owner — resolved UNCONDITIONALLY
|
|
17963
|
+
* from `clusterRoles.ingestNode` (NOT the detection-decode
|
|
17964
|
+
* `remoteSourcingNodes` knob). Consumers (recorder/snapshot/audio) pin
|
|
17965
|
+
* their broker calls to `ownerNodeId` and dial `reachableHost` when
|
|
17966
|
+
* present. Defaults to `{ ownerNodeId: 'hub' }`.
|
|
17967
|
+
*/
|
|
17968
|
+
getIngestOwner: method(z.void(), IngestOwnerSchema),
|
|
17562
17969
|
/** Pin a device's decoder to a specific node. */
|
|
17563
17970
|
assignDecoder: method(z.object({
|
|
17564
17971
|
deviceId: z.number(),
|
|
@@ -17705,6 +18112,22 @@ var pipelineOrchestratorCapability = {
|
|
|
17705
18112
|
kind: "mutation",
|
|
17706
18113
|
auth: "admin"
|
|
17707
18114
|
}),
|
|
18115
|
+
/**
|
|
18116
|
+
* Set (or clear) the operator override for the LAN host a cross-node
|
|
18117
|
+
* decoder dials to reach this node's restream. Pass a non-empty string to
|
|
18118
|
+
* override the auto-detected address (the runner's `CAMSTACK_HUB_URL`
|
|
18119
|
+
* default); pass `null` or an empty string to clear it and revert to
|
|
18120
|
+
* auto-detect. Applied on the next dispatch cycle — takes effect for new
|
|
18121
|
+
* cross-node attaches; existing attaches keep their current host until
|
|
18122
|
+
* re-dispatched.
|
|
18123
|
+
*/
|
|
18124
|
+
setAgentReachableHost: method(z.object({
|
|
18125
|
+
agentNodeId: z.string(),
|
|
18126
|
+
reachableHost: z.string().nullable()
|
|
18127
|
+
}), z.object({ success: z.literal(true) }), {
|
|
18128
|
+
kind: "mutation",
|
|
18129
|
+
auth: "admin"
|
|
18130
|
+
}),
|
|
17708
18131
|
/** Read one camera's settings. Null when never touched (inherits agent defaults fully). */
|
|
17709
18132
|
getCameraSettings: method(z.object({ deviceId: z.number() }), CameraPipelineSettingsSchema.nullable()),
|
|
17710
18133
|
/** Set or clear the 3-state toggle for one (camera, addonId). Pass `enabled: null` to clear and revert to agent default. */
|
|
@@ -17797,36 +18220,6 @@ var pipelineOrchestratorCapability = {
|
|
|
17797
18220
|
}
|
|
17798
18221
|
};
|
|
17799
18222
|
//#endregion
|
|
17800
|
-
//#region src/capabilities/restreamer.cap.ts
|
|
17801
|
-
var RegisteredStreamSchema = z.object({
|
|
17802
|
-
streamId: z.string(),
|
|
17803
|
-
label: z.string().optional(),
|
|
17804
|
-
codec: z.string(),
|
|
17805
|
-
type: z.enum(["video", "audio"]),
|
|
17806
|
-
sourceUrl: z.string()
|
|
17807
|
-
});
|
|
17808
|
-
var ExposedResourceSchema = z.object({
|
|
17809
|
-
streamId: z.string(),
|
|
17810
|
-
format: z.string(),
|
|
17811
|
-
value: z.string()
|
|
17812
|
-
});
|
|
17813
|
-
var restreamerCapability = {
|
|
17814
|
-
name: "restreamer",
|
|
17815
|
-
scope: "system",
|
|
17816
|
-
mode: "collection",
|
|
17817
|
-
internal: true,
|
|
17818
|
-
methods: {
|
|
17819
|
-
registerDevice: method(z.object({
|
|
17820
|
-
deviceId: z.number(),
|
|
17821
|
-
streams: z.array(RegisteredStreamSchema).readonly()
|
|
17822
|
-
}), z.void(), { kind: "mutation" }),
|
|
17823
|
-
unregisterDevice: method(z.object({ deviceId: z.number() }), z.void(), { kind: "mutation" }),
|
|
17824
|
-
getExposedResources: method(z.object({ deviceId: z.number() }), z.array(ExposedResourceSchema).readonly())
|
|
17825
|
-
},
|
|
17826
|
-
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
17827
|
-
mount: { kind: "skip" }
|
|
17828
|
-
};
|
|
17829
|
-
//#endregion
|
|
17830
18223
|
//#region src/capabilities/settings-store.cap.ts
|
|
17831
18224
|
/**
|
|
17832
18225
|
* Query filter for settings-store collections.
|
|
@@ -18054,9 +18447,9 @@ var smtpProviderCapability = {
|
|
|
18054
18447
|
/**
|
|
18055
18448
|
* A single device snapshot returned as base64 JPEG/PNG.
|
|
18056
18449
|
*
|
|
18057
|
-
*
|
|
18058
|
-
*
|
|
18059
|
-
*
|
|
18450
|
+
* The `SnapshotAddon` wrapper returns this shape whether the frame came from
|
|
18451
|
+
* the device-native provider (onboard capture) or from the stream-broker
|
|
18452
|
+
* prebuffer fallback.
|
|
18060
18453
|
*/
|
|
18061
18454
|
var SnapshotImageSchema = z.object({
|
|
18062
18455
|
base64: z.string(),
|
|
@@ -18132,38 +18525,6 @@ var snapshotCapability = {
|
|
|
18132
18525
|
}
|
|
18133
18526
|
};
|
|
18134
18527
|
//#endregion
|
|
18135
|
-
//#region src/capabilities/snapshot-provider.cap.ts
|
|
18136
|
-
/**
|
|
18137
|
-
* snapshot-provider — collection of native snapshot implementations.
|
|
18138
|
-
*
|
|
18139
|
-
* Device provider addons (ONVIF, Frigate, etc.) register here
|
|
18140
|
-
* when they can capture frames through a protocol-native path (e.g.
|
|
18141
|
-
* ONVIF GetSnapshotUri, Frigate /api/<cam>/latest.jpg). The `snapshot`
|
|
18142
|
-
* singleton orchestrator iterates over the collection, asking each
|
|
18143
|
-
* provider whether it supports the requested device, and calls the
|
|
18144
|
-
* first matching one.
|
|
18145
|
-
*
|
|
18146
|
-
* If no provider in the collection supports a device, the orchestrator
|
|
18147
|
-
* falls back to `stream-broker.grabFrame` (universal fallback).
|
|
18148
|
-
*
|
|
18149
|
-
* Public tRPC router (auto-mounted) so out-of-process addons, agents,
|
|
18150
|
-
* and advanced clients can bypass the orchestrator when needed.
|
|
18151
|
-
*/
|
|
18152
|
-
var snapshotProviderCapability = {
|
|
18153
|
-
name: "snapshot-provider",
|
|
18154
|
-
scope: "system",
|
|
18155
|
-
mode: "collection",
|
|
18156
|
-
methods: {
|
|
18157
|
-
supportsDevice: method(z.object({ deviceId: z.number() }), z.boolean()),
|
|
18158
|
-
getSnapshot: method(z.object({
|
|
18159
|
-
deviceId: z.number(),
|
|
18160
|
-
streamId: z.string().optional()
|
|
18161
|
-
}), SnapshotImageSchema.nullable())
|
|
18162
|
-
},
|
|
18163
|
-
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
18164
|
-
mount: { kind: "custom" }
|
|
18165
|
-
};
|
|
18166
|
-
//#endregion
|
|
18167
18528
|
//#region src/capabilities/sso-bridge.cap.ts
|
|
18168
18529
|
/**
|
|
18169
18530
|
* `sso-bridge` — internal hub-only cap that lets SSO-style auth
|
|
@@ -18698,11 +19059,12 @@ var videoclipsCapability = {
|
|
|
18698
19059
|
}
|
|
18699
19060
|
};
|
|
18700
19061
|
//#endregion
|
|
18701
|
-
//#region src/capabilities/webrtc.cap.ts
|
|
19062
|
+
//#region src/capabilities/webrtc-session.cap.ts
|
|
18702
19063
|
/**
|
|
18703
|
-
* Optional client-side hints sent at session creation to help the
|
|
18704
|
-
*
|
|
18705
|
-
*
|
|
19064
|
+
* Optional client-side hints sent at session creation to help the provider
|
|
19065
|
+
* pick the best native source. All fields optional — a viewer that knows
|
|
19066
|
+
* nothing still gets a sane default. (Relocated from the retired `webrtc`
|
|
19067
|
+
* collection cap; this `webrtc-session` cap is the live signaling surface.)
|
|
18706
19068
|
*/
|
|
18707
19069
|
var webrtcClientHintsSchema = z.object({
|
|
18708
19070
|
viewportWidth: z.number().int().positive().optional(),
|
|
@@ -18713,51 +19075,6 @@ var webrtcClientHintsSchema = z.object({
|
|
|
18713
19075
|
/** Hard tier override; takes precedence over scoring when registered. */
|
|
18714
19076
|
prefersTier: z.string().optional()
|
|
18715
19077
|
}).partial();
|
|
18716
|
-
var webrtcCapability = {
|
|
18717
|
-
name: "webrtc",
|
|
18718
|
-
scope: "system",
|
|
18719
|
-
mode: "collection",
|
|
18720
|
-
internal: true,
|
|
18721
|
-
methods: {
|
|
18722
|
-
handleOffer: method(z.object({
|
|
18723
|
-
streamId: z.string(),
|
|
18724
|
-
sdpOffer: z.string()
|
|
18725
|
-
}), z.string(), { kind: "mutation" }),
|
|
18726
|
-
supportsStream: method(z.object({ streamId: z.string() }), z.boolean()),
|
|
18727
|
-
registerStream: method(z.object({
|
|
18728
|
-
streamId: z.string(),
|
|
18729
|
-
codec: z.string()
|
|
18730
|
-
}), z.void(), { kind: "mutation" }),
|
|
18731
|
-
unregisterStream: method(z.object({ streamId: z.string() }), z.void(), { kind: "mutation" }),
|
|
18732
|
-
/**
|
|
18733
|
-
* Two-step server-offer signaling. `hints` is optional — providers
|
|
18734
|
-
* that don't care about adaptive source selection ignore it.
|
|
18735
|
-
*/
|
|
18736
|
-
createSession: method(z.object({
|
|
18737
|
-
streamId: z.string(),
|
|
18738
|
-
hints: webrtcClientHintsSchema.optional()
|
|
18739
|
-
}), z.object({
|
|
18740
|
-
sessionId: z.string(),
|
|
18741
|
-
sdpOffer: z.string()
|
|
18742
|
-
}), { kind: "mutation" }),
|
|
18743
|
-
handleAnswer: method(z.object({
|
|
18744
|
-
sessionId: z.string(),
|
|
18745
|
-
sdpAnswer: z.string()
|
|
18746
|
-
}), z.void(), { kind: "mutation" }),
|
|
18747
|
-
closeSession: method(z.object({ sessionId: z.string() }), z.void(), { kind: "mutation" }),
|
|
18748
|
-
/**
|
|
18749
|
-
* Whether this provider supports adaptive bitrate for the given stream.
|
|
18750
|
-
* Currently always false — adaptive selection is one-shot at session
|
|
18751
|
-
* start, not in-session encoder switching. Phase 5 plans to layer
|
|
18752
|
-
* encoder-driven adaptation on top.
|
|
18753
|
-
*/
|
|
18754
|
-
hasAdaptiveBitrate: method(z.object({ streamId: z.string() }), z.boolean())
|
|
18755
|
-
},
|
|
18756
|
-
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
18757
|
-
mount: { kind: "skip" }
|
|
18758
|
-
};
|
|
18759
|
-
//#endregion
|
|
18760
|
-
//#region src/capabilities/webrtc-session.cap.ts
|
|
18761
19078
|
/**
|
|
18762
19079
|
* Discriminated target for a WebRTC session. The client sends this
|
|
18763
19080
|
* structured object instead of building / parsing brokerId strings;
|
|
@@ -19030,7 +19347,7 @@ var webrtcSessionCapability = {
|
|
|
19030
19347
|
}).nullable() }))
|
|
19031
19348
|
},
|
|
19032
19349
|
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
19033
|
-
mount: { kind: "
|
|
19350
|
+
mount: { kind: "server-provided" }
|
|
19034
19351
|
};
|
|
19035
19352
|
//#endregion
|
|
19036
19353
|
//#region src/capabilities/accessories.cap.ts
|
|
@@ -19709,7 +20026,7 @@ var addonsCapability = {
|
|
|
19709
20026
|
}), LogStreamEntrySchema, { kind: "subscription" })
|
|
19710
20027
|
},
|
|
19711
20028
|
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
19712
|
-
mount: { kind: "
|
|
20029
|
+
mount: { kind: "server-provided" }
|
|
19713
20030
|
};
|
|
19714
20031
|
//#endregion
|
|
19715
20032
|
//#region src/capabilities/button.cap.ts
|
|
@@ -20125,7 +20442,7 @@ var integrationsCapability = {
|
|
|
20125
20442
|
})
|
|
20126
20443
|
},
|
|
20127
20444
|
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
20128
|
-
mount: { kind: "
|
|
20445
|
+
mount: { kind: "server-provided" }
|
|
20129
20446
|
};
|
|
20130
20447
|
//#endregion
|
|
20131
20448
|
//#region src/capabilities/intercom.cap.ts
|
|
@@ -20772,7 +21089,7 @@ var networkQualityCapability = {
|
|
|
20772
21089
|
}), z.void(), { kind: "mutation" })
|
|
20773
21090
|
},
|
|
20774
21091
|
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
20775
|
-
mount: { kind: "
|
|
21092
|
+
mount: { kind: "server-provided" }
|
|
20776
21093
|
};
|
|
20777
21094
|
//#endregion
|
|
20778
21095
|
//#region src/capabilities/nodes.cap.ts
|
|
@@ -20964,7 +21281,7 @@ var nodesCapability = {
|
|
|
20964
21281
|
})
|
|
20965
21282
|
},
|
|
20966
21283
|
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
20967
|
-
mount: { kind: "
|
|
21284
|
+
mount: { kind: "server-provided" }
|
|
20968
21285
|
};
|
|
20969
21286
|
//#endregion
|
|
20970
21287
|
//#region src/capabilities/osd.cap.ts
|
|
@@ -21958,7 +22275,7 @@ var systemCapability = {
|
|
|
21958
22275
|
})
|
|
21959
22276
|
},
|
|
21960
22277
|
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
21961
|
-
mount: { kind: "
|
|
22278
|
+
mount: { kind: "server-provided" }
|
|
21962
22279
|
};
|
|
21963
22280
|
//#endregion
|
|
21964
22281
|
//#region src/capabilities/toast.cap.ts
|
|
@@ -21998,7 +22315,7 @@ var toastCapability = {
|
|
|
21998
22315
|
mode: "singleton",
|
|
21999
22316
|
methods: { onToast: method(z.void(), ToastSchema, { kind: "subscription" }) },
|
|
22000
22317
|
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
22001
|
-
mount: { kind: "
|
|
22318
|
+
mount: { kind: "server-provided" }
|
|
22002
22319
|
};
|
|
22003
22320
|
//#endregion
|
|
22004
22321
|
//#region src/capabilities/user-management.cap.ts
|
|
@@ -22378,13 +22695,11 @@ var CAPABILITY_NAMES = {
|
|
|
22378
22695
|
ptzAutotrack: "ptz-autotrack",
|
|
22379
22696
|
reboot: "reboot",
|
|
22380
22697
|
recording: "recording",
|
|
22381
|
-
restreamer: "restreamer",
|
|
22382
22698
|
scriptRunner: "script-runner",
|
|
22383
22699
|
settingsStore: "settings-store",
|
|
22384
22700
|
smoke: "smoke",
|
|
22385
22701
|
smtpProvider: "smtp-provider",
|
|
22386
22702
|
snapshot: "snapshot",
|
|
22387
|
-
snapshotProvider: "snapshot-provider",
|
|
22388
22703
|
ssoBridge: "sso-bridge",
|
|
22389
22704
|
storage: "storage",
|
|
22390
22705
|
storageEvictable: "storage-evictable",
|
|
@@ -22392,7 +22707,6 @@ var CAPABILITY_NAMES = {
|
|
|
22392
22707
|
streamBroker: "stream-broker",
|
|
22393
22708
|
streamCatalog: "stream-catalog",
|
|
22394
22709
|
streamParams: "stream-params",
|
|
22395
|
-
streamingEngine: "streaming-engine",
|
|
22396
22710
|
switch: "switch",
|
|
22397
22711
|
system: "system",
|
|
22398
22712
|
tamper: "tamper",
|
|
@@ -22408,7 +22722,6 @@ var CAPABILITY_NAMES = {
|
|
|
22408
22722
|
videoclips: "videoclips",
|
|
22409
22723
|
waterHeater: "water-heater",
|
|
22410
22724
|
weather: "weather",
|
|
22411
|
-
webrtc: "webrtc",
|
|
22412
22725
|
webrtcSession: "webrtc-session",
|
|
22413
22726
|
zoneAnalytics: "zone-analytics",
|
|
22414
22727
|
zoneRules: "zone-rules",
|
|
@@ -22832,10 +23145,6 @@ var CAPABILITY_ROUTER_KEYS = [
|
|
|
22832
23145
|
key: "recording",
|
|
22833
23146
|
name: "recording"
|
|
22834
23147
|
},
|
|
22835
|
-
{
|
|
22836
|
-
key: "restreamer",
|
|
22837
|
-
name: "restreamer"
|
|
22838
|
-
},
|
|
22839
23148
|
{
|
|
22840
23149
|
key: "scriptRunner",
|
|
22841
23150
|
name: "script-runner"
|
|
@@ -22856,10 +23165,6 @@ var CAPABILITY_ROUTER_KEYS = [
|
|
|
22856
23165
|
key: "snapshot",
|
|
22857
23166
|
name: "snapshot"
|
|
22858
23167
|
},
|
|
22859
|
-
{
|
|
22860
|
-
key: "snapshotProvider",
|
|
22861
|
-
name: "snapshot-provider"
|
|
22862
|
-
},
|
|
22863
23168
|
{
|
|
22864
23169
|
key: "ssoBridge",
|
|
22865
23170
|
name: "sso-bridge"
|
|
@@ -22888,10 +23193,6 @@ var CAPABILITY_ROUTER_KEYS = [
|
|
|
22888
23193
|
key: "streamParams",
|
|
22889
23194
|
name: "stream-params"
|
|
22890
23195
|
},
|
|
22891
|
-
{
|
|
22892
|
-
key: "streamingEngine",
|
|
22893
|
-
name: "streaming-engine"
|
|
22894
|
-
},
|
|
22895
23196
|
{
|
|
22896
23197
|
key: "switch",
|
|
22897
23198
|
name: "switch"
|
|
@@ -22952,10 +23253,6 @@ var CAPABILITY_ROUTER_KEYS = [
|
|
|
22952
23253
|
key: "weather",
|
|
22953
23254
|
name: "weather"
|
|
22954
23255
|
},
|
|
22955
|
-
{
|
|
22956
|
-
key: "webrtc",
|
|
22957
|
-
name: "webrtc"
|
|
22958
|
-
},
|
|
22959
23256
|
{
|
|
22960
23257
|
key: "webrtcSession",
|
|
22961
23258
|
name: "webrtc-session"
|
|
@@ -23087,13 +23384,11 @@ var ALL_CAPABILITY_DEFINITIONS = [
|
|
|
23087
23384
|
ptzAutotrackCapability,
|
|
23088
23385
|
rebootCapability,
|
|
23089
23386
|
recordingCapability,
|
|
23090
|
-
restreamerCapability,
|
|
23091
23387
|
scriptRunnerCapability,
|
|
23092
23388
|
settingsStoreCapability,
|
|
23093
23389
|
smokeCapability,
|
|
23094
23390
|
smtpProviderCapability,
|
|
23095
23391
|
snapshotCapability,
|
|
23096
|
-
snapshotProviderCapability,
|
|
23097
23392
|
ssoBridgeCapability,
|
|
23098
23393
|
storageCapability,
|
|
23099
23394
|
storageEvictableCapability,
|
|
@@ -23101,7 +23396,6 @@ var ALL_CAPABILITY_DEFINITIONS = [
|
|
|
23101
23396
|
streamBrokerCapability,
|
|
23102
23397
|
streamCatalogCapability,
|
|
23103
23398
|
streamParamsCapability,
|
|
23104
|
-
streamingEngineCapability,
|
|
23105
23399
|
switchCapability,
|
|
23106
23400
|
systemCapability,
|
|
23107
23401
|
tamperCapability,
|
|
@@ -23117,7 +23411,6 @@ var ALL_CAPABILITY_DEFINITIONS = [
|
|
|
23117
23411
|
videoclipsCapability,
|
|
23118
23412
|
waterHeaterCapability,
|
|
23119
23413
|
weatherCapability,
|
|
23120
|
-
webrtcCapability,
|
|
23121
23414
|
webrtcSessionCapability,
|
|
23122
23415
|
zoneAnalyticsCapability,
|
|
23123
23416
|
zoneRulesCapability,
|
|
@@ -25968,6 +26261,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
25968
26261
|
addonId: null,
|
|
25969
26262
|
access: "create"
|
|
25970
26263
|
},
|
|
26264
|
+
"pipelineExecutor.resetToDefault": {
|
|
26265
|
+
capName: "pipeline-executor",
|
|
26266
|
+
capScope: "system",
|
|
26267
|
+
addonId: null,
|
|
26268
|
+
access: "delete"
|
|
26269
|
+
},
|
|
25971
26270
|
"pipelineExecutor.runAudioTest": {
|
|
25972
26271
|
capName: "pipeline-executor",
|
|
25973
26272
|
capScope: "system",
|
|
@@ -26016,6 +26315,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
26016
26315
|
addonId: null,
|
|
26017
26316
|
access: "create"
|
|
26018
26317
|
},
|
|
26318
|
+
"pipelineExecutor.validatePipeline": {
|
|
26319
|
+
capName: "pipeline-executor",
|
|
26320
|
+
capScope: "system",
|
|
26321
|
+
addonId: null,
|
|
26322
|
+
access: "view"
|
|
26323
|
+
},
|
|
26019
26324
|
"pipelineOrchestrator.assignAudio": {
|
|
26020
26325
|
capName: "pipeline-orchestrator",
|
|
26021
26326
|
capScope: "system",
|
|
@@ -26124,6 +26429,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
26124
26429
|
addonId: null,
|
|
26125
26430
|
access: "view"
|
|
26126
26431
|
},
|
|
26432
|
+
"pipelineOrchestrator.getIngestOwner": {
|
|
26433
|
+
capName: "pipeline-orchestrator",
|
|
26434
|
+
capScope: "system",
|
|
26435
|
+
addonId: null,
|
|
26436
|
+
access: "view"
|
|
26437
|
+
},
|
|
26127
26438
|
"pipelineOrchestrator.getPipelineAssignment": {
|
|
26128
26439
|
capName: "pipeline-orchestrator",
|
|
26129
26440
|
capScope: "system",
|
|
@@ -26196,6 +26507,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
26196
26507
|
addonId: null,
|
|
26197
26508
|
access: "create"
|
|
26198
26509
|
},
|
|
26510
|
+
"pipelineOrchestrator.setAgentReachableHost": {
|
|
26511
|
+
capName: "pipeline-orchestrator",
|
|
26512
|
+
capScope: "system",
|
|
26513
|
+
addonId: null,
|
|
26514
|
+
access: "create"
|
|
26515
|
+
},
|
|
26199
26516
|
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
26200
26517
|
capName: "pipeline-orchestrator",
|
|
26201
26518
|
capScope: "system",
|
|
@@ -26526,24 +26843,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
26526
26843
|
addonId: null,
|
|
26527
26844
|
access: "create"
|
|
26528
26845
|
},
|
|
26529
|
-
"restreamer.getExposedResources": {
|
|
26530
|
-
capName: "restreamer",
|
|
26531
|
-
capScope: "system",
|
|
26532
|
-
addonId: null,
|
|
26533
|
-
access: "view"
|
|
26534
|
-
},
|
|
26535
|
-
"restreamer.registerDevice": {
|
|
26536
|
-
capName: "restreamer",
|
|
26537
|
-
capScope: "system",
|
|
26538
|
-
addonId: null,
|
|
26539
|
-
access: "create"
|
|
26540
|
-
},
|
|
26541
|
-
"restreamer.unregisterDevice": {
|
|
26542
|
-
capName: "restreamer",
|
|
26543
|
-
capScope: "system",
|
|
26544
|
-
addonId: null,
|
|
26545
|
-
access: "delete"
|
|
26546
|
-
},
|
|
26547
26846
|
"scriptRunner.run": {
|
|
26548
26847
|
capName: "script-runner",
|
|
26549
26848
|
capScope: "device",
|
|
@@ -26646,18 +26945,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
26646
26945
|
addonId: null,
|
|
26647
26946
|
access: "create"
|
|
26648
26947
|
},
|
|
26649
|
-
"snapshotProvider.getSnapshot": {
|
|
26650
|
-
capName: "snapshot-provider",
|
|
26651
|
-
capScope: "system",
|
|
26652
|
-
addonId: null,
|
|
26653
|
-
access: "view"
|
|
26654
|
-
},
|
|
26655
|
-
"snapshotProvider.supportsDevice": {
|
|
26656
|
-
capName: "snapshot-provider",
|
|
26657
|
-
capScope: "system",
|
|
26658
|
-
addonId: null,
|
|
26659
|
-
access: "view"
|
|
26660
|
-
},
|
|
26661
26948
|
"ssoBridge.signBridgeToken": {
|
|
26662
26949
|
capName: "sso-bridge",
|
|
26663
26950
|
capScope: "system",
|
|
@@ -27084,30 +27371,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
27084
27371
|
addonId: null,
|
|
27085
27372
|
access: "view"
|
|
27086
27373
|
},
|
|
27087
|
-
"streamingEngine.getStreamUrl": {
|
|
27088
|
-
capName: "streaming-engine",
|
|
27089
|
-
capScope: "system",
|
|
27090
|
-
addonId: null,
|
|
27091
|
-
access: "view"
|
|
27092
|
-
},
|
|
27093
|
-
"streamingEngine.listStreams": {
|
|
27094
|
-
capName: "streaming-engine",
|
|
27095
|
-
capScope: "system",
|
|
27096
|
-
addonId: null,
|
|
27097
|
-
access: "view"
|
|
27098
|
-
},
|
|
27099
|
-
"streamingEngine.registerStream": {
|
|
27100
|
-
capName: "streaming-engine",
|
|
27101
|
-
capScope: "system",
|
|
27102
|
-
addonId: null,
|
|
27103
|
-
access: "create"
|
|
27104
|
-
},
|
|
27105
|
-
"streamingEngine.unregisterStream": {
|
|
27106
|
-
capName: "streaming-engine",
|
|
27107
|
-
capScope: "system",
|
|
27108
|
-
addonId: null,
|
|
27109
|
-
access: "delete"
|
|
27110
|
-
},
|
|
27111
27374
|
"streamParams.getConfigSchema": {
|
|
27112
27375
|
capName: "stream-params",
|
|
27113
27376
|
capScope: "device",
|
|
@@ -27474,54 +27737,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
27474
27737
|
addonId: null,
|
|
27475
27738
|
access: "create"
|
|
27476
27739
|
},
|
|
27477
|
-
"webrtc.closeSession": {
|
|
27478
|
-
capName: "webrtc",
|
|
27479
|
-
capScope: "system",
|
|
27480
|
-
addonId: null,
|
|
27481
|
-
access: "create"
|
|
27482
|
-
},
|
|
27483
|
-
"webrtc.createSession": {
|
|
27484
|
-
capName: "webrtc",
|
|
27485
|
-
capScope: "system",
|
|
27486
|
-
addonId: null,
|
|
27487
|
-
access: "create"
|
|
27488
|
-
},
|
|
27489
|
-
"webrtc.handleAnswer": {
|
|
27490
|
-
capName: "webrtc",
|
|
27491
|
-
capScope: "system",
|
|
27492
|
-
addonId: null,
|
|
27493
|
-
access: "create"
|
|
27494
|
-
},
|
|
27495
|
-
"webrtc.handleOffer": {
|
|
27496
|
-
capName: "webrtc",
|
|
27497
|
-
capScope: "system",
|
|
27498
|
-
addonId: null,
|
|
27499
|
-
access: "create"
|
|
27500
|
-
},
|
|
27501
|
-
"webrtc.hasAdaptiveBitrate": {
|
|
27502
|
-
capName: "webrtc",
|
|
27503
|
-
capScope: "system",
|
|
27504
|
-
addonId: null,
|
|
27505
|
-
access: "view"
|
|
27506
|
-
},
|
|
27507
|
-
"webrtc.registerStream": {
|
|
27508
|
-
capName: "webrtc",
|
|
27509
|
-
capScope: "system",
|
|
27510
|
-
addonId: null,
|
|
27511
|
-
access: "create"
|
|
27512
|
-
},
|
|
27513
|
-
"webrtc.supportsStream": {
|
|
27514
|
-
capName: "webrtc",
|
|
27515
|
-
capScope: "system",
|
|
27516
|
-
addonId: null,
|
|
27517
|
-
access: "view"
|
|
27518
|
-
},
|
|
27519
|
-
"webrtc.unregisterStream": {
|
|
27520
|
-
capName: "webrtc",
|
|
27521
|
-
capScope: "system",
|
|
27522
|
-
addonId: null,
|
|
27523
|
-
access: "delete"
|
|
27524
|
-
},
|
|
27525
27740
|
"webrtcSession.addIceCandidate": {
|
|
27526
27741
|
capName: "webrtc-session",
|
|
27527
27742
|
capScope: "device",
|
|
@@ -27722,12 +27937,10 @@ var KNOWN_CAP_NAMES = [
|
|
|
27722
27937
|
"ptz-autotrack",
|
|
27723
27938
|
"reboot",
|
|
27724
27939
|
"recording",
|
|
27725
|
-
"restreamer",
|
|
27726
27940
|
"script-runner",
|
|
27727
27941
|
"settings-store",
|
|
27728
27942
|
"smtp-provider",
|
|
27729
27943
|
"snapshot",
|
|
27730
|
-
"snapshot-provider",
|
|
27731
27944
|
"sso-bridge",
|
|
27732
27945
|
"storage",
|
|
27733
27946
|
"storage-evictable",
|
|
@@ -27735,7 +27948,6 @@ var KNOWN_CAP_NAMES = [
|
|
|
27735
27948
|
"stream-broker",
|
|
27736
27949
|
"stream-catalog",
|
|
27737
27950
|
"stream-params",
|
|
27738
|
-
"streaming-engine",
|
|
27739
27951
|
"switch",
|
|
27740
27952
|
"system",
|
|
27741
27953
|
"toast",
|
|
@@ -27747,7 +27959,6 @@ var KNOWN_CAP_NAMES = [
|
|
|
27747
27959
|
"valve",
|
|
27748
27960
|
"videoclips",
|
|
27749
27961
|
"water-heater",
|
|
27750
|
-
"webrtc",
|
|
27751
27962
|
"webrtc-session",
|
|
27752
27963
|
"zone-analytics",
|
|
27753
27964
|
"zone-rules",
|
|
@@ -27855,22 +28066,18 @@ var SYSTEM_CAP_NAMES = [
|
|
|
27855
28066
|
"plate-gallery",
|
|
27856
28067
|
"platform-probe",
|
|
27857
28068
|
"recording",
|
|
27858
|
-
"restreamer",
|
|
27859
28069
|
"settings-store",
|
|
27860
28070
|
"smtp-provider",
|
|
27861
|
-
"snapshot-provider",
|
|
27862
28071
|
"sso-bridge",
|
|
27863
28072
|
"storage",
|
|
27864
28073
|
"storage-evictable",
|
|
27865
28074
|
"storage-provider",
|
|
27866
28075
|
"stream-broker",
|
|
27867
|
-
"streaming-engine",
|
|
27868
28076
|
"system",
|
|
27869
28077
|
"toast",
|
|
27870
28078
|
"turn-provider",
|
|
27871
28079
|
"user-management",
|
|
27872
|
-
"user-passkeys"
|
|
27873
|
-
"webrtc"
|
|
28080
|
+
"user-passkeys"
|
|
27874
28081
|
];
|
|
27875
28082
|
//#endregion
|
|
27876
28083
|
//#region src/generated/scope-presets.ts
|
|
@@ -28427,4 +28634,4 @@ function scoreRuntimes(hw) {
|
|
|
28427
28634
|
};
|
|
28428
28635
|
}
|
|
28429
28636
|
//#endregion
|
|
28430
|
-
export { ACCESSORY_LABEL, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, AUDIO_BACKEND_CHOICES, AUDIO_MACRO_LABELS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, 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, AutomationControlStatusSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BATTERY_DEVICE_PROFILE, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, 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, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusSchema, CameraStreamSchema, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CarbonMonoxideStatusSchema, ChargingStatus, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipPlaybackSchema, ClipSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectivityStatusSchema, ConsumableItemSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoverStateSchema, CoverStatusSchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, CreateIntegrationInputSchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, CreateUserInputSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATAPLANE_SECRET_HEADER, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_FEATURES, DEFAULT_RETENTION, DEVICE_CAP_NAMES, DEVICE_PROFILES, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DEVICE_TYPE_INFO, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DecodedAudioChunkSchema, DecodedFrameSchema, DecoderAssignmentSchema, DecoderSessionConfigSchema, DecoderStatsSchema, DeleteIntegrationResultSchema, DetectionSourceSchema, DetectorOutputSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceNetworkStatsSchema, DeviceRole, DeviceRuntimeState, DeviceStatusSchema, DeviceType, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENT_PAD_MS, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, ElementConfigStore, EmbeddingInfoSchema, EmbeddingResultSchema, EncodeProfileSchema, EncodedPacketSchema, EnrichedWidgetMetadataSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, EventCategory, EventEmitterStatusSchema, EventFireSchema, EventItemSchema, EventKindSchema, EventSourceType, ExportSetupFieldSchema, ExportSetupSchema, ExposedDeviceSchema, ExposedResourceSchema, ExposureModeSchema, ExpressionEvalError, ExpressionParseError, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, GasStatusSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, HF_BASE_URL, HF_REPO, HWACCEL_OPTIONS, HealthStatusSchema, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, LabelDefinitionSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, MACRO_LABELS, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, METHOD_ACCESS_MAP, MODEL_FORMATS, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, NativeDetectionSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NotificationActionSchema, NotificationFormatSchema, NotificationHistoryEntrySchema, NotificationRuleSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OauthIntegrationDescriptorSchema, ObjectEventSchema, OrchestratorMetricsSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdStatusSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PROVIDER_KIND_CAP_NAMES, PYTHON_SCRIPT, PackageUpdateSchema, PackageVersionInfoSchema, PasskeySummarySchema, PcmSampleFormatSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PlaceholderReasonSchema, PolygonPointSchema, PowerMeterStatusSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzMoveCommandSchema, PtzPositionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, RECOGNITION_TYPES, RESERVED_BINDING_NAMES, RUNTIME_DEFAULTS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadSegmentBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingModeSchema, RecordingRangeSchema, RecordingRetentionSchema, RecordingRuleSchema, RecordingScheduleSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RegisteredStreamSchema, RenderedAsSchema, ReportMotionInputSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCOPE_PRESETS, SOURCE_INFO_METADATA_KEY, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, 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, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StreamCodecSchema, StreamFormatSchema, StreamInfoSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SubscribeFramesInputSchema, SubscribeFramesResultSchema, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, TIMEZONES, TamperStatusSchema, TankStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestResultSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackSchema, TrackStateSchema, TrackedDetectionSchema, TurnServerSchema, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VibrationStatusSchema, VideoEncodeSchema, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, YAMNET_TO_MACRO, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, advancedNotifierCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, applyTransform, asBoolean, asJsonArray, asJsonObject, asNumber, asString, audioAnalysisCapability, audioAnalyzerCapability, audioCodecCapability, audioMetricsCapability, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildStreamParamsConfigSchema, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, carbonMonoxideCapability, cellsToRects, classifyStream, classifyStreams, climateControlCapability, colorCapability, compileExpression, compileExpressionSafe, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, cosineSimilarity, coverCapability, createDeviceProxy, createDurableState, createEvent, createExpressionScope, createLazyTrpcSource, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dayNightCapability, decoderCapability, defaultDeviceFor, defineCustomActions, detectionPipelineCapability, deviceAdoptionCapability, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceStateCapability, deviceStatusCapability, doorbellCapability, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, enumSensorCapability, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateLinkExpression, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, expandCapMethods, extractSourceInfoFromMetadata, faceGalleryCapability, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, formatForBackend, formatForRuntime, frameworkSwapConfirmSchema, frameworkSwapPackageSchema, gasCapability, getAudioMacroClassIds, getByPath, getCapsByProviderKind, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, integrationsCapability, intercomCapability, isAgentOnlyPlacement, isDeployableToAgent, isDeviceConfigCap, isEvent, jobKindSchema, lawnMowerControlCapability, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, localNetworkCapability, locationSimilarity, lockControlCapability, logDestinationCapability, makeProfileBrokerId, makeSourceBrokerId, mapAudioLabelToMacro, markdownToHtmlLite, markdownToText, maskUrlCredentials, mediaPlayerCapability, mergeSourceInfo, meshNetworkCapability, method, metricsProviderCapability, migrateConfigToBands, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, networkAccessCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeUnit, notificationOutputCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, osdCapability, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProfileBrokerId, parseStreamParamsFormPatch, pendingFrameworkSwapSchema, petFeederCapability, pickPreferredRtspEntry, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, privacyMaskCapability, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readNodePin, readinessKey, rebootCapability, recordingCapability, rectsToCells, requiresPython, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveCapMount, resolveDetectionRuntime, resolveDeviceProfile, resolveFormat, resolveModelFormat, resolveRunnerId, restreamerCapability, runInferenceStep, runtimeDevices, scopeKey, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, setByPath, settingsStoreCapability, sleep, sleepCancellable, smokeCapability, smtpProviderCapability, snapshotCapability, snapshotProviderCapability, ssoBridgeCapability, storageCapability, storageEvictableCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, streamingEngineCapability, supportedRuntimes, switchCapability, synthesizeSourceInfo, systemCapability, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, textToHtml, toDeviceSummary, toExpressionValue, toStreamSourceEntry, toastCapability, tokenize, transcodeBody, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, updateCapability, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateExpressionSource, valveCapability, vibrationCapability, videoclipsCapability, waterHeaterCapability, weatherCapability, webrtcCapability, webrtcClientHintsSchema, webrtcSessionCapability, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
|
|
28637
|
+
export { ACCESSORY_LABEL, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, AUDIO_BACKEND_CHOICES, AUDIO_MACRO_LABELS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, 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, AutomationControlStatusSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BATTERY_DEVICE_PROFILE, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, 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, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusSchema, CameraStreamSchema, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CarbonMonoxideStatusSchema, ChargingStatus, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipPlaybackSchema, ClipSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectivityStatusSchema, ConsumableItemSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoverStateSchema, CoverStatusSchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, CreateIntegrationInputSchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, CreateUserInputSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATAPLANE_SECRET_HEADER, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_FEATURES, DEFAULT_RETENTION, DEVICE_CAP_NAMES, DEVICE_PROFILES, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DEVICE_TYPE_INFO, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DecodedAudioChunkSchema, DecodedFrameSchema, DecoderAssignmentSchema, DecoderSessionConfigSchema, DecoderStatsSchema, DeleteIntegrationResultSchema, DetectionSourceSchema, DetectorOutputSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceNetworkStatsSchema, DeviceRole, DeviceRuntimeState, DeviceStatusSchema, DeviceType, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENT_PAD_MS, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, ElementConfigStore, EmbeddingInfoSchema, EmbeddingResultSchema, EncodeProfileSchema, EncodedPacketSchema, EnrichedWidgetMetadataSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, EventCategory, EventEmitterStatusSchema, EventFireSchema, EventItemSchema, EventKindSchema, EventSourceType, ExportSetupFieldSchema, ExportSetupSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionEvalError, ExpressionParseError, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, GasStatusSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, HF_BASE_URL, HF_REPO, HWACCEL_OPTIONS, HealthStatusSchema, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, LabelDefinitionSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, MACRO_LABELS, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, METHOD_ACCESS_MAP, MODEL_FORMATS, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, 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, NativeDetectionSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NotificationActionSchema, NotificationFormatSchema, NotificationHistoryEntrySchema, NotificationRuleSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OauthIntegrationDescriptorSchema, ObjectEventSchema, OrchestratorMetricsSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdStatusSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PROVIDER_KIND_CAP_NAMES, PYTHON_SCRIPT, PackageUpdateSchema, PackageVersionInfoSchema, 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, PtzPositionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECOGNITION_TYPES, RESERVED_BINDING_NAMES, RUNTIME_DEFAULTS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadSegmentBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingModeSchema, RecordingRangeSchema, RecordingRetentionSchema, RecordingRuleSchema, RecordingScheduleSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RenderedAsSchema, ReportMotionInputSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCOPE_PRESETS, SOURCE_INFO_METADATA_KEY, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, 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, 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, TIMEZONES, TamperStatusSchema, TankStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestResultSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackSchema, TrackStateSchema, TrackedDetectionSchema, TurnServerSchema, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VibrationStatusSchema, VideoEncodeSchema, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, YAMNET_TO_MACRO, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, advancedNotifierCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, applyTransform, asBoolean, asJsonArray, asJsonObject, asNumber, asString, audioAnalysisCapability, audioAnalyzerCapability, audioCodecCapability, audioMetricsCapability, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildModelVariantGroups, buildStreamParamsConfigSchema, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, carbonMonoxideCapability, cellsToRects, classifyStream, classifyStreams, climateControlCapability, colorCapability, compileExpression, compileExpressionSafe, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, cosineSimilarity, coverCapability, createDeviceProxy, createDurableState, createEvent, createExpressionScope, createLazyTrpcSource, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dayNightCapability, decoderCapability, defaultDeviceFor, defineCustomActions, describeModelVariant, detectionPipelineCapability, deviceAdoptionCapability, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceStateCapability, deviceStatusCapability, doorbellCapability, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, enumSensorCapability, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateLinkExpression, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, expandCapMethods, extractSourceInfoFromMetadata, faceGalleryCapability, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, formatForBackend, formatForRuntime, frameworkSwapConfirmSchema, frameworkSwapPackageSchema, gasCapability, getAudioMacroClassIds, getByPath, getCapsByProviderKind, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, integrationsCapability, intercomCapability, isAgentOnlyPlacement, isArrayOutputSchema, isDeployableToAgent, isDeviceConfigCap, isEvent, isObjectInput, isVoidInput, jobKindSchema, kebabToCamel, lawnMowerControlCapability, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, localNetworkCapability, locationSimilarity, lockControlCapability, logDestinationCapability, looseSchema, makeProfileBrokerId, makeSourceBrokerId, mapAudioLabelToMacro, markdownToHtmlLite, markdownToText, maskUrlCredentials, mediaPlayerCapability, mergeSourceInfo, meshNetworkCapability, method, metricsProviderCapability, migrateConfigToBands, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, networkAccessCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeUnit, notificationOutputCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, osdCapability, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProfileBrokerId, parseStreamParamsFormPatch, pendingFrameworkSwapSchema, petFeederCapability, pickPreferredRtspEntry, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readNodePin, readinessKey, rebootCapability, recordingCapability, rectsToCells, requiresPython, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveCapMount, resolveDetectionRuntime, resolveDeviceProfile, resolveFormat, resolveModelFormat, resolveRunnerId, resolveVariantModelId, runInferenceStep, runtimeDevices, scopeKey, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, setByPath, settingsStoreCapability, sleep, sleepCancellable, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, storageCapability, storageEvictableCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, supportedRuntimes, switchCapability, synthesizeSourceInfo, systemCapability, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, textToHtml, toDeviceSummary, toExpressionValue, toStreamSourceEntry, toastCapability, tokenize, transcodeBody, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, updateCapability, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateExpressionSource, valveCapability, vibrationCapability, videoclipsCapability, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
|