@camstack/ui-library 1.2.32 → 1.2.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/composites/index.d.ts +2 -2
- package/dist/composites/resolve-step-default-model.d.ts +77 -1
- package/dist/generated/system-hooks.d.ts +26 -0
- package/dist/index.cjs +132 -22
- package/dist/index.js +116 -23
- package/dist/primitives/dialog.d.ts +10 -0
- package/package.json +1 -1
|
@@ -13,8 +13,8 @@ export { DeviceStepMatrix } from './device-step-matrix';
|
|
|
13
13
|
export type { DeviceStepMatrixProps, StepGate } from './device-step-matrix';
|
|
14
14
|
export { shouldUseSingleNode, agentColumnKey, groupAgentColumns } from './pipeline-matrix-shared';
|
|
15
15
|
export type { AgentColumnGroup, AgentColumnIdentity, MatrixSelectedCell, } from './pipeline-matrix-shared';
|
|
16
|
-
export { resolveStepDefaultModel } from './resolve-step-default-model';
|
|
17
|
-
export type { StepModelCatalog } from './resolve-step-default-model';
|
|
16
|
+
export { resolveStepDefaultModel, resolveEffectiveDefaultModel, resolveEffectiveStepModel, stepHasModelForFormat, stepModelOptions, } from './resolve-step-default-model';
|
|
17
|
+
export type { EffectiveStepModelInput, StepModelCatalog, StepModelFormatBuilds, } from './resolve-step-default-model';
|
|
18
18
|
export { NodePicker } from './node-picker';
|
|
19
19
|
export type { NodePickerProps } from './node-picker';
|
|
20
20
|
export * from './status-badge';
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* resolve-step-default-model — the
|
|
2
|
+
* resolve-step-default-model — the ONE step-model primitive every admin-ui
|
|
3
|
+
* surface that shows or edits a step's model consumes. Two questions, two
|
|
4
|
+
* exported answers, no local copies:
|
|
5
|
+
*
|
|
6
|
+
* - which models may this step run on this device? → `stepModelOptions`
|
|
7
|
+
* (and its boolean form `stepHasModelForFormat`);
|
|
8
|
+
* - which model does it ACTUALLY run right now? → `resolveEffectiveStepModel`
|
|
9
|
+
* (override → base → `resolveEffectiveDefaultModel`).
|
|
10
|
+
*
|
|
11
|
+
* Consumers: `AgentStepEditor` (the drawer picker), `NodeDeviceStepsMatrix`
|
|
12
|
+
* (per-node base), `DeviceStepOverrideTab` (per-camera override), the Models
|
|
13
|
+
* page and `pipeline-mirror`. They are views of the same decision and drifted
|
|
14
|
+
* apart once already — see `resolveEffectiveDefaultModel` for the bite.
|
|
15
|
+
* `scripts/check-step-model-single-owner.ts` is what stops the next copy.
|
|
16
|
+
*
|
|
17
|
+
* The rest of this file is the pure, UI-side mirror of the runner's
|
|
3
18
|
* `getDefaultModelForFormat` (`@camstack/addon-pipeline`
|
|
4
19
|
* `registry/step-definitions.ts`). The steps×device matrices need to show, per
|
|
5
20
|
* cell, the model a STEP would actually run on a device's engine format — but
|
|
@@ -37,3 +52,64 @@ export interface StepModelCatalog {
|
|
|
37
52
|
readonly defaultModelIdByFormat?: Readonly<Record<string, string>>;
|
|
38
53
|
}
|
|
39
54
|
export declare function resolveStepDefaultModel(catalog: StepModelCatalog, format: string): string;
|
|
55
|
+
/**
|
|
56
|
+
* The model a matrix CELL shows as this step's effective default on `device`.
|
|
57
|
+
*
|
|
58
|
+
* The device's ELECTED model (`device.defaultModelId`, the per-device
|
|
59
|
+
* object-detection election) applies ONLY when this step's catalog actually
|
|
60
|
+
* contains it — `slot === 'detector'` alone is too wide, because
|
|
61
|
+
* package-detection shares the detector slot with the root step. Bit live
|
|
62
|
+
* 2026-08-08: rfdetr-package became the package step's default and every
|
|
63
|
+
* matrix cell still showed the device's yolo as the "selected" model, because
|
|
64
|
+
* the election was applied slot-wide. Membership is the principled gate: an
|
|
65
|
+
* elected model this step cannot run is never displayed for it.
|
|
66
|
+
*/
|
|
67
|
+
export declare function resolveEffectiveDefaultModel(catalog: StepModelCatalog & {
|
|
68
|
+
readonly slot?: string;
|
|
69
|
+
}, device: {
|
|
70
|
+
readonly format?: string;
|
|
71
|
+
readonly defaultModelId?: string;
|
|
72
|
+
} | null | undefined): string | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* The minimal model shape option-derivation needs: a per-format build map.
|
|
75
|
+
* `PipelineAddonSchema['models'][number]` is structurally assignable, and the
|
|
76
|
+
* generic below returns the CALLER's element type so a picker still receives
|
|
77
|
+
* `name` / `group` / `sizeMB`.
|
|
78
|
+
*/
|
|
79
|
+
export interface StepModelFormatBuilds {
|
|
80
|
+
readonly formats: Readonly<Record<string, unknown>>;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The models a step may run on an engine `format` — the ONE derivation of the
|
|
84
|
+
* option list. An unknown format yields NOTHING rather than everything: a
|
|
85
|
+
* picker that offered a model with no build for the device would write a pin
|
|
86
|
+
* the runner cannot honour.
|
|
87
|
+
*/
|
|
88
|
+
export declare function stepModelOptions<M extends StepModelFormatBuilds>(models: readonly M[], format: string | undefined): readonly M[];
|
|
89
|
+
/** Can this step run on `format` at all? (`false` ⇒ the caller renders "⚠ skip"/"—".) */
|
|
90
|
+
export declare function stepHasModelForFormat(models: readonly StepModelFormatBuilds[], format: string | undefined): boolean;
|
|
91
|
+
/** The layers a surface may pin, outermost first. Both are optional per surface. */
|
|
92
|
+
export interface EffectiveStepModelInput {
|
|
93
|
+
readonly catalog: StepModelCatalog & {
|
|
94
|
+
readonly slot?: string;
|
|
95
|
+
};
|
|
96
|
+
readonly device: {
|
|
97
|
+
readonly format?: string;
|
|
98
|
+
readonly defaultModelId?: string;
|
|
99
|
+
} | null | undefined;
|
|
100
|
+
/** Per-camera override (`stepOverridesByDevice[node][deviceKey][step].modelId`). */
|
|
101
|
+
readonly override?: string | undefined;
|
|
102
|
+
/** Per-(node,device) base (`inferenceDevices[node][deviceKey].steps[step].modelId`). */
|
|
103
|
+
readonly base?: string | undefined;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* The model a step ACTUALLY runs for a (device, camera) — the whole effective
|
|
107
|
+
* chain in one place: per-camera override → per-(node,device) base → the
|
|
108
|
+
* resolved default (`resolveEffectiveDefaultModel`).
|
|
109
|
+
*
|
|
110
|
+
* Every surface calls this: the matrix cell, and the drawer's picker seed. They
|
|
111
|
+
* are the same number, and the only way to keep them the same number is to have
|
|
112
|
+
* one function produce it. A surface that owns fewer layers omits them (the node
|
|
113
|
+
* matrix passes no `override`) — it does NOT get its own resolver.
|
|
114
|
+
*/
|
|
115
|
+
export declare function resolveEffectiveStepModel(input: EffectiveStepModelInput): string | undefined;
|
|
@@ -1083,6 +1083,28 @@ export declare const usePipelineAnalyticsListOpsLog: typeof trpc.pipelineAnalyti
|
|
|
1083
1083
|
export declare const usePipelineAnalyticsGetTrainingExportSummary: typeof trpc.pipelineAnalytics.getTrainingExportSummary.useQuery;
|
|
1084
1084
|
/** Generated alias around `trpc.pipelineAnalytics.getTrainingExportUrl.useQuery`. */
|
|
1085
1085
|
export declare const usePipelineAnalyticsGetTrainingExportUrl: typeof trpc.pipelineAnalytics.getTrainingExportUrl.useQuery;
|
|
1086
|
+
/** Generated alias around `trpc.pipelineAnalytics.listRetrainStaging.useQuery`. */
|
|
1087
|
+
export declare const usePipelineAnalyticsListRetrainStaging: typeof trpc.pipelineAnalytics.listRetrainStaging.useQuery;
|
|
1088
|
+
/** Generated alias around `trpc.pipelineAnalytics.listRetrainFrames.useQuery`. */
|
|
1089
|
+
export declare const usePipelineAnalyticsListRetrainFrames: typeof trpc.pipelineAnalytics.listRetrainFrames.useQuery;
|
|
1090
|
+
/** Generated alias around `trpc.pipelineAnalytics.selectRetrainFrames.useMutation`. */
|
|
1091
|
+
export declare const usePipelineAnalyticsSelectRetrainFrames: typeof trpc.pipelineAnalytics.selectRetrainFrames.useMutation;
|
|
1092
|
+
/** Generated alias around `trpc.pipelineAnalytics.deselectRetrainFrame.useMutation`. */
|
|
1093
|
+
export declare const usePipelineAnalyticsDeselectRetrainFrame: typeof trpc.pipelineAnalytics.deselectRetrainFrame.useMutation;
|
|
1094
|
+
/** Generated alias around `trpc.pipelineAnalytics.getRetrainFrameImage.useQuery`. */
|
|
1095
|
+
export declare const usePipelineAnalyticsGetRetrainFrameImage: typeof trpc.pipelineAnalytics.getRetrainFrameImage.useQuery;
|
|
1096
|
+
/** Generated alias around `trpc.pipelineAnalytics.proposeRetrainAnnotations.useMutation`. */
|
|
1097
|
+
export declare const usePipelineAnalyticsProposeRetrainAnnotations: typeof trpc.pipelineAnalytics.proposeRetrainAnnotations.useMutation;
|
|
1098
|
+
/** Generated alias around `trpc.pipelineAnalytics.listRetrainAnnotations.useQuery`. */
|
|
1099
|
+
export declare const usePipelineAnalyticsListRetrainAnnotations: typeof trpc.pipelineAnalytics.listRetrainAnnotations.useQuery;
|
|
1100
|
+
/** Generated alias around `trpc.pipelineAnalytics.saveRetrainAnnotations.useMutation`. */
|
|
1101
|
+
export declare const usePipelineAnalyticsSaveRetrainAnnotations: typeof trpc.pipelineAnalytics.saveRetrainAnnotations.useMutation;
|
|
1102
|
+
/** Generated alias around `trpc.pipelineAnalytics.completeRetrainTrack.useMutation`. */
|
|
1103
|
+
export declare const usePipelineAnalyticsCompleteRetrainTrack: typeof trpc.pipelineAnalytics.completeRetrainTrack.useMutation;
|
|
1104
|
+
/** Generated alias around `trpc.pipelineAnalytics.restageRetrainTrack.useMutation`. */
|
|
1105
|
+
export declare const usePipelineAnalyticsRestageRetrainTrack: typeof trpc.pipelineAnalytics.restageRetrainTrack.useMutation;
|
|
1106
|
+
/** Generated alias around `trpc.pipelineAnalytics.getRetrainExportUrl.useQuery`. */
|
|
1107
|
+
export declare const usePipelineAnalyticsGetRetrainExportUrl: typeof trpc.pipelineAnalytics.getRetrainExportUrl.useQuery;
|
|
1086
1108
|
/** Generated alias around `trpc.pipelineAnalytics.getEventMedia.useQuery`. */
|
|
1087
1109
|
export declare const usePipelineAnalyticsGetEventMedia: typeof trpc.pipelineAnalytics.getEventMedia.useQuery;
|
|
1088
1110
|
/** Generated alias around `trpc.pipelineAnalytics.getTrackMedia.useQuery`. */
|
|
@@ -1551,6 +1573,10 @@ export declare const useStreamBrokerAssignProfile: typeof trpc.streamBroker.assi
|
|
|
1551
1573
|
export declare const useStreamBrokerUnassignProfile: typeof trpc.streamBroker.unassignProfile.useMutation;
|
|
1552
1574
|
/** Generated alias around `trpc.streamBroker.renderPreBufferClip.useMutation`. */
|
|
1553
1575
|
export declare const useStreamBrokerRenderPreBufferClip: typeof trpc.streamBroker.renderPreBufferClip.useMutation;
|
|
1576
|
+
/** Generated alias around `trpc.streamBroker.produceEventMedia.useMutation`. */
|
|
1577
|
+
export declare const useStreamBrokerProduceEventMedia: typeof trpc.streamBroker.produceEventMedia.useMutation;
|
|
1578
|
+
/** Generated alias around `trpc.streamBroker.fetchEventMedia.useMutation`. */
|
|
1579
|
+
export declare const useStreamBrokerFetchEventMedia: typeof trpc.streamBroker.fetchEventMedia.useMutation;
|
|
1554
1580
|
/** Generated alias around `trpc.streamBroker.listAllCameraStreams.useQuery`. */
|
|
1555
1581
|
export declare const useStreamBrokerListAllCameraStreams: typeof trpc.streamBroker.listAllCameraStreams.useQuery;
|
|
1556
1582
|
/** Generated alias around `trpc.streamBroker.listAllProfileSlots.useQuery`. */
|
package/dist/index.cjs
CHANGED
|
@@ -3733,6 +3733,62 @@ var CHIP_BASE = "inline-flex items-center gap-1 rounded-full border px-1.5 py-0.
|
|
|
3733
3733
|
var CHIP_ACTIVE = "border-primary/50 bg-primary/15 text-primary";
|
|
3734
3734
|
var CHIP_INACTIVE = "border-border bg-surface text-foreground-subtle hover:bg-surface-hover";
|
|
3735
3735
|
//#endregion
|
|
3736
|
+
//#region src/composites/resolve-step-default-model.ts
|
|
3737
|
+
function resolveStepDefaultModel(catalog, format) {
|
|
3738
|
+
const hasFormatBuild = (modelId) => catalog.models.find((m) => m.id === modelId)?.formats[format] !== void 0;
|
|
3739
|
+
const declared = catalog.defaultModelIdByFormat?.[format];
|
|
3740
|
+
if (declared !== void 0 && hasFormatBuild(declared)) return declared;
|
|
3741
|
+
if (hasFormatBuild(catalog.defaultModelId)) return catalog.defaultModelId;
|
|
3742
|
+
const available = catalog.models.filter((m) => m.formats[format] !== void 0 && m.legacy !== true);
|
|
3743
|
+
if (available.length === 0) return catalog.defaultModelId;
|
|
3744
|
+
return [...available].toSorted((a, b) => (a.formats[format]?.sizeMB ?? Infinity) - (b.formats[format]?.sizeMB ?? Infinity))[0].id;
|
|
3745
|
+
}
|
|
3746
|
+
/**
|
|
3747
|
+
* The model a matrix CELL shows as this step's effective default on `device`.
|
|
3748
|
+
*
|
|
3749
|
+
* The device's ELECTED model (`device.defaultModelId`, the per-device
|
|
3750
|
+
* object-detection election) applies ONLY when this step's catalog actually
|
|
3751
|
+
* contains it — `slot === 'detector'` alone is too wide, because
|
|
3752
|
+
* package-detection shares the detector slot with the root step. Bit live
|
|
3753
|
+
* 2026-08-08: rfdetr-package became the package step's default and every
|
|
3754
|
+
* matrix cell still showed the device's yolo as the "selected" model, because
|
|
3755
|
+
* the election was applied slot-wide. Membership is the principled gate: an
|
|
3756
|
+
* elected model this step cannot run is never displayed for it.
|
|
3757
|
+
*/
|
|
3758
|
+
function resolveEffectiveDefaultModel(catalog, device) {
|
|
3759
|
+
const format = device?.format;
|
|
3760
|
+
if (format === void 0) return void 0;
|
|
3761
|
+
const elected = device?.defaultModelId;
|
|
3762
|
+
return catalog.slot === "detector" && elected !== void 0 && catalog.models.some((m) => m.id === elected) ? elected : resolveStepDefaultModel(catalog, format);
|
|
3763
|
+
}
|
|
3764
|
+
/**
|
|
3765
|
+
* The models a step may run on an engine `format` — the ONE derivation of the
|
|
3766
|
+
* option list. An unknown format yields NOTHING rather than everything: a
|
|
3767
|
+
* picker that offered a model with no build for the device would write a pin
|
|
3768
|
+
* the runner cannot honour.
|
|
3769
|
+
*/
|
|
3770
|
+
function stepModelOptions(models, format) {
|
|
3771
|
+
if (format === void 0) return [];
|
|
3772
|
+
return models.filter((m) => m.formats[format] !== void 0);
|
|
3773
|
+
}
|
|
3774
|
+
/** Can this step run on `format` at all? (`false` ⇒ the caller renders "⚠ skip"/"—".) */
|
|
3775
|
+
function stepHasModelForFormat(models, format) {
|
|
3776
|
+
return stepModelOptions(models, format).length > 0;
|
|
3777
|
+
}
|
|
3778
|
+
/**
|
|
3779
|
+
* The model a step ACTUALLY runs for a (device, camera) — the whole effective
|
|
3780
|
+
* chain in one place: per-camera override → per-(node,device) base → the
|
|
3781
|
+
* resolved default (`resolveEffectiveDefaultModel`).
|
|
3782
|
+
*
|
|
3783
|
+
* Every surface calls this: the matrix cell, and the drawer's picker seed. They
|
|
3784
|
+
* are the same number, and the only way to keep them the same number is to have
|
|
3785
|
+
* one function produce it. A surface that owns fewer layers omits them (the node
|
|
3786
|
+
* matrix passes no `override`) — it does NOT get its own resolver.
|
|
3787
|
+
*/
|
|
3788
|
+
function resolveEffectiveStepModel(input) {
|
|
3789
|
+
return input.override ?? input.base ?? resolveEffectiveDefaultModel(input.catalog, input.device);
|
|
3790
|
+
}
|
|
3791
|
+
//#endregion
|
|
3736
3792
|
//#region src/lib/pipeline-mirror.ts
|
|
3737
3793
|
function findAddonInCatalog(catalog, addonId) {
|
|
3738
3794
|
for (const slot of catalog.slots) for (const addon of slot.addons) if (addon.id === addonId) return addon;
|
|
@@ -3741,8 +3797,20 @@ function findAddonInCatalog(catalog, addonId) {
|
|
|
3741
3797
|
function findModel(addon, modelId) {
|
|
3742
3798
|
return addon.models.find((m) => m.id === modelId) ?? null;
|
|
3743
3799
|
}
|
|
3744
|
-
|
|
3745
|
-
|
|
3800
|
+
/**
|
|
3801
|
+
* The model to adopt on the target when the source's pin has no build there.
|
|
3802
|
+
*
|
|
3803
|
+
* Options come from the shared step-model primitive, and the CHOICE is the
|
|
3804
|
+
* step's own resolved default for that format — not "the first entry in the
|
|
3805
|
+
* array", which is how a mirror could land on `yolov8n-package` for a step
|
|
3806
|
+
* whose declared default is `rfdetr-package`, disagreeing with the very cell
|
|
3807
|
+
* the steps matrix renders right after the mirror.
|
|
3808
|
+
*/
|
|
3809
|
+
function fallbackModelFor(addon, format) {
|
|
3810
|
+
const options = stepModelOptions(addon.models, format);
|
|
3811
|
+
if (options.length === 0) return null;
|
|
3812
|
+
const resolved = resolveStepDefaultModel(addon, format);
|
|
3813
|
+
return options.find((m) => m.id === resolved) ?? options[0] ?? null;
|
|
3746
3814
|
}
|
|
3747
3815
|
function dropModelSpecific(settings, targetAddon) {
|
|
3748
3816
|
const allowedKeys = new Set((targetAddon.configSchema ?? []).map((f) => f.key));
|
|
@@ -3783,11 +3851,11 @@ function mirror(input) {
|
|
|
3783
3851
|
outcome = "exact";
|
|
3784
3852
|
} else {
|
|
3785
3853
|
const srcModel = findModel(targetAddon, srcCfg.modelId);
|
|
3786
|
-
if (srcModel !== null &&
|
|
3854
|
+
if (srcModel !== null && stepModelOptions([srcModel], target.engine.format).length > 0) {
|
|
3787
3855
|
chosenModelId = srcCfg.modelId;
|
|
3788
3856
|
outcome = "exact";
|
|
3789
3857
|
} else {
|
|
3790
|
-
const fallback =
|
|
3858
|
+
const fallback = fallbackModelFor(targetAddon, target.engine.format);
|
|
3791
3859
|
if (!fallback) {
|
|
3792
3860
|
out.push({
|
|
3793
3861
|
addonId,
|
|
@@ -12995,8 +13063,18 @@ function DialogTrigger({ children, ...props }) {
|
|
|
12995
13063
|
* is capped to the viewport (`w-[calc(100vw-2rem)]`) rather than a bare
|
|
12996
13064
|
* `w-full` (which would overflow/clip a centered dialog); the per-variant
|
|
12997
13065
|
* `max-w-*` keeps small dialogs small while the cap prevents overflow.
|
|
12998
|
-
|
|
12999
|
-
|
|
13066
|
+
*
|
|
13067
|
+
* Height is capped against the SAFE viewport, not the raw one. A top-layer
|
|
13068
|
+
* `fixed` dialog is viewport-relative, and under `viewport-fit=cover` the
|
|
13069
|
+
* viewport extends behind the iOS notch/Dynamic Island and home indicator —
|
|
13070
|
+
* so a dialog tall enough to hit its `max-h` put its header under the clock.
|
|
13071
|
+
* Because the box is centred on the viewport (not on the safe area), the cap
|
|
13072
|
+
* has to subtract TWICE the LARGER of the two insets for the box to clear
|
|
13073
|
+
* both edges; using each inset once would still overflow the taller side
|
|
13074
|
+
* whenever they are asymmetric (they are: ~59px top vs ~34px bottom). Every
|
|
13075
|
+
* term collapses to the previous `100dvh - 2rem` where the insets are 0.
|
|
13076
|
+
*/
|
|
13077
|
+
var contentVariants = cva("fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 m-0 w-[calc(100vw-2rem)] bg-background-elevated text-foreground border border-border rounded-lg p-4 backdrop:bg-black/50 backdrop:backdrop-blur-sm max-h-[calc(100dvh-2rem-2*max(env(safe-area-inset-top),env(safe-area-inset-bottom)))] overflow-y-auto [&:not([open])]:hidden", {
|
|
13000
13078
|
variants: {
|
|
13001
13079
|
width: {
|
|
13002
13080
|
sm: "max-w-sm",
|
|
@@ -13005,7 +13083,7 @@ var contentVariants = cva("fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-
|
|
|
13005
13083
|
},
|
|
13006
13084
|
placement: {
|
|
13007
13085
|
center: "",
|
|
13008
|
-
"sheet-on-mobile": "bottom-0 left-0 right-0 top-auto w-full max-w-full translate-x-0 translate-y-0 rounded-b-none max-h-[92dvh] md:left-1/2 md:top-1/2 md:-translate-x-1/2 md:-translate-y-1/2 md:rounded-lg md:bottom-auto md:max-h-[calc(100dvh-2rem)]"
|
|
13086
|
+
"sheet-on-mobile": "bottom-0 left-0 right-0 top-auto w-full max-w-full translate-x-0 translate-y-0 rounded-b-none max-h-[92dvh] pb-[calc(1rem+env(safe-area-inset-bottom))] md:left-1/2 md:top-1/2 md:-translate-x-1/2 md:-translate-y-1/2 md:rounded-lg md:bottom-auto md:pb-4 md:max-h-[calc(100dvh-2rem-2*max(env(safe-area-inset-top),env(safe-area-inset-bottom)))]"
|
|
13009
13087
|
}
|
|
13010
13088
|
},
|
|
13011
13089
|
compoundVariants: [
|
|
@@ -13331,7 +13409,7 @@ function BottomSheet({ open, onClose, title, children, className }) {
|
|
|
13331
13409
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
13332
13410
|
role: "dialog",
|
|
13333
13411
|
"aria-modal": "true",
|
|
13334
|
-
className: cn("fixed inset-x-0 bottom-0 z-50 flex flex-col bg-background-elevated border-t border-border rounded-t-xl shadow-2xl transition-transform duration-200 ease-out", "max-h-[80dvh]", open ? "translate-y-0" : "translate-y-full", className),
|
|
13412
|
+
className: cn("fixed inset-x-0 bottom-0 z-50 flex flex-col bg-background-elevated border-t border-border rounded-t-xl shadow-2xl transition-transform duration-200 ease-out pb-[env(safe-area-inset-bottom)]", "max-h-[80dvh]", open ? "translate-y-0" : "translate-y-full", className),
|
|
13335
13413
|
children: [
|
|
13336
13414
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
13337
13415
|
className: "flex justify-center pt-2 pb-1",
|
|
@@ -13574,7 +13652,7 @@ function FloatingPanel({ title, onClose, children, defaultWidth = 360, defaultHe
|
|
|
13574
13652
|
};
|
|
13575
13653
|
}, [minWidth, minHeight]);
|
|
13576
13654
|
if (isMobile) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
13577
|
-
className: cn("fixed inset-x-0 bottom-0 z-50 rounded-t-xl border-t border-border bg-background-elevated shadow-2xl flex flex-col overflow-hidden", className),
|
|
13655
|
+
className: cn("fixed inset-x-0 bottom-0 z-50 rounded-t-xl border-t border-border bg-background-elevated shadow-2xl flex flex-col overflow-hidden pb-[env(safe-area-inset-bottom)]", className),
|
|
13578
13656
|
style: { maxHeight: "60dvh" },
|
|
13579
13657
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
13580
13658
|
className: "flex items-center justify-between gap-2 px-3 py-2 border-b border-border shrink-0 bg-surface",
|
|
@@ -14221,7 +14299,7 @@ function ModelPicker({ models, value, onChange, disabled }) {
|
|
|
14221
14299
|
});
|
|
14222
14300
|
if (!hasGroups) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
14223
14301
|
className: "space-y-2",
|
|
14224
|
-
children: [unresolvedBanner, flatSelect(models)]
|
|
14302
|
+
children: [unresolvedBanner, flatSelect(models, "— select a model —")]
|
|
14225
14303
|
});
|
|
14226
14304
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
14227
14305
|
className: "space-y-3",
|
|
@@ -14748,7 +14826,7 @@ function DeviceModeEditor({ addon, agentDefault, agentNodeId, currentPatch, mode
|
|
|
14748
14826
|
}
|
|
14749
14827
|
function AgentStepEditor(props) {
|
|
14750
14828
|
const { mode, addon, agentDefault, agentNodeId, currentPatch, onChangeAgentConfig, onChangePatch, engineFormat, effectiveModelId } = props;
|
|
14751
|
-
const modelsForFormat = (0, react$1.useMemo)(() => addon.models
|
|
14829
|
+
const modelsForFormat = (0, react$1.useMemo)(() => stepModelOptions(addon.models, engineFormat), [addon.models, engineFormat]);
|
|
14752
14830
|
if (mode === "agent") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AgentModeEditor, {
|
|
14753
14831
|
addon,
|
|
14754
14832
|
agentDefault,
|
|
@@ -15420,17 +15498,6 @@ function DeviceStepMatrix({ tree, agents, gateFor, getCellState, onCellClick, se
|
|
|
15420
15498
|
});
|
|
15421
15499
|
}
|
|
15422
15500
|
//#endregion
|
|
15423
|
-
//#region src/composites/resolve-step-default-model.ts
|
|
15424
|
-
function resolveStepDefaultModel(catalog, format) {
|
|
15425
|
-
const hasFormatBuild = (modelId) => catalog.models.find((m) => m.id === modelId)?.formats[format] !== void 0;
|
|
15426
|
-
const declared = catalog.defaultModelIdByFormat?.[format];
|
|
15427
|
-
if (declared !== void 0 && hasFormatBuild(declared)) return declared;
|
|
15428
|
-
if (hasFormatBuild(catalog.defaultModelId)) return catalog.defaultModelId;
|
|
15429
|
-
const available = catalog.models.filter((m) => m.formats[format] !== void 0 && m.legacy !== true);
|
|
15430
|
-
if (available.length === 0) return catalog.defaultModelId;
|
|
15431
|
-
return [...available].toSorted((a, b) => (a.formats[format]?.sizeMB ?? Infinity) - (b.formats[format]?.sizeMB ?? Infinity))[0].id;
|
|
15432
|
-
}
|
|
15433
|
-
//#endregion
|
|
15434
15501
|
//#region src/trpc-react.ts
|
|
15435
15502
|
/**
|
|
15436
15503
|
* Shared typed React Query proxy for the backend AppRouter.
|
|
@@ -19240,6 +19307,28 @@ var usePipelineAnalyticsListOpsLog = trpc.pipelineAnalytics.listOpsLog.useQuery;
|
|
|
19240
19307
|
var usePipelineAnalyticsGetTrainingExportSummary = trpc.pipelineAnalytics.getTrainingExportSummary.useQuery;
|
|
19241
19308
|
/** Generated alias around `trpc.pipelineAnalytics.getTrainingExportUrl.useQuery`. */
|
|
19242
19309
|
var usePipelineAnalyticsGetTrainingExportUrl = trpc.pipelineAnalytics.getTrainingExportUrl.useQuery;
|
|
19310
|
+
/** Generated alias around `trpc.pipelineAnalytics.listRetrainStaging.useQuery`. */
|
|
19311
|
+
var usePipelineAnalyticsListRetrainStaging = trpc.pipelineAnalytics.listRetrainStaging.useQuery;
|
|
19312
|
+
/** Generated alias around `trpc.pipelineAnalytics.listRetrainFrames.useQuery`. */
|
|
19313
|
+
var usePipelineAnalyticsListRetrainFrames = trpc.pipelineAnalytics.listRetrainFrames.useQuery;
|
|
19314
|
+
/** Generated alias around `trpc.pipelineAnalytics.selectRetrainFrames.useMutation`. */
|
|
19315
|
+
var usePipelineAnalyticsSelectRetrainFrames = trpc.pipelineAnalytics.selectRetrainFrames.useMutation;
|
|
19316
|
+
/** Generated alias around `trpc.pipelineAnalytics.deselectRetrainFrame.useMutation`. */
|
|
19317
|
+
var usePipelineAnalyticsDeselectRetrainFrame = trpc.pipelineAnalytics.deselectRetrainFrame.useMutation;
|
|
19318
|
+
/** Generated alias around `trpc.pipelineAnalytics.getRetrainFrameImage.useQuery`. */
|
|
19319
|
+
var usePipelineAnalyticsGetRetrainFrameImage = trpc.pipelineAnalytics.getRetrainFrameImage.useQuery;
|
|
19320
|
+
/** Generated alias around `trpc.pipelineAnalytics.proposeRetrainAnnotations.useMutation`. */
|
|
19321
|
+
var usePipelineAnalyticsProposeRetrainAnnotations = trpc.pipelineAnalytics.proposeRetrainAnnotations.useMutation;
|
|
19322
|
+
/** Generated alias around `trpc.pipelineAnalytics.listRetrainAnnotations.useQuery`. */
|
|
19323
|
+
var usePipelineAnalyticsListRetrainAnnotations = trpc.pipelineAnalytics.listRetrainAnnotations.useQuery;
|
|
19324
|
+
/** Generated alias around `trpc.pipelineAnalytics.saveRetrainAnnotations.useMutation`. */
|
|
19325
|
+
var usePipelineAnalyticsSaveRetrainAnnotations = trpc.pipelineAnalytics.saveRetrainAnnotations.useMutation;
|
|
19326
|
+
/** Generated alias around `trpc.pipelineAnalytics.completeRetrainTrack.useMutation`. */
|
|
19327
|
+
var usePipelineAnalyticsCompleteRetrainTrack = trpc.pipelineAnalytics.completeRetrainTrack.useMutation;
|
|
19328
|
+
/** Generated alias around `trpc.pipelineAnalytics.restageRetrainTrack.useMutation`. */
|
|
19329
|
+
var usePipelineAnalyticsRestageRetrainTrack = trpc.pipelineAnalytics.restageRetrainTrack.useMutation;
|
|
19330
|
+
/** Generated alias around `trpc.pipelineAnalytics.getRetrainExportUrl.useQuery`. */
|
|
19331
|
+
var usePipelineAnalyticsGetRetrainExportUrl = trpc.pipelineAnalytics.getRetrainExportUrl.useQuery;
|
|
19243
19332
|
/** Generated alias around `trpc.pipelineAnalytics.getEventMedia.useQuery`. */
|
|
19244
19333
|
var usePipelineAnalyticsGetEventMedia = trpc.pipelineAnalytics.getEventMedia.useQuery;
|
|
19245
19334
|
/** Generated alias around `trpc.pipelineAnalytics.getTrackMedia.useQuery`. */
|
|
@@ -19708,6 +19797,10 @@ var useStreamBrokerAssignProfile = trpc.streamBroker.assignProfile.useMutation;
|
|
|
19708
19797
|
var useStreamBrokerUnassignProfile = trpc.streamBroker.unassignProfile.useMutation;
|
|
19709
19798
|
/** Generated alias around `trpc.streamBroker.renderPreBufferClip.useMutation`. */
|
|
19710
19799
|
var useStreamBrokerRenderPreBufferClip = trpc.streamBroker.renderPreBufferClip.useMutation;
|
|
19800
|
+
/** Generated alias around `trpc.streamBroker.produceEventMedia.useMutation`. */
|
|
19801
|
+
var useStreamBrokerProduceEventMedia = trpc.streamBroker.produceEventMedia.useMutation;
|
|
19802
|
+
/** Generated alias around `trpc.streamBroker.fetchEventMedia.useMutation`. */
|
|
19803
|
+
var useStreamBrokerFetchEventMedia = trpc.streamBroker.fetchEventMedia.useMutation;
|
|
19711
19804
|
/** Generated alias around `trpc.streamBroker.listAllCameraStreams.useQuery`. */
|
|
19712
19805
|
var useStreamBrokerListAllCameraStreams = trpc.streamBroker.listAllCameraStreams.useQuery;
|
|
19713
19806
|
/** Generated alias around `trpc.streamBroker.listAllProfileSlots.useQuery`. */
|
|
@@ -48229,6 +48322,8 @@ exports.resolveContainerPrimary = resolveContainerPrimary;
|
|
|
48229
48322
|
exports.resolveControlAlign = resolveControlAlign;
|
|
48230
48323
|
exports.resolveDeviceControl = resolveDeviceControl;
|
|
48231
48324
|
exports.resolveDisplayIcon = resolveDisplayIcon;
|
|
48325
|
+
exports.resolveEffectiveDefaultModel = resolveEffectiveDefaultModel;
|
|
48326
|
+
exports.resolveEffectiveStepModel = resolveEffectiveStepModel;
|
|
48232
48327
|
exports.resolveEventKindIcon = resolveEventKindIcon;
|
|
48233
48328
|
exports.resolvePrimaryChild = resolvePrimaryChild;
|
|
48234
48329
|
exports.resolveSensorDisplay = resolveSensorDisplay;
|
|
@@ -48242,6 +48337,8 @@ exports.shouldEmit = shouldEmit;
|
|
|
48242
48337
|
exports.shouldUseSingleNode = shouldUseSingleNode;
|
|
48243
48338
|
exports.sortRows = sortRows;
|
|
48244
48339
|
exports.statusIcons = statusIcons;
|
|
48340
|
+
exports.stepHasModelForFormat = stepHasModelForFormat;
|
|
48341
|
+
exports.stepModelOptions = stepModelOptions;
|
|
48245
48342
|
exports.stripParentNamePrefix = stripParentNamePrefix;
|
|
48246
48343
|
exports.tankAlert = tankAlert;
|
|
48247
48344
|
exports.themeToCss = require_theme_index.themeToCss$1;
|
|
@@ -48799,8 +48896,10 @@ exports.usePetFeederSetVolume = usePetFeederSetVolume;
|
|
|
48799
48896
|
exports.usePipelineAnalyticsApplyDeviceSettingsPatch = usePipelineAnalyticsApplyDeviceSettingsPatch;
|
|
48800
48897
|
exports.usePipelineAnalyticsCancelMediaRelocate = usePipelineAnalyticsCancelMediaRelocate;
|
|
48801
48898
|
exports.usePipelineAnalyticsClearTracks = usePipelineAnalyticsClearTracks;
|
|
48899
|
+
exports.usePipelineAnalyticsCompleteRetrainTrack = usePipelineAnalyticsCompleteRetrainTrack;
|
|
48802
48900
|
exports.usePipelineAnalyticsDeleteDeviceEvents = usePipelineAnalyticsDeleteDeviceEvents;
|
|
48803
48901
|
exports.usePipelineAnalyticsDeleteTracks = usePipelineAnalyticsDeleteTracks;
|
|
48902
|
+
exports.usePipelineAnalyticsDeselectRetrainFrame = usePipelineAnalyticsDeselectRetrainFrame;
|
|
48804
48903
|
exports.usePipelineAnalyticsGetActiveTracks = usePipelineAnalyticsGetActiveTracks;
|
|
48805
48904
|
exports.usePipelineAnalyticsGetAudioEvents = usePipelineAnalyticsGetAudioEvents;
|
|
48806
48905
|
exports.usePipelineAnalyticsGetDeviceLiveContribution = usePipelineAnalyticsGetDeviceLiveContribution;
|
|
@@ -48813,6 +48912,8 @@ exports.usePipelineAnalyticsGetMediaRelocateStatus = usePipelineAnalyticsGetMedi
|
|
|
48813
48912
|
exports.usePipelineAnalyticsGetMotionEvents = usePipelineAnalyticsGetMotionEvents;
|
|
48814
48913
|
exports.usePipelineAnalyticsGetObjectEmbeddingRebuildStatus = usePipelineAnalyticsGetObjectEmbeddingRebuildStatus;
|
|
48815
48914
|
exports.usePipelineAnalyticsGetObjectEvents = usePipelineAnalyticsGetObjectEvents;
|
|
48915
|
+
exports.usePipelineAnalyticsGetRetrainExportUrl = usePipelineAnalyticsGetRetrainExportUrl;
|
|
48916
|
+
exports.usePipelineAnalyticsGetRetrainFrameImage = usePipelineAnalyticsGetRetrainFrameImage;
|
|
48816
48917
|
exports.usePipelineAnalyticsGetSensorEvents = usePipelineAnalyticsGetSensorEvents;
|
|
48817
48918
|
exports.usePipelineAnalyticsGetTrack = usePipelineAnalyticsGetTrack;
|
|
48818
48919
|
exports.usePipelineAnalyticsGetTrackMedia = usePipelineAnalyticsGetTrackMedia;
|
|
@@ -48822,14 +48923,21 @@ exports.usePipelineAnalyticsListEventKinds = usePipelineAnalyticsListEventKinds;
|
|
|
48822
48923
|
exports.usePipelineAnalyticsListEventKindsBatch = usePipelineAnalyticsListEventKindsBatch;
|
|
48823
48924
|
exports.usePipelineAnalyticsListOpsLog = usePipelineAnalyticsListOpsLog;
|
|
48824
48925
|
exports.usePipelineAnalyticsListRecentTracks = usePipelineAnalyticsListRecentTracks;
|
|
48926
|
+
exports.usePipelineAnalyticsListRetrainAnnotations = usePipelineAnalyticsListRetrainAnnotations;
|
|
48927
|
+
exports.usePipelineAnalyticsListRetrainFrames = usePipelineAnalyticsListRetrainFrames;
|
|
48928
|
+
exports.usePipelineAnalyticsListRetrainStaging = usePipelineAnalyticsListRetrainStaging;
|
|
48825
48929
|
exports.usePipelineAnalyticsListTrackMedia = usePipelineAnalyticsListTrackMedia;
|
|
48826
48930
|
exports.usePipelineAnalyticsListTracks = usePipelineAnalyticsListTracks;
|
|
48931
|
+
exports.usePipelineAnalyticsProposeRetrainAnnotations = usePipelineAnalyticsProposeRetrainAnnotations;
|
|
48827
48932
|
exports.usePipelineAnalyticsPruneEvents = usePipelineAnalyticsPruneEvents;
|
|
48828
48933
|
exports.usePipelineAnalyticsPruneEventsBefore = usePipelineAnalyticsPruneEventsBefore;
|
|
48829
48934
|
exports.usePipelineAnalyticsPruneTracksBefore = usePipelineAnalyticsPruneTracksBefore;
|
|
48830
48935
|
exports.usePipelineAnalyticsRebuildObjectEmbeddings = usePipelineAnalyticsRebuildObjectEmbeddings;
|
|
48831
48936
|
exports.usePipelineAnalyticsRelocateMedia = usePipelineAnalyticsRelocateMedia;
|
|
48937
|
+
exports.usePipelineAnalyticsRestageRetrainTrack = usePipelineAnalyticsRestageRetrainTrack;
|
|
48938
|
+
exports.usePipelineAnalyticsSaveRetrainAnnotations = usePipelineAnalyticsSaveRetrainAnnotations;
|
|
48832
48939
|
exports.usePipelineAnalyticsSearchObjectEvents = usePipelineAnalyticsSearchObjectEvents;
|
|
48940
|
+
exports.usePipelineAnalyticsSelectRetrainFrames = usePipelineAnalyticsSelectRetrainFrames;
|
|
48833
48941
|
exports.usePipelineAnalyticsSetTrackFlags = usePipelineAnalyticsSetTrackFlags;
|
|
48834
48942
|
exports.usePipelineAnalyticsWipeAllAnalytics = usePipelineAnalyticsWipeAllAnalytics;
|
|
48835
48943
|
exports.usePipelineAnalyticsWipeObjectEmbeddings = usePipelineAnalyticsWipeObjectEmbeddings;
|
|
@@ -49062,6 +49170,7 @@ exports.useStorageWriteChunk = useStorageWriteChunk;
|
|
|
49062
49170
|
exports.useStreamBrokerAcquireEgressTranscode = useStreamBrokerAcquireEgressTranscode;
|
|
49063
49171
|
exports.useStreamBrokerApplyDeviceSettingsPatch = useStreamBrokerApplyDeviceSettingsPatch;
|
|
49064
49172
|
exports.useStreamBrokerAssignProfile = useStreamBrokerAssignProfile;
|
|
49173
|
+
exports.useStreamBrokerFetchEventMedia = useStreamBrokerFetchEventMedia;
|
|
49065
49174
|
exports.useStreamBrokerGetAllRtspEntries = useStreamBrokerGetAllRtspEntries;
|
|
49066
49175
|
exports.useStreamBrokerGetBrokerStats = useStreamBrokerGetBrokerStats;
|
|
49067
49176
|
exports.useStreamBrokerGetDeviceAudioMute = useStreamBrokerGetDeviceAudioMute;
|
|
@@ -49078,6 +49187,7 @@ exports.useStreamBrokerListAllCameraStreams = useStreamBrokerListAllCameraStream
|
|
|
49078
49187
|
exports.useStreamBrokerListAllProfileSlots = useStreamBrokerListAllProfileSlots;
|
|
49079
49188
|
exports.useStreamBrokerListClients = useStreamBrokerListClients;
|
|
49080
49189
|
exports.useStreamBrokerProbeStream = useStreamBrokerProbeStream;
|
|
49190
|
+
exports.useStreamBrokerProduceEventMedia = useStreamBrokerProduceEventMedia;
|
|
49081
49191
|
exports.useStreamBrokerPublishCameraStream = useStreamBrokerPublishCameraStream;
|
|
49082
49192
|
exports.useStreamBrokerPullAudioChunks = useStreamBrokerPullAudioChunks;
|
|
49083
49193
|
exports.useStreamBrokerPullFrameHandles = useStreamBrokerPullFrameHandles;
|
package/dist/index.js
CHANGED
|
@@ -3709,6 +3709,62 @@ var CHIP_BASE = "inline-flex items-center gap-1 rounded-full border px-1.5 py-0.
|
|
|
3709
3709
|
var CHIP_ACTIVE = "border-primary/50 bg-primary/15 text-primary";
|
|
3710
3710
|
var CHIP_INACTIVE = "border-border bg-surface text-foreground-subtle hover:bg-surface-hover";
|
|
3711
3711
|
//#endregion
|
|
3712
|
+
//#region src/composites/resolve-step-default-model.ts
|
|
3713
|
+
function resolveStepDefaultModel(catalog, format) {
|
|
3714
|
+
const hasFormatBuild = (modelId) => catalog.models.find((m) => m.id === modelId)?.formats[format] !== void 0;
|
|
3715
|
+
const declared = catalog.defaultModelIdByFormat?.[format];
|
|
3716
|
+
if (declared !== void 0 && hasFormatBuild(declared)) return declared;
|
|
3717
|
+
if (hasFormatBuild(catalog.defaultModelId)) return catalog.defaultModelId;
|
|
3718
|
+
const available = catalog.models.filter((m) => m.formats[format] !== void 0 && m.legacy !== true);
|
|
3719
|
+
if (available.length === 0) return catalog.defaultModelId;
|
|
3720
|
+
return [...available].toSorted((a, b) => (a.formats[format]?.sizeMB ?? Infinity) - (b.formats[format]?.sizeMB ?? Infinity))[0].id;
|
|
3721
|
+
}
|
|
3722
|
+
/**
|
|
3723
|
+
* The model a matrix CELL shows as this step's effective default on `device`.
|
|
3724
|
+
*
|
|
3725
|
+
* The device's ELECTED model (`device.defaultModelId`, the per-device
|
|
3726
|
+
* object-detection election) applies ONLY when this step's catalog actually
|
|
3727
|
+
* contains it — `slot === 'detector'` alone is too wide, because
|
|
3728
|
+
* package-detection shares the detector slot with the root step. Bit live
|
|
3729
|
+
* 2026-08-08: rfdetr-package became the package step's default and every
|
|
3730
|
+
* matrix cell still showed the device's yolo as the "selected" model, because
|
|
3731
|
+
* the election was applied slot-wide. Membership is the principled gate: an
|
|
3732
|
+
* elected model this step cannot run is never displayed for it.
|
|
3733
|
+
*/
|
|
3734
|
+
function resolveEffectiveDefaultModel(catalog, device) {
|
|
3735
|
+
const format = device?.format;
|
|
3736
|
+
if (format === void 0) return void 0;
|
|
3737
|
+
const elected = device?.defaultModelId;
|
|
3738
|
+
return catalog.slot === "detector" && elected !== void 0 && catalog.models.some((m) => m.id === elected) ? elected : resolveStepDefaultModel(catalog, format);
|
|
3739
|
+
}
|
|
3740
|
+
/**
|
|
3741
|
+
* The models a step may run on an engine `format` — the ONE derivation of the
|
|
3742
|
+
* option list. An unknown format yields NOTHING rather than everything: a
|
|
3743
|
+
* picker that offered a model with no build for the device would write a pin
|
|
3744
|
+
* the runner cannot honour.
|
|
3745
|
+
*/
|
|
3746
|
+
function stepModelOptions(models, format) {
|
|
3747
|
+
if (format === void 0) return [];
|
|
3748
|
+
return models.filter((m) => m.formats[format] !== void 0);
|
|
3749
|
+
}
|
|
3750
|
+
/** Can this step run on `format` at all? (`false` ⇒ the caller renders "⚠ skip"/"—".) */
|
|
3751
|
+
function stepHasModelForFormat(models, format) {
|
|
3752
|
+
return stepModelOptions(models, format).length > 0;
|
|
3753
|
+
}
|
|
3754
|
+
/**
|
|
3755
|
+
* The model a step ACTUALLY runs for a (device, camera) — the whole effective
|
|
3756
|
+
* chain in one place: per-camera override → per-(node,device) base → the
|
|
3757
|
+
* resolved default (`resolveEffectiveDefaultModel`).
|
|
3758
|
+
*
|
|
3759
|
+
* Every surface calls this: the matrix cell, and the drawer's picker seed. They
|
|
3760
|
+
* are the same number, and the only way to keep them the same number is to have
|
|
3761
|
+
* one function produce it. A surface that owns fewer layers omits them (the node
|
|
3762
|
+
* matrix passes no `override`) — it does NOT get its own resolver.
|
|
3763
|
+
*/
|
|
3764
|
+
function resolveEffectiveStepModel(input) {
|
|
3765
|
+
return input.override ?? input.base ?? resolveEffectiveDefaultModel(input.catalog, input.device);
|
|
3766
|
+
}
|
|
3767
|
+
//#endregion
|
|
3712
3768
|
//#region src/lib/pipeline-mirror.ts
|
|
3713
3769
|
function findAddonInCatalog(catalog, addonId) {
|
|
3714
3770
|
for (const slot of catalog.slots) for (const addon of slot.addons) if (addon.id === addonId) return addon;
|
|
@@ -3717,8 +3773,20 @@ function findAddonInCatalog(catalog, addonId) {
|
|
|
3717
3773
|
function findModel(addon, modelId) {
|
|
3718
3774
|
return addon.models.find((m) => m.id === modelId) ?? null;
|
|
3719
3775
|
}
|
|
3720
|
-
|
|
3721
|
-
|
|
3776
|
+
/**
|
|
3777
|
+
* The model to adopt on the target when the source's pin has no build there.
|
|
3778
|
+
*
|
|
3779
|
+
* Options come from the shared step-model primitive, and the CHOICE is the
|
|
3780
|
+
* step's own resolved default for that format — not "the first entry in the
|
|
3781
|
+
* array", which is how a mirror could land on `yolov8n-package` for a step
|
|
3782
|
+
* whose declared default is `rfdetr-package`, disagreeing with the very cell
|
|
3783
|
+
* the steps matrix renders right after the mirror.
|
|
3784
|
+
*/
|
|
3785
|
+
function fallbackModelFor(addon, format) {
|
|
3786
|
+
const options = stepModelOptions(addon.models, format);
|
|
3787
|
+
if (options.length === 0) return null;
|
|
3788
|
+
const resolved = resolveStepDefaultModel(addon, format);
|
|
3789
|
+
return options.find((m) => m.id === resolved) ?? options[0] ?? null;
|
|
3722
3790
|
}
|
|
3723
3791
|
function dropModelSpecific(settings, targetAddon) {
|
|
3724
3792
|
const allowedKeys = new Set((targetAddon.configSchema ?? []).map((f) => f.key));
|
|
@@ -3759,11 +3827,11 @@ function mirror(input) {
|
|
|
3759
3827
|
outcome = "exact";
|
|
3760
3828
|
} else {
|
|
3761
3829
|
const srcModel = findModel(targetAddon, srcCfg.modelId);
|
|
3762
|
-
if (srcModel !== null &&
|
|
3830
|
+
if (srcModel !== null && stepModelOptions([srcModel], target.engine.format).length > 0) {
|
|
3763
3831
|
chosenModelId = srcCfg.modelId;
|
|
3764
3832
|
outcome = "exact";
|
|
3765
3833
|
} else {
|
|
3766
|
-
const fallback =
|
|
3834
|
+
const fallback = fallbackModelFor(targetAddon, target.engine.format);
|
|
3767
3835
|
if (!fallback) {
|
|
3768
3836
|
out.push({
|
|
3769
3837
|
addonId,
|
|
@@ -12971,8 +13039,18 @@ function DialogTrigger({ children, ...props }) {
|
|
|
12971
13039
|
* is capped to the viewport (`w-[calc(100vw-2rem)]`) rather than a bare
|
|
12972
13040
|
* `w-full` (which would overflow/clip a centered dialog); the per-variant
|
|
12973
13041
|
* `max-w-*` keeps small dialogs small while the cap prevents overflow.
|
|
12974
|
-
|
|
12975
|
-
|
|
13042
|
+
*
|
|
13043
|
+
* Height is capped against the SAFE viewport, not the raw one. A top-layer
|
|
13044
|
+
* `fixed` dialog is viewport-relative, and under `viewport-fit=cover` the
|
|
13045
|
+
* viewport extends behind the iOS notch/Dynamic Island and home indicator —
|
|
13046
|
+
* so a dialog tall enough to hit its `max-h` put its header under the clock.
|
|
13047
|
+
* Because the box is centred on the viewport (not on the safe area), the cap
|
|
13048
|
+
* has to subtract TWICE the LARGER of the two insets for the box to clear
|
|
13049
|
+
* both edges; using each inset once would still overflow the taller side
|
|
13050
|
+
* whenever they are asymmetric (they are: ~59px top vs ~34px bottom). Every
|
|
13051
|
+
* term collapses to the previous `100dvh - 2rem` where the insets are 0.
|
|
13052
|
+
*/
|
|
13053
|
+
var contentVariants = cva("fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 m-0 w-[calc(100vw-2rem)] bg-background-elevated text-foreground border border-border rounded-lg p-4 backdrop:bg-black/50 backdrop:backdrop-blur-sm max-h-[calc(100dvh-2rem-2*max(env(safe-area-inset-top),env(safe-area-inset-bottom)))] overflow-y-auto [&:not([open])]:hidden", {
|
|
12976
13054
|
variants: {
|
|
12977
13055
|
width: {
|
|
12978
13056
|
sm: "max-w-sm",
|
|
@@ -12981,7 +13059,7 @@ var contentVariants = cva("fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-
|
|
|
12981
13059
|
},
|
|
12982
13060
|
placement: {
|
|
12983
13061
|
center: "",
|
|
12984
|
-
"sheet-on-mobile": "bottom-0 left-0 right-0 top-auto w-full max-w-full translate-x-0 translate-y-0 rounded-b-none max-h-[92dvh] md:left-1/2 md:top-1/2 md:-translate-x-1/2 md:-translate-y-1/2 md:rounded-lg md:bottom-auto md:max-h-[calc(100dvh-2rem)]"
|
|
13062
|
+
"sheet-on-mobile": "bottom-0 left-0 right-0 top-auto w-full max-w-full translate-x-0 translate-y-0 rounded-b-none max-h-[92dvh] pb-[calc(1rem+env(safe-area-inset-bottom))] md:left-1/2 md:top-1/2 md:-translate-x-1/2 md:-translate-y-1/2 md:rounded-lg md:bottom-auto md:pb-4 md:max-h-[calc(100dvh-2rem-2*max(env(safe-area-inset-top),env(safe-area-inset-bottom)))]"
|
|
12985
13063
|
}
|
|
12986
13064
|
},
|
|
12987
13065
|
compoundVariants: [
|
|
@@ -13307,7 +13385,7 @@ function BottomSheet({ open, onClose, title, children, className }) {
|
|
|
13307
13385
|
}), /* @__PURE__ */ jsxs("div", {
|
|
13308
13386
|
role: "dialog",
|
|
13309
13387
|
"aria-modal": "true",
|
|
13310
|
-
className: cn("fixed inset-x-0 bottom-0 z-50 flex flex-col bg-background-elevated border-t border-border rounded-t-xl shadow-2xl transition-transform duration-200 ease-out", "max-h-[80dvh]", open ? "translate-y-0" : "translate-y-full", className),
|
|
13388
|
+
className: cn("fixed inset-x-0 bottom-0 z-50 flex flex-col bg-background-elevated border-t border-border rounded-t-xl shadow-2xl transition-transform duration-200 ease-out pb-[env(safe-area-inset-bottom)]", "max-h-[80dvh]", open ? "translate-y-0" : "translate-y-full", className),
|
|
13311
13389
|
children: [
|
|
13312
13390
|
/* @__PURE__ */ jsx("div", {
|
|
13313
13391
|
className: "flex justify-center pt-2 pb-1",
|
|
@@ -13550,7 +13628,7 @@ function FloatingPanel({ title, onClose, children, defaultWidth = 360, defaultHe
|
|
|
13550
13628
|
};
|
|
13551
13629
|
}, [minWidth, minHeight]);
|
|
13552
13630
|
if (isMobile) return /* @__PURE__ */ jsxs("div", {
|
|
13553
|
-
className: cn("fixed inset-x-0 bottom-0 z-50 rounded-t-xl border-t border-border bg-background-elevated shadow-2xl flex flex-col overflow-hidden", className),
|
|
13631
|
+
className: cn("fixed inset-x-0 bottom-0 z-50 rounded-t-xl border-t border-border bg-background-elevated shadow-2xl flex flex-col overflow-hidden pb-[env(safe-area-inset-bottom)]", className),
|
|
13554
13632
|
style: { maxHeight: "60dvh" },
|
|
13555
13633
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
13556
13634
|
className: "flex items-center justify-between gap-2 px-3 py-2 border-b border-border shrink-0 bg-surface",
|
|
@@ -14197,7 +14275,7 @@ function ModelPicker({ models, value, onChange, disabled }) {
|
|
|
14197
14275
|
});
|
|
14198
14276
|
if (!hasGroups) return /* @__PURE__ */ jsxs("div", {
|
|
14199
14277
|
className: "space-y-2",
|
|
14200
|
-
children: [unresolvedBanner, flatSelect(models)]
|
|
14278
|
+
children: [unresolvedBanner, flatSelect(models, "— select a model —")]
|
|
14201
14279
|
});
|
|
14202
14280
|
return /* @__PURE__ */ jsxs("div", {
|
|
14203
14281
|
className: "space-y-3",
|
|
@@ -14724,7 +14802,7 @@ function DeviceModeEditor({ addon, agentDefault, agentNodeId, currentPatch, mode
|
|
|
14724
14802
|
}
|
|
14725
14803
|
function AgentStepEditor(props) {
|
|
14726
14804
|
const { mode, addon, agentDefault, agentNodeId, currentPatch, onChangeAgentConfig, onChangePatch, engineFormat, effectiveModelId } = props;
|
|
14727
|
-
const modelsForFormat = useMemo(() => addon.models
|
|
14805
|
+
const modelsForFormat = useMemo(() => stepModelOptions(addon.models, engineFormat), [addon.models, engineFormat]);
|
|
14728
14806
|
if (mode === "agent") return /* @__PURE__ */ jsx(AgentModeEditor, {
|
|
14729
14807
|
addon,
|
|
14730
14808
|
agentDefault,
|
|
@@ -15396,17 +15474,6 @@ function DeviceStepMatrix({ tree, agents, gateFor, getCellState, onCellClick, se
|
|
|
15396
15474
|
});
|
|
15397
15475
|
}
|
|
15398
15476
|
//#endregion
|
|
15399
|
-
//#region src/composites/resolve-step-default-model.ts
|
|
15400
|
-
function resolveStepDefaultModel(catalog, format) {
|
|
15401
|
-
const hasFormatBuild = (modelId) => catalog.models.find((m) => m.id === modelId)?.formats[format] !== void 0;
|
|
15402
|
-
const declared = catalog.defaultModelIdByFormat?.[format];
|
|
15403
|
-
if (declared !== void 0 && hasFormatBuild(declared)) return declared;
|
|
15404
|
-
if (hasFormatBuild(catalog.defaultModelId)) return catalog.defaultModelId;
|
|
15405
|
-
const available = catalog.models.filter((m) => m.formats[format] !== void 0 && m.legacy !== true);
|
|
15406
|
-
if (available.length === 0) return catalog.defaultModelId;
|
|
15407
|
-
return [...available].toSorted((a, b) => (a.formats[format]?.sizeMB ?? Infinity) - (b.formats[format]?.sizeMB ?? Infinity))[0].id;
|
|
15408
|
-
}
|
|
15409
|
-
//#endregion
|
|
15410
15477
|
//#region src/trpc-react.ts
|
|
15411
15478
|
/**
|
|
15412
15479
|
* Shared typed React Query proxy for the backend AppRouter.
|
|
@@ -19216,6 +19283,28 @@ var usePipelineAnalyticsListOpsLog = trpc.pipelineAnalytics.listOpsLog.useQuery;
|
|
|
19216
19283
|
var usePipelineAnalyticsGetTrainingExportSummary = trpc.pipelineAnalytics.getTrainingExportSummary.useQuery;
|
|
19217
19284
|
/** Generated alias around `trpc.pipelineAnalytics.getTrainingExportUrl.useQuery`. */
|
|
19218
19285
|
var usePipelineAnalyticsGetTrainingExportUrl = trpc.pipelineAnalytics.getTrainingExportUrl.useQuery;
|
|
19286
|
+
/** Generated alias around `trpc.pipelineAnalytics.listRetrainStaging.useQuery`. */
|
|
19287
|
+
var usePipelineAnalyticsListRetrainStaging = trpc.pipelineAnalytics.listRetrainStaging.useQuery;
|
|
19288
|
+
/** Generated alias around `trpc.pipelineAnalytics.listRetrainFrames.useQuery`. */
|
|
19289
|
+
var usePipelineAnalyticsListRetrainFrames = trpc.pipelineAnalytics.listRetrainFrames.useQuery;
|
|
19290
|
+
/** Generated alias around `trpc.pipelineAnalytics.selectRetrainFrames.useMutation`. */
|
|
19291
|
+
var usePipelineAnalyticsSelectRetrainFrames = trpc.pipelineAnalytics.selectRetrainFrames.useMutation;
|
|
19292
|
+
/** Generated alias around `trpc.pipelineAnalytics.deselectRetrainFrame.useMutation`. */
|
|
19293
|
+
var usePipelineAnalyticsDeselectRetrainFrame = trpc.pipelineAnalytics.deselectRetrainFrame.useMutation;
|
|
19294
|
+
/** Generated alias around `trpc.pipelineAnalytics.getRetrainFrameImage.useQuery`. */
|
|
19295
|
+
var usePipelineAnalyticsGetRetrainFrameImage = trpc.pipelineAnalytics.getRetrainFrameImage.useQuery;
|
|
19296
|
+
/** Generated alias around `trpc.pipelineAnalytics.proposeRetrainAnnotations.useMutation`. */
|
|
19297
|
+
var usePipelineAnalyticsProposeRetrainAnnotations = trpc.pipelineAnalytics.proposeRetrainAnnotations.useMutation;
|
|
19298
|
+
/** Generated alias around `trpc.pipelineAnalytics.listRetrainAnnotations.useQuery`. */
|
|
19299
|
+
var usePipelineAnalyticsListRetrainAnnotations = trpc.pipelineAnalytics.listRetrainAnnotations.useQuery;
|
|
19300
|
+
/** Generated alias around `trpc.pipelineAnalytics.saveRetrainAnnotations.useMutation`. */
|
|
19301
|
+
var usePipelineAnalyticsSaveRetrainAnnotations = trpc.pipelineAnalytics.saveRetrainAnnotations.useMutation;
|
|
19302
|
+
/** Generated alias around `trpc.pipelineAnalytics.completeRetrainTrack.useMutation`. */
|
|
19303
|
+
var usePipelineAnalyticsCompleteRetrainTrack = trpc.pipelineAnalytics.completeRetrainTrack.useMutation;
|
|
19304
|
+
/** Generated alias around `trpc.pipelineAnalytics.restageRetrainTrack.useMutation`. */
|
|
19305
|
+
var usePipelineAnalyticsRestageRetrainTrack = trpc.pipelineAnalytics.restageRetrainTrack.useMutation;
|
|
19306
|
+
/** Generated alias around `trpc.pipelineAnalytics.getRetrainExportUrl.useQuery`. */
|
|
19307
|
+
var usePipelineAnalyticsGetRetrainExportUrl = trpc.pipelineAnalytics.getRetrainExportUrl.useQuery;
|
|
19219
19308
|
/** Generated alias around `trpc.pipelineAnalytics.getEventMedia.useQuery`. */
|
|
19220
19309
|
var usePipelineAnalyticsGetEventMedia = trpc.pipelineAnalytics.getEventMedia.useQuery;
|
|
19221
19310
|
/** Generated alias around `trpc.pipelineAnalytics.getTrackMedia.useQuery`. */
|
|
@@ -19684,6 +19773,10 @@ var useStreamBrokerAssignProfile = trpc.streamBroker.assignProfile.useMutation;
|
|
|
19684
19773
|
var useStreamBrokerUnassignProfile = trpc.streamBroker.unassignProfile.useMutation;
|
|
19685
19774
|
/** Generated alias around `trpc.streamBroker.renderPreBufferClip.useMutation`. */
|
|
19686
19775
|
var useStreamBrokerRenderPreBufferClip = trpc.streamBroker.renderPreBufferClip.useMutation;
|
|
19776
|
+
/** Generated alias around `trpc.streamBroker.produceEventMedia.useMutation`. */
|
|
19777
|
+
var useStreamBrokerProduceEventMedia = trpc.streamBroker.produceEventMedia.useMutation;
|
|
19778
|
+
/** Generated alias around `trpc.streamBroker.fetchEventMedia.useMutation`. */
|
|
19779
|
+
var useStreamBrokerFetchEventMedia = trpc.streamBroker.fetchEventMedia.useMutation;
|
|
19687
19780
|
/** Generated alias around `trpc.streamBroker.listAllCameraStreams.useQuery`. */
|
|
19688
19781
|
var useStreamBrokerListAllCameraStreams = trpc.streamBroker.listAllCameraStreams.useQuery;
|
|
19689
19782
|
/** Generated alias around `trpc.streamBroker.listAllProfileSlots.useQuery`. */
|
|
@@ -47883,4 +47976,4 @@ var MotionZonesSettings = lazy(() => import("./MotionZonesSettings-NcxxQN8r.js")
|
|
|
47883
47976
|
/** Lazy-wrapped `PrivacyMaskSettings` — code-split off the main bundle. */
|
|
47884
47977
|
var PrivacyMaskSettings = lazy(() => import("./PrivacyMaskSettings-APgPLF7p.js").then((m) => ({ default: m.PrivacyMaskSettings })));
|
|
47885
47978
|
//#endregion
|
|
47886
|
-
export { AddonGlobalSettingsForm, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, AppShell, ArcKnob, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutomationHeroCard, AutomationInlineControl, AutotrackSection, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, Badge, BatteryBadge, BottomSheet, Breadcrumb, BrightnessPanel, Button, ButtonControl, ButtonHeroCard, CARD_MODE_MIN_COLUMNS, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, CustomFieldRenderersProvider, DEFAULT_COLOR, DEVICE_COLUMNS, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DISPLAY_ICON_REGISTRY, DataTable, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceGrid, DeviceItem, DeviceList, DeviceMultiSelectField, DeviceSelectField, DeviceStepMatrix, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, DoorbellRecentPanel, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, DummyHeroCard, DummyInline, EVENT_KIND_ICONS, EmptyState, ErrorBox, EventKindGlyph, EventStream, FILL, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, FormField$1 as FormField, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GripTrack, GroupedModelSelector, HOST_WIDGETS, HlsVideo, HoverZoomImage, HumidifierHeroCard, HumidifierInlineControl, INPUT_COMPACT, IconAction, IconButton, ImageHeroCard, ImageInlineControl, ImageSelector, InferenceConfigSelector, Input, KebabMenu, KeyValueList, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LightHeroCard, LightInlineControl, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, MODE_COLOR, MaskShapeCanvas, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, MobileDrawer, ModelPicker, MotionZonesSettings, NodeMultiSelectField, NodePicker, NodeSelectField, OfflineBadge, PHASE_CONFIG, PRIORITY, PTZOverlay, PageHeader, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PipelineTreeMatrix, PlayerOverlaysProvider, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, PtzPanel, QrCode, RECONNECT_POLICY, RECORDED_PLAYBACK_MODES, RIGHT, ROLE_DESCRIPTOR, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SETTING_ROW, SETTING_ROW_LABEL, SETTING_ROW_STACK_BREAKPOINT, SETTING_ROW_VALUE, SETTING_ROW_VALUE_TEXT, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, ScopePicker, ScriptHeroCard, ScriptInlineControl, ScrollArea, Select, SemanticBadge, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, SettingRow, Sidebar, SidebarItem, Skeleton, SlideOverPanel, SlideToggle, SnapshotButton, StatCard, StateValuesStream, StatusBadge, StepTimings, StepTreeMaster, Stepper, StreamBrokerSelector, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, Tooltip, TooltipContent, TooltipTrigger, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, VodPlaybackProvider, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, ZoneEditingProvider, agentColumnKey, allDeviceTypeFilterOptions, buildStepTreeFromSchema, childEntityId, childListName, cn, columnsForContext, containerChildToRef, countableDevices, coverHighlight, createSharedContext, createTheme, cursorFractionFor, darkColors, defaultTheme, deriveDeviceKind, deviceMatchesFilter, deviceOptionLabel, deviceRoleMeta, deviceRoleMetaOf, deviceTypeMeta, deviceTypeMetaOf, devicesToOptions, ensureMfHostInit, eventKindLabel, filterDeviceOptions, findTimezone, formatControlDateTime, formatLastSeen, formatNumeric, fuzzyMatch, getClassColor, getPhaseVisual, groupAgentColumns, groupChildrenByLayout, hardwareLabel, humidifierTint, createLucideIcon as i, initialScrubState, isAbsentProvider, isFieldVisible, lawnMowerActivityMeta, lightColors, loadRemoteBundle, makeScrubBridge, metadataEntries, metadataString, mirror, mountAddonPage, Square as n, nextReconnectAction, nextSort, normalizeForSearch, overrideEntityIdFromLink, parseRecordedServerMessage, providerIcons, EyeOff as r, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDisplayIcon, resolveEventKindIcon, resolvePrimaryChild, resolveSensorDisplay, resolveStepDefaultModel, resolveTableLayout, scrubReducer, selectedDeviceOptions, serializeRecordedCommand, shouldCommit, shouldEmit, shouldUseSingleNode, sortRows, statusIcons, stripParentNamePrefix, Trash2 as t, tankAlert, themeToCss, trpc, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerClassify, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupDelete, useBackupDeleteSchedule, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListDestinations, useBackupListLocations, useBackupListSchedules, useBackupPreviewSchedule, useBackupRestore, useBackupTrigger, useBackupUpsertDestinationPolicy, useBackupUpsertSchedule, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useColorGetStatus, useColorSetColor, useConfirm, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoreBlocksCompile, useCoreBlocksCreate, useCoreBlocksDelete, useCoreBlocksGet, useCoreBlocksGetTypeDefs, useCoreBlocksList, useCoreBlocksSetEnabled, useCoreBlocksUpdate, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderCreateSession, useDecoderDestroySession, useDecoderGetFrame, useDecoderGetInfo, useDecoderGetShmStats, useDecoderGetStats, useDecoderListActiveSessions, useDecoderOpenStream, useDecoderPullFrames, useDecoderPullHandles, useDecoderPushPacket, useDecoderReprobeHwaccel, useDecoderSupportsCodec, useDecoderUpdateConfig, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyDeviceSettingsPatch, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetChildren, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveContribution, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceSettingsContribution, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetDeviceStatusAggregateBatch, useDeviceManagerGetLinkedDevices, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDeviceLinks, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetSnapshot, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDoorbellApplyDeviceSettingsPatch, useDoorbellEvents, useDoorbellGetDeviceLiveContribution, useDoorbellGetDeviceSettingsContribution, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useEventsGetEventClipUrl, useEventsGetEventThumbnail, useEventsGetEvents, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLlmDeleteModel, useLlmDeleteProfile, useLlmGenerate, useLlmGenerateVision, useLlmGetDefaults, useLlmGetRuntimeStatus, useLlmGetUsage, useLlmInstallModel, useLlmListModelCatalog, useLlmListModels, useLlmListNodeModels, useLlmListProfileKinds, useLlmListProfiles, useLlmListRuntimeNodes, useLlmSetDefault, useLlmStartRuntime, useLlmStopRuntime, useLlmTestProfile, useLlmUpsertProfile, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetNotificationEndpoint, useLocalNetworkGetPreferred, useLocalNetworkList, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkSetAllowedAddresses, useLocalNetworkSetNotificationEndpoint, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderDumpHeapSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetProcessStats, useMetricsProviderKillProcess, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotificationRulesCancelSnooze, useNotificationRulesCreateRule, useNotificationRulesCreateSnooze, useNotificationRulesDeleteRule, useNotificationRulesGetAlarmConfig, useNotificationRulesGetConditionCatalog, useNotificationRulesGetHistory, useNotificationRulesGetRule, useNotificationRulesListDeviceMutes, useNotificationRulesListRules, useNotificationRulesListSnoozes, useNotificationRulesSetAlarmConfig, useNotificationRulesSetDeviceMuted, useNotificationRulesSetRuleEnabled, useNotificationRulesTestRule, useNotificationRulesUpdateRule, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdManagerClearSlotBinding, useOsdManagerGetConditionSupport, useOsdManagerGetDeviceOsd, useOsdManagerGetSourceCatalog, useOsdManagerPreviewSlot, useOsdManagerRenderDevice, useOsdManagerSetSlotBinding, useOsdSetOverlay, usePTZ, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsCancelMediaRelocate, usePipelineAnalyticsClearTracks, usePipelineAnalyticsDeleteDeviceEvents, usePipelineAnalyticsDeleteTracks, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetEventStoreFootprint, usePipelineAnalyticsGetKeyEvents, usePipelineAnalyticsGetMediaRelocateStatus, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEmbeddingRebuildStatus, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetSensorEvents, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsGetTrainingExportSummary, usePipelineAnalyticsGetTrainingExportUrl, usePipelineAnalyticsListEventKinds, usePipelineAnalyticsListEventKindsBatch, usePipelineAnalyticsListOpsLog, usePipelineAnalyticsListRecentTracks, usePipelineAnalyticsListTrackMedia, usePipelineAnalyticsListTracks, usePipelineAnalyticsPruneEvents, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsPruneTracksBefore, usePipelineAnalyticsRebuildObjectEmbeddings, usePipelineAnalyticsRelocateMedia, usePipelineAnalyticsSearchObjectEvents, usePipelineAnalyticsSetTrackFlags, usePipelineAnalyticsWipeAllAnalytics, usePipelineAnalyticsWipeObjectEmbeddings, usePipelineExecutorCacheFrameInPool, usePipelineExecutorClearDeviceOverrides, usePipelineExecutorDeleteModel, usePipelineExecutorDeleteTemplate, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorListTemplates, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSaveTemplate, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorUpdateTemplate, usePipelineExecutorValidatePipeline, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteTemplate, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCameraSwitches, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetIngestOwner, usePipelineOrchestratorGetNodeInferenceDevices, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorGetPipelineDevicePin, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListTemplates, usePipelineOrchestratorRebalance, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorResetNodePipelineDefaults, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorSaveTemplate, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDetectWeight, usePipelineOrchestratorSetAgentInferenceDevices, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetAgentReachableHost, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCameraSwitch, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorSetPipelineDevicePin, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignPipeline, usePipelineOrchestratorUpdateTemplate, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerGetNativeCrop, usePipelineRunnerReportMotion, usePipelineRunnerRunDetailSubtree, usePipelineRunnerRunStatelessStep, usePlateGalleryAssignPlate, usePlateGalleryAssignPlates, usePlateGalleryCorrectPlateText, usePlateGalleryCreateVehicle, usePlateGalleryDeletePlate, usePlateGalleryDeleteVehicle, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGalleryListVehicleSamples, usePlateGalleryListVehicles, usePlateGalleryRemoveVehicleSample, usePlateGalleryRenameVehicle, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlateGalleryUnassignPlate, usePlateGalleryUnassignPlates, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetAudioEnabled, usePrivacyMaskSetMask, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzContinuousMove, usePtzDeletePreset, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingApplyDeviceSettingsPatch, useRecordingCancelRelocate, useRecordingDeleteFootprint, useRecordingExportCancelExport, useRecordingExportCreateExport, useRecordingExportDeleteExport, useRecordingExportGetDownloadUrl, useRecordingExportGetExport, useRecordingExportListExports, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetDeviceConfig, useRecordingGetDeviceLiveContribution, useRecordingGetDeviceSettingsContribution, useRecordingGetPlaybackManifest, useRecordingGetRelocateStatus, useRecordingGetStatus, useRecordingGetStorageUsage, useRecordingListOpsLog, useRecordingLocateSegment, useRecordingPruneFootage, useRecordingReadGopBytes, useRecordingReadSegmentBytes, useRecordingRelocateFootage, useRecordingRenderClip, useRecordingRenderGif, useRecordingRescanStorage, useRecordingSetDeviceConfig, useRemoteComponent, useSceneMonitorCaptureReference, useSceneMonitorCreateScene, useSceneMonitorDeleteReference, useSceneMonitorDeleteScene, useSceneMonitorGetStatus, useSceneMonitorListScenes, useSceneMonitorRecheckNow, useSceneMonitorUpdateScene, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useServerManagementApplyServerUpdate, useServerManagementCheckServerUpdate, useServerManagementGetServerPackageStatus, useServerManagementRestartServer, useServerManagementRollbackServerUpdate, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreDeleteWhere, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreUpdate, useSettingsStoreUpdateWhere, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetSnapshotOverview, useSnapshotGetStatus, useSnapshotInvalidateCache, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageGetDefaultLocation, useStorageList, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStreamBrokerAcquireEgressTranscode, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceAudioMute, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerPullFrameHandles, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseEgressTranscode, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRenderPreBufferClip, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetDeviceAudioMute, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerSubscribeFrames, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamBrokerUnsubscribeFrames, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetRetentionConfig, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetRetentionConfig, useTamperGetStatus, useTemperatureSensorGetStatus, useTerminalSessionClose, useTerminalSessionListProfiles, useTerminalSessionListSessions, useTerminalSessionOpenSession, useTerminalSessionResize, useThemeMode, useToastOnToast, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUserManagementConfirmTotp, useUserManagementCreateApiKey, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUpdateUser, useUserManagementValidateApiKey, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsGetClipPlayback, useVideoclipsListClips, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, vacuumStateMeta, validateScopes, valveStateMeta, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint };
|
|
47979
|
+
export { AddonGlobalSettingsForm, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, AppShell, ArcKnob, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutomationHeroCard, AutomationInlineControl, AutotrackSection, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, Badge, BatteryBadge, BottomSheet, Breadcrumb, BrightnessPanel, Button, ButtonControl, ButtonHeroCard, CARD_MODE_MIN_COLUMNS, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, CustomFieldRenderersProvider, DEFAULT_COLOR, DEVICE_COLUMNS, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DISPLAY_ICON_REGISTRY, DataTable, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceGrid, DeviceItem, DeviceList, DeviceMultiSelectField, DeviceSelectField, DeviceStepMatrix, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, DoorbellRecentPanel, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, DummyHeroCard, DummyInline, EVENT_KIND_ICONS, EmptyState, ErrorBox, EventKindGlyph, EventStream, FILL, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, FormField$1 as FormField, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GripTrack, GroupedModelSelector, HOST_WIDGETS, HlsVideo, HoverZoomImage, HumidifierHeroCard, HumidifierInlineControl, INPUT_COMPACT, IconAction, IconButton, ImageHeroCard, ImageInlineControl, ImageSelector, InferenceConfigSelector, Input, KebabMenu, KeyValueList, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LightHeroCard, LightInlineControl, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, MODE_COLOR, MaskShapeCanvas, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, MobileDrawer, ModelPicker, MotionZonesSettings, NodeMultiSelectField, NodePicker, NodeSelectField, OfflineBadge, PHASE_CONFIG, PRIORITY, PTZOverlay, PageHeader, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PipelineTreeMatrix, PlayerOverlaysProvider, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, PtzPanel, QrCode, RECONNECT_POLICY, RECORDED_PLAYBACK_MODES, RIGHT, ROLE_DESCRIPTOR, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SETTING_ROW, SETTING_ROW_LABEL, SETTING_ROW_STACK_BREAKPOINT, SETTING_ROW_VALUE, SETTING_ROW_VALUE_TEXT, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, ScopePicker, ScriptHeroCard, ScriptInlineControl, ScrollArea, Select, SemanticBadge, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, SettingRow, Sidebar, SidebarItem, Skeleton, SlideOverPanel, SlideToggle, SnapshotButton, StatCard, StateValuesStream, StatusBadge, StepTimings, StepTreeMaster, Stepper, StreamBrokerSelector, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, Tooltip, TooltipContent, TooltipTrigger, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, VodPlaybackProvider, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, ZoneEditingProvider, agentColumnKey, allDeviceTypeFilterOptions, buildStepTreeFromSchema, childEntityId, childListName, cn, columnsForContext, containerChildToRef, countableDevices, coverHighlight, createSharedContext, createTheme, cursorFractionFor, darkColors, defaultTheme, deriveDeviceKind, deviceMatchesFilter, deviceOptionLabel, deviceRoleMeta, deviceRoleMetaOf, deviceTypeMeta, deviceTypeMetaOf, devicesToOptions, ensureMfHostInit, eventKindLabel, filterDeviceOptions, findTimezone, formatControlDateTime, formatLastSeen, formatNumeric, fuzzyMatch, getClassColor, getPhaseVisual, groupAgentColumns, groupChildrenByLayout, hardwareLabel, humidifierTint, createLucideIcon as i, initialScrubState, isAbsentProvider, isFieldVisible, lawnMowerActivityMeta, lightColors, loadRemoteBundle, makeScrubBridge, metadataEntries, metadataString, mirror, mountAddonPage, Square as n, nextReconnectAction, nextSort, normalizeForSearch, overrideEntityIdFromLink, parseRecordedServerMessage, providerIcons, EyeOff as r, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDisplayIcon, resolveEffectiveDefaultModel, resolveEffectiveStepModel, resolveEventKindIcon, resolvePrimaryChild, resolveSensorDisplay, resolveStepDefaultModel, resolveTableLayout, scrubReducer, selectedDeviceOptions, serializeRecordedCommand, shouldCommit, shouldEmit, shouldUseSingleNode, sortRows, statusIcons, stepHasModelForFormat, stepModelOptions, stripParentNamePrefix, Trash2 as t, tankAlert, themeToCss, trpc, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerClassify, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupDelete, useBackupDeleteSchedule, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListDestinations, useBackupListLocations, useBackupListSchedules, useBackupPreviewSchedule, useBackupRestore, useBackupTrigger, useBackupUpsertDestinationPolicy, useBackupUpsertSchedule, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useColorGetStatus, useColorSetColor, useConfirm, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoreBlocksCompile, useCoreBlocksCreate, useCoreBlocksDelete, useCoreBlocksGet, useCoreBlocksGetTypeDefs, useCoreBlocksList, useCoreBlocksSetEnabled, useCoreBlocksUpdate, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderCreateSession, useDecoderDestroySession, useDecoderGetFrame, useDecoderGetInfo, useDecoderGetShmStats, useDecoderGetStats, useDecoderListActiveSessions, useDecoderOpenStream, useDecoderPullFrames, useDecoderPullHandles, useDecoderPushPacket, useDecoderReprobeHwaccel, useDecoderSupportsCodec, useDecoderUpdateConfig, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyDeviceSettingsPatch, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetChildren, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveContribution, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceSettingsContribution, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetDeviceStatusAggregateBatch, useDeviceManagerGetLinkedDevices, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDeviceLinks, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetSnapshot, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDoorbellApplyDeviceSettingsPatch, useDoorbellEvents, useDoorbellGetDeviceLiveContribution, useDoorbellGetDeviceSettingsContribution, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useEventsGetEventClipUrl, useEventsGetEventThumbnail, useEventsGetEvents, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLlmDeleteModel, useLlmDeleteProfile, useLlmGenerate, useLlmGenerateVision, useLlmGetDefaults, useLlmGetRuntimeStatus, useLlmGetUsage, useLlmInstallModel, useLlmListModelCatalog, useLlmListModels, useLlmListNodeModels, useLlmListProfileKinds, useLlmListProfiles, useLlmListRuntimeNodes, useLlmSetDefault, useLlmStartRuntime, useLlmStopRuntime, useLlmTestProfile, useLlmUpsertProfile, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetNotificationEndpoint, useLocalNetworkGetPreferred, useLocalNetworkList, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkSetAllowedAddresses, useLocalNetworkSetNotificationEndpoint, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderDumpHeapSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetProcessStats, useMetricsProviderKillProcess, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotificationRulesCancelSnooze, useNotificationRulesCreateRule, useNotificationRulesCreateSnooze, useNotificationRulesDeleteRule, useNotificationRulesGetAlarmConfig, useNotificationRulesGetConditionCatalog, useNotificationRulesGetHistory, useNotificationRulesGetRule, useNotificationRulesListDeviceMutes, useNotificationRulesListRules, useNotificationRulesListSnoozes, useNotificationRulesSetAlarmConfig, useNotificationRulesSetDeviceMuted, useNotificationRulesSetRuleEnabled, useNotificationRulesTestRule, useNotificationRulesUpdateRule, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdManagerClearSlotBinding, useOsdManagerGetConditionSupport, useOsdManagerGetDeviceOsd, useOsdManagerGetSourceCatalog, useOsdManagerPreviewSlot, useOsdManagerRenderDevice, useOsdManagerSetSlotBinding, useOsdSetOverlay, usePTZ, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsCancelMediaRelocate, usePipelineAnalyticsClearTracks, usePipelineAnalyticsCompleteRetrainTrack, usePipelineAnalyticsDeleteDeviceEvents, usePipelineAnalyticsDeleteTracks, usePipelineAnalyticsDeselectRetrainFrame, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetEventStoreFootprint, usePipelineAnalyticsGetKeyEvents, usePipelineAnalyticsGetMediaRelocateStatus, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEmbeddingRebuildStatus, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetRetrainExportUrl, usePipelineAnalyticsGetRetrainFrameImage, usePipelineAnalyticsGetSensorEvents, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsGetTrainingExportSummary, usePipelineAnalyticsGetTrainingExportUrl, usePipelineAnalyticsListEventKinds, usePipelineAnalyticsListEventKindsBatch, usePipelineAnalyticsListOpsLog, usePipelineAnalyticsListRecentTracks, usePipelineAnalyticsListRetrainAnnotations, usePipelineAnalyticsListRetrainFrames, usePipelineAnalyticsListRetrainStaging, usePipelineAnalyticsListTrackMedia, usePipelineAnalyticsListTracks, usePipelineAnalyticsProposeRetrainAnnotations, usePipelineAnalyticsPruneEvents, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsPruneTracksBefore, usePipelineAnalyticsRebuildObjectEmbeddings, usePipelineAnalyticsRelocateMedia, usePipelineAnalyticsRestageRetrainTrack, usePipelineAnalyticsSaveRetrainAnnotations, usePipelineAnalyticsSearchObjectEvents, usePipelineAnalyticsSelectRetrainFrames, usePipelineAnalyticsSetTrackFlags, usePipelineAnalyticsWipeAllAnalytics, usePipelineAnalyticsWipeObjectEmbeddings, usePipelineExecutorCacheFrameInPool, usePipelineExecutorClearDeviceOverrides, usePipelineExecutorDeleteModel, usePipelineExecutorDeleteTemplate, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorListTemplates, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSaveTemplate, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorUpdateTemplate, usePipelineExecutorValidatePipeline, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteTemplate, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCameraSwitches, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetIngestOwner, usePipelineOrchestratorGetNodeInferenceDevices, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorGetPipelineDevicePin, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListTemplates, usePipelineOrchestratorRebalance, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorResetNodePipelineDefaults, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorSaveTemplate, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDetectWeight, usePipelineOrchestratorSetAgentInferenceDevices, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetAgentReachableHost, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCameraSwitch, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorSetPipelineDevicePin, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignPipeline, usePipelineOrchestratorUpdateTemplate, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerGetNativeCrop, usePipelineRunnerReportMotion, usePipelineRunnerRunDetailSubtree, usePipelineRunnerRunStatelessStep, usePlateGalleryAssignPlate, usePlateGalleryAssignPlates, usePlateGalleryCorrectPlateText, usePlateGalleryCreateVehicle, usePlateGalleryDeletePlate, usePlateGalleryDeleteVehicle, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGalleryListVehicleSamples, usePlateGalleryListVehicles, usePlateGalleryRemoveVehicleSample, usePlateGalleryRenameVehicle, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlateGalleryUnassignPlate, usePlateGalleryUnassignPlates, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetAudioEnabled, usePrivacyMaskSetMask, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzContinuousMove, usePtzDeletePreset, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingApplyDeviceSettingsPatch, useRecordingCancelRelocate, useRecordingDeleteFootprint, useRecordingExportCancelExport, useRecordingExportCreateExport, useRecordingExportDeleteExport, useRecordingExportGetDownloadUrl, useRecordingExportGetExport, useRecordingExportListExports, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetDeviceConfig, useRecordingGetDeviceLiveContribution, useRecordingGetDeviceSettingsContribution, useRecordingGetPlaybackManifest, useRecordingGetRelocateStatus, useRecordingGetStatus, useRecordingGetStorageUsage, useRecordingListOpsLog, useRecordingLocateSegment, useRecordingPruneFootage, useRecordingReadGopBytes, useRecordingReadSegmentBytes, useRecordingRelocateFootage, useRecordingRenderClip, useRecordingRenderGif, useRecordingRescanStorage, useRecordingSetDeviceConfig, useRemoteComponent, useSceneMonitorCaptureReference, useSceneMonitorCreateScene, useSceneMonitorDeleteReference, useSceneMonitorDeleteScene, useSceneMonitorGetStatus, useSceneMonitorListScenes, useSceneMonitorRecheckNow, useSceneMonitorUpdateScene, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useServerManagementApplyServerUpdate, useServerManagementCheckServerUpdate, useServerManagementGetServerPackageStatus, useServerManagementRestartServer, useServerManagementRollbackServerUpdate, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreDeleteWhere, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreUpdate, useSettingsStoreUpdateWhere, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetSnapshotOverview, useSnapshotGetStatus, useSnapshotInvalidateCache, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageGetDefaultLocation, useStorageList, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStreamBrokerAcquireEgressTranscode, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerFetchEventMedia, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceAudioMute, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerProduceEventMedia, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerPullFrameHandles, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseEgressTranscode, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRenderPreBufferClip, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetDeviceAudioMute, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerSubscribeFrames, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamBrokerUnsubscribeFrames, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetRetentionConfig, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetRetentionConfig, useTamperGetStatus, useTemperatureSensorGetStatus, useTerminalSessionClose, useTerminalSessionListProfiles, useTerminalSessionListSessions, useTerminalSessionOpenSession, useTerminalSessionResize, useThemeMode, useToastOnToast, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUserManagementConfirmTotp, useUserManagementCreateApiKey, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUpdateUser, useUserManagementValidateApiKey, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsGetClipPlayback, useVideoclipsListClips, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, vacuumStateMeta, validateScopes, valveStateMeta, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint };
|
|
@@ -19,6 +19,16 @@ export declare function DialogTrigger({ children, ...props }: HTMLAttributes<HTM
|
|
|
19
19
|
* is capped to the viewport (`w-[calc(100vw-2rem)]`) rather than a bare
|
|
20
20
|
* `w-full` (which would overflow/clip a centered dialog); the per-variant
|
|
21
21
|
* `max-w-*` keeps small dialogs small while the cap prevents overflow.
|
|
22
|
+
*
|
|
23
|
+
* Height is capped against the SAFE viewport, not the raw one. A top-layer
|
|
24
|
+
* `fixed` dialog is viewport-relative, and under `viewport-fit=cover` the
|
|
25
|
+
* viewport extends behind the iOS notch/Dynamic Island and home indicator —
|
|
26
|
+
* so a dialog tall enough to hit its `max-h` put its header under the clock.
|
|
27
|
+
* Because the box is centred on the viewport (not on the safe area), the cap
|
|
28
|
+
* has to subtract TWICE the LARGER of the two insets for the box to clear
|
|
29
|
+
* both edges; using each inset once would still overflow the taller side
|
|
30
|
+
* whenever they are asymmetric (they are: ~59px top vs ~34px bottom). Every
|
|
31
|
+
* term collapses to the previous `100dvh - 2rem` where the insets are 0.
|
|
22
32
|
*/
|
|
23
33
|
declare const contentVariants: (props?: ({
|
|
24
34
|
width?: "sm" | "md" | "lg" | null | undefined;
|