@camstack/ui-library 1.1.24 → 1.1.25

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.
@@ -293,6 +293,12 @@ export declare const useCoverSetPosition: typeof trpc.cover.setPosition.useMutat
293
293
  export declare const useCoverSetTiltPosition: typeof trpc.cover.setTiltPosition.useMutation;
294
294
  /** Generated alias around `trpc.cover.getStatus.useQuery`. */
295
295
  export declare const useCoverGetStatus: typeof trpc.cover.getStatus.useQuery;
296
+ /** Generated alias around `trpc.dayNight.getOptions.useQuery`. */
297
+ export declare const useDayNightGetOptions: typeof trpc.dayNight.getOptions.useQuery;
298
+ /** Generated alias around `trpc.dayNight.setSettings.useMutation`. */
299
+ export declare const useDayNightSetSettings: typeof trpc.dayNight.setSettings.useMutation;
300
+ /** Generated alias around `trpc.dayNight.getStatus.useQuery`. */
301
+ export declare const useDayNightGetStatus: typeof trpc.dayNight.getStatus.useQuery;
296
302
  /** Generated alias around `trpc.decoder.supportsCodec.useQuery`. */
297
303
  export declare const useDecoderSupportsCodec: typeof trpc.decoder.supportsCodec.useQuery;
298
304
  /** Generated alias around `trpc.decoder.getInfo.useQuery`. */
@@ -629,6 +635,12 @@ export declare const useHumidifierGetStatus: typeof trpc.humidifier.getStatus.us
629
635
  export declare const useHumiditySensorGetStatus: typeof trpc.humiditySensor.getStatus.useQuery;
630
636
  /** Generated alias around `trpc.image.getStatus.useQuery`. */
631
637
  export declare const useImageGetStatus: typeof trpc.image.getStatus.useQuery;
638
+ /** Generated alias around `trpc.imageSettings.getOptions.useQuery`. */
639
+ export declare const useImageSettingsGetOptions: typeof trpc.imageSettings.getOptions.useQuery;
640
+ /** Generated alias around `trpc.imageSettings.setSettings.useMutation`. */
641
+ export declare const useImageSettingsSetSettings: typeof trpc.imageSettings.setSettings.useMutation;
642
+ /** Generated alias around `trpc.imageSettings.getStatus.useQuery`. */
643
+ export declare const useImageSettingsGetStatus: typeof trpc.imageSettings.getStatus.useQuery;
632
644
  /** Generated alias around `trpc.integrations.list.useQuery`. */
633
645
  export declare const useIntegrationsList: typeof trpc.integrations.list.useQuery;
634
646
  /** Generated alias around `trpc.integrations.get.useQuery`. */
package/dist/index.cjs CHANGED
@@ -13842,6 +13842,17 @@ function AgentStepEditor(props) {
13842
13842
  }
13843
13843
  //#endregion
13844
13844
  //#region src/composites/pipeline-tree-matrix.tsx
13845
+ /**
13846
+ * Fixed column geometry (rem). The matrix uses a CSS grid with STATIC track
13847
+ * widths so a cell's content (a status chip, a long model id) can never resize
13848
+ * a column or shift its neighbours — cell content is truncated WITHIN the fixed
13849
+ * track instead. This kills the "table dances when the last column's status
13850
+ * changes" jitter. See `min-w-0` on every grid child, which lets the child
13851
+ * shrink to the track (a grid item's automatic minimum is its content size, so
13852
+ * without this a non-wrapping model id would blow the track wider than its max).
13853
+ */
13854
+ var STEP_COL_REM = 18;
13855
+ var AGENT_COL_REM = 13;
13845
13856
  function flattenTree(nodes) {
13846
13857
  const out = [];
13847
13858
  const walk = (list, depth) => {
@@ -13921,40 +13932,58 @@ function QuickToggle({ enabled, onChange, disabled }) {
13921
13932
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: cn("inline-block h-3 w-3 rounded-full bg-white shadow transition-transform", enabled ? "translate-x-3.5" : "translate-x-0.5") })
13922
13933
  });
13923
13934
  }
13935
+ /**
13936
+ * Cell content. Kept width-stable: the status dot is `shrink-0` (reserved
13937
+ * space) and the model id truncates inside a `min-w-0` flex row, so a longer
13938
+ * model id never widens the cell — it ellipsises instead.
13939
+ */
13924
13940
  function renderCellContent(state) {
13925
13941
  if (state.kind === "enabled") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
13926
- className: "inline-flex items-center gap-1",
13942
+ className: "flex min-w-0 items-center gap-1",
13927
13943
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "h-1.5 w-1.5 rounded-full bg-emerald-500 shrink-0" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
13928
- className: "font-mono text-foreground",
13944
+ className: "font-mono text-foreground truncate",
13929
13945
  children: state.modelId
13930
13946
  })]
13931
13947
  });
13932
13948
  if (state.kind === "disabled") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
13933
- className: "inline-flex items-center gap-1 text-foreground-subtle",
13934
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "h-1.5 w-1.5 rounded-full border border-foreground-subtle/60 shrink-0" }), "off"]
13949
+ className: "flex min-w-0 items-center gap-1 text-foreground-subtle",
13950
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "h-1.5 w-1.5 rounded-full border border-foreground-subtle/60 shrink-0" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
13951
+ className: "truncate",
13952
+ children: "off"
13953
+ })]
13935
13954
  });
13936
13955
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
13937
- className: "inline-flex items-center gap-1 text-foreground-subtle/70",
13938
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "h-1.5 w-1.5 rounded-full bg-muted shrink-0" }), "n/a"]
13956
+ className: "flex min-w-0 items-center gap-1 text-foreground-subtle/70",
13957
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "h-1.5 w-1.5 rounded-full bg-muted shrink-0" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
13958
+ className: "truncate",
13959
+ children: "n/a"
13960
+ })]
13939
13961
  });
13940
13962
  }
13941
- function Row({ node, depth, agents, getCellState, onCellClick, selectedCell, toggleProps }) {
13963
+ function cellButtonClass(state, isSelected, extra) {
13964
+ return cn("text-left text-xs hover:bg-muted/40", state.kind === "enabled" && "bg-emerald-500/5", state.kind === "na" && "bg-muted/30", isSelected && "ring-2 ring-primary ring-inset", extra);
13965
+ }
13966
+ /** Step label (slot heading + addon name + class chips), shared by both views. */
13967
+ function StepLabel({ node }) {
13968
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
13969
+ className: "flex flex-col gap-1 min-w-0 flex-1",
13970
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SlotHeading, { slot: node.slot }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
13971
+ className: "flex items-center gap-2 flex-wrap",
13972
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
13973
+ className: "font-semibold truncate",
13974
+ children: node.addonName
13975
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ClassChips, {
13976
+ inputs: node.inputClasses,
13977
+ outputs: node.outputClasses
13978
+ })]
13979
+ })]
13980
+ });
13981
+ }
13982
+ function GridRow({ node, depth, agents, getCellState, onCellClick, selectedCell, toggleProps }) {
13942
13983
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
13943
- className: "sticky left-0 z-10 bg-surface px-3 py-2 border-b border-border text-xs flex items-start gap-2",
13984
+ className: "sticky left-0 z-10 bg-surface px-3 py-2 border-b border-border text-xs flex items-start gap-2 min-w-0",
13944
13985
  style: { paddingLeft: `${12 + depth * 14}px` },
13945
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
13946
- className: "flex flex-col gap-1 min-w-0 flex-1",
13947
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SlotHeading, { slot: node.slot }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
13948
- className: "flex items-center gap-2 flex-wrap",
13949
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
13950
- className: "font-semibold truncate",
13951
- children: node.addonName
13952
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ClassChips, {
13953
- inputs: node.inputClasses,
13954
- outputs: node.outputClasses
13955
- })]
13956
- })]
13957
- }), toggleProps && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
13986
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(StepLabel, { node }), toggleProps && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
13958
13987
  className: "pl-2 pt-0.5 shrink-0",
