@camstack/types 1.1.31 → 1.1.33

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.
Files changed (52) hide show
  1. package/dist/addon.js +1 -1
  2. package/dist/addon.mjs +1 -1
  3. package/dist/capabilities/addons.cap.d.ts +3 -1
  4. package/dist/capabilities/alerts.cap.d.ts +5 -5
  5. package/dist/capabilities/camera-streams.cap.d.ts +5 -5
  6. package/dist/capabilities/cap-router-predicates.d.ts +32 -0
  7. package/dist/capabilities/capability-definition.d.ts +18 -13
  8. package/dist/capabilities/consumables.cap.d.ts +1 -1
  9. package/dist/capabilities/custom-model-registry.cap.d.ts +36 -0
  10. package/dist/capabilities/index.d.ts +8 -15
  11. package/dist/capabilities/integrations.cap.d.ts +1 -1
  12. package/dist/capabilities/model-convert.cap.d.ts +21 -3
  13. package/dist/capabilities/model-distributor.cap.d.ts +36 -0
  14. package/dist/capabilities/network-quality.cap.d.ts +1 -1
  15. package/dist/capabilities/nodes.cap.d.ts +1 -1
  16. package/dist/capabilities/pipeline-executor.cap.d.ts +135 -8
  17. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +87 -44
  18. package/dist/capabilities/pipeline-runner.cap.d.ts +10 -69
  19. package/dist/capabilities/snapshot.cap.d.ts +3 -3
  20. package/dist/capabilities/stream-broker.cap.d.ts +9 -1
  21. package/dist/capabilities/system.cap.d.ts +1 -1
  22. package/dist/capabilities/toast.cap.d.ts +1 -1
  23. package/dist/capabilities/webrtc-session.cap.d.ts +15 -1
  24. package/dist/encode-profile.d.ts +2 -2
  25. package/dist/enums/event-category.d.ts +12 -0
  26. package/dist/generated/addon-api.d.ts +746 -636
  27. package/dist/generated/capability-router-map.d.ts +4 -16
  28. package/dist/generated/device-proxy.d.ts +0 -2
  29. package/dist/generated/method-access-map.d.ts +1 -1
  30. package/dist/generated/system-proxy.d.ts +2 -2
  31. package/dist/index.d.ts +1 -3
  32. package/dist/index.js +425 -349
  33. package/dist/index.mjs +412 -343
  34. package/dist/interfaces/capability.d.ts +0 -7
  35. package/dist/interfaces/event-bus.d.ts +9 -0
  36. package/dist/interfaces/pipeline-executor-capability.d.ts +14 -1
  37. package/dist/interfaces/pipeline-runner-capability.d.ts +11 -11
  38. package/dist/interfaces/recording-config.d.ts +2 -2
  39. package/dist/{sleep-CZDdRBua.mjs → sleep-Cc14_yxc.mjs} +12 -4
  40. package/dist/{sleep-Dirr8nGw.js → sleep-DmP-uxoe.js} +12 -4
  41. package/dist/types/agent-pipeline-settings.d.ts +18 -6
  42. package/dist/types/camera-pipeline.d.ts +17 -3
  43. package/dist/types/model-variant-groups.d.ts +90 -0
  44. package/dist/types/models.d.ts +60 -3
  45. package/package.json +1 -1
  46. package/dist/capabilities/restreamer.cap.d.ts +0 -54
  47. package/dist/capabilities/snapshot-provider.cap.d.ts +0 -43
  48. package/dist/capabilities/streaming-engine.cap.d.ts +0 -61
  49. package/dist/capabilities/webrtc.cap.d.ts +0 -75
  50. package/dist/interfaces/restreamer.d.ts +0 -23
  51. package/dist/interfaces/streaming.d.ts +0 -28
  52. 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-CZDdRBua.mjs";
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,28 @@ 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 / reduced-input variant)
135
+ * — the slot the future performance variants plug into.
136
+ */
137
+ optimization: z.enum(["standard", "fast"]).optional()
138
+ });
117
139
  var ModelCatalogEntrySchema = z.object({
118
140
  id: z.string(),
119
141
  name: z.string(),
@@ -143,7 +165,43 @@ var ModelCatalogEntrySchema = z.object({
143
165
  * Auxiliary files required at runtime (labels JSON, charset dict, etc.).
144
166
  * Downloaded into the same modelsDir alongside the model file.
145
167
  */
146
- extraFiles: z.array(ModelExtraFileSchema).readonly().optional()
168
+ extraFiles: z.array(ModelExtraFileSchema).readonly().optional(),
169
+ /**
170
+ * LEGACY entry — retained in the catalog so a persisted operator selection
171
+ * still RESOLVES (and can be re-activated), but hidden from the selectable
172
+ * model list and excluded from the auto format-default pick. Set on the
173
+ * superseded / consolidated models (older lineages, redundant fp16 IRs) so
174
+ * the active lineup stays the coherent curated ladder without deleting a
175
+ * model anyone may still be pinned to. `resolveModelForFormat` keeps honoring
176
+ * an explicit legacy id that has a build for the node's format.
177
+ */
178
+ legacy: z.boolean().optional(),
179
+ /**
180
+ * Measured quality/latency metadata — populated from the benchmark addon on
181
+ * the real node classes. Absent = not yet measured (most entries today; the
182
+ * catalog historically carried only `sizeMB`, a poor cross-architecture
183
+ * speed proxy). `p95LatencyMs` is keyed by node class (e.g. `n100`, `mac`).
184
+ */
185
+ metrics: z.object({
186
+ map50: z.number().optional(),
187
+ p95LatencyMs: z.record(z.string(), z.number()).optional()
188
+ }).optional(),
189
+ /**
190
+ * SPDX-ish license id of the model weights (e.g. `AGPL-3.0` for Ultralytics
191
+ * YOLO26, `GPL-3.0` for YOLOv9, `Apache-2.0` for D-FINE/RF-DETR). Matters for
192
+ * the retraining addon and any future commercial distribution.
193
+ */
194
+ license: z.string().optional(),
195
+ /**
196
+ * Variant-selector grouping. The UI groups models by `family` + `tier` and
197
+ * offers `precision` / `optimization` as variant axes WITHIN a tier — so all
198
+ * of a family's sizes and quantizations collapse into one grouped picker
199
+ * instead of a flat list of `yolo26s`, `yolo26s-int8`, … Absent ⇒ ungrouped
200
+ * (legacy / custom models) — never shown in the grouped selector. The flat
201
+ * `id` stays the source of truth for resolution/download/persistence; grouping
202
+ * is a presentation overlay resolved back to an `id`.
203
+ */
204
+ group: ModelVariantGroupSchema.optional()
147
205
  });
148
206
  var ConvertTargetSchema = z.discriminatedUnion("format", [z.object({
149
207
  format: z.literal("openvino"),
@@ -186,6 +244,135 @@ var ConvertResultSchema = z.object({
186
244
  artifacts: z.array(ConvertArtifactSchema).readonly()
187
245
  });
188
246
  //#endregion
247
+ //#region src/types/model-variant-groups.ts
248
+ var FORMAT_KEYS = [
249
+ "onnx",
250
+ "coreml",
251
+ "openvino",
252
+ "tflite",
253
+ "pt"
254
+ ];
255
+ function familyLabel(family) {
256
+ return family.toUpperCase();
257
+ }
258
+ /** Strip a leading family label from a base model name → clean tier label. */
259
+ function tierLabel(family, baseName) {
260
+ const fl = familyLabel(family);
261
+ const stripped = baseName.replace(new RegExp(`^${fl}\\s+`, "i"), "").trim();
262
+ return stripped.length > 0 ? stripped : baseName;
263
+ }
264
+ function variantLabel(precision, optimization) {
265
+ const parts = [];
266
+ if (optimization === "fast") parts.push("Fast");
267
+ parts.push(precision === "int8" ? "Int8" : "Standard");
268
+ return parts.join(" · ");
269
+ }
270
+ function entryFormats(entry) {
271
+ return FORMAT_KEYS.filter((f) => entry.formats[f] !== void 0);
272
+ }
273
+ function smallestSizeMB(entry) {
274
+ const sizes = FORMAT_KEYS.map((f) => entry.formats[f]?.sizeMB).filter((n) => typeof n === "number");
275
+ return sizes.length > 0 ? Math.min(...sizes) : 0;
276
+ }
277
+ var TIER_ORDER = [
278
+ "n",
279
+ "s",
280
+ "m",
281
+ "l",
282
+ "x"
283
+ ];
284
+ var PRECISION_ORDER = ["fp32", "int8"];
285
+ /**
286
+ * Fold a flat catalog into the `family → tier → variant` tree. Deterministic
287
+ * ordering: tiers by the canonical size ladder (unknown tiers appended
288
+ * alphabetically), variants standard-before-int8 and fast last.
289
+ */
290
+ function buildModelVariantGroups(models) {
291
+ const byFamily = /* @__PURE__ */ new Map();
292
+ for (const m of models) {
293
+ if (m.legacy === true || m.group === void 0) continue;
294
+ const { family, tier } = m.group;
295
+ const tiers = byFamily.get(family) ?? /* @__PURE__ */ new Map();
296
+ const entries = tiers.get(tier) ?? [];
297
+ entries.push(m);
298
+ tiers.set(tier, entries);
299
+ byFamily.set(family, tiers);
300
+ }
301
+ const families = [];
302
+ for (const [family, tiers] of byFamily) {
303
+ const tierList = [];
304
+ for (const [tier, entries] of tiers) {
305
+ const options = entries.map((e) => {
306
+ const precision = e.group?.precision ?? "fp32";
307
+ const optimization = e.group?.optimization ?? "standard";
308
+ return {
309
+ modelId: e.id,
310
+ precision,
311
+ optimization,
312
+ label: variantLabel(precision, optimization),
313
+ formats: entryFormats(e),
314
+ sizeMB: smallestSizeMB(e)
315
+ };
316
+ }).toSorted((a, b) => {
317
+ if (a.optimization !== b.optimization) return a.optimization === "fast" ? 1 : -1;
318
+ return PRECISION_ORDER.indexOf(a.precision) - PRECISION_ORDER.indexOf(b.precision);
319
+ });
320
+ const base = options.find((o) => o.precision === "fp32" && o.optimization === "standard") ?? options[0];
321
+ if (base === void 0) continue;
322
+ const baseEntry = entries.find((e) => e.id === base.modelId);
323
+ tierList.push({
324
+ tier,
325
+ label: baseEntry ? tierLabel(family, baseEntry.name) : tier.toUpperCase(),
326
+ baseModelId: base.modelId,
327
+ options
328
+ });
329
+ }
330
+ tierList.sort((a, b) => {
331
+ const ia = TIER_ORDER.indexOf(a.tier);
332
+ const ib = TIER_ORDER.indexOf(b.tier);
333
+ if (ia !== -1 && ib !== -1) return ia - ib;
334
+ if (ia !== -1) return -1;
335
+ if (ib !== -1) return 1;
336
+ return a.tier.localeCompare(b.tier);
337
+ });
338
+ families.push({
339
+ family,
340
+ label: familyLabel(family),
341
+ tiers: tierList
342
+ });
343
+ }
344
+ families.sort((a, b) => a.family.localeCompare(b.family));
345
+ return families;
346
+ }
347
+ /**
348
+ * Map a grouped selection back to a flat catalog model id. Returns `null` when
349
+ * no entry matches (the UI then falls back to the tier base / format default).
350
+ * `precision`/`optimization` default to `fp32`/`standard` (the base build).
351
+ */
352
+ function resolveVariantModelId(models, selection) {
353
+ const precision = selection.precision ?? "fp32";
354
+ const optimization = selection.optimization ?? "standard";
355
+ for (const m of models) {
356
+ if (m.group === void 0) continue;
357
+ if (m.group.family !== selection.family || m.group.tier !== selection.tier) continue;
358
+ if ((m.group.precision ?? "fp32") !== precision) continue;
359
+ if ((m.group.optimization ?? "standard") !== optimization) continue;
360
+ return m.id;
361
+ }
362
+ return null;
363
+ }
364
+ /** Inverse: describe a flat model id as a grouped selection, or `null`. */
365
+ function describeModelVariant(models, modelId) {
366
+ const entry = models.find((m) => m.id === modelId);
367
+ if (entry?.group === void 0) return null;
368
+ return {
369
+ family: entry.group.family,
370
+ tier: entry.group.tier,
371
+ precision: entry.group.precision ?? "fp32",
372
+ optimization: entry.group.optimization ?? "standard"
373
+ };
374
+ }
375
+ //#endregion
189
376
  //#region src/interfaces/addon.ts
190
377
  var DEFAULT_ADDON_PLACEMENT = "hub-only";
191
378
  /**
@@ -571,8 +758,8 @@ var RecordingModeSchema = z.enum([
571
758
  "onAudioThreshold"
572
759
  ]);
573
760
  /**
574
- * First-class, authoritative per-camera storage mode — the netta choice the UI
575
- * reads directly (never inferred from `rules`):
761
+ * First-class, authoritative per-camera storage mode — the explicit choice the
762
+ * UI reads directly (never inferred from `rules`):
576
763
  * - `off` — not recording.
577
764
  * - `events` — record only around triggers (motion / audio threshold),
578
765
  * with pre/post-buffer.
@@ -4477,42 +4664,14 @@ onBrightnessChanged: { data: z.object({
4477
4664
  runtimeState: BrightnessStatusSchema
4478
4665
  };
4479
4666
  //#endregion
4480
- //#region src/capabilities/streaming-engine.cap.ts
4667
+ //#region src/capabilities/stream-broker.cap.ts
4668
+ /** Stream delivery format. (Relocated from the retired `streaming-engine` cap.) */
4481
4669
  var StreamFormatSchema = z.enum([
4482
4670
  "webrtc",
4483
4671
  "hls",
4484
4672
  "mjpeg",
4485
4673
  "rtsp"
4486
4674
  ]);
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
4675
  var RtspRestreamEntrySchema = z.object({
4517
4676
  brokerId: z.string(),
4518
4677
  url: z.string(),
@@ -5506,37 +5665,7 @@ var consumablesCapability = {
5506
5665
  scope: "device",
5507
5666
  deviceNative: true,
5508
5667
  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
- ],
5668
+ deviceTypes: Object.values(DeviceType),
5540
5669
  deviceConfig: { ui: {
5541
5670
  kind: "widget",
5542
5671
  widgetId: "host/consumables-panel",
@@ -7302,7 +7431,6 @@ var PipelineDefaultStepSchema = z.lazy(() => z.object({
7302
7431
  enabled: z.boolean(),
7303
7432
  modelId: z.string(),
7304
7433
  children: z.array(PipelineDefaultStepSchema).readonly(),
7305
- engine: PipelineEngineChoiceSchema.optional(),
7306
7434
  group: z.string().optional(),
7307
7435
  settings: z.record(z.string(), z.unknown()).optional()
7308
7436
  }));
@@ -7327,7 +7455,9 @@ var PipelineModelOptionSchema = z.object({
7327
7455
  formats: z.record(z.string(), z.object({
7328
7456
  downloaded: z.boolean(),
7329
7457
  sizeMB: z.number()
7330
- }))
7458
+ })),
7459
+ group: ModelVariantGroupSchema.optional(),
7460
+ legacy: z.boolean().optional()
7331
7461
  });
7332
7462
  var ConfigFieldBridge = z.custom();
7333
7463
  var PipelineAddonSchemaSchema = z.object({
@@ -7378,15 +7508,42 @@ var EngineProvisioningSchema = z.object({
7378
7508
  ]),
7379
7509
  progress: z.number().optional(),
7380
7510
  error: z.string().optional(),
7381
- nextRetryAt: z.number().optional()
7511
+ nextRetryAt: z.number().optional(),
7512
+ /**
7513
+ * Gate A (config-correctness gate at engine change): human-readable
7514
+ * config issues surfaced EAGERLY when the node's engine changes — model
7515
+ * substitutions ("chose X, running Y") and zero-build steps ("no model
7516
+ * has a <format> build"). Additive/optional: informational only, never
7517
+ * enforced here — `assertEngineReady` (readiness) still gates inference.
7518
+ * Absent/empty when the node-default tree resolves cleanly.
7519
+ */
7520
+ configIssues: z.array(z.string()).optional()
7382
7521
  });
7383
7522
  var PipelineStepInputSchema = z.lazy(() => z.object({
7384
7523
  addonId: z.string(),
7385
- modelId: z.string(),
7524
+ modelId: z.string().optional(),
7386
7525
  enabled: z.boolean().default(true),
7387
7526
  children: z.array(PipelineStepInputSchema).optional(),
7388
7527
  settings: z.record(z.string(), z.unknown()).optional()
7389
7528
  }));
7529
+ var ModelSubstitutionSchema = z.object({
7530
+ addonId: z.string(),
7531
+ chosen: z.string(),
7532
+ running: z.string(),
7533
+ format: z.string()
7534
+ });
7535
+ var PipelineValidationIssueSchema = z.object({
7536
+ addonId: z.string(),
7537
+ kind: z.enum(["unknown-addon", "no-format-build"]),
7538
+ detail: z.string()
7539
+ });
7540
+ var PipelineValidationResultSchema = z.object({
7541
+ ok: z.boolean(),
7542
+ issues: z.array(PipelineValidationIssueSchema).readonly(),
7543
+ substitutions: z.array(ModelSubstitutionSchema).readonly(),
7544
+ /** The node's `currentEngine.format` this validation ran against. */
7545
+ format: z.string()
7546
+ });
7390
7547
  var ReferenceImageEntrySchema = z.object({
7391
7548
  filename: z.string(),
7392
7549
  stepIds: z.array(z.string()).readonly().optional()
@@ -7503,6 +7660,19 @@ var pipelineExecutorCapability = {
7503
7660
  getGlobalSteps: method(z.void(), z.array(PipelineDefaultStepSchema).readonly().nullable()),
7504
7661
  getGlobalPipelineConfig: method(z.void(), PipelineConfigBridge),
7505
7662
  getOrchestratorConfigSchema: method(z.void(), ConfigUISchemaBridge),
7663
+ /**
7664
+ * Gate B (pre-init config-correctness gate). PURE COMPUTE against this
7665
+ * node's `currentEngine.format` — resolves `steps` the same way the
7666
+ * runtime dispatch path would, and reports what WOULD happen without
7667
+ * touching any node-global state. Called by the orchestrator at attach
7668
+ * time (`attachOn`), node-pinned to the TARGET node, so config problems
7669
+ * surface BEFORE `pipelineRunner.attachCamera` rather than at the first
7670
+ * per-frame resolve. `ok` is false iff `issues` is non-empty (both
7671
+ * `unknown-addon` and `no-format-build` are HARD issues); `substitutions`
7672
+ * is informational (a degraded-but-loadable model swap) and never
7673
+ * affects `ok`. Never throws.
7674
+ */
7675
+ validatePipeline: method(z.object({ steps: z.array(PipelineStepInputSchema) }), PipelineValidationResultSchema),
7506
7676
  listTemplates: method(z.void(), z.array(PipelineTemplateSchema$1).readonly()),
7507
7677
  saveTemplate: method(z.object({
7508
7678
  name: z.string(),
@@ -7889,6 +8059,13 @@ var RunnerFrameSourceSchema = z.discriminatedUnion("kind", [z.object({ kind: z.l
7889
8059
  kind: z.literal("remote-restream"),
7890
8060
  /** The camera's source-owner node (slice 1: always the hub). */
7891
8061
  ownerNodeId: z.string(),
8062
+ /**
8063
+ * The owner's LAN-reachable host, resolved by the orchestrator from the
8064
+ * per-node `reachableHost` override (Cluster UI). When present the runner
8065
+ * dials THIS host for the owner's restream, in preference to the
8066
+ * `CAMSTACK_HUB_URL`-derived default. Absent → auto-detect fallback.
8067
+ */
8068
+ ownerReachableHost: z.string().optional(),
7892
8069
  /** Operator override for the owner host the runner dials. */
7893
8070
  hubHostnameOverride: z.string().optional()
7894
8071
  })]).describe("Per-camera frame-source mode for the runner (P2c)");
@@ -7897,13 +8074,11 @@ var RunnerFrameSourceSchema = z.discriminatedUnion("kind", [z.object({ kind: z.l
7897
8074
  * specific runner instance via `attachCamera`. Carries everything the
7898
8075
  * runner needs to subscribe to the local broker and execute inference.
7899
8076
  *
7900
- * Stateless-pipeline model: the full pipeline content (`engine`, `steps`,
7901
- * optional `audio`) travels with the attach payload. The runner keeps it
7902
- * in RAM for the lifetime of the attach — on rebalance, edit, or
7903
- * restart the orchestrator re-sends the latest snapshot.
7904
- *
7905
- * `engine`/`steps`/`audio` are optional during the additive migration
7906
- * window; once orchestrator + UI are migrated they become required.
8077
+ * Stateless-pipeline model: the pipeline content (`steps`, optional
8078
+ * `audio`) travels with the attach payload. The runner keeps it in RAM
8079
+ * for the lifetime of the attach — on rebalance, edit, or restart the
8080
+ * orchestrator re-sends the latest snapshot. Engine is NOT carried: it is
8081
+ * node-local, resolved by the executing runner at dispatch time.
7907
8082
  */
7908
8083
  var RunnerCameraConfigSchema = z.object({
7909
8084
  deviceId: z.number(),
@@ -7954,14 +8129,11 @@ var RunnerCameraConfigSchema = z.object({
7954
8129
  */
7955
8130
  motionSources: MotionSourcesSchema.default(["analyzer"]),
7956
8131
  pipelineEnabled: z.boolean().default(true),
7957
- /** Engine choice for video steps (runtime+backend+format). */
7958
- engine: PipelineEngineChoiceSchema.optional(),
7959
8132
  /** Ordered tree of video steps. Absent → runner skips video detection. */
7960
8133
  steps: z.array(PipelineStepInputSchema).readonly().optional(),
7961
8134
  /** Audio classification branch. `enabled:false` disables, null skips. */
7962
8135
  audio: z.object({
7963
- engine: PipelineEngineChoiceSchema,
7964
- modelId: z.string(),
8136
+ modelId: z.string().optional(),
7965
8137
  enabled: z.boolean()
7966
8138
  }).nullable().optional(),
7967
8139
  /**
@@ -12257,6 +12429,7 @@ function createSystemProxy(api) {
12257
12429
  getGlobalSteps: (input) => dispatch("pipelineExecutor", "getGlobalSteps", "query", input),
12258
12430
  getGlobalPipelineConfig: (input) => dispatch("pipelineExecutor", "getGlobalPipelineConfig", "query", input),
12259
12431
  getOrchestratorConfigSchema: (input) => dispatch("pipelineExecutor", "getOrchestratorConfigSchema", "query", input),
12432
+ validatePipeline: (input) => dispatch("pipelineExecutor", "validatePipeline", "query", input),
12260
12433
  listTemplates: (input) => dispatch("pipelineExecutor", "listTemplates", "query", input),
12261
12434
  saveTemplate: (input) => dispatch("pipelineExecutor", "saveTemplate", "mutation", input),
12262
12435
  updateTemplate: (input) => dispatch("pipelineExecutor", "updateTemplate", "mutation", input),
@@ -12288,6 +12461,7 @@ function createSystemProxy(api) {
12288
12461
  getGlobalMetrics: (input) => dispatch("pipelineOrchestrator", "getGlobalMetrics", "query", input),
12289
12462
  getCapabilityBindings: (input) => dispatch("pipelineOrchestrator", "getCapabilityBindings", "query", input),
12290
12463
  setCapabilityBinding: (input) => dispatch("pipelineOrchestrator", "setCapabilityBinding", "mutation", input),
12464
+ getIngestOwner: (input) => dispatch("pipelineOrchestrator", "getIngestOwner", "query", input),
12291
12465
  getDecoderAssignments: (input) => dispatch("pipelineOrchestrator", "getDecoderAssignments", "query", input),
12292
12466
  getAudioNodeLoad: (input) => dispatch("pipelineOrchestrator", "getAudioNodeLoad", "query", input),
12293
12467
  getAgentSettings: (input) => dispatch("pipelineOrchestrator", "getAgentSettings", "query", input),
@@ -12297,6 +12471,7 @@ function createSystemProxy(api) {
12297
12471
  setAgentMaxCameras: (input) => dispatch("pipelineOrchestrator", "setAgentMaxCameras", "mutation", input),
12298
12472
  setAgentDetectWeight: (input) => dispatch("pipelineOrchestrator", "setAgentDetectWeight", "mutation", input),
12299
12473
  setAgentCapabilities: (input) => dispatch("pipelineOrchestrator", "setAgentCapabilities", "mutation", input),
12474
+ setAgentReachableHost: (input) => dispatch("pipelineOrchestrator", "setAgentReachableHost", "mutation", input),
12300
12475
  getCameraStatuses: (input) => dispatch("pipelineOrchestrator", "getCameraStatuses", "query", input),
12301
12476
  listTemplates: (input) => dispatch("pipelineOrchestrator", "listTemplates", "query", input),
12302
12477
  saveTemplate: (input) => dispatch("pipelineOrchestrator", "saveTemplate", "mutation", input),
@@ -14409,6 +14584,65 @@ var cameraPipelineConfigCapability = {
14409
14584
  methods: {}
14410
14585
  };
14411
14586
  //#endregion
14587
+ //#region src/capabilities/cap-router-predicates.ts
14588
+ /**
14589
+ * Shared cap-router predicates — the SINGLE source for the structural Zod-shape
14590
+ * checks + naming used by BOTH the runtime cap-router builder
14591
+ * (`@camstack/system` `cap-router-builder.ts` + the server's
14592
+ * `cap-router-runtime.ts`) AND the codegen scripts (`scripts/generate-cap-*.ts`).
14593
+ *
14594
+ * These used to be independently reimplemented on each side, held in sync only
14595
+ * by "must stay byte-identical" comments — a live drift risk. Consolidating them
14596
+ * here (next to `resolveCapMount` / `expandCapMethods`, the other shared model)
14597
+ * makes the two paths provably agree. Each predicate accepts both Zod 4
14598
+ * (`_def.type`) and legacy Zod 3 (`_def.typeName` / `constructor.name`) shapes.
14599
+ */
14600
+ /** `z.void()` — input carries no data. */
14601
+ function isVoidInput(schema) {
14602
+ const def = schema._def;
14603
+ return schema.constructor?.name === "ZodVoid" || def?.type === "void" || def?.typeName === "ZodVoid";
14604
+ }
14605
+ /** `z.object()` — supports `.loose()` for out-of-band `nodeId`/`addonId` keys. */
14606
+ function isObjectInput(schema) {
14607
+ const def = schema._def;
14608
+ return schema.constructor?.name === "ZodObject" || def?.type === "object" || def?.typeName === "ZodObject";
14609
+ }
14610
+ /**
14611
+ * Structural "is this Zod schema an array output" check — bottoms out at
14612
+ * `ZodArray` through the canonical Zod 4 wrappers (readonly/optional/nullable/
14613
+ * default). Bounded unwrap guards against a malformed/cyclic schema.
14614
+ */
14615
+ function isArrayOutputSchema(schema) {
14616
+ let cur = schema;
14617
+ for (let depth = 0; depth < 8 && cur != null; depth += 1) {
14618
+ const def = cur._def;
14619
+ const ctor = cur.constructor?.name;
14620
+ if (ctor === "ZodArray" || def?.type === "array") return true;
14621
+ 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;
14622
+ cur = def.innerType;
14623
+ }
14624
+ return false;
14625
+ }
14626
+ /**
14627
+ * Apply `.loose()` to an object input schema when available (Zod 4) so the
14628
+ * router accepts the out-of-band `nodeId`/`addonId` selector keys without
14629
+ * stripping them. Falls back to the schema unchanged when `.loose()` is absent.
14630
+ */
14631
+ function looseSchema(schema) {
14632
+ const loose = schema.loose;
14633
+ return typeof loose === "function" ? loose.call(schema) : schema;
14634
+ }
14635
+ /** Auth level → base-procedure key. `superAdmin` collapses to `admin`. */
14636
+ function procedureAuthKey(auth) {
14637
+ if (auth === "public") return "public";
14638
+ if (auth === "admin" || auth === "superAdmin") return "admin";
14639
+ return "protected";
14640
+ }
14641
+ /** kebab-case cap name → camelCase router-map key. */
14642
+ function kebabToCamel(s) {
14643
+ return s.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
14644
+ }
14645
+ //#endregion
14412
14646
  //#region src/capabilities/custom-actions.ts
14413
14647
  /**
14414
14648
  * Identity — preserves literal types for downstream inference.
@@ -17197,11 +17431,11 @@ var pipelineAnalyticsCapability = {
17197
17431
  //#endregion
17198
17432
  //#region src/capabilities/pipeline-orchestrator.cap.ts
17199
17433
  var CameraPipelineConfigSchema = z.object({
17200
- engine: PipelineEngineChoiceSchema,
17434
+ engine: PipelineEngineChoiceSchema.optional(),
17201
17435
  steps: z.array(PipelineStepInputSchema).readonly(),
17202
17436
  audio: z.object({
17203
- engine: PipelineEngineChoiceSchema,
17204
- modelId: z.string(),
17437
+ engine: PipelineEngineChoiceSchema.optional(),
17438
+ modelId: z.string().optional(),
17205
17439
  enabled: z.boolean(),
17206
17440
  settings: z.record(z.string(), z.unknown()).readonly().optional()
17207
17441
  }).nullable().optional()
@@ -17216,7 +17450,7 @@ var PipelineTemplateSchema = z.object({
17216
17450
  });
17217
17451
  var AgentAddonConfigSchema = z.object({
17218
17452
  enabled: z.boolean(),
17219
- modelId: z.string(),
17453
+ modelId: z.string().optional(),
17220
17454
  settings: z.record(z.string(), z.unknown()).readonly()
17221
17455
  });
17222
17456
  var AgentPipelineSettingsSchema = z.object({
@@ -17231,7 +17465,15 @@ var AgentPipelineSettingsSchema = z.object({
17231
17465
  /** Node is eligible to run audio-analyzer sessions. */
17232
17466
  audio: z.boolean().optional(),
17233
17467
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
17234
- ingest: z.boolean().optional()
17468
+ ingest: z.boolean().optional(),
17469
+ /**
17470
+ * Operator override for the LAN host a cross-node decoder dials to reach
17471
+ * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
17472
+ * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
17473
+ * it already uses to reach the hub). Set this only when the auto-detected
17474
+ * address is wrong (multi-homed host, NAT, custom interface).
17475
+ */
17476
+ reachableHost: z.string().optional()
17235
17477
  });
17236
17478
  var CameraPipelineForAgentSchema = z.object({
17237
17479
  steps: z.array(PipelineStepInputSchema).readonly(),
@@ -17337,6 +17579,15 @@ var GlobalMetricsSchema = z.object({
17337
17579
  * capability providers.
17338
17580
  */
17339
17581
  var CapabilityBindingsSchema = z.record(z.string(), z.string());
17582
+ /**
17583
+ * The cluster's single camera-source owner (`clusterRoles.ingestNode`) plus
17584
+ * its LAN-reachable host, if one is registered. See `getIngestOwner`.
17585
+ */
17586
+ var IngestOwnerSchema = z.object({
17587
+ ownerNodeId: z.string(),
17588
+ reachableHost: z.string().optional(),
17589
+ configIssue: z.string().optional()
17590
+ });
17340
17591
  /** Stream entry surfaced from the stream-catalog for one device. */
17341
17592
  var CameraSourceStreamSchema = z.object({
17342
17593
  camStreamId: z.string(),
@@ -17353,6 +17604,14 @@ var CameraAssignmentStatusSchema = z.object({
17353
17604
  detectionNodeId: z.string().nullable(),
17354
17605
  decoderNodeId: z.string().nullable(),
17355
17606
  audioNodeId: z.string().nullable(),
17607
+ /**
17608
+ * The node that OWNS this camera's physical source pull (dials the RTSP and
17609
+ * hosts the broker/restream) — the cluster ingest owner today
17610
+ * (`clusterRoles.ingestNode`), per-camera once source assignment lands. Lets
17611
+ * the UI show WHERE a camera is sourced without SSH/logs, and is the node the
17612
+ * broker block below was read from (pinned). Nullable only pre-wiring.
17613
+ */
17614
+ sourceNodeId: z.string().nullable(),
17356
17615
  pinned: z.object({
17357
17616
  detection: z.boolean(),
17358
17617
  decoder: z.boolean(),
@@ -17559,6 +17818,14 @@ var pipelineOrchestratorCapability = {
17559
17818
  kind: "mutation",
17560
17819
  auth: "admin"
17561
17820
  }),
17821
+ /**
17822
+ * The cluster's single camera-source owner — resolved UNCONDITIONALLY
17823
+ * from `clusterRoles.ingestNode` (NOT the detection-decode
17824
+ * `remoteSourcingNodes` knob). Consumers (recorder/snapshot/audio) pin
17825
+ * their broker calls to `ownerNodeId` and dial `reachableHost` when
17826
+ * present. Defaults to `{ ownerNodeId: 'hub' }`.
17827
+ */
17828
+ getIngestOwner: method(z.void(), IngestOwnerSchema),
17562
17829
  /** Pin a device's decoder to a specific node. */
17563
17830
  assignDecoder: method(z.object({
17564
17831
  deviceId: z.number(),
@@ -17705,6 +17972,22 @@ var pipelineOrchestratorCapability = {
17705
17972
  kind: "mutation",
17706
17973
  auth: "admin"
17707
17974
  }),
17975
+ /**
17976
+ * Set (or clear) the operator override for the LAN host a cross-node
17977
+ * decoder dials to reach this node's restream. Pass a non-empty string to
17978
+ * override the auto-detected address (the runner's `CAMSTACK_HUB_URL`
17979
+ * default); pass `null` or an empty string to clear it and revert to
17980
+ * auto-detect. Applied on the next dispatch cycle — takes effect for new
17981
+ * cross-node attaches; existing attaches keep their current host until
17982
+ * re-dispatched.
17983
+ */
17984
+ setAgentReachableHost: method(z.object({
17985
+ agentNodeId: z.string(),
17986
+ reachableHost: z.string().nullable()
17987
+ }), z.object({ success: z.literal(true) }), {
17988
+ kind: "mutation",
17989
+ auth: "admin"
17990
+ }),
17708
17991
  /** Read one camera's settings. Null when never touched (inherits agent defaults fully). */
17709
17992
  getCameraSettings: method(z.object({ deviceId: z.number() }), CameraPipelineSettingsSchema.nullable()),
17710
17993
  /** Set or clear the 3-state toggle for one (camera, addonId). Pass `enabled: null` to clear and revert to agent default. */
@@ -17797,36 +18080,6 @@ var pipelineOrchestratorCapability = {
17797
18080
  }
17798
18081
  };
17799
18082
  //#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
18083
  //#region src/capabilities/settings-store.cap.ts
17831
18084
  /**
17832
18085
  * Query filter for settings-store collections.
@@ -18054,9 +18307,9 @@ var smtpProviderCapability = {
18054
18307
  /**
18055
18308
  * A single device snapshot returned as base64 JPEG/PNG.
18056
18309
  *
18057
- * Shared with the `snapshot-provider` collection cap the orchestrator
18058
- * receives the same shape from each native provider and from the
18059
- * broker-based fallback.
18310
+ * The `SnapshotAddon` wrapper returns this shape whether the frame came from
18311
+ * the device-native provider (onboard capture) or from the stream-broker
18312
+ * prebuffer fallback.
18060
18313
  */
18061
18314
  var SnapshotImageSchema = z.object({
18062
18315
  base64: z.string(),
@@ -18132,38 +18385,6 @@ var snapshotCapability = {
18132
18385
  }
18133
18386
  };
18134
18387
  //#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
18388
  //#region src/capabilities/sso-bridge.cap.ts
18168
18389
  /**
18169
18390
  * `sso-bridge` — internal hub-only cap that lets SSO-style auth
@@ -18698,11 +18919,12 @@ var videoclipsCapability = {
18698
18919
  }
18699
18920
  };
18700
18921
  //#endregion
18701
- //#region src/capabilities/webrtc.cap.ts
18922
+ //#region src/capabilities/webrtc-session.cap.ts
18702
18923
  /**
18703
- * Optional client-side hints sent at session creation to help the
18704
- * provider pick the best native source. All fields are optional —
18705
- * a viewer that knows nothing still gets a sane default.
18924
+ * Optional client-side hints sent at session creation to help the provider
18925
+ * pick the best native source. All fields optional — a viewer that knows
18926
+ * nothing still gets a sane default. (Relocated from the retired `webrtc`
18927
+ * collection cap; this `webrtc-session` cap is the live signaling surface.)
18706
18928
  */
18707
18929
  var webrtcClientHintsSchema = z.object({
18708
18930
  viewportWidth: z.number().int().positive().optional(),
@@ -18713,51 +18935,6 @@ var webrtcClientHintsSchema = z.object({
18713
18935
  /** Hard tier override; takes precedence over scoring when registered. */
18714
18936
  prefersTier: z.string().optional()
18715
18937
  }).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
18938
  /**
18762
18939
  * Discriminated target for a WebRTC session. The client sends this
18763
18940
  * structured object instead of building / parsing brokerId strings;
@@ -19030,7 +19207,7 @@ var webrtcSessionCapability = {
19030
19207
  }).nullable() }))
19031
19208
  },
19032
19209
  /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
19033
- mount: { kind: "custom" }
19210
+ mount: { kind: "server-provided" }
19034
19211
  };
19035
19212
  //#endregion
19036
19213
  //#region src/capabilities/accessories.cap.ts
@@ -19402,7 +19579,15 @@ var FrameworkPackageStatusSchema = z.object({
19402
19579
  latestVersion: z.string().nullable(),
19403
19580
  hasUpdate: z.boolean(),
19404
19581
  /** Optional manifest description for the row tooltip. */
19405
- description: z.string().optional()
19582
+ description: z.string().optional(),
19583
+ /**
19584
+ * Content build-id (md5 of the resolved `dist/` tree) of the code the hub
19585
+ * ACTUALLY loaded. Framework packages ship code changes without always
19586
+ * bumping `currentVersion`, so semver alone hides "same version, new code".
19587
+ * `null` when the dist can't be hashed (not installed / empty). The admin-UI
19588
+ * surfaces this so a stale-code hub is visible even at an unchanged version.
19589
+ */
19590
+ buildId: z.string().nullable()
19406
19591
  });
19407
19592
  var LogStreamEntrySchema = z.object({
19408
19593
  timestamp: z.string(),
@@ -19701,7 +19886,7 @@ var addonsCapability = {
19701
19886
  }), LogStreamEntrySchema, { kind: "subscription" })
19702
19887
  },
19703
19888
  /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
19704
- mount: { kind: "service-backed" }
19889
+ mount: { kind: "server-provided" }
19705
19890
  };
19706
19891
  //#endregion
19707
19892
  //#region src/capabilities/button.cap.ts
@@ -20117,7 +20302,7 @@ var integrationsCapability = {
20117
20302
  })
20118
20303
  },
20119
20304
  /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
20120
- mount: { kind: "service-backed" }
20305
+ mount: { kind: "server-provided" }
20121
20306
  };
20122
20307
  //#endregion
20123
20308
  //#region src/capabilities/intercom.cap.ts
@@ -20764,7 +20949,7 @@ var networkQualityCapability = {
20764
20949
  }), z.void(), { kind: "mutation" })
20765
20950
  },
20766
20951
  /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
20767
- mount: { kind: "service-backed" }
20952
+ mount: { kind: "server-provided" }
20768
20953
  };
20769
20954
  //#endregion
20770
20955
  //#region src/capabilities/nodes.cap.ts
@@ -20956,7 +21141,7 @@ var nodesCapability = {
20956
21141
  })
20957
21142
  },
20958
21143
  /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
20959
- mount: { kind: "service-backed" }
21144
+ mount: { kind: "server-provided" }
20960
21145
  };
20961
21146
  //#endregion
20962
21147
  //#region src/capabilities/osd.cap.ts
@@ -21950,7 +22135,7 @@ var systemCapability = {
21950
22135
  })
21951
22136
  },
21952
22137
  /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
21953
- mount: { kind: "service-backed" }
22138
+ mount: { kind: "server-provided" }
21954
22139
  };
21955
22140
  //#endregion
21956
22141
  //#region src/capabilities/toast.cap.ts
@@ -21990,7 +22175,7 @@ var toastCapability = {
21990
22175
  mode: "singleton",
21991
22176
  methods: { onToast: method(z.void(), ToastSchema, { kind: "subscription" }) },
21992
22177
  /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
21993
- mount: { kind: "service-backed" }
22178
+ mount: { kind: "server-provided" }
21994
22179
  };
21995
22180
  //#endregion
21996
22181
  //#region src/capabilities/user-management.cap.ts
@@ -22370,13 +22555,11 @@ var CAPABILITY_NAMES = {
22370
22555
  ptzAutotrack: "ptz-autotrack",
22371
22556
  reboot: "reboot",
22372
22557
  recording: "recording",
22373
- restreamer: "restreamer",
22374
22558
  scriptRunner: "script-runner",
22375
22559
  settingsStore: "settings-store",
22376
22560
  smoke: "smoke",
22377
22561
  smtpProvider: "smtp-provider",
22378
22562
  snapshot: "snapshot",
22379
- snapshotProvider: "snapshot-provider",
22380
22563
  ssoBridge: "sso-bridge",
22381
22564
  storage: "storage",
22382
22565
  storageEvictable: "storage-evictable",
@@ -22384,7 +22567,6 @@ var CAPABILITY_NAMES = {
22384
22567
  streamBroker: "stream-broker",
22385
22568
  streamCatalog: "stream-catalog",
22386
22569
  streamParams: "stream-params",
22387
- streamingEngine: "streaming-engine",
22388
22570
  switch: "switch",
22389
22571
  system: "system",
22390
22572
  tamper: "tamper",
@@ -22400,7 +22582,6 @@ var CAPABILITY_NAMES = {
22400
22582
  videoclips: "videoclips",
22401
22583
  waterHeater: "water-heater",
22402
22584
  weather: "weather",
22403
- webrtc: "webrtc",
22404
22585
  webrtcSession: "webrtc-session",
22405
22586
  zoneAnalytics: "zone-analytics",
22406
22587
  zoneRules: "zone-rules",
@@ -22824,10 +23005,6 @@ var CAPABILITY_ROUTER_KEYS = [
22824
23005
  key: "recording",
22825
23006
  name: "recording"
22826
23007
  },
22827
- {
22828
- key: "restreamer",
22829
- name: "restreamer"
22830
- },
22831
23008
  {
22832
23009
  key: "scriptRunner",
22833
23010
  name: "script-runner"
@@ -22848,10 +23025,6 @@ var CAPABILITY_ROUTER_KEYS = [
22848
23025
  key: "snapshot",
22849
23026
  name: "snapshot"
22850
23027
  },
22851
- {
22852
- key: "snapshotProvider",
22853
- name: "snapshot-provider"
22854
- },
22855
23028
  {
22856
23029
  key: "ssoBridge",
22857
23030
  name: "sso-bridge"
@@ -22880,10 +23053,6 @@ var CAPABILITY_ROUTER_KEYS = [
22880
23053
  key: "streamParams",
22881
23054
  name: "stream-params"
22882
23055
  },
22883
- {
22884
- key: "streamingEngine",
22885
- name: "streaming-engine"
22886
- },
22887
23056
  {
22888
23057
  key: "switch",
22889
23058
  name: "switch"
@@ -22944,10 +23113,6 @@ var CAPABILITY_ROUTER_KEYS = [
22944
23113
  key: "weather",
22945
23114
  name: "weather"
22946
23115
  },
22947
- {
22948
- key: "webrtc",
22949
- name: "webrtc"
22950
- },
22951
23116
  {
22952
23117
  key: "webrtcSession",
22953
23118
  name: "webrtc-session"
@@ -23079,13 +23244,11 @@ var ALL_CAPABILITY_DEFINITIONS = [
23079
23244
  ptzAutotrackCapability,
23080
23245
  rebootCapability,
23081
23246
  recordingCapability,
23082
- restreamerCapability,
23083
23247
  scriptRunnerCapability,
23084
23248
  settingsStoreCapability,
23085
23249
  smokeCapability,
23086
23250
  smtpProviderCapability,
23087
23251
  snapshotCapability,
23088
- snapshotProviderCapability,
23089
23252
  ssoBridgeCapability,
23090
23253
  storageCapability,
23091
23254
  storageEvictableCapability,
@@ -23093,7 +23256,6 @@ var ALL_CAPABILITY_DEFINITIONS = [
23093
23256
  streamBrokerCapability,
23094
23257
  streamCatalogCapability,
23095
23258
  streamParamsCapability,
23096
- streamingEngineCapability,
23097
23259
  switchCapability,
23098
23260
  systemCapability,
23099
23261
  tamperCapability,
@@ -23109,7 +23271,6 @@ var ALL_CAPABILITY_DEFINITIONS = [
23109
23271
  videoclipsCapability,
23110
23272
  waterHeaterCapability,
23111
23273
  weatherCapability,
23112
- webrtcCapability,
23113
23274
  webrtcSessionCapability,
23114
23275
  zoneAnalyticsCapability,
23115
23276
  zoneRulesCapability,
@@ -26008,6 +26169,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
26008
26169
  addonId: null,
26009
26170
  access: "create"
26010
26171
  },
26172
+ "pipelineExecutor.validatePipeline": {
26173
+ capName: "pipeline-executor",
26174
+ capScope: "system",
26175
+ addonId: null,
26176
+ access: "view"
26177
+ },
26011
26178
  "pipelineOrchestrator.assignAudio": {
26012
26179
  capName: "pipeline-orchestrator",
26013
26180
  capScope: "system",
@@ -26116,6 +26283,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
26116
26283
  addonId: null,
26117
26284
  access: "view"
26118
26285
  },
26286
+ "pipelineOrchestrator.getIngestOwner": {
26287
+ capName: "pipeline-orchestrator",
26288
+ capScope: "system",
26289
+ addonId: null,
26290
+ access: "view"
26291
+ },
26119
26292
  "pipelineOrchestrator.getPipelineAssignment": {
26120
26293
  capName: "pipeline-orchestrator",
26121
26294
  capScope: "system",
@@ -26188,6 +26361,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
26188
26361
  addonId: null,
26189
26362
  access: "create"
26190
26363
  },
26364
+ "pipelineOrchestrator.setAgentReachableHost": {
26365
+ capName: "pipeline-orchestrator",
26366
+ capScope: "system",
26367
+ addonId: null,
26368
+ access: "create"
26369
+ },
26191
26370
  "pipelineOrchestrator.setCameraPipelineForAgent": {
26192
26371
  capName: "pipeline-orchestrator",
26193
26372
  capScope: "system",
@@ -26518,24 +26697,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
26518
26697
  addonId: null,
26519
26698
  access: "create"
26520
26699
  },
26521
- "restreamer.getExposedResources": {
26522
- capName: "restreamer",
26523
- capScope: "system",
26524
- addonId: null,
26525
- access: "view"
26526
- },
26527
- "restreamer.registerDevice": {
26528
- capName: "restreamer",
26529
- capScope: "system",
26530
- addonId: null,
26531
- access: "create"
26532
- },
26533
- "restreamer.unregisterDevice": {
26534
- capName: "restreamer",
26535
- capScope: "system",
26536
- addonId: null,
26537
- access: "delete"
26538
- },
26539
26700
  "scriptRunner.run": {
26540
26701
  capName: "script-runner",
26541
26702
  capScope: "device",
@@ -26638,18 +26799,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
26638
26799
  addonId: null,
26639
26800
  access: "create"
26640
26801
  },
26641
- "snapshotProvider.getSnapshot": {
26642
- capName: "snapshot-provider",
26643
- capScope: "system",
26644
- addonId: null,
26645
- access: "view"
26646
- },
26647
- "snapshotProvider.supportsDevice": {
26648
- capName: "snapshot-provider",
26649
- capScope: "system",
26650
- addonId: null,
26651
- access: "view"
26652
- },
26653
26802
  "ssoBridge.signBridgeToken": {
26654
26803
  capName: "sso-bridge",
26655
26804
  capScope: "system",
@@ -27076,30 +27225,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
27076
27225
  addonId: null,
27077
27226
  access: "view"
27078
27227
  },
27079
- "streamingEngine.getStreamUrl": {
27080
- capName: "streaming-engine",
27081
- capScope: "system",
27082
- addonId: null,
27083
- access: "view"
27084
- },
27085
- "streamingEngine.listStreams": {
27086
- capName: "streaming-engine",
27087
- capScope: "system",
27088
- addonId: null,
27089
- access: "view"
27090
- },
27091
- "streamingEngine.registerStream": {
27092
- capName: "streaming-engine",
27093
- capScope: "system",
27094
- addonId: null,
27095
- access: "create"
27096
- },
27097
- "streamingEngine.unregisterStream": {
27098
- capName: "streaming-engine",
27099
- capScope: "system",
27100
- addonId: null,
27101
- access: "delete"
27102
- },
27103
27228
  "streamParams.getConfigSchema": {
27104
27229
  capName: "stream-params",
27105
27230
  capScope: "device",
@@ -27466,54 +27591,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
27466
27591
  addonId: null,
27467
27592
  access: "create"
27468
27593
  },
27469
- "webrtc.closeSession": {
27470
- capName: "webrtc",
27471
- capScope: "system",
27472
- addonId: null,
27473
- access: "create"
27474
- },
27475
- "webrtc.createSession": {
27476
- capName: "webrtc",
27477
- capScope: "system",
27478
- addonId: null,
27479
- access: "create"
27480
- },
27481
- "webrtc.handleAnswer": {
27482
- capName: "webrtc",
27483
- capScope: "system",
27484
- addonId: null,
27485
- access: "create"
27486
- },
27487
- "webrtc.handleOffer": {
27488
- capName: "webrtc",
27489
- capScope: "system",
27490
- addonId: null,
27491
- access: "create"
27492
- },
27493
- "webrtc.hasAdaptiveBitrate": {
27494
- capName: "webrtc",
27495
- capScope: "system",
27496
- addonId: null,
27497
- access: "view"
27498
- },
27499
- "webrtc.registerStream": {
27500
- capName: "webrtc",
27501
- capScope: "system",
27502
- addonId: null,
27503
- access: "create"
27504
- },
27505
- "webrtc.supportsStream": {
27506
- capName: "webrtc",
27507
- capScope: "system",
27508
- addonId: null,
27509
- access: "view"
27510
- },
27511
- "webrtc.unregisterStream": {
27512
- capName: "webrtc",
27513
- capScope: "system",
27514
- addonId: null,
27515
- access: "delete"
27516
- },
27517
27594
  "webrtcSession.addIceCandidate": {
27518
27595
  capName: "webrtc-session",
27519
27596
  capScope: "device",
@@ -27714,12 +27791,10 @@ var KNOWN_CAP_NAMES = [
27714
27791
  "ptz-autotrack",
27715
27792
  "reboot",
27716
27793
  "recording",
27717
- "restreamer",
27718
27794
  "script-runner",
27719
27795
  "settings-store",
27720
27796
  "smtp-provider",
27721
27797
  "snapshot",
27722
- "snapshot-provider",
27723
27798
  "sso-bridge",
27724
27799
  "storage",
27725
27800
  "storage-evictable",
@@ -27727,7 +27802,6 @@ var KNOWN_CAP_NAMES = [
27727
27802
  "stream-broker",
27728
27803
  "stream-catalog",
27729
27804
  "stream-params",
27730
- "streaming-engine",
27731
27805
  "switch",
27732
27806
  "system",
27733
27807
  "toast",
@@ -27739,7 +27813,6 @@ var KNOWN_CAP_NAMES = [
27739
27813
  "valve",
27740
27814
  "videoclips",
27741
27815
  "water-heater",
27742
- "webrtc",
27743
27816
  "webrtc-session",
27744
27817
  "zone-analytics",
27745
27818
  "zone-rules",
@@ -27847,22 +27920,18 @@ var SYSTEM_CAP_NAMES = [
27847
27920
  "plate-gallery",
27848
27921
  "platform-probe",
27849
27922
  "recording",
27850
- "restreamer",
27851
27923
  "settings-store",
27852
27924
  "smtp-provider",
27853
- "snapshot-provider",
27854
27925
  "sso-bridge",
27855
27926
  "storage",
27856
27927
  "storage-evictable",
27857
27928
  "storage-provider",
27858
27929
  "stream-broker",
27859
- "streaming-engine",
27860
27930
  "system",
27861
27931
  "toast",
27862
27932
  "turn-provider",
27863
27933
  "user-management",
27864
- "user-passkeys",
27865
- "webrtc"
27934
+ "user-passkeys"
27866
27935
  ];
27867
27936
  //#endregion
27868
27937
  //#region src/generated/scope-presets.ts
@@ -28419,4 +28488,4 @@ function scoreRuntimes(hw) {
28419
28488
  };
28420
28489
  }
28421
28490
  //#endregion
28422
- 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 };
28491
+ 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, 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, 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 };