@camstack/types 1.1.33 → 1.1.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/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-Cc14_yxc.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-DiQ8xW1M.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
@@ -131,10 +131,18 @@ var ModelVariantGroupSchema = z.object({
131
131
  precision: z.enum(["fp32", "int8"]).optional(),
132
132
  /**
133
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.
134
+ * latency-optimized export (e.g. ReLU-activation variant) the slot the
135
+ * future performance variants plug into.
136
136
  */
137
- optimization: z.enum(["standard", "fast"]).optional()
137
+ optimization: z.enum(["standard", "fast"]).optional(),
138
+ /**
139
+ * Input-resolution axis (square input side, px). Omit ⇒ the family's native
140
+ * resolution (640 for yolo26). Reduced-input builds (320 / 256) are a big,
141
+ * cheap latency lever — especially on Apple ANE and the Intel N100 — at a
142
+ * small-object accuracy cost. Mirrors the model's `inputSize` but lifted onto
143
+ * the group so the selector can offer it as a variant axis.
144
+ */
145
+ resolution: z.number().int().positive().optional()
138
146
  });
139
147
  var ModelCatalogEntrySchema = z.object({
140
148
  id: z.string(),
@@ -309,15 +317,17 @@ function buildModelVariantGroups(models) {
309
317
  modelId: e.id,
310
318
  precision,
311
319
  optimization,
320
+ resolution: e.group?.resolution,
312
321
  label: variantLabel(precision, optimization),
313
322
  formats: entryFormats(e),
314
323
  sizeMB: smallestSizeMB(e)
315
324
  };
316
325
  }).toSorted((a, b) => {
326
+ if (a.resolution !== b.resolution) return (b.resolution ?? Infinity) - (a.resolution ?? Infinity);
317
327
  if (a.optimization !== b.optimization) return a.optimization === "fast" ? 1 : -1;
318
328
  return PRECISION_ORDER.indexOf(a.precision) - PRECISION_ORDER.indexOf(b.precision);
319
329
  });
320
- const base = options.find((o) => o.precision === "fp32" && o.optimization === "standard") ?? options[0];
330
+ const base = options.find((o) => o.precision === "fp32" && o.optimization === "standard" && o.resolution === void 0) ?? options[0];
321
331
  if (base === void 0) continue;
322
332
  const baseEntry = entries.find((e) => e.id === base.modelId);