13959
13988
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(QuickToggle, {
13960
13989
  enabled: toggleProps.enabled,
@@ -13964,24 +13993,28 @@ function Row({ node, depth, agents, getCellState, onCellClick, selectedCell, tog
13964
13993
  })]
13965
13994
  }), agents.map((a) => {
13966
13995
  const state = getCellState(node.addonId, a.agentNodeId);
13967
- const isSelected = selectedCell?.addonId === node.addonId && selectedCell.agentNodeId === a.agentNodeId;
13968
13996
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
13969
13997
  type: "button",
13970
13998
  onClick: () => onCellClick(node.addonId, a.agentNodeId),
13971
- className: cn("text-left px-3 py-1.5 border-b border-l border-border text-xs hover:bg-muted/40", state.kind === "enabled" && "bg-emerald-500/5", state.kind === "na" && "bg-muted/30", isSelected && "ring-2 ring-primary ring-inset"),
13999
+ className: cellButtonClass(state, selectedCell?.addonId === node.addonId && selectedCell.agentNodeId === a.agentNodeId, "min-w-0 overflow-hidden px-3 py-1.5 border-b border-l border-border"),
13972
14000
  children: renderCellContent(state)
13973
14001
  }, a.agentNodeId);
13974
14002
  })] });
13975
14003
  }
13976
- function PipelineTreeMatrix({ tree, agents, getCellState, onCellClick, selectedCell, onToggleEnabled }) {
13977
- const rows = (0, react$1.useMemo)(() => flattenTree(tree), [tree]);
13978
- const gridTemplate = `minmax(320px, 1fr) repeat(${agents.length}, minmax(160px, 220px))`;
14004
+ /**
14005
+ * Wide layout: horizontally self-scrolling matrix. The scroll lives INSIDE
14006
+ * this `overflow-auto` box (sticky first column + sticky header row) so the
14007
+ * page body never scrolls sideways. Column tracks are fixed px widths — see
14008
+ * STEP_COL_REM / AGENT_COL_REM — so the grid is static regardless of content.
14009
+ */
14010
+ function MatrixGrid({ rows, agents, getCellState, onCellClick, selectedCell, onToggleEnabled }) {
14011
+ const gridTemplate = `${STEP_COL_REM}rem repeat(${agents.length}, ${AGENT_COL_REM}rem)`;
13979
14012
  const showToggle = onToggleEnabled !== void 0 && agents.length === 1;
13980
14013
  const onlyAgent = agents[0]?.agentNodeId;
13981
14014
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
13982
14015
  className: "overflow-auto border border-border rounded",
13983
14016
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
13984
- className: "grid",
14017
+ className: "grid w-max",
13985
14018
  style: { gridTemplateColumns: gridTemplate },
13986
14019
  children: [
13987
14020
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
@@ -13989,9 +14022,9 @@ function PipelineTreeMatrix({ tree, agents, getCellState, onCellClick, selectedC
13989
14022
  children: "Step"
13990
14023
  }),
13991
14024
  agents.map((a) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
13992
- className: "sticky top-0 z-10 bg-muted/60 px-3 py-2 border-b border-l border-border",
14025
+ className: "sticky top-0 z-10 min-w-0 bg-muted/60 px-3 py-2 border-b border-l border-border",
13993
14026
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
13994
- className: "text-xs font-semibold text-foreground",
14027
+ className: "text-xs font-semibold text-foreground truncate",
13995
14028
  children: a.agentNodeId
13996
14029
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
13997
14030
  className: "text-[10px] text-foreground-subtle truncate",
@@ -14000,7 +14033,7 @@ function PipelineTreeMatrix({ tree, agents, getCellState, onCellClick, selectedC
14000
14033
  }, a.agentNodeId)),
14001
14034
  rows.map(({ node, depth }) => {
14002
14035
  const cellState = showToggle && onlyAgent !== void 0 ? getCellState(node.addonId, onlyAgent) : null;
14003
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Row, {
14036
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(GridRow, {
14004
14037
  node,
14005
14038
  depth,
14006
14039
  agents,
@@ -14018,6 +14051,90 @@ function PipelineTreeMatrix({ tree, agents, getCellState, onCellClick, selectedC
14018
14051
  })
14019
14052
  });
14020
14053
  }
14054
+ /**
14055
+ * Narrow layout: one card per agent column, each listing every step stacked
14056
+ * vertically. A wide fixed matrix is unusable on a phone; here the same cells
14057
+ * (click-to-edit, status, toggle) reflow into full-width rows so nothing scrolls
14058
+ * horizontally. Feature-parity with the matrix — same `onCellClick`, same
14059
+ * `renderCellContent`, same single-agent `onToggleEnabled`.
14060
+ */
14061
+ function StackedCards({ rows, agents, getCellState, onCellClick, selectedCell, onToggleEnabled }) {
14062
+ const showToggle = onToggleEnabled !== void 0 && agents.length === 1;
14063
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
14064
+ className: "space-y-3",
14065
+ children: agents.map((a) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
14066
+ className: "border border-border rounded overflow-hidden",
14067
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
14068
+ className: "bg-muted/60 px-3 py-2 border-b border-border",
14069
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
14070
+ className: "text-xs font-semibold text-foreground truncate",
14071
+ children: a.agentNodeId
14072
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
14073
+ className: "text-[10px] text-foreground-subtle truncate",
14074
+ children: a.engineLabel
14075
+ })]
14076
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", { children: rows.map(({ node, depth }) => {
14077
+ const state = getCellState(node.addonId, a.agentNodeId);
14078
+ const isSelected = selectedCell?.addonId === node.addonId && selectedCell.agentNodeId === a.agentNodeId;
14079
+ const toggleProps = showToggle && state !== null ? {
14080
+ enabled: state.kind === "enabled",
14081
+ onChange: (next) => onToggleEnabled?.(node.addonId, next),
14082
+ disabled: state.kind === "na"
14083
+ } : void 0;
14084
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", {
14085
+ className: "border-b border-border last:border-b-0",
14086
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
14087
+ className: "flex items-center gap-2",
14088
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
14089
+ type: "button",
14090
+ onClick: () => onCellClick(node.addonId, a.agentNodeId),
14091
+ className: cellButtonClass(state, isSelected, "flex flex-1 min-w-0 items-start justify-between gap-3 px-3 py-2"),
14092
+ style: { paddingLeft: `${12 + depth * 14}px` },
14093
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(StepLabel, { node }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
14094
+ className: "shrink-0 max-w-[45%] pt-0.5",
14095
+ children: renderCellContent(state)
14096
+ })]
14097
+ }), toggleProps && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
14098
+ className: "pr-3 shrink-0",
14099
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(QuickToggle, {
14100
+ enabled: toggleProps.enabled,
14101
+ onChange: toggleProps.onChange,
14102
+ disabled: toggleProps.disabled
14103
+ })
14104
+ })]
14105
+ })
14106
+ }, node.addonId);
14107
+ }) })]
14108
+ }, a.agentNodeId))
14109
+ });
14110
+ }
14111
+ function PipelineTreeMatrix({ tree, agents, getCellState, onCellClick, selectedCell, onToggleEnabled }) {
14112
+ const rows = (0, react$1.useMemo)(() => flattenTree(tree), [tree]);
14113
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
14114
+ className: "@container/matrix w-full",
14115
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
14116
+ className: "@2xl/matrix:hidden",
14117
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StackedCards, {
14118
+ rows,
14119
+ agents,
14120
+ getCellState,
14121
+ onCellClick,
14122
+ selectedCell,
14123
+ onToggleEnabled
14124
+ })
14125
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
14126
+ className: "hidden @2xl/matrix:block",
14127
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MatrixGrid, {
14128
+ rows,
14129
+ agents,
14130
+ getCellState,
14131
+ onCellClick,
14132
+ selectedCell,
14133
+ onToggleEnabled
14134
+ })
14135
+ })]
14136
+ });
14137
+ }
14021
14138
  //#endregion
