@camstack/ui-library 1.2.24 → 1.2.26

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.
@@ -27,7 +27,7 @@ export { ImageInlineControl, ImageHeroCard, type ImageHeroCardProps, } from './i
27
27
  export { DummyInline, DummyHeroCard } from './dummy-hero-card';
28
28
  export { SensorInlineControl } from './sensor-inline-control';
29
29
  export { SensorHeroCard } from './sensor-hero-card';
30
- export { SwitchInlineControl, SwitchHeroCard, LockInlineControl, LockHeroCard, LightInlineControl, LightHeroCard, FanInlineControl, FanHeroCard, ThermostatInlineControl, ThermostatHeroCard, MediaPlayerInlineControl, MediaPlayerHeroCard, AlarmPanelInlineControl, AlarmHeroCard, ControlInlineControl, ControlHeroCard, } from './panel-controls';
30
+ export { SwitchInlineControl, SwitchHeroCard, LockInlineControl, LockHeroCard, LightInlineControl, LightHeroCard, FanInlineControl, FanHeroCard, ThermostatInlineControl, ThermostatHeroCard, MediaPlayerInlineControl, MediaPlayerHeroCard, AlarmPanelInlineControl, AlarmHeroCard, ScriptInlineControl, ScriptHeroCard, AutomationInlineControl, AutomationHeroCard, ControlInlineControl, ControlHeroCard, } from './panel-controls';
31
31
  export { resolvePrimaryChild, PRIORITY, type ChildRef } from './primary-child';
32
32
  export { resolveContainerPrimary, overrideEntityIdFromLink, containerChildToRef, childEntityId, type ContainerChild, } from './container-primary';
33
33
  export { ContainerPrimaryHero, type ContainerPrimaryHeroProps, type ContainerHeroChild, } from './container-primary-hero';
@@ -7,6 +7,7 @@ export { FanHeroCard } from './fan-hero-card';
7
7
  export { SwitchHeroCard } from './switch-hero-card';
8
8
  export { MediaPlayerHeroCard } from './media-player-hero-card';
9
9
  export { AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl } from './alarm-hero-card';
10
+ export { AutomationHeroCard, AutomationInlineControl, ScriptHeroCard, ScriptInlineControl, } from './script-automation-controls';
10
11
  export declare function SwitchInlineControl({ trpc, deviceId, features, optimistic, }: DeviceControlProps): ReactNode;
11
12
  export declare function LockInlineControl({ trpc, deviceId, features, optimistic, }: DeviceControlProps): ReactNode;
12
13
  export declare function LightInlineControl({ trpc, deviceId, features, optimistic, }: DeviceControlProps): ReactNode;
@@ -0,0 +1,14 @@
1
+ import { ReactNode } from 'react';
2
+ import { DeviceControlProps } from './control-registry';
3
+ /**
4
+ * "3 min ago", or nothing at all.
5
+ *
6
+ * **0 means NEVER RUN** on both status schemas, and it must not render as the
7
+ * epoch. "1 Jan 1970" next to a script is the kind of detail that sends an
8
+ * operator looking for a clock problem that does not exist.
9
+ */
10
+ export declare function lastRunLabel(atMs: number, nowMs: number): string | null;
11
+ export declare function ScriptInlineControl({ trpc, deviceId, optimistic }: DeviceControlProps): ReactNode;
12
+ export declare function ScriptHeroCard({ trpc, deviceId, optimistic }: DeviceControlProps): ReactNode;
13
+ export declare function AutomationInlineControl({ trpc, deviceId, optimistic, }: DeviceControlProps): ReactNode;
14
+ export declare function AutomationHeroCard({ trpc, deviceId, optimistic }: DeviceControlProps): ReactNode;
@@ -973,6 +973,10 @@ export declare const useNotificationRulesListSnoozes: typeof trpc.notificationRu
973
973
  export declare const useNotificationRulesCreateSnooze: typeof trpc.notificationRules.createSnooze.useMutation;
974
974
  /** Generated alias around `trpc.notificationRules.cancelSnooze.useMutation`. */
975
975
  export declare const useNotificationRulesCancelSnooze: typeof trpc.notificationRules.cancelSnooze.useMutation;
976
+ /** Generated alias around `trpc.notificationRules.getAlarmConfig.useQuery`. */
977
+ export declare const useNotificationRulesGetAlarmConfig: typeof trpc.notificationRules.getAlarmConfig.useQuery;
978
+ /** Generated alias around `trpc.notificationRules.setAlarmConfig.useMutation`. */
979
+ export declare const useNotificationRulesSetAlarmConfig: typeof trpc.notificationRules.setAlarmConfig.useMutation;
976
980
  /** Generated alias around `trpc.notifier.send.useMutation`. */
977
981
  export declare const useNotifierSend: typeof trpc.notifier.send.useMutation;
978
982
  /** Generated alias around `trpc.notifier.cancel.useMutation`. */
@@ -1059,6 +1063,8 @@ export declare const usePipelineAnalyticsListOpsLog: typeof trpc.pipelineAnalyti
1059
1063
  export declare const usePipelineAnalyticsGetEventMedia: typeof trpc.pipelineAnalytics.getEventMedia.useQuery;
1060
1064
  /** Generated alias around `trpc.pipelineAnalytics.getTrackMedia.useQuery`. */
1061
1065
  export declare const usePipelineAnalyticsGetTrackMedia: typeof trpc.pipelineAnalytics.getTrackMedia.useQuery;
1066
+ /** Generated alias around `trpc.pipelineAnalytics.listTrackMedia.useQuery`. */
1067
+ export declare const usePipelineAnalyticsListTrackMedia: typeof trpc.pipelineAnalytics.listTrackMedia.useQuery;
1062
1068
  /** Generated alias around `trpc.pipelineAnalytics.searchObjectEvents.useQuery`. */
1063
1069
  export declare const usePipelineAnalyticsSearchObjectEvents: typeof trpc.pipelineAnalytics.searchObjectEvents.useQuery;
1064
1070
  /** Generated alias around `trpc.pipelineAnalytics.getDeviceSettingsContribution.useQuery`. */
