@camstack/ui-library 1.1.27 → 1.1.29
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/composites/grouped-model-selector.d.ts +8 -0
- package/dist/composites/index.d.ts +2 -0
- package/dist/composites/pipeline-builder.d.ts +8 -1
- package/dist/composites/pipeline-step.d.ts +15 -5
- package/dist/composites/pipeline-tree-matrix.d.ts +2 -0
- package/dist/generated/system-hooks.d.ts +8 -4
- package/dist/hooks/use-ptz.d.ts +6 -0
- package/dist/index.cjs +383 -121
- package/dist/index.js +380 -121
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import * as __mfHostReact from "react";
|
|
|
3
3
|
import React, { Fragment, Suspense, createContext, createElement, forwardRef, lazy, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore } from "react";
|
|
4
4
|
import * as __mfHostReactJsxRuntime from "react/jsx-runtime";
|
|
5
5
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { ALL_CAPABILITY_DEFINITIONS, DeviceExportStatusSchema, DeviceFeature, DeviceRole, DeviceType, EventCategory, ExposedDeviceSchema, KNOWN_CAP_NAMES, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, RecordingConfigSchema, RecordingStatusSchema, SourceInfoSchema, TIMEZONES, canConvertUnit, createDeviceProxy, createLazyTrpcSource, createSliceHandle, findTimezone, tryConvertUnit } from "@camstack/types";
|
|
6
|
+
import { ALL_CAPABILITY_DEFINITIONS, DeviceExportStatusSchema, DeviceFeature, DeviceRole, DeviceType, EventCategory, ExposedDeviceSchema, KNOWN_CAP_NAMES, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, RecordingConfigSchema, RecordingStatusSchema, SourceInfoSchema, TIMEZONES, buildModelVariantGroups, canConvertUnit, createDeviceProxy, createLazyTrpcSource, createSliceHandle, describeModelVariant, findTimezone, resolveVariantModelId, tryConvertUnit } from "@camstack/types";
|
|
7
7
|
import * as __mfHostReactDOM from "react-dom";
|
|
8
8
|
import { createPortal } from "react-dom";
|
|
9
9
|
import * as __mfHostReactDOMClient from "react-dom/client";
|
|
@@ -3724,37 +3724,41 @@ function mirror(input) {
|
|
|
3724
3724
|
});
|
|
3725
3725
|
continue;
|
|
3726
3726
|
}
|
|
3727
|
-
const srcModel = findModel(targetAddon, srcCfg.modelId);
|
|
3728
|
-
const canUseSource = srcModel !== null && Boolean(srcModel.formats[target.engine.format]);
|
|
3729
3727
|
let chosenModelId;
|
|
3730
3728
|
let outcome;
|
|
3731
|
-
if (
|
|
3732
|
-
chosenModelId =
|
|
3729
|
+
if (srcCfg.modelId === void 0) {
|
|
3730
|
+
chosenModelId = void 0;
|
|
3733
3731
|
outcome = "exact";
|
|
3734
3732
|
} else {
|
|
3735
|
-
const
|
|
3736
|
-
if (
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3733
|
+
const srcModel = findModel(targetAddon, srcCfg.modelId);
|
|
3734
|
+
if (srcModel !== null && Boolean(srcModel.formats[target.engine.format])) {
|
|
3735
|
+
chosenModelId = srcCfg.modelId;
|
|
3736
|
+
outcome = "exact";
|
|
3737
|
+
} else {
|
|
3738
|
+
const fallback = firstModelFor(targetAddon, target.engine.format);
|
|
3739
|
+
if (!fallback) {
|
|
3740
|
+
out.push({
|
|
3741
|
+
addonId,
|
|
3742
|
+
outcome: "skip",
|
|
3743
|
+
modelId: null,
|
|
3744
|
+
reason: "no compatible model for target format",
|
|
3745
|
+
patch: null
|
|
3746
|
+
});
|
|
3747
|
+
continue;
|
|
3748
|
+
}
|
|
3749
|
+
chosenModelId = fallback.id;
|
|
3750
|
+
outcome = "mapped";
|
|
3745
3751
|
}
|
|
3746
|
-
chosenModelId = fallback.id;
|
|
3747
|
-
outcome = "mapped";
|
|
3748
3752
|
}
|
|
3749
3753
|
const patch = {
|
|
3750
3754
|
enabled: srcCfg.enabled,
|
|
3751
|
-
modelId: chosenModelId,
|
|
3755
|
+
...chosenModelId ? { modelId: chosenModelId } : {},
|
|
3752
3756
|
settings: dropModelSpecific(srcCfg.settings, targetAddon)
|
|
3753
3757
|
};
|
|
3754
3758
|
out.push({
|
|
3755
3759
|
addonId,
|
|
3756
3760
|
outcome,
|
|
3757
|
-
modelId: chosenModelId,
|
|
3761
|
+
modelId: chosenModelId ?? null,
|
|
3758
3762
|
patch
|
|
3759
3763
|
});
|
|
3760
3764
|
}
|
|
@@ -13244,10 +13248,11 @@ function modelsForStep(schema) {
|
|
|
13244
13248
|
name: m.name
|
|
13245
13249
|
}));
|
|
13246
13250
|
}
|
|
13247
|
-
function PipelineStep({ step, schema, allSchemas: _allSchemas, depth: _depth = 0, onChange, onDelete: _onDelete, readOnly = false, toggleMode = "simple", overrideState = null, onOverrideChange, inheritedEnabled, hideModelAndSettings = false }) {
|
|
13251
|
+
function PipelineStep({ step, schema, allSchemas: _allSchemas, depth: _depth = 0, onChange, onDelete: _onDelete, readOnly = false, toggleMode = "simple", overrideState = null, onOverrideChange, inheritedEnabled, hideModelAndSettings = false, allowAutoModel = false }) {
|
|
13248
13252
|
const [expanded, setExpanded] = useState(false);
|
|
13249
13253
|
const models = modelsForStep(schema);
|
|
13250
|
-
|
|
13254
|
+
const isAutoSentinel = allowAutoModel && step.modelId === "";
|
|
13255
|
+
if (models.length > 0 && !isAutoSentinel && !models.some((m) => m.id === step.modelId) && !readOnly) {
|
|
13251
13256
|
const fallback = (schema?.defaultModelId ? models.find((m) => m.id === schema.defaultModelId) : null) ?? models[0];
|
|
13252
13257
|
if (fallback && fallback.id !== step.modelId) queueMicrotask(() => onChange({
|
|
13253
13258
|
...step,
|
|
@@ -13332,59 +13337,28 @@ function PipelineStep({ step, schema, allSchemas: _allSchemas, depth: _depth = 0
|
|
|
13332
13337
|
children: "Model and detection settings are managed per agent — open the Pipeline page for this camera's agent to edit them."
|
|
13333
13338
|
}) : /* @__PURE__ */ jsxs("div", {
|
|
13334
13339
|
className: "space-y-3",
|
|
13335
|
-
children: [
|
|
13336
|
-
|
|
13337
|
-
|
|
13338
|
-
|
|
13339
|
-
|
|
13340
|
-
|
|
13341
|
-
|
|
13342
|
-
|
|
13343
|
-
|
|
13344
|
-
|
|
13345
|
-
|
|
13346
|
-
|
|
13347
|
-
|
|
13348
|
-
|
|
13349
|
-
|
|
13350
|
-
|
|
13351
|
-
|
|
13352
|
-
|
|
13353
|
-
|
|
13354
|
-
|
|
13355
|
-
|
|
13356
|
-
|
|
13357
|
-
},
|
|
13358
|
-
{
|
|
13359
|
-
value: "node/coreml",
|
|
13360
|
-
label: "Node.js — Apple SoundAnalysis (macOS)"
|
|
13361
|
-
},
|
|
13362
|
-
{
|
|
13363
|
-
value: "python/cpu",
|
|
13364
|
-
label: "Python — ONNX CPU"
|
|
13365
|
-
}
|
|
13366
|
-
],
|
|
13367
|
-
onChange: (v) => {
|
|
13368
|
-
const [runtime, backend] = v.split("/");
|
|
13369
|
-
const format = backend === "coreml" ? "coreml" : "onnx";
|
|
13370
|
-
onChange({
|
|
13371
|
-
...step,
|
|
13372
|
-
engine: {
|
|
13373
|
-
runtime,
|
|
13374
|
-
backend,
|
|
13375
|
-
format
|
|
13376
|
-
}
|
|
13377
|
-
});
|
|
13378
|
-
}
|
|
13379
|
-
}),
|
|
13380
|
-
schema?.configSchema?.map((field) => /* @__PURE__ */ jsx(ConfigSchemaField, {
|
|
13381
|
-
field,
|
|
13382
|
-
allFields: schema.configSchema ?? [],
|
|
13383
|
-
step,
|
|
13384
|
-
disabled: readOnly,
|
|
13385
|
-
onChange
|
|
13386
|
-
}, field.key))
|
|
13387
|
-
]
|
|
13340
|
+
children: [/* @__PURE__ */ jsx(ConfigSelect, {
|
|
13341
|
+
label: "Model",
|
|
13342
|
+
value: step.modelId,
|
|
13343
|
+
disabled: readOnly,
|
|
13344
|
+
options: [...allowAutoModel ? [{
|
|
13345
|
+
value: "",
|
|
13346
|
+
label: "Auto (node default)"
|
|
13347
|
+
}] : [], ...models.map((m) => ({
|
|
13348
|
+
value: m.id,
|
|
13349
|
+
label: m.name
|
|
13350
|
+
}))],
|
|
13351
|
+
onChange: (v) => onChange({
|
|
13352
|
+
...step,
|
|
13353
|
+
modelId: v
|
|
13354
|
+
})
|
|
13355
|
+
}), schema?.configSchema?.map((field) => /* @__PURE__ */ jsx(ConfigSchemaField, {
|
|
13356
|
+
field,
|
|
13357
|
+
allFields: schema.configSchema ?? [],
|
|
13358
|
+
step,
|
|
13359
|
+
disabled: readOnly,
|
|
13360
|
+
onChange
|
|
13361
|
+
}, field.key))]
|
|
13388
13362
|
})
|
|
13389
13363
|
});
|
|
13390
13364
|
}
|
|
@@ -13583,7 +13557,200 @@ function ThreeStateButton({ label, active, variant, subtext, onClick }) {
|
|
|
13583
13557
|
});
|
|
13584
13558
|
}
|
|
13585
13559
|
//#endregion
|
|
13560
|
+
//#region src/composites/grouped-model-selector.tsx
|
|
13561
|
+
/**
|
|
13562
|
+
* GroupedModelSelector — the shared Family → Tier → Variant model picker.
|
|
13563
|
+
*
|
|
13564
|
+
* The catalog is a FLAT list of models (ids like `yolo26s`, `yolo26s-int8`);
|
|
13565
|
+
* this folds it into a `family → tier → variant` tree (see
|
|
13566
|
+
* `buildModelVariantGroups` in `@camstack/types`) so the operator picks
|
|
13567
|
+
* "YOLO26 → Small → Int8" instead of scanning a flat dropdown of every
|
|
13568
|
+
* size×quantization. The selected value stays the flat model id.
|
|
13569
|
+
*
|
|
13570
|
+
* Parameterised on the minimal `ModelVariantSource` shape so BOTH the config-UI
|
|
13571
|
+
* catalog (`ModelCatalogEntry`) and the pipeline/device steppers
|
|
13572
|
+
* (`PipelineModelOption`) drive the same component. Legacy / ungrouped models
|
|
13573
|
+
* never appear here (the grouping helpers skip them).
|
|
13574
|
+
*/
|
|
13575
|
+
function Chip({ active, onClick, disabled, children, title }) {
|
|
13576
|
+
return /* @__PURE__ */ jsx("button", {
|
|
13577
|
+
type: "button",
|
|
13578
|
+
onClick,
|
|
13579
|
+
disabled,
|
|
13580
|
+
title,
|
|
13581
|
+
className: cn("rounded-full px-3 py-1 text-[11px] font-medium border transition-colors", active ? "border-primary bg-primary/10 text-primary" : "border-border bg-background text-foreground-subtle hover:text-foreground hover:border-foreground-subtle/40", disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"),
|
|
13582
|
+
children
|
|
13583
|
+
});
|
|
13584
|
+
}
|
|
13585
|
+
function GroupedModelSelector({ catalog, value, onChange, disabled }) {
|
|
13586
|
+
const families = buildModelVariantGroups(catalog);
|
|
13587
|
+
const current = describeModelVariant(catalog, value);
|
|
13588
|
+
const activeFamily = families.find((f) => f.family === current?.family)?.family ?? families[0]?.family ?? "";
|
|
13589
|
+
const family = families.find((f) => f.family === activeFamily) ?? families[0];
|
|
13590
|
+
if (!family) return null;
|
|
13591
|
+
const activeTier = family.tiers.find((t) => t.tier === current?.tier)?.tier ?? family.tiers[0]?.tier ?? "";
|
|
13592
|
+
const tier = family.tiers.find((t) => t.tier === activeTier) ?? family.tiers[0];
|
|
13593
|
+
if (!tier) return null;
|
|
13594
|
+
const resolutions = [...new Set(tier.options.map((o) => o.resolution))].sort((a, b) => (b ?? Infinity) - (a ?? Infinity));
|
|
13595
|
+
const selectedResolution = resolutions.includes(current?.resolution) ? current?.resolution : resolutions[0];
|
|
13596
|
+
const variantOptions = tier.options.filter((o) => o.resolution === selectedResolution);
|
|
13597
|
+
const resLabel = (r) => r === void 0 ? "640 · native" : `${r}`;
|
|
13598
|
+
const selectTier = (tierId) => {
|
|
13599
|
+
const t = family.tiers.find((x) => x.tier === tierId);
|
|
13600
|
+
if (!t) return;
|
|
13601
|
+
onChange((t.options.find((o) => o.precision === (current?.precision ?? "fp32") && o.optimization === (current?.optimization ?? "standard") && o.resolution === current?.resolution) ?? t.options[0]).modelId);
|
|
13602
|
+
};
|
|
13603
|
+
const selectResolution = (resolution) => {
|
|
13604
|
+
const opts = tier.options.filter((o) => o.resolution === resolution);
|
|
13605
|
+
const pick = opts.find((o) => o.precision === (current?.precision ?? "fp32") && o.optimization === (current?.optimization ?? "standard")) ?? opts[0];
|
|
13606
|
+
if (pick) onChange(pick.modelId);
|
|
13607
|
+
};
|
|
13608
|
+
const selectVariant = (opt) => {
|
|
13609
|
+
const id = resolveVariantModelId(catalog, {
|
|
13610
|
+
family: family.family,
|
|
13611
|
+
tier: tier.tier,
|
|
13612
|
+
precision: opt.precision,
|
|
13613
|
+
optimization: opt.optimization,
|
|
13614
|
+
resolution: opt.resolution
|
|
13615
|
+
});
|
|
13616
|
+
if (id) onChange(id);
|
|
13617
|
+
};
|
|
13618
|
+
const selectedOption = tier.options.find((o) => o.modelId === value) ?? null;
|
|
13619
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
13620
|
+
className: "space-y-3",
|
|
13621
|
+
children: [
|
|
13622
|
+
families.length > 1 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
|
|
13623
|
+
className: "text-[10px] uppercase tracking-wide text-foreground-subtle mb-1.5",
|
|
13624
|
+
children: "Family"
|
|
13625
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
13626
|
+
className: "flex flex-wrap gap-1.5",
|
|
13627
|
+
children: families.map((f) => /* @__PURE__ */ jsx(Chip, {
|
|
13628
|
+
active: f.family === family.family,
|
|
13629
|
+
disabled,
|
|
13630
|
+
onClick: () => onChange(f.tiers[0]?.baseModelId ?? ""),
|
|
13631
|
+
children: f.label
|
|
13632
|
+
}, f.family))
|
|
13633
|
+
})] }),
|
|
13634
|
+
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("p", {
|
|
13635
|
+
className: "text-[10px] uppercase tracking-wide text-foreground-subtle mb-1.5",
|
|
13636
|
+
children: [family.label, " — size"]
|
|
13637
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
13638
|
+
className: "grid grid-cols-2 gap-1.5 sm:grid-cols-4",
|
|
13639
|
+
children: family.tiers.map((t) => {
|
|
13640
|
+
const active = t.tier === tier.tier;
|
|
13641
|
+
const base = t.options.find((o) => o.modelId === t.baseModelId) ?? t.options[0];
|
|
13642
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
13643
|
+
type: "button",
|
|
13644
|
+
disabled,
|
|
13645
|
+
onClick: () => selectTier(t.tier),
|
|
13646
|
+
className: cn("rounded-lg border px-2 py-2 text-left transition-all", active ? "border-primary bg-primary/5 ring-1 ring-primary/30" : "border-border bg-background hover:border-foreground-subtle/40", disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"),
|
|
13647
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
13648
|
+
className: "flex items-center gap-1",
|
|
13649
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
13650
|
+
className: "text-xs font-semibold text-foreground",
|
|
13651
|
+
children: t.label
|
|
13652
|
+
}), active && /* @__PURE__ */ jsx(Check, { className: "h-3 w-3 text-primary" })]
|
|
13653
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
13654
|
+
className: "text-[10px] text-foreground-subtle",
|
|
13655
|
+
children: [
|
|
13656
|
+
"~",
|
|
13657
|
+
base?.sizeMB ?? 0,
|
|
13658
|
+
" MB"
|
|
13659
|
+
]
|
|
13660
|
+
})]
|
|
13661
|
+
}, t.tier);
|
|
13662
|
+
})
|
|
13663
|
+
})] }),
|
|
13664
|
+
resolutions.length > 1 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
|
|
13665
|
+
className: "text-[10px] uppercase tracking-wide text-foreground-subtle mb-1.5",
|
|
13666
|
+
children: "Resolution"
|
|
13667
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
13668
|
+
className: "flex flex-wrap gap-1.5",
|
|
13669
|
+
children: resolutions.map((r) => /* @__PURE__ */ jsx(Chip, {
|
|
13670
|
+
active: r === selectedResolution,
|
|
13671
|
+
disabled,
|
|
13672
|
+
title: r === void 0 ? "native (best accuracy)" : `${r}×${r} (faster)`,
|
|
13673
|
+
onClick: () => selectResolution(r),
|
|
13674
|
+
children: resLabel(r)
|
|
13675
|
+
}, r ?? "native"))
|
|
13676
|
+
})] }),
|
|
13677
|
+
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
|
|
13678
|
+
className: "text-[10px] uppercase tracking-wide text-foreground-subtle mb-1.5",
|
|
13679
|
+
children: "Variant"
|
|
13680
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
13681
|
+
className: "flex flex-wrap gap-1.5",
|
|
13682
|
+
children: variantOptions.map((opt) => /* @__PURE__ */ jsx(Chip, {
|
|
13683
|
+
active: opt.modelId === value,
|
|
13684
|
+
disabled,
|
|
13685
|
+
title: `${opt.formats.join(", ")} · ~${opt.sizeMB} MB`,
|
|
13686
|
+
onClick: () => selectVariant(opt),
|
|
13687
|
+
children: /* @__PURE__ */ jsxs("span", {
|
|
13688
|
+
className: "inline-flex items-center gap-1",
|
|
13689
|
+
children: [opt.optimization === "fast" && /* @__PURE__ */ jsx(Zap, { className: "h-3 w-3" }), opt.label]
|
|
13690
|
+
})
|
|
13691
|
+
}, opt.modelId))
|
|
13692
|
+
})] }),
|
|
13693
|
+
/* @__PURE__ */ jsxs("div", {
|
|
13694
|
+
className: "flex items-center gap-2 text-[10px] text-foreground-subtle pt-0.5",
|
|
13695
|
+
children: [
|
|
13696
|
+
/* @__PURE__ */ jsx(Cpu, { className: "h-3 w-3" }),
|
|
13697
|
+
/* @__PURE__ */ jsx("span", {
|
|
13698
|
+
className: "font-mono",
|
|
13699
|
+
children: value || "—"
|
|
13700
|
+
}),
|
|
13701
|
+
selectedOption && /* @__PURE__ */ jsxs("span", { children: [
|
|
13702
|
+
"· ",
|
|
13703
|
+
selectedOption.formats.join(", "),
|
|
13704
|
+
" · ~",
|
|
13705
|
+
selectedOption.sizeMB,
|
|
13706
|
+
" MB"
|
|
13707
|
+
] })
|
|
13708
|
+
]
|
|
13709
|
+
})
|
|
13710
|
+
]
|
|
13711
|
+
});
|
|
13712
|
+
}
|
|
13713
|
+
//#endregion
|
|
13586
13714
|
//#region src/composites/agent-step-editor.tsx
|
|
13715
|
+
/**
|
|
13716
|
+
* Shared model picker for the step editor — renders the grouped
|
|
13717
|
+
* Family→Tier→Variant selector when the step's models declare variant groups
|
|
13718
|
+
* (yolo26 …), else a flat `<select>` (face / plate / classifier catalogs and
|
|
13719
|
+
* custom models). Same component both the agent-default and per-device-override
|
|
13720
|
+
* modes use, so the picker looks identical across the pipeline stepper, the
|
|
13721
|
+
* device stepper and the cluster matrix.
|
|
13722
|
+
*/
|
|
13723
|
+
function ModelPicker({ models, value, onChange, disabled }) {
|
|
13724
|
+
const hasGroups = useMemo(() => buildModelVariantGroups(models).length > 0, [models]);
|
|
13725
|
+
const ungrouped = useMemo(() => models.filter((m) => m.group === void 0), [models]);
|
|
13726
|
+
const flatSelect = (opts, selectPlaceholder) => /* @__PURE__ */ jsxs("select", {
|
|
13727
|
+
disabled,
|
|
13728
|
+
className: "w-full bg-surface border border-border rounded px-2 py-1 text-xs disabled:opacity-50",
|
|
13729
|
+
value: opts.some((m) => m.id === value) ? value : "",
|
|
13730
|
+
onChange: (e) => onChange(e.target.value),
|
|
13731
|
+
children: [selectPlaceholder !== void 0 && /* @__PURE__ */ jsx("option", {
|
|
13732
|
+
value: "",
|
|
13733
|
+
disabled: true,
|
|
13734
|
+
children: selectPlaceholder
|
|
13735
|
+
}), opts.map((m) => /* @__PURE__ */ jsx("option", {
|
|
13736
|
+
value: m.id,
|
|
13737
|
+
children: m.name
|
|
13738
|
+
}, m.id))]
|
|
13739
|
+
});
|
|
13740
|
+
if (!hasGroups) return flatSelect(models);
|
|
13741
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
13742
|
+
className: "space-y-3",
|
|
13743
|
+
children: [/* @__PURE__ */ jsx(GroupedModelSelector, {
|
|
13744
|
+
catalog: models,
|
|
13745
|
+
value,
|
|
13746
|
+
onChange,
|
|
13747
|
+
disabled
|
|
13748
|
+
}), ungrouped.length > 0 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
13749
|
+
className: "text-[10px] uppercase tracking-widest text-foreground-subtle mb-1",
|
|
13750
|
+
children: "Other models"
|
|
13751
|
+
}), flatSelect(ungrouped, "— custom / ungrouped model —")] })]
|
|
13752
|
+
});
|
|
13753
|
+
}
|
|
13587
13754
|
function buildDisplayStep(addon, cfg) {
|
|
13588
13755
|
return {
|
|
13589
13756
|
addonId: addon.id,
|
|
@@ -13592,7 +13759,7 @@ function buildDisplayStep(addon, cfg) {
|
|
|
13592
13759
|
inputClasses: [...addon.inputClasses],
|
|
13593
13760
|
outputClasses: [...addon.outputClasses],
|
|
13594
13761
|
enabled: cfg.enabled,
|
|
13595
|
-
modelId: cfg.modelId,
|
|
13762
|
+
modelId: cfg.modelId ?? addon.defaultModelId,
|
|
13596
13763
|
children: [],
|
|
13597
13764
|
settings: { ...cfg.settings }
|
|
13598
13765
|
};
|
|
@@ -13630,14 +13797,10 @@ function AgentModeEditor({ addon, agentDefault, modelsForFormat, onChangeAgentCo
|
|
|
13630
13797
|
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
13631
13798
|
className: "text-[10px] uppercase tracking-widest text-foreground-subtle mb-1",
|
|
13632
13799
|
children: "Model"
|
|
13633
|
-
}), /* @__PURE__ */ jsx(
|
|
13634
|
-
|
|
13635
|
-
value: agentDefault.modelId,
|
|
13636
|
-
onChange: (
|
|
13637
|
-
children: modelsForFormat.map((m) => /* @__PURE__ */ jsx("option", {
|
|
13638
|
-
value: m.id,
|
|
13639
|
-
children: m.name
|
|
13640
|
-
}, m.id))
|
|
13800
|
+
}), /* @__PURE__ */ jsx(ModelPicker, {
|
|
13801
|
+
models: modelsForFormat,
|
|
13802
|
+
value: agentDefault.modelId ?? "",
|
|
13803
|
+
onChange: (modelId) => update({ modelId })
|
|
13641
13804
|
})] }),
|
|
13642
13805
|
(addon.configSchema?.length ?? 0) > 0 && /* @__PURE__ */ jsxs("div", {
|
|
13643
13806
|
className: "pt-2 border-t border-border/50 space-y-3",
|
|
@@ -13728,15 +13891,11 @@ function DeviceModeEditor({ addon, agentDefault, agentNodeId, currentPatch, mode
|
|
|
13728
13891
|
children: "Override"
|
|
13729
13892
|
})]
|
|
13730
13893
|
}),
|
|
13731
|
-
/* @__PURE__ */ jsx(
|
|
13894
|
+
/* @__PURE__ */ jsx(ModelPicker, {
|
|
13895
|
+
models: modelsForFormat,
|
|
13732
13896
|
disabled: !modelOverridden,
|
|
13733
|
-
|
|
13734
|
-
|
|
13735
|
-
onChange: (e) => setModel(e.target.value),
|
|
13736
|
-
children: modelsForFormat.map((m) => /* @__PURE__ */ jsx("option", {
|
|
13737
|
-
value: m.id,
|
|
13738
|
-
children: m.name
|
|
13739
|
-
}, m.id))
|
|
13897
|
+
value: (modelOverridden ? currentPatch?.modelId ?? agentDefault.modelId : agentDefault.modelId) ?? "",
|
|
13898
|
+
onChange: (modelId) => setModel(modelId)
|
|
13740
13899
|
}),
|
|
13741
13900
|
!modelOverridden && /* @__PURE__ */ jsxs("div", {
|
|
13742
13901
|
className: "text-[10px] text-foreground-subtle mt-1",
|
|
@@ -13916,17 +14075,33 @@ function QuickToggle({ enabled, onChange, disabled }) {
|
|
|
13916
14075
|
function renderCellContent(state) {
|
|
13917
14076
|
if (state.kind === "enabled") return /* @__PURE__ */ jsxs("span", {
|
|
13918
14077
|
className: "flex min-w-0 items-center gap-1",
|
|
13919
|
-
|
|
13920
|
-
|
|
13921
|
-
|
|
13922
|
-
|
|
14078
|
+
title: state.overridden ? "override" : void 0,
|
|
14079
|
+
children: [
|
|
14080
|
+
/* @__PURE__ */ jsx("span", { className: cn("h-1.5 w-1.5 rounded-full shrink-0", state.overridden ? "bg-amber-500" : "bg-emerald-500") }),
|
|
14081
|
+
/* @__PURE__ */ jsx("span", {
|
|
14082
|
+
className: "font-mono text-foreground truncate",
|
|
14083
|
+
children: state.modelId
|
|
14084
|
+
}),
|
|
14085
|
+
state.overridden && /* @__PURE__ */ jsx("span", {
|
|
14086
|
+
className: "ml-auto shrink-0 text-[8px] font-semibold uppercase text-amber-500",
|
|
14087
|
+
children: "ovr"
|
|
14088
|
+
})
|
|
14089
|
+
]
|
|
13923
14090
|
});
|
|
13924
14091
|
if (state.kind === "disabled") return /* @__PURE__ */ jsxs("span", {
|
|
13925
14092
|
className: "flex min-w-0 items-center gap-1 text-foreground-subtle",
|
|
13926
|
-
|
|
13927
|
-
|
|
13928
|
-
|
|
13929
|
-
|
|
14093
|
+
title: state.overridden ? "override" : void 0,
|
|
14094
|
+
children: [
|
|
14095
|
+
/* @__PURE__ */ jsx("span", { className: cn("h-1.5 w-1.5 rounded-full shrink-0", state.overridden ? "bg-amber-500" : "border border-foreground-subtle/60") }),
|
|
14096
|
+
/* @__PURE__ */ jsx("span", {
|
|
14097
|
+
className: "truncate",
|
|
14098
|
+
children: "off"
|
|
14099
|
+
}),
|
|
14100
|
+
state.overridden && /* @__PURE__ */ jsx("span", {
|
|
14101
|
+
className: "ml-auto shrink-0 text-[8px] font-semibold uppercase text-amber-500",
|
|
14102
|
+
children: "ovr"
|
|
14103
|
+
})
|
|
14104
|
+
]
|
|
13930
14105
|
});
|
|
13931
14106
|
return /* @__PURE__ */ jsxs("span", {
|
|
13932
14107
|
className: "flex min-w-0 items-center gap-1 text-foreground-subtle/70",
|
|
@@ -15573,6 +15748,22 @@ function usePTZ(trpc, deviceId, hookOptions) {
|
|
|
15573
15748
|
refreshPresets,
|
|
15574
15749
|
wrap
|
|
15575
15750
|
]),
|
|
15751
|
+
updatePreset: useCallback(async (presetId) => {
|
|
15752
|
+
if (!ptz) return;
|
|
15753
|
+
await wrap(async () => {
|
|
15754
|
+
const existing = presets.find((p) => p.id === presetId);
|
|
15755
|
+
await ptz.savePreset({
|
|
15756
|
+
presetId,
|
|
15757
|
+
name: existing?.name ?? ""
|
|
15758
|
+
});
|
|
15759
|
+
await refreshPresets();
|
|
15760
|
+
});
|
|
15761
|
+
}, [
|
|
15762
|
+
ptz,
|
|
15763
|
+
presets,
|
|
15764
|
+
refreshPresets,
|
|
15765
|
+
wrap
|
|
15766
|
+
]),
|
|
15576
15767
|
deletePreset: useCallback(async (presetId) => {
|
|
15577
15768
|
if (!ptz) return;
|
|
15578
15769
|
await wrap(async () => {
|
|
@@ -15667,10 +15858,13 @@ function DPadButton({ direction, icon: Icon, disabled, className, variant, onMov
|
|
|
15667
15858
|
});
|
|
15668
15859
|
}
|
|
15669
15860
|
function PTZOverlay({ controls, mode = "overlay", showPresets, showZoom = true, showHome = true, className }) {
|
|
15670
|
-
const { move, startContinuous, stopContinuous, zoom, goHome, goToPreset, savePreset, deletePreset, presets, options, busy, error } = controls;
|
|
15861
|
+
const { move, startContinuous, stopContinuous, zoom, goHome, goToPreset, savePreset, updatePreset, deletePreset, presets, options, busy, error } = controls;
|
|
15671
15862
|
const confirm = useConfirm();
|
|
15672
15863
|
const [presetsOpen, setPresetsOpen] = useState(false);
|
|
15673
15864
|
const [presetName, setPresetName] = useState("");
|
|
15865
|
+
const presetTriggerRef = useRef(null);
|
|
15866
|
+
const presetMenuRef = useRef(null);
|
|
15867
|
+
const [menuPos, setMenuPos] = useState(null);
|
|
15674
15868
|
const isPanel = mode === "panel";
|
|
15675
15869
|
const zoomVisible = showZoom && (options?.hasZoom ?? true);
|
|
15676
15870
|
const supportsPresets = options?.supportsPresets ?? presets.length > 0;
|
|
@@ -15696,6 +15890,51 @@ function PTZOverlay({ controls, mode = "overlay", showPresets, showZoom = true,
|
|
|
15696
15890
|
})) return;
|
|
15697
15891
|
await deletePreset(presetId);
|
|
15698
15892
|
}, [confirm, deletePreset]);
|
|
15893
|
+
const handleUpdatePreset = useCallback(async (presetId, label) => {
|
|
15894
|
+
if (!await confirm({
|
|
15895
|
+
title: "Update preset",
|
|
15896
|
+
message: `Overwrite preset "${label}" with the camera's current position?`,
|
|
15897
|
+
confirmLabel: "Update"
|
|
15898
|
+
})) return;
|
|
15899
|
+
await updatePreset(presetId);
|
|
15900
|
+
}, [confirm, updatePreset]);
|
|
15901
|
+
useLayoutEffect(() => {
|
|
15902
|
+
if (!presetsOpen) {
|
|
15903
|
+
setMenuPos(null);
|
|
15904
|
+
return;
|
|
15905
|
+
}
|
|
15906
|
+
const reposition = () => {
|
|
15907
|
+
const rect = presetTriggerRef.current?.getBoundingClientRect();
|
|
15908
|
+
if (rect) setMenuPos({
|
|
15909
|
+
top: rect.bottom + 4,
|
|
15910
|
+
right: window.innerWidth - rect.right
|
|
15911
|
+
});
|
|
15912
|
+
};
|
|
15913
|
+
reposition();
|
|
15914
|
+
window.addEventListener("resize", reposition);
|
|
15915
|
+
window.addEventListener("scroll", reposition, true);
|
|
15916
|
+
return () => {
|
|
15917
|
+
window.removeEventListener("resize", reposition);
|
|
15918
|
+
window.removeEventListener("scroll", reposition, true);
|
|
15919
|
+
};
|
|
15920
|
+
}, [presetsOpen]);
|
|
15921
|
+
useEffect(() => {
|
|
15922
|
+
if (!presetsOpen) return;
|
|
15923
|
+
const onPointerDown = (e) => {
|
|
15924
|
+
const target = e.target;
|
|
15925
|
+
if (presetMenuRef.current?.contains(target) || presetTriggerRef.current?.contains(target)) return;
|
|
15926
|
+
setPresetsOpen(false);
|
|
15927
|
+
};
|
|
15928
|
+
const onKey = (e) => {
|
|
15929
|
+
if (e.key === "Escape") setPresetsOpen(false);
|
|
15930
|
+
};
|
|
15931
|
+
document.addEventListener("mousedown", onPointerDown);
|
|
15932
|
+
document.addEventListener("keydown", onKey);
|
|
15933
|
+
return () => {
|
|
15934
|
+
document.removeEventListener("mousedown", onPointerDown);
|
|
15935
|
+
document.removeEventListener("keydown", onKey);
|
|
15936
|
+
};
|
|
15937
|
+
}, [presetsOpen]);
|
|
15699
15938
|
const containerClass = isPanel ? "flex flex-col items-stretch gap-2 w-full h-full p-3" : "pointer-events-auto absolute top-3 right-3 z-10 flex flex-col items-end gap-2";
|
|
15700
15939
|
const rowClass = isPanel ? cn("flex items-center gap-3 rounded-lg p-2", busy && "ring-1 ring-primary/40") : cn("flex items-center gap-2 rounded-lg border border-white/30 bg-zinc-900/90 backdrop-blur-md p-2 shadow-lg shadow-black/40", busy && "ring-1 ring-primary/40");
|
|
15701
15940
|
const sideButtonSize = isPanel ? "h-9 w-9" : "h-7 w-7";
|
|
@@ -15796,14 +16035,22 @@ function PTZOverlay({ controls, mode = "overlay", showPresets, showZoom = true,
|
|
|
15796
16035
|
presetsVisible && /* @__PURE__ */ jsxs("div", {
|
|
15797
16036
|
className: "relative",
|
|
15798
16037
|
children: [/* @__PURE__ */ jsxs("button", {
|
|
16038
|
+
ref: presetTriggerRef,
|
|
15799
16039
|
type: "button",
|
|
15800
16040
|
onClick: () => setPresetsOpen((v) => !v),
|
|
15801
16041
|
disabled: busy,
|
|
15802
16042
|
className: cn("flex items-center gap-1 rounded px-2 text-[10px] disabled:opacity-40", isPanel ? "h-9 text-foreground hover:bg-surface-hover" : "h-7 text-white hover:bg-white/15"),
|
|
15803
16043
|
title: "Presets",
|
|
15804
16044
|
children: ["Presets", /* @__PURE__ */ jsx(ChevronDown, { className: cn("h-3 w-3 transition-transform", presetsOpen && "rotate-180") })]
|
|
15805
|
-
}), presetsOpen && /* @__PURE__ */ jsxs("div", {
|
|
15806
|
-
|
|
16045
|
+
}), presetsOpen && menuPos && createPortal(/* @__PURE__ */ jsxs("div", {
|
|
16046
|
+
ref: presetMenuRef,
|
|
16047
|
+
style: {
|
|
16048
|
+
position: "fixed",
|
|
16049
|
+
top: menuPos.top,
|
|
16050
|
+
right: menuPos.right,
|
|
16051
|
+
zIndex: 60
|
|
16052
|
+
},
|
|
16053
|
+
className: cn("rounded-lg shadow-xl py-1", presetManagementVisible ? "min-w-[220px]" : "min-w-[140px]", isPanel ? "bg-surface border border-border" : "border border-white/30 bg-zinc-900/95 backdrop-blur-md"),
|
|
15807
16054
|
children: [
|
|
15808
16055
|
presets.length === 0 && /* @__PURE__ */ jsx("div", {
|
|
15809
16056
|
className: cn("px-3 py-1.5 text-[10px]", isPanel ? "text-foreground-subtle" : "text-white/60"),
|
|
@@ -15820,14 +16067,21 @@ function PTZOverlay({ controls, mode = "overlay", showPresets, showZoom = true,
|
|
|
15820
16067
|
disabled: busy,
|
|
15821
16068
|
className: cn("flex-1 px-3 py-1.5 text-left text-[10px] disabled:opacity-40", isPanel ? "text-foreground" : "text-white"),
|
|
15822
16069
|
children: p.name || p.id
|
|
15823
|
-
}), presetManagementVisible && /* @__PURE__ */ jsx("button", {
|
|
16070
|
+
}), presetManagementVisible && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("button", {
|
|
16071
|
+
type: "button",
|
|
16072
|
+
onClick: () => void handleUpdatePreset(p.id, p.name || p.id),
|
|
16073
|
+
disabled: busy,
|
|
16074
|
+
title: `Overwrite "${p.name || p.id}" with current position`,
|
|
16075
|
+
className: cn("flex h-5 w-5 shrink-0 items-center justify-center rounded", "text-foreground-subtle hover:bg-primary/15 hover:text-primary disabled:opacity-40"),
|
|
16076
|
+
children: /* @__PURE__ */ jsx(Crosshair, { className: "h-3 w-3" })
|
|
16077
|
+
}), /* @__PURE__ */ jsx("button", {
|
|
15824
16078
|
type: "button",
|
|
15825
16079
|
onClick: () => void handleDeletePreset(p.id, p.name || p.id),
|
|
15826
16080
|
disabled: busy,
|
|
15827
16081
|
title: `Delete preset ${p.name || p.id}`,
|
|
15828
16082
|
className: cn("mr-1 flex h-5 w-5 shrink-0 items-center justify-center rounded", "text-foreground-subtle hover:bg-danger/15 hover:text-danger disabled:opacity-40"),
|
|
15829
16083
|
children: /* @__PURE__ */ jsx(X, { className: "h-3 w-3" })
|
|
15830
|
-
})]
|
|
16084
|
+
})] })]
|
|
15831
16085
|
}, p.id)),
|
|
15832
16086
|
presetManagementVisible && /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
15833
16087
|
presets.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("my-1 h-px", isPanel ? "bg-border" : "bg-white/15") }),
|
|
@@ -15863,7 +16117,7 @@ function PTZOverlay({ controls, mode = "overlay", showPresets, showZoom = true,
|
|
|
15863
16117
|
})
|
|
15864
16118
|
] })
|
|
15865
16119
|
]
|
|
15866
|
-
})]
|
|
16120
|
+
}), document.body)]
|
|
15867
16121
|
})
|
|
15868
16122
|
]
|
|
15869
16123
|
})]
|
|
@@ -17680,6 +17934,8 @@ var usePipelineExecutorGetEngineProvisioning = trpc.pipelineExecutor.getEnginePr
|
|
|
17680
17934
|
var usePipelineExecutorGetVideoPipelineSteps = trpc.pipelineExecutor.getVideoPipelineSteps.useQuery;
|
|
17681
17935
|
/** Generated alias around `trpc.pipelineExecutor.setVideoPipelineSteps.useMutation`. */
|
|
17682
17936
|
var usePipelineExecutorSetVideoPipelineSteps = trpc.pipelineExecutor.setVideoPipelineSteps.useMutation;
|
|
17937
|
+
/** Generated alias around `trpc.pipelineExecutor.resetToDefault.useMutation`. */
|
|
17938
|
+
var usePipelineExecutorResetToDefault = trpc.pipelineExecutor.resetToDefault.useMutation;
|
|
17683
17939
|
/** Generated alias around `trpc.pipelineExecutor.getSchema.useQuery`. */
|
|
17684
17940
|
var usePipelineExecutorGetSchema = trpc.pipelineExecutor.getSchema.useQuery;
|
|
17685
17941
|
/** Generated alias around `trpc.pipelineExecutor.getGlobalSteps.useQuery`. */
|
|
@@ -17688,6 +17944,8 @@ var usePipelineExecutorGetGlobalSteps = trpc.pipelineExecutor.getGlobalSteps.use
|
|
|
17688
17944
|
var usePipelineExecutorGetGlobalPipelineConfig = trpc.pipelineExecutor.getGlobalPipelineConfig.useQuery;
|
|
17689
17945
|
/** Generated alias around `trpc.pipelineExecutor.getOrchestratorConfigSchema.useQuery`. */
|
|
17690
17946
|
var usePipelineExecutorGetOrchestratorConfigSchema = trpc.pipelineExecutor.getOrchestratorConfigSchema.useQuery;
|
|
17947
|
+
/** Generated alias around `trpc.pipelineExecutor.validatePipeline.useQuery`. */
|
|
17948
|
+
var usePipelineExecutorValidatePipeline = trpc.pipelineExecutor.validatePipeline.useQuery;
|
|
17691
17949
|
/** Generated alias around `trpc.pipelineExecutor.listTemplates.useQuery`. */
|
|
17692
17950
|
var usePipelineExecutorListTemplates = trpc.pipelineExecutor.listTemplates.useQuery;
|
|
17693
17951
|
/** Generated alias around `trpc.pipelineExecutor.saveTemplate.useMutation`. */
|
|
@@ -17758,6 +18016,8 @@ var usePipelineOrchestratorGetCameraMetrics = trpc.pipelineOrchestrator.getCamer
|
|
|
17758
18016
|
var usePipelineOrchestratorGetCapabilityBindings = trpc.pipelineOrchestrator.getCapabilityBindings.useQuery;
|
|
17759
18017
|
/** Generated alias around `trpc.pipelineOrchestrator.setCapabilityBinding.useMutation`. */
|
|
17760
18018
|
var usePipelineOrchestratorSetCapabilityBinding = trpc.pipelineOrchestrator.setCapabilityBinding.useMutation;
|
|
18019
|
+
/** Generated alias around `trpc.pipelineOrchestrator.getIngestOwner.useQuery`. */
|
|
18020
|
+
var usePipelineOrchestratorGetIngestOwner = trpc.pipelineOrchestrator.getIngestOwner.useQuery;
|
|
17761
18021
|
/** Generated alias around `trpc.pipelineOrchestrator.assignDecoder.useMutation`. */
|
|
17762
18022
|
var usePipelineOrchestratorAssignDecoder = trpc.pipelineOrchestrator.assignDecoder.useMutation;
|
|
17763
18023
|
/** Generated alias around `trpc.pipelineOrchestrator.unassignDecoder.useMutation`. */
|
|
@@ -17790,6 +18050,8 @@ var usePipelineOrchestratorSetAgentMaxCameras = trpc.pipelineOrchestrator.setAge
|
|
|
17790
18050
|
var usePipelineOrchestratorSetAgentDetectWeight = trpc.pipelineOrchestrator.setAgentDetectWeight.useMutation;
|
|
17791
18051
|
/** Generated alias around `trpc.pipelineOrchestrator.setAgentCapabilities.useMutation`. */
|
|
17792
18052
|
var usePipelineOrchestratorSetAgentCapabilities = trpc.pipelineOrchestrator.setAgentCapabilities.useMutation;
|
|
18053
|
+
/** Generated alias around `trpc.pipelineOrchestrator.setAgentReachableHost.useMutation`. */
|
|
18054
|
+
var usePipelineOrchestratorSetAgentReachableHost = trpc.pipelineOrchestrator.setAgentReachableHost.useMutation;
|
|
17793
18055
|
/** Generated alias around `trpc.pipelineOrchestrator.getCameraSettings.useQuery`. */
|
|
17794
18056
|
var usePipelineOrchestratorGetCameraSettings = trpc.pipelineOrchestrator.getCameraSettings.useQuery;
|
|
17795
18057
|
/** Generated alias around `trpc.pipelineOrchestrator.setCameraStepToggle.useMutation`. */
|
|
@@ -17964,10 +18226,6 @@ var useSnapshotGetDeviceSettingsContribution = trpc.snapshot.getDeviceSettingsCo
|
|
|
17964
18226
|
var useSnapshotGetDeviceLiveContribution = trpc.snapshot.getDeviceLiveContribution.useQuery;
|
|
17965
18227
|
/** Generated alias around `trpc.snapshot.applyDeviceSettingsPatch.useMutation`. */
|
|
17966
18228
|
var useSnapshotApplyDeviceSettingsPatch = trpc.snapshot.applyDeviceSettingsPatch.useMutation;
|
|
17967
|
-
/** Generated alias around `trpc.snapshotProvider.supportsDevice.useQuery`. */
|
|
17968
|
-
var useSnapshotProviderSupportsDevice = trpc.snapshotProvider.supportsDevice.useQuery;
|
|
17969
|
-
/** Generated alias around `trpc.snapshotProvider.getSnapshot.useQuery`. */
|
|
17970
|
-
var useSnapshotProviderGetSnapshot = trpc.snapshotProvider.getSnapshot.useQuery;
|
|
17971
18229
|
/** Generated alias around `trpc.storage.resolve.useQuery`. */
|
|
17972
18230
|
var useStorageResolve = trpc.storage.resolve.useQuery;
|
|
17973
18231
|
/** Generated alias around `trpc.storage.write.useMutation`. */
|
|
@@ -30018,10 +30276,11 @@ function PlaceholderStep({ addon, onClick }) {
|
|
|
30018
30276
|
})
|
|
30019
30277
|
});
|
|
30020
30278
|
}
|
|
30021
|
-
function PipelineBuilder({ schema, steps, onChange, templates, selectedTemplateId, onSelectTemplate, onSaveTemplate, onUpdateTemplate, onDeleteTemplate, readOnly = false, excludeAddons = [], hideTemplates = false, showOnlyEnabled = false, showSlotLabels = false, toggleMode = "simple", overrides = {}, onOverrideChange, inheritedEnabledByAddon = {}, hideModelAndSettings = false }) {
|
|
30279
|
+
function PipelineBuilder({ schema, steps, onChange, templates, selectedTemplateId, onSelectTemplate, onSaveTemplate, onUpdateTemplate, onDeleteTemplate, readOnly = false, excludeAddons = [], hideTemplates = false, showOnlyEnabled = false, showSlotLabels = false, toggleMode = "simple", overrides = {}, onOverrideChange, inheritedEnabledByAddon = {}, hideModelAndSettings = false, allowAutoModel = false }) {
|
|
30022
30280
|
const stepExtraProps = (addonId) => ({
|
|
30023
30281
|
toggleMode,
|
|
30024
30282
|
hideModelAndSettings,
|
|
30283
|
+
allowAutoModel,
|
|
30025
30284
|
...toggleMode === "threeState" ? {
|
|
30026
30285
|
overrideState: overrides[addonId] !== void 0 ? overrides[addonId] : null,
|
|
30027
30286
|
onOverrideChange: onOverrideChange ? (next) => onOverrideChange(addonId, next) : void 0,
|
|
@@ -33254,7 +33513,7 @@ function ScheduleBandsEditor({ schedules, onChange }) {
|
|
|
33254
33513
|
className: "space-y-2",
|
|
33255
33514
|
children: [schedules.length === 0 ? /* @__PURE__ */ jsx("p", {
|
|
33256
33515
|
className: "text-[11px] text-foreground-subtle",
|
|
33257
|
-
children: "
|
|
33516
|
+
children: "Always (24/7) — add a band to restrict hours."
|
|
33258
33517
|
}) : schedules.map((band, i) => /* @__PURE__ */ jsx(BandRow, {
|
|
33259
33518
|
band,
|
|
33260
33519
|
onChange: (b) => replaceAt(i, b),
|
|
@@ -33263,7 +33522,7 @@ function ScheduleBandsEditor({ schedules, onChange }) {
|
|
|
33263
33522
|
type: "button",
|
|
33264
33523
|
onClick: addBand,
|
|
33265
33524
|
className: "flex items-center gap-1 rounded-md bg-surface-hover px-2 py-1 text-[11px] text-foreground-subtle hover:text-foreground",
|
|
33266
|
-
children: [/* @__PURE__ */ jsx(Plus, { className: "h-3 w-3" }), "
|
|
33525
|
+
children: [/* @__PURE__ */ jsx(Plus, { className: "h-3 w-3" }), " Add band"]
|
|
33267
33526
|
})]
|
|
33268
33527
|
});
|
|
33269
33528
|
}
|
|
@@ -33273,18 +33532,18 @@ function BandRow({ band, onChange, onRemove }) {
|
|
|
33273
33532
|
children: [
|
|
33274
33533
|
/* @__PURE__ */ jsx("span", {
|
|
33275
33534
|
className: "flex-1",
|
|
33276
|
-
children: "
|
|
33535
|
+
children: "Always"
|
|
33277
33536
|
}),
|
|
33278
33537
|
/* @__PURE__ */ jsx("button", {
|
|
33279
33538
|
type: "button",
|
|
33280
33539
|
onClick: () => onChange(newBand()),
|
|
33281
33540
|
className: "text-foreground-subtle hover:text-foreground underline",
|
|
33282
|
-
children: "
|
|
33541
|
+
children: "Set band"
|
|
33283
33542
|
}),
|
|
33284
33543
|
/* @__PURE__ */ jsx("button", {
|
|
33285
33544
|
type: "button",
|
|
33286
33545
|
onClick: onRemove,
|
|
33287
|
-
"aria-label": "
|
|
33546
|
+
"aria-label": "Remove band",
|
|
33288
33547
|
className: "text-foreground-subtle hover:text-red-500",
|
|
33289
33548
|
children: /* @__PURE__ */ jsx(Trash2, { className: "h-3.5 w-3.5" })
|
|
33290
33549
|
})
|
|
@@ -33329,7 +33588,7 @@ function BandRow({ band, onChange, onRemove }) {
|
|
|
33329
33588
|
/* @__PURE__ */ jsx("button", {
|
|
33330
33589
|
type: "button",
|
|
33331
33590
|
onClick: onRemove,
|
|
33332
|
-
"aria-label": "
|
|
33591
|
+
"aria-label": "Remove band",
|
|
33333
33592
|
className: "text-foreground-subtle hover:text-red-500",
|
|
33334
33593
|
children: /* @__PURE__ */ jsx(Trash2, { className: "h-3.5 w-3.5" })
|
|
33335
33594
|
})
|
|
@@ -33345,7 +33604,7 @@ function BandRow({ band, onChange, onRemove }) {
|
|
|
33345
33604
|
}, d.value);
|
|
33346
33605
|
}), days.length === 0 ? /* @__PURE__ */ jsx("span", {
|
|
33347
33606
|
className: "self-center text-[10px] text-foreground-subtle",
|
|
33348
|
-
children: "
|
|
33607
|
+
children: "every day"
|
|
33349
33608
|
}) : null]
|
|
33350
33609
|
})]
|
|
33351
33610
|
});
|
|
@@ -33391,7 +33650,7 @@ function RecordingSettings({ initial, saving, onSave }) {
|
|
|
33391
33650
|
});
|
|
33392
33651
|
const numOrUndef = (v) => v === "" ? void 0 : Number(v);
|
|
33393
33652
|
const toggleProfile = (p) => {
|
|
33394
|
-
const cur = common.profiles ?? [];
|
|
33653
|
+
const cur = common.profiles ?? [...PROFILES];
|
|
33395
33654
|
const next = cur.includes(p) ? cur.filter((x) => x !== p) : [...cur, p];
|
|
33396
33655
|
setCommon({
|
|
33397
33656
|
...common,
|
|
@@ -33569,7 +33828,7 @@ function RecordingSettings({ initial, saving, onSave }) {
|
|
|
33569
33828
|
return /* @__PURE__ */ jsx("button", {
|
|
33570
33829
|
type: "button",
|
|
33571
33830
|
onClick: () => toggleProfile(p),
|
|
33572
|
-
className: `rounded px-2 py-1 ${
|
|
33831
|
+
className: `rounded px-2 py-1 ${common.profiles == null || common.profiles.includes(p) ? "bg-primary text-primary-foreground" : "bg-surface-hover text-foreground-subtle"}`,
|
|
33573
33832
|
children: p
|
|
33574
33833
|
}, p);
|
|
33575
33834
|
})]
|
|
@@ -34112,7 +34371,7 @@ function CoverageTrack({ windowFrom, windowTo, spans, playheadMs, onSeek, onScru
|
|
|
34112
34371
|
const left = pctForMs(s.startMs, windowFrom, windowTo);
|
|
34113
34372
|
const right = pctForMs(s.endMs, windowFrom, windowTo);
|
|
34114
34373
|
return /* @__PURE__ */ jsx("div", {
|
|
34115
|
-
"data-testid": "coverage-
|
|
34374
|
+
"data-testid": "coverage-band",
|
|
34116
34375
|
className: "absolute inset-y-0 bg-gradient-to-b from-primary to-primary/80",
|
|
34117
34376
|
style: {
|
|
34118
34377
|
left: `${left}%`,
|
|
@@ -45024,4 +45283,4 @@ var MotionZonesSettings = lazy(() => import("./MotionZonesSettings-NcxxQN8r.js")
|
|
|
45024
45283
|
/** Lazy-wrapped `PrivacyMaskSettings` — code-split off the main bundle. */
|
|
45025
45284
|
var PrivacyMaskSettings = lazy(() => import("./PrivacyMaskSettings-APgPLF7p.js").then((m) => ({ default: m.PrivacyMaskSettings })));
|
|
45026
45285
|
//#endregion
|
|
45027
|
-
export { AddonGlobalSettingsForm, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, AppShell, ArcKnob, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutotrackSection, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, Badge, BatteryBadge, BottomSheet, Breadcrumb, BrightnessPanel, Button, ButtonControl, ButtonHeroCard, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, CustomFieldRenderersProvider, DEFAULT_COLOR, DEVICE_COLUMNS, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DISPLAY_ICON_REGISTRY, DataTable, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceGrid, DeviceItem, DeviceList, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, DoorbellRecentPanel, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, DummyHeroCard, DummyInline, EmptyState, ErrorBox, EventStream, FILL, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, FormField$1 as FormField, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GripTrack, HOST_WIDGETS, HlsVideo, HoverZoomImage, HumidifierHeroCard, HumidifierInlineControl, INPUT_COMPACT, IconAction, IconButton, ImageHeroCard, ImageInlineControl, ImageSelector, InferenceConfigSelector, Input, KebabMenu, KeyValueList, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LightHeroCard, LightInlineControl, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, MODE_COLOR, MaskShapeCanvas, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, MobileDrawer, MotionZonesSettings, NodeMultiSelectField, NodePicker, NodeSelectField, OfflineBadge, PHASE_CONFIG, PRIORITY, PTZOverlay, PageHeader, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PipelineTreeMatrix, PlayerOverlaysProvider, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, PtzPanel, QrCode, RECORDED_PLAYBACK_MODES, RIGHT, ROLE_DESCRIPTOR, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, ScopePicker, ScrollArea, Select, SemanticBadge, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, Sidebar, SidebarItem, Skeleton, SlideOverPanel, SlideToggle, SnapshotButton, StatCard, StateValuesStream, StatusBadge, StepTimings, StepTreeMaster, Stepper, StreamBrokerSelector, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, Tooltip, TooltipContent, TooltipTrigger, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, VodPlaybackProvider, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, ZoneEditingProvider, allDeviceTypeFilterOptions, buildStepTreeFromSchema, childEntityId, childListName, cn, columnsForContext, containerChildToRef, countableDevices, coverHighlight, createSharedContext, createTheme, cursorFractionFor, darkColors, defaultTheme, deriveDeviceKind, deviceRoleMeta, deviceRoleMetaOf, deviceTypeMeta, deviceTypeMetaOf, ensureMfHostInit, findTimezone, formatControlDateTime, formatLastSeen, formatNumeric, fuzzyMatch, getClassColor, getPhaseVisual, groupChildrenByLayout, hardwareLabel, humidifierTint, createLucideIcon as i, initialScrubState, isAbsentProvider, isFieldVisible, lawnMowerActivityMeta, lightColors, loadRemoteBundle, makeScrubBridge, metadataEntries, metadataString, mirror, mountAddonPage, Square as n, nextSort, normalizeForSearch, overrideEntityIdFromLink, parseRecordedServerMessage, providerIcons, EyeOff as r, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDisplayIcon, resolvePrimaryChild, resolveSensorDisplay, scrubReducer, serializeRecordedCommand, shouldCommit, shouldEmit, sortRows, statusIcons, stripParentNamePrefix, Trash2 as t, tankAlert, themeToCss, trpc, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdateFrameworkPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerClassify, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupDelete, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListDestinations, useBackupListLocations, useBackupPreviewSchedule, useBackupRestore, useBackupTrigger, useBackupUpsertDestinationPolicy, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useColorGetStatus, useColorSetColor, useConfirm, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderCreateSession, useDecoderDestroySession, useDecoderGetFrame, useDecoderGetInfo, useDecoderGetShmStats, useDecoderGetStats, useDecoderListActiveSessions, useDecoderOpenStream, useDecoderPullFrames, useDecoderPullHandles, useDecoderPushPacket, useDecoderReprobeHwaccel, useDecoderSupportsCodec, useDecoderUpdateConfig, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetChildren, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDeviceLinks, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetSnapshot, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDoorbellEvents, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useEventsGetEventClipUrl, useEventsGetEventThumbnail, useEventsGetEvents, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetPreferred, useLocalNetworkList, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkSetAllowedAddresses, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderDumpHeapSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetProcessStats, useMetricsProviderKillProcess, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdSetOverlay, usePTZ, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsClearTracks, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsListTracks, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsSearchObjectEvents, usePipelineExecutorCacheFrameInPool, usePipelineExecutorDeleteModel, usePipelineExecutorDeleteTemplate, usePipelineExecutorDetect, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorListTemplates, usePipelineExecutorReprobeEngine, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSaveTemplate, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorUpdateTemplate, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignDecoder, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteTemplate, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetDecoderAssignment, usePipelineOrchestratorGetDecoderAssignments, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListTemplates, usePipelineOrchestratorRebalance, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorSaveTemplate, usePipelineOrchestratorSetAgentAddonDefaults, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDetectWeight, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignDecoder, usePipelineOrchestratorUnassignPipeline, usePipelineOrchestratorUpdateTemplate, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerReportMotion, usePlateGalleryCorrectPlateText, usePlateGalleryDeletePlate, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetMask, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzContinuousMove, usePtzDeletePreset, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingApplyDeviceSettingsPatch, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetDeviceConfig, useRecordingGetDeviceLiveContribution, useRecordingGetDeviceSettingsContribution, useRecordingGetPlaybackManifest, useRecordingGetStatus, useRecordingGetStorageUsage, useRecordingLocateSegment, useRecordingPruneFootage, useRecordingReadSegmentBytes, useRecordingRescanStorage, useRecordingSetDeviceConfig, useRemoteComponent, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreUpdate, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetStatus, useSnapshotInvalidateCache, useSnapshotProviderGetSnapshot, useSnapshotProviderSupportsDevice, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageGetDefaultLocation, useStorageList, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerPullFrameHandles, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerSubscribeFrames, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamBrokerUnsubscribeFrames, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetRetentionConfig, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetRetentionConfig, useTamperGetStatus, useTemperatureSensorGetStatus, useThemeMode, useToastOnToast, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUserManagementConfirmTotp, useUserManagementCreateApiKey, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUpdateUser, useUserManagementValidateApiKey, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsGetClipPlayback, useVideoclipsListClips, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, vacuumStateMeta, validateScopes, valveStateMeta, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint };
|
|
45286
|
+
export { AddonGlobalSettingsForm, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, AppShell, ArcKnob, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutotrackSection, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, Badge, BatteryBadge, BottomSheet, Breadcrumb, BrightnessPanel, Button, ButtonControl, ButtonHeroCard, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, CustomFieldRenderersProvider, DEFAULT_COLOR, DEVICE_COLUMNS, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DISPLAY_ICON_REGISTRY, DataTable, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceGrid, DeviceItem, DeviceList, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, DoorbellRecentPanel, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, DummyHeroCard, DummyInline, EmptyState, ErrorBox, EventStream, FILL, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, FormField$1 as FormField, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GripTrack, GroupedModelSelector, HOST_WIDGETS, HlsVideo, HoverZoomImage, HumidifierHeroCard, HumidifierInlineControl, INPUT_COMPACT, IconAction, IconButton, ImageHeroCard, ImageInlineControl, ImageSelector, InferenceConfigSelector, Input, KebabMenu, KeyValueList, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LightHeroCard, LightInlineControl, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, MODE_COLOR, MaskShapeCanvas, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, MobileDrawer, MotionZonesSettings, NodeMultiSelectField, NodePicker, NodeSelectField, OfflineBadge, PHASE_CONFIG, PRIORITY, PTZOverlay, PageHeader, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PipelineTreeMatrix, PlayerOverlaysProvider, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, PtzPanel, QrCode, RECORDED_PLAYBACK_MODES, RIGHT, ROLE_DESCRIPTOR, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, ScopePicker, ScrollArea, Select, SemanticBadge, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, Sidebar, SidebarItem, Skeleton, SlideOverPanel, SlideToggle, SnapshotButton, StatCard, StateValuesStream, StatusBadge, StepTimings, StepTreeMaster, Stepper, StreamBrokerSelector, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, Tooltip, TooltipContent, TooltipTrigger, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, VodPlaybackProvider, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, ZoneEditingProvider, allDeviceTypeFilterOptions, buildStepTreeFromSchema, childEntityId, childListName, cn, columnsForContext, containerChildToRef, countableDevices, coverHighlight, createSharedContext, createTheme, cursorFractionFor, darkColors, defaultTheme, deriveDeviceKind, deviceRoleMeta, deviceRoleMetaOf, deviceTypeMeta, deviceTypeMetaOf, ensureMfHostInit, findTimezone, formatControlDateTime, formatLastSeen, formatNumeric, fuzzyMatch, getClassColor, getPhaseVisual, groupChildrenByLayout, hardwareLabel, humidifierTint, createLucideIcon as i, initialScrubState, isAbsentProvider, isFieldVisible, lawnMowerActivityMeta, lightColors, loadRemoteBundle, makeScrubBridge, metadataEntries, metadataString, mirror, mountAddonPage, Square as n, nextSort, normalizeForSearch, overrideEntityIdFromLink, parseRecordedServerMessage, providerIcons, EyeOff as r, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDisplayIcon, resolvePrimaryChild, resolveSensorDisplay, scrubReducer, serializeRecordedCommand, shouldCommit, shouldEmit, sortRows, statusIcons, stripParentNamePrefix, Trash2 as t, tankAlert, themeToCss, trpc, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdateFrameworkPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerClassify, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupDelete, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListDestinations, useBackupListLocations, useBackupPreviewSchedule, useBackupRestore, useBackupTrigger, useBackupUpsertDestinationPolicy, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useColorGetStatus, useColorSetColor, useConfirm, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderCreateSession, useDecoderDestroySession, useDecoderGetFrame, useDecoderGetInfo, useDecoderGetShmStats, useDecoderGetStats, useDecoderListActiveSessions, useDecoderOpenStream, useDecoderPullFrames, useDecoderPullHandles, useDecoderPushPacket, useDecoderReprobeHwaccel, useDecoderSupportsCodec, useDecoderUpdateConfig, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetChildren, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDeviceLinks, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetSnapshot, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDoorbellEvents, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useEventsGetEventClipUrl, useEventsGetEventThumbnail, useEventsGetEvents, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetPreferred, useLocalNetworkList, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkSetAllowedAddresses, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderDumpHeapSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetProcessStats, useMetricsProviderKillProcess, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdSetOverlay, usePTZ, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsClearTracks, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsListTracks, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsSearchObjectEvents, usePipelineExecutorCacheFrameInPool, usePipelineExecutorDeleteModel, usePipelineExecutorDeleteTemplate, usePipelineExecutorDetect, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorListTemplates, usePipelineExecutorReprobeEngine, usePipelineExecutorResetToDefault, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSaveTemplate, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorUpdateTemplate, usePipelineExecutorValidatePipeline, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignDecoder, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteTemplate, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetDecoderAssignment, usePipelineOrchestratorGetDecoderAssignments, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetIngestOwner, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListTemplates, usePipelineOrchestratorRebalance, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorSaveTemplate, usePipelineOrchestratorSetAgentAddonDefaults, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDetectWeight, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetAgentReachableHost, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignDecoder, usePipelineOrchestratorUnassignPipeline, usePipelineOrchestratorUpdateTemplate, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerReportMotion, usePlateGalleryCorrectPlateText, usePlateGalleryDeletePlate, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetMask, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzContinuousMove, usePtzDeletePreset, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingApplyDeviceSettingsPatch, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetDeviceConfig, useRecordingGetDeviceLiveContribution, useRecordingGetDeviceSettingsContribution, useRecordingGetPlaybackManifest, useRecordingGetStatus, useRecordingGetStorageUsage, useRecordingLocateSegment, useRecordingPruneFootage, useRecordingReadSegmentBytes, useRecordingRescanStorage, useRecordingSetDeviceConfig, useRemoteComponent, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreUpdate, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetStatus, useSnapshotInvalidateCache, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageGetDefaultLocation, useStorageList, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerPullFrameHandles, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerSubscribeFrames, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamBrokerUnsubscribeFrames, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetRetentionConfig, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetRetentionConfig, useTamperGetStatus, useTemperatureSensorGetStatus, useThemeMode, useToastOnToast, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUserManagementConfirmTotp, useUserManagementCreateApiKey, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUpdateUser, useUserManagementValidateApiKey, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsGetClipPlayback, useVideoclipsListClips, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, vacuumStateMeta, validateScopes, valveStateMeta, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint };
|