14022
14139
  //#region src/trpc-react.ts
14023
14140
  /**
@@ -16925,6 +17042,12 @@ var useCoverSetPosition = trpc.cover.setPosition.useMutation;
16925
17042
  var useCoverSetTiltPosition = trpc.cover.setTiltPosition.useMutation;
16926
17043
  /** Generated alias around `trpc.cover.getStatus.useQuery`. */
16927
17044
  var useCoverGetStatus = trpc.cover.getStatus.useQuery;
17045
+ /** Generated alias around `trpc.dayNight.getOptions.useQuery`. */
17046
+ var useDayNightGetOptions = trpc.dayNight.getOptions.useQuery;
17047
+ /** Generated alias around `trpc.dayNight.setSettings.useMutation`. */
17048
+ var useDayNightSetSettings = trpc.dayNight.setSettings.useMutation;
17049
+ /** Generated alias around `trpc.dayNight.getStatus.useQuery`. */
17050
+ var useDayNightGetStatus = trpc.dayNight.getStatus.useQuery;
16928
17051
  /** Generated alias around `trpc.decoder.supportsCodec.useQuery`. */
16929
17052
  var useDecoderSupportsCodec = trpc.decoder.supportsCodec.useQuery;
16930
17053
  /** Generated alias around `trpc.decoder.getInfo.useQuery`. */
@@ -17261,6 +17384,12 @@ var useHumidifierGetStatus = trpc.humidifier.getStatus.useQuery;
17261
17384
  var useHumiditySensorGetStatus = trpc.humiditySensor.getStatus.useQuery;
17262
17385
  /** Generated alias around `trpc.image.getStatus.useQuery`. */
17263
17386
  var useImageGetStatus = trpc.image.getStatus.useQuery;
17387
+ /** Generated alias around `trpc.imageSettings.getOptions.useQuery`. */
17388
+ var useImageSettingsGetOptions = trpc.imageSettings.getOptions.useQuery;
17389
+ /** Generated alias around `trpc.imageSettings.setSettings.useMutation`. */
17390
+ var useImageSettingsSetSettings = trpc.imageSettings.setSettings.useMutation;
17391
+ /** Generated alias around `trpc.imageSettings.getStatus.useQuery`. */
17392
+ var useImageSettingsGetStatus = trpc.imageSettings.getStatus.useQuery;
17264
17393
  /** Generated alias around `trpc.integrations.list.useQuery`. */
17265
17394
  var useIntegrationsList = trpc.integrations.list.useQuery;
17266
17395
  /** Generated alias around `trpc.integrations.get.useQuery`. */
@@ -41228,7 +41357,6 @@ var LEVEL_SEVERITY = {
41228
41357
  error: 3
41229
41358
  };
