@camstack/ui-library 1.2.316 → 1.2.318
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/{PrivacyMaskSettings-CtetT6Jl.js → PrivacyMaskSettings-C9wfHkiB.js} +1 -1
- package/dist/{SceneMonitorEditor-BQhVO2F2.js → SceneMonitorEditor-CrxB3ZPL.js} +1 -1
- package/dist/composites/addon-page-props.d.ts +9 -1
- package/dist/composites/cap-settings/ConsumablesPanel.d.ts +2 -0
- package/dist/composites/cap-settings/consumable-rows.d.ts +21 -0
- package/dist/composites/cap-settings/consumables-summary.d.ts +41 -0
- package/dist/composites/consumable-level-badge.d.ts +25 -18
- package/dist/composites/device-controls/dishwasher-control.d.ts +3 -0
- package/dist/composites/device-controls/index.d.ts +1 -1
- package/dist/composites/device-controls/vacuum-control.d.ts +1 -13
- package/dist/composites/widget-panel.d.ts +9 -4
- package/dist/generated/system-hooks.d.ts +6 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/use-persisted-disclosure.d.ts +3 -0
- package/dist/{icons-D178phML.js → icons-aFMzvquu.js} +21 -1
- package/dist/{icons-BTux33dH.cjs → icons-pqV1UOV_.cjs} +21 -1
- package/dist/index.cjs +590 -470
- package/dist/index.js +591 -473
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import * as __mfHostReact from "react";
|
|
|
5
5
|
import React, { Fragment, Suspense, cloneElement, createContext, createElement, forwardRef, lazy, useCallback, useContext, useEffect, useId, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore } from "react";
|
|
6
6
|
import * as __mfHostReactJsxRuntime from "react/jsx-runtime";
|
|
7
7
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
-
import { ALL_CAPABILITY_DEFINITIONS, CAM_PROFILE_ORDER, CLIP_STILL_DISPOSITION_HEADER, CLIP_STILL_REASON_CODE_HEADER, CLIP_STILL_REASON_HEADER, CONTAINER_CHILD_PRIORITY, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEVICE_HISTORY_ENERGY_KEY, DEVICE_HISTORY_QUERY_MANY_MAX_ITEMS, DEVICE_TYPE_CONTROL_KIND, DeviceExportStatusSchema, DeviceFeature, DeviceRole, DeviceType,
|
|
8
|
+
import { ALL_CAPABILITY_DEFINITIONS, CAM_PROFILE_ORDER, CLIP_STILL_DISPOSITION_HEADER, CLIP_STILL_REASON_CODE_HEADER, CLIP_STILL_REASON_HEADER, CONTAINER_CHILD_PRIORITY, ConsumableLevelSchema, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEVICE_HISTORY_ENERGY_KEY, DEVICE_HISTORY_QUERY_MANY_MAX_ITEMS, DEVICE_TYPE_CONTROL_KIND, DeviceExportStatusSchema, DeviceFeature, DeviceRole, DeviceType, EVENT_TAXONOMY, EXTENSION_SLOTS, EXTENSION_SLOT_IDS, EventCategory, ExposedDeviceSchema, FIRST_LEVEL_MACRO_CLASSES, HISTORY_CATALOG, ICON_CATEGORIES, KNOWN_CAP_NAMES, MAX_SENSOR_TRIGGER_DEVICES, MODEL_PROVIDER_IDS, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, NODE_COLOR_IDS, NodeColorIdSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, RECORDING_AUDIO_TRIGGER_OFFERED_DBFS, RECORDING_SOURCE_CAMSTACK_ADDON, REDACTED_SECRET, RecordingConfigSchema, RecordingStatusSchema, SECRET_CLEAR, SOURCE_CAP_ACTIVE_FIELD, STATIONARY_OVERLAY_STYLE, SUBJECT_PATH_DWELL_EPS, SUBJECT_PATH_FULL_FRAME_COVERAGE, SUBJECT_PATH_MAX_POINTS, TIMEZONES, USE_ROOT_MODEL_SETTING_KEY, assignNodeColorId, assignNodeColorId as assignNodeColorId$1, buildModelVariantGroups, buildSubjectPath, canConvertUnit, canonicalIconKey, clearModelBoundOverrides, clearModelBoundSetting, clusterStepSettingFieldsFor, collectModelBoundKeys, consumableFormOf, consumableKindOf, createDeviceProxy, createLazyTrpcSource, createSliceHandle, dehydrateSchema, deriveRecordingMode, describeModelVariant, effectiveStepSettings, findTimezone, formatParkedFor, hasModelBoundOverrides, iconCategoryLabel, iconsInCategory, isDrawableSubjectPath, isKeychainStoredField, isRootSuppliableStepId, isSecretClear, isSecretFieldView, modelBindingKey, normalizeUnit, parseOccupancyScope, projectSubjectPath, publicEventCategories, resolveContainerPrimaryChild, resolveDeviceControlKind, resolveIconKey, resolveModelBoundSetting, resolveRecordingProfiles, resolveRootSupply, resolveVariantModelId, resolveViewableDeviceIds, searchIcons, selectAssignedProfileSlots, stepSettingSource, subjectPathSampleFromBox, subjectPathSvgPoints, tryConvertUnit, unitsForDimension, withFieldFrom, withoutField, writeModelBoundSetting } from "@camstack/types";
|
|
9
9
|
import * as __mfHostTrpcReactQuery from "@trpc/react-query";
|
|
10
10
|
import { createTRPCReact } from "@trpc/react-query";
|
|
11
11
|
import * as __mfHostReactDOM from "react-dom";
|
|
@@ -1875,26 +1875,6 @@ var Flashlight = createLucideIcon("flashlight", [
|
|
|
1875
1875
|
* This source code is licensed under the ISC license.
|
|
1876
1876
|
* See the LICENSE file in the root directory of this source tree.
|
|
1877
1877
|
*/
|
|
1878
|
-
var FlaskConical = createLucideIcon("flask-conical", [
|
|
1879
|
-
["path", {
|
|
1880
|
-
d: "M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",
|
|
1881
|
-
key: "18mbvz"
|
|
1882
|
-
}],
|
|
1883
|
-
["path", {
|
|
1884
|
-
d: "M6.453 15h11.094",
|
|
1885
|
-
key: "3shlmq"
|
|
1886
|
-
}],
|
|
1887
|
-
["path", {
|
|
1888
|
-
d: "M8.5 2h7",
|
|
1889
|
-
key: "csnxdl"
|
|
1890
|
-
}]
|
|
1891
|
-
]);
|
|
1892
|
-
/**
|
|
1893
|
-
* @license lucide-react v0.576.0 - ISC
|
|
1894
|
-
*
|
|
1895
|
-
* This source code is licensed under the ISC license.
|
|
1896
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
1897
|
-
*/
|
|
1898
1878
|
var Footprints = createLucideIcon("footprints", [
|
|
1899
1879
|
["path", {
|
|
1900
1880
|
d: "M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z",
|
|
@@ -5846,7 +5826,7 @@ function lucideExportName(key) {
|
|
|
5846
5826
|
function loadIconGlyphs() {
|
|
5847
5827
|
if (fullTable !== void 0) return Promise.resolve();
|
|
5848
5828
|
if (failure$1 !== void 0) return Promise.reject(failure$1);
|
|
5849
|
-
pending ??= import("./icons-
|
|
5829
|
+
pending ??= import("./icons-aFMzvquu.js").then((module) => {
|
|
5850
5830
|
fullTable = module;
|
|
5851
5831
|
publish();
|
|
5852
5832
|
}, (error) => {
|
|
@@ -10777,6 +10757,10 @@ var useDeviceHistoryGetDeviceEnabled = trpc.deviceHistory.getDeviceEnabled.useQu
|
|
|
10777
10757
|
var useDeviceHistorySetDeviceEnabled = trpc.deviceHistory.setDeviceEnabled.useMutation;
|
|
10778
10758
|
/** Generated alias around `trpc.deviceHistory.getStatus.useQuery`. */
|
|
10779
10759
|
var useDeviceHistoryGetStatus = trpc.deviceHistory.getStatus.useQuery;
|
|
10760
|
+
/** Generated alias around `trpc.deviceHistory.listOrphanSeries.useQuery`. */
|
|
10761
|
+
var useDeviceHistoryListOrphanSeries = trpc.deviceHistory.listOrphanSeries.useQuery;
|
|
10762
|
+
/** Generated alias around `trpc.deviceHistory.deleteOrphanSeries.useMutation`. */
|
|
10763
|
+
var useDeviceHistoryDeleteOrphanSeries = trpc.deviceHistory.deleteOrphanSeries.useMutation;
|
|
10780
10764
|
/** Generated alias around `trpc.deviceManager.allocateDeviceId.useMutation`. */
|
|
10781
10765
|
var useDeviceManagerAllocateDeviceId = trpc.deviceManager.allocateDeviceId.useMutation;
|
|
10782
10766
|
/** Generated alias around `trpc.deviceManager.migrateDevice.useMutation`. */
|
|
@@ -11929,6 +11913,8 @@ var usePipelineOrchestratorSetAgentReachableHost = trpc.pipelineOrchestrator.set
|
|
|
11929
11913
|
var usePipelineOrchestratorSetAgentInferenceDevices = trpc.pipelineOrchestrator.setAgentInferenceDevices.useMutation;
|
|
11930
11914
|
/** Generated alias around `trpc.pipelineOrchestrator.getNodeInferenceDevices.useQuery`. */
|
|
11931
11915
|
var usePipelineOrchestratorGetNodeInferenceDevices = trpc.pipelineOrchestrator.getNodeInferenceDevices.useQuery;
|
|
11916
|
+
/** Generated alias around `trpc.pipelineOrchestrator.forgetInferenceDevice.useMutation`. */
|
|
11917
|
+
var usePipelineOrchestratorForgetInferenceDevice = trpc.pipelineOrchestrator.forgetInferenceDevice.useMutation;
|
|
11932
11918
|
/** Generated alias around `trpc.pipelineOrchestrator.resetNodePipelineDefaults.useMutation`. */
|
|
11933
11919
|
var usePipelineOrchestratorResetNodePipelineDefaults = trpc.pipelineOrchestrator.resetNodePipelineDefaults.useMutation;
|
|
11934
11920
|
/** Generated alias around `trpc.pipelineOrchestrator.planAutoTune.useQuery`. */
|
|
@@ -19125,20 +19111,30 @@ function useDeviceAutotrack(deviceId) {
|
|
|
19125
19111
|
}
|
|
19126
19112
|
//#endregion
|
|
19127
19113
|
//#region src/composites/widget-panel.tsx
|
|
19128
|
-
function WidgetPanel({ title, icon, headerRight, collapsible = false, defaultOpen = true, bodyClassName = "p-3", children }) {
|
|
19129
|
-
const [
|
|
19114
|
+
function WidgetPanel({ title, icon, headerRight, collapsible = false, defaultOpen = true, open: openProp, onOpenChange, bodyClassName = "p-3", children }) {
|
|
19115
|
+
const [openState, setOpenState] = useState(defaultOpen);
|
|
19116
|
+
const open = openProp ?? openState;
|
|
19117
|
+
const toggle = () => {
|
|
19118
|
+
const next = !open;
|
|
19119
|
+
if (openProp === void 0) setOpenState(next);
|
|
19120
|
+
onOpenChange?.(next);
|
|
19121
|
+
};
|
|
19130
19122
|
const showBody = !collapsible || open;
|
|
19131
19123
|
const headerInner = /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("span", {
|
|
19132
19124
|
className: "flex items-center gap-2 text-xs font-semibold uppercase tracking-wider text-foreground",
|
|
19133
19125
|
children: [icon, title]
|
|
19134
|
-
}), collapsible ?
|
|
19126
|
+
}), collapsible ? /* @__PURE__ */ jsxs("span", {
|
|
19127
|
+
className: "flex min-w-0 items-center gap-2",
|
|
19128
|
+
children: [headerRight, open ? /* @__PURE__ */ jsx(ChevronDown, { className: "h-3.5 w-3.5 shrink-0 text-foreground-subtle" }) : /* @__PURE__ */ jsx(ChevronRight, { className: "h-3.5 w-3.5 shrink-0 text-foreground-subtle" })]
|
|
19129
|
+
}) : headerRight] });
|
|
19135
19130
|
const headerClass = `px-4 py-2 flex items-center justify-between ${showBody ? "border-b border-border" : ""}`;
|
|
19136
19131
|
return /* @__PURE__ */ jsxs("div", {
|
|
19137
19132
|
className: "rounded-lg border border-border bg-surface overflow-hidden",
|
|
19138
19133
|
children: [collapsible ? /* @__PURE__ */ jsx("button", {
|
|
19139
19134
|
type: "button",
|
|
19140
|
-
|
|
19141
|
-
|
|
19135
|
+
"aria-expanded": open,
|
|
19136
|
+
onClick: toggle,
|
|
19137
|
+
className: `w-full gap-2 text-left ${headerClass}`,
|
|
19142
19138
|
children: headerInner
|
|
19143
19139
|
}) : /* @__PURE__ */ jsx("div", {
|
|
19144
19140
|
className: headerClass,
|
|
@@ -20499,6 +20495,60 @@ function useDeviceCapability(options) {
|
|
|
20499
20495
|
};
|
|
20500
20496
|
}
|
|
20501
20497
|
//#endregion
|
|
20498
|
+
//#region src/hooks/use-persisted-disclosure.ts
|
|
20499
|
+
/**
|
|
20500
|
+
* usePersistedDisclosure — an open / closed choice the viewer made, remembered
|
|
20501
|
+
* per viewer under the caller's key (one key per section and device).
|
|
20502
|
+
*
|
|
20503
|
+
* `null` means the viewer never chose. The caller then shows its own default,
|
|
20504
|
+
* which may follow the data (the Consumables section opens itself while an
|
|
20505
|
+
* item needs attention) — the default is never written, so it can change with
|
|
20506
|
+
* the data until the viewer picks.
|
|
20507
|
+
*
|
|
20508
|
+
* Storage is a convenience, never a requirement: every read and write is
|
|
20509
|
+
* guarded, and a blocked / private-mode storage means the choice lasts until
|
|
20510
|
+
* the page is left. A stored value this hook did not write is ignored.
|
|
20511
|
+
*/
|
|
20512
|
+
var OPEN = "open";
|
|
20513
|
+
var CLOSED = "closed";
|
|
20514
|
+
function readStored$1(key) {
|
|
20515
|
+
if (key === null || typeof window === "undefined") return null;
|
|
20516
|
+
try {
|
|
20517
|
+
const raw = window.localStorage.getItem(key);
|
|
20518
|
+
if (raw === OPEN) return true;
|
|
20519
|
+
if (raw === CLOSED) return false;
|
|
20520
|
+
return null;
|
|
20521
|
+
} catch {
|
|
20522
|
+
return null;
|
|
20523
|
+
}
|
|
20524
|
+
}
|
|
20525
|
+
function writeStored$1(key, open) {
|
|
20526
|
+
if (key === null || typeof window === "undefined") return;
|
|
20527
|
+
try {
|
|
20528
|
+
window.localStorage.setItem(key, open ? OPEN : CLOSED);
|
|
20529
|
+
} catch {}
|
|
20530
|
+
}
|
|
20531
|
+
/** @returns `[choice, setChoice]` — `choice` is `null` until the viewer picks. */
|
|
20532
|
+
function usePersistedDisclosure(storageKey) {
|
|
20533
|
+
const [choice, setChoice] = useState(() => ({
|
|
20534
|
+
key: storageKey,
|
|
20535
|
+
open: readStored$1(storageKey)
|
|
20536
|
+
}));
|
|
20537
|
+
const current = choice.key === storageKey ? choice : {
|
|
20538
|
+
key: storageKey,
|
|
20539
|
+
open: readStored$1(storageKey)
|
|
20540
|
+
};
|
|
20541
|
+
if (current !== choice) setChoice(current);
|
|
20542
|
+
const update = useCallback((open) => {
|
|
20543
|
+
setChoice({
|
|
20544
|
+
key: storageKey,
|
|
20545
|
+
open
|
|
20546
|
+
});
|
|
20547
|
+
writeStored$1(storageKey, open);
|
|
20548
|
+
}, [storageKey]);
|
|
20549
|
+
return [current.open, update];
|
|
20550
|
+
}
|
|
20551
|
+
//#endregion
|
|
20502
20552
|
//#region src/composites/consumable-level-badge.tsx
|
|
20503
20553
|
var LOOKS$1 = {
|
|
20504
20554
|
ok: {
|
|
@@ -20519,6 +20569,12 @@ var LOOKS$1 = {
|
|
|
20519
20569
|
labelKey: "uiLibrary.consumableLevel.empty",
|
|
20520
20570
|
labelFallback: "Empty"
|
|
20521
20571
|
},
|
|
20572
|
+
full: {
|
|
20573
|
+
variant: "warning",
|
|
20574
|
+
barClass: "bg-warning",
|
|
20575
|
+
labelKey: "uiLibrary.consumableLevel.full",
|
|
20576
|
+
labelFallback: "Full"
|
|
20577
|
+
},
|
|
20522
20578
|
unknown: {
|
|
20523
20579
|
variant: "neutral",
|
|
20524
20580
|
barClass: "bg-foreground-subtle",
|
|
@@ -20542,39 +20598,57 @@ function consumableLevelLabel(level, t) {
|
|
|
20542
20598
|
const look = lookOf(level);
|
|
20543
20599
|
return t(look.labelKey, look.labelFallback);
|
|
20544
20600
|
}
|
|
20545
|
-
/** A remaining-life % at or below this is `low`. */
|
|
20601
|
+
/** A remaining-life (or supply fill) % at or below this is `low`. */
|
|
20546
20602
|
var CONSUMABLE_LOW_PERCENT = 15;
|
|
20547
|
-
/**
|
|
20548
|
-
|
|
20549
|
-
|
|
20550
|
-
|
|
20551
|
-
|
|
20552
|
-
|
|
20553
|
-
|
|
20603
|
+
/** A waste item: full is bad, low or empty is what it should be. */
|
|
20604
|
+
function wasteLevel(item) {
|
|
20605
|
+
if (item.status === "full" || item.status === "replace") return "full";
|
|
20606
|
+
if (item.level !== null) return item.level >= 85 ? "full" : "ok";
|
|
20607
|
+
return item.status === null ? null : "ok";
|
|
20608
|
+
}
|
|
20609
|
+
/** A wear part or a supply: low / empty is bad, a full supply is fine. */
|
|
20610
|
+
function drawnLevel(item) {
|
|
20554
20611
|
if (item.level !== null) {
|
|
20555
|
-
if (item.level <= 0) return "empty";
|
|
20556
|
-
if (item.level <= 15 || item.status === "replace") return "low";
|
|
20612
|
+
if (item.level <= 0 || item.status === "empty") return "empty";
|
|
20613
|
+
if (item.level <= 15 || item.status === "replace" || item.status === "low") return "low";
|
|
20557
20614
|
return "ok";
|
|
20558
20615
|
}
|
|
20559
20616
|
switch (item.status) {
|
|
20560
|
-
case "replace":
|
|
20561
|
-
case "
|
|
20617
|
+
case "replace":
|
|
20618
|
+
case "low": return "low";
|
|
20619
|
+
case "empty": return "empty";
|
|
20620
|
+
case "ok":
|
|
20621
|
+
case "full": return "ok";
|
|
20562
20622
|
case null: return null;
|
|
20563
20623
|
}
|
|
20564
20624
|
}
|
|
20565
20625
|
/**
|
|
20626
|
+
* A `consumables` cap item as a level, by its kind (D915):
|
|
20627
|
+
* - a `waste` item (a dust bin) is `full` when the provider says so or its
|
|
20628
|
+
* fill is at or above {@link CONSUMABLE_FULL_PERCENT}, else ok;
|
|
20629
|
+
* - a `wear` part or a `supply` reads a known % (0 = empty, at or below
|
|
20630
|
+
* {@link CONSUMABLE_LOW_PERCENT} = low), never better than `low` when the
|
|
20631
|
+
* provider says `replace` or `low`; without a % its discrete status.
|
|
20632
|
+
* Nothing known is unknown (`null`).
|
|
20633
|
+
*/
|
|
20634
|
+
function consumableItemLevel(item) {
|
|
20635
|
+
return consumableKindOf(item) === "waste" ? wasteLevel(item) : drawnLevel(item);
|
|
20636
|
+
}
|
|
20637
|
+
/** The supply vocabulary a level FIELD of a cap is typed by: `ok | low | empty`. */
|
|
20638
|
+
var SUPPLY_LEVELS = ConsumableLevelSchema.exclude(["full"]).options;
|
|
20639
|
+
/**
|
|
20566
20640
|
* Whether a cap state field IS a consumable level: an enum whose members are
|
|
20567
|
-
* exactly the
|
|
20568
|
-
* cap that uses the
|
|
20641
|
+
* exactly the supply levels (`ok | low | empty`). Derived from the schema, so a
|
|
20642
|
+
* new cap that uses the vocabulary is recognised without naming it anywhere.
|
|
20569
20643
|
*/
|
|
20570
20644
|
function isConsumableLevelField(field) {
|
|
20571
20645
|
if (field.kind !== "enum" || field.enumValues === void 0) return false;
|
|
20572
|
-
const members =
|
|
20646
|
+
const members = SUPPLY_LEVELS;
|
|
20573
20647
|
return field.enumValues.length === members.length && members.every((m) => field.enumValues?.includes(m));
|
|
20574
20648
|
}
|
|
20575
20649
|
/** A value read from a slice as a level; anything that is not a member is unknown. */
|
|
20576
20650
|
function parseConsumableLevel(value) {
|
|
20577
|
-
const parsed =
|
|
20651
|
+
const parsed = ConsumableLevelSchema.safeParse(value);
|
|
20578
20652
|
return parsed.success ? parsed.data : null;
|
|
20579
20653
|
}
|
|
20580
20654
|
function ConsumableLevelBadge({ level, name, label, size = "md", className }) {
|
|
@@ -20589,26 +20663,50 @@ function ConsumableLevelBadge({ level, name, label, size = "md", className }) {
|
|
|
20589
20663
|
});
|
|
20590
20664
|
}
|
|
20591
20665
|
//#endregion
|
|
20592
|
-
//#region src/
|
|
20593
|
-
|
|
20594
|
-
|
|
20595
|
-
|
|
20596
|
-
|
|
20597
|
-
|
|
20598
|
-
|
|
20599
|
-
|
|
20600
|
-
|
|
20601
|
-
|
|
20602
|
-
|
|
20603
|
-
|
|
20604
|
-
|
|
20605
|
-
|
|
20606
|
-
|
|
20607
|
-
|
|
20608
|
-
|
|
20609
|
-
|
|
20610
|
-
|
|
20611
|
-
|
|
20666
|
+
//#region src/primitives/skeleton.tsx
|
|
20667
|
+
var Skeleton = forwardRef(({ className, ...props }, ref) => {
|
|
20668
|
+
return /* @__PURE__ */ jsx("div", {
|
|
20669
|
+
ref,
|
|
20670
|
+
className: cn("animate-pulse bg-surface-hover rounded-md h-4 w-full", className),
|
|
20671
|
+
...props
|
|
20672
|
+
});
|
|
20673
|
+
});
|
|
20674
|
+
Skeleton.displayName = "Skeleton";
|
|
20675
|
+
//#endregion
|
|
20676
|
+
//#region src/primitives/button.tsx
|
|
20677
|
+
var buttonVariants = cva("inline-flex items-center justify-center rounded-md font-medium transition-colors cursor-pointer disabled:opacity-50 disabled:pointer-events-none", {
|
|
20678
|
+
variants: {
|
|
20679
|
+
variant: {
|
|
20680
|
+
primary: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
20681
|
+
secondary: "bg-surface text-foreground hover:bg-surface-hover",
|
|
20682
|
+
ghost: "hover:bg-surface-hover text-foreground-muted",
|
|
20683
|
+
danger: "bg-danger text-white hover:bg-danger/90",
|
|
20684
|
+
outline: "border border-border bg-transparent text-foreground hover:bg-surface-hover"
|
|
20685
|
+
},
|
|
20686
|
+
size: {
|
|
20687
|
+
sm: "h-7 px-2.5 text-xs gap-1.5",
|
|
20688
|
+
md: "h-8 px-3 text-sm gap-2",
|
|
20689
|
+
lg: "h-9 px-4 text-sm gap-2"
|
|
20690
|
+
}
|
|
20691
|
+
},
|
|
20692
|
+
defaultVariants: {
|
|
20693
|
+
variant: "primary",
|
|
20694
|
+
size: "sm"
|
|
20695
|
+
}
|
|
20696
|
+
});
|
|
20697
|
+
var Button = forwardRef(({ className, variant, size, ...props }, ref) => {
|
|
20698
|
+
return /* @__PURE__ */ jsx("button", {
|
|
20699
|
+
ref,
|
|
20700
|
+
className: cn(buttonVariants({
|
|
20701
|
+
variant,
|
|
20702
|
+
size
|
|
20703
|
+
}), className),
|
|
20704
|
+
...props
|
|
20705
|
+
});
|
|
20706
|
+
});
|
|
20707
|
+
Button.displayName = "Button";
|
|
20708
|
+
//#endregion
|
|
20709
|
+
//#region src/composites/cap-settings/consumable-rows.tsx
|
|
20612
20710
|
/** `value` null = unknown (D393) — renders an em-dash, never a fake `0`. */
|
|
20613
20711
|
function formatRemaining(t, r) {
|
|
20614
20712
|
if (r.value === null) return "—";
|
|
@@ -20640,55 +20738,278 @@ function formatResetAt(ms) {
|
|
|
20640
20738
|
return "";
|
|
20641
20739
|
}
|
|
20642
20740
|
}
|
|
20643
|
-
function
|
|
20741
|
+
function needsAttention(level) {
|
|
20742
|
+
return level === "low" || level === "empty" || level === "full";
|
|
20743
|
+
}
|
|
20744
|
+
function clampPercent(value) {
|
|
20745
|
+
return Math.max(0, Math.min(100, value));
|
|
20746
|
+
}
|
|
20747
|
+
function RowFrame({ item, warn, children }) {
|
|
20748
|
+
return /* @__PURE__ */ jsx("div", {
|
|
20749
|
+
"data-form": consumableFormOf(item),
|
|
20750
|
+
className: `flex gap-2.5 rounded-md border p-3 ${warn ? "border-warning/40 bg-warning/5" : "border-border-subtle"}`,
|
|
20751
|
+
children
|
|
20752
|
+
});
|
|
20753
|
+
}
|
|
20754
|
+
function RowLabel({ item, warn }) {
|
|
20755
|
+
return /* @__PURE__ */ jsx("span", {
|
|
20756
|
+
className: `truncate text-xs font-semibold ${warn ? "text-warning" : "text-foreground"}`,
|
|
20757
|
+
children: item.label
|
|
20758
|
+
});
|
|
20759
|
+
}
|
|
20760
|
+
/** A wear part: bar + %, or its verdict; remaining time; the reset. */
|
|
20761
|
+
function PartRow({ item, busy, canReset, onReset }) {
|
|
20644
20762
|
const t = useUiText();
|
|
20645
20763
|
const level = consumableItemLevel(item);
|
|
20646
|
-
const warn = level
|
|
20647
|
-
return /* @__PURE__ */
|
|
20648
|
-
|
|
20649
|
-
|
|
20650
|
-
|
|
20651
|
-
|
|
20652
|
-
|
|
20653
|
-
|
|
20654
|
-
|
|
20655
|
-
|
|
20764
|
+
const warn = needsAttention(level);
|
|
20765
|
+
return /* @__PURE__ */ jsx(RowFrame, {
|
|
20766
|
+
item,
|
|
20767
|
+
warn,
|
|
20768
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
20769
|
+
className: "flex min-w-0 flex-1 flex-col gap-1.5",
|
|
20770
|
+
children: [
|
|
20771
|
+
/* @__PURE__ */ jsx(RowLabel, {
|
|
20772
|
+
item,
|
|
20773
|
+
warn
|
|
20774
|
+
}),
|
|
20775
|
+
item.level !== null ? /* @__PURE__ */ jsxs("div", {
|
|
20776
|
+
className: "flex items-center gap-2",
|
|
20777
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
20778
|
+
className: "h-1.5 flex-1 overflow-hidden rounded-full bg-surface-hover",
|
|
20779
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
20780
|
+
className: `h-full rounded-full ${consumableLevelBarClass(level)} transition-all`,
|
|
20781
|
+
style: { width: `${clampPercent(item.level)}%` }
|
|
20782
|
+
})
|
|
20783
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
20784
|
+
className: "text-[10px] font-medium tabular-nums text-foreground-subtle",
|
|
20785
|
+
children: [Math.round(item.level), "%"]
|
|
20786
|
+
})]
|
|
20787
|
+
}) : /* @__PURE__ */ jsx(ConsumableLevelBadge, {
|
|
20788
|
+
level,
|
|
20789
|
+
size: "sm",
|
|
20790
|
+
className: "w-fit",
|
|
20791
|
+
label: item.status === "replace" ? t("uiLibrary.consumablesPanel.replace", "Replace") : void 0
|
|
20792
|
+
}),
|
|
20793
|
+
item.remaining && /* @__PURE__ */ jsx("span", {
|
|
20794
|
+
className: "text-[10px] font-medium tabular-nums text-foreground-subtle",
|
|
20795
|
+
children: formatRemaining(t, item.remaining)
|
|
20796
|
+
}),
|
|
20797
|
+
item.lastResetAt !== null && /* @__PURE__ */ jsx("span", {
|
|
20798
|
+
className: "text-[10px] text-foreground-subtle",
|
|
20799
|
+
children: t("uiLibrary.consumablesPanel.replacedOn", "Replaced {{date}}", { date: formatResetAt(item.lastResetAt) })
|
|
20800
|
+
}),
|
|
20801
|
+
item.resettable && /* @__PURE__ */ jsx(Button, {
|
|
20656
20802
|
type: "button",
|
|
20803
|
+
variant: "outline",
|
|
20804
|
+
size: "sm",
|
|
20805
|
+
className: "w-fit",
|
|
20657
20806
|
onClick: () => onReset(item.key),
|
|
20658
20807
|
disabled: busy || !canReset,
|
|
20659
|
-
className: "rounded-md border border-border bg-surface px-2 py-0.5 text-[10px] font-medium text-foreground-subtle hover:bg-surface-hover disabled:opacity-40 transition-colors",
|
|
20660
20808
|
children: t("uiLibrary.consumablesPanel.replaced", "Replaced")
|
|
20661
|
-
})
|
|
20662
|
-
|
|
20663
|
-
|
|
20809
|
+
})
|
|
20810
|
+
]
|
|
20811
|
+
})
|
|
20812
|
+
});
|
|
20813
|
+
}
|
|
20814
|
+
/** A tank or a bin: a vertical gauge filled from the bottom, then the % or the verdict. */
|
|
20815
|
+
function GaugeRow({ item }) {
|
|
20816
|
+
const level = consumableItemLevel(item);
|
|
20817
|
+
const warn = needsAttention(level);
|
|
20818
|
+
return /* @__PURE__ */ jsxs(RowFrame, {
|
|
20819
|
+
item,
|
|
20820
|
+
warn,
|
|
20821
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
20822
|
+
className: "relative h-10 w-3 shrink-0 overflow-hidden rounded-sm border border-border bg-surface-hover",
|
|
20823
|
+
"data-testid": "consumable-gauge",
|
|
20824
|
+
children: item.level !== null && /* @__PURE__ */ jsx("div", {
|
|
20825
|
+
className: `absolute inset-x-0 bottom-0 ${consumableLevelBarClass(level)} transition-all`,
|
|
20826
|
+
style: { height: `${clampPercent(item.level)}%` }
|
|
20827
|
+
})
|
|
20828
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
20829
|
+
className: "flex min-w-0 flex-1 flex-col justify-center gap-1",
|
|
20830
|
+
children: [/* @__PURE__ */ jsx(RowLabel, {
|
|
20831
|
+
item,
|
|
20832
|
+
warn
|
|
20833
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
20664
20834
|
className: "flex items-center gap-2",
|
|
20665
|
-
children: [/* @__PURE__ */ jsx(
|
|
20666
|
-
|
|
20667
|
-
|
|
20668
|
-
|
|
20669
|
-
|
|
20670
|
-
})
|
|
20671
|
-
}), /* @__PURE__ */ jsxs("span", {
|
|
20835
|
+
children: [/* @__PURE__ */ jsx(ConsumableLevelBadge, {
|
|
20836
|
+
level,
|
|
20837
|
+
size: "sm",
|
|
20838
|
+
className: "w-fit"
|
|
20839
|
+
}), item.level !== null && /* @__PURE__ */ jsxs("span", {
|
|
20672
20840
|
className: "text-[10px] font-medium tabular-nums text-foreground-subtle",
|
|
20673
20841
|
children: [Math.round(item.level), "%"]
|
|
20674
20842
|
})]
|
|
20675
|
-
})
|
|
20676
|
-
|
|
20677
|
-
|
|
20678
|
-
|
|
20679
|
-
|
|
20680
|
-
|
|
20681
|
-
|
|
20682
|
-
|
|
20683
|
-
|
|
20684
|
-
|
|
20685
|
-
|
|
20686
|
-
|
|
20687
|
-
|
|
20688
|
-
|
|
20689
|
-
|
|
20843
|
+
})]
|
|
20844
|
+
})]
|
|
20845
|
+
});
|
|
20846
|
+
}
|
|
20847
|
+
/** How many of the three steps a product's level fills. */
|
|
20848
|
+
var PRODUCT_STEPS = {
|
|
20849
|
+
full: 3,
|
|
20850
|
+
ok: 3,
|
|
20851
|
+
low: 1,
|
|
20852
|
+
empty: 0,
|
|
20853
|
+
unknown: 0
|
|
20854
|
+
};
|
|
20855
|
+
var STEP_INDEXES = [
|
|
20856
|
+
0,
|
|
20857
|
+
1,
|
|
20858
|
+
2
|
|
20859
|
+
];
|
|
20860
|
+
/** The refill wording a product's level reads as. */
|
|
20861
|
+
function productLabel(level, t) {
|
|
20862
|
+
if (level === "low") return t("uiLibrary.consumablesPanel.refillSoon", "Refill soon");
|
|
20863
|
+
if (level === "empty") return t("uiLibrary.consumablesPanel.refillNow", "Refill now");
|
|
20864
|
+
}
|
|
20865
|
+
/** A product bought and refilled: package icon, three steps, "refill". */
|
|
20866
|
+
function ProductRow({ item }) {
|
|
20867
|
+
const t = useUiText();
|
|
20868
|
+
const level = consumableItemLevel(item);
|
|
20869
|
+
const warn = needsAttention(level);
|
|
20870
|
+
const filled = PRODUCT_STEPS[level ?? "unknown"];
|
|
20871
|
+
return /* @__PURE__ */ jsxs(RowFrame, {
|
|
20872
|
+
item,
|
|
20873
|
+
warn,
|
|
20874
|
+
children: [/* @__PURE__ */ jsx(Package, { className: `mt-0.5 h-4 w-4 shrink-0 ${warn ? "text-warning" : "text-foreground-subtle"}` }), /* @__PURE__ */ jsxs("div", {
|
|
20875
|
+
className: "flex min-w-0 flex-1 flex-col gap-1.5",
|
|
20876
|
+
children: [/* @__PURE__ */ jsx(RowLabel, {
|
|
20877
|
+
item,
|
|
20878
|
+
warn
|
|
20879
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
20880
|
+
className: "flex flex-wrap items-center gap-2",
|
|
20881
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
20882
|
+
className: "flex gap-0.5",
|
|
20883
|
+
"data-testid": "consumable-steps",
|
|
20884
|
+
"data-filled": filled,
|
|
20885
|
+
children: STEP_INDEXES.map((i) => /* @__PURE__ */ jsx("span", { className: `h-1.5 w-3 rounded-full ${i < filled ? consumableLevelBarClass(level) : "bg-surface-hover"}` }, i))
|
|
20886
|
+
}), /* @__PURE__ */ jsx(ConsumableLevelBadge, {
|
|
20887
|
+
level,
|
|
20888
|
+
size: "sm",
|
|
20889
|
+
className: "whitespace-nowrap",
|
|
20890
|
+
label: productLabel(level, t)
|
|
20891
|
+
})]
|
|
20892
|
+
})]
|
|
20893
|
+
})]
|
|
20690
20894
|
});
|
|
20691
20895
|
}
|
|
20896
|
+
/** The row for an item, chosen by its form. */
|
|
20897
|
+
function ConsumableRow(props) {
|
|
20898
|
+
switch (consumableFormOf(props.item)) {
|
|
20899
|
+
case "part": return /* @__PURE__ */ jsx(PartRow, { ...props });
|
|
20900
|
+
case "tank":
|
|
20901
|
+
case "bin": return /* @__PURE__ */ jsx(GaugeRow, { item: props.item });
|
|
20902
|
+
case "product": return /* @__PURE__ */ jsx(ProductRow, { item: props.item });
|
|
20903
|
+
}
|
|
20904
|
+
}
|
|
20905
|
+
//#endregion
|
|
20906
|
+
//#region src/composites/cap-settings/consumables-summary.ts
|
|
20907
|
+
var SEVERITY = {
|
|
20908
|
+
empty: 3,
|
|
20909
|
+
full: 2,
|
|
20910
|
+
low: 1
|
|
20911
|
+
};
|
|
20912
|
+
function isAttention(level) {
|
|
20913
|
+
return level === "low" || level === "empty" || level === "full";
|
|
20914
|
+
}
|
|
20915
|
+
function summarizeConsumables(items) {
|
|
20916
|
+
if (items.length === 0) return {
|
|
20917
|
+
kind: "none",
|
|
20918
|
+
needsAttention: false
|
|
20919
|
+
};
|
|
20920
|
+
const attention = [];
|
|
20921
|
+
let ok = 0;
|
|
20922
|
+
let unknown = 0;
|
|
20923
|
+
for (const item of items) {
|
|
20924
|
+
const level = consumableItemLevel(item);
|
|
20925
|
+
if (isAttention(level)) attention.push({
|
|
20926
|
+
label: item.label,
|
|
20927
|
+
level,
|
|
20928
|
+
replace: item.status === "replace"
|
|
20929
|
+
});
|
|
20930
|
+
else if (level === "ok") ok += 1;
|
|
20931
|
+
else unknown += 1;
|
|
20932
|
+
}
|
|
20933
|
+
const worst = [...attention].sort((a, b) => SEVERITY[b.level] - SEVERITY[a.level])[0];
|
|
20934
|
+
if (worst !== void 0) return {
|
|
20935
|
+
kind: "attention",
|
|
20936
|
+
needsAttention: true,
|
|
20937
|
+
count: attention.length,
|
|
20938
|
+
worst
|
|
20939
|
+
};
|
|
20940
|
+
return unknown === 0 ? {
|
|
20941
|
+
kind: "ok",
|
|
20942
|
+
needsAttention: false,
|
|
20943
|
+
count: ok
|
|
20944
|
+
} : {
|
|
20945
|
+
kind: "partial",
|
|
20946
|
+
needsAttention: false,
|
|
20947
|
+
ok,
|
|
20948
|
+
unknown
|
|
20949
|
+
};
|
|
20950
|
+
}
|
|
20951
|
+
//#endregion
|
|
20952
|
+
//#region src/composites/cap-settings/ConsumablesPanel.tsx
|
|
20953
|
+
/**
|
|
20954
|
+
* ConsumablesPanel — the ONE consumables surface of every device (D915): wear
|
|
20955
|
+
* parts, tanks (a vacuum's clean and dirty water), products (detergent, a
|
|
20956
|
+
* dishwasher's salt and rinse aid) and bins (a dust bin), for whichever device
|
|
20957
|
+
* is bound to the `consumables` capability. A cap-settings component
|
|
20958
|
+
* (ui-library), shown directly under the device page's hero card through the
|
|
20959
|
+
* cap-UI contribution mechanism (the cap declares
|
|
20960
|
+
* `ui: { kind:'widget', widgetId:'host/consumables-panel', placement:'hero', ... }`)
|
|
20961
|
+
* — never drawn by a device type's hero card itself.
|
|
20962
|
+
*
|
|
20963
|
+
* Reads the cap's pushed runtime-state slice via `useDeviceCapability` and
|
|
20964
|
+
* renders one row per item, drawn by its form (`consumable-rows.tsx`). A
|
|
20965
|
+
* slice that has not landed is a loading line, never "none reported" (D315).
|
|
20966
|
+
*
|
|
20967
|
+
* The section COLLAPSES smartly: it starts open while any item needs
|
|
20968
|
+
* attention (low, empty, a full bin or waste tank, a part to replace) and
|
|
20969
|
+
* closed while every item is ok or unknown; closed, its header carries a
|
|
20970
|
+
* one-line summary (`consumables-summary.ts`). The operator's own toggle wins
|
|
20971
|
+
* and is remembered per device and per viewer.
|
|
20972
|
+
*/
|
|
20973
|
+
/** Where one viewer's open / closed choice for one device's section is kept. */
|
|
20974
|
+
function consumablesOpenStorageKey(deviceId) {
|
|
20975
|
+
return `camstack.device.${String(deviceId)}.consumables.open`;
|
|
20976
|
+
}
|
|
20977
|
+
/** The one line a collapsed section says. */
|
|
20978
|
+
function SummaryLine({ summary, t }) {
|
|
20979
|
+
switch (summary.kind) {
|
|
20980
|
+
case "none": return /* @__PURE__ */ jsx(Badge, {
|
|
20981
|
+
variant: "neutral",
|
|
20982
|
+
size: "sm",
|
|
20983
|
+
children: t("uiLibrary.consumablesPanel.noneReported", "None reported")
|
|
20984
|
+
});
|
|
20985
|
+
case "ok": return /* @__PURE__ */ jsx(Badge, {
|
|
20986
|
+
variant: "success",
|
|
20987
|
+
size: "sm",
|
|
20988
|
+
children: t("uiLibrary.consumablesPanel.allOk", "All OK")
|
|
20989
|
+
});
|
|
20990
|
+
case "partial": return /* @__PURE__ */ jsx(Badge, {
|
|
20991
|
+
variant: "neutral",
|
|
20992
|
+
size: "sm",
|
|
20993
|
+
children: t("uiLibrary.consumablesPanel.okAndUnknown", "{{ok}} OK · {{unknown}} unknown", {
|
|
20994
|
+
ok: summary.ok,
|
|
20995
|
+
unknown: summary.unknown
|
|
20996
|
+
})
|
|
20997
|
+
});
|
|
20998
|
+
case "attention": return summary.count === 1 ? /* @__PURE__ */ jsx(ConsumableLevelBadge, {
|
|
20999
|
+
level: summary.worst.level,
|
|
21000
|
+
name: summary.worst.label,
|
|
21001
|
+
size: "sm",
|
|
21002
|
+
label: summary.worst.replace ? t("uiLibrary.consumablesPanel.replace", "Replace") : void 0
|
|
21003
|
+
}) : /* @__PURE__ */ jsx(Badge, {
|
|
21004
|
+
variant: consumableLevelVariant(summary.worst.level),
|
|
21005
|
+
size: "sm",
|
|
21006
|
+
children: t("uiLibrary.consumablesPanel.needAttention", {
|
|
21007
|
+
one: "{{count}} needs attention",
|
|
21008
|
+
other: "{{count}} need attention"
|
|
21009
|
+
}, { count: summary.count })
|
|
21010
|
+
});
|
|
21011
|
+
}
|
|
21012
|
+
}
|
|
20692
21013
|
function ConsumablesPanel({ deviceId }) {
|
|
20693
21014
|
const t = useUiText();
|
|
20694
21015
|
const system = useSystem();
|
|
@@ -20700,6 +21021,7 @@ function ConsumablesPanel({ deviceId }) {
|
|
|
20700
21021
|
slice: (d) => d.state.consumables
|
|
20701
21022
|
});
|
|
20702
21023
|
const [busyKey, setBusyKey] = useState(null);
|
|
21024
|
+
const [choice, setChoice] = usePersistedDisclosure(ready ? consumablesOpenStorageKey(deviceId) : null);
|
|
20703
21025
|
const onReset = useCallback(async (key) => {
|
|
20704
21026
|
if (!cap) return;
|
|
20705
21027
|
setBusyKey(key);
|
|
@@ -20711,17 +21033,30 @@ function ConsumablesPanel({ deviceId }) {
|
|
|
20711
21033
|
setBusyKey(null);
|
|
20712
21034
|
}
|
|
20713
21035
|
}, [cap]);
|
|
20714
|
-
const
|
|
21036
|
+
const summary = slice === void 0 ? null : summarizeConsumables(slice.items);
|
|
21037
|
+
const open = choice ?? summary?.needsAttention ?? false;
|
|
21038
|
+
const loading = /* @__PURE__ */ jsx(Skeleton, {
|
|
21039
|
+
className: open ? "h-10 w-full" : "h-4 w-16",
|
|
21040
|
+
"data-testid": "consumables-loading",
|
|
21041
|
+
"aria-label": t("uiLibrary.consumablesPanel.loading", "Reading consumables…")
|
|
21042
|
+
});
|
|
20715
21043
|
return /* @__PURE__ */ jsx(WidgetPanel, {
|
|
20716
21044
|
title: t("uiLibrary.consumablesPanel.title", "Consumables"),
|
|
20717
21045
|
icon: /* @__PURE__ */ jsx(Gauge, { className: "h-3.5 w-3.5 text-foreground-subtle" }),
|
|
20718
21046
|
bodyClassName: "p-3 overflow-y-auto",
|
|
20719
|
-
|
|
21047
|
+
collapsible: true,
|
|
21048
|
+
open,
|
|
21049
|
+
onOpenChange: setChoice,
|
|
21050
|
+
headerRight: open ? void 0 : summary === null ? loading : /* @__PURE__ */ jsx(SummaryLine, {
|
|
21051
|
+
summary,
|
|
21052
|
+
t
|
|
21053
|
+
}),
|
|
21054
|
+
children: slice === void 0 ? loading : slice.items.length === 0 ? /* @__PURE__ */ jsx("p", {
|
|
20720
21055
|
className: "text-[11px] text-foreground-subtle italic leading-relaxed",
|
|
20721
21056
|
children: t("uiLibrary.consumablesPanel.empty", "No consumables reported.")
|
|
20722
21057
|
}) : /* @__PURE__ */ jsx("div", {
|
|
20723
|
-
className: "
|
|
20724
|
-
children: items.map((item) => /* @__PURE__ */ jsx(ConsumableRow, {
|
|
21058
|
+
className: "grid grid-cols-1 gap-2 sm:grid-cols-2",
|
|
21059
|
+
children: slice.items.map((item) => /* @__PURE__ */ jsx(ConsumableRow, {
|
|
20725
21060
|
item,
|
|
20726
21061
|
busy: busyKey === item.key,
|
|
20727
21062
|
canReset: available,
|
|
@@ -20761,49 +21096,6 @@ function useCapabilityPresence(capabilityName) {
|
|
|
20761
21096
|
return classifyCapability(query.data);
|
|
20762
21097
|
}
|
|
20763
21098
|
//#endregion
|
|
20764
|
-
//#region src/primitives/button.tsx
|
|
20765
|
-
var buttonVariants = cva("inline-flex items-center justify-center rounded-md font-medium transition-colors cursor-pointer disabled:opacity-50 disabled:pointer-events-none", {
|
|
20766
|
-
variants: {
|
|
20767
|
-
variant: {
|
|
20768
|
-
primary: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
20769
|
-
secondary: "bg-surface text-foreground hover:bg-surface-hover",
|
|
20770
|
-
ghost: "hover:bg-surface-hover text-foreground-muted",
|
|
20771
|
-
danger: "bg-danger text-white hover:bg-danger/90",
|
|
20772
|
-
outline: "border border-border bg-transparent text-foreground hover:bg-surface-hover"
|
|
20773
|
-
},
|
|
20774
|
-
size: {
|
|
20775
|
-
sm: "h-7 px-2.5 text-xs gap-1.5",
|
|
20776
|
-
md: "h-8 px-3 text-sm gap-2",
|
|
20777
|
-
lg: "h-9 px-4 text-sm gap-2"
|
|
20778
|
-
}
|
|
20779
|
-
},
|
|
20780
|
-
defaultVariants: {
|
|
20781
|
-
variant: "primary",
|
|
20782
|
-
size: "sm"
|
|
20783
|
-
}
|
|
20784
|
-
});
|
|
20785
|
-
var Button = forwardRef(({ className, variant, size, ...props }, ref) => {
|
|
20786
|
-
return /* @__PURE__ */ jsx("button", {
|
|
20787
|
-
ref,
|
|
20788
|
-
className: cn(buttonVariants({
|
|
20789
|
-
variant,
|
|
20790
|
-
size
|
|
20791
|
-
}), className),
|
|
20792
|
-
...props
|
|
20793
|
-
});
|
|
20794
|
-
});
|
|
20795
|
-
Button.displayName = "Button";
|
|
20796
|
-
//#endregion
|
|
20797
|
-
//#region src/primitives/skeleton.tsx
|
|
20798
|
-
var Skeleton = forwardRef(({ className, ...props }, ref) => {
|
|
20799
|
-
return /* @__PURE__ */ jsx("div", {
|
|
20800
|
-
ref,
|
|
20801
|
-
className: cn("animate-pulse bg-surface-hover rounded-md h-4 w-full", className),
|
|
20802
|
-
...props
|
|
20803
|
-
});
|
|
20804
|
-
});
|
|
20805
|
-
Skeleton.displayName = "Skeleton";
|
|
20806
|
-
//#endregion
|
|
20807
21099
|
//#region src/composites/cap-settings/recording-timeline-model.ts
|
|
20808
21100
|
/** Tie-break precedence for a bucket's dominant kind (first wins on equal count). */
|
|
20809
21101
|
var KIND_PRECEDENCE = [
|
|
@@ -27628,7 +27920,7 @@ function RecordingPanel({ deviceId }) {
|
|
|
27628
27920
|
* Module-Federation `WidgetRegistry`. ids are namespaced `host/<name>`. */
|
|
27629
27921
|
var HOST_WIDGETS = {
|
|
27630
27922
|
"host/motion-zones-grid": lazy(() => import("./MotionZonesSettings-DR1g9ja3.js").then((m) => ({ default: m.MotionZonesSettings }))),
|
|
27631
|
-
"host/privacy-mask-grid": lazy(() => import("./PrivacyMaskSettings-
|
|
27923
|
+
"host/privacy-mask-grid": lazy(() => import("./PrivacyMaskSettings-C9wfHkiB.js").then((m) => ({ default: m.PrivacyMaskSettings }))),
|
|
27632
27924
|
"host/ptz-panel": PtzPanel,
|
|
27633
27925
|
"host/navigation-panel": NavigationPanel,
|
|
27634
27926
|
"host/consumables-panel": ConsumablesPanel,
|
|
@@ -47078,147 +47370,6 @@ function BatteryBadge$2({ level }) {
|
|
|
47078
47370
|
});
|
|
47079
47371
|
}
|
|
47080
47372
|
/**
|
|
47081
|
-
* Pure helper — partitions a tank kind into "supply" (low is bad) vs
|
|
47082
|
-
* "waste" (full is bad) via an exhaustive switch. A future TankKind that
|
|
47083
|
-
* forgets to classify itself fails the build (the `never` default arm),
|
|
47084
|
-
* rather than silently defaulting to the waste branch.
|
|
47085
|
-
*/
|
|
47086
|
-
function tankIsSupply(kind) {
|
|
47087
|
-
switch (kind) {
|
|
47088
|
-
case "cleanWater": return true;
|
|
47089
|
-
case "detergent": return true;
|
|
47090
|
-
case "dirtyWater": return false;
|
|
47091
|
-
case "dustBin": return false;
|
|
47092
|
-
default: return kind;
|
|
47093
|
-
}
|
|
47094
|
-
}
|
|
47095
|
-
/**
|
|
47096
|
-
* Pure helper — classifies a tank as `ok` or `warning`.
|
|
47097
|
-
*
|
|
47098
|
-
* Clean-water + detergent are "supply" tanks: low is bad. Dirty-water +
|
|
47099
|
-
* dust-bin are "waste" tanks: full is bad. Prefers the numeric `level`
|
|
47100
|
-
* (thresholds 15 / 85), falling back to the discrete `status` flag. Both
|
|
47101
|
-
* unknown → `ok`. Exhaustive over TankKind.
|
|
47102
|
-
*/
|
|
47103
|
-
function tankAlert(kind, tank) {
|
|
47104
|
-
const isSupply = tankIsSupply(kind);
|
|
47105
|
-
if (tank.level !== null) {
|
|
47106
|
-
if (isSupply) return tank.level <= 15 ? "warning" : "ok";
|
|
47107
|
-
return tank.level >= 85 ? "warning" : "ok";
|
|
47108
|
-
}
|
|
47109
|
-
if (tank.status !== null) {
|
|
47110
|
-
if (isSupply) return tank.status === "low" ? "warning" : "ok";
|
|
47111
|
-
return tank.status === "full" ? "warning" : "ok";
|
|
47112
|
-
}
|
|
47113
|
-
return "ok";
|
|
47114
|
-
}
|
|
47115
|
-
function tankMeta(t, kind) {
|
|
47116
|
-
switch (kind) {
|
|
47117
|
-
case "cleanWater": return {
|
|
47118
|
-
label: t("uiLibrary.vacuum.cleanWater", "Clean water"),
|
|
47119
|
-
icon: /* @__PURE__ */ jsx(Droplet, { className: "h-3.5 w-3.5" })
|
|
47120
|
-
};
|
|
47121
|
-
case "dirtyWater": return {
|
|
47122
|
-
label: t("uiLibrary.vacuum.dirtyWater", "Dirty water"),
|
|
47123
|
-
icon: /* @__PURE__ */ jsx(Droplets, { className: "h-3.5 w-3.5" })
|
|
47124
|
-
};
|
|
47125
|
-
case "detergent": return {
|
|
47126
|
-
label: t("uiLibrary.vacuum.detergent", "Detergent"),
|
|
47127
|
-
icon: /* @__PURE__ */ jsx(FlaskConical, { className: "h-3.5 w-3.5" })
|
|
47128
|
-
};
|
|
47129
|
-
case "dustBin": return {
|
|
47130
|
-
label: t("uiLibrary.vacuum.dustBin", "Dust bin"),
|
|
47131
|
-
icon: /* @__PURE__ */ jsx(Trash2, { className: "h-3.5 w-3.5" })
|
|
47132
|
-
};
|
|
47133
|
-
default: return kind;
|
|
47134
|
-
}
|
|
47135
|
-
}
|
|
47136
|
-
/**
|
|
47137
|
-
* TankIndicator — one tank row: label + glyph, then a fill bar (numeric
|
|
47138
|
-
* level) or a status pill (discrete), tinted by `tankAlert`. Renders
|
|
47139
|
-
* nothing only when the tank is absent (null). A PRESENT tank whose
|
|
47140
|
-
* reading is unknown (both fields null) still renders a neutral row with
|
|
47141
|
-
* an em-dash placeholder, so the user always sees which tanks the robot
|
|
47142
|
-
* has (Dreame reports presence but no fill telemetry).
|
|
47143
|
-
*/
|
|
47144
|
-
function TankIndicator({ kind, tank }) {
|
|
47145
|
-
const t = useUiText();
|
|
47146
|
-
if (tank === null) return null;
|
|
47147
|
-
const meta = tankMeta(t, kind);
|
|
47148
|
-
const warning = tankAlert(kind, tank) === "warning";
|
|
47149
|
-
if (tank.level !== null) return /* @__PURE__ */ jsxs("div", {
|
|
47150
|
-
className: "flex items-center gap-2 text-xs",
|
|
47151
|
-
children: [
|
|
47152
|
-
/* @__PURE__ */ jsxs("span", {
|
|
47153
|
-
className: cn("inline-flex items-center gap-1 w-24 shrink-0", warning ? "text-warning" : "text-foreground-subtle"),
|
|
47154
|
-
children: [meta.icon, meta.label]
|
|
47155
|
-
}),
|
|
47156
|
-
/* @__PURE__ */ jsx("span", {
|
|
47157
|
-
className: "relative h-1.5 flex-1 overflow-hidden rounded-full bg-surface-hover",
|
|
47158
|
-
children: /* @__PURE__ */ jsx("span", {
|
|
47159
|
-
className: cn("absolute inset-y-0 left-0 rounded-full transition-all", warning ? "bg-warning" : "bg-primary"),
|
|
47160
|
-
style: { width: `${tank.level}%` }
|
|
47161
|
-
})
|
|
47162
|
-
}),
|
|
47163
|
-
/* @__PURE__ */ jsxs("span", {
|
|
47164
|
-
className: cn("tabular-nums w-9 text-right", warning ? "text-warning" : "text-foreground-subtle"),
|
|
47165
|
-
children: [tank.level, "%"]
|
|
47166
|
-
})
|
|
47167
|
-
]
|
|
47168
|
-
});
|
|
47169
|
-
if (tank.status !== null) return /* @__PURE__ */ jsxs("div", {
|
|
47170
|
-
className: "flex items-center gap-2 text-xs",
|
|
47171
|
-
children: [/* @__PURE__ */ jsxs("span", {
|
|
47172
|
-
className: cn("inline-flex items-center gap-1 w-24 shrink-0", warning ? "text-warning" : "text-foreground-subtle"),
|
|
47173
|
-
children: [meta.icon, meta.label]
|
|
47174
|
-
}), /* @__PURE__ */ jsx(ConsumableLevelBadge, {
|
|
47175
|
-
level: warning ? "low" : "ok",
|
|
47176
|
-
label: tankStatusLabel(t, tank.status),
|
|
47177
|
-
size: "sm"
|
|
47178
|
-
})]
|
|
47179
|
-
});
|
|
47180
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
47181
|
-
className: "flex items-center gap-2 text-xs",
|
|
47182
|
-
children: [/* @__PURE__ */ jsxs("span", {
|
|
47183
|
-
className: "inline-flex items-center gap-1 w-24 shrink-0 text-foreground-subtle",
|
|
47184
|
-
children: [meta.icon, meta.label]
|
|
47185
|
-
}), /* @__PURE__ */ jsx(ConsumableLevelBadge, {
|
|
47186
|
-
level: null,
|
|
47187
|
-
size: "sm"
|
|
47188
|
-
})]
|
|
47189
|
-
});
|
|
47190
|
-
}
|
|
47191
|
-
/** A tank's discrete reading in words; the tone is `tankAlert`'s (a full waste tank warns, a full supply tank does not). */
|
|
47192
|
-
function tankStatusLabel(t, status) {
|
|
47193
|
-
switch (status) {
|
|
47194
|
-
case "ok": return consumableLevelLabel("ok", t);
|
|
47195
|
-
case "low": return consumableLevelLabel("low", t);
|
|
47196
|
-
case "full": return t("uiLibrary.vacuum.tankFull", "Full");
|
|
47197
|
-
}
|
|
47198
|
-
}
|
|
47199
|
-
/**
|
|
47200
|
-
* TanksRow — compact 2-column grid of the present tanks for the vacuum
|
|
47201
|
-
* hero. Absent tanks (null) are skipped; every PRESENT tank is shown, even
|
|
47202
|
-
* when its reading is unknown (`{level:null,status:null}`) — it renders a
|
|
47203
|
-
* neutral em-dash row. The row renders iff the robot has at least one tank.
|
|
47204
|
-
*/
|
|
47205
|
-
function TanksRow({ cleanWater, dirtyWater, detergent, dustBin }) {
|
|
47206
|
-
const tanks = [
|
|
47207
|
-
["cleanWater", cleanWater],
|
|
47208
|
-
["dirtyWater", dirtyWater],
|
|
47209
|
-
["detergent", detergent],
|
|
47210
|
-
["dustBin", dustBin]
|
|
47211
|
-
];
|
|
47212
|
-
if (!tanks.some(([, t]) => t !== null)) return null;
|
|
47213
|
-
return /* @__PURE__ */ jsx("div", {
|
|
47214
|
-
className: "grid grid-cols-1 gap-x-6 gap-y-2 rounded-md border border-border bg-surface-hover/40 p-3 sm:grid-cols-2",
|
|
47215
|
-
children: tanks.map(([kind, tank]) => /* @__PURE__ */ jsx(TankIndicator, {
|
|
47216
|
-
kind,
|
|
47217
|
-
tank
|
|
47218
|
-
}, kind))
|
|
47219
|
-
});
|
|
47220
|
-
}
|
|
47221
|
-
/**
|
|
47222
47373
|
* VacuumInlineControl — compact, state-aware vacuum controls for a
|
|
47223
47374
|
* device-list row. Start / Pause / Return-to-base + battery badge.
|
|
47224
47375
|
*/
|
|
@@ -47300,114 +47451,105 @@ function VacuumHeroCard({ trpc, deviceId }) {
|
|
|
47300
47451
|
};
|
|
47301
47452
|
return /* @__PURE__ */ jsxs("div", {
|
|
47302
47453
|
className: "flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-4",
|
|
47303
|
-
children: [
|
|
47304
|
-
|
|
47305
|
-
|
|
47306
|
-
|
|
47307
|
-
|
|
47308
|
-
|
|
47309
|
-
|
|
47310
|
-
|
|
47311
|
-
|
|
47312
|
-
|
|
47313
|
-
|
|
47314
|
-
|
|
47315
|
-
|
|
47316
|
-
|
|
47317
|
-
|
|
47318
|
-
|
|
47319
|
-
|
|
47320
|
-
|
|
47321
|
-
|
|
47322
|
-
|
|
47323
|
-
|
|
47324
|
-
|
|
47325
|
-
|
|
47326
|
-
|
|
47327
|
-
|
|
47328
|
-
|
|
47329
|
-
|
|
47330
|
-
|
|
47331
|
-
|
|
47332
|
-
|
|
47333
|
-
|
|
47334
|
-
|
|
47335
|
-
|
|
47336
|
-
|
|
47337
|
-
|
|
47338
|
-
|
|
47339
|
-
|
|
47340
|
-
|
|
47341
|
-
|
|
47342
|
-
|
|
47343
|
-
|
|
47344
|
-
|
|
47345
|
-
|
|
47346
|
-
|
|
47347
|
-
|
|
47348
|
-
|
|
47349
|
-
|
|
47350
|
-
|
|
47351
|
-
|
|
47352
|
-
|
|
47353
|
-
|
|
47354
|
-
|
|
47355
|
-
|
|
47356
|
-
|
|
47357
|
-
|
|
47358
|
-
|
|
47359
|
-
|
|
47360
|
-
|
|
47361
|
-
|
|
47362
|
-
|
|
47363
|
-
|
|
47364
|
-
|
|
47365
|
-
|
|
47366
|
-
|
|
47367
|
-
|
|
47368
|
-
|
|
47369
|
-
|
|
47370
|
-
|
|
47371
|
-
|
|
47372
|
-
|
|
47373
|
-
|
|
47374
|
-
|
|
47375
|
-
|
|
47376
|
-
|
|
47377
|
-
|
|
47378
|
-
|
|
47379
|
-
|
|
47380
|
-
className: "
|
|
47381
|
-
children:
|
|
47382
|
-
|
|
47383
|
-
|
|
47384
|
-
|
|
47385
|
-
|
|
47386
|
-
|
|
47387
|
-
|
|
47388
|
-
|
|
47389
|
-
|
|
47390
|
-
|
|
47391
|
-
|
|
47392
|
-
|
|
47393
|
-
|
|
47394
|
-
|
|
47395
|
-
children:
|
|
47396
|
-
|
|
47397
|
-
|
|
47398
|
-
|
|
47399
|
-
|
|
47400
|
-
|
|
47401
|
-
|
|
47402
|
-
})]
|
|
47403
|
-
}),
|
|
47404
|
-
/* @__PURE__ */ jsx(TanksRow, {
|
|
47405
|
-
cleanWater: slice?.cleanWater ?? null,
|
|
47406
|
-
dirtyWater: slice?.dirtyWater ?? null,
|
|
47407
|
-
detergent: slice?.detergent ?? null,
|
|
47408
|
-
dustBin: slice?.dustBin ?? null
|
|
47409
|
-
})
|
|
47410
|
-
]
|
|
47454
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
47455
|
+
className: "flex items-center gap-6",
|
|
47456
|
+
children: [/* @__PURE__ */ jsx(VacuumGraphic, {
|
|
47457
|
+
state,
|
|
47458
|
+
batteryLevel: slice?.batteryLevel ?? null
|
|
47459
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
47460
|
+
className: "flex flex-col gap-3 flex-1",
|
|
47461
|
+
children: [
|
|
47462
|
+
/* @__PURE__ */ jsxs("div", {
|
|
47463
|
+
className: "flex items-center justify-between",
|
|
47464
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
47465
|
+
className: cn("text-3xl font-semibold", meta.tone),
|
|
47466
|
+
children: meta.label
|
|
47467
|
+
}), slice?.batteryLevel != null && /* @__PURE__ */ jsx(BatteryBadge$2, { level: slice.batteryLevel })]
|
|
47468
|
+
}),
|
|
47469
|
+
slice?.progressPercent != null && /* @__PURE__ */ jsxs("div", {
|
|
47470
|
+
className: "flex items-center gap-2",
|
|
47471
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
47472
|
+
className: "h-1.5 flex-1 rounded bg-surface-hover overflow-hidden",
|
|
47473
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
47474
|
+
className: "h-full bg-primary transition-[width] duration-500",
|
|
47475
|
+
style: { width: `${Math.max(0, Math.min(100, slice.progressPercent))}%` }
|
|
47476
|
+
})
|
|
47477
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
47478
|
+
className: "tabular-nums text-xs text-foreground-subtle",
|
|
47479
|
+
children: [Math.round(slice.progressPercent), "%"]
|
|
47480
|
+
})]
|
|
47481
|
+
}),
|
|
47482
|
+
slice?.errorCode != null && slice.errorCode !== 0 && /* @__PURE__ */ jsxs("div", {
|
|
47483
|
+
className: "inline-flex items-center gap-1 text-xs text-destructive",
|
|
47484
|
+
children: [/* @__PURE__ */ jsx(TriangleAlert, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ jsx("span", { children: slice.errorLabel ?? t("uiLibrary.vacuum.errorCode", "Error {{code}}", { code: slice.errorCode }) })]
|
|
47485
|
+
}),
|
|
47486
|
+
/* @__PURE__ */ jsxs("div", {
|
|
47487
|
+
className: "flex items-center gap-2",
|
|
47488
|
+
children: [
|
|
47489
|
+
/* @__PURE__ */ jsx(VacuumHeroButton, {
|
|
47490
|
+
label: t("uiLibrary.vacuum.start", "Start"),
|
|
47491
|
+
busy,
|
|
47492
|
+
active: state === "cleaning",
|
|
47493
|
+
onClick: () => press(cap.start),
|
|
47494
|
+
children: /* @__PURE__ */ jsx(Play, { className: "h-5 w-5" })
|
|
47495
|
+
}),
|
|
47496
|
+
/* @__PURE__ */ jsx(VacuumHeroButton, {
|
|
47497
|
+
label: t("uiLibrary.vacuum.pause", "Pause"),
|
|
47498
|
+
busy,
|
|
47499
|
+
active: state === "paused",
|
|
47500
|
+
onClick: () => press(cap.pause),
|
|
47501
|
+
children: /* @__PURE__ */ jsx(Pause, { className: "h-5 w-5" })
|
|
47502
|
+
}),
|
|
47503
|
+
/* @__PURE__ */ jsx(VacuumHeroButton, {
|
|
47504
|
+
label: t("uiLibrary.vacuum.stop", "Stop"),
|
|
47505
|
+
busy,
|
|
47506
|
+
active: false,
|
|
47507
|
+
onClick: () => press(cap.stop),
|
|
47508
|
+
children: /* @__PURE__ */ jsx(Square, { className: "h-4 w-4" })
|
|
47509
|
+
}),
|
|
47510
|
+
/* @__PURE__ */ jsx(VacuumHeroButton, {
|
|
47511
|
+
label: t("uiLibrary.vacuum.returnToBase", "Return to base"),
|
|
47512
|
+
busy,
|
|
47513
|
+
active: state === "returning" || state === "docked",
|
|
47514
|
+
onClick: () => press(cap.returnToBase),
|
|
47515
|
+
children: /* @__PURE__ */ jsx(House, { className: "h-5 w-5" })
|
|
47516
|
+
}),
|
|
47517
|
+
/* @__PURE__ */ jsx(VacuumHeroButton, {
|
|
47518
|
+
label: t("uiLibrary.vacuum.locate", "Locate"),
|
|
47519
|
+
busy,
|
|
47520
|
+
active: false,
|
|
47521
|
+
onClick: () => press(cap.locate),
|
|
47522
|
+
children: /* @__PURE__ */ jsx(Megaphone, { className: "h-5 w-5" })
|
|
47523
|
+
})
|
|
47524
|
+
]
|
|
47525
|
+
})
|
|
47526
|
+
]
|
|
47527
|
+
})]
|
|
47528
|
+
}), fanSpeeds.length > 0 && /* @__PURE__ */ jsxs("label", {
|
|
47529
|
+
className: "flex items-center gap-2 text-xs text-foreground-subtle",
|
|
47530
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
47531
|
+
className: "w-16 shrink-0",
|
|
47532
|
+
children: t("uiLibrary.vacuum.fanSpeed", "Fan speed")
|
|
47533
|
+
}), /* @__PURE__ */ jsxs("select", {
|
|
47534
|
+
"aria-label": t("uiLibrary.vacuum.fanSpeed", "Fan speed"),
|
|
47535
|
+
value: slice?.fanSpeed ?? "",
|
|
47536
|
+
disabled: busy,
|
|
47537
|
+
onChange: (e) => {
|
|
47538
|
+
onFanSpeed(e.target.value);
|
|
47539
|
+
},
|
|
47540
|
+
onClick: (e) => {
|
|
47541
|
+
e.stopPropagation();
|
|
47542
|
+
},
|
|
47543
|
+
className: "flex-1 rounded border border-border bg-surface px-2 py-1 text-foreground disabled:opacity-50",
|
|
47544
|
+
children: [slice?.fanSpeed == null && /* @__PURE__ */ jsx("option", {
|
|
47545
|
+
value: "",
|
|
47546
|
+
children: "—"
|
|
47547
|
+
}), fanSpeeds.map((s) => /* @__PURE__ */ jsx("option", {
|
|
47548
|
+
value: s,
|
|
47549
|
+
children: s
|
|
47550
|
+
}, s))]
|
|
47551
|
+
})]
|
|
47552
|
+
})]
|
|
47411
47553
|
});
|
|
47412
47554
|
}
|
|
47413
47555
|
//#endregion
|
|
@@ -50335,6 +50477,9 @@ function PetFeederHeroCard({ trpc, deviceId, features, optimistic }) {
|
|
|
50335
50477
|
* Reads the `dishwasher` cap status slice and renders inline + hero surfaces
|
|
50336
50478
|
* mirroring vacuum-control / pet-feeder patterns.
|
|
50337
50479
|
*
|
|
50480
|
+
* Salt and rinse aid are not here: they are items of the device's `consumables`
|
|
50481
|
+
* cap, shown by the page's Consumables section like every device's (D915).
|
|
50482
|
+
*
|
|
50338
50483
|
* UNKNOWN IS NOT OFF. The slice carries `null` for everything the appliance has not
|
|
50339
50484
|
* reported, and this view renders that as "—" / a disabled control, never as an unchecked
|
|
50340
50485
|
* box or a zero. It also does not echo a command before the appliance confirms it: the
|
|
@@ -50468,60 +50613,44 @@ function DishwasherPanel({ trpc, deviceId, layout }) {
|
|
|
50468
50613
|
if (busy) return;
|
|
50469
50614
|
fn();
|
|
50470
50615
|
};
|
|
50471
|
-
if (layout === "compact") {
|
|
50472
|
-
|
|
50473
|
-
|
|
50474
|
-
|
|
50475
|
-
|
|
50476
|
-
|
|
50477
|
-
|
|
50478
|
-
|
|
50479
|
-
|
|
50480
|
-
|
|
50481
|
-
|
|
50482
|
-
|
|
50483
|
-
|
|
50484
|
-
|
|
50485
|
-
|
|
50486
|
-
|
|
50487
|
-
display.program
|
|
50488
|
-
|
|
50489
|
-
|
|
50490
|
-
|
|
50491
|
-
}),
|
|
50492
|
-
|
|
50493
|
-
|
|
50494
|
-
|
|
50495
|
-
|
|
50496
|
-
|
|
50497
|
-
|
|
50498
|
-
|
|
50499
|
-
|
|
50500
|
-
|
|
50501
|
-
|
|
50502
|
-
|
|
50503
|
-
|
|
50504
|
-
|
|
50505
|
-
|
|
50506
|
-
|
|
50507
|
-
|
|
50508
|
-
|
|
50509
|
-
label: t("uiLibrary.dishwasher.start", "Start"),
|
|
50510
|
-
busy: busy || !startable,
|
|
50511
|
-
active: running,
|
|
50512
|
-
onClick: () => press(() => cap.start({})),
|
|
50513
|
-
children: /* @__PURE__ */ jsx(Play, { className: "h-3 w-3" })
|
|
50514
|
-
}),
|
|
50515
|
-
/* @__PURE__ */ jsx(DishwasherIconButton, {
|
|
50516
|
-
label: paused ? t("uiLibrary.dishwasher.resume", "Resume") : t("uiLibrary.dishwasher.pause", "Pause"),
|
|
50517
|
-
busy: busy || !(running || paused),
|
|
50518
|
-
active: paused,
|
|
50519
|
-
onClick: () => press(() => paused ? cap.resume({}) : cap.pause({})),
|
|
50520
|
-
children: /* @__PURE__ */ jsx(Pause, { className: "h-3 w-3" })
|
|
50521
|
-
})
|
|
50522
|
-
]
|
|
50523
|
-
});
|
|
50524
|
-
}
|
|
50616
|
+
if (layout === "compact") return /* @__PURE__ */ jsxs("div", {
|
|
50617
|
+
className: "inline-flex items-center gap-1.5 max-w-full",
|
|
50618
|
+
children: [
|
|
50619
|
+
display.doorOpen === true && /* @__PURE__ */ jsx("span", {
|
|
50620
|
+
className: "inline-flex text-warning shrink-0",
|
|
50621
|
+
title: t("uiLibrary.dishwasher.doorOpen", "Door open"),
|
|
50622
|
+
"aria-label": t("uiLibrary.dishwasher.doorOpen", "Door open"),
|
|
50623
|
+
children: /* @__PURE__ */ jsx(DoorOpen, { className: "h-3.5 w-3.5" })
|
|
50624
|
+
}),
|
|
50625
|
+
/* @__PURE__ */ jsx("span", {
|
|
50626
|
+
className: cn("text-xs font-medium tabular-nums shrink-0", meta.tone),
|
|
50627
|
+
children: meta.label
|
|
50628
|
+
}),
|
|
50629
|
+
display.program != null && /* @__PURE__ */ jsx("span", {
|
|
50630
|
+
className: "text-xs text-foreground-subtle truncate max-w-[7rem]",
|
|
50631
|
+
title: display.program,
|
|
50632
|
+
children: featureLabel(display.program)
|
|
50633
|
+
}),
|
|
50634
|
+
display.remainingSeconds != null && /* @__PURE__ */ jsxs("span", {
|
|
50635
|
+
className: "inline-flex items-center gap-0.5 text-xs text-foreground-subtle tabular-nums shrink-0",
|
|
50636
|
+
children: [/* @__PURE__ */ jsx(Timer, { className: "h-3 w-3" }), formatDuration(display.remainingSeconds, t)]
|
|
50637
|
+
}),
|
|
50638
|
+
/* @__PURE__ */ jsx(DishwasherIconButton, {
|
|
50639
|
+
label: t("uiLibrary.dishwasher.start", "Start"),
|
|
50640
|
+
busy: busy || !startable,
|
|
50641
|
+
active: running,
|
|
50642
|
+
onClick: () => press(() => cap.start({})),
|
|
50643
|
+
children: /* @__PURE__ */ jsx(Play, { className: "h-3 w-3" })
|
|
50644
|
+
}),
|
|
50645
|
+
/* @__PURE__ */ jsx(DishwasherIconButton, {
|
|
50646
|
+
label: paused ? t("uiLibrary.dishwasher.resume", "Resume") : t("uiLibrary.dishwasher.pause", "Pause"),
|
|
50647
|
+
busy: busy || !(running || paused),
|
|
50648
|
+
active: paused,
|
|
50649
|
+
onClick: () => press(() => paused ? cap.resume({}) : cap.pause({})),
|
|
50650
|
+
children: /* @__PURE__ */ jsx(Pause, { className: "h-3 w-3" })
|
|
50651
|
+
})
|
|
50652
|
+
]
|
|
50653
|
+
});
|
|
50525
50654
|
const programs = display.availablePrograms;
|
|
50526
50655
|
return /* @__PURE__ */ jsxs("div", {
|
|
50527
50656
|
className: "flex flex-col gap-3 rounded-lg border border-border bg-surface p-4",
|
|
@@ -50572,25 +50701,14 @@ function DishwasherPanel({ trpc, deviceId, layout }) {
|
|
|
50572
50701
|
}),
|
|
50573
50702
|
/* @__PURE__ */ jsxs("div", {
|
|
50574
50703
|
className: "flex flex-wrap items-center gap-x-3 gap-y-1.5",
|
|
50575
|
-
children: [
|
|
50576
|
-
|
|
50577
|
-
|
|
50578
|
-
|
|
50579
|
-
|
|
50580
|
-
|
|
50581
|
-
|
|
50582
|
-
|
|
50583
|
-
}),
|
|
50584
|
-
display.doorOpen === true && /* @__PURE__ */ jsxs("span", {
|
|
50585
|
-
className: "inline-flex items-center gap-1 text-xs text-warning",
|
|
50586
|
-
children: [/* @__PURE__ */ jsx(DoorOpen, { className: "h-3.5 w-3.5" }), t("uiLibrary.dishwasher.doorOpen", "Door open")]
|
|
50587
|
-
}),
|
|
50588
|
-
display.activeEvents.map((event) => /* @__PURE__ */ jsx("span", {
|
|
50589
|
-
className: "text-xs text-warning",
|
|
50590
|
-
title: event,
|
|
50591
|
-
children: featureLabel(event)
|
|
50592
|
-
}, event))
|
|
50593
|
-
]
|
|
50704
|
+
children: [display.doorOpen === true && /* @__PURE__ */ jsxs("span", {
|
|
50705
|
+
className: "inline-flex items-center gap-1 text-xs text-warning",
|
|
50706
|
+
children: [/* @__PURE__ */ jsx(DoorOpen, { className: "h-3.5 w-3.5" }), t("uiLibrary.dishwasher.doorOpen", "Door open")]
|
|
50707
|
+
}), display.activeEvents.map((event) => /* @__PURE__ */ jsx("span", {
|
|
50708
|
+
className: "text-xs text-warning",
|
|
50709
|
+
title: event,
|
|
50710
|
+
children: featureLabel(event)
|
|
50711
|
+
}, event))]
|
|
50594
50712
|
}),
|
|
50595
50713
|
display.operationState === "Error" && /* @__PURE__ */ jsxs("div", {
|
|
50596
50714
|
className: "inline-flex items-center gap-1 text-xs text-danger",
|
|
@@ -67997,8 +68115,8 @@ var MotionZonesSettings = lazy(() => import("./MotionZonesSettings-DR1g9ja3.js")
|
|
|
67997
68115
|
/** Lazy-wrapped `SceneMonitorEditor` — code-split off the main bundle for the
|
|
67998
68116
|
* same reason: it mounts `MaskShapeCanvas`, which chains react-konva. Render
|
|
67999
68117
|
* inside `<Suspense>`; the admin-ui `/scenes` dialog is its only caller. */
|
|
68000
|
-
var SceneMonitorEditor = lazy(() => import("./SceneMonitorEditor-
|
|
68118
|
+
var SceneMonitorEditor = lazy(() => import("./SceneMonitorEditor-CrxB3ZPL.js").then((m) => ({ default: m.SceneMonitorEditor })));
|
|
68001
68119
|
/** Lazy-wrapped `PrivacyMaskSettings` — code-split off the main bundle. */
|
|
68002
|
-
var PrivacyMaskSettings = lazy(() => import("./PrivacyMaskSettings-
|
|
68120
|
+
var PrivacyMaskSettings = lazy(() => import("./PrivacyMaskSettings-C9wfHkiB.js").then((m) => ({ default: m.PrivacyMaskSettings })));
|
|
68003
68121
|
//#endregion
|
|
68004
|
-
export { ShieldOff as $, CloudFog as $n, LoaderCircle as $t, TrainFront as A, AddProviderEntryDialog, AddonGlobalSettingsForm, AdminLinkQuickAction, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, Film as An, AppShell, Bird as Ar, ArcKnob, Pause as At, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutomationHeroCard, AutomationInlineControl, AutotrackSection, SunMedium as B, BOOLEAN_STATES, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, BackToStepsButton, Badge, BarSeries, BatteryBadge, DoorOpen as Bn, BottomSheet, Ban as Br, Breadcrumb, BrightnessPanel, MonitorPlay as Bt, Button, ButtonControl, ButtonHeroCard, Undo2 as C, CENTER, CHART_SERIES_TOKENS, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONSUMABLE_LOW_PERCENT, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, ChartFrame, ChartPlaceholder, ChartSwatch, ChartWindowToggle, Checkbox, ChildSectionAccordion, ClimatePanel, Gamepad2 as Cn, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigNotificationTargetMultiSelectFieldView, ConfigNotificationTargetSelectFieldView, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumableLevelBadge, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, Cable as Cr, Play as Ct, CustomFieldRenderersProvider, TrendingDown as D, DATA_RECORDS_KIND_PARAM, DATA_RECORDS_OWNER_PARAM, DATA_RECORD_FACET_GROUPS, DEFAULT_COLOR, DEFAULT_PAGINATION_LABELS, DEVICE_COLUMNS, DEVICE_EXPORT_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_PICKER_GROUP_STORAGE_KEY, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DataRecordsHub, DataTable, DataTableFilterBar, DataTablePager, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceExportSetup, DeviceFilterBar, DeviceGrid, DeviceHistoryView, DeviceItem, DeviceList, DeviceMultiSelectField, DevicePicker, DeviceQuickDetailProvider, DeviceSelectField, DeviceSelectorPicker, DeviceStepMatrix, DevicesFailedLine, DevicesLoadingLine, DevicesWidenWarning, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, Flashlight as Dn, DoorbellRecentPanel, Bot as Dr, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, Phone as Dt, DummyHeroCard, DummyInline, TriangleAlert as E, EMPTY_DATA_TABLE_FILTER, EMPTY_HISTORY_PANELS, EVENT_KIND_ICONS, EmptyState, FlaskConical as En, EndpointResultsCard, EndpointTestCard, EntryJsonSchemaForm, Box as Er, ErrorBox, Pin as Et, EventKindGlyph, EventStream, ExtensionsPanel, Thermometer as F, FAST_ICON_GLYPHS, FILL, FLEET_LIST_GC_TIME_MS, FLEET_LIST_QUERY_KEY, FLEET_LIST_STALE_TIME_MS, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, ExternalLink as Fn, FormField$1 as FormField, BatteryWarning as Fr, Move as Ft, Snowflake as G, GAP_INTERVAL_FACTOR, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GateBadge, GateControl, Cpu as Gn, ArrowLeft as Gr, GripTrack, GroupedModelSelector, GroupedTilePicker, Menu as Gt, Square as H, HISTORY_PAGE_PATH, HISTORY_PANELS_NAMESPACE, HISTORY_SELECTION_MAX, HISTORY_WINDOW_IDS, HISTORY_WINDOW_MS, HOST_WIDGETS, HUB_SESSION_RUN_MS, HistoryChart, HistoryWindowBar, HlsVideo, Dog as Hn, HoverZoomImage, ArrowUp as Hr, Minimize2 as Ht, HubSessionTestCard, HumidifierHeroCard, HumidifierInlineControl, Target as I, INPUT_COMPACT, INPUT_SHELL, IconAction, IconButton, IconPicker, ImageHeroCard, ImageInlineControl, ImageSelector, EllipsisVertical as In, InferenceConfigSelector, Input, BatteryMedium as Ir, MoveVertical as It, ItemFormDialog, SkipForward as J, Cloud as Jn, AlarmSmoke as Jr, MapPin as Jt, Smartphone as K, KebabMenu, KeyValueList, Copy as Kn, ArrowDown as Kr, Megaphone as Kt, Tag as L, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LayeredSettingsForm, LightHeroCard, LightInlineControl, Droplets as Ln, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, BatteryLow as Lr, MoveHorizontal as Lt, ToggleRight as M, MEDIA_GRID, MODE_COLOR, MaskShapeCanvas, MediaCard, MediaGrid, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, Fan as Mn, MobileDrawer, ModelPicker, MotionZonesSettings, Bell as Mr, Network as Mt, ToggleLeft as N, NAVIGATION_DRIVE_INTERVAL_MS, NODE_COLOR_IDS, NatResultCard, NavigationPanel, NetworkLinkBadge, Eye as Nn, NodeMultiSelectField, NodePicker, NodeSelectField, NotificationTargetSelectField, NotificationTargetsField, BellRing as Nr, Navigation as Nt, TrendingUp as O, OCCUPANCY_KEY, OPTION_SELECT_SEARCH_MIN_OPTIONS, OfflineBadge, FlashlightOff as On, OptionSelect, Bone as Or, Pencil as Ot, Timer as P, PAGE_SIZE_ALL, PHASE_CONFIG, PICKER_CHIP_LIMIT, PICKER_DEFAULT_GROUP_BY, PICKER_GROUP_BY_MODES, PICKER_GROUP_COLLAPSE_AT, PICKER_NONE_KEY, PICKER_NOUN_PLURAL, PICKER_NO_FILTERS, PICKER_PAGE_SIZE, PICKER_SEARCH_DEBOUNCE_MS, PICKER_WINDOW, PRIORITY, PTZOverlay, PageHeader, PageShell, PageSizeSelect, Pagination, PasswordInput, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PlaceholderChipField, PlayerOverlaysProvider, EyeOff as Pn, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, Battery as Pr, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, ProviderEntryPills, Music as Pt, PtzPanel, Shield as Q, CloudLightning as Qn, QrCode, LocateFixed as Qt, Sunrise as R, RECONNECT_POLICY, RECORDED_PLAYBACK_MODES, RESOLUTION_BUCKET_MS, RIGHT, ROI_AREA_WARN_FRACTION, ROLE_DESCRIPTOR, ROOT_DETECTOR_STEP_ID, RadialGauge, RecordEntriesPanel, RecordedPlaybackProvider, RecordingPanel, ResponseLog, RetrainReviewBadge, Droplet as Rn, RoleDisplayDefaultsFromServer, RoleDisplayDefaultsProvider, RoleNodePill, RootModelSourceControl, RootSuppliedModelNote, BatteryFull as Rr, MousePointerClick as Rt, RunReport, Unlink2 as S, SCENE_CAPTURE_VARIANTS, SECRET_MASK_PLACEHOLDER, SECRET_REVEAL_MS, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SETTING_ROW, SETTING_ROW_LABEL, SETTING_ROW_STACK_BREAKPOINT, SETTING_ROW_VALUE, SETTING_ROW_VALUE_TEXT, SNAPSHOT_MEDIA_PATH, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, STEP_DOCK_WIDTH_PX, SUBJECT_PATH_DWELL_EPS, SUBJECT_PATH_FULL_FRAME_COVERAGE, SUBJECT_PATH_MAX_POINTS, SceneMonitorEditor, ScopePicker, ScriptHeroCard, ScriptInlineControl, ScrollArea, SecretFieldControl, SecretRevealProvider, SectionCard, SectionToolbar, SectionedPage, SegmentedChoice, Select, SelectedChip, SemanticBadge, SendFrameToTrainingButton, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, SettingRow, Sidebar, SidebarItem, Skeleton, SlideToggle, Gauge as Sn, SnapshotButton, SortHeaderButton, Sparkline, Camera as Sr, Plus as St, StableTabPanel, StatCard, StateTimeline, StateValuesStream, StatusBadge, StepDetailDock, StepInspectorPanel, StepModelRow, StepTimings, Stepper, StorageRecordsPanel, StreamBrokerSelector, StreamDebugOverlay, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, Truck as T, TABLE_SCROLL_MAX_H, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimeSeriesChart, TimezoneSelector, Footprints as Tn, Tooltip, TooltipContent, TooltipTrigger, Bug as Tr, TrainingBaseModelPicker, TrainingCollectionPicker, Pipette as Tt, Sprout as U, UiTextProvider, UiTrans, Database as Un, UnitPicker, ArrowUpToLine as Ur, Mic as Ut, Star as V, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, DoorClosed as Vn, VodPlaybackProvider, Baby as Vr, Minus as Vt, Sparkles as W, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, Crosshair as Wn, ArrowRight as Wr, MessageSquare as Wt, Siren as X, CloudSnow as Xn, Activity as Xr, Lock as Xt, SkipBack as Y, CloudSun as Yn, AirVent as Yr, Mail as Yt, Ship as Z, CloudRain as Zn, ZoneEditingProvider, LockOpen as Zt, UtensilsCrossed as _, Hand as _n, Check as _r, QrCode$1 as _t, Wrench as a, acceleratorLabel, acceleratorShortLabel, agentColumnKey, alignSeries, allDeviceTypeFilterOptions, LayoutGrid as an, anchorNow, applyFleetQueryDefaults, applyPickerFilters, CirclePlus as ar, ariaSortForColumn, assignNodeColorId, Search as at, axisTicks, UserCheck as b, badgeFor, bindsToModel, Grid2x2 as bn, booleanLabels, Cast as br, PowerOff as bt, bucketTotals, buildColorByNodeId, buildDataRecordRows, buildPeerConnectionConfig, buildStepTreeFromSchema, buildSubjectPath, buildTimeSeriesModel, Wifi as c, catalogHasDraft, chartKeys, chartSeriesStyle, childEntityId, childListName, chipOverflow, chunk, classifyAddressScope, classifyCapability, classifySessionVerdict, clearPickerGroup, clusterRootModelIds, cn, colorIdForNode, columnsForContext, compareSrflxMappings, computePageButtons, consumableItemLevel, consumableLevelBarClass, consumableLevelLabel, consumableLevelVariant, containerChildToRef, countableDevices, coverHighlight, coverageLine, CircleCheck as cr, createAddonI18n, createSharedContext, createTheme, Save as ct, currentAddonLanguage, cursorFractionFor, WifiLow as d, darkColors, dataRecordContents, dataRecordKey, dataRecordSearchText, dataRecordType, dataTableFacetGroups, dataTableFacets, decodeCustomWindow, decodeSeriesRef, defaultAxisSpec, defaultOfField, defaultSelectClusterRoots, defaultSingleClusterRoot, defaultTheme, defaultUiText, deriveDeviceKind, deriveWebrtcDebugStats, describeDeviceSelector, deviceIntegrationResolver, deviceListStateOf, deviceMatchesFilter, deviceOptionLabel, deviceRoleMeta, deviceRoleMetaOf, deviceTypeLabel, deviceTypeMeta, deviceTypeMetaOf, devicesToOptions, ImageOff as dn, dockBox, ChevronsUpDown as dr, draftFromQuery, RotateCw as dt, effectivePageSize, emptyDevicesWidens, emptySessionRun, List as en, encodeCustomWindow, encodeSeriesRef, energyBuckets, ensureMfHostInit, Clock as er, ShieldCheck as et, eventKindLabel, WifiHigh as f, filterDataTableRows, filterDeviceOptions, filterOccupancyLines, filterOptions as filterOptionSelectOptions, filterPickerDevices, finalizeSessionRun, findTimezone, flattenPickerGrouping, flattenPickerRows, fleetViewOf, House as fn, formatChartBytes, formatChartNumber, formatChartValue, formatControlDateTime, formatLastSeen, formatNumeric, formatSettingValue, formatSpan, formatTimeLabel, ChevronsDownUp as fr, freezeVerdict, RotateCcw as ft, fuzzyMatch, Vibrate as g, gapThresholdMs, getClassColor, getPhaseVisual, HardDrive as gn, ChevronDown as gr, groupAgentColumns, groupChildrenByLayout, groupDeviceSeries, groupPickerDevices, groupPickerDevicesBy, Radar as gt, Volume2 as h, hardwareLabel, historyPageHref, Hash as hn, ChevronLeft as hr, RadioTower as ht, hubOrigin, hubPath, hubUrl, hubWsUrl, humanDuration, humanizeName, humidifierTint, X as i, iconGlyphsFailed, iconGlyphsLoaded, Leaf as in, initialScrubState, insertAtSelection, CircleQuestionMark as ir, isAbsentProvider, isByteUnit, isConsumableLevelField, isDataTableFilterActive, isDrawableSubjectPath, isFieldVisible, isGroupExpanded, isHistoryWindowId, isKeychainFieldValue, isRedactedSecret, isRefusal, isSecretField, isValueField, Server as it, Tractor as j, Feather as jn, Bike as jr, Package as jt, Trash2 as k, Flame as kn, Blinds as kr, PawPrint as kt, WifiZero as l, lawnMowerActivityMeta, lightColors, linePoints, Inbox as ln, loadIconGlyphs, loadRemoteBundle, CircleCheckBig as lr, Sailboat as lt, lucideExportName, VolumeX as m, makeScrubBridge, mapRootDetectorPlacements, mergeSecretForSubmit, metadataEntries, metadataString, mirror, Heater as mn, mountAddonPage, mountPath, ChevronRight as mr, Radio as mt, ZoomIn as n, nextGridPosition, nextReconnectAction, nextSort, nextSortDirection, nextTableSort, niceMax, niceRange, Link2 as nn, nodeColorClass, nodeSoftBgClass, nodeTextColorClass, normalizeForSearch, normalizeLanguage, normalizeSelection, CircleX as nr, Share2 as nt, Workflow as o, occupancyFacets, occupancyLines, offListSelections, Laugh as on, openTopLayer, optionSearchText as optionSelectSearchText, CirclePause as or, orphanDeviceLabel, ScrollText as ot, overrideEntityIdFromLink, Waves as p, pageRows, pageSizeLabel, paginateRows, parentDetailOf, parseCapKey, parseConsumableLevel, parseIceCandidate, parsePickerGroupBy, parseProducerKey, parseRecordedServerMessage, partitionSelected as partitionOptionSelectSelected, partitionSuggested, pickerFacetFilterShown, pickerFacetKey, pickerFacetOptions, pickerFiltersActive, pickerGroupKey, pickerHiddenSelectedCount, pickerLocationKey, pickerQueryTokens, pickerRowFacts, pickerSearchText, pickerZoneFilterSuspended, pinnedStreamChoices, placePopover, History as pn, ChevronUp as pr, previousWindow, projectSubjectPath, providerIcons, RefreshCw as pt, SlidersHorizontal as q, Cog as qn, ArrowDownToLine as qr, Maximize2 as qt, Zap as r, readHistory, readHistoryPanels, readItemId, readStoredGroupBy, reduceSessionRun, registerAddonBundle, renderMarkup, renderTagged, resetHubMountForTests, resetPickerFilters, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDeviceIntegration, resolveDisplayIcon, resolveEffectiveDefaultModel, resolveEffectiveStepModel, resolveEventKindIcon, resolveHistoryWindow, resolveSearchable as resolveOptionSelectSearchable, resolveParentNames, resolvePrimaryChild, resolveSelectedDevices, resolveSensorDisplay, resolveStepDefaultModel, retrainReviewBadgeLook, Lightbulb as rn, roiTooLarge, rootSourceState, routerBasename, CircleStop as rr, Settings as rt, Wind as s, sameLocationSuggestions, scrubReducer, searchSteps, secretDisplayValue, secretSubmitValue, segmentsFromChanges, selectPickerGroup, selectedDeviceOptions, serializeRecordedCommand, seriesRefId, settingsModelIdFor, sharedGapSpans, shiftPoints, shouldCommit, shouldEmit, shouldShowAddNewFooter, shouldShowUseQueryRow, shouldUseSingleNode, showsNoCamerasHint, Info as sn, sortRows, sortRowsByColumn, CircleDot as sr, Scan as st, stackBuckets, stackSeries, stateAt, stateRow, stateStyle, statusIcons, statusLine, stepFieldDomId, stepHasModelForFormat, stepLocalFields, stepModelOptions, stripParentNamePrefix, subjectPathSampleFromBox, subjectPathSvgPoints, summarizeHubCandidates, swatchFillClass, swatchLineClass, ZoomOut as t, tabForSelector, tankAlert, themeToCss, themeToRootCss, timeInState, ListChecks as tn, toStationaryOverlayBox, toggleDataTableFacet, toggleDataTableGroupFacet, togglePickerDevice, togglePickerKey, Clapperboard as tr, trainingRefusalText, translateAddonKey, trpc, ShieldAlert as tt, typeLabel, WifiOff as u, Image as un, unitAxes, CircleAlert as ur, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsGetIntegrationSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonT, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListInstallations, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlert, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerAttachDevice, useAudioAnalyzerClassify, useAudioAnalyzerDetachDevice, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupCancel, useBackupCheckBackupKey, useBackupDelete, useBackupDeleteSchedule, useBackupDisableEncryption, useBackupGetEncryption, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListAvailableDatabases, useBackupListDestinations, useBackupListLocations, useBackupListRuns, useBackupListSchedules, useBackupPreviewSchedule, useBackupRestore, useBackupSetupEncryption, useBackupTrigger, useBackupUpsertDestinationPolicy, useBackupUpsertSchedule, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCalendarsGetPreferences, useCalendarsListCalendars, useCalendarsListEvents, useCalendarsSetCalendarPreference, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraGridLayoutApplyDeviceSettingsPatch, useCameraGridLayoutGetDeviceLiveContribution, useCameraGridLayoutGetDeviceSettingsContribution, useCameraGridLayoutGetLayout, useCameraGridLayoutSaveLayout, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCapabilityPresence, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useClusterTopology, useColorGetStatus, useColorSetColor, useConfirm, useConnectionTestDescribeTest, useConnectionTestTestSettings, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoreBlocksCompile, useCoreBlocksCreate, useCoreBlocksCreateComposition, useCoreBlocksDelete, useCoreBlocksGet, useCoreBlocksGetBlockSettings, useCoreBlocksGetComposition, useCoreBlocksGetCustomization, useCoreBlocksGetTypeDefs, useCoreBlocksList, useCoreBlocksListComposableCaps, useCoreBlocksListCompositions, useCoreBlocksMigrateRawSecrets, useCoreBlocksRestart, useCoreBlocksSetEnabled, useCoreBlocksUpdate, useCoreBlocksUpdateBlockSettings, useCoreBlocksUpdateComposition, useCoreBlocksValidateComposition, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDataTableFilter, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderGetInfo, useDecoderReprobeHwaccel, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdminLink, useDeviceAdminLinkGetAdminLink, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceCredentialsDeleteDeviceCredential, useDeviceCredentialsGetDeviceCaStatus, useDeviceCredentialsGetDeviceCertificateSettings, useDeviceCredentialsListDeviceCredentials, useDeviceCredentialsRenameDeviceCredential, useDeviceCredentialsRevokeDeviceCredential, useDeviceCredentialsSetDeviceCertificateSettings, useDeviceCredentialsStartEnrollment, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceExtensionListCandidates, useDeviceExtensionListSlots, useDeviceExtensionListSources, useDeviceExtensionSetSlot, useDeviceHistoryDeclareSeries, useDeviceHistoryGetDeviceEnabled, useDeviceHistoryGetStatus, useDeviceHistoryListNodeSeries, useDeviceHistoryListSeries, useDeviceHistoryQuery, useDeviceHistoryQueryMany, useDeviceHistoryQueryNode, useDeviceHistoryRecord, useDeviceHistoryRecordBuckets, useDeviceHistorySetDeviceEnabled, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionCancelJob, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionListJobs, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAdoptionStartJob, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyInitialMeta, useDeviceManagerCleanupDeletedDevicesData, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetBindingsBatch, useDeviceManagerGetChildren, useDeviceManagerGetChildrenBatch, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetDeviceStatusAggregateBatch, useDeviceManagerGetLinkedDevices, useDeviceManagerGetLinkedDevicesBatch, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerGetWrapperActivation, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListDeletedSince, useDeviceManagerListDeviceIdsByCaps, useDeviceManagerListLocationDescriptions, useDeviceManagerListLocationIcons, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListSiteZones, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerMigrateDevice, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRemoveSiteZone, useDeviceManagerRenameLocation, useDeviceManagerRenameSiteZone, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetLocationDescription, useDeviceManagerSetLocationIcon, useDeviceManagerSetLocationZone, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetSiteZone, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceNetworkLink, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderReloadDevice, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceQuickDetailOpen, useDeviceSeriesList, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateClaimFields, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetNativeCapSlice, useDeviceStateGetSnapshot, useDeviceStateListClaims, useDeviceStatePatchOwnedFields, useDeviceStateReleaseClaim, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDishwasherGetOptions, useDishwasherGetStatus, useDishwasherPause, useDishwasherResume, useDishwasherSetChildLock, useDishwasherSetExtraDry, useDishwasherSetHalfLoad, useDishwasherSetHygienePlus, useDishwasherSetIntensiveZone, useDishwasherSetOption, useDishwasherSetPower, useDishwasherSetProgram, useDishwasherSetVarioSpeedPlus, useDishwasherStart, useDishwasherStop, useDisplayIconResolver, useDoorbellEvents, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryAuditIdentitySamples, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHeatingValveGetStatus, useHistoryPanels, useHistoryReader, useHistoryReads, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useIconGlyphsVersion, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useItemFormUrl, useKeychainAdminAcknowledgeReset, useKeychainAdminDeleteOrphans, useKeychainAdminDownloadRecoveryKey, useKeychainAdminImportSecret, useKeychainAdminListAudit, useKeychainAdminListSecrets, useKeychainAdminPurgeRetiredKeys, useKeychainAdminResetKeychain, useKeychainAdminResetReport, useKeychainAdminReveal, useKeychainAdminRotateMasterKey, useKeychainAdminSetSystemSecret, useKeychainAdminStatus, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLlmCancel, useLlmDeleteModel, useLlmDeleteProfile, useLlmGenerate, useLlmGenerateVision, useLlmGetDefaults, useLlmGetRuntimeStatus, useLlmGetUsage, useLlmInstallModel, useLlmListModelCatalog, useLlmListModels, useLlmListNodeModels, useLlmListProfileKinds, useLlmListProfiles, useLlmListRuntimeNodes, useLlmMigrateRawSecrets, useLlmResolveModelRef, useLlmSetDefault, useLlmStartRuntime, useLlmStopRuntime, useLlmTestProfile, useLlmUpsertProfile, useLocalNetworkAddCustomAddress, useLocalNetworkDownloadCa, useLocalNetworkGetAddresses, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetHubAddresses, useLocalNetworkGetNotificationEndpoint, useLocalNetworkGetPreferred, useLocalNetworkGetTlsStatus, useLocalNetworkGetViewerEndpoints, useLocalNetworkList, useLocalNetworkRegenerateCertificate, useLocalNetworkRemoveCustomAddress, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkRevertToGeneratedCertificate, useLocalNetworkSetAddressRole, useLocalNetworkSetAllowedAddresses, useLocalNetworkSetNotificationEndpoint, useLocalNetworkSetViewerEndpoints, useLocalNetworkUploadCertificate, useLocalNetworkUseStoredUploadedCertificate, 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, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetLoadSeries, useMetricsProviderGetProcessStats, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetOptions, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNativeObjectDetectionSetSettings, useNavigation, useNavigationGetFeatures, useNavigationGetStatus, useNavigationGoToPoint, useNavigationListActions, useNavigationMove, useNavigationPlaySound, useNavigationRunAction, useNavigationSetLightLevel, useNavigationSetLightMode, useNavigationSetLightOn, useNavigationStop, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkLinkGetStatus, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesDirectory, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputGetTarget, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputProbeTargetConfig, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotificationRulesActivateAlarmProfile, useNotificationRulesCancelSnooze, useNotificationRulesCreateAlarmProfile, useNotificationRulesCreateRule, useNotificationRulesCreateSequence, useNotificationRulesCreateSnooze, useNotificationRulesDeleteAlarmProfile, useNotificationRulesDeleteRule, useNotificationRulesDeleteSequence, useNotificationRulesGetAlarmConfig, useNotificationRulesGetAlarmSensors, useNotificationRulesGetClipRetentionAsks, useNotificationRulesGetConditionCatalog, useNotificationRulesGetHistory, useNotificationRulesGetRule, useNotificationRulesGetRuleLastRuns, useNotificationRulesGetSequence, useNotificationRulesGetTemplateCatalog, useNotificationRulesListDeviceMutes, useNotificationRulesListRules, useNotificationRulesListSequences, useNotificationRulesListSnoozes, useNotificationRulesPreviewStateSummary, useNotificationRulesPreviewTemplate, useNotificationRulesRenameAlarmProfile, useNotificationRulesResolveArtifactUrl, useNotificationRulesSetAlarmConfig, useNotificationRulesSetDeviceMuted, useNotificationRulesSetRuleEnabled, useNotificationRulesTestRule, useNotificationRulesUpdateRule, useNotificationRulesUpdateSequence, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOidcConnectionsConnectionFormSchema, useOidcConnectionsCreateConnection, useOidcConnectionsDeleteConnection, useOidcConnectionsListConnections, useOidcConnectionsUpdateConnection, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdManagerClearSlotBinding, useOsdManagerCopyDeviceConfiguration, useOsdManagerDeleteTemplate, useOsdManagerGetConditionSupport, useOsdManagerGetDeviceOsd, useOsdManagerGetSourceCatalog, useOsdManagerListTemplates, useOsdManagerPreviewSlot, useOsdManagerRenderDevice, useOsdManagerSetSlotBinding, useOsdManagerSetSlotCameraEnabled, useOsdManagerUpsertTemplate, useOsdSetOverlay, usePTZ, usePersistedPageSize, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePickerSiteZones, usePipelineAnalyticsAddRetrainFrameFromRecording, usePipelineAnalyticsAddRetrainFramesToCollection, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsBackfillRetrainOrigins, usePipelineAnalyticsCancelRelocateMedia, usePipelineAnalyticsCancelStorageMigrationMove, usePipelineAnalyticsClearTrackRelation, usePipelineAnalyticsClearTracks, usePipelineAnalyticsCompleteRetrainTrack, usePipelineAnalyticsCountRelocatableMedia, usePipelineAnalyticsCountUnstampedEventMedia, usePipelineAnalyticsCreateRetrainCollection, usePipelineAnalyticsDeleteDeviceEvents, usePipelineAnalyticsDeleteRetrainCollection, usePipelineAnalyticsDeleteTracks, usePipelineAnalyticsDeselectRetrainFrame, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventDensityBatch, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetEventMediaFootprintByKind, usePipelineAnalyticsGetEventStoreFootprint, usePipelineAnalyticsGetKeyEvents, usePipelineAnalyticsGetKeyEventsBatch, usePipelineAnalyticsGetMediaReclaimStatus, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEmbeddingRebuildStatus, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetRetrainCorpusKpi, usePipelineAnalyticsGetRetrainExportUrl, usePipelineAnalyticsGetRetrainFrameImage, usePipelineAnalyticsGetSensorEvents, usePipelineAnalyticsGetStorageMigrationMoveStatus, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsGetTrainingExportSummary, usePipelineAnalyticsGetTrainingExportUrl, usePipelineAnalyticsListArchivedDebugNotes, usePipelineAnalyticsListBirthDecisions, usePipelineAnalyticsListEventKinds, usePipelineAnalyticsListEventKindsBatch, usePipelineAnalyticsListEventMedia, usePipelineAnalyticsListOpsLog, usePipelineAnalyticsListRecentTracks, usePipelineAnalyticsListRelocateMediaJobs, usePipelineAnalyticsListRetrainAnnotations, usePipelineAnalyticsListRetrainAssistProfiles, usePipelineAnalyticsListRetrainCollectionFrames, usePipelineAnalyticsListRetrainCollections, usePipelineAnalyticsListRetrainCorpusPage, usePipelineAnalyticsListRetrainFrames, usePipelineAnalyticsListRetrainStaging, usePipelineAnalyticsListTrackMedia, usePipelineAnalyticsListTrackRelations, usePipelineAnalyticsListTracks, usePipelineAnalyticsOfferRetrainArchive, usePipelineAnalyticsOwnersWithMedia, usePipelineAnalyticsPauseForStorageMigration, usePipelineAnalyticsProposeRetrainAnnotations, usePipelineAnalyticsProposeRetrainAnnotationsWithLlm, usePipelineAnalyticsPruneEvents, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsPruneTracksBefore, usePipelineAnalyticsReadLongTermSeries, usePipelineAnalyticsRebuildObjectEmbeddings, usePipelineAnalyticsReclaimDebugMedia, usePipelineAnalyticsReconcileFromDisk, usePipelineAnalyticsRefreshStorageLocationsForMigration, usePipelineAnalyticsRelocateMedia, usePipelineAnalyticsRemoveRetrainFrameFromCollection, usePipelineAnalyticsRenameRetrainCollection, usePipelineAnalyticsResolveRetrainTrainingCorpus, usePipelineAnalyticsRestageRetrainTrack, usePipelineAnalyticsResumeForStorageMigration, usePipelineAnalyticsSaveRetrainAnnotations, usePipelineAnalyticsSearchObjectEvents, usePipelineAnalyticsSelectRetrainFrames, usePipelineAnalyticsSetRetrainFrameComplete, usePipelineAnalyticsSetTrackFlags, usePipelineAnalyticsSetTrackPurity, usePipelineAnalyticsSetTrackRelation, usePipelineAnalyticsStartStorageMigrationMove, usePipelineAnalyticsWipeAllAnalytics, usePipelineAnalyticsWipeObjectEmbeddings, usePipelineAnalyticsWriteRetrainArchive, usePipelineExecutorCacheFrameInPool, usePipelineExecutorClearDeviceOverrides, usePipelineExecutorClearModelBoundDeviceOverrides, usePipelineExecutorDeleteModel, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetInferenceDeviceHealth, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorRearmInferenceDevice, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorValidatePipeline, usePipelineOrchestratorAbortNodeBenchmark, usePipelineOrchestratorApplyAutoTune, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteNodeBenchmarkResult, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraDetectionSource, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCameraSwitches, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetClusterModelChoice, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetEffectiveShares, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetIngestOwner, usePipelineOrchestratorGetNodeBenchmarkCandidates, usePipelineOrchestratorGetNodeBenchmarkPreflight, usePipelineOrchestratorGetNodeBenchmarkStatus, usePipelineOrchestratorGetNodeInferenceDevices, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorGetPipelineDevicePin, usePipelineOrchestratorGetPlacementStats, usePipelineOrchestratorGetReconcileFromDiskStatus, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListNodeBenchmarkResults, usePipelineOrchestratorPauseForStorageMigration, usePipelineOrchestratorPlanAutoTune, usePipelineOrchestratorRebalance, usePipelineOrchestratorReconcileFromDisk, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorRequestOccupancyLook, usePipelineOrchestratorResetNodePipelineDefaults, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorResumeForStorageMigration, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDecodeLimits, usePipelineOrchestratorSetAgentInferenceDevices, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetAgentReachableHost, usePipelineOrchestratorSetCameraDetectionSource, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraSensors, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepSettings, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCameraSwitch, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorSetLoadBalancingShares, usePipelineOrchestratorSetPipelineDevicePin, usePipelineOrchestratorSetShareSource, usePipelineOrchestratorStartNodeBenchmark, usePipelineOrchestratorSuggestShares, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignPipeline, usePipelineRunnerAbortNodeBench, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerGetNativeCrop, usePipelineRunnerGetNodeBenchStatus, usePipelineRunnerGetParkedTrackFrame, usePipelineRunnerParkTrackFrame, usePipelineRunnerReleaseParkedTrackFrames, usePipelineRunnerReportMotion, usePipelineRunnerRequestOccupancyBurst, usePipelineRunnerRunDetailSubtree, usePipelineRunnerRunStatelessStep, usePipelineRunnerStartNodeBench, usePlateGalleryAssignPlate, usePlateGalleryAssignPlates, usePlateGalleryCorrectPlateText, usePlateGalleryCreateVehicle, usePlateGalleryDeletePlate, usePlateGalleryDeleteVehicle, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGalleryListVehicleSamples, usePlateGalleryListVehicles, usePlateGalleryRemoveVehicleSample, usePlateGalleryRenameVehicle, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlateGalleryUnassignPlate, usePlateGalleryUnassignPlates, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetAudioEnabled, usePrivacyMaskSetMask, usePrompt, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzCaptureHomeHere, usePtzContinuousMove, usePtzDeletePreset, usePtzGetHomePreset, usePtzGetHomeReturn, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzSetHomePreset, usePtzSetHomeReturn, usePtzStop, useRebootReboot, useRecordEntriesDeleteEntry, useRecordEntriesListEntries, useRecordEntriesListEntryKinds, useRecordEntriesPutEntry, useRecordedPlayback, useRecordingArchiveApplyDeviceSettingsPatch, useRecordingArchiveCancelRelocateJob, useRecordingArchiveCancelStorageMigrationMove, useRecordingArchiveDeleteFootprint, useRecordingArchiveGetAvailabilityBatch, useRecordingArchiveGetDaysWithRecordingsBatch, useRecordingArchiveGetDeviceConfig, useRecordingArchiveGetDeviceLiveContribution, useRecordingArchiveGetDeviceSettingsContribution, useRecordingArchiveGetPlacement, useRecordingArchiveGetRelocateResidue, useRecordingArchiveGetStatus, useRecordingArchiveGetStorageMigrationMoveStatus, useRecordingArchiveGetStorageUsage, useRecordingArchiveListOpsLog, useRecordingArchiveListRelocateJobs, useRecordingArchiveLocateSegment, useRecordingArchivePauseForStorageMigration, useRecordingArchivePlanStorageRebalance, useRecordingArchivePruneFootage, useRecordingArchiveReadGopBytes, useRecordingArchiveReadSegmentBytes, useRecordingArchiveReadWindowBytes, useRecordingArchiveReconcileLedgerAgainstDisk, useRecordingArchiveRefreshStorageLocationsForMigration, useRecordingArchiveRelocateFootage, useRecordingArchiveRenderClip, useRecordingArchiveRenderGif, useRecordingArchiveRescanStorage, useRecordingArchiveResumeForStorageMigration, useRecordingArchiveSetDeviceConfig, useRecordingArchiveSetDevicePlacement, useRecordingArchiveStartStorageMigrationMove, useRecordingArchiveStartStorageRebalance, useRecordingExportCancelExport, useRecordingExportCreateExport, useRecordingExportDeleteExport, useRecordingExportGetDownloadUrl, useRecordingExportGetExport, useRecordingExportListExports, useRecordingExportReadExportBytes, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetPlayback, useRecordingGetPlaybackOptions, useRecordingListSources, useRecordingOnboardGetOptions, useRecordingOnboardGetStatus, useRecordingOnboardSetSettings, useRecordingSignalGetStatus, useRemoteComponent, useRoleDisplayDefaults, useSceneMonitorCaptureReference, useSceneMonitorCreateScene, useSceneMonitorDeleteReference, useSceneMonitorDeleteScene, useSceneMonitorGetStatus, useSceneMonitorListScenes, useSceneMonitorListScenesBatch, useSceneMonitorRecheckNow, useSceneMonitorResetScene, useSceneMonitorUpdateScene, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useServerManagementApplyServerUpdate, useServerManagementCheckServerUpdate, useServerManagementGetServerPackageStatus, useServerManagementRestartServer, useServerManagementRollbackServerUpdate, useSettingsStoreAggregate, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreDeleteWhere, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreInsertMany, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreTransact, useSettingsStoreUpdate, useSettingsStoreUpdateWhere, useSettingsStoreUpsert, useSettingsStoreUpsertMany, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDebugState, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetSnapshotLinks, useSnapshotGetSnapshotOverview, useSnapshotGetStatus, useSnapshotInvalidateCache, useStationaryOverlay, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageList, useStorageListDrainProgress, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageMigrationCancel, useStorageMigrationCleanupCancel, useStorageMigrationCleanupStart, useStorageMigrationCleanupStatus, useStorageMigrationDrain, useStorageMigrationHistory, useStorageMigrationMoverClearance, useStorageMigrationMovers, useStorageMigrationPlan, useStorageMigrationResidue, useStorageMigrationStart, useStorageMigrationStatus, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStoredGroupBy, useStreamBrokerAcquireEgressTranscode, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerFetchEventMedia, useStreamBrokerForgetDeviceHardware, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceAudioMute, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetLiveViewerCounts, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerProduceEventMedia, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseEgressTranscode, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRenderPreBufferClip, useStreamBrokerReportStreamSignal, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetDeviceAudioMute, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useStreamSignalsListSignals, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemDetectSiteLocation, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetFailureContributions, useSystemGetLoadContributions, useSystemGetLoggingSettings, useSystemGetRequestCensus, useSystemGetRetentionConfig, useSystemGetSiteLocation, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetLoggingSettings, useSystemSetRetentionConfig, useSystemSetSiteLocation, useTamperGetStatus, useTemperatureSensorGetStatus, useTerminalSessionAdoptLegacyMonitor, useTerminalSessionClose, useTerminalSessionCreateInstance, useTerminalSessionDeleteInstance, useTerminalSessionListInstances, useTerminalSessionListLegacyCameras, useTerminalSessionListProfiles, useTerminalSessionListSessions, useTerminalSessionOpenSession, useTerminalSessionPullOutput, useTerminalSessionResize, useTerminalSessionSetInstanceEnabled, useTerminalSessionUpdateInstance, useTerminalSessionWriteInput, useThemeMode, useToastOnToast, useTrainingCanaryResult, useTrainingCancelJob, useTrainingDiscardResult, useTrainingGetJob, useTrainingGetJobResult, useTrainingListBaseModels, useTrainingListJobs, useTrainingPlanJob, useTrainingRegisterResult, useTrainingRollbackCanary, useTrainingStartJob, useTrainingStartJobBatch, useTurnProviderGetTurnServers, useUiText, useUpdateGetStatus, useUpdateInstallUpdate, useUrlQueryParam, useUserManagementConfirmTotp, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementFindUserByExternalIdentity, useUserManagementGetTotpStatus, useUserManagementListExternalIdentities, useUserManagementListOauthSessions, useUserManagementListUsers, useUserManagementMigrateRawSecrets, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeOauthSession, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUnlinkExternalIdentity, useUserManagementUpdateUser, useUserManagementValidateCredentials, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsDialClipStream, useVideoclipsGetClipPlayback, useVideoclipsGetPlaybackOptions, useVideoclipsListClips, useVideoclipsListSources, useVideoclipsOfferClipBytes, useVideoclipsReadClipBytes, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionApplyDownlinkProbe, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionDebug, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetCurrentSnapshotBatch, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, Route as ut, Users as v, vacuumStateMeta, validateScopes, valveStateMeta, variantLabel, Hammer as vn, ChartLine as vr, Puzzle as vt, Type as w, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint, withHiddenChart, withPanel, withResolvedParentDetail, withUseRootModel, withoutPanel, Funnel as wn, Bus as wr, writeStoredGroupBy, Plane as wt, Upload as x, GraduationCap as xn, Car as xr, Plug as xt, User as y, GripHorizontal as yn, Cat as yr, Power as yt, Sun as z, Download as zn, Bath as zr, Moon as zt };
|
|
68122
|
+
export { ShieldOff as $, Clock as $n, LoaderCircle as $t, TrainFront as A, AddProviderEntryDialog, AddonGlobalSettingsForm, AdminLinkQuickAction, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, Feather as An, AppShell, Bike as Ar, ArcKnob, Pause as At, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutomationHeroCard, AutomationInlineControl, AutotrackSection, SunMedium as B, BOOLEAN_STATES, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, BackToStepsButton, Badge, BarSeries, BatteryBadge, DoorClosed as Bn, BottomSheet, Baby as Br, Breadcrumb, BrightnessPanel, MonitorPlay as Bt, Button, ButtonControl, ButtonHeroCard, Undo2 as C, CENTER, CHART_SERIES_TOKENS, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONSUMABLE_LOW_PERCENT, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, ChartFrame, ChartPlaceholder, ChartSwatch, ChartWindowToggle, Checkbox, ChildSectionAccordion, ClimatePanel, Gamepad2 as Cn, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigNotificationTargetMultiSelectFieldView, ConfigNotificationTargetSelectFieldView, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumableLevelBadge, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, Bus as Cr, Play as Ct, CustomFieldRenderersProvider, TrendingDown as D, DATA_RECORDS_KIND_PARAM, DATA_RECORDS_OWNER_PARAM, DATA_RECORD_FACET_GROUPS, DEFAULT_COLOR, DEFAULT_PAGINATION_LABELS, DEVICE_COLUMNS, DEVICE_EXPORT_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_PICKER_GROUP_STORAGE_KEY, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DataRecordsHub, DataTable, DataTableFilterBar, DataTablePager, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceExportSetup, DeviceFilterBar, DeviceGrid, DeviceHistoryView, DeviceItem, DeviceList, DeviceMultiSelectField, DevicePicker, DeviceQuickDetailProvider, DeviceSelectField, DeviceSelectorPicker, DeviceStepMatrix, DevicesFailedLine, DevicesLoadingLine, DevicesWidenWarning, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, FlashlightOff as Dn, DoorbellRecentPanel, Bone as Dr, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, Phone as Dt, DummyHeroCard, DummyInline, TriangleAlert as E, EMPTY_DATA_TABLE_FILTER, EMPTY_HISTORY_PANELS, EVENT_KIND_ICONS, EmptyState, Flashlight as En, EndpointResultsCard, EndpointTestCard, EntryJsonSchemaForm, Bot as Er, ErrorBox, Pin as Et, EventKindGlyph, EventStream, ExtensionsPanel, Thermometer as F, FAST_ICON_GLYPHS, FILL, FLEET_LIST_GC_TIME_MS, FLEET_LIST_QUERY_KEY, FLEET_LIST_STALE_TIME_MS, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, EllipsisVertical as Fn, FormField$1 as FormField, BatteryMedium as Fr, Move as Ft, Snowflake as G, GAP_INTERVAL_FACTOR, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GateBadge, GateControl, Copy as Gn, ArrowDown as Gr, GripTrack, GroupedModelSelector, GroupedTilePicker, Menu as Gt, Square as H, HISTORY_PAGE_PATH, HISTORY_PANELS_NAMESPACE, HISTORY_SELECTION_MAX, HISTORY_WINDOW_IDS, HISTORY_WINDOW_MS, HOST_WIDGETS, HUB_SESSION_RUN_MS, HistoryChart, HistoryWindowBar, HlsVideo, Database as Hn, HoverZoomImage, ArrowUpToLine as Hr, Minimize2 as Ht, HubSessionTestCard, HumidifierHeroCard, HumidifierInlineControl, Target as I, INPUT_COMPACT, INPUT_SHELL, IconAction, IconButton, IconPicker, ImageHeroCard, ImageInlineControl, ImageSelector, Droplets as In, InferenceConfigSelector, Input, BatteryLow as Ir, MoveVertical as It, ItemFormDialog, SkipForward as J, CloudSun as Jn, AirVent as Jr, MapPin as Jt, Smartphone as K, KebabMenu, KeyValueList, Cog as Kn, ArrowDownToLine as Kr, Megaphone as Kt, Tag as L, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LayeredSettingsForm, LightHeroCard, LightInlineControl, Droplet as Ln, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, BatteryFull as Lr, MoveHorizontal as Lt, ToggleRight as M, MEDIA_GRID, MODE_COLOR, MaskShapeCanvas, MediaCard, MediaGrid, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, Eye as Mn, MobileDrawer, ModelPicker, MotionZonesSettings, BellRing as Mr, Network as Mt, ToggleLeft as N, NAVIGATION_DRIVE_INTERVAL_MS, NODE_COLOR_IDS, NatResultCard, NavigationPanel, NetworkLinkBadge, EyeOff as Nn, NodeMultiSelectField, NodePicker, NodeSelectField, NotificationTargetSelectField, NotificationTargetsField, Battery as Nr, Navigation as Nt, TrendingUp as O, OCCUPANCY_KEY, OPTION_SELECT_SEARCH_MIN_OPTIONS, OfflineBadge, Flame as On, OptionSelect, Blinds as Or, Pencil as Ot, Timer as P, PAGE_SIZE_ALL, PHASE_CONFIG, PICKER_CHIP_LIMIT, PICKER_DEFAULT_GROUP_BY, PICKER_GROUP_BY_MODES, PICKER_GROUP_COLLAPSE_AT, PICKER_NONE_KEY, PICKER_NOUN_PLURAL, PICKER_NO_FILTERS, PICKER_PAGE_SIZE, PICKER_SEARCH_DEBOUNCE_MS, PICKER_WINDOW, PRIORITY, PTZOverlay, PageHeader, PageShell, PageSizeSelect, Pagination, PasswordInput, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PlaceholderChipField, PlayerOverlaysProvider, ExternalLink as Pn, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, BatteryWarning as Pr, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, ProviderEntryPills, Music as Pt, PtzPanel, Shield as Q, CloudFog as Qn, QrCode, LocateFixed as Qt, Sunrise as R, RECONNECT_POLICY, RECORDED_PLAYBACK_MODES, RESOLUTION_BUCKET_MS, RIGHT, ROI_AREA_WARN_FRACTION, ROLE_DESCRIPTOR, ROOT_DETECTOR_STEP_ID, RadialGauge, RecordEntriesPanel, RecordedPlaybackProvider, RecordingPanel, ResponseLog, RetrainReviewBadge, Download as Rn, RoleDisplayDefaultsFromServer, RoleDisplayDefaultsProvider, RoleNodePill, RootModelSourceControl, RootSuppliedModelNote, Bath as Rr, MousePointerClick as Rt, RunReport, Unlink2 as S, SCENE_CAPTURE_VARIANTS, SECRET_MASK_PLACEHOLDER, SECRET_REVEAL_MS, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SETTING_ROW, SETTING_ROW_LABEL, SETTING_ROW_STACK_BREAKPOINT, SETTING_ROW_VALUE, SETTING_ROW_VALUE_TEXT, SNAPSHOT_MEDIA_PATH, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, STEP_DOCK_WIDTH_PX, SUBJECT_PATH_DWELL_EPS, SUBJECT_PATH_FULL_FRAME_COVERAGE, SUBJECT_PATH_MAX_POINTS, SceneMonitorEditor, ScopePicker, ScriptHeroCard, ScriptInlineControl, ScrollArea, SecretFieldControl, SecretRevealProvider, SectionCard, SectionToolbar, SectionedPage, SegmentedChoice, Select, SelectedChip, SemanticBadge, SendFrameToTrainingButton, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, SettingRow, Sidebar, SidebarItem, Skeleton, SlideToggle, Gauge as Sn, SnapshotButton, SortHeaderButton, Sparkline, Cable as Sr, Plus as St, StableTabPanel, StatCard, StateTimeline, StateValuesStream, StatusBadge, StepDetailDock, StepInspectorPanel, StepModelRow, StepTimings, Stepper, StorageRecordsPanel, StreamBrokerSelector, StreamDebugOverlay, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, Truck as T, TABLE_SCROLL_MAX_H, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimeSeriesChart, TimezoneSelector, Footprints as Tn, Tooltip, TooltipContent, TooltipTrigger, Box as Tr, TrainingBaseModelPicker, TrainingCollectionPicker, Pipette as Tt, Sprout as U, UiTextProvider, UiTrans, Crosshair as Un, UnitPicker, ArrowRight as Ur, Mic as Ut, Star as V, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, Dog as Vn, VodPlaybackProvider, ArrowUp as Vr, Minus as Vt, Sparkles as W, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, Cpu as Wn, ArrowLeft as Wr, MessageSquare as Wt, Siren as X, CloudRain as Xn, Lock as Xt, SkipBack as Y, CloudSnow as Yn, Activity as Yr, Mail as Yt, Ship as Z, CloudLightning as Zn, ZoneEditingProvider, LockOpen as Zt, UtensilsCrossed as _, Hand as _n, ChartLine as _r, QrCode$1 as _t, Wrench as a, acceleratorLabel, acceleratorShortLabel, agentColumnKey, alignSeries, allDeviceTypeFilterOptions, LayoutGrid as an, anchorNow, applyFleetQueryDefaults, applyPickerFilters, CirclePause as ar, ariaSortForColumn, assignNodeColorId, Search as at, axisTicks, UserCheck as b, badgeFor, bindsToModel, Grid2x2 as bn, booleanLabels, Car as br, PowerOff as bt, bucketTotals, buildColorByNodeId, buildDataRecordRows, buildPeerConnectionConfig, buildStepTreeFromSchema, buildSubjectPath, buildTimeSeriesModel, Wifi as c, catalogHasDraft, chartKeys, chartSeriesStyle, childEntityId, childListName, chipOverflow, chunk, classifyAddressScope, classifyCapability, classifySessionVerdict, clearPickerGroup, clusterRootModelIds, cn, colorIdForNode, columnsForContext, compareSrflxMappings, computePageButtons, consumableItemLevel, consumableLevelBarClass, consumableLevelLabel, consumableLevelVariant, containerChildToRef, countableDevices, coverHighlight, coverageLine, CircleCheckBig as cr, createAddonI18n, createSharedContext, createTheme, Save as ct, currentAddonLanguage, cursorFractionFor, WifiLow as d, darkColors, dataRecordContents, dataRecordKey, dataRecordSearchText, dataRecordType, dataTableFacetGroups, dataTableFacets, decodeCustomWindow, decodeSeriesRef, defaultAxisSpec, defaultOfField, defaultSelectClusterRoots, defaultSingleClusterRoot, defaultTheme, defaultUiText, deriveDeviceKind, deriveWebrtcDebugStats, describeDeviceSelector, deviceIntegrationResolver, deviceListStateOf, deviceMatchesFilter, deviceOptionLabel, deviceRoleMeta, deviceRoleMetaOf, deviceTypeLabel, deviceTypeMeta, deviceTypeMetaOf, devicesToOptions, ImageOff as dn, dockBox, ChevronsDownUp as dr, draftFromQuery, RotateCw as dt, effectivePageSize, emptyDevicesWidens, emptySessionRun, List as en, encodeCustomWindow, encodeSeriesRef, energyBuckets, ensureMfHostInit, Clapperboard as er, ShieldCheck as et, eventKindLabel, WifiHigh as f, filterDataTableRows, filterDeviceOptions, filterOccupancyLines, filterOptions as filterOptionSelectOptions, filterPickerDevices, finalizeSessionRun, findTimezone, flattenPickerGrouping, flattenPickerRows, fleetViewOf, House as fn, formatChartBytes, formatChartNumber, formatChartValue, formatControlDateTime, formatLastSeen, formatNumeric, formatSettingValue, formatSpan, formatTimeLabel, ChevronUp as fr, freezeVerdict, RotateCcw as ft, fuzzyMatch, Vibrate as g, gapThresholdMs, getClassColor, getPhaseVisual, HardDrive as gn, Check as gr, groupAgentColumns, groupChildrenByLayout, groupDeviceSeries, groupPickerDevices, groupPickerDevicesBy, Radar as gt, Volume2 as h, hardwareLabel, historyPageHref, Hash as hn, ChevronDown as hr, RadioTower as ht, hubOrigin, hubPath, hubUrl, hubWsUrl, humanDuration, humanizeName, humidifierTint, X as i, iconGlyphsFailed, iconGlyphsLoaded, Leaf as in, initialScrubState, insertAtSelection, CirclePlus as ir, isAbsentProvider, isByteUnit, isConsumableLevelField, isDataTableFilterActive, isDrawableSubjectPath, isFieldVisible, isGroupExpanded, isHistoryWindowId, isKeychainFieldValue, isRedactedSecret, isRefusal, isSecretField, isValueField, Server as it, Tractor as j, Fan as jn, Bell as jr, Package as jt, Trash2 as k, Film as kn, Bird as kr, PawPrint as kt, WifiZero as l, lawnMowerActivityMeta, lightColors, linePoints, Inbox as ln, loadIconGlyphs, loadRemoteBundle, CircleAlert as lr, Sailboat as lt, lucideExportName, VolumeX as m, makeScrubBridge, mapRootDetectorPlacements, mergeSecretForSubmit, metadataEntries, metadataString, mirror, Heater as mn, mountAddonPage, mountPath, ChevronLeft as mr, Radio as mt, ZoomIn as n, nextGridPosition, nextReconnectAction, nextSort, nextSortDirection, nextTableSort, niceMax, niceRange, Link2 as nn, nodeColorClass, nodeSoftBgClass, nodeTextColorClass, normalizeForSearch, normalizeLanguage, normalizeSelection, CircleStop as nr, Share2 as nt, Workflow as o, occupancyFacets, occupancyLines, offListSelections, Laugh as on, openTopLayer, optionSearchText as optionSelectSearchText, CircleDot as or, orphanDeviceLabel, ScrollText as ot, overrideEntityIdFromLink, Waves as p, pageRows, pageSizeLabel, paginateRows, parentDetailOf, parseCapKey, parseConsumableLevel, parseIceCandidate, parsePickerGroupBy, parseProducerKey, parseRecordedServerMessage, partitionSelected as partitionOptionSelectSelected, partitionSuggested, pickerFacetFilterShown, pickerFacetKey, pickerFacetOptions, pickerFiltersActive, pickerGroupKey, pickerHiddenSelectedCount, pickerLocationKey, pickerQueryTokens, pickerRowFacts, pickerSearchText, pickerZoneFilterSuspended, pinnedStreamChoices, placePopover, History as pn, ChevronRight as pr, previousWindow, projectSubjectPath, providerIcons, RefreshCw as pt, SlidersHorizontal as q, Cloud as qn, AlarmSmoke as qr, Maximize2 as qt, Zap as r, readHistory, readHistoryPanels, readItemId, readStoredGroupBy, reduceSessionRun, registerAddonBundle, renderMarkup, renderTagged, resetHubMountForTests, resetPickerFilters, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDeviceIntegration, resolveDisplayIcon, resolveEffectiveDefaultModel, resolveEffectiveStepModel, resolveEventKindIcon, resolveHistoryWindow, resolveSearchable as resolveOptionSelectSearchable, resolveParentNames, resolvePrimaryChild, resolveSelectedDevices, resolveSensorDisplay, resolveStepDefaultModel, retrainReviewBadgeLook, Lightbulb as rn, roiTooLarge, rootSourceState, routerBasename, CircleQuestionMark as rr, Settings as rt, Wind as s, sameLocationSuggestions, scrubReducer, searchSteps, secretDisplayValue, secretSubmitValue, segmentsFromChanges, selectPickerGroup, selectedDeviceOptions, serializeRecordedCommand, seriesRefId, settingsModelIdFor, sharedGapSpans, shiftPoints, shouldCommit, shouldEmit, shouldShowAddNewFooter, shouldShowUseQueryRow, shouldUseSingleNode, showsNoCamerasHint, Info as sn, sortRows, sortRowsByColumn, CircleCheck as sr, Scan as st, stackBuckets, stackSeries, stateAt, stateRow, stateStyle, statusIcons, statusLine, stepFieldDomId, stepHasModelForFormat, stepLocalFields, stepModelOptions, stripParentNamePrefix, subjectPathSampleFromBox, subjectPathSvgPoints, summarizeHubCandidates, swatchFillClass, swatchLineClass, ZoomOut as t, tabForSelector, themeToCss, themeToRootCss, timeInState, ListChecks as tn, toStationaryOverlayBox, toggleDataTableFacet, toggleDataTableGroupFacet, togglePickerDevice, togglePickerKey, CircleX as tr, trainingRefusalText, translateAddonKey, trpc, ShieldAlert as tt, typeLabel, WifiOff as u, Image as un, unitAxes, ChevronsUpDown as ur, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsGetIntegrationSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonT, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListInstallations, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlert, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerAttachDevice, useAudioAnalyzerClassify, useAudioAnalyzerDetachDevice, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupCancel, useBackupCheckBackupKey, useBackupDelete, useBackupDeleteSchedule, useBackupDisableEncryption, useBackupGetEncryption, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListAvailableDatabases, useBackupListDestinations, useBackupListLocations, useBackupListRuns, useBackupListSchedules, useBackupPreviewSchedule, useBackupRestore, useBackupSetupEncryption, useBackupTrigger, useBackupUpsertDestinationPolicy, useBackupUpsertSchedule, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCalendarsGetPreferences, useCalendarsListCalendars, useCalendarsListEvents, useCalendarsSetCalendarPreference, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraGridLayoutApplyDeviceSettingsPatch, useCameraGridLayoutGetDeviceLiveContribution, useCameraGridLayoutGetDeviceSettingsContribution, useCameraGridLayoutGetLayout, useCameraGridLayoutSaveLayout, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCapabilityPresence, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useClusterTopology, useColorGetStatus, useColorSetColor, useConfirm, useConnectionTestDescribeTest, useConnectionTestTestSettings, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoreBlocksCompile, useCoreBlocksCreate, useCoreBlocksCreateComposition, useCoreBlocksDelete, useCoreBlocksGet, useCoreBlocksGetBlockSettings, useCoreBlocksGetComposition, useCoreBlocksGetCustomization, useCoreBlocksGetTypeDefs, useCoreBlocksList, useCoreBlocksListComposableCaps, useCoreBlocksListCompositions, useCoreBlocksMigrateRawSecrets, useCoreBlocksRestart, useCoreBlocksSetEnabled, useCoreBlocksUpdate, useCoreBlocksUpdateBlockSettings, useCoreBlocksUpdateComposition, useCoreBlocksValidateComposition, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDataTableFilter, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderGetInfo, useDecoderReprobeHwaccel, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdminLink, useDeviceAdminLinkGetAdminLink, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceCredentialsDeleteDeviceCredential, useDeviceCredentialsGetDeviceCaStatus, useDeviceCredentialsGetDeviceCertificateSettings, useDeviceCredentialsListDeviceCredentials, useDeviceCredentialsRenameDeviceCredential, useDeviceCredentialsRevokeDeviceCredential, useDeviceCredentialsSetDeviceCertificateSettings, useDeviceCredentialsStartEnrollment, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceExtensionListCandidates, useDeviceExtensionListSlots, useDeviceExtensionListSources, useDeviceExtensionSetSlot, useDeviceHistoryDeclareSeries, useDeviceHistoryDeleteOrphanSeries, useDeviceHistoryGetDeviceEnabled, useDeviceHistoryGetStatus, useDeviceHistoryListNodeSeries, useDeviceHistoryListOrphanSeries, useDeviceHistoryListSeries, useDeviceHistoryQuery, useDeviceHistoryQueryMany, useDeviceHistoryQueryNode, useDeviceHistoryRecord, useDeviceHistoryRecordBuckets, useDeviceHistorySetDeviceEnabled, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionCancelJob, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionListJobs, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAdoptionStartJob, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyInitialMeta, useDeviceManagerCleanupDeletedDevicesData, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetBindingsBatch, useDeviceManagerGetChildren, useDeviceManagerGetChildrenBatch, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetDeviceStatusAggregateBatch, useDeviceManagerGetLinkedDevices, useDeviceManagerGetLinkedDevicesBatch, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerGetWrapperActivation, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListDeletedSince, useDeviceManagerListDeviceIdsByCaps, useDeviceManagerListLocationDescriptions, useDeviceManagerListLocationIcons, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListSiteZones, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerMigrateDevice, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRemoveSiteZone, useDeviceManagerRenameLocation, useDeviceManagerRenameSiteZone, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetLocationDescription, useDeviceManagerSetLocationIcon, useDeviceManagerSetLocationZone, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetSiteZone, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceNetworkLink, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderReloadDevice, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceQuickDetailOpen, useDeviceSeriesList, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateClaimFields, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetNativeCapSlice, useDeviceStateGetSnapshot, useDeviceStateListClaims, useDeviceStatePatchOwnedFields, useDeviceStateReleaseClaim, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDishwasherGetOptions, useDishwasherGetStatus, useDishwasherPause, useDishwasherResume, useDishwasherSetChildLock, useDishwasherSetExtraDry, useDishwasherSetHalfLoad, useDishwasherSetHygienePlus, useDishwasherSetIntensiveZone, useDishwasherSetOption, useDishwasherSetPower, useDishwasherSetProgram, useDishwasherSetVarioSpeedPlus, useDishwasherStart, useDishwasherStop, useDisplayIconResolver, useDoorbellEvents, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryAuditIdentitySamples, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHeatingValveGetStatus, useHistoryPanels, useHistoryReader, useHistoryReads, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useIconGlyphsVersion, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useItemFormUrl, useKeychainAdminAcknowledgeReset, useKeychainAdminDeleteOrphans, useKeychainAdminDownloadRecoveryKey, useKeychainAdminImportSecret, useKeychainAdminListAudit, useKeychainAdminListSecrets, useKeychainAdminPurgeRetiredKeys, useKeychainAdminResetKeychain, useKeychainAdminResetReport, useKeychainAdminReveal, useKeychainAdminRotateMasterKey, useKeychainAdminSetSystemSecret, useKeychainAdminStatus, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLlmCancel, useLlmDeleteModel, useLlmDeleteProfile, useLlmGenerate, useLlmGenerateVision, useLlmGetDefaults, useLlmGetRuntimeStatus, useLlmGetUsage, useLlmInstallModel, useLlmListModelCatalog, useLlmListModels, useLlmListNodeModels, useLlmListProfileKinds, useLlmListProfiles, useLlmListRuntimeNodes, useLlmMigrateRawSecrets, useLlmResolveModelRef, useLlmSetDefault, useLlmStartRuntime, useLlmStopRuntime, useLlmTestProfile, useLlmUpsertProfile, useLocalNetworkAddCustomAddress, useLocalNetworkDownloadCa, useLocalNetworkGetAddresses, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetHubAddresses, useLocalNetworkGetNotificationEndpoint, useLocalNetworkGetPreferred, useLocalNetworkGetTlsStatus, useLocalNetworkGetViewerEndpoints, useLocalNetworkList, useLocalNetworkRegenerateCertificate, useLocalNetworkRemoveCustomAddress, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkRevertToGeneratedCertificate, useLocalNetworkSetAddressRole, useLocalNetworkSetAllowedAddresses, useLocalNetworkSetNotificationEndpoint, useLocalNetworkSetViewerEndpoints, useLocalNetworkUploadCertificate, useLocalNetworkUseStoredUploadedCertificate, 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, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetLoadSeries, useMetricsProviderGetProcessStats, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetOptions, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNativeObjectDetectionSetSettings, useNavigation, useNavigationGetFeatures, useNavigationGetStatus, useNavigationGoToPoint, useNavigationListActions, useNavigationMove, useNavigationPlaySound, useNavigationRunAction, useNavigationSetLightLevel, useNavigationSetLightMode, useNavigationSetLightOn, useNavigationStop, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkLinkGetStatus, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesDirectory, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputGetTarget, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputProbeTargetConfig, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotificationRulesActivateAlarmProfile, useNotificationRulesCancelSnooze, useNotificationRulesCreateAlarmProfile, useNotificationRulesCreateRule, useNotificationRulesCreateSequence, useNotificationRulesCreateSnooze, useNotificationRulesDeleteAlarmProfile, useNotificationRulesDeleteRule, useNotificationRulesDeleteSequence, useNotificationRulesGetAlarmConfig, useNotificationRulesGetAlarmSensors, useNotificationRulesGetClipRetentionAsks, useNotificationRulesGetConditionCatalog, useNotificationRulesGetHistory, useNotificationRulesGetRule, useNotificationRulesGetRuleLastRuns, useNotificationRulesGetSequence, useNotificationRulesGetTemplateCatalog, useNotificationRulesListDeviceMutes, useNotificationRulesListRules, useNotificationRulesListSequences, useNotificationRulesListSnoozes, useNotificationRulesPreviewStateSummary, useNotificationRulesPreviewTemplate, useNotificationRulesRenameAlarmProfile, useNotificationRulesResolveArtifactUrl, useNotificationRulesSetAlarmConfig, useNotificationRulesSetDeviceMuted, useNotificationRulesSetRuleEnabled, useNotificationRulesTestRule, useNotificationRulesUpdateRule, useNotificationRulesUpdateSequence, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOidcConnectionsConnectionFormSchema, useOidcConnectionsCreateConnection, useOidcConnectionsDeleteConnection, useOidcConnectionsListConnections, useOidcConnectionsUpdateConnection, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdManagerClearSlotBinding, useOsdManagerCopyDeviceConfiguration, useOsdManagerDeleteTemplate, useOsdManagerGetConditionSupport, useOsdManagerGetDeviceOsd, useOsdManagerGetSourceCatalog, useOsdManagerListTemplates, useOsdManagerPreviewSlot, useOsdManagerRenderDevice, useOsdManagerSetSlotBinding, useOsdManagerSetSlotCameraEnabled, useOsdManagerUpsertTemplate, useOsdSetOverlay, usePTZ, usePersistedDisclosure, usePersistedPageSize, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePickerSiteZones, usePipelineAnalyticsAddRetrainFrameFromRecording, usePipelineAnalyticsAddRetrainFramesToCollection, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsBackfillRetrainOrigins, usePipelineAnalyticsCancelRelocateMedia, usePipelineAnalyticsCancelStorageMigrationMove, usePipelineAnalyticsClearTrackRelation, usePipelineAnalyticsClearTracks, usePipelineAnalyticsCompleteRetrainTrack, usePipelineAnalyticsCountRelocatableMedia, usePipelineAnalyticsCountUnstampedEventMedia, usePipelineAnalyticsCreateRetrainCollection, usePipelineAnalyticsDeleteDeviceEvents, usePipelineAnalyticsDeleteRetrainCollection, usePipelineAnalyticsDeleteTracks, usePipelineAnalyticsDeselectRetrainFrame, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventDensityBatch, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetEventMediaFootprintByKind, usePipelineAnalyticsGetEventStoreFootprint, usePipelineAnalyticsGetKeyEvents, usePipelineAnalyticsGetKeyEventsBatch, usePipelineAnalyticsGetMediaReclaimStatus, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEmbeddingRebuildStatus, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetRetrainCorpusKpi, usePipelineAnalyticsGetRetrainExportUrl, usePipelineAnalyticsGetRetrainFrameImage, usePipelineAnalyticsGetSensorEvents, usePipelineAnalyticsGetStorageMigrationMoveStatus, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsGetTrainingExportSummary, usePipelineAnalyticsGetTrainingExportUrl, usePipelineAnalyticsListArchivedDebugNotes, usePipelineAnalyticsListBirthDecisions, usePipelineAnalyticsListEventKinds, usePipelineAnalyticsListEventKindsBatch, usePipelineAnalyticsListEventMedia, usePipelineAnalyticsListOpsLog, usePipelineAnalyticsListRecentTracks, usePipelineAnalyticsListRelocateMediaJobs, usePipelineAnalyticsListRetrainAnnotations, usePipelineAnalyticsListRetrainAssistProfiles, usePipelineAnalyticsListRetrainCollectionFrames, usePipelineAnalyticsListRetrainCollections, usePipelineAnalyticsListRetrainCorpusPage, usePipelineAnalyticsListRetrainFrames, usePipelineAnalyticsListRetrainStaging, usePipelineAnalyticsListTrackMedia, usePipelineAnalyticsListTrackRelations, usePipelineAnalyticsListTracks, usePipelineAnalyticsOfferRetrainArchive, usePipelineAnalyticsOwnersWithMedia, usePipelineAnalyticsPauseForStorageMigration, usePipelineAnalyticsProposeRetrainAnnotations, usePipelineAnalyticsProposeRetrainAnnotationsWithLlm, usePipelineAnalyticsPruneEvents, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsPruneTracksBefore, usePipelineAnalyticsReadLongTermSeries, usePipelineAnalyticsRebuildObjectEmbeddings, usePipelineAnalyticsReclaimDebugMedia, usePipelineAnalyticsReconcileFromDisk, usePipelineAnalyticsRefreshStorageLocationsForMigration, usePipelineAnalyticsRelocateMedia, usePipelineAnalyticsRemoveRetrainFrameFromCollection, usePipelineAnalyticsRenameRetrainCollection, usePipelineAnalyticsResolveRetrainTrainingCorpus, usePipelineAnalyticsRestageRetrainTrack, usePipelineAnalyticsResumeForStorageMigration, usePipelineAnalyticsSaveRetrainAnnotations, usePipelineAnalyticsSearchObjectEvents, usePipelineAnalyticsSelectRetrainFrames, usePipelineAnalyticsSetRetrainFrameComplete, usePipelineAnalyticsSetTrackFlags, usePipelineAnalyticsSetTrackPurity, usePipelineAnalyticsSetTrackRelation, usePipelineAnalyticsStartStorageMigrationMove, usePipelineAnalyticsWipeAllAnalytics, usePipelineAnalyticsWipeObjectEmbeddings, usePipelineAnalyticsWriteRetrainArchive, usePipelineExecutorCacheFrameInPool, usePipelineExecutorClearDeviceOverrides, usePipelineExecutorClearModelBoundDeviceOverrides, usePipelineExecutorDeleteModel, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetInferenceDeviceHealth, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorRearmInferenceDevice, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorValidatePipeline, usePipelineOrchestratorAbortNodeBenchmark, usePipelineOrchestratorApplyAutoTune, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteNodeBenchmarkResult, usePipelineOrchestratorForgetInferenceDevice, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraDetectionSource, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCameraSwitches, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetClusterModelChoice, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetEffectiveShares, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetIngestOwner, usePipelineOrchestratorGetNodeBenchmarkCandidates, usePipelineOrchestratorGetNodeBenchmarkPreflight, usePipelineOrchestratorGetNodeBenchmarkStatus, usePipelineOrchestratorGetNodeInferenceDevices, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorGetPipelineDevicePin, usePipelineOrchestratorGetPlacementStats, usePipelineOrchestratorGetReconcileFromDiskStatus, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListNodeBenchmarkResults, usePipelineOrchestratorPauseForStorageMigration, usePipelineOrchestratorPlanAutoTune, usePipelineOrchestratorRebalance, usePipelineOrchestratorReconcileFromDisk, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorRequestOccupancyLook, usePipelineOrchestratorResetNodePipelineDefaults, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorResumeForStorageMigration, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDecodeLimits, usePipelineOrchestratorSetAgentInferenceDevices, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetAgentReachableHost, usePipelineOrchestratorSetCameraDetectionSource, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraSensors, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepSettings, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCameraSwitch, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorSetLoadBalancingShares, usePipelineOrchestratorSetPipelineDevicePin, usePipelineOrchestratorSetShareSource, usePipelineOrchestratorStartNodeBenchmark, usePipelineOrchestratorSuggestShares, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignPipeline, usePipelineRunnerAbortNodeBench, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerGetNativeCrop, usePipelineRunnerGetNodeBenchStatus, usePipelineRunnerGetParkedTrackFrame, usePipelineRunnerParkTrackFrame, usePipelineRunnerReleaseParkedTrackFrames, usePipelineRunnerReportMotion, usePipelineRunnerRequestOccupancyBurst, usePipelineRunnerRunDetailSubtree, usePipelineRunnerRunStatelessStep, usePipelineRunnerStartNodeBench, usePlateGalleryAssignPlate, usePlateGalleryAssignPlates, usePlateGalleryCorrectPlateText, usePlateGalleryCreateVehicle, usePlateGalleryDeletePlate, usePlateGalleryDeleteVehicle, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGalleryListVehicleSamples, usePlateGalleryListVehicles, usePlateGalleryRemoveVehicleSample, usePlateGalleryRenameVehicle, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlateGalleryUnassignPlate, usePlateGalleryUnassignPlates, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetAudioEnabled, usePrivacyMaskSetMask, usePrompt, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzCaptureHomeHere, usePtzContinuousMove, usePtzDeletePreset, usePtzGetHomePreset, usePtzGetHomeReturn, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzSetHomePreset, usePtzSetHomeReturn, usePtzStop, useRebootReboot, useRecordEntriesDeleteEntry, useRecordEntriesListEntries, useRecordEntriesListEntryKinds, useRecordEntriesPutEntry, useRecordedPlayback, useRecordingArchiveApplyDeviceSettingsPatch, useRecordingArchiveCancelRelocateJob, useRecordingArchiveCancelStorageMigrationMove, useRecordingArchiveDeleteFootprint, useRecordingArchiveGetAvailabilityBatch, useRecordingArchiveGetDaysWithRecordingsBatch, useRecordingArchiveGetDeviceConfig, useRecordingArchiveGetDeviceLiveContribution, useRecordingArchiveGetDeviceSettingsContribution, useRecordingArchiveGetPlacement, useRecordingArchiveGetRelocateResidue, useRecordingArchiveGetStatus, useRecordingArchiveGetStorageMigrationMoveStatus, useRecordingArchiveGetStorageUsage, useRecordingArchiveListOpsLog, useRecordingArchiveListRelocateJobs, useRecordingArchiveLocateSegment, useRecordingArchivePauseForStorageMigration, useRecordingArchivePlanStorageRebalance, useRecordingArchivePruneFootage, useRecordingArchiveReadGopBytes, useRecordingArchiveReadSegmentBytes, useRecordingArchiveReadWindowBytes, useRecordingArchiveReconcileLedgerAgainstDisk, useRecordingArchiveRefreshStorageLocationsForMigration, useRecordingArchiveRelocateFootage, useRecordingArchiveRenderClip, useRecordingArchiveRenderGif, useRecordingArchiveRescanStorage, useRecordingArchiveResumeForStorageMigration, useRecordingArchiveSetDeviceConfig, useRecordingArchiveSetDevicePlacement, useRecordingArchiveStartStorageMigrationMove, useRecordingArchiveStartStorageRebalance, useRecordingExportCancelExport, useRecordingExportCreateExport, useRecordingExportDeleteExport, useRecordingExportGetDownloadUrl, useRecordingExportGetExport, useRecordingExportListExports, useRecordingExportReadExportBytes, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetPlayback, useRecordingGetPlaybackOptions, useRecordingListSources, useRecordingOnboardGetOptions, useRecordingOnboardGetStatus, useRecordingOnboardSetSettings, useRecordingSignalGetStatus, useRemoteComponent, useRoleDisplayDefaults, useSceneMonitorCaptureReference, useSceneMonitorCreateScene, useSceneMonitorDeleteReference, useSceneMonitorDeleteScene, useSceneMonitorGetStatus, useSceneMonitorListScenes, useSceneMonitorListScenesBatch, useSceneMonitorRecheckNow, useSceneMonitorResetScene, useSceneMonitorUpdateScene, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useServerManagementApplyServerUpdate, useServerManagementCheckServerUpdate, useServerManagementGetServerPackageStatus, useServerManagementRestartServer, useServerManagementRollbackServerUpdate, useSettingsStoreAggregate, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreDeleteWhere, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreInsertMany, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreTransact, useSettingsStoreUpdate, useSettingsStoreUpdateWhere, useSettingsStoreUpsert, useSettingsStoreUpsertMany, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDebugState, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetSnapshotLinks, useSnapshotGetSnapshotOverview, useSnapshotGetStatus, useSnapshotInvalidateCache, useStationaryOverlay, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageList, useStorageListDrainProgress, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageMigrationCancel, useStorageMigrationCleanupCancel, useStorageMigrationCleanupStart, useStorageMigrationCleanupStatus, useStorageMigrationDrain, useStorageMigrationHistory, useStorageMigrationMoverClearance, useStorageMigrationMovers, useStorageMigrationPlan, useStorageMigrationResidue, useStorageMigrationStart, useStorageMigrationStatus, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStoredGroupBy, useStreamBrokerAcquireEgressTranscode, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerFetchEventMedia, useStreamBrokerForgetDeviceHardware, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceAudioMute, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetLiveViewerCounts, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerProduceEventMedia, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseEgressTranscode, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRenderPreBufferClip, useStreamBrokerReportStreamSignal, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetDeviceAudioMute, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useStreamSignalsListSignals, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemDetectSiteLocation, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetFailureContributions, useSystemGetLoadContributions, useSystemGetLoggingSettings, useSystemGetRequestCensus, useSystemGetRetentionConfig, useSystemGetSiteLocation, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetLoggingSettings, useSystemSetRetentionConfig, useSystemSetSiteLocation, useTamperGetStatus, useTemperatureSensorGetStatus, useTerminalSessionAdoptLegacyMonitor, useTerminalSessionClose, useTerminalSessionCreateInstance, useTerminalSessionDeleteInstance, useTerminalSessionListInstances, useTerminalSessionListLegacyCameras, useTerminalSessionListProfiles, useTerminalSessionListSessions, useTerminalSessionOpenSession, useTerminalSessionPullOutput, useTerminalSessionResize, useTerminalSessionSetInstanceEnabled, useTerminalSessionUpdateInstance, useTerminalSessionWriteInput, useThemeMode, useToastOnToast, useTrainingCanaryResult, useTrainingCancelJob, useTrainingDiscardResult, useTrainingGetJob, useTrainingGetJobResult, useTrainingListBaseModels, useTrainingListJobs, useTrainingPlanJob, useTrainingRegisterResult, useTrainingRollbackCanary, useTrainingStartJob, useTrainingStartJobBatch, useTurnProviderGetTurnServers, useUiText, useUpdateGetStatus, useUpdateInstallUpdate, useUrlQueryParam, useUserManagementConfirmTotp, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementFindUserByExternalIdentity, useUserManagementGetTotpStatus, useUserManagementListExternalIdentities, useUserManagementListOauthSessions, useUserManagementListUsers, useUserManagementMigrateRawSecrets, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeOauthSession, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUnlinkExternalIdentity, useUserManagementUpdateUser, useUserManagementValidateCredentials, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsDialClipStream, useVideoclipsGetClipPlayback, useVideoclipsGetPlaybackOptions, useVideoclipsListClips, useVideoclipsListSources, useVideoclipsOfferClipBytes, useVideoclipsReadClipBytes, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionApplyDownlinkProbe, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionDebug, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetCurrentSnapshotBatch, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, Route as ut, Users as v, vacuumStateMeta, validateScopes, valveStateMeta, variantLabel, Hammer as vn, Cat as vr, Puzzle as vt, Type as w, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint, withHiddenChart, withPanel, withResolvedParentDetail, withUseRootModel, withoutPanel, Funnel as wn, Bug as wr, writeStoredGroupBy, Plane as wt, Upload as x, GraduationCap as xn, Camera as xr, Plug as xt, User as y, GripHorizontal as yn, Cast as yr, Power as yt, Sun as z, DoorOpen as zn, Ban as zr, Moon as zt };
|