package/dist/index.cjs CHANGED
@@ -9082,6 +9082,25 @@ var CircleQuestionMark = createLucideIcon("circle-question-mark", [
9082
9082
  * This source code is licensed under the ISC license.
9083
9083
  * See the LICENSE file in the root directory of this source tree.
9084
9084
  */
9085
+ var CircleStop = createLucideIcon("circle-stop", [["circle", {
9086
+ cx: "12",
9087
+ cy: "12",
9088
+ r: "10",
9089
+ key: "1mglay"
9090
+ }], ["rect", {
9091
+ x: "9",
9092
+ y: "9",
9093
+ width: "6",
9094
+ height: "6",
9095
+ rx: "1",
9096
+ key: "1ssd4o"
9097
+ }]]);
9098
+ /**
9099
+ * @license lucide-react v0.576.0 - ISC
9100
+ *
9101
+ * This source code is licensed under the ISC license.
9102
+ * See the LICENSE file in the root directory of this source tree.
9103
+ */
9085
9104
  var CircleX = createLucideIcon("circle-x", [
9086
9105
  ["circle", {
9087
9106
  cx: "12",
@@ -19095,6 +19114,10 @@ var useNotificationRulesListSnoozes = trpc.notificationRules.listSnoozes.useQuer
19095
19114
  var useNotificationRulesCreateSnooze = trpc.notificationRules.createSnooze.useMutation;
19096
19115
  /** Generated alias around `trpc.notificationRules.cancelSnooze.useMutation`. */
19097
19116
  var useNotificationRulesCancelSnooze = trpc.notificationRules.cancelSnooze.useMutation;
19117
+ /** Generated alias around `trpc.notificationRules.getAlarmConfig.useQuery`. */
19118
+ var useNotificationRulesGetAlarmConfig = trpc.notificationRules.getAlarmConfig.useQuery;
19119
+ /** Generated alias around `trpc.notificationRules.setAlarmConfig.useMutation`. */
19120
+ var useNotificationRulesSetAlarmConfig = trpc.notificationRules.setAlarmConfig.useMutation;
19098
19121
  /** Generated alias around `trpc.notifier.send.useMutation`. */
19099
19122
  var useNotifierSend = trpc.notifier.send.useMutation;
19100
19123
  /** Generated alias around `trpc.notifier.cancel.useMutation`. */
@@ -19181,6 +19204,8 @@ var usePipelineAnalyticsListOpsLog = trpc.pipelineAnalytics.listOpsLog.useQuery;
19181
19204
  var usePipelineAnalyticsGetEventMedia = trpc.pipelineAnalytics.getEventMedia.useQuery;
19182
19205
  /** Generated alias around `trpc.pipelineAnalytics.getTrackMedia.useQuery`. */
19183
19206
  var usePipelineAnalyticsGetTrackMedia = trpc.pipelineAnalytics.getTrackMedia.useQuery;
19207
+ /** Generated alias around `trpc.pipelineAnalytics.listTrackMedia.useQuery`. */
19208
+ var usePipelineAnalyticsListTrackMedia = trpc.pipelineAnalytics.listTrackMedia.useQuery;
19184
19209
  /** Generated alias around `trpc.pipelineAnalytics.searchObjectEvents.useQuery`. */
19185
19210
  var usePipelineAnalyticsSearchObjectEvents = trpc.pipelineAnalytics.searchObjectEvents.useQuery;
19186
19211
  /** Generated alias around `trpc.pipelineAnalytics.getDeviceSettingsContribution.useQuery`. */
@@ -26956,6 +26981,285 @@ function AlarmHeroCard({ trpc, deviceId, optimistic }) {
26956
26981
  });
26957
26982
  }
26958
26983
  //#endregion
26984
+ //#region src/composites/device-controls/script-automation-controls.tsx
26985
+ /**
26986
+ * "3 min ago", or nothing at all.
26987
+ *
26988
+ * **0 means NEVER RUN** on both status schemas, and it must not render as the
26989
+ * epoch. "1 Jan 1970" next to a script is the kind of detail that sends an
26990
+ * operator looking for a clock problem that does not exist.
26991
+ */
26992
+ function lastRunLabel(atMs, nowMs) {
26993
+ if (atMs <= 0) return null;
26994
+ const deltaSec = Math.max(0, Math.round((nowMs - atMs) / 1e3));
26995
+ if (deltaSec < 60) return "just now";
26996
+ if (deltaSec < 3600) return `${Math.floor(deltaSec / 60)} min ago`;
26997
+ if (deltaSec < 86400) return `${Math.floor(deltaSec / 3600)} h ago`;
26998
+ return new Date(atMs).toLocaleDateString();
26999
+ }
27000
+ function LastRun({ atMs, neverLabel }) {
27001
+ const label = lastRunLabel(atMs, Date.now());
27002
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
27003
+ className: "text-xs text-foreground-subtle",
27004
+ "data-testid": "last-run",
27005
+ children: label === null ? neverLabel : label
27006
+ });
27007
+ }
27008
+ /** Rendered ONLY when a message exists — see the file docblock. */
27009
+ function LastError({ error }) {
27010
+ if (error === null || error === "") return null;
27011
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
27012
+ className: "inline-flex items-center gap-1 text-xs text-danger",
27013
+ title: error,
27014
+ "data-testid": "last-error",
27015
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TriangleAlert, {
27016
+ className: "h-3 w-3 shrink-0",
27017
+ "aria-hidden": "true"
27018
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
27019
+ className: "truncate",
27020
+ children: error
27021
+ })]
27022
+ });
27023
+ }
27024
+ /**
27025
+ * Subscribes to `script-runner` ONCE, so the hero and the inline control never
27026
+ * double-subscribe. Mirrors `useAlarmControl`.
27027
+ */
27028
+ function useScriptControl(trpc, deviceId, optimistic) {
27029
+ const { cap, slice, available } = useDeviceCapability({
27030
+ trpc,
27031
+ deviceId,
27032
+ cap: (d) => d.scriptRunner,
27033
+ slice: (d) => d.state.scriptRunner
27034
+ });
27035
+ const { display, applyOptimistic } = useOptimisticSlice(slice, { enabled: optimistic ?? true });
27036
+ const busy = !available;
27037
+ const running = display?.isRunning === true;
27038
+ return {
27039
+ display,
27040
+ capPresent: cap !== void 0,
27041
+ busy,
27042
+ running,
27043
+ run: () => {
27044
+ if (cap === void 0 || busy || running) return;
27045
+ applyOptimistic({ isRunning: true });
27046
+ cap.run({});
27047
+ },
27048
+ stop: () => {
27049
+ if (cap === void 0 || busy || !running) return;
27050
+ applyOptimistic({ isRunning: false });
27051
+ cap.stop({});
27052
+ }
27053
+ };
27054
+ }
27055
+ function RunButton({ running, busy, large, onRun, onStop }) {
27056
+ const label = running ? "Stop" : "Run";
27057
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
27058
+ type: "button",
27059
+ "aria-label": label,
27060
+ title: label,
27061
+ disabled: busy,
27062
+ "data-testid": "script-run",
27063
+ "data-running": running ? "true" : "false",
27064
+ onClick: (e) => {
27065
+ e.stopPropagation();
27066
+ if (running) onStop();
27067
+ else onRun();
27068
+ },
27069
+ className: cn("inline-flex items-center gap-1 rounded transition-colors", large ? "h-10 px-4 text-sm" : "h-5 px-1.5 text-xs", running ? "bg-danger text-danger-foreground hover:bg-danger/90" : "bg-primary text-primary-foreground hover:bg-primary/90", busy && "cursor-not-allowed opacity-40"),
27070
+ children: [running ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CircleStop, {
27071
+ className: large ? "h-4 w-4" : "h-3 w-3",
27072
+ "aria-hidden": "true"
27073
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Play, {
27074
+ className: large ? "h-4 w-4" : "h-3 w-3",
27075
+ "aria-hidden": "true"
27076
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: label })]
27077
+ });
27078
+ }
27079
+ function ScriptInlineControl({ trpc, deviceId, optimistic }) {
27080
+ const { display, capPresent, busy, running, run, stop } = useScriptControl(trpc, deviceId, optimistic);
27081
+ if (!capPresent) return null;
27082
+ if (display === void 0) return null;
27083
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
27084
+ className: "flex min-w-0 items-center gap-2",
27085
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(RunButton, {
27086
+ running,
27087
+ busy,
27088
+ large: false,
27089
+ onRun: run,
27090
+ onStop: stop
27091
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LastRun, {
27092
+ atMs: display.lastRunAt,
27093
+ neverLabel: "never run"
27094
+ })]
27095
+ });
27096
+ }
27097
+ function ScriptHeroCard({ trpc, deviceId, optimistic }) {
27098
+ const { display, capPresent, busy, running, run, stop } = useScriptControl(trpc, deviceId, optimistic);
27099
+ if (!capPresent) return null;
27100
+ if (display === void 0) return null;
27101
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
27102
+ className: "flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-6",
27103
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
27104
+ className: "flex flex-col items-center gap-2",
27105
+ children: [
27106
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
27107
+ "data-testid": "script-state",
27108
+ "data-running": running ? "true" : "false",
27109
+ className: cn("flex h-16 w-16 items-center justify-center rounded-full border-2", running ? "border-primary text-primary animate-pulse" : "border-border text-foreground-subtle"),
27110
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Play, {
27111
+ className: "h-8 w-8",
27112
+ "aria-hidden": "true"
27113
+ })
27114
+ }),
27115
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
27116
+ className: "text-sm font-medium",
27117
+ children: running ? "Running" : "Idle"
27118
+ }),
27119
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LastRun, {
27120
+ atMs: display.lastRunAt,
27121
+ neverLabel: "never run"
27122
+ }),
27123
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LastError, { error: display.lastError })
27124
+ ]
27125
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
27126
+ className: "flex justify-center",
27127
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RunButton, {
27128
+ running,
27129
+ busy,
27130
+ large: true,
27131
+ onRun: run,
27132
+ onStop: stop
27133
+ })
27134
+ })]
27135
+ });
27136
+ }
27137
+ function useAutomationControl(trpc, deviceId, optimistic) {
27138
+ const { cap, slice, available } = useDeviceCapability({
27139
+ trpc,
27140
+ deviceId,
27141
+ cap: (d) => d.automationControl,
27142
+ slice: (d) => d.state.automationControl
27143
+ });
27144
+ const { display, applyOptimistic } = useOptimisticSlice(slice, { enabled: optimistic ?? true });
27145
+ const busy = !available;
27146
+ return {
27147
+ display,
27148
+ capPresent: cap !== void 0,
27149
+ busy,
27150
+ setEnabled: (next) => {
27151
+ if (cap === void 0 || busy) return;
27152
+ applyOptimistic({ enabled: next });
27153
+ if (next) cap.enable({});
27154
+ else cap.disable({});
27155
+ },
27156
+ trigger: () => {
27157
+ if (cap === void 0 || busy) return;
27158
+ cap.trigger({});
27159
+ }
27160
+ };
27161
+ }
27162
+ function EnabledPill({ enabled, busy, onToggle }) {
27163
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
27164
+ type: "button",
27165
+ role: "switch",
27166
+ "aria-checked": enabled,
27167
+ "aria-label": "Automation enabled",
27168
+ disabled: busy,
27169
+ "data-testid": "automation-enabled",
27170
+ onClick: (e) => {
27171
+ e.stopPropagation();
27172
+ onToggle(!enabled);
27173
+ },
27174
+ className: cn("inline-flex shrink-0 items-center gap-1 rounded-md border px-1.5 py-0.5", "text-[11px] font-medium whitespace-nowrap transition-colors", enabled ? "border-success/40 bg-success/10 text-success" : "border-border bg-surface-subtle text-foreground-subtle", busy && "cursor-not-allowed opacity-40"),
27175
+ children: enabled ? "Enabled" : "Disabled"
27176
+ });
27177
+ }
27178
+ /**
27179
+ * Always available, even while the automation is DISABLED.
27180
+ *
27181
+ * That is the cap's contract, not an oversight: a disabled automation ignores
27182
+ * its trigger block but a manual `trigger` still runs it, which is exactly how
27183
+ * an operator tests one before switching it on.
27184
+ */
27185
+ function TriggerButton({ busy, large, onTrigger }) {
27186
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
27187
+ type: "button",
27188
+ "aria-label": "Trigger",
27189
+ title: "Run this automation now",
27190
+ disabled: busy,
27191
+ "data-testid": "automation-trigger",
27192
+ onClick: (e) => {
27193
+ e.stopPropagation();
27194
+ onTrigger();
27195
+ },
27196
+ className: cn("inline-flex items-center gap-1 rounded transition-colors", large ? "h-10 px-4 text-sm" : "h-5 px-1.5 text-xs", "bg-primary text-primary-foreground hover:bg-primary/90", busy && "cursor-not-allowed opacity-40"),
27197
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Zap, {
27198
+ className: large ? "h-4 w-4" : "h-3 w-3",
27199
+ "aria-hidden": "true"
27200
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "Trigger" })]
27201
+ });
27202
+ }
27203
+ function AutomationInlineControl({ trpc, deviceId, optimistic }) {
27204
+ const { display, capPresent, busy, setEnabled, trigger } = useAutomationControl(trpc, deviceId, optimistic);
27205
+ if (!capPresent) return null;
27206
+ if (display === void 0) return null;
27207
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
27208
+ className: "flex min-w-0 items-center gap-2",
27209
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(EnabledPill, {
27210
+ enabled: display.enabled,
27211
+ busy,
27212
+ onToggle: setEnabled
27213
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TriggerButton, {
27214
+ busy,
27215
+ large: false,
27216
+ onTrigger: trigger
27217
+ })]
27218
+ });
27219
+ }
27220
+ function AutomationHeroCard({ trpc, deviceId, optimistic }) {
27221
+ const { display, capPresent, busy, setEnabled, trigger } = useAutomationControl(trpc, deviceId, optimistic);
27222
+ if (!capPresent) return null;
27223
+ if (display === void 0) return null;
27224
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
27225
+ className: "flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-6",
27226
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
27227
+ className: "flex flex-col items-center gap-2",
27228
+ children: [
27229
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
27230
+ "data-testid": "automation-state",
27231
+ "data-enabled": display.enabled ? "true" : "false",
27232
+ className: cn("flex h-16 w-16 items-center justify-center rounded-full border-2", display.enabled ? "border-success text-success" : "border-border text-foreground-subtle"),
27233
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Zap, {
27234
+ className: "h-8 w-8",
27235
+ "aria-hidden": "true"
27236
+ })
27237
+ }),
27238
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
27239
+ className: "text-sm font-medium",
27240
+ children: display.enabled ? "Enabled" : "Disabled"
27241
+ }),
27242
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LastRun, {
27243
+ atMs: display.lastTriggeredAt,
27244
+ neverLabel: "never triggered"
27245
+ }),
27246
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LastError, { error: display.lastError })
27247
+ ]
27248
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
27249
+ className: "flex items-center justify-center gap-3",
27250
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(EnabledPill, {
27251
+ enabled: display.enabled,
27252
+ busy,
27253
+ onToggle: setEnabled
27254
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TriggerButton, {
27255
+ busy,
27256
+ large: true,
27257
+ onTrigger: trigger
27258
+ })]
27259
+ })]
27260
+ });
27261
+ }
27262
+ //#endregion
26959
27263
  //#region src/composites/device-controls/panel-controls.tsx