41230
41359
  var LEVEL_OPTIONS = [
41231
- "all",
41232
41360
  "debug",
41233
41361
  "info",
41234
41362
  "warn",
@@ -41243,7 +41371,7 @@ function passesLevel(logLevel, filterLevel) {
41243
41371
  function LogStream({ agentId: propsAgentId, addonId: propsAddonId, deviceId: propsDeviceId, containerDeviceId: propsContainerDeviceId, integrationId: propsIntegrationId, requestId: propsRequestId, level: initialLevel, maxHeight = "max-h-96", showScope = false, showFilters = true, limit = 100, liveBuffer: externalBuffer, onClose, className }) {
41244
41372
  const [localAddonId, setLocalAddonId] = (0, react$1.useState)("");
41245
41373
  const [localDeviceId, setLocalDeviceId] = (0, react$1.useState)("");
41246
- const [levelFilter, setLevelFilter] = (0, react$1.useState)(initialLevel);
41374
+ const [levelFilter, setLevelFilter] = (0, react$1.useState)(initialLevel ?? "info");
41247
41375
  const agentId = propsAgentId;
41248
41376
  const addonId = propsAddonId ?? (localAddonId || void 0);
41249
41377
  const deviceId = propsDeviceId ?? (localDeviceId ? Number(localDeviceId) : void 0);
@@ -41444,11 +41572,11 @@ function LogStream({ agentId: propsAgentId, addonId: propsAddonId, deviceId: pro
41444
41572
  }),
41445
41573
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
41446
41574
  className: "flex rounded border border-border overflow-hidden text-[9px]",
41447
- children: LEVEL_OPTIONS.map((l) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
41575
+ children: LEVEL_OPTIONS.map((l, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
41448
41576
  type: "button",
41449
- onClick: () => setLevelFilter(l === "all" ? void 0 : l),
41450
- className: cn("px-1.5 py-0.5 capitalize transition-colors", l === "all" && !levelFilter || levelFilter === l ? "bg-primary/10 text-primary" : "text-foreground-subtle hover:bg-surface-hover", l !== "all" && "border-l border-border"),
41451
- children: [l, l !== "all" ? "+" : ""]
41577
+ onClick: () => setLevelFilter(l),
41578
+ className: cn("px-1.5 py-0.5 capitalize transition-colors", levelFilter === l ? "bg-primary/10 text-primary" : "text-foreground-subtle hover:bg-surface-hover", i > 0 && "border-l border-border"),
41579
+ children: [l, "+"]
41452
41580
  }, l))
41453
41581
  }),
41454
41582
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarButton, {
@@ -45373,6 +45501,9 @@ exports.useCoverSetPosition = useCoverSetPosition;
45373
45501
  exports.useCoverSetTiltPosition = useCoverSetTiltPosition;
45374
45502
  exports.useCoverStop = useCoverStop;
45375
45503
  exports.useCustomFieldRenderer = useCustomFieldRenderer;
45504
+ exports.useDayNightGetOptions = useDayNightGetOptions;
45505
+ exports.useDayNightGetStatus = useDayNightGetStatus;
45506
+ exports.useDayNightSetSettings = useDayNightSetSettings;
45376
45507
  exports.useDebouncedString = useDebouncedString;
45377
45508
  exports.useDecoderCreateSession = useDecoderCreateSession;
45378
45509
  exports.useDecoderDestroySession = useDecoderDestroySession;
@@ -45563,6 +45694,9 @@ exports.useHumidifierSetOn = useHumidifierSetOn;
45563
45694
  exports.useHumidifierSetTargetHumidity = useHumidifierSetTargetHumidity;
45564
45695
  exports.useHumiditySensorGetStatus = useHumiditySensorGetStatus;
45565
45696
  exports.useImageGetStatus = useImageGetStatus;
45697
+ exports.useImageSettingsGetOptions = useImageSettingsGetOptions;
45698
+ exports.useImageSettingsGetStatus = useImageSettingsGetStatus;
45699
+ exports.useImageSettingsSetSettings = useImageSettingsSetSettings;
45566
45700
  exports.useIntegrationsCreate = useIntegrationsCreate;
45567
45701
  exports.useIntegrationsDelete = useIntegrationsDelete;
45568
45702
  exports.useIntegrationsGet = useIntegrationsGet;
package/dist/index.js CHANGED
@@ -13818,6 +13818,17 @@ function AgentStepEditor(props) {
13818
13818
  }
13819
13819
  //#endregion
13820
13820
  //#region src/composites/pipeline-tree-matrix.tsx
13821
+ /**
13822
+ * Fixed column geometry (rem). The matrix uses a CSS grid with STATIC track
13823
+ * widths so a cell's content (a status chip, a long model id) can never resize
13824
+ * a column or shift its neighbours — cell content is truncated WITHIN the fixed
13825
+ * track instead. This kills the "table dances when the last column's status
13826
+ * changes" jitter. See `min-w-0` on every grid child, which lets the child
13827
+ * shrink to the track (a grid item's automatic minimum is its content size, so
13828
+ * without this a non-wrapping model id would blow the track wider than its max).
13829
+ */
13830
+ var STEP_COL_REM = 18;
13831
+ var AGENT_COL_REM = 13;
13821
13832
  function flattenTree(nodes) {
13822
13833
  const out = [];
13823
13834
  const walk = (list, depth) => {
@@ -13897,40 +13908,58 @@ function QuickToggle({ enabled, onChange, disabled }) {
13897
13908
  children: /* @__PURE__ */ jsx("span", { className: cn("inline-block h-3 w-3 rounded-full bg-white shadow transition-transform", enabled ? "translate-x-3.5" : "translate-x-0.5") })
13898
13909
  });
13899
13910
  }
13911
+ /**
13912
+ * Cell content. Kept width-stable: the status dot is `shrink-0` (reserved
13913
+ * space) and the model id truncates inside a `min-w-0` flex row, so a longer
13914
+ * model id never widens the cell — it ellipsises instead.
13915
+ */
13900
13916
  function renderCellContent(state) {
13901
13917
  if (state.kind === "enabled") return /* @__PURE__ */ jsxs("span", {
13902
- className: "inline-flex items-center gap-1",
13918
+ className: "flex min-w-0 items-center gap-1",
13903
13919
  children: [/* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-emerald-500 shrink-0" }), /* @__PURE__ */ jsx("span", {
13904
- className: "font-mono text-foreground",
13920
+ className: "font-mono text-foreground truncate",
13905
13921
  children: state.modelId
13906
13922
  })]
13907
13923
  });
13908
13924
  if (state.kind === "disabled") return /* @__PURE__ */ jsxs("span", {
13909
- className: "inline-flex items-center gap-1 text-foreground-subtle",
13910
- children: [/* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full border border-foreground-subtle/60 shrink-0" }), "off"]
13925
+ className: "flex min-w-0 items-center gap-1 text-foreground-subtle",
13926
+ children: [/* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full border border-foreground-subtle/60 shrink-0" }), /* @__PURE__ */ jsx("span", {
13927
+ className: "truncate",
13928
+ children: "off"
13929
+ })]
13911
13930
  });
13912
13931
  return /* @__PURE__ */ jsxs("span", {
13913
- className: "inline-flex items-center gap-1 text-foreground-subtle/70",
13914
- children: [/* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-muted shrink-0" }), "n/a"]
13932
+ className: "flex min-w-0 items-center gap-1 text-foreground-subtle/70",
13933
+ children: [/* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-muted shrink-0" }), /* @__PURE__ */ jsx("span", {
13934
+ className: "truncate",
13935
+ children: "n/a"
13936
+ })]
13915
13937
  });
13916
13938
  }
13917
- function Row({ node, depth, agents, getCellState, onCellClick, selectedCell, toggleProps }) {
13939
+ function cellButtonClass(state, isSelected, extra) {
13940
+ return cn("text-left text-xs hover:bg-muted/40", state.kind === "enabled" && "bg-emerald-500/5", state.kind === "na" && "bg-muted/30", isSelected && "ring-2 ring-primary ring-inset", extra);
13941
+ }
13942
+ /** Step label (slot heading + addon name + class chips), shared by both views. */
13943
+ function StepLabel({ node }) {
13944
+ return /* @__PURE__ */ jsxs("div", {
13945
+ className: "flex flex-col gap-1 min-w-0 flex-1",
13946
+ children: [/* @__PURE__ */ jsx(SlotHeading, { slot: node.slot }), /* @__PURE__ */ jsxs("div", {
13947
+ className: "flex items-center gap-2 flex-wrap",
13948
+ children: [/* @__PURE__ */ jsx("span", {
13949
+ className: "font-semibold truncate",
13950
+ children: node.addonName
13951
+ }), /* @__PURE__ */ jsx(ClassChips, {
13952
+ inputs: node.inputClasses,
13953
+ outputs: node.outputClasses
13954
+ })]
13955
+ })]
13956
+ });
13957
+ }
13958
+ function GridRow({ node, depth, agents, getCellState, onCellClick, selectedCell, toggleProps }) {
13918
13959
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("div", {
13919
- className: "sticky left-0 z-10 bg-surface px-3 py-2 border-b border-border text-xs flex items-start gap-2",
13960
+ className: "sticky left-0 z-10 bg-surface px-3 py-2 border-b border-border text-xs flex items-start gap-2 min-w-0",
13920
13961
  style: { paddingLeft: `${12 + depth * 14}px` },
13921
- children: [/* @__PURE__ */ jsxs("div", {
13922
- className: "flex flex-col gap-1 min-w-0 flex-1",
13923
- children: [/* @__PURE__ */ jsx(SlotHeading, { slot: node.slot }), /* @__PURE__ */ jsxs("div", {
13924
- className: "flex items-center gap-2 flex-wrap",
13925
- children: [/* @__PURE__ */ jsx("span", {
13926
- className: "font-semibold truncate",
13927
- children: node.addonName
13928
- }), /* @__PURE__ */ jsx(ClassChips, {
13929
- inputs: node.inputClasses,
13930
- outputs: node.outputClasses
13931
- })]
13932
- })]
13933
- }), toggleProps && /* @__PURE__ */ jsx("span", {
13962
+ children: [/* @__PURE__ */ jsx(StepLabel, { node }), toggleProps && /* @__PURE__ */ jsx("span", {
13934
13963
  className: "pl-2 pt-0.5 shrink-0",
13935
13964
  children: /* @__PURE__ */ jsx(QuickToggle, {
13936
13965
  enabled: toggleProps.enabled,
@@ -13940,24 +13969,28 @@ function Row({ node, depth, agents, getCellState, onCellClick, selectedCell, tog
13940
13969
  })]
13941
13970
  }), agents.map((a) => {
13942
13971
  const state = getCellState(node.addonId, a.agentNodeId);
13943
- const isSelected = selectedCell?.addonId === node.addonId && selectedCell.agentNodeId === a.agentNodeId;
13944
13972
  return /* @__PURE__ */ jsx("button", {
13945
13973
  type: "button",
13946
13974
  onClick: () => onCellClick(node.addonId, a.agentNodeId),
13947
- className: cn("text-left px-3 py-1.5 border-b border-l border-border text-xs hover:bg-muted/40", state.kind === "enabled" && "bg-emerald-500/5", state.kind === "na" && "bg-muted/30", isSelected && "ring-2 ring-primary ring-inset"),
13975
+ className: cellButtonClass(state, selectedCell?.addonId === node.addonId && selectedCell.agentNodeId === a.agentNodeId, "min-w-0 overflow-hidden px-3 py-1.5 border-b border-l border-border"),
13948
13976
  children: renderCellContent(state)
13949
13977
  }, a.agentNodeId);
13950
13978
  })] });
13951
13979
  }
13952
- function PipelineTreeMatrix({ tree, agents, getCellState, onCellClick, selectedCell, onToggleEnabled }) {
13953
- const rows = useMemo(() => flattenTree(tree), [tree]);
13954
- const gridTemplate = `minmax(320px, 1fr) repeat(${agents.length}, minmax(160px, 220px))`;
13980
+ /**
13981
+ * Wide layout: horizontally self-scrolling matrix. The scroll lives INSIDE
13982
+ * this `overflow-auto` box (sticky first column + sticky header row) so the
13983
+ * page body never scrolls sideways. Column tracks are fixed px widths — see
13984
+ * STEP_COL_REM / AGENT_COL_REM — so the grid is static regardless of content.
13985
+ */
13986
+ function MatrixGrid({ rows, agents, getCellState, onCellClick, selectedCell, onToggleEnabled }) {
13987
+ const gridTemplate = `${STEP_COL_REM}rem repeat(${agents.length}, ${AGENT_COL_REM}rem)`;
13955
13988
  const showToggle = onToggleEnabled !== void 0 && agents.length === 1;
13956
13989
  const onlyAgent = agents[0]?.agentNodeId;
13957
13990
  return /* @__PURE__ */ jsx("div", {
13958
13991
  className: "overflow-auto border border-border rounded",
13959
13992
  children: /* @__PURE__ */ jsxs("div", {
13960
- className: "grid",
13993
+ className: "grid w-max",
13961
13994
  style: { gridTemplateColumns: gridTemplate },
13962
13995
  children: [
13963
13996
  /* @__PURE__ */ jsx("div", {
@@ -13965,9 +13998,9 @@ function PipelineTreeMatrix({ tree, agents, getCellState, onCellClick, selectedC
13965
13998
  children: "Step"
13966
13999
  }),
13967
14000
  agents.map((a) => /* @__PURE__ */ jsxs("div", {
13968
- className: "sticky top-0 z-10 bg-muted/60 px-3 py-2 border-b border-l border-border",
14001
+ className: "sticky top-0 z-10 min-w-0 bg-muted/60 px-3 py-2 border-b border-l border-border",
13969
14002
  children: [/* @__PURE__ */ jsx("div", {
13970
- className: "text-xs font-semibold text-foreground",
14003
+ className: "text-xs font-semibold text-foreground truncate",
13971
14004
  children: a.agentNodeId
13972
14005
  }), /* @__PURE__ */ jsx("div", {
13973
14006
  className: "text-[10px] text-foreground-subtle truncate",
@@ -13976,7 +14009,7 @@ function PipelineTreeMatrix({ tree, agents, getCellState, onCellClick, selectedC
13976
14009
  }, a.agentNodeId)),
13977
14010
  rows.map(({ node, depth }) => {
13978
14011
  const cellState = showToggle && onlyAgent !== void 0 ? getCellState(node.addonId, onlyAgent) : null;
13979
- return /* @__PURE__ */ jsx(Row, {
14012
+ return /* @__PURE__ */ jsx(GridRow, {
13980
14013
  node,
13981
14014
  depth,
13982
14015
  agents,
@@ -13994,6 +14027,90 @@ function PipelineTreeMatrix({ tree, agents, getCellState, onCellClick, selectedC
13994
14027
  })
13995
14028
  });
13996
14029
  }
14030
+ /**
14031
+ * Narrow layout: one card per agent column, each listing every step stacked
14032
+ * vertically. A wide fixed matrix is unusable on a phone; here the same cells
14033
+ * (click-to-edit, status, toggle) reflow into full-width rows so nothing scrolls
14034
+ * horizontally. Feature-parity with the matrix — same `onCellClick`, same
14035
+ * `renderCellContent`, same single-agent `onToggleEnabled`.
14036
+ */
14037
+ function StackedCards({ rows, agents, getCellState, onCellClick, selectedCell, onToggleEnabled }) {
14038
+ const showToggle = onToggleEnabled !== void 0 && agents.length === 1;
14039
+ return /* @__PURE__ */ jsx("div", {
14040
+ className: "space-y-3",
14041
+ children: agents.map((a) => /* @__PURE__ */ jsxs("div", {
14042
+ className: "border border-border rounded overflow-hidden",
14043
+ children: [/* @__PURE__ */ jsxs("div", {
14044
+ className: "bg-muted/60 px-3 py-2 border-b border-border",
14045
+ children: [/* @__PURE__ */ jsx("div", {
14046
+ className: "text-xs font-semibold text-foreground truncate",
14047
+ children: a.agentNodeId
14048
+ }), /* @__PURE__ */ jsx("div", {
14049
+ className: "text-[10px] text-foreground-subtle truncate",
14050
+ children: a.engineLabel
14051
+ })]
14052
+ }), /* @__PURE__ */ jsx("ul", { children: rows.map(({ node, depth }) => {
14053
+ const state = getCellState(node.addonId, a.agentNodeId);
14054
+ const isSelected = selectedCell?.addonId === node.addonId && selectedCell.agentNodeId === a.agentNodeId;
14055
+ const toggleProps = showToggle && state !== null ? {
14056
+ enabled: state.kind === "enabled",
14057
+ onChange: (next) => onToggleEnabled?.(node.addonId, next),
14058
+ disabled: state.kind === "na"
14059
+ } : void 0;
14060
+ return /* @__PURE__ */ jsx("li", {
14061
+ className: "border-b border-border last:border-b-0",
14062
+ children: /* @__PURE__ */ jsxs("div", {
14063
+ className: "flex items-center gap-2",
14064
+ children: [/* @__PURE__ */ jsxs("button", {
14065
+ type: "button",
14066
+ onClick: () => onCellClick(node.addonId, a.agentNodeId),
14067
+ className: cellButtonClass(state, isSelected, "flex flex-1 min-w-0 items-start justify-between gap-3 px-3 py-2"),
14068
+ style: { paddingLeft: `${12 + depth * 14}px` },
14069
+ children: [/* @__PURE__ */ jsx(StepLabel, { node }), /* @__PURE__ */ jsx("span", {
14070
+ className: "shrink-0 max-w-[45%] pt-0.5",
14071
+ children: renderCellContent(state)
14072
+ })]
14073
+ }), toggleProps && /* @__PURE__ */ jsx("span", {
14074
+ className: "pr-3 shrink-0",
14075
+ children: /* @__PURE__ */ jsx(QuickToggle, {
14076
+ enabled: toggleProps.enabled,
14077
+ onChange: toggleProps.onChange,
14078
+ disabled: toggleProps.disabled
14079
+ })
14080
+ })]
14081
+ })
14082
+ }, node.addonId);
14083
+ }) })]
14084
+ }, a.agentNodeId))
14085
+ });
14086
+ }
14087
+ function PipelineTreeMatrix({ tree, agents, getCellState, onCellClick, selectedCell, onToggleEnabled }) {
14088
+ const rows = useMemo(() => flattenTree(tree), [tree]);
14089
+ return /* @__PURE__ */ jsxs("div", {
14090
+ className: "@container/matrix w-full",
14091
+ children: [/* @__PURE__ */ jsx("div", {
14092
+ className: "@2xl/matrix:hidden",
14093
+ children: /* @__PURE__ */ jsx(StackedCards, {
14094
+ rows,
14095
+ agents,
14096
+ getCellState,
14097
+ onCellClick,
14098
+ selectedCell,
14099
+ onToggleEnabled
14100
+ })
14101
+ }), /* @__PURE__ */ jsx("div", {
14102
+ className: "hidden @2xl/matrix:block",
14103
+ children: /* @__PURE__ */ jsx(MatrixGrid, {
14104
+ rows,
14105
+ agents,
14106
+ getCellState,
14107
+ onCellClick,
14108
+ selectedCell,
14109
+ onToggleEnabled
14110
+ })
14111
+ })]
14112
+ });
14113
+ }
13997
14114
  //#endregion
13998
14115
  //#region src/trpc-react.ts
13999
14116
  /**
@@ -16901,6 +17018,12 @@ var useCoverSetPosition = trpc.cover.setPosition.useMutation;
16901
17018
  var useCoverSetTiltPosition = trpc.cover.setTiltPosition.useMutation;
16902
17019
  /** Generated alias around `trpc.cover.getStatus.useQuery`. */
16903
17020
  var useCoverGetStatus = trpc.cover.getStatus.useQuery;
17021
+ /** Generated alias around `trpc.dayNight.getOptions.useQuery`. */
17022
+ var useDayNightGetOptions = trpc.dayNight.getOptions.useQuery;
17023
+ /** Generated alias around `trpc.dayNight.setSettings.useMutation`. */
17024
+ var useDayNightSetSettings = trpc.dayNight.setSettings.useMutation;
17025
+ /** Generated alias around `trpc.dayNight.getStatus.useQuery`. */
17026
+ var useDayNightGetStatus = trpc.dayNight.getStatus.useQuery;
16904
17027
  /** Generated alias around `trpc.decoder.supportsCodec.useQuery`. */
16905
17028
  var useDecoderSupportsCodec = trpc.decoder.supportsCodec.useQuery;
16906
17029
  /** Generated alias around `trpc.decoder.getInfo.useQuery`. */
@@ -17237,6 +17360,12 @@ var useHumidifierGetStatus = trpc.humidifier.getStatus.useQuery;
17237
17360
  var useHumiditySensorGetStatus = trpc.humiditySensor.getStatus.useQuery;
17238
17361
  /** Generated alias around `trpc.image.getStatus.useQuery`. */
17239
17362
  var useImageGetStatus = trpc.image.getStatus.useQuery;
17363
+ /** Generated alias around `trpc.imageSettings.getOptions.useQuery`. */
17364
+ var useImageSettingsGetOptions = trpc.imageSettings.getOptions.useQuery;
17365
+ /** Generated alias around `trpc.imageSettings.setSettings.useMutation`. */
17366
+ var useImageSettingsSetSettings = trpc.imageSettings.setSettings.useMutation;
17367
+ /** Generated alias around `trpc.imageSettings.getStatus.useQuery`. */
17368
+ var useImageSettingsGetStatus = trpc.imageSettings.getStatus.useQuery;
17240
17369
  /** Generated alias around `trpc.integrations.list.useQuery`. */
17241
17370
  var useIntegrationsList = trpc.integrations.list.useQuery;
17242
17371
  /** Generated alias around `trpc.integrations.get.useQuery`. */
@@ -41204,7 +41333,6 @@ var LEVEL_SEVERITY = {
41204
41333
  error: 3
41205
41334
  };
41206
41335
  var LEVEL_OPTIONS = [
41207
- "all",
41208
41336
  "debug",
41209
41337
  "info",
41210
41338
  "warn",
@@ -41219,7 +41347,7 @@ function passesLevel(logLevel, filterLevel) {
41219
41347
  function LogStream({ agentId: propsAgentId, addonId: propsAddonId, deviceId: propsDeviceId, containerDeviceId: propsContainerDeviceId, integrationId: propsIntegrationId, requestId: propsRequestId, level: initialLevel, maxHeight = "max-h-96", showScope = false, showFilters = true, limit = 100, liveBuffer: externalBuffer, onClose, className }) {
41220
41348
  const [localAddonId, setLocalAddonId] = useState("");
41221
41349
  const [localDeviceId, setLocalDeviceId] = useState("");
41222
- const [levelFilter, setLevelFilter] = useState(initialLevel);
41350
+ const [levelFilter, setLevelFilter] = useState(initialLevel ?? "info");
41223
41351
  const agentId = propsAgentId;
41224
41352
  const addonId = propsAddonId ?? (localAddonId || void 0);
41225
41353
  const deviceId = propsDeviceId ?? (localDeviceId ? Number(localDeviceId) : void 0);
@@ -41420,11 +41548,11 @@ function LogStream({ agentId: propsAgentId, addonId: propsAddonId, deviceId: pro
41420
41548
  }),
41421
41549
  /* @__PURE__ */ jsx("div", {
41422
41550
  className: "flex rounded border border-border overflow-hidden text-[9px]",
41423
- children: LEVEL_OPTIONS.map((l) => /* @__PURE__ */ jsxs("button", {
41551
+ children: LEVEL_OPTIONS.map((l, i) => /* @__PURE__ */ jsxs("button", {
41424
41552
  type: "button",
41425
- onClick: () => setLevelFilter(l === "all" ? void 0 : l),
41426
- className: cn("px-1.5 py-0.5 capitalize transition-colors", l === "all" && !levelFilter || levelFilter === l ? "bg-primary/10 text-primary" : "text-foreground-subtle hover:bg-surface-hover", l !== "all" && "border-l border-border"),
41427
- children: [l, l !== "all" ? "+" : ""]
41553
+ onClick: () => setLevelFilter(l),
41554
+ className: cn("px-1.5 py-0.5 capitalize transition-colors", levelFilter === l ? "bg-primary/10 text-primary" : "text-foreground-subtle hover:bg-surface-hover", i > 0 && "border-l border-border"),
41555
+ children: [l, "+"]
41428
41556
  }, l))
41429
41557
  }),
41430
41558
  /* @__PURE__ */ jsx(ToolbarButton, {
@@ -44890,4 +45018,4 @@ var MotionZonesSettings = lazy(() => import("./MotionZonesSettings-NcxxQN8r.js")
44890
45018
  /** Lazy-wrapped `PrivacyMaskSettings` — code-split off the main bundle. */
44891
45019
  var PrivacyMaskSettings = lazy(() => import("./PrivacyMaskSettings-APgPLF7p.js").then((m) => ({ default: m.PrivacyMaskSettings })));
44892
45020
  //#endregion
44893
- export { AddonGlobalSettingsForm, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, AppShell, ArcKnob, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutotrackSection, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, Badge, BatteryBadge, BottomSheet, Breadcrumb, BrightnessPanel, Button, ButtonControl, ButtonHeroCard, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, CustomFieldRenderersProvider, DEFAULT_COLOR, DEVICE_COLUMNS, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DISPLAY_ICON_REGISTRY, DataTable, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceGrid, DeviceItem, DeviceList, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, DoorbellRecentPanel, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, DummyHeroCard, DummyInline, EmptyState, ErrorBox, EventStream, FILL, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, FormField$1 as FormField, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GripTrack, HOST_WIDGETS, HlsVideo, HoverZoomImage, HumidifierHeroCard, HumidifierInlineControl, INPUT_COMPACT, IconAction, IconButton, ImageHeroCard, ImageInlineControl, ImageSelector, InferenceConfigSelector, Input, KebabMenu, KeyValueList, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LightHeroCard, LightInlineControl, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, MODE_COLOR, MaskShapeCanvas, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, MobileDrawer, MotionZonesSettings, NodeMultiSelectField, NodePicker, NodeSelectField, OfflineBadge, PHASE_CONFIG, PRIORITY, PTZOverlay, PageHeader, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PipelineTreeMatrix, PlayerOverlaysProvider, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, PtzPanel, QrCode, RECORDED_PLAYBACK_MODES, RIGHT, ROLE_DESCRIPTOR, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, ScopePicker, ScrollArea, Select, SemanticBadge, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, Sidebar, SidebarItem, Skeleton, SlideOverPanel, SlideToggle, SnapshotButton, StatCard, StateValuesStream, StatusBadge, StepTimings, StepTreeMaster, Stepper, StreamBrokerSelector, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, Tooltip, TooltipContent, TooltipTrigger, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, VodPlaybackProvider, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, ZoneEditingProvider, allDeviceTypeFilterOptions, buildStepTreeFromSchema, childEntityId, childListName, cn, columnsForContext, containerChildToRef, countableDevices, coverHighlight, createSharedContext, createTheme, cursorFractionFor, darkColors, defaultTheme, deriveDeviceKind, deviceRoleMeta, deviceRoleMetaOf, deviceTypeMeta, deviceTypeMetaOf, ensureMfHostInit, findTimezone, formatControlDateTime, formatLastSeen, formatNumeric, fuzzyMatch, getClassColor, getPhaseVisual, groupChildrenByLayout, hardwareLabel, humidifierTint, createLucideIcon as i, initialScrubState, isAbsentProvider, isFieldVisible, lawnMowerActivityMeta, lightColors, loadRemoteBundle, makeScrubBridge, metadataEntries, metadataString, mirror, mountAddonPage, Square as n, nextSort, normalizeForSearch, overrideEntityIdFromLink, parseRecordedServerMessage, providerIcons, EyeOff as r, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDisplayIcon, resolvePrimaryChild, resolveSensorDisplay, scrubReducer, serializeRecordedCommand, shouldCommit, shouldEmit, sortRows, statusIcons, stripParentNamePrefix, Trash2 as t, tankAlert, themeToCss, trpc, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdateFrameworkPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerClassify, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupDelete, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListDestinations, useBackupListLocations, useBackupPreviewSchedule, useBackupRestore, useBackupTrigger, useBackupUpsertDestinationPolicy, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useColorGetStatus, useColorSetColor, useConfirm, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDebouncedString, useDecoderCreateSession, useDecoderDestroySession, useDecoderGetFrame, useDecoderGetInfo, useDecoderGetShmStats, useDecoderGetStats, useDecoderListActiveSessions, useDecoderOpenStream, useDecoderPullFrames, useDecoderPullHandles, useDecoderPushPacket, useDecoderReprobeHwaccel, useDecoderSupportsCodec, useDecoderUpdateConfig, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetChildren, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDeviceLinks, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetSnapshot, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDoorbellEvents, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useEventsGetEventClipUrl, useEventsGetEventThumbnail, useEventsGetEvents, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useImageGetStatus, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetPreferred, useLocalNetworkList, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkSetAllowedAddresses, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderDumpHeapSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetProcessStats, useMetricsProviderKillProcess, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdSetOverlay, usePTZ, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsClearTracks, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsListTracks, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsSearchObjectEvents, usePipelineExecutorCacheFrameInPool, usePipelineExecutorDeleteModel, usePipelineExecutorDeleteTemplate, usePipelineExecutorDetect, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorListTemplates, usePipelineExecutorReprobeEngine, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSaveTemplate, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorUpdateTemplate, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignDecoder, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteTemplate, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetDecoderAssignment, usePipelineOrchestratorGetDecoderAssignments, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListTemplates, usePipelineOrchestratorRebalance, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorSaveTemplate, usePipelineOrchestratorSetAgentAddonDefaults, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDetectWeight, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignDecoder, usePipelineOrchestratorUnassignPipeline, usePipelineOrchestratorUpdateTemplate, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerReportMotion, usePlateGalleryCorrectPlateText, usePlateGalleryDeletePlate, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetMask, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzContinuousMove, usePtzDeletePreset, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingApplyDeviceSettingsPatch, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetDeviceConfig, useRecordingGetDeviceLiveContribution, useRecordingGetDeviceSettingsContribution, useRecordingGetPlaybackManifest, useRecordingGetStatus, useRecordingGetStorageUsage, useRecordingLocateSegment, useRecordingPruneFootage, useRecordingReadSegmentBytes, useRecordingRescanStorage, useRecordingSetDeviceConfig, useRemoteComponent, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreUpdate, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetStatus, useSnapshotInvalidateCache, useSnapshotProviderGetSnapshot, useSnapshotProviderSupportsDevice, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageGetDefaultLocation, useStorageList, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerPullFrameHandles, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerSubscribeFrames, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamBrokerUnsubscribeFrames, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetRetentionConfig, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetRetentionConfig, useTamperGetStatus, useTemperatureSensorGetStatus, useThemeMode, useToastOnToast, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUserManagementConfirmTotp, useUserManagementCreateApiKey, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUpdateUser, useUserManagementValidateApiKey, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsGetClipPlayback, useVideoclipsListClips, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, vacuumStateMeta, validateScopes, valveStateMeta, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint };
45021
+ export { AddonGlobalSettingsForm, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, AppShell, ArcKnob, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutotrackSection, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, Badge, BatteryBadge, BottomSheet, Breadcrumb, BrightnessPanel, Button, ButtonControl, ButtonHeroCard, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, CustomFieldRenderersProvider, DEFAULT_COLOR, DEVICE_COLUMNS, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DISPLAY_ICON_REGISTRY, DataTable, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceGrid, DeviceItem, DeviceList, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, DoorbellRecentPanel, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, DummyHeroCard, DummyInline, EmptyState, ErrorBox, EventStream, FILL, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, FormField$1 as FormField, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GripTrack, HOST_WIDGETS, HlsVideo, HoverZoomImage, HumidifierHeroCard, HumidifierInlineControl, INPUT_COMPACT, IconAction, IconButton, ImageHeroCard, ImageInlineControl, ImageSelector, InferenceConfigSelector, Input, KebabMenu, KeyValueList, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LightHeroCard, LightInlineControl, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, MODE_COLOR, MaskShapeCanvas, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, MobileDrawer, MotionZonesSettings, NodeMultiSelectField, NodePicker, NodeSelectField, OfflineBadge, PHASE_CONFIG, PRIORITY, PTZOverlay, PageHeader, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PipelineTreeMatrix, PlayerOverlaysProvider, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, PtzPanel, QrCode, RECORDED_PLAYBACK_MODES, RIGHT, ROLE_DESCRIPTOR, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, ScopePicker, ScrollArea, Select, SemanticBadge, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, Sidebar, SidebarItem, Skeleton, SlideOverPanel, SlideToggle, SnapshotButton, StatCard, StateValuesStream, StatusBadge, StepTimings, StepTreeMaster, Stepper, StreamBrokerSelector, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, Tooltip, TooltipContent, TooltipTrigger, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, VodPlaybackProvider, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, ZoneEditingProvider, allDeviceTypeFilterOptions, buildStepTreeFromSchema, childEntityId, childListName, cn, columnsForContext, containerChildToRef, countableDevices, coverHighlight, createSharedContext, createTheme, cursorFractionFor, darkColors, defaultTheme, deriveDeviceKind, deviceRoleMeta, deviceRoleMetaOf, deviceTypeMeta, deviceTypeMetaOf, ensureMfHostInit, findTimezone, formatControlDateTime, formatLastSeen, formatNumeric, fuzzyMatch, getClassColor, getPhaseVisual, groupChildrenByLayout, hardwareLabel, humidifierTint, createLucideIcon as i, initialScrubState, isAbsentProvider, isFieldVisible, lawnMowerActivityMeta, lightColors, loadRemoteBundle, makeScrubBridge, metadataEntries, metadataString, mirror, mountAddonPage, Square as n, nextSort, normalizeForSearch, overrideEntityIdFromLink, parseRecordedServerMessage, providerIcons, EyeOff as r, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDisplayIcon, resolvePrimaryChild, resolveSensorDisplay, scrubReducer, serializeRecordedCommand, shouldCommit, shouldEmit, sortRows, statusIcons, stripParentNamePrefix, Trash2 as t, tankAlert, themeToCss, trpc, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdateFrameworkPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerClassify, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupDelete, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListDestinations, useBackupListLocations, useBackupPreviewSchedule, useBackupRestore, useBackupTrigger, useBackupUpsertDestinationPolicy, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useColorGetStatus, useColorSetColor, useConfirm, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderCreateSession, useDecoderDestroySession, useDecoderGetFrame, useDecoderGetInfo, useDecoderGetShmStats, useDecoderGetStats, useDecoderListActiveSessions, useDecoderOpenStream, useDecoderPullFrames, useDecoderPullHandles, useDecoderPushPacket, useDecoderReprobeHwaccel, useDecoderSupportsCodec, useDecoderUpdateConfig, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetChildren, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDeviceLinks, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetSnapshot, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDoorbellEvents, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useEventsGetEventClipUrl, useEventsGetEventThumbnail, useEventsGetEvents, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetPreferred, useLocalNetworkList, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkSetAllowedAddresses, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderDumpHeapSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetProcessStats, useMetricsProviderKillProcess, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdSetOverlay, usePTZ, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsClearTracks, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsListTracks, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsSearchObjectEvents, usePipelineExecutorCacheFrameInPool, usePipelineExecutorDeleteModel, usePipelineExecutorDeleteTemplate, usePipelineExecutorDetect, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorListTemplates, usePipelineExecutorReprobeEngine, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSaveTemplate, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorUpdateTemplate, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignDecoder, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteTemplate, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetDecoderAssignment, usePipelineOrchestratorGetDecoderAssignments, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListTemplates, usePipelineOrchestratorRebalance, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorSaveTemplate, usePipelineOrchestratorSetAgentAddonDefaults, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDetectWeight, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignDecoder, usePipelineOrchestratorUnassignPipeline, usePipelineOrchestratorUpdateTemplate, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerReportMotion, usePlateGalleryCorrectPlateText, usePlateGalleryDeletePlate, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetMask, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzContinuousMove, usePtzDeletePreset, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingApplyDeviceSettingsPatch, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetDeviceConfig, useRecordingGetDeviceLiveContribution, useRecordingGetDeviceSettingsContribution, useRecordingGetPlaybackManifest, useRecordingGetStatus, useRecordingGetStorageUsage, useRecordingLocateSegment, useRecordingPruneFootage, useRecordingReadSegmentBytes, useRecordingRescanStorage, useRecordingSetDeviceConfig, useRemoteComponent, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreUpdate, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetStatus, useSnapshotInvalidateCache, useSnapshotProviderGetSnapshot, useSnapshotProviderSupportsDevice, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageGetDefaultLocation, useStorageList, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerPullFrameHandles, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerSubscribeFrames, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamBrokerUnsubscribeFrames, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetRetentionConfig, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetRetentionConfig, useTamperGetStatus, useTemperatureSensorGetStatus, useThemeMode, useToastOnToast, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUserManagementConfirmTotp, useUserManagementCreateApiKey, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUpdateUser, useUserManagementValidateApiKey, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsGetClipPlayback, useVideoclipsListClips, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, vacuumStateMeta, validateScopes, valveStateMeta, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/ui-library",
3
- "version": "1.1.24",
3
+ "version": "1.1.25",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",