323
333
  tierList.push({
@@ -357,6 +367,7 @@ function resolveVariantModelId(models, selection) {
357
367
  if (m.group.family !== selection.family || m.group.tier !== selection.tier) continue;
358
368
  if ((m.group.precision ?? "fp32") !== precision) continue;
359
369
  if ((m.group.optimization ?? "standard") !== optimization) continue;
370
+ if (m.group.resolution !== selection.resolution) continue;
360
371
  return m.id;
361
372
  }
362
373
  return null;
@@ -369,7 +380,8 @@ function describeModelVariant(models, modelId) {
369
380
  family: entry.group.family,
370
381
  tier: entry.group.tier,
371
382
  precision: entry.group.precision ?? "fp32",
372
- optimization: entry.group.optimization ?? "standard"
383
+ optimization: entry.group.optimization ?? "standard",
384
+ resolution: entry.group.resolution
373
385
  };
374
386
  }
375
387
  //#endregion
@@ -1795,7 +1807,7 @@ async function runInferenceStep(fn, timeoutMs) {
1795
1807
  const t0 = performance.now();
1796
1808
  try {
1797
1809
  return {
1798
- output: timeoutMs !== void 0 ? await withTimeout(fn(), timeoutMs) : await fn(),
1810
+ output: timeoutMs !== void 0 ? await withTimeout$1(fn(), timeoutMs) : await fn(),
1799
1811
  durationMs: roundMs(performance.now() - t0),
1800
1812
  ok: true
1801
1813
  };
@@ -1813,7 +1825,7 @@ function roundMs(ms) {
1813
1825
  return Math.round(ms * 100) / 100;
1814
1826
  }
1815
1827
  /** Reject a promise if it exceeds the given timeout */
1816
- function withTimeout(promise, ms) {
1828
+ function withTimeout$1(promise, ms) {
1817
1829
  return new Promise((resolve, reject) => {
1818
1830
  const timer = setTimeout(() => reject(/* @__PURE__ */ new Error(`Inference timeout after ${ms}ms`)), ms);
1819
1831
  promise.then((v) => {
@@ -3775,6 +3787,111 @@ function createRuntimeStateBridge(params) {
3775
3787
  };
3776
3788
  }
3777
3789
  //#endregion
3790
+ //#region src/device/reachability-poll.ts
3791
+ /**
3792
+ * Shared control-plane reachability poller for camera devices.
3793
+ *
3794
+ * `device.online` must reflect CONTROL-PLANE REACHABILITY — "can we talk to
3795
+ * the camera's management API right now" — NOT whether video happens to be
3796
+ * flowing through the stream broker. A camera that dials on-demand (no
3797
+ * consumer attached) is fully reachable yet has no active stream; driving
3798
+ * `online` from stream health falsely marks it OFFLINE.
3799
+ *
3800
+ * Every camera provider owns a cheap control-plane round-trip (Hikvision
3801
+ * ISAPI `getDeviceInfo`, Amcrest Dahua CGI `getDeviceInfo`, ONVIF
3802
+ * `getDeviceInformation`, RTSP `OPTIONS`/TCP-connect). Each provider passes
3803
+ * that round-trip as a `probe: () => Promise<boolean>` and this helper runs
3804
+ * the loop, applies hysteresis, and drives the device's `online` setter.
3805
+ *
3806
+ * Hysteresis rules (avoid flapping on a single dropped packet):
3807
+ * - mark ONLINE immediately on the first successful probe;
3808
+ * - mark OFFLINE only after {@link REACHABILITY_FAILURES_TO_OFFLINE}
3809
+ * CONSECUTIVE failures.
3810
+ *
3811
+ * Robustness rules:
3812
+ * - each probe is bounded by {@link REACHABILITY_PROBE_TIMEOUT_MS} so a hung
3813
+ * control channel can't wedge the loop;
3814
+ * - a single in-flight probe at a time — a slow probe never stacks up;
3815
+ * - the loop never throws (a rejected/thrown probe counts as a failure);
3816
+ * - `isEnabled()` gates each tick so a soft-disabled device isn't polled.
3817
+ */
3818
+ /** Poll cadence — probe every camera's control plane on this interval. */
3819
+ var REACHABILITY_POLL_INTERVAL_MS = 3e4;
3820
+ /**
3821
+ * Consecutive failures required before flipping `online` to `false`.
3822
+ * ONLINE is asserted on the first success; OFFLINE waits for N misses so a
3823
+ * single transient timeout doesn't flap the flag.
3824
+ */
3825
+ var REACHABILITY_FAILURES_TO_OFFLINE = 3;
3826
+ /** Per-probe timeout — an unreachable/hung control channel resolves as a miss. */
3827
+ var REACHABILITY_PROBE_TIMEOUT_MS = 1e4;
3828
+ /** Reject after `ms`; always clears its own timer. */
3829
+ async function withTimeout(promise, ms, label) {
3830
+ let timer;
3831
+ const timeout = new Promise((_resolve, reject) => {
3832
+ timer = setTimeout(() => reject(/* @__PURE__ */ new Error(`${label} timed out after ${String(ms)}ms`)), ms);
3833
+ });
3834
+ try {
3835
+ return await Promise.race([promise, timeout]);
3836
+ } finally {
3837
+ if (timer !== void 0) clearTimeout(timer);
3838
+ }
3839
+ }
3840
+ /**
3841
+ * Start the reachability poll loop. Returns a handle whose `stop()` clears the
3842
+ * timer and prevents any further ticks. Start on device activation, stop on
3843
+ * device teardown (`removeDevice`) so no timer leaks.
3844
+ */
3845
+ function startReachabilityPoll(options) {
3846
+ const intervalMs = options.intervalMs ?? 3e4;
3847
+ const failuresToOffline = options.failuresToOffline ?? 3;
3848
+ const probeTimeoutMs = options.probeTimeoutMs ?? 1e4;
3849
+ const runImmediately = options.runImmediately ?? true;
3850
+ let stopped = false;
3851
+ let running = false;
3852
+ let consecutiveFailures = 0;
3853
+ let timer;
3854
+ const tick = async () => {
3855
+ if (stopped) return;
3856
+ if (running) return;
3857
+ if (options.isEnabled && !options.isEnabled()) return;
3858
+ running = true;
3859
+ try {
3860
+ const reachable = await withTimeout(Promise.resolve().then(options.probe), probeTimeoutMs, "reachability probe");
3861
+ if (stopped) return;
3862
+ if (reachable) {
3863
+ consecutiveFailures = 0;
3864
+ options.setOnline(true);
3865
+ } else registerFailure("probe resolved unreachable");
3866
+ } catch (error) {
3867
+ if (stopped) return;
3868
+ registerFailure(error instanceof Error ? error.message : "probe threw");
3869
+ } finally {
3870
+ running = false;
3871
+ }
3872
+ };
3873
+ const registerFailure = (reason) => {
3874
+ consecutiveFailures += 1;
3875
+ options.logger?.debug("reachability probe failed", {
3876
+ reason,
3877
+ consecutiveFailures,
3878
+ failuresToOffline
3879
+ });
3880
+ if (consecutiveFailures >= failuresToOffline) options.setOnline(false);
3881
+ };
3882
+ timer = setInterval(() => {
3883
+ tick();
3884
+ }, intervalMs);
3885
+ if (typeof timer === "object" && timer !== null && "unref" in timer) timer.unref();
3886
+ if (runImmediately) tick();
3887
+ return { stop: () => {
3888
+ if (stopped) return;
3889
+ stopped = true;
3890
+ if (timer !== void 0) clearInterval(timer);
3891
+ timer = void 0;
3892
+ } };
3893
+ }
3894
+ //#endregion
3778
3895
  //#region src/notification/format-transcode.ts
3779
3896
  /** Strip a small, safe subset of Markdown down to plain text. */
3780
3897
  function markdownToText(md) {
@@ -7487,11 +7604,6 @@ var PipelineSchemaSchema = z.object({
7487
7604
  selectedEngine: PipelineEngineChoiceSchema,
7488
7605
  slots: z.array(PipelineSlotSchemaSchema).readonly()
7489
7606
  });
7490
- var DetectorOutputSchema = z.object({
7491
- detections: z.array(SpatialDetectionSchema).readonly(),
7492
- inferenceMs: z.number(),
7493
- modelId: z.string()
7494
- });
7495
7607
  var EngineProvisioningSchema = z.object({
7496
7608
  runtimeId: z.enum([
7497
7609
  "onnx",
@@ -7656,6 +7768,28 @@ var pipelineExecutorCapability = {
7656
7768
  kind: "mutation",
7657
7769
  auth: "admin"
7658
7770
  }),
7771
+ /**
7772
+ * Clear THIS node's executor-side PER-DEVICE settings stores (the
7773
+ * per-camera step overrides the object-detection root reads via
7774
+ * `applyDeviceOverridesToTree`). `nodeId` is the ROUTING key — the
7775
+ * generated cap-router strips it (default `nodeIdMode: 'routing'`) and
7776
+ * dispatches to that node, so the provider method runs ON the target
7777
+ * node and receives no `nodeId`.
7778
+ *
7779
+ * This is the slimmed executor leg of the orchestrator's
7780
+ * `resetNodePipelineDefaults` flow (which owns the real reset: node
7781
+ * addonDefaults pins + per-camera orchestrator overrides). The legacy
7782
+ * `resetToDefault` — which reset a persisted global step-tree seed
7783
+ * nothing in the live per-camera path read — was removed together with
7784
+ * that seed.
7785
+ */
7786
+ clearDeviceOverrides: method(z.object({ nodeId: z.string() }), z.object({
7787
+ success: z.literal(true),
7788
+ clearedDevices: z.number()
7789
+ }), {
7790
+ kind: "mutation",
7791
+ auth: "admin"
7792
+ }),
7659
7793
  getSchema: method(z.void(), PipelineSchemaSchema),
7660
7794
  getGlobalSteps: method(z.void(), z.array(PipelineDefaultStepSchema).readonly().nullable()),
7661
7795
  getGlobalPipelineConfig: method(z.void(), PipelineConfigBridge),
@@ -7697,11 +7831,6 @@ var pipelineExecutorCapability = {
7697
7831
  modelId: z.string(),
7698
7832
  format: ModelFormatSchema$1
7699
7833
  }), z.object({ success: z.literal(true) }), { kind: "mutation" }),
7700
- detect: method(z.object({
7701
- addonId: z.string(),
7702
- frame: FrameInputSchema,
7703
- config: z.record(z.string(), z.unknown()).optional()
7704
- }), DetectorOutputSchema),
7705
7834
  /**
7706
7835
  * Stateless single-frame execution. Callers (runner, benchmark) pass
7707
7836
  * the complete `engine` + `steps` tree; the executor holds no state
@@ -12425,6 +12554,7 @@ function createSystemProxy(api) {
12425
12554
  getEngineProvisioning: (input) => dispatch("pipelineExecutor", "getEngineProvisioning", "query", input),
12426
12555
  getVideoPipelineSteps: (input) => dispatch("pipelineExecutor", "getVideoPipelineSteps", "query", input),
12427
12556
  setVideoPipelineSteps: (input) => dispatch("pipelineExecutor", "setVideoPipelineSteps", "mutation", input),
12557
+ clearDeviceOverrides: (input) => dispatch("pipelineExecutor", "clearDeviceOverrides", "mutation", input),
12428
12558
  getSchema: (input) => dispatch("pipelineExecutor", "getSchema", "query", input),
12429
12559
  getGlobalSteps: (input) => dispatch("pipelineExecutor", "getGlobalSteps", "query", input),
12430
12560
  getGlobalPipelineConfig: (input) => dispatch("pipelineExecutor", "getGlobalPipelineConfig", "query", input),
@@ -12438,7 +12568,6 @@ function createSystemProxy(api) {
12438
12568
  getAddonModels: (input) => dispatch("pipelineExecutor", "getAddonModels", "query", input),
12439
12569
  downloadModel: (input) => dispatch("pipelineExecutor", "downloadModel", "mutation", input),
12440
12570
  deleteModel: (input) => dispatch("pipelineExecutor", "deleteModel", "mutation", input),
12441
- detect: (input) => dispatch("pipelineExecutor", "detect", "query", input),
12442
12571
  cacheFrameInPool: (input) => dispatch("pipelineExecutor", "cacheFrameInPool", "mutation", input),
12443
12572
  inferCached: (input) => dispatch("pipelineExecutor", "inferCached", "mutation", input),
12444
12573
  uncacheFrame: (input) => dispatch("pipelineExecutor", "uncacheFrame", "mutation", input),
@@ -12462,7 +12591,6 @@ function createSystemProxy(api) {
12462
12591
  getCapabilityBindings: (input) => dispatch("pipelineOrchestrator", "getCapabilityBindings", "query", input),
12463
12592
  setCapabilityBinding: (input) => dispatch("pipelineOrchestrator", "setCapabilityBinding", "mutation", input),
12464
12593
  getIngestOwner: (input) => dispatch("pipelineOrchestrator", "getIngestOwner", "query", input),
12465
- getDecoderAssignments: (input) => dispatch("pipelineOrchestrator", "getDecoderAssignments", "query", input),
12466
12594
  getAudioNodeLoad: (input) => dispatch("pipelineOrchestrator", "getAudioNodeLoad", "query", input),
12467
12595
  getAgentSettings: (input) => dispatch("pipelineOrchestrator", "getAgentSettings", "query", input),
12468
12596
  listAgentSettings: (input) => dispatch("pipelineOrchestrator", "listAgentSettings", "query", input),
@@ -12472,6 +12600,7 @@ function createSystemProxy(api) {
12472
12600
  setAgentDetectWeight: (input) => dispatch("pipelineOrchestrator", "setAgentDetectWeight", "mutation", input),
12473
12601
  setAgentCapabilities: (input) => dispatch("pipelineOrchestrator", "setAgentCapabilities", "mutation", input),
12474
12602
  setAgentReachableHost: (input) => dispatch("pipelineOrchestrator", "setAgentReachableHost", "mutation", input),
12603
+ resetNodePipelineDefaults: (input) => dispatch("pipelineOrchestrator", "resetNodePipelineDefaults", "mutation", input),
12475
12604
  getCameraStatuses: (input) => dispatch("pipelineOrchestrator", "getCameraStatuses", "query", input),
12476
12605
  listTemplates: (input) => dispatch("pipelineOrchestrator", "listTemplates", "query", input),
12477
12606
  saveTemplate: (input) => dispatch("pipelineOrchestrator", "saveTemplate", "mutation", input),
@@ -13257,7 +13386,9 @@ var AddonPageDeclarationSchema$1 = z.object({
13257
13386
  icon: z.string(),
13258
13387
  path: z.string(),
13259
13388
  remoteName: z.string(),
13260
- bundle: z.string()
13389
+ bundle: z.string(),
13390
+ section: z.string().optional(),
13391
+ sectionLabel: z.string().optional()
13261
13392
  });
13262
13393
  var AddonPageInfoSchema = z.object({
13263
13394
  addonId: z.string(),
@@ -13304,7 +13435,18 @@ var AddonPageDeclarationSchema = z.object({
13304
13435
  * the static-file route can compute an mtime-based cache-buster URL
13305
13436
  * without a separate filesystem stat.
13306
13437
  */
13307
- bundle: z.string()
13438
+ bundle: z.string(),
13439
+ /**
13440
+ * Sidebar section this page docks into. Well-known ids: `'detection'`,
13441
+ * `'cluster'`, `'administration'` — the page renders inside that group.
13442
+ * Any OTHER string creates (or joins) a custom section rendered after
13443
+ * the built-in groups; its label comes from `sectionLabel` (first
13444
+ * declaration wins), falling back to the id. Absent → the legacy
13445
+ * "Addon Pages" group.
13446
+ */
13447
+ section: z.string().optional(),
13448
+ /** Display label for a CUSTOM `section` id (ignored for well-known ids). */
13449
+ sectionLabel: z.string().optional()
13308
13450
  });
13309
13451
  var addonPagesSourceCapability = {
13310
13452
  name: "addon-pages-source",
@@ -17460,7 +17602,12 @@ var AgentPipelineSettingsSchema = z.object({
17460
17602
  detectWeight: z.number().positive().optional(),
17461
17603
  /** Node is eligible to run the detection pipeline (decode + inference). */
17462
17604
  detect: z.boolean().optional(),
17463
- /** Node is eligible to host decoder sessions. */
17605
+ /**
17606
+ * DEPRECATED AND IGNORED. Decode is always co-located with its frame
17607
+ * consumer, so decode eligibility IS detect eligibility. Kept optional in
17608
+ * the schema ONLY so persisted stores written before the removal still
17609
+ * parse — no code reads it and no write path emits it.
17610
+ */
17464
17611
  decode: z.boolean().optional(),
17465
17612
  /** Node is eligible to run audio-analyzer sessions. */
17466
17613
  audio: z.boolean().optional(),
@@ -17521,25 +17668,6 @@ var PipelineAssignmentSchema = z.object({
17521
17668
  assignedAt: z.number()
17522
17669
  });
17523
17670
  /**
17524
- * Decoder placement record. Symmetric to `PipelineAssignmentSchema` but for
17525
- * the decoder-node placement domain (`balanceDecoder` decision: manual pin
17526
- * → co-located with pipeline → capacity).
17527
- */
17528
- var DecoderAssignmentSchema = z.object({
17529
- deviceId: z.number(),
17530
- /** Moleculer node id of the decoder provider currently responsible for this camera. */
17531
- decoderNodeId: z.string(),
17532
- /** True when the assignment was set manually via `assignDecoder`, false when chosen by the balancer. */
17533
- pinned: z.boolean(),
17534
- /** Why this assignment was made — useful for debugging the decoder balancer. */
17535
- reason: z.enum([
17536
- "manual",
17537
- "co-located",
17538
- "capacity",
17539
- "hardware-affinity"
17540
- ])
17541
- });
17542
- /**
17543
17671
  * Per-agent load summary surfaced to the load balancer + dashboards.
17544
17672
  * Aggregated from each runner's `getLocalLoad` cap call.
17545
17673
  */
@@ -17826,21 +17954,6 @@ var pipelineOrchestratorCapability = {
17826
17954
  * present. Defaults to `{ ownerNodeId: 'hub' }`.
17827
17955
  */
17828
17956
  getIngestOwner: method(z.void(), IngestOwnerSchema),
17829
- /** Pin a device's decoder to a specific node. */
17830
- assignDecoder: method(z.object({
17831
- deviceId: z.number(),
17832
- nodeId: z.string()
17833
- }), z.void(), {
17834
- kind: "mutation",
17835
- auth: "admin"
17836
- }),
17837
- /** Clear a device's decoder pin (revert to auto). */
17838
- unassignDecoder: method(z.object({ deviceId: z.number() }), z.void(), {
17839
- kind: "mutation",
17840
- auth: "admin"
17841
- }),
17842
- /** Get every camera's decoder placement. */
17843
- getDecoderAssignments: method(z.void(), z.array(DecoderAssignmentSchema).readonly()),
17844
17957
  /** Pin a device's audio analysis to a specific cluster node. */
17845
17958
  assignAudio: method(z.object({
17846
17959
  deviceId: z.number(),
@@ -17872,23 +17985,6 @@ var pipelineOrchestratorCapability = {
17872
17985
  pinned: z.boolean(),
17873
17986
  assignedAt: z.number()
17874
17987
  }))),
17875
- /**
17876
- * Get one camera's decoder placement (computed if not yet pinned).
17877
- *
17878
- * ADVISORY today: reports the orchestrator's decoder preference only.
17879
- * Actual decode placement is broker-owned (local-node pin + frame-plane
17880
- * co-location guard). Reserved to become the binding source/decoder-owner
17881
- * control in the stream-LB epic (Phase 2).
17882
- *
17883
- * `pipelineNodeId` is the node already chosen to run inference for
17884
- * this camera. When provided, the balancer prefers co-location with
17885
- * it; omitted → falls back to the last known assignment in the
17886
- * `assignments` map and finally to 'hub'.
17887
- */
17888
- getDecoderAssignment: method(z.object({
17889
- deviceId: z.number(),
17890
- pipelineNodeId: z.string().optional()
17891
- }), DecoderAssignmentSchema),
17892
17988
  /** Read one agent's settings. Null when not yet seeded. */
17893
17989
  getAgentSettings: method(z.object({ agentNodeId: z.string() }), AgentPipelineSettingsSchema.nullable()),
17894
17990
  /** Enumerate every agent's settings (hub + remote runners). */
@@ -17958,14 +18054,15 @@ var pipelineOrchestratorCapability = {
17958
18054
  * `enabledDecoderNodes`, `enabledAudioNodes`, `remoteSourcingNodes`).
17959
18055
  * Each flag is optional in the patch: omit a flag to leave it unchanged,
17960
18056
  * pass `null` to reset it to the node default (`hub` → capable, every
17961
- * other node → not). Detection/decode/audio eligibility is derived from
17962
- * these flags across the cluster; changing them re-derives the enabled
17963
- * sets and reconciles dispatch immediately.
18057
+ * other node → not). Detection/audio eligibility is derived from these
18058
+ * flags across the cluster; changing them re-derives the enabled sets
18059
+ * and reconciles dispatch immediately. There is NO separate decode flag:
18060
+ * decode is always co-located with its frame consumer, so decode
18061
+ * eligibility IS detect eligibility.
17964
18062
  */
17965
18063
  setAgentCapabilities: method(z.object({
17966
18064
  agentNodeId: z.string(),
17967
18065
  detect: z.boolean().nullable().optional(),
17968
- decode: z.boolean().nullable().optional(),
17969
18066
  audio: z.boolean().nullable().optional(),
17970
18067
  ingest: z.boolean().nullable().optional()
17971
18068
  }), z.object({ success: z.literal(true) }), {
@@ -17988,6 +18085,34 @@ var pipelineOrchestratorCapability = {
17988
18085
  kind: "mutation",
17989
18086
  auth: "admin"
17990
18087
  }),
18088
+ /**
18089
+ * Reset one node's pipeline to its hardware-aware defaults — the HONEST
18090
+ * reset (replaces the executor's legacy `resetToDefault`, which cleared a
18091
+ * dead persisted step-tree seed nothing in the live path read):
18092
+ * (a) strips every `modelId` pin from that node's
18093
+ * `agentSettings.addonDefaults` (cells revert to Auto — the node
18094
+ * resolves its own hardware-aware format default at runtime);
18095
+ * (b) clears per-camera step overrides scoped to that node
18096
+ * (`stepOverridesByAgent[node]` + the wholesale
18097
+ * `pipelineByAgent[node]` escape hatch);
18098
+ * (c) clears the executor-side per-device settings stores on that node
18099
+ * (`pipelineExecutor.clearDeviceOverrides`);
18100
+ * (d) hot-reloads every camera assigned to the node.
18101
+ *
18102
+ * Returns the EFFECTIVE post-reset object-detection model for the node
18103
+ * (the executor's pure hardware-aware default) so the UI can report what
18104
+ * will actually run — not a value that never reaches the live path.
18105
+ */
18106
+ resetNodePipelineDefaults: method(z.object({ agentNodeId: z.string() }), z.object({
18107
+ success: z.literal(true),
18108
+ /** Hardware-aware default detection model now in effect on the node (null when unresolvable). */
18109
+ effectiveModelId: z.string().nullable(),
18110
+ /** Number of cameras whose node-scoped overrides were cleared. */
18111
+ clearedCameraOverrides: z.number()
18112
+ }), {
18113
+ kind: "mutation",
18114
+ auth: "admin"
18115
+ }),
17991
18116
  /** Read one camera's settings. Null when never touched (inherits agent defaults fully). */
17992
18117
  getCameraSettings: method(z.object({ deviceId: z.number() }), CameraPipelineSettingsSchema.nullable()),
17993
18118
  /** Set or clear the 3-state toggle for one (camera, addonId). Pass `enabled: null` to clear and revert to agent default. */
@@ -25959,23 +26084,23 @@ var METHOD_ACCESS_MAP = Object.freeze({
25959
26084
  addonId: null,
25960
26085
  access: "create"
25961
26086
  },
25962
- "pipelineExecutor.deleteModel": {
26087
+ "pipelineExecutor.clearDeviceOverrides": {
25963
26088
  capName: "pipeline-executor",
25964
26089
  capScope: "system",
25965
26090
  addonId: null,
25966
26091
  access: "delete"
25967
26092
  },
25968
- "pipelineExecutor.deleteTemplate": {
26093
+ "pipelineExecutor.deleteModel": {
25969
26094
  capName: "pipeline-executor",
25970
26095
  capScope: "system",
25971
26096
  addonId: null,
25972
26097
  access: "delete"
25973
26098
  },
25974
- "pipelineExecutor.detect": {
26099
+ "pipelineExecutor.deleteTemplate": {
25975
26100
  capName: "pipeline-executor",
25976
26101
  capScope: "system",
25977
26102
  addonId: null,
25978
- access: "view"
26103
+ access: "delete"
25979
26104
  },
25980
26105
  "pipelineExecutor.downloadModel": {
25981
26106
  capName: "pipeline-executor",
@@ -26181,12 +26306,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
26181
26306
  addonId: null,
26182
26307
  access: "create"
26183
26308
  },
26184
- "pipelineOrchestrator.assignDecoder": {
26185
- capName: "pipeline-orchestrator",
26186
- capScope: "system",
26187
- addonId: null,
26188
- access: "create"
26189
- },
26190
26309
  "pipelineOrchestrator.assignPipeline": {
26191
26310
  capName: "pipeline-orchestrator",
26192
26311
  capScope: "system",
@@ -26265,18 +26384,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
26265
26384
  addonId: null,
26266
26385
  access: "view"
26267
26386
  },
26268
- "pipelineOrchestrator.getDecoderAssignment": {
26269
- capName: "pipeline-orchestrator",
26270
- capScope: "system",
26271
- addonId: null,
26272
- access: "view"
26273
- },
26274
- "pipelineOrchestrator.getDecoderAssignments": {
26275
- capName: "pipeline-orchestrator",
26276
- capScope: "system",
26277
- addonId: null,
26278
- access: "view"
26279
- },
26280
26387
  "pipelineOrchestrator.getGlobalMetrics": {
26281
26388
  capName: "pipeline-orchestrator",
26282
26389
  capScope: "system",
@@ -26325,6 +26432,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
26325
26432
  addonId: null,
26326
26433
  access: "delete"
26327
26434
  },
26435
+ "pipelineOrchestrator.resetNodePipelineDefaults": {
26436
+ capName: "pipeline-orchestrator",
26437
+ capScope: "system",
26438
+ addonId: null,
26439
+ access: "delete"
26440
+ },
26328
26441
  "pipelineOrchestrator.resolvePipeline": {
26329
26442
  capName: "pipeline-orchestrator",
26330
26443
  capScope: "system",
@@ -26397,12 +26510,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
26397
26510
  addonId: null,
26398
26511
  access: "create"
26399
26512
  },
26400
- "pipelineOrchestrator.unassignDecoder": {
26401
- capName: "pipeline-orchestrator",
26402
- capScope: "system",
26403
- addonId: null,
26404
- access: "create"
26405
- },
26406
26513
  "pipelineOrchestrator.unassignPipeline": {
26407
26514
  capName: "pipeline-orchestrator",
26408
26515
  capScope: "system",
@@ -28488,4 +28595,4 @@ function scoreRuntimes(hw) {
28488
28595
  };
28489
28596
  }
28490
28597
  //#endregion
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 };
28598
+ 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, DecoderSessionConfigSchema, DecoderStatsSchema, DeleteIntegrationResultSchema, DetectionSourceSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceNetworkStatsSchema, DeviceRole, DeviceRuntimeState, DeviceStatusSchema, DeviceType, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENT_PAD_MS, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, ElementConfigStore, EmbeddingInfoSchema, EmbeddingResultSchema, EncodeProfileSchema, EncodedPacketSchema, EnrichedWidgetMetadataSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, EventCategory, EventEmitterStatusSchema, EventFireSchema, EventItemSchema, EventKindSchema, EventSourceType, ExportSetupFieldSchema, ExportSetupSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionEvalError, ExpressionParseError, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, GasStatusSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, HF_BASE_URL, HF_REPO, HWACCEL_OPTIONS, HealthStatusSchema, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, LabelDefinitionSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, MACRO_LABELS, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, METHOD_ACCESS_MAP, MODEL_FORMATS, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, NativeDetectionSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NotificationActionSchema, NotificationFormatSchema, NotificationHistoryEntrySchema, NotificationRuleSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OauthIntegrationDescriptorSchema, ObjectEventSchema, OrchestratorMetricsSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdStatusSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PROVIDER_KIND_CAP_NAMES, PYTHON_SCRIPT, PackageUpdateSchema, PackageVersionInfoSchema, PasskeySummarySchema, PcmSampleFormatSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PolygonPointSchema, PowerMeterStatusSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzMoveCommandSchema, PtzPositionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECOGNITION_TYPES, RESERVED_BINDING_NAMES, RUNTIME_DEFAULTS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadSegmentBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingModeSchema, RecordingRangeSchema, RecordingRetentionSchema, RecordingRuleSchema, RecordingScheduleSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RenderedAsSchema, ReportMotionInputSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCOPE_PRESETS, SOURCE_INFO_METADATA_KEY, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageLocationDeclarationSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SubscribeFramesInputSchema, SubscribeFramesResultSchema, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, TIMEZONES, TamperStatusSchema, TankStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestResultSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackSchema, TrackStateSchema, TrackedDetectionSchema, TurnServerSchema, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VibrationStatusSchema, VideoEncodeSchema, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, YAMNET_TO_MACRO, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, advancedNotifierCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, applyTransform, asBoolean, asJsonArray, asJsonObject, asNumber, asString, audioAnalysisCapability, audioAnalyzerCapability, audioCodecCapability, audioMetricsCapability, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildModelVariantGroups, buildStreamParamsConfigSchema, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, carbonMonoxideCapability, cellsToRects, classifyStream, classifyStreams, climateControlCapability, colorCapability, compileExpression, compileExpressionSafe, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, cosineSimilarity, coverCapability, createDeviceProxy, createDurableState, createEvent, createExpressionScope, createLazyTrpcSource, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dayNightCapability, decoderCapability, defaultDeviceFor, defineCustomActions, describeModelVariant, detectionPipelineCapability, deviceAdoptionCapability, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceStateCapability, deviceStatusCapability, doorbellCapability, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, enumSensorCapability, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateLinkExpression, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, expandCapMethods, extractSourceInfoFromMetadata, faceGalleryCapability, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, formatForBackend, formatForRuntime, frameworkSwapConfirmSchema, frameworkSwapPackageSchema, gasCapability, getAudioMacroClassIds, getByPath, getCapsByProviderKind, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, integrationsCapability, intercomCapability, isAgentOnlyPlacement, isArrayOutputSchema, isDeployableToAgent, isDeviceConfigCap, isEvent, isObjectInput, isVoidInput, jobKindSchema, kebabToCamel, lawnMowerControlCapability, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, localNetworkCapability, locationSimilarity, lockControlCapability, logDestinationCapability, looseSchema, makeProfileBrokerId, makeSourceBrokerId, mapAudioLabelToMacro, markdownToHtmlLite, markdownToText, maskUrlCredentials, mediaPlayerCapability, mergeSourceInfo, meshNetworkCapability, method, metricsProviderCapability, migrateConfigToBands, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, networkAccessCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeUnit, notificationOutputCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, osdCapability, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProfileBrokerId, parseStreamParamsFormPatch, pendingFrameworkSwapSchema, petFeederCapability, pickPreferredRtspEntry, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readNodePin, readinessKey, rebootCapability, recordingCapability, rectsToCells, requiresPython, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveCapMount, resolveDetectionRuntime, resolveDeviceProfile, resolveFormat, resolveModelFormat, resolveRunnerId, resolveVariantModelId, runInferenceStep, runtimeDevices, scopeKey, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, setByPath, settingsStoreCapability, sleep, sleepCancellable, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, storageCapability, storageEvictableCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, supportedRuntimes, switchCapability, synthesizeSourceInfo, systemCapability, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, textToHtml, toDeviceSummary, toExpressionValue, toStreamSourceEntry, toastCapability, tokenize, transcodeBody, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, updateCapability, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateExpressionSource, valveCapability, vibrationCapability, videoclipsCapability, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
@@ -694,8 +694,8 @@ export interface CapabilitiesAccess {
694
694
  * `addonId` for cap-routed remote providers is `<addonName>@<workerNodeId>`
695
695
  * (e.g. `decoder-nodeav@dev-agent-1/decoder-nodeav`); local providers
696
696
  * are just `<addonName>` (no `@`). Used by stream-broker to filter the
697
- * decoder collection by the orchestrator's per-camera placement
698
- * decision (`getDecoderAssignment.decoderNodeId`).
697
+ * decoder collection to node-local providers (decode is always
698
+ * co-located with its frame consumer).
699
699
  */
700
700
  getCollectionEntries<T = unknown>(name: string): readonly (readonly [string, T])[] | undefined;
701
701
  /** The active provider of a singleton capability (by cap name). */
@@ -797,6 +797,16 @@ export interface AddonPageDeclaration {
797
797
  * is always `'remoteEntry.js'`.
798
798
  */
799
799
  readonly bundle: string;
800
+ /**
801
+ * Sidebar section this page docks into. Well-known ids: `'detection'`,
802
+ * `'cluster'`, `'administration'` — the page renders inside that group.
803
+ * Any OTHER string creates (or joins) a custom section rendered after
804
+ * the built-in groups; label from `sectionLabel` (first declaration
805
+ * wins), falling back to the id. Absent → the "Addon Pages" group.
806
+ */
807
+ readonly section?: string;
808
+ /** Display label for a CUSTOM `section` id (ignored for well-known ids). */
809
+ readonly sectionLabel?: string;
800
810
  }
801
811
  /** Provider interface for addons that expose UI pages */
802
812
  export interface IAddonPageProvider {