26960
27264
  /** Matches CoverHeroCard's outer container — real design tokens only. */
26961
27265
  function HeroShell({ children }) {
@@ -27231,6 +27535,14 @@ var CONTROL_KIND_COMPONENTS = {
27231
27535
  InlineControl: PetFeederInlineControl,
27232
27536
  HeroCard: PetFeederHeroCard
27233
27537
  },
27538
+ script: {
27539
+ InlineControl: ScriptInlineControl,
27540
+ HeroCard: ScriptHeroCard
27541
+ },
27542
+ automation: {
27543
+ InlineControl: AutomationInlineControl,
27544
+ HeroCard: AutomationHeroCard
27545
+ },
27234
27546
  dummy: {
27235
27547
  InlineControl: DummyInline,
27236
27548
  HeroCard: DummyHeroCard
@@ -47537,6 +47849,8 @@ exports.ArcKnob = ArcKnob;
47537
47849
  exports.AudioClassificationList = AudioClassificationList;
47538
47850
  exports.AudioLevelWaveform = AudioLevelWaveform;
47539
47851
  exports.AudioWaveform = AudioWaveform;
47852
+ exports.AutomationHeroCard = AutomationHeroCard;
47853
+ exports.AutomationInlineControl = AutomationInlineControl;
47540
47854
  exports.AutotrackSection = AutotrackSection;
47541
47855
  exports.BTN_COMPACT = BTN_COMPACT;
47542
47856
  exports.BTN_COMPACT_DANGER = BTN_COMPACT_DANGER;
@@ -47723,6 +48037,8 @@ exports.SPLIT_PANEL_SIDE = SPLIT_PANEL_SIDE;
47723
48037
  exports.STACK_GAP = STACK_GAP;
47724
48038
  exports.STATE_COLOR = STATE_COLOR;
47725
48039
  exports.ScopePicker = ScopePicker;
48040
+ exports.ScriptHeroCard = ScriptHeroCard;
48041
+ exports.ScriptInlineControl = ScriptInlineControl;
47726
48042
  exports.ScrollArea = ScrollArea;
47727
48043
  exports.Select = Select;
47728
48044
  exports.SemanticBadge = SemanticBadge;
@@ -48373,11 +48689,13 @@ exports.useNotificationRulesCancelSnooze = useNotificationRulesCancelSnooze;
48373
48689
  exports.useNotificationRulesCreateRule = useNotificationRulesCreateRule;
48374
48690
  exports.useNotificationRulesCreateSnooze = useNotificationRulesCreateSnooze;
48375
48691
  exports.useNotificationRulesDeleteRule = useNotificationRulesDeleteRule;
48692
+ exports.useNotificationRulesGetAlarmConfig = useNotificationRulesGetAlarmConfig;
48376
48693
  exports.useNotificationRulesGetConditionCatalog = useNotificationRulesGetConditionCatalog;
48377
48694
  exports.useNotificationRulesGetHistory = useNotificationRulesGetHistory;
48378
48695
  exports.useNotificationRulesGetRule = useNotificationRulesGetRule;
48379
48696
  exports.useNotificationRulesListRules = useNotificationRulesListRules;
48380
48697
  exports.useNotificationRulesListSnoozes = useNotificationRulesListSnoozes;
48698
+ exports.useNotificationRulesSetAlarmConfig = useNotificationRulesSetAlarmConfig;
48381
48699
  exports.useNotificationRulesSetRuleEnabled = useNotificationRulesSetRuleEnabled;
48382
48700
  exports.useNotificationRulesTestRule = useNotificationRulesTestRule;
48383
48701
  exports.useNotificationRulesUpdateRule = useNotificationRulesUpdateRule;
@@ -48425,6 +48743,7 @@ exports.usePipelineAnalyticsListEventKinds = usePipelineAnalyticsListEventKinds;
48425
48743
  exports.usePipelineAnalyticsListEventKindsBatch = usePipelineAnalyticsListEventKindsBatch;
48426
48744
  exports.usePipelineAnalyticsListOpsLog = usePipelineAnalyticsListOpsLog;
48427
48745
  exports.usePipelineAnalyticsListRecentTracks = usePipelineAnalyticsListRecentTracks;
48746
+ exports.usePipelineAnalyticsListTrackMedia = usePipelineAnalyticsListTrackMedia;
48428
48747
  exports.usePipelineAnalyticsListTracks = usePipelineAnalyticsListTracks;
48429
48748
  exports.usePipelineAnalyticsPruneEvents = usePipelineAnalyticsPruneEvents;
48430
48749
  exports.usePipelineAnalyticsPruneEventsBefore = usePipelineAnalyticsPruneEventsBefore;
package/dist/index.js CHANGED
@@ -9058,6 +9058,25 @@ var CircleQuestionMark = createLucideIcon("circle-question-mark", [
9058
9058
  * This source code is licensed under the ISC license.
9059
9059
  * See the LICENSE file in the root directory of this source tree.
9060
9060
  */
9061
+ var CircleStop = createLucideIcon("circle-stop", [["circle", {
9062
+ cx: "12",
9063
+ cy: "12",
9064
+ r: "10",
9065
+ key: "1mglay"
9066
+ }], ["rect", {
9067
+ x: "9",
9068
+ y: "9",
9069
+ width: "6",
9070
+ height: "6",
9071
+ rx: "1",
9072
+ key: "1ssd4o"
9073
+ }]]);
9074
+ /**
9075
+ * @license lucide-react v0.576.0 - ISC
9076
+ *
9077
+ * This source code is licensed under the ISC license.
9078
+ * See the LICENSE file in the root directory of this source tree.
9079
+ */
9061
9080
  var CircleX = createLucideIcon("circle-x", [
9062
9081
  ["circle", {
9063
9082
  cx: "12",
@@ -19071,6 +19090,10 @@ var useNotificationRulesListSnoozes = trpc.notificationRules.listSnoozes.useQuer
19071
19090
  var useNotificationRulesCreateSnooze = trpc.notificationRules.createSnooze.useMutation;
19072
19091
  /** Generated alias around `trpc.notificationRules.cancelSnooze.useMutation`. */
19073
19092
  var useNotificationRulesCancelSnooze = trpc.notificationRules.cancelSnooze.useMutation;
19093
+ /** Generated alias around `trpc.notificationRules.getAlarmConfig.useQuery`. */
19094
+ var useNotificationRulesGetAlarmConfig = trpc.notificationRules.getAlarmConfig.useQuery;
19095
+ /** Generated alias around `trpc.notificationRules.setAlarmConfig.useMutation`. */
19096
+ var useNotificationRulesSetAlarmConfig = trpc.notificationRules.setAlarmConfig.useMutation;
19074
19097
  /** Generated alias around `trpc.notifier.send.useMutation`. */
19075
19098
  var useNotifierSend = trpc.notifier.send.useMutation;
19076
19099
  /** Generated alias around `trpc.notifier.cancel.useMutation`. */
@@ -19157,6 +19180,8 @@ var usePipelineAnalyticsListOpsLog = trpc.pipelineAnalytics.listOpsLog.useQuery;
19157
19180
  var usePipelineAnalyticsGetEventMedia = trpc.pipelineAnalytics.getEventMedia.useQuery;
19158
19181
  /** Generated alias around `trpc.pipelineAnalytics.getTrackMedia.useQuery`. */
19159
19182
  var usePipelineAnalyticsGetTrackMedia = trpc.pipelineAnalytics.getTrackMedia.useQuery;
19183
+ /** Generated alias around `trpc.pipelineAnalytics.listTrackMedia.useQuery`. */
19184
+ var usePipelineAnalyticsListTrackMedia = trpc.pipelineAnalytics.listTrackMedia.useQuery;
19160
19185
  /** Generated alias around `trpc.pipelineAnalytics.searchObjectEvents.useQuery`. */
19161
19186
  var usePipelineAnalyticsSearchObjectEvents = trpc.pipelineAnalytics.searchObjectEvents.useQuery;
19162
19187
  /** Generated alias around `trpc.pipelineAnalytics.getDeviceSettingsContribution.useQuery`. */
@@ -26932,6 +26957,285 @@ function AlarmHeroCard({ trpc, deviceId, optimistic }) {
26932
26957
  });
26933
26958
  }
26934
26959
  //#endregion
26960
+ //#region src/composites/device-controls/script-automation-controls.tsx
26961
+ /**
26962
+ * "3 min ago", or nothing at all.
26963
+ *
26964
+ * **0 means NEVER RUN** on both status schemas, and it must not render as the
26965
+ * epoch. "1 Jan 1970" next to a script is the kind of detail that sends an
26966
+ * operator looking for a clock problem that does not exist.
26967
+ */
26968
+ function lastRunLabel(atMs, nowMs) {
26969
+ if (atMs <= 0) return null;
26970
+ const deltaSec = Math.max(0, Math.round((nowMs - atMs) / 1e3));
26971
+ if (deltaSec < 60) return "just now";
26972
+ if (deltaSec < 3600) return `${Math.floor(deltaSec / 60)} min ago`;
26973
+ if (deltaSec < 86400) return `${Math.floor(deltaSec / 3600)} h ago`;
26974
+ return new Date(atMs).toLocaleDateString();
26975
+ }
26976
+ function LastRun({ atMs, neverLabel }) {
26977
+ const label = lastRunLabel(atMs, Date.now());
26978
+ return /* @__PURE__ */ jsx("span", {
26979
+ className: "text-xs text-foreground-subtle",
26980
+ "data-testid": "last-run",
26981
+ children: label === null ? neverLabel : label
26982
+ });
26983
+ }
26984
+ /** Rendered ONLY when a message exists — see the file docblock. */
26985
+ function LastError({ error }) {
26986
+ if (error === null || error === "") return null;
26987
+ return /* @__PURE__ */ jsxs("span", {
26988
+ className: "inline-flex items-center gap-1 text-xs text-danger",
26989
+ title: error,
26990
+ "data-testid": "last-error",
26991
+ children: [/* @__PURE__ */ jsx(TriangleAlert, {
26992
+ className: "h-3 w-3 shrink-0",
26993
+ "aria-hidden": "true"
26994
+ }), /* @__PURE__ */ jsx("span", {
26995
+ className: "truncate",
26996
+ children: error
26997
+ })]
26998
+ });
26999
+ }
27000
+ /**
27001
+ * Subscribes to `script-runner` ONCE, so the hero and the inline control never
27002
+ * double-subscribe. Mirrors `useAlarmControl`.
27003
+ */
27004
+ function useScriptControl(trpc, deviceId, optimistic) {
27005
+ const { cap, slice, available } = useDeviceCapability({
27006
+ trpc,
27007
+ deviceId,
27008
+ cap: (d) => d.scriptRunner,
27009
+ slice: (d) => d.state.scriptRunner
27010
+ });
27011
+ const { display, applyOptimistic } = useOptimisticSlice(slice, { enabled: optimistic ?? true });
27012
+ const busy = !available;
27013
+ const running = display?.isRunning === true;
27014
+ return {
27015
+ display,
27016
+ capPresent: cap !== void 0,
27017
+ busy,
27018
+ running,
27019
+ run: () => {
27020
+ if (cap === void 0 || busy || running) return;
27021
+ applyOptimistic({ isRunning: true });
27022
+ cap.run({});
27023
+ },
27024
+ stop: () => {
27025
+ if (cap === void 0 || busy || !running) return;
27026
+ applyOptimistic({ isRunning: false });
27027
+ cap.stop({});
27028
+ }
27029
+ };
27030
+ }
27031
+ function RunButton({ running, busy, large, onRun, onStop }) {
27032
+ const label = running ? "Stop" : "Run";
27033
+ return /* @__PURE__ */ jsxs("button", {
27034
+ type: "button",
27035
+ "aria-label": label,
27036
+ title: label,
27037
+ disabled: busy,
27038
+ "data-testid": "script-run",
27039
+ "data-running": running ? "true" : "false",
27040
+ onClick: (e) => {
27041
+ e.stopPropagation();
27042
+ if (running) onStop();
27043
+ else onRun();
27044
+ },
27045
+ className: cn("inline-flex items-center gap-1 rounded transition-colors", large ? "h-10 px-4 text-sm" : "h-5 px-1.5 text-xs", running ? "bg-danger text-danger-foreground hover:bg-danger/90" : "bg-primary text-primary-foreground hover:bg-primary/90", busy && "cursor-not-allowed opacity-40"),
27046
+ children: [running ? /* @__PURE__ */ jsx(CircleStop, {
27047
+ className: large ? "h-4 w-4" : "h-3 w-3",
27048
+ "aria-hidden": "true"
27049
+ }) : /* @__PURE__ */ jsx(Play, {
27050
+ className: large ? "h-4 w-4" : "h-3 w-3",
27051
+ "aria-hidden": "true"
27052
+ }), /* @__PURE__ */ jsx("span", { children: label })]
27053
+ });
27054
+ }
27055
+ function ScriptInlineControl({ trpc, deviceId, optimistic }) {
27056
+ const { display, capPresent, busy, running, run, stop } = useScriptControl(trpc, deviceId, optimistic);
27057
+ if (!capPresent) return null;
27058
+ if (display === void 0) return null;
27059
+ return /* @__PURE__ */ jsxs("div", {
27060
+ className: "flex min-w-0 items-center gap-2",
27061
+ children: [/* @__PURE__ */ jsx(RunButton, {
27062
+ running,
27063
+ busy,
27064
+ large: false,
27065
+ onRun: run,
27066
+ onStop: stop
27067
+ }), /* @__PURE__ */ jsx(LastRun, {
27068
+ atMs: display.lastRunAt,
27069
+ neverLabel: "never run"
27070
+ })]
27071
+ });
27072
+ }
27073
+ function ScriptHeroCard({ trpc, deviceId, optimistic }) {
27074
+ const { display, capPresent, busy, running, run, stop } = useScriptControl(trpc, deviceId, optimistic);
27075
+ if (!capPresent) return null;
27076
+ if (display === void 0) return null;
27077
+ return /* @__PURE__ */ jsxs("div", {
27078
+ className: "flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-6",
27079
+ children: [/* @__PURE__ */ jsxs("div", {
27080
+ className: "flex flex-col items-center gap-2",
27081
+ children: [
27082
+ /* @__PURE__ */ jsx("div", {
27083
+ "data-testid": "script-state",
27084
+ "data-running": running ? "true" : "false",
27085
+ className: cn("flex h-16 w-16 items-center justify-center rounded-full border-2", running ? "border-primary text-primary animate-pulse" : "border-border text-foreground-subtle"),
27086
+ children: /* @__PURE__ */ jsx(Play, {
27087
+ className: "h-8 w-8",
27088
+ "aria-hidden": "true"
27089
+ })
27090
+ }),
27091
+ /* @__PURE__ */ jsx("span", {
27092
+ className: "text-sm font-medium",
27093
+ children: running ? "Running" : "Idle"
27094
+ }),
27095
+ /* @__PURE__ */ jsx(LastRun, {
27096
+ atMs: display.lastRunAt,
27097
+ neverLabel: "never run"
27098
+ }),
27099
+ /* @__PURE__ */ jsx(LastError, { error: display.lastError })
27100
+ ]
27101
+ }), /* @__PURE__ */ jsx("div", {
27102
+ className: "flex justify-center",
27103
+ children: /* @__PURE__ */ jsx(RunButton, {
27104
+ running,
27105
+ busy,
27106
+ large: true,
27107
+ onRun: run,
27108
+ onStop: stop
27109
+ })
27110
+ })]
27111
+ });
27112
+ }
27113
+ function useAutomationControl(trpc, deviceId, optimistic) {
27114
+ const { cap, slice, available } = useDeviceCapability({
27115
+ trpc,
27116
+ deviceId,
27117
+ cap: (d) => d.automationControl,
27118
+ slice: (d) => d.state.automationControl
27119
+ });
27120
+ const { display, applyOptimistic } = useOptimisticSlice(slice, { enabled: optimistic ?? true });
27121
+ const busy = !available;
27122
+ return {
27123
+ display,
27124
+ capPresent: cap !== void 0,
27125
+ busy,
27126
+ setEnabled: (next) => {
27127
+ if (cap === void 0 || busy) return;
27128
+ applyOptimistic({ enabled: next });
27129
+ if (next) cap.enable({});
27130
+ else cap.disable({});
27131
+ },
27132
+ trigger: () => {
27133
+ if (cap === void 0 || busy) return;
27134
+ cap.trigger({});
27135
+ }
27136
+ };
27137
+ }
27138
+ function EnabledPill({ enabled, busy, onToggle }) {
27139
+ return /* @__PURE__ */ jsx("button", {
27140
+ type: "button",
27141
+ role: "switch",
27142
+ "aria-checked": enabled,
27143
+ "aria-label": "Automation enabled",
27144
+ disabled: busy,
27145
+ "data-testid": "automation-enabled",
27146
+ onClick: (e) => {
27147
+ e.stopPropagation();
27148
+ onToggle(!enabled);
27149
+ },
27150
+ className: cn("inline-flex shrink-0 items-center gap-1 rounded-md border px-1.5 py-0.5", "text-[11px] font-medium whitespace-nowrap transition-colors", enabled ? "border-success/40 bg-success/10 text-success" : "border-border bg-surface-subtle text-foreground-subtle", busy && "cursor-not-allowed opacity-40"),
27151
+ children: enabled ? "Enabled" : "Disabled"
27152
+ });
27153
+ }
27154
+ /**
27155
+ * Always available, even while the automation is DISABLED.
27156
+ *
27157
+ * That is the cap's contract, not an oversight: a disabled automation ignores
27158
+ * its trigger block but a manual `trigger` still runs it, which is exactly how
27159
+ * an operator tests one before switching it on.
27160
+ */
27161
+ function TriggerButton({ busy, large, onTrigger }) {
27162
+ return /* @__PURE__ */ jsxs("button", {
27163
+ type: "button",
27164
+ "aria-label": "Trigger",
27165
+ title: "Run this automation now",
27166
+ disabled: busy,
27167
+ "data-testid": "automation-trigger",
27168
+ onClick: (e) => {
27169
+ e.stopPropagation();
27170
+ onTrigger();
27171
+ },
27172
+ className: cn("inline-flex items-center gap-1 rounded transition-colors", large ? "h-10 px-4 text-sm" : "h-5 px-1.5 text-xs", "bg-primary text-primary-foreground hover:bg-primary/90", busy && "cursor-not-allowed opacity-40"),
27173
+ children: [/* @__PURE__ */ jsx(Zap, {
27174
+ className: large ? "h-4 w-4" : "h-3 w-3",
27175
+ "aria-hidden": "true"
27176
+ }), /* @__PURE__ */ jsx("span", { children: "Trigger" })]
27177
+ });
27178
+ }
27179
+ function AutomationInlineControl({ trpc, deviceId, optimistic }) {
27180
+ const { display, capPresent, busy, setEnabled, trigger } = useAutomationControl(trpc, deviceId, optimistic);
27181
+ if (!capPresent) return null;
27182
+ if (display === void 0) return null;
27183
+ return /* @__PURE__ */ jsxs("div", {
27184
+ className: "flex min-w-0 items-center gap-2",
27185
+ children: [/* @__PURE__ */ jsx(EnabledPill, {
27186
+ enabled: display.enabled,
27187
+ busy,
27188
+ onToggle: setEnabled
27189
+ }), /* @__PURE__ */ jsx(TriggerButton, {
27190
+ busy,
27191
+ large: false,
27192
+ onTrigger: trigger
27193
+ })]
27194
+ });
27195
+ }
27196
+ function AutomationHeroCard({ trpc, deviceId, optimistic }) {
27197
+ const { display, capPresent, busy, setEnabled, trigger } = useAutomationControl(trpc, deviceId, optimistic);
27198
+ if (!capPresent) return null;
27199
+ if (display === void 0) return null;
27200
+ return /* @__PURE__ */ jsxs("div", {
27201
+ className: "flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-6",
27202
+ children: [/* @__PURE__ */ jsxs("div", {
27203
+ className: "flex flex-col items-center gap-2",
27204
+ children: [
27205
+ /* @__PURE__ */ jsx("div", {
27206
+ "data-testid": "automation-state",
27207
+ "data-enabled": display.enabled ? "true" : "false",
27208
+ className: cn("flex h-16 w-16 items-center justify-center rounded-full border-2", display.enabled ? "border-success text-success" : "border-border text-foreground-subtle"),
27209
+ children: /* @__PURE__ */ jsx(Zap, {
27210
+ className: "h-8 w-8",
27211
+ "aria-hidden": "true"
27212
+ })
27213
+ }),
27214
+ /* @__PURE__ */ jsx("span", {
27215
+ className: "text-sm font-medium",
27216
+ children: display.enabled ? "Enabled" : "Disabled"
27217
+ }),
27218
+ /* @__PURE__ */ jsx(LastRun, {
27219
+ atMs: display.lastTriggeredAt,
27220
+ neverLabel: "never triggered"
27221
+ }),
27222
+ /* @__PURE__ */ jsx(LastError, { error: display.lastError })
27223
+ ]
27224
+ }), /* @__PURE__ */ jsxs("div", {
27225
+ className: "flex items-center justify-center gap-3",
27226
+ children: [/* @__PURE__ */ jsx(EnabledPill, {
27227
+ enabled: display.enabled,
27228
+ busy,
27229
+ onToggle: setEnabled
27230
+ }), /* @__PURE__ */ jsx(TriggerButton, {
27231
+ busy,
27232
+ large: true,
27233
+ onTrigger: trigger
27234
+ })]
27235
+ })]
27236
+ });
27237
+ }
27238
+ //#endregion
26935
27239
  //#region src/composites/device-controls/panel-controls.tsx
26936
27240
  /** Matches CoverHeroCard's outer container — real design tokens only. */
26937
27241
  function HeroShell({ children }) {
@@ -27207,6 +27511,14 @@ var CONTROL_KIND_COMPONENTS = {
27207
27511
  InlineControl: PetFeederInlineControl,
27208
27512
  HeroCard: PetFeederHeroCard
27209
27513
  },
27514
+ script: {
27515
+ InlineControl: ScriptInlineControl,
27516
+ HeroCard: ScriptHeroCard
27517
+ },
27518
+ automation: {
27519
+ InlineControl: AutomationInlineControl,
27520
+ HeroCard: AutomationHeroCard
27521
+ },
27210
27522
  dummy: {
27211
27523
  InlineControl: DummyInline,
27212
27524
  HeroCard: DummyHeroCard
@@ -47504,4 +47816,4 @@ var MotionZonesSettings = lazy(() => import("./MotionZonesSettings-NcxxQN8r.js")
47504
47816
  /** Lazy-wrapped `PrivacyMaskSettings` — code-split off the main bundle. */
47505
47817
  var PrivacyMaskSettings = lazy(() => import("./PrivacyMaskSettings-APgPLF7p.js").then((m) => ({ default: m.PrivacyMaskSettings })));
47506
47818
  //#endregion
47507
- export { AddonGlobalSettingsForm, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, AppShell, ArcKnob, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutotrackSection, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, Badge, BatteryBadge, BottomSheet, Breadcrumb, BrightnessPanel, Button, ButtonControl, ButtonHeroCard, CARD_MODE_MIN_COLUMNS, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, CustomFieldRenderersProvider, DEFAULT_COLOR, DEVICE_COLUMNS, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DISPLAY_ICON_REGISTRY, DataTable, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceGrid, DeviceItem, DeviceList, DeviceMultiSelectField, DeviceSelectField, DeviceStepMatrix, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, DoorbellRecentPanel, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, DummyHeroCard, DummyInline, EVENT_KIND_ICONS, EmptyState, ErrorBox, EventKindGlyph, EventStream, FILL, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, FormField$1 as FormField, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GripTrack, GroupedModelSelector, HOST_WIDGETS, HlsVideo, HoverZoomImage, HumidifierHeroCard, HumidifierInlineControl, INPUT_COMPACT, IconAction, IconButton, ImageHeroCard, ImageInlineControl, ImageSelector, InferenceConfigSelector, Input, KebabMenu, KeyValueList, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LightHeroCard, LightInlineControl, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, MODE_COLOR, MaskShapeCanvas, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, MobileDrawer, ModelPicker, MotionZonesSettings, NodeMultiSelectField, NodePicker, NodeSelectField, OfflineBadge, PHASE_CONFIG, PRIORITY, PTZOverlay, PageHeader, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PipelineTreeMatrix, PlayerOverlaysProvider, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, PtzPanel, QrCode, RECONNECT_POLICY, RECORDED_PLAYBACK_MODES, RIGHT, ROLE_DESCRIPTOR, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SETTING_ROW, SETTING_ROW_LABEL, SETTING_ROW_STACK_BREAKPOINT, SETTING_ROW_VALUE, SETTING_ROW_VALUE_TEXT, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, ScopePicker, ScrollArea, Select, SemanticBadge, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, SettingRow, Sidebar, SidebarItem, Skeleton, SlideOverPanel, SlideToggle, SnapshotButton, StatCard, StateValuesStream, StatusBadge, StepTimings, StepTreeMaster, Stepper, StreamBrokerSelector, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, Tooltip, TooltipContent, TooltipTrigger, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, VodPlaybackProvider, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, ZoneEditingProvider, agentColumnKey, allDeviceTypeFilterOptions, buildStepTreeFromSchema, childEntityId, childListName, cn, columnsForContext, containerChildToRef, countableDevices, coverHighlight, createSharedContext, createTheme, cursorFractionFor, darkColors, defaultTheme, deriveDeviceKind, deviceMatchesFilter, deviceOptionLabel, deviceRoleMeta, deviceRoleMetaOf, deviceTypeMeta, deviceTypeMetaOf, devicesToOptions, ensureMfHostInit, eventKindLabel, filterDeviceOptions, findTimezone, formatControlDateTime, formatLastSeen, formatNumeric, fuzzyMatch, getClassColor, getPhaseVisual, groupAgentColumns, groupChildrenByLayout, hardwareLabel, humidifierTint, createLucideIcon as i, initialScrubState, isAbsentProvider, isFieldVisible, lawnMowerActivityMeta, lightColors, loadRemoteBundle, makeScrubBridge, metadataEntries, metadataString, mirror, mountAddonPage, Square as n, nextReconnectAction, nextSort, normalizeForSearch, overrideEntityIdFromLink, parseRecordedServerMessage, providerIcons, EyeOff as r, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDisplayIcon, resolveEventKindIcon, resolvePrimaryChild, resolveSensorDisplay, resolveStepDefaultModel, resolveTableLayout, scrubReducer, selectedDeviceOptions, serializeRecordedCommand, shouldCommit, shouldEmit, shouldUseSingleNode, sortRows, statusIcons, stripParentNamePrefix, Trash2 as t, tankAlert, themeToCss, trpc, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerClassify, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupDelete, useBackupDeleteSchedule, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListDestinations, useBackupListLocations, useBackupListSchedules, useBackupPreviewSchedule, useBackupRestore, 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, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useColorGetStatus, useColorSetColor, useConfirm, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoreBlocksCompile, useCoreBlocksCreate, useCoreBlocksDelete, useCoreBlocksGet, useCoreBlocksGetTypeDefs, useCoreBlocksList, useCoreBlocksSetEnabled, useCoreBlocksUpdate, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderCreateSession, useDecoderDestroySession, useDecoderGetFrame, useDecoderGetInfo, useDecoderGetShmStats, useDecoderGetStats, useDecoderListActiveSessions, useDecoderOpenStream, useDecoderPullFrames, useDecoderPullHandles, useDecoderPushPacket, useDecoderReprobeHwaccel, useDecoderSupportsCodec, useDecoderUpdateConfig, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyDeviceSettingsPatch, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetChildren, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveContribution, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceSettingsContribution, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetDeviceStatusAggregateBatch, useDeviceManagerGetLinkedDevices, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDeviceLinks, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetSnapshot, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDoorbellApplyDeviceSettingsPatch, useDoorbellEvents, useDoorbellGetDeviceLiveContribution, useDoorbellGetDeviceSettingsContribution, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useEventsGetEventClipUrl, useEventsGetEventThumbnail, useEventsGetEvents, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLlmDeleteModel, useLlmDeleteProfile, useLlmGenerate, useLlmGenerateVision, useLlmGetDefaults, useLlmGetRuntimeStatus, useLlmGetUsage, useLlmInstallModel, useLlmListModelCatalog, useLlmListModels, useLlmListNodeModels, useLlmListProfileKinds, useLlmListProfiles, useLlmListRuntimeNodes, useLlmSetDefault, useLlmStartRuntime, useLlmStopRuntime, useLlmTestProfile, useLlmUpsertProfile, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetNotificationEndpoint, useLocalNetworkGetPreferred, useLocalNetworkList, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkSetAllowedAddresses, useLocalNetworkSetNotificationEndpoint, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderDumpHeapSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetProcessStats, useMetricsProviderKillProcess, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotificationRulesCancelSnooze, useNotificationRulesCreateRule, useNotificationRulesCreateSnooze, useNotificationRulesDeleteRule, useNotificationRulesGetConditionCatalog, useNotificationRulesGetHistory, useNotificationRulesGetRule, useNotificationRulesListRules, useNotificationRulesListSnoozes, useNotificationRulesSetRuleEnabled, useNotificationRulesTestRule, useNotificationRulesUpdateRule, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdSetOverlay, usePTZ, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsCancelMediaRelocate, usePipelineAnalyticsClearTracks, usePipelineAnalyticsDeleteDeviceEvents, usePipelineAnalyticsDeleteTracks, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetEventStoreFootprint, usePipelineAnalyticsGetKeyEvents, usePipelineAnalyticsGetMediaRelocateStatus, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetSensorEvents, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsListEventKinds, usePipelineAnalyticsListEventKindsBatch, usePipelineAnalyticsListOpsLog, usePipelineAnalyticsListRecentTracks, usePipelineAnalyticsListTracks, usePipelineAnalyticsPruneEvents, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsPruneTracksBefore, usePipelineAnalyticsRelocateMedia, usePipelineAnalyticsSearchObjectEvents, usePipelineAnalyticsWipeAllAnalytics, usePipelineExecutorCacheFrameInPool, usePipelineExecutorClearDeviceOverrides, usePipelineExecutorDeleteModel, usePipelineExecutorDeleteTemplate, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorListTemplates, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSaveTemplate, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorUpdateTemplate, usePipelineExecutorValidatePipeline, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteTemplate, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetIngestOwner, usePipelineOrchestratorGetNodeInferenceDevices, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorGetPipelineDevicePin, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListTemplates, usePipelineOrchestratorRebalance, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorResetNodePipelineDefaults, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorSaveTemplate, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDetectWeight, usePipelineOrchestratorSetAgentInferenceDevices, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetAgentReachableHost, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorSetPipelineDevicePin, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignPipeline, usePipelineOrchestratorUpdateTemplate, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerGetNativeCrop, usePipelineRunnerReportMotion, usePipelineRunnerRunDetailSubtree, 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, usePrivacyMaskSetMask, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzContinuousMove, usePtzDeletePreset, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingApplyDeviceSettingsPatch, useRecordingCancelRelocate, useRecordingDeleteFootprint, useRecordingExportCancelExport, useRecordingExportCreateExport, useRecordingExportDeleteExport, useRecordingExportGetDownloadUrl, useRecordingExportGetExport, useRecordingExportListExports, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetDeviceConfig, useRecordingGetDeviceLiveContribution, useRecordingGetDeviceSettingsContribution, useRecordingGetPlaybackManifest, useRecordingGetRelocateStatus, useRecordingGetStatus, useRecordingGetStorageUsage, useRecordingListOpsLog, useRecordingLocateSegment, useRecordingPruneFootage, useRecordingReadSegmentBytes, useRecordingRelocateFootage, useRecordingRenderClip, useRecordingRenderGif, useRecordingRescanStorage, useRecordingSetDeviceConfig, useRemoteComponent, useSceneMonitorCaptureReference, useSceneMonitorCreateScene, useSceneMonitorDeleteReference, useSceneMonitorDeleteScene, useSceneMonitorGetStatus, useSceneMonitorListScenes, useSceneMonitorRecheckNow, useSceneMonitorUpdateScene, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useServerManagementApplyServerUpdate, useServerManagementCheckServerUpdate, useServerManagementGetServerPackageStatus, useServerManagementRestartServer, useServerManagementRollbackServerUpdate, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreDeleteWhere, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreUpdate, useSettingsStoreUpdateWhere, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetSnapshotOverview, useSnapshotGetStatus, useSnapshotInvalidateCache, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageGetDefaultLocation, useStorageList, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerPullFrameHandles, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRenderPreBufferClip, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerSubscribeFrames, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamBrokerUnsubscribeFrames, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetRetentionConfig, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetRetentionConfig, useTamperGetStatus, useTemperatureSensorGetStatus, useTerminalSessionClose, useTerminalSessionListProfiles, useTerminalSessionListSessions, useTerminalSessionOpenSession, useTerminalSessionResize, useThemeMode, useToastOnToast, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUserManagementConfirmTotp, useUserManagementCreateApiKey, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUpdateUser, useUserManagementValidateApiKey, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsGetClipPlayback, useVideoclipsListClips, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, vacuumStateMeta, validateScopes, valveStateMeta, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint };
47819
+ export { AddonGlobalSettingsForm, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, AppShell, ArcKnob, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutomationHeroCard, AutomationInlineControl, AutotrackSection, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, Badge, BatteryBadge, BottomSheet, Breadcrumb, BrightnessPanel, Button, ButtonControl, ButtonHeroCard, CARD_MODE_MIN_COLUMNS, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, CustomFieldRenderersProvider, DEFAULT_COLOR, DEVICE_COLUMNS, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DISPLAY_ICON_REGISTRY, DataTable, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceGrid, DeviceItem, DeviceList, DeviceMultiSelectField, DeviceSelectField, DeviceStepMatrix, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, DoorbellRecentPanel, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, DummyHeroCard, DummyInline, EVENT_KIND_ICONS, EmptyState, ErrorBox, EventKindGlyph, EventStream, FILL, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, FormField$1 as FormField, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GripTrack, GroupedModelSelector, HOST_WIDGETS, HlsVideo, HoverZoomImage, HumidifierHeroCard, HumidifierInlineControl, INPUT_COMPACT, IconAction, IconButton, ImageHeroCard, ImageInlineControl, ImageSelector, InferenceConfigSelector, Input, KebabMenu, KeyValueList, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LightHeroCard, LightInlineControl, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, MODE_COLOR, MaskShapeCanvas, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, MobileDrawer, ModelPicker, MotionZonesSettings, NodeMultiSelectField, NodePicker, NodeSelectField, OfflineBadge, PHASE_CONFIG, PRIORITY, PTZOverlay, PageHeader, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PipelineTreeMatrix, PlayerOverlaysProvider, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, PtzPanel, QrCode, RECONNECT_POLICY, RECORDED_PLAYBACK_MODES, RIGHT, ROLE_DESCRIPTOR, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SETTING_ROW, SETTING_ROW_LABEL, SETTING_ROW_STACK_BREAKPOINT, SETTING_ROW_VALUE, SETTING_ROW_VALUE_TEXT, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, ScopePicker, ScriptHeroCard, ScriptInlineControl, ScrollArea, Select, SemanticBadge, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, SettingRow, Sidebar, SidebarItem, Skeleton, SlideOverPanel, SlideToggle, SnapshotButton, StatCard, StateValuesStream, StatusBadge, StepTimings, StepTreeMaster, Stepper, StreamBrokerSelector, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, Tooltip, TooltipContent, TooltipTrigger, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, VodPlaybackProvider, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, ZoneEditingProvider, agentColumnKey, allDeviceTypeFilterOptions, buildStepTreeFromSchema, childEntityId, childListName, cn, columnsForContext, containerChildToRef, countableDevices, coverHighlight, createSharedContext, createTheme, cursorFractionFor, darkColors, defaultTheme, deriveDeviceKind, deviceMatchesFilter, deviceOptionLabel, deviceRoleMeta, deviceRoleMetaOf, deviceTypeMeta, deviceTypeMetaOf, devicesToOptions, ensureMfHostInit, eventKindLabel, filterDeviceOptions, findTimezone, formatControlDateTime, formatLastSeen, formatNumeric, fuzzyMatch, getClassColor, getPhaseVisual, groupAgentColumns, groupChildrenByLayout, hardwareLabel, humidifierTint, createLucideIcon as i, initialScrubState, isAbsentProvider, isFieldVisible, lawnMowerActivityMeta, lightColors, loadRemoteBundle, makeScrubBridge, metadataEntries, metadataString, mirror, mountAddonPage, Square as n, nextReconnectAction, nextSort, normalizeForSearch, overrideEntityIdFromLink, parseRecordedServerMessage, providerIcons, EyeOff as r, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDisplayIcon, resolveEventKindIcon, resolvePrimaryChild, resolveSensorDisplay, resolveStepDefaultModel, resolveTableLayout, scrubReducer, selectedDeviceOptions, serializeRecordedCommand, shouldCommit, shouldEmit, shouldUseSingleNode, sortRows, statusIcons, stripParentNamePrefix, Trash2 as t, tankAlert, themeToCss, trpc, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerClassify, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupDelete, useBackupDeleteSchedule, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListDestinations, useBackupListLocations, useBackupListSchedules, useBackupPreviewSchedule, useBackupRestore, 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, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useColorGetStatus, useColorSetColor, useConfirm, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoreBlocksCompile, useCoreBlocksCreate, useCoreBlocksDelete, useCoreBlocksGet, useCoreBlocksGetTypeDefs, useCoreBlocksList, useCoreBlocksSetEnabled, useCoreBlocksUpdate, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderCreateSession, useDecoderDestroySession, useDecoderGetFrame, useDecoderGetInfo, useDecoderGetShmStats, useDecoderGetStats, useDecoderListActiveSessions, useDecoderOpenStream, useDecoderPullFrames, useDecoderPullHandles, useDecoderPushPacket, useDecoderReprobeHwaccel, useDecoderSupportsCodec, useDecoderUpdateConfig, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyDeviceSettingsPatch, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetChildren, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveContribution, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceSettingsContribution, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetDeviceStatusAggregateBatch, useDeviceManagerGetLinkedDevices, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDeviceLinks, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetSnapshot, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDoorbellApplyDeviceSettingsPatch, useDoorbellEvents, useDoorbellGetDeviceLiveContribution, useDoorbellGetDeviceSettingsContribution, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useEventsGetEventClipUrl, useEventsGetEventThumbnail, useEventsGetEvents, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLlmDeleteModel, useLlmDeleteProfile, useLlmGenerate, useLlmGenerateVision, useLlmGetDefaults, useLlmGetRuntimeStatus, useLlmGetUsage, useLlmInstallModel, useLlmListModelCatalog, useLlmListModels, useLlmListNodeModels, useLlmListProfileKinds, useLlmListProfiles, useLlmListRuntimeNodes, useLlmSetDefault, useLlmStartRuntime, useLlmStopRuntime, useLlmTestProfile, useLlmUpsertProfile, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetNotificationEndpoint, useLocalNetworkGetPreferred, useLocalNetworkList, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkSetAllowedAddresses, useLocalNetworkSetNotificationEndpoint, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderDumpHeapSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetProcessStats, useMetricsProviderKillProcess, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotificationRulesCancelSnooze, useNotificationRulesCreateRule, useNotificationRulesCreateSnooze, useNotificationRulesDeleteRule, useNotificationRulesGetAlarmConfig, useNotificationRulesGetConditionCatalog, useNotificationRulesGetHistory, useNotificationRulesGetRule, useNotificationRulesListRules, useNotificationRulesListSnoozes, useNotificationRulesSetAlarmConfig, useNotificationRulesSetRuleEnabled, useNotificationRulesTestRule, useNotificationRulesUpdateRule, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdSetOverlay, usePTZ, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsCancelMediaRelocate, usePipelineAnalyticsClearTracks, usePipelineAnalyticsDeleteDeviceEvents, usePipelineAnalyticsDeleteTracks, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetEventStoreFootprint, usePipelineAnalyticsGetKeyEvents, usePipelineAnalyticsGetMediaRelocateStatus, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetSensorEvents, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsListEventKinds, usePipelineAnalyticsListEventKindsBatch, usePipelineAnalyticsListOpsLog, usePipelineAnalyticsListRecentTracks, usePipelineAnalyticsListTrackMedia, usePipelineAnalyticsListTracks, usePipelineAnalyticsPruneEvents, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsPruneTracksBefore, usePipelineAnalyticsRelocateMedia, usePipelineAnalyticsSearchObjectEvents, usePipelineAnalyticsWipeAllAnalytics, usePipelineExecutorCacheFrameInPool, usePipelineExecutorClearDeviceOverrides, usePipelineExecutorDeleteModel, usePipelineExecutorDeleteTemplate, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorListTemplates, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSaveTemplate, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorUpdateTemplate, usePipelineExecutorValidatePipeline, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteTemplate, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetIngestOwner, usePipelineOrchestratorGetNodeInferenceDevices, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorGetPipelineDevicePin, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListTemplates, usePipelineOrchestratorRebalance, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorResetNodePipelineDefaults, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorSaveTemplate, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDetectWeight, usePipelineOrchestratorSetAgentInferenceDevices, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetAgentReachableHost, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorSetPipelineDevicePin, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignPipeline, usePipelineOrchestratorUpdateTemplate, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerGetNativeCrop, usePipelineRunnerReportMotion, usePipelineRunnerRunDetailSubtree, 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, usePrivacyMaskSetMask, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzContinuousMove, usePtzDeletePreset, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingApplyDeviceSettingsPatch, useRecordingCancelRelocate, useRecordingDeleteFootprint, useRecordingExportCancelExport, useRecordingExportCreateExport, useRecordingExportDeleteExport, useRecordingExportGetDownloadUrl, useRecordingExportGetExport, useRecordingExportListExports, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetDeviceConfig, useRecordingGetDeviceLiveContribution, useRecordingGetDeviceSettingsContribution, useRecordingGetPlaybackManifest, useRecordingGetRelocateStatus, useRecordingGetStatus, useRecordingGetStorageUsage, useRecordingListOpsLog, useRecordingLocateSegment, useRecordingPruneFootage, useRecordingReadSegmentBytes, useRecordingRelocateFootage, useRecordingRenderClip, useRecordingRenderGif, useRecordingRescanStorage, useRecordingSetDeviceConfig, useRemoteComponent, useSceneMonitorCaptureReference, useSceneMonitorCreateScene, useSceneMonitorDeleteReference, useSceneMonitorDeleteScene, useSceneMonitorGetStatus, useSceneMonitorListScenes, useSceneMonitorRecheckNow, useSceneMonitorUpdateScene, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useServerManagementApplyServerUpdate, useServerManagementCheckServerUpdate, useServerManagementGetServerPackageStatus, useServerManagementRestartServer, useServerManagementRollbackServerUpdate, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreDeleteWhere, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreUpdate, useSettingsStoreUpdateWhere, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetSnapshotOverview, useSnapshotGetStatus, useSnapshotInvalidateCache, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageGetDefaultLocation, useStorageList, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerPullFrameHandles, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRenderPreBufferClip, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerSubscribeFrames, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamBrokerUnsubscribeFrames, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetRetentionConfig, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetRetentionConfig, useTamperGetStatus, useTemperatureSensorGetStatus, useTerminalSessionClose, useTerminalSessionListProfiles, useTerminalSessionListSessions, useTerminalSessionOpenSession, useTerminalSessionResize, useThemeMode, useToastOnToast, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUserManagementConfirmTotp, useUserManagementCreateApiKey, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUpdateUser, useUserManagementValidateApiKey, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsGetClipPlayback, useVideoclipsListClips, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, vacuumStateMeta, validateScopes, valveStateMeta, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/ui-library",
3
- "version": "1.2.24",
3
+ "version": "1.2.